From 81493ac4be9e6136fceac4560e6d8635a01c55ec7d355bab1a459edccea9f5d8 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Mon, 20 Jul 2026 18:46:56 +0400 Subject: [PATCH 01/83] =?UTF-8?q?=D0=9E=D1=87=D0=B8=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=B9=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D0=BE=D0=BC=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- SHiNE-agent-bot-coder/AGENT.md | 1 - THIRD_PARTY_NOTICES.md | 86 ++++++ ...05_esp32_hardware_wallet_device_session.md | 64 ----- TODO_Будущие_доработки.md | 41 --- TODO_Звонки_межсерверность.md | 41 --- VERSION.properties | 4 +- create_git.sh | 246 ------------------ shine-TURN-server/README.md | 17 -- shine-UI/THIRD_PARTY_NOTICES.md | 9 - .../Activity/1st Place Medal.png | Bin 8346 -> 0 bytes .../Activity/2nd Place Medal.png | Bin 7629 -> 0 bytes .../Activity/3rd Place Medal.png | Bin 8721 -> 0 bytes .../Activity/Admission Tickets.png | Bin 9112 -> 0 bytes .../Activity/Artist Palette.png | Bin 11987 -> 0 bytes .../telegram-previews/Activity/Balloon.png | Bin 6782 -> 0 bytes .../telegram-previews/Activity/Basketball.png | Bin 12992 -> 0 bytes .../Activity/Christmas Tree.png | Bin 10167 -> 0 bytes .../Activity/Confetti Ball.png | Bin 14032 -> 0 bytes .../Activity/Crystal Ball.png | Bin 11856 -> 0 bytes .../Activity/Firecracker.png | Bin 10916 -> 0 bytes .../telegram-previews/Activity/Fireworks.png | Bin 12644 -> 0 bytes .../Activity/Jack O Lantern.png | Bin 10764 -> 0 bytes .../telegram-previews/Activity/Magic Wand.png | Bin 5002 -> 0 bytes .../Activity/Military Medal.png | Bin 7222 -> 0 bytes .../Activity/Mirror Ball.png | Bin 14010 -> 0 bytes .../Activity/Party Popper.png | Bin 12618 -> 0 bytes .../Activity/Performing Arts.png | Bin 12455 -> 0 bytes .../Activity/Soccer Ball.png | Bin 9854 -> 0 bytes .../telegram-previews/Activity/Sparkler.png | Bin 12172 -> 0 bytes .../telegram-previews/Activity/Sparkles.png | Bin 4658 -> 0 bytes .../Activity/Sports Medal.png | Bin 9033 -> 0 bytes .../telegram-previews/Activity/Ticket.png | Bin 10296 -> 0 bytes .../telegram-previews/Activity/Trophy.png | Bin 11201 -> 0 bytes .../telegram-previews/Activity/Video Game.png | Bin 10300 -> 0 bytes .../Animals and Nature/Ant.png | Bin 11673 -> 0 bytes .../Animals and Nature/Baby Chick.png | Bin 8073 -> 0 bytes .../Animals and Nature/Bat.png | Bin 10336 -> 0 bytes .../Animals and Nature/Bear.png | Bin 12060 -> 0 bytes .../Animals and Nature/Beetle.png | Bin 11897 -> 0 bytes .../Animals and Nature/Bird.png | Bin 8578 -> 0 bytes .../Animals and Nature/Bison.png | Bin 10148 -> 0 bytes .../Animals and Nature/Black Cat.png | Bin 8741 -> 0 bytes .../Animals and Nature/Blossom.png | Bin 14228 -> 0 bytes .../Animals and Nature/Bouquet.png | Bin 14444 -> 0 bytes .../Animals and Nature/Bug.png | Bin 11191 -> 0 bytes .../Animals and Nature/Butterfly.png | Bin 11503 -> 0 bytes .../Animals and Nature/Cactus.png | Bin 9717 -> 0 bytes .../Animals and Nature/Cat Face.png | Bin 11007 -> 0 bytes .../Animals and Nature/Cat.png | Bin 12233 -> 0 bytes .../Animals and Nature/Cherry Blossom.png | Bin 13379 -> 0 bytes .../Animals and Nature/Chicken.png | Bin 9852 -> 0 bytes .../Cloud With Lightning And Rain.png | Bin 11229 -> 0 bytes .../Cloud With Lightning.png | Bin 7445 -> 0 bytes .../Animals and Nature/Cloud With Rain.png | Bin 8678 -> 0 bytes .../Animals and Nature/Cloud With Snow.png | Bin 10294 -> 0 bytes .../Animals and Nature/Cloud.png | Bin 5605 -> 0 bytes .../Animals and Nature/Cockroach.png | Bin 11198 -> 0 bytes .../Animals and Nature/Cow.png | Bin 9783 -> 0 bytes .../Animals and Nature/Cricket.png | Bin 8885 -> 0 bytes .../Animals and Nature/Deciduous Tree.png | Bin 11710 -> 0 bytes .../Animals and Nature/Deer.png | Bin 9419 -> 0 bytes .../Animals and Nature/Dog Face.png | Bin 10992 -> 0 bytes .../Animals and Nature/Dove.png | Bin 13989 -> 0 bytes .../Animals and Nature/Duck.png | Bin 8965 -> 0 bytes .../Animals and Nature/Evergreen Tree.png | Bin 9838 -> 0 bytes .../Animals and Nature/Fire.png | Bin 9188 -> 0 bytes .../First Quarter Moon Face.png | Bin 7547 -> 0 bytes .../Animals and Nature/First Quarter Moon.png | Bin 9924 -> 0 bytes .../Animals and Nature/Fish.png | Bin 8848 -> 0 bytes .../Animals and Nature/Flamingo.png | Bin 6840 -> 0 bytes .../Animals and Nature/Four Leaf Clover.png | Bin 12298 -> 0 bytes .../Animals and Nature/Fox.png | Bin 11747 -> 0 bytes .../Animals and Nature/Frog.png | Bin 11020 -> 0 bytes .../Front Facing Baby Chick.png | Bin 9084 -> 0 bytes .../Animals and Nature/Full Moon Face.png | Bin 12313 -> 0 bytes .../Animals and Nature/Full Moon.png | Bin 9663 -> 0 bytes .../Animals and Nature/Giraffe.png | Bin 9153 -> 0 bytes .../Animals and Nature/Glowing Star.png | Bin 9415 -> 0 bytes .../Animals and Nature/Gorilla.png | Bin 9859 -> 0 bytes .../Animals and Nature/Hamster.png | Bin 13526 -> 0 bytes .../Animals and Nature/Hatching Chick.png | Bin 10846 -> 0 bytes .../Animals and Nature/Hedgehog.png | Bin 12809 -> 0 bytes .../Animals and Nature/Herb.png | Bin 11681 -> 0 bytes .../Animals and Nature/Hibiscus.png | Bin 15211 -> 0 bytes .../Animals and Nature/High Voltage.png | Bin 5379 -> 0 bytes .../Animals and Nature/Honeybee.png | Bin 13509 -> 0 bytes .../Animals and Nature/Horse Face.png | Bin 9956 -> 0 bytes .../Animals and Nature/Horse.png | Bin 8704 -> 0 bytes .../Animals and Nature/Kangaroo.png | Bin 7482 -> 0 bytes .../Animals and Nature/Koala.png | Bin 11625 -> 0 bytes .../Animals and Nature/Lady Beetle.png | Bin 11198 -> 0 bytes .../Last Quarter Moon Face.png | Bin 7822 -> 0 bytes .../Animals and Nature/Last Quarter Moon.png | Bin 10245 -> 0 bytes .../Animals and Nature/Leopard.png | Bin 11853 -> 0 bytes .../Animals and Nature/Lion.png | Bin 13740 -> 0 bytes .../Animals and Nature/Llama.png | Bin 8745 -> 0 bytes .../Animals and Nature/Lobster.png | Bin 12708 -> 0 bytes .../Animals and Nature/Microbe.png | Bin 15380 -> 0 bytes .../Animals and Nature/Monkey Face.png | Bin 11663 -> 0 bytes .../Animals and Nature/Mosquito.png | Bin 12790 -> 0 bytes .../Animals and Nature/Mouse Face.png | Bin 13636 -> 0 bytes .../Animals and Nature/New Moon Face.png | Bin 11065 -> 0 bytes .../Animals and Nature/New Moon.png | Bin 8729 -> 0 bytes .../Animals and Nature/Octopus.png | Bin 11666 -> 0 bytes .../Animals and Nature/Owl.png | Bin 10868 -> 0 bytes .../Animals and Nature/Ox.png | Bin 8636 -> 0 bytes .../Animals and Nature/Palm Tree.png | Bin 10299 -> 0 bytes .../Animals and Nature/Panda.png | Bin 9925 -> 0 bytes .../Animals and Nature/Parrot.png | Bin 9813 -> 0 bytes .../Animals and Nature/Paw Prints.png | Bin 6991 -> 0 bytes .../Animals and Nature/Penguin.png | Bin 7813 -> 0 bytes .../Animals and Nature/Pig Face.png | Bin 12512 -> 0 bytes .../Animals and Nature/Pig Nose.png | Bin 9145 -> 0 bytes .../Animals and Nature/Polar Bear.png | Bin 11350 -> 0 bytes .../Animals and Nature/Rabbit Face.png | Bin 12116 -> 0 bytes .../Animals and Nature/Rabbit.png | Bin 8998 -> 0 bytes .../Animals and Nature/Raccoon.png | Bin 8307 -> 0 bytes .../Animals and Nature/Rainbow.png | Bin 9840 -> 0 bytes .../Animals and Nature/Rose.png | Bin 9466 -> 0 bytes .../Animals and Nature/Rosette.png | Bin 14739 -> 0 bytes .../Animals and Nature/Sauropod.png | Bin 9132 -> 0 bytes .../Animals and Nature/Seal.png | Bin 6588 -> 0 bytes .../Animals and Nature/Seedling.png | Bin 6605 -> 0 bytes .../Animals and Nature/Shamrock.png | Bin 12092 -> 0 bytes .../Animals and Nature/Shrimp.png | Bin 14073 -> 0 bytes .../Animals and Nature/Snail.png | Bin 12380 -> 0 bytes .../Animals and Nature/Snake.png | Bin 9401 -> 0 bytes .../Animals and Nature/Snowflake.png | Bin 13200 -> 0 bytes .../Snowman Without Snow.png | Bin 10871 -> 0 bytes .../Animals and Nature/Snowman.png | Bin 14404 -> 0 bytes .../Animals and Nature/Spider Web.png | Bin 13100 -> 0 bytes .../Animals and Nature/Spider.png | Bin 7230 -> 0 bytes .../Animals and Nature/Spouting Whale.png | Bin 11441 -> 0 bytes .../Animals and Nature/Squid.png | Bin 14395 -> 0 bytes .../Animals and Nature/Star.png | Bin 7007 -> 0 bytes .../Animals and Nature/Sun Behind Cloud.png | Bin 8587 -> 0 bytes .../Sun Behind Large Cloud.png | Bin 7796 -> 0 bytes .../Sun Behind Rain Cloud.png | Bin 9054 -> 0 bytes .../Sun Behind Small Cloud.png | Bin 10335 -> 0 bytes .../Animals and Nature/Sun With Face.png | Bin 13285 -> 0 bytes .../Animals and Nature/Sun.png | Bin 9214 -> 0 bytes .../Animals and Nature/Swan.png | Bin 9825 -> 0 bytes .../Animals and Nature/T Rex.png | Bin 9348 -> 0 bytes .../Animals and Nature/Tiger Face.png | Bin 12544 -> 0 bytes .../Animals and Nature/Tiger.png | Bin 10354 -> 0 bytes .../Animals and Nature/Tropical Fish.png | Bin 10407 -> 0 bytes .../Animals and Nature/Tulip.png | Bin 10459 -> 0 bytes .../Animals and Nature/Turkey.png | Bin 14377 -> 0 bytes .../Animals and Nature/Turtle.png | Bin 9685 -> 0 bytes .../Animals and Nature/Unicorn.png | Bin 11182 -> 0 bytes .../Waning Crescent Moon.png | Bin 9247 -> 0 bytes .../Waxing Crescent Moon.png | Bin 9575 -> 0 bytes .../Waxing Gibbous Moon.png | Bin 10570 -> 0 bytes .../Animals and Nature/Zebra.png | Bin 10985 -> 0 bytes .../telegram-previews/Flags/Black Flag.png | Bin 2605 -> 0 bytes .../Flags/Chequered Flag.png | Bin 5989 -> 0 bytes .../Flags/Flag Argentina.png | Bin 6152 -> 0 bytes .../telegram-previews/Flags/Flag Armenia.png | Bin 6161 -> 0 bytes .../telegram-previews/Flags/Flag Austria.png | Bin 5814 -> 0 bytes .../telegram-previews/Flags/Flag Bahamas.png | Bin 6026 -> 0 bytes .../telegram-previews/Flags/Flag Belarus.png | Bin 6853 -> 0 bytes .../telegram-previews/Flags/Flag Belgium.png | Bin 3950 -> 0 bytes .../telegram-previews/Flags/Flag Benin.png | Bin 4691 -> 0 bytes .../telegram-previews/Flags/Flag Brazil.png | Bin 7489 -> 0 bytes .../telegram-previews/Flags/Flag Bulgaria.png | Bin 5801 -> 0 bytes .../Flags/Flag Burkina Faso.png | Bin 5509 -> 0 bytes .../telegram-previews/Flags/Flag Cameroon.png | Bin 4938 -> 0 bytes .../telegram-previews/Flags/Flag Chad.png | Bin 4470 -> 0 bytes .../telegram-previews/Flags/Flag China.png | Bin 4783 -> 0 bytes .../Flags/Flag Cote Divoire.png | Bin 4396 -> 0 bytes .../telegram-previews/Flags/Flag Croatia.png | Bin 7201 -> 0 bytes .../telegram-previews/Flags/Flag Czechia.png | Bin 5174 -> 0 bytes .../telegram-previews/Flags/Flag Djibouti.png | Bin 5883 -> 0 bytes .../Flags/Flag Equatorial Guinea.png | Bin 6465 -> 0 bytes .../telegram-previews/Flags/Flag Estonia.png | Bin 5203 -> 0 bytes .../telegram-previews/Flags/Flag France.png | Bin 3816 -> 0 bytes .../telegram-previews/Flags/Flag Gabon.png | Bin 6097 -> 0 bytes .../telegram-previews/Flags/Flag Germany.png | Bin 5177 -> 0 bytes .../telegram-previews/Flags/Flag Ghana.png | Bin 6247 -> 0 bytes .../Flags/Flag Guinea Bissau.png | Bin 5329 -> 0 bytes .../telegram-previews/Flags/Flag Guinea.png | Bin 4344 -> 0 bytes .../telegram-previews/Flags/Flag Hungary.png | Bin 5805 -> 0 bytes .../telegram-previews/Flags/Flag India.png | Bin 6341 -> 0 bytes .../Flags/Flag Indonesia.png | Bin 4804 -> 0 bytes .../telegram-previews/Flags/Flag Ireland.png | Bin 4726 -> 0 bytes .../telegram-previews/Flags/Flag Italy.png | Bin 4265 -> 0 bytes .../telegram-previews/Flags/Flag Japan.png | Bin 4224 -> 0 bytes .../telegram-previews/Flags/Flag Jordan.png | Bin 5661 -> 0 bytes .../Flags/Flag Lithuania.png | Bin 5951 -> 0 bytes .../Flags/Flag Luxembourg.png | Bin 5957 -> 0 bytes .../Flags/Flag Madagascar.png | Bin 4386 -> 0 bytes .../telegram-previews/Flags/Flag Mali.png | Bin 4528 -> 0 bytes .../telegram-previews/Flags/Flag Monaco.png | Bin 4661 -> 0 bytes .../telegram-previews/Flags/Flag Morocco.png | Bin 4977 -> 0 bytes .../Flags/Flag Mozambique.png | Bin 7240 -> 0 bytes .../Flags/Flag Myanmar Burma.png | Bin 6901 -> 0 bytes .../Flags/Flag Netherlands.png | Bin 5783 -> 0 bytes .../telegram-previews/Flags/Flag Nigeria.png | Bin 4196 -> 0 bytes .../Flags/Flag Palestinian Territories.png | Bin 5364 -> 0 bytes .../telegram-previews/Flags/Flag Peru.png | Bin 4455 -> 0 bytes .../Flags/Flag Philippines.png | Bin 6360 -> 0 bytes .../telegram-previews/Flags/Flag Poland.png | Bin 4460 -> 0 bytes .../telegram-previews/Flags/Flag Romania.png | Bin 4617 -> 0 bytes .../telegram-previews/Flags/Flag Russia.png | Bin 5544 -> 0 bytes .../Flags/Flag Sao Tome Principe.png | Bin 6908 -> 0 bytes .../Flags/Flag Saudi Arabia.png | Bin 6243 -> 0 bytes .../telegram-previews/Flags/Flag Senegal.png | Bin 5282 -> 0 bytes .../Flags/Flag Sierra Leone.png | Bin 5843 -> 0 bytes .../Flags/Flag Singapore.png | Bin 5324 -> 0 bytes .../Flags/Flag Sint Maarten.png | Bin 6193 -> 0 bytes .../telegram-previews/Flags/Flag Somalia.png | Bin 5176 -> 0 bytes .../Flags/Flag South Korea.png | Bin 6896 -> 0 bytes .../Flags/Flag South Sudan.png | Bin 6578 -> 0 bytes .../telegram-previews/Flags/Flag Spain.png | Bin 6392 -> 0 bytes .../telegram-previews/Flags/Flag Sudan.png | Bin 5503 -> 0 bytes .../telegram-previews/Flags/Flag Ukraine.png | Bin 5067 -> 0 bytes .../Flags/Flag United Arab Emirates.png | Bin 4607 -> 0 bytes .../Flags/Flag United Kingdom.png | Bin 9513 -> 0 bytes .../Flags/Flag United States.png | Bin 9907 -> 0 bytes .../Flags/Flag Uzbekistan.png | Bin 6639 -> 0 bytes .../telegram-previews/Flags/Flag Vietnam.png | Bin 5796 -> 0 bytes .../Flags/Flag Western Sahara.png | Bin 5734 -> 0 bytes .../telegram-previews/Flags/Flag Yemen.png | Bin 4772 -> 0 bytes .../telegram-previews/Flags/Pirate Flag.png | Bin 5294 -> 0 bytes .../Flags/Triangular Flag.png | Bin 4181 -> 0 bytes .../telegram-previews/Flags/White Flag.png | Bin 3242 -> 0 bytes .../Food and Drink/Baby Bottle.png | Bin 9569 -> 0 bytes .../Food and Drink/Banana.png | Bin 8834 -> 0 bytes .../Food and Drink/Bento Box.png | Bin 14128 -> 0 bytes .../Food and Drink/Beverage Box.png | Bin 7489 -> 0 bytes .../Food and Drink/Birthday Cake.png | Bin 10951 -> 0 bytes .../Bottle With Popping Cork.png | Bin 8685 -> 0 bytes .../Food and Drink/Bubble Tea.png | Bin 7069 -> 0 bytes .../Food and Drink/Canned Food.png | Bin 8442 -> 0 bytes .../Food and Drink/Chocolate Bar.png | Bin 8176 -> 0 bytes .../Food and Drink/Clinking Glasses.png | Bin 8072 -> 0 bytes .../Food and Drink/Cocktail Glass.png | Bin 7880 -> 0 bytes .../Food and Drink/Cookie.png | Bin 12368 -> 0 bytes .../Food and Drink/Cooking.png | Bin 11413 -> 0 bytes .../Food and Drink/Cup With Straw.png | Bin 6956 -> 0 bytes .../Food and Drink/Cupcake.png | Bin 12312 -> 0 bytes .../Food and Drink/Custard.png | Bin 9260 -> 0 bytes .../Food and Drink/Dango.png | Bin 7841 -> 0 bytes .../Food and Drink/Doughnut.png | Bin 15306 -> 0 bytes .../Food and Drink/Fish Cake With Swirl.png | Bin 10415 -> 0 bytes .../Fork And Knife With Plate.png | Bin 9824 -> 0 bytes .../Food and Drink/French Fries.png | Bin 12711 -> 0 bytes .../Food and Drink/Glass Of Milk.png | Bin 8039 -> 0 bytes .../Food and Drink/Hamburger.png | Bin 13621 -> 0 bytes .../Food and Drink/Hot Beverage.png | Bin 10030 -> 0 bytes .../Food and Drink/Hot Dog.png | Bin 11070 -> 0 bytes .../Food and Drink/Lollipop.png | Bin 10289 -> 0 bytes .../telegram-previews/Food and Drink/Mate.png | Bin 8196 -> 0 bytes .../Food and Drink/Meat On Bone.png | Bin 8055 -> 0 bytes .../telegram-previews/Food and Drink/Oden.png | Bin 9044 -> 0 bytes .../Food and Drink/Pancakes.png | Bin 13939 -> 0 bytes .../telegram-previews/Food and Drink/Pie.png | Bin 9983 -> 0 bytes .../Food and Drink/Pizza.png | Bin 10730 -> 0 bytes .../Food and Drink/Popcorn.png | Bin 10585 -> 0 bytes .../Food and Drink/Poultry Leg.png | Bin 7011 -> 0 bytes .../Food and Drink/Pouring Liquid.png | Bin 7017 -> 0 bytes .../Food and Drink/Pretzel.png | Bin 14113 -> 0 bytes .../Food and Drink/Rice Ball.png | Bin 11598 -> 0 bytes .../Food and Drink/Rice Cracker.png | Bin 11082 -> 0 bytes .../Food and Drink/Sandwich.png | Bin 10812 -> 0 bytes .../Food and Drink/Shortcake.png | Bin 10156 -> 0 bytes .../Food and Drink/Soft Ice Cream.png | Bin 8870 -> 0 bytes .../Food and Drink/Strawberry.png | Bin 11065 -> 0 bytes .../Food and Drink/Stuffed Flatbread.png | Bin 10981 -> 0 bytes .../Food and Drink/Sushi.png | Bin 14081 -> 0 bytes .../telegram-previews/Food and Drink/Taco.png | Bin 11980 -> 0 bytes .../Food and Drink/Tropical Drink.png | Bin 8552 -> 0 bytes .../Food and Drink/Tumbler Glass.png | Bin 9941 -> 0 bytes .../Food and Drink/Wine Glass.png | Bin 8425 -> 0 bytes .../telegram-previews/Objects/Abacus.png | Bin 13693 -> 0 bytes .../Objects/Ballot Box With Ballot.png | Bin 9760 -> 0 bytes .../telegram-previews/Objects/Bar Chart.png | Bin 10326 -> 0 bytes .../emoji/telegram-previews/Objects/Bomb.png | Bin 10626 -> 0 bytes .../emoji/telegram-previews/Objects/Books.png | Bin 11253 -> 0 bytes .../telegram-previews/Objects/Briefcase.png | Bin 9102 -> 0 bytes .../Objects/Card Index Dividers.png | Bin 6895 -> 0 bytes .../Objects/Chart Decreasing.png | Bin 14552 -> 0 bytes .../Objects/Chart Increasing.png | Bin 14386 -> 0 bytes .../Objects/Clapper Board.png | Bin 8375 -> 0 bytes .../telegram-previews/Objects/Coffin.png | Bin 10490 -> 0 bytes .../emoji/telegram-previews/Objects/Coin.png | Bin 14414 -> 0 bytes .../emoji/telegram-previews/Objects/Crown.png | Bin 10851 -> 0 bytes .../telegram-previews/Objects/File Folder.png | Bin 7375 -> 0 bytes .../telegram-previews/Objects/Gem Stone.png | Bin 7894 -> 0 bytes .../Objects/Graduation Cap.png | Bin 7310 -> 0 bytes .../telegram-previews/Objects/Handbag.png | Bin 11388 -> 0 bytes .../Objects/High Heeled Shoe.png | Bin 9744 -> 0 bytes .../Objects/Hourglass Done.png | Bin 10003 -> 0 bytes .../Objects/Hourglass Not Done.png | Bin 10316 -> 0 bytes .../Objects/Identification Card.png | Bin 6827 -> 0 bytes .../telegram-previews/Objects/Inbox Tray.png | Bin 7430 -> 0 bytes .../Objects/Incoming Envelope.png | Bin 10625 -> 0 bytes .../emoji/telegram-previews/Objects/Key.png | Bin 8860 -> 0 bytes .../telegram-previews/Objects/Keyboard.png | Bin 6099 -> 0 bytes .../telegram-previews/Objects/Laptop.png | Bin 8017 -> 0 bytes .../telegram-previews/Objects/Light Bulb.png | Bin 7123 -> 0 bytes .../Objects/Locked With Key.png | Bin 10268 -> 0 bytes .../telegram-previews/Objects/Luggage.png | Bin 11232 -> 0 bytes .../Objects/Magnifying Glass Tilted Left.png | Bin 9231 -> 0 bytes .../Objects/Magnifying Glass Tilted Right.png | Bin 9243 -> 0 bytes .../telegram-previews/Objects/Megaphone.png | Bin 9851 -> 0 bytes .../emoji/telegram-previews/Objects/Memo.png | Bin 11809 -> 0 bytes .../telegram-previews/Objects/Microphone.png | Bin 8574 -> 0 bytes .../telegram-previews/Objects/Microscope.png | Bin 9921 -> 0 bytes .../Objects/Military Helmet.png | Bin 9494 -> 0 bytes .../Objects/Mobile Phone With Arrow.png | Bin 9002 -> 0 bytes .../Objects/Mobile Phone.png | Bin 7537 -> 0 bytes .../telegram-previews/Objects/Money Bag.png | Bin 9553 -> 0 bytes .../Objects/Money With Wings.png | Bin 15986 -> 0 bytes .../Objects/Musical Note.png | Bin 6405 -> 0 bytes .../Objects/Musical Notes.png | Bin 8133 -> 0 bytes .../telegram-previews/Objects/Newspaper.png | Bin 8670 -> 0 bytes .../telegram-previews/Objects/Old Key.png | Bin 8151 -> 0 bytes .../telegram-previews/Objects/Open Book.png | Bin 10103 -> 0 bytes .../telegram-previews/Objects/Outbox Tray.png | Bin 7416 -> 0 bytes .../telegram-previews/Objects/Pencil.png | Bin 9125 -> 0 bytes .../emoji/telegram-previews/Objects/Pill.png | Bin 9198 -> 0 bytes .../telegram-previews/Objects/Printer.png | Bin 8302 -> 0 bytes .../emoji/telegram-previews/Objects/Purse.png | Bin 7746 -> 0 bytes .../Objects/Reminder Ribbon.png | Bin 8036 -> 0 bytes .../Objects/Roll Of Paper.png | Bin 7633 -> 0 bytes .../Objects/Shopping Bags.png | Bin 13840 -> 0 bytes .../Objects/Shopping Cart.png | Bin 12032 -> 0 bytes .../emoji/telegram-previews/Objects/Soap.png | Bin 10050 -> 0 bytes .../telegram-previews/Objects/Sponge.png | Bin 11172 -> 0 bytes .../telegram-previews/Objects/Stethoscope.png | Bin 8021 -> 0 bytes .../Objects/Studio Microphone.png | Bin 12682 -> 0 bytes .../telegram-previews/Objects/Syringe.png | Bin 5959 -> 0 bytes .../Objects/Tear Off Calendar.png | Bin 8346 -> 0 bytes .../Objects/Telephone Receiver.png | Bin 7230 -> 0 bytes .../telegram-previews/Objects/Telephone.png | Bin 13046 -> 0 bytes .../telegram-previews/Objects/Telescope.png | Bin 9076 -> 0 bytes .../telegram-previews/Objects/Television.png | Bin 12163 -> 0 bytes .../telegram-previews/Objects/Test Tube.png | Bin 8196 -> 0 bytes .../telegram-previews/Objects/Thermometer.png | Bin 8862 -> 0 bytes .../telegram-previews/Objects/Toolbox.png | Bin 7445 -> 0 bytes .../telegram-previews/Objects/Top Hat.png | Bin 7350 -> 0 bytes .../emoji/telegram-previews/People/Baby.png | Bin 8713 -> 0 bytes .../People/Backhand Index Pointing Down.png | Bin 5580 -> 0 bytes .../People/Backhand Index Pointing Left.png | Bin 5398 -> 0 bytes .../People/Backhand Index Pointing Right.png | Bin 5161 -> 0 bytes .../People/Backhand Index Pointing Up.png | Bin 5825 -> 0 bytes .../telegram-previews/People/Biting Lip.png | Bin 7588 -> 0 bytes .../emoji/telegram-previews/People/Bone.png | Bin 5740 -> 0 bytes .../People/Bust In Silhouette.png | Bin 5691 -> 0 bytes .../People/Busts In Silhouette.png | Bin 7085 -> 0 bytes .../telegram-previews/People/Call Me Hand.png | Bin 6968 -> 0 bytes .../People/Clapping Hands.png | Bin 10405 -> 0 bytes .../People/Crossed Fingers.png | Bin 7107 -> 0 bytes .../People/Ear With Hearing Aid.png | Bin 9273 -> 0 bytes .../emoji/telegram-previews/People/Ear.png | Bin 7694 -> 0 bytes .../emoji/telegram-previews/People/Eyes.png | Bin 9207 -> 0 bytes .../People/Family Man Woman Girl Boy.png | Bin 17279 -> 0 bytes .../People/Flexed Biceps.png | Bin 7322 -> 0 bytes .../telegram-previews/People/Folded Hands.png | Bin 8287 -> 0 bytes .../emoji/telegram-previews/People/Foot.png | Bin 6878 -> 0 bytes .../telegram-previews/People/Footprints.png | Bin 7017 -> 0 bytes .../People/Hand With Fingers Splayed.png | Bin 9649 -> 0 bytes ...nd With Index Finger And Thumb Crossed.png | Bin 6969 -> 0 bytes .../telegram-previews/People/Handshake.png | Bin 8067 -> 0 bytes .../telegram-previews/People/Heart Hands.png | Bin 8057 -> 0 bytes .../People/Index Pointing At The Viewer.png | Bin 9167 -> 0 bytes .../People/Index Pointing Up.png | Bin 6431 -> 0 bytes .../People/Left Facing Fist.png | Bin 5929 -> 0 bytes .../People/Leftwards Hand.png | Bin 7790 -> 0 bytes .../emoji/telegram-previews/People/Leg.png | Bin 5520 -> 0 bytes .../People/Love You Gesture.png | Bin 7747 -> 0 bytes .../telegram-previews/People/Man Dancing.png | Bin 8275 -> 0 bytes .../People/Man Facepalming.png | Bin 10754 -> 0 bytes .../People/Man Health Worker.png | Bin 11823 -> 0 bytes .../People/Man Police Officer.png | Bin 11807 -> 0 bytes .../People/Man Shrugging.png | Bin 10246 -> 0 bytes .../telegram-previews/People/Man Teacher.png | Bin 10906 -> 0 bytes .../People/Man Technologist.png | Bin 7741 -> 0 bytes .../telegram-previews/People/Man Vampire.png | Bin 10945 -> 0 bytes .../telegram-previews/People/Man Zombie.png | Bin 13541 -> 0 bytes .../People/Mechanical Arm.png | Bin 8211 -> 0 bytes .../People/Mechanical Leg.png | Bin 5798 -> 0 bytes .../People/Middle Finger.png | Bin 4908 -> 0 bytes .../emoji/telegram-previews/People/Mouth.png | Bin 7680 -> 0 bytes .../telegram-previews/People/Mrs Claus.png | Bin 9685 -> 0 bytes .../telegram-previews/People/Mx Claus.png | Bin 11003 -> 0 bytes .../telegram-previews/People/Nail Polish.png | Bin 10599 -> 0 bytes .../emoji/telegram-previews/People/Nose.png | Bin 4359 -> 0 bytes .../telegram-previews/People/Ok Hand.png | Bin 8507 -> 0 bytes .../telegram-previews/People/Old Woman.png | Bin 11526 -> 0 bytes .../People/Oncoming Fist.png | Bin 7091 -> 0 bytes .../telegram-previews/People/Open Hands.png | Bin 8290 -> 0 bytes .../People/Palm Down Hand.png | Bin 5956 -> 0 bytes .../telegram-previews/People/Palm Up Hand.png | Bin 5571 -> 0 bytes .../People/Palms Up Together.png | Bin 10251 -> 0 bytes .../People/People Hugging.png | Bin 9281 -> 0 bytes .../People/Person Facepalming.png | Bin 10918 -> 0 bytes .../People/Person Shrugging.png | Bin 10744 -> 0 bytes .../People/Pinched Fingers.png | Bin 7179 -> 0 bytes .../People/Pinching Hand.png | Bin 6255 -> 0 bytes .../People/Pregnant Woman.png | Bin 9228 -> 0 bytes .../People/Raised Back Of Hand.png | Bin 8169 -> 0 bytes .../telegram-previews/People/Raised Fist.png | Bin 8679 -> 0 bytes .../telegram-previews/People/Raised Hand.png | Bin 8513 -> 0 bytes .../People/Raising Hands.png | Bin 9824 -> 0 bytes .../People/Right Facing Fist.png | Bin 5873 -> 0 bytes .../People/Rightwards Hand.png | Bin 7161 -> 0 bytes .../telegram-previews/People/Santa Claus.png | Bin 10983 -> 0 bytes .../People/Sign Of The Horns.png | Bin 6859 -> 0 bytes .../People/Speaking Head.png | Bin 6505 -> 0 bytes .../telegram-previews/People/Technologist.png | Bin 7799 -> 0 bytes .../telegram-previews/People/Thumbs Down.png | Bin 8759 -> 0 bytes .../telegram-previews/People/Thumbs Up.png | Bin 8598 -> 0 bytes .../emoji/telegram-previews/People/Tongue.png | Bin 8014 -> 0 bytes .../emoji/telegram-previews/People/Tooth.png | Bin 8558 -> 0 bytes .../telegram-previews/People/Vampire.png | Bin 10374 -> 0 bytes .../telegram-previews/People/Victory Hand.png | Bin 7614 -> 0 bytes .../People/Vulcan Salute.png | Bin 8743 -> 0 bytes .../telegram-previews/People/Waving Hand.png | Bin 11896 -> 0 bytes .../People/Woman Dancing.png | Bin 11003 -> 0 bytes .../People/Woman Facepalming.png | Bin 12512 -> 0 bytes .../People/Woman Health Worker.png | Bin 13754 -> 0 bytes .../People/Woman Police Officer.png | Bin 10609 -> 0 bytes .../People/Woman Shrugging.png | Bin 10817 -> 0 bytes .../People/Woman Technologist.png | Bin 8097 -> 0 bytes .../People/Woman Vampire.png | Bin 10598 -> 0 bytes .../telegram-previews/People/Woman Zombie.png | Bin 13241 -> 0 bytes .../telegram-previews/People/Writing Hand.png | Bin 8979 -> 0 bytes .../emoji/telegram-previews/People/Zombie.png | Bin 12936 -> 0 bytes .../Smileys/Alien Monster.png | Bin 6946 -> 0 bytes .../emoji/telegram-previews/Smileys/Alien.png | Bin 11273 -> 0 bytes .../Smileys/Angry Face With Horns.png | Bin 12200 -> 0 bytes .../telegram-previews/Smileys/Angry Face.png | Bin 10431 -> 0 bytes .../Smileys/Anguished Face.png | Bin 10538 -> 0 bytes .../Smileys/Anxious Face With Sweat.png | Bin 11627 -> 0 bytes .../Smileys/Astonished Face.png | Bin 10619 -> 0 bytes .../Beaming Face With Smiling Eyes.png | Bin 11436 -> 0 bytes .../Smileys/Cat With Tears Of Joy.png | Bin 12999 -> 0 bytes .../Smileys/Cat With Wry Smile.png | Bin 11481 -> 0 bytes .../telegram-previews/Smileys/Clown Face.png | Bin 13655 -> 0 bytes .../telegram-previews/Smileys/Cold Face.png | Bin 12542 -> 0 bytes .../Smileys/Confounded Face.png | Bin 11029 -> 0 bytes .../Smileys/Confused Face.png | Bin 9982 -> 0 bytes .../Smileys/Cowboy Hat Face.png | Bin 12123 -> 0 bytes .../telegram-previews/Smileys/Crying Cat.png | Bin 12174 -> 0 bytes .../telegram-previews/Smileys/Crying Face.png | Bin 11251 -> 0 bytes .../Smileys/Disappointed Face.png | Bin 10244 -> 0 bytes .../Smileys/Disguised Face.png | Bin 12415 -> 0 bytes .../telegram-previews/Smileys/Dizzy Face.png | Bin 11312 -> 0 bytes .../Smileys/Dotted Line Face.png | Bin 6334 -> 0 bytes .../Smileys/Downcast Face With Sweat.png | Bin 11220 -> 0 bytes .../Smileys/Drooling Face.png | Bin 11160 -> 0 bytes .../Smileys/Exploding Head.png | Bin 14935 -> 0 bytes .../Smileys/Expressionless Face.png | Bin 9569 -> 0 bytes .../Smileys/Face Blowing A Kiss.png | Bin 11366 -> 0 bytes .../Smileys/Face Exhaling.png | Bin 11182 -> 0 bytes .../Smileys/Face Holding Back Tears.png | Bin 11764 -> 0 bytes .../Smileys/Face In Clouds.png | Bin 13234 -> 0 bytes .../Smileys/Face Savoring Food.png | Bin 10726 -> 0 bytes .../Smileys/Face Screaming In Fear.png | Bin 11800 -> 0 bytes .../Smileys/Face Vomiting.png | Bin 13578 -> 0 bytes .../Smileys/Face With Diagonal Mouth.png | Bin 10215 -> 0 bytes .../Smileys/Face With Hand Over Mouth.png | Bin 11521 -> 0 bytes .../Smileys/Face With Head Bandage.png | Bin 10628 -> 0 bytes .../Smileys/Face With Medical Mask.png | Bin 11382 -> 0 bytes .../Smileys/Face With Monocle.png | Bin 11529 -> 0 bytes ...ace With Open Eyes And Hand Over Mouth.png | Bin 10922 -> 0 bytes .../Smileys/Face With Open Mouth.png | Bin 9820 -> 0 bytes .../Smileys/Face With Peeking Eye.png | Bin 12130 -> 0 bytes .../Smileys/Face With Raised Eyebrow.png | Bin 10309 -> 0 bytes .../Smileys/Face With Rolling Eyes.png | Bin 10938 -> 0 bytes .../Smileys/Face With Spiral Eyes.png | Bin 11561 -> 0 bytes .../Smileys/Face With Steam From Nose.png | Bin 12110 -> 0 bytes .../Smileys/Face With Symbols On Mouth.png | Bin 11901 -> 0 bytes .../Smileys/Face With Tears Of Joy.png | Bin 12506 -> 0 bytes .../Smileys/Face With Thermometer.png | Bin 11662 -> 0 bytes .../Smileys/Face With Tongue.png | Bin 10807 -> 0 bytes .../Smileys/Face Without Mouth.png | Bin 9518 -> 0 bytes .../Smileys/Fearful Face.png | Bin 11073 -> 0 bytes .../Smileys/Flushed Face.png | Bin 11636 -> 0 bytes .../Smileys/Frowning Face With Open Mouth.png | Bin 10050 -> 0 bytes .../Smileys/Frowning Face.png | Bin 10190 -> 0 bytes .../emoji/telegram-previews/Smileys/Ghost.png | Bin 11951 -> 0 bytes .../telegram-previews/Smileys/Goblin.png | Bin 11285 -> 0 bytes .../Smileys/Grimacing Face.png | Bin 10593 -> 0 bytes .../Grinning Cat With Smiling Eyes.png | Bin 11646 -> 0 bytes .../Smileys/Grinning Cat.png | Bin 11664 -> 0 bytes .../Smileys/Grinning Face With Big Eyes.png | Bin 11054 -> 0 bytes .../Grinning Face With Smiling Eyes.png | Bin 11127 -> 0 bytes .../Smileys/Grinning Face With Sweat.png | Bin 11625 -> 0 bytes .../Smileys/Grinning Face.png | Bin 10938 -> 0 bytes .../Smileys/Grinning Squinting Face.png | Bin 11186 -> 0 bytes .../Smileys/Hear No Evil Monkey.png | Bin 13098 -> 0 bytes .../telegram-previews/Smileys/Hot Face.png | Bin 11355 -> 0 bytes .../Smileys/Hugging Face.png | Bin 13062 -> 0 bytes .../telegram-previews/Smileys/Hushed Face.png | Bin 10393 -> 0 bytes .../telegram-previews/Smileys/Kissing Cat.png | Bin 11605 -> 0 bytes .../Smileys/Kissing Face With Closed Eyes.png | Bin 10940 -> 0 bytes .../Smileys/Kissing Face.png | Bin 10014 -> 0 bytes .../Smileys/Loudly Crying Face.png | Bin 11443 -> 0 bytes .../telegram-previews/Smileys/Lying Face.png | Bin 10814 -> 0 bytes .../Smileys/Melting Face.png | Bin 11831 -> 0 bytes .../Smileys/Money Mouth Face.png | Bin 12146 -> 0 bytes .../Smileys/Nauseated Face.png | Bin 10714 -> 0 bytes .../telegram-previews/Smileys/Nerd Face.png | Bin 11817 -> 0 bytes .../Smileys/Neutral Face.png | Bin 9773 -> 0 bytes .../emoji/telegram-previews/Smileys/Ogre.png | Bin 13845 -> 0 bytes .../Smileys/Partying Face.png | Bin 13763 -> 0 bytes .../Smileys/Pensive Face.png | Bin 10566 -> 0 bytes .../Smileys/Persevering Face.png | Bin 11130 -> 0 bytes .../telegram-previews/Smileys/Pile Of Poo.png | Bin 9383 -> 0 bytes .../Smileys/Pleading Face.png | Bin 11407 -> 0 bytes .../telegram-previews/Smileys/Pouting Cat.png | Bin 11637 -> 0 bytes .../Smileys/Pouting Face.png | Bin 10191 -> 0 bytes .../Smileys/Relieved Face.png | Bin 10780 -> 0 bytes .../emoji/telegram-previews/Smileys/Robot.png | Bin 10708 -> 0 bytes .../Smileys/Rolling On The Floor Laughing.png | Bin 12126 -> 0 bytes .../Smileys/Sad But Relieved Face.png | Bin 11000 -> 0 bytes .../Smileys/Saluting Face.png | Bin 8294 -> 0 bytes .../Smileys/See No Evil Monkey.png | Bin 12151 -> 0 bytes .../Smileys/Shushing Face.png | Bin 10988 -> 0 bytes .../Smileys/Skull And Crossbones.png | Bin 12844 -> 0 bytes .../emoji/telegram-previews/Smileys/Skull.png | Bin 9897 -> 0 bytes .../Smileys/Sleeping Face.png | Bin 11054 -> 0 bytes .../telegram-previews/Smileys/Sleepy Face.png | Bin 11705 -> 0 bytes .../Smileys/Slightly Frowning Face.png | Bin 10076 -> 0 bytes .../Smileys/Slightly Smiling Face.png | Bin 9845 -> 0 bytes .../Smileys/Smiling Cat With Heart Eyes.png | Bin 12013 -> 0 bytes .../Smileys/Smiling Face With Halo.png | Bin 12316 -> 0 bytes .../Smileys/Smiling Face With Hearts.png | Bin 11247 -> 0 bytes .../Smileys/Smiling Face With Horns.png | Bin 12407 -> 0 bytes .../Smiling Face With Smiling Eyes.png | Bin 10770 -> 0 bytes .../Smileys/Smiling Face With Sunglasses.png | Bin 10717 -> 0 bytes .../Smileys/Smiling Face With Tear.png | Bin 10564 -> 0 bytes .../Smileys/Smiling Face.png | Bin 10677 -> 0 bytes .../Smileys/Smirking Face.png | Bin 10481 -> 0 bytes .../Smileys/Sneezing Face.png | Bin 12467 -> 0 bytes .../Smileys/Speak No Evil Monkey.png | Bin 11895 -> 0 bytes .../Smileys/Squinting Face With Tongue.png | Bin 11404 -> 0 bytes .../telegram-previews/Smileys/Star Struck.png | Bin 12805 -> 0 bytes .../Smileys/Thinking Face.png | Bin 10897 -> 0 bytes .../telegram-previews/Smileys/Tired Face.png | Bin 11405 -> 0 bytes .../Smileys/Unamused Face.png | Bin 10525 -> 0 bytes .../Smileys/Upside Down Face.png | Bin 9958 -> 0 bytes .../telegram-previews/Smileys/Weary Cat.png | Bin 12813 -> 0 bytes .../telegram-previews/Smileys/Weary Face.png | Bin 11064 -> 0 bytes .../Smileys/Winking Face With Tongue.png | Bin 11726 -> 0 bytes .../Smileys/Winking Face.png | Bin 10494 -> 0 bytes .../telegram-previews/Smileys/Woozy Face.png | Bin 11044 -> 0 bytes .../Smileys/Worried Face.png | Bin 10586 -> 0 bytes .../Smileys/Yawning Face.png | Bin 11192 -> 0 bytes .../telegram-previews/Smileys/Zany Face.png | Bin 12577 -> 0 bytes .../Smileys/Zipper Mouth Face.png | Bin 11796 -> 0 bytes .../Symbols/Anger Symbol.png | Bin 7894 -> 0 bytes .../telegram-previews/Symbols/Aquarius.png | Bin 9217 -> 0 bytes .../emoji/telegram-previews/Symbols/Aries.png | Bin 8850 -> 0 bytes .../telegram-previews/Symbols/Baby Symbol.png | Bin 6943 -> 0 bytes .../Symbols/Baggage Claim.png | Bin 7658 -> 0 bytes .../Symbols/Beating Heart.png | Bin 8823 -> 0 bytes .../telegram-previews/Symbols/Black Heart.png | Bin 5626 -> 0 bytes .../telegram-previews/Symbols/Blue Heart.png | Bin 9012 -> 0 bytes .../Symbols/Broken Heart.png | Bin 9318 -> 0 bytes .../telegram-previews/Symbols/Brown Heart.png | Bin 7815 -> 0 bytes .../telegram-previews/Symbols/Cancer.png | Bin 10254 -> 0 bytes .../telegram-previews/Symbols/Capricorn.png | Bin 9129 -> 0 bytes .../Symbols/Check Box With Check.png | Bin 6940 -> 0 bytes .../Symbols/Check Mark Button.png | Bin 7793 -> 0 bytes .../telegram-previews/Symbols/Check Mark.png | Bin 4481 -> 0 bytes .../telegram-previews/Symbols/Collision.png | Bin 8732 -> 0 bytes .../telegram-previews/Symbols/Cool Button.png | Bin 8050 -> 0 bytes .../telegram-previews/Symbols/Cross Mark.png | Bin 8029 -> 0 bytes .../Symbols/Currency Exchange.png | Bin 8165 -> 0 bytes .../telegram-previews/Symbols/Customs.png | Bin 8270 -> 0 bytes .../emoji/telegram-previews/Symbols/Dizzy.png | Bin 8764 -> 0 bytes .../Symbols/Double Exclamation Mark.png | Bin 4933 -> 0 bytes .../Symbols/Exclamation Mark.png | Bin 2831 -> 0 bytes .../Symbols/Exclamation Question Mark.png | Bin 6676 -> 0 bytes .../telegram-previews/Symbols/Free Button.png | Bin 7185 -> 0 bytes .../telegram-previews/Symbols/Gemini.png | Bin 7923 -> 0 bytes .../telegram-previews/Symbols/Green Heart.png | Bin 9153 -> 0 bytes .../Symbols/Growing Heart.png | Bin 11795 -> 0 bytes .../Symbols/Heart Decoration.png | Bin 7261 -> 0 bytes .../Symbols/Heart Exclamation.png | Bin 6015 -> 0 bytes .../Symbols/Heart On Fire.png | Bin 10343 -> 0 bytes .../Symbols/Heart With Arrow.png | Bin 9957 -> 0 bytes .../Symbols/Heart With Ribbon.png | Bin 15428 -> 0 bytes .../Symbols/Hundred Points.png | Bin 8852 -> 0 bytes .../telegram-previews/Symbols/Kiss Mark.png | Bin 10319 -> 0 bytes .../Symbols/Left Luggage.png | Bin 8705 -> 0 bytes .../emoji/telegram-previews/Symbols/Leo.png | Bin 9870 -> 0 bytes .../emoji/telegram-previews/Symbols/Libra.png | Bin 8163 -> 0 bytes .../telegram-previews/Symbols/Love Letter.png | Bin 6025 -> 0 bytes .../Symbols/Mending Heart.png | Bin 10140 -> 0 bytes .../telegram-previews/Symbols/Mens Room.png | Bin 7137 -> 0 bytes .../telegram-previews/Symbols/New Button.png | Bin 7372 -> 0 bytes .../Symbols/No One Under Eighteen.png | Bin 11615 -> 0 bytes .../telegram-previews/Symbols/Ok Button.png | Bin 8899 -> 0 bytes .../telegram-previews/Symbols/Ophiuchus.png | Bin 8993 -> 0 bytes .../Symbols/Orange Heart.png | Bin 8231 -> 0 bytes .../Symbols/Passport Control.png | Bin 8189 -> 0 bytes .../telegram-previews/Symbols/Pisces.png | Bin 8730 -> 0 bytes .../Symbols/Purple Heart.png | Bin 8184 -> 0 bytes .../Symbols/Question Mark.png | Bin 3702 -> 0 bytes .../telegram-previews/Symbols/Red Heart.png | Bin 8612 -> 0 bytes .../Symbols/Revolving Hearts.png | Bin 9500 -> 0 bytes .../Symbols/Right Anger Bubble.png | Bin 7985 -> 0 bytes .../telegram-previews/Symbols/Sagittarius.png | Bin 8991 -> 0 bytes .../telegram-previews/Symbols/Scorpio.png | Bin 8680 -> 0 bytes .../Symbols/Sparkling Heart.png | Bin 10514 -> 0 bytes .../Symbols/Speech Balloon.png | Bin 6719 -> 0 bytes .../telegram-previews/Symbols/Taurus.png | Bin 9062 -> 0 bytes .../Symbols/Thought Balloon.png | Bin 6290 -> 0 bytes .../telegram-previews/Symbols/Top Arrow.png | Bin 4889 -> 0 bytes .../telegram-previews/Symbols/Two Hearts.png | Bin 7939 -> 0 bytes .../telegram-previews/Symbols/Up Button.png | Bin 7491 -> 0 bytes .../emoji/telegram-previews/Symbols/Virgo.png | Bin 9672 -> 0 bytes .../Symbols/White Exclamation Mark.png | Bin 2601 -> 0 bytes .../telegram-previews/Symbols/White Heart.png | Bin 6194 -> 0 bytes .../Symbols/White Question Mark.png | Bin 3757 -> 0 bytes .../telegram-previews/Symbols/Womens Room.png | Bin 8072 -> 0 bytes .../Symbols/Yellow Heart.png | Bin 8393 -> 0 bytes .../emoji/telegram-previews/Symbols/Zzz.png | Bin 5593 -> 0 bytes .../Travel and Places/Airplane.png | Bin 13719 -> 0 bytes .../Travel and Places/Ambulance.png | Bin 11665 -> 0 bytes .../Travel and Places/Automobile.png | Bin 10874 -> 0 bytes .../Travel and Places/Beach With Umbrella.png | Bin 10983 -> 0 bytes .../Travel and Places/Camping.png | Bin 10223 -> 0 bytes .../Travel and Places/Classical Building.png | Bin 10437 -> 0 bytes .../Travel and Places/Compass.png | Bin 14984 -> 0 bytes .../Travel and Places/Desert Island.png | Bin 9817 -> 0 bytes .../Travel and Places/Hot Springs.png | Bin 8519 -> 0 bytes .../Travel and Places/House.png | Bin 8948 -> 0 bytes .../Travel and Places/Locomotive.png | Bin 11650 -> 0 bytes .../Travel and Places/Moai.png | Bin 9031 -> 0 bytes .../Travel and Places/Motor Boat.png | Bin 9806 -> 0 bytes .../Travel and Places/Police Car.png | Bin 11141 -> 0 bytes .../Travel and Places/Rocket.png | Bin 11768 -> 0 bytes .../Travel and Places/Roller Coaster.png | Bin 9441 -> 0 bytes .../Travel and Places/Taxi.png | Bin 12165 -> 0 bytes shine-UI/emoji-catalog-diagnostic.mjs | 6 +- shine-UI/generate_telegram_emoji_previews.py | 90 ------- shine-UI/js/components/emoji-picker.js | 42 +-- .../js/components/telegram-emoji-catalog.js | 51 ---- ...-emoji-activity.js => twemoji-activity.js} | 2 +- ...ls_nature.js => twemoji-animals_nature.js} | 2 +- shine-UI/js/components/twemoji-catalog.js | 52 ++++ ...legram-emoji-flags.js => twemoji-flags.js} | 2 +- ...ji-food_drink.js => twemoji-food_drink.js} | 2 +- ...am-emoji-objects.js => twemoji-objects.js} | 2 +- ...gram-emoji-people.js => twemoji-people.js} | 2 +- ...am-emoji-smileys.js => twemoji-smileys.js} | 2 +- ...am-emoji-symbols.js => twemoji-symbols.js} | 2 +- ...vel_places.js => twemoji-travel_places.js} | 2 +- shine-UI/js/pages/chat-view.js | 33 ++- shine-UI/styles/components.css | 38 ++- .../shine/doc/shine_payments_e2e_test_plan.md | 8 +- tools/understand-anything-lab/.gitignore | 5 - tools/understand-anything-lab/README.md | 64 ----- .../install_codex_skills.sh | 29 --- Как_устроены_каналы_в_блокчейне_SHiNE.md | 170 ------------ Логика_доставки_почты.md | 51 ---- Логика_установки_соединения_через_сервер.md | 44 ---- Типы_блоков_и_сообщений_SHiNE.md | 141 ---------- 665 files changed, 231 insertions(+), 1124 deletions(-) create mode 100644 THIRD_PARTY_NOTICES.md delete mode 100644 TODO/dao_запуск/2026-06-05_esp32_hardware_wallet_device_session.md delete mode 100644 TODO_Будущие_доработки.md delete mode 100644 TODO_Звонки_межсерверность.md delete mode 100644 create_git.sh delete mode 100644 shine-TURN-server/README.md delete mode 100644 shine-UI/THIRD_PARTY_NOTICES.md delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/1st Place Medal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/2nd Place Medal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/3rd Place Medal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Admission Tickets.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Artist Palette.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Balloon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Basketball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Christmas Tree.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Confetti Ball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Crystal Ball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Firecracker.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Fireworks.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Jack O Lantern.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Magic Wand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Military Medal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Mirror Ball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Party Popper.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Performing Arts.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Soccer Ball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Sparkler.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Sparkles.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Sports Medal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Ticket.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Trophy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Activity/Video Game.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ant.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Baby Chick.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bear.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Beetle.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bird.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bison.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Black Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Blossom.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bouquet.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bug.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Butterfly.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cactus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cherry Blossom.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Chicken.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Lightning And Rain.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Lightning.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Rain.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Snow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cockroach.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cricket.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Deciduous Tree.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Deer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Dog Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Dove.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Duck.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Evergreen Tree.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Fire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/First Quarter Moon Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/First Quarter Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Fish.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Flamingo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Four Leaf Clover.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Fox.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Frog.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Front Facing Baby Chick.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Full Moon Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Full Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Giraffe.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Glowing Star.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Gorilla.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hamster.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hatching Chick.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hedgehog.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Herb.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hibiscus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/High Voltage.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Honeybee.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Horse Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Horse.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Kangaroo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Koala.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lady Beetle.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Leopard.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lion.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Llama.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lobster.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Microbe.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Monkey Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Mosquito.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Mouse Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Octopus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Owl.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ox.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Palm Tree.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Panda.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Parrot.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Paw Prints.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Penguin.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Pig Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Pig Nose.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Polar Bear.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rabbit Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rabbit.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Raccoon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rainbow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rose.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rosette.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sauropod.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Seal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Seedling.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Shamrock.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Shrimp.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snail.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snowflake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snowman Without Snow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snowman.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider Web.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spouting Whale.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Squid.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Star.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Cloud.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Large Cloud.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Rain Cloud.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Small Cloud.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun With Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Swan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/T Rex.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tiger Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tiger.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tropical Fish.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tulip.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turkey.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turtle.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Unicorn.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Waning Crescent Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Waxing Crescent Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Waxing Gibbous Moon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Animals and Nature/Zebra.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Black Flag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Chequered Flag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Argentina.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Armenia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Austria.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Bahamas.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Belarus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Belgium.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Benin.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Brazil.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Bulgaria.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Burkina Faso.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Cameroon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Chad.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag China.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Cote Divoire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Croatia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Czechia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Djibouti.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Equatorial Guinea.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Estonia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag France.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Gabon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Germany.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Ghana.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Guinea Bissau.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Guinea.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Hungary.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag India.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Indonesia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Ireland.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Italy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Japan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Jordan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Lithuania.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Luxembourg.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Madagascar.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Mali.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Monaco.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Morocco.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Mozambique.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Myanmar Burma.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Netherlands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Nigeria.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Palestinian Territories.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Peru.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Philippines.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Poland.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Romania.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Russia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Sao Tome Principe.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Saudi Arabia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Senegal.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Sierra Leone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Singapore.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Sint Maarten.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Somalia.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag South Korea.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag South Sudan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Spain.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Sudan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Ukraine.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag United Arab Emirates.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag United Kingdom.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag United States.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Uzbekistan.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Vietnam.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Western Sahara.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Flag Yemen.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Pirate Flag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/Triangular Flag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Flags/White Flag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Baby Bottle.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Banana.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Bento Box.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Beverage Box.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Birthday Cake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Bottle With Popping Cork.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Bubble Tea.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Canned Food.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Chocolate Bar.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Clinking Glasses.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Cocktail Glass.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Cookie.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Cooking.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Cup With Straw.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Cupcake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Custard.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Dango.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Doughnut.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Fish Cake With Swirl.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Fork And Knife With Plate.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/French Fries.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Glass Of Milk.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Hamburger.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Hot Beverage.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Hot Dog.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Lollipop.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Mate.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Meat On Bone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Oden.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Pancakes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Pie.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Pizza.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Popcorn.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Poultry Leg.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Pouring Liquid.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Pretzel.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Rice Ball.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Rice Cracker.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Sandwich.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Shortcake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Soft Ice Cream.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Strawberry.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Stuffed Flatbread.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Sushi.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Taco.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Tropical Drink.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Tumbler Glass.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Food and Drink/Wine Glass.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Abacus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Ballot Box With Ballot.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Bar Chart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Bomb.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Books.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Briefcase.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Card Index Dividers.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Chart Decreasing.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Chart Increasing.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Clapper Board.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Coffin.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Coin.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Crown.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/File Folder.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Gem Stone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Graduation Cap.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Handbag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/High Heeled Shoe.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Hourglass Done.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Hourglass Not Done.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Identification Card.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Inbox Tray.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Incoming Envelope.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Key.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Keyboard.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Laptop.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Light Bulb.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Locked With Key.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Luggage.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Magnifying Glass Tilted Left.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Magnifying Glass Tilted Right.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Megaphone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Memo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Microphone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Microscope.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Military Helmet.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Mobile Phone With Arrow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Mobile Phone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Money Bag.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Money With Wings.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Musical Note.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Musical Notes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Newspaper.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Old Key.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Open Book.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Outbox Tray.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Pencil.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Pill.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Printer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Purse.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Reminder Ribbon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Roll Of Paper.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Shopping Bags.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Shopping Cart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Soap.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Sponge.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Stethoscope.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Studio Microphone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Syringe.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Tear Off Calendar.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Telephone Receiver.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Telephone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Telescope.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Television.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Test Tube.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Thermometer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Toolbox.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Objects/Top Hat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Baby.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Down.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Left.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Right.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Up.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Biting Lip.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Bone.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Bust In Silhouette.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Busts In Silhouette.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Call Me Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Clapping Hands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Crossed Fingers.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Ear With Hearing Aid.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Ear.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Family Man Woman Girl Boy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Flexed Biceps.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Folded Hands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Foot.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Footprints.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Hand With Fingers Splayed.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Hand With Index Finger And Thumb Crossed.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Handshake.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Heart Hands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Index Pointing At The Viewer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Index Pointing Up.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Left Facing Fist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Leftwards Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Leg.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Love You Gesture.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Dancing.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Facepalming.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Health Worker.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Police Officer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Shrugging.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Teacher.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Technologist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Vampire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Man Zombie.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Mechanical Arm.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Mechanical Leg.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Middle Finger.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Mrs Claus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Mx Claus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Nail Polish.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Nose.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Ok Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Old Woman.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Oncoming Fist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Open Hands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Palm Down Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Palm Up Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Palms Up Together.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/People Hugging.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Person Facepalming.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Person Shrugging.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Pinched Fingers.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Pinching Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Pregnant Woman.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Raised Back Of Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Raised Fist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Raised Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Raising Hands.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Right Facing Fist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Rightwards Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Santa Claus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Sign Of The Horns.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Speaking Head.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Technologist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Thumbs Down.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Thumbs Up.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Tongue.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Tooth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Vampire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Victory Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Vulcan Salute.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Waving Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Dancing.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Facepalming.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Health Worker.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Police Officer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Shrugging.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Technologist.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Vampire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Woman Zombie.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Writing Hand.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/People/Zombie.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Alien Monster.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Alien.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Angry Face With Horns.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Angry Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Anguished Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Anxious Face With Sweat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Astonished Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Beaming Face With Smiling Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Cat With Tears Of Joy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Cat With Wry Smile.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Clown Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Cold Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Confounded Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Confused Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Cowboy Hat Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Crying Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Crying Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Disappointed Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Disguised Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Dizzy Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Dotted Line Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Downcast Face With Sweat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Drooling Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Exploding Head.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Expressionless Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Blowing A Kiss.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Exhaling.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Holding Back Tears.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face In Clouds.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Savoring Food.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Screaming In Fear.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Vomiting.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Diagonal Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Hand Over Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Head Bandage.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Medical Mask.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Monocle.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Open Eyes And Hand Over Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Open Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Peeking Eye.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Raised Eyebrow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Rolling Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Spiral Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Steam From Nose.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Symbols On Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tears Of Joy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Thermometer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tongue.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Face Without Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Fearful Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Flushed Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Frowning Face With Open Mouth.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Frowning Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Ghost.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Goblin.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grimacing Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat With Smiling Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Face With Big Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Face With Smiling Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Face With Sweat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Squinting Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Hear No Evil Monkey.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Hot Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Hugging Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Hushed Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Face With Closed Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Loudly Crying Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Lying Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Melting Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Money Mouth Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Nauseated Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Nerd Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Neutral Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Ogre.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Partying Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Pensive Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Persevering Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Pile Of Poo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Pleading Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Relieved Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Robot.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Rolling On The Floor Laughing.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Sad But Relieved Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Saluting Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/See No Evil Monkey.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Shushing Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Skull And Crossbones.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Skull.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Sleeping Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Sleepy Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Frowning Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Smiling Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Cat With Heart Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Halo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Hearts.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Horns.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Smiling Eyes.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Sunglasses.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Tear.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Smirking Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Sneezing Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Speak No Evil Monkey.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Squinting Face With Tongue.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Star Struck.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Thinking Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Tired Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Unamused Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Upside Down Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Weary Cat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Weary Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face With Tongue.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Woozy Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Worried Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Yawning Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Zany Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Smileys/Zipper Mouth Face.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Anger Symbol.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Aquarius.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Aries.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Baby Symbol.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Baggage Claim.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Beating Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Black Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Blue Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Broken Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Brown Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Cancer.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Capricorn.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Check Box With Check.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Collision.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Cool Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Cross Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Currency Exchange.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Customs.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Dizzy.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Double Exclamation Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Question Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Free Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Gemini.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Green Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Growing Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Heart Decoration.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Heart Exclamation.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Heart On Fire.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Arrow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Ribbon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Hundred Points.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Kiss Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Left Luggage.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Leo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Libra.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Love Letter.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Mending Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Mens Room.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/New Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/No One Under Eighteen.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Ok Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Ophiuchus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Orange Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Passport Control.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Pisces.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Purple Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Question Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Red Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Revolving Hearts.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Right Anger Bubble.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Sagittarius.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Scorpio.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Sparkling Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Speech Balloon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Taurus.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Thought Balloon.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Top Arrow.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Two Hearts.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Up Button.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Virgo.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/White Exclamation Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/White Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/White Question Mark.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Womens Room.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Yellow Heart.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Symbols/Zzz.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Airplane.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Ambulance.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Automobile.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Beach With Umbrella.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Camping.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Classical Building.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Compass.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Desert Island.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Hot Springs.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/House.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Locomotive.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Moai.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Motor Boat.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Police Car.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Rocket.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Roller Coaster.png delete mode 100644 shine-UI/assets/emoji/telegram-previews/Travel and Places/Taxi.png delete mode 100644 shine-UI/generate_telegram_emoji_previews.py delete mode 100644 shine-UI/js/components/telegram-emoji-catalog.js rename shine-UI/js/components/{telegram-emoji-activity.js => twemoji-activity.js} (97%) rename shine-UI/js/components/{telegram-emoji-animals_nature.js => twemoji-animals_nature.js} (99%) create mode 100644 shine-UI/js/components/twemoji-catalog.js rename shine-UI/js/components/{telegram-emoji-flags.js => twemoji-flags.js} (99%) rename shine-UI/js/components/{telegram-emoji-food_drink.js => twemoji-food_drink.js} (98%) rename shine-UI/js/components/{telegram-emoji-objects.js => twemoji-objects.js} (99%) rename shine-UI/js/components/{telegram-emoji-people.js => twemoji-people.js} (99%) rename shine-UI/js/components/{telegram-emoji-smileys.js => twemoji-smileys.js} (99%) rename shine-UI/js/components/{telegram-emoji-symbols.js => twemoji-symbols.js} (99%) rename shine-UI/js/components/{telegram-emoji-travel_places.js => twemoji-travel_places.js} (96%) delete mode 100644 tools/understand-anything-lab/.gitignore delete mode 100644 tools/understand-anything-lab/README.md delete mode 100755 tools/understand-anything-lab/install_codex_skills.sh delete mode 100644 Как_устроены_каналы_в_блокчейне_SHiNE.md delete mode 100644 Логика_доставки_почты.md delete mode 100644 Логика_установки_соединения_через_сервер.md delete mode 100644 Типы_блоков_и_сообщений_SHiNE.md diff --git a/.gitignore b/.gitignore index 962572ac..29bcddec 100644 --- a/.gitignore +++ b/.gitignore @@ -106,7 +106,9 @@ ESP32/**/*.a deploy/backup/archive/** !deploy/backup/archive/.gitkeep -# Локальная дев-обвязка Claude (дев-сервер shine-UI, сессии, планы) — не коммитим +# Локальная дев-обвязка AI-агентов (сессии, планы, настройки) — не коммитим +.agents/ +.codex/ .claude/ # Рабочие бэкапы/превью-ассеты UI — не для репозитория *.bak.png diff --git a/SHiNE-agent-bot-coder/AGENT.md b/SHiNE-agent-bot-coder/AGENT.md index 97eb8577..ecfa6ac6 100644 --- a/SHiNE-agent-bot-coder/AGENT.md +++ b/SHiNE-agent-bot-coder/AGENT.md @@ -55,7 +55,6 @@ - `far/` - дальнее будущее без понятного срока. - Если пользователь спрашивает, какие есть планы или что можно продолжить, нужно смотреть эти три папки и отвечать кратким списком по горизонтам. - Файлы из `TODO/` не начинать реализовывать без явной команды пользователя. -- После реализации фичи, требующей ручной проверки, нужно добавить отдельный файл в `docs/Pending_Features/`. ## Центр задач и предложений - Сервис хранит простые задачи и предложения в `data/task_center/items.json`. diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md new file mode 100644 index 00000000..9393aae8 --- /dev/null +++ b/THIRD_PARTY_NOTICES.md @@ -0,0 +1,86 @@ +# Third-party notices + +This file lists third-party components and assets used by SHiNE. It is a practical attribution file for repository publication; individual dependency artifacts may include additional license text in their own packages. + +## Twemoji + +SHiNE UI uses Twemoji graphics for emoji rendering in the chat emoji picker and emoji-only messages. + +- Source: https://github.com/twitter/twemoji +- Graphics license: Creative Commons Attribution 4.0 International (CC BY 4.0) +- Code license: MIT +- License text: https://creativecommons.org/licenses/by/4.0/ + +Attribution: + +Emoji graphics by Twemoji, licensed under CC BY 4.0. + +Changes in SHiNE: + +- Emoji are stored and sent as normal Unicode text. +- Twemoji SVG graphics are used only as a visual rendering layer in the web UI. +- The UI loads Twemoji SVG assets from the pinned `twitter/twemoji@14.0.2` package via jsDelivr. + +## QR Code Generator + +SHiNE UI includes `shine-UI/js/vendor-qrcode-generator.js`. + +- Project: QR Code Generator for JavaScript +- Copyright: Kazuhiko Arase +- License: MIT +- Source: http://www.d-project.com/ + +## SHiNE project-owned visual assets + +SHiNE logos, icons and generated visual assets in `shine-UI/assets/` and `shine-UI/img/` are project-owned assets, unless a specific file says otherwise. + +## Solana JavaScript libraries + +SHiNE UI and Solana tooling use Solana JavaScript libraries, including `@solana/web3.js`. + +- Package: `@solana/web3.js` +- License: MIT +- Source: https://github.com/solana-foundation/solana-web3.js + +Some Solana JavaScript dependency trees include additional packages under permissive licenses such as MIT, Apache-2.0, BSD, ISC, 0BSD and CC0-1.0. + +Known stricter dependency: + +- Package: `rpc-websockets` +- License: LGPL-3.0-only +- Used transitively through Solana JavaScript dependencies in `shine-solana/shine` and `SHiNE-browser-plugin-wallet`. + +## Noble cryptography libraries + +SHiNE browser wallet/vendor bundles include Noble cryptography code. + +- Packages: `@noble/curves`, `@noble/hashes` +- License: MIT +- Source: https://github.com/paulmillr/noble-curves and https://github.com/paulmillr/noble-hashes + +## Java server dependencies + +The SHiNE Java server uses third-party dependencies from Maven Central, including: + +- Eclipse Jetty (`org.eclipse.jetty:*`) - EPL-2.0 / Apache-2.0 family licensing +- Bouncy Castle (`org.bouncycastle:bcprov-jdk18on`) - Bouncy Castle permissive license +- Jackson (`com.fasterxml.jackson.core:jackson-databind`) - Apache-2.0 +- Logback (`ch.qos.logback:logback-classic`) - EPL-1.0 / LGPL-2.1 +- SLF4J (`org.slf4j:slf4j-api`) - MIT +- SQLite JDBC (`org.xerial:sqlite-jdbc`) - Apache-2.0 +- Web Push Java library (`nl.martijndwars:web-push`) - Apache-2.0 +- JUnit (`org.junit:*`) - EPL-2.0 + +## Gradle Wrapper + +The repository includes Gradle wrapper scripts. + +- License: Apache License 2.0 +- Source: https://gradle.org/ + +## Espressif code snippets + +The ESP32 prototype area includes Espressif audio codec helper files with SPDX/license headers. + +- Files include `ESPRESSIF MIT License` and `SPDX-License-Identifier: Apache-2.0` notices. +- Original copyright notices are preserved in the source files. diff --git a/TODO/dao_запуск/2026-06-05_esp32_hardware_wallet_device_session.md b/TODO/dao_запуск/2026-06-05_esp32_hardware_wallet_device_session.md deleted file mode 100644 index c98a3ca0..00000000 --- a/TODO/dao_запуск/2026-06-05_esp32_hardware_wallet_device_session.md +++ /dev/null @@ -1,64 +0,0 @@ -# ESP32 как аппаратный кошелёк (device-сессия) - -## Суть фичи - -ESP32 становится аппаратным HSM (hardware security module): хранит ключи, постоянно подключён к SHiNE-серверу как device-сессия, подтверждает операции нажатием на экране. Другие устройства (браузер, телефон) взаимодействуют с ESP32 через сервер — без прямого соединения. - -## Два ключевых сценария - -### Сценарий 1 — Создание делегированной сессии -1. Браузер/телефон → сервер: «хочу делегированную сессию от имени пользователя X» -2. Сервер → ESP32 (device-сессия): «запрос на одобрение» -3. Пользователь нажимает «Да» на сенсорном экране ESP32 -4. ESP32 → сервер: одобрено → сервер создаёт делегированную сессию для браузера - -### Сценарий 2 — Подпись транзакции / блока -1. Браузер (через делегированную сессию) → сервер → ESP32: «подпиши вот это» -2. ESP32 показывает запрос на экране, пользователь подтверждает -3. ESP32 подписывает нужным ключом → ответ через сервер → браузер - -## Что нужно сделать - -### ESP32 (основная работа) -- [ ] Инициализация WiFi (SSID/пароль в NVS) -- [ ] WebSocket-клиент (`WebSocketsClient`) — постоянное соединение с сервером -- [ ] Авторизация на сервере: `AuthChallenge` → `CreateAuthSession` через `clientKey` (уже есть в NVS), сохранить `sessionId` в NVS -- [ ] Обработчик входящих WebSocket-событий: JSON-парсинг, диспетчер по типу -- [ ] Новые UI-экраны: «Разрешить сессию?» и «Подписать?» с кнопками Да/Нет -- [ ] Расширенное хранилище ключей в NVS (произвольные именованные ключи сверх базовых трёх) -- [ ] Переподключение при разрыве (reconnect loop) - -### Сервер (минимальные изменения) -- [ ] Добавить поле `sessionType` (`USER` / `DEVICE`) в таблицу `active_sessions` -- [ ] Новая операция `DeviceApprovalRequest` — браузер запрашивает одобрение у device-сессии -- [ ] Новая операция `DeviceApprovalResponse` — ESP32 отвечает (одобрено/отклонено) -- [ ] Новые операции `SignRequest` / `SignResponse` — запрос подписи и ответ -- [ ] Роутинг: при получении запроса найти device-сессию через `ActiveConnectionsRegistry.getByLogin(login)` + фильтр по `sessionType=DEVICE`, переслать туда - -### Клиент (отдельный этап) -- [ ] Браузерное расширение или UI: создание делегированной сессии, отправка `SignRequest` - -## Что уже готово (переиспользуем) - -- **Роутинг сообщений** — `SendDirectMessage` с `TARGET_ONE_SESSION` и `CallSignalToSession` уже умеют точечно доставлять в конкретный `sessionId`. Механизм готов, нужно добавить только новые op-коды поверх него. -- **Ed25519 на ESP32** — библиотека `` уже используется в скетче. Подписи работают. -- **NVS** — уже хранит логин, мастер-секрет, 3 пары ключей. Расширяется легко. -- **`ActiveConnectionsRegistry`** — поиск по `login` и `sessionId` уже есть на сервере. -- **Аутентификация** — схема `AuthChallenge` → `CreateAuthSession` через Ed25519 уже полностью реализована. - -## Оценка сложности - -| Компонент | Сложность | -|---|---| -| ESP32: WiFi + WebSocket-клиент + авторизация | Средняя | -| ESP32: обработчик входящих + UI подтверждений | Средняя | -| Сервер: флаг sessionType + 4 новых op-а + роутинг | Низкая–средняя | -| Браузерное расширение | Высокая (отдельный этап) | - -**Итого фазы ESP32 + сервер: ~1–1.5 недели.** - -## С чего начинать - -1. Серверная часть проще и быстрее — начать с добавления `sessionType` и `DeviceApprovalRequest/Response`. -2. Затем ESP32: WiFi → WebSocket → авторизация → обработчик входящих → UI. -3. Браузерное расширение — отдельная итерация после того как ESP32 + сервер работают. diff --git a/TODO_Будущие_доработки.md b/TODO_Будущие_доработки.md deleted file mode 100644 index df15b60f..00000000 --- a/TODO_Будущие_доработки.md +++ /dev/null @@ -1,41 +0,0 @@ -# TODO: Будущие доработки - -## 1) Полный переход на `ReceiveOutcomingMessage` -- Сейчас в UI используется `ReceiveOutcomingMessage` с fallback на `SendMessagePair`. -- Fallback нужен только временно для совместимости со старыми серверами. -- После обновления всех серверов: -- убрать вызов `SendMessagePair` из UI, -- убрать регистрацию `SendMessagePair` на сервере (оставить только `ReceiveOutcomingMessage`). - -## 2) Реальная мультисерверная доставка -- Сейчас фактически предполагается 1 сервер на пользователя. -- Нужно реализовать штатную мультисерверную схему: -- пересылка исходящих сообщений между серверами пользователя A, -- пересылка входящих сообщений между серверами пользователя B, -- дедупликация на уровне БД для затухания дублей. - -## 3) Надёжная доставка при перезапуске сервера -- Сейчас возможен сценарий: запись уже сохранена в БД, но сервер не успел переслать дальше из-за перезапуска. -- Нужно добавить механизм «store + guaranteed forward»: -- очередь/аутбокс для межсерверной пересылки, -- фоновый ретрай до подтверждения отправки, -- корректная остановка (graceful shutdown) с дожатием критичных задач. - -## 4) Политика идемпотентности -- Сохранить принцип: пара (`incoming`, `outgoing`) пишется одной транзакцией, либо обе, либо ни одной. -- Не допускать частичного состояния, при котором в БД есть только один блок пары. - -## 5) Наблюдаемость и аналитика -- Добавить метрики по доставке: -- количество дублей, -- количество успешных вставок пар, -- доля доставок в WS/push, -- количество ретраев межсерверной пересылки. - -## 6) Ограничение текущих звонков (важно) -- Сейчас звонки работают только в рамках одного сигнального сервера (или единого контура, где обе стороны уже подключены). -- Сценарий «пользователь A на своих серверах, пользователь B на других серверах» пока не поддержан. -- TODO на будущее: -- временная межсерверная авторизация/сессия для старта звонка, -- отправка сигнальных сообщений между разными серверами пользователей, -- аккуратное завершение временной сессии после установления/завершения звонка. diff --git a/TODO_Звонки_межсерверность.md b/TODO_Звонки_межсерверность.md deleted file mode 100644 index cfd29f0a..00000000 --- a/TODO_Звонки_межсерверность.md +++ /dev/null @@ -1,41 +0,0 @@ -# TODO: Звонки и межсерверность - -## Текущее ограничение -- Текущая реализация звонков фактически работает в одном сигнальном контуре (один сервер/единый кластер, где обе стороны уже присутствуют). -- Если пользователь A подключён к серверу A, а пользователь B к серверу B (и между ними нет общего сигнального слоя), `CallInviteBroadcast`/`CallSignalToSession` не смогут полноценно провести звонок между ними. - -## Почему так сейчас -- Сигналинг звонка привязан к активным сессиям и событиям на конкретном сервере. -- Выбор целевой сессии (`sessionId`) и обмен `OFFER/ANSWER/ICE` происходит в рамках текущего сигнального контура. -- Push решает только «разбудить/уведомить», но не заменяет межсерверный сигнальный канал. - -## Что можно сделать дальше -- Добавить временное межсерверное подключение именно для старта и ведения звонка: -- инициатор получает short-lived access на сервер callee (или через доверенный межсерверный gateway), -- в рамках короткой сессии отправляет invite/signal для конкретного `callId`, -- после завершения звонка временная сессия закрывается автоматически. - -## Что нужно доработать для этого -1. Межсерверная доверенная модель: -- подпись/верификация межсерверных вызовов, -- allowlist доверенных серверов и ротация ключей. - -2. Короткоживущая «call-only» авторизация: -- отдельный тип токена/сессии с TTL (например 1–3 минуты), -- минимальные права только на `CallInviteBroadcast/CallSignalToSession`. - -3. Маршрутизация сессий пользователя между серверами: -- где находится активная сессия callee, -- как доставлять `stop_call` и terminal-сигналы на все устройства callee. - -4. Идемпотентность и дедупликация: -- защита от повторов межсерверных сигналов по `callId + eventId`, -- корректная обработка out-of-order событий. - -5. Наблюдаемость: -- метрики межсерверной доставки сигналов, -- диагностика по стадиям звонка и причинам срыва. - -## Временный рабочий подход (до межсерверности) -- Держать звонки в одном сигнальном контуре. -- Использовать WebPush как fallback-уведомление (`incoming_call`/`stop_call`) для офлайн-сессий. diff --git a/VERSION.properties b/VERSION.properties index 4c15330c..88b1c020 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.331 -server.version=1.2.303 +client.version=1.2.332 +server.version=1.2.304 diff --git a/create_git.sh b/create_git.sh deleted file mode 100644 index ac98d373..00000000 --- a/create_git.sh +++ /dev/null @@ -1,246 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -GITHUB_USER="ai5590" -TOKEN_VAR_NAME="GIT_AI5590_CLASSIC_API_KEY" - -print_line() { - echo "------------------------------------------------------------" -} - -abort() { - echo - echo "Ошибка: $1" >&2 - exit 1 -} - -require_command() { - command -v "$1" >/dev/null 2>&1 || abort "Не найдена команда '$1'. Установи её и запусти скрипт снова." -} - -get_token() { - if [[ -z "${GIT_AI5590_CLASSIC_API_KEY:-}" ]]; then - abort "Не задана переменная окружения ${TOKEN_VAR_NAME}. -Перед запуском выполни: -export ${TOKEN_VAR_NAME}=\"ТВОЙ_GITHUB_TOKEN\"" - fi -} - -show_intro() { - print_line - echo "Этот скрипт создаст новый репозиторий в GitHub в аккаунте '${GITHUB_USER}'," - echo "затем инициализирует git в текущей папке (если нужно)," - echo "добавит файлы, кроме самого этого скрипта, создаст первый commit и отправит проект в GitHub." - echo - echo "Скрипт работает с содержимым ТЕКУЩЕЙ папки:" - echo " $(pwd)" - echo - echo "Для авторизации используется переменная окружения:" - echo " ${TOKEN_VAR_NAME}" - print_line - echo -} - -ask_repo_name() { - local repo_name - read -r -p "Введите имя нового репозитория в GitHub: " repo_name - repo_name="$(echo "$repo_name" | xargs)" - - [[ -n "$repo_name" ]] || abort "Имя репозитория не может быть пустым." - - if [[ ! "$repo_name" =~ ^[A-Za-z0-9._-]+$ ]]; then - abort "Имя репозитория содержит недопустимые символы. -Разрешены: буквы, цифры, точка, дефис, подчёркивание." - fi - - REPO_NAME="$repo_name" -} - -ask_visibility() { - local answer - echo - read -r -p "Сделать репозиторий публичным? [y/N]: " answer - answer="${answer:-N}" - - case "$answer" in - y|Y|yes|YES|да|Да|ДА) - REPO_PRIVATE="false" - REPO_VISIBILITY_TEXT="public" - ;; - *) - REPO_PRIVATE="true" - REPO_VISIBILITY_TEXT="private" - ;; - esac -} - -ask_confirmation() { - echo - print_line - echo "Будет выполнено:" - echo "1. Создание GitHub-репозитория '${GITHUB_USER}/${REPO_NAME}' (${REPO_VISIBILITY_TEXT})" - echo "2. Подготовка git в текущей папке" - echo "3. Commit файлов из текущей папки, кроме самого этого скрипта" - echo "4. Push в ветку main" - print_line - echo - read -r -p "Продолжить? [y/N]: " confirm - confirm="${confirm:-N}" - - case "$confirm" in - y|Y|yes|YES|да|Да|ДА) ;; - *) echo "Отменено пользователем."; exit 0 ;; - esac -} - -check_not_inside_wrong_git_repo() { - if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then - local top - top="$(git rev-parse --show-toplevel)" - if [[ "$top" != "$(pwd)" ]]; then - abort "Ты запустил скрипт внутри уже существующего git-репозитория, но не в его корне. -Корень репозитория: - $top - -Либо перейди в корень этого репозитория, либо запусти скрипт в папке, которая не вложена в другой git-репозиторий." - fi - fi -} - -create_github_repo() { - echo - echo "Создаю репозиторий в GitHub..." - - local http_code - local response_body_file - - response_body_file="$(mktemp)" - - http_code="$( - curl -sS \ - -o "$response_body_file" \ - -w "%{http_code}" \ - -X POST "https://api.github.com/user/repos" \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${GIT_AI5590_CLASSIC_API_KEY}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - -d "$(cat </dev/null 2>&1; then - echo "Git уже инициализирован." - else - git init - echo "Git инициализирован." - fi - - get_script_paths - - if [[ "$SCRIPT_INSIDE_PROJECT" == "true" ]]; then - echo "Скрипт находится внутри проекта и будет исключён из commit:" - echo " $SCRIPT_RELATIVE_PATH" - git add . ":!$SCRIPT_RELATIVE_PATH" - else - git add . - fi - - if git diff --cached --quiet; then - echo "В staged нет изменений. Возможно, файлы уже были закоммичены ранее." - else - git commit -m "Initial commit" - echo "Создан commit: Initial commit" - fi - - git branch -M main - - local remote_url="https://${GITHUB_USER}:${GIT_AI5590_CLASSIC_API_KEY}@github.com/${GITHUB_USER}/${REPO_NAME}.git" - - if git remote get-url origin >/dev/null 2>&1; then - echo "Remote 'origin' уже существует. Обновляю URL..." - git remote set-url origin "$remote_url" - else - git remote add origin "$remote_url" - fi -} - -push_to_github() { - echo - echo "Отправляю проект в GitHub..." - - git push -u origin main - - echo - echo "Готово." - echo "Репозиторий: https://github.com/${GITHUB_USER}/${REPO_NAME}" -} - -cleanup_remote_url() { - echo - echo "Убираю токен из remote URL, чтобы он не светился в git config..." - - local safe_url="https://github.com/${GITHUB_USER}/${REPO_NAME}.git" - git remote set-url origin "$safe_url" - - echo "Теперь origin = ${safe_url}" -} - -main() { - require_command git - require_command curl - require_command realpath - get_token - check_not_inside_wrong_git_repo - show_intro - ask_repo_name - ask_visibility - ask_confirmation - create_github_repo - prepare_git_repo - push_to_github - cleanup_remote_url -} - -main "$@" \ No newline at end of file diff --git a/shine-TURN-server/README.md b/shine-TURN-server/README.md deleted file mode 100644 index 6580f104..00000000 --- a/shine-TURN-server/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# SHiNE TURN Server - -This directory stores TURN setup scripts and operational instructions. - -## Purpose -- Install and configure coturn for SHiNE calls. -- Keep repeatable setup scripts for new TURN nodes. -- Keep TURN-related config templates. - -## Current production model -- Multiple TURN servers are supported by backend config section: - - `call.ice.turn.servers.1.*` - - `call.ice.turn.servers.2.*` - - ... -- Each server can use: - - REST auth (`sharedSecret`) for temporary credentials, or - - static `username`/`password` (fallback). diff --git a/shine-UI/THIRD_PARTY_NOTICES.md b/shine-UI/THIRD_PARTY_NOTICES.md deleted file mode 100644 index 9024ac9e..00000000 --- a/shine-UI/THIRD_PARTY_NOTICES.md +++ /dev/null @@ -1,9 +0,0 @@ -# Third-party notices - -## Telegram Animated Emojis - -Animated emoji previews in SHiNE use the public catalog from Tarikul-Islam-Anik. - -Source: https://github.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis - -The repository README states that the media files are sourced from Emojipedia and that rights to the Telegram media belong to Telegram.org. Review those rights before public distribution. diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/1st Place Medal.png b/shine-UI/assets/emoji/telegram-previews/Activity/1st Place Medal.png deleted file mode 100644 index 4011e3c764ffda2c22d2e8015ba8010f52daafff4e5a4b2e0cc96d8a772d4904..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8346 zcmV;LAZ6c)P)vOU?ppW93VGYZJM{vFLg`h5=E9JsX? zcdfmjM|=NwHL0(uw*ER7sL7zhVrBv$BK9xbyZvkLkN;ATf8pPLKLQ|t?PNMTxNY>U zO>O+mo~_q^^Rr7m{ed6YW_$PUDZay)Ge6Tj#-&yI}spAj-=`4irO8~Ce`150rB<+RqiHkay z?0EVK^WH5j=klgET-Sc<>u$(B5YEgei?{yN#`N^OxJD}+eq?^fp@lQ-ZY^$^9DDoZ zWXKPUZrV0KI(pFwtml>&E8hOLXO_4A#M4S&RJbgmvv;pHe&byY86U+eFD`M_p~DaC zcx16F?TN9?H$V7bZXg$8mLwO7VPM)lxbQp6$<(Xg?sj&3TMuAd?<5YK&YPc z?66YxLc1tK0t{tMZPR#ZqdfgwO&W=Fjk2nW(96p(I%;A2W(|N30UxU1J72vg1eb>3 zeEkg~B?RI-9RflAm>gk299=QLk(N~6Ied$ss6ru6L%k$GeB`zfqO&n-d1ik#?5#6$BSc5N}C@!2h=F(#aRkB1e z6oK|iJ6R3>&`M+YuKH%e_aOiTn9=#e?>!;H7nj>@N?!)2N|6V?e9v(ZPu1z6mt2Ni zehvBZ5~U9^7Anp(TAO;3JvB{7sFF-7r*wSa>T5Tms`xT8iof?B+~Nvo0wK`tb;D|} zgR1+;%@019-vP;m^pJEAW}s8MJujBYSKFpRNL2ayfs^!lC03M#Bt>qxp1jv3FDshf z^RU}$OUbZ}WyuXYe5bwSEEs7D4?eia@e`}4Gs<2?cH<9GI!7<>U{%Ef={CvJhPXxpkCFS5 z$;pHpc5cF~!WvMmt|0e*9U2K@9)kDX_LB6>?ta#>Ltm>spYLY?W&_EHQ zkj`!q)BRN{4w%xyNl_B%P#kO-usaUdhgDCYYLPP!u`l z670SQkfTQ+Nx(eq?y_||ZAA1>1hG2@AQHaNGXR)zFdHP1zwP85ilP%#6Uqwi{@N*m zC}rNIoZJFWdj|A!{xRLcA-93C<`8N^Vn!%D|L(@8ASj`#;urhk7f5UVG0_}Hy#Yp5R=jA}C1{%BLjYC6=Rc2ISpm%; zSm>@S>r%pdd0o#3nBHuv-U@ay8t8`s<_Acc)WR}wTxlIk z635r~FL3bS3A&v?t2IVx0a565OLjefJ5!TGlz9ow6z0T#|%VM!uk!GTqZ~g{uyxxQ?M|CSA@3DjedPq#UbC4_yF{`KJ9Y}W>n^m>1Pk`a+0$~$ zmqq5}9R@NzfO+A8;==<6_S)RsoO|6HU-9i```NR#tOvz2!=FKW_`2c8MDuM?Q5st&jgTGBjon&7TgPvg;O=w?6;)$=k05cin)E z{z0vZP%|@;sjZWj?m6&=H~jF}*`sj!_|nSCufFqt{FVOA z-yN~v`Y+e<ydz;tbJ<2lt=c#qs^cdX{c3wT9DdikSU!A8Ctmpje)PuliqF1b>Q#Hd z-#If_PR0`k05e1cyK3jd(r88j?t@@$?UEg8g{y6v`DIp?Zg!w{FKLxNe^Q+fW5BZt3G4gcZkc6ISQ zW#cJl&u-sxQ|qST7Y>_LIVLKoHfDB_%n$GkA6NhkH;nXmv-PwIq>;s!Y_Z~p@>?JUOftU=G z;dkL?_nlifKk??~^VI8SL&K$(By>+LNkt$_9Zn3V&?^JI0@Mjvb2wz7E8ere%93}H zvTx6O@`w7@o14ZB8V~~kKy4TgF!x^>PZso+s^Ardy+FhoNh-94gt762)_6wNu#lt) zX{Kf%-h!67XLTvC+75J=Dty;-Hn-IzkxyqW`S9@7m;c4hZ+S5P?$7(a2EYut?KWg~ zmN55PHYPz|Uj=#NP{Vc%w;at0WpslvHrgN^GMsoMNe~>O9(9UK6rA81DcTT7AkUqx zo-M-3Be`36q(l3Z$9MEVIwZe+=A!EVzIvA4+%#@_FX2LG#$*si{hz<4`N}f%er>p+ zJDNkvdS-HwiTW5+5C?8sZdnA-WYRkO@(-R_xsV_{?f~2|LvqtB)t~*Wdr?+~|1;F&qVcJun%ZufDC!Hq#|2hJ z5fmqesG=$a7f=;MK{ZA);y@CIBmqqnarNspI6f2DkTSe!gtAJ*fzK{;GD zKmSyJaQvGDp#SCOUYGnrL+rPjEen@k?Z}*IC_&8DZpN9!?63+dhKhhwoEqW;O(fEe zf;fjcP^U=ZQ3oc1YJz4SO9PS!k_f5-&aj~o((U6cpHTnz|NEd@I-XbMaO)MXd~f$7 zk2eVNc#izJSLzObX-5rl zfci)|sUT9&Xf+tx*hJG3OAJjkzLscwU+SqE3F+h}y2~zn?tKr-;-TDYtM!uU-|u|# z@mv$+@$z;)@)~Y(CZ8D|bK$CML{*Wp^eBP`sc)oy)PO)eVgXV*OP<^UBNsPFha4t? zsUk9lb4^r6Flk_Elj7vpn4HRS4XX{VkQ$msmsOj9Gkj2z4O8?wS-A7vhqQC7vz(4* zH@@sW#kXt*mD%&3K|8Mi%*>#-&0>3RZEaWA`^w0WOkMG`#4=ZDC8)n~ zhI2xZ3!N3ijVt3%b!6i`Tr(jghPWZHiy+yEvIS{fPGiHtqbWTBO+`sy6F$I9_@h8L;bOB_p!ft4<7xU9j{wE@?v(8e=KhF?n3{83!vMP#iX zq~Wf@=_J|2b>POqJhH}VwzfN%`m<2O>NQ8TOErIzu}jQ7{S_BgLmIAq@bIbM*s~YE zcl!K`d3wI7=fkf}f4Y_Unb>ufwE(KoaMB;~b%13U3+;eSBuqU`$fi0-dI`f%c?IdzO<;of9*AHP zYHE>sWXsxf34(;^ii#2IMJ;x`fEUa|pWP)01VMwRJhMz=Jh)3=Jn0+GZoK}~$jfAw za6V_j`2aw6@5BG)>$eSsT;9?eceZJ(YE@LVi41kopU1_KC<&BBN@GOXa!r6%MmF(c z#-FkWZ9WC_otn<$W(%v0|IdxhNcl#v5NBC1%v(&&d$7uo%Aho;VwW5!1j!4+sk1!w zhH=I(ZrJK__m|C({X5U!EO^WTnAwFBuugvJN5?X`cc=)J3!Tn?2AJA;eq45atQTLICCvTI)K)Wn(fCvo(@OZS)kWGNn^wH5dblQ7$$zLBO$t*Ca4$0N8^V+ z1yw@uQUhT4GSnSH>F}ik57p@oLldfFmktwp<;!n>_Z5v=o{)hCpzk+V+I~)}rNbMx zWIizyA=GpeL2x2yz4%5dijk>kg18ZolwdxJ&>qT_lla~|>4s}aMlZ#O3P*x7ttD## z>r11cHAPtnHUBH-4f7%Leqn?%)ZGZBVO5BysCc33lu(p9b=k0`iCk8EbAD$$w`jlt zm^u}2P^w~gbJ#OBnV3~^u!~sKZUkh_@U_(7SW`AN9YQ3j-O^R^-bsAYW97sNf^3cx zgDU#?W_<<%AZRUU1R%swFF_C==>;!PL8v&l7L;)|SQR^-xGlC_uyI@BM@FIOb^l$x zuUH2ffIIiq+DR3DaA+iDXaw;->i4>qIEjiR&M+4#Nwiizogi6;ijwDTs$!W?EOYuB z|H#tUK8IB~h$0r^E*W{0uVh*q+z~tkAE1iHx5}V$P$XFC>Mk`H5gaO|TrWBH4pytp-@B#9FrBx><}&A~1dDkFftP%I*%Awa2QA`hDIr7}LNU>L zsKt32)}8HV^*vC_8D??O7VnUv63YazvDV=SM}hpYMj&}Cl}~^&l$jGq8_rY_C8iHm z1ER8~N-DMEV$tJtjf~}mWAqjuVdHR*W-BF>9`jNsUCzDNBpv|=QX4Q3L{TgfdF_5$ zkUBK3y&>vrtPkL%A2ihKd5B(AC5HC_=M*uTWlpv>(`O&Mwcs(I0hv$4@Fba@qZySt z+U?81G4UdLE)658(rOiqjHZZYQ8I9>N!IiYCE+_)p7qbH&mp#^2_b#yV%<@rbpUtn zXi-^PQzCE?n%PbdatYX9no~q-R}-ld=^}_2rm~hW5m5++ zy4t<;add=mE@-wW2tDd~tVRi@1QWc}GIa>&M)~?2pw){yvPMB`Zdr);7J^|#ASCog zn)J>`4)L+`g8ICeZJn=>mFxG1W?Zz zV4V)srxmk0%Cf#o89@kvXiN)ho{`lmsd7fRyKy&b1=v zxX6kaW+f8JT9~ssQnuRYwV{0g9~b4wW>y0f!Sddys=7QN7t2>GoY*0e*w7uh>jABWwZUT)-}9QRL(Qxn?LlfPS|?wJ zdQM6F{FQ}DI=z5v=;!P2H`sD?Un_A9_O(|$XO9Mz4J~j1(Xdubi?h0H5J(hDsp-a$ zG~)g%itoW^8{8m3l@as36kPd$P< zTPwU3i6w~9Rjnxq9~aub{Jc)g2?%B-!Fn-&OspY|novJEv*yJTf}Hb!>J%nEfRFc9 zRTh@dlqTp`Z~4vM!!tAJ?CgL80N5S7NM1I3yyF_l#}*!5rM*;zY;ugC4%1o^P+hBP z?o*MtSW<3@VD;bDtEK7$ti(c}V!r#wG7Pl}3F|4SA8@TJ4C=cJ>*%KsN}q<(%yITi zux_W4tR){7!FHdg0*1%@qVt>Mw{NzRKUzH#IP{ga%7ziFk&)nH6|<9Q@YIkrKutlG z>bag-q#)-&6Vy4x3M}L}^Rd2XJp~cZm2Dq7-1b1vF>@azV)Nv+W0t!Aa?SY zcPkz3h@>9{*gboGYDFJ&0QT&~+YEZk`?_Dw9iKh^m9tWG%_o~01S)W$KFdEKH64kI zi5ivYraHB{ekcaeaSf>u%OeN`oOzsi)GRIs2ti7)3JqE-7g3%LQ4Jzkh_0x`=iUM# zM1|CcfH%XX3CqjoJ7)?J$A|a4zk76UI>v!dn7W|7wJj?n#V8yFjp}L8K66yD0%D!E)2|M~DuNZ~vXtKus@4Bl|8d=mB5P5$ zIqc}+LfajwM%4W;c!HIs^k>1`H15aW>pzo=+K`{KO|zp?-ChN^2{K9!UQJ({mZ zk~fVaokg)sLSLJSv&2GNL}Q*k=j{Alte&_#x~N1q6BEoljn)Vwqg$eS_gz0M_FZ$~ z95vNax1`45`wL%mLh2ihH^20K-LrGkIFa)U!1>;wA#-!+o;~;vzgGWhIFpy&__J4* zTb`Ds<)KFqpQEXZ`GS7QVPLJ4Fjg-F)P&QgD#~&SGmlvh2}zwAFnow+^#Rh5P%Nx4 zJ|5!q_J(cvJ{fk;W9^>Ig(6CQ%9C6X(I}Hgt}fd^w<0P`bbSjg3E+cC#5`b$fv8` z?kT=IXpR9j$b|E zLQ%qMiTF4|LpWDL9%n(FwJKv}TkyWtZvy5$K3M(#MyLWl#H~-V7JRW55qo0(K@&K3 zM9VXWtF-I+(sFC~C9nFO;w&@g*Xy~U`-JoTAvAm1w*_Ld`#B&mCdMb8s%jd>Szr+goT5B=hn;o+rIzn$j1X8g(#u6@aPHF=3TznV+A z&?V%)Ey&+4b5BgPVd)8hGhHZ8^^f%+2hsdggPsF(p~Ceoq|wRh}T** z6U_TH0JKgadN23@;w=JTu?#X%B?N4F34iqAkhITudWC*7B<`2?{C@F?dW-S}`?XcM zkOwsFoksWU#eeh{hd0Y&=N&~)UbA7Nwl-cf!bR5(`%T**A*kh*6up4&7Fg~h@7J|I zeGx6x!dfCqh=G^oT^|+~;MB3wwHKh*<*e86o?fx}f8P4XCszmI+#ngG!zGMW^8!MFdMg~VPaDfT+`!J#C$2fLe`S%-YitXeC{o8!`Vfz%V$Ja z&lIe#8r_`Z&ZU2-I{e;SKCp0PkPdB9hKN|o(|8uSF^JV_hJhxjyY0n&Pu(36w zq$5IWq)D0tg2pXRz6?+bWgf`8o{$?W-9TP)(k1#uQs#!-=-<5beM@Kih9883ng;Uh z=$RSx+IYa;+Q_`?S4O7JEOeh$=G<5oT&dn)W-x&=VM4= z7sL-{lP3Zgd-tGIJCXSV*rU;h8FJfh-0t16IAD-y<_QhJqyF5+_kM{dspZM`WP7qb k*`91qwkO+@?FrNVKZ!F+9spXVO#lD@07*qoM6N<$g07t^cmMzZ diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/2nd Place Medal.png b/shine-UI/assets/emoji/telegram-previews/Activity/2nd Place Medal.png deleted file mode 100644 index cfc1e7452fe0a673145ace1fef911456e98703291af835c6b94117da56e39fb3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7629 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 W*W`{knFjx+1@5Wqp=(jr5&r|w3Rv?1 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/3rd Place Medal.png b/shine-UI/assets/emoji/telegram-previews/Activity/3rd Place Medal.png deleted file mode 100644 index 6725074564656d64647dc427185bc3d6eb1bd7c85604fa438c1636c4d2e65f76..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8721 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Artist Palette.png b/shine-UI/assets/emoji/telegram-previews/Activity/Artist Palette.png deleted file mode 100644 index 9359d65a1a5649266c0115cc45a3ca32169219ad0906a01e433b7a41d4c52650..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11987 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Confetti Ball.png b/shine-UI/assets/emoji/telegram-previews/Activity/Confetti Ball.png deleted file mode 100644 index 74bdc9fc2f4dce9acad935f73c140cd750e564f5cc31b1b9f311ef4cd63f3ccb..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14032 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 z 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 KMNUMnLSTZ7@wJoy diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Firecracker.png b/shine-UI/assets/emoji/telegram-previews/Activity/Firecracker.png deleted file mode 100644 index 7d4f3567713edc5cb9391887f39413095410311eea61dd6c3629564173c7388c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10916 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Fireworks.png b/shine-UI/assets/emoji/telegram-previews/Activity/Fireworks.png deleted file mode 100644 index b4997c5f1a838a502277b43ae19a7192cb8ec142d0c8a507c0381c295ffee5b1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12644 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 KMNUMnLSTZ!HHVr2 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Magic Wand.png b/shine-UI/assets/emoji/telegram-previews/Activity/Magic Wand.png deleted file mode 100644 index e649a3cb8ebd5fc4e9858b918160b226a4b3b4bd2065398566ea5b8cc1792727..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5002 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 Ef+5LkT>t<8 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Mirror Ball.png b/shine-UI/assets/emoji/telegram-previews/Activity/Mirror Ball.png deleted file mode 100644 index e5f4a1679d767d8859a810b7408315461a860351d60b60f0543f87b239b05a86..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14010 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 JR!f_O{U4QK^5y^l diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Party Popper.png b/shine-UI/assets/emoji/telegram-previews/Activity/Party Popper.png deleted file mode 100644 index f89078d6d75018acbaa77227550a5a6ed33a034a72f8b7474169e768c9e6252c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12618 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Performing Arts.png b/shine-UI/assets/emoji/telegram-previews/Activity/Performing Arts.png deleted file mode 100644 index edbf6d7e1a0e2e45c9a546b90b7480a884662b5b01bef7f078ec043ca62019da..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12455 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Sports Medal.png b/shine-UI/assets/emoji/telegram-previews/Activity/Sports Medal.png deleted file mode 100644 index 501604a7827390daef7f889a85c024590899deb92de4be033c68b55683f3bdb2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9033 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Ticket.png b/shine-UI/assets/emoji/telegram-previews/Activity/Ticket.png deleted file mode 100644 index b58c63e113d17bc71e59051e81882dd6bd6cf27d27ecf7d4c80bcce1b535dae1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10296 zcma)CWm6nnvm`t?!QF!|5FluPU<-@8yW8UK?he5TF2NlZcU#=uWpPa)Sg@P>58kSo zGau&Tsp{$OnP_E2DGW4HG&ndo3>j&V>c49I|A~V1@7>Szu*?-kt9bs-4D7-??S!q1>yof|JQiy z#U_b;GwPL8&cD0ueR;d-4NQE`$6YdgvLW}llN+H_*+=Z1hy+4)OM0T5%U5IGtk_kV zMD28t%9vyg4Ah>F&Z%6(c47_t|6ZI8zCzy2#8aAyi3C-jj~^rDX>ncD_viZhAx6PP3K6kgUb?sDTd*IsJwLN%qGYu;+}~*hpa}X*^W%LE zLjUD+?#intzh3F4f&YU+YgXIVncQk+Lgzm)L{-~XMYmA>1rDkUM_$tay>f^FzwQ)k z)DWl&E4yqF88x2$D4k+p&Od5D%2Y2qV>yNN{t&X_YC5h}%RB%6nc9%3!2N#|4a6s(Cmp6lZj5x#?4C-!^VYt3F9I?bEo3c(g4S=jcH2M< zaJH~2z4&Y2Ac@ayd5LN8%b-tLsmCAKk}!S?VR!{8RWD#z2xf>YQ@?IvC%k_Zp1xe|xt5=*0P(}y@+Ka7Zn^(^ zxE|l_=Mi*zcf0C&wnM`FELFknxqZ)!F04N?6X;CZOa35uhanNi!OcTN;y?eU{~lY1 zM{o<4N@|)#<>V)^zbYR-XC}Z2x&oLNPn)!#~8OF z&zY|Rcg2(`Ei9NQ1AQ1C-j8_R9?K@yTAI_(YjdNny#@cSTDL0WUV! zqL$gLa&Pq@Rc6IotY&9hDTvyj&$71Zb(=$}M8|Wh_yy`0HnROYhM6OOR?-_BdzlUW zoT=5`TChu8xDReO-Jf^XI%=Zr)=l<@+NHt70m|%{r0Xf${*^c%Ai&fM9^E%v8xev) zrVnaE__vrU|A88=6Ia!>0_ zt*&c_iN9`bl@5and8E~M*Yo4|+mb?22fq9NO)ct<>hWi3zg#}%dmGx|zdUbk@R$0p zmMl9s-N1f(Ye{w!#Q1ypu_qCBvZ~8bgId~2994C(h*J{~b*omBUHYO4ildp%<3#6%d1nzRYEDW7iXKgH7r|==B(!(f)MA zMRIr7Sy9Cjq;Wuo9!Kg9r?GSx)hs9&fJB2-4<1m`5{(rBTU(QUhH9^e}l@bs2b_CK3R>NQ? z?-8I2mFjm;cokvg-;R!>`T6APjdRfx0hBaB#f)i-m;2z`w!h;e0DN&yYbrdQR35J$ zsbCrv?0v78#v5|Ay!@$oi{?%D2Yzne1Lx+@#_wa6qv=QWCU&Otx&{?WSU@^z0535x zc_k*^wLS?j_K1c|RB{u?4>J}s`yuR4QrFdyN-K3=R@8-OB0Qu!SpT05pZ8*b-)k!M zpN&>z&5tK^%zir5C_pAHy9LZOj^pNz%L&3j+D`AoUHb{GoObtV2*oN!h$3p=D^|{! zSzs1)@~c*|%Wm;7*%#CHUqyrEb&f@@8VMX_SZ06EC!E!kx4L6|uLIMv*!U&$eTbVk z$i~ctDE-YzJ>UN#UcFAqp@gVn7BqCSdbQG3_cPN~45q5K)s|KZ#xL`8R^Vgrf#Z)m zMDs#1&!E3vZQ72fwRHFb@xE^Hlj4NVqoL~u96JB|F+bc8G>{2v?Xr;#3hswX0m+tX zCv-hB$IHO}@m_}Bzg}-J1KZX1{kKvmK)@L6==tYF{Pz%SH9B(FoLl5+Zb9FB3GZcZ zFP7i`k5k9p$&hQx5y$yfv%aqa32&5bbYQO~JXgXd)#cxdYOFR`ZEU;G6tDgaESo5v z5lvSR=${UcJE8Q(dK3#vI!sNWqDk`@`x+ic75D+DYjO=-622+`*JHs{-sF?7pMz+{$qW!WeheWzV2Sk%a)BdPl+<`vLLwR|aFWvqdnRbgQ`iTD>W(37%EUR9&HpGh- zE<^tjWxe628l|mB?eX`$-k6jq zc!NV6wi;h9UiOROYywo5+Ag8KC2ARM#}x-r z1&k6(!KYX)ScUi*d|8moH>o4nnV!2mKAP1=w^`EUW(F2t*GLrz=B>83ecgzpxICj9 zum&NFC{!%IjY#hpc1x+*k=xH(Ae>&oGnFJi#PVo&TGdrSim>tdPY?Rd8<|4{-r`NWPAmKZ zY3#7afQeff+rAG#J1!_RS~7Y7cb`dX&bz!J3ZTqP#TVU?Oz{P5l4wH@^~Sf#^Twv3 ztn2QGC>&%yT_|H5A^#S{q;{-w=3PVP;HHPwwvujsP5B)}f-{7c04p%a*D}(boLtFJ zGt4_&WmY)=->8n@Bo(!Xd6=s@>?t!d1q8oSi`~CUChA zh-AV$Hu*VfZAB3UE7R#Q$D2{glk)ecrA;K6EKfl;#prsRhu5qFi`qpsAg#E!ofL_C z`9o=h4L3yb2`Z`q$0ugK4NC8MT`!5=lliSl$@*v`bKGB%0a|U3*@NZflP1N)^i4AQ zi80<%sRci47_3>_9~!N7S-kv=y4(47}n0J?rln%#P5@BS=Si2WoksKChg6b~* zDh0!IaHDxE@9K!!_ILzL_-IuWY@IKtZ!fE#??nn2H(HlD?zPl1xu1OF1iS^JDhdY~&es5jBrxDn;xE>oEe*$g#Y@l;OZQi)1=82@Ip>XdR|_~KHKTZC_67~mD53$rct6z<0gnFYK<(o zGPGPfL>S{BC#@h5A=DycD`C!BEOo79Ey0uT*OlODSz|d`ke3tKFWuuYFY4n~WxUbC zAh=?UEE5U_gPD5 z7bAFH{ogZp$UE?&)I6yS`e2 z)6_<%!<8DXT!GtsSM9f-uL8jg6GU~zMVu4A_WZS5Zm5@QdlM~K97?R}(8O4BcrE#w zjyDH7lpG3OS8%V|POsx$4|V(+-zWnfLsQB>%Wwtu*FAzyYuv6iB=CoYqTzJ;R|`ni zeg&JQPdb@z>1z#$6`?JxKaU!ISD$evc7=XGiO4Y0kt9ZQoYq$~uxB;s^gJA@yOhEX z2WNPg{OT|vK`p1oS_M&_Br#Bz8)ON6MiUURRAXFyk z8*LZ!IH?(yk0Xl`QSsvIaH44&@>L?L_Ft&O}T~5s`IC&l)8yH@e>cW=-9mNy_NvveWC!$%M%lGtm-NWewzv-9&--P9pvW-EFF?^m zf96vlJxhLe^m2?ouLM4c-6uXK34!yuMRn1twzuxvZP#|E$^Tw$Jc~A^b=X&S)+)$8`!QY=64G-@KCnxJitd!LlkM^Cfs;tPD zDUvu4`=T+#IOV9TO32NRZL}zVDlqtJ`mEX-FxVpUN5t`TX)HP4=-vxlZsZpa7J=6< z<|&dt-?px4Fy(ju1N=G9zg(j~)rCk_aiT7(jFQP=&%_u{Ip93h&bKqY zJ@Sd5R1bym0cxbnVg&ClTD`B>UA>=kmws{y`}<_jYI+^#9=16o*je+$651a>)@=_L zB`z1HnfAWgWZrEHeb)CQQ!9N#P(lwEOB%$yoO%>7jEFtl{m<9=g!&aVq||G@6hGlV zS#`ni&63Xq1iXu;H9ih|P2#ULjtKyR`|P(0sNbc!#|0=`xfyt4Ut&irdBDjuP3rn7 zGiW-kr0Z@POPlkWv0C3vXys)@x=2jOB3G9GGS!5bmQUAYiRj#UQwT!+n{N)mo9*Su z>8jfksaQ&ANTF9CH*v-B7-}Sc7&9U1^y^noj^Dm=ZKpFQO$23kW!q_K#y=#znTo|c zTq4Rat5NRl?xT*xIDlsNK;6H}moyYgw^F9*|E-~Ize~uNt2Le7HQaO>q&u_CK3%Hf z8ukm;sN%ipdkrknwu8D-usz?;9b}`cdyY8`L=U#T5f!%|mEn0EmOS}grUnNU5{Ger zm8gL!721Q!Rrbv}0S0_N@2(l$9}(cFgnF)jr>2FdwT=WZNvVL*_>NXTd|a#h#xRN} z6LVunnhIp1Zj7l%aS$+{{DJKB9=Z@+Z7-4fE{6uDdXT3sl2RaHSL{wce{*GCc^kPk z*MB?=49F#`6$&nIOBu=U2qSaI9O&-##)#YNGx7J@kCrRHQkP^quHX4iDl5ksWxdZR z@-3ltTUXq|8dbW_@meIKvXWd$kT=rw7a=m%^+eq@f9^bIM(}HAlaIX+*5(6)3Gw$a z@U-x=as-98xI`IeT*cuHOM>zELA!h&Um~93St2a#&xOhuHSz=0`6G=7k!Bc2QdP&t zH2Dmkm0B+bK$Oh88u@dxokYfa!9sxPAs%vH1EyvXo%M*U;PXYOa_v!yQWn4WV(8)$ zfs;Y_a@Jqy_iF=Zy55dU{C{I2;=lWAXxCHrsD)5m61$|F_hqx$R$YL*hN83~a$3G-pWCZj=DT@P1SW9eyM?x95g#%7?hVHWjAjM}OS z$Iri3^VxYa^aV$CI8J{&AmzO7?a?^*HQ)LiHc6grl=_Ie6OcNzzbUy z6J2-hcLnhBws6vzeiVkUs$Xqm{W=^bQBaSQSwOk6WUiX^Y3DoSg%m}ZI8H-`Wr0%! z6OS!>KoU&_X~(tyjF?gdI6ru@^`)GSjwDp^IP6Vo4b8TBzP5Q-TD$;XU>k=OK>yDU zVKUn7;uu`>1Y;O`@0B2eYepZfY0PF(NOsJI$5}sTw*H_^JRi5%c|&^;c@!{#OK_Q$ zZ6@<)Q9imASC*sSi0KBPgqUj=o9Yki#x9eNsDKz~&`R7N<6|a-8;}}8mOIi~aKptW zU836=8tm4Ku?-cpBxxCJ0p~(uf!|Yp zL%JXYGYly7L0vY9O@_mI{+aut+UlQRoJAWD%iI+lI&Y15rpg?Pu#ZOoCY_zBYSwKN z&M4s`=&mc^i)ejdZf`S6myMEbF)%YJAO5?CfBt;3+c}{CZX)`tdit?p=1fz{ z(LO*y;8;zQP|Z;_fhI~{u;yW%;#vo>!b|=T5P8a8X8}86;Oq%i%@U(7D*8MO9PGSV z{>H+;ALX#<#x8}&d3nu}`TAyK4heqy4oUb5O%61-wndsr@Bc{<;eY)Z`OJ^=rZ z3x>Es4@29VMR8cLNr|1cl?d6_6zvT@h`$XJ+;c7aSs;szB~ab= zzn`h=X#p(o~*4wSU0=wdXgs zl86V%vC({D?996mUViSxO$qFA!pO??HGXEHf-@8#(Zj#1l&Ih5-}|FqDzXDpQ5vVhFZl#*w`-+ZyreH>7pf8)2-*r{BPG{OHR$JP6z?WdXYd)e&fQ^sF z&B-A9?IhRr@AV0h0>^jKf&ET%p{a3;R%Ml3MEIg3nzBIuFMLc9R94 z31g{p-yG{7;4uQ2|)&${}6DdZs(-34XaBylhCjrtd;_^F01@p!2a=ZT%e$MHCeAQ z>u(VrPdEYfdP^{1_n}~M|5z&ZBc@GO#so4J;dyJGiYWoq*;zfCFmxQa;n$kwO(*kUhzHAPfZg$V9np&VQ(-9;N#qt8f?tikr#gz6mNPAn8 zm=X+s8X%;>Bv~UG{XI<<3*=4|=8o?pZE`gQ15sc15Y zlG+c5l@4n5hNRd;U)2D7C!E9|-F7*)u|G&f!+Z-AluGJp-j{za@^v1q1$P@D%M+sj zIj(4{C3Ip{qd8(AOYEj8+q$}r1t8psop`HRRqWL^D;1ML%9F%r9f~YfRwL$$B#aoZ zi_+$S+t05LmqS$x=?mH`^47;LeTUO}Z;Jk|!5miPisiHp?cN{br{d!%o;?%D_=C(8 z`LNX><`ly(67N6(JzN%saw#-#az=_oGH2!S`125iPqq}!kckh@66+49$#&t|Zp2VU z3WNl6Uuo;L#&>-#likL6yu7U5tF<@rl4|puX$^FYZxkbvHO9uA()KH%bfpy@iN9Lz ze(0vwn7&!KV8nyThzw+f6El~fQMP)O${)pI!oQRz1H$RJR!gDq8G*KR3gLog(*YrY zJzf87ycfomtw(s>PZ@Hwn#9}?F0+xmp&hn2pHO$1AF3kJSjhC(O1q^&@p&{Og{ zqR1S5esE3upokpa-sbzqXFCXlCmuPPh=-UZ`eZ^RaIO3yD3z8N;PNr+QOU ztqSy?aroXHZ%@Gsg$4JxIQf4d8=BIj9=PRUG8*|KQD$$8Psv;ejcxW42>U{VLNmndhTd4d zF|tV*scFAlabG>NRJ+8-S4(iIX90@EaFc7B^(84Pf48+F{$ohn^L%ROU_GooG<2vz z2BjfhShg1sxXK$eMUWmq#6=+UOhjb`vBZOnb!|<6+`rrAh#~QPlD|<2Wb`#<>;^mR z)t1;CrYL2e7R_6Sp&nzVg>t0k-C3Y$%Z9N^f@ahUmU7TVhjP_V`$SLbsnzbq znt9zGsO^gL9ZiU8OS5q+gTp~;1DFG_BpJI-AZV*)6SHm`U=k58YEu!iuE z{ua+X=*!};-_c{KQKK>oOQ%k4P6u#<3T1c)O+%wh3q_T|&@hQFCgis%4!k|-_Co%v z0k_3J*Q2k^JPWB?x)=lUA#Y@nV+YO7Iu5ZI?qP@zJ=?UFhhKYnAz|X%iEhG=_6^R+ zNgOqiH=xzSfX>fmhKh#5hednm*T=It3o5 z=&#>qFr&?=W`?LR-A8!NH2zVt5I_0JnN+L(*ufvxldx3t`uGnf#7Rs_BPU*F-<^~Y zFORC=I#MlTWT{ygPimP~s0|3kVI~HYBOe%3Xl&4=wT}8!zGI={eyJbkddb0JBKi!v z^Cp*Ysn&wIGlxUrwL@2!0s;ou=cDLjRF`R>`=#W=b)X}d)Aj5 z*;2vQ%w7duP-SDP$mRpDt>)66rC^H#>#yP}2Ip5Ec4M@39$VX|tJeJEh;yTo?<-)6 zubOD#QNs$)pLG}iaj&dN)?T0NB9+Vo?lRb;{`-P;*B5tw2^r^wHWK;VM*OeYP!-HX z!9SE*2CumPmL{woc0>+uGpBxyJ*ahEVIr^AA7&JFgS7TdiwJXxMDtEkwr^^$73&mO7?p9u#Wr?k^!yGM|pr``swK423AL z=bA2OpSPV1^xn)mZX?c68^Im^WW%>ZpUs-4QgbP`di(b+%mxQxx@ZhVT*IzM0korZs> zu%$NoTfjTz*Udiy|Lh3`1OL9ZZ)GrzgZ*$woFQbtQ^YSXMUi~qMnkXd+Ox^~VC)H$ zG{J>OcstZ|oB6z_DV)_AA3eiv@^^CSBn}B9QJ6PFh4z{2{1s!9CxF*;Mzx>oOwYzvck+tJmmBJ1Tv?DZfFiv!B( zD8uSFZ8&kjbnAT?uaV=sy{G>>^cZY|=?oG3789X6=o!cv?r7kGuU5)>gq1i6OYq%> zSGs-veSMoD6Pqa%NbA^rhpMEYJ(SZ*3Pk z&xr=K-lY4-+qhWA1GCkT%JWSunIXtZUzO?8Xp_$qVQu@_m)f=y>7&W50pZt1nkvtMvJVw^ zqg87m?WYYLW@Ze}tpJ+tXN_F}VYv)DllNDj**YUDP*^;f$NVC8{b7oL{?4#=zntDZ z#p(}w^yR(SnT}??w!LLFFXwU9mdm)ur)EagUZI(a9loe0B`PuSrJ>xR(CMk{$mB`f zjMVM&?Q#wxHxH@`_=lhc(?%-@%)#5O{km>l-Gv6gI(C5P~ z(Utj9rH`=gD_d2D{lPtJGdFiQH(`ioTy>AKdA}4{`%O&o$yQZPS}gBuw^VwAXAjhZ zh|q7c z&`4L*u(mVD{vdMbIvG_+OdsWPvRM%#brl#o9Q(CCz-;Kxiq|++-g%bF_!6|IGgV#G*sPv#JI6`AG`T8{eEAQn|N@~{DNlSBTV`!E- zmwzv;(0tral2T=Ga}B9s&cULXFf}1}RM(w;jZib z%_HC*hNJGrRTDOuN3f{CKh04t0iKj+o;p@e@q+A2pdTrP5w^$$717O80{l%NL`c>pUieQ*&Z z^jE}BGdTfZKM@HIz$e^YFwux>zW`s4aSWl9UW`gqvUyAdp#}PQGh&>q$yOWz2Pu94 z!*D_kqC@Aqy+fA=g2fMFO!SytEB_Fv>3k4$5x0&`ZWent!zHWG7L2(CK0C`15N8;H=|c#-CRvO^f%B}Q9u*^sB-20#gHxDTu_RNxs&iriO}sS6Ra_dj zB#`B%06QjJP*w*LL&9J(SAc@@U#uz{4liaE8n>?b@rcdBI6=G#ShFo}rEWvmf1=`o zNj45G>*l~EOAnd=5~BtX(*aG<-Er2fzYWBy9@vu2>Z(;^smS8tUS}tmMzo8~%Bp=7 zgZ$U?mSa}QTvUrld7J!CktcAj zA^uA5#=~c0BllZvE~mE!_v{<&8uJ=)(GXQk-Wc)pN7mU0h3~3Oa+kQSX>O+E_FnF> zR;`dz(*EC&=u7_l!t1!1==)g zeu-ZgRHi94KYLdYUvSxzb&bR>8dArkub_))nN}p=b;4W zc|tS`zLRl0RSZ;rj7!^on^gG=5)2=s=w^Nv=&%01io(&^z>vJdv~@-6y>6mhl;Vhi zpB6e@oH`VF89>szhRAnyN5Xsb&0@sS2x2Kpt*vcc6SWJl&VZz8`2OH7*Hq`)-X-27 z=mW*_lm>rb%y74!%0G7&Bb@j h)Bi1=-lg8Kie-b~8bu2L|1JXIWF!cLgU9C0cuHlz zXRsN22Hre8(tu^~2#m^LkB!Z0qsAa%Kp-L1Qn#dD)O%M|*PfX-Z$zB=dpB0InoXP7)uH;8cZM zuC(k~7T$Vx6qyQ-MEFzNF=Ho?>2b6YO#Gn}fP!4N4Li9L|LyPH{Og@Q_{iqW?y#6_xPW;5L-k*QRMY0X|gDj3Gl>ijvbhUBgo6-xt*B40e&n3#U zB(PPDu5*s8=9EMX)+pVmEO!hML4ni?Nn)|7qgGGo8>rD})DdGKctR+MA>a#7%p<{j zLh$$^;EMtul@Nuzr}R8sMUGo>heZ6|i0pD!?#LSHH?H}U&XLo1>*FB=d8{XYVmqy^ z#{Hj)ZWq<()N7h#sUfkDrjayDN$ZIwO`=Vl7BOe{gTfuVB8|G0Ml)l0pw93>jlRA_ zhKC0^^Q<9;hx^LgkDgHE6yD=~fiHUMd!D?#q$`~{I*TiGR=T9FCe~V0{N?Oe$VS(eD2nCd@7?9?xQ*njycy92bk?)!eKIqsUBPYoveY_VXRFgzfkF_>tr zzfbx``=!zB7gtL~>z1O^;pFr@D=U#Z?+&!PN~30|*E1S*OT8xawVG@^qo1LHCMalB zd?*OPqtO#Wj~Ep1d*pc=Eeb;H(Hd&eKRSdpPD49rdwE`$W*2mMcA44fw&`|)DRR&d z$-UqMAC@`&#W#GKHUi(z0eGat{-6R>5GF8JUWweY6D9$+;jTJB{1?wje|jj5|Cei; zeB-7*Gq`S$Y;@R+o_VGj-nh}2{+1v}Q55vL1T(o^SKjI~F*0Y?1Ctk50Qo zFE5}_gh;EEP|H$cRD38`e$gxNy&k>1L!NhOw^wK{FR`?=NV~m^h#|2FsE8ONXeA@1Y5#DhNk+(fQJabW$WoTxaoNv?yV-`@c>w*6-}MI^?veb_&D*he zpFk#e;su~|>sD__HeP_-JdQOD|E2p5hGVsQecjgchw0{Bv9X|NpI~SSR1!t*emhN(ptX7jKb(!CLP(}1uVYqu@8*bwT2s_bl|E{YJ#t&k&-6QeacT5th zFE1ba*NiQ-vpy9<+Q=7P_s7g#djm!J7x~_|y?{@RC&im)4;}Pkqib&Hr&uvanv!H0 zVg>6Gtjlmc!8uDH0tS^xBmgO>5b>Z9C88Rtd(u*qs+RAmL8A~=QLX007))YF>Iv35 z#6YwVd_l}th%qACWA?;6-7YaGwpWv^*TJa+l#;Ur>{@mb=O|s2nu4Xh!rHUNa8TgViO0(VVuD_!9)wjAQBK! zM8RljXjZ@0>I7@7zGGaSd@VP@ssO5o#)w$f1R&00h#-m@P#j_`l1HosW2}S%9T4-P z4{YbR>-Bg=ebCZuTATrAEdiVlI-a-vc+m+jUg_Akec)>Sf8I11|42`*7kyL&usZqg z+unCUV)9Sa)3~)cC~<6rn4}oBQ8a*6NL)%#qf1M@I6G(D(xU&3kp{7w2awbnu}ESN zYcSR#)|8WDEn-uQjaZk0S;2^|M!jo~7-OY$lo$h2shJpssF4^~g;4GUqh-)7MleZ+ zbtz&EQ6q|CLaC~Vp%j8mh~iBVm4;!m)n^&s&Ma+4c;nBd&*sm2Z=TwLVT$-rc7pr9&;juNx3tFG%E~92HM4bOQ!EDhNkkJv zRGcWLuN7;fXGGIz(%;vIab0)f-g`NC?_$_@%v%5z0~U-iYpeg13UWwdu`$6oSE>x7 zm4OwYR3(b6sh4uqf2)ABQb%k5m(pH{NpNXWevUI30rw$WV*B&`=Oom3C9U61A2Am!`n0R}vc;owjuCe&9rrN*! zP;J8Z6u>ifAv>lBH||*ZqrMtj$2PlSXdosb+H&1NM5-^pOzAPt? zo^;WBT7CVj+cJi98gb^{1+#HelXdG8*>YCl4xmN%i2tQOeO>?G?6_(1(+@=m?t88N z9g~C`uWnt4U%9$Dki_9Z>r@>^6f2QCc7?cqZ(%yI`}F{yZWyMO-X#xC-F1x*D%-BQ zNc#VAo@0l*7&RCHF&1kRjCF`j5Nk0>g0rsF`OYB@uu80OJ6-j4DmxH?7|U3D&En}A zQdbE^)^<>06P!zMS%L;7T8F4&Di>B_>33lrJ_bZ#2J^bLJq-h@`V|6)miwTQLgEY=E1n&DhRlH_YDC90g}=~!Znr9CiI((pv}Xef6=jDe_; z5F!!9r3tQ?9xW}*AS557Lz`o_t8-}l3m%y)ZZ6_3Zq zOOu+R-q*yYS!v&G5|1A7CJ(x|_Zj_l5z)6^M)K}gkpbkWYt^&3@4o4fxla1u2P3NUT(@V}F&L?aNYpH`|T2BHQK#nv1yODi|D zj0LPawE(b=s0IWWVu07WPHw{!OZ_A-D_?O9(dRZ3S^( znG|$l8}1cn6MyxS^~?klGwmy@7v z&6=tt;1Ee5NzgPSh>=)s&dv`M2dqji8V(eNS22mYS{=1*wD6|ZNRU{(;19Pmyg14H zb)b`=zx6q8h2r@NMj-yDpKOgTE*G6%j}~GG5yUuh~B- z1QQieL82n6NGt`Ul}{gIIq5O33Zr~&ox`RXCP_XL|l^ zE=#G^Q>nF5)@>X{#OcaRPSN9dyT9)n06V6>H%Rwg1u(gj0EoEFpIXj2dhEd&lbBi@ z7#&5D28}*v8YA^c2*3IJKklA;?d=qAy^Lg%QxV|yDdKZ)pb(Lx?RF#vtLi~Su>w{E zC*Vv8n5hvYb=bP4-fvJF@e=Uj@e&9U@k9yrcY1kZ8}9o>!{2KM=)^Yc8*aLP(In;%=MJ5eqYs{ljp2UA z&fiKeifr1lj;!HovFrcm@4qs=;D*~NuD^_A^#a#zEAtHk_jkL2=)D#ih@z-9ASD(g z#-Y|BVo6O02G52c_-qsu*2>q?P9Xg}M<{#Ne5YgRt z-6toPi+0-T|IdJM<@blEzo!bC+)2<0jPHNWdpbS7w)>yMp)gy| zTNjg>+Zc-8KfLo5t(RPTJH^f0v3h#8&Fa0Kyr9#wgjhf*A!J1mOgR}9dS$J_xrAn4 zMv@s;5#`gpA7TmAv8wC+st`)G6NATlk1>`cO-a%esjjhxs~bV2^nkqgAc1bTV|$$t zv()ch^#pI;jup@yQ-nWwg`2S6|L4KsX4o)3Y#IY~o_p1$wEFtE?~eU`=Kd4bnRMcH zH!keGdHX}lDStm3pw|J{-f(+i23l7y%@%WaeEfEsFBb9K%P!{Z7hFVAOUxNtHpN;k z-Kb&Zv+sPRxpv1CK|mQVuWvKCE6-tRr4Z{Qz86X_2va8IL`w9NP{P(pgI2vxqh<+f z_uY%l{PJfM8>%?Fqs$H!yMl zVB^P2DB&HiX6W}{mVQK|zixEhXxMb-I@1_;^88m{%E%c*?7izivHRA$lWyTY_6r~B z{ih0oct{DF?`wo7Cre}cruQxFN$dQ~;*t6G7eDe3X71#CIRA=gbIFfBkJez_jBi{Y zYlE%KY5Z^R`ceCVcWxgVn4F?_^LDJ%hVSk6)Xyz-ZO>TEbB{Gr!ojA(+obf{#TaZ_ zr`f2{*DRynDiXj{lV47{C&o}3&sdZ~2p$b(0Hzv9(iB%qOW6Cg`Bzyr27;&%+5wG5 zd+h>*J=flFv^}v6ckS&IfAGq_7im{+GfA;y-PUoxc}t%i*)lAbzvd;3ZXRUMSMMpl z_K91QWzQFqE&h!YV75O*B=jK(pt9s)VjJ%2o5C%A9j`LKUgXQ4Z#2>i&U@xYzjbTB+j{9%F8`M=p*7U6w}0Zx z{?5PtLgG7oZnQc46L0)OR+xBr3H*ngl;3%PII#`)Z~mru;1w@ud?GBgUp8~s?y-&r zf7Yev$l1?4PgHu+U0E~^=kvU`E(HIEA3M*?{qo1=Z+ppRxx8WGGtbyO7}CU;{*k`Y z?X*%RNsL9rfKpCmx6AS4a~wLJt)}Ko|KkLNq1J9bd|A>ri8V*~Ye}Nfa*N@MajG{5*AyHra#7oY#%_Jt@h`r*+ z$2RoQXgJe1)Q`=QGFf6R)|9qjb&g`*VR63AefKSrB|?@!l3KD%X*3L3;$U_1W2n?m zS&&tP9$BqM|JVq9BO}xrEkxy8?0{;y1D9qNS)S|Y%=Dr;c5LNj@U_3tLvuH!iFx_v za|Zk~FC8{x=Wj6=yzmkR#z%GU7k7m(e(2+F`hgRjTFw32*MF$^5AWScc%+3~54$X7 zYFFtQyy?$+D<8X?zxbEWZ5&;AaQY>O@7&esuB^nZ7jDtb7oH_q-Ac{o+U^D|mhzWG z!$nK&*f%tsx}njGtdY@ZHULxN^|q{H5CkJa;d}H}I^4f|0U?s5P;){pgJz?|c61e% zsElq1f#5x;(l;ki!ROSzIi-i*vmlt)|_2 z$z>z{S(k2b;}@SV8!tGYxf65YD^s5_yKnibX|MEdOIwYfx#rLEzrJ}p_U2u1)y_v& zH}r_=f~IzrzVUSvm`mPWe09fF<5RuG_J(8k9e(Dad-qC~C1LZ0>t+4=AsK2J$-AAn zc(Oa}y%@!^adQLXECWM*rR(V|YA96@RQxW z&VS{KhKNft`UVGRj11Bk>@O4Xlu@vVtU=Mf>p5{~hLy#f2lr2tFT{EybG2lVb+!kwSFL%#8ee>6w;ot%@@{l~^@U;Eap|HGX}C$`~!>F)@Wk9S>ASit!dd5^Y5PZ=X$>9FFMobkX6IH| zUKu8>cS~PAal{a?#+J#c%0qEULbI=rk?}gSCzngSM=e1;K?`CmBMH?=(9%GofvBEZ zEhDL=r1b{QmBFZ*a?+(Tk%G`&&heeV;&PkzQlME&^u@2-#OCui7;@hG>oqk<=PxG>s{Xwm!Bz{&l;1H(<|}oU%1EYzhj?iuM}VCYi4h{`X>Kh{_<=2{6twL7kBP_bV?QN zqj8a)JJHFV)oyt2wExSy{Fh$0t^T3BOzuA1;mxXn8q?2R&O@w8yciGI7nk) z25{X~HD>df319za zCoV0hajwnEVw=`bA0c{(25U^ICJdM)V|09gf#Hm$`7VMIivsnO@PpblI5c>V%Tns~ z25G%c($^wM>t*r4X_FsAz@i*KGDFCfL;KrwJE~`HN~FE89QW^?6iOiYw|63zbmPwK$HxEwvS z$aw=zA`xROF`CjP#ge3ThQ~*^@Y!ebz&#dg1J36lN>D8$X8{pQt*=IFaFBuFVVc83 zv|0ld_V3G8FM@`E(a7?0hv_5p^m5PM`=%M}7g65{8lqT(Xe67NKl1Z`x;>q4(EIBh zQ}iCI^7Kbt0M~89vJ)SIzG}SRT)(`cbZmk~7a!QYVnXhz_nE!N_Ai{h<(vVAwnJQbBWOcTlzkyE2U|l3pPovhwr2&Hh5u7t*^*U*zPOYzxTC1NVNz44f z>4jaPtc2Kq&oml52k)QPle0zGa;BZ0J<{C}iipb^nkI`E4>fu3$wgSv#s+8~*Hc9p zkLoaw_5~+*;#Cpb%5OY$(!71yn}ZsA96YdSPM$1gW6CC{JyOmPRmO>a)m3&gRa@bmx2P3$^tj`S(nBlew)*Uj5Y&+G1s z(fse_mWDG|TypuDzHiXEq0tuSKVw6gGL$NxYb+31m|NycU)W1uJz;!(N|siIR{}U8 zNfXj~oo0VOjYbnih~8I8eP#ds$JoDTmS)Yc=kB@U{#{3tVAKEm_jdN)@z%>ouD>1s z?I7A?X?!2oF3G9wr9#*~MHJ8pFq5F~d{zC7<;BkJjYcwl+2vb9(g?OSRO7shHd1fa zh#E?e4ucqB_uU6M_`o!q&uYVc$-`I~oqA^wYrZMfAA&WQ=kGj<`5XUpmn)~LOGJ9cV{@Y^q~y@+1- zv$g)DamfqM2wB5f<1AaxS;xAKb*yz|Q7(qyJ$v^Y!rI8-U=0O~7_2k6dPcq3!X+tI z92x@CCl+|%-s7w+^=Q>o4m~(q-1D^)N#WyHw(9W958gVvQk9uR{&(z@U)|!rc~$l@ z+s*%Hz2REtU$WkhjP<#q=NTBvSih-{;n5aZt#nN_7IfP^jH$9@#$a7Sl4clV@m^V& zD>!=S1T)81utspk>E1na{>VK?lN`RhJfyGwqmMIF?Zn9c&Rh|zD&V(Y?w&`7KTn;W zz3#03u=Tug!K&%?Jk7o)ThAGy*-BYiZsS8hq->V(p;XaH;%L+w%uFxw;Ql$HM(UYk zWw{&fxpUesoLD9r`76`ZH%)$$#mB1;_$fiwu_}bOzpS~=b@TVA`W^j)4bC`s(2tBa zOp+KgIyTIP^#hzZHpBh*O*1#!Mk#a4qw89nd;SK728KC$Pf_`@}#1xQIP9ECLzA-N7pr%y0dRCg8xNTF4%Im&9X)i4OMq*1?#Uy zld52yFgxw^_`zb?rF_9O?7M&Wv*A;ZmrMCW!xyybA+5gt?{6_5ueOM#f%yzPGVE&s#6=i7zK(|kb>&n^ILIj{C2EsD>M zj5X}0O+$9?o*C}Fui)H^#<}34_4GO&rVk&a(aabeX~n&Jj_Aobzt5d9bm_q_&vvfc zS=A^#Nr!o|-q@~jbaE$te#vw6KujOp99USV#Y0O1&Wrjb|~<40(~9F*!;6e!W>w z3*aG+sVU<1*S|IC1%9M|u!gpmM1led#-#*ce)c5NE2uX!wD6Y#T>114_`%0pFC$T4 z`lEmToO;66k&Ri*+q1^%Dg}*2tkPXsz;_l+t*=23{c)|xgeIN>3(P!O12F};;dTlE z?JO+)$FTt`8^%$@#& zKg3VHaw|uU>_OT~n4lb=wk+oc-wjBFw$~#j;kMX`Z{Ir0zFQtgKG3J!4wwM5W2!9k z_CCIUsO4J5MUupXS{Cfwai!xj=H|degYl8Cef2QCPK3NpJNIQ@L5M^}lf>!Zh~3zT z-Pa!O+3r<4!|QJze{!I|PdWiq5pSG$MSUZ;bpKuSq2525`4?WX(KZKKHt#0*2nY6_ zx;J`*8%^pZH}yTJGZq&Ha8Lz>qcyQxnSswIzwj+kT&Xk@%H`9 zw3j$zond@q#`uOhy*$uvcL|*?ed~tVuxS8rEX>X^H`lW&2{ClmkJO6~&KL61>(FZ_ zF2?QJbt+1}xKzdQiGVHS3HZG4xblAc6};Mc`S|)_lebdIxdq18V?y;-BtS7UiO z=g5&cnyr+Pk+Kf7?3ORvOvNOKT6&!>MYl`rMV#@}T`vY7_1GLMzwi-1BqH(Q-ro;{ z00hu~wK4t4BqE>hKUO@<5H0FdNCl)Kz>j_)7oQbN^UYuufZjO6)6&yMk{IR3)vz=w_ zP_>vDz_{e-yk`IP!v~h{eY}MrkC)n+g7B8J%#I<$M-)ZGu6?*lL=r<|z~aeCYQnnp z8AD@DM#uUY85^L}6?Xpp0S1O0>o#PZb=Cm&hN08$((5cy^gO+lg3v24ra{z<!}M`s1YMpRHH;=tusM$dcMPp15q%1K0;Ss=O zC4hEYGn|px`9(LJ4BC3#p;1fL6j6)_&NQf{O@?a`6(vXnEr>))s?dr-aV;M#7^5Wt zh_#4;nsH>-RRn<+Youb<0uf^|W%YH81+9UUO^qSlv;VjvTKnPlf{a9Qk(GRf_Tet; z*ALUz*C42`I3r5Rf|6@bN`5&bIH`e@?_1H5^|or}Gipi-0|^!XL&b`#f{>t52}F#P z-Io|47$r3@FxW@hh^!p%VnEz?H_ksC0?>*8E2$YeZQ<*?W*O|Cr?2H9S}am=MGHe z85&l4MZnn_NiD7F+cQ?u&i;bqEZ(34-D2A85N2G(zJnV z*0Hq=o7Iq74N23I(k#iKRwJ<~KJSq)uTW$OMbZNcT^lK!;H5|6YB(#^q+5&wn;Ftn z$m)*fSdCi4;#E;G6xS=+o)BZiUQbvs_<7?Bl1%Xl(ds2C99yuV3P#rEY295 zv0!Y;=V_Db;Sg(3?}@$g%$VS-W2$_pdWQ=%6lKGPwODJ)V^6FhNi0cH_K{&%NvP$t z+pAckq@-lL;dTnDPM)Wv3aSdC0>E2`h6a{nG=*7+iyhqR7SPJ?z?hOR$T=iUkTk)% z1XCThfGe2|F+%7S6ullXFVJp5%stxmXkHL{y^>4LlpI9HN+kfWX=wv6t2E%8z6DD< zWf9U48m}9sznPIi}!Zp((VwrFM((I08zz? z2#6wLFfPR;De4lUaR{a|j;3<<4ZiU7@&e!UguH-mfp$Hy8wj~47NHEzDz#Hmqf6O& zU-5%RsjBHtBNTJiQ7En(BkdLcEAw6U9G~azYnt-)pJ}-lPeR=O7?$z7#{zVFZIhR~ z$On^zs+CAE7;+=bv;#9Uq13$y^+raczd=ar*sP8u7MG-urjXSk$;wvLb{C_RU49j@ zlaYXRWw*RZO{sQLM`=zBX_}O0!!!)k1WW)A)Dlc$Fb<}d0=M6N6b-Ph&o;(t+K3KL z&g*zD=hHh{wI9EEx%>Im@AhOCfJ}k@GGqsZ|G#0Kp0mk#gLipu$bF>OGg4q!UWyo_ z*i<-nq=&ei!YR%b*wi5|#W)9P2NH++K)&22baH&VORwD}c5;d$Cv-fT_pm15oWmqV zDF`QISx%N&lDb1pc?MaGU>cFdlYy>>&)<27&a&t1jgB)0RgFZf!0fUKx7`;Sot5~P zKQoX$Z)zdm`&g)>N6pf21Gf|W_CEJEi@s~!I^#DE6)waQgXu*f6iUw<_MH@FPI@pU zrlTrE1Y7BaAQrPmvY|w(V@qVsfm!2~Ru!U&B^-f#i)mebrKdv@(IBFjSYG+84RG-$ z$9PlG5K2KQWQlNeJ_%pGx3JyFSNn(cin9*Tn>=+3Pr7`7DDc{re4|;DXPmuRVrru; zqnwhT&1eZRc(I&ZRF?7zKaPT_4t1lNDpNhH=o-JL=(ifK(sq_Vj}j~6e(FoDzF+xU znT>*{*9L5uxFO z%8{cg1AT_Xtuof0q9Mk3YMIikSLl~ijObNFTE+_{=%$n~wMDTN`F3@P-r9tg=Nz0` zlqIUV`W)8|ekkp;tnDiUXb)z3<P*8i`V>DQmz7<;=}BdTk8?S$vGrl#iAGwAz~fHNr=o>aS^G zZC)rjktpSfbtXn^T-yv~bhZi|>*~Z+hww;6z8z2PhSd;SE2Xj;S!*?MAl0s^cwtW? zu&wxC%fC78v(};#WlaF9py6MA?gYk1ml#=E*7PpO<>E(K5b|hWYXao%esi@^c_A7H zV+AwD)$CO)SMTbGrqb#0pGPPWFp*P-^?ZjQCVpEEJyr(7eB1BG(;^=8U9a`6uXE_7 zhW%;eqc<(H>xrnEczQg>1q_eHMP*wRIgW##;Hl9l@$KXEd%yAtD%yH_JUyNsPmia^ f)8py!7>@r1K$^JXBkyhU00000NkvXXu0mjf5o!!6 diff --git a/shine-UI/assets/emoji/telegram-previews/Activity/Video Game.png b/shine-UI/assets/emoji/telegram-previews/Activity/Video Game.png deleted file mode 100644 index 608fcdb3ab83b645630f689f14ff1914b4bc30ca2c45ea4114136690bda4eaca..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10300 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ant.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ant.png deleted file mode 100644 index c72cf2f65650a1a63eab3b6dae06d96c1e7277867f89f3b59c7be49b40a25f74..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11673 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Baby Chick.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Baby Chick.png deleted file mode 100644 index e5a805e3e02202872e038efcd57182082819c78f0214eff4e0246734b5586689..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8073 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 XUJs=m&bEV!00000NkvXXu0mjf74THJ diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bat.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Bat.png deleted file mode 100644 index ba7dc58cd35ce81798360f9aa3a95fca045ffe695dfcb50fe3671eb45dc70899..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10336 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 X)eve2fUCe!00000NkvXXu0mjfifjKE diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cherry Blossom.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cherry Blossom.png deleted file mode 100644 index fdebd4bc9ff1db5eaadc54b8a62a8b256fafc00c1b6c2b3c609163807556de4b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13379 zcmV-JG`!1+P)rfULJW#fO|v8oDlMEO92A+ za+8h53v`qx$G?D4z5dlx);Jb65MJb65MJb8Sd9;zz3U#(8w=x&_6(J3n5^t~WDIcZeC z`Fox`9_7M+!{1G+`MTHk?|;~Pb@zU|fA@a-{eGYB`*QL3@3$i20e|9M``4^8tDc=m zd$X4?b@a}=KO*~Np!@e**|Wzh2&z=?NB{Wq8yDthd-ArI%`I=to;^W8zaQ`Q`$|<6 z6($kcC!zbEk8N_H`3n;K>!YYPflVM3kaxe9(|>dP_8g4`7#N&TvqSouFJN#%3;{&pgq1`TOir+tS_t9V7 z{{A-%boYKM2ln_UH{cuCblE3CfAO!H`KrzDi(LCheM9jVt|{F5Q7a;%3OI+K?|A>E z!?xDV>5;zCsDE*-zWP;zaaXvVn~iJK1ciLD8;ZM*N_{>zX|ePL-&=ZhbKegi8=9^s zH{cPHuap1Z+E5?+C*wx0%+@vw^OVij5G2eFpdYXSv@Wo=N$3t#Z@o{Vz6T9t=dbb6 zMO!SXN4qHsm{tu<9Qi#*^W^YM6w+`w*Tt9B-u}`%zn?TgzSoP--o3i`wi{Np+R;Co zxPDo7!9*UNyD4IN3BNSJctHeI1PvguU^b3YqysI!aJRCiO>)_}MyI=kg%pCK3StB^ zT0_>hC>}gnxI0fe&C{toEL~H3`z!7qYTfsG1I+jIzwg{BAk^D@z|>loNFv*jg;fb9b3|=eZ`FUV^zksDK!ZF&G7z?Guj8i|XX0`477RLtC7`>-t}blJ<+!t*zYcI424x7myspIYbO9 z0>(h~y*i8J0iEiUQS?k7Stt+}V~xRxU=T!1`58UMAMar|t#R2U8w%%|+w0c+m56ZQ z&Ykif(gZEr{r_?E=6q1x$-1$Iebz;yr@JDVAYws1A^{C@_ENPB3@5j7|Z zs>q6HU#0r95HQUM){jtp^>7{?nUAut_|wU+z35NB*G~C+qyg6$fNXZ*O;KZ{#RXe} zbaIhg5oZwrF$RpSPJD+hMfAakqHLFI9b}}T2N}V)-5mXEqSzh4b_ZR_@ z<;@T?JPm3Es#ByqF@m}XT}-i&Gug(Lnxm&Sghuu}L6qGG%zu~-n4Fw60@``&pRKj2 zp6^H7LY9lcAQ(i-Mb&EIf(ey;8q~0SR@Ma(Dv6hJ@mFk;RIhm_XyhOmSQy~ej|CH> zQCeIH!0Chkel$QqCMPG2?%r>8|9*SpJ$7hbEMhGf5TjtUG&fRi;91Ep|IV1|b!XAcBh3cdtO;3I|L+2fE5o^K z3_Gt;*(08P`*a_`fk(V=_kMfu&Vv@n`o*BtvVu`j2}a6=)uCLUjSfV=1Wf>LdL$mT`+(t+gTl_83cKOpP30%uIjtPn9pquI z{(HCqx_`gr;BGAwni9vE)JgLzzw?}P8hv|CieHmUXxn1(cz(KjxBStb8Nlo0q&f9q z6j=aqida#}s>K#$#r>_kQ&9t=sDv`|5g`PRsmvC5N}yV*_pglge6_KLAOZvgp8;G` zE&NT-+iT@!DL8=t)&h5YC>iA$_6QTU;sV7MwH_ zS0{;LiiHm0=A^xBK!W!&4=IgdkcP0;Jk{UrOmITUCmhyc$oZ$YD1)S z0xF6zwsg7(U@JFMQMI+LXL>e3#W*f$=iY96gOux>|%)GAin*aWRx#0e1mi05^vlvsx_RHo* zR*1jq!#tKCD1xeo5FltJ>Q(rpLr+wFUR4N?;L5*`Ecu{=3{r@alLE@k`v%>g__GbB z=iijw-~Dmx+?Hf~HLP2YHA<8Q$UXJJ68XKW@AdEg=fBU2&iiDK93Gn1$BHevM~zzU z5#O2o#8d0__;-w&YiZU9qY>%GG4EE7sf}Y3Vk-_SiWji~woMSOJYTc9rI3C8c2obt z{Xg2A>HM&O6j_%LSE9>w}G)SiBaQC!_^3)wa>>-~u}N zuSVX#IsdIszt1i9-YxHW+1z7I=;YBt#`$l4@}ydCK{WzVd&=cwZJ=L_sX5mQv2j#Z*Kr zMV{07+TC=gXBoX{2d!|p4(NJoGsC?b+saIrGO$T57iuCv2&^4>af5LWpKijg& z4=iq-Ab!D>MQ!VP8+;Jy7LbN=1D%7KMI(hmLzrF)dia!!7Xo3hbSU&^ekyv`o=-oP zO^|Op%GtM1`|r4ZQ)Ht%?MSF51^!ixJR}Bi2DsLa&cB>WFjIhA7f%bLby$fG^+4gNF`b z&)>rHe&c5ey*|bO;p{DiJfIq|kt?;SP-JzT?#KU`{Ig%pa5k>5Sw*<|k|Mckr#0S+ zpXuWJ1yQDiq7)(#0~RzgNXuf|F_@tFku%;sFzuw*@x`F~BhkJe`p~0AShq3o0JXi(Nim551d)?!4ZRg;i<{OJxR z1LtDY7{s^=k6}epWJ;%5;X6hIn?acFQB3z}Tz3_X*S`dR&k;Hw`wXNh>OGq0XqKV< zKANVGW>944%sktE;OSibGe5?K&tAvH&%YFU1yTgG@R$%ll^_AsW2`M93KU{PSnMIk z&k#TTeCjX#0gdYuCQNmZekkE@YpcHjV`TaI%QQkuHx&#zos%D5Bx*OUUb-ze&9Rzw z@tap-U5~pHmRJrG3JH0EwE+ssjC2L^IE*|*hM-Ovw}7I)s4yFcP3kZx&|?eKpS}w+ z&*1Mq%|ha7KlfSS118T=@4TL!2QrYs?&cklJ{I z_QWdu{c|*)b^#$v>3#UKWKo^u$_puchRHx|KrmRbl`ZcRg2!t@HaiVjAMtsaA7BU$ zBzR1JP{J4eJ}M6SeFk^kfgh{W9N&zU2DkzVRbn<2AOoser4gb0zS07tEN9$7!4w8b zb0y0Nv7Z9q;2L>+H(>Yf0MP4)I~>_`G&fk|H=@Rf$S~F(V((=Ngk6CHs8HI|Mhyv` z6F1*Ne(zB}dGA4f@R#1qSbL1{z-gM7o`;!TVsPW_XuC#j%LeEUN(b%?LMg2j0UO2C znq%a>d9>fD!c0NLAu4D#fUJNbM}5FJNFO>y@!)A{mz+UqSMY$3h%F0xb87y{bsp;=1E zQ^+#NQZ(~KwGn*Q!4EoUo}yWb=4t7``vdR=n&nUw__-arITDpRttL@gRrTp@m?2 z0e|KU*|BL@JBC|3L0DWw2RZ62E{;k+P{G_)aqVnbEd(A(tka-K%R!cUJD7>a(~QT3cgJyp8Ix^uc`mOfBm>jyjybq4_m9zUz=#Wwr#}5goU)kCXHRLE0qpd zmv5%jkSZGufyQW?Yv1&La`MA4ed|9HuNtQ@x(@N4P$;(3r*`pX`nNqm|DFeFpSuZi z4=ySzWL8n*G5rjyO0l#+?8XV2R{ujWmGcaPE@5g0o$FJ~cW7R|6VvJAi-5G-m?SEt zBUEZTTsN&QoeBUn%bZp4pi&_17XE?5#&&v`q(0yKqnkI&e|g@~WxQ-JD)OyyBKcn} z{@kyB^r`LE=s(z6vNauZYA@KVcC=+Q&tNf!UQw!Qh0ha01r^xp;)m*7<^>2)1k@{j z?ledL{!g*B2AiJw;u7u5GGs8oFV2z9ERvsEpt*e`ZlaB1KrCVf@qzU85oYtlw3-`f zZ@3hXU{N&9S(;s>v3eBgb|6a`oSG+F>@srQGcm1kXf=`c$TCDxE^HZLp=Cy`sz{)W zjJy&;C>>nx(V8F|NAL#^5gt5EViJlXT~f=(2EqUF$lG6Z^AO(tR$!fcGiEXZ{PuzI zqPyyL*B;xHUO17*o7YCtEhy$YNTyh^XjPNNDyTvGJ=A(kTtlK5TvgW<1yeb-JfQtP zVwA;uzRc-Qf0VHcE@NWHQ_y}F4W6(tPgtDi%zbmrA6ew$mp=t*$KXr5T+A&()@9mF z5o^SFb1OQ&3LD4V_Q}t&sy;@P7*?-uAl@;5&k33rZl!Vg#b~X8X*LK+g2XX`sTO-! zFHrDWhQN72S^qbL5HKpJFYtAPv=Ss1H00=9H<(ik#w-=E(4`3BZ#u=?TgLaja$Z&C zn`y!~HbHxDvck1Rw|D((8jaCS>3QRMvUzP3rn>0T03)V?fz5K1BN)UA)MBK_k%33E z9$Jr)I6+*6PxyfP9MOW%88EWx0tOdf!t6b_Q*X3sjIKkotPDF9YBsR+z-f;D>wUC$ zZANoXEGacSqJdZp!3LO}BP=apTP^zYbA0;qw{!jln^?c`Dh_|}=BdxQ90{hB z@Vo%)O2Khe-B>7dhBU($1(JKz2h=)DA6RKd;bf7!8g-{Zy5#Eh_@3vwdagVnC+koDPrt06X9&~bylGyiIG+lZPg%l zWrWe`p}hh4fT%B{lfq-XCk%2XF1U)?_!_3~{wjW93ga_Gm5_Tz*2j!(9_7f2yHLgB(^j&kYcTNs>}X6E2ACNAEATiwPNX_;YX zISev1%}ZnNLkUrLdxSJaG$66Vv}(9|txUd*0bACqjj>n}Bmf=I69YKf6H{1gFWX@U z+nQO@9DCOK-pEgih%$MTebixSp?QuVc%{hC1_d&7N>bKm&CtopFz5$j3ynIaUPB@a zMS(7L&`t-k9L3|cTsWgO*6(^cg?Oe8A4CT|j30pJXjZW9!X^vp0{`~KFY<-Ye~wef zPBZ8%VKa{wiU)E(z|$wqyDVylt((^|>LZSQ@hH-=Y`9_*n)M;iN_;3!5uam<0fXbm z(asVSdC8_|)-cTmQm>UvjS62F0G8Dql* zPvyiNU*gP(hgiL49Yz9qR?r@=vwA${&M$ryYlW@nOwf>oP;|u9tkPpmHTe^7bd7N*s_84)lb3NsEmNTLRdzDN}obVA{acVvE-H4#~!G^lMGB zqn5$WFJewUME{N}qmt{;ZVeVVuL*IA<_U%>J z$B`Bf?3fA1Y$w|iHi(K*DN&vw84Q3v2EajGsyDsN} zyBsd+(A{=73!lG;i*`-Wsyp($z&lIYUu1D%iQb??TpwZeQ=ZB89T)PH+6Xk-gw6mH z*BGimX(Dx4j4r<)0*%XZJ|qB?rbvQ(;WQJ6caDpMYK7hVHU|cn;AUh8N2cU%+}l3;u^G$ zY^LK=x+bUSE>eU7=L~B$Y-eQi`Iz=7e&8{oU*;F}1eLs8Z|7E!1B8dK`j7)K3@ocK zHdHWn&BDTxkY%LK-}Ts>@Fk_ncxyju2l=bRVo#*zkby5fzZg_ZX;LcH6S1YK=?@Sq zs51m>N)^@|i3IB@H$wwxLGURyX;IiNc97!L6GC3z@ZCyZj}a~&Wwdxb%~d&G6SltY zJZc*!aIJBorwi?Y=g!}r!Ho}Cef}C|?!1!1H#sSb%j!wP0bsHl@GAd3>ht~Ms|YG-@47<992B))B>S^xGo zVDB}aeK2kPN7we}=grC5DCe$I)j~vNStZLVQ3VAL*$K6%jH@#b#Q;Jw zpe|?QOB1@c)yQw%Lf)Lm*lAX?fx5S4bc03nfDZa-5|v32|8Z{l%MbI=Ew_R7=u!`}&_|XA zW$2dr@+<|}*F%;Tk;OT5_6*F=!ytbcTV|Mi z4x_$h>Pv+J%SeKrSyFn16tVp~K-qhfeN1TRO;8q?^Zq-R?l}BPd(do2U+}!Vws~Wu zX@A-NEf>Luc>uytXVn;pY8*OvFUM~AGE1E<+g`W|wzde(6f%SM1KJ5tGx&i*2BD{f z+JJgv197w!sijbhP_L*-5#zusqJbhP#i*n@t8c6kekeLVHQGlCw{A63tC!TN zVP}fbGV&QZ;=)5#7R=kL+RU6h&ZdiYaLKioBi;~ffz$(L#ADV)L|fZL+uFGEMz9x+ zGIHMejJB>u7S09RM_Q%SLs_jN3?TF{+9f;M$Dhe5@-F?fOJ`~kopG3jZJe5oq0#2# zLx-KVa(-8aE)SLx@TQ)8|Ao;PC&`CHqQ~crB>wkaY)0w?-72+T(*VH zo5t{khv1+wf>}KVttQlKXq-U30kt|3)u2{`Bu0}2W9`}I1P$c|6aj-kzwv{A`0Wt2zI|rg?%h@n9Pj`O|NHO0LHg-0)QNZ5HLFP1uP1EX6ygmN z!L=HKbp~GuX^N&L$49%1NIxZH8Pf0K(?wWH37r9CDUuBcOFepv8Cfr-b2{U6{dSIC z`Wdcz!4+)0>@w_F2YOqPxeb`jCs9{Ac(kB@s>A%PJ<^j+LZ?eBI+u84EoW|-X6Z`< ztS_jwEm6xcvVMg2#wJDrQfne(Bbbp^wGk~y8fcs#NrH(INNQ*;sr*l6^sPn3QuG#m z`n5Zx{?$XK*O{LmkiKc{2Y>y8H$HFDU3>Gs;&E-#D;aWoRS^Bs``#B_{JH+iWRShC zNW*iJT4QZI(xPbB(PoRh6=P!Ktu2Sggu+{s7eZD*+QVdB@>B@D44)1tmOO`VJw&mX zV`7Jk5_;n&SoeCvc{^W8>h2=6?;=_FL42HI&byW1GJFvz23^uL$NF_F&iotwslzb+ zRCb)Z8z-YId~JdGFU`_BGoXL0OHzy3caWLG~*Z-$6$qy&nXC4V^9r9R^ZbdZv<)ANLG!pH0Tn! zgxW}gYdCa6huXR(#~!#I-#pC5Rj)-uPIvXE@U;vO3eE9Zk8DZUvgX$rbnoMi8}@PH z_&gV8FJb$(|3vMwQ5bcwXz3jZm^^~Qkt-MLxB+JDYR>i=Wx&);l*AiV?8dbUdl9&OWxJZ@uVb{{aDJ}9i+sVg^R=BM6w zb=2*@l{9+^^|;OUb&{OB9yd})`Wc*_Bh1VbIvuo=!i2#-eH4nE{!OPjb>}p-E7o$( zwOhIEtM4YbyV!Zff2FzpI*vT}c3MXov^rOEto445A3w>C=e&(|=UmD0|Mp>47aORp zYEmE&40gOmwn|tyb)3i~jEtR+8(#+_4HzHArzyq#r|92x1T(XUsW~;qXbAchXWiX# z;0_w@hUmxt^KEji6f5ujvGxbZ6Vd$+(0|ikJwMFP?`s6}Y+chLy>LCzwsj?xeP$M> z&Oj$aihzWSP1M8nlrTzuxi&Xp8o3h^1!Ws#6u5! zkae|7IluNwZaeu`oH%ue9qku#=})|!{GMaD>kmP*LE#M6IEZ3obQQVg%r4zafoJVG zmr`4EF+LV()-kKvcrEDPaftMmuW5aDG1z+jLrd+>&#(QH-#EEkGv9N-aLGaaPTQ2+ zA(WxySPX*<+cOmP zKGCikVR1mXZ3$BdQ@tKLjAJgF<@8s2T=LY{vHAHgWAWI19J=A73_{GQ=s~t#w!}I1 z3P$EGX7s_0EPn1TMqhj}{rjegP6VuTcx#Eq)?(s1)E#TbS1~(v4>QMar*p?i>W$5; zy?h5rVKD84_SKhDfBH@teC~E@zj)tkMv{qF_;=s*N2kvm*()Ml-M=5%^PTsI$>TBG zt*U@&`kw1w=R)+mrq)_Bn6T+;h(~oqmst*0#9t4Ofvo??R6M!N)O&XE}4cOVL|m$B%BOzPe8S zxg2LBWX%ZCk3EgBm=gZ!FgA8z9d>*J)Eb0Xkf?@f)OhHYTlmE9e}W%+-47FQU&F|= zc3~1%@>@rn=(-l^iCNFVhiq-$6S|B4X43R0<()6RP50|^yVm!lPgo}>jY!#P?tkm1 zKa6R8fO@>9xL~YEF5V!9y49kEtl5Oyv<DSib7Y>=(*^a#HYPK; zB*A;j`8zi7%quo>-4#37_1yD`pSy#>?MG=GU7}WN5$5ZdY!!C8&g>N2mvu2CZK8pY zefb2@rd7z+Rft!#>M@pD4WfEUB#R+P;(TX8wk)&33$Q+#`8Esp4 z-P5#x+1kQ18<*2)eRlB9kG)*>h%Y-PANygy^Fd30J>s{V^AYP>ugzD*UavY=+{lUqz_wbw#n9`%tXt2d4C4+YzmrkS~I4PcUm@!qE&&R8CxJ zx6wF4;s`ZDW8DPnc9!t=xi5J(Nm47}o_bQ!ZV*DZkIjQbo7R|oeaq|V`NZXR_uH=d zkuOA(FT788@3;HzJfPn-4H(Yl)X5uLMZEQT>sl|$w~yrJxjU^f4GBGi5Le(;Sq0Oq zKoxAgfo-+X$T7NM1IKzx+qMnzah$UOL7Nf1b)l2RF#8v&NP>oxbt$wlJz zE#seYZejoR@G4zM|3Z-GKGumVkABzo?>DkXeERNB{d$y)y*%C4%9HapMtY({)EC4W zlmgTf(gC4AK#alGYM3Z4VPxmfBq}Rvv7;WxWOIw?$ZG8R4cPHmv~|g zX2V*j)d<#<(@mlX**b{rmUZ zZ&r4E{4`+aP7y>?*ZdXR9Et7DEowTsNGGp8sT3U(3=#x4#MXn9ly0r6X3kZur=WR( zSv?ACR--mTtSf0DF2Xk)eoI7tN-+y{wAMzGIug}U8>80IO#{K!z{c1{8*Mb9mXv*H z&LZjvi!DsEgQ*8_387KLw3>(tA@`+Vc>nOO{6`wzYW9SNfC*sc1{mvXzM-YDxTpQl zp|PuE-@c%aa$K@|G>%t9{KBt&YPHGqRbfL*rPZ*UT11Q^1Q457e4vV&4ro;hRV~K| zNYFC6&``Dy)niQDBxEV-9I8q%)qBSWxSGcw7c{AtosW6IBnd?t7}+$ct+h>2XG_9t zV+2i-lBD24OpK2mGH4(pU3_DJDMm2Pl;)=JXqKayl!UPmP?f4NZ$&?VmPIF3t$0GF z^ka(yIA<)#;aOul#VdeYhGd4v-w7W$U;rOCxhitav21NC#NFIzQE?-Ya%{t}IKN!T zuKKOY5zl4rS9ro;fJ8ASiAolP#^si&VmuTsVAp~!7T85W8nv=TNn<36$)RSmI5 z%SEe~(TiGF7Ef$7<{)xN(LlotcDx5mwNj$3EgL>GMSEFUPIZo|N%HKV13i0|thb8( zAcoLMF%vbR5fkS9v#UaGcw#o7Vs_O;FCvarMjAo;nIXt<5J|}tmb1(}U2bMO%imB@ ze7|3oFxzQfVMOIQH!`bHu!2iESMD3;6s)cA-E`rwJyQf7+hSA zxl~!6DA}jijsG1qZrZx-|J(V&2pB|SxOudII9s_npx3+1_J{R zK@H6ql=JkxpJ>W2zqtFqYRdSIqM!kO9g!8awxoCu(^>+me#NO(DCd#kv_q=J&vQ(Y zoSpd=m5C8ij3jlutua5CMa5#%c3G8jrmERGyu~Lfh&2Z!=n3n=Sf?cAXJ{M~T6IX` zG7uPVa{I^c5AC?QSJB8PfXcFzpoYb;_T zh$0GWIrEjfC~iE;t?#>oq9|*#A*vCg1mZgBKunh9gl6=|xsg*+04`SI(mY8VBT0hR z>!nY!mZ=jb+0YngvmGJt^{XPgE}Iius}Z~>WZAOKKWl!d?ycMisk-q+!4xV*Jt8=h zbR-|ENL5c<9^eW)MF36np_Z1;EBKNxq{E9Wo8-!bOp$8zfQw>G9G~?ELrhRgK2etE z9J~D>4;?wd7e4+u(oP?#Im8(xvV_P6H^`*td1%$2{_MX-nER#g%NDM#HMW+CnjaFO|tAc`@c(JZ4Viju()mwjKx#gNpI z@ezm|wOWgvuXrir=bu~ls40XX6%V(%?xcoIYRi09T^WVy3Z>R^(*lBbqOJ(258im! zd9)hvD4>XI0zf~OuQmGJ;FeMw#v3pg+W4xUb~u_qhLKRYz#(#FQF}OY?~yKQ*a+tf zp7E-ebLGokgpDI~&_^O&=3NdRn6rbW1#g>;_X7+@qMMoT`}%y(S`#TY61CNcqS`kq3+4LnRrc+B zd^KP=1E)292-6?wT2Dw>m+cs$>C-ocvN|XNI)SCkBexuU6jp#$4lY zBTJb|ngz@-%dHkY3|n?8J6g?DD6uWS>?4*P__BRnf%X|&PR&gsh#kQ?s5cm#JcFHG z5Lb);2;jlSC6OH1Rl_o*)u8v#F^#8Y#59`kl{daIzv+2MV}v;qL^8# zNYc7|o;5k4I?tMgW%UpG@Ubw?68s==@NTn^FCLs;Eq|kvljho+_m#ES>KOp(X#IEk z^E0GhIas2o;cT7~mh%%(@t|3mEK)kzuq@qW{%Y`Lmwe5lo7?ye4g7{A$c8BB#wZl) zYaztW7x$mZqD3`9djC*=+jWO@_kR0b;ROxJx}A4^^zHR%>>b86%F)9bphyY*E@5mG zId4m4(^pJBuV(XzNJ(8^?xI{dX{#LaM*vz0i=X>Kk$mPhH>mrUjQ!=$f8y(yc~yDz z%&Xsh{b+mLi*?USeKgXxAuq~EMbB!2R%WJzHOk0M3DuZ_p(#={3oxEg^cM*CpCV~A ztE8=x+YHDA-&?rfhBMEn_{#CeLd<$h1?AyjI{A&4y{q%?>pyBWJlE!|%JQNgsX44p zem9Qo1|L*~$^#G4P-9l~UY!jE<&nWr?lHAGg9lF(&0Ftw9sGyB(c-VH)GbN)1szRp z3x`kGaOt@!sxoXXQVq-KrVOpm&?)OM6b%o#z#ylUoK&4YNtXer-pL}UJr8}D!vt9Rxb*9D`&SjxfNYPF2Bhoft%E|cMW zwzJv*VjX!HgyKUV6HZQ@s;`eO;}2%bFpsa7vLQvJ_nwcvy`HRjXFl4@-36N>$%@M9 zYNY`~hfFnjmxo6`Rgj=L=tNEJ$x{;UJlUHb@!QY&;i)WA*U z>TPHXrf3zH6! z(eUsvK!=fvb9jq(Klyn-a^IAjiscvA|MgowapUtQogCOxd<#`p-MzbPsVc(je7f+D zwP~))(_^{azSbER33({ZjXx{(MmdXVt-z;@2;Pc{M=-_QmnV+SFT+-dvZtD`zK`#t z2RKyI6@#Q7#up}>nGQk9LaGD^`fy+i)rUn%QmauEY3TpcCv@bV2i#&(ykq?b-ugTG z?KV4z=w3kfT{}2>&rPog{qEmIi)obI^`PX7OJ0pu6}n;>G7sv@2`=H`RxKDoBT@Q= zO0dVTeB&E)ot!j}=d%MI_YIIed%RAnd1tuw@ALlR-^PO^)`zAfEcJ^bXwdRWJY|ou z3ZbeId#41WVQ}9AMe+9^HSzsN%^6$#^5|c^^}p)w{Z_t>#UCE~_U#L*D%;<`Z(x7p zIj`;amVP-}%KOow8SC#mrg^7V6a*C!Of}sls98qF%cw~)V@;%&d3qVd_SQ!`ko9}^ z7%N3f7qxe<6!G(a(}=v))LShg#T!GYC4o2&CMu`w`YaWb4Q#mcKJ2j*^mTCOAW431 z;xFIwsqbVg{K_Y@rtiIRmw5KtTz=Rz#-MJ<5*tjd79@%UXHjFN95@(M)vNIVJ2mUV z(gF*i|I}4)d&%uj#MAfWiF`DzAliS&htHL0;>WBnUQP%XySU!Kx@wG>K$a2GzGlbo zzb$kY{=9Md*1wQn+|z%&p7*$tGM~Nklh3p+c|-8U%bZO%5I2@*PM6QHF_k;Zp+6vG z*^wgc?oEF42mj)Udi0@uH=dR^{CRfrQ(GE!*_nvlm=CfMBTjuHC(!7Q&$!vUjOd>Ey^oEIX33Q@uverYSJxl_I#F}x;x zH=k^(s=|RPj^8=0?A{%QvHWsgv-28dH{m;p@t-^%E$R5lm3!9OYx=F<+855Qv+L|SyUwn&>+Cwa&aSiT?D}C__UUjF3Idqh&g%2~FZeBw z+C*EPCY$O9W!D36`}*}g+g1&%R8@KOYn?R#=2nPqh3Kr39tYto$d*;BDmP2%qc_3f zufp6{;J&{p#c%CcLPrq_=ATl?SxJ5u0pALdf|&rLV2i(nT=@3ZtFDT!kGb*oN=0{F z^D;g1rk~dBS3F0*E=I49OCJWf3*x&V2KY*E@47ErK5)J8iLcgrU;NK0=7)a$OFMH5 zBmmc!%fEJel<0~7{Fat}`V+x_^dmt({)c||>t2(74fLiYdT-}5H&m;yxCy528tBn) zuN>7|jn%J4(XTuelps&FoiCtY?mBO%)Y$i*TOoachjIdYtEPHuHn#kRYaV|1#6OG< zoaGn}zoc^B8(wLe5A7Fiwvbwh%Ghe%^*1+#hi|&sHiX}g)XYSL-&}d&1!lwR zU!Ik^`grgwe`k(-;~Umgx}SS>bN-I4U^avQp;o{Im}^0|_V$i-&ClN4SFNodJojAU za*63vQ_LSc!fe_)W#AtjTt2*F^~y_s@n=+z%}6*oO%fT@WrVJ7;70h3hjP_s@`DD zEki?nFFNNP?`rp~S```R@UErxBZuYWefL`3br9dz!|H3U(#Rs&&OL~=paCNmoZ^y% z>ewnWAG|uJrLMAVA3rHF-5{t^Svkz%9XrGJ8*g#7p`nX6ojSGapR>jv3I%KdyBYk= zmCEJPY~FePe|)1K9Xr>~KeP+UGK>*)q@QGHxh6z`D2Q8_H}wbhAngW-DMTfR0de3& zu-#RxwfII0ac!^y8bdjT{%ZKn=dU+Y(=*@1R6kt}jnx4pt9IY<%EtWPE|Jd@s)XpN zpn&0GBQ%=LtCtVy%>f1T!XJh(N|6lx}SXGahin| z^l7btC2J&(O0;+FLYqxY6oFY~yDkURMX-J^2w?|tmNBzv+18@C@Qt2ZvXt(!F zfSH8ww2c9s8~jSCcb&=R9~d3#H^W1NCO9Vuh!~8qq`@M{)AzP!2m@HrL+$w6BB< zoQG>Ckmr8L{A!45lkJ5C)BE~YnhW0hUnrk@E?KLEX=jKL#3(@n>LCQ5KgM7+-=<0c z0l^?vFeVS)A_hbVJ`lWzB%;*agFASHU6UW+#OME-;r>3HdUT;lLwy#+{?&pz?`_-J z(Re&9;i(79PFxjDPVV;`ulu!^)i2oa!u9|0r+MbP-zBEIi)?NV6BG%aENhXrnq+Ak zpJk|bgy2yPhz3+OPhLVUWak~3%WzqW^BJOw6@x?uM9CWSNOz4Dul{jL{rw!c@n$NK z)#a;JYc(mEa;tesL#9{1Bly4G2zKk^q=2WC1x!p#M3a+~?z;EA=eH|m`|B59enr@L z$;Bp}ZxEF$P>FFaC1hESM;nVvQ$nkO7y}rLk^H8_6g89-<&@@Dp~cgx7%UP;*f=4I zBGd;$aFm7yIQ@ki*!hlk(Gy3UGqzSwpFHW096KI`D8Bf|vTVD8k;fr3ik@o1|J~pE zFK;o%{QCJDFL4{s+Yq&#QW+d1JFu6N-@1ePJv(ThJOL)A>%4UgUwtLj3(ljpFkcj7 z7NZo=WXb*#$+xU(0W}D!f#6bHmg3`tq*TIML;J)@`d<5ETwMAj+urzA?7sc7YIG$F zr>8lf=}Up_U(f#!;pvfvUUgM8dE0I7gCBhFbEL8GjSDtxw9kFvmBw_HCEb67qo4dN zN5A+b!pSKtP%buc9WdpDv3I_W(O>vE+UWvD4ORsGCqU+0_8kR4(10jtP<#RYlu9LR z6ywu2<$+;Ne(}rP|DWE;s{TQzE{zV(&;P+|Ro{IpL|23RfwzE(i3u|~Iq7~;wIaXy zOMfvsvNCz@l~;KaTRHZr&v4+nKg3VXGBP~Gz%wtVtFM=??j9tHX|`JIfAAq5_}!1u zo?YPF_rI5Hu8A=g5Q6D=8(rLPqU3P`FbGHhBUpu?o>sF-xh&XHnda#!hF6NeYrP(RF>m9$$;XnBt z-KB_&&Oe`#(N(za3O0!_NeQ~DRC{_Dye+NZ-Z_=)UBc_;w2uSum2jr6rdU z0YjceA&9VuB^i@f-OhQ$2sVmH7v>qd@_D4kkA?PK+f1t@pZg0J?tC+t&pZw;=*jE` z$+Z&`uyw2NLBG)dt=+GF_LZAl>8@|vJ74w&X8-;hoVRuj8#k=SS4({2@F9Noj=Pz7 za1Xm09?^&_K$Zp8Kj(7#2M2igBOily9TI~YEreTKCXbpT0>&U>5MvRs`QxJEw#FhN zv|CNQ&oHsjY|OL%H{K(&Kl285ziIq(Ku?a3|6r$~6A)c}+im_0CVAiGxPM=L!>h8P z(+lx^?|d&k-ZQp-9Rt1H*m9Nk?B37Erl#n=a3eSD-Osm<9_BUcH_%tE5Cq~RB1t0l zee-UHu6{n{4I9vQiWq}MFk(<+7PTRO5y2vem?9ucfqP03vz6c+)+Pk6B(-j{ux@qO zb>ieRU-j~re(7gF`bWpd$H(oC9Xs>~&H~2A$L%Dzo}r-$H`MoAwvsq=*S+zs_kDoT z{vIwkcO5-ZL{}x@3nx$TW#`%Qna^Yy3z)102eu+^;Gx()kI1xDG

edSo;ZP*gNmhXB()%-hF#<-V-BCr)^eNswfVOQtc`;e|nbSl*mM=76tKQ zpSP%n(M2G^q6Ae?MN|>;bhJbNvI5R~yao)0a;0oXSFhsGkwgFf&p-Oni8sFc-E;qz z{_&F%0}|n_K~-Mb-xn?`C(LFU0z^rS#4!>_P>R``)gg`<92jJHXc>b;gY@lKazV^GM_j4U z-Cd*BU8AR~hwf@ONm8OOis?>b0zPk720;VFk_#FmSS#30$|}(@S@EH|1&>Zw;%uYK$foTnIVN zqe^{lo@jU(Nu`8Au}iX>M_-FskkvCy{UQ*n$qR@4IV~(f@ZRU~!eUpfT!D$==l}kP zeq+PrgYgp@1Ga3zj*k;W@PMEG=E&HVzjANgy{}s@TTZyg8tbu~`=DjTi3E)z zjEON~ktkuHuNS7KDJNB`-93bm;X_8tr#x%bI?ClT&H4f+GGwh53v+YyU$~AqDU;UI zLWr6-8FZ2FlRq@M`;uZC3W5oeyS4w1kdjx--ut}A>>Mjst@J~~!^w%M>DK@s{$7Le z6QTfBgsm9aoU;iY{`;<1N9n@b=jM)I^@E-`)4?mri{!9#wr*k zM2h#G=Ph5xM|bX~nPo(-jXF=eok26>b?2P}SsOu!tmX9aqby{Oi=O+!{IaNP4>%c+u6kw26sKVF3mF5Q;sj zMa;kyuBAhEm!fr`XZi?>mjOIl1Y>J03TAj{nAk>FeC)&TU;EDg`o8@Iuo#}S7_emv zRwfDeeD;#sv0M0PMd~;A^k4Xb%Idd-%IdfKYR?rKLSoW-oz~18_32p_78*psV4Vdb zgor2@Tu^E*<^7wkq<(saox67N;I3VamdkwnnwOyS4YCk0Mrh8=uy5ystl0c|YGdaR zT5XJtv2q6MF~%Z=cxBPY$fJ4&ONfa}{g8IRyu9@Zig!+yjVyNqgFWSX^T;*dt30E} zGtkOr{N68)jFr3Y`$DC^cA4w`$~yt-2XT*LBIbY|CU52ok{50v5P4968++DUbNuhB{VT@ekzdYwx<=yAdVs8bgs9fbgWsH@L`+YQp|xn|gXj#ww%#%~eXoe(vk|xd#wA!Kot+KL3%=a_jYfM~EyT zJ;B04n^HsQn@)02EM!>k5bq$kym4Mnnf}iG%x=4z)7$Q&HM0N&;z*c3HO2N@ZezvO zSF-+Beu;E$7L4H4pOJw6f2`;4xtpGk=V*=%0jj|a^!00{R9<~FJ$X?9G@9>Q449b6 zKY!0nKV1`<`*K%*-@4l9&$~z(QM2(KTG;`7b`WDTj_o?diK8$(;|Q%37aZ-jQfmlF z>LIqEd7ID&4?b@d22mowv|A)zfj|;PEKJSv?Z3T+(uNDT?9+dQD>y%BfZ)*(@WmBE zAo!5?B=u2xDcY2(`4#lcr+&c>C2f~^WOn*1p&hTDIj73HH&bRL5^of(K_{Fzz&M*BuTB?xM8`vl=N^i~G79IRX zACYQyEMU<}LO@i}LP@&xF-!l}B?hC#=QVd{A_$RGDpf64O4a)Osdd27jXQS86Jh}h z!d66e!bGi;f8JFc>aPyIMs4$mX|?YsWcv}4bsL~M_d70&9I4K z?A&=OBQxA{S;XPBZNmP2M6(OXvO(;!L3E(T&O5hpYI=s1zx^IoyyMLz7<`%`B7~s% zrHcAIN6!W4^4%JA(GnJ~5Eg?hOP^=y>prg=2xof5i|o20hIo(9GP=5|zFMo`GIuV( z_Qw#2qsPc0H?kSO?{7cwzJWeopnb1!aomdB>^(%;Ap#4i+Pr8H>5$M0v?~-4fX5h5 zr2=hlFs8|Q7tXM6zp^LlXJ){#cIN?l50xlivVonqe2t^WjiJFX~KK*(9uk8(8xEm(6>;77SdP`o#IpVQw}iA_SO6odLT zPnZJ6$5GV@v+t(KkMu1cj7$B`@U-p}l>-pfvFZsy$?0eY?-d^)I3ak!dvKZHox!Ju zc3WtrmaJuPEuq~m;k;*d$`SWgnI5s6zWGk<*g5q4hu4!W%u^d(feRihd4TNTzeWp3 zk+%jGfi*Ds8$=hwsuoi22s|vhpd}X2c~4O~bn^b7zIZ+tyoUUqMMRP$L6qf>wLug8 zt9QTPcmA&rKYMg-^y1sUR&i6uzahemN>D*7h(H=3_#AnZAUF>`^JuX7mk)*@IW8mW zFvem;u?CEVD2|AtCUs|-oA*q&8Vvr#OYzkzah6hwlibgn+}(u21!+)_(5a~~h9U)i z1SxcprnuA!I_Xg^;M|p&#qiyET~JKXI}VF=N(hd8ycw*CQ85Dm*Is+APEJlfehL`h zoO{^o?`a%;;5+?y%^giHcfL-!&r_+S&RR7DOcEJP4Ayu|B$y~*Y(R`+tj8L`n2g8> zaWPhEi%Awmu}NV6fi6xz*pJ!YfLa%&=UhtGTA1 z9*yJ_Rc$D$-=(pja4$g#Qlyzdi%coMBxq4tdo(zL_ZTCD5X2a;qP60?=;LYu(#hpM z%n=xW-Y0+N)}M%McxyUe+SC=BsB2)3N>|HQVnx7&fMnqe+^d@7>4Kt8&=B&8H_e6R zyka6{{zSro-9213SH;fGQCd9;g9C)jQA$chRh)AfOp!`1j_Dn|!w$HK^#4Cc0TN;4Y6c`Fg9w~W*Egho?n)h(@tVXjf)*!*&OPgZ&E0f;goi!8~|AfWdvUcvPcm-UMH`H&*c6~uY5;?s^sv+5^yfy@#>15ombJp zJG{&A&f&br6?{>bWu$4F%(XR3TUe{73M@#zuN^S~Woy3O#>cTQdHC7p?bqF1{{)P! zdDgj1_w~u%9oy&`TaN3_aMlwfVA>U;oprMNPheN9!X|>lBIOcErOMplllZiq&vChw zIJQNh>lceJR58KiD6+_6Z1`^bFD&T`Na6o^l(Gl`^_~zM!FPn8E5c>D5<1F6oq8vT zln*S~*x^ZGMO?HMeLHt&e_V?%NgDoH@p9iiu&E*M`x`cfoDvLvTp%A4s7 zPj&*ZcJzR%&nsQ$7Tr$p0awssTvqt};sdQTQ?5Q-(%I(9_d24jx8~rCDFV zxfJcBf5AcUNRgB0F2@rJ_aOz8KoE*w=h1G!3fCyyudHRO>h=7HAw==YUj7Ggdt=%F@ z5|B_(3yL04VYY=%76i{UQ;gio^*BkDB_==vjYw#ydm{`Dyp;oDo zJ#>hf2OpNIO?3Fay%IHA^sZh>aDZ5XSlX=?m1>1$LxY_BzuV}(<|;B5n4g=ccVHmz zloftljqkvH1-mV$p#;g1(6HnrS5aBg-(4D*eE}_K?rPGMcAC;k+qBzlfdfUtTQ>Ct1Psi#ya z5l1mmoM55|V+__9tj$@_7?U?#ioo2#g`^O^>)<|K@geUSXIVztPD$HsoO5K(<&bmm z#RPqBB?OmG&3H!;WoqiAEY#~#j>~@xFrLfd$)P58jvlklUEVj)N0lh(!n}#C#b%Dk z*ih}Nn7KQ5Z|9s955`B1{p_;7?hqlyqZm<82dy?K%Cg~QRE^U3$GeDs>gA-Z27c-! zwXSYd1ZyL#wOC^@Hb0t73ih+5!*UjkoB{Yl2zXVzE8L9pi%Rg`FQ%kE_yY4OK2x}* z5IpK~=7tZcpPfEs+fHw<4xj(EiHQlbd2-S}Y247SclfJtUbU+m*KQ)-VMVYgRz!@k zsHPY8{Mk)6_C&(Kie-q;SqUmd!@SkR5hx`kRz7IJm1@X`I>hGFFPH+_5M&7o)JZqPQr3Cs zj3O04TnLLrmloMlt|*G#pXC2{$!*j2+~aMH1WTtK$nCRl^ZQhF<8RuA;E`_|j({dX4= z#G;wfY${1oTFin>aasx{6qZz2MaTC`r)8N#+MR%$r>&u=ro$t7Lq+Gy2Unn^s_k~m z&rZ)o%~q4P@ZR6~pMU)a6IWdoO>W)lo^*QpCSVdM!LfF|sp*Y29%j`oc>wjg+8@&pg&fh>%-?Skx@G z#qyJ~7J(U8bOcOJ&Q-~2hMMJYL(%(XiSTnKMIeL_(ku-N_1P$GwW4+_I~;83T_5_` z)-P@uAGe#oN8vwVF+gl`_x${VwAxL|hfCD}+|NX$FGQ-&K*WQjBx10M2q) zS&FGd8ciY_6H?D$smzL6js3UX4HusqB#J``D{4iYrechdKtMGsd`>4WoZ)jKA?Nr9 zA!tWI1z|=V8l-@y!3VD>!Fi|6M%`vv+oUcvjn=}vMLzA5t`Gi?KlsbzsFC?leaMQ! z3hzXL;5G9epLw!0wcb0)d>bDE&1Q=8?*1s2EkgI_KJc;6?d?qaZ~Zq4{|PxSsB`+^ z$E|&7m-m0&Uy5s#D@Zfter2ab;Zx_d!|yzEY)#acAUc;UoOA$N#>egW)~!LF%14%U&H?>+l3W=1>`jrk=U6KT zs($2y3mm#)(8f1Db8M|I$7;R)%U?os+j86Y9ku&f&0l^Se58PV6F0SIWr+Qn;Ia)k zx5jH26&TVGmRt2bBBnP8i3YKG<4jb<1PvjDa7u(Zj6EzS+Naj+j<7qrYIf(Zeef@) zAISv2DuPYnv5p`;X(wj=bEnOIGK#KW0`KI&* zrZqBt`{BcO?@awjb70`YUpRewzVqcLCMIOZjvaE*MJE>jg&jMV>6U+`o0youY}_#} z+l$XXme2mcotoIOia)B=E-u%bx3BK1)h--eX4`bLspIojCKay+8fuZ(4bhmpobLM1QDOyLzx*|HAT0sejGza=)w+saP>NjF6)O z#~XEX~RTCL(xG zqtWJgvq6g7Qm<8i>0R~ucb;y-e^QUFTq?{zw)Rzc|9XXs6)F~{y|7J<{o*^k|JtM9 ze|9~-KUpP@oVtAEbcuqT{n54WgEbVtR3S@*e)cB^&;GXA*>!fEU1!(Xb#|RyXV=+v icAZ^k*V*;7TmKL3GFDJ&79t-20000Q3NDW0YO~QNxLvE<9y0Einx3(M+E?5Qzg!-fr(i1;W2W|n$EL>2&gZ~bk% z@yqY1hT)r~BTj5?Y(^%XMkbX)Dw%-i36_#r3IPV-`@X1FLR9<^#bO!xVgbcsaYPBZ z(Mh;hZMg8|_th9tWA0G~)UE8MO)9s3y}t6wE4{hPR(>D|?E4xU8s;}OWiWqkD|fcF znshotLO=ij0~4am@xzJel!H*)q45Ik+`U&0kBnk?csO(%b*=D=x$f@n!RLwz&szr6 z2=e`#e)d93_G-^fozm9Qg4HXQ=s9i8LO=>@7}gjt8yI6@n86GX0UUFJh#&+(Dg~(& zn84*y)ja;#6KZGwUKEPsPdJYIp6-h-`0wX}3C}eHhrquWz{NmQTBh#HX6m8Gi9e zC);#GQig$nwFcT+ShiqT5CcpEfWXW(`o|i;V76cetc`6H5u_53Qo?mz1c9-C?(5@$ zkzpD5)z4k>+KWD(&2Cb;+|)?xubu(ZNftBH?f2fB3JV1{ty{u%>$*xr#Mj?=b1vm2 zu2|SMSFb(sM5zRkwg%Q(Xsf|9JM1avlUl$rgCZtbqame)bR8(ifh5KE+;^YZJv^W) zmEsj|yZGYI)CA$Lo&nixR`m4rFcEP!n-wR#_?$ERa^)3)Hm6$HWkTC#CL}E23qk#Y zXb%Z`#nL4U?HOxNB{obt41t)C_5e2>5t^qk!&;s=kC;)@6oz5IbzL}$KqUB{`yMd6 zh6j`h>>K~~;#dCg*)T`+Y)Sop-FoXA{lI=0Bu;HAkXiZGY6e>J9xo@Hk0x^ zA`)c51ZFS@7R)Bp><59&7Yi60%VTV89BplL(Av@hK?I8Jc#Q`<#UAm5FCe1WvG1!T zQ>9M`g6{_a0SU(yYmPn6-1Wc%jrp;$tBB}=-ripESEm6r;(zy+AD>EaZb_#aI#(`S ztd}lcC|pO1AP5l#0oXEF5GE)^3`Gi3NU&rWV=*{9jIr@CEML47$wUH%EvQZhnE7dZ zf!)U((S)h8#=?T3V-KD1T)3`>haY*&Y~S&uG?HF<$%W_LdL&JeI1)C$ySv-`;MQAL zz{=Yi(wWY+Yr6D``%U2-b zd0+s72to)*5|AP~M0}k|ahfVuL^RDI03jga>sV_M_#t!{VoB#hG&W>7C>1`*%+%Mn z;fO&M;;?H}PY*V2Vii=v@6Aa!wy*74qg$JrRJBru@B6TpqlYIE+lR28y$o$0iU&f|G5Flgb)rcDXKf}!tP!Ic1Em31Yl7tRI=+GeHd2(KR8#|77#>SuC z_M%*lY;SL`eBLu4yJ?fm5!t6kZo4#@@xEAtECE3nLYoi^=C<4BrWTY!^A-STZ*QmP zI|C@UZk@UF&O4JjtbU|1o#q7{3q%-b=uiXJLXe1v&s38?&=hv;^HZz|H8T}sJCGBM ziX?tgJEn^JgsGX9;rm+^Ap}CB5r!H`FDWva42%iSz5DLFoj50;=Pd(zdwT_lc;~?Q zx#>)Lap(NGR*)3dGK?`0BR+| zGuT>?jl{uNgU}cdNTgE<2q~67zH4w50A!CqG3T%`pf6TYKMY>m)R5uU<|fuQL})@7 z=4oWdPAi2oq*&4W1%XBEJ7SJd%n(th4U*{TAnrP#E`lY<5nw?eAz;|Rl0{Q0Wm4(1 zC?hzwx0mIdpa0y6)%W?82QV{j+z7t=?z^4)9)0TcR3b@^Qo>pbt@Q*Pz;&jAYIrdd zKnL~-n51`PwCKQLXzjgr%4>C6p(Kpa2!asRAVgIM(8fS(4OoVdgo^JYw3ZW&i?CAa z?CvH5z#Q&EjyfDALL$-t4D;RMfyYFrmq>s?WZ6Wik%&S*rb(Q>4iBwMnx>kJT0|2u ztVTdSXhY0k2r0qLs8*`T7m66Gl%RtU1OhuU3TKI+K+xJCUo64*16j=HISl!qZn*Kk zPj(Z@pJcfDs|zo@&_7&-96B5@!=_D-C-zphpXrDG`NlUNT(WSXY;S9U(K-q<0Z64V zr@0vk*8^C`CPN?!LPSjPslGr60RfJPP6R@nH`Hm&1kPh4xWR&90I;=SW1~cm2<37G zLnEUomP!zUkW40#NvDu-T{ucX(4-q@2CT6##$ae<1Vi~eiq$Gc$MXn7e_K+htAp{O zZ@u-cZ!I0FHqfDfYrVZc>o5uNt}wKJtCYJkkxD`6DmptmkxnPUY#|6R#=tP6y|oQV z&jY~#JXO*s%tU<{N>QvYYPkUfNbnRx6S)@#!-8!Du$h=4f&>DsF*r1Y(eW`jj*FJ& zW@IuMxQ>i`OAKMNwG)`pBw3=&93b{hX!?hS#IAvUF-i!S;}jV{jw zGooiI_20kcm+#Y||M7G>HLs;HgO0W~+tkp&Zo-pFMi0lt5H&)H$nH}ePBXpD7yB@v z<^!V7$T(~eB*08C)`HmrWB~>&2%4kU3xy(f?cD=o3|i;R!JO6>I6}c%3uY5xM*C=z zwOpqO2G+*fNCf35FklCVhV8>UcBrvJ0c`P2=aItY-5=_%JQI^d2TS}P{NTn#oJ@S% zah;bnH#A_y(j~g3r9lw0h_Dp`*aFOP>>foLkv2po$BHP)qG`T@o9;4lUUhR~2nqGMhM5}pTRLa?Qdv{@EY#ejj=c2u}6#{@YItscbLf;schMnq5Y9Vv2idLU5 z5P>a$*+5DO$Mvvl@80miM;~*_mGUE^RDH#p-t@Xhvso6o9NELdfLdF~_iw)WM9bKe zN;b?n;rQcqM@x&U_*GbNWGZUm;XYB#WR^+$5gOAlU?Tbv0;Nh7L&HPJ7YYzUB9TZS znegB!1u&qkfgfs=OC?xskVq#Xl|*4YkIn_1XltDV6B@vpI{2EWE#ORtq(p9umPCiyb?k!obiV z+S=N%a>X&2+tvopQDCiMwT2C&gJXR@1+jAUwNXF8mxW`gQpmr}y_ee{ovV9|mFnAhGG z`9n5Q^c3e5Q&7)Z#9||RE~Nl$ExM@{Flj~x%=Ghgky`zAY7C0Z5kVV+mgZ(LK0a>q z#lqR$Z+lDc8(#a`VF2QeJMQ3v)d1Q6*asfybxXeg=}aogi#ivGs`f#GYRC*MVG_uX zqVGdeb!#oWL;}YzUxAjU4A_JaV92`AbW-v}996~N9U*-nW(eYmjQOw{9X5f9(~%pU^>{l&J$1cyjW%kp+q{F zBxB79H{Q6Z`QnS$kHvz`Ps@Of8#fXFluUI+Dw(E4GHEPZi8yJQh+d`;onzwdUl5-z z`I;#TnezJ@A8HJ!mwK9+enb@4dSWKtuFGHuL6k@& zAeC&j%3lItY^I!GKbta9d}h(%IxZ55*jigBp0RBvQ&-iphr4AO#O5$vm%wp%G}WS| zBhXyM0E_^b7}jcdu4BAZ5>;(G>jit(i5P*CLI_AfV77HFe$&}{I@m(aENZ1Z;ntZB zvJgnq1uY!Wp0N+Sz_Yra>9k_vvm8mjWrk%7Yi$&LNeN?3BLMXEP2W{9BNSo5HbNik zZ?sN}SWNSjhsgo&*H1We7&&7ULv>isgo&m@xFwpNQFSJbErV^8-bS=z7$S2}dBEmL zOeSxvMaWTYl{xBen6Y4fn4=%AGjMdcOavXlK#1cuNJN6FwIyo-DODkYbq0A>45;M* z64(=l0sKG{Lqyg%#`!S?)}0mRbnyCpfYh$ubR6h7Tm{$zrV3PR0EkSFjY$-SA%#Hz zmw4cyG+@Jqs1MSU;_*tQY%ArmBt-ZMGosFcDWSn(Pxxm6lg&bXriqT~L)oXpeP+Un z_GJozCfeM=42qpYrCK4Q^=L+99*^m2XT^Y8Ct$HL@u;!1t6HsqVXS3>Awp=PNtLMy z*x_%VXQIPqf{y4C0--f9)=bz;!`4>A0K~lQqKnQRohb*HAqpby?d_F+w|;$95&l^9 zLk>b~C#(zuK@d#QX#&MgnXq4|G0Ui^KBB0l_mgq9J+Nu1`C7|ycSPMWVV@Zjk@^A6 z70qborc2DUF$lGuh=fQ8lq*%P1|b|JZU=zPn>WjY!h&jDZc@n`OO+~(Ps zT5I9^eoQM7M;Gr4)Sn{ofUG(OfpJd&C_r={5% zut4-32#kiUmXS)PAc?>*pu^w~ETZcpo`#vudrqB(C9Q(#Se>f5-`@HT&+ei zKLE>sA%VcxX1r9Ap*5TS&+9MVnq?L_nz=qKW{?8TZrY@}&pmfs2yu0#>eJZhm{rP& zM?NF;Piu>EsRCnpqV1fqf6aC3klf7bUz^?9FX4+djBEWrTxXIFKzwF`shf@jPwlFk z`F>`u6N94SOSw{w9dC4f!we-Q`UeJ37#~L_nffdMbj^?fKW#;9^Yzy=0MWYilzaTb z$XkszO)V`=O!fYs32bfDeh!9|0wTtyCI=;^E4=fR*Y;~i!PH52955(7P%uQ`12&{j z{|fW|7?2PG)-o!-kBVP~VN5{g)-r?;C|4?aZ-2k4luAFj9Iz|3OJnl<(r)r4!+ zoVQ%~qP*kKKURVgJ-KVA6;iN`yT}X}mZI*2V!4d*VgXe@tYd&YB$E`yR~%z&T-T>V zGdgn{-cbeGbnG@7^so%O- z!S|EUeQLWzQ@i8@#Ry}))DXu|1I02dTIG zE$H3=2b%?@>xZ8_R#%vc-&z zjVWLIAN|Os@BDl=n^n17P9M(JM9OBf)YH?$U%&3#--MKZ-_+R1r=E1OO{dec8ioio zgCSw5&J@Jv!dgHBu%;%VJlVTXlX#gGHfkMY1CWlx785t~+PE{KCb4Eev}kIbK~5HO zgsKfT#q|>z{Y(-}0%XM`BMFd15G12>2oPHcm{{8xQUD3pL7`YQcinT3s8q{jjK1Q7 z@BI7E)VA0;?7gA2z1E0`zjEDmAJ*FZOJk-{EnBkGbS_*%hDrF^!iNQHMEpP!*hXa1 zh+6$DM#u)H7zCFS$y2>l23~p&GL4O#%rqF~ zIUqL)W<}OAEE9~?FsOi`0S;lg0=5RQA;20y1z;Z%K}>uN4;2Vefr3v7R0Rnij;JDG zs{ld((Ik%LgwgE67XntNp*e|)@L)^=h8uQ(RKlo{opq4sEeB+n87lH0HBRUDF7rh zNE=ubz?=X{2Uc2c@LY;2cp89+OdZoiv~5WOaim5p;<*9qVqN><@+NGD44`ndpu}FA%98a*LJH9Zm=Im0{pFb-28`+UvCfBph;1CD(=y2|Y1pu?LgKgL5&rYKB z@~8Zcui-Kpo>dU=1*D;HI|R-g3|&V8ac;P3@YP8@ znsvP7smXK`%EP-}z5DXxe~Mm~=qB@g*sg}__VlEU8#ju+zCHrh;g54F^0v#PslsEg z+IGIr>XSh*cvh-)5soQu&z#cR`;o$)jB5B@QDXyujQ}&$vXe^I>qQ2f;&+abhTevg3T~zHhFc*UpucUj>Aa(paGy#ZKwj zg3=7-P#}eosgW^f@B6#HwS9G8A8p;*#n=!%#Ol622G)tKU4y)_yW4bq<^FXQ&-vGi zQ+?swl*F+u6#QX#UMQCQyxlK|Cc0&ruwkRX#%_Q4zumJ^G&KHm8DfKS6<*$f;I5HD zQL@(G*xhZ;$uixxkqkD*7ug7KFC=v%EL?@Tsxoj}!n0k~4z1NoUae&6Ghll+c;Lqn z4>>Xzv5;Qn6DtP)a)kw}MnDje1hEtd1t~&O5`xeop)?XqTQ+ugpT=1T+6X)Gy;&B> zkzSqcb(dWA@V}O<_aQ*h>cqHt_Y3FK1H*yy+b71T6C-0!)^7B9xnUD?G%B+ZX35w4 z-mOLIb5N-?(c^a>|^mJ^QfixxGTS01xawxkH#w&uZ_ITTINeIJHxY}64UK7h5?-0h6$#%tj= zyxrIWPHoKVR~|c09n+S?tq&EoF$5@g2mtP=|M-TO`2U<~Zwm)+S4ld_&uFdAI8%wX zufp0+Sl$lu&WAeo0zfE8sbB>?GS_zt!^` zYXCE$CoZ@3tTSq}P!RH@$rdsO$PmGnKy(ZsmI87c z>{B-&_~ldD+YMC-XzQR*uUz)I(H)zzP?SSm+}?w17WA#k*!NU(!*Rznmcp|;8=Yk> z3PA`kT#Qz#JYKcr5D&Fi$3_4ExgG{`&jkaR&`kOwT?iZ?{`L2@Si`;dd_iNTm5=XC zBIAarFvE3RB#j2M#&B6PlgmW@y^+#vmJ`Bv2+dLIpryW>%<62f>vx>;t|vqK5JY0B z)6xhY+1^|3& z$ol!h4~=G9BxAIIk*?GQbZ7$^<*7oGup&&Fp{vp@x=WtuSaf6sNe8s&Jt+Qsn@;Z% zPC@feb_%>{O%6e9^Jk3N*@%=922CjsO=%BW3JkMGnjMT+3qwjMBfamn6zEorBG?Gq?Uh01r;R0Rv#yl;7lvPuE65-v-8>El~%E>uoFehC*MX zxvdebBr2scc2`RnDO(;dGI1$C-qhOg>j}RV(Z$ro;733MV&bpO-jW)dyYh=HQ|~r{ zaC}2qzw7iS@#tXS{OmC;+7gLT00=XUeZKEgpMTAk)#i@qZ`-+n@Lu#nOYV8Fdq2RHpKUdn zJxYziezi3hetOIm;J^-w``jIoMMt>9ri_<~rHQPSC_K7H}njJo*W<&hr zztFd2IGOq}dG6X|n71$LNaAHH+f<`VxPNbfg(X-gH3$HSmdc-kJ>oBa*zKM?Z-F1I zXk`bmaD~JZ1wVW=@3~aX-??yn_;=0M-0f_+^t2EFj=SoSwE@c)B)D|L`uDCW#ydIj zKKTKt8)oR^`YV})X$j8gFrxjH((L{cmu~K}$swu64d>?MbPxAJVgqcB!1d-6IpDaf zwymv@`(c=>N~7)VTi-Lc{1DNO6<0p^-bY8oH@|sjUUkhSkOX!QTH0ChJX09?V@oys zG{E%8<>W8@+G8h4DL+*R!`C}*3L=w6X`EjG;0bi~&}^e4bztIyS6=<+&azJYMkd|m zixZ{r)MJ{RliNKQTg6Dx;r^;mWULO18Ulc=-D`rCUw`QDh70d+^{^}-{6{e-4X9jzU&+KooFcYvC+V6NVP9erJ{y8~Z$-R*1j*4^j=5xiD`?@&ketax2Z*-Fx zp}Y+8qs7mI=KTrR-0eJi>2cRB`Pw79hDOCFHxKxy5Nppm-p(|OAF>et$^HJ$nK1(pFc0Z|j(Bz<3@9nIRuQ1A2gL5Ba|PUDcFYzNWPlp1GjO zS=i{n*A||Y7|9z9RTUJ4V=a}jfm&F%y_^1W+!wc=S!Vm$-#=oJ?){>@Co0lcYBWOzF>~8A1;sTiq%N~I0u_25;SHIdccofv%EO%47mINBy|(;cPmvgLG2+qR&A$TIa~5hM%#1_K`Po}iUi&d056Jsq2q$@VXNWn; zz}&KZoI0f_?*xF|YYnn2o_HVq9Kg?Ce$4}m%jHTk-L!k>FW-882>_OT?XJ^H)cBu{ zYF(pv56)VeGH+iqU*58f8OAWhVNKcCOez~eeSAOxwgGgj+MZD!r)AbS9K^PQx>CaLDGRs(T=tQp|wW1B&dAfl-M{& z7TIWo=GSkdVF1H5NnZB#`@c~3nmz;$usSuWUwhm<*)=aAZ+Upc_{O4@%t$>v!5gCd zVDNL^OWk7dF2AeANH+z2!xO?Q(Rji0Uf+=|{dx-VBLUK@zS#GMDmm9nDHHSMm_F}> zHhJ3olpHA-ekfmsl(Jaibi{z39!4$))Zp}NR$#%aBrZKITyfK<4*tyc2 zzOYp-$_Nzv3bYj%^c93Oc@N$&YI#lW5EyU=)&T%Q@{~skiG+)$j0>p<`Dy@REvi1F zzY>zwE?M&K*zY2>{c^G_)-Kp0FWUW6v-BI?-?Evuw>8;Ho?ogH>%X=PYSe?HL#Oibf?gJfa0T!i;!37v-m|jP&#{2>Q5x-`QHQh3_<_1-+ot zHK)%{%a#P-2NsS1_7*E#3_vc>f8kK)=v@aHj?T~-7on4`u=kezkjkYHO-Toho&)K4 z7zs3X`I`F+mUMZnG*`&mrr<&Kt7{`|x%9N~JFRc{ludWMZIQ|c=dEzndCQxGCl!ju zV7wag?vfPoN_xJxt?Gs){b*ID*R@}Psl?A_1vYN5 zE5336qEN`|Q%Ue?%ancjv2*0yj04|jKxsTt^tl{3P~hEnq*PFjgTYG30efKKJerG=F>&Y{xAv?vV5T{q^HVO4?fLCv zWwm>_6b3qE4a<^TyK~S41C=J>LSA>*dzbA+FU$QnpUnz%cblbO?^_ZY{8Oh}u%|6e zIVFO<4!|IYhbBKa{R*@>HIZOm z-rj(;>tLLGR0Y9R4gwJRtIXN~GwHix^K%#&K*Z<)ZMk&CxF^IVgQH>L`n$@`kMAC) z-)tSBTkkK3KMlBESRDCny0!8NWLaRtbj{z(Zw;dzzQe^+>rAC2gUFfTIK|42)NG)a^#R<>?U^;agZFJ%vm|0?AAgMFH$JRXkQG zqrXf7oAGeN;J>FlspG)Ich=!f# z-}ly&OX!I=_uSW+*IKYOwYsirTN_;@(+R+n$P0@KfN`y`yAm+qv8(y_@kdPGE!$Mg!o9qQQ_ar77o4 zQtIEI3k`4ZRO!_P|a4&xTb)G|~AzGXPcd%r+q(@dIBJ!UV6%I1tK1sp6x*TtdF=Vz2}X zDj``XeG35Oa=GfBPo}$4qVi7;SrkKTd}uFUa@w{1;nRR>0)Q1FdG}~ZomZ~1UD)Z$ z&`MNvfWa`pKvkR3z!hZuEe~9_=0O_B3QV`bUM@Dn*Y3V?Z@Ki~9gnHwQi*)9Y;Hn^ ztWc^te9u!Q8qo=%6!mQFUK5~~Werq3e4BUILdss28@tyOf7iWgkO++ICN&*gu%9mh z(}GO@CQ}|Ay!(lwtX6#OfT4)tNC#upO0X;MN(w7?y<>R6|1y|3yCmU=>VKr0I5l3C z*EZzPz4lt@{Xn(p2W$wAdtIfFFaPRZ-+5}F9EPE91+%R%^!U zjd9B|&%S=pZ5Chk@aqk`Kbqe_=vpK>k#c!(I1mpF3gq*C(UZ zn*V30;C*TCXUhMVvk>Ts>M*kf4_AEU!PizD?}ki9q!(opASto4SVgIKawf8-I8N6hB>bON$l<%$ErGO9i`xamQht=c;{Q z-)B^a4)y!$_dh+*cg;%svzrvMEGEv6(BGB85&X+;a{33GhWOdT@W&-$-!%o}dY%#O zIT%7`LKcKB5c4@Mlz;;kFEB00000NkvXX Hu0mjf#7lC7 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Lightning.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Lightning.png deleted file mode 100644 index 2d4b195ee57bf06f09206d68d98602084e954ca22d5206aad9a47c741c6e91d2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7445 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 Ef=|6=y8r+H diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Snow.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud With Snow.png deleted file mode 100644 index af01fa310bf576f3c093b31255a5e4e8ba1a8c9f239372f5cd522793956c5439..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10294 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 IM6N<$g2V;rcK`qY diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cloud.png deleted file mode 100644 index e14c6a76386c67c241dbde4b4cc42e6525e6f598b5943c8c05ba0b307863cab6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5605 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cockroach.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cockroach.png deleted file mode 100644 index da1e98f9f28a1ad9e4e647a682735e98f729f2a3063bfb06b623afd072fcd6f2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11198 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cow.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cow.png deleted file mode 100644 index b2b4e61f233d02c245f39837fde8d7088d2e6d4b9510fc94f686daa4a13f98b0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9783 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Deer.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Deer.png deleted file mode 100644 index 1d6d7edeb097c746c6b3f50ba0a39c5ba5a2d3ea1778368326481fbe67d5361e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9419 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 bFQ~ngB`|A(+?4-5SpjnIl%;DBCL#X=g1eCc diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Dove.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Dove.png deleted file mode 100644 index c137c3a8edc851344fc79d711570e51759a5df653a6ad6c1938084a14a6e110f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13989 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 RrY!&f002ovPDHLkV1iOF{~Q1S diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/First Quarter Moon.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/First Quarter Moon.png deleted file mode 100644 index 12cf53545eef2089b4b8fecf05ebbe2e443ca1ef76286bd74db13b2acc01bed0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9924 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 O7^;d|3N>;TVgCbzds*xN diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Flamingo.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Flamingo.png deleted file mode 100644 index 0791fc7e9468223d28d757d14417f03704bbf6139b6a609c3accc74e1e55c3ea..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6840 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Fox.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Fox.png deleted file mode 100644 index accfc6e087eb5747b01de60cee940345834c88b04807bc2e150f3c8c8b045212..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11747 zcmV<9EgaH`P)om=3W}4G9-L!#H z!9e3-pbrBB19KYVg@LK04PMyVV5^L=u|UQame8)+m#oUl?QIcp@BPgmH(pjsG}xAe zWV-8~6DME3%oh>ww|;-y4Y;^2u8Zs9y0|W`i|gXLxGt`X>wmOmpUa0Az|QT%zTyb- z(EnI;ll@@WhrRrA%#kC+FP0lK`}W}$5@Y4RCyMWX`geQ&IQbktr~6)V>07&2ob!6$ z-#_d`qwu;cJ$L%ol|=&rM%Q>^>ZJ3 z^32khE-wTF3=r?S_L9G7y7p~F7*U0C*`NjOWWrQ0S$t&qk^Nx4(C_D-lf9{` zrEIF{yW96r4F=o%aCoO54euNk1t$-mIrgAa^ek zzL==4`!S0TrTZEa|6km&=N0Q!`OiigU%xUkH)hSuby{t*b_3VyqQf$*o;WhfTsC^P z*LBa*`O0F_waSQbl4U_UZJnH+h!UcX`XgHmhkN~C@J;J}@J;8}HjcmXx|t8mHuGP9 z*JsY$clTmC&%p)ki_M7rU|za_$bobp-*x-!?lWule;Rr7ji)_d+GtMDZZ^m|6XeZi zFj-C&qaaEQ-Uihet&RW=JPR}XtQfGg58)70YI+`pqOT_(J1RD7S=(;VZs)W+&1l;V z4P{%j-``Ud#rGU8;`e<0OJ@G~O|$F&_cwn$yjKtnb~l8PcQYY=#jeKsSG@n#%}@TW z#J9^w%irMustZ_oft>ZhbgjT5;eB^zFV#Z-Z5W2PT++?mXYCA=9pk~8Fbd|>nPoRD zMl=e~td#7{ha9Pz7}*9fVA0Ud^Z0_Apv?~prHLL?i2~O(1D9t#R{V&w!E(a)IlS6r zNt@DW8kcpZxpG%C+;oZX)Vb=FtE=+f-+i_Dkiq_YS*$)aw#ENY+OSpXKlBwdQ=@YA zZKja#pPGoxy>mc}{v%Id*VjjGwBc#Qf?aOFWsQPedC9a@)EQ0{O`>t?gBL`KnO#&b z3Iig#7DFILj~eJl0f8x7GS^V9S6KH0PJ|YZ4jc6PeYTmtJw55TdUq8EGpZ-g@Vc`b zy6<=Hke{nY`r~qd;Yar2?tBIc*@{vWxaS!N?jBItr1O8<)(b=y3BUd7*4G!q{!hSKh|@*m;0QoGHz`J_BK2-rlcWI3ZP04OM#(51Rv2DH+J3n#t|R9 z|Al8jfF%tcjTOOwH%dDfN&#cQM9Y+eN#Ez%e876;==Cc;_-WWR=gh0FbzFOO44pGE zUq5gD{c09pxAVc2!!`*R+u(*JkTSCsxqYH~f`8x=GV5^jancH{aGh?ZL z$G*#&Q}O7}c1-cT+h>%WyTz+Id*2h$e)hPBDso%f(6A+K8_5vF3W(BB!3gw&P-5s1 zRLXz~8wU;?h|eYlc+L!HxuP#IgDL`sXdLa9VxnM;fJQPLl{aWvF=;EhQ7F8!bk6g> z^O4&w&+N@tiB3;xa3{>IXV>DNz4z7Tt#=-Z?*!l(DCywB4f)y{-Pm90j?`y1Ye<&m zWmEJ1t+QrB79T2sz@aT4S|q&p%O|eQ{n6i;YRYZ1J2dRtE^_2-?mqTtV7=$*HejL! znN=(XlL_t2ASh}eM8S$;i-?L4iG=8Bi1fDxr!NQt=I7IeV$7HDLX1(wSPF%96T}P7 zC<1u(G;*PE!f>Pnfn0@c4H#9*Up!uMc-_cd*I9S<9v?EN-IbpC_21ps+_l`=^PkO` zQ#ZM)czMw9B}Bb)`00mtT45q{w$oI}q5**lABTT=LO0&=5;+5U*c$hsarynN&d&SH z#L250qv3mJJ9ft1P*k#&%l z5UikRAgVdN6`H>=8c<)UvW@drlprFx5jKM0oY1lnD_}4Ljd+yI0V)(#vf}EYq2R1? zb~*Ape`$H`jZM3Aw$!t0!f-AA$L!3LKh(@+W~ysxHCtq@9Gf|snZX&b*5Xm3s+AC% zMHyzi*Gr3mfB9%MS{RH*tS%p3$yQ^hJ!SK4yKRt$x!X?FGkuoN_4WP-O6!}JlY_`~12RAaGHYm9C9_JS zp|o3IP#l67h2#ckBJ_g;=P(9*j2IJ7JSQaiY(6x0c-<!5Lwy(_p&W)ZM#g7!{SAJ=5pZkrjjiMKov*&I!(fwTd-LD;IK?{D2j} zCZ6`?c3OxTrStHnK;`jCoQM?L)1XiDjEe01ceY4 z6B9EA4x%b4bTKgUbQ(FAUNyt6J+m}3LyR7xCk7GY48}l=0gV;nBSepeK!P3~K~Q55 zlVMDfP{g4M8lz~0W@fqUvI%zYnq+CI$Kj{WalSvmVQJ-xv*1iJLzw|*B1S+=$~XJ%k6;43_DnE0Kgp4!XL;($CCZ+X&*WI=F*ezJV}#5Y ztc?i?X=1{xdhWVxnVaU8&BuF&f$bdrt%u>@4V&=zg@K`q3m6s&!B?l&OQGQm#sr3y zU~_N*tO!0Rnh+_`3Q>iX<%o$HUvlH6?Ag;M#*)ehjB`jV3B6T9e}h;IF)<{cAs}Xq z%ags)&4l^|lczBfLm&=H&~+jPlQl4%4z@i-%rkuHF-Exhnr+N(Z}H$?pJwIUh;2J8 zE)%RooK46mv+4YT(kl#Q8EG|)u9rcIG7e2vo&~t)zzZA+&n?x$XE*uiRYXm<+ELaOPBiy}gVsSd35Kt!+>j0z$V z>x5B1=&xgD<}jTJw1V6PZnFJLcvD)Dt5(Ysdt8 z1IS%us)e5GJEHg#|71~zn(j)UZDs3Ot+Tb$X{di}RD$;^+b1k*BV|}Z^g~;h7d+vf8#v;QOP3@_qgTej4Z1_6%ohkI?PO_bCiV;;nAm=;}=o` zIFP>HdVBJ4sd9ESf|-`86XE=t5`q$=<-`fY+DhQ&TlUgvJ2XP3kz(mMz8GM0hd2Ntzv2uWSpe)n#5yrpc+!0I)W`n z7|Bp7zT~DoWG3gSCj(K17+`%MtPNr3Gz>>U)(b(5`RnK0M)DlmDO5qe6S2nHU{m2C znV|?aqV<7IW=E|iDYu|bPzP8+ZLQ^~kA?S!=`4rX&A$sO^wAsCPlH*4Lqr!1&H8RmO%oyTe z05RwZw#`3PLr{HD7%*O$nva!*&>uzF-4%%Ngg2HDl*$>ciHK*GcVwlgY8QSyD5OC(^m?*gR!| z8y1A+WsJ>;vEu4$wquOp)al6SK3qKwtx955f(oCyd-3@2-~v{7kr;6Ap`?1wwLjS} zOxYV)JL}M0ZNsUPCDW5_=I6RpF`|@|t1C586VcQvYHPbZMmnx0cn;D?c3K)BxgyzE ziWU1bA2DW9LP%y)YXsTUgbStzw-s3>Qzrr@7h-RjI9f+>bUGP(FWtuJGm!x7nGkw? zrSM?jPoJv;e$EUy08v5S^rvf2m7;$&8bqWD@%mXq8)eTW+sK__BobDaaj{B7Fp2PE z;&0mKEGF}jC&Ft3Xn-~pnu;_P$s;BM$z;>KNNwk-&6l{E@D{`wa6-&L9h-1ejnwxr zW_k+Z)Pi4M0#l-@?A|+#bB3!Y3{x($Hc-1fB06jTE5IFhJh%Gwb2dR^KTsI^zF|;` zLbT{dy3LHa`EC-uVnpbz)@cMb^T#ThoNg_d#@2`?7bH)$1?RwKU|oG=U^BsHf~oEJ z*tVzRf(esN%}PJy#-zVHkc}QT1Pq2t zc1_aj3#+|ceMB(!9S0zeh3`dWzyXK{7qH*(5soPKH+wj%#7C zBnWFGYLsZ93IiAo(Wp$$WSBgQCq}_7c{#gUw%?;5cN}`|U473B3VLv{&WE+jA3f3M zcr$aRGcln7gA7JUNZ~$!MRB4vl1Z6Ou~HK-p&W6b&S34hSW;`sCR9y9nQ>T0X32cA{TNzj4`{ZV}ROJ$QFc@ zG)NH_YiZZSIK$H%vbf~Tbu&n-F~6kqGrn$ZdSrY*rcQs1Bk5v*h7#k5bKBc?bttF4 z_D{k)73A*4=cjq>d0_y+9ft_}_wP62^%b3V6K8{oVMr`T37?bV|7e6@((7a%BI=Z2 zA-ZHXtc;OTLN3(yoI1))_C2O(xn`a^t(~uKA|kDiq!CgV*tO2IrV3}Uiq_JgQvY4j zdBu-VKLm_4J3>ok=X+kh{aOLt|2z$#nCGj*SU~4L{D1CtCf?ARYM>%Q6%Y+Iyhubf zk`AGEjv{Cfq8G}MG8!pG2?43iv!q;ajhM!DTCAyqvkMr1Gm9!?C!dHOfDoXnpeUj8 zN{Fe>D1g>=hH(ipX=PpTFA8Ery4_ZoX`5^`T)72+ea{c=o*xaUZ>F<6dgV;RHQJMn zpfQS6Wy)1rP>C1paxG;sLg|&!2!{Q1408?d9obt zc`-kAr-a1vwUeDD&8Aagz?36`x$tEee^Halls-b`p$LlC8lTraIxZ+)g_cp8okVq;pi$EwMnmT5v1hO2mOv$9yGE-O9f{&8J#76%Zm-{SV!43q$;pgJ0gA8)t)GbOtOeU;*7Y@@+SEC0yH? z&NOOi@D-x|Z{J}py&(u?1!Vz6A#7BRBO6W5^coZcVbHe>)`g-c_+j!BilS0Sv7#5C zV{QL8k&*%L!IwfggkcdGdRVD)P8AK-tBheK$sd$S2(%{WxYI&5tDh0A3ZklXC-N}U zl*!(Dxc#|S!k#wQ z1>W?*5#Rd3f-vgKCm|K{t<0fvJXs5NI`3yIn^~`TFN05%;_>Ai+;Hl{X8W z=@xlIM7^R_xhd@sYr=zI5w*m+VM~nT7w%W?JvYVoz4fhJ_VQQrV}CZ{@Ol#qsjVeM zG}gs;Nle|$cG^0fY-KarR+ZYpM`BPm3d?`^=!mtsm-41>{uX|3Dd*?@s>G>7y`WK2 z$x;Agl3ClVO9Q1xLLjr5=}xw37UA{#7Z&orXNKX0VZgzZ+2OhmwqM@L{Vg+TNY6@D z5X$0$F0-XnD@l?gO2fbdD;fXgnDQe({QZ3Qcl|5=kDvN+X0N=FcYnGdGY%h8$~9_T z1FoT~qhyhx;<-LzZRyuq5)nE8I_W$VHc>7QMD1UIm@Rw&SIZB9i z9bT}M+-xbq2vlDqF z2BV`s5>igZh+cpxM36|Vdo6Qo`RG$4x-;_}KX!us_xw29W@fl#ZkA8{MPRjPFx~R0 zE=wANN*I4k>{@$eBk}>&PpWZdji6_A`<Uw}N37d!*qP4_2 zpES#LZ=?!C`*%b2Jkhj{*&de}1HO17_6f@H^fTPjMY2?tzEP@h^B{p)5 zbr_p*p_EqlkXw_u6-kWCp`AsnF-%X*Fgr8D^z<}SGt)FXU7Aj4^LsjCfE#|OK?(* z*{lVp%9l-tHL1COTs(-07uLc2oYHMM8d;N0yUoPpB%Mx&tl4CCI%8%^w#J8>f}&b? zU)Q0r)*W@Bzm9rO%XqtMx)mm+c=NB{GVxFEUL-slL}b3uL1%zp`OfdmTu*;td$+|* zI};xw)o2|bsuaS+)C#CN9!t9Lr8eUmfld~9#pToZXfR^xCTOMd%HHiAUa~7AWwABo zaI7Q-WP)Y}bv6+_bC5g8Gsr9&*p%8U=QFOH@1%5skyLCEq4bfPE}3E`mpb*3ZgTU! zpT-PHu?0XZk^Tl+Mz*zEGCk2%A9}y=uGj78uy}z+{~!#wcVCkJ)}Q~@f7sp#H|?CB z@D5|ND2an2nd2xI@@`Q#QH5ywn~YmI1x97XSKmBE!$5z~r`KPnC<~TXhP>{k?d+bd zh+|X|Nkq;Z#$`yBfwMIeYUy_d$!v-P>TA!ol&`#bmet+{VN|fOvB6+8K)vT{UbY<# z1*kz|%Fe28iCgNS3{_3$sWwqz&?goJhG_O~n+!Yi{HpTo`JcWU!WUX6HeZP8x$_YI zoiB5@HGS`G+uIXi$~cR!kc|yYxDd=}%LtN35r#q{>?{+~7N2JHbTmc;fg``uzR~ihr5yCBLd68QOWG4*O8r}Z?biGa zcOJrjA*RTFzNY7)hmeKa_cTL)^$+JJ8$0$+&4N@W6n$bj+S1W1Thh;4%YNh6Y<4~y zYw*1_?%MY<9$yhY{qRX<8}O??a67MPKgwWb6=O{ztbuG>Go3#u5>vOc#FzrHv9k<9 zwOl}@2!^sycC{lfx%qZJ@QKGbdFmWDUpmi!{_b0tJn>1i^z|S|(lU*8Y9fpUN7Dpm zOoN3Q)7*n8V=C%6N7o3$AoPZ#yS{C{^PaD}x9S1r(C1Mz{=Dqfc<+XHUvGbHKGSdC zJvSF-^UV69haaw`PBpWo5HfBJvEy=L+$^56rGR2w${S?cx8rX4S{_}FTr$;U+s3C@ zeeynB!)z9Cq-khfH?dg@*c^?Ngx%}F127C9>k$VjU9VB_BW3!ETR72vB@dlk=bv0Q zfjseF85})~vxXRA%C>q1UlTv1S>_l(14x=1Oqvw{FT|kGo*>J*6yAhK&z-iXV))Rv zKfqVkGz*_=dft9Mrss{nPxzHv8{aW2@y9ONHd{>_>yEFlb8Mr}3`%AUl4Yody6I^w z>02a!OAsch$sZNPSfLyZD9=60?$!`3b`Q#Ms`QgR555n?K` zNJ#Gqitj~YKPHnA()D^vr?56W!FYYK_}X?HVGuNVy`EN2>H*lsYwJ&@vGGSUxON3Eqx< zObBTJbCVgh#N#CmW(Fntlp@U=GgKu!w6f09u%wwA=DS@6RYkun7?{T0-}33<;^*2G z?C)cMDDZ9j_BHNY`^4cr*6%o5a6U%eK)E!thMV^8l^NqHHkJu~n21{wSh8_1k8Bpq zQ=@F1POu3Y)fwQF2eVsR(;d(-3HmjJsY?ywLaGOht&pT#4QlFaYeWcW$k=!)KmkS! zvGRnfHX}7C7&B60x_AhR`gnl>z6KM1%!nFZdm(rQY0#M3$xt%>`qVM)j|!=TQ<)m3 zo!!*~hPXZ7_L<>H-JIk6!jf?+z_0WU1*QA_XG5dsE!zye|Ip2xUOT^ACPxLm-dRLF zCQC&+iFL&)rXjoZMFnFlHU?rD2{9lI(5W_Nb_Zc{2d>q`WjPv3;>Jm2{Ukc*5rN6= zS(@dl5|-DeX=#lW$5Znvhy)rFj^TQVj}h&3VdoXt)+|OWq40$Dv*^kRWNiaR9upFH zO5ZxAJyOvkK~To%u0}&z77Uh-(U_Xy#`!t^=InA@FNYyy*-tG8_c-cz`%!xxhJWw; zuzWuIg95z!OFI8L3)PQLPuPj8rf0M>7|Ni(l0tN2>V_%7+LQ)0Zru86{_Q(!9Vpey7rS;QY(ta`1jwnCJl+DvbH*p zz5Z*+uYL{M+(yI^V@T3oc|!jjx^jf_*yC{g5jgn-_WT-J)|ygJTM`7RZGH?%BVrJw zO8&!iJA}z;J+`(XCwo2brS-Gl{3CC88+R{;&$W$>e6FbX-8b>ZR+P6ljb1<1Y_oT= z5#9N|2~~-8NjnV}nq1wu>B*(o$afuaeh=oV>(Og&BksO}tkcDa!TFeSFh(&prhyA% zvCbh`8|RwX48qc1pr83!%-|$Ai-dq;Hrre_=ZGaqZU_;sdNcOwZ$aGzS_Z13#0O6d zo)8pKgI6VppdwUNfo?1l&m6%VeiS+K1akTq+S|a4NDPRzLf0lNj^!%=HYeLYr%S_u zoLgUEHP}-g^P>-cL-me(4vZ@cUjPF(b3V6pKG2?ge&MPpxufWdCL8}YaU_wZ#9BVPwV6CeMDh$?`&4D{Z`kM%l z%}@=G<3IJow3Z)Db+}k3XU4q=lA5Wi5b@W2JI(998;L_g)hGHiZmQ8!`6_8Zh=dpk zA)?;nH4?-T$OtIG53sAtm~&^)Q%@o%mx$+=u*>I>!H987hsL@_F+D?=oJ3}}vqU~T zdi<$Ye`WR2$t%`xcyJLta3Na!!ZhHAzxmCxCiFkBecSx2F1z+xziqB%@j+xb0$-2^ z(99uCi_J4!vjgoG&NYZu$cVTYQw_igxe=^!X+H;>P>{10BSM}xHcd>c)lLB%pwT0) zLI0`ydHnZ(hNI{Etd^0|TU3SI7$$Si_HM=Xx823I*ZdHwRb4Yk@N_U75`2ZVhN3J{ zh2SGGMtlr}5Qs4nf+zaaljQ5|aEw9>0bdqqe?&DJqN5RURHPJ(YfyE&NS5iT)zxtP z(IakcdFgM~oqNO2zw?id><9U~3O1h$hKhjhU)a|jiu`gXZ+z4Im6vkK-piQYHiNZ> z=u;$VrJlDEidFZ ztgdqW$WtsGJH}u*`rU~bzw>R2A3OWGrszLsB)oq==0H6K^22w(_RU`XPv))W_0uy` z?AWxcNCdU|ywH9X#pZNI4i7~S8 zb+04OGGYkWZkzi*`59jM#_uCUxcaIqx#rqyxcu_Vxa!KQD2jq7o_L(2N00IN6OVK3 z_(_8IEdKJ3@C|SIYW(>g)>(oopZwF0vAn#*m%rxKSd&o&Pw+|dV+aZGgjyq_ZvM@O zK&S%22a3|C-$Ot|IDPsoOD9h0`uSCc#prNm+>iZlzxCnwJd<|Mx+Z+!0CE4meU3X0 z#qzOuw(FX6g~y*ebJq1Y`b^JEk+~G=I%}xPg3M*ODkIA*S)O4tM`jg~43Ro|jg|^Q zb(AI%PaJ1$eU&$S&DYRqHBn!0#o2H?`owWURAy(l(eDpAa^xt3!GP1Jmk1$n?%Wy9 zojXTS6wFRfaqj$i9(?3D-;iaslqt>`UiF$+^9S$$0H1x}L9V{`TD(uYrl<-rq(QtG z1K#_j300u-B~?`t%0S@*K59x`)QN)oyjCdQ}iWzVp^w-GKx5SIgJ0*Bz9f37D2dal*V=C;r8jeGX)j-a-z6Iww85oKgOG8)y@Lcv-~W|OoVF?E}G zDt8+L&KQmyImUI@T~DjsrRtBs8loz!^my%;-_G>RH2p!JR--|`-^T~f`SU9P_^P6+ z0*WvyN(_dte*GQjdXL~eL`#enS+mKFH@=kn{``})TW!Q;gcuT{iS@=F8WS^W^OQ_e zfFO935T0ILz47Lo;?k)lJ$>v%UKUlzlt&b}=Z$X++<*V`lMOwP4mtGTk=2`Sy7t{R z#2vl<#+Qx;JrfmeG_qifNf}#Je2hdN66TJ{KKm*Vf+qxz_euz9+ecNQ-`ij~8gTvf zHxOcER1}nDNmW)1dVRKSpJZnHPTu!>e?oVnn;7acoJ;Z(V#EiJQ8;_<96$8df5|t0 z{hgdUa~2cb%tSCVXdPqN~$X0eV{BWs;Z)_($A{$_{!sbLQ65G z)Q1Q$gcvr~*ExOsxH)^~tQnQ%2Yoqs^H2YO_dawF$eo7{>GS>w6IJ95U;lXVrw=^w z{@bs=So;5;P)KycH7-qG@M60j>AZP{jw2_kj>SF+@a#et(U; zkuf*7gF#s_Dl4k8q%2Fk51c>0!k4|`7DAQrhadSUQAC%gbiz%qer~#0lA0KL5#B#UK2s-~8~~{_LS+Yy0=_H=i%@pX~!2WMN^!EG{kv zfCF#2>*YgV{PT$Ur_SX!Om;go@&?UTi>#56=M6IFG|#h`H8Rbt9dGWF*rPBSZP0Ev zx%|qjs5G^Mm@T)aX=_UM?!AtCe(u-#`Tyr#?3~+$Yd9bfL*(SCCEoO=ujH40@&{Ny zbC~GsIkY@V6*>^=R*n>y_B+e zWmU!7ka#^-E_34MbLX0Q)6&iyd8 z7FC6-uf2g^eAoN|qIrGHdP*nxSxs_US zJItsYY3{nQs7f95M|Ln8Nj2(I3@e6J$*?GhqfiBnXQS#dgomw>Pc0p+kSGQT1nkV4-z>tv??}y2tzBXE8NRO z!p*tMcX!)uI^8bqZqCZu`FP`vH_P<4St-3wDT=3W5s23mR9$=hOZntONBK|x*RSDA z&v$+6-Q02KEgXLMK`7Fuf4Zf+aI>T+f-fpQ_R){U>DehG5eB^;>-|1O8P6KEe@&FX z@=iaS8S_*-y5r3~+fV=7pM6jNZ)XY?>>{xEED8U-G2m&BcG|yRxc6RDw@t^tOC5jl zdl$NA*3MjC1oJ8h+?k2IG8n&Wc5XYjz2fCDMl~^pP02Ny>bq&vCWD5^?md^$D@Ft# zn3*^#)Cin%fGks zcW-;YU>;mrl85H!b#Za=d3(-*{DVJlYd`YPLkn`l(o(wC9e2cfxA6;F^p>|wn&#?P zjYj?V?3mw?@7}w|x7)38Q?H+F=c>l^Q?{NNYcxqC^sJ3*G`1XYTn3`J3zq9~*+OPsTGI&C`L z39KmnUXNbCkFPw&8k(&(%~m5c^W0i%@MT56H=sW(Pd3H;yC3_F54~rr`Fv=8UJouV zMtKn)we`jFur)cjuwd?9Tnz8n|E;RM`{Y(st%fEtUSeNq=Wt_E}vf&qtWz6#e-=4o2GRqbIbjmx$PhPH~(qz{K16*L>fBU;3rqGtt{~b)5g*GGMDVJXrgT1BVU;K>yu0-u1GGe!ms}`bOT^)oM0U z#ehY|hdxBu3kei&f?zI|?MN=3fNp6K_F;(3o-rFQ?f?wh9M#!(qA z_k>xaMvP&_HQZ4rlU0fH}#r1`({~u&GMLKr9goOYA002ovPDHLk FV1lvW05Sjo diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Frog.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Frog.png deleted file mode 100644 index af2b5f5cf695a6f77ffd759cce6aeecbf92fd67248abf9155ebb42ec160bd83c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11020 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Front Facing Baby Chick.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Front Facing Baby Chick.png deleted file mode 100644 index 378707da5ce193fb256bd14839a41ac50facfbb111d668cc882478e46986c68f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9084 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Full Moon.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Full Moon.png deleted file mode 100644 index f9eecedb35fbfd84ccc4d8da3feec43b7d0c24d2c78e0039177adb0819cf2071..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9663 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 LNkvXXu0mjfIzMJs diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Glowing Star.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Glowing Star.png deleted file mode 100644 index 8d0d3d7f0329dc2aea017b53ce5e9c6fa87cec277b0cd9cda5c44ce8a6dde580..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9415 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⁡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 N002ovPDHLkV1hBLCY=BP diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Gorilla.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Gorilla.png deleted file mode 100644 index 73a01cfb3a6d7445a196a05b280a095ba2eb647ed90413bf225ccc108fb56978..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9859 zcmYLPWmuD6A08nN1!06t7}5$T$UtOt3NjI7(vpslF6r(XLl6)o1t%gc-912BkPzv1 zq=3X=ywCsByX)HaW!Ii_esTZq`#vY;xuzQJHP&k&5QtX&i3$q%HvjJprUE{f(!3BL z&>f_@ilUD9uk8Tax9pQ1b6&gKt4A}|-83QwRBY6)b&Q}Z+M-v-m7b<~v$E`$_^y-S7^H`pu=rSzbJKhBj2d%w?3TX|YkoHuyUrJS~6 z;9qKBS>vwT-+baD-$-Q!W4^?VucZ>s)^nc2lJk=5((~I_jU`KA`q+CtDa(Vt<@yJG zH#n$*4o6*0&u2$Q=$~n5KtXS;>dj`tT1PnO*rj+)9mC9Gf`7(2?|2hQ_9ntRobf`x zpzouF8Pe}QHQgI*Jw2OzaMSbv`LM}|3h`#+ZCYB|h*#4^+we)|WkS-rloHrG`|6Nn z9zwNow*E_1i}NI{1bh8%3vq>+r^%Pf9JFCVJf;IrrWfjmnX0*Lx(vb8IKkxOe!ftJ zrSWN>Of!SC?`;$8UclN^rkCdrRq4xC+LxD?hx*>#wIyzBX#Esy*E-EEs?sSXfQP^` zF^qHD;Y~V!ZQsm%!KD0l-`PrM3;LHYf4l%}Fef{^B?)2H7Z%1z4~h<(+w{HR8l@~i zT|x`%2_YaBXbkGS6NQYM7PjmE2ujL`oP?-xkO*49vp4qlU0wOeP2~>D)6;K7C`Wab zdJ<~M6X@s#_zR(lO7)p*p!O@UNkxgBU@@*oPORD`tN4(_#gAeMfy)^$44KmJLG~D2 zIY6^M3wXNLKsn zyGPn7Ei+TcFy`#DOy>LL)7`-1p@y+i*tY8w@hLWxa1B-3sVBwoi5A24CZ93|Nt+46 zBf!DtH1RmT33-t=)mlt4Hb>^D`?zUcwiX*7?=fGT0tt%A5~fgaYTQkrqPVmQJnYkx@=6mEL()-6jG^5he{fIXEw?$)PcY1B1#id^uWsDbH41Q>mBqV*RN{0 zhzNs}%@<_&^>xQL=bCK2y*Edl{g+=x-C$=J8ykDWM?N8Wo1J4FG>`}PN|ky49jmNV zr-8Up=hDW`K}Al%7C9m>609P?8<|VnetWF|-wGd*2G9KB@Lt6caGjlaT zuU;v&PXBFR4KxV+yQ1#Cd^E`s6Raim96OvYVjA;NCu})I5qov#s(FW6a}c;-NNB-N zYE$KwZ9R(MU|ZLHbrk@lta z(?`Fr3byR3tL;5Z!j#H0DS z`O%#5A>&jr zT?x}m+u~fkqUD~sWAs!IA&|dtWYaVEQ>Y6}MVlqX?aHL77*(r|61P>$3DTb5Dz{oG zk9JIyYp8y*^5br&#H{yN?=y+n^8`AXJq1F%>4$Iq>TNG;98Tlf+uMUG)`k3@m*|Yr zO548RgVE63$kQtfzD_2vAQ2~T<)`Q+~(l$a$ssnr)dL?^!D}!ulu+gN29nITY`4wS{x5E9{*$I-l@fj3)W{eG8CjG&Lummc zm5r-UOcF0CotPkZayP1{CyU2ffhU?}KalnI?b~E~IiZ{`5;Qkn9q-KE-+LO}VDd(a z{Y`_(Yg}%;D$`?ufhW`ge95TiMvC`RgqwamM^b>I!R8^2QxoBo@Z@V* zA}U3*p~=@!$Szl!9>{|6r}9_)&4byd_7S)gt12T$4A!Y2%g>e%l&7DDj9*>fu8bP#e^5cVtgQ zW|&8Suj&UU$cT+soxFs(N|Scc?=}W5^2q{2h9*ZMGaFrQcd|vf?k%uS)i^RK3V`6W z^kh_Te{o`YiXW!Bo&i-~?+u}7zL;7dHt7-Ijh;K7(x(e94?8(XdnU)gW8aJNe32mc zJ8Po1?1{*DRfEtZWBd`HRHCYbbvP3U&hQ3F)D6_&8quC`u;kEW`z6N zLz($7GrZO zO~VkSTR3(ca}pv_he4eI?d=Vgm2G~)ke-qPT8C}xu}ORF;)(KmWW~kBAdt*(*fL@v zGYn3Jhem@fX{u_P70Cr&tRfrPmFy!>g_M&Xqmwgg+vV}gJqeW&5fMGN(5cdl_^rfs!Rr$vE#O6QeZ`RRoEFM9W&P-rm0_pN9I%D4R+}oAx?9REY7pFbob&_ciOSbZLTmdm!41){Em=e62Z_gXbz7dxFe`iJflGRdGxTU~8IN)(_#1 zGzdlzdV>SjwSCn&3bPD5HkpiA_cqio~q3Rxe@>Z}}=d#cTp^$=hDsd*k(ZHc)BVo(@>zU0cgj;XjCK|f!pBRKyb zNo0Mzxk?xMaFi@pRZVTaU-A;cBgGm1!Uo1!5~JWisL_5q`sMg&ajm&l;Vx?_VXa`7 zSVU9)h&+k6Ps<*J`|)k^KqeW9lgTUAc2t?3*B4~|s#l~6R&<3)TR=a*QJ)By5sT13 z`Unb)ZhJy{;H>dfQdvVXkY_GKK|~U9SDt9Z8q$pUR6=Gx+1snPOq_{_HzHih2!3;= zCXHWa?J7tiiWn1Vs*;EP^JZ3{Ne_KK3pTQegSc8`Ve-z#o9Dvsf!(`zPKP_?x7|4% zXxt`f7wT{mq4t!-503=D&1+kO=NulLE-i7VrltyJyEn^Q$qGB`E|9?hG(NW zW)<>0JZUM^uEd>!9`Y%7v5wM+2x3hv-hL# zQJ1fYC_cixyQO=0bR>Y&nLj;P-@USz4*=ZxRmIGHvgh^2a|2K!FM5EBd)!VuH6qZI z_zqr3MuU^U2VXO_Uo5CQ>0X&}s!rsk4&?+oxsR(DZ1XR0zs6fdI~;*MXsQsdDUD(9 zBVWi~-$Y=`8rDA8lNQ^ra>(r4DJ32tlO)g%V!;e(Ofm`+4MO@{rlc?@hk?4T7)(t2 z;uXA|{`6hh9m6ZAQ{$MEn{+Oo2#nsC0e8~N%F5QOvGo5~BL4;Ezq8CAJF@wvO;Qbq zGEC_LB73hJmV(-3Riu9&6eKU6F=$4%CxJ$z4=*A)LFV|hL>dMf(5O=_P-(euShi^z z`xQY@axeC`aC#%<=wd;O`#J0zG&5F7oQVvUU?agQ)@Qt;5xM+W3ryd~F4m5@2g2FC zs-NOjDO_Reqi9+i=eXwv8Y|r@bP76x%xgr_$%FHb2Q=)GZY$)F3jKU_KSQdiMz04s zA3pp5**&p{2&V`3(6ZYJ4MW71H+>^l1HUfistWaFNBpU`G?r54e2shigt~-@e>E^S zCG;K)nw9#s_h#*DP><{1oER{6SwSGevoYSYk(OJj*>sq#J&!CFVt!h%CB~fdE~VdU znHaeGyWU-b%zGt_Wj!t! zYwzs^1H%kJm6I>8#0>76O|DU)X+k+g?rLSPXvrRpLxa_XjqBQ4%!m|SAC;qC+u7ME zf%kbp0EV)3&b8RSq^1^bqkfC*@PLU7wL{gu^WbjMfeTb!*nPEP9n6NCw} z|E6}&S}p^J>Mb$#5km}_?oR~Tp~|&0gX(o{2V*OOmV(-5F9Vza&pvQJyYMTp3X(g^j5|N#ZZ|AEjn)6vnvZkxYakYflP(S_MgIo z|9e_~e!iC^_P}-cfNA}=P>T;i2vc!RG1bJ`)`rls66Cdj^s4%Q&0O1bV+^_VZY^{` z%qml%VdraCKl5MY@!V|0P=PmC!(%(xIW#mnR8q=(oJo_Kz}L zOuV|}wvM*KB|*RH-Ph^Y&s&fys*GHSB)~H-eX`)z0%s zyYoFSR5&G6P)viV;CgdvgQUdDSKd6wl{OC5ysGYQ?p;{M9t*0dMjA!En4*<>p$*@+AW@#~4f0R}sJkx|*BkPR!4jLD5)x@=RBHuqqp`Xx~#Ug306J>hl|3 zC)WvFmECW`!vIS7kd;@F zCulM(GY|6TNNR0uZN#Y-E+rK!W;680Y|s_we#@#r%4I>pg>-&OcXV`=NND&i2>Yvw z%z)84+S;(pc3_8OV%(a4`(_U>Ah)V@@T-ctWp^E7cM!Av$&tx`zw-Lrwx@eqCFJ~MIRR~H8UD>p+(*3ZY{@wCm@rnL z#Q`id|HyaN1z+ELQy_}7R6oUi)lJfjm+U(x? zTHiYc1Fp~`NlEIVQ}*WOW*y=8@ySUuUG^0}g{xBXUS0_+5!?!${(2Q7UogXD4Cu%n zkHv-?#ywY-ZC5C93qM4-JAE3mVG;LJ9o&2q#&#jF23fiOoaYsoHz)usP`!NR=4RyuEat zi&M8@k%#~47ri2Y6+HgnodS12{ga_nq+fAgcvbzvQY%if9W}3>$*K8@9umsg=GAh* zPN^7-DolQ#kAb^xjBvrFrTgXgLg+U11E%;07&k^&gyy>f$F8#mcuhC zajGZju2zU=XFXnDb;tx9gI%Kc-@dy5536upR(&F{h`-fg9~ z-)X>9=a$#b@A|LsHAZRAtuK~uI~^`|iGd`G`}mm;&EBGT07&Xfi~Q$VUeQvzwl6l^ zHl7SwZ*Y;NbNU?mMMn^b#>Vz`_u61aMN?Czy~Z;^l^+;5H@B*agSk0p4!gndgBzqc z8(2?t14L?8^Mkj?S!;n-j%xm>f|=R8AXzXx(xY+q45fe{eMjY-X?SpT=fCQ)FXG3v5cSk+&Dm%|Q#Q+{z_lNY8Hjr+*PL1}JpH%r z&Hm%U*U>b~nbN7G^1i8|zPaHW#QuEs^ZnecQtIwu5h)zYaKM=$x!UM575Z|M?z(kV*ReyPw1>DTq67#X~

h{O#vD|WRhgXhDf#p0>pdI}XB=QbTb(LfqE`ge{p1M5}2wFUDE3e;H9d9PN@S?Ul9wek8D)ctalRtb)- zLpeq>ilTVYYoTq1$SGIX!p3Ti0^KeM7QS?GK1y=+j4aX4Jn@W>s%--Nz(e{}Ur zckH<9C?^V8;X%+Fo18r6$&hfC0|yH|cp!mTFUc#$@$VVEOfu>FO%Mdk*G2?eFEEn%onpK=*Kh2ln5`=_G! z^$q!srEP|@FB17^u^4_T zM5!x#__o?(t@X@x-IoBMXlc;__)pl}RID~?4)FK??K9apcf{xl3%X0-I5grnDPkA= zZXQl=U})GLah>Hin^T=47K@$xZC6d2Y(AbNOlkMr%epFK$UFV%ySICxUSaz7(#(to z_WlwA+bMD`D!}~C&}Qv}`im;Kh>?vu#Q|*djFk^Y7YZsR?94U$dCB@U)aS{#mPCF@ z8<8Dm1R%OWuc*0l+F?!}4*v*P3e%f!>XMUUUsN1regs$7jJ&R$0s6^BO-;=TSo1}; z-_GgJt)%PcR=3(bJ2DS;Ym9_=)jNbdGI*&O(zC8W1=pen-a&&~jeyLuqV?W1)cJcb ze0FfJjWngO=#Kr$uRkfpOgd|kr|;R1+^Wz1eltQgq4!$0pKXp(z41+HuN@s=EXW7+ z3)TAjy1MQ^NJg2(l$CTw#!wDRBvAm$~Xeki#!JXQdj z(nic|@8{B-l9NTc4H2J)T;m@@3Y1i@Wx6kARxT|ymS*T1)U$h@vc=%v< zzBTBqqUSb|9=-L6K97|$1diY1RR{EjdH+ki0ZB$r!Cdn5*2O-mFq{({*(vgyc7Y=& zK{fym76pmO%LnP%2Q-as21kG4uMAP?~5^T3Ufiq z@|u%`_UuP>h^(k5tw>vLy%|sq5mK0F93*KP27YN7(E|lazP~$!PYjy0tL}xOWAodp zmu2G8@z7MjcvFH=1y@wSZ2(1iE6*9Ckp97mxj$Xl%>pX?B5bPsz2Tc_|B+|*r&hxU z!sKlO0~!vP)6|ldSfB8+j}>vv8UDv@ifW7lHiFYY;xOwCdV}`E|-NK$e0JL^0FZBb@WP9d8!#evCaebuh z-r<;*78yO;BL@*%f>29w@+(6peo8W{8J)`JS16^g4;iX-Hfs#BNTxVD>M^HBACo_1 zWo0>T0g`wy_m6WNwcoY~KHKwzA@bwTgjl!w;xNuBFJK&876Ax3pM(kooECinJ|P-U zsjSR|Z=GxzjCuSWfB%YRX9e9Hw0?(yqXfkFkZMVH@_AcsJ|2}6Sj87xEOyiBeW_Nr zA6!P5QtlCM67Sr-OAFd~9&|Ll+U?@~TDkl9{Hcd1nTl;kC0nhK&2rrhbCj)g|3WM@ zKV_8}g}ex$g4|~#otGqwx|!5=L3v8V?+um4T|?lQy;W)Ka2CC}#=-=UN!POU%MIG2YFb2Mcz?SM2RcjU;5J7YM$nVel53A$h zX5YWHa&cRFyeX9$V!-uhGill7(<|DCwh{qHClrq53=i ztqL4)En^w0I^I4gxep*24@g8-wuEeNdV2bW%3;aC!QeqmiGw`PJKdMBB-br@WksdgtnC9(a?;%5P{bHB)q$!)EZNMHBiqMS4qg%fAKMbxA(HRgE z4M|r2@OI2C;X^#tuBX&Gz&uH%E{@VO2-5HXNN43D&cn|sdP|81dC!u;PggL-A9S_y z_bM=bf=~iSi2yNis5Vj(c-)Pxn|gcNk^t1h62kLk$plUCWl})k0g@F?5q$LTU!ZJk z-YyVqxrYxe9bTXXLLI;zfRHUEOaOkN^&sIj=zOyvhh&|^d--51+*lBoGEsOl!X%cm zP^Yx2yfcaSdVm1V)W|qoW4seEP_{8Y2Q7wNGh0WDyrO%#xCK*t>}|;HheN3j*+Fkt zg)6G64zGY}Ym7=B0P_&crIC1l;O6a?-6CG~Ow9uKfrF;wfuSK&?~i1pRo3AD&Zox5 zlX>$BkvQ^6kN5x!Y4*zOo0K7aRcVvIrvFMA&p3x$M3-V9Hn&@l&DPaY+8F*npYw_l zN=Z+ujD%W#*o7LObx2{kH8T;ediEC*>9zJ~4eW4tq|M|Y=aD^V!8q+>5F2&kM5tp6OMQxe1q1xD;$A7jn z^RIQA&GSvejn+5LdXa9@qO_eZ%r@0EokQj^eCnYhG_^a^l?8gi&uN42;mC{5?m5Nt zagRCG0?vaELOsb#{$N0CJ#NO=tlA_A1Gm-qN?~Mbh#%9Ej|UD9ECK^>V=9cJ(mnci z;s%hH_T!sh5ZLsI4@-X)*vovTh?S__RbQQ25PFE7o?dxfU9WW34Qei@U)A=L6EqodWw`%t5C9EI zQn$T0<;B(~|9JA_xslEL4t4r|%EaX8DwSepCd?);WY@ECJ)r0GRn5y6@;R8>Z8kB{ zx7=gMs%G>jzmLWxBUMYaYfe9boj`T>IgKeSS^V7Fwcy zCuWRVIu0af|G1N2^7_#|j#&V;sDkH*nr5cD*JLg}q=?WQ1X$Ko{xr&PI7f(!i7_U` z$Jc{2m>##@3rGAR2AWHJ1dX`DGOR26K<7p`Jszlk+h`i+Ev}Zk6K-w@wi`Y$NR56S z7?>@3g}nc}d=IozMqIplj&1qfyLY}oaBI)9kHs+X{N(StlcDZ=9Uc)-v=kP7wQV;? z#^>*Eso~l`q{G8EN$_&bdSg{HGme+W#ska@kN>$n6YKTx{e2yzo>abd+^Gcqv%9Mg zjP~oD^scZtz&1(b?X&r>I*wPDNd2>1`DA+l?8=e=QGdyS9`L(gfMQy@S$o*!S`0c@ zUu0!$KsaUqMijDehKhlR=~KFk>OS3uiubAr7mcIE-oNRwjWSd`A@z30tf z=jm_V$1=lcj7d@QSskI_($~f1Eda18&8BLVqbij@?+ecU9XpWegf92@_iO#v)mK0> zO+J;`>FH#_^2sPte;msLUqjOCTj*@6y@>ky`uR$hTHlhg)DF-HK%wkhVVB&&Gq=#4 zo5u&`VwneJ);fD*rG)Hvs8ZnH*!@0Eww(Pbx{84ZX{tC6tLPTjtryoRl;~XtUf@tr zmgYKRWo2b+HE@FJWoL)9CbE!X-RBCb|G|2u(|qJ~1({PvDO_MtNxblM-U#MeU8|t{ z)6>(>^sk2ZmwQ-Z6RXiZ*rJ%%`S8!%MA9kaUCqpZW-oOHkYze4d#mYpS+mh@{mFkn z_1vAifZ(Sp-0BA;*L4I_4E8_J*QgAH8^sVBH0&>Kf&gYr58{Q)8W#O@sye#_+@Nir z>_veI`gItPFTJAfWK;)h-D`7~kk=!h=uirBD>JFIPgy)k^4;9D44JTBI~S8J^C z(Kerj`YBZ~pp#{fe6v!Je9J!Bt4VGp0%(lGb~B*vE5Ch1apzUudTRfUIN30}bBp^| z()M=<3Tg3kEHy9{l|5#ZGlW5Lakp}&*oxq-$@~SwYPpM_d$w*oUrYJ^bDFMAm+fd{ zW5eX9-4Rz~VV<#Y1`_v5G%&_XiruN2IQ?A3zJv~#FM*A@O8N1?wF3V4{k5#vy>;>gXWX7>cB-^K zIYB?*re&z~z;`>vd8x(i|M#`NyRM#mlqbperZHadT@U^5iWx}#v8GC?l6mO=0CTNY AkpKVy diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hamster.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hamster.png deleted file mode 100644 index 9db3dec507579a53393ed0e7ea962c4dbb2709179a7dc3534a267ca5a65ce7ef..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13526 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 QQvd(}07*qoM6N<$f>O{aB>(^b diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hatching Chick.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hatching Chick.png deleted file mode 100644 index 776f935f8c65dd35b437b143792c007f7adc848be6c841cdedb886fc0999ad4e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10846 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hedgehog.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Hedgehog.png deleted file mode 100644 index fdf2a80918058d77406335f5c2aaba18e5a89b9c0bd528458f0132dc47d56d9d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12809 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 Cf}!F7 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Herb.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Herb.png deleted file mode 100644 index d9ea96ca1f633748b4be66a453e744ead24acf17e42bebbed6c9de8468b72685..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11681 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

G;1&ffzqhg`p{qN1DwOxzxH)}`@qAB9NFCB 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 ewq#3A2l@Ywvrm+Yu_&eh0000(0el&IAvfm>i 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%0Do!QO4p-6<8*mpZ{)9m|PXn!xOjXL4?|MFA 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon Face.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon Face.png deleted file mode 100644 index 75b7cf27d2a087dba9f263858503e24508e54dcec5ca7bd1fcc4260622fff687..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7822 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Last Quarter Moon.png deleted file mode 100644 index 8c17892cb3a6ab49b1b8811170352e9e08968aec0d190daafb7e7c53ade15160..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10245 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 LNkvXXu0mjfgO4{9 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Leopard.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Leopard.png deleted file mode 100644 index 4efbdb8f3ce605ad7720f23b5ef0734b4ba117294300c859f30916b9d800378d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11853 zcmV-TF0#>yP)p%bkl@e_m;fG{ zscvA8amQ7%WUE&K7{Lhs4Op$9Rx9X;Bz^$FGk|>l zF+TTr1m6=FK-SmPaAzJrcYSH;OUo+?MkI4?Am4Pg166d@Du+l27y!I*TY0feq-%5r z#mtx}hyg!&!z@j>@nGuH5t|L{l&(hbtrf7oriNQ$w~J>UKe2L-SwSO(N-^-}=<@Wm zIAKhoBy6Z}nASD>9=+{_x}UFKU&Ad~^3T_d;2SD{F%Uw)UisPdynw&|DoXfyI*qzq z5(IO0b}~FZDmK)2b2+(sDX&n?cJA)-)U_i2xp|F2GO`Q46#Tibd~k$7d|`Rf{X_`d zH+E{dCNm=$APfpc7(owX-HtY{xHJKS10p3<#^jtbQLmEFI;<5t08- z&~rCC5MNkP`kRcLDhPgo?Uv=(+A^LYZX5t^8X3$TpaGoCmY!4nt) zjfnmncR(3xcmgo5&wb7K8I$?-+q&3KmOVtfBKep;e;QKK3^?52Mw=@NjYf{LQWK6G zJc<6{5X=cO(&C4hIcAiRs>uh>FQ0JPESp2vHnJ1W%?VqrRlLpS5MEq)iCGdFkIcOK zN9jMh>mSSrKaKMSeEjyE5Is)t8jAj&Ubs5?VUo*m;7~i9gCR8c5o|fqkNa*pPb$k$ zk&}np;2UN)T=VR{wcD&!{4AS8{J-v)>DlbQ&E^nZy1A-ch_-GiA77L~NR-iNgvL1? zZoOdw5FbEm*APy&xDfOUh=w>A%?ebEOT~achW8KlAuLj~)wj^Sb$#fOFhIVwhWBBPsnXn{qtj{Y- zrDmS%9tiIcCE0IoeEPE;pI3f;sh!zukp9m_K@1?X91d7(N=-*PLfcxMQJqALVp@uY zD=I65T$TVCuLZAELq_B1>~Z7WkL!`Bm7%-OgNvpogT$0b&{3S|@j}5<6sD>X5eT~a zBA8xogg+c7o&CdfVyRBlC>6Pc;`$55Ce6R3B166SyqxZ3Yd85E4zTq#HJrVnf&HIS zz$$>)05&Eo#oQkje=)CmG#yi(N%HeENGK{nCQ~CAlrT6Lg;uMD(>aI}^{vnl9{2uf zA0`(n@%~;HAQy1!!Ymln3OxR9J0=%vv9vlJMk9}OixT4t3}9fi&j%?g5)|f}GSzaj z5RuRgmsVz_&l+QBzJ8r!5CE}SK^>0&f6Ws8f<0nZtCc>nv93GcV%#|)KbcGzpDFr= z<6xo&(HKQyQYsRYjBxt`NJ&Y=)eFjD)`#)HEqRd3B;=(~h=Cvifd~eCVbpa6aH2ba zEVCR>zTb+qTe?7G3@u#(9^cSKSHE$R)U^*trQ=eC;>vtuQdYw4Sr)_Lmv0&WTgDh{ zHc0y2XX!C@5V=`g#<2xlmcmcAh*8`YRvl7Q+lMr^Kg;XqRilSfhT5U{hs3+Ir4qI5Mf zQw_9#Fid~Dwt)={iDGqyK|5!Z*7of6*|@(u)CWDd``G}I_Mowx6qO#C2pLTg*BgaqqirBUtOJzRI>s)4aMuby?EiH z9^5)V3-cx`;W!q9KT2`Q)HE246tTDrPru)Wrp{r^otDjRyndp1e9uXK?~aCcCgQr~ z&m3`_;U;D0C@2PyRaOw7idF-tKF28QR3P9YfJ6GegMqIkV%93~HV1^8FPJ*xP{YX` z6VEFVR$PApEy=U6;hsURxv>Raj~`+@44!!49`>z~|E>)u{RxE;G=O#A?>tr7siqqgSO`bew(^gRDpZNw=6JEd>$0 zLvT{UjvX5c9C>_0$Iusd%o4j@`aVeG*_be~TC2E*1_v9boc+o9vnR|<%rT<1p%cd& zy2MB%wozd6?HmU+2do&CE~Iz&yV&18Y$Mhm`WVnMdyuPsm_Dv@+WpcT+@+aeI@1Z8N z)V1^n!?9Omz}xAm*+-W=vUT{ZEBV$ct#`2c9{8W5ht zYg>J=?{eX`E7FmdqQhTaZ^NxiOE9w{6_T8SCkiAcsevRlHow)5rMJ9}$5t<9%WkTY z+{ZdNS8Er#+g)&Vx}5Q#a6%$nlTyPCh=LULhoX#vvuKq_BT7{k5s{^}7*g}{GN4K{ zfY%zZ_8VRvDHuS6Dx|7xr@#(C*i>%gxteu?Q%jX z=a8IihFqrxAqpr|N~9O(!XG6#Qrj#}t{%(U>W-72|8gBw$<$=+A1{Z~I|xBw=pFFk z#n+GGzkX4Lw>LGh?Yn!V@x>{aS*qZiEiP!~TKGf3&jL)m_og*Rx2>-Mx5N(dKa!3< zV+U8Q0x6hZ8(Uvf!&J7i9>Mz`HDT(c6x@76 z1yno%PdM0L*-u`2^9W5(P?3u-Dq{%+sZxk=(p`@@q>uJ@OP61>P%51^Ub_E*H>EZI z*v%$R$RTYfTFH;Ee~Rwjc9dQHe~Ej_GsbVi2XH+=2+cmrT9fuH!VbQ|Th%(4B#}YRamY!x;K!Gi zV8(grc=Wy8kTU!t>f|0=2n#D88CWW7B0H_735|aP@n+Q$01{-T=X*VYcweuZdvZfFK5dF3 zE;95FMIeeYL_$C;L=h1ws8WuBU=WE$6_#E#8KGz#x8L^xY>zr{-Lmnhxx5?_kwKyi zass@&r4g%N{0u1;HG+NtuWfF{PaoQj?K@9m-rPd`>Cwy4)f&Lk+c&@)2;rXFCgZZj z#pvww;ntcW{QjP4c=f#|Jn-~Ey!Ku z9{U6z@9Kru<--N@i*e|v3#%U3f?4O~psB@)dmq~kFcEX6q`<7>F=bpDHf-)dMv@wx zyKH=4-fvul;pwY{aq?e<; zKZNbIJ{)T3#j+)(m^wKdyLPnW$!9-9Tx7UlQ68pF$;GdJyBUqG!)0y9mEyqXX8li00#U)-1g&fm{@GV%&}QGaJ(A|jzF*Buz7b6=2j-5 zVw4us%FGy*tA*oGFHAZW616hi@z6Fr`1gZIN>t*!icBoK^&Nb?y8}PIax8=}gG$YT z2?F|Cd$DN2Xfk1Pk;q5G+PihIVY&(SyF>D5e$ap_6k+N!5eN1eA|TL~61LF1HU2CkHWaW+86BZYrFv0eraq zBqHG$swQP1T}6;+QR7IH7e#4Gy`I$y6m{p9-G!1yA0*<{c z*tNF>M!g&p#%4g2M4UL%f_c*mvF@YeAe<6HB#_Q$Pk-tcPkt!TQt=|q?iY7{W0Vi8C-*57*djvkfcCPPAc4y2+U>!8aSbyA{uT-~tmk+_@wJCW8`V%hPbI!;6e0GmQEKJh=8V zlojZ)?255yZui3*226Sd*1vTCQzmD@Q{RYDx#?KDqX!Lb1MIGa8SH3Nf5k6eYO1wb zLBC1bf_{gDf?2IrdhheQ{gOxyL?Us#wYy$=X-gaOGZHYVNP}P`42430hDI-JPaJ_H z5j^?ALEO9Q6HuPu;L$-m{KQ@~HxD5*MThE%Ss*Nqs1QRm8be247>62%;q`>^(e6$d zbTTYmmYI$DUt8AG3(s0odS?NzQE3MW%{C;*<+Y@Ca#9v2HbdX^)~FO_d-S)G@250pBzNGMFl|sT!RAE?HU3jQ9Lxt zfJ>)mV)_^hQq3y-{@GfTpC!vPsgiUj-$CZfMu7NkY?oY-0x>&`yLnMJb_-z@Z&2g@antAFuU4_DU&mB@Z)~? zyaM*_>p*{4hOtIDG%DG||43)txuC2ei2;CI#_#Cp@Zib|CUaV)54O$Qq zLPfa&n-0lwv}p+U-Z2?kgAz)492wbKrUjWY&TrxKur5Of9Ln3w@_n@a=#N3IA&>MifbOWl&j0i>J zP%D9{V=UNt)P<4)6UG&%;P8n7?5G`tg5xn|LJ}-`ISe`j*1g?;`ybkhmR2{$jm?C& zryng1eJIQ};@+Q5f=S7ferH%Xf9#?)_dIq`{3bs2JFhgYuc_fyJo{R7ZbjY%rJk0( z@xcM{$nkEv^4fXOa54CYhj9G33+GMDK*^|NytAbl&u?ggNlP&%KN)NOaRlLD5Hly5 zF=uQVauX?pP!OCHM^U;0)5;7`D|E1b;>2q^y0M_rg1MCzWEqu^a{{{EQ9Qh^35g~p z7EjBDE2M%!oq)DpH*`8V0=-_OCCl)}J`X-U>cxSEK3qH_9ZMJHVfOeeY}nR`KfZ7X zeI7p+%*X>{3~TMR(CIbEHBuZu-YIC*8k(J!0E3#6*47~@E_SbZ|6pH~ohs@6Fi!ZN z)tpnm1VOY%Tv4+6w^x$~@A(lNhq`cLK#ug>QAjYG(A6=3+T;CL`&KJP=NYhQW*#lAjb>u z)nU`_7G$Ps@$x&hXlWn7-8WCd_|a)-Y3_j-7np*V1-b^KnDw)5*u1|7CS6?F-0fDK z2?c*(Ck!lEVwV7rxpL*kojvaEeCJTcsM1X7?gu`hzCkZud+JV%onpd{t($OJc^01i z)ntSu5gHALQ8`*x0f{L4I*1lyV+pM;V}!akz59I7}XG#<)BqqM;Dv3Leo|98)GIV9u0m zC^!y(T3-u|R*9tx^6`^Pi;wx~ zakQQY%Zd}!3IJHO>Yth8AIt;+!20zy+`M1D6I)O*N{YtB`I))NOs!JTsgsIPQk(;W z#eyUI4#T9Cz{}7IqAW;QZo+Jd+@UT2so<1oSErpJ>J9m z`vUC}MXJf7#<&~9W{8ke4Y>xj!+T@CW@c5r+zO|td%c4oDLcJ_r{3AV)^Fzjj7 z%%3rqsnja+=-=Oh!KlNy@#E0Zx*v^hg7yIkwka7H^ak~)eXb~8`qeZz_OxT; zzCP?Y;HRAx0kJv@NI93w0Sir=lR$7l5(%sVd~Z)|JF>zmt;P+36>oDmgzIMHUun>h zThmibQir>TYj=6jcJeq%$Bx3p(k%D_eo(CjIz(~n<)h&B4Iw+Z1b19sjO;WOqEW!U zsUH)^>7bHva1RV45RJldpiSCV>tcC{I<|OPE;%pX!WAVdh=P}BLv0g$fjFWu5#d-2 zq7a23N{Gfq^amvb!g1&n5}2Svd5qz)J1cSc*dR)a6QGpKFtaihzg`}}jM3>ZXq70< zkK?iX$3vwch=t=|EG`m?NIWJWCrQFBi;5u7IHLbsh*(VxIGf!eTsJ#^yo%uYtn?&F zu2hm^C!0{)<-_DGGnyMaVNNz7ImHB-N`?IFF>YK6mMqReL#rPzzSo4RF^O0_B^%Gbdjd23X_ztI zj2+Ga{Q31Gc>3p4pd_M5MKOw~gftV6J1;B3+Z&tEA07VT6>vHkC9arXoQjzEj^1ok zzr3YUnpT!dvWzP9yCR52Bk1>X@C04x>+?XPCXjJ%2l(AZk*V6Hj!yy2`t#gW&W~ljm znM}c)K8b{*A`*2xauO*B2;_1Oz5W<9d=Sm`1MFaXfZY4oekhe3rj1QOP>5ky!vJ32 z)`fMyn~MW=188?fu)p4eBstF*AVdUUXPpn{mB_&$0g)em2atvakf)wnA=|t51A9ej zcBUc4AU3(29EAWP0%OzE5E+jKcM!oy3}s1j=(QS_q}Fh~-NUGLMsWG;bo}zV(MZt9 z5R6E;q&k-kdA(%ImgX*Zh`&>&CXFV!tnKIPYJ*?AffbdNGH+g<6z@OMp`cuTYO;Yv zMGqozC3HFkbWB1_h@rMK3MTNdXu*yi>n1a17qY9)&m%dRdg%2^BpEq;@WcXaJJ^L3 zGsU8rY1p{85A|)sNX(TJa3mNO1pIAd2a0mckWum(|M0^O(KzIOvLMHDY1!xuLB>Qr+oZtm6E4(s1dwi!BN7wQIv9qGrz}k`V+xsu z62#YXELgf=@n~+@;xZWYax|RuLKGBO{;)&hL!c(LwDYcYwZGX}-|yN|+aEvOkj1T> zG>MefG!TaaSUhSJdGf;##WBgI%G4zFWM?oY_51y_C{>A}AOYn$$ax;Uo(M7$m9S`K zgvDfiQrM@vWBGWNpySDP_dD=uod+^1U|wY^lmtjNQp}&4f}CU?p8l}ZHxSru(J7}M zc80+?o@A;i>2v!3zNukw@Qf37IKXVD>*ilqGp66(?$>Y*heNpbysV{JiN>3}F}d*I z3wwCaa1cjoov3RYMkFpkA{->bppy}CY^sJ>3|cBM-2caqTdxm=SpTtlH|~9On{>zO zy;%KX0|xv7Gl>;C)8zh^w*B<|M3}J49|)n_ z6C{ltaVUreeS={f>-IvXlwopF0?RVX045KLO4H09r?7qFhbKsiMJ>*moQ6%i`|!#K z?SRC?6BKaWf9*w6XBZR8%pi;@H3}ZyKsrjz7yo^lFBIslT^SIGguy1Of~ zU%F+Y{iRzf4n2EI-U8)ev}Du0oYbM1jYnW zrBEVF=&KLEx3@)UNnU=m!995Nvv%&M%SxoDeo=w@mygG~O-*R&4PYq5=Fy81hfo<5oZKx$-Kz(AR2{=XB@xN z6H`uEv#sTY+ZPll0I;CM*GJ<4jLJ;F<>wb;&iD)%~Mdhy`%^-yvI_x`v57f(;cgz^+(PSioG6eg>9xEnkCIN2SfY3X_> zxY)Awch;zk-aKj0ek3JPuNe2{ewX;1qdPXPGF4=8>6X*&3(|L~0Ah1MtgNh*=~U_) z(o)Urj)ykUJD&Iyjs0OrRE9&{es;7wD#Qc@Cy87*7?s`s*Da0J>m0Sms;a=7!s(}- zQ>-~W6vN?0Cw~6tZFpl-3-%mw<9C1CPva4ah=8uo*BidN9(1}YB}88B=;$X!SqbPH zh~wjf!_cS+ECvpQQ&J+v!J?AO21vIrC{X;|e)5wr6xZ(g^f+xi>|#b0&$PT8@pufg zDouD~Kzq?76*10RWz?J-F)YBaO=?hCTwXO>Q>PzisRe;Um5CK3dH@)A}H$3PU;+(~7U`|gMDwPslg94g+Vnik* z7^boq0GKAX#I03T{IA|T@oF$GE#I=`1Ray5Vk@uAl87jxz9oW{f7yqh{c%4ScvOtf zrMYPuV;~}-p{*D1?`owVHbfb(RQzVmEo1&VtY&LeyjC@4l#xkP!i(>nfI><9KKtJ2 zm-SYCTOYt=GVYqJ3==#dNJu&O4ZS_a3RaHEI z{~o}zpT3BKa{h2!z@J|~M$8Fnm=hDw>lT@s5Rf?YMElx%0brHwYiT~Ksj1=C?5y*O z5%KNb4j(RyLaEKzosKB_1Da>Tx(b^V(1|lLtkQfuSm{O9wvT}6tl{2QMlbQ$i z6N||#T{kC(Io;tSHb7dx{$HE8=r?!15U;ALwCHup3*`m{e*M=?T<^dT1WqRP4MsWF zP_$tfnDOMtjjP$|SufjZvUCQerKbeym%?F5M&WVC$Q^&$i`B0l!wv>SHcXkT6D{!{=Arw^e|(s)_>u7II&am1;B;W~YijuF54z zdX40C$7ruNwhe0a^p`$q-fyj{;>qV${g)xi5lM{3uzY?#I6=;Yco;ulS|ZIDmjHKg zxbe(sE$37gJ=L|$;(OG4!x7T9c~=|V@M)Jcu`C%E&9I;(Pt638fl{U7OH7!sq7t(E zUvGYk$?2lc4)ppC9O$PvoL|5iJA8QN{T}Q%?7~xTwZfq0<8qbkw)P&kx4UbI8|rbf zpUugHNyf3(lOEyL`4*N+e6mAz&R1@JzV2hI6<xuNxl7U{%~yvzs1qaf4I37 z9le2Pc)zgRic@nI-$^Q>rUsnd4)N*F6 z!QKIGVUb!CVzl8j(~`dSa-Y9ffSv%2i;PD`ng#DU+R*C_VqT>gCtG4f6t%Ilz5b@B z4+>T*Xjw!3rzd@d-P5NeWpxgV((BvX$Sn&q0EtB;P7^qDM5oPmauX<)x{t?PMp%5g;B1>+A_q5%j_5-`(v$ zGv<2kS7td%r5uvLSV4vyqlXl%s#J^6&~St8#f}KGf|9d;7*bPHL+y6ENKR$IVz*U| zDi%2LiqupMJJ=NEO7rB%HYEscEkRjKA`h?IQ|qd!0Y}bZ)QB=FhC*?4dqf1nB0JRR zAq5kYgF~SMq5p2M{o-{T-*H=t^$dga`_r@u)XZ@b3HpNI6*6haCvcv@aQ*z0acisq zwVxX4{Ms|WwW^9= zHmx-4x*4M`4hhmn6-CK9iHS@m0|^9tLT7tO<{Dx<<|j?~!)af3R;8}5so|_u;MFpo zHug!l?de7k2)Jc&1|rd@*JelTpS{WWo+o6iXGoJwC4u9j@i-$Oga?&EVL^&8vU`c$ zE}{w)=P*FM#18R}jV)0EFu6QlF&rY;-!x1=s`q2VAs6w77$Quy7dSQdd$#WG6^kp? z*Uu<;&`Epi3>xuxih;f}wp^c6Tx4Whcem3GpPUf;odWN6OI<|8|7eNbE}rHf?5od3 z1zTdbi#7)Yju4&+F=QoDs3eIcYbXT91_6M5%VV0)*#w=jhq4TPhj%#S>**ZQTP(&{ zXSbX5dqpbo@=s0&fnU4-2*6ffm^V8n@fQ;rn;-*Uo|&e=ig{_YttY?=Eh^6EkAzf` zc<^i~2&)yOp`nJdf&H%)q#7?wPSb)&0u*vi(&}aK4hLyPu|YB#6r6WB=J$hK{PLy~ zeP?SWX8<8KNRQvXKoM&1oW_K}v}ib*J-R3b zT_3<|YQX)&Ugy1bX8zAN?Pyw)mTZ#y{XV$7(f4zbly6x9dN${41?Yt9tw82~hAn;-UaKl~9@@LuFpFH0+6RO(#P~ZhGabg>~ld%V!@QqmaukOifk@q9jn) zV2GFulyaN`j1b8ejFG5Mj7J4}*~>ec57*Sxa5meQ`zPyZU-RgdWmBcT#^+K}w8ds) zIykuiorXtuf0*p;4qSyYN*jA2zUz zd0{FLld<6e*7|iR^6#rA%&Y*lZEHRX z;OM`8j<4jW033)#F+M3XK`to`t?OsCa?$zuowL*ON_XedPbhoWL!rg-ygZQrLI zC=nQ6AB_qfPN$GfDFMVdf_@&+NQ`rOBoD{Qmp=7z!^Si1GGDp4PSRHr1jcg`i!xa}j1N|>J$(FY!cPW(yy!SOblv$AW(;`4 zi+K_+cS>Ta$iR4lMou8luG!gmvZ@OF*QG@2PjeE+U{-5*NyaP0NJQik6D^R$Fns<1 zI6_5_H%>bT{2ry;R0{x0&LQIaUb-Sq+2wP0KC2uMR{`YrNtV}JTfDandFx6!wH)nj z13;WZM2I352PaCbU8j`Y#Q?JEoJP|?)^0w~1z^ot*t_uc`HNFbTdNBk?Ck@sJ=mfU zL?9RlLx{%^3W$jKBmA&efF#ie?s#Rt@4GlR;y?Wb3j_dr=b|EA8$o4ENt0u75fA|d zr7;DK_lJjB{V%tk96mGjcdls%RGs1qXA*^_t||hDL$cxA2j{E+wE@zfF3Gz}Akxp2 zYE_mbh;mT`lNcAK9BY?E_QE}HHa`DNhw^@C1)SAUfAN%d;0HTNk^#WuOAGWg$jf3f z$}%(b;U$0C8~*%6=nwV<4)_j6TJ1HU^{#)Wn9Guq7+^=usocyDdPv{t(@_4!ubsK? z@9Lx!jC{w-*DsVW2#SqJWdtJ_!3ah$f)R{h1S1&1x5fVhD96VDk8>@i00000NkvXX Hu0mjfP@qIh diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lion.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lion.png deleted file mode 100644 index 0968328b266de861fcfba79948f9cef53a18a0ac351b5217253965525d55aead..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13740 zcmV;dHB-uoP)}Nkl!SCE3_kY)h78sny+*T0IYE{^mWbwd(${_c`5?O{}41$i3SA z?C113-?YD~Rkf<#daE|PaJ+E5aJ+E5aJ+E5aQw9#@;Bu|6y&b`Snh&bHlTOSA>2|v zcFQ63wrkM?2M8}H;ICUrH)C(P3on9x-RCR9ZOFkx$ogx)`n%q82<2Lo1E}!z-|zpE z3Q!OM{p82Z1&N+cAdy?JAk5a@NJm&*CO+W(6=2V@H|?FJfDK+ zHuUMZiv9aBw;ez~^241grsMQIEgRl4bIp|7_Tn~0KPMZj4421tIOpgtNyzxC3hO6&$=dJB)lA?HR5%di{_?Jj9+mpmk*6J24L>3ZbF~*V>0iOr(fo?GW z^IQHy_L{%y`abwU?AzY<{8-fUqJT>;_>=!;@@3lZf2SXYm*s}79y&%@sS8iUb?(bM zQ=fd(KVEs@($|0T$D?=E3;ETZubzyyy|`}3fmjtUVX&w=|L8F4pBl5+*N2j({B%Ax zSH;2qU_f6r*$z>CBBC)}Cu&3_9jlFw4aTUN2%=idiLVT~@bEH-lGlw%tq!wT|I$Rv zs!&+Ng*dSfHJj}_Z+h3tU5M!FBDvgqggdlcFuYJGnfsjYMSpAtz7_BrR85)~y;Txsulrj~o!*G3Mu@E=Nd!@( z-Lt7b@r7=*ypS>3v20)MiGKC@XC0s?70Ru@5%|8 zVr;EcVA8_0JB+(oIDb5o4O<$awa$Q5gCgn_%?mVSh#F9bvBL3(;fedl#0^VU4~S7F zcW-8L$5x%*)Cu*iQ#58LF-Z)*(8b43o0IoGXnLp4QWX5B^V55O;_W~4SWow3P>xHd2Bc!gz!U0mY+Y!6cZ@1k^1Q0WCaQ6sXHE!J+CP zcw{xq3K92xIxrq9aorLbK`>;_QH&iv2V1w)ryKZ*Dg2g=Ty^smY`9`Noc-cqed4p9 zv%{6*%e0$sdgCt)=Ps8e$mR6;AN`g1w&OhE~?%0s^>vK$4A*3THQpi)Z7(<>Sd5RQc@HwEB zfI+45>qUyV6bYu3xqNNmqY$+$$#e~y)DR4q0#j4QeR%ZVC3+W9hQ_iehH*Vc5gz)| zJdb?wIIsNXy>|A>9mVj(sqG8%7uH|-EB?=}JA^%W=(#E2Iaz>e`TE2E>gx8R{i8>A zU$cJG_22eV{j=YD#C-CL={nsiU1x6rBxsV0VAfg1l8&_T0Sb~tFKiQwGm(t5mXIElq`$*(kC;ramJuw zS&9M$f&{@T40GY}#~eHMPVm$3{#Gs=J?@U&bzhW6wKu%!pJsPH*AVqNS->q2?S4Js z&9CeJ)XbE8&ke7;(w}-{#s25teUu%0Berb{bX1t?LA$3+MG+hKwAk~~Np{^Z!R+oj zt(h1?K!PVYR|*ta^+c!&s-Zl&_%~D#6|`D^L6y~i<${08KLvaM@6h1Dd5m+YD=2b9 zky*@GXhzWJ7-}trC=kVgPAB5=!(+tfyzJYr(*Bt_SzZ|I{Li1}53aoyx%=*CZw1fA z0z`qk?!4I!KJn>?uf2Zu$~~{%r62h9Bj)iFJzjNPM0?<MQHs$uP6kxO#dwbw}Xi!TMbhaTMc&$7cn> zc{CrRd5VNkNz7oR5|UP1u%~hv7X`m6ymHmcngR@F)jrm&r&NY~^;%OdYRCyeBjRbx z_F2RFtDBsC%yar!7a4lubqRx7V0PAUGWy>W|Qx2_RgxG?@6;QqVH_3({V z!1{;FZ%U8qTl~odr+vJL$yzof-bj&YNd-HS}8^ZsrCw^t6RDtQ4F??ixQ#<*z+ow z-W&7SeJhO4=P(g5s(Ttuc>JL*ulu$QGBw%c+`05-fV+71;pnqg!2ETn?#KMOgqO7> z;qad?a^dklJFe}p>)HvL6CPKDGI$9}NPD=fT=6Pklr>+CD5Buy$veCPL9|-MvKCz$ z5k$ayMG%4pf(k+eW%w5MzT4VM^$jz?&kL8F1GH^_a&)MUiVzj-5193F7u zp#d9{nDdRm{M;CNBh#FWu$C8n>GtW#SG;q%tL0_tH%tNh4uTvc-0@H2?JEzbDlVW;4*`w!hL)FTVor+)pG2a38-lc}sj&Z=jWg7k%rb znVL>0a)&|CY)C#HAik&sVAdj*wd>SNoqOqX$_Ub+PD#f?o*G;RgORYXAS|4N-l#z0 zm_{Sv*pZy=yKBsD&Ts|Ds>P_qMgi|irD#x$sY2Y+D9gP>R&&2{!`H%-t@JSUCfaV0 z=CEOFMADw-iFhn`(P^Nbbn!F|}*AHd!9!}hI-x(~Lu zC-%x4*Q-f_q-j7xARYC~1WJ`)$`xl+FWCsgR|R8&Vg-C=7!C~iD4^al90+I52IdwF zP9vr_d3N5AFtN>%#2F9%H^U|2q5I(ams)0L10qTk3+h+hTB!u1 zRWc)&22EwA9R?#po)b;9$g+q|Te$jlQylu-fJZ+z$F^5Dsn>-;zt<>T0&wto&I5Em z=K9|u-2I~y-yRA7#WotO-_a2_4kq{rLyBKnfudUVTCOfsFj{VaqFhXz%6$@pfJ+!I z3B6?{&y{`;o;V>qdQ2DxVdGVXJ+CO(dR;+tqsKM_Q|pz0i15vAB_e+#bd%?5=K2mHF zGcnbmJuTE~!j@|+Cl8N#;2y`Otug7qaPG9{idQ!nEa%+&1-S7gH8xB+mWP4%j3KIn z_dF?TlGQ}dl-I4RA*}a=l|HT=i0f^{DtliyP5$|1^=AtjwMHy5(mQW{b}r~?Tfkj+ z!vWCm+hyyS^HDG7BO}}S{n>5B)w3?lW=2HAT2xsopj!187rw4NZV*N*!eCK> zzJv&L(LK`xIZfvx^&B zTy8i&C+vMwo6Ro;H?SQ2a!z|fXf$Bh2eC>LD;lKACn{?#0jA0tWbG#?Zk!Pe5Y@3_ znc7%qbS5Ws!)xC9y4t}v{+FV^e?R7#X2s7L4gJeo%{`q~^6K5!HGDDZTIDGl?V5+b z_%~A}PQ4`|?U&Cvb<*<0ykpZ=%dS_&)HgK1wy8}B)3Xg~ody^O0>*?gbd?gaFcUG4 z{P{BX{QD>9bYha(gzLX&BkQ)*n4FCH)a~auanC$AzBplKwxB4KiFKBGOVOYp_F^C) ztJ*MCRK}W8oG3}FP28NsSQxDkPCl?~miyUfUO(`!KUhYG;h9v;o(&cxcm5FdKX?H5 z7e8A6xsEYEx_S;E=e3JH5jHxx* z{fbF?=N(7CFr+zU=`;hQF2u3H#>yoi22UzFs##k!s)7J6D=@~OCZg6tq;8yF%6A_! zGX0i6(mQUsndlErJpIJXKAR}$&HstwuD?I|QmgqNPi{lD%g$G9X8v5C$L~v->BO`XN7ff?BSB0-2&@GL zm%7hTRW#)i0MKPQA+e}fT9dKK3ge2Nf9?0Z#D4i(|EquGgZrL7OfAm_e*WlB&vZJ2 z{ui2)_Uhd?&V(omW;DMDz9@45sWvfv^2dmP&n^A=K!0dC@)$IyE!TZhAenSTlUFmn zeLYFNf(s%AtB5rag>t!A5MxjSVk)04rp)Og2!-d|qkZbF8tc|K2+k3FnL=x7_~gGi z#KNH-H(c*&#}1N+$t|IRJmg94vor>&R%(emt!3$vr8YH-iG`$Q{o`LAvvhJWw{7R9 zYj+(u(OtEt%Vq%za@Sqh-9JM3@fW)fwVU$V**#Of)ro8|&T)gZ^z~Z0AVttn{al3x zf-qiG`pXfAk3((7aN{jX)XHggA~x*U07(D}umxfq*aD0P>%cn1IK(zxQdP51TFow$7xf-#pLEqIG z2jRZYdX7Gj)0_8ZG{Tr+);WB7xa0c6{!g#lhj}_y@U#`MgOkDZ}J!z?-t@ zZeY;7N8yze3@9qV|MHsbL_#u z!h&c0jH0QMGz?f!HRUzyB`#^r1yu?NmTvfd{ga>k z9rVEEazVG>O8m|bP~824^A6_JiU6w@b_LrB!|LBiQ{A8m( zeD~D02{*I8W$*j^kjEeCqnTiK*{Woyh$=dcIC2C|p9xG)!n$clN5b)WVR3A@@pVFb zGN)D-+8u`mMT`X*_Nd=8)%)R#bAFl*4WtfjA}gyFQxa3w;u%*N%Cm|jDM z(Ud$3tl#0e>AUNE>R?ViQFcTQlR{iu%@nKZ^J?wEKY25Z;u`IlmL2p*_?7Y7o7tKD zFZsjn@-sz6qpt@&$N`EwZ*BZULk92jwMMqGQm;MurDX;yIk7QJP79sMK=1*J;4?UR z94;&vlA1+q>6#W7l+$O09oH%ww&g_D(3}XkP+~wqmEb@%M|}aBV8s*gn7S!p4FA;P zN?Ca^t6+{O!6<@7M9Y=$0S7J%xZDvrAyP{|Qg*z2%**F%eDNo#opiO*31`}bpR13vg&ouBc8@SBU7 z#pS-XI2>l<+*|b;t*aY46M;A>&_W0)^cEscT>z;Gq=IvhdBd4ghW4be=juQtLaSNI z&sZS@@I{4Mnt(=v4=J%g$Us8Cb}AH&r$ktymFv;fk^y2oAvO4MK&+AuA*2wTA$W+? zV?@Y?aKks}%%6=paX2uU2+d9mQ2_#pHTa?or=Ps2h2T7Xn9`n@VBD^0)DLeLxLu!N zamM^rd&7YP=$3n_7jFEng=Oh=2lcyqK7Lo4%TKS&rD6MqB$&FV*)Fi6gbdPA%&CQl z)EOpcBkDCF&mtD*EsI^l?rVfb(^0R3m{7vN0bBujrsOGPV8^xC}z3M4Ir($ri`XH84KH<&bqD>z3HQ&#E(5d1sT9#tq{jT z@ScztG+IWRErXYE^D{*j%+pE0ZhtwkfVvg`=5-B~O|#TfwJ+Zr{@F8$#?! z5=*DmWM+L6?}aE)Hg1H-C|1Igs#3v&E0oFUggYLv{O(=b_~Q@X!7uE8A3y)Th(}H} zNfITUS8U&4hZZvw%m8En(g!mDGZJJB+J|f|P#3sxA>pTg)${jmy^Rn3_fPP#`>y3r zKIxg9s!`-6O-MtfgxquetCY!ghNDN6<(?%@AWJ=GPAWDMf-1%Y`hCN>vj%H~kY`vc zLOsTr^m>3>4m^FLmU$Y9f}Xv%e8b%78#)s)lXWY@T!`Zc>jj?)bIUPm4BmL!&4gN1 zXKG`EBsSC=f%b$i)3hLnuZUM_2*IF0)HeLy9R)kLZRN9fe}dlP3F_@_{NYE(G&&La zpmZ&aLHh!IfnIrPUtjY6YuBF|K`S8abS=a!f$EWW6Bzvyf!S8(}K%8LX@)`(Q z6@-K+&baZlu&^kcJZadtC1&^DI>(PGqoKh_AhIxjLAn3l8iyXRxI7Tq#ArQ2Ty*6} ze&VKSxmatuECm@k0O9sGZ*CqxeD2zbP6Eb?23ZUBx+7tE=qVZbp2=p6H3^Mmz@D9s zq+yAzFI|sN0$-twXF`Bl0*m8_Bd6fR+0SzSgP$i7%Q$n~f3$(~4xf)HR)o0aOE=^$ zp|BXxNHKMT%OT{RAT_@Dh+%Q@4DWm2zayxSWjT{=;oOR0T}^P~5@FQ}fh#iDzDwD; zC*sIg95XlM?A$ZO<3}>ioK~*9(h$7To`hOWm^&woK3(vdHx|tJ6|%^oU*tQ;ZVGZScbvsQ02FU{J=X zvNSNnIC9%!CE7u=GhL?eSwV1$YQRV+ldVf?!V&~yAxZ?XLJ-UP4I9|Adk;Hy?V#CO zS7yD<ijbz#AY!ZH*Au(Ws6wb&wcbKr#ipM(A8=w-a95Ha&G$8f_Bs4UCdS2Z6qt;{J9vhLK1n51rr6Xx~j#v=Xl_rl@Oac zUg8Y^U#l(lSt(%OzBLBlRAQiJta=rUDPKC*Go(4xfRTZ?)n;mDE99=^e6HeGT2T!v z-p^_zRHaZ%PerVsZZgrCVAIA~Hf`9%WUI~Q4K3>Rh}>0V3NeU{Fj0(+5+q6RNd(4J zcr*m3)FZ>TjWybx3D$4ez@|-G=uA#BHPd8zDnis_tCmedndE6G@&4e!XCC9hr#aK> zJ8aq3;fYfvkvEBfY&hlt>vWoA~n?pjN4nBy`}aGrji@~W3K zs2h)Z%DMnC*a(dxG>*|E!q}*!7n-Q7Rs|rWyy6uxE-P?(hVuo3LCzI>Vm5CULM~WL zxhOnqNnxl$X6fU|Qg5b6Kf*RIx0sM#`{@z(G zoLl1fi4#2X=n+J6{?2!F7%mNoMTl2ddSoHCkVKHgNL2n^DfvIK6?%)F@BNlZCOeLY z4O;tw6b1dcg#Xkv3u{uuKq#2I->m-QVK)g`e2Xv12D#oLk~If8}~!w6jZpMX5zX z6qOuM4JE{^P6UD?%_a?a4`0bGqBVlj!v4Y32)rT3j~FAxIn( z>K&xkfy9*jPot<$$zg=x!_Tt$k@wOZ%|XK;ripKKpfQ2O6PVbRj1Ux)j}WOb zJoz}U*m@S!Gd?ztAC@b-*%WLIn3`p2yq=S1l;wU(0H)e4w$CUVHV$FsEDh^OQ;Sb) z^iLdR@AMLT*KKEXs=!JU^=&W-p|0Q@CeLt54RIdH^Kyl`Kyc98@J7ayuO_0vOt#75 zgvGfrQKJg0D;Me%DG*|-{&``>1!x;1AgEIzHW4$O7UQg_sOF~P`$RZZ#0|(gyO_W6 zpE7;&Pib}U!HPwsjU*e9`ZQ9vh*87`r0C=GgjxjInUjRHC>1*jwCaI)3Lfq5;aC4n z!IvLDN29Ze=HxcwBx2C-GU}e^>WzW@KX?__ZFr2 zn6{BXR56z$Ynf=&8Rx~t%&LkaN`8|i@;Q0Dj)iM}l9Br^rUs9YgeBt0LNb9`!AL;0 zz#E5Uz{7_v?WoT7Nki(J=+qXNzMc!Uz5Kv0|3@Btq|bN0`DXU)*+s2h#~6cmp7ZAy z_>&L+cOE?L`HMd~z|5v&qzjKC`ElaJv$WLV%puE5ZfFsxqo!1VSS3V2K0@s*>C|4v z8@AEwyo^lNBYspxY5`w(A`_A4LeW?1NmN30JVib#o9GUn*9K9eZ% z`bk{#3gXU2;>HA{{*VhxA7FMv#L44NaQxU4*rY@$^DHMa5gR6A78kqp<&`uyejDS) zfMKyr)<45aI^;+(;;Py07yV`4zavy?O&Gij^+ z&jpNHyatSq@CrsWV4qn*=4mUyDO)XNC;Nr2@TH?eW~VKCLKDPM7eO>%{5wom!t0F(6*@9-j6Q$i-g!3z1HPg^r$Ybgqk6;rb6wCqO!OyZwe zX#aJeyc*96OeNMJp~e@E4%DkM(M-UWbZ(2MhBANd97UcHRPlJcDn4kH*eI&LY`XS2 z!DncZ5sDF3bIu(<&ck1Mh~UPwYQpC}^BGQ_I76e+VmRvaGe7$de)b>y1j`GHjME`S zo|BDJ#_5Q;r3K#kV?W0K^^5OfoaNM#7E9e_KKtpc@#$$&LVKqmK6mdD~ zQYgkyj0ir%tH&$2P(mlZWD&D;_B6$4Kx{#zq^_ieKp}(>L@V->x6h1iXr4wZQlPB( zZHgNa4?I3%VIdQ1(ZrYv!!g*9Gi8P>ojJ{L=|VZ}Aq1QT9D$;H^eJVH=hk+Wm_X5Rio`v}fcPZ}J0@F<`7_@}Uu#aH=5P{lcqcMf0V zIG2+aB zIk)J;V5JvD*8Xmm`QfETfT|Wpii&6Ok|_7qs4nPiZFn89vh|n@Q;2UZ~BgJ;ro8zM_B5P z_{fL;kZs#%ac)cz6bU879DLdQjg*nlEpK=&^;VNXe^3hEdo%>R%kkdhd?3qmeC{iL zXrLA~SUhuvGbfL+I~oyZDZ~j&earE4DT_-XY~0v3VuFewML8H?4a9s-7O=m1yxD7P za9*eT%Y{jE?wFpu`X_+809H)diiD8(l-X#=i3bj`eC7m1247^QAT*F=8N*(m(P&Jb zWfW;fk!2Lwn4-vVE(3fOUkAK*1Ru~!SV0x_N;Y0*)6UJz&a9)+uxz_>D@8uWdtc!= zel0%tp%ijS)(NP3@;oKa#<)DCC^Cw?ARUbv_J(BRj1U5$>frF2^WbMbNW zQfyS#dat%-1LCyD7w-NjX@9BAd<#zq9_JmS@rad`75Xb(veB5lNXhb)EE^NFD0%-z z2*DG4AcWFAWJN)q*+BT!C=%%&0#kALrG?lZZH}qZo>!z!y0N zWvbm`YI2H3y-u$`;=ldZKjQQEf0-kXo#ey+`9HGU9aF2{LzoH^QG6b^~x7vq6Xe&rCTu;?>u=?fHA~TOru#RisFjo3t661Z`3(; z{sMn`$DKU*;9(9QKE|=rXE=5GEZgcW+9u(x-~UdwZP~=Gom;u)>MMBhHCOSfSKh!> zyGE7;#KdK{{vajKbF!>-S0!;6g7>HoNE{IhES-If$L{+gz4>$OvOQ*sIYJ3umw+Fl zJ_JEY|Mj8K`Jdmp{wT-@(gmZr@Ldzey|6sca{T$cWg9^&T}Q9bO<6s z2#Sg#)M)1;cA9gXwp||mVwVfYjKnDBv zeXsr32M?aVbw~3Jsn0%qIkCY}m4gbsIO+oSebLb<}886@kb`fJLqO&W-e|!H0{`Rd9 ze*lV`cT&GP$9&)%qvx|z-T?+$`UDD%R$uqCU%3)A8S2PqkL3;N$YF32CdVlJaaR%+0 zDM2_C5xqD~sN(aPIKetceZ0cfbcl}{jN^oUI?voMvSwJ3v=^WDchA$#VZuqnA{aaQ9>;$>%RTP71Cap!O{Z#-V)iU zj~@*%t{^f6)4|cvB|1JUp^acDB&q1op_)5UqMfQ>BE#~aFr!o@O3Yt^=g`I0KKZH^ z(dR({0U&PL&y9v&S9;#I*C&J!uz;>MGCYM#X``r|a2EnmF{E7#m=K{bG2^60K8{ES z34N*4BjI!$VOo<+PH$vt^CsHUvrw;56dsr5C55CyQza<5FHkHskW!4{knQk4JL?iv8zI!Qcc#9n`5NJgJWD(S+{v3lN+{CYfNA?fEq+S6b_ROSz1}3cjh#M#d#=t zO!xt9pHWkfNFeq~6!K~al*NmdLA|WTHzii3YEaLUMGiN!^$lvPHtNI7gTlCqo^Y+2^C zRgu1MC^<=?%%%gT;~II?qnj;prhAUFPdrAw(IRd%kt8Abf{>+T!vV#3L?fhZD8{ti zGD)F`27D!CHQ=yo4cSJ)l;gJ6E_b!SqGB#~MXrujh%FZuyy>MuYBBHUG91r#4+sFE z*8GpX(dZw~byK@_eFNvg%2QYW#df0AQIlHj50;YNh^#jE8G@KaRyQi`MY#f+$yzEt4UiGoLsUls`(JrG{9=?v|+v*^xQ&fjFErz>mSjFfaq?X z+w@%XY+tyF6Gc(->%+{+;z}kW1|O=Hqrlov9~7sT5TCS6fiJH=hw^V)ovWSU zwwnDGti_8d+rENQsH4z;4~Brno3eqgoZV_b?HVN}C?)c#B}5*o>kCR*vrvNzC9LdN zz5eofUIpjlaAA3DMj;#>ZGP#8E7G!it}f_VE8rmb{b1gEGW#E6+D{g1W4V6mhf>$A^DSNy^32cWT`05OvivLpvc}7bd#t2xWM3mJJBPA=yR`Y%c z7e8Ms%)dlOFA}a$Q&NMqS~RLvp{1Inrb1A`X=#zm!%RngCpBY!>jU@RTkO9KQ-`0E z0xq?JIJUo(I>-ESiek$&KLiA&H!i}7vx6|sOS2Dpkp@`y2!xAgc*tMr~usu_V;?>#49G{`jGnT>y4T>ks3r<$(%lMc4T@(C*BxsHzEnE*u3f` zQ*l>W)72MVql}kRZ~c>|uE<&^dyutJx@(WED(7OCyMFb=7A>bSQVAc0<$>eq*-@xP zmS$qaqif6{>Yy65Y*ObF@~)?$xvGz*s#m8TRK__nETWrChaCwOp!G z*UrKzK9uV&_;Md{9tt1mj&kZ2v(g_+=F2Y1EH7b*m0@lNx%#@qe^7;Wm+b})&shNn zAnXJ4p5y5WV)M_6%$e>GztSymX(*%~|Gj*2{ST&|-oi>+63)CsWmO5X23@$|DV)EU z%dHCkYZgk)Q+gIJos4_w|I5ZY4T1~4w2(FHGvwaWPgO_b0x=xwW+9*Nj)N0VTBMA! zETrQ?2y%4d9l!MOCCMm%?JnpNSHwQBJN}X0)4$igKF!_kwD2J#`Vas2sp3C;aekD) zX2Pt5;NK#suP4ToldsCj=v5Ss^CcreRf)_qyR@|_1#9c7+D*lvLCNz1ttP7*TXsCA zg~KbX^a~xPUXpt9x-2BYq{ZI~M)J5}ZQ<~}L1Bi3Prc{Q?mqazGV|5HF&41;{jUW* zZ~)CC|3i6jeZgB7$$J&#)|V5%_iT87rhIH=NHi$K`@)ygZl&yIaUQZvaV`*olID5o zeo7W_weZ9LdXhL#_E4*PO_~)1gtJSYQx`^v!eEr)Tws*qhNILJCjP_UIF>&eHjV$u z2=nLtZkDVpdgm}+Q3_)R01sd0`|eyW1+2NE+fQ(u!1s?-e)IN|`5^%|mtB^kX67Bk zqL^P=N=@!<$a9BkSvb#p;OuhF>A8`P99k%h(u|^TtlpR5X%#rCoIwS07Z{}(0imC& zE)O!zozfeoZtf1G=@gP|iB&o&0 zSP|z6R23W9wVOM9?WH7D*r^oGGcF2JR}Nz;JbGa{m0(no$dWV?f@)akr4)rXqV}!t zJ*5xa0`hv`&^-Q&T|V-PY4ebCx+@mh=3wx}zW(kl)%W=uX8}**5rNtF6y?6HOx&V> zd*0vSjXjW!ifCn+yVQG}3t>12!70ay?e}Db>n|@3O_m3Tv808gKN^!eUrjg!L%4{c zi6PA#gLF)9lrzp;IlG7$=hZKD#}b@o66jhZ6i(gBN@{%WO)lmgzje-kd|z2|UA=3b zlu4%l&~Kj!uMT2vvSQx}aNFPH`-nY*+OqrU&Cy5d#{C}?GYzjfp*P6lO!&$7o({kB z4|hhdiF5a-NhF&a?V4*fqDXyd3H78#Gl{WAQOaz3kfvlsQQGkj=2L|+S5c&|5dZcGcTb3GH>I9?hTSw;?iJo?qCp~tS;o?6$jB=JLvJ)BEefy( zj1A7?dTF5x-OO}*c{K7I@+SJ`UbFcrYvno(nAFL~$8r3c_nzTHH~$sFUxiy%6|w($ zlGR_!-Beds){pOQyt0!QUr2F}gc`TJ{}}W8K@Nc&1iybL^<{70Tl4(5iG^k-@^ve= zz=J@9l(4m!kmZh0sByV4_E6v-jz#``8p6N-z&S?$;9A;ISKb{*^11h%2!H&ITH$|V zZ)dy8uK1ZP(Q7mB9)JG@=2q{ycIo2)KeyBTT?+jzYjnM>N50jJ#Gu9mArBh*!@`6- zkc)XlMDIXqe>Sr>{p^9e%awiUdtKrR<#Hxe|6ATq_)@`KD*Q{YZy%V0;Q#R^b_Q#H zQ$+uEWQ3%VxJWF+!6?eTJ|U6)N23idx#I)(-dkMq{?UQeVRqH;hd}?jSN-3p8#?a; z`$7KK^Oi4l6+gGl{6O&ftJbnx1ai+=>iXLE9^>TdCSM8pdA$$t|L>0dU{*K6eS4-S ze`>4wC;wzS_xd+QE$hwgj3=>}RPp+Q3c0|{V*(Zswb#>7-5kuQUq&@T~^7l#Nj zrn-zXJbk|RMLu{A;Um#_Z`4R68Z^=k4j@6o&|JT=q((lBH6~ioCev!*h1=Q&UsA zR4Uo;{^JME?dzwncf(|RB=qMV_;nL&*L={^fp_T8!Tnb8ThD((<(oUcSo!aUIrEFf z%9lhyM37YjJZryC`1W*pgBR#~MurE6YRygrce#XTHj=-}n+VTQ$mM^ZK~;$5DN8mIewFBV*&EU*7(O zcYly76`q=!(yIn|CNTgYnVQl9P^naj0U&!)_GbdJ1Kn;H%}$NRCr-e`goCIN+n$kxH(CuHn;zHe#w+#%AzH#GA zPlotIGSojnt$H2V!g@rl1%%BxWO9SZWCu~L9bifn_B?cVJs9l1^z7Gscu_>i#g$`Q zyk|S=2@ook>?1dSHhXA(PZ1t%4Rrq8^`~xxF$KBe{nyLb+I8xJvo~SOd1pcA3dr=2 zVz6*LU_!uC$aLpboOI0O|YsQ@5Bqdo_g1PTHYr46!r6^1^k6bS&TwYItB zEx%3YpLZ62)1H`|i?n2lilW zY%THw1IT6jp-F>5ycU@?FOQ-0m}(I?ZNkafD{191^t;EfaOZq+5~Z8 z;d=r4^Lb=~9JCU6K@MOIKxN4I*)-OW16->v=tsl>FaWyzLtpsx5(S$V>$TGso9g6u zfBc_+;a7g=FE<1DOOr%MxM}z9-HC_yJcxrck78kQ0YNr{(Xln?>+6T-YY-8LG>IPo z9(frKodH&7z>i0y#bQxcD%XVob^}1U40YC7XC)tc=j-1xI66opg^a_x%m{)k)*p8~ z@YJ8lDbBYoCPMS@bMWSq;KJ)*S($a=ENTK-;!KM1&~tzP{M3H>o;t~&`<#^4&f7N018?Wl=h?-=amJl{7pr?2T}?|8rly;D*}UpRT%m#<;p8x)33yz00Dy| zgEYQo0zw)@8UzKU9y^Gf3({TyUlTIabB)DS13XVGFu^NP*vGfh(`uu*C85;q#P016+HuJMH^t}&N=r3tsV}1AD&X2Vov97 zT=m}3(7i(uhyb<;tXPnzR$P0^)YOztn+8Ortfr=ldWFV-3jpi@pa-136@&?30*Qj? zbQXv_#xW2eB9J5@76z0U0GM6@iWh)f=yE03v{cF~HU?afCa*#|Pny6g2B(!pfdB%q z0yG|vgdi4dBN$_#psa|{^mOT2xeCG2Op^R~&qB-o#eKBbu}8pHKXv)m+bJ}Y( z4(P#|j1JM#L7%AZqNpe*$~RCA6U(H|CLIo~*MS)fm+VXbP)KpQIO4IhbkG=WTL;37CMn^}u zP*|hZtlJ0{fJi}Ul_p~<9sL5OHM-pf7UvF2pGPz|w{XA+zZD!OY`nFisGm3<0ZZPH z8UV~77&%bTM~ZWvk_=hN2&sVJ1zM|&1+q-=iImnviUf+4A~-TckysJMhJ~zRF;>_B zwoPIW8|K?O#+Z!u{%T_Fr1f=HYtMu7Ja~S9*jRKsRaC20ELJ;zKbO4Z&4&&hvfC;Z zp{Fqup0^o5B(Km~Ln$rH2BZ~;1-&}2q-_;FG-PdzAjn|d`s1llowEZ&LmMKK+>})T zGC3dG>xZWmJncaR9+a1XC?B4mfmQ*O3P7HMkOxvewC6!o0H(kpEfy#dSQR^N5CX*v z77GD`tUx#fY>1@WJ|*tfU$wY&1oN|V+-%l$CKEcy>}hyj28GczSTlaI72eCjM=qwu zgELzzAG`e2siH<{+P+{0D7h~uCVI=j-~fDIku@<`2%;1qfDr+V!1EQ9B3NS(#|e}c zByo(sp>=v<<2XZUkmo~@FUr?K@S(H@6anG`@Y86nQlE!jjG^TiBLvHqNCb))U^q}f z?9c!hLJ43+0EPyGhatj73X>6yPaf7Y`*z~dJ$vE#8im3TvVB&X`}WY}+6}tXj;Y;j zTc7o>0&+#E^z;yt_uQ|HNl_-reAtan%4R%awh+spAOHzKM9>)m6oIWlr_+Qd0#X@_ ztlfmZ{0J2w>TQM8H+CyWb){$OJ5B#s<8fa5l9Vv(-5_u;+w zxb95nf?u#iY}>Xi8h~h49}S}rHg!9k#89H3NJBvbqCn8-wA<)5YhW!XOrC^n|0t}r zfHf`-k^l-&nq0}41PTI845ciTvd{!*B4{Fbil9kBYY*D<+^zPZJRi!_fTsYJvaiYo ze+`}Hh7KI0qXYnuBoT~B@bj;Fot%EwIjFarGjns*>kb_{0zdHOkw^Dxr8JoE%FllG zPlrpT>8G{o=Xs!`9bPmDMuJQL1tpd(qOb!o32f4ZN!kEMFeXI1F%L}|qw8J@?fYOG zLtMrHfuu+Zpq`5XIXA)r%K$Tj*@9Wp=LEt6SWaJKu=MT=lqDzu6thESX|n){IIc>p zJ2-(@10{f1M$&20S!Z8pHy*!fQ)qbS+(PXpA*Oo0#*glQ#EcI1Pk7bZxvr2@R4;~P$dA7qgv5m*v18?Y4!GuS?MkN}DV z3=1oXd#^R_{MJH@h1dj^V^~QbHi2;O)_|@1oMr0_ECLZg1YkA*Tfhp4-FGnGR;z2JGk_MT-4{UC>>MSwU7p|kxU?t`ZY zlyp&>o59f7B=Y%DL}3I{IvwRMj*)e#sigdorz`s z{aF$yrIEIZ9TmKcn>lb$nXN%$66e}H$K-Z9Z8bW!7Q=;+lN*iMP4z}68XqeJhG~1X zZLS)aXx)4i5P4x|0KDL?IEhuQ)*>i{PNxA$5~m6g%pTbXNfL~V9EZ>{m|Zj&@bt_gZ#4x}H1PihTWDSsxeujIW zVfS876BH?c8Eh?#iIK@>W#h&Z$QU}?vgwGiAcI?e=TEM_aeU`y`Y&nDeKNUj#}1Kl zSsltn_bs&A8~SpY)4f150OjR!=*thIHaCOC`GXiNOkiZ~dRR6`F$SE*0O>9JaBP?m z1nfGhi6O$UCUqO)9y^zkMh|}Mv51Q&A{HWm*4|P4k4t)cypfwR?l&k(T^=*6vCxX( zX$=ygy$|p1_*#a-FbWdJyIy|wMRWbTcFFXvr`Of}d?aEred;b%Dosb9x$2LuO|1F7 zIF8BJKB`9^MW?!iPGbp51o`1n2P3TkQ%XA?J$Y5n1*v6>3$U93B4BIMS5huX^=w8? z@jV?ArPQ3O#W_zVsj|fxHg#pR{Mdq1xGEx0S^;d4#1Z=Y`Vn~EP@I@c;?O_%d++#v zccec;Rzy+0Sej-4$n@3kZ*|%W%uLp>5DS{Mc`#c9zK>jA9>y@h&ZVH|N_vN7uwjU` zAhs?z_E;JgfEhM*EmrKZyAd|aE{WN~vT^Rn7!WfcHbp-UF|oKq(%eCe0h=`MSe{7? z%LW1_QY4vdFxG0!-SvC#xOzvqyv2K_9enC}DjCVtR8e32$DgYvR(};BGA6cB6sK+^ zf$sQy5~534{;0v!-8N$VAAu5 zWtTyMk(dyPH6R7BxZh*&tW#`V#0)TS) z{D%+D%r+OQHEpdCwiebhl=5Lr4B;5UDWnvW`f^SKBf9|D8`aVq;g1E~-iRh~!Bnh^ z3nJ{=;MoAyAn-lhdB<(If9JjMea{(X`Mc8h^?0F_$&lsPVwaJbA|+9`LvcH?Sv5Rg zDoxv+n>VjK15_#%E|<6H(jR={!Gp84t6HrVF^sir!3-#^ktEJ7urUzhFg^FOVBr+u zq$At9~-#1ZP%MRYqIKq(|)1Z$GzxZ-Y8c$*?4SZ4qtf@OB}g;@B$ z#=_i!H+y6$)_wUKdb4~*8=zF0w#8ym|Jetp{&lI<`P$M_TQiF>NdjXn!mtZXMafl>|9CMk3Na8lwMrb!{SX!J#x7&b? zLugIt#32kP5LgH-$hriA(_qi(tdiwevOclZ!a+;k#1aU+~bK%R!LHIl>`E9!I+Mp4?<;Bp4v*J!ueut@|>DpjguTm=?F z4vsQg=Y`VZq7Xv`3XNt1hh`5`hSW7F^QD&I(Mp{Gy;v|^EUNdu_e=W-{l9hSaFvf7 zo+WEzW)tJ!fqnSicfJFYn3NMT%iNC(!p=2CVHa`O1*b$@x7$J#cM&HMqOgl*qk&p= z2@7*`sMV{8qb{PbgDC1EPP)iuvWU7Jm~QB@ZZ;rJAmVZnq;v+Sba&c6=AbDNADnqq z&Cf0EU7tVuMiEe@vctY03$>q#Oz+wy4D|XX9JYoC#7Ozs-VXk^_>6a<7e>*WgG_hvwC#~t6l1I8v;Gcg8ZVz97?f_Tbfn-ImZ(Q(p26j_Ab7>!oPk!b`3 zet=iL@_bAj{}O;y+A!>>>z+6HVNx#$eA&P6VY=%Z@li@FI1Q68|D{kr-4`r8|rpLOs-!CV{OV#GI~vnA_C9%Fh4ho zPN#*wTncnmo0~-#h6o_={lF<*EPAFU zqEz{=!=M{>samZ=5ZnlWmK%_NQVjqArRixaBD8JWHhO!xaw~va|K_US-w?LDcZA*U z+DtAZAWqXLN_&ZV6)QrJ>65;JVLCK>s2O+z=lt1+ufPB3^I!TGe}_+8_S($k`2%M6 z?e;rKVouFuJkDe@s#dFEabX@K<73b&ZIWjTA;5j3O1+URH;F1m0BbGJ@$%UhbV~pt zl1in*#bQxkbIB$C+ur%N2RMoEO~N)ZzQ>9*l+w^zK`Re#kq5yVL9Q=LqiaT?$;&sJ zO}Les#h_f?;*}jeK$GVWm{MulS`|;X+X9vSVoV4ziRy*98L`(#+0|Wh-ojroNxmgeawOTDL z@}z_w%W_gCVgQI97#@c5vc+qzDvxceRBZV<+F)?SY>Kh{vAX-+%~lJXSa>>s=jY&O z`r!FlXfJ@Upc{6fvNrj)rM085OM?S>9w`irBrS8k`^^{V zW5xizcFl{gxVmagv?mPP5HKeuLL7Hsk}lfq2KF7;kAb0Khv9|E^E@a;!$+OtM^YhE z#iIVJ_kZF3#Nd)fv#X=nT2Ul}!vz?d;MQBeg_)Td4CF@v0QGtewOSSRdKHa&6>%6r zYm&h8g+$i57Mu%?B^Lyg%Ud)6kf^)c?G~&tV&e!=w+m}yJpAxpw7W3|3k4S>VW0@` zgtO&xF?h1gYQz+<%#Ygb%X0?h=w@Gd#4WnMK;=sOrJU%)O^1M_THZ3NK zIstv^DI|c-2p{`Ox!Me`Z8Yk>Wj3M+nOqKQC)T3TXyE&|-%k4;-K#u55KjlN0$53_ zWo~h~9HRzsf!HVc?n14Z)arF@Oe{$phdsW5NnTbP( z+_oQE21xNc?b9#Y8^-p*xZ6gj)s|+xj>ggwIuU*_b8wDK7z?Gn>S?cniSyPzMRrk& zQ`0O0I;a2i->p{L_r+19wDuUJt+58p#D4SAUwhB_hxZ?OXlZ^HnuysjtYKm+u$HUG ztP3iax9Ccx!VugRcDfKT9L8OA!wyFJa=&4^_Vd-HMS>NpgrHb~KuNG)o2L`-w{AVt zyRcF*Mv|MD8RTge0=i)cPcnDYS!X4N{Qujm*T`DKf&|7Slq3T2gQX{ey~jiha1fln zAGKp7Ng_!cAqtcEGt5g4BD3~wvvW%a>-C!Q;IUi3p`NxPCMWahVp&}m%h1XbW36sB zyR3cx+W;u=?AI2T>T$Qz@q|Q-bq4UP*THkNl6=J(px0%VP4W+ioft_J5nBT=&CUaS z#fPu18u5OAaekh<-ImLh#O91Qpq@c}LzLJ)MFgL;h+&G7gUt_{$UGQF z5d^}CwUoq3!cjB}0MDi&YsDI%cTrX+bL}LQ*d&TA0HW@Nm5RCMl1u#eUN!a2b`*Vl zsoL;J1xY@iTiey0*Sd||i%<8O){s(wr#MPNFypqZTdz$%aoJ@-rBY$bxHpbFFxIj$ z1_JH`fodO}JRXZKh)7e_uuYOAQR$ih1ptR8CvCZ0R)ZT(xMFT$es>&Jz2UK8A?S~P z=<+ueilu3mr!W(?ZFBWpEBdFD_Q1@l(}@5RdZVY1+aqA7RWXAj& z9>3WCSaLzT(jEx)(;4MyvBt7ZK(GUnwt-YC6=@%?i^+)~fBmkDetU2*`}2K$c^k!1&}_7rJaroY#D_D^Kq@&UVb{TJt%V2{(!C*` zlRZt<%K8UBP;qLSuPMK7%&6{lL&Jlbh+wP*D;l^ezc<(0Vu+*m1w$hP8~ghQtw2%G zmt|J=%%_4*cJAD%-Kr$-g0b;23i@+QT5~2Fz%Z=^fUVbFYp*W<<_VtfZ=G1T0r~uh z4uUKIGx#r`xGa+@pN=U5luDa@A`n?RXQYr@w`Sc2o9i1?eh`2a6EKTnv8Vv>$s337 zYqVNPtyxzhKpe$N#QewO_AJ7W+IG39E0tZbOZbw(daWfaq=X4#MM3$kv{ugTX1fLE zIP7%646@8jB$L&S>04eeats+jPfzcP0kE;zm&Xyra)SQ+uq9Fga>vzpuWnqHc1)UrA6Q|?qd_=%K1Jw0t-{_>ZfeDOu+eJhjC|JK;# z1cVuLhYqP$H~iv#`{N$~u&+7)A&i0 z|EsZ~)8jax{#-wI+BF?T-9LW!NB?=p)KpPldg-noWdOBn*DgN$%rno^gqxxmr!FD2se6M`edoO5ob&a|PJ5Zu8x1wTxbzTw|4m={ z`dzi{+qct>9XsSFt}p0`ls`H=e6c3)?sEkwe`&z-XVxQ~A3h8F$k-I){sIs1$=&S0j0>+8=9 z4d(lzB(WZw&?u3NwaHcA`0kzW8Xq0~W3BYxWHMP9=^wZ2)(z_o$B)~I5%QGoUi4R2 z{?k{V?sf!NiCqy#DaNiD894_^eX2j#m-zVszIXSM_k(+HG=q8eNVUIlWPVqc-pcBP~W~Y-SQVIFWgx&ZPSAOP(=A*@;#`J$y%$6-%)Q%lHOw9b|j2{fe zag16$$+(sHT1QC|CvklJc%g7E5&kCQ2N)d4)A+=ox6o?h-*3Fn>vTGtSnr$8~vqa$O`T4Qc;5!IzS+EM!tuD|~Ee_JX|69BX2_~WzPwS!~U za)x3h5(M2l@4WNyQ-OtBwrt6UjmF7FlC{?IkVl>fQ4`kgzw^HP9vB}Pc_S&j8x|Xs z(gh+4jBr9kArU@1J3s$Fdo%V}Fu<}48Y_&wkzmgS;RG^v*a#`*d0kJ_1F!$}yYPQHZlMd3WXsN88*iBWwTkMwXV<3&d&Wr{h{;oJag#r8yh}lkBo|iw9pcRCI=%|aAqZDm_!i>BstFkJqvMQ^xDyy<8KUV%f6C#a; T(N!Xm00000NkvXXu0mjf81t^2 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lobster.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Lobster.png deleted file mode 100644 index 8cf94f95b844bf7880bef269c8ec91f34b9daa22910a2ed4cb620a916f14278d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12708 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 H!@~XtC+*1= diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon Face.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon Face.png deleted file mode 100644 index 897d32dd424e0ffcdea950621a1da9aafc83cb00d98eecd1720b4b11bb655def..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11065 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/New Moon.png deleted file mode 100644 index b8eb14f4a346db965c036471df3d9b8008a3e23011cbae8b2e1f3357e1be7237..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8729 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 DHr1m9 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Octopus.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Octopus.png deleted file mode 100644 index 90509ef94f8943b0f7b080c400e8ad56d177fbe2afb60becafaea7be35e6f55d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11666 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Owl.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Owl.png deleted file mode 100644 index 1dea5488bffa1365bae5b01c2654414946e106840b3fe8bc5eea7208d90395da..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10868 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℞l(6WehAl|EZ;+`Yejwl0t@?~kcezq(d24^S3&K#2 zPgc$LrzfTG{rl@ld}lSXhhifGA>-DTpzeCQ3!*YEI0!$ zMo1qoQzVTx>BhRaUZ*~Ni2C#tHkqYTnJ|YA>{KSUqqpt0pIARSDn5UVB!=f?2HZJ> zWE3j`|ND(v{gQnLOOda9yZNz0zOj1NhAqSQ?3muWcCfh0MbXa(Itnh#NG2xdSlZi8 zRv5|^3o7lJa82%RrNtVH@A*jKW3*?zYz|?aOrjb(u9MUwbW}%}1Z(D~)~4O`Fi)PLaMoHCY4Bm6(Odu;r%;bGLw)4@L% z{NR++PFZWCcwUxEC3M};)!jUN(238yDu_4wL&*=|*XB!_K1~mc({^vYJN&G6m zUO4#rw86mvJzv_hbg-MHi@WXY__PvM3(Y)@Mjc~xx?=V{gf(eDkkbw=g_Ue_!vDyn zm%iz{-+t_KCbNe(3MoD$t?Lm;A*93zktk>GH$r^qhuh7qzsb%&+Pfsh5O~XmkYi&o zmO4R>&(F{Iw&V)sYWW58v-8q8A*zYSIAuJQu~LRMal$1=NMwizaz@IGl(O{`-+A>r zU%l;Hw{7{+0}q&U&m9)G+_UweQwCRixqR0px%U1@%A7AK{=c_8J@e<=XWY*J%J~k& z*5P3_JiJwmj{cS{#GZYhqoAMlxUYq6T4M9m+A0^{i{3m_ZJZ;7>Qd>m6#xi) zpRUeM+IzYP^Eo$paGcnM53q5gy=>L0@JHLX$FN0RwrZ89WjO13kZ)}xagszPZ2)h1 z*;%>1av|REEBAQKouldFs+#)Gh7HKATZaX}$aA0xJy)ziF7yTd&WaU1wYa)W>SWMZ z-J@~&ydU;-ceKB!yQfoRvROSfKJMv6ym_v5%U5B@TMv5UXsX*^e)`E*XFPLl&!V1q zc5cqEl%s<)GJDRwk34eVzqBMWtU9JKJnFn|0#{52z#-H{G&n%c~cD=dx9cR|YMuS6FM_6$WykZ*f13dX4Fc z8L@O=(Y}^q=KEIgkg>L+tdrKcHs|be9ow^`q;aOTw#7GoG!sR)KQUhy#g_KFZXdnt zW4|tc{Wbw`_~!ch`f@KnWA#M^<^Cj&4bE4ag>{=SBHTAVd5sX_l))u~HkS|O!9$1K z^km5?>3uOHej4WET$*MiR#s~-`}MIom4Pg zkI3gcIO&8F+@V7U#DQHqxqt5z^IBoz>(4(MqLLkZ zdaFNQ(tr2$dmj4Sip6~^AA4fk{l{_^9MdQ1ow91xK(3`_N4;LxtGilqD>_^Bxfc$Z z_MT2LGdJtzOLHQwHE3yVmAiL6=@nawoPWWE+%@_$YUL7reM=Lkq$#$ylFNlE6J}+l zR&x*Bai=&qT~&|no1!ISS>4q_XGbSp-97XS^t9xx2ruaQB+!U0?Y8$Y|wRU4r(vg@*p86LYt1 z+qM(f3E8uY36E-Rh~a{bt3$V%ZmX zJEy0oz74Wl3XugoDdn7%?v5LNeAhoWueJGpxCLOtRj)11?mD!_7<+OOMJF`osw=%P zm^^89-*un+-W|K1fbjMQiH>C-&~HK#UZ9}=WsLpM|N4UqW)4i<)7v{hp;+K+-~Wm0 z?;Q}QFX_K-de$O_ zhll0D?`-Yqacd_g1nWob#*Mfm^*qSm+9zti{WY)X_Y5tw)0N7@yLRc#yLOH9ydA3r z+ple%7ted<7@xAZVZ#Qwq1m|dyhon5=k0lW-k!JT?Rh(5_P+u3a7WG0D-9$70000< KMNUMnLSTa3C{N4) diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ox.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Ox.png deleted file mode 100644 index 023a1f31caef3be9f86f81cbd56f5438f05f49c99690d0f2047b3f9586a73eb2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8636 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

DSWf^>CTPRt23D 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rabbit Face.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rabbit Face.png deleted file mode 100644 index 9182a481781bdd03ec3786bffe75dfe8976829924ba5a0931d97d07618e4670d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12116 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 U`~km#@4tXFRdrP`Fq??~0jqgTw*UYD diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Raccoon.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Raccoon.png deleted file mode 100644 index 5d858f2a39f9993df8a2a6a4f1bbdd3ab1a60f1c691324138d2d4fb252251d89..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8307 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rosette.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Rosette.png deleted file mode 100644 index a22a5df37ec9493c453ceca3de9d07d4eaa23ae4ee0c21c3087cefa22da16541..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14739 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%0A&Y9v?pkB_>k^7u8@umjq~65Tn$SLoG7Z@( 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sauropod.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sauropod.png deleted file mode 100644 index acac0406eb11f2a20adcbdd067ddf127d1b620ba54da4006f286f9008cc1c1e0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9132 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snail.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snail.png deleted file mode 100644 index b942bec7a6c40d8edd1507474bb75ca0e1d44ee76b1a0a0ade85828bb5ee7012..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12380 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

NDv?-gwiOLO4zw$8~%9D-B@?$tyurS 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 N002ovPDHLkV1guqm?8iG diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snowman.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Snowman.png deleted file mode 100644 index 265be577a11ef3afca7a1a32b8c2247d3803254c48eb7e5a7752d1b69d97f6a9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14404 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 KMNUMnLSTZy^ML~Z diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider Web.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider Web.png deleted file mode 100644 index 68c313e2ab7b9797e9fd619c8dadf58b2768bdbf8ffd7ffd5216f9458f669ff9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13100 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 q{av>w?w?>MWl diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spider.png deleted file mode 100644 index 23273c17df096b6b606a5435fffda6de61cfb763b61d353a647d2a0d52d4580e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7230 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 M07*qoM6N<$f`D|uX8-^I diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spouting Whale.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Spouting Whale.png deleted file mode 100644 index 1d6205450bd9166ea8affd3d4783a5ff8dc61850b8aac401765269678b6a3b4f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11441 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 LNkvXXu0mjfl9@bt diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Squid.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Squid.png deleted file mode 100644 index a9ec801e1eadd06a86f5adde86e747ccdac3261d821f85fcdefe1dea7b34a9df..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14395 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Cloud.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Cloud.png deleted file mode 100644 index 00d4ff2086fab43f2aa15f28249ff623768e0e4fc85fc87fba1069bc39e7dddd..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8587 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 Q`v3p{07*qoM6N<$f~1`g4*&oF diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Small Cloud.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun Behind Small Cloud.png deleted file mode 100644 index d55e61d60537ed05926a8465c899f61883de79b807949b2ad3c63ebce175e6a5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10335 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun With Face.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun With Face.png deleted file mode 100644 index 3d114813aabe65b97d86c8735b1cb457e7d16cd3422abb6c3652f55c9611ac01..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13285 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Sun.png deleted file mode 100644 index 3ddb096474ccf05f73079281f4590c1f91ad8897a00d2ea710c4d3bca4594f59..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9214 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 UKN9_^yZ`_I07*qoM6N<$f?5iEWB>pF diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Swan.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Swan.png deleted file mode 100644 index 40c5e3ec925fbdcfd39e747ab8b1d9bd5e9a6482797b00fb7a46fefc72ef2a11..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9825 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/T Rex.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/T Rex.png deleted file mode 100644 index e41e5ae27f2c7230580c9d4fdde305035f1fb19713bbe0e6a84a6ac4964d059a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9348 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tropical Fish.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tropical Fish.png deleted file mode 100644 index 0d143b327a49df67d41ccbce19cf31701b7166aa3c13b4541f7d566610bcd562..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10407 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 ROj-Z{002ovPDHLkV1geh96SI3 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tulip.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Tulip.png deleted file mode 100644 index ad2b611d6ee1db22069e526e229af6c71e6979d46c42c4ca6c8685a5c5ae2038..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10459 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 RCV>C|002ovPDHLkV1kt2@pS+I diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turkey.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turkey.png deleted file mode 100644 index 7ece3a6fa5d16facea5c897164f1aeecdfc6cf7788c6db1cf9e51e5232699105..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14377 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turtle.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Turtle.png deleted file mode 100644 index 4e9f010a2b17f9fde6a24a36cc73200ad0dac4c5ffef5425ccef1fceccefe75b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9685 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 X@XfM%TxnM;00000NkvXXu0mjf`63|5 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Unicorn.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Unicorn.png deleted file mode 100644 index 8a9efedfc6505d4dd404e6452780f0fddc43c7f68a17e0c144c8cb658a01639b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11182 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�*ZiMd00KuGJY;(}eR1(sOU`Y-9OV_(xLXvv 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 Y1si8QEtRpp9{>OV07*qoM6N<$g3{RN>Hq)$ diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Zebra.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Zebra.png deleted file mode 100644 index cada87583e948f7aa1698784f11cec3d4e46daac3dc0ebc5f6f393a4e53bd7fc..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10985 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 BfXDy< diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Argentina.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Argentina.png deleted file mode 100644 index 37d71e4605e6d187b0ae9f4d6f983cebba647e77f2b8c824b8664936c7eda2c0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6152 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 S$$zLH<)f0OV!iyAi2nhji%Qb~ diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Austria.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Austria.png deleted file mode 100644 index 9728457e0c9681823550fdc858d8d2316c97af693e7cfaf1670fa6e7de3b1e64..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5814 zcmaiYMOYLJpe+j0-JQ}UDUEbWhjf=T2m>>~kb>0E(xs$?bTcB|okI>WbdNOL|83s# z-o=Tfn7j#41gCR>+T5QC=Z6LLEA|aOfqvSJL8#$%sz0XX+i8)fEF2Nno_mb_tz4 z-VLh1^ta>PO|1l)jxW|f5GIEyh)%MYD;wf2n*OTU$+xufhF*3U*M_h$12`TY2-}^3 zj1fb@K*NB{1u!MH>`2GUehawcW!VgTfp>LZ>*Dd^NOldALoQn;omkEv;ep7W2oDBT z`3)GuG5VF>35_Lq=ecBO>sGqxbrkqKFEw;A5X-Whv(OoU*MrWEOK?0b-8|k8x$XiV zmsqT+Q)bNrHI>U+^>V)B)xR^Cq7=9R#Hv1M_ zD05e*ft2O0WYDy1|M#8ZS@OU}B^2fP{(hUi*XvrcP3ZugKF{0~hF*)YF4`^&$IGEo2kV5M&Kl9Bn?6>|K9B9F&7TdTHb4=_a|>0z}MU>0cY+i%0JDY|sy z>o^h9#2*j_f#LxKt!*9JFs=2v${W=5^Nttzbi^GY1aWh}yj|dIZWc9>uG>3`u&k+%(WcH4?npUQt{RVA@Vb~tr}bqoddp95 zD>f{&oNKQYm%2KHK3q*Xz=+k#h1L&3C5Xt6ww&ZG*Ir?xUtP6%iGZ}N3xg3iwU$rY z6{n~Fp5W5avDT@K2g4Nk4rbp(^QH3em9^hLV7z#pS&#MD`ztO~NdZ?ABrX*i0*x3von1a8Bg zDkWOHKidWP`=$z+m5Bx0rY4Xab*nXhB}Nn$=QnZizy!2t(er@mn%s8m# zKk2wdyTUppP7*PQE_f^}$d8%XIPPz)UuVEyjLxa5t@84Bj~XX2bE_$^Z(V7yF-T2& z%MjnR*2cHpp70}==slrC6i&=o1S~iM*Fo-Nwu}xH;P{k4s?-tMI?0COEk`#-rzGHK zz?d^DDsqC%eoCA3A+7|~zPbo`An-KP6Z~%ks=*5T$op%IVD#QFg7>0bEl)AVx~mqf z?E0QCG7Xo0ePEx&nE{}$lS32LFdi2p_-lkr#FCQ^(uY6RxNU&l1|e>8%Aqss6zm}l2%?tb;s|e_$d_b8P4nTLCPE|Y z(brhP?oMG_oH z#910@6a+97GS)t&G}|-Vi$d08!#Bw~Qa?O~Dr}@gSBbFH<5Ufb4si>a6?I>$>y+p* zy{;+bAdCG~43C*0JMPYGgPLDNx8qsGpl7|DjzQPj?_b%5>*(nR27E(H=DSBb3Rfx3 zIJ8w!di=!vA!y4-iLd}+;H^?-S+vU>F<{H1OR6&Gt*eN3q8I)7gObFyzm>lcDWYxp zEXDG)4DpYpdv;YUaoGGIT0doML#c5t0sm;o;v`dDqK33_Uuo=f&V-Cv`vPh#oOZKfvKaSv! z&udd!J(Kc*)t|4iT@d8%*-4FmmS{3~B-6*T02aPYgn zEFyVS`X^&@pt?7|rI^S0T#~^syB2YNAo<;%uK|BPyUZ2Od{)ElAvQVcX<`YkW0Gk( zO_1KU<4)R8MUSt-gtEE?&<8cT*|cA)CaI-483FBKY}qLts9pbgcP)riVGy`GSI8dy zt|s}u(4#OglXHLGcx(LqGH938;)Fn4*KlcEdS-$T)s-+oN2zm0Z}n%Rb4@rC8g_HB zrT}%9J2rAT?O@i0BI|i$*P|DPzVelath-J<=$>jP3h^oMLh3Ss0t=F_WQ1-{tDUtf zK`Y!4BCScJMDjZ}e82I{L=t_W7?r9$@iOkXvTD}rC^jFMyjCmC_zLy&>eY1th@4I2 zDW_!#`sLg7%k3*aeQwXE<=%wQHREo(K!-ebXkfl&&iT>exhq4DNo;T zdTEU&|JUBC?tinwnqK#@^N7PS~ zwOjA~e;-NikLT<=Lxid9PSAR$N(an!{KCz2)6hFBhq~y!9nym?-va;X!dW0i+A^_H z&uCqP1&nTa;UUm5e0SzXUKcP#vG9;h3bK}oz)oqmG)eTJ>2GiKO8j~pT=Yw_xNe{E zGr=olBqDNAM9)bWv7Ln~?EGr8KK1Zxl8`vsWnnQGPAhfwx+?^-IW?O2Gg6oYZZBWO z9yyIB#lnTAYm0fkXjHMFRd{4}-P|(FZj2Q{_LDm8tbo{&ms8}oZ2rfp+3Z4jlV-1g za??J?#N57i@|iUP>BQ5W_8VxmVXDVHfFg3rf};G;o3b$b=2q{VFd2n|DJ)>X*W%Js zM{k}T*BC1&C!qH4FI7xw`I1O3y?z;LRB8!T6H?*Aw^bfVx3&;_9v}$04jrIDV z>yI*%Zsnm;^yw>(P7%L$4yEj@VnCBw1os^T z+)fPPFsNgSQxIj*yd1%z- zs&V;62wt0a`j->xgTs$Ar!p=?xF;-5$qf*uqnshHPCw>V&AHRIESntHn#T94uRl;RegYAB(fhdt{;UPshwuJ@*Qi3*-lN>`A`b zg-*>y8)f77ge-*$SIy5bFq={E3WR?ebV>W%XSaVK^t&$cIvVZU8?PMnV(}EAQfxzfL1!n(f&m*O{rlG#N79_e27$PUKkkx4h|X?(77{0o#lc}5oT?E)}5 z!%O&{c2r~Cz*lr&1uVv*_57Tfakcfp5d7ixiXrs{?mnZ=u&{vX)I9C0y{Vo119&a) z<>;-|)Xex=Usr8jXnWwaWGobi&FvdDm z@%d4IsV%Ank2*~UFNsSY++fEwRZ=cR^Sa+%IXg=a!_DTSDP^&qYTFgvVeVaB5^NM- zk|IOITA-LouWefr1GmaP(ZnXFojYz}SF$ zQlERG$2rmYiq!u~t;YYxjcV@@Mf;$b5cBntbtQW>zHZIp_SpA$q-;k!* z$TD@U*;LMV2dy{jG{v^BF$NXJh<)W-%+d&_msnzoSLDrl(?@UFp@k=xRjzN1iHh}* zUmFb}jA1ZoicYR$c4i|vt6xtwvp!n1#wmxR%Nq_g7Ka13 z_%OWXb1*q6_&9eFx~Kw}0{^DEi@7pC66o2l(t0a&e?jSDcq|XN@3bMYKRjtjZ)ULU z9{V&i79by`(TK@46x>pL;~r}Jbf-kMZ~-E1!gouZQR_4B9BtIV;Ce%p?!!1CIq~tL z6*vEamRw3Lks!&JGy0uZ_br+$1puDO^G?x1(h!zxUp>~P(0CL0q1P!*$|j6n#*XJc z{-e=t>eX($YD*zNu1_+ybu#uxUFK{1Zg)a)^u3J9Ur2zQUYhN@3;8b-yOQ&DbrjNRUn)b%lSe(F|G#8icv{6PDZ#f%)h}7Wu9#(xMq*IK!tUf3tGVs{Y2t(0o z)1JSe+4R!6ciSkzk>r;>YRswbH#?na3S;>B@B;bJYAP>3DdWwV*$dui0tj z>=Q=EjH za`>k+l~}+$l4k}_?H!cn?^>;`W1rU6a&EHtFmW{viLQp@X@+#0ZW(EPmau!qDqFVb zbc!V71j4->O%vy+SMfJvCI?@(_v*XORblygrEvcZB}840cqui??k7jDwp3<8SF|9b zpIzL;Gej;#;szu8ogP3bdHdKko_ft-|5m$ZlZg^;8j!C4_Oh9fr$x0$nU=UHQt?Qw zx790Hmj?19|-pA?I~9F zR-w0(e6^XNnYUHTBfIyZ8$Dg1*<7r-OL1z}LqOPgadB&FCcJ^FOZ}oq{cMhH-2=fAaB15^CSr z#iT1AmcK>P($*$!r~L$`6#=V!VWooNpCS;YxEK^wzB^6ap&>1wKc^mL%opN`?y?B&V31MQ z0LXPMGR2~*Q&g?fs49VXq2DH~~O ztV+uYU@raAQDS|@=i*}g4C=8$HD32hac3IkkK-XD?(TPVE=ZM%&tS2cb9S)n)goWF z|HT9d8I+#GE`6M%NVkZWbJ}V(DI1vaJls`{xF5C>NZ24h4m2qEfUHVcG_-Hh<3*UX z3v?ekMjr3-y&dKe@xXwGj5h>l@Pac9_>4@S6uH`N9~i8H&;Cgo1?OQyDV~BDuHBPx z`Y8tiy``Y0XW55^7NZt_zFM<9?aKXkWm37Nk(f#EjH~$6I}Y+l&4o2o+h0 z`uL|5&d2YErNPl2DFC9!aSU8F5AKw~p!YQ|XP#!_+_n@QlR)IZbRn;9{bQQJ0MO9? i`Q!foz$G`^3kF>ODuEHy=JMYkjiRQcrC1|x9sWNnOnhPh diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Bahamas.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Bahamas.png deleted file mode 100644 index f55a34244c1a8a8dba45d4913df7cb2c00e6dda1c72c5e5494b958243f020945..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6026 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Belarus.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Belarus.png deleted file mode 100644 index 5bdab0de32a8603d3ce69dde7e5b79baea5b1bb0a274e872a8d56a434ab4db47..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6853 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 uK;|=3rOxmEepUN_q0awOpCekt9m5avD#Z~ diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Belgium.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Belgium.png deleted file mode 100644 index 4619ce15f2faefd680e6b347bac5b71bf354bb0732b4b8d6e6f2f18bd5795158..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3950 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 HScU%&i3KM? diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Brazil.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Brazil.png deleted file mode 100644 index 89d5d5700312c1583c721367e9fecc15e872a7908e61bf2900ecd7accbc34436..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7489 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Bulgaria.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Bulgaria.png deleted file mode 100644 index 9d64e383a7adc5b3eb593e0e2a0c7fb1f5c8c6e6459985962064914dcbc74849..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5801 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 SK>AWaqbSO%$<#`jhyFjB-)yr0 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Burkina Faso.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Burkina Faso.png deleted file mode 100644 index 83aa7a535352f24fc9f8a8d8e0bc46c8ff9dc4508757cd50d1ecdb83e685f52d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5509 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Cameroon.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Cameroon.png deleted file mode 100644 index bbd1a3a89a6154c477940359fb20cb1200b5142235932028ee6a5396663d433e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4938 zcmai&S3DaI)c#S5*rZ0SAhpMjYHe-oUDRwfRBf%=u}6$bY+~=xQoHu9P0gUGncB37 z5qrP=-~2D%_u`!MT%3#N^Syf>gub3S72qL&fPjEXQ$xk@-?jRGLw5h)UQLHd6A&=a zX{tbseCBc4uVZYs39?WKcsg z{-rn}HJ%)u;v_F8cqR5R&}wr7-=8(ZX`xv5xLRbq-v_)RRrpr1bu_A&+Km28gratX zyP9ODoqKL-#{+jO6nuHMEY!=xi?K#)c~M|xR(xxe4D(b%f{&(wzLrJf7NiTkpE!u;^rZR@% z`;zlD-)+dj2^R7@yRgN{`>sdA+7A}D6la#Y4epQU zlviD$&DW024)7z3pX4bkLMvRgeo61xgLH$=rw8|>_iTMRO%#^}OXi2K7+>dXu-b2# z=f1IW3<}+tGiSsLm$ClPDu|-Lded@314vwG1+pgEs0s7@$TkubXAxleA(0g3O915Y zFz`Bz3-hU#G~c&-TlBid*DZN0dZ+zzllP`mag9qMwdr;6v3*|PMeIn7Z#=_4fRqCM z%j@d0=2wR%+H>1y6~e>&h>NEG?rNRSwS-;;yK z?*xKW`Z@p9A6I=I-^EY1n7d@>+5dCfKOQrtZD**4xKWBOOsKWA`WAxfqB32}3AX4# zBsH%{>mk*&;y%YP^Gs%^7vFLUvxv*s>VQYYN%@v#x6Fs$cn&C#EN!RGMV#nDZx6NG zTYiXLW1h8No^K1TjAq~{9E@re7PPeNa)2K@je;_r=R4ZUy}&O{#=0Mx2BF`GB7GJD zP$}Gf{)!#fr~XV5fiqLr7FXwsx@;La_HP{{BfJ;vz)~XG0)BzG?|x7*V8kmH0}mB8 zIx-@?IAT|kAq!U^1CPve0?IyDH;Z;CcU%;RyA)8iY^ZA{tX(4_V4Y+W3a-;|4xPJ5 zFbs8$ajbU2UJcWmRvV_TxLn`E_PPAig& z%m?k=-Hd3-^O4c;=4JFWXoHn$xhHE1cLHZrlkAEG#R){2h;lVkqO8aas~s4+2~MyW z{Q}*=etin7IN4IxZ)$a`m?FCJ%Ho#Jd#jko$-}kbf&)<$bBZBWjd?W4_=?Y$ElBu% zGC~zs7!vrmB%F!lPh=E7hYB1{s!EnmnCL`*PpJuG=l1U2!Yt?oH9zD*sR@%(hm$R( z;g3H@3NdY&auAE18N;hvKb^e=qLk(^xz(pNL=4?ybfib~9HVZe(;X9CxqKkKfY~M< z%!-GB3a}nvRY+72^n$1mS!(j7DxaI!Si%_2PsoReIp0=mN#nCw$7?P|y_;h}$|!<@ z2Nah>u9}tcZ;QK02Kh%62CY1wL1sN^M+B$acJ;Z;KAcipv#b_$dR2dtB|7eCbx9)6 z3kWf6;TwE{N!9Ntc_-BAW~^M!(hQp1_Gh+Amvqr~qf>d$$#o8}?s7<{TY96-ZAki< zh4}FdAkl|JTJRmqwO7D_=$hzemqW||Nye{lR_CuZJeJ0`GR375y3w*$a!*uL@BiY4 z#!59{X?_z8yK(xfBHh9U2KAuYf=$ytzB2M0jtgXskNCLdL|cFK8+H^aPY4*v2BawIjtxt|=$j?0u3+h1<+ams=NZ+b9p&wY% zC?%&cn$h5%CqJyv68{CtfOAihME?K`5@z@{u#j+f&X@UD5J;yGV4gHy-g;Uzc{AYr z`V?xBFvCzM2e76jxmfl}2_+S|k$nzXAQedtUHr6$eE2+OxpNC~AO!kOLqQU1#m!G% z#Rmiz@t6K;y*g+!w6ATZv_M1A@tHi2QrPkg0b=4gLYNg`(dc!G_Mw-Vb``7RN>tW<}{=nDcW1Rc$Bh@fREEw&cdv}x_eV3d# zCXh=Eerf~Ue!}nw{*%@YU@!5cD`S0kXKZDl60KDwQ zLlJL>N?KO14SZAp$D?5PQ6&Af=IHl9hb7A2UU0xDFMbq(eY$j$?E5>QUD>;@#;n>o zE%a~8Y*b3DNnbz$;#@;j=lOs3V?B zn2nGJ+Oz8~)x0J}F~9F_I5*fBZsdongBbIRk%?Vng_-iwKX+tDIsW__bB)w70`|dF zpuNl>hBE;Mv$BG*2d5eLb{B}KiAXN0_=o5ONafL1h3?JgDU8k&Lh76nakohcoC2<# zmt|UUFiI2yU*&T5;=OnWEgZvw*YFEhTs z61hsfuC?7-`N&?D&M~WTr2#^>MV&+7YoR zDOS^>&@_D>p}*dPUL%FC7w;RAZF`yaiC!d}pKcao4eIwbN@8A}*bIHpM|<^>=-&VH zu*-O6((Wxl6SYj|weSTzs3o4 zyX}mvss5@4Rn$^Aca1S-_amds4F6C;AO~P}k~Brl5Hi(gQP9H{)oN}CNR00?A$!E@ z;2x@d*zn2IiENi?OXp;-7*h`1!N8WiG=38PYf|H|x4le;Q%(42#qgn|3xe|e0gMmV zOH?HTaGY8aP%*eAGz8QmN&`7QmSzPJUg@_^r2Gv2g`kT7Faa-(}}HtCG| z)mni?81b=!yChocPXXiVLycb|`VwvK<*J?Le~a`?M*PN2f^f00Ij-IcecF2{$svm2 zod+a8_FN0M?*aa3*o_hkeWgDz!3;iY4=qr@E!H;FJor}LWiF9)1?$X7$=T9ChsZTu$^s#pL{$fLd9 zvgjCh2$ZhhWWynBb#yP$!rQVZt%U|_KN;LqF2!H!UJ^6}IR^<^%c1gZ3ZFi*(7H(T z7P}G~-Osha{f%zZ*lAUT1buZjqN-c{)aEtafB)y1LsyOpgi54}2QmBm4f^*d*RkgO zZc{#ewCl1mlP9wXLbnZ3##89!B@|N};^n~dc&b&FuPBF3S(_c$JIUGUS!cu)W~AC!iqc!-OW9uWjy|N{k zNrP*-Bc?WwpUT?PPy%VA;xS6{qJWz;r}g>AQt4b7`me*8CQ{zUZ2|Y&+*MEkoK6ZL zQ3o@0n>7#|mr!;*f5wUUgel|w=Iq^}UI^#r^l+!=PeQ<;w;Aku+`OU*75JizOi$8qx)?L|uNgiwSZ^MlB~X&Uc*HW-=WyObVJ#uq1X!X=xS1{ zK0MgRHZI~$_Jl+E| zkl_fYtp#VaZm}deDsTx_333ppRFoNE+IX`pO~au==RZ7HuW#4Hnln~JQ)=n{`U8H% z+H%?_^Q+oDFFq<>QFcB@`Oe79Jc&VSB8dpcx=i}uxKVyT4Q z>D($AcCtJQ5O=&fe1~iL7ux;p{fnAT_`^#g?aA1;ebuP(2xCuM67$!+Vle)}ZuVIt z_Ft0F+M5mk&CT(&rmR^lpq|}8j%or!*@}sqIb)*CWQZ-H$|UcdXD^#1M6%HZyZ9$) zSG^-Pb;o)0)|#v0v(=K(hrpdRvAaR0l?-I0N(oZ?ic_=kekalGbm4(>pu44j5RwkV^kQECCi_&?_o^#5Fxvg7$SS582d!o zg-G_@$k?Ld?K}8R-}k<*=e|##=j^_ogI|J$nE@+{01E&BU^Tq0d*@$b|KETa|M}wc zAXNZ>L&H!PX&wA+=e}vO(qRW^}vJAZi4f#W4Qp~59lAgT`FYgyqv$_2Po`# z?fs0UMY7cC))mO3J<;t^arUT;pT3UDd3uoxonr$IC$z>m<@1ETzdL6mV&vL~;pF@{ zJ%`sd%h;F0CFA?a-mG@F8qC65OSa>LBetf6y|7{^mZ~#B8HOMd`^D{6SM8I)`rP?H zrZg{j_!_nCr|YfO)4w~r5e@69g~g2K$c?2JF$R7RSj6w5)aAWzoah_fEb>HlECL{C zPO<7Fi!~)881C=r*&lk%+A8g#Lm(0#mhiNp=b?h}> zNvR6(Iao)$k$pQK=5TjneP*EFj|+&5n!QfwVpfet2;ysRCqxW0>gh(Rk`Jf)j%re? z>|rXQAFa7dCP8hg@?o0hC#y_FH}*z*S6%YoF|bFWZHh3vK?jfd#wz)DN?}63=QC~W zPqG)Fub^a<8K(c${-_W&W^E97h%0J?{-x=?DsVWAkAY_O+C^!o5!?payI~I12r|2Avpg`NN;Stq+ItK;zq-cZ}kxQp zfc;3_k+CZ`ZWc^n3lh=3&Hj?OOfbHU=eEDxE5s4?5FElNx5i>@=hz|!X$h^Rc+Guy zJlTHESj}59^!Iye^-YHk%iIhuGd8J5KXrtGa!xTL^CR}&TO&JjM^~XuVN#4GJKO74 zZ;?GJ`5T<`Kfpp^O8Zn8TDAG)Xy(U<#z{itB3FA(JFPz(CUj1&Drw)_zq=)+2~91# zQJosGm-@BnKK0`1`tKi;8-?NXU^Bs6v5gPZzS?~MR~R;9T|vIYysRch3Gpa8Lv|nt zt4IM$>s;$d#?uk8oSYb%NoJV#0ZooM1}X6zV4OmX$61T8Hsy%Gqp?lI@RlSU;}9bt z?&;{PtwokA{&@RP;)78hG`wiIK3zSmJ4*~E8X31v#d zc@JcJt$3J!V0D9xYAplUnFX_&!#DaN2C*z228k;=eW{*uRaNX;9+koP2!_fnHFWC5 z-lt-h1G40SPx)A(j|M*2@NsH!ywc)&2=dUe`p*S)Noyr6dSzk-&nbdr=EmaGE&?h- z)wHhmi9_`}{9;j>oZNR?w*~NC03|%WW)v|uOC1Ro3i;YIO5;SM zedXkYzb=%(qz2y0N9#$;mNqY5v`G{#G%4&4uy9*+YEj?+Y=LDc6Xtoe!t2oCTXy@! z7>739A~~%oK3HKL4SZ|C$e4ycvy+owSW0s%t0h?{O0V!mV+qY!}C{iv)(Szf1YT;Np#n7p|X zFy6$z9DgZaS014RngOz~k@cE06N_E+r!%wQ{P8?$X|<~hX-4@)HQzBUM*|BDsAAs2p(o2 zg(Jm9j9N2owleKg7Rn=4BvhYdDk^+y=ihb!hFEgE{BFf%q0ItNhyumG=|(dS_qTeQ zJSXO$k_5!|0=N87+Ww_&A2M4Gd%Zz7Fg7< zGpa#$coZnJlYdNtw z$|^g35aE~pfLTf0Lg84@&zii`PF4P@ks}gHe;qyKgbT3>=qfD@PU!VbBZd*el!Q+1 z*RM!(z?LZF3ltfLr7tU>SwS;|s^dhY)$_S66gA#G>J8&0gH$oamD-yN^Wc?}i7D9= z$Z8l0Y_2yHBGvNEWSGsVgHY?L1MWdzykSf?nJZ);#HV9r?*K!tb9uXz2=#HSr!)-h z94WdjMa4sI%7_O2V3rJr8@qcfUTIP>W*yUEj#V`m#=F9;)vYN;5+IK|tr^*zMzQ11 zYoNsFI_c{2b1^e==O4uFsZRt?sDb*;DyuYcRfcyYXx~MbEWCqxw@Y1dj#J3?@TMVN zemEyrkI(P?H-!)g{4CT~@u}FvU2}+^KqW9J+1A8pu@8U)QnzN!;SFK*nJ)JA9y2Ee z%yAOHgkkk=f*_8r^3M~~=v64#9b>^0R@ao!oRsr#S+Pk|X{ue!GjAsSN(uw8-Zo7& zgMrz(uf{8*>!TM)qO4H zgR`3AJ(4{J3aOxuO%sXis5Ss*<+EalZ*T6&v$&%tBZ`~S8hn_G^50EqM|M4gBi{qa zNUttDQnDN0DOsB%b}Ul<0B)UnV@+$jFP=fka}4=PzUGcp>c*G8G%z{;nr$Y%(Gw+; z!n@;d%F*c)RHp;`0R|=YLHGb6szNJ?>k@J-`niN?qg^Ikv-cj5Q$}K$OESuHG3r=-zV*F1+hYMs}pj|ck+*4+=N-=M)VQWQSfM=Sg$jd=3A0D`>vSH z*#SDUZgM)wx+sPo*&6fhV;=wbIP((~<~$n3dgA(H`sbbMxe%Nk>Aua^r=>8=_=|A6 zyO{QOLV3h7#h4(^Ox$4w4H;DHFo%)_2V5R_i5Y$__c^wherqO=rjJ`QoDPd-u&tmI z6)u}Vq4hlG*sWW*josmGu_9()(qN+uL$nb0BtvjMYHlL`Mau+iqne{6~;$c zBv-BZ_e@bn{J*O;LjKR(ee13)9krM+ju91!y7%9Jf=7~Abt2}*96q`A6sE4i%_IrIPQ|+NbZucM#!wv{Oz=3U{E@~Xw3E9e2R<~I%p(I;6ZwS(}Sauv# z>i(y)nAg`4qYI7eez?9aju3wzw$RnttW-1n1I`qKRcYdSfSsV(vg&ZH~ba`{}Te+iN@XoIHx z>i0h1$h$X|@e94L%Y{9CVLAj6DU8xN z79_f@@^oXy>~Ye@96ZFG=ncPHhZ1Ldur|^ho(Rg|Ms<_tL>_Ysef+NrJ>+v}z&xX4 zZLphU*#-l&B}VPz{7W@Ih_AJ9yk~iV#q=ciOTlLD#K?E0jIiGuV|im zz=~`)kLLck8M^B0tzA7o>rI+G?oy+s>{Myi7Ow0in0z;f{CZO?$^08opAY577RcAS zFkYjlM>^w9WPv{N$9i`dk78rZA1%v;??G%vc3H1U3ziU?TZDZ6h9>H~lUWUadiUfw z|KpnaEq?pZqv>6!g!fh_1M!q!drjqtBJufpZ3Mi=O0{cXYP_fQCZ#QjNm*lw+{$Oko~)x)*6$y?8s1o4D#@8>xv3E|^6^VN>W=eCz!@HRo3vssU1FkMA>w6q|m@^0|_R4m3-MVYC-w-pax7$qs( zOf_9oZ=c_-h&w_#(PRhWlnU7KBfE~#!3(n6qnCdkxUG+hKV0f_>exND;*!)}tLK`m s$Q)nJYZ#LBX#77&#Q*0M+vaDmUD5)Tj@5?uA5Q@o>Y3?QYhwxj17N0SKL7v# diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag China.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag China.png deleted file mode 100644 index c1666f1ba8441b88906f58aab88453b698d113f218f83c8320d868b944bd458f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4783 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Cote Divoire.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Cote Divoire.png deleted file mode 100644 index 635e0d4013e74d50ba600415cf17053503eb60acdc2992b7e0f810d07e426245..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4396 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 T5UYPJ2tZR!Pqj+fChC6x`Klwu diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Croatia.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Croatia.png deleted file mode 100644 index 5795b262ae07b2d2c29b31f1f0f378153efc122a3f709c562fa6fd5977a3a74f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7201 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 O#86YxQmj%igZ&Td3L^~w diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Djibouti.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Djibouti.png deleted file mode 100644 index 089b4871072f8b9495547b1ad71b4fbf9da160ccc9048e9c7daf8e1827121769..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5883 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 z 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 OJOe6gDm5rrM*I(oXm{oS diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Estonia.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Estonia.png deleted file mode 100644 index 5acfa55b1b5ce5bc612762cdf09909ebebc934e6343822e142e221c277ddbc69..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5203 zcmaJ_cQhMr)Q$)xRuGcfQdN7DDoTm1Ql+&=>=CtEMQurH@6n=YiP_Yut*BX>Qi|3r zwHjMBYJPs--{1MpdFTD-KF@of_nvcajDfy31DFF0000wWt?*N92u2lP~`U6bC~!VHB+* zqhhg+W9;T|B={NfNfrQU_sp<1&hy91I#C1FIF71tC2o*rPISG!UgAo|5#;(jc_`=L z!g^?EWjEDcNB7UQH%#!^CK(@>)zhS%u%RYOqf&!>wFoeq$p3xl#A5GSJ6Q9H0S@%^ zYOAZ&+W%RHNy*d{!q!%yaWGlfOB3)ksga$1{d4Hn{+uL6%hL{0X zcbPht2=kQ>LoK1I2L}f&)i<>>TwXz8lE-6|=YJ~SdPzu1ekqMBad2UbnJjsvu1#~( zS(8LR(U)d=sEpgf`rd!nR_5z7C?(z&y3yu|(`g_%&X<)9jkSt6s(|xc-damBJv<>h z$sZh?ZmzaBn33OJbkU6^h*qACwD0Ytjq<`*dtTy zJGGW5BEna>@JYO^Zb~se(f?RNFF0Z16Qi6;jp1(C)AilMqPV#JQZ)&5i%`%@24$Lz zoGkONaj-S0JfsLxb;(Gt_9+Y-wjz1{#LZ)Qaz~-DgyM`~7bFplTTW1ynaz=p{jm2$ zwpWn(7RM+bK$@0S7)nHh1NFJ`z|nx+yoogbM5uJLfY$6zLB=!b_1^V{8Sl9}cXiJ! z(Hm>@WXkIPK^dE-y|}@+j5+*Y05H!dOiqRSc*CpPzTyMsV(Gwd|F}r+f@LB1hE31P z!5USZYDMN8&McI7g)hKgQGsk4Ci8uvs)T?0>fUiL(jbgr!kLZH=joW9FpR&?jr6hS zvXfs`h@PN?_6j#m7$Rt|>w@=q&|ED(kRAScN`e6mA0r4$(N1qh$q;YopvjQZ8L(gB zvV_K=RgjepSo8_Iz{-2n{?phImDcmGVHFpV(mRF}2M5%bG4@$&+l%+mT8N^RTK~M% z5;TL^*P}k`e)0FEkgM3)Y1sL{*0~48FCyr&r-rKIti243H)2%&HAl^)=J=+D(xM(j zalI+O%`}Wcjo7*$%VcI|s`TN{j4qjcz$O9a0M9&htuGpObfB)iWN! zew7t0oNR2qOka2?<3BtRxnU)CBQPZ*AA{*xg$k;ZvjV zsy_5+;bM$h=Yv^&v?ic^s_opX-W6) zuCxL^W)Fixp$KF0g~(@pOwq2%^hbWbh0t4;zQBhRSbk~)IosKkBEzFfF>KU8sxBlyLT3r8%>3{Wv`15pgj3Y@1sYZoc7tBNpZkIpam<*q;Fxsd z_~xc4r;uM)5XJU;S^?7&b7x#HO-5pSm?@BUDU=t(LH6`7JzTE|Ypzh$4#yH1^X?TY zQZF43R$e^Ip-JO<9m%co&}*XC&w;KyZ&R%5RDil7<3JC^iKBX(;XiX!8t&gfnk`7FMF( z1I%G51A0X?Kk29A7C#3<`gvS9HvX>QkCMTZesqw9Gs~6_a z-_kgfmIO)$oDNa7_aLhH2~~-CCRf}U?BIdkd9<3zvQ8O)F|F5g1jS8^OGVlN%yGx(9aIcq#Xr7hBqXX;Z#u1eiWZGL@b!N z-V8rO-kaqyXlL)4v_sHwN+CGipz-{*SPqBuXh3~9gQ{bm0g$-`cl>729sV*9EYF+AA5nPvTH|ek8K{YT7Zhq7vR6&lrSY#rLzY;$x6KfF4{QK*N?*HGv`x z%TF2EDb)oqPzOlsoavy8)d#N^HAl;;D3M=??Mw`HvSpJBgcmB@e!OWOU1zsfmS=)1 z%3yEWN2HhO#k4osXI_;8Np(OdH24TZPFWo&Te&Pv8GLkgxM_9qW??E_Z0v-qO$^so zUiw^OVG1eZWwow%PEt-@m*{3&+0t3oMKMe$!8I%+C51&trcIb{@h9OQdqmWNv%aRE z+Lc)aej1td=g-;Z1^K8ls*CJT)j$u-tL~anLDjz8H!?PycCJs->U`x1);~C8v2j^T zIkn2N`H;vyF8g%;3SiCy_ELy0pt$xWE{=_(hkHOdzfbb7J~CJZKbi}CkqFjnaN^8D zJk=A?Y>ppfs%}m9iMwYKo*;n;Kl!KWW1RJ%Ad4Q6FywCup>&N!M-^Yh-;3ua2k5Daj=B z^d*-#O@jwa^OT;S_GAP(ZBKn}jAmwH%XxuR zz5t5o>Qz%MDxh&1tyPf*GT_1~F32$px)KWl0f%cKI2Rz^woi?cu8X3~KYIDjdRc2k z$M5XMv-8L66)iD^tzcb?@4oH~k>aR610n^@?PUrOA@$bveN{S$QJP(1rDlqjVxciu z++DwAiHgO4l(e9Afq!h^z%1KizC(vRP>+-T&fi&?xszC0a z6vy}th&~T;Iul1rvaRPc3#SG*=3pK{?Uc>kYrY&W4DbOs086jK>unhU4|QH6 zw#o~pEVR~EAFr2LY5E^}2yC$xN<@x91<5o7+wn(6WQ}*SD6waQe%$}gs(NK-wVRM^ zZ1wm?Bg?J36wf)@MX!HX&V;u|+Ld7+1i4l|8#O<>MSlV3lC`}dIL4KYELWg>t%%cF z79zN^6n_Uq0KP+BJr4f>xMEx1ch4Dz^gPprRrqpljWn-&mZ?oGXu5lIm%P%bcRQ zd|(m5flw)tUD^B0z0#=y*)o=uQ_{C?ML6^(GGr8JClS886HMOo(*UJpG(cyeyq9Ck zk8{owR&GMq;5paX(?dNuIa&4L1JCu0Cwqt+)W`%Wgpu{i zn_?UZJ;}I%KaWOJqUqZ*Fhn!S`k)DqWXUq+j&}AvafDvjn-@9E@PRw%@eZekY-h5_#poASSd9Zv5lxBY;JVG04 zWn*Ih^A_f{=ZF33(KwHlvz0Hh_oHG(((U81dfXLlzTA?ne^^?`YZBHU|NQRk1WHP5 zpMS|wzGQPvyB1x!Jn`;P={Gl>H0YK-=iuOAW9XUUe@{uC4`OQYTF`2ki6Do{ujA?m z{ur7h5*e>p(G$m9Z36>2dXsp2vt(Sn|8D*-yc_yC?LWJs?BcORdntI{6bY$OZ&kUt z(i|`uTAxI{xim{f#XgYr`gLd8gS#>4$|$`I3FT>caA`&=9?|i_4Rx zZd#@NzH6Dext}jB1R;)j^;7}Zh8c59MVLnZVv-20P-(wH)TP@FTh%KpFSNyf1SMVG ziZ6JT6f`13u-)$sBRii#Y zJD|xF8zv(9^X3(p37WBDWznp#Zt{ot-p@3~l-36if1Nz%I^diOEZJ{!|NizF){FB_ zh{oI~Q#1VJ$PGm0^zd8!Oo!?KvL*+Weu8uwIF)J{56$!pY`fZrt~6zzcYR_CeXNNz zu1Jk@Dmf7sEtOwIR$u65E7;x0TFs53Il1>EX*RN zq#4C`1k3Xi?>z8PDSlNSDA^z$+mqv?-$GVLl21Zp;PjXasQE=-VoiBqIYAx9Hjv%`Ip z9#Q%~GHVjiABW;QY|YkVqDzVN)Rb;@7S16dxtCH}_~=VVB9Yepns+dxgBeqnP;lv!+PqCLUfoT zmF7!qA$y-;MR|$JUrG%>N6^96|7?suTNz*jhSR|$jtnI&%*@~=n@;Jnea_GV_k;tk9ucSxN(w<*N0 zK3|l3eSCasYikQ(VO@F(JbiT8?Ck8QyYg381~_kfDiMfl8o!<(6loU^H2z$57y>ch zqO%Zb;EkPCD&fi~#+YhMwvcZdA9^4x>{o3j-Rg>VLdnfui57FGr!D=MU+q+%rW*V% zgEY3ZL{J%p$!!^*d{MawmWd@?=DFJpdD}VfS(!6Nt^w?wc{B_s8Ybue{Wfh2TzgmY z=Et5B9dB_&*w^{jI&^e&MyoSHzWumnx)J4&<63mnQ_V0-(79b(trxue)vH(Af#pq2 s3d8v9Z5bVt|G(k(zrDE4_=_vkDtgM^aarY;%|d{#roKjnnl0{s0Q6eQVgLXD diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag France.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag France.png deleted file mode 100644 index 0a3d9dfce352abb924df5cf311ad72bfbc781ac948ac945e83fa6e6ab44c4312..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3816 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 E4{tjco&W#< diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Germany.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Germany.png deleted file mode 100644 index 49aba557d65bfe60f7d1b813b52027de56ad9783837fc2dcb62b97dbff34e8c3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5177 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Guinea Bissau.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Guinea Bissau.png deleted file mode 100644 index f31c3eac0ef11a52f8bd827a309e56dc9fe5b02f42750bf14cedab8461960d67..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5329 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 act3GE|Q=>GtF{)jyQ diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag India.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag India.png deleted file mode 100644 index 66e3f85fdf6e5639683b8b19c082ce6fbe4ea2f404a22852c02db78b79a673ef..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6341 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 l?*Fsn|DT~B)cS^+;AS@~2 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 Skj4M#6hKeg5M8B-CHxQUpz0a` diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Ireland.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Ireland.png deleted file mode 100644 index 8097030be6e24b300d1f320ccb17099de5ad614b26a5d116d9ca99273c5d6099..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4726 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Italy.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Italy.png deleted file mode 100644 index 39fdd265e8e013f9050f68ce64d94c3cb98fa87ba9244608e793764b947918d6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4265 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Japan.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Japan.png deleted file mode 100644 index 310d8b1a4db846cd88653f021df72e75c48378e4507bdf88fe3a79fec035db59..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4224 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Jordan.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Jordan.png deleted file mode 100644 index d527c40eba6b1bdf416f048bb9655e9be71d9bac21e05990b8b7230c4ae5016f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5661 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 S7ykp}7-~w|ik0#o!~O@}iK_1a diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Luxembourg.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Luxembourg.png deleted file mode 100644 index eea2675760fc74146b28ed8b7d8944044c17f8eb709f7e8badd18d017993a435..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5957 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Madagascar.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Madagascar.png deleted file mode 100644 index 997f3e0c89170cb7cca71b6dff5fe40e9e324c3854d6d69870cd3a992c544c92..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4386 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Mali.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Mali.png deleted file mode 100644 index 613fd0abfa1de262938f0983f571ce16edf573af37b08a015ce069b3c8c19177..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4528 zcmZ{oXCM>~;QsF}r?XG?-uuW(HYa4o*()=9WQR!SjI5B%kjvhiY-c2Ugia{4D`y?D z*YEp(^?&pGy?CDI^YVH9iAU%^rXXb|1pojP+FI&H|E>N13xxQ;Ue6Ae1pugnwbkJ! zA&a|DbyJ+NrZ+t;Q|&30doPAdMsc77Ce0ZFg~xSX$8pFei!S*s&6}PEP5uZICBDoHo9Yg#>Zt5| zUiN4b+fj)R^T`i5u?nj>u4%#kQjH>}V3u~9M#KMifRSHmGjD%MT+Nt}#ian0L-SSI zKnuk7Qvfs4QD!hJfS8bz$O#Zy`8M(7?}Y6sXjO(^a(1E|dKqtyWIDStP90-ewe9Z- z+}hjoTv?Pmx+vL9o_W#u4Qyb6(QcG=84^okQ@axngfa2zE1z(MTfq3tQ;y$L66Xg2)yvn| zph>UmM*7u4P~E>8jXGE{+^N}UqHXtegP?}CDau{tr$$%70winV?c z_s@!20igP@-k19?4Q5xyNxObf=I?)O6A0UWtMZyBw=Vs#!yr>CAOI%5bSfu?VgTlK zf^2^QrfedWjurcNvTpyeoUXJV^%0ud_f^*N6jt!ODRpcOBboLhbT|Usz@+Yc;&_hw&=24LlaoXmyRc_TZjFGEX2`(-9+{}?j zSjw*Lrar~CE~Umcwkis!*%Klvan3+;LsjrI^p=K|)AvZV=_)k(xNPs5+g$#BM{!iO z%5*B#ugE`R(wCXCm#4*HJEH=xFS}1`tHu*s!q_p6<4G%5QI~uBRCP)TEWg;4rEF}*Kd7!@!~UidF6LC@C)^>nQ=NZgh?H)d?pNr2k3NmXECS(0 z=qMqSMlUrqH3|a%M32bsAApjJ)09KCXwXZI#j}!IFZ4>Bl?nuwu&oDuVfzkCmv$Fp z1}m=`0v|i{9`N0LK<6{ZTds216dYO4%kulwbztYFul_XSW|A`e{x(M^Vb(|FO2lzs z40oKt`(!0h_5_$Rb~4`^;eD5}vqC6*x4o|9_UxPI*w`-CT&%4=Gj_AbFw8Rw&VD_F z#j<+_FGo@R3N3tv|0k&&-~x8luW@)4WT~Jl8naEU!B61O{k1~f1Tb1Bi$=ijX#&TA z+Q1IlVl*@=!&vpp0K(%_-iL#IFeMQ%#2BH}FZftyXNFeVuilKTajs8Cfx<^1=507T zr7-r62!O=CbmWb>N@HOAv!Bng-@h9yR{TrKsr*}R!M=GuFkpDQR;bb@zT-T6$&|26 zH9edEo9y)IgNu*gWIYKZA+1$LuAjY^WxXnUC7mzo3^L94;jTd~QO7M|z8A^Pc@`?k z3TEcMj@>M2G8F6ah4=ej!_GMw&;SZfl24J`NbQL>5~~RYMmUZ7h&j#`O>Gvt7SdPF z)Wq}#4kY3PBUC8}=a2|#i7@Gnp>RK ziPTW*_I`~2WT1akQi{@xVTv zKaH0P>dt)f^e^U;llLDPBV}6aS>XN_TTOXSVkFkBiQJg||N-@0Y zrbIb1w-uL1#56hn-_0e^SM#zPUS1dXPkLCN5qjXmPrg4zt8a-IesKL)(9C$%O#c@U zm0n<=(gb&aNV*bdVioa~BwUd6pQf#&Fy0P^4PKWd8>j#_`y(xVPNrQdNSLMy#PN&> zCDezP;;DZ5E}OT8$PJ;dN5{+*FL7a2sW$q$x*?N?p=Uz8NG`a1^xo_Xvv#zVS6OZw zF5b#Zf;3yA75}kVlghgZH?|0nHKdIEv6l6eNE*0(V-MFjO8}cD*iYR0=CS+t>zsba zjlX%Z{S-h0+2+Y%ECxpI8PRU1k;B09<;_-HvX)eF)Xo!?>&RAgyP z)Dvx-iS1I`H;L?T4&eT>_oO9SIuz~=o?0IGS~1O4=6E5$xT#v1fQnf+qdlwIC3cHM zd*)tlz{=UHi*`T!SdS9_)95l(NcSh;Uh;0J(Mb+(<@>=n%{T}6wtlB2)H7n)SBXCQ z+A?)Q#~m&mc%NRHL{*;ND<3>>T2$^KO>Cr#-NdAE&Bye|Oh&-%ndZHy=!;FqtD+U( z$H9lH>n2fGT=Xl+$>554kU5NkQEo!Y;^MS%$Z=!edMk)-dh}Ebady`Q-n7q=1Qs0! z?~b7KJof|eU$m(m6k9CoD$*tH-~b@22+gaIM$Z0e?&ojGDlHJ{Rk@C0?@^h#4se+P zRB32Wf+pXNVTqhDePF#6RJ?n*xkQfClRmQMUwej6_OZz_~n`k$5IYrFylQ zUv?W>W9lYq4h3q~>%w7CUaVUd9-^2}7EhtI)E|nR;BkFffV`0>^VpPVu%(d6JxRJE z7fXcD9Wyc6$>M?ZBA-zZY_>v_EyzuXBaKw6 zvXkL_jmixqZ!;PmyaS~SED+Qz5zfFoXLyM+|48B!mjYp@$mTcerLw)dIf8l%Z|BRx zM75W{ph6NEoc_Bd{sz43KKr8kxQqvL^@S~G_LFpO^)6P#lB3~|XyGU9Gq|8i0eg=s zSLdLj3(xZP!^gtmE+rtRf;ARBM>)3R;slxNTN|#f@xML{^d_~81`TMf*Lblc=RrYB zXz`A(1$nV;V)>qJW4`<1_yObB_)mU1PRIKujjCRo9oH7q#eZB_)p7E%EF$h~wZ%QT z-+jGk^Nb@nvZ_x)#SVwe2I;NHK0(`A!ei7nM`GLM`o$mH7(>bbEuJGpgZONSp6kf8u z#uD*6ZAcrdr)F|{;n?W7C)~X|hWhvN)o&TgdI^A*-%=x5+m;oVdo*Y*nw-o``3049 z+@n|%d@(tr2~rv?T9KzWY3FxyuRNCZ+W0^^PCttBQlXFTwwzXEkRC%-Qh)wty@`6B z4mSO5n=AAwj?FP(o}z<2cg)11%6D&F54$qe-y!Q`PH%Fk$ind13kz^s#>d5E@Q@pI zXq(HQ%F+z+`Ts2jG9+-S)+4+Ha{Y3RaSXSYZzEL{*;O3Q3qZgp$c;4+IJ%3w8S;uJ8h=)zN++20mi3W z8TG=`Z$(lPwT5Zy?ZrE`=FdYj+Am&vr|~UyJzIWRTAAvfn462UwC2&e+v*@zg^>=DPn1XdqlJmZp9 zkoKC-XuFshVPcA;0K3*1lbY9edA}+f{@Mv5 zlK46D_C%*CAlGy@#!!enP;vYNX6+;{=X`n$36ss@SAU~A2CRtUJ-{S-=u!p1axnwoUWfAjpWw#gcZhI1=9bk=2T2)o)Q|6 zJ33Jneo^^|SD&@fO#^Q_5G3<;1r5rh7R@TBQboA!JyD9%Wqm(5v*^t)YGf7dLz0&s z{;@^+N~DX%JBxOsyIUgka6i+&anF1P9(U|$HI|Om$kie zeSv@F$x}vkoOcs$wW{kF!p%1+X6W>_i}l=rZJUAJf}-L^1{VIS?;5l?;vNWIj~kRj zQhG_CH6AT-X~&2K&CR*#Yf)Wo&NDfupn<$0R?Nhm6&dq54X}pV z+Pgw_{z-b-jJ>j5uI|2Y+;o*`AmqC+0Di=c zHvFO52!4*ol!jQ$n#5d9+Jy!(^}KEs{|Tx5qxEVyPf->BGqUCZwV19B#{0&% DEDeRp diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Monaco.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Monaco.png deleted file mode 100644 index 6142e1b02d81c39e7094de467e200a01507bf819f4dead8efd0ddf2cd20c1669..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4661 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

e(rPBU5CNJ5q55` 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Musical Note.png b/shine-UI/assets/emoji/telegram-previews/Objects/Musical Note.png deleted file mode 100644 index be4b74d85694da2f3edb94ef4d934d8707fa0aa3a2f5f403cbb37ffaaa2cb6a7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6405 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 TtGU$S00000NkvXXu0mjf*OVC_ diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Musical Notes.png b/shine-UI/assets/emoji/telegram-previews/Objects/Musical Notes.png deleted file mode 100644 index 470f894a6c464bafe58d3c31d154b2469052fc425b4b516bd108832a6c417b3b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8133 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 r<8Gx8j2P2X5s$>a?f+5 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Old Key.png b/shine-UI/assets/emoji/telegram-previews/Objects/Old Key.png deleted file mode 100644 index 18dfee4b82c6c3d98a4f46dc60fc30c2332db5511b08a94eff5cf1ebb96e4cdf..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8151 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Open Book.png b/shine-UI/assets/emoji/telegram-previews/Objects/Open Book.png deleted file mode 100644 index 3d0cfe70d86e0ad426d0dcd2fc9db85b31204ea9f89fbb5e3213a723d4d28d92..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10103 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Outbox Tray.png b/shine-UI/assets/emoji/telegram-previews/Objects/Outbox Tray.png deleted file mode 100644 index e192ae11099c4edaf5da0c4e5fef48a0868119f54423f987c604fd6dbaf324da..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7416 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Pill.png b/shine-UI/assets/emoji/telegram-previews/Objects/Pill.png deleted file mode 100644 index a74e4a82abd18926fc74ae00b8995bb80b05699d08159c2fe2972a47630b2363..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9198 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 Ef*1D9B>(^b diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Printer.png b/shine-UI/assets/emoji/telegram-previews/Objects/Printer.png deleted file mode 100644 index 5902698d35d5d6ee873b6b7ba54a3e539a64da14606e6877ea4e61c217bba560..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8302 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 z 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Reminder Ribbon.png b/shine-UI/assets/emoji/telegram-previews/Objects/Reminder Ribbon.png deleted file mode 100644 index 7f4781ccf5134277231058f4422e16783371632970eb7eabe7c8c2850cd0832a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8036 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 S^#0=j0000mGCf diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Shopping Cart.png b/shine-UI/assets/emoji/telegram-previews/Objects/Shopping Cart.png deleted file mode 100644 index 1efdaeb8c4e7bdd9b998ba0084875bb1b1fce8f37e0f0e49b02b2a34a64866f8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12032 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 F{{TM2R#yN3 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Studio Microphone.png b/shine-UI/assets/emoji/telegram-previews/Objects/Studio Microphone.png deleted file mode 100644 index c5b0e3618bc656eac85687cd2c53d15d7aefd3811347446a50e93496a3a71677..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12682 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 Ef|*R}cmMzZ diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Syringe.png b/shine-UI/assets/emoji/telegram-previews/Objects/Syringe.png deleted file mode 100644 index 98083b8ed5d022a67ca0fc5bb27aa602d6d8eab8261519813723f33fe66ca713..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5959 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Tear Off Calendar.png b/shine-UI/assets/emoji/telegram-previews/Objects/Tear Off Calendar.png deleted file mode 100644 index 9d449348d30b79b4669dd342eaedc6666ef185f54337636ad6316df3e74da530..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8346 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 g#UI&kZM-*20a@1Ae`&bH{BwY%qNJf%A#Wb`eHk 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Telephone.png b/shine-UI/assets/emoji/telegram-previews/Objects/Telephone.png deleted file mode 100644 index 34b3ca4869450a9be38dc1f0a2cf3a2c38f67c600b969d7ff730f586529002a4..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13046 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 Re&93>NM1%ox=PY0=zk`Y%R2x7 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Television.png b/shine-UI/assets/emoji/telegram-previews/Objects/Television.png deleted file mode 100644 index 27a375543a4d3e572b8869da6dcecdf191a4772f2d657efaf117637878002302..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12163 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Test Tube.png b/shine-UI/assets/emoji/telegram-previews/Objects/Test Tube.png deleted file mode 100644 index c234ff5a98df30acdaa1059441aa427a62c0e656edf48101e34b07913e2ef78c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Toolbox.png b/shine-UI/assets/emoji/telegram-previews/Objects/Toolbox.png deleted file mode 100644 index c96ef76bd69d8c77176058cdc71e8e5f195b29a8c559efef1a38b4e7537c1b35..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7445 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%0A_Z~*vJ4I5uB`G-D}27nt7G#X+b{iKM;jn_ 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Top Hat.png b/shine-UI/assets/emoji/telegram-previews/Objects/Top Hat.png deleted file mode 100644 index 93d3a799abce612ed9165af70ddf60f53900c714de5c9357b259c2c650bf699b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7350 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Baby.png b/shine-UI/assets/emoji/telegram-previews/People/Baby.png deleted file mode 100644 index 176d1b26b510329c9eda4a556ce398c9ed79e8b615534e3c34a413ed877be966..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8713 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Down.png b/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Down.png deleted file mode 100644 index 1374307d9570dc6f9fcca30e28a5ab841e7747b86fb5aa9c0027b4cf4badd4fd..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5580 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Right.png b/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Right.png deleted file mode 100644 index b418decaa7b23047cb2f07c20b0526e5c5d339c5d3b0af11786148c5a2032ec9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5161 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Up.png b/shine-UI/assets/emoji/telegram-previews/People/Backhand Index Pointing Up.png deleted file mode 100644 index 95ba58631f8633aa8bacaeeea9987e2094e85fa0c36be18b55d8100910db24e5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5825 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 LNkvXXu0mjflGl3Y diff --git a/shine-UI/assets/emoji/telegram-previews/People/Biting Lip.png b/shine-UI/assets/emoji/telegram-previews/People/Biting Lip.png deleted file mode 100644 index 161d2f458c33e6a315c2b5cf90d414851679d42d1c9cc11e95eafe6e81797238..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7588 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Busts In Silhouette.png b/shine-UI/assets/emoji/telegram-previews/People/Busts In Silhouette.png deleted file mode 100644 index 328d313911ddfd2c78be1ecf9113fffa310dfa03b19bf22e0ca8d6e87c3adecd..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7085 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 NP?CRxsFpPk{Xg!$jZ^>t diff --git a/shine-UI/assets/emoji/telegram-previews/People/Call Me Hand.png b/shine-UI/assets/emoji/telegram-previews/People/Call Me Hand.png deleted file mode 100644 index 38a5078b7432f4b93c3d4b85f14e60b42714b91f28579562517b1406e2408e98..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6968 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 P00000NkvXXu0mjfEVX)~ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Crossed Fingers.png b/shine-UI/assets/emoji/telegram-previews/People/Crossed Fingers.png deleted file mode 100644 index 61b5d2a580d431437a8283caf699ca6e720e0f996d0e938fe25a734876fac0c3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7107 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Ear With Hearing Aid.png b/shine-UI/assets/emoji/telegram-previews/People/Ear With Hearing Aid.png deleted file mode 100644 index 45894edc314410c79cc9fa8bc7fb875bb0f767563aef120b869f344c523c6442..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9273 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 bTV(wg$0&*>Fojyt00000NkvXXu0mjfDeN9i diff --git a/shine-UI/assets/emoji/telegram-previews/People/Ear.png b/shine-UI/assets/emoji/telegram-previews/People/Ear.png deleted file mode 100644 index f397e62a94cd30be664b280c674caabbbcbeee8371ed30ae84a015671cce6c47..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7694 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 Lda5;WtBC&r8jfzQ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Family Man Woman Girl Boy.png b/shine-UI/assets/emoji/telegram-previews/People/Family Man Woman Girl Boy.png deleted file mode 100644 index 428d574ac681160ee30bed182ada77e16496efad617a0da615a0ff3fda5c9f2f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17279 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ʵR}(j67mIZR0oQ-)%i}%rD?k8?BZX!V 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 A4*&oF diff --git a/shine-UI/assets/emoji/telegram-previews/People/Folded Hands.png b/shine-UI/assets/emoji/telegram-previews/People/Folded Hands.png deleted file mode 100644 index 2824094cf0e86db267a9194440697938e4392abb1d63adbf82b4d7bb38c4ea71..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8287 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 Y2hc3|l>PRxPXGV_07*qoM6N<$f&`9uy#N3J diff --git a/shine-UI/assets/emoji/telegram-previews/People/Footprints.png b/shine-UI/assets/emoji/telegram-previews/People/Footprints.png deleted file mode 100644 index 8a1f5db468f61f964947cc6b0224a1e981fc27653c824c65354fa92a30616396..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7017 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Hand With Fingers Splayed.png b/shine-UI/assets/emoji/telegram-previews/People/Hand With Fingers Splayed.png deleted file mode 100644 index d82c981f8dbb23e2edfac95102d982999ec5c0890d3e3f700519625245a12ed3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9649 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Index Pointing At The Viewer.png b/shine-UI/assets/emoji/telegram-previews/People/Index Pointing At The Viewer.png deleted file mode 100644 index 0734f31cc67e47210eb7c6f5f28e5b537567527414d77b4c785cffd0080a6e99..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9167 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 Z{{c;JhE`tluHgUx002ovPDHLkV1j1d-T?pr diff --git a/shine-UI/assets/emoji/telegram-previews/People/Index Pointing Up.png b/shine-UI/assets/emoji/telegram-previews/People/Index Pointing Up.png deleted file mode 100644 index f7678a96b2cd21ca9dad973bcadee92b0605f1691e0362f599fe4c06d9acea9a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6431 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Left Facing Fist.png b/shine-UI/assets/emoji/telegram-previews/People/Left Facing Fist.png deleted file mode 100644 index f7f229c71e29d548f4395749a01c5b5b1b4a20e29128f8942dccc6e608f3fa99..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5929 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Leg.png b/shine-UI/assets/emoji/telegram-previews/People/Leg.png deleted file mode 100644 index 0b8555548af63a4b06fef06108324b3105d46ee642d6fb7fffeb1788a69fce27..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5520 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 JPDHLkV1kWJH_HG3 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Dancing.png b/shine-UI/assets/emoji/telegram-previews/People/Man Dancing.png deleted file mode 100644 index ca7621ea89b58817b03fadded204caa8a499cc5333bfa945db74552a95fb0b19..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8275 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Facepalming.png b/shine-UI/assets/emoji/telegram-previews/People/Man Facepalming.png deleted file mode 100644 index 31518a77c93586c0c5e1ebbc1213ce92fca227712e17495e6b061143c6b9e013..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10754 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 AbN~PV diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Health Worker.png b/shine-UI/assets/emoji/telegram-previews/People/Man Health Worker.png deleted file mode 100644 index 4e02916561d9bf8f60aba05d298223a1e375b1bdb8a8be436b31758fb1f82536..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11823 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 N002ovPDHLkV1m55`uYF> diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Shrugging.png b/shine-UI/assets/emoji/telegram-previews/People/Man Shrugging.png deleted file mode 100644 index b8790596ddd966d7f9ad30c1fc77b6555cc08b62979650c82344f6d760d67514..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10246 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 M07*qoM6N<$f~;y3o&W#< diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Teacher.png b/shine-UI/assets/emoji/telegram-previews/People/Man Teacher.png deleted file mode 100644 index b352128fc8bca7add2c5f3b71b6adb62efddec0ccc877921a30608a622ed59ff..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10906 zcmV;LDrMD)P)OwaAeSD>-y1uFa3kx&>9V7_o1yTQ) z8{_7E*jsNPIv*EPkXvsc(*2kVC*Vgc)YopnzWO%Y+ShOUmBH=KEnbpE(M})y4$X9v zQR<3R6s$p0fld&Xjp2-!3Aq)yIOX4JxI9 zAW21yiNRPz1XNH}L_K(i@1>Bog!Y0l%~Mg_n)h^qsGh~4pD0%;8lMZD)x8Y_{aXQ0aOu@pS}>DHv!yw z1JSE*!~OLKxFi<&WJS0x8ZcqYZqpmu>XY(lu%=ptcoRXkBX$#*21pq(6%dQ40R)wN z-6R;49;zMC7PvXopTfF_fa9P6*NObp!%;Z#-7Id-g2eWZzOga==LZhp)}F@ysRgjI z_+R{heNz;|e=b*LXl$!(Z`tEY)k(FXx)DvTgy>>y)Bqw-0reoR&=xD;Qb9ETUkw;g zQADHsb6C(G-kl_LzeSwh4{;CIPW;1PSI#`-Y%jB4F}D7W*L`w+aX**?{PcwIQy0LW ze31B`e3I--@3U`ST(^5zB%narJbKvI# zz-lSwQwQun`6SsFe>J)~cK++tMr3wg85q6D$7XO62Ht^2lbDbdyZwB^_FRxE zB~&tG`7U(%?=Usb$@@+A@ZY((m71I1{3-wLKlvc>@ch1T-`>6Ylg+ny=fHvRf;$0! z^UKjIV)dUbRb*o471oXH^+`NbhWh)FXbbo@h%Gj~K?ud-nX^v9kL6#8=BFky2 zg!Zjy^M7Cm43B;@%8q|4i#tYs?G1ktKK_DGK`Tb-qrdp7-zX)?O|5Pgg7-!Qz!y5f zthtneoa1$I1c_xNnb%Ev=v6}vQ`vlxx`9!mp?a{F?x0SH0Bs3Ld-K`}Y%()>5pyzT*GjIWnt+e+PE{pM$G z|ME*yl`KkIf=?j|Jrn~{f{+#;ljqLg4hjEGE_9l~yt|`lzW9{_FYQW}Ml3((S)4Mgs~kt7zai9az?d3nK=HZy zQ3{kJKly_9hsmdGBGk0e=2ws~jTi{2GO*b(vB&DsdrpVFmkm)W4WYrKVhEVxH0$am zi<1C~v6kZ}&ak*J>otmOz%`%A-900+%Vn9Z*M{x-i4pES^pHK(oFIxSgy5eRDhLoT zRJBF**n_OwBy4#(M8hv9&W_-kGqk6b#RvwsejQ04#3z?yl06Wu2Pvb4DqA`3x$5BD zj;pLWjk@x?Eq)K6Dath3eGKj0g>ffxu`2my${gEXl*q9|U3=`veJl;^#p2dn_gwNd zh*;8Io265yxopoaPM)i-!66c!e0K%d z2pVxs?LLOb149=zP;)&Z9(! z7*qto(BH-iO2{FsItUryu=0e}vjS>Sd>U zGT*bzg-VWeFvUHtc+A?zvr_C7u_nh4Auu!%QBQj8tO|$R5M@cv=^85#M-gey(VCls zkOSu*2fIB(0oeWwrNGrrGn~tC>adXkkrh{`|92UN21^V`mx1+Q;!E(o!-VC(#72P- zgpet%rZRsDP9GOGY&8sxDq%X%oer21#1(@bfT&`LN{X?Py9%aQykdi_oPx7e;)?Ca zh0&K#5L6*}i#l-2N~%I_JWw4{;*v7t7YTL)N_c{j%_Z)g&*|_G2*p8MIZZ+IdPwFD0#fXg858MKp+Yp zn}AI$zV`#H$sIV?5?o7JTntoef^7(9Oc@&xMz%n25f6@yHP|!;ioyQuG$QFDj!2~ zN9}AI$oWP==YpJq3VnSi=TKK=mto5wrisZGQ6q>5STpFs+qNIhhWo`rcK>lwx-1XEJP=QM$h!6rgfS3(MrQ<4m7Szy!wUUR?7g9Jr` z^gYsIFXpzw1jGo|Dp-(6kVG+YzT+Fmlw;GLZrf1pSfZ*gz>>kBSQM32#S;ouW7Y&P zwU4s$m&_UsaGp_+IfpICC2w>M@P8uhg5dk7IDiOgGygd=1&tA?uMfF@rTJvl7i5{_ zi)IpCRc%4n{0QP@HCE8aq5|S`7PJW1h}GO@vnwvTFuLCG=>49>1*k81%IgZpE`Vf# zU@QT}sH_0iv-X{ygCPm>;8*FFAZ>u#qsi#jt5-FQENPB^D3Y}AM=6ImFsJ!Gls7@$S zRZcuq;>(}Un0hRuwX8UoFQ&1e!SIiNJ>ueP0-+@sqfedLWx%DD|Mw3($B*`McpMaK zp;9#rt~0#!`h;t4@|dz?Vz=ed!-iAGl=?7~M=U`N-L|7Am7ENevjFHh0zNA;kis53 zA1FwkjDiHA8JEZ$^g7Un+YI9ugAtq90~?|Vw1(IFf^8Pvh5bkpHWUc=9vC(%B5E(42+~yHVWJJ zSPtLqSU+Ql&L~OM&~-3ZsUdwH$eeSNsf4rC(rUcm1%QG?m6na^0=*?mV*_+M9@kYi zT?)w-4?c!C@aA_0CO4MZeW_(^J5Ws_0kSv`phVp~-ABO(o3odF>Y+eBs+a^!#qrMH zFwm<)xeIC`v-GBwd+${0!-m1_9$bQLWNh3c9R5D^I)+LWnjP>dWCP_DaE0hvJIC2E zhBa^G>i7kMf-HeW8Ko5}bQgM1Qps->Hlbl^L$|m^;y?+wPJ?3F{{&7-&Rvj~wL{ z*AG&w!u`jTUprt~H=Ho2%7^NXZLy;@8xUiWm3$;tEBe|^Uf|9;oJYU$=28YEWU9G%c)L=?NdpYo~YXhJAU1i5mo3GqrcyQx(HeCHWZu{!jdGwx# zdG*V$gcZsL8v7VR1fCGa37$yZCeW8k#mC zda7KlXNiK$vqnLMA=WkT3yQ-q8K$|6BP2CLx9#yQ7^nz1*ts$AGdDRx)$#pr^tiYC zvuu6qzvA~k`scj*7k`=c*IduHPiNeF=mE3XfCI*L_eDvR@{BLiwG&@3L05**Y zov!k8FSGpTf0J?LE8E=q?JkeUZ|1i9I=tnBzrn=IujlUBWj_D8zvXlmv-usL;M1Q; zaX#?USEao2(g3bUIZgPtLMnwo-p)w;&t1&@5oWEz2>F- z#iu?+G*YMCh`8?ypWv!DznOuFcXIsu9xVsN!nQ%j>-GkgW|j7$vTig%EL1~!7QuJE zQII)5X+?rzH8yLC2$?f6-V3$5BZ*+@F~_cv9{=pxlwPMtGj(J$N@M$Vj7)5W?jn;T zhPk;Vyav2CB-Mza$~+fc^F|!Iu?rc0f4||zmwK+evCZh-4sUpM%-s)z5Od-vTzbR% zKvL?)Ft@Z!&_I^O#Ia%X1Y~Vx*Nwlx>>P+sII|G=#VZ}J+~Sx%p=hcM3|Q2I$6&%* z5ORJ|kU4KCNcHSj#nHAEx|(33z`9YPIU_7~EcJ2*T{wB#fi7YAJP>YKQ9Q((`C zV#P4p@OMsZYF=g%ip*zMt{t8w?@JDdd~3^BjK6Gxe}yDh&oUT+X#O zzLrZS1KVpokeHEy9v`?a<*FO5B`&R_+SpB{USWAgn4d9>)iatdW^T%oB+5V|Bh8>? zBXSlcJSQl~JbM%r3KXPkEPx?aPg^UrNeErfrp*!UmS^g5VXO{~#PRj-CB*9uS6qH4 zt@(S{e%)Jn_iz0H@4S3~_g~iG|N2LcmtA)gBiDZ%4UUUn9P^iVSey&I@l_7f3TVf0 z@!ph+w*@|aGhDp4P81fo^tzwn0|)*cZ`xJo7q+$e*Kc*a;)XXecHP zNyMB~=*=&)@ruC22E*e=Gqy}dyyr&CUwqE-Pv2K%Z0L5n55J1gcpEQ&-RrsJ;@@L- z>V8U~)Ub>u;Q?~?=ki}yInBOUxg?jR97`#%Wp_?IQ#|F&gzR^CGQ z=$m-W&%TNmz2x7qc>DpXjdcufzl?JBr||I2G`NpwEa4NMiFnObfnB>J9(u6H;E-YS zPGRw=(k5XcRC6+}AezG}`C5dZO`-Sm7gt!4AkPyQv^I4-)r2!V)A@q1P3* zU7`G+HOkc{=%-=s(^N-mOl+z^@X(%zC3xg`!ms{jjh& zQ;XCfCA0#sx~{`}Z!GiL4+=N`{wy!s`yXN9KeBne!sd-N@Wr(hr~^@%|M2k=-}ruy zZ~T$vqLDx#qTBW;O1mAHmO3p;Ld96`AXNm;2h zT72fWtGsu=<*K(^-f*2|Y_Lik1=7s3(C)CbtV}PAF?9wWKH|9cV)*!Pr8LOw%hr2W?3AOStDKX8(z#ZQW9D2y{nGaib z?`YCFBUqEin)74<<+zNJ5>X)|h@2GzU(w&PM(4kvB4UaVt7nQ)7JQkpr7m$PBI^l0 z638B2GRow0q!F1>>ny9534lAO97@MVB^7 zy+vK1*9(+NLT_2%l5S3RVd{OMBK*8*;epXkNLemf)ul7U(S*C}mu9 zb;^fcEI=<;##x~jToDm7nqONy-U_lL1Sh!EQyos|%zBRN5RaNcq7cqnd{*;u&$-Ai zsE8N@0x>^~ck{CLG2EO-jG@;Cmnz2RS>lRE4@K&@2}s!$Y_$OisID%eQShCB?^%2>blZk*LRKS>`R}S&14fjnW@s%a4}48nK2yT?JRx=TmJ?2V*K*?ijB-6sw2chdNHLP9 z3$9#Cij+pHd5UPrAY?+ft*C=&xy$#$7QSi+{eYu8N9d9@+5=i>@2c8E`IHGEviJA2>T&hfN zwv;1BHdkn|64;7aQ#bPDIb~tchk`lR@}L>fn-(V>I*p{wzfn` zfV=b}ViVZWyPbARsmFqALo^_H(B&-KZs^VAfLco+Si}iKTOp}h=8gq=OW-vyunq>- zTZT6m8!}i_1AYl~K`0G_P0se#^Naz(Hx*4Se!=mGndHmiB@9Rxiz5`!;+)%YB^~jF z91%N9P$&&j9+MHyXobdXm&P#k7A#S9tqZScFtleNP6El06lG(p<*K!+QW=l%-P{tI z#1K_{KAW|ZSH*RNbS_XHGl(_Css%96TNWgR_L9&{l_O?7B?49zCx)jYb<9}`;RVPA zJ+&fIrcI5*Y@$1(q+LU3d$N`vZEptW9Nep)K(c~m#^ooElQJ997dV=;rnp6;we zjU^c+C*ndOU?XVvFqd6j=CYT+f>TF?*(t~J!ZN)qquQu4zHyKZ+Z=K2UUcpUMMBjY zo+hzmZA<4=ASRHdmiZ%r$7pbyTts97S>LXiAH5y_VWFV2Nvt4>5y$Pimy664;qWZw z%VSFAjLvKTErek5dbE{{xAfG#bf@oSY+#a!i#I~KmVcd_!?pjO&cnxXm5j=`LCu=& zAc9+h_UVB5JXQVJLrSY<`Mc;E+FH*Ew`Z8!e?C#rbDJIgG>FI$XlsqXG%w?qvab?7 zl(PBKnAm2da}Lc6@rYnbf`q(;G#)VEEuFcO_?eU7`Yr>+kPI5i!=^~W);^5PW`yoS z4lm=#aQc{`J>&RN=|w!O6KfX#8Q#A<&2*n{6eMb%ltFyXk|u=M^mt6h`2tt-j^-U4 zdmylNPlPp&bTN>%h0>T1)eU0v=vy)j(U2u{i%e%#G!ksdVxyvv+vKa{+Cpzm@U5K6 zNMgh332LEF%{*zHq9s`#mwf=dDi2b;uZ;VwaOUC!vfwjup=Dx+_ z_bZ!rmx)U$E(`QdDQ@0k>w>N21r}l;ssXh%{VLSwzM2EygLEmcticPh1u=$`M}_61 z8Q(4KWDoMz+T^)};gozUT2>LFd4h3^o>s0utrd2tE+JB59t}8C*f1S%?zo zwJkG8J>414UCC}fudg7&VI?m)deV(OV;@%fk+QtQlRYb)mwSzFuFe=8HPbh$$}aatnY9`42+UZgc@8JQH~vV)*GFzR?hdsPJ()qZ76 zPCw@ka})`|TV_td;z`Hya?CB+UT$%_iD(gpKvwKleVW#~@>I~HsLWB5x7JxjKP#vS?v}0gW7#WF4 zsy?5jDnSas=oK}2V<#&X2)JIv{7hi}gd=SUk2e#(Ff-0!Es>O_=*2ZU)~*)M6N;6tm8+zb^I(}8EP@ev`VJ{8 z=2ru;Sd0{((Us7poPQM5Pq{UQPO2O|HpSy7PT^&RUy(jEHEPaE%g~@0V<;stvA|H` zm@rB;ED@_`T`6X0e1Os65e6Go#)oR$^UzTqJgrQ>_;=~f+`+EJkFh-KIQ_Wx1#4}7 z^t~^91sqW&VtB}NWXI3b+^~-a4*lPZ56y7nmAjdnZ!*{FaC%{hrMV_EGc)uMTDHz? zh&Yu+bRA^Q;e8&xd#VP3DtXw>2)Hy5i9;gWZo8Au|YPDj<9a1N;!$J5(plmIKru+WE`8; zkMT%)Et4Y;ap{)N(eB3dI)YCXml;9`*eEY+EmaJSIAf~(3QlJG*gn3AO2t4=5NjD4 ztg>!hm5Vly((8HVmph!CZu0o_BE!pbj0eN4sWUb?&TzR#E6r950VNbwoVMr@RH!cU z=7MqRm_Bxj$xF6jjlrDHN_jD;D%|_P0}PZbzw>j~=B;*Qt+bzjcNB~myip!}^eDIA zeGiRjnf2?+Y@8fp)94Vj3P`Z{VCiL!G)w7Zd6vU+r$^?5v9a}ZQ_o$;e~vh5va@^( zl?nvOcjrof$w)n-o>N@P*E{c{K3HSxrVXS{k)Gq!{4x>(rO1-RhB!7%jMkVKsdLHp z4V;>t=Ge&vPR+Ea>l|0_7~_gv+eu7}53Y~)q#)o{NIR7PM(|Gf{txcw&_jm{mR9xr z2_TN`%-n)TvFMI%TlMIP>0Ba4fxLsQQNNPPfTAK6oDcl{{fD^k(Z|?0*5DN{*~NzS zRT8m;OlWp`w9}NdtF%%_Hz+;?;v`oED&T$K;$3@ab$i@-=9id_ce0CH7?4M?c+@}$ zhNg^jOt0sD_f|>+BV2mf9>gSAAILH|y_6Ar-drTHN;!c_xlA>&loP{_jpJ-yKf&zW z5d{pTkTU?HGk#f*oH}8G2Clzq7rQo(Vhwa%##|?5sqJa? zdibCPah6xN$3}?NVAWuP5JH9uT(NgAN9zMTdc480^jaF`5vpby;{#nk!i;VrGm~uG zFwE|qJCL}HPg5+C!(5y1TE)=wo?hFt*jXkrhFU3MuwtlHN=%G47$2!~(bNog-g}hK ze)VhY*sw*1s?}f-tHrKgi8u7)eMR$WBSf`0A$8IM*asZ^Nd<7=K(14gIK02-bX(@t z8(S*yL6+;ov)uDwB9iPxbLpz-#i@TkSe5AIFWw{T8x`rfz{0X)q1B<4hCBvr45sL^ zVvY3csf{st!MatX6d`c}#2^vs*0X!j#Kl3#pqF*PATvqh2*A4z9t_Xs1Sr6VKK0F$z{zK1Rjwj_=iub0 zB2RMd!U>iff>t+%O-LAv?oKtm?$2prPMa|6<(h|Y-0Hq>^ zZM6nktr5Hu#9@iSCWM|NYn{n~vjOitRp)T3L_G&tf#p{Glq?V;AtZU4{Bq`L&n~lE zjTs#(F)~o%#e28Om%n|Osf9DYdg$n>kN@r6r>37p+s2Ud&mKH@ zD1Fbs_$P+y$z{exuGdSWG|PBwwnZmXVq;fbcOV3%REn57zR1mAxSPc+zaay(fR_N@ z{?<+OipC5E$y){}dE*ZeRD5m}u^^79P=_M9hrF%Z%3BwhV?_NHn2K6UQmW!F8l!pb zCe%BOSk%H?+tW_l?3^%k+dUbsl)WUn(MkKi?BBot^;1)SZRh8AJmt>b2kbj|@EJY3 zM$YF$7~X%=j?25<#qVFaXQPOTWx3szi47ynETxnpdsf_DRVgJA3kzNT?BLyO-m-(Y zzxQ3FsmG(V5jMw`mzENomwwYQQByc~zF(VWwD3Gd^Dei#Qmu?KHFK?I{V=Yu5gj78BlP1F=ECBs?pSTwJF zpSa-$7Jm3c_|7AFOvSHe+EWLQxmZ}3+83%Gg$q`2*peTZsTz=rdgZG?|2R=M&0o-r{_O{z_ zo#o@N9f)OU*VP9!%K|-bFpChr$hh&C8!qZp*ip2RLKAz6dybemzS=p z;ML=bzj1i7C;aZz=N%FiGCW>G@g8I$XF5&s$P+1k`b#09e_GqiU2;{bbW_1vYZ|o# z4Sw%$?z?L6!0Mwqo;Lvqp#St|E*eG6wt;d5F-Vr>jr0ZvYIHhXT+pJs$&+Jj@)S?H zU`<4=-<)-|SL<0nYu|s;dpxm^q4vK!?+3Snn6w`+6$Brk-RV#tsNw^(G6#YT)@m9V zGkmf+wWC0Q&z}HRzI-`N$0BQnO4W*DobPsB@GfY%T2`l?ZkqALD0Pr?g(+7{fJ9eo zbHjOhkV6qRFUm=C0pwNwPe4jy>7^M?J>^On=T$pt7JN`wE!i-TMAr4<4QmnL^CEx) z2MGK3W8%fJhkf9W#)e8#D#sCOOk|O`lt_}4bZKcxjTlwcl`fo$qLJhoHbHWfsv@ez zYoZj0e&soBJnNsL+(SXs1XT$}jT$wx zsDVLoD$Ue~6U*)Fu1L$D`Sh1h-2$iJmKTN}(6U>?P)b>~0l_v`L^@64U|NE$t?mnAR8iCzoTRTQJ5k0lT8&mn-x!+=JVQYz+5GCYX)lAKXSX z_R7xllVJe{^3XQ?_FaUs#?uas~K^{@E*iF3_~(V^PD_$w3^0T(_y(gA;>=Q`dwF*UBkWp8@K#+>);E0 z-%qRp#>Q~t<0!y`pQJyZh zW>}iiY6NM`=02T<#*}0Jq+|Z1F?-5p)p#K8mOuH{s{itp@$qrJcN9N5fnLm5A(z6e zH$(3K1wNj)+<)q;%i5u}j{5qHp>^c7!EV71JN#-Gp??T|W;%bY+EaPow%=>-yBJEi;0k!;ZsMCiM|R&`m3NTmUmo1#;~VeHLNYkw zL*;$AXamqjY>^y9&csSDc-iNA&A_ZYM-9^yZG9VW4={7sXHWjE#goU={W_TZ^m~4{ zz4t=9Be@te|7*V#-;lNJ;gxHn?wj5h)KvzYRzHf1`@z!ks?PJJnJcXappG`ai_7k% zIqmaD|2mIO9u2#fuh%y}vxoW7dr^@K6PW#l47l(4Tf+Sx{&m!&0c!pT)wnsIMZf7ja!6aTz#mks|CYrP!Iz z*}0;d10s+FB*DZW9K`0njHKTOFJOjvbxF6^>Akw*2Zx_~?C#&O-4Bit{pqfy4am__ zp8TP0_&auy-#2~m7l-;~)pgq~kCweP3bLAH+5aFpn$w;Zbf2SV_2c;baZJ{s$yy{D zL84)By+99w1MwIRFl0e4a$53EO0-(|dMscxfF`7q5S~NxeMr6^r;3QfOc4RgU~sK6 zxHh(#J=w>Bzu3;wqoJi#fNbAIc;vIhhjww-hK<4MYu7oGTkx)p$pGFTXTIraG#!!( z)fG9F!2`I~fnq{i1k#I14;EDr*NsV~oY65RF_;I*pok#2(8R2XSp%;r*bFd>gzPMn zcVK$jP>S&2hc|kA=863F`+p_gEaT}9ml~EvOX&NZOc3t-R`j}RY@7QwIwQW-5miBq zKn=xs_8DX9c*e%-JpC=9dMcvY?}&SHTpWOth@OOY3FjBNnofEk=K|NV2>2{~MoMI5 zV0tD%asnC{SZ`rqi0I^$z6-c#JGgN!Lj^3`QrvCGxqaDkWnk4nu;?|BH6KMegy!>D zCJ-PJVc!#hWWQtO8ew1nssrHqJV_m*Snvr*)Jdq$iVbGvgCJ6}LuQy+8Fvkl(|A@~ z=M=6yjiH$kT2SpZ`j$JMI~Lvo+%vhvaCGTh&_l&T7W_?J13AgSW-LF3%>Hkj4}>{^ zJfhtW46pI5y;^u`PtN|Ql>=tf`y9PPfxdo6wHqqkMp6TpfFz2G1n~w@Ay5$zXP5&i zq3l8~rHhkdL4qT1Lu=l!+|h0*IHSHA;s{siH4M21jHRX~mP`TLA0iYpE?uAW0M!w( z>2D(vz(;6X$=gP&4a<6R`i6v?Zgn)~J;#n_96t(24+w{!Qd}%lx{P|4P^%f0ni5w$ zQR0XqB}o8p;3;N0paPiv%S=aj4s^+CfYLdXU0mAE^_34QHj^Z_$F#}LLZBL#FanEQY8OEnYM6D2X^&xlzA zoI^9nTE^5AB#Ecq8?ZW5yFFDfqoSZb4jTlLnf>UrQNjD^Q!BR(PII>L1S_UbY87?+z zG1R-ue86Rhb6|o{240Hy76Q#rr*U3UN5Qn2P^k#bd1y5piD^Msm=_ldJ`!oWsB$^y z0c2Hgf?84Z%Zsq6MtfSAI%c$+uyVDau@YAnQ~riTM%1T79q*fi28U*XWrpR3st`hf zVmc62#1$}84Ce*s1@VGQzVqKF2pM&d(yS(0%b5e?mOTWU&M)fNQPI;Bh= zG^S^awVPt71>)WuyyEJDR3lU)(pEy+iokiKCJT7Ih^kf`p@ciSC@l!3;NytAk&w>E zq|FEE4R|qu z`?W<}_32dCC^)y1M-smFMVOil1XY}K)O$Q5S9z{~ov`+r6j$?@%h`0T@Q=?KdmmT2 zRz=iS2hv7_nzrJap99#r6B{4D%v_L-Au^6hu*t0Dpp8u*Q4T&Ch^xZJ8$h}<;sK#C zlkkV1&N;L%M?^@fLL7q=Vdhj$TorEqXNsQ@fQDdp&EG3wav|Iz7_coL=g>;gTufp@(pQ2A3QR z4JFKr<+IS36V_ZE(KVbC_m+fMWb_U>uIr82ar z6~yN?H|G5EuSJM>lBy?Hn0hW|@8inTk1O4Efsj%efL0o@Y(&`qxY3*fZN(Ovxv06R ztvka!t^!`p>$+~K1PYZ)%`RF^sOxqvAsitCE3JtGKq zxYN!kmm?cGxu@t(p1>ZSn|I7li-Z7KFlvJW6~$Twk7EI(E#g&{_=lT zxc`A6zV)#1&yNYS`BsvFJNVAuJ_XrSQMmQJpAw$p8SUl>55R5vc=@wcavw1zn>Uj_n{lv_){O^ zGv9oar(43;zW$FKo^0{vpZ|0I;!o-{W`L;355Sd56=se^Zf?eO^>TkhvpM}cBG}eF zOBaTtrE)(2d2nxvx>Z+iavV7rsMG|aA~VInRUMO0X6!q08+YCFyX@Gomg#zpeJ4M{1r9WLo_!p8dQGasPP3=|>%Kqsf#inq ziFBzL(Iri_O++*^H?kT@+kxi}D{-gRt_Bf2{bb-RJARG1=_zJTJ;(Q+dXmrl<~<~0 z%xJ`P%NQDtx#|s{VDD~4YVMp0a89tfz~qUmx#sO3=E%XPc;tsa&8(?Vt8>n?xdCg6$*wp9g8t!Ad9aB$)e|?)Vykv?HkB+N}g_nNn`cJno?S<%b-il=X|m$|m1U*Mg$DJwQ^1XG4K-bP~@3Le{2i9J)3 zInKk%wVu2sM3&EP|L8;QG8MRtV!)P8e_PmVK}a>QW`iU0h0k?pk;N*kTN>4Pyrd!|0 ziZ|U&Y!8#||9v(u|6*ZDc~J)#ULm+fOm|Np4{CWPsQBHWJoKY7z)MX5+slg;&to(5 z5(XOhxU1mb*KG2LPfG%`NW}d7li1uR$etbJ>Q!&#>Yp1RO?!#u2k_iG2+b#`Xhx;4 z)Au81_5)dwQAbti=Mi-84zg$^*R9*aH6QOMr2TmRL-feIu;w134p}8dFOlZPy3Im1 z6F`N$=_G9gh}mY*FKG04HT^b~pzvKY|`U0zfQ9f)@EQ^ATTsrsKkLK~p2- z;1aV|!~9IcWxmq?2u$+O5+-6x<=gDRF`}D4_njK5KOd8 zhXtuPoKJAxV^s&T}x*X4W`BH&oaTp@I;o*=7{4yFeb*f#$${w(6Hm<<9bOh&@eL*5jzJh;r{6p zJicy&-#pV+Z8pta`&#hB;0MdlCg*5`K6_D&hqItu;6 z^s+emTez)Nm)SWf*yF_fz@4I zT>vEW$NjfztMlqZzwpPWT1S3;9y3jpS@lG1p_Ui@oW)wM#j+Aa0){JOrA8DP)2D=~ zS!4NT!I~!#Ia$o^$^gx2$FXOW%JQ;UuSIRxbu`@Rf-CjV>EX??qIIPqf>wjhw(zaK z?ysaj`}NlU{orG3efRJ}uxKg;w+VO^G|vk)S@FIQb$ldol5224;$L&bDsd`nEJpe@jIEt(o}}t6e+=?AWm*0MgUbd;Pw>`@`Wwhp1E{ zXKH2e6C6dKpp^kp%10~sqEhgsV~~Im7YY!Aa#o5J8LOBeMd{>uU`{%9;d1?e5>fQf zb>g@dEsKDd2NRrw{=QyXb2&~Nh7!a|J1LgFnmI%u%kpse@L{P|Yd3Ia*XhMmKqvTq z^{e;KR4a+^s?~xZQe3|*n7oNE1u8GH;;wAkq3E_XWYKJ197(NE>KO{KMG>8a_Y|}G z^yh7%Wxbf{lA<-H8Yi;n`@8+*@#Axs3=G}5bEg1y@Zf>w z$nq6*Enkl68BO_xjV_=-J4av7^T=g7gpWP%edqdoc!6_1|I?ioA~3qTYIyGms%I<+ z)J}2dEca-@)X9@PcjU-aY5ne^yP&Om_7p2`Yt>`1_m~zy?F>{?{w+(jN6dm{xtH_} zW=6GIB}ppi8Ps;^uw3DGiuT6S@g^81BE;3oaeysbw#Y@dfZgRqsM<^j;heWG_M_+g zD=a+l(!QZ^C6!8rYPEWL0ms6tp>Q{42c47&os||X4%7_IL+g^ugoEn5Ei}bmnmeJX z8c`fktJM~;)X3gw{XVyg?&Iz?z4G}?AU(yN_&I-b+TDYK0nwK0K zs+!NCTFkCXY|lkAqf)8hoO?;aFDxb$467Ed%S_4hTr}i}=U4$iw%SFvfIWNm7(f)s zQ4Kj7RB(a?yCfok0dXATyk8LhOR>^|VJH@U7>bz?LXe<2=4={Zf{9DV1!)Kk4SLD# z#2EXSIEi1P&`)2w+UYn@pddpvNC*LKr2+OlPf0R)k`TmwOaTa-pF=_pnLzA*e0 z5u!MH$@q71+Gc8J1aLF6pem}GN44nq;(NbT=;#wcHC5HbfrVn#^pXf2AcU|ez`BL! zPtSBCsZ>fL@5h(Z;?H!zg@%BtrU>(wOc36=b7#>7m*=UerDo6H)8u@5^j53MsZ*yo zb@CKbC#IM>F~!N_Czzg^CU56>@dyxA;v(}_TM*!nIu;{O5m`7ooflTX?3ReM0mjG2 zFTMqIE^vB!x-mSkY|f1O!WM1k)74-6>amOG)G zuP|Qtxu7cE`%}HWy)%~*3^jl+eBleTf}c^fg2+72QDA0znnt66mk3X>&5UY5&G6n+ z@2-<1G0j$!w4LH#M&tLnEn{KkW2&fXb9{U}=RC11=d&nps-fLkt$zMyKcs1!X0wHt z2-Sddj>vl|l^RhL5l0bm5;H$PPnu>l8ciyd3gU|b3!*f#+X1Kg{zy8~8zR^Nz zA)H>q@=Cp=nG(klUA3-aHg-@^2%I>6f>xu6n2=>z;erghYF)+JvxOj9TEkh}{FV9b z3p{_;p^9ms(W*Nb*Oe<*hVzm2zaj;Uj^68GN4Vyi|9)5G^`Bn#y)2Iont36V^P`SDSQJ82 z_wDPxd*zyY{-9WfJ0?7@S^h$~pwWB%#KexU;hN9gm0R?OBOA8TJ2I_VIOJqeYnq*> zYL}VP(^IEbt2w8qQNpeD^noy}#iF{FuaCElO`ccsBrEx?W0$Cnhckg_O{?fB&ITw)%-zu*vDmTqQZ?*z*ay_S)ZiO~~DshgV(4RoB0nIGJ+Y?lJ1!{rD(a zf_&I;PN-BW)VjK;R;yHN3AL`Sf_7L;A-sq`c{vrkEX$ago+8xVD;94~8>bH4I6U~a znQxrgz)@m;ZY6)<3#xVq#Qb%v}%#jB>AsalL-?@4q#c zfjgG1xhc3P@uqNMauyAWGvz$>u0C%E^p1Oz&bE{07M88rOSHJ>3-=|sAXS0_S|eAJ z+VJXyKT&a2@^ zysX@8E`)%pWBPcCL#S4}{NRc;7Dzwx#y9@y(8R=!@NxpO`>}mLIvoSlvjZY&a4f`%udY`T5Z6jf7vFj##aqYok-scux;B;zoZJ- zwyk)7);fG=T7of*y9IS58lAGBJ} zkZEYY8(`P2AHPQYvI0k*b8Ds6Po>^%2BeK9ra8eJK|LX41=28kmB?Q(azcnOi^%4h z7=n3RcYm*d-S~z#JQBl>A3Hhwu@tbY+{#_mZK_oJ6pyGHt@$R-837|xK|@xq0b3eW za$yfGTeJd}J47QwD<$Ls6C|ni8{$UteDCtoP0P|JViI~PNw>qu2*I*ev)m`zfr9hm z;wTo?z^h@1cpx{lTg5zi+9XfgRBDlWm&D?vo@Gscfihu}JpI%sBXggNV_utu2&0=g zRxBT&nJ#DQ6vM1`&VE4!ulgGm-m&IO+~zjrtiG-&J}f$RcTi2lzUl^43e&x zbdE#!ee=G_7h;6V0DM95fsBrt-?q)7(NXiGqvjdC*B1=wt8)~UKXb)>n%_2N(JN&` zm&!}a*w~o7nuK4rpj`Qd?knTUxH7JcE91&|wT%A{>UZ(uuI^?u00000NkvXXu0mjf D)p0P7 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Vampire.png b/shine-UI/assets/emoji/telegram-previews/People/Man Vampire.png deleted file mode 100644 index bbbdd2d58c0eee733d059c4c452a6970566388d6607ed9772f4afe1972902d96..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10945 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Man Zombie.png b/shine-UI/assets/emoji/telegram-previews/People/Man Zombie.png deleted file mode 100644 index 641aff4946da256b1934a68f1e974d8f9a5540454fe4087396a17c7374473a67..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13541 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Mechanical Arm.png b/shine-UI/assets/emoji/telegram-previews/People/Mechanical Arm.png deleted file mode 100644 index f982177a1db40cb7e882e305ba72296a886fad467be423432d0c2473912659f2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8211 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Mechanical Leg.png b/shine-UI/assets/emoji/telegram-previews/People/Mechanical Leg.png deleted file mode 100644 index 09e1e581debdd70345b738d3ac11957ddadf50959d25f24b58f73b7d5a36c386..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5798 zcmX9?cRbbK|G)Mnv(QDxEfumu$h-*Gs+*gUl@T{?Hdompt7K=B?!~2Rla-bAxpnP~ zYp+}O$PT~v_wjo?-s8V>&TBo#iFs(O%fiIV1OkCr^!2n6z~AnFFPI+qE`0P?1cA8G z`r4YNn8^)ml!w)5>iK5V*8W-xIjMH?a>u14Cn!>Be&D7{VaT)ohdqKG}`sPvhqx8;PI~0m~BYQseFim*sb3thpmht z&+}tSUY6l4cMe!{|KiRMzXmIISeu;DcwNv(#L4Tt{=;GGCch0oIr`9I_U+s3!N7`U zJPxzP<>mfT<`p1$dHJEO!%I-wstIw`fL±A5xwckg77$dL8@SFHzA-u+IW21VX= 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 W&E%2;BX;2a8KkdctWAK~h5sMA#6isf diff --git a/shine-UI/assets/emoji/telegram-previews/People/Middle Finger.png b/shine-UI/assets/emoji/telegram-previews/People/Middle Finger.png deleted file mode 100644 index f982b4046f30da144b1faffae2622c3dde44c58589eb6a3ba188380079a6bcba..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4908 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Mrs Claus.png b/shine-UI/assets/emoji/telegram-previews/People/Mrs Claus.png deleted file mode 100644 index 2cb23ebbdcec26af436947de6dd21df9c2febbca6185642c35a9786f1ef14aed..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9685 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 X&2Ho=vf{PB00000NkvXXu0mjfC3qDJ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Mx Claus.png b/shine-UI/assets/emoji/telegram-previews/People/Mx Claus.png deleted file mode 100644 index 5985ecb02d4cf017893773503ff5efc52055f99a9609bd67e7251c4697de0867..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11003 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Old Woman.png b/shine-UI/assets/emoji/telegram-previews/People/Old Woman.png deleted file mode 100644 index 3337c76b22679be9745720aa79af254f0d6acd7b7e01a7fa39b5ed7038b8a721..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11526 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Oncoming Fist.png b/shine-UI/assets/emoji/telegram-previews/People/Oncoming Fist.png deleted file mode 100644 index e9bda5a353ec6e4c007d2ce8d1174ce0743b47c2d42f06c52652dfd7bfd98b2e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7091 zcmaKxRaYDekc4ptAKYDn6Wk#<1Q^_cB?Kq9ySuvucXx*1t`~O(CpZl5w%H%Bdro!N zdp~r2r#n&=B!_`Yf(iozgP|ZVt^Uuy|8D`1{`K7qcL5j}QZEH*2~Cf+^Bk)f(`DB! z|HJi%%F3$rRe^O;x|SpE0daDlP^&a3VZotx5+GQ90L2iEX}GJlrWWUIS) zXUMsd*yVhK`z1kSiFKj~qy&bU2+Bvcww-yn*!>a0KFL-*!zSi_Xpy}oYnqJMa~XQf zf80MVemVT%#`t%t!Y|MTo>4cMsD^KWw{8Z*_!ZV&>^g97I<7Vx$Bz~DQtwu6CY&SY zkIJ?anR@_kIT^j^L&dJ~`RU454OS05)b~_hOM-1FLm(6-e^uvm0)o1vUQ(EH*2@&w zWmj%1b)VW8^tO3O&;kCPNs`-95)mA4xktI$RL7kNZG-RHPe^^a*E@0rVzcsTI-{xQ z3E}szS`cCO^XFWTp65}Dde@{<)w$B_|6SZW7O=~Eu6~^j?Dt=!^l@)GtXtRTs&qgY zailDuAT}PC3Y;yw4A2kBmse}N9-u7U+4IM)9D*$Z_=di3imiKMy}fLb3452qYXb=S zzPZoAFjK{Hh~K$1+xvAG)K*dEKwbO~&hv;nxiF*oW8m1O>83@wp5}+fPxPxsRWj$# z8E=?eaydSgQX2c73g`LF8^261ayNBND?J@K@AQHBy(xX_i%I^5-g$QF!Bt`JKAyB8 z7?c6Kh}j;t=|0P~Bi=bAWX&HgW`CWT>p-?|bec}VQD&9-EaMZQv6t(>nF8m6lXJxN z_+G*AKEyx%lzQ9JLGh}OHK0(dWzr2r&B&1%S-O5bTi^(_zQiJJdQh5SzjZc` zwax*v*@-@BB~1(JRl5v%9E#to6hN6p0k|K?;02Pkt;z9;u+tpl|Cio}kEqnBT*bm3 zpig>vpPaUs{&6kb>Sb<)H@>+8iI2^t3=Yw0k{xoD;S8Go=*#UYaz6Z+|Eu|=+Idmq zINkMtA_MTGM_iwo``)PXu+4@kAVEf_N^im)UP5?GCHOAv>9|xaryGwDr#nu~R2%dL zOn#Hku--}o+Sj*5J<qINu|zgps?AMV|%2ze@)-7if-@31y)iYULczrN*k`_N=4MWRlvh~9vBj7m}BZ8 z*aY}|SnPolota0jpzphaeD?KEY?+9rW=OzgbgkuuWyxh0BU{6rh&^;VrO>vrxeD&0 zgY-Z-3MA2~DSWEsplrd1@E40PmZ6OawFim8&=O)&k^F(ao=lI4H>)kF3v@o7LeX%Z zG86_XSeY;A13RfGA4hL){^v?_6!>hS47TmSzIQ;qow-re|N9SLjspgKU zJmSr_UrTN#CifmhMuY1JFwRHehXLE(O&SkVgQ;6Y-45@Bg-(!7P%k|;tqb~`E%M6E z_FLdLPH)%>`mvtJhu<}Ny?jKh^@YZV)aL44+Z(_JkNq>dw>uZ>{b;ES$ zR;CGG>`R3kbgKP`6RA)BeB?AdtLRoq(%pRF#C2dtnXg#}uHAdD=Oj2`Mp%2Cf3Ivn zFL(0xZ1*uVr>F~tTX#P5hdy9ksPuRFZ4;rNS(UD?pECsIgTLVPsEE( zZ#Qrc?niW7pkuU5GfHqzo~yd>+#gO8j`jw!xbU2-W zC|7J^`#-CE>Javm#&h7I-3&;%nyn3gU$qpcyjfH zH0ZS*-=r_QLLII7$dn~1`WV4co>QG;Atu)-pBPloHK5BWXzpK&&^b$_uz+XwMKf@L zy?a~uiypK!jz+{guxv0xQ>!NnOCfBfhEUfW%q?*k^p&oHmfahMPwjfy0G2PSxF~{P zdkNHUba|2aGZ_0v#gD6w>Bh@9N}8OmUa`w6hYJwMF4xI_nOp1Z+@dubk+0i0)s?j5kp; zSVy_l1hz|^28t>>S#DYvh5{$SQGlo&ha{T`SHUgmJ|+v_1x-vDmYZ&$gDD zU@`wBPu?CQ3aXhgeup1&$C91vnDU%__%<~j(P0G`G--#`>wWOMb76%wgla#f(kIus zGN@apdX0#OY~_zgPkbohMK~pL5a!DcjF-0*8tNd7%mY~;PeckUGI#Ue=J56P0kvU5 zK2jI~J2r^9bs7+ew8WZr<8EV^K^q*tV)7lePC5%Ug~@}-;(mb*$J${ znf?xW5kOuk$=>PS6r-dC)P@MH^YfUlrR@B1JvI@xX&)z=2kRAJh#%ytO(Dhj(<76H z)9^huHv30`)Rg8p!0rqoYBJ=IQbqqGqWU=rELz~N5cD*7^SU$Bq zdDNeD=A)(h&g%4cbEbJ*5+f}gD(?dHb&K z;}GTR!TZ3!fT(TGc7~)nXdM;mg_vXL8YLplNaj~Gq&TVHEAGcA4t_&s!HdSOoBsy* zy!y0TbbjO|yqd71*UQ+Np|cdtq3k)U3)o^?CF&GPIG8FpTf ztt7=}V=pY?ki;nY5(A{ADewhA)Rzr3W3h$|?nXZuee;CIeuazcYm?IAu{uJ%QdnJ{%iR(b<74Lso5U>u8R zOQaaMlxP#JS4(!K&hA?{M6xAAguAk@(oCjhXy9}xu^Hll>{Q4v%rOGU19c5NxU zR6#3+Qj(ADqZ*vjhP)!{y9ZYsQtVc%8S*`7(CskV3e6TglVLn>9(TutsxDM+Yp$U$ z$>~zx$Rft$JFUHzqJNAc-0SqDVL_UVkHi9yvH8zUp$V4<42v=M9pPK^Ym5OsjM*sh z8d5~v!MS`Z-voy~D+##*TZ=UtX_VANTwLVr^~hF6FIHX zid0PjqTloaOe0Rxm=KVw4SBc+l8PiCZ;dCb~EyWDrZ-G+_mB3tN+fC)2dk|&nA*Qs$d}5(*Mr$SpqV{6R3X60&<2H%3L5!0vA*0OfD$7V8|s`+fP55v$FV)xSICe1YWlwRHf-CGj-!1i%9hI53zOqCcO;7&u=&hfm zS4N{9u`O?8d0ZFK#7>3dNs9H z*s(N8wh#3gAV-*8l`QVdR%&oW>Y$LuB?!^DhP3yc0%rf6UP7j%6}sA_x%~-Ly8gS+ zg=Dw5Jua?=+p%dU?Nz4W!s?ToM5B$C_i4OrqUElyb2_U>c_QH0)-hMuVJ)oL}ShVOQ3C>i8P${hN_ zFw_@yHO%Jd!VFrpd9?*`a0tlT1M|%Le2WW-1+}x=c&f*>)GW z0z^`a!iK8JF9oCwZ%nD-=S}3Pb{b)3M4QI6lm!V=qo>il*sn_Y=K<*{6%%ZNU8ivZ zLkcJ^zv*V`n|-#w#d6DBp>#lJLx_%R_EbSER7kne66h)Zc!o}o^ng=0ZXwqJoReM; z7h1-iugM$XF7y-+`zPrxEhqS)tz9~_)I2R}i`OR2yJ$hame2o1U+5d<#B{xtgw2%e zCl{3Lw{|^weKJ&pi zqKfV+VyOlTQ1DG;o=Oagjmn5GV>{rCpX4@{OMcuy8J>LY_NnQ4Expu)b3U}(KlQvn zt4wi-@e4PJk6!nj;lH|aeC;&$sOZ8!n{M%~G_4&%{I|)+DFg=m9w^yOX!{|Hl z=>^Mr1@F8}qn}e$EHX?ny(T`tg#e|VpQp5-M&sd95*-TJu8B!oN`$NTQpo7qnW}X( zukv%_N>Fx!~-#$D+y3d$_|OFwuMQ$bH(5g`=B@wtItRjC=i*-XN79$f~k zXh6Ket-(c;27W zo1(fdbJUeFq>FQk%Y`^(!QTEd3!@&@N8fMpVuo(n;aQ-1buFm`pDA@YCLv&yTV<_k zzjXTN#euSpKNr8E_)zMsv)T%fu3U#*MAixXOjKz`I0m2iyqf{D_ss1h9sRQ7d_?KVC>S0uCBD<+7|d}mn`_UFK6bB+Jawtjok zb+=IVg?kHX{JMx4vaEMBqxW;@y?1#_XbJ#90#!n?!_gqL`NwahUtI$PctNza*+?z_ zEgwexvZX7@k*tiUh zOXpFjD(HT;f|LjbV;kvF^6Cj1tiN|ce&X<#p25N&Tz+4G21q6-2_=d-2O{m zjEXclkD#?3U{vw67!`_pV1N4ZTjXID1EYY!m@5!f)dU0?BZy7 zkoU~`e0g=QJdDpD1sB&WZsSr~7lhz!Z%tf-e(ZwQY^!faBGKZ;If+fmzt8R3(0Z)k zTqvWDK-aDfd~S0W@$=8AcV-#x)?o|PrW?LX{d`2Y#%L)%W zYt1cG6^)wi9KS}Phtozi{<3fx_T`l$)rSx#AKTe8g<)WH=6k5JGRo*tQLExnA7a^x z7VVe+Dq*O>WR&W&6y(jRWS)-wyVZ5&KA-O96|sfk>hqQn?FCJKHoiaKtJC(5u7qHe zl%-66AA9*~c)haYCAYi=pIuB&KZc7DB#`@(O5-_dQ6qe4BB<1o(=K9M8Uk}y$!EXxF&CACRmVXobUd6RcjIW35@!BXpT#0+FVSUM3PTQFkwb)JNqBPbu zW<=%2$^aHk5>-|$MFI6UOl@XU>XnrR4M>x6QVwOY-k|z#+sKct}Xsim?Z?}iR6do?#i@||v~P~p!u`;Fo5AF5WO4LNq2d|arK9FrX? z1y)p$;3~hNPyw2HKtyfqLUuqa-kqhXbh`hCkMG3D*4?P0bKO1T9_ckH54%Xk zG?F%+g4SpIv4jPbC*z6ZdFwEt+~B!>z4OTtb5B^W_x`fd z<~o&$zZ#BR2)w|bBXJ0MKjRE}!Os1%gy&-NM#?i>ytn#^qx`SCnU354C$wvS*f9+p W!r^9O*niJB7zG)Sbgks~p#K35KjyRm diff --git a/shine-UI/assets/emoji/telegram-previews/People/Open Hands.png b/shine-UI/assets/emoji/telegram-previews/People/Open Hands.png deleted file mode 100644 index dabec852572d2bdaf7994531455f7a1539c3af7ed906c933a36eff51a70a2dcf..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8290 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 OLQYCavQFGM=zjpCJb@Dc diff --git a/shine-UI/assets/emoji/telegram-previews/People/People Hugging.png b/shine-UI/assets/emoji/telegram-previews/People/People Hugging.png deleted file mode 100644 index 2c0f70f4985c489f085866943330065782b93ce6637953417e42aa56a3c61264..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9281 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Person Facepalming.png b/shine-UI/assets/emoji/telegram-previews/People/Person Facepalming.png deleted file mode 100644 index 269306425f7228c7591f370f5f08aebed182e1de3c9969df3d45dd2ac7cd58be..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10918 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 QcO<+3C~GOzD_BSU4>}`ZI{*Lx diff --git a/shine-UI/assets/emoji/telegram-previews/People/Pregnant Woman.png b/shine-UI/assets/emoji/telegram-previews/People/Pregnant Woman.png deleted file mode 100644 index 594088c5782313e593ea814fa668412eb0355f880e5a1d8fc215422430d2a41f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9228 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 FV1fiT>{kE) diff --git a/shine-UI/assets/emoji/telegram-previews/People/Raised Hand.png b/shine-UI/assets/emoji/telegram-previews/People/Raised Hand.png deleted file mode 100644 index e4515647d57bedb06d6af9a47e0c8dfe32b7f073efa6ee7172ab1623479be564..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8513 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Raising Hands.png b/shine-UI/assets/emoji/telegram-previews/People/Raising Hands.png deleted file mode 100644 index c9e433b48efce6b3bd969573677e8c95060f62132b3e7c110bda1c674dfe7467..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9824 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

    nNSk>8=?z2<#XR$( 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 AjQ{`u diff --git a/shine-UI/assets/emoji/telegram-previews/People/Rightwards Hand.png b/shine-UI/assets/emoji/telegram-previews/People/Rightwards Hand.png deleted file mode 100644 index 4b176c4565bdbbb1d7c353a2fe8b229f02010003da4727c4b8f6a22c92aaf3a9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7161 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Santa Claus.png b/shine-UI/assets/emoji/telegram-previews/People/Santa Claus.png deleted file mode 100644 index 335d32b040dbe4ab21f70079e7cad380c0ad47cf65615b5a6f194053c0bbab99..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10983 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 P00000NkvXXu0mjfM1`H~ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Technologist.png b/shine-UI/assets/emoji/telegram-previews/People/Technologist.png deleted file mode 100644 index 18421386b9e665bf466791ead72969790746561561fd701ac4dd2e5470410240..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7799 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Thumbs Up.png b/shine-UI/assets/emoji/telegram-previews/People/Thumbs Up.png deleted file mode 100644 index 348d9764fcdfee281eaef95999afa4b6b0538d86b85674a157161cadcef74faa..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8598 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ðgNpTYsTxOt24Jb zf=PLb?z#2Ebi3iu%?p%Ahqz|yiAz^Tl^R3|Wd(y?PWWVhY%5)GE*$pf8q91tu@~} z?0F@HQU{PiEfyG22|>HC+$2MCxlyB=S)5;6(hBF+XWq8X^5G%nVMVJbq7l)6siD1! za(O9l^vgOk#UYVv0hSDc`|QJQZ+*QuW92`%=|lB@zSO?puWP6LynAx@&883I zyv~%7`%e;1KCm});pvZ*cgAV^{nq;TwXScgqODfFE@kYPY|e%=k6VRVb&3G&3(H{lSg0B{%l* zR+L(>DQ>IF3nFb4*0(_^oe-1x^RzWnTgei{rHCNmobiY`^o5n(UIrf%CNB*qKH zi?^z$cjCN#*w>+!Ih^$vFwL+w9i$;i2n_ zWYGJA>)yNb!sVEX@>lAO+VeN7o;rn`dJQ(msZ)5zZRM4;$sOT0sGfg`aArjFrdLR+ zUdc3Gd!_l;X4>)yvRBch-N`R^l?8CA5CyuT-*GKApigX07*qoM6N<$f~8UcaR2}S diff --git a/shine-UI/assets/emoji/telegram-previews/People/Tongue.png b/shine-UI/assets/emoji/telegram-previews/People/Tongue.png deleted file mode 100644 index 2a4d8351f74d5a079445bf9bfbfb195928b48d953974937c581e58f9f417178c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8014 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 Q2mk;807*qoM6N<$g0x}4Pyhe` diff --git a/shine-UI/assets/emoji/telegram-previews/People/Tooth.png b/shine-UI/assets/emoji/telegram-previews/People/Tooth.png deleted file mode 100644 index 9a0279851db3affb273f34415a865e1ed33df9f450e9c4b2b56d3980c7899fd3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8558 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Victory Hand.png b/shine-UI/assets/emoji/telegram-previews/People/Victory Hand.png deleted file mode 100644 index dc2512695234e604dbe7b40893c4b9e2d5f9b569564d79060ef479c30c7e9b13..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7614 zcmV;v9YNxWP)O>CJ>&Y`k&W{ zdKJH?!fwSW2U+*ATJ^u&_A|rZ^?6hlu(y-~+z}2V&)rFpJz4yUdiDKNvmLbGC6*;D zj~P0@wZ50{yLXYA!??)hE5RK(dI&wZpYVL0{q|hX{+7+{!DpwDRFPgji&kUKmAY{6 z$J62MR>C!>fFlP9hmMj?d@TIx-f8(KquURp{sVV=*6Cq&WcjOKrvJq8?95vDt+)S& z_`Q?YU$z2{5abZ)|M#?zaHIkN80nw{ke}U*yya->T{a+G@H5SE-$*`Ue`YW zuxJ1FZPe^qQoylhLs*~Thi5uyws$UieL<{x5%C1f;PDoAJn(K^eCd>PYI*+Q`EUPU z9Q;(ef(>WA;qV{M4WyIbe_!-u;^j&3bEwow=M*@Pl7vnYZN$B(quYgIi zWuCw6Nsw_#r~#La08+%EIzwKdHn&e=;-jZN`QE-9B7L1*ssQzPe*B|aebtQ&g;O6e&=TvUqXHx~Y>Wg3f z000NS#`kI8+pF|#(#`114zT(hs@aBc9T0OoCEN{nmiS@Dt^EBP-vm9@e94q&Pp?-J zt*kWFwQm45-YP%^w+nQ44XisANY(f|0eJ0bMdT3a;fKFH^W^WRH;wk95=RKK`AhD& z85V1olu+li2=3dM6<=ElSZEaR<(=gVN$r%@5wB`bG2$|@M2;X>T@kub()1M3?I8dT zUpiXx`9{X~eEQGs^1xkbW*QAc!6T4hOP=Lsq}p8FNs^t|5}keHD?n&=+u!_Gl#V{8 zRU($Pi=|Bv0Y?Bc2x98}KFR%o6FYSWh~V?{=q>+t?QG`qB~3M{uFPY?&Duza1_E^mc~CkX z#N@yw{lL-YJ5G11cMiJDNY{tlgtsjEYSHnSfeH5#+#$pY7c;@gtK2>_v9HJ!F1I>Sknl)~3E& zZ^K6XO2N9Y1n%(P<*6x1<6# zqayi?)ro3UBXJC=Ld6iQDbk2zMMg1Qc&DRa`r(NmnB)W=%MWC^k`IEr3L<_{O;#K{ zLS077qv0Bk100*byh__Qqyipn0h-+9bE_p(;}~MySPM&#B;aH?3aUuIkU9wF@vpYg zi%mct4e}nzLA!`#;i5#r0W*VC!>~e`PC|NI@D3TtXmV&z!Hih zZUhx13tDw@9DiVCp4|%zm@HsVe{ya%;RjLxGF1=4E8!w{N0JdoQHRN?L;l6>h9Is< z1spj@czB-7L1Y2*dGyntJu`Lg0@FN9$T*{l~W(g1F`sFkwVIv_KT_&wcKbIftD?M@fb~ zj2W>^?lEFGnBgs+DGI5h=v1(N4i>{lChyy~_`Y5j(o{&26(EX>wxBkcJH&*QwM!il z<;3&+(2D@Fu>A_iu9k3*fj-zKHV@L6hl}d93)r*s(;w>BYu{Hze~B+oWZfQ#UnlJ|2-nc~ql&9|iwYc7OAj${Gd$blOV;BJUP ztfOl*#5n%Y!b0?egsZ_1&9Q5It3W~Yi9V?|MY0zo!0x%`z)WD(neH?dVOg1AOCq~&%Ge2a=cD>Z1MpMTf)ga zpq)&zL7sL@*Ztv$_k8cvCyw{mcw6jtT=Gmk%kY*>I&s7?MM9lmJxNuAX8wh%<$$+M z0Tbar`LX_creyewqowt4o$4Z52%%h|tSF!Vci}f*n7R3%J^%Aiojvulfu%(P)+y*rb;HtZfv=6fI}@m_ob24zC) znwTk>0kuY^)<#ba6U&H|c~(0C9+w5Gt3gZO z76o{_`=43(oo^qgzbCuz{?wnF%IoE)!B(Nc%@ElqI}h9!$`enyzpyx$-8zTp8kR1A z7A*~NQmaz1AtGlfZoh@qL8ql5UnxOAE1vo|aEsjT*qVWx@xK zHXG87+oY2SG8A=zEpc}v9&oG4vL!+x2nla@^d;rgR;{vJ5fNfEybV;vU$YJAB3-`n zb>3n?Ztm1cMpdZF;--@mKXyGTKm>f=T@m^koFKko$Nd$L5rEVg4Vi5g@p%;h2hgxB4BS`N){7N@!-ua!1x!Bi-}&#~*)!2uGcccY zf667dwFiL!sf>u*#)mPz*bvDp1sMW#b7=DbwO2erzCN4Ty@4UzV#^8=nVsd$VWGVt zt1bWSIPuxNncJ?IWXqdxO2oI|HwcJ2v5Me=cuSR?cvovfMQa>!99P6>4Gxrdws=)( z_$=;-In>ttNe$#C?X&z=os+w*aRO9KQ|~Fll6~EZeuU$XH$)+W6%Qp?C8x ztgPE)X_IEI9bx#=GB%Eg!P+yYn7RKhEG337EmOa|NlH0DxuqJ@`O&_oSGyA$tb!Z<((>9DZBe2{=Yr@ zuR{e)Rxj2&wNNC951%+g*6WbZ4mP*FHR-Zi0+N!bpTi(UgI}V_#D2}&Ljz>r8*krIxv9~cRnIe)k&RH8DVs%Bee4gQR zFEV=iSL^gjBX44yy1`OkiyvyWe3`sTc8gcaZY>|%E>j88C+a6Q(91){s)q6~Hj z8lYTq)<#Vc-GGn>W^V4%zbSx4RD`LU3(D1+YHfsFSZtt)P6t#Q%)d<~gvKu*-r&jz zBK1b+jEiif2b;!<a``Z;vRN==-cS-o#XtcK5t#h zP*Ls{@Q1Irn((m=gdwbA5fMSNMhKP**;E6h;f7mHtQ~qCvc0>oaA@v^XT zYK^&`;$;aVB^4bc1Ts-PI7vay`0tF}2 z4DEGbu1A&^NT);D$zWJAbB}WNi3=<~yUfhZU5Y7fLQkL;X-Gg5=s~rC8oW^~c=K=l zE|w{xlb$j`w<4o7Cqi(jpTn0&^l!Ucs}EFZ?z4aVp~Z90{Tul>pYS6D4s9dS!ijZ?UdCWL zkaZO;1P=j1<73bkPVfM3Bu`BmAOfAdapGYsy;-)<(Kj(FPiL{UJ~Q{;Ez2jKbbsp1 z554qj5Bz62^u_hAT$?Xq0lO@}JeckU(( zD~8K8!}Z9@>Das^Q$kQQG(@bBJ6Wcv3Za|R9Tead^|&O9UGN<7(AE>!Qj^e&!v+E3 zi>OU$xbq$xoH%o{J^uLnfn!GxqHH5U>kU)D;RzHGIKLWYuOM-f3j4U8t#^Gj_dg8ksW8CY3nZ z=m&dkB{&`z30aRU&qUYazN>)?WpCt|0YL6wIKFn`CpZ&KZxR<5GtsvA(Fks{M5BI* z+HXr2#0}XwAe$-(D&o`jVYGL%-+5e_bVG;=yi#>VUmp@US~!5)?Oy^XWX0=tqpu8 za~^0jR=NDqsxA)YskW;xx2h}C{jJf zqEUN)@oKcGZVxvUe=1o*V%D(RQf%!`Ta~$@iJBMB!EymtA)Z;pF03J$A~^ZnG`edB z>F4a3okG!#Vwzvd-&|s#D5|94SYnwNXnpGXgCZt4dKSJqu8lmp7Ree@(*87kebc`r zC~<8F7na)?Unp+ciO)@ua6%pFOm*7f8*!s|DgRSk80 z&m8$wABon`4UrADg{yD0BJp*jpvE?(VP(3wN~ZGYzJGCc&9`|_#~ZGI$;2yJphD!! zMQunOo#a?u<0;Zizw*EI6Kr)%N{M`KhOlD_Gb3q>Omi^_>vBh|H?$SO&aJzzkMUgo z=xX)Q>2|%RkbTCZNcBN?0DrwAjSvuV^G~13TxlQw`K? z2^V>lgMBSJ;-!V}cub_VVY1~FCHW)w{mk%DKfJvoi?{6rObEIcW_Epk6nT+x(poW# zHCjfrOt@|GgX9W}ow|FLFgswvH<#B{JZgFbys82 z&Heh<8i9FTHELU?zdjx!aYfV};;<%;E3B%plr}n5HYw>hng_`dHvRhmumTvj>e+qiBw}%jSVZTj!2y@ z%TZp^!M=_gD-6fR6=`imT~@wwW?h%oeJG*$PY!amIwZIC1ROg|cxd5MQMB_5QoEGP z4Q(WrB|a`mqcK)icuE`XLUI}A=t?4-OPM!MMjDpH)gdyf7{9cV`gN^F_A7TSl+SVG z>NV(X>lG#ra(Es&cwm3lf8>cr=KA`M;?}}aW}(P)tY5&OLsk@!1tbfEc96Ecfgesp zFxv$27+1*Z7%6MU>th?furB3@7wW0m2i`uquzIC;(piQ^g>)v#V7!xA0WP)AaX4JLN+NbQT>^@=RNw;eDsAyp)-SIF9!SeI1Qknx$Z zWtE7BLVuBsE3L(Tmzw|_kS{#u>=x6W{!l`B>knl+U5GGgPJG%B%i zg;zDHtgxyEOB-fsW2%)U%+lt+z4Ff_vht?1nX2Z!ye#oiiH*j@(FiYxte=Z@udK86 zl3%#<6V>lNJWnQvuKwk1ay2ewJ9-d3_yM}7E@Yo627Z5UPbU_=kX2@Akt3bFX{0C= z$pfA@jOS*&n4qc+Q!X_Tkg5_iuyyQ!d(#oqu&u4R2Ot_LHqJgDCt_7$R#TmeQ5MT= zrIJ6q{Q>_dM}ec*)!>3&^>H-axTwlDY-C z1*iqf10m0lmTtb`5o6k5P9$xh=7#Rr7JIDe7sCvT5t5NbBb7CE)i9{bC5f_JWy6|B z`oX`OL(TZ1t8IF&`aNQk`8y|mGC!bdzu)iL?K)l5z1b{J7|DeY8os~g8Pc8rRGM}r z1oMWsrI}-vaGJUU(V&ia-3*x%gtbMBVRe+1BOWP(|BbsAIDIw861?db zxlNStl^^TeIoqj!qgU9sR9WFuI}6i}1jk4;CPp+Mp=shnwFymBHwLbH+v_E*BXeu! z$E8#^)D~;VyNW>aw0ApNqvD4+_V*GHo zFInssbfz@s-JpnRQ};Cx-O}mk8)agfbVar~#N_K}+lVHpS(V#pwG1*Yg-RG##ee;s zvj_g^5B}<3)YpRW-?Xa?w|@B(^V$0f<0opD@7mF`Q0IadO5O`m^MC{w4Jz)<;DJd^ zdBXXWmP#bO%voD^qVRMc^#63T z{5N*})c8*?8llFU<8ZIZ%RDDH6irTqfAYQgOJ~0L0JXorHh;ex-(+6gmQ&8SThAdA zMGX>0LS!r|7u4(wDo;rs{-SI7pX}1TkIKS{@x~3Uhc=bXHFj?=*UH$+W1tT$yqXR5 zr$-LgLp=N8!*ld^@&Wi#KUA zzd3mO!Na7>iP0T|BPfp{M~~wN-=xIq8}3f|4dFU)sTmH38{)(DAnY6K#=5a?tQ+gb gy0LDo8*8%uKiY1T53kGLY5)KL07*qoM6N<$g1AlH0ssI2 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Vulcan Salute.png b/shine-UI/assets/emoji/telegram-previews/People/Vulcan Salute.png deleted file mode 100644 index dac0671fdb83e807c8daec5bfe4b97c2d1d71e6421f39816e7fec057581d7f1a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8743 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 g>3Zai#(U@nbo!PPKR$FRvPes~|c^y&snddK2M z)88+RF)}QMEa?C{OLyTgBjwd#ErFdvM+cCmPVeH@ArXDXRHyc4kKOwyd$*o;3bPkP zseOHYmj8&dc}ws@Pg*&R9eKhn{f2d2a+13SXfSA<`ug9&dGqi4!1lQl-oXE9LDFWn zv*Xn7ZJ#^W$!qN%Rr+r^Bc4BePR_|WIVb1joSc($a!$_43n2eLtxzvF^yjGs00000 LNkvXXu0mjfs-&kq diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Shrugging.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Shrugging.png deleted file mode 100644 index 35748872801c5e7005ef58b8db1c27beb43a5b209eecda39641166b264f8a4d3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10817 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 LNkvXXu0mjfiFxqy diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Technologist.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Technologist.png deleted file mode 100644 index 677634cea8c0b29eadfcb2c9f968e31f762ab3d5d0257b837e3b0d7c9128e977..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8097 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Vampire.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Vampire.png deleted file mode 100644 index 680eaedacc820bf9911bc55482cd3af58bed8a8e1c885bd966b856aadc02004d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10598 zcmV-sDVf%ZP)&6fGQ{o0VARyDuX1tkalQAO=4neVqD!>w&|!D%s^a;F~+np z=@{)!N0T@tVvI;kG^h-Y3{oH-0LkPOsDJ^g6ws(Ir12dlbMdc~3j9?(eeXwe*^> zTQL8Gd ziuWGp9L_ns_W*OiJ-}C!B)K6?(+7_cYvD8k+JFxL`FwtDv)TL~z|R?DM)UbR#bS|C zsYE`X_xXHYJ4lc&@IwfT2yo7+_ns`v$g<2f8V#w}>r|^%oO3B~EAUa^hR(h1kD41~ znLhty6ieALi!fICSWcZM9lW;J1Mf zceqfOfsmfm2cOCf3qYl#0OeFaAII?pA%w5RaeUsHXP%jr%Vo2A^=f@41U zMC2%-cK<#R@K1OnYe|xXD2gP@GLs~U85kJw-utA{XuJ#<2LA0yT1myu`Rh;C%Cb)Z z_%8vz1Y8b$W(gIYtjymULbxTL&#&0DX_GU?#G5v4l8Z0CnEUU)pL)H%sAQL8S!*d4 zi(Msc`uqFU7~>We7A^+X0blH#?PSgnb4Ya+54 z=y?+N>j!Sk<#I!tHf?f1w07-UuDId~wr$%+yBYI81Fs9 z!^6?Y$cPIeyf=!X%T5sqwIoS&)v8qu5qUH4FP+bxG$)u-5IX_*1>ilSqodinb?Z=7 z(~*75MdV3~qON%=A~@&R zuwes3Lqi-qc#tg1y6?-16)U78o<7=f?(`%9*a{)Y$jC^%VZ(;h7;_EqXB}9XvdMGTE&(vTe$JY8+qiB zN0^(N!#RgBhA4{g-qUKePFm?6C8#@&TUTi}8VyEAM+qS?F)^`-SZl3awQ7|E&H>)q z0pQ7Sfm2n|G-Y65ARZhX48WU)hlk4@PLkzDK$6er1&}3Tp&=r=sV)EHag>(cefQn3 z7m=+iR;&mjVx4oGfByN5kB@WTefKduJWQIVOifKOH8n+=rflE7oqO)N=O{q_Fk~$K ze-uS*-@cuF`}X0zXJ%%G$;nCLIHsqkhw16*MJvmDPq|z+Jv}`NyldskmBq&c;8rl# zwPDv-Exd>wqq_3!NK^h)4h}W6u1oN@eiT_Ga|jBQo$P>c8%~>kRN~ zrBX@D5*=Nz-MvoxDcTCEmYmMuD5 zAq2elgb)^O{zjw0{QNuz4jf?b-o4Du&XT4n#u!9|fq?;>bJXi~M5OCYn~{-`0IVAu z8+%3P%tvv-bzrUq`yiz6g-}5TL=_2&2JI3?&U>FbS!HZa)>-QSFzL!<5o}Op5PiY! zYW<$qVcvEfTa(YVDMv3m!Vwk-?|a|-E(R_f7#L7vjLou)l`B`0%jMX%Z5v6Fkk97{ zAuLjGnx>>_igXm{+}s?qv$M?3&MqQndU~3fnVH3(v$M0z&(Bk>Rx!qO!x9){u-4+e zCyLs}O81&>NTU<>P~g9G2?yX>u-AfpFNDv5|5=jFZ^ZuXD&(C`jH+l9By(pws zwk%B&s@3Wu!c`SxjOp#|72t)1LSgk~ZTOhaf&U!%Ux2e-Cw#arZriYtw`>&2sj8rD zC%S_GtEzU{5m2pG1u%<%0D=l-L0*mO>ka+_V=u^~pZv0zyI+s_ufGHXk3y?0A-Sfv zx0g6hjQ1X645Oo??Afyi?>(hbiDt98C|(4p)oN|_>jL>C6mfTdUGdbV^hTp`3&XCrBo_;fl{N=~&qK3$?Q1Y=W`#Fpg!9)TY_`IM8hk}D&7k&>D2M?O zq@!O>)e$>s1QZGd1wwbD1VyYNQ{gbm1j>ktS*@1!kq=`M^Z{>HJSO^^Nl+w8D3ywf z`aDSza=9E66BBJyQ0x(L090!=T-M^8wSDY3Sf$=*5JeXB#L>_$;5(v(EX&$pP;gmx zoHN%A@MT#>9LI~FjjXkCK2O|izP4m|?U}$i7(E*ag%Hf7s(nxmkqDW#-Gy!xZwUgz zvWuWI&Nw4&&A z)6>&LktInYVrvj%FxJq@9F;`5=Az=FFOasfMa8`I)fFweL|6C_$i;@W!xfsXbn$=I zTC6eTk_4cexM}|%Fbes6jymW|lgPbE3FikR^??0>B99qJQ7nQ(LFg)ST>|{D>>P0Y z_16axaovNovDcBc#$Xkq&ZfqJ!w7>S5{pC=!BZ&|K!nhtw0u5~_nv06fpebij~%2` zuoMdkg?vJ@-e6^a#3h?EtWhFs$R`P2!|}%PF&4A6h7gpVe8iSDy^KwdA$XkgI3H-X zGU|=yqV>}~j{;txlrJy|GUI%-4>%~E6h$z^9zuueL!0aug?`sD6%n_b2+)q~SD?A5 zw1CK3vW_xFj>K%bL8BRzM+h9ous&a0R8Okf@lp--M#hE}c~3#+Y=uIiMp=X>??*B8oB40D>q4 zStLk7F(@&@K?N0|lrIvN$YEm)LSVk;`K1>meDEF0!JS2RPY1@Q9D678JbNu{TG8Td zSH;}7U#Qhmstrf#Jvk31EAqZZD5I{PLS&YX-kc*XEEFdYAn_PN%4B|io%z6k-c51E@ zvNR`*oJth2KWmVRfgpHML=>l8g{w3bq+jqv~eVfMZ|&zRCLk$@Lnk<@SVp3Z~DW8eYK30BY~V% z?%r*<{@co%uPO14Ujk`nhzhC!4H1OsNb#G5HZmljC=$U;BhNekB;o#@DH~QgdP@nn z-RrsjX2ZF|Ij((yp%AAyf8tbbK9?}9kjs<`LWqSpC#0!TbB4pJG(x~y+chV(V^K|a z^rbAP2QG?#(SS5y5mjgQTKg%+J zu_Y$HUv32K?i4)vLk% zO2=>r#|D!?A&T2^o`qqd|K*mf8aViGmTW??1m+{lf){$D1O(D7?Q+1Qr<620$?F0@ zxm?~=tybro&1R3PY7#|4WZ5Nx#gmOeYYM94fu3_6Gui^$W?d&NgD8thkf0D-VX~$C z>Bmd#Yrcl_ww{O9YE0JaeBwKM`S-iN%CEn1o_rF(=@ZhG29TU#dLiR4{$Vv^wdasE zpucZ`)|!=k?6%#kz5Pbsa-|SQf)9Ga&_UazC78pkn2F?)TR16tz&oiA3vu@{mAcGwvH-!4n7nCPTd@7)k zFgqXk<4>N)nHRjBi#Bg&Q~wa({D)6-|7SnTf4SyLp8M*5;152#4&oC7;7D92V(0D_ zI74&4z_g-cZK|E<$gU)|0NQ9Y4Nxlkn8bBoC;ADnQ#xxHGntMGyRU!kAs6Y~t zOLBw|LcLxCc(7BAEz8XTN9AVHG^N>WiWo~zKF>~74vS)d>|qZRg5T+xn9Tr-5eUIA zI$}a3`1yeTMd%H4p=C86U-{hNjJj{na@D#~0ICZM z3l!@vCV_1yB+ z|DckK7&o4rF)TdrATNE@>v`zlFhrrPkdKu|+RjnzIJ}mZzxrx+KlT^}BkVn}pGO~h zka8^414KrMrWVLLl^2|#=1AHG6{TXr!AZx?2O9W2hT23R5}3sB166toMQjvNuhmSJ zWn!)U%BdFXo+<)NySR`3L}`=B~zIkYduCV~^i2Y*z? z3ZP!E6N1MFW#h^b&J2ORz6w!qnR%2R4_Adi(%-|mo7VF)FL@Cxv=P=ecaDf7V+E?p ztN-&$85-?n<+>5h53p7fe6h@=82W?Z^+8#=X%!OX5E~OT9AAAF0zL$iB%)S#RL8;H z*N%ba5$=_CC&)m#1WH&~m^Z+Ik&%&aKW+JdW3KLACIgC41pz)CyZF@Bfg4*GWSs|a7x0J)gno(hdtE6mR?0Ngk>HdgPJ;5=Oj@BqEN zz5fbK&CbqRjM0Hgg@;wyg(27Z(#h|p)aR5qGKd<~2b_0pH>ZeKLE9knKv!u2G% zAK-R;5L^2$#s!F$_ERj{wu>>Kc7BzMSYtpe^U{_mIU{@-sETDv?*N(eetK%k0CzdK^JK#hPXz&s z7*3MpuhTSr+sw?gUAuA>#ZrlXug>v{CZgmWO@tIkqIM`3(=J|WHd?sM(`+_LvkXBA zHUU|{@A))Q35K`yw6}I}4xf6Wh_|}q=&Im}MVYV>H#kSGRH0NVGBZC*y=X!kdp z&Bc9n!|6s07^MM}jBp!%{D*0phKa+I zW}v?hO=7+f6p@IQdIAu4qLgM)Tr4KB+tk*jXw~-qrCn_yrW5a{TMN*Mo_6B@?J9;M zXs-R9ED3e!(%g8rP}v|F5IWIT0c!;p+8LIm@q1O};Mf@TMjebnQ5webDesB$dHQ;L zn4O*1`Gu+g@87d$PxBO-JC+3j9;E;k8hZ8 z&Y?juBFF4xiGr1m)w39E69}MEK?h%j_FRjaV&@}rY;^7fjrAR!ErB@dT4u-lD7AXM zjQ|XT0luZe{lT+xco>ZFcq=Un5^*dbXxJg6-re8CG@ zWZUpEmehItF_uQx8z%UZh}$l)c0>tv1EGP|ZiVy~2rWX*oSG40lqA;UF7FZsK(*F@ z%+r_T`Iz^Ze2$@^K@J~2Os!TEYwd4!Dx~GfHuyai1O&jeTCJTT@@I!9Cru+u{qWET z{~R3q1*}5m17imcFh4tcRHMa_gZh)G{a-3yKr_&Bhn+YG6Z;8cp^Y4)JYmFciJpk# z6Zc_s&CtvTdQcuQ@GT9j8C^jL>c_^$EO3+e{)idC5_UzjijSLQk zNfB;VW!M^~XQs*0RyS6DGy*zF8Ck6DIGH;Nw$DPrpjAVtStvwEIUJ=6PG;+o4M+I^ zT}QDSI0P7sV!oC-;zEI;fdSpOZy(ONW|Aate=3x}TnOlrP{U&1)~MB)nwbg1BO`iy zDsPO4c5cp3PfuH8%F5}WTY6rM{z!-BxJam5g!-3kZo$gREN68=!iX_VYpBJV} zAEtQOC)hDD#DlYrTfXV|_nRE|SCt>s485;?KZRF*o!f65#D><<-_>cmbD1#v9moEC zmWQVek?joopj}nnYNcqa$##^_w(6`|y_%WXSwA;7XN)m#ZM9lEmy7yY<{?Ji&cYu6 zzdSoXZ}LX`0|Nh+23FXJy@x08X@)hOdi)O6Jv0}Xdc-nyo5u$Wwr%UT#gdTk4_xz? zEzbO@{3#0uB>&{5&JO5(L@GKkq{uVMpXnV1ev$SRm6SsQi z_gLO?lklxQ4H5w_hQ9uOe3r8N;23K>^hTChBa99YyZ!t3$03BT1HZT&O84o~0mmxk z2zZyOu5YzkuMMi%Eom$MjeMTJYPERyzyU@E2kGtU1r-v3e|fM$JuUF(FE;qPqxYhO z(mDa3wXcEP=>%P#b^hm!XYG%Xih4VcM0=9fa!;X2fm^-Cmk1=zy%U> zH&FAQnS}+OXAHlbi}}CJ6nZKlYc*`M(HsY^qCE!9@H7kne7X?OwfHmOiwZ9_*j0Pf zxzxnwgJKvJc+h3csAr3@yjx+w1RC|g_;v%C!DzsbD{0*lO5 zf~cXTLQkJi{Hd6g>swUvo@gDES6lKUV0(oqvPcko8c64r#$lncKP4T5YQylzBRTx{ zQ(6n59hTN`B*rJOPXudnyc*@L-f@e19|_j0ELiNz9PT?Eaq51OXU277C2Iw~DsZ+D zaer*%=r!IkC$LAA1=XXIsUmod`FBz_|ECx5hM&C@9{vx^)J_st#aJ-5?Yp@Enu3cf zNZ%Hc=e(RReft3a@jw5DYcTYiwtZ|hECx#r!UhpGitui+e9EWZwyW%Gz%`xua!)Jp zpDrbQLQfgkr*I|kuTFW+ANb5wOcGt?Ge(S%2{crRIsmc?b5`*lif3Oz>$$&7y!99H z^*w}{-GuqWkk;Ed^(aQmtML6Bp}dAxd5FHb+sH+K$5aUP>yc(}kHLy(wZbUy0b}@- z&$_^$1YQYz=a~ThGlhVqNI0l)l|gQ(tG@WR)MbAi+4v$4f@ch6LE5eLMhuhQ;frNf zY&jEY&XYO8_G~5_IJcc|aE{bxBuRo%k5P|n)sgC9`qvCmS+|Diox2fhvA*35k{4wd zSS9eu$nqD?JA+0+*oX3R;QnU{_&meYWV=Y1351tf^s{rp$G;i^w?>9hU>$~GF(42` zm=&dHd*~?*AY#ZD@{IKLFj!7l(VJs#Vh{J;b2~keFj^@x+*e_EpdV`^a;88*`&d9} z3Sxs=WA_20lN6alXED&(y;kBDiiggvL9)3tx#69inZW ztPmj+WjYed3!drQc2IK}bUoO>JapMa!PD(%j)Y+(s(^#6y^#deA4c_Z*n;QVsA%*eGRR~9lH#AefzjW4B~uHNtQuLt#P|f~Y(0k+!^3>>=zzp;xo7Myq6A8`t=EVlP25mw7lv)cTg!+ICsldisd4;T8;Vnc_t<%n4X?S zRmXwL)qtS!WQw*vqc5{cOJUr|5mwI`;0`O@Ch>n>TEvueS&1 z9s3U)BwsGFxw4u^|MW&i>u~RJBs8)h)_y^Pt&xoR;#@V*aFG85|vE)76(?oKh+k zpwrJ)>Fvc#HTc@QKg!xxfvqyg_WKw3z`n;gRA0sCzA(?^WFU!;jP&gGD5PoHO~gx~ zP%xvTqnad%pP89CUsbOJ{+UxB&-^1pfCaoU=66)}x7V*Q{bw1m6vnrGYHJGsQJlpXy?1BYIw1s%G1A}PZ_4FzHaR)DPE{`g zKK*ncz&stmkD};#A%s6%xpJjD^UO0N@4a;AwRI#7 zB!jc#VcgUd-}&QzBFW_mzRf*RImh8`J9yv|H?h^Mq}N5H1QbtV480Y59Pm#x>a06y ztIM53LqqZA&6_jeCB~R{Eiop3Y!RTe2lV|}KA)G38#hXtrc$rhyL0=G8@hMm!l^)- zwK^@N?O6;?luAoED;nm3&wPzTx9%X(;IF`F!4X8v0Ip z{P2;1d;Ta(*=T!C&w5*->@vQ2-N(^JMzK<1^414=_zO34b~H*kKv&s5Q1#jupvZIRBkjHZ(ovZ`tkIHz4vd;=kq!;GNM_QF+M*2Lm#$q!ove; z>XvLRv`4{6yRNy|61K*p?7ICf9{h)!DV587l52w-@LDR0RHl1ldF1Vv+ z13l5aX=4nB4VS#eFYz7Ah75IhG(a}=JW0oH$1PI{!`}=!=pBWk&k|arNmz7U; z`niaZb`_x^ylqncJQddOWu*HC#F~pU4DyeZ*O&hrC3bt3AXji`|mP9Z+a@ z;uu*pH;YC$ zb(zu?;vDF zwOU=hTw*9%MiHciLgAw;R;+lRF{aq1Bx@~k95X*Zzvu%j85#fhbfF!SvZGU%b{|Ox z4egcybEI`okC3J=762#t_GG_aPM`BBrmek7BX-`Fg!R zz8t*)%UvBUjYi|cgM))#ZZ?}g@0`0-RnG_^^cRc8^1{M`?T!~dDYMiV;wYkDljGW( zP9~!62^5GJFnKiUbZI_;>Dm3=IY+Tr1aKjQ8Ry*IR;%^hLZR@F^?Lm~KhF7pquO;g zZQ7K}=ktAW99L#$W-PEMS08t^pp^qAC;8~Ym8?oDw1C{H?k0iX$lc8SgDI6<<@npQ z#moucuT(085L`Z=pS=6-yXQ`nT;j)cnaeJ_?8o-;u}^kgcG+dowbx#2f6_8y@>K70 z9oO*(PiX`1U9R4T)9ds)y-u&w>-0Lk{(oBk5B1l^g}Tx3hyVZp07*qoM6N<$g2KX` Aj{pDw diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Zombie.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Zombie.png deleted file mode 100644 index 09efd76650953243b523a5735ff719f48b3434fe149a6a814f31dc433facbb4d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13241 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

    nz$CR#(^_c^-$6p#MFze3d$dJBB(=wp26)88ao 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Alien.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Alien.png deleted file mode 100644 index 8339a7678e48f033ad3a655a060e6907ee75806e918d54bc3eb943feae725a30..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11273 zcmV+kEcVlhP)D5YT35 zqXNb#O1cuqi25{02Z<;OiclazGc?uJL)D${J;NT>`(vMbtGYo$LpSKNH{bbg-=gXc zd#(Lj({HT<99c)!k#%GpSx459bz~h`N7j+``?lEc(q}D~%M1XfrluBr?r{KB@_K>+B80G`6<8Xq6$V`F1%YU4(l93Qt}?4UPve0*Gtjg7IXsVSP=w(Uv1#_x{+ zh}ih%Ne)b6a&pof_`ff`^wR8(-Ma^xN(~5W2P}yKS?d#7#yC&FY{Z%0%5raRq%YVz zF)`6P@HNWiGQSDn&j;+p#DqN}fOJ!)rl#1!O~3f!i;EA=%$yi&d#X;<@z&CM!|e*r z#DFJco_P{naBwaF0M=SqV_>X>QCh*8IdJR};16>leoCIWZQ1bf9e?*%f3@#%-q${p zaP^D{AcY6&YT}1J^r4~IFnNiJ<5vUrxzh8O1;rwY#Uk>#9D=|{E}KOrn}hWPalx$= z5{v+{7Gw-lS~C^LEbN4c;t)|7q1kGq*=``|L={f-Qz5;t7Xt5_S6+JQg9|^)GbIT2 zOlUj+bT|Hj_kZY&YSem%vGx`DY+wqpoHGJ3Yb_%p#t0xb zzg>(mFd}d;Sb&H#Fvf@h6h|?&nsr{SRCr~!g4$da%~rF`1^d5QDL?z7=RD_z&6_uy z1%fdDzY2hjZ`;Nv(=YqZ_r34MQ5;_c#$Q$%9K`785{xccW=j1fa0X6f8Ce433|t6E zAt9v)Avh%G5L|$zUx0|gl7+S!+8StWptXiI1ZxdQ0D^O31lww~X!q`2a%N@*jkzkc zQn!17*z%Gy&b)5(=FMh&d|YhXw#~Aq$zZdmOY6HD|E}}jcTz;^qXfKac=2K^Teh4Q zuUKXSKf|>#45SfA4;ep$Y&HYm^WjN9#d`+E0ZyrxNdUkBFc1iqrOImoYXN06Vx1s~ zV?<$yL@QWkAvh*+iVhg|??mCJJb#Dp%t z`OTS!2M7LIEA@d=|DeBW%^JIE)k@-A2(2_E7s%yuDCBd<1OWsS;GA_GBrwJRa4<$- z`$4rk2Sfxg0$BoxFc0ViB7!j%iB1qk9dtS!B#8o-J~)TnGc!#O-2Z@>+qV~t>=$#H z><6y87Ob&h! zKxvIQiCL-C&zCM=YO_IxTAlFtM!WUK)1LF3onN^2+Pgr+$^hTKeLMZm2!Mzf0Je4O zR{N*#zv$0mWhVOu23DMW;)#0I>eb9x%NYa)1_m%RID}j#aGT2hKJek$YR}Thkeaf zYy9L*n@X?#(T~16F)?Aw+>0z15Tf59h|6c;R7whYG}cbxHr6k2PP3PqHPMM&vG zat_G=#yJ=l;EXvf77QE!X98ew(8IcB*Y5WfoV-)GK?)dTUO0D)KmPnxSIr#`yTA^|=3jKtMcJ0N*9p&m z?TR&P_1duwLL1E_6Bz98M=q1;!G+`kB88HkwsI!~4nQytFal#(Ab>Gt9(6^$(_An{g_(1a-|ok1jS4S1O5H*goI!m((}MMb8y30 z3K{MMFa~huJ{sfP`S?7ApU3&g78bDNz78W0IZ;?57_uM>fKpG%SeUN%r~h`YtA-&9 zYb~1XHtNj={J=+juA=Y!*&VXgXgutb_mZoxy6nC~c@o5-!u*?Vx`{pi`OgoUbCqw1 zZ0_u1k2_v1U%tW%;~1r434?w8@VJEF0#Z1w7eYAPPtyv{_yU5lR1j<)lH3tM?+_et z_3Qzdd)|E{Co;Z3a0dX^g6{zsvhX|)LJEZK5cxup4=ozjvvYHUaT2{|)29FN_0NCy z>bddpaWOSDMZXOKU{f16@~!8cXOBMa`0M>_{^jeBJytDQvdoL(1Ot72C>9D3OhTrc zF9nAX5`uI0?-YUr=MWqaoIA~5xcQjh=*J#omI~m&=kr(BBjOAGoES?ZY6njMIl&P@ z3IWdx(C&or1D_8L4e82UWgw0^FFEt<7hL~OpZ;|FP#9)@2%twyZr*I(dfs`TfFHbW z^@jCo$?_FmCyr4nl~Bm$Ac@1{3{nsT2e_DbEjj1l0uY?QH~=odxae)%ZqU`5sZc^Gp9kk0o^W5zT|9L&Ik;dD zDgKKTLOAQD7+4QR9#8vOR{;BkWAobY9HRqH!hWxt+89dxsxDkP0|EkrwH88fc%DG3 z)kZ#F% zf6SPO6V39uJc{{359g&|DfBq)?rJ|{&R6H@#&gCWt4`_0cZ06(W(suwt_v;mFoOg1 z@<7AQxHHNO)PpVR{Rz4MTtE%7#wiY$=yW>h>+2UvDOIo6PCwPIC9i7T`K#0OJHM7?|Kr8`*F6 z)w)Jlz+DGod=KmS0%7cTV&?5h_x-^ch;yK;1YI|nF;_fe7S1GaWU^W0a#=)C8*A6C zll>zjHX*b1{J;2%<&%@!Y&Xk$uuDFdsbIl0*sM@ByA=W?g4UAIpAK~`#|P%4(d z!5|rfl=y^PJfXceO4%~+ERKpi~G5Z;10_%FAU9I9A%n}$Z%zv?kKYwviPp`O4L6MXWR{7K_OEJ~$XWDd0%~A?ICBF1T|+g@6zY zB7J+d0Mi#5SHU?1_76q6SV1wy(m-t79#Iry>5>(Epnr&>Fuu54E@#HZ#^_+ZB7U%C z#L3A?^JnjU@3TqB@sXv=Y!GCHHU{}zF3mj7`}W-cXuk-SQokFIljQ9NRVgOBje-+J zHy!afA$<4MS&A?{n~-Kod#R4p>*=b0&mLew*3@C2``c7NUE>eNV2R)dK0F}-fFHGT zmC59bM?X@jzkOn2!k$$wi^Fb&Bc(oE8t7-EOP7&R39^|CJn12YZs%QqdbrKGgy%^F zL4Y6#;CUW67cMnmZST0V1;S#i>yLDI+ntFnhIffSjC#fZ-7tCHD9=MqR}mJ%3#Be6 z7{CRG=Xvlw-^D3uje&?9)ODc?0AtQ5E2S_nG{lQTizwFW{pXa+x$P4Z=3q_%KN#$v zoSZc0z3+V+I2W%RTs%Ua?+I8!HpryzoeOrl?x6HNWOG?q5E{(}W@e@_z3Wj_Diwrb z2b^HGM;k4z>5#u%a~LbYDQT&;qr z-39}Y4KnbhoL3M^>u=V;_a(T;5tHGg%a+@GKDR2aR9*{!4(1fdgFG#^nIvy2l=|h! z;!&-YmcAdr69QxjT+aLHK@gx`tK-gx9>nbIEaD_WoG37|kkUssm&d?BKb9{U#fs%C zFf=&mXeCDXB4J_+{qu#0{v^|mX|*g9WRN5=9@)7Q)6>(Kot;Ii(?%4kW8P(ym7yWWT)UE;W$NtiSToOCMZV7kSDjp!;IG8;y;=@QyC^ z50JIQIb)DgxFgK~ks8U{Zo3tG_wK=tU;Pq4yzxd%Ke7`d$Y5~MBJ>XqLI{agtARbY zPviC<{uc&EMsVDzr{L66o{iH_I~`-k90RT0X>sn%8$5Lj~$14 zt&U?)I02sTK`RReg2x4XA)$?7`Jn-mFBH76-8vh<)m_9mR1m}g*f>_F=L`M3ROr{% zlH@}6=pmc{UwXLnXFtd6o;|qj=KsX^zw>Q?0V|K$fMu&zqpz<9lEGI_|mSXW04Zqd5D8XXDJ%H_c-&+doKS3)073lg|hMPknhxe~&Q`S!6N+ z9(s5uzVqGh;s-Z=54Ya(1LSg9tUvBpj4oS-Ad>}If>IjIRulDV6*JS1;(>eb#n-;{ zC7gQNLwMoKUxB;syaOkmcrq9hj&=bC;Yoy1f*@O7|%QFELdY7D}?Uur=>{uKsb=eV+uSbC1mE|t zYu5~}-?k0cUwsW4%?3_?(b*Us9Yv7MVz6%reZ?X?Pr_P*W~+r-rU5A>l-3CQN*G$c z4DpTxKfCS6Sh4abc)1J~H=FQ+3=(4@xT8l}(o6;ch-l@9Km6f-0M#erHSi~7s3#_D zxxCG{L@S)z=9EpOAwCxZwOS3$Mhids&zoV4Mz&Byp;$uT2PhT_DCLXjEA?S?cm!*X zT7_q=U5C}HR$s}KZ@|b=N8yGq{~NCV{B?NX!5#1d&z<-M!5pIn zj_JabW{N?abEqW2w{ExrU;NB9n5|ZD(xx*|$QO{wWHB%>h>=B$uwwagtXsPVE00=^ zrAwAzpsyc=LLS9p0l7>TnL+{ifqpOmKluLlQLojoci&zY-IGN(lf?lRWHS&#_BWzv zX=*#!Q;q|=I9y5Y=wplxNFhMhc4<<*oJzCa#J=5ou;ZRzf-?@UkcSWgfhXZhi6HP% z$mg+Wa0ttnEyK}k*J1ThD>1TY5lY1pa=9#mYycu)c0rPbZHrZ7+|zU5=WSM_+cbT4B>l#FF`yF<Ak-UGM?{f_2B8x$D;{ zj1U6VS`}aX!sl@J&wqygB}>4#02p&+Q6}I^iF`JLVlj`=(Zv`V8bmG^AQMPF*i4dPWolEu`o8}_*;Ty48@T} z_|-jA_{P`1iZBepnds3Ce;u@vB}m`Hk8isT-}?H$Lj*oVE(fJFEHM}&5Lsw#5JoW? z%{F%L*@wAG1?^6RL}_SaVQrcwv9377r8Aead-o!2w-KvkKWD&N0%x2UIIQ8hLmmke z8PQF7k!2~j#^Ehlf;I~EMs+?tMjSfPh~orNoS+kiXt!IKotuLY0<&`gk|e?GTm|)J z1MRSbP81@F6U2#vG8TTJ2)1tyU;pY?@cKXeL!5BJNr<8dobcHCLHfuAN4wp|SHJvk zs8;4s8XbiNgEAJeQb?3S7{zF|+nAlJKuQm_S{*8hv2U(|YQ2F@7$Qz$#414&C(zb_ zrPchf-A0(iz3i&B1Y<3zTOMT$j9Gce1;7m@3Ls;^3^B5dF>Q2e4V_PH^g_$cp;UrS zr-QK5Lc0;5CI!ecgi)A!K^m=A8?|}^%|;XLc8E?VL=?p!LlDA4w%CWA5AMK!eD8ZW z{`lil4`+YpqRVKo)*=&RaOa&r$A5hLTVR~S&*h*2#Bqd9r;Sd#fM(EyFI`gk;qtHgy z+AO6^G9nAI791>P74S6t*C1$U!_a895cmN+E@6owQ3kC}J55{?;wb3}p;oV&)n{T=ab9?q8*H?0>ZDT=X(QdWT z$Tr{!0meDB)o8Vw@VHC3MM>=3;#v*0dL8w8192ER>X$XW;LowPUF=}31sMyH97-!_ zr2$J#02p}!#hL$B0BOr7Sg}~8FsUn@WLX;YXyfuCjB{jz3<~*z6M)vRRsqsSyAwk2 z8aU%n)*y;wWV4xW9vM*_BkY7|G+LyO`c?rxPNqkts_ z&2$17t0AQaFPlT((4ae(*1|+F{Gt!TG@6|z3>kz;gjTzQOyD~Y34|n3=yW2qnhmtu zEhNUIMG{v6WZZ)nWKgfn;qH6x#HpvA0%apeZo#d~0TC>$u?T_y4^QvHJ$K#Z6v2}) z3n(bYS~Qvs7-JA8G4kyk0$+l04iFHl1no|UcDsXCvxy{5U$^|xTe|+bRL3$D@2JV}> zCxt!^+qDBJC)8S3_<88zo!GNyPg-2>I!vrrXE4^H*=!<;A_SQXq!bX`m5;PmND_rO ziD8X(ly=4tw>vP(Y5MTu#pv%FfM5(t+w?RNm}R7rgn{&<%d*+s3(?~#yP;#LKPx!9 zJ?VsqqfT0$1ESdF$+MX(R;*l!LaF4Ab0>t36ZaP60w$#u+MPD)^%`omD(cl5+U+)y zBu>NIdGge}mowj>GP85K_l3!l>j5JJOU@%>jALfk42)7~36k}ybL;@uRjCAxRs)r4 z6|La|r^14kSu&{{cbrHSIO15S2oVq!v% zkB^HdQoP_#un%QI=w6m7z`sAW?;BQrLrg0c0NycVJ7v|x~XiW zZlkN1&G#JapFQS`gTe@^(+0sJmoH)M*ckkL9@aWKdzbniB@K$gHUzwz7Aox_5kT4} zg@RmmhlaWLm-G#jGRYEg!X8y6hiLsk=}@on40$3On(A?NJdt#*?Vl~|qU29~Z|2}>570j;??kTtN(ZG>yGd+cV=$AuOSKBF7GcSHl2AU77ZEXCO<3K7LIj3KOCyB5!T z(TjUId>tof@0o)jf&^QL1plq;#mORW)O&oB<;#~tdL9f@u>7&<2xBcq7B5Zzo*`_t zVYG7Wj3-)3CV&fucD;snbo~c$QLQpq$7QetG}|pCDgoyLFaCp9;+PXof-wdjm(ZOy zS~I(0tOAp)moi>JE=D4b1y@vMetYcAt;Ae7p_3OqlvSc|DWzcDL zptN$Y#z56-RWw`8$oK4*4hDV>mKQ{4mCIscVj>A-ur+G8ShLZf?)!DZ2w@Z>j$@22 zS&Bb7=N;%99D=e5gaB07Ms0cqakB-ZlKoy2DEp4~!4 z?XOnCf8aR5o8Af*Q>C899KDW{!^ zXKgqJzxc&3(5O~iQABz!ducSR(J)HGXbnmeUW_qFE@6xU@ZB!Ny67^Ps1>QUM`=RKX z)mL8~Kl_YLkHk9pBQB&VIzUG_BsqC&ziuaoIhzLtp9EA%$_?LLgIqya*jxjqo2QY?xv$HVTDTv?# zVW(;K?VFZ1NiMtgiYvZ2zHMAgP8@veDtqz+m$r$?$<5|X=biVBe4+mp%a^Y((hr19 zGm}zEjE*jbkQ}hU;^7e#iaFf*)1Tn0+pfp0H{XKF+`h+s?Z6Lk)(c;Vx1WC@jy`4# zRw?)?^XmrS z_#a|m(I_6Bo^i%j3e4`Cbrm_zK?DfS>?04|&sz1lM@F)_<8rxNd*Y)L2Tl<=yaFhf z%Y5RaAEom@_`zk3cKq|c!NLAz%a=1v#29m0mC0r?G&1a{>M1*I@yIZ;nGE*KJc@gM zaTo5n>u$`<%z&&xCX>aQqmRb3Puqm`>(?V8Kq-yDlf5o_q%@fQNu$&wW0B)8xlC)U zAcce<2;6)36#nz3n{e;lzrenI`vAr;yl4nVuRjJSoN_A0PB;#wQVDZ&HOy9P(8_=d zfw@Wr%~lgUC3#69v2WjAJ-26CaxyQu=JLzG`&1gY*;DP3Oj}gnAcD*n`-g`0$fCtE zF~(8p2*?%+7#Us!&eMW9II=;2QeOf2d;z}apbFMS$wWXHMTnyaT)0dnXXtVCiMst_ z`^Q#Y2w`bm*pjQ9DQ%#QLOz#AK9_?r36xPFI3}Oq5>cFBu3kgE-h|e=H*KX}tD{z} zI_M({DL7iKrrtX&$@gmCSuT{^kwwl;CM`HZ_kO+A7>cTLt<5X_OAD};20 zoPl=5ee3LmRwhk%Q)*`jT3aZkV2pvGF3-T(v0A;3YNZ0fQko-Y&?+{&9^EP8X6wfV zf#>bsy<0!kc|uRQQ~u%Y+i84!ToleY{oC>Mqc71~AC<}FwC8!8$Q4)OD1x;XK{nIP zI=eQelvkvUNg-suzt=Grv@87Ebo3a_vlWbXEDAUM#5ef63O%FP|G9A7{^ar#t`} z8yllfzw@1H$Sb`r>9lw5-nCO26tUazBCslpOL8v|vG8;(Kq&2h$BBql+u zA}FQ78AqZOLX{v^rgtUX4OALRnfWWxE=#Etl2}2-1`GnmSSVvaHk~h*_V0i!2nL1> z6e$o0&1Mso%AA|F0s{jAF{0fwGZeNOnsdAPQ(Lw?bg&WcVI9`7Jv{~2T=S{=iO)Ip zMx)FdlUN0XLY`dnIrX|wELmi;*)$cD(pt!-xgdgptBN%nP5kng_hMjh5JGYX6-uD^S{8eec~<2-|HG`v;)4Nn-(LBisohnDp)I^#-byIe<*B zk4)o=OSD`awU;g=8eEPCWuy*}1Sa-|@bUL9cg;FRiQ*#z}h*I2WkQ&YDiWE}`^aeD=yMpFHQBbG$EKcA3U+pp14l0o-*Cv93qYpq0X+!9g_JO?>Y=-^8ukx8sqA zA40ZJK(3gF2n4v~J$vDXJ27h{@pcKZu#Hka#>z>2si(*O-(G9%W`63 zLci(!^WWjg;4_6{pBWw==BAqm2B1O67xEYy8Uhy*aMV74ac~fPPa=*&{KLh6gT1?F z(3-2jD23%KR^sT5$6(n}M}iH)T&i98+AzM-@<|*r9ib>)y-N>QWS2z`id>*rrw@8)DslhVVo5z zCnhHJ+s=RA`P>ti=L0mLFqRNx0t^ie!S{mhw4R>dT`Cr_>%m{)l1nau zkQ`(*>Xjg{N>nNt%LJ!CnnN7 zltr~tL8skv?r$1N3&~Nd&8m8>?x`fY_H&nC{`NH9IV|HV*uavM;%}es zdkH)f_YZL1(FNz8!QlO?%x0ICN+q4k=A>)*=*9#9NW+3b`ab-i06&|B^t|3p8*C3k z(%~M$F(XtIp%cfjQ4G&oz?CG@Ax_TINmODg)vAa)9SySQeD?CoKYP|$Wx0L(p?5WZ z>+Yb@JqhnP@4VGo$m=ti>}i=y))b0G&cK*)oMv$1m?x@m5SM^-k*@SS*Y}m$52F=~ zQI5oAR66$9wXRaHhHt|pd?BngJpo|9fmfzCP|xu?(~cRMpDBcN#J%lK0wtct7RJ`=H6$wL zDv56vP4nifufFoZ?y1D@+f95H4zzgtg%`fVT3nXR=8KtJP6ydQa4<$>A2aWk?Kj;i z?N}$?8z4j}8#?uHz=>0=lxa5WGU-GBr%RUi_5Ed+#r$;Nw&b_%Hdd_LfAF67T(~h2 z*eV0>dD8Qc%@?%i`GPSpO9YnUIqS_QU_FsgZ!TQQe{<7SNEu^V&89S3A&H|0V9W*A zUU}s=yEle=rf+BUTXP?=1sKfUapC#zF_!&RCYxU(q(sIKj28qDjJbQuq~*pQ1f>G# zHg^!nk~TIBBbjK8sM8DuV^?Y5Z$GzXOYLywb$;jXq?bYx0id^@fBvu(-g}Luw|l<7 zg!>+R&qE+R!#O9;Ib%!!FfOk|AZrYC63av>XibQtu+6!+-V=1$r!Kv8>Y2Jz((l}@ z3>R+Fx#xapD3Zx$P5O@*;j~PU$q3I&`8?fmHLmVUS|bWWBG50u#g~O(*Io1RkKg}H z-z)5Q^JbnzY%a>bKW-Y2Jt);CH2rN2e7;tGYFg9Rlf-b9E?9`$-0}n1>gurF1q%8>@$Fa95ldw@Pt1ihd2}fUbOqbu9>mEv0qGH zKZ&EWS!?{N!)Ff5$*h|vYkGRIx8h9R){^YE-+TI9 zkJOCV$38pw^e{pWa6r#+Mz*od>cw4-wr=`td^(tNH+SoiO@x2d_SaoIw(#>I#y8Kn z?qU%FgSi@FO1)FX#l_avvXN!lik&UPeDF(yFnr68E&t^2 zXU)!U9yd18$&+&m!nX=X-2wptyYV+w#ty_ zaWd}vv5$8GfBHn<^`s1t$dYrSF$UG#`=!=`Noz}39rxze$LnwHjaT0M z5h(|r3qQX7z{x=IU?ViXBvO0&O!&U=r&>l2TclJBs{dO=f3J+Sq_%_ICPON~EfQrzJ+ zn{R|RE_x&?8U+m=H3gFhhN2jTi76Jxew$~-uKaSfAo#b z*ZJM9@$uUI@|~}HVP4A5Sy}wEZq{im&1`3BW^3t8+**H4hT}d+q_kKb%a8j}7{C29 z>mT`_E(?N!;DbcOA|~nDMw0=dC}m-O(O$z=arV+-3Cx3QzU zEvR_y^?LsNV3i_FFo{VhD8USi`lO!YlS7a)5fn2c5)lPKDPzIP`U;~wmo0N!-3^O3 z+Kr1h#Zzl%_0itL`!9@F_n$t0^vsKwUiOh0*Se?My!vn6@#ud(`FPInzvhjt)@bsk z6LIb5Gilw{j7_phn|9tRJ7r6<=ro#WNze%sA`=9M!{M7s<`waRnPEjh1C)6w1tIAJ z;6ui&%;IFuf|N0L6C3(bYup~ba*~Z-+21z#yO+fSzxBvD-hPNf`QyRi)mOh^XE7{) zWXSj@&Ypkdr87FWynSW|+ZT4)RrA+GG1Fdu)t&2|V>s#)ti&u5iAf+#0l~B^z6S<` zzJx%5ky%6}>8Pm^EifGQAQt5LL>6Wj-E~XXv3KW~Cl zuf2HjpMJ@S{H@dGeWu|77ui<~CwFI>-P#HbI)iR#=Uu#cwHW+_2{|QM)?{{hmaRJ$ z=q`8ZE_P_nWMtipX0wHeU@;Ivz>3JYpEFn;(Z4WY{alaL)9VZ_j2M-rDABcIlSbLG zGM|m3Y+d@D!L!S3{9mu%9^ZOHeBHrunLpTaeqSEkb1W9mUt3$hy``P`t?eD`*s_(~ z^LxX5dkZm)U2oWPYyDMv!&OG30g*tINVJGa0E5y38UrH5;IbK@QIAG}k`j-{3=ks_ zPyw;XXgnlF2m~hOgxU72TWT+}=cel|N{nYOoa5N)H|8(&&;Q79vi>8(NkMKSa7MS7 zp}XDOiBAOwRtai{6HHQGB$%rxrtb*rIM%r;CbImR8+O2!IVaJUog!rik zK4xDy@i}SGa5KHR*qwCA$Q;4Q8PT2J!d15}bM-Tp=`JsTkfeJuq!^KiEd~N&3WWMP zlWI!!+XMsDKvd{1wwPVo#SOP##oFn09{c)fjy-sc;rf^cEuFPFn!RT9S(DZ7s`hOX z?pS)3?Z5FwqBxy|-1Ud+oF1NGFkYpf4_F`d8TM8gm19gJRIp>jX{0486lIV|z#&I3 znE`ikS3JyNTGD=S5_58L4U)V=6~RoAC`5@Mpz4@}F>C#E6gDQt5{QHV(E`qmR&u7$HUkM`y9cEibr%Yj3-nM~@ui(IZFc_eW&X(uK(q?a;LgGw0mB zkNz!#$r{hwyPuFlZ*YN8-e)lCu|8a5eY8#)azw!_5X~y1D^RgQ6v~)uh`}=FAKXma zOG!o8OSb>?On-3tq50ACWtvyK_op!LCjF~%(mv3>&!COT_S49{YSsZ z>ERi+hV3j4w&66Am+9iKzU5l3`6t)Xp3exQF~pE$q9S^dsLhm3S|HVB8p#M#Nqq8# zs?V5i*5>JVND$NujVxodKIH57eT(B?KZi4;k$Hjz`ps2NG#_L8%vJo*t~)S`tPL*E zANCmx*C|OhHT~;IG$Z*v5vx2h5wn%is;rl5r@Avc_I~8_9}a5TZYH*SvWWC;gWt@r zZQS@$hrgle8WBM;K@dbWtWo-DD=hyzI5vI^u{B0j<05RvVb}v&r3Q> zvpnmr+qin)G8!XckYf>|DFh=%h|!2Kq{jgWmWUk3qdhMW~I$TG`|H;5bBO$KWbjWg8PC<^?-%*~T;X-$c9XnDh%mOqU&EAjAM+gZLIA z7K|8b!q>zl5jbojbg<+N1+V}yL}K+>i$;tQi;)l_v0_Fj19@K1o@=me&vqu`32W!q zQLp&Wpk+-4+GAyOmPo{@B&ew&$CzqqlnNq=n7}yZaafME)XDEYHhJW4YnomX1CH`0 z;IM6<-?i>@|8q`78@?rp&{SS_r41%iypXv2ptEMK?5Qirr#}2sP|&zTkL~?rl2a6Q^~Oi#V0fWG-WEWhzOo zY)RJ0ICpG?Z{B|t6Y!ET(h=v|XHZu%qg@;hBzZl-l8p%xYNJ3j3l}EmHII`oe4_W^ zJ0-!!6D9zkG(_Idem%&+7&CnvQDj_<%p@6{w3y2EvJwcG1y-$xnXx!r!s9T@i5j`_ zj%!)mF~_JkBo;=@jZg@ojD#`}%SbFERsdzh%9!3)8de%sSbD9Dlp!W~sh(48oH0Dv znWR6~-<2D&jD!+mnV>6#KqyN_!y$`1=eYj%YeAKO(TEMUjaK(n1kx+?w^*Jh-k?Cu-1aE?% z$VGcNbmjc9}x+xk0E zFO)@K+s;L$ED&+12!bZVEfuPZPVrr8v#uMLq@tDoo;)n60^SsNRJ^(f_vPDg zzm`lY*sN`VkqmvbK&&I!8eT1ZK3X7ijuS`Ev2u1Dr%E*A?954WH=#` zu)K4b(RhNDOz}E~PE3#}NZ2@&o5==L1^Kq$8aGZX#RVIuq&h;_&?=%N z52yq}tlU=FbXInuOxiFW2NsvN(CW5`7D0uD$yUT1WAc=Q)5ydoaX1-DNjXxDKXaJF zWmUKSjs>6ZTERcU5j(&E_o2yqPwvTX{00(V8$!T2mtve4SR5}i6FQh0;)JWNz6xAY z>8YCTlFVm+HA*EGZYk&ZaYR(c@`QT-z4gY!eb3#i{L(4B`t4OlwGQSs#Rzd4Gt{;s1#NX~QicNO(;7yj zG2(|MteN zkG7@tf`;pCohfImZB2rW}1Y?!xZ?1=M?-WOL6e`Y`X{pEIs zTviuXT~z+jrB}VK={i3@TP%c38ZHuPWS*JX86xF|=YmVpSxdcW^-5ZRGeuK8jfz7x z5liuC%DtkJ*x|&bzlm--U1cBY_f}^OVIoNFX;tp8NOE7LhM>y#CssjbtURTdJfUEr z%1s$%jED$jk^H7cbQ-0MF$=q|@7{XvM+fi!+J5%?C(8LeB^q!Scf}L~@aAUOw5D|` z57B70nkk_cDz&aI+M*EShN0VRG|e2uis1Olvv!FYmFy?U&hTV-@i;QH)(rENHl$Ok z?{Sjhq=AzR5ns8%4iTSh16m13_1HAkIcgWRVoWrft|Qb&*@P_fs0gKlrgdV|yb3lnD~WVv^j<6Kf+|CND%QH&ZH!n;Ji4iuo!IFAgUT zFCH(hB4Z-1SBKXOFX_y*BDi?GKJFA>m+fh2BfTF_Rx!^@^;vT`(<$R>vu@^+>uO50 zBsf$7U95vfiwQRbA^}C6gtkc3m%e(-t9KvdV7!~VFPX0XQs4M-KCVEdlvlNVCu@gJ zDS|gZyideUwV*0ENvfWTCSazh)-I(()hAd{MK!D7Cov?!kyOy6sJa9tLdCR=toY{e zD@?=OB*EU45Cdja70pTnAz0GdC`l+(9Ilpr(aKwkh-nqf#mbFM!I@P}3RP4n&FI4< z%i6;*d}wa1aUNI3lb3(#A$__1~rCOJ~pP)45w5WE)~)z%=Ud9P2=CVpll2&-l zaGF(&c6dB0KEV`z!>_8KX@kW!O+!mvAXlS710S71_7j&2Lvk5V756V6*wN7VjfJq( zT?|_+62ys+Wlb`1WZvO5VX!z?!9<4BiYS_qX?o48;?(1uM>W0Isl!(iug-%Cs>yJQ zYFcz9{$eQyGY#3LhKV{E7pKr+79k}26k?=|1;GkJh?KERX9$$BB!q$(3(62FtfUA9 zA(n(#5<{S{yn3GzLXm3as9kU?vc}rVmcs9S=h{0jJW;m%d)9yh91wt(x;rvyb+hOr z5=H8qJ%))8aYU3TQYCC;Q|?D_B9)~11UoKCW9FJQt& zLtPRCr^y3z>Ts?S8ujTtngYrwh{H!OjV-5q`Rs~j`jpv#Gn^5Cpv4b+YtWz(MWSL< zkRl1sD^Eizb>6t}v^ZZaxL!cL`1(ES6z>GQA}%q`X-d$ET4nqMt&8?zQ#mpNjY71L zY(Wqt7#fWj6j4J|QH^LwF+mF4>O`PoVyWe{G}M7&cypWDT@1x=fLV!%VirIkvn+a- zsn^M!z{hHuJtYj-#!Nij-# zk7&vtS>qipE@`61y{d(A&iRcVuGj>ND}XAsHq~;^w?LveFZNS z)Tk(JX>xXQhL0b8Cy(^LK@lPi@yxe7T)TWLx9@y5w{5?jPII17IY6?ActKSv2Gn99 zRkF`v1dNE9Ogr?5ifKWHW46_$H(BS4k9~>ot{V5i1Pg@B<&@ z-S;2j==q~n2C0Lmg#aZ({%Z9vdEop5{IAcw8x4X(h*1cdV&!O6&4K!VC(U-0$;MQP zMioztEJi)M1sKBJLMq67{~D0x*?jQgMASr*U!yhbOi!1ZwyJZ(9w=TMD$s1s@WvPZ zEMGqQRo2#4SzEurU^1j2vXvd6aQ5sue*LfR=979jk{&Mxr$`E5Mw>V4_@ z3vd{v8fxGqO(CS1Ax?=cCis{lZ!~})lDaxtgw|XVUO4#uLQp-87_y=(C?X^VRGvuk zeCkM5Hf)0GG|+LCJC~_PN6Kx>&*g`H_)bclFo=CF^j0}~_E8@A)>nAsq~W!~-D-#|MdJ=^g9*tlB;Q#ow=|^}l8UN#40;2`BPDA( zI_-HD7nitY*FIi!`%5^w`Y`u>2XMT&t)+~WMc|@Yq zFh)tzY9Z2WHCP#*Hyn4~^c?QI^?6*iWjD?oMZcsN6%@Uk_2N9C zj5x1Y5dmL8S->=nMmbR;O0a;K;n38Fs*?Ir>i{u8(@FNUWJBw2h-sR4D*09G`t)xy zg{6&rk4{}lmnpvK(M&NS<6=y2*vG8onx&o0Uo}gZAF{?NcDoxnbNVd*>D~XHMyHKr z9`(LTJqRw7DkUNKhT>Zp|M$E9Pfnd*WskpsH9JeWFlKRgn;lEb#8A>7u2IGj=1R0t z1#Ow123b>YZt7mUsW#W^*t}M&i7#^5Bk}&y2_Fk1{bLoa^6WM2RBfRZ6Y7}2Nxgt7 zcV9u1I86ehf@G5NHd)5V*7*;A_A7k;#HZ=d!HFkl!fw5uFC6(IAN@A)B(f0F<;s>WppGJ~Op>RosIiK}yPu!DiZhUks?Ncp2{)eDwL)@pEK^(deI>L<8GZle)0%sg{!VN2Y_ z>B$-1{Nw+eXYYJIg_KA`AOoGAg3FYs1<&36Jl^!Ow{UiFoGoz|U6vqveA(i9*~iDf z@>iVdoutud5;ZNOHYr*=4x7BYL}a^o9W@g!UYo^KV;)8A_qYTP=n`!}@?*1hc3wnQ zqgV<~stlymsH{TY2R8 zQI>XhdFz{hK1pY$DLL0jgm(>xR>9i8`MI|;yWR8Hsbeg-1qz#h6hxcQp-CLWLuVeO z*=QyK()2mijZ{i~?Fl9~;8m;O^NFzD#Ht1_ccEe1&u^yPQ(}al`{<2pB6`Lmh=?Vr zh*g|dc|5pE8koian~nE$)KZuRZ;0U3ai(_~rA3swVipks4Kh4UPEAgdbsb)ehF83= zAxKf5>HwmO@4$)vag;XRJZh;Xoyw3xMu)R&XK=0-2sS*simcOS?F6D5WRlGZe3|xl zYf^s;W(48XrAEP*$^bjS0e6st(cqzi9Ej#5rJY4ViIp^2!ggWWL{ej^)Omz7Vu@)w zQzFaATIqc@EhK5xViGqhWzIn+33eKaYk0KbP!Ey;8Q?t4tVxD{oRlVYb%10s<(VvL zt7-CNQZ^Kry3kAw?FRhR-d_^7s4+$75@KN!oY{kylaAKQNk@xvf3Tbo3v=Q?)3Dw~ zd2UmW=MywfRYoI8m`+Ou;GjF(C7aF-Y-*&kNP{NJOWRZDohKPiC*UfN$~!cJRC5;= z78YpGs3x{9n*7A!SlF_FNt}8xQcwQqhU8x)?y^bzMX9ZIiUU$gJ`gCa#PIiTrrA@% zfQ{5@`Pn>7n8dNTlrgEMC9`RYHJ1yNSb zxM@Ymy1*p%M6Nig79kO>$C5PxK= z-ZtistKOoGk>p5pIcOxhU_(ZlTX|u2yl~&;q@yp@2uDCaaQ4utDBL?L#{?;&st{dC zDdo4>o6SQ-!scGjs(Yg9j54WG2-@PnYhTOAhJ+Y!>KKJFEp74o*S?-uRz()u1a7uz z1FE_S*bI&ElLy{_!!aqxDSI0OxlMT8KRbXced-5&0+6t}4SqU^xET^<6G0+T0;*6_ z#8ELaT>R{z_1{~m+EVN(O-0mWHZC^aHz~*D<=9l+bk-|w>aVZ=x3Fnoy6VfC&V^O2 zBNh$caIBqN=dRmd#6SP3pG6zOFbKD2B`kNT`N2quc^~QIpDE)qq z+xFecFa7*4(&@Gt#UZY#y!DO0!1Hc>A#11C(`FwPjjLJ@R*iC*M1lwjXi~hRsls2i z-xxvCh8(J%BA-}UPQYHbH^~+wvozH(BC(oSZx;@vi*j-@t>?*$Lr=1QK zB*B+59cQvK5UcT25y#58RbKdl7xK(!K7&V39ObGVyIAUO$K zRZF`~=Y~T))K{ias92M)`f1TAsu$ZZma#mG?qk@sHs{bLD!E`3Y1OV)tR-El$Pf9dCg7q5@k zS)N%=eKk5ET4OrM9Al;1(~h!~!mXuWqfYTWMoSYh9-In;b3;aJW3tTS8dcX_Y1KfD zA&!*0F{+$B(>B7??HnK&&OC#)2^aDn7C^;eX?qt4Hnm9@srS=jwe3tuU2|ylJb62H z?@{T}+MM(B`+XgjeaSNaUoN!<@I9xa4|6yG^5}B-i#(PO^#-dNB}P>!Tuv!@HFaWB zXt7PLg0UKUpzffnPQs=k?3f7U)KzteP)WTJih5`wQ09Sr6euTwSQwOs74`Tk#1cYC zk$PRX-Wa-|I^%Tuo@#hIX+|o}Tnm3CGk)Q=Z3)Cr*5PHLbl*F&hp8BH?ZE9fP z>8c0Ve)hW~M-JtgcfUT&2eLXoXU;3;0zu2lf2ao^LM8oi%8coRO7%Ndi>B&em=d9y zCnFf4FsuYCpTrcYF%ZeZuN{K0pZ$*Sb$jB=`;2jb*S0Qfv9HX| zbgsL3`4)4Msi1U=c{8!mOgWht?yS?X+)hTt4% z)u4q>F~s^xk9)uQ1wQw!Px8pAhq*AgfcKsq3){Hms%P`OTVBY`yKW|%Nd~(f0=JT+ zLAeo&NXSbpuZF>kKqvw+j}&F3%mYOkD9Z_D$SFcW9&++9VML#S?^SMS5x#!vL0t*` z2iEsI{OniU`-URU1TfU2zkM09{UtuJN^}}UA%!U-K}YNluDdUFBJwF?K;5u=n8Vz#aOY?8qW3dJnY*R= z9fFEPSJDV+C?e%g>N*k|694#f3WzrSi57XsC*H>IfAaTO4omEC*Wo4G*eYk5D^o-~ z9hqlQw{dLkTYUbTpWvE>z3g1vO`aENR;{dzbwzwiHW}_T$DF#Qlf;KuKnP4^NWayq z5{POKpL~R2u{LOW`H8O&zPfgVBYdx0BY)2fILu)?zybFcy?30wrF+wQS=h@VhQ)`8O(tw0>cx}?G4YAAczN+bZK{G`%1s9p=%<{=^eTd)s@NaOnzn)1s zW=zg}Ymwbo?dF=@dstfBLc852n$aKjIdSqNk3M>oQ)kXFAZOOiu^!LRS;+X+SN%F& z*QLz!>lc zEX7-cH?R*<})5Gl)&BIe}fgd#+8CagD4 zGj?N|uE}a|Eqv|7mt7g;K6QIvaK}l;PsLXG?)zuJVY`dFt6mE4*clr z*t_KxvOz{zEf}vCp2V^Tbf(B{if$|#}D0(Xu-;f6^@*|pF6I; zldjEE7A00tc|4I2BOw$NF)<*9Kp{EnowH2bgr;w?Hn|YKe(V8PhWxS2+l%ix`P=93 z;x2ijJ>dQxG~l95u)|%uUUO$_;y%)8bY^e4{?^dVx-O5AR_L-YS)e5y#3>Dz(a=<8 z^v&1rJrh0S=Aa+HRwj!$j{V!5rq)QL!jBnnAzIm z#D(L0=qvB#h1*`jHrqp9rVT{O5T@fwWymQ*Ni0f+I$*uILLmjtDTBcv965Hxt;f|1 z4d-6;ffI-R?)&k2o;C(-wg)fU{!{;bEbT95e5bqjx*NmX%)Bc?K_fQVI$ok>tu%nA zX=KPb#j8WT#{{;#-1qRZnO=EB3gnPpRe9sT?dqZj?o&)#@;}+~C}a zRmy%!gM>0rgg_ZXnimU!ye!FWoz?bv3e9P`HfINC%5OgWke^tw8XEet51n}Xr=LpV z^K{&pXUc@-*F9f@zDHfQe8Zj_%AE^4{W#<}bIgPm-LOc3R%-5 zeq%%_4e4!Sz!NN_o@%#{T3bSC6ytj1kO)zdmlF!g7@&ycjJV)e8R~^J!S5R!UwyPZ zdg2jZ*!X00`V${MdFbA!!stE?Hh^#2)MG#U{YQuIKYG)`P50!{UbMEhx;#iMuwsx^&SqvE;`e;mDM(vg-!i_3&~E#GDWmy z87RXfO+JRez^$^{ILpxWs`ip-M^8Q+9zAv32P^;1N%*l3p8m5VPY3az76xqIS>-+b zKRdf~>GnTr2HV>kuHLrVUz1L|9Xib!&22(Y*9eq|cp9OV;6Wl1HRb-R%%nxqc9S(D z>YYu3O(i~7oAQM+OgGmEWk{Y*^<8Omz7h+@h(2p>g;lpgAmF{SHdzl39(!0<*3M|@ zd1oVZUh}?l?>v3EJD~i%LeLX!ZvgPhZ9n<1CL#ZiZP#sIwRBb3v9v?H%QO!;4$pkK zg^qOT#xBlfL{0mUrlAj+_UNS9GuhaRX49t8W@&RJNOr)i(g;h{x6*PZvCpdOF_JZc zMx6KLVH{7MIcX=(op6&l>1#uO`7clW@$Wo-4gbGmz~);|9pqqq)wZ8{W*P0*iSm+m zXNH~2%VBwbhh*B)A{1#0n4&{d=V;3;?byU=hAFALZFB$56W;g6rkgN@YD@VL0}~lD zi6ho^or(4ct{~Gkv9x${ zuGU&0my%#PBZiD^#8}oTHG)@Eoy8)LXID?lxpONz81*Q1^woxQzxtljhyG-6hScUIS5>vdT zT~AVvkxe&GH4BuIT4bVz>gEnijabY>rJ`Rw;E+uEW>9F8oq&7 zZ?5X)2}H_RO2{KcIix7Y}t6srY+4 zZt07MPHo&)>wCPB+doe000091%YwcaH^X@+Cx84#$Edc_A5Xd0GH3knHTb3;n$4&+$HW;wu2g8XyNYd&g z;^dBNDZaKL4hb<90-J!aKuAae2@q;^tJST3omW-uz1NyEf2_6Z zlw{{#wP*>jd-vGmRM)B6XV;o@ee;{&oNE=FJ`2$1<0mi{$ z*s8;hIOo11h1?suozF_CpWFGq>XD}y<7OPUqu*?(l5Z-e-;9&niS2U-f3|$-U>v_U zRQjf9Ts7CHCvycdD2NLsHd{c?BVBJr*HoN=6_`OBN2g5?#u2xnbWa81Mj)&OR!26* zbC2t|kA%Me(4K$U+%vh4oAKXFLwqv~AT~AdkNniaVn1&D&7uxJQU$J?TNLqI`owKr zid~&pY%R_8qexkcQx!82F~d+)1k8arkccB9m<1_}rZgQD7EeTphimVS4zc4ktE*<- z@u$}7{)dhJ;CC?+H=h+a?s{wAi8UL0%@DKd_+}7pwjdy6RKR#P@i+P&fxkzU>&Yy#Hwt$~Qq=Q(RPf<_cs^iccM(f9*If0L> zAVXp)=G1FAUfSqu!=ik2j2){O);v~r{BJzo8T{szzr1>)jYH38jCkG*kUcEkvG4j~ z@5(3N$yop4Y{8yp`vAYU7yIXVk)Ang0%m=};8NV|Rk)dJ@q>$?vmKFnpadGgu*^&a zhaf05*ciep5{?kZU&l5+i(7jD#$Un72z(cB4Hh?9!6L1Mpy1e>Vp){h~{m4 zppMlShQ;8>n32g{q3Hh1_VTV8xSu}Sy`|Cmy|Ukv5y6Q7V+df+-Z*G-Sx>&ojdrkKx{p!cJ+lj{J*rel6}tu;+RDV;{xq z_7gt;jxD=)cTWBGtm=0TchA_&tLLq|MO_?LSg{P--+6>ETG0Aq;LVKRV?kvK*eV+5QC8rRUZFQ8BUF-3I**B?-waB=m| zR$TwchHRL8bX;tG>jl4Z?6BR2m$y7OMv&(yp(7kLwSd`_0T?4% zA^CZ+3ej|p7@kCre*!snH@-0N15VvL48^@Ci@Nb&uRTAw>sOn*TZj6VH$Xf1UwyZK z!&2n;m}RbW-BRdZP!>8I5{qTr?l(}(Uq!?tR)FszQh+NF`al=+0@4TRAkqQrBH}aU zeCn+m1{!mWXp%u~2sXkrVm8KEg;+!xA{r14n2r!r)ERN@i*Wc(TsVoF8Ls$j+1@Q#fN*?KW<*Xu!+F!hKpl4r{dcn=hqbU-@U^F1OZ<_d%Y zp$o16iV6Ekcb{T{sv_0^4Q2tC4S+>V#z?Gz09FAtssU_-Xbsk&x&h8`u_7M%B%C^c z4SIx=LD&D}q~ny1*1Ej$;$I1$Jd=UhohcDbZYMtaF0PoV>px)8_h(+eq}>^DHXI@6 zT!P>BTAURLiy?WV#N@%*dqwmAE#gckkI@F3oHeEmSPfcFen&nNyyV$nnhb!V5;4+a zEFu=cEWaj`Sq&HtzwKIV@d8*MQ_hQ9lc5x@?H#)7c1N1dKt(Afxn?02UJT5HO1<0W(8Q(aHZ6wTfsp?wl7POFN0f zn(mzU^RHcu#f&bMRs7JYpV_me&2hfj29S?`94BBaE9<}0>)J)dwF{xUwe)ViLKb%5 zm#>1L2vr(nB7)*f5i_Lq)OJSXfrl#n)QH5m>EYI7d=E$rNbCL9pjM;#J=zYqMbMBv zJ^}$Fdp{8;hW7;KYGK*CxPgjV}LvM z;a_(r;lR7x&n7i=rp7Ex zF`EFIPO~r>bh8XW`F)}(z>21_a<5(%NL{lK4Cbf zx2G(s%a_6yr{8n%C*9A!?oPrTsmAd92jNy&d*a>Yi=>Hn7w463?zMBy8WmR>oO>;< zy9KO7q=QL`xjr}#ne8N6*#jvtDG@0F50WUSI)~s93e5Q=JD8xE1&IkV!F8Q@wdMhI zRwEhzC5|!8P^K-!RXFNwlGZSsXZ*=E;Ie7Uj&Y~C!TP{JmGs#QQJmojBT`VTHLV^TA)9SK4b$bX{MT1NM{DObr-0^ zTa@0*X6elP&M1c8F#9GzklmIne)!#;A6e*doqs_QI`isdCFtx{-25`ckhRM6!H_z` zKujOHg_6w4)8HjIQLRyHu$(X@rn3n@rcI)cT4f`p_e#e2G|(BI2pOV6!uF|PjHP=~ z3pohK44EN0PG({jE6TYUbY?&pJGzT_y|^0}N_)-YKh^u8x7<#&+nya1xo1HK`aI06o9M5To{9d3F~n- zP8lsjgb|wAkF#om=WU=)Mi?WpLUf2ROx~|`Vp7&j20s1$Cd=9l&H}Ct(i+meX_(B$ zWJE`2VLQ<~;xICIaZhZ%Fxja8#ew(j>2ot`&jQjSpU%2|{3 zqH2L~Jk!rVHalwA7DS`Ysm;w9n0_Gn% zcH?5tUEt0uw2U3XH0}U$q{v^p3O5BVMs+cN;baDMY zjn+sJoL$(_!N4vmPr2_Cu#cbSEI3^VQUE`ye$34{>+CMjCd~_(o1IJ%$sAuyK{Ze3 z7ONw~m}Q0hoNhva&?JN9;5%V2Z9r}zNSg_y7~^CRt8#Wc#>FOkzNWv;R3=P@NLpt} z>_=LHFqOnf1ZN-!E+>w~U z&!<9cyvdG;S#xS-h|G8hlXzhh`J>6Xz-H1WXu3r1mx!iVr;F?K(8?%^!iD7$f!99v zbDc|NKYBVkQE{5aQW=ID7iK7Irw_!Ya5&t|TvB=osJT=mx0u1urDO)n_?-(Vq6y!{ z@}-OHg(c=P6}0qzEY$%FhnP#nuUwZg10!XysW8@7%$oE%vT<91PO20SEY*-5&15zp zS?VxF)G{rNlLi1qFpD@GuGdA^Hc(aRZ10A_fx0}o5pD$j&vvZNv;h>r8htZMC4SLF zgC`bUif#{yng*qnh*c*8kOtgkZ=bTKDkctVON~b6--6+DuY*r=KbnHOIW&pUQ`a)g z3^#oZntYu&ktmV@n#8^^+=Oklr=nRdaYQVurLCdGQYMZmzSkrA0&OCGiwQFh8HP7! z1LzrrpnVyBj{fvuCy|#87d={f=YrrmCE`G}Nq%A^UBwjCav~KbSf1qK3?CXGHmR>L zXSiZxuqwZ1lk3Y=(l)tfK3z!y17Y>$~@(W?ZJU=eyiHW|}LDWPJBv5v8Zv4PkIqNB<4 zDv2p!>zJ&8tYJ2UX~tv~8i&ND!a_2blM&8UI2zCqN}b|@h9t_VVOFB%(xjGbCNmTV zolcf65EcrZ=`y>%(Y$*|Cy6UNep`w&sM`teO2aJ_iTXGHOFms5+1OrG8>=F$Kil6t|={naP zHm?N!OFL#~#sCkbKkouBrt6^RL^a}_!}&6`lT6y9ECo?bNs&lSjbfnal^l3rosZo9 z6%Kr5jjD>6LVu=YdDjdteDN|beeJnyzjz6%$hZ!8@3IFvOeC`_!NfKPXp$ltrk0ou ziMOjpI

    X`10qT{rLf7Hf^+jNlF*_5Puw-FdtprngrjQ2TCN*KQWRT{7vxr7RT%_oi-1lck`TbkJ#3K(JWmaKf&e88V3Kt<7 zO#@$l6u#pv=knHHIFEW|1MfVh3OFokehd~h$2o`^u_K2eM(|F<=Z9|Pk@|~!ev21B z(`;CtiTog7C-*HZt{+}|cPEu_QX(E&b6rF;VF+6%G(DXX|t$%P8*WY*vaeX6oOd$D&b6@Dh z05*A^?5(~KLM-_A|LQ*e$M1iI9ZSZJodp96G()Hbd`IZb&NDN=mF?$W$Ys}E!nX52 zPYg{;C^HP1YL+#~iKS(RB-oKBh~qJ?>n+}2$;w0HC#!RoF1`2{Pp-6M_l-f&K7{>P zwZay!vS>xV4>P)hKZ))i=E_(>z29V)z>o~8P%$B>S)7}uRp=T z2fxaZFW*lQYF=`&XtXkDt@ zBp$DhX5|5#e34G4pm)v;3p?gH|Eeuq^F99?Pd;`%_kHqAXE^nx<6QH?lJTlCyZt~d zX6pvHC!junHS5Gs(VQ3~uEfzvrO9@{O>hxR4b2&b(qX>P!hEaMM>5n>0x-NV-NxAXcv zmvZ$rTe<6x?&RTnpWqc2dOq^o53pxP$t(ZH5@9vqy(FL4%?@d^l(`l&9saLd?ql`- zlU#DXplZDOdtbnn-+3+N)-hIpf@XC!F(oPTj4BZ6PdvU&z)X`P@NfkNIY6ZHv4GBHX({6Gm96n8B8D? zI?N+~{vZbrDN8#Cyn6c{?)~&JEEj2vWS3*t&OUozzMUg0Lq73)f5_gwJ+@xC1z+~E6k(gQX=+eYjk%oxwi#h;lL1ZO zsQqx3+#rX*0^sH|DMb`%1`=GW=%fY?wI+?LxJl14Hq}3CKCu>;DrQK|l-tF;!4Mya zYc(Ie{S?3Vp`(neNL0AyW%K;tjW6KA&z<6qj~?KTKRm$qzw11-ia6JrGGZn;fo4Ov z2vpMsTThN1Q=a+hhb&vmnV44kRaMqKN?+`S~`eBn&r$ zP6402^AxxJr^D=Cb}TQH#2ER)y{mM~ukx<t3pSp0d7Ad2H2aUxMM8_D1r$w!HdR-%M8G^5R-pe6hsV@HY1gZ zK*z*jf)r4%RQ&fpI>EVHgiE#yp;3GR*Irui`MWoG;I1!m)6ZPO+Q~V>#t4rknV=;Y z0x=kaLFDcK^lBEi8o%?u-$!S|xayLUCI(ZR+;T?5xXfdH&!6z7r~KF;WRBdl9c3wiiDo^h z?e$beHNDoNrQVzTys2R^r7DLXYv^|sU)m;P!U$1WTo8^O9}!1_3%>2W0!^Av?zPQ* zxQeLf*wF?TD*9bPHC;=bU=il}k+9xy>O`Or$+nY;x`2}VMe{wXX3}93C`zwOBt)a; zSg82g@M0&IXX9~zTlSxU8PF1+OZT5x6K78pmEu%Pa99)35K&7woCd=nCQSy_TyoSr zTT(_T`GZ+rrP4GVdYwEF?VQh3yePoA4%(ENpSOB{i_2O04iVL)zSf~j*9+dJ7bmA# z=M1{OK&{C6bk>(L?g$rGt%HU5pbwsu2OJ3v3>uO>(8_}@1Ak* zKbVSpxTqsB1T!&cB2-O=la!o5%tecQV!5<8{ruFZM5FA_(amw9P{X50qE-}Y4ElZW z-CXF`++&)gfK*tC85#r>I{g7<#}g+>icDZnflk*$cNWbJ1Wd}IA+sBq=sh+Svf40U zL`)*mR1|eGkgJ@!+NkgkPgdZcv6}GSmR%P2q{fC!GS#p;Or`26KM(_nlDs|YCW}x@ zoz5}l8Iq*jb9OA#DLsF&wMmEyi%atqg-1i0MH&^0c^1X|H>2Pbv<@sT%`rPWLkvuo zGf9>(G{W3`pZ;u*7&G^ehQyYBW;l(xsuxqffEp4lPXxi45bHYCKg5WQVga0w_e_u3 znK3|?RvRyO4aY{knyP=OVdFYMjinec!Q|FcHOt4!#B~t<22)qNk(XykxV>ydS=mKwDvHUym}88z3eL1j)ln@vXx_zy*J#zxtGmRtscfv zPSt#w%qENJ9-RqJlNd)P4%*foh80%F(!JB^k?{WF-uR}V0I=vaLx$(QW;qTl? zbK;K?dclYpD+d7DiI);_irds@RsC2Win1Pa8VSusMq_z#`#xSn=fig@|(sSW#= zz2n+-3u0g*!wO&3#E!?AOI3&o*~yZ$w&{9XPH6?yfVh(S*e6*y$MXaK_-9#tvZ6OA z==4_@KXF^?RGzGo=P&LkqwW9G8VN65bo~&;;J@;Cp7TMHz$kK*MD(K&8yPMOQ0h8K5$IHL2$ND`Rr&M~| zl6FU0)o0sNo7jAY319gT?a%2aXqX#NmU&~@OW3IHN~c_@{$9R%bf`} zRg%o?$&vNa2;J&nLfaH1fu{uwhj2sH*V#X*Y@y5AjH-QvS|18s$FY{gz%d?;j}tc zHkju2hInEH8P!-}NVMo5iEd+^`w!a7UiRUgcgJV5xs!Y&`$8OixBs3w7e74OQpCYF z=S>Y2L$)j+{T_u$4#=r4jMEf+ajCKJ*ixE^#VWmLrcufIkXAM_^pb`l(^GUOi~ssnu;x{WxdUe z4RgS7jIN~(pv1xW2yx~_^y|^TdDpMU|MG12kC1P4bB+V=;6E=6iZ|E0CHj8!1c#KK z&e8%}`n+5zcMnJ|OSa36By~7&r^HC3OSqle zQQGzDg%|2Zc<8af)?G8a{T(}*Ur;m}F4JFY`&M;RzcR=$(<-A)My)JiG!608S`y@Z zAP#+;Jt+QE6+g85H|+bqk)#9@WFq3n0i#;h{PC@fEQb7Jk=v4X1<975AkQ zAD1w@5{r|;y>-{W)?2^Pt!v~=?G1PE?f%x~zW&|Sg(CEqC`^q;4CZ=t=4Mb!11v~x zVQkqDX#>{Gm{ehA(BnV+Kc{%~-V-cufvxB7;f1fdf(u@_$n4Art5YDvIX%z1n4~Rr2Ofi!^@j(MJNYW#F#V4`2odX zfVZ5e<|U}p#z>whbV@jQ%<;hw9O6Y+Y~w|5dIgtUK8K7SC7yhYScOR&qD&DQHO13V z4i+i4Uc`E{h5PP$l+XUr7oZ#X@gF~zP}OO{p0$m(tH;hE4m?hkmrbXQ`+^RrdAV@pczGUGWwpQ7jo?rk9n1 zO?j9pSTcmd1x}8aI8Gmt%*1uJh{4KQMay zOzp5MXL?)W!#~Ouy^j1zQMzr_cB1d$(@G!1dL7EyKGCJUZpqqEYk;&lYsB^Xbe487 zJo+`H0oUoKndI8aR(RSR&`nNZiD3m(sKykti*)9e7(aO+7lz!XxHd&Y!Qp}uMkBOo z@CGG9Juaf2sC_YXM||a9KmS|x1K-H*D9`PteK{aK_RjLfvrhk;>&6}9r6TltQUsEu z;5wdiW`Guw@`Jpdz$WdBE>)pIz?Yr0_5e#ufh3gzry4V#ri`|A=*?9F)-+g*6opT; zH5RF9ICnj?mGh!9n(-J7HRSHUupvQKD5!aSSo=4f_ivi}&h#FlXMEerJFcgA-JOI- zexmcj1;U5BrCl-_6oKVXNRXr$i(s=|%3fz;gvnNvZ9vX~9U_@4r`^(J(%IF%Z))S# zr+qNBlqnRNGTmv>tu1?cHNv>URRL2)oT08{yh7-2G(}zehnu1Q8+$%jf4Ti^e9Ld# znrFfTZy)U3UXFfurnJ|r^j!2yiHxRxAdpUp>y}u@XRSz5)+tk~juNtC(i*@`HN`T4 zBbhQlPQX+1idkwSmz-;`xvqewL8}^TBF?~hNoD5aP8VwPCxd)q!}s2D@vm+id9JoF z_Roa@_CJvJT;BFO&Fa+`@E>>gWw{^inr7sLq6kH)PDGMY+5{wM?%}aKXl(WX<;Gac zN~g4qvJ(|kH}$qwUYPtYOAPrn#%4pAjw-CG5)64L%n`>v=t=W~N?q0Pfk%V>@Rh&b ztloAr{>t0GjkYd+Iy(Y5^e*>9y~r>1d$MD-7gZJ=g~zpWu!tbuL8rhKK4bqT#;3&) zDRqyIO*WH3{OKRWrjRYQnB*?D&`jD9MI;q(12L|O^rE?@vcnPinQgzOzx#ZApMX4{ zUsdwucd&bh;}6Jucl$S*>RZ)#)1WJh=8eWXLI`E zr}~rc?(Y)SH#V;RUQ=G#Lw5E%X?as{LUbudh~Az${*(1vX~CRVD05AE7@!F}Zl1e5 z@}Zfs_g`m!WqA01^;KGbEx$>x?IfNah==xVnO``udZnqpqEWl5G`l<+yH#W{n(KA2 z!n=$VK?q1tZ=(WR5#vxa9_$wK`RF@;zQW*(FL?in)&H-*clN6cbBy@-4frRwVSgDM z9C#o7_2bKnVc7KNs!_M_bq65CPF;5wt1dcn(mQqDFCQHJWw3Y7UgU;bh|ed+f7>1g za@);#+edN7^%SSGC#QkjaXp3Yqqyy6ynPFQX{mg>8D;X7wtw02ZT3~RXOFYT+2ibS p_BeZ-JG>srvVlk>srW&`!{FHPAciC_q+Uxe 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

    p3zY# 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Clown Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Clown Face.png deleted file mode 100644 index 52cdb33d231648fcb17c9497485261eba545d539e58c1983016fba6f5ab83359..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13655 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 P00000NkvXXu0mjfVq?%( diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Confused Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Confused Face.png deleted file mode 100644 index 8865df1e60b76abf975c2bdb670deb444b84e02639a63c4b0485c29a04f3b33c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9982 zcmVAMnHj|lxNeCI*q-lsuOOvdWwHhD{P3o1^kPfm| zR~wp?(m)7-HmgZUlg3&}(=JK|2AhNg112^hmYIw#+Zrrc($jnIzI*REd;fm@WAAhB zl}LkS$qojcwa&Zu-QnDG_HX+BzQ5nz2QF+EwhP;Z?ZS3pyRco@E^HUJ3){EaCQp?U zH4ye7`}QNdf!mMfbH5R|9d6u$?E~)Fh263j6R-;cIEVAHJ;?3g0B*d6C~|fKYKGi? z3qH$8WiQ4zpitx+YS4G%Zr_ExVlUy$HxIsV+l)MDo6D6)w`dF-h|C#uahN#97=u_A z$49es$GSWF$9BB_@Y~7I9FJd()76K;K0zk10#{6Lxw{R`ks5= ziTRmdea6qP9y{|Kzi9+8t@XFRmAYGTtgE9U4j< zJ#1FpyX?z@BL;O zFduMQLwyPx--j;$C9-q}QXj&V0@ktN!77eFw^o!#))>_Cm$B&li|y|oeZ0v#nsa|j z3LtAzyz?h0FD?83o_hE*ep5+t{X&>~df`oK2{pL>(_zyqVD_a*cReZvUJbJz>brR9 zAe7)dZPZ2buC19F0j$De0E>tWAXe!)g83mns?4_%h&guFWEK<$|R}Y8C z%nsP}D%|2rp_oC{A*SGFG2cOK27HM~3DQMm+UZz!J4^&&0j!2t10$eH_>@(MH4-Dr z2yq3f%dq@e!m*E1j337L7O7U8p1Na6<{ns;VRRoq+*$Wy*SzcGgUz)(WdvY*C}c0; z;G2t=b%Ng7?fHx14Rc}ss$OALg$2PjzZkdmyKrthiXvhNGYB1!9_9;#8ITfl1tLAf zHK*&cced=B3^TA^uEyD$5t@X6+yzTpKh8GQeP-P-W}*%6-H~K7y+sp_rXx@NgYQf3{TU$uL~&xSKA0SNz};Aq06M2LItVm#>+v z>))=oblke{*r45c=fsUHHZL#oJy^@f!!u4?2?b ziFO`-WAWm?>Br*cqOYS+GSM6=ng8ic#TY1e%bMXbl8RE3g`qG1wTf8r6W;Rj?Yh zh`Aa)_8IKhS17t2Mq_mKBge%b3&X18ZruK^@R{?Ku(|Vs^Y;<&d+Yk09rShhf8Xqy{5*B~4JNN!wjLv9zFM(Z!&yDxM?5J_MH3pxpU5N_anB4qFAz$#c4l#LRKdcfxQ)+-jLVa~DJBs# zCbwV_L6bYM^oZ5TpR49QYq5pwPC{}eS|e5?R^iBQCm%x?Bc?brAm-OBJ?3}-n%tNw z*0?j$=g|tk=}O%E4rH~WJMUcilEv8T*|x1~r+&w7#j_u=bMzwTCc#WEJbbA89~KL4 zh}X}D{x*CVkFeRz_|4Z~R-;mr2sBL>XEA9Snp{XLgb9{U+8ic`MynJ%G~~~O1G<0wbmY)%3g(MzTmt!X#j3lpC%@XBG&<5&iAXkFQ-97JKn! zM?dEG%042y&ut9dx%&M>|GfD28CU(x_>!40cO^v}R!Fgc+w#n;8!-*FGy|2i7V6gg zp-LI7)p_6oVv5Kb$PgGI41oc#2DXOU0J8yRBhU(Ll%CsK`i!QW0IKB1s8e2Gp%qMe zZ;Vm3E>LWogE*K5VxjoWJF%iqJ*=3&vhc$l{ZK^xxg&3yf067X-n#qogBka@UC%D; zOTTnQ*T(U^#iFDCtQlt&m^ozQWw@dP7E-QiF}VgaOmi{7B4SA^(MD4>$ALJd{UHso z)|l2wNLFXeAM<04YMq3rb+UjgmjD07MTigVlWa|@uO z%-Lk0+z0^$({_+0yMZKxJV;Ci4Vw(QSq)mJL9rTVRkA3pri7FNdiuSI07L_(Y2ckr z&ZiN43uSHMiqdBcG*HaXA+xjSSSe?mFLup_g^oS@=-r=vgX~2guPc(rRmlPl-ONT- z_~P7-nZ@4A<|WENyzAqib`_NKAPH9D`Uy@-fzU(n>ACBnQbH!$M9P%?3h6l|CW47W zv`ELmgEYyPOoDnAs!Nr%>~fMD5vwsK7K4m)JgA6_@m6CRfpKe5CPOU89J4H3B37+X zA9|1?MDV2!KDHvG!=p$0n-;!p;pa~+NdpT*axt-nm|Tg|fN1`#1)K$3c1uPRfNQLY9~lv0HKtV> zyvAK+7d3HZaiZakOUkY=9d`mzg@lyobSdZ7Bf(+5cIDNbxW4B$k5*RRB7(8+?8noc zt@g`J#0U4R+fc6Y#_`s|%8SHPDU@AU*pLRyGz+2e{ga*cF-$I2Gi&J_;tOy^VtO)E zZCpey3fG`P9-Sf|8lqueHL zw52c^>zhuzods?}&o&kmXC)8;ev;4;L7h?-@P zE?8WFlV8QE5w7eI*KNUxhd53-iPYIW)oA0svSlWhWm#A?R(N!79{*@S`?a&3-8gr& z-m-d7UMuK(Z4U)!!4=6_qn}%GhyFzFTG-~VDZYI{E#kEhx)<-j7d_N@)VW-*?I6|x zNm^~v$y9?!rHf_?!kJ@u-)H&4pMR12zPduM@Abe8>C?*B66l zjkoo+bmDDn`1u*EEQzW(T++_$W)hW_U9EXcB*8mLM4T&x)h~RO-+K3_x%18;;z3O) zKYWT;|KO1C`tf<#cqI~Jrt5MmiWt^jret0`T#Vc+|%F(z)8YrAHW7qtESqknZs3}r*q0_^yoWjpIKipDS_h^0n;ZwhG z{dVEbv*C#zvjBGQO4hQtJo@2v^Fr8Cs77-p5#R5(ts!b5qn3=R1x$QKD@l8i;2R#%Jt6>I+Db9|Dh4T{r(5|>B}x+?utv$dX%Z`%nwoHn%uz@HO&Pe z%?X=Xf$H)Hg0D9^e&PB{d z8S#Wkz|@TME#$mloCj{eogcoJ@u23KOC5bRTo4LXuD-;vvNYyXx8INW0g)PIjLBq= zj8UtI7Eu&+hRTF1vYsb;N2nuy9v2oIp^o2YhOqasv!w1ZGoD}%-u|JhTxrkHg~C9b zMR472LKd3(a}vvGIhn~Qs6{i=Ffo8v9{9>K3w@(3gb*!TjWDi-4U5M3&*d&Xof8Seeq|ECi)RtX@1nBVIR@LDhz|manG;UV`g%0H{%s z4MkY&Q!KBA7Xe?If`8|30k=1otM)?Qb#!LRgoy=Q*&(4cZIc>IlSQbu)IdsnChkLQ z1dQ0QaU;c4KVVAU@;}k&&32hv*T>>GC0jYcO3%}-dAFD>L1G0(m)Q*qiF;}VHF3?V zux|Z4QVPUTF4~MhN11hP@|kSWQ9&*B93?~nMHj(gYLqh`*L6gd7oPV-?8fZVRP`F` zdtB+nqT-xGe3@L2SW5BR!M6$5(qx#7S{@&2sMgr}w2SC;3Z@`U5{5Wp5EeFWVs>F2 zu^wiYv`$Hz#)(B(n7E}JU+}_3J1-#y5Z7pbuBAD_6t-Nv6P!+}WEN11sHR{o8Fxw3 zF`5ZQ3`7$wcFrTg@Et_^9*cHON|_#8$@Q${y=U{BM=q&mj3AYZF%pX|N|80g zP!d{5rfNABB>a;!M-$p$jJQY~4cKtm0vBDii^0Gsiz4}IFF5b0N5<7JxdG`1B&_8C zTOpb{8(gNL$*&tDj1kBfs~_RY7e9w`wj_q6EFg$?Xswj%dR%eCHQ4wV_&Qh18rYd# zkr|o?+(_4xUK31(=mc}*c9$sHcX+3l{lz;j?(g0E*s|iUZvlJKK{lPLwkWodj>{A? zIPbD+lGab6f@niGSb~a5wv3eW)4HYra)6h-_U|#fejS6Q8jFTj%F6MYD_(FN&-|`u zQ;!}-Bw#woiPI2efZA%V39RKZWhzl(Bf{u7>o0+q-Siqp1EU&7Br4S~GFnq!^p9?0 z@!}D2w30%WO6zVgL)5;u+$FRS*mCaeoKH-)A#?;oHtjs2n*eUv^YsPrb%XG}{rMpA z)RwNJ6z@$;5``|3v3NRJG*b;t@2qOu;efL|ajOZoigN`zI>?r%UBvEx^|Rcu?}HqD z;9km3k4vBTd|vSV--#7>;^Gh}l7K~108BcWX$hGmX_lOamy$Tx&$IvjOPN`G6L){; z!z?cyW5dRaxc0lhhbwQGC#?Jt_%hchG_$ALS}yJD`F}HrlJf#X@Q8R~!W|Mj4)3g2 zoH(=vc<2^j@3{(KcN4T~)^|G)JE9uZn?-Ow`~8TiB=kcAI8x?_%U00lPq{3qj>K%2 z#PR1?+_A*>-uy$1mmI!y6!T+j{0S@^2PtzW!&Eo4W#LPsoZ6~s(#{HTM!oh?u6XIQ zx#GERVmPen&kGa>7_EMYQe27`xCwWp$z{@BL(YOVbzvx$T&@`oMZKUT20%-+=Wt_K z55WHOU;)i+L{a8k3DLRaZUAR4Axcriibj)krtbQC}hW<>KP%mS{A%*KAW;heH zQ4Y-lHd^Wd1!vYmP%$|jtx3*(6uiT{7sj>Co_8+DpqrX%s~Bz!XGL zL?WVsx}31!az>mZn71~05pkejGruAyQ8|v_5p$RrNXVKVGUetb{EuWMuq+bOX(Ze7 zL#+>2mp^N$DT*Y`#-<=o)?AxQsv$bbf>a!q?bzjh&sHY+gLZ}qIN>0wm?kgLEz!=ix@pBeHa}Z~&nt=sP0n`lQ zB;!q2k-7;)Ga5}mKrS-L_okUC};6e&jPstDTUBmle4g9Yqv4&oP% zR>S4GTU*(tgCSE4miwA>zo!$IuhUZDq)A?~keb4hNi(%H6=*Ey2i8QhJXj{yI$Cq` zHzI@-6D9&UEnv3sC7ny-s<0e{RocKhA>mSR7H#r^#vSEg8wF8ALrD3Kd9z?LQa2j+ z7mmS6ZaFVp(B4eVEOd^V*m0>qqTv*@j!3XHRIO=d?5t!mE~W3Lnc9t+wop)&ob_i^ z5t~LWT6!bdc7ET$WvY0xD^4}h$IWrtb5JbC)GeKl*N|)$6{4hpjLmta&k;41AY+{R zUfNO6m;-r?#E_62CZ@F^*rR22@)*D^d%wN~xW`a5HUrtZ_tcc8as6w#@9(tuSl zt8*gA8c1i;xZKXr*3((Hw$da`0L*whDRoSi(g3ig$I~X7*=p!CjgSRmnZdNExdFn^ zoJb{M+iAgC8e}vb{3i@|`d?k9U21%t<5G=vheqvqVCOp-?#VTj^Fv4PNxhGS$UQQO z#L7$zECd*btkH_1lVS{0rfU(?3AtrCe?Se3r)#?9hJ-X=iZw+M6VwF7xfk~ zHmQ`syQy%Gx`gRN&R;B9Vj|gMd;Vh9YQD84$@IF5v^juPb+Qx@ zv@(+_;>G=SW<$?kLFUGGI*q$SYkgf9rV5ruMTaAb**;Mc5tr9}z+B>MT5!`Oa1A_l ziOoSs!OxK<>$NU;%GW!=i6Bw2Dxh^Bj$pV3!_}HtMXD+iaQMPedMHb!*Yk8|3c9l; zMNctjC_Ym>G1WAttxzV&OR_t%sir7YCKjWhYopZv{3pz+ca*^i6!f?)Ko8kL?w=E%n6-rlN>*)QXJ)((R-KO>^_8BpRS4=p^R?W~r2BxkCcY^TZOgBcr0y z8P(W$=>Ce&|J8sm+%x2n!$az-rVyj+p;y47fGcx%iA?G`AwV3BSUCyDz6$sJ1=IyB zY$>^B*8(rPVI!CC>JTKPT22P@-Wo_d(ewm4ZNdeK!MMWe8o|)u%&$fX#{S=&ufAeD z_8IoYSHx*m=yQV&LSyInNHI?*P}l@=XZLr05cZJ)x5qKT$J zDGG>V<(@B&`O`mL=8J!|LOrNi*M+SMuzp9$y7lwSEH2PpH_Pn&I(q#c&U<{PXw}y& zLB#QRM7=U#ZLrFze{wUX8JInXKdIOuc&t#}PO-m$zR zWN50OCvM_uT9cB~EYwsG7wHt92ksm5k^g&=J3n=To`cIT^<4J!%h-CwcD7!&gT<|z z=r45Xb`^^JJ31z{D&*ka6n(8ozvYY65D*LMDll3earmKAeCAV+aPR#qtlwTCF-+*~ z1`U~>##J?xg#`$s5#|K-LOdCL7#TwGdr-4)|6}irlgG2_$)N?gdw!F9rd?hdf>Sff zE$flFnMoC_VMQAONFw7Bps~b;l5&Ag$Dy_HhaX(wkN(d=Hgw?H7hK9!FWtqCt1o78 zLy7YP2q&@CWkS6|)U`Yjqv=7_wp$?;XJWgggt{yUJYM>E-=XOBpzIRY#*7C?Q`a@Q z1^~&LZDI{rLTpY1T^kXOpTdbEp@`f+a?2<5?(N%o9%s2=;Mq0j?!n7m!lBp8Z}^e@ z;@W`Nox_P5vb2Wl^>R;t8iwR*bP{;mmc*Rln$hh!mL3iKw_kaP!w-%5fgie#8@~Iw zENA9AcoXg=h8d?5trK>B~_-TbjlD^a;?D>Z^dN7M_i+}6-KKu&j$nN ziku>#`SpVw-a_V{qtgbDQnt>X&9VbQb(2 zo|+)ugwEzgY;Go*sTU>%%O(hC%Mbw^MF+n6l~q3QtB-Q|v##VHyzWJ8+^SS7_Y;>M zO!EYM50L^Vu_=BwXg3AGsp5!C%^x<=L_s5|1KOI{l*#3m3rq=H!~572h0&h7=FAvD z1|zEDOX-`wG<%?Cd?K6({dLdS`Of7N%@{o)79fJzt$4X<_1Hsilwa!%>zl{RMJU!$ zM2(D=SLyURiF(E(O`CdKIdmxt6{GNxQ%mq?e?G&j-|z!m_p({)W1nYm-w`OFkOJ@e zc|p05W-TJA@|N9NJ4t3LcRk&0G)20G#>{o!X=XHYM`AK5XWAq~o+M?dP*bn2fg0Wy z=(5EAS}2B&_wRh?@(H^YFLHL1x6jT60k_S&6ajJBVKi(h zl6<>F#Fx3(As1;ZB}dWQlp{;-MI_)dg{{JACCW*CxZ%gss#>Z1C@rIjP1dJK=}A28 zb#3{i#M#Mcj2>S~mg9wL$->;xP%Mqyzufj-{e@;so*V(><-CC2BZv81IqRP8FLg#~ z&esm<71-7V#O0;N#HYCHQpr+C-4YFA@!n3Oo()NvwSeYkU6>GbxKsu;Ai8`Mle~_Q zP5ML0jR7`A51!_VT<&(zJY~sFt86vQY7vd<#1gTtFt7N!P)uDW0yhX3O6e=F) za>Gsh?6&7wwDq6C$*#}ZKix$0g+H|%AQKzV8wU$xUrs21Nh;0qv42rrDqAJqz{E20?kc8Y) z)tdg-Tni8&tgaCTBNR_TK|Dd|4`Z<$ig#{%PrUuMJrw7%rktGXVjcT-<96?&JbY9> zxvp#14!8SQ_M9ge>IA=G9_e+n3nI_)O3l3FCW+L>A`_TOQ%ZEW2ARmD5Z^3Q*8Xh~ zP16#82A`iZ<4I*}QoS>5vPMTM^h7tr;TTS?;#3GF)WaBO4&s-i+___8d8q}p1Bgj@}allPjclxDZ3 zF{1gs9YiD-Jb=`$7pLtlR86;NN6l0yPS~PTf*8HJ-L$RI|wjF zyNA_RV~z*rZj!xJ>^k>l^3UsnO$XlSU$uyRsP3zPq~W0jsZ+SWu>d)(`>g>@)_zxq16W=|Oz>W) zBN`4xieaJ4!CrOQ`{QlrYdK4IJ_I0X@uK3A_r^at<@}Eo+1>&eiM-_(Ugx#Y{ z7W}{p8@r=pliC3n` zy42qp6NV2de;~xvM`Y=kKKDt-p^GxmVo{Y-b@BOVcJoE=i61`m+`nmV;BfcN%w8Pa zPgCnp&34&15JA`Z;5#_yaLr6a@<59S;vC);iBfSaHl5@BBo~Fa5y#S$i^XXY!=p!erW_P&oQk?Mt##59)g)C7+aS$sz+6yiS{TJ9NnKN}apqKmXuYPsSDTa(hGRMA z&3NA(|4%2^L@`Px7~a1vpQ9Lp~d*Z%IP(tTq?$f zS#MJKX2uN!X_ga!IvQ(HOoZdk+yl2&V+gW=Wpy#D>4txvm=+vB)J;y3NB z3>(*U`%z^2u6oUO;AeNP*Hb4hn$y*-YHV;Y6a8ee5{`jWP7HkK5jWR=Rp$BI=iK4VF=a%~gEA$hX3NMn9;-K z&4&pOfSf&qtQ{nfTV7F@dP8ZypjJKDWphd9m zbCNYav@+kj>mU8oAM5|hzxZFj+)u{u4JuzP$cmx_)qW!KpfUD8yQcl^4}a$IWA$pW z&qt~MpcJrKIPbc0`&+z`@5AfYCq}wynqaI!5Go&-PN!5=c~(T$#Mmo4&74-dgKZ@! zimyE7cuFxXalx-Asr=jXgdt+dNuf06|h<(xVIKV4!(bqI5D~1kXNM4Q&QrQd+MTxP&dr5!IaR5Ox9{6Bx98W+_5b)*ZkNNa zbei`{`uxL(ac{kP*V`&}zmq1$?%TJ|H(RY_ZGDa5aD?|B5fe`Y5ikaPH1qmB5MvN) zKtVJvY7qee?>+tgfDpXdvuC%o<~o%X_w8SKaQCm>4&jzpPzJB00?Zu{-g?!R?Wwxo zvza72_w80OV%PfvyjP4d7-Kg1$V=YB2M2QL9cwJY?4?Z}MWZ5&F-#^CCX=yj-?1a@ z%*|Jc3E%dW*X;b^JHX#^%PZ#z%qwL50%%V5)0tu0@{Sd!MooV>Kt!VTe!h^Uf-$zP ztrS(EnK!Uv;wzu$j>HIMF=a3qu)KY%P1<<~PJi^PuDNEh&Whw8iUQ;g@bA9<`UU6w z*L8Yx+Q^%BG#X=!MbKxFgrF)k@_a){s)0PuYo$C(JQYQZp>mF*C`_x}F$8+S_IK9B z-*Z)fY&u^t1qfgdK~e{DGyA=M?F)Xc`hG4VRuL&DC4z|pM$u=vwV+D7-9c4iRulrw zMw3>nNeJQd%ccHMV}z=#bUL1(QuRf$Gn??E&wH=8TuNAU(={QNv2 z=yNd37%04RsMuqFaqrR9P1p7J1V6jiS&_JZ|NgoCTeq&cR)>i+;+zzEldB z3Ev!8Zh!CjV(tCl4`it&Nm7i7!t*{*RgS51;j*R1-PR<(u}B%5-6Pa{v+wzA9<$4_9AG=9!Ae3S_I5Hxs?F+2uv z_7KA1r^v(s_VT69cl&{RpTi%_Q$x4eBuz3BV-Vcjv?#U@rp4>ZV)|W|ZRvavqd)Z6 z+0nhvM+wPut(LD@Uhb4SxI;qmHQiQ|Elb-%uiFf1mWdG%4fvos9v563Pm=!H;Ej`U z@y3=6esJ${_n#kI9sK&tLWYOqXA0p|P{D=51WBLS_t&a-&arpT9=e?l>Pry2;d%wZ z`@sDCJd>hib@g0KKjoQLg48Qb5#vui&9w%=9oRB=lgIzOSNFztJ7Hyci=XebwUwsE z8WB~EHAWDfPRnrW`~^9C{^D0vUf#TaOY2*Xo*RGQxhf%f4#GD8W1akAMtIlumF05h zj+MknFw;q4rsDz)0aOtTX_Bygv8~HdJG_uTGv3rFr z3q5z_@spjRDE{!ka`zpNt`0u_T$GSJhal~DFL!>#I`^)vJGYj5w=ZX-;gIoUgb%(J zliBdyI-SO}+Zt(Pnc2Cr5-zUy_2T;a%~Piz-Lu^Le{!4rt0Si`Jeb(D=Y2_P-kXd#WnCtb(8X3dEfa$crIY$TqBZ3%% zv30GXIuC@y$CzHRwfp5h_@5RR-rCJGwk^&3ZX-zs{UI*IKUdH}i-eROOd>SAA!oGUiB~3F7LTc0KgR_JrO)z5c-s37i!+r1?B2Wiu3>-5hvMfGqkHG(+J4(&M-ov}Ifn`uG4*|g_%E}2R8)je1HAY;-i0G#Ktna;sLP7{sRYkAYV|_4YGM!wpu(InH*VospXDiy| z3%H-KXCeQ{e7o_s>#x`w)(3rCmQ@|xbR(c?P_)kB1wl-x6G4MAOD|)bFvfrwEz98h zqmk*4#-{Rye1agIDoP#^Hl;haN(G)YLagl4lzv(dzgP!t8zNkLJR zOpAibdqPCzu-0O2j2FQx{o#lwPM+kk<4>@9b`|d(oko*Rr|r9~)Cel7ifF{4R20O6 zLI^R&%#6;6Ma(7dq6$6)7MGSddwyLXJAOh;n!feu>h#WMiv`KExu2_c>{uEO&)(Q> zwr zEGdh!?vy#os$w#pu-0Ga?CJ$hJaLi}Cr@(z;swT|DUCE`uGeO9uFYJhsm;vVq>++l z4O)$q#3m7T6^X7k1e`A^%Zl;1WYC{blw(9}?TRmDE7R$OxlYq3NoFfAZv*Z;1fLi7 zPM$6J7R7MC7@6y|TPo@$v9baCYEaU&!M@9Okv9^2fU2sf$_nR{sx0fPQc7UgLIXpK zvA0aUQaMjmPI1oRtCDg$&u}#5;-Fx?Kj4$6?&0oF+(Vigdc7Wt3yUnw_2|vb(dkA7 zXR)RO~^7*E7D91 zxmCKU=gGB-^P>Vm2_df7#2B(Hq1kRRH^0F49m1J2XIWi6hqVb(Ye9`ceMPI?AWah~ zi}E^v!_N|gpEU~-am&_N8hILoVAEu_>;w&9L>a6PIQe9sa~FqHRUr642)=eV%Ecn# zt1l1SvLAeAa9bBRKS?>=Z*!*TFz6>trVdv*yi*FVIPWQog7IiVe>|Z-9&zscS)M$3 z0#|uL@OX`pZ3aV&fVGA+wPa~Rr`=`S$~@gpgHEeOGtbEqOJ)Ok(xlNbEOsXB?3`!o zGPKqQvVgjSP&5!St@y&G8~V0 zd>)wNIk_MRnyV^_g(NX`=20s^0X%E#7eT;CM(`6v42cD-WmpEj>FSDqa-+p}CN%fW z(QJ;mEKSh%B93K-qrmxrVfCVLp+98(yr(~^n7B4&6>ycJUh!0T=j#CL(Ga4aG;#48 zF(f7-O-yXyTOmz^EK6u)hE6A8p_j9D!LntGWnr$#Qs(gG5E-Art|Y9TR^F5*biXp= z|Ni)te%Yjzg4ci&P#js-WH?wy5E@w)#Wbs1>H^PR>SZ)ur~+z~OQz~#xyd zwKwo>uPG=RDfzw*K|CTIvgHF{b5h$xBqOL$1*l37z7FpKb1lPSFURgoK~hu< z+rFelRf;hQTIa-<{FUGWh*V5m;HISs-*JPd%%F8yi>zIdFD}sB{RV8a4M~EL zE|?URgg^=|N4>$hK&S$)EGf%?D=UI?XbGXLB4mL@G(@4R;6?Dp5Ja&y!6pqP1Cu6X z%@)nnW3n8ZS*&#!TY;9N1+`G0uJY;MV@+`Bm0dPg^T@=Jv zit(7z3)|bucU|Z4JuN}v1P!t2qJg-U#U1S^Ur2HY6YDt?#iqm-x*adoK1&p%WNw7hq0X|j!s4A^igOg`2nrT^y$?}iC&=|lW zFoz-7tobMFgW=7i$wWJ?oU*KHJ6EC0sctC>i9S27&wMtr7cUai%aaE2kUrEp$ z$_bj}AOQ$5eba!dLvSb-fBZvC9{)S+!Y-NzzZy-qVbx>O1Y@#@f=Y&n-PD*5;C*b; zgbK7Ekl~*AFylx564RWcd+_a$Eg@lo5Wf=~DjungLCO+Y+)F6WlU{t1J+EnSvOnRQ z_7*&`o^a2aW3eh|x0+}uqoF*lTbJgUo;rKM_+VDIcJsTAt&Vv?P{grXbGzm{Cx(;a zy*5j;eY>{eDknCvq}F1s!K4Y(@q`oS3*NDNz-phx7?GL%*H;?h;Bag6mkEgl)HTC6(SviWTM|>@4EeO5-X@f-~adg?ynx;>;z*Io;8wzu^+j3Evsxc@xTiC@#!X(hV ztVOXs<7<`&9OxCS_9u1Gmuz$dJM9J+*Vf&`kDV}Lv)_5-qkx!VvX9y33OwIEs{IM51YOps|r z(xpHt3BJNu&l3+G!lOwiy6TA?_!PF+0#)PXNCy%i*BAfcjt zU58$?I<-eV@IB#ER^L1D7{01 zXa5SEc%o0Swu(vOXP{Nx{;lfM12G|x;J_GUaSmU48jCr0YlpXVhHT4AE)1rmHdg)3 zRzvUn#F22~;=ttX?7NSgxbWnr#{P>|fX-Mo%h|%WhN^h@FAm?GoVhS?6Bk&@#(eqw zh;k(%U#@V4CvCS0MhMC#fzOms7fD(np~6T2UvTF58uKmiL9rruC-j$H!FhX^V$^dkTFajNc8!|dSpwXB?Gm(fP zCeTo2aA6W{Dma9qK4T^%c#PIGAFY*aKzbdtbR^5bLdFgAecBAUIGlt(|M>mk-iJ=6 zS=#*RW9LV=ZDLitXsP6e zjap?^iY5YX3YZBxiz8a16q{m8StkvC)@8voTVPUzgmSNCYb&sWk^a#KK5ZU4ddzCx z{;|i-4gcBm>f)w0Eu)vy=wO9RY#7i3u^AkPz8yaf!PP zd`5ytH4t=`#eg*$tLlyZU&MtHQM@l}cT>Pd@GMa+q5f=wkMSW?1Ycgtucay8gs(3* zHPQe6Eo2ujUR?jJcl!@)X(MK97Sua5$*`%#tH-O>8O1Db4~P_)8h=412n8VwND`sb z%{LqDM)XM%L*5YZBSa^l6GTUtFvf&2Fhm#vLkLrlf<`NLs-D6#Qm_^pxs9uc5@mvy zxEhoR%9J4W%BT$^#w&+38?iyt6xE*L&D;I>jh8LF{d1>>e{kq|`23fIoO?_CWvAD| zd$eg`-imVpljpI}s&VnUH5*q#&}gk1kU9fWEl^)zGNC)yBWxy#ODyg4MuS$n1=SeU zvbNmlDqgX23^whvXRnL5zy@ za<(<9#vgy<1q0aczvYFGIX!O$D2UvFf9%%14I|YJRnwB1AmRm+WuOKLAocRr5F$Ng z_HUgPX{az-#h_=EMt3fvthEND?z%PdCV8Gmcg3ZQC4{mrqTEI%r1j6OxrN&M$Ww{E zSw_}wprJrQOixXnCKD7BG-gpqQ+t?C7DlsBNuz@qTUSnTdsNGRCV(L zrl1i5DH+*+*0rFc~9@4wb&(X zDZ%$qhCm@mv>UJN!$1kG{QT^)D|vih;7SD z=ZxFoQSWQ$px#A5`z-BQ1}pVzF@IMNi@UZX8K|p;6>5QnDTD~Z&0d2F$`Ok@wve@Q z{ETfaQJHgFm&v<|uST&Rsf8O?mH&IIRYQn@xTZ2%o8mo~RD|3RG&u-x^KCDD?)dpD zpk8jNPWPlKXv?UCNZ|+sG(UZd^BsF_QzNjNgl7^jw z+Bh1^iVz$c0~_!)tI;B}tfi0X~s)3k+z{Vbx-5;qNqhpbR#NK*F$wq3b7GWvnxbW!t^}zyZXH6eLu{n{_IcK zcjI+j`<2&HPX8?OlC{`0?qzC=t-E6NibA5xP(LMYKg!p??|ppicmIfm?b~_dHy$EP z{tO}AXop5?pJh9<;!9(%Ab{2`G-6m_R4`r;qc{;%u;;710R^|kIkT5v0W%G#nq-#i z$IPL=P{O5IQQb5Xvl$xDnzUQz`rr|hQjG3m$5n^eaqahjuH%ZoL}VS&#zqes5mYYC zk<|>e>acIrf7=33A=pCGfkQ6ryKYA`WS|9#y6 z+MuC;F-c~jc)>2{c`M-NnuR5KQ+8`w%6%%q-$6x}ptq$r9N z#f|+ zO6z?lRO@T6ZHbvXlDZulzuU&!uEbOmfZM*BwG-d8qjM zCUjO6$2600DQ@7wXpYDfk%09k{=aYuquHDy&Tu91mok_T0_q)j557TQjG6+kLI{yj zAwgoc=4=11)MKwPeV&m8LLIv#T*~AkqHYiu5GZ;sPNdv++Y76PlNY>n90TJ8T%1Yt zzQhI>gRw`aN%1;RTOv zKmQ;+ivfvw+*gX9sMxlm&PS^wK}@|&MVS;SAG>pnJcG-2wpds;WNn9ua%+A2ty$eA7g=KO%4la1v1WmmxJN=;j|=88f@gGdK3aAFs{tDXBZ>y0D3rmVVs%w{;_-q<9v*Y_ z=sJUo%7qJ#H@?O2{_D3>mD75Fu=YSjg;B+oUTvY|ghxe0^%ktWz+JeWw*v0JCMuwq z&yM?Z<8g0H%X*_#sD!FQvor=Y6Tk?=Nkzj7NfWa9Ej)T^$i1IEg#{M3!Op!s_Uy{p zwIgTCN|WAVLbszdn@XC-&%hXroej}zO;4Pqqf)PcfNB!yiay{&h!Zx2G8`ogM4osbkki$%w^^k@X6;=c{wJJWKB1b?s(19TdMTs00x|aY$3J!AHS3L#x@uRi2#(Z{(YA|8<7zYn*@d zvmF1--8_Ep-8^{zV|?uZ6vixVzfsOYax84h4PjeUXn`HZaxuVeT1H?ixw*Rg!? zb)5M0VgC5Xe}q=Efi;F|qf`+nDnj8gRtZBdT0+Ro-QZso7?-@jeI@Pfx8Lr*>%I2Q zqzJF6rW$M(jGv51LklHA)!-|k+XcxWaRn}GkS^_H_x8)!dFUH?!{8#r)5kgc_=8;d z-2I$6c7$_J9^v@ORgOF~Mct(UYYdnKB!SdIV&dX(0?vc4Vh9R#=hI2V_L3&FIvMRP zyE$WAJ= z3Nv9o`x}_>kr%Nq=?hZ8ED#%OKjO;j2SVSA*=Eqv5y}e5VpGOd1uOIOEH1aXaQrCM z>KV-9cB;V|D+|lCw(Y_0-B0$Ww^N0{s3;h(ud;sj3~OhOGdzEc3un$UIDekeg_HPV z!gMsE81(VA8_I!3qd}|FA<3KAW|!W|c6xIw%q{PtyRw^wm2LEvmuYks$+8v}LvSUo znlKuTIXxWEOmfaWcsG@YoqHGSu34-RM4^}zqy&N^WD~Vx<$>KlH94Uma{Cuq0XH9x z0cU8kzt*B!>#T+Ou$(E*iw-KxVjK*qsz9fs?B2V=y&rpw{;|86U-?EFG^UTnW~B8-9*K8& zbsI3aV;W1sG(gs%*J^TZGC+zUtM`ALRvRwc-=!*^MAhQ)*s?^XV>C5X>qhgUf`kvu zyaBgAcNWA;Qiutt-h#dI=Z32y`hjfXHB5sS18y=#eHD>Jmw*&pcl|Q1gwvn-AdOZR zNiu>j2~~-&>E?=wBoN0g&=+-QyIbVONJR4(9D;(&)L&c(vc2cKQm*mLC;c5PSO zctR39HV9!*Aw{h2}OJr*0}Mt z9hzHn&V2HtJo-C7!HLI?GAKOVxp_LhIg%_VNZgDsGACw@6tgjb7a^xO1@G$FVdq>N z+Vj!EBiJg0dPBb;mVlta#n09_YSnDF>CMg4>U21H>IokF;2&`0xBm~uYZb45;{h7U zm{3KKPF+Pc>|>2XC&uR^he!T)$Iq4z>aCa;<9=RLB`kN~RS|CUA3A+X9%`*u2X#vx z48h3S7?b6wHB=MF_N@gszWxADeBuG-{`6-#`A5IRCw9J;gRj4tE5Gb5Y(H=nOWU`T zr_BwMs+=QuAJ4eA&qn$=t7>E8zHYe8N;8QNxivNpY9|R|V#CgP$MC{gj{n`mJaXS> zIP!_V;@rb`(=JxYEOh6ayyeZy6vGF>M2q+RF%%V&TKsAtErS@F{`*K}d~Wo^mu=(L z58q1i_SA>0-MrLI|Yo2FKT~;^%+t&$(fr1y`~*RxYkV zzXI*_nBRW|doOy(3aR!<%0^pnRqdE|3E@yI=#fBYzu^CxI2EO((d2iQ+fV{|!Utg30v_^utjr_^e@=&X1_pmRHO$M8g zEzgnI1n&!4d#~ZQes9X7ANpH%@2~_Xq}Jd(jK?Jx2XJu+;}R+XlUtHzmrieJ>3~d`V9HFxvbrln8Vg~hKwa(avVPmLPHkv_-v4+u_=QaQBTY1O3wlO&J zQB2xEf}=Wp9<3@Q6{aV=%hp3uz&p49JRf>7*w4$lZ)gwwfodvMdDc^f2$6;L5q4Z+ zOiFq7I9nQz@{fM#Tae6B6%oGXX&Z5>#;Ue*O6e8nLInG&nqw*sr9!mANbCs*U&ReI zTt(?Tl~-KQy5lBs2NV_51k^;~57s?5y!&;$<2~2Wf8^s>5yU(Exr=C7ktBxdqIZjf zkQAl;jh9;ZFX`^-vkQCTdy@ApH^R@XcdSdd`y_Zl(}Z-sO==U$s-Snx+c>?pl|TKz zev@KakT+}`JKfButywJ_%F#>vzv;#vK9~0MnNixGvY*dW_HC^pX&ZNX8LxY;`6kpz3(n`)wuBBwlHI@P ze)fE!e=t9Ci9ajOSTIF}UmM~ohfQ+&fA>+gEneUs|8L*T{K^tV-*0Rq76lcn+^4Jx z(GAx0#_RI;x3>IzHl?CSBKT4%$DX(Rckkd`|KlP05Bw=Q?1O<~y-!#h#a={dG(725 zOLda!w=Vt?>vueWyp+O!$)6vfAl!;PG+t_N8J_=0E8)wAD~U^cKEXj~q}aJG#w2K2 z(7F08RNd?O>;LxyJovGDu?eIN6SpjQ32)OFgNDFlq|9&Y@Q!c$M)q90z}jd37#*#X z*c3My;)kQi!0<->so*<>Px_VlpSS;F`1KDTB6<7a7oYXK><@65RfosEpB-K0qb8C4 zZi{uM7n0xtnq@S)U3_W@<%Gu08);s1Geg^2 z)dWn_aKl?~;tl`!tz_W>Yxn&Xi4L)(O#1`upoAoVPt=`K-zj}^!O4&8{CD9e^;QzO z{iPTF%k~6~Sv)xLUJkY_f0-EBHC?bSS=2-;jVqwrz~&jj70}(r+;#6HWLvoJ&QEgh zhd#mjvGb@vl7da*GX!Eh4Lsu}!<#r3!F#HDdbQon*!#MxxZ!KRf~~u{3?IIW>WTYF zjUZkr2SdW7z$AuHiE>u_oDa!rDL=X6-}xVTIfehSKEhyHeSC zO--n2DtUvXo#TxMpOEalobHvc#mhF1-~T8_K7J3Ujvitf5loR2wqS@+DJDdCa#wpY4l`un{!99qlO=ktk(^~Q&|wM*zUNVA-vW1MZ0 zu3Sm?^6Qb_E~=4d^~uw$9zD+aCr`0{?jq%=!22o+&n6_zoX-3lb1N$>?cUC|{afiR zcfk!QPu$Po_(L$hKyEBj1zSL~#sD5r4(Qw+A$Pz^*|UhQ;ZAD(#r z$*x~=cYU#h|3!O>lHQ7$mF}nBm)&C2{Y+bQ$1pKuJ?qJX@#;i8gv^j+If(^t{07RY zwt?g=Y@>~&EsRa-X1pVm1zJw<;}6 z75*!Jj@af>{`f!by}nb8-(RV}rPCytSRpjT+XiT&Mg-BIn-luDLy@U@rZsym5Ib9` zuOqTRu!4%H2}Wfqp&I)nbAhyiQ7{h$l3#f2?DDU?`HmBl%`23D2oG{oMfm2p8UUX7 zf%G*^4d3g6|AtP&c59(DhG{Or<|c>*wLvhmeakn9ilUd`wMfkhsCZFVB6f<+f?~b0 zK1Gc&cNz3o2cz)Ym;DE(Pd5nup*=}YZ^iIHoVo-!{(cr41z&A~d`l2{lQFEcvj{so z3&BLrr?1)RzTUq&5sAd$3bLARsFg4%v@k~Q!|*{d`UfjN$7eR0Nry;oK8%-F_(^(S z63>!+x+0=7dW+3+bc1;RW|idn%7^`k?f_}2N>fCei6~_-0c4WmM?rMWo8*`kJ(8mz zA7trWdw-@l`t&%&9UIeYy!tTDX9(0>gFaKU`}q55nzGxPaCIA{*jNs%{PB(3jP1L&y=6_ zpl`bkxoy+yw*j}^j=mI4@>h>nk5`XZk5`XZk5`XZk5`XZk5`XZkC*%S{{U$HeIxj- R1DpT=002ovPDHLkV1o6-zn%a9 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Crying Cat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Crying Cat.png deleted file mode 100644 index 5876bf6b1b3072a7853e9e0d9e8fbf95dc119a1a82bc2acbb5771fcbfed4a180..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12174 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 QQvd(}07*qoM6N<$f)(c=_y7O^ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Crying Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Crying Face.png deleted file mode 100644 index 8d7313d51d2d1ba26e859985c308c3efad758c3bf135375f145293eeb08dd67b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11251 zcmV{ng9~&^@|@N1B%qs*+eCl~f3($ELF}U@*32+{leATiumzf1175n)Cg!_Br>;p+>op zO{i#%vB$mV+UqzQ6X@jxP4UOHxKa>ZN;xVkd z9~Tbe!#sFJvRsRW+nYY4kPn-!Q!pR;*W6QIIb=b>)M^}Y3J^4)_9=9?2@)?x%=p$ z+R%SK?}PKluiuH^`7Eu5XIuf-@5EnQ&8P!!cfXjo?LSY{*u1!Hl*V(1Lv59M)g_TI z0?l)<$rmD{mqLCTLLF~eb*37Kg4ps^o1AzD8o)}>fYAd4bp_5kSos*b_(SaY_wY-1 z5wjlNH?4O#i=7`H%ZBzZvDlG^HP7C)=A-3bJ^tE%Di!e6U1ZnnCj9U%OiX3||7pc| zU7V^>yLc?rw${Cr^J1}v3_TY&^)uMW`G_CFRKOe}8O{xXc<`-sxn@c3_G5IQ5iDR@ z5?RD+3G^@xK!FK3?V(FQ!lu89Tet(sN=#bTeXJ9UTj#Rua7ni&e|lim=-Z#Wdv3OW z4?lGZuw7)boAB`4MlTuCr9W@h;@QQH(b&3pSaM&u*zRGY=i}G@95S*4Xn-nYHKNrK zX(R)E+74%y_P)iPx^%DG8iE0;Fp#Vo0 z(-N@)tb5zyF$nVSjI-@=CuS*yn4L!H1k=d)r#mlk~Emrws#=hM%W65KNZJF=T_ z_$~Ffwt8VtSf95VKf5|MwzRThu?x-3_|xBnTlE5x1K+{$31%uxaebpI$>f?TX36LO zaWh5)%rt4jtTGdZpg2{e`aEd*PQaN1EfG`vs*A}szaE;K2unR0r#G_ND_2LIst=9E z-d{iV@9S@t-2~f3cCzK=Pxj2;x|?w5t=Zd0to(3$b3<3Xbez29opuXYeJyJ>vX9{II(E)|M{LMjM*%zUr-)xw*05vv1ihvfVeGyr9jWY}h&c=Ikw_ z7CyXq+Hjn>X2OZ@N?COAYc3|6x*D+@6U9k}mCd89E>gzZW zM2AuDK$;*Kg2!A9b2Wq-h{w?cm!Xn@`7~!-0+_T$Vp5zbNDsAg;0-y8$p&bV1gvH9 zf=I3^bTG`tf}So*-*VX{=!w{HFH{a z@T;DKTXjzILi#bKMZ^Mvf>s8$f)Pkig2n34fdWKB^||Wv8W1fJEkT#@-YjAolYp&E zF@R|WHL*gk1Wjoj8CrdpBr+*we`0}+Z^o@U4eb?Vd3571T5XM1-Wu-4>+k(_Mpw$< zC$j=};$%0P&H0ax)Wex_Su5ld=Cs?xjcg=abv8srOw!F&P$87l0h)myM;3tj3mw8dxL?ZaV=c-^DF z=6^x1B@Plj&z1tr5O!euewQ(6+lR~X+=kD~o%Rgy$mChz>kt#JLzx6@w!G9Wq?s85 z8cSj*h-DYiGQpB2DCzS%W<_v5vhgOa;nLqVViwT~&l9#M zC_*ctYqAY}Wf#Qp4w<8c_`i60L7L`Y>n7Y0whi zXd&YhXsJj|oIigku4>q(+7bCJ*^P4TQcN)xn`K{J0@ARc?_&aSeU~s zAe4x8ll`E?XeSSfh{Yx1WBZ{OkeXQUYdvc}wA8a9cC7ml53>t-vYE9fA6oBC6w1Lx zdG~nBHROzD@TFy@hO8MuGKXqq*d!!oQw(v2#eg4bfH}T>!;iS>zunG#KX{1PDQMOp zw&CXMNBOP)`a9&!42&c|5xhmL;(%0A80;)5A(?YUtW2H`1_TU4E#Pux{>Ty^dCLcx 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Disappointed Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Disappointed Face.png deleted file mode 100644 index f7e5384d5ee2119935cb16a800a5d8c0aa2fc6c414e9a16897d3a84dd9c4c34e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 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 KMNUMnLSTX#taaD` diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Disguised Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Disguised Face.png deleted file mode 100644 index 5600fbad80d5c4af643e1c47f79a0fe89c67d494d8f5b242ee26b8221cec1724..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12415 zcmV-_Fo4gAP)Z+(vc1VND{!%8}&z`0_yvT5`hSaioV}(_^ZUH zqC^BmKtWJI1QP)tUFb|hx(W&DQ%R+gRFdj$b+Is*k z2ngsA0UVCS-h=?A{8f<42v6#@n=sdcITyHc3wq&|gy*VIo>Kx)MXo&;d+st+uEhVx z|G&`gxb)_scFztD^$ymmrj_J?4N1089qHO-@%*ZHpFJmX<$rwbh1hHNA?IF;7kTao z<2fOKD=x%d2pqcTcYb<#W92;uPcW@;TJH5!mq*73{A5fRbz%mrgd|e%0uDe;W;C=E zrV-gGMz%S)xSIBtnf@JUStFNY7x>96A|x9zw@6-w6=HZfoUcS4pml zo8}u!{!PMgq zF8M(Ag}(8=6u9h38vFlJ0yuPs?fGqcUZv&#Pb_k-9jlNXQ`72(TBtOoLtUp?MrqS&P^KkSa^_uL#R_WxP-SN^JJ`!vY2;!c)&_R)9M$Lm@5y~gRU)<$CdaRZ^gv8tw) zTTL@mM$y6JVd$qZ1E(O#IBIJM7Qq(proMDx`i_h#1rP}8i|<1KGE{OTq^RGAEIdfQ za5J)SC&teql?bxPckk~Jw#->~(BVa{$m^B&OuWDMm|lqGS#V#UQ2}h)gt_!GR6q~B z%f8-p{9h&2XrgyqT?bEVgt)2J_qwQEf{eWw89o=SuSFO{yn+QJMkEGPJ0v9d5n@JB z^`H**IcSQ}7J&f4V+g2mgmeeY-h@uy4EcU+HO6&JXy4t!JkT{+#~lob`JLr|9X{1p zOY#h=BzYzc?L}AOH*F&N%~|=2N~Z60OA{I|9Cp>oIMQAR4K;Mxi!mdwz$EK{jDSVN zmWy5olOXg3ApGbJ`NINmpcz6Nk4JnD8@iwwUciV!{cim9P00S6fjMlgMt4_m-J9m3 z%7HEmMn181R4+O2GJ4OXN|I+%-{1M0%a=`<{hzPJ;k@*yrXP9XpqRuN-_4N06JYrT zP+M0_L3v;m@1gQG44-Y7WY5F0S?s^w1u6zAVByBwyV)NQ1A99kgj~%;D7eauI&_J2@eSZ&6Jq;+Ks0>Y5Oxvpv%4DrE9!@X1nq+Qz#a?|kv_`Jx9S zc+h|l3jZFD;E>>uQpZF2^^k`U%CCOWCZHY(o*)iX7k?kr<9+eBgAc_cZ=-e$R=kS5 zF+o1xA(@n@^3q{X!;Bdhu6pbpoPOSQxIUEeoH+q~PvOyb)yJEi{3hE7N5$uk_{s`n zwc93Mc08I{M6gxauLMpfrW8w;8qT;zG!VsfUDLoVAxpvZh1-E0*O5+bM{8Bw{?w<}%vkA| zy{)MJqBS3yfB0~DM{>CQ{B18L8hXH7SEMOLF9-`U5?Ww^(d%g3s5cz%A$pc^}hXm(%1 zSHBD2zQ4{jo4?8IbdR`RWqRK%D^@Jy;DLk0v0-p%fW3S7bJWqxc;VUW`Po;V!37tb zP28-Jw{lDzqv8?G08>B@!56YnU9g@LXRxXSiWQld#Cm>wq%$z?K04;aQ@jVIrsP~7yOiE4Ze5lHh%rrKgRps|3!A~>ypG(obNHvXi%>uBo+n->R3EO zgAD>oC8_e*p1`NSKF`&+dq!$?PJ2OOdcELk`?3>%>-o|2NtcJsdLj0*El>Xx*dIsl z^AYqdzt3vZ;VYGiDA6;Pnz#RXF7LepQf+{AurWkQLc86;2PJnNE0!$F$$cQrb5N*N zYouA1q?Rx{m+>!Geiy4fUi6Za@vej53nNTGDRng-BrkV?RCu>&z5{+loJ z*0+6{sRM1Iip5$XiX(byj&p(F3L}gWdU=kjl4UuKMxEe0sC035lrLT9xo=CCSHG?y zvd|4-+P~}%&uM(2`iX46Zo*u4-P04o)Axe56sE8@D<4|Yh=vx9TcU5cT;-EjIZS9{ zLq;4`=yo&GZjZ_buP^y&}=RCjjd!Oc$AO9LrwMxiy zL_Hc@;bQh5KF9bR!J(R?niE`(t=IVcXRhOtcl`rd)}>yxfF;X3olXxMMW}*?fQ<|x zcp_s7E?}&s*Gp-)dsth=;1O-{>3`4p#Xm-7)-PpX*jDG~+JD<$i)Ymc_k*q7??_(V zaQW9be#pQ1D^>fQI|pgjICcQ7{6z`1}} zQ@Ei%;C&#?dbm6z1Yf`tYOqm6TuG=TF;+}zWtHF^^;$xf);VKii_iW-&)4pqwKGzE z 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 mvZP+`z2}^Ie{{F4IApLk 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 A@&Et; diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Downcast Face With Sweat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Downcast Face With Sweat.png deleted file mode 100644 index 9726dee98fcc3c8a527f4a7242fdfa861c5c4e6cd08469a5e72dc5243ba9984f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11220 zcmV;_D=XBAP){io=iD2^i#O&xNU4;BrW9zR0J$WCWGL*i*K(C{rCe>hmfhv@02s?)yB6JD zT`|cwuJbcJu6(C~y4q zZ!oj|-x3#bgF#cc6IWKh_d}0!2l5;TLCk-uux)W+8E^v2-IRUx<;ajvCi;>{{& zx==`SLVD%F6LaeiU4HrgLvq{lXD}KN;5%tBI?nl zt6F^Yp?>_MyAFHlpZuGDv-YoEv6DMsr>GgS=MMa>I|-wYdFtO?&}|(&be#dio-VGUFbL~~0bx*snO6{Xx0%ks1B4HI8n_12T8$Ahs8 z&(|>7iGH^XfUv{lRqSzh9d%zUCud&rnro+Q`?c#_&%=Q}{NA09$9)IXm!bcY%{%|$ zpSkI6UY+ zFgZJU;Y+TZu^+p7#$C`W83tvd5I%b_@R55D>DTuKcUAMqZ`{}1RvgE@akjvAk-n2gQD!i=8f$OCx|^ZcjBBkz{2b=m7={2E7jgB|P(OuL2axJ%OphXZ z8s|OY3ab}Ot)J@CJXZV8kpc4yv68mzwr=se8~*p^zR^I)?lWV@cYYAwvBx8~hU35Z z*FPt%$t~;G7IEWL$FJ{B&{%~7RAKWhY+O6x4jegQbrXO6#N;Zv>-#jys~ z;?QX`0~6OHtN#HuaUFCn#Fc9idU@6;$@w@02e=$v8;pSIJQ9wg%^_^zt27H=#`V7{ zMeBqwuV|r{cP$*6itfSrc4yzd+_@+j?mm^a*;pc8dI$JT{MYN5IM?`RHAO^CGVMe*N0A>+0!>DoE0E$S&;v!ld zg2j8WQ=dnM58|96t&RjI?Jq zZdfy+Q@-W4&b6sEj=w;G!a26iw3(TmqPNz$_wD@wfBf{E`0_%y@GTUV{2G4a4`c0( zpf!XA%$9H#Qhz%SuE50S#~#EZlKze!3j##20fYgjL!_9&t-1xj^$plXx6|})pdLgi zXKKIt)l+7#T^DRqcl}J%|Kr3P<-gqjs}mb!H}TFLFBDWyhkxF)|E{gJ{#Smaw>YRi zI5S&LZ`d@$g_Fn)nb%;7d6(^E9 zmjaOzC{gdy^9Yh1(Ab2>|0-gJSO6-Fkk4)qtFc%ChAZdrQDiJ=Y#*zyo)|W_-Tpnrz1RGXK5jcGcHZ^Epd@!LX8+N8;m7DqZrQNjsrbfSHq)VP z2Ic_81e^#}6S-l1i=WyyO?RTh)H=`mzViK?K6n&Ae>YYZIB|$ML=9&SF)(Mj(^DJ$ zx6%pPIB8R`2pD33DIl0Q5Wx&A1S~Z8)+H1d{3NpOwS=YvTFI*KnJ#$E>L63amTtu- z55A%Nm$H*!FOVfXzX7=8mbiVFd2RIeiJsZa>@#E<5Sn4DKO2mi>ViItsDdWmrEoTHWLrjySlZcITIs;Q=)W*)x zQu?5MARu$!gKXK3buS_;^qJVwD!M;7r}etR_pEvUfnVgUqd~B9oV>c{mGz3)|NW^w zx6*1~vwn>;G4Y#wp6RY57-zT&Gbp{V|5RY1R%SZ|(^C@^)1E)L|0e3i27mk>R0O5Y z0}wE&F>1^L5HKQ=2PO@M=2;)WB4#1I&(iaT0wE8CArcTYz13Oz9$UhfbNJ2QkFCCz z*l#GO&CUJ56ib^raR&L{4!_agAv+1|z<);t;aba|YflumX4RaA7`bF_g0{2lEF{m) zWu(%W@%jA&+G2QbY}qu;mkwUc-G{Ei4?ay(AHZRFvg zLhf+GR=BKWMLK@YB%!I4LFDU;L&TI~?aR@%*U}6ODWj}?^^6;A>V-)kcN}k#IVnr=9WPus?P&}|B>%iKp<+~{*Dm<=Th}q=Va=*G z_(?wS(9NKy(Bt=j>*N{RAQlj9x+LX$eQ$b^jRYuB`zh1B*f(roMfP@L;TDI_*IubA$8=ZOJSD_v%uTm(6BGQ|-m9_Lf`$7D%;%15z|yQ2tud>x?1IQ{2CFd} zqS|1L{;yF+Gdx*^S(5{LgIdh7W7L{#9h$8zKy2`C4V&9r(GQJcbj!BJ4Ixd3sFI52uw^!#8|sor?o6TiG>BfC&LOIPI1Ciwyo4cE0> zP_|NODn`Y`D2jyl%feF@Lg^jt!qF-mW$7qN5T~?Tf?7b$Fg2zoS|B|>dvs%(_=`_s zETK{pr6IZom4Hzbr6y7nsEJglq!uL*r9q`35)v$xfJ%C=NpzB!hUMsnfn$D&65`os_^gtBlHEiefb1q`bRV(3!FA<~>o z^p1v1PmEfHQLXsD$-y)|PFzxzkxhKYds8kDiKs*rB}ycSrpH90C@Sf1%+HG`5+l}| zAokj51;vyv1{+%D)&9xTx3{jkZ8!0`#)9W`@(%VmfZuTMef3`*^#V}_ z1Zrf2daS~09~b*62*rUFU^X zAspz}EJR~nyI`&zDSSx?4F`vTgO#DNpwoh;fx-!eF9=P=a2Q$BZRolMf`!D-P-h5P zByw{_DQqM)l@Z$~At!4BW(m)mfHa8@GR0ZUzdYd;RmbRxP`%OCvTtmH}a0tr_QX|og)j_wH+@aw(m&s(o2e?H>_>;+hV`= z5>wzUiir0H7HPK}jltu?z!y(PzHq$ai>E6N*G5|kN~hoioZ^ZEVM84WOUkyn!+6&R z1&^kHnS-kzaXm35WlpPcOS833=jYc%t7IYhe6fU{QfrnG7EMA$j8Ifu&JQw8VFqTF zas%a`T0c#O4$X`+>rjD3bVp zF>pyP(h{RBLd!YYuB31ga}f~`2V{igy>NOVLRImPF8neOsWWskOPOnOA5EehET)W> zQ36&apKqg?-Czt+8Rl4!vSGE5gK-1aAY<+*BC5;eoGMO}HHb>KHp^C!2EjTLsDl_H z<+{Rj+FKKv?Et$Uc=iGL*~fsLL^Grln|~Z996x=<=Uu6X*?Vw+^M(h60wfc0&zh~n!{{Jq(-I2B+(YAVwwiP41BAFlpQ31YniWS zy_oXKC*L|VciV2_vn|{_s{ybbI04)HE3M0%)2o)ICb(hMgYpv>e~PD{h#Wq8in1eU zR3wWVn|a_CvifFM|9(Q#)#2P!5Cbp4JtSjDP~(b*=Eiy zF5Z}2#85h zNW0tO$)^_h>V1p6_L9%=KW_arRqgR&$lQeq%UgepepWWoW%py5d^1b%)T~0R57tL? zY5Z8NpZFqez=kLTOlqJ(MkF3d&ccWbvShz04x}b(m`1c!Ce|V}-#U(X^q`H+W zpe#!seQ-Z_-*uF0)_;u;y!=1X4hrq|%6*J5!g!9Y#L5{sjjEI@Jr-WbjFkj}G! zsUk54P*p6`&{)Jtz=`6}R1?r9C0DBB8ZxGc8WIhOE=eDASu@E|4Jlf9=LsPq9T6rx zsJ(2366c)3P)#mFU!oHpT8PJ3(g|L^X+IzR;dk@n|L;%pv5#HKRo7L#`0CZHnky;9 zf%$RgBay19IeKJ~FMj1D`yQ&e>B2AaCpY~e8;TQDmB+PP6dNwX>k`qFB!$*x5$+kq zc$Y8E@(K>k^3Rb3a(f4Dxt;3Sz|n7NCZi9rchElYRUVnTwA@l&+fyAz=X*U^yOB=WXYbK2 zZ~fdqW%py>2i*zQT~M%TZI78LPgxc;b>zfJW#8ciPVH|f%2WK(w!dKK6@SVE3k>TP zI^ChYNf`K!Y(=DxkF zQJDrSL54VYn#-n6^3yNAm!IBxH`h+>WiW(+d5W1SicK4FWeegkRkTKBa}kgV!)4W5 zRw(AQOh)P~vm|B7DhZJU3IxqH-xOezo63VV%7{gB@Rdw|rl z%(4UVSt4%+Ezx#~uNyW3>^X7{24FOb8d=qLhAUB1NjfQ4WS{7g>?0aOnMS%ZOm!Qs zUw160`VoR9C1ke?#SBeoF_?E8KG9Ge8d8=u)3cMzt})8#5}H6W&@>1((iZuYK@)RK zSf(N@M}vf%a`$P(qEWOB-|^5lP9Lf`eY|GauknR3IWxiRDx*E)!6MC4#6q?%0o1QZ z#5f}<6H{=Wh~N~Y#GD7ISp{&*Ex=vpiVG5Yg$MJ_P{WOc%6UeNU4sO~gyMdN5wcQdl!LJ#h$Wj8wFLG&2uz(bGHzr>&M2LbMIJVu1(s2P zJQMnxVlhI1?sSJo?i;Y{1CR31mrvn==^m_}aBQCPBP}ykQ2I}w=HvhAH2?Kazs@Va ze>4BXFKlIU4w^wkyi1}6N#(-v7s_ZzlKW7Nlr6(z$w%J1myhq-$KuI`*%??h>FBI4 zDKfIEg0e6_=7LLl{OFHw=EhrlH2s)^wv1Jg%ap_jnK?`i$zrsm1F`nG zXG3FFfRBFdilk(O{LWZMYM`QYdL2IY;p2Sh{ZB9{%C@b-^h811OP)a?TTT|vuJ%-F z96beheRMw$efb1${>>}7;PN(2Kj56?4se-JQp7UlAt}ffE$E*T-m&AW-1mhOyl8`P z%}YF;!r@i1?B~ZHs1qX41PzUG;*vD54s$EKu?pR(4uAfk<9zUaPjK}X&*r%{V1&@n z)J6>X>=AJyX^@KoE?8Z#X?2T-A0P6zUwwdIf7i9F*(ii6B5oP?C&=Q`0IK4A!?54s zcmDN*9DeW=H(%4DbOCE3&0=IYa^)+)p)Zu86`AWeR$uJdRKdso>>$mO@~_^!g=#R& z;@?bj=Xl^qvPq}O1&Sv5R~%#7b7%okSqcEb#73PSvQJjST!f5X3}|&7k3CTF(GNex zE3WcPm673mq%r7DmCS5dO>cG$orwut>1gUmH5@WnI8OiMDf*}T7=dkD;emZa{?j}5 z@|L$XrI zBk4QieGJTuq7+U(6}abPPjcx-a1(P}b^VLka?O>j+q$0KEVK%jr)$inkiK(aso~J$ z2YLJp_w&SqUm-3Ixokar_OFiditn9FOPy>v4@j|3&?b)Kpw&f6v`c>+;WsK#Vy~%z8G_%)j;L01mmy^f7kB9Gh zga#G(7-k!?U5K-pq8)@|}VQTep!s2~|rTxjzyDs7+M=O^&8q&)5>_s!o zi@36j?_P%Zi?RMaH1Rl2iZLfM{vkP&6*qyOcm>#T;?hGj%~B%W@R;~yIVpdzHVk6V1#=fpWtdq|;76W;_5%t|Fb)Xspoc6h)cVdO7El zrAVFOW0CZvSS^W;$h=oBA7)~t1JXA)A?487i^@#CRuED zU2gOl=5PuYD`KdjJxNhaQCG)tF$;aOc)-kXADasyDB9a$TXvj4Imt8@k zj)@~ZW`YtHBBp|q4kE2w9FcJw)lEi5Lo|qjvo6lMpl(^;ndxg$L1KE|H1S3w%6g>0 zHW6IehA>1I592hTHmZz`7Uu||320MO01~~qT5v`2h`jT$YE;BJx4IxFpVL|hearlp zqJv?Ue6wt#W@*NaxEu}nImxvSOLT4~y(AC9h-Z;#%T#cFEe(=k(bC}L65;s!G&Naq zetK{E-o$QZ=p5tn`*qa$x?FEIMKvIrm{^HP;3O(oT)r+DHtCwghyyb>R9f16{<-w+ zbE*f3l%HD|G>u=-QfHlsA+f5Gs5P^KA~xpeQA_(b2$)#Po5nJdGaN|zH@g*+6&al{ zPI7F#bJGf5UO3Ywt%wcFYZEjL{+I#PGnZDb%xI))>pu;*+-vqZIk_0sWfy2BnRryhAPk3CNctwNC3XkVoU^;;-tpwAUEA^JT$nY|y41e?Ul#jj z!_(?T5+;dDgA`bwQM~@|+sYZaOy+%~4j;#cG4*?9aa>i$&HmPAXkJZeD>~K`bQFYh zJQ&4{WWk!>Cpq9|eD8nFCxC!wNgWMP6yz&-NYR`aF@QP|D~bH z-*o3A)>u?$#L&RPAQi1O)l;U)GfT)$57Dqx%p{`5c(mu~7~ zBMsFHBF?=dEpV}-EdEf2Q3mr7b>O2Rr~63I749USA?Z`g!lt3nnXE%=q(E^F+w!=eT8K1eFn0MqL(TR>`FVtX^13(iAbm zAjHlv;=TLOns=UsXxxvt#N%7U1X#Vr*z8vfvRp+Cr#}TTUdZ|Lpp)uyX zKr=L5hMRJRyBV1}V>tLsmojo8iS$aWpf%uXrKlq1Q1Nwy#?WBnn(insSpJ+*TM0XD zIk!?f<9kz1k}Xhk9T_DKDx{ytP9HsXMEt^ldZO*$lO;U*f~lhg?9NwF-1@sL9QpZ?=2p_v=S(J6?7^xBZ2l^J?!~?n)ZbCw@7+Ck*A6I;Wa- zGVRr4PO5;MTExvw(yZvh#FD1O^o;$MR#wp@xem$2hlFX#q_0pAdGz6mPkwU1Lk}#_ zG-oEtmcMSovU};|lzUcq8rHvbYF? z3PcD58y>4&RasL^@S6rQVvb+%9kWI|Nge)q_lDVyy?bG;3$3+Q#3s%2a{Vki(MkbO zT-s2~<<4@Ff4GcCLssnW04^8avk2BH!@lPe|Lqiaec}|}1vacMnC>}B(#lIyqd!y* zoPwn#xc}?+FWp z-od&!F_8Ccey_dpYy8(c-H#E3|hvW;B6I>rIE}|>UOBAeC;MUC`F6nrZ#6(bM zX}uUO`-WU$a+;tpWvS!{jj&T^wU+x-9{I|(vjzo0|Z?ek`q76Z$$!HzFt(a?|(M~qp6lN-UX zFhVkR2Ct)0DNy?J1s{0tF^=w?=Z4GEHaK-q>e>iHsFsXD->3#g7^aSHwcz?oJhHIF ze|Xn^4(^Ad7$Gou2GUtkRUKvTQSy1C6-z=`=u-^p$P8ypVW?K5N@ZmjW?Wr}ztEgVS$ z5uA7Y@du7_a^C`1TwE~h2L}Bls_M*4GPiyW>n_^B^rqExr+VNVb$`gPZ-geYes#%U zDe&d5R$TYeX<9z!jkMyJwOxk1nvoFWj9D#ZywV@iEG#7}^FlmLm^&Ja)0N-7@qPO1 z&v#?L=e5tlc)#ae*n!u(JEtdjWwpk~)>QNw(*^sexF=7zvMwmYlc>3!n zc=(q~p@7XZeXApJLdL=@;t=jV&XeWyPCjMF%hp$ce>dnT4PY%06{E zl*jwCy_arjpFaJ3x3?^w=bo2l+ma$A{Bq}?$A0rS<>9!gE=7IY908gW^Ax7IiB8Ih zM}oE$n+TcY^{g0$H;x=qKDXxx8>Wozx;4D)AH9N0ubQFlj}hk|qB*%h9U^szm?ZU_ zFG|*QrrGea^}P5Mui}X(`rP-)d#U1+Jn)qhJbFWy7hU2Q4C9IzU}w~LWyCr-@Pj}+ zy_9KnLuzk&AR;w&-^* zHUu2y7{L76{_-RDa@khnHQ(1^VX4MRu3_g@m$E{BZU|Zrk<&v6 z5iJdg&fRv~PqXV>?J0WBHlVw62gR*B2~YfD>xZT-eza;kS8P=CUY%$X zuok@@GSx}7fjkIF`zl%5=nyJmcPoC)Hj1#1`tXAg15$QymQabwnL8+s`I^ymRMHw) z5xVOyB=oMLIr12?_y{6Jjy+(SL!iYmM`VK`y0nN>$w{@h__XSD75$0eZr}V~{e9a( zAuD!!|Bl(desp0^zP`JCn)<_`te}W;)hL_nQ1-fM*5_h+D&9$6$PvK%Bt@?V zXuFLQzanwsjAHOJ?@D7MN%?5;MicPP;k*!IT(Q6+!A!%_LcwU%{XX>5-lBN0;4B_C zoeb*d8{WF{4|v#vLzXYTV-iZ5o=TKE#O6>Wro) za@2gUHU`G+Yu>}}pX<(l!R{e5y3ogdvAAh<)ZOjUHqKAEP|RwPW^wM?c7gA9uyPp< zs{<34*T3k9Fgmk>Da(~Fd&aG3Mv2u3?pR_1^QxC+3vmb%lrR{gbxp)5MADXOix$dL zQdq5nzRJJc@?QP$$i?#a;wC;TV#3}xbS|2U_Q7tax%qfowKMH;ZF3q8jfQg$>9uj~ z63GKG+L|>1*_1V_e1i*rh6@_igqO?0%W`!=M%n>H4Xqj&)MI2OUXZ5H!F;f}8ejMQ zBmKxvZhBw1=Y^R0=VBiW;J<|_4NyuLy%IIa_D{+zVS$*7bl(TGjNEmi1Jg;sT1Ixd1!Z?-7W zPO6`%al_hw@aazYXP3TPzkcTqii=;M&VNBI;F+Q>fP=61w|0qdZ@1lbrwS;ie2|uU zb1IVM9?^sM9$yqt6i8Vl9G>OtV>V4PVK!d;ZD+{iB`-_WphyUWs92+T&1ZO_)WWnP z4i{rF6NF)7PX*y$uX~sN=aul9zjyZ$`&%+**-gCjr|4WWRs2$r@Rq5P^+O!mlju86 z%&SXv{?xhNKzx?H7cRLg=Q5KaV?uRV!oYG-Cx)!DAj4Kj%l;ggXslG-f)pK#^lO%I z_FAkDg`+CP{DhB`=8_gL zj)WBB4jeB@l2H&|v7xsuYlz%vgKm+L{8X(G4U5jTgSt*o=7TKa>`&@~w_osf9{G0M z!sJ_iZ^xC^0Pxta^wv#RgP)Mdzo4+|yDexuRE1zAv22MsC!&b6(E?qv0L&6%S}DRx z-pQpk`f94Rpab!(sM0p0siAJ<5p(Xt!4-eB@mKTw)}HhMnSv^U(h<@fdvR>I_4K);)A&)ELVqD*gi|bWcrH&~R+F}TfipZkC$*P<@RP?3~U+~*cAOA+B)bH+F8J^2H zu>;uyjy*{Ta5fz_x|!$h2e9qmp*QpVdvk;3aUJ>rWX};~yoV0Un;PA+F5S-dTXhex y^T+w){Biy`f1E$gALozr$NA&@asD`){h-Ywdj=_uPkc^%fFBLc9dn*kFupFyM0HiYqv2x=?DwqaC~QAR$RP>7*Pd zRf$kns$D6MZdcqkiAl#vyQB25-gzoW+vtz?#oSt4Y%KREFnZy_~M*~2N!W?tXalFb$4~JEg zhd2G^Gbc_y$KBVGUAG!z7y5%TL%#0@upPMF;I7|E7|aSKuPfCq zQel(8icSt$4&p%uy=b5jLIvFlbH-E#`=XaUO>g(N^X&fp=Y@yPe=o(*7(2*zgYMjk z{)04t?ZB}I8H{$@v8^#R^VD?|<&8zKA8x|tk+u+*d1S1KPBd_x92pUHEpL*GAqHZY zf|XIMFtHv^y8%B_ptB{}i9ojp6+D?c{{`R5KDF%POTH{Of1?_})UDgF@0TIu`voPtbKFy|YvNaoTDIOtKVi6*xhREXrWl!E9x($0lXMp%0W=TzV2JMrG<{DEU^n3h9e?y+ zazQ>PzgATKCp+WXi7Rs0Jf^M9P0dDwLxY17l@7QKSZfoKuYr6W)|kX)6BsQ_ESWV< zqvb(dc>q@&LW^gxcmyv6P7IY?!(2oA`?}6O)pc^LV4>@0v)umE@n+{k=Y44Q$&;_~ z|2GC$I_e+UF+REac=!FS3!4MQBfXyStF=E(<&3y~z9)$Vt;A{rp5HyZyd7#w(w`a4)bA4tO zbiSGK`_sWbc<$}Yd@pCiD{g>0Zo+S`N7QrgbwAN4?Dr-z+tfX4oc86Tp|Pg&YV%@M z8=4m&E3d(gUxmvzfE!0?fr~hk#j727UjuW4Ai=;C2&kr?f`U{?=%f8-u=#HgXYRxI zzl-w~;#$@_XtDUleAYQI$9&|;ve9_o+7FkX9{4GFg?+;-YJj_UkX^r%@br6GHmd$Z zd5G_3A}70YJY?s!eOAp$ECo0EYGlpzxb_ujJ^_F?!=#P55ya&fInKHIk{8G3&@Pq? zU_`JA(JmGvCJVS2K}t*%Vi)V~!KS{1&F?|73S`uJd&^keKa=_6C8hVbKi-MIe)R{L zyZc(Q>+e})Xn$`EU^~cUC*jF|F>(2_(EU$sA1>^lJ08cb>PX&DSC&1ra~}E1e~cS{ z73M~f=)oDmHSy9!q=C6Mj-2QkIPpk*$+q+c2F4&J189lU9>jo257QE%K(qi0sDRQ% zW*q`2@r3B&aMr;)HnNs{-H#%j^9W{S*1)nB>KtBMm~RkW z3vUgab3`|SNE7flmjT(|zHA#9rH@#^G$Pi=G@{l+bOEsvEMSyCiD-#g0UB_=BrH6O z9=Hp)upi&)&^v5#{@y9?j;r;v{M{Qr(*MLOVFdq5bpF9#biX`C{AjtRsmp(8ndPJA zV>cp`m*6-26Qr>QiGoN25uZk)b3lfWVUht3hk*FHyR*9AWjOvt2GFB`)}2}b6=D@) z5hySMRy$>p3P(iL5Gu?97E2@_MaDKloW?fy6#0F?Emxgn-kC zQ$;M|EFe}v{Zp*MX+Sg}R5b-vOtpSbI}RgE+OEY$z&Vb%vNKzl$Jtc%$KW?hUPMp4HA^(-P_R)SVY1AN=# zTMo$uwSdNesnzhLAc3G2GI=3x`4+SYWVyPrYsX<(CVA95p1GyDRdx|=$II`(>}5x| zz~NgM)t>IkN3+qg^y*0Uw#fUd4B3F*Gv?VID`;E6J)4EoM0pf!W?3*HiApz z#1iO>vjjWC{{;q7nd##144^6oT<*X(II;f_y_p#xFgBJmwz>u59(o13FjvDCX-35g znLHnfC3@mn8YA9yu9=M07pIone07KI;En8|vL&MI_uK&7fs^gTeK-3LuWIT=)fM9* zU#3~;RoKK@8mlhAf`AVo4zor*%CyF0Lrl}G0G!3d3se(~V2O&FUnHKY^~9Ch2}jIy z7>H3z5?F<)LBlh3;1K`u1GlsHk?-J(9vI}U7RxrS;)2(m%N1|Ah>aI5gQ7<@U*KIj zmzu+`*h(noh}~mkD_g#N?MRsT>zUUaJS-nvzsr94?j2;j3}z%R7x$n06@SBM5kDI) z91jy$HZtu;q}f3>T#jTN%<{x`e2&osmoVRa8)q%RqfSyBpd&cfK(h?73}+2AQy>S) zY8|MK1%zQx28v-dvk7UIsS-m;HZj6iKk;ckv-6KxzaG3#uEYeY1vu7)(&ucs`U2kZ zo-5gS{seL6I9R}0g-HSB9OZ#W@I{Ghd8Y3xf_r>ETWI;WZuoHg;>+;|@{*xv2Lg=j zKg^>eE3%E9>z0}1>P!uH)+I=1O%ltbiIWB*4b(K1eycKwgva zgVQi$Eq>_Tuj5C4@_b^y4^;uuMa}x;-%)H z<>ie2{lDn{%^Iiwy7$Iqp?y}CS+7D@t|wcy1xzsCKxl)@ane8~BdU~_0-O-EuCMSP2F(^haD z5C<+#Qi97sGhAZ?>5MS5zvLTVd76j6`UHpe9-*9>A%sZoGu-Gh-gv{+yyNG73|Gfo zN{-+W8AuMc1b)D*hM<8lP#h7nh*BV`m?rtbX@!VGdeaZ>v0AE^I&qs}QOL#`^yh^C`}PO<#J~Rn zPv846Zu%ILzQ?MjvZ@IanUa?aeCw-^amlq;ux$M}R+R`o1yg32B<5t69Qoqt*W|=& zC=#pc*$~p-Bxjla7LKCD(~K+&Y`*GEY&ic44nFxbjcS@h`{vmD)B;yrzZMH6 zSi~|?^10i`@+i`7#P*?LBz9vQf6(sQ{foGryG{*;PH6`0*n!)*6W#k;BkP)n7akwk z+8k}Xp@S4bT%(CQdo#|r5>`tNk`rmtnCS4(SB~<@4}G0*WQH|sp=A&wvSOWUZPN(Hsc>wGu6eSj~nUV$>9OAV(XHkRn~m#I)*|KrCPu zKqF$BR8cK4E$|~}QFXU)?>ctTf?oWJ4U%}tphA}`(ur$j?<1-BElb-e%6%Q`Yvozn_;6vPsPtoJ)p8;aP zqdT_c69>Ni=)}5wYvWDJ)M@E7Yr>|p$b6QtUj#J6kB#!FkM8BGpMH#U)*5PX-W6}= zbvOKXth!(w@@fi{y)VzZ6Nk!2&;B7UWBaM4GTkXKA17d=Cmz41o!M4h*H-U?(-3g&2APwDDQ0Ml z`0SJF7)IiwNaV+#7sWEv8wjRe~i8>2C{|76=h1Ipx%y zTyS;HkNw&$9NOFG`2LbCgBT)~=g@8;rD5W|t!-G_$t8R5AG=b(?l^^Nz84KaySJsm z=KArb(J^OnO+$kg&b%VyiRDxcv!Lx!nCW66lCAOT$HWzL{eKF4 z{iba%9$DlR-e-^8v8^%o`ENhAY;(4`eR)TV7@Ra4G&XEZdcK0o9SdcP5C6)4qqDHU zHUIo)xcnU#5f{FMh8|hI48x<&Cj&@UgGr8l=)X88QYCnl3 zE!COONCd5w(CwPVAki^U8v#AZp+p zzSTxd@OWpVIo{a?SKiyWK)_zCQu?AGXfUOuus3wtB5~4%N-c9{xK<+xoR%SCSQ!~x zv6Xl2cn{~i{sjFKUn9#$6K}U_X!bO+Gt4*fl*mGt{&biALP_p(M$TG~v?od8Xo3ha zS8G9}*gl8*~w@w?_li?F#?+M#h4A%TCwoF=o&m? zv8J^HCI;jgYK8?xmgixt-OuJLdp)qH9^86*e88agzO<`kxg#6#NK`D#ki3Dc{;y8)-6!WbK9eMfi!YhrC*FHK zt;yB6Dqt?5{mG!Y82#3$WSVA}MO+@}9)6BpANm@PeR~%3#`1{<7oIo56<4p|tc%wY zMq8LhoY@jNd;no}+S3MxT_U>TkgSOSF-G!EPHZ`%UQ6!(AmIP2FWnR|As z)x*Mp!PnU>3zee52y?4lhPTYj zv=UKEQ7`EN)yXhNX|>%&E&UFd7 zzU(44Tzodte2h>YMWm6Oq@?mKY)dH)|8{;Q`=N6uQGgE?h7NAL5B4-=|MU2MB$F0O3e?10q84>uBrPb3aY^6N zdi2)Ge2l7m800ZFy>1JeUiSv#^bd3RxoMty;C{Yy|5rIN)n&uVoM(;{eDY5Y@bmwA zE7Gj(sFq>|bBoiv_5o^jI@KjgC+5(GYSZDW;Fm!h4&Ik#fZa#xlQ=rwfw}}S#3cEd zDNY^cYYbAU84E)rm>GE^<8SVnqkEvs`blH%1ib1Wy@e}pyq?iDJ&2DJisy*)eZb*m zBrzryk~0*Bqi|4=E43QBn3jx7GG(FmL4sJ1IR7y4H_&LY{=$u{zvN0T`;j;E^-q0? zNACF&>nGsg-X7n1Xr66v8mA}%zK*enonK>rGEDLnf=jba4JT$kgDS+4)5n6Y1MUH* zG{g(eCBkO4;wVvDKo0!Qh8X=G@8+A`5lbWp08 zBS1NQKO-XzHf?JWdS${{6HH~8;IW#DiVav&-RY5G9h1b6J`-I9k?U5!upab+23T^E z`Ct%3AXA?pBF5VKb)Ap6dKzldt_L$=m?p|7=N7;#-nWN3KB6cNHyCLM!~BaF5^Z=9 zcGB{Bo>#A{HS=10-Ik)`kmoNsnSpanv@Fn~#Nlh%MC$8{&#NV+o~gFfADATr2a~Aa zCC;6;8L(^M;vC2O0kTq@;gXtIC8{>$#B~IjoM-)iw*)&SQCCTxd_+bZu4tjsd z=j?@|MH@nKEfu8FlthE;M7}0p;f%UuW-!H4;n;BI0$MwC7YACzARt@(35r$&9mxn4 zu82n4b7Ht{!pl`dZ>mpHw3|ozQ37QYG@6(qA*5m`8w4-|Ow?iUl?Za;<$^6%B@bv` zt)f~qh>8skU2>fK_elrOd)d?^*@E87$V=zh?65~{)I2fs>Ln$Hos@kwi z=<4uvC&_zBdXN-fNE|H6ueE5wnM0$ZmBXT8l~|*1sMGJB|6U5)fqOAYnHQH6-cjc` zoqfxd0V`{E9SkcH^RSR+Z_2IIx=jrUHgHlk1f-*O1Ilnp*D5kZNmMg}#G2nngRpo= zw8c(|16Z-=eTNMGuHS1~L(!1i*9MG+st#c$`LY3|T8fIJ)z`KNYZN7}ijX<1G;?Ld z91ovL-=0!^yXA79RuStdg2Snyy`ruOzac&|s5?8f&dC zH@78A0S3aJTe2a_RL73v)7@x%qHwcQ@tYey#uYV>u+s`b zwu4Nz6E)*b*B3%BstH)oB%lqZ^Z@TI)>C!>2R6{n5mjVBKL^mHnzk5-16mmqG-%4X zs)j|MQhz=jHRY`%W*f4UMf%HN0f%aR)X-=)R6LgY^@0DumiT{7BIJN}$6gPOiMdt1 zsLj6O#Q#4cSX~`=dJD65)p_Chc5_$17m*X{Qb;D)LLXPfl&sLj>hM7TlYE3M(NY%s z!ZD4#XzwG9hEEeGrsY63R4xW3hAiU0(^~$mp<+pR zU_-ggmcWDzN%T;#u7fihD2lRVk@rAu(BUfNdZ|>36%4^la3<({FVzF#us*RpSGZ|) z_n-YAs)uYDPIkWdbpofh%5O*7`NTK)-(49coRAbK88Fkug+;z>HJgw+!qp)p8Q#Iv zLC;_QUnlt1gC#{z$h_esja-5tQIbMXch*4m9w?)ti=96#AsNoV0o=q|v9vmMI#4tR zACWqnm3)OnhPuBD;Ifui67z~^RTAgAX$e#osb&mUm}t}AE`seo#Xgl&U793d)9;^H z-kYBNPIJPq$j)gHTo4SJE0*KN+I1D7)LS^nV#$aIszztL$rt~N^2dMpI1`heHEUbE z_KI<~UD9UVI#07*f4=7I!#W_TN3$$pI*y^vGhjqZNs%nwRmDe!hYvC8OZxK_4}Ei<`|g|Lu{|Y+ zk0>E1nMGPzMx!A(QT%WPEFaHVHrgO>39Ysx%LM1*P(yMCQH5R+ zC`v~x9sT*hY`5Up(UPM_jDyD_Cyo|0dI4L}MhoSqe`y=9zG#MiPwQn-HWUGqTd8UF z^ej3%4?eM4d&;Cc7Z3FsTzKAxnL|!(^uP2)di8>|Be%F;9n1B9om-QK_A<>h8Y-S_ z^>S!7ab~Db{68hP93tSvqan~)w~eXZS^U+R)%bOlG>acVkYSq2=5p?OTRqcOXA(?_e@U+PlTm%B_gJ9x-_V`Ri# zqUT7IJbI}d(#UD7T3)aJtqmZCdLgB;eTvXxNo&Qqgyom<^-ujZ4}IZ2oI>6aoD)n8 zUq{FVLKPEc$5hu#)U+uLs57u$ECyo6<{ z*-KnpY__Piop!1zBU6ga9V^i80(*J5f-PVaigR z)bdYV*Fy=K(b)JZ-1zxC`|YFbx%WYyee@~%GZm6S)~HvxiyxFA{jHnGV#HUeWH4lK zyfw+8&V@X>`Z^xp@K&~L-NsK}GRnI)xA@SvEB@nuy^}AFy_@#rI2AFerURwZz{C^h z=dig2Oe8JRK1$V@tMaLS{@WXFD}VRp?wTT}V>`;-+mNkC{qBjJHx=tFW*z6Hgy;;n ze3WdYiCWT#25WuQC4;0Q*BZZL3C%VmYq#Miws2xv+4u0%Jp1TVOh0pgx#@XAu|&>a zqS5&P2bQm6?*-eLX-@KVYb*W9jdWI=&82Hs@K4V1yk)&-w2?6vl^_4hBiwl4U-295 zKc%~DBStlp83sXbwa`Om=2K!P6Wojstz%_&BG_H)KEe;P9rtp#x6EGVWsPx+?-Q`6LSO%*J@!gq`iKeBn4Ck37e$aIcXwg$-;LZK(mJ! zS+@z%fMoE1%eZgYck zMukgPWi(NoI5O|)1=usKOrJQwkH_5v9Z6f+s3!HcCXr#G2PbBeFz6j+pV&B7WZgpc zNvHEpqzgM<{x0Z4=-a@^eHy?ra7+Gh6=IA8S9EWTKT(e%0?^66})BOIoUd5-vKjY7DTuqalFYcY= zckVq%)F!|3`bloOaE#l&Rr2NCcW{UP6#4iluH8=hQ>|I)!U9FNOBU1VH8{0{I4PK$ zQN3o%$9QPzeyDuE_6u676Wx6++1VfC{-=IEZlCD8PsaoJxK7n&&iMd(qDu^cyxmUW zztl4G&;Wy&A&GJ+a`tJ-ss@-lN;z|gLIy&#PyVC+Xl0HjB|qdIL;Hs4w zA9}Rl?I-?#t$Kvt`|E$p6=#p|JZ!Gj zbH%)7H*Wc(;-S;Iz42+=Gw%9((q3xk{vn^6BfF{5CvX54dPJm-Vdr{Ov)y_*D<@S# zBo3bfpooQt#(>7Eu0L{!G}3;eu7Pt|@+o!XngJe9TNen-vvob$kx(6-ZQ~TFvbhjhZ zi3(%}VcrFIRJ;^+BA9#o*|%}$E3s|mX*Ix7BdouzxU*a7TVi4Rn$u;b$0VSnWPTOV z6AOgd9+Y)CVT@^4k}7qs)g4SQBxrhV__qybi3LMLLa7jhPBqO6dOUWl$)7(H>CU#; z6b|5nFlt@q%ZMjZ&`444d>7^xQhiUI4i3j$=$wd|TX0WK7kb^Qj}^OLsf}Aty8#A9 zxO)fLrrUY2SG3+(mhy#mU$b}wq@P76E|u!c7wFVHGP8g$DqNin(~xEZVKB;LDuU9O zatAR$tTSdYA|c{JMHL*Y^;!O<`!E;p|8J~&Vjnlm{2Bj!^%wNT=(&u{8?C&}5jLX+ zp(sD)i&;k#eKt&1~Wp?3XFg589dkM|A$Z##5L_S+)y zcLdF1lbCfxG7+a{l>GuJOR_wJhKDT2ywo|9Iw-2e@TB{ssM-Os7UKpIbl;lXD4*pr zdw>(i8f=bFGoc03S(77f4d=8o%n46sXR#24Jk_vjIg2$4^RDNL0{QJ#w}lT57~b_e zU%Ab@9j{=MUBn$baAwHb+rq!;nq3|He68JeUZ>4feF-9>-erghv0q`ceQd6Wc1!4& z5CR(GFp;7IXIs22OSI?Ti zS^Ktkq#HAxGFQ!8lqk_TZ#AbxdKKF36X$v`*F)y|Wb-B2LWvd?8mbi7RS_%eqX<|L z(1kwzo>A1>9^@Dg`BxD-YuVh2oHHg=ljn0!_YF);TNZonsrl&Mv+@tZ_2=APee>>X z$)vvSSGs>*aRZ!0QymEFKU~~CTX0#w=iV3R_-=b9dVgGfHH~QLgW)1h%sHPn@Tinf zmK0@=s^5e80-a07(YYQv-$&>B#DzYgUl2l(QlF-H5%AdKjSF;YWSrMdz-aeMJA%Kx_x@m3&^n55!ZHmIgA9+`{NG^6gE+yQ0}O%bMbfOz39@ zEf-xT=ADT8D29m$GAM_)K^?Ev3o;PAX-X!lH$t>3B4dU6-(K-Q@gFXDzil`>h=|uC zv*MOLcKFdlKfCb~NY5DiUUvK|?u1{+HyFt7Yw?%d#ynIX2R{Dnuja3wt?ULV^+znq zYdURhXC8tG!6oTAI*1N)4jn9k1w$1_NW0W|MREdp5USwO1)XblW~Vw;IOo~Q1@bH| z?@QCiYT9nXZ|4rK-?csb!+en2;0byssfq{RJ8_N+<>lVWD|=?I&LdkDS*4EgF)=bp zIY@Pu>UK570V*_?WUGx5iix0f|vWJSf$OE?V>`nblX&sp-?;ZQm{Xetq zueifJ+a>;kf0$>z#fxJn@nn_Jc91>V-L!Hn99z-ucPGJ*Dlre~sVAkud>}s&vgOCN zEI%^!ck%XhAA9O-adNXsqiwPL%R@JBxhK^pik*3y>i@@+_SjahS~|u3IETjEQ$IU0 ztsJqFDh$4_o&Wdiakc}mTR+nF?|joXj9ZgG{yTO09XlM{>bMR#y35$UJ#wa(SW& diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Exploding Head.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Exploding Head.png deleted file mode 100644 index b87d29d7666093a4c08d07e01745dcdea85ebc0520ca4c9f8ecb0bbac74cd20b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14935 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 M07*qoM6N<$f=49@2><{9 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face Holding Back Tears.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face Holding Back Tears.png deleted file mode 100644 index 2ddd7c411d27e40ba653371509d251336b944869d51dcdfe4c07e74ac87f09aa..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11764 zcmVff{daFT3g4q*DBQ7YVCvyqM~hWdv6=^YwgdW zwq6ul?X7jzg01(etyWNisAvU58WJEF5;Bk9@l1Q~^*r~Fwa+(SXua1!Xw{p=Yv+WM zefD1adDeP{&ogW|K8}y${SV-3c2m`LxZ#~JYW2!1(^H3*w9xry+&u5&rQcMWbrWw|E`hva7-?n|Ph}gej2=JrCjQ?~7*gD(> zaL-;(+57ImJLV7i-OY1C(Yd(HIiJAkPFWT*2K!P-5=b22AVdaXL9oJT7Y;3DT9UBC zJK5~9@1z6CHy&9vde7R|ADHRgfUU!^3F)o&d){?I|EitiKV9VE zWt|W%&4gt`eU4%@K?YNFID>%{-|vE?n4};cB!C)d0O>j@+l7~Afs6-qx{IGEXf=%- zb~rB^$lPc0lg4g7=`B0kbHtR%e-b0)KTFi~2*2;D+R6Cx*J#_z>lv%+LyqQH28;Wx zu`mnCh>G{6AVH8)P=`u_QV9_OF^5oqD-b8BdK0{9kytt7tk@NN*w>b9Z;SR!Ns;q? zy#JI85B%-ow@+>bup9AQ@gFam{zDmHm*abc-}U?1Y4t<-ZPxY73`xfj*FYr0D8Up9<528HirrXe7t-DZwg<5$UQ$TB z7Bh*pcjn@^w4Cf|F*##1jf79m^r!D$_UHM7kDcRB3p_Hrcqd>DZ5__Fdv7!8+ty~Ptxc(=@7vpGyyL95PmbH=`2Q$H{iHMC z#>??n^j7_w(_hM(;qAjUJ85dwAbn>Kh1z^|TDHZNeOUh*nEwnIya36TfotH+V`d;( zoUp||%ml%(Swly_O2kS`74>aIk1&Mp4y<`EI&lZC{Qw~`QdhUm0Uz4mJCxM7H)*zH zn`Q2I7rigs^w_!oSTf+&btKPTPx;MjnfH`J-jk}mQWw@p&L1xOmOC%qt^`YvfwOT7 zUV!wUfu;jUP%wx3I$rug9Jo4CP1oee#BJ_FXaEAHIYJ9Ufl3Q01LAT(P;Fw(O>poQ zZ2AFQV&Ll5+0_c&f0<0O10}6Q{`Qf^$hGIaV|=pr3_o@ZuyrJ|p7N2`CFl2R_;}Xf zDaEOyVd&gG@xJXso)ZSvk}P@=GH?b;hA4qGCWB z2_?|RGzTpZ0knm-?ne)N8JXUJYb03ibo#EgWe-mHZbvpvHj-ai`RB!Vd(ZM?!+_qZ z*?LWS#b921xHjnf=3R`V50ikA;#?m>4Rsl~8s;**^?^9d zWr(vMEd5JGu9c*wZ>Eah7 z_0^yb5is9}k>OkoA;V@Fkm4!^C>i1$f}aI?WR8whGn{onORy59g{WfEMYIFffe?Tk zu^g-mp^Fl5E)d!eqkF%KYwyMCb&ByKOx-r+v;8@_&t9|mhVBQS3?}#|h4^o9Z6*AR#SU&qHXmx{tNe2sEB<)8ASE8YfOzorANL_tJzs?*gt$(`n zbFV)?86WyHy~Ea#tiSEpIc@$}6MxUuwW~+0e9z3XMi_baJm=C}%A$>5cpiSyC5YA# z3y5<-0wOqEbf!cqrz-wuIC^AvJz@()h{uqKK_I4x1x!lJ0zw(@L5Pgd0+9kxporg_ zf(1cbr1*%143I!5Mv{Jqzd1QdK<4y?yG{>X`T0{}0IjCZ;AROL^9oR^c8d_#H z`PFe{SKCh~+0U=KA^+U5a@gFlz;xs$!p>{bbNY(>W37d$4qQ4S&IQqKz%M!nH~%R} z=pf`6A$qSGtrpP|C^1URN|Z7xQt3pyo;?1Y5~p3Dh0(&Sjad`3X7ybYvlc=J=)`MK zM43--r&M0EDTZQ{s0BphzZ+mKVA@4SP9d3p3feWCM}{sL73O7H*Zh-@ydhmHHxX>z z6Q|!3x`0_+gNNTbI$Z078*BBXZ}b@>q&1usU6OgHA)}{YWw&yNrINp8T(MYmrZk{h zf@l;c^gg3P?I~6$aTX9O;tH=EuW0#11|E_9M}8Bz9V$l+2#S?)r^JaF5bqmJDn&vU zMpwY-NrX-p-=}WylKD1JPx@<}aMR}BnLjw|<^QMcfGcpa9&Judy}!RtPqqsO%4}3! z+3BEzOY!qhMM7_vYLww-)e0<86b%7i6MQ2@Ly4GH@>wzc0YtSB|4j=_BZFiv6YSCF z8)XGw1ke(f34S2OG$2;#12j5v8uf{z#Dd}GuYkc(%5H~bUhsDQKsi*`)B2|mUoY!X zZhT@ibWd3BUz5FTp3_&fPaQ1#mS+hw0aqKuEjk620<(ZK#Vjhw*@J+E0^gso=fSN! z@U4xwG{vk7bb$^+8?hEx8?!c88)zZcj*gY}jxMS>rtN5olFy1DBUIK=frT8&O7?Hx z!+p1J!Z*^2p(PN|YL`UyYEfhwB=eUezJ|3523Mv@dv$*~BKGRNZ}dMWR}f|cJ^xV* zFhf{_J-lvs#COa8-W^V@e{J1q*Dxo@qLabbFpaCrs?`?{jbf+F@%@e+o450)zxHlE z`bXE(IXsT@Wn9%3qJFU6>Mo+PtX4d|b9w}QgT`MA1M7IL#9aN9-`VA96uf(4eJeGZZs zr_A?!=(^8w=-~sT{e~9NQp4h6F)J~0lmZPo>CgyL^Jrd@Evfm|Sf8dLylK~4M^EA= z^zm3lN6)oQ5j~*G?~OEkJw3gl5=?v$+~`nrWP{>VaT<_d)j~3?D8L1LqmPeV_fKs9 z<|bAz&M-+h=LIi-FjZMTai#Y}iOmr^W<|w}xKrG$B{WC*R?1k&<2lvN5D92|KPxUc zo%yG%q~-z(nC882`3EKsbV&ytp)6-DqTWGem62q~@F)ZUMAFmxwSOpS$i&3&3K*M? zUJSX%WAh(+bNxg`UeQ{XSu!tp%^jhyfej6!8mb^kPh>>9JCp(6NKk{ndh2Jo=O6Fn z%+(o_hjK3X*%z_kv=a!eLvcbq(^3o2h~0=5@dzbi-3rgCtR5|qP+(Hb>VOE$^;UDJ z7+9cXflsD+_N!h^*Mx2{AhZrJ_S7*h`?Xhbcp~S-v6M#pFz>kX z^L*_yTSx~od}ahKz!Yy*xe6tCAsHCJ=U^sMUr`GqgEp9SJHHNa-BHriA5Bz3F3#N-G4qHJXFlzzwy34JxP`SW@aa-4t$!8suru2ZxKK}o2U{Gf`Wm%2! z139aneikoy%kO~Oj)Z9(9z-jYK`W3=Ffkl9i#&+LNSB*+o{kI@mwNX_{A7aw8kL(?ojd6eNLf(r#953^1q2Htx@yMxP> zw2@LAD5N4wDM*JqUY~x%XIEi4J zIs}J#hgcG)>8eB^dvq+IhliROu5$L`HvzE@0YyTJNH#tF3}ab8KB-5%-r9)s6(f54Kp(YsBC26W zOh>V(^eqSRIA>_t#mW|hNkq#S-t-0C&IZ=J;5-(c_9xu_ksEpB?mJoB55af%?&r7j zov-ZX)MqTHCVv@l%Z4?_cn28K^09T)x9^lK z!>h7o1Lrq16osSKz%Ls^027C=_w(+z-p>QKALNuV814re8KWny;`B?O&8e52MV9P< zy|)vlS{$CtnQ4Wn;1bWspkruc9xNQA95@l@8x@=!cYvA1NEUMB0n{q*P>&#_L9hh0 zoFbXtiB2A1W_+57X{Fl@fMcXTFmGfKH|UWCCu98=vHg2{+4$wJv1il0yzw! z@F2I`G0kUho8a!PGmKBhsrC&dtQ~n-Ea~HgPaoi?Eckk3YnnUww!_{2vGS=ex(L^)KMU3(n*8 z(@&vMukpzC?c9I=_c=T{#eseMSvp$q)?Zr8tAC-68v~yWlVpp*4}m67>>_XOjy`|_ z&d{kD*nb!@=#EoncTFd)mcDVpUvd2p8@^0_NaxF{oqmC@3)XO0Fz^mZYnU2piW9+! zBX3PZ^Sc$UQp0;sdwapv?`ra~FYo4}i=WAd{`e1h?sIoD*CgT)Ll>ymf2;cfRYLG#dSw8LAcG%t(@iSH1FA`R?8KPzK}jm%NB? z|I6L{#=Gw%r^ajF&>&=sDuplfa>SdoQ1O=W_ZNCovfSjf64<6Rf(o zxD=d=kb0)BtU)ferk4VLOdPRlXYrz}fE1n)iGdy*ufEaQ$H7#QG7U-}YTw{GLY3(w_( z3ohiUzu3lYH}AmvDOB?ccJ3h7!fAB6GMVP~TMu*fpY7oE(@$spx+eBqA6{L%Xk;VsA1;sUc!J!b?L(Liuu z&OtCtOv<|8jFYzi-btgv4~LNc-@Uf$;zfog4vnQ^Lt6K!iI^GYqm3>qRe)ThCmekv zvIOq}7l&N*kYcx(x8 ze)sq39BSbuM?)72(PLIC5h>{&n&P+LeLsUEqx|A8{sJ#~$xG0R@ZLT8QJo0RIYviE zX|-D1b=O^d;R|0tO?dwEp2hWlx1F!uo{(msDpd}AOv@9c3S$a*ADLuMq~^iNh_(+e z24LN>U_b>hC9XK3KT)VT)m~z(b5-_2v_zyAAXkatRp{sXznh>oG{6PtJ)JYpdTMl- zocjT?P7o39zWeUk-Esfs`?=+ouX4#VF5vFXExz=X7A`9Y+QlqKtssOFp9Q|Wp~H7J zO>^$qXK>L)7n3AOyr0Owu{?U>Z~OM`hzLoNaOluMKKJ?0Gc-Jp(S;{){immpP)9U? zRtn#$+{oT;7Z zzrSTK1jAb=W;j?IM-xi;hg&CEuwWij(^D*3wCD%kD`qh&&N)8uiBHTf3ZEpj+HG#z za63;~c@p2adx~9q21%Wv3aX(3_aXzGMngoaU`|Lep9rSRn@hVVwgWDkO}iZO4qPG@ zS2#GU61df>LqJ{Js!7UyI~z>3N)GPZ!_J+%5RqA>`&i=lR{u5ETtl{dBIT1_e#;2578qB%Xz_{0SF-1A)y>_33_o;=Sf%d&cC#e0u)j@Q5b z^?d&GpC`+*S>p9RyWO1q`}Q!^5~iAiF-1ko3ZBlH><%zKr5rwZfa&RJHr}@p5uqpw zLI{KqD9e%%0%@AEWy=<>xZ(>NfMGI z!8ymBcizc!pZi>HxZwtzbL4qGyDR4E2UVpg1+xUPCTN#H7igkZM?->Yz&YWM{_u}D ze0ZE%t@bEO%X`n~KKD5;yX-P{?%WALS(g7sFXf>`wV;sU>aoHc4A3formPrpM7zjQ zhGdc-A_mYy0CKEnmWH_6%SsMfl}uPEBSRr5gM*{Ew2!iwCP@;$@P#jM_St81`Q?|h zbm>wK95}!?zxhozY}hcn(z7h%qKhtK_wL<1_~3&_R%bOvN9R$?>PG_i2o{vg*BPBR z3JBgO+3@-n^O5eC9K3*sx*tdW}YdTCK+T`1lcqOSF0< zsWUV@8h5ltxFzm*Vq!6dsl(LcdQrbrlzKN*0Y|)z4zW5 zJ_*gs8fqnKir988dFDlkB&h1_ zz0x$rCsF*QX-ZbBp{hLp1ux(OANT;vmoI1G!iBu*S6?-2qDFCKoO|I#oH$YtigwS$ ztMngLKB_>OM`OS#rn!XNa4>%CbikTQ>ZNXPrx4RzoZ=7@T&b1vI--z!3d*aaKfi~| zU-DvVS$t?Gf|^l=Kv^k9tt=hyJ*S@X6af1B`}yV_cW}#BzJhbUvXqo_o^}aOzi=s9 zZpE}-5kV=ffpxcX(Ya%sfBvQMUP<(JL(mA?na%DRGvjAp{NhJF=EpwqiAwxLW@lN( zFTUi34CLR#nTs?xi`jgpXk~P0MFUkObk#LW(V28`-(1=~QBT+aCPx?SmB1987;91l zx?$El>&ZVe5DS!~WW{})acYBCUwLgLa+2UI0$~<Inrp9RQSvQnIuqd_4M+e&LY*cHk~_HOO>bgou%A$rxGL|| z%CaJU%yDo@!pA=PQ8wSVi3c`s=ISe7!zVxfah&%cLI{CZ{>C+&b!vm8*hon|K40$$ z5qcpQR+KSH7sR9^V2sO%iws!*e`kOkO*Y)l*UG)~7p7~&nnW$uAhiy%#-qv$M_ zk5+K8b2IF0KbyVD@9^ID{xP5W^ruO(8rkwyq>Gl3_V*JKM@T%*B{W-2e5qJjl2Ve4 z?`P)0tz>lg<9A)pCFh;asr5giKO09$>9vATJf1eKe3(t0xAU#LALPIN_SLkk&cG?F zVBRqGp+%U_$SYI2(`qwNtKmxJ(2ku9w5Mo2@*p8EcQ}uHKmK=|(D!vh*;hGy(cF}tuj3pP1q5&jSYevx>csht5ZG`jp4*O9JYdaiedxDC zt}ic}iXRk0P_&)n>y4O(D1xaHH-Un91kcI!PxH|JB|PnA*U)^g^A)dj4G$MGf(xg1+TZ0s1`D zSl$0^X2w6v!38hlP$1yYLYZkmaKRR zC;#-NTrhtOf8bV5?*BAiV``S0>u8$I;zHUvl6D_DAcY}m`Yi}tb{TNnF$&7xRGCvg zbKjWml;)>`_k#%-l-&-FGFk*Zj9vuoWs`}gCKH@7_#W;$_-g2TCeMHVnH-!r!1it1 z*}MNByPF-XnUkdnLkosE_pH-czHB+eLqmN3!96V3TUayyA1Q;6sfM9fAf`u(m#TV$ zyv#UlheDnvz2`b=RPDe)g>q9T+U-TKAxO@c*7LMT3 zD)Y=-EYfosMNu+&Xq<^1yI9b@gDX$?0xOce6y_tcX)%4ps>pD!dLE2mj?|SroG;*i z?EiTV*3M(}q!kQ}j8aPzN-MFdvc&nAfOlwLlSj61<$SrF-2xUe9f~M`cUo=@uDv%rw3l<%ocF=IiYF~EXwPfqgToE^&HU6X_>6=SWWf;0 z&>%hkM8s7s1fr}Ii3CecDO1me)>+&(eIEP#8HB!h_@seLBd#90O+vn(Mdc%$RlAR$ z8M=qDWQvYO{#Y*oAV%VkFrX4c(TNojG4_@XzC3j{-|L*sp=2ppwg{gMV~%JYEK;l+V@@3q9CuLV3F`t_*c)u1Mh|M@C0Fe3YQ4o+{(T!noQ4d!{QHw*B?ze z>kpq7bW?>~Cho>=H~f|zR_DijOnjPd;`{qCC$rfYR{7-4Kui!Za)G2Uo?pL{XEg5N z;d~j7bQZI}7{Zzf-W3eF7Gw2;tgKJ4Fg=VZbTo->f7KrXF-)aOe-FKy)?UFd4x_8a zLN~#$%=;S8>)yx1`2c&v0;ZbtP%Ut-y+3-P5N_R6tn{H7fHy=~kt(V{>^xAgB z#9twlP_{a87dmi<#C2OnUUxUnjiDdwDoHWmzIAKT;XRx08(QE_cB^V?rq0B03+BT> z4QI3d3?_nzpIxQut#Wi6&X;7OIM)*;E@rdEJ^~byP-;>s_ao^i5f|)DNP5uUoClgy zJzV)EsRUBV0mm$YY_SM7D0EA~EMhyov?6CAI#?#rv^J{R1)*$pDGrU}%?M63+fvBH zA@1L@^pdkKTYp?VxDNhsmi0>%nw5da&G-P51SLz&xWlrc$HC7`A zgP@2NSm`KAPp3%f6rOe|bjp-g;c1qASeaBXZ)Nsr<#C!}p*qYeV61nJRi3ya!Ek1H zRYDME%060oN~g%^be9xS|}W&%aGjkP)zUUDRKccciew`#4* z9;^b#8jGqU;X*8yClItmXVcHM3W)cJ{^&z{4w62aIU0f zk>?gVN_F(kMU8qb!39TmI*O24f>-CFan45$i`jR9*g7XD8Wb%{x-(5A7$zQ>wlLHz zrF8b!C%=2&e!CGba&%3ej=n5)~};}K@4KamfAU>~=CbsAAm=3OL08Fz_Oa6R!B<{T=sX(L(@E=vp#+;MA* zkNovMLb7nSPE7PjPU(?(#Au#`xHD!MQo-&zIRmW@;=q@f?JeBlwoFZDeSdBs*WGvY z9kz~|0lk8>GylA^BTwWnvTosu$q?d|lwxuUI(dwphCtAO&Ou3ga$FxPN`Ru%WN2(5 zonjszx?wlh|HU5ezOzNQW2E9ps_d^=vJ@V3#7hgiL`k3|bo`Ugvrv={!15wju>v}aNd9?E%eTbBnm z&aiV^oBoEebVPai@4tctLl04m@4@+A$To&k)v7eAN_Uw>(PW{D`Kl5QO;Q#)B#JA% z+E$fzZV#2K?WreD(PjOtZ+L7&l0SfJW}9$pZ(?T8>-_7JJba0ndS zB*TMoTf0as6O9be%BXdbfUaT^NlN$NK9-z(Cg;E4>11EL1Gg|^$H6vV`lmJ`!oWbv zz>uS_k>Fhg#Ra3)Drim_)2&z$v$z3kSEg8};M^Bo%#sy#W**u@;?h~dT2IrOn@uc` z%82YG!y-aHIfHg{aFCPjaF64bR@nMV@Fo z%9}37J!1{Ebg%n%tzXx6miUm>oR>28_F?`Yu3oE@jUdid$+0qQaK-Y7a2YP<2xlDmuf`ivEuD4uA0OZNnu4cX;u zu%+v16_#9Hw%wH96kSC_~ibR*0AZ}tNiolnf+tY zr^bn162WOzN8pD0k-pkvR`8M5WI}|Pr3bX(D9bL{g41Z6dI?+ae3(1`{wwT%ct3#{ z1gT=@(Vr+Fco1Rt=lvShp^LG4)%^9A6t{@Z@s|eam>{zTG_hy$3nCV=tX%3&H5?A7H_< zF;05gDJ(x@DZaUvnJwQSbf)l0a>Vhf+C@cAJO)+-jR>m+yg||G5Lz9)D&`C=ofZ33 z8!hJ#i+{z+_ZOc!md*R*$!OZQ@3qP68a}+gouIPBk)-BOiB&Xxb^Jg-mc*piXocFG zv~gb*{KYg=!66|~S{FaKh{od6@WV?8<_SfNJtsckB%qUfXzsrso!Un#HOwW1UWb;- zybQ#Ey6a&_Jt$BEWwV8L^Vp|Oj3SuYZltg4P>6?1UacetpmLy49p<~%-4@h%~FjjaXp z*t)>E1YC+(6_e7@d9Pj2OSUIchQz+zk1?dc0T@O zw5^mUvuo~-*ZUU@sD8rgHe3v3WjY)Zvj8DR6_dU?u3pDdH=BDO9kyA1RCYq87o>ul zE!H0x0Tly$m5mWmOY1pSGAEzELfFizeno(k0d05DPL9pO-a;|s%G!)3+Hr@Q!YfX? zA^h`?P2<+bGU1^&q-#e)_;@|Fr%tC5>LVs3=0cU?E{TJ_3|Gsrq-x~aEB6(dB}(j! zUIiLv>mz52#415j)o@AGo308Y&Ia&>SWO>FLbo8a%ZP@G;2cQqv^$~nE3R2^cgyUT zSH6$?pUnQzPj2(>OG%!68|B8U7+C1#&r)~|9=ZdR>411Ai1xhF#3NaPucf%eMChUR)JAoD&~52U=xqTUjDy8O2Q*;xDDD5mPbk`cO8@WS}r+3hocaTb8_^ ze|qfPe_~$X@U3eYI<@q_U7&C1uiJ1-9AU_nzJ_zooK<<3ViE%=QZ?#GJ1g4FA`^A}PFkj9P(ivT6Xw3am zCq6dkawf57bd)rdCKAMnK^6?J(WRcr6;Zb(G5NA){Qbsx&%FKF>u)P(34bGcw4ubG zoENznvf(=XTr+Rux;5Fd@oi@oxm+Y#T&zAnqcpe7ROa`4CG)YXy@}!UNT-Ohgm&&M zadHUJok7@WWZyKe-`;c9S^s+8YmQ{B-MWtCvg-){S%m+wdX*u-BiAmQ*X~T5Fi&Sr zQ0M14LL)pH*KHb%s|@Td2mHR}Z=W3h_srtU7X4_wSMo>qWuEJ**9JVnmw8riUe(7N zGCck|+qvzMd#|(IkMQrj&-SuK)$443M2UTT93RKW@o{_{AIHb>aeN#f$H(yj@V^24 WJU)&TrJ!X10000H_}Ywzznx4Kt%^>wD_#^H!Jks_toU?_>QOes+m#Sdf6a1=hR+%t@U63^^pry!&|f@$TdM@{sTM8*q04 z;!S9W+-tVj3MVHg3i$f^dIr+VFTdRX;UE5C|C!HxCchJ}1++kW0#T+@U0YjoAOk(n z0iB50Uuy%@!x&Ac)3q4mxR-t?y|f|{l88okhbCL}zHwig*?hTNo^Ee%&qSnui?5}? zcs84Dgb>z5WRye(Ii&{B2o5oOqzh*Ax%+HuI6Qv-`R7lceDcZVUpoW1`vBNnE|;70 zl-A5_tRh1*X)Wg%0+KU$AghO7)s`B)?_}P?}QMxbIzM4 zGBLBUnGDUW5l{sOvZ^k%(Ybm!4Z%;$>}W6;9DLymUpV^YCqJ3~S{T6H*Y4fBcWyi$ zZ=Nofn<=GrT*q!U6p_Y+fSCpjo^cb`K8i0yY%U_FB62e9PmlZKgTuAw{?~i_@;^#n zcpvhU&r*!>K3ty0KL7d8hfja{(_72s@`9S~E>gea>YJW?y>}bC%RnSVEUALKdsfv> zL>3{$sfZuPD2E{o@214<(TLk3GXE=W0C(S5EEao9vz^@c+c~qD-Pdp*W%Ci9N4N|f zZv_u-<}RU&8fO{@$6-7^Xhz(Lu&;11g4-f8`?jw&onD&FkFR(;IG>SonXqkHHcfqE zJ!2;i1ft;z;sQCibgr^MWEPcUg4}CDxD!QgtLm-6VDN^BoW7H1692Le|Mux;!= zuQNMm$#?tSwv**ehqavZ7Vg_v-Vk)?Aw< zU!UJQxY_Oh4-XxslbeSscBCQS?bdg1t^fQ#^wY^?GMG#@7qFXpF68O)`JB>b#@BGh zW;PV8aS;{A9kPio#hDXzY9{MytclCWGz>!a2upGI*Z(}D|G;{HyAKwN#U(S_J6)zd zHFlP%-!}K{oV$x|>=ME#HZh7?Bd7O9a(ruDPj9TH!&_@My)}~gt-;{*D9Un<_tzOr z4+$qXNqJ6_1v6)vVb)=ydgPPM{buj+{q)|SxfdS)MB?)M8f&*Eo|vSx7+Ov(;z1m7 z1dtRoEJZm*>?CM74iXMS2zMLN+Y-Z#HpJ^9`Ssy&__~O6eRr*F?A8`qY4;fZ;^_2~ueke#e(l_3`NlKv z3xE3gzpb}lc+YrqH{{EY!QOcf<6ZI4U_K-Ws5GDxM8Q#^oLheA$ui-6r3;LGH!m>J!J|@<)zc*R1bn!5qoif&@7Z z8m>pt8?lMkmGFAgHZKh#FYfQ}zx43K56^#K4B+mvzrQ~TA#5&uvDR3#8>3ydFxa(r zW4-_VU;Z(B_MiRjfh;!k>U(J(dCJ+mAovF81P=iTW270Pv?vW(4EK^Ivw>U2%usbC z3L!LT6f_99lTuILCrFOC5>(Lu=n~I8o;ob`Ad!UP-4YIN<9A;nhe016{`j$NKh&q} zlJin9Hxa!VV)IG}a=p>!by0bFI3Bz(Zklh1$lV`^5ajOd!NI}#Uiv-jyX}}|O=N!F zhU?oly?r_V=KuVu!5d$Df4_H;cTJ zb2m_316jbcfl+S01~i1~A=QYkI1QK}*5f9)3p&~%4z{qxoOF6`q_>}I zn~ld8xfvNQ6Cvy<+{x~P))+)$yI3p+!{JaXk@x*Ez%$Q0(+&oMD`wrp!TU=}KJT8+ z(+-+^{f|E!Ui;!tG3bI`dCcPOjwT<_c?*McDCaO45->zUd8!~mPz|^UhL$?jGvZ*b zh--=W*+?lNA%K@t@C?BO(PBJNMM6M=fPrhqa>4)+MHGYpw1^tbniB>)*sKeF^2%7& zFLZsgi|4fN(rk5o1v z`+xQm)?|j4_FUImU5FuJo!DH!WDG=9ArKJ+5kW;!X;4*MK@rSDy}h|4VpDL%J(uKa zin|pu$Q{am2muvERB#h4Cp;(I95+D-1XV;p)DiE&mV^d$++xdK{Pe~k43{F~3j;S@ zSCe%jAxjQR2!pqoN8gqK_V@QED*YZIpCk3>2Ps`M?&0Mz8ep@7+*U?1e8(;k4X8)N_^lRCNkF1L*Sng;>*XTx0S|)(+0g`sFE}pGfKS9t>^{27~l{Ny13#2xW^$VNSME0^8N zp<#w(2P>6k6Uw?Rn1{KRa?fM=%+M}nVu|)C)a7@Z=cK32Sy@aD;h=98x;+UG206g zMk%(tSiFq2*NzSkpBk^N{r+@1eSI>S+N5)3Do-*+JzSWe)MiQoj>9m^Rr$J`5kuSr*G zk`)ag5U7YKIp!tayE{-5wPzsIAiDCjTmzfo;^e}}VG?mya3^YjK?8jf>*i}7v~f%8 z;%xM$JJaLo)_86FCtcUQ;_ffLS<3qD!O+x;uI+UGNB`T;4Q;Vyd+XMYlBPZrh8yVk zB9_Ym6-;l4WCSlbza~pFBZweYk&Fo0%k3_)#PRHyuadA~R*Xcw{n{u|3qM?v%~S_X z*btF{yZ_mnY2JL#2Cy4n^5GAE>QMjrKmI%M@a2#8S1#rCwGeXZux3bD+a(zYse}L= zw}j9a9Pff-C9hgZq*(;V(G~R35|X?gsAsQ-lfWEb)eIpJRZ-QFluhs;WLL5qMc^Pc zb(dTtt2FKzH!EHT7)HuU%8GeLf+C?Q6}2wW2y}+b_hV`vN~$uv@hW~tOavhuFgEiN}Zh?CXHXUdX-u#}8@xe&$Z z1&Nh#n2YCC17s`VNLA4g2tf(jq0G@WSlsQ=(>sC5`D~J#Z27#U?n!rF1oy1o%+2fw zc=;VSz(4&o`k7Bkdij6);NRQXX!q>=Rubu=jR z4{});&r}L06GyZd!Vp&A$a6`?M)@~`lv<#mr(z&H;g-Qm2vUro3y_}jW)k?IRX<07~z&JxjtAUFyh zu$ny0z@bB2iseuuey*q~Q}c$EJW>xoG9%b28fK`TV$zXw zLSzEk;ogu@j0on48!i#2!5LsSC}B>Wq{SO@u0?qim>-d@KikG1exlRRbdr5!ChIw| z9vhih&TI9YySHtC&w)M-MtASO*qN}lczl?$EF;T1G&@@a4)J89(1VT;1_W=*MWQ6u z0zng^JxZY=a@eBjot!~@18FvKjbtEtxL>%{T%tZeqn7Ytq2^evX}CkgQJoX?gs5{= z?jomONAdwNY~aIPOeQ2f#eGy9jRFeX1Qjcu$vQB`ZA7*qrq%OuAo~Kb+i3SH@$3I4 z`uamb-uLrKW=j{LL44rmZ9{C%3XivG0O4u!GoO85n{IsV?=5zOcp<1RBOVgXaEaSK z&Y~K7h_FVmh^ekRC$$#n2y_Jwioor!a{JHT;Kq%Hwaqmyz2_>!D<34b8{Y)@#= zyEpjl|KoT0_5bq@v#wz<8S&Ip8~lg=@vB_=ksqgv6QUWxQ{^^|RVyspHpl?CN-CWZ zbW?;mQBIjX`!D#_U;aaW`}aHgUI?SR{M=6-@pJ#V5g&RIqa#|$C1T*x0dv%s#jd^u zeu?boa36puMnaa?2}iHd`tvfM+-C9OowerHSBA3rq+55|BhtBhKP zOvygIHWK#>!9t(43qqWX5zEDuttaRq;wLp`$HLbWKpXG|lL9{@OTP4*&+;q3a+Aqe zxU}WCE%>9~IpE~ZE&iLQ8wQVk2u%rSYJw~X2r(iH)MHK3)J9DYEQ-UOyvVQr?|;g_ z{H-~U?J0vHoGb&s_Urf9T7Q&ki)_~-xf4j=j1TkJmdFsVx<*}`QTV-wf5_8=Vhf}n!EPO$6602XPQOy3OX zeSq&QVGZ=peq&8O@n0XsAa?}rVRkRK?Y-|bYY^Wg_7`~?zxdpjKM;dI##Za9uE~UU zIKVZKT@aJX=^KPp-mFvmyM>oQIxH(~P`>`v8ywv}U{y7kC) z729vyaBBp2--$|C0kcm3=GqA9cViNhs5mr346l8Y(kw>=t);xJx>z(dOa!FT4L4ss zW}{s(G==B_=*?LlIVZ;prgu--yu4286JnLc#A^{JXOwn%jS^}D;IkQrHx`^*hd!s$ zSEznty|BFwuf4W_yhZ1a;rS}~6Ud$Gs=BMT%3B9z#9>W&{M8Ea}@h(BY3? z@@DyhggY;ET=~!&?d;?=8I4~5PDR+8Ho)he#@t=5|M%y9lCY$m2xL$ZXa*IxuNtvZ zW3|`2na>WY+$gJsR3y!XVJIqxGs4WP9#jI28OzgUiRqpnc)Ke-N+I#w1(95SKNo&K zEqbI|(gdn!tdex8p4(7bnb~&9vWxfy2op3oQRVD!n6+pg;cSq@F6az&ikRRN!}6Sz zXXyD09f#2vVsHR&)WC;ml{W1u-)o zDo4J;M&Cpx5`gv1b$U6E*bW{?!~iiUA=GxMH8{g^IlLBUG62~iTZGV~xkGG$vlOm0 zWR_c9nn%(?U;XM={cY3H?w=0}xNOgV;X~dXT}q=!#KqiDX$u~=ibABe6Sb()Rt0a# zlDT@t>ZbQ>?yeDw`s$mIno!ut_3d@WYZEL@D}9|-Z>oM}kCfJZ`BD4Fo{eT0+1ws; z_w^%!oB^f!0>#`rmoGp&#+DMVh$%2?y=PfjdNKifz zJv!cCaj?EHy}Y@%dClFw@twTjyL-UN$G5w6E_Da{kEfg_j2Z+a=S-BQw);}0YaG;S zGL{NU3&$?CQ7ayb0s0xc7apQ*V-;R~bIQrdS-X6mc3sH*6qVsw8}cli)U)wwSeHsM zTZRbRk8JS5mu}P&u(m);TtNiRUAc()5MczwGy2DB&51zjT9Ix~P-!8d+$LYe8Zg4)sPCnkh+Gy4$Xdws2c_XW_ul!iOTh zqHz@%l<*{qxYb^6Uz#S85L)u|8@%Ul{sJF+s89 z!6PPySWW6@Ol<)LCH5-;MMcZ_Lj7Y439DYMl28?JpEz6;*T>qndH6@+86bZ<0oQlT z0h^nfIz3nffsk`w7n_*|VT+?W6^~%0{I21B$ro{`aHqXTn{@vCbH8 z3V-Jxe2f?Wv}K;Jvh&cBY+t)f_6@{Fh>RjujkTiq6tK3f_`rhd%D2 zvI{!EGyqMJ8%oh#D%+qZsNY5WUTGWpJr?s{<=RJof@?qe3!rms{w31%Yem=3awYUE zD9S7ASsVAIuUu}u*S>S{h60DvT(IFTkNw1Z=>0N17fIa)>LX%kY7ou{JsBAYnW}(&(=wDjvTfKIwVLyLX|a&qn@iE zOvq=iQ4yVbWn2YUFcZ*FLXc(5a?Nuk*I5y~4sl->k*%E4r5UsHz#DG~hVJd{Ev9#G z9=CAZw`=!Az)VD{*3xstxIiB-f}TU!#$}`K!YH?Yb#qH-nA9dsK)tPD`=DrYbWpxQ zuidbf^4TBo%i0Sr8K8y>yxh-Pk?9$(kXk!zAa=eCfygEzL!v67aN||_Qm7I2ToiSs z>tB@EBE{1wLm-Hr0SZv4DvhGL%k|xm6CMQ_gG|iW_0IR){g#O2H*EkBNz?t84+J*D zX!|Cv$ifTSA%Jh=x{K)+uG@(25NOL(i|U!=9CGPgv0j_=Rxx=Z>kL!HeHUb08}c)v z9h4)kQ@n+OF0mR>@|jk*2({#_hg`pugh^W(DzZkWo0yJhL{XuDgHV+fHH5gQ((hG@ zbjAv-HmRB|4@JyXbBvr-@L?fG)ljC0AA)y9I|QgWZX5LBy>#*YB)yEuHt49_ zU@3{zMXPY2#Ba&r3}0!9>Lt|~XTyO;2~T2`JTwDW%mbD(>2z+gHtO(TmMsW6u*k$j zCVK@MP9H==-_-!}fzNdAeq-(GBhM^^d$P>u$h`;Ml*A_ZIubS!X$WX7TPoouoXN~h z3%_IPNS@%5YJ>d(rWX)dD>DJ+n9rHE7Z{|LLH-lON2G9>6waY}7o@G>rzhG8=mBas z!EWN-;c}T}{3u=g2of%0+92KnLY9n+5&$*B^uhcgXWWvD)bFG)xQ>+kXRF$>H1JoQ z36X$x9pscfgwFe_A`V1B8_6`^?!4a=87Cq$cmGNk+80AVKj(dGX|fiwj0rXd9~5+= z;3~LinPPl^94$AdVsr^)-@?N=TrYrb5@ScyqU-mxiDzZe9N`$j6_+ch?2_XSSy$9{ z#%&7R0d^U9L$JFn!~5x)e+R+^Jd8^{Vk<%-;dlvQtLhj(YiZWny4>oT2SjRBZ^e5M zuauXar6?B#>xeqcrfugWFSz-vQ}k`8y5DR=CW^@7<}ZdXHc5W0>!PzUz(fe{_sexz z-Fm&xnTV8$n3XP5>Kn2F!UnKWDBx%`T2M&Rgmy!$ze*R1a5l&lgk40(M9ruRCWgrd zZX4vV4h}(%S;nVOJx>UV1;}2zW|YfOCTb|}UsgjNwO8Opfn7$R%4>xCO42f?P)kjJ zpwZZs7y8o?8aK%QVWMkL~)!>k9r zS_bztqNlU z37nd60_jvOOmE)2xvUYz->Lx&U>KU;J)L!3IPF^#b9WQ#`x*-)>LsbU)Y9CoqLPw; zbEODO1Y=mkm6JUpxv8)wksY!tE(v6e_yCob7)ozJ)e)U}8Huia0y_p866x>gBg;<9A4+LoxuDXnH68nhj$xsOqnDjWn2 zcVlP{LkM>-Uc9*Y-g3axB^1K)rCa}%KGV+nAMp;0%`ha71@r5$SgN9m;Hge+Rq<;@ z71;+E0jo4c8M+SlwWD5WXLHA8R^T8lszs2iN-==eHfa4f$PJeFaM>?LwEJ>&J1g8u zAko!8pVn?#l{A)0zcxtq!C5ptBjaQhW-Iq&*~#vB?vc>COA~_GKtnhPL9fRUZfS_O z`o6zC7!2}TWkVm7#RU<(kKzB4h0~v85ABGcV{&eQ5iUc_2Y4Eivtn7XELFAa7!i>n zu!YE=#8G!v-NclIWRTpDvPgj75tUeqx>9`*1VSkXih5bfm}~G6Y8yqG;?qih=UO9_ zo3G+!6joz-hKSUshFC(3l({wa5`tt!sSAiif;NQ@QZ0Xfm8^pz*+Rfl40_nacxw>i zYaz;OlgZ@Zd!eKMtuTb}t219WUrs^_EfOH)WgR!I+D#~$OIMOXPonn*^YvO74R9$a zLnT%0QB@P3z!GMCVg6-UzMeYPs#b2NHi!&BBBBw|7SjA z9NcP>ULK^H_3SB9deemtIU8E4)w37luShws*i<5jBoSt9Xr_avJ!o5bWzx1U{dt=n z-?Rbb>4Lbf{^RZ|-Oi(b(uOs`H5+r>jxd|9pa71Ny(t{K8NIh8Unl!I#t>wHFhOO2 zY9@pQK{HV@QH($?B3_TR7ps*M5{!oI6U^6f)-fiyjd6yUMl3YI1Z<$m*)xsP_!nT!TAGJ&|fOAc*m?NRjpZe`Dp${2JV(_tNs4y87hT=In! z-KTij`(PT%H2jK}^-M<5Ty&fgW97diZh`DQ$x|89MnPNfh*T6KqNT7ZIri-ESG|kk zeJeSE*0H_(z&Bm;NU(%^J{uShX858*ml+w23n}4l>U5sdsd;lpp!-gP-0>~$w(%Pa zE)G8Ni!aZA;~!4L(a9QP_h3nch=hO-Hj2)Fh5RLA3~+DjBQH8EOxz{7n}cHJz7+Q<84GP#uWhXE?dE{;7mi=wY|cNf?L!~@ zTI@RPc;TVD3#a>Vd;?t`7XD@xd#f7aepRgx$knBapvstOdDhhdx~iQ0Y&s@;nFGif z`sAc+BujOX(`ti3g^m*I(x(BU14NpdutTAu&*FY1s}%)$pVLRHRH)o)Hz#|K=e{Ir$wi5w)J##b zg-Sdt#ERTR&-%FyNtDg+Nhw>Y9yKEdt- zUd6=PR0z2Eju^n*L(`0%e(wGHLrZ<~r(R=e%%+_u%Sg8%&yPvn6t@nsRG=SLwxVcl zV#fxJ<+h_`w$TmDS3`M4Q&hN?jFT{WTzXtnVN5lbXY~>hL-b7ERoPOl9;S#iwc0Ld z=WLD53XUpgbHMi#@V~Vlqi{qh*#bs`4A*^`UCh;8#9YKPnh?)!L{dS{@016`7^4wJ zv#{uL^T;Rf*w!Npj!vcT-9<*=N{7sQDYX+l$!Xc7nnf=9%(>WS`qf=Qt&>T0YKhRCQU0;#Ce#LIIv zaY?zQfwB^(tTR(wwI=;=hIGn8zoL3j52!2Zj#w_9moOnh!T=&Jk~Uy`rZ#u`)i*%UA+9VEN|X{w7}iz-H@&$ zcwdI$q%RziuK1i-2s8<`DD$&{Zf7O#^4f1r4-k5_Y+f}{&c3!RWqLrnQU<(*`(viQ zq6qIxX?Q@@ZI+t0X9vYW8bk~+FElzYSxX^TnWLNK^>e3_K zcN)-mO9r@n`EqvevZ`ly?@i*VFJ}w+$bWjMdr!`I>|=05-PAn5nv z0oh_)Wcn)~bbtW@)6 zkn7StPex8N$Wz=;FkjSN8UeE**a)*0tNVj0)w5D;*3BwbNWJPwmU}EEJeAdDmJ>N= za?a(ZTiF}oUZ@byJ)W0kR=8iHckh5C_pNJYK6FH@;?l{ExR67zWl&i*O%F} zE%#?($8#>b<#Jz^l`iMl-Pf_a^l<6@Icsn{ySta&A(dtbstZ+}tIA9y9yi+F1CHOG zI{KSilkV=*zSWatej=F@OpZjui7!sh<*g@D`!{~+(4YBdJLz;Lx;`mG)CSCt2qNfs z7gqymFpY(-$o7D)hO;%5qOlD5(Si?)I?iR)cq=O|L#VssYBlRxa>h!k?zy%d>vk3~ zvgcB4mtoRkq`Lm5gr}7^l(1#fBgE9h!yn6iGjTD;MafoH=(vd>^dW?KP&tjN#~Q-j zUhQC1c1*vc%Q~h_)7%TobWhdp#bAdRcXH4Pi{rI!_dR|4pIuZ4o~wdzc=Y- zb7_VHGztkr<|kM(tR15oF>UT|M3Dg!#&ttUM97Fh)lQ0I;%wVWZOm9%-obKS68yyvo5eAnQt9SdmZ|~upqK`F6`6_1 zi3UB0QE!f#<~nfn7qzhIKrQY!A#9Lsk~Iut@Fr^#bGahja$tCOt1aHK<0;{ zg8{M8(#XzJWI4lQgJ>j((lsMI27*+TF{w_}7oDk#o^4GmT`fK1Z!~DhH`xk?$H{fe zE;Y1)VYQA})mtmDT98&D+sqZo8S55g9U?mqyT>88dr^q0tBAXZX$YonBKRU`IBsIR z6O@~SID8p+IFAaY9=OW*hYy7L`-tdmR#&gpVN-CyFPs6s`nwPyWy!P^-HAP#MUmlgn^2 zHV$4&iElKG%-_sD(YLcR?(TTpyf&W`ySx-oBTFx8Gs}5q&ZBN=cM(PsuKk$!!M29i z{y@Uf0WxfnC`g*&=?)&&&}N-5JYSY9sS|2r2I&z}ZAMmUOI_9N*5Q`WREj#O+8>3w zEo)UfBqS}7oG|Z7)hw$Ttj;9mL|%4eSDMZ9p2z1(QK&c}8fX$T)4FkFH4p_dRn`3v z#`e3=+A+zg^NEFyZepllzuQ^-dLKZWcT{q-4$s{8g$EoAePpAa?yq# z{m&MD@dI-D$G$(<($~f>GL6Rc?eyG9FS!qtHS0rk5@iyGTA0)m);E3;HaC6WJh}3J2N*& zw1$==RNioSC0qVRY@6pnuTwr+%l^`~r`H$TclX(1k&aZuVH4w~^u9h5Z0q8iN{ zlazB#*|KA*vQ+e*i`)##^`P;!sPc+B*T>`LH4&M9KR-c3fwkFew&5|JUo2-o;+8%@ z&QBoAM?`!t2o{hI3289eSz15M)35!;T7LB_=ToybYR^BS&E{U!-vmd699u_PvYF(P zd__nEPc&zT?-kRm1T6w)>c`;Gzu|fBvD6T=STYxJbH}m= zHw%KK5W>QPEIj4Ylx!xVb5%J~)x!|O?HIzXAbLHv;g#V2!e}&l{jGio=wIY#$TWBE z+<6@G$K2EVh5UqRdK}4nQPjn?kJe{Gusk?tAuZef_||5Ba%T-RhNK3-v*wgfm_tQH=nH_IP z?uITt7_46sUEf3oBUB>=yq2}B;$oP15-blkItH6d#@k6{pdojV`)r;_hMEhCW$-K# z`Vhl3H1Q~EI1)H;xM}7yRkFA)2sUjc-XqFEt9q+#+v}hE+~*Fz*H2UW3;!UuTeohl zWzA1%_V=Rwqe8wSaKSyFb7x&NN5=>jmM(gfkt0kO62ihPP9=sL#PDL*@rIth+H*R) z8pPh~Vf0WFn{yuGwuEL!R3=4zplZ?zVOSgi$=Q7=DW5hW%-d#|G>8F~vs*UnP4Y~{ z`i4Ol+Bh@ylVQ``c8NDqN;7hn5JFN73k^Qa?ni5FdjQ-Ok>wBkM;YF@abuDsJ>CR; zG+BSOQ9qBRE%1qmHD-#4E=BYtnH;LhEoX2ucj0;n`8sfV@t^#Yxjg-}9lCEFAI%olb0{w{&oZ8FTM2AaHDC?FEw9qk2@iRk*W`JX1!^`L_%ml zT~xDbsVda97nM`6yHVPG)qF4<4i}5XVj#m|^u;0%hr`oKAJ4z#jGVtNAL#tjOD_#a zqtT|SZgibbOmpK6u35VVrYWVPn>Vi$0s*ZaWDZ-NP5Z_{GNE zV}-Eq_`mP&O?`%MJ>b>z!C(JnpTYO*Gv&XNTfbG87kB@*RLP$&?)htev)_HZ`*`>9 k?&ICZyN`Dt-~I9b1M)g~S-X%eFaQ7m07*qoM6N<$f?{>Z00000 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face Savoring Food.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face Savoring Food.png deleted file mode 100644 index acaec446758b6120e56a4a7b7f5269bde1841712ad0abf9364aaf8740fbfb118..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10726 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 Y7f^nARYzzAVE_OC07*qoM6N<$g4YB!9smFU diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face Screaming In Fear.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face Screaming In Fear.png deleted file mode 100644 index 0ba7cc7b86d7e547a828e900c7bf2e13bf66ee5dc8fb545d2d008219245a8232..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11800 zcmV+zF6YsSP)Tzt6NV%#C^}U|xq20=q3K@L zOIEX1QB+j}Ns}-XO@{_jX{i!I2!SdBwh55Yjvd>QZN;)>Th{!W-gxgl=j{ID-k&6! zIFV%830*#G-Syt@z4yEKzPUeeh_crA3 z&3&q}`z~bve&oc7d%o&@&(GhgyLO>_xC{2|Q9xf+z(oy}g@t|Q#EChXpFgSl_T3RK z<}3>fd+phCEJP4}RRLe)UKSSi8dzZ8K6$>tRps^{`?K}22SWHGg$jAx7=gzz4tc1_R70=?{4%S z{m$3==)SE8`i2Cvr78WpT*1mi9Zui9l-~T3bbh|J7n=R>f z(g~uqc!B5~!6uZ6geV4;M9+Q&MTz2~$9ZpUSzt6`BP3Zk;@|O(4{aO{XMU_?>|L0~wYUZYC&Z+wWitsQ z=cLf4gs2i#MG1gl5X1ng#0sU>yfq@IGe$EL)yA%xQE3{5ns!lQ!ieZcPq?J~e_eX= z|N7{Me(2DeBKGa$6^Eu*Q~?VMd+nM-eb>7_xM^i{#s63i%}#$bLzSw98SQ^Hhcm~1vkvPxW|Tv;7@mWRTr)soXoB}Z2br+doKgHeM? zh^-Jb>-Qw-7bf$9@-0kkY_cnj$oo~rb9sAe+ zs#mmrR&8glNG!vdrq?VrBTY=uz+^LW*}UWGt!=K^kg;jTG1js)Gr?L&Ef@n)L1Xuwymh@DJ*G1j(&ppr<*=DCa; zcC@*AOOthz2`wwA2$+Di25Z0>uokQ{2ttgJ5FmKNC_)({(JK-v@fD(Y52u$)9zQbV z;ir2%eZu2CBo1}MGO##w?ZRL=esD5f{n_9C(83>`z4w>bH^?giIjYDze|YbnK{5Sr zqM4RrR(+Um+2|1@vTc2nn|Drd`GyW-X{;<7!8s*yDVYl-&f+X2PH+~i6+|FL@Lq`l z@~Grd@ns}1Y4^_xrcpvfJHz?;ij6P62Def5$t1d!zF+zw4R%hr@ zu-4!tVy#vXq(X=gVx$ZZ0{9T|G2%m@41y0z8MJ!cM?#^LA)rPmL&~$yuJF*IqpTL5 zmdnUb551lat`obb8p-h={!btJ$xrRRe$GW*O-uRmJY@2Bkg8~NUBF2C<7Go4+1Y-m%5hInA7%>Y4(S5EWG= z#z+i`q6Dp8(@6E6Mnn}RZt=^MyNy4ppmEwQ7b{$@2OUQ$5_n*)mYJ_F@l0f^*_;< zjE$$XT1|ROi`X(n??bE&0BV~@-q39r1rATwmf8G-fAqk z?6M8aOm)y$RAHp0vU(G+MlnVa17ZXt5o0Q8i&cz-is^}fIhWp#Ks-kgiq=*i*Z$U6 z!&5vX>@`22>Onn`64g+hPd(ru)v&P1#P zL;{A0MG*}kl`y5YM$w4iE9;ICLcr8k8VQvEV?5(*V~oTY&I-F0{+Xj9>QF-EKkyg= zLc|g=5~_oMC1RxtaaBF-R>p>nV<0119W~RN20=_`^J?Dt160_*|5|yek)(a8xW8xL z9pPWT`?r4F*@^!xnOyWUo7EL%$?V)5Gcz;jnzJ>E6{#GqRQPWMM8FuuB3L*BK}M?Y zCQ=W7|Udgph1?B@KpKlGlzdZ|!kUkb(W{`dd14v#c9m%jP&v>DQ=Z5S`PjE}XM zpPR*Mft83g6|@+MB%&48+km(dBeh~`{Kr&Euo#ePMJ$9fQm=q00^uzDs8;?|eH9UL zuCVI}s8&=Z5yjl@n&ZaJ+k9Z2RZvr`j@mKdp~v?bQC6A?lU z0RfE_%v6Vm7-~z@+A?c_5v%uNwbIhyiNO~48I3orm21Em< zes1d7AX?p*(SW6bN`pu6Oip&lQn0QkbDIYwwv(I~jQzSQ0t>G!1g+5w|I1JO(wiKe zf7hDog^BfI@sX*CNwQ{IMKV^-#P(HuA1mxNLXtSr%#kFH#8!`KViDntWv)3}BU@iLs zJBBk#yFEtYEWRu_bYMR!!sR=z;I(hKm8r=oa$i*EFbZ1Dkh7vccV=+Ts<#SNHF&Zl zV`cd`U%KyeJbCaS#DY$zjY~3u&pC4NF=B+N`FVC;btUujvk*#RC=m&WDS#5Ao=BwK z%IKFvtPN&jb{Kj`+uO6J=iepBZ|%Nix7%}pq}>H8;E`RAC_t(C&rLQ&r{{8_7G&u- z&Sek_taTW5SU@$9T1Q!U9=QKAJayg1y?N>4?OPtsmYD{hQYsMDO8l6&My+%UtWSQgX!~6NmzxZ#&vgC#v zuji^OuV!Lm66+ixczV4aPe1z%4?p}cfAd%Oux0BOuHAJFS(cC&9!o&*XK0JW2AYkC z&qqwoiHsIg9rc?3`isAL)BkkFW3)!-~;hL{PUlGoekM9bY@1{ zneACnT4ODYtwKs;wPq_lX(DvHIiLBP&$GI;%&oWH%6HxNCN^!_M3!biMW!i{PP@(J zJ9cpSj_o}A%rkuX%MY-A!yMBy6NFG8QpNEQhyM1-?6b_ywP>{su^eI4V<@rY z2zdpIp-;n=5`C$oqB(c`*t*Yu>lfeh_=VCG7Ze38)ZTuW^OLPsV0_)_2nA^t5$7=! z7%8z*AexgV1%uv@&;8API58|Nyqz0vd@as7TCFx4H*RA4_8n~BzMV~*Hj`xy`u#pL z)3e-u``ehFn&O_j|AIlkixI6HW%Ot)kyt=1(YPk~da2l&=PxWAwdYScAlL2R7kB@Qf6+;c#``F$1#%dwtw?ZNisjO;79d4+TR_HHSc!COq=+Lp=WYiiTc~Ri3WBc~)96WfK=bkyn#?38K>yhX| z1ELY7tQL*llVw4QevqPXx4iw^ulnG>``{m}?%uuoyeW$Fo&o#z?lk~Yv3+YN)AjAi z)tH$esf}0{Nu>o3^lh`wkv^^Z=t#7i)812#lz<;Pd+VsD8bVF(dL~nMWVn&$eybxa_ja z$VVlYUw%1LQ&SaT7xnL4H%S~@wrpW;-8^FxlYGxx-ppVm95`^C#6*k+gc3teCMBt> zpjHUdnHq*>!?i}a`Q8ha>v@0hkw+d80ONUUv*C4YY7{|{1dOfXaY0e>I2Sl^s?S#r zE%N#|yn$_7E@N(P9W&Fjb&L)orat6(hpI9*HpblC9IDDyS6$8O@+ym`k7G?lV+mS< z7WHEZnxmmWLxHoArNxshEiQA_RaXPT^z=029X>M85VV*Mu=YKaVkn zx!GBqbDTbX3TxsyLN8G*D*Qj=fJ=-77Ehlv##u~Lw_AuB6Gj-BkWYu7bQ&CD@1H}f^W_*WZAlF(>0 zXttWPnk~93%ZLm>M+hT?A(jD_0Y--iIie#(2COVE(P*@3wVGsEMx)U<|4s60DbCF7 z9Fwy%TzlQsoH|*uxH6=XjIfkAo8wH0HJ*l)B&LwG)zu{N>mNV7{o0BpUNDz(1{i?C zl-IXYleSw$FcL@{BsOA2u|{zy&ccyno+NFv^NJlzOibX6MfLoHgSF3QS%!$}TI#z&#mfZ(&60Ood`xO6k%*7`9khu1cel2&V^h63lbW;!eK%1MdFA;(V* zShsGDx!HNzoz4YY|CtcYSww`WiqU}40;B!22ZOUm{hDQj6I1z`7)V@l;i)3^y>?n- z%*@O%KR?f@6V=v5YN!m2h%<_F21iM&QIcdO!RohM@|Ez(nram(uS(M)%|@4~7Go9X zq~hTboEZAKWu*sOw{N07Hb&xHjr|v{03!xpmgGfAyWPS`kKB~!oNLW_f|yWW$J1^H zilU?l1!CnQcly9N$JqD;a~tM)_UIFYvS2JJD5Icis#Uiep=D0$kkmDZW!MRD54T3R z_tGffkzKnKz{+4tBlWb>p2P?y>tLLsQtdmX)-oKn@WC-T(V^LBoN;UyGeQWgtgKQD zhpeBTAu%g7>rMQ#6Zl*rE|OVcc19Q#1>KcZg1^XA9#s&bku{l|=nz6cLP2M|$Ix3u z6-z`V$NLe+sWg%lkKd%bF;b;8eqCDPd=wyi_UwtO$j5%FH`lRBBkPOgkt9t}2R1}X ztE7prj04SRHj*>bUoUXqZcS-rS#spLV~8!;wBF;ShjH=j3{V3SY6S>NAVJwaA4pB$ z$dRL5bIq;_!sOy+f-#0h+CbER4rsXnNie91AReQUV1`)hSxqu>>!$8wLj#Tu&gXl( z^O=eQJaX5r#7V#1G6mz(Ct67CfM^3^l~k0>DVb}4wyS)7BNv^1SC%E+?h1#Ve2UHU zj*WADVu)0QG3Ja}31I3(E9z8}4O0nQ*Jm7j@(EtoyP3ISM3yx#S^?GkHe}Y*%=#D{ zMg^k*G{;LHOOSDE$wRxH7F);Q=-_-T@4VU2)$vu^IMQ(q+as|nXcUqpBPP`%Or^?r z=(KX2gWjNvFUyOV`IWyI3Xc~oV(!4)zNUs$;D-|EN6affYC@Q0TF{GpeCRaaZ-|)K2D6a&GOPy5#POa%vmh&k;r2<@^Am!6JZ{7P_9a}y(0 z6{`VJuv969w*Fqm7F>75faTLGJpI&DtgJ3SPq;5;fossSy4vNyfk*hud;gkicQkp! zO{d6KUZxwGdogUFGo8PjTwRNp9Yrlb9R>^=5rUq<++h(JC0RTI8XWQ4K-*k`*9pve|>T z(m!qd0Ewy+l~@J@!PGcxMDcm#^;=iiI8*SM&)>(fqtDUp_Rb-^cpeM+JU_F#%EJ$T znU8(qPw3c^AO1(4EF8glFzS)0NC?<+M4I_p&(?WZYUCACazv-pL@g@SzYaN^ym@pzUNasdf*A(`Q`!Jrw>vV7NgXedX?eD;Sfdz z7}OtgGU|oLul~2s{YLHY_0sGK@2Ye;X3K|-*SCcNH4Q^73QY8`6;K9cZ z^5mnB5fs!!Y!aF7IBvVS&39Zk&&Ju~`0gW=`4DRoVp)Cc>GlO@4dY{xnK8v>t1vu7**}dMUv1i`;2Od+PYn2lpFhNSOSo#TsweQO zRc3>%rKi*wZX#ZVr%wsbomPJCuAN-_+6KiSAg021qe|Lb2d%A)%4wEXT6FsX@1fl; zSvMJIq^I%S1NeLy9c1{EeagilMNwjnBN9BdM2@~zgKtjL|x)dt|R6wi+?3tpA#27yH$t4;Zxpsr2D63K=l^4?6wL*MF6<;xD z7!3oT`jZn}d*ik<*^E+WROh`T_}&SuYqCCTv!UIrQ;dd`-6ckGgdaGDj|~|dI!;&} zV#FavKm{K>X1c-Tm4x$-a`NNyvb6f&Uk#fIU@;vS~Cv((Uzs zFew;dm>e6AunPbDpeXTLD{+9@XV8a7LOH7O<86|}NP=SOb^}#n?OF!36J_~SAfY77ln{9yqxpB52nl|8&XiCH{S-M3BjKdug>A6847jkh%I zw9&#>DdKZtOO*0FG||3GJAOe zv#Kwc25WyyUE~p?&`zaFq>i2#>#XUZXRaqPLiDIFu|^mi7_ju&Q*>s>nYwy2b}WNB z4Suac&;Zc~XlFEM#|X<&1_Prmv;X_cULPQPh%8{X{GUAA7yHYt6w%DZXcaM1@hqMy z6xB+&K6re{X>OaMy=|72`%W@CxI$tp;n)bGiqW&xFA)f;BsP+!%7yOd2vq`=HIX!p zbtd~-Wu+1|RIBQ!;1y>L{^*F)pFKrqy2;p%dAt#Pp5wKoq@+}>>zb*G#Z|CL5~kY5 z^sv9b@qOiex`4f7AK~RqPv2KT<|ASJ-`jHer`qFjy`qXli6N5BWVo4X4H%0^u~HCM zA%>Fn)^%vlv-rhRq_Yj|n5&$lC?c^UG(>ABY;eZl5Qu`>YT+Y#9)VlUHXEZ@i4YwrMA6`DIO>8v9eGuSqyn+1|_Z)P5Y|) zMU-eRt|t2V)E>r8r$i^K(1~j)?8Z#*pEE*yuB^neP4W=nX z8(~<)bXbsx{*j0%yDzTV=%N&G>mGuDGPU^=y&)%bwQCJgwOZmri`doLa*TBoX{iyli=o3NDO0hZOWn2|H?9EkXQdx&j8UndI@VKM{*IlJ@w{G z;4I{<)deUdqe%COMTV=9#`GAp6*mQqsjT`RQB-0TRjJfp8ba<-ufgHS*#9FyedO#3JHHp+0Lo$0+L6Q;0OC4ALlQOr=QXC{8KGv!^jpv9Zc@ zsPMm9b)wWx@8Uc1h;qiKRJ|b#gOe-d$8)fj)^vt(LUTT?e1=qk+_@uKh$Vy)bmY|x z1$FMjRSwX_%kknBu&=5ODzDt|nL!brrZ+HnjiFnf?d$LYG!_L-1er0!rjSf`C`U>> zk>ghe^`b1+jW_Ce{cA10&c`9gYGo`MkxA4mX|>8ZVwgsUrA6 z4yCGJ?YsUkjKn2>S}P!4tQg%(==7wz7b|ysC4b^Q?rzEby9q>-V^rfArt(}6SE<$p zNvnZL3L4Wb^5cEVLBJkchGw%W#*=_V!Nj^XWt1~C!Ud(at@RW=)8wPtOpnKxi9JtI zBuq^-AOo39keUklJIbz`h4@iGyvDQ`**@m}9q(Iuy532Rd_#IgJW@$GkbFKV!IwEP z2GGBY+G|r8h`kZ{avxQ&MZne$Q>pReB2o*DfW)#Y&<@o)!}oK_ z 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Diagonal Mouth.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Diagonal Mouth.png deleted file mode 100644 index 0a459856cf45bc1ac43e9e136cf6e404bf32c960cbb8545b7469cf7055706217..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10215 zcmVHlbLZsJ23^Rni(p99Wg*v z5||p&YAQ1%m5?IA7-RpDniMcWJxmf$D&~iYgzdt@7z~!(5|VAHe@U(W-S6F>=j^@K z{IU1B_jbpW)mF<$(5LEl-*@kQ_nouW-ru#p-?jEWaO1df+&FF=H;x;}jpN2~)4j1K|*Io>&mBSdXLZ`f%93YPz#BDo(Jb0LJ^_yS(;I_rZXWh0f&H1f^5Z1l2 zV9;?63rdZn&m8ABSUDH=R%h?|`)7Msf5)STD9#?m-g^XnwKzjw4bbw~yYLVG?v+MA z{|^`Lj)QQ27>BoO)VrP9tp@A9q^dj=UJwU}VFnst9AOls_Gagu^UsOrOR?iVI+sScUZ5T*7lx*#;|rAjw}uOI|LOLB-uu+# zJPzV{1Qq%7afJN21k;04!yiAiyta6L<9lN*|C2i2ys#{UZ5`M#Pr1E_)t1tjYs9(W zoQ*JX62%a$@)an~JYohSfSHP55w+30H5Y@_XGY%64e7j4)7w-KJ|_kLrnkH_bpkuuM^7^oR?aNQKHSE zeibQif@%*|?tp3;=hwk`5QiAVcmb);!1x6izktQ(ae5IaBLr`1Sh!s1=-Hu{uMUN? zBbpH>rRzRA?#_L9*U$FPTz!szVH_|!>Oc1PcFliVb@oS^I{f%jmu>Z)F2#YR*u4dz zh%Sx;BFpH)-N@p%Ad3emx_4mZ9)zXIDH{O+gd)e&h!HRvh?@}3pyOv?^NZ-<30(g< zu(SBGLkM2Sry7e#hrT*FqCeKtMdg0>Ec-}jjhR^p4 zyI|%z_Rs!gYy7DP4-?vJc+ENB(L)pu9wt2TQ0Mj?Vf@SUuDE}2`@F8abqT-RI5x)E z;vU%c-MHoZ5jO`Ws4p>@!%2yA1xSIifciN+hRlqAx#BVmqed)X8ZfPK3_xp8#TbGP zFd`;`X%Bb#PY4%&8#jD`qFSQfL@)pTC6-PM+=j^~n{xU4Zu*xOPqf$ansI;~qL9Oc z;|~?@nh){Us>EMn;r%s@1abPJ#Xvk}4wtO0E>#+cP$V=Rs^t0^#|4v7~(iJW^JXARORx%|aC zxX)cGVjWKoisInSKOY`%ujy6qfc8Y6f2jJNst&)>tov&DovX3CQ+();vAL}jJO2iL z;Y}C;bq;)mvkIewc!$a&PAUWkQh{3_`U;1n*Rlf;n}m5YMJ$3P2r`B^#@Qhwj2g3m z*bubIk3MD*aSd^B96kLgZukOzVS(X^I*dMjzKEL)hOTOLm_wXLtb@1`b9q)c z|Fuuu47GqTP7csOw18)XXp>+lzlY`7q2n|gsBxhNCuqDxeExT^!E+RyF3m;NOaJA( zE6zpTtmeLN?+5$;_w{yyyPlXYhY6?te)T^tj>9k4I}2U@&Q7u_SKgJGW}wRpubZMu;`I9H^BsUdNaXF&ks1I2Q=#J_~2Q zOi@+TBXsk(&WT*q@n%^)xcBFWk6*9s$X%B_{|NEiLvuHE#_`|lvUHZ;wQ5z@xn@+u z`hH~FeW=xw5olJU7!gH@m>Fi4M`Qz377=1F`|lS07mJ2XmWfoFo$4h7~@u72Wz)69*=Qz=H?$Zma zkt0Mq^z!ZJUN*x$iadIVqOOO(*6p&h`;INKyMmKJjoWfNe%k?vBiamJFhmk0v=32D z5Ml$_P zSW;MHMAq*>R&RkpO=lU`y?;ww?C366U;KBEJc8#aVlNX#UY-ZDym03W{{L7lIBW3QAeKiq4bqNk#$W?P$0>`^{)}VBzz}o0S3YW%>EUf zhVh5lBFx>}bru^C!>`|g^PN086RcQ<1v1o#rO_wtYZ@n`yETgF%xETOK^Bq&wa)L? zleE&b$qo+Lh&p-L1d@#o%wa0LXyL9Li$YArC8ey(c^S1^KV`hS@IH^=EGk+ zbf7wTAW^|@-VAso32bMdDc-;C<$$|uAykXbNu${E4$Ap8To|X3pD!MZQzx{LU^;;q z$qq2BCq_)cI5SyoFiY>HY-N-`H%2TmTeO*`rP?57lfNw)+ER*}4Nc7Fm(NWDrV+C+ zi3x&&))Wg1xTQtnSSc3G`@0sxdZBMvKl9WN%3<^yg(CTeDp|nBPcE$uFZQ15?kLw5 z9$3OOI&pJw^X<@COuls`!W>Y7D^XYAT#1tcl?s^0xdIc1Sb)|FChAD72YK7AXddF$;JNm<=+yi)iRk zKYyH}Q3~(1|2rEpJYAn1Z(DiYEkASl62P@q)~?-aM{pw8#%AwFmnyavcXidIcG3W= zTab>&V#qK<8hLpn2{WTT2fQSlrBQ3HK#Kxgz;uYkQOb5E!8gy03^mpUO>1%r+GM?F z`kGmTSj0Jpxe}b<+F4~ymM3OsXaG%_lUYC~^?QY?L$$O8Q$>Ar{&n+ldCqP3mp300 z!5(|~+GBxS>*yE3jvrcHD^G4dUENl#t-NEA7#gv%qPTT0;=33fa1}xc6yVYfFewr9 zh!m*nB-Im#lwB+sp??WyL$qAMFYZcukUCU6A`UT^_^qVJbRwiUBNjk%DrwWyQ)3`( zoWeC1Q7`!UbzD(E>?I;+F~OQPnTgLjXgJNL42WaK&p$^|gY#Z5f9kS~Pu6Eg>+Ik6 z&)CRDeaW-n+9-AMaH!7pzJIx6>!Vw`G5Y9jEU~bbxJ_dh#eJW{rAD|z>KEpqp_-NWMRznchY z24p?7)&JAkyA;=RHe-@`ge96cdg|l+@h88;$A6>Gne%~eDZJ&rdH(x@H?#Q0H{1fsGq-O&riLDhY#De!~u6L1$6=Y z@@JRcT9mwDxT~^4yr%}4>taQRsO{9B$vmhLnkmL=X15k_uEEZIg^wLM#;Kwk(j?zbB3jwDq`Ysy%Rk3xo7z3|8;>= z&kw15q^=u2_K8dU>MtKBo_+xlBNCD@A~8uL5>e44cRRr(InxZ(BC#rn^ChuvaAo1+ z_KG>jn~(Q??miLhT6n=rhM2`JzxNF9_}lAf3|FM7W--r%h^foYHBg@e zw8Q3>VPk-X$lT6Oy#ttDKRM!jp9Z){MF5C%N)_*rgU7Iv>C^5Z4a73GaLd(NDwIrhwpNU?!goyb+2 z?M$+xDOX5ZQ7XJpZgTADGn_rv@Wz`8x)LXBcgKpdZ&f(@hZ_*biR9&KnOKu&Y&~Jc z(#qVDA2hhCf}$b@g%xwnk|W0OU1kUmzjT$=V8^t^v_^>3y#bdm4cNA7)J=jeGiU;Iy|L7V<6jx3v($iEGYO88 ziI-_euwXOkY)rxU#B-Z0RnRS!#vGFQL=%jy%SP|wka}}~%R#u6Mv?%iXtXx2V=Abo zikzt;UT{?hRlzwYy4=AjcOU-;oqZzMOI1pXYjBiywEwo14qjJWkQfUyL8=lLK`D~< zllwK%2ww7Bh|`o&61nm|((4V-VNK~hrm29UIW>p|Yh5_|!sbk8gPX}4W}2O|(1&GM zGC)1&PH(cf0MQKBrlTg-d0*g8!S`&(&gR$iH zk&>8;QkD~&l;x-iRRPun2;(Hm=?uZr#A?l&tE7vN$XFcX8l!SKgPcwLaspL4CFI(G z(j>u<2BppHbn6lfU(!@>QrcKNXeC8Y6)UgbH)Xtf<{GSf?3P)&58*4?-vENgNcFjv^byMmu zY*Wg~91voJ&gvHCmO5A*;iSn`vkYN5Zl#ftNrkyQF!D?naL(Zra4Onyn1+4!OO$dL zeJKj**LA?dhtikSBi$Z6Td4|6O=66Q^R$bBEaPwL@yXXKDMj=O5_S48BgTfJQ?h&S zZG@1#%oSK`lwP>$&O5OT zFIgPExXo8uY2huZN(yW~89Qe`?G&C6rS^Zd$<&^f3W4S#qHb`i3u3qnGm@jY?5^ z?tbt-ESyWTR8s}aG{KDI%%_cMX=amC>kMf#yhP2!O2La;Tz4-@NaARI6Qjmuu=#VBCug2FBa} z=HFt+oluW1=N_aMW?IE+s??axWLvqup(dyq<{V~56hRBKvWR#cuL5xN>(79%n}$wS zBPt6;2`XagWK(t5o2F^0SGv`5Uyf-O$puWNDP3|#K{NbAzU4jdVP)$Mj(+Bo)WZSG zTX%5ZyT6<5cY5OROL*^c&}Gt`D_2NaDGf{gLz(1!ZW1o0<>htyInbkr~u8B&! zPN41Mv2^k60uGa0#ZvHeb2YA?2Sk-qHI;lVYNs|`-9lO$Fhwd& z#u5@SYA-q)QrdVZE#_yVwyzVjv1H=lbi@o{`JD0uvHY`T!quXtvO)xl!X8b-Nd!Ke64*lOi5YUoxIsI#-(vBq(NPrV1fsa+ULZvnv90n?K9! z&w1upR4f`6bCD&G6u4mN|7Z{uVoVx*CUGfGS7`sHT7I72n|WQL;aX^l2_9!Em$_yU zDO{v<)(UH>sME^oZN{fIW%_ycT3h@vfoLXmz?A-_&f2+I+r2yo zL~}0E1T186EoMUYH6Er{zSokSN#9ho)b`Ob(3ZI63!WP0%7?_1{*iyDC497Pho+Oy zI%L9zy+8?+!-nC>0Z)B;z?tKLqEKQ~R9o0-jh)U*b4!zG<~%VZ9SD%9=Eg=rJlmN+ zaqguSe2bT0f3rh4c`xBW{UJX-2>rMVp9p3TO$in@sA-H?$+hiTqi5(@fOM zm8}eIZ9{KDBKsQa!>$&mZNgR);J6GciZ>1evQ+(IO7UxcRx1m%FUB zJErW>*~HeC3ddaq5ykRH%zx7_4{u7fKoZv7AY9mQ3GesaBk8v6i z9HEbdvEoY}pS9U_alixFlRD=<+v`hH_N26xG}di2!o`3(pK^USGiFUDxqjOh#Fh5U zg&3J4kee}d3nOy1#alL#0LF>oG@ygP+0&6P|LK4)KGEaL&kVSDF;bMq`bxnY_f~X$ zjn)ArP%SNU+y1@W^5#3a_4T*l;uAC*Avc6+R-tW%2W0NhlFw0{h^dKLKl(&>PH7ZX0J^B2?4tH;HN1+mNCPKMm9lBL!!EU0DB-^?q8alFic%@MVNqwO0 zS}nQK0eW>C5Q$$n?;t=JjX3vw!!u6~`NESuzWnroA_Jn^MXo_lu0=4PN%2|HFw?zp|AA`qKM zB+^}5=H}Pk!M-=$$?knS=`IAQPc!a+hTh2w_z2DmuGNLIp<7lgai*%4DNO7SQz~5u z%}{N=j#%OUvxu6dMSS79I^f9BOncnIuh+faPjFtnyIFA&=#P=51t^Lf5M$PiS}aW~ zP|Ue2)+bJO8JH2AtPQ-mz+bpD^}PWq6W=s4=~>#dyI_I$dORUnS>rg8jOkEf5;JoTk9$By+F4kL>Tj%};3 zGVkbUNb5EVSl+qL%?EC0@0;#o*S>YC?k4ol(F{%!>WdH+=Ssxo0t_-Sux8fmCIqZ? zfTFq8F)iE>!bTsxw24PhCCXRFZu64-{;prrckuAFZSZl;&AD=zaQXxKQ9qVn9A9#{ zbq}UA8v}~Pxzs8bTlv{&6C#}n#1jq2QZd67k-~waU~{wK_^}~RAFX-v$pI&h4Qa;8 z(jx5H=Gih=Qig_5r!wdAu5IkO`%d=WyPsYARw>INIy^2+@xJsEFF5hw!i549K7V>OWdt?p(U~ zr*o^t_VTvMqC}@=R9jc@OACp8X1H;aV$8Je+g_Y2p>Ur5rgH4rnkSDA`QxX0oIXB6 z8dzP1ty>CK<_(DftHD*UwtFWxz41==-g`S+_bgF%dg$PJnvLhtaX*RU&fz50tdls{ zmPy^Dem!Y#)K=+CP@^->A;&L^skg~C2Q-&1=j(DBk434^>GQs@*KPk0{a3U-UBJ@L zAr~({{{i=*ZXFJfHhe5s#Hj}AjUH9EgUtV^^OnG`$o1g z_=cA#o%+e8wPIuQscO-$$zF#M98oA&mT_B_a?M)6C1z%sEVXU@79IckU!3Ntrw44` zDXcG*ELRaw4>W4 zi;+4;T$V9rH}_z|blXl2W`x9v19EX50WNJ2H~W}35U=)ClhI~)vD(31>kqTpX42PU z&uiZEKm@ac_?wPwo1@O`#<=mtd(Q?tm zqa(qBF3ws%MCQF*dU|16e1I!uD3E@0C7h=&biifuz z4jXniUbyzH3*_Z&Bg_l<)40!d7u*~5Hi=ROFTvrelFrr@f_Lenoy!?dn+bW!62A1z z0)O)9Gi+I#_6EwXSXzCu`ISSWJ`vkcpk0DpcNfUx3xe6BZ ztZPL$Yq#&PX@6+D7Py@mYC18x#HpiPh}0J^qdLY4Lq|TA$MM6y{=v@g_@1{PIdX(= zbTe3axjP`9_@UzduGsI{ii@2+-m68y6j_*~SX;`F?^3YyEgLSt0^KdUh^zNfc1xtb zM05Ehb?*hN>EomTFKK1Xv`9G9_4j8ft2Pw|k;w}EWZ+y_pK(B2$7rShwvyR4X#vEI z9y%C;2Qg>yq^jF68(Q(!n?Brp{^jhnDA!|`lw&_!{`9u0`KjT`T#y}F5Ymo@et8ME zG@qunON;8HElE0u67bo;8iqJuV1-AVYsd0LKKidjq_24~Q}Uz|kx6~GEfg_-sR;~esvKy*G>7pa}#Mgc_?KUu6<4_&`$+A$qu`QnVn0ECUMejt*tOVIh@9nLKP#CKVAve*hPIi5ZI#M;1G0W6`TQA#)4gZy*mm@bdQ- zmFu}9?uj4b{v|2?OEVX{wnwZ=^^lYbE-z5bcN6BioQt~D@Fe0fmxMf*J0>QBc~W7M zDR#@(*oodGOT*JvEoNGhAk~IjyqCP-F3pJ4#XV_B84hUr1Bzhah0vh#qBuX2jZ5kt z*!$t;^DnjH^-bF|uEoL=@2~#)oP_^qCEoU!`9hoviOaCurR;Vywo7WpZJWI^EXkzx z3)IQ9@u77?+o2#=m1JyM{-iakO^MfZ%FQoF$5uN4uK@S@PnisRLTa#4Mnvn-IkQ2u35!ffu0}6FH0T zj9qit*?VvKVEhl)d(*yGY}?9b-|xR`S?m!CTe6ih6e~^9HZX{H6pI~vw<6|sUy_wm z6;1xg+Y)5l$Q^bmU|X&aUy+(x8`5lMxm5d!+&npLq?;7~Q)w|E!!aR7LP{JKEqcR*EPBa&h0J$xzL>T! zO32S=dP(!*z80R6xMwqsS(8%Gq@6J9n^RtprHQ2NXPB#N;;13kpOkp; zxrH5@LX_op$F?8ZuE77CcD8KTuD-O?gQ_#zkdeDN7>|?kAVMJ!YZu3t)vZR8Uc+zq zmA||9L!5riZC!jdQ9E=9_x^MKAB))kUX}RqoCdexeBngYlqjho*H;C;DzKtJ-E3Bq z`g7Wrbd$DIL9%8r&E?yS$#PXrki3Js5}SzBkr+Z=<0W{&f|&Nvs>X+*3$^2?cYiSa z6G*z(E4g{MexTfau zA@bgvej)s7R(;)rA9@XMUw`#Ya~}L%!l8G)tN35v_^BTx*iUpj+|(CGSg=^kA+8W- zxoDDDaUR9uu)-(#SsWoZQMfkj8hNu;aCw_b3yNCq_0O$|&bhRIkUDLKSf{UkPK{p8 z@ljFy(;s{OJs&x8VQB#6mp#JPXlD;ECU-hXxZ(rmo?%X1s6tL~-*aP~*$za@sz zf9K4;OV!=C(6vtCAUdV?f;vOJV1hcC<~t^!YR+p~eB+}~nBfD22$vg1h2xK$_>VV5 z^`H0r+~AL{xQ*4H!`+i!^*3@m{i7@U+<5$!!t8B*iEk)lyj}6z#Ie{VQg}mLk~rE$ zbxk7#+-6~Vwl3r=9{GZY-;cid+^!FfpS?Owe&Fz5;v2dBSup}|d=0~V@eq}}e9QW( zo?rKMe>K2j3FSBi;--M!i1K1w+;Z-=jkD+FBdJ5`sw$o*-B(h%aWBcQ?~KPD!#(go zUaNPFMw>YEXp+odO-6t1-pIgAIA7|;L!002ovPDHLkV1jgo7ft{G diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Hand Over Mouth.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Hand Over Mouth.png deleted file mode 100644 index f83bde016b5161617b34d916fc5d7a2b70c3d6a2f6399725e9ad97931226afd8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11521 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 Ef=2#SjsO4v diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Monocle.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Monocle.png deleted file mode 100644 index a81afaba40512fe5a1144fbda94f189f3108f9e01ff405e026662e9ea1f012d3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11529 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Open Eyes And Hand Over Mouth.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Open Eyes And Hand Over Mouth.png deleted file mode 100644 index 85c6ec90a5d5206f4e0fdcffb3df2cf461350e91d37706641b377aba32edb32a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10922 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Raised Eyebrow.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Raised Eyebrow.png deleted file mode 100644 index 03b81bee66a9babc86649996fc12b453ae0dd70cb7cf551cbb29bf8ceb2d0638..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10309 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 Ef&zoVLI3~& diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Symbols On Mouth.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Symbols On Mouth.png deleted file mode 100644 index 3cdd58dd21dfb9ff8ca4b56351a1f66c046db92e336ddc86e4a1bffe968233b9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11901 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tears Of Joy.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tears Of Joy.png deleted file mode 100644 index 0ee4146b9c36fe5745efc4dcde31d80fe0948325ec78c99310d5293b3b919e0f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12506 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Thermometer.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Thermometer.png deleted file mode 100644 index 60db76ce314a27b404944dc3c22e7e6df394ddc810cf6d00ea5f7d8efc74d4a7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11662 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 Y|3zp@jG6FO<^TWy07*qoM6N<$g0~)$R{#J2 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tongue.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Face With Tongue.png deleted file mode 100644 index 6a961a1dd68b2943a629cb992aeffc6e5ebb8a854f9c3d79b608c98197d35fe1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10807 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 Y2Q1esG*7|iE&u=k07*qoM6N<$f(d65asU7T diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Frowning Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Frowning Face.png deleted file mode 100644 index da69d0afc26d24af9c898a76e274e4f6e92976152f8bb1003a985c0165cd480d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10190 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 IM6N<$f^OG6PXGV_ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Ghost.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Ghost.png deleted file mode 100644 index 58d048f9dd0274dc232241b6164c05a2cabaf33b2b612aa2216c500f5bdee827..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11951 zcmZ8nWmHscv>sp>8itY~r9rx+5g58`rTflz z|J=3ik8{qi^R9RAwd2{(exhD#s}SMS-~#{vA~jV-82W4e--8Q6zt__~hywt8UTTW+ zdfxL#Ek0=`Z#+3}-umV2WlK#Pvz1tvh!`f~z}YjrLxQj{7T3ZP%{o`Xl3FwZ(i<3a zLdGUEZ$%kY|ByiUi{l)qsQz}XRxpXE#wM;e;RVB6@5AO_}X&m8<^={ z{@wal3cMn#=Hk++WM6+uX6GmBf+o<>WOY%pZlu)x;Qv0Rf0Q0mj!{OX6W!fFr`d|N zq)Qn=!46tc_^MH9FW`y}D|_d={twKcw6wHUdMU5noxgS4MFR<`tXRE$eKzdBzMjr^ zk;uYNRs!Ksur*HV7CqWCTy|QJ`9x(!HzC0b2gB*St-(~C){~DXjyc_6$Ajt8FOmP9 z8~lfW?f!Uw=|_g{>A7ycX>n3xSbFMQ?M4F<>lrH$hzlf&>$dyGDo@vkpR2|!y(d0h z=ihg`pSY#*uyeb7*$M>IzF*-JbDBR(lpy8D0|^K_Ej1=PpuSkx&R5wCdg^|A_&o9J z06#o2b(HEQSMp1qC%Rn8ntVIe;3w4-00^8gcANsigrXrDcc>LG%TcJFQ>>l?%u4Sy zUQiV#1$xbxe4rPntbR&^n&bUU{*$49&7{0o;dvs4ifs5&z~dgoNYlCW7*Yo2cN{fPVUc&9fkR^*~enw z)}=@scy3uPmv7A;qSK$*tj1W; z?)I=hY!AOJn=<-1UD;B^-P?QCOTfoC=&DGk{@gq0JGL z$@s8+`J?+ztwgVb+sreahK9O!-h#FvGa|187eOH{exo#^F;;dF#craOQc~HF|QlC1@t_ll_(DR9%#;dsVr1pxC@TWkd!`0j*eJbdz4T>S%v$GXYeJO z_K%xRZkPd%J0n@!EA;=R$(90%OyT>sqYE*}SN<~+!tdN=jWBdP78Qq_&Xk59h>x)+ z8%e4SgU6wD=Sk&Q&11Zh;Y}F~H`&WV@P*#rl^X_))+Mn8oatHFEmu{8fo$`&N1q>S zKHhpYSoIMD&TL%S`ID=W6cD;RLBYY zkfLrg@7i{*QnE9J|ee5U#O~K8IB;Wa`IEWOlYGvfv8o zfZC6ZkIx94B-{mx)vW~FDw#i=kJ}XVUVcm;+!7EM2vTHY?BFPgp>hr-BumcKTZ1pTQpAz#D{sMrS;@?sV;(?&n(6+X(?6#Ys(oak3ZaEbt+s@;8V%*cHBYOX5N?}Dyb72gkT=aMGRieE(5&%C=Cb{yE4 zCw-gTSb^E&Pi&F7`imnlTE_1pcMhIgUjEc^`e$$SRskSLnY&+m)$$E$Vj*HXFSN$m zBYnQbFPWKaM5SE#{Tm|m+YNFYC89po6m#HiI2_|+=Fa%z3H^HF5qk< zf>`TCgWqLq&f!v1pylbd)N#w-URsSk8DW{wzifapHGi$Vm$|_mOj>~GBIcSkv)nhI zZ52#r!YMFG?q?pOxy!tXOwR}2te3tIAP+dW(W<{VZ;MVf^TjJ`I+ncadeerqe1X#e zgnZtEAf{=yEJ>tQ3pE3;!80pGW!1;Sj>)bx_{*DFE z?rN<1OfKnrJ!@2+-uG#Zg0b{X&S?@4}>?s+g0PuJJ-a|-`O_VqyV=J8jp3_{`0 z7Ojk_qoIZ1+5IB>%54 zSSGZ;8%ZzaQBAFH(&u-6eK4c)#?&3vuxgX~=Xv?ZtmBiXW9oZS->3Xij%F(ra`ssx zCrgS1G|SFgnwxCTjS!3tzEk)#CasD;r5^o@16|~}i)7EnTy@)1HVyBrR! zj1)&U>7u~Qyz^jBYA3>imz=BBfj89B|N2?b|8iyl7$F6pMvE_XkM{(f`EUw;7ZJSP z?|iq2j{Z3`JW(%ABq1Us-bEcuOQ8Kv`a_?O1H3sq|2*^5ziz3_%umuc=AD28)wbIU zKZ&R4(A)}%4{l{3B)pj1f9_cSl5^98Y!N?5%z06jW6d2Gur6+D|5m%zfKv#MdB&A$ zJ30@g%yhERCwoKce3f;%y3bwSeqeTKw1{$|tSH#b} zbE~=zf#TL@$3XLfEGr|Sd4QG6HF3T$u!*t(%yMDrgN1`HP1#1axNa>F$dr1zx+M)M z=vW1n-udxeT$iHG&JXQuKTajJEyQXL97%f z@&#aDWnOyTTy9-Cj)H13T~=7Fa5-y5^u!y(thl{(rF%dR-fe@8yFSB!i&zA2Q}X~ZUdSa;9C znw1M;DpIU8fR-d3yETNlHDn%<`L9HPF^wF>%VMx_h*wV@k54|iXYmz;gDVQL?F~15 z7%04XUdh|$oyDV@gabq7;4~p)0tRU= z(Kp&z$fi5P&5f`9S@WsKiyZ!up`njKa{k{hg_QZLooJC8LXZj`?ow(ROwtZWZ`OwZ z!k^Dg{|>ydyuUfE^g6os?%_5?wp|aHZ4l%*;LR;J^KCYC zyZj)u(&|2eP3l@b7tm(bPnF6qt8;mI`DsTYG8y_)3!g?cl>CqI)!h17IOZ2^Jxt1; zmt4Ux`?a_Bp${Dagd`+`%gZmi5bv8ekWwkr4$nQ^Ry&3Yo?&HDnxMH_qEW9kNr`$1{@1caLN()Q z8CjugNdmg87KWnh;v>dJAgr+=Fv0>45e5)Zz{kM!Irm+{5vcY&&~LEl0)1wuI>;Hm z?HQQ;KILoY^71M>f-~B@24TUdi+{u@S7_N@6&TPZ?0*M3K;0UQQm?F*Z!7O=EfQV0~NujLqog7 z-8MN3lM)ocWG==yTW;6|gDGEITPJWk0WhP4PIN(k$ps=^Yd#&(IFA-I&p*q>!;BH( zGjG=&aO>-<8#HqIj2ZOy{nA}AG}7_SPveqQ-nZ-#5r~9t8g)mAjrlAivE}cbZEFgk zi}XQdc+E#;khPq?IMTa$Jo4+d?GA`0?um+pCelV;Sl*qm&r?9Mk6{^H~($*|pLJAc2-+~G6$9Y&NyC=e=tS4q=K37ZsvYuDGzJrgk$ z3Fx7GQyBipH_J>k1Va!2tPN8VrM%!1|G~$EX>Y}Zdgq>jWQXBK)bzj86b1Dt@#tJ( zDKZs2qhZm};o(<_tbHIHzo%xZ3-78in$f`B@W<4Ct(Me5oaE@}lxGvY9Ce%`x7~1L z7euB=NdKpClqc=$Y69~Ry{QXF{!6bPT_=qQ0n^A*>Y#F`0U>a0-+ zON4$btA1KeR^J2Gt?TX>)9(W!yP`Zj%u;dz;Sk2|oAZOe2(e}i_fyaI0el4n#xNrb zCvSWr2Hm^UZQeG@zJ0&iE#o>jc(Q3-KnuzZPFMsb)rCMa&RUXTcBuKZtgNYX-z?t2 z`RnocfSPf&-&voCW>Jn*MaAt8{?+5&x0`DUB0@sI!4wxbmA#}MBQ6UXLv_?T&8Bdl zUgs}2?UZaC>7Q1Mt@tlQs70C7Q`ODlz-HZNMT?#DTX!QDIsmr(pqX2`6 zRr`WTQrSD8HR?^<{%h|Ozeg4ZpG^x2d`ECNDbE~26pyA<5;u$$IgZ2((~VRty6A<3 zHl4K6w&th^$Pm~sl$?c{i@#P-1X`}!wmj5X8x|yIo5q$Jm!|SRO}6^+CQpxx3AarMfgaC5b~e6_HiPKoMQ&X&M-xll5d zNCYxb)#Q^oDTxow)qTI#f%CL`G~h;9y75%^rzwg?o)gT$RLCZu-iW_}>q=KJ1arxoI@u z!hgorxHV4^2C^dLVH%emi+~m>O01A4XEO+Uo^j3!WYzf+rcmr2@#Y9U_JzPifTUyB zH|f>&Cc9DUmi5R`t(o_o{~_Mt_YZ+~by#3`d|gdTw2!VEBs8_PJF9pW10V0}k7^eL zWMl{uuoXC@MVNrw2SnYjVSDM+bdnyp{DD1ewoBKJ-TReOH6C*?h`_q|@pkDtCzJva zNgi%n5cl!+;y@vSSk?9v=WU(-W1dlI_7g{sd2w?z2}J{tK%R3P<;n#9Sq;$5$=J~^ z2xcT4!-p!mChC8Q4W7V9yR^IxhsxB2X}Vn2tUg->@v7kKoX6zYF6i~#<@P4mYq21o zY2KmE&NCu@A-M;pAz>BM3l2shpD~uOsc_eFBf9H@^ z{uAdCo^eFQ?2z`^f#mg00)9mu9c*0+rYNh53DrcP1qE{~EU;}3USL{&8hr0(Gv++J zC2`3C;4Ijh>%ma$HdMdf{clo=r;WSj#UVa^lVW4|g_?mDOc+U&=A=3pVvWFKF-QsD z8dQGC`DDxi^{S4TgU~M8d$mlXiy#4>74+HFmX`ull7-ua>q@b~``(9O`Cm%iYX2IG zxXUgeX?l0>sKcjV@YCQ{E?FFlN-<+t^8VFG`jEQyQj)jVM@!{Ev!}6wb`ci7>&Xax z8eKA$=!pZ6e599D_nJb4M}cWwAw{5ZQ=1nYO*AA%p1FUIw7Dk6I1BhbC+^aQkJGR=k2U!?Kv4LL8)Rwq8?i6p$DIb!TSyweo`7TS1LevOfPn??SM{#!vX zDM+4M-7aR4={>#7cBK|IA*nLW zzw+gUK&})WiC+7U1qIQPhIt~zZN9@?hx6yaZ1443L;r*=FCLuQjn31nplPU2f`)(6k{=~u&U(Ja8kDkw)o<-zVuNht z4Sq~@4w`!5eV>ZoxR4UHvNH!0BF6FIFf(a5j-A-s$hz2w9!ylhz6131M^6WOxz#p>>1)s{M8){`&e_Pm3=hkZjN16OJ)R5w z%&6Ez$%tgG2?fZHDbw{u=BHgA&N=0a*W?bLz!(0Nl;p@>oC@2%Y=h8~^;lDv&)Oc#2ZbE%Fx73_=5d{zrSSrdM&`hAAl3K9%CU{5vENMVsNPwUj z5;R7P*}NCmhIsBcz1p;L&&M9G37sb^+hYEWpK1lzaG>T>O3bJY1-zO;)GgQpY~`#o|%}BQWOCcO#+Kq&YW~QtOm$JZW{B(#9I#N6A~E zP5KX6`b=tx-5=Scngrxc?1!*wlMPlCPJ^KMLAcez!n183p6ZvGhWl3rHJ=ou@fQ{s zZanh4VC-xkcwZ0l_gpRXp=p@ex_2ZOPbDIMxU*ah+fgXh8yM2HyOdC21(4orV?e3v z@htlJEov6y*PtZ6r)(69bmFQN1DlnpMykH2-j65uFBts)OxFJ!_~Ej-OOezO#ly|- zBL8f7Yi8#F3`E;Rg|sS|n2Zs?MblQxE1!P-DxCYd;7S&-*Lr($zjU-vH%JojC-fcB zcG1qH0a3d{T>*b1@>YL^pY=X8v^MF9@2#)vUB50m)vcN@h}xnp8^VHvG0yaTb8`@g z7s01$iI8i546J)fO)Z_ZlZWlco+_2rXf`4e8JR(*IC&|gc@jd4Oqb65MViw4JSwD1 zdr}Gw{erSJ=>>x?+4{hg!F4+?YR43q-O1#CtT~_#L$bqEc`Ji^3$Mz%t;ylF8im@BzxW+aIVZf>{|tLyg$3`KUPx5BLgx=S>}bI%fPR$&*<*ohty<0@>Qup{yr$9wKgGBy@z-q;k@(Z&dn*{)F3R}~s zO<^Z_;4>!?8s5W?4*Z=0AVcEWbGdAse{Q+Pjp3Ov;#s3JM2R8#R}x%qmeI4Qc0AxkovGuqqSJ2EVx;_x@N41Mp8-jatR zS;|&XR(y#0mitR2wgTo5zOsS909F{#hrt@n$CWz29yH)volP*32X|Cp#D*BodN$PK z9fj!)P()Aa^F z!fNY=(+KWld`D6AHVp`(&FYjLF)vOmc~w$_mozGWBVi!%6qy?OSxp)akRV9m z(0dCF=9}^z5gHT;$HD)KfVDDw|!|^O(Xp{;J0)ufy5AlZKsahN7vd00|Ncf;Clw5Y`$Y z9e3HBUm!U!89RiP5$|OgAfKY|vuy=iVUCKA3vQ-ef_8Y~vmd1OqBTi?VrnfX!pP^| zm8VgY039amuEelexq9rUy{pjC(}Dkn_rvt$1JhOVgpS|#wgKC2edoTuez!#OFGmJD ztnUpu{OF5AGe6Xd5@MvQSC}UxG1_Bvg5HwBi@d^tfVUy^QVUOJT>($bKQ&}Ufqw9~ zJ60|ITFtJRgMe{sov?=Vp1q0PX-vMp-sYx~KF~M-TE7n5PFptO+1B0Ld)`~|r%{2pz#9GM7z0GjThHgM<_qE9AmM5E7huLco7w=}zpFG}$ppQsdL8*X7m zY|H{kOdiPys#D0N$2h{JP|Rfv#wFSg_$R~aO1p34_$m~MjQN$WV%-S&O+JGzn8i?A zHCos_Ba>oL-4M)R=lxvOR{pz#Ti*^HIfRcjdC3Z&KG!b&?(ktQR;dTO)m|4SO=iRB z@3?Rv&$DXD(nA_cQu{O_?y*L1>_ZN(j={^$6Y5|*iZnvPMqkcXuE1H*{oA(q8}gN| zp)IN)etIk=H6!4F^iyUz`((Vu^{ET(CwG!PhXT!B3(v`)Hu{ilyw^7qWa>sAH&n5-m%}2IA1PHs|UCnN8ZYBd-1HO8$ znC;_vpN*?f2ietyMsUltC~&_)c2u!mx8}&y%jH{!StP`f4|*Ji$Z__>+2)#%85V@? ztp^yZx^(pYzA3^*a7C)JL}%b;RO2SHf6)&~$INRDkRWb57aB6IB$a9T_=l%yL4L*6 zy?`@B2p>TmH4(YKsYpFlcyEL#J{R92KN#CA9EK^l;;ZR=}sMqOW( zW-?L2W?;;k^Jy_(&=FokY0ZK`fPExs-UqtoGwxHE8}4!g&I&|MW)kC${RD?$gn=X1 zfl)9Mg-uCf_@KJZXD09L)LK28K37{WVxIKCn++53`giYP-!{dj9ZwS1+T`gi*-U7kN}}0q;P`7HX$Ja#)BV((w0ZT`p+(fICQ((E8&EZ z%t>1;zi3(S3E2px6iP-lq=&?AM|K!rk(S`$K4eW7oJ@O;bbY}9vcWX>} ziq6yq4{0HcvYlK?pombT=CG!g#F6b)4#r}pJ?UvkPSDTO1^+{6el!H!F}n2DYk$t|gGtJtr3x5MKo zbxwZ9Z$OT6iP#ZBB|8cPb}CtNx{;bhLeev#@0tJ;mRi+wVWbF-fGcr!5}lExfrojc zQqhbl@KujM=OP@GLC_Ndfl!YdJ-cc!mP9>~%V!R=AOH~-Jc-X@wUsLlV`X{*jv04$ zoSg_^94AT~3c)j4WHM0EvT@Mlp;>KAvnZ_y?`E~X&yt|+|0WzC1gl}dfa8WtnEzaI zR=B~0s)8|UZSv^DMe41izGUQ_IHE#G09X8P>zq;9j)}8`14G`&S-P ze8pf)3y68E1dak|%zOTpXQaE zbwWn|F(&gE<@mDkvhGC+|CO7$`K+RDCetq%jFn5ddPy;nlhu_li}M@n-m&%C2;&Nu zdP287jz){FP7`rl@HoeFhYW4KjOoPTeCCl(>!-PK$^~=%WuFtI!Lk`_I`lf@fTG$(UIo=GI*v+iX?izxAg{P zs!UEv>RUrD_?n}`jJOK|z1A&;jZ(k%H%n{Oaa`V&gwz};Vj$LhoTu*))wC)pUUj+S z4(6>dGKc}X^oNhtGhb2DFO7nuNR>(9g9tWW2YCF|{s$Yx;M7u>3kk2Y%Zv z4XAYA(GHN;4uUoFrVhqrtMf@Hq>29^BP zUQU|GYBPIx$1^YAv=Htt`qoi7u{$j%Lrd`PuUhdjwb#yv4NheW<(Fz9d+8gv`CzE( zY;ByluHNyH#f&=vX?~Ls3r|3aXzs@4irb({;ACwUe@e8?l9)InHRcYl8HUDJcL*{4 zi%3plp&{8URfSVL&!*KuCE3xND%j<32wLreK#O7^Rzsr!3qxR-xtBA|tG;4wWB1^r z)oRX?!dGvA@P&>)e{k~!x`RU_R_Do7*hvobtC`eJX^$Hov&*xN+TTdN70_>58WEn1 zZ_aG}2bo@_fo~BlP|SjN4aSEFkPI zt<~yDn5S>jGH5ucv$Gtj1E7G>=9!CpAaY17boZY>66F~T+3^`Ol5w&He|SY>KT`yw z@w+@yf*{PN_pX8t6&N&Al36?uJ=qYtZ>W%Qt`;gM?Yk@syV8l;LPo`can*&SSZyWt z9^$iu?pWuhon!u-VStMyZP)Fm_{9s*LT#(V0+KIfV8Xgp*cD;fzxcxXnF-iD>UX?t zS7!HsqHDVaBtei+Lp5bWyDLBipG*;^Y6MIfFp3JRsqpuZ;M&4ZGS$2zWX62P)+x{) zjCDJ1C&E~&E&C;ija3yFf>2u@t9i>C-5E(%syZ*aW4yBIPla?Oz+jSGo|?o(G0qko zrh!SnoPV_x)d$zU_g@Xxx&NE~omukLd9_s^```PM@|!XzpHxX?!LJZwX@<{DjVAaQ zOl*X-#0z=p85uoyi?M{EVAuSnaTml!c+wMiU-(hO?%v*bk7bn1C?ynkTwcgS`8OdE zGPk(+Y1x4X-uqa2x(M`UrenN7<vY)lK3h7>yrG_T(i%q zk9+kgRq8+pZ{HKHX+v(s?=ToWTC%8OVYhz{`Wmk@s9(UAtevYV&8BvzlQ>-$UXfi@ zh>Jo-4>ii-eaLLQw@T{H`#$Kph+mcRFXX8s%pFef$tOD8>*{=lOi+k9Sl^w{< zlhtk&X8kz=t+Q%Jc&Xw|54mQh&7t=OPjgb_n|R46gNbx-H6E&+npWI^N9<%ywy(nU zX**ecJjd|MGPAM_eXdrS1_yn1pS{s+fQe@B5NO~F0VkCCi3zE}P;m8lDOxm@a?TC# z%269fj40kjMXsO)r|8u6_AqOJRgS)GfD+iN4H!|+*=dvYlTLdUEKMavuAV?aM_evyWjD;QhOOK$udeXI2I?S>kG~~U8DLpKkRd; znvo{nB3*PvFAu2R=8P7%!$I@S(fU8a#fkHXPO5ntx?C6A8Xs;}?nZ>S{=9G8`?`3% zbZcf28_)#XFAdpLM?0+1Su*BZ!VL1D%4Q+gLtdc0_fIeuj)1I`73II{8GnmDs#Z^S zhuxp>_O}7|jqz`5O~|30URgCU3BVc{`sz`-FV&x8M+Le%z4I$uy*n~{*fP`Rlh%rV zaq|rj)X^dT!s`&?+4|yo1GI8I@?m>pwwa4CRLrrcd}a_WtllV@2Idi|Z9mX>SPht&0Y>dPd2 zaU$z)L&x!6-}TNHG(A_#8*bB4%hRt-tylQ#MHk`pugCLbv_Rr^^h_amgqipoey;8E zMQvRRui7S&x{_l@Kh`31C+SRWHtXQcPSvZc?VNkrK(E!p@jmgcQTM_T@BZ*Gb6d3T zC(BWb%%sQb@tj?o_WT1}k*Tm3jXC+9Y>E$<6MtsUE%VeHPTW~U9ygl}R4evPjMz1$Kbn+x!zkj|R)JYw7tyZ-{rmQbRF=m0e(ZN)OEdC30&Q-uqh diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Goblin.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Goblin.png deleted file mode 100644 index 0f2f1587b0a514cd70f684cb54f3dd9bd14703038e2e2bbb0da75da12c3cef8d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11285 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat With Smiling Eyes.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat With Smiling Eyes.png deleted file mode 100644 index 9bbdf33ba3d188c8eff09abcea964dbc2fbe02433829dd6bc54b85631b99736d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11646 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 IM6N<$f&d)HKmY&$ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Cat.png deleted file mode 100644 index 79763d04753a71f73ba6a18b90c86815ed0e8782e2003c0773a0a4369bacd9f0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11664 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≪?{9;4M)$2*6y5h{jy67%HY zd2avmA*5NlDy-X~l4UXV;f8A0{gf(lX0VZ=*=ljiM?S(!w!M&J$B)uz zL_B!!lhEl^$*wO0s;`1@$jiqTf^LO|Oto=>1D_*_<>5z8aQf67MjVZLjbHgszsOCm ze*?ZKK;YhQ9IY~OU&3DXrLrtg8B%7}HjNMihOVux9nd5(*FNym(YAB#>U%~(cqe5; z>wW)mcvUeu`~5QB5Gy@fXpF5TsL!xs7rHu1-)*YuSTKk*ICFB2cE^*}A_z)ai%~7> z3Ar^KKQ%|uo*{~CMd_Ta11M5!jn(7 zA>%BSp{~00n=C;^v9$<4pHUl6LjRC4C#T$x0e6gTdFFB88Ck%MRp**-&)ziLZyJqN zHSda^*fat|m7Tf@-UYl=^a6RASV=+FEpV=U1Es6-RVFGJiRfe*d7fcIsm&US(!~Ua zud?D2l9maYh6R^YprIgy0)nU8aRhN^n}imLIK_ye*Yl;dXi?=1uFSB>O9ZE7z*hn$ zi3lE|x;1931_f`pd*_PAD|g|ZX)rd=5c&sz-23hEh^5vt1Q&>E(Gp6bqwOmrp#C?SQs2=K~RT?1J_}EETP$mDV)POj}PF2!-t%# z$XK?lNz!z<&_yJ#v@!$DD9f>>h6)uYRB0_zT9}A~kg;-kA5mn;U4ios9~9>u&KEcz zShcDJQC_~cidT}Q%qyOtRHaeDCJ`>rNJa>?A*(j%>j7?ihHfZ&Chlj~EMgF zZ6ssjH7_jnI#`2xj~Ebf3nlc@@TIDY2)Hb;Zsh@Tzn;A#I_)aHIn%sHr#^&q7C{N)9&dD8Ubb1_(@**(&f1JNvu#2a#ghqUy^bQ6u6eWl`#fmEZ*maL8~S*8}Hv!zw|2F z59v;fJk7DCr|W`5cHs5a?G_(iEG>&zF^V8ILcLb?lu%}o3qD(2CMg~CMReI)eagugwRH$hlw(xI3tR4jB%(B z1Xl&(MM~PC#U$^0=e3+Ub(mg}QLER9YYBVzJj##$$W~UaFUWe`5{lx^QsWw`tXR*M zm_sOaJhEj@Fd)9sC&qW&ODcBsX}fg$bf*Y+-HyI(eBTD=^#5tBPi-=YATd#^uOhLO zP{BskQsYIWYVKR$-3_iN7+#jLVckYP{n@*job7V#*fB0yW%%H4eJ^!$nou#7qJS5Y z*b*fPuA4DC-D7U5O=rG9y(g_%;)W0was`T#Ud!67y<~{K+903(+i%eA296wjf*W4G zf?e;w5dVK2clb^Zn}p!b+w{+}NQ^YKGZ zj~jY=E~x5-@8)`0UpoTct7rxPyh^D&Dg;@mt0#1(j`O|W zvxd)XdNZH-@;;HDY9-kEZfR1pht9X4Fr z&x>BRih4sSiUK2G#L%8P$~)h=o@=gJ!|h)=%*7X7!)sqNLe{yj48CQ{TgCm9Nn`GnIDfz4kpo;X;3FfkqW?*nkRjrbzHKyk+-FBdz zS-M`p1Zs&e&=UIlp?|<)YOeI*IrNGQG@?7PpY_XU`04kphS0-L-%sWM6Qf=TIMOuc z@rS1PoZ2ui2d;h#Tugop2+;O#%PiAJO9ma&{IIsfVkj=x)oM&dvFh38js60;`Xf=d-oDxSV^_mkim~z_Y z>u>u{<0G%+_=J{dSDzID+_<-dG(~V19qvZleurWI>6DWl$ntrNH`OqPma|4aAi-i| zL!$}Hmm4;3NZEWzlZ)2G)EXY2L9ac5&YuB^Ax@v_4JV!E_0$oBe8ka|kq3;#HQ zi7Xo~YH{_JIwM21vXKi@b(|Ck77=h70882^ zb>@|=B~tkXP_*iB!x|!!;ezGS$1UI3)8^Ev4mR?vT$ysyYig_*iRo)aq_M-AP^If0 zyo1~@KW8~{G~>zRp5w=&Fgb0_=MM8j18ZM)%kI5jo_#uS^l4eZ>C;=xnP}Ca?_K^V z8@HxX+nVT;Ct&|^&+YfmabiN4o{Q-^PtZUV329Ae)h)|LEGx$i*If~_Y^+WQ!m){h zg9m#Q9az4yEY%aLK2M3NmXR`Ry?ATNL-&+9?8KQ#IAgF@@WFu(MAl$13=AZ!-;_}F zdWcHZX;GFo%gzU-$O4BBW=wY-FT6HlwAH}no{7`Sfn&-&_qUmxhWU;o%USGmZKj6N zzJl=;fi-=eE$ad=TThsb+UA-mbMn?lT<`eYrU;(M&-bAAqC~&Ab7!<~&xamA8SMI_ zJ_@~DO#eW_@StJ!Xkd6m=o^Tr*J9#GKn(3nnd>Ms?JhHuIX?6;G-BC&k+6DgN~2Z~ z#}*+fD_&X(05OXdF>K67e(xy%aOV`8*R&W(6LRM<#)CwhoXwb<%K3?Rt>ER~o6?>y zh^(pV#d+Cit0gt!y&%CeJEuJOc;L{XdAjY0M%^f{;x4hXk%;}Z_uV@En@@rG;k-@CUw7TcHH7%47_NTV@XYqD8(iPz zS1aq58yUH142;n32@{hr+jh*(2E4NnD~)2^J%<4UV( zK<$#2c3W~bVhO6mwU{UNd*1pV?kDef-tf}(3?wncfkzL|@%gWv;)ib<;=lj5P58VA zm@*63P_?gA8FMH<_ROSXa?Uf*idjA+L`La!W6sRv%+6=b&p|iyI1h~^roUM*GT<5S zOOd*T=~p9LR;Mqk834+MVl=l3vDZ*jwwV@$V||8x63 zUh>Ko|NXzLCyGPa-)~C#AXJ@kODaPpStp9?r5rq7@c6-u<0oKhE+h8=D+$(s8YRyi z*<3`Y>zJ=f60L#2=9L9kuL*1&_b%Bp6-~~j?|IcfUi7)qB;1e(X$H8j-OlfS;)y5n zZx;{b-w=+ucFUGk2J)}(-Fsr;7ax1ez}`pN%@-VPOK7!nbJ@lgTP|&~c12)#K&T~3 zng+x!6a>mKqM}I1a?4y#IX&MY>(uG*%UL-dVIu>gNHtxFlpW0r0uc;8K(m!_;9%fy zKRbi84VgC#UgUY(n??|w$7QDM-CdmBDC-4f_g#tg5vAQ#4j&b~QwHjuf⋘HAoVV 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Squinting Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Grinning Squinting Face.png deleted file mode 100644 index 6c04884c96c31fa66e619f014634f12e4932326d042832cbcdd9d4cfc9c3300b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11186 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

    F&he=b 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 IM6N<$f}N&z00000 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Melting Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Melting Face.png deleted file mode 100644 index 059886ca5bf3385d1ec8d7ebc35fc4a4fcdbc01a20f2373f3efcc1fd3e6013b8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11831 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Money Mouth Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Money Mouth Face.png deleted file mode 100644 index d55cbda0e0b5e23eb4891a0b3ed45698ec22d34c623f53bcd62ff47d75fc4d9a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12146 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Nauseated Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Nauseated Face.png deleted file mode 100644 index 7c221b840668fc2a54f88371094c1eae9478a694228533e2c7206f06c9f4784b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10714 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

    iqi#qoKM`tGLpB^U-#|kJ$n3jI&$pc<*S)=D4a0 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 M07*qoM6N<$f+-AD*#H0l diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Nerd Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Nerd Face.png deleted file mode 100644 index fe6871a4c5f60e2abe16e39cbf3017091a069bfd85afa03d4f033826a54b7d0d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11817 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 X`WHtY-7lt000000NkvXXu0mjfi^ME7 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Neutral Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Neutral Face.png deleted file mode 100644 index c709b1e2454599e4d46df84b4b26dcaaadd23c1d4825124268068ee57ba974f8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9773 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

    F{|+Us#Q%CeMsE0jG%eje8Cr;;uV4c-FZU+Bngi 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 Hu0mjfHpoan diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Ogre.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Ogre.png deleted file mode 100644 index 607c9d1c8c94ff96c708e1fe1ca204126e78bdf215d0ea47404a466c16384511..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13845 zcmV+wHtNZVP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001@INkl<Zc-rl~ zd64bdQQ!H=bI$MgyZf#E)vH%;f4%REdePP`w6$7NBiR@*mSr>8GoTm-Vi*VnHf=?K zjXlBG4gz7o28<nm)L<4#Ab~(?)Qh@Xz3*@9x7S{E_j`ZKIXQpa>ed@UjJu_7Nj9Ak z6;V;Ys(b5Zo|Bp9o8Qa>ugmN5y1Xv0%j@#Gye@wm#eN(75AsQ{mvW1}m6O~J`dYn_ zf&lJTZZTivq<-vm`~P*h6U;a9b>&;W`o10B`=8sr9}smjVx#*%mOuB@onSr&;nh_B z#~|EUJuv4peOEx7&nN%jU-NK#`~T3tbq3g0ihhg(zg5S4C^rS&ApVHy|JWzO>c77Y zlFx$Q{`Ih}By*m^!q+HH&U^ln*ZF(EUEuGuyKc4Kd?F^At0HXRpL`U3>mPEmEiZYf zza=r??}7a|gpay?x70%Te=a;I#k;Pl_~kUWk9WH7xzyJF>N7e#x~=5%75%k}x92H7 zocH{tzk3Gsqt*R8NW&Kvs?prL-q_5icDUl6rLBck9d3S@(Y?2TJNYW^xK|?XTk)os za*M#-mcraoacOwN6>~Iq)S~YyxBXN7fjQjn|A&Q&`|WPf9g&qI<s`c6jc*?=eerY2 zJ45ad7^^F@6aEX&oMH3D*Sv1$&dRCo*0rf0T@k^82qS0g;brSTANRsX>%#1tuAj>H z%n&VV<fl&BaCBw#e&GMU6~f)$B2VxwF~DWqt&H8v1@%&7nln=&%ui8U?%6vo+QBbA zc>Kaell+UV1`J0-x})Jo|NPUe#*$uEP7*Soa(11i>4y7QEi!j+^|K#5vcB{IXW3gz z45cUnh4wIIpO@v_hl$;bWj!<#Mg8H3ddZlJ8Wp*3Wq9Bh78lDucIM3RTNMkwSq3nC zH4D-22ESv*d{29Qctb5ItFggiErZ~>rVjJQ2BIXq^Tva8(=K0n?(}T0pU=MGqFrIC zSqXztDo>qQ-Ff89=6~48$eZOTIyg7U-kC{l*2+GKED{3i!;$!>y7Tp+<Eldqyn4h~ zFiO2-aY*x-t*8N<ZvfeLZT_2K5cf@rGoJH&>{LU3P4n<i42r8bWHiFBZDO1y8D_kt zS~b7X>YBk;m+75#-hI^}%|p;?Y>f|?$#RKZ%}H(4PHLV@bmiWi#bnhP31Wf<7c`*8 zvMWl6hF<65A-k$U0)m(T;?RDI5~@os-FfGocdmWxV;>9W#hK!NmK`8~-#1a(+wr6C zC<-nW<pN*mciy~zpPw8UQ+O3OEJ!=+MB->|4!EIG=1=+^PQ0+je5@qaNwrdvL7Fql z3si+_63d$p?H19Xx!{IrPMQ~Fd5)^bmCH0%0@~}!fvFPdN=A84o!C11OD!?&5l(_U zF<SbwyMO*;8}*nG;6!Lek@?g{FZ{xJi$?!PGl0CfrKjuibM4XSN6L|{RvQsUg=VuF zuG_uSx@XRi^gLT9+Sq1|Vzooo_3S7o+*mL1-_8ygl-ID4WvW@DGaNEXJt|5yj#!+X z!o)^etuDP@&M?m@R8dukJM1|bxYEX4P>TplLpuF{H-XSfsoM&UE|<*in9XWt))yme z9MS8KINfT$dAh;H8y$WCh_(&!nz$tQ8v1-cU2{Ka@IQ6g{y8q)v$LosF;;`PNNm_l zNmYqmM7A`dI6ELRLOD)Q;Ii^Gf8IWW?G%K$3M;KH7%*Zn5*Va8$CfrQqU3pj;J_Hf zf;dCc37l$mxpJb4w}Lo}>3O`4h;70of~aum{G9GM*w9g0pyIJk^vg%jh6fLy`~Lki zwV!`sy?gj?aHrqa=Kul1-o4F<L3jAcOLk4i@3`s$Vk_1NMvNL`4c+#Tqo<d-vQ}d; zim}e%oCURPqzcy23OOgXhFD`Tu>%WY!B_!nP*GGA<1AtnqaYrnlQTNoXCA{lC!1si zcvY~5U>$i7x+o8I`-G|!nMx$fb3sHjsHr9;dH&oAy)?Z%j=8j2GK)JWE9bWQd2f4h z>9_L^uz=6E+V3hkCNJ4N?~B44ua@4RPrKV=L}0Wu!eWW7a?0lr3{DLpD7k{sf_F|# z0};<GwHPfKat9JQjJRzlrx+|DWQ5?y%J)hfEC=I++h*!aC=@~1L@>b<6i@-{m~xIY zt9{mM3Vy`wWRr!-31Sz_WTiyv!`qDTw(cNftKDCnt(%`%>xTb)-ofwN(f|TzI^-YC z&QzGF)$k#(*6MR+WsR`yMs#DuUK>%3B8nmqfK)&vU}T(zlo38K+2rPWiE~+CGtcN| zo*c+k@!RlbBoUE`DJ3xPEOT+fd}N4KNKuSc41$c!g%?N=c0~zChdGrjFfx|Yt8FTA z%tWoid#}9|BzTN!Z{YdL(dD`0YiqwbJz+ODTK-e7mOGMHS@98&?P?~sc82Na-+K98 zx$eM%>Gg*kKC?z9V6%W*4zyb>KG@vJTk18^A|n_bV+X2Z+*m=dhy-FQSTP6zRX_{@ z881N%AhNw1WbFSG3J<vkM84`RWIM}O5fU++C~|&lb%nHIi013~ieX_QVrF6z8^A@D zAORzaQY!xVfhX<h&Cave+;GcPci(;Ys}hv$tLSzD;CD6c+q%R2lZ#W8>dhDLL5!DH zKcm|op{)`AM32TO;vJ0%uB(>`-lH0DB9xpk6~#1@h<Y58M23Kp7M{EaWI#|uknK;d z;89cqs)0Nxd9H*a5GAmqT4kYBVXjnSCUMjpSQP?+G~`Se$3pDb>_K~DfbpK871p{v zwpv{}!x5#p1R^-&jdL-_mp5kn8|QwnGYTuOMm%t@md{^YY)oZa!=D%q^8agbs&3zL z^?r@4njo;gH6S}VAQ={1Rju--W|LWU41Gq`8fK#sjmQ!umdM3m1)K$A$OJlR%2qF> zI~b7`1-Tz<UsOPqu)Sqs7tyFDOjXJ>Y9&g>U<;3Wk9te+5xxi%xzf!FP8EGFjH?`) zYw+M`i!W>p8FaeDyGx|Cm|=IoAWb>AdnbuCG|NdyB5aZ87Xwed8Xm;G8tLX-z4W2h zX6Ij)o!NcO{+(QR(V~h8qR!Ah-KYQL8k0eJ&&)hmMrB5t1A#;3gsCVZiekJGFc!6f zIs<mB)W}(8D|P0ko1{VMk5UGsA%nCa1i>J<2&(0XTDeLR2~GncSG@NW?!{#~Mi>Oa z64+r98bLTS%2>;DZmKsql+^ju)(S_D_bKlL*%2|yGB#QrnmeXRoK<Hnx%cioc-()h z3}Aq;qb~o#7wMe`XD7MwqTR)gX36D6CTb&kr$;>hm6IG2$9K)n(R51J4_I_DJ4z9W z5wMm*1hEdB8L$3G2$3MhfH8P8PCp}SnX1*9G<85w49K>h4*~TMiUJ=5H6Ut{Lct1B z1jGl(4T6&4iPdtT6w!#_<S1i@HGF8t4nDoP!DCAq2^Kr$=nisx0AJ*0lzJ_Uyk}}k zKeM?>?;8d2>^I``r<?XW3Lk#`%EkHOomXE(DY3T510i_Moo;jdp(PH)Wxj8EhK3lj zVAxZRnJ+~+F{m-%Vyv@>vq)?(&O&6sS;V^W0V*;WJN}s(`%)kkV^AaLizu2HFoKxz zGug%fjmUZDbAyO{wSb_3TCg-s#AX=b^PDTnO@<0*HhWkb!GvMDQUi>%N5hbfva5@N ztA`oC`>is712i)FQ!};Xns;4&C@8^s6*jvgPMut1<CzV1n-c$MYKDp^sg5{UN|<vF zF@m)Qu@)1Jm9LROqw$HA$c|%x9V;Ja5$DD~k1TBetvIvot^~2;-GqE~=ZuxTt$F#X zmIT@UejG=Ff)!y>W4gi9_ns?CC02dL$<~lc(=j*OATf@M_RbmWj6bv5zHn+H`7fP; z-`Lhi_<G&Q*CWOFzn8h#jx%e;u+i>vc6ozzX+&LxJDN=zp&%5V14+W98>f#}48}M# za)fw$C2#xw5L+~|5D5|qA+q?`5t8wjCPIiUAr^cLAvXBf;1j$3JVIlKk0U~4ATnq? zHsaW@f<{7!4aSa*8e+k3Ki*ra5Q%4)<-D&x$$kfe<3rA^Y%tIfMV>NQsY<G<!!-NI zrCb_s>qEX7J3s)lV+WN;<hQiYJ8TGYaOaG50;kqCDY^kxhP=H##WhKZex9?V;+TzM z3}CGtpJt6iLykHjRAQtQA(0#B|HeQPVVpr?JBAvp9j|m_5MvQ*z#5FPh>`8pK6Wpd z@s}VN-Ck!3@>0=KkuY{ch(G`v6pvyAN;aaM7L>&>og_Tn9kDUYaLp3UB*JKrG%d8< z8@+KDt$oMt5`VOwG5Tg0zycw`{$k?z$8R{aTW-8?uPK)-sIuN3Fgo35j~Z^PH^{xG z7Ay1R2rCvV7Gn+8j8~?=cn5OR0p#*|%!N~g0~45;=2)?Lf!JugVy%pWvmN_)tO55` zMZf6x$KM00h!3bWW7ma8T)>nRN+7X8jE>iBu4BW9!uEM0F&<T6y~vq$CHgwzWOqa| zQKHc(lUU24g=uNlD*2hs_P&ni(qYbTe?8{{`$|E!Ju{V^!%_AdSM8aXHyqk&#E2Ay zu+r+1ZDjbhKJTnfvgjN+DT|d7WwAtJadv!G4T+#{*nvCPzzsXttxafeLAQ<g0VE@g z^tb(bgxct<8Is#}BinHR2N)R}Sp8U!l^Ax^km(4CM;JRmsu@ztFjX)OK_(3{X`mDc zBSq4H$oM3#0TK)Ste{Y#?jjBkhV(S2V{_u9LN3Z&qhgJrII+>WxLL9H^iw^)ty6t1 z3}69u5^iv!KXA?dd6L+f%qypt*I4i66l*zqbLAbCY4ADC$S_+<PyuHgMj=c)+~swm zQjTnHqUjJ*WEfvy^MJ`lm^2>;T9YF-2j>wJfsGOS)hq`y&Uy&jHGpab-93TKCP>ji zHdc{QA7ga;Bw!IWyqGshB$$T9Oh;%g6uk@)B`8EHs03QMXUaI%e9qZn#;_9TXG0p* z3f_ArYo%~@y(Pmz5rzeSbRH`38l3|IHERWHjT(W`Xhb{Ba1s%EIR}#}RZ)ft&Dek{ z)>yO%_=Pgjm1V3NC;}ugh!BFJVGPuWL}R~>g7+XEVTkAmr4A+mTLR+<GJbt2DPgKa zQTEuiRXDMUNsDm+w$U~Y6bRd^8&Sj<3>Lgcq5^ku33ZBpp^r0=X`mWgl0iY?b1q2A zJl4sunPFfH+MN#5%?8d`Gh3_4dVBMFRTU8_Uekk^3ZtM9G>8xw=EWGB>7<mrawty7 zd_m$26({2$=fO-sa!Hk-N)RC!aNQv?7(rT~Mc7UZ4WrmXvqGs_8pqF|2#WX?c!PIU z#5jy~s1K;M(C#27*Ri7j)}bW_D)?ba)*a$TDXz#tw_RE6pj5)wB24TMpA#LdqG>@m zJp^O0MyW-XwbZlMS!N`#+{(~uneHHGvL3L;NUahf!orn%CnkWcS8_IZ#Rd=|N0q{R zwt-6s2D&5W#V{w1)CZc*;KX2coMJ{7HzCf!TTFk1*=V!Y2^<^r*ckMXJkUrIb~WlO zL<z35!LVdWW~VUqGWc-{qvA1n8*~gW3jqc?MoFy!XHWsnJ=yXWw%fy*n9bC3qCa4L zI7EG*T8i0Qt+K08!%oHcW(5(CyRbpJSzvl2tb<w<voRc!7{^{$Wo6LE`anibD8iUX z;35oEN4>1_nj63<2?7RDuZjqmLJ2+3p14d^g}y-58H^gV@VE=7kXcJe3v8>;^4T_@ zKDEq)XF7BfOETFYF%iS{Hu-ZaTryeVy?Yk88puv8A#;-?J0?N>cCtM_WW5B(xG@Zk zDi|RQat5c@spUCK-tvbh&hg0EHlxJhnho$d>0pD%!^O1*x9^_h>RmN-eimvLw=cp! zJwg;pk&qZruk3Rr9vpRHRN$+QB8=TyKw-QF<h8_twhQfkr!|5zR@IL`v`G~LELwy5 zK*@L#YY8ey$zrdV#pjzut0|A2Z1eGF4%4mGx&8n62sga{eN63Iz!^uk+vlmj_%r_O zH-43W_4HA0-!sqO-!(;8*&wxsc&>ru;XLJs?HpfUB9Joh3{I|4FANV13V!v;6X?Vo z@BZ;0<(l`ri|L&U<oST5=bz!pKmR-r{pH>Ko2O6mf$j_+C<ME220K?JywE2M3L+<z zBB47f*x{6h8rlQ!HMR`^gS0?}!T!a@*3r!&uT>T#K!`0r*r>$UU$8I}jHu~kIsKIp zlLL5DQX^7N#X6c52YErfYl`HGIo!!r9y`9lzj@*)yKcCNJ3skJ-uMr`kC|P&h^tjx zxk__phKp{wm22OAGuh@6pS$ldS^;jDE>rX}Y_*JuE&3wUU&FW%FNzls48zlFl#7Cg z`WgT3krQ0-wm0$7yFS4U-}~J(=jTbP6)ID6EL?I8m)(3l`!AfMC_JBg=o!*c!R6Ho zX1a{F3;b3N#*lkxk8;Y!a>NJL$uSc#Q`HLAAS+uvzuq2{wz|W9H`RMyNh)ez0c4?9 zH1|xliuT7B=Ni>LQ*|lSOM8$qS{|}Hw_Fz|gy5+q5%sb|vJ89mZjx!k`r{}0g~yJw zaQz#&^S}K*jh#CfY_`bK4Cfqil3)bVPKTtqgWVVIMTVPv?*7MVlp9=HNl1$v*Q|hU z=j+ub?aqjFP*AFrD7N~<>ur|R^79WL=fYdRgP;DrPZBqq3|d`EHo`^;)_VrM9vWAv zOw6!jzJx{j^ZTA;#=^n*I;t`G@&Gjug3ulo#3G#afm50ywU|mN#u}JvR2gNNUG9vo zo|xY8@qWLbzFcU+yplTa+5Gg+)*@yvn4R_^h>QxQ*UgX|>Q;z?QUrsGl(1b2G_wup zrhMk`GTmy8kNnavA`^86?KW|>N^NF_&Gjw5eBYOO_~EaR<te4+1f{73Zo1=kZhF%j z_~YYeSuY^!cL`~RB-{D?{2YVA(C!te8j4O2u?e4gVH25|<cB~0?@?=sjHO<yapcGm z9=PW|jvYNlwOXNEs!*QTP14-SP49afm)v+Ue|T(}&6Odx7QpH_Fk6Tbj92EYka$5x z%5u9+<^zeb(x{Zll_(kxlUEyzvw&Y{+P8y#<j~G(Kbe$l?qRDlz^4V0!;C~2wFrjT z0wEB@kyH{^S|jdV?eMM-{e2d$x{~2mi%PvoXLFMu`=>v|TW@?LAAI|J_~5O#am&rO z@XP=D-!M5fi$)RG-~JYQ#_`Zv3s)-f*h8!Q`Dag#-477QG0#80$`}9a1xmSLC5QXZ zZt(tp`h!d!JcyH+uiX0p@4M~2+;+>``QYuh^R~C#%6s2^J74;XzaW{YQ`xZ>#c;zN z?_fm?Po7!BT2O0W^l}(06al8hVZFf@o}iwffz11`*6v{~Po3#>HeX2=WL{ot6^t@} z=WI1$|NIOi3VOp4t=<p`U{#q?gY^MR7<Wm8amwvt!>Nr;Is(_-b{iqhDJ3N~*4Me? zwmbN@zww*&jZojSNMmsqu9x%AKKj%A%#Z&x)uhDK{2cQK7kP5M50qJ1>TvR87aivK z%@*1lu(^?P>SPNOlq0<kd9}pV?|KK=i2LrooA=-TevaMy5S580rNzBOQ`6k{@FRTS zjt}sePy8-(yLJ(Zg2lx}W*6sqY<&YT+p&HOUK;`Ll}3QFT0-tAM+uP_a-Yd4O>u## zLsK-)V+MZ11`r_Z+*zCP%9T4O8^l(O51x%)A0NOJf>EL33|<S22F8h*MS?=1taV1j z<qFe_yYX2{T(9%7pZXb|IQlGq_$%MV4}bqvbPA#C3`{k-dFL*E^*{bPU%KbZOib08 zo1J2P)F;;zV-1xg25-<~XOaGp*d<70!30)2Ln;%~%<oww?e+MH|MSO~E=T<A&%T>~ z{NYO|(tt!|cJ4dCNQ58%;U8gTX$_ae*b>Yx%+VTvdO-=>%WsUFYJk{4jK}7ILGBsl z1=gs!Y~Q>uJGrEl%1?eZJ$sd6KnT5|RXSN#P^ee0#hA??V**bJsH-Ie8E1s!v>5dP zhMuBa!A63!0hg3mK6Z@H{LyDPaA=-xR&eBK8*7xrI#$yGy<Uf^2w%MKVQlP(%Oyex z_z>_KQQ*-$#|KZy6&uFId4e!fPgE*VZBFp;0}pWI@DZ-ww+qvZ=yX7=qFS)Dv_vLw zcw>uCed2dXN-;r&a*~jlK*(~$>zMwc<0QWz5TjH8=MCv7qt)wC1emTRvU9qoh1Vb0 z-Ua^U?1Gnb4v=U_l1Jo6R=1d+t}s!nl0*@GKO%Ucgu!jI&b%sNOg|%_`1KC8U9${_ z1GZL|nY!d!jvYHrtKXq$*ZA?De;83EHn85>q}}c@Q{+UdY;AV&d0;R~iLD{3mMNM- z+~34z9$N&WR59xD)`D|X;}Th?3x#KGd4))XyfxyV{p??HCUw}5((m`kivnW}UW7;Q zyO%d#@pn)$^!fv$S_$=v&pc`!D1<QPBt;&|VhMf>kMsv48r3S|jG3FPhf^Efxn98= zfzQ62qP=-J2xz~Me_nF-z-4>pigFT}!60WiO2;rj2$T?<LXd#?7a3~-B187VIrhv< z5;EoRy<b4YQ?1oNgr(IbHr7|!*j(Y%xw8~&Tg>MLbupwOOwCT=i@=!|PP0%hVJD`@ zk{G*PM3F4ug9oD&CW1<d{gs6F#u_g?^E7)8?!l|Fa&DQh)`s>ft#*r|C@>g;2ni5J zg0(Q}4_Q8OntfAE%*NQ~D1jn)eC{z~Fe;Q8(`7)(R2dbDSEU)pp&UES3T}A0#5ePD z0<aHys20cJf~hI28ai1@ugDP$CJ&TwB*7qld@3EJf+84aNKdS@d*C>*e~vHSbr)-o z-NU6<Uc;pqTtv+)6b0!hCj@1`F<g$2i_%r)ZST05vkyE;aeSHUrzT;piQgu|kq1IC zh6tQE$OFDs=HOhFJ!<*VFa8==-+TiH4;*4S6zmhjRqCjUCCHd*F^{FL$|aW_B1#gD zeC266%bVOVJxRVYLY+lLNpodX2&h3ZBnDz%V1nR-p(w@_nQ^QT5vBQRrJ({~o%y4! z!N{C!bwrIJww6c?c<{mFwpW7}P%NWCfd<7I7#RZ(KF0^H*vFZt&+rGo@C)S2&+#Ka z`a>wND+DfdmW!QZ!a!d=&lQ2c^X|8DO>=@rfBDng95uM|U=y92#HR(35hy%b1T^<V z0-6^Lou$5en!meumKW~&V-EkyC-}Gj=@;3G9VdzmCzgxFaFGayjA2w{yyd!!x%I8r za`NzLKKDDH=7via*q26h2Lr?gA`yoD9MyoRN5Xgq7!T^lK;)Pisf@CMtSAt}saFe% z2!I)7`dHb@J2(5iJ=3+4ua#mGf+Zj2NI$SxcrKNgkwT8p4S^1d8ljd%gx-)!W?3F7 zk38`d8!N|n>zl7)etv?d51*pnACiZ_W>C7dGT-%`xAKo~x{e2b{&xxME$(>JBGU)w z$Y&;b^q%8P7dZ!KOXRs{lm#~XDXYDd%PyTJX~gVkmgz3%eBrJ?=EB8Y-1NS;@ulaF zaH_RMs)0<E;4JTW`y2SFAN>$3PoCuWe(ArGY!3Lq%uZ%H<1U<5rkv^(EOmwyX3VUp z2E(!jo)b@A@sJp%$`zbZmU;s@+v=;;=%a%?th}7=8uxNez>AH>#4zhjS6oaaRzeP= zBE#c}3ZX0!J>Znf$-_8nC^{+ip77p<Nh+0?Qztr9Ha%CG36B2mL;TKT%Uu7yoA`wv z`G-7pVvRG)Ym{QgWfKjWD_!pXsb6P0@!bCI1ME6fK~;!LRq{cBF#@?_azpSrP7GNH zghCM)a8qU8^S%o(UpmR3{M^s7|I+LDS8sbK&vx6K&9<mlN?dhdFY_hGga7Fdc<!&B zVrrmFQ{#o_*EzU*7PZ2|%YDucM+C+-<U|5HO_@jxPKBU>i6q7up$OiuZgs6H53LRI zCtgh9ztJqn0!6<V{6Hy^3oqU|S(Kv4bp|QDbcn;^g25u3l^m;vhAMOQn8|8PMGBn2 zFwMDWvP82Kak4*T_o%}1v&%g2>?f&4H6|w-Oc)`{QdV1Cwlr}4g)`jvhTYUE74l9- zbkPD2eC{Z{%?@)1Cm{rEaA@JFCk|%}_uO-q+it%K7aOeYamOtOxNu>fdmnj$qt84~ ztv1EwwGxQs+@CzlbKOlG%H^)kOetnZrNZ7?jQW(IaLrVS%e`YOH7vI?dIXlp7ziX@ zao$pjVj$2NWZLeJaL)YJn4gV%In93VWd&i1x75oet(KgOf@c&8R3OU6X_>Xcgg9!! z(5R%$H5IE$B8DR5m?*)<fqf;%!N~?ip>&v{od-IDoK7|%s3ESzEbQLL&bcY-wF=r- z(!P>R&T#jiALZV=ALn4y<UrM;-s6)JA-6PQ<$_w3$Iot%{qd8$_k%YQ&D9yLce!|> z#)0Yt%bRVMS2r2;Mx@?TiY!yR_fRiIG~+<k#i;QNeM+7?vO!8kKwUz`6-276cP&+8 zIVmYI1tlMkiD97aLFz`zuvCdZO=rZ*tqZ>_1EAE57zxVu>2QqyQv@Om6DFdr4opE( zwxk7E^%xVF+S??Vt|5z)*m|81l=9Yq>Sl+XFTRe>ZP!-DBv3U<rhTMvB;|y^y8me& zdhQf^>@<7JhH@<A9^8V%<PObp=E^bqdUcMkZ1U;5?&gl$uSa%Ik?xPMS<dd>Bzuaz z<I0+q@h3mC3d0nQWSeOgC`&@(p)@ShI@Mv=8WF@3mlQ^xN)a<p1tUX>e4Ge`$l^o5 zD!FrUmsda$GB4-3z?rPbRfDLij`MI7ia-TnUJQi<Bvvrv0=s&To30V>Zc?~_2Rt5i zf=>+If{&r7K&S>nBM=&%P|u+ekR&5A@X%A|xbL}Ryk)k@f{m$H9d>&phZ(0|1XWxK z8aQs8nc>{VkU#y*)9~;M@bqayHpK6!QXHJdUo=Ot*dUJ~ji88xAYY{}hA@V@O#|wC ztEhN<P%J`hg^?6Ajb#TBMIPu3dKBJEwOsMm(ipTl|L)b~1sNdJ5>v?w|92aeiq<1* zRA8tDQ7bT8l(;O82nx>TL{Y$PV<#>aDw9>L6X*_*jW)X8#r8%>G;XZ3+qjhk1BD}u zz;6~reK@w-;d4)&;7#*QuDD@8&mP|5f;mGyVchvRKSOV&N1AzT1e;r)y^|3;r)oU7 zv<gMcK^K$1uncFnkkhNk=`~nd!EUs0LC0N{CZHy4TXmZ?Awt&5=&tusghD-oLK!K< zMp^NeWuRA1iJYTRb_OA|2kF(-5?>yq9DO;3ng5;(@__7Xgg-dm=J4^g%?nFAXF}xE zOeJMf29&ll1buOZ`>;(Xj~KLuEI)mgsp&dN*%53+Aq9%yD8|hd1%%9w8EW|$1ha{y zpD3Su`V9NZaPymXvAkmu{9#Jv+87pSG%yz|5}r5<Vz5TA#xfY>TzVj3rBmZ8C(p2F z&atmtqgWn}b9rmg7(xPS{g{(#3`I~>Jyrvn=k!|{t<653fDcL$3Id8sj7k_YuC+kb zkF!4SnXi_@(pHat9&QFc_iA843fPC27|hoB{?0J_!kJdb9hj|y1`4(bQRBufyh7m% z3Iro#f1V9I&$c(Qal%5qLM<{BX@O729geYa7$cZSkcvSjV(jiJk3V__pY^%r!U@dO zG`&uaB@jgh#Uomv{r-!{9|pxb!^nd(flFr-mbxhqo^G-G_Gx4#Cv16&ZjSac)O#`& z3LU4eabgH!SQ(92?v5y{QgJz64Y~JZno($iV#lsZJRZTR!`bmJPQBuT8Y3*dnnn3B z^*+!w7T1Vk8Ml%Kyea5NL26>GDg~CIjxm%FJh3r6oq0aFwLuV=A6B?=&m3>NVwPQ# zbqG0mmZDgk5l9ST4Z#*Xcdo_$sU|bEI$?PeO;aKqR>lkn=@0Rz&LE-~4Hy(-Aoqe| zNgV8%uJZiy7QM93#KDA+0(nlzD`+s35F~MU$$4U_#TTC2;EClmT4~NMm+<`)QzSko zS0xXYOod>CTnt?uf*7i$8iJ<?Mwhy&OAAetr1YoTfjGPx1~5QT2!|rXL{a251gioX zS$Y&~NWq+SV_XEraIr#RB2M-DWIk}vR#@8{@Lx8M@q5pl;4KFixb3n9E?cNW6d;FC z2x1_lLY{ginq|aA=+XwoxlP2z7#+I|6igNfx*b5ppgKk<$JH`JIT<s@^8qkpQR^`- z!PUn^-%;Ol@6k0r_w-4gTW({4MM)^z5-Zt|EgzUh$u(z)lG+H=GeBvn;!6b>2WshO zx!>q?oi+0DrLEDam)pkra(4hu+;Rv7X;GL;Y%mC><QQsTsmR$CM`U71)sp06Zs*Wu z>@Jm%-jF&G7uX3lB;{N_;GSns^QC7`bLspfZ@*xHH%w2{a7xh+6x|`y#2jvQxqfF% zxojzsZ^OcdU;_k?-x`i#VG+W18dHfaQ6yw2%dG*{ILy%@d3!`uiy(?Qk+!+#T#GLp zUE^eDz#PJruE~s)sH)*n-C{0@nHA_~IbH)J6t9*<U|DlIA>boV@CAVcqhQ652VEO? zg1@|q*vn-_$mHC@dOGZUw^*H?C?^3G83Ec?$P9Z*<9cvLgb68@oYV*Q&dzW+OF1_h zvS?}~0p?A@E?XtRaJ1Xz3#Zn&_qmg_&UPtvmFZO2m6Z6?%{G6z+D3tX9_S1LbCZ^G zGR|1qt&Cn4a8`)Lu)J9?ayh3%;P+3rc(&K&-E%Ws5IfpyLmoTb=087rgx`4X4396h zsi%%>U6Tu?LR~FREnPfM`ws8gvzvKIX{Q4Ug^sD>u^3Sv9V$!W=`}K3$zepWVnS<_ zn_<wEVWz+Ta=YnYt^r)9)5)q47euNzPE<-BtjR+lBgGFPaxfnm3N;j>#5yDdrD|be zVJCmNvdV;wXh=kk;?yx^681=mnS})ghvs?U>=K{fT<2(SKvZ^IG*PFO2@kFHd15f+ zwC1ECP>UVGL*~I*A*ki~cE;!1n>;$oIl7fIWexA#G0RM~%4fHh`1NzAxU1WuvtyF| z`}c9xreTk%QdWakz>HP#MA)KQE%EnvFR;3Fjv@ql#EeV@X9LRxJU%Mu)Cxk?P>o^? zf(F7`Zy;IVi=#|G`*IEN3aN?aY@uUDSY!+)DE-7!Ejym?2NsQIT3}?$^a#{_mvfsf zu3VVqE%Vbnyu3-(PE*%}d`#%Wc&J>kkAL`6AK~EC0-yM$k8|IrKg0cJPA~^tSgLSf zx<SL0=#2vRZ+3XT=UFHlD$WvuXL*ovDpmGYYrL&qB^S^7u*07$pW<*x$(`fCbvN+S z|NBR{^wu}?sbBsT@?&@5heLvZ!$J_Amky^j=f^KNM7p)YAkQgGiLR?*jFK7Q(X>rB ziWt>}X1O}<&^N-lUe64@7fbSc+phoB=Z31W>zR1XLm;BSm~ppax8jL1<tu%7Ya>A< zXJ|{<kmF3B<0sGXp$jkKxps?(hi$H~6HG}=P{m73SeRjAYL1=Py@3zk`OhhKOcHnc zti5oSXC8l?-pUG9?}@jU)F_QOoklOsK^qVA$vE5VbF8<_CV@PuFn{R<y!qOz$m5us zzw-{>_P!6`wIEv9NoT4|`Anb4#0=DPmI2TC9`E0~z$LNa;iXlKjp(?T!i>wVj|>K^ z=9aCge4CFND1x%o9)zvI(185%dT;clSJFT1UjEcyFiwvKA0#W(lwv_FG;BmG%F(95 zZst5P9Pox}15ZZJRjK-dwRWGGr4@ekn#=jQ`<~!vXtT>Sne`T1t&r^6$=u`&I_Poa zxo7F61#f-#ZQO9<%{>3~6FhP6Jv{%=!{qHQ!>ujy^)0etN}A<ZW3Wj~T$@9ur<ttP zIdo_*H@)YbTypI-D9V5R&Hv2tqepo2uuoK~FuQjTYqJyRnGMz{*kr_s(Btxn3BKpx zE}ne&QH&T`QH7zil<^!Jcn%LUIyJ*E@|1Fqx<H}cx4T1|8~$>=s~>r-8Z-jHgee}~ z%4EIW8&1_G8(uWn#5rm}YLtErj&*xfoaOS8V~F6T&ZO`2?8!4+KT+j}uD*nS``9xS z(qn|7IW@)p#d(^wIz^Up^vF@F$Cf!h|17161`E4(Gk3`)Z1{q=y!BSfNtw>Z22VZt z6q}DfOFTQt6*u3+{K5hg(^K4Y-#xU3eRf@X1?!z2Pe1<z=Hv=ns~yfRon`O-3)s19 z7f<e(<}}aICa@M#Cd!T<zU~l5pFU1^1pP{dzAI71vRvdm+V7Lafp(2C_sLjPmB=`1 zm4snGEq%?9SzhfOV2^InnQquSTUqu?((39=wd##Aw&H|R6zKRIo0oXL*CTNWi{%n& zVc0ZPCM4&Pr=I6c*Iv&5diBNp$H$(-U@?<rCT3?z>NSoXJI3boFOdA%!}OkffiHdW z0iwBSOy;3praS7hYjHPIGn1TLTc-QlFA%?}!p=+fGdDHMX0Jo9zeW1sv;4tRhoLvX zon9e%^aO+JF5t;WA7<Zy3z?gnLwC&5Gs2o5kW}DjZn%cdu@jtI-(*yur0+^364)#P zkF<L9B4xSZ8EHWoNRk9UJ{L<+RfVaqr)m3@!~hSNjZX3LnVOks4YHr<j<Td)F6n$V z5oBD1U#n-t!SZA~Co+!tIA&yG+Q}rf(Bl3_p5oS<t|PhjGJffir<rV)nVp#h4LtJL zBdk93H04o`>I*}vFPz1??RKW=37%Zp;;CJ;XdF>GvqAFQY1CN0nEWn92>9L*_xKS? zj~^yjH?CTRzyM+J^a~t$;6b)-c{?+6bCh??aMq?w$But?(-q{WPw~vTRnmzGIyRxA zhM{+Sx!q&S8a5i9ED|ahDshBt=l#Ph6#XoZjg>ELV>0fQOkK3Ed;&aXkm+C5liKg+ zn(Zlqzpz}2gB3L*!pIj4Bf%CztM94DmT6;1#V}09tw3i^o#V~>_i*vlB!{OOe8&eq z$gth!?mzl8YoEQ3mLJhFfuUx2H3Vy6ZW6mVNA4_HDA0C~=;SK8V~T7?6Db0wD2V$R z#Y&q#%9hXAz_V_lHEf|+Se)dtE3W3T2OpyP{8RkowFlWeb%uvetT39a)3+5OELq67 zzcXY#6l^pKLJV~mQH~sT+<B$LyeO8t{W$eu-C91}Pieo>DU0^&8^cfB%d(Y9rE(Z8 z{<o45lE{c`H$#ttXA}!jCaez%swJUX8jm7NlL~0y^r=%^v2&Wz6<5*Uwa9}HKftlO zK7(IcA`*v>W6brJklb=Ddh?~2s}69(cfF4rzT;LdyXHzZnk7y@^E~#=S8(fxzKd(# z@+S7)cs1uLhR&X8xZ)t`&S{4I5x&zQHjZ?CgRP1snr<@OT<87$P1c`yhDTR6NGGNl zn1lqOAA|=w8LJ^<v*8J4p_(|1fgnm6f^YXzv)Uiotl+SN4=(q3_UjpC_Vvz+@PHen z`D!Va_XQtzR^lkAVyrO`0z(S=C5UoiZ4f9$!jw%YfI$*bM8fLvC4!4si7nyF_wki4 z-A78mTEqUo_g>!eBmWDxe&_qS;T>=1_^FfJ^u{-{_tLAGT3F=lsbf5G?}OC$E%3g7 z_z&2z=R)QdcJuU;k8|y<Z{}U!_ucHe`V!bRP5Y@Mbh=v{%UdMNZE96VICX^dvv+g2 zKcYW1Np2ivENw45yg6Vics84XejKPdH$H4BY-X8mbVsI_`hFqu??bE~UhDG0*E>hf zeuE>*igKA_-s^{*N{Az8R0GyJ&_Jr5VIm}%qtz3FHOwTQAdtC;BB>xJPcwV?Ic_Tp zS1rzQe5=FhQJ+y-aO<tNa>2oiG3Qzw{>%Gu8+|sOd7k5caSx|I|7HABr>Jyuva=hU zd+;%q9(tT}_dmwGl$b5mnW@%!>@U8^{rBI?DDUy^-HUwWq8&^={RB(*JjkkA28|j4 zr7Vu6OnG#xPYY$OUeIx##0aq&m*BRtENt~s<5m8Pxa4~`y2U3)BhqhVh@ZR~)3Ro& z^6|*%4^5X!St*HPbli2G7X?GF;0-$lhS~^rRm)s7>4-H@r~wmj!vV8t!A<*jF}G`h zzgphl_nv;97xKV-V~V+fGFLd<m~DyxB^+gm8L5)d-!2CkgfbfpSS4qb6a{XWp5!~P z*v$n-_{#B9JhMJxP_K-qwS@7Ys58AGPqlLTv9MV$NKH<Rp%h2s52;eD^!qmRde>Ty z?>R4t`G#i4eWM0=adtm5RsJ9n-d`=nMI&}rL<JSH+%pI{7ML1EH2VoVBFmvE$7BSB zH+XA_iX7MLv$t%yZvSp-vrQgf?eW>8CppsU&{ZfQOt})xI3^LLf>4N3APl|I%`#T~ zhys|a#$3B&mfIHRnRmj`l@%UY+F;X0NKyeGa4wJr<;YgSnL$B2QQEbDiG_%9GdCz! zp`V9heKc|&-n-uAv)hX=hj0DV#1~(~&DQz2RsKor4E1tEf)G^b=NYQt#n31ma~(?+ z!~SN>zG@6Irk)3<kYz-pg571ubqhOLn4M<B3(s$~cw(c)3*9c8gOuDC6h44JY%Mis znXOmZH(BGl=}8V$s!*gncW#Zx*4Ee(3rQU-iXq?(tc>8PR?4s_=#*i#oKg`XiXA}% z1cHbOS@7CQvuIdwB<kxmE8}VF`f5x~e6_|_zW6#i)8Kn4<d>?EOf)O8pdvnu8OFhT zawAj=%WU6KDjc(kaG+jhwxkq<agTvmd{ID=GU1f{jXHZLCYh;MD97>mxq1fbaVkW1 zdoWYTX!UbeI~m6});T*I(zlMpl@PN{l@ZIJ$T`vREDb#E2-d0vLz5GuB+en$&>m)F zJ|G6NpcE=cjCJ3$-p(I=H3zr8+H*r4kk3@*UnU|SohZB93elME5%4;m$&&*vSelt* zVh~ePVP{3zRf}lEf&`%uK}GNy@V>wniZe<rax_XYC2O}&kwUIYH!tX=DZM;UV6o1k z4iXit8pL|~h2dN;=S+V@TZLXZ&?*;r^;i+y_UsSAhV?X)VbF&N{3-C<R-aG9H$Efo zwZ6p10A^2x*@2j+N=~OHoGrxQ6vY^~-EA`Na1ZJ+L8y)*Y6C};h}jD4swvGR#t_h; z+e10FxnMeGFQ|@(E(HM*!HQtF-@~Y2*k)&7=;WTYe#+Uwm^j=^0=<&QM=~DzH|9Ga z+x=~$g1lY$Xk>V2yUpjnmZk&W-nS@Oz)#lgdo1BoRj_el3u{D-1~J=QFcn1zX1k3H zS6C)TC8{GK!qbdn=E@OMaX~qXi0n(0oiRI41oNT+UivVK7lRi^FUx6VDXqR`J@X8t zU=(>eC1sf8L>jPa5i#4`4%MKdg(vijJjzwRxZ2Zq{(lhf*I<0Tyq33SOf~GgOb8#3 zgo7^*PT@sXLx9*3oDnk~I_yC$)*H%&p*%E{yrT?Mtx!o~Dh{evi6RRWSQ#@Qd<Ya8 z$n(IUFm&=jH!nyPMphXm8NE`Vz>i0oZI7$bK*)+9#r71xLX{#Yc=<d=zi+w6`pacG ze>>hIW&uAvJzcly*7r&X??N~PG!S~~sawnbB(g<hEH;eCgozO&s91$0Sc$wPP7TJ7 zoAF{S7K7a$#mY;kgFq^tLOi)CC}PNLU=(`_W3W0VUj$SO(NG|o7q~Qd3Rp2p8+a7> z{k0x<olno_f8dMU{u(voI*1;Id~%Ye$>p~rvA0{}UmDu&j9@X_TvDZKt%`avs#rBR zZ!xMEW7Md9i7>39<Tg-P7<YF0G1D-(5ZLZFm0+@f$#pyxtH3_5Mt>rRzk6$o!Pn&V z-;`UGz8N>^$$1<}|1}>@rfcR0A-vTftEg@v@?l_~Ds44PR75BnDU7H^z@wp16~Gt~ zk1^J$VpO-MfC@%M45CBTF!bJzpFt48D{Y0Zfd0;Uo!?=J!QTMQc=(_9D#P=yi~4IT zZ0F9Ml~HH?Kuo;qC40Y-;@4tSM8>n?f+{{h2#Pa;vnIqML4A-^v35KVOAAGEReYgO zi11s5n3k#>vy`4)?e|yyhRN^WlIsk=)whYBzdPi-p|CH>e2rUB`KTh-GM*fBzli*5 z;r&@_`AGvG8Y7iTP*#8`5h7LTc;Qot>W?msgX!ONubKZ=UgY_0ah>b`-wjOXvkUe# znH<Km`P$lA@BCk$t8<6Kdp$hs4Zj&HGZrTEoU<E4&V5bgPhV-x_HUyB{>EnU^W22_ z8uu0cdvlJyofQ5*q5=LI-t;#ZNY3wPI4^fsUYFP9b$MN0m)GTWd0k$Y*X4EjTKRtg XCVPmYo1es>00000NkvXXu0mjfBRQf0 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Partying Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Partying Face.png deleted file mode 100644 index b33d25ffd40aabd9db0b00f120ca5002fa5ef9a0819a95b306c4a7fae6d498a9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13763 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Pensive Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Pensive Face.png deleted file mode 100644 index 7eea6a3cc96718c4c4295bee896fc3909dfc1cce731ff703e5186ba3d93e8183..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10566 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 Uv|R?+sQ>@~07*qoM6N<$g0Zp3F#rGn diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Persevering Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Persevering Face.png deleted file mode 100644 index 428a96be238dbeacc1a7bb43e8ea6865c71a7317d20a491e9610c6297606ed22..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11130 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 M07*qoM6N<$g0b7}(f|Me diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Pile Of Poo.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Pile Of Poo.png deleted file mode 100644 index 9166a4ddbb14b783a4e0b288ffcf1590ec539fa2dedbbdbb7810d830470c28c1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9383 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Pleading Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Pleading Face.png deleted file mode 100644 index 8634fb104074543f0ba9175920a45728c9f5eb2be9082dac4b7b16c06434bef0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11407 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Cat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Cat.png deleted file mode 100644 index e02366a534d6fb9d1c358942d588e9caf95af37eca789f3ca98df636aabe5af5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11637 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Pouting Face.png deleted file mode 100644 index 9a13648fc05b03824a67c2e5bb2aeaa1580428de0f14a426c41f1ba701ef2537..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10191 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 JPDHLkV1lz|6$StR diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Relieved Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Relieved Face.png deleted file mode 100644 index ddcdf5dcba8a366c081203d85bd5c83d95502b91c398666cf3511fd82dd8d2a9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10780 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 a9sfU5HpDn7rWkSn0000<MNUMnLSTZt2PAF) diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Robot.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Robot.png deleted file mode 100644 index 425a16bbca82a163a55c2990d7c6dd572de127e5c0396b3c6b0b8ccba3d30c46..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10708 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 GLSTX*F%6^u diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Rolling On The Floor Laughing.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Rolling On The Floor Laughing.png deleted file mode 100644 index 2a02edc7955ca6a40bbdf5bb4fee4f27d99f86e7beaa83efc745e6b5479b3d0f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12126 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 Up;6Z?VE_OC07*qoM6N<$f^`@I6951J diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Sad But Relieved Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Sad But Relieved Face.png deleted file mode 100644 index 9a4befae47866ceef025b1872525c58b49f25531f8198e3223ef92378d46a716..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11000 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Saluting Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Saluting Face.png deleted file mode 100644 index e6311c2ef65ef7b0808e5e054ef8eb29504a04eba28194d33a9b4f62acf03a52..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8294 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/See No Evil Monkey.png b/shine-UI/assets/emoji/telegram-previews/Smileys/See No Evil Monkey.png deleted file mode 100644 index 5d5aa0308dd4139c9c17a876927775c3427d9d6fc86e539d0936ed2fbf378f74..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12151 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Shushing Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Shushing Face.png deleted file mode 100644 index 104060b06578148e2d8268cad0f1e148efc39b12f6551261dd8f5721b8ac6bd3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10988 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 akN*!i6?D5Lmeq{_0000<MNUMnLSTaM_^^Kf diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Skull And Crossbones.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Skull And Crossbones.png deleted file mode 100644 index 66004abd23b1921041fbd75364f038da4bc647999c9fd3ee4404e54d9cfbbb82..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12844 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 E2b2oPPXGV_ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Skull.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Skull.png deleted file mode 100644 index 6ae501e6419eb5725702c98ae793d17f388e9aa5773dea6c3c26f3db2ca9b827..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9897 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 b*zx}X*P=N%YmDXm00000NkvXXu0mjfMo_r@ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Sleeping Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Sleeping Face.png deleted file mode 100644 index 1844c6b16ee30506ffba1d3ceab236e0fe200660f5af7e5648859634a5015995..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11054 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Sleepy Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Sleepy Face.png deleted file mode 100644 index 16a47c1f6e6ed57a0fe1dda75325c8490ceb1250e5418e3b4e131b7a33871ed1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11705 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 P00000NkvXXu0mjfUmC$c diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Frowning Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Frowning Face.png deleted file mode 100644 index 6a0f1e25b559387726f38450853e3a9e148c7d1292e2d5fce7594d174e52d62c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10076 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Smiling Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Slightly Smiling Face.png deleted file mode 100644 index 51b052ed6437dcd44481960a513cedc02ddbf57456076ae9cb46083783030b28..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9845 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 b>u>vi^7Yh`Zv#9v00000NkvXXu0mjfJsxsV diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Cat With Heart Eyes.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Cat With Heart Eyes.png deleted file mode 100644 index 135495eac9032c9e6304c2ed625f9d338cfac6a022ce544b288b172f002e966a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12013 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 LNkvXXu0mjfve2zN diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Halo.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Halo.png deleted file mode 100644 index 5c9ad7222ea2b1f357d155a9fc18582916b8996a99530fc3098f786bb81a2cce..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12316 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%0D)PvC|%(lT5B)QIsz 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 C6)4sK diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Hearts.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Hearts.png deleted file mode 100644 index e2d278e7dfd708ac2961b9c0a2130c6e921f590aab7680214488bca39d1c24ae..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11247 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 Z{||61j&7zt&anUh002ovPDHLkV1oQ4Itu^* diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Horns.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Horns.png deleted file mode 100644 index 5e7fe2328ced9d16858350b4586a78621ccf713c0a2aece28503caafae98fbcb..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12407 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Smiling Eyes.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Smiling Eyes.png deleted file mode 100644 index 907841b81ab45da9e69e1de906e15b3727da6da9b8a868bc02a8948eab35df0a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10770 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 Qb^rhX07*qoM6N<$g1wbP*Z=?k diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Sunglasses.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Sunglasses.png deleted file mode 100644 index 1def01744fcacccfc801f700f69b2b369ce2787df589c908fb68f02873bd8899..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10717 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 P00000NkvXXu0mjf%O(_9 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Tear.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face With Tear.png deleted file mode 100644 index ff5db4df13d93d30f60b865ca25cdcdfe9c652ed983bea3a080c589c8a25a344..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10564 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 SF2YLy0000<MNUMnLSTa3!p}PZ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smiling Face.png deleted file mode 100644 index 6ae5abdc8feb83be3d5d38569ffabe476204d5204a7e86aa9a6d996b244c2fd8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10677 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 b20Q*g&~Dh`@|Z0(00000NkvXXu0mjfK?*%= diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Smirking Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Smirking Face.png deleted file mode 100644 index a69d966ad8f8f0998a84a67225a140c3307ac2b2da848b13a19a3355c49a25e2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10481 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Sneezing Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Sneezing Face.png deleted file mode 100644 index c80a288c478480f377fd898425694b39be2dbc1e8880041b0a929169e05efcb6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12467 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Speak No Evil Monkey.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Speak No Evil Monkey.png deleted file mode 100644 index 3c7ef643de5cbc3f326e76567adb20efc67328760c14fe3fc513a02450c2ee94..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11895 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Squinting Face With Tongue.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Squinting Face With Tongue.png deleted file mode 100644 index 50e2a8f14ca37eca5cde968aef5778a881ff0d2a333959a90da955229c697ba9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11404 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 a9seKANaFpCgDU<20000<MNUMnLSTZrSzKZO diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Star Struck.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Star Struck.png deleted file mode 100644 index 2b50b401e7bd67ac84483cc2575c8f5602c46a2a22b6f3a4f2b39ca64861294e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12805 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 X`J*`v&F4RR00000NkvXXu0mjf)OXsB diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Thinking Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Thinking Face.png deleted file mode 100644 index 93f658397986561bae82db866797a17ab695265d39e2a5dc4c9dc27f41076782..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10897 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Tired Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Tired Face.png deleted file mode 100644 index 9031b6d1db051be9a0d33092d648b9eedf04a2b8ebb23146da9f5e7687e8a533..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11405 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 b%=NzjPLoL7+~7W*00000NkvXXu0mjf*@tY7 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Unamused Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Unamused Face.png deleted file mode 100644 index da6eb865b9e2484678abf6342fb2052bf0171c3f0d7861914694f046166276e7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10525 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Upside Down Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Upside Down Face.png deleted file mode 100644 index cf36dd45e6a1340dacb852d687ccc6312ec3339799c7acaece0265acff13aa43..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9958 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Weary Cat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Weary Cat.png deleted file mode 100644 index 195f14e833851e69228e246393ad7bfd157a6ac7d0f4eb458c18b6172b17d5e0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12813 zcmV+oGV;xdP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001%6Nkl<Zc-rl~ zcf4g+b?5nAd!KN_%c<&BPEwVs6iSI;$(9JFnFa}vC>cY8v4N(|*fS2})Z@>TYR2xd z-R%#y+f6bUdu$9=5p9xff&>yMB9uxcl|tqC@_YB*6ZYO~{y6uQN{ld)s*vQ*=zKos zbF1pTx@VuY_R7DtHoSPfc)fVNc)fVNc)fVNc)fVNc)fW2|Lu}9{e?Gd!;T)WzW2l! zx@{*xK>w{0X!~{yH)5{r{{6%ldfiU^3v#jgLl}C)Hmq*P{97XYzqV#QgBw@QB=H6G zV{b~{TsL|}hh!#=$~zk)>CM;tkNL^P-Lz#F@`Bw#UBX|tlR#H$Z+LHgxu4g|i*|lt z8ku^j(dXX&nf%7Z_kBSyU~$o(xUTV<W>kE&r(r<@a|?!c=1#;`zG&j;quc&I`_3XG zt_NfX;e|x_Q`P0pxAncob&B_R?_bm3aDDY=got5cI+U4}3x4kJi{0C|BRfv>9ilU- zfl6Qga^Gka&Ur~s;am~5=2Rw+o6-4+@bi;X{^vh=ZSvJPjsN(~J6d1c(S7L$HlsV9 zM@DS#s+sF{R8slzpS9OUnfX=Ci_3<_4E@7~q0z+m^ocsP&fQ+tjvnW|Q2ff3H)3~i zdTW<6rFy>n%R_y~_AflT`2st#YNOFI7fDhOf|hL?jvW>=bI8fWR7s)!t8tqA-dp}I zyX6!K^3S!s+PMw0_}owbto`?S$$z%iUp6w5GP*1ZBTKC&sTx(4(m9ei@ekh}%)^fq zcm4bqic8Og8aizW*treEPW<sne^wmpNV6Vm<Vy*`(w;ITNsy$bcJ&4rUm5vhhpimn zo4xkLOnB`lu8aPLX7l>%K0f;xfNsY;7i#H-ZCKffXD9w|-`dz}a{qt2GF-J}Oc-0$ z<HweWB#D~BIa>1;?+mpDsAAHFh@xvh{&W2U^4GI7r^|%XX21hom(!Q+_5BId>L!T9 z_SnI|;r))dE;M>!bV;Cp(AZV$3}a&rf8aoACJy<x&&+05ee!3L|FU~i@qXEX+kOSn zj+<~lF1P!J?ympnFAVqg%oP8-YvsQ>Fl>{twQ(3<VMr6TMdmnm1SXFM7Um3PUb5;e z!}3*1ToWS0K+ScQ05jKbN7(V~8F1RJ;i7*WdAl-+4RKwyD3$3GfEZjM%p8Y3_bCtG z8#sQ%VN-86Y>H&_r8U1|l?>Fa|D&@WFgJhdZPBGWZo+Nfj?pt5qjYt>UbhqfcW-ID zwlOzzd$aC-YxOy4a_-9`zh<2=R;@X9z_I(jz@xii`h*a?f<#Q8FsO<oDWR5FOGrim zw(L5+b)GRJ9I#8{xFkuGJPYK7Vob%~C<0Z({H)TNSEh!QWvhhVUSl_HO?Bdg@%wiB zmrhRmTmJ64<agh?qxhp8U6sTRbmunAHsHq1r@ZWqaOKz&JMYHh$jRN%{rO@bxN{rk zx*hoK+le;suKz(O{I3s<#;o3C-0-Mc5Ia2qhxa??X9O@rkwuM16^v1e9Lf^nL^QHW z+eZUuf^KKd3kv11u}WlNJ_jGbcI8XEWU^LJ6{e2E+>|oD(zA5A$k>u7>g!MZ-rYW) zIGp|Ar?$l}?KH}F$qr^JL-RBZ^i4m^P~kuMGqsg+pMIjAx}O|5I|{4Mj!7aHl^w(3 z1BMevJwd@nw&HToliU>n?-W-=h$#^9xDa|zRl(0215R{zp$VbST7xx8SqMQPk|&6N zDkGxEpdoPJG0*&L#Oe)(v{Bkk7esn!B=v{(<kys~`nnt5)w6B+3NzQ7nOy5Kv#jIn z@+4&AMzudE4TK&bM#x3U5sF}#^qL$=BYQYb>j!jb#bb}|+q1f8m!BROj8?5YCw9YQ z5-Bh{m$Ltng4V2JBf*HGAv~o*_uk`NOcWcn28_?s7lZ_C+gz<TAPq4QDk2)d{3~Wj zRY8;}Hq1-~+V?uvZL;+B1z9>`BR^+-|G{#rmXqJJ`-2Oy3^r@ZV6VX@eUKPTEJzfA zR6%QSV7y12C(lY;=IC^0DfUgzjCyU5+GKE<_|d*73La)A4SOFhQ7=SswI==7){Jz2 zE*Jqzo-EqH9nU8Nu0QEtXico3vKU|pKioSDR1pG1ks^7-v0aXZG$)(&B+b|kZs-qv zqkX-N;a==;pC)~2h-<0ZIKf0(ty}~Q1O(#&wfG?TEXQ>+DQ4TIn4KAzKfXY5cs8^q z=Iow>9qK*M$|E8l<E;|Z{>YF>Feiha>bXWZ10Hj9=8{Sw7O8f2wJV=G&JzGNAdb{1 zbq7{kL^h_rbc|(JuB30(FzG<eNQ8od=7JilDukc}6>vfjiy|08wS$dABoNgCal_CU z8v-+`V+h&_CYvjmKX{z!hYn#594A@mkeeE%5lV!h`mcEOf*6A=5<Q%m4Dabnzz%dr zWdy8<B5DxhQF-be6-0@R(C`5%a~i{ajGechp>tP}4)%a8p!7H&K<gsWD3XjoGyw4s zV(W-WKw^w`4dx<Iv;*2fix%qUz)zv&q~K3ranuJQ>Pwd~cHs*0i4G?oI>hw%_mLf2 zpo}Bhk)iNOm)uXLuLww2-E}2FUszs{A|hZ^uohGlRe6#QH8#+vjwmll25OA|#JLQe zyON}*M#ytqr;VnANMj9}uEEA5NYn?m2@)Y1om5}im8K^vI*+JB5{Hr@&Y>X(W}!HN z&yS<+gP1T)+MlrEva?xw!D>$2v!BDaKa8Er$x=f*#Awhb$*(bBB1h1Gs=;YoLi+{8 z00;`8g0Ti;6cKZh_}0LH?_ix{VCza&UcQBNFrjogWeZGm17>I)L`xv50VzTRYLSqm zco1JbrK^YK2Nj)G3?O(=2kH<JlqMtz5-){xJ?bZM?LE+*KqN5!vULn@9OuwY4={26 zAyN~VvlbT?b-zJOz#2nYs(3X7Npom(<MXb9o(RPitu$mD3)WPk8h}^=P1hlg0?S@= zAxke@31x?}(?ObRp|OFGj3Qb`f`BVf1QCOY0+2otw0DEMr&Ms2g+#@iln=q<eF?sV zkP~nq{h0bzs7(;EefaiKlBTlm>a8?a40Gfg_tRf^X5$(zRIg?&*eH-?N(ccV<N#a7 zp66uTlUy5tAYiQ$M?zjeY&?CwAni4*eZwX6uN*_?=ke(<3~oTurCrz3LZm<wOazjE zH-w@@LyQ>d@>me<>Yb<Hf=YFZD4}#%2}I4xX5b?T7AT-p$QzVq1H?o4xku2}JWDTL zL2abLzR!OjS{ZY3jl2v*379D0yoe70G1`7%*#Ib1mEe^qR%}$gXEWr~dMz8@cp>Td z0LAPSwr@Gwb3Sq0fJTFb*}(m`?Pu4nLrhJTm^fkS_#hWwypfGtR)ewl+#xo`XqWQx z6mG79qKF2957=4)A?Bfb4|Dfz4|4eU3_fHG57pVUWhq<F>7&sf;ak0g-c6YHUh;+G z^eyja!<#SS(a(Jk=5r<`B}xTjBYY_FK@byKFAOiJ8;FRSLVXoUnn<YkLOioTy;s<9 z)p^8YJ>>HX*#6~|y_>1k>a<&q&wuV7{`qTr=(J*nM#dQ!>?e53y}J(Z+0Wk1#*L%A z<6T#=ar0V2rv%GW#21V1V?Z?Ey(em>Jb3TpeEhG!$s>DCFf=ek-|$kRxQ|B;%<-jf z+`~X!dG)Kux%#zZG<#A?U4t=@w+~SpX|npN^LgxZchNiFp|{z<qJ#qD)R9Iye`+B5 z{M7@x*+5m((V&Qe*FX<}wg{_Uy@mSHUh;Mu+qV+mvxZtd;=u=|_>&Jm!1Rpa@>ji% z3(h;Ap`k%+5~Cuxyx`Em{e0z1U*<P{^TYh+uWjS<S6)KMvXe=^Cz82((gO<K6ZNEg z<7>C_XYc<aYuBF3d*Am~R<0bwMD^-7%Yx~tNxpyYy?px1-{#vl9pKk~aT6QPjwy5m zA)`GvMPq3Xt6sH{J^%0^u`dx#6&FeAaY<?xo)m~a%gdfF12&IhZ`wzA<3@RXUyr$9 z$;u>TQ{GHJ++qB(HH=)ilzhHL)Eq~9S5vDux$V{|w*S%hSh;2k?|RSAv*q0LY4kLS z;us?aRB_HRG&I6by!>Uf=39K~@4m>^^VT!Ae3(#_NTqBL)yg$hNAM0)Pr3hl5AplI z{~4~h;<dc}9q*v0uOIJ048&24H4%+^gR{;$i;FJ2h({iq;)c)N%bHb9R<ALLt083M z?OFOphA}>HeAfiMgEi)Il_Q6ItG74#Z=brmY~6U%^PGxU%!N2>7c>NXsZ8$4sIBZ{ z=_N~W3oUHgkMyo2X$be-GsXY?r}uN&Wv}AuH(ia5Qu+r57#J8JNva?ygg~d=;mFY= zEX>bw?X}xDaqKuB`Os(hukZgwtSA};G2J9-2&j6*1d2|Fk9_E>oU`R3uD<3C%+0sx z>+55D%_{2kdRKasJTI7;nL#At-S2%TpZVOU`J?}SGr#v6t2t+r;29)xIYmCt*riLE z-ao~OM_O9ed&H2;%Zk2vIDIp4#;`h8bsCiEeHo>L)t9Y733zJAz$$DUn4K(n|A!x9 z%lR+o>Nj0Y+UQ};+O>?0ja9_&YEv;nv!}_14I3C79-=55S6%&j9^ZR{@7?wwQn!SV zp^LW`_>dtr%kAI2j{`?qyzcd{qmw&EN5|N(VFS%(^OU#*k~C$>k|nHOvx>CV;F>qR zk+aU(%Ab5>KU4DojZ@;<Aks~7th#Isc@gMLw1|wKx$62OoikBXKVuAtMW;1W<__kJ zojXRltU;EQ*uD`k5hjlK#Lg4AFvvC6Tt!dcAZu2yA&%oJJ9^672y*h@R<Bw^oLH7D zUCQdUXLIw-4^{z|mT<}~>Oo7sbIWeltv#F3(WRtGjg>1`oJ@twlM;nh1~f@hR<B+~ zvuA*7w!M-0e1sdmFiTo<1Z&XVL5jSfzP!QkIZL!(Jv~Wz1nCxxPO~U~+6=hyWQti% zG~<Y7PhCdOTZYft*tCwO4dTSH_wg2AyLp12{&%lp>9S>vkB?Wm3pn}t<e2J-WXsr+ zag0q^vtb>NK7J6tFpDuBLWydLYJoA1Vy?rZk590A!%A!{ELl2wlF&c+2w8ltf*8a2 z_;Qwwui!PWeFgvgtp)Zy4pHneaSCybGS3)3cbNKM#892~nSxuMHUqYdRhw&kw068< zO8Pbr5cN6==SUiZRdF{meC-=YX$~#ryo)YmXk-Ly?GroyM_^`}y}d+9!syr-a|;>s zvvVMdhKl$h6o~Q6&do8`>M%SujE!TOJ-t7a!KXe%Rf!_Y(9jSUUc8mw<{1BUa|;tg z(17jf!+THCG$vg?s5KK_b=$8cXR`x6UC8BWGho}c>K%H`!t0ttmcerd)Mbvi-oU0c ztSwoXgImAvx$uJX7$09rz1HaN%BQD6tudr&jasc<6<qQHq=Zl+!9gfNJ$YxI;FLz% zq@Fg2%+u2lB9+Q(G@2|MU%|N-Y~i-MbK3I>VoGdeFiC<hybPQ@=!Zt4hM6z_7Xf9< z>6rm@x<~`L4uAjl#!@Z$x%&7BQ4-nUl(gB0Q%{tXJbo}|t`)I)(<XX*d!Jd7waX|Q zMK~8w6l*HIAIMS7K?~4~$S5K)-a%w5;_EX}6e2YH`q;E_1G6&`2ah*NBPE2AsGj1y zCvL>nEFIL4+y8LOuQ$i!I=t$$XToVQ;L7g*FOImk4fflfWPQ!~vMo`XV&a4lG7!VT zV}>McuypAXk|h1nYT*a-YuyC&?93c#lF+CHv}~g%8IXg^=xso)2D5WBCyPQ)|2fs~ z#c9I$vZW+Zoqb1v#G*dOB!biop~$3vU5_6eqCZ_|{Vc$Z*FXDs>hu_}1Ftu1vqf3F zGaYGC>x)e&72Bv2LcpsB6EQt$iPMzczFw@c&%D+a0(sHlz=3^?ElFtf!~|DjR1sB# zDsXG|7)C~74jedu%S$wzlB#%`Hq+XOfxbcNwS?K37>K*&uRxr{xUwW2wvvw3aV76m z#ay}L*~2Q$X~FwIAGq-=FRvxhxpsLHtS^j45!5WDdIAAVL>UxgBCL&(XCbWKd#0zR zc>J+P*}7!}5{LQ%3Ef*u)EAJHT(D(`$M-zU<kSStxn~T6HB`_PB17RyFcwuu2p)+| zRSI_ACQF;4ZlkTY{aXDc0(!%?XD0>EngOF-kW|s>{LDaqL~}_J^0L4*1QiG5NGKo# znza<?JVlYA&!CXK=p|*H4!iGvkgPq+%P(0DSsSEMKS~?b4p2go@e?muLVJFK2X{S4 zJIkH~hk3fF-J&eWiky0_1|%rmB9DMcB79j=TVg}cprtnLt~-?;&lLmY6+3Vb|LKO* zslQ5wW1`rYpn)h&5cL@K7;z8+%SQ*vS_@21&!9n{flaK`&+!w-`Sy+9=F-i>tX|uo z>}1^l%%Q;(g2Sl8bvmp)tI5`LM)~%Q-(~W|Q9=kj6S30}n3|fRleHKduS0O%`h!;J z+*(5Lib=$nks6utSKq&#<P|$`&n7T7&r<yufcb|HUQ|nDHA|A<#2Fh|Ok~jzKtly| zDmtuN-Gi{e-o5+CviwQA`$z5m*1|mBzUfBx9eIp5U%MWBs~dckXvk45D-}dRz+rrw zYp+?yf&F{<&bPl!XJG+>3i0qXp4Z7U9(!~zv6O6B(@V(bx+bJbwTm$o=9SWz5u>$; z_2p!J>#214u`^&%+{!%vpZa<YjR70T3v7~f*Q%f%RVD9Cv1FODc5NSb-f<U`6O&a* z?_b%Ki>_zZ>F~WfZ{rJ}`x4t;zlIH)4P~c=ksJw?_amCa;-4uf7Z%vGIpKBxel?%} z?C1IZ-M5ovtqMc_LztjlM1c>U;}gfY<IX$Tu)d!q!;p8TDkH3+TaOk@8lk15J{bGn zzJ$z`|L)nUA@eNL4*|e>bA|Lrn7WhT!9+>rd3X;YAgTn{206hSUUxnZ-giHD-tisg zW}d8yDpZ<2N%dr%j63hRm5+SrFS+3CUf%lVRg|+;5uM;6IMh3WD+#{3HI#tIFC63T zKeK|fH}vs=4}O%p@4AgLYoBC#&?i4rsPIN}voqXw>v!0*dpB>qYBO+%P;?L#@PHTa zLKH_3JW(x(?KAk&T-kNY!;iflpo+ZW73gih-8(Gp;`e)3rnP7|60j2WHc(@J080a9 z)?w}08##8Q%@@CVCrigi85$lUP7;i<h{#FeI9D=p;sjs&=YQg3fAN>BSuXt6ub)F= zCh%pIb~eTn#e$8&E`AzCgCqEY5R}*~aLL81xcly7{PS0Dr&f;`85to>Q>^`gXO<;1 zGgI7g`*-;G$Nz?({>hbGbM-h2$G=0Qu8a5RLKB0c8Ynv*uqwrzO8aQm|3AN>|0Cl& z@{TI9W5<t?0b6!qckV*pwIzOOJud%Kb6pZ_O^n(E(^IdigI#olYK2hneg;vv<YgE0 z$iv6@$1mSTt36MgRQ94Q3fk=!$BrD~w%c#z?>_MfzV^>w;mV&}!vFS5TS)9d%Dh8l zB9gkH$O?`hn&;?&8IB&9U~-~O*~&?4O06dbb(BR;Bc0(Dm!HkyNzZ3L{|)x+*+<Y4 zW5K&XyVGWBYMMQdJj|EB^d&y^$xn0fc|H8E@4J*R_g%{NK@=f)Pw*8QLW9SP;Ia($ zh4?}=oNx`-)-QeJ4!3`iK0mgC%%YwPA-|x}uq5>;Xedp+(M!D+V+=?{1&uaRK^2K9 z%LhqP%YXijmvF=9_wx_`^cB8!<2M*vx{{vW9$a2BHF<*h*(p}9OW6K9mvPDY0k`ll zr7y82BDjK^zPO(U?w-J9HKHg%sf;5Os4dyBd6+9+vxc}{Qe*{j^bo)HpO$mwWiRDZ zJ0IplAAErRzClJuhl!$y*1`hEj~>TrhwH9g&s(nDNWAbp%KRbvnzrlxbU%F{I3)zd z)*{;T5I3!_)#E5z&<lW@pQ#;q))ld)`f~<)V;a4}OrCOVrpEL!&&)zZrxPe$3D%O- z41I$MONNA{1H0%Scf9RA=X32<tGMM`d%6G7DQ4y-sQ349$+?4EaPE3GZUp0wkxw20 zn;=*st9;>;k8{^8Cs@CJCC#z=A`GZXDF<lfIk$X$KNCk6c+0z1V?=STBuqZUMVp4X z=y%U%*JE(c{SzEKFi9tOEMM8rn_hi3mt8(eI#$5ZZ!vq~5hkYK=p@WdL%ZW~D2XUN zsiCJA`r`(Dc=~$^;+{ZQC^kJOCCNoYv$w3Rd-!n5qhIcmsp*0u<e12l)C_S1#zv?X z6v0#EZCvgNR_JTo!s?X|@RCc<;gvtNoL9YJJru6$=m_(W?IWL>M1#Xd2|-ID>sXjE zJo?}?eZ4hmwWJ#(_>-7OV=PIUFwoz_-iK$IKEA-{xS=SN5Cz(EM==~>^O`1`H}(U) zV4BddFf+|P_uS2$cOGQ_fq7<T(kj(a6Y4cXWGzMl>L4$a(p50jC^hsCq;htlBw2bE z%$qB($3K%I@iS$Bob`zf@lRbEU9^At=s7D^i@x^Uj#)AsGqyg(Hfoi@3K1G2{34=Q z9AH@R%G4YjJXEsl-tTeSZFe#@R_CHE1B{IsjFyOr5!1w4gK7yP1aC-_gucF*V}~6F z4<4bfua~42cNwAh!ZAC)KqoI~_C=)iKqv!*P<aki#rw|O2|_r87-4F<<ooxv*?-v4 zn=0#8)p^xRmoU&LB&lL;z<4ko0%e7WH(f}4N0~m@;qa`JNAFQRcsx1h<rl8G{DKSm z?t**UPdEAWjP%tFV0QvHC}Gbpv9D)yedR)bBRsS>GLN@=IC4yxo^upMf>)0kPm)9= z2{f#wr`NM|sb#~OIvZA7277AEWH2$KjE-2A3|a7|N`RTgwgbTjq1F@et*^{+<5%Wr zG?m<is((uiA%I0lYlc?KvGrvQuDWiJyb}-!6&#U8W_XNI=4Ks-j|KXBEPcHxv#p%R zj<$LHv67?5N@iv(Sr#Z<peR9u0i)Ec&{q?dkHO0R1<qPS7@5vYd(Z4+8$Q5#z+M4z z6Hl+x^XW3+Niei)E?;-q*4~9LA64ni)0qBdDI1pevwVeN*-~MoPv~nT#EHdPhXXoZ zm~WNL&m<h0ESa7QSV>s1%(8y1Ff?Gg_<P%BfIJEFC<X{k{*T{zh+B6}^U_Ttj5bnA zuf*0cn>p@#e3DhmYW&{st)tmn;N4;qZxuO95EPH7paEv)V9$QffkP!OhoPot$w-ZX z0Y`5=rk1*@qUSBaDXorUa<1giamW6HfyWPLOt-DtjxeO1x!rTkYd`bd{a^oKbUQ5x zxMKC{+I+uU0qHCIYV^Kg{P^2nb`i~U&yS?1*TO(Q^I62fV{mXnIWg<#%z`(9O(SYe z819Q084Ro#w+s&oQDm5H!Q4!szaQ##Qvo|M)rSaBHDQEcsn;!c-&^n>e(^q<A#nAT ztErioGQbyZ-_PV^hY$VfW?ucuUOMwRrW#p+Qg$Vv3cw8D^1$@8r_oFp?h6Esn3xp~ zADd-jB4%dRGS_M2b4&0_+7QP2h2>)<D~9U~_c?Taf=(&ie~0Jp+ui&Zjt>9T@gmL; z`<<RrzIM~DT??lx0kUly=8;FvS)p3K#HyAKbH_dR>^ZdWedcg&LpuI|>(x8<TG>Bc zr<nF6HqbwuFgzABJXAGlOBv8IP`HS!uo&@3O&RG=S-k?*tTZICA)Ew1cb8=Z#hh#r z@;=b$P5Iv48Nc$o4{=ui5;m<F<iUN@+`Io6fBb)~=ZaUQbf!JVDncNrRB426GL3Eo zY*cY795`TjbiXn&-=@eFoF$EvB=$r}jE#g&%P~2noS1Y>O?u{Xq0yhPw!gy#XP4mu zX&Zff;oyo7uyX6x4Wm}0mqaQ(9rW&v8_#=m=gytshe^VZlz=O)xFT9uI5Mzq-NVy6 zyX~UyedSrpSJfx)dAy8=qTVKJ<Cd&uj`1X;r=cV%G;0ZsWj*wtHB4<q0&xJZs7de+ z${gl0m~I&wiD7gkRLEviRllSQz*Uhaw2^>!o_b%MV+R9w-CWR`H^hyMt(P`fcUDY$ zK1U4QjBJ%bQ0*e<y2Mwl8c8O*earQR(BFh+8ZZ{{U~GWW(mImSd1Qk5!wclOqs$G{ zZNt$JaU|~J(N?7GX=Rx$rylRrUiP;)9eiYwb{AiK@kpoBncKB%S8+y+@D-ak_vCSS zPbcW*uU^u6$?GnhTYlCm!`!Y}Nr!vsIeQh-Q>Sd_v<^=(^Y}5`R7u~u9+v&o5~AT4 zR|rugL<VeR5L-2IyHM?TG2K$4Ql&M-U`}Gum0$!PEWJjdZYUkZks%b0c2OBvQR#X< z6<%Gn+JMqkK}w~XEL}o7Pw6b)E2WmiCLx<DICASzTKg7=`eORmjMKAhfTR}T+ZnTu z9LAlPVR-Y9K70ticDLR8#lyXKCdS?y68phB?$|wfM!ld*FWmHU<H9?PmEDhp^rN@@ z<gWMEd(C?e9WPwZS>w^!Z~6&r&m!Q)fK$r3787?L;LuGEqOr32mFsA(t)Ydhy12X8 z9}(#y&JD6Sq(G_q%tX2_q;~BB*is3(p$vi=kKl=Hgh>o)w93~k){=ukyDq3G-6Wtu z=%yAF%wpf2ci7m{+1qCSH>xzm_!S!&xo|B>U$g4H4IV^r9nT}5y_MGPqi$?T61j!q zgX{i$+b_TLg1g@Cke49xxx2pq$iJMn4Y>H?iz6xKuE3a;lE^<Sa`w)5#qaK|>0iu= zap%4JiYV@HqMf{py{srG)<BYy9hu{y&)rUObcQvrTSaqi4<QeTH3ahnWKG1JjBcwA znQq%_P>d1ODTnrD+;g92&mqt3Y#T-C>#wn4wc#b3n=D%y5hBHR$!^qiOJboy+%5Lm zX_c*2RR{*W$0UJ;y*UT}=>XBP0XDqpQkrA^Q0AzYCrW0)BlQS3opayEzUAwZ*_k5x z`ImpV{Hw0&Y2fGH3^Lo(pa0WMH|@)Rm<@=26mz_9uZhL(zvG_WU#sx&o0FZpb`{Zp z`TD|a-sxF0R!{4xx^_npL4#wlQ#%xjWEr*L8k^tpQg(mp7WVziLDs*19m$Brl>s6> zDFIcBYZr577V``NtPolefAfVFfAz&l4jd^cyhqfaYB16wvBK(Q^StwoP2TdlA#7c7 zi*2VNK-VCn+O2SziZ2@Q>M%xFIPTed<3XBBd)ai|<wQ-zEzDFMHy8vkQspm0tHAU` z+PAdFPCZt%!(j89FvEYmnD`@i-PH#EpYzW@f9=9#vIcng6m-BdlYmqH<08swv0kFL zy_0W`ojrW{ifb<Ql+FqPl^Bx_0)`L@C}+XtNScyQ6+HNf+ez!N^6FJ!0upTX&7x1F zh-J|O(v!LP-~aG5fAQHV`sxv*1D0kKlPtC*snW^ez<h_9Jn+lcj`G{@8KjI9>m8<R zcq{#1{duv?NkbqQ!FbF5FCD}c%Eq@|L}Q?aD?L6=5z~h;G2jX1EE39Uzr@xb|LmRi z@b2lGF8S+l<@W8EQ>K5JC;Df9csvmO=o0nGFF09j=;B~JM()ws`ODlwTWtaaL+D>g zNQbc!qb9<5N0{GBx$r2-P|BL0-oV43zmJLAk2Ctxp^7j;QKJ|P!eS4YC8*L{H~ja% zo##WJndO4<gk?Q7tPvtpwZUq4nW14>(VMcb-Qs_I`UtB=Ebso=2J?l-6IGp#!F8>H zc9|j&EU{XS-gSi5@fK%YdjXBX2-j&5de>m;>k+B?$^s=OPY84SP%HSB*J8G<BH?~e zxe_s_j4%tQ5MEEWBKD*&xU$N3YnsGg&1MUke|*w_!;?UifG;YzU?@@3grTjN!Sisf zoPo2389Q$Y6Aw(Y@K~oJxEG8w;05(nC%kt`Dwap~c|LZ-G#4*PSu@zcnyM({yy8N@ zhky@C@PXJk&grkQWwehE{`~~|_FG~j1m{s-pxUj}`Kp&qT|j~|zjuO(2WJ>PZwUh% z`suVXwC^IKo{NzvC72E&l+}CLIuIe^ncX{K7N$!nd+b+0^vYdN)jRd$Kt)tz9T}>R zeSI!xf9tWMCX^vm=!6{96V!Ffh8@)9*q#lTzH=$^4x<;16Q_omJ+tI9Z6s(_?sI?x zae?3hwZ!rD+ghk|tQ)epB7n+Cc)6T%8>!Sw?j0M4Q$jo9Uv8VD78|^)VvyjwEyN!1 z3Tnt_3#N9@6UQ-2FIrBS6_~!Qn4VR5ZC8!nA%K<@K1g#y@VK%J?L7z0eCGEri!c4g zsdV|V*MtT1o7;(2z5ie*itWyDY?f@Y9h5d96etBsM$inUDwwNpAp`3O(HLoO#Nfs; z=8v_=4|Z^wt8}sVs8`e}5<I0B9)8@jyuVJVitV<jDo<5>T^v_n3Bj?VPk4B5j`ODS z|AU~OO2T|KTf%n=ilg&%CUOQg50efknv7%nRujTJ&;havdrFRIf%qKMQA{m_aC9E( z=7v@8zqRwt?bURi=M0#2qAPAvOFy|V>vduOti|WhX;+ZJ;Hzjf1dO^ain&8Ncn)4I zLudD6Oho%|PCnVGh#x?G!23W5P<9NB+|o1#kD!FENAgq)Uvy=aph}tu;u2iZZD9%( zszHK+2Gj-o%mS@r8O9ohHuO+XBO2O>x=s~K1W)i4C`+p5Y<!WSzRkj8vvzvUX<SP` zc`7}gGX`9@6R#i_{poMqoq2hnJT@z3-VS9x1!NU!Efi?z5VT#XBv&GF6Y8t5{hs=Y zCi7Em%9f*?&oBxaJn93uK=6(<E-_S5tv=1LQM=w$e`>(FZcW!i_tOMHXETa<$HGKT zb43qnUqq;_KunC%-TmPS$ct(Y<b-S*mvutt*o-)l`!4SPjqfYZej4y;fpc%%juqJv zNc5|2wuR2Lf|fHV9iY>N4t7v&b?-JlOk?_ou%^cFnv}8#xOq=Gms94|EC}%d^#Kz+ zi9N-kc$ypt7(|scRLD7efbMq^l#qL}c23bY_*`hLO(|kS+#Dx_c6ZK12Q-6_p_&oM z3BEwvbCmO0Fw;2^=Bu(}N4RnO^MsCG>`zi@-dwblV$O-?bNC`hLnXQzii#1MquM5f z1+0zGc!1gn)S3~k>5Nbs+-!~p@Ik3I>|*$_SoqavP`>Eaz&xmzsumC`fK@hIphZM` zx<%9{)W>2>IzSW|#Ao13f_H@A&`=`2!~~DJoZuH|&t}qTmmv0*C-rGP=kW9^E6XP~ z?8|b<=QE?up?*<xI}kGPS@mKeM?y&mCE6Ik#84Zrk<U7`grZdtx}Hu|+U(xX_@%-V zEb!gjkXO_PG!K-W0xh63>u8SDi6cXj3=^0~nMZX2bO8wqplwv!h;}78bO;NXZIwcl zM*B{s!}Hc98ArCIULD>^@TH1&Dvv=cTOgVv+5+t$Ap^gFsn@|Y=pByHA`se+P<mXe z#P|TNGTgB_Wiry!R6(M?8j)iK37!x<J_H1dUkFG5p9RQ;=2%qK4w4$)yDsju>biMC za*Jxygbu+uHF==K_~}~nw7ccc2m?xAWpOGI*OLu&Xn~NUlod*O(Gm9!YlILdB)z^W zdMvnV9?!fZIPGRFEkjG{gerFZp;Ne?N&y9h(b1kN;pQtd;+?16=^$#z7jjIhBt0HA zF~$n`7IdXIgd9<a(W2TkT6W880Z+gLBXyt4^V%i3I48p5d#uF<sm5ffcc|~8mqT7f zklH~*2h}!&d6W#3q)2Lrni1tfiFoj($K?+3g3C)bZ>l;ft0dZwmUOM^Da2{S=8c0C zog8%m^&a2xkXJ!ix!_3Z7D;nV(f}zSRH_E846lX^LP7OD1vp<V!$4})G&*y=F9-?9 zT)H%l1tJsFgE~)eCF&h`hqwaq8KP|n9q=7Aw25j78iDPF&~cT31g)46pfkU~=Jj>X zId>K9`Hc8!ggQ1d%r9hY**eC?HFesp473XJT&u)-L-3xWQ<C;X7#kx=jo@1t%~8#e zkYjuXp;Li=eIS$$b&3xLi6kVk1H%#kc0Er`dW$f;#Aj>ki4Z4fP*V}I3{X^aJVQ62 z3C^Rgih9+RU<^V;+7siQ$L9f6q0ALumZ-NBGy8bwJ1(Sus6ngkh~o%j%>M`8E+Ryc zrL&MRGSbgG-g*h`nMYBLz$xTPk(YSsrpcWW_gI37F_ECILkJncWdv8CrANE9Y;_(j z9qPe2A+aXZVj*+sdVX-E^7AvQz;CgM5XarGEFD@_Mm3a<P!`qg3cM?-#8_E$R~=z% zm8<D9trBHLfWl!UqIF_|F|(K7y8aqQ#_CK@El?EYli=*CN>P+dPcE=@X&=A6{ThbD zUOE#~SZ6V%qM1hugDDL@3pfE&k1FV+2wIke!l6Y;C_JI;ZWiYVrNfsFb)iZi$AKh{ zu)%HS`5f4EvO7@SR+0o`5YY%JJSqWiEGB3-x8EJKClJJ(#N~@vOll#r_(F(lfD7dF zLe%4k<CK|4zsIUgDgWiay`6vj$Gf=eyN@t6IZs)7P)L%5@ufpt^0M{3=Ji{sP2a=B zL$^{(8U*k0UdUP=EfldrS$M=k6bHnc3O^Klcl3?oyK_k8WM_=xeZYi35Q9V_F0nYc z5Im>TCHbrwuvnD&&abW*V(#cBR~LfDCc@yHuL@eW%IU~r*-<Lsn-D;&;j^lOm}<;f z*3PhT>TP1h<(M)L#Ican496b$7Cp-j^S0|=&Ks|}h`FhPEU)rSwKQR1xJk`SG5z2- znL4_M$kZu1iYpD?c?g0L31wbt(JE{l#Z^^a48aHRzFWkn$~o!DN@gW(-2|RhgI6(< z8jO~k_WgGMp!~t?^ddc;GY0Iu4g>gl`{)L-Iw*<Npdxrv>3xwZjk^ddF#=+qRAN(0 zMHs5CldM%xn%oklXf5?Njl>nfxI!?t#>~UJncMp~_2K0-`}^swrPbi3xq_JklVnpT zunxS|@MVR7!zjkbzQ`ODZA(^=cS5N5Mn;T4h@j{u>$+1~s;XHx?dliPuS(E>@dm+) z)Pg1vgU4oz4Zt0X^mxt~uy|Nosj{{|_Si^5P_^O|DFfap21Ui7U85=DpBNP*TH!5y zKos9d#OCw*^-dB0L!Ont(k!yIK8kTkO&g8Ws~Que-}v0IaPScG2M(Of5eWt>5NwQ> z7}0>i1`Qz;tt_&ov!Qh4dD!jC<d3cRpJ~*1bx=G`trQ;LMLVeaZX{0C1RkogrHVoj zv=oB35Er4A1nUd87Pw>d_;cH)dh+NDXX0M0!5C5RwDM-0gVKYm5@5lHs>8(V$;_md zN+^}G@MusX2?R8|<O9W@?e879pq0n(ZnwgB+;m5DYBuuIZ4>58r4%QUdK=Y)jT&mA zhKjAJm^5gxUW?L|3z@pvmeJ|isF>=|S_t3Fa`U#CC3@i{AIm@L)s{wV72IXMn)Oiz zv~)-blmWa$yK4<TR0TfotA4alVvSWxj2e2Mbd<<*W`w&5s7T8B5R~9Wj04}vh)n~( zIAB?{!qb?=!QR~hxiM&2QnWInAcP<UiHdJt;i4=5>*RvK$AFLB|GwJgvmJk3(9Y|U zxV^3!5&76q#7Tt`&?@yD)QfcvTp-H>KA7D|^u?HX=eZy1+`f27&^NCjvZl<$M~H{4 z)k1peRV3W?tQNsrRW7Rftk6lGvXh}M5K0jZiUd0k<+D!6MW>aBy9q3EZ!4D|ty21W zQu2ikK?Pe&2*y-8+H_l3OgK5&Hn@^va;7TU7m<e26N}ybvYVW{^FI>nG(mRa&;3Al zGjQ{Fes#rfX?gULGUFAlBbTb?8!bAjn3{;>s7@M@`-9k9NgCfIKl`prK73cX=rC{{ z=B^`{SKLH-$2qcFi-6BnZ3OwmEXiOmRs=7h3s>pFKLSX%m{a5#MJFeUg{+fHrwE#) zz4t<Pk{-_)17ruGI(Djf@Xq%nUyrBrpYAlIOqyw&EwnLNK@=O}D8@t<j8w<e1*LQj z*UB(uiA1r^9?NhUPz#>|xOf~dAE`2oi-&{$#QP6+fNyti^akwR-(EV@5~=sbA&Yv3 zXU^TRh`}s?yZGjIqAMXt)idaId$qBBWd44>t-q5TDXFiHR6Dt3r6;M^Fjf##ohP6n z;Jn9|4(}X3I3g=#v#yM1%Xm)YUoQOf$=#=O{8n@(4n(_0`K5)H{cd_J8*+WNO#4!+ zLB(}S@swTMzo4d?DcVK4X((-IAI?d$B3cO1AHM9*@_TRChLuzN>cvXa;=ya9n~@W{ zP`M5dM^8Mll4BLKx<B8xlOQ{u+$1482sdoQzU<G-d+z*&_>TtL`ER!Nim#2uL?M_w zZ&d-dn3I`TRfmcqCQ=)WW|Mhf(#2UPnoQ#CmrnPzCpi<xL+#i>_~!c>TbF3(FY87w zENc<ktP$0$CkZOiBGO8cpjs9xZoaTlr=XK7x!ON?$p_2d`N4xUe`MBK;ri>5>#whB zmQS-Ne)24_@4q+wgGl^uC3SF(n4~xLk}j5=rBYr&38hNeR!h4>k}0jy-aYA~UwFkw z+u#2IFxK;PnCGGh-mr~i<4FD8c=vNI=p{XMV{8-<qZQIwwd%Jj46|jCsfqrji1@>w z_;Yv5vkhcUH;}yZebMD{2*2skpKd0mW|C@ZyJ~m3Vt`O8vv~;Cggavs|J8#h@{e7& zlj2OA{CDP#v;Bd^-2J}6Emk`hmcefoEth+x2a#M&bfgJ)C#L?bvpz8Q$n$lU<PSdg zu3t?zco%+3oxRX{H?D-#O0=LRI#i?lK55V0TmEGFfgkq1yig8w)@LxdNVj92?}MJ7 z=^At!_62#M^HaUpjom=+%3bKrA4p+e3E_pbgSKzST-jakBF5*`)B9d%>wWQh@p|!k f@p|$4w}1V=!Y?3b<$Yem00000NkvXXu0mjfn&mQ^ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Weary Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Weary Face.png deleted file mode 100644 index df6a427e0c308407d43a716944885c71a0d5d87aac4d036bcbec263afb242ad7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11064 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face With Tongue.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face With Tongue.png deleted file mode 100644 index 8f6e80e475730730aa58171172d386aadb13694334d0a4109996f302fe1099e9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11726 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Winking Face.png deleted file mode 100644 index f38b2bd8fc3b335a26418afba85547680d9a1544f6936199ec868b064360c9e9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10494 zcmV<aC;``rP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001b(Nkl<Zc-rl~ zd9-C$b>91%Ywdm7+f}RTOG2nCkbnqb(W(s21Dxk(V3#tU^J2%2;SoUCv4cr7lA;nP zjvYVafF*cN96RGV<2_5nHgWKaZEU1qi~!ky1VTM3m8$P<-R_*d_gZu2kG1x>x3Du_ zNh;CUwZ}MBx9&Z4?mla-Ip;UO`OS6U(sk*&bX~eGU6-y)*QM*yb?Lfv{Z+f<Tj3@R zg#8E)B6pua_U`?QpLaK~_d$$37zZ!`yJUc8yWsn9>_GsP1L(7Qo&7k#@gT;XsK_^; zLFAim(E+)Oc;3(M+|zmTPfu@~sg7@t72C|%h%qff7r>O-35(X@6s|ZnDhG#U>&%f| zKl$|NYYlQYxV`TqezO?k8*TvGkK;v%+`78x^FK4Yj-yL2ud4X!fV={=Yt`7+_0sJX zV1?nG-~>zrRM2QdQ$h{nhNgg{D)MMiaG&(cPsM)u*)2b_e0=hI_u<)tJzMYkmN$Uy z$MGQ2?)Ee9T{mmXqc=6$d|wFhbu-3g<v?iWN|@>pW=i~AX~mSND=;Y?_;mYbiZ+Uj zo#;p<E;r7d3vh0XoQqT=rD{0q9ruPo`J2Aq`JL7nIZW}5GQ`*20A>ic;@X8j`JT=- zVcfh`#&+ve!A?Kp8E@?&mrZMLn^!+&;<_fz8Zm1G^{51J9>pVh-NXz>M8v?nMJY^! zv$*7}Iv&N2F8ktWjV=Vj3a6|izqRcBFYmrR-1m+2h_9;wY#+W|_|xw$U+l-tdurv@ z{*?5>WgXm=!`Ry~pqPoySrF9*l_~IBiQO0Cx;wC93v@T&iy=Z6BVuL{YKX_7K7>_I zVbvjgI05l2;uU;pI_l{7@R;V2$`{90SXof(cI3Zk+5I;gesTOMfKTkF`1S*Yzf=Y= zkh}KbZoP~6>30t=yV~l16jz$JPYqmme8rId4b!36?0jM8M4J-zo3P;?-1MuEnLS9k z11mS+=mCNvfaRMPNKpi#!BC75=m~6m3|aglx_mz@egzj#;K~Z<+xV>N%9qE!`$WZf zp}`mS>x<pafnD#f9y3FDAM*9^2KjpK`eW}d|91<`zn(5-`*_C`gO|?4{$^Z|b7Iv1 z`g@QKw;(fr4cFZcG7Tn}2x3JFFMvt=2Ot7SdLve27C|Gz3Lr#@I1N~R3|o2toBv~E z<w0UOqVRp1)5PU3&bz^*BU!5KT<jJHwtOJG|7-94ThainJ3si&=?xog^nt#GAE?%K z=-fOL`d4&)(JV`B3Uu}c-1@(cn|c{q&L9EA1bh#11?Eb`rqV{wMrc8#$(lEz0f?A3 zz%rsrv=u~aL_&I^Rp`p2*r`9l=08v2D`KZl{j|mLXXkzY#F#}_{K0(T-+s+6R!`V| z3V9wwl01(nr;r1Lqwng!q94b<-YxB_#cSr`?2QB0=|l;2Lzudpa?^L?r(S|dnHE(# zm~_E)LAp3spwa=?MR4t2pMd!D-hc*FB4#yCM~DTYjSvlpRhW%ID-aM1*wQ1!Q}>`t zU!l_hwbB+JSc&Bq7m9J^Pc8L3KYaNwto+yK(-Y)*UHse1Tl;nRH5rzD|LW<`zp`6s zRb$e_ZM+5BcnePEKn+}hNG~n6^bps<T#1(sCM70a#I*(x%#t@qLRM)}wZUkJ7VtVk zED|kwg4j44ph2txONKD3;Oyto(|-hE3F-H#o~q*LQ|CPAA}aP1oA1!~+de#Zp%<Ip zaL?D`AAeWzj!q1}QLXRv%fGQP_OC38xV(UMH{o{u0Dj}^FfmLQF=+q=6mg2U0McO6 zVAL25kitv*{$<VX5g{QVB3Q&(NLDfZnnw!>1jHk;LafHEyB@#u2Vigox-_Q0t>dTu z*UcKX_H=;#!m)Sze<gPj@7|BMi@a(5^Rn~b*}ZLO;g{+yy*TrRIq6OX7e*CqcqzrU z@5jo`s40#Pg2&MXDZmL(01g!g<`5hv9w;W^hZg%w8;lez0LcTyYM@C5kp@f=n*4Qx zh~|PMrsu>lR&<c5-H6nLb5G%WQTmtnSXw5|oULxT?M4}1|MUFb-diaC<H3vP1^!|$ z{^Pd|ess?257k?TarzB&uISVf>KeD{)wnIUAm%X(I6O|uw4_pGFe8Xa-qPu7mr;%r zNhoNt=;<LA(*j#sY_Wh?GDs@Y8pJGnP{@W+!~$5rEM)H(gH=d>JNO}T?hxKZ>0Hs5 z<ptvOeDm6O+$_Znck+j}pW?th7YCyHiv~6CAU=It=eq_?^Z$fxojCpN>s;X*u_oX) zy#~MO<v0z97~(oODblZZl6JUrATDt`;!|{#<N<lBr=6~#7?u~^i0N;OX>m0zs%eu9 zL58M8%mQM`Go)R3k^zkhhe3?E!8&5u!xoPt7NpocBP)wBPMxjy{@6|K^wiJWy%);} zaxpj^Ie<R)?()U!s^-(prgE_U4IA;Lb1~Mq%`Zka+z6&P*8}MgT^C%5(M9MY&V!U7 zJxm<94p1Ue;-o}ffuoZQWNitSlQEV&LqiHPmhymFjRQ=^5Cd499$J9}Bu3B*qe8UC zsFEjXgRnvrh55&b$G!|@MAX~DCl;bVTosGny=m9&@%JtUI&#mMLI&&|Obsi&s~8qj z>s~WwMGvQ8jLcn$tbZY<;~dx9u#vc%6gpNPSVRaptfXCS8nBplw8gZ;(I!L7fU^eC zCgp%!2c*|YuWzc85G6SgOMav;bdpmXmP~3Op@!+*$i{22CW2ELymrRL4W$jE{rcnY z?d{?&v?cStAqKd6KVA-?Pe=cOxt?9iO~X*knGfSJHnWvt({*V9una)rguAg2vCyO# zoJoBR6{dLsH6R+m8qfxdY2nGSJ3Z3B#hM(3LaKsIaTc?&LSFowD=@@T2unuRL|@q2 zM@%Rx)X3ZxShpP=H}pE@dasz$PLGY<bMe<O;KB0%+1D=z*gpIfcMzZcasOS@#Gh+k zI2EQ|)G6XPBE2E9<s~59^k$vpFz!%|xI*w#Q~0Sa&M9IJ@g;70h*O2Ah`34UH%SYZ z&`v6}geIXF37LLKkQH(cV2q;ys^np90+tFSqa>?SUeJihIE5w)AR}yzC;Hw1x3WMS zjp)oew~P-nCr4Kv|J}~n*<XvFwte^m4?a6&B+r^sejjpbz%V?)m-_3AoxL|~G%3`f zitM}|8*as!L!^UAf#E287nz=+UVtxs?l2F3{vd}QI>h3_3PsuF>X%;2cmB|unc27z zf*{@j9utqynK-P8X8y-z&uURoo&Gih#)yGYBWgJrS82h?o}yJUT5K>GO>%&-jA+aW zy+WlyMvLgtM=`Cydt3VN%ho(ykE|@O-||b<lk9(X<X!QswtwdHpMIzRhnu@`S9ASz zaJ^92O2Dn(j_c17;}~%TVjhi3IWweLf&ca^pW+k0^#G@yI7!dL>=bl5u+qTCKm9m6 zcg*sdA9@R6afDCg4@Q|6Sk~}BGT}oLB2~<VRfuX0Vh$r_C|aR8WPu_?jMi%sQW64| zJxEY+8ODYR>6O^J4cLhz6y8bqhAADKIXyhHT>q@Vt@hxv3+M8zI#~y>C*Hem=iu!8 zS9(|UdcD^S#p)=o98he(5;}dNba2weR4AwCc=XTa`S<_&9u7Zrf*qS-=Z2EfMYK|U zw_tY14)(nACa(QoUW=cePU+A)oC!vO;3w2`%Z3Vqx|CDIEG1cKlWxNQDpkrUZBl2H z2yKg)j#HH#6_XX5CeJWN`TqpW#t8sOgNq}=;Uicz!uK5K{&XqIgJT~C#VfbGKivCl zP|-8@fCmu)J$8Ejy)#p8U|08o(^yzA+~zr?<FRNsZ)j}j%ueyi-+qMu@YA1U<3M@U z4INyp38RMYmi1hD(@k9Y@|Uye1v@CFdti&GEg|9)6^+C2sWvc|u?o3DmK3Mk4uK>C zh=o)i2tb9I&zL_<&{j&~5hd?-ix`?~0?V(dlS*5nVj{S?b=c7{)W-0tDfCd}+_|tH zcr$yRc^-I12H2l4e?0h}{x&;Z{ou;h(gvHw%d%m;E;1Zq(GV1C8alIGKJz<|^WpvX z@}iw3mu)OqI9oHjevWVZ{_kYZEia?Hp$9TX!x=)OcsEEznq&vf@m)mLRKV?z1xSd; zOb{1A6*UF56rwWonT(QZ0Wk$lMsT@$o+Mo&mP3_U$X_Q|Yf*9iKC$0JmsjWv3cs+c z)XtZiH=g{-@<ut({OO(h@V7n#FL*`<cpta}ptfB7-RW7IDt1i;3r!Kt!Q47<9<v73 zKsgxl)B|Vv(7(Em7w<0FGNmk?joh&J7GC+keJ_Kp3e`z;95E+2U*KGUF;3vjJZ44e z3*gDinZv(fIK%{#h^1`1O1P<FQe|^xVvY<;X_9x4VJyiL$h?rzWR#REWvMfC&aF=e zHa&wbkI-QBclA{djf>Mu;m3d<+_w+7>-ot6V!)%f(HSiB<>Bt~%ITXos>a~7<B;9E zaK6k`f`AP8>34pP`sh3_+-OAK;dMXqBV4=pI*4B-#0A9l5$R##apHg?^#w8^XU^lS z4MA-}Zto;f(<V9b>g1<MB_TBqnS>fFKn$o=i4Gxx)~Hnw(?W}6BgrTw<(v<a$0!yJ zPb%)hk>gl3rs#BS`Lm0xJhrklJ+!N)Kfv+Kx7tN5#B5)Z;mihq%T$LexvZyB)J`?R zpid!&ivhxza%lX)N1o#7V`tgD(I}=j@|J({Q(U`uE6vJhiQx<)F7LWTju~+c_HL0% z$c0w!bV-x&zqMRW`noO9EEjN&fHTEu&Ihr<OT<qXlyg0bVTtc}e8*7^JCt)B%4tvG z0v0MP#?{K)a^;@6SW`ee#bAh`D7E+<E=~{p^qJ6qON!MOUSC~!2+FQitL~eg^2TLd zt+jUIJ#MOpS!#!u9#&2n_xzVbTrmg3*$sTxPu<4cu0^Wl`zVS5(9JxCCTf@f))H_5 zArp0$lPw9(x;D~C?gCrd^I`(3h}602Zdp<=4HQ!y>iL=nKKT@neBm%hpFYm=!U`@L z-Kh?nw-32$&pP(JbUm}%JyaF-N`n)fP$uN}CxArIUY~*jsz7IbDPd}C{?z#Ufe%f% zjf-UfBPrMH-_kwwfc^Dqos;3PaiKA+Q{c-I(;OqG3chmhImV~QY`A*Bo8J9)=5`%r zwEPfdF-!%JG%3VP7E}>R1fLYOqNx`k3H4x#NO6APG-=ylYm#$J22sN-5G_)4yZp)T ze2M>j$0s>+<TPag!xH*FMY2-{kKPOS{J$_*-{YmP+sd21ZyVdM=@FNfFtrH-F8PK{ z6)6j}Q^InM^u4Rsd*OJv`QUptY?A}0kL=%%J8%Jo*##Nku6;P}A|89R|B}8N?{>2t zQxhk(AX7PpM{s7~JVy^M)3?Z*-}*yrx_X}R;sbQbVMY^fO~^4sLCmFQjCT{xDDnF~ zv7=_37gEn-MB_x9MGhBcipD@OU2^aL_eF01`@hRoo8j`^P)P36<hssE@XmpEoLdUq z|FN%f@5c}EhPPbKz8~I9(N)5707*HZ^#}v#cCn=qVu)MciR*gxU}1Uu8sN^o8L(Uw z1MEvGWkOTEda4hsFQP^Y1<FAeQA4x<=de*=&r7zkWBZ%fd1IGq@skv809s?N%!}4y zYzJ0=FH=K(d=9}QotZ>QYn^)pK8L8hXsbdLY!Ze@ZOn;kNU_*3)1BsxZ@!x0AmXe? zZ_uYGOQJ>U(TI9!#M0s!7U$>bJLUSzVKEqg^q-#Kkv}`dJO9}gY}nKxEQ1rvn<vvB zWfxq5Hj#1`^8>>c$FIu<xQIC*6HQ*_+lqmMfrp@o_uxC2S}ysGxT3t^x@qV%H1qf2 zeUW;!nT9qDGlz&E=1}io<tz)2J;li<m!L4VT(Oy{tFFa$W*~;l{ph3toM5M96qH=T z%y1Sabg~n$<(fUO+QOb!{9R(Bc<-TTQV<t~P(U3RkBrmD7diUSA)flem(V93=C56@ zJaKTIfAbF>;XOZhE$i1CVQjhooF!pJi8+VF8rO5u3`+D|xDkK@7gh_%1w&ASBX4zI znBCR6p}29VRyU4riQm2hTDDWbyaQE`h!ox2VsxpJ6-m8cJW!&}<3r@jzxNOyx$7uL z4o6IcJ=b*j{vX`Q&TqRJT#+IWezM@2wLoHmPGk`ghn`OvSuU!G6DHMZg%MB!4u@#K z9Qa}iipvOL11BGkJoG1D<j{Se;(;%&u>EE0c=v&8h|M^^ZYKOpu;a(E(Gt@2HoCu( z<%h?os?F<Oc;(NYJ$E5+w73xFQv^HwkG5@adVE*tfwL&Yh`3%VzBCn6lbnc8f-18~ zD^ajSF<VNqCJ|p09Q@1)K79LOMpa<Tx&lSG?|~K0eekRN<i=@cuDcGaLT*#anqHV7 zCKFkTWK`AOG!oAv-jb1Y)q8|YQAaF}X_|Q~K8ZNT*4>w}^@<lW|Aw2`{s*7tzCXU7 zvuBLCbxNou)f;M<Bwi{SICEmX0$0k0vR>K+Jiva01JBU_yf3}SxNveyAv!A^mjiEd zX;aHEF#jIcwg_cXWh9Ozb2u(P*Bi28{LXJ2B8I?CS9{6~^mcCaeD3j@yFYfA@4n`8 zRD3S7T%J2hb+NSip!_>jH2>Qsl`Wci9?gvxnu*6GrYU5D7I`xn&B`&<o@Q$OCf@J^ z*Yle1-HUP$AuQmeLrW1kgIJcR8lr~pp~Dil+%!9Y2XeFKIp%=;A|2OU)+rIXqGZ66 z$S`uuwY11lQvhybvoKLSpeccw31!D|^x;JgKEB9{t`M9lO-%o%TfmFAJMO>lEN?uy zKxh377Bq!2{quoyviq~#1QfMoluoBDtS2`DF+yFVV<Co+1zwhlEDWPWq(dB^A;eGM zivbdA#L6rNSj|B=hbI}J(-k$3tF_z)4R`Ok2nM+OM0$}ju&z@;Q;1nis}M?$&lRJp zM_g__s)5f1(i$06dXpisn%;Bx&=UPp>5CA8CAI;f4#I2~s`-jjM;F<?xr;Vct_vg= zXsew-YoQUT_)=BMz6U(Vo>=7Y!6nX|s?iW|;+fqbY`;R-w!Kd=U0|b{rp|<)Nha?= zEy-oH8K=9~+=IyN%}6qy!(pbx!f+lyHUR9sC@5$za1TUfMx5Xa*KU;*1au8JS4sI6 zftV7eIL*m-RoA1LTM1Q{VYelh)8=gxtclStVLURBD$&N;7GEtAk&HiW)d&&F0X*^G z0>AO0$2s_wGgMVtP?1%V)s+QXb`7}sbsKr@8#gh%!Kju(dXA;d;}z5_wM?!3oi+(U zs|L4>1Rc%^epJs~v`V<Oq6wW<LRdgk9BPS3X&di3QrK$6G{OGH8qBW7px38#LKL#} zJi|Llu(IO?Uv?AMqY<(;^t?JC$8rEwPtk+JkB#`ZKmKQwR&&+Xl78VRJ(H;dRmZ4O z&YoJ}qyJ%n-~Z?l{?^~Sf}379L%lR!eQj;^M+y0)nj=#an(7TS7mu3z*a*((JWr|! z%c=qo>OcjfLCw}cGfVl{EXy+|rkNlV!yp>78|UcyWK5Mj2heUWGs<qkaBd2k3THK5 zD_kqAwGm?DteOajHn=cGI>r}1ahA)<n(MFbGSh()mqC$XL2(+H>cWm~1vl;~*y<ZT z{4XBjPkw)aPQQ~_Yh(4kC%4~<xzaZxLPQWX+#1oSTufQY-K(xrwL2e8J3rN4f|%yD zPw)(F4bp044b_OMLNp`_+5~1d%+T$1(=J0M(tkt<0eUktOwUcF_^%OS#55u?w+<&? zhom2}2vx;ZFTR{X9~O>Rj20S33xUzH(gZ^l>RMS|iY%WA)JuWQ8;u)w2_OH+SE&{v z&KWV<q}7>fh)j8_<+7sPjM*kx|0@WRSiy@_31<sLVbRoxjf!hURYB82M*|m;jEhBe zO|Wg<HsiJoCBwL4W=og#yLWN)p-1TT+9F?Y;;1WS`!z41H)}LYA<NX;SlfmxTlGpY zOgv#_g{xoo0_?W`gQp*O7>EqFY+?QOjm)f{p>U3>syTOdg`*EY%;EdL#M0>#5a7BO zU4i&1R8L{*Gmx_cymZZmvNmBE5@Wh22O5+2*V0{t@kPo3n<t_DY!e{{lOiXh7%RLr zsU2uOWAnA@<<!^B<!a8bf{3DKIDdxgUw<=CJ@7ESfzNuEjG_wRhHrlbG+)A*BRX4? zQ{c}Pm>G6LNj-XmYhHaF*W7Y5DZwm4JPP5-<V9j^zh)zQUiDI{`PVRie3?-lxon4G z`bo@O!r4H~USMjdv}9bSJ4~=9=J^DV)PjbHA*a?xkLTtAxzSvfony=6+PYP6CPhj* zbwpy8@+lL|--MPBLqsR+u}JQ#N5i>-dj1gCy!?6&zi}^r_TTQN+fT0(D|pr4zLm{a zRn+H>BYuEtToYU6FIfEi`z$pu>-o=3=F5^8x1A|-sRL$DqUI_5G@Ey9K*TdzIzrS2 zKj}rYMrYJA-#HwaOQ<L$4oppnl{t$>$2Ui4&#idQ26!LF0XQ-29-ke>b48_drfLom zYZM|`LT-5nT56(Lt5V3jzJ0xD6IqEfVYKu~Zu#5a#oX3iJa*r`bj5Sc>u=%Oo3}Gw z_y{6h#3C+o9`^Z*7_GK7pco>(tgg0Ppi4qB67x>z;Y5jHOjtMw8t|@@$UfB^_H{z^ zNgH-@)t@?Mg4Io~wgtxORvIh}%cr5?LR1p+Ow@2k-d22JZcA~4Ugwn<9j>6*wh77( zjwIVK5u9@q^eNdLOqhJ%Cf|1`4NeAh*1ZyRJ9q^<NOShHXi+2LpIPHN=ZKscl8D7J zE;hrQW*je=w(=7<>FG$j;F^Jj<XEqul1iXSK8TU#<Qb$IAw^;F@gR!_t5fyHi%7;z z^#4LU{MPstsq_Y^`br^AL%_xj;uF6v-X$GRf&;6xZPtgX*_tV#^p3rhV9V4ee;3D) z#zml}a5FgdUlaE);9iA^0-A{|Sabe~NLbAvlJCb_HHEd*wr1l9nyH7jGnp1XdA2q+ zGyyMyMby{Pi+7J-=;B{^9gsN<aq=0fl(>>_I2w#=eC|+LKA|VUPI99r#Zb|t#gW*; z$(+nIVCsPZCQ4~S!7yoZqPA84g+F5E3Uje1ksK}(1a2XtXuH$X^IBE5X<Gbt2!v=! zLS&Xi!`k+vL7IRxA=PEITBnNiMDBYgjrj{Qz+E|+Na;ScG8W>3dclDjIvyu}C%^e5 zvstt7YjRn;A6DUA-hu5dojk4O@a0(#F8sNFo2;P}R(rgbld9O7o)1YDDj7|CONLBT ztR;E^V5Lq%Fb~awN>zdS^1ojw0=n>)<X!33wn+Hm@yNk)Np}ZCy*Q`ihEO#~r${?X z+?tA4FlVd%b6e$Ytj!Z^Cw?b#bem{@QbS^`7`G)fY|WI+>i5msk~A}?6R~ctSwtte z+HAE(pETU9^;jkpL#ksEQP*x0sUu;O2tu!7^-A;$V_WH#^2gZ#deICZV0I^7ZlyZ% zHu-pW#eSq2MU_&VHA)y&^g3lC*#K*k9+{R9Su^FH4U)_Eq;hK)ezllS=_9n6d_p@L zmRpqP)6wns+eMvJsS_`VtZ5!60&T5v*Wi0})ffo@$tn`jWMCUrSfe;EXh6G5(Tzp! z-E{ltNISOmyiCY6U3X_y2Z?8bi_TCHWO0mzxCW}7S2E^4@T6v)&=)Cqo}WBhv?6Wq zp#5QvZ%Iho=9{nieoK4ns%ZE8@)gb-wYJr6+5`o)NQicvDZi$r*G%0oB`h!JWMb5d zW^RliosT@zb-myx%B^T3hT}a;4UgMmbk;Z(1g&bqN=0A|ACz~G*(!UO22KQvnOA9L z9xa`#N%rSWQ-PN`7mIQ7noMH0C5BYfg0zn$bFoQ6)?kQ6oLgOBiz(TPS^hmqa*`yX zmcGvSgj!DC={agjsA_baq>mQG{HfrVmu+FTQ~l;MX~;iQ4>0!Qul^tvh5L`i$Oua$ z#w02-pOj{80VB3rwx>nRisZa#3Ejv9kw{F7Z$UYIvc|Na<8sxiaYA+_6r-sR-69sv zoP5;P;wdK7()A9a=j72kX>oIWPln2|e}arw6L#{_HQpFwssW<H!ZL)^;|`U@avUUz z`{?usIBxs!&*V4*_YBq13eX*{`<2Bdx1^_QucoGAG~*GhjM6)Zt88fdrsO;@wB}Eh zyxX9_Xe!4C{?8-)>g`8)`jIgmGdvJA5LH*3A8U4L`%pDh6^n{@g7@&)L(AO$i^sX+ z7mm_|BwHs)Vq_Jx?PqH{pl7QDWA*^GG`D7^*to`)Mx@bi!%nJOSrM~A=L0-5Ve~T} z(!1v#%=Y1j|8BJKQ?Fph!09WrTSU6zEXL#sgI*4|0&9|?v_N9*84qh?K7vM}KPWkS z%=pYFPx9G6UE=U5Wp=8|?69C)xK+_r_AY0d8`Oq(jzSWb^u*(l-~P{M_~>t*;@F{O zUiaF~Tz_Madc0-;Lv8i<PkI?PX&ANMn-)J2E%mu2q>A7jZpFp^iOMgJ`TcFTH$P|l zaWB5(naznk^9h+fDQ_K_o%`9v#reO}ITd<-P?$FnTd84w1=bDIG^C`{twdH2S90xO zg>YV@Ml#xo%?jV~y;rk*VwqE?mU!UPr+MJh=eYdJDPD5J6jxr^WqQ4*+xHY6oHb|= zRz`5*%$S2u1n&RhB2PZCLf4cRY&6zgJHy`ZxtgZ>YHF<Kj$5ItFj#GsZM6vls*@1u zM2JfxSQ=-7!>CTz#LCcqaR34rqJp?MQ<8ZW>gjj-f4QL(|MAk+GIXbWVbQ<~oy*n{ zyFNn<L0lduYMZhmi2K@uJ5x-JG0>mc!V?EK@q54gU+GR2EUy?(o{WsfP<9HYW;(22 z=jrtef+))?4U6ZDg)<eQQl^KFog0MV(9w(nf8%Z6$?lyeSXnrUm$vaEZCy1X+*V09 zUCmo-JR}^S$6`PV2+I<uo^Je^k=(iM!}d3y?bN(Hm!pJFpJ7TXzT~Fd4tGUq_~?8T zq}Ro5oJqamR+1u;CSfK@IXR!nl&k>56T_I{)*E>63&J1%>c{By1?f0KfYDf48X46H zf+o7Z@ItQ(Gd-c-ca$ZBaiAW-cl_x0aNYGIR*pS@D~9PL6=TxhoitY_$JtCy&PnlK z6%iPpTf{Go(``Gk_*FAq)=_kw=QO4&&-E<0W4Cp_XGs0qE7N5dZ1aU`=6Pm^6zhiB z3-V;6%VDVX3R}aNW`m@fr$j@=)D<u1;RhXm^eexOt~7K8MfMcUXA%qT2=`<`1;)#f zqTk^=e)KI|y$9x>{A0?ZKyZ1UEG6tor*0B<@(n0!ln+9)v;^}DX(q=D@t6<2#i}^j zxS!aa4|969XGT1y!#Z+x91p!+esxoazq7Kb6a0EBG^Qe|n43n1{nb+rUAy^L!;wMO zmZo`tB=SxApU^~RF29kJi|hHsulzno9zI0TfwJo+svxD9Fqol^gc`PAyMx#N@SB;N zKFiWmpQiANSQita(1===5>IFcL9@^*CFYRzt%8jM;p`$3Bd&n3RK&s2+MgZU-CO@J zdwrgnR`@zj%71MrI&qSLsrziNXV*2`T`c?JX_C^xZJfdNx+$SKNvG1VY5-m10V0Aq z&1_>qbP)?9dK+GZY<L-u-1`{!|KaC2_4F~cAx|2lckWBrxN9>vy#AG3d-LUR`tyuV zJOV`zZxQe)jzR;P5lt(nY-wi61AdsIDB3i{b4&POh!bK!$A_bIMt0hT?v3kyd3@;E zhMtRlT+PuRFJIKH!e{8wmz@RTEX5rsuzm{Z7FisXj~hsqn1rOn5hY!D>U;UzQ3Gvi zTxW*i?w6wFR*pP&mSayGVr5|wLztSK=CT*;WZMfiBH<9DgZD$VfE1pndF(0A9J@Tp zlPHng`O2Zlwbic(8XMx-C8WtxOLG>E##pXUEK<H{*X`9sIj%-7=GmYJ-`@G|8LuC$ z1|gQ)ymKxOBZ|Y#4RHPLYU91tYPLInjVKETf=|7CG)>8CAZnx-%+lYu3pcd`I{nn` zsz-#SLyS*6Nf^!Ji!u*(D~88g8roBF#5G6OSPMOMO%4!2>wukGL_)-p$67c>9FDa( z8{E6M->x6LSjSn)#XqvF`=gr)|8AwLvDhL`oQXt;4*c{Ke%PNR%j5t#A-6Z=+EUFY znTq6))Fu!M5Js35h?m?PCrwZm9%+xioRDoUotly}ew-ABsRDN`>zUMK#HPj;M!2Bh z4K-)gDdPH(7AG6`(>rgE|MX&>B`VL$p?&Xg@0u0&!R1a=*#^$zi23Y`=>eU=fZDe$ zfK(H-eSnr820=x$s=`lbX_4GuZ~F#qh27H7w&qA<lSzPYhxc0Tk*KWF%b9A9%OiAU zG)eFV)|`|$RatSa;pev9VekFKEfn8=&zj>KzuC?WZH;i~9o@GMCH%5>KrgdcmUy)! z8!w6yX8O3IlaCx*ZQP4nZGM>3EFE|G@5!`o8s5(Ms+Bv&tiEU|<O#%NRo$kU-<J$q zoq>gbu8h#S!KvUpX!IJ6DKo0>Y{Ng_dI$SIaSO%Xdx#hF?9k`+;MRlh@ZU3Q_J2#) zrmMLk6jNFlG10_MDEd8ouZtCKb;nAaC?+PIw01wXRji~rv*Z*yk&9^C25;r-wsxp) z^?9p38ijF#u8dL9gwRBgB^ScESTOQhS@EtNAFe+1d>!2SydPbB=v};|i~OfS!Hbr9 zF7{?j)T_%Unc<598+7p9PC`Z`<ysqdCiKNx7LV0~INIUAwPy*P-)6K-0;c5aaEUps z8(1D=QS&*j2EkjsM4VpMVyU(xi;f?<@|XDd^LeEG^Lu!AikIQOw=uiBlwT-4KcZfU z(-LGL-kFIIsRg8T_)ZC(g2I(aMlNyE-<9)D#%ieyJMRFebRKBpbkwD(gFLu{Q-ctQ zO~9&%G)i=a6Nfj@iV)_lm^N5$_}IAWy?y7uA3gmodw6$ytv$Zw;5*!{L$jY9^yKoz zQYeNJ=&DB$%R(r;;L8$MlxS(0$ZHR2vV2-lG3oENgBdd6wsm!gTS+SF5TOpx<Z1rw zS<X3PZLwZbKT|uF$DEGXKil>pz2h&%@%3N(2}yDn@!;QMUDuWWu$1Oqy)J_#=kU`m zxDs#9#8g>(BAoLs9qL+mtjNuMYr~VR3LjdI-wYQ?Gi5R9eL_}iJJJM?sWS^iS)k~t zvQ(RTEq=B3#XsNvf$>weANM}sz+Z+BaQL5nn8V2*;~Ht?C(QU;!=4St-l1I=t*=Ol zGiM@g3(_nf!YWyS+mcF22_d#RP~ozcCkS{+2i|Kt^AymgHv9-bY?P&%DB?d-mh$s+ zzqtBYGSBy}|HgiZ4+wYS+K;U|{*LYoO~Ttm?Qae}yIj{Xa!M#s>5KY8M4XA)M4m7? zC8ZruTb*u_$#AB6%%T`UjIoKY#h01C9@lmf&u>*ye0awPo6k=^#OE9EVQ=3wA7gd$ zJsYNVT)ol9`uiFSdk11$$}Xsf-~@F-5KJ6uT{Fv)yNU7+fm%eOiI_R3P^NKYn#QOa zP8;$kNawc(vG~~ZhnG+MmHZg1|35<joc*!cxfqvTZc$$oO>Q!?YYn%(EVSD#QhU&~ zXGXNbtjy;$jj&?Uh}tnPJSyIOuJ(LtW~zVh%+D;Hy!1hC&*q~H_tSZD{<3X@cznCU zHW%2a%8a-)jVSF$8G23u$40(;Sc*+YcD?^E_$b4>aeME+^ihVFKFsqk<;U6HooCv< zg+9*q(sk*&bX~eGU6-y)*QM*yb?Lfv{nfkv2la(JuEzbblK=n!07*qoM6N<$f~(7t AiU0rr diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Woozy Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Woozy Face.png deleted file mode 100644 index b2de97c24df4abae5bab96037d3346fee1eb934f4867d8c8c23c34f79efd797c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11044 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Worried Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Worried Face.png deleted file mode 100644 index d3ff72e8b887fbe401e810fb6e546e0d0aa66287af92521012b03eda45a08ad4..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10586 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Yawning Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Yawning Face.png deleted file mode 100644 index b5db467c9eedd4faad11f166f9568f74f51602eb55f7fee2a4eb1d29099e7fe5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11192 zcmV;pD@W9cP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001k0Nkl<Zc-rl~ zX|QG0b?5n8d!KXe^zNH-dYNP<By%PR4F&-ck`R)NCE1o+Du}AKTehRx;S!R{Ww+gS zRewk_q6e2<>IxglD!aRFS6jBL$aY28>XOPB6(FGjO&|dY#gvfq_~tvDVXxI6_PIA7 z$ki5PVo7%Hh!?zk_j2z!Yy7YOT6-Tjzs|4o>-;*u&ad<9{5rqRuk-8g+mauIi!=}n zxD#O?a{n&m=9j$Ze&FVP7`rg;#1Ig$^9p#S0>2H%E`)uU>?ORS&$$gh`V97>-;WBB z?>nIbFBP~Ma`Jy!KgX%1&E&dSe3+>!ro_lxe7$g<rONvSpSdIb*{Nd}{!b^5iHLoN zLV)ilWqi*SV7qbmgM0fPs?pz$e|*D)JiYP;DT_CSQm?B5JI%8-GrG+LNCiB&(G4h= z8dZQ^1!A(27zaiC6G@_9ubSBxPh8r4`09_GTpfMKeY;8S2i>y={d=hZ+l^x%GP3r= zyEnJ9l@mW~L-|0+tD7@nYr7*<(;n+)=wt)mNpNi!q!~<7f9C2{u+p$xMSJF@U*Z-5 zp;wSC74-U$8wY*r?@wC({~2`G-Fv~Fqy05u%H(^b2>D)xnvvj-|MKJ|3|D?u3;RbC zj*F8C&tOZ7Y(v}9Ek4MkO4>AmLJSqN1Qi1UAc#32!B9jBL<F<UyqZ<Hx3H2}c_jDc z@u6hLb9A+$ALLm}-JeQ#;t%G2ed)QeBEAQq>2Fm5b{l>q_>&*Wu1rJmKlCg4N0V(j zx*@|Znbg*WE%TG5b6SdNMWBVaZCGmyF5QeJTe0SPB$>cm12GR~SXjWyL%8A?<VUgm z0EFWt48RG9Xug!$@IVmv?22<I1}qQUYBSY8=}%64Z0oPDJoVCR{5zun1KE2U?)JTe zeZR)K*}nfZ8HPK$ZPy-L*rC01qDr@<&bcKgxg+=u=)_gH&KuC~E_}KZvMHcBzHEs| zbB(zwhGJBpt5`J;<@3n$quA<W$m)}boy27hY(j@eO6@(dn6wWLSsG|xod0-{g@3vI zUo-!==?$;C0`9&Ie|v3FhyH2$57VOhmy?NYU)esv#2coo)<(SAX$fTuZSKU+z8yDp z9n#naG65o(IGiRi+e&@eCZm8hR)d)WB^DGXLofpgnDt?B5L<bKu>58G;2FeMn9nRf z>O%RA<)m?Vm0rd3A$7mH@h-jlrPuxgset=-le~Qo)t7#8a`v*K_pdVzAGE0k$&KAA zy}0SKvM-@<=+xD?4e!KtUW>U|9D-Q_E<s!dt^u^p2wDU&Knxq-gw+ZNpaobD2_?z^ z(SS$=7$Nka{{(jGKCJgBk{IGL>%CBf>Y?SNak^yS{U07mCVuhtzqPbDx`!V)1=wy9 z*+cchhm&hNrk`r2cE#}0ZkT*yOOj@ARj)$3m*D5#jdZTX(MC)$NigSe(!yL5b16<5 zAXy!B1VR7WOOFaDz=ntxm{tTC;HwIeAsTYfDkf^}ql3q=6Zhd(pTRd;gkho!-(0cg z)62eJ@Wj9;KXuV3%5RSD<p)LqqYFOx(bhkhC<p&GX{K#`%VafqaVOC{M<u~+xCJ)6 z9dS)e6QF@e3!De%5n7mQU_Qms0BOXi^VeLo)!rZ)zzUQS(IHrf3MebY<!C6t3dDw( z<=_kpIX3@A?8N;fl0&P>($hudzOa&nVcF{?*$20My!a2VmJ;OE68^~#C3iTJPn7F~ znVZ*#Y<=*dU!v^`@N++o>s&;I;5CIL!K8^uGb%tbj3y!pnxr_Ih&3ac8JAycQ?Q|C zI4dzNF{=<8fCV52EfEG-D5Hl^g5?kjOatNzboe~s$mei_LrAAhc`6AD_nq|3`M}U8 z|76R@^WS|nl;B?t;UD=>@=KFczct*P>dY<c$R@q3`hBW(m*cm-57JGj6*x%|aTpB* zAAg)+I1CRsL?l8@Su6A?c#)9@7-9h-#|U60VnrR&3dBmV60-o7;|PdZRD=wXFoa|R z>0XG1KCGN1n@C-AN2V($3+t>FKlaf#y2Z)gv@hFkl06TcyQ0mXYvCXINOH%lh2L7; z+zK=Am~uV~63PK?!?mOvZ$-!ut-vKXlG+8`7+S_l5*#jyTfjw%sD7`2v#}xsMNAPL z3A+LU&Z^o2$_P!Vpw1COsQHVk&KZW;5HZ6~Yy|~fJ_t>uap5HW6G10d%lF)IV|sMz zH}q@gQVDV{3#|RWkiCDh(m&JnE==7r>s(q&Re{@Z1Iea0AeBRX663jRAT$v?xCSN( zA_*of5RXU$BSC$FCj(MMJSGV^2No?K3};qD&H<(Yvw%>5DoP*G5~Pd@u>sCX(16+y zV}OJJ3?h0`#av04e-u0Q7)jy@RboqjbxM;Hm0wBxPh5Cc@#p8NU~}h!(}}`QU)LQL zpDL!Ec5j{%m#S!~B<ruj&F&&p1CVeAtylmH(K@X{tirUyDC3V+2=VXHQge(UW&_Ly zs10Krw*f{Uqla06k%Q#X;wi_LFBa-hq^L#6YBh9~@wI@tfN74Kxr}7prD$G~c$LYw z&PbSYIuVLLKJbgYM)neH_u0$Ooi(om%>U}l)I=WcZZwkC^qXf$TR1H$-1Mce?h4F? z^%srYK864>#hJ#xk3P*pEwm~^MyqP!RkZ*sL<>ZV8t+GC#lM$l6lN7>RUP+3L`YhH z4pkkxMx7q3tLRWG%aE$TrY=TiFQgjgq;1^9Th^OzCY`J=dr$rf-L*3K-gv-mIN5^^ z7nVQKO}Wf&oTwVJ>Z;)Y>u$tvxH{etF&<kTlc@z`BSl18tSzxbv_i(#8$e4;E3{Sw zT7lL`M$7v53LPt=suOX*nMUuj60`VTsg)xZjUZkFF=?BPje{V_>?JTUOOX#q)~mN` zC#r6fD~7B7F4==}_u0wNoo(Dd@(Zo^cT@ez!Nu*WwIfZ+;SkAYa2u{h&5)oqPgBJo z(;B$vb%G2S1F#<0APU!_fMZA*V)TK24K4dX4{SBQzy2}nV>XDND@7fG`k)1Bp$=;$ zY7w$xT8FQq_Ly?)MQDYIA`<@}zkWNCG_lp3$sI{D*fCK}5`OydNB#TccEY&P^S7k{ zGlX5({@qOLaClcf>8yQC>MS?JQe?yB;G5CPWmG8{Yx`4T1{$KkaglED9`7B_dnEB7 zX;fgX5VZD=P=_Ur)-HDD$3_CwGJdUZ;1j`lkMk*#I1nF|VrA_CG4wc990sD}P=r>9 zZ{XMM01|Wv-K*NJn)2p{dY654c9LBY0=yDgCa*|sdvUUdaPY(OFE%B%W$>DA<(fXx zUWHqK0n(a4b%?k$@-;F-@F_xtS%H{GoR98a97a}7Q7$br9268mX?8kvwq6aBSE3cT zI$@gVi?a}G6<mip6mx>NWvU~O&^!48p$eqUlt#Bp((OVvgZgI7KU&nE6_p{3lv4k$ z6~5h}n4UsTFXCIc?CQy?@zCP7gT>N6-@b=`UNflSRfnOr8^<2(z&~s3Xs_mvrx$gy z#@i;v6$8;^f@IsJINv~B6Oj}*f|o7@Y1Y=>jV7~lnE8Xx^ZcWSdFru~95|4(v}%MZ z(9DD@u59z(J3heF<v#+YV6G;iM@krT6E?Qkh;BSy=Xw0k|4;sM?><f}#n|3RVZ&_7 zC09<c^Xd(3y<`V|^Hyjy2^2`k$F+fk7?w;{F|DH8S3Ro32aqx#nX}%5s}`Og4t;le z*UZNj53n0~xt+C_?*aP|0X;s*f3@3An!2-5dCL>41ixVlmq^{L(s8k*)ZxZ~dQZ|j z!Q#{V`0D4L<?~-z;`p(W1Yx29jfT+l4$B?)+`B?D`!#Oga|=3j2yPtGWJE`ZB5HLp zrI-eMma=^K5TE+wqxAa9OdC+68VFCHE_n3Yr}*rr=egqY7r6Oto4Nd^9rz8~2;T5( zz(GW97Q>V&q#15%7CU|tlS*2bw}Lxfw&(jxzbbHt?R)tlJ$c!fe-Gi{|Jd3Z=JTKG zZBDJd9`AZa)oGDTOn?SVLQM@+kuNa8L~xd4N1x&A_xu<B{L{xdain0wwBt3~9qr7K zL|lkf6=p(PVRqex(Q7ORO~&+t;A$=+#44CNu@W#VNE#d2x~_w3FVSpzOkx*bfTD6N z_X1Bn-Q(N)_VYszo!}?lf0zxgyMoYYA)y@K0~lzmxUEu>R+nLO0U4Ggv)(UlO09gp z{O?})mFfRke)IH^-Meuwr_t|TNz!&J!~cG|W9`NzNeBc92(H^fox@Zka*<(;JPMEs zuND3MPqOzD-{ANDj{{VLlGk1#?3jaA2F0*saj9Z)xnih7Ho1Z8ZoP?{-uHIsuOKo& z=p#Bn8K6=lAnn%$+AvnR6j+hdUf<!pcYKibmtKK3nylm{i;E@8E3wd<nG&wqo^a&_ z!sB0G<u`uwX}<lRzJcqVjLfPPIC7kY*nKl1U`P}{F-cN5Omb;moP`ZdCj836KL)t- zWy(}uPSGX6{@pavBeHMuf^<jY%@b;+IT{(s)@_h9qQN^bmm)L}Qt&DH3n%!$KK>Yw zKfJ`wZ3z>p5)g_!5Qfm*G{u&ycCzitE7`DPE7NluNvG2YFA)$o=806IEyN(CG0@ea zLNG)O)dKG(Acy|RCFT#E<nYta^Zb*KbNZR5C=1A1p2QoTgoCGzW2?$P{@Dw-_Qx;5 zQeVT-0@IpnvMLsCWuQ8I45=!_InBSc;ua6(&-U9~b=h4M@*;$Au0qh=IBq92PG@g# zr{#{Yxuq^~PV*tOCy_)@t8n5lTug{mK!P8x@)!T^S)TmX64zbgumDvh^!tGgTQ~B$ zTYr=t*Ih+>Qw!1|Xi2a|LS={~;IaroB`PA(wQWgIi6O|DMFCmBTOd@&a87A&NoZfN zk*(Kn=lcFFoY;SyC+_<)kA2~D<U`0>fvp>$)l@$9e;;9H+ccNlxRENvaB3Jn2D!+f zBnfm<!a{-1yeqe4+C83Ml4#?tLjG4ThbMaZNjNWWYfOuUO`=+wQ=i~Ft=d{VW)`c- zI$63#%8`91dHgG<xMr(IgHYrZrGp=O@2$M?{qLo*K8NBcp{O8$Bf*hj&LJichT{k* z;-UvgE$lkq$JTINcVOc-q)8Rqka`-^f<%msJ7?Lr^C!6cP1o_jpZqb$pE*dgBdnkF z6#c*hpE<%M*L7m+Qw6UYk#6uY9~fApi?E87f#!xp={Q;G6}JI@#cjaebC`q;L~bY8 zZkh)V**p7FiF8{yEpupeAZ=qI;GDx;oeWiCSdfB2nbJ)wEWm0XrsigN_s{$cJ8sxY zsGgu4_G3593y431^~Ke^J*dc-x;6xAGOgAH-i+YZ_6o}Q{Y0|OP@MD8yM{+lJIv<S z&hdduKgyT>^j;ph=N`haqMHKMkPrgSX$|CRWlN3fOp!Fhk_;;fTnD$ZJ`onnciBfT zZOHA<<aNllbJ7pE>Nfn|eb|TIkX-9ke<|D6vTR-AssdcMi*#C;MFw9)&LkHRtjd|* zupKM6a{BZNyWV^QKm4JeX5$q?Irvs>sVM?D31F_K``wx5%h=jS1(HRpuX&ph&m=@h zdWQcAb<C(@6Nb9N6=I$!kCG(ExaiuO*tqp-mQI}}X}7rbgSXP%w2BsGRCtZ3wYCcl z7EL#=&|!`wPKs4CPF6E3>EJIu_E2?XB(rnk0k`dn^7K7@bEhSQSszNZ#Hrw#S&hTN zyo@c@q_!SBxMRHKCvV_}54@XnatZWNLVp48J9VDWINhd(iDJ0OA6cX}aCNY;n08}j zUH?vnA!n3P$7<0K`5cYxs*P|xW$is0dlBV;P~OYMH(bh&*ZnM7Dn5Ids_22FHK%l@ z=(E}pB!FghW(Y<$<HAJClEp#(X5echnVp*)P-`-%UGG~7(oV3TkT^&(EJWmiS`?mh zkxm&+&PpKH2T58JRKp=c3tS7+0`Oyji<21hM}1$j_#vVGC!^O48}l1_rd4U9dcbOK z$PhDhq-4`tprK|$tC|T_ivHJe@(ALfDheR2L+P05KrBQrFaZ^O(nK9m0qqQHd92SH z*UIc%C_rQ{!3;U_bFwqEJd)w03TT$$d{SFu%`$3D3pkJXx>IEikAtd*leD&|5=9U^ zX1-3MQh%0<H;vW*9Vs&wUt?0QelgAn$(cTbQWJso_t!#?bVV7fXVbd*6T_Fc3~Y#* zVEE`!rsE_J7UAf4AOOUrh)d9_!Y8=0=?JR3%n*_9t{6+c3+59Mc=%t;t>0uPwiV5a z20=nlQb}T!J3>89>dtP>t6Q{WH!A04#N$M|Sny!JPOOHgfRvayOwyP*N!O&ZIE-s! zAqYsUnlZsisNt{G6|vRC+K8kZDPheR<48G-3K)sSml|qyP?J!5fZ$Xx1C4ME!4ot` z5)o@Uf>hfN-nn%K4$aq!u(R`kJEM7T?w#JGUMFd#(dg9TI0-H$y}D#KF~rrDrxCZS z0upewLPnuUYII>*ha4G&AQ{j4*a#4r;KbFT$k%xP%vg%mAuAGRQRp&)q{MC*V|qdB zgdFN&u2HBNaY{BOM`dJ8bttm&#wP{yh)*CGVkX*jB+jN}{=^(GKa$<qDPUg>XtbPb zCx~Q;szzQ?#ns4c1kv1?QB8}RCJ-G@l&EM7Q4;a|XtdCoje<NTk?}M@&G5!J#96H{ zZ;FNT%y)^zMD0LLfCT4aL8cn;QbR`@RkJm$v8WJJt?L)Y3J_wb8|Rdf<=1&dG}7!Q z#McyPh_)OqXxIqs8_Djh6mb8E@qNxDi4amT)rj-G6C?!GDW(z=u^Vyoz80L;BPVhO z9ieLmtgN>93L_w-m<Tw<2f<YV2?f=#qPLK<cs#JQFrc?uP?a%sG+HU`iHw=qCes@o zov8#G88kAImW%ZAFvmiuJwj^bk3tgTvQ@^V#7IfCCyY~qj&N2)L*7wg5y2&5Ndm(V zX4lH@>^$IR-~k}GNtb}Rm?~|Yi=;+8b>n4}NVUF97jM`chy+I68FLEa*W8_tmg#D4 zXIPO8OO{S3Pdv87w;x|+|1+zcIx%1{EUBtB&g~#cg^6~`1#@jKzIcMG-Y~^wvqrVp zM`jvycCJI3idGssz+$mZP^+(b1RzEp392?`)gvU9@gNvlH}gem@=i&-7!G`3;zhDM z8wK2ahP6v&4e~QHf*HP!m*OneJnoE8qWem$j<t^IjyloR|CX2>T?*noS`3jKRu3wl ze{h~JKX8&G2YaY9CYmsn2^UN_67R>O>55TR#-J!U@a!V{pIT(*^hxF>atezr;^9SI z*8PJkaa}<xMPxLRBK1H(eT~>S7t}T1nSqTF>e3P2VyO7&304<|BA8ir?)w4m48a$b zAYe(I$YR1Zw<f6A8lN6PDdbG_f!LQ7!}*NrWWe$s!xFyr)r!yl#SxxAw9NW0T)xdS z(-boAK<beaY#a*A1m~bqA>HD+VN=RnD@T9mwXDDH_2kd*=hVM{fR%?2GWpi6I5R>G zDV=g=L-9!3BW2jyNyt&}Aqqd1i}By6t9u^t)<T47W8*!$9B>AX7G_erWDOZZ7!No( z^R)}xxOF(Pnuv6W<QfhXLd~H0N?7{b^Q?aTc#N^#CZGFa#p1ByhRYI~nc;|4ov9Jd z6ag=4@E5^oCXTmm49ql@>_^{CYu84kf0}G#n^sFW@?3%26=-(@NwWzdHjJ#OkZJ?~ z;-<f-039pf%p}E`WDOE?pGNd1HBu5szE*Z;=K*64=t>BJl`2V%2&}3Q)mY?97=OFr z;vjQv{f3>np>aVKNSZ?b(PesHIL_n^m&4pTss|tDXJ0Qoc&tIMDnX54k-Hhy!fV?Y zbq!7Cgd67^ofb6T_ih>&WfTX#NSZoUK7Ry)=ihyLiMhk4_;3H=B*}?`<Oh5B=?0Up z-wfRpEz4*&w#FkY<^skFs7Xc}b;&A5pd=I~sNozde3u&dn{&X%+5v_65J0LRqG=q2 z3MGuHLst*j)|3QJ$JMQkn&%qxfk=okQys&n7Lbh@om;LZot<Scw-NjIf5Da0j)#sJ zX|iSzUB0uMG(s=e&!x;J1+DkKoAxCM<)LqoO|)5hVuf=5GW+v{W+$-v<WUy>>=;>I z;$~XdGs~3EtTOrET!~ByQpF-m%+5G~Rk(2-K>b?uY$=O64@n#=ig|Eht?bUu19sKM zkfg`^!(i=!xDjUdrH<!)MhS}1g)u@!)W1ti16KdtIm!VPivt=HDYp7F{rQ5{mNziC zYA2f?+Q&@Ovz#l=jo|EeYC#p=xW%)@=OjP!R$5my865it*<_3U3j?YzA7ZhW^6&}e zhHV+Ioh-1aDO$I_na++2=s$ai(|__=8V|p~#9J>!wHg~v#11;nXENre>U+jTXj>;? zD}ozVPHDG~!|GUeXV(+HGk(a@Oyigami<6c)2Ni9Le=Uz%w7~9%|e`19yK%8ydHb! zM%gdWQgPzyTB@X6exBx)7m+k!T?2|SV=gZez5t~PZ`hQuBPmJV_If5?y9GV^BtC6W z9;@izcYxJG`0@#5=Q_{MZb7+Y3)4USW3;!VRK2H38gb`+)mtH~tk&135HuE&BLORQ zTQdIL)Cj@QqN)cd#H29PSel=nKE76VXQhDA6v7pEuAT;W&{bLoMTb@aD?^PrwPqtn z@bf$8r^el#S__AsbDTV;_*79e(!WKIbf$&xHtBjDw;65C#|TiUaMgOx#c7GZ{xwYB zbS1^nhw)i}Uc%CUK1Ap#UpwZwWP{_XPC<Ij<!pNYJFxs|iqnr!7AHCN`7h#uY<)@? z4x=gSn%={jGgow!g=$KLDjJZAVZkgJf}jVky7SP2@i+58-|bX{*==|cEb;b)D-?34 zqKcLkmRFc6q0*WS)p3k8HME}BH`S;&H7o?Ia{TAdF3?{JII*}@NWiq_YJAG5?s#$1 z6^22$Y+BgWDv{S*%Je&~rabx>&KXuZ79MyW=7&5u@40Zsu`4Ta*T0T+?|Ca>>Dz?< zaa_Ag{<UTN{$<)1H%K!9@6U8y>U)WLkm$*(5DW`-uc9a+C{6?`Rb5_TBKt(J(ZM6< zW-O&{E{G3bvE0yM?HOv=ARpsqtKpleA*%Ha*x04ffQ3NnJqMn49C_v#Q!`Mm+4Lv^ zTICP|p{}?`TTwkwsIjf<xTYIOF51lcAAJ+~{C^=(;3Q%3fkWuwK94M>>}Wf7Gz-$3 zu4VQeR}oHrovK{MwcGT+xkUcWgB(e^==RNoPKvaeSfwutm9{4A5NtdICI&Vv>W&_0 zu8=E&J+xM4=R^Uc)|&a`!T!JqOO+pSkX0UcrNrUZh;(EO<JNL3qZ&s+TI_qI&xET; zJ#iS<xq3g6p;ZM%pbXSBc7&fnjhU9?y4gUweuD0g-%MD3mM~l-X*5{;$|3Bz6`ox7 zte@~)(ky7)ay{L*?W8#VZGtY5G@JCky+rlZgDk1z(~k|<KR-e9(hHE(*U>auc(k8- ztbWYWTJ7OVHO$8}MOae5JoF|>`rulbotu{A-UvbFr25w3QVz6xvRx4s5y!B?@)DON z(c;C88(ER4G{i~Gokt3ww;~+bf11e&Apu<G>&<!!PSAdimVwe_Z2hGf9iMXjdPmw0 zbl>;G;7?Pn9wKW`u=KT~*uG_+9b`<lgdNF{<Q;FPd&4CZM<2pz0i7004=+%B<v8<Y z!dH$2IxevC)M*AfWLO1SSI>}kGeS{+^Qhg*X#O-Bn3hGX8w6a1x*o1D_AhU`>`~aq z?R&qwhK&0zr?<@R#>-vgiFbe1S`8+B)Qdw(L;HCR(X>WBbt2OmONY9$42l<6p05}z z_h@I1Obp*i&yY+4VK~Hsl2>(W$sCyzuHWQnX9e9Kdk4wvkTCx|S$l&16Y~_`JjLO{ z(@KmBlN|r9H_^Fa3+16Nf#%RmSpL#U`0`Os4-)P_s<fMq_gw6_a^(oCPxc9qEwgyf zL5f~Yb?eBIT%FSt3$eZl{Q+84m>6Mb+UTiyr}tdFXJ2vOZj$eIFw4D+k#qn;%HClS zWVjecbQ`)dh>3M=gJeW#)!ToxChrWPzpNCYpxZRk6lA6y!<M+%@hVoMTRSiUi70QJ zOW2U)O#JXoG`2P<PCY@=a^y#c^uK(J<&Yq$XIoa%y!EYgZ`?+4^qZIqxJHAO2ajP7 zpXB+0=kvz`yJi#Ku};}EmD0ZDYSw-DeROZT8BPVNeW%6+Wvp?+nJO3vRUq^Rh(-aH z3*yRwiAlDX(b;w9dNx${##Tzt?YMuC^K4_Wa#o58U`0taD5B2=Lq~~g++B*66URFe zihfQ~88fMnHUwre2%}&V=XhL=Y@JWIeoolx3zBzUPiyBC#lqu=%MkG_KYEI)FxswU zlPk&Ido%4fY@|H&EfNR#jK%v8ppPx^)N0D(OUBzSa9llE;xF#de&3~Zb~>u?B<cn+ zRQ7Yi$}m#YA&$C?*itbF{UKI_*nX;<X3M2p&3WpA*XEzM*h7C+hI5VG_{;BlCU>d( zgLI&jJyb;E*3N}qL^^eX8ejB?I}Z^FNr*gB;*Cw2LbpNMP2y_;s)4kvh$QTo5Z=1M z*q90FJKjj^nrZCBQ+P?vRI9;oL&&;aCf|Pxt({$}!}~~52)WYx%zo^N6&_#l^m5~t zIoL22NN?Q2)VsEmv@6g7oE|W^=bI#LkLxCcq8fL=#w>1)=ECX#35JNL=$Xn;(Wd)- z`FToq<Kb2CfO_&*0fvp{?=K8k(UX-otszQ(fcA%xV_!q%%GwQ(qhyvj+6`ec0l%pO zO-~@iH&@`N6a3Y)Y@UXVn==}>zLwUml(6s&q;W`BaHuL%KeUC;yS6j=fvZU8mZ?rW zj_*KqqN4X7pJ(;pfG2thjVy4@x{CIu78CE;!Q@rbltqPQj%pDW|MC#!azX3D6dHo_ z$vC8{*4Uo_{T>Vkm}uPbb~5<YzAY8L@rSjL!mGAZ{(%Q#Q8x4Y<?=tfPBwQWT(6BJ zSOaH4<9txN8Tp^_gxtszqVRp<S?*<oXHT+y(#T%7DSCj`T9QaRXBV`{E}o*ZYaQwO zijXhhUGoehI?`whvbjdw<To7RTTSxkRw50tP;t1*m}^vQX$#qF=a{(Z0+JS38St%) z;WNvu-tz)(wV-ur3z-VIW&=Mp5n0Z<s6-7H0_EZgR#bTLXwSmr$<hyk{Lc2@DgJ}q zjhCxm-VT|Uze#VjAuVnG#!^pu<*Cw%ia7-74RK3-5F><GA?t`!sVn5Fs+gYXuw&B0 zWJWgEL<9Bs`I@>{A?c=&XdQ1`<0*)>#DoN3pinua*`T-YG|TrMVs+qI@F^FjIg@iK z?H`$=`^NQgkFW?qJiRX+Veq*_^plMCO_w2^h|K-WB&s3uKp}3-5CdHuVEqCYH=P*A zD>pxsl_F_=%s}pZ{N<mp^|BQpdr)q}ZM$o5$eH_Cr(d~zsS2YOWVy7A8x(QUBLp<m zgxrXlsG#dBCVfe=eFAAki1*iRTu`;Tf9vY`9sSPtxO(~}6RKka`d>PRByoyuP6Ewq z*3o_Mg)}yI33-V%J^j<GEdReRP=0%n=jV<6-SsdH1r_P0**GLzhPctbtP99NPPyCz zi^q!OiyGRwI!pY&y6_W&Bi#M+cE+6DKH<Hn?ZzcZ_|26*`;!yuwM20Sl~F9L#-tjF zyGYq;h~tb>5}w^p6^vwibaVF-l6hP`%NjQDC6)c!3R^}4F=fSQ)~d0oN%vjbnS9e` zq;A%Em$LHEX;wdTnEb?$Z_YcucpNrebOGK1+1xtJd#ngG`x!$|QdH<-yeGU-l}^*+ z!7mMXR+`nvY&VYEU)kXu$tyhJ!)zaJ(_U5&e#C#cS%lAo<4H*8GN%^ML5?l=NV*-U zizytjNmB^J150F6DUF#XR*f?Bn0b5A=EoOvplcx6n)gWLrtzEGbl<xjS3$C^gY$~! z1+JA)%oh|79zqYTa;)?`a!OEDE}v^Lmnv9Enx%wF$8A@u_XQQJtB@Cn6TEtgW2%ip zlft-T?ql@qHoWl46!407%FABDeY;7veLQ@2rQ~<py)wz?wZd5(-&^bvR^zN?2!>WQ zL%LFuFBT;08}Yn071Sx}^sEl8uzF&rvAsifaXSuWnZuf%;kW0>KfRyT!#%#XobcF! zaoKd>?VFWrXNL6d{~Gi6AEY?CfQAay7&-x})jqnKBj)gukk4Dy8C1zU@`+8q$36G$ zCOMl^Q{-G6NBQO%8j0h}S&M7REiN<~i6<z*fuEhkHye><XgKW1kfm>&X7c*=q}Ob~ zsi3Z^2c6^<U&#1QMrbQ_R6SUI=n&;|D;yi799U7-H<XJzM%woHZ5#1dZbu|z`7ggp z(ky80?BF{Ss2E|G!{RDlK@+3M39ZB8dqaI>Zlm7FKFYH_-ZJ6r4jVFy$Nu)8`vq?I zIS(aAY%**`T_R3YvH4|mb`r7_f-zhe;xfT^JiY`?8P9{Bn^TV@3jg?!rTY&tJY8_S z%IF8>H8X*kwjev!(cHC>Y<&Zy4-*rtex;4A=7d3kYXqzcu(%q>8NHyTsXvS>2Q0Rn z-X?n(+HTz0o-KM#4{UnwpK$B6xX*;9k#6(g&1nF<!%udg+hFkUJkm2dZ{A2U+eSL+ z8V>2~PlzQEm{%4)`waQeSS~y*Et%?oT-c?#Ydz_fE`$mf0^$;uzIvSgBd2Iw<jAHV z@fl@NjJJlWit1s*<=8;=N49>Fd%tfEY#QYQ+f8!uzu_;JCHt9X;ob0Pun^1)gCbC! zUWVlXRB@gX5wxfnk2#(LTZo08vGVjO!h9f8V{=k6bMXX?cV5c$%@@+x*uaV*-YE<M zOP@PT{_rW9>pZQt$0{g>c|BMRA($1%f;EQTE#p79^^@FdXBqd;SqOSbeNe@7<A#6q z%s*{(HV)h;2S-Xx=A4N$N2P?tRkQ@>5*&i&Wps5foQqR}1t2(@TPDf3_Q_@%v@V$@ zy`Y6Ajw-Kki6IsApO~lr$SJh1BwHP6*HLMR6WmDLDN~_(6zSyNpY;6PC3ls7a;{HK zlvnS-*7i@gr1%3e6+hzxt;!oheq8ZI!sMGaq2BPbZCop@tJ`z%{YKoaX$naaN7<_i zOA>r;^bRdDe0+g$c!=vd+-4(b)O`!9_rEwO3xYp^XDB+5>}R(9&hU?3jbkfc)q`92 z-{IdgtNgKR>U3|?SJ{*$<x-$H0h2e*kxV3L>S(N=AdGiH+F4zit*sr*<LjN1gHwI- zCr(qo(8nA!W)qSrp>pLI!JB~>N746HW2sEift#OK`N{3S7yi=^%)zbS;R$zeRmaJv znyJ06-|!)6I_VuQUH8f<(o3e$q9W-waMSHL1T`83dBqB_F%f8m!cvd^vptGumtbhH z&XILJK7)!fPDj_HkFFFg7KM(Q8xHwqVd+n8`DF3Lt9f*>d$klGd#LVv8_9*g!{d*t zy`^8uziBK7?-$iMM^zjh7?pxo%3dE<29XIptGlT;1Lh^VSTcBSft4?uV6blyO(5Hv zkgWrfdaTk$C*GK`>?%%+YYx?wL;J+@mAz%lCyOWUd)uog{J)js>+2(K6yWHG{EsyV z|Ek@T%NKh_>zZjxx3{G#BH~C}4g5?Km3q8Ibj**A#vI2Ny*5%wy*Y4D5e5TnrDFK( zkiiQJBu+?X9j*iFb-dBSiC}_-T!OA@GMgK#r94?V`{j)v=Rdym+WA3$fWzpqB~Se% zlQWb4mmT^`+HmdW^_!5UizkCwh08pCszZ{cgwgKA(Sc$$UF57L-$bxrgkeEB$Z?h7 z7AscwEs~$kX-#?DERoW-wMR}n)m&6oG-;c$oU`DK-##_4kL~<@R{l;sz~R642$O>! zY24Bb`MtKGr4!d|azQGIM_g(g4{D?&tqht8>SeV3FQObZtO%5O8HqoPM1}m&kls_v z5R}daNZUdw5WBaclxXM&mz3r*HS)fjcTWCrkfgtL!EX-_{GEM-$xFTA@!LqR-b?Yq zN3vhs=!^e-b=^eOzG|ZvN>L3p#}O4FiHrM>y~mlXp|<0O3YU6xIWT;3p5piry55pm zhxck4G!jxnk|YStQYnT?jy#T+PvzzGA8r5L`NMy29^&)Yp`;TZ_WxTq3BR^7)zbEr z>yZwQvH}&<k2c4}`0rHW?spF^NeCr6IMmnTxdo{TC22Tmx17Ta36RyBzgLHf8c&PZ zJt_XrrZ?X71=;gJH5UBc=-KA~AIJx}jokhC9oesVSNw)=r}&GeE59jq;>CsWUhKHT zJ{3@LR`$J?$5$jhy5!Q8fTZ!Dkg_s*g_wuah8#lV@kEj@TIL@*uyg05*Z%xBO4dAH z<>osH-z&j?|2#>rR>HHt?B6*twBMfcx^vjgsMfWuu`UaeCJ2sDm6R)mxcS^?OF7zC z^1^*x6Zz8$IR)iv>X=`Z?3kNq9l!9`mlj_7UH83><mQdvU(c2NzIc}8NC}VKv0-9U zvhed-RzK&3D>_ZVc^4&BDP?Y~mMlvu_j+;vcEcyCPlMRs_%KgU_Ke3>IsY(E{{J6$ z_1JE*Ez8XtZCG4a1l{4{F4U7r;vZg_n)>SY|1~DgQ7*ave$MP?s~>0ky$&rukjp^6 zn}e|Lz72mi2WFr5fS2<;Vd{r91MI`@+=YFwpMZLPonPnI`E`DsU+35Pb$*@g`u_mO W;kY0a4v?e(0000<MNUMnLSTY%pxkHx diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Zany Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Zany Face.png deleted file mode 100644 index 299d96e8588539ef0c93860701189f237057d2a81733f3d7ee05a72cd9f604d2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12577 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 DhgyP_ diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Zipper Mouth Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Zipper Mouth Face.png deleted file mode 100644 index dca5acc74ab27ca23f043a0bde463da599ec59081fcc16b4c1a0193a5c0a0b93..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11796 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 Co-o7! diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Anger Symbol.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Anger Symbol.png deleted file mode 100644 index f9e5610e4739e13fd23763c22c76de27ff77e490a00546b15bc16daa12bcb4f5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7894 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 ACjbBd diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Aquarius.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Aquarius.png deleted file mode 100644 index 7088686303040933027db96f4610fa5fe160c09e75c8db2c4c304eca151cfc88..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9217 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 X#Nxs%;4fEV00000NkvXXu0mjfuw7sF diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Aries.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Aries.png deleted file mode 100644 index e3caa6358d661796c8ac49c04b7620c00d3a68fe1fb6fe012c5a5875eb6f6e43..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8850 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 U{vQ?;Qvd(}07*qoM6N<$f@itGYybcN diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Baby Symbol.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Baby Symbol.png deleted file mode 100644 index d0aa68b277568b43152b6ecf738dc43cb8a8b3ea4af64e4fa4507e942329449d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6943 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Baggage Claim.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Baggage Claim.png deleted file mode 100644 index 278a4d4b94fbe9d5a3fd73aecd845c216b6ab8ac23741b2968909e1134e380a5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7658 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 Y57+{8pX<<8-2eap07*qoM6N<$g0{%>b^rhX diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Beating Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Beating Heart.png deleted file mode 100644 index bf7f88d0a61a847cd500710513367e55f5d35bb8a6d3ed68869d4d66d7f3d990..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8823 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Black Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Black Heart.png deleted file mode 100644 index 4c132a0453231a8703dbd63bdba857d8b9642ea5912a10f2a45aefe8d739cb5b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5626 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 F@qc+}Y9jyu diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Blue Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Blue Heart.png deleted file mode 100644 index 7203e169cbe494e6734a83e1d0b4d1367262c4a3fb1a227dc06a7f890c296dcf..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9012 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 a>G=O%-}Ut>I(hB@0000<MNUMnLSTY|*Exv* diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Broken Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Broken Heart.png deleted file mode 100644 index 5080d3147690ae96adaf0d884d164f591f9468f3b5e863ab65663953ffb2e475..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9318 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 UtGoEs?f?J)07*qoM6N<$f-IC?zW@LL diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Brown Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Brown Heart.png deleted file mode 100644 index 57825fd86e2909b28874054db8e2994b0ac7e26f5d37b98c18be0525d30f6650..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7815 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 Z{}1FAtpL4kLg)Yh002ovPDHLkV1nG4k0Ag6 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Cancer.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Cancer.png deleted file mode 100644 index 3340e9aa020cec609c24bb10436c0caaa505be2c297a0bff17c47f1e63e807f9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10254 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 UTm$fnZ~y=R07*qoM6N<$f-J19@Bjb+ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Capricorn.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Capricorn.png deleted file mode 100644 index 608efdaffad295b66f66f247f0cc45eb09ab1b2f6a3572d061f711c35eeaa187..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9129 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Check Box With Check.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Check Box With Check.png deleted file mode 100644 index 0a2b5d7133f6496c014983001859bb6fcd14f3728196aeea8c271ffd3a772cc8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6940 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 N{i%*}rJ{BC{{S#oVY&bS diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark Button.png deleted file mode 100644 index f8ea58456af3bc1c33419d534eb84c8fc64ed924b85ff6225f7f3d318891ac21..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7793 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 DXDDnC diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Check Mark.png deleted file mode 100644 index c56e460577475f40fc6e98db2851089564a11ece7f57ca6eecf8e25cd93934ea..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4481 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 G75hKEcBuaV diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Collision.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Collision.png deleted file mode 100644 index 1ce45e09316234b10cc37fb79652da1195fe5b33b34107839a20ebc7353ecd1f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8732 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 GLSTYSlj~Ce diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Cool Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Cool Button.png deleted file mode 100644 index c84a49db577600c6d9c490482592b372230a2f38ab0be6e782933229eab0be49..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8050 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%0A%o zG#%Gut0QFyc7|)S@Bg#k|I&}o<(*>Z^%|>>ed!zTND}oO9hKHL8)>SIHcDv{C@Au8 z(;%fniI-5qk`~qxE!I!HAls!#uk`C&Gh^)73Oi?$s3US*AGXcOJMX#c%Rj%@SY_L; zU4!P{dxz|&zwp&<rn~!FR4U(|)*AqeRmLb#sBc3w4=++}WxOR{fkLh7<QGzVSV$;n z)dmVPfUR|`7$z>2VVjNnxmo?x-M{|}c#+$JR~hc!tv|8jy`PUn{f<iFHJsML)-n;X zQbeK+wYh9<bUi7&Jo5r>7Y4+MI2I>RN=M2>5x7|&C93_w)c)W4#=d=Uzpz&sV&1#O z0N^wK;hXEzh(8OKkLk!<p_I-`!T9$KP{DVmi>i<}i9jn20wLuTDbs;i<lEZKee+N6 z`r^s?ees&U&UW{2{b9MYyL_t>+2x#ivxD76f^K0UXu9aKyNZ-RWQstq#E71-O73;r zPCj_gr-$mV`Ri=wN6dFD`a)-+PY!-7xtQJ0dxk#Um_I#s4Gx+g?b+k#LU^I`rB|9? zSOUOB@V?Yn`Hs~~+okQ&c4@n`UD_^fuZ!*f1M%P?yEmEA5C8xG07*qoM6N<$f}v=9 At^fc4 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Cross Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Cross Mark.png deleted file mode 100644 index e08881cb01a5d87ab5f41585d7c1ab6f381a91c8dd2aa67b050117c1bbb3586f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8029 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Currency Exchange.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Currency Exchange.png deleted file mode 100644 index 5ace4aa9967e8ce42961797bafa1e81f1fb8aaba8089f54b732ccf5a4946bc3b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8165 zcmZu$WmweR)BXWVcSs`(EJ%k)Nl15hv(m624bmxs(j5X4!b5jA(%mT_&9Zcdz{~&p zJJ&fg*L6PLGxxdAoQYIdmBYoN!~y^SS3zD{^Cd$6w=vLO{AQY$AOO&oDM(9be_lTF z_x3ZM^FO)q8gKTJ<;|FiN}1yHj*sRDr6Whl&Bas6*sWK{EJ(J)jO%E?Z-L}`L()L| z`nbVNBGV8PP5I2Wq@)I2qUE-CDvFfs=K$4-aD$aWCI`$+c6zk^=EntsmSO3wOIJTp znr!F9p8f&@-2V9FVP)J&2!(wTndARk?VqGm2iLbznb-8I?1EV;iGSr76zR5$_5sdN zw-0>lv-Z0hDEpcVRd?t?65!M597#rq|G<q<F<%(~#>9{b^L#tCez%ch(@-!&Fg8}@ zcA1Lmd~fO=4<3a3jtRxtuQ3KN{73N@<HvB><bw9XD>~BeK+490*!@>ILgn;VK!bx= zrXAVXzwq$z&qhW@))_8DLEh0fZ!h|2&svHzP-rZd<`;e)>gdfb&*{xBT8)(Ye}Ilu zJyCy1EH5iFjvv{%*3r`o>?|xS{G1VafLtC5Kw<XwYkDsxM5}ADhO~$i;bF&&MuLe! z1ESya?zuqT@a+JH08#eKAR*_o6FK1T!GVk((NK|8u6owipcl_!Y$~To3s#Vr8i8&9 zp|+l$lRNbui}lklgWY|i7aS1Ncj%6e;h!AC@uYB2KoUS0kO;&B!C+%bm;t_96@}O| zfr?7y9UUsbbbg|X#Wy!M_mtQ7T}6=k)2Marhl<it--&k^=dU2%;dd>Ch367PKN@t6 zVCB5DWeINnzYA63(7C=IIgG8GXFkmu==jnEc>kH?=of(5!@f0f6EcmEnsSQYR7*^U zD?bV+ciygk3D`qf8|)7Cwn<f$s%tQ9+ERifwBjPxPenf%7#fCuZX3MMCL8k6YJ?EU zY;A3&@7bi2iwRtm(n5Ot85xI+32fyMe;?9Ed-+GRax&a}W#vOBaeSp(ek$6Zcz&o7 zKxt|NGbLfMNDuZM%++I%H3L+(6Xts{oXR_{gLi05BZ-hR3(e!L3IF9lEFdETY-Gqe zh=~O>l$1P`k3Q{M*67bKEMQr@Q_VWq+1SuPnzRrVb$Vp@**EGsUYlli0VZ5eRs7{{ zXU9S-y1Z*y+uZ8o>)ZLxvFGv^8W4Q(T=7tFA2D#RM(?6ws7oYgph11M8R7C9>!X|^ zN_h3%ViH)q7sJn@s1W(}>$IdI*#T~mA4sT|KSKU}Mo9ULzyJxP$(J-V5}z%M3=g|| zdw(%U!^g$XeCiOhay-qcFmhJ%_4R$u;B)po3_^w4+q2Sw_B(2{74>wr6(_Kj<px}K z9+p~LTh#&rDv;8!iKSIk2ucA~L)K0@>`_sj<jBDiHc~|2_mOyJEU9J)wH%g0ucRWW zrXd|;K^y@@9!nw~S&t-jpsA&1v44wh+`IWclI1yYeyyO5)^F*l$&PrtJLQ63jx=c4 z@@?y8q&~B7vdLacMGT3wWdWF8@}r)biVFX2!13dd<(V5-`#Vo$U}1Jv1mkaqc8PLo z5o;2UGIVjOnvf9G&HIu_H#f%+PRbw(IJ<#jAn~`AbyIJH==G)&)252J_oqXKN}8;% zY4IJLCjQ$$rYTG;lI`sh5AT;Pl7~4;(S7{_Id7*9j*^F9$ymump4G6wT^i-$Y+0*+ z4oF@4GYb;hq8(==0cLOYcj5Z%0Xws^vnBF%>cSNyxp8dfXOdZCR!S)A4^S7Eb8(Su zeKlz~g(FY61Skk9CnqOEus^TNbaBYIgJPZb9P_X(?A9aJZtm^jyfjSoCKV-uJq)bR z;OrbIpn8q}d!ovQf+l=Q4f#ug1_PElDF>_gR*j;O1_jx&0Du$%DscULlKp9BX{iVz zvwn40^d{%iGH9vhsckGC2%0O^Bg4VR6C-2AFln}(GG_=&k_7rGS5|x#qhg{$<iW{` zOXugVx%FsMcJuq!*PeVr>2}9QM=OF0Otz{$lTrM%EGkWHmUb-O9jKVN^w?F~Cc^KV z9~a|n{F<woUz=SWn;CfBUCW(ati0}?tDnkvrP+K!K{fPgwWHR=-7DGv-ULM}tH-z` zDQ{|v+8pBcT{;XMRgOmIWM-`as=Q9t6mn<LU7HV~UTTeCq7;fa$!{44hMa6lF5cck zsi~>h7NZWkIq}-`dzvGtgh0nt{P}+HQ%6IoZnEAxe%)mUD2Pyk_2mS!^{9`Z?#o5% z1V6f&Xkt!KSJ{sVxsFAG<$#05&L-5$V=5<OLdZAzX>x39>^Iv#9~Xg>#pPhhf%eU> z`1fB;pC0xQNeBeOY1;5ZmNM!0<z-6S^2i9Vv?*SB{hoQ7Sirxgm)eZIyuMy@gWHO~ z$6s5t<=g=nH=N1CFKVQ4FbMo6-oU!5s}^y9lP7vf#I(8!x`ez`kOb^F=z`3v-n)j| zr*&^>$p0Z$_~F{~oBxAwUq|Sw`OPuj)VcuEZ_GjJhg6iV7VN-v%AkY8LqA!JvyF{- z2~qCJ2}vw&-YA|u%crH|-f^Y1!#pR-AXJ_RP_W&+=d2+l(FLzLp<k}Ovci}7$#=aI z)^=28_6aTJU3ZE<VeZK~AJ6A4|8cXJOW%_d*n~YB*c(k*f}cbO{1@~y-ta1;CIKyI zW_9&ZpuT>t@#-e0<wdBd7Caa)O4pAQ_#`^-mlE_(y3|*O=Ux@}C-YH%M#7}mCl_Q5 zBNmlvdlo0N;<cV8>Ojcv!P9!jH*Kv35_1kIg%+Z7yqU_;&~#n2v=SNVv-9_UELn=; zEUG0XC(|XfrdIa*(uMsGS4vviz_P~1o1495kVzDp^LyN>wvWtiN2_%<mbRB!{kr-X zDIz8y4CK&~4DwfuDJ#e0Q?~1ii(^ZXf5x^FN%N&lq@3ERMB{A9!a^$;uEQ-YpF5pK z+oYv!URPlf+3<g?WUTz~{Z0oz_^`dWh9osrFOFyLL^f^gmrV#>#V|~LmM~CAB;%p) z`kJoQ&%5}t1}Opqf>Vc<_a#QZx+Ns_-pbQ;dZ0J$O|4cl(FDF?P4i)LqSo3&ds+A5 zc3AtzP(OITZ*em9P4PKf8*P2rS3CO<hb543`+9)NXyuFIE!K22mX&E2X}(f~p@a;s zH0fFTJv~4;MTx`G!wlSb53g>fh&Lo%5GCRF(6i07*^Dn_+a3~=@UKDIL1AHoAA}y} ztM*{ys(0_iQj#sUgrcHi7<i9=+aBVL^i0%=37(BD{6s2BH#0MPw!x{*Evr*58fHu4 z+v7|c!~3Adn=S9<=~+@;UHwKaTjZ|$JM-bF5og4--K50365{*Q1>=Q3ni_<1Qc}MZ zQo_LU@$<ox!67_2Fpfpnr|!t}pM(E~ixL?3{45?G-sY9Iszu?bird}QdmLMJuD6{* zx!Eq<#rjCJbhOTFn7FBihc#Q;+KlZT_l;eiMyQVs#Qye165BgCxNA9`6lZeD0OLfz zGLO9i-jIQEuwFs!YS=@xO9&#RLDhLxm}JbJ1wr)m{L;ZpSapmv<oiJq5Qzi{NeR}V z=xRsD(CgbXF)QB7F&i<evh_5k_pvS202Fax|C%)9*u?jU?`cy8clZK11CuS92Wm|~ zSXN&(9})qL%1vLWpC^z^J6dV{zP6TKbbpT)=wE>p=Y~cfIvsS|nbRP=em`DQ>GR&p z(s_1|cs22hNmjm$s7YvEk+1e;)^NmAunUh^1|tm!0&;+qC_^?wBuMm8xS{o^RC(Wq z>FIL+b)Utvb$I@kG6{VCx!TN$%ctdZYv-G}ynN3^Ftu8(k29yk_cn1zoijDxm{YEU zHjc;I#{fAkj6hntASndV;!KUc;heU0mIgmKNMgumpwUWP3KW#X-AF)u6C9~pdmKF2 zKR(Re@xfyABR00?D5>w(#9&VeOZo;*i1?yzY#7vXpA=2@<;(SW8?SXZg1OdXMdRQ& zL$JzLWyZ)b!!RI2D%<<DfsxUJ3B93p6w}0waRULML@zIn5yV*gN|Koc1mOk6#|1Ic zBhgE)g(7JxS{Dkd{SZ7$RvHKK6>e0RXg?DRYcaUF!mB$D)p*I^D$&QszuR|0wYJ!h zVV~+KJ9lNPeKZ`2qS+8gAB&IxV?9^72aKaXQ-qL&+?@}%1q&`>@CZKGyx@{U%JA@T z7^211!9m%&)&Sm8aVesPCIL>?)P!+F^GuU7B-c!n=SRg2ljnyKa`MJ{dU??{S@uk( z5AOA=ZP<T2n~j&svcv%qLNTC7#8?sy=$GtWjb+|AsvASRL@QW}yI1J`!0HUbZuhd^ z1K)4gLM}GSkDoMlCZUh9=jI}$e_oTBz07qZ4YLUC^nC_ih@q)Wljq?g;b^LLXD&c3 zlD0ri1ReRW)I>W<x*8jHuE>_$JE)E)`X)R8k#!@C|9m<QUC$W!d)P$WJ))HMa_1i@ zL|k!<T`!@Z?JvhpIpM}eR~RTWh9fET0z0rH?|1TM;-W#E)5xR8WwohMXmxel>&hk? zckvBt9cw+GCGNhx(xJZ1h=4?hOVsla=TitJoOM1ObMd!5K6o`mqx|%M*U|)9FgPgj zhS0>K&?=HK#wf=m3r}02MGVoK5z}4!Nl5@Scn^=j<n(9L=|QqPf8(0+NZv2;IjwR} zS{lv9&+~{BDuQB))+0e8lt*IEfoqE%pT(`-KWhK>#ZKUEYlx|gkkS1v-29H4pTxfq z>z<ER{G|ApF!Ej;3Qf<64$k+kwoMj8%gJnp=evkbR1^1rP|I7kt^7oR8~5ms@bkCZ zu1H~ETSxVjZ;`Nh&c?5%2W_sF%r~^K4>6*ECstmtAF?T=jC*cC?W#-@kCgFSzW$Vc z-x<9gxkWcY5W%U(JRVLIE2>|k)uTk931vyW_c4*V)AH^g3Y&iozI}~SJZDdQPIefI zny4|UGX(UsZxrRgrzpN9!czHLTJPdVBw+qN1MnuIcw6#F{isq+9^DEeL#isPIMAj- zjZuU9=3?#?SRwb-hug9Rp_!+e$?WWLC!e*wz62EW^DoZI?5+3T?tj*>7Q1#Z(U1q7 z_c;!@0HpI(_4E1|>SFULU>5O|^2rWVDsg7XI`uAGqgt4e03Iz({9A(O(kr@$#>!lo zoz6SIE_acqaommfYPZkq^nQ<d%S7y*Wy*3E31vEx57H7{RlHZa88Q3hRX7;PNeRx9 zK~(eXpq1b!>g&VzjA~hF;=$^)4^vY2*kt-~&lHrCX=u4DxHlvgp?e$o)q=@|C0H7! zhGEk5<_tVv88P81Na0A~L10;kd2Z6X;7TFh>_mU5#MuSm@NO*w5T!5+_5JOI-AQ^* z+&_0i=mlb7)jvbCl$--G_AB*UT0O7-iH+vY)>5|-lmA2M^xp$@kc$92;ORU!cg4)f z0iqH|7rQ<@=+YjS`-yU!h{N?YAa#<GGwJ!#?emIPMyAn~Q2P3xw!bLjON@<}<_+n$ za}z1rR)tKux699{G^hTsN+)qg73z8YsA!v`i}J5BKhKiDd#$R{uZ;}#TTV`nk0}DY zPo~tkpZx>t6D&_9;J!LlU?yI+PC@@MqO{V5FIIFc-1L9!J0Azs#^-K{$BcaMWe4Y@ zxp@_8sXovc9@;!!BPvXyGKL{#)#N#Y2OKLgtiq<J9b-9Jw+l<ka>SE0PgWKZGoz^| zkJDV_3hRVZpOdh#0I``e*|ff1yYTZ-zVYrq7wt?a<ha=xA!*dl;ikOTbU>57%8wh0 z>X!!97AZVMNKbVUI<O2Q%Pq+xpVwDbwZ58nlzY|RLt8Ud{02LmuJf7k_JiomP}hJM zZ6Sksr{Wwtrip*@#KwPr)9)z(dLcGg96A#|pwg)dU=kQ{-&$pbSGwcMzr~25t!uV8 z;`ClJI_&hjq^;&GpIk2ETEa~4NBNsVN-j9*@NtvJN>Ot<sh~h1CE;TiP+*jqTia*z zZkO6W4jHU#a?GmhIW$dGQB~8l$k)$IRPdKsMpIFqUROHquJ2m}gpfr-9g_Pq4doSc z{vx9cRtSyEos9dgA%U=F6$6QIfxhhyMZSHd3EO6|E3CE||A*&r>UrE6jtXk9tA*ri z(dn<p#GwGnvPH46EO^P^141Q~14Q|7zm~%S>GbyO58nP<!vkfR{8Uc@<O}WGdXYu6 zVjDoEMd0s=1S7h^vIEeV*8sNM=q2yYMV5PEX*@`O5Bx`Raik&$3sXC(Z_*|`f@J`h z3=HD512Qr%42E3LX?Suvy*F>AzciFdfNP{Tm}_+R$!w-)E1emzxmPEf?$i+}xuRLZ zcxHDgg;s@5%x~I<sD0nW5*EByMJq~U4`%;e0>4iNS6SJ1cBhxIVw-us%A6uRkD*1< zwk0bY&$1RH#=v1h!T1WjG}QQ!RI`D_Ud-C9{oq20IHDKW{a5?UGzFjqg^rP<HNpQ3 z$p;o{9VgQmYJInLG_BmJ^xx>twOC!JMjT4&c%#OsvDd4b#p0m(wA`)pmpv5YowUdP zqah=C!~^4mY4#8{FiV_Jd2bS%?D^=OrwpuHxIJ~YjOeAQ_r(8l`PdNXR0Ij!>{F{~ zzVRJfrz9k6ee+pV;O*=zDDqwJVRH5{p=hVbtxu@C;eKE<Vg<vMt3kBWD1|9GvbSft z*p7R<Kfv^<Ki@lUL1gy_DI5;7P8t27b{>q>FqvqI0hOF#!sMpQBDGzHoW-Af8SOn~ zU^QU<ukN+dFfqB1D^B`&qBFzPLq_IMp4}^xVT%%1!{62^4t7W%c|jR;)*bu;Y7?wG zfdSV<Tt>XBP-$s)hFo;n_pRLCP0{vj*o4}8QjCgA)>pEBs#m*xRd>;G#iM!>aR`(~ z>wa&O@rrBiJkNXvKYQ?k4Ckp_HoMAu6e<X=lvE0s>6J`AE;k&el59WCtXxjf<`pZ9 z_r-h`L*gF1QO|BSG`r?|cH1+&wnDITaIfFzKL@4y7arY-(o=XSw{f%T9KB_ejFiQ3 z?7$rxBSlP~AAUp<_V*0Q@@%+F%>Bg1e*Brer=!`7k&UAGeMz}|-pwRk#{S`^bJ^)r zdiIdg)qlvt_)2;LJelvU&m#sgx`XRUFzD*)b%~e6G31P3^#r;`Z0`u|=)zJo?dhV% zccNY*J>~J?p$MN5HUOs9!H@FrdVcN>{c5M-kAfGQ94G&(8cyL0(E2{n5<Uli)n$Ti zjcku)8$HecVl>RGKk&W8qhc|HP#w5yu;(dKPlz<SRfch^SqVIDq%<cy-2qVR_h)#& zehh@g{hdijSqJf0v|w{Si?Xofq!9zPsJz`b{<cTIJyz479;Y%gGJc7Qiv9*LI1soQ z{6oeg_j{*oIS+wyjmN$xD=7kLwi?C<_pfB})z~*<9KAM+ce$Xe={6+%9~$Gx2!%PG zb9sL@@TcdQDM9+9y(*22`?NJ#NOeel+MIkEzPhw8D)^^{9CSXt?h1cB|FJya`&QUd z0;7_@h5pV8J4YIl^<)_Wo)#KeB!yp&D-;u&9L-i`@xbp^)2PP+7yC0e$LD!{UB?&* zl6iYAer$Qem9y*>WKXGQ;gA>gr^fuc75zlz&)MRF?CVww>IIRCafd=wC}Z0ADDO5r z2sEF`bKhg4t#2B0KjO}QToQ3QI_@Y3Q4k^Y+q!;ysph@6RPW8ipdk@qNs2--rPKo& zF~ph`RGPW!^5K%GZ>c%s;^n1f=`|=KrDZ;TR1W)%N}sMgExdMy7ljj>wzg)<DDT%+ zT8eP{FqJ+zZ9ZA209wBd6)o7$iTM<$02!R=!_@n)<(IDX@G$Qqu~%?}MhdYFvT{E> zYvFKwU)J{DZsHF2ZtUu`CMly!bHUsG)z<5Tb+5N%v2UJ9pu@s2<7FEe0tJ-GbZg^X zH%=JGc`Y>P<Uw6=V;NStW76uGVUv9qPtS4;hYQ{9*A*_iZ3~eDecy)peIDPqnzUX= zl+>8d54qBfur7jb^)Kf;)izo-0H6%4kIcSP>H-Z%KN*$f60VYvRwAymt!CkfRF@d% zJ!&;2njZ4EIviSel+zmdQPjPM3E++2_~rW{nK6)HZQLU&_p*e&()O|gRb}$0e0^F} z#m>JGv%HW<CA0Td;FD7#vf0t1i#W+5OQK@9{2T`_374v}H5&gYw~9VWNN`Xv6vZ4x zuL?+$Yz(mDv2(K#)UlAs)1FW5Z}MMJwYx_jkkYxrpZIz?K?RJKc{A+>B=b94;7H~Y zRJ0zyU#qrgU2VBSeHATz4By}P*>39(ro`v&($?0zSLYT<gZsOr{--39p2!1FnKQEe z7qE|#V}{I4!SaO>Q-vrTLQcePj70E2@r)GD{%!x)TtgkZ>~U`zeAz2)(4*ts)vaUu z1>NHX27u~d_a51Y(Z(@1sfTaDIP|3*oJrxB7zwex{g?hB9~HqrywUl5L`+BbRO9B9 z`Sb8aV<8ydVdYU|aw5^_fVnwFH_p(V2{&kPPJ-z&xYM*J#mQrY%s?O|?z<BG^(l7i zFB+<Y%5s(mk*=_mLhs_Pu|&+8O8XG&`*Un;Z125s8qblGJ-2xIOJbTMQQpxH&+_>m z`ABJh5<=uctAo48IehzS5~^OwXu#)njfmV~-C3C>NWyrNWk+O*MrjwK>jgS(!_^+& z9b{ahE>D4**Y*q>;k5Akb9A|?Px*dx28Bx4!1Ns<Z9v}=8w(>7(_6p4T>%>{<Kq60 zn_PeSXyW9eJgBU8BV%zQoo}Ci2u^Zxi*)@O0xd0Dm0@WOpNKvIYBrDLFaP>wG*lT_ z&-BvA0#+ut!ZLI^W<=Ek*(;of+s<AFQs*P$hTBN}nR}yxFctum1}}5TNrzdCvV+0) zFhsOw?s7vzgOi$4N7G+>6ND^EfsDe=L1zuIl<3#SV}kF)SPslYsU<DQ;XCC72PS2; zP;(w)WROs`M&F3Bwr*}q9Z0L_zWKzKOh{vI#y@sVEM2XMu(KEdo8xk)9jOT#(@Sb- z5Jp7UjH<t*Onxz0MIR>>mARa;_qsS_g{TB5f&MdL5n*C(2ZKCV_o~i1=_nP&q2C7b z!KRoEfK*&PFhp+9JX-7+l*wE;TmXx0YtnM|ygaQL8R(30H~eY!*yd?AiVaArch!~+ zj<zKuTJ&2zIck<zsD(X~>gIJ>Bf%JP%1qJ<3Xy2GQjU&CUpfB<wb#~zvq+Un0^qQ; zQEEHikB$Ga$LPP}lK$_>RTi4AuuJSJ8B~s+%xr0561iN%%q0BYdw-C}6^jTSIyUy? zzE0Q)2dYxu8TB82Y_!|G$QJee{BTVcKV~hrvJ(4!^mD&pOvrqOX0c*Avm&L%=+@QM zl~cR3%3x9A%9DBXo4k!^lz|qzlG?AO313c2?FU)d84*@U5>ObhF3DjegBmGVVnOF- zi7<_Xn(sXX)ZS*w7xnd#tgJ(E34DAslcIQ>O~@8Zyl77TG|xD!wj|TXFRtdQcPC5y zb%Gzm6GEj>3|TO{G_7<PW%4!jV9%K&DRbHr=a_rNsAH7yy4$PFQUOdS%Y}`jR%wr# zE)o*fFkQ3g5Jom68ga&Nga*D0O-;yG#q>C@VFUUD3WNIFPbpW3G3EX%70jS|e&9Tz z@`atS%8eIxE|nWK{wEKq$*rxuxHvjGGSM8)T+Dc*dUair_(qMgt0oCjQd$~C<yy*A zyK97ti<@irRhf*tM~wrqkm>yHUze>fezZqjeuGG)F)M0w8ItS+_ZfN9M@D)L^u90C z)GIY|nsNT~|1RX7{W)jGDg^)$;&4g}x?jD^^)T<7iq+jdvc^IAg1^}@F)<Tk+Jo<f zh22(H-#ER|416mnNG~j`rcPjMq)w2clbmdb>5;YPZI(VCav>lyBa>O2^8Dy@TKhrl z{NE>o*O-|R+NW*-0oy|W6T-qy1&iSUf9kUwe%`0<AEZWW;>5j3wcSP)EeSVAE3gI! ze+e1-DO|3VjchU2niox)iOK&oZYldlSXfw^KXWcpI+B%(3%?HYQ)zkm(=6&kXnLLs zyX&*`o&pZFkhGHhHvlFc$334XSV6!Ao$2uC1aCh%Zkj!x4!C7~3XlRYkg1v~ej7D9 z)*Cf;{KV?nz@?!v$q|<G3APz`Ki=P8goOF{@~1kU?C)z!Nrkr5)EM(s7#FAC@#^U4 zAh_g-U*2x-_=f%z;(x$Cy@_dW(t}_@%?ZgY*%v8i=TlCHOupLY6|Iv%7;Yv?c-xx! zx?HF&aAwZ7jw&?IvnwjHC)yQ1$)TvPuCA^my9bVw*EZMIN>NxGW$?iq)+8=yjX(1` ztR+b+emluI5VBJ{5|&mf(Hiu5J)EG?JGi{Hf`{d5J2RU|yOx#uM0!z(9+W-++$z4$ z+4reWI$r`0j*pLP6>HzMhW+eZ?F{VvH{aN?gC^nJ>mk+Y-`%<epWc}zrd^gv;P-G4 zX6}h8()#srR{Kqp&BE(pTu*OR8QU$tUzzL7n)UVdN@fg$MKc6*bICWlIyxQdF9<wj zpfY8V0)y>Gh>^2nxwc=i9niJfoV&ee3wrfN(eBGNxlWN)8TPaFxLz4|-N_$zh<9#q z(ZHv)`@bJfx$0Dv=S2S*2R)w+T6Uj^nkJrTD0~+Pk#NmUciO|~`rfLi#gKb-6sE)2 zx=8i7n)p?XB<3mxv+73ubeq;6U8NL)7qGZ#vu#nf1~x~I$SRyLd9^?2IGKm5cOx2Z z4cP8}iJkUY74Mq(hu+*?{m!?grhbWC{^|c8hCkv=1tN)y<iUg?<HaxIdq6=(Rk}hF G8uEW8xY+3c diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Customs.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Customs.png deleted file mode 100644 index 051baa52d0d47ebc2f554e0ffc8c2d838d4a7fa59ecc5ee26cc13ea92278a1ab..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8270 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 M07*qoM6N<$f_t7&y#N3J diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Dizzy.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Dizzy.png deleted file mode 100644 index 287ead977acb17aa78809ca22419de489684299c8f53ac9f1a2beb6be2bfce88..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8764 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Double Exclamation Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Double Exclamation Mark.png deleted file mode 100644 index 2e01f5204f5b02b598c600b7e7c2bb9db24af2ca844c824376b9ef63a6453557..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4933 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 DkhqOh diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Mark.png deleted file mode 100644 index fe33dbc7441a640ef37bef879504c8913f7f9ffa059620046a83f62208fd6a12..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2831 zcmV+q3-I)bP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000WsNkl<Zc-rlq zO^9UIb;p0_+*eiI)AOO3(PSiR?2tudWo)n#Ckts|$Aoxc2LuWlaEx&l!GS<Xf;S0T zw1#{@2qL?DEFugcn8;ZrV1lx+LvSQ)A_%dRSjZAeS5No!N6k!kRlU!9P8P3f)EZ`b zx?8fj9p1kwx~r-w-aG$$?>YZ-&b<X4I&|pJp+kob9XfRA(4j+z4nH<XiWl`FgdfG{ zUV+$A-XYx?;2;A2H3q*KC_h`auc;pW=G?)TpeaK5yI+s-AD2O|f^`JkW!bp`@r5k= zg|pGWd*S>=vaFA(;qpEhRUu9*-n_9<o%Z<QUxkf1(J9<_mfDo8;Y2~SpZVmc;<<AV ztCbU1ks}j8KQMgfhrIdnOEE4iEKn3Y*ABdnfW3HaW{^QRJItF+n-tUD18=_J)qlP$ zS=K`kTxcKe$jp4=?L0Qw^L+N(fe^$dUaRBlmx^K&;5qQCiQIQG1k8={;KJhQddaP_ zoSs+uWK~Y))>?DEZn)nb;Pbhmd;WGnMcVfpsG142u=S*qv*%+{fRdOq`uy*{b4y^W zob1A&?*xUAL8hRJs3IB=4R{Dx2rzrT_w^VQ3kn*1s-Vu=k21tP_5=XF3@TT}8dxu< zIrMri?qG(S<34-Le$?AXJD~4)-5fQ;M7(mPPgtETb<z=V4}9!h<E)nX7_!XKfQcV* zRtc3m6OYs?Lx5jQEa*szfD1DM`Y<f>U7AestcT&Zo$O%(Ab^5Mfl&t=0(`q8;6S11 zN>SuArbxDU+vy$!6OUQ}OJ=LHS>_!9_rQE~4q#YRB}J@6dp*S3<>c^dkWjd5h11vG z+TL)tBjD~nzySi;wP|d~y-<1qHIPHgVF%Q6oD!ej$g-^zXM0iv%tz<WnWc>!ud1RH zSy*t)5d?9;#P9<R;x-dBwT9p_`b2(yG}jv)0sDwCfQPe(wt*W}S;AmIn>%w{+L>^W z<w#mN>;;C4Z$8N|IT4l|0duoHwe>$^hs~mxK)>e(xU{jpyhroy|5>%*6^2QgA}qxy z$Q@KfJi>Z49YcT7TchiqwcQUCf|h2Un<E~s?G1A~0`^~q=GQcwmQ!M{=c2|@QutFM z4NhO;3W*{)0_I9Jz|it3PKGO>cIXf^7boHvI_wBIJXWSvP9=s&hL|2&2j@|=0%EVX z3b2`&15T2FxseQ3cgu>x5eWfzJG4h1d(_I|L|Lw<D8iB?;F+0`PQkUJsVF=u+B;M> zLI4x@u|yoE2AkaybjbB%uy}5>@sL+_6#ALF*B}Q?NC-stDmJ*tXzkLa8!3vgBng-s zIDX>M?S^Jl)D!3}fGao$)xcB&H4vPQuMUTKN`?4iF$1o=@=7kSQB@Pjg0~5|w)X4y zb-zL(c!LvQ9pD>@1{|7lXIy}_vZ|psa5<zCo>=4Npy+C<A}m<~F6^z06;mt=&a5Ls z`~a2|$h}S3nf8(uVX5l?3|5MwpjN}Q?Q%Hi1(z-~;uys$q*n<`nt-{n7Gb5XD;gc3 z8V>G21V&zK<BkeLNUsu>Gy!vCRj@j3Y6?)HZN{<#L_m%(!L$Y{?Ojh*ge6PB+*oyw z^+{~Jw5W)35E}|kW9qdz0+YqM-b_^kBul{DSZ8ZCn^;eZSV8EyyYK6Oowi`pc=Q@0 z!02HZbx!z*V(jwe%Oip9GS(2n!DN`gSR#gDBAcIqB2^KVaunna^6}SSuMDnNRRJn4 zet#i`2ouaBLU372S%f7WhVC)iT3%P6xQiX2A|~W!?l^)Z*^YQD2$+j8g<;)P#4NPi zW$ss$cgS&6AgU+Xj(BW@*j$WNv8K`9%=iIu-PZ?9Fx-V07^W=3Ai*6ncZxBEm9mLM zp9h(Hc46Grc{{rvH3EY=&343NF$3mCTZC(^7&Ap=-=-`9DxA_y+ctLAQx;)K6EHVg z18ZZit*}ZFq0Nf=y<1V*Ed)dflid>!Zjv~XC15VbrYBEsH|9H)3F!SsvXE1IjiK(N zV!Aa-Sp_Fez&y@*bUeN(?%Q>2K*UXC-_E$)#T_T$8@~f335&4Qqab&X&p=b5>(f{R zEdhSdO~EksS&%9+Z%5Q_33{Jm%+PCPY(VkgHL_1mbZm9oMv5n02|E@9yt`$|hlLq- zpT20v8B0U}bsusJpd5<>EqrAfD;jffxt)yg_ar8S24{jHZS-_32*^^txVac>Lbj5- zQ{d7MchO-pzdUuPG!z0=V3in?Y)3pc1kA-)Uu^w`xqrLf@dprdpT#zN8`edr+?Zl+ zxOwyqc(>E8BjA0Av9f8dja4L%WGl34*xqAT0TdOdhp{UfD?hOg6X*yyI<A5(gZ>u0 z^(Pj7Z&&$p<I=ya$fRlAm@7yGl)hx8#^x`dWpaHPR1!KHs6z)n&~xN`)~9u6uU3kC z!T!HMmLa>FfnS8M44Ee`ypApI9O>U$Ue3OG@}UdgJbCiMw?6&pg}wi~d`$FBvd325 ziM<Ey{cS&dzNzA`8T`D!MQy8QHv_!dhky8j`_~ci`5AN_0q=k0tAM?*u<+r2QT$a8 zK6mja9^t}=F0r(98gm#IWAe>SHm<$HDAwOm_{x{y_2WQ-9EXwr^?v`+rm9{#zj*2= zFF*0i@k6K26SlUb+1`>o&nZLW)6+|yYxL`Hzm=_yHbya9_?0g=#mk;}C@Lwh`Oks; z?D_LcH@COH`_QQeAA91Lo~}=AZ}h5HUqL2Q6hmj3pIw2s7Z=#QaHc88<7{htbbWF0 z?9V-wZ?8QEay3yBlI{z-3bsAE`RuunJ@&~@eXd>_zSFD!?O*6s6S6^u4*K{)27>`- z`inf?2<QKIHJdcCKHVQ&+{#CPCg30I`hpHW`maFzi;sNdta<#(Pkr=pJ6r9B=0E<O ze!q`s4{=A_XGhs6=Ivn~mlq%4+<2O;Hl^JXzw)Q>(^nuacUzPWUx?|iu0HvI=-G>p ze3at*|D^*Q7ky85M_guShZ+&Xt>JPQh?rYIGt=y|Dc@__Ta;qFymaD}dsCQ=wxQRD zJGvrV92ZAiQCGx-lPKp@2riVOAEztGaMZKoPW1<UnT~geO~d{Bg4*|j2>n^%GQwg< zz!4E(*J9(-;uh`=h~xX67bFfCkw7u45%k*5h>ie`a9)JM4~jgOo$0RJ2(95&?w#VF z?+@GYh8>*D0}C<ycSit+J}<%m@>6{0W>wwXxi!)ib&uW_V*IYg7u*G0c_U7#49&%? zCceb&KHrXj1Ap<tix7T$m+cAiH)}Vy<n35DZ!}YawA=8Ewg=H>e+y0^;|*$lU{!;l zc>Jelsa}5uLaIV6B%J>TQ03J3cC7k>x}Cf3)--PVpbqF05LHwZMX5FNeJlB1J&rp< zHb!=O^q&4_;?389e@(PBnI)Vf@nw*&vNQT4&O9~N@k?TU;nmnQLvG0>?deI+z@3R0 zt5s>&EqbGpHKKV1PyazI-@299SC$;xZ0H};e{4bO7Y6V|8*m!IAtD$~Z+0sa<+W%F zzw!IzuXNc^KJa>g{-Np@2d-Zf<nhMiX~a=vqWEj#^7pIQ*Zv&xXCQo|``W4xmV~{} z|C+OBo@eoq=i!m(;oNbph#fb`toEySOW-ZHKCP<>|F|-y%b?4kT_L_hhYlS&bm-8b hLx&C>I&?TL_&=)drq5RBmN5VT002ovPDHLkV1oAoZ8iV^ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Question Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Exclamation Question Mark.png deleted file mode 100644 index 33f807bd3d204570df4da802b0b99ba30de68392f80820d442aa783ea9c0cae5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6676 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Free Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Free Button.png deleted file mode 100644 index b25f7cd8daa1baac765cff3c1e570f2980457fe76be5cd92d5a155c41358e1f2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7185 zcmV+s9PZ<ZP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000}<Nkl<Zc-rlK zYp`8Mb>_EL_ul86`_h$UTaqoyHnwFf7lF7i;G}9COaj40k&v0|N+p%pl}W0`nTZo7 zcq))`u9Pq)lZ0|0LF7Ry7#D%EGf)&00tq-#!W1S94q$x!lCdmHwrsub`#g5{TJxiO zKhC+YbFC};O4hDArK7%k_u0E2YklimU-t&i9p{d7$GPL&aqc*GydnpkmReP5eD`je zn7D?{hDO@8>k-|vd$)o}*X>P?jg6Tb#>Xw7boP!{r5nb_?bz6uSvNCaZ0tUB|9xXp z9UZrQXzxbfa$6K;lY?a^&X5B;xSp#mu%K*xlp71NV!T=sg+DP+w=aDB{l9v$I?Kmy zzMt>E|7QP+binxdI0L|*J$nQIe(BCXxt<8`a^AjGrE?|3Z)TH{5Cg;j6oABk2>{1` z*Kau~0A+}CO2o%u=}DXV2U4;B=g;>1>Vu25!^_eEV`KN3yytJd^DlnNKyP>IZ?uVp zAx4rI)N2XS#Hs-yF;>I$(8>c>e|o)@3kU=!o}2<M6Kb^`+MOm83g79#Fh7uiKl;hv zyX_0TZE{*W;D+&WyKm1P_jAAbhnEZtkNmNa`Du8MMnbyz{EdEOc!&}Lher!`i2x9t zVc0|o3WYELRV5I-sLagF>9M0nP1AvhETI1Lt)nl#_iy&z`Apt6r>z6>AGqbWKKzqO zeekb|c&kzGFWj~bqoYFx8k&9cNCP9o0~i_{#7MmkYZ=58{=ANXL|3y2;Jn9dtA&}_ zCQeRG<K*-lzy`zyCnjh7;pdLP!5H@05%}h<pSbINUs-J@&}tk1);s=Sj0Z<PtC{1` z(II!qj_nreL8`doqVsX(Wjk=*=1r)l4CeR)dZx{QYU3yrz<fKy3&&>g)PX~I^3V$) zW+)M!dG?SyJ~eHvNj$Y?fA$j}y5nzG(+Sis#JvCh`~59<{L$M?WAH2D+I-=*Eqc+m zZQN<j<Gk}W;@WGj!uInwfCy+ig@{5`ieDiR3O}HzlmnVOzjaj(kSY`cA_6lbwE=xT zcl0D4dU!vM9zTh6ppIvsKO)Z^IZBC1C7Yjp$31`ezOUtNwo==ge$dXxKK3y^+}yMs zwe+h{9olixR^7I33umn+uDar4T=&DfFi@+Z+3uj7IXF>xQHTh<2t-4Ncom4m??pM* zX}Q3Q!l}Ru;Jrty<Iu@63^p3rzGEw#cR2dOF>Knji40qvo}M*q%}u-B@{Z4Z<}dze z8UXLxw{KaSYgg)kiHU27h~$<JeB|RvlAbp@+;CgAY_(Zy7O%bPa_qePQnZ`%XevO= zU?M0yRO85sZkQ;HEiHhD0N{074n_D|4kf6Bsq-BNV#d`wcfxRjNB8f?wk?~v)oQuP z>E?MgZS5tZcaM$T$ERe1#_qe%+<)`U{ulqpN8ed%)W2k{xT|*VwBBX7^y00!`n5aZ zT5T{%0CZHXvWlrA%%gm|(-~7v$l*N~&qV<kK>;Lb4Uawk1P&ZL0!nIl?6Jqas4-sK z@BFJh|Lx0p8@{9&u<MaWR2B3~zisX$CB1OVR)PvfhKI3Z$9Bxl&Vdym(r}x3o1=<5 zrGRx|lu`Esp9$rP*b&{af`ZV_Ja+837$;87V`gq17jD~zgNF~P&;0Kw^eej`*{v^W z2INlU);)iGo%-6p4b@V)@-;iyi^r~AS7T&&5Z-lSLsL<acA<y7oWuXf$0(l9pmGWm zqJYm@X|`a(jIo%Rna3j&kAe*2iKh=rvzc+4wcqrYzyBNGTFxQcr5V6o1OS}Xeuirn zqoX6@z4C_94XD=}Xtp|CBc(d{%ih&6s0u?XDDV*JnNbd(Kgkl$1*q$wJ}`ih(G8fK zn!=`yo8^c*$zHPe0QgqkmaFptsstka`49ZbgM;<-&6i%h-5X}}n%7*0;SD43;v>KZ z7~BQvG+LnW2>I03IJyV~K4Z#*sR_-2%5#APssdF8lwgd()YKH7e)<RSp8SDB&zsi# z?1T4y==SULw(Nff#0zd2zk5_${)#lQAOc%!fqH_uP6w(ADvXRkL&%OC{BT4*8mFwP zK%wB`f%E=~<p79GG1Au0`7wfzEGZR;4)IxCDDwhSOTpGc)p2SCP53Ks8NYk<9-_&m zI$_Zc7~j2{_5fPLz}6O;o023Aw^OgdgOFveu!~e7vKE>k3bs?Vx3oN0wJ>D_tkd%= z3<_1zMn2;SAP>WYq~3tbW~gQpKxreuTLDbwZQ54{<e98?=10jIA|@3DiD6_;;4@!L zPY@N6<Kl<(Fpj<FRvAfMf9F#~LCOoCixgq%hdRU<5ZPcCj8V3R0U52f>8fBTlUSj0 z$`Kfy4&a=Cr~=E>2lN(iy2J@o!9vo5A1dD|a_>0`SvTkBgNp#TMTQwgCmr$z<O4Jn z@ueAtu`f9i_5f21Ktu%MfKKM%oe%yhPT!J0$vYrMk6oiCK5#E97Xz9Qfa*FspP&@c zkd~&W99)&IQx9T-_W-<tVj@aq`C!*BA0!wK_s1$C<V4YN0&zZY<rL$?7z+gMtu&aq z&k4_6MwCQ3hORaUgW!8$Yn8@`NJOPVZ=AmR1JdD0%1NaI@)$FEjvR^-Kx*K<Lc+O` z174nfUx5p10jR-C7!{c)$a^^TfGSAi%@++(<$tOjkl$!Hx8z|e57t{=9SD(!Db6Q( zS?iBD6cPhvqY-*Yz)TW5kOj!Z!$aZKSLltG*Z~ee5_?!QFoIc@!HWYl$H^6lpcO1c zmG6pf$48YBTa2t~c|JP1i_k0T>558Ecm0H%vC~+M<S~I31{XvMC4m!PU@8KwNH;G( z1Du5>VT6eaAOaQ-^%5Og?#OiU5KnaxgwcD>66M8%FZK6VqW*$_fG(1>Q4YQ`|Br&; zPQ?US8w{S1!U3?9j~%WMSXdl}_LF(k<;tm`0TxW-ezTgVyZ*|lVIl=c68vzO5u_fc zln)>fL=_rGzKDm2mgZ-*cf6`h>6uf%L=z_>p{-Oa6y+&&K<?>P0;&)R{(w(wa$S3n z`TDOvAS(&&BxSHC!gOjgfGEa~0<ZZrlcmffUabP#K;}sWdG$B1Y@gj*jG5rPxJcD4 z;|2PWTJ~gdmbS57a;gZgNwxR`t;&#4dDm3lJ5}Uk3-U{a>!5BErj<MGia)fkd$Rq^ zRz=BuQ^fjIq+H^UGOx;>lEwfBLEf>Hq?h6>q$qFn;z5!>xKz-mDf@J#rjHRWQ~?P% zz8VlKmj13WZXl7O!}87~r2;W(pPG}tW`Kx5yg<AUFiTt!cM=G!ifry!yeWc2$W4my zJ$9Jne31&s8rZ>6h&r@qPJks)!@WsDK;gZj0|uvcGzJGzPZ?PzmBtZdb0@%=j}fmf z&GY1u02`zu!vH66v(upFe7AUMso_fmVMaPQ3>Z`7ii58V+B6k~`2NiF${oNZ#io^@ z3_X<Ff4=EDTre^SABmJo(yl-Qc^#Gr2aiqRQ~$Cb!$T=<d&hskKx(^Yb5VgPvMj^o z%p9ILco^UQ!BL!;OEEGs0+pcI={S#{d)u|RY|{vw0!)j<SJlvjfazu%_w0KdlXETH zbnRt$(`DO`se*H#xulN{0o=X+@+h7^F^@E1cxYix6$q#?CUs8P1QmS0&{7x)3SiUd z28<3j`nJN8Z68oL0b4e1Kw_6yaBRI`GhTc74*d9!wDG0?`|tSr6Gt(y;k;rtZW<ZE z=!W6Ge?LuAkQ%@PLjwaC9UWek`$~+3*O)=egY4)lMK$DK`lyHdb65;jiXR8nfOAzt zEbK^;Iak0`?PKn-;YeUfajl9%mWn<#2&Ede8vfIbZ^4bPyBIUGO$4^k!~0N&k8pX# zk;e>h$ZJcyCa**Kxc`6y!n23A@bM#Y&i4mPR-hsPm`FuP9s>xv9xoDAM5XwOh%n#k z;He|WVW{k5iA<yg;m}mG%*4iPRf8XR_QW(EeDpAq#DG+A!KM*hcllOW%BMGQ(_3DL zClCEAj?7Cmd3hdJK*VTf9#1`gVgXH}kwlsAxG-2m3tBo{AFg=(x#Q?$S>gQA19s-x z8JMZKKG@{|)k8bcTEWn~hw~(Kg?U6TwHxlk5O8F29-sK~cVUc;k4*4U?!l_C3>a%6 zzNB38T2D^T;j7<$1_Sj3A|6@hapc%6-gEuVpx0Eu8iUtgaS;xF`&rn8%Q|u!KRb_4 z{lj<B0ms|~mGCP@scFp?GdWMHfWtHW@2@|GLnr2tCMG^}gskz@B(*TiP^tW|=D<q& znuUEv!X@{ua3RnTErx<b6e2ypW(>hL5+pH2r$neJ7osyFMMor3zugxbW;9ZZdTOD< zs3j@B`Q-C>>+5%5bf8|Ch;8R@fSCR8#0#c85y8|f5+!s;8~Ohg-HN8}XHL@u^;&`? z0aS7}HK07wK+lMm%IuEysV`99+Qb3T{z6Q|-P+ACYImSS6`T)I2n(Q5;HT0Z!^D}@ zyJjHRV-2uZ0b)YdX=7@77NZ08Vy@JZ6qdM$-!Dg`7axhkN<2d$mLY_C1too4<S_uK z2vh_jTn1K(;<u;>N~;X1hG!HlWiD&e0UG5QJr!#?KYHn{+&4f&0^h_;l|~Xf58ri3 zxEF%7Aecf$9#Tn}ia@>gXuP@bl0*c{)YZQdbK5FD-ia&-w?gMA*bodE2uBHyFu)2C z2T_THWT}wI12HWVv!~txRPBUZ_mkWGIM;+0+B;D}%Xg4S4FrL*14q;ZB3Lp|p)kE= zAsx&VQ-Z~?%`iMPP}Qd4*vu@N9;hz@VV!zRoj4BhhynsF7UGdA28M@W>NP+#tf#6x zt*GL}$&)yKbP7RUk~0t?@=oeQs14L0g((iRoFq@nMpFe@D-%@d0HLx2RCB3Vw`?ya zsfV)}Sd$edh!s#4WMm<BFmUA&M|U+|CYYI;K_^Q=3e3;V<Hl<)!sg+DNb`o@dF;Ro zFk}F6B~=pZ+BDd}f4%9Am1R*{if^I#%J-kc^OMakJDoE)#K157*c;Gkx4>iy>7rM_ zLh-GqkK)@0rch5!=!BdD;y_F1P<(CZXsza4QRYq;i&~5PDzIbACj9O%zo*hI;W|T% zhYuXVJr8^z#@Z@?D(czTNO1k7!$|5WAP(EkzYst6#@E5CKn1XdvH#GEc=*6^)YBx$ zWP0wqo~C%+&dZj3u5bL{Bn};&4gRKL*D0=Ax%#pTm%R4bnGA0K2~b2xMQV~uWnjO@ z$~j>|&pO(Q&5Y{;gcsrnW=4|MDkDn^(?Y3*hl7b`Cb!YKI^mM-=i^t#-o6Mas31dl z_UI(;ec*c#V_;*3PJ4YYE#(5E5<+~4OF$J9q$RPo^rgsrl;lVAo0}kp0_3p*m$8bJ z<U$^JK{m9qlw`pVcO#>+MH1o|tpF?0hIxcc6e8y@|Jx&Y;Cs)Z<rS%=ke^<p4lf?l zb8To3r>T)E>Uakx16Ao3*GH-P%zP7><jTJ|^d!VDt;|D-OWkYC4wj}l=e<rf4zS%g zxrq2A5={h<5NHwRajMzEcb+~7(t5#ns1jfm&%Q7T%Sm`xsdQ?*_{FJtJa+IX5-WJa z<rkrmrXdYVgcpuYV!GAB$Uq(9^TsQoWZoCYr<%C?a}UBt{GJPkbA6B(g=Gupd+-kd zA|4<A`v>vj@fJ*Cf&v-@AwdF<3<kB-LZbs0DjPhH8C3hD=KFHOM3L(d7jUkI><=XJ zLlHStBhiy5=kS?-d>CvS!Op@5PoTku+q4E(aL>LNK}3wh$0qT~fBbilariIqs^PlJ zFN8!2<L%d8g@+FQE1YDYs65Eifz`pz05aEx^MO8QWiTl`WpU93f!RT+Q|N%IiJF#U z%nDHRfdQcC%rgR*G8hm<8BhUBOxbc2cE!wLKOMlU@E7P!x#XI8s1_>3(w;L0Y6BQ( zBp7TY7_O%ns@E~psH2u7h1N#mGSF(hmI;Hk6a#4k4?p!>jE)2EvUSUOxb%XJXm@;| z4M@7<5UTh9LtqA&1F|6s=7%bu5?1$)OogRDs}vs)OhHaAT($x5s@I|O>XLZWg=)fx z)}G8z#fgi+i-V6!3dxtRYT$zq*~3y{T=GlKdl)u&;?N09&bL4m!ha^<tyf<Hb*^x< zT!_TFJ!bIn3`3zKKor*lXtBH~FuaQ=?ThqK>@6k^za@YO#W;YV%205ZR6ks{CXsNs z38g9vstYwuN<GQjpo=N?T~Mm%H>na~YfowA=8R%`b{0<@I)*px++J`}uf2Rb&im%$ zm~07BGBM83?l{B?=9^78u`mmaL1@rMEm<n<g_d)e>vT}}zB_jvab}X*g262vc<>Y9 zx&5j80Ox?zqNm}dPlOeC5|s)QiAoShMUVkm1VQCa&2fT<_8-BUc5VlAKq8Ga!5gpK zhA)2m0P1xUWgy)HBC(9iM-n)1!BmO`^WVsXa6Ai($-9`;2#0qJ88kW;i8Y1uE|R1Q z9P21r8eDoo@D-gQYZC`77~z^bTk2U2tc#7Yf^b{Nj8~u<v|C!5pCJmBka>Fg@Qaw9 zX<}r!QJj1Iu1oQ??;Jo!98_HynncCK=*Tes`!BqE$;X<RZ{dG_b{|A5s)$_qM}%Mg z=^K}AmJk2!KV$!qY1GrCq-aX0*tZE<!3Vf_3in8vs`&vaGEq|bct~JEA!Vkha(<q9 z64ekC<q4md6(a(a98%*jHQ&Ma4nALQc_4!GM@R5O7j49RyA5UzN@XeQ_2Q681}`4o z2X@tq!ufE$%cLvT$nRT4!u@!Gc!d*1R{1yy+ZafZ8v#^31P-1eLexB2uK==B=>QuE z94gERNe-*E7~v3)!CC@lLSh-rgn={x3CHub#Nj!I7e5R}qmg!9YtyvIJE#{3fbTx_ zESLz^G7N_;1%CX^SECk9WUX$&OfV+a!4?T8Fl=B9g%1;~AsA*1G*TdD_iCxB{62%( zfDMC9U{jOI$8tD_C`8l2Bx{dENV^j~ry|bH@hs&UnqH+$9Mxa=`UHj=HHdgvQcO16 z03$M>C4l9MiLyk<GLO$Z@ExSaK$XBucyW3Tsfm%d0yPUfeRvw5{_1y-8VY&XXp8G< zf~?iSm%jNZHViZ%B0=5~gCml15lOxXo|!S<acE~5YN^FH9y^S~FHQw|n;2Y?nvhmy z@8ztSoNk8QQ^Xetku_R>#oA@W@*%5ndP!Up#lj(>O$s5#Hy?clqyi;{D8n$2rWRRz z7#5B6Y|dp0ln5Os*!TTspyCU7m>7#RN#I3_XK$(CpC5iYD$8B5Mz@~Uz+A)sd*TR0 z!a6R=@oD6-N*#X%J8<Z{gc<t}9m8YKyb!is0N}aYHH)?4--sY_<!3#yFcBJ8X^uQw zNNXWYbPix!u6hXxl!#m^p*9iFs3nzEQ!(8lIn^BPdO^!|i~a^u8<cGoy^-`xVFF>G zW}{;>CG3l%t(Mv_a<yEw2I^iam<La}P9XO|sWqr2rX=zz9Y9@(rm`|xgCBr)qdtyp z)30{6PZU%dIEq;}6p8LA>F6Tqq$fX6YKRtF*&^yI%c*FA3L*a@U0VC@xIzV$d(fhT z7K69&y~!h8eEopNH3VHty?Qnw=|y&{+#t_lHAh^Qzr3zq7bX;z4f4u8+PaoCt!nj! zE?(zS-&cxbbg6s8GWAFyzg*4MwRUwH_}tEgh!1PO<?$M?0a#|q%W8jXsq<sGLCm18 zvRb>^hYH!SwO$<XaxON|H9Egn@I_r}k<tn!YsZEHVTJrsnlD=AmMmvqIjwrtP5%ot zD#Ef{S*E#p)Kc;k7nr~5$~E8OtS1Ol@pOu-B&*zx_N4Htj-h9(vR7Gou|`aFReoS~ zPB`-7K39PCM0`c4^C~P4sy`}M$E-y{Mjb`Tl#-%4wX{ovSydHRbs1-Sd9m0#=eDG> zd!#4@`Tp{7aoHJQY}^d7*h(!5a~Io+n5rUai8pz+mut^PAz{CWYKt@TOW(Lvl%1)N zOGcu$QvvQ0)yDmIv=SvMpY`P^)&NLc|Hg$A&O46PyH%T@UArC$^(Jo8dnc4Hfe<Za z=vwYR)%|V&^iU6HZ+SPl5?9tpkzgWqUZB}zSDW?)aq~_4e*NxI8cO#kNwQf$N^Hms z)GJ}QRQgcDwqBGkT7I>aha|nU+JK6xf}}lvT+`!M+_PuTlAHGNGD0A_=Ogc(6qWrT z22sd!sdI5Tszd-BzEi&0k-SRFLD30&5UG%1c*c{<HU6?FXngnXsJeIm#D?=E57hg( zSi34$?_Q$wYAlBrsPjPpAo-3$?w<hQhN3N3(E$?^6G00g>E}9~Hk=a<e!xeqCM{Ib zRQ5%pS6O+!q6R_`r|h!~#`EU^;DXqet9pOH#KeS-kB{?5K6uA-KlIgaygjMaFBTDD zVpb@KO#ukb;unYYP1w1t166@|@y1&AS?j@j?z;Vh;{fm7yH{RPAU1K$H3T9xu)oJj zBtC<RgNlc^tP&TLpF$~D;Y7}=Pp$(k1PKb?am911I4}``_;*316W1*NHbLt5^(DXf z{*QjKHaPSy*J?VOrdEkThGEz)T8+NUB=gHZ=mXpg8(0Y#3g2lvQ>$4wKljDI{?P63 z?&sB3yz+Y#cPUiKr}f*icKaCE*er7b1;h!w^If@H1>l$3*#KwH{y?NsG(M5QxsH%A zww<+(dCG2sDlLWmSM?5=ef#$5*u;eS?B4%1_4*(EiHF$QpI3lIM42h@9U^hF>+15& z(iEMMyE{=yH$%1C0ecVeE(To+=Q;ugfl0h;{nWj8{pR<^CML{sw!iNV$Q|+x<Ky-V zAAJ8)Z+P<!6P(umBN2>v@0f^#NVR*nsH#@@%=`qBk-Mn)uy#3@(2xqe%N#Qdn55I5 z{n=07^}fHmVSL<vY42Wt+Fs;#>j&<BM`8y*iPUaww_0M1Rb$w6apc5ZJIzub$v#?F zxTZ(2s~UAjk^S-Bd+#Z&*SYQ85uI<|dhZ{+_w>EUZQ-j7|MZeZgYQOa-=kniCxfxZ zF%fx4e1%)sd}le826ZJg*5__;Vel&qK@_UK<7}FScM(YDKHqH4zxQuGe8=g3mEmG9 z^Zb=NKl)A&^FAnUOlx&`ap*+7Bq^19%yRbvcob9;m1^k9HV0jMYrF#AIc@|Rwl)iU znz0G5G0fWYu%usO=Rf?HcisN?FYC)ZmwKJ;t>b@wExYVzItDkg=#?tiWQ<`V>e)eS zsSPr8h28RA-tSad@vqJcgHEVPpM+^W0MO??x#!m&dc|I6yW$I-e{1i?4D;t_$-pq+ z>MCp?-mD~qUoVFZZ)5NYi+9$xB%7ZZLU#1yzyJP|6-hhYyaq3HUbAC-e4NkvSDI^h zrFlN;*TpN%m%7pM-MeYIS9hE#M;=V=*}YqrqLj}a=Z<s7x#Qe%?l^axfye&`h7x^W TK^0bS00000NkvXXu0mjfbEUI| diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Gemini.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Gemini.png deleted file mode 100644 index 395dbedec27f99f31e091fe8e96956be02675bb1084e75a13e80f9069d893040..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7923 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Green Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Green Heart.png deleted file mode 100644 index 3f54d02a4997b495f8371e958aa203cb9bc0f76854d23ff7cafa9aafb44073a3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9153 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 LNkvXXu0mjfTT)c* diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Growing Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Growing Heart.png deleted file mode 100644 index 6f0b1b6d2c404a21855b23c8253026f8f6e8215b135f4ecefece82ca75ff9e6d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11795 zcmV+uF6_~XP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001r8Nkl<Zc-rl~ zX^<t?bsqSgdv9jGrQWNhyQ-_I_kF_-E&vD;1W7SWiX)Pyh#7e#QW7IHmLe4MXXcj_ zLt`Q)CLA&07>6QkiNi%U<r$l_G_);qD4IhOTtN^GG=N6$dv|qrZEt`1a=GW6`H}Bc z7f8u$kd1}oz7-kuDl1>U%=4Z5oi*<R?u<L*&bTw~j637bxHImIJLAsyFKy6kbz)t2 zZUXdg`)vKs{~vGQwXGdPYk&T706_Y8+|;M>Y4dKtEaSL7fiLr`dGDLx+Mocv7S~3% zQ>#W7_$7QijH>lX%IzdsuIFmXl(RFAjC!L0u>?qzeYfV&SQv2QcknNg*XU+nA^1<@ zF}H7Q|HMQlQ;E=c1S*UAKtV=f)H`NNHucu^JP(?A;v1j9U-VxqAn0}q{;$V>f6~Y4 z4mD<mRmzSHsTGY7F<B)dE2KghD+!c5G6QCawFx9>m=Kpg7JugY?YhzR=lJT>AJ)@u zx?O~4$x=lDW7w#(DxoD+GD=F6f}t51Z`m+2tfee4Xe3E+`3d~lH2``$L7>}lgZ~o0 zS*=w{2Pl=znN?dwluuWyJR5D&sx48~IY8CGIamP9qA7Ciq#Z1$9kkM}Y4|j-0Gu(a znRTZ=*8kI`Ul0fapx?qDjI}DdA89t9gWQ-keln{0>FOlvwu*`i$XOx_qkti1mOe5{ znPs`(qNRS*bdfk^n25}38pS6+*8hv8H+%++1oMBFetRp#-kpP@2~^U(<I^%%n>3LL z4Pb{yGj6{A$-#i+dOhvRx#lvK({?D<kahM-6kj;@L3}NJH6W}%_OGH(>{cxuU`ROO z!gOzaPUfPGCJF<B((vAez*?Mp?GkTZs~4}!X)NcOSFxP7L$X2=glAvuZ#w=Yo|F;L zuQvb$K)(|HcZUT2faM_DJ+;a2ugzFzO0*`}%mZG@vxkFGKfE_bM!lEeafV#Q0#Tq~ zuh-+IoNiu6%XdmbLEi`Y^H21?uzV{ZjE?yN9xH8fJMK%=&4)Hj_g80l$K<SWCN$uj zkTN`b07e~*dMh{Oz(TNqbAiG-zz)F>)upV#FDzX&J)|XT++w<`@#80se>wX_K%k#j z^Z#A&`}eT$o~jK8_fK!fbb0)y+GHN^3_tF~?;IEG-Xz$%!MJKDa1O5I$aiD%R~w*{ zEwX1<$Tj)~))1nSdh+^m>oT8fFNI<al{G*5q2%+I{&OIV{`V#P-gwp0+Y)4B)6vA> zf$80*8k7yvoP5SW6@vL1`@82nc5XCoVvJx^kwcNB#xM32r>_&8?^wIkF@=JVf(tNG z8OU=tF3NS^DhDAoF7&QE{omtj>CX!S{XD||O6_;|Yl^!jsM>$)?Ec~gnE`kp&XDe? zi@tA<xCgh3+gepvC~~r35Y#Ii03m}Q6sQ$k>%c#Ah4>pMZFHq&5mgD1lPj(3{9@yx z^;Sa5_Sk=w{n?qn4TLq}*FQBCBzQ=mZg+JqyLaO@3pECDqUn@T`_NwRAKRg&9d$v; z5mcO4tIngiCV&vA2ZMYkC4Y3;&^OMIeR;_^5P9p0!^r4!D`)v)vQjn%D|yoX!N>7s zq1O_C(M|q!<&(3iHxGvh(|64sMBUU3zyJe2QuQC+$EEikQj|cxp8^9W_!N#Dd1ioA zARuQQyrkr81Vk3T7Ag8({ddoS|N69b9dDv~NgIO(|KR#r%Hd0%@ZuBc=gzJNVePu` z4<>y$_J}f@gVS5`{S%uVQje4YJiLYNukKSfHwh$}LF(bt4DcSXR-J)*0>P4TYy}QL zXchGeya)XASK<Ehm~mJ729X;%xB5);3@>z=6^iKmN8`^P{dpXQS2F|XtN6ok5T%bB z<>2je2mD+xZao9e3#Bt<wx4={v17uz*aLAY1$TmcDhA%eIRLN%V-;!@HZvd)a;OIz zwm>vq5x<-Z{_RnNlZ)0>D(DRQ{LST)lv|FV>5(UrFJ4|3sp_}z@v&|=_Rbs>JTSF0 z+c7ckd_N)H5VHO7{odU(V|?7R=w{@|h<6qa4zPv+59DIJX9ECmfHRT8sQ?}@fx&bI ze&B^af7ICLuUQwB6kvGD<f$7cwe9<*iVL3pK>V5OuNDM*tJ?o0p#M#9|6R;7vu|=s zx~o3xe6Db*ho7sl`G;>)HxXI05(7yNq)NV*S>p*N47>><4-+y5-um_+$lI*|{lv<^ zstKGorBd!-7_Ha{)VT+CYo6qa3rnV4shgRwEQ{@?sI!~@>+<21L)nY*KLThTzZV2i z^a!(5?wQ<{?W%8aNEotf+=oxRMP(**rqPE{>rJVa0i-5Q$+zMlZ*~IiX4VP8RKv{F z%HC)w$TE}0v4bcX5PUZUNGW{lW|7rg&E-`CXJD+Q30Km~aSNGdQ@_vSmv`clyqX!{ zZk2kzia)IPsK0%pQcCyNW-L6zF_2D&YJdAabs-t7!~iUOmJy7q8=D%S*$A({aC+0q zrG=Te(c8#_cuZ0svBH2zVTeoRQomdqTb-QSxHz+S*HSb;6(jCB`}l6lRm=SCGj^&x zW$&Hc#YdLUsgbb<zl4u}oABlAD`kJL&vbl8eRi;Ce6vFwBRROqyAK^Ez{4djLC*(Q zUpP0@y0kDmSm|sWq-jla35>#kR5f&Y5Cw6yR%?#WZd{z+w|%LyW44bZ3DWk!MWwR9 zdm#44J#k3VWFYp%Me8boPL;>)-s)U_x^t<v8Xnk*?5Q)aW){$`0`Ql??>(U8w>>g- zAekGRa9|+iT=jSE=hBV|i@sOy0pv_>teT}ujqvIZUf8pGabaISjVG;=EtyEiT!kGu zHO3H=st8N$^T4NxNjVc=iTWEiZn&`X{(~oLd$zVbX@DaOgzufOF0A0?)l2?df4L&g zormbEO7_-iH#T^5^C9Dt#PH4yKKjso3Kw|4xDs7@?)dH-m#*y1vvkUcxX6|?3@W}# zff|KjqbkgZCAEnk7|&j{?0OS3(-(KY?Vc00{X1K}--#eZF0ks$Ag~pD?nmU7y+H`{ zh2^QM$4p9+O{O#7d>l{u+iC;8gpZelu>SbCE7Rk%cLU0V6i6Q0nU_Aa%c7GOes#)l zrFypT%#m%Ejvjw&9;X||gRy+3GUcbjF?A+14gmpNoP$Up0wJiV*G`h)deX7WaWm9F zl8u|^jvsvVtuMLh>8$^~V^Q_!H9}<csfAP8OcQG@Ah7cI+<vV~VEZ!_sebTokFd;_ zpL%A`#S3Te&y#GT9+ds&@|2$lYZ?S01!M`V0D;6P3{=Gc2}ApNg4MWTRtGDQ1T>i5 zx$VUR?|<}|512St8wEx&Rw93)#rQvuIya0JUT$CZXB!J;4T5Jsn*8%Cw>k^#EpR`6 zGkRnzGi}*7zA2k3*DZVwKT(nJBZmpufP5-I&TuICm;S>y9z6f@sYh!Z2D>IUr+dcc zP_q-(u`w7haoi_PJxT6WypYdxBS~gV23w`b%tRB|Sgoa;=Cr!BvhBv1OIs*Unj7D8 zUo&mAtXoO!)Y!OQ>o+y#4EJu_E^}esr8O(%_urqStybx|uYU8LD;KXkSV3g>k8eqK zS7)iNB^#t-CC*7QCh<y|GbG8#ry1FdDO6*sLDft}W7tp`&l2y=;^N}Y)iYP7re`-V zM5VxcRU^!b4P%CvTW~jGLf}xcPA?^kM&Rwg@y}m<@)nhwZYARV*X2(>ROVpQd*|-S zszJ#jPT?Qhlj9wmEjnpIJ5fD*;VWNzq<QJa-E*~>-rljzWC+%09-8Ekl2x85tJzW$ z-Bedsjf8^GK-qJg7`@)Na(M;zYTpH7$dn+>eBjSEu7@2;uyg0mAMASc;p6Gok5r;g zYC4j0Crz;>teMmT(c|~@mz&o%ojUT;<9?7$>>QtoH&-XEOV#EgipfZ@W7^A>aYa28 z8-z~TgVIcObzpd*ZLrWG*G&mQ0F(lPF|rgl{n^%)YEUmPJ@A2deLdP(%Y2?&j8~Me zwblOXm#ni6a7Mp#;}}-cwv@85Z+;MelHL{y`W8OzR-=XYPTMi}uG#(Sl`KdZzj3d) zdSK9FLZy}-`w#!=fg2aDzIFfjd~a)YlM_*rL8crEaQD2J2ezo)P*sGaP$r0|VK_hp zmIP#scqm_LDnED4+A~Wg5Npy9`RT@0T8_Kr&0DwraR1@Ej;7C?u0|XXtWl&n;hyc? ztLf_2GcUjVD`ih^|AuYpcvuQ}(1*;Av%F=S1iLrD)k=kDEDV61Az~p>n1G;Gq&qPF z_zL0KD~47FWGiJjYtYDB`LWf@m0-Ml{oxP2|8G!^2$tci7W}1`5MA#Zgb_}yUgZ;= zg~*inhac{LZt+%V$o(wi+Zu0;$v~o7RPr#^xH#2x&!k4R68Yx9xLP^A^qn8?SiG?C z;MV#~e`|Hd<#|q&#Ncg{u#X>5%vTiyud>=DlX@d6FbWki3V{VcFru)|*?NWPefz-s zW;p-;d5Koy;O>d-`EkA4zjo=$!^naCJ9oa2o?IBS3UZsK;%m(to6np+@%}0WI5@L4 zt+5Mph{!wlb8u*m5Wt|9ku(PYlns&dqAEmCf(bx?h2ct|?*2J7`(}`R?~>tTmq<Cl zR9Fx0n%EH^Yn<DB^#A?d+wc3x2fye0trDV8?9L73uk_(UpdOV~Af$OV4q)-NxS_p# zP%gunx*by#$p+Z1Q|!G2&KQmtRx1}zoPMYtRq|cc8RK&%&QjR@^J3q3fDIUOwPhe= z3hfi9XUdBNq=AsY7z1KsI2B9Qz!L1_81R96C3)tocc+%aLlaxrz{J-Uu09kwN_I?5 zokJ_OtthRZJ9FxNH3@L{><+P>OX+0b?PCWy7>~%b2k<^8g@+hpp~e`f2-F%7!3Gec z3M*t&0a}To<RpC0HqOVblkcB5d15eSYi?V8wtwN;(!nb~dhY7hw;#TUI4}84W9&+y z0hp>$K*kykG^*UTIABtIn8HvwZ~};Pfnz^WB_t^!DCg&Y^z;Li`1*mF?S1QQAcFzX zzD;7^eSl4;ZzT7|r~)~_oWm-q30)3y3<ZIpP!(tZKrNU_ytmwK8B?-0ynm-=<#MJk zT?_VXm_w#{cKOQHM}zsOv3YjG;)yfQ|El#`zI%2@8Yu<o=84okv<CniEO!8B)CEBX zV*!CchV>K!12PI`D@kq{Y^)2^SWA+#lejCvU7J0_S^4fcCx)=2w2>Ndhp!$#bN|-8 zJFoc&f>O!&5O8Tu5h4U2O&v<eZ_Nt-OaP2J2NsBt!eg>VT^JBD;_lM5`tst^p1HB9 zq-ILarz!dAGKUZCV)SAsX$mNmQ>MT;Hm>ZY+Y6V@UD?=LT%GE-I(46Akr##w!n|6q z^(Qw>HODtiuU4ieV(I5bI_;pebpukB496G3{ZsS&!qR1XW%cT#%bmq$p68qHn%UZq z6k$47&w~56DEIm{P~%|(pRabxjitr8)s^L`q&ujlX&Na&p$)Ryc&#(BX=8K4+*~sl zuO;xg_36NwC{m+_%wjh%yJt9EiSz8lwJ?lI*gUo&JJwv-c>d^#?YrLn;8`CJLewMR zMyA$TV_~7Wx46Y({?7z}wV)2b5ZI`X)IeBVRP~o%KED&H)w$AmETVxLRd@e(24@aw zuHu<A6AFSb9b9kJPrrO@@AXR;cl3L`i9j8!DZ>^#3|5A64hF-N!v5^0`768k?mfL> z+m0o)VrOUSHXEc_>D)@Ve_}p;Y3b62W)jcr9N!dAnM#;!sN{D4EVvt+zywMA+Vu_R zPoCPlc;njk!62?1B{&-a#=-zl7F_cg*f2_!YIkPqmdm>i9XLI?b#o(+vk+EDqCicj zXM=;Yo);QE>m_bF9HU8F;u{wi_U&pPI*(8lfm6U)hJr0%MCi6rP(WTY2rL2xY+=+{ z3_1hTTWM??x8=O*A|tUU?3l{khN_V`RrX9)NQ_uM_MNBiy>RTrJxF|5t4?6^mU&E6 z>RP3$LW_%4VNKLiH;ZYty;5DdxNu<c@|As?=I75GzWd(is`be}#_M6WDfhL-o;xr( zpEo7RH&-T|FGt>P+oVCCebQ}*$B!L<`{hfQ4k@dftdC>++!j<zbuF8cIw(0KP)izf zPOE8~8ja=JwUcKKUp;^Rz_wkxPu%;?N1ii*l{Cv7LMv{}IN7tw(~%1XVc<4Y$MXxF z<>~gh>l5R5ZEgE7Fl&JoGm7%&Z2}+#F#vdG0btk?MHKkn!g4*0(~0@YBs(!SH=eO$ z3X-G-14aN6pQPr8-}u&Jix;nNpB$@W=fR!2sj?AaqQr(tCL_}6Dm1iE5S1G#HZ}*? zS>CMesSYl6u9_PQm-er$E^Rru@2(&2+`aE2PmKlK$#}|)yNz}dxw7b{aS536Yv<0+ zzWnkFj}8WdiRsA=*fzOEr-B-&91>5JNhcygNU&aER{P{yIi}49_+8s|b<o7w>u2qy z6Q}QLuC8o+=)I3WRhbwc_<;{RWvcU4V@{R58TfE2sOn{2bdAN8nen@}t+FH~R}=vY z2Nx>q<EUQ<0B?}P0-4W>X~hhv^R3m!1dD{V(pUx-l3FBYJS2%T0z){>&3FIf*WTAz zY|ieQ-zEpP?K3V`8bk_y-%hwkH^J_jf}JQsodHy#-5h+i1$kzPs^7nkdoI*4TiYZj zZk(yU_|i-7>vaat+<oxS3;EPol;3Crc@DF2T!K<9J@e8FdrzM^`4}vjL)#C@mhz0j ze3j(kt)O>pLb$CCTZ^DYF$mhppck7+pS}+H)&fnZ!1UgSaBAtIT)udI_6J}6`upGZ z_ul*U%H(*$apvq;WO!y=<m{4!<;a9&(CKuhzz)b%p<+A<awsv7j|>3)!W3ltNy?FU zFaQUed4=TK>-Ec)U_$FiyjL?hE?_v$JOUH=AAbFtkM|avvwOGimOYzy8|kJ<9-T$$ z6L%rlHwEMh3^Je>Lq$PMKw#i@j6?TKfIqMU{#%RK_|;S9Z9%9<Z=A=u^Jm^BX;QlP z(EUG7%MmooDX3J^Q!hPx*O`l_9<G$e=)l(9I=OMq`1fu_=~uVI&6WXHAZMW6hbjO^ z(7>Q{cnY|02L8kQkp0^W;IE#*p4qJ?ib6Si=H%p&uYcz~kA3(9{|{TECR3nZf{@in z4V7)6ahg`q7lQ!_oHcPafFP%k?BExspb>Jdo*k5|@!hmXn9P;EH?9vz&LP1Te8;4y zmMl`H$d!`gKYZr!^3|ms+vm2)p81_7?+@TUaUUul*$XqsA*Z{AP(%S0fC*p&RSzhj zP?*pmdT1W`&N8ZhS)#W*Tf+19lwMl6dXKe^@7jLoIYi@n?&7HfXD*z4q&hZ+ySE;| z*sd)^AHNHwgOdfg$Ggy>=SkKSd|(wygxnA)FhIqk{E5BD_tcU8=@D$5+HCxeT+UoL zJAL#A&pi0Rdmei_Nwbox1cn{RDAbS@O|uY#l&sGU03=zi%z$xu|902_1%PwdJ-EwV zOnOMm9<0^_=;lH!HeiB<Rbv%mtvFG{i_5i3Cr>{xIX0oYx9>APP2qm)UX=dc9>_uu zn(|O11@H=pfLIF<lmR6W0742#2SLR`K6(h{u__+?4$-rGLeDQ;yuUs+-mH|$@$rkt zAE{KTdhgc#2=CiY!3XbxEeZ6*GL#BMA}!9SMvFc<YhWw^&Ok#4(`ATD5j-#l`h)wx z|MWTRoY`ttx-GqY?);%0+jpLy+O@fn6O(a<3=@nsP!WqkqU<v`IPLl_5v*wHySK{- z)022o{>pr++ey>0G)uE8oJB7Ii>d%n2tXDdYMpcGxf7@E;VcjL?%%D!K;hrH1=V-$ zfLv|@xq=c8%^AoACY1sVmNm0QTFeYm0*D}{$l21p(+G0lE@nD%{y7{!f8t?d4HH>= z*OuK{JG6()quXH`ZAij^Ef`ouigOtQA`7(wwF<HpCUoGipd$nkG;Sg|ID`Dx55xXn zFX6!aF8rvqLT65%IP~`I^G^v&Xvqu%IsnEf`YDhyfvm2iU1OX{Jty5;Z8~;8BOMI_ zU?plOXPX;oPphR3K(lKC*i4NOi>E-9oQU_We(B29E4#+)<Cv<{kXH<%_Z$ST#Gp<N z8VF=i)D4gd*fYorNVIStPzYYN2#x`QS}JUWNnp25p?>#v?9bYG@xsY+mZrFS`(aG( z*+q1C8oJPd_)*)n4qXr`?t>IC0Kq_=fm#Lvh6xQ28E9ERB@1{(__obRp1z3sWka(Y z=5c-T`quvPa;-c*)h|MJAunvm+8q4^kvEi@j9b1J8u87K;nsVF+^tL#DFrLiOZY~= zMO(|$ie5&}nV3b9bB+=b9Bh7L;l^wl$F*HMx5IiN+%pGP4j@Y%pr6C^84~B9L<$OG zhUQYt00oQykirIx;5TcUU;)Q4Q*~_Gu><!Dkf`YV>`t=t8-e8>G*tkmuq|t68S#*S zOmQBv2CxR|2nYxi8E7>CDgiXj;Q|Nq)-BLWCowZQt=E>WhS#s&nB6lmcQVg?0ArD9 zMgd9*S}DU4EhRnmU_-{O+^PrkGXWS)p`-1I&fU?VyW(48DTzc`YRg1@h2cb$$_B=H z!ph=}jS(y+E0ZeD5$)apZT4Z72B5x&b`zL^hvWie07MFJXxOcysvsF^sSt=5LINTK zkO3QobphPuIHsrPVFcti)j<6WNTmpWBnL#G#1PQ%N1-HuaW{>zB_IIQ5y%lxb<nX8 zNG-$=+~zUJScowxYZ#PhWo2b%PtK=|kYQ5J0IIoC7i|E}=t6(lfQf5t7GF)f$t@P; zpOn7}K6N7-(1GQ+nQW<TbQ4<Y8!Jga>$~YnS<z3m-|g1JAV7%%NG(J#UICg3w3mXr z8BEW^CI%)~z;girqtIAU2mz`DQif3!DGF2A1w#U70LfCAQiOD@3`#NtVF=UB3QgCd zcUh&#@>z^pH;au(00Y1%$O4oPg>Man1;PS|LQMiYTLVv)5w>Frq7Z|AXI%PSvIdC# z0G=5YPz&O1CmYCO+I323{R%$Q!K-+v!`!O1F7=WHwdybR7YSadlG!96YW4Dg6+jUu zCQIVT8iEmks}9B*pzpy04>RyEnGPvO3x|gR5rwEil?sV#apj|IO5wqnLV!XbF~Gnh zDplYn>oAFj3ZU!GqeM^?vu0!i0D|he&t!pmfo2NL8I&nZpNp+0upXeX2&4q-EPS3t zrkNT8(oWVRu%?sZnvl#c$4$vOaV4u)NA2skDpzw0B{NlkK8SzS@y4t!rQM*J^%O)> zL$uV%bDN0>60yuoWDKAJvKEvu&`ApeoB*6Lkfo3;hxi=q8Ab?34GdAC^|-kS01}0P zfP^4I1t6?2O0a4mUcg%HH%d@4MW&eu7*ZEN02Mx40fIuk765pGdWGZ+N<0vIn0`@4 z<;Z}AVNf^*()A7^+DLoW5w)j+O3x!P7vg1OEe)!vTzj>TT;1{v003j?f(M&(@sh%* znYLrsGtPY@?+p`ChBIR15E#$EAcOQXAkCq9;eK+?!<#M|s9EF{n+&(Y6VgJ1m4+r& zpehgoJQS=WwiS3%cv7f($k3h?Gh_6cintG2&=f1w1L7H)d6=Y72qYfd%Yk_493Y2i z4iaR>4>T69y(DvWTe=P#<yYfX?W9Q<I9z)i|02;>*>7uZv2d&a@M8R##ehw7q2F@- zv`aHleI;NtSK^j~iUzRkS-`^3JcGm;WRO8~56&`3THK_ttaWy-30nCTv^m-@sv{Et z9@bN2^d2dur;Y?Zq~6hwKp><LjDW<t&l{fK3xpY(GbH!OeGZ>x;6V;eQm`^u1XiuU z0IO*io+Y0R#;zdG=t8GKYSnX0=YO7dbMtDNbDsnR0iVm*+Y_B@gs7BGht*5XBzAc= z;Bu+lSI@}U!)H0TlR$EYvVwi#>x-@z8n5~Ms`67U&q9UwqQYQd2oq!&C(w}4g}G=k zVg<24izXv@QLrjRWmpI+HWh`4pm;o^_^k|hFA&cVR+yAwx(T#5Kq?-2#;CY*3?;wR zZv+uxX=8P2<$8a~G}Cq%s$KX9KHt@!qeb1kiViMSfQ}~H7hFJ%YyFj=-CH$V%Ns6I zE`!D1s;!6RHjAK}x50^rbh1MDnFn$Y<s2#u6%P?Vq?;V99$p2!ext%5=n#m4!wVkA z8i-h@^H|gH;(-?_@=U{*1q=$Np^GXEk<sUIQ4sPB$r#KG-^;<h3`w5C=Q+lsN~e?e zxRa%3CK^8nL;hsvhA}qqlKV41@6#^k)xP0LJSo=7Ne?#1+Lvv)Qf*Cy)$><+jdID@ zRU)JPG$ze+q^%x=i-=dfAM)`?8x^7qQ6BC?v2SDpWIf&d^lQe5T8iJJ|MS}4Ly`07 zcpln@(aaltt}o6j1pvsUNL6(P(0+<IO`xinh$<_WTPtDc(cD#=xqPv;U>AKa5|>~8 zdA0vl12CEeAMSr{(c0kJV%&|cwO8oC`1FZ9$$XEqZaFNsJH0-9mZ`3E3i{x@pbAx} z2zV$Eh7_AJXt;qGiUJsxLQ`+Lrb9sw1r7{dPNH@8Vi;4b%_c2=^U(MX=aC3*YCaeQ z0mMU@K`h{v4meBD?6t`{ld{v5X1iUQE!R&VkikohD?tPqbYeO6i#+RP@biv=KOR{1 zFSXByVL4je5LV7M`dw2F!^?wYfL<1>boxN*VR*#7L$RxevJ{>OkNUJQ6k-vZ@j7>u zhwfux7mDMcg^^t|rZglX6$tT~krpau9CY+P0hEfFqD3}VMb_dGa6ylGyMs6zXfNrZ zTCHAN?R7G%+T1-kd*+3O%g!?gA=y*EbJO$D*9CylEcggM-wol<#AzNLTfAWQOl^8m zSo`p}=E1t!X_z!mkaqhZP~l>}f^u$pI69;b9?{I`XDHlJjbLrx2%3?RRav8>(SBX$ zW!>C&)6JD(#9Szb4nZiQ^DIe_rU_PiZHV^>ZE(Iji0$s$%+Zy!n_TEON-hXje>MI5 zg<tfUVe@l7*{2FnCyURh<JQ^sQe}{&o!L_TWmRf9GK<Yt6N5BW>BR7=1=UCq?iWJl zwM~Y!Gl~P0rLehJXJmEszG1*jcqQ%VD3B(onsuJm$iup6Z2d3{R~7J@fo7;MJOO#T zk9?45v(+Ru)XuZ4QK#_grm^w!&#qi787rD3*-LbDxeMTRryu}N;LBW3`2}N*{<w8H z+B!aQy6W7e$hh-ao@1r40v#maetgqQDca-KI9k@x%T0~NnzqZ(sPa$v@vI6zI)1%h zj}f>E0fC8zpRrC>BV$d)2g@)B^bq7(3iSGDv{#X&2`V-`8;NP{otk~_XyX#~)3{WI zIsF7a*SH-|%$r}}0b^Bweg$7#)zF^l_(A!lmCL+$V&=KBiOv}78m(rF`f*>=eji{D zsJt==DnhHFf6g}pDqUx6p*LfPb!(Tbfw@koDmN)=<Q<Iyw2|#ti#vv1(I{#zJTFGp z?;%NIZ8RI?EqWI2(rjhJOPw@rTx>5@!oaS4KbtvqyOt|3zu;r`ssKITn>|?yY579C zG1kxW)$L=Oo({v{c<M7;Yb`_ABkjjfVTgEm6wxwCQ4JIIL$8RzH1dxMn=z6;sSdjs zbuAEE-+gm4I@W@MhBIxHic{6KD^|!*>v@g$35q;Tz*&mr<|^VOL)nIBrh@9rn`#rM zezbC-%$C?CrRRrF$lsP>ZpTTU#FOHC{&})4KeBkCyrEn<H&d#A(^|XOYqhD>YiXV* zNVBByzs0XJ#Ij}#*L*~!;XbUR9r>v=!cV0YM(0~Qc9=(6dq3Z#vscvp1mZI!Ngv&~ zr_0R-8Dm<LcI?@`8|R;U?%FxZkwpQ~u@B-;I=6GN4s#n8n^^OT$j}R^mGFD3r|qHI z{EsGG^*=FGZ>-!v&KZ(HAL9Mc0Imy+Mn5vlR<1dquQ0<9y6NkTo{C<3Jz^&sy?^*V z8J%~10H|w5T80LC5O=|xVR3m0EQ(4{`tgp5neUuyF7+0DyIQum^x^cg7jE}*HRd+0 z_@N5WN0WbkMO}VwHA$*3tX%XDOl|*np$nhQ2N^9bFA7wU4C12bAu^;Kfzr?*5()!4 z1O-EV9r3!XGqgYXnm{0;VgBE&CHU56!@5kXND+&Sg0M91!}}a7&4wnu0fp9`+fkkR zYxe&7iT3p|6PV7XfqMb3!J<tDw{O`MRe=6}yzQlu;pMCS)#}Bh)x2xN*3Vfo%dKY1 zw0do2&XFYXn%k#C9v-C()+KdD;s?{n)zq7X8r;-+8b!&Y*Z_VQywNL?enmE^$PpFY z5`rvG5T`M^abFuN4HAp~bh-ZJsc`(nk5<l<Lkre^<=MC3Gx=+=l$XJ6UVe-4q?p7# zE7m11tzH|endsE^%EmucV|aOSNs~0uG#kKY*-iIxEl0$!@a@-oG(Yp1s&!e`HADM~ z@($K$4$1`->@n!~kmVVcmX{Pln2M@jd7!@e+s`hZbqo#JWJf=Wf7*JjmMpV)4Hm>Z zfFt=Q`5kQy{I-j|hI?>!@99o9a9N(+m*k0zRjP*BBM5?F|Bpfq3JM{*+0B5WNo!Q$ z8f||Y47!fji|HXyDl}fH@RDe)TS5S3#N95~XINQTmMqRqIf%ad_Ko{K^GxGBH`8vl zWc1{(rGI|zwG#eqp8>BdVgAW7Q~qL(LG=AACrS^^?ERNv7=D{$Z<kkBSd=js#6=7` zbVrrBNQkK)J`8n}|8<!Ak#&)<&^lv0;(XksoV8#<i|mrXLnH^lNcvsmKEY~xRR-PI z7-!EsuyMyfJKerESV~sMf>5u1F#E#s*HZYe2>|Os`1SM)=L2<T+T5>xfANHQeB*(C zV#%K9bq2Q8ZVUSyX&QrQNJGPfoe1B|1HB^uvreXeXDivw!p=_xeaZj{lB9<u8KBqe zN~_g1YTe2`lUx6{RuV70++L^)1<i#)@Z4*<uIFn-K{sQAf{ymf^Ghd6Z>jf^WTR*4 z?%OzjWFhXnBa4%o4U8CL2%<278?wCtMqLd6j2X2V7_2pW4#i@O8G1eivG97YNVUi* z4PyW<TJMkz62$#B27`evFE_}jOZV1h|Cezaz4-Lfg>giZNUik4PsV?m{G!W|y<sz8 z{Y)T0R|d}?aSn~sgX`mQ(!G9oa{hlNP;Ys8#q<Y#O|uwTHW<bRerSyIwVHs67D+U$ zcPlY0Ki;ebtmTD<QLfh<9ywTZ5ClGp(eF2rWtldXSCxb?R~i44z10m*Kec?WPN9m8 z{WDK2|FfRH4#Iy;XTW-+{1#m2-{Hf{<ifdyL94!NV)jztf=jI=ek@5+6P7}#2pQ`@ z#uT;Mp%K>g9PpEdn2MuDIVKr;H|y;It1pT|K0&|JhR;(pmR6K<G82{B=ij<<-<SXW zjc4mt#06$><k$RPEWXyf|GEM&qM|)`F?&DXz3L*`a=EcmeR$)pQv>m<-DL1+nk5>Q zLa;D7>k8qot+uLbZMMM81n?Tu52I-eZHJ61YiqtfAU;R8+koUAjn!4wOzc=x{>z8w z4t@3;SDzb;y)QYqmp+t!;o|El{MQA5^&s4j7n0u$A8cEdE$6!{rN`zE9_{!f?InY^ zC0Q(CIWpd7aLxiF*YPJkdBVEn+K}Ien-1v<S_F82hxaME?G*@TSZy_!2V$eJ@;C3? zdiZ~TYT@NlGf&G_?dcEapE>b*3;%TkU_A&2^5=X1Ab8s#SHJm8YbAVq?(nniwCx5- zc3;LRN2SPkVL0c8EmyKu69z`fyTa9kj<TymyD{px;9;RhGIZJv2xsWDJIsA=Ll=Gb z@h$iK;~y@Zaw~DK8inrShtoeh`bG%<H8;Y4mwWna$!9JT{L4AA=xdjrufJvH?*F4+ zu6|i!vF%2aeU>5acHucMjHwj<J9Dvl&cK|(=PA5T!9D}~bhtl<hzI)&&2|I1Ptk7o zIPZGvT=?VnY&!VA9=&!F*OGQM49txm$1~644HEwAIs<-kCLH1yS3h35+vK9N3+;w^ zY}W(dzt(SWNCx=<<^j9V8t*e$OKT-b9clTnv?y8xZ6Y2j9?TikFuYIE=`_HSq1)@T z?`AeI_JzkbAN=&G=0bk9yHpEYw0bR(r~e2169)c&`27L5x)j=%E5CccOYN@7Xl(G< z)_Vuvx&Gq+7^j^N*s9}Ny=KWMqEZzuh>E9zU_b=0F@O&Hrd2_(00}ZbK)>GxsUq&> z?7O+O<c|Hy{J}py-(Bt>X<e?3QP5dT)9;Tu8r~@Fe?w-#PtAn<`5R|T_m6cs-_RNK z^c{1Dzjrxaoa2P|<l;FDoyqeYB3v{(kNO|<W}aU~!IB_Jx)=;PFr<k4G5elaL+-?T z<`4bx)o!<cboI(uWP?FtqW^>6?tgLcMhpK91z-filK}SlU%NgZG$vX;nd}ex`smh! z-@V*xZRXVPP9@=>6q=k<c%K#gE*`2mm{Tw($nykA+C%PB7;@-$W0o$grRdaSa|i!u zIq7ttX`C4|Mzdh7^n+ht`E2jaApAERfDsKog{Sl%`VU{vg6>o^?T)8|Odi>K?{^mZ z%bPXf-HCdRqQDeQx*qIv_&kHpGvs*&=5)A_i$lMgu*7Vw2~NFZ_MSg#q}|RlD;KI3 z#^<H>(;sPlq4j1F{+k5=C_p>$lpOH8Z)}aK8yaa`ALKDVJb&mrH#)0xS;l*E$vB9d zQ7XFINN<)eY4{x({a(!4hb7}qJT`mqj~d+X{P6neYG9O2MnC%d=@(buOu~QD05Gx# zkK;K1mVd_$3A5?upj~5SesJ62?_Oy)XC&o)sl*(Ffl*Q@>AF55!l0isdd6BR9edCG z;XfYuy!(S2rz$oOuuFgR(frny!2d52fb}5k!!!P^yk~JkWo*+*w?CGpnLM=RzV9yd z7B^&hejw+JgP;HbD2gwG9<xozTIY_wYyRH<Da+FMTZ_jlgq+w0KmJ(!g~d0c@ZVGb ztOwx{9M3;E_4s1MgV}DkS7x8$EprFIb0b-)Nvel)pRu(@NgW1#FE(>Fvf+>3HGlXY zHPe3b?Zwk&3n6dQBOe?5`L#Ez@ZZol;8tRUFX7{3K{WmjRa@GDQg(l3Tm1dOg-`W~ ze~S!3NMXeRMBjS1oBzj4X<v@`YbCX8ymd!DHu&t-H?#2Hv;eFJ;fwfh>(jRMNY83% z8&}e|Vmf)wwBOxC{%#@;sv7?A!F<EtTt(NO2wP697=yu)4-Wp-n_l>DY5>-Q@ICx) zZ8?%hR9$HY*Yf*$YWSUFApww!cBOpW#wJ7V5|bVIjpWa-{4xmtO%K3&5Wa;!7;D-1 z9R{v6gG#;|b>kRVwyB)7O(PJOnEsL9NdC<)jqrad0QgCpP>CiUVwE}^WuZ6P2Z8{i z-r|>n^M5G;c;#1AeX=we*n_#jw1XkTwwIQ&)3^FnS9iv3QkZYyG50KfFZkQOA@$C9 z9lwtDj_~h{JLAr{GwzH#<IcD<?u<L*&iG{;{~xZsD$%yv<2wKV002ovPDHLkV1f-# B^IZS{ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Heart Decoration.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Heart Decoration.png deleted file mode 100644 index a7d3d5b9b162543cf588cdc46ae40a4d9149e80bf8d27a046b08f59c7c386e39..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7261 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Heart Exclamation.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Heart Exclamation.png deleted file mode 100644 index cfeba0f40d40c87b8aa494ee7d61537b50730aa6b1acf0d459518e7ae79ad2dd..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6015 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Heart On Fire.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Heart On Fire.png deleted file mode 100644 index 29f101215d3679883a91a0894acb95ab3942d83205ba74942b3417c8bc112ac2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10343 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 FV1oBAD(L_K diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Arrow.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Arrow.png deleted file mode 100644 index 3a3893c5289d7d877ab5fa9f1316312c39129f897814a3866e6c4378b481c2c4..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9957 zcmV<BCK}m^P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001VeNkl<Zc-rlq zdz@ZXdGEi^T6@3Oxn^>|kqZz=Ab{Mwph4SOZ^v5unOGH3YO5a)YSmiXeojAUGUwiE zrGoWTv?{f&b)v^(J=LOB6155n0zyV02@rCdWHR^nw)b9ZJ?D@8&SXLnf(A*?$@+YD z=AAe1tUdGm)^qzk&srPKj5FiRI5W<SGvmxSGtP`N<IFfS&WvB^kf-(OfdRwtCgJF= z{O7KIg3k<ZQa0{V1_#3#@t)G5^0YtSKV;9y?a4><G?Ybo>nF~)X|}>7jU`zeFCh3H zM2op58IQ3O*2tq#NB4cn$7B!N@eB+Y2Dd4Qo)P!YVuA(+4BNJ;{jD26>M6WKKnle& zQB=TKLlnmd5Q37XDQVWiHKtRDzE_UT4b4ye`+u05=Zsl;ngFzgR(<#1Evb(mIkf4# z&1TKYm0lvFMX^NIVkDnJ0T(>YES2%`ar@|j!yG<#6l?fgCClD5^VxTe<!0=RCd?n^ zWIhy<G$PRK>h92<u1-@nQ6wT!7Bp%(AGKT>B`%FTAu7iOyJp!+ebHr?`psvr_g<pc z*G;rz$u%Ea4BO=C`;z~k0T|q-09KQPplP#}NHb~C%2HCFk<DE`zcNQFO_^ynq}FQK z%@<r~&snuB4JNwaNbGKa!9f33b4KhZtpWLBt#+21h&B`FNP}wX1F83<AqOJ$j?8<U z3pgLhG?047Oufe1RjcDDYlSr}`Hf3{^QPr&-|o>fT5z%^NC8GZ^ri+uXIg1WmL+5^ zBg;Hls$^LpbNT9b-jRAw<^s+I(lo(FMk-kT^WmQ2e}2?%1Q^=7{frizv=2}f5mAg8 zYo#ff^Xk3Fh4$q=&gHK&=gFKS^BFD#s^u!RW{WIs(CeTxa3%_R+Ic{}T0LTqq*+Gh zgE}8TJ*wKaCJG2v3?d3BGxa8uqhstDKdjGd73pl%ns=4Qe*)0Iz5fglCk?<X?I78s zNvlPcC4>M3K>^hOD8?AZCMTGj8pjH>8Y$zAIt%JE{tu_miW=s~XWsXnKR!IvKV)UQ z_%otESpcpEb^=x&OfpBk*(9>X+&LhC;De*9qk{$A-8}f<E^q<7X9E&GJhCjRG^TI= zm*vGj(18KNV7~el1e9%T6M$_Ds<eI1GoAbB3HRNm@+{^iPYuBECIyImbZ^$IQEN18 zS4ROC+9Fi&!4te=L8$_&Y<=DaR>v)W{}=wzK1A~M_uTo1FS}}Bn_RI2vx99Y>hnKZ z<{bTC`*uU*{82w!!zltphUhnowrrFgI|+jf207urgDA+hEdzGb&SBlk_P{S@A)GWD zDu6Dz=7ZHEM7#TzuUfXGZ;@smQ4tJ^4}qRanI)ZF{PTCd$>1+v$aOEhOuzcA9eTqp zpC4bMa{WKw`qxAAC;hYMzPG&UnCobnW=E&*a+$`{TOa<DsrjE7V#xkHKn&4ux3c{N zbNA^j1EuIl)~jK<RC31GJA0?EyLWK%@%P=z)?Ww^Cl`<R4_UTv^;~=7UlqC*{?@8x zi=9`AK(Gj@bF5jih$sYZ`<GjJ{hFR|>Be>P+Lv6(w|4wMKJoWoq?`C{@3^P1YbN5g z1i4Zys|D#1LJ@56gc|5!@!X}t*Ti<-`ldaD(?3m+Ps*S$U<NtPJKcQFJ6~AHim!-# zxIDyiwwS2TsxMe2w8YlLrw<2fZZ8J=jc(ie#w+&RlswTq&mI76PAGoMO&4ZFcX#(K z)SljM>s=6o0Tr%1Zv)@H=Z91tdO$a&2c`FdbJ%>*#dLLc>F&S#hAh4NFzZ5<rBN4U z52av;f}q|YM!*D`v65)usIN1X)gBY^pDq^NO|O06FUHy+JmsovuU-%ESL=WGT1$9W z)l@E9Qs`o#FH%s5yr97l47kXX7$ps!!>-OTY7dEKH$Ael?=J^;4!Wlc{xesQ>F>8} z-|pqjAK9j*o`If9$yGZ#1;j>JS}x(pzK7lR#}-Bh_2Iie)AN(%FIs!ql5-wv=<<gq zSySktn-W!Ly!2H?mh?!ps4TWzAZsSbM3eMLL+yAoq*+U*VsDR_CP$i+k2%91T>J11 zfBzJ#Qid2ZTiNRWZryt>3&@9iOy>)i7rW>TXm>OAp(B>!g0lGTl4K=|D#&CVJJM8B zcVVjF%|ztP5!c|DtKE@F>m9$n=cc;{7>EWLbkBZ8tZj<yn{N7WC=}lt70Vd)Bw5pU z)H2yNxxidG+8VuT!CTk9yZ(-AFP!Z9*!sG4XO$L46^hu+eH34M9>q&n5ijk;lnvNG z@B!0O+-M88Yn0@+z4+T7(WH_1kwOyfPijm_a&xPD`kimT>*nkUK#+d=&33l?&#ZgT z@0PXj!PVv7c&S!gm$OFJ_8R-5wM5TfL1ASVR0~LKa~i#s;`i4`?m0yA&wG$vheN6o z_D9X=vDSFQx$L?(?EmwjX9|R$fs+|9Fc`{j`QX26YUKl+US4qRL`Akt8<w~9j{C}u zH<<(Xm-<5G)|HjsB`ZRQ6qa;I`AwHo{iQXSY6K03x(v-68Z?iGj6h_NVuU&+8y;i& zi+kYvyTb%&IH0X)Bs;Pr>5^Z+?%t0~&I3V)=r>#0?muz%@7=gU%kNrQ=+UKVDcF@= zw%C6jrI(zA?XH6NkUDSy6#*j<StO325aU{objMy=pSlNkaNHk^GW%%r7)@J$^Bebm z^sk=@bM&*3V)KeCYk%_-n?HM~dre1u;>g8!z5R~cy5HP$pm)jr=Tv%Dtan|(U$)fr zUB88BVF8_NqM1X2f)`Yk5CYN$K~Ye}V30}ywMClW+e__B_mNICvb}yfK9G&xQCM*B zSNreUKD~_r*~BK<%2xlWb?^D)QoG=-=h}+vmXeKMe6Do<`bC&t3$;2SQ;^)>2m;pR z#JIGJbs~gfg!EK#lMSXn_I=p7FFaOi@^EuPGW3_<@bI5}>r{jAv$K-@LzeCR;qe8Q zPp<#>Up=R=;^k*&RabuQs;KilTQHe}sRRig^&wBxoIp^t4FK)DBG1qy2g4dnSA}e( zPUG`GpuTT3+as;`Kx_1ywS~=>_coWw*5SeQ6Kj9>gR5-s`_DDqS!cN%SAP8>%2zH& z8yU1xL?mDFZQ4ZSH~?Y<wE-~(EySo*q%(p-nc64sqV@F${3CJG?rDx5EL5tScMUVy z&L2)mbo8?q&4;%u48p*G`N+Z77QQzAwQ%<O(XD;9=a1IW?W$)lje6dF6{eXW6D>$n zsHez`gN8$z4(ch?@=I&2{B=DgG%}>_p`rNk8nLlN8&;5wPuh+Nm(^{2c2ZBzdgJat z{o-fVz5ne?rTf2~Z9B5g&T8E8>I*5K-Agz)4KppMd#E|Io<co=Mv68ap_xI;LE;IC z$7G6T0dWqRAl_5B^emeDCrstQv`b62=UD4l^}Q2+`qk^X-fU;PKD!$5xYT~v#%=MP zwTb&Ksw_Wed7(o)-g~vFtnR^$H?YkNnkhbUh*wM!AXU_R@BzGn27)RISPY^<K+xPz zBjp0#SSG%?i_y_zVR!48nUVCPA;_DbQ(D@wq|iZi%ehis(Sxrw+QrX+1Oo~|6eDf^ zO28NcR!|EREGD*SY@lSJSRfP)rl)|LQKtUnpLJ|{Qh$_=IAhGl*YEkz-cyw$L_hBY z16u~H>=bu%cKs`tmKU76z{kFL$x2&X+Jiq(N759nr${|TQb$M?Njzi$e8^4GtQl5C zRLNaIn*$V35rQ-@#R6UDorS5VCechEa8vJGS*X$%RVbael2RPu9~lP`H29n+(Ya(E zH3A}tn4E|=pjM#}5h8;WEm|%hB@bmwXr&YuEg*W)xw7y}cl*_ag@p&QV{ZpO(5CXA zeE_!YBn$$^**C8!b!jOoX?)QNbh?SoG%>XdozB(Xw=!&^s0)b81+Pv~&3%CJiUcK~ z%$E8MIRF|7K@tk3B8BCBEPgbT#9F^hi>9)$N2;YF;m`~cXkVJU70u~!r5*Jkh?U&< z+FTQY^+;sVf`PK4<qWA>LT5~1hU&(JOn<Ax^wb@N;D2Li<G>$p9Ue^QkbSlQP*em7 zUpi}`XNKAfJ2RDdS%<X?yO6O4GSP&ow(YN_L|H&H#bg1peD#Zxo1k_iG*^hz_8r=H zQ6m@wA<ifk3lysr*4B(Qg^12-2jSQZA@dLfqX7bl%G@F~ZQ-N20}eKz225m;$bdBv z8+<XtmJK9DOa|W7u}eCMSM`~W`)9Pn6xP-JvCY7pv*GWv2EcZ<8o*E6(F;25f(1sb z%HmG30y33C%^@|1&SYp3(9A=scoz_-XwW%f&kA2>|IxO*n5{d2I>2Sv3_7cw9Ghv- z)lmWG@u|yYJ^NwEHEVX>cA-d+9B`|MD3U56wy04w29r5VHe2tAz<?~sFv~hA4oAM% zRHBJ2xeT~-(Uy(E&S%jC&He&j8|QYLg;agXM?K}pqzTkhe8XYtDW(<jI6MWL3hK#C z&Yb)ej6uTVqJud!a)30nWvdy+MpP?R3dWMPQt)8gCP&+TV-CgkjG`VPpn&nxE@vnv zC}Kh`bX72dYor((Lmbd%M$}WlSWC&4Ah8!b3$2MyVv1aKS)o|MilRk}w3MuwVd^a; z&GNWEb!gU(bV44X=zJ48yJ~0SDs9{AS=DIA?71L?;Gt3~&1s9sy!?UVK!CPQQ4WUA zSvY~v)(r7T5Wu4*!XyTZA(#{`#e}9uq6lM*6eXgd;VgjBox^%s0ANHrjTqEOZYJu1 zsOFG{q6vgFK&FVxW57JpkrN|fo#)L?=vpx+v<J&9Fq%tU+mVv!PjC6s6LLkFXX}{D zz!e2=5Et@Kh+=F&YAI&M=YUDhq@vOVu#1iQ3+aq|su3U{xd|{Xpot?iQ?%tEQ$nUl zrifGU<hJBrr6G@ht*8WooG7y(5F`*x{(rMRB7Yx(k^Gu%nS7F7y!lLoLSF06Jft4) z0>Sw_d~T$KR@VL*MWH-fMm;S6Fqmf0JbVoGgwS$?tj+QG03jeD%!P!<g{_ZoL7I#G z5kbYEVwm;PbHbFI&k-bF{UUSM{5j^oug9~-6Ytpm5fi|uqCO9k$vm0`G|ON6dW!V{ z5esN52Vg)>3lk(T;k?UN;B*7q%<a8;Z5Qa<q}xd(-YUnVA4KMYU42};*nD9>WoOxw z>~c84IJGlz4IsXqtC)bM0iA5&Q9J<=#sM}lEYGS2%sQc9vi&V>;Ubk#Ye6l+I8ShG z5H!z1^(lllXGZ2$x+10xfEYvsgPgeHMKH!-t<9OvIZZfjf@bG?I_3zcsLRPimpIbt z28d{?3C{S(=Ayu7Qv>?jPAD?6cQPa)Rcv)SQ$Lf6!D4)d_W=`fYT?O#+gxz%XlE9v zcBIIxz)uKKb5O+?YPA{!rCcs!ttEsor$w{Ts5!yv=@V+o+-)_d%W(>^Vp<+Q)x?XT z;XM*`m|tXj`cF4Kxf3caF7M5}8)=%1%sXw()CpqH(9VohpH%oib!E;s((}U6fFh9v zlxA&)=JYhRW}RabW4O%a;p#l+E%Vzd<Rr|Mk~ae?U@X3oA+?l5Gdq>liHi2FQx%5( zyiQn^0kie?8=4M(cj8k7)J-<>n0%I((WhZ{{*^$?iQ-YkM3(8v2_CxRhwS~qogCcz z5N_lMgpA4B)LbGxf1cTUoFv79;?bZOHMpq;HuIq+PNubau)DK&7eKp7;Mt9Wc5G?S zVWWSVaT#9Fq~5|OS-x6Df4bd$T=epI+b%}tq8^Z3fYy+u36I>jivxa=Ph6DpUoLBK zbH{#?$!RL(3c;9m1eN;^=G{YiYJV^XTgV+kYo?B(VOlfIO!&^L?;30j(Qi*h-_Xww zz|NfQGUC2=z)z=Bq?XKSvsTYJcm3J-Wa_NY=hRKHVwfHqCrulC`2xd3FIdX5mtV<k z&+p;JRpXR8s#rB`)<@=uCHW~)(NF&c42Z#H8NQX!lpy0-Lqy{*x05h=)_uTiX-*k1 zZ`pIx-ppq^Yd#@HLQ<>aHK&uGPUq$9%9Im`(c``(6eDaD5m5Gb1U9T$&&G2$@+;4~ znjf5P_#?fYMx0;?_}utBZQ4H1FAT;STD1n^RHs8~M_g?*?X7>U{dfD*0)RXr$>%AV z@bP0wP3qzZSw_-oU}lToPxVJXK{90kD*|G{SVRrJyG-Y=Zl-FBtT~c$@9_PMjgHaT z)5FW2`yy^%*yR2G2h>Y}0@7al=3m`IM4mh^5eVMVY_u@J`U%${X!iGSzw73ycK@oL zHUJDV=oJ-H?)}OEKe_vuYnliN^?Cyz^rW}t>Eq0g&I@Bi1qv1!nIyImXaDxU<J$2) z&i&Cix843-rpCtTS-gl3yyG1lSQT-7@*T#CEec}r=n2%5J}$s|Lirm*v(>=5z%fnC zfwZ2*Qu~YC{OmeqJ)@^`CwuhH(ZQ_0_o^mDukMY?!31Lzp%5458q#IHkY}B2dvzZF zUfNVdUK5rRB||tgL9}8qD_?jS7mipSJ-nYCjYnA6yO1?&mh#J2T*0>=8Rjd;cJYGJ zau!e|2_bJip-o506J)~kXpDeTuh&3>+m}t*V}A1U*FO4}HxJQo-^s_qX$QbgcIp5F zX7fcGb{&}5_qwVn_Vt;vW-gUN9AmAWwXPhmz|7JOCa=@BBbF05{P~&cye!ur7>9`# zww7}7F~c|s-x?c6(wN1|mh#J2U&)>O_wvQVyLfKAoF$<`q(Y=Z3`A<N!D3agK`=&W zmni_DR&U_4R3}199!f{EaunY1`SCl(hUjOIou{P+a6Q+XSM9qd+uHm55eHklOdMi0 zCR0bTSe)Y$18pW#=C63>3Mumf#^WLCECB8AOcY^KPb5N8Z}HrjUS>jzZ%#c(ni>`? zUdSu2x{Be^1AOW5FpG<Q>@mvDQiE?6Q*J9I?20lD*_2ic6)csIGrF2(Ot)HO;{Bt( zX%GA6$FJFY!!1MoL-vB<cb?L2=~KR4bhdNsQ)}LL+qvaMSDzDidFR!3R5~b?3TVg+ z<T{ULn2pnCyA}+lZ7A9u3~hkS95ikJAfCur#>Xa@9vh=*ET3MopMO|9$#XAyJ}-XZ zm2@qr@Rq;)GKZTWl?pz}9lEs!Q6)G>RBy1PVY%AHys`nSCzK1CQP|%)CU<0`<F#`2 zg3)1)p2~)-Q_6;(SSOx!@0EA&Pp0nb)!6jK9a?YJ#abbfC=V;=5-pj_aN9*Of`sFQ znsS2gIIazO4513u&JJcKCdj<!x{;N1`!b((caWiM*nB=mTuk@kRV?XUPL^aCBUpiA z1W_qQi$beD#w|a-kH6`uQ0aACd2~vzo)mN5n7sEb!-FGlyYy}G&3As>A%mw>UZ?yx znPG-?h#`B;#Jfgb-u0Zw61}*`mOO&--V?=zyzY8J#M2J@<U~&>$Z<b0kE9chhmne6 ztRZbBq-jDRa7l9^ODbLbpCfk@#g>&TmT=eJ#|YYqF%_CkM<dCowH)JzM>)28FEd9* z=qPn^`9+tr>fCkwWN{?_P;v|{iMs41ubRH|pZ@DGgM%<I5V3P-IBfyQ&Cqr>F=Q`U zG4tI$+4!rh#4Gx2$-5AY0#O{d3-Pl_mp%zsFZqEWv&&wN12E^PMNoxCJ<q;t+Tg0f zGJHn|UpR0#&*@vh+I1`W;lqz$qbi-19)c#+4)4a-rieOwFnvpj$~}yX9i`c9uztyE z*>ui2DRnPcH#SxKP2Kd;E0<pNitpAw^am5|g0*4i&+m+%5da2(jck<HjSjk3EWYyl z%`AIshs35F7bVFOF-EYFoy$+#<=x}eu6bQ?qQ{e{xvwG^vF)fRH$#yX>a`kp#RH|F ze0y0hU+%QHJwIk$M}-aNuj9_W!vrbOQR>8srMhGdrqYQC<b5y3Qg5Xk9vPutud`;= z@^Jpzwc*(G%(+Jo9eEj7yjuIS$9^>Y&UXg-hiu*>dzt|-8<q|+WUn22|HyB2T{M*% z`^u7yd`YZHT}Bi~n0DBy^E6<7GA4N|#0dfE?CLk|_Z30aV<SV-N=TCyB8DiyXBTAr zXw_0W7OrOWzVEZDWVrBx3%Kjy2T`ri-Mfs;WrPqgR<Kb4jOHC1S;EB85q9s|C8PWH z8$Vt1%g@=cI5W{J@455v3yUxOweR>_-ZIXXfrx!SyGeRRj}+U^b{*I<5WV}yAG-ae zJ(p}m?1ep2bSh$;ONrxXF7(XV%j3;!v|AFH7l!`p@J;gqy?PXbYMwk<5kgQtzDSr@ z(M!2+CAE$oribrj8J<fo+00#!4pUD&9UTi10oR<NF?xt(;wZ`FIHB3Z#s!L<J-9-V zsH@YgU%xh7eBK5>?cDl_kt5gGOJ8-be)$h}|2&%TjGyVYW8V%1%$oDVKTS-wUSo-u zbVdd5gEv8yIEq1~-Eh^m`sO$VVf1))Y!;B?9H*YpPb5fQ9n(NC@TsMOTd{<dJ-sBQ z9;S=kOh0rNeOZ&|U2zdVKJX|rt&9boi)c0Lgpg6_UQBtxQi{Eci95Qn#S+HGWWn*+ zf&J1-TITteT<oKArFv-O;Oosrzxt?t?zivxSvA2t^ZQ^$w*jyD-Unxbu=RkSsgI;H zVyw|5%V@TmdGSLXLBrgo?JKA!sK?KH&uhLndG-pbI1NZ-hzk)K0*NS%Sm~@(Sg~v= zC705yE@tY|SMZa)2N=KecHVmBd6dmj9y_v^js;8TTE31_M-MhC5`q#!zFWr{OB9#r z=vu&`BV+9N?(KH{@|EGzOD;9o;w{meZ+rne2OV1mqSH<Ta;LmgZ`(2uz2=_(KJx0m zi+5)}Y%SQ>S8PF&EE8+<!nzlaiee-upixlq=xkX{XLD(p(}2*<tY>oz*Gh1WCP`%Z z>!rfNbJwwa;X)qTyPLj_Dik}Z_bp>$@BLK9M%Z%2CG0tNn8On_da8@i;M?610SO5% zsgpGu_<EgmdYaIvF?HlHyYIVC8iz;K`6OheLciVo%KP-oA9(QTnxkLXv68p!+Zk?S zAbQRC2k(D%@8!Y6FBOe-Wr=O-Jl0x_ZCiFV^V)~Z<CxLo&AYkaH7_@68wTe|Y7Md| z;%^tj(hE0GEf(3kZy&2xu0*qp%$8{`TE_IFdoYLg@{%hq<>9Fb4vdYnplb;c!qm~n zXibjbn+-zR$~*d^0w#)ysugUtN@A>BcIl-oT(-P?Xy1WXbYI@TJ^9;fCKx#R5cL;& zuIDY}AiR3wPj<Y#^Wt+v;)|;`a#qD;&Jo!tZzG@AW~lSJ81fx7`F?`D5zOahm-c4A z+4s|W9f$JSC9r7IxoDa)H9gI`RcGNspu1WoA)?W{oW`O3Wczk=_2ri`TASq2(J^|u zmJwBYDE0JE?pa2qcPWLgZfvy!DOE6qBDPS(L<J_MC*(OB&UY=bm63ywT*UBIpW*7O z<+KC<;4|#dO$^&;`RcFCw5F~Wv1`k*btYgk?=Z$92wrD5YWVy}9LWWo*SK^}@T&QD z8geQ_6p~gQaS2~oER@ebmx+<1lnNzQE?tI5prgCW!F`X>+0{pF@e-ONhe`MTm=|7t zDdVjvb{{!Jch6Fgh%nodZSuK|K-6v;w$_lOj$;$!=8B6ibcZKq)@7?N*`*)*kGoFR z6q#TAIhmrn*r;2F2h&zm`i+rfYR}<TEozzIGaU7#Miw$uJ?b4A@|B-A*ePBEUOhhe zwi8yo4}=g1!R0)Xi698QEn#|khKccUy1P0N0zF+_H0lkkwe(a9RHII67ySwk7y7vW zpT5Gcty#<^D~jwtcsG$o#8C;KWlZni!_2|m)DG^YcIXirhaRJOa6dYBl#$&(;jY`h zDKuN^qv&mqW5rG{4LF{p_1ia%f4uhE?n}Q>58*cv>FBnF;Jp_YJl3`ot@f6s-1M|t zOxn?rYQD{Nw!1lh4QZBAs3m-VLCgcoItVjO)~#7fWG%%~iNm9#SfHn;7w<BRiK#DI zNppIPsR!=hd7CdL6bjtG?;*N+77|MlW55<FM1?Z8P{9@}M8zr+7l;cLrs^%z)m^0} zthVR9<bQ|H-!Q_!z*G8yXYKI3t!(!L3`B3-_t6J}ajzLqXIe+ICf39uXrR_=l7<XV zh7T#;yY`izP2|1Dd4~&GetAcxflNJFly9e5of?iFJcRd-j&eEQGiEKd+B99&3e{qf zRV!CgE<nKrn$LMLhkMs@_t(F|i~1s7vVI}^_uq}TN@c-WRC<<E=~+Q#;Y!MjmQz@; zh~k1J6#5on7xr=XhE2Y=Z&{or$qVu%=&9xVte##t$e_E8f#{lt|NLJv6JCEftIJ4e zs;JR`r<Jxyy~is!AM%3%eM%NwZidw3^uz-MGw+BI5>Ylz1)|9sQKd*BigSAo)Ef=T zr81>LL~l<g)3q8=3_YeyvS|w=OV8nZU;kfR(V@J2!&(j;_#w??3PVmJCX+`=#tz}@ zQ)rrCgTXpWy<Vr<Syj-bz!RS?e>wpG@L~qtZCeJSH}3uL|4v-vt>a0}j`^04FzN)- zG{a?ilIBC0(}KAqter5;C2_$MRB0H)^N-fpJeE@I?Ise*%RC{_Y&Iws3i%Gq;7QXa zJsq8NR*Q7R26z5djIX+qZ-4WvY_e0l`hxY09K4^FYZAvLz>wA&w2mI7ad1B~`}UF? zI>5mPf5Ozngit7Er%fh&QXuTiHR0NQH-0(`Gw+-9^=QhaJ_?2qa+~g43-8l*J|MYo z(6;b{<W86j=TZ{&I0KeIgoZdOD5}K9(##UlETdG&vt0m}Il4<#I?5GRELcRZ5wcYm z(AaP_-@WZt*0#oY?WOA&IeI6J<~SXFXVJa-Lb}#oNXMG>lvb>yyl^>9m&y3Z!Ibi% zTl3<`u>P9>V7?~2?van)Fd1eBkEQjf*-9P85JYjolR8H$%Se3IHameV1TvqI22YYX zoX-y@HOAnxBwRA#%z@EklK70+TAIx!A$X!F%5!NAIOiyrN>t;Rg}n>NND-gl*I!KY zyq9qM_jj^<=26~o*=k0|?x!|0LV-9h@Y^cI(n1!mS?zl_oNq<+UOx5aJ5d$3KlK*Y z)9L{Wx9rO)i(k9@Prvoj-sg0Pu~!w4%tpqBb`Tpx=eQvsLi?+4=L7j3NNX&v)$}#* zY)ir&|JYY3uUNXY($~|YhsKY|vC(6kzji&rdrTbhz@9y<U9pNn98oG4dE~$Wip3J$ z<pPb)MKmj2jQ#LCtnKXNf(_^J!-w~fh8S!C7g{9Agig;KmeIre?vJ9b>%y;HGRlq} zCzXtyZbt~~i+2wC0S2P$9{$MhA7S!i<E|06GUpV7lXlVt1d;X*$B^$OBjE9fK%(9? z#MsBG?)$&jYQ30d{cC#;93-lg{M5`8#VAJF8$Mh+ni3H-1dIs5d%CI}bX2NzT2FE1 zIkYbMRc^ocM-=uwz?&{Vn+5SG75kW`$L<f!seQh7?5LQLBmbCv`mOgeyh%>>SqZ1( z8P2+mK|jQhy>9nS*B@c#lT&FL&1ja*9Wf)bMf`9=ec2*p;3m@~IuO<GxPNu>N;z;t zGZOpJy$|ov$$H&1>UBzmQoc#s2x*o(bz_+8Bh6ewwGh$WS!MC!#T0@=R&5}8&a3#r z1G{NGc$fbEi_UfLx^RJPp5AMUS(8{a3q||x!b{(G9^1F(PY(Gv3IGDy&(<(RzkTzb zkNnOdsoyf~k~qmyr}=K)b`?!e=x$3<H<>h}QCIs>vo!IF|MA`bIk9ESK;-`Zy?6N9 z^q22>;2|?TIqfRtGOGD$zp2YmAF#&E&DF|M3_`U~q)>>-oTs-O6E9m$Yx6HL{K#SX z`ak}k=qq3R5(hJLsGbm!**GqCRg8qqCz}JDwg4OlVJP&|Z?D_?p|?!AslT0eS(Lae z%ZWLUC#NSwAtAW&v=xoH<~^-0`?B8|{;TmJ`t8oE34j!0|3?q*y3db{9E&=tWmT^j zF{D}2=KUk`Q&0_=^9VNAsE{XnJ(Ujn3Q=fPJK5E9*52`vqwf%xY<VQ~ogcNP`&~Nq zDVaL*k<M27RY2Hza^2GroX*cz5mhv7W1G2V@8C6myZ(J*LiG&>vN(z&Rm5UQgUco~ zji+7XUTfo*zV)8}K00@_*dQ=4VA8?=@Id^A8-LqdxuK)8w=;M(aa@oj&2nF2mEd!x z)u#^AJ~tt#k|imXa+v@jd33*|PQLw}uYK|_nbSPJ0DK_<Mo+hj*r}<gZPNh;%p3Rq z*)>PB@wrCk<C@DPRUc|04K?rMNmskKK<%Yl_skRiT*^Hd7#N7MzkBy*$fj={ovvGB ztq&q3Njh(1u_1(ja~bm*B55_66r&hKWPD;$teSt=vSlFJ*gsGJ^2c>;8Hn1C?UHA; zGwvDG1Yn!IY44xC@o(1u{%9dJZ;M1rA*crRUz_SY`j$8T_-~Fr$)S3I{vlh4A0E8> zN4LMMQm|bYU$7}On@uy@-eM#-ZO&)yHW)?3&}b%DA?zDDWLi^Wk1gxz{QAzJ-}4|I zP_}RNr%h|(GYdkyS#j?NfA_D?{k=b*lypsOqhr7I;0^cDKGb#VPusaNI2h>fx9MlM z|HQujf4uH{cl^s&JG(n2O`S6$k*G&Ra+1#lMB1V;iVqp%6BGWyJ$qtf`7eiWetU!d zUdwj;Y1bS2OgrX$$J2nwLxYb1kIX*`Urspi<_X63?Vc?Ik^kHu-b(*}ecd;{wc~Sz zVma!mR-K6pHaI8F<+TRd&qgQ~3bfKR+i~xY<L1QCTL;dm{ncQ9zx{bu{l8fNj`wU0 z>Hq^~6T`BLjVcU=lQzAx-3#0Q!xzFeH;&hn#(#>U#V^=5a+I|zmOGy{#d}AgQXsam zjvYE;8{Wi?V~20+TGI1|!NK?I9OkEEd-}hbF?%9Bz#DG-b7T0OWvkaz${n3N{OBW` zy=E<q+B63b91cd^|NP^1qwgLZ91N%WVRZk0KTc}i;j`V>eR$o}jC&<f^a2WnB549- z_fRxn=9UlKbAkmtGoAq;c#5N%PmAXX|Gzv21`IneEZ%f{g>T%IAG>(wA*5%<nQ>;E j8E3|sab}zur+EBd#37otFg{<E00000NkvXXu0mjf9!|O< diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Ribbon.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Heart With Ribbon.png deleted file mode 100644 index 8057844bbd08f9e8b0bd06082fe03b772591ab64bd2767a8b1d7cd3b1019b2c6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15428 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Hundred Points.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Hundred Points.png deleted file mode 100644 index f438d343bd4ba04788fa6de911b3c5e9c1a816ebee899b613147407a0bd45d07..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8852 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 WG=rOL3Cscj0000<MNUMnLSTXjJHdGX diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Kiss Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Kiss Mark.png deleted file mode 100644 index a39998b5ac9c46fbbc6c090c18e46133dec400d093519599a9599142f32b0df2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10319 zcmZ`<RZ|>{vfN$V-QC?aNN^9X!QC~u@8TLfNPrOBAy{x0cPEQGf#B|TzxxAD)yV7A z%)@k7cdUk*0tPB6DgXe$P*RlD`mdY+e<CCPS9h{}g#iF&LM2%#9lw>+V23Od-Hf{q z*vEslK&J_f3=$B%g(7hd03{5&uz;C1&I}>jIu*+y`kN2Ph@-IF<@fc0WKm6F3kQp4 z2L%p(;RGKIeZ+*)<b2+_c>jh|u*6giw#%)9G~l%MR_wNTXrV2zrVG}waeHP0EmmFm zpV7rEA6kP|`_HzzHU2)xatK{cJqf!Y%{91}=v^J@tB-efS5G(NYZj9)^v&?4mQzMt z+;uA=L&b2(Cqs4xG%F>2$1@pm@4FG`Mgo8pjC*Y_Q~U(rQKw-p4af924WfFkIFzB( zm~tEw`6BSGM7MYcyshOJ5Cf}q2XbzP_JZs59p8gq=#mmZ&?hT(;rV5)O&)dEfUBer z7M8y|bt;bQT#?XwUNWLddzl)C@{AfdqnP7S0Xu*JmjUMC%NF6@zcQt7vQ@S}9D${K z45l6fPs5b3TF&`-IIo`ywMh2f{WPdED%<c+P9wJ+>L+6@wkrCKt)A6KSGF?Q%Fep~ zoeDsc43gIHo)Tc`j1w0AB~#2#hm<s?wal5l@(Yb}S#Ryxcg^Q!VxNNU`lb@1;J6Ox zS;Bmb_krfrayC|$4JX!!U4NhFT~_HAmbK>~Um&q4s(0Th&@0GC;>eVgBK)dE-PbKF zd$bU@gjp|PS#<B3(9e~Z<z&=CHtItbIG3K@eTXvswK{YqrHgE+1K3SD6Fb<0cOefj zL1=x~#mtJ4JT)ZWQ@~ovwwcE<s?xZ{SJnti2B9ulqU`7D(+K~y#{YPwL`()}t&@vT zky@UXfSciR<wtv2x9`3WM<>Y1VEJLUyhM(qNG*hoL*d6SYndcEXz>1kf7|`qrqSlJ ze*j=(^Xr3(4`8#|5&`bwYvIX!O}>OggC6o&Au6x{7Pcf=5Mvz1V)h0y7MH!O^z9pe zaHj>c>QLmOE_^6Ah>;f8{IZiAgUr5$&ltMK@E$TydrBlGb^umcMW(_?vzOEjMJl8s z=MxKhH+4v<b2~|9NEA2$-BlnxRx$U9X7*TKcUIJ(v3bzKb4yv&M1G$`q~wxJLsn{z zvsOm4-3%d%`|%)FD6omt+#;D5St+fvl?$f>Ac(>9rq%F<*Mus~^<6|WJefOpAs|WC zjjR%XKz2MbAMMBkbCHYl-!#6@ib?|8DGO?AIo-ZpPnCXg&^C_k5i06BEKgO9Aow)l z{s(pK*D!4$ESq`#g`>&Xk5XBp2ZJK?-881g;-yn%+YS_Czzo2NYy=TQgwdF#aO0a| z&~ymYWDO{WV=*$Yg>@qvQ3>XyWh*5qp1x<j)HSX|o2SyxO?;ZpYO(Bkn<04&`t_^y ziRc(`dc;di$vBbq^S@eca*V8jfV{pQfk74%5MX>eQ5)(w_IO^U%QmGS7D*b-f7{9& zMg(6U$zv@MApVlUwq?UNGlcfVA_k&M1U*?p7=urCM2C|S-|c71_}Ru@=m<PP&_LLN z2Ss{<%G5rSe+KNpyQ2UiL0|C~Cd?V+<rrvmhX<A&qGr$66ux04g`B8CjZl`}&jLE_ zIRb>BajvELlnPFZE8_2<_R^|x?1H9%X7fu+j;`%a&zA&$GyFjm|9l)P^b}wt5CXm4 z?~9H6F<$tV=mtRmBlq2saewJQkX&XD>nDO#(aZ=Uv|)8o(XhSH5z+)sifXcDCI=5@ zC+{<sx7zh51Hw{yA;1|^$R{umQiZCI=OMpMrlF^sCOa5;+iGJ58w}(*4F6-0xI%J} z?^sZm2^F0|7Kah-bqBalPe#6cIH0hW8J#)$^PRQMf1V(OGkWGjp_fuYr6hUyE_}m_ zFcjc*jRoz9*6cb5Hg#X=_<8Qrye+GzxLLs?O)B8~DI!MCei^W^4>?#(>Df-p3h7tS zWKFbsdL;V!a5!Cb6D}YbNQONOHY|Wtza?bLS2{O^#(j~tWkwl$ZV=>pz-;v#L`@0^ zSc9_IQ5gsR`7CjlSd9TX7ymrRDRJ?UN2LhK>A=_vccIfm*=T?EaxvF)!LOSakj1|j z1JqSiA^ft3OFbg}c1?7V`2+B|1-&#UI`{zy087+hWaE96y-GZ%dHIt!bEj9Ih_m4% zTAI5U2}aH^>P`x;dq%Rx5(WhQvy5Riz#kC+c4Ni$Z;nsM!avbv=fGPl3gB3^MCIZO zJO=|>k3U?gzDO&)jWs*Dye;r;F6E~nc@9aGomK0kjp#Y=RSGtIE|tR$RFB%r%a_qM znt3_S=3AN4@SqL@BJcT2R=|twqA%ekMU#*~UPoQF#@mzOfnLY11B0l><Pc0@>^*o} zckBVg6aRX3H=tn-^);64!`?iYb%fhmo^64f86EP7MCbcABUw(RKv1b8S)$`h<xiVY z{cJYcP+yyc4jT+}JqZOQKQ6Bo5+jc(qt&42W@N$=*&3QnKF6#WZ~(<m;ma5FXKTzB zScTn-noOzo04P@)3)D*_{ZeGKEubDLWFykIDGvW6aS)ayf;u{7hkcJlokF}krKY0; zrUoz&4qam>CiTnHbbcc@{u#6Kt)^V!jk&Ys8-FtioKY?G<_s|t4O@_f{XyGlI=PYo z|L7!9#CP3jC#9|yIML1T@FL9_vb~_6H*0&cDDA<iM<_EyN1JR29f#(73KkcI(-iXP zB=TTL!ZTO_Y?%QBkbPe6uHXw;U3AkP^e?X0D`Hm3F!Y!VPF^9|c^PqRpPI5{P?ta% zU7JPvnn4l;U(Q`7d}Q;1t6cmFzLOe`2%h`3OEKiZYGwpGMiowp6%d6BK+XcHFMp%^ z3o%3t=hinPPkONu+B$WLp5Q`;z~<?WJK8}=&vKDaR;`QtK6J$`sUw1sC1K-X{1{K! zPsJMGbYuLqsy`5AZ>(}cgn?;EUc^F7QtZMqAsNhkv}1BFJBi{@01p|IkJ<s>mC;@x zf{;~`7=j_?iwX9<kqK~>OP&mqvxw<!BOjPPi4Ac90N^6)Q^Fp24Xx_9ZhjLj<$8SX zdLMFy8oiR6AE5QXwYO&h@<esS+A{c}^>guTcmv}yL0YUb*;|{w61?heAUsGR@g8|$ zDf-%QUF6yY&OljR1lq1V%BOe_We(;9BCwAuBy+TPyczoOMc8i`Q&@%?Q_CJTk`FPR z`N($-vo;-~O!4=}3qB<<Ro3CWAaQ^LQ=XhLY?+%)%0!&Ur<3wRQMFb5GVx`h#U@kV z_th2y+xT6q?dR(mxFaeW1#qOqJ6*3yiwi?+$AjFGJhk&}m3m7$gC0IwAK?#B%wx;Z z_<50UcVYD#1@Px=yt}sk?n3auEjzTL<q`!Z0F&@7R0IlYNUpZJw#oz{c?gXTlA~Vl zexyY{*OS;zKTB9oijt&xfq*b-?{c-5O<C$Ydd-GGMTb^3TXt(V`j({OvAXX1kA8!? zaMS-`Ay#VFy-#oB%Rncf$*(@6`w2akXdHuVS@=Q_1E>#PmL%)!zQ60qOSUWA-Q<A! zVeUYRsuj`aOw7956K(7~1nb0rvMGqf`i({sU+^0rLgZHxau`H3B<&0vaUm+%5ZPkA zAF)`@Sn5Jj8GsYCsiN7*-#yKYE=4e;$Kh4I<5#@b*<BeQ$Mae#?KSwgJu`Rh1lI!s z|KKvtYV&-13D3{x+5IPKH+|;!v1sa5P3}_xWV*le%VRZyFS}{yOl4ddJn>zxbAe1h zv`_{o=)}<eC$h^Fb>IRIHsErfB6&I()8IGemob*DajvM>84Tp1VVa?EZQy{Ej(Kk1 z5YLvs266=M0;UA+Te~-RAvS^z`I3mNEZ86hH$jyeJ2Ea#(os{onOm^A-JD%5IVM;K z{ht1#tG|key(mCTEbtBj^0iG%)Q<~bG7!8*r%%&N$QTX!7qQ(-c8`GK|J()e_5SJR zeq$JGJx+mD8#r_Sx{GDPub#_VC2WuhuIq#kTI^DMI}e0X9m}5$Sj|a`ep6WJpeSFM zUE`;?+jyoy`vxZB1cZnJnh?R>8mhjKWJx~CE&A77t367i%))Q-?rESX@k!}iD{4Yo zB#kVC+Qo><+bk7Lguk-S6fZvz6Wo3fC9c5%L_$M+9DFux2uCCL3N!zr3*his+LWV` zFZ_)uOTy+vbhlbmQBqJx?^H0oYv^BnSsP*{j&yv@zMLJCLfiKZutw+OGbRR><%g}U za>_mA9~X2LZ8e%D?)P-zN+XUAC2k2ro+pT~b(9rf7?-~KxPQco;E7O0<)L8_`;(48 zBi}@(NuM~4heJ!&@ukAmSzKCN4g0gaH66Z7)<UFD$`0l9ZwV7;!!zObRyHg^()4#< z`u>hSgO18r?%|38Mx5Nfl74k}5pJ!~-Wk4MZ%-#XBUN{D{@bStH!}YYrBri7gT4z_ zeYI`b!_0%Npl2XXXdnm)(Y^iU!k#(>zx$p?b)5BIgm@saCP~C@y`G1ywxh*r@^3yk zq)S{VS^ro@7H`EnOYMma+K<0TMPy<{bxe?ihevXd?Ua;-MrqazHq`vyywP{;58FF{ z1snrNX{cUFvM90<D7vZyonvr-P~m*z`mJKyXeZo1Li|9}Nc5|z4~a6wN!jUhM`|D~ zL^#q|ySQIBg7(NmD*NEUcmlwZtlRxEUrKX}B_6M}JtzYkr&urggDZ*kF5!|hTfG;{ zTH5he(pTD$&FHPr6OoZpJB^pA8vExPCXKh}`@TSDyr%0Ab3;+<d+LRIGB08+csQi; zaKV=ez>cuTcVG1E-uBnA^sk5Ob#Bx|07W8lXp{v2IwbQ|gq3?#BBoszqJX~&PmoN| zA4SizQHU@@(S<!gjjhO{>R()n8JqX_9SKl&D#KIynjMmF7;;po)-a7NEGGto@O{SS zi6Q<3=!Z5yJ5QCD6e!_bR#B&jdh@Z=$Ww{!->!x=-v&=->chUVZG3$)+C*eUhkW5+ zVcGP{o>LTHMUnM7w`d?cq2NuzNC<w#74rEz;NFE(VgRyd(wlKuFB@&4dfz)Twtr`l znd9Hb^``ABuD%sv&_o}zm89UqNkoTJqQC>hOV-9N>`_pD7W^3S(p|}XhlYMCMFf=8 z=E!x;#q!V~h?<Zn*2Jd3KQtDk0m|VNhCT!NcYDuI;qYX3kqHUOh0`}S6HiFklEoh2 zQ#;P(FE*;o<$mTXeb|c4P#fk8oS{cCA4&U?H8XTM2b*1P^Q{3+kV32BPn4mxh$q_M z+5yAB=fy?#`q+@seO}dF_;Kfvd$A%5Mcc>mnVTV9cMEuulkjunxUDQ2bYUL=3$d2N zMC>8MF<kph5uo0s)3A;SMKL2+mHJwwARo(vu#knF{-8h#(Rf5A)RV~B6EjsdnHtXJ z2Wo{rPP#I3&lSd=nhE4V`v*v*Ec~kkWvv0ogY@z6dw5K-%`d5yNHv@LDbue-4=eXK zcd#Fzf9g{GF1wF+iK_uTSzL^eOddpd8FU%S<cO@0$4GANvR*&R5qIT8I#mggU;AU1 z*RxosL`cRGmtjwcJBIilY!UcaYPzt>|40sCm*UrO%cK!A##->IYA_vs>ZFu1^Ci4! z7ov%E+)`aNKkvd~ywG@GJnsv9ba0=NrqLiMZ^cK5mCl2Lw@2uMMSTNBSu;dAeRd`6 zXZqhG%RW4}?oRX%Qylzm_BqkBqC7o4=Iglf&%ETL)^*qB^I8u;H}&`sL;%K!aZqPf zMUexAOGZ^X5c;9`LT|y2`kBisXNbp2!h4VcO9BXlTMI$vBUV_XC(qir8KUpjr`A~- zNpWVJCC2*A7siQS(cv4nuJp~UFPAtPEhI1h0wV4=F<hp52MH?=xz|ysE4jPNe#$g> zKl_AwR$P4I^*)kAozV`Z<xL9ROWAu+pj6@{HkD|)sYh5%GHFVVj=FZecJI~125*@+ zs9qcqDw5mREdzk&4DKuGGAPYa?0-vEf$+??H?5)Ugx4Q-U3gf*m8l@Zie4js)CQt_ zBvHL^6q%8<V{^`K;-J|_#W4ozSPOAPwxXBr<E_c8xQW0zDV-`BDOAxz$TKtr>X74u zk1CkYyM&pTX+Qt%^sQF<@~3d-hu5*~Q<=r{lIJy}{UzVE<D8ZsO;^|bOmz?SoE`Np z>n*2~r)}ilxIX5Nr7E5q@Z7xuq~XV`&4Z|@5qZKf!n37Hf8jxqGYaKBLLGd-paqPJ zJG#tnkFBh~o34&i>@^~*)N=&*@W|)>*c)u7vEROTCpbFs`5g-`NWAM>Pl=#SnmySW zFpmt@3rg)1l+krwa|&ZY$IXB>-=Ojq4I}~sJB@ZE&S?fVUe>vSt{bN=ODp<hF=?TK ze3(Wa{@tPX8>G|XEtZk9wVc{l{RoY(TjwH)kN>g`Uu}vh-|s5&49j)wmwS;OR3Sf8 zv=~N7s0P0fG>`N;#Q<ZpkmzBBXIcgnZ2CW@pR!+Rs5<wH(+ow@{&lMjdFcLvgvA2F zkQa#kG!s_TLs8F*OYD30O=4PZfk|TEBe#%5m<ktMsk%(iqT9Be_<$zHOAep8TL+x& zye+|StwEJ$vsQ^^g?!{MTr7;g{=-|ur<80bW5c&~Dunu`IuzX{WeZO4OFK@!Li3YC z9e>CK|DkyBtC$33U-ISL`h^^%x4@}xIlTXiAx)mh5nK-qFxP4LsO>2zv#Nk<KL$VY z1lB&Gfmf*1%K`1P{?iv)Wc4*gy_n?kq2j)@6yo~)1q^h%iQ$uWM#sU?G^|d5=p0?B zV(v(9bqZOGt-cdB8^H?hZpozh4yb=WDAN0GqG5{J<M*|}dpLERtu%a3H4F>FrNvFC zDx%Q4^om;3zD*G0=UDZBCmRyXxTgi$xM`+?A_&;fYfPMmr~M{Z#S39<A-C6VCUYW< zZa%~5d(aP_Vqan}(Tj)~+dYijf(CN4Luk-%4|{1ohd|l+OyeK2XF*@HHsY$wVsO!- z3Mm-`E2@Ml_r>e#?n3X{jv#mOaE$UvWJw=v|LUmpR8%38^#dd)BvZlaBA6SO<Jjx3 zfR|{h@I<_sFqxSvSiJdp2w*nP7m@(9You1X#}CZ^*yc}kOQ_7SnO66Z|2ELHFPOKw zDRDQvv{(js?JwU9WWt|1GkmzwRu49Rw21C$)~GOR3ptpYPZIwJ)fFH^86Z8-I<o9E z@cm;rO0l#|>bz#67H2`Af|a#@O3tQf_A?6MKRUYR4oVRrBWtX%-wX<w3msS40i!(K zmNo9@`CA9BPG^Z5fcQ!taX)Dwyrg9oonHNxc0@>TcayX=$49{{@1j`9!Yjwa1|)q} z5vWRXTP7I{86QI%`%d-HzqyPugIo}*j4hf%>YL|h>3X!#_G8q~Yg9(P`gk&DtDxws z!O5Bb&CkTP{ZcEeJPD!}Qzimv1zbhnvh22`axqyzbQ*d(;iT)m5N0N~Ub*F)4wZJ0 z`UtE30tR{noQkQw>>I;r#IQW=x|qRUWjF%7n)S3sE>tn((J8^~3&}}~X_Id#v4;ZE zCvCpu0c<-d7(^H7LGA78Y@MqD3po$F+D8h(w1xo!F*j;JYyUks5c#V`d-lI!z`|6Q z`CINC+_?i!P_t@k=`InKzr8^1G4!9t{@$PhS511==syEf&}KAmKYtFprHnaTc}c&W z`nAmE+L`o+&%y#_9Bt;-fi%)?%*9a|e+bR~8}?C_SE2_~czuWOyC@ZDMaOOUYrm8= z0}XbrW07V<0ZWZ}63<2#X$e^mVje7t9(6uy>_fS5j4*dWiE^GV5h_gU&T}20|2AT& zj<5G0fte>@6FWV#1?hBjJl4+Z5rb}iF$v{ai+MWJb81E!YMFG}r%Yr2lJ_3%lgm%c zRXMn;c!*<cHv-|KGtT_vGvv*W)7B*4m`&w>ZaYu<hKH_0eyhN4Z_fx0K91@-h<}&x z+=*@DJMRf4hyL31rEuDXTq#9QI5g(-<a=UH9HKAc(DAvDt`#N8z+o{e-af-inrq*F zzqGNhwj5LJeh*FCE_+*wPy!wu9$6Z8t(^W0S*(?NJZZF>JNhHDo>&mzb#3cn*O$r= zU#?e$7fbtnQVVfRvn0Y;8_&kh8*yr=XPDY^R}6w{uG=eL-q<WaCd&4q^n=3m#6*`H zbvHd#+jNxk@Z8UX?jO*bd@i`BxZWM1CoIz-XNndk^}GJ>fo$(1GJ_>(b}b*UNrWL) zdQd6EscFFSr>ARJNsTm}msr0cC#<4Q1637v3`6#MZB+PFQC1bNe|u9b`m=19z|<dh zSjyu0kxia{?mPhcJI!+{6#AYN+G9wtFwcMOtM0tMviY$q7}hzJZJ2Z{`v-L|0#C9V zY3)%|gA;DP;DUi*@Ff#eq3q5|jgXn==^|Ukems)6X3|u5g<bzq;ltD037kDg!2xQI z=)vsVenMy^lh<t1w*>eo!{uZi*1Z?NGM<{^Xsa|&Nrm>Q?$|CrqdrRYF&Vi~|F@6c zN-qD9Q~=kQl1)|PGf^0GjTYgo?T=R(94Zp^|J=Tge7QRMRtocdfR1N8i1mkj-&_bd zYE~fMIH?P`x}y{|efyU(JVj1L8RD<vq=Ng<?U4!<K!C2bagzzk1V?>hruCAhm=)Fy z_kw|kSjd!qWFPCLV)81qJQ;*ODQ<@5BKjdoB>jB(xCmxAY|TJT*?UH1s3xPVgITe; z04bKf@lgWzWF>c~;|ZZtKj31EZoJ~u67c5NxQcnR>ijw!ec04f)N6sC^eaD8A02uW zjZZm~i5w>A<LHgksf!D6vHuM{3{++7cN~Q6Fr&njHfky0eoJLXI7i!b-)LJ0IMJWQ zgk#PAdhx5?0o*~2d}Q9P?Gz13L3Ob(3(H(d_-x{!iZ@gDGG(HltRE^q@bRhovR$P9 z3uC0-@}+&BgiC+y^OJ3`Dn7X<>Q}@^^*B_Cr(JM;AsR8c2Zw)BRu!_hW&+8~)RT`v z4KOC&2;4|WD=FvvI6>S&M^ztZe^7<kh}XW$P6q@po=5pQuXfpd=koZ{i7JNp{3{MM zR~m|4g>BqJnv5hQZsML&6uv(>PM^*AZ-Ir{)~}6`7)e9MiT~FO%erLZAk5AwTrDUe zec4+!($ZM{IiZ=W8;+6tyz82f{pCjNy4R{~l&;aJaZx^M@stzhU^gpYsF5lk;^qd| z(3UQnrlYr`wGiH(=)C#Rs;~9lPZZVV1l;nYb||3ah;Bv`Eo%;PvG*(1s#)l{UKTRV z+Wh#jo6(FpEHTB4m9dz%n3dfF6ve3#yc9}4c)s3fqpicHD>jjZDDKY5A4fJj8E7kl z7eD?9xgUAXTrv_}5*-3nK?9+)-To)1MKxH3N<IXCftn<)SfuSW=goxLf4Mnb4tdG$ zFSQZHa=0FCBsgM&$*|GVqAKA+hcsM}Z5a~JxMR~cwr9@c!}C@8H^=~6*}H0n8pb|z zr@_M<5^w-PS1RUDSYd~awv!_WM>b<6FA7|<eI-S=E5tl$#jzbcX|xSf6~Mo#i=mE_ zM0IVp6Zd?-2b83nJj>FCf510<To|mc#}-Cr$t`{46lX#_A*KwsFkiGM_?x@{mt4ny z>1b@Ad&I#IZgtxB16VL`s_d{cV=#If1^Y%JT{iM0n7c0GR4U;)RXvfOaBUf@yU;7h zXrRWP>&aai<D7m%S@rz-Yr_Lt9q9%HGkq0tH2tn}W=|txLSv?FVik228T}gr)51}u z(Tsp8zg6WnY~0puz4_WlzYdZuOCfbcW893+ust$#l=hD3O!?rCyLhceVq2)|_@F`- z?p+R6lqz<&oSn;s1SDW|_1ljk60;_x_(AlXtOXNwCo~u=3EJ;gURri?@KKK9&%h}| zTsDFobPDo1AhyC=;aTf5XLDuIoV;tkPx86pai#v7C<X|B=+&NvX+wpFT$V8dUdQsB zWb%4wMG;yB6ar=>iD9BI=5HgTW-lE%o0r?S!Tq->(vXF6+ffZ0>*9`{-1o`(?=83^ z!Zn#VRL$_hyPp&*Kn&ZC24BFrE#@1YRg{K3AJuYg!USzmFa!o8Y86S#^mS<jhYCqf zW2y_?s!v#dHFweZYfX2spsq`9%&HzRgbSS?`-5M1z_FOEgz8=6BqW#Sp9g@DpBHZ( zIO2^sO4!g3zZD)TD>WE7qEe2hncfUe-UIiOS?bP@f<L1JR&(TgL?T~p<c@Jc4H-)g z<ZVuR6ygU1ZQ5naOux@8*}kGGu@5byZ8YsPP5#Hdt5@qij3i~h9pMxgVPK*QM}kW6 z^{jhymzP;iRhQ~rI&PQLe^fxAO+OjJiup|SKoRBy!e2JL;K@6-g}Ysw_Ufw)9<n#n zP1Xo7jT0sK>_TR>l0n9jljn7YvFY=8;)UGV=u6iHFllGf+a2=UzC>6?fD<f1+ErL$ zCAilT5J7prw>{k1kvCZqDcqoOt1IQLgv~uk#*q+WJ(Ym@Faz2C1;R-|l+LH3KlhR6 zTAEuV!qltWa|<y%{oRd(8f3piJq0WzSD^W7P(MRPMYWi6*?FCS<v<QAMcIkb>a5$L z#*QgZMJAlc-GAFp&fcshd2c4cjB{f@V;7@ZvFH&21N@nuhQ+RaSCAGLV6v2SBAqfL zSH|-BG_l$?>9ENXx^=gT+*rs7QMFmfbaq>9JaSBhwB*pM=_ZOO)e!&`a~(NH$X#%n z*>gh8Lo19=Z!tc7MEP%ZQ*Bq(X=P`M57m%fO#(q>2&5IB7V~J%PSH6m!Q!L)2GDkV z%0x|8S9flR^|XijkmgiARuN5h2OiL1O7F>4dHOO~S?}ut_j<ah@}o1Dqz}8mcRKrB zh{I5vK=AWU3Km<1rCvEr?x*m93`?HB!k5apn^I%v!V;wG@BsA*<Gesd&k>}q&qyH} z@<_S{B+euJ^nY1sJ<@Lzu=)Ch;ss>rZi8@A$F(d!qxENeukD}NF;aQMDj}>XgbHWM z_cyMy12v6@PreHBX)(82me5ZwC#1+@ZOKBZPe`d00+XdYIl<m~d_zSWv$)~{I>|#5 zkbnNU5zA(x;94Yirgl|M6t_H@2N3v<nAf8LI3Q1OQh8K_UrAE!K*JR<>3{n|Qnm9- z)dcKs*&D{z=z=8vE%AuTIe4=}=U_TAo)%ZR0?aRhq6V)P83}J#C8#QXoBsF|moXDy zugsa^KuM)3_IeXfRfirDP^~4yD%!w8kbj4SO%Njj9TMJwW{1Fp*r&o|sS{14rz`_F z<MXWOG??YD8B8Sjzfufx^V*aBCx0KC6&ySInIX59PSqJNsC^l!Pczsq!EsZpPOXwx z&Pbkg|LjE#JI8PIT0^+qo~{E<^lM`|yqkL-sF(UowX!sNJr)KDc<pYsXEzx#*sOTg zs>o?nDC~gKYc-V41Il5^;%7^U;zh<yv5HwiPxYVUqoT(mYd%Kk=Ebz8+iD;={)?{G zO$Hlec!3D3!bPG-44d}8*iSW^Yj0+y(^dWbLIEr4=|LAoS_JGzws($-WiEJ<7S!bn zy1DY5U_~T*PN3Vyl<RP0D^rMNxmQ#NRWWqlcDg@|zmw=*OAPl-ka4@#<<I&b0}pbq zSKc7q^c^Sg4N2nG+`J&2D(;YEEx7dk?HV|`bQE6uI}BNrljoTf&4GIf<Xy64Y=+7? z$4|!-Eo(QwEQ80_VEZLMJqrP47repRiv@V39V(<|+PcWb%FtNqgU5{SS<6y<rr%G_ zoS~jB7sIGCDO_7Np&Onwo5;!D#_xU|+a&%{J0tG6;Z-SiS1?zm2Qw}C>Brl*bv)61 zMrbFYQDI=2Z+FihxjI!-e`V?WwQV~hc3F=x9rskpWyxHySQy@)YCFZC?!a=Lj~)Tn zUg{=eY&_Z`eO`y7XtaWlOO?X`m%V(YU(?gzsRi&3y6(uIbL?9IidHwwg@<Zk(lw4z zSy6rNt(BvHfR}fk$1+$OD1KbB8=Fi>pUmI4N64ujfn%^oY&o9&PMi1n-O26Dy0IjD zru`PYGPzn%YKJJ6!Hlx2w~gP74QhXWD3raxSn_O78~b%QX-hqCBSsl0WisWrk@_Le zccaVSd^JUTb<+~$vr~<e)wEDN=g!Qg7$d9rJxkOoqbqjOPTj`Q5G$8?saTQ2J1$%p zO(tTyp3^8=-jEA<xO)|u@>-hf&9f3%MY<`Pe!<b<*dmB~IAg$W#*%EbLU8snp!*nf zsRo^wPm>0({dve{j5v3(`z{Cj_u$*30=7JXQPKJ?g*B<@p+zFZgQ-ic>B^h+z4se} zlQ7U%k$He~$wflU7#@cj!>C*2k+4dq<e<3+{q@FkJ`{Onh7(dw$!v|UM_`c$c4ipe zf26xlZ_kWiD-;+M0Es&b(Uc2f6LN7)+te}BJ)+oT+j)<dwg?k=y=@}FQl$}>{|wa& zVwMtz%jY2w(^LK%GI8k5Zw+9CAA&-566ySTonHnUMSJNrc&Ym+9jJLq%BW-Sa|=Ed zAZwWrOJXFbBkr(MZnVI~W95|GwihW2e7j?u#!S)+<N5wF6ECkXj__|I^X_%<gSp$| z;E%bzm+kwI-wtQ<e6g5SDio8Sr&X`T1sz9Mut(s{{kUbRZHa9Gh-20HJhJpl{5oN& zy%vq7apz=uaxyi!A|O1W9Ohmj$|sfG@<9|rpDEcL%NSuXKI4HG2ba{k1s=W1%f4lb z+EDw6g(IBG2r6$*vxcLlW~cS|;MikNN~Ky?>cS2HIm*b2#C1Iegxz$0ZOD;FhiNjo zKOxQr6+PDuq^#bd8SpO>yi`KuTpxyi*xAs`QUw<om)<|nB#5+wlcKo$Ce+)Abeo(S zLW1`nI>Uht;XcTdR94b=_1oad{3dj~^x=s1jNfssf^IbMh#j3~o*Fv=FUE)-uV6&C zV+~y97PdYuH$IS%PJ~<nwR1~*OQyWfGDB9R)i}JA;|aFI(!eaG74aWYGS~6LQA3zn z^XcM_Y6|gAmkYw#$tfCe1SMR<R^gT>^)C0sBiNGYY?$o-s-zW`i>_B?y9M@JpE+i? zxZbm>FGJJe7#E!J=DN<G8#8&wF{B$NaD)(!{u%}$G5+}mT?`W6u2Ajff9{64SgtN- z@$gCnv=^T{XI|v9<oB4L-Bi1vj?CY{`>|Ru!68ZwC}kzPl2ol5Rq7k@4t+PY6D_FD z+>f!=b+8_nbqm+&`*+c^cV=(cxcIm19md-c9z3>eVCEX(YFWUb5=VNoQGKm;wcHz9 zh=3TZ7!s(&-?>wImyM(zJ6Tr>LJKF97_~)D0jc4q;Gx#+4v07^A+Nf4ZT}rzx~CjE zDc$AKSna3?;z2t#TWik1+o|Y^zn^UTJS>DW9jCK_1AUI!eZY{vB~ZQ^Cq%hoXdv4( zCTq(BbO{Lg<_mWTsB})GAmB+#V{1n2Nft=mJ#>rg$`I)y3Z1oOTrRiML-%fP18;Jt z|0-{xd^|!k$U1c9?D?Z_nwnf?$V->+-QmgkjGkkEY`P|HaaHH|a_=)}N^6|s_pS!* zz`KB*L@wR*;0TNK##vptjdUgpo#f1inAJdz$?R>f+(tkBZ};7Q#=KXC<#!}VjI!&T Udd$>+MnQm*oSJN{w0YS70r04`P5=M^ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Left Luggage.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Left Luggage.png deleted file mode 100644 index ea9ac7fae4c92aa5cebad0ee0876afe9656f7e64d640ba5e702b8a2f2987428b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8705 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Leo.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Leo.png deleted file mode 100644 index 10f0e4110ed2db484181e55f6c244df21a5f9ad591238088571af841b7266c12..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9870 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 AN&o-= diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Libra.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Libra.png deleted file mode 100644 index 8e3dbc0cf158332b44b567e5d593ee04659e21bea31b068d50bf48a6dab6e848..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8163 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 JPDHLkV1lI`Zn6LX diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Love Letter.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Love Letter.png deleted file mode 100644 index 4614293d3955a212be75e7c95407ba4d08202a43e98651acd8d48e673734b785..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6025 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Mending Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Mending Heart.png deleted file mode 100644 index 8ba66be17858ce8bc631a5822cc3fe937221566a7256a5de74aef49f29f49c23..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10140 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 KMNUMnLSTaIIWyn@ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Mens Room.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Mens Room.png deleted file mode 100644 index 7c11cb311e022b42659daf9f856871cf1b0d4c5b7bf9d01764ef771777e61a0b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7137 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 X;_R7JWn4Xa00000NkvXXu0mjfmwOYF diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/New Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/New Button.png deleted file mode 100644 index 2398932a96a80d9fd9d498958b1bae6165fdcf4c44f00609a10df01941331d7a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7372 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/No One Under Eighteen.png b/shine-UI/assets/emoji/telegram-previews/Symbols/No One Under Eighteen.png deleted file mode 100644 index 0c0e04e6f6104974b03b4b3400c55616a43f1c899a04ea004a3762d29ba480e5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11615 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Ok Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Ok Button.png deleted file mode 100644 index 2a602afdbd7fc5368e178882c6b7eab31172df6f02e5f9cab8dedf881258f23e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8899 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 Rw+8?K002ovPDHLkV1j<`yS@Mb diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Ophiuchus.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Ophiuchus.png deleted file mode 100644 index 15a722608ae6774aad9900fdd948c2927f1641aa95b1163eba5581d75d24153f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8993 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 Hu0mjfaegfs diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Orange Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Orange Heart.png deleted file mode 100644 index 3bad33adf9bc2fd07913610df572fc1307b6811383512f176d29c556eb020758..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8231 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 Z{C||QZ=lp>7Y_gc002ovPDHLkV1k?WZjb-~ diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Passport Control.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Passport Control.png deleted file mode 100644 index 294b36468fd13aa3f49630f821da86cec6d6d39e188df4efbddd7d37045d33de..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8189 zcmV<Z9|GWsP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001AvNkl<Zc-rlq zd7NBVb?3k5-dEL|)LN|7mRB%%!DbN{+u?)lBse$_G80F3fMLkS5-`IgW`Il<*+4#l zuw)sQfe;9p$%l+(oPhuXIK&7NFpG^HV`GeMY}uC7t*!Uk-aTjjxVK)ts_vG$rIs!8 z(bK1-((US3@7;6nIluEezk44XKaL;AkK@Pj<M?s>ctQ^ODfy10dDziBxnJ_m-g1Ly z?Kz$c-YDF&?Wo_t<1&DXds-*lbI-9jI!(CbI?wj&^I1Q-<dzH`%ATBke_GD=%jUSJ ztr^>|3n2DH8$j4{gJauO0f19K+3(knUSzahXrb{ej7^5E1nU=^fPlI5n+j;Ugk!PY z8$umn49OoA{2k)L*Td>H-{ebgZUC_52G6#u^hjp;5g1^rgX<N5&F?-%WcszD{wkA! zGc8jDkN67Cc@Wn%S>iWax^6i}+W{O#3$+&HhJ<O%`hJYK8*E_WqkQ8}9+}k_kBb4K z<pUS~?m*T$;VpsidzQJC;s<ekYgGD%HMoAUP>~pBT<NB4p07T}+9mxZIXE@1!K5+b zw6WJ&p5wKCz?u8==H8Ru%fr7>FZ$%D8=(C~&;I@M#Vz|=eD-X7hF^JdE`FnH1so0r zS5(=sx}Vjn0xOmcAmv$btaf_Ilb8w9lYzbClkDEpVrtC5wV>+M&+Jhd-;o7rLg4mH zr+>Y5+q>>M93w2w0GDjd*nWNPH^2RI%?7rKRflb8L+)0d;X|_`QmJ$P(^m3=^VW0P zsROKBmf<~!2!cGh0I5ay)Cz&IN#nssrup{w_i+0I2Ou~qA{M585^Qo;=CnDU<@r^O zJFovryN{OM09&?rwrvZ3^V=^sH}rX<T5&6%8f@?+uZ_U@=M3_a%hq$o$*ajE(8^nc z5Ksk+-Tx#6pa$Z|e1&S&BO!3#BQ?Ho%VXU6!vna=08)D-*w}+!tl0`S`4VpXvzr$) z6J#*~w{rg0XM~FXmRMz(tUX)v{`D@S#;;s)3YT550jEZ-88Cs20M0<&lQ$O=#SjdK zS-=?#^a(-wxaHfs`OKFeB4?1SzE|0Ehcna3;IfPP-XHv6p@CTzWTdTIg)a~HNj~{) zT;;rM`0UUc+~}(wUUlUuod5J;Ca0S?Q5+d6AcPcr?Ma%8Nl*6}VxC|DGtbJQe!hSI z0sem512hn1W=CNE{oX9xWkaW4z@-m0x&Hb?-n?H>(Eac=>epZVN9G2vlI0t7mOmx) zHqDh=&fu)mS1~@;!c5ViG;>EYKpvD<@U+xu1!(2Oe*?6%^!}J`7xLT)L1+b|m3u+} zBQP=DV#5i`ShsGFyMMS7?O)?0ujQ_lZ*;ZsVE^#Px3J{~&pq4h2xh=m2iF_VeE*5! zCw?UTD+XBi9ML**>Cc_W#hW)WIn$t$d7Q;jpNoNIcr$PT%madzE<;3$QFUy$D<%%Z zff<-#5^$1XC_#;(!G8YjJCCvbmYw*jnvL9P)|{$Yb@1ujdhJfwDhG2#2d4-w!LglO zD*NAL+2D{HJ}D1*H9P6FL7sN*iHwdnzzKB)!4QLhppuY(33{4Y$~3J6N!>BuE*Myj zVZ~q)mlsLg%-9TPJ>w*P{NN-zchtqNI626^`-jLUuL<z`T!LpidN?yc0Nc2E>)?on zdu?#lCco;rrXue0mpzTO>-)%CiUXWUGJv9H1o83zE}g~%vy|$KBH{}g;Mi=BG>=FY zfe;qkEd#VGu~#)*f0f-MQ~dMi9>&B}MsF8sj64$hR-eVK*Vfv7xwsjSIG)kaf3aox z$*ymu<|=OE>BB5rHOS;d6LFHV_cUTqOr&IP?PS449^gusqQ_`^n~u<eZWAH8Apy&! z02hK_lP!i<4zh035W9CwI~f>O%MYC5!_>tAzS_l?E!Y5~cMCws@=M9QS>HOviCed6 z1=9^jD|d*rO&kAiV;&XPlWoczF<<7v0*_a_%!7EW^m&J9o0YIg+({eVbvQURq2h$~ zCl9gvk#Xo>rA&{CYW-5+tL?sAoB`I|V*nEDSyTr_-JtmXKKhmqF;Q!vrbrqd?Y|ug zCIkmk_)<A)d4Q#FmQqKSuV}vZ*q^R5(u?b)n~+11<X$_U3+-W6u+eG`(VYI_A^bo; zVR}fs%Y+b~Z2;@ewZ$4h*tRWziSdq8(sfGzP=<<Qy57Wzi#`*ge-ul3m!JsV48@9j zb|uHD)^SpY+wQza<Zv?#18b3o03x`;MGI<e=<aYLs0b$Q7$7NTND9a?Xgf_YFw5v0 z%$S*Wg3qAoPL6$fRhTah92^C0*;bJU!myZNWVrr5CKWU|L?YUW7I2uv7$6!iS}a~% zK|)9o*RezaOBVzLGdBk`oTJ?d)BE;Oo1VmpOS3KZPnY8}=4>|;D*XctuUvtd@A)n* zKG|tb@YEcLOF`R8=q`SV;BkGG=(;e}g<&>-G~>3{wGI!4K6oHA4b|9*UV;-Qa)Xv3 zVuaMu5J$Tt23-@kE@@<V?_*t{3zBv^)G$KGQSFSAQlE5v-Z^M$iwoD+IBUoV7+$*g zvkr~J>~;*QC=X6G*uD>Z)`p$}Xekdc#97CPW@!c_hnDWq%&-&>9H7pDh?qGH?E@;n zVH%({A>!g_cNlpvX6hiV4tP)juW<&L1Y9seaghNeV`k5O@<t<7pJGDOv4Dd<$I!}E zIFVvB&xea0p0OHizGxHIy<pX0$B#!QT5SHSJ=7JPrr~4REc!vEZ9JLBi%5jwD!3r1 z#sZWf5Cp=+K?7iR=xT2aK_W&7f$6*xhr~ckixJi?Dyam-6eo_{9G5-KamF%FU!SMq zVg}j1A<Z-P?4RUw5ACPczaGfrbar!Gw;2$~GSBs&uc1xl9Y4F8X09=5D*K$$`{*7i ze7qBwXynWUqn?8kNd^er!C0&`b=pB#i`mk{T_XfkHO=0IabOE5mUq}pGYCP7IV~#P zc%<!YjfjtNXsyBZzjz|&t?|6=D|=~#J_h?C4}yr0JK<#)pUCN(#(4MFaw^L_xg{gd zMbQIlIawv+onM+JlNNt`*@gw=nbLJnnTMtbK|PuV(X8Jse3#5~YAf}TQSwX+#(j%Y zE5y`1@j7aBK#rBZRJw0QVDChe!S%!Z{OJR{{>Dl6J|-}nvd<a#*4Z<>;o@b$WIA{I z9NHa8af#j#)G66Om91ZBG1c0`*2_-7xss2b6IL2(kcqLUu8=EE7BEoTr?65{sbrW^ z*hrv5(jRxoQ!l^(u@ltA46$u^GfCrq_Ee2up7I0>2#|T<%5zuovrk#hYyR;7pSit3 zb)ZV9!f+pibeE=)ZR{?Zw|glR(9cXz3%G$Q@7><w#=G`V$+E)zn52#{O@l(fDX8Fq zv3i4CtKhXO$oCF&Nf|x{S{mtdS*d)b))riZBQ$^{SY|zmO~=os_a?J5P3tyHJvUbM zXWaPmwY=x#y}aYgHJZ6c%#lgCv!!$1a&?MQa%T>oInV%OWBg?2NW|uvu1nhIDANmx z8VNb{55tC2LG$_Dmr2R-&2@j}>ys|8WD9gc*`kVOnqZe1IEUc6M@x*>?Xg_+K|54b zT=ZNRyzK>RIB)$7FZrM2pou>c0r3gimU9P+PP8<?a6;I>4<;Vv>I+x#TR-!3GVe<H zF^Ea5%C-GDMzDAt_wF^W`Erw7D)V<$a=DW5mmrvEx>qUkhqfnB6@1%Z=HjKVKSBdo zDyX+{b#ZfQm~^s6y1qCW$zsA1N`S#hoRz_h^EWuC1akAy1zB`iR!*A=V6R{uG$VP= zC1<vH&r8qYg3~uF8it-#3tamzBjl~<E{jkmo%pIQB;*xmUYqTbc3x152Uhk=k|6k! zp&*Ogj+H$DF&VQm+)AAk`_fPgX~@rxX_*N1&>5WChH_?zg~ErI^4B7{Qw;Bv(@#2y zZ9jm!_mA<aXRjb6&*Ns%4xMaV4ZOhEREs?CFr4vUD-z52z9$xT!QrmCmLPfjnOW~O zECC9N=*KWkyogBYnzW0Q>zXT~n1#YGT8W^}oWr|n2k4r{n^M;U^E!bqrVxSLgin66 z29tqHHfQ|C=9Qq}oF#5&?vh7P!-+659cVNase%SegQsl>?Hat+WlZZrJzdvl<*a>S zCU6TzL9$q~s~sbZ%=t7CtOukDp;n`zP5LDUP^Zzqb_e#^T3~=|K*-i+{BSg|r&hxW z1<!O)L@99d12fQaIO&m0_P#%aQeAp-6iXzOp-W?c0tFooqih1fF*2p8bK0&e{&?+x z<1epX&L6&LId?pgrwQ3Jdd<y)P#n3&7&W?I`1p6~IDvdlmlyv8gUktI^}yfVs?b+K z)#muF`M!5<=}`H0JLy5H7mO?=3My>vqW<s@SEi=;s^@K=t+8sL%2nqM5fZDL2~4$& zuiahap{Xi&?glsLB5Zcjb9O(^<#;f|_xJIxo9kTslxZ&6G?bJJ6r)=uc79*Vx?XqV z2s`#U+@PTvsffc~K2eG}W`dXp^Eh)@ICLWB7J`DhE$vc`*ADTDJifV{@n*)=pW4U! z|8*}ul`+kr6&#<t-}C*4LlQyR0?yn0QU#MhEq7e`i38kp_XOS>nUBn=bC8Ln&k3W` zO<w-#5pK9$@q<3HuL;o{@rzC|-xBn;r3u2Z!y^isBmF*v!&L<F0g;TiY-{l7zWu!a zmscW09)H!KuwTnCPZlBGlw#z0FYK#Tx$<xK^OAF?_|@~5arT-D{e8m7M3ZkkSm%?s zHF#`K1wYhBP%BZ^mS`+F<af>6ZiYx{sX$^*jyMyh7YJIf%>2;mGE2Xh4SD|Jt95o9 zc#KcI@<jRvgjUE=%_5Jpfb+JKT<5abVcNnG2qt9CA(cM9a3_4>&Pk{UUK}A05DcpQ z_(2GvEh2C@6P$w}Mj)iDQA*CCXW_<t?IxI(GH3Hk1w-2?D7qcd0IKtngmarMj?zFN zTb6Ot?VjD!yZNhMT}gjtjQ8N{`E8Jj|5+dT*e;mdgJeR`R`T@@At#ecB!?~5Ye8V; z8eG;#$m6hg&SA|a`JM+OZ@+pIZut;uoqDzvF~^riyv`9LEK(lkODwc5jRD#yh%(2W zN{zPgdD9`p1o~F>@y!PvzxbhXCPOvqZpyRQ<{u2cS|#7VmlvG4kN^Ifr*P7$W#p+- z+q9c@=ovx~hAQy3o2U5VT{&4_8o{j`nRtkgz3yZ(pYhgzc!=G#vv5_w@+7s94hwsz z*^qcIF--(yjw2k>42wcRk&gD5GwhHUdA96B2;@5-C9l_D`D*rN8&C^L_*CwE={aW% zbXg@M-@l&=*6intZ@rM^)yjfK*{<oF2S#R)gmOipHTnSm@cPra`l3w$tX|Q_FMVVR zv0*gH5v2!yM{MTiWeehr$Urg-k1YU2EgS{WPP476@KOwlc7RA!L~L*WKPm}qd>6ld zf$`zrJcY~897i9$hfEA{k)af|&MB;fPE>K;kx$mx<R9h6H=oDyYK2y=1T%sfT7Fq9 zpQ;-BW?KCG2Y2zK5s&wRh^IC30PlVIMy|eS6U{sj)VS!hRjgTAA+)r_Xo3Vmf`{NS zO?0^u-v=LG?fQkaOS6{Bl1qw$Qip2E2vIrTAtR*2JUWd-O%c3<Fw@{aU9^%<zWNLR ze&<D}@$S$3fZxCA9%Rkw`2Hb6$Rn+*l46Vi0p~o{gcXg4xakj`!O15K5`t0ju1J0y z-9>!ogxri*{M~Nuc_hOxH-rkUoe%To%LjSOi=Rp!l!}k6W-ud@G+5G%D;VCkL7a7K zh`Kll?Zl1(4e3%)5p(2~Z52V6v(|$+F$Y0;=`+_7)R=AsRE@V^`3(O4O;2HP{9eM? z9xBxeqE<L8%n;`h75v^G@#!}_mFJzhmOLmf#a8LLiS{^gV!ZZ-5x#PVCmT}4Ia<4R zarJX@{^FI-B3HvZ*TZ#10B@Rryrx-59&6QVMSGmxd3>dIQ;8Cq_G<y%yI?NJdY89Z zNG>D3#M&3u&KW{#Pvo6*eCEzcyb}hps7lN8z$-31m4CkO`8<8uBeWiVjEb*<v=D8^ zd|N$X_q}}Lw@>DZXPra{ic3ljm>r8kFuW7~=u7+g)YofNmKj2od~`q0JL3R<^E=N$ zLnP!xn5BY1G%2EI*VTK<MYGx+`GTOy5ph9AS2EBcKnj&a4-B(dwDNtPZMQXf?f)6U zh{^;c<^dO;wwix?=g)HGGwU>W+=b<et3;d?cHYMaUVS33df^%5Axg%bz&#@~{OvdQ zMtwqx;JL=q=SOcnz`H&>Nj6x)9JD5CoVjc-|M=$TGE}Vq+9BcQSt&VJM;CdB&6A&) zEn0->7K4J!3{=yUOM$3}v)29UY106%QsuAzrNI>+8e!K|i_FIgSO~@mgH>*P>+^Zf z%hyubcQ^UIQNqr9dEeD*`P~<tNggyMU@+bY{Kt>%;rqMewdE$U^BsKYo(bOg>2Z92 z6^BP>0;{=?|NFM{IcdcpxhjQ{YZlL+1OZyQcC%98Edhiw@X!bpf|AHRTRH=nbjvx! zq(^Et&jc-epiiWkU_r>1SGf5H@WS`)<{LX^sJN)x32NjDZ~f(S`T8F}mkU;m^1fGY z<l2`#EslIAI44Z!fvY~gi~H`+SUs2}j$g?fe1GROzxJuU7z0R_5kiI^dypI6bS~#? zSV0~X@1$qVrj)%;0XU>ok}uzvmD?<7MBA^f1?lO0ONoN4ZGbtc*zO9Jw3qsqVFW_R z4L>B@zbE7JKOg0TSFPZ;E?NyhQ;l4W=byQTZ@>TYLYON8UK}-5uKL6XU%3n1kdP;y zr9Xp5#_MeP$R5V0`{}D@1oec`f9G%Bcq%`4&PMWJwAGPPmY2{W8{M3od$%L%QpptI zn{M^>A|`=bxF#qS#phuIJDA_Pi}$KU{?KMgLoi$)G(tbW{mB_#^S?(KtLIc>U?2}M z2&x%sf_IKu9{AP29_5SQRr;1?Xt1KdKVCQf!^igUz`hE7l`IDMoj>HgFJH^6FFu`C zFuWIBDy(-q>W&!K%y(j18|}3HjcK}<-uD5ukU&S`!KJ;9V5ur%ZTYDgqK4D1Y^ivO zS|q*7j<VM{>2sRL$y^!C`1ma?E_&}yzH;9<nTvt6rBP*&IbqjygO_~xQNH-y7TK~a z@;NAEaVgQOKCzSA?}bV=>M|RT{+R!IMU}U_^lVx|$vnusFj>-F8oA|>=TgN?I|Hi? zOB15AVxV=}Nk~vi6~TqnbQXq!3dPaf@T}}ZUDwYvwM*CUNfNx78M!Liu;<>L6@K9Z z6TJTKNBPm-87f}Lym8Bqr@8EXd${FJhaYm}A(3RN^kv2$ettin|BjL^kLv{*dv^0H z&kuayKW|Quv|J&!c@0oXCkw*C(NmbWP86WG-6*+d>&&$EOUeZ$>EFB+Bw4^NUmc&T zX%Sx@G?HLi;iF#-{N49PxZ<24>N$Mz?iS<~vSmgHF**hX1~NW&OM}P81zFyQh@*L6 z4;P<$fd6&PMa0yjtnqgTnc*(&=~9WZ$CS-?Xeli%o_D1fP-;(F*(ghQm`m<xWGQq( z))}!eJ1j?gEyRd6OG%t~^5V17y=GXGqRf($lR&o2Q)>)z)2)qod4qlUN{c+Sv*R=q zo#(NA0-55xr!_IfQ&;WfrfZ+aU^PS4l3Lm=U@>T0IG1;dPbzb&(Y048T(l=Ci?k(~ zZmH@4u7hf{J0qKw^;vHjK<1Y?x9?gzg(U-W3pfWd6mLL79u4MF-do(5A(`TwCrsBl zK_29@|LwV~Uln;G?+;bYnkx}Yg_<<_dlRl+kTe?+=^RqVB~(WjVx+E&&&|4`HUuqS zc-cP|tCo^>zmsE>@}VAKv~=mKk{VkCnlL#25I0_TF6W%Mf>sDrir!yHCunDoNtV{V z*}T;_li3iwZLng1%EI&EY{4j~2fdlu;$%Vx`GFnucX}04v3MWvF(d5%5g)o{BbT1D zfti+4@jgjY=CAJxL~%fG+_ExcKDac<<{=$rk$FJ2C=^7wFw9Zks%LI3QYd6GVXDrb z{N_{n^%rggV6fs?*aiS?8m~LaGLB&Xz4oFN>rmJWu|sw^T#%{qxa^i{y_My*W#XDH z$pX8k`}x#2_mi7Yky3$NdW{wrV4E5n*LZ&6tRZ5xqO=02U0hN<EISmk%|(!M3r0b+ zaPQGJz`P#BCAo_sl`0?nrxt`6kgQ8eT4>{Y6EFcn&L3Po&AVQ<fnc3gmW9$F6`K~j zE2t&uPCE?PQlcPdaU6Ass=2nIWS;FQ7vFA_rQdYa%IS0MvS0s-0laFA3=$cz=)NQg zPvY8TLn1`<LUY>jPv0KpT`yZVdow|kS<74(?t<o6q`agksHh1ikycroV!gQR2-~fP z2-DQTX2tGRR<Bc^*_$W<O=G3K47RLTkWMvT3?}P5^X&eZbgALIbP_Jpl<Uaiy--_N zj9W?rbmVrO0*vdCoG{0Ft|M$0=`Q@xnbRVI<#6V@8dp5MM!@0Bx)xW=wMb7e8m63a z!ZKd_;-`}q`t-<~k8F>*E?2n}3pCm&s53}=7ER2lpIN&0_7*s0V|gd!wI;84;d-w7 zrE`uf)TjEk*`cNFhxS3G<mITW5$mE5N?2=F#dwL@t>@pK&xWAn!D!`1mX#LC$-z~f zf|csZ<x$(Fm{~BD(CdOavvy(G@B&d#dkcX!gBFTu-d@HpJ&S{nxV`K~+DNP*^5QHB zIGhu_S28DbR*)TPpWM#E^McoE?+avU^A9`R{3UT>vlrSNh5;(WhE8>*|1k!nX)E(p zi;ld#dw+&r;1qALT8V1_s#zgqS^U0ii8dJScX)Hfy)A;yIcV&pGHgdO16qhQ3oof6 zsv$~JB<o(jTEOoPj59le_TJ^OrO%rIUbySw8aofP2qrkE#VUC*2x;py*8`o~J1zLs z78EMZxZ|-p2WCKgTc_HMWO{dancd!A#HMMbu8Ls|*xWjN1KjqyT%L2?xM+^3qS{0> zkFvY6lG$wTlE+bM&x1jq=caGxeD#jq#k#DxSTyZbB-XvJTbjjILPS#J6v9Nquwsc+ zT4vg{ZtM`(CV~V5%`uBIOA(#0+n(DxSdqld8`8IIiHm%txdU=Ub3=1PLt04DsRS_( zM}9Qh#SHH};|<3|!!c18#%qp=x@WweF;VkO)EpDFjPaVppVu7|HDRLW7_VoH)rGOT zFkbf<eX%>V6p&fmwK)y3rl28hB4#^)xcTj(OOm7Kq@j}CVTx(qG9zH2k=#J3@Lr-P zq+A0&itTY7vf*4Tyf{Ey+A724II*~EyG!j78B`~NPumJO0WYa=lf(n%P8MDGwSl0m zM$9epNrNdfSN(o@1H{D{AZ^;`T)2f$7i)|-XCTdKB(w?*O=m%rl#0}k!~29bv=CCc z#3sjTmRea<C760lUD6k~*RVNMqq@1H?z4{GXTjH#jFnH}%wzQf4qD>8-cs(%#Tj7R zHU$XonctESc33{{L`?}TB(Edp5be$&yH+nfj_r{za;42RI&P}-i>}Z((bX=+XJaC3 zrE@Oy8axtmXf?p5l-52+a65uqd26{Z7psaeF4>xK>s2)`e40GK%uZE68}%;q@<hG5 z;i-0t=7kc&l{#2E8?jnRa$jV_R!|7-_61)Hiq-c=5p!)+U7nMPewtgat#QfL>|mV4 z!BJ4$^H^F#%@4Wy<eS{&qy09x(NuG>S|x7zve@d_QFz3f&GFvm`Ham~r89~uo7thN zc-<K_<{=-$!VFGxv#H%Kr#_9d4+3(qeWN+_O62XvmK!|(@4t+3;zj)`{!*+JT>n~U zVH&FpfRCE~5<ku3`GAWj>e&!tNz9^?SYtm(hC6U?pf%&M=DYds^`DE|*I%Pc^8kmh zQI#3KBP=_Q;ZuVRpX><=gX_QzrLEoVN&VbHlZCO!mgsOFCdr$l5oJw|1RH<AORIL5 z4(kP6$`U=m0bu*3!o%0MDkuHi*G27B))?=1l|dyN5^GJxZ42V^!a0|y{&YPxGHq$! z8bh1=5btqQqiSRKc}H{7yXF=8&3Eo%`=tWgZHb;G8C{Xy{DzUr`k(opdigbN?9Fif zf&OLAY#MA5sDiK3O-tI7_<5e?!hP(jh;|NOIu73BCwB!Kf51a%RdnK)o8SA>TiLS3 zbI*tMs6EDt3*LTt7KXQ(W7vi^<g(&)AACg!8RGgN>jzgwoJaAc?cnDwf*q^vZMxbt zN3?~8Nzi&q+;WqNp9G!RojKJB(dL$L+tGZC72OYVtDN_a^YW_yq&T-3UxnqHat1az zbIuhTM><LTiUZe8L3gpu$8x*nKr@Oj)q%~Z)%Gb<k7N>Z%<A8>F!h_<_MXS#L2f<I z6yvFH>T@gBzSVHQ=bT?@eh3CuDAhG;Syk{Ap|rSJ4yNBd#@Y)ZfSSdQo-{W-<!Bvn zsxz3@$10kA;FR%Qe|G=<|D*BvJ<5<d9_INo?>@!18n2Z+zbY4hrnmuc74R7{YZIm? z&mk_YFjO#`25lk6k8#`(Lgi!J_Vyi5%)>nAdz|fy|FVxgGZ*3X1rqXS8g`mkScO=h z70=sv(ga{btl`WZ$SnIwp80<lr~i8TzTt1(fB!M@INP4ta0zbi2Rd)fV#a+MKV1)W zMh|z?AI;~z3tP50M$Zw}ooh!rI*y@7nmb1C7S`QkiCD8^?2+bA_;)<v>Dlq)_;LI= jejGoJAIFa;+427Y#5QtpBRDM-00000NkvXXu0mjfbm%f0 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Pisces.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Pisces.png deleted file mode 100644 index 934fc2c6f06ecf1a032202e751c6b5e0fd179d115c02c3b6d5d225f5106e6141..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8730 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 Ef=V5s`Tzg` diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Purple Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Purple Heart.png deleted file mode 100644 index ec8bd68f05134a35b99a1058073171cad48edec44c101cfe72b3d73789c6a9df..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8184 zcmV<U9|z!xP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001AqNkl<Zc-rlq zd9+=3b>Bbx_dDm_H|R;S2FvpZ21^FV7-yv<E4GuBt|lQ6u=OyZ386NaLIR=b%COq> z`8BI4ZAOw9BM)&LLdcRZDJ@A@Es5-A0ii(fpwW^nS+*rx!;{`{hjY&Fw|D>eo%`O? zWKGYqP4v?`($yW#J!kLV-ut`93uo8ab#|RyXV=+vcAZ^k*V%P;{c~ILa-MvI5x0RA zvYe&z2yiZYt@qk;mI}ZI_S$mR+bE-YCU1Q9wZS87V1)tfVZGeMP4up9H7ivRdkyi_ z<VHp^!{p?NvNjuG#J!wEA7O2F(sxwf6Q^)bXHWu6ZsaciD5IhG%qRL+Us#rMUE7K` zppDBET?jG&7ChNrM|?K(*+!e^o>(>ht{uJ4tz@;IOR4DX_B9O0-gCd${QQ+=XuMft z>y3uHIFc;^^+3zx4wwr&av9j<nvL&%y8ZSSdY`+Ik?c|Kip-Hz%n1WlvfB4<?nCoF zw?x{_+k!G|gzFj%%oB1NnZrAWtM|7>2r<&tl8SD}A?uv$`yY*5KmW(YJGUQx-c!B5 zm8^EXbKKGR;#E@F&!|=JFl>2)dCjKF$uhusL_pOrH9}>SlvK1Pa{PB(&R;eLTB|=b z{(*yYbZv9PfZm0?k5A2C=q~=Hu2vszGH`x>Umru~%wyp>3*x+a1D5*?AwvX21U01! z1?}#XOdOc>2lln;bh>nCO*MSub1o}?=hMaT*4_?2S!tO4nL8VwUGA!RztXiZJitKz zym^BxSTxAI1@q#({src<24adc5Yoo(#)65~q?<S};U*4@)9!YNglD~L-2JS+@JC<f z&UTW98HqpB43H5_MiKq6U-RP{<@a;?-!N}}9~WP8L0G(akyvz2i}W4VP_oRxMI;JZ zIx00>%*h&=Nmkm}#D3lR{EOMtz77TL332|n4`}&c*DxGUX2<p3`-`vpRI_;Ig5QXh zePVzG1LrIq;KGZRh518^T`Zl%pdw!Jx#IF<wL}#y!HOo5d9o%JtgCzX?q%0=d;HW? z2c`3*`R>P7#h-oTbR|JfRo|~<ja$QT{HXiluSa#il{Xq(arwpJg7Yu%T6yUfU51uL z&RfxB=`}g?F3%Yla)>vGLfMANy(MFtD)u~~9N3{))u7RgHa0aLw?Dltn;H*5`L&`k z{=o;z_ir3wZ8ply;dq98l$*oP<g34LD7gD`YhFKa&H%5!;_@&wu+Yb@ipv9oR|)4| z<C*`uocYT#`Uf2f!~oqXW&G*Lp7jNLpA2;OII{i*l9#q?*RJ@?)6Zv}&^GU~Ppr~+ zf2wAJ0(K@CFs)bbkT2fdw7!oFE$ojgmR~K+Ja?U`l0{c|u6jq4i{CatbE(Iiq7|5u zfP?@dcqd8kwgP*%mTdoO$@BlvBDDK){bJ8PzawtnwkwMo#)1z&`#`+)Z*F95_UJK~ z(0lEU#%FJ(?EjO#tT}YWm6wL|&%4NnPLO;kaM_LhTy}FG3t#WZ`x;=NTI+r>5O7ZL z4$LC$-OA2ycG>zjZN|14gG2pHbf@Bm4V$Dj(Qzi_f4k3a{k2*h#gk>iNi(3Q_dX<F z_*7;CA3Jy1{BZTvZ}g!f!eGU<xAt+>znq5*If}MorJ@F=Zu-g$!wh_MfFT}SANbtS z+8)^azb4u7jgrjg9BhrpP3yM!R?#wX@%DRl_`#z|Lhrc`We<PU1^>r`15Mtz{Ecy_ zIp3>xx$vezu6}zz3oghg%u#g}YO5kiNrE%1zDhA66T$Zh*?<rxm977~#l|m8qOB&{ zR9nC9@i;yfvM5u(waSM7!w4hU=t<fHITeHZZ?Z3Zyb%We;M`^NtL4kD&WowQ;wwGh z|KSBJyh7+4G|JKg;1ptvs7l)X1~$WqBn&1fhFHY+JF-65|5(A354Y*=^;ER=@pbEH zPn9mX_DAp2+de&;3BAW3&Q|}j3j@D1w6Gc9wBk)-rE>!pD&Mzq0gK<*peQ4;3nl{M zaKxGff&k_X0h~C*8R87fK+WTtO5c1>Yg@@b-oKBDEso}(x5plTEKVJ$vaXxD{XTuq zpPZ~skP}B0=0*|ySoW7Uv_t-n3+FGi>#uv0>vl{oxJJ1CBa864P#laHpekq(q%zD5 zRS@klz%bR?uQ9-(Vwfm~;3T7O$U{eY;!Atj_k<&6!Jb(6q;@ANkL&*Y-MaFj8(Ev( z1dMWXxHDV*5f}RJp1-(1tXOf4r|abWHyc;KYa!AUswsylm@{13?3hKsB?gFL&Jb}p z=P(!XPQVM2E8-O+U6;nlx9&a2z9$sPgMIfqkL!WXM96Y^%c^pC!^xmFIT^&WVfmVD z!N%%a{cho#-*UsXG1I1BcvavBe{m_n9A!H~1dWE2i2<fym4Zq#a+dyb04mes5CsrL zFrs(_Xf!>|KIN&uo8-A~7l;%4?qiSXRI4T8<BxqN4*xyC&-vBw=!?xSEm}A)UUTi$ zPD_=`zkiS`e|Q0%GEfwOTpXr`SqdzOIgr@XKZrAMf`~%|EEAjq$s8hvYXoSd&CwW4 zGV_glUSM*IW2)@L$G*GH7fgNQBHi>u0CUQKo>=``xB4TZjk~XW{Uza|^DfP#S#ski zmLdy;s#T&PCsv@9B3(xeX@hH}$<Ub~L6MN80u?|pBN1H`hhZW(aX3l4&ks3veshZF zAB%*lt>1b42`Q^Ec8<+^!&o1K+MQfCG|)Hrmh0YvsJIKSZ*uANgLEgsf?}qadDIL{ z$V^ZKbrFx?NQT!kh0G9dm=~M}yvJwYvWR4YZ)CVEk_|Y@mhz9kzaK05*|PJg@Z63U zGs&x;y{CHjpRdOJFcRm20RqM^FZ=Ak#EXqhi{~x9@Vd8NYn^u2z2&wcF1lepQ~OI$ zh((5$MpZ^!;m`mYl@JZ0gJ48eL~BE!f|-IrkQ~Gi3}0WEc|i!^9F2K7&ulozfv1Fn z2M@+|>o)pAT7Mr*`sVwgx4r4QH^#o^kiYOM&qd4U)1J~=%^9MKSvCy<qDz4UXNouw z@rVc^Q_LIQLoOMaGc*UuD}1hGS%x$n(jV}dqj^q~J>Q<>iNEYZZu(FE@1NvgHNM5$ z>#kYF^+D)a_hYZ@1OjA!6ba*dzqHchE?Rc+vKWK+i>_$0<V{T`_Xa|d5lWzI#4@6l zVkK0S5<@_$9HK%<h)AhblL=zU_Y{?6qXj@yq(vN(rPn(Xf%7kzPkCSp$2tCjOU||J z&ph`dIdJin=i5-<LO-~~bIwH##&#80^cVu>(jl?NUxHVMA*cset35;z=Mg7FQG!HV z!=PzM=E-x2xj^M{rPAngScoiJK97Z$PBF2o&n>-VX`I+vUgi9bcSwBe!!HGyPnZGl zhytj#Z(rEI#Fi{M7wr~YeC;4sHV9LZst8nNz*-rxsF_ee42H&Jh*OLOP*7D&lR6MU z4V)T=qGCxc8;NMna2Q@ZlM^LN&&}CA+2OKFUMG9^?bl|r!A0j^;xZptvMguvg#f{D zrYOnaC$!~y!c6RKN-?4XLvaH51k1#O6L1c!k>MJKH9&Ji`oJ}T%E&9DY{I#39b)W@ zZO&hIzU_KuzqLYfJMi#L+@y~lhq~E`#8d7Z`rPZor2W7-ix)`l8a`W4u<(*Tig760 zk*XC5Z6kIK?LsI7?Se%C&9D$rbu$Lo1dFx(H86AOxoIE4B|Pp8CrMw3i->@4IEEJV zQxsjUUGZjz7^tye$pF<j$p)E2BS=krGeaz|i5_Y>5X40ght~E69}y=wFF35W3lYf$ zZ7A9&xPHYq6)8L}K-YCydQl%w54Evw!_QyPC#`*BH{IF)rx%WP<oV+vqT@)wO%6si zwgztQqmeCHvM9tVW<!_e&{SIcDs<AQrW#Zo&~`;AA(Vzxu9g79#RLIkEd>&jS1h;$ zNiiVQu7T8l8_0}z>Rn=rbRlo%^!EqMJYq_JpTk*BcPdGiMoUsf(rIcS*7LfwXJG)r zT*ToK1apG;+A-{T!yd>C*ERBvKpF7^$+t0cIPv65VBz_meOpBqEnOV<?VIQiA^TzA z^N-XtJQjtIll*uj{iBm_>udBeIBz~0BIhjg#1IG_McYQ~l*D#H)eXdMNZxN%VO0g8 zN+_sOEErNLgotRwVltGLVgbocs3NLJOb5{*SVA*FAsAXH{mp)a2q=BcK0*<RRX~Gc zF`a|@^U3I^@02LX9HfsT0SM`u2$n)7g`uSq%k+POKoDYA32jB&pe-SEjo2}&0Q1iC zpvwHA1=etVSkQj~)VZ}|ua{)ND0fAGh%L|i8+ezC!x&tUVI7Zj`p`~}bwLY3%LZ09 zpvuw8r=xVl%7`H`fS^!ILel!wxIFDkH|sGbICY3RG$=%{m{67l=*u&jd6tM%8X6Rh zU}}lTDwrihES99|kTgo|4~R($OK4(_s$s#<-cc!988HHdU@eDsGD4?9JBqd)%>|z5 zl!3l}X*M&|xMsEuJrxEBh`s;P2m2z~vb>q$or=p0=@+W5$GV0UP<3-c*I|`mA>n>1 zf#4G6s|{`n#JO~k)VH^zV_~a91U+@+NQAPQP+9~UlGE@FLKTy3QIAt_=B5$0B)l{I zsFzffSs2{tIpxWoNURwU6H{ZU#7eN}umGV_%1()PJXScgRPw$Yap0Yktl=@@`6DC8 z_lUEX%7lV&{@8-S-Lw~EUXzRD5;<a_#1hJGKr4sEg!wI4eF$3PebZh7&p6#Yp49QA znJqF6Xyz_UYw3h3dTW?V&$|SW5wYYq6iQYI+O557NkNT9Bgd!~>|MhEFjen7J1Gem z;VuC<5b{2d-21G)1S3|0b{$3Os7fK$Dj`XLp^+rIF&V{aF`pv>i8-uiplwEl&0U(j zjt?cL1r#h8v5Leh*&?k3EtOCxv71zwqX%Cdf;98i!sEjH6L>?c-K9EWXbInA5eh>? zOcz)g8WQwOPF4-|dOLs4(*KF@Vuu!s%;ouKPME&KG$A#^z(EXxI3pH0ArHh-vCJi# zqk^kV%0U($_uJe{7~pgznHGuP>4H=R>nd6(+Ep|-VkJbaiC;s^X(;)<P&{RlJoS3t z5y66B(TG*rkYzh2M2Def7<A);eHEvJf&e-fjFp0wv5KfbK+vfORSG!}Gc@`X0S$)5 zB({PkN9cQm31))U>WEOQST$nl&|rjCLQl9v0>KqmhN<d!AvbrtINinPUD<K?@fdoz zQD{v?G-O!x)WID@9cB)x(GBJ>+{;~jcScJHoe4z4RFWSNlM1#f(wPGAm?@!*IQ;nN zhS74C*LTtqU?YsU(MN9%f<0dr6&j;CG0Mpr>BI!p(B$l-xQm^Ms>fHbj<ZfGX-^^q zEulM6f-^#lRu&b8d$tbcyVFoXH#vYH_DoR(LJa1-(VZ}~jF|Qk+KQT{u!0%i>nmmW zv`+9qETB74;k-~*g_Tu_h;E0O8rV~|0RRmfe5_kV+T9M`XLQ<;s-3Vf+B=fNBl5jX zcvC}raiwSo8C6FpIsxY$olb#<4!O9;Pvo30$$$-YHM7gAZ<kClIW_6UIYOm$S_xYA zv`z{<%J-z|IT}(GtDQ=Lq7{ji;GJh;V$yeMS+mc+bGo4j*053m{9v`dqI+QK;FJjI zn_E-0*I_e>j(;u;kRAgpMYB4s&<m63<iRNk=&r>J2DTgm=TA)qiH%_Hp7Hk`0Q=hH z_@tFpsV?($JAqinWZyO69cQyV$+>k;X99ModCcW<b$+wkDe#%2Q*^X7)i#yv(b3)S zXs=|oKi;>VfDL%W0eHukTSXxU$Hy(t9I*-%oq%`lD4wLvig3*h@#n(7oy+QeGlz($ zC;}lUS>_o#I40eyEB&HhP6l|roVFv@(_wx=_}h|+&fdLyvpUF2ryY{oky!z<9s}k; z9Z6lkGbePDIqg9K91%yW-Az7^Vf**)_XVx-#z6Mf+2Q=tV!$Y)x{}rY-UIL7De#qv zu_^0x%jmtQtSZVXAmU#-u5!9Nch2?q%rR34aPs^NAySkjE^|z^Cgaq>u8GgT^hZ;} zdrw6DoG=XC(-S2>cz?U<$_p><axU|j3Y~6AFP|~jgyLl&{LvB3$qGOc&7!C<6EdH% z`-R=Eh%Fh&v-?lljvQ}2%4jr9Cf-newV=Ck&#t{vRfT$&QH4Mi1LEAAFknvA&T+KJ zbfNYsFd$f@ECXJ0%1#-_UKp2(;@gY6KmD~4M%;<khn{FdoZZDEe$9sAvf=XI?sN-z zaqo+k<r$_>cFW`l$lL{l?PyL=?Qn?pj#N){=%K0Gg_l+@r;3aWBXc=b8BvYo-m~k4 z=V@0RaX$a#D5AXx!dx<dQErZgNpbPS=L_0T@7npIE2>h(If5!>45v;1V-aI^bZO>2 z$1?IW&z}f^PZk|H=cr<&TUI#lDXJpw-nGvKigg#n#a}W^j@LwTN(=z(CLZw*J@bLC zcg_Di)v09H?p@~djEK>x%IVbaT&f+JMfmAt{j99j(Qio(do*|G$PBtgK{Ul@8PDx{ zo_1M?_t}3M<>oNV8aL-QV8#~Q97h;&oAsQ}MVWkJ_p`fQx7&?gYE=|V4oTVCsjD5M zE}5%UjT4{HmiSo_UOT3Ow>mq83eFrRF7*YR4p0-Jih&R#na^mqTXFZZdwrD7*H^_` z{%QnsC)+P}vQ5#pffe#7HwWk3ueQsMJiBuzKJy?@)&?0TbLRNWRd_?p>IBiLyAjcp zPL(#9WWx3xJ1D}0`DXbmDR#C-PRW}-nbqr9yf+Sir6bkDyPqHPW8?dy%N%M@loi1= z)x@5r-((_~99xl`jD!hCkBON(v5jItCsb6XxIAOe*uHpR&jGIz{&ZFMUw`dXyCqL) zEWmQsn_<$|?EiO#jZbddvQ;cbLsD+ID2t>zYzDoY{E>38u1;&ter>jKJ&~A?nxQ7A zbRE4_hKd+d$hoR2-Ld5vX<K{0A87pA2qSJe>rZLF`BVAOqdaOGSm8e#-hJ=}_pWv< z+>hgkix)3;Q3F~NDf9j`q6ED<j3Zx{<JC0Ci5uJ5g<3~f`$A<(w<=MLEYI1oeM=l0 zoAANeFWgt&^0jmMsQWa(pr;(rJC)T_MXU6Ee^^QT(dT!*m>rxPi#|(6vIv1n1E-Ur zIU0^XZumfsg{1V9-0Nsct1PI*@Qs|Y{rlqcyT-DvoBHbq^p*!tw^94FCX*~@r2!Tj z{*I1LwKhMsMS=xORn1UTk!X6PQ#Gv?j!a=5u4<ee8A_N9TYC+6htqbNQN0u*M^`b2 zU&HKcix@?yFjX>fltp1rZP_N376-ECygR|<R8`Musi0XQ3R}r)|L1Xd|Ml4|`?c$T zDuhm4x@4(~F;3r{%lt97=S-96@l}u<W_;yn)vSlrd`kUDg+sn+R;O&*g(8Q>a$SO) zMOCGqwal}5%TsY;yzRvmcdV-3{q-9mdnh$$zcLJ{p_h%YHv2vOsc&89-?hA$&^I;u zeVjjk$VH9y4GG@4Lo3<pT_;G&Egy|FGDA_BMPQr#+)>oeA+Jvtx*f{Q+3%?<9H+}d zttNiAEKxJ^W`k#UKNogAyDuw!>w)`p_`l4>ppH3<k{c#>ahL2^@O|_9C*pVWtnadG z-h8zV_Rn)xcY^jen&hsoBbp`h!i<`++UOk-Qm7lgXY{5_>(0aFKe|I1e5gNSsVVRn zAqcBSC<Kku#Lx1KiHV80?#cDOptBx5@cjokr%37A(~sFY=BQkD11sdA@pm1J&FXz+ zRfWx)x0<3RE^Vu#ED0LxqT0jk0iZ9jLuTKm9N!N<uCIMGBc61>5;anWfMPiBD67&o zKed%gt8V4>efM%_JK4Uu37F5>c(64L#}U?M_jTX<b#dXBimA$P*|M!hMaig@WtGbJ zP5|x9HoViF?T0vNM<?R3cgYN!b=GHX_PIn7-q(nTAWqo4WlNmubiC%>4?kGl_IMhL zAagd~&NGMWQ6AC})@HwJKl#n;{W~wMCiVL0EG%BQ$Z3qzyWBgU3b}fNF=Q4PKP(_* zv*Iw*O37vpsR^pHrAeT7_UX^p-=|F1(4_B`USpt9gg}UjqGVal)6Z-VdtNx0nG}C` zZ+y=uPh?!qt6*wknk6*(y4~4D+s^-o-1=^~`syp=vL)yFvPyY_W|q^)^63(GH_Hgm zARL+QDUd@j(UB-<b^uUaz0VJaw-TqPwDe+3y;QbI@^q`1K!eXbyI*)AJiTRS7F>Jn znA(r61cpy>CeRsCL9-Rda@N~dwtl?8{JSeUySHrF?k8K5>b$FOHU;ezJECVsWd@B* z4_J{yV>U;;=ZL<ZBiHQr_1a;z?$8V|>3sv7cZ`o8(5JUOlSPW{i`3q;hGAWw@V>of z=7#n>#1CeF_BIIvj|}z?xi??4!ezc8Sj3Bv=NVo+PNbHGG%98~SF19uqWml=na1vR zs4mBhILrB(L9;WYuWR?Gd%{$WDg+`5-q9(#_T-c6tyQ%<>g5L?tZsRHt_Jj-AqhCl zD2Jc>x;VX~=v02gQyZg7#2i!>DXL`fqUs?#bNY{HN`TKoN{8$ES>}K^t>q(iz7nS8 z%nmIaFo<T9F%jPcqDFga^HVVt!I9a|Jy_lH_y}vWmy7swZiJ6*l;8f{xB7QV(Xk)t zgo&{9+;d%O`$_FT&ZQACq{7D;%<inV15&G_8T4mx1VIzi;;dI@G{)hQk)}3ABC#&> z@oe7wRBRpWWK~xD`}?bvfAVq|-80I7nh7?-+U$4i?SFs0{PgAJ6mJPyg~f}Px)3A1 zVG*vbu#;Knre}7i=Q^diT1*d@v{~Z_dd-c}3xm%#Ac9UyL%s8Btgi;S%h<MUTiCz1 zl|_H>k5|R_{KlCe{u%6|NXTe8OXWow`-->zAHDeU^TI_JT$F`S;Y9G_$g`{-8c-A8 zX1AgWCJMMTQmnV@%??3AB3h3pup>%ItRBo-hHBaf`z+_VXLp31JNIP4b^hnQy7HY# z=g*C&`-<6sqamYFZjK#uw+1Pm*tvaIwtMdj(dRkQj7lSARZ*!DXJL6YBO&vcq8J!P zOwY*7q3PYI)dLK~>O<>82nt0AM2u(&>p!>q`M6`}i&^Pf-yBrCZ6>*LW(IbjAqGsB zIJ$>;*TI9$18?uT@Z8od+x@<=Ju%OG8W*fk1*M8c>V6fX^+;RK6RNXidd%$AjCD{; zv+K+tYNV)2q8dSsEX&!u@5Q*|>1VyVu%+8yyyN#7?wriHvDc6aIuf3KApf&#8`a<= zKJyD#tXQE#gY#Wg#iWj$!;2$x4w2M#V>RA%wFf&5Kkcy4UC%47WBR?oToFSZ2Q>0L z=fJ`Jx_R>!7c}lE^Y}x5THd<l<%FBB8V113fYtXm*WA=sxUV#t&HU<XmdikMP&CwW z7=*kY_I-#KJS%iDJEGaE8R~WIsFKtcmd55t8jYEIPp93|b?er<DwLBhD}VH!aND<D z3F5z^t&BaCai{<MJ7aA8)zCn{UcG#|%d@7Kl7@5CJ!j6zwBeOQLe|G9VWg*a0?`yC z%_VZ))9to(-NucCZV`pzC+^|4ub#+gvDdr}I7+Ew7-4O;D!%tiAum4AX$QY)^9BtX zOkCQ%mU{n)(FjqAs<lzJnUv=2*qkNf8Z?DEVwy*Znc=;sEW5U8(<Upsg)4pW-g~(1 zt0S)<@z01Ka6CutL#)al&=366HSU&!q3}O3F>xR+Ub0BUIZ>O5J)2UaA)PkDI;&(w zRZ&e!M~!*{Rzgxvgff)2VdEw(I+fSFb^8P1y?^l`R^`9Pt>KlV!7IuDfbZ~S9bs+u zDf`K9+~D3*hC+XAVrqX}x@4(KBh8XJLXsW_!PL_3t_NuZddR4r$T+Kx(~DrLwtn-5 z*liVA<%*BrA8-522y3%fn)t5@1{@l)_*eh;t#WG~y8fnCdn_zndamn*4aCVIHJY<) zfb1ysKxV0r*)ZGm)W+DID6`Uae*FO*{@qu@&VN-gpck^Zk+s>w{KQwUlXovHJML|r z&P26j@gi?^Qe94>gxS@zFE?%37^e<)vgnK7yiZsD=Bs7rzv>tO@C*;xN>=;Nvhr`Q zmz7Jq?f3)jay%?qwA4)xUNJYF(K_U)(UDmib!h^dwr&jV1Kli2`N>s!>wi2`@txN! z0{}L#n$@iEzs9Y9eZAarLAPZ$6y;>KXwed{)2YN`1L{P4WAm1cp*_~kf^YxcDqZ<2 zHSy!C?S37+`ufm^S*a^o?N`|?cShfRaBOck-|_Ue$~#NJwxeksP3cWU*}8ReH96MK zqICXfRUH218yU$)xhcLHhZo7K`3K>8zf<#J|L}t@_W%6ia|gl|SG+!p!44@<G3$l1 zjV;?Yg{iSlR!RHrRW|$!XEL(+J;s2<gb|QYL_Z{7yg#$%?Mu!btS-O&syx=e_my<N z15vhY-5gp6x>+TyKU`(QAAhwI|1~jHDOKGiCVbF8d~Y5HKDcPfKy}&WmwE3SA~-@Q zZ0oiyI(eX-sW1NEo_OmgR<qg<zsiaK8X9XgOC8A<?{?Prk%57Xp#}2+VRC$uZo4E% z=f8i(Zu!;M!p`TlH&@JLgu7&vQN6=`;dYddE4&V{41LPMZ-0j2zc`)W^g6pZv7adH zRaSkZ@9!@CSl|D-<cQbKE?)Me&WSw7KldMWez~uGgb@K4Wz^29oU`lfI=jxUv+L|S eyUwoH()$1FiKS5UKeA5%0000<MNUMnLSTZyp-C(N diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Question Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Question Mark.png deleted file mode 100644 index ca42443cfcae13f2dc472896f1a6a3aee89388fa0505cfbad9e31da0e15948a7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3702 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 UQZk0mxc~qF07*qoM6N<$g3KW+9{>OV diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Red Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Red Heart.png deleted file mode 100644 index 77dff4553148ec33ca18ef1626be131c727602f28a844edf1cb5b9ad897defb3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8612 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Revolving Hearts.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Revolving Hearts.png deleted file mode 100644 index c1313cd67727d7164b96aa2d8cdb60eff4e711116d42a5ad7665647af3a11ddb..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9500 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Right Anger Bubble.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Right Anger Bubble.png deleted file mode 100644 index 4f754c922eb0b78e07649da62e91d4058a2bcff210ec56ed7ac74915a5152f92..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7985 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Sagittarius.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Sagittarius.png deleted file mode 100644 index 5916e53f010bf68abb79d61ed815b5ba1c3671ab39d08daa72ae85b36b93511b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8991 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 FV1l-@^Hu-= diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Scorpio.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Scorpio.png deleted file mode 100644 index c944cec10f27da184027f6e51e695f714e6c1e0ff6671fc6e1fb44f45da3839b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8680 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 GLSTY)K}XX7 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Sparkling Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Sparkling Heart.png deleted file mode 100644 index 0aa2d707a5b0b8c09889ac5c7df89cc0b0b0427c3659bd29a64c6ccd03fd4190..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10514 zcmV+tDecyYP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001c2Nkl<Zc-rl~ zd%Rs&b>I6PbFQ`bK2N<YS+*tH$ifa57#thZ7=rDjN&E@P%?F5d0UI!c*l7qMA-SKX zxwkn|+l0^rut`d;odgF;n?`C#(|nQ=(qb!t+yrA|1G4Lv9)9R`^f-^b_j=7a#{FZh zea?|A*^*@m(`xFobk5n&wZ@q9H^%slG3J7^<Lvlu88(5l3EWvpoE`t0&3q8MlXUtI z+yABehr>SwV4LwT#b=*gPA@PfCU64Qt5`NZ#!r~U9|O2|8*)|wXJBk>evXXMq6kq8 z1-O14c2)srU~E}e&-AiLm(s!qX)Oa_+e@Q><gAFFe=KjHCM4q*wUQo4b-vw6Dz{M? zh;V9(IBg1;V8Q|J`s-kF>%+E<%WWf@Y|gB)Q8q4kemz_CR4?X4&S@R%WchX5WOC~| z+r~EA$R-mo1KG%g9R2**o=svPvsS$pb%^S!DOt1%rgt!bu<7)k^GSLOCKF5~hP@~Q zwVCyPGwVIPGzM<q!AxBD;?K#}*WS*|-J@R$pHD3Qaoc9^9$If8HgW0`_@%l~+016Q zfemp^n3w#@TBW#F)h<VEO>it#Y>{(L46D4!RLhc`mbgb+D&J%@fAFmj-7z(<jLm-G z=e-o?^k)}+_~IgUS5>giE0;!Wm5B_4C15J%4|{V5aQavx$+z5)d*CO(^_$!60OP&C zXgwq8@{!?I*G<plpI!Wc;uhPCmkq@4r~)RKaGThq0KdQL7nd$>B^xTScShAWjJUMz zN$>_CsTaCOP^rIG)Tl(sEh4IWQ{l@&`Qw=#(|>&%cU6YTMmEae^Iyz4-LdvV<I5OY zpT=-g?&2Fd(jHD|;c<x6AP%9%5p|de3IvN(QWX7u`j7u)!++m*=`~+pU!8Z0CeshO zaPYwc2ZvT)df`n^O;H;H`;ORv!7SZ;`TAC@F8r{B<ma9ERUL$O0?S+{j<iN>oD{*t zBh;7dEs9ZEW!+dZ9dkEJzOoSBCB%1)U9#xgf671qEqPKtSI0ajz8W^O-fv)2oZz}- z&D!t#xzzN-ZRBF-Ta4pbk_^XDKWxLUMN6EB8EPg{&qb>U*4Kh*D`cij+MUt-&F7zc zh)NdO(301=Qj$25fAbva&Adn84%<iqgfqSZCYVSzu_=6Z?YpmRaqeB-b*@f>vN9P7 zD_f&7nxsyOD3&W~ig|}i6G#)N462C5fOv=R2xZILRF&(Vd|D>SU5X=6eYs%fL+^g# z&W9(in@Bco-4ssfoG$v%l^x&ty~HJNAUe)XhvIqdF~)tzx#&f*Kn#H(iX{&3g=mIE z#YG@-_#q<{Ll(aGE4ui`KSIv?AwRVCCNw{w;aeY*vOB%IY>i&N?B+vVz+UVskW&%< zAFchRpKK#{drL;omC<nF=pw(^S`zw!(n>ggoaBn-v|fDy$(qIZ@fN<5qD4hHQ&Q|Y zO!)R5?18<=Q$5<P6dQs=n(I^D!+Ow{i5fFh_H*xi>bL&=^R0wA;a~C#?;fIcXJUS6 zu}i|5_PK66ZMmun#D0a0r6g;YkzT$G_lhMX%g0GlM^J@cMtG)A_V`}(+lP_zFk|od zIMvE7BUk?#E==KCBXlPpi$mK#<Gb1T9gBZz<`)KT=^0VLJxnAwuqk|Q%|~wONP4%a zux4mUT-#da%YH$jN^;FAM&7!X;cHiutQZ65AO=vy5JU{bf%g!Nuy>aJJx|g5^KIBe zdl_oA(NuV{IvjTuGd@8mE&tVb?D*tI2ZBD<IsJ!=KKzl6ANqJD#^uS9xVkg$D}%CI z;m%va(2cKP<i-n0*PIK(3HT-swFqL6I52_I2zzq+_uK^4pOapF3qz~lOxW{Bs8l2? zZle3OPseoXVVC(OZ&`Np;s5qxl^`eUCT?I${QN6_>1}OVf9flZ>qb_}GC$^u**^Z# z#f;v14MW$j#w9756=)f83Sx>Fs0hvs!$2JfNXx-+LhJ>4|7|DT&wdTJuTN{N!(`R9 zhqHarCu!2P-v52m<G26DJ=aYnH#BfGKl6Y2rx#26t}2Fj`N#@cnU1=mABiap|HNgC zzx~zt3l~A9SW#k8IU?+kMi|Z^=@{A0U!&ai8~D}V$H?n%Me_#<{l5h5<2!Fc!mF+P z+9yon)Xc0d`hgYio&JX1Ny@E+lYt{SS<m7#mwoUxLpt&gt;#yD8abD9{J6`qjFGp0 z4@=&EEpF7%nI41$F$Y=;TT~G>R1HB9zy?f+S-m=19yi{mdMan?5ALJ5Z#(VLVR~iX z9_sInc$ai7zxC!PKl%F;OeE`g*fy{w{=p@`c*7X!|43ByHNz|1Iq4$l&Q6nFyo|-S zzLC!Nu7G}qW)UPo9MoW6PYRlI5jTn@8NL1g1|InxIPWrs-}GTb4pWx@2`7CV5UU(U zZ-o708XovPC$XH2HoRf%eZ6~|yg@?46>Z#xZQ6vMk^&553+vtM)~-yxrs>yO(!S!7 z&Uk!<EcQLE82g!j!lE13p}ii~4~@VL(}09#g-gWLzyuk@yrK(E!$1r%a6=u;Crth4 zhsnSAE!smv9159zGvB8r!MtW~+_2+!zqXmp-mm$`Wu?i3-rUM{Ln~}WI_ipUq;utR z#(wH*T4Nn_rjIzo5X@?e=@f((xCEhvCOty9pK$ngis`MiSG|_bRqsU-p^ATuOP<9` zyLMHH6lG2;{SnH^MXC>d&bjh%5I^!8g->o@eAD#dmvjXTjNhMJ^b5b*N=JWvDV=b| z(DI}kx-9zH?`P}>FGCN^qS25LAu1XT7YvD33tkOO>z~@h0S1HBY6A~dK*WI;Y;=t7 z-#kqBFCU`Q8DUp7t&iu2TqN$8W%|n7w%;}VxmSGT3!~C`>-nw|){L!8if)&oYc6E* zJFdZEiR+ax=VTgY1~`O_C_6DZfZDTE`u`EjuYhE<E_@q9-}58&bK$SB&JIXhjT0@1 z30f-FE%A00Rd$XQPyW4(<<HOyx;qB>b8~)c%a_k|d!yS|+;(8k@pvOSLFlnRxa@=H z4OK&r47t|m)gu>3dnQWylb5pOUDu$8x&#d*g&<{w7_eZt(qU0C4Ykmtf(9^GpNiVN z0+8A;OU==W1jKo4={Vhc9;f%^ZL~VWJla1PCbdj5o&7Bje=AArFGkFVD@QL#Vn5Ql zVik+uwhq@Xpft=BiPWEM3KnoSM%n&L`Xe79i4Yw42(Gn~^z!%7TDFGRe~`%EBEyGC zJ42|CsMCf*c1Y>4EMhYT#Zr8Aj%80hsZu=cJBtL81QO`(mE8wecFD!J>?#^NV<#7g zU58^Up;L7}*mkY)RqgRGnp=`xzJ%p(c@4Jr5HT2(0V#kYVpYJRqE#KDM2q-JanaDI z7z#>#)L1lc1x*lfs2F&|9nKkh)kTEEIoU(ISleEj9O^w|0r^Etel`iwE*)Lz$s@An z9G1OlE&B8{u?je=qit+(*@mGg0p~7cX!PgNWD1`?4e7&Z*h{(n3$S~bWLckd#2|D~ z1alE_f~cz<2n;iaBp&JZ>F@c5n9Vrnp*Q6oR+0PK-gYD5!Hak7Dvu@n7hC~@WpmH+ ziP60y{l|wAf9~stF0dpIZuEn1qVt+n*ufrD0V^xWBfeC$3RtE109r<f;9|hkFr9~j z8iGKO8l7a$8h`^6LvVQKv5{d8eDz`6v(p@O6%X`xQ<<{1vy{t{rIa0E*$=!HpDGkp z{b6cgV5arOG?#2*h<IQKCmwYHZSO+I?<Fkx6GHnSL(5m=R*&G?0UL2J6zU0~hN*|b zLGFlC72(MPP;}$$uFL#^J)M7f`D@+B<hJ{(Q>G#|GT~uUczU$=Bf~CPc}_YS(~x*u zyOi{j6_f{ONirqrR%lV8MZ|J#6cW*3STKl2R0UN;rMA7+*aT}NZUSQU%%`>k(r`vm z3_n|P&g%1+JlJJf@VstlrS+`hBELvVj3t*|NZQTNyh3m_+*t!{7-F%096<$43Pfg6 zao_|e=iv9h4?p$>+?w0T`35ak(0auZBpWa&HD5#}XcU;O=s&)jRuMV))gQ6@zkCG; zXOaunefrm{$8Nl_{mOs-#mFS~e1zTeDqtP!8fnCzNX^*_H)dKyI#;X)gJh~i@`!Z{ zEHAObpckO5kf2zsJs_e&G{h8B!^IjJYJ+I#98;`~v22W;fQUz(5uM=MZAMovXZoq# zEKi1IC7!CP7+JBDwxoppU7Uicp-QdrI`pf9KNA$I6)PaP`f(pXD#T^D-YVJ$|0Vv4 zk5X|TRm+o}KaK{6bG0JG1j<PNi9ICUlI-u^34edR^L_`NMcp6$t3@AbU;4%0Dfr_2 zf_^aykPU2zw_bH?s)zLZyh~)1#Obh*t{TT3?qf3r^aIu}pjYBDgDfCb#G>MYLNF}W zetzxmQwzR<he2M{OlpHHHg6Vim;`W!Bo500BWas*Y>aHSj}t@Mp3%`^>`)KUhy_JV zYV6krtEF~9MWxQL51fAi6AuzWJUBs;J|=DW+K2Ji{woT39GA99#ybn#1y6W-2ARo7 z<U@2HdlN&Q{jO7b4y#)=>Dz07M<$q%O>;@8lgtTEFd+axJTtu7#9ic*7Kw?-;x?_} z7H&4fX93r%pjRQi3hPx+C{`+3Dii@Jsv47v2!$dcVsU{|R58`sTZ)D?aRXYruNtlX zyNXy*VMWF0$Qa@riZMDqiUcJVC6o~f0>O~x7<{hOaTgM$mUlFWiiHTFCI__&P#6|7 z?C?^Oum22`BNTfku^E9`5B-E{G9w(^M;d>Cbol2<Rz_R}Bfb^e(sr#%E<MqlyE{Jo zJS+gYrWdtI(h+g$Ba)7f;Jrf&#ezZ>v3^AIKoY1gCK#>+sTK%O9jKtOevL#hmAT_N z4#1od)moUPK?NZXBnU(84&Enp(jj6|AyFWLX`EkeQoD?9;Py5?kXgOr7zBh0L?AZj zS2_~9@a(0upZGB>^a%Sh+^j<md&1;2qQj)qw;?Ln(hkuaBhs?AI)c-S0j|I96sjV& zU3a+v6uw&SMQFLy%)k$|>zR{Bv>&meHn>)SR*DRc7>H3D;Wt^=#`BpAyiO!ioO2&* z=#pmEcG_)5hlY`$5EP;|uv354iN>MM=1)eN*rZ+=hDeUv_CrYTe9H15I$IHEdjvg1 zGW`~0=2b|M<A+8tj8q)v!CYAJl9i<->P8bB3Es>UO&brRP{;$41zfIZW%Y6{6{`Y- z01ecLQO{(F^#z}x0tDt>uZ|j{MKCo|=jo)aTJR!`VU@X%;zU1x;e;@1$3PqCQvyt_ z#6SK<%*_(BNKqXoDThh+{4iGb(bC~u0z?u?FcG}j=qW4U`Z)!(Qxn6}1h8gkFkC+% z{SqxhGYcbDMKsn1SVL|9UE|$g4vG;lc|qYU6sWoSs40MB#42*^_sR*dEXEuwQpY6C z;hKY3uL9Y5H7*~cl7pzs!lBo}!Hcje!-@*Dnv1gP*hW);drw6HgEyDHDiE6sn50r9 zuLCcsA{J_6DGPWYiSrjzU#WxPDZ;wHM$<k{lNa*N=0XFLg-|pvw4-ZS>}X{OFR~6| z{`*`ML;|e?uRso7gvtz9#P59_zHgA_xFX_8tphx)QJ&-rC-EskP-s<|sS-5SaZy%6 z5z#VYWkec!fe`0NH#MD~f1*&ei7Owby7AM5b05Q1=^V5iYeo-_Inwkv&o314fNih^ zN;+DJC&N(AD?DOZir;?;+KN~;iX6VIPB0Y)m7#f95XTtc`lp<fU$^yP1Muo*qZpMc zc&PFWD-@qs5C*PeZ1{c<6WmeDUl5{;L<HaJHYU{_u?j?LXp)72aU+bQouq|OwD7s- zyxuk9I7*AAHYem`DaRI&G-8G`!A)KWV)$$^diY$-D^w1vDs(2t;R(^GohX|*WgD=K z%MD;O4DGH|DX2q1>sHV$K^+>wg&HeuZmP|(Y)4#>c*Bb!E^VlQcuc5S2qo5_*PLYK zNI@Tq%`!Rq1;-ci39Srqm^ZAyq@G~KI4&P;pf*BQ5oZg;Ir<i)6vK;u3gF(Yr=Wn1 zY&3x2(*0`mONnC6nPd^2&gT8}Xh>)Rn}%Mn=lFpJ?df{XxBDpb(da^`SwIOb!13Ck zI+KP{7<fDL#`b8VJ$U^QGkT%W<z#GxVBXMd6km0qKaRwJSg2!}ZX|X~qKAUu)B-Ks zvrQ~zFIoWuFJgA|{7J#~RG}goMu2iEtJ8|nAjaCo98e6nhG|@wY>n8^Gys0+5Mr(- z#+=|p@Xfc`0_d0%?gBS)&chKouGjQ@9?_gZKM7B%CJ+^gLx_NjZ8SJk4e-R763a^* zVp*)Dh-FbE`qV-cd9g;=HnZN}cK>aa7yEWFqi>Zt9Mz#7+TbHP9{|Y_^KBuituQ)G z6o{jTn{Rb2e21N=M>Lqd3*UD%<Q&5zQsJ0qcOol5h`4eHH@gJuF9wx{bAoE7i^M=l zu)-9?ZNKS}(We1Uq@wS6y`beyG#nDUKX{`XGjq;}Gd--VE!ZHZWyicU151#!4`T=G zfOUL7mKJk);ODrT$MK9*j`VamhBA)lf-Y2u*vTuvT*T#L@E5;Ia{vE<NYPO0N-;Hq zN9a>&G$qA-Q`n@N+3Zg_5}s^4p#<)!V&H)G9SM|KhIaFM$*Z9}PwlaSb$aOde!PMo zn}qgMT`?iryw4p0BS%2ZLYT5+z>6H|1|17tq{#w52d1QkJKS^O>&OY<Y7c1kJS2=_ zM1%yblrWPaiDx<#D28+K%k|{lCa0``4Qx?>^NS^4uPi)Wgvu3B6%+EAUM=52X3LHf z&BPQ&Cu<u}4P(R8=-6Jg4i-5Y7>r~4`Nx{g$Mc>Ru7c-$jw}e|PBuR90i=c=aYE>3 z#44hK&E);0i&aG@{*T53(wBk@vd!x^`x|y`$~BQM^%CqLg(fZ~@AlCU>e=%=E}fXC zJns>-WwhmDH0hx$wnK#I2Dom|5u6^+HC-5B9j&mV0x^~6#t_GP{qrSf7xGa?lZ<Ib z(d{D$T?;zx0%;5n-SX|<*>2bgS9HH{kJy$i0Ho3XM~hMR6*CTJgiuoTbG-A<vwQ{f zCA$1ctTlokSzg1#iXE6UL=xt`N|}R$0UuLeti!}%xH^4EeHhREU7Ew1*E#WcJPtqi z+J$bb$Vu`=YFLbjI6_s?&vH8AIZ$*hiqRo#L9lzT+vs01Hgp49)IcuXKKpltm5=md zDg9V#Dvn;SSEu-ncj_@AjvPXlJx-dQj~_PF55uw@*vK?!9Wz@)(Ag0bK;1`hBz(*< zQp~6G<p_)Xyfa>OF8){;$Q=<UJU>f_2{`Y_`WdE5Dbe=Dp6^+e%?!8y)5*ZkiFQfa zz1L0ntGTOE=YGEwWOta=R2*elQRF#J+;h)dz(NPN^l{SBY25f4v{lkh7EvsD23`Ir z68u~O{zw#%rrul7qi6;hRItc%f42p~9Aq|4=3{ehC}&w9X*&wmUMMs$=ZLEGvpy~H z9E|-~m`bYtFW>v{$DZ2EdVewvB`4ITdi~ao5s*$k{MkbDgL|qO-`8L%o~++TRgZA} z=IC4(&@~TWBV#1vOE5Qu8()NUJZ{wk^WF@CSPdmL)XWu-;Eoey9T%?`cuxzTs68oH zPnP3Ajqv=r3NynwA<HwY3P?0|R@1H`psu=u)72*|h;3%G+wjb$Lk4#$UY;qt(R)W( zmSjckk`78e)fuV@ws;Ta>aP=*yc*wbVd*Tkv_;xk1gjpzMkf(XL2N!DBB!b8@MNIo zdGZvhM&8fxPMEY_%rv@SaqCUnKk=0bCfo+L#M9EKy^U>6mUZ-w!ot+PIO}FKGjBq# z-$ymhO;U4)#*}dBS72<K^t@{@dluLBND|O<R+BB=OT6Uoh@n+iEy$o)_r;2b6UZ;r zbw?)xHOCZ|b7WbD#)tqrsza2bm{0yyQ^q5wty6vzn{?xK6aGEhH|;kcemgqcp8ia9 z-cbSFevUbhO2C3g$M?e8zrroPl=Pexm_7roHYPdkrAzUn7a_0w5;}AU(>6k!!~Q{0 z)<Q33058vXys%eO<Kz)g<K&3^g9<1{M2|R3j51X8@;>5(J;iLyqWY-z#rHh+u`k!X z6DQx*c~V;yY}~pjPB7v24(-2v+ImmzrsoflYvPQo%E-zL?-B?Oz4E^h$EQdx`7w~a zNHUAHJ<<l3OwwL`HPw>6=oMceM8lfGSFtm;1Im#sZ1WH18C`1{Nz9CBN;m6cYLue3 zGftCBsV%Snf-|*Ogn+GMo%~<l{CqD}`xl7FuKa*O1c~&E8LHV7`<|~7F8gcjf;ZvM zUrWfpfp!dQN9Y(Thw$gMi7T(AyzI}gHD5vV@uq3Qjw`T};qi~=g64P;^hgT4sn$5+ z=W_~Vg{&yZtAf;fp3V<zK)fk`xZ&~NesIt^^kNin(tF-)VT)~My?^K7yTAFCC9i*@ z;@7rJ;<9Aa^?C`i?rXH(d?)3ym5g2U(>Qwy!hJ~M5GOb<h!>pBlAQO0l>2w!7k>rq zo(Bgm!TEr>IPXr*mDC=YHIw6|5~Ya+7Py&>q%n()0_zgRL7}h?TBaImWuZqT2vGww z{XR~FX({ySY)UfX<ZL?p_NxwFpHH%!t!%Y3wp+@2E;j>db@angLiJ?UbBC&~jeP%? z@jrYg<+8<$e&73X?KUBP1=lGd6(m(?DYPAyOyT|48F|A^gk?jxH~uDe<)0Eop&SBp zbAi*bsEMNkEj<=}aWtFCd>z&iFk=e<$m~c;17o(|uOAoK-k;PeQCCU%E4Mwi=>XT^ zPPUQ!R91l41n%DJx4MhD&b{WoKiU6J%OBcz?kk`E@eAJa=ep>%Tb(U`B_r4V49WPp zl*K)Go`BRLUJ+l{{F^s$ZLHddjtc1oHxg!NsFr*Yz2G4TBS?1z6l19Kh=jT%#?{hn z2!&cet_j)(QS+eN>6mA)^B%tq;_dm_FAH$atS-*)XMM7&q~#qu!&IEE@+719n|E*j z<S%Vzv;VnWKNnxp-BQdDHrD6AWgW7<_CbYpb(ytn8cd?COnqkA>m~X1t6iZgLy3zQ zy_K<7{Sf#_$hLz01Csd0yBW;LL9|vP?F5&73+U3m_Q#Q(ucO-eU$Mpi7CpQMd+N=w z=Suvc^PyUV6Ty4{i8wLT1w<60YZS5&&*y_DJKB!ed}X$9q|gVpz#$Z6L9fV3yyvj? z?U`a))WUSz+)o3tjcs;DH|sDnnf?5EuM#`-Pm?^p4U5-x7I)|^c|GYRKR~i%B@|B* z^s6}cG(Jf&-&~v=J2H~surkNWgd}}EF<wNqZ#TO4AE<iU@v|v%;FU1>I$D#L;ik`n z;v8HxGSBVEJoONXn3P9EuXFg0&Ix#~dlQ*c+Tf^hKQh~!tqW5GzTMvwlr)*K^8N4G z{+oBd1e=K*TLFjeT(W3MnvLg`wVc=S+>NhlSLNDrC|;c^SEz<p4Uai*$+=`>myxWz zA|{KLd8?ivR*yikhon^@X#$Cx>#L%na_7mghD-~Fl!8@}m>UuoVd=%Vu#~b3diW`< z_ZYF<kK_@bjpJu8g6>M(;q#$;4wUC$Wd|yO(8h{Iph=^Ex+ThNP@>vYW!H^T^;u|b zh;`rzVf3;dRaMeTJWpna!c?e|+_KH@*zt+~^H|N|r=$Rzz{w_b_76s0?UV3OC&h^X zEvdWNwJv}SWt-?mqnvYDbc>dHNpk1n0f`*Kr4ia-L)4g`Mo8s(s0G1H@KNiIlS-gU z@O>jx6}}XVMTo7&sunTJ3Hbp+`6O0OB7WY0S!}Xp>XAf|``?Lu{aw)N)z#OHP}Q_4 z5H{ihH)#&CtgbrfXBkCR;=N<C>gld>)}diXSIh6+xoh#vMmCzfL=j8U)SwufAPyzZ zx+;7$FKn4XTXU8eavsjkb;_!dwk1ic=XL5EzMM+TkG547cbp$eMSY5sh*9y}dbZ<k z206zSn;2f3U`$$d({{H<HS;Yj>ti8DC~&SMT8f_?gM0~=kKnV#NWKU{N<^^T-vh3y zKi70V$eQzZ7Wn(k^8>a!&kM@3B5|H>C~Q|TZO%z7UA*~yJMNg;%z8i1dc8y|;DyGs zcQQQgN7nd+*C_U8)AEKS@t1WvDY+j)mygEb#luch71E+!0WE{n=6RlD>OgTJfl|=Q za8-f?N9;zbgI#QPhFJBHs)h6xp;MROCtry_bQ#iHgk;O0Y(w;zb%>^z1<VETRZ|fk z8i6-GlFdx7YuL3`kSRh<EcUVtFOE`_ZT-E$yh}2f`S8t;{_dv+ds4i_9O033l8Jg{ z-#gfval>=!V7cd>>ykG-d;hgq`5sE%-Wij{c{+q&y-brOiNgh?Wmp2@>&PieP1ZSF z(;-=xnNxvP4lz%hh4|DIapoYgins$8<Db0}_smsPQ>*dS7%sHylTJWfz$Btgdy}B3 zRYdbm`cNCgs;C)pZr0cBs#t7__=GCd&|@fGg#Xz;5PD9N-1?ur`H4^7vT%Qj)24vq zdq1^ndM~)^*B#mQ*Z=(Di<I)0ErfqI)Dd5-UK%?WEb>kQni`}agYL(Mm#-sGsT(?i z;<Q8gY?tbp-DuC?nXBNjA4GP)idZhfi{KK)Nkl}OD8SE^!Y=p^)i|GEne%Mw=0LRp z>@9d4B}S#+>!W70MA%hM$9-D(VC8*9n0)idu70(i&H7T|{wePlWFT8M<JQ-md=cQ_ z=ayVMZ27-ywTjneE0)FKHOsuY07(;k4U+F7bvuy?!IU(lWRK2J?cIYra1q4=>tWaT zl2k3E9dL=xr5;^VhcxI`*Cv197W87*6>G5xRvH^HXbM!VTVZWLK`7B8y?zgkk(N02 z#J)aV%s3O-3)MC6eDV`dFWds{WubuQtd4u}as%PnJI@<lI(+!wchc~-?y|8kx^`t^ zE?`bEH)#8=@t7!hb95h>#`f&Twtqj>-@Y4)#mG=r!<BiQ_&EiLS<}odP4c~Iz_y06 zXqc6HW`mm4wUjz2B8$yxXbR6&>E}5iRHWjV(!w4u4yrfRF5!mvZNL4ir$V%y$z2m! zxP#!-=R03m<jS`et5?Q!^&(HKTTN{cEh&ggD0dzv?%Gdy{Eg)Q{R23cU`dHHU+0Mh zJbu3L))vGRO&{@*QEg*y7PyvX4Z~{9x@a~GQ6S6ul%d2qp>NTi=pT%UOOme6-tzA4 zpZe_SFuJF0>tfkJv<aLU((5g`xyVMo>2@FV<>5*-CP)shs5iNgn4$+O%02rD`z~kZ zo_B#ja2YYy`?p2Yx>rk$Xpu;$gC$keB4&}O+7xJ8(_3f6Sid(~L@msJmIYLG&_GWw z>yw894^$S|Q5+1Zb4gFLjb}>uFX;+6dL>MLX65V0{K3Cxe8i=fEO$!8Ip6HnBlI47 z7CQiw|M{Ph9DFrNr;n%uaq}6m25RPP2X3yLUhoU{;23b6(gb+%2qQe;HZ|5iiz26A z6*yPd5pD193zd_k8?w7^-f{c;&y?^_%jVs(foS)TEPwyr`-+%;rd<`Tnks{fDUu6P zB~+6+KI>9E`2BQuTud(eiE%&^>zv@!BGJNJT2L)Ev$&q&L7V3_5-c{eKGvMRX{`vW zTc=`FRFtgD$s5>l0z0z<p@gI#i!VLC<C7oQ%zA%48zX0EoSxm&@2yKl$J?VH%X^x| z13m9@F$zI)M>TbbY<64^Ja{E8ttcuZ%kxICb<df`*a)^3xT&IA3pb(!3pK37h-x6# zeQZRHsMgAvhp>Q|k{3Bym7`Ld>+R*?I7>`&s{8xt)K6|iY#W!GoUz2{X;Oe}LfL|o zoAz%n)&6X_>`UyH5lacvIqiIw$!(Xq$DdBrcWUOcjDf7kP*s8{RU=fJ+p?hkeW7g_ z9Hw<YvZ@hdBn(!C>f8#+%bdI_=UQi<EvDmiRe4q2(W>H)f8f#2%u?^|pq#;RTJIlV zhFBt>iy=_X_MMa|vD+s`@~0j>|H)aY+%x^dI!LaRA&?b$V=!ZLgnEWssAqkQXsm-L zje%$tl~n|*h*}XeG|)6K)RDX@DME!hNSx<jmFc8b9&9qk{*S)>soVF|9M72*{^?b~ zhPt%#u&&(NFKlNT3a8yFB-Jc2v>u(BTJ<Jc*+VlL-Tq=GO0(Bv87s0PBdFHpAzGn2 zFWjhA4KoA#&?qK0uZfMfW2OWR^oxQb)E$}*VKQ{}+0c`Al&;0@kKeTGcmHS2?Qe;E z2ZlS1?v>eQ{43tKD;JY{5>YhILXt#+w*Gd*eV^W&j%II(gePZ;!tXC;W3wR-AsST( zlvN<sJKoe=4mI!;wL)X4A*R`dOBFN@cs3(ck-R90O%Iy~W~#pK&8Hw%)okd!?Oi)R z{g3xBk-QX%m6s(14Q_N(w(Lu$fhwPNF&HHJMZ;vnLw7!#hvG-`B<wvL`u<Qk8^ue# zDV0XbP?3j{DmFfUvxh^ii2AV*>&FL_epIEXDvGMC?S&J>IcBx6-NlsQQx~Ls=X;+1 z)Zd&*ck?@<fa@Esaai4by}njvy;iShJ+C|<h<*LmThsUM_;-&5)3>N+YBKcv!Lp~$ z3EB{N(TpNgwGsyIXp_wvxGHK!&`7C)JXDl15St1&5n(3g_DnXTxR&pezyId#zx#zd zxi$Sx3;*=r#HYEvM`y<+Pm8f@c-X-CCq{1R?E|>_uDhy<>n4(SKY9BDy;%L2nCndz zJ$I<eRHP=$nuH=%4CG}=UX^n~E@Pl*R!I>nst_8+Q-~Pmgnq27DWUXbtUh?l6Q8>K z&Z}-sZ{x0tm%(tSIm|XQoNRiyRO3-viq~qJh}hspXq&cf3imLPyl?yMU(GCkD?+(1 zpOxuYsQ5wW{UEVZA4&~Db?~Llniy<NR{!lq$h5TG`N7yqT1jE~FW<D|<Db5ViR8BX zUmn6gGq<tYSbv9LyYPm`b^@?`o(8#rP2o;%P2aQQQ-9N!a(&{^efca?F*hf|k)=}B zl(WwtM^|`yf!u=a=}$%P(`3eVf9+jQe)8il2h2b73b=kQhwwCb3LAQwV{E2#8+TRr zFp=Ey<Q@ODFXcO(^K!5^Ytu0|M2HQW8EG<Gv7sc;`NtatWLoiTe>x^^C@HG`ufO}T z+y8YV{K(5}oPGt|J17r~`%y?;zW;ce8O^PPC+^r%klk#Fcl)!RcC|2f)S2or8m|Q? zG_X6H2`%T7zV<%$j-8+Se<tRIZ~yx#pc#?T90;bdc)nW!4pzd=Pkib>W>VhbeB$@@ zr>(1nIgumkL1kfkkqDJ3`|{b4x-^*$<;UN(;}gHq)bPA4g?~mAaPQpgZ0DqDVlK&E z=sh>EDcpJ0t?7Fozx}hbuJ-}&TW)`ER%c^wbwi*W(F=?d3JvVdW<txglYY!^ziH=h z|MF%w`;9MS;h&a#!14B<w%;FLI-PVj?1@YM!>c~<=q$YOuCjBtOL^tb-#TnVcZL|_ zis4Z=>RK|WaBw128rh%Cgw(Z?EM%YDu=5ii+01%>ChpGnvRA;VjzKxd-D`j0XT}-+ zy+Vt)d}vt4rQ=MXioquHUPxS;_Cxl`cQnFpwpp;3`}MgqdQ;>H5<5wy->|hd%<p^R z_Ww86-p>xX#Lr|sw?CiJ{pE~KmR)K2H0^5t6YtphiH~evzuB+<E)o8B#R_=Nos!mm z=%$u+J{Bcj;LH=899AuU>*go#_~>^F?0i=$0Os%F^qXsLU9_q_^xAeYoK6|v{^=bb z-FG@`cg~KZlyD-Com~N^*`91+y#qL1C4*<j*>QH99cRbcadw;?XUEy`zwr3~0bL_g U?N=h!p#T5?07*qoM6N<$g15q=W&i*H diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Speech Balloon.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Speech Balloon.png deleted file mode 100644 index 328605fcdd67c216009304172b3d9e480fdded84dbf787347ec3bd35b879f48d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6719 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Taurus.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Taurus.png deleted file mode 100644 index 0d2f9a50d9ede3b728023d21ee76e99889f4a860411e0b05a080947bb3a52a5d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9062 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 YKhw0XXb@+jxBvhE07*qoM6N<$f;zqE*Z=?k diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Thought Balloon.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Thought Balloon.png deleted file mode 100644 index 0a909cd217dfc93cb40211c936b33dac462e0e9150132328985d362d7ad73358..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6290 zcmY*eXE>Yf-;TXUt%lm0s#UE$8hgY@g{oDhT59jwJk%bopovu~6t$HS^HJ2UqA`l9 zYN**7vAx%Gyr2HZaVPivCHHk*zj6M~^GuStsXhZO7cB$=VK6k%L4f;%|31`|;QPm` zU?m6yYGbH#$1-GYD<aIt5|1YA<ooYzCEU-j5-O&mrW0}zhSpi!mh<HpOd7bk_`!9= z^7@$T?K}@;{*+aNs%d*qJZnqbmWLg>0A1<QaWlI*!sY4ST0eB2K7D1u!16eTHUHtr z7k=S57lBf%s&(Ru#+dSH!f6l}GkFX-%UA1ZY)ws7Cn0i4d1-~H&ULSt{r>-48C)+` z>+~c<XyRd|H8nL&i%%3J&m+6|<36#=Ns}5%40d-%|4pc&qx?sTnfmkUN&XPR&QccY z635Kg{Sxu=A1bCGS9x?AERhnHs3+0!T6~DJXq;%KuCC5`8WkEAMgdXIl|4N<F)A;w ztu>R*&eF~i+zSf}JHF=KzHE#|I8yG`S|S&I>>Vc#uaaWf%G?BB81NUEn!PGJuB@!o zoO}NiZ<se5$IMAjX=88Cv%bCk%U{mc$dHnX%0_`JyQ8DyObC0QGzOB5KuCz(=oC97 zK$vOcFaCDNkg;~1Z+Wk_`V(AK3UUxe#zt;)GWK{~DUPgVpL@J&A+lF#;|rBT_ut-c zAJCOt|MWr#DbsoM19N^#Tsj`QUfa}u{3|azw?+a=-!OkjZXmJ#{X2ih7q6yTfw)A+ zvmaNZHujD$DmyxOo_>8-5BdCq4n|Eap!F$X*frG<qQ;db>Fn(M>eVag+v@6t>B-5g znXahIi2S_-EQ%=CzwMHWWQDOwh_py;#6GflEROY-NcQu=*VudK&}^4giao05T*Bk2 zV2KcZ$b$zDUW*o(D*p6SR&+LT$K(Xz7A#-}ewP>LQS(z%`_@}qTUKy5!+R;?dMP@D z5w!q6HV*aW!iyP}=ma&A%zpX){d+qLRN=(Lgkt1jV^N<v?>O1$=;&@}hYxPSoQ(p7 zFpyyHmF4npwR2YE?b`X)>W|Yd{+t(=d1*kcOb&_BiasO~QyxW-de}2Us2I7|<l%ec zr6^T)UAJ;n%@>6<Qmtb1I;mj{JIq8fx#66(=qT=qmzQX(UHZM8gJnUQdd|q%2>Rac zkr8?|UM4+#ecju6SRNjpx3#soUM+c7i+rVJ3?Z4b9yy~UBbhfJkMU<4oipVQAMEgj zt`(yq1ak`@rKr+R3eUcG$7J}AkzvZt*D<%Ae&0L({wL(M8<#ki1)@aI!3UO3y5*~f zS&3#D{x}G&cbgQoL?U|>MynQOipGVC##cTjv6>^<?d|PL8X6E>&wG?EJ3K|=q7nB) zXT?ek)Cx?UU0mYQ($jhUaSKeE`=7N5UeB37!EP2Y3t~|&OPvwpPcVl+pEF#$clU1A zyNZg|0L3|C&Z8(dDURO3EHOEC^|Zsopr+>LoT)JpVr+@HLHT3|aUr<geOl6EzL^1G zbT5Yj_UVyW*;yFW*_;h4ocQCts}i?W@A7UYeq-SnJsvLlP;>I-)##4Bf&PAO{S01) z+X@P5;e>+Vq5gh7lIU3`nK%fc-Nk$utxX+MSqU=eyy6ViP*2^OZ|Pn3u@fbSQA-W~ z`$9+`1n2YgG{vMs?c2(lx?f+^kw^+>ddLW?nCaVPpQEkx^z=d>rID*Qf4I{1otca4 zsH&>2*G3*xkyTe$Uq0OUT3v?Uz(U@3To1HQaDvuJZ3qg?P+C!wOe#1*DJ!cgC%$|k z?Vouxl8b;LktQZ4pnu;~RaFIyzL)PhyC0_Bm(>%lQG^~R>_EA=5Sql+@s5ev*+E!w zrd@+r_w5gw=j&#d^ZjYpy4nLbtnON{A&qFplmqN#)W3%Z6Q*B1uHx#S(cNBW@DP52 zp)8-2U`>is3O}l2gPl#(*yBvukrT1=WNqdnOqBmPdbqov`04BGCmjPUDH{LBU!&Z# zGiTx1Emw);h6f`pJ8l@!0DG}pw{A65SHmX)&ov>L#pa1pt*j3=&aE9IrXNG~LI%=# zIzgBXBr0k)WZ{h;U$xS&v!s7r{uAONkN#L2b-sa`-|_;j;tN?@UtjiLhPV7Ar)Ol8 zhb2m}(Ow3fpBx0HrKQ1)3>kW(ouJqR8`BXPe{aLU!1qtw-78InS%`=G`}Y7$azI)$ z>nK`#F0;wV$i@tW{VH)d+@piv(+GT^`^~6U7A)I(09ST)wx5d&dAVr;R~hQ!rQBiF z+}s>KEHw1pU#-2I{OAX=1|<9}NoO~U##?Hdo2~rDz{XoBo;<;b%A@Hg6w*RE7SraN zJx_xjYKh<D>8>t@tz&a9N?KZS=e2&^=!xCjWFv$R{GP5VuB`mD>c`eX_0ab3w`7N$ zC!U_{3=9my;N=rDGc%p$;`>Esk(aCm1qCC|Z+ZQufpT*<Ed_xFi}6qQxNXb3C}S)b z_u5>%TQ(J82cF_#cSyRoKddnNf(Eb!h_gf+57U$ijo!C{I?aoD`KT0pa*-D<FqH`- zp%%zA5H{KYW!Ae~_rmh$-n096@AlsIoOAh#$499{={2m_NO2;*5P^?(c9(1FW8_pr z?Y$P61jv(gNS`~Q<h|i=_)J^iQ$rpSE$Lh#kYo>#ide+S*|1Dkds|D3wOxk#2QQNS zgM-<Wukc~1;+)3D#!s$|pA{G|WjC(%v%-9q|D^y)W>M0oCLwTFRyt6wt?oT*3q5e3 zn47zwHBRUv)na61Y{-*<+_(E|Qfwa044X?yA6S8Ma`vpPt;OoRP1*9J6<|*3%N$;n zj;+{wg5y?b@@LKWm+d#Ow=WQmQxn7rFDxvamC?M$;pQDa4+f~*P$qy5Zna}9H!JGj z-Ib+{|M%tN&YF!^X!IS?ED1ThtB<ZOg&Oa8zJbRCSt&a^yN(5_84N1?toa$-SNqMx zTPf*ZTlb{&xEZMmz>lOjw2h7F?%Ucf2jOI5g>vR<%tW&Q3^Bt1%#qTw>&D<W;s;hF zXjYBPQ%l4@D^$xDnBqxZ)ss!>YLYZh3=;NsN+;Kg|NQaAj1&3>G%tKT7TY-)6IPg9 z8@<>cHQJb%nF+lx&@!Sil7Kq<C~?27sJIgmp)Ps-dTp}Ptoz_tlSDGi+nrw&tK;a% z_iVR^YVdfEK*yV*?={;%fhp^eO?~#JNHN8OZ)qziH?_J%+#LCy+|x0I%36){rN61k zq?FGX>+0BG2^~Kh?Zm}J<l^k?ahL7=`_0WQEp)mTYY0o_)t><>;DiK|yK{!cPZy$7 z<p9hi)ok!7C@7eabca_-tfl>gz=}V!f_BVkdjH<0vhs_c<Fg7X+g0?3r)f5u8y@eS zZE_Oz-ee*!mI@1bH}1RJcps6Ilal-<p7vGMcFwtCel=EE*Zz{uO<8aAB3ODGH~0_0 zs6lnI(Nf&Y(d{1?D2AQauBH!`(7tYL%wmRp?2I@q^mKRkv$VFh&3W{qYI^${<A@@h zb*Jl61JIi90V*WXVp)bc!>bqgHyIiyxQ8@!j+P`diqBTFt+!tyw*7Dmv4|lLyqB`5 z!>^UL%F5))a<krz1KNb%p0e`tgm8_el|IbZK7DN}Dk=%cTH8h6$w_G6s$UY5A~iZ# zmo$e{4KC4_bHjFb&@7Urtwx9|%}>{&bHAI6=_BOx#tqxzz0}BO7IRGOPXpJs+Bf9% zIbD!Q_U%>zFX&~9;f9M}pNqATkdFtVu500`G6FhY^Uc+|7AUxG6#Cnk>ZMV0_g2tk zP7cS!)Kq}CbnfXX$j}wq__hBJ0$ZSyEfSesCY}t@8rqQ2l!QSb83Vm)ycssOwx`GD z;!|NA$}vwlx|3MNs39h%rZqR%Xw8vGsTRMicwzYDcORvDj~-#kcQ=c*6SyP097kF{ zJ1q|U8bRM&Twix%h8aoVsz|I_glGg_S4t|t-$>^gABA@|!-{vs;+U0XWxF|$kW{%6 z@h+l6puJ2sbtGzv8Ow$#i;)w(e*L-#p`92STmOts%K`<Hv#=k6qRU!0{d@2m7}D36 zvMaDphZ_~_n2akqx<cX7d87X}NIj%-ob@;qdQ6x6fE$wea8mzfw934*9lelLisV{= zJemy<9r=DO>O0c8whc3vqX@&~k`Ln8?37;=v$7k#OqyzT;%xmaN#stcH1pzEL`6nE zPu+y&m@=rJ^`AdW+upwL;b%5)YilzR_;{J5BiH~XiA5xP+)i<ke>OiK`xowt5rsMj zIn0`15wp7NT1wnG5D=yd!qJgZQr|;M<n+rsMxt3F0wW@cf2DJ<7&+Y6{wvpVTvG*d zhwo5dIo~hWRKGjLk&?yA7!PZo(LN0l&En+d<Sb5=b4Z7lAtXjdMo^N1LpWAWXOW(n zf}6t!Y%Yy9(B~xmuM+znerb3|4Bni1Q6wX;vJ(!L7loMH*c|^{pDfRKXOFW21jV3N zHgWVDtQcaCH)aS<E<xq`bvH<X7vv68lutezb?der^f}$1Q`LB35RFI<*T|@-kSKAR zi)n!0;JCp^9S>6jTw6Wtu>C2te~Cvm$YdgLp@HtzP?kJ^cMomB7j;w~cBm#t#_g&O zJ)Ac`N6H;)68PlLj~~g=g@x(wo0>Msv`$V=j!Fn|K*#K!o^S3IU7l@MR8$D*r*m6i zQD3o!Xyd#$5?C;JpnQA-fFPOkS}eW$+j~66bIMtY0w+xzSP>By%p1KA25w1Q=1$b= zb;nj_dP+jU)z|oA*@ic7w7nMFXP<a@g#X-}Z4}yR-%BU$meQoLmVdw(zDwfQ`VFp3 za;Q%D{WbsTKd3H`BW1LSAWIT|)*vbw)Wp}YosM$7Hxn(y?S<3e$gZVA>j3{D#L4NY zE<f{Y$IBCZdDQMdeBrJkAxE!kHu74$m%N^JIP@uu4z~$;>XjlSJZ9>8YC0Sh@bABE zfSiK~CZhj3+$E+%BX2#3sS!|)Upo!abdYz!OA*$bJUr*GYihRr<CuA=$v+*Gig?d3 z?Vp|ls`BTmLrBlHB%R33KOq+nd!IAReDD?e=A|e#9IGDCTbAn>$w~a?&-As{F$06a zD61~lcb_}_2{~(MKi~^>tZ7dEmu1ie!3`3{dF|S@n##(PO;$5C-xIyEs&76#hM+`& zZiqacUmD}n2v_>xJdplpaBy&YV!}fIc3%ACy0CQahT!G#RK?vVZf<t~0F|PE97z#` z%-fp?vs_)j@GF~(+WMjcpEO#u^^GGbNB!3jFJ4>;-Cwg%QCE-nOxRQZJL(;|N7l78 z?hvv};cHBwH~>QBhaofC<d?ap=N28%MlK#6CWT7Aq+kksxV$(u)~#QCU?rXV&%jCy z&*vL#a{ZY`Smum@TBRm!Y7$)w@aTKA>lD)AFf~2hv+9@4)vZjB;>~dO^JA&7{QaS_ zGU|Nf=J;8uM-8(h3t66uii$9#!fj4+xFO%u({rZT^BT~x6~QBge*il9wb~i-{|Vtf zI5?oAWfx|lagpZ~PmaBgg>SLiSXjis^KLJn9q&PTd7nE$gH&I#!ML4LJCGI@e@+%V z!l-BjtZbz1q_DoX$fLtAjtSTAR!pI(_`>UIii_{e`BbYP4=wwAKfpWc1B#$=P+@il zA4o0mJqWkFcPw3{R#@AqNKXa`65zwxMm-8}0FzaeVR4xVMJ56_!U%1I{q(f9!<8Af zeKZ!_c{5&_(&9#v&6QQL`5j{80xr1x#;}Tts_J!4=YO{`GPPYE9v(WvED{l8Q0?1! zeIp|#G~e64UZHAcB;@CQ>$8)lLL&d*md<MwKCQbi31OvlclySzhP4@2mXrwcQIn&z z_+LZ#>C~Nk?+6KWEoGRClOvIr7Xa9!0I8L{E-5MfH`ZiQ2hf*v9@Xbh6q5V<`%}#O z41`HD2FP0G?KOHIkNGO(`$M0{0005&jXje<z8Z9qy>%=8bQ`yWd7bVTj7CWQ_@i_S zzPG=Up;>ruq!>>3J9>U$WnANQ^E%*swLF@UcEu>JRaUqX;cZQgp0+kwI-jP4d{8qj zNwlS8yn%2mSXxIg29Vmyjqz1Kz)}G&{71+XxO7ztr2DvoP$~)v<O#hoz@!+fGA>tI z)ipIWWr5U^YB@SCl^}U0`!Eb`?$ebrfI%080_~<S++YIq%aAG)uB{F1S7bb2S%`-* zp*l>4HZj0nUmmRkh?@e}4LLQAl<fVm<L&o(zrn~@1irzy2qMtwtC)_ehx(=Y7)%K; z7dXo&kF!c39Mwl|JtASCVril^4yNv+PXW=u8VEN;1O*+M_CqC3X7iZ^B_$<YfZ`T2 z&F2sP=9>WU@8_4_$$z!ps$mN0@b#WFSj)4&xm~E~>FJ-&e5dzlj&L~zwc@lUlTDF( zc}wC+IuCdJ$JK+y0Ys1HDW-@h-W=m)P*YM8hX5X%my<!#{H9lnUkg5Y#wGBxJ~=tL z8W3=Ew!Xy$`Mgm*fFE2z+usK5rLW=&8L!P3iNz(hEQY2yeDEPDI^TS(?3}vZ7Rfm! zho^3O7*=_FIPYDx>=W|+bm{Vf4EQ`?I6M>}kll!b81OUmThn$74_M_~laUa4_IFUM z#ZY1gg|L$AZ$J#~+6OP(l2cIF&jNYT_%=QLXc~{7gcWOf=K0=onn?{%;%+b(zXvom zGJ{Vu^6z5U&iM;B%;mFD%&msjR-3i9u_0WrbV1>okCKi`0mn`Uu~1%3?W}N|aJu3h zv0?kCN}W*6qDA8q3PhBKr_I+Q|1njFtgeOWU8751VBpB)X4H{u#rE)bU`|D`E@6k8 z#}<Ks2YAp$^}Z{5#ujYuHXK)AnXM-Qo*vKrrA0+WQCVVU58d5=`)F(TcAfPrcKTi< zi4`8nXcX-{y{72(u`O^z2dKxoVS^zxN%ZjQ8nCt2{_`4CRZqWEBC9S&|Eu#4Hk1B? z;q*@d;a=a^aQ@HD(hN~6l&Q6CVMHR4{Bd9cJpdS1e{Yj7LSxAhh)}!Voi9Mrz}AxN zAG<$JPgb@(-k&s!it+CZ1_9Z?SKB7EwW)-t@d9+0+HoM{3uO(8*WaV>Lr?fhtU7wn zHmn|(h?VUViMIb8^d<xctfdYBw7bXQKvw*u27qS*hYN6|oU=xE9WN3)iCH45Z67>7 z9FBvza{0v8_8Kun?TaiuA`V*Wh5<Ut;`#IEi|?wc!XEhee6B;ECVX8cp1O&%{TSE0 z41Xk#KEual%BU2K;UYAOegK>cP%$P`07AE9Lj3P>IJ7&(w0v)1>3lm_Y{;xI?F(u5 zT{HEAafaTtGE_6!TamaYh#|WCy}Llnq*dFtbWYFD4-ZchUSbNRvB25nrKjwgnwdFT z0zH~)BKih9=_X!D`iaS22|j6VZT*-VAjdUc-o?|kHyM<_Slb*!w*XAf?;W2l<nO7* zGcOAI-$i|4Qh=)-f*H~7O?)&OSmY-#LR>V4L&zcL$Kz3v9)z(1o>X~G9J8}V5tDQ- zU3Ws#(LE{3++mRguNH17H1R2>dHIDtFWOt!5V)HgJ3B2tY4439A|lS*mv)G!Hv0Nh z>zkXXp!lL{TA-HgJj@8s$scU=Mw}j22jdpX0cRKkO2Go8oy(O3f;K6$ykYL>D5IyR zxAyU)4)JQ|ZhS8uhf5aWwWj6hyH%+uwXu|0uj&k9|MixlV&j^JCAEM!fji%yjW!;U z(8@D9Ha3<#J8R>2xH)SDNf=JuZr`Kdllb%D1_d*1{3eey2*2n!yriv-OFFkIZhXcm z-1oQC%RynV4MUZJ&T4e<U2=1iCauY)V&MJcq0zpN8*L1!1%R5x{%m%`h_lfuMO~;h z%t{%TPd-RJ*ZfWtNxL3Upf}S@W~O<*{}c?+s2@H`?|%Pw$2K&uFeZ?7C$N56`J;rW zV8aI%jE#)syL)*pp3FFB*z{2c=u+eJnCgbF6qphw0cW|BF`ymK4BWlOzxU0C8{(Xx zCFbI?{WEtR&wpFPYw^R7U3RM_2p1P)0(NQVvF6z_)A$y!K{3pK>rgLg1;`2cd1Vq( z!!O%vZrbB*ip@i$nW@{&-(9<3PevC{F}wW}l)+^_;)EO9)N6I8kIw;m6{d#A<B2QB z<ae%<cAwGJ$M(Fwt)><(6OAiHnHVVp>Z^(i-Z5P=ky;fpjO;41-$K3fSrbjG1y<G+ rV*}_)>qv*7c&jJ>d#!P;U6Q3<an=5IR22gLYk(N)n(EZR9>o41Ddajg diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Top Arrow.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Top Arrow.png deleted file mode 100644 index eb04aaa19b151e689c7b44a4670060e3b9f7fcd9e8a024b46d4b15845c2c5222..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4889 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Two Hearts.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Two Hearts.png deleted file mode 100644 index 8d22e1eead579fcad636e05f3353f9ba477438f8d7a74a5c2811cce6e0b024db..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7939 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Up Button.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Up Button.png deleted file mode 100644 index 54c39d0ae5542da695e71c6887ae35f99419e24022a6e546467cae496ad470fc..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7491 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 N002ovPDHLkV1nG=E}Q@W diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Virgo.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Virgo.png deleted file mode 100644 index bc2c252efa0859cc1b4c0edfec87e866328259127425850413140aa63e59f1e6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9672 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 KMNUMnLSTXe79T$V diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/White Exclamation Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/White Exclamation Mark.png deleted file mode 100644 index ac2e7e5a9d5bb82df65c1419e1a2ad18bde9fdf0baba5d99c0b32f43bc40facb..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2601 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 LNkvXXu0mjf=g`dx diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/White Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/White Heart.png deleted file mode 100644 index d216f7ad9e8d8fb93560f3b72533cd96ebd0460485562021a8469cbf97950bb2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6194 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/White Question Mark.png b/shine-UI/assets/emoji/telegram-previews/Symbols/White Question Mark.png deleted file mode 100644 index 924c82050313f28628f24ccaa18e099a869b97f52fa2e6cf5a04ba6e4127ece2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3757 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 X!BZ0o)kI@Z00000NkvXXu0mjf7Y#&v diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Womens Room.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Womens Room.png deleted file mode 100644 index ce99c0972874f31262def84aa7b0da7b5dd9afa3c78c150cdf7f15373c07e732..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8072 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 W_KAqkEnT4i0000<MNUMnLSTaPS5Hm= diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Yellow Heart.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Yellow Heart.png deleted file mode 100644 index d8d1c572f22888c60bcc29e8d9274661638ae7a2fabbe021d2bb665d6e0d8b77..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8393 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Symbols/Zzz.png b/shine-UI/assets/emoji/telegram-previews/Symbols/Zzz.png deleted file mode 100644 index ae9e05d597078981db1fafeeb84f7282c11b246347c5b4f818d59a2f94fb0818..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5593 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Airplane.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Airplane.png deleted file mode 100644 index bc95329f4d00c32e7db3d5c4e287404df16484453d5813aae840e4fdf7c62708..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13719 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 IFq6>#0R(<L-2eap diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Ambulance.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Ambulance.png deleted file mode 100644 index 4c421aa4d5e48097b47293ca04ceae907c33ca703770ae82c357c2a846b9b531..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11665 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 bu=f80Bhl+|Ce7r?00000NkvXXu0mjfpwM-4 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Automobile.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Automobile.png deleted file mode 100644 index 940b922cac221aed9f4b468b3ce2dfc84ce7e92cb722c2b50192c4c3b56832f3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10874 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 HZW{DIol8bS diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Beach With Umbrella.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Beach With Umbrella.png deleted file mode 100644 index 32a75d03302e4dbe889a63fe4e6765f3f42269ae17dd46abb65020e5132fee37..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10983 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 VS&WbE()a)X002ovPDHLkV1lwXqp$z~ diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Camping.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Camping.png deleted file mode 100644 index 3e9ac2f21479541fc9237f3a6c4a472f040b0a3a63f8a6ac2daeb038a7d3cc48..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10223 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Classical Building.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Classical Building.png deleted file mode 100644 index 9b5766f77e8f2848e8487788e96c2ec51c419855929ef29a6c567f3d8e1b746a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10437 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Compass.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Compass.png deleted file mode 100644 index 79ad6ee5c1edb15c6a19b23c13422353aecb64bb55dc412011d3915bf1178368..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14984 zcmW+-WmH?;7A!4Rptu!x4enmt9g3IY?(Qw_PH=Z9P`tQ9ad%4a;O_eF_kJX~S?jK> zdrr2@o|zM&q9pwZi2&){yLX>tWhB&q&+q@e5aEIMtuznbcklR>WhF#4JXcOSywdcw z+)iIspHR58v?h~U_0(;^2*X!Y7=$RE6hCp(SYh8&!G3_Tf6v3iljxlErTPOEtb&Z# zpE0uK??E6!6P-j_L7QVRwT-n~vp0ziuO>9B<L*v6CD>L_wn_H%r9HQlWOaVGRH>@* zj$r+!x^eU7=F!`)qw||#P0iwBI<u<R%iC?(Tj}%tCqiy*LT=mNN`5sqeeji)m7|XV zQr$L-)hUGB_%=riRktfudME$gHJAp)@qDN!{8gpbyrRdLYtZIi<=cqU;C`a}kY({( z#N}!{!XjWK9M5|Kx+?i*wy@G@LtUvgT3lE;p1~#7v1Ad$MjKoig1$H4QCZvC*8Fj) zWU<Du#&Gy5`~J=0^|I^vn}OX)o7B+Y<a)rq<5*&XY_xwb_z|JmclSy!=jq|C4vBRz z+-<c<$JVFGkvr`ZxYgm*b~kJ^IuTh6XH1>JmQ8Aopb%>%E$s_(Fd_y`yqbdS&hLZ* zNaJy#+Fy$XvmCFpc|1~Fv3(2r^m*rht@DS)*mu6YZ(|m(Ls@1PHTSxLBmq(Ep~J)U zQiFpkBPt*-PdGHJ3IX{tk>@=vVUcGwxqD^xZe5d|nHa)>3@#g`(`!=ue{2HR?V9;D z5Omnr5Z&;WTF)6p2_pTWfjZb&JIZ1@kv~&paK&ojq`~+oa`YN`i0^ZKooLW|y$3N9 zq;2ILA`*NZ$8Vs-KDWc#7T>H>s}0(|R_irS_@25P@#8WX_y>T%mPe%f(&ThF^6J$l z%GM^<l(m-pnd6C>6Pvq8ZR!#ChcZRHpU%Y~<o-|QgMZzQHu|fd7fPfvi>4RTr;gM{ z^bct&wrbPF`48hG`Ki=pQ)DEfT|v>PA!-E0=$1jECLr;Avh()trC77%8OsxOhLj?$ z>tfPi*nIM9aY2?`4sJC5-p<CaRHuJlAFl?Lc;`+}Pw_PRbxo*_7N*&repOwVZbkM< z#}WKIzym+$&bS36kP7ij{wiTMUbO+yUZxtM7nRV|-Hu()d30SgcKH};X{9zgZA;zc zR=hKbUi#xyC|J84;JVny7@2>cG<E0TXq?chJ(tf+T-wQ9r4|vanh%~`Zcob^i#RB^ zDsh2B3K8ri#iaWg|NbWoidtYpcat4OwLB*-ErxQUf~2A#36D(qO98EU9p5M;&V@WV zbqy~?(R1x~xWjYLCoT6}6$ve^#d=>ktwng7?Ln?XN*=%4jE8Jwo{!O}eq7%vS>EbJ zo>b0U0-%NguZ$K$#<g}2fvF^)Nx&4>TK*?CJR&z@C4XP-LTtql;mSzYI#1RDF>*6U z@YWMzY0bpNGr)V^DN3am?O8-b1dTaFyxsddRGp+7GGVTB)alVP+FJ6Q1fsfuww*t? z&G@YB5K|~n#C;(a#=cnz`Kk>Iy-ju)%0p&$ia2hKjU{|5WfsnSgETaR&xvnNEU7Pr z4(qp3q(Ki`8O>c@ixE(vdCvEieLit$pE4KrXg*t?)xW*e^W417ioB@rVCCKivjlhJ z_i1%r;@l<WKKEC5y*$;tDl!<{ptbns9BbVE>sJ2(d+l%oi*M53>UPxscyn~);m}se zM|P`agzirVj$Up|$992ohJsyxb^cU!x}U-r94tYf$*<s-bP*5TTj3nmz`00MoNHvA z5krjlZ5w-i%aJl}vWzQ*%=$h^lre@4srUoZw+OKw+SE~Xx*eFZijk=m{-}(MXjKLk z@u9F2-`Zd(j_+uq;Z0cB+vzrGz}tPfxz))^W1YjVhSI7=6IqaP9A>nKcTTE7vwb$- zO@l`7H`}(RKBa!2x@B8eS5MQ`u78&gJnd5-(Q9_AMQWouy^cBp%Ay|$7bAG)ztU>g zeQ&B`{d)Ja@Yv^(F6T_$P`xiJmPR*&!&FUHe@F@uMt9>$@|mn?2LW3i?m6%8-+fO1 zJan*x455{5QM@)74jl6(hf{ULQm*)iZBzH$9LhtMG}RV+WmUw&9_|OJyW2ax2eF8$ zJ0D`R*UP@Mj$0qv<F{$IBYlf@*F3wg(wQ~_PdVP#c%!Kx9f}2@0={!O48;;loAi6V znlG36H~Xz~ij|l5&vs_BuhD=57m{w9TV==VCkMp02ZZM4e&cdIl*>?w{;glsSG|^; zR%bqstUh-)Uo6x9EyzLJxe2UoA_i=+VTz3-(rt4hE@Vq+XojKY=aD3xq<I=Yrpdw7 zwZRgEF>LRPz92?yFD=<)^CXhtDt?zP2$zAi62PxgWysUG{!Ezr-PjpZT6gR;O<Yg9 zZFujhqN^FQU=;2!cGs?do0R)-o)OV#v)KBwJs?ySQ-!QHykjbTRItEh!+ep$69@Cl z^G0w;@i;quqNR|suj~0vuk*YFl7Y7LyGPq*ovhd4b-%juy-|QXrNy{aH7cG5^Kb7b z_!A!zpEP~p$>)c9o!0NDTwJoY$h~UaQ&V((l$0nWB1-P&@Wt3oc34qTGSpjChg*N_ zVd<%7z%ukxx`i6yYDirg1sh)Xoyz{s!NXt3L7A3<O05+HJUL>#%n{njmNp!2jc(B~ zu`V0wLDzR^;gV6{C3!IO%#e3ndc<)0odo4Da_93|v;Vz1srS$e>BGID{heGf9K69z z|HKL8{=W3hSx<4~5oV(XDAB+4nw93}=6G|TcWC7UZWax_wFFQ96sutrc@<D(KyP4b zO5XQ}ej?lfTA<&_lZQV$>z;gd@lJ~c3o^%WS;tKe0<WiOe8wTCL+ifS3gJ-?{3N5Z ztz&ZM`ZpRHsc8l>4CSerH5r;Da*{Z#ILVJed7%3d#wl{L-ynpl_fzon)Uij2lTcNo zzY5Iq!nqdS45Rm7NOk2X4p0tUKiPw%sElV<RutUaLi6*<b3C`$GIVu!5{si`i`9+J zrVEj6nVOzQo6meFKiomQmSVo}>(m?_>aGj$^4_ms91L&Pylz7vE&eaw3?*gP#Wl~X z#l$D|Z@vzb!YQN5dKh7(Ip^Co*&o@Ze!<m#Lwvb8`}fdgHuu6IP1jN8B0PfsuumyK z4~}eT<We^<7$|tCk|^HM4j`3AB{p()PSoa<GcgfroYyRxwJM6ID@IH)Hs_Zg%5qnW zp!)ak-!&QuH1w#ta0kKnNdN+UJgP3{PBOPN4bD0B%ksN*Za2nQZ8{H%XJz#a5!}Yw zj#i9TzmDurv{GyQ#G3#sh8WGQprFLY${Tzl#S1;&?We3>zq=OJ0a-mhqN<Edum+s^ zKE~ZVF`$_CJ9X)$j6EBaYh=}JU95PWoSgltta&@0n`^kb$5Q6w;81^it!eh%>|+5V zv=jWz-q&r_Sg*59e;x7ge|6*8^Jh24U_R6*dxD4GHHj0F1Yw$-9=j)g#H$i78KmKL zK1WBmCGBpacHv)1<8dIFPiIKH;N3Pcxu?zzLB_+3qFMTV;lA#AbEc9~ZS3fomgD!N z?e>6UN#5cy`nCGcGrP4-#Q`DyPOUU4un{%XN#&as9`*&D)j0~9IACfkYwMzt)=0~K zY5|V%v3uBHBfhpKTg+PCa*aq^_l&}@ILtWe{;U?4@tqwi3?3Sk&^`n-4ET{5-OQE8 zP@E>4fPUv}k%pp|gFWzGB|LnbK-=B5c8mV4mgdEn59EGOzE97-WfzVd?O}vtwQ6CI z%VtjGWvI%~gYuSCniyj&mj|-m{PubJUq{^IqwWfn(^vorD-^rVgh=R;6U(H}bs}>d zi2Bm<S{QP&6a_Ym3H^9fG@<AJ9`G@gUw?6PKfynmtw>E)Ow<3k`wk|=L^hg@NJLoX z>X*(t(|SH{w7WXb&G&ngnc@@)-|upS`i-3k2nhM0$MyS`Hu-6}rj{FsA;-Lf_Yx+! zE>Kq$b@jgW4j(?}op9}T&wQC;EDf#2>8ZJB-1h<m%_a4G=FSh6`P$ZFyU3?OXhLJ^ z%7XckA!|H=X#qFmJOSKo_W$@@tc$KI9)Dm>Pl)&)g$3Y6^uO}%>GmAQ@+o<Epba6! z0=XsOXTT*#=en<+hHqhRo)OxrYu?<fno?b$!JwKle7;Qz8OiXdCMSrgbKaFZ?eJji zE2QLH;Q8%2{XP;7jT|;Y0<#K*AY78N{cg|$Gfomij8&LhN?iQIySBUIlJeRJQ}&PD z+i@b2+_`42&kxt6A`^4>uy%I!WtEjs%K%bJ%Alf1l5z#6nY#3O-8ef!R1(228&9Bp z{qEP7r)V}g{3_%RLkPl{ZiP^JJ7!q5_iW}LFFeP%M4pENo-<38KFJ#@gx)g#Fh99* z@D#rv2zcoUqjbOQY6IiAH%z*Fd*8CLvVPIiW8`X_r^6B(ws3Yu-+da(<VamuplMJe z5^#@3o)F2cPzZg<&VGJ|dR$(_y<kLW2QPqe-Oo<;VjL_tfQS_xxvW;EQ6nQm#KsuP zuXlmrM|qc)kz+p4vK#Ny^ZYQDD}eTHlCjp~?3?f-Z9uTeD)6VDt~O;izpbw#CL2%p z!WF5@#**+!selsf%lev#2##zpWW3`@BoE>zCX{Z^d~`EuRx7M*GM|qTAUCCxwEL0c zi!2CsLX@OajYdIkql!G`nO)vTI87(^$unuo+4WVF(%zDgS`(l=sjBOJ;Qx|>r10sJ zG4gOCb(E#OHPyA>ig{!0Lv>q1(|Fc0al@oFR4Y!fKXD)`e83q0gR<}q6`p~oC|?^+ z!7=D(7^#2wl~#^86=o0Gha&2aDSNLcXift-shDv?GNtMo#p-0RXs?GD&dY*Y1}zzC z!_cF*OU17SPV^QmhOuS>*q3}W!&I7@Rx~t&f6eNF#uiML9u43pzoADqvb~9%zWe)N zV$Xr<%IeO&Y9^02U-bCZCc6*6wQ9bNGc~VW*4dz5Dnw$+x3-OYbh_vTxdxJwr*K)= zhv5?tVTYlS6cm?7WGE02KL&rxN$-KtA2MIAqb^GPXkMp-%d9J5XUD{|es6!;dSqW> zQP;oCCj43}LY^*DkYau?Gccy0%puGjYo=#eIHil_WUx13Cruy11~1A7lbJr8AV*zZ zQ6a`?Fc=bu`7TcQmACS1&HIgw{GbL-F6W2h)OYBQFdmQ_<f3FMtdC$O9l0^5G<-sG zkat?1gn=U0xMB<upKEabrqMK?N365$>J0{@?Lhz{dkr#RV2F3|Y=z666^5zQs%iQU zGcmUwuAH^nUq6EvN>u30+|HKe#r-}ge!8*T#e#=Xr=%=0W|mK7?sKwDEXQts-Emht z;H=lxE0ZhzyNfJ%dykdXe7Pp4&+<`B5=3C+>WMO1XJv0if${+slQpZ+moIiZud(`v z(*`f91(RXy$&#7bXUYDUI-5ItR3gvN=C{*N!A4))N+MGjwTv4?3H!$1&f|XZI#A<% zbA%D42PP5rbd)4@b<=vC0()$7Dj>&2&JWH=^Qt?)(O_P%=CW|!&klsv_}}|^fDBsa zR)Fb;&%jH!H0o^4byo54tn2Xw(p-4@CR0RV<mT4cVY6sofDzWTK!ZZg4`SnD6B}#f zwK-Vs-*P&%KC-m2DQs*^f4kpnPUr9-;o_QioyZ+B$UG|nx<g5cl$_`f?Dxf-$aqY7 z)zzp~TxRDjL@Jh5tfkKy<O-id9Zw?FQ1Ii`*r!CkSU?3c2nj#-qFd=$Ryk5KLmt-A z!fChG?k7CRioc(A`W-{Ma$8*X)KcWwg@vWouN?m&!iUo)nbvzrNl6`8I;2Y0;DhCg zul%9oi-Nb)XdQ3e0Q^zX`*`W9pzPt%{1E2g+og1{A^*NGGb3|{10lEP&QDi2gN;sO zKPfY#J0Y|<3Qt{AbD*>I?qWk6sE?ri<DGvz>oUx#1NcF9I={Ru@I)Slm4|ncWK>b< zW9X4*>UPTat#_%F9`59f29w7pBEppsWzk`O>9+*BO!9@1ohOK4(n)d>>~2bvZ0=9@ z`JVfA#lh#SHHNMFKT}Q^I5AI`$#Y^FEzcBdV>)vr?N3R|iOS1k4HOLZh=--k&oJ0Y z6F}~|+^@zVvaTK;sidckyfCCsOG7(~JpYPn{v56ZI2P2-$Hcf*sL*KxiI!j0n65z) zs}`yz9CqmpGN=ny(1c%Y+|PmxPx3gFG}pwrObAEq?E!NKA);@H8hOm8T~qoLIjk5d z#@@HasSwXo2lh$1tr%v;qUQ%gMma=LbfBe&qhl6wRUbKDYm-9W*3s^lNd1Cc6+f;2 zrBi+$A8&ubA~m^v_5!M8BsD1|?65>&PtP_PEcgW7$sjlx1qCH>*i?c&L1npJOAoPb z^X)M=ceQnsQ!(Mj+2ajZiD~C~aezTZ@qM#4NY2kMdu_2^x!;5h2#Ap~Q?{_wY}4Cg zRP)A$Ene=E6JiMyC+4<mO#h20L&yCoBVZd*2aIb`@Q_9E;TxJ7jFvHr1EH0Sf>1XC zD{pFV{(SD$ru{Ra!QK#L?FLUa(K}%&;age$_1mw#CAbyV>_ne=2hsfRDfh-s^O~A6 zSW!L`5)L?n&;vaMm6%gajEw^qbeJeoGr8ed0@hO;+V|Q>pZ+3Pyle4$a=)rb&&$an zfl2!k)dkcJ`(HKl;zMy!1<;gw?RPlwlZvY9+4&uXA1Gl(I$ltlZ2yJY$p>RRKUlmH zZf~1B4>fnjoJgqP{4}QeHZ6XHJ~fGX8-?wo^aQ6e;sX+a+J4On5FXIuVR!b!E6ne! zl?V+jks^V#Bn3Q<X#IJ<9Q_Z`t<dd_XNtSg1f^yV2E*i8S(g>YPjUzfQe+SixKbp_ zFcgb02D8dDs!mrH`~c>rkr+ariY|cnVp`aTMDeM~lOMl!n#_H*2$$5?z*oC;mig!+ z0Hw5xQlRPk#PiI&+6<ZW=z8))$xGhi$bIE}@Qw93eW1S3{&mbL*;1{?&3Fk1_ksi? zu7Z>xxAiG5Z{ZDxBll507TXVLu`?kAnlla_BH4~z4HzsHzL5QD;Ql$?m7t0Yg$tQq zpf<Xj#rr;AnF6<zA;o-S>0Ru$E(Wb}ugXi0q3=ahmCeF0Ra)y0EREmTv4r!-RdC*@ z2qKobxVSdY&&yE672VvpjPSoFE0@QY7MkGBr=!447B-cH4u--DUmYmd20;9iQQ4%_ zK?JYoA4tFR^GKF!Y)J^+a2e=Q7KO;tZ2qkJ^LEMPtbDvRHHH2vEh2TpH@ftDm$`(d z<UXqFo~YI{Yd9U`Vb>XTn$ywlGEPvzu{-r(X-KNNI;fr4+Dbq}GxV8&7(>%7ofW#9 zSloVx@%;pO^Q{z4I#;Gv<n3WnYqIPw$NYTy3NWSDH$$xwWT?{SSM-@fu`L``fAO9P zCYDoW`gcb73QxwIz54O5nCEltICE%&1+BW6^zt<Me0@JfPUDkz;|DK<YolPno|B4@ zHC+siDJaf#v=P2VYEr#jC(SV*nM!-`EPlKC>f04;BJjL{AY$z58hzLGCbZNvzO+wg zgnzk&rCbo*9odi3)Hhw|haD+A3TB@3>loVE>F=*C+GY9H<?okIVR$8%^}7QIZoh{V z10Mcr9}`8l#>+@JK7MvN8+i^e)AS%ZZrzx@LvemS20axt+e6r7J88}T=|n+6VS0L9 zi6I4KQ6i;b{NPMg*eFct^IE{to%J_)mcD=XiS6wOx&N#!EQ@re!-vIRo#O$mD{Mf^ zK-54USsstMpV1q?xCeh_Wkttt0H=RjH8BEPR7DB)h0N61_WdS5K7DO*-_kyBgtq>l z*vczD7L$gj{SS9<m)!vCdvdbce5AGYf%8Yri-!)F^};iHI)Tl&md?IkwEV|!4YDo% zh6YZPRc<CGCIAbpx9pwxKF$V=EZx%?{&@(v>J~@S>YNZ9?d+mqMCob5n5Nn*ZSJuU z7B8?M<%4^2KYfQX+vP)iRqacu>E?DH^8Vpj;h|qcY_XyOTdCiS#&E0D<2m|M^Li+E z<buvPZ*>SW4*7Y+0P$Lxsi|wQCq;F3xJ_imb#>%}unX&{1cuiM<jp0D6#I=lUExoH zjKuZLT~zC%F7U)saKZiwC6E04(8<Em(l7+lN1U5apLoHFAcEaQdFK44rr6RP@5F~I zD2CI&MWyq>?;7DUH1W$sz7O&eT`ztV_JO~&@}T9}X=*tU@{li&%EH}=yQ3eYc3~^C zgi{oafn@VG&uBaA49k7KMvZ1`H@dMds6}krj%UP9%gO4kvkh)Q?EO(5L2qqiEm^)3 z;p^Ud5h>4n59IJo`IdaT*Aul;*e&w9H4kRQkTDyVkdU2Km25v&9+wnj5gR8D4;G!I zj}L-)pNa3w(OYk3b!((NOGk2fgcTU1-(N=^MURV2dyxsv`JtXv#o=ve6P>J*()&1H z7+&+rm_QkpF#q{-mao<0xHs9ij>!cP;z7wcA(YFCs6_EA*+}SF?XN-CJ^eo+A1fOh z=!dfa78mHmKw|tP^mBGvUTuED&!0Wcy=9*?BREa0qn{PN_7`H<tttggPe=XqY2~(! zC(ISU<gcQm3$D~3CEt=7|NED2x-95KCixQJK2qf3hc%3JxU;jfLHZ5huRph8CA+d- z^)_%^c1h`AOKBQeTrrjI{KP^crE6V(JdK|j2b>8k=~7r%&?`**wz#vWgTo&+J0|9F z9Olw8(n(Z<8xc0b3BmRpc#qkK0C^KNZ*1C1iHwekbKXBUaz9=g2*Jyd78fUuFnvGC zNDed9SZk0Pk#41%LC~<xJHv<zdAC+y)b=!{)D6(1^P$zB7AOy=LJCmqhkco)6%}#B z@EfMfSc_=XB^fZF2QN=vd)=bA%-<x`)v<6BeaSs8wYv_*M2wspq>9v+!hC8S9tcji z<0vuNf^qUWvrW#bg^~k*1WyySno?(zK7JsW(exa^1e@i@h^EzLBlg8>Fbo4EQ<x!2 zdR9h%9g}^>O(_v6!B&>bL<vK7PaTtWMI|5j2*Jo`IaC`Y#+)i1E@dPuy8o2gfls(4 ziR0M&>cPUdUJ+&O-(Pz!pM&U^TShn#4BsI7y=+1w#fl<-D?yrMuk&QJyt>@zA`lLw z`#U~k#k%)PO8L%YkK;Eh+c-N)<BvNAdX8OA$ft9hMTv;8#lAVG*=^^3xrm|LH{(Sj zx2oW=T;+0=FLFA=y_<6dRSOxm+)>@Vb+A%l`d15;vRY;`REehb9N0)C^ITllBu7K| zG1Gw(pppK2-cG~B*ll$9&4Nk)TV&0n#Q^(OqDP?sw=sYJ{roInFMp?elhx{7ZT>Ty zB3yW$Ep+RUxr{XR^^g7=F6$wTE&Bz?pNT*3{!O4H5_S%jCiP2(%f9kD(pwipw;suV zU~G6wF;Hd?5fJ)$l~Q8_aYJijoQ{CS3_5!_UT%!?t(94G|NB7RL;5U?*YzM5SP&*f z_HD;BrOOZob1`OWCPT_fJYR(@bDTUlpC*ZBOE*}qu(98bIC;Typx`&rDw%{qIVT62 zr}fE-oAHbHx6b!q5dCTudSiDjG11WUHkSHK9rX;RWpOuM!3E-lHukDJx|;DSZoN6z z?95ufS*pRr^)+Y98mDNn`O_N2x7A$QCZwlVt{7ceFxqW20R2EHQif`pfGRW(`?m*_ z`BDdsmOvB-8O6Yhn$iA|j5#zf@wvm5%A5`yNhGwO9AGFCBrYBu8>@DW)LwXWqOoW? zat+Qx5Hnup22;~x3noVVao1l&>ibS|KG%dd9BDZBF^oU$NQGt?H%gLdRT42`VfXSo zCjoViLaogmNt4L=J4MBDkp7<^^{Fh<AxJ~ux%mZ5*iFVb_h`{2+?l06kVo!>m}X<f z7+G4@PBC3vBlM{b7oHYd)S-wiu&;M!rlsB+#HzfiZ`4a>)VoK22Ntx|$}Ams>-;q7 zFU3hfnN(iV*%`Y#nhJi&WJ(Z2kE2bS!2MFm&Nx|jfh5U(&`?_xQi|*X^Yz23@({wc z1}0+F4M<|y8i6`jTQKqqWwaQ+qF~M!8%23}j#PbLHt`_J9g8{{qbae%Ift(`6Zfz( z5r21U-%gSH-H#<o)bOQ^d(lUo5kE-YRSN-Qu89C@V!SMDxyTbI^w*!Xtua_JxoFkN z5s}=pwm`DH&d!{>uDcEmO^e^e2#apDMUwcTJLYxw{s|Hk5#O;D`F_^hMs?pYW)9{( z=iNki|Dpc(55Akufc9Ns3?h)-;kjj=WWf};afOW~<>e88;xuATfpXC<SbbE`C`$kG zYu1BCHU3Lp?+*<-riBN*yw<ja0)4KeUS{L~C`n1FxuY!tCES2o>{`s(b|RYZkC`!S zU2WQfLzWwqL42Yinl1ih!MJWTFK-CUtx!kq@ij^n)40CVfSCl*UC}n~%y%8`5V30K zj4w9xDnGB3<I)-de)mIOgPdiRs&0O=7}C$_tY57<;1Ijj<K<OxVM97`>}q)s!9cB@ zaV>ti#vzVH=ZYmo0ua7LS3mEzixblVo+<1FV-^B)4BFDuGibJW>B!?dhpyK`K;P~} zem7D~?dm!{uzkZM6(|qJx<S&DlaoZ7991{S%x|rRw?m1w3u3cWbw5-?QYf3s#~rk6 zP~|eqZQU75b7IhN=Nq2uwKO>W!bT7TPhYD~NKYN~;f3hvtgp`2SEL_5;w;tD%4+BF zX#Ft~hs^9VN%xPb$a{fxrQyJhD8tR}S8)Z+VA6NE8Chntmk(XV`HeUM)&xd+7S||X zGxA_E4H$VaXzSP|HRz{WZMd4Sdp`_)!b&pZXE98I5N;zrwOI<k!%$&jxMaT{s%nHG z(|c5CP>JK{cdK<DWA;WMULU}AsZqQ54XSiith%|ToLOFfYRW6(ZP>mCOO&BQJs=Yk z#6D?W`=SN*@6Aw}8ZPA3`$b-z_6&W5iia_R{q~MW4-TxvOn%!TkJiQW5z4Q~bjKz` z1a$J52~X-8Su3*2tnIR`M5W#hT4LcBPY>dojP%Y`Wc~PDs4ABt$tcmXVT#Rws3NE8 zzP_u98aivEB!cl^Srsv~Em1ga_@;;yUF&(=gRtMVPf;QAC>vPwh6N_<OEza^WX^wK zdCmInjY28mMVljfG1f$VXTL0E2tjXR`Y0ZQ{(kaG`;R5bneJ=|>d2H^i@bEctM)Ai z&bLJF(te0o)>j%3K*u<!l;ov|9lZ-;(CUh=_@R=gA=B@)-1Gv2O5_`=R@*<4!l>P{ zMbs{aLH<RCA-H1J`m`_2xlfWmTX<JH18MqJ_7Nd;<nPYvy4Vai@7wbvB9G!zYS)kG z{_`uiqJ|BWaYKBD>W;l}SUHSPVSjouMDfUP5tdYe3mH>%D7*bCl!$$iDO2#oq4-tu z?`#&Uu#Pre**A08c`Mz%GKR1rk$(vh)j=Hm-tdLd;HQJSYeO@jM#!tHf9N~|a467k zV2kCbuIpYP!=8dk!&y|jIeF=V4?9WMBtl}Gn2ce6TC9*9+DOt_SS{9l6QMccR?e6v z%Vt^76i#78(SE0JUhesHMEib8B-vrc6vb$Uuq7$NXjZdF<h&HA5TxXELCqW%Js3(# z`4I^Otmt5dFZforRv5|8h9<P{+tm_OtR{qQ_@=|7;<>3IeWTEHfETs2Oap_>XAUaZ z|4HnpO7>6bCdm~uP#L(W;R|@2?woJ-Nfa>ahNKJ%5<0jBFX!H4Rjit;W@LzI(~3=K z%^CY#>JSYX&1QRWc=`qphU$LJ@?mxXaI6ZQhW8w{nB22mj2@w#2EH+Cp_x}~R?hpc zHK8Y~J!FqTWK<|(wyP!ksfcc$Kk$Hy;zuc?jrmh|FNnkNNr+56O{2wnq$}ek1bgST z3?(xnIdECd5SN->ew}L~_5kJuUdN4h2{N$7oB(i1?q&1@eQQtK3x)61Cn@sPL=sMj zOuq>FL58T!8X#OvxO;!$F9;DwR3uMDP)AKNE0&#dGk7NJMtjd$P(v||Hx`ns1!Gpi zg?QaVc1{l`9J?JqzKa-$UKv=7jpWs^;0YHeP3jdKI_S+W0G*jzQxNxKitr3%MI61+ zApZvbG^4Aor4?qTLpwf^Bjlrm^wu9chKGbL6nFKtx~RIEMC5!^g8W;!R>M_s1F!2n z>$G+tK$#KA*LhyN2aub}U=~QUGrm;&n!)ccJPtf8b*?G9=mtWt(YrySa+&Mvg1pdB z=RF!R7goe5?2bSjC(8R`OwsaSV*1Qb{dE&-8hICWO45fZgwdFprhZHD9!3?=j`G6$ zk+#bL44Go=a*YZxWe{>*TU%yMPEOKUOZDjfJ{{Q1X_z`SUV#SC&RD{!v-2;Y=Lz3# zPgbP`Ni4p~BfFSS=DRI`)?|XU1;qe7a)zT~mKuJR%41E1Nu4^XTbvlyuw)3f=sVbj zA>^^2GgC(wP+?F~#EBXJw7?h`3G!T8f(Xn|BnVo1T2?`4KE|$>r4c^AaPRdT=ZRfC z9j((LPj?d(>op?VKvUCA?Os{rg;PjK$PB9GG#G|PT2fsdJIc~UL=O8Zd%QdU>j2?- z;!soH_d=3LU}1=3l4xt)ZZ$nU-RP!*(Q|a(VQY#b>|CClK}CkD#dn$DPm@VWBz1l= zf%4Ecf^rJ<;5P*dS?9wzi!#1R4l}M$5&B9UsIG-bEV)uzw{K|)Uro;W;XUL9AiZvz zyGGYfJ8(8_3a0U=Eu-bmuiH5>4P=+BD{Pd^bD!?cEGBb=c$K`q#zVc1m+QlBZ{5FE z>4vC9k|9o{mE4Q5RE^elKvU$C<Z)Sc?$%$qh0nvzw(r)RgouglEQ|3;bH7-LqlbPc z%N^h3<yIp&!MQ}VYwdbDaZuL8cP>Sf{H5Etu+r)0M;Gih#gf9T_LKcWJ1hMdMO0f1 ze`=7Goj*`(49kg_e`UpUR@0%Vx)WDkuAy$Z-iPHWXMIRh>zgD+dfB;10LM&Oc{w=& zBdz|V;1x=n`$?~x0nk-nUS6*6?p)?IwWgPsWrcGCzIr}dvlP$Cs-69OdBOk>thKo8 zX9>i4a>{aNn)n*Ox8wYYgdrB6nNE%or^<jEZFv1V#Ix*Jxw(T*{1grV{b*#zO#Z`f z4$EuN3e;E%3bBbS*fRZC_x>`>dfzR-hfhp+>AUSR^r|G>$sM1ZnnNcHWQ?3%y%@u# z43bg(O<3?v!X+q7*+0KSCFbv+$QFo@pa9qm;6hdIBG#ilC?kWwxn-?pG@@pU-w2*b z9uPc+p;tJ(#-UH7p1~UY!}D5isH3UO(EVxAx@8bGM4I9+)Y)@D@Kel<sl{cT_H}KM z+nN0G8=hwO$2J^~aq(G>;skx})v38T%OY%JXX8juLD5<bDqJUC_g`@>E*2)(YXNUT zg0(IP<))EQ%&k8LqHrmSC5NvV2se4Ez8M%0tH}Xc(MXcAuq;JFo(kRhMi3gi%>u~& z&t_;6Yj;HU8$;Z@sGMxA_D-otM>h2+*l9Ba?|ZWO@}-$8v;JQ!Wx-hL(OK=s$45jB znOg1sMARg#BpLE>34IPhUQiz^zJiuCi68ybTjE@Qbv5(R6Xea`X?bQB`hDzDqgC!f zl&qeE&)V9WRmw=fJskpBkz+_P9;*HaGVILa`Q}C)bK|zJqJAw`Iu{f$zNjUaFl<^@ zQBly`oC;71z;cxg4N2pKAL*dE0m6$09>k(>hTe_YCoU-)tr&-ggq}MIL!Mg^wB^-R z`AsFLb|_JJ%z1@{+4()>?jC2<hM+Ak>V^fPBLOLjbP9r)iiAz0{D#M2yJq{PrTKZY zo9pYWmiLE8M^)?V-#R=WoDD-B|IIWhP^8BfZWjWq?^Xn?|3<2+D0v!>1v4_9E2eTk zAQ5m0^-Z0#0uog+QtdBxK~?t+v*@mtmUQ4pfa&>Xaw4&SyW{zWD6q@$%$@hf&MidG z3xgF_|IMXOS@k{m{tu%*d^0}Lp^x6|=?rT!$^Y8iU7qh*XCH_VhXHB2u&@vij5vgZ z2ClDzlh2nwAmj))xE`oI7!RbS?u6PyIt^gN4!_Hn?+|CFXC&6jC=5|Bo0t^h7k&)< zL8fs{d}QM5TY$2PB<i7z26+^D3$s8akwE;p-HPp(tLM;BwdQTD)4<t01%XTgt%?pC z$#%Ieq`aJ7_`V0N4!C9)+TmKiX|fZEqA&z`%b?&HIFge-oQFBt_Dm29lvP!k`T7PH zcK8M77ifU;Q;aP=)4~aRn(TyxxafOXd8cM(e&e9CaOQ0{=q3YY$IM~9ec7<i(@M_j zMqoO;uweQR(Pt9sbOjCPz;~lfh<$lP#n^)O9Vgt(UC++U{BQ4xR`VUc{~&$cm;O(} z&Ej*hvb3a19lcyKiE}z$Vk7b1Ctq1z^_uiq7x(hd@|aofB&dO6b(-m*prV4s4Hl_U z#EX&zpU?Xw*60A^7)X0*cm#*h(Jpm}#3y=lnytjVWV+-y4*>xI@C@{`JXjkWuVDsG zzTHcU_&Uy4Xu3N%)c6k|?Vm8A!DqGk9>8dV{Ix^)ziL6cug9X#1>+7^2;@5Bj#{yi z;VL*j0|Ke@LR~#TAD9Sm#|d5FXYxRRbni;Xf#%4ANZ>dDh0<h5U10z8bT3h!Wz&wQ zy-MM-VhnzZ>tuQAPXe7!+np1nsS0G!iLzRU(Ougq?C&&*TTqLCa#9b}$G!7uO2I}O z1h|^Na|*chR70`16d`$?`4cF_BFyq3y~%bL`5zEaJv%x&_U5f;I1CI77KjOX%<(|_ z+Lg(joR~2co*<eqsnBpuDG6MmI8P8TU{kq3$7o36lE(M`yg)@vCUZL0?yCu{9Bio1 z{fLJ4HVuXTcHG&MYyEY4SzRAAOZ_HQt}Xa+rQ=ZOLn)0ePCP%N@7_e_<jytcon1>R zwLI8J2loo<fvHUO86STGU<OOHK~8TU?vloLKNAxU)e#L24SpseDk^UIEP^<9y;DRT z{Wz1IdA4>9C@-U@iN^;An7^~l<WrBY<zK_zL*lqN=eBpRjLp3>T31?~OZ3VK@sLOW zp8g^z-cR{#JCx8qk0GUhpPky&**dZ6?q3*s;)0Hy>zI8hgMp?Mt>1}lXR=v|9{yJb z_g<A>W7H!PJAa_5cXg%*n6MdpCFWlZo%mwyuDXNJrXeET*Vici^k3-5H~YfErA+1) zz=XJdUA*~<#~lc0x9!LO0toziR}}%jrrWAr^DeHtJAs*JQoP#y+}z)U1l8oP8d_T0 zDUrOf;>@|UTT<x)%|Z2myk%<-Pj7cC<QFgGa~nTt@tKg+V)p@WYISuKkWC#=7Ttr( z&2$tdO_ytZ@J{UP=rkw(G7X7V#sh5X){`VR#0%|e&tqnKT~3h1WOBXZc%?D3UCY$B zVhw9*adC8PjML7}Zfs1U+?U%%wos(`p*q*zk1rqknald_`uaEEOZM7G|DY^mRdW$F z@CbA$v*jit5)!~im3^EWLyH+5jiR1CtYWAoO$8`}Vg3V6c6Tn*l6b7b!V{8shP^Cj z|9UgmuW2$ym5z%J62O|}w3(0{M4`!#UY&Q!Up~^lnn(A<NGy9pxGART#>W*At?GRi z?Y-k}X4a>bR)6W>Q(D^F7Zi5Hh=-wGP4#sZXfv?!3I^_i6(_sDkbe4fBT=ZzB`9c% zU}Ob7|GPnI;J$3ORg77q#mQKZpD${^-p;2z)$$vm@98D6hVYP3Vwy2>IO5~X0pNa1 z7&il^I}{Y6()|3Ntt+}>BBsFY024DKY{3oa-LxQ`hP3)gzD%*6z9!pbq=*4y!Ponw z=s4w>g#}$H0SuhF<SUT*U^!f-x~%5AVzq;vxq-S9ghi+F8i$S4JA0#xL`m(LK{q0Q zud|Ln35afupY&aO<bZ6S5pm3_T5VEg!2ZlD9E_gaQXq|r6*XjKYsncD6g0^4&<kEz zZFYdH=tVpk3cy`oUndh^5{n46e}4@msG1*u&p$l0-s#`Lf6)JVcu3F?DAq%X8|CDi zm;2c2z2`Ae*x88+VYvW2swhPRdJtzW$r>5*+@XE+MK}5fm^(YKA7&OzGzl`v5#2c6 zJNNytO$K`u*>qEcCjN>9mCqi4&I=H)%Z-&`1M;|=PsQxKWjI`JZqd=v&O7I-xJ=qI zg1Dt6P2kgiKAzi}S^!izAjRM4WYPo3ut$V2L^nPsLFao!29yI!8w+b^xm_2pRs5Ic z%(M1wffPrBj*?k5rL+Q|<5y~5HvRZhqJgBlJ^V+mRNdLuHcO2yk6&FJKh#qaZMF75 zU_qHC3E;AFEIE5ODLeE%H{p2Q)2o`Cw&Q@Jo(J^JQukAe+`B*fTUYeB9qhG|GQF&( zv)P&HJRYaRbw$az9Lt}Z?EHQ_WM3&UNZ2S+5tt3d3XNs+AS~8i_~qI%1A|RNW24L4 z3tGHVsZ8lCAgo-J@O+a5;cow(rnFsd#i>y--MA<7M<*-FyW3a2Y!L*qri@i(yU?U* zVKZpha|aE~Y{0<du<k2`C!Qty+YSuUF+S~lI>i+0n%#GFKEKavAl7PbXkh2#8?NpA zRs>tK&*tcx)(!=#Hn7beEVbHMX#N`=W0|v|HUeuN5M0b*Y+_=Uzfhr8A8+j@Up8GU z+o8caqN3kvX<4GWsI{h9tep6gX3njq-h+kMu(T%~NaF121X~fj(y>J3m=P-1zW%rM zieo!2MKiL@f4)-#FbE&Wmxku%Z7GW5_4-U8{?z~a5FH(r?x(W8k0llwxgJAds;XK7 z7b75qF%{3JVL#sS*sql_%=K{uT1;A+F5jN)mhIoJI*?}a1oWuGU*-5taNM}v^g0o< zadQWrArz@=2FoQ(?l~Hy_VkdKl$HYBkpaz2k;>Ei%^%F9Cr4v2klz<}aB{R;H_8k{ z?rHvJboszO=5zm7)x5+)yVVp!6df}{0#P#@Bk<)3jon9yFd^J$=2p6ZIYcaWz3|1= zeF6w{HeOzdvs#m}Y=N-YrvIA08UVroU%xG+Gy9*<U1ANQ$S(=m7e7A*MaAj0H3f<U zR^ZFN3O)Is(+Poq&i~G6@MmL~)vT;d0g`vU^*qDVy3ZLOufuw;e}tDFvzE%uC%0ZF z5F0<gRQbMoikwljxwAFWsQWO~8Q3vOf~aW~!=Xr*$^7ajRFm&l|2(D_)(5j<QNK7& zvNWrx8z|~Mfo|RJzUy%#?@dw~o-YM#yh}d>xU$*VD^9zUDxk{L`b?7Ktb6=`LxyS{ ze)LHbD*Z5uSv0G;<IKn0vTvM`NgzvwNyP6O3>+3=WA)4`FaHb=9~%@;SG9jeN|ri4 zGq)tcpUv*)_o5q?AF}xZV1|o&j>e~&m5qh}@F=h-pHZ++jy`L^E6O?8mb>%_sDGRU zc-to1rY?M#7raVTy>r)`M(D=T`88c}7Z*-y<y4JaTt&0=y1EwA>kFa%td73%25q;_ z%Q$%3yxamF$NBmBu}w`nz`i;`7EVAqt>}v}b#DhB0Fg}1Ac;JeW#*p?u%bP{C<!na zWDy#HA;<#hLO$F8hm0{T6FfbwO5(dup0m<Y8NGt~iG!Oz_N3KQGOqJgxLxcg7>qkJ zoP2sl$ZE8q_udcSUDhwgH7ma^1GNy%(8~WZvOX6OM#Cz<R@L#?tzYjpciwn|`cfZb ziD#>r>`FR16iG;rp+MGha&f6@8YprL0PVD}Iv*8+hL6vy<l`d%(3B-E>sd*^9jP#P z$F&S)-CB{lb~uEEM|$C0KKhc@Xh^^rwWv=1&;qe?aVhR2n9k6HbZD>_x#uo6(foc? zWN?;ydin2P^oZWx9B*qIl0G0+bMW&crHrig_fv^e_Puj$Xf#=E5?)wk)F>-bc`VF4 zeO&Hp*X<3^99qovEIX=h+eB;JGAus%ySFE`+uFp%%d60-l2=g?85-)Hh2%v~5TT-{ z2jD*1&rvgT+LOn8^#_(`ynK$0g5*3KG7c;efa2kVpP6Mk87rjkxG4ur075?AmiAVr z?oS}oka%x~(uR#)KHs8LAPz!9!{~MdFTLVw%jqKr)Y8Qco}y9ElCpDX5)`JE<|H<r zHm5f7sx<cH$=92$W{E}oxkBD5Af%34o7Ek+D?CQO&Sb6TEvzg04l@XR00&7eQf_He zb?hM!%?;<8%lQkY?10UUXox&pK}AbXSzKHQV9JXsX8N};QVlfdQ+#P?OYsQ^j6FTm zE-pTrJL^PB<`zKN__!o%cTD)0b*)NhXaQW)7o73<=v`4!G1lK-mXVQO8>2Q<ta7&A zU^RQIrFUO542Mcfayjnczbd#o14#h;MI1>fh?@jWlMP8p51Z9Xn5bIY908{xz6X<` zh=b^5`nRbtod6v;_5?kG7x1|PtbpbL=ddZ#Xu_YF9(SS!)QguNtcb(A^+3j5!lBh@ z7wn`00-W(Qtrnfixu9#=$U|6YdAil$5Dgt}RFN7z!QtVTywETNCI}j<oE;C1=NsTw z@i9c+>@w%E%)(#n1k9<W#byhJgyR-Ws~DQ|>A(5a?RKxc*tmtIrWr9~2L76|Q_Wft zt-=(lrhqAUwlL!)9EtF(1pd&TqGNsks6)TBFXtdu%-4&C*if?ngdHU*H=xER5|1k; zr-2?ns>H#?Ct0pdg&Cu+2ONCCUF1+tGPic_RWm}DvGOyTEm>WJc^nv=d`s1MC-_9r zMOfXk=^S%U(aR5UBd)Ni?6VZK_X;UUOT!<!x?FM(Hl<K4p&2w;QsNV4Wso3*5!;Z_ zIp9N=A!o#&ituL+;f61C4e4MSWh&P#42%ziCX9oX!@t7RYDWW55c8sFc=yuU*}3=j z1ry(|3;nXoZsmG*i1AJ*Qp@>eGvL-Bv7oY2K8N>H)%XeNyxdDm!^u}30`jDC)mm+Z zdr?_)i%Y;Aa_|4qNFLBcfM50GjNRtdZVIAScJ)OZv7D-*%~nY#woYcArRn=opw-K` z11Rmmttflcn7cX-)kphcJ-`ldfY0z$`2~$XUU+13|GPLV%~114*6QutJDQ{PJ!xEA z`1vBOTP^}_5*T$ez>El%Emo7$6~mR!8G~M7Bf<GXq$}CizUyGFx+j2R8bH5BG-+0n z^^6*kRE<<#OBwDgWe?C}{s1v<96=SkZCU(2dvfoWSPxdGA%(_aTJm$HNkq**ry*kX zt{8*2T(^|X;n{bN<6Mgx$eW$3mM@~;L$-N&F;amu6oR<O#H+ZvHW<PAh`xr&a@4&l zg&Hk(xK~Fd)a0;DW`ImzZL`_R9D78t>Ku(e1N+nAG9>WCi$t_sBfWr;q}KL=G$Fj+ zXnQbbcJd!x*SLH_z^XhzrH%0KdPdpQ_^smLuiHnr=o;Z>SvojpT^8xCIsu~lN>f&n z7Cr%`#OD(3ADk(j`VBMpqGUm2@&4swvuM5Vx-`U)rYVEl_2it6N)(&l4qL8XC$UwY zx)fn1eJB_L9s5`X+px>#b<;<qr=j@bm3FJ(2CAmr<m}(*DV-nGtr82>Y!_2(K8Yu* z{rurizihL-z&%vgwA|Ej#0R;{rMZ8T!{d(v@E#vKJ4MdXb!%&@afp}^E~}Q!N(hGC z$W$<fo7$GKBZ?F<y<pWmiuQ}z;kR-=iWotHzj<e;ZD-6vJjwvvW9_n2?|V~ROsfIb z?B955es*|R_a8&hg}a#f*5&;En;dyTX{mJ9ij`;JrJpf;-_?sBU_>rqr|53)tTFum l+0CP){~zUi8GL+ur|bVJ6R4ML3!E^0Co8EWQ7!g8@P8W7pOXLp diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Desert Island.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Desert Island.png deleted file mode 100644 index f1b921e1de3753cac96b183a631deeaaff5fd2dba44388a5b3c3917633168b2e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9817 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Hot Springs.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Hot Springs.png deleted file mode 100644 index c8bace15febf17c07d0eb71eb70f4e3e1622baf24fc55b8820826b159443c417..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8519 zcmV-NA-LX&P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001ElNkl<Zc-rlq zdz_tRb??9HdEU$3v*)&FGP#n3kN_bUDx!c&AqY}??D2w~^dl&q!fCM_+uCwG$JXjF z7Q~~dwY7Rc$c5ZA;i|1@5ksof3s6xAS0Us=$ZazBJ$vu>eV)}n_TI@h&1FIojOnaD zX7ZW6pZBtU>sf0(YyF-lFeYO%CSx)tV=^XVGA3g(CSx)t|20KHj$pWOWaE$Y{=eCZ zUk&!vjz5yI09{}d%zsJc*DG%|G<F?^BD%oTecyf_vPW|N+o0*cl-1Xi_j#JzRuF&s zP6>t=5&ZUOth)a5CDy+4Zp@2IBw97v8Bw)*0k|Dbxf5A_hoS!q4NQ8i-O+14^}4_a zXgBz!Ci4fA8T|P;(!VOGEc2v~cY#?5{vhLnh2U<DTV|}3VD)70@AIOd{)-B-9`sP) zb%PgRDbaOJ1W#tLR~T<@%oW&Gd%hFe<$Rfr#+AsTdkJ(6qD$eb(FEGs_(jJ2!Ah~) zAHwKLk#BtlT1I2JT@V1=lF3Y40S|l!tE&liFUDS67tBv=e}5ZHzeB=D?~{zK!1gYI zO99qalp_anS+zj9Na7n-Nub{XT?x0;T-l*qPxbmNB6#z1V>aIpx(a!EG0d+2{DfBi ztuS{b_N99z&=nGFyM^o<0d9eCG+ELTkz4N)(KRCab>XJ{1mlBSzK!0oLhR7D5M2d7 z`v<a<Pk80ml(Ph8E)&^u7e>Dh1B(gH8_mntK3^ex^-i&R7gm?SmukQs%I(y^TWsyc zD~u_vmOxjCJpT_cxgMMoR{33E7Prv49G+bRx=Qf3LFb_?zg{_uCA@x(Wb_+YT_$pW z?XyEEzvi}<gv?zf!N51f=t{%T5;*gOSAM<qEy3LNPh#|5F}jT4*3l@x&T`*=mx$hF zgY*u=&M(8n`ZV@XuIqD<TMSR!W31k70$qan@M!M;8=r=*2D=d4N_bzpv6lrw*7u{k zca!;e7nrT!4yL^IpkHchYqs9sI^IOu<kglupZ+jxd#IX99_;>WD(S3iLOywt1oJv1 z^gG1=d;_2O%4)FJKzc$iv=n3+G%tcJKZzRC9|Re_9sYhae!ph@w+J_W&xHC|Chr#` zJ8vQ1QoHsj;*KmOI%64>e;&7%zZ-=5Wm8Fak0;l2OlH7CU<I@YS5AQ`lNww6HXH`- zR*;<sS?DOpLU1=WHg;I$+Uar5X)IDiAH0U%{xzdmD9x<^q$P3xdzOS@OD<!!Xj*9T z{7dyK{&)f4m{`IBaI3-g!!;A41~pAhVQ=r&;Sin?P(6qOuCG{sI=)c+gDKEDsinQR zsj%CI@EEGnA#$j|D+2B=a^rh+xN|~dt0s+Eo9@;PSHl*7?&Amma}3;%5zyf<oS(zY zof0>yHZ)>X3*~%%WE7Y10HW?a6EK?1=Osl6pdXP#mI$f<GHiz5HVK+0W?K?xvj79f zW7#=42JXiIzUYGUC*h?{Ou8wKjD?2g-clCmKZN!An_61(erVvV4i}1vvc`rn0xhTt zGCKVYiM{Y-@tU<EK8{JDSye?w0pf4;40x#e+xp_1CL<X2($LW8b2iA8D9l!nH3z=0 z0JIbeC+F1ULot9zCfi6EUXO_GJanPV1H{hF&Z`yFnTF<8vM^(5L&N0y#o-AFz}%{W z1Uj-3z(|SKIOp5*dCG8^fOZ_f4XmmDJ)0zLjS8{i87`Uj@skm_<bnJtEuG*G=0<A% zT_7LY0ES0QzM;)^L{URJQu>{0j5=`v*y~QzAb=|q^$yzc)8?tb<=<><9QP3TgIQrU zjv&_Jc5O40$4_<>!(iN|{+F&2(1#9Oc$4bA1uzl>P#B;&@wA_G8V>(qRjp-VazX;I zevcC9QLhjg${U`PnUkjZ$=SyCox?*nbc3IKkm{u+=p9kT1sS2gkH+C4GxhY>dFTCK zeY<g1#{zH%08lG&L{u>SctBL$=I88;)8@H$v1cu{;fEH2TYH49%;Oe-1$*QBvjad9 zh6ICsWVdXxv)*vN%P7|@kFxK&29kXjWSv#_u_G668ZbIo(p0Ps)IagKoI2wSoz~Ra zv2Eyu+XS@gMr400V1Tm7^97$k7^#1GGvh~w&1rMaa>l2hy|=M(&P9-}J`O-Q>HyS& zq=j`mw9H^RwI+;7*8hTOnY=mew0Yi@NA6gX%bj@<r1c;OXcw4|4iE2$y!@=sm6agy z+Sf<$%ctzT^WU1bh<)cB65doDYxf1A7GJ!$wYz*uNsXAm;2wKKPMbATrca#I*gG_I z_tMF;+ZR^XD<>2HwRU1N=`V%}Uf7{2V7(#5{M+|s-l=CYWy&edW_bAiRZ-&^`+`sl zke=ZFty&iE%W5()`pgSV+0h@&fAfMgr^&~b1?FQ_D>n5(`Jw9lTRjhMfzl3j#)?%L z9wGY4zninpzQ|2(Zadv?edeF<nLfSscmUy8l%WHFTTR3N{jRZEi1Uey+cY(eTF#%W z#kapFT{~%-E`e<;gY3EW^`W}{!IVW}hF%JroW|`wjoLLaP3q3O#IHZ+g7h1p%iwSK zZL<GL14!(uAK6GX&L?T6T~o5^rp(d4w|A!h+}y5rz|U6Y^HWc_(sZq0wzR3KeF<jA zQ(@L=JkF(2o2Ir&UE^dOzMwOGXxb^d6o!`BhIiD1P*dR7;EN9!tHn5<xHzv#rd`X@ zqVCM|{d4EOExp@XT?)6Us!&&?tBt=0Ubj+kn}ViP<2GN)<~1>mnoO9XeQ$kF@}2ha zx(GIWJ(rtz!hujz!cxKy-eW{}hHZ(4?ds#ara_CAGkHzUdAs}9S+Cb+;8ujWD{3Ir z>isKd$=@!r<>xl%H5%{IOuK5-t_h8*r=G2w-h4@NU!2w3gnL)d>5OzgAl!!i;`hbs zP?S$J%xjuy*TgidZ=9xm7rrBX;G}7~9Coe9WZrbbg77tw`@St!M}mB!QLCnzRxQVk z>P%kU*%!MX&wIUJhS4QqW?^mI9sq6hduy=ze3VNnuBcTtZr7BY>Xg~K<AUES|5HP= z-VXPy?(DR+Hf61mzm|^1MIui<Y$HvheCooyCYf>SY^%C#o0i{nY5MTAS-K2*mj=Nb zjt1NAaKs*C007J>wA{aok;@YG9pi(H5Ab3%0HgSqUzU?jnt^X_)tx)Gy!YKfX5AG& z-Ovf96U-Irp1o9%f+lZm5#ySTF;2mR0cl?kO^LJ3^UqHDw{4s|{KPM&UJmyH!9|r| zEPqI$bOq7c9qO)3MWd5~0Iy!e7&P^mSGJnTr_FPHmWH0*o_8(Gw61wyTI}rtv+hLT z2X$6Kz9S6hEk*i%6vkfTcIU#p`lwA^)TSdrlcuk~)ctVUd|e9Ls)12fgRQxQ+mLU3 zM~v={#-$qOHHn%v&9rG*8dN8pu3O)9N%@<`>QZC=vfhgKaEZviYYpfVL1U^>hj&q4 zeLPOnD6cMV(UJ2nO}{&SqArF<)=s}LGn$6~aovospT;#ME+zh*rGkGZ%%vK4_#|%C zG;Y&0Zc%6RT6n|7>Dv4RT@2r?DX-Sp|2D*nFhBX8iM15vor_yFjaxL$<TWL$I(?3R z{B`H1iy--W82(nh@@v6;CDBJ#n^3oe&51_i)Q4^A<2Efv&8oRcy8FCKlW%8RbP00v zz94q}h7foU$aJnLVX-kE|7VQuh+0#P+tfwXnGiIo<~sD1`R6Bh1+gwM=6&p?o*01p z;p97n-d}_bPNVTYt%Bg=Hg#k*nfu1{2NS32V)%io{z~J%cK_RjuYcQ!4n^&$hVAO2 zyt+)ACZ<KTZH9kp?%C;bF>ZAjzHZ<5S-qcy-*LzP0k{dyzQIQC*@x~YH7dy><VWAP zp}M#ub#bfus8uy;Q)e1gC(Lk<opg%79iI92tXXl*4eU{%F@JcE5#1KGr5f!8&<A<d zD6iXQpO@YpMtYm&9radRn@M*=`|ToIAF)}lal5PByR`zMG--MI++<zH1ic;Zsg3)T z&0cl`;p_MJuE)hnxC?@A@E?TC4OVVyHu9+T?k}pJ)d0}Bpp|~E{@E)obuas}7(m5W z%J^Y~-`!`Xk=3@S>GbUzetC(2t_EAH-CXVc;vR2)_<|d-fD^5h-qeC~DHFEuVq(5c zz2n;bl&Q^S(1QdY-|CC9%cLp_ih_DH3JAAtwbP=UhQ_>OHSw%&@K(7lZ}hQGi@oWC zkm;^ebA#gofU5G-8wt;xCuZGb_*hZQR~yv5tqaWcb(utM*?$#0Qi6Ln`hxLBQc;7) zASi;8@9X#DGFDT^`}TLw*an|?#d~(C6ET7pU&%YIg+i~HtVRMW7cI$Vrz`|ln?>D~ zf19g(a>p+8$(NF%h0vn{q6pxf%A}#P8y{uDUP_k%WPJN2MXO((X#B_KOStYv!ZW)e zJsKdGqoMrIVlKDF|8P8d4o?31I_Iwab0}45;JUw+azy-hTfAqNOO4drY_*td%Vjez z@nYbOYpZm0s%(iaFduNGhkDgNvRTUp#Oa<cqXE2h6jIkAHp|G!+4U7tD!l|F;IeA| z@fDviNaDo^ia`N25SPj_K?4-t0x-aq(shZu7AJq*fjcKM{)eA|%Z~;K=17%)Gx48_ z$cl-oO-ALDSK)6u7;UhsOd|gKj|;GVyQT&aU+a-nROzK5^?*#=oXfRULHpHbHo@{8 z-ceMqR;3zjJgQ2Zdd+$mHfC0Rg|xm{2jlM9jv3q~X#l9N-)QEYWV~YF<oY0f75=7F zeOJ3`Q-oddIf6esQV`6MDF0K&d{o5!eFxx;S@8k<->$8E<_^Z)xgP97);N!QpjT5s z{jZ=UjtmwfCc7=QP1P|{{avkgHa)mYz3-JI*bAHh1}mP>2(kBV`)gTtfw`O=+pYIM z-K}L1<E<A&6-B@(fjYd<w0h2*s2hB>ix*rCpArpLwqOwPU%ClCdL$s2SF8Nb5nkPZ ze70GfkJW7qU3zU7m<1IJAJqy{#r$;GDI-4J!*$S#Bf#TP@C{<peR_@xFplOIyt*xA z=K=Bc{>^K}n_)-}&@?iDr063>r#MknQ`e<b@CXLd^&K6)3Y<~}uT1$`E9s^@;xpLK zehzc>s|CRv?y9yM($56Jn;m+~bQ7hM2+g1|pZov}EEwhXo|+YBynk^BPf0L)tXKq8 z*lAOo`kraU?9S>Kt#3PC#KvM-bW^!9NJT5ai7G>)^y3LJFV!<O_QgLyo-g7_RBL*t zf`e$E@r26O?se<ZYTBu_OzIlwFNl7!-54`1$fk*K%V!AQ+zn~xVU~By;gp!?fZj`c zQz@0@Gec`;T5GrBo>A{tb%D9)AcWg}003YpYU(Q^ni}2Xfs7XtV|)*)3hUp=D}{ac zZS840T6)Xk0FN_*$D$Ij&3N0d&S$;<clJX?taa@?vb(5?s*0&zT?9rz2b@#jv3*$- z-PJ_k9M8&EynAk@Q9CmTZ2?_&FYQfpss?h@0ayd38~o4gK=&kJ#)Uz)G@KL#bj3B0 zR3GxNidT-3dbCD`t7L;1c7)L9QUQD4!DuAvE5WmNYonfWVEr~tNtE@SuwFq9L`C$q z;H&kNIl~sKW|vPy;J$jm_Sz!m4Unj?d@wD`0+TIH5jo{?+jo68_%(;2S2NmG?m}=k zM@^@B@z=gF$hfT9XtOFgZywywLyl?&G?mLuvDV((AQ(mhqnrGQ^rvaBZOp8$aZUME z=0&CN>}fF~RN|)Mjpt>X`hj9m0ySTgO7OG?Vs2PWOK1#I&3{Cd{z%+LSC(Pb#~V63 zAFh#w*$?-r(MJz%Mrkw}ofF0$@Bi2Ti<(YdcwpAXtDXS{U^pp!WTr|yKMZ{zMN`5L z7IN{6^^As50#LcHwbOD28nlvffUqfau4klVV&#ih4-M_?f?%JxBHiHELJ-1~22~&x zaUr|I2LDnzWOv~<3VxA-EZC1*Tu}X;m}EvyAw(2~#D;7zsrHtK#8`X%!ZmB${;aw7 zuCBqnSRx(j_ukAmp_?i;9!!cKIUL=Z(fIyuNN<4_#dV%08LYR)J0(;d?id~}@G7Y* zsdHyFAT(&8i8t&BtlKm)81#94W`IebudbxsKC@8(cE(IKMy5q#!5bNhLpDp<^%aYv zhCja&h7Uw#-??`Noz-Z-h?m4#w!|jgK3oWjKDh5H=kBX*GC9zD<O_vi;~7p9#k#=E zHdzAFh0CD18`9Clf?zbhA8<Rd3-b7JGbHk;8Y2cT68AT1#2|;uAFa)n1?@y&0@)E7 z|6I~9+tPB`((wLkc%`8GSD*oOsAS$WStM%G$o0q8Zj@s3@^F7RAmNv<a>)UeSEH|g z7jm10bDK3{!~|w*Y~4$R-k`@PTaw1yA9W24nM2L$?Ty6Y5V5K7_{?-0_`GA>R_p?B z->m8Gh-N^|U#7SP?Z#?{F&<Kh#Smax%f;N3`i0VH;z>8?3gS~jI5&tgypjpz`E*cs zmPbr6F#qEU3XiR>Z1V62;GU{Oe?Mmeh8r{bLg13kh2gLVbARsl-~ExQ^8JApfeNzC z+6(i@#30J~m$QL?airJoD3^zZti9~&p`o2~s|oP|t|0*NP&hdh(-K(}QW-DeCm5>< zZb7~7jx+}N>W?!gh!v}d16tIi<JE{yO6MOY;ne_IqV&NI8$>}STYkPgD7!|6?SL^K z`s2i}s;mF}C-6GK-wD$j(6^gxR=4{^w+;1$y_$UYbf3PrbIlrGwOl<Ad00TbbAQ|s zL?m&TY#Qpf+e@WF!A9@ACQTnXl<TRztHb^FM77eY;#3@=M_R?oh*WlAj%Fv$A(d83 z;nakaA_Z{b5F)WM&R7D{_wVCY4s|AvzXe)C_~TrdNwySvqwR$uS1?@pN2$MMZKa=k zpbd0JK>J1hY+M*+)st)-?g@9OxpVi-neTctj9h;Z%Uun&6Z~z2^D-j;&4$_X=HZ@r zYq_|iOylqTPgh#obpY`9>q5o9f1I&|5{O4YtOP13GWlrj#1Vk!Anq3P()VmeHO{+I zoL7zWx-D*T-vGVU#&12GQ%;t`_4f+;O)<J0*|?P8!b5G|tEF|zVfrdD{dWge*BGnI zvE6kIA2XW!FT>n*j~KnjSY3wv<ZE#}YqXS<J=d`I;?*L$C2Dp)&TA6oRWt4GL7UO* zVZ)OUjpqD`QMru)@QU|oWetKw@TyF(p-yXPB5<XfS9f;W^#|F(SX)ahCwyJj*pCas z5dN-&?71H#U3Un}2P%7ey_kP&7i})2e#@ZPcfTLkRb|E<)Z%JxWwDJqo5Wl;qK1C& z|L&*Eyx@;YrC(N0QAtO0s+Q7e6X$N8mThKY5NleA!Jts8EDim`N1IX6E%L-lYqgMV zcN(^<i}R{stM2NUnSLwI>Ei18>OdQy_plpm_?5e?*|FT14~+KItD0rsK{)SDv8Atz zz3pq{CL9its&<W~CVKczW1gxzA!XDp#@f5xhIHQ>H|Xw;X{m;-Rb8}eIn29N#^@)- zK5^80y*FXL^A$0=J#0-i%Bzd=nudAR>;(VZ)YH>D1i#cq?>f{j^nakK{nIqH?~l_t zno8_anD#1<E0c=*VNw?~9Bz}n_D+keeb*AfKRac1s+o!21r=RrG)`ZMTGFqA-av4F z{ZR==g=qU3GN1SoqCXC@iDufXl#X^yf@XCcr}{@{%yEmMu*$}l)>90R#aVB9n7|#$ z{S~AZn^swS=^`jRI&+@Wj?=xDR&{ZkCUIUh+o2CfndA$I-bC~_qn({*w0pkNKprR} zJnxI9Ad0Af_n5$<Jul0AAIQ9!^RtO7eQSv^S6&2ZmG2+ykGQ*Vl$Fy1oVev*?WtCW zbN^Zy<RVCynDEMybN@8^w0YV2E)w0fRU|Z^idDmicWg|Gri?|f->cW%A*bbN-B2v@ zSd;Qw7lw^~z6q=ohp54e!6XU(^f~&Z6`o%IQz?1>mE0+({Pn^YU+k~#j9hq-{G8*9 z+hjVcATORiy_Jm{KOKww$?SQr*SV=7c={QUD565C@E9yV_a(Q^4Vxi&ysY|$(WarJ zUOaV!H!5FFMdaVpA??RuJfPK9UKqf$Pso`gCC)wXQa7nNf9>##FFv{w-Y1|{i_<O$ zjz^YRl{XYndsbDJV=mW?8y_9t()uUoz2#DORx!ms{iH}7pi(KM8w~v@kGq1Z7%?JW zt~G8(9hgS@fRn-YNbpz=KYy+b-9@(1idVdNRJ1}jD3u7tO{F+*o_lKhR=e@ppV8;a zKLWnc)Y<vXg=^N7>t>Y!e6`*8TF(sWsx^@-&)@-`oYNWo?5Q>HOyMt^gYZq$PoK~1 ziPK%f`lqdK+k}ZSm1b#`LZD)JC>?T7X<`R4Pqce?_EvDCU4+Tuv?JGmyOG@6vXcBu zgi9CL$j%KK#rw3{<MkL3C?#k%3v<r$yP8|sxcO<bdBY3zrXx=&tjt7BcYdHe`0Tzx zaXm=2U8zU=<ieU8Tn{pL?~L3dE23z2v0Q$yfh(GW=!~f|W;64oxxTf3C;IeyLwNwg z5b>4nfd{M=o=A%Nuq(I`69qklZ@bYAf3K#iqY6O%V&(=3zmQk=7qRupCAKA;PK2-a z;zb;SMOAU-GC_L>{){txZ?2iGTeq04o1SKCe{We}oq_L!A#2Y(wR8Qvrz$gJUxjsm zJX8&6ouJq6Er{v<3S`$;H+-+J^a9wqA7$4p{juloookZhq7wYBg$t&(<fHM^W;6Mu zsXpI7fIRbzNqct?1TkX3iAU6cSBweR;ESwFhmrv!;UMM<f8*SBhpHnT5dhWf!CVXS zBO?zrV&BrLE?r=A!Bm?i#UYhrX(|jS5lB2<9oo@OFm<jkjcf7SlaXNe)|c4%^2@wD zxD$uI;NZ~^{xuAOM{?Qhi<b=!_8iR_@IX^j`->xkr({yzn7{=JZ-|hYlbTx?KV>@O zCY;Q;IG4sfJB{1$tf8kDV}Z~jUaD<VK|NR_Y<4BSpN^!%;)7n%A0(c)R*mGaGBkNL zQ(1tU8ynlxLUC=3&TCak-x9>ZsV0k8j~AsvmhvE`Vl}RacPV6Zm?_hgNz;9)Ij22I z5)AZiqj&pO277j~yU<Tbb$1FI1fEIYnE<vl!#2W(ZLeg5!ImH>HYb^4u3=meV7Ra= zGY}Rtr8Ldt2hyf8g-HdNkitnZ%yw`_2q(u#TYIjVmT?{AJ0{WGGKqYgN#nuY!j_kf z+qzXK4PmT67*@G03R+>!i3%bC&uNh#r-Ny)Xi(JP$(&{v{3(OGwT?D(%mApX>HC|> zOijc+*r@*0SbTDJ&=CHXWU$pnyHtOQ)^Y+ty+hL!)evb6Fm01y(hTq0+O!;69V!*< z&~U#D4fHYGznkLVF4E!%g>sp`G$ln-pahgX6cxlm3`7EPASP%G4A~$io5>P2w$hXz zPeXGXjk%oW!pOym6T7=l*tXfEJv~Tapz^Fy28<x;Q52(~)wi$+DZ*nq%+J$eQWg^q z2+w;LUHl1(n`=6GRn<;j<<6Hi;BJ6PG2E3Cd6Pmq%Y^nk+a%2@fZKB@gBPmJ?<xZV zDh#SLsl<yYAjmW!t?g)jy!vs?8U$INWCF@!ND?t=I%04|ob$NUQF4{w9|Qp=uvlZj zX32zE7X_+u>ab-;nv9rWcdxkK-9m2<exwgc9YzERqP=_W{ePP62!e>ESCvQ8L4DDe z9U{Si=)X1i?0Y{<VcX#Z-J=FTJqTUUkQ4rYB<2HNJ(I<_*98ssRH90bSC_Wcs`Xk; zbr8WIh*#7ns83O?ra?A>FiVgLktm06Xu@PdC5*s^V5*s{Q%FmYlt`0;*x_L)mPkq^ zNQ&SSj2DdY7*pX6RmSRGP4CM)srvjf@VpjzGA+6tsunAFXYO#Ce&{+FITGa`m9vuT zr{1Sc@S#Bc=W}R-QR_}N$h;^vQ#7tvzg7u{H5zQ~SP!%kC&X9(CVT0DUJ;+-tFy>B z52|Rb98zV}NrgaNaY#~acL%o0HL9*T#UtwL6ke?;RhlS($EX1@q~h3y=kc`QU-F5H ziXF11PzdxdKUMO#?ECJ&HUR2V#)aT+Bs?=F{fsr{cfrx5xTz+RSvE3LOhl{|a$${7 zCAdm;Mx~CQta~1BuL3KS#R^EZ@7KMBR<Ebv#qIgN;HzJ+_c5}M;VU(MQR0OyKH)h( z;x~J*Wf7a;NmcImWIy(Q82&}AvvxGrDsn8&3I({)n9Hr`Cz>6z6)>W1va!rEk(ov; zjS}qP$L(#NRxDCf4%`me?`IX|s?@$Fzv52V2iCp+=ZWm$BMz%)10~&<mi#vF7!hN^ zQ&gTYn7_RazjEJqJSxlaW3^YT8+`SDwRpdZ{6&PE0T8K>Go;fbkVz7n3C2o8g<(-8 z3xcZPOoeD`RQBjx_Iu8f>|uIVHfqS;%&UTCb$rF0Ap#<J^$g(HL84oo^Dk?v{oV&D z1}8#U{8J5H|84^;|00akzt>T%hj5Hf&IMQunODN_y(V>68sy?EY6V3EnpIqzF*;sC z(=LJJeJBk^u*PBcgu^{0o4t0ex`#=P`ihI$lWEC+ni(U&NUHRU(;Xz*>r>yOPWn)5 z6&ykVb*Mb3*rgLl?*2n49t*2~O#rAb?bbj1jbS*?sJz=a_q$-uZcrcF>c;})L|jg+ zHVEV~k|8h|D`bt8P?ZQnSam2hm!s7w;sp}*B*2JzEvTb_^8@O2L_K||jG)#7ss_bU z5G|?t$GmWV&ii{m0#EK^M8~v*F0W;cef?gJJpi94p5;w)p;Ng4I7g9L4XQy<-J&5i z)-#F)BE*|Yk)yV$PU|8EisDqIB*vs#+w^BBOM=x(k)$A`3ePL@NF@GWv)-@!F#NLK zh0d*%Twasjh5VZK6PxSz*~ZjGmucV&Gp#MmO`OhgR?kqC(?a!A70FvA6H2uXqJY{x z8Ea)}q1DtCMk??X1JzzHvbk({E^_jeT75cjc71{J3-yMel`5>QFH65>HSyzMbGMm$ zfQlu+=ODK$lWFfL78?X6I7=(o2p7hJ#uWuh34E!tXT$U<e*4ahDU2%?dp-)o2Z~Wu z>Y)F19%XzyZM&DQO08aMHT$EKYuDVL%muBw!CyxM=(q>qP@SvVsptnJz1EuGwGAA{ zlcL9DOvYqP#$-&!WK70nOvYqP#$-&!WK50&`48Uv7@j-Vd(!{_002ovPDHLkV1hwc B^S%H8 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/House.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/House.png deleted file mode 100644 index 2493f5b05c95cf2a21a3426bd6dad8a9c5a7dfb6be69747706ef4d67555165e3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8948 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 O0000<MNUMnLSTaYZFA=U diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Locomotive.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Locomotive.png deleted file mode 100644 index 730fc6b5ef6409e7b53768701f48527ddf85e14c292b2cd3a31a74a10c131d78..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11650 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 M07*qoM6N<$f^;qKpa1{> diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Moai.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Moai.png deleted file mode 100644 index 3a87df892aaf34136f9f171cef36356786459512ab382d730ab96d37ba5c1c11..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9031 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Motor Boat.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Motor Boat.png deleted file mode 100644 index 51af89c3e85ab4b9364882fac841d471b9d96ea9ca9dfe9cc8b1e8d663103795..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9806 zcmV-UCb8LxP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h001TxNkl<Zc-rlq zd7Nccb??7x?|p_l)vd9+t0#sA8oHSTHBZn0QON_r;83N;B*qsbj)@951z&YJVn9VD z_~a$}^gThVcnCNkPIRLI6;TixWoqbwo@%aJb%%4#-uwM=ZZ(aPJTx@Hq!yoB{pr)E z&b@c9y{6x9tqm;7qAbdyEXtxR%AzdFqAbdyEXtxR%AzdF(?N!YhSbQ&h+bTYMfuMq z-g^PK>Y8hg8olniSM7i8$riP^+`lOsH*VAbDhw|0M&7XhwM7Ly1#;@Cr&{m5VAN@e z=N|z!9-#MHRKVi|UJ>yhz5E}KoSv#zTgrS3V8f}W+C>FCHKG7%Hj{I<@7R6!U!8g8 z*ucPm77@RwfTu<r;BAner9*c;9$B|;ogAn)GmGo}*z89{+<QLx$v)@Z5#Dnhf@cV~ zsDP(HHf-3Sfh=_H42$gj;M?DJ|AJCj48jLq)~{dh0jvvOs=WF3eoA3c0S8`WaB$EL z4GqNz&$24`zX12Nm9nUS11tk0BMP8Ztv(m59lM7g1B?z1x{;9)Jv20=78P&+W!>h@ z0-(jb4E!xuTybtXG&E!YKR7sOhlhvVq5=+}3~$(A0l~@hEnL$M3JTz=>#x0F<ZIWy z1mMX=NB^@ZK*+%~`Io9+MEv_de#JVabZ6Mrkq6*`f%LOK{b`_r@O_z+V9^48hrE7h z=q3Yr@=Df^jClPxyI27-H8VEQoUi?I__eQ{e*I@Z8;FSCam#Jb-nwIK*0k1K3otl1 z=oS_5>$`hsNHH*?$pfYAkLe5#pOyhU^pKD91r$3tIB45}SMOi_Ce6l6YSXhf0Mfs6 zrv~tuefiAH^p6Jzk4_e1!eSw|FLfEvjE-7{haa;jC%*pm!SL{K`q69uu@a>H?`&qA zbLFkysD9weYiA<SKMI2A>bJlA^czP92kq-W``KXl+;h{nzxTZ>n%1t-CcFml_uR8S z1yEj2S1SB4AnOl6N@{-Z7k|jB<@5h=tl0Uk;&g5DL!UeL?m-z$FZ#mutAm#QTB*`; z?9x(+YAFWmR!!IEj@~&r@wyLx`D?cr9S*;9;E%rz&=PsE#qRpdMZ@<E3=HVe(LsCR z<(IGZiR)|Dvu^=@aA3eK#sFYoU_>)IYFEGdycaFo^`W2H`uxvZv(4`}rswXs;Ca{m z{HQ;E%^OTHyt>ladu(4%Z_>Y{*DdMkaYwFR;!ZvKi0q6Lj&(<@KIkMRa^pw8^0oir zz1LZmouh;BJ9sba)~yQwX-v<*w3Rl0b<um@Ix#RXpg91DsQEoBmNc6;>(SxCWcf4B zd4nITeI}{3NE%Ha8{<pGSS>sFkYm;yzUnhZYg)~^o1OFF)Z|{2XrjPSj3U)ruCRVt zpN)-|9pklgFB$#%F*>XqZYRgzgNSG7^8kLXHa&p&Q8;jjsQG;%NdSiP;Ax-p$~XK` zA@2Ol(xrW_+S%bdIy-bnr6iHj#D&m_;ImeuL`2o5YlsLUDYbe^W-Y%;!P`{FQADGa zW~LCI)PMN;MkHC6zw8rAM4Es8=Wp)OULA$@*S7<&J1`l<(_BVIydE4B3-F1nzy62L z@yhvn>rbOX+@Y27-ivb1W32^eDV7TKbal~HsZc1yltN7*G#H~XN^)hONRt+G^(OPJ z7JH^<?8J0U&$U{lncb{(@THku+d3xqY<uDVyy!#E9J=Wyv*FZJ?SUX=<muj-AR_*g zU;X-t%_RGP@%oHvXD6{S6vBvNA;uVu_nubPqS0tFF*DE1ObtXRbyVr9R4BzEQ5aAv z#>Al^)KH0I3ZbD81{fnGtrmMGr~TIPnmjT-&19`cqcML+U$OA!HxHb3%Yr37*^q=h zU0u$?7rk`kTSJL;?_JW@8LsMI;+HM!v5^UMAWAatS!fmsMMxTT8jU)}L~Pr+o4dAb zp_vGMeM_m7%EYlyjzc1&iH#;wg3*dN3MfV~#X>}=l$&oQe(Sbz`PCzjs7I#9F-l!g zD5!V8>8!J+o@^z^({=GL8yP9reaDr>V&&}B%PM~DnnPU>7(L&t(@YXFYstI^$sKeh z3YmTIA#S;8Bjv6#M;?7Nha7%5TXsxy+vZ<UDwkQhq=z^(l;fBv3<!-78X-0TL155I zh(!^_A;qXjD^2{}+a6}~j=eHDId{(z%h`YR>a(^ynM%-4H@CBK<3{<*4gV{etxtcm zS}vb{>|v|YwQE+WMzf(NYjZTyjMRY_&`P6~CQur28LO5pW&Qef1VO-UKmG~-yy*w5 zUD?kwpLGITcJ5|ka+)|Q;C=r4O6x~=p$H-%9<28?TM3>_4qn<PD|&j8+I+HX$IRr( zFaGPl{9@ygN8F}OoBV$`1>CcKy}tY{Z*k8$<J7A<D%CSjIC6EmbVYA4Hq(&#md7eU z6evNoAP8DKg2yOLD@nm<R;^meb5DK_z1>}0dF2-v-@c7APd|mp={a_ejT43eh{B72 zGGGDc^EAgh0`ZtoW0WFG5_+ly-Ab(6Hr-kwS?#OuebbwE4tcLO{aOY7d+mZoMn?4D z;Gq5ZRbM?n?x<dT^x<pLLsl&b_D)aIOch=<o_1@F2PF=r6dI2fAy5kAJqC~R7LBK? zqlzGW^dlE>#M-sIbl??Sd($R%Ow{RLwv<Y_Ou1B`qywVBpaRf7!#GD`q1kLPIiIk5 zw&{}kq?+6Ht2+;Q#!H_w@SIgm5#h<eh2&|}jo>f+?su2Y@0!`NqQ5^r@~}gtR<BD_ zpb&-_qfuHgO3)sZfZ)M9G(w;tL<j`5fWnidDcTqcr82vA?IDgr3US0uw{K?Kbe*NW z-NZqN2qbBXEK6x+iX`!*Ney40CTr|w3A=oK`>pcOJ-6;%5_9x>M;YG$GW;ae22YDZ zY(u^geCv_9RUKVDMXxLV{;g9o)vD9PV%nIAQ4j|q<tU`19MWA1sYC&xQXmfP97-gA zm<KP4Mytu}{2W><=H~09NybUX97+9Wzhck$1hG+gYcbkTZ&~#Gujrb+or0UCknTYz zGpy)C^kH#U+fi6D)$nf;n!`h<pxN|qSHROE2Am4AY11a&_MQvfE#LqCn|5yB8qQ7Z z@wJ%=nV*}-CMn)|L>n@%X<A{Xo-#FCXL_zdGs)0EF$joEfcKDDhqWH(EzUWz%;LOb zwoylk;@~Aq_~rJ8aURwkaX2fNEoJB4Dg2hNyQO=+X)A8tdE0P^xcP=ST`c&CnK?f@ z+dSe=PN{zGeb+P_PlgA1y2JntSPiFJ_(prfD*&a0LR6$s>Y&`+Lw8>vz5UDSTe*t< z<*Qk?awV1SE_x~zs)d-Ia*1**7_p?8C$$;QW@Ofp*^JCuto8IS>1NxWS-x@WPk6?< zqgcIS1^;~eUDWURJZj5zh>meS103QsnYJh`6bwu^vRD26)$Yqfr(lLRk^R2AAOZYA z2OSh|-MaNt9evBp;m4imcJA6mtI@z^DOsaMEp0Ns^<Eyn@9xL^a;2k_6{`>8uyx0B z#4*Qm_}ZgbwqhlH)e_YRocFYBhPMuDErJjQ0aH`+9KK=+M;_YGT@T#PlI}hig<4IQ zS6^ja@mneg#93vXcV2nz5zv`e)~bfe+(xJ|yb1ds!2%4BDW%SH&Rufc>1SuEvefL^ zy#sG8HcjzK3N|B4n^>DcnjnoPNit8fK8MeeeGlvE>1EwBp2c%c`(utj;RIGJUrJeL zq*?C9v{D4dAR-i^2&Xh({>~<PyLvOHFncE(ulvaBU;a-|<?eezDIx;{IV22h+_+KL zzh{19{$qc}X!GXHe!rH#Hn6krhu@!%DEIew&+Xdvt3%hH(6#RLbGY}u`;^NPT$Ye! zDKuJStrj+E;cOGzYGGR~T-L;<DR@D|VQosQQ3soE%r)zd<Fpr_&1uhnA#0ZPp<M<d zXrnM%<D8?jvx__K-_EAH?#y~SyG(s{_6_FC|LvbR_%()yzwo&3rM>h0?=2KDG&H2x zuz`C92hHf{Xc7d`MM~7W&iJdhWjmWqGqGzo-aBmC!e=SA)x;(Vq$w_I;?e})O3BiB zY?>lo@IJ$Nn}-t*S(cF0=Kwh3nB#fnU%ZYp&wL?8onoyJga#!Zqd=PyU)gx8%{<zs z=}U%R_v&jG>XN6z{2w<bzyA80dV?k98%z)uuy)Riv_zyPNNaw6uDN69o^c@cFz&M~ z(GrX~mpZQ{Nv)p<;$Y0Q#MbJK);w;edsSC0-oD+Pd+xdE@bIu>co-l7mZoXzO$Q(U zOgD?@ZCkgal_G655t|}5#b+6K3*P1FC3zJq+Mqp%S9mWdukl`R&S6Z5>FC5}DfiuV z2OoU*-}3W2{*v?G@izK<$~0RIOknWhC`H0?hc1^}?s<sNF!5CT-^ZGSh#wjnQk4nj z?y7BB8W#)WtCuam7EQE!*WTAEk)CQt<$A%cZYAl8s8D*Av-VEsZ78BNNDwGjQPxRj zyu>9_E-F38OfyZ&ed<$Rx;imlrj__qn_za=_N|3`Hvgh>$Z;q7S`+Clg*00&YIAcm z<{LC>HRfv5H0BZ-Nt0H+LE3DRwwjQ&AW1+6m{1V}2BQOlFaSI@O;Ac<f|ypL&ey*5 zPi(tyGoSp_Cs@6D1<gj2C<;le<M7q1+?I(sRiCRp5BS06zCQVPivdGJLuPn*IJ@AZ zpLmtg`jU^F|2HcDUVXs@&s*Bt_tlTT>z%y|_rCj*i+44ft=C_A;e}sYxc0G+eXJ1n z_7;;u;_G{}fz<ntcU3yhFku+s=<^xffeGS?$+2Vaz4Nv|KjWO2``H$<ch5NGQiK+T z3Jgjs6b=zc)08yLNLmf*b2a8`HEPo{q|GK{dv~*A_fGcg-ow<y6wSFB;L%Y?6h;Kv z;PIrb293E{4q3B?E5C9TD_5={X*CIqAqpaQ+k-pQFCN(b(D6O%k2>?r!;@c&S5Iva zZWAK%{>whQQ;A%<_RX)qcu>Ut-N!Dy8}Gku&U@SW!y@k8mt67zO*HVK^WS>p<ND20 zPBHH~`{g@bD|yAme|O$ZzxFn72QK;Wr>}6k=MwY3zHuYfQW2MBsLZ0Vc$ZL(BhGuv zTlvm+zRT|2JLu`^q@!4(v)aj_haAL;75!8@yAXt_sVR2v+QrX)emg(<@sD}<fi28T zO``)vp%9}GW~atD=D1_I_WJ9Hf&l9>BCXjmRd+wUe}{5O<D7R4oORvM&`oBcujoJ) zK>wn9I_<R6>>r--q8iR#nEm+HOK-U02KSvG+`L1S`pC?;Z~XL+H*QRB+w`+LTOl7j z`2}bG@NIwn+J}e0Y}~lfZ`iOwmM>o(eEqV^vOj#`Sx4wV{mBo$eZv=rhKAy`YuCzD z8ureN?fk#1jya*Q?hl?PE4r7+9S=T85CnMd!DiT`MXQxCF}8=3p80HUx#geP_}%Yv z-@W&8+mC<5EjQoHH*dIstG@6>!ni<fZk{iG{&N&cC04Ck%}FPn%$YBKF~>aPc(Tm0 zd-opZYO@qe9Xzt_VaE23@v@h_j7Fo57f+>Fvg5Uuj89F+-@E23Us>|z7s)-NqyIkb z>BGar)_X6qZ1?A#*Q#ct*NBLZ>h-UCVQ;bA{WcNt?|si(CULE=XlZUh#IIk!-iwGA z5x;ZiP7C0&=4ImjNpJh$2m6PIhg(-%aYef2?pyy{Nl;yT;`8jC4?HNvj)2ZeiL8~P ztpn##NE_>idb2_QvVNjMk&ccE)oPVWXD8KaCm2m)9XogL;^yz&z$Jfw5$}A*J2?Lx z=W*%9moPa#&iNN!$R{uV46pg?bBU`}KylTTSMtqo-axh5MV2`NWp!UE5S)7c<u~5A zWOQ)Q9;gBBC(;+>H*DCThX;ofgM7Fd==YuX#T!e*!^18~>u)mR{sz#9_~yhT?-ArV z@A%M%jvO2uv;zZqKmGdk>t$$UB)sU|@3_k=w#LQc>jp+f)Oi<QToNyDTzU9fUtQWS zn;&?9W|DE}(tcWLtL+y(4hP<mr5UreIjWtVq-lc9@@w8XoXY@@5=CGFR8*q7r-y1+ z7YgC-yMMvwKle}U*}03aU4K1?9(pLBzU*=a{`AiPc>nM)tyT-I4b~ycyGypKyQ5=r zqHz`=8xGKb_7j34hBs`m3=dQ7DgMu!$C3^Gwsy}&S6%;L=CUoeKHvF)fBf>Lak2a@ zWuk49yC1r<XtMwQ&HL_q?U_d$(c14Zb{M$ek`I3Xr#?J7IQRkJbYRUP#~*JeYqNS{ zc8(pp##pm@6+ig-?MNWt9XN;g4n&xqnW5TQMQe=+DA6b!N<fK1EpU_0<6RECX{{-j zOO!gQgeKr;x8KfnS6#(PfAj+0_|`Y@%#;3rcfIwkTz&P`{Kact!^GGao#lw`O3_bF zO`QXLZr6SH$*&J*4Ch3QKk$7)B7R_GME~vJ;Oq-N{`u=ms`RIQOP8*Wkkh8-Ccx;o zxYWHRX(d#;mnGh1&-%rWetFVG|NHtWCw^LcCPe&{N5);2+4}s<s!Ol^?i)V;(V<sn zPW<vCj%Dl4-Sn0#Y~8bylaD`<vM!KiEo_#NB?&f5Y1C_s?|Fpdjy{@nu13u!WX&d8 zJVqN_YaVM`c$eYQI?Z~V<30+q%%V(;M-do7#hP1g`Yu2H(JfrKVTemE`yYJuno$M@ zUPcs#1jeYoj!^Db^4u@paYyMdjz50>Un7v7GCrW2!sWYWCSR4US)Co++a(>%P9qxY zT?U!g-nq~^i}&gv>-|C2W%$ftoh5M@Hggo_I|#&l=5-gmkIZH?6ZDa54u{N<Nk-FJ z24D6P=9}|)o8i)wEJ>KF&9ZFi5~6A!XTIXk@XqFyZmWsSGHTPabo8wtieuKEa58Zr z#$_qady*t0Di+B+ELnaKnG;H-4$>s!iYvaz1%LN0PI=LvaO>@Nv3A`N_(oF#9k_C_ z+%<jw_CNi^$h9{s&<<=wL{v2Cw%dOAaC@HY-%QTS6QrzUXalmb^0}Wp^Uy<2T;IRk z-uuX2U5aCj4lp8wMiT}aZNvpy6Kn0Y@!p6KDFc#;@@Rv$-et;rCl+v|DC@8u5}TqB zyakKHdylgg3$&7qtl6Xx$9S9bx7I`EQV>X6mMn9qP~)=%@7%tsICW`W9jgefbk3x; zf7TlFl!_5qk|OdbN$&wAf^{zEj`0ZMMUfg~?p4lx;JjC!HTrK=!V^-!DML4zO~a>U zXMF1a{B^NZyyE$5kFpQ$ozY2VQ69Yah|fQR6~QBDK#4~yPaFhjtq8TDq%|fG;y`0e z-Wn2X!6<_X41oxN5{%BdUM&V8B`}6^xdZ1i1fS>6K92#dW`Zb%7ERzh&Ui!#S`;3b zZ?ve*)tPOzNSsA0gV7qT6iV{XueCyp0z3xLS|MH|qEO0$_xrl)9^Ac`hjx$SZ1Vhf z48G{5k&zMgySk$%<bpPBIMp%?ODd(&?R&>RJk~eS+f^+1y)&r<TH}#CA;J@QLA1g< zi$_p_Ce1P|meg6AsYW%yh@b?th5(Ne0i`jbFba&yp<{y~2qA6E@xYyTVzdwyV!|jQ zj$$ICS$XIhip3I2T)vRn5GWyz0y@Hgm3`fq6-%&*r`Bw;vo^z?*&5zul$9om3TUI- z<UaWZ2o!-b`RCCJEqFvwO36X}mE;>gO@l4lcb*S?fAoOI01<!6(2)7UYhN;b`o&-P z(t|Toe|uDa$tvXy-nSJ1&O1yPamO`ZWO~cpWC#a8>txoy;N>LE8bP4*bWsUGyTe2@ z81aaxeY;pGKpY;y3K(OUpP%E_jo-#44Sbu~!dkpi{MGq?$Et(Ykflw~`7RYNfI|xe zN>Pj=s-+^8a)Cp7`{*rI*giJFj>!oc$uyw}h@yyCc>=8nLPM-Hq0)qb!Dtb!1?Mb1 z9i?Dpcc<L<@b>@mrLX^>>(ysHZ)yR=JYYfiRB)Ssa=H5-c1=vaaYdyX6pZnW6j9R7 z%DhJzLtKe@X!B1nVa(XBhgo^df1%R13};i6cq}=2uAIvKttgagcSYgAtF{x)-Iz^M zdY7)`ofmx?<t@rP#CyEYP)bNMN0KEdW6<rIKzYd>tOyRMCkc(D!Pu-2$1#27D#xx~ z#k$oi*gHML!()4xuh&U+jMl2{S_OyTyvK_}iN<J6tCdN$Tyo_~xohv-^s|8*M@L5$ z{Pqml6IQ_R@UR;g8PTJIXWxJN#h<@!*L-u};Bqx<kQrGBC89`MDQlnm$CPb~OB0la zlF2y|?F3QnFQ&-9B+`Dh*M9;264kaUk5ZZ>wTw-SBZ{0*Q3|DUS7s1Uk_X=Qf&+*X zMCHC)DQQP0q1jB?)*L4?Q&dX@`YRpuSF4Q8%(88Aidv(AI1OQLiDGr$Ip>8?2V~aK zSt+@mYE?b5bJz2M8-G{y^ta=Lb7v=^2|qD8HSzMUFj7VZINy%v0=Ntp7FhSP|3-uc zQB2jRu}KrH0-SFLP$xJIB7&1#8F<0BgCe5xKUw&@pj7UrloAw@k2ZR6B6*O^w>%z? zlQz)RwgS(B&y(ExL~!0QHCv-L-=I<~(cMv@ySIb!nOPp$JxL>J;V|v(5g_e`FzX=} zuevHF9(Mk;g#(?25A=xA=;)wjXh^>P_E+DUHCsQNtk=aWtQQCSA1LC4v56Wx#;4ga zHbJ9lL1{AaSOJH_x6@4T-F`3sm=}*3?S1sRbGa4y_MbfN2(W9LRQ~VY`F-!PFmEA} z2YQDvQ=ez+-rY=0Owe5{aon1NS=rZzx4FewXUUwSm02=x$*h&WI6`Z6%w<=9@1O-9 z<$%wKox-UKpcI9lm~PC=e7%7djq`5b8i)s@HO43cqtHr|f9-`u{8#Guwk0_4b0y*O zOZyhNo$~sHC%X3Uw3V{&o_zZotqDRyA&x0T5pkf=cyJzT!MgnYw8|5N`Fe|8d-hVB zn`LERH|q{rMMohbX(eRNVx7Y|Xr`G|J4&{v+7&gk^ttWB<_^39HVvPaF*KysjrV`8 zIX8W0t<h8-tQWQ4s>;4y=pVDN3oUE8mF(NOUiN*IeYfqm{Lbe+fUf;qp}m`Nxl+lM z%6{~TZ(~E5%}CQ0X_|s}M1i4NF4I@(pu1QiYIDQhS-f+3F(!)HxjFWXjiE$1?BIjx z?dhhKv`Dgq)LNQJMihs>vs|Q=G+zj?er(J?B~y~8fEpe?Eelog!}T<gTBD9pdS4KA z%C!@Mf9Z69cHs2_E??XX!M2OK-*87{cr4y~ES?Ooc&uMIfxz!KZ|xrQzTSJB_oP`y zy_GOCUuSA|mRe&T#M4zS($iU?5J!k8oU{3U(2C4jCMGADsm;*e*TX@}mf@`<Nz&XJ ztW%Xzghie=GIDp=F2>}5D`3;`aK_M(I^h}p*UZn)Z>}XR<-N16T@8Ex8|+&Catqtj z?Q=DL!6Nc3HXm8{?Z0@Bc%O$C_o#c?Hx|<lkNep{e#^qW_+PtU0UGOtTADI8UuXC9 zJhf(vLKxFu?x3?&LIkYOsZj9D&CN48F-fIZ<gn!{&_>ZnQ(9T3Dsk)!VRXng*|i>E z=(pq#e&;#iQ$P)$c3Nfvby2g`kY=lis+4g?=Uc$}eSUhM6527q?L+%rzGuDP&!_u+ zE(q`O3$CjDsD)VHZoz%@Kb3obSy*^kc+$d0Xa{2iFOtLAA~-DbjRxa0Q%p7I(MHo< zuFw@05$AEvqLh#%2@_M3D5E*3e>nvm&}g>kC>Cs2XP2aD>(utCuj(mLz^370%g~T| z)|45^8jbsFJGLu#^Y@*u*9eMbRJja6kbifVWBYm43|<5)9!rLkc22aP+i~p>VMSq; z!YYqdd1~q8*P-~l@>Ncd{jA>uRy}GoZhu4A@1{IURX9=1r707&8Ri>xViVBOQ6`GR z_E{f-bDpW08N@jbUbYmYg^Wx}rGSj&1?@oWo~lWCpT~m1M58{Gl*=;v?Qi({d)`j# z(;vg$bQ8gz2?7&9r2{FJ(OM91+x<Qn;_ah~Y3Jw*IlJGt>!ocR{!s<`+-h8&%;3D> z+V?Fe)VD3+Q7hOlShroDC$})~7Zj;+PV&*!`Yg>XqgW_XjALYh?{S`5Z4M8tShAE* zL=}v}c>M>T`07_Xheh0PLu3A%=(eq!Ho2jpAvO8)Wp~w9HO`5Sd-k$QxyLnk+^<@< z-c0j{-^2dwC#db)2y6mT0adEtOJyXCKpPyOoJTp2m)wmg@_Am(qeYV<2k)e<sD&=a zd<eTe-$jmsg0xvPS?G1zXB*Of9t-#rk6O+`=vHbWgGzBWBMu{iFu>Wo)!lnYvxH(8 zQz?~XvNr3c=8}@l)c3zV`hT{pU%y_DK0z|yJPC7MGCDkHUv$#{e&1}la9!o4XVLMJ zv(P(tQGe){*v${&e(`gfH{XZ~LrmXt<dDPAhaHAK=wMWD4?($%iXyz&913y{Z`;M# z0<fUuH}fbD%6nA%I3O?bI0o*2BQ?%pj{Pz;vHPHuJTX&k=)#kvmYS_oDitV|3e@XO zGUrI0W2Qb!cSn_@RxEd0_e`l>lk+bCzVq9_67ppAdT!XT!N2gMU-*F#pLD|7gPiD4 zCt87c)LawU{RnKiA0D_Dwf%n7)C@RFSm+?=Uxr?@7IpBU1S|V7eZ81!6&-}2P0szg z++}H(j~{6qN;!-uG#b&MjG&c5e2(qs*5XjgqkPUKYw>O1F9$QU0Lp@ZW&x_u?MWM( zbI!g!rx1sPK}0J_u+||sA`{Zv-DAJ|v(5VF_uc!`_x;&RpS{pw_|!G$4vc6<2kqgn z{nQKY-!lK5V^3UZPyT~Lb!QNO7gC?%bc_uGG?q9?keS`+osXa&co@I+Vbty|=(#%1 zW<-S|(ULw?|1zSLt5GYKVV3kG-ODf?9q3{K9~qQ}z=L=}DTnx+AX3hu-GW=m^1(_} z+nu#tj7S^)&Qqs+<}6p5k_E*qT+gjRD=5W9jM1d6l+5NmTiqR1f8Wk=x$*X&w)&PA zk9^~4XFU8wnKF5@&+jqM`N%i3Lg9?^(N%j`e^npRS7CW6CJH00@+fN&G&b-U6QcqM zyvH;X3bPaFi9OhDJ5gKjM|N!|8k@q^r*K$`s(`6h@qOJyy}blWSD=^lAxnFqtA}E_ z3o2DyB}5fMlnzlUz-!r$Me{j`hs|ju4}xpM8wy3f=n4g55y?S518v0!VW0_vfHckd z?l3S|tL!&_c9*WtPQUt{uX@RqLpR-IhEMzdchx=V6EaaO7m&=optW1;JDm4-Zr>~2 zr2<PUMV56G>F+Gj8^@HDB3N)OB49#VOO_HYUyVM|fb!@h!8e-7>=cEGan#<O_&qx@ zd-vdX?Zp0aGf90O(@0Q~($WDsEMht$RJDrh>Os1eLQfY`E@C?>m`W8&6?`#56^f`Z zM&b}1MW`@>K!ec)N+DXKv__Q1DTio-h{k(|3Jt|#j7}14no^EK-`Cm2eG?PU2d-Q{ zcB+5s=L6cVNKU@+AEeatrf^M1mPN{7b0iUK(FQ6(L|+`z*->O!M@Vlurdo{YjABZG zBMKBo2Pl=h4RnAvIW_17;tZ6t__U6xHwbET`1whgogx^YB$(QRnwZ4R&LcB>QM0r7 z`4&mi#3w0|+IGKDo^h!#z?%R<gV!Mh0a_^tG@=6#gJ_Rv)lO9{;<CKha~7LA)by;| z`=YbeuIK;PhvM&Df7IW6>Ql)RnI(R5EnsxBhau%9+#qvPuker1r4Q|L4pgKSq64h8 z%(hxg*JojmfXz@iVl9-SfUbg}t5l$;qe5SyKu<ZMQVgh+A}Ym*C^YCGz=WDGF5$X6 zP-X>21#MnAcOMpy$t*f;flcs9Ley+RZ4T3H5F`zJvq{=$pqm-eY~ovWY%&K)hO{iC zdHcIcEs|vTG$peM#<ek5aX5h>42cnybQaxi&mr?ipM0!{+;-SoKN&sn>Ay+#qne(A z37NJPsON5YqlA^qgZ?;iOUnUiCU`--2cP1|P!^oE;4*BM;ZhG-3YmqpJ(MAyP#_L8 z#X>|^!O&5Nsg#Ozmtv~rn9hz89mR;wIHXW2QVApCI3x;$APO;|M(=Yg2CWUo7|=Nx z1Rmo(fhaKTBM`jGEkp@Q6h`Inp=uwCpjDpXIdKck1KyF@@Bi~1dhgWO=(%T~`O1H< z5hY<@Kru4v<ka_nm9Y9JrU$RPidJcZ69qQG`V6sxcPY3GoJBc>w<!*fN;165z-D=G zP?kcH<^vg7+6MC5r*?<|lau|b5K;*8bAU>PfMTIUA&v+_Ln)5vDitUe0t%s~5QlUW zic&5_`4Ki@fC>y65hWT6WX_9AEm`IyvkvP#smsVRPntmL6Ed68YUSzbj`2Bm%{SS( zWBjhId+NV*sr^{?gA0Gc(2(MBvZ4bqrs^3Tb;ywT|5|;8G@2iC+w8e^GBGMJIIR#Y z9*txRkXk-s<b00!duPZ*fdu=2H08l7hs3IVL_uDN3DO4lJedcdK`XUP&jaI<U+}FQ z3~~$Lk7`>NpxUh&Z64s!V$CgJ9{Igik(;Q?aFXQ&f@FA~0r^W*ic%>;i%1z2$0s^z zEzK*|d*rDe(%T2rm!Es_x;d$ziC0JAZHRI?3X<)QNac!A4j{%V2dd4o`8NCOokNtv zdndBM*N8=l%~2X{#kUIr!6}S2GH(NEI>aR6C3T8SoJkR%I+4_gPpu^rQK>~TEE)LJ zLS`UCbQ)?&M60Cg(!?;E1?5s2D9K_YS+!V9mz08RU0*3X`|M-vi6@?D59I&w;deXL z_CK#Y9tQjGF{V1CIHireE?Mu{yZPyPR^5_cKN+{(^R{kXe*H0R4;%cyvW%WZS(HUt olto#TMOl<ZS(HUtlz&0~A5*bC^Hp(G`2YX_07*qoM6N<$g0$RnhyVZp diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Police Car.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Police Car.png deleted file mode 100644 index 76cb88c4a36845b8740dcfe0baec99d38949fb34ff2ca7f6e6546e050a0be92a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11141 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 J8Lnjc@qY)0!Q21< diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Rocket.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Rocket.png deleted file mode 100644 index 05dd803292f01ab7ef590116533c1363793df59a095b6776f5b68d9343ff4f55..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11768 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 a4E`UdX7;F{Iv<As0000<MNUMnLSTYXqG#;@ diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Roller Coaster.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Roller Coaster.png deleted file mode 100644 index 8ce02568cd72462c20ec5d0ebe2a8718dc8bb597a155e8f303eae31254655346..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9441 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Travel and Places/Taxi.png b/shine-UI/assets/emoji/telegram-previews/Travel and Places/Taxi.png deleted file mode 100644 index 7e0638244899ab0eb8c3c91bd064424bd7680953537899c3466ee85894f21e49..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12165 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 Hu0mjfX()KP diff --git a/shine-UI/emoji-catalog-diagnostic.mjs b/shine-UI/emoji-catalog-diagnostic.mjs index 475c73d9..7746b3ee 100644 --- a/shine-UI/emoji-catalog-diagnostic.mjs +++ b/shine-UI/emoji-catalog-diagnostic.mjs @@ -1,6 +1,6 @@ -import { TELEGRAM_EMOJI_GROUPS } from './js/components/telegram-emoji-catalog.js?diagnostic=202607151545'; +import { TWEMOJI_GROUPS } from './js/components/twemoji-catalog.js?diagnostic=202607151545'; -const items = TELEGRAM_EMOJI_GROUPS.flatMap((group) => +const items = TWEMOJI_GROUPS.flatMap((group) => group.items.map((item) => ({ ...item, category: group.id })), ); @@ -21,7 +21,7 @@ const missing = items .map((item) => ({ file: item.file, missing: ['emoji', 'file', 'name', 'category', 'previewUrl', 'animatedUrl'].filter((field) => !item[field]) })); console.log(JSON.stringify({ - categories: TELEGRAM_EMOJI_GROUPS.map((group) => ({ id: group.id, label: group.label, count: group.items.length })), + categories: TWEMOJI_GROUPS.map((group) => ({ id: group.id, label: group.label, count: group.items.length })), total: items.length, uniqueUnicode: new Set(items.map((item) => item.emoji)).size, uniqueUrl: new Set(items.map((item) => item.file)).size, diff --git a/shine-UI/generate_telegram_emoji_previews.py b/shine-UI/generate_telegram_emoji_previews.py deleted file mode 100644 index ccec0655..00000000 --- a/shine-UI/generate_telegram_emoji_previews.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Generate local first-frame PNG previews for the Telegram emoji catalog.""" - -from __future__ import annotations - -import argparse -import re -import sys -from concurrent.futures import ThreadPoolExecutor, as_completed -from io import BytesIO -from pathlib import Path -from urllib.parse import quote -from urllib.request import Request, urlopen - -from PIL import Image - - -ROOT = Path(__file__).resolve().parent -CATALOG_DIR = ROOT / "js" / "components" -OUTPUT_DIR = ROOT / "assets" / "emoji" / "telegram-previews" -ASSET_BASE_URL = "https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/" -FILE_PATTERN = re.compile(r'"file"\s*:\s*"([^"]+\.webp)"', re.IGNORECASE) - - -def catalog_files() -> list[str]: - files: set[str] = set() - for path in sorted(CATALOG_DIR.glob("telegram-emoji-*.js")): - files.update(FILE_PATTERN.findall(path.read_text(encoding="utf-8"))) - return sorted(files) - - -def preview_path(source_file: str) -> Path: - return OUTPUT_DIR / Path(source_file).with_suffix(".png") - - -def generate_one(source_file: str, force: bool) -> tuple[str, str]: - output = preview_path(source_file) - if output.exists() and not force: - return source_file, "cached" - - url = ASSET_BASE_URL + quote(source_file, safe="/") - request = Request(url, headers={"User-Agent": "SHiNE emoji preview generator"}) - with urlopen(request, timeout=30) as response: - payload = response.read() - - with Image.open(BytesIO(payload)) as source: - source.seek(0) - frame = source.convert("RGBA") - frame.thumbnail((96, 96), Image.Resampling.LANCZOS) - canvas = Image.new("RGBA", (96, 96), (0, 0, 0, 0)) - offset = ((96 - frame.width) // 2, (96 - frame.height) // 2) - canvas.alpha_composite(frame, offset) - output.parent.mkdir(parents=True, exist_ok=True) - canvas.save(output, format="PNG", optimize=True) - return source_file, "generated" - - -def main() -> int: - parser = argparse.ArgumentParser() - parser.add_argument("--force", action="store_true", help="Regenerate existing previews") - parser.add_argument("--workers", type=int, default=8) - args = parser.parse_args() - - files = catalog_files() - if not files: - print("No catalog files found", file=sys.stderr) - return 1 - - print(f"Generating {len(files)} previews into {OUTPUT_DIR}") - failures: list[tuple[str, str]] = [] - generated = cached = 0 - with ThreadPoolExecutor(max_workers=max(1, args.workers)) as executor: - futures = {executor.submit(generate_one, source_file, args.force): source_file for source_file in files} - for future in as_completed(futures): - source_file = futures[future] - try: - _, status = future.result() - except Exception as error: # noqa: BLE001 - report all asset failures together - failures.append((source_file, str(error))) - continue - generated += status == "generated" - cached += status == "cached" - - print(f"Generated: {generated}; cached: {cached}; failed: {len(failures)}") - for source_file, error in failures: - print(f"FAILED {source_file}: {error}", file=sys.stderr) - return 1 if failures else 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/shine-UI/js/components/emoji-picker.js b/shine-UI/js/components/emoji-picker.js index f91f1c2c..4119ea53 100644 --- a/shine-UI/js/components/emoji-picker.js +++ b/shine-UI/js/components/emoji-picker.js @@ -1,14 +1,14 @@ import { - TELEGRAM_EMOJI_GROUPS, - getTelegramEmojiAssetUrl, - getTelegramEmojiPreviewUrl, -} from './telegram-emoji-catalog.js?v=202607151545'; + TWEMOJI_GROUPS, + getTwemojiAssetUrl, + getTwemojiPreviewUrl, +} from './twemoji-catalog.js?v=202607151545'; const RECENT_STORAGE_KEY = 'shine-ui-recent-emojis-v1'; const MAX_RECENT = 28; -const ALL_EMOJI_ITEMS = TELEGRAM_EMOJI_GROUPS.flatMap((group) => group.items); +const ALL_EMOJI_ITEMS = TWEMOJI_GROUPS.flatMap((group) => group.items); const EMOJI_ASSET_BY_CHAR = new Map(ALL_EMOJI_ITEMS.map((item) => [item.emoji, item])); -const TELEGRAM_EMOJI_MATCHER = new RegExp( +const TWEMOJI_MATCHER = new RegExp( [...EMOJI_ASSET_BY_CHAR.keys()] .sort((left, right) => right.length - left.length) .map((emoji) => emoji.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')) @@ -38,11 +38,11 @@ function saveRecent(items) { } function appendAnimatedAsset(root, item) { - const previewUrl = item.previewUrl || getTelegramEmojiPreviewUrl(item.file); - const animatedUrl = item.animatedUrl || getTelegramEmojiAssetUrl(item.file); + const previewUrl = item.previewUrl || getTwemojiPreviewUrl(item.emoji); + const animatedUrl = item.animatedUrl || getTwemojiAssetUrl(item.emoji); const hasAnimation = animatedUrl && animatedUrl !== previewUrl; const image = document.createElement('img'); - image.className = 'telegram-emoji-image'; + image.className = 'twemoji-image'; image.alt = ''; image.decoding = 'async'; image.setAttribute('aria-hidden', 'true'); @@ -134,7 +134,7 @@ function appendAnimatedAsset(root, item) { root.append(image); } -export function stopAllTelegramEmojiAnimations() { +export function stopAllTwemojiAnimations() { activeAnimation?.deactivate(); activeAnimation = null; } @@ -155,14 +155,14 @@ function createEmojiButton(item, onSelect) { return button; } -export function isTelegramAnimatedEmoji(emoji) { +export function hasTwemojiAsset(emoji) { return EMOJI_ASSET_BY_CHAR.has(emoji); } -export function createTelegramAnimatedEmoji(emoji, { className = '' } = {}) { +export function createTwemojiAsset(emoji, { className = '' } = {}) { const item = EMOJI_ASSET_BY_CHAR.get(emoji); const root = document.createElement('span'); - root.className = `telegram-emoji ${className}`.trim(); + root.className = `twemoji ${className}`.trim(); root.setAttribute('aria-label', emoji); root.setAttribute('role', 'img'); @@ -175,16 +175,16 @@ export function createTelegramAnimatedEmoji(emoji, { className = '' } = {}) { return root; } -export function appendTelegramAnimatedText(root, text, { className = '' } = {}) { +export function appendTwemojiText(root, text, { className = '' } = {}) { const source = String(text || ''); let cursor = 0; let found = false; - TELEGRAM_EMOJI_MATCHER.lastIndex = 0; - for (const match of source.matchAll(TELEGRAM_EMOJI_MATCHER)) { + TWEMOJI_MATCHER.lastIndex = 0; + for (const match of source.matchAll(TWEMOJI_MATCHER)) { const index = Number(match.index || 0); if (index > cursor) root.append(document.createTextNode(source.slice(cursor, index))); - root.append(createTelegramAnimatedEmoji(match[0], { className })); + root.append(createTwemojiAsset(match[0], { className })); cursor = index + match[0].length; found = true; } @@ -224,7 +224,7 @@ export function createEmojiPicker({ onSelect }) { categoryGrid.className = 'emoji-picker-grid'; categorySection.append(categoryTitle, categoryGrid); - let activeGroup = TELEGRAM_EMOJI_GROUPS[0]; + let activeGroup = TWEMOJI_GROUPS[0]; const tabs = new Map(); const rememberAndSelect = (emoji) => { @@ -238,13 +238,13 @@ export function createEmojiPicker({ onSelect }) { const recentItems = (loadRecent().length ? loadRecent() : DEFAULT_RECENT) .map((emoji) => EMOJI_ASSET_BY_CHAR.get(emoji)) .filter(Boolean); - stopAllTelegramEmojiAnimations(); + stopAllTwemojiAnimations(); recentGrid.replaceChildren(...recentItems.map((item) => createEmojiButton(item, rememberAndSelect))); }; const renderGroup = () => { categoryTitle.textContent = activeGroup.label; - stopAllTelegramEmojiAnimations(); + stopAllTwemojiAnimations(); categoryGrid.replaceChildren(...activeGroup.items.map((item) => createEmojiButton(item, rememberAndSelect))); tabs.forEach((tab, groupId) => { const active = groupId === activeGroup.id; @@ -253,7 +253,7 @@ export function createEmojiPicker({ onSelect }) { }); }; - TELEGRAM_EMOJI_GROUPS.forEach((group) => { + TWEMOJI_GROUPS.forEach((group) => { const tab = document.createElement('button'); tab.type = 'button'; tab.className = 'emoji-picker-tab'; diff --git a/shine-UI/js/components/telegram-emoji-catalog.js b/shine-UI/js/components/telegram-emoji-catalog.js deleted file mode 100644 index 69e6bc64..00000000 --- a/shine-UI/js/components/telegram-emoji-catalog.js +++ /dev/null @@ -1,51 +0,0 @@ -import { TELEGRAM_EMOJI_GROUP_ACTIVITY } from './telegram-emoji-activity.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_ANIMALS_NATURE } from './telegram-emoji-animals_nature.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_FLAGS } from './telegram-emoji-flags.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_FOOD_DRINK } from './telegram-emoji-food_drink.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_OBJECTS } from './telegram-emoji-objects.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_PEOPLE } from './telegram-emoji-people.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_SMILEYS } from './telegram-emoji-smileys.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_SYMBOLS } from './telegram-emoji-symbols.js?v=202607151545'; -import { TELEGRAM_EMOJI_GROUP_TRAVEL_PLACES } from './telegram-emoji-travel_places.js?v=202607151545'; - -const TELEGRAM_EMOJI_PREVIEW_BASE_URL = '/assets/emoji/telegram-previews/'; - -function getTelegramEmojiName(file) { - return String(file || '').split('/').pop()?.replace(/\.webp$/i, '') || ''; -} - -function withPreviewUrls(group) { - return { - ...group, - items: group.items.map((item) => ({ - ...item, - name: item.name || getTelegramEmojiName(item.file), - previewUrl: getTelegramEmojiPreviewUrl(item.file), - animatedUrl: getTelegramEmojiAssetUrl(item.file), - })), - }; -} - -export const TELEGRAM_EMOJI_GROUPS = [ - TELEGRAM_EMOJI_GROUP_SMILEYS, - TELEGRAM_EMOJI_GROUP_PEOPLE, - TELEGRAM_EMOJI_GROUP_ANIMALS_NATURE, - TELEGRAM_EMOJI_GROUP_FOOD_DRINK, - TELEGRAM_EMOJI_GROUP_TRAVEL_PLACES, - TELEGRAM_EMOJI_GROUP_ACTIVITY, - TELEGRAM_EMOJI_GROUP_OBJECTS, - TELEGRAM_EMOJI_GROUP_SYMBOLS, - TELEGRAM_EMOJI_GROUP_FLAGS, -].map(withPreviewUrls); - -export function getTelegramEmojiAssetUrl(file) { - // Анимированные webp с raw.githubusercontent.com отключены: внешний хост - // блокируется у части пользователей (VPN/операторы) — тап по эмодзи вызывал - // сетевую ошибку и «моргание» картинки. Пока отдаём локальное статичное превью; - // возврат анимаций — только локальным паком в assets. - return getTelegramEmojiPreviewUrl(file); -} - -export function getTelegramEmojiPreviewUrl(file) { - return `${TELEGRAM_EMOJI_PREVIEW_BASE_URL}${String(file || '').replace(/\.webp$/i, '.png').split('/').map((part) => encodeURIComponent(part)).join('/')}`; -} diff --git a/shine-UI/js/components/telegram-emoji-activity.js b/shine-UI/js/components/twemoji-activity.js similarity index 97% rename from shine-UI/js/components/telegram-emoji-activity.js rename to shine-UI/js/components/twemoji-activity.js index 6462bd22..f51d8eea 100644 --- a/shine-UI/js/components/telegram-emoji-activity.js +++ b/shine-UI/js/components/twemoji-activity.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_ACTIVITY = { +export const TWEMOJI_GROUP_ACTIVITY = { "id": "activity", "label": "Активности", "icon": "🎉", diff --git a/shine-UI/js/components/telegram-emoji-animals_nature.js b/shine-UI/js/components/twemoji-animals_nature.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-animals_nature.js rename to shine-UI/js/components/twemoji-animals_nature.js index 8d3bdf66..4d962eec 100644 --- a/shine-UI/js/components/telegram-emoji-animals_nature.js +++ b/shine-UI/js/components/twemoji-animals_nature.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_ANIMALS_NATURE = { +export const TWEMOJI_GROUP_ANIMALS_NATURE = { "id": "animals-and-nature", "label": "Природа и животные", "icon": "🌿", diff --git a/shine-UI/js/components/twemoji-catalog.js b/shine-UI/js/components/twemoji-catalog.js new file mode 100644 index 00000000..6a516650 --- /dev/null +++ b/shine-UI/js/components/twemoji-catalog.js @@ -0,0 +1,52 @@ +import { TWEMOJI_GROUP_ACTIVITY } from './twemoji-activity.js?v=202607151545'; +import { TWEMOJI_GROUP_ANIMALS_NATURE } from './twemoji-animals_nature.js?v=202607151545'; +import { TWEMOJI_GROUP_FLAGS } from './twemoji-flags.js?v=202607151545'; +import { TWEMOJI_GROUP_FOOD_DRINK } from './twemoji-food_drink.js?v=202607151545'; +import { TWEMOJI_GROUP_OBJECTS } from './twemoji-objects.js?v=202607151545'; +import { TWEMOJI_GROUP_PEOPLE } from './twemoji-people.js?v=202607151545'; +import { TWEMOJI_GROUP_SMILEYS } from './twemoji-smileys.js?v=202607151545'; +import { TWEMOJI_GROUP_SYMBOLS } from './twemoji-symbols.js?v=202607151545'; +import { TWEMOJI_GROUP_TRAVEL_PLACES } from './twemoji-travel_places.js?v=202607151545'; + +const TWEMOJI_SVG_BASE_URL = 'https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/'; + +function getTwemojiCodepoint(emoji) { + return Array.from(String(emoji || '')) + .map((char) => char.codePointAt(0)) + .filter((codepoint) => codepoint && codepoint !== 0xfe0f) + .map((codepoint) => codepoint.toString(16)) + .join('-'); +} + +function withPreviewUrls(group) { + return { + ...group, + items: group.items.map((item) => ({ + ...item, + name: item.name || String(item.emoji || ''), + previewUrl: getTwemojiPreviewUrl(item.emoji), + animatedUrl: getTwemojiAssetUrl(item.emoji), + })), + }; +} + +export const TWEMOJI_GROUPS = [ + TWEMOJI_GROUP_SMILEYS, + TWEMOJI_GROUP_PEOPLE, + TWEMOJI_GROUP_ANIMALS_NATURE, + TWEMOJI_GROUP_FOOD_DRINK, + TWEMOJI_GROUP_TRAVEL_PLACES, + TWEMOJI_GROUP_ACTIVITY, + TWEMOJI_GROUP_OBJECTS, + TWEMOJI_GROUP_SYMBOLS, + TWEMOJI_GROUP_FLAGS, +].map(withPreviewUrls); + +export function getTwemojiAssetUrl(emoji) { + return getTwemojiPreviewUrl(emoji); +} + +export function getTwemojiPreviewUrl(emoji) { + const codepoint = getTwemojiCodepoint(emoji); + return codepoint ? `${TWEMOJI_SVG_BASE_URL}${codepoint}.svg` : ''; +} diff --git a/shine-UI/js/components/telegram-emoji-flags.js b/shine-UI/js/components/twemoji-flags.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-flags.js rename to shine-UI/js/components/twemoji-flags.js index a8bcda4e..c57cae24 100644 --- a/shine-UI/js/components/telegram-emoji-flags.js +++ b/shine-UI/js/components/twemoji-flags.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_FLAGS = { +export const TWEMOJI_GROUP_FLAGS = { "id": "flags", "label": "Флаги", "icon": "🏳️", diff --git a/shine-UI/js/components/telegram-emoji-food_drink.js b/shine-UI/js/components/twemoji-food_drink.js similarity index 98% rename from shine-UI/js/components/telegram-emoji-food_drink.js rename to shine-UI/js/components/twemoji-food_drink.js index 1c9b0505..729108f3 100644 --- a/shine-UI/js/components/telegram-emoji-food_drink.js +++ b/shine-UI/js/components/twemoji-food_drink.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_FOOD_DRINK = { +export const TWEMOJI_GROUP_FOOD_DRINK = { "id": "food-and-drink", "label": "Еда и напитки", "icon": "🍓", diff --git a/shine-UI/js/components/telegram-emoji-objects.js b/shine-UI/js/components/twemoji-objects.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-objects.js rename to shine-UI/js/components/twemoji-objects.js index 1eb8c73f..812a5f09 100644 --- a/shine-UI/js/components/telegram-emoji-objects.js +++ b/shine-UI/js/components/twemoji-objects.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_OBJECTS = { +export const TWEMOJI_GROUP_OBJECTS = { "id": "objects", "label": "Предметы", "icon": "💡", diff --git a/shine-UI/js/components/telegram-emoji-people.js b/shine-UI/js/components/twemoji-people.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-people.js rename to shine-UI/js/components/twemoji-people.js index e7e72be8..060b1ff5 100644 --- a/shine-UI/js/components/telegram-emoji-people.js +++ b/shine-UI/js/components/twemoji-people.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_PEOPLE = { +export const TWEMOJI_GROUP_PEOPLE = { "id": "people", "label": "Люди", "icon": "🧑", diff --git a/shine-UI/js/components/telegram-emoji-smileys.js b/shine-UI/js/components/twemoji-smileys.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-smileys.js rename to shine-UI/js/components/twemoji-smileys.js index 807c5eaa..92a32dc5 100644 --- a/shine-UI/js/components/telegram-emoji-smileys.js +++ b/shine-UI/js/components/twemoji-smileys.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_SMILEYS = { +export const TWEMOJI_GROUP_SMILEYS = { "id": "smileys", "label": "Смайлы", "icon": "🙂", diff --git a/shine-UI/js/components/telegram-emoji-symbols.js b/shine-UI/js/components/twemoji-symbols.js similarity index 99% rename from shine-UI/js/components/telegram-emoji-symbols.js rename to shine-UI/js/components/twemoji-symbols.js index c089ab6d..0dc20e57 100644 --- a/shine-UI/js/components/telegram-emoji-symbols.js +++ b/shine-UI/js/components/twemoji-symbols.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_SYMBOLS = { +export const TWEMOJI_GROUP_SYMBOLS = { "id": "symbols", "label": "Символы", "icon": "❤️", diff --git a/shine-UI/js/components/telegram-emoji-travel_places.js b/shine-UI/js/components/twemoji-travel_places.js similarity index 96% rename from shine-UI/js/components/telegram-emoji-travel_places.js rename to shine-UI/js/components/twemoji-travel_places.js index 7e7cb125..cbd63032 100644 --- a/shine-UI/js/components/telegram-emoji-travel_places.js +++ b/shine-UI/js/components/twemoji-travel_places.js @@ -1,4 +1,4 @@ -export const TELEGRAM_EMOJI_GROUP_TRAVEL_PLACES = { +export const TWEMOJI_GROUP_TRAVEL_PLACES = { "id": "travel-and-places", "label": "Путешествия", "icon": "✈️", diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 25f90ad0..7ecb9cd6 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -19,10 +19,10 @@ import { import { startOutgoingCall } from '../services/call-service.js'; import { createEmojiPicker, - createTelegramAnimatedEmoji, - appendTelegramAnimatedText, - isTelegramAnimatedEmoji, - stopAllTelegramEmojiAnimations, + createTwemojiAsset, + appendTwemojiText, + hasTwemojiAsset, + stopAllTwemojiAnimations, } from '../components/emoji-picker.js?v=202607152130'; import { openSpeechInputModal } from '../components/speech-input-modal.js'; import { isSpeechToTextConfigured, isTextToSpeechConfigured, speakTextBySettings } from '../services/speech-tools-service.js'; @@ -473,16 +473,21 @@ function scrollToLatestMessage(list) { function renderMessageText(textNode, messageText) { const text = String(messageText || ''); const emoji = text.trim(); - if (text === emoji && isTelegramAnimatedEmoji(emoji)) { - textNode.classList.add('bubble-text--animated-emoji'); - textNode.append(createTelegramAnimatedEmoji(emoji, { className: 'chat-telegram-emoji' })); + if (text === emoji && hasTwemojiAsset(emoji)) { + textNode.classList.add('bubble-text--twemoji-only'); + textNode.append(createTwemojiAsset(emoji, { className: 'chat-twemoji' })); return; } - if (appendTelegramAnimatedText(textNode, text, { className: 'chat-telegram-emoji chat-telegram-emoji--inline' })) { - textNode.classList.add('bubble-text--telegram-emoji-inline'); + if (appendTwemojiText(textNode, text, { className: 'chat-twemoji chat-twemoji--inline' })) { + textNode.classList.add('bubble-text--twemoji-inline'); } } +function isTwemojiOnlyMessage(messageText) { + const emoji = String(messageText || '').trim(); + return Boolean(emoji && String(messageText || '') === emoji && hasTwemojiAsset(emoji)); +} + function scrollToLatestMessageSmart(list, { smoothIfNearBottom = false } = {}) { if (!list) return; const scrollContainer = list.closest('.screen-content') || list.parentElement || list; @@ -547,6 +552,10 @@ function renderLog(list, chatId, { onOpenActions, markAsRead = true, scrollMode const autoKind = parsedText.callSummary ? 'call-tech' : ''; const bubbleKind = String(msg?.kind || autoKind || '').trim(); bubble.className = `bubble ${msg.from}${bubbleKind ? ` ${bubbleKind}` : ''}`; + const emojiOnly = !parsedText.callSummary && !parsedText.replyRef && isTwemojiOnlyMessage(parsedText.displayText || ''); + if (emojiOnly) { + bubble.classList.add('bubble--emoji-only'); + } if (parsedText.callSummary) { const callCard = document.createElement('div'); @@ -909,7 +918,7 @@ export function render({ navigate, route }) { const closeEmojiPicker = () => { if (!emojiPickerOpen) return; emojiPickerOpen = false; - stopAllTelegramEmojiAnimations(); + stopAllTwemojiAnimations(); emojiSlot.hidden = true; emojiToggle?.setAttribute('aria-expanded', 'false'); }; @@ -1253,7 +1262,7 @@ export function render({ navigate, route }) { emojiPickerOpen = !emojiPickerOpen; emojiSlot.hidden = !emojiPickerOpen; emojiToggle.setAttribute('aria-expanded', String(emojiPickerOpen)); - // Как в Telegram: либо клавиатура, либо пикер. На тач-устройствах при + // Либо клавиатура, либо пикер. На тач-устройствах при // открытии пикера прячем клавиатуру, чтобы поле ввода оставалось видно. if (emojiPickerOpen && !isFinePointer) input?.blur(); }); @@ -1360,7 +1369,7 @@ export function render({ navigate, route }) { void sendReadReceiptsForVisible(chatId); screen.cleanup = () => { setChatKeyboardOpen(false); - stopAllTelegramEmojiAnimations(); + stopAllTwemojiAnimations(); window.removeEventListener('shine-chat-messages-updated', handleIncomingChatRefresh); window.visualViewport?.removeEventListener('resize', syncKeyboardUi); window.removeEventListener('resize', syncKeyboardUi); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index c6a4c7e5..d209f6e6 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -4832,7 +4832,7 @@ html, body { overflow-x: hidden; } box-shadow: none; } -.telegram-emoji, +.twemoji, .emoji-picker-preview { display: inline-grid; place-items: center; @@ -4841,7 +4841,7 @@ html, body { overflow-x: hidden; } vertical-align: -0.12em; } -.telegram-emoji-image { +.twemoji-image { display: block; width: 100%; height: 100%; @@ -4849,17 +4849,43 @@ html, body { overflow-x: hidden; } pointer-events: none; } -.telegram-emoji.is-error .telegram-emoji-image, -.emoji-picker-preview.is-error .telegram-emoji-image { +.twemoji.is-error .twemoji-image, +.emoji-picker-preview.is-error .twemoji-image { visibility: hidden; } -.bubble-text--animated-emoji { +.bubble.bubble--emoji-only, +.dm-screen .bubble.bubble--emoji-only { + padding: 0; + border: 0; + background: transparent; + box-shadow: none; + backdrop-filter: none; + -webkit-backdrop-filter: none; + color: inherit; +} + +.bubble.bubble--emoji-only.in, +.dm-screen .bubble.bubble--emoji-only.in, +.bubble.bubble--emoji-only.out, +.dm-screen .bubble.bubble--emoji-only.out { + border: 0; + background: transparent; +} + +.bubble.bubble--emoji-only .bubble-meta { + margin-top: 2px; + padding: 0 4px; + color: rgba(198, 214, 247, 0.72); + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); +} + +.bubble-text--twemoji-only { font-size: 56px; line-height: 1; } -.bubble-text--animated-emoji .chat-telegram-emoji { +.bubble-text--twemoji-only .chat-twemoji { width: 1em; height: 1em; } diff --git a/shine-solana/shine/doc/shine_payments_e2e_test_plan.md b/shine-solana/shine/doc/shine_payments_e2e_test_plan.md index 2b7d7e22..0ddc72e2 100644 --- a/shine-solana/shine/doc/shine_payments_e2e_test_plan.md +++ b/shine-solana/shine/doc/shine_payments_e2e_test_plan.md @@ -32,10 +32,6 @@ 9. Финальное погашение всех очередей. 10. Возврат максимально возможных остатков лампортов на базовый кошелёк. -## Где смотреть подробный сценарий +## Статус документа -Актуальный подробный сценарий тестирования и его статус ведётся в: - -- `docs/Pending_Features/2026-06-06_1659_shine_payments_e2e_перепись_и_q3.md` - -Этот файл в `shine-solana/shine/doc/` оставлен как постоянная заметка, что у программы есть отдельный e2e-план проверки. +Этот файл в `shine-solana/shine/doc/` является постоянной заметкой, что у программы есть отдельный e2e-план проверки. diff --git a/tools/understand-anything-lab/.gitignore b/tools/understand-anything-lab/.gitignore deleted file mode 100644 index 97f65d06..00000000 --- a/tools/understand-anything-lab/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -upstream/ -work/ -.understand-anything/ -*.log - diff --git a/tools/understand-anything-lab/README.md b/tools/understand-anything-lab/README.md deleted file mode 100644 index 82067cdf..00000000 --- a/tools/understand-anything-lab/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# Эксперимент Understand Anything - -Эта папка нужна, чтобы безопасно проверить `Lum1104/Understand-Anything` в SHiNE без подключения к сборке, деплою и рабочему серверному коду. - -## Что здесь лежит - -- `upstream/` - локальный клон `https://github.com/Lum1104/Understand-Anything.git`; он игнорируется git, чтобы не тащить внешний репозиторий внутрь SHiNE. -- `install_codex_skills.sh` - локальная установка skills для Codex из уже скачанного `upstream/`, без `curl | bash`. - -Проверенный upstream: - -- commit: `26edf61856fa476e466bda1814819a266a293c47` -- дата commit: `2026-05-26T13:09:57+08:00` -- сообщение: `Merge pull request #235 from ZebangCheng/feat/add-trae-platform` - -## Безопасный сценарий проверки - -1. Подготовить окружение: - - ```bash - node --version - pnpm --version - ``` - - Для полноценного запуска нужен Node.js 22 или новее и pnpm 10 или новее. На текущей машине при первичной проверке были обнаружены Node.js `v18.19.1` и отсутствие `pnpm`, поэтому полноценный `/understand` пока не запускался. - -2. Установить skills для Codex из локального клона: - - ```bash - ./tools/understand-anything-lab/install_codex_skills.sh - ``` - - Скрипт использует локальный `tools/understand-anything-lab/upstream`, а не скачивает установщик из интернета. - -3. Перезапустить Codex-сессию, чтобы появились команды/skills: - - ```text - /understand --language ru - /understand-dashboard - ``` - -4. После первого запуска проверить созданный файл: - - ```bash - ls -la .understand-anything/ - ``` - -## Что не делать без отдельного решения - -- Не включать `Understand Anything` в Gradle-сборку. -- Не добавлять его в основной server/UI deploy из `deploy/scripts/`. -- Не переносить серверные модули в новую папку одновременно с этим экспериментом. -- Не включать auto-update hook через `/understand --auto-update`, пока не понятно, нужен ли граф в каждом commit. - -## Что можно коммитить позже - -Если эксперимент подтвердится, можно будет отдельно решить, нужно ли хранить `.understand-anything/knowledge-graph.json` в репозитории. По рекомендации upstream обычно коммитят содержимое `.understand-anything/`, кроме: - -```gitignore -.understand-anything/intermediate/ -.understand-anything/diff-overlay.json -``` - -До такого решения артефакты графа лучше считать локальными. diff --git a/tools/understand-anything-lab/install_codex_skills.sh b/tools/understand-anything-lab/install_codex_skills.sh deleted file mode 100755 index 11438cfe..00000000 --- a/tools/understand-anything-lab/install_codex_skills.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)" -UPSTREAM_DIR="$SCRIPT_DIR/upstream" - -if [[ ! -d "$UPSTREAM_DIR/.git" ]]; then - echo "Не найден локальный upstream-клон: $UPSTREAM_DIR" >&2 - echo "Сначала выполните:" >&2 - echo " git clone --depth 1 https://github.com/Lum1104/Understand-Anything.git \"$UPSTREAM_DIR\"" >&2 - exit 1 -fi - -if ! command -v node >/dev/null 2>&1; then - echo "Не найден Node.js. Для полноценного запуска Understand Anything нужен Node.js 22+." >&2 - exit 1 -fi - -if ! command -v pnpm >/dev/null 2>&1; then - echo "Не найден pnpm. Для полноценного запуска Understand Anything нужен pnpm 10+." >&2 - echo "Skills можно установить, но команда /understand не соберёт core без pnpm." >&2 -fi - -UA_DIR="$UPSTREAM_DIR" "$UPSTREAM_DIR/install.sh" codex - -echo -echo "Skills Understand Anything установлены для Codex из локального клона." -echo "Перезапустите Codex-сессию перед использованием /understand." - diff --git a/Как_устроены_каналы_в_блокчейне_SHiNE.md b/Как_устроены_каналы_в_блокчейне_SHiNE.md deleted file mode 100644 index 886cb99b..00000000 --- a/Как_устроены_каналы_в_блокчейне_SHiNE.md +++ /dev/null @@ -1,170 +0,0 @@ -# Как устроены каналы в блокчейне SHiNE - -## 1) Коротко: что такое “канал” в текущей реализации - -В SHiNE канал — это не отдельная таблица сообщений, а **линия блоков** внутри блокчейна пользователя: - -- канал создается TECH-блоком `CreateChannelBody` (`msg_type=0`, `msg_sub_type=1`); -- сообщения канала — это `TEXT_POST` (`msg_type=1`, `msg_sub_type=10`) с `line_code = rootBlockNumber канала`; -- ответы (треды) — это `TEXT_REPLY` (`msg_sub_type=20`) с target-ссылкой на конкретный блок-сообщение. - -То есть канал = “корневой блок канала” + все посты в его линии + связанные ответы. - ---- - -## 2) Как канал появляется - -Создание канала идет через `AddBlock`: - -1. UI собирает `CreateChannelBody v2`. -2. UI подписывает блок приватным blockchain-ключом на устройстве. -3. UI отправляет на сервер `AddBlock` с `blockBytesB64` (полный бинарный блок: preimage + sigMarker + signature). -4. Сервер: - - проверяет цепочку (`prevHash`, `blockNumber=last+1`); - - парсит body; - - валидирует подпись; - - валидирует имя канала; - - сохраняет блок и обновляет state. - -Дополнительно сервер поддерживает `channel_names_state` как нормализованное состояние названий каналов. - ---- - -## 3) Правила имени и описания канала - -### Имя канала (`ChannelNameRules`) - -- длина: `3..32` символов (code points); -- допустимые символы: только латиница `A-Z a-z`, цифры `0-9`, `_`, `-`; -- имя нормализуется как `trim`; -- канонический slug: lower-case того же имени (без дополнительных преобразований). - -### Уникальность - -Проверяется по slug. При конфликте сервер возвращает `channel_name_already_exists`. - -### Описание канала - -В `CreateChannelBody v2` описание хранится прямо в блоке (до 200 байт UTF-8). -После создания описание в текущей реализации не редактируется (отдельного механизма обновления пока нет). - ---- - -## 4) Канал “news” (root 0) - -`rootBlockNumber=0` — системный канал `news` (новостной канал по умолчанию). -Публикации `TEXT_POST` в `news` сейчас отключены (на сервере есть явный запрет записи в root 0). - ---- - -## 5) Как идут сообщения в канале - -### Публикация поста - -UI вызывает `addBlockTextPost` -> `AddBlock` с `TEXT_POST`. - -Ограничения: - -- писать можно только в **свой** блокчейн и свои каналы; -- для поста задается `line_code` канала; -- пост в канале — это новый неизменяемый блок. - -### Ответы - -Ответы (`TEXT_REPLY`) не обязаны лежать в той же линии. -Они ссылаются на целевой блок через target (`to_bch_name`, `to_block_number`, `to_block_hash`). - -Это позволяет отвечать и из других блокчейнов (межпользовательский тред). - ---- - -## 6) Редактирование и удаление сообщений - -### Редактирование - -Поддержано на уровне протокола: - -- `TEXT_EDIT_POST` (11) — правка поста; -- `TEXT_EDIT_REPLY` (21) — правка ответа. - -Правка — это **новый блок**, ссылающийся на оригинал. -Оригинальный блок не меняется. - -Серверные read-API уже собирают `versions[]` и `versionsTotal`. - -### Удаление - -Сейчас отдельного subtype “delete post/reply” нет. -Физического удаления блоков из цепочки нет (блоки иммутабельны). - -Итог: - -- изменить можно через edit-блок; -- удалить “как в чате” сейчас нельзя. - ---- - -## 7) Как UI получает канал - -Основные read-API: - -- `ListSubscriptionsFeed` — список каналов/подписок; -- `GetChannelMessages` — посты канала; -- `GetMessageThread` — тред вокруг выбранного сообщения. - -Важно: UI получает **JSON-представление**, собранное сервером из блоков БД, а не сырые блоки по умолчанию. - -В JSON возвращаются: - -- `messageRef` (номер и hash блока), -- автор, -- текущий текст, -- `versions[]` (оригинал + правки), -- counters (`likesCount`, `repliesCount`). - ---- - -## 8) Как строится тред - -`GetMessageThread`: - -1. Находит focus-сообщение по `(blockchainName, blockNumber)`. -2. Строит `ancestors` вверх по target-ссылкам. -3. Строит `descendants` вниз: replies, где target = focus. - -Запросы в БД идут по `to_bch_name + to_block_number + to_block_hash`, поэтому ответы из других блокчейнов тоже связываются. - ---- - -## 9) Что проверяется криптографически - -При записи (`AddBlock`) сервер проверяет: - -- корректность формата блока; -- непрерывность цепочки; -- `SHA-256(preimage)` и Ed25519-подпись; -- соответствие публичного blockchain-ключа пользователя. - -На чтении (`GetChannelMessages`, `GetMessageThread`) сервер отдает уже сохраненные данные (JSON из БД). -Повторная верификация каждой записи при каждом чтении не делается. - ---- - -## 10) UI-статус на сегодня (важно) - -На момент этого документа: - -- в UI нет полноценного экрана истории правок сообщения (хотя `versions` уже приходят); -- нет операции удаления сообщений (и на протоколе нет delete subtype); -- канал читается как JSON-слой поверх блоков, а не как “сырой бинарный блок-объект”. - ---- - -## 11) Практический вывод по модели данных - -Каналы в SHiNE — это append-only модель: - -- каждое действие = новый подписанный блок; -- “изменение” = добавление новой версии, не перезапись старой; -- целостность и авторство обеспечиваются подписью и связностью цепочки; -- UI может показывать удобный “чатовый” вид, но источник истины — блоки. diff --git a/Логика_доставки_почты.md b/Логика_доставки_почты.md deleted file mode 100644 index 2573680f..00000000 --- a/Логика_доставки_почты.md +++ /dev/null @@ -1,51 +0,0 @@ -# Логика доставки почты (Signed Messages v2) - -## Что отправляет клиент -- Клиент формирует **пару подписанных блоков** с одинаковой базой (`baseKey`): -- `incoming` — сообщение для получателя (`targetLogin = toLogin`). -- `outgoing` — копия для отправителя (`targetLogin = fromLogin`). -- Пара отправляется методом `ReceiveOutcomingMessage` (старое имя `SendMessagePair` оставлено для совместимости). - -## Что делает сервер при `ReceiveOutcomingMessage` -1. Валидирует поля запроса (`incomingBlobB64`, `outgoingBlobB64`). -2. Разбирает оба блока и проверяет, что это корректная пара. -3. Проверяет пользователей и криптоподписи по каждому блоку. -4. Пытается сохранить обе записи **одной транзакцией**: -- либо добавляются **обе** записи, -- либо при дубле/конфликте не добавляется **ни одна**. -5. Если пара реально добавилась в БД, сервер запускает realtime-доставку в активные сессии целевых пользователей. -6. Если это дубль, дальнейшая доставка не выполняется (повтор не разгоняется). - -## Как сообщение доходит до клиента (WS + WebPush) -1. После успешной записи сервер пытается доставить сообщение во все активные сессии `targetLogin`. -2. Для каждой сессии сервер сначала создаёт/проверяет запись доставки в `signed_message_session_delivery` (pending). -3. Если сессия онлайн, сервер шлёт `SignedMessageArrived` по WebSocket. -4. Если сессия офлайн и тип сообщения входящий текст (`TYPE_INCOMING_TEXT`), сервер пробует WebPush (если у сессии сохранены `endpoint/p256dh/auth`). -5. При следующем логине/переподключении сервер дочитывает pending-сообщения и повторно отправляет их в эту сессию как backlog. - -## Подтверждение доставки (ACK) -- Используется метод `AckSessionDelivery`. -- Клиент отправляет ACK после обработки `SignedMessageArrived` с `messageKey`. -- Сервер помечает `(messageKey, sessionId)` как `delivered=1`, и это сообщение перестаёт быть pending для этой сессии. - -### Важно про безопасность ACK -- `AckSessionDelivery` требует авторизованную WS-сессию (`ctx.isAuthenticatedUser()`). -- `sessionId` берётся сервером из текущего `ConnectionContext`, а не из payload запроса. -- Поэтому подтвердить доставку «просто зная messageKey/sessionId» без авторизованной сессии нельзя. - -## Почему допускаются дубли сети -- В модели с несколькими серверами возможны повторные пересылки одного и того же сообщения. -- Дедупликация делается на уровне БД по ключам записи. -- За счёт этого «шторм» затухает: сервер, который уже видел сообщение, больше его не разгоняет. - -## Будущая мультисерверная схема (цель) -- Клиент может отправить `ReceiveOutcomingMessage` на любой из своих серверов. -- Сервер-источник: -- сохраняет пару, -- рассылает исходящее по серверам пользователя A, -- рассылает входящее по серверам пользователя B. -- Остальные серверы повторяют тот же принцип, но благодаря дедупликации повторная пересылка быстро прекращается. - -## Важные текущие ограничения -- **A) Реальной мультисерверности пока нет.** Сейчас фактически предполагается один сервер на пользователя. -- **B) Нет полноценного graceful shutdown для очереди пересылки.** Возможен сценарий: запись уже сохранена в БД, но сервер перезагрузился до пересылки дальше. Это нужно доработать отдельно. diff --git a/Логика_установки_соединения_через_сервер.md b/Логика_установки_соединения_через_сервер.md deleted file mode 100644 index f52929db..00000000 --- a/Логика_установки_соединения_через_сервер.md +++ /dev/null @@ -1,44 +0,0 @@ -# Логика установки звонка через сервер (актуальная) - -## 1) Ключевые API -- `CallInviteBroadcast` — широковещательный старт входящего звонка (`type=100`) по пользователю. -- `CallSignalToSession` — точечный сигнал в конкретную сессию (`RINGING/ACCEPT/DECLINE/TIMEOUT/HANGUP/OFFER/ANSWER/ICE`). - -## 2) Базовый поток звонка -1. Инициатор отправляет `CallInviteBroadcast(toLogin, callId, type=100)`. -2. Сервер отправляет онлайн-сессиям callee событие `IncomingCallInvite` по WS. -3. Офлайн-сессиям callee сервер отправляет WebPush `incoming_call` (с TTL). -4. Любая сессия callee, получив invite, может отправить `RINGING`. -5. Инициатор после первого `RINGING` показывает «Вызываем…». -6. При `ACCEPT` выбирается одна целевая сессия, остальные получают `HANGUP/stop_call` и закрывают экран входящего. -7. Далее только выбранная пара сессий обменивается `OFFER/ANSWER/ICE`. - -## 3) WebPush по звонкам -### `incoming_call` -- Используется как fallback для офлайн-сессий. -- Поля: `kind`, `callId`, `fromLogin`, `fromSessionId`, `toLogin`, `sentAtMs`, `expiresAtMs`. -- TTL сейчас: **10 секунд**. -- Если push пришёл после `expiresAtMs`, уведомление не показывается. - -### `stop_call` -- Отправляется при завершении/отмене/принятии на другом устройстве. -- Поля: `kind`, `callId`, `reason`, `fromLogin`, `fromSessionId`, `toLogin`, `sentAtMs`. -- Service Worker закрывает уведомление по `tag=callId`. - -## 4) Кнопки в push-уведомлении -- Для `incoming_call` есть actions: -- `accept` — «Ответить» -- `decline` — «Сбросить» -- По нажатию action: -- Service Worker шлёт событие в открытые вкладки, -- и открывает/фокусит UI с параметрами действия. -- UI пытается выполнить действие сразу (принять/отклонить), если сессия уже авторизована. - -## 5) Важные ограничения -- Источник истины по звонку — серверный сигналинг (WS + серверные сигналы), push только вспомогательный канал. -- Push может прийти с задержкой и не по порядку, поэтому клиент фильтрует устаревшие события (`expiresAtMs` + `callId` + `stop_call`). -- Полноценный «автоответ в фоне без открытия UI» в web/PWA не гарантируется платформой. - -## 6) Ограничение текущей архитектуры -- Сейчас звонки надёжно работают в рамках одного сигнального контура (когда обе стороны подключены к совместимому серверу/кластеру). -- Межсерверный сценарий «A и B на полностью разных серверах» пока не завершён и вынесен в TODO. diff --git a/Типы_блоков_и_сообщений_SHiNE.md b/Типы_блоков_и_сообщений_SHiNE.md deleted file mode 100644 index c0770300..00000000 --- a/Типы_блоков_и_сообщений_SHiNE.md +++ /dev/null @@ -1,141 +0,0 @@ -# Типы блоков и сообщений SHiNE (карта протокола) - -## 1) Главный принцип - -В блокчейн попадают только записи `AddBlock` (подписанные бинарные блоки). -Все остальное (например, call signaling, push-события, служебные JSON-операции) — не блокчейн-данные. - ---- - -## 2) Базовые `msg_type` - -## `msg_type=0` — TECH - -- `subType=0` — `HEADER_COMPAT` (техническая совместимость); -- `subType=1` — `TECH_CREATE_CHANNEL` (создание канала). - -Используется для структуры каналов. - -## `msg_type=1` — TEXT - -- `10` — `TEXT_POST` (пост в линии канала); -- `11` — `TEXT_EDIT_POST` (правка поста); -- `20` — `TEXT_REPLY` (ответ на сообщение через target); -- `21` — `TEXT_EDIT_REPLY` (правка ответа). - -Это основной контент каналов и тредов. - -## `msg_type=2` — REACTION - -- `1` — `REACTION_LIKE`; -- `2` — `REACTION_UNLIKE`. - -Лайки/снятие лайка, считаются через state-триггеры и/или агрегации. - -## `msg_type=3` — CONNECTION - -Связи между пользователями (friend/contact/follow/spouse/parent/child/sibling + обратные UN*). - -Используется для соцграфа и подписок: - -- `FOLLOW/UNFOLLOW` — подписки на авторов/каналы. - -## `msg_type=4` — USER_PARAM - -Ключ-значение параметра пользователя (profile / тех.параметры). - -Для описаний каналов `USER_PARAM` больше не используется: описание хранится только в `CreateChannelBody v2`. - ---- - -## 3) Что **не** является блокчейн-типом - -Ниже операции есть в протоколе, но не через `AddBlock`: - -- `CallInviteBroadcast`, `CallSignalToSession` (сигналинг звонков), -- `SendDirectMessage`, `ReceiveIncomingMessage`, `ReceiveOutcomingMessage`, -- `AckSessionDelivery`, `UpsertPushToken`, `SendTestWebPush`, -- системные `Ping`, `GetServerInfo`, логи и т.п. - -Это JSON-операции поверх WS/серверной логики. - ---- - -## 4) Формат блока (высокоуровнево) - -Блок включает: - -1. preimage (header + body), -2. `sigMarker`, -3. `signature64`. - -`hash32 = SHA-256(preimage)`, подпись Ed25519 проверяется сервером при `AddBlock`. - -Ключевые проверки на сервере: - -- `blockNumber == last + 1`, -- `prevHash` совпадает с последним хэшем цепочки, -- body валиден по типу/версии/subtype, -- подпись корректна. - ---- - -## 5) Где и как это используется в UI - -## Уже активно - -- создание канала (`TECH_CREATE_CHANNEL`); -- пост в канал (`TEXT_POST`); -- ответ (`TEXT_REPLY`); -- лайк/анлайк (`REACTION_*`); -- follow/unfollow через connection-блоки. - -## Частично готово на API, но не доведено в UI - -- отображение полной истории правок (`versions[]` есть в API, но UI показывает не полностью как отдельный workflow); -- редактирование поста/ответа (типы в протоколе есть, UI-сценарий не завершен); -- удаление сообщений отсутствует как тип. - ---- - -## 6) Про “AI сообщения” - -Отдельного `msg_type/subType` “AI message” в текущем протоколе нет. -Если нужно, это обычно делают либо: - -- как новый `TEXT_*` subtype (если это контент канала), -- либо как отдельный новый `msg_type` (если нужна независимая семантика/правила). - ---- - -## 7) Почему в UI виден JSON, а не “сырой блок” - -Текущий read-path сделан так: - -- сервер читает блоки из БД; -- парсит и собирает удобное JSON-представление; -- UI рендерит его как сообщения/треды. - -Плюсы: - -- проще и быстрее для интерфейса; -- не дублируется сложная логика парсинга блоков на клиенте. - -Минусы: - -- клиент не делает локальную крипто-верификацию каждого прочитанного элемента. - -При необходимости можно добавить режим “raw block view” и верификацию на клиенте как отдельный экспертный экран. - ---- - -## 8) Рекомендация по UX/протоколу - -Для обычного пользователя лучше оставить “UI-сообщения” (читаемо и быстро). -Для аудита/доверия имеет смысл добавить отдельный режим: - -- показать `blockNumber/hash/signature`, -- показать все версии, -- кнопка “проверить подпись локально” (advanced). - -Так получится и удобство, и проверяемость. From 59047a8d0e6626e5fe2e456c974c376a2dac4c0e3ae713322aed1f0c32a34ca7 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 18:49:28 +0400 Subject: [PATCH 02/83] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=B9=20=D0=B8=D0=B7=20=D0=BB=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=BE=D0=B1=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B0=D0=B3=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 9 +- CLAUDE.md | 2 +- Players/blackbyrd1/files/.gitkeep | 1 - Players/blackbyrd1/history/.gitkeep | 1 - Players/dimasol1/files/.gitkeep | 1 - ...-05-30_agent_instructions_approval_task.md | 71 - Players/dimasol1/history/.gitkeep | 1 - Players/malvviiina/files/.gitkeep | 1 - Players/malvviiina/history/.gitkeep | 1 - .../channels-list.png | Bin 31852 -> 0 bytes .../chat-view_u1.png | Bin 3153 -> 0 bytes .../contact-search-view.png | Bin 107433 -> 0 bytes .../shine-staging-screenshots/login.png | Bin 19475 -> 0 bytes .../messages-list.png | Bin 28201 -> 0 bytes .../network-view.png | Bin 95575 -> 0 bytes .../notifications-view.png | Bin 28201 -> 0 bytes .../shine-staging-screenshots/register.png | Bin 71148 -> 0 bytes .../settings-view.png | Bin 28201 -> 0 bytes .../shine-staging-screenshots/start.png | Bin 50017 -> 0 bytes .../shine-staging-screenshots/wallet-view.png | Bin 28201 -> 0 bytes Players/oidasyda/files/.gitkeep | 1 - Players/oidasyda/history/.gitkeep | 1 - Players/zodiaktechnika32/files/.gitkeep | 1 - Players/zodiaktechnika32/history/.gitkeep | 1 - SHiNE-agent-bot-coder/.env.example | 19 - SHiNE-agent-bot-coder/.gitignore | 5 - SHiNE-agent-bot-coder/AGENT.md | 80 - SHiNE-agent-bot-coder/AGENTS.md | 25 - SHiNE-agent-bot-coder/CLAUDE.md | 2 - .../Players/PROMPTS_REVIEW.md | 26 - SHiNE-agent-bot-coder/README.md | 100 - SHiNE-agent-bot-coder/py_bot_service.py | 2976 ----------------- .../scripts/systemd/install-local-systemd.sh | 28 - .../systemd/shine-agent-bot-coder.service | 19 - VERSION.properties | 4 +- codex-agent-VPS/.env.example | 31 - codex-agent-VPS/.gitignore | 5 - codex-agent-VPS/AGENTS.md | 86 - .../Agent-server-package/.env.example | 31 - codex-agent-VPS/Agent-server-package/AGENT.md | 51 - .../Agent-server-package/py_bot_service.py | 2960 ---------------- .../systemd/shine-agent-bot-coder.service | 23 - codex-agent-VPS/README.md | 32 - deploy/AGENT_BOT_CODER_LOCAL_SYSTEMD.md | 14 +- 44 files changed, 18 insertions(+), 6591 deletions(-) delete mode 100644 Players/blackbyrd1/files/.gitkeep delete mode 100644 Players/blackbyrd1/history/.gitkeep delete mode 100644 Players/dimasol1/files/.gitkeep delete mode 100644 Players/dimasol1/files/2026-05-30_agent_instructions_approval_task.md delete mode 100644 Players/dimasol1/history/.gitkeep delete mode 100644 Players/malvviiina/files/.gitkeep delete mode 100644 Players/malvviiina/history/.gitkeep delete mode 100644 Players/malvviiina/shine-staging-screenshots/channels-list.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/chat-view_u1.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/contact-search-view.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/login.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/messages-list.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/network-view.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/notifications-view.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/register.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/settings-view.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/start.png delete mode 100644 Players/malvviiina/shine-staging-screenshots/wallet-view.png delete mode 100644 Players/oidasyda/files/.gitkeep delete mode 100644 Players/oidasyda/history/.gitkeep delete mode 100644 Players/zodiaktechnika32/files/.gitkeep delete mode 100644 Players/zodiaktechnika32/history/.gitkeep delete mode 100644 SHiNE-agent-bot-coder/.env.example delete mode 100644 SHiNE-agent-bot-coder/.gitignore delete mode 100644 SHiNE-agent-bot-coder/AGENT.md delete mode 100644 SHiNE-agent-bot-coder/AGENTS.md delete mode 100644 SHiNE-agent-bot-coder/CLAUDE.md delete mode 100644 SHiNE-agent-bot-coder/Players/PROMPTS_REVIEW.md delete mode 100644 SHiNE-agent-bot-coder/README.md delete mode 100644 SHiNE-agent-bot-coder/py_bot_service.py delete mode 100755 SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh delete mode 100644 SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service delete mode 100644 codex-agent-VPS/.env.example delete mode 100644 codex-agent-VPS/.gitignore delete mode 100644 codex-agent-VPS/AGENTS.md delete mode 100644 codex-agent-VPS/Agent-server-package/.env.example delete mode 100644 codex-agent-VPS/Agent-server-package/AGENT.md delete mode 100644 codex-agent-VPS/Agent-server-package/py_bot_service.py delete mode 100644 codex-agent-VPS/Agent-server-package/scripts/systemd/shine-agent-bot-coder.service delete mode 100644 codex-agent-VPS/README.md diff --git a/AGENTS.md b/AGENTS.md index 21aa62f4..c1629e40 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -14,14 +14,15 @@ - Веб-панель администратора сервера (управление Solana PDA сервера) находится в `shine-UI/`: - точка входа `shine-UI/server-ui.html`; - остальные файлы серверного UI — в `shine-UI/server-ui/`. -- Локальный Telegram-бот агента-кодера находится в папке `SHiNE-agent-bot-coder/` и не является кодом основного серверного приложения. +- Локальный Telegram-бот агента-кодера живёт рядом с репозиторием продукта, обычно в `../SHiNE-agent-bot-coder/`, и не входит в публичный код основного приложения. - Solana/Anchor-модуль находится в папке `shine-solana/shine/` и ведётся отдельно от основного server/UI деплоя. ## Сервис агента-кодера -- В проекте есть локальный Telegram-бот-сервис агента-кодера в папке `SHiNE-agent-bot-coder/`. +- Локальный Telegram-бот-сервис агента-кодера находится вне этого git-репозитория, обычно в `../SHiNE-agent-bot-coder/`. - Сервис принимает сообщения из Telegram, ведёт историю диалога, ставит задачи в очередь и вызывает Codex CLI для обработки запросов по проекту. -- Автоматически читаемые инструкции для Codex внутри сервиса держать в `SHiNE-agent-bot-coder/AGENTS.md`. -- Подробные служебные правила Telegram-обработчика, его очередь, история, systemd-запуск и особенности ответов описывать в `SHiNE-agent-bot-coder/AGENT.md`. +- Рабочая папка Codex для сервиса должна указывать на этот продуктовый репозиторий: `CODEX_WORKDIR=/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-product`. +- Автоматически читаемые инструкции для Codex внутри сервиса держать в `../SHiNE-agent-bot-coder/AGENTS.md`. +- Подробные служебные правила Telegram-обработчика, его очередь, история, systemd-запуск и особенности ответов описывать в `../SHiNE-agent-bot-coder/AGENT.md`. - Если в сообщениях пользователя встречается «агент MD» или похожая формулировка про файл инструкций Codex, считать, что имеется в виду автоматически читаемый `AGENTS.md`. ## ESP32 UI homeserver diff --git a/CLAUDE.md b/CLAUDE.md index 0e5b4c5e..c75cd666 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,7 +5,7 @@ @shine-UI/AGENTS.md ## Справка по подпроектам -- При работе внутри `SHiNE-agent-bot-coder/` — читать `SHiNE-agent-bot-coder/AGENTS.md` и `SHiNE-agent-bot-coder/AGENT.md`. +- При работе с локальным агентом-кодером — читать внешние файлы `../SHiNE-agent-bot-coder/AGENTS.md` и `../SHiNE-agent-bot-coder/AGENT.md`. - При работе внутри `shine-solana/shine/` — читать `shine-solana/shine/AGENTS.md`. - При работе внутри `shine-UI/server-ui/` — читать `shine-UI/AGENTS.md`. - При работе внутри `SHiNE-server/` — читать `SHiNE-server/AGENTS.md`. diff --git a/Players/blackbyrd1/files/.gitkeep b/Players/blackbyrd1/files/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/blackbyrd1/files/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/blackbyrd1/history/.gitkeep b/Players/blackbyrd1/history/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/blackbyrd1/history/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/dimasol1/files/.gitkeep b/Players/dimasol1/files/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/dimasol1/files/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/dimasol1/files/2026-05-30_agent_instructions_approval_task.md b/Players/dimasol1/files/2026-05-30_agent_instructions_approval_task.md deleted file mode 100644 index cfe05a4f..00000000 --- a/Players/dimasol1/files/2026-05-30_agent_instructions_approval_task.md +++ /dev/null @@ -1,71 +0,0 @@ -# Задание для Айдара: навести порядок в инструкциях агентов SHiNE - -## Кратко -Нужно согласовать и оформить единый порядок инструкций для Codex/Telegram-агентов в проекте SHiNE, чтобы агенты стабильно понимали структуру проекта, границы ответственности и правила работы с сервером, UI, Solana-модулем, Telegram-ботом и игроками. - -## Зачем это нужно -Сейчас проект состоит из нескольких связанных, но разных частей: - -- основной сервер `SHiNE-server/`; -- UI `shine-UI/`; -- Solana/Anchor-модуль `shine-solana/shine/`; -- Telegram-агент-кодер `SHiNE-agent-bot-coder/`; -- TURN-сервер; -- документация `docs/`; -- отдельные рабочие папки игроков `Players/`. - -Без явных инструкций агент может путать эти зоны: например, смешать деплой Solana с деплоем сервера, изменить код от имени игрока, не обновить документацию API/DM/блокчейна или неправильно трактовать файл инструкций. - -## Что предлагается сделать -1. Утвердить корневой `AGENTS.md` как главный набор правил проекта. -2. Проверить и при необходимости уточнить локальный `AGENTS.md` внутри `shine-solana/shine/`. -3. Оставить отдельные служебные инструкции Telegram-агента в `SHiNE-agent-bot-coder/AGENT.md`. -4. Оставить автоматически читаемые инструкции Telegram-агента в `SHiNE-agent-bot-coder/AGENTS.md`. -5. Явно закрепить режим игроков: - - игроки могут задавать вопросы, просить анализ, идеи и ТЗ; - - игроки не меняют код проекта напрямую; - - материалы игроков сохраняются только в `Players/<username>/`. -6. Зафиксировать правило: если пользователь говорит «агент MD» или похожую формулировку, считать, что речь про автоматически читаемый `AGENTS.md`. -7. Добавить простой процесс согласования изменений инструкций: - - Дима или другой участник готовит предложение; - - Айдар получает уведомление/заявку; - - Айдар отвечает: одобрить, отклонить или попросить доработать; - - только после одобрения агент вносит изменения в проектные инструкции. - -## Предлагаемая логика уведомления Айдару -Минимальный вариант без сложной разработки: - -1. Агент готовит текст заявки. -2. Текст отправляется Айдару в Telegram или в общий рабочий чат. -3. В заявке явно указаны варианты ответа: - - `одобрить`; - - `отклонить`; - - `доработать: ...`. -4. После ответа Айдара агент либо выполняет согласованные правки, либо фиксирует, что задача отклонена/нужна доработка. - -Более удобный вариант на будущее: - -- добавить в Telegram-бота команду или сценарий согласования задач, например: - - `/approve <id>`; - - `/reject <id> причина`; - - `/revise <id> комментарий`. - -Но для начала достаточно простого текстового согласования через Telegram. - -## Что нужно от Айдара -Подтвердить, что такой порядок подходит: - -1. Корневой `AGENTS.md` остается главным правилом проекта. -2. Для Solana, Telegram-агента и игроков сохраняются отдельные локальные правила. -3. Игроки не меняют код напрямую, а готовят материалы и предложения. -4. Изменения инструкций выполняются только после явного одобрения Айдара. -5. Уведомления Айдару на первом этапе можно делать простым текстом в Telegram, без отдельной сложной системы заявок. - -## Ожидаемый результат -После одобрения: - -- агенты будут стабильнее понимать границы проекта; -- снизится риск случайных изменений не в той части системы; -- появится понятный порядок согласования задач от игроков; -- Айдар будет явно контролировать изменения в инструкциях и правилах работы агентов. - diff --git a/Players/dimasol1/history/.gitkeep b/Players/dimasol1/history/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/dimasol1/history/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/malvviiina/files/.gitkeep b/Players/malvviiina/files/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/malvviiina/files/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/malvviiina/history/.gitkeep b/Players/malvviiina/history/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/malvviiina/history/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/malvviiina/shine-staging-screenshots/channels-list.png b/Players/malvviiina/shine-staging-screenshots/channels-list.png deleted file mode 100644 index 3f33dcf76f3aa0c33a11f5e7adba48480b1b63051efe4eb74b24df8e2554877f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31852 zcmeFYWmH?=*Y8V}LQ7M$g#w|t7k83|Qna{xi@OB(wt?co-HR0q#U)6KySo+$6sN%h z1a5whopZ+>_l!Hvea^c-uQJwNti5EeHNW#S_X<;0mL(#jBE-YPBa)YsR>#A;gTTYP zm;dN4uEZr?_6r`~Gdy`|h^AM@Ugm>O)bHlMw(X3aE;TqUJ|Or7V-5k5>^<`NxylVj z^tjB@_%ygW-+B7fQ~t;Oh&PKuS*J^7a5wCf@e+SENmX_FhQBVeB<^pD$*JX3D`EvW zm{Y^!qk8jgO6xuz9t|KE5AU}pApaR29v$u{9viOk3mL8_5W+inpZ+O&6C;ItCie>0 ztAA=eQh$VpcmIF88r@%wwBP@{n7jektXw=t5Yv4;H|ue_;86(P8(I8&=6HD4t~!qt zAK}eDwbo$Ua~69+7+h6V#pibSrd;&Qnp3+%!@yu+c2*A0%~(vzSKfds1)KtL2v#JN z1+eSZG=<L-bnBiwF7Z`Y+1lEE8~ff%JX|kR+!Y`_cmM9^j120^(zrO1yEzkM#Pf=2 z6QdsLTS{)?3c0<Zt^SvjlhfK-4g>d58ygmumiF@v#dpr0xzYdgo<J(G+nTT~(#z9b z19kl-hht4T4_$5T<$4nnH0k{}ML7&L$sY1B74!pEF1OdctmXFj=abb|(Q=IJ?e`}i zcCNd;Lt9vyPfkw}<1K(`a$9N?spfmhJrW2=iEW4a2TRJz@`c{+8Ftcj0&q1%|EZxv zC5FLkRD?jZ+y!fS*I15@j|o2QXTV2|=Q)TRUIo)^QKx-iW!=pB9u+1{pQ{>!H#@xj zXuqIkJf=>3q6YB!jVd*NE$=tfmtW8B{K%ZZjo7y!H(oJUMXm0@Fkd^jq~zk&-4EhL zxW1n$bO<F&EtgE;ecDe$7$J>aFa-hG>V}4#jGX)&$Zu6gjaJze%T>X39KS8*v$F6( z0=}!`OyCxuO=s7xgtig=D(CHHVW*U!kAkysN|4{|P#|{Ut8VX#-Dt05QK!$-RAlS7 zTwds0!SmC@ndmwWx?md?frEtV!V|{%>#?_h!Cw~aAAAdPa(-t6Bn6NHK5IZgR`URy z0skEQp~7evNyOey+u&s}_TW#p;sUu%7`dq%r<%y=;5u_q@zFXGc$vS%-S_afu<KTC z2uRRwtX2GpNo#Hmh@?1Ly43Dvr_TXEo8pOnb)og2Opi-+QTF%pJ{s};>j~NCftM!{ zhvip9)20heQr5=&K}Tnx-F7zbNuEEsAuH@v)0<J^Yjr)#S=fnjrpJFq0*-Tc0o1wC z>2Ko^SY4p3iKubl%JEO%lh0@IApo9M9g&TZ^T7+h*192;>a5$VzIY#zHchYD_~XuQ zMBCvZh$q^*Gqu9n1amaq=S|SZABaw@{z{6c6qB5cTz5pezSA?%7qyy8J4{Ak99_ot z3M@0>Rwzd}M&)vXVDc;o+Cu}vo`AFc-n6YyIP9SKdubx?Tp7CjA`YJ9xmsPY<P@9< z{+fOL+f{gv%5hd8aC5I&9{Due=ja~8)?|m{ZR@uGhEn5cUr1qCCizg7mZ<3=0g^VL zBj~z>;l`BJ{`;T5?L2B7o2kH|dFfo@ctG|i*Pp-Y@?_5sDD^~7cNHnhmS04dhB1HV zP7yZm{V*T!ri{lSh{e!r=4}rVU}CdA%g-fjALUE*0%8}QH0blUUt>gKqxZ3;J;g2| zi%RO~`{&QuIS1`n+0)LawI)<B1C>2XBC=1E+L6?}%K~39-oa@n4mTI*U8m-o{tzop z8#=r?8cNEKg0!UcFBA)5cPSoCJLo*$tZ(7y%$Z}Rp1$42gmjz-IB&9~M<u??HVo`% zIb%+b5E51$ab~r5EcLhhiK=!SDz$$S;(M?og6zhq82eqsPb2&LmD0%Ku(esilEFzr zWL!&;VU(i}Cuf8;lN`_3KI=l6@~PX7Fn>(c(_@kAQ5DTTeJ_xysLY$};3B)nTG_@o zA=?$TAluM8Rr23gvNU=${V}Vr9Xw9WI+~FxE#Is!BLFnZ$DsqS{jRQdt*EM*bI~Ct zo@2op%;cNF@qxS&raP+)Bs%AdS7jW-V2hoLEcw=?8M`1M&~mfQF|z`s!bW8{)snHS z#Cp5g+X);vqF7DviK5cm6+KTr&<)QL@XXu2hIF&CFc{8^iXc31_5myM4l-t^Rl$#w zzd~#A{Mv555o?wkAx^KNm=qQ3c5ZTGq@otbSeCv1h@PNMqQ5KIaHe4<*Q<*bf7q=O z>s)(x?_F&QtB<hNgWN|}P0OyP_l5mx!hDol4!$z@G__9tI0=i7ZZlXo`RTjt^ZQZ9 zi?7{AnBQ0{rANYp0qF4On*u>Bnb4~f`8wvWJ`@yGg+Ev=3chE!pYK;t2nP8o&t8S% ztje$Rf|$szFz`KIP0$XPK@z8)$9QL0B8IY*W49|UBXab&@lw+t%ko)Gp>Mv!-NDtn zySv3h)`sXKa@pqhX<?#hGyu3<k80DQcENbI{pz)U%eLq!+ulg3(zF3L^CToUIo|P2 z_6FG*3a`&U24Z~D^}4zX_-TFi8we(3BU1vVTn^s{=6-iR@^YZ}JT9Z;2c=Gk{GMHp zv{~9@?(m69;gL$GNIl+(ck(yP5cWPw{Q8vY9?E$Ad<?{;UuEvvFDYPe%y&#WloB9O zRN~wpRJ_`3EP2d|8__2k&lDb)HD#kFx9xhD)zMs7fUya=MOjrHH-*h?p!6Z-hy<oP z@D_KRIR}4(U9Fk~f|^mA=^j^S^Sj1I)6<o;-J&X>i?M_d_?GDQm*b-0X0N_$L82b= zuaAqCoK=itQ{EiZHii=(`zW>ky|i&ZELc{wh*fQr4_=kmS#%#kbrZ*bjekUOMi>po zTpKi%?>4Q3rM>06ycu9Bj%E%_)<Cqm+rDL8wCkMgODo|{<?;xNw|>KqJGzWKmMa5q z14?x&Zcq~=rKP1k(LiyJ!Ia3o3|$8sZ@oFK^J}M}`P!P6J8YB1HygEf!?&VJI)vnb zC!HOxh09`Wf&GbAv?BXo+l<w`mJ(SGB~6d=OQN$RZolebtd>t_*1J_wY7|FQG_t=K zonr6lET(v3H#Art-4od@U${N;n&K8-48Tmbw|LUlS?2r*GVSy~f6JdP5+ZIWf(e!K zm%r%Ht7!d;x>vz%o#G~PCnoI!-H#b#r04#4uxqQW``C!<AKq?lgg$ojb~)GMo6FKb z5!^d9fPdjHuS)Z_dmes$hgp_P6m=tXirv=tA%LpJ8f|*_gKy#X+1mNl`GVE!b$F2! ze&7Y#YF<Ch`t|;l<tk1X4UrNCpQSci86#4vrV69~44J&ie2kMwIh38wUhNHIt1&|9 zI$B29rM<(vu@~;#I34xL^4XnV58Aj%zNBQE{Kfem4XgZk#gCk{8f5RZv}_eSRYHOE zcy+G0mz<swwQ(9YD;>OEa`UyR5L)P~fH+!PKM9_{KKs7L^6&CMss4HH*M<Bn;U(kw z(ji9<w!NG`I>JH%`78!q|FeE*<R~jE>F*mZtdkB>gF>tR=ZAjbuix0@`a)!EESh9v z(O!mVOjUJtP<>Hdu43|+`T3@_G^+nn2X76U+Tpy`+#DQ_gWG?7NSCNGn%#32;SBhK zw?!7(pAj27*ScR|G;h!18T^obcA+g0%zHjH+rUK{lbyZN;#==-H`BG|ayO@%E=~S6 z;9JXI5Bt~KPSp!L?c&ROO&*PZl?#2(5A^i(+R0_})MDEVJoP`Nz@BGn(LL+!>nkoV zX5(gig(t><6Gr*`L~RUgj7u*gGKNM8F6uWk`u{^1A|0+c@WiP8sl!FoR#B=%<^Bk7 z^zOe4#lI;mczB=wQMdmMO7_237ymC?`}9*K6HX(uNsf9*fQP3q^UnP~0w=}A@;EY( z4dHlrIf6gQ|6@@9{fhm6*|Yx-VZ!I^fS&vJCadjo6cJ$Yj^xDRP@TX}Hb7^3O9yk# z<D`RXrgT^3NSg{~F6@`<$IB)Y$uEiuJ$B?@R-ZHYkACZL07;hh)zsQ2523=&KcvYA z+C^6;dJRlob##-=9KYIrt{<yYOu9-IT<Kfo!ARrOE^|pZENT|XQjt*J%cZk?^Oetb zKbkTkHbsA>clYJ`DN%EYkhV5uM3+HR^-3PuSD1b0Pv`7|&t*>n^(@R4X)21NwWedJ zNT(o`yV7f=OYQ0N-HXyDW;6Et8pxycQ<diLS&~~0KWCR`C+CYW7FOwG3mT>+gQy1E zMsZ1$LVEoYR3@y)x=?9@U_l@|z%xsCpw7!@JkP(xPDo|ivA!-6b;6Pq8&9iImQj<c zZ<#N<qRu^0&dp%wJ4Ny%=%km)VqN~NsgHgVi^9=K5v!*uflc*0HhIcE8#^V+?S&dk z-xf<!%(cXp6{u}o63k<%D)TlWIYBl;NKoe6Q19Jie17YfKhuqbeVl*c0=-GZBVuYn z5wqD(&KB-vW$fApuUXX8KU18<&_0iECl)~#QZ&$dM(<3rV|wg^j|zvTOw;87Oet{` z`732}>IyBz9->rPenng^_Yn>+3gp^2B;gBj{Ox@phFguq;uaN-bng<SxJKF|3Lce2 zTDFPC1uT>2muVdh78bor4NF9Zkhr7*|FD3!ny?OhC_me&mfxW-R6*H5xsYBaz{nMA zCoHRtaI%(q=KnvAB!*g2srx;Ekwph757wMA{S{TU0vXf7g&(`trcQ60vf~us^8T3^ z+gje1jrdl6PY!c<+uxG(?FS^+I^RCJdUNxsBch!%{hQP+3WsK8=*I|1<Zbvbm(90b z{O%OY$7T3cyN_PpDRqynEhtu!5Bievo{#1uX+XH%^5?Xpr|_rq`1XY>^3e%SGHL@| z2W%QFDyX~4>M{fcHV$vkl2BW4L-_KE2-Z4o{N(a=W27O|MnCBgplKjf(E^1^*JR|B zr=+Y{+|MK(UuVnHEU>8;SGmJz<H=Ys)Ei~K&rP+yp;dXbV;#-?EA}4$-2iPPQjIA_ z5;W2|nEsp@KFmGQj7<Gc7O+QZ*n+4m1j$D!*uQhM`gkA%%15Q=&sJQ?rX5qA0U92@ z<17Fsczgs1q_@vk>Fwz!Uh*`jZO!M;nZ3XGRR0suG%*sNO5t?nB&5+`#reM2m0?>& zbV1+`e!;jsAB2lbsd2+85$HxEQ{|JgBbTnMsyLpVzhe7siK#S-El^@LN=CVk&-9I# znVuWE-zQ78MeOzobW{cZAdQ6{7NH|JIa%uS(76T3PnE4lo2AZs$qPMKyezGJe*l`8 z?X<s_QRdKFMx<Q8gH3LYI<rmS6>j<3T2R|E;Y!kY%`g`*Iv=|#KLnbPha1km7c<PO z5UP8X+-k7>ibHZUY5HT#RK085(U1o<>Wuh6;-hw!^+JpVv`pwNeCGEw@w|n3{^I+@ zgaBk@Xs;IByr5@8Jw7ouac<DUyKh)pTt$wZ0eaNQsZ>fm#K*Uj;{QQgbiTqvl&_TC zYe4SI1R*m}j;_^|sjCn^3L-fQ%2=d}1||$lax-iu#OgVvYA)rACF#lxYV|Y-OR9^i z_g{P%_vn$>A1<DU(!`gRV7obcxCD0=3r-)1em3g1yz)oo#v`R-?`e1pklrGe$Xw2+ zmNzK6*wXe~NmdQ1X7Xp3TU3y*)FZBQ*k~79W(|GfXibmy#ohd3;w~Y`U~#IRbcyci zq}Zz=r%(VhmRB4jF-0Lik<I5yI=*=U(V-$4PeT1pXOp!R!xFp{4R4HEhb;#&=LgEQ zsnY#yy)BSI*k&%0D^sV_5VF&o?(CG7a}Q2g2~h&wP8BC>fQ)^1BK`>jko><e<<Bf4 zp{Rh-xvyz(K-0L{6@<mbTpWU#>L=w}Xs#~UCzL;fWdVQ79C%}MGL@u<u6`wK%WvbS zY8pfL`uKb;OEM%r9`MCs>Ez#8d3)5Oe@L_%$!OE8!=E<w%W=zAJzbWZ|E*0$9i^<E z=8+YnDT88Xr~oo5PyiW4L9ADhB6y#Lxm9!#wZ#zhn(drINd6#2y$ipbFK%Fr6v$XC zu(8RcrG=!<<l{5ZDRcPCW<N=n{CID0g1O@|<m+=wP6Le!+mOSAoYZv>f%-;~VCs5h zay4jTzT_7AVBBU~*)Oe^GR0+v!xaOukv%d!CQfBUs>lh>tqU4xY0x~ZHr_{nh_jD( z?GSZS5mIZ{VIoRCQOrtLh<j;C*;kO-9BJ6IXl}!-*v9$rJ-1SyD-%T|FIA!<|7wx0 z6s4d+n)DI1l+<Q_flad7(Zz?|0ajj)s04mCtcPQRNjcxQ%{ADdt*3I7gBoQ)Nr<{Z zwYs`7&GTg*#L<qv>(hdXCMjNv=JoG`S}&>A*!BEt_XO+ML9FjM_Lwcqk^6%A%VCO9 z^aVhH@pusxh2;x6mA^3Q@(4hG;ZQN>P&d9_JQ~6vIn;w6b-7>pNC^XB*sv_=JpwIi z$snK!3KNO6N$eoGNX2#w#xXAk<ON-Qf>DW?2W1}`5?3ji+`NZ2L78)7r!VN3E`K>t z0`rr4@b$tk=n6t1;-^W?4nu4V4(VPQkK-9P6JSZ?do>8>kXXGtKo0I`mNP}=$2Q!` zt0#)6ojnVb49fm3>IsVoZ)3&T1*GxPV1QH0PxYWQzCq%3*n;lBdxf@mA*hdioR}W8 zW|sOig{?*i&D_4A!*caWa2>x7XEtGs7q4}ImZD@TsZBx3+!~@<2y;F*tojHGxpTxd zoxJzPUh07Nnx=dfyQp~-(Y^#afx*?vku+d5k%eGm){U}}#N5g03WEGWdK8qh4mX%P zh;v+1vaBMssue#_h{hJz?aD<$`TX=gn%HPXij{H<_N#t90hDt&y5YRR<Gkr^{8SE* zHJrL{kE`$Cs!TX?&N$leDg7@%T1zQEYZc9X!RJ6mQvzPHWK_($KQ+tN5wVOyhR#B^ zzD>-_EhjiYXca$-;l#^BfgG4%ra}vrQ>K*1`I1Fe4RICfiXF8(Y^j}+Xh`X&_)dIp z#dX*)21XDtYLky*Dh8TsZ^mV?XxkLx*0^{L#)&(U!}5{Tjfnx5`)CN?K=0DQULDSr z93{jWYB7Pg5{SL8bBqW&h2Eu8U7bC7(fz}<sXbHHg5aK^o`dwAeCm2?X^u6RyfFG; zW`o)SY<(Uto$w5p;MR#IF2?4#J<DL(E#0V*H&8#)L~2Yqq9Ghy&@A0r@K`p^aV9g% z6J~L0yzu5nhH({~44D30MD*<AZ|r$cKT`p*Z~z@66eqazEU)Pt9Q<N@2SVd4<4S39 z%Qe)AFY082T%RoAQ;>LJ_Oi&)cft(&=|X^FJvZm|>jfQs%H0ga54+Y1DgKrPdQfjZ zXu?+AqfMG^4W`~EozM=@Ur+?KzXUQS1M|y60Z@744BIJtznB-pxT2ZgjwUN<7j%04 z+*7>BNYq7+AzT}zJ1|(x3BOh7jc2~jF)U1A1X)iTFl*K0Oxm0)8la9dX}fI<EX(hB z2af^i)@kSBZI)~}^wdL&ZSV<4DrM{Z!^B=mu-#dya)y+x8lyK+wc(Ijd8Q}I{KsUd z1X`N;v^0|O-ER*dQ&d*m6~u8jVZUw9p)Bo>Bg^=h?;7WzW4`>=d(W&GP8|X?#IYwa zV_I36D89+c6Zrd#s_sXOD0|&e)Slx)B5k8pTz@arcoVHq$-*Yt*DvST!I;SAy#_=0 zRkv~`5{qK*d;7KI$tsINXXK`r7pcH$mmE4~90wo&grV^F<CyvYVrU2w&bGM3OI5I* zkauGH_=#&#Pak6+QLkipnMu}(D$YrTd$7znG%gV{P4YsM^GcT*`(t~@?le-DFPkdT z1b<10FL0A$+neh$(IYq0c9aW<(We3?Tn#1!sP0&%OvuLW(WzfRkm^W3X?`?BL$aP8 z#L5J3sP9QS4%$;rGUqD99YYF3-@U;pe3EQfI<td@IC9^r!K_qv7L^oaq}&lPBYCDc z$a*7;%-41pFkgZ?5njwQ@$liac$G}pq%bi|x`vyozUqO1nD4=82(*dQ*1~UeU8SBI zWStmm2uHyIahhq+<G7L%Be*hUELlfEP@RnO6Ud5*w^p-B^c$8)@~2zmnq=BDA3RA5 zqkrQTT0d&3HmsIrZlxYya@k0XOY#+H3;N6$yfqiwY+cNy;{QABpVMDdIp#Zd4HkCX zrMzGNr?|QCV^XYPTHipg`=C;iWz|2%jv7Dd#_vmC8q`W70C$n}f1ev?l%?^C8%$Jm zEnR~tC90WfQ?Xg8U#5ov)LqdKtHECeS~A5uAKU#ZC-O7vWKa$+5U~3$$zBkGhfI^6 z*uOmpH<!5ms9w|Vs4i2tVElF`vtg1|{StSA7e;@Gi~ie<@BIZRU}8WGOi)VK&`XN~ zR57o^WPH-10aT|8X2fYnFq!@#&Dah9hSEsG4c5d$4oTc0I~q>%jAhfY&fz%_l~kqZ zK8TAZYV0iXHDr?h#3f7KL}UyW+z0o5*Fr-SPGAdsAUWJjDHLp%FNC?j=Vs6m72-E} zukEx-_1R_lMP4M`Zjd@FoSkIdqsz(0F9x{=^B8Prx7OL~Q=_K$6<IB|G6q{Gg)GXd z;f770_3SNgJcDOw)<sV9-XyyyNUm=UW_hX6iO;m}VVjb#Wk~X-K07feSf3hbF24@* zFo^3m)b=T>%+-=n7ji{@Z)8kTr%c_hB!}#%TkqnIJw3lsn+}A8%a87_9$9i5)|-(T zEXLs3Zx?i)K6XWL(Fk>#_#L6xb^QH=d<Kvlf%_nvEb|m^GSJO<$sua*QS=@mrJ&5( zYD@*`a+iKXyY;)sMdg^HzdK3}W<>WI7Hb+Mx>uErT+TmNbvK@Ot2=JjWCuBr)YSuo zKK4{a{}6yTZ|CM0E7VzNY<oJ$Yp)<IrbT<sM7&16bbd?4n4Pw~wzt1|k<O84Iew@d zZ8n@?<kK&(Dpy=kkXqxGG1gKY#UaUfYQX0)Coi^j^G;kPE^*8W39PNpQuN+X0x-e7 z4Ghz`96S+g3i|aMHMNB_df1j0C9|OR++nY`fyAtuT)<b!K_?2(HuH1k&P8k-Mxk!z zH%^!3Aw;kw1!u5><-RjwZX=wgfnGu4F5lDZ;YZO7>?`=xKKO}-Egn&!&R`y0DpWv$ zrKl_Xz1Yxo{8SXayHN7Gff9!9@WuCmZCS6N7|4Qb%pN{lEf8g1PoYAYYO!+)(^j#h z5a|nuA-SeoN8DvDj_mdLVhqNanvs~{4P{(yv@hQ{OfPpaVALorBV)V<C!t}SzX0<V zC~l<zK%8N-2eW+Q@=IWX#yj(L8I_3R8gZMI@sy6GwFYs!MGHnPEq>wNi8WmFa}Hd& zU40HwU0Sp!o-#Ue1X#aaYz~|6BIP}w%aP82KEy89R!E=C6xVLg9)+neos$nrK-WD% zf9)tPzY()fdMrIG%pV2})WPiZY;@n8r>3~h_4${r<+g)zC!)86$^vzzt;2<cKv!*X zOm<XVN#{n!BKB{(W0SdwYh70|U0;I>RJ^rN2`{z7vC%J{iLGxPz<feV?WQUM5CPlR zak+$SceiNp!NLZ5Mi_fI&|j*uE9qU-YzH*tce2UcZyS~<>509XdwG)DtZ^U+AmcJr z3+z^tWPUQTx5U)|HNq+$Cf_zUXkVRj5XwFslsI(a&?$GKmSkOD9>Bk;YCh`^L=bO- z{h+NPLBISvy2vX5tq8C6V+97Qv&C0em;6_K?uTJB!fiKt!CP<@iSJi8NR-DR32SL& zfMESuW4&<CTFt=L-oo&qlRafv3CD~ur?J-UIMPDP-K8(P$<Kda$6)}QqgiiJ!S0Pp za7Whe%Rw2r7M8!yXPxBZjKr_Q$f;OwWSHyl^%Q2<D_roro2_9&TrDmjj0Brg`LSd+ zegL44C1FCtWW1kwV?Su%#0&V(VpwiUUu;y6ouS#;xJS0ls~-FUiC4w(1<Y%(#S)e7 zkp*v48XrC|YopYzqNU#`GkE6wJmTt5fE{VCXn#}HM0}6`u)+CFy<c_$wA?t$&szAH z^~G-5AJT<L+JxGg@45N((813}BjDC#yX?8vrJg@!^P@StbbT&NFbM~k{VU1i<SF2J z2tw+OaH34MPhS2Hm5Z;{mmYnm;^}D{TPI?9_#q>b2p#ROhq07hYwOj~+qE-K=VT~P zw+k~rp_i_AD1k}bhI)2Iw~-9KS$?|bv_|(#MwaN8f#L-N-aThkkN?hWxJy+X`hSF# zjK^NNORnZ12F27H-}h~_ae{m8!E%mZIf8(g#_OEYNSyO@lV)&0Lx$7Qu=kF3Nfk2_ zyN-6aJ!|$HF<YNNo2TU=!{&DW!8{?!Oeduv(y}p4pLq(8!^(k(&t%^#eDb6G>0nvl zridH`J2IMnGpmKqtzVr<PqN(h&K|{ovH<-p>(nS=$zi-M<%~qy10Q!&EtICSY(%C+ z<+p(Y;19d>L?@IcJBNz-X>KRRG_&JuaOBAq1!rl?#bN2~*~!-#5clKz2_4MO<>>pL z&R6FcKyto`+2&vWXnFhvvVrtAK=^v?p8_h<>+=f@vP_l(`VozH+K$>rI0pR~D!5ga zloo!Mzh>_YS7I8|0dx9amalnQCXQeVWbP-20G^1Z>tjFrlbI%}ish!a|7pc|7w8Il zSbtTMY1av_zr~iVrPc?L3B52;eSvi`;nMWMzO}o(+3R+_X)0-b1#*wRb{<`{vQRqd zc~?shZE6*vUq*1i<t(JtDPv0`_Z$ZK#us>SGEhU3be_s(yZI5c%efCxmXVH`ro`_( z^NP}C2g|X2BM%E0Merh)`?i0uzVjQk*rfq)g=wpXV@#vNiIby8zEe8t;H0~B9BGYa zB5p00LVo4zSK<64eKDyO_n2bJ>*?(!4OewA7eedwn{H*Rar6ERgSBvIPBu-TYVt^1 z1&NvNyRp{!(sXULK)u{Kgl>k(`CqY8KY^yr%kz0&E9_?P^A#QWr|rb`+>M`GPKiM2 z8ceO#UJh7PSmW(t(HqvPN{IF>IzQTwKgIBe*6z!vi(Kbx;M2V{C%8k`^QiH?a%8*v zWy|NxdwaBGRmcKvp}@u$p8Uj#E2<=v<KR4#k(|n3S>h=F3%RVy>oL#7Lw~K0r7)ZZ zQJCOnm;+SZ2g~(c=V<k0yesaHXADo`xBloCL(<(f9-1OY>-tv{4XLVQ)Hzn*RO<UR z>+d>VsS{2i3vbZp8lJ7<S6H3y66BnVUn7G`1n-GF=s1o@t+wCIStx*(vf}U=FGZ>C znoR$3)%6j}Sc=a@>jP2B*5}Jy3oho&^7AG7;UB<lv%gc=jJkGTW+%Q|_fYh}OxRpL zyv5dVB5d2dCiJkK)WdHp?B_KpM15|*WXf#BOs+`$Jt|x~l53;Qb%pO2vxH|0mj8hu zpEvVYUoT(;#o@hKLIn|-BT}a&w%<0icnx;<HK(SFOKcxKu&`>NEqL{?mwq}mvzWTU zZh3O)sOx(C@nJ%pg`X<ItaCrMY`v|4<Kdski3xI`fX1>Wl7B+xAa!kp1ejnVZc#SM z$D5HBsu8pQN8=L0SN}@IFGf+BXAGdf0a;GzI^4U4R2?l*A?FG@gvsqXjCmzZCpC#V z7?*S@UlL4sq5>Y^9Fdl`1*lp(KTspgL$(p(FXeMNWpFcoj)=ey!fq<BWNLAD?#8qb zHa))xV{r-Yei(AV^>8WR<5tkq>B+9;tEQu(cka0{rsm0#^u{$M2R-lH6=x>(DEq&j z&Kz9dj0tOjxk|JO@MU*KW{D8Sz*qH`P9*$dytTfNH_|-s6oPE_=eStmcKd~)l~KHJ zZjO4mUI(fwTt+3}#Mj9MMBy)t+a!A)py2+#WTD$>t}ZNJB#uS0#$g?npxToGHODEd zd8&d)Kpf4gjTmSP6;@}%;ubu}K1Oi`(OCXB>Gah7lF4Z#eiY#Q#2}6<eZMDve;=l> zd4HqEMPU}KxOu4VFsFIRhQavA<NSxdqXoCa)WF8R9(nsY4G)_zNfcm<GJ}U6*~-gp z=@sR`Ck5iIy&S({f@eW*&Sny2_jG=&aC@h|>iT0w+JhR@`%&<!KdPdP1CDc-sGW(c zEN?dev7g&lU2R_jr0CH=cpT0tb692^dO`iClB|uDKlD3#KM-yGLS0S}`7#!>zDC6# zYz|M^D_b$7q8Wef_tUWv>-&IZOUB)KWfYZJ1xQIyng7v}B{Dax)7+`W{4J?HeA&wb z%&S&?6=Yv&+{yGZ&ypEsg&%YsW+>^U;sC&{iSO|WqQ0;H(H}tFC_ueksCZl@^JrM$ z+bcHZY=+Z&S-m;y_(SaWIKE|?J~h6b%vuX{J6E2T>me_9zWNW*_6_GNmE)LzkT@X9 zQsvFRNw(V|^e<clE2tx7zVL+4?|!N{V)2_XCi+`2$1bj;!ftQ6uPthCJ#W*FO1`%Y zA*<O->>Br|`q{sk_Pb-|FEeGW_W78v(!Hn7CE8*|528n|y$8M}*81+ph<AH=L^F2D zhy^_`u(s!6JnlO0Uvmi<=9TO`nz}U<_jDNw5dZTO_yKg%<7Qm<gZFGlwt)Vx=hm_j z9Q0#%C427TMu*&V*?Z>zgM<&vsV=h8`zza|?WcmVo14#<+4@G%VMFx9H*3f)m1bjm z;BZRrd_HD{n=_+XW4VH3$JnbhvKb9gR<=1R4+B7P6tFRJZ!ebJ9~VxA5wdRQlrAyJ zpp5p1%QNM#b5fy2T}&5{ss(+ii1-C6#rd_AGk#mfZt>L)@cH7aq9$glu)2H`zFo0D zToD?*{+5cDALlpGI66wbB3&*Y-J*27z_KY%8lbxJvbx(O4C`%+Ki2GN%_r$Nz~M~| z&Gy_xj~VF6OrMoZHK`ZMa?5fM6;D)`ufx=rk|s7UDkgDa$wC?qs<Zdav-KU1p9lE# zyBOfm<cxFZz7RK(w5h#2l<E<y{3R1Es=9pMzyV?nrZEf{-AQH*0}AxRdUx^D!*SY4 z^pEnBuJ`c8kcNfEF~tS{!eCr{*PoKFoRo%x8>Jvhu+yI~_bsjySi@~jsy>H`q4CeZ z&5?T&F8v96afw*EYAjtNmTnGzu-6DaUdqKYm`TeLzt_Z7(4#CbhQkJ8GV<4SirR4L zI9$79&|qn$9{deH!3k2rAD1$<t_ry(5w{}caJ`B%)}M$t#HN`Rzg;Aqr>?pr|890_ zdX?&&KN+u%H0()cm8QJ5N-2eyzU8`7w4R;3!oP`(+LkbW?wH!yK2naRy_-A8Iz5aG z%Ju>UBI6exoK(C_6p$QLh@K2c$?vjsbk?Bc(yHx|R?gz_q@1%*Kv38u#&WE1t}rGN zr(%Pas3k2JlNns11Ln3X6M_xdx7d~b9nmMownXX4$XvSI<V-R6EKrH^-Y;$YgY)}K zS3U!iWz~1GD_)ILTE*DeuFri0_o06USqF0kAmYpkTH+@@s)b+V3_wHzVvu>{38t;H zd8P*x=95qAIovRhs`}$98PSjf&=cmVxbkp-LioBE8MeMTV6+&UWGP=F>j>WJ%rdk< zL4)h`MaLa5khpoF*a4E*@<*GchG}QL5$YI-jtvP*V<h#Ib8=yVx$xjd8#R%VS{ja| z;#x@~uwcA`l)@YP<@y<m#|<o`4WVBaYh(3@Qw74UI4cFhP`tAJ<BWESP{G$%zYRC6 zr>LtVL*t@a)N4ebom1=#xRbd%X>P8pihY@&z}fX3r%4;Uf4j0Aq_E>^4(=66_GM9q zKWyAhHM+%hVLL|;9I6QV!g2vQo`O>o$4()sM3#G6eCg#mHj?@ZDuqP-kp>a_HKOb` ze+Z6IVe9x|oE5M1?)TU+;%LK$_I|xV@H##h{x72nIP5n(&ZobZo!V0P4YQywF5p9; zwOySFXW3+@Gk~ZnWc|1$Hbqlr+Ips6t|)TQ&zZ~jI=M{kALWbvheuCl026j}O({k3 z_eH+uZ@=nm^j(873YIVi#IQ{6cZxA5$Cgqvf#q=iV9KDEfhUVmQW+V)lW0_r{DVJD zA&g^iWp=7B8PKY|_N9#HYUa;tIL=V4Ph%xB{!a2o18e%<9^`#*yvRY(?JbYLf0_*c z#3BY^L73x$4mKPtcpr#c`}`#wZL0}ayt~Dx?^yBq3Xn$mY9kCLC{%MS%`VGtg_5vo z2Z+%y;AlsGi#skbnc^*WBoz%9{kJXj|L}gfh3hbB+z88>GBdlr@y@F+P?`mQAz~V% z#oUn{upgq2({H%3t*6)Hu)ts4&XYhx^fVaDUECCQa`u;PaF7Qoj`O$ckB6IcHGc)V z`u!jPTT|yEE13Ic8rEUB)CmrFvoUOc8cHC=#oD6AiH06QhFs&Mz#2l4+{jQb92ti0 z$;UBw(^$N!f6`yjSHO3Q!%=K`%-3{kB^NpSTB2$k>oC+=kpT`!S4WnKCE<`~5{|pE zHUi!HL(@)R=2tis<FZ2{??^WW;PWilHh#v*J)yjLn4#WK^ZgZg=J}(hD<;KlL#FM1 zu_6<`1r}V4_itbUTJyy)AZ9T@b^NiNBL0G1L!AALJ9Kh_wpMgwf5#lRlm;|F`*uK@ znHj%unGP<GQ~#`ZLk@@V$TC={d2qRfgA@F^hQ11QzA$}Spt({Pe&5pW>?Kp8+A$7X zM%sh7xRsRS<{g!A+!#yuPXZ`TbK8I%h#Km`cew2;-nOnNip(!zcej8>{F5z0maC0l z<m}xe(WgGH6LCmaRox!zYV*nS07eb71=pVLj0+O^BZKvE)Zvmz@$ufJl`jzvi40w? zh6CboP+|cf))$M-VFC3rdAm@h_5jj~p`KMro%lwe_6_{L$x8~%ucU7L;xLS<)#RW? zK?pANEr48xY}ze!;fH;<Ktmd-`$*3}pvGN}y4O?I^Zr4U?%V3_3rT3m^wCAm24NWT zI7pD!WRP@VY*_f{5>llY@(=LBA#Is2guWru_K`BRrDEd6WP}um?<0NMQr+cm%AO=q z#Zvpy&jIvLBU#4)X-p6t=hE~W-5J5HsyPBQAq59inWG{6SX?{Gb}Ts9V;cqR#K0_V z%Ozq5V#^vrGFg;U#jy190i$66l3E@RYs>uIj>T;kK6&UpXf*w9^1sVFoR3J@!q=;U zGUnx@>SUl!kV!W`Rc;L(pR#>6ei*qqN9nXdy>_0m0;e+gT3x&$P}g^|dcaO@>51zl zYaER<A$W_bp@~L%2S?%7$TIYC=?xOu#RW4`&z^Pb^e+4Y%gJWo`_!z2fEe#J1?~SS zH%Q+n8>8uVaFLV9lGKyD2Ajk!W#R)5pFM$vekpEpx5UCsmQK<&Se#WdmQL+4&Zyn= zCi^dPda@mj{6^Usa8pn7e@g_?vwc-0aEQuy@nvddfY-3f*Tg9`js?UDBCF#0#&bNQ zb?UNvMwR(jv{y(=5dGm3`PtKCJC)EGo`|2cC(h>_@>v7>_<j3yxbwf7!Fx>IAWJMW z3|SAZG@)UU^RRm#@B)V^$9dzLJ<oF$E99RB8&Yv^CsPC8<5Geq4z2n-Z;JVX^^o-i z|Ctv-jo0+|x_(d>ZBqEJv>@vHJ(ajds11(P`_Fg<@W%72Ioe6f8&J!4t#8>+c+=NW zN{Zyw(ARZ0={$2c)v@LYls9^7)*M)o^FOkFjPzBKqVaw~!k}JK+`h-b(U-om{Qt=U zs%%^pe$3$#8+;(^{36Unj#`@}MJ^lI8kY_y*IN!jn#!yDl<D+9oMq+rvlEYl^wjRI zbuJFo?c*4Yy2n*dK408A3}I{O%k4e4-qzb^cv=4cMu-&xcrbo0xDHH8`>6&BH<++e zt>a|yK=5p;QSL*tmkQtV9$LBeo$5G**%+s299__<LBXs#f!tl38OwdwOe$6hgBwhR z!^kL79q8F^epCi+dM}1oAruft`gS!T<x$d>APMNh&;`V7jHcrKW}7{j^>pEV_!3X` znRrWZ{02g^F>X7YLo{l#&&M_v$jDZaA?Yfrl7bRcXAHr?<V=<<sQJO5Lpz}9h%uKs z9f!5Q?Cm>%t)F{HWvRxaAtS{66~KH=3lzdE>%Y>0rR93=>G@*a8zjjCtnOLXuR*~w zfWF?RR{^@ZyX>3FhlCHJ)NalO!<8&zV`2PVUa7nbyRich#tTTbC-mVv58yl8krk#Z z^`tBFP`#cd<SRAsV}7T1EtW0b6r=s%Kjgei&_S#I5it&tQ~Ms_hFGM1S$<DQLpebJ zB!~JZC5Vaw#HF&xufduN&=Aox6dI<?p!D5L9;f~Il2H<s3jD#ioH;qry!bjtk#T9G zxBO(nDH;%`hfB39k^lu12aRN)T8Y;=8Zw;|(3>2up+{__U#%R9!$vL}#SlJ^E31)G zq;-`7R8b{nAy)VO%DBIkxaa^A=|OVb3*D$tbw055>-n`g=`Z<QlG(Er2+djpzfpyV z3>Imq-zbNUM+uIS$gBS~Pi^l_pHs4DD=?wBx9K722xhgaU;iYrv8D9PPRVB8Vlon! zvx@>ioha4D-$SR~G8eR^UeG!HlhP@kXsIiUBms2Kb{8)!pXh>PaE7b%d@YQN+a~M& zJ%JogXSue~s#+qB8Cg`q?6q>fYTh@oR!0p+mIZJ#4>cjX3qmGuv4jWVYMPJ!G7%u+ zX%jU7;47-I<O&5Sh;NS1_TR|Foj8k1qN37M78=G?!f>z>!DA!*-qCD4H^qhymyUAS zw&6#hD{AvP9lWZJ@g=uop(Amx>5J|D3^&Y*%0Lr|nUd7vL@MIhk<>=5%<?`B_0;8l zG2>>*Y_*&!ta^SieOXIdaK<TKMQ;mod370OnsqMjJX|anDTw>PB9X1Je+=E+*Uzg( zDZkOX;h>)1Gfc`adI>)|_VY*Lhn$XlFNwOXYHn?2S7zG^s&{lqihM>o*73{#EeKeO z2y-gdVi@!C50Yh&u$;AI>5&&=@59o?PO9}su&vU9d(&#D)fM@d<^9tp9zzFQyvEn( zRZ6ng4&J(8ew8am=g*tl5jq{c;4+hCBi+&8_crs_JA(C%caR?SODJavNSZrL8WJ-l z6bnxg*tlNja1asLC_?`ZB`^qP-ULN0N@lP~B5G=LmJ7M_lJZv!;O31j6t&{x%CUWq zs-52ug!nbi%}-F7y0iwknxA&dT-gv7Uq~wCD%JZ1-Wq>)^u9y<_Q}J9H*ZqRgOQTn zB!SAyYW!?RRLJur`jtf*n>ruGsg{?GvWc1C%7j{W;*m{Gy`f`96OUr0ZT)tRKSQWQ zmK6~uR2T(9yTR?R@eHTvBj~kS|2^khZGIaKHXBM&GfV;|TP&}DJ*N46ym?WnTKyNs z0~L=#g1n`|j1Lh5HO1kxHT(`*KAcu*Jo-*09ubc|2o!dkl7$r~PNAbL)K=Z~lae#h zyeeEpHGIrBp*sY4f3FIUN9gY1y{UeK`^FdVpNmfat#_aP|9(mNfAU_|zxwun^xE6M zruSdd``>bZ@?VDZFGKp5A^o4Ynf$Mv^{<`vzqzwMXTQ0d;d&R(9?a9dRX^sP|LpR? z&%>mZ<?DKWwxH!Zc=KPLas@vF;l1(Ma#nwYxrdjZ{q$9E3>fdt)p(ZrqX)Pv@XzLD z315A|`}Fi(Q^7O(M|fMG^0f$aVR)b51l-N{@IIZzNnzM2In5edlEecDD>D!q9<fp~ z!vu;>+5gD`<R}Mp9osfm{-~LW&Ozr3R5eT;cX*R37jFi7?{L};4C3zoJK#BaEN%UI z@K{HS7!S`)V*HTs^tncKW#q=0q0G|{bH-<Et#}2&2M;Kj5~I3D#PZy5uar!Vy{9Xb zJh4xh8hh91-zppZTV-XZGH3VNV`A4fQ_1Q2Lm$-7LtlR%qgTQv?o2`&X540y(?$N0 zP`us!(|r^njqcGQu3nMNKP7_WzTyv!{2OWWRy!&629E3^X0EWBG0*#ljzT(aB6H%1 z&oKTC@Mm~G1oL$W1>aR0%j-K1UB3Brx|_Jf1%C19LMU05!*0^LmMW^ttn$0S2|nH@ z?U;jfH*cw=av!1xv!6hE{!La1nq4~fp^n8-O`cEi@C@YV4|Q0h#w070%APC#P<{R@ zJndp+fQpI=cd@GOm5paG=c}i3KGZy?KDi;V%Z-yQl4}dCjwJoNc%K}U(+Xm?S-g-Y z>4t~rl`b8}<k?5-aoxI+xEokpa@Ay1@aVnxmhu_YZrG$t2U0+K?kJHM_m4shLsr=$ zJ}faw@fASa#c#I$qgpjwd0jpY0wTnHVF%Sa4)gc@ibUZD1_STo)kxYTO1(YoRc|31 zn726k^~q`L(_U98Lx}<&-sm*WEKXB$T!!RJEF8bD<^<@GPod|1lyQ&F@;yJ5nFyO2 z-*@nR<0>hv9lGJHx;-IT17(m3`Yrs6^afAv-IWn+ubB#=S~>G%FS)XklL8XM!?pFb znJqFtz3%x*O^Kn!d@*KF7R5jOj*b?0FP`#>eOpDi<5YejQaLse*E7o|DNLdp_<QfJ zYxTW>={4&1x&pliC-!sb2Wpy(-1Gyjcq6R6TjFK6Khz{I&j)&UHy;N#QbkW|COYZ1 z`C!(<wIUL^y2$JpDW2!iKceT6D<#uEPvJ#Wu1}wKg*Ss3%7X5;rin$u7s65WDGlT0 z{xo{eYJXMq_hl1riM##0>7fZ6S8IV)3R`kr`wV~iDr!<nG{qUSdN}Vn`P8gJWc%XF z@{)<yary%%kPdPUe_EAGO8Ut|V(Vnrd~`r?MEK64r!Efy;kxAd@x!6BjHPv#nB2$o z-&4Oj>%&a{7*C8%#zd_0VAdYMo+3{QjXbEa*N>eXGmbxYY-*K#eC*Ofk@{yhLI(`6 zWXJel!B^HtHB=t=?B2Rel=r8JaxT+-9gOKHFVa96`8X}<Yg!qZykBfRl5TyNT3y*u z&0hawh}`Aw0-RBK)Hsi8cA$G2b=^^*V;29EAy{9mq2%jv2+*VZPEXdw{=zL5lX=Uk zwJR6J`>wX|{(g03%G7Q6qN<l={T*MR(8gqSvfufs&d72PyD-m#O=r8$WC}H-<kK(L zO|M-0$Zf?~wGRZCJ@+?tEr<%Q0yx<6K6m>ZYnZvE@W@PBbo=aw+FCye*Mr=G4Lufq zI%1+1-D=gF;?SXchfg}>T637;wu2I|l`MVY*wiv(S>pg#<Lvh5jxFI8CO>&JmkGrb zlM2q8rR=hTBJrQ3{2851W1T+!@JZ0r`TFIkvcmXnGtio7=|*Ev=Urea&w0^ci!pE8 z@<$%Gn2_TNueFtQVf)LOu8G9Bf=JWB0+?ySst&%&f&VnaP0NTHOs`WZ<onfI2gL%* z_4Im^6STo02)kKoTc4Y;9+bZSgg0T*_6z!a!DmZggl?Dk<&f4^#AelU#a4x>D48l1 z!@kBV4GX4SIrh=}N>N|fiiv7!M_MXv?nOP&GEo<xsiY6Hw9ca;Zp&J@`XYOS9S&SE zzPMyisOi>_^O@I^C|V&M0YP^zzL?k+DT_5H+@6RLG}hGdBG8(X-BCaZ7bUYHEWa^w z52b-=^0xO4V3+og`SqhcQ@i}Cpvscp-J_<Fubhf~S`+qy`9%@4lM+nnm|-<<nv#Ef zjvtj_$2I-rAX~3S)bgRn_>mP`&d!Vk+sLE1i^rF4iuvbaU$yyz3;4Cl#qYlzGv5=W zeQBKr@&8qnGCkroaPq*>=9_6>fmQuk+rImcZ~geLXX3Y;M7u)Q7uQP)`7&fgt`0fE zF<)-Xlv_4C89Z5^@G$*M@}y~jj#YWhiS6HiyJ=qmKI7EZsPVEfnuf4sHvKLg(KAz$ z<=$n!xxN_{3=B9M8UZ$1U*2;K!0;esCeX<J&&)pTyID(t*}Q?&!XKhz{XM9rtky<B z>$^L<b(1=}=b{cYHi_-yJ1H(gwXTTTq~tTbX?-r*$=7B>n*y1d)+g)%g=f2~*-Zww z{w!y-;yh-$ZDne~qInND-@ix_w(&cB<zH>LyJNR&>XJx&82U8UcPCHr{?fgVZ}-T$ zV!`X>Z18V^YvKKO$s##ij^$D@ZFA_RfI^zzm-({U_mn|i{itLoP`02WIw5r06~lkb zLhUsfb^Bp%4$xZN^e3qG&#l#v%E};e>!?~t$Wp6JPkBu29L-bMJ&=6Uyxxjm31Se! z3TT`}EcD6!d}k^08eGvc5&<3=+S50zENpdo>@E{&iQN7D_NL|*QxS++T%0oDp8vZZ zcM7gp&=m0Re`myh$+c4R$&P8ZiT?fVld82Qm0H)@u+}oxD<$>|TVu&uN&WOyi4LIn zRSK~<ob7r62Bb)=4lPM(m9hgavS{*|w47vMrz<!D|E@gVF$EFZ9eVvSlG}DElump3 zC|%0Naq#rkH{|LXTa!Lh&K9sY(4##=#>>mPdASHHd2Jn7A`m$K)XW@xWviU6m>sa6 z{XDxzXxPG1tVZ0+dZXKK(!F=Aeg$}jZ?y=0XTNTmHHDoGY(ZzIBTmaN!=?1z!W(}# zJub{VPQHy8yp4Ic>%RL^P=;xZY1v}*ol2X>ZDY}u@UYdsm3JM<unf`S>9_6kEAl`A z3g5k{(m$`$*_uh+#e&LLDsK}&OIHDZCk9-m=>qAy-F=^mGYXgPUb$uylUkP3FCk(E ze-X@`uS1i_x#al2JBb<QZt0S#vqW)=oPBEd=CGp;@OG3he_eQ4tM^WcG!o1->`#8$ z&tmetYuydiip7HJS{sx%${4&mq-iuWAeB~hdzGK(se*SaEA0cPhbAfxvnDo{g@I4+ zV{3_sx=y<glrwOiyqw1ApA8xn#q$kyTh+I$`C2T9i`kf#^QMcl?$5rF5`UxPRV1&{ zbxbZdW7EIe2Ya;VP`wn}xL^Vf{?)3mB$^_B-0E{10X!4iZk7)Lwg`Fd85d<3k&HO$ z*6XS<=;zAVQYB<a7G^eY9ea|Qxix0~==kd&jqPAs8TQ|e8lm+*J`VK17;-(0<zfMP zD2c?>)_JkH(@PKRr-}X^2{F9s3<)F```#l%E$vxX=hk(z9$oyMovUJDvcw~8vs5W% zH>`VeuHq~nK7r5RF86u`;!6fPIcg3Ui){%Q5@o9P&EQZ=Y}Hd03$)oz?SU7Umt(!X zVI>~VoKiILH*za|o8J%CeeN!zAMr2Yvk1B8`Lc5NZ3Vb7*Rf?waXp;2O!WojohM4{ z!IT<hl(T0O(#oye*bxbIj-s+CtT@VturX~4J5s-L`xhc<7Ye^TuS$N6sZLQkb1~|z z(aUb2im-X8IwkXd&7hL08id5maQ7Hro#hoNnF<_VNIt!JOKftToAePq+YDF{x%$En zrfzt<K3-9u%zNZ$1|Yc4N9(n1nx`CoFYMUbLaA@P!lZto0d}^saWT?*3vj2s$dA2R z5?&X3i!YfSCYWJ566kXXA&oXt6B>Dftc`SAsfdZ(v>1GDpyFccQ~lnci?m<(ht9>f z3D3aa1=;<!sXU=FD^hIZWgD+G>IB$T26cI`-)X*{t}wp}b_gE;uv<E-Rx-fWMvAbQ z6CLz)ku^<h|3eD0WuJMjRp)N5isi~zO<__24)^v`u*1sKyi7CC#D@^_)j<m9MuniO zvAgpPqnxiDJ^=fN2goASh80T~B71^<>qU20#<TU+^Aa(y?MBV_b5nM<>ut)ey&0HU z#I9Mv02$qhzdc+mm9$v{KipRG2l{XobNki*hFxbkJ`imw*2s}1NYrKEs4!XSv^+)k zU(PqsY}>xF0ac7Xl6T?1F86)wKvWHOxDxm-@q1n4{Dt$OhAaE7fAL@r{@XG;h8uBO z>>0q9h!DT_IORL+cjry7fIp#YRIDJe<{lUkVs}r%d9RanMC2mUAgcvC1YBO7m))#C znILK8PpBIaVBEYm6wgtjKJ;Hasm*TbUW*#8oS^^*^t6m<ea8n?)>N8LtUEPREpJ$B z5xjK0U7ICu%Z^};5xRKRl9hc<8@QZT@jj#ZYA!JQlxd83rkU0N9mW5-J&(zxHQ?vR zz~7=v;?nPPMB!=BUklliX;ln5v&iZ!5ISanmF7pywT;iOArAhy+ptGAtkiS|c2ijs zyM*NoE=j44obGE5$}@%((K0hh(jv9=J62Ct743BO^t4tGkR9h29mZW@1h#Rqraz>= z!6NzhUo*=94BtPE-sfFy3-q-aE^%`7*`AhrGsUD%p)pbJy6F<E>~4=A6y(Vz0X5A& z(t2DTuU1>bT6uYyy~3>z)H~{)D5Y(@Zk`ws{~Ou?N1iiLRV7pPuIfpC5%q5VkVDlA z_oS?v>GD)+ME{~xk-QxfEGqlI+B>hernacvySLjeq9Pz5pdun5AiWc%iZlV~CDMDZ z0g_liM4Eu~5<uxC^j@TQLJd8kNJ1z<2%)4NzVkfiA2=81>a44EF)!9!>zQ+oHOBb8 zZ?=yfh9#h90KqTW*RaPNT4~W}Kfu-T5}m+F$Ji?`xw#6svX^Ge7d|p*v?anhi?Otd zE#Ys{yq4?J{pxofxvc!q53!3V+%Bo);}k5E)>Z)8E%Ci1>jyOYw5P)1(SG76zPY<X zqQ@4PnoElh&B^b~Iy!9DxA20}6&swqwy!Iza!V|guTmScy*Dt4!|IZy=nlO}e0TQ` zpB{Axac6D-<!ydZ?U^$WG?HbaZdU%GulJUWCf}+Vw#%^f;hV~l+ystqWwRM#+<v9s zkSda%`aeajtMy%;>8GZ)1x&~1amJr^hT=*1RuI7Czo)Td^s_%V{uK<8|C@VJ2~4J{ z(dFK_6wi!f4{?0rGe$1mu8q$R3iCpI^ffytH=<d<!dBhOuS!b!U0UQ>Va7<$Us8OW z3|-DSA8#WViKSmFbgG#d1!TLb5`#0$rhlEdGS%2cSeif8IHwLR(0Q|<h7;k7UeHs) z{9NOM`U5fIe(B7>eBohQ+Wo=tx0n6%>Nmr*+Fx_+r|*y4oFW|t{|qpjTi@&(pxT_w z0W3JQa%KV(u4`3jzq%)sZ54Dni-3|~1<WJ$Tr+ags`?AEUA1V^arR}XHaC;^&dzw* zi_g=?^1dg-R$SCS3Fh_2@~)n^@&#xDcvCZD0y2pX-6~EW8F|Ly<0LPRh`GB%Y`z05 z7bb1Qbmklyt)6y@v<K0ZR9UkDf$MIcxtflipj)`X3XV^exTc+QH*)-L@^euGjX<4U zDkg%ELiNRw{~GV1+DwCLcCJB9r3jyRygKYsa?C~kPcEPz<l}l2e1{ssM6YWfKlABx z3Q_ayE0(5KD{rvdJ9cCU&G<%m0QbU_Bt`h%vDPzY>7h!nbtNj}@}8ER_(wL<H2;a! zsGrxz6<qCKMxAWml?h$k;yK322OuB~{j&o<Vq)IA$`4Kvi<(f2gzgY_O2?{=yq=kP zhcW{xcmkoauJ`<O9r8_I0?#9UwRlf8p`#MPB7WSBr9)^0EL;}DUMOav&Kp_$>)=H! zpz;fW6o&>WMhq%YwP-)ewf?ENTH<_na&aC*)VF%ptJPOHrhWgJL4o1(&8n7K!D_lM z?>iY!1;m!)?C34B6Bk$<s=y#AuJb~Tzr;*@XO8iNi=Yv4CHuzrdO)%dI-ExKMmG6x z#8)u57AYDJD#9^--|OQ+84r>N##C*?y!Tg|M5(1^JG~l;WFjYO0PXaWdpvnth=J$J z3EQN|z1R@OUq6p(pC2r{fbYAH-~ApydnnEq*H;6x;NXKbu)<V}^CS!slaiB|hG*Tc zBq?bD9{<X>|ARm8sgK;PqU(Z9VWJ8~EqyS7e;+(YIc)tX+m|EM0kY`&xHcK9GsB)P zm5T%DV?8DB#6Yfsd38q9ow#q!&~Me&Jh#$h{-zCmZqZRRqj+iry<3{yU}?B!Yy2lV zLR^_P(Fbi4x4^yffw9QF1HZ}%UC&|FyDx^@OlNeR+pMptZ0NBnA5v(BWp0Rrif507 zgenF4cqKt*Z+z+()}V?(gk_*~@5~udR7je3Ji%(^yUr}hVY|#4O+qvsgKdgjA1j4^ z<L4WFGqNM=#i;Lm9YZOT=js2oqj`_-J|^a8R2Dz@8sX#2^)ioQCIUPJs<s#P+N-U@ zmuBKOmt`XGUx#fwtZXU<W_o-U-b?;>vBFt7o%&Swj8H$P@OL?sThY7D{6(=zmpEc2 z1XgpJw7LcMgi<D*xWat<u<+_dF`I0v(v(}C;ht)*st^$P&RQDH{XCsquh&}UrXlFe z$f*EY;!?CNhDhwAwUA>=PLw+fU6%Ua^Zm-a%Ck+*g$fsCZ3SZaE2Ka;NW-;-c)6#9 zUS(`xu*+3|=$=3g9AYYN;}6s8n6@2yY!MN(cvnBh;eg!`<Wo;D4!_D_*HV?%y2^7U zD6`dDC95{h^x7WNh5DrEA<IAvbSMDB(5w=1=vn8PLOR*zykq{bl^A&Vup1*#Fan{h z@08o{)V2PVFUX64f*e^TS2q;Zy?Mh3DnacBsH`QL|2??*J`*yxy408I*s$(a;0_8y z*6hTSyx@Q=>gXsOp|Ibug^`rZ*BZx-51S;4^Ntl)hiqgd4%RTc_rRZ5eD18sU1=@x z|A}yQ6(4*BEdCWjHR)_C`hGR-Kh<K>g0I8*kDyihv3?cDwZ>zvg=bMgDX1a1x=)7N zV&LyejUV$_5d|9DGQDtTrZUXXtU(;8Mh{XJFLSm^lNE=WqDz^4rs72<z0@zJ3!<D> zK1RnhMr}WR++_9!RS6EF2ajU|Ce16f7r|UcX*13%EkG<+<G?L$4!;G*^b*&mktT6Z zC69MibU<Y=AvLiT-dut&3hL`OZ;o<ga*I*_xj5!nx8&zj%D-^bujn)mYo=eC(_MC% zIDN4BR}de(LlUPl3qAoEY1s1vXh+d^7pB$}S-sL-_MVLE$6qFC9HBNRR^rQ02JO}U zD$lvZuPAB5#BIvmAn|yskTBY`Jb)QI#6RU5nr6-aBR0xb$nR`g!r!O7^c>YF&{F~$ z3cJ@&v8x#p#PY2O;?l_))6}cDcitm&qQdP3#q7XpNWiOyjS9v>PyZdQH@~No_6*R+ zjI#~kUm}JIf4wO082^(cg-%(<ia0O)EbZrH9Mu$Y<?|Yx)zN}36uf{bgWg$eH!V^i zsX2-T->Wyid=YNPmi5EXta8o)UgkAw<VTW)(M6cO^u_x?QF0F!C<9$wS&8DxR$Bk; z6c|TuN?ee=J-X=ex^a#>y9hlVEhpE>VfbuVRC)$He7XUKY_3Urdc1R!iPjqMY7W8Q zs2aT(Bttq?N)2mSO`d9zY;kevcsTt)@JXvikS?!3vdC_bKSM>^VIN$*j?pTzgrZY3 z1=jn)cT3WLxW$&b#rcwX$!Nl#-G0-ZwxFf&-t2`5Md~S}tzE20E3LS!LnMP+zaI21 z;eDsx7B{zrOo-*$7B`YIO4Vk6q?J@6N*gX`g+8NwJPY8g^TLnvs-y=>-aE(}B=Hio zW_Fb>?hFfU-lfm{XgeM{1ms8@eV#fUa^h038^T&(pxw5_5aavVmCDCpUe#9u5Fp&< zN>1QnOG~gv%Kjv`TRumspd<5)+zluMaXm%9_K-D5wWcR8{UJ3xfh9|+!b-8!1HI;1 zI%A-^{`p4$W`@I>vJ2ytEUPcm3F}Sl6;b_1gQsn~y&3W6a%h&{pbldPSf$+@d3Qex z<&;?-B?DvQk<|6H!jg+NpIXHXXdK<(_F1jMqD})03tV-@o~W?CN-&iKB*6kkx6=KP zV`epKo1D17o7x@yx}A)%rhj*eG|Gm%co;>>o@ZJpz_rx7igPwPgfe(*$W4mzTmah{ z9R%8%13sOsEFfT{81|=2jbm<H1ego#{$-$0Ni8{EX({IjbooV`Q8v29Kp#P?y>(tl zG7&^Fu=d)NT3x~F%zKSsV)Nd=KV)NdC^3Sg{nO#T$$_<Byt`h-Lk?-leB@ykHZL+) z=&a53tx!UOh7{a7dAbZZb_kpQaw%qDv_0w$@*gM06^A*meYrVSuidK3Dh)_yNvj@W zeEiy#TK32Fj^a~#BNO+g+D4*WRk7mTW(lTXD=@XFmR=j^x3p4RSRtmx%_=w@*tt5e zS!<j^(^eh36<VKnK_4;tC{kAr*DONk!p4q4c*m-hee=WF6V?1Hy!^sbgv^(2)4dPu zpo)|uL7Ig%{8v+EClYu0->_i4&2f(S)`RgzY-Q>G3%RY27L^k%gBJ1uUoaJCxWN_1 z3@fD~31g``^s3$*q&w`0(n!aX3{mLuCgO${0PKY#`)~&prV*Et*n~}6fqBE6Ya0p` zi`ZA(OO>?KWH)ZmZlMX;u+P^HVp$hl;D45aF!`pV3a0-pH3Oe0lK!;9EYDV)fQVq- zu^o;<#0E9!oAf*4yvH!No{Y-@V=YW(@3nQavCY9^LB@i;eWUFi&~D(73m>A1ELCuE zC-<voR%o}PG{9GRXB@Zgzh|b0CNEz~FqOk!Y4I4kaa>+305lUb5j<cCr}s+b-(sDs zv}|&;?xd`#F?ULklaB_jHwU~aJST(=Zi@EBV5IcEN^$FzNvUB*t><~rKr{GtpOKM2 z2WgA9oqUX1B|ie!E`~$|<-B;Y#2xkaZ;YU|;7WG@r+dqjMcz0^;Iwmg8QUD(^GQKn zo`lGE!H^+S1u=(ss~if($B5hVhnj%M*<5mH%rdc~79X~q&5H3lji4;ngTClF6;{1D zaW#r<oQZ4nWG-=iZeA5ORH}c4v;7a?B*Wyf_|E8mLTWxhtD%0zoUpZ}_!A{Usf%7a zYjklVK6L>=NZF4TW@izEY$JD^_Ym5#0)gK%WHoqd%E)o#Kt{s10>7|dfj_*x|6O~J z5%*elv=TrWgi9!#b|-@tF7YOxYaDwlISw%6s|&-b0|$k2E>CU)3{6<+HRM4+`5A4_ zvC%7@&AvU+$0@z}(^nVOt+n244F%G6_wtKu$owj2zuWZiC97I+mwTalsX&<%!s=x0 zT)ja`HQz_A(-E#hdL@4{TE<2+jI58YF!Bjc2<|BybI{i2IGyQVeEkJrS%&05=`s9; zr$7iBQ`|-Se(PQGc>3Q^J!Ega#cvK#@ft6iz2563ibXmSX?IJ&G`zfU@M^W%e#d&5 zwOh<JqF$CxxGG7&7)(TrY%s;8labjxUp-eO?S7B=b;5kw4bByf(&}#4YY4FJh8_Yv zTk%prutVhRtEv4eZ`=^wvQv{|dmEfo>U_l`=IhuEueuA5nQA|4*B6a`W!RG6E)8WY z*kcft<3f7vilD<Zkb{kz?`D%3wv^g<ojB_w1?zY$57Q-F=3Y&Om;fjArWx51Ght-n zvQ9jGfBI|bslVQn?#RU?`*($Uk6oK**73#Jb%`827F4b>b(AZX#aWOFIUMM<{3;jJ z)$I;!k}|M!Yz^f2*O=QY_>fQ(`d_F*FbYkRCaf@Gp_pmBXRi>);MlV~LDhL(jnaYc zAN2q_<sfpvDs(AkM@<H<6y?Y!ofSJv;Du2)2m$fjNIGDIV@D}ey+p*WH}Q&19qz~P zaX!o6BhodS;=~<-T;;uQVjYy6&tXa?8)IYJA-g}KVIc%{DklKXm<lDW2s#*X{L<<5 z<|{l5ZZ(>$P?PB8P90-cd_U)v($<$8yndNKK-cKY5qsx*qPytaXvWUcqTQmZ+s8on zxX{O6$a=$cSL=%fmqbBgg)g2z@2+8BAjbaq<6D`c(-U-6A&GBs^YNk~Is5@01#Mip z9&{E=E8n5{PaX}7M+ufLuxU;eURv4+^KY!4<Ag4VXr*?@h4$BMZ(c)4X};?@erdFE zMjdY=mjt0h;HT{x%zJUy_-A7I50vCFaSLUI&X0u1%4h@4`U0<`89#VCscU51E|W!+ z+;+5g#U}L@id>gC6##fn@~2cOULkUlJ4LuwzC{bmJzSp%ySEHou4enV+a#cs2fmvo z%aCUWbL3rrnQsvfJ|dh02Zame=e0@ovHE`Ez|f30-Rj2F(+J_(cFq!OgWVh7lY3iP z4tHM$7ABe@O<7KGe6gY9@uCyRzRwD29HT;Tk=gw?mu6)@nko@eU^THnw9QdR=%k+v z%d#%NJ0Q9(j!_L=9^gRT8>6PLI~WLzC}K4f;CCRKIy*}K&ZZZJx^;(&n$HV8-a>Vj z+ip;J#b<9pBdb$>N*d{ih2d{lbK+jW?rSV(Y1$%*zer7$YT`mT@VZs64AbDx&*Pd_ zSyTKG*$hut;BO(TMZ*6$a#=XtT@tZwl5}v_?i^Ivh<ksH!Jldn8V_10npC!&<qgNf z#M*7HhZeU#rN5r#N|X*m59EOUb_0O-%qYCm<CD0Xx}}7!#!6EC{Q9r+V3-tequ=BH zuhZO;&m><t*yrVizbws)1`~*wYL-#JtdMuyln?futKVB~eALFR4@yp>u5XmGWW7k2 zSREN2G`iCCo|`+FJVo?t8gGBmCpz3zSkDp{?)Y2Dv0t1?zvExU)6<Z`f(Nu4n6d@I zq?3Xb#eP-I$~dW-JJCgPo|mRRX%L?gVc@Blc87uc>?2#Q_eFpwJtpY56|e2{OdP7J zxuzlbVzkEn=5;R2C;waD1GQ=1!SlkAmXLv_gAJ}$;+HQ#z$||4IwyrQ$<gF~5a3$Q z!vDzySmsU2u=#Z=U$^+rOF20!Y4_{vkWa=2jPrG(zv4<iUv6PP$8{6axrLvXwj4LO zwc;W3B%%XDef=V51;Z-|#C<+L>jkVy&!zN>e7j-zid5iX>HrMtbZjTBe{feFC*RKP zuRSI2VQ??czFHYKD${#Cvy11`kOl-JlpP!2-iQ)yIJo&>^x9>3cHNZ`OH$vhV8?>e zl~Tb*llbhSU8TJr7x|7T5d2i5QjTFmu&|MbZT02Dh+y5u@>f64MR=$3LSw0g#Wt8S zxce!F)4D#TFTaj+ob|JZE=jL&(lQTkA~WPSP^fpVDiBfe*<fUITqEbWd_}8k(Hi#3 z50?#Q*SQ<8F{+sRBM=8}aF5hi?>QmOypNl*drhyFXW&p2>kI-ypJ_S#qx1Y{y<|aO z8H<RSD7|Q&)b~c^lHtY^ohKjnGB%1}1Q;uK0s3W#UNzDi_<3~mEGbU<zn#}lwjQRg zzwfW{+qq-Z`KC9_$$EBU_chGOu|Mfkdi$4jw?TnxY685t)_!TrlI;thoK59tSxfTk z0Ts+p?o%Tetgh9Ye3bOjR-4YGDaD<3g>U|!w2%o=tYuhxn`2*%nu+xhpDS<V14wru zUxa1IL<Y9w=6{mf5f)cu7d{O(gIhjq9*^od<Vo!2Rp;3Z7*Wp?)Mrx2A2oqg7CYUl z$<tSUUj6Q$C7T-R5$rDsw{pMOTMgP%m`?ia{xnN<$)w-Vt>QV@2ok4<jP&&%hI0mG zLr8ryT)(K0h;QqhtW34+cQrUY*r!S9dn-y6<}HOt1G#Bjy1`Jk#c}$yKuWZ~#Ej+7 z!O}MvDa+*EIZGE<<$zoo`*5zD2RzH?m>G1*>PCzIKC*qF5eOx98=g2hV6#Fe8Nejw zZ;Pim4SMK)Me4<m69x2>IVJFwO6%q)?6En1Ys4P)I3W>K*hw~B+V$uZpew(J+!<$Z zvR69ZZG|h);V0<qHNqK?v~MD4^4$0y5Rn7c1NhLF@DNfx6d<*aUHF0LL&;(p-}pVn z{JmaT#b%#vV_YaorG<}n)P>iDz9om{59o)*oTWi<*@2f557LbA;+`(WUWGz0HgK@T zx8`fMe~R~C%^CMmUNgzU@~!6K&U*KKZss{CSZ(<K``#kgw>}hslC}n89I&wSp9I4z zH`xRK)J?m(HCP6s4x}x?m^&JJtQk#Y>nrvSSS#Q0Iz2#Gnbw>q8cfA)Vqw3-XhUR9 z`+e+b(s*TAnPdw2n7huUXVFbWelIRlSew!p*apnoR)pWKtOCi1bDLnbZ*VNylVt3y zd$!GD-sT?v$7)+D8E}4d+;jUi8eyO46J*XUj=Uc~RGa^mq-P5LQQ7hMu>XOUSBUmy zw*Qt=fEemSYmV)ma2$tJ*y!Jc4OHk3b9G^5gCnt&mq$ZyYo*A0Q)~}!aRW0JH?Tp# zxMDo}4kM^!M&X6>mB@S(c*oCvJY|{@eP4ce$?N?AhL{6ffNm$W;z2J1j2uD`{PikF z4buMEK04kJnhDD(_`T7hX1B*%h7vyuWnb=bk3G7sRh%vZJ6N{!kX@bYz6*gJBjNXf zk5<+b9;2L-gcb$VmNN0rh?4yfN=DZ`vdIxx%u$JT<fYA@aMYjIycaq-`#QYS(h0tY zKW~&TjmWFqCHP1g=c>n+6=j3Zv=9o;&;sb%D#Ok>dbL>_j|!vY$^YB+GNj;p=+E%D z&;wMU=hDQ_P#C>~UQ10y7YKU5=B>UwIF@!DeAMc+4Dw{P!G*WWW4D$^=<jk}vfc`V z70MXh8O&z(&3GhqCq0)o2|k@q1C<%TN-EF5iy>C0VG!_xif4}pi{mqh7LMD)Wm>sJ ze}{$dh3P9N8NMeMMW|F7>wd^;fjFY|sYvIIfZ$JEf0;zWWFV0%yOJkLlwr?Mu9pwl zc+_<s>f8ojyb^2L;@maWcSAjP7Wwsdo@uRfm!8{P`TZB(O{U@@yShr9z*E&~1^d5W zXUpp4WskR~VG=zu1E{s%T|FrxR%u6#Z=^lkJITz60~`%enOl>s`-y!7c=OS_YRWRS zBX{pM9ASH`c#`IWX0xk$E>Wp<D^rf2ECNLrD{@=4HfWQDrSXmxeHUX59qXJ1w~NNM zKyWLYa$rJ!+D|v?HQX=solLg_mG(wStW8~ls9}sn_%kF|@gB@N`?oIBi2}CU&8wY8 zVIE;&pFGm4Y}rV0L*&KjJem62EzXz~cwF#!l^2C?B5*wxR11%ODfUgeqVrE_=keBT z5R#R<oZp;=aXVkqwE8*pVQw)9-hTL}P-kak_{~XL*y`Sif?=JjnHmUp${Cm)xNbJ- z++zX^lW-jk$18@Qe8+&h?b(4yhqFs7m@sk#)<hRT{?<ZT{PfAwMX9f4vdQTOm(80d zXgw;wVUHhacuUFLzx#x?Coom;cik_Z|M`RMbaN8qcvPNtu)DzLmWPzbhaRI5O3&S= z>HyTuFM^2MZnXVEatG~jW4qKhG`8!rUYpO{p2?3CcRB2*9n~<C2Yp!XPT~QXUf>Z6 z_PuGQu3cRi63cOyt1T3%B>%-LIDfr{>F|xfh6p%Uaf|XT>G~IjzjKlkiL(hBsAt&H zLlhXy*zDduzobvb+}y%J->YxxlN~u5oQ_lE>htAjzhk})3oSCPKtYUaw|PXBn)FuJ z$#0HV9;v)uoA&a01m=<jL@N5|AbwV&?wQ1fvz;hN*v6>4PW!~I2?Z(9da}&C=qHyp zD!eVuT?&{zRJ5;R?6DH+?6tMN){r$I5Pa4(IRF#&nL_1HZy_t@uI!Ho+x6GZp-Jzp zU!|4~f1|gZ!g-@Hou`ZCxangS`Q`&Sy|kjF<HXCvki!oPfI-Qzspqe#CzF0Wp9xnI zcccg>odAC2w>^=UhmJSGl;|^5>gAhC)N(;FG4cHB`4NO-UGSR1K}95tf=<cUj)@tq znX=UnWhye{+ilumXgtrYA4B1ad<~u0u2kyB4`~Jy(1S~z2<|AUTMs05Ge-18%$tu+ zaaiqnP4ObZR3Qkdx^+M&EzNX|$?3gf`WZ=3Pe1d~4=wGW(O_IPi>HYBNy)&zR_8|v zAXGT?ceq2W$F4}YrZB2a7^iVKGiB^|RP9u5-hQ+=qQ^RI5Xl{I_@O)Rhg4d?-E5ki zjj1<fVj@P*wJx&GzE(2xCwAG)cc`6rBQjE*;VSv4h>PQ*MPG}LiOercQhcHoP2a$n z^IVG4y>Mmtdq}_mkotDW;Uv{lINIXY<b5-a_)B%V;`USgc`ijJ`;f!m8cjlZpZgER z<I#S^zUj`>-4)J2lwxP@NF5U`Y$O01Wz#h$4!8$%w0CSL4Kvy19FV<~0P9;xdy2aX zF8e4_umFPsX%$HKKLka5j*OP+U53?V&LAke?ex|^KO*t1HghW{tX_2Au7LCMjE#N? zR~z}u2)sG^=#}l9r($LE?hI=V<oCShx__x@bJzl$iBIP#xaB4Od&tq2AE6$4$EYrt zpnecI+7zV{8OP$)2b6iBv{ki{@w#F~`>uFxQUZo>UDoax6yeG~F1Wh{|BICc@>Ql5 zrLeQ_)QHupdEAKTVO!I-`^=>nl1;%z6BTdP%w>gOc-LZf_d7`QGIumzgv~TjK2;_K zE}1;XVla$sQU)@hH}Xsxk!1f9A=5iiJFLm)D%3;<N+Q!?nd{8x_r%l!XX#^;dA7*S zsB*4FKwa~5f&YAFNn0+Fn^Nj$s~sPmB?M}e#D9%7&PaKy!S0Cu3Zzu6HfsoqCZouO zo>~=<VX<0Lb>RI6Zl?xl6;<u4c)(^n&j3Dn+Q`Y+$Ot)$9I6gnBePHsYhQf0c;!|r z;do@1$d?nA<L&yhfA^&aVw+iuWt2=?%-pAAt>)O>)Z<qU5Lin|P^StPZ9r&!uj-B+ zEexOBuK`m2c)bN1wA10TA$O+R6E$5@(AO7GU!V8(nV@`7<B(yv8!F%g+;=(MY~eAx zWo^MC4d2B1l;MGx^34x*RIH0AlIUjg)Hv8zI;nTm-7p8d-eK%P=MZ{SV0N8ND@)vE ziEy2K!hJ}B<{XsQ6{Q3&?YulNo=JpvQ2y@I!>m;w)cE?wdVGtPZvQ(&{S{r(j%ntj zFBI*62;~Yn`y?J$cXGUs<;tOsIsJe%F&nQQQQ_xn(U5j3srWSRdi18s$tcQ0yFWHQ zwcl34(|K^zEEz!cOb%9bg)RT12)-C{CZd?Py4?Cru(20GvFn(;#C&}0_3XU$Al-p7 zPH~7ubTn@Mwi5GFs$Knd<xSGBCwt$Td^Q#jn4VtK5k--xA2nO|$z$d5ny}mVIA;?E zvIFr2(rAC88RJUOhSf>uUqU=E{y}Ze2^#F;PXDbq#~C!$43*oYWWvw16u1DpgE#<$ zZsefGUl1M9NttQa;C?iWT!H~Zj=Mwvq5BwlT0lRn@M>f5hLKa>`Hn+g;nTZg2SVs7 zOqcZg^*KQaXQ-qid>z3Wp?DT=buzD4&i_C{+ddWB`uOG9%+H_&ufA2e>h92tsN3tm z(idEu&(l*NuJp#Wn}_EgT8**!vCa51A6FcZaXD~PjZg6?K2vQMjsvHp+=~{-7psM` zF#A*DFyXmd^PlrP?go2YE}DKZ`*u42b&MypWp|2+K=3uSZm0=SkzjF(Xs4{lFPS{_ z)A$o^^t>|0$X&nZRRf{;dv%~QeYHmNj+;1k{6>D5RPw-AgJ;%@*=tw4I(>JeoNjST z<{XLc_nDv|^9hw@#&d8p4~0uEs}pw~BcGD0`Z~vX!S2B`K1C+RKce4Sy|^c40R26~ zvna94Yd7l89r6ce9YTAA(BMGArPS-AA=&bp(*Dh$Gd`G4g6VCq*t|NO^PQrawj%<_ zsKfrFtiH3;aNq6AO}6&oZSk9sZ2IRkU&)mE;_+M?&7=(b%gF5X?3h5%EnnsGDhA87 z4<CERmFVn~#FEmJJ7zg01uSCT6K_Qe2gmjfY4YL%BO@`%UTvgNGb|NNY*exY0ttI2 zFje+ODwAWn?24O>w()H?J--RqW-emSx5M4)C^p@qQoel^l`1GA|A?Lw-TLj(Uk)IW za`v@NO^`#gRpTNKJxe1yfPOV81fu&^T({4n_f3E=Dsq+BVG56SQuws$2h_J4Ip%<; zACtt?epiR)(7Q|oD<snROv<*UP7Z|Dchb3|=9mg$nd!-rx!zx^l!H)?ae)=rx+)pz z8^(8Jmi*xSbC!V_)IQ>laZUhgmb?pfesTXiF6~T^f{cQWqe9i{5~jMX7~9?fO#}<) zjD`I|oJBpv94X`Zu2gKnfa)7A=xH3T$jW<_JFc|yTqUv|t1CzB7TpMB`360m<a2P? z{Hj9k=^A*VTXej;qPJUG?p}K}z4_$Ag&Sl4<0*Kb2dYT0vqO-%yys`moBVd*CW9`w zw~tq(VOG!`l}Ts2$!%sgV<EwLpSj*&AsL#sj)7uRVV&LTdzO;ZjHSX}gNyc;oBdXs zdp_OKdpjz)cVy@q!(@Myj2VKER1%2tV={BkcN#_Od+s8$o0@z+<<lfUj;Nj))74Rm z3pJemd<=Hao2AhcTe>pv(Jyr24cEM*WdK!?yMtWHnWJ<R552qQBAWZON(c7`%N%&i z-Of2Xq&J(x)upJ(+3BT4W7*TaUI3v@g<vg4k_^J|Ym?fU-;pm1msacTfd;?aE5%T6 z=-jcl*Kud7De>L#*+8aCG^A_bKJI1dLac3yx}<{at^AayG=+}Yslt*i5%2s32RvAv zR~C()6_m!8r5D6K{*ZfGZXK2R=Gh8J9l)^k&SWD`&z5odL4GFCN4dj0;ywAv*omO_ z2`D1_n(#{DV%68<3T`&(*|!{(>{!7Pq;V<#M^zHj_t?quj)c5q?Sq4~yqwXdIK#<6 z<(3(o@uZxGdh+GIiC0zaJ)b(f<K3aUrq@Vz0SW)}gnT^#+}tb364JHLy8Ud8d=eq| z2(+t-#<(D!cVqgM$+P{tHKuo_xo-=6YSxA-RlR#Xn&mqwovPmVK*g>Kd>5aPISD{O zI7S(Qnh4kJL?^9dQ?5QxSW~w6a1?d(Oue)L#B(O~$+Fe<)za%|rftT78Py+|f<wU< zK8Q{<G>Aqb7mvOvBf*`ct-+d6)sSxOCm+!wdq5KHJN>s?5!icLP!phdie$oc9Pjm? zsnM3dPrTyY;_y4Fqy}-akB=2Enoiz25wv$)7CfU~=dg2qkt?D4UaBpaPwyxoN3#E2 zt>g!(PUq*n8{<;_LM*+vj4VvYK=+?|*y)(=gw`Ukl6d^8V*8a36}I~~7#SQdwKCwS z_yCbO`bK5fa!gFyXfqtjarM&E>>7HZ+D=I9_6d@%2>qj2#4=``g6<5RZAskEp}E5e zjMp~9!T-=15m2ttYx~~2IbG#%ho)i=`d{z+TqNUVyeGJR?lEkaZQr7F{*0L4JlS!i zIIE+>4q6B}@~uUuy6VE6)to)=&hBv2M?+X<bspCjuOIRsGN~!3k6PQgKg-Id4#c=c z#lFsWh3bncG2i9)z%2IPHr_CFqifS1f!I=R*QG4yoUL3wp&X4%E4A*#zH}_!`ECtd zCL=%5#}?MoR{DwyDr+!hk?17@gINz}5#YnWBTH!LK|GxyP2zcx6aFi}xhR$V@9+mr zl^`Xb!*~(M88R6Gr}}^<vo`x~%)Rq^mMVR}i98tFS(y!@%Lgzo_RVx(J{6;Mc;|Y< z6MStKH-wQ<cJ@QeQmUYdNIy3NTSaf(WAM1_JeQ4_dybD|Jw<4vaQaZn9`-@VBk8m? z2dGK8`XPm<#i|b;^jm<@;R|K$LpAcDIrsTFOj%q}Wp9|dk;*5buf02)@(vn;g^IU2 zmWkHy-}=m4{n7ouWsVqGcPDYzUvq|!KIQjgjz$f`gn81=qd;Pbj$_g9>nB=RW+bxD zujbzZBY}@IO%YLAsP7}NH+nvg$(jK<SW!)m)`q;Nn<AoY7wS@kGRuC(P6ALtA-eI) zbHc&OG4@54(n9c{R5%wHa9dYasvKo$W@s5Os^X;P%I*jtFX)MP$Q^l2kC-rfnOBjD z*wBBDaZ?VjML?f7Vbq!d&=t<VP>mZ*0!Qi<@rN>S{z~JG((*4j=#w_uwWLa=K$uAy z+wq=^0G6y4``?B6oOw@D-|ij7e;2wGh2`tey<Nv|V2LD%#!|{TEmdITqo}k6x+Rv1 z5RB;$hUIh#1=xPPaAApYDfZrBu);iVtvgN~DszAE`VBAB=E~=Lh*!ESf)bJLB*i~{ zz95IX^P<)_;)L>r-wk}`3lmjlt$qkbJ-Nm?w-L5K;kw;dr(5Ad2?#-n)Hx5=-AT1A z$@RDAXi*--YBr^yZ&E1M^@;FPkM-E<<Ir1T;`?Fi<)S=<Hl^<K(f23ho9dpO+pSJq z?rl(YZTK<oH63Pc^Udvhx_?|=M~AZtIMqER`5(Kh7hYdkdUM^P&}<njoL8$oE_s&( z6-`blujCMYxTQt#E52}{Q|lZV8*0imI{t9%ad1?eR}!B&!o$lP%X4LIis{13%p}L@ zO-qD>#^oVG788RX=xkB0uvCRqfb-|Ra1O;C0j{Lq<@x-lJ++>I`@}4HNme58s`~Kx zRGw7)+XFh>iQ6P%vX4hYEe)Rxccz;dS+K771V4Mw{rvicT%FhZvrlJBnVF7qw2HlK zQL@994O}KqQnUmgmkw(%Ub}L!ywKXn=cCvK&bYm$lDg`9Z_<Bi+Bht?@E4bS#5kc^ zSrTQ{Q^r-64LAf#zG9rt)X(joGR~z!V#7ia;0tnhzIUgrH7WP(@LES@ohm5o**q8r zyXA{oo3kyME`Cql<DTJrH!uG^sjvGVmP0qj-!WxPk<Tvd4IT?cENzcV{5ZVz8R<%u z9lT>P7nAvt4SQ$!#6b$K5$M^bp@5@^{cL*xMF@8-Kkq~%>Hx4$CCnEV<M%ACH?Bnl z#bmUjOZ~H>?g;)tVNnT`EGD;mW0oy09>99ur?gR_W^jJKf~)7^)8U|q*Os4&osq=B zk7xwx$qU@{5zNH-Ox`FUWs|t9+nD^uFDaZyy9Px|X=a#?Pgwx^wwrf8hOZs&zrh_? z^L-{}+bR0yCROOo=39Bd%!VJjY&JZ2xCBTJ%ZBVAiz!PXazqDRP5<nrYbJwo&R*89 zOR-_w%jU8+Fr@B37doX)Ke4}tyLd+=+WBPz1{pvpb<5UX&&78hsMOd`n2T^<40;Cy z04BeQ`+{J2yA;xYhau|E>8SsWE-sTCQpyYXN<S9d&5){J^7~%lcbR$PA|cDwSCIqt z`e&es2&N@$0rI|}uDuRQP1d}nk7r1;V2X86$Dg^0dvI;`k;a?2WG6J|_&jjP5I;kz zixUQmgZU9-wuw%ip#yFBGg~qB2@;3h$I$k?=6_O8yku4VOh&1$(2u-rw$y!(^Vv_s z`AYUUINt08^vyRI44PNPVkxiO7<f#!J)ll-?6HXV3FzxFJNf;dUBk&sObUPU9e8k` z8y}>8siXY<p<4(SZRm-M6nZ{B_uhtWU+{)C+>5^%KyBtDy-q(eWZ1J?)eOD3QHEs4 zKM<D=D|S*0a;d$E48jvR0THI1k~`Uv%f9f$CS;PL*>?=~q5Mxfe#uhMW)zLzFP6gD zF0MiD@5FGpa9B~FNIoHx9Nah#X~LScnWMNUJo}FPNywj<SSwgvLFP`yK3g;i-~xb8 zaLr~oU1Y<3can`EE|b26L1Jhn#3&}|x?6+GwS){x`Qwui`Eh4@r96WvI(?4kirfL| zosiYkKX&a0UpRp0oGDtg$(8m0ks0*=N3Q?xkn4x1&~vM9I(=Wh#Qpr{^8W<(7cbbL XU)kUOer_jzerc-ds#Yq$|Mb5An4;ym diff --git a/Players/malvviiina/shine-staging-screenshots/chat-view_u1.png b/Players/malvviiina/shine-staging-screenshots/chat-view_u1.png deleted file mode 100644 index 698a1882788cffb073ebc7ea86854437afb88340925d82b7f6f567a2ac32bc60..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3153 zcmeAS@N?(olHy`uVBq!ia0y~yU|h$*z`TTm2`ExH*}aK@frri0#WAE}&YL?Yvt+_0 z93BR5O1hvI_k?lM()<5o=cF!6HEVNFV4fQGHDPDr9F|?nzI@j`HU0h}A@SlJ+jqY` ze*C(>?xVNY<M;i3SIcnwv%rD7lbskeStd9&ED=!9Wbxo)oJ0bXPcHg|#DOqNQ6`-d ztr8U$v)o3JR|*?S^-eHsp3f!A*(f{1wAG5^O*6OAfu7|~?oJ8jbGR6n2qbLd-gMh= zgSuZU!{#|4b#n`~KyHxKJMp+)iaDn-Sg}EbN#{%a_Fb~fx65veWXWyt1{xZ~vEfK| ztKQiI&wy5XC?4?DKaqFnKpceg=Dosh6Xxm%Ash;=K$R0jm{eLB?!J>v$roj|eg+o( zTzBNwQpp>f%PH_PDd97!mh?0=8fK$mMp7X(nqWo~%xHokqxK%nI0Q4!g34eEmJQs% zc8cw`6{j5w|IBt?yz}Rz&u{;?JmWr_U#j(Idj0vfw!`6khYf1)U#>DRk5A2GKcoNo z;m5DR+YRgLzI~f*{(j&8r7vgq&;ONF{JHdb*@Jn{*UQD#UR2sw_4&)^-}m{y*4i!f z%iUKsYxa8U?abe8;=hFac+0<EF8|d$AeddH_iNk98=t?{%&C(+e(_e-+pV%2?AA`V z75(?)_Cr6rIng<}d*9vSi-^C*e>UrdR?qR-mCt|g-1@aE+d82(@_da}jbWXg=)W)S z47ZIxul#Uo%KgmJ9ZTyYX3t)4x}Evi@vpr8t+oH29(oz_<M~h7*{9$0%G;kkJAKY= z#?O~)ZU#U6xZ5vs-n_#vGxPSHyTdnQ{<G8nrJuZ1<_Y(Qc<0^o&-1z3`A>gz?OeNd z`-W}I*N%VvvtD%GarymWKR#9dR4V=)`mF3gP0SD3Cogxu`*xM(^Z$oHgZ$6mURLm9 z`ThBIeCxwz<fj9}ZTWMh<%b^bsR(@fao2@s&$Q3HZTMMOd;2=q?0*;h`)k)-sHrZt zPN<vpJ7(ce+w(xl%sLxAraN0({aYELfvvqDP}9#-(E--_8=lO958}Z7!2kbG{BL*w d8Q>lPGecxW!6M(Jm2-e144$rjF6*2UngG~wxlsTB diff --git a/Players/malvviiina/shine-staging-screenshots/contact-search-view.png b/Players/malvviiina/shine-staging-screenshots/contact-search-view.png deleted file mode 100644 index afea30b0a3cff5a116fd0e30667991c19e146da22713a973753cc26fb88d19df..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107433 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%0Dl$&I#t-m?DLbDv7moXd^W~hV85<&j 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 LQ<trgHVgY7giK*) diff --git a/Players/malvviiina/shine-staging-screenshots/login.png b/Players/malvviiina/shine-staging-screenshots/login.png deleted file mode 100644 index 411333fb8a8aaa9559226c9e3c0e89eabad06df6b627492b2756e26cb73ad8c6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19475 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 diff --git a/Players/malvviiina/shine-staging-screenshots/messages-list.png b/Players/malvviiina/shine-staging-screenshots/messages-list.png deleted file mode 100644 index 91499d93489d8b7f73f4149c9d95f09826bcb4b9d2650345ecd92a9a1234d57e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28201 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 diff --git a/Players/malvviiina/shine-staging-screenshots/network-view.png b/Players/malvviiina/shine-staging-screenshots/network-view.png deleted file mode 100644 index b0a1ff79283875b572474d51eeee663986e742e9d7eb01a38bf26ad5d643f056..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95575 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 JsrYCT{6FP$f<*uT diff --git a/Players/malvviiina/shine-staging-screenshots/notifications-view.png b/Players/malvviiina/shine-staging-screenshots/notifications-view.png deleted file mode 100644 index 91499d93489d8b7f73f4149c9d95f09826bcb4b9d2650345ecd92a9a1234d57e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28201 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 diff --git a/Players/malvviiina/shine-staging-screenshots/register.png b/Players/malvviiina/shine-staging-screenshots/register.png deleted file mode 100644 index 5dcdb8cedec236dbf9bb53792f02eaf5f29ea942243536f34b3025c38a318cf7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71148 zcma%?WmH>1*YBZ5ixw!wp_Br}o!}H&pt!pPDQ?AGS_%}0V#VFvo#5^c0a7%$1ecH- z+UL3JeLvlMRu&)T%$YeebM~J7|IH>?QC<=Yodg{P1qDm$^Cx8#6x1>ll*c*GA0bQZ zV<f+$pu9wp`Xs9Ama?z+;=`*MgfF9jX9o*YKFd$PwSY&#Z_!_Wxf;{Se1d-@CNni$ zJgqFl90}v;8Kxe|7F5}%qlqo}8Rhr(k;5QWg>G}j9OfZnWWR$c=zA9Pjj)LCRM1$P z`_b*nu-D~n8|Q7{z!&=t3{g9?(3&MnKjdZLwT<!;dFi{q(fIjLpiA`#c{v0;M_wq6 zVo#9Qf66|Ty+lP`|LUPcF@E~+;R8xP!P_@)-k@xt<02bD`CpGcr!~hhs9wm+%hN?C zs<yH2eIX{FSy!iCsQT#1lOGyHy@%+;n1SK7++))<fnx6NjoPKpY)~~h&nk!lgFn61 zbkx!!Mt0$*W;ogL<T2|L9<hjqBIgc5C$)%Ff#R>aOs|Vo8NR>yko-vfd2yU{E*W-T zZ?86$#!F{s6japJ8UK?lbi?VbKL$YB*BTlkmrsF)_?w#q7uXjSO2~m8?{>K9WtNu8 z$;mN?Ew*EzT0iGOqg(&?Xmpd9n`d{dnYNnRQ~fsvj$Xo)JXjCY#7<PmSn~?Km<I2- z6P2{Kq5=guPvt~m(*#xXOk{l>7-%W9)eB4y?T2)Hrp)VLo5dKyn?!}PhW0%BZ`CBH z?Q!)noI3PK3Zd_Ej~`|OlXaNj9?b^}Il-9$A8@0TK8_!h;_#$hb5^p|ms}WX*&M?6 z841Tqa408<<<@XtF1})=W%xw3s^Yh7vlIviLtHnfWyl-_=I*~8LmF^_vMDe)2+<+r z^5jPXKI@+#S8Wk<>W#X)AXlE***MmVOfjJ!Vwsvu&k)>C^iO>SYYK2S(J0^D`ItgR zf%gMNCX0N0+U@165$guf$xt&qnTew($X=hAf47b`0Ar`!v?cW7q@|H?u{iD2c?Z=o zr;@`i?xtu|U&sT1t~xxWURP-<2}gM%<73&8%#<sw_ou>+EQ*vuExt@SI+yiOa$aX< zQu!uF{PH6pXJNXH|JKNI;Mg_8+VImNS&y}I6<lEWfw4Si`O#A7CQc!rzya{Ou&_e> zw8QFt=AL*(!wdz?d}q{@H}4;+(o~7%LDJ-NnYafyib>CdTwhMt@u4<dgA9&u7_oE; z?GDEX9vd`{X7+J$L(>x1XKnh?!2Mp2?zlE#iRUUo^A)6EFYm^LGFI!pDF1~;bXMQZ zUZ0T4??OZ`tJd0C2@!JNJcZtH5;X&SNI2%B;XhW3Mp_*&2NR8fa^6F4mQSuezQ7Vz zzp7|tZ*(+ZDk*Mj>;&ey_!=>YkK0Ty+4OPs-K_d|CMO{0Vs5VY&&zXi0Xv+9j@xjL zlQ$l==?U+&PFv{u%`NX@-?z3nHamQ%A06DbQNlUvsHxIcE*+o13y?4qh*)+r9qXpJ z@h)^fGoSmovMlW5c~Oa36)PrM_VJlFW3x;<VP9|fIDv~3r7+{$KO=KyLBqEnr!c`h ze?r%9&D{5(n`Dxg9mkMkCI7BIZ+CVCeLSbJD+T<dWo{&ST+-Y5_|J6PIX#MFGlf5$ zEs>xwlhN)xD{I2{*B>&+u^;!j^!FhbW@^S14EVa6*A9SSrW5&W_;5;quUJw9I?L?C znaLRqR_u0XORZLNY1o~J!z>&j`dlve9pK0T!>{{I4V}Ji*+IARsaGd<Inm5~u{JMG zeOA$MO0Y^?kH|tty(N8HT+bT%-SN9FqiJ6RGV!}@t>2R!SFJZn1oYzwGsos4(iR$B zPHJ{CtFf0e)w5snHevag4JP@MiZv_JOtPj+O)xReUXN@tauG(pg%86jeNgRuaT6uI zjR;>-Y|)NS7mRx-M%*^w>K%Uax$McJ!HwP_iC!nE^NO#}%NR)p+Ku0Iw1fg9$rq1m zgNJ-aer)mz<@r>8{o3`rU>BA(*EIjz<sCxnDY-RFyOvzgZlOT}8%_Vh&bLx@9gQFn z#6o<#=;v36`$CO`I=|$%fF{bjxp?de)x*~gg1~B>m5!Iud5!h6OYf4W06Y91DOLlU zLNf78H;2PEHZHlRKQ}2s78prC3_kR)vCYv6o9}48c*eSvaqb^7JS9Vm?QkeyUgC2c zRKCE|Gt`o}TD32*eV~P=%;oGtAxzgE7gn0)^*-*p@8dz?p$;~jU%%S(e8$}ed;0x( zqRWLSV@qzk)z%!){LWyewv_5v6O9>h{>^qNK9Y`FniNuDuPve(=jJp}gJNdxo8YsW zkbX--&q`wceF@uu^YDYT`XbN_$M!eDJaJn541FJ=oL(_j(y$GGvW8innQ5M`z{TdG zzwZjjaq}t-!cjQJ8?mf6LOKeRRv1g7xZhmy7XV@6z+tSZLqufravz%VJ2Jnea`(Ii z-8qb<7vgYaQOB1E$>~LvWv{m2)ZjfTuMp1^BH6Q^n^1vFH=MUr16lc;nAbZ}A+tU$ z8*iP%?QbGHnj`tl$&1Ro$vM1xMn9r~Qbe3*iA(qPCy(S@Mezd`mU~%!jVewXDj(J9 zuS;6|Y77AjB(N+JdxL8B@6$aA#{>$<y^rj>lC4R^v|JF<XO#uFiy{Qllf|_+io&GU ztzxxOL_IUkKx;vq$n)Bt*Qb{`is_436abXbIzDSh8$y^bxW*Jp=_(DJRf|YZXGD5u zN3oUKDG>@#N@lXV8iEw}X7-QI$7eX`+Fttj`0r_G@Z{RtdCUMUUeZ|#h-@tKSogWn zrD?Bbt8y+ELRJmAyF9nA+<LCF8u|J|86gYq*Di#9vwq9oS1pYj=jwRA%#c5i!NMPx zxZ29zZNkWH!ZKTYzjy%T!WNE(tV%Hji|jfLCoc9y?-D=BDHAxk986p-P`g0eBcV?_ zFN*CXmzB6Q){Xn5$4x2{W_uu@yIXR&Y{S{sLh%mC;)v^q>PVr=W*iF2c{yXZwd+q+ ziL(@gW{)j=2}|KGPMXZCZWcpCr>~MPp3~rC%;XX;3I-fR)whxX*Mb@r`@Y{Zqk=nJ zf9sq>5Y4ABA;YW|-}@`n@zQENGmT5(2)$<tU>D0pSZHYPsIXfy|F@Cb0H50Tf)$Zg zgkZWnr&lzIxi!<q78GPGlhhVvToH{dus?34;X^v$uXd=`-?6lXJL~L5wLa0V7qLj* zUA>w1WNT&kRz@!+rIp;Gn8|g7T56ShJx=h;HkG=9x;YQ=Nz`T5Y8O_?)~?n~8S<I9 zg}q`2J)KS6rEal8jmlk7ZqG041~qYfQ!!E4(POH8ZA7jf#xs%hUaHY;tM34eoo_i* zv!y6Z{A`52NM;bGQl@u*ZqRLq==7P`XXUPdp#19Y5_sEH*XjS9^Igzno;uVdo&g1% z<!JTMCA&|CL-h4oT7%166JUOZ)#Qxj8>b|P9q%1;`P}z9OO8)2Y>Vh`rUbX(Td91t za5&)Bk|nKZ^6qT-?$;KhiXx)M{NQWl0&{v!N0?3|{b?tE%&DXs-zI4OW40f*&cu>r zT{fYdBQ(kt3KB@uI&YAs0H~uM?^pO=X0N=MkYCmDe6NGHogi?Dg_%fczdIj@0$cU> zxTS<T#}W5+L1<5Vl0-(D8=5Y@I@fq!+hz;WX<QkZA=fcRz1*`teUCI9K|+jwna}|O z;rMKToA^@M{cON?OZj_|dLVcE*45OINr8lQ?qC~(J#$8b82r|+BYN1s=}(VrjgJmz zj!Fv!@RFP5`CL**_CVt!hTS=aGc+4>KeIkvnq)Q9ElIkH<lLuE9UrOa>`xARLuILA z?A?8>!HM(7wiU|C+F9W&PhEJ<9YtKs%IjAsgm({C?ar+Z6f6yd&LfhHR~B>~8`WiC z@1F5EHp%Jm{!Ss4w8@90+J(`DtL0tT3QLYB-eYxC9+aHF+Ss4W@VT+UPtS<-{o&~7 z*f*DNE7EW$2Ue#Xr27a-dCmi{pIDVGVvq;^KCSgvGO|#)sJ6MqrtR}pZ8y;4_@tFp zbC5akMgvj%rNG}JLG-jN6HMFtT&fd?Q<7EC{`}~OF7o)2*z))&ys){fu9=>*`E*-6 zxh;)<y44YJnK0%VdJ&c2UVnd>6oVHVA1fVet>b#2Djw~7T}1n>|8NO<Zo6n_gWbG3 z=bF%AcQNh_m~U#`DLbhNL8HH1Rbw1zj?ZW`8Q7Tx1>HA_yFlCgTW?(UtidGEFRR?0 z$xgf)uC{i&xG9sj8i!UabOM)vbJx$-j}s(QguZTHeftO&)79Za%buhDigP?e+bMlS zbVD6+`xWT0<^^qcH9HhpDHri6fvMng8$WGo<!eg5znyhy2QTIkT(ahKty`|z#DLkL zo)XFVHG5Ni^5eT77aUZ(wvc{|s1*L1yPg|bv06EstI~XaIqQ8?(HvlV8$gCwzfHiL zAhUDJcE4tF-4%Af%M1@v0S+e4o!SQ=da&?$gYLXWaS(0qfNF!cpo4K?i;j~dXP%3- z#8Plw8Kl7s8RF%)x#>Ah9gX&Q&q*6TlOcqCB}4P%L;urrx&^~xd{oQw&3G<fNx9E? zceXqqd&e5={q-uaoX(PU(N{rI$u^VgWQ}0t+(_WQxZE_{q1ptaDg0*FV7O3Z%?J?= zCSPog%hbL(!2<EPpS<VH#@3&0_{BnH#Uo3+|K32Lt<~)sJS}9|a{w8mt=VoABQX#H z3%gY}%Ry18fY!gW++`)AVUk~@@gV`%K>+eF-!<0_<G!Ms#SZVen#*RWwI-+IR{(g_ zTViCn!KNs0=U2hcDf*FHtW#UNK&-i?Z-KblwJ>^Y6UKHPSJD$7zYCq34N;3YJc>PI z5lb=oh@&bjpkm+R9(;4LzvkV|Ji%ln#!aACrJ`dt-|76~&+Y^klIhjWMw>_Yn_60b zOhnIX!&RVQ3NU{qn&68O!;t*)jy{~X3B!=D0WH5Mqp(emuUNiBc-iPabI$%~f7{2M z5TvM3;QWFw_Vfa{O5HYjl;jE(O^A~7{V^VMnHW@`KC$!-)g%F=S=Hw)Lj2T;_`c_4 z6}XK-e@LbY+uWHI+SKvzSYGKi6-?qlL}FQuxrvAQw~d`FW0^sgGZ60)m#omz=GjGq zws)Hm*W2Zhk@rb?LJe2TnY3jqMMGehPa@a2Ep%aVu+d1Mm(a#`-b9_>l-XLH3V!{> zU@j%Faw9TOj;qNgOZ5JFJ>m3SZb&@YV0|8i#Ywfl96-bSyw6`_!2hk(QoYOAHgM}B z#B7y&?+RFbCjKheb4#f&>44{cPrPlq>5v9wyXdk><MWZlqikF=bC_3v)nEe+lG>Q0 zubs}U9J_MweTydiG5=6z#tq%%ej&0?4oniKl|}zac<)w!`&TQtZAwT}<NS{(cj@<E zoQ%E9d?diq^5fme>O3#v(o2oO$?fvKw)*X_Ms2qFyT68uLAHoL2f>U!p5qLXn((pp z82iCn$*rLHpJSK*WdT2|BV{w4E8d-K|H@cZ!CAKOKBEeTaM1{^S*EoW2}nXmw5NZJ zY}lks)u%7T(M1p_=24`OaBYT$*2|c`Xe~n1z+ol6z4*nc(59lAO6+So){<d=+Ao>? zumQYqL*qMjneGs`yA9YTg!w@l)(r+>+CK1BYH`!)3!G<9OW&k#8M=C!O&G~(YCF5H zyZY7~9@lfS{Vu8VE{<;EYpf4tW3JDIx|XL2RXaMg`=Sz>L2EoO+lQXI)JxqWe!5Mi zq_C9{LqXIhn|%2;fs|K!<IP`Qv!3>4)I))uTiwSpg6hvBQA7SxgMTE!O|-1yygoLV zKda04Bm#H-y)_9EEVLMz>$pytMozqcCGA3r*r*cs3*Vjf5<_BvfbqI|x#`Gg9cOU& zY;WL1=EoTfVE<xgrx<)&$znm~ZW!g!BQbooNnJxVXKu(aW{V~p5vDK%^FKmf&{yM1 zHO4ef`l;Tp+}xKfAD#!ij*C-63>0r8S;oB%(GmFu4CcU-++|dWqyxiv4!mUZ?;n7~ zxj{>rVyU`_*OlVC-7mKHO9>MG^quml{I3ZK{)%}#n=9BD-S7{cbC?3w^Y4C!B$0j9 zH8nqiTd>Lbr)O#xz$}I~Y<L?EjkB|}47nU42vnsY{oG(AGsq%m>Qhu#r;YwBD<?NH zJZx=k&1MRo55xbFBBrDitsG2|A^O2BcS2Y_Pf7WKJv<*n8(SdAauuR_^QHzZ1M-F% zIc@)o<@|4Mvv`Qj(WDmU=QkelE$c7d`NwY3j;LqNCm+h?{r+e9|C{stf8(JKp6)mf zF$PA~*b41iNr}G=$Yo{uo!AW7h)~$fW!BzA@UH!=|5-1iVa`yorZfMWjs5$l)R2P5 zpHh)zXq=#EW}K=BtNybj|77(2lhlE=?>v4t!P<6&hT68=ZanQoistL>2EX5{x#^K- zp6`88IFsYp{a1a3qZPh^q)nOOt<I8Wxgk-Euf}mW`ghoN=I9l0YEs(7k!?nt#qZFP z%d#Dd8BlM86vzH4L^<{2c}o~(LK`zQokI;cJ2VfiL;l9<Y|xabT7-<|76^VDI0Wdf zgHT7BsUKcnL;!GK5M{VLAcZ9xD^0VBypiztMm-kbqCnA{+Q^7(8_k*13uV{r_UFSL zo33zvhK=K^M~3;@iD6qk6R&NMKd_J0v{Gh3?dNpL96M3!r#la$P8SEP6h!saZyXP+ z@ruI5wPbB^CCTi&!D*y+s^+v6s;j)4ji@7`|2h-`Ocqr5znEH*&QW}ybh2rgLruQ( z+3w@==WMaELU(deBH`P|=45|c1}h^gN7>oJpR-X46<KY7{@bpFs(EL(If&y~2D1a| z-}fD{Uk^tQ=I0idVkEVRj&RDMZe@0+4o6R9;<2Ey$XO(UJ%4ytpu;ln9HZ0rE=%03 zvKpKDj8I^5(+?Xx_Ll0lz_rj&b&58*8gpPbuH>B>RDy(n!(2F7^mKE?k<$@F*2{aD zE+%j!<$g7@nZS+lLL50rptEfb#*IoS9*2|8c?@5SnaxO%JY%$lGfGWUwd;J4vCzJO z*sJm;LT4{mS?%zd@!DcDr#J$&LCfl_3$kBN%RTd5ZU^Bnp3I(yKPAooSyl?HlM^&Q zn9S5_p4%UYM>VZaWZb$4(*g<R5!n?AAqVT$yw-bTg+Hi6I(k4kq@_+Sr#5pP_d|Vd z+F*jy>7<)QD@eT+^yOsD_*xH=$etZUf1Sz1YKeqG#p=F}wM6;ST^?-TZru<pes=*F zAMJkB`JiZ9;H>?mUMXv+Y!VyPd7L!n^9Z`AW!%spT{Kll;<hZf9B{3XRaK;l!YX$Q zP5M38SWKWW7ibF%F<wgZ`FK!Omak@|19)$&s2`5}-ayuOGy?=MYrT?=E;J*!UHkw8 zN^f<$UrAk_yo$a$)#JP^Q)@lyCXde%3z+D;D&F@;p0y2i&IT(ccOk8a+nxU0pEFbu zTP5lX{twp2YMWE0xL)dvoMPUgA}fuwl8grR^r6QaIj_r$I#I`_hd-&Lne{!cT^l6H zfNN^tFq!Y3#N+%FNzlxlt;a4pl`p;igD{o70UgKnoffN=R-)N=<Jy_s<@OW6JT49( zTJZ_GOmlmxSXFm9vC@51-y-se+O3y^u-RB;+B72eNXBO#f1tYr@SCKzDd~P>J1ZrP z&Ak6~{i+++*P^kq4KEEg%bWzocs8QhT41I%JQ4E(=AozZai-NcIU;Z*t?@#VqCA@~ z?G7BliKA-CXhV9VONG&|{FZek?(wsFAD}<Sv&|Xg;$98)hM(c?jV=qm!=ulh@ZA4r zc<Ft!pMCwAUb?6jnsaJ->zY>la}9M9V7;=J|BOW+uvjo25rRH5a^-;hfXPnkHdsgO zqW;=U`Zv<OK`shq3oPVL@xhJCoUl>sZyo4R_#HNE$h{mL*+^66jzlu!lMjF(G;Mjv zTclk|dg$!F|3}~*0{$AB1VWd}O&s>>!I}^{%l+w$Pck~ZRz8USbydjs>1mcrGaX`E z{puzbW<0v~{5M(Ki<k#U{Su{sI<`S9>pDMHP5AArabu#rw|cSZv)z@Lmdnp!c~!Pp z!F0QVhJ+D`+_AgIB)MnbN?IiJ@;yR4qL2m+^5Wn2V_)#X9}Y92TGRUZO4;7Vq%0aD zIy(j>)mW}s>G)wXvrsIrMqS<j`33uH?e?iwn~SKN-i2w5TpheF%Xb87e6Wz=_}B+$ z9pNM{o>#>H-E=Q|xq@E5cOjvs&-5@o<}~_gQ1nu=R!eEy`W8W?VMH{f)rYE;q_=R_ zI_<WjFj&}Q3}rJfW-%{L)=Q)@T2ItHjv3*uwv46xq*EiVQ)9DpVe%85&$N!Ij+h0% zzC!S!YL<<EsXY{3%G|rI*FZvrzn8td%Sv0H;_vE_ZXYl*JPCj0FjVjIjf(2L-z{|T z!7)mDJZ>f5Kt~M+6ml-yNitXr4gD+jKNyN)<f`AJDekwFl6vS=986o^i(DOp8Ui!d z#FnGM<ybd3NGCyoOjE?nT%o$o4&&jY*I3d_Fn*(wh-q1@mzx*Pi?X%{vEz*^ePX@G zveMSILMH5d>nD%V)z+k$W4TxN68Ryybb%Kf12Qbg{o>=%K4`~!ac?;cLkN9^u4cY3 zgkIz_mNt8aR`ktABHb>WW-ff1z_P`8o!ML)EhBf6yI?LZict-ZX5bnwB9x9vHwsW0 zu-VT|2ece9c5<B?=&k5h-Ci<&_3=K1faLcRMGElqii0*^U91x<>u+3a+_iZXgx&!p z^!Y&DLt#azdw4Z;7hB8yx%X+=F2LaYgdlLUSv>Y1&gpP%Ttm6bp+&^d`z{g|=A*v+ zeZ$~8kp=g)qhv)8p6f~fVUHbe^=I;n!^;~Oh~*rwY3z#raB$XM-nvM>?Pv|ZV(u2Q z)A`8ya_82z=MdXJ)^cL;vRdYZ5YTEfvt}>BKM78>y&EIo;jZ`fAm8R28k{*==1Y$} zP`&Ew;M`G`bI(wvrPLR4y<ZCeQZ~P65!OSPd{)@TW`f7t-m#R(tSW>`wh38Gtm-CI z)ItKzSFLux=rn2icZP-nFOM(CPUTuYEvPof`^0<<dfqP*j0QEkcE5DF#JGDaku@yD zbvm+gxMI6L3yIafVg6RiOQ2NBRAQHF57K;O#n{FHzm?i(E5`!D6Eq7e(`^vFP?3`B zcD~C#g%xk_s~`w%L2K7+$!$gC2XHeC6d&e%>Q@T7wJ|ESW$VAu5|U^Y=^Ze*vM@I3 zPw%rwnl!?Axxq1jMEeNje7EC_lH!k}k2PCQ-RSOgzPiW90N>Q7mcPDqaAHUCg}icw zE$?owesR%dH-{nkq*z#i-n`hRuN<-Mwwe(&u;n+A)viWEnKA^yS09vB%dD;aBTjE4 zZr=FCd6l=&HAf5a3uwvv(}Lvcs-)*a{ANQ8K?cd{))q>Jje`{w@#bI0ze1DxX_6y> z%z^2t3sqBH-e6t`AjPLCCYw@w@k-GTh>;pN`rLt~DRso9h|<R&mNDQ{yZmn;t*wF@ z&yy0NR>tx133PVJOj>6rbfHidE%?Fe>A-Au8@T=i-ey`eAH*=W%ll{K@R5D*$P$U@ zm}u*hO?uxYmcBxdW0)tv(J;{7um4s27aiAn=-jK^&|ECb@f&<@16LA$&VK&Q`5mX+ zj{GDTKgN0K&%&UeM1iG5XQ4e+mGzG%*I*=ZhC;u+$5<Xo9ga9{Q`74uxpL-{t-Nt~ zS#ef3(I=PvT=07yrlP(etX{RSI^E^fHkA=$B*tX)itU-pu`PZR!dAjg+<muhKm?Hc z3bEeFuJos=%ZhHyi`rq}sj{&S*78>t=f~%T901rJdHxaV?V;D}H|IK}+dQvdJYgFO z)DaNSVjLQKHH)I1B7R$EsCkK#x|Dr)^$QeA`-8-*$T2RqbFI3j^d0wvbg3bzq~sHm ziJ^XCmZ*?*8!>4?P7)t~VL>e3_KK#pI=n0U*}BB{gR`xi5BDRfeMeg7(_kFHqw=xQ zULSQkDR+nBf3NOjocbn4F{VtXnkt+|C^TNAv@A$pBiQkXfL@Z<wcZTafL5TpS`Ims zD=^e?J~<{Qfc5mo72&uR<S@Jmhg`xl!Q3@BRw0KoY(%D`hkEmqzDEQz<8MW^u^){J zb*&iCdHK@nEmSLk%rDw`GN#_@Twl9jjrdrs3Nb`V9T5VjheBvtHFCl!_x6;etTNWu zPZyemjixCpY+IBdwVo(#p5qM^J$)kA&7TQWfq`TpOH-s5_cZDqu)DT(!r}ds{dJ^s zBQ3QZE*o$6waV%BX^rDI&!{dD7b=|}%rdHUvHiS>&f29*b+u<IH+G-ye(Rz{KKecu z^U+$^{7@o8(aWKtP@!hByxnQ9e5ynBUuWIc7AgmwQN?D8Kh;)N&h3o|iVJ;az|;c+ z@3XWUCo2eAL{q(#(kbqe_G67qx;#_^E@AJETrLj{ooVwmpE|e20C5;ilq6gd(VZS) z?M~FNbCn4E)c0oB%XP_Gc--&FbZL9<&6iNqqrJmPS0bqsCNddqo72P&Mc+AfA0HM3 z65`i32s*u^Xe$R@Z;{$PYhgb-$WQ?3^LO$CV8;;gXZHA^M;n|zu>Q1tnCFWgu2B-{ z|FVF|6q%r`AtB+r{nJW#ig<+25zD;K)o}++*S?nJ9%}a8r=qiM0i(F2*Qq-&E9<&e zPuCp;w*Ii%gfMrFq**=#-7fS-y~$jg??as!>logAGj{56U?{`7ku>{C1%=6KtqP&z zaNsEL<s@Xn<iq%2DPtcvp)c*{K-p1hM?>Y)<<{$Z-}`eQJ6jE?GBv|_J<KVmo^|=R zV}N$L9Q0wYdYyna>o2^__8A<eto=K!!F6CXbz%dq&S6dM7+_YYo2mTE5xN%GBfz>< zsQPDZ?zD$KQ)LAXo1S}XVkiNd8FBRG9rJO$EX>va%3+B(FP8#Nm83T!TFl*#)fws- z?>zg01(Z_*YF60I<5gUWLa0G$K-2lbK9Q8ci61|cU?uW)zO|k+C^K>AKzLlSvVY)t z0XpJ-tLxgrFp~;MdA*c|WjqY3+rQe1^wLzlq%iNYe>}L+6?Fd=Y%rcBBZ2SoeKwpE zY5Q$X#@-_;0Gz^4MUAxSykqr8+*uq@7{(ZDg=bs+dAsaRz2VT9B2})snX9ia<S;7B zj*g}AoloY)8)OXO>j78uEUO52Mwi<;==OOKTqF-cMMn(ux|A8B&cCev5e}+ELq;1n zD!Z&*o>2lWlnnGOg=H$J$UKW5`QIz=pC$hIhM4^v4(GoUDT`uTFlA<a*zL)8u$+wb zdKQ&IA+^uK`o4yZ0N4$2rKK>2{;EB|pI&5qI5K>?SKpAe_#+HmNBh6wPVb#<OmCxz zL`(qX3@%w4xxUU~=ii_$dgX&J@hqd)r}wekCc2DsujBs)YiG}zPCzH}k9*e}rS)x0 zHy?Rtt%9RaAA&PC8Mj-HvSa%uUXhOB(bmn)zxq$FoYc20YC<+zqUk2OWcOQbs7Pki zwozB#zxJHaWy>~)j&(EBL_Bgle!C|cul9d*|M)N@<|+5tWxlNl)~<3nk}lQxfT8+t z%kNYt`Ez3xXEGpJNRVOP&SuE2WlC!;9Mj|b#7|6HTPM*jXNY|pdc0^tJzct98|NO9 zgcoMqv87e<1Y3{?@?+p3&*C}CG_JH5eGdVih1xf1^~~UyFqc*_?%J6<)U@w&t0DY% znPN9DA5e+li-XNZF{GJN{*4d89{`I2{VsuH1d|;f{)O5z;10Vei+j?)_tQgHD6${8 z$q$}Db`gz&r<>JS(CddFIC>?oX`)QSeD2OJ3iToC&8aV48U0T*KjxqPH?!uu67res zaBseU6$&H%v6eGks=o!<1%GpFhz=Yuo!E$)oL?uc&wg{9W8O7eGyo-mo1u2W%x;}+ ze+5GC9{LQ|;v?+i5K^$n0=`BTe9CJ)Z02-Wr;hbuwXS3;^{H%FOR=5mGl=~b*pFKW zsLIcGhr1|EY0`vUu4LN=J6sPJD_cCT!$xOk#T@TM_bY9n_ss1xd8t98$sA2|XPGFh zjqqCq5ZqCr10|&mLxc6WubYO$FHuJ)1X1rc!dHE%?#skm?<Hw1YBi_)2`SXWqeypb z@Wbn8twm*c&2y~Y<%L4Rh`o<b!Gu99U@sC^oEI1ND7+DmIjwLTnmq4|6oeO3t%=#( z9dJ+;{&0I<m>b?*QZip}z|WzUw}B%V+onb8#)6~*ie84dgO>@cI^GvPSn}ndT9>y- zej+gdUUm!!qjmPz+quQ#W4EGXS@5FO(bbBMbI5=GJCv#Lv!<H22$c-x(Xgs%pB}z( zD!GkyGqywDA;O&+^t$)QW^lrxDu$;M?xSZzEiuFe9*W@r3({;gmj_)2kbm%WmdxD8 zklmZNyU%E57Dc9OET?H7U1kJluHQOWPA}23j!wN&8Ti88kmqIdH02tdSCBX|AR%sj zanaJ!emv1^P_?+kM%F|e$Apcf`waLt%5@*$329qEDIXk@4(9jVS8eLm5+0R*unCDG z5EDrBS-4XOhfSbdBKxnCzA8Q>4EZg5yS<FAtCJRRBCADW%h3Iy^pmy@vx;F}-tRgJ zPKswm#g==r2fEgNyr54j89sNbpk}kt=cFL(zNcE{QLg$&gVv=Z4+?AII6+Y3r<Uu% z4>i+G;Wq|LbB?iggq&dmS)Cu_odJkB{^Un*_IEimVwf0<OW5{2&{u3!MI<>y<|h~{ zSmT}d?mx=s-|M;4xN=bPXo+Cb4~0q>*%Pp+WTs#s5dv_9C5`dR_WJymTNjMKtiS1{ zyYFT<!R=kKRq-jF(fxo2^xR$L&^P^&Ww$#GOAO%Y;&b;a|83*^>My*}4R(<|K`|n5 z!zZQ|BgH>O?&Lyxh7|}g*J*59)#S%XGwzKS08R&s?7Y4B-&@w3%gyH4cPW)EgZ~Z< z*PhxNrz*6$W@`uHfA?<QopqkK&Jvsif8p?u+jcxyrtv(@5&q!Hn%5+5DK>5n90zdy zpt>UepbR_fcKPJjgK7~>5?}S!y6xUXkSzi3Sn*$1ejp3jinCBfCWxV~2DF<y1|Wsq zb+*2RW!gUnJy!J3dNaLS&=S8PX$tkdF5f@I9VVplIeqM}rxszg?FR8g3xj~k58j6e zWfT1`I8geVUDxpwVw08H9U~HA80BaaXo~fs6!vBL$$C}8YofXDJ*%92kML<pA09+e zlzjgp;8SkYAN1g=x;3R#yc?`+I2Ol2-?!b~L3}3_89JoAKMQp(BFWA9KwI_=^WmxX zmqR~#z9c4ATr-8r3pz$;<(1UEEhm?a(&2^%Emyjb%x6CS$kG-xhs^7siTujv6pVsm zJgV}5W?93EDQAS<Zv4nfiV8kiRE}tDEzCWYiDTSv{{n8j8S36)u)zJR>QSF-H6|(6 zgd*b~GOqlO>9%tR=S54t&rO_V{z>hoK>U!R1UiNvr$$6LNJ8;2rI~SVQb>4E?GWht zIm61%(EWj$*z@}mXLVxBMkL1Jw<tV%U>j-Z5~++&YHW<f%d6eR0=EW|;^Y3aZw(H; zB!DrIwNn$caAW_g%lfe_s)s!&xHCTCft2FfwF3hS6vrzQS~w(6$+(f3j-4tQ%R(CS zPXLBhGm*#tw_5lOp#Ka)SdZFAMt39(yY{<rCXQWO+DK*(x*%^!(VyzIp+Zi|K?rFf z<CCPmc5d0~3(VR-VG)3FQBIF8*oJTS90=&kA=zV~<$Q91;pKQ$L;m;^23={J<_`c6 z86ifTCFlaQH44hiv~?`n?zEgNlwdO;J83D8lew7a^!<q63(Gp)4{RX$=I>_mu~n}` z<FhTXT!~D<3~8*FuDkYQl7N=TY*i`MFQKOT7!il*+gZ$+OtOtWUUQcsK+l37Gz;=} zqlo>fN^jjK*1V+=BDZi2k!}KpLVnVb=BW$0^g3>}#hr6Gk<tTq_m%GO`W#DcFrOQE zbu93+g3sA?YOsJhHZGA1FLYyC3bLZgZEbRnV=pe<<x`ouvJ9JI5b^O}&JQS!OeoO0 zxOa?~CEi_G?nz>%AO0y+X?%)1DZdBMpjaM1T3LO6y!Bbc%&M;H{dHt(@mxAc<KwK< zVXe_<1FAfab#4wD>$O97y$)g^bFuaUv9?_|aZ!_pt}u+Q?TFD{xhTYB)^p~L@SI<I zP?=z4fL$+FvyxP2QzDpJX6I)zvwW0_<O2i*`hs7#(pWSKRA~_{9)~UB7$AO<@{1d% zuE7_}tK=?>AR1Co@>1?s$XYZ4V6i&Z$YN*(kaJjn-~)|+`GEeBK)d4^-~`WPz0Lru z%`lVXQgS0beN!OA6$q(U@BSRy7?g*0b|{c>`P<G;I@x?vz?(4;uDl}flHU!bF?;TJ zKthjn_~;P@>^y<;4DE9CP_u3=nbJ-g&FgH_%ub-Hzz4Oi|Hx);f8<p19wM;X>>zF| zqH}FaDNKeofy}a~*m?|IqJ)A@ZxAE*7kP`GutjG|%f+6nS#>Xyo6DHb)ItcmbD)vO z(ITt?8F?Z~Z8sXlZoKZ<$!apfSbUtYh25AnAz>R^6Xg-zn+0dgvp-evSS3ZC{5eYA zd<!at3#MH6#rfy89K366u|8jIcpJxm*>C!-uPqM$yU^%LqjpDo$)~r%QLo~PiJo1{ z@k1}k&pVP!HayqT_HU4JxKMye1&cqeN~xE4k3C<|o=z~c-8}FnJ`*|_RxM+?#1&%- zRWC5O-WIfqEba34)C3NzSWM;sBH?7IN}~p^;7zAcfNv7#9aaK_gQiWiE7j^Pp|9`v z5Z^KDg`L$(o0M|UX`2AOa$RjJfsVHBdv#Rpi@Ip6-PaLFUrovkfay|=_|_8;0&jib zh1Nt%71tMs@Vh$+o5eZ3v(+q06-&%T6K9f_<9csKe~v|?dtmQUz0B8bp;lKqf8TRy zyG8G<hc=(w6F*l`+6+F;<+~iDVe6dKDYr>j)9lOS^e<6~IE<6MTgq;8wbWKHbf1@2 zD2n5tIS(Gph<oPEPL%F3%Har0yi=-37f9K)v`Y9n@`eUWL%Lce<Xw_S>}G(t@*kF} zPBtF}x^M3Q_xg>>Dj+U^uq4^qN>AFDv{F@xxcY~ia?K*k!)?I?;~z*5n?hR5I4yMa zaq*_xT^NOV1mnZ!&;c;5YDCxx2%`@N2z33jypebxEyEI3uRK5d5s=p099<=vNP2xf z%1MlQn>L;t<uNJI6fFKon3V0S6_jOmFobiwnyX)Y*Wf_N-XRjUE^|-s;hJ^$QKGeY zdU0&4I@u<mqrhe!=*?8JevA`8RS`!@=po~axQN-*_~jT%B=ma!mg>_j{Q{*LR@r1t zfwHt30}n*@%^${Vri@>|+T>M4%6@fD(}#|jigpZYcdNhNik>p+;?=NWQy;AIMCdQo z8_yv)Xm-s8=N`V)INOpkMY+?3@Vc=a(%Eu6=rW^f#MeXHF@A+I>&K1(bZyI?_@kJq zf_D-DUX}K_4j0%a;dr0dFTH)=Ye{n|X*(&PPkWiU($#UD=o?}w0&3Eq=x{krlI|x% z(i`*lwGf6MWef`FZQ9~!Z)Uayu<i{HP6C5!ugcFoBl}**gv8|vIn659mOW2439RgY zj@#SfC4A;LNfP|2=(~QD_<e3EvGK{%97okozB;Y^v{@z#k7&(Ys{mV&^4(krF(pEY z#le?)qf0?VvpSwRwe`l*os^Ol$zuby%k|3?Rm$bfw7QDPR}`7?7)iI#S?Q+F_7REo z<uSWoC8EE)d}-D#VOCV&!6qZ==^{=gi-VpL=%y((i5Q9J8OE`E-Ylv3(;0~==6V=h z{8za9tM*x2|H}dhq#bHXb;Ac#Ev>5^oc^f3iY+F&tS{81QUfWI{t->sS_4?3w4CeY zgrYCpr9Jl0OdnzFCAO?nQ@{n%Gc)wr547qI{GeD7DjnTYx*WWg_Yo?I6DQ^~A^@2| z(!L(1E0;XUxYni8kHxD!%BT2<_TysTu%}5oB6|sc?I4O2sY)#2@vm>$%*kr}0BUKF zfv!1`cEma0@rv8&!AW}Awe=5Y+l?__!lLOK7xuQPj7mdl&#InFypS9|r686BPp_*5 zs4>v-weyL$S;qynBsLRPjTt-g^x-C0^^ye=Xphf4J5@Vm3ifnLxU>IbREAFUEF5Lr zG2n~4+9-`2V|qB1&WUG&wFv@mUK-z<i-?k0L)sCB{;l6m?2jKsnU7(5DOUC1fKt`9 zUdaNc9Bwjz(CboM5y4Vs*LK^{koIS#$G3`Ru(LRyW$QN<d}Hc`e#9u;U)>h&(BkdB zA6#rQyBySZiv%Rp9ElzqRnhQso%pzBI}s~IFV<8iFf*?{^7v+A=U}x_tO=1fcDhrk zui~MyX}D{9oKK2om8>L<aYS>d*Wzf#g&9ZmMN@ppSIXf~R~O_4rMzZ{yID)RUW*;4 z$5&6&rdED!`VI*9S-~Nk$M@l_oyIsc0d3XiaC7aM-8<>m2)bbq$PnDOo_;ENMbsS@ zE5wEU9z(5XQGKP<ZgZVd9$N4LA3n2*c22fC8T+^xpy_?Ty5uiuS!LHtcH_|_HxYZ( z_S@}Pqgq@??W?fo=G^<2$2%SN))`FF!nX&zKsy;jEOB4o)785gsZ1)X2rt{QK*Jqi zva6S4B2m+MzS?6|joBkOW5UJlp+_?526{Oq@Z=zJj=||d@X(D4sZ|O%e>1U|KQ2fw zICsI#+pKev5=A3)Ev(542sl`lQ2zpds?Vh<)Ky3Rn;z~m3F8#6AuTC6JVMk6<ZLGg z%Vc%8YZ@HfE=-i#y(@pNb0*36a47U7JM|4|w}8aZ&MZl{oP?>!vZgVGLN_j=yx~Md z!+iSsX;LkwcG>v$em-$1>=W|j2EVCNKC0Q{GmWyuP#Vteymvv)abA*QU4`IZQ4JUe z2C9`Tn9lks3clU=8^0GGb8Mj7yVt%*hQMHd)ihSaiDUrgqHMDT@_cKAr?%5-NL!Nv z88S+?paSkM-xOQiCntdclW|q(wRzOcjQ@c$X9-jq1wNnJ^}h}uydd^4$3}_+i{oE{ z8t;pT0Uff5WQPACG*j2eW2EV?jT@OJgp}fHKL07+Ypj$AIBWDC;!UAVSVDk1EuP0% zEi8IJ94l%hayGv1B_mklN|!^+<|Fs$S_}~s?bDZyKq((1<<Qo_d59u4B%xZaeQvW7 zd*}j1s?viV<L0*IJ}G5B@5))eu<;4X5Y{D@z6k9z_+2m)>DN@|eEt_zNjV3;z*yI; z7`8?N7+FpoaXI&yuIY<&(v5frBGN$`8m6?U5pJ^=`|f1l{>QQ653%ozIg^8E3|c+Z z-*ulKnP`?*Na^Y2t9}k4m<(cOdYBft+AMeoDUbYMBoAC9J$XeRd35J{{ro}S9(?w7 zPh)%l1-QPJD=TS?PyVr!3lC5CvZ#Nu>8=6EPHTmmCzk##KsetZ!GqTS33|0h@b|Rz zhI99TQRDM}j!u(zByPK!Js63Tpq=R<)s3c15yUY)oQ52kQ~7P^B$1CEP6gZWbk4Jz zBqMispOa|}s5!hSi{0_=8M-F@(y*EIVuZ<>a;7j2-9oOm0sH$Kry1nGHMJxev={Vu zcRzV1^+*Oy0!>0rt*|8zkLbWIY7crW2lqKX;qRO799~i{HC0UzQDyj|Diq#EQB(SN zf^(gm^~kZa#p0x?O7W`s1lt106%6!L)Qs*L#UzUB$kGDZ7u(d8)%27w1u!4fN)oCQ zZdFndGDYZ^S%3tAqz;SKA_{-3)A)e%m039%>e@;`tXAp2y6B@mbzuP$JsVO#%-ZNA zQGPKZb7WM?ZFo-miB$dJB%gXkP@{0;U=`5s*PA>yV#BYIkno2gpe#^A=V28-+erXs z!L&&NRF>Klip%CQQ;m6I9JmbSnKR?&p?`Vf$Tm_uz3d$BEX!+Z@zL<${%a-*YrQFq z(;iK|W0*YStIK$9jx7<2Ge^?p&mK(WPHG8BOLk3R{#eeh`&0`Ha(T@go}&B%X9dXU z#yW-ATG-CK^UJFAZkc`dHK>f|@9X%c+#?NA?zg6%UTR0#-=0cW4>ke)m?U-uu55<0 zbm*cgkjH;-L~bI1U1#4W*1&N^oIC2@=kx7=zo6(k$%KEAozu+)jaIp$PD+~<Mnh`p zxj^>au&le0{SH1>Rb5?aVI15=xGqQb?$uun*E<}}r%`Yo814`tcT9Wdjd3NA9dvdC zW%oEUALqEczdiaY+~x?`c|9BXkRn0&@HMLfVgS>7Nv$L{l*Jg#Pna+LUskX!<>sDO zHw96)#=8S53w;q_!KI?j2Z~fWbuCY=aqj@NU0ZnSedV;=q%dv<9=n%Ii+8=hw}A{Q zQOq)N*^;bKI0P^cl3HF^)_9lb>#9E2e&LYtdQKsW$z#19T5Yk%h2E0y&7G@Ky#I-R zQm3psC9qVp-r7hZ!&;GIj|*09Hyil}0^i$6x`LIhWPcY^w=<miQ5r$7nrZJ@>liTh zWf8ye+2mSIG5g6ckL4sG=|}uR;i*Va@x^wFn8W7z6+9-=(VvI8Ca*`BDX2r#C#$M| zOhntI@Fm)xtJ;#Ej~QFwdQaE`jMn#uFp$dt==Z=*nod53GeZ>&wZUIGkH&l&PcJXT zF=kW4Cx*3r76ccDwChV6YHzzoK=31MzRZYV;U<QHphO=HD~Q^}&5nzu(H10GB1AKZ zUx>D3YS<5t_2Ak?jMD10^(LSSv-NKIw>N%@X8Z8^^4MkSoe*wFz0v(V!aYi0=E)Gf zlWSPpUFsf)Jdl&#A?xWCobcX$&o>!TleK8HfI~OZP-pSGdauCS{_LjE7b<e;at<ML zX7)IEbHCpAX#;d^*X3<kOB$pVL)k^)-F5^>jYbp3*)1kUvph2@n3x*ALjE;IUFI#h z;SSmD0U>VJw~GoNmpC0Hxiek$RFooYe83_5=V`wM=%60Ig)ZhTWM>YNiJbp{+4Qo{ zU=^CO-atH7@+);K(jnumZ`}<CqN9uJ+)pS{o9D2*x-u6MHo4B*xo>z=;6IW!Iu$<o zch<vQ4qm@1r;#|&y0618ej%W?(5Dd~2WKf#Txj=EyEu}elgGSOCwyEqh|#kt-ELG( za+$y%THuJs^C?aI#t}B6HW3I_K9goGbx*w`JeWvy-AV9HzizH@g35YdTTMs;0&bm+ zzVWm~EC$vG=~89b!*t5{$ZG^y4Kf6C1H$Vvh;!ZbUMOggmcNOF{dDi}mk6|L8Nj(a zJ9S^#5FgqlZt=Oz`XDhpIj)2N*h~?`BQ(GX(f1K0-)Ji8@jlzyVUlbt-iAx{ImRv~ zX|b%U!z%{UQ+*spikv--I`-0!G$|RRZ!X9+0IYN0RB*m9(rBpPczQHmT%=!HmHinJ z*HI65!3Bb=JvJwge8=i2;4_0-E3^Cp7};}7+E=Tcain9fz>zwwn~uJF&szUnre58% zp@kH|M#s)h9GpovKup?M!+dP#SXDhrknTBQ7q9ImX|1mw$P9lCJJz{5Xd2VB{834e zvP3+x7t77b5iV-tNMfOCeU-Lr!x=X9{U+BH5^mGg39*T70toYTI0d+4MLH1<&Y2si zd**%T`3<k;;x4-T5b@=(Qz71l-($>r8oJj;vf6D~)Uq*nuOQ6BWU7f%4BggRPeCOo zD=wSOc;m2|v7&FAJ-ZyWo!9tXc&hEz_QWqq1%vJ;^2SZ4YNp#c`Sq<9ca;jw=)jv) zJ^YI(N|S_QE_9jcOJ*G0_bsJZFZN`1N3%T7stW`x`21-q>hRuA0Rn&Z%^j4+DH-LK z@gN9r_e>i%4zGFL#&uS$?7n|fnJrB(c3wMHq#@V7rXs7H0WG1x3GKAGE9r`9*6-e) zYuq+=npIUyyynUl)JL1lSqFWhAuRrIGLh=3f2qUs#oTpo9?Y^%i~TBx^2+TtAeIDW z)b4I}fO;)8_+x68&!{45e61s09Y?*Qk){afR)@-eVE`B7HO1$cP8EJ7%q?s~trwaf zN-R4m?Dz93GJqd=oHzYsq@?q|rF*)E4EOJ}ki4g9l+rNzWhmrpQi0|+vNzEeNT8w! z!H6F^wxE7WEETYPfa*4QVrLs`{u0Q}rJTvBymYs{tRk1frWsX-=sIGJz958G&3Z&Z z8Ooz6)CogEP=^K=lS*GfLueFC=!g~QX-t9<x^38d5z^}J*qXCLT_N7I8Z#M!OtkWM z(DG+JA-j8q&gfnu^SQ?^ufbA4p`oG}A<EC_^pqd1=GqXR_(H0HHm&*t4nfrR4m;N~ zm?nVZ%lNme)APi(_(&1c^BXir|AWv`U&@$V4yHnp(AV6;p_;Q7>ef<9RD$W4yJmb> zPa~b8(|}jY6Pj*J?S)76o=r#3Vdt(3o^;9lvL*w;zWOZB-fT%EZl9Cur;XnEUk;`_ z+@(j}|7ro}yzqrM+`r1JrP6p!M-X59z6_7BtK9rs>t_R67}=Xg3v*cxwV@Nzj(Ahu zOoTXeq*peBYXa><;wd_BxR1Xw?NO8qRMTAA5`HcOoh+#o6Ea_&G-=L+VOd8*8;<n| zjSBd#&Jm>~Oa`aqPp}R)E@2+aBwuph#ZT-SYI({fPqwnb>fcFa`+V!WsNcK`mUy(h zt)!|ZAD;I4i^<N05!RqGUN!f6yJB1iyAtfcQ~SgaZjJQu@i`Tm-$j~JP4$GHEmVj8 zS__R0ADYfqVn_Fi{A00Fgdx)RIqv+ns?>8HBPU>IQ`x_6ct6O=H7ZAPd3c7xLCWJ! zsIa}UJT#-0Cx+#!bgaIdvM=Ih>y(xCbus49bh>zwih_8m_-#S;&z`!<`tLhO9Pr@$ z<pdMRkkp%jR(l0cCO@uAiHP4e2OI5X#PjWkTwl#yMYVdv$t*~Ll4HZ*9>;(`!FP$U zr^qdg)FD^-?aZDuFQw7xwKWeUaKyA(7Qt-GZ-Yj}biCjP!yfe-XbtOp#`^M07kL~W zJa+d5&u{lJt$Gu5MDL0-=jc1y&CfQ0<pT9(L2a1Lb7v4+bDf0lBg7ZFFl-cHGb?DW z!Qx{qJ1}j4e0#3I$6)?-=mDEgA84KXA|LWIY`%t*R_ELeeCAdX{Q=;y=v_F0f4t!J zA>3aTm>=L}YW`mqp!}3o$-(K3*@@x&)BF%4DV2j?t+Qc`Iq!GMfjozT#K38Da@qN8 zdx3lM{MtW<Cnm}F4C>r<>9h9Q?91Iz2d{WH5mzVR$d&3{H4y7i@4|qDmQT?KOLJ14 z_O-{~PD51YG{&`2OxQI235v9R+M*$bR&&f3@oB);uRDpDYU>;~)dj&GB_#(7gPppS zRo}2BQ=i5v7wT&iy~E?(c$vgs`WPgTex16NopM@SpWbA~tDuCqT>1_1Uz%=?Oy0P` zo-hx+;?$ZSyh)x~@PctYVqhjjG2s!+&XJB&PV}}I86~Q$@&V@ZwxR^7OdYnCs4WaM zVy%<psuq6H!I)>RlKgXagA&cbXLJymFxh|P``fpMRzX+DpzQ1EwODPU_t<@QuN<VR z(6qM?tzaMm-E`YD96uL+HG);S(B9_-+1(0$YW6xp%Y~fRGdu-$vW7ETinhwh1Bw3r znhc|DYHx*~I#;z!+U}h{j|XPl7748+t7K8^_h;+vrdl10aZffb*!Gq4c8ms|@i0zZ zC?wTUWAS2<iP%hh7Z=eiUV&eI;j!gSQ^h+TT6gtpA6zk>@3!A_p(h;G_0_Z1l+fAl zCU4ItxaEny`ydtgLsTd<!iP*H12fNczGo_!Sx%O*h`mORUa8QJ1HKKwMf}_`)`?Xu zdlcSB#^uPQx$LiAmORJlYJ64oGkH@koesGm_NkAQScw!Nj0{%1V}8KT47&ol8fiUv z?ZmaxMbo^JzZnJFY!$q)!tjNH!jc+b0=XP1n4d-W$`_!$;4Y7V3>w{P!q&jo$H*Pw zDVd;_S+)3MPs^hZRVAsqS8N0-@90?-q#4ny-?R~*LN|YlAVRJ=d8nA_00;V&=vyXB zXwB^l>JHI^6?$>J0G*PW9lm~XN1WIhi;Y2{pt&#yLv9<KGkR$n=c=Ls&o|UTuKDu5 z2izG01o!SIcO4_iJo+qnZkVv?--TcJ!jiY?g&U#eOSDEITYM?&lwkKaMNtQn)j?Rr zN{OcJraNIj*s_TW^TN}Tcsv5cHwnIyeSq_##QRGE(Old~5|w`#YPgc}mX6Z<hK(>- z9L5=YV)uqTWzpZjtPv%a!#j2u4&bDtZo57-=h^0OA8JEFDVwtKir-tpkH8FHt3<B$ z+5?_-;5xyPX+)kc7JfaeE9^c_#<`hI`9EyEWmp^i7qyEOikDKXSc|*6JH;vP?(Xj1 z;?Usk?hZkVySrPF;I1dM&;L5_IoHcKCJ7m4CX>C_Z>@X7fbQ+?H56pgp13|yr&e{~ z*z7TyE^a~YiYF@iR5iCBjT1!{V>@G(la3R$7s=7Lvv4=7E!ycS>uXeqY_L=n0&e)4 zI?cbyS%Muf4Qx{7gBX2U9QJzKx8m`?a{PT{k1-dYw%oV}Fak_21K%34J~-(8GEIJC z`N|9(^mX6y_;knJN+d>#4*MsgkG=~Rfa$fv#lc>0wY!!uNAda53$o06Y^EIgR)+IT zyd~~(mY4!U-q@lmH{0QY@xmxv%!h-T-R*~(-d<ywJp{n6T|1@UK}oi^-gEdIEgsP* zg<?%v`8|zZjOqn8qjd^l+iprMtej;LVi_;*f-k`XZ*xJi4=c9{ji>7$Il$uW)UZZe zVJ_~yilW$|xNXhmpC6kXT8bWRwFYBVI%BKr9=@x4a*wss2C}5o<(?=R*i+Cuzkg$u z5cq1{(dh_#T#$19Sd23nt}5Ha4>1>{%Q{|57cy47f!3~;4>Yh6jP`$8hKnZuiF{N? zz~B)EqyklPNA`&W@E?bZttNj1h6^5?8(nV@G^$R{Cc`R)S}t*yO!l^T|CF;oL&IGK zpVxNgzaH5>bnNcGd;UDU`??o=rA($PWq9pvS;S9snXpIfudjJV!zG(8x;{CUbHUW? zeB1fqwPGj&ky4auLQh)hT{StqQ4jYWA~}kk1I~x1*&F4qn=Ric#ap98Yr}JG*mp8G ztKqb=t?Fe~(?@?6-NC0%fv>gsN$+tSL((R*h2lo1Y8x+Na%d{I{nbX3=RT5FhVyK* zE=N5+5DWkP=}>~nYOA-?VwCl5i?64?ID`A}4Um|9Eq8XeZMPfpv3QyY#hXBdjh1KU zb+6nL?$g?f>3+9N=*N7ShEgi<w_++U^}g)W$;LM|CMJU}`vXmC)lp5?4f1ehU$BNc zl#{oh%XiO5q*F4AAz6XP@j-KKN^Rkb>U$ZDhJy)wbHwQIwE>yPh#lV=QGSn1HasAU z1KwKl=Z`*j0nBMESifIyb{jq876Ru_?@c~E-eg4k%EhzQ#6$6_x@}j22yI?~eC5TB zkqOj6k!u|72qyf!C1N+zT(Z=CHHATWnW!SW6T(7e;tLtMnYW?UaXl^Z#YbkDZN6u| zIph5_Ep_&DD|LgXGFmv*-5JUW$l@25GX1CDa2NVqQ|@-7%;{SALw(weDW2rU{EMe= z&IUbc*n|rz3581W@=oEA*MBJp9~sIljc11bKpxLAB(*)}IIC~G$h1`vHD<47D=MKd zk-6)4EtF1cI!VO1u@WE%2U!vix<hNqjAKxdE;iD8)!N}c4VY~SB4bNqV%0&;$jx}P zzMpm|6&&7}m=#8tUW>d8yegM%bae8(`;xonZqdnLS15DHOx|Aa^XxJ4nMS+CX?>Dk zQ|&e0i8=Zmnz&G&C7F*Gjp}TUM;V;A=SHfI?<n%JkUM(1&GTM~?mQ<xGHP^Fxd*K0 zQlib?`H#&%^`}179x`h_cism}w+ZP}B4wZPj|hAi3=B3~T(NXNcBJ)BsyXF)SA3AK z&RAkNvAk#&%37X!DBh2r1s!t*sC27zNFg5D#-c10d08I0b2?3ofxw#epSQ??hMa09 zAxzf6K0<LE(vlDD-t3fy!)iGuG-kp#%ghSe-<gPTpx?4H;<@``T!Ia*2b#oygSL$J zmV##O#CFunX~CoOUs8<;KOw<O=flCO56#_iOy^^nV?3*GuB5x+-;rSVuM-)6?9naM zKOJWmY~0Ulkl8^%cB+4fy^(SIJV5~#sNURU+-j9E1kh~vTAR6CIl^%0f!cq)5Sl&9 zz2NVn3}yjC{1zc}bPMajzL$*uLRuzHZ#IW7$TL<4j9D71YUD}?5u=kJ(aJ8n{|Q&1 zFRBA(WU58`2<oh%{gvyL)u(?~|9xp}u};|_qxY#qX|H}_hbwka13$m%Y3JnUHwn~M zA@eGL3tFp*TiiGEhEp4G7a?_1vN>qdzl*t^p$zh`8Z7!`>{cP4EA{)G3Fh1m3y$~v zn-QRVhrS2w-%jrY#9atw*Ym~?vK9T4#H!N<4LV4gg^)w1jU+^~^Q}!WQ^VVj-t7Jf zc5I=h=F^LAzJby$?Dc*9yg3E}>8GA$6){p_Q#6j$;!yp@QwUo56TU^2IB)Nc2emgX zeV;&vt@1t2x(@LHdPt3FE6`oQS<!NerEq?8=weH{A~`=;hTIuno`QtR-C7&}yQ*s8 zW$IG;+dHa8FiR&%qobo^CXR0=F-ddHC;<j~l^H55Oiu-2Szgre2P}tnSurLKYMZ^7 z9ZON9NAjTKC%ckt(ZTsb9^E2vJj_#shiD@`c<Jz`P}A(dgl!vGlw})N{;2`T*;_mk ze9LOttkKQ=r}4J8Y4fP6jpHEwlN~)*lWbEND5#O2TovyH|7m|Jt7c&H;;&Z|mV@EH zjzXZd^RIs|w?%Ch`ZfP1>b<l%6Z=+tfZAn!%c$_Xt`7JHBALCUPUg}7vwxV*gDo_F zj}fnG*k1+nEkR?p(J}j9^3C&ahDPS$zs$}q89ocWqVG!;nnSPh5GE$(dyo=UT22JH z?Y&QY!iXbXdx}n!BEmT1S!zCFHy%MB2^O`667<qbqh>+*@?HLE=r}&NM_wVio7<^Q z{vm)6z0SLO*#&$V!JBfyM7($E^E=FcCGb?|AiGLoD^Rt*s#w(Z2693oArf%=1@^(6 zV+}8>SDX!|nV)i+q%qto#C4*FgyyiDyt`j;e0S3ju=F!j`QoQ0mM>pSFc1@)Yjrvb zDK!6`YOZX?w@L=*)OPz6ZVKAOK`FX)E<EIwLb!J==lW=EG`tqRJCR!5K2Iy-J;%j2 zB&dqhhH`1)63RuiT2O_NXP)KZ7-W>+WH@lq04ib(;FTI_Y;fE{E{aahjI_1p`ZBzk z37VT0+Jp|_G$2vJUJXKSq5h9j0TP2KpJO|Yp{^!n7vy*!CJFwXiExYF)3IG+Q@JHN z6-2-DTtDHxq@2%-VUFGJZqDuj0Ng7rv;|`H!BNN{Q3IhIk=3&}O!Tc?{r*<)J>~v* zdIVM6bYJKZW}Th8ua0s)Qph-VN3Q6B?XXM#4peKO=c1cel?P11_n<{YTG~4|o9^bY zqF+oxqv*(1983tEA0u_x**kM;w8XAer}4jh=J-0%FEe1Oe{HSojI7BnXy+j=qC}d_ z?Lx-J+lD7;I7e>u6aGs(0nRDf-ZH?KSy{u^E4dr;EC%_|8gYpEL<Gc-l{$Q_$>gbb z7_B+}3ytRc#$hvYRZ;nH#Rl;{9YQUA$5oFj+M+{EhaqMKfdRn&Vi^EG5-Wqpr?({H zI^#EOc@ki!YvP^^rD0?I9S!Kv-z?oNvV+EBsb-7orUWn12Z)E;a<B~cp~eht`Ho(? zG?k_aA1hwbiM~NOruqBT(x&bR18T^WS)*<aJF6G#BpwRnkbBd=6y%`+rT%>+1fNkl zdwpurhZC;xMS(;WdSubIFO2||*yZ?V;>82ftDVHe!V3Q5X{S^+i~aab&mcn9Uh8-| zZ}*nu@0=zfz=Y+=aSSJbl)7@mk3x>O`RJ(0fmu8gwIC{ah95KxGYsDad2`Uu$Dag^ zCr<Moo*?nzd2NbrTm0^QrIj|eswBiFF7tl$l+Wvgl?j4~7ti&|+%^2~&SJ#%*`@K1 zOAeOP(SmTQLkGOBg72f*h%7ptP6+=D!e!-jQ5<k8&hR_Mr5;~(vCdQ72a*TLVQ08o z>b51#(R~q6ey}xqwgcbeXip){JiWck6|$C(V4pf?rclzB>nM~h4nMYeXq@F8r;Un^ zO_O)UF1Aus2#_ALySn^I8=3-4awbg-)iK%k-w+QXY~m{J!^K*|KfH@NBa@|Dj#E%y z$1EBNU-F7kry@1$Pqd`2QIeuIf?3205mKP&U9l=}DpqK2h>*a_9NhFKA@|X8SG0LO z$(v~Ik!)|u!G$i^-GCs(g{qu-k{F<tVw~qgX*(X#i0Xk5FH<7wulJ_!aCDeoYI4ZP z9j7@wE0=D_Z9%VQsEGM+lPc^|xHJ4mD}cHRf)wk<npZ1m`EgVoBoW0tZ+{%Xh|-8s zp_@$4e2R84n^)y3)xj?huQU}f4cACOXUx(1&if;ei;>F7i`Tntel1tj^TKV=Hx=sV z|7ihRyaTkm(#+$XXk+=`ALAucMwywcd3ix4afb1E^0CGwD+9rdX)#jt#Gl-o866E3 z5cMO3mDVC964ja(k`HMD6P3#GOg~&qN#bOG3twomI&c0(R9r^^7G|Rs5jc&$lEssM zO5*J^smO=MqA!g>hvkAJQ?jJauMgQ})q`IZzv<eJN3g(+ipxM3wb$goGqE-DaR=0W zp#;L5fr3Ut*!)7YI#l0T(_cUX@-|G`Kb=qyM@yA-9*aWZf(Aax6UU21MwC<Pr69aZ zYRgM8o4_;~YOLGDZYZS~9HB2`3rp2wjL7a(Zt>2RGlH*v@JMp0bYB9HYW?(orjp{U zv7JtlN_MdJP6{^cOigQ54R?Y<I;nB67k4#9VW<bq;_sMzv+p@4H=1Bq2pv~)&DtDm zYT$M;F={*3gCq%d;Iy`Crpu_n6lFK~sW&g^JQsO~kWu@sXuOvBy>dB}=|DDNzoz#Z zkquHCe%o@;UI%L(eEO1_6FysZ>D5#ht|&}xY5{__d)7E2gL{M4mv}0c>um&e<W4uO z0u5b)B!+vf2#U(ztoC?1h|hp;dI;h_&37@MdMEX2^mfw?EvK{DcR8D*GuTE-qsz(s z;#UK3MfVQEDG|lSU(aQ%#Sy~&mL>=iCc0piR!V+v2J5Wr7If;oFHxYj6QHgP&T5Q~ z?oA(f_1Clgn$OI*%*X7rz#;tT{tkys-)lbBFhIP8)2woG3d%Xxej)-Ro%y~Z7wLAY zE}WXAzR4u*ha?B$-lh9e>|_LaHZIOcw~Ak4g3?C;-P+IJY{Ah@+0U1w^QUGS3cJsx z`~@NXvGRlV5j{p-o5aEborX|FGyRh@UwiT$WJc?!B>zMvX&s{Kh`)Yy;hZ!@gkD*7 z(nYAx9}I4Qgx1Sj?7<n2rgnDvXi>(*<7GL8kwm_jPNijtsw3<i+HVAronPFRCoM_n zOLold2Q6e4BBPTJ!6QW=c0YQK$QD%?<zun4mI@G|9@EUjjb3Ya2+m604;(;oNE1VL z?ccu9r3xryt6jVZDpNwyy2p!*vUf8P$RH-i_VRWQh#9iSp4GR=f-oBCHik0ibVrs) z-(j`iEnoxo2M5t%E50}f9HlX$NWiI93?=r!Os7Q)(++67XA)9s8p<J_>mLLbju9?S z_!LAAEDB}BQ<MI&Ck(VT9S2|~4B7Que4vS)r}#b?4E?U=g)6;N>hwuu7XcDLO;Y%? zT~NO#YyhAerwhvfYFdJ`<v~F<lqks8%>}aTG8S}x3be=Dk;W#UQ~74R6bm^sz)(*N z4P(<VQo?PN6T`M7pyI*a&N5MawUa{pqwMQt;;q>U$I#HwPEu;%JLdAAUkn9IrQ`u$ zilY<jL#1(>YlCu5v?Ne4-YwnSG$!_g1`=Bj9z=z{J1|El?Hm|WLE*%bGR2Nj_4M2x zBwg4l4xXsRtbR3AV=m!l3NZXy0|lVWhbfmegGsAgj#&>g`c}H9Vdqx{Rp11&vk36Y z`xJ)vY$AhzNWa?hwLT|*pLQxzoc&}U0n&O|E&GT;1mWr(rFg~u9NYJh22#oRI7u3w zC%q{d<h#{J)K3!3wh2Svoe2M^2v6?I?umWCXw4IH-RYo+Sn8A@NUo%;4z;gzhVXHL zOYH+G&Y9%95jyXu4H4WPZ0rrx_jucskuQ`L^6{@0X8h9#V|Ny{(+Kd;t4r05=&_FB zWupS2wanzvI`#9piWpgpGY@En2x&oT$~tuJ$d}ro_Y0{8*mGtp5TgViWllxArf^W8 z61_ME`=?bhG?l)aFfg5@#1><;cp#7#FJe#yPWD-?1dxXz$filrkeGoSj<xVXqsdos zBKiteu=AE`s(emCIedJ;^H!{>>-w&kx*bgS0WXi9O6sViR>l3GM<)_$y`_5(hwWVO ziU5kciv`M>a~Ac01XYhRa(`yg3_f3T1$R|+Ql#gX*>uT*bXQdya}OIpSJ+@}JX5I% z^s}hZe7Psm)m~!1Y2x;S58BThCMr6U?rqD1gUL#EfU(<@d$?2XWaK0J00hhKaOy-d zgG;;?mn)_6q!G>o=6K{IX8_@6HdkkkdCB(<V}#AWAWuoAhQBG^5TZ$=rhtVXQ~kkm zNv>vpX}%@l%FWMrldi&c9GY8$@u+D-BV?V*nS+j4l|^wwQnl#xd0f(;3D}YqcQ?s^ zRrGApW<x#&t5q?mWX>26sWG-i-0)`!r7`dC)wFk61e88EGb>J3b=c8GD6eq{%ciAr zXdyj^Q6kXwns`L3H(ASzme-L`o`{`<`PT*@%w+~_5&(_7pGi^{El<7uRCj)HwqMSE zkU~Vs@O(Z#@Zt<K<6v6Hy3yeBER(sZe$IDz;HV9HE{L`ph+J|8v?*%YHdIM%1cbQ8 z=x3btjX~c9F<zp|>;ejOxWGFrAxOwh6wPB4Z|dFNg9%;lKAD=!v@6Yx8KO)oE}DoV zGWYp|C?#jpy5+q&!<y^Ve9tE*)F(4^(3!FXyo_u6G~pl5m6%0B<ZZH(Z?s*=;?fzu zE|<+4>R+W??VB2)h_0=ElX8>^b#8GXrM66@elf*%yICA9#z1=Mj5QRS$rx(Wr1b6v zpRVmm9O(qIql*Z6{_jU1BI)6BSlU2fc&ifCti~V&EN7R?ShDt7D!v77y`z*zr0hOw z($(NyPUfIzqL^V}WdCDnsDz6Re?|$z$+-yLIol>U|CJ{m7S{0%MQ5{}_+`lc3U}u< zAP|;|L6W;miu(oZ2noZzglUF-ivhHKz<#xjIjDx$V|eSPh=HK%x5fp$Z1}Gu!+gu| zE~x!O4X{nWxp^Wn{xxvS!1VtT3z=}@<Ns_qxXu+56z$Z18%%#($N%FOaOml+)#v!n zzk};p5hJ45{vUKiiTy<D>yHAj|7D?Uo=(}a*`jqVBTl)m!{2$kA-hxpZ!dGa&yCG! z+1~6WKc0*SF+Kt$(88nh{v@n|4@wn9+H&_lw^Ro1rDqH)UupsNor8x2YdI1SlXb&W zHi^H#h5=n|>8zY4iIkl<8YD;e9kRf?XWnyv7Qs7_9tAXgcD<GqxtzpFyke~{;l4TR zC@yCt<sbR_b5Yo0dYD!u0n>{hgAm`Iic0x}#r)*zq<VRdWS|Ac>#BM<@*1u(;rvk+ zo4LCqG%$u@{981i7t>xv_k^tMDJLSI+0~7G!N7L9dXLA!2)FYWx=^pjy8wA|cL{)2 z0=nm2mDg`o|G0E+*@Euw=bjGu>hRaiWnO@el<DIx!HP@XH`t_Ky!NegzX3(TCtq2Z zqtYTIlo@C|q^E%CKv~=9;N>f4V!P4DEJoZ8jM`_W8*45F7^{`OG5k&0C1Uy}kCVF} zR`9a8j*g87sRi!vgZ$@HZLQ~%`%!t4t<m>Nw^JV0zKoMe&dm69ps+AlK3%g1p>~2O zQ^WB7*SpmOCwNsBJFy<DI%bH%eLN825)Sry+~*vMxiC@3Agp$tyGpgk1Zwr)H`@{j zCWhSp6ShBWq-UfH8CH{$T3}>xH*YntsHGKRQta4>s3JXB1*FE<^Ex70z*fF*s@SlZ zd^&KyWIGY%DYn*@+E`0II$j{^@{(~7^AlyrwXbm>Y&23|?qc!^smLLu%0H~WNM`wZ zCdX@@K^<PNkqd0ZW$84Nvz5yvE?;G~6Oq)}^{<sySybc$w-)v_nT)+|IURetp&j_6 zXE@*riVZg+Ug9p{wtl|PK26f|wK*P(<aTTZ7Run`&ha}MTYZ(SMc=+)wI$?N2nru) zjE*OY_IhmM9c`2Ne5rI1AT_~rnBIYD(?WGuk^6)PA?qop(_>$SXJ*z%G892|2s$>N z3Za+Ci7dqA=|@WuRLjK=`oQs?Q6ccWUut{Kia!nJ7#1m&&sAE_VooA?lhH!n*ISq4 zB$EbPI0}B<8}>TjM$|sI>Es=VI@i&D6>;f6*vM^#&~#sULdjjW^8eqMWj<(&wBunf zt)yHcAAq!c)xkD9HG&z(wwgaSRPJ5W2#V;Ae#Wj}*ONVft}MHXB{f^y)NZmwQqM=g zSs0ztPRM%?+k$vg+whu&X?0ePF9@f<e-Gn(d8&2AS-89Rr9<JA>89YM(`_y;sLRvi zDPL-nN7z?J@?j~$LTCIeg;VvZdK}M_G&lafH%hc3WE6$7G&s}lo%TY<O)$zMraTvk z%X0boCU(#nM5vcZ=vsKexD6(^Tz8!mX#%FG%5k7BsAIgiJ-=g||E}KUvV;@-8Q4Mu z`l4na6V)L^)?*J)dX(MibB3B&kfo(@qBpCYZO_uS*fi+R1!g@<xLl-E*A_E=&l9!M zYQNKx%vO?YFIJ9PeBWHox&FcT;BGkX?STB@gtTiG5d%(Rk{dDkoijx3U9T~LcBx7g zAQZt@QCUdkEo_CCf7KE9a=W{@u3<JZ;V|*`C{^&@EQmw4T{3N$s98A^E!%r1`SEgy zmGSfVr0qkJz$u+d3j3k*nw42c@(pO)DOJX7Pf%N@oVn7TkWuQklVCS-Y!~IvVa0bn ztN=_aq$$iE#p2g9Ja6Ptw-q;o20rTcn@JqS7{PXA;Q5#L4Dy1$<ajGbh@(1gWA}mf z?l6C3+v|KDP;m>P+jz)%cZHOUco_V$EsYGkz#l_O{7S&K011O3R0#NTfpv)kjNj?! z+MNERo@rt=HdTo?>~_AuX7)}>OfBEDNj+9M8e{*h%Vo3DEcDR=L>K|94<iF7b8y|+ z#6y7I$r0SUlPrWqrfQ~hiY!V+Mx=YHEd^ZD6!iqUa@>2I@?z!1O>vv561066E6p_C zhOw;Q5I7Z)?NrwyL;7m@ZCp9S<D%33`?m##+dJadgmX_BRQMp~c2w6-Lw<nM8Ta_l zON049Z>>snr%S&v9*inW1}2UVP51YD@cmoVG;n{Mtg(LXEVW_(LK>;U<8k&`*zQwg zpPk)Bp!D4MlBVg-P*HYpu6lGU`7WU%qsx(8nr`LXG4>|^nzEj)Vq3UC4q;?43^p>G zIR_>2P<KL>fF)zk`x2(|{6p-Q_azQVVKX}jf{rds!6-9H6BmU$uEHC5Ou{t|#_a(k zqCR*QlhPd!Q@UtiJ$c|-h3PXT?X<IAw^p{QUl`(Z6fiY0jN)5)*+}-=;km1}&Yky! z7Sd5t5o-BbKtz6E0~oN)LnMrm5Wkf`4|pz8_3qKi)_m0=B1>y;esIN5GR88~T^3R* z)cHZ{jK{VX9BqGm%z4qBgMi}>y2hPT_S44>w;{j2IcGWqZL>V?I$c^h?V&|JgfHG) zG>-geQw-pD!9yB7d*Cm}u@C^JuLdlRG~p~j!*wO{y>IVoHE#N!79eC2za33Y<sh}0 zh|pK^8bxZfL%pzTbiCs9yyQ`0cADC6welM6A?S%Q-EjVa)uyrD<-!V|CM+&OAt`{t z{&0JrY^R1{!f0i6K{l@=?Lq2XOW)f)Yxdd?T|J4~%M4r`sz^~2)ROQqG3g-KMyD-% z(NXa1FoSO?ui~D-TL^6axXN3;M$Y=2gs>Gao8y%Y(N?_=eVeldFPOCDfuw_4+1-Y7 zE3s@|6;%8dwoq+2TV>Ud^in*rEOvuoe#3AE^mz|K9j}X)7#B-Jt&@|<=um<CcfTs5 zsY!rP{q9qbgokT<HhQ(vk2m(^?ygR@gtimnNCS$MBJrn`dn|bD-Z)bkL!TmXGB6x) zMk9CukSUF|x>N1x+T0mgXo<VxKHwXF|IU{Wem(iH{$>m>N#*lt(dpl8hr1kdZ*}R2 zwURn>`ngN7qUF2vw0v#{itDH<6ct?#zgXY3-y`2Pom%Kl==@|qRFwklurrcvUHvKL zi{Gcy`A!K)G$z;i=A6Xhb<vuS))C_>tKrc8^=0Zj@j22}YdkA>bH#D^kdV^~T5qR^ zMF(exR|e{>9D`xl;~oe(U#<N!-uf?Vs>Qws?=W4xH~oKXS%a?;p)#Hs-*+Zt*qG6Y z{3~)>mxAGMMfJGYElR9^-R_M*n<ua!U-@Q27WcqC=<CqYzeM==P^`_0YYeO2U(z1G z?ixYPe{8A|-N=1}zta12^+W0Te_?cf6)<nEYR#&rnfKqzn{7tMF%I=O8viNoZ1a)6 zK%tZzn}WRTF@tJpcOH~b<kx<q&#tg<QxrO&1wSAJ3soo$8Py~nHVeT9>QjCKLll41 z71Su?DE%bl^?>>7dlm{s!C$b#?CZ9&wps$aaq2$APL_?CRO20k;BzXn&a(3~s1m8a z@ei0e^S+tIb<v(<AJCjWO=$DD$<Gk%MO$cW6xwK*LWmVc;fMc}0!Zd>wwIUw#VnK- z<5p8EH4^cgSsSY>lbZj5dmB`t0lS^?rBpMoXXi`mXmOdv0fOEeGXQzw1RPyvnWG&U zEhU*USs{b|pL4mA+G>yUi?d;RZ?_%b=cE(szcmHloEN4t)d3>|$$W&jx|)YpCuAQ% zhRaF5H1!etEhs!_MhGSeTm(iGIQIk*{X2}3w*R&r{-4{#`6or)c<u-?PabL8Os5GY z>FDu0c9gzK&Jfjk)`h||y=7G$#ai7es*<0+K<{$vM95~J9f$gyRPge)Tn8<`yxzK( z{oXKSvH51Z?(y$=S)bpYheA+Ud%V8pOnUzUT+k*Qxw~2D<-Uz$j;DWp7{$g)sNm@k zpD6M6)%r2smI%fFus!iJmUpzsLk-BsA)OG~vZs3iNSc0R^ZlSF2SQZKY2;hI?gykM z-^QKx>+-Z&NYnEbE7EpfRP`Pl4Pq)5VTvo#Lbcz<@$21FABii}S9!F%a%7b8cqsdp zW=#7^&DH1I-VQx99#^mBky0l6mSY>N2Au0VXF4C7^mq^@x?O6{uX7g`-nt+xNZ;&k zsrs1wx_-t=Cwolw@DQUnYj^H!^zFJ}M-Aopo_@e|E>E*^zQhhW_vgt<an)=dd<L^w z?tdc%PHJIf1@r5Pd4yl>b;?t+Mmr-w?fa-Dq&pD9BVE<q;=T4h9H-%U+DhH?3U$10 z9(|n?P)~9qg=<1OyUM6Ct_<VfjW^_M;rhk-Dnj-Pk~uX4TIZCtGg}qapX9h_d&+;< z=kDuF@=|r!DWjg=pA>DYgI4O?-e}A7D1T@0$^o1{^t%@RUP^NC-39&36MXNegB&_u zxIFJI=}rxfQ;CWe*fHn{aan)9j5cDdx_STpINvh2_nB6y1h7bH>?g-QZ~S}Y2XJAu z4l$)3?qIwO7X-G~lT$~}LryKLz(rG5s>2G$wHfa{iccx2*m^tOg`Q8aM}nLmT(WN? z+$ZS$(x3@P)NplC%Dg+cu6jhUI@CAYeSLhCHAC<A{7>h!(0aZM+%9kP!z?2nYnR>g zdYeYtg)m>nXNGv+sB*3w_Q{3vo#Q>69HFVoNf6E(d>-X!-*4TtT|9bK`hgzh9S@-< ztLW=BJsqN*@N`t5JZW%&u2Na>Fbl3my)5At$c-P0@pTE?;CT2z=N|O_eg2E6<}$v6 z_)t!)wQ6%Go15(cd&{B^m(!Du!QXsyWW^o1f|wp9g)ni-lvg6<$a`o!O|jaG=0CXN z4%AkP<txWrhb!i6A#VEO^LT0BAzSFF-(G=4Tawc5sNd}Yp9a23ssH*#8w`>}oSx1) z{cv^Vf>v~-DV?W5BUfr0D_T14z5{o91Ix)C_q+UHKE6NHdV2b^2cJZ?S_u=4;cChY zTT$k;<x^<xF~D{Elodf?k#3v+$zt|rrHb#TV;Zw&@Ha(s6ga~2fbPsifX+-sY9Lcq zpdyiXW`J3Bk3yt~ky&{!T{1IAANy_a_3WM@D$c^CKJ!fR7)G0S%XhAP0b6sEAy~9e z{TNbLSNg7{9iu(69;dZkG&t%&qpmnp`+~Q}1R3p@_JRk27so`c@pDO|h(bboYJ%5! zXOwQGStjOGH0p3)JNm)tZ_#%jd$`nT1f?F9o3yi_*aA&u>`hHGIqnM0nq7Mw*fM$o zd2vs|$Hv)aBIhu`>`Yb}^Qb_~UxH5uZt;37y^BzmQBmiE6Qad&zvjOUH2rvr7$>WA zRnz&Bl|x*tlrsa;#B4o(T(1F`-0;FheCEG#P9lQ2oRb>dC0`u!6rX>-ik=(nz5qu( zMX5H*EWdBxVPDfqDhc4Ssl)kfoMcHay8S8Oxa#R&l53UyCgn4#0(OT!L?U=UUZ0=P z4XwDUYNO*uz%MWL5U?qzB+=Pa2^B~#=De`kV6Az5X54nhm6*BhAoX{TJXTs$<J9jv z$HN$=yz1}K^+Zf5hC46Z7vmOGnQnlvC*IhQFkYY&Zfog2pd2nqbVa=|0DLkDAFhor zI>_*ToiA?f=xnjgVoz?P9ws}*HFH(Q$k%RuGTmto<o4nCASWBhyMFlYVjA(A?f_gc z`|A_+!}uLh127)QDy4kttrz}Wj7e)wd&t*-bJl{``o&?rn8kefcwY0PjC#$k8IO5W zrw)l8PQpGna7__rRZ-tTR=uZiIG^^=cH71O`AGN}V7`y?l)OsBov8(TK4-t3{-yMK z{l}GOKLdYJCKm3BV#uYh_lo7lY3$1g7yjr03CvpNG53o}iUQ2(ew?c+u`lpzAF1!N zlT+R!&1pvMO~zToxPA|J$yrZLsppLjZ5iqYth8nmk-P*MqOLC@8KR(yhQ|rW67JQ@ z^ZDE3k9Dj1C@e&eYr;Q7@&))A=c*%ynlPQBx78#r<6Wf&fUI{nM;GFGq`ELv>NJl8 z{=x%F#wt&|=^e!Vp}S8vTgHU4S4PmJ(omSibu9#LDt|A#k6T5+(D=MgNFG=u;VAH> zHoe^I8DnmW2xbNGPY5D93CL~{HIOWJa5{wXYO1?!FNEZ;lg8X~|AtT98yV4Q+Sx`s zfeu}O&gVE9s!W};zGsGOL0hFoX}CPvPQSi3dcN;j0>aznxF237zdP5T?t??ZI~b!I zZnoc?hvxPP!z%T^-qx5|PaEKRo(}dbnY%7s`zRr(aa?T3590LJl*A=$$O>(2WOfRY z==b3O(99lPU)SYz$Smecb9rqbT$R(Daj@XdXI<XlIK#&GzO#n7Mz3F^>#kc#sA#r5 z-TF!zKg#l29tnxl;#RHW>TEyQlsPTWPVwVvzgY9p*VD_g3b>OAi09|Y$n}5(X~1DO z+*w5PPb~|vU+jZ9p%k<ekW;#OC^~Mf8=UjeSE^EP(iu?3X+rib$&)%4=^Su;3`XVF zRaIHeSK!>%g6%a>-P7G>xk9jik(MCD<pwZNBeRP1@DNN*u5+RPOQO_#z5yrj<cpPR z7Oo2Q%y+*Nz`Rv`h*ydFK%soeLH%m8=UjmJxEwgG`OVhfrtVbGh9%RKg?ZeRf#hSc zz!$Rz#eYakOe-0#B)yH`PO$+DRZ2}YH9h@8h5D;qLGX+!CViI;`(}q`ytf*sjsQfg zdMBczt~|P*TC=$1EcwSB@}G&u0n7ou$7E|ln13D2@}6N)E!F>Y@Z}JOSR`2Ce&=7# zk_Akdo%m%dI>QT9o(w{Vfix6mR?GkcxM3skxt#oLzPp+R`@d0^&6f3+vjgEnd-l%V z8rW3C9&mSBxY7hG`me(tq*gDi-9_Jp_Xc<~Gh^5-;E|yNFA2a95%bPFiEJf`PeW5R zOvKlpq7TDR$Y`+VVtps(^UMu^-61Uq{mS4UTDpJvO|ZwwgozO)6xG{hI~sfRIN)zh zEmw|vfN#_+ZP0xTvBW~}_iuMr=Dy{2gY$zNJdjs2hbFp?U|6=_gbBmiK7u9bF5akP zz|uY(&R@^d_zzrjrT6}&pLm!ZI~n}h<*-@s|C)zJo4;2Y&=%8dR;hDY{zsghpL5F< zdJm<VqDMnFk7RqO@>c2zX?88FTPu*#m6a;iTvumr@(@mN{4F2(>utbjXxN`i7R>(n zKYmEy-z&C}ts4&igH@SME_dOc67ZH#Q@2!BD4sXrmDAfcDZfSj#2;$^fWA-#$(PR7 zq)3v58(R$d=BZfv#)Q88A7W;xr-E~kd&t95mr2rkL)+c=OakM=Z{8;B-^=1kMdJ9` zC4gT&l+5G5#`SAuxXgT_y0d_nL4v8Tf5A3ja`!N6nb8!&UG$IY<^m{`=ym^I7DjzW zt|SI7r!U?_fg08U4ew?&{t|6t*V5La5-*AE^6N^FUZCHq@9~fuu<Hk$0Cto84_W?i z{M`R-w%q@fIX)TXYu){O0WZUEl$DuL--V%z%jr+2p3?+vTj0M__|v-8DYyWNx;;1& z9-a8xOmP^O0L7#&)m!Vs4;(YH7sM5K7AgPBxBtw8tA|8UXRpT~{fnxtB5H!mxrY3K z%zW%0SWUB_F;nYn;Mcn9#*;r~N@xzjP!EECCiMxiHU2+DagZUf8wFq5N`wx3Seh&` z_6Ys6n=3?0#?#+Z;vseI@&TiJnb;*=+aI1xb%6B+ccP7ZmhxXO#~*I<^!+Q?CK>-Z zi2^Vr*8Uco6>qa{sum9x!bL;h7T_;R-Gr9sU;an8A+{OmppfqRpBCU61CE{Mmn)V_ z!@f0I8RQXMR4k1jzuyZ&9PZx;>>JGf%ifx_Oo|2bv`?%kki=7`m`C~l>n!vCVZ{|T z-JoA(GME4Du;u}n*6qTe?{YZRT2O%bx9jo6Hdh*8WvwKBFT+rJz5?s$`ERX2bCn}k zDBF4;MVbH-_%>It`!Y0EELfUM?0E<qqDS3Z@zU$xf`iH1Gr2=g5R~!X5JGNW8K#OR zf_kS~6;fX3><uSnxRFyfPER_6^sNfnpVobP5SV4T|DH8L_NjbLZU$+;J~cB+^AZ<h zMq1k}O}H`j#-dE~KrRcL(~ORLNkQsE^LiakWtF3kH8gfih#MHUbSF{0$iqC9E}24D zEl9|?jK6a&6UX+-KHKXo0gtf8UhIK*>>#`v`(p8-2S6*~M#_a+|0Hf=dq%zYuFc{R zZsJ3pSH}&xeWhq=B1+GzdcDuM^N)fT*=;`c!_1fGi-E%~$IT5*2<Tth8Xd>2PRVFd z&|pYh9ry+qlMTjVvYN1_wdWsHQRvtkK9ZxcOV+jMO^nQ5!ek|19I{PgsAKtPcxLOs zS!?-f9;hXrqYJ|h`>fwQM}a?7bH)32l+2i;u*2+WzFD{z4;Ne;q_2-gU4(fsjudXz zk<E`gvA|P&pk^_?<8y2`^~>t{VAK&Q^3uC;-zRWtykQCq4=y?2(_9rW7b*nhPdg(_ zdrVZ}Fh7f8w;A=q^Ph6RxN_QI^SFZ4)_`6Ui%Vi=QT$=N4InFnANLdWM<#Cah}Sb= z%!&rGpw?ds1}}R{`NFlXm5b@+(e`Cf`xWntU(C<HFW%)ldiIs6`zS{^uI`tsF_b;r zJ)OP|kR5`4!vM+Tk{N3<!<5q#KR8>t8cD);;_(RY0jJkd*hr`!9{*%yPM7+xzFKQ> z)$QpdtCO3dqK-cp-e&WEG}1OHQ^Vi-<}9M}>*-XN+~<*4FozAqV|4S2@njDhao|Ms zrH*#bhqQ72INxzKeA=Q+G+}SAVAi}J_1S6DA89@sbvo^MZ#F0h&VWM2xF4kB`^rK_ z-8D<Iy1_~y7f~mPj?rCRD*Hnk^Fi)?bG1L-Pgrq;x{EjNL0<tbs8VJ|DNTq;3~}#% zN&C>57P~A1vUcx&yKtU9qs0p}ZV<i59NNNQj|XQmM`Xup@RxHJZ}7&slXIMcQ`t|~ zx$LSs;~e&-cEMqEZzHZW2Gw{x09V)Xiasw4enL)VIzm1hFEAz?T~4GyN@L8;3=Wo> zsG%ev6`ybGa2h<s{=nfF(t#nSGE&=6%GcpByLGDy8h60swG?6hS_VZg#oc1I6LFx} z{wg)gPGOZrtO};<xtPsgJ!jI~8||GObywG#T-8HxRP?!}mtXoURXsf$Tl!RlyttaF zMwk>5y)JdkYWI(2VEth(GG&LOlOODT_Yud2K_&80xe^+w=;tdJ-Z=Kv*aU&JSP#<% z#xV8Q=iTYZdsaE5KsD$IH)7y-cUoz#7SC`hTdOF_&@Op(p&5SC%!jMSmm^yUrP*8b znxQNW_tyv3YB^tVT$Snyf}Dnra7|^$f~;$CE{iJ9eH|gX9kJ{KOP#U_?v;Yt=RvE! z+P)OfsB+%5d-TfnL+9x)-CG^9>*(7SG2Yv^mM^tyf6RSY5&OKiJY5l}H*IEJb8S@V zk4Zi<T{=B0%nn%CYpGBsBs=5pM6L3B9nh&WJ!VedhKylPC?~0mb{eCe<n#Ig0=9nN zJ$^lPs@^U+-SqG*sUXy>eG(jq=-gPG%ZcKd?eTm~djZV^TOB6wRSw_H!u8=scz;jW zOp5O`9>j_wrAcR<rgwLysi;MUsy$}Eose@px}|Gxa@*bflyh${%rzA$!~UZ6)wtoI zI;|m5W&Rq2xt6){50}GraqL6MFoD|ThOZKnI<nv_gb@bQpN0X?xz4uXI}A_CLiyCE z<%EuG==usQ%b(L9D>5Dr6zqY)Bs43~I_$vf$9FWJT7)F$m-?7?)uDJa#dyibzDN%B z8tFS`7>^I~i%8GmUS;LJL*ybzii{s%U6t=Dri~U~3S7KOX*zfkQ7FH=-JiWJS%jvg zDfgsZaxjXuah>JG{ThE|#=2WiRiX{hf@N@I=I{@(w|Gt(IML>=+Mybh;YLYgG`<*F zEC5)#kahAJyBC7dML{M!jIH0#8YG^vr&jprI$XCJ>*^H)o=?;B@F@ee^q=h^X*pfO zh;8sz?i_<5>Vg8rxJ1uW;tp%-icYb_cem>fL2ZzT+sTZq!EOoIMa32V)0z$eZJwii zNy5jRPB$ZG?!A_5dq<)=mHyd?<RMWVjojgDHl~@eQKDE4`?Ghfbu!A-r4UJ!(Go2r ztkV^a?A+?+#?IG0zR|Snf@@22&_@f%Hqy;X5`To<vA^)vn*_A^*#BCn$$bn;X2t|6 z*6qnEi=Oj?heR~f6@tctTA`V#6*1*|Y-*Z#u)AhAsDQjlS*5<Zmu0v=j0n(+ED8Ib zon{J-3IjdV9nlZ_^UvKrKZ*B9ouu(()UzC?3(hl6487r=#7368T4n0av4neYWDaG1 z70Tb9xp*Z{xZde85%zz$!G6Bq$>ycJ9j`gL5#twEga}%Ny*?!w9-^A3fA&MKfx9=Z z=jg0@;DQ%=63`0XrUKl|`=zM3X~TJJF#3`V*rzMllIwWidhpHhclP+hOLL=Y-yM{l zYjg2L$W=Jwag~H}!fw-3S1vM>!5umTpS14~|4ec}?QGuz9Jm9nS39MCi=rCk@z#_z zeVVXr(`A<u;2Xil=CX9r#T}B?*>4wK8C6FzDSTO5RqHiJ-C^-mBYJf;q4nq=4wi~U zZB+Dq6-+;Gt8;L7+#WP@;2HG!Vd%r12;yLwh!v+^7_rv}Yt$eS_BpL=jYr>!3E$GA z@FLt_N|vwk(<R?mBiE{NQyC2p`fxb(&d=&<moMS<#MX$%sO^*67$?LAdI&`bxzm+P z*~n{6{A*P`V@cghJPX;Lsa4E>tCzOfjf~*&gsnK1e4EX*3bPW6)TcS;@7H7WE3Qu{ zn)TrRvGodCHsm($n+t0;5daXjnrcd_!`oY|PR6(^s=U5OJgZvr^?lK0t!N-~3|6ms z30HyX;T|X{TX*f>oAsl!7->6N$ZvhhR^3Y;RJg&Hq>kO-Ki>1<FrM2Jz&<_~IKN(v zRi@IbfSvFT>})PINlmRC;2xN-J$pF+{^NDA2|tz7<!Z>;kvpYUX;##{@pY;0CDU@& zLebymkJGj}L(;E`3POjt(xGh>(e`$8N%n+>4x@^*FTASn1zv&ymvU>B)_ZPX{>AEo z6Y=w=_I?Gy$Kn|~zDoCKU<iM%%@I&<d!fYI5|v~iL+ZJFHW`0?t!{?g{jw$VLRn4` zwf5*3!?CrmOc(R=!z=wUSXf^M+SD}*v6@Z!THZ4sWknt`e)e=y##Zl$iMn#h!L<iZ zJ$mkkh+x~lBFhkeF5e%wLS@Kk{}ScKz0=1j=wfG|C}{~Ex&+mY=npRQQn<O79=ZSZ zL&>R543qqf7hd{*N9)ki(0o`bR-yto9)93)JK#4J<DI^<6}a5}SCAHP{m0GZR(=2Z z(e_`Bi1NRUV3_9R`oF&$iR-I0kj0x7_7At&1cvEcJG!yHc~0&w_ukk!ud}z%Z)uJa zd&4n|l44pt2Cz-V{&yz5_}{@CPrVKm@u}-Ujbbpb>qU&R7eULx4u(~uX6x476HnqD zo!G*y?b!J&6Qi(l_XdK5I^dFW+E=HJUS~z*e(&(jA@kzpoDg{{uGr6|O4eUUrV~az z;3iK(_8g10U_Nq$F}IA|2rDU!50S$}X)s7n3D8JC<<*~rOEdX9VB(eDX>&t>e|jN3 zv)`Op5LDQwS2)@J6rW8<S^nySSNI}FUm58+i_~R#I`;TYEeW2+`c4INBrX*z8vh&J zX0wbg7R6%o_KtSIVzKWXJNogKt8Xi{W<}-n+;*UHPxT0qw2`@aSHC0r7${PblGLww zwA1`+&&tR~)gZHB6sS3toE<GPz10j#SAh(mYAkvZg)x%E%5Yt1Z7OANQrHQ0!+@O< zngr>&Opf@3pO`A-#HBT2oOXBCI2a5Rsv2V~^(~F5Xz70qNyU#no8w-!XBR)}r&`Fe zXKpa?yMj}oH58X7R}y9&OH;NIO}Zyt<sF}fXSL?fIQ7}SYtEAndqyYo_tQ8m(o@d* zt-k_ArCKqq*4l1u5)Ukk#|l15dsdz~e>F07H5oQH8~~l5^Zb~DnWdX~3n)BvqS421 z@nmCUR9Q|Y#}UXx7XI{KydhvVZE8iv!xsI|%LC7W_VIo+g~7ltOjGlhJL};ceeo_; z!LFr$_B7A&KwU)LhQ-VvdNRNSSZJMe*el6@bDv$>+mu3y*R&HqSUI>oXT#|wmCaqS z!{JLnmJ?NarElSJ{KJv4STbbdzPz~SS?9>$9UL3$rj>|N3id*DI{u4BcLl3GDH3kS zF4&giv*MAbMt9}6{bjv%dx7@d^qh6s*iu00epLEEvA)_J-7CqA#7mXr*KweOn>f>2 zVQhNP%SsPk-?;i69nYT`ZfiFoDfQzyV=PC@<}u=axJai@5Pqu0PtCVlS}0xM#@8zl z?Qwg-pX35*g=03{YnHWB>hfeQg46ZRhEkvC>OE4rtmV~w1VTyP|3V{tA1SK|8Ohx8 zh@0zltks8-6-_GzTg~Q$6b;9GN9nJ43E>nkfcli=vgtq#Wz(Y<pKazgg^fl7{UTfd zQz`AJgk%^GUMd+`(wvRq{$c3R?RJNW#0=XDwaMdbfvQ^A#t9D(J=fM%rfdG$LbDt; z@BeF&a`?$3c0EtCe$VP7N;PfUMMTf8Depo~wIxDBz~E~?Ul-XrZt|fDspB<BuE3G5 zjOSPPMQVplld^R_l3h7X-Xyi_iw~iyqcyB-=7&Fhp=3kM22miH?mpJGs3>dM22BQ6 z5m51ILxH5miEsofRi3Y5(X8Cg=ka*~atziA*d+Piz<T4OOn@3z$Jwl50P_WL+;w?U zbJT?+L=%#&Qekm^`opb^ltR8%;>N6E;QH{;qQ(w`^`YA1%=0jv$ySuVR6&SL<w6TH zn6xNiGE-4+Ps-3d`0)W!hF4mu!_S`$Mo0AAFRM!618_I>_s3Mf=CAsS;cV8cw;;5F z=R5Vyj2|i9&6P4=WMr0Vt`$i4j<MP;r0q<6ek1$n-PskcC~7w54Y%G&XE1yHE-!l? zv{<5;Z1TZtih|s3bx`Jj{ImFhc|KOSE<HaQ0CqOPDWRuM?~d`s^MB?eqO|n&LVmhd zO#JyjEg<7l*qz&9b2;uu`%}trG8X;}_WK?zxa%R_c5|7Kl{w3Y3;1kN?i(@a+k?}0 z8hHeoFNTog%vbSQG2J<tC#^CsMg2WMZkOJ9yVVfiIubLhlc?w7vyXs;?QR|Kk*%Lp z{u8~cDmpq+EL?DB7c+`>Wkc>!e4C2>(ubK1R9zRVSrDFogi-exS|aX@gwF0}PKkcj z85+dEPdUi=inBDZVL|}fHsbb{-!Y^=@3AyoS|E=S9A*jIN<j>>n~V`k=tw0%p335e zidHUvitjmKeSRJ!e8;EdT%ETW7Kt)8Ks+wc#$p4C>S^>#cip(+%!O90jRM?c@)Y*> zgyFY-v}gi4N3M}dk)5mxdQ&sduDj7&k)So3Oh+2%@f#ebnG2F~!Wo9cuew{#?Iexg z4TxV1XH@3qL#<~;7sybIuVUp|93rhN!~U1dpoAW?>B@wO#0R8%;=#~mhge#NtSnhR z{B#vYa6JaX_Qx3-)APUFCrCFZKZ=8GXwQ!PufV7J$*z}`1?^OqJv$G%OfDCN*AeCF z;Fd%sh=k<)$nw&7o`<to+gqqYd%@EY9L0-W!0(zD=x2O-<8HOzBa7qT)9o1*kr+^M zZLANgjXPFYuaj$s!aqCK>P#0S+THg`=NoQJ73)t^HJn(u;dgzf;&-Tmp$F6rg<@ZW z7Z1rAvLv(vVM+ZPcy!c%xu{AO`R7ouGGeJYV;L+_2Mr#r@ptl_idp2h_dYx*Pj#od zD-7)3+e-kFz^D<@3kSnJttN+#&pxJm>rF8zD?Io?*Vf=!R6$XYFDrGHqILwGdgt13 zu3zH}Y*$KtVVa8AEL2<DHq^zY+es;5t^$e64I$hi%}er2Kg926YPLCmDt5XhMR!+^ z)2O8NhK);*#fmd5`~A)L_fNG_VpPN?oX8q+7Z;mmBw-ow#+RPf6U($}nVX9=zT1;? zW3lP?7{_IHJEjLFDpQ3$pxHR^+{+RGX(bKiOy@uNQAkHN7u#X4^bCdIRjf#<DmYkB zo%Vrr8@A8Z6{t~BTTAj5H1p(QO~DbF-s4po_dLOi?mS6qIV{L<%0D17icz{^R*pG8 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 UY#V%Q0a_r==rfMx4%qm=0EB@33;+NC diff --git a/Players/malvviiina/shine-staging-screenshots/settings-view.png b/Players/malvviiina/shine-staging-screenshots/settings-view.png deleted file mode 100644 index 91499d93489d8b7f73f4149c9d95f09826bcb4b9d2650345ecd92a9a1234d57e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28201 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 diff --git a/Players/malvviiina/shine-staging-screenshots/start.png b/Players/malvviiina/shine-staging-screenshots/start.png deleted file mode 100644 index ff94443c23d31822c3e427c227879cc5a1c219e9ce8740a75b5576bcb446f3cc..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50017 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 diff --git a/Players/malvviiina/shine-staging-screenshots/wallet-view.png b/Players/malvviiina/shine-staging-screenshots/wallet-view.png deleted file mode 100644 index 91499d93489d8b7f73f4149c9d95f09826bcb4b9d2650345ecd92a9a1234d57e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28201 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 diff --git a/Players/oidasyda/files/.gitkeep b/Players/oidasyda/files/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/oidasyda/files/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/oidasyda/history/.gitkeep b/Players/oidasyda/history/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/oidasyda/history/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/zodiaktechnika32/files/.gitkeep b/Players/zodiaktechnika32/files/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/zodiaktechnika32/files/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Players/zodiaktechnika32/history/.gitkeep b/Players/zodiaktechnika32/history/.gitkeep deleted file mode 100644 index 4c0d52d1..00000000 --- a/Players/zodiaktechnika32/history/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/SHiNE-agent-bot-coder/.env.example b/SHiNE-agent-bot-coder/.env.example deleted file mode 100644 index b4b48115..00000000 --- a/SHiNE-agent-bot-coder/.env.example +++ /dev/null @@ -1,19 +0,0 @@ -TELEGRAM_BOT_TOKEN=replace_me -OPENAI_API_KEY=replace_me -ALLOWED_TELEGRAM_USERNAME=AidarKC -ALLOWED_TELEGRAM_PLAYERS=malvviiina:Милана,zodiaktechnika32:Сергей,oidasyda:Иван,blackbyrd1:Ворон,dimasol1:Дима -ALLOWED_TELEGRAM_CHANNEL_USERNAME=shine_writing -BOT_USERNAME=aidar_su_bot -OPENAI_TRANSCRIBE_MODEL=gpt-4o-mini-transcribe -TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS=300 -OPENAI_TRANSCRIBE_TIMEOUT_SECONDS=900 -OPENAI_TTS_MODEL=gpt-4o-mini-tts -OPENAI_TTS_VOICE=alloy -OPENAI_TTS_RESPONSE_FORMAT=opus -OPENAI_TTS_TIMEOUT_SECONDS=180 -OPENAI_TTS_CHUNK_CHARS=3500 -CODEX_BIN=/home/ai/.cache/JetBrains/IntelliJIdea2026.1/aia/codex/bin/codex-x86_64-unknown-linux-musl -CODEX_WORKDIR=/home/ai/work/SHiNE/SHiNE-server-sha256 -CODEX_TIMEOUT_SECONDS=900 -MAX_RETRIES=3 -DATA_DIR=./data diff --git a/SHiNE-agent-bot-coder/.gitignore b/SHiNE-agent-bot-coder/.gitignore deleted file mode 100644 index 2af457e8..00000000 --- a/SHiNE-agent-bot-coder/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.env -data/ -logs/ -run/ -__pycache__/ diff --git a/SHiNE-agent-bot-coder/AGENT.md b/SHiNE-agent-bot-coder/AGENT.md deleted file mode 100644 index ecfa6ac6..00000000 --- a/SHiNE-agent-bot-coder/AGENT.md +++ /dev/null @@ -1,80 +0,0 @@ -# AGENT.md для SHiNE-agent-bot-coder - -Ты запущен как обработчик входящего Telegram-сообщения от пользователя. - -## Контекст -- `SHiNE-agent-bot-coder` — локальный Telegram-бот-сервис агента-кодера для работы с этим проектом. -- Сервис принимает входящие сообщения от пользователя Telegram, сохраняет историю, ставит задачи в очередь и последовательно запускает Codex CLI в рабочем проекте. -- Текстовые сообщения обрабатываются напрямую, voice/audio сначала распознаются через OpenAI transcription, затем передаются как текстовая задача. -- История диалога хранится в JSONL-файле, путь передаётся в промпте. -- Сообщение может быть текстом или результатом распознавания голосового. -- Ответ пойдёт пользователю в Telegram как обычное текстовое сообщение. -- Единственная рабочая реализация сервиса — Python-скрипт `py_bot_service.py`; старая Java-реализация удалена как нерабочая и не должна восстанавливаться без отдельного решения Айдара. -- В репозитории также есть отдельный Solana/Anchor-модуль `shine-solana/shine/`; он логически связан с SHiNE, но не должен автоматически подключаться к основному серверному deploy без отдельной команды. -- Перед изменениями внутри `shine-solana/shine/` читать локальные инструкции `shine-solana/shine/AGENTS.md`; в git не добавлять локальные ключи, `.git`, `.idea`, `.gradle`, `target`, `node_modules`, `test-ledger`, логи, временные run-отчёты и `.env`-конфиги. - -## Авторитет команд и история -- Основной пользователь и источник команд — Айдар: `@AidarKC` / `@aidarkc`. -- Дополнительно разрешены игроки из whitelist (`ALLOWED_TELEGRAM_PLAYERS`), каждый со своей отдельной историей и рабочей папкой `Players/<username>/`. -- Игроки работают в режиме вопросов/анализа/подготовки материалов: в промпте явно задано правило не менять код проекта и писать материалы только в своей папке. -- Для неизвестных пользователей в личном чате сервис отвечает вежливым отказом. -- В Telegram-канале/группе `@shine_writing` сервис выполняет сообщения только от Айдара, а ответы отправляет в тот же чат. -- Если Telegram сообщает о миграции обычной группы в supergroup, сервис должен запомнить новый `chat_id` и отправлять ответы уже туда. -- На события подключения/отключения пользователей (join/leave) сервис не отвечает и ничего не отправляет. - -## Очередь и состояние -- Входящие задачи записываются в файловую очередь и обрабатываются строго по одной, чтобы не смешивать изменения в проекте. -- Сервис ведёт состояние активной задачи и текущего файла истории, а после рестарта продолжает незавершённую обработку с учётом сохранённого состояния. -- Истории диалогов хранятся в JSONL по каждому разрешённому username отдельно: `data/history/<username>/`. -- Архив истории после `/new`: `data/history/<username>/archive/`. -- После `/new` для этого же пользователя должен сбрасываться и контекст продолжения Codex-сессии; следующий запрос запускается как новая сессия, не через resume. -- Для просмотра истории игрока открывать файлы в его папке истории по username. -- Дедупликация входящих Telegram update нужна, чтобы одно сообщение не попало в обработку повторно. -- Если Codex молчит во время активной задачи 2 минуты подряд, сервис отправляет аварийный статус с общим временем работы задачи; при дальнейшем молчании повторяет статус каждые 2 минуты. -- После успешной обработки задачи из личного чата Айдара сервис должен отправить публичный итоговый отчёт в группу `@shine_writing`: первым сообщением исходный запрос, вторым сообщением-ответом итоговый ответ Codex. Промежуточные статусы в группу не дублировать. -- Для приватных voice/audio-запросов в публичном отчёте первым сообщением отправлять исходный Telegram voice/audio-файл с подписью, где указан распознанный текст. В пользовательском тексте отчёта не показывать Telegram `file_id`. -- Озвучивание финальных ответов настраивается персонально для каждого Telegram-пользователя командами `/voice_on`, `/voice_off`; для новых пользователей оно включено по умолчанию. -- Адаптация текста перед озвучкой настраивается персонально командами `/voice_rewrite_on`, `/voice_rewrite_off`. Если она включена, сервис перед TTS вызывает дешёвую текстовую модель OpenAI и делает голосовую версию без длинных хэшей, путей, команд и технического шума, сохраняя смысл и порядок исходного ответа. -- Режим личных ответов настраивается персонально командами `/single_message_on`, `/single_message_off`: либо одно редактируемое сообщение по этапам, либо отдельные сообщения как раньше. -- Команда `/settings` должна сразу показывать текущее состояние всех персональных настроек пользователя и список команд для их изменения. -- Если озвучивание включено, после полного текстового финального ответа сервис дополнительно отправляет voice-файл с синтезированной речью через OpenAI TTS даже для текстовых запросов. Voice отправляется в исходный чат, а также в известный личный чат пользователя и в общий чат `@shine_writing`, если они отличаются и доступны. Промежуточные статусы не озвучивать. -- Команда `/status` должна показывать состояние очереди и персональные настройки: voice-ответы, адаптацию текста перед озвучкой и режим одного сообщения в личке. - -## Правила голосовой версии ответа -- Текстовый финальный ответ должен оставаться полноценным: в нём можно указывать команды, пути, хэши коммитов, номера версий, результаты проверок и другие технические детали. -- Голосовую версию финального ответа нужно делать короче и проще для восприятия на слух. Основной механизм — персонально включаемая адаптация текста через дополнительный OpenAI-вызов перед TTS. -- В голосовой версии не зачитывать длинные хэши коммитов, токены, file_id, длинные команды, полные пути и другие строки, которые человек всё равно не сможет надёжно запомнить на слух. -- Для commit/push в голосовой версии достаточно сказать краткий итог: что коммит сделан, что именно изменено, проверки прошли без ошибок, push выполнен, рабочее дерево чистое. -- Если пользователю нужны точные команды, хэши или подробности, они должны оставаться в текстовом ответе. - -## Планы и отложенные фичи -- Планы проекта по отложенным фичам хранятся в `TODO/`. -- Внутри есть три горизонта: - - `near/` - ближайшие планы, обычно сегодня/завтра; - - `medium/` - среднесрочные планы, обычно недели или 1-2 месяца; - - `far/` - дальнее будущее без понятного срока. -- Если пользователь спрашивает, какие есть планы или что можно продолжить, нужно смотреть эти три папки и отвечать кратким списком по горизонтам. -- Файлы из `TODO/` не начинать реализовывать без явной команды пользователя. - -## Центр задач и предложений -- Сервис хранит простые задачи и предложения в `data/task_center/items.json`. -- Айдар может смотреть список через `/tasks` или естественные фразы вроде «покажи мои задачи», «покажи задачи Миланы». -- Айдар может ставить задачи игрокам фразой вида «поставь задачу Милане: ...». -- Игроки могут отправлять предложения Айдару фразой вида `предложение: ...`, `идея: ...` или `заявка: ...`. -- Статусы меняются фразами с ID: `одобрить TC-0001`, `отклонить TC-0001`, `доработать TC-0001`, `закрыть TC-0001`. -- После финального ответа в личном чате сервис добавляет короткое напоминание, если у пользователя есть активные задачи или предложения. - -## Локальный запуск и systemd -- Основной запуск сервиса выполняется Python-скриптом `py_bot_service.py` из папки `SHiNE-agent-bot-coder/`. -- Локальные секреты и параметры должны храниться в `.env`, этот файл не коммитится. -- Для проверки Codex без Telegram можно использовать self-test режим сервиса. -- Для постоянного локального запуска используется user-level systemd service `shine-agent-bot-coder`; скрипты установки лежат в `SHiNE-agent-bot-coder/scripts/systemd/`. -- Если меняется логика сервиса, после изменений нужно проверить запуск локально и при необходимости перезапустить user systemd service. -- Команда Telegram `/restart` (`/restart_service`) доступна только Айдару и выполняет отложенный рестарт после текущей задачи, до взятия следующей. Аварийный жёсткий рестарт доступен только Айдару командами `/restart_hard`, `/restart_now`, `/restart_force`. - -## Правила ответа -- Пиши содержательно и коротко. -- Не упоминай внутренние служебные детали, файловую систему и технические логи. -- Если запрос требует действий с кодом/проектом, выполняй их в рабочей директории. -- Если для ответа данных недостаточно, задай ровно один уточняющий вопрос. -- Если была ошибка предыдущего запуска, в промпте будет пометка retry — учти это и продолжи с учётом текущего состояния проекта. diff --git a/SHiNE-agent-bot-coder/AGENTS.md b/SHiNE-agent-bot-coder/AGENTS.md deleted file mode 100644 index b64d0f0e..00000000 --- a/SHiNE-agent-bot-coder/AGENTS.md +++ /dev/null @@ -1,25 +0,0 @@ -# AGENTS - -## Назначение -- Это автоматически читаемые инструкции Codex для папки `SHiNE-agent-bot-coder/`. -- `SHiNE-agent-bot-coder` — локальный Telegram-бот-сервис агента-кодера для работы с проектом SHiNE. -- Если пользователь говорит «агент MD», «агент с MD» или похожим образом про файл инструкций Codex, считать, что имеется в виду `AGENTS.md`. - -## Связанные инструкции -- Подробные служебные правила Telegram-обработчика лежат в `AGENT.md`. -- `AGENT.md` используется самим сервисом как файл инструкций, который передаётся в промпт обработчика входящих Telegram-сообщений. -- При изменении логики сервиса сначала читать `AGENT.md`, затем код `py_bot_service.py`. - -## Планы и задачи -- Отложенные задачи проекта лежат в `../TODO/`. -- Точка входа по планам: `../TODO/README.md`. -- Горизонты планов: - - `near/` - ближайшие планы; - - `medium/` - среднесрочные планы; - - `far/` - дальнее будущее. -- Если пользователь спрашивает, какие есть планы или что можно продолжить, кратко перечислять задачи по этим горизонтам. -- Не начинать реализацию задач из `TODO` без явной команды пользователя. - -## Проверка после изменений -- Если меняется логика Telegram-бота, проверить локальный запуск или self-test, когда это уместно. -- Если меняется только документация или инструкции, достаточно проверить, что ссылки на документы актуальны. diff --git a/SHiNE-agent-bot-coder/CLAUDE.md b/SHiNE-agent-bot-coder/CLAUDE.md deleted file mode 100644 index 4ed90ae6..00000000 --- a/SHiNE-agent-bot-coder/CLAUDE.md +++ /dev/null @@ -1,2 +0,0 @@ -@AGENTS.md -@AGENT.md diff --git a/SHiNE-agent-bot-coder/Players/PROMPTS_REVIEW.md b/SHiNE-agent-bot-coder/Players/PROMPTS_REVIEW.md deleted file mode 100644 index edeae1b9..00000000 --- a/SHiNE-agent-bot-coder/Players/PROMPTS_REVIEW.md +++ /dev/null @@ -1,26 +0,0 @@ -# Промпты для режима игроков (на согласование) - -## 1) Базовый служебный промпт (добавка к задаче игрока) - -```text -Режим игрока (обязательно): -- Пользователь: <Имя> (@<username>). -- Рабочая папка игрока: <project>/Players/<username> -- Код проекта не изменять. -- Можно отвечать на вопросы по проекту, предлагать идеи и готовить ТЗ. -- Если нужны правки кода, описывать предложение текстом и сохранять материалы только в папке игрока. -``` - -## 2) Приветственное сообщение игроку (один раз) - -```text -Привет, <Имя>. -Можно задавать вопросы по проекту, просить анализ, идеи и подготовку готового ТЗ. -Команда /new начинает новую сессию и архивирует текущую историю. -``` - -## 3) Отказ неизвестному пользователю - -```text -Извините, доступ к этому агенту пока не выдан. Обратитесь к Айдару. -``` diff --git a/SHiNE-agent-bot-coder/README.md b/SHiNE-agent-bot-coder/README.md deleted file mode 100644 index e1b815db..00000000 --- a/SHiNE-agent-bot-coder/README.md +++ /dev/null @@ -1,100 +0,0 @@ -# SHiNE-agent-bot-coder - -Локальный Telegram-бот-сервис для пользователя `ai`: -- принимает сообщения от `@AidarKC`; -- поддерживает whitelist игроков (`ALLOWED_TELEGRAM_PLAYERS`) с отдельными историями; -- ведёт историю диалога в `JSONL`; -- ставит задачи в файловую очередь; -- обрабатывает задачи строго последовательно; -- поддерживает текстовые и голосовые сообщения (voice/audio через OpenAI transcription); -- вызывает Codex CLI и отправляет ответ в Telegram; -- в личном чате умеет работать в двух персонально переключаемых режимах: через одно редактируемое статусное сообщение или через отдельные сообщения по этапам; -- умеет персонально для каждого пользователя озвучивать финальный ответ через OpenAI TTS; -- при рестарте восстанавливает незавершённые задачи; -- отправляет аварийный статус только если Codex молчит 2 минуты подряд во время активной задачи; -- принимает сообщения из канала/группы `@shine_writing`, выполняет команды только от `@AidarKC`; -- учитывает миграцию обычной Telegram-группы в supergroup и перенаправляет ответы на новый `chat_id`. - -Рабочая реализация сервиса — только `py_bot_service.py`. Старая Java-реализация удалена, потому что не заработала и больше не используется. - -## Структура -- `.env` — локальные секреты и параметры запуска (не коммитится); -- `data/py_queue.jsonl` — очередь Python-сервиса; -- `data/py_state.json` — текущее состояние Python-сервиса; -- `data/py_processed_updates.log` — дедуп входящих update; -- `data/history/<username>/*.jsonl` — активные истории по пользователям; -- `data/history/<username>/archive/*.jsonl` — архивы после `/new`. - -## Локальный запуск -1. Скопировать пример: - - `cp .env.example .env` -2. Заполнить секреты в `.env`. - - `TELEGRAM_BOT_TOKEN` — токен рабочего Telegram-бота. - - `ALLOWED_TELEGRAM_USERNAME` — пользователь, чьи сообщения выполняются как команды. - - `ALLOWED_TELEGRAM_PLAYERS` — whitelist игроков в формате `username:Имя,username2:Имя2`. - - `ALLOWED_TELEGRAM_CHANNEL_USERNAME` — канал, из которого принимаются `channel_post`; обычные group/supergroup-сообщения обрабатываются как `message`. - - `TELEGRAM_API_BASE_URL` — базовый URL Bot API; по умолчанию `https://api.telegram.org`. Для очень больших voice/audio можно поднять локальный `telegram-bot-api` и направить бота туда. - - `TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS` — тайм-аут скачивания voice/audio из Telegram, по умолчанию 300 секунд. - - `OPENAI_TRANSCRIBE_TIMEOUT_SECONDS` — тайм-аут распознавания voice/audio в OpenAI, по умолчанию 900 секунд. - - `OPENAI_TRANSCRIBE_MAX_UPLOAD_BYTES` — безопасный лимит размера одного куска для OpenAI transcription, по умолчанию `24 MiB`. - - `OPENAI_TRANSCRIBE_MAX_CHUNK_SECONDS` — максимальная длина одного куска при длинном аудио, по умолчанию `900` секунд. - - `OPENAI_TRANSCRIBE_OVERLAP_SECONDS` — перекрытие соседних кусков для более ровной склейки текста, по умолчанию `2` секунды. - - `OPENAI_TRANSCRIBE_REENCODE_BITRATE_KBPS` — битрейт локального пережатия длинного аудио через `ffmpeg`, по умолчанию `24`. - - `OPENAI_TRANSCRIBE_FFMPEG_TIMEOUT_SECONDS` — тайм-аут локальной обработки длинного аудио через `ffmpeg`/`ffprobe`, по умолчанию `1800`. - - `FFMPEG_BIN` и `FFPROBE_BIN` — пути к локальным бинарям `ffmpeg`/`ffprobe`, если они не лежат в `PATH`. - - `OPENAI_TTS_MODEL` — модель синтеза речи, по умолчанию `gpt-4o-mini-tts`. - - `OPENAI_TTS_VOICE` — голос синтеза речи, по умолчанию `alloy`. - - `OPENAI_TTS_RESPONSE_FORMAT` — аудиоформат для Telegram voice, по умолчанию `opus`. - - `OPENAI_TTS_TIMEOUT_SECONDS` — тайм-аут генерации одного фрагмента речи, по умолчанию 180 секунд. - - `OPENAI_TTS_CHUNK_CHARS` — максимальный размер одного фрагмента озвучки, по умолчанию 3500 символов. -3. Запуск: - - `python3 SHiNE-agent-bot-coder/py_bot_service.py` - -## Быстрый self-test Codex (без Telegram) -```bash -python3 SHiNE-agent-bot-coder/py_bot_service.py --selftest-codex "Ответь одной строкой: Codex работает" -``` - -## Длинные voice/audio -- Если аудио короткое, бот отправляет его в OpenAI как раньше. -- Если аудио большое или длинное, бот локально пережимает его через `ffmpeg`, при необходимости режет на куски и распознаёт последовательно. -- Если Telegram заранее сообщает большой размер файла, бот больше не отказывается сразу: сначала явно пишет, что пробует скачать файл, затем отдельно сообщает, удалось ли скачивание, и только после успешной загрузки переходит к подготовке аудио и OpenAI. -- Для очень больших файлов упираемся не только в OpenAI, но и в лимит обычного облачного Telegram Bot API на скачивание файла ботом. Для таких случаев нужно использовать локальный `telegram-bot-api` сервер и указать его через `TELEGRAM_API_BASE_URL`. - -## Статусы в личке -- Для `private`-чата бот поддерживает персональную настройку режима ответа. -- По умолчанию он старается не засорять переписку промежуточными сообщениями: создаёт одно статусное сообщение и редактирует его по этапам. -- Если включить `/single_message_off`, бот возвращается к старому режиму и отправляет отдельные сообщения по этапам и финальный ответ отдельно. -- Если финальный текст в режиме одного сообщения не помещается целиком, бот оставляет первую часть в отредактированном статусном сообщении и отправляет максимум ещё одно дополнительное текстовое сообщение с хвостом ответа. -- Голосовой ответ, если он включён, всегда приходит отдельным новым сообщением. - -## Запуск как systemd-сервис -Файлы для установки: -- `scripts/systemd/shine-agent-bot-coder.service` -- `scripts/systemd/install-local-systemd.sh` - -Установка: -- `bash SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh` - -Проверка: -- `systemctl --user status shine-agent-bot-coder --no-pager` -- `journalctl --user -u shine-agent-bot-coder -f` - -Перезапуск после изменений: -- `systemctl --user restart shine-agent-bot-coder` - -## Telegram-команды -- `/status` — активная задача и размер очереди. -- `/settings` — текущие пользовательские настройки и команды для их изменения. -- `/queue` — список задач в очереди. -- `/stop` — остановить текущую задачу. -- `/cancel <id|all>` — удалить задачу по id/префиксу или очистить очередь. -- `/new` — архивировать текущую историю, сбросить продолжение Codex-сессии для этого пользователя и начать новый диалог. -- `/voice_on` — включить озвучивание финальных ответов для текущего пользователя. -- `/voice_off` — выключить озвучивание финальных ответов для текущего пользователя. -- `/voice_rewrite_on` — включить адаптацию текста перед озвучкой. -- `/voice_rewrite_off` — выключить адаптацию текста перед озвучкой. -- `/single_message_on` — вести ответ в личке через одно редактируемое сообщение. -- `/single_message_off` — слать отдельные сообщения по этапам и отдельный финальный ответ. -- `/restart` или `/restart_service` — отложенный рестарт после текущей задачи, до взятия следующей (только для Айдара). -- `/restart_hard` — жёсткий рестарт прямо сейчас (только для Айдара). diff --git a/SHiNE-agent-bot-coder/py_bot_service.py b/SHiNE-agent-bot-coder/py_bot_service.py deleted file mode 100644 index fa53d0de..00000000 --- a/SHiNE-agent-bot-coder/py_bot_service.py +++ /dev/null @@ -1,2976 +0,0 @@ -#!/usr/bin/env python3 -from __future__ import annotations - -import argparse -import datetime as dt -import fcntl -import json -import mimetypes -import os -import random -import re -import shutil -import string -import subprocess -import tempfile -import threading -import time -import traceback -import uuid -from pathlib import Path -from typing import Any, Callable -from urllib import error, request - -DEFAULT_ALLOWED_PLAYERS = ",".join([ - "malvviiina:Милана", - "zodiaktechnika32:Сергей", - "oidasyda:Иван", - "blackbyrd1:Ворон", - "dimasol1:Дима", -]) - -TASK_STATUS_LABELS = { - "new": "новая", - "approved": "одобрена", - "rejected": "отклонена", - "needs_work": "на доработку", - "done": "сделана", -} - - -def now_iso() -> str: - return dt.datetime.now(dt.timezone.utc).isoformat() - - -def normalize_username(value: str | None) -> str: - if not value: - return "" - value = value.strip() - if value.startswith("@"): - value = value[1:] - return value.lower() - - -def parse_allowed_players(raw: str) -> dict[str, str]: - players: dict[str, str] = {} - for item in (raw or "").split(","): - part = item.strip() - if not part: - continue - username_part, sep, name_part = part.partition(":") - username = normalize_username(username_part) - if not username: - continue - player_name = (name_part if sep else username_part).strip() or username - players[username] = player_name - return players - - -def compact_spaces(text: str) -> str: - return re.sub(r"\s+", " ", (text or "").strip()) - - -def split_long_text(text: str, chunk_size: int = 3500) -> list[str]: - text = (text or "").strip() - if not text: - return ["(пустой ответ)"] - return [text[i:i + chunk_size] for i in range(0, len(text), chunk_size)] - - -def split_final_private_text(text: str, first_chunk_size: int = 3900, second_chunk_size: int = 3900) -> list[str]: - text = (text or "").strip() - if not text: - return ["(пустой ответ)"] - if len(text) <= first_chunk_size: - return [text] - first = text[:first_chunk_size].rstrip() - rest = text[first_chunk_size:].lstrip() - if len(rest) <= second_chunk_size: - return [first, rest] - second = rest[:second_chunk_size].rstrip() - if len(second) > 40: - second = second[:-40].rstrip() - second = second.rstrip() + "\n...[ответ обрезан]" - return [first, second] - - -def split_text_for_tts(text: str, chunk_size: int) -> list[str]: - text = (text or "").strip() - if not text: - return [] - chunks: list[str] = [] - current = "" - paragraphs = re.split(r"\n\s*\n", text) - for paragraph in paragraphs: - paragraph = paragraph.strip() - if not paragraph: - continue - if len(paragraph) > chunk_size: - if current: - chunks.append(current) - current = "" - for i in range(0, len(paragraph), chunk_size): - part = paragraph[i:i + chunk_size].strip() - if part: - chunks.append(part) - continue - candidate = paragraph if not current else f"{current}\n\n{paragraph}" - if len(candidate) <= chunk_size: - current = candidate - else: - if current: - chunks.append(current) - current = paragraph - if current: - chunks.append(current) - return chunks - - -def read_env_file(path: Path) -> dict[str, str]: - result: dict[str, str] = {} - if not path.exists(): - return result - for raw_line in path.read_text(encoding="utf-8").splitlines(): - line = raw_line.strip() - if not line or line.startswith("#") or "=" not in line: - continue - key, value = line.split("=", 1) - key = key.strip() - value = value.strip().strip('"').strip("'") - result[key] = value - return result - - -class VoiceTranscriptionError(RuntimeError): - def __init__( - self, - user_message: str, - *, - stage: str, - retryable: bool = True, - detail: str = "", - ): - super().__init__(user_message) - self.user_message = user_message - self.stage = stage - self.retryable = retryable - self.detail = detail - - def log_text(self) -> str: - if self.detail and self.detail != self.user_message: - return f"{self.user_message} stage={self.stage} retryable={self.retryable} detail={self.detail}" - return f"{self.user_message} stage={self.stage} retryable={self.retryable}" - - -class VoiceReplyError(RuntimeError): - pass - - -class JsonLineStore: - @staticmethod - def load(path: Path) -> list[dict[str, Any]]: - if not path.exists(): - return [] - items: list[dict[str, Any]] = [] - for line in path.read_text(encoding="utf-8").splitlines(): - line = line.strip() - if not line: - continue - items.append(json.loads(line)) - return items - - @staticmethod - def save(path: Path, items: list[dict[str, Any]]) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - tmp = path.with_suffix(path.suffix + ".tmp") - with tmp.open("w", encoding="utf-8") as f: - for item in items: - f.write(json.dumps(item, ensure_ascii=False) + "\n") - tmp.replace(path) - - @staticmethod - def append(path: Path, item: dict[str, Any]) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - with path.open("a", encoding="utf-8") as f: - f.write(json.dumps(item, ensure_ascii=False) + "\n") - - -class TelegramApi: - def __init__(self, token: str, base_url: str = "https://api.telegram.org"): - self.token = token - self.api_root = (base_url or "https://api.telegram.org").rstrip("/") - self.base = f"{self.api_root}/bot{token}/" - self.file_base = f"{self.api_root}/file/bot{token}/" - - def call(self, method: str, payload: dict[str, Any] | None = None, timeout: int = 60) -> dict[str, Any]: - data = None - headers = {} - if payload is not None: - data = json.dumps(payload).encode("utf-8") - headers["Content-Type"] = "application/json" - req = request.Request(self.base + method, data=data, headers=headers, method="POST") - try: - with request.urlopen(req, timeout=timeout) as resp: - raw = resp.read().decode("utf-8") - except error.HTTPError as e: - body = e.read().decode("utf-8", errors="replace") - raise RuntimeError(f"Telegram HTTP {e.code}: {body}") from e - except Exception as e: - raise RuntimeError(f"Telegram request failed: {e}") from e - - result = json.loads(raw) - if not result.get("ok"): - raise RuntimeError(f"Telegram API error: {result}") - return result - - def call_multipart( - self, - method: str, - fields: dict[str, Any], - files: dict[str, tuple[str, bytes, str]], - timeout: int = 120, - ) -> dict[str, Any]: - boundary = "----shine-tg-boundary-" + "".join(random.choices("abcdef0123456789", k=16)) - body = bytearray() - for name, value in fields.items(): - if value is None: - continue - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"\r\n\r\n' - f"{value}\r\n" - ).encode("utf-8") - ) - for name, (filename, data, mime) in files.items(): - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"; filename="{filename}"\r\n' - f"Content-Type: {mime}\r\n\r\n" - ).encode("utf-8") - ) - body.extend(data) - body.extend(b"\r\n") - body.extend(f"--{boundary}--\r\n".encode("utf-8")) - - req = request.Request(self.base + method, data=bytes(body), method="POST") - req.add_header("Content-Type", f"multipart/form-data; boundary={boundary}") - try: - with request.urlopen(req, timeout=timeout) as resp: - raw = resp.read().decode("utf-8") - except error.HTTPError as e: - body_text = e.read().decode("utf-8", errors="replace") - raise RuntimeError(f"Telegram HTTP {e.code}: {body_text}") from e - except Exception as e: - raise RuntimeError(f"Telegram multipart request failed: {e}") from e - - result = json.loads(raw) - if not result.get("ok"): - raise RuntimeError(f"Telegram API error: {result}") - return result - - def get_updates(self, offset: int | None, timeout_sec: int) -> list[dict[str, Any]]: - payload: dict[str, Any] = {"timeout": timeout_sec, "allowed_updates": ["message", "channel_post"]} - if offset is not None: - payload["offset"] = offset - result = self.call("getUpdates", payload=payload, timeout=timeout_sec + 15) - return result.get("result", []) - - def send_message(self, chat_id: int | str, text: str, reply_to_message_id: int | None = None) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "text": text} - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendMessage", payload=payload, timeout=30) - - def edit_message_text(self, chat_id: int | str, message_id: int, text: str) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "message_id": message_id, "text": text} - return self.call("editMessageText", payload=payload, timeout=30) - - def send_voice( - self, - chat_id: int | str, - voice: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "voice": voice} - if caption: - payload["caption"] = caption - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendVoice", payload=payload, timeout=60) - - def send_audio( - self, - chat_id: int | str, - audio: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "audio": audio} - if caption: - payload["caption"] = caption - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendAudio", payload=payload, timeout=60) - - def send_voice_upload( - self, - chat_id: int | str, - voice_bytes: bytes, - filename: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - fields: dict[str, Any] = {"chat_id": chat_id} - if caption: - fields["caption"] = caption - if reply_to_message_id is not None: - fields["reply_to_message_id"] = reply_to_message_id - return self.call_multipart( - "sendVoice", - fields=fields, - files={"voice": (filename, voice_bytes, "audio/ogg")}, - timeout=180, - ) - - def delete_webhook(self) -> None: - self.call("deleteWebhook", payload={"drop_pending_updates": False}, timeout=30) - - -class BotConfig: - def __init__(self, root_dir: Path): - env = dict(os.environ) - env.update(read_env_file(root_dir / ".env")) - - self.root_dir = root_dir - self.telegram_bot_token = self._required(env, "TELEGRAM_BOT_TOKEN") - self.allowed_username = normalize_username(env.get("ALLOWED_TELEGRAM_USERNAME", "AidarKC")) - self.allowed_players = parse_allowed_players(env.get("ALLOWED_TELEGRAM_PLAYERS", DEFAULT_ALLOWED_PLAYERS)) - self.allowed_channel_username = normalize_username(env.get("ALLOWED_TELEGRAM_CHANNEL_USERNAME", "shine_writing")) - self.bot_username = env.get("BOT_USERNAME", "aidar_su_bot") - self.telegram_api_base_url = env.get("TELEGRAM_API_BASE_URL", "https://api.telegram.org").strip() or "https://api.telegram.org" - self.openai_api_key = env.get("OPENAI_API_KEY", "").strip() - self.openai_transcribe_model = env.get("OPENAI_TRANSCRIBE_MODEL", "gpt-4o-mini-transcribe") - self.telegram_file_download_timeout_seconds = int(env.get("TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS", "300")) - self.openai_transcribe_timeout_seconds = int(env.get("OPENAI_TRANSCRIBE_TIMEOUT_SECONDS", "900")) - self.openai_transcribe_max_upload_bytes = max(1_000_000, int(env.get("OPENAI_TRANSCRIBE_MAX_UPLOAD_BYTES", str(24 * 1024 * 1024)))) - self.openai_transcribe_max_chunk_seconds = max(60, int(env.get("OPENAI_TRANSCRIBE_MAX_CHUNK_SECONDS", "900"))) - self.openai_transcribe_overlap_seconds = max(0, int(env.get("OPENAI_TRANSCRIBE_OVERLAP_SECONDS", "2"))) - self.openai_transcribe_reencode_bitrate_kbps = max(12, int(env.get("OPENAI_TRANSCRIBE_REENCODE_BITRATE_KBPS", "24"))) - self.openai_transcribe_ffmpeg_timeout_seconds = max(30, int(env.get("OPENAI_TRANSCRIBE_FFMPEG_TIMEOUT_SECONDS", "1800"))) - self.ffmpeg_bin = env.get("FFMPEG_BIN", "ffmpeg").strip() or "ffmpeg" - self.ffprobe_bin = env.get("FFPROBE_BIN", "ffprobe").strip() or "ffprobe" - self.openai_tts_model = env.get("OPENAI_TTS_MODEL", "gpt-4o-mini-tts") - self.openai_tts_voice = env.get("OPENAI_TTS_VOICE", "alloy") - self.openai_tts_response_format = env.get("OPENAI_TTS_RESPONSE_FORMAT", "opus") - self.openai_tts_timeout_seconds = int(env.get("OPENAI_TTS_TIMEOUT_SECONDS", "180")) - self.openai_tts_chunk_chars = max(500, int(env.get("OPENAI_TTS_CHUNK_CHARS", "3500"))) - self.openai_voice_rewrite_model = env.get("OPENAI_VOICE_REWRITE_MODEL", "gpt-4.1-nano") - self.openai_voice_rewrite_timeout_seconds = int(env.get("OPENAI_VOICE_REWRITE_TIMEOUT_SECONDS", "90")) - self.openai_voice_rewrite_max_input_chars = max(1000, int(env.get("OPENAI_VOICE_REWRITE_MAX_INPUT_CHARS", "12000"))) - self.openai_voice_rewrite_max_output_tokens = max(200, int(env.get("OPENAI_VOICE_REWRITE_MAX_OUTPUT_TOKENS", "900"))) - self.codex_bin = Path(env.get( - "CODEX_BIN", - "/home/ai/.cache/JetBrains/IntelliJIdea2026.1/aia/codex/bin/codex-x86_64-unknown-linux-musl" - )) - self.codex_workdir = Path(env.get("CODEX_WORKDIR", "/home/ai/work/SHiNE/SHiNE-server-sha256")) - self.codex_timeout_seconds = int(env.get("CODEX_TIMEOUT_SECONDS", "900")) - self.max_retries = max(1, int(env.get("MAX_RETRIES", "3"))) - self.data_dir = (root_dir / env.get("DATA_DIR", "./data")).resolve() - self.agent_instructions_file = (root_dir / "AGENT.md").resolve() - - @staticmethod - def _required(env: dict[str, str], key: str) -> str: - value = env.get(key, "").strip() - if not value: - raise RuntimeError(f"Не задан обязательный параметр: {key}") - return value - - -class ShinePyBotService: - def __init__(self, config: BotConfig): - self.cfg = config - self.telegram = TelegramApi(config.telegram_bot_token, config.telegram_api_base_url) - - self.queue_file = config.data_dir / "py_queue.jsonl" - self.state_file = config.data_dir / "py_state.json" - self.processed_updates_file = config.data_dir / "py_processed_updates.log" - self.lock_file = config.data_dir / "py_app.lock" - self.history_dir = config.data_dir / "history" - self.history_archive_dir = self.history_dir / "archive" - self.task_center_dir = config.data_dir / "task_center" - self.task_center_file = self.task_center_dir / "items.json" - self.max_processed_updates = 5000 - - self.queue_lock = threading.RLock() - self.task_center_lock = threading.RLock() - self.stop_event = threading.Event() - self.worker = threading.Thread(target=self._worker_loop, name="shine-py-bot-worker", daemon=True) - - self.queue: list[dict[str, Any]] = [] - self.state: dict[str, Any] = {} - self.processed_updates: list[str] = [] - self.active_job_id: str | None = None - self.active_job_started_at: float | None = None - self.active_process: subprocess.Popen[str] | None = None - self.active_process_lock = threading.Lock() - self.stop_current_job = False - self.lock_fd = None - self.last_heartbeat_at: float = 0.0 - self.restart_requested = False - - def _is_owner(self, username: str) -> bool: - return normalize_username(username) == self.cfg.allowed_username - - def _is_allowed_player(self, username: str) -> bool: - return normalize_username(username) in self.cfg.allowed_players - - def _is_allowed_user(self, username: str) -> bool: - uname = normalize_username(username) - return uname == self.cfg.allowed_username or uname in self.cfg.allowed_players - - def _player_name(self, username: str) -> str: - uname = normalize_username(username) - return self.cfg.allowed_players.get(uname, uname) - - def _display_name(self, username: str) -> str: - uname = normalize_username(username) - if uname == self.cfg.allowed_username: - return "Айдар" - return self._player_name(uname) - - def _known_usernames(self) -> dict[str, str]: - users = {self.cfg.allowed_username: "Айдар"} - users.update(self.cfg.allowed_players) - return users - - def _find_user_by_text(self, text: str) -> str: - source = normalize_username(text) - if source in self._known_usernames(): - return source - source_lower = (text or "").strip().lower() - aliases = { - "айдар": self.cfg.allowed_username, - "айдару": self.cfg.allowed_username, - "айдара": self.cfg.allowed_username, - "милана": "malvviiina", - "милане": "malvviiina", - "милану": "malvviiina", - "миланы": "malvviiina", - "сергей": "zodiaktechnika32", - "сергею": "zodiaktechnika32", - "сергея": "zodiaktechnika32", - "иван": "oidasyda", - "ивану": "oidasyda", - "ивана": "oidasyda", - "ворон": "blackbyrd1", - "ворону": "blackbyrd1", - "ворона": "blackbyrd1", - "дима": "dimasol1", - "диме": "dimasol1", - "диму": "dimasol1", - "димы": "dimasol1", - } - for alias, username in aliases.items(): - if re.search(rf"(^|\W){re.escape(alias)}($|\W)", source_lower, flags=re.IGNORECASE): - return username - for username, name in self._known_usernames().items(): - if username and username in source_lower: - return username - if name and name.lower() in source_lower: - return username - return "" - - def run(self) -> None: - self._ensure_dirs() - self._acquire_single_instance_lock() - self._load_state() - self._load_queue() - self._load_processed_updates() - self._recover_active_jobs_after_restart() - self.telegram.delete_webhook() - self._init_offset_if_missing() - self.worker.start() - self._append_history_event("service_started", {"allowedUsername": self.cfg.allowed_username}) - print(f"[py-bot] Запущен. allowed user: @{self.cfg.allowed_username}", flush=True) - - try: - while not self.stop_event.is_set(): - try: - offset = self.state.get("offset") - updates = self.telegram.get_updates(offset=offset, timeout_sec=25) - except Exception as e: - print(f"[py-bot] Ошибка getUpdates: {e}", flush=True) - time.sleep(2) - continue - - for update in updates: - update_id = update.get("update_id") - if isinstance(update_id, int): - self.state["offset"] = update_id + 1 - self._persist_state() - self._handle_update(update) - finally: - self.shutdown() - - def shutdown(self) -> None: - if self.stop_event.is_set(): - pass - self.stop_event.set() - self._stop_active_codex_process() - if self.worker.is_alive(): - self.worker.join(timeout=10) - if self.lock_fd is not None: - try: - fcntl.flock(self.lock_fd, fcntl.LOCK_UN) - finally: - self.lock_fd.close() - self.lock_fd = None - self._append_history_event("service_stopped", {}) - - def _ensure_dirs(self) -> None: - self.cfg.data_dir.mkdir(parents=True, exist_ok=True) - self.history_dir.mkdir(parents=True, exist_ok=True) - self.history_archive_dir.mkdir(parents=True, exist_ok=True) - self.task_center_dir.mkdir(parents=True, exist_ok=True) - - def _acquire_single_instance_lock(self) -> None: - self.lock_file.parent.mkdir(parents=True, exist_ok=True) - self.lock_fd = self.lock_file.open("a+") - try: - fcntl.flock(self.lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB) - except BlockingIOError: - raise RuntimeError(f"Уже запущен другой инстанс (lock: {self.lock_file})") - - def _load_state(self) -> None: - if self.state_file.exists(): - self.state = json.loads(self.state_file.read_text(encoding="utf-8")) - else: - self.state = {} - sessions = self.state.get("user_sessions") - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - user_settings = self.state.get("user_settings") - if not isinstance(user_settings, dict): - user_settings = {} - self.state["user_settings"] = user_settings - if not self.state.get("current_history_file"): - history_file = self._create_new_history_file("initial", self.cfg.allowed_username) - self.state["current_history_file"] = str(history_file) - sessions[self.cfg.allowed_username] = {"current_history_file": str(history_file)} - elif self.cfg.allowed_username not in sessions: - sessions[self.cfg.allowed_username] = {"current_history_file": str(self.state["current_history_file"])} - if not isinstance(self.state.get("next_job_number"), int): - self.state["next_job_number"] = 1 - self.state["updated_at"] = now_iso() - self._persist_state() - - def _persist_state(self) -> None: - self.state["updated_at"] = now_iso() - tmp = self.state_file.with_suffix(".tmp") - tmp.write_text(json.dumps(self.state, ensure_ascii=False, indent=2), encoding="utf-8") - tmp.replace(self.state_file) - - def _load_queue(self) -> None: - self.queue = JsonLineStore.load(self.queue_file) - - def _persist_queue(self) -> None: - JsonLineStore.save(self.queue_file, self.queue) - - def _load_processed_updates(self) -> None: - if not self.processed_updates_file.exists(): - self.processed_updates = [] - return - lines = [x.strip() for x in self.processed_updates_file.read_text(encoding="utf-8").splitlines() if x.strip()] - if len(lines) > self.max_processed_updates: - lines = lines[-self.max_processed_updates:] - self.processed_updates_file.write_text("\n".join(lines) + "\n", encoding="utf-8") - self.processed_updates = lines - - def _mark_processed_update(self, update_key: str) -> bool: - if update_key in self.processed_updates: - return True - self.processed_updates.append(update_key) - if len(self.processed_updates) > self.max_processed_updates: - self.processed_updates = self.processed_updates[-self.max_processed_updates:] - self.processed_updates_file.write_text("\n".join(self.processed_updates) + "\n", encoding="utf-8") - else: - with self.processed_updates_file.open("a", encoding="utf-8") as f: - f.write(update_key + "\n") - return False - - def _recover_active_jobs_after_restart(self) -> None: - recovered_ids: list[str] = [] - for job in self.queue: - if job.get("status") == "active": - job["status"] = "pending" - job["retry_reason"] = "service_restart_recovery" - job["updated_at"] = now_iso() - recovered_ids.append(job.get("id", "")) - if recovered_ids: - self._persist_queue() - self._append_history_event("active_jobs_recovered", {"jobIds": recovered_ids}) - - def _init_offset_if_missing(self) -> None: - if self.state.get("offset") is not None: - return - try: - updates = self.telegram.get_updates(offset=None, timeout_sec=0) - if updates: - self.state["offset"] = int(updates[-1]["update_id"]) + 1 - else: - self.state["offset"] = 0 - self._persist_state() - except Exception as e: - print(f"[py-bot] Не удалось инициализировать offset: {e}", flush=True) - self.state["offset"] = 0 - self._persist_state() - - def _current_history_file(self) -> Path: - return self._current_history_file_for_user(self.cfg.allowed_username) - - def _history_dirs_for_user(self, username: str) -> tuple[Path, Path]: - uname = normalize_username(username) or "unknown" - history_dir = self.history_dir / uname - archive_dir = history_dir / "archive" - history_dir.mkdir(parents=True, exist_ok=True) - archive_dir.mkdir(parents=True, exist_ok=True) - return history_dir, archive_dir - - def _ensure_user_session(self, username: str) -> None: - uname = normalize_username(username) or self.cfg.allowed_username - sessions = self.state.setdefault("user_sessions", {}) - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - self._user_settings(uname) - session = sessions.get(uname) - if isinstance(session, dict) and session.get("current_history_file"): - return - history_file = self._create_new_history_file("initial", uname) - sessions[uname] = {"current_history_file": str(history_file)} - if uname == self.cfg.allowed_username: - self.state["current_history_file"] = str(history_file) - self._persist_state() - - def _user_session_state(self, username: str) -> dict[str, Any]: - uname = normalize_username(username) or self.cfg.allowed_username - self._ensure_user_session(uname) - sessions = self.state.get("user_sessions") or {} - session = sessions.get(uname) - if not isinstance(session, dict): - session = {} - sessions[uname] = session - return session - - def _current_history_file_for_user(self, username: str) -> Path: - session = self._user_session_state(username) - return Path(session["current_history_file"]) - - def _codex_thread_id_for_user(self, username: str) -> str: - thread_id = (self._user_session_state(username).get("codex_thread_id") or "").strip() - return thread_id - - def _set_codex_thread_id_for_user(self, username: str, thread_id: str) -> None: - session = self._user_session_state(username) - normalized = (thread_id or "").strip() - if normalized: - session["codex_thread_id"] = normalized - else: - session.pop("codex_thread_id", None) - self._persist_state() - - def _create_new_history_file(self, reason: str, username: str) -> Path: - ts = dt.datetime.now().strftime("%Y-%m-%d_%H%M%S") - rnd = "".join(random.choices(string.hexdigits.lower(), k=8)) - history_dir, _ = self._history_dirs_for_user(username) - path = history_dir / f"{ts}_{rnd}.jsonl" - JsonLineStore.append(path, { - "ts": now_iso(), - "type": "history_created", - "reason": reason, - "username": normalize_username(username), - }) - return path - - def _rotate_history(self, reason: str, username: str) -> Path: - uname = normalize_username(username) or self.cfg.allowed_username - current = self._current_history_file_for_user(uname) - _, archive_dir = self._history_dirs_for_user(uname) - if current.exists(): - archived = archive_dir / current.name - current.replace(archived) - else: - archived = archive_dir / "(empty)" - new_file = self._create_new_history_file(reason, uname) - sessions = self.state.setdefault("user_sessions", {}) - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - previous = sessions.get(uname) if isinstance(sessions.get(uname), dict) else {} - sessions[uname] = {"current_history_file": str(new_file)} - if reason != "command_new" and isinstance(previous, dict): - thread_id = (previous.get("codex_thread_id") or "").strip() - if thread_id: - sessions[uname]["codex_thread_id"] = thread_id - if uname == self.cfg.allowed_username: - self.state["current_history_file"] = str(new_file) - self._persist_state() - self._append_history_event("history_rotated", {"reason": reason, "username": uname, "archived": str(archived)}, username=uname) - return archived - - def _user_settings(self, username: str) -> dict[str, Any]: - uname = normalize_username(username) or self.cfg.allowed_username - settings = self.state.get("user_settings") - if not isinstance(settings, dict): - settings = {} - self.state["user_settings"] = settings - user_settings = settings.get(uname) - if not isinstance(user_settings, dict): - user_settings = {} - settings[uname] = user_settings - if not isinstance(user_settings.get("voice_replies_enabled"), bool): - user_settings["voice_replies_enabled"] = True - if not isinstance(user_settings.get("voice_rewrite_enabled"), bool): - user_settings["voice_rewrite_enabled"] = True - if not isinstance(user_settings.get("single_status_message_enabled"), bool): - user_settings["single_status_message_enabled"] = True - return user_settings - - def _voice_replies_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("voice_replies_enabled")) - - def _set_voice_replies_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["voice_replies_enabled"] = enabled - self._persist_state() - - def _voice_rewrite_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("voice_rewrite_enabled")) - - def _set_voice_rewrite_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["voice_rewrite_enabled"] = enabled - self._persist_state() - - def _single_status_message_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("single_status_message_enabled")) - - def _set_single_status_message_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["single_status_message_enabled"] = enabled - self._persist_state() - - def _remember_private_chat(self, username: str, chat_id: int) -> None: - uname = normalize_username(username) - if not uname: - return - private_chats = self.state.get("private_chat_ids") - if not isinstance(private_chats, dict): - private_chats = {} - self.state["private_chat_ids"] = private_chats - if private_chats.get(uname) == chat_id: - return - private_chats[uname] = chat_id - self._persist_state() - - def _private_chat_id_for_user(self, username: str) -> int | None: - private_chats = self.state.get("private_chat_ids") - if not isinstance(private_chats, dict): - return None - chat_id = private_chats.get(normalize_username(username)) - return self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else None - - def _append_history(self, history_path: Path, event_type: str, payload: dict[str, Any]) -> None: - row = {"ts": now_iso(), "type": event_type} - row.update(payload) - JsonLineStore.append(history_path, row) - - def _append_history_event(self, event_type: str, payload: dict[str, Any], username: str | None = None) -> None: - history_path = self._current_history_file_for_user(username or self.cfg.allowed_username) - self._append_history(history_path, "system_event", {"event": event_type, **payload}) - - def _load_task_items(self) -> list[dict[str, Any]]: - with self.task_center_lock: - if not self.task_center_file.exists(): - return [] - try: - data = json.loads(self.task_center_file.read_text(encoding="utf-8")) - except Exception: - return [] - return data if isinstance(data, list) else [] - - def _save_task_items(self, items: list[dict[str, Any]]) -> None: - with self.task_center_lock: - self.task_center_file.parent.mkdir(parents=True, exist_ok=True) - tmp = self.task_center_file.with_suffix(".tmp") - tmp.write_text(json.dumps(items, ensure_ascii=False, indent=2), encoding="utf-8") - tmp.replace(self.task_center_file) - - def _next_task_item_id(self, items: list[dict[str, Any]]) -> str: - max_num = 0 - for item in items: - raw = str(item.get("id") or "") - match = re.match(r"TC-(\d+)$", raw) - if match: - max_num = max(max_num, int(match.group(1))) - return f"TC-{max_num + 1:04d}" - - def _create_task_item( - self, - *, - kind: str, - title: str, - text: str, - source_username: str, - target_username: str, - source_message_id: int | None = None, - source_chat_id: int | None = None, - opinion: str = "", - ) -> dict[str, Any]: - items = self._load_task_items() - item = { - "id": self._next_task_item_id(items), - "kind": kind, - "status": "new", - "title": compact_spaces(title)[:160] or ("Предложение" if kind == "proposal" else "Задача"), - "text": (text or "").strip(), - "opinion": (opinion or "").strip(), - "source_username": normalize_username(source_username), - "source_name": self._display_name(source_username), - "target_username": normalize_username(target_username), - "target_name": self._display_name(target_username), - "source_chat_id": source_chat_id, - "source_message_id": source_message_id, - "created_at": now_iso(), - "updated_at": now_iso(), - } - items.append(item) - self._save_task_items(items) - self._append_history_event("task_center_item_created", { - "itemId": item["id"], - "kind": kind, - "sourceUsername": item["source_username"], - "targetUsername": item["target_username"], - "title": item["title"], - }, username=source_username) - return item - - def _task_items_for_user(self, username: str, *, include_done: bool = False) -> list[dict[str, Any]]: - uname = normalize_username(username) - items = self._load_task_items() - result = [ - item for item in items - if normalize_username(item.get("target_username")) == uname - and (include_done or item.get("status") != "done") - ] - return sorted(result, key=lambda x: str(x.get("created_at") or "")) - - def _task_center_counts_text(self, username: str) -> str: - counts: dict[str, int] = {} - for item in self._task_items_for_user(username): - status = str(item.get("status") or "new") - counts[status] = counts.get(status, 0) + 1 - active_total = sum(counts.values()) - if active_total <= 0: - return "" - parts = [] - for status in ("new", "approved", "needs_work", "rejected"): - count = counts.get(status, 0) - if count: - parts.append(f"{TASK_STATUS_LABELS.get(status, status)}: {count}") - return f"Напоминание по задачам: всего активных {active_total}; " + ", ".join(parts) + "." - - def _format_task_items(self, username: str, *, include_done: bool = False) -> str: - items = self._task_items_for_user(username, include_done=include_done) - if not items: - return f"Для {self._display_name(username)} активных задач и предложений нет." - lines = [f"Задачи и предложения для {self._display_name(username)}:"] - for item in items[:15]: - kind = "предложение" if item.get("kind") == "proposal" else "задача" - status = TASK_STATUS_LABELS.get(str(item.get("status") or "new"), str(item.get("status") or "new")) - source = item.get("source_name") or item.get("source_username") or "неизвестно" - title = item.get("title") or "(без названия)" - lines.append(f"{item.get('id')} [{status}] {kind} от {source}: {title}") - if len(items) > 15: - lines.append(f"...и ещё {len(items) - 15}") - return "\n".join(lines) - - def _update_task_item_status(self, item_id: str, status: str) -> dict[str, Any] | None: - item_id = (item_id or "").strip().upper() - items = self._load_task_items() - updated = None - for item in items: - if str(item.get("id") or "").upper() == item_id: - item["status"] = status - item["updated_at"] = now_iso() - updated = item - break - if updated is not None: - self._save_task_items(items) - return updated - - def _find_first_task_item(self, *, source_username: str = "", target_username: str = "", kind: str = "") -> dict[str, Any] | None: - source = normalize_username(source_username) - target = normalize_username(target_username) - for item in self._load_task_items(): - if item.get("status") == "done": - continue - if source and normalize_username(item.get("source_username")) != source: - continue - if target and normalize_username(item.get("target_username")) != target: - continue - if kind and item.get("kind") != kind: - continue - return item - return None - - def _notify_user_about_task_item(self, username: str, item: dict[str, Any]) -> None: - chat_id = self._private_chat_id_for_user(username) - if chat_id is None: - return - kind = "предложение" if item.get("kind") == "proposal" else "задача" - source = item.get("source_name") or item.get("source_username") or "кто-то" - title = item.get("title") or "(без названия)" - status = TASK_STATUS_LABELS.get(str(item.get("status") or "new"), str(item.get("status") or "new")) - if item.get("status") == "new": - text = f"У тебя новое {kind} от {source}: {title}\nID: {item.get('id')}" - else: - text = f"Обновление по {kind} {item.get('id')}: статус «{status}».\n{title}" - self._safe_send(chat_id, text) - - def _send_player_welcome_once(self, chat_id: int, message_id: int, username: str) -> None: - uname = normalize_username(username) - sent = self.state.get("player_welcome_sent") - if not isinstance(sent, dict): - sent = {} - self.state["player_welcome_sent"] = sent - if sent.get(uname): - return - player_name = self._player_name(uname) - text = ( - f"Привет, {player_name}.\n" - "Можно задавать вопросы по проекту, просить анализ, идеи и подготовку готового ТЗ.\n" - "Команда /new начинает новую Codex-сессию и архивирует текущую историю." - ) - reminder = self._task_center_counts_text(uname) - if reminder: - text = f"{text}\n\n{reminder}\nКоманда /tasks покажет список." - self._safe_send(chat_id, text, reply_to=message_id) - sent[uname] = now_iso() - self._persist_state() - - def _resolve_chat_id(self, chat_id: int) -> int: - migrations = self.state.get("chat_id_migrations") - if not isinstance(migrations, dict): - return chat_id - current = chat_id - visited: set[int] = set() - while current not in visited: - visited.add(current) - next_chat_id = migrations.get(str(current)) - if not isinstance(next_chat_id, int): - break - current = next_chat_id - return current - - def _remember_chat_migration(self, old_chat_id: int, new_chat_id: int, source: str) -> None: - if old_chat_id == new_chat_id: - return - migrations = self.state.get("chat_id_migrations") - if not isinstance(migrations, dict): - migrations = {} - self.state["chat_id_migrations"] = migrations - if migrations.get(str(old_chat_id)) == new_chat_id: - return - migrations[str(old_chat_id)] = new_chat_id - self._persist_state() - with self.queue_lock: - changed = False - for job in self.queue: - if job.get("chat_id") == old_chat_id: - job["chat_id"] = new_chat_id - job["updated_at"] = now_iso() - changed = True - if changed: - self._persist_queue() - self._append_history_event("chat_migrated_to_supergroup", { - "oldChatId": old_chat_id, - "newChatId": new_chat_id, - "source": source, - }) - - @staticmethod - def _extract_migrate_to_chat_id(error_text: str) -> int | None: - match = re.search(r'"migrate_to_chat_id"\s*:\s*(-?\d+)', error_text) - if match: - return int(match.group(1)) - match = re.search(r"'migrate_to_chat_id'\s*:\s*(-?\d+)", error_text) - if match: - return int(match.group(1)) - return None - - def _handle_update(self, update: dict[str, Any]) -> None: - message = update.get("message") - update_type = "message" - if not isinstance(message, dict): - message = update.get("channel_post") - update_type = "channel_post" - if not isinstance(message, dict): - return - chat = message.get("chat") or {} - chat_id = chat.get("id") - message_id = message.get("message_id") - chat_type = str(chat.get("type") or "") - chat_username = normalize_username(chat.get("username")) - chat_title = str(chat.get("title") or "") - sender = message.get("from") or {} - username = normalize_username(sender.get("username")) - author_signature = str(message.get("author_signature") or "").strip() - author_username = username or normalize_username(author_signature) - if not isinstance(chat_id, int) or not isinstance(message_id, int): - return - - migrate_to_chat_id = message.get("migrate_to_chat_id") - if isinstance(migrate_to_chat_id, int): - self._remember_chat_migration(chat_id, migrate_to_chat_id, "telegram_message") - return - - update_key = f"{chat_id}:{message_id}" - if self._mark_processed_update(update_key): - return - - is_channel_post = update_type == "channel_post" or chat_type == "channel" - is_group_message = update_type == "message" and chat_type in ("group", "supergroup") - is_allowed_channel = ( - not is_channel_post - or not self.cfg.allowed_channel_username - or chat_username == self.cfg.allowed_channel_username - ) - if is_channel_post and not is_allowed_channel: - return - if chat_username and chat_username == self.cfg.allowed_channel_username: - self._remember_public_report_chat(chat_id) - - # Игнорируем системные сообщения о входе/выходе и смене заголовка/фото. - if message.get("new_chat_members") or message.get("left_chat_member"): - return - if message.get("group_chat_created") or message.get("supergroup_chat_created") or message.get("channel_chat_created"): - return - - text = (message.get("text") or message.get("caption") or "").strip() - actor_username = normalize_username(author_username) - is_allowed = self._is_allowed_user(actor_username) - is_private = chat_type == "private" - if not is_allowed: - if is_private: - self._safe_send(chat_id, "Извините, доступ к этому агенту пока не выдан. Обратитесь к Айдару.", reply_to=message_id) - return - if self._is_allowed_player(actor_username) and not is_private: - return - - self._ensure_user_session(actor_username) - if is_private: - self._remember_private_chat(actor_username, chat_id) - history_path = self._current_history_file_for_user(actor_username) - if self._is_allowed_player(actor_username): - self._send_player_welcome_once(chat_id, message_id, actor_username) - - if not text: - if message.get("voice"): - self._enqueue_voice_job( - chat_id, - message_id, - actor_username, - message["voice"].get("file_id"), - duration_seconds=message["voice"].get("duration"), - telegram_file_size=message["voice"].get("file_size"), - media_type="voice", - update_type=update_type, - chat_username=chat_username, - chat_title=chat_title, - author_signature=author_signature, - chat_type=chat_type, - ) - return - if message.get("audio"): - self._enqueue_voice_job( - chat_id, - message_id, - actor_username, - message["audio"].get("file_id"), - duration_seconds=message["audio"].get("duration"), - telegram_file_size=message["audio"].get("file_size"), - media_type="audio", - update_type=update_type, - chat_username=chat_username, - chat_title=chat_title, - author_signature=author_signature, - chat_type=chat_type, - ) - return - self._safe_send(chat_id, "Поддерживаются текст, voice и audio.", reply_to=message_id) - return - - if text.startswith("/"): - self._handle_command(chat_id, message_id, actor_username, text) - return - - if self._handle_task_center_text(chat_id, message_id, actor_username, text): - return - - self._append_history(history_path, "incoming_text", { - "chatId": chat_id, - "messageId": message_id, - "updateType": update_type, - "chatType": chat_type, - "chatUsername": chat_username, - "chatTitle": chat_title, - "username": actor_username, - "authorSignature": author_signature, - "text": text, - }) - job = self._build_job_base(chat_id, message_id, actor_username, str(history_path)) - job["type"] = "text" - job["text"] = text - job["update_type"] = update_type - job["chat_type"] = chat_type - job["chat_username"] = chat_username - job["chat_title"] = chat_title - job["author_signature"] = author_signature - job["role"] = "owner" if self._is_owner(actor_username) else "player" - job["player_name"] = self._player_name(actor_username) if job["role"] == "player" else "" - with self.queue_lock: - self.queue.append(job) - self._persist_queue() - if chat_type == "private": - self._ensure_job_status_message( - job["id"], - chat_id, - message_id, - f"Задача #{job['num']} получена.\nСтатус: в очереди.", - ) - else: - self._safe_send(chat_id, f"Принял задачу #{job['num']}", reply_to=message_id) - - def _enqueue_voice_job( - self, - chat_id: int, - message_id: int, - username: str, - file_id: str | None, - *, - duration_seconds: int | None = None, - telegram_file_size: int | None = None, - media_type: str = "voice", - update_type: str = "message", - chat_username: str = "", - chat_title: str = "", - author_signature: str = "", - chat_type: str = "", - ) -> None: - if not file_id: - self._safe_send(chat_id, "Не удалось прочитать file_id голосового.", reply_to=message_id) - return - history_path = self._current_history_file_for_user(username) - self._append_history(history_path, "incoming_voice", { - "chatId": chat_id, - "messageId": message_id, - "updateType": update_type, - "chatType": chat_type, - "chatUsername": chat_username, - "chatTitle": chat_title, - "username": username, - "authorSignature": author_signature, - "fileId": file_id, - "mediaType": media_type, - "durationSeconds": duration_seconds, - "fileSize": telegram_file_size, - }) - job = self._build_job_base(chat_id, message_id, username, str(history_path)) - job["type"] = "voice" - job["telegram_file_id"] = file_id - job["telegram_media_type"] = media_type - job["telegram_duration_seconds"] = duration_seconds or 0 - job["telegram_file_size"] = telegram_file_size or 0 - job["update_type"] = update_type - job["chat_type"] = chat_type - job["chat_username"] = chat_username - job["chat_title"] = chat_title - job["author_signature"] = author_signature - job["role"] = "owner" if self._is_owner(username) else "player" - job["player_name"] = self._player_name(username) if job["role"] == "player" else "" - with self.queue_lock: - self.queue.append(job) - self._persist_queue() - if chat_type == "private": - self._ensure_job_status_message( - job["id"], - chat_id, - message_id, - f"Voice для задачи #{job['num']} получен.\nСтатус: в очереди.", - ) - else: - self._safe_send(chat_id, f"Принял voice в задачу #{job['num']}", reply_to=message_id) - - def _build_job_base(self, chat_id: int, message_id: int, username: str, history_file: str) -> dict[str, Any]: - with self.queue_lock: - num = int(self.state.get("next_job_number", 1)) - self.state["next_job_number"] = num + 1 - self._persist_state() - return { - "id": str(uuid.uuid4()), - "num": num, - "status": "pending", - "type": "text", - "chat_id": chat_id, - "message_id": message_id, - "username": username, - "update_type": "message", - "chat_type": "", - "chat_username": "", - "chat_title": "", - "author_signature": "", - "role": "owner", - "player_name": "", - "text": "", - "telegram_file_id": "", - "telegram_media_type": "", - "history_file": history_file, - "attempts": 0, - "retry_reason": "", - "last_error": "", - "created_at": now_iso(), - "updated_at": now_iso(), - "active_since": None, - "status_message_id": None, - "status_message_text": "", - } - - def _handle_task_center_text(self, chat_id: int, message_id: int, username: str, text: str) -> bool: - source_text = (text or "").strip() - lower = source_text.lower() - is_owner = self._is_owner(username) - - if re.search(r"\b(покажи|список|какие)\b.*\b(задач|задачи|предложени)", lower): - target = username - explicit_target = self._find_user_by_text(source_text) - if is_owner and explicit_target: - target = explicit_target - self._safe_send(chat_id, self._format_task_items(target), reply_to=message_id) - return True - - if is_owner: - assign_match = re.search( - r"(?:поставь|добавь|создай|запиши)\s+(?:задачу|задание)\s+(.+?)(?::|\s+-\s+|\s+—\s+)(.+)", - source_text, - flags=re.IGNORECASE | re.DOTALL, - ) - if assign_match: - target = self._find_user_by_text(assign_match.group(1)) - body = assign_match.group(2).strip() - if target and body: - item = self._create_task_item( - kind="task", - title=body, - text=body, - source_username=username, - target_username=target, - source_message_id=message_id, - source_chat_id=chat_id, - ) - self._notify_user_about_task_item(target, item) - self._safe_send( - chat_id, - f"Задача добавлена для {self._display_name(target)}: {item['id']} — {item['title']}", - reply_to=message_id, - ) - return True - - status_match = re.search(r"\b(одобрить|отклонить|доработать|закрыть|сделано|закрыта)\b(?:\s+(.+))?", lower, flags=re.IGNORECASE) - if status_match and ("задач" in lower or "предложени" in lower or re.search(r"tc-\d+", lower, flags=re.IGNORECASE)): - action = status_match.group(1) - tail = status_match.group(2) or "" - status = { - "одобрить": "approved", - "отклонить": "rejected", - "доработать": "needs_work", - "закрыть": "done", - "сделано": "done", - "закрыта": "done", - }.get(action, "new") - id_match = re.search(r"tc-\d+", source_text, flags=re.IGNORECASE) - item = None - if id_match: - item = self._update_task_item_status(id_match.group(0), status) - else: - source_user = self._find_user_by_text(tail) - item = self._find_first_task_item( - source_username=source_user, - target_username=username, - kind="proposal" if "предложени" in lower else "", - ) - if item: - item = self._update_task_item_status(str(item.get("id")), status) - if item: - label = TASK_STATUS_LABELS.get(status, status) - self._safe_send(chat_id, f"{item.get('id')} обновлена: {label}.", reply_to=message_id) - source_user = normalize_username(item.get("source_username")) - if source_user and source_user != username: - self._notify_user_about_task_item(source_user, item) - return True - - if not is_owner: - proposal_match = re.match(r"\s*(?:предложение|идея|заявка)\s*[::-]\s*(.+)", source_text, flags=re.IGNORECASE | re.DOTALL) - if proposal_match: - body = proposal_match.group(1).strip() - if body: - item = self._create_task_item( - kind="proposal", - title=body, - text=body, - opinion="Нужно решение Айдара: одобрить, отклонить или отправить на доработку.", - source_username=username, - target_username=self.cfg.allowed_username, - source_message_id=message_id, - source_chat_id=chat_id, - ) - self._notify_user_about_task_item(self.cfg.allowed_username, item) - self._safe_send( - chat_id, - f"Предложение отправлено Айдару как {item['id']}. Статус: новая.", - reply_to=message_id, - ) - return True - - return False - - def _handle_command(self, chat_id: int, message_id: int, username: str, text: str) -> None: - lower = text.lower() - command = lower.split(maxsplit=1)[0].split("@", 1)[0] - is_owner = self._is_owner(username) - if command in ("/start", "/help"): - self._safe_send(chat_id, self._help_text(is_owner=is_owner), reply_to=message_id) - return - if command == "/settings": - self._safe_send(chat_id, self._settings_text(username), reply_to=message_id) - return - if command == "/status": - self._safe_send(chat_id, self._status_text(username), reply_to=message_id) - return - if command == "/queue": - self._safe_send(chat_id, self._queue_text(), reply_to=message_id) - return - if command in ("/tasks", "/my_tasks"): - parts = text.split(maxsplit=1) - target = username - if is_owner and len(parts) > 1: - parsed = self._find_user_by_text(parts[1]) - if parsed: - target = parsed - self._safe_send(chat_id, self._format_task_items(target), reply_to=message_id) - return - if command == "/voice_on": - self._set_voice_replies_enabled(username, True) - self._append_history_event("voice_replies_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Озвучивание финальных ответов включено для вашего пользователя.", reply_to=message_id) - return - if command == "/voice_off": - self._set_voice_replies_enabled(username, False) - self._append_history_event("voice_replies_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Озвучивание финальных ответов выключено для вашего пользователя.", reply_to=message_id) - return - if command in ("/voice_status", "/voice_rewrite_status"): - self._safe_send(chat_id, self._status_text(username), reply_to=message_id) - return - if command == "/voice_rewrite_on": - self._set_voice_rewrite_enabled(username, True) - self._append_history_event("voice_rewrite_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Адаптация текста перед озвучкой включена для вашего пользователя.", reply_to=message_id) - return - if command == "/voice_rewrite_off": - self._set_voice_rewrite_enabled(username, False) - self._append_history_event("voice_rewrite_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Адаптация текста перед озвучкой выключена для вашего пользователя.", reply_to=message_id) - return - if command == "/single_message_on": - self._set_single_status_message_enabled(username, True) - self._append_history_event("single_status_message_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Режим одного редактируемого сообщения в личке включён для вашего пользователя.", reply_to=message_id) - return - if command == "/single_message_off": - self._set_single_status_message_enabled(username, False) - self._append_history_event("single_status_message_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Режим одного редактируемого сообщения в личке выключен. Бот будет отправлять отдельные сообщения по этапам.", reply_to=message_id) - return - if command == "/new": - archived = self._rotate_history("command_new", username) - self._safe_send(chat_id, f"История очищена. Новый диалог начат.\nАрхив: {archived.name}", reply_to=message_id) - return - if command in ("/restart_service", "/restart"): - if not is_owner: - self._safe_send(chat_id, "Команда недоступна.", reply_to=message_id) - return - self._append_history_event("restart_service_deferred_requested", { - "chatId": chat_id, - "messageId": message_id, - "username": username, - }, username=username) - self._safe_send( - chat_id, - "Отложенный рестарт принят. Если задача сейчас выполняется, сервис перезапустится после её завершения и до следующей задачи.", - reply_to=message_id, - ) - self._request_deferred_restart() - return - if command in ("/restart_hard", "/restart_now", "/restart_force"): - if not is_owner: - self._safe_send(chat_id, "Команда недоступна.", reply_to=message_id) - return - self._append_history_event("restart_service_hard_requested", { - "chatId": chat_id, - "messageId": message_id, - "username": username, - }, username=username) - self._safe_send( - chat_id, - "Выполняю жёсткий рестарт сервиса прямо сейчас. Активная задача, если есть, будет прервана и после старта вернётся в очередь.", - reply_to=message_id, - ) - self._schedule_self_restart("hard_restart_requested", force=True) - return - if command == "/stop": - stopped = self._cancel_active_job("stopped_by_user") - if stopped: - self._safe_send(chat_id, "Текущая задача остановлена и удалена из очереди.", reply_to=message_id) - else: - self._safe_send(chat_id, "Сейчас нет активной задачи.", reply_to=message_id) - return - if command == "/cancel": - parts = text.split(maxsplit=1) - if len(parts) < 2: - self._safe_send(chat_id, "Использование: /cancel <id|all>", reply_to=message_id) - return - arg = parts[1].strip() - if arg.lower() == "all": - with self.queue_lock: - self.stop_current_job = True - self._stop_active_codex_process() - count = len(self.queue) - self.queue = [] - self._persist_queue() - self._safe_send(chat_id, f"Удалено задач из очереди: {count}", reply_to=message_id) - return - cancelled = self._cancel_by_id_prefix(arg) - self._safe_send(chat_id, f"Задача удалена: {arg}" if cancelled else f"Задача не найдена: {arg}", reply_to=message_id) - return - - def _help_text(self, *, is_owner: bool) -> str: - lines = [ - "Доступные команды:", - "/status — активная задача и размер очереди", - "/settings — текущие настройки и команды для их изменения", - "/queue — список задач в очереди", - "/tasks — список ваших задач и предложений", - "/stop — остановить текущую задачу", - "/cancel <id|all> — удалить задачу по id (префикс) или все", - "/new — архивировать историю и начать новую Codex-сессию", - "/help — эта справка", - ] - if is_owner: - lines.insert(-1, "/tasks <пользователь> — список задач игрока") - lines.insert(-1, "/restart — отложенный рестарт после текущей задачи") - lines.insert(-1, "/restart_hard — жёсткий рестарт прямо сейчас") - return "\n".join(lines) - - def _settings_text(self, username: str) -> str: - voice_status = "включено" if self._voice_replies_enabled(username) else "выключено" - rewrite_status = "включена" if self._voice_rewrite_enabled(username) else "выключена" - single_message_status = "включён" if self._single_status_message_enabled(username) else "выключен" - lines = [ - "Текущие настройки:", - f"Озвучивание финальных ответов: {voice_status}", - f"Адаптация текста перед озвучкой: {rewrite_status}", - f"Режим одного редактируемого сообщения в личке: {single_message_status}", - "", - "Команды настроек:", - "/voice_on — включить озвучивание", - "/voice_off — выключить озвучивание", - "/voice_rewrite_on — адаптировать текст перед озвучкой", - "/voice_rewrite_off — озвучивать обычный текст без адаптации", - "/single_message_on — один редактируемый ответ в личке", - "/single_message_off — отдельные сообщения по этапам и финалу", - ] - return "\n".join(lines) - - def _status_text(self, username: str) -> str: - with self.queue_lock: - active = next((j for j in self.queue if j.get("status") == "active"), None) - pending = sum(1 for j in self.queue if j.get("status") == "pending") - voice_status = "включено" if self._voice_replies_enabled(username) else "выключено" - rewrite_status = "включена" if self._voice_rewrite_enabled(username) else "выключена" - single_message_status = "включён" if self._single_status_message_enabled(username) else "выключен" - settings_text = ( - f"Голосовые ответы: {voice_status}\n" - f"Адаптация текста перед озвучкой: {rewrite_status}\n" - f"Режим одного сообщения в личке: {single_message_status}" - ) - restart_text = "\nОтложенный рестарт: ожидает завершения текущей задачи" if self.restart_requested else "" - if not active: - return f"Статус: активной задачи нет.\nВ очереди pending: {pending}\n{settings_text}{restart_text}" - elapsed = int(time.time() - (self.active_job_started_at or time.time())) - return ( - f"Статус: активная задача #{active.get('num', '?')}\n" - f"Тип: {active.get('type', 'text')}\n" - f"Попытка: {int(active.get('attempts', 0)) + 1}/{self.cfg.max_retries}\n" - f"Выполняется: {elapsed}с\n" - f"Pending: {pending}\n" - f"{settings_text}{restart_text}" - ) - - def _queue_text(self) -> str: - with self.queue_lock: - items = list(self.queue) - if not items: - return "Очередь пуста." - lines = [f"Очередь: {len(items)}"] - for i, job in enumerate(items[:10], start=1): - lines.append( - f"{i}) #{job.get('num', '?')} [{job.get('status')}] {job.get('type')} attempts={job.get('attempts', 0)}" - ) - if len(items) > 10: - lines.append(f"...и ещё {len(items) - 10} задач") - return "\n".join(lines) - - def _cancel_active_job(self, reason: str) -> bool: - with self.queue_lock: - active = next((j for j in self.queue if j.get("status") == "active"), None) - if not active: - return False - self.stop_current_job = True - self._stop_active_codex_process() - self.queue = [j for j in self.queue if j.get("id") != active.get("id")] - self._persist_queue() - self._append_history_event("job_stopped_by_user", {"jobId": active.get("id"), "reason": reason}) - return True - - def _cancel_by_id_prefix(self, prefix: str) -> bool: - prefix = prefix.strip().lower() - normalized_num = prefix.lstrip("#") - with self.queue_lock: - target = next( - ( - j for j in self.queue - if str(j.get("id", "")).lower().startswith(prefix) - or str(j.get("num", "")).lower() == normalized_num - ), - None - ) - if not target: - return False - if target.get("status") == "active": - self.stop_current_job = True - self._stop_active_codex_process() - self.queue = [j for j in self.queue if j.get("id") != target.get("id")] - self._persist_queue() - return True - - def _worker_loop(self) -> None: - while not self.stop_event.is_set(): - if self.restart_requested: - self._exit_for_restart("deferred_restart_before_next_job") - return - job = None - with self.queue_lock: - for item in self.queue: - if item.get("status") == "pending": - item["status"] = "active" - item["active_since"] = now_iso() - item["updated_at"] = now_iso() - self.active_job_id = item.get("id") - self.active_job_started_at = time.time() - job = dict(item) - self._persist_queue() - break - if not job: - time.sleep(0.5) - continue - - self.stop_current_job = False - self._process_job(job) - self.active_job_id = None - self.active_job_started_at = None - if self.restart_requested: - self._exit_for_restart("deferred_restart_after_job") - return - - def _process_job(self, job: dict[str, Any]) -> None: - job_id = job["id"] - job_num = job.get("num", "?") - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - history_path = Path(job["history_file"]) - private_single_message = ( - (job.get("chat_type") or "") == "private" - and self._single_status_message_enabled(job.get("username") or "") - ) - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: выполняется.") - try: - if job.get("type") == "voice": - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: распознаю voice.") - recognized = self._transcribe_voice_job( - job, - status_cb=lambda note: self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: {note}", - ), - ) - job["text"] = recognized - self._append_history(history_path, "voice_transcription", {"jobId": job_id, "jobNum": job_num, "text": recognized}) - preview = recognized.strip() - if len(preview) > 800: - preview = preview[:800].rstrip() + " ...[обрезано]" - self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: voice распознан, отправляю в Codex.\n\nТекст:\n{preview}", - ) - - prompt = self._build_prompt(job) - self._append_history(history_path, "codex_request", {"jobId": job_id, "prompt": prompt}) - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: выполняю через Codex.") - answer = self._run_codex(prompt, job) - if private_single_message: - parts = split_final_private_text(answer) - self._set_job_status_text(job, parts[0]) - if len(parts) > 1: - self._safe_send(chat_id, parts[1], reply_to=message_id) - else: - for chunk in split_long_text(answer): - self._safe_send(chat_id, chunk, reply_to=message_id) - self._append_history(history_path, "codex_response", {"jobId": job_id, "text": answer}) - self._send_private_job_public_report(job, answer) - self._send_task_center_reminder(job) - if self._voice_replies_enabled(job.get("username") or ""): - self._send_voice_reply_for_answer(job, answer, history_path, job_id) - self._mark_job_done(job_id) - except Exception as e: - if self.stop_current_job: - self._append_history(history_path, "job_stopped", {"jobId": job_id, "reason": str(e)}) - self._set_job_status_text(job, f"Задача #{job_num} остановлена.") - self._mark_job_removed(job_id) - self.stop_current_job = False - return - if isinstance(e, VoiceTranscriptionError): - self._append_history(history_path, "voice_transcription_failed", { - "jobId": job_id, - "jobNum": job_num, - "stage": e.stage, - "retryable": e.retryable, - "error": e.user_message, - "detail": e.detail, - }) - self._handle_job_failure(job, e) - - def _build_prompt(self, job: dict[str, Any]) -> str: - retry_block = "" - retry_reason = (job.get("retry_reason") or "").strip() - if retry_reason: - retry_block = f"\n\nПометка retry: {retry_reason}" - role = (job.get("role") or "owner").strip().lower() - player_block = "" - if role == "player": - player_name = (job.get("player_name") or "").strip() - player_dir = self.cfg.codex_workdir / "Players" / (job.get("username") or "") - player_block = ( - "\n\nРежим игрока (обязательно):\n" - f"- Пользователь: {player_name} (@{job.get('username')}).\n" - f"- Рабочая папка игрока: {player_dir}\n" - "- Код проекта не изменять.\n" - "- Можно отвечать на вопросы по проекту, предлагать идеи и готовить ТЗ.\n" - "- Если нужны правки кода, описывать предложение текстом и сохранять материалы только в папке игрока." - ) - return ( - "Пришло сообщение в Telegram.\n" - f"Тип: {job.get('type')}\n" - f"Источник Telegram: {job.get('update_type', 'message')}\n" - f"Тип чата: {job.get('chat_type') or ''}\n" - f"Канал/чат: @{job.get('chat_username') or ''} {job.get('chat_title') or ''}\n" - f"Username отправителя: @{job.get('username')}\n" - f"Подпись автора в Telegram: {job.get('author_signature') or ''}\n" - "Текст для обработки:\n" - f"{job.get('text')}\n\n" - f"История диалога (JSONL): {job.get('history_file')}\n" - f"Инструкции агента: {self.cfg.agent_instructions_file}\n" - f"Работай в рабочем проекте аккуратно и верни только текст ответа пользователю.{player_block}{retry_block}" - ) - - def _run_codex(self, prompt: str, job: dict[str, Any]) -> str: - username = job.get("username") or self.cfg.allowed_username - thread_id = self._codex_thread_id_for_user(username) - try: - return self._run_codex_once(prompt, job, thread_id=thread_id) - except RuntimeError as e: - if not thread_id or not self._is_missing_codex_session_error(str(e)): - raise - self._set_codex_thread_id_for_user(username, "") - self._append_history( - Path(job["history_file"]), - "system_event", - { - "event": "codex_thread_reset", - "reason": "missing_session", - "username": normalize_username(username), - "oldThreadId": thread_id, - }, - ) - return self._run_codex_once(prompt, job, thread_id="") - - def _run_codex_once(self, prompt: str, job: dict[str, Any], *, thread_id: str) -> str: - output_lines: list[str] = [] - job_id = str(job["id"]) - job_num = job.get("num", "?") - username = job.get("username") or self.cfg.allowed_username - with tempfile.NamedTemporaryFile(prefix="shine-codex-last-message-", suffix=".txt", delete=False) as tmp: - output_file = Path(tmp.name) - - cmd = [ - str(self.cfg.codex_bin), - "exec", - "--dangerously-bypass-approvals-and-sandbox", - "--json", - "-C", str(self.cfg.codex_workdir), - "-o", str(output_file), - ] - if thread_id: - cmd.extend(["resume", thread_id]) - cmd.append(prompt) - mode = f"resume {thread_id}" if thread_id else "new" - print(f"[py-bot] codex exec start job={job_id[:8]} mode={mode}", flush=True) - process = subprocess.Popen( - cmd, - stdin=subprocess.DEVNULL, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - encoding="utf-8", - errors="replace", - bufsize=1, - ) - with self.active_process_lock: - self.active_process = process - - self.last_heartbeat_at = 0.0 - last_user_note = "" - last_user_note_at = 0.0 - codex_started_at = time.time() - last_job_message_at = codex_started_at - seen_thread_id = "" - - def on_line(line: str) -> None: - nonlocal last_user_note, last_user_note_at, last_job_message_at, seen_thread_id - output_lines.append(line) - current_thread_id = self._extract_codex_thread_id(line) - if current_thread_id: - seen_thread_id = current_thread_id - note = self._extract_codex_user_note(line) - now = time.time() - if note and note != last_user_note and now - last_user_note_at > 8: - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: {note}") - last_user_note = note - last_user_note_at = now - last_job_message_at = now - - reader_done = threading.Event() - - def reader() -> None: - if not process.stdout: - reader_done.set() - return - for line in process.stdout: - on_line(line.rstrip("\n")) - reader_done.set() - - t = threading.Thread(target=reader, name=f"codex-reader-{job_id[:8]}", daemon=True) - t.start() - - try: - deadline = time.time() + self.cfg.codex_timeout_seconds - return_code = None - while return_code is None: - return_code = process.poll() - now = time.time() - if return_code is not None: - break - if now >= deadline: - process.kill() - t.join(timeout=2) - raise RuntimeError(f"Codex timeout after {self.cfg.codex_timeout_seconds}s") - if now - codex_started_at >= 120 and now - last_job_message_at >= 120: - elapsed = self._format_duration(int(now - codex_started_at)) - self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: выполняется уже {elapsed}, от Codex давно нет новых сообщений.", - ) - last_job_message_at = now - self.last_heartbeat_at = now - time.sleep(1) - finally: - with self.active_process_lock: - self.active_process = None - - reader_done.wait(timeout=2) - - if return_code != 0: - tail = "\n".join(output_lines[-40:]) - raise RuntimeError(f"Codex exited with code {return_code}. Output tail:\n{tail}") - - if seen_thread_id and seen_thread_id != thread_id: - self._set_codex_thread_id_for_user(username, seen_thread_id) - - if output_file.exists(): - answer = output_file.read_text(encoding="utf-8").strip() - try: - output_file.unlink(missing_ok=True) - except Exception: - pass - if answer: - return answer - - fallback = self._extract_fallback_message(output_lines) - if not fallback: - raise RuntimeError("Codex returned empty response") - return fallback - - def _stop_active_codex_process(self) -> bool: - with self.active_process_lock: - process = self.active_process - if process is None: - return False - if process.poll() is not None: - return False - process.terminate() - try: - process.wait(timeout=2) - except subprocess.TimeoutExpired: - process.kill() - return True - - def _handle_job_failure(self, job: dict[str, Any], err: Exception) -> None: - job_id = job["id"] - job_num = job.get("num", "?") - error_text = str(err).strip() or err.__class__.__name__ - user_error_text = self._user_error_text(err) - retryable = not isinstance(err, VoiceTranscriptionError) or err.retryable - log_error_text = err.log_text() if isinstance(err, VoiceTranscriptionError) else error_text - print(f"[py-bot] Ошибка job={job_id[:8]}: {log_error_text}", flush=True) - print(traceback.format_exc(), flush=True) - - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if not target: - return - attempts = int(target.get("attempts", 0)) + 1 - target["attempts"] = attempts - target["last_error"] = error_text[:1000] - target["updated_at"] = now_iso() - if retryable and attempts < self.cfg.max_retries: - target["status"] = "pending" - target["retry_reason"] = error_text[:200] - self._persist_queue() - will_retry = True - else: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - will_retry = False - - if will_retry: - self._set_job_status_text( - job, - f"{user_error_text}\nПовторю задачу #{job_num}: попытка {attempts + 1}/{self.cfg.max_retries}.", - ) - else: - self._set_job_status_text(job, f"{user_error_text}\nЗадача #{job_num} остановлена.") - - def _user_error_text(self, err: Exception) -> str: - if isinstance(err, VoiceTranscriptionError): - return f"Не удалось распознать голосовое: {err.user_message}" - error_text = str(err).strip() or err.__class__.__name__ - return f"Ошибка выполнения задачи: {error_text}" - - def _mark_job_done(self, job_id: str) -> None: - with self.queue_lock: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - - def _mark_job_removed(self, job_id: str) -> None: - with self.queue_lock: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - - def _send_task_center_reminder(self, job: dict[str, Any]) -> None: - if job.get("chat_type") != "private": - return - username = job.get("username") or "" - reminder = self._task_center_counts_text(username) - if not reminder: - return - self._safe_send(int(job["chat_id"]), reminder, reply_to=int(job["message_id"])) - - def _remember_public_report_chat(self, chat_id: int) -> None: - if self.state.get("public_report_chat_id") == chat_id: - return - self.state["public_report_chat_id"] = chat_id - self.state["updated_at"] = now_iso() - self._persist_state() - - def _public_report_chat_id(self) -> int | str | None: - chat_id = self.state.get("public_report_chat_id") - if isinstance(chat_id, int): - return self._resolve_chat_id(chat_id) - if self.cfg.allowed_channel_username: - return f"@{self.cfg.allowed_channel_username}" - return None - - def _send_private_job_public_report(self, job: dict[str, Any], answer: str) -> None: - if job.get("chat_type") != "private": - return - report_chat_id = self._public_report_chat_id() - if report_chat_id is None: - return - - job_num = job.get("num", "?") - source_text = (job.get("text") or "").strip() - if not source_text: - source_text = "(пустой текст запроса)" - role = (job.get("role") or "owner").strip().lower() - author_label = "Айдар" - if role == "player": - player_name = (job.get("player_name") or "").strip() or job.get("username") or "Игрок" - author_label = f"{player_name} (@{job.get('username')})" - if job.get("type") == "voice": - voice_file_id = (job.get("telegram_file_id") or "").strip() - media_type = (job.get("telegram_media_type") or "voice").strip() - request_caption = self._trim_telegram_caption( - f"{author_label} сделал {media_type}-запрос, задача #{job_num}.\n\n" - f"Распознанный текст:\n{source_text}" - ) - request_message_id = None - if voice_file_id: - request_message_id = self._safe_send_telegram_file( - report_chat_id, - voice_file_id, - media_type=media_type, - caption=request_caption, - ) - if request_message_id is None: - request_message_id = self._safe_send(report_chat_id, request_caption) - else: - request_report = ( - f"{author_label} сделал запрос, задача #{job_num}.\n\n" - f"{source_text}" - ) - request_message_id = self._safe_send(report_chat_id, request_report) - if request_message_id is None: - return - - answer_text = (answer or "").strip() or "(пустой ответ)" - answer_chunks = split_long_text(f"Ответ на задачу #{job_num}:\n\n{answer_text}") - for chunk in answer_chunks: - self._safe_send(report_chat_id, chunk, reply_to=request_message_id) - - @staticmethod - def _trim_telegram_caption(text: str, limit: int = 1000) -> str: - text = (text or "").strip() - if len(text) <= limit: - return text - return text[:limit].rstrip() + "\n...[обрезано]" - - def _safe_send_telegram_file( - self, - chat_id: int | str, - file_id: str, - *, - media_type: str = "voice", - caption: str = "", - reply_to: int | None = None, - ) -> int | None: - file_id = (file_id or "").strip() - if not file_id: - return None - caption = self._trim_telegram_caption(caption) - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - - def send(target_chat_id: int | str, target_reply_to: int | None) -> dict[str, Any]: - if media_type == "audio": - return self.telegram.send_audio(target_chat_id, file_id, caption=caption, reply_to_message_id=target_reply_to) - return self.telegram.send_voice(target_chat_id, file_id, caption=caption, reply_to_message_id=target_reply_to) - - try: - sent = send(resolved_chat_id, resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_file_error") - try: - sent = send(migrate_to_chat_id, None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendFile retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendFile error: {e}", flush=True) - return None - - def _safe_send_voice_upload( - self, - chat_id: int | str, - voice_bytes: bytes, - filename: str, - *, - caption: str = "", - reply_to: int | None = None, - ) -> int | None: - if not voice_bytes: - return None - caption = self._trim_telegram_caption(caption) - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - - def send(target_chat_id: int | str, target_reply_to: int | None) -> dict[str, Any]: - return self.telegram.send_voice_upload( - target_chat_id, - voice_bytes, - filename, - caption=caption, - reply_to_message_id=target_reply_to, - ) - - try: - sent = send(resolved_chat_id, resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_voice_upload_error") - try: - sent = send(migrate_to_chat_id, None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendVoiceUpload retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendVoiceUpload error: {e}", flush=True) - return None - - def _safe_send(self, chat_id: int | str, text: str, reply_to: int | None = None) -> int | None: - text = (text or "").strip() - if not text: - return None - if len(text) > 3900: - text = text[:3900] + "\n...[обрезано]" - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - try: - sent = self.telegram.send_message(resolved_chat_id, text, reply_to_message_id=resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_message_error") - try: - sent = self.telegram.send_message(migrate_to_chat_id, text, reply_to_message_id=None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendMessage retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendMessage error: {e}", flush=True) - return None - - def _safe_edit(self, chat_id: int | str, message_id: int | None, text: str) -> bool: - text = (text or "").strip() - if not text or not message_id: - return False - if len(text) > 3900: - text = text[:3900] + "\n...[обрезано]" - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - try: - self.telegram.edit_message_text(resolved_chat_id, message_id, text) - return True - except Exception as e: - error_text = str(e) - if "message is not modified" in error_text: - return True - migrate_to_chat_id = self._extract_migrate_to_chat_id(error_text) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "edit_message_error") - try: - self.telegram.edit_message_text(migrate_to_chat_id, message_id, text) - return True - except Exception as retry_error: - print(f"[py-bot] editMessageText retry after migration error: {retry_error}", flush=True) - return False - print(f"[py-bot] editMessageText error: {e}", flush=True) - return False - - def _ensure_job_status_message(self, job_id: str, chat_id: int, reply_to_message_id: int, text: str) -> int | None: - text = (text or "").strip() - if not text: - return None - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - existing_id = target.get("status_message_id") - existing_text = (target.get("status_message_text") or "").strip() - else: - existing_id = None - existing_text = "" - if existing_id and existing_text == text and self._safe_edit(chat_id, int(existing_id), text): - return int(existing_id) - if existing_id and self._safe_edit(chat_id, int(existing_id), text): - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - target["status_message_text"] = text - target["updated_at"] = now_iso() - self._persist_queue() - return int(existing_id) - message_id = self._safe_send(chat_id, text, reply_to=reply_to_message_id) - if message_id is not None: - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - target["status_message_id"] = message_id - target["status_message_text"] = text - target["updated_at"] = now_iso() - self._persist_queue() - return message_id - - def _set_job_status_text(self, job: dict[str, Any], text: str) -> None: - if (job.get("chat_type") or "") != "private": - self._safe_send(int(job["chat_id"]), text, reply_to=int(job["message_id"])) - return - if not self._single_status_message_enabled(job.get("username") or ""): - self._safe_send(int(job["chat_id"]), text, reply_to=int(job["message_id"])) - return - message_id = self._ensure_job_status_message( - job["id"], - int(job["chat_id"]), - int(job["message_id"]), - text, - ) - if message_id is not None: - job["status_message_id"] = message_id - job["status_message_text"] = text - - def _request_deferred_restart(self) -> None: - if self.restart_requested: - return - self.restart_requested = True - self._append_history_event("restart_service_deferred_scheduled", {}) - with self.queue_lock: - has_active = any(j.get("status") == "active" for j in self.queue) - if not has_active: - threading.Thread( - target=lambda: self._exit_for_restart("deferred_restart_no_active_job"), - name="shine-py-bot-deferred-restart", - daemon=True, - ).start() - - def _exit_for_restart(self, reason: str) -> None: - print(f"[py-bot] restart now: {reason}", flush=True) - self._append_history_event("restart_service_executing", {"reason": reason}) - time.sleep(0.5) - os._exit(0) - - def _schedule_self_restart(self, reason: str = "restart_requested", *, force: bool = False) -> None: - if self.restart_requested and not force: - return - self.restart_requested = True - - def restart() -> None: - time.sleep(1.5) - print(f"[py-bot] restart requested by Telegram command: {reason}", flush=True) - if force: - self._stop_active_codex_process() - os._exit(0) - - threading.Thread(target=restart, name="shine-py-bot-self-restart", daemon=True).start() - - def _voice_reply_targets(self, job: dict[str, Any]) -> list[tuple[int | str, int | None, str]]: - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - targets: list[tuple[int | str, int | None, str]] = [(chat_id, message_id, "source")] - username = job.get("username") or "" - - private_chat_id = self._private_chat_id_for_user(username) - if private_chat_id is not None and private_chat_id != self._resolve_chat_id(chat_id): - targets.append((private_chat_id, None, "private")) - - report_chat_id = self._public_report_chat_id() - if report_chat_id is not None: - resolved_report_chat_id = self._resolve_chat_id(report_chat_id) if isinstance(report_chat_id, int) else report_chat_id - resolved_current_chat_id: int | str = self._resolve_chat_id(chat_id) - if resolved_report_chat_id != resolved_current_chat_id: - targets.append((report_chat_id, None, "public")) - - deduped: list[tuple[int | str, int | None, str]] = [] - seen: set[str] = set() - for target_chat_id, target_reply_to, label in targets: - resolved: int | str = self._resolve_chat_id(target_chat_id) if isinstance(target_chat_id, int) else target_chat_id - key = str(resolved) - if key in seen: - continue - seen.add(key) - deduped.append((target_chat_id, target_reply_to, label)) - return deduped - - def _send_voice_reply_for_answer( - self, - job: dict[str, Any], - answer: str, - history_path: Path, - job_id: str, - ) -> None: - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - job_num = job.get("num", "?") - username = job.get("username") or "" - if not self.cfg.openai_api_key: - note = "не настроен ключ OpenAI для озвучивания." - self._append_history(history_path, "voice_reply_failed", {"jobId": job_id, "jobNum": job_num, "error": note}) - self._safe_send(chat_id, f"Озвучивание включено, но {note}", reply_to=message_id) - return - - voice_text = answer - rewrite_enabled = self._voice_rewrite_enabled(username) - if rewrite_enabled: - try: - voice_text = self._openai_rewrite_text_for_voice(answer) - self._append_history(history_path, "voice_rewrite_done", { - "jobId": job_id, - "jobNum": job_num, - "model": self.cfg.openai_voice_rewrite_model, - "sourceChars": len(answer or ""), - "resultChars": len(voice_text or ""), - }) - except VoiceReplyError as e: - self._append_history(history_path, "voice_rewrite_failed", { - "jobId": job_id, - "jobNum": job_num, - "model": self.cfg.openai_voice_rewrite_model, - "error": str(e), - }) - self._safe_send( - chat_id, - f"Не удалось адаптировать ответ #{job_num} для озвучки, озвучиваю обычный текст: {e}", - reply_to=message_id, - ) - voice_text = answer - - chunks = split_text_for_tts(voice_text, self.cfg.openai_tts_chunk_chars) - if not chunks: - return - - sent_count = 0 - total = len(chunks) - targets = self._voice_reply_targets(job) - print(f"[py-bot] tts start job={str(job_id)[:8]} chunks={total} targets={len(targets)} rewrite={rewrite_enabled}", flush=True) - for index, chunk in enumerate(chunks, start=1): - try: - audio = self._openai_tts(chunk) - except VoiceReplyError as e: - self._append_history(history_path, "voice_reply_failed", { - "jobId": job_id, - "jobNum": job_num, - "part": index, - "parts": total, - "error": str(e), - }) - self._safe_send(chat_id, f"Не удалось озвучить ответ #{job_num}: {e}", reply_to=message_id) - return - caption = f"Озвучка ответа #{job_num}" - if total > 1: - caption += f", часть {index}/{total}" - for target_chat_id, target_reply_to, target_label in targets: - message_sent = self._safe_send_voice_upload( - target_chat_id, - audio, - f"shine-answer-{job_num}-{index}.ogg", - caption=caption, - reply_to=target_reply_to, - ) - if message_sent is None: - self._append_history(history_path, "voice_reply_failed", { - "jobId": job_id, - "jobNum": job_num, - "part": index, - "parts": total, - "target": target_label, - "error": "Telegram не принял voice-файл озвучки.", - }) - if target_label == "source": - self._safe_send(chat_id, f"Озвучка ответа #{job_num} создана, но Telegram не принял voice-файл.", reply_to=message_id) - continue - sent_count += 1 - self._append_history(history_path, "voice_reply_sent", { - "jobId": job_id, - "jobNum": job_num, - "parts": total, - "messages": sent_count, - "targets": len(targets), - "rewriteEnabled": rewrite_enabled, - }) - print(f"[py-bot] tts done job={str(job_id)[:8]} sent={sent_count}", flush=True) - - def _openai_rewrite_text_for_voice(self, text: str) -> str: - source = (text or "").strip() - if not source: - return "" - if len(source) > self.cfg.openai_voice_rewrite_max_input_chars: - source = source[:self.cfg.openai_voice_rewrite_max_input_chars].rstrip() + "\n\n...[текстовый ответ был длиннее и обрезан для голосовой версии]" - payload = { - "model": self.cfg.openai_voice_rewrite_model, - "messages": [ - { - "role": "system", - "content": ( - "Ты готовишь русскую версию финального ответа технического агента для озвучивания. " - "Не пересказывай заново и не меняй смысл: сохрани порядок мыслей, итог, предупреждения, статусы и важные действия. " - "Мягко убери только то, что плохо воспринимается на слух: длинные пути, хэши, ID, команды, JSON, " - "длинные списки файлов, точные размеры и счётчики символов. Если деталь важна, замени её коротким описанием. " - "Не добавляй новых фактов. Пиши естественно, без markdown, близко к исходному тексту." - ), - }, - { - "role": "user", - "content": f"Переделай этот финальный текст в вариант для озвучки:\n\n{source}", - }, - ], - "temperature": 0.2, - "max_tokens": self.cfg.openai_voice_rewrite_max_output_tokens, - } - data = json.dumps(payload, ensure_ascii=False).encode("utf-8") - req = request.Request("https://api.openai.com/v1/chat/completions", method="POST", data=data) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", "application/json") - try: - with request.urlopen(req, timeout=self.cfg.openai_voice_rewrite_timeout_seconds) as resp: - raw = resp.read().decode("utf-8", errors="replace") - except TimeoutError as e: - raise VoiceReplyError( - f"OpenAI не успел адаптировать текст за {self.cfg.openai_voice_rewrite_timeout_seconds} секунд." - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 401: - message = "OpenAI отклонил ключ API для адаптации текста." - elif e.code == 429: - message = "OpenAI временно ограничил адаптацию текста из-за лимита запросов." - elif e.code >= 500: - message = "OpenAI временно не смог адаптировать текст." - else: - message = f"OpenAI вернул ошибку HTTP {e.code} при адаптации текста." - if detail: - message = f"{message} Детали: {detail[:500]}" - raise VoiceReplyError(message) from e - except error.URLError as e: - raise VoiceReplyError(f"не удалось отправить текст в OpenAI для адаптации из-за сетевой ошибки: {e.reason}") from e - - try: - body = json.loads(raw) - content = (((body.get("choices") or [{}])[0].get("message") or {}).get("content") or "").strip() - except Exception as e: - raise VoiceReplyError("OpenAI вернул неразборчивый ответ при адаптации текста.") from e - if not content: - raise VoiceReplyError("OpenAI вернул пустой текст адаптации.") - return content - - def _openai_tts(self, text: str) -> bytes: - payload = { - "model": self.cfg.openai_tts_model, - "voice": self.cfg.openai_tts_voice, - "input": text, - "response_format": self.cfg.openai_tts_response_format, - } - data = json.dumps(payload, ensure_ascii=False).encode("utf-8") - req = request.Request("https://api.openai.com/v1/audio/speech", method="POST", data=data) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", "application/json") - try: - with request.urlopen(req, timeout=self.cfg.openai_tts_timeout_seconds) as resp: - audio = resp.read() - except TimeoutError as e: - raise VoiceReplyError(f"OpenAI не успел сгенерировать речь за {self.cfg.openai_tts_timeout_seconds} секунд.") from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 401: - message = "OpenAI отклонил ключ API для озвучивания." - elif e.code == 429: - message = "OpenAI временно ограничил озвучивание из-за лимита запросов." - elif e.code >= 500: - message = "OpenAI временно не смог сгенерировать речь." - else: - message = f"OpenAI вернул ошибку HTTP {e.code} при озвучивании." - if detail: - message = f"{message} Детали: {detail[:500]}" - raise VoiceReplyError(message) from e - except error.URLError as e: - raise VoiceReplyError(f"не удалось отправить текст в OpenAI TTS из-за сетевой ошибки: {e.reason}") from e - if not audio: - raise VoiceReplyError("OpenAI вернул пустой аудиофайл.") - return audio - - def _transcribe_voice_job( - self, - job: dict[str, Any], - *, - status_cb: Callable[[str], Any] | None = None, - ) -> str: - if not self.cfg.openai_api_key: - raise VoiceTranscriptionError( - "не настроен ключ OpenAI для распознавания.", - stage="config", - retryable=False, - ) - file_id = (job.get("telegram_file_id") or "").strip() - if not file_id: - raise VoiceTranscriptionError( - "Telegram не передал идентификатор файла.", - stage="telegram_file_id", - retryable=False, - ) - job_id = str(job.get("id") or "")[:8] - job_num = job.get("num", "?") - media_type = (job.get("telegram_media_type") or "voice").strip() - duration_seconds = int(job.get("telegram_duration_seconds") or 0) - telegram_file_size = int(job.get("telegram_file_size") or 0) - file_looks_big_for_cloud = self._telegram_cloud_download_is_likely_too_big(telegram_file_size) - if file_looks_big_for_cloud and status_cb is not None: - status_cb( - "файл большой, всё равно пробую скачать его из Telegram. " - f"Предварительный размер около {self._bytes_to_mb(telegram_file_size)} MB." - ) - started_at = time.time() - print(f"[py-bot] transcribe start job={job_id} num={job_num} media={media_type}", flush=True) - file_bytes, filename = self._download_telegram_file(file_id) - print( - f"[py-bot] transcribe downloaded job={job_id} filename={filename} size={len(file_bytes)} bytes", - flush=True, - ) - if file_looks_big_for_cloud and status_cb is not None: - status_cb( - "скачивание из Telegram прошло успешно. " - f"Фактический размер около {self._bytes_to_mb(len(file_bytes))} MB, дальше готовлю аудио и отправляю в OpenAI." - ) - prepared_parts = self._prepare_audio_parts_for_transcription( - file_bytes, - filename, - duration_seconds=duration_seconds, - job_id=job_id, - job_num=job_num, - ) - print( - f"[py-bot] transcribe prepared job={job_id} parts={len(prepared_parts)} duration={duration_seconds}s", - flush=True, - ) - parts_text: list[str] = [] - prompt_tail = "" - for index, (part_bytes, part_name) in enumerate(prepared_parts, start=1): - print( - f"[py-bot] transcribe part job={job_id} index={index}/{len(prepared_parts)} filename={part_name} size={len(part_bytes)} bytes", - flush=True, - ) - part_text = self._openai_transcribe(part_bytes, part_name, prompt=prompt_tail).strip() - if part_text: - parts_text.append(part_text) - prompt_tail = self._transcription_prompt_tail("\n".join(parts_text)) - text = "\n".join(parts_text).strip() - if not text: - raise VoiceTranscriptionError( - "сервис распознавания вернул пустой текст. Возможно, в записи нет слышимой речи или качество звука слишком низкое.", - stage="empty_text", - retryable=False, - ) - elapsed = self._format_duration(int(time.time() - started_at)) - print(f"[py-bot] transcribe done job={job_id} chars={len(text)} elapsed={elapsed}", flush=True) - return text - - def _download_telegram_file(self, file_id: str) -> tuple[bytes, str]: - try: - result = self.telegram.call("getFile", {"file_id": file_id}, timeout=120) - except TimeoutError as e: - raise VoiceTranscriptionError( - "Telegram долго не отдавал информацию о файле.", - stage="telegram_get_file_timeout", - detail=str(e), - ) from e - except Exception as e: - detail = str(e) - if "file is too big" in detail.lower(): - raise VoiceTranscriptionError( - "Файл большой: я попробовал скачать его через текущий Telegram Bot API, " - "но Telegram не дал это сделать. Для такого аудио нужен локальный `telegram-bot-api` " - "сервер или другой способ передать файл боту.", - stage="telegram_get_file_too_big", - retryable=False, - detail=detail, - ) from e - raise VoiceTranscriptionError( - "не удалось получить информацию о файле из Telegram.", - stage="telegram_get_file", - detail=detail, - ) from e - info = result.get("result") or {} - file_path = info.get("file_path") - if not file_path: - raise VoiceTranscriptionError( - "Telegram не вернул путь к файлу.", - stage="telegram_file_path", - retryable=True, - detail=json.dumps(info, ensure_ascii=False)[:1000], - ) - file_url = self.telegram.file_base + file_path.lstrip("/") - req = request.Request(file_url, method="GET") - try: - with request.urlopen(req, timeout=self.cfg.telegram_file_download_timeout_seconds) as resp: - data = resp.read() - except TimeoutError as e: - raise VoiceTranscriptionError( - f"Telegram не успел отдать аудиофайл за {self.cfg.telegram_file_download_timeout_seconds} секунд.", - stage="telegram_download_timeout", - detail=str(e), - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - raise VoiceTranscriptionError( - f"Telegram вернул ошибку HTTP {e.code} при скачивании аудио.", - stage="telegram_download_http", - retryable=e.code >= 500 or e.code == 429, - detail=detail[:1000], - ) from e - except error.URLError as e: - raise VoiceTranscriptionError( - "не удалось скачать аудиофайл из Telegram из-за сетевой ошибки.", - stage="telegram_download_network", - detail=str(e.reason), - ) from e - if not data: - raise VoiceTranscriptionError( - "Telegram отдал пустой аудиофайл.", - stage="telegram_download_empty", - retryable=True, - ) - original_name = Path(file_path).name or "audio.ogg" - lower = original_name.lower() - # OpenAI transcription может не принимать расширение .oga, нормализуем в .ogg. - if lower.endswith(".oga"): - base = original_name[:-4] if len(original_name) > 4 else "audio" - normalized = f"{base}.ogg" - else: - normalized = original_name - return data, normalized - - def _prepare_audio_parts_for_transcription( - self, - file_bytes: bytes, - filename: str, - *, - duration_seconds: int, - job_id: str, - job_num: Any, - ) -> list[tuple[bytes, str]]: - needs_duration_chunking = duration_seconds > self.cfg.openai_transcribe_max_chunk_seconds - if len(file_bytes) <= self.cfg.openai_transcribe_max_upload_bytes and not needs_duration_chunking: - return [(file_bytes, filename)] - ffmpeg_path = shutil.which(self.cfg.ffmpeg_bin) - ffprobe_path = shutil.which(self.cfg.ffprobe_bin) - if not ffmpeg_path or not ffprobe_path: - raise VoiceTranscriptionError( - "для длинного аудио нужен локальный `ffmpeg`/`ffprobe`, но они не найдены в системе.", - stage="audio_prepare_tools_missing", - retryable=False, - ) - with tempfile.TemporaryDirectory(prefix="shine-audio-") as tmpdir: - tmp = Path(tmpdir) - input_suffix = Path(filename).suffix or ".ogg" - input_path = tmp / f"source{input_suffix}" - input_path.write_bytes(file_bytes) - prepared_path = tmp / "prepared.ogg" - self._ffmpeg_reencode_audio(input_path, prepared_path) - prepared_bytes = prepared_path.read_bytes() - prepared_duration = self._ffprobe_duration_seconds(prepared_path) - if ( - len(prepared_bytes) <= self.cfg.openai_transcribe_max_upload_bytes - and prepared_duration <= self.cfg.openai_transcribe_max_chunk_seconds - ): - return [(prepared_bytes, prepared_path.name)] - chunk_length = self._choose_transcription_chunk_seconds(prepared_duration, len(prepared_bytes)) - print( - f"[py-bot] audio chunking job={job_id} num={job_num} duration={prepared_duration:.1f}s total_bytes={len(prepared_bytes)} chunk_seconds={chunk_length}", - flush=True, - ) - chunks: list[tuple[bytes, str]] = [] - offset = 0 - index = 1 - total_duration = max(1, int(prepared_duration + 0.999)) - while offset < total_duration: - chunk_path = tmp / f"chunk_{index:03d}.ogg" - self._ffmpeg_extract_audio_chunk(prepared_path, chunk_path, offset, chunk_length) - chunk_bytes = chunk_path.read_bytes() - if not chunk_bytes: - break - if len(chunk_bytes) > self.cfg.openai_transcribe_max_upload_bytes: - raise VoiceTranscriptionError( - "локальная нарезка аудио дала слишком большой кусок для OpenAI; нужно уменьшить размер чанка.", - stage="audio_chunk_too_large", - retryable=False, - ) - chunks.append((chunk_bytes, chunk_path.name)) - step = max(1, chunk_length - self.cfg.openai_transcribe_overlap_seconds) - offset += step - index += 1 - if not chunks: - raise VoiceTranscriptionError( - "не удалось подготовить куски аудио для распознавания.", - stage="audio_chunk_empty", - retryable=False, - ) - return chunks - - def _ffmpeg_reencode_audio(self, input_path: Path, output_path: Path) -> None: - cmd = [ - self.cfg.ffmpeg_bin, - "-y", - "-i", - str(input_path), - "-vn", - "-ac", - "1", - "-ar", - "16000", - "-c:a", - "libopus", - "-b:a", - f"{self.cfg.openai_transcribe_reencode_bitrate_kbps}k", - str(output_path), - ] - self._run_subprocess_checked(cmd, "audio_reencode_ffmpeg") - - def _ffmpeg_extract_audio_chunk(self, input_path: Path, output_path: Path, offset_seconds: int, chunk_seconds: int) -> None: - cmd = [ - self.cfg.ffmpeg_bin, - "-y", - "-ss", - str(offset_seconds), - "-t", - str(chunk_seconds), - "-i", - str(input_path), - "-vn", - "-acodec", - "copy", - str(output_path), - ] - self._run_subprocess_checked(cmd, "audio_chunk_ffmpeg") - - def _ffprobe_duration_seconds(self, audio_path: Path) -> float: - cmd = [ - self.cfg.ffprobe_bin, - "-v", - "error", - "-show_entries", - "format=duration", - "-of", - "default=noprint_wrappers=1:nokey=1", - str(audio_path), - ] - try: - result = subprocess.run( - cmd, - check=True, - capture_output=True, - text=True, - timeout=self.cfg.openai_transcribe_ffmpeg_timeout_seconds, - ) - except subprocess.TimeoutExpired as e: - raise VoiceTranscriptionError( - f"`ffprobe` не успел определить длительность аудио за {self.cfg.openai_transcribe_ffmpeg_timeout_seconds} секунд.", - stage="audio_probe_timeout", - retryable=False, - ) from e - except subprocess.CalledProcessError as e: - detail = (e.stderr or e.stdout or "").strip() - raise VoiceTranscriptionError( - "не удалось определить длительность аудио через `ffprobe`.", - stage="audio_probe_failed", - retryable=False, - detail=detail[:1500], - ) from e - raw = (result.stdout or "").strip() - try: - return max(0.0, float(raw)) - except ValueError as e: - raise VoiceTranscriptionError( - "`ffprobe` вернул некорректную длительность аудио.", - stage="audio_probe_invalid", - retryable=False, - detail=raw[:300], - ) from e - - def _run_subprocess_checked(self, cmd: list[str], stage: str) -> None: - try: - subprocess.run( - cmd, - check=True, - capture_output=True, - text=True, - timeout=self.cfg.openai_transcribe_ffmpeg_timeout_seconds, - ) - except subprocess.TimeoutExpired as e: - raise VoiceTranscriptionError( - f"локальная обработка аудио не успела завершиться за {self.cfg.openai_transcribe_ffmpeg_timeout_seconds} секунд.", - stage=f"{stage}_timeout", - retryable=False, - ) from e - except subprocess.CalledProcessError as e: - detail = (e.stderr or e.stdout or "").strip() - raise VoiceTranscriptionError( - "локальная обработка аудио через `ffmpeg` завершилась с ошибкой.", - stage=f"{stage}_failed", - retryable=False, - detail=detail[:1500], - ) from e - - def _choose_transcription_chunk_seconds(self, duration_seconds: float, total_bytes: int) -> int: - max_chunk = self.cfg.openai_transcribe_max_chunk_seconds - safe_seconds = max(60, max_chunk - self.cfg.openai_transcribe_overlap_seconds) - if duration_seconds <= 0 or total_bytes <= 0: - return safe_seconds - bytes_per_second = total_bytes / max(duration_seconds, 1.0) - if bytes_per_second <= 0: - return safe_seconds - size_limited = int((self.cfg.openai_transcribe_max_upload_bytes * 0.9) / bytes_per_second) - return max(60, min(safe_seconds, size_limited if size_limited > 0 else safe_seconds)) - - @staticmethod - def _transcription_prompt_tail(text: str, limit: int = 1000) -> str: - source = compact_spaces(text) - if len(source) <= limit: - return source - return source[-limit:] - - def _telegram_cloud_download_is_likely_too_big(self, file_size: int) -> bool: - if file_size <= 0: - return False - using_cloud_api = self.cfg.telegram_api_base_url.rstrip("/") == "https://api.telegram.org" - return using_cloud_api and file_size > 20 * 1024 * 1024 - - @staticmethod - def _bytes_to_mb(value: int) -> str: - return f"{value / (1024 * 1024):.1f}" - - def _openai_transcribe(self, file_bytes: bytes, filename: str, prompt: str = "") -> str: - boundary = "----shine-boundary-" + "".join(random.choices("abcdef0123456789", k=16)) - mime = mimetypes.guess_type(filename)[0] or "application/octet-stream" - - def text_part(name: str, value: str) -> bytes: - return ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"\r\n\r\n' - f"{value}\r\n" - ).encode("utf-8") - - body = bytearray() - body.extend(text_part("model", self.cfg.openai_transcribe_model)) - body.extend(text_part("response_format", "text")) - prompt = compact_spaces(prompt) - if prompt: - body.extend(text_part("prompt", prompt[:1000])) - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="file"; filename="{filename}"\r\n' - f"Content-Type: {mime}\r\n\r\n" - ).encode("utf-8") - ) - body.extend(file_bytes) - body.extend(b"\r\n") - body.extend(f"--{boundary}--\r\n".encode("utf-8")) - - req = request.Request("https://api.openai.com/v1/audio/transcriptions", method="POST", data=bytes(body)) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", f"multipart/form-data; boundary={boundary}") - try: - with request.urlopen(req, timeout=self.cfg.openai_transcribe_timeout_seconds) as resp: - return resp.read().decode("utf-8", errors="replace") - except TimeoutError as e: - raise VoiceTranscriptionError( - f"OpenAI не успел распознать аудио за {self.cfg.openai_transcribe_timeout_seconds} секунд.", - stage="openai_transcribe_timeout", - detail=str(e), - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 400: - user_message = "OpenAI не принял аудиофайл для распознавания." - elif e.code == 401: - user_message = "OpenAI отклонил ключ API для распознавания." - elif e.code == 413: - user_message = "аудиофайл слишком большой для распознавания OpenAI." - elif e.code == 429: - user_message = "OpenAI временно ограничил распознавание из-за лимита запросов." - elif e.code >= 500: - user_message = "OpenAI временно не смог обработать распознавание." - else: - user_message = f"OpenAI вернул ошибку HTTP {e.code} при распознавании." - raise VoiceTranscriptionError( - user_message, - stage="openai_transcribe_http", - retryable=e.code == 429 or e.code >= 500, - detail=detail[:1500], - ) from e - except error.URLError as e: - raise VoiceTranscriptionError( - "не удалось отправить аудио в OpenAI из-за сетевой ошибки.", - stage="openai_transcribe_network", - detail=str(e.reason), - ) from e - - @staticmethod - def _extract_codex_user_note(line: str) -> str | None: - s = (line or "").strip() - if not s.startswith("{"): - return None - try: - obj = json.loads(s) - except Exception: - return None - if obj.get("type") != "item.completed": - return None - item = obj.get("item") or {} - if item.get("type") != "agent_message": - return None - text = (item.get("text") or "").strip() - if not text: - return None - if len(text) > 220: - return text[:220] + "..." - return text - - @staticmethod - def _extract_fallback_message(lines: list[str]) -> str: - for line in reversed(lines): - line = line.strip() - if not line: - continue - if line.startswith("{") and '"type":' in line: - continue - if line.startswith("mcp:") or line.startswith("OpenAI Codex"): - continue - return line - return "" - - @staticmethod - def _extract_codex_thread_id(line: str) -> str: - s = (line or "").strip() - if not s.startswith("{"): - return "" - try: - obj = json.loads(s) - except Exception: - return "" - if obj.get("type") != "thread.started": - return "" - thread_id = (obj.get("thread_id") or "").strip() - return thread_id - - @staticmethod - def _is_missing_codex_session_error(text: str) -> bool: - lowered = (text or "").lower() - markers = [ - "session not found", - "conversation not found", - "thread not found", - "no session found", - "invalid session", - "unknown session", - "no conversation found", - "unknown thread", - ] - return any(marker in lowered for marker in markers) - - @staticmethod - def _format_duration(seconds: int) -> str: - seconds = max(0, seconds) - minutes, sec = divmod(seconds, 60) - hours, minutes = divmod(minutes, 60) - if hours: - return f"{hours}ч {minutes}м {sec}с" - if minutes: - return f"{minutes}м {sec}с" - return f"{sec}с" - - -def run_selftest(config: BotConfig, prompt: str) -> int: - cmd = [ - str(config.codex_bin), - "exec", - "--dangerously-bypass-approvals-and-sandbox", - "--json", - "-C", str(config.codex_workdir), - prompt, - ] - proc = subprocess.run( - cmd, - stdin=subprocess.DEVNULL, - capture_output=True, - text=True, - encoding="utf-8", - errors="replace", - ) - print(proc.stdout) - if proc.stderr: - print(proc.stderr) - return proc.returncode - - -def main() -> int: - parser = argparse.ArgumentParser(description="SHiNE Python Telegram bot wrapper for Codex CLI") - parser.add_argument("--selftest-codex", default="", help="Выполнить только codex exec с этим prompt и выйти") - args = parser.parse_args() - - root = Path(__file__).resolve().parent - cfg = BotConfig(root) - if args.selftest_codex: - return run_selftest(cfg, args.selftest_codex) - - service = ShinePyBotService(cfg) - try: - service.run() - except KeyboardInterrupt: - service.shutdown() - return 0 - except Exception as e: - print(f"[py-bot] FATAL: {e}", flush=True) - return 1 - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh b/SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh deleted file mode 100755 index eb34b47b..00000000 --- a/SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -ROOT_DIR="/home/ai/work/SHiNE/SHiNE-server-sha256" -SERVICE_DIR="${ROOT_DIR}/SHiNE-agent-bot-coder" -UNIT_SRC="${SERVICE_DIR}/scripts/systemd/shine-agent-bot-coder.service" -UNIT_DST="${HOME}/.config/systemd/user/shine-agent-bot-coder.service" - -echo "[1/6] Проверка python3..." -command -v python3 >/dev/null 2>&1 || { echo "python3 не найден"; exit 1; } - -echo "[2/6] Подготовка папки логов..." -mkdir -p "${SERVICE_DIR}/logs" - -echo "[3/6] Копирование user systemd unit..." -mkdir -p "$(dirname "${UNIT_DST}")" -cp "${UNIT_SRC}" "${UNIT_DST}" - -echo "[4/6] daemon-reload..." -systemctl --user daemon-reload - -echo "[5/6] enable + start..." -systemctl --user enable --now shine-agent-bot-coder - -echo "[6/6] Статус:" -systemctl --user status shine-agent-bot-coder --no-pager - -echo "Готово. Логи: journalctl --user -u shine-agent-bot-coder -f" diff --git a/SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service b/SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service deleted file mode 100644 index 231e5557..00000000 --- a/SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service +++ /dev/null @@ -1,19 +0,0 @@ -[Unit] -Description=SHiNE Agent Bot Coder (Telegram + Codex queue worker) -After=network-online.target -Wants=network-online.target - -[Service] -Type=simple -WorkingDirectory=/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-agent-bot-coder -EnvironmentFile=/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-agent-bot-coder/.env -ExecStart=/usr/bin/python3 /home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-agent-bot-coder/py_bot_service.py -Restart=always -RestartSec=5 -TimeoutStopSec=20 -SuccessExitStatus=143 0 -StandardOutput=append:/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-agent-bot-coder/logs/service.log -StandardError=append:/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-agent-bot-coder/logs/service.log - -[Install] -WantedBy=default.target diff --git a/VERSION.properties b/VERSION.properties index 88b1c020..c5543449 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.332 -server.version=1.2.304 +client.version=1.2.333 +server.version=1.2.305 diff --git a/codex-agent-VPS/.env.example b/codex-agent-VPS/.env.example deleted file mode 100644 index 9b15d6d0..00000000 --- a/codex-agent-VPS/.env.example +++ /dev/null @@ -1,31 +0,0 @@ -TELEGRAM_BOT_TOKEN=replace_me -OPENAI_API_KEY= -ALLOWED_TELEGRAM_USERNAME=owner_username -ALLOWED_TELEGRAM_PLAYERS=user_one:User One,user_two:User Two -ALLOWED_TELEGRAM_CHANNEL_USERNAME= -BOT_USERNAME=your_bot_username -TELEGRAM_API_BASE_URL=https://api.telegram.org -OPENAI_TRANSCRIBE_MODEL=gpt-4o-mini-transcribe -TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS=300 -OPENAI_TRANSCRIBE_TIMEOUT_SECONDS=900 -OPENAI_TRANSCRIBE_MAX_UPLOAD_BYTES=25165824 -OPENAI_TRANSCRIBE_MAX_CHUNK_SECONDS=900 -OPENAI_TRANSCRIBE_OVERLAP_SECONDS=2 -OPENAI_TRANSCRIBE_REENCODE_BITRATE_KBPS=24 -OPENAI_TRANSCRIBE_FFMPEG_TIMEOUT_SECONDS=1800 -FFMPEG_BIN=ffmpeg -FFPROBE_BIN=ffprobe -OPENAI_TTS_MODEL=gpt-4o-mini-tts -OPENAI_TTS_VOICE=alloy -OPENAI_TTS_RESPONSE_FORMAT=opus -OPENAI_TTS_TIMEOUT_SECONDS=180 -OPENAI_TTS_CHUNK_CHARS=3500 -OPENAI_VOICE_REWRITE_MODEL=gpt-4.1-nano -OPENAI_VOICE_REWRITE_TIMEOUT_SECONDS=90 -OPENAI_VOICE_REWRITE_MAX_INPUT_CHARS=12000 -OPENAI_VOICE_REWRITE_MAX_OUTPUT_TOKENS=900 -CODEX_BIN=/home/your_user/.local/bin/codex -CODEX_WORKDIR=/home/your_user -CODEX_TIMEOUT_SECONDS=900 -MAX_RETRIES=3 -DATA_DIR=./data diff --git a/codex-agent-VPS/.gitignore b/codex-agent-VPS/.gitignore deleted file mode 100644 index 2af457e8..00000000 --- a/codex-agent-VPS/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.env -data/ -logs/ -run/ -__pycache__/ diff --git a/codex-agent-VPS/AGENTS.md b/codex-agent-VPS/AGENTS.md deleted file mode 100644 index 770e488a..00000000 --- a/codex-agent-VPS/AGENTS.md +++ /dev/null @@ -1,86 +0,0 @@ -# AGENTS - -## Назначение -- `codex-agent-VPS` — переносимая версия Telegram-бота для запуска `codex` CLI на VPS. -- Папку можно ставить в любое место на Linux-сервере, если там есть `python3`, `systemd`, `codex` и доступ в интернет. -- Конфигурация делается через `.env`. - -## Состав папки -- `README.md` — краткое описание структуры. -- `Agent-server-package/` — готовый набор файлов для копирования на VPS. -- `.env.example` — пример конфигурации. -- `AGENTS.md` — инструкция по установке и настройке. - -## Требования к VPS -- Linux-сервер с `systemd`. -- Установленные `python3`, `curl`, `ffmpeg`. -- Установленный `codex` CLI. -- Выполненный `codex login` под тем пользователем, от которого будет работать сервис. -- Telegram bot token. -- Telegram usernames разрешённых пользователей. - -## Установка через Codex -1. Скопировать содержимое `Agent-server-package/` на сервер в нужное место, например: - - `/home/your_user/codex-agent` -2. Установить `codex` CLI под рабочим пользователем. -3. Выполнить под этим же пользователем: - - `codex login` -4. Установить системные зависимости: - - `python3` - - `ffmpeg` -5. Взять `.env.example` из корня `codex-agent-VPS` и создать на сервере `.env`. -6. В `.env` заполнить: - - `TELEGRAM_BOT_TOKEN` - - `ALLOWED_TELEGRAM_USERNAME` - - `ALLOWED_TELEGRAM_PLAYERS` - - `BOT_USERNAME` - - `CODEX_BIN` - - `CODEX_WORKDIR` -7. Если нужны voice/audio и голосовые ответы, дополнительно задать: - - `OPENAI_API_KEY` -8. В `Agent-server-package/scripts/systemd/shine-agent-bot-coder.service` заменить: - - `your_user` - - `/home/your_user/codex-agent` - на реальные значения. -9. Скопировать unit в: - - `/etc/systemd/system/shine-agent-bot-coder.service` -10. Выполнить: - - `sudo systemctl daemon-reload` - - `sudo systemctl enable --now shine-agent-bot-coder` -11. Проверить: - - `sudo systemctl status shine-agent-bot-coder --no-pager` - - `sudo journalctl -u shine-agent-bot-coder -f` - -## Настройка доступа -- `ALLOWED_TELEGRAM_USERNAME` — основной разрешённый пользователь. -- `ALLOWED_TELEGRAM_PLAYERS` — дополнительные разрешённые пользователи: - - `username1:Имя 1,username2:Имя 2` -- Все пользователи из whitelist в этой версии считаются полноправными. -- Все входящие задачи попадают в одну общую очередь и выполняются строго последовательно. - -## Поведение агента -- Бот принимает текст, voice и audio. -- Для каждого пользователя ведётся отдельная история. -- Все задачи запускаются через `codex exec`. -- Рабочая директория задаётся через `CODEX_WORKDIR`. -- Вызов идёт без sandbox/approval ограничений: `--dangerously-bypass-approvals-and-sandbox`. - -## Что обычно меняют при переносе -- `.env` -- `Agent-server-package/scripts/systemd/shine-agent-bot-coder.service` -- при необходимости `Agent-server-package/AGENT.md` - -## Полезные команды -- Проверка установки Codex: - - `codex --version` - - `codex doctor` -- Self-test без Telegram: - - `python3 py_bot_service.py --selftest-codex "Ответь одной строкой: Codex работает"` -- Проверка сервиса: - - `sudo systemctl status shine-agent-bot-coder --no-pager` - - `sudo journalctl -u shine-agent-bot-coder -f` - -## Примечания -- Если `codex doctor` пишет, что credentials не найдены, нужно выполнить `codex login`. -- Если `OPENAI_API_KEY` пустой, текстовые задачи через `codex` будут работать, а voice/audio и TTS-функции — нет. -- Если у пользователя в Telegram нет username, whitelist по username его не пропустит. diff --git a/codex-agent-VPS/Agent-server-package/.env.example b/codex-agent-VPS/Agent-server-package/.env.example deleted file mode 100644 index 9b15d6d0..00000000 --- a/codex-agent-VPS/Agent-server-package/.env.example +++ /dev/null @@ -1,31 +0,0 @@ -TELEGRAM_BOT_TOKEN=replace_me -OPENAI_API_KEY= -ALLOWED_TELEGRAM_USERNAME=owner_username -ALLOWED_TELEGRAM_PLAYERS=user_one:User One,user_two:User Two -ALLOWED_TELEGRAM_CHANNEL_USERNAME= -BOT_USERNAME=your_bot_username -TELEGRAM_API_BASE_URL=https://api.telegram.org -OPENAI_TRANSCRIBE_MODEL=gpt-4o-mini-transcribe -TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS=300 -OPENAI_TRANSCRIBE_TIMEOUT_SECONDS=900 -OPENAI_TRANSCRIBE_MAX_UPLOAD_BYTES=25165824 -OPENAI_TRANSCRIBE_MAX_CHUNK_SECONDS=900 -OPENAI_TRANSCRIBE_OVERLAP_SECONDS=2 -OPENAI_TRANSCRIBE_REENCODE_BITRATE_KBPS=24 -OPENAI_TRANSCRIBE_FFMPEG_TIMEOUT_SECONDS=1800 -FFMPEG_BIN=ffmpeg -FFPROBE_BIN=ffprobe -OPENAI_TTS_MODEL=gpt-4o-mini-tts -OPENAI_TTS_VOICE=alloy -OPENAI_TTS_RESPONSE_FORMAT=opus -OPENAI_TTS_TIMEOUT_SECONDS=180 -OPENAI_TTS_CHUNK_CHARS=3500 -OPENAI_VOICE_REWRITE_MODEL=gpt-4.1-nano -OPENAI_VOICE_REWRITE_TIMEOUT_SECONDS=90 -OPENAI_VOICE_REWRITE_MAX_INPUT_CHARS=12000 -OPENAI_VOICE_REWRITE_MAX_OUTPUT_TOKENS=900 -CODEX_BIN=/home/your_user/.local/bin/codex -CODEX_WORKDIR=/home/your_user -CODEX_TIMEOUT_SECONDS=900 -MAX_RETRIES=3 -DATA_DIR=./data diff --git a/codex-agent-VPS/Agent-server-package/AGENT.md b/codex-agent-VPS/Agent-server-package/AGENT.md deleted file mode 100644 index 8831ff17..00000000 --- a/codex-agent-VPS/Agent-server-package/AGENT.md +++ /dev/null @@ -1,51 +0,0 @@ -# AGENT.md для codex-agent-VPS - -Ты запущен как обработчик входящего Telegram-сообщения от пользователя. - -## Контекст -- `codex-agent-VPS` — Telegram-бот, который принимает сообщения, ведёт историю, ставит задачи в очередь и последовательно запускает `codex` CLI на VPS. -- Текстовые сообщения обрабатываются напрямую. -- Voice и audio сначала распознаются через OpenAI transcription, затем передаются как текстовая задача. -- История диалога хранится в JSONL-файле, путь передаётся в промпте. -- Ответ пойдёт пользователю в Telegram как обычное текстовое сообщение. -- Основная реализация сервиса — Python-скрипт `py_bot_service.py`. - -## Пользователи и доступ -- Разрешённые пользователи задаются через `ALLOWED_TELEGRAM_USERNAME` и `ALLOWED_TELEGRAM_PLAYERS`. -- Все разрешённые пользователи считаются полноправными. -- Для неизвестных пользователей в личном чате сервис отвечает вежливым отказом. -- Все входящие задачи попадают в одну общую очередь и выполняются строго по одной. - -## Очередь и состояние -- Сервис ведёт состояние активной задачи и текущего файла истории. -- После рестарта сервис продолжает незавершённую обработку с учётом сохранённого состояния. -- Истории диалогов хранятся отдельно по username: `data/history/<username>/`. -- Архив истории после `/new`: `data/history/<username>/archive/`. -- После `/new` для этого же пользователя должен сбрасываться и контекст продолжения Codex-сессии; следующий запрос запускается как новая сессия, не через resume. -- Дедупликация Telegram update обязательна, чтобы одно сообщение не обрабатывалось повторно. -- Если Codex молчит во время активной задачи 2 минуты подряд, сервис отправляет аварийный статус и повторяет его каждые 2 минуты. - -## Голосовые ответы -- Озвучивание финальных ответов настраивается персонально командами `/voice_on` и `/voice_off`. -- Для новых пользователей озвучивание включено по умолчанию. -- Адаптация текста перед озвучкой настраивается командами `/voice_rewrite_on` и `/voice_rewrite_off`. -- Если озвучивание включено, после текстового финального ответа сервис дополнительно отправляет voice-файл через OpenAI TTS. -- Промежуточные статусы озвучивать не нужно. - -## Команды -- `/status` — состояние очереди и персональных настроек. -- `/settings` — текущие пользовательские настройки. -- `/queue` — список задач в очереди. -- `/tasks` — список задач и предложений пользователя. -- `/new` — архивировать историю и начать новую Codex-сессию. -- `/stop` — остановить текущую задачу. -- `/cancel <id|all>` — удалить задачу по id или очистить очередь. -- `/restart` и `/restart_service` — отложенный рестарт после текущей задачи. -- `/restart_hard`, `/restart_now`, `/restart_force` — жёсткий рестарт прямо сейчас. - -## Правила ответа -- Пиши содержательно и коротко. -- Не упоминай внутренние служебные детали, файловую систему и технические логи, если это не нужно пользователю. -- Если запрос требует действий с кодом или файлами, выполняй их в рабочей директории `CODEX_WORKDIR`. -- Если данных недостаточно, задай ровно один уточняющий вопрос. -- Если в промпте есть пометка retry, учитывай текущее состояние и продолжай аккуратно, а не начинай заново без причины. diff --git a/codex-agent-VPS/Agent-server-package/py_bot_service.py b/codex-agent-VPS/Agent-server-package/py_bot_service.py deleted file mode 100644 index e96dee36..00000000 --- a/codex-agent-VPS/Agent-server-package/py_bot_service.py +++ /dev/null @@ -1,2960 +0,0 @@ -#!/usr/bin/env python3 -from __future__ import annotations - -import argparse -import datetime as dt -import fcntl -import json -import mimetypes -import os -import random -import re -import shutil -import string -import subprocess -import tempfile -import threading -import time -import traceback -import uuid -from pathlib import Path -from typing import Any, Callable -from urllib import error, request - -DEFAULT_ALLOWED_PLAYERS = ",".join([ - "user_one:User One", - "user_two:User Two", -]) - -TASK_STATUS_LABELS = { - "new": "новая", - "approved": "одобрена", - "rejected": "отклонена", - "needs_work": "на доработку", - "done": "сделана", -} - - -def now_iso() -> str: - return dt.datetime.now(dt.timezone.utc).isoformat() - - -def normalize_username(value: str | None) -> str: - if not value: - return "" - value = value.strip() - if value.startswith("@"): - value = value[1:] - return value.lower() - - -def parse_allowed_players(raw: str) -> dict[str, str]: - players: dict[str, str] = {} - for item in (raw or "").split(","): - part = item.strip() - if not part: - continue - username_part, sep, name_part = part.partition(":") - username = normalize_username(username_part) - if not username: - continue - player_name = (name_part if sep else username_part).strip() or username - players[username] = player_name - return players - - -def compact_spaces(text: str) -> str: - return re.sub(r"\s+", " ", (text or "").strip()) - - -def split_long_text(text: str, chunk_size: int = 3500) -> list[str]: - text = (text or "").strip() - if not text: - return ["(пустой ответ)"] - return [text[i:i + chunk_size] for i in range(0, len(text), chunk_size)] - - -def split_final_private_text(text: str, first_chunk_size: int = 3900, second_chunk_size: int = 3900) -> list[str]: - text = (text or "").strip() - if not text: - return ["(пустой ответ)"] - if len(text) <= first_chunk_size: - return [text] - first = text[:first_chunk_size].rstrip() - rest = text[first_chunk_size:].lstrip() - if len(rest) <= second_chunk_size: - return [first, rest] - second = rest[:second_chunk_size].rstrip() - if len(second) > 40: - second = second[:-40].rstrip() - second = second.rstrip() + "\n...[ответ обрезан]" - return [first, second] - - -def split_text_for_tts(text: str, chunk_size: int) -> list[str]: - text = (text or "").strip() - if not text: - return [] - chunks: list[str] = [] - current = "" - paragraphs = re.split(r"\n\s*\n", text) - for paragraph in paragraphs: - paragraph = paragraph.strip() - if not paragraph: - continue - if len(paragraph) > chunk_size: - if current: - chunks.append(current) - current = "" - for i in range(0, len(paragraph), chunk_size): - part = paragraph[i:i + chunk_size].strip() - if part: - chunks.append(part) - continue - candidate = paragraph if not current else f"{current}\n\n{paragraph}" - if len(candidate) <= chunk_size: - current = candidate - else: - if current: - chunks.append(current) - current = paragraph - if current: - chunks.append(current) - return chunks - - -def read_env_file(path: Path) -> dict[str, str]: - result: dict[str, str] = {} - if not path.exists(): - return result - for raw_line in path.read_text(encoding="utf-8").splitlines(): - line = raw_line.strip() - if not line or line.startswith("#") or "=" not in line: - continue - key, value = line.split("=", 1) - key = key.strip() - value = value.strip().strip('"').strip("'") - result[key] = value - return result - - -class VoiceTranscriptionError(RuntimeError): - def __init__( - self, - user_message: str, - *, - stage: str, - retryable: bool = True, - detail: str = "", - ): - super().__init__(user_message) - self.user_message = user_message - self.stage = stage - self.retryable = retryable - self.detail = detail - - def log_text(self) -> str: - if self.detail and self.detail != self.user_message: - return f"{self.user_message} stage={self.stage} retryable={self.retryable} detail={self.detail}" - return f"{self.user_message} stage={self.stage} retryable={self.retryable}" - - -class VoiceReplyError(RuntimeError): - pass - - -class JsonLineStore: - @staticmethod - def load(path: Path) -> list[dict[str, Any]]: - if not path.exists(): - return [] - items: list[dict[str, Any]] = [] - for line in path.read_text(encoding="utf-8").splitlines(): - line = line.strip() - if not line: - continue - items.append(json.loads(line)) - return items - - @staticmethod - def save(path: Path, items: list[dict[str, Any]]) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - tmp = path.with_suffix(path.suffix + ".tmp") - with tmp.open("w", encoding="utf-8") as f: - for item in items: - f.write(json.dumps(item, ensure_ascii=False) + "\n") - tmp.replace(path) - - @staticmethod - def append(path: Path, item: dict[str, Any]) -> None: - path.parent.mkdir(parents=True, exist_ok=True) - with path.open("a", encoding="utf-8") as f: - f.write(json.dumps(item, ensure_ascii=False) + "\n") - - -class TelegramApi: - def __init__(self, token: str, base_url: str = "https://api.telegram.org"): - self.token = token - self.api_root = (base_url or "https://api.telegram.org").rstrip("/") - self.base = f"{self.api_root}/bot{token}/" - self.file_base = f"{self.api_root}/file/bot{token}/" - - def call(self, method: str, payload: dict[str, Any] | None = None, timeout: int = 60) -> dict[str, Any]: - data = None - headers = {} - if payload is not None: - data = json.dumps(payload).encode("utf-8") - headers["Content-Type"] = "application/json" - req = request.Request(self.base + method, data=data, headers=headers, method="POST") - try: - with request.urlopen(req, timeout=timeout) as resp: - raw = resp.read().decode("utf-8") - except error.HTTPError as e: - body = e.read().decode("utf-8", errors="replace") - raise RuntimeError(f"Telegram HTTP {e.code}: {body}") from e - except Exception as e: - raise RuntimeError(f"Telegram request failed: {e}") from e - - result = json.loads(raw) - if not result.get("ok"): - raise RuntimeError(f"Telegram API error: {result}") - return result - - def call_multipart( - self, - method: str, - fields: dict[str, Any], - files: dict[str, tuple[str, bytes, str]], - timeout: int = 120, - ) -> dict[str, Any]: - boundary = "----shine-tg-boundary-" + "".join(random.choices("abcdef0123456789", k=16)) - body = bytearray() - for name, value in fields.items(): - if value is None: - continue - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"\r\n\r\n' - f"{value}\r\n" - ).encode("utf-8") - ) - for name, (filename, data, mime) in files.items(): - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"; filename="{filename}"\r\n' - f"Content-Type: {mime}\r\n\r\n" - ).encode("utf-8") - ) - body.extend(data) - body.extend(b"\r\n") - body.extend(f"--{boundary}--\r\n".encode("utf-8")) - - req = request.Request(self.base + method, data=bytes(body), method="POST") - req.add_header("Content-Type", f"multipart/form-data; boundary={boundary}") - try: - with request.urlopen(req, timeout=timeout) as resp: - raw = resp.read().decode("utf-8") - except error.HTTPError as e: - body_text = e.read().decode("utf-8", errors="replace") - raise RuntimeError(f"Telegram HTTP {e.code}: {body_text}") from e - except Exception as e: - raise RuntimeError(f"Telegram multipart request failed: {e}") from e - - result = json.loads(raw) - if not result.get("ok"): - raise RuntimeError(f"Telegram API error: {result}") - return result - - def get_updates(self, offset: int | None, timeout_sec: int) -> list[dict[str, Any]]: - payload: dict[str, Any] = {"timeout": timeout_sec, "allowed_updates": ["message", "channel_post"]} - if offset is not None: - payload["offset"] = offset - result = self.call("getUpdates", payload=payload, timeout=timeout_sec + 15) - return result.get("result", []) - - def send_message(self, chat_id: int | str, text: str, reply_to_message_id: int | None = None) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "text": text} - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendMessage", payload=payload, timeout=30) - - def edit_message_text(self, chat_id: int | str, message_id: int, text: str) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "message_id": message_id, "text": text} - return self.call("editMessageText", payload=payload, timeout=30) - - def send_voice( - self, - chat_id: int | str, - voice: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "voice": voice} - if caption: - payload["caption"] = caption - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendVoice", payload=payload, timeout=60) - - def send_audio( - self, - chat_id: int | str, - audio: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - payload: dict[str, Any] = {"chat_id": chat_id, "audio": audio} - if caption: - payload["caption"] = caption - if reply_to_message_id is not None: - payload["reply_to_message_id"] = reply_to_message_id - return self.call("sendAudio", payload=payload, timeout=60) - - def send_voice_upload( - self, - chat_id: int | str, - voice_bytes: bytes, - filename: str, - caption: str = "", - reply_to_message_id: int | None = None, - ) -> dict[str, Any]: - fields: dict[str, Any] = {"chat_id": chat_id} - if caption: - fields["caption"] = caption - if reply_to_message_id is not None: - fields["reply_to_message_id"] = reply_to_message_id - return self.call_multipart( - "sendVoice", - fields=fields, - files={"voice": (filename, voice_bytes, "audio/ogg")}, - timeout=180, - ) - - def delete_webhook(self) -> None: - self.call("deleteWebhook", payload={"drop_pending_updates": False}, timeout=30) - - -class BotConfig: - def __init__(self, root_dir: Path): - env = dict(os.environ) - env.update(read_env_file(root_dir / ".env")) - - self.root_dir = root_dir - self.telegram_bot_token = self._required(env, "TELEGRAM_BOT_TOKEN") - self.allowed_username = normalize_username(env.get("ALLOWED_TELEGRAM_USERNAME", "AidarKC")) - self.allowed_players = parse_allowed_players(env.get("ALLOWED_TELEGRAM_PLAYERS", DEFAULT_ALLOWED_PLAYERS)) - self.allowed_channel_username = normalize_username(env.get("ALLOWED_TELEGRAM_CHANNEL_USERNAME", "shine_writing")) - self.bot_username = env.get("BOT_USERNAME", "aidar_su_bot") - self.telegram_api_base_url = env.get("TELEGRAM_API_BASE_URL", "https://api.telegram.org").strip() or "https://api.telegram.org" - self.openai_api_key = env.get("OPENAI_API_KEY", "").strip() - self.openai_transcribe_model = env.get("OPENAI_TRANSCRIBE_MODEL", "gpt-4o-mini-transcribe") - self.telegram_file_download_timeout_seconds = int(env.get("TELEGRAM_FILE_DOWNLOAD_TIMEOUT_SECONDS", "300")) - self.openai_transcribe_timeout_seconds = int(env.get("OPENAI_TRANSCRIBE_TIMEOUT_SECONDS", "900")) - self.openai_transcribe_max_upload_bytes = max(1_000_000, int(env.get("OPENAI_TRANSCRIBE_MAX_UPLOAD_BYTES", str(24 * 1024 * 1024)))) - self.openai_transcribe_max_chunk_seconds = max(60, int(env.get("OPENAI_TRANSCRIBE_MAX_CHUNK_SECONDS", "900"))) - self.openai_transcribe_overlap_seconds = max(0, int(env.get("OPENAI_TRANSCRIBE_OVERLAP_SECONDS", "2"))) - self.openai_transcribe_reencode_bitrate_kbps = max(12, int(env.get("OPENAI_TRANSCRIBE_REENCODE_BITRATE_KBPS", "24"))) - self.openai_transcribe_ffmpeg_timeout_seconds = max(30, int(env.get("OPENAI_TRANSCRIBE_FFMPEG_TIMEOUT_SECONDS", "1800"))) - self.ffmpeg_bin = env.get("FFMPEG_BIN", "ffmpeg").strip() or "ffmpeg" - self.ffprobe_bin = env.get("FFPROBE_BIN", "ffprobe").strip() or "ffprobe" - self.openai_tts_model = env.get("OPENAI_TTS_MODEL", "gpt-4o-mini-tts") - self.openai_tts_voice = env.get("OPENAI_TTS_VOICE", "alloy") - self.openai_tts_response_format = env.get("OPENAI_TTS_RESPONSE_FORMAT", "opus") - self.openai_tts_timeout_seconds = int(env.get("OPENAI_TTS_TIMEOUT_SECONDS", "180")) - self.openai_tts_chunk_chars = max(500, int(env.get("OPENAI_TTS_CHUNK_CHARS", "3500"))) - self.openai_voice_rewrite_model = env.get("OPENAI_VOICE_REWRITE_MODEL", "gpt-4.1-nano") - self.openai_voice_rewrite_timeout_seconds = int(env.get("OPENAI_VOICE_REWRITE_TIMEOUT_SECONDS", "90")) - self.openai_voice_rewrite_max_input_chars = max(1000, int(env.get("OPENAI_VOICE_REWRITE_MAX_INPUT_CHARS", "12000"))) - self.openai_voice_rewrite_max_output_tokens = max(200, int(env.get("OPENAI_VOICE_REWRITE_MAX_OUTPUT_TOKENS", "900"))) - self.codex_bin = Path(env.get( - "CODEX_BIN", - str(Path.home() / ".local/bin/codex") - )) - self.codex_workdir = Path(env.get("CODEX_WORKDIR", str(Path.home()))) - self.codex_timeout_seconds = int(env.get("CODEX_TIMEOUT_SECONDS", "900")) - self.max_retries = max(1, int(env.get("MAX_RETRIES", "3"))) - self.data_dir = (root_dir / env.get("DATA_DIR", "./data")).resolve() - self.agent_instructions_file = (root_dir / "AGENT.md").resolve() - - @staticmethod - def _required(env: dict[str, str], key: str) -> str: - value = env.get(key, "").strip() - if not value: - raise RuntimeError(f"Не задан обязательный параметр: {key}") - return value - - -class ShinePyBotService: - def __init__(self, config: BotConfig): - self.cfg = config - self.telegram = TelegramApi(config.telegram_bot_token, config.telegram_api_base_url) - - self.queue_file = config.data_dir / "py_queue.jsonl" - self.state_file = config.data_dir / "py_state.json" - self.processed_updates_file = config.data_dir / "py_processed_updates.log" - self.lock_file = config.data_dir / "py_app.lock" - self.history_dir = config.data_dir / "history" - self.history_archive_dir = self.history_dir / "archive" - self.task_center_dir = config.data_dir / "task_center" - self.task_center_file = self.task_center_dir / "items.json" - self.max_processed_updates = 5000 - - self.queue_lock = threading.RLock() - self.task_center_lock = threading.RLock() - self.stop_event = threading.Event() - self.worker = threading.Thread(target=self._worker_loop, name="shine-py-bot-worker", daemon=True) - - self.queue: list[dict[str, Any]] = [] - self.state: dict[str, Any] = {} - self.processed_updates: list[str] = [] - self.active_job_id: str | None = None - self.active_job_started_at: float | None = None - self.active_process: subprocess.Popen[str] | None = None - self.active_process_lock = threading.Lock() - self.stop_current_job = False - self.lock_fd = None - self.last_heartbeat_at: float = 0.0 - self.restart_requested = False - - def _is_owner(self, username: str) -> bool: - return self._is_allowed_user(username) - - def _is_allowed_player(self, username: str) -> bool: - return False - - def _is_allowed_user(self, username: str) -> bool: - uname = normalize_username(username) - return uname == self.cfg.allowed_username or uname in self.cfg.allowed_players - - def _player_name(self, username: str) -> str: - uname = normalize_username(username) - return self.cfg.allowed_players.get(uname, uname) - - def _display_name(self, username: str) -> str: - uname = normalize_username(username) - if uname == self.cfg.allowed_username: - return "Айдар" - return self._player_name(uname) - - def _known_usernames(self) -> dict[str, str]: - users = {self.cfg.allowed_username: "Айдар"} - users.update(self.cfg.allowed_players) - return users - - def _find_user_by_text(self, text: str) -> str: - source = normalize_username(text) - if source in self._known_usernames(): - return source - source_lower = (text or "").strip().lower() - aliases = { - "айдар": self.cfg.allowed_username, - "айдару": self.cfg.allowed_username, - "айдара": self.cfg.allowed_username, - "милана": "malvviiina", - "милане": "malvviiina", - "милану": "malvviiina", - "миланы": "malvviiina", - "сергей": "zodiaktechnika32", - "сергею": "zodiaktechnika32", - "сергея": "zodiaktechnika32", - "иван": "oidasyda", - "ивану": "oidasyda", - "ивана": "oidasyda", - "ворон": "blackbyrd1", - "ворону": "blackbyrd1", - "ворона": "blackbyrd1", - "дима": "dimasol1", - "диме": "dimasol1", - "диму": "dimasol1", - "димы": "dimasol1", - } - for alias, username in aliases.items(): - if re.search(rf"(^|\W){re.escape(alias)}($|\W)", source_lower, flags=re.IGNORECASE): - return username - for username, name in self._known_usernames().items(): - if username and username in source_lower: - return username - if name and name.lower() in source_lower: - return username - return "" - - def run(self) -> None: - self._ensure_dirs() - self._acquire_single_instance_lock() - self._load_state() - self._load_queue() - self._load_processed_updates() - self._recover_active_jobs_after_restart() - self.telegram.delete_webhook() - self._init_offset_if_missing() - self.worker.start() - self._append_history_event("service_started", {"allowedUsername": self.cfg.allowed_username}) - print(f"[py-bot] Запущен. allowed user: @{self.cfg.allowed_username}", flush=True) - - try: - while not self.stop_event.is_set(): - try: - offset = self.state.get("offset") - updates = self.telegram.get_updates(offset=offset, timeout_sec=25) - except Exception as e: - print(f"[py-bot] Ошибка getUpdates: {e}", flush=True) - time.sleep(2) - continue - - for update in updates: - update_id = update.get("update_id") - if isinstance(update_id, int): - self.state["offset"] = update_id + 1 - self._persist_state() - self._handle_update(update) - finally: - self.shutdown() - - def shutdown(self) -> None: - if self.stop_event.is_set(): - pass - self.stop_event.set() - self._stop_active_codex_process() - if self.worker.is_alive(): - self.worker.join(timeout=10) - if self.lock_fd is not None: - try: - fcntl.flock(self.lock_fd, fcntl.LOCK_UN) - finally: - self.lock_fd.close() - self.lock_fd = None - self._append_history_event("service_stopped", {}) - - def _ensure_dirs(self) -> None: - self.cfg.data_dir.mkdir(parents=True, exist_ok=True) - self.history_dir.mkdir(parents=True, exist_ok=True) - self.history_archive_dir.mkdir(parents=True, exist_ok=True) - self.task_center_dir.mkdir(parents=True, exist_ok=True) - - def _acquire_single_instance_lock(self) -> None: - self.lock_file.parent.mkdir(parents=True, exist_ok=True) - self.lock_fd = self.lock_file.open("a+") - try: - fcntl.flock(self.lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB) - except BlockingIOError: - raise RuntimeError(f"Уже запущен другой инстанс (lock: {self.lock_file})") - - def _load_state(self) -> None: - if self.state_file.exists(): - self.state = json.loads(self.state_file.read_text(encoding="utf-8")) - else: - self.state = {} - sessions = self.state.get("user_sessions") - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - user_settings = self.state.get("user_settings") - if not isinstance(user_settings, dict): - user_settings = {} - self.state["user_settings"] = user_settings - if not self.state.get("current_history_file"): - history_file = self._create_new_history_file("initial", self.cfg.allowed_username) - self.state["current_history_file"] = str(history_file) - sessions[self.cfg.allowed_username] = {"current_history_file": str(history_file)} - elif self.cfg.allowed_username not in sessions: - sessions[self.cfg.allowed_username] = {"current_history_file": str(self.state["current_history_file"])} - if not isinstance(self.state.get("next_job_number"), int): - self.state["next_job_number"] = 1 - self.state["updated_at"] = now_iso() - self._persist_state() - - def _persist_state(self) -> None: - self.state["updated_at"] = now_iso() - tmp = self.state_file.with_suffix(".tmp") - tmp.write_text(json.dumps(self.state, ensure_ascii=False, indent=2), encoding="utf-8") - tmp.replace(self.state_file) - - def _load_queue(self) -> None: - self.queue = JsonLineStore.load(self.queue_file) - - def _persist_queue(self) -> None: - JsonLineStore.save(self.queue_file, self.queue) - - def _load_processed_updates(self) -> None: - if not self.processed_updates_file.exists(): - self.processed_updates = [] - return - lines = [x.strip() for x in self.processed_updates_file.read_text(encoding="utf-8").splitlines() if x.strip()] - if len(lines) > self.max_processed_updates: - lines = lines[-self.max_processed_updates:] - self.processed_updates_file.write_text("\n".join(lines) + "\n", encoding="utf-8") - self.processed_updates = lines - - def _mark_processed_update(self, update_key: str) -> bool: - if update_key in self.processed_updates: - return True - self.processed_updates.append(update_key) - if len(self.processed_updates) > self.max_processed_updates: - self.processed_updates = self.processed_updates[-self.max_processed_updates:] - self.processed_updates_file.write_text("\n".join(self.processed_updates) + "\n", encoding="utf-8") - else: - with self.processed_updates_file.open("a", encoding="utf-8") as f: - f.write(update_key + "\n") - return False - - def _recover_active_jobs_after_restart(self) -> None: - recovered_ids: list[str] = [] - for job in self.queue: - if job.get("status") == "active": - job["status"] = "pending" - job["retry_reason"] = "service_restart_recovery" - job["updated_at"] = now_iso() - recovered_ids.append(job.get("id", "")) - if recovered_ids: - self._persist_queue() - self._append_history_event("active_jobs_recovered", {"jobIds": recovered_ids}) - - def _init_offset_if_missing(self) -> None: - if self.state.get("offset") is not None: - return - try: - updates = self.telegram.get_updates(offset=None, timeout_sec=0) - if updates: - self.state["offset"] = int(updates[-1]["update_id"]) + 1 - else: - self.state["offset"] = 0 - self._persist_state() - except Exception as e: - print(f"[py-bot] Не удалось инициализировать offset: {e}", flush=True) - self.state["offset"] = 0 - self._persist_state() - - def _current_history_file(self) -> Path: - return self._current_history_file_for_user(self.cfg.allowed_username) - - def _history_dirs_for_user(self, username: str) -> tuple[Path, Path]: - uname = normalize_username(username) or "unknown" - history_dir = self.history_dir / uname - archive_dir = history_dir / "archive" - history_dir.mkdir(parents=True, exist_ok=True) - archive_dir.mkdir(parents=True, exist_ok=True) - return history_dir, archive_dir - - def _ensure_user_session(self, username: str) -> None: - uname = normalize_username(username) or self.cfg.allowed_username - sessions = self.state.setdefault("user_sessions", {}) - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - self._user_settings(uname) - session = sessions.get(uname) - if isinstance(session, dict) and session.get("current_history_file"): - return - history_file = self._create_new_history_file("initial", uname) - sessions[uname] = {"current_history_file": str(history_file)} - if uname == self.cfg.allowed_username: - self.state["current_history_file"] = str(history_file) - self._persist_state() - - def _user_session_state(self, username: str) -> dict[str, Any]: - uname = normalize_username(username) or self.cfg.allowed_username - self._ensure_user_session(uname) - sessions = self.state.get("user_sessions") or {} - session = sessions.get(uname) - if not isinstance(session, dict): - session = {} - sessions[uname] = session - return session - - def _current_history_file_for_user(self, username: str) -> Path: - session = self._user_session_state(username) - return Path(session["current_history_file"]) - - def _codex_thread_id_for_user(self, username: str) -> str: - thread_id = (self._user_session_state(username).get("codex_thread_id") or "").strip() - return thread_id - - def _set_codex_thread_id_for_user(self, username: str, thread_id: str) -> None: - session = self._user_session_state(username) - normalized = (thread_id or "").strip() - if normalized: - session["codex_thread_id"] = normalized - else: - session.pop("codex_thread_id", None) - self._persist_state() - - def _create_new_history_file(self, reason: str, username: str) -> Path: - ts = dt.datetime.now().strftime("%Y-%m-%d_%H%M%S") - rnd = "".join(random.choices(string.hexdigits.lower(), k=8)) - history_dir, _ = self._history_dirs_for_user(username) - path = history_dir / f"{ts}_{rnd}.jsonl" - JsonLineStore.append(path, { - "ts": now_iso(), - "type": "history_created", - "reason": reason, - "username": normalize_username(username), - }) - return path - - def _rotate_history(self, reason: str, username: str) -> Path: - uname = normalize_username(username) or self.cfg.allowed_username - current = self._current_history_file_for_user(uname) - _, archive_dir = self._history_dirs_for_user(uname) - if current.exists(): - archived = archive_dir / current.name - current.replace(archived) - else: - archived = archive_dir / "(empty)" - new_file = self._create_new_history_file(reason, uname) - sessions = self.state.setdefault("user_sessions", {}) - if not isinstance(sessions, dict): - sessions = {} - self.state["user_sessions"] = sessions - previous = sessions.get(uname) if isinstance(sessions.get(uname), dict) else {} - sessions[uname] = {"current_history_file": str(new_file)} - if reason != "command_new" and isinstance(previous, dict): - thread_id = (previous.get("codex_thread_id") or "").strip() - if thread_id: - sessions[uname]["codex_thread_id"] = thread_id - if uname == self.cfg.allowed_username: - self.state["current_history_file"] = str(new_file) - self._persist_state() - self._append_history_event("history_rotated", {"reason": reason, "username": uname, "archived": str(archived)}, username=uname) - return archived - - def _user_settings(self, username: str) -> dict[str, Any]: - uname = normalize_username(username) or self.cfg.allowed_username - settings = self.state.get("user_settings") - if not isinstance(settings, dict): - settings = {} - self.state["user_settings"] = settings - user_settings = settings.get(uname) - if not isinstance(user_settings, dict): - user_settings = {} - settings[uname] = user_settings - if not isinstance(user_settings.get("voice_replies_enabled"), bool): - user_settings["voice_replies_enabled"] = True - if not isinstance(user_settings.get("voice_rewrite_enabled"), bool): - user_settings["voice_rewrite_enabled"] = True - if not isinstance(user_settings.get("single_status_message_enabled"), bool): - user_settings["single_status_message_enabled"] = True - return user_settings - - def _voice_replies_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("voice_replies_enabled")) - - def _set_voice_replies_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["voice_replies_enabled"] = enabled - self._persist_state() - - def _voice_rewrite_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("voice_rewrite_enabled")) - - def _set_voice_rewrite_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["voice_rewrite_enabled"] = enabled - self._persist_state() - - def _single_status_message_enabled(self, username: str) -> bool: - return bool(self._user_settings(username).get("single_status_message_enabled")) - - def _set_single_status_message_enabled(self, username: str, enabled: bool) -> None: - self._user_settings(username)["single_status_message_enabled"] = enabled - self._persist_state() - - def _remember_private_chat(self, username: str, chat_id: int) -> None: - uname = normalize_username(username) - if not uname: - return - private_chats = self.state.get("private_chat_ids") - if not isinstance(private_chats, dict): - private_chats = {} - self.state["private_chat_ids"] = private_chats - if private_chats.get(uname) == chat_id: - return - private_chats[uname] = chat_id - self._persist_state() - - def _private_chat_id_for_user(self, username: str) -> int | None: - private_chats = self.state.get("private_chat_ids") - if not isinstance(private_chats, dict): - return None - chat_id = private_chats.get(normalize_username(username)) - return self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else None - - def _append_history(self, history_path: Path, event_type: str, payload: dict[str, Any]) -> None: - row = {"ts": now_iso(), "type": event_type} - row.update(payload) - JsonLineStore.append(history_path, row) - - def _append_history_event(self, event_type: str, payload: dict[str, Any], username: str | None = None) -> None: - history_path = self._current_history_file_for_user(username or self.cfg.allowed_username) - self._append_history(history_path, "system_event", {"event": event_type, **payload}) - - def _load_task_items(self) -> list[dict[str, Any]]: - with self.task_center_lock: - if not self.task_center_file.exists(): - return [] - try: - data = json.loads(self.task_center_file.read_text(encoding="utf-8")) - except Exception: - return [] - return data if isinstance(data, list) else [] - - def _save_task_items(self, items: list[dict[str, Any]]) -> None: - with self.task_center_lock: - self.task_center_file.parent.mkdir(parents=True, exist_ok=True) - tmp = self.task_center_file.with_suffix(".tmp") - tmp.write_text(json.dumps(items, ensure_ascii=False, indent=2), encoding="utf-8") - tmp.replace(self.task_center_file) - - def _next_task_item_id(self, items: list[dict[str, Any]]) -> str: - max_num = 0 - for item in items: - raw = str(item.get("id") or "") - match = re.match(r"TC-(\d+)$", raw) - if match: - max_num = max(max_num, int(match.group(1))) - return f"TC-{max_num + 1:04d}" - - def _create_task_item( - self, - *, - kind: str, - title: str, - text: str, - source_username: str, - target_username: str, - source_message_id: int | None = None, - source_chat_id: int | None = None, - opinion: str = "", - ) -> dict[str, Any]: - items = self._load_task_items() - item = { - "id": self._next_task_item_id(items), - "kind": kind, - "status": "new", - "title": compact_spaces(title)[:160] or ("Предложение" if kind == "proposal" else "Задача"), - "text": (text or "").strip(), - "opinion": (opinion or "").strip(), - "source_username": normalize_username(source_username), - "source_name": self._display_name(source_username), - "target_username": normalize_username(target_username), - "target_name": self._display_name(target_username), - "source_chat_id": source_chat_id, - "source_message_id": source_message_id, - "created_at": now_iso(), - "updated_at": now_iso(), - } - items.append(item) - self._save_task_items(items) - self._append_history_event("task_center_item_created", { - "itemId": item["id"], - "kind": kind, - "sourceUsername": item["source_username"], - "targetUsername": item["target_username"], - "title": item["title"], - }, username=source_username) - return item - - def _task_items_for_user(self, username: str, *, include_done: bool = False) -> list[dict[str, Any]]: - uname = normalize_username(username) - items = self._load_task_items() - result = [ - item for item in items - if normalize_username(item.get("target_username")) == uname - and (include_done or item.get("status") != "done") - ] - return sorted(result, key=lambda x: str(x.get("created_at") or "")) - - def _task_center_counts_text(self, username: str) -> str: - counts: dict[str, int] = {} - for item in self._task_items_for_user(username): - status = str(item.get("status") or "new") - counts[status] = counts.get(status, 0) + 1 - active_total = sum(counts.values()) - if active_total <= 0: - return "" - parts = [] - for status in ("new", "approved", "needs_work", "rejected"): - count = counts.get(status, 0) - if count: - parts.append(f"{TASK_STATUS_LABELS.get(status, status)}: {count}") - return f"Напоминание по задачам: всего активных {active_total}; " + ", ".join(parts) + "." - - def _format_task_items(self, username: str, *, include_done: bool = False) -> str: - items = self._task_items_for_user(username, include_done=include_done) - if not items: - return f"Для {self._display_name(username)} активных задач и предложений нет." - lines = [f"Задачи и предложения для {self._display_name(username)}:"] - for item in items[:15]: - kind = "предложение" if item.get("kind") == "proposal" else "задача" - status = TASK_STATUS_LABELS.get(str(item.get("status") or "new"), str(item.get("status") or "new")) - source = item.get("source_name") or item.get("source_username") or "неизвестно" - title = item.get("title") or "(без названия)" - lines.append(f"{item.get('id')} [{status}] {kind} от {source}: {title}") - if len(items) > 15: - lines.append(f"...и ещё {len(items) - 15}") - return "\n".join(lines) - - def _update_task_item_status(self, item_id: str, status: str) -> dict[str, Any] | None: - item_id = (item_id or "").strip().upper() - items = self._load_task_items() - updated = None - for item in items: - if str(item.get("id") or "").upper() == item_id: - item["status"] = status - item["updated_at"] = now_iso() - updated = item - break - if updated is not None: - self._save_task_items(items) - return updated - - def _find_first_task_item(self, *, source_username: str = "", target_username: str = "", kind: str = "") -> dict[str, Any] | None: - source = normalize_username(source_username) - target = normalize_username(target_username) - for item in self._load_task_items(): - if item.get("status") == "done": - continue - if source and normalize_username(item.get("source_username")) != source: - continue - if target and normalize_username(item.get("target_username")) != target: - continue - if kind and item.get("kind") != kind: - continue - return item - return None - - def _notify_user_about_task_item(self, username: str, item: dict[str, Any]) -> None: - chat_id = self._private_chat_id_for_user(username) - if chat_id is None: - return - kind = "предложение" if item.get("kind") == "proposal" else "задача" - source = item.get("source_name") or item.get("source_username") or "кто-то" - title = item.get("title") or "(без названия)" - status = TASK_STATUS_LABELS.get(str(item.get("status") or "new"), str(item.get("status") or "new")) - if item.get("status") == "new": - text = f"У тебя новое {kind} от {source}: {title}\nID: {item.get('id')}" - else: - text = f"Обновление по {kind} {item.get('id')}: статус «{status}».\n{title}" - self._safe_send(chat_id, text) - - def _send_player_welcome_once(self, chat_id: int, message_id: int, username: str) -> None: - uname = normalize_username(username) - sent = self.state.get("player_welcome_sent") - if not isinstance(sent, dict): - sent = {} - self.state["player_welcome_sent"] = sent - if sent.get(uname): - return - player_name = self._player_name(uname) - text = ( - f"Привет, {player_name}.\n" - "Можно задавать вопросы по проекту, просить анализ, идеи и подготовку готового ТЗ.\n" - "Команда /new начинает новую Codex-сессию и архивирует текущую историю." - ) - reminder = self._task_center_counts_text(uname) - if reminder: - text = f"{text}\n\n{reminder}\nКоманда /tasks покажет список." - self._safe_send(chat_id, text, reply_to=message_id) - sent[uname] = now_iso() - self._persist_state() - - def _resolve_chat_id(self, chat_id: int) -> int: - migrations = self.state.get("chat_id_migrations") - if not isinstance(migrations, dict): - return chat_id - current = chat_id - visited: set[int] = set() - while current not in visited: - visited.add(current) - next_chat_id = migrations.get(str(current)) - if not isinstance(next_chat_id, int): - break - current = next_chat_id - return current - - def _remember_chat_migration(self, old_chat_id: int, new_chat_id: int, source: str) -> None: - if old_chat_id == new_chat_id: - return - migrations = self.state.get("chat_id_migrations") - if not isinstance(migrations, dict): - migrations = {} - self.state["chat_id_migrations"] = migrations - if migrations.get(str(old_chat_id)) == new_chat_id: - return - migrations[str(old_chat_id)] = new_chat_id - self._persist_state() - with self.queue_lock: - changed = False - for job in self.queue: - if job.get("chat_id") == old_chat_id: - job["chat_id"] = new_chat_id - job["updated_at"] = now_iso() - changed = True - if changed: - self._persist_queue() - self._append_history_event("chat_migrated_to_supergroup", { - "oldChatId": old_chat_id, - "newChatId": new_chat_id, - "source": source, - }) - - @staticmethod - def _extract_migrate_to_chat_id(error_text: str) -> int | None: - match = re.search(r'"migrate_to_chat_id"\s*:\s*(-?\d+)', error_text) - if match: - return int(match.group(1)) - match = re.search(r"'migrate_to_chat_id'\s*:\s*(-?\d+)", error_text) - if match: - return int(match.group(1)) - return None - - def _handle_update(self, update: dict[str, Any]) -> None: - message = update.get("message") - update_type = "message" - if not isinstance(message, dict): - message = update.get("channel_post") - update_type = "channel_post" - if not isinstance(message, dict): - return - chat = message.get("chat") or {} - chat_id = chat.get("id") - message_id = message.get("message_id") - chat_type = str(chat.get("type") or "") - chat_username = normalize_username(chat.get("username")) - chat_title = str(chat.get("title") or "") - sender = message.get("from") or {} - username = normalize_username(sender.get("username")) - author_signature = str(message.get("author_signature") or "").strip() - author_username = username or normalize_username(author_signature) - if not isinstance(chat_id, int) or not isinstance(message_id, int): - return - - migrate_to_chat_id = message.get("migrate_to_chat_id") - if isinstance(migrate_to_chat_id, int): - self._remember_chat_migration(chat_id, migrate_to_chat_id, "telegram_message") - return - - update_key = f"{chat_id}:{message_id}" - if self._mark_processed_update(update_key): - return - - is_channel_post = update_type == "channel_post" or chat_type == "channel" - is_group_message = update_type == "message" and chat_type in ("group", "supergroup") - is_allowed_channel = ( - not is_channel_post - or not self.cfg.allowed_channel_username - or chat_username == self.cfg.allowed_channel_username - ) - if is_channel_post and not is_allowed_channel: - return - if chat_username and chat_username == self.cfg.allowed_channel_username: - self._remember_public_report_chat(chat_id) - - # Игнорируем системные сообщения о входе/выходе и смене заголовка/фото. - if message.get("new_chat_members") or message.get("left_chat_member"): - return - if message.get("group_chat_created") or message.get("supergroup_chat_created") or message.get("channel_chat_created"): - return - - text = (message.get("text") or message.get("caption") or "").strip() - actor_username = normalize_username(author_username) - is_allowed = self._is_allowed_user(actor_username) - is_private = chat_type == "private" - if not is_allowed: - if is_private: - self._safe_send(chat_id, "Извините, доступ к этому агенту пока не выдан. Обратитесь к Айдару.", reply_to=message_id) - return - if self._is_allowed_player(actor_username) and not is_private: - return - - self._ensure_user_session(actor_username) - if is_private: - self._remember_private_chat(actor_username, chat_id) - history_path = self._current_history_file_for_user(actor_username) - if self._is_allowed_player(actor_username): - self._send_player_welcome_once(chat_id, message_id, actor_username) - - if not text: - if message.get("voice"): - self._enqueue_voice_job( - chat_id, - message_id, - actor_username, - message["voice"].get("file_id"), - duration_seconds=message["voice"].get("duration"), - telegram_file_size=message["voice"].get("file_size"), - media_type="voice", - update_type=update_type, - chat_username=chat_username, - chat_title=chat_title, - author_signature=author_signature, - chat_type=chat_type, - ) - return - if message.get("audio"): - self._enqueue_voice_job( - chat_id, - message_id, - actor_username, - message["audio"].get("file_id"), - duration_seconds=message["audio"].get("duration"), - telegram_file_size=message["audio"].get("file_size"), - media_type="audio", - update_type=update_type, - chat_username=chat_username, - chat_title=chat_title, - author_signature=author_signature, - chat_type=chat_type, - ) - return - self._safe_send(chat_id, "Поддерживаются текст, voice и audio.", reply_to=message_id) - return - - if text.startswith("/"): - self._handle_command(chat_id, message_id, actor_username, text) - return - - if self._handle_task_center_text(chat_id, message_id, actor_username, text): - return - - self._append_history(history_path, "incoming_text", { - "chatId": chat_id, - "messageId": message_id, - "updateType": update_type, - "chatType": chat_type, - "chatUsername": chat_username, - "chatTitle": chat_title, - "username": actor_username, - "authorSignature": author_signature, - "text": text, - }) - job = self._build_job_base(chat_id, message_id, actor_username, str(history_path)) - job["type"] = "text" - job["text"] = text - job["update_type"] = update_type - job["chat_type"] = chat_type - job["chat_username"] = chat_username - job["chat_title"] = chat_title - job["author_signature"] = author_signature - job["role"] = "owner" if self._is_owner(actor_username) else "player" - job["player_name"] = self._player_name(actor_username) if job["role"] == "player" else "" - with self.queue_lock: - self.queue.append(job) - self._persist_queue() - if chat_type == "private": - self._ensure_job_status_message( - job["id"], - chat_id, - message_id, - f"Задача #{job['num']} получена.\nСтатус: в очереди.", - ) - else: - self._safe_send(chat_id, f"Принял задачу #{job['num']}", reply_to=message_id) - - def _enqueue_voice_job( - self, - chat_id: int, - message_id: int, - username: str, - file_id: str | None, - *, - duration_seconds: int | None = None, - telegram_file_size: int | None = None, - media_type: str = "voice", - update_type: str = "message", - chat_username: str = "", - chat_title: str = "", - author_signature: str = "", - chat_type: str = "", - ) -> None: - if not file_id: - self._safe_send(chat_id, "Не удалось прочитать file_id голосового.", reply_to=message_id) - return - history_path = self._current_history_file_for_user(username) - self._append_history(history_path, "incoming_voice", { - "chatId": chat_id, - "messageId": message_id, - "updateType": update_type, - "chatType": chat_type, - "chatUsername": chat_username, - "chatTitle": chat_title, - "username": username, - "authorSignature": author_signature, - "fileId": file_id, - "mediaType": media_type, - "durationSeconds": duration_seconds, - "fileSize": telegram_file_size, - }) - job = self._build_job_base(chat_id, message_id, username, str(history_path)) - job["type"] = "voice" - job["telegram_file_id"] = file_id - job["telegram_media_type"] = media_type - job["telegram_duration_seconds"] = duration_seconds or 0 - job["telegram_file_size"] = telegram_file_size or 0 - job["update_type"] = update_type - job["chat_type"] = chat_type - job["chat_username"] = chat_username - job["chat_title"] = chat_title - job["author_signature"] = author_signature - job["role"] = "owner" if self._is_owner(username) else "player" - job["player_name"] = self._player_name(username) if job["role"] == "player" else "" - with self.queue_lock: - self.queue.append(job) - self._persist_queue() - if chat_type == "private": - self._ensure_job_status_message( - job["id"], - chat_id, - message_id, - f"Voice для задачи #{job['num']} получен.\nСтатус: в очереди.", - ) - else: - self._safe_send(chat_id, f"Принял voice в задачу #{job['num']}", reply_to=message_id) - - def _build_job_base(self, chat_id: int, message_id: int, username: str, history_file: str) -> dict[str, Any]: - with self.queue_lock: - num = int(self.state.get("next_job_number", 1)) - self.state["next_job_number"] = num + 1 - self._persist_state() - return { - "id": str(uuid.uuid4()), - "num": num, - "status": "pending", - "type": "text", - "chat_id": chat_id, - "message_id": message_id, - "username": username, - "update_type": "message", - "chat_type": "", - "chat_username": "", - "chat_title": "", - "author_signature": "", - "role": "owner", - "player_name": "", - "text": "", - "telegram_file_id": "", - "telegram_media_type": "", - "history_file": history_file, - "attempts": 0, - "retry_reason": "", - "last_error": "", - "created_at": now_iso(), - "updated_at": now_iso(), - "active_since": None, - "status_message_id": None, - "status_message_text": "", - } - - def _handle_task_center_text(self, chat_id: int, message_id: int, username: str, text: str) -> bool: - source_text = (text or "").strip() - lower = source_text.lower() - is_owner = self._is_owner(username) - - if re.search(r"\b(покажи|список|какие)\b.*\b(задач|задачи|предложени)", lower): - target = username - explicit_target = self._find_user_by_text(source_text) - if is_owner and explicit_target: - target = explicit_target - self._safe_send(chat_id, self._format_task_items(target), reply_to=message_id) - return True - - if is_owner: - assign_match = re.search( - r"(?:поставь|добавь|создай|запиши)\s+(?:задачу|задание)\s+(.+?)(?::|\s+-\s+|\s+—\s+)(.+)", - source_text, - flags=re.IGNORECASE | re.DOTALL, - ) - if assign_match: - target = self._find_user_by_text(assign_match.group(1)) - body = assign_match.group(2).strip() - if target and body: - item = self._create_task_item( - kind="task", - title=body, - text=body, - source_username=username, - target_username=target, - source_message_id=message_id, - source_chat_id=chat_id, - ) - self._notify_user_about_task_item(target, item) - self._safe_send( - chat_id, - f"Задача добавлена для {self._display_name(target)}: {item['id']} — {item['title']}", - reply_to=message_id, - ) - return True - - status_match = re.search(r"\b(одобрить|отклонить|доработать|закрыть|сделано|закрыта)\b(?:\s+(.+))?", lower, flags=re.IGNORECASE) - if status_match and ("задач" in lower or "предложени" in lower or re.search(r"tc-\d+", lower, flags=re.IGNORECASE)): - action = status_match.group(1) - tail = status_match.group(2) or "" - status = { - "одобрить": "approved", - "отклонить": "rejected", - "доработать": "needs_work", - "закрыть": "done", - "сделано": "done", - "закрыта": "done", - }.get(action, "new") - id_match = re.search(r"tc-\d+", source_text, flags=re.IGNORECASE) - item = None - if id_match: - item = self._update_task_item_status(id_match.group(0), status) - else: - source_user = self._find_user_by_text(tail) - item = self._find_first_task_item( - source_username=source_user, - target_username=username, - kind="proposal" if "предложени" in lower else "", - ) - if item: - item = self._update_task_item_status(str(item.get("id")), status) - if item: - label = TASK_STATUS_LABELS.get(status, status) - self._safe_send(chat_id, f"{item.get('id')} обновлена: {label}.", reply_to=message_id) - source_user = normalize_username(item.get("source_username")) - if source_user and source_user != username: - self._notify_user_about_task_item(source_user, item) - return True - - if not is_owner: - proposal_match = re.match(r"\s*(?:предложение|идея|заявка)\s*[::-]\s*(.+)", source_text, flags=re.IGNORECASE | re.DOTALL) - if proposal_match: - body = proposal_match.group(1).strip() - if body: - item = self._create_task_item( - kind="proposal", - title=body, - text=body, - opinion="Нужно решение Айдара: одобрить, отклонить или отправить на доработку.", - source_username=username, - target_username=self.cfg.allowed_username, - source_message_id=message_id, - source_chat_id=chat_id, - ) - self._notify_user_about_task_item(self.cfg.allowed_username, item) - self._safe_send( - chat_id, - f"Предложение отправлено Айдару как {item['id']}. Статус: новая.", - reply_to=message_id, - ) - return True - - return False - - def _handle_command(self, chat_id: int, message_id: int, username: str, text: str) -> None: - lower = text.lower() - command = lower.split(maxsplit=1)[0].split("@", 1)[0] - is_owner = self._is_owner(username) - if command in ("/start", "/help"): - self._safe_send(chat_id, self._help_text(is_owner=is_owner), reply_to=message_id) - return - if command == "/settings": - self._safe_send(chat_id, self._settings_text(username), reply_to=message_id) - return - if command == "/status": - self._safe_send(chat_id, self._status_text(username), reply_to=message_id) - return - if command == "/queue": - self._safe_send(chat_id, self._queue_text(), reply_to=message_id) - return - if command in ("/tasks", "/my_tasks"): - parts = text.split(maxsplit=1) - target = username - if is_owner and len(parts) > 1: - parsed = self._find_user_by_text(parts[1]) - if parsed: - target = parsed - self._safe_send(chat_id, self._format_task_items(target), reply_to=message_id) - return - if command == "/voice_on": - self._set_voice_replies_enabled(username, True) - self._append_history_event("voice_replies_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Озвучивание финальных ответов включено для вашего пользователя.", reply_to=message_id) - return - if command == "/voice_off": - self._set_voice_replies_enabled(username, False) - self._append_history_event("voice_replies_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Озвучивание финальных ответов выключено для вашего пользователя.", reply_to=message_id) - return - if command in ("/voice_status", "/voice_rewrite_status"): - self._safe_send(chat_id, self._status_text(username), reply_to=message_id) - return - if command == "/voice_rewrite_on": - self._set_voice_rewrite_enabled(username, True) - self._append_history_event("voice_rewrite_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Адаптация текста перед озвучкой включена для вашего пользователя.", reply_to=message_id) - return - if command == "/voice_rewrite_off": - self._set_voice_rewrite_enabled(username, False) - self._append_history_event("voice_rewrite_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Адаптация текста перед озвучкой выключена для вашего пользователя.", reply_to=message_id) - return - if command == "/single_message_on": - self._set_single_status_message_enabled(username, True) - self._append_history_event("single_status_message_enabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Режим одного редактируемого сообщения в личке включён для вашего пользователя.", reply_to=message_id) - return - if command == "/single_message_off": - self._set_single_status_message_enabled(username, False) - self._append_history_event("single_status_message_disabled", {"username": normalize_username(username)}, username=username) - self._safe_send(chat_id, "Режим одного редактируемого сообщения в личке выключен. Бот будет отправлять отдельные сообщения по этапам.", reply_to=message_id) - return - if command == "/new": - archived = self._rotate_history("command_new", username) - self._safe_send(chat_id, f"История очищена. Новый диалог начат.\nАрхив: {archived.name}", reply_to=message_id) - return - if command in ("/restart_service", "/restart"): - if not is_owner: - self._safe_send(chat_id, "Команда недоступна.", reply_to=message_id) - return - self._append_history_event("restart_service_deferred_requested", { - "chatId": chat_id, - "messageId": message_id, - "username": username, - }, username=username) - self._safe_send( - chat_id, - "Отложенный рестарт принят. Если задача сейчас выполняется, сервис перезапустится после её завершения и до следующей задачи.", - reply_to=message_id, - ) - self._request_deferred_restart() - return - if command in ("/restart_hard", "/restart_now", "/restart_force"): - if not is_owner: - self._safe_send(chat_id, "Команда недоступна.", reply_to=message_id) - return - self._append_history_event("restart_service_hard_requested", { - "chatId": chat_id, - "messageId": message_id, - "username": username, - }, username=username) - self._safe_send( - chat_id, - "Выполняю жёсткий рестарт сервиса прямо сейчас. Активная задача, если есть, будет прервана и после старта вернётся в очередь.", - reply_to=message_id, - ) - self._schedule_self_restart("hard_restart_requested", force=True) - return - if command == "/stop": - stopped = self._cancel_active_job("stopped_by_user") - if stopped: - self._safe_send(chat_id, "Текущая задача остановлена и удалена из очереди.", reply_to=message_id) - else: - self._safe_send(chat_id, "Сейчас нет активной задачи.", reply_to=message_id) - return - if command == "/cancel": - parts = text.split(maxsplit=1) - if len(parts) < 2: - self._safe_send(chat_id, "Использование: /cancel <id|all>", reply_to=message_id) - return - arg = parts[1].strip() - if arg.lower() == "all": - with self.queue_lock: - self.stop_current_job = True - self._stop_active_codex_process() - count = len(self.queue) - self.queue = [] - self._persist_queue() - self._safe_send(chat_id, f"Удалено задач из очереди: {count}", reply_to=message_id) - return - cancelled = self._cancel_by_id_prefix(arg) - self._safe_send(chat_id, f"Задача удалена: {arg}" if cancelled else f"Задача не найдена: {arg}", reply_to=message_id) - return - - def _help_text(self, *, is_owner: bool) -> str: - lines = [ - "Доступные команды:", - "/status — активная задача и размер очереди", - "/settings — текущие настройки и команды для их изменения", - "/queue — список задач в очереди", - "/tasks — список ваших задач и предложений", - "/stop — остановить текущую задачу", - "/cancel <id|all> — удалить задачу по id (префикс) или все", - "/new — архивировать историю и начать новую Codex-сессию", - "/help — эта справка", - ] - if is_owner: - lines.insert(-1, "/tasks <пользователь> — список задач пользователя") - lines.insert(-1, "/restart — отложенный рестарт после текущей задачи") - lines.insert(-1, "/restart_hard — жёсткий рестарт прямо сейчас") - return "\n".join(lines) - - def _settings_text(self, username: str) -> str: - voice_status = "включено" if self._voice_replies_enabled(username) else "выключено" - rewrite_status = "включена" if self._voice_rewrite_enabled(username) else "выключена" - single_message_status = "включён" if self._single_status_message_enabled(username) else "выключен" - lines = [ - "Текущие настройки:", - f"Озвучивание финальных ответов: {voice_status}", - f"Адаптация текста перед озвучкой: {rewrite_status}", - f"Режим одного редактируемого сообщения в личке: {single_message_status}", - "", - "Команды настроек:", - "/voice_on — включить озвучивание", - "/voice_off — выключить озвучивание", - "/voice_rewrite_on — адаптировать текст перед озвучкой", - "/voice_rewrite_off — озвучивать обычный текст без адаптации", - "/single_message_on — один редактируемый ответ в личке", - "/single_message_off — отдельные сообщения по этапам и финалу", - ] - return "\n".join(lines) - - def _status_text(self, username: str) -> str: - with self.queue_lock: - active = next((j for j in self.queue if j.get("status") == "active"), None) - pending = sum(1 for j in self.queue if j.get("status") == "pending") - voice_status = "включено" if self._voice_replies_enabled(username) else "выключено" - rewrite_status = "включена" if self._voice_rewrite_enabled(username) else "выключена" - single_message_status = "включён" if self._single_status_message_enabled(username) else "выключен" - settings_text = ( - f"Голосовые ответы: {voice_status}\n" - f"Адаптация текста перед озвучкой: {rewrite_status}\n" - f"Режим одного сообщения в личке: {single_message_status}" - ) - restart_text = "\nОтложенный рестарт: ожидает завершения текущей задачи" if self.restart_requested else "" - if not active: - return f"Статус: активной задачи нет.\nВ очереди pending: {pending}\n{settings_text}{restart_text}" - elapsed = int(time.time() - (self.active_job_started_at or time.time())) - return ( - f"Статус: активная задача #{active.get('num', '?')}\n" - f"Тип: {active.get('type', 'text')}\n" - f"Попытка: {int(active.get('attempts', 0)) + 1}/{self.cfg.max_retries}\n" - f"Выполняется: {elapsed}с\n" - f"Pending: {pending}\n" - f"{settings_text}{restart_text}" - ) - - def _queue_text(self) -> str: - with self.queue_lock: - items = list(self.queue) - if not items: - return "Очередь пуста." - lines = [f"Очередь: {len(items)}"] - for i, job in enumerate(items[:10], start=1): - lines.append( - f"{i}) #{job.get('num', '?')} [{job.get('status')}] {job.get('type')} attempts={job.get('attempts', 0)}" - ) - if len(items) > 10: - lines.append(f"...и ещё {len(items) - 10} задач") - return "\n".join(lines) - - def _cancel_active_job(self, reason: str) -> bool: - with self.queue_lock: - active = next((j for j in self.queue if j.get("status") == "active"), None) - if not active: - return False - self.stop_current_job = True - self._stop_active_codex_process() - self.queue = [j for j in self.queue if j.get("id") != active.get("id")] - self._persist_queue() - self._append_history_event("job_stopped_by_user", {"jobId": active.get("id"), "reason": reason}) - return True - - def _cancel_by_id_prefix(self, prefix: str) -> bool: - prefix = prefix.strip().lower() - normalized_num = prefix.lstrip("#") - with self.queue_lock: - target = next( - ( - j for j in self.queue - if str(j.get("id", "")).lower().startswith(prefix) - or str(j.get("num", "")).lower() == normalized_num - ), - None - ) - if not target: - return False - if target.get("status") == "active": - self.stop_current_job = True - self._stop_active_codex_process() - self.queue = [j for j in self.queue if j.get("id") != target.get("id")] - self._persist_queue() - return True - - def _worker_loop(self) -> None: - while not self.stop_event.is_set(): - if self.restart_requested: - self._exit_for_restart("deferred_restart_before_next_job") - return - job = None - with self.queue_lock: - for item in self.queue: - if item.get("status") == "pending": - item["status"] = "active" - item["active_since"] = now_iso() - item["updated_at"] = now_iso() - self.active_job_id = item.get("id") - self.active_job_started_at = time.time() - job = dict(item) - self._persist_queue() - break - if not job: - time.sleep(0.5) - continue - - self.stop_current_job = False - self._process_job(job) - self.active_job_id = None - self.active_job_started_at = None - if self.restart_requested: - self._exit_for_restart("deferred_restart_after_job") - return - - def _process_job(self, job: dict[str, Any]) -> None: - job_id = job["id"] - job_num = job.get("num", "?") - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - history_path = Path(job["history_file"]) - private_single_message = ( - (job.get("chat_type") or "") == "private" - and self._single_status_message_enabled(job.get("username") or "") - ) - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: выполняется.") - try: - if job.get("type") == "voice": - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: распознаю voice.") - recognized = self._transcribe_voice_job( - job, - status_cb=lambda note: self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: {note}", - ), - ) - job["text"] = recognized - self._append_history(history_path, "voice_transcription", {"jobId": job_id, "jobNum": job_num, "text": recognized}) - preview = recognized.strip() - if len(preview) > 800: - preview = preview[:800].rstrip() + " ...[обрезано]" - self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: voice распознан, отправляю в Codex.\n\nТекст:\n{preview}", - ) - - prompt = self._build_prompt(job) - self._append_history(history_path, "codex_request", {"jobId": job_id, "prompt": prompt}) - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: выполняю через Codex.") - answer = self._run_codex(prompt, job) - if private_single_message: - parts = split_final_private_text(answer) - self._set_job_status_text(job, parts[0]) - if len(parts) > 1: - self._safe_send(chat_id, parts[1], reply_to=message_id) - else: - for chunk in split_long_text(answer): - self._safe_send(chat_id, chunk, reply_to=message_id) - self._append_history(history_path, "codex_response", {"jobId": job_id, "text": answer}) - self._send_private_job_public_report(job, answer) - self._send_task_center_reminder(job) - if self._voice_replies_enabled(job.get("username") or ""): - self._send_voice_reply_for_answer(job, answer, history_path, job_id) - self._mark_job_done(job_id) - except Exception as e: - if self.stop_current_job: - self._append_history(history_path, "job_stopped", {"jobId": job_id, "reason": str(e)}) - self._set_job_status_text(job, f"Задача #{job_num} остановлена.") - self._mark_job_removed(job_id) - self.stop_current_job = False - return - if isinstance(e, VoiceTranscriptionError): - self._append_history(history_path, "voice_transcription_failed", { - "jobId": job_id, - "jobNum": job_num, - "stage": e.stage, - "retryable": e.retryable, - "error": e.user_message, - "detail": e.detail, - }) - self._handle_job_failure(job, e) - - def _build_prompt(self, job: dict[str, Any]) -> str: - retry_block = "" - retry_reason = (job.get("retry_reason") or "").strip() - if retry_reason: - retry_block = f"\n\nПометка retry: {retry_reason}" - return ( - "Пришло сообщение в Telegram.\n" - f"Тип: {job.get('type')}\n" - f"Источник Telegram: {job.get('update_type', 'message')}\n" - f"Тип чата: {job.get('chat_type') or ''}\n" - f"Канал/чат: @{job.get('chat_username') or ''} {job.get('chat_title') or ''}\n" - f"Username отправителя: @{job.get('username')}\n" - f"Подпись автора в Telegram: {job.get('author_signature') or ''}\n" - "Текст для обработки:\n" - f"{job.get('text')}\n\n" - f"История диалога (JSONL): {job.get('history_file')}\n" - f"Инструкции агента: {self.cfg.agent_instructions_file}\n" - f"Работай в рабочем проекте аккуратно и верни только текст ответа пользователю.{retry_block}" - ) - - def _run_codex(self, prompt: str, job: dict[str, Any]) -> str: - username = job.get("username") or self.cfg.allowed_username - thread_id = self._codex_thread_id_for_user(username) - try: - return self._run_codex_once(prompt, job, thread_id=thread_id) - except RuntimeError as e: - if not thread_id or not self._is_missing_codex_session_error(str(e)): - raise - self._set_codex_thread_id_for_user(username, "") - self._append_history( - Path(job["history_file"]), - "system_event", - { - "event": "codex_thread_reset", - "reason": "missing_session", - "username": normalize_username(username), - "oldThreadId": thread_id, - }, - ) - return self._run_codex_once(prompt, job, thread_id="") - - def _run_codex_once(self, prompt: str, job: dict[str, Any], *, thread_id: str) -> str: - output_lines: list[str] = [] - job_id = str(job["id"]) - job_num = job.get("num", "?") - username = job.get("username") or self.cfg.allowed_username - with tempfile.NamedTemporaryFile(prefix="shine-codex-last-message-", suffix=".txt", delete=False) as tmp: - output_file = Path(tmp.name) - - cmd = [ - str(self.cfg.codex_bin), - "exec", - "--dangerously-bypass-approvals-and-sandbox", - "--json", - "-C", str(self.cfg.codex_workdir), - "-o", str(output_file), - ] - if thread_id: - cmd.extend(["resume", thread_id]) - cmd.append(prompt) - mode = f"resume {thread_id}" if thread_id else "new" - print(f"[py-bot] codex exec start job={job_id[:8]} mode={mode}", flush=True) - process = subprocess.Popen( - cmd, - stdin=subprocess.DEVNULL, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - encoding="utf-8", - errors="replace", - bufsize=1, - ) - with self.active_process_lock: - self.active_process = process - - self.last_heartbeat_at = 0.0 - last_user_note = "" - last_user_note_at = 0.0 - codex_started_at = time.time() - last_job_message_at = codex_started_at - seen_thread_id = "" - - def on_line(line: str) -> None: - nonlocal last_user_note, last_user_note_at, last_job_message_at, seen_thread_id - output_lines.append(line) - current_thread_id = self._extract_codex_thread_id(line) - if current_thread_id: - seen_thread_id = current_thread_id - note = self._extract_codex_user_note(line) - now = time.time() - if note and note != last_user_note and now - last_user_note_at > 8: - self._set_job_status_text(job, f"Задача #{job_num} в работе.\nСтатус: {note}") - last_user_note = note - last_user_note_at = now - last_job_message_at = now - - reader_done = threading.Event() - - def reader() -> None: - if not process.stdout: - reader_done.set() - return - for line in process.stdout: - on_line(line.rstrip("\n")) - reader_done.set() - - t = threading.Thread(target=reader, name=f"codex-reader-{job_id[:8]}", daemon=True) - t.start() - - try: - deadline = time.time() + self.cfg.codex_timeout_seconds - return_code = None - while return_code is None: - return_code = process.poll() - now = time.time() - if return_code is not None: - break - if now >= deadline: - process.kill() - t.join(timeout=2) - raise RuntimeError(f"Codex timeout after {self.cfg.codex_timeout_seconds}s") - if now - codex_started_at >= 120 and now - last_job_message_at >= 120: - elapsed = self._format_duration(int(now - codex_started_at)) - self._set_job_status_text( - job, - f"Задача #{job_num} в работе.\nСтатус: выполняется уже {elapsed}, от Codex давно нет новых сообщений.", - ) - last_job_message_at = now - self.last_heartbeat_at = now - time.sleep(1) - finally: - with self.active_process_lock: - self.active_process = None - - reader_done.wait(timeout=2) - - if return_code != 0: - tail = "\n".join(output_lines[-40:]) - raise RuntimeError(f"Codex exited with code {return_code}. Output tail:\n{tail}") - - if seen_thread_id and seen_thread_id != thread_id: - self._set_codex_thread_id_for_user(username, seen_thread_id) - - if output_file.exists(): - answer = output_file.read_text(encoding="utf-8").strip() - try: - output_file.unlink(missing_ok=True) - except Exception: - pass - if answer: - return answer - - fallback = self._extract_fallback_message(output_lines) - if not fallback: - raise RuntimeError("Codex returned empty response") - return fallback - - def _stop_active_codex_process(self) -> bool: - with self.active_process_lock: - process = self.active_process - if process is None: - return False - if process.poll() is not None: - return False - process.terminate() - try: - process.wait(timeout=2) - except subprocess.TimeoutExpired: - process.kill() - return True - - def _handle_job_failure(self, job: dict[str, Any], err: Exception) -> None: - job_id = job["id"] - job_num = job.get("num", "?") - error_text = str(err).strip() or err.__class__.__name__ - user_error_text = self._user_error_text(err) - retryable = not isinstance(err, VoiceTranscriptionError) or err.retryable - log_error_text = err.log_text() if isinstance(err, VoiceTranscriptionError) else error_text - print(f"[py-bot] Ошибка job={job_id[:8]}: {log_error_text}", flush=True) - print(traceback.format_exc(), flush=True) - - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if not target: - return - attempts = int(target.get("attempts", 0)) + 1 - target["attempts"] = attempts - target["last_error"] = error_text[:1000] - target["updated_at"] = now_iso() - if retryable and attempts < self.cfg.max_retries: - target["status"] = "pending" - target["retry_reason"] = error_text[:200] - self._persist_queue() - will_retry = True - else: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - will_retry = False - - if will_retry: - self._set_job_status_text( - job, - f"{user_error_text}\nПовторю задачу #{job_num}: попытка {attempts + 1}/{self.cfg.max_retries}.", - ) - else: - self._set_job_status_text(job, f"{user_error_text}\nЗадача #{job_num} остановлена.") - - def _user_error_text(self, err: Exception) -> str: - if isinstance(err, VoiceTranscriptionError): - return f"Не удалось распознать голосовое: {err.user_message}" - error_text = str(err).strip() or err.__class__.__name__ - return f"Ошибка выполнения задачи: {error_text}" - - def _mark_job_done(self, job_id: str) -> None: - with self.queue_lock: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - - def _mark_job_removed(self, job_id: str) -> None: - with self.queue_lock: - self.queue = [j for j in self.queue if j.get("id") != job_id] - self._persist_queue() - - def _send_task_center_reminder(self, job: dict[str, Any]) -> None: - if job.get("chat_type") != "private": - return - username = job.get("username") or "" - reminder = self._task_center_counts_text(username) - if not reminder: - return - self._safe_send(int(job["chat_id"]), reminder, reply_to=int(job["message_id"])) - - def _remember_public_report_chat(self, chat_id: int) -> None: - if self.state.get("public_report_chat_id") == chat_id: - return - self.state["public_report_chat_id"] = chat_id - self.state["updated_at"] = now_iso() - self._persist_state() - - def _public_report_chat_id(self) -> int | str | None: - chat_id = self.state.get("public_report_chat_id") - if isinstance(chat_id, int): - return self._resolve_chat_id(chat_id) - if self.cfg.allowed_channel_username: - return f"@{self.cfg.allowed_channel_username}" - return None - - def _send_private_job_public_report(self, job: dict[str, Any], answer: str) -> None: - if job.get("chat_type") != "private": - return - report_chat_id = self._public_report_chat_id() - if report_chat_id is None: - return - - job_num = job.get("num", "?") - source_text = (job.get("text") or "").strip() - if not source_text: - source_text = "(пустой текст запроса)" - role = (job.get("role") or "owner").strip().lower() - author_label = "Айдар" - if role == "player": - player_name = (job.get("player_name") or "").strip() or job.get("username") or "Игрок" - author_label = f"{player_name} (@{job.get('username')})" - if job.get("type") == "voice": - voice_file_id = (job.get("telegram_file_id") or "").strip() - media_type = (job.get("telegram_media_type") or "voice").strip() - request_caption = self._trim_telegram_caption( - f"{author_label} сделал {media_type}-запрос, задача #{job_num}.\n\n" - f"Распознанный текст:\n{source_text}" - ) - request_message_id = None - if voice_file_id: - request_message_id = self._safe_send_telegram_file( - report_chat_id, - voice_file_id, - media_type=media_type, - caption=request_caption, - ) - if request_message_id is None: - request_message_id = self._safe_send(report_chat_id, request_caption) - else: - request_report = ( - f"{author_label} сделал запрос, задача #{job_num}.\n\n" - f"{source_text}" - ) - request_message_id = self._safe_send(report_chat_id, request_report) - if request_message_id is None: - return - - answer_text = (answer or "").strip() or "(пустой ответ)" - answer_chunks = split_long_text(f"Ответ на задачу #{job_num}:\n\n{answer_text}") - for chunk in answer_chunks: - self._safe_send(report_chat_id, chunk, reply_to=request_message_id) - - @staticmethod - def _trim_telegram_caption(text: str, limit: int = 1000) -> str: - text = (text or "").strip() - if len(text) <= limit: - return text - return text[:limit].rstrip() + "\n...[обрезано]" - - def _safe_send_telegram_file( - self, - chat_id: int | str, - file_id: str, - *, - media_type: str = "voice", - caption: str = "", - reply_to: int | None = None, - ) -> int | None: - file_id = (file_id or "").strip() - if not file_id: - return None - caption = self._trim_telegram_caption(caption) - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - - def send(target_chat_id: int | str, target_reply_to: int | None) -> dict[str, Any]: - if media_type == "audio": - return self.telegram.send_audio(target_chat_id, file_id, caption=caption, reply_to_message_id=target_reply_to) - return self.telegram.send_voice(target_chat_id, file_id, caption=caption, reply_to_message_id=target_reply_to) - - try: - sent = send(resolved_chat_id, resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_file_error") - try: - sent = send(migrate_to_chat_id, None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendFile retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendFile error: {e}", flush=True) - return None - - def _safe_send_voice_upload( - self, - chat_id: int | str, - voice_bytes: bytes, - filename: str, - *, - caption: str = "", - reply_to: int | None = None, - ) -> int | None: - if not voice_bytes: - return None - caption = self._trim_telegram_caption(caption) - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - - def send(target_chat_id: int | str, target_reply_to: int | None) -> dict[str, Any]: - return self.telegram.send_voice_upload( - target_chat_id, - voice_bytes, - filename, - caption=caption, - reply_to_message_id=target_reply_to, - ) - - try: - sent = send(resolved_chat_id, resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_voice_upload_error") - try: - sent = send(migrate_to_chat_id, None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendVoiceUpload retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendVoiceUpload error: {e}", flush=True) - return None - - def _safe_send(self, chat_id: int | str, text: str, reply_to: int | None = None) -> int | None: - text = (text or "").strip() - if not text: - return None - if len(text) > 3900: - text = text[:3900] + "\n...[обрезано]" - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - resolved_reply_to = reply_to if resolved_chat_id == chat_id or isinstance(chat_id, str) else None - try: - sent = self.telegram.send_message(resolved_chat_id, text, reply_to_message_id=resolved_reply_to) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as e: - migrate_to_chat_id = self._extract_migrate_to_chat_id(str(e)) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "send_message_error") - try: - sent = self.telegram.send_message(migrate_to_chat_id, text, reply_to_message_id=None) - result = sent.get("result") or {} - message_id = result.get("message_id") - return message_id if isinstance(message_id, int) else None - except Exception as retry_error: - print(f"[py-bot] sendMessage retry after migration error: {retry_error}", flush=True) - return None - print(f"[py-bot] sendMessage error: {e}", flush=True) - return None - - def _safe_edit(self, chat_id: int | str, message_id: int | None, text: str) -> bool: - text = (text or "").strip() - if not text or not message_id: - return False - if len(text) > 3900: - text = text[:3900] + "\n...[обрезано]" - resolved_chat_id: int | str = self._resolve_chat_id(chat_id) if isinstance(chat_id, int) else chat_id - try: - self.telegram.edit_message_text(resolved_chat_id, message_id, text) - return True - except Exception as e: - error_text = str(e) - if "message is not modified" in error_text: - return True - migrate_to_chat_id = self._extract_migrate_to_chat_id(error_text) - if migrate_to_chat_id is not None: - if isinstance(resolved_chat_id, int): - self._remember_chat_migration(resolved_chat_id, migrate_to_chat_id, "edit_message_error") - try: - self.telegram.edit_message_text(migrate_to_chat_id, message_id, text) - return True - except Exception as retry_error: - print(f"[py-bot] editMessageText retry after migration error: {retry_error}", flush=True) - return False - print(f"[py-bot] editMessageText error: {e}", flush=True) - return False - - def _ensure_job_status_message(self, job_id: str, chat_id: int, reply_to_message_id: int, text: str) -> int | None: - text = (text or "").strip() - if not text: - return None - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - existing_id = target.get("status_message_id") - existing_text = (target.get("status_message_text") or "").strip() - else: - existing_id = None - existing_text = "" - if existing_id and existing_text == text and self._safe_edit(chat_id, int(existing_id), text): - return int(existing_id) - if existing_id and self._safe_edit(chat_id, int(existing_id), text): - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - target["status_message_text"] = text - target["updated_at"] = now_iso() - self._persist_queue() - return int(existing_id) - message_id = self._safe_send(chat_id, text, reply_to=reply_to_message_id) - if message_id is not None: - with self.queue_lock: - target = next((j for j in self.queue if j.get("id") == job_id), None) - if target: - target["status_message_id"] = message_id - target["status_message_text"] = text - target["updated_at"] = now_iso() - self._persist_queue() - return message_id - - def _set_job_status_text(self, job: dict[str, Any], text: str) -> None: - if (job.get("chat_type") or "") != "private": - self._safe_send(int(job["chat_id"]), text, reply_to=int(job["message_id"])) - return - if not self._single_status_message_enabled(job.get("username") or ""): - self._safe_send(int(job["chat_id"]), text, reply_to=int(job["message_id"])) - return - message_id = self._ensure_job_status_message( - job["id"], - int(job["chat_id"]), - int(job["message_id"]), - text, - ) - if message_id is not None: - job["status_message_id"] = message_id - job["status_message_text"] = text - - def _request_deferred_restart(self) -> None: - if self.restart_requested: - return - self.restart_requested = True - self._append_history_event("restart_service_deferred_scheduled", {}) - with self.queue_lock: - has_active = any(j.get("status") == "active" for j in self.queue) - if not has_active: - threading.Thread( - target=lambda: self._exit_for_restart("deferred_restart_no_active_job"), - name="shine-py-bot-deferred-restart", - daemon=True, - ).start() - - def _exit_for_restart(self, reason: str) -> None: - print(f"[py-bot] restart now: {reason}", flush=True) - self._append_history_event("restart_service_executing", {"reason": reason}) - time.sleep(0.5) - os._exit(0) - - def _schedule_self_restart(self, reason: str = "restart_requested", *, force: bool = False) -> None: - if self.restart_requested and not force: - return - self.restart_requested = True - - def restart() -> None: - time.sleep(1.5) - print(f"[py-bot] restart requested by Telegram command: {reason}", flush=True) - if force: - self._stop_active_codex_process() - os._exit(0) - - threading.Thread(target=restart, name="shine-py-bot-self-restart", daemon=True).start() - - def _voice_reply_targets(self, job: dict[str, Any]) -> list[tuple[int | str, int | None, str]]: - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - targets: list[tuple[int | str, int | None, str]] = [(chat_id, message_id, "source")] - username = job.get("username") or "" - - private_chat_id = self._private_chat_id_for_user(username) - if private_chat_id is not None and private_chat_id != self._resolve_chat_id(chat_id): - targets.append((private_chat_id, None, "private")) - - report_chat_id = self._public_report_chat_id() - if report_chat_id is not None: - resolved_report_chat_id = self._resolve_chat_id(report_chat_id) if isinstance(report_chat_id, int) else report_chat_id - resolved_current_chat_id: int | str = self._resolve_chat_id(chat_id) - if resolved_report_chat_id != resolved_current_chat_id: - targets.append((report_chat_id, None, "public")) - - deduped: list[tuple[int | str, int | None, str]] = [] - seen: set[str] = set() - for target_chat_id, target_reply_to, label in targets: - resolved: int | str = self._resolve_chat_id(target_chat_id) if isinstance(target_chat_id, int) else target_chat_id - key = str(resolved) - if key in seen: - continue - seen.add(key) - deduped.append((target_chat_id, target_reply_to, label)) - return deduped - - def _send_voice_reply_for_answer( - self, - job: dict[str, Any], - answer: str, - history_path: Path, - job_id: str, - ) -> None: - chat_id = int(job["chat_id"]) - message_id = int(job["message_id"]) - job_num = job.get("num", "?") - username = job.get("username") or "" - if not self.cfg.openai_api_key: - note = "не настроен ключ OpenAI для озвучивания." - self._append_history(history_path, "voice_reply_failed", {"jobId": job_id, "jobNum": job_num, "error": note}) - self._safe_send(chat_id, f"Озвучивание включено, но {note}", reply_to=message_id) - return - - voice_text = answer - rewrite_enabled = self._voice_rewrite_enabled(username) - if rewrite_enabled: - try: - voice_text = self._openai_rewrite_text_for_voice(answer) - self._append_history(history_path, "voice_rewrite_done", { - "jobId": job_id, - "jobNum": job_num, - "model": self.cfg.openai_voice_rewrite_model, - "sourceChars": len(answer or ""), - "resultChars": len(voice_text or ""), - }) - except VoiceReplyError as e: - self._append_history(history_path, "voice_rewrite_failed", { - "jobId": job_id, - "jobNum": job_num, - "model": self.cfg.openai_voice_rewrite_model, - "error": str(e), - }) - self._safe_send( - chat_id, - f"Не удалось адаптировать ответ #{job_num} для озвучки, озвучиваю обычный текст: {e}", - reply_to=message_id, - ) - voice_text = answer - - chunks = split_text_for_tts(voice_text, self.cfg.openai_tts_chunk_chars) - if not chunks: - return - - sent_count = 0 - total = len(chunks) - targets = self._voice_reply_targets(job) - print(f"[py-bot] tts start job={str(job_id)[:8]} chunks={total} targets={len(targets)} rewrite={rewrite_enabled}", flush=True) - for index, chunk in enumerate(chunks, start=1): - try: - audio = self._openai_tts(chunk) - except VoiceReplyError as e: - self._append_history(history_path, "voice_reply_failed", { - "jobId": job_id, - "jobNum": job_num, - "part": index, - "parts": total, - "error": str(e), - }) - self._safe_send(chat_id, f"Не удалось озвучить ответ #{job_num}: {e}", reply_to=message_id) - return - caption = f"Озвучка ответа #{job_num}" - if total > 1: - caption += f", часть {index}/{total}" - for target_chat_id, target_reply_to, target_label in targets: - message_sent = self._safe_send_voice_upload( - target_chat_id, - audio, - f"shine-answer-{job_num}-{index}.ogg", - caption=caption, - reply_to=target_reply_to, - ) - if message_sent is None: - self._append_history(history_path, "voice_reply_failed", { - "jobId": job_id, - "jobNum": job_num, - "part": index, - "parts": total, - "target": target_label, - "error": "Telegram не принял voice-файл озвучки.", - }) - if target_label == "source": - self._safe_send(chat_id, f"Озвучка ответа #{job_num} создана, но Telegram не принял voice-файл.", reply_to=message_id) - continue - sent_count += 1 - self._append_history(history_path, "voice_reply_sent", { - "jobId": job_id, - "jobNum": job_num, - "parts": total, - "messages": sent_count, - "targets": len(targets), - "rewriteEnabled": rewrite_enabled, - }) - print(f"[py-bot] tts done job={str(job_id)[:8]} sent={sent_count}", flush=True) - - def _openai_rewrite_text_for_voice(self, text: str) -> str: - source = (text or "").strip() - if not source: - return "" - if len(source) > self.cfg.openai_voice_rewrite_max_input_chars: - source = source[:self.cfg.openai_voice_rewrite_max_input_chars].rstrip() + "\n\n...[текстовый ответ был длиннее и обрезан для голосовой версии]" - payload = { - "model": self.cfg.openai_voice_rewrite_model, - "messages": [ - { - "role": "system", - "content": ( - "Ты готовишь русскую версию финального ответа технического агента для озвучивания. " - "Не пересказывай заново и не меняй смысл: сохрани порядок мыслей, итог, предупреждения, статусы и важные действия. " - "Мягко убери только то, что плохо воспринимается на слух: длинные пути, хэши, ID, команды, JSON, " - "длинные списки файлов, точные размеры и счётчики символов. Если деталь важна, замени её коротким описанием. " - "Не добавляй новых фактов. Пиши естественно, без markdown, близко к исходному тексту." - ), - }, - { - "role": "user", - "content": f"Переделай этот финальный текст в вариант для озвучки:\n\n{source}", - }, - ], - "temperature": 0.2, - "max_tokens": self.cfg.openai_voice_rewrite_max_output_tokens, - } - data = json.dumps(payload, ensure_ascii=False).encode("utf-8") - req = request.Request("https://api.openai.com/v1/chat/completions", method="POST", data=data) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", "application/json") - try: - with request.urlopen(req, timeout=self.cfg.openai_voice_rewrite_timeout_seconds) as resp: - raw = resp.read().decode("utf-8", errors="replace") - except TimeoutError as e: - raise VoiceReplyError( - f"OpenAI не успел адаптировать текст за {self.cfg.openai_voice_rewrite_timeout_seconds} секунд." - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 401: - message = "OpenAI отклонил ключ API для адаптации текста." - elif e.code == 429: - message = "OpenAI временно ограничил адаптацию текста из-за лимита запросов." - elif e.code >= 500: - message = "OpenAI временно не смог адаптировать текст." - else: - message = f"OpenAI вернул ошибку HTTP {e.code} при адаптации текста." - if detail: - message = f"{message} Детали: {detail[:500]}" - raise VoiceReplyError(message) from e - except error.URLError as e: - raise VoiceReplyError(f"не удалось отправить текст в OpenAI для адаптации из-за сетевой ошибки: {e.reason}") from e - - try: - body = json.loads(raw) - content = (((body.get("choices") or [{}])[0].get("message") or {}).get("content") or "").strip() - except Exception as e: - raise VoiceReplyError("OpenAI вернул неразборчивый ответ при адаптации текста.") from e - if not content: - raise VoiceReplyError("OpenAI вернул пустой текст адаптации.") - return content - - def _openai_tts(self, text: str) -> bytes: - payload = { - "model": self.cfg.openai_tts_model, - "voice": self.cfg.openai_tts_voice, - "input": text, - "response_format": self.cfg.openai_tts_response_format, - } - data = json.dumps(payload, ensure_ascii=False).encode("utf-8") - req = request.Request("https://api.openai.com/v1/audio/speech", method="POST", data=data) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", "application/json") - try: - with request.urlopen(req, timeout=self.cfg.openai_tts_timeout_seconds) as resp: - audio = resp.read() - except TimeoutError as e: - raise VoiceReplyError(f"OpenAI не успел сгенерировать речь за {self.cfg.openai_tts_timeout_seconds} секунд.") from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 401: - message = "OpenAI отклонил ключ API для озвучивания." - elif e.code == 429: - message = "OpenAI временно ограничил озвучивание из-за лимита запросов." - elif e.code >= 500: - message = "OpenAI временно не смог сгенерировать речь." - else: - message = f"OpenAI вернул ошибку HTTP {e.code} при озвучивании." - if detail: - message = f"{message} Детали: {detail[:500]}" - raise VoiceReplyError(message) from e - except error.URLError as e: - raise VoiceReplyError(f"не удалось отправить текст в OpenAI TTS из-за сетевой ошибки: {e.reason}") from e - if not audio: - raise VoiceReplyError("OpenAI вернул пустой аудиофайл.") - return audio - - def _transcribe_voice_job( - self, - job: dict[str, Any], - *, - status_cb: Callable[[str], Any] | None = None, - ) -> str: - if not self.cfg.openai_api_key: - raise VoiceTranscriptionError( - "не настроен ключ OpenAI для распознавания.", - stage="config", - retryable=False, - ) - file_id = (job.get("telegram_file_id") or "").strip() - if not file_id: - raise VoiceTranscriptionError( - "Telegram не передал идентификатор файла.", - stage="telegram_file_id", - retryable=False, - ) - job_id = str(job.get("id") or "")[:8] - job_num = job.get("num", "?") - media_type = (job.get("telegram_media_type") or "voice").strip() - duration_seconds = int(job.get("telegram_duration_seconds") or 0) - telegram_file_size = int(job.get("telegram_file_size") or 0) - file_looks_big_for_cloud = self._telegram_cloud_download_is_likely_too_big(telegram_file_size) - if file_looks_big_for_cloud and status_cb is not None: - status_cb( - "файл большой, всё равно пробую скачать его из Telegram. " - f"Предварительный размер около {self._bytes_to_mb(telegram_file_size)} MB." - ) - started_at = time.time() - print(f"[py-bot] transcribe start job={job_id} num={job_num} media={media_type}", flush=True) - file_bytes, filename = self._download_telegram_file(file_id) - print( - f"[py-bot] transcribe downloaded job={job_id} filename={filename} size={len(file_bytes)} bytes", - flush=True, - ) - if file_looks_big_for_cloud and status_cb is not None: - status_cb( - "скачивание из Telegram прошло успешно. " - f"Фактический размер около {self._bytes_to_mb(len(file_bytes))} MB, дальше готовлю аудио и отправляю в OpenAI." - ) - prepared_parts = self._prepare_audio_parts_for_transcription( - file_bytes, - filename, - duration_seconds=duration_seconds, - job_id=job_id, - job_num=job_num, - ) - print( - f"[py-bot] transcribe prepared job={job_id} parts={len(prepared_parts)} duration={duration_seconds}s", - flush=True, - ) - parts_text: list[str] = [] - prompt_tail = "" - for index, (part_bytes, part_name) in enumerate(prepared_parts, start=1): - print( - f"[py-bot] transcribe part job={job_id} index={index}/{len(prepared_parts)} filename={part_name} size={len(part_bytes)} bytes", - flush=True, - ) - part_text = self._openai_transcribe(part_bytes, part_name, prompt=prompt_tail).strip() - if part_text: - parts_text.append(part_text) - prompt_tail = self._transcription_prompt_tail("\n".join(parts_text)) - text = "\n".join(parts_text).strip() - if not text: - raise VoiceTranscriptionError( - "сервис распознавания вернул пустой текст. Возможно, в записи нет слышимой речи или качество звука слишком низкое.", - stage="empty_text", - retryable=False, - ) - elapsed = self._format_duration(int(time.time() - started_at)) - print(f"[py-bot] transcribe done job={job_id} chars={len(text)} elapsed={elapsed}", flush=True) - return text - - def _download_telegram_file(self, file_id: str) -> tuple[bytes, str]: - try: - result = self.telegram.call("getFile", {"file_id": file_id}, timeout=120) - except TimeoutError as e: - raise VoiceTranscriptionError( - "Telegram долго не отдавал информацию о файле.", - stage="telegram_get_file_timeout", - detail=str(e), - ) from e - except Exception as e: - detail = str(e) - if "file is too big" in detail.lower(): - raise VoiceTranscriptionError( - "Файл большой: я попробовал скачать его через текущий Telegram Bot API, " - "но Telegram не дал это сделать. Для такого аудио нужен локальный `telegram-bot-api` " - "сервер или другой способ передать файл боту.", - stage="telegram_get_file_too_big", - retryable=False, - detail=detail, - ) from e - raise VoiceTranscriptionError( - "не удалось получить информацию о файле из Telegram.", - stage="telegram_get_file", - detail=detail, - ) from e - info = result.get("result") or {} - file_path = info.get("file_path") - if not file_path: - raise VoiceTranscriptionError( - "Telegram не вернул путь к файлу.", - stage="telegram_file_path", - retryable=True, - detail=json.dumps(info, ensure_ascii=False)[:1000], - ) - file_url = self.telegram.file_base + file_path.lstrip("/") - req = request.Request(file_url, method="GET") - try: - with request.urlopen(req, timeout=self.cfg.telegram_file_download_timeout_seconds) as resp: - data = resp.read() - except TimeoutError as e: - raise VoiceTranscriptionError( - f"Telegram не успел отдать аудиофайл за {self.cfg.telegram_file_download_timeout_seconds} секунд.", - stage="telegram_download_timeout", - detail=str(e), - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - raise VoiceTranscriptionError( - f"Telegram вернул ошибку HTTP {e.code} при скачивании аудио.", - stage="telegram_download_http", - retryable=e.code >= 500 or e.code == 429, - detail=detail[:1000], - ) from e - except error.URLError as e: - raise VoiceTranscriptionError( - "не удалось скачать аудиофайл из Telegram из-за сетевой ошибки.", - stage="telegram_download_network", - detail=str(e.reason), - ) from e - if not data: - raise VoiceTranscriptionError( - "Telegram отдал пустой аудиофайл.", - stage="telegram_download_empty", - retryable=True, - ) - original_name = Path(file_path).name or "audio.ogg" - lower = original_name.lower() - # OpenAI transcription может не принимать расширение .oga, нормализуем в .ogg. - if lower.endswith(".oga"): - base = original_name[:-4] if len(original_name) > 4 else "audio" - normalized = f"{base}.ogg" - else: - normalized = original_name - return data, normalized - - def _prepare_audio_parts_for_transcription( - self, - file_bytes: bytes, - filename: str, - *, - duration_seconds: int, - job_id: str, - job_num: Any, - ) -> list[tuple[bytes, str]]: - needs_duration_chunking = duration_seconds > self.cfg.openai_transcribe_max_chunk_seconds - if len(file_bytes) <= self.cfg.openai_transcribe_max_upload_bytes and not needs_duration_chunking: - return [(file_bytes, filename)] - ffmpeg_path = shutil.which(self.cfg.ffmpeg_bin) - ffprobe_path = shutil.which(self.cfg.ffprobe_bin) - if not ffmpeg_path or not ffprobe_path: - raise VoiceTranscriptionError( - "для длинного аудио нужен локальный `ffmpeg`/`ffprobe`, но они не найдены в системе.", - stage="audio_prepare_tools_missing", - retryable=False, - ) - with tempfile.TemporaryDirectory(prefix="shine-audio-") as tmpdir: - tmp = Path(tmpdir) - input_suffix = Path(filename).suffix or ".ogg" - input_path = tmp / f"source{input_suffix}" - input_path.write_bytes(file_bytes) - prepared_path = tmp / "prepared.ogg" - self._ffmpeg_reencode_audio(input_path, prepared_path) - prepared_bytes = prepared_path.read_bytes() - prepared_duration = self._ffprobe_duration_seconds(prepared_path) - if ( - len(prepared_bytes) <= self.cfg.openai_transcribe_max_upload_bytes - and prepared_duration <= self.cfg.openai_transcribe_max_chunk_seconds - ): - return [(prepared_bytes, prepared_path.name)] - chunk_length = self._choose_transcription_chunk_seconds(prepared_duration, len(prepared_bytes)) - print( - f"[py-bot] audio chunking job={job_id} num={job_num} duration={prepared_duration:.1f}s total_bytes={len(prepared_bytes)} chunk_seconds={chunk_length}", - flush=True, - ) - chunks: list[tuple[bytes, str]] = [] - offset = 0 - index = 1 - total_duration = max(1, int(prepared_duration + 0.999)) - while offset < total_duration: - chunk_path = tmp / f"chunk_{index:03d}.ogg" - self._ffmpeg_extract_audio_chunk(prepared_path, chunk_path, offset, chunk_length) - chunk_bytes = chunk_path.read_bytes() - if not chunk_bytes: - break - if len(chunk_bytes) > self.cfg.openai_transcribe_max_upload_bytes: - raise VoiceTranscriptionError( - "локальная нарезка аудио дала слишком большой кусок для OpenAI; нужно уменьшить размер чанка.", - stage="audio_chunk_too_large", - retryable=False, - ) - chunks.append((chunk_bytes, chunk_path.name)) - step = max(1, chunk_length - self.cfg.openai_transcribe_overlap_seconds) - offset += step - index += 1 - if not chunks: - raise VoiceTranscriptionError( - "не удалось подготовить куски аудио для распознавания.", - stage="audio_chunk_empty", - retryable=False, - ) - return chunks - - def _ffmpeg_reencode_audio(self, input_path: Path, output_path: Path) -> None: - cmd = [ - self.cfg.ffmpeg_bin, - "-y", - "-i", - str(input_path), - "-vn", - "-ac", - "1", - "-ar", - "16000", - "-c:a", - "libopus", - "-b:a", - f"{self.cfg.openai_transcribe_reencode_bitrate_kbps}k", - str(output_path), - ] - self._run_subprocess_checked(cmd, "audio_reencode_ffmpeg") - - def _ffmpeg_extract_audio_chunk(self, input_path: Path, output_path: Path, offset_seconds: int, chunk_seconds: int) -> None: - cmd = [ - self.cfg.ffmpeg_bin, - "-y", - "-ss", - str(offset_seconds), - "-t", - str(chunk_seconds), - "-i", - str(input_path), - "-vn", - "-acodec", - "copy", - str(output_path), - ] - self._run_subprocess_checked(cmd, "audio_chunk_ffmpeg") - - def _ffprobe_duration_seconds(self, audio_path: Path) -> float: - cmd = [ - self.cfg.ffprobe_bin, - "-v", - "error", - "-show_entries", - "format=duration", - "-of", - "default=noprint_wrappers=1:nokey=1", - str(audio_path), - ] - try: - result = subprocess.run( - cmd, - check=True, - capture_output=True, - text=True, - timeout=self.cfg.openai_transcribe_ffmpeg_timeout_seconds, - ) - except subprocess.TimeoutExpired as e: - raise VoiceTranscriptionError( - f"`ffprobe` не успел определить длительность аудио за {self.cfg.openai_transcribe_ffmpeg_timeout_seconds} секунд.", - stage="audio_probe_timeout", - retryable=False, - ) from e - except subprocess.CalledProcessError as e: - detail = (e.stderr or e.stdout or "").strip() - raise VoiceTranscriptionError( - "не удалось определить длительность аудио через `ffprobe`.", - stage="audio_probe_failed", - retryable=False, - detail=detail[:1500], - ) from e - raw = (result.stdout or "").strip() - try: - return max(0.0, float(raw)) - except ValueError as e: - raise VoiceTranscriptionError( - "`ffprobe` вернул некорректную длительность аудио.", - stage="audio_probe_invalid", - retryable=False, - detail=raw[:300], - ) from e - - def _run_subprocess_checked(self, cmd: list[str], stage: str) -> None: - try: - subprocess.run( - cmd, - check=True, - capture_output=True, - text=True, - timeout=self.cfg.openai_transcribe_ffmpeg_timeout_seconds, - ) - except subprocess.TimeoutExpired as e: - raise VoiceTranscriptionError( - f"локальная обработка аудио не успела завершиться за {self.cfg.openai_transcribe_ffmpeg_timeout_seconds} секунд.", - stage=f"{stage}_timeout", - retryable=False, - ) from e - except subprocess.CalledProcessError as e: - detail = (e.stderr or e.stdout or "").strip() - raise VoiceTranscriptionError( - "локальная обработка аудио через `ffmpeg` завершилась с ошибкой.", - stage=f"{stage}_failed", - retryable=False, - detail=detail[:1500], - ) from e - - def _choose_transcription_chunk_seconds(self, duration_seconds: float, total_bytes: int) -> int: - max_chunk = self.cfg.openai_transcribe_max_chunk_seconds - safe_seconds = max(60, max_chunk - self.cfg.openai_transcribe_overlap_seconds) - if duration_seconds <= 0 or total_bytes <= 0: - return safe_seconds - bytes_per_second = total_bytes / max(duration_seconds, 1.0) - if bytes_per_second <= 0: - return safe_seconds - size_limited = int((self.cfg.openai_transcribe_max_upload_bytes * 0.9) / bytes_per_second) - return max(60, min(safe_seconds, size_limited if size_limited > 0 else safe_seconds)) - - @staticmethod - def _transcription_prompt_tail(text: str, limit: int = 1000) -> str: - source = compact_spaces(text) - if len(source) <= limit: - return source - return source[-limit:] - - def _telegram_cloud_download_is_likely_too_big(self, file_size: int) -> bool: - if file_size <= 0: - return False - using_cloud_api = self.cfg.telegram_api_base_url.rstrip("/") == "https://api.telegram.org" - return using_cloud_api and file_size > 20 * 1024 * 1024 - - @staticmethod - def _bytes_to_mb(value: int) -> str: - return f"{value / (1024 * 1024):.1f}" - - def _openai_transcribe(self, file_bytes: bytes, filename: str, prompt: str = "") -> str: - boundary = "----shine-boundary-" + "".join(random.choices("abcdef0123456789", k=16)) - mime = mimetypes.guess_type(filename)[0] or "application/octet-stream" - - def text_part(name: str, value: str) -> bytes: - return ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="{name}"\r\n\r\n' - f"{value}\r\n" - ).encode("utf-8") - - body = bytearray() - body.extend(text_part("model", self.cfg.openai_transcribe_model)) - body.extend(text_part("response_format", "text")) - prompt = compact_spaces(prompt) - if prompt: - body.extend(text_part("prompt", prompt[:1000])) - body.extend( - ( - f"--{boundary}\r\n" - f'Content-Disposition: form-data; name="file"; filename="{filename}"\r\n' - f"Content-Type: {mime}\r\n\r\n" - ).encode("utf-8") - ) - body.extend(file_bytes) - body.extend(b"\r\n") - body.extend(f"--{boundary}--\r\n".encode("utf-8")) - - req = request.Request("https://api.openai.com/v1/audio/transcriptions", method="POST", data=bytes(body)) - req.add_header("Authorization", f"Bearer {self.cfg.openai_api_key}") - req.add_header("Content-Type", f"multipart/form-data; boundary={boundary}") - try: - with request.urlopen(req, timeout=self.cfg.openai_transcribe_timeout_seconds) as resp: - return resp.read().decode("utf-8", errors="replace") - except TimeoutError as e: - raise VoiceTranscriptionError( - f"OpenAI не успел распознать аудио за {self.cfg.openai_transcribe_timeout_seconds} секунд.", - stage="openai_transcribe_timeout", - detail=str(e), - ) from e - except error.HTTPError as e: - detail = e.read().decode("utf-8", errors="replace") - if e.code == 400: - user_message = "OpenAI не принял аудиофайл для распознавания." - elif e.code == 401: - user_message = "OpenAI отклонил ключ API для распознавания." - elif e.code == 413: - user_message = "аудиофайл слишком большой для распознавания OpenAI." - elif e.code == 429: - user_message = "OpenAI временно ограничил распознавание из-за лимита запросов." - elif e.code >= 500: - user_message = "OpenAI временно не смог обработать распознавание." - else: - user_message = f"OpenAI вернул ошибку HTTP {e.code} при распознавании." - raise VoiceTranscriptionError( - user_message, - stage="openai_transcribe_http", - retryable=e.code == 429 or e.code >= 500, - detail=detail[:1500], - ) from e - except error.URLError as e: - raise VoiceTranscriptionError( - "не удалось отправить аудио в OpenAI из-за сетевой ошибки.", - stage="openai_transcribe_network", - detail=str(e.reason), - ) from e - - @staticmethod - def _extract_codex_user_note(line: str) -> str | None: - s = (line or "").strip() - if not s.startswith("{"): - return None - try: - obj = json.loads(s) - except Exception: - return None - if obj.get("type") != "item.completed": - return None - item = obj.get("item") or {} - if item.get("type") != "agent_message": - return None - text = (item.get("text") or "").strip() - if not text: - return None - if len(text) > 220: - return text[:220] + "..." - return text - - @staticmethod - def _extract_fallback_message(lines: list[str]) -> str: - for line in reversed(lines): - line = line.strip() - if not line: - continue - if line.startswith("{") and '"type":' in line: - continue - if line.startswith("mcp:") or line.startswith("OpenAI Codex"): - continue - return line - return "" - - @staticmethod - def _extract_codex_thread_id(line: str) -> str: - s = (line or "").strip() - if not s.startswith("{"): - return "" - try: - obj = json.loads(s) - except Exception: - return "" - if obj.get("type") != "thread.started": - return "" - thread_id = (obj.get("thread_id") or "").strip() - return thread_id - - @staticmethod - def _is_missing_codex_session_error(text: str) -> bool: - lowered = (text or "").lower() - markers = [ - "session not found", - "conversation not found", - "thread not found", - "no session found", - "invalid session", - "unknown session", - "no conversation found", - "unknown thread", - ] - return any(marker in lowered for marker in markers) - - @staticmethod - def _format_duration(seconds: int) -> str: - seconds = max(0, seconds) - minutes, sec = divmod(seconds, 60) - hours, minutes = divmod(minutes, 60) - if hours: - return f"{hours}ч {minutes}м {sec}с" - if minutes: - return f"{minutes}м {sec}с" - return f"{sec}с" - - -def run_selftest(config: BotConfig, prompt: str) -> int: - cmd = [ - str(config.codex_bin), - "exec", - "--dangerously-bypass-approvals-and-sandbox", - "--json", - "-C", str(config.codex_workdir), - prompt, - ] - proc = subprocess.run( - cmd, - stdin=subprocess.DEVNULL, - capture_output=True, - text=True, - encoding="utf-8", - errors="replace", - ) - print(proc.stdout) - if proc.stderr: - print(proc.stderr) - return proc.returncode - - -def main() -> int: - parser = argparse.ArgumentParser(description="SHiNE Python Telegram bot wrapper for Codex CLI") - parser.add_argument("--selftest-codex", default="", help="Выполнить только codex exec с этим prompt и выйти") - args = parser.parse_args() - - root = Path(__file__).resolve().parent - cfg = BotConfig(root) - if args.selftest_codex: - return run_selftest(cfg, args.selftest_codex) - - service = ShinePyBotService(cfg) - try: - service.run() - except KeyboardInterrupt: - service.shutdown() - return 0 - except Exception as e: - print(f"[py-bot] FATAL: {e}", flush=True) - return 1 - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/codex-agent-VPS/Agent-server-package/scripts/systemd/shine-agent-bot-coder.service b/codex-agent-VPS/Agent-server-package/scripts/systemd/shine-agent-bot-coder.service deleted file mode 100644 index f166ef87..00000000 --- a/codex-agent-VPS/Agent-server-package/scripts/systemd/shine-agent-bot-coder.service +++ /dev/null @@ -1,23 +0,0 @@ -[Unit] -Description=SHiNE Agent Bot Coder (Telegram + Codex queue worker) -After=network-online.target -Wants=network-online.target - -[Service] -Type=simple -User=your_user -Group=your_user -WorkingDirectory=/home/your_user/codex-agent -Environment=HOME=/home/your_user -Environment=PATH=/home/your_user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -EnvironmentFile=/home/your_user/codex-agent/.env -ExecStart=/usr/bin/python3 /home/your_user/codex-agent/py_bot_service.py -Restart=always -RestartSec=5 -TimeoutStopSec=20 -SuccessExitStatus=143 0 -StandardOutput=append:/home/your_user/codex-agent/logs/service.log -StandardError=append:/home/your_user/codex-agent/logs/service.log - -[Install] -WantedBy=multi-user.target diff --git a/codex-agent-VPS/README.md b/codex-agent-VPS/README.md deleted file mode 100644 index 9ce3b9a2..00000000 --- a/codex-agent-VPS/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# codex-agent-VPS - -Переносимый комплект Telegram-бота для запуска `codex` CLI на VPS. - -## Структура -- `README.md` — краткое описание структуры. -- `AGENTS.md` — инструкции по установке и настройке через Codex. -- `.env.example` — верхнеуровневый пример конфига. -- `Agent-server-package/` — готовый комплект файлов для копирования на другой сервер. - -## Что копировать на сервер -На VPS обычно копируется содержимое папки: - -- `Agent-server-package/` - -Внутри неё лежат: -- `py_bot_service.py` -- `AGENT.md` -- `scripts/systemd/shine-agent-bot-coder.service` - -## Что настраивать -- взять `.env.example` из корня `codex-agent-VPS/` -- создать на сервере `.env` -- вписать Telegram bot token -- вписать разрешённые usernames -- указать путь к `codex` -- указать рабочую директорию `CODEX_WORKDIR` - -## Где инструкция -Полная инструкция по установке и настройке лежит в: - -- `AGENTS.md` diff --git a/deploy/AGENT_BOT_CODER_LOCAL_SYSTEMD.md b/deploy/AGENT_BOT_CODER_LOCAL_SYSTEMD.md index d458841c..8a4c0fc1 100644 --- a/deploy/AGENT_BOT_CODER_LOCAL_SYSTEMD.md +++ b/deploy/AGENT_BOT_CODER_LOCAL_SYSTEMD.md @@ -2,9 +2,9 @@ ## Где находится сервис -- Папка сервиса: `SHiNE-agent-bot-coder/` -- Systemd unit: `SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service` -- Скрипт установки: `SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh` +- Папка сервиса находится рядом с репозиторием продукта: `../SHiNE-agent-bot-coder/` +- Systemd unit: `../SHiNE-agent-bot-coder/scripts/systemd/shine-agent-bot-coder.service` +- Скрипт установки: `../SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh` ## Предусловия @@ -18,7 +18,13 @@ Из корня репозитория: ```bash -bash SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh +bash ../SHiNE-agent-bot-coder/scripts/systemd/install-local-systemd.sh +``` + +В `.env` агента `CODEX_WORKDIR` должен указывать на этот репозиторий продукта: + +```env +CODEX_WORKDIR=/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-product ``` Скрипт: From d230b61c0bfde7e8913b1a008fdac71d3062deecc0670b6c7fa1369883910f1a Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 20:00:29 +0400 Subject: [PATCH 03/83] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20backup=20production=20=D1=83=D1=81=D1=82=D0=BE=D0=B9?= =?UTF-8?q?=D1=87=D0=B8=D0=B2=D1=8B=D0=BC=20=D0=BA=20=D0=BE=D1=82=D1=81?= =?UTF-8?q?=D1=83=D1=82=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B8=D0=BC=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- .../scheme/shineup.me/scripts/backup_full.sh | 48 +++++++++++++++---- 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index c5543449..e9ff063c 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.333 -server.version=1.2.305 +client.version=1.2.334 +server.version=1.2.306 diff --git a/deploy/backup/scheme/shineup.me/scripts/backup_full.sh b/deploy/backup/scheme/shineup.me/scripts/backup_full.sh index ee236052..4e2913e6 100755 --- a/deploy/backup/scheme/shineup.me/scripts/backup_full.sh +++ b/deploy/backup/scheme/shineup.me/scripts/backup_full.sh @@ -10,6 +10,32 @@ RSYNC_REMOTE_SUDO=(--rsync-path="sudo -n rsync") mkdir -p "${DEST_DIR}" +remote_exists() { + ssh "${REMOTE_HOST}" "test -e '$1'" +} + +copy_optional_dir() { + local remote_path="$1" + local local_path="$2" + if remote_exists "$remote_path"; then + rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:${remote_path}/" "${local_path}/" + else + mkdir -p "${local_path}" + echo "missing: ${remote_path}" > "${local_path}/MISSING.txt" + fi +} + +copy_optional_file() { + local remote_path="$1" + local local_path="$2" + if remote_exists "$remote_path"; then + rsync -aH "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:${remote_path}" "${local_path}" + else + mkdir -p "$(dirname "${local_path}")" + echo "missing: ${remote_path}" > "${local_path}.MISSING.txt" + fi +} + echo "[1/4] Создаю структуру бэкапа: ${DEST_DIR}" mkdir -p "${DEST_DIR}/home-player" "${DEST_DIR}/etc-system" "${DEST_DIR}/var-lib/docker-images" @@ -21,17 +47,21 @@ rsync -aH --delete \ --exclude='**/*.log' \ "${REMOTE_HOST}:/home/player/SHiNE/" "${DEST_DIR}/home-player/SHiNE/" -rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/home/player/sites/" "${DEST_DIR}/home-player/sites/" -rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/home/player/gitea/" "${DEST_DIR}/home-player/gitea/" -rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/home/player/agent-memory/" "${DEST_DIR}/home-player/agent-memory/" +copy_optional_dir "/home/player/sites" "${DEST_DIR}/home-player/sites" +copy_optional_dir "/home/player/gitea" "${DEST_DIR}/home-player/gitea" +copy_optional_dir "/home/player/agent-memory" "${DEST_DIR}/home-player/agent-memory" echo "[3/4] Копирую системные конфиги" -rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/etc/caddy/" "${DEST_DIR}/etc-system/caddy/" -rsync -aH --delete "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/var/lib/caddy/" "${DEST_DIR}/var-lib/caddy/" -rsync -aH "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/etc/turnserver.conf" "${DEST_DIR}/etc-system/turnserver.conf" -rsync -aH "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/etc/systemd/system/shine-server.service" "${DEST_DIR}/etc-system/" -rsync -aH "${RSYNC_REMOTE_SUDO[@]}" "${REMOTE_HOST}:/etc/systemd/system/agent-memory.service" "${DEST_DIR}/etc-system/" -ssh "${REMOTE_HOST}" 'sudo -n docker image save gitea/gitea:1.22.6' > "${DEST_DIR}/var-lib/docker-images/gitea_gitea_1.22.6.tar" +copy_optional_dir "/etc/caddy" "${DEST_DIR}/etc-system/caddy" +copy_optional_dir "/var/lib/caddy" "${DEST_DIR}/var-lib/caddy" +copy_optional_file "/etc/turnserver.conf" "${DEST_DIR}/etc-system/turnserver.conf" +copy_optional_file "/etc/systemd/system/shine-server.service" "${DEST_DIR}/etc-system/shine-server.service" +copy_optional_file "/etc/systemd/system/agent-memory.service" "${DEST_DIR}/etc-system/agent-memory.service" +if ssh "${REMOTE_HOST}" 'command -v docker >/dev/null 2>&1 && sudo -n docker image inspect gitea/gitea:1.22.6 >/dev/null 2>&1'; then + ssh "${REMOTE_HOST}" 'sudo -n docker image save gitea/gitea:1.22.6' > "${DEST_DIR}/var-lib/docker-images/gitea_gitea_1.22.6.tar" +else + echo "missing: docker image gitea/gitea:1.22.6" > "${DEST_DIR}/var-lib/docker-images/gitea_gitea_1.22.6.tar.MISSING.txt" +fi echo "[4/4] Создаю манифест" { From 968d85d73858a9e63b45e920ec08818716684c45d451a41bf7c2aa7bad0a99b5 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 21:04:11 +0400 Subject: [PATCH 04/83] =?UTF-8?q?=D0=9F=D0=BE=D0=BA=D0=B0=D0=B7=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D1=8C=20=D0=B1=D0=B8=D0=BB=D0=B5=D1=82=D0=BE=D0=B2=20mainnet?= =?UTF-8?q?=20=D0=BD=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=BC=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- .../js/pages/public-support-queue-view.js | 36 ++++++++++++++++-- shine-UI/js/pages/wallet-view.js | 38 +++++++++++++++++-- 3 files changed, 69 insertions(+), 9 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index e9ff063c..fb7cd911 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.334 -server.version=1.2.306 +client.version=1.2.335 +server.version=1.2.307 diff --git a/shine-UI/js/pages/public-support-queue-view.js b/shine-UI/js/pages/public-support-queue-view.js index f775a5a5..b61d2048 100644 --- a/shine-UI/js/pages/public-support-queue-view.js +++ b/shine-UI/js/pages/public-support-queue-view.js @@ -1,4 +1,5 @@ import { renderHeader } from '../components/header.js'; +import { defaultSolanaCluster } from '../deploy-config.js'; import { state } from '../state.js'; import { loadSolanaWeb3 } from '../vendor/solana-web3-loader.js'; @@ -6,6 +7,7 @@ export const pageMeta = { id: 'queue', title: 'Очередь билета' }; const SHINE_PAYMENTS_PROGRAM_ID = 'SHiPmXbM9Fs9khzRUW3TGKsS2W84aqaXTxs3ZkajW9v'; const SHINE_PAYMENTS_ORACLE_ACCOUNT = '7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE'; +const SHINE_MAINNET_SOLANA_ENDPOINT = 'https://solana-rpc.publicnode.com'; const SHINE_PAYMENTS_SEEDS = { config: 'shine_payments_config', coef: 'shine_payments_coef_limit', @@ -15,6 +17,14 @@ const SHINE_PAYMENTS_SEEDS = { q3: 'shine_payments_q3_ticket', }; +function isTestDeployUi() { + return String(defaultSolanaCluster || '').trim().toLowerCase() !== 'mainnet-beta'; +} + +function resolveQueueEndpoint(useMainnetQueue) { + return useMainnetQueue ? SHINE_MAINNET_SOLANA_ENDPOINT : state.entrySettings.solanaServer; +} + function utf8Bytes(text) { return new TextEncoder().encode(String(text || '')); } @@ -286,7 +296,18 @@ export function render({ navigate }) { result.className = 'card stack'; result.innerHTML = `<p class="meta-muted" style="margin:0;">Введите номер билета и нажмите кнопку.</p>`; + const testDeploy = isTestDeployUi(); + const mainnetRow = document.createElement('label'); + mainnetRow.className = 'checkbox-row'; + mainnetRow.innerHTML = ` + <input type="checkbox" id="public-queue-mainnet-source" ${testDeploy ? 'checked' : ''} /> + <span>Показывать данные mainnet (${SHINE_MAINNET_SOLANA_ENDPOINT})</span> + `; + mainnetRow.style.display = testDeploy ? '' : 'none'; + const mainnetCheckbox = mainnetRow.querySelector('#public-queue-mainnet-source'); + let lastCoreState = null; + let lastEndpoint = ''; async function renderTicketInfo() { const raw = String(queryInput.value || '').trim(); @@ -297,8 +318,12 @@ export function render({ navigate }) { } try { const parsed = parseSupportTicketInput(raw); - const core = lastCoreState || await loadSupportPaymentsCore(state.entrySettings.solanaServer); + const endpoint = resolveQueueEndpoint(Boolean(testDeploy && mainnetCheckbox?.checked)); + const core = lastCoreState && lastEndpoint === endpoint + ? lastCoreState + : await loadSupportPaymentsCore(endpoint); lastCoreState = core; + lastEndpoint = endpoint; const solana = await loadSolanaWeb3(); const ticketPdaSeed = queueSeedFor(parsed.queueId); const ticketIndexBytes = u64ToBytes(parsed.index); @@ -330,7 +355,7 @@ export function render({ navigate }) { <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> `; - status.textContent = `Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден.`; + status.textContent = `Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден. Источник Solana: ${endpoint}`; } catch (error) { result.innerHTML = `<p class="meta-muted" style="margin:0;">${String(error?.message || 'Не удалось загрузить билет')}</p>`; status.textContent = `Не удалось посмотреть билет: ${error?.message || 'unknown'}`; @@ -340,6 +365,11 @@ export function render({ navigate }) { actions.querySelector('#public-queue-load')?.addEventListener('click', () => { void renderTicketInfo(); }); + mainnetCheckbox?.addEventListener('change', () => { + lastCoreState = null; + lastEndpoint = ''; + status.textContent = `Источник Solana: ${resolveQueueEndpoint(Boolean(testDeploy && mainnetCheckbox.checked))}`; + }); actions.querySelector('#public-queue-reset')?.addEventListener('click', () => { queryInput.value = ''; result.innerHTML = `<p class="meta-muted" style="margin:0;">Введите номер билета и нажмите кнопку.</p>`; @@ -352,7 +382,7 @@ export function render({ navigate }) { } }); - content.append(card, inputLabel, queryInput, actions, result, status); + content.append(card, mainnetRow, inputLabel, queryInput, actions, result, status); screen.append( renderHeader({ title: 'Очередь билета', diff --git a/shine-UI/js/pages/wallet-view.js b/shine-UI/js/pages/wallet-view.js index 01da7f7d..211c2549 100644 --- a/shine-UI/js/pages/wallet-view.js +++ b/shine-UI/js/pages/wallet-view.js @@ -1,4 +1,5 @@ import { renderHeader } from '../components/header.js'; +import { defaultSolanaCluster } from '../deploy-config.js'; import { authService, state } from '../state.js'; import { formatSol, @@ -65,6 +66,7 @@ function sessionArgsOrThrow() { const SHINE_PAYMENTS_PROGRAM_ID = 'SHiPmXbM9Fs9khzRUW3TGKsS2W84aqaXTxs3ZkajW9v'; const SHINE_PAYMENTS_ORACLE_ACCOUNT = '7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE'; +const SHINE_MAINNET_SOLANA_ENDPOINT = 'https://solana-rpc.publicnode.com'; const SHINE_PAYMENTS_SEEDS = { config: 'shine_payments_config', coef: 'shine_payments_coef_limit', @@ -84,6 +86,14 @@ const SUPPORT_TICKET_HELP_TEXT = [ 'Номер билета нужно сохранить отдельно: именно по нему удобно отслеживать, когда он дойдет до выплаты.', ].join('\n'); +function isTestDeployUi() { + return String(defaultSolanaCluster || '').trim().toLowerCase() !== 'mainnet-beta'; +} + +function resolveSupportQueueEndpoint(useMainnetQueue) { + return useMainnetQueue ? SHINE_MAINNET_SOLANA_ENDPOINT : state.entrySettings.solanaServer; +} + function utf8Bytes(text) { return new TextEncoder().encode(String(text || '')); } @@ -697,6 +707,16 @@ export function render({ navigate }) { queryInput.spellcheck = false; styleSupportInputField(queryInput); + const testDeploy = isTestDeployUi(); + const mainnetRow = document.createElement('label'); + mainnetRow.className = 'checkbox-row'; + mainnetRow.innerHTML = ` + <input type="checkbox" id="support-ticket-mainnet-source" ${testDeploy ? 'checked' : ''} /> + <span>Показывать данные mainnet (${SHINE_MAINNET_SOLANA_ENDPOINT})</span> + `; + mainnetRow.style.display = testDeploy ? '' : 'none'; + const mainnetCheckbox = mainnetRow.querySelector('#support-ticket-mainnet-source'); + const actions = document.createElement('div'); actions.className = 'row'; actions.innerHTML = ` @@ -711,6 +731,7 @@ export function render({ navigate }) { `; let lastCoreState = null; + let lastEndpoint = ''; const renderTicketInfo = async () => { const raw = String(queryInput.value || '').trim(); @@ -720,8 +741,12 @@ export function render({ navigate }) { } try { const parsed = parseSupportTicketInput(raw); - const core = lastCoreState || await loadSupportPaymentsCore(state.entrySettings.solanaServer); + const endpoint = resolveSupportQueueEndpoint(Boolean(testDeploy && mainnetCheckbox?.checked)); + const core = lastCoreState && lastEndpoint === endpoint + ? lastCoreState + : await loadSupportPaymentsCore(endpoint); lastCoreState = core; + lastEndpoint = endpoint; const solana = await loadSolanaWeb3(); const ticketPdaSeed = queueSeedFor(parsed.queueId); const ticketIndexBytes = u64ToBytes(parsed.index); @@ -752,7 +777,7 @@ export function render({ navigate }) { <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> `; - setStatus(`Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден.`); + setStatus(`Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден. Источник Solana: ${endpoint}`); } catch (error) { result.innerHTML = `<p class="meta-muted" style="margin:0;">${String(error?.message || 'Не удалось загрузить билет')}</p>`; setStatus(`Не удалось посмотреть билет: ${error?.message || 'unknown'}`); @@ -767,9 +792,14 @@ export function render({ navigate }) { result.innerHTML = `<p class="meta-muted" style="margin:0;">Введите номер билета и нажмите кнопку.</p>`; setStatus('Поле билета очищено.'); }); + mainnetCheckbox?.addEventListener('change', () => { + lastCoreState = null; + lastEndpoint = ''; + setStatus(`Источник Solana: ${resolveSupportQueueEndpoint(Boolean(testDeploy && mainnetCheckbox.checked))}`); + }); - content.append(backBtn, card, inputLabel, queryInput, actions, result); - setStatus('Просмотр билета готов. Введите номер в нужном формате.'); + content.append(backBtn, card, mainnetRow, inputLabel, queryInput, actions, result); + setStatus(`Просмотр билета готов. Источник Solana: ${resolveSupportQueueEndpoint(Boolean(testDeploy && mainnetCheckbox?.checked))}`); } async function renderSupportBuyIntro() { From f9c2d7c63a890320f15a1c473f63a4185b6a68feb29aa2a8fec202fd8ce07052 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 21:19:55 +0400 Subject: [PATCH 05/83] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=D1=82=D0=B8=D0=BF=20=D1=81=D1=82=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 ++-- shine-UI/img/shine-logo-transparent-512.png | Bin 0 -> 163460 bytes shine-UI/js/pages/start-view.js | 13 ++++++++++++- shine-UI/styles/components.css | 10 ++++++++-- 4 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 shine-UI/img/shine-logo-transparent-512.png diff --git a/VERSION.properties b/VERSION.properties index fb7cd911..0b0c8438 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.335 -server.version=1.2.307 +client.version=1.2.336 +server.version=1.2.308 diff --git a/shine-UI/img/shine-logo-transparent-512.png b/shine-UI/img/shine-logo-transparent-512.png new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..61cfb52b552128dce8ad3a3c2c9d68f504dca8c928b9f2849d155a8a23192493 GIT binary patch literal 163460 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 ZTC#z?o%|Mo_@BQo|54>bjkHPd{{fA1iunKl literal 0 HcmV?d00001 diff --git a/shine-UI/js/pages/start-view.js b/shine-UI/js/pages/start-view.js index d3ac224e..2d7c9f45 100644 --- a/shine-UI/js/pages/start-view.js +++ b/shine-UI/js/pages/start-view.js @@ -13,8 +13,19 @@ export function render({ navigate }) { const logo = document.createElement('img'); logo.className = 'auth-logo'; - logo.src = './img/shine-logo-transparent-final.png'; + logo.src = './img/shine-logo-transparent-512.png'; logo.alt = 'Логотип Сияние'; + logo.width = 512; + logo.height = 512; + logo.decoding = 'async'; + logo.fetchPriority = 'high'; + if (logo.complete) { + logoWrap.classList.add('auth-logo-wrap--loaded'); + } else { + logo.addEventListener('load', () => { + logoWrap.classList.add('auth-logo-wrap--loaded'); + }, { once: true }); + } logoWrap.append(logo); const title = document.createElement('h1'); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index d209f6e6..7e2711aa 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -493,7 +493,13 @@ border-radius: 50%; background: rgba(214, 155, 56, 0.2); filter: blur(30px); + opacity: 0; animation: shine-halo-breathe 4.8s ease-in-out infinite; + transition: opacity 420ms ease; +} + +.auth-logo-wrap--loaded::before { + opacity: 0.66; } .auth-brand { @@ -686,8 +692,8 @@ } @keyframes shine-halo-breathe { - 0%, 100% { opacity: 0.66; transform: scale(0.96); } - 50% { opacity: 1; transform: scale(1.05); } + 0%, 100% { transform: scale(0.96); } + 50% { transform: scale(1.05); } } @media (min-width: 768px) { From 4e674af4ed0590af2f8aafb12d2af90a6fced41d65194a426bb61cbcf7479451 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 21:23:15 +0400 Subject: [PATCH 06/83] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B0=D1=80=D1=82=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D1=8B=20=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=D1=82=D0=B8=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 ++-- shine-UI/styles/components.css | 24 ++++-------------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 0b0c8438..c2e3dba2 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.336 -server.version=1.2.308 +client.version=1.2.337 +server.version=1.2.309 diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 7e2711aa..eca46d2d 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -473,10 +473,7 @@ width: 100%; height: 100%; object-fit: contain; - filter: - drop-shadow(0 0 8px rgba(255, 211, 121, 0.72)) - drop-shadow(0 8px 22px rgba(225, 158, 48, 0.38)); - animation: shine-logo-breathe 4.8s ease-in-out infinite; + filter: none; } .auth-logo-wrap { @@ -491,8 +488,9 @@ inset: 16%; z-index: -1; border-radius: 50%; - background: rgba(214, 155, 56, 0.2); - filter: blur(30px); + background: + radial-gradient(circle, rgba(255, 216, 120, 0.32) 0%, rgba(214, 155, 56, 0.18) 42%, transparent 72%); + filter: blur(24px); opacity: 0; animation: shine-halo-breathe 4.8s ease-in-out infinite; transition: opacity 420ms ease; @@ -678,19 +676,6 @@ color: rgba(216, 226, 247, 0.9); } -@keyframes shine-logo-breathe { - 0%, 100% { - filter: - drop-shadow(0 0 8px rgba(255, 211, 121, 0.62)) - drop-shadow(0 8px 22px rgba(225, 158, 48, 0.34)); - } - 50% { - filter: - drop-shadow(0 0 14px rgba(255, 220, 147, 0.88)) - drop-shadow(0 10px 28px rgba(225, 158, 48, 0.5)); - } -} - @keyframes shine-halo-breathe { 0%, 100% { transform: scale(0.96); } 50% { transform: scale(1.05); } @@ -727,7 +712,6 @@ } @media (prefers-reduced-motion: reduce) { - .auth-logo, .auth-logo-wrap::before, .shine-btn { animation: none; From 65703f0fc4515c5df8e783d4cbff2c96dc4d7f4fc4a11fb7d61c176bb77b76da Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 21:34:44 +0400 Subject: [PATCH 07/83] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D1=80=D0=B5=D0=B6=D0=BD=D0=B8=D0=B9=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=D1=82=D0=B8=D0=BF=20=D1=81=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=8D=D0=BA=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +-- shine-UI/img/shine-logo-transparent-512.png | Bin 163460 -> 0 bytes shine-UI/js/pages/start-view.js | 13 +------- shine-UI/styles/components.css | 34 +++++++++++++------- 4 files changed, 25 insertions(+), 26 deletions(-) delete mode 100644 shine-UI/img/shine-logo-transparent-512.png diff --git a/VERSION.properties b/VERSION.properties index c2e3dba2..4df5a464 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.337 -server.version=1.2.309 +client.version=1.2.338 +server.version=1.2.310 diff --git a/shine-UI/img/shine-logo-transparent-512.png b/shine-UI/img/shine-logo-transparent-512.png deleted file mode 100644 index 61cfb52b552128dce8ad3a3c2c9d68f504dca8c928b9f2849d155a8a23192493..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163460 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 ZTC#z?o%|Mo_@BQo|54>bjkHPd{{fA1iunKl diff --git a/shine-UI/js/pages/start-view.js b/shine-UI/js/pages/start-view.js index 2d7c9f45..d3ac224e 100644 --- a/shine-UI/js/pages/start-view.js +++ b/shine-UI/js/pages/start-view.js @@ -13,19 +13,8 @@ export function render({ navigate }) { const logo = document.createElement('img'); logo.className = 'auth-logo'; - logo.src = './img/shine-logo-transparent-512.png'; + logo.src = './img/shine-logo-transparent-final.png'; logo.alt = 'Логотип Сияние'; - logo.width = 512; - logo.height = 512; - logo.decoding = 'async'; - logo.fetchPriority = 'high'; - if (logo.complete) { - logoWrap.classList.add('auth-logo-wrap--loaded'); - } else { - logo.addEventListener('load', () => { - logoWrap.classList.add('auth-logo-wrap--loaded'); - }, { once: true }); - } logoWrap.append(logo); const title = document.createElement('h1'); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index eca46d2d..d209f6e6 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -473,7 +473,10 @@ width: 100%; height: 100%; object-fit: contain; - filter: none; + filter: + drop-shadow(0 0 8px rgba(255, 211, 121, 0.72)) + drop-shadow(0 8px 22px rgba(225, 158, 48, 0.38)); + animation: shine-logo-breathe 4.8s ease-in-out infinite; } .auth-logo-wrap { @@ -488,16 +491,9 @@ inset: 16%; z-index: -1; border-radius: 50%; - background: - radial-gradient(circle, rgba(255, 216, 120, 0.32) 0%, rgba(214, 155, 56, 0.18) 42%, transparent 72%); - filter: blur(24px); - opacity: 0; + background: rgba(214, 155, 56, 0.2); + filter: blur(30px); animation: shine-halo-breathe 4.8s ease-in-out infinite; - transition: opacity 420ms ease; -} - -.auth-logo-wrap--loaded::before { - opacity: 0.66; } .auth-brand { @@ -676,9 +672,22 @@ color: rgba(216, 226, 247, 0.9); } +@keyframes shine-logo-breathe { + 0%, 100% { + filter: + drop-shadow(0 0 8px rgba(255, 211, 121, 0.62)) + drop-shadow(0 8px 22px rgba(225, 158, 48, 0.34)); + } + 50% { + filter: + drop-shadow(0 0 14px rgba(255, 220, 147, 0.88)) + drop-shadow(0 10px 28px rgba(225, 158, 48, 0.5)); + } +} + @keyframes shine-halo-breathe { - 0%, 100% { transform: scale(0.96); } - 50% { transform: scale(1.05); } + 0%, 100% { opacity: 0.66; transform: scale(0.96); } + 50% { opacity: 1; transform: scale(1.05); } } @media (min-width: 768px) { @@ -712,6 +721,7 @@ } @media (prefers-reduced-motion: reduce) { + .auth-logo, .auth-logo-wrap::before, .shine-btn { animation: none; From 2f3b1571e5b8e7ee92030e2a4c9ec9730d694bb2b094dc194382275002c613a7 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 20 Jul 2026 22:13:19 +0400 Subject: [PATCH 08/83] =?UTF-8?q?=D0=A3=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=D1=81=D0=BC=D0=BE=D1=82?= =?UTF-8?q?=D1=80=20=D0=B1=D0=B8=D0=BB=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BE=D0=B9=20=D0=B8=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D1=82=D1=8C=D0=B5=D0=B9=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- .../js/pages/public-support-queue-view.js | 59 +++++++++++++------ shine-UI/js/pages/wallet-view.js | 57 ++++++++++++------ 3 files changed, 81 insertions(+), 39 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 4df5a464..7402b000 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.338 -server.version=1.2.310 +client.version=1.2.339 +server.version=1.2.311 diff --git a/shine-UI/js/pages/public-support-queue-view.js b/shine-UI/js/pages/public-support-queue-view.js index b61d2048..bfb9a782 100644 --- a/shine-UI/js/pages/public-support-queue-view.js +++ b/shine-UI/js/pages/public-support-queue-view.js @@ -67,6 +67,18 @@ function formatQueuePrefix(queueId) { return 'Q1'; } +function formatQueueTitle(queueId) { + if (queueId === 2) return 'Вторая очередь'; + if (queueId === 3) return 'Третья очередь'; + return 'Первая очередь'; +} + +function formatSupportTicketLabel(queueId, index) { + const cleanIndex = BigInt(index || 0n).toString(); + if (queueId === 2 || queueId === 3) return `${queueId}/${cleanIndex}`; + return cleanIndex; +} + function formatUsdCentsText(cents) { const value = Number(cents || 0n) / 100; return value.toLocaleString('ru-RU', { minimumFractionDigits: 0, maximumFractionDigits: 2 }); @@ -150,9 +162,9 @@ function parseSupportTicketInput(rawValue) { if (/^\d+$/.test(clean)) { return { queueId: 1, index: BigInt(clean) }; } - const match = clean.match(/^([123])(?:\s*[-_:\/#]+\s*|\s+)(\d+)$/); + const match = clean.match(/^([23])\s*\/\s*(\d+)$/); if (!match) { - throw new Error('Формат: для Q1 просто номер, для Q2/Q3 - например 2-15 или 3 8.'); + throw new Error('Формат: для первой очереди просто номер, для второй и третьей - например 2/7 или 3/8.'); } return { queueId: Number(match[1]), @@ -266,8 +278,7 @@ export function render({ navigate }) { card.innerHTML = ` <h2 style="margin:0;">Публичная очередь билета</h2> <p class="meta-muted" style="margin:0; line-height:1.55;"> - Для Q1 вводите просто номер билета. Для Q2 и Q3 укажите номер в формате <code>2-15</code> или <code>3 8</code>. - Страница покажет состояние билета и сколько позиций осталось до выплаты. + Введите номер билета. </p> `; @@ -279,7 +290,7 @@ export function render({ navigate }) { const queryInput = document.createElement('input'); queryInput.id = 'public-queue-ticket-query'; queryInput.type = 'text'; - queryInput.placeholder = 'Например: 12, 2-5 или 3 8'; + queryInput.placeholder = 'Например: 12, 2/5 или 3/8'; queryInput.autocomplete = 'off'; queryInput.spellcheck = false; styleInputField(queryInput); @@ -334,9 +345,9 @@ export function render({ navigate }) { const ticketInfo = await core.connection.getAccountInfo(ticketPda, 'confirmed'); if (!ticketInfo) { result.innerHTML = ` - <p class="meta-muted" style="margin:0;">Билет ${formatQueuePrefix(parsed.queueId)}-${parsed.index.toString()} пока не создан.</p> + <p class="meta-muted" style="margin:0;">Билет ${formatSupportTicketLabel(parsed.queueId, parsed.index)} пока не создан.</p> `; - status.textContent = `Билет ${formatQueuePrefix(parsed.queueId)}-${parsed.index.toString()} не найден.`; + status.textContent = `Билет ${formatSupportTicketLabel(parsed.queueId, parsed.index)} не найден.`; return; } const ticket = parsePaymentsTicket(ticketInfo.data); @@ -344,18 +355,28 @@ export function render({ navigate }) { const ticketsBefore = parsed.index > 0n ? parsed.index - 1n : 0n; const paidBefore = queueState.ticketsPaid < ticketsBefore ? queueState.ticketsPaid : ticketsBefore; const remainingBefore = ticketsBefore > paidBefore ? ticketsBefore - paidBefore : 0n; - result.innerHTML = ` - <div><b>Билет:</b> ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()}</div> - <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> - <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> - <div><b>До него в очереди:</b> ${ticketsBefore.toString()} билетов</div> - <div><b>Из них уже выплачено:</b> ${paidBefore.toString()} билетов</div> - <div><b>Ещё осталось до него:</b> ${remainingBefore.toString()} билетов</div> - <div><b>Уже выплачено по сумме в очереди:</b> ${formatUsdCentsText(queueState.sumPaidUsdCents)} USD</div> - <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> - <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> - `; - status.textContent = `Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден. Источник Solana: ${endpoint}`; + if (ticket.queueId === 2 || ticket.queueId === 3) { + result.innerHTML = ` + <div>${formatQueueTitle(ticket.queueId)}</div> + <div><b>Номер билета:</b> ${ticket.index.toString()}</div> + <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> + <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> + <div><b>Сумма:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> + `; + } else { + result.innerHTML = ` + <div><b>Билет:</b> ${formatSupportTicketLabel(parsed.queueId, ticket.index)}</div> + <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> + <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> + <div><b>До него в очереди:</b> ${ticketsBefore.toString()} билетов</div> + <div><b>Из них уже выплачено:</b> ${paidBefore.toString()} билетов</div> + <div><b>Ещё осталось до него:</b> ${remainingBefore.toString()} билетов</div> + <div><b>Уже выплачено по сумме в очереди:</b> ${formatUsdCentsText(queueState.sumPaidUsdCents)} USD</div> + <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> + <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> + `; + } + status.textContent = `Билет ${formatSupportTicketLabel(ticket.queueId, ticket.index)} найден. Источник Solana: ${endpoint}`; } catch (error) { result.innerHTML = `<p class="meta-muted" style="margin:0;">${String(error?.message || 'Не удалось загрузить билет')}</p>`; status.textContent = `Не удалось посмотреть билет: ${error?.message || 'unknown'}`; diff --git a/shine-UI/js/pages/wallet-view.js b/shine-UI/js/pages/wallet-view.js index 211c2549..04941eb2 100644 --- a/shine-UI/js/pages/wallet-view.js +++ b/shine-UI/js/pages/wallet-view.js @@ -200,6 +200,18 @@ function formatQueuePrefix(queueId) { return 'Q1'; } +function formatQueueTitle(queueId) { + if (queueId === 2) return 'Вторая очередь'; + if (queueId === 3) return 'Третья очередь'; + return 'Первая очередь'; +} + +function formatSupportTicketLabel(queueId, index) { + const cleanIndex = BigInt(index || 0n).toString(); + if (queueId === 2 || queueId === 3) return `${queueId}/${cleanIndex}`; + return cleanIndex; +} + function parsePaymentsCoef(data) { let offset = 0; const version = data[offset]; @@ -276,9 +288,9 @@ function parseSupportTicketInput(rawValue) { if (/^\d+$/.test(clean)) { return { queueId: 1, index: BigInt(clean) }; } - const match = clean.match(/^([123])(?:\s*[-_:\/#]+\s*|\s+)(\d+)$/); + const match = clean.match(/^([23])\s*\/\s*(\d+)$/); if (!match) { - throw new Error('Формат: для Q1 просто номер, для Q2/Q3 - например 2-15 или 3 8.'); + throw new Error('Формат: для первой очереди просто номер, для второй и третьей - например 2/7 или 3/8.'); } return { queueId: Number(match[1]), @@ -689,8 +701,7 @@ export function render({ navigate }) { card.innerHTML = ` <h2 style="margin:0;">Посмотреть очередь билета</h2> <p class="meta-muted" style="margin:0; line-height:1.55;"> - Для Q1 вводите просто номер билета. Для Q2 и Q3 укажите номер в формате <code>2-15</code> или <code>3 8</code>. - Экран покажет, сколько билетов перед ним уже стоит, сколько уже выплачено и кому принадлежит билет. + Введите номер билета. </p> `; @@ -702,7 +713,7 @@ export function render({ navigate }) { const queryInput = document.createElement('input'); queryInput.id = 'support-ticket-query'; queryInput.type = 'text'; - queryInput.placeholder = 'Например: 12, 2-5 или 3 8'; + queryInput.placeholder = 'Например: 12, 2/5 или 3/8'; queryInput.autocomplete = 'off'; queryInput.spellcheck = false; styleSupportInputField(queryInput); @@ -757,7 +768,7 @@ export function render({ navigate }) { const ticketInfo = await core.connection.getAccountInfo(ticketPda, 'confirmed'); if (!ticketInfo) { result.innerHTML = ` - <p class="meta-muted" style="margin:0;">Билет ${formatQueuePrefix(parsed.queueId)}-${parsed.index.toString()} пока не создан.</p> + <p class="meta-muted" style="margin:0;">Билет ${formatSupportTicketLabel(parsed.queueId, parsed.index)} пока не создан.</p> `; return; } @@ -766,18 +777,28 @@ export function render({ navigate }) { const ticketsBefore = parsed.index > 0n ? parsed.index - 1n : 0n; const paidBefore = queueState.ticketsPaid < ticketsBefore ? queueState.ticketsPaid : ticketsBefore; const remainingBefore = ticketsBefore > paidBefore ? ticketsBefore - paidBefore : 0n; - result.innerHTML = ` - <div><b>Билет:</b> ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()}</div> - <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> - <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> - <div><b>До него в очереди:</b> ${ticketsBefore.toString()} билетов</div> - <div><b>Из них уже выплачено:</b> ${paidBefore.toString()} билетов</div> - <div><b>Ещё осталось до него:</b> ${remainingBefore.toString()} билетов</div> - <div><b>Уже выплачено по сумме в очереди:</b> ${formatUsdCentsText(queueState.sumPaidUsdCents)} USD</div> - <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> - <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> - `; - setStatus(`Билет ${formatQueuePrefix(parsed.queueId)}-${ticket.index.toString()} найден. Источник Solana: ${endpoint}`); + if (ticket.queueId === 2 || ticket.queueId === 3) { + result.innerHTML = ` + <div>${formatQueueTitle(ticket.queueId)}</div> + <div><b>Номер билета:</b> ${ticket.index.toString()}</div> + <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> + <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> + <div><b>Сумма:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> + `; + } else { + result.innerHTML = ` + <div><b>Билет:</b> ${formatSupportTicketLabel(parsed.queueId, ticket.index)}</div> + <div><b>Статус:</b> ${ticket.isPaid ? 'выплачен' : 'ожидает выплаты'}</div> + <div><b>Получатель:</b> <span style="word-break:break-all;">${ticket.recipientWallet}</span></div> + <div><b>До него в очереди:</b> ${ticketsBefore.toString()} билетов</div> + <div><b>Из них уже выплачено:</b> ${paidBefore.toString()} билетов</div> + <div><b>Ещё осталось до него:</b> ${remainingBefore.toString()} билетов</div> + <div><b>Уже выплачено по сумме в очереди:</b> ${formatUsdCentsText(queueState.sumPaidUsdCents)} USD</div> + <div><b>Сумма этого билета:</b> ${formatUsdCentsText(ticket.payoutUsdCents)} USD</div> + <div><b>Накоплено до этого билета:</b> ${formatUsdCentsText(ticket.debtBeforeUsdCents)} USD в очереди до него</div> + `; + } + setStatus(`Билет ${formatSupportTicketLabel(ticket.queueId, ticket.index)} найден. Источник Solana: ${endpoint}`); } catch (error) { result.innerHTML = `<p class="meta-muted" style="margin:0;">${String(error?.message || 'Не удалось загрузить билет')}</p>`; setStatus(`Не удалось посмотреть билет: ${error?.message || 'unknown'}`); From 93673e5786d589c2c197cbddce0f6e5de61a44f31f3651ca966325632820346b Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 13:09:42 +0400 Subject: [PATCH 09/83] Improve direct message history and SQLite resilience --- .../java/shine/db/DatabaseInitializer.java | 1 + .../java/shine/db/SqliteDbController.java | 50 +- .../shine/db/dao/SignedMessagesV2DAO.java | 591 +++++++++++------- .../db/entities/SignedMessageV2Entry.java | 3 + .../ws_protocol/JSON/JsonHandlerRegistry.java | 4 + .../auth/Net_CreateAuthSession__Handler.java | 4 - .../auth/Net_SessionLogin_Handler.java | 4 - .../Net_GetDirectMessages_Handler.java | 98 +++ .../JSON/messages/SignedMessagesRealtime.java | 10 +- .../Net_GetDirectMessages_Request.java | 19 + .../Net_GetDirectMessages_Response.java | 71 +++ TODO/README.md | 1 + ...26-07-22_переход_с_sqlite_на_postgresql.md | 36 ++ docs/API/12_Direct_Messages_Push_Calls_API.md | 71 ++- shine-UI/js/app.js | 2 +- shine-UI/js/pages/chat-view.js | 134 +++- shine-UI/js/services/auth-service.js | 17 + shine-UI/js/state.js | 25 +- 18 files changed, 908 insertions(+), 233 deletions(-) create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Request.java create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Response.java create mode 100644 TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index 81eeb4b0..d99c4706 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -641,6 +641,7 @@ public final class DatabaseInitializer { origin_session_id TEXT, receipt_ref_base_key TEXT, receipt_ref_type INTEGER, + read_at_ms INTEGER, FOREIGN KEY (from_login) REFERENCES solana_users(login), FOREIGN KEY (to_login) REFERENCES solana_users(login) ); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java index 6f39a7ba..c4cb4ab7 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java @@ -14,7 +14,7 @@ import java.sql.Statement; public final class SqliteDbController { private static volatile SqliteDbController instance; - private static final int LATEST_SCHEMA_VERSION = 11; + private static final int LATEST_SCHEMA_VERSION = 12; private final String jdbcUrl; @@ -94,6 +94,7 @@ public final class SqliteDbController { case 9 -> migrateToV9(); case 10 -> migrateToV10(); case 11 -> migrateToV11(); + case 12 -> migrateToV12(); default -> throw new RuntimeException("Unknown DB migration target version: " + targetVersion); } } @@ -329,6 +330,26 @@ public final class SqliteDbController { } } + private void migrateToV12() { + try (Connection c = DriverManager.getConnection(jdbcUrl); + Statement st = c.createStatement()) { + c.setAutoCommit(false); + try { + ensureSignedMessagesReadAtColumn(c, st); + backfillSignedMessagesReadAt(st); + setSchemaVersion(c, 12); + c.commit(); + } catch (Exception e) { + try { c.rollback(); } catch (Exception ignored) {} + throw new RuntimeException("DB migration to v12 failed", e); + } finally { + try { c.setAutoCommit(true); } catch (Exception ignored) {} + } + } catch (SQLException e) { + throw new RuntimeException("DB migration to v12 failed", e); + } + } + private static void ensureChat200StateTables(Statement st) throws SQLException { st.executeUpdate(""" CREATE TABLE IF NOT EXISTS chat200_state ( @@ -463,6 +484,33 @@ public final class SqliteDbController { } } + private static void ensureSignedMessagesReadAtColumn(Connection c, Statement st) throws SQLException { + if (!tableExists(c, "signed_messages_v2")) return; + if (!columnExists(c, "signed_messages_v2", "read_at_ms")) { + st.executeUpdate("ALTER TABLE signed_messages_v2 ADD COLUMN read_at_ms INTEGER"); + } + } + + private static void backfillSignedMessagesReadAt(Statement st) throws SQLException { + st.executeUpdate(""" + UPDATE signed_messages_v2 AS content + SET read_at_ms = ( + SELECT MIN(receipt.time_ms) + FROM signed_messages_v2 AS receipt + WHERE receipt.message_type IN (3, 4) + AND receipt.receipt_ref_base_key = content.base_key + ) + WHERE content.message_type IN (1, 2) + AND (content.read_at_ms IS NULL OR content.read_at_ms <= 0) + AND EXISTS ( + SELECT 1 + FROM signed_messages_v2 AS receipt + WHERE receipt.message_type IN (3, 4) + AND receipt.receipt_ref_base_key = content.base_key + ); + """); + } + /** * Временная одноразовая миграция на переходе к SHiNE_DM v1: * старые строки signed_messages_v2 больше не гарантированно совместимы diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java index 530f4b4b..85af6e05 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java @@ -7,10 +7,14 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.List; public final class SignedMessagesV2DAO { + private static final int SQLITE_BUSY_MAX_RETRIES = 6; + private static final long SQLITE_BUSY_RETRY_BASE_DELAY_MS = 40L; + public enum ApplyStatus { APPLIED, DUPLICATE_OR_OLDER, @@ -37,174 +41,195 @@ public final class SignedMessagesV2DAO { } public ApplyStatus insertIfAbsent(SignedMessageV2Entry e) throws Exception { - try (Connection c = db.getConnection()) { - if (isBlockedByConversationDelete(c, e.getFromLogin(), e.getToLogin(), e.getTimeMs())) { - return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + if (isBlockedByConversationDelete(c, e.getFromLogin(), e.getToLogin(), e.getTimeMs())) { + return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; + } + String sql = """ + INSERT OR IGNORE INTO signed_messages_v2 ( + message_key, base_key, target_login, from_login, to_login, + time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, + raw_block, created_at_ms, source_api, origin_session_id, + receipt_ref_base_key, receipt_ref_type, read_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + bindSignedMessage(ps, e); + ApplyStatus status = ps.executeUpdate() > 0 ? ApplyStatus.APPLIED : ApplyStatus.DUPLICATE_OR_OLDER; + if (status.applied()) { + markMessageReadByReceipt(c, e); + } + return status; + } } - String sql = """ - INSERT OR IGNORE INTO signed_messages_v2 ( - message_key, base_key, target_login, from_login, to_login, - time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, - raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """; - try (PreparedStatement ps = c.prepareStatement(sql)) { - bindSignedMessage(ps, e); - return ps.executeUpdate() > 0 ? ApplyStatus.APPLIED : ApplyStatus.DUPLICATE_OR_OLDER; - } - } + }); } public boolean insertPairBothOrNothing(SignedMessageV2Entry first, SignedMessageV2Entry second) throws Exception { - try (Connection c = db.getConnection()) { - boolean prevAutoCommit = c.getAutoCommit(); - c.setAutoCommit(false); - try { - int insertedFirst = insertStrict(c, first); - int insertedSecond = insertStrict(c, second); - if (insertedFirst == 1 && insertedSecond == 1) { - c.commit(); - return true; - } - c.rollback(); - return false; - } catch (SQLException sqlEx) { - try { c.rollback(); } catch (Exception ignored) {} - if (isConstraintViolation(sqlEx)) { + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + boolean prevAutoCommit = c.getAutoCommit(); + c.setAutoCommit(false); + try { + int insertedFirst = insertStrict(c, first); + int insertedSecond = insertStrict(c, second); + if (insertedFirst == 1 && insertedSecond == 1) { + markMessageReadByReceipt(c, first); + markMessageReadByReceipt(c, second); + c.commit(); + return true; + } + c.rollback(); return false; + } catch (SQLException sqlEx) { + try { c.rollback(); } catch (Exception ignored) {} + if (isConstraintViolation(sqlEx)) { + return false; + } + throw sqlEx; + } finally { + c.setAutoCommit(prevAutoCommit); } - throw sqlEx; - } finally { - c.setAutoCommit(prevAutoCommit); } - } + }); } public ApplyStatus upsertContentPair(SignedMessageV2Entry incoming, SignedMessageV2Entry outgoing) throws Exception { - try (Connection c = db.getConnection()) { - boolean prevAutoCommit = c.getAutoCommit(); - c.setAutoCommit(false); - try { - if (isBlockedByConversationDelete(c, incoming.getFromLogin(), incoming.getToLogin(), incoming.getTimeMs())) { - c.rollback(); - return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; - } - if (hasMessageDeleteTombstone(c, incoming.getBaseKey())) { - c.rollback(); - return ApplyStatus.BLOCKED_BY_MESSAGE_TOMBSTONE; - } + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + boolean prevAutoCommit = c.getAutoCommit(); + c.setAutoCommit(false); + try { + if (isBlockedByConversationDelete(c, incoming.getFromLogin(), incoming.getToLogin(), incoming.getTimeMs())) { + c.rollback(); + return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; + } + if (hasMessageDeleteTombstone(c, incoming.getBaseKey())) { + c.rollback(); + return ApplyStatus.BLOCKED_BY_MESSAGE_TOMBSTONE; + } - RevisionMarker currentMarker = getCurrentContentMarker(c, incoming.getBaseKey()); - RevisionMarker nextMarker = RevisionMarker.of(incoming); - if (currentMarker != null && compareMarkers(nextMarker, currentMarker) <= 0) { - c.rollback(); - return ApplyStatus.DUPLICATE_OR_OLDER; + RevisionMarker currentMarker = getCurrentContentMarker(c, incoming.getBaseKey()); + RevisionMarker nextMarker = RevisionMarker.of(incoming); + if (currentMarker != null && compareMarkers(nextMarker, currentMarker) <= 0) { + c.rollback(); + return ApplyStatus.DUPLICATE_OR_OLDER; + } + + upsertMessage(c, incoming); + upsertMessage(c, outgoing); + markMessageReadByReceipt(c, incoming); + markMessageReadByReceipt(c, outgoing); + resetDeliveryRows(c, incoming.getMessageKey()); + resetDeliveryRows(c, outgoing.getMessageKey()); + + c.commit(); + return ApplyStatus.APPLIED; + } catch (Exception ex) { + try { c.rollback(); } catch (Exception ignored) {} + throw ex; + } finally { + c.setAutoCommit(prevAutoCommit); } - - upsertMessage(c, incoming); - upsertMessage(c, outgoing); - resetDeliveryRows(c, incoming.getMessageKey()); - resetDeliveryRows(c, outgoing.getMessageKey()); - - c.commit(); - return ApplyStatus.APPLIED; - } catch (Exception ex) { - try { c.rollback(); } catch (Exception ignored) {} - throw ex; - } finally { - c.setAutoCommit(prevAutoCommit); } - } + }); } public ApplyStatus upsertIncomingCopy(SignedMessageV2Entry incoming) throws Exception { - try (Connection c = db.getConnection()) { - boolean prevAutoCommit = c.getAutoCommit(); - c.setAutoCommit(false); - try { - if (isBlockedByConversationDelete(c, incoming.getFromLogin(), incoming.getToLogin(), incoming.getTimeMs())) { - c.rollback(); - return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; - } - if (hasMessageDeleteTombstone(c, incoming.getBaseKey())) { - c.rollback(); - return ApplyStatus.BLOCKED_BY_MESSAGE_TOMBSTONE; - } + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + boolean prevAutoCommit = c.getAutoCommit(); + c.setAutoCommit(false); + try { + if (isBlockedByConversationDelete(c, incoming.getFromLogin(), incoming.getToLogin(), incoming.getTimeMs())) { + c.rollback(); + return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; + } + if (hasMessageDeleteTombstone(c, incoming.getBaseKey())) { + c.rollback(); + return ApplyStatus.BLOCKED_BY_MESSAGE_TOMBSTONE; + } - RevisionMarker currentMarker = getRevisionMarkerByMessageKey(c, incoming.getMessageKey()); - RevisionMarker nextMarker = RevisionMarker.of(incoming); - if (currentMarker != null && compareMarkers(nextMarker, currentMarker) <= 0) { - c.rollback(); - return ApplyStatus.DUPLICATE_OR_OLDER; - } + RevisionMarker currentMarker = getRevisionMarkerByMessageKey(c, incoming.getMessageKey()); + RevisionMarker nextMarker = RevisionMarker.of(incoming); + if (currentMarker != null && compareMarkers(nextMarker, currentMarker) <= 0) { + c.rollback(); + return ApplyStatus.DUPLICATE_OR_OLDER; + } - upsertMessage(c, incoming); - resetDeliveryRows(c, incoming.getMessageKey()); - c.commit(); - return ApplyStatus.APPLIED; - } catch (Exception ex) { - try { c.rollback(); } catch (Exception ignored) {} - throw ex; - } finally { - c.setAutoCommit(prevAutoCommit); + upsertMessage(c, incoming); + markMessageReadByReceipt(c, incoming); + resetDeliveryRows(c, incoming.getMessageKey()); + c.commit(); + return ApplyStatus.APPLIED; + } catch (Exception ex) { + try { c.rollback(); } catch (Exception ignored) {} + throw ex; + } finally { + c.setAutoCommit(prevAutoCommit); + } } - } + }); } public ApplyStatus applyDeleteMessage(SignedMessageV2Entry tombstone) throws Exception { - try (Connection c = db.getConnection()) { - boolean prevAutoCommit = c.getAutoCommit(); - c.setAutoCommit(false); - try { - if (isBlockedByConversationDelete(c, tombstone.getFromLogin(), tombstone.getToLogin(), tombstone.getTimeMs())) { - c.rollback(); - return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; - } - if (hasMessageDeleteTombstone(c, tombstone.getBaseKey())) { - c.rollback(); - return ApplyStatus.DUPLICATE_OR_OLDER; - } + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + boolean prevAutoCommit = c.getAutoCommit(); + c.setAutoCommit(false); + try { + if (isBlockedByConversationDelete(c, tombstone.getFromLogin(), tombstone.getToLogin(), tombstone.getTimeMs())) { + c.rollback(); + return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; + } + if (hasMessageDeleteTombstone(c, tombstone.getBaseKey())) { + c.rollback(); + return ApplyStatus.DUPLICATE_OR_OLDER; + } - deleteMessageContentAndReceipts(c, tombstone.getBaseKey()); - upsertMessage(c, tombstone); - resetDeliveryRows(c, tombstone.getMessageKey()); + deleteMessageContentAndReceipts(c, tombstone.getBaseKey()); + upsertMessage(c, tombstone); + resetDeliveryRows(c, tombstone.getMessageKey()); - c.commit(); - return ApplyStatus.APPLIED; - } catch (Exception ex) { - try { c.rollback(); } catch (Exception ignored) {} - throw ex; - } finally { - c.setAutoCommit(prevAutoCommit); + c.commit(); + return ApplyStatus.APPLIED; + } catch (Exception ex) { + try { c.rollback(); } catch (Exception ignored) {} + throw ex; + } finally { + c.setAutoCommit(prevAutoCommit); + } } - } + }); } public ApplyStatus applyDeleteConversation(SignedMessageV2Entry tombstone) throws Exception { - try (Connection c = db.getConnection()) { - boolean prevAutoCommit = c.getAutoCommit(); - c.setAutoCommit(false); - try { - Long currentBoundary = getLatestConversationDeleteBoundary(c, tombstone.getFromLogin(), tombstone.getToLogin()); - if (currentBoundary != null && tombstone.getTimeMs() <= currentBoundary) { - c.rollback(); - return ApplyStatus.DUPLICATE_OR_OLDER; + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + boolean prevAutoCommit = c.getAutoCommit(); + c.setAutoCommit(false); + try { + Long currentBoundary = getLatestConversationDeleteBoundary(c, tombstone.getFromLogin(), tombstone.getToLogin()); + if (currentBoundary != null && tombstone.getTimeMs() <= currentBoundary) { + c.rollback(); + return ApplyStatus.DUPLICATE_OR_OLDER; + } + + deleteConversationHistoryBefore(c, tombstone.getFromLogin(), tombstone.getToLogin(), tombstone.getTimeMs()); + upsertMessage(c, tombstone); + resetDeliveryRows(c, tombstone.getMessageKey()); + + c.commit(); + return ApplyStatus.APPLIED; + } catch (Exception ex) { + try { c.rollback(); } catch (Exception ignored) {} + throw ex; + } finally { + c.setAutoCommit(prevAutoCommit); } - - deleteConversationHistoryBefore(c, tombstone.getFromLogin(), tombstone.getToLogin(), tombstone.getTimeMs()); - upsertMessage(c, tombstone); - resetDeliveryRows(c, tombstone.getMessageKey()); - - c.commit(); - return ApplyStatus.APPLIED; - } catch (Exception ex) { - try { c.rollback(); } catch (Exception ignored) {} - throw ex; - } finally { - c.setAutoCommit(prevAutoCommit); } - } + }); } public SignedMessageV2Entry getByMessageKey(String messageKey) throws Exception { @@ -214,7 +239,7 @@ public final class SignedMessagesV2DAO { message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type + receipt_ref_base_key, receipt_ref_type, read_at_ms FROM signed_messages_v2 WHERE message_key = ? """; @@ -235,90 +260,153 @@ public final class SignedMessagesV2DAO { } public void ensureDeliveryRow(String messageKey, String sessionId, long nowMs) throws Exception { - try (Connection c = db.getConnection()) { - String sql = """ - INSERT OR IGNORE INTO signed_message_session_delivery ( - message_key, session_id, delivered, delivered_at_ms, created_at_ms - ) VALUES (?, ?, 0, NULL, ?) - """; - try (PreparedStatement ps = c.prepareStatement(sql)) { - ps.setString(1, messageKey); - ps.setString(2, sessionId); - ps.setLong(3, nowMs); - ps.executeUpdate(); + ensureDeliveryRows(messageKey, List.of(sessionId), nowMs); + } + + public void ensureDeliveryRows(String messageKey, List<String> sessionIds, long nowMs) throws Exception { + if (sessionIds == null || sessionIds.isEmpty()) return; + withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + String sql = """ + INSERT OR IGNORE INTO signed_message_session_delivery ( + message_key, session_id, delivered, delivered_at_ms, created_at_ms + ) VALUES (?, ?, 0, NULL, ?) + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + for (String sessionId : sessionIds) { + if (sessionId == null || sessionId.isBlank()) continue; + ps.setString(1, messageKey); + ps.setString(2, sessionId); + ps.setLong(3, nowMs); + ps.addBatch(); + } + ps.executeBatch(); + } + return null; } - } + }); } public void markDelivered(String messageKey, String sessionId, long deliveredAtMs) throws Exception { - try (Connection c = db.getConnection()) { - String insertSql = """ - INSERT OR IGNORE INTO signed_message_session_delivery ( - message_key, session_id, delivered, delivered_at_ms, created_at_ms - ) VALUES (?, ?, 0, NULL, ?) - """; - try (PreparedStatement ps = c.prepareStatement(insertSql)) { - ps.setString(1, messageKey); - ps.setString(2, sessionId); - ps.setLong(3, deliveredAtMs); - ps.executeUpdate(); + withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + String sql = """ + INSERT INTO signed_message_session_delivery ( + message_key, session_id, delivered, delivered_at_ms, created_at_ms + ) VALUES (?, ?, 1, ?, ?) + ON CONFLICT(message_key, session_id) DO UPDATE SET + delivered = 1, + delivered_at_ms = CASE + WHEN signed_message_session_delivery.delivered_at_ms IS NULL THEN excluded.delivered_at_ms + WHEN signed_message_session_delivery.delivered_at_ms > excluded.delivered_at_ms THEN excluded.delivered_at_ms + ELSE signed_message_session_delivery.delivered_at_ms + END + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, messageKey); + ps.setString(2, sessionId); + ps.setLong(3, deliveredAtMs); + ps.setLong(4, deliveredAtMs); + ps.executeUpdate(); + } + return null; } - - String updateSql = """ - UPDATE signed_message_session_delivery - SET delivered = 1, delivered_at_ms = ? - WHERE message_key = ? AND session_id = ? - """; - try (PreparedStatement ps = c.prepareStatement(updateSql)) { - ps.setLong(1, deliveredAtMs); - ps.setString(2, messageKey); - ps.setString(3, sessionId); - ps.executeUpdate(); - } - } + }); } public List<SignedMessageV2Entry> listPendingForSession(String login, String sessionId) throws Exception { - try (Connection c = db.getConnection()) { - String fillSql = """ - INSERT OR IGNORE INTO signed_message_session_delivery ( - message_key, session_id, delivered, delivered_at_ms, created_at_ms - ) - SELECT m.message_key, ?, 0, NULL, ? - FROM signed_messages_v2 m - WHERE ( - (m.message_type IN (1, 3) AND m.to_login = ? COLLATE NOCASE) - OR (m.message_type IN (2, 4) AND m.from_login = ? COLLATE NOCASE) - OR (m.message_type IN (5, 6, 7, 8) - AND (m.from_login = ? COLLATE NOCASE OR m.to_login = ? COLLATE NOCASE)) - ) - """; - long now = System.currentTimeMillis(); - try (PreparedStatement ps = c.prepareStatement(fillSql)) { - ps.setString(1, sessionId); - ps.setLong(2, now); - ps.setString(3, login); - ps.setString(4, login); - ps.setString(5, login); - ps.setString(6, login); - ps.executeUpdate(); - } + return withBusyRetry(() -> { + try (Connection c = db.getConnection()) { + String fillSql = """ + INSERT OR IGNORE INTO signed_message_session_delivery ( + message_key, session_id, delivered, delivered_at_ms, created_at_ms + ) + SELECT m.message_key, ?, 0, NULL, ? + FROM signed_messages_v2 m + WHERE ( + (m.message_type IN (1, 3) AND m.to_login = ? COLLATE NOCASE) + OR (m.message_type IN (2, 4) AND m.from_login = ? COLLATE NOCASE) + OR (m.message_type IN (5, 6, 7, 8) + AND (m.from_login = ? COLLATE NOCASE OR m.to_login = ? COLLATE NOCASE)) + ) + """; + long now = System.currentTimeMillis(); + try (PreparedStatement ps = c.prepareStatement(fillSql)) { + ps.setString(1, sessionId); + ps.setLong(2, now); + ps.setString(3, login); + ps.setString(4, login); + ps.setString(5, login); + ps.setString(6, login); + ps.executeUpdate(); + } + String sql = """ + SELECT + m.message_key, m.base_key, m.target_login, m.from_login, m.to_login, + m.time_ms, m.nonce, m.message_type, m.revision_time_ms, m.reencrypted_at_ms, + m.raw_block, m.created_at_ms, m.source_api, m.origin_session_id, + m.receipt_ref_base_key, m.receipt_ref_type, m.read_at_ms + FROM signed_messages_v2 m + JOIN signed_message_session_delivery d + ON d.message_key = m.message_key + WHERE d.session_id = ? AND d.delivered = 0 + ORDER BY m.time_ms ASC, m.revision_time_ms ASC, m.reencrypted_at_ms ASC, m.created_at_ms ASC + """; + List<SignedMessageV2Entry> out = new ArrayList<>(); + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, sessionId); + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) out.add(mapRow(rs)); + } + } + return out; + } + }); + } + + public List<SignedMessageV2Entry> listConversationPage( + String login, + String peerLogin, + long beforeTimeMs, + String beforeMessageKey, + int limit + ) throws Exception { + try (Connection c = db.getConnection()) { String sql = """ SELECT - m.message_key, m.base_key, m.target_login, m.from_login, m.to_login, - m.time_ms, m.nonce, m.message_type, m.revision_time_ms, m.reencrypted_at_ms, - m.raw_block, m.created_at_ms, m.source_api, m.origin_session_id, - m.receipt_ref_base_key, m.receipt_ref_type - FROM signed_messages_v2 m - JOIN signed_message_session_delivery d - ON d.message_key = m.message_key - WHERE d.session_id = ? AND d.delivered = 0 - ORDER BY m.time_ms ASC, m.revision_time_ms ASC, m.reencrypted_at_ms ASC, m.created_at_ms ASC + message_key, base_key, target_login, from_login, to_login, + time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, + raw_block, created_at_ms, source_api, origin_session_id, + receipt_ref_base_key, receipt_ref_type, read_at_ms + FROM signed_messages_v2 + WHERE target_login = ? COLLATE NOCASE + AND message_type IN (1, 2) + AND ( + (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + ) + AND ( + ? <= 0 + OR time_ms < ? + OR (time_ms = ? AND (? = '' OR message_key < ?)) + ) + ORDER BY time_ms DESC, message_key DESC + LIMIT ? """; List<SignedMessageV2Entry> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { - ps.setString(1, sessionId); + ps.setString(1, login); + ps.setString(2, login); + ps.setString(3, peerLogin); + ps.setString(4, peerLogin); + ps.setString(5, login); + ps.setLong(6, beforeTimeMs); + ps.setLong(7, beforeTimeMs); + ps.setLong(8, beforeTimeMs); + ps.setString(9, beforeMessageKey == null ? "" : beforeMessageKey); + ps.setString(10, beforeMessageKey == null ? "" : beforeMessageKey); + ps.setInt(11, limit); try (ResultSet rs = ps.executeQuery()) { while (rs.next()) out.add(mapRow(rs)); } @@ -333,8 +421,8 @@ public final class SignedMessagesV2DAO { message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + receipt_ref_base_key, receipt_ref_type, read_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(message_key) DO UPDATE SET base_key = excluded.base_key, target_login = excluded.target_login, @@ -350,7 +438,8 @@ public final class SignedMessagesV2DAO { source_api = excluded.source_api, origin_session_id = excluded.origin_session_id, receipt_ref_base_key = excluded.receipt_ref_base_key, - receipt_ref_type = excluded.receipt_ref_type + receipt_ref_type = excluded.receipt_ref_type, + read_at_ms = COALESCE(signed_messages_v2.read_at_ms, excluded.read_at_ms) """; try (PreparedStatement ps = c.prepareStatement(sql)) { bindSignedMessage(ps, e); @@ -358,6 +447,32 @@ public final class SignedMessagesV2DAO { } } + private void markMessageReadByReceipt(Connection c, SignedMessageV2Entry entry) throws SQLException { + if (entry == null) return; + int messageType = entry.getMessageType(); + if (messageType != 3 && messageType != 4) return; + String receiptRefBaseKey = String.valueOf(entry.getReceiptRefBaseKey() == null ? "" : entry.getReceiptRefBaseKey()).trim(); + if (receiptRefBaseKey.isEmpty()) return; + long readAtMs = entry.getTimeMs(); + if (readAtMs <= 0) return; + try (PreparedStatement ps = c.prepareStatement(""" + UPDATE signed_messages_v2 + SET read_at_ms = CASE + WHEN read_at_ms IS NULL OR read_at_ms <= 0 THEN ? + WHEN read_at_ms > ? THEN ? + ELSE read_at_ms + END + WHERE base_key = ? + AND message_type IN (1, 2) + """)) { + ps.setLong(1, readAtMs); + ps.setLong(2, readAtMs); + ps.setLong(3, readAtMs); + ps.setString(4, receiptRefBaseKey); + ps.executeUpdate(); + } + } + private RevisionMarker getRevisionMarkerByMessageKey(Connection c, String messageKey) throws SQLException { String sql = """ SELECT revision_time_ms, reencrypted_at_ms @@ -536,8 +651,8 @@ public final class SignedMessagesV2DAO { message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + receipt_ref_base_key, receipt_ref_type, read_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """; try (PreparedStatement ps = c.prepareStatement(sql)) { bindSignedMessage(ps, e); @@ -563,6 +678,8 @@ public final class SignedMessagesV2DAO { ps.setString(15, e.getReceiptRefBaseKey()); if (e.getReceiptRefType() == null) ps.setObject(16, null); else ps.setInt(16, e.getReceiptRefType()); + if (e.getReadAtMs() == null) ps.setObject(17, null); + else ps.setLong(17, e.getReadAtMs()); } private void bindObjects(PreparedStatement ps, Object... bindValues) throws SQLException { @@ -586,6 +703,45 @@ public final class SignedMessagesV2DAO { return msg.contains("constraint") || msg.contains("unique") || msg.contains("primary key"); } + private boolean isBusyLock(SQLException ex) { + Throwable current = ex; + while (current != null) { + String msg = String.valueOf(current.getMessage()).toLowerCase(); + if (msg.contains("sqlite_busy") || msg.contains("database is locked") || msg.contains("database table is locked")) { + return true; + } + current = current.getCause(); + } + return false; + } + + private void sleepBeforeBusyRetry(int attempt) throws SQLException { + long delayMs = SQLITE_BUSY_RETRY_BASE_DELAY_MS * (1L << Math.min(attempt, 4)); + try { + Thread.sleep(delayMs); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + SQLException sqlEx = new SQLException("Interrupted while retrying SQLite busy lock", ie); + throw sqlEx; + } + } + + private <T> T withBusyRetry(SqlWork<T> work) throws Exception { + SQLException lastBusy = null; + for (int attempt = 0; attempt < SQLITE_BUSY_MAX_RETRIES; attempt++) { + try { + return work.run(); + } catch (SQLException ex) { + if (!isBusyLock(ex) || attempt >= SQLITE_BUSY_MAX_RETRIES - 1) { + throw ex; + } + lastBusy = ex; + sleepBeforeBusyRetry(attempt); + } + } + throw lastBusy == null ? new SQLException("SQLite busy retry failed") : lastBusy; + } + private int compareMarkers(RevisionMarker left, RevisionMarker right) { int revisionCompare = Long.compare(left.revisionTimeMs, right.revisionTimeMs); if (revisionCompare != 0) return revisionCompare; @@ -611,6 +767,8 @@ public final class SignedMessagesV2DAO { e.setReceiptRefBaseKey(rs.getString("receipt_ref_base_key")); int maybeRefType = rs.getInt("receipt_ref_type"); e.setReceiptRefType(rs.wasNull() ? null : maybeRefType); + long maybeReadAt = rs.getLong("read_at_ms"); + e.setReadAtMs(rs.wasNull() ? null : maybeReadAt); return e; } @@ -619,4 +777,9 @@ public final class SignedMessagesV2DAO { return new RevisionMarker(entry.getRevisionTimeMs(), entry.getReencryptedAtMs()); } } + + @FunctionalInterface + private interface SqlWork<T> { + T run() throws Exception; + } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java index 84e4bdfa..d19f2d63 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java @@ -17,6 +17,7 @@ public class SignedMessageV2Entry { private String originSessionId; private String receiptRefBaseKey; private Integer receiptRefType; + private Long readAtMs; public String getMessageKey() { return messageKey; } public void setMessageKey(String messageKey) { this.messageKey = messageKey; } @@ -50,4 +51,6 @@ public class SignedMessageV2Entry { public void setReceiptRefBaseKey(String receiptRefBaseKey) { this.receiptRefBaseKey = receiptRefBaseKey; } public Integer getReceiptRefType() { return receiptRefType; } public void setReceiptRefType(Integer receiptRefType) { this.receiptRefType = receiptRefType; } + public Long getReadAtMs() { return readAtMs; } + public void setReadAtMs(Long readAtMs) { this.readAtMs = readAtMs; } } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java index 24157745..9d2121aa 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java @@ -91,6 +91,7 @@ import server.logic.ws_protocol.JSON.messages.Net_CallInviteBroadcast_Handler; import server.logic.ws_protocol.JSON.messages.Net_CallSignalToSession_Handler; import server.logic.ws_protocol.JSON.messages.Net_DeleteConversation_Handler; import server.logic.ws_protocol.JSON.messages.Net_DeleteMessage_Handler; +import server.logic.ws_protocol.JSON.messages.Net_GetDirectMessages_Handler; import server.logic.ws_protocol.JSON.messages.Net_SendSignal_Handler; import server.logic.ws_protocol.JSON.messages.Net_ReceiveIncomingMessage_Handler; import server.logic.ws_protocol.JSON.messages.Net_SendDirectMessage_Handler; @@ -102,6 +103,7 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_CallInviteBroadcast_R import server.logic.ws_protocol.JSON.messages.entyties.Net_CallSignalToSession_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteConversation_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteMessage_Request; +import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_SendSignal_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_ReceiveIncomingMessage_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_SendDirectMessage_Request; @@ -200,6 +202,7 @@ public final class JsonHandlerRegistry { Map.entry("ReceiveIncomingMessage", new Net_ReceiveIncomingMessage_Handler()), Map.entry("DeleteMessage", new Net_DeleteMessage_Handler()), Map.entry("DeleteConversation", new Net_DeleteConversation_Handler()), + Map.entry("GetDirectMessages", new Net_GetDirectMessages_Handler()), Map.entry("AckSessionDelivery", new Net_AckSessionDelivery_Handler()), Map.entry("CallInviteBroadcast", new Net_CallInviteBroadcast_Handler()), Map.entry("CallSignalToSession", new Net_CallSignalToSession_Handler()), @@ -280,6 +283,7 @@ public final class JsonHandlerRegistry { Map.entry("ReceiveIncomingMessage", Net_ReceiveIncomingMessage_Request.class), Map.entry("DeleteMessage", Net_DeleteMessage_Request.class), Map.entry("DeleteConversation", Net_DeleteConversation_Request.class), + Map.entry("GetDirectMessages", Net_GetDirectMessages_Request.class), Map.entry("AckSessionDelivery", Net_AckSessionDelivery_Request.class), Map.entry("CallInviteBroadcast", Net_CallInviteBroadcast_Request.class), Map.entry("CallSignalToSession", Net_CallSignalToSession_Request.class), diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java index 2e963c79..cebbfbde 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java @@ -10,7 +10,6 @@ import server.logic.ws_protocol.JSON.entyties.Net_Response; import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_CreateAuthSession_Request; import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_CreateAuthSession_Response; -import server.logic.ws_protocol.JSON.messages.SignedMessagesRealtime; import server.logic.ws_protocol.JSON.utils.AuthKeyUtils; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; @@ -51,8 +50,6 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { private static final Logger log = LoggerFactory.getLogger(Net_CreateAuthSession__Handler.class); private static final SecureRandom RANDOM = new SecureRandom(); private static final long CLOSE_AFTER_ERROR_DELAY_MS = 75L; - private static final long SIGNED_DM_BACKLOG_AFTER_AUTH_DELAY_MS = 250L; - public static final long ALLOWED_SKEW_MS = 30_000L; @Override @@ -424,7 +421,6 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { ctx.setAuthenticationStatus(ConnectionContext.AUTH_STATUS_USER); ActiveConnectionsRegistry.getInstance().register(ctx); - SignedMessagesRealtime.dispatchPendingForSessionAsync(ctx, SIGNED_DM_BACKLOG_AFTER_AUTH_DELAY_MS); // --- формируем ответ --- Net_CreateAuthSession_Response resp = new Net_CreateAuthSession_Response(); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java index bc4685e7..6a4f51a1 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java @@ -10,7 +10,6 @@ import server.logic.ws_protocol.JSON.entyties.Net_Response; import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_SessionLogin_Request; import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_SessionLogin_Response; -import server.logic.ws_protocol.JSON.messages.SignedMessagesRealtime; import server.logic.ws_protocol.JSON.utils.AuthKeyUtils; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; @@ -44,8 +43,6 @@ public class Net_SessionLogin_Handler implements JsonMessageHandler { private static final Logger log = LoggerFactory.getLogger(Net_SessionLogin_Handler.class); private static final long ALLOWED_SKEW_MS = 30_000L; - private static final long SIGNED_DM_BACKLOG_AFTER_AUTH_DELAY_MS = 250L; - @Override public Net_Response handle(Net_Request baseReq, ConnectionContext ctx) throws Exception { Net_SessionLogin_Request req = (Net_SessionLogin_Request) baseReq; @@ -302,7 +299,6 @@ public class Net_SessionLogin_Handler implements JsonMessageHandler { ctx.setAuthenticationStatus(ConnectionContext.AUTH_STATUS_USER); ActiveConnectionsRegistry.getInstance().register(ctx); - SignedMessagesRealtime.dispatchPendingForSessionAsync(ctx, SIGNED_DM_BACKLOG_AFTER_AUTH_DELAY_MS); // ответ Net_SessionLogin_Response resp = new Net_SessionLogin_Response(); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java new file mode 100644 index 00000000..19d7f5f9 --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java @@ -0,0 +1,98 @@ +package server.logic.ws_protocol.JSON.messages; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import server.logic.ws_protocol.JSON.ConnectionContext; +import server.logic.ws_protocol.JSON.entyties.Net_Request; +import server.logic.ws_protocol.JSON.entyties.Net_Response; +import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; +import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Request; +import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Response; +import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; +import server.logic.ws_protocol.WireCodes; +import shine.db.dao.SignedMessagesV2DAO; +import shine.db.entities.SignedMessageV2Entry; + +import java.util.ArrayList; +import java.util.Base64; +import java.util.List; + +public class Net_GetDirectMessages_Handler implements JsonMessageHandler { + private static final Logger log = LoggerFactory.getLogger(Net_GetDirectMessages_Handler.class); + private static final int DEFAULT_LIMIT = 50; + private static final int MAX_LIMIT = 200; + + @Override + public Net_Response handle(Net_Request baseRequest, ConnectionContext ctx) { + Net_GetDirectMessages_Request req = (Net_GetDirectMessages_Request) baseRequest; + if (ctx == null || !ctx.isAuthenticatedUser()) { + return NetExceptionResponseFactory.error(req, WireCodes.Status.UNVERIFIED, "NOT_AUTHENTICATED", "Требуется авторизация"); + } + if (req.getPeerLogin() == null || req.getPeerLogin().isBlank()) { + return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_FIELDS", "peerLogin обязателен"); + } + + int limit = req.getLimit() == null ? DEFAULT_LIMIT : req.getLimit(); + if (limit <= 0 || limit > MAX_LIMIT) { + return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_LIMIT", "limit должен быть в диапазоне 1.." + MAX_LIMIT); + } + + String login = ctx.getLogin().trim(); + String peerLogin = req.getPeerLogin().trim(); + long beforeTimeMs = req.getBeforeTimeMs() == null ? 0L : req.getBeforeTimeMs(); + String beforeMessageKey = req.getBeforeMessageKey() == null ? "" : req.getBeforeMessageKey().trim(); + + try { + List<SignedMessageV2Entry> page = SignedMessagesV2DAO.getInstance().listConversationPage( + login, + peerLogin, + beforeTimeMs, + beforeMessageKey, + limit + 1 + ); + + boolean hasMore = page.size() > limit; + if (hasMore) { + page = new ArrayList<>(page.subList(0, limit)); + } + + Net_GetDirectMessages_Response resp = new Net_GetDirectMessages_Response(); + resp.setOp(req.getOp()); + resp.setRequestId(req.getRequestId()); + resp.setStatus(WireCodes.Status.OK); + resp.setLogin(login); + resp.setPeerLogin(peerLogin); + resp.setLimit(limit); + resp.setHasMore(hasMore); + + List<Net_GetDirectMessages_Response.MessageItem> items = new ArrayList<>(); + for (SignedMessageV2Entry entry : page) { + Net_GetDirectMessages_Response.MessageItem item = new Net_GetDirectMessages_Response.MessageItem(); + item.setMessageKey(entry.getMessageKey()); + item.setBaseKey(entry.getBaseKey()); + item.setFromLogin(entry.getFromLogin()); + item.setToLogin(entry.getToLogin()); + item.setMessageType(entry.getMessageType()); + item.setTimeMs(entry.getTimeMs()); + item.setNonce(entry.getNonce()); + item.setRevisionTimeMs(entry.getRevisionTimeMs()); + item.setReencryptedAtMs(entry.getReencryptedAtMs()); + item.setCreatedAtMs(entry.getCreatedAtMs()); + item.setReadAtMs(entry.getReadAtMs()); + item.setBlobB64(Base64.getEncoder().encodeToString(entry.getRawBlock())); + items.add(item); + } + resp.setMessages(items); + + if (hasMore && !items.isEmpty()) { + Net_GetDirectMessages_Response.MessageItem last = items.get(items.size() - 1); + resp.setNextBeforeTimeMs(last.getTimeMs()); + resp.setNextBeforeMessageKey(last.getMessageKey()); + } + return resp; + } catch (Exception e) { + log.error("GetDirectMessages failed for login={} peerLogin={}", login, peerLogin, e); + return NetExceptionResponseFactory.error(req, WireCodes.Status.INTERNAL_ERROR, "INTERNAL_ERROR", "Внутренняя ошибка сервера"); + } + } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java index b37804a1..2d681dc1 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java @@ -50,12 +50,20 @@ public final class SignedMessagesRealtime { long now = System.currentTimeMillis(); for (String targetLogin : targetLoginsForMessage(message)) { List<ActiveSessionEntry> sessions = ActiveSessionsDAO.getInstance().getByLogin(targetLogin); + List<String> sessionIdsToTrack = new ArrayList<>(); + for (ActiveSessionEntry s : sessions) { + String sessionId = s.getSessionId(); + if (excludeSessionId != null && excludeSessionId.equals(sessionId)) { + continue; + } + sessionIdsToTrack.add(sessionId); + } + SignedMessagesV2DAO.getInstance().ensureDeliveryRows(message.getMessageKey(), sessionIdsToTrack, now); for (ActiveSessionEntry s : sessions) { String sessionId = s.getSessionId(); if (excludeSessionId != null && excludeSessionId.equals(sessionId)) { continue; } - SignedMessagesV2DAO.getInstance().ensureDeliveryRow(message.getMessageKey(), sessionId, now); boolean deliveredOnline = sendEventToSessionIfOnline(sessionId, targetLogin, message, false); if (deliveredOnline) { counters.wsDelivered++; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Request.java new file mode 100644 index 00000000..47f1da4c --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Request.java @@ -0,0 +1,19 @@ +package server.logic.ws_protocol.JSON.messages.entyties; + +import server.logic.ws_protocol.JSON.entyties.Net_Request; + +public class Net_GetDirectMessages_Request extends Net_Request { + private String peerLogin; + private Integer limit; + private Long beforeTimeMs; + private String beforeMessageKey; + + public String getPeerLogin() { return peerLogin; } + public void setPeerLogin(String peerLogin) { this.peerLogin = peerLogin; } + public Integer getLimit() { return limit; } + public void setLimit(Integer limit) { this.limit = limit; } + public Long getBeforeTimeMs() { return beforeTimeMs; } + public void setBeforeTimeMs(Long beforeTimeMs) { this.beforeTimeMs = beforeTimeMs; } + public String getBeforeMessageKey() { return beforeMessageKey; } + public void setBeforeMessageKey(String beforeMessageKey) { this.beforeMessageKey = beforeMessageKey; } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Response.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Response.java new file mode 100644 index 00000000..fdb914cb --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_GetDirectMessages_Response.java @@ -0,0 +1,71 @@ +package server.logic.ws_protocol.JSON.messages.entyties; + +import server.logic.ws_protocol.JSON.entyties.Net_Response; + +import java.util.ArrayList; +import java.util.List; + +public class Net_GetDirectMessages_Response extends Net_Response { + private String login; + private String peerLogin; + private int limit; + private boolean hasMore; + private Long nextBeforeTimeMs; + private String nextBeforeMessageKey; + private List<MessageItem> messages = new ArrayList<>(); + + public String getLogin() { return login; } + public void setLogin(String login) { this.login = login; } + public String getPeerLogin() { return peerLogin; } + public void setPeerLogin(String peerLogin) { this.peerLogin = peerLogin; } + public int getLimit() { return limit; } + public void setLimit(int limit) { this.limit = limit; } + public boolean isHasMore() { return hasMore; } + public void setHasMore(boolean hasMore) { this.hasMore = hasMore; } + public Long getNextBeforeTimeMs() { return nextBeforeTimeMs; } + public void setNextBeforeTimeMs(Long nextBeforeTimeMs) { this.nextBeforeTimeMs = nextBeforeTimeMs; } + public String getNextBeforeMessageKey() { return nextBeforeMessageKey; } + public void setNextBeforeMessageKey(String nextBeforeMessageKey) { this.nextBeforeMessageKey = nextBeforeMessageKey; } + public List<MessageItem> getMessages() { return messages; } + public void setMessages(List<MessageItem> messages) { this.messages = messages; } + + public static class MessageItem { + private String messageKey; + private String baseKey; + private String fromLogin; + private String toLogin; + private int messageType; + private long timeMs; + private long nonce; + private long revisionTimeMs; + private long reencryptedAtMs; + private long createdAtMs; + private Long readAtMs; + private String blobB64; + + public String getMessageKey() { return messageKey; } + public void setMessageKey(String messageKey) { this.messageKey = messageKey; } + public String getBaseKey() { return baseKey; } + public void setBaseKey(String baseKey) { this.baseKey = baseKey; } + public String getFromLogin() { return fromLogin; } + public void setFromLogin(String fromLogin) { this.fromLogin = fromLogin; } + public String getToLogin() { return toLogin; } + public void setToLogin(String toLogin) { this.toLogin = toLogin; } + public int getMessageType() { return messageType; } + public void setMessageType(int messageType) { this.messageType = messageType; } + public long getTimeMs() { return timeMs; } + public void setTimeMs(long timeMs) { this.timeMs = timeMs; } + public long getNonce() { return nonce; } + public void setNonce(long nonce) { this.nonce = nonce; } + public long getRevisionTimeMs() { return revisionTimeMs; } + public void setRevisionTimeMs(long revisionTimeMs) { this.revisionTimeMs = revisionTimeMs; } + public long getReencryptedAtMs() { return reencryptedAtMs; } + public void setReencryptedAtMs(long reencryptedAtMs) { this.reencryptedAtMs = reencryptedAtMs; } + public long getCreatedAtMs() { return createdAtMs; } + public void setCreatedAtMs(long createdAtMs) { this.createdAtMs = createdAtMs; } + public Long getReadAtMs() { return readAtMs; } + public void setReadAtMs(Long readAtMs) { this.readAtMs = readAtMs; } + public String getBlobB64() { return blobB64; } + public void setBlobB64(String blobB64) { this.blobB64 = blobB64; } + } +} diff --git a/TODO/README.md b/TODO/README.md index 5475728f..6d4c72ff 100644 --- a/TODO/README.md +++ b/TODO/README.md @@ -49,6 +49,7 @@ - `medium/2026-05-26_0029_esp32s3_file_storage.md` - ESP32S3 как личное файловое хранилище SHiNE для файлов переписок и вложений. - `medium/2026-06-02_сессионные_homeserver_в_pda.md` - несколько homeserver-ов пользователя как типизированные сессии в PDA с версией записи. - `medium/2026-06-03_подключение_других_устройств_через_qr.md` - довести подключение других устройств через QR: сейчас заготовка есть, но сценарий работает нестабильно и его нужно будет отдельно доделать. +- `medium/2026-07-22_переход_с_sqlite_на_postgresql.md` - подготовить перевод серверной БД с `SQLite` на `PostgreSQL` для более серьёзной конкурентной нагрузки и дальнейшего масштабирования. ### dao_запуск diff --git a/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md new file mode 100644 index 00000000..3be89265 --- /dev/null +++ b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md @@ -0,0 +1,36 @@ +# Переход с SQLite на PostgreSQL + +## Зачем + +Текущая серверная база на `SQLite` удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера. + +`PostgreSQL` нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта. + +## Что сделать + +- Подготовить план переноса серверной БД с `SQLite` на `PostgreSQL`. +- Найти все места, где код завязан на особенности `SQLite`. +- Проверить все DAO и SQL-запросы на совместимость с `PostgreSQL`. +- Продумать схему миграции существующей production/test базы без потери данных. +- Отдельно проверить транзакции, `UPSERT`, индексы, case-insensitive сравнения и миграции схемы. +- После этого подготовить отдельный этап внедрения и переключения сервера. + +## Что уже есть в коде + +- Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту. +- Основная серверная логика уже разделена по модулям. +- Но SQL и миграции сейчас написаны под `SQLite` и потребуют отдельного прохода. + +## Откуда продолжать + +- Начать с инвентаризации всех DAO и схемы БД. +- После этого сделать отдельный документ с оценкой объёма работ по переносу. +- Затем решить, будет ли это: + - полный перевод сервера на `PostgreSQL`; + - или поддержка двух драйверов на переходный период. + +## Что потом обновить + +- Серверную документацию по БД и миграциям. +- Инструкции по локальному запуску сервера. +- Скрипты деплоя и настройки окружения. diff --git a/docs/API/12_Direct_Messages_Push_Calls_API.md b/docs/API/12_Direct_Messages_Push_Calls_API.md index 2a12d0a1..114b0d03 100644 --- a/docs/API/12_Direct_Messages_Push_Calls_API.md +++ b/docs/API/12_Direct_Messages_Push_Calls_API.md @@ -176,7 +176,72 @@ } ``` -## 7. `AckSessionDelivery` +## 7. `GetDirectMessages` + +Требует авторизации. Возвращает историю диалога с конкретным собеседником страницами. + +Важно: + +- начиная с 22 июля 2026 года сервер больше не высылает старую DM-историю автоматически при логине; +- после подключения клиент должен сам запросить первую страницу диалога; +- новые realtime-сообщения по-прежнему приходят событием `SignedMessageArrived`. +- в `GetDirectMessages` сервер отдаёт только обычные chat-сообщения (`type=1/2`), без read-receipt и delete/tombstone. + +### Запрос + +```json +{ + "op": "GetDirectMessages", + "requestId": "dm-history-001", + "payload": { + "peerLogin": "bob", + "limit": 50, + "beforeTimeMs": 1774700000123, + "beforeMessageKey": "alice|bob|1774700000123|123456789|1" + } +} +``` + +`beforeTimeMs` и `beforeMessageKey` необязательны. Если их нет, сервер вернёт самую новую страницу. + +### Успешный ответ + +```json +{ + "op": "GetDirectMessages", + "requestId": "dm-history-001", + "status": 200, + "ok": true, + "payload": { + "login": "alice", + "peerLogin": "bob", + "limit": 50, + "hasMore": true, + "nextBeforeTimeMs": 1774699999000, + "nextBeforeMessageKey": "alice|bob|1774699999000|123456780|2", + "messages": [ + { + "messageKey": "alice|bob|1774700000123|123456789|1", + "baseKey": "alice|bob|1774700000123|123456789", + "fromLogin": "alice", + "toLogin": "bob", + "messageType": 1, + "timeMs": 1774700000123, + "nonce": 123456789, + "revisionTimeMs": 0, + "reencryptedAtMs": 0, + "createdAtMs": 1774700001123, + "readAtMs": 1774700001456, + "blobB64": "BASE64_SIGNED_BLOCK" + } + ] + } +} +``` + +Для следующей страницы клиент должен передать `nextBeforeTimeMs` и `nextBeforeMessageKey` из предыдущего ответа. + +## 8. `AckSessionDelivery` Требует авторизации. Подтверждает доставку в текущую сессию. @@ -192,7 +257,7 @@ } ``` -## 8. Событие `SignedMessageArrived` +## 9. Событие `SignedMessageArrived` Сервер присылает его по WebSocket в активные сессии адресата. @@ -217,7 +282,7 @@ Для типов `5/6/7/8` событие тоже приходит в таком же конверте, но логика применения определяется `messageType` и бинарным `blobB64`. -## 9. `CallInviteBroadcast` +## 10. `CallInviteBroadcast` Требует авторизации. Шлёт приглашение к звонку в активные сессии `toLogin`. diff --git a/shine-UI/js/app.js b/shine-UI/js/app.js index 27f95d22..f24721a0 100644 --- a/shine-UI/js/app.js +++ b/shine-UI/js/app.js @@ -1203,7 +1203,7 @@ async function init() { } if (refBaseKey) { if (messageType === 3) { - markOutgoingReadByBaseKey(refBaseKey); + markOutgoingReadByBaseKey(refBaseKey, Number(parsed.timeMs || 0)); } else { if (markIncomingReadByBaseKey(refBaseKey)) { shouldRefreshToolbarUnread = true; diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 7ecb9cd6..ce2e08b7 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -144,6 +144,7 @@ function openMessageActionsMenu({ anchorX = 0, anchorY = 0, messageText = '', + infoText = '', canReply = false, showReadAloud = true, canEdit = false, @@ -165,6 +166,7 @@ function openMessageActionsMenu({ ${showReadAloud ? '<button class="secondary-btn dm-message-action-btn" type="button" id="msg-action-read">Прочесть</button>' : ''} ${canEdit ? '<button class="secondary-btn dm-message-action-btn" type="button" id="msg-action-edit">Изменить</button>' : ''} ${canDelete ? '<button class="secondary-btn dm-message-action-btn dm-message-action-btn--danger" type="button" id="msg-action-delete">Удалить</button>' : ''} + ${String(infoText || '').trim() ? `<div class="meta-muted">${String(infoText || '').trim()}</div>` : ''} </div> </div> `; @@ -438,9 +440,27 @@ function buildCallStatusText(callSummary) { return 'Не дозвонился'; } -function resolveDeliveryStatus(msg) { +function resolveEffectiveReadState(messages, msg) { + if (msg?.from !== 'out') return { isRead: false, readAtMs: 0 }; + const explicitReadAtMs = Number(msg?.readAtMs || 0); + if (Number.isFinite(explicitReadAtMs) && explicitReadAtMs > 0) { + return { isRead: true, readAtMs: explicitReadAtMs }; + } + if (msg?.secondTick) { + return { isRead: true, readAtMs: 0 }; + } + const messageTimeMs = resolveMessageTimeMs(msg); + const hasNewerRead = (messages || []).some((row) => { + if (row?.from !== 'out') return false; + if (resolveMessageTimeMs(row) <= messageTimeMs) return false; + return Boolean(Number(row?.readAtMs || 0) > 0 || row?.secondTick); + }); + return { isRead: hasNewerRead, readAtMs: 0 }; +} + +function resolveDeliveryStatus(messages, msg) { if (msg?.from !== 'out') return ''; - if (msg?.secondTick) return '✓✓'; + if (resolveEffectiveReadState(messages, msg).isRead) return '✓✓'; if (msg?.firstTick) return '✓'; return '…'; } @@ -625,7 +645,7 @@ function renderLog(list, chatId, { onOpenActions, markAsRead = true, scrollMode timeNode.textContent = formatMessageTime(resolveMessageTimeMs(msg)); metaNode.append(timeNode); - const status = resolveDeliveryStatus(msg); + const status = resolveDeliveryStatus(messages, msg); if (status) { const statusNode = document.createElement('span'); statusNode.className = 'bubble-status'; @@ -684,6 +704,49 @@ function preserveComposerSelection(input, callback) { } } +async function mergeDirectMessagesPage(chatId, payloadMessages) { + const items = Array.isArray(payloadMessages) ? [...payloadMessages] : []; + items.sort((a, b) => Number(a?.timeMs || 0) - Number(b?.timeMs || 0)); + for (const item of items) { + const blobB64 = String(item?.blobB64 || '').trim(); + const messageKey = String(item?.messageKey || '').trim(); + if (!blobB64 || !messageKey) continue; + try { + const parsed = authService.parseSignedMessageBlob(blobB64); + let text = ''; + try { + const decrypted = await authService.decryptSignedMessageContent({ + parsed, + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + }); + text = String(decrypted?.text || ''); + } catch (error) { + text = `Нерасшифрованное сообщение (${error?.message || 'decrypt failed'})`; + } + addSignedMessageToChat({ + chatId, + messageKey, + baseKey: String(item?.baseKey || parsed?.baseKey || ''), + from: Number(parsed?.messageType || 0) === 2 ? 'out' : 'in', + text, + messageType: Number(parsed?.messageType || item?.messageType || 0), + unread: false, + readAtMs: Number(item?.readAtMs || 0), + rawBlobB64: blobB64, + revisionTimeMs: Number(item?.revisionTimeMs || parsed?.revisionTimeMs || 0), + }); + } catch (error) { + addAppLogEntry({ + level: 'warn', + source: 'dm-history', + message: 'Не удалось обработать сообщение из истории DM', + details: { chatId, messageKey, error: error?.message || 'unknown' }, + }); + } + } +} + function setChatKeyboardOpen(isOpen) { document.body.classList.toggle('chat-keyboard-open', !!isOpen); } @@ -703,6 +766,12 @@ export function render({ navigate, route }) { const isTextToSpeechReady = isTextToSpeechConfigured(state.entrySettings); const isKnownContact = (state.contacts || []).some((x) => String(x || '').toLowerCase() === String(chatId || '').toLowerCase()); const hasUnreadIncoming = getChatMessages(chatId).some((msg) => msg?.from === 'in' && msg?.unread); + let historyHasMore = true; + let historyLoading = false; + let historyNextBeforeTimeMs = 0; + let historyNextBeforeMessageKey = ''; + let historyBootstrapped = false; + let boundScrollContainer = null; const handleReadAloud = async (msg) => { if (!isTextToSpeechConfigured(state.entrySettings)) { @@ -1195,10 +1264,14 @@ export function render({ navigate, route }) { const handleOpenActions = (msg, event) => { const parsed = parseDmTechBlocks(String(msg?.text || '')); + const readState = resolveEffectiveReadState(getChatMessages(chatId), msg); openMessageActionsMenu({ anchorX: Number(event?.clientX || 0), anchorY: Number(event?.clientY || 0), messageText: parsed?.displayText || msg?.text || '', + infoText: (msg?.from === 'out' && readState.readAtMs > 0) + ? `Прочитано: ${formatMessageTime(readState.readAtMs)}` + : '', canReply: true, showReadAloud: isTextToSpeechReady, canEdit: msg?.from === 'out' && Number(msg?.messageType || 0) === 2 && !parsed?.callSummary, @@ -1227,6 +1300,55 @@ export function render({ navigate, route }) { }); }; + const loadHistoryPage = async ({ preserveScroll = false } = {}) => { + if (historyLoading) return; + if (historyBootstrapped && !historyHasMore) return; + historyLoading = true; + const scrollContainer = boundScrollContainer || log.closest('.screen-content') || wrap.parentElement || wrap; + const prevScrollTop = Number(scrollContainer?.scrollTop || 0); + const prevScrollHeight = Number(scrollContainer?.scrollHeight || 0); + try { + const payload = await authService.getDirectMessages({ + peerLogin: chatId, + limit: 50, + beforeTimeMs: historyBootstrapped ? historyNextBeforeTimeMs : 0, + beforeMessageKey: historyBootstrapped ? historyNextBeforeMessageKey : '', + }); + await mergeDirectMessagesPage(chatId, payload?.messages || []); + historyHasMore = Boolean(payload?.hasMore); + historyNextBeforeTimeMs = Number(payload?.nextBeforeTimeMs || 0); + historyNextBeforeMessageKey = String(payload?.nextBeforeMessageKey || '').trim(); + historyBootstrapped = true; + renderLog(log, chatId, { onOpenActions: handleOpenActions, markAsRead: false, scrollMode: preserveScroll ? 'preserve' : 'latest' }); + if (preserveScroll) { + window.requestAnimationFrame(() => { + const nextHeight = Number(scrollContainer?.scrollHeight || 0); + scrollContainer.scrollTop = Math.max(0, prevScrollTop + (nextHeight - prevScrollHeight)); + }); + } else { + window.requestAnimationFrame(() => scrollToLatestMessage(log)); + } + void sendReadReceiptsForVisible(chatId); + } catch (error) { + addAppLogEntry({ + level: 'warn', + source: 'dm-history', + message: 'Не удалось загрузить историю DM', + details: { chatId, error: error?.message || 'unknown' }, + }); + } finally { + historyLoading = false; + } + }; + + const handleHistoryScroll = () => { + const scrollContainer = boundScrollContainer || log.closest('.screen-content') || wrap.parentElement || wrap; + if (!scrollContainer) return; + if (Number(scrollContainer.scrollTop || 0) > 120) return; + if (!historyBootstrapped || !historyHasMore || historyLoading) return; + void loadHistoryPage({ preserveScroll: true }); + }; + editCancelBtn?.addEventListener('click', () => { if (activeEdit) { cancelEditMode({ restoreDraft: true }); @@ -1367,12 +1489,18 @@ export function render({ navigate, route }) { } }, 220); void sendReadReceiptsForVisible(chatId); + window.requestAnimationFrame(() => { + boundScrollContainer = log.closest('.screen-content') || wrap.parentElement || wrap; + boundScrollContainer?.addEventListener('scroll', handleHistoryScroll, { passive: true }); + void loadHistoryPage({ preserveScroll: false }); + }); screen.cleanup = () => { setChatKeyboardOpen(false); stopAllTwemojiAnimations(); window.removeEventListener('shine-chat-messages-updated', handleIncomingChatRefresh); window.visualViewport?.removeEventListener('resize', syncKeyboardUi); window.removeEventListener('resize', syncKeyboardUi); + boundScrollContainer?.removeEventListener('scroll', handleHistoryScroll); }; return screen; } diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index 029201ce..6bc03eeb 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -2579,6 +2579,23 @@ export class AuthService { }; } + async getDirectMessages({ peerLogin, limit = 50, beforeTimeMs = 0, beforeMessageKey = '' } = {}) { + const payload = { + peerLogin: String(peerLogin || '').trim(), + limit: Number(limit || 0), + }; + if (!payload.peerLogin) throw new Error('Не передан peerLogin'); + if (Number.isFinite(Number(beforeTimeMs)) && Number(beforeTimeMs) > 0) { + payload.beforeTimeMs = Math.trunc(Number(beforeTimeMs)); + } + if (String(beforeMessageKey || '').trim()) { + payload.beforeMessageKey = String(beforeMessageKey || '').trim(); + } + const response = await this.ws.request('GetDirectMessages', payload); + if (response.status !== 200) throw opError('GetDirectMessages', response); + return response.payload || {}; + } + async ackSessionDelivery(messageKey) { const response = await this.ws.request('AckSessionDelivery', { messageKey }); if (response.status !== 200) throw opError('AckSessionDelivery', response); diff --git a/shine-UI/js/state.js b/shine-UI/js/state.js index 9cc7242f..a26c0260 100644 --- a/shine-UI/js/state.js +++ b/shine-UI/js/state.js @@ -420,6 +420,7 @@ function persistMessageRecord(chatId, row) { unread: Boolean(row.unread), firstTick: Boolean(row.firstTick), secondTick: Boolean(row.secondTick), + readAtMs: Number(row.readAtMs || 0), readReceiptSent: Boolean(row.readReceiptSent), refBaseKey: String(row.refBaseKey || ''), ts: resolvedTs > 0 ? resolvedTs : Date.now(), @@ -455,6 +456,7 @@ export async function hydrateMessagesFromStore() { unread: Boolean(row.unread), firstTick: Boolean(row.firstTick), secondTick: Boolean(row.secondTick), + readAtMs: Number(row.readAtMs || 0), readReceiptSent: Boolean(row.readReceiptSent), refBaseKey: String(row.refBaseKey || ''), createdAtMs: Number(row.ts || 0), @@ -556,8 +558,9 @@ export function markOutgoingSent(tempId, { messageKey = '', baseKey = '' } = {}) }); } -export function markOutgoingReadByBaseKey(baseKey) { +export function markOutgoingReadByBaseKey(baseKey, readAtMs = 0) { if (!baseKey) return; + const normalizedReadAtMs = Number(readAtMs || 0); const keys = Object.keys(state.chats || {}); let matched = false; keys.forEach((chatId) => { @@ -567,6 +570,9 @@ export function markOutgoingReadByBaseKey(baseKey) { if (row.baseKey === baseKey) { matched = true; row.secondTick = true; + if (Number.isFinite(normalizedReadAtMs) && normalizedReadAtMs > 0) { + row.readAtMs = normalizedReadAtMs; + } persistMessageRecord(chatId, row); } }); @@ -574,7 +580,9 @@ export function markOutgoingReadByBaseKey(baseKey) { if (matched) { delete state.pendingOutgoingReadByBaseKey[baseKey]; } else { - state.pendingOutgoingReadByBaseKey[baseKey] = true; + state.pendingOutgoingReadByBaseKey[baseKey] = (Number.isFinite(normalizedReadAtMs) && normalizedReadAtMs > 0) + ? normalizedReadAtMs + : true; } return matched; } @@ -626,6 +634,7 @@ export function addSignedMessageToChat({ text = '', messageType = 1, unread = false, + readAtMs = 0, rawBlobB64 = '', refBaseKey = '', revisionTimeMs = 0, @@ -667,9 +676,14 @@ export function addSignedMessageToChat({ row.refBaseKey = String(refBaseKey || ''); row.firstTick = row.from === 'out'; row.secondTick = Boolean(existing?.secondTick); + row.readAtMs = Number(existing?.readAtMs || 0); row.readReceiptSent = Boolean(existing?.readReceiptSent); if (row.baseKey && row.from === 'out' && state.pendingOutgoingReadByBaseKey[row.baseKey]) { row.secondTick = true; + const pendingReadAtMs = Number(state.pendingOutgoingReadByBaseKey[row.baseKey] || 0); + if (Number.isFinite(pendingReadAtMs) && pendingReadAtMs > 0) { + row.readAtMs = pendingReadAtMs; + } delete state.pendingOutgoingReadByBaseKey[row.baseKey]; } if (row.baseKey && row.from === 'in' && state.pendingIncomingReadByBaseKey[row.baseKey]) { @@ -681,6 +695,13 @@ export function addSignedMessageToChat({ if (existingIndex < 0) { list.push(row); } + const nextReadAtMs = Number(readAtMs || 0); + if (Number.isFinite(nextReadAtMs) && nextReadAtMs > 0) { + row.readAtMs = nextReadAtMs; + if (row.from === 'out') { + row.secondTick = true; + } + } sortChatMessagesInPlace(normalizedChatId); persistMessageRecord(normalizedChatId, row); return true; From d24d1c178b9a395157e875b5e46542f1ed62cb066870e9965b08cc785f2facbd Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 14:12:10 +0400 Subject: [PATCH 10/83] Shorten public UI routes --- shine-UI/js/pages/channel-thread-view.js | 2 +- shine-UI/js/pages/channel-view.js | 2 +- shine-UI/js/pages/channels-list.js | 2 +- shine-UI/js/pages/developer-settings-view.js | 2 +- shine-UI/js/pages/messages-list.js | 2 +- shine-UI/js/pages/network-view.js | 4 +- shine-UI/js/router.js | 218 ++++++++++++++++-- shine-UI/js/services/shine-routes.js | 18 +- shine-UI/js/services/solana-wallet-service.js | 2 +- 9 files changed, 220 insertions(+), 32 deletions(-) diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index f34170cd..61cce350 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -878,7 +878,7 @@ export function render({ navigate, route }) { const login = state.session.login; const storagePwd = state.session.storagePwdInMemory; if (!login || !storagePwd) { - state.authReturnHash = window.location.pathname || '/channels-list'; + state.authReturnHash = window.location.pathname || '/channels'; navigate('login-view'); throw new Error('Для этого действия нужно войти'); } diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index ed2d0c84..9780c031 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -1200,7 +1200,7 @@ export function render({ navigate, route }) { const login = state.session.login; const storagePwd = state.session.storagePwdInMemory; if (!login || !storagePwd) { - state.authReturnHash = window.location.pathname || '/channels-list'; + state.authReturnHash = window.location.pathname || '/channels'; navigate('login-view'); throw new Error('Для этого действия нужно войти'); } diff --git a/shine-UI/js/pages/channels-list.js b/shine-UI/js/pages/channels-list.js index 98b02f6b..0c12dd65 100644 --- a/shine-UI/js/pages/channels-list.js +++ b/shine-UI/js/pages/channels-list.js @@ -1197,7 +1197,7 @@ export function render({ navigate, route }) { const rerenderList = () => { try { - const expectedPath = '/channels-list'; + const expectedPath = '/channels'; if (window.location.pathname !== expectedPath) { window.history.replaceState({}, '', expectedPath); } diff --git a/shine-UI/js/pages/developer-settings-view.js b/shine-UI/js/pages/developer-settings-view.js index b570a909..a404bbbe 100644 --- a/shine-UI/js/pages/developer-settings-view.js +++ b/shine-UI/js/pages/developer-settings-view.js @@ -185,7 +185,7 @@ function openDeveloperAvatarUploadModal({ walletLogin, storagePwd, gateway } = { async function forceUiUpdateNow() { try { - window.history.replaceState({}, '', '/settings-view'); + window.history.replaceState({}, '', '/settings'); window.dispatchEvent(new PopStateEvent('popstate')); } catch {} if (!('serviceWorker' in navigator)) { diff --git a/shine-UI/js/pages/messages-list.js b/shine-UI/js/pages/messages-list.js index 7299a77b..620d7ef3 100644 --- a/shine-UI/js/pages/messages-list.js +++ b/shine-UI/js/pages/messages-list.js @@ -142,7 +142,7 @@ export function render({ navigate }) { if (previewEl) previewEl.textContent = resolveLastMessagePreview(item.lastMessage) || 'Диалог пока пуст.'; if (timeEl) timeEl.textContent = String(item.time || ''); row.prepend(avatarWrap); - row.addEventListener('click', () => navigate(`chat-view/${encodeURIComponent(normalizeDmChatId(item.id))}`)); + row.addEventListener('click', () => navigate(`chat/${encodeURIComponent(normalizeDmChatId(item.id))}`)); return row; } diff --git a/shine-UI/js/pages/network-view.js b/shine-UI/js/pages/network-view.js index b76c1137..733e21a1 100644 --- a/shine-UI/js/pages/network-view.js +++ b/shine-UI/js/pages/network-view.js @@ -430,7 +430,7 @@ export function render({ navigate, route }) { const act = btn.dataset.act; if (act === 'close') hideNodeSheet(); else if (act === 'profile') { const r = profileInfoRoute(login); if (r) navigate(r); } - else if (act === 'write') navigate(`chat-view/${encodeURIComponent(login)}`); + else if (act === 'write') navigate(`chat/${encodeURIComponent(login)}`); }; } @@ -462,7 +462,7 @@ export function render({ navigate, route }) { point, actions: [ { label: 'Профиль', onClick: () => { const r = profileInfoRoute(login); if (r) navigate(r); } }, - { label: 'Написать', onClick: () => navigate(`chat-view/${encodeURIComponent(login)}`) }, + { label: 'Написать', onClick: () => navigate(`chat/${encodeURIComponent(login)}`) }, ], }); }, diff --git a/shine-UI/js/router.js b/shine-UI/js/router.js index 637dc031..a1b675fb 100644 --- a/shine-UI/js/router.js +++ b/shine-UI/js/router.js @@ -1,6 +1,53 @@ import { parseShineRootSegment } from './services/shine-routes.js'; const ROOT_PAGES = ['messages-list', 'channels-list', 'network-view', 'notifications-view', 'profile-view']; +const PRETTY_PATHS = new Map([ + ['start-view', 'start'], + ['entry-settings-view', 'entry-settings'], + ['register-view', 'register'], + ['registration-faq-view', 'register/faq'], + ['registration-payment-view', 'register/payment'], + ['registration-draft-keys-view', 'register/draft-keys'], + ['registration-keys-view', 'register/keys'], + ['topup-view', 'topup'], + ['devnet-topup-view', 'devnet-topup'], + ['login-view', 'login'], + ['login-camera-view', 'login/camera'], + ['login-other-device-view', 'login/device'], + ['login-password-view', 'login/password'], + ['key-storage-view', 'key-storage'], + ['profile-view', 'profile'], + ['profile-edit-view', 'profile/edit'], + ['messages-list', 'messages'], + ['contact-search-view', 'contacts'], + ['chat-view', 'chat'], + ['channels-list', 'channels'], + ['add-channel-view', 'channels/new'], + ['add-personal-public-chat-view', 'channels/new-public-chat'], + ['channel-view', 'channel'], + ['channel-thread-view', 'thread'], + ['network-view', 'network'], + ['notifications-view', 'notifications'], + ['settings-view', 'settings'], + ['server-settings-view', 'settings/servers'], + ['tools-settings-view', 'settings/tools'], + ['developer-settings-view', 'settings/developer'], + ['trusted-device-login-settings-view', 'settings/device-login'], + ['language-view', 'settings/language'], + ['app-log-view', 'settings/app-log'], + ['pwa-diagnostics-view', 'settings/pwa-diagnostics'], + ['solana-users-init-view', 'settings/solana-users-init'], + ['solana-rpc-check-view', 'settings/solana-rpc-check'], + ['wallet-view', 'wallet'], + ['device-view', 'devices'], + ['device-session-view', 'devices'], + ['connect-device-view', 'devices/connect'], + ['device-pairing-view', 'devices/pairing'], + ['device-qr-view', 'devices/qr'], + ['device-camera-view', 'devices/camera'], + ['show-keys-view', 'devices/keys'], + ['remote-addblock-session-view', 'remote-addblock-session'], +]); export const PRE_AUTH_PAGES = [ 'start-view', @@ -39,6 +86,7 @@ export function getRoute() { return value || ''; } }; + const isLikelyBlockNumber = (value) => /^[0-9]+$/.test(String(value || '').trim()); const shineLogin = parseShineRootSegment(pageId); if (shineLogin) { @@ -68,12 +116,12 @@ export function getRoute() { params: { mode: 'feed', login: shineLogin, scope: 'all' }, }; } - if (section === 'msg') { + if (segments.length === 2 && isLikelyBlockNumber(segments[1])) { return { pageId: 'channel-thread-view', params: { - messageBlockchainName: decodePart(segments[2]), - messageBlockNumber: segments[3] || '', + messageBlockchainName: shineLogin, + messageBlockNumber: segments[1] || '', messageBlockHash: '', channelOwnerBlockchainName: '', channelRootBlockNumber: '', @@ -81,10 +129,10 @@ export function getRoute() { }, }; } - if (section === 'channel') { - const ownerBlockchainName = decodePart(segments[2] || ''); - const channelName = decodePart(segments[3] || ''); - const messageBlockNumber = segments[4] || ''; + if (segments.length >= 2) { + const ownerBlockchainName = shineLogin; + const channelName = decodePart(segments[1] || ''); + const messageBlockNumber = segments[2] || ''; if (ownerBlockchainName && channelName && messageBlockNumber) { return { pageId: 'channel-thread-view', @@ -100,15 +148,147 @@ export function getRoute() { }, }; } - return { - pageId: 'channel-view', - params: { ownerBlockchainName, channelName, channelId: '' }, - }; + if (ownerBlockchainName && channelName) { + return { + pageId: 'channel-view', + params: { ownerBlockchainName, channelName, channelId: '' }, + }; + } } } - if (pageId === 'chat-view') { - return { pageId, params: { chatId: dynamicId ? decodeURIComponent(dynamicId) : '' } }; + if (pageId === 'chat' || pageId === 'chat-view') { + return { pageId: 'chat-view', params: { chatId: dynamicId ? decodeURIComponent(dynamicId) : '' } }; + } + + if (pageId === 'start') { + return { pageId: 'start-view', params: {} }; + } + + if (pageId === 'entry-settings') { + return { pageId: 'entry-settings-view', params: {} }; + } + + if (pageId === 'register') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'faq') return { pageId: 'registration-faq-view', params: {} }; + if (sub === 'payment') return { pageId: 'registration-payment-view', params: {} }; + if (sub === 'draft-keys') return { pageId: 'registration-draft-keys-view', params: {} }; + if (sub === 'keys') return { pageId: 'registration-keys-view', params: {} }; + return { pageId: 'register-view', params: {} }; + } + + if (pageId === 'topup') { + return { pageId: 'topup-view', params: {} }; + } + + if (pageId === 'devnet-topup') { + return { pageId: 'devnet-topup-view', params: {} }; + } + + if (pageId === 'login') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'camera') return { pageId: 'login-camera-view', params: {} }; + if (sub === 'device') return { pageId: 'login-other-device-view', params: {} }; + if (sub === 'password') return { pageId: 'login-password-view', params: {} }; + return { pageId: 'login-view', params: {} }; + } + + if (pageId === 'key-storage') { + return { pageId: 'key-storage-view', params: {} }; + } + + if (pageId === 'profile') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'edit') return { pageId: 'profile-edit-view', params: {} }; + return { pageId: 'profile-view', params: {} }; + } + + if (pageId === 'messages') { + return { pageId: 'messages-list', params: {} }; + } + + if (pageId === 'contacts') { + return { pageId: 'contact-search-view', params: {} }; + } + + if (pageId === 'channels') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'new') return { pageId: 'add-channel-view', params: {} }; + if (sub === 'new-public-chat') return { pageId: 'add-personal-public-chat-view', params: {} }; + return { pageId: 'channels-list', params: { mode: segments[1] ? decodePart(segments[1]) : '' } }; + } + + if (pageId === 'channel') { + if (segments.length >= 4) { + return { + pageId: 'channel-view', + params: { + ownerBlockchainName: decodePart(segments[1]), + channelRootBlockNumber: segments[2] || '', + channelRootBlockHash: segments[3] || '', + channelId: '', + }, + }; + } + return { pageId: 'channel-view', params: { channelId: dynamicId || '' } }; + } + + if (pageId === 'thread') { + return { + pageId: 'channel-thread-view', + params: { + messageBlockchainName: decodePart(segments[1]), + messageBlockNumber: segments[2] || '', + messageBlockHash: '', + channelOwnerBlockchainName: decodePart(segments[3]), + channelRootBlockNumber: segments[4] || '', + channelRootBlockHash: segments[5] || '', + }, + }; + } + + if (pageId === 'network') { + return { pageId: 'network-view', params: { mode: segments[1] ? decodePart(segments[1]) : '' } }; + } + + if (pageId === 'notifications') { + return { pageId: 'notifications-view', params: {} }; + } + + if (pageId === 'settings') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'servers') return { pageId: 'server-settings-view', params: {} }; + if (sub === 'tools') return { pageId: 'tools-settings-view', params: {} }; + if (sub === 'developer') return { pageId: 'developer-settings-view', params: {} }; + if (sub === 'device-login') return { pageId: 'trusted-device-login-settings-view', params: {} }; + if (sub === 'language') return { pageId: 'language-view', params: {} }; + if (sub === 'app-log') return { pageId: 'app-log-view', params: {} }; + if (sub === 'pwa-diagnostics') return { pageId: 'pwa-diagnostics-view', params: {} }; + if (sub === 'solana-users-init') return { pageId: 'solana-users-init-view', params: {} }; + if (sub === 'solana-rpc-check') return { pageId: 'solana-rpc-check-view', params: {} }; + return { pageId: 'settings-view', params: {} }; + } + + if (pageId === 'wallet') { + return { pageId: 'wallet-view', params: {} }; + } + + if (pageId === 'devices') { + const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'connect') return { pageId: 'connect-device-view', params: {} }; + if (sub === 'pairing') return { pageId: 'device-pairing-view', params: {} }; + if (sub === 'qr') return { pageId: 'device-qr-view', params: {} }; + if (sub === 'camera') return { pageId: 'device-camera-view', params: {} }; + if (sub === 'keys') return { pageId: 'show-keys-view', params: {} }; + if (dynamicId) { + return { pageId: 'device-session-view', params: { sessionId: decodeURIComponent(dynamicId) } }; + } + return { pageId: 'device-view', params: {} }; + } + + if (pageId === 'remote-addblock-session') { + return { pageId: 'remote-addblock-session-view', params: {} }; } if (pageId === 'channel-view') { @@ -160,7 +340,7 @@ export function getRoute() { } export function navigate(path) { - const cleanPath = String(path || '').replace(/^\/+/, ''); + const cleanPath = toPrettyPath(path); const nextPath = cleanPath ? `/${cleanPath}` : '/'; if (window.location.pathname !== nextPath) { window.history.pushState({}, '', nextPath); @@ -168,6 +348,16 @@ export function navigate(path) { window.dispatchEvent(new PopStateEvent('popstate')); } +export function toPrettyPath(path) { + const raw = String(path || '').replace(/^\/+/, '').replace(/\/+$/, ''); + if (!raw) return ''; + const segments = raw.split('/').filter(Boolean); + if (!segments.length) return ''; + const [head, ...tail] = segments; + const prettyHead = PRETTY_PATHS.get(head) || head; + return [prettyHead, ...tail].join('/'); +} + export function navigateBack() { if (window.history.length <= 1) return; window.history.back(); diff --git a/shine-UI/js/services/shine-routes.js b/shine-UI/js/services/shine-routes.js index 5b50929f..6026e628 100644 --- a/shine-UI/js/services/shine-routes.js +++ b/shine-UI/js/services/shine-routes.js @@ -23,17 +23,17 @@ export function extractLoginFromBlockchainName(value = '') { export function makeProfileRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}` : 'profile-view'; + return clean ? `shine.${encodeRoutePart(clean)}` : 'profile'; } export function makeProfileLinksRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}/links` : 'network-view/keep-history'; + return clean ? `shine.${encodeRoutePart(clean)}/links` : 'network/keep-history'; } export function makeProfileChannelsRoute(login = '', scope = 'all') { const clean = normalizeLogin(login); - if (!clean) return 'channels-list/feed'; + if (!clean) return 'channels/feed'; const normalizedScope = String(scope || '').trim().toLowerCase(); if (normalizedScope === 'owned') return `shine.${encodeRoutePart(clean)}/channels/owned`; if (normalizedScope === 'following') return `shine.${encodeRoutePart(clean)}/channels/following`; @@ -41,21 +41,19 @@ export function makeProfileChannelsRoute(login = '', scope = 'all') { } export function makeShineChannelRoute({ ownerLogin = '', ownerBlockchainName = '', channelName = '', messageBlockNumber = '' }) { - const cleanOwnerLogin = normalizeLogin(ownerLogin) || extractLoginFromBlockchainName(ownerBlockchainName); const ownerBch = String(ownerBlockchainName || '').trim(); const chName = String(channelName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); - if (!cleanOwnerLogin || !ownerBch || !chName) return ''; - if (msgNo) return `shine.${encodeRoutePart(cleanOwnerLogin)}/channel/${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; - return `shine.${encodeRoutePart(cleanOwnerLogin)}/channel/${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; + if (!ownerBch || !chName) return ''; + if (msgNo) return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; + return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; } export function makeShineMessageRoute({ ownerLogin = '', messageBlockchainName = '', messageBlockNumber = '' }) { - const cleanOwnerLogin = normalizeLogin(ownerLogin); const msgBch = String(messageBlockchainName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); - if (!cleanOwnerLogin || !msgBch || !msgNo) return ''; - return `shine.${encodeRoutePart(cleanOwnerLogin)}/msg/${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; + if (!msgBch || !msgNo) return ''; + return `shine.${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; } export function parseShineRootSegment(segment = '') { diff --git a/shine-UI/js/services/solana-wallet-service.js b/shine-UI/js/services/solana-wallet-service.js index defdc926..444ff2cf 100644 --- a/shine-UI/js/services/solana-wallet-service.js +++ b/shine-UI/js/services/solana-wallet-service.js @@ -4,7 +4,7 @@ import { SOLANA_ENDPOINT_DEFAULT } from '../solana-programs.js'; import { loadSolanaWeb3 } from '../vendor/solana-web3-loader.js'; const DEFAULT_SOLANA_ENDPOINT = SOLANA_ENDPOINT_DEFAULT; -const TOPUP_SITE_URL = '/devnet-topup-view'; +const TOPUP_SITE_URL = '/devnet-topup'; let solanaLibPromise = null; const BASE58_RE = /^[1-9A-HJ-NP-Za-km-z]+$/; From 38141ea5c7b340798293c6d1df5fe3b3026de04175c74b29bd68a265b190c662 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 15:12:48 +0400 Subject: [PATCH 11/83] Refresh profile header action icons --- VERSION.properties | 4 +- shine-UI/assets/profile-icon-profile.svg | 5 ++ shine-UI/assets/profile-icon-settings.svg | 12 ++++ shine-UI/assets/profile-icon-wallet.svg | 6 ++ shine-UI/js/pages/profile-view.js | 12 +++- shine-UI/styles/components.css | 68 +++++++++++++++++------ 6 files changed, 88 insertions(+), 19 deletions(-) create mode 100644 shine-UI/assets/profile-icon-profile.svg create mode 100644 shine-UI/assets/profile-icon-settings.svg create mode 100644 shine-UI/assets/profile-icon-wallet.svg diff --git a/VERSION.properties b/VERSION.properties index 7402b000..3e890aa2 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.339 -server.version=1.2.311 +client.version=1.2.340 +server.version=1.2.312 diff --git a/shine-UI/assets/profile-icon-profile.svg b/shine-UI/assets/profile-icon-profile.svg new file mode 100644 index 00000000..73b7bf52 --- /dev/null +++ b/shine-UI/assets/profile-icon-profile.svg @@ -0,0 +1,5 @@ +<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> + <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> + <circle cx="32" cy="26" r="8.5" stroke="#F2F5FB" stroke-width="2.6"/> + <path d="M19 45.5C20.9 37.8 26.1 34 32 34C37.9 34 43.1 37.8 45 45.5" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> +</svg> diff --git a/shine-UI/assets/profile-icon-settings.svg b/shine-UI/assets/profile-icon-settings.svg new file mode 100644 index 00000000..1364d2a1 --- /dev/null +++ b/shine-UI/assets/profile-icon-settings.svg @@ -0,0 +1,12 @@ +<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> + <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> + <path d="M32 21V17" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M32 47V43" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M43 32H47" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M17 32H21" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M39.8 24.2L42.7 21.3" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M21.3 42.7L24.2 39.8" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M39.8 39.8L42.7 42.7" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <path d="M21.3 21.3L24.2 24.2" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <circle cx="32" cy="32" r="7.5" stroke="#F2F5FB" stroke-width="2.6"/> +</svg> diff --git a/shine-UI/assets/profile-icon-wallet.svg b/shine-UI/assets/profile-icon-wallet.svg new file mode 100644 index 00000000..59551d96 --- /dev/null +++ b/shine-UI/assets/profile-icon-wallet.svg @@ -0,0 +1,6 @@ +<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> + <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> + <path d="M18 25.5C18 22.4624 20.4624 20 23.5 20H40.5C43.5376 20 46 22.4624 46 25.5V38.5C46 41.5376 43.5376 44 40.5 44H23.5C20.4624 44 18 41.5376 18 38.5V25.5Z" stroke="#F2F5FB" stroke-width="2.6"/> + <path d="M38 31.5H48V39C48 41.2091 46.2091 43 44 43H38V31.5Z" fill="#121A24" stroke="#F2F5FB" stroke-width="2.6"/> + <circle cx="42.5" cy="37.2" r="1.8" fill="#F2F5FB"/> +</svg> diff --git a/shine-UI/js/pages/profile-view.js b/shine-UI/js/pages/profile-view.js index 73845002..b9ada1bb 100644 --- a/shine-UI/js/pages/profile-view.js +++ b/shine-UI/js/pages/profile-view.js @@ -101,8 +101,18 @@ export function render({ navigate }) { const topActions = document.createElement('div'); topActions.className = 'profile-top-actions'; topActions.innerHTML = ` - <button class="ghost-btn profile-top-action-btn profile-top-menu-btn" type="button" data-top-action="settings" aria-label="Настройки" title="Настройки">⋮</button> + <button class="ghost-btn profile-top-action-btn profile-top-icon-btn is-active" type="button" data-top-action="profile" aria-label="Профиль" title="Профиль"> + <img src="/assets/profile-icon-profile.svg" alt="" aria-hidden="true" /> + </button> + <button class="ghost-btn profile-top-action-btn profile-top-icon-btn" type="button" data-top-action="wallet" aria-label="Кошелёк" title="Кошелёк"> + <img src="/assets/profile-icon-wallet.svg" alt="" aria-hidden="true" /> + </button> + <button class="ghost-btn profile-top-action-btn profile-top-icon-btn" type="button" data-top-action="settings" aria-label="Настройки" title="Настройки"> + <img src="/assets/profile-icon-settings.svg" alt="" aria-hidden="true" /> + </button> `; + topActions.querySelector('[data-top-action="profile"]')?.addEventListener('click', () => navigate('profile')); + topActions.querySelector('[data-top-action="wallet"]')?.addEventListener('click', () => navigate('wallet')); topActions.querySelector('[data-top-action="settings"]')?.addEventListener('click', () => navigate('settings-view')); const card = document.createElement('div'); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index d209f6e6..d2d9945c 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -4628,6 +4628,31 @@ html, body { overflow-x: hidden; } display: none; } +.screen-content:has(> .dm-chat-screen) { + padding-top: 0; + scrollbar-width: thin; + scrollbar-color: rgba(212, 175, 55, 0.65) rgba(255, 255, 255, 0.06); +} + +.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar { + width: 4px; + height: 4px; + display: block; +} + +.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.04); +} + +.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-thumb { + background: rgba(212, 175, 55, 0.7); + border-radius: 999px; +} + +.screen-content:has(> .dm-chat-screen)::-webkit-scrollbar-thumb:hover { + background: rgba(240, 198, 76, 0.9); +} + .dm-messages-log { gap: 10px; } @@ -5575,27 +5600,38 @@ html, body { overflow-x: hidden; } .profile-top-actions { display: flex; justify-content: flex-end; + gap: 8px; } .profile-top-action-btn { - height: 32px; - min-height: 32px; - padding: 0 10px; - font-size: 12px; - line-height: 1.15; - text-align: center; - white-space: pre-line; - overflow: hidden; - text-overflow: ellipsis; + position: relative; + width: 42px; + height: 42px; + min-width: 42px; + min-height: 42px; + padding: 0; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 14px; } -.profile-top-menu-btn { - width: 32px; - min-width: 32px; - padding: 0; - font-size: 22px; - line-height: 1; - letter-spacing: 0; +.profile-top-icon-btn img { + width: 22px; + height: 22px; + display: block; + opacity: 0.94; + filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.34)); +} + +.profile-top-icon-btn.is-active { + border-color: rgba(212, 175, 55, 0.46); + background: rgba(212, 175, 55, 0.12); + box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.08) inset, 0 10px 22px rgba(0, 0, 0, 0.22); +} + +.profile-top-icon-btn:hover { + border-color: rgba(230, 236, 245, 0.28); } .profile-info-modal { From a56252c361a68df7efe82f6494fbf21266d1182d3a7decbcb04a9e5957dc9f1f Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 15:13:13 +0400 Subject: [PATCH 12/83] Finalize DM docs and queue routing --- VERSION.properties | 4 +-- docs/API/09_Operations_Index.md | 1 + docs/Personal_Messages/Протокол_DM_v1.md | 32 ++++++++++++++++++++++++ shine-UI/js/pages/channel-thread-view.js | 15 +++++++++++ shine-UI/js/pages/channel-view.js | 16 ++++++++++++ shine-UI/js/pages/chat-view.js | 16 ++---------- shine-UI/js/pages/wallet-view.js | 2 +- shine-UI/js/router.js | 9 ++++--- 8 files changed, 74 insertions(+), 21 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 3e890aa2..2aadb317 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.340 -server.version=1.2.312 +client.version=1.2.341 +server.version=1.2.313 diff --git a/docs/API/09_Operations_Index.md b/docs/API/09_Operations_Index.md index 2fad3d51..8eb08bfd 100644 --- a/docs/API/09_Operations_Index.md +++ b/docs/API/09_Operations_Index.md @@ -62,6 +62,7 @@ | `ReceiveIncomingMessage` | `12_Direct_Messages_Push_Calls_API.md` | прием входящего DM-блока | | `DeleteMessage` | `12_Direct_Messages_Push_Calls_API.md` | tombstone одного личного сообщения у обеих сторон | | `DeleteConversation` | `12_Direct_Messages_Push_Calls_API.md` | tombstone удаления истории переписки | +| `GetDirectMessages` | `12_Direct_Messages_Push_Calls_API.md` | постраничная загрузка истории личного диалога | | `AckSessionDelivery` | `12_Direct_Messages_Push_Calls_API.md` | подтверждение доставки в сессию | | `CallInviteBroadcast` | `12_Direct_Messages_Push_Calls_API.md` | broadcast приглашения к звонку | | `CallSignalToSession` | `12_Direct_Messages_Push_Calls_API.md` | сигнал звонка в конкретную сессию | diff --git a/docs/Personal_Messages/Протокол_DM_v1.md b/docs/Personal_Messages/Протокол_DM_v1.md index 5effcafd..84328880 100644 --- a/docs/Personal_Messages/Протокол_DM_v1.md +++ b/docs/Personal_Messages/Протокол_DM_v1.md @@ -509,6 +509,35 @@ UI-следствие для клиента: - после применения такого сообщения UI может оставлять в чате видимую служебную точку отсечения истории; - отдельное UI-действие `Удалить чат` может дополнительно спросить, нужно ли вместе с удалением контакта также отправить `DeleteConversation`. +### 10.5. `GetDirectMessages` + +Назначение: + +- постранично отдавать историю одного личного диалога; +- не вываливать весь старый backlog автоматически в момент логина; +- отдавать клиенту только полезные chat-сообщения, без технических receipt/tombstone блоков. + +Правила: + +- начиная с 22 июля 2026 года старая история DM больше не должна автоматически пушиться клиенту сразу после входа; +- клиент сам запрашивает первую страницу истории у нужного собеседника; +- последующие страницы клиент запрашивает по курсору `beforeTimeMs` + `beforeMessageKey`; +- realtime-новые сообщения по-прежнему приходят отдельно через `SignedMessageArrived`. + +Содержимое страницы: + +- сервер возвращает только контентные DM типов `1/2`; +- read-receipt (`3/4`) и tombstone удаления (`5/6/7/8`) в историю страницы не включаются; +- сообщения идут страницами от новых к старым; +- лимит страницы считается по самим chat-сообщениям диалога. + +Поле прочтения: + +- для каждого контентного сообщения сервер может вернуть `readAtMs`; +- `readAtMs` означает точное время прочтения сообщения, если оно уже известно серверу; +- если точное время для старого сообщения неизвестно, но по более новым данным видно, что сообщение уже точно прочитано, UI может показывать его как прочитанное без точного времени; +- read-receipt при этом остаётся отдельным DM-событием синхронизации, но в обычную историю страницы не подмешивается. + ## 11. Межсерверная доставка ### 11.1. Клиентская сторона @@ -547,9 +576,12 @@ UI-следствие для клиента: В ней должны сохраняться: - обычные контентные DM; +- read-receipt DM; - tombstone одного сообщения; - tombstone удаления переписки. +Для контентных сообщений в БД дополнительно должно поддерживаться серверное поле `read_at_ms`, если для этого сообщения уже было принято read-receipt событие. + Сообщение об удалении одного сообщения хранится в БД и не удаляется физически, чтобы: - защищать от повторного приёма старых версий; diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 61cce350..02565b51 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -313,6 +313,16 @@ function latestVersionText(versions) { return ''; } +function bindSubmitOnPlainEnter(textarea, submit) { + if (!(textarea instanceof HTMLTextAreaElement) || typeof submit !== 'function') return; + textarea.addEventListener('keydown', (event) => { + if (event.key !== 'Enter') return; + if (event.shiftKey || event.ctrlKey) return; + event.preventDefault(); + submit(); + }); +} + function resolveNodeText(node) { return firstNonEmptyText( node?.text, @@ -388,6 +398,8 @@ function openReplyModal({ onSubmit, navigate }) { } }); + bindSubmitOnPlainEnter(textEl, () => root.querySelector('#thread-reply-submit')?.click()); + if (textEl) textEl.focus(); } @@ -477,6 +489,8 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { } }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); + if (textEl) textEl.focus(); } @@ -562,6 +576,7 @@ function openEditMessageModal({ initialText = '', onSave, onDelete }) { errorEl.textContent = toUserMessage(error, 'Не удалось удалить сообщение.'); } }); + bindSubmitOnPlainEnter(textEl, () => root.querySelector('#thread-edit-save')?.click()); if (textEl) textEl.focus(); } diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 9780c031..1743c137 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -297,6 +297,16 @@ function openAboutChannelModal(channel) { }); } +function bindSubmitOnPlainEnter(textarea, submit) { + if (!(textarea instanceof HTMLTextAreaElement) || typeof submit !== 'function') return; + textarea.addEventListener('keydown', (event) => { + if (event.key !== 'Enter') return; + if (event.shiftKey || event.ctrlKey) return; + event.preventDefault(); + submit(); + }); +} + function openReplyModal({ onSubmit, navigate }) { const root = document.getElementById('modal-root'); root.innerHTML = ` @@ -363,6 +373,8 @@ function openReplyModal({ onSubmit, navigate }) { } }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); + if (textEl) textEl.focus(); } @@ -448,6 +460,7 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { errorEl.textContent = toUserMessage(error, 'Не удалось сделать репост.'); } }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); if (textEl) textEl.focus(); } @@ -506,6 +519,8 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { } }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); + if (textEl) textEl.focus(); } @@ -592,6 +607,7 @@ function openEditMessageModal({ initialText = '', onSave, onDelete }) { errorEl.textContent = toUserMessage(error, 'Не удалось удалить сообщение.'); } }); + bindSubmitOnPlainEnter(textEl, () => root.querySelector('#edit-message-save')?.click()); if (textEl) textEl.focus(); } diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index ce2e08b7..3b4c718f 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -1392,22 +1392,10 @@ export function render({ navigate, route }) { if (!emojiPickerOpen || form.contains(event.target)) return; closeEmojiPicker(); }); - // Enter — отправить; Ctrl+Enter — перенос строки. + // Enter — отправить; Shift+Enter и Ctrl+Enter — перенос строки. input?.addEventListener('keydown', async (event) => { if (event.key !== 'Enter') return; - if (event.ctrlKey) { - event.preventDefault(); - const start = Number(input.selectionStart ?? input.value.length); - const end = Number(input.selectionEnd ?? input.value.length); - const value = String(input.value || ''); - input.value = `${value.slice(0, start)}\n${value.slice(end)}`; - const nextPos = start + 1; - try { - input.setSelectionRange(nextPos, nextPos); - } catch { - // ignore - } - autoResizeComposer(input); + if (event.shiftKey || event.ctrlKey) { return; } event.preventDefault(); diff --git a/shine-UI/js/pages/wallet-view.js b/shine-UI/js/pages/wallet-view.js index 04941eb2..10826498 100644 --- a/shine-UI/js/pages/wallet-view.js +++ b/shine-UI/js/pages/wallet-view.js @@ -489,7 +489,7 @@ export function render({ navigate }) { void renderSupportBuyIntro(); }); actions.querySelector('#support-queue')?.addEventListener('click', () => { - void renderSupportQueue(); + navigate('quene'); }); actions.querySelector('#support-keygen')?.addEventListener('click', () => { void renderSupportKeygen(); diff --git a/shine-UI/js/router.js b/shine-UI/js/router.js index a1b675fb..d07f52ad 100644 --- a/shine-UI/js/router.js +++ b/shine-UI/js/router.js @@ -39,6 +39,7 @@ const PRETTY_PATHS = new Map([ ['solana-users-init-view', 'settings/solana-users-init'], ['solana-rpc-check-view', 'settings/solana-rpc-check'], ['wallet-view', 'wallet'], + ['queue', 'quene'], ['device-view', 'devices'], ['device-session-view', 'devices'], ['connect-device-view', 'devices/connect'], @@ -274,6 +275,10 @@ export function getRoute() { return { pageId: 'wallet-view', params: {} }; } + if (pageId === 'quene' || pageId === 'queue') { + return { pageId: 'queue', params: {} }; + } + if (pageId === 'devices') { const sub = decodePart(segments[1] || '').toLowerCase(); if (sub === 'connect') return { pageId: 'connect-device-view', params: {} }; @@ -332,10 +337,6 @@ export function getRoute() { return { pageId, params: { mode: segments[1] ? decodePart(segments[1]) : '' } }; } - if (pageId === 'queue') { - return { pageId, params: {} }; - } - return { pageId, params: {} }; } From f640451257fd23ba34a8462fbb07921988afbe76b34ad7364ced1cc5ff64b2ed Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 15:20:05 +0400 Subject: [PATCH 13/83] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B8=20=D0=BD=D0=B0=D0=B2=D0=B8=D0=B3=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 ++-- shine-UI/assets/profile-icon-settings.svg | 12 +++--------- shine-UI/js/pages/profile-edit-view.js | 2 +- shine-UI/js/pages/profile-view.js | 4 ++-- shine-UI/js/pages/settings-view.js | 4 ---- shine-UI/js/pages/wallet-view.js | 2 +- shine-UI/styles/components.css | 14 +++++++------- 7 files changed, 16 insertions(+), 26 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 2aadb317..0af54c47 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.341 -server.version=1.2.313 +client.version=1.2.342 +server.version=1.2.314 diff --git a/shine-UI/assets/profile-icon-settings.svg b/shine-UI/assets/profile-icon-settings.svg index 1364d2a1..ec391c81 100644 --- a/shine-UI/assets/profile-icon-settings.svg +++ b/shine-UI/assets/profile-icon-settings.svg @@ -1,12 +1,6 @@ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> - <path d="M32 21V17" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M32 47V43" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M43 32H47" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M17 32H21" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M39.8 24.2L42.7 21.3" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M21.3 42.7L24.2 39.8" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M39.8 39.8L42.7 42.7" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <path d="M21.3 21.3L24.2 24.2" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> - <circle cx="32" cy="32" r="7.5" stroke="#F2F5FB" stroke-width="2.6"/> + <circle cx="32" cy="32" r="10.2" stroke="#F2F5FB" stroke-width="2.8"/> + <path d="M32 16.8L34.8 20.4L39.3 19.2L40.2 23.8L44.8 24.7L43.6 29.2L47.2 32L43.6 34.8L44.8 39.3L40.2 40.2L39.3 44.8L34.8 43.6L32 47.2L29.2 43.6L24.7 44.8L23.8 40.2L19.2 39.3L20.4 34.8L16.8 32L20.4 29.2L19.2 24.7L23.8 23.8L24.7 19.2L29.2 20.4L32 16.8Z" stroke="#F2F5FB" stroke-width="2.4" stroke-linejoin="round"/> + <circle cx="32" cy="32" r="3.5" fill="#F2F5FB"/> </svg> diff --git a/shine-UI/js/pages/profile-edit-view.js b/shine-UI/js/pages/profile-edit-view.js index f56e2fed..b86ac20c 100644 --- a/shine-UI/js/pages/profile-edit-view.js +++ b/shine-UI/js/pages/profile-edit-view.js @@ -96,7 +96,7 @@ export function render({ navigate }) { screen.append( renderHeader({ title: 'Редактирование профиля', - leftAction: { label: '←', onClick: () => navigate('settings-view') }, + leftAction: { label: '←', onClick: () => navigate('profile-view') }, }), ); diff --git a/shine-UI/js/pages/profile-view.js b/shine-UI/js/pages/profile-view.js index b9ada1bb..4682f5bf 100644 --- a/shine-UI/js/pages/profile-view.js +++ b/shine-UI/js/pages/profile-view.js @@ -101,7 +101,7 @@ export function render({ navigate }) { const topActions = document.createElement('div'); topActions.className = 'profile-top-actions'; topActions.innerHTML = ` - <button class="ghost-btn profile-top-action-btn profile-top-icon-btn is-active" type="button" data-top-action="profile" aria-label="Профиль" title="Профиль"> + <button class="ghost-btn profile-top-action-btn profile-top-icon-btn" type="button" data-top-action="profile" aria-label="Редактировать профиль" title="Редактировать профиль"> <img src="/assets/profile-icon-profile.svg" alt="" aria-hidden="true" /> </button> <button class="ghost-btn profile-top-action-btn profile-top-icon-btn" type="button" data-top-action="wallet" aria-label="Кошелёк" title="Кошелёк"> @@ -111,7 +111,7 @@ export function render({ navigate }) { <img src="/assets/profile-icon-settings.svg" alt="" aria-hidden="true" /> </button> `; - topActions.querySelector('[data-top-action="profile"]')?.addEventListener('click', () => navigate('profile')); + topActions.querySelector('[data-top-action="profile"]')?.addEventListener('click', () => navigate('profile-edit-view')); topActions.querySelector('[data-top-action="wallet"]')?.addEventListener('click', () => navigate('wallet')); topActions.querySelector('[data-top-action="settings"]')?.addEventListener('click', () => navigate('settings-view')); diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index e946644d..05a47605 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -41,8 +41,6 @@ export function render({ navigate }) { const card = document.createElement('div'); card.className = 'card stack'; card.innerHTML = ` - <button class="text-btn" type="button" id="settings-profile-edit">Редактировать профиль</button> - <button class="text-btn" type="button" id="settings-wallet">Кошелёк</button> <button class="text-btn" type="button" id="settings-links">Показать связи</button> <button class="text-btn" type="button" id="settings-device">Устройства</button> <button class="text-btn" type="button" id="settings-remote-addblock">Remote AddBlock через homeserver</button> @@ -52,8 +50,6 @@ export function render({ navigate }) { <button class="text-btn" type="button" id="settings-signout">Завершить текущий сеанс</button> `; - card.querySelector('#settings-profile-edit').addEventListener('click', () => navigate('profile-edit-view')); - card.querySelector('#settings-wallet').addEventListener('click', () => navigate('wallet-view')); card.querySelector('#settings-links').addEventListener('click', () => { navigate(makeProfileLinksRoute(state.session.login)); }); diff --git a/shine-UI/js/pages/wallet-view.js b/shine-UI/js/pages/wallet-view.js index 10826498..2462493e 100644 --- a/shine-UI/js/pages/wallet-view.js +++ b/shine-UI/js/pages/wallet-view.js @@ -433,7 +433,7 @@ export function render({ navigate }) { screen.append( renderHeader({ title: 'Кошелёк', - leftAction: { label: '←', onClick: () => navigate('settings-view') }, + leftAction: { label: '←', onClick: () => navigate('profile-view') }, }), content, status, diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index d2d9945c..30b0bacd 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -5605,20 +5605,20 @@ html, body { overflow-x: hidden; } .profile-top-action-btn { position: relative; - width: 42px; - height: 42px; - min-width: 42px; - min-height: 42px; + width: 48px; + height: 48px; + min-width: 48px; + min-height: 48px; padding: 0; display: inline-flex; align-items: center; justify-content: center; - border-radius: 14px; + border-radius: 15px; } .profile-top-icon-btn img { - width: 22px; - height: 22px; + width: 44px; + height: 44px; display: block; opacity: 0.94; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.34)); From af62b51ef57acc5168e7adc32eecb9e005ff8a729dc9ac3341694d8e7edee3a2 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 18:59:09 +0400 Subject: [PATCH 14/83] =?UTF-8?q?UI:=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BB=D0=B8=D1=87=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=87?= =?UTF-8?q?=D0=B0=D1=82=D0=B0=20=D0=B8=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- shine-UI/js/components/header.js | 8 +++- shine-UI/js/pages/chat-view.js | 61 ++++++++++++++++-------------- shine-UI/js/pages/settings-view.js | 5 --- shine-UI/styles/components.css | 58 ++++++++++++++++++++++------ 5 files changed, 88 insertions(+), 48 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 0af54c47..2e03e5a2 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.342 -server.version=1.2.314 +client.version=1.2.343 +server.version=1.2.315 diff --git a/shine-UI/js/components/header.js b/shine-UI/js/components/header.js index ead1a756..a3337646 100644 --- a/shine-UI/js/components/header.js +++ b/shine-UI/js/components/header.js @@ -6,6 +6,7 @@ export function renderHeader({ title, leftAction, leftLabel = '', rightActions = left.className = 'header-left'; if (leftAction) { const btn = document.createElement('button'); + btn.type = 'button'; btn.className = 'icon-btn'; btn.textContent = leftAction.label; btn.addEventListener('click', leftAction.onClick); @@ -26,10 +27,15 @@ export function renderHeader({ title, leftAction, leftLabel = '', rightActions = right.className = 'header-actions'; rightActions.forEach((action) => { const btn = document.createElement('button'); + btn.type = 'button'; btn.className = `icon-btn${action.className ? ` ${action.className}` : ''}`; - btn.textContent = action.label; if (action.title) btn.title = action.title; if (action.ariaLabel) btn.setAttribute('aria-label', action.ariaLabel); + if (action.iconNode instanceof Node) { + btn.append(action.iconNode); + } else { + btn.textContent = action.label; + } btn.addEventListener('click', action.onClick); right.append(btn); }); diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 3b4c718f..3cddbf49 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -24,8 +24,7 @@ import { hasTwemojiAsset, stopAllTwemojiAnimations, } from '../components/emoji-picker.js?v=202607152130'; -import { openSpeechInputModal } from '../components/speech-input-modal.js'; -import { isSpeechToTextConfigured, isTextToSpeechConfigured, speakTextBySettings } from '../services/speech-tools-service.js'; +import { isTextToSpeechConfigured, speakTextBySettings } from '../services/speech-tools-service.js'; import { showToast } from '../services/channels-ux.js'; import { buildDmReplyTechBlock, parseDmTechBlocks, sanitizeUserDmTextForSend } from '../services/dm-tech-blocks.js'; @@ -343,6 +342,20 @@ function autoResizeComposer(textarea) { textarea.style.height = `${Math.min(180, Math.max(42, textarea.scrollHeight))}px`; } +function createHeaderPhoneHandsetIcon() { + const ns = 'http://www.w3.org/2000/svg'; + const svg = document.createElementNS(ns, 'svg'); + svg.setAttribute('viewBox', '0 0 24 24'); + svg.setAttribute('aria-hidden', 'true'); + svg.setAttribute('class', 'header-icon-svg header-icon-svg--phone'); + + const path = document.createElementNS(ns, 'path'); + path.setAttribute('d', 'M7.62 10.79a15.1 15.1 0 0 0 5.59 5.59l1.87-1.87a1 1 0 0 1 1.02-.24c1.12.37 2.31.57 3.52.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.37a1 1 0 0 1 1 1c0 1.21.2 2.4.57 3.52a1 1 0 0 1-.24 1.02l-1.08 1.27Z'); + path.setAttribute('fill', 'currentColor'); + svg.append(path); + return svg; +} + function openConfirmContactModal(targetLogin = '') { const root = document.getElementById('modal-root'); if (!root) return Promise.resolve(false); @@ -762,7 +775,6 @@ export function render({ navigate, route }) { const screen = document.createElement('section'); screen.className = 'stack dm-screen dm-chat-screen'; - const isSpeechToTextReady = isSpeechToTextConfigured(state.entrySettings); const isTextToSpeechReady = isTextToSpeechConfigured(state.entrySettings); const isKnownContact = (state.contacts || []).some((x) => String(x || '').toLowerCase() === String(chatId || '').toLowerCase()); const hasUnreadIncoming = getChatMessages(chatId).some((msg) => msg?.from === 'in' && msg?.unread); @@ -834,10 +846,10 @@ export function render({ navigate, route }) { leftAction: { label: '←', onClick: () => navigate('messages-list') }, rightActions: [ { - label: '☎', title: 'Позвонить', ariaLabel: 'Позвонить', className: 'chat-header-icon-btn chat-header-call-btn', + iconNode: createHeaderPhoneHandsetIcon(), onClick: handleStartCall, }, { @@ -948,8 +960,7 @@ export function render({ navigate, route }) { <div class="emoji-picker-slot" id="chat-emoji-picker-slot" hidden></div> <textarea class="input dm-input" name="message" rows="1" placeholder="Введите сообщение" maxlength="12000"></textarea> <div class="dm-actions-col"> - <button class="ghost-btn dm-emoji-btn" type="button" id="chat-emoji-toggle" aria-label="Эмодзи" title="Эмодзи">☺</button> - ${isSpeechToTextReady ? '<button class="ghost-btn dm-voice-btn" type="button" id="chat-voice-input" title="Голосовой ввод">🎤</button>' : ''} + <button class="ghost-btn dm-emoji-btn" type="button" id="chat-emoji-toggle" aria-label="Эмодзи" title="Эмодзи"><span class="dm-emoji-btn__glyph">☺</span></button> <button class="primary-btn dm-send-btn dm-send-icon-btn" type="submit" title="Отправить">➤</button> </div> `; @@ -976,6 +987,11 @@ export function render({ navigate, route }) { } }; + const syncComposerLayout = () => { + const height = Number.parseFloat(input?.style.height || '0'); + form.classList.toggle('dm-chat-input--multiline', height > 52); + }; + const rememberEmojiSelection = () => { if (!input) return; const valueLength = String(input.value || '').length; @@ -1013,6 +1029,7 @@ export function render({ navigate, route }) { } } autoResizeComposer(input); + syncComposerLayout(); }; if (emojiSlot) { @@ -1053,6 +1070,7 @@ export function render({ navigate, route }) { if (restoreDraft && input) { input.value = draftToRestore || ''; autoResizeComposer(input); + syncComposerLayout(); focusInputToEnd(); } }; @@ -1063,6 +1081,7 @@ export function render({ navigate, route }) { syncEditBanner(); if (restoreDraft && input) { autoResizeComposer(input); + syncComposerLayout(); focusInputToEnd(); } }; @@ -1085,6 +1104,7 @@ export function render({ navigate, route }) { if (input) { input.value = String(parsed?.visibleText || ''); autoResizeComposer(input); + syncComposerLayout(); focusInputToEnd(); } }; @@ -1246,6 +1266,7 @@ export function render({ navigate, route }) { if (input) { input.value = text; autoResizeComposer(input); + syncComposerLayout(); focusInputToEnd(); } addChatMessage(chatId, `${activeEdit ? 'Ошибка изменения' : 'Ошибка отправки'}: ${e.message || 'unknown'}`); @@ -1358,9 +1379,11 @@ export function render({ navigate, route }) { }); autoResizeComposer(input); + syncComposerLayout(); input?.addEventListener('input', () => { rememberEmojiSelection(); autoResizeComposer(input); + syncComposerLayout(); }); input?.addEventListener('select', rememberEmojiSelection); input?.addEventListener('keyup', rememberEmojiSelection); @@ -1403,26 +1426,12 @@ export function render({ navigate, route }) { if (!text) return; input.value = ''; autoResizeComposer(input); + syncComposerLayout(); closeEmojiPicker(); await sendTextMessage(text); focusInputToEnd(); }); - form.querySelector('#chat-voice-input')?.addEventListener('click', async () => { - await openSpeechInputModal({ - navigate, - onTextReady: (text) => { - const prev = String(input.value || '').trim(); - input.value = prev ? `${prev} ${text}` : text; - autoResizeComposer(input); - }, - onSendText: async (text) => sendTextMessage(text), - onSendQueued: () => { - showToast('Сообщение будет отправлено автоматически после распознавания', { timeoutMs: 1000 }); - }, - }); - }); - form.querySelector('.dm-send-btn')?.addEventListener('pointerdown', (event) => { event.preventDefault(); try { @@ -1438,6 +1447,7 @@ export function render({ navigate, route }) { if (!text) return; input.value = ''; autoResizeComposer(input); + syncComposerLayout(); closeEmojiPicker(); await sendTextMessage(text); focusInputToEnd(); @@ -1464,13 +1474,6 @@ export function render({ navigate, route }) { markAsRead: false, scrollMode: hasUnreadIncoming ? 'unread' : 'latest', }); - if (hasUnreadIncoming) { - window.requestAnimationFrame(() => scrollToUnreadSeparator(log)); - window.setTimeout(() => scrollToUnreadSeparator(log), 180); - } else { - window.requestAnimationFrame(() => scrollToLatestMessage(log)); - window.setTimeout(() => scrollToLatestMessage(log), 180); - } window.setTimeout(() => { if (markChatRead(chatId) > 0) { notifyUnreadStateUpdated(); @@ -1480,7 +1483,7 @@ export function render({ navigate, route }) { window.requestAnimationFrame(() => { boundScrollContainer = log.closest('.screen-content') || wrap.parentElement || wrap; boundScrollContainer?.addEventListener('scroll', handleHistoryScroll, { passive: true }); - void loadHistoryPage({ preserveScroll: false }); + void loadHistoryPage({ preserveScroll: true }); }); screen.cleanup = () => { setChatKeyboardOpen(false); diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index 05a47605..6630a53a 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -1,6 +1,5 @@ import { renderHeader } from '../components/header.js'; import { addAppLogEntry, authService, closeCurrentSessionAndSignOut, state } from '../state.js'; -import { makeProfileLinksRoute } from '../services/shine-routes.js'; export const pageMeta = { id: 'settings-view', title: 'Настройки' }; @@ -41,7 +40,6 @@ export function render({ navigate }) { const card = document.createElement('div'); card.className = 'card stack'; card.innerHTML = ` - <button class="text-btn" type="button" id="settings-links">Показать связи</button> <button class="text-btn" type="button" id="settings-device">Устройства</button> <button class="text-btn" type="button" id="settings-remote-addblock">Remote AddBlock через homeserver</button> <button class="text-btn" type="button" id="settings-servers">Настройки серверов</button> @@ -50,9 +48,6 @@ export function render({ navigate }) { <button class="text-btn" type="button" id="settings-signout">Завершить текущий сеанс</button> `; - card.querySelector('#settings-links').addEventListener('click', () => { - navigate(makeProfileLinksRoute(state.session.login)); - }); card.querySelector('#settings-device').addEventListener('click', () => navigate('device-view')); card.querySelector('#settings-remote-addblock').addEventListener('click', () => navigate('remote-addblock-session-view')); card.querySelector('#settings-servers').addEventListener('click', () => navigate('server-settings-view')); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 30b0bacd..ef597ae9 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -59,6 +59,17 @@ border-radius: 12px; } +.header-icon-svg { + display: block; + width: 1em; + height: 1em; +} + +.header-icon-svg--phone { + width: 22px; + height: 22px; +} + .chat-header-menu-btn { border-radius: 12px; font-size: 24px; @@ -4630,6 +4641,7 @@ html, body { overflow-x: hidden; } .screen-content:has(> .dm-chat-screen) { padding-top: 0; + padding-bottom: 0; scrollbar-width: thin; scrollbar-color: rgba(212, 175, 55, 0.65) rgba(255, 255, 255, 0.06); } @@ -4685,12 +4697,13 @@ html, body { overflow-x: hidden; } .dm-chat-input { gap: 10px; - grid-template-columns: 1fr auto; + grid-template-columns: minmax(0, 1fr) auto; align-items: end; position: sticky; bottom: 0; z-index: 10; - padding: 10px; + margin-inline: -14px; + padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(212, 175, 55, 0.22); background: rgba(8, 12, 20, 0.9); backdrop-filter: blur(12px); @@ -4733,18 +4746,35 @@ html, body { overflow-x: hidden; } .dm-actions-col { display: grid; - grid-template-columns: repeat(2, 42px); - grid-template-rows: 42px; + grid-template-columns: repeat(2, 46px); + grid-template-rows: 46px; grid-template-areas: "emoji send"; gap: 6px; + align-self: end; +} + +.dm-chat-input--multiline .dm-actions-col { + grid-template-columns: 46px; + grid-template-rows: repeat(2, 46px); + grid-template-areas: + "emoji" + "send"; } .dm-emoji-btn { grid-area: emoji; - min-width: 42px; - width: 42px; + min-width: 46px; + width: 46px; padding: 0; - font-size: 20px; + line-height: 1; +} + +.dm-emoji-btn__glyph { + display: inline-grid; + place-items: center; + width: 100%; + height: 100%; + font-size: 27px; line-height: 1; } @@ -4918,6 +4948,8 @@ html, body { overflow-x: hidden; } .dm-chat-input .dm-input { min-height: 42px; max-height: 180px; + width: 100%; + min-width: 0; resize: none; overflow-y: auto; scrollbar-width: none; @@ -4926,6 +4958,10 @@ html, body { overflow-x: hidden; } padding: 10px 12px; } +.dm-chat-input--multiline .dm-input { + padding-right: 14px; +} + .dm-chat-input .dm-input::-webkit-scrollbar { width: 0; height: 0; @@ -4970,8 +5006,8 @@ html, body { overflow-x: hidden; } .dm-send-icon-btn { grid-area: send; - min-width: 42px; - width: 42px; + min-width: 46px; + width: 46px; padding: 0; font-size: 15px; line-height: 1; @@ -5617,8 +5653,8 @@ html, body { overflow-x: hidden; } } .profile-top-icon-btn img { - width: 44px; - height: 44px; + width: 48px; + height: 48px; display: block; opacity: 0.94; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.34)); From a183a586cb122ddb3ad4dd78d23797eda4612ba27b87126a9cc332a5d16210bd Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 19:07:15 +0400 Subject: [PATCH 15/83] =?UTF-8?q?UI:=20=D0=B8=D0=BD=D0=B4=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20?= =?UTF-8?q?=D1=87=D0=B0=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +-- shine-UI/js/pages/chat-view.js | 19 ++++++++++- shine-UI/styles/components.css | 62 ++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 3 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 2e03e5a2..f326fdfc 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.343 -server.version=1.2.315 +client.version=1.2.344 +server.version=1.2.316 diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 3cddbf49..0cf39353 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -837,6 +837,16 @@ export function render({ navigate, route }) { const wrap = document.createElement('div'); wrap.className = 'chat-wrap dm-chat-wrap'; + const historyLoader = document.createElement('div'); + historyLoader.className = 'dm-history-loader'; + historyLoader.hidden = true; + historyLoader.innerHTML = ` + <div class="dm-history-loader__pill" aria-live="polite" aria-busy="true"> + <span class="dm-history-loader__spinner" aria-hidden="true"></span> + <span class="dm-history-loader__label">Загрузка истории…</span> + </div> + `; + const log = document.createElement('div'); log.className = 'messages-log dm-messages-log'; @@ -987,6 +997,11 @@ export function render({ navigate, route }) { } }; + const setHistoryLoadingState = (isLoading) => { + historyLoader.hidden = !isLoading; + historyLoader.classList.toggle('is-visible', !!isLoading); + }; + const syncComposerLayout = () => { const height = Number.parseFloat(input?.style.height || '0'); form.classList.toggle('dm-chat-input--multiline', height > 52); @@ -1325,6 +1340,7 @@ export function render({ navigate, route }) { if (historyLoading) return; if (historyBootstrapped && !historyHasMore) return; historyLoading = true; + setHistoryLoadingState(true); const scrollContainer = boundScrollContainer || log.closest('.screen-content') || wrap.parentElement || wrap; const prevScrollTop = Number(scrollContainer?.scrollTop || 0); const prevScrollHeight = Number(scrollContainer?.scrollHeight || 0); @@ -1359,6 +1375,7 @@ export function render({ navigate, route }) { }); } finally { historyLoading = false; + setHistoryLoadingState(false); } }; @@ -1467,7 +1484,7 @@ export function render({ navigate, route }) { window.visualViewport?.addEventListener('resize', syncKeyboardUi); window.addEventListener('resize', syncKeyboardUi); - wrap.append(log, form); + wrap.append(historyLoader, log, form); screen.append(wrap); renderLog(log, chatId, { onOpenActions: handleOpenActions, diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index ef597ae9..522b8577 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -4669,6 +4669,68 @@ html, body { overflow-x: hidden; } gap: 10px; } +.dm-history-loader { + position: sticky; + top: 0; + z-index: 3; + display: flex; + justify-content: center; + pointer-events: none; + margin-bottom: -4px; + opacity: 0; + transform: translateY(-8px); + transition: opacity 160ms ease, transform 160ms ease; +} + +.dm-history-loader[hidden] { + display: none; +} + +.dm-history-loader.is-visible { + opacity: 1; + transform: translateY(0); +} + +.dm-history-loader__pill { + display: inline-flex; + align-items: center; + gap: 10px; + min-height: 34px; + padding: 7px 14px; + border-radius: 999px; + border: 1px solid rgba(212, 175, 55, 0.24); + background: rgba(9, 15, 26, 0.92); + color: rgba(245, 226, 179, 0.96); + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28); + backdrop-filter: blur(14px); + -webkit-backdrop-filter: blur(14px); +} + +.dm-history-loader__label { + font-size: 12px; + font-weight: 600; + letter-spacing: 0.02em; +} + +.dm-history-loader__spinner { + width: 16px; + height: 16px; + border-radius: 50%; + border: 2px solid rgba(255, 234, 186, 0.22); + border-top-color: rgba(242, 201, 92, 0.96); + box-shadow: 0 0 10px rgba(212, 175, 55, 0.18); + animation: dm-history-loader-spin 0.85s linear infinite; +} + +@keyframes dm-history-loader-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + .dm-screen .bubble { max-width: 78%; padding: 11px 14px; From 681437acb130b9a5f99b74bb1157bd5127345b253f52c214af68d094282bd674 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 19:18:56 +0400 Subject: [PATCH 16/83] =?UTF-8?q?UI:=20=D1=83=D0=B1=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B3=D0=BE=D0=BB=D0=BE=D1=81=D0=BE=D0=B2=D0=BE=D0=B9?= =?UTF-8?q?=20=D0=B2=D0=B2=D0=BE=D0=B4=20=D0=B8=20=D1=81=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- shine-UI/assets/profile-icon-profile.svg | 5 +- shine-UI/assets/profile-icon-settings.svg | 1 - shine-UI/assets/profile-icon-wallet.svg | 8 +- shine-UI/js/app.js | 2 - shine-UI/js/components/speech-input-modal.js | 132 --------------- shine-UI/js/pages/channel-thread-view.js | 26 --- shine-UI/js/pages/channel-view.js | 25 --- shine-UI/js/pages/chat-view.js | 15 +- shine-UI/js/pages/settings-view.js | 4 +- shine-UI/js/pages/tools-settings-view.js | 168 ------------------- shine-UI/js/router.js | 3 - shine-UI/js/services/speech-tools-service.js | 147 ---------------- shine-UI/js/state.js | 9 - shine-UI/styles/components.css | 26 --- 15 files changed, 14 insertions(+), 561 deletions(-) delete mode 100644 shine-UI/js/components/speech-input-modal.js delete mode 100644 shine-UI/js/pages/tools-settings-view.js diff --git a/VERSION.properties b/VERSION.properties index f326fdfc..920a658b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.344 -server.version=1.2.316 +client.version=1.2.345 +server.version=1.2.317 diff --git a/shine-UI/assets/profile-icon-profile.svg b/shine-UI/assets/profile-icon-profile.svg index 73b7bf52..5d7244e4 100644 --- a/shine-UI/assets/profile-icon-profile.svg +++ b/shine-UI/assets/profile-icon-profile.svg @@ -1,5 +1,4 @@ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> - <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> - <circle cx="32" cy="26" r="8.5" stroke="#F2F5FB" stroke-width="2.6"/> - <path d="M19 45.5C20.9 37.8 26.1 34 32 34C37.9 34 43.1 37.8 45 45.5" stroke="#F2F5FB" stroke-width="2.6" stroke-linecap="round"/> + <circle cx="32" cy="24.5" r="10.5" stroke="#F2F5FB" stroke-width="3"/> + <path d="M15.5 48C17.8 38.9 24.2 34.5 32 34.5C39.8 34.5 46.2 38.9 48.5 48" stroke="#F2F5FB" stroke-width="3" stroke-linecap="round"/> </svg> diff --git a/shine-UI/assets/profile-icon-settings.svg b/shine-UI/assets/profile-icon-settings.svg index ec391c81..c3bd6471 100644 --- a/shine-UI/assets/profile-icon-settings.svg +++ b/shine-UI/assets/profile-icon-settings.svg @@ -1,5 +1,4 @@ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> - <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> <circle cx="32" cy="32" r="10.2" stroke="#F2F5FB" stroke-width="2.8"/> <path d="M32 16.8L34.8 20.4L39.3 19.2L40.2 23.8L44.8 24.7L43.6 29.2L47.2 32L43.6 34.8L44.8 39.3L40.2 40.2L39.3 44.8L34.8 43.6L32 47.2L29.2 43.6L24.7 44.8L23.8 40.2L19.2 39.3L20.4 34.8L16.8 32L20.4 29.2L19.2 24.7L23.8 23.8L24.7 19.2L29.2 20.4L32 16.8Z" stroke="#F2F5FB" stroke-width="2.4" stroke-linejoin="round"/> <circle cx="32" cy="32" r="3.5" fill="#F2F5FB"/> diff --git a/shine-UI/assets/profile-icon-wallet.svg b/shine-UI/assets/profile-icon-wallet.svg index 59551d96..03cccb21 100644 --- a/shine-UI/assets/profile-icon-wallet.svg +++ b/shine-UI/assets/profile-icon-wallet.svg @@ -1,6 +1,6 @@ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"> - <rect x="6" y="6" width="52" height="52" rx="16" fill="#121A24" stroke="#E7EDF7" stroke-opacity="0.18" stroke-width="2"/> - <path d="M18 25.5C18 22.4624 20.4624 20 23.5 20H40.5C43.5376 20 46 22.4624 46 25.5V38.5C46 41.5376 43.5376 44 40.5 44H23.5C20.4624 44 18 41.5376 18 38.5V25.5Z" stroke="#F2F5FB" stroke-width="2.6"/> - <path d="M38 31.5H48V39C48 41.2091 46.2091 43 44 43H38V31.5Z" fill="#121A24" stroke="#F2F5FB" stroke-width="2.6"/> - <circle cx="42.5" cy="37.2" r="1.8" fill="#F2F5FB"/> + <path d="M13.5 24.5C13.5 20.9101 16.4101 18 20 18H41.5C45.0899 18 48 20.9101 48 24.5V26H23.5C21.0147 26 19 28.0147 19 30.5C19 32.9853 21.0147 35 23.5 35H48V39.5C48 43.0899 45.0899 46 41.5 46H20C16.4101 46 13.5 43.0899 13.5 39.5V24.5Z" stroke="#F2F5FB" stroke-width="3" stroke-linejoin="round"/> + <path d="M19 30.5C19 28.0147 21.0147 26 23.5 26H50.5V35H23.5C21.0147 35 19 32.9853 19 30.5Z" stroke="#F2F5FB" stroke-width="3" stroke-linejoin="round"/> + <circle cx="42.5" cy="30.5" r="2.4" fill="#F2F5FB"/> + <path d="M18.5 22H38" stroke="#F2F5FB" stroke-width="3" stroke-linecap="round" opacity="0.9"/> </svg> diff --git a/shine-UI/js/app.js b/shine-UI/js/app.js index f24721a0..173978d9 100644 --- a/shine-UI/js/app.js +++ b/shine-UI/js/app.js @@ -58,7 +58,6 @@ import * as walletView from './pages/wallet-view.js?v=202606281930'; import * as settingsView from './pages/settings-view.js'; import * as developerSettingsView from './pages/developer-settings-view.js'; import * as serverSettingsView from './pages/server-settings-view.js?v=202606161240'; -import * as toolsSettingsView from './pages/tools-settings-view.js'; import * as remoteAddBlockSessionView from './pages/remote-addblock-session-view.js?v=202606281300'; import * as deviceView from './pages/device-view.js?v=202606131435'; import * as connectDeviceView from './pages/connect-device-view.js?v=202606142055'; @@ -119,7 +118,6 @@ const routes = { 'settings-view': settingsView, 'developer-settings-view': developerSettingsView, 'server-settings-view': serverSettingsView, - 'tools-settings-view': toolsSettingsView, 'remote-addblock-session-view': remoteAddBlockSessionView, 'device-view': deviceView, 'connect-device-view': connectDeviceView, diff --git a/shine-UI/js/components/speech-input-modal.js b/shine-UI/js/components/speech-input-modal.js deleted file mode 100644 index 57075fef..00000000 --- a/shine-UI/js/components/speech-input-modal.js +++ /dev/null @@ -1,132 +0,0 @@ -import { - createMicrophoneRecorder, - isSpeechToTextConfigured, - transcribeAudioBySettings, -} from '../services/speech-tools-service.js'; -import { state } from '../state.js'; - -function formatDuration(ms) { - const totalSec = Math.max(0, Math.floor(Number(ms || 0) / 1000)); - const mm = String(Math.floor(totalSec / 60)).padStart(2, '0'); - const ss = String(totalSec % 60).padStart(2, '0'); - return `${mm}:${ss}`; -} - -function showSttMissingConfigDialog(navigate) { - const goSettings = window.confirm( - 'Распознавание речи не настроено. Перейти в настройки инструментов?' - ); - if (goSettings) navigate('tools-settings-view'); -} - -export async function openSpeechInputModal({ navigate, onTextReady, onSendText, onSendQueued }) { - if (!isSpeechToTextConfigured(state.entrySettings)) { - showSttMissingConfigDialog(navigate); - return; - } - - const root = document.getElementById('modal-root'); - const host = document.createElement('div'); - host.innerHTML = ` - <div class="modal" id="speech-input-modal-layer"> - <div class="modal-card stack"> - <h3 class="modal-title">Голосовой ввод</h3> - <p class="meta-muted" id="speech-input-status">Идёт запись...</p> - <div class="voice-level-wrap"><div class="voice-level-fill" id="speech-level-fill"></div></div> - <p class="meta-muted" id="speech-input-time">00:00</p> - <p class="inline-error" id="speech-input-error"></p> - <div class="speech-actions-top"> - <button class="secondary-btn" type="button" id="speech-cancel">Отмена</button> - <button class="primary-btn" type="button" id="speech-ok">OK</button> - </div> - <button class="primary-btn speech-send-now-btn" type="button" id="speech-send-now">Распознать и сразу отправить сообщение</button> - </div> - </div> - `; - root.append(host); - - const statusEl = host.querySelector('#speech-input-status'); - const timeEl = host.querySelector('#speech-input-time'); - const levelEl = host.querySelector('#speech-level-fill'); - const errorEl = host.querySelector('#speech-input-error'); - const cancelBtn = host.querySelector('#speech-cancel'); - const sendNowBtn = host.querySelector('#speech-send-now'); - const okBtn = host.querySelector('#speech-ok'); - const recorder = createMicrophoneRecorder(); - let closed = false; - let busy = false; - - const close = () => { - if (closed) return; - closed = true; - host.remove(); - }; - - const setBusy = (flag) => { - busy = !!flag; - cancelBtn.disabled = busy; - sendNowBtn.disabled = busy; - okBtn.disabled = busy; - okBtn.textContent = busy ? 'Распознаю...' : 'OK'; - sendNowBtn.textContent = busy ? 'Распознаю...' : 'Распознать и сразу отправить сообщение'; - }; - - try { - await recorder.start(({ elapsedMs, level }) => { - if (timeEl) timeEl.textContent = formatDuration(elapsedMs); - if (levelEl) levelEl.style.width = `${Math.max(2, Math.round((Number(level) || 0) * 100))}%`; - }); - } catch (error) { - close(); - window.alert(`Не удалось получить доступ к микрофону: ${error?.message || 'unknown'}`); - return; - } - - cancelBtn.addEventListener('click', () => { - recorder.cancel(); - close(); - }); - - okBtn.addEventListener('click', async () => { - if (busy) return; - setBusy(true); - try { - const audioBlob = await recorder.stop(); - host.innerHTML = ` - <div class="modal" id="speech-input-modal-layer"> - <div class="modal-card stack"> - <h3 class="modal-title">Голосовой ввод</h3> - <p class="meta-muted">Идёт распознавание текста...</p> - </div> - </div> - `; - const text = await transcribeAudioBySettings(audioBlob, state.entrySettings); - if (typeof onTextReady === 'function') onTextReady(text); - close(); - } catch (error) { - setBusy(false); - statusEl.textContent = 'Идёт запись...'; - errorEl.textContent = `Ошибка распознавания: ${error?.message || 'unknown'}`; - } - }); - - sendNowBtn.addEventListener('click', async () => { - if (busy) return; - setBusy(true); - try { - const audioBlob = await recorder.stop(); - close(); - if (typeof onSendQueued === 'function') onSendQueued(); - const text = await transcribeAudioBySettings(audioBlob, state.entrySettings); - if (typeof onSendText === 'function') { - await onSendText(text); - } else if (typeof onTextReady === 'function') { - onTextReady(text); - } - } catch (error) { - setBusy(false); - close(); - window.alert(`Ошибка распознавания: ${error?.message || 'unknown'}`); - } - }); -} diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 02565b51..6761d663 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -10,7 +10,6 @@ import { showToast, softHaptic, } from '../services/channels-ux.js'; -import { openSpeechInputModal } from '../components/speech-input-modal.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; @@ -339,9 +338,6 @@ function openReplyModal({ onSubmit, navigate }) { <div class="modal-card stack"> <h3 class="modal-title">Ответ</h3> <textarea id="thread-reply-text" class="input" rows="5" maxlength="2000" placeholder="Текст ответа"></textarea> - <div class="row wrap-row"> - <button class="ghost-btn" id="thread-reply-voice" type="button">🎤 Голосом</button> - </div> <div class="meta-muted inline-error" id="thread-reply-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="thread-reply-cancel" type="button">Отмена</button> @@ -368,15 +364,6 @@ function openReplyModal({ onSubmit, navigate }) { }; root.querySelector('#thread-reply-cancel')?.addEventListener('click', close); - root.querySelector('#thread-reply-voice')?.addEventListener('click', async () => { - await openSpeechInputModal({ - navigate, - onTextReady: (text) => { - const prev = String(textEl?.value || '').trim(); - if (textEl) textEl.value = prev ? `${prev} ${text}` : text; - }, - }); - }); root.querySelector('#thread-reply-submit')?.addEventListener('click', async () => { if (inFlight) return; @@ -423,9 +410,6 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { <select id="thread-repost-channel-select" class="input">${options}</select> <label class="meta-muted" for="thread-repost-comment">Комментарий</label> <textarea id="thread-repost-comment" class="input" rows="5" maxlength="2000" placeholder="Комментарий к репосту"></textarea> - <div class="row wrap-row"> - <button class="ghost-btn" id="thread-repost-voice" type="button">🎤 Голосом</button> - </div> <div class="meta-muted inline-error" id="thread-repost-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="thread-repost-cancel" type="button">Отмена</button> @@ -456,16 +440,6 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { }; root.querySelector('#thread-repost-cancel')?.addEventListener('click', close); - root.querySelector('#thread-repost-voice')?.addEventListener('click', async () => { - await openSpeechInputModal({ - navigate, - onTextReady: (text) => { - const prev = String(textEl?.value || '').trim(); - if (textEl) textEl.value = prev ? `${prev} ${text}` : text; - }, - }); - }); - submitEl?.addEventListener('click', async () => { if (inFlight) return; const idx = Number(selectEl?.value ?? -1); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 1743c137..65a12dc6 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -16,7 +16,6 @@ import { showToast, softHaptic, } from '../services/channels-ux.js'; -import { openSpeechInputModal } from '../components/speech-input-modal.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; @@ -314,9 +313,6 @@ function openReplyModal({ onSubmit, navigate }) { <div class="modal-card stack"> <h3 class="modal-title">Ответ</h3> <textarea id="reply-text" class="input" rows="5" maxlength="2000" placeholder="Текст ответа"></textarea> - <div class="row wrap-row"> - <button class="ghost-btn" id="reply-voice" type="button">🎤 Голосом</button> - </div> <div class="meta-muted inline-error" id="reply-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="reply-cancel" type="button">Отмена</button> @@ -343,15 +339,6 @@ function openReplyModal({ onSubmit, navigate }) { }; root.querySelector('#reply-cancel')?.addEventListener('click', close); - root.querySelector('#reply-voice')?.addEventListener('click', async () => { - await openSpeechInputModal({ - navigate, - onTextReady: (text) => { - const prev = String(textEl?.value || '').trim(); - if (textEl) textEl.value = prev ? `${prev} ${text}` : text; - }, - }); - }); submitEl?.addEventListener('click', async () => { if (inFlight) return; @@ -399,9 +386,6 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { <select id="repost-channel-select" class="input">${options}</select> <label class="meta-muted" for="repost-comment">Комментарий</label> <textarea id="repost-comment" class="input" rows="5" maxlength="2000" placeholder="Комментарий к репосту"></textarea> - <div class="row wrap-row"> - <button class="ghost-btn" id="repost-voice" type="button">🎤 Голосом</button> - </div> <div class="meta-muted inline-error" id="repost-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="repost-cancel" type="button">Отмена</button> @@ -429,15 +413,6 @@ function openRepostModal({ navigate, channels = [], onSubmit }) { const close = () => { root.innerHTML = ''; }; root.querySelector('#repost-cancel')?.addEventListener('click', close); - root.querySelector('#repost-voice')?.addEventListener('click', async () => { - await openSpeechInputModal({ - navigate, - onTextReady: (text) => { - const prev = String(textEl?.value || '').trim(); - if (textEl) textEl.value = prev ? `${prev} ${text}` : text; - }, - }); - }); submitEl?.addEventListener('click', async () => { if (inFlight) return; const idx = Number(selectEl?.value ?? -1); diff --git a/shine-UI/js/pages/chat-view.js b/shine-UI/js/pages/chat-view.js index 0cf39353..9fbbe469 100644 --- a/shine-UI/js/pages/chat-view.js +++ b/shine-UI/js/pages/chat-view.js @@ -313,27 +313,22 @@ function openChatActionsMenu({ }); } -function showTtsMissingConfigDialog(navigate) { +function showTtsMissingConfigDialog() { const root = document.getElementById('modal-root'); if (!root) return; root.innerHTML = ` <div class="modal" id="chat-tts-missing-modal"> <div class="modal-card stack dm-dialog-card"> <h3 class="modal-title">Озвучка не настроена</h3> - <p class="meta-muted">Перейти в настройки инструментов?</p> + <p class="meta-muted">Функция голосовых инструментов сейчас отключена.</p> <div class="form-actions-grid"> - <button class="secondary-btn" type="button" id="chat-tts-no">Нет</button> - <button class="primary-btn" type="button" id="chat-tts-yes">Да</button> + <button class="primary-btn" type="button" id="chat-tts-ok">OK</button> </div> </div> </div> `; const close = () => { root.innerHTML = ''; }; - root.querySelector('#chat-tts-no')?.addEventListener('click', close); - root.querySelector('#chat-tts-yes')?.addEventListener('click', () => { - close(); - navigate('tools-settings-view'); - }); + root.querySelector('#chat-tts-ok')?.addEventListener('click', close); } function autoResizeComposer(textarea) { @@ -787,7 +782,7 @@ export function render({ navigate, route }) { const handleReadAloud = async (msg) => { if (!isTextToSpeechConfigured(state.entrySettings)) { - showTtsMissingConfigDialog(navigate); + showTtsMissingConfigDialog(); return; } const parsedText = parseDmTechBlocks(String(msg?.text || '')); diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index 6630a53a..a66c16ec 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -1,5 +1,5 @@ import { renderHeader } from '../components/header.js'; -import { addAppLogEntry, authService, closeCurrentSessionAndSignOut, state } from '../state.js'; +import { addAppLogEntry, authService, closeCurrentSessionAndSignOut } from '../state.js'; export const pageMeta = { id: 'settings-view', title: 'Настройки' }; @@ -43,7 +43,6 @@ export function render({ navigate }) { <button class="text-btn" type="button" id="settings-device">Устройства</button> <button class="text-btn" type="button" id="settings-remote-addblock">Remote AddBlock через homeserver</button> <button class="text-btn" type="button" id="settings-servers">Настройки серверов</button> - <button class="text-btn" type="button" id="settings-tools">Настройки инструментов ввода</button> <button class="text-btn" type="button" id="settings-language">Язык / Language</button> <button class="text-btn" type="button" id="settings-signout">Завершить текущий сеанс</button> `; @@ -51,7 +50,6 @@ export function render({ navigate }) { card.querySelector('#settings-device').addEventListener('click', () => navigate('device-view')); card.querySelector('#settings-remote-addblock').addEventListener('click', () => navigate('remote-addblock-session-view')); card.querySelector('#settings-servers').addEventListener('click', () => navigate('server-settings-view')); - card.querySelector('#settings-tools').addEventListener('click', () => navigate('tools-settings-view')); card.querySelector('#settings-language').addEventListener('click', () => navigate('language-view')); const signOutBtn = card.querySelector('#settings-signout'); diff --git a/shine-UI/js/pages/tools-settings-view.js b/shine-UI/js/pages/tools-settings-view.js deleted file mode 100644 index b2391b7a..00000000 --- a/shine-UI/js/pages/tools-settings-view.js +++ /dev/null @@ -1,168 +0,0 @@ -import { renderHeader } from '../components/header.js'; -import { saveEntrySettings, state } from '../state.js'; -import { speakTextBySettings } from '../services/speech-tools-service.js'; - -export const pageMeta = { id: 'tools-settings-view', title: 'Настройки инструментов' }; - -function optionsMarkup(options, selected) { - return options.map((opt) => ( - `<option value="${opt.value}" ${selected === opt.value ? 'selected' : ''}>${opt.label}</option>` - )).join(''); -} - -export function render({ navigate }) { - const screen = document.createElement('section'); - screen.className = 'stack'; - - const stt = state.entrySettings.tools?.speechToText || {}; - const tts = state.entrySettings.tools?.textToSpeech || {}; - - const card = document.createElement('div'); - card.className = 'card stack'; - card.innerHTML = ` - <h3 class="modal-title">Распознавание речи</h3> - <label class="field-label">Провайдер</label> - <select class="input" id="stt-provider"> - ${optionsMarkup([{ value: 'openai', label: 'OpenAI (Whisper/Transcribe)' }], String(stt.provider || 'openai'))} - </select> - <label class="field-label">Уровень</label> - <select class="input" id="stt-quality"> - ${optionsMarkup([ - { value: 'easy', label: 'Easy (дешевле)' }, - { value: 'medium', label: 'Medium' }, - { value: 'hard', label: 'Hard (лучше)' }, - ], String(stt.quality || 'medium'))} - </select> - <label class="field-label">Адрес OpenAI API</label> - <input class="input" id="stt-base-url" type="text" value="${String(stt.baseUrl || 'https://api.openai.com/v1')}" placeholder="https://api.openai.com/v1" /> - <label class="field-label">Кастомная модель (опционально)</label> - <input class="input" id="stt-model" type="text" value="${String(stt.model || '')}" placeholder="например: gpt-4o-mini-transcribe" /> - <label class="field-label">API key</label> - <input class="input" id="stt-api-key" type="password" value="${String(stt.apiKey || '')}" placeholder="sk-..." /> - `; - - const card2 = document.createElement('div'); - card2.className = 'card stack'; - card2.innerHTML = ` - <h3 class="modal-title">Прочесть вслух (TTS)</h3> - <label class="field-label">Провайдер</label> - <select class="input" id="tts-provider"> - ${optionsMarkup([ - { value: 'browser', label: 'Браузер (SpeechSynthesis)' }, - { value: 'piper-http', label: 'Piper (локальный HTTP)' }, - { value: 'openai', label: 'OpenAI TTS API' }, - ], String(tts.provider || 'browser'))} - </select> - <label class="field-label">Уровень</label> - <select class="input" id="tts-quality"> - ${optionsMarkup([ - { value: 'easy', label: 'Easy' }, - { value: 'medium', label: 'Medium' }, - { value: 'hard', label: 'Hard' }, - ], String(tts.quality || 'medium'))} - </select> - <label class="field-label">Голос</label> - <input class="input" id="tts-voice" type="text" value="${String(tts.voice || '')}" placeholder="например: andrey / alloy" /> - <label class="field-label">Piper HTTP адрес</label> - <input class="input" id="tts-piper-url" type="text" value="${String(tts.piperBaseUrl || 'http://127.0.0.1:5000')}" placeholder="http://127.0.0.1:5000" /> - <label class="field-label">OpenAI/внешний API адрес</label> - <input class="input" id="tts-external-url" type="text" value="${String(tts.externalBaseUrl || '')}" placeholder="https://api.openai.com/v1" /> - <label class="field-label">API key (для внешнего API)</label> - <input class="input" id="tts-api-key" type="password" value="${String(tts.apiKey || '')}" placeholder="sk-..." /> - <label class="field-label">Модель (для внешнего API)</label> - <input class="input" id="tts-model" type="text" value="${String(tts.model || '')}" placeholder="например: gpt-4o-mini-tts" /> - <label class="field-label">Тестовая фраза</label> - <input class="input" id="tts-test-text" type="text" value="Привет! Проверка озвучки работает." /> - <div class="row wrap-row"> - <button class="ghost-btn" type="button" id="tts-test-btn">Проверить озвучку</button> - <button class="ghost-btn" type="button" id="piper-autofill">Загрузить и настроить (шаблон)</button> - <button class="ghost-btn" type="button" id="piper-links">Ссылки на Piper/голоса</button> - </div> - <p class="meta-muted">Для офлайн-озвучки через Piper используйте локальный HTTP-обёртчик. Кнопка «шаблон» подставляет базовые значения.</p> - `; - - const actions = document.createElement('div'); - actions.className = 'auth-footer-actions'; - actions.innerHTML = ` - <button class="ghost-btn" type="button" id="tools-cancel">Отмена</button> - <button class="primary-btn" type="button" id="tools-save">Сохранить</button> - `; - - actions.querySelector('#tools-cancel')?.addEventListener('click', () => navigate('settings-view')); - actions.querySelector('#tools-save')?.addEventListener('click', async () => { - const next = { - ...state.entrySettings, - tools: { - speechToText: { - provider: card.querySelector('#stt-provider')?.value || 'openai', - quality: card.querySelector('#stt-quality')?.value || 'medium', - baseUrl: String(card.querySelector('#stt-base-url')?.value || '').trim(), - apiKey: String(card.querySelector('#stt-api-key')?.value || '').trim(), - model: String(card.querySelector('#stt-model')?.value || '').trim(), - }, - textToSpeech: { - provider: card2.querySelector('#tts-provider')?.value || 'browser', - quality: card2.querySelector('#tts-quality')?.value || 'medium', - voice: String(card2.querySelector('#tts-voice')?.value || '').trim(), - piperBaseUrl: String(card2.querySelector('#tts-piper-url')?.value || '').trim(), - externalBaseUrl: String(card2.querySelector('#tts-external-url')?.value || '').trim(), - apiKey: String(card2.querySelector('#tts-api-key')?.value || '').trim(), - model: String(card2.querySelector('#tts-model')?.value || '').trim(), - }, - }, - }; - await saveEntrySettings(next); - navigate('settings-view'); - }); - - card2.querySelector('#piper-autofill')?.addEventListener('click', () => { - card2.querySelector('#tts-provider').value = 'piper-http'; - card2.querySelector('#tts-piper-url').value = 'http://127.0.0.1:5000'; - card2.querySelector('#tts-quality').value = 'medium'; - if (!String(card2.querySelector('#tts-voice').value || '').trim()) { - card2.querySelector('#tts-voice').value = 'ru_RU-irina-medium'; - } - }); - - card2.querySelector('#piper-links')?.addEventListener('click', () => { - window.open('https://github.com/rhasspy/piper', '_blank', 'noopener,noreferrer'); - window.open('https://huggingface.co/rhasspy/piper-voices/tree/main', '_blank', 'noopener,noreferrer'); - }); - - card2.querySelector('#tts-test-btn')?.addEventListener('click', async () => { - const ttsProvider = card2.querySelector('#tts-provider')?.value || 'openai'; - const text = String(card2.querySelector('#tts-test-text')?.value || '').trim(); - const runtimeSettings = { - ...state.entrySettings, - tools: { - ...state.entrySettings.tools, - textToSpeech: { - provider: ttsProvider, - quality: card2.querySelector('#tts-quality')?.value || 'medium', - voice: String(card2.querySelector('#tts-voice')?.value || '').trim(), - piperBaseUrl: String(card2.querySelector('#tts-piper-url')?.value || '').trim(), - externalBaseUrl: String(card2.querySelector('#tts-external-url')?.value || '').trim(), - apiKey: String(card2.querySelector('#tts-api-key')?.value || '').trim(), - model: String(card2.querySelector('#tts-model')?.value || '').trim(), - }, - }, - }; - try { - await speakTextBySettings(text || 'Проверка озвучки', runtimeSettings); - } catch (error) { - window.alert(`Ошибка озвучки: ${error?.message || 'unknown'}`); - } - }); - - screen.append( - renderHeader({ - title: 'Настройки инструментов', - leftAction: { label: '←', onClick: () => navigate('settings-view') }, - }), - card, - card2, - actions, - ); - - return screen; -} diff --git a/shine-UI/js/router.js b/shine-UI/js/router.js index d07f52ad..fa65c242 100644 --- a/shine-UI/js/router.js +++ b/shine-UI/js/router.js @@ -30,7 +30,6 @@ const PRETTY_PATHS = new Map([ ['notifications-view', 'notifications'], ['settings-view', 'settings'], ['server-settings-view', 'settings/servers'], - ['tools-settings-view', 'settings/tools'], ['developer-settings-view', 'settings/developer'], ['trusted-device-login-settings-view', 'settings/device-login'], ['language-view', 'settings/language'], @@ -260,7 +259,6 @@ export function getRoute() { if (pageId === 'settings') { const sub = decodePart(segments[1] || '').toLowerCase(); if (sub === 'servers') return { pageId: 'server-settings-view', params: {} }; - if (sub === 'tools') return { pageId: 'tools-settings-view', params: {} }; if (sub === 'developer') return { pageId: 'developer-settings-view', params: {} }; if (sub === 'device-login') return { pageId: 'trusted-device-login-settings-view', params: {} }; if (sub === 'language') return { pageId: 'language-view', params: {} }; @@ -372,7 +370,6 @@ export function resolveToolbarActive(pageId) { pageId === 'settings-view' || pageId === 'developer-settings-view' || pageId === 'server-settings-view' || - pageId === 'tools-settings-view' || pageId === 'remote-addblock-session-view' || pageId === 'device-view' || pageId === 'connect-device-view' || diff --git a/shine-UI/js/services/speech-tools-service.js b/shine-UI/js/services/speech-tools-service.js index e4580616..bde1ef62 100644 --- a/shine-UI/js/services/speech-tools-service.js +++ b/shine-UI/js/services/speech-tools-service.js @@ -1,9 +1,3 @@ -const OPENAI_MODELS_BY_QUALITY = { - easy: 'whisper-1', - medium: 'gpt-4o-mini-transcribe', - hard: 'gpt-4o-transcribe', -}; - const PIPER_LENGTH_SCALE_BY_QUALITY = { easy: '1.15', medium: '1.0', @@ -16,18 +10,6 @@ function normalizeOpenAiBaseUrl(url) { return value.replace(/\/+$/, ''); } -function resolveSttModel(config) { - const quality = String(config?.quality || 'medium').toLowerCase(); - const customModel = String(config?.model || '').trim(); - return customModel || OPENAI_MODELS_BY_QUALITY[quality] || OPENAI_MODELS_BY_QUALITY.medium; -} - -export function isSpeechToTextConfigured(entrySettings) { - const cfg = entrySettings?.tools?.speechToText || {}; - if (String(cfg.provider || 'openai') !== 'openai') return false; - return !!String(cfg.apiKey || '').trim(); -} - export function isTextToSpeechConfigured(entrySettings) { const cfg = entrySettings?.tools?.textToSpeech || {}; const provider = String(cfg.provider || 'browser'); @@ -37,135 +19,6 @@ export function isTextToSpeechConfigured(entrySettings) { return false; } -export async function transcribeAudioBySettings(audioBlob, entrySettings) { - const cfg = entrySettings?.tools?.speechToText || {}; - const provider = String(cfg.provider || 'openai'); - if (provider !== 'openai') { - throw new Error('Поддерживается только провайдер OpenAI для распознавания.'); - } - - const apiKey = String(cfg.apiKey || '').trim(); - if (!apiKey) throw new Error('Не заполнен OpenAI API key.'); - - const model = resolveSttModel(cfg); - const baseUrl = normalizeOpenAiBaseUrl(cfg.baseUrl); - - const form = new FormData(); - form.append('model', model); - form.append('language', 'ru'); - form.append('response_format', 'json'); - form.append('file', audioBlob, 'voice-input.webm'); - - const response = await fetch(`${baseUrl}/audio/transcriptions`, { - method: 'POST', - headers: { - Authorization: `Bearer ${apiKey}`, - }, - body: form, - }); - - if (!response.ok) { - const body = await response.text().catch(() => ''); - throw new Error(`Ошибка STT API (${response.status}): ${body || 'unknown error'}`); - } - - const payload = await response.json(); - const text = String(payload?.text || '').trim(); - if (!text) throw new Error('Пустой ответ распознавания.'); - return text; -} - -export function createMicrophoneRecorder() { - const Ctx = window.AudioContext || window.webkitAudioContext; - let stream = null; - let recorder = null; - let startedAtMs = 0; - let chunks = []; - let timerId = 0; - let level = 0; - let analyser = null; - let rafId = 0; - - async function start(onTick) { - stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false }); - recorder = new MediaRecorder(stream, { mimeType: 'audio/webm' }); - startedAtMs = Date.now(); - chunks = []; - - recorder.ondataavailable = (event) => { - if (event?.data?.size > 0) chunks.push(event.data); - }; - recorder.start(250); - - timerId = window.setInterval(() => { - if (typeof onTick === 'function') { - onTick({ - elapsedMs: Date.now() - startedAtMs, - level, - }); - } - }, 120); - - if (Ctx) { - const audioCtx = new Ctx(); - const source = audioCtx.createMediaStreamSource(stream); - analyser = audioCtx.createAnalyser(); - analyser.fftSize = 256; - source.connect(analyser); - const data = new Uint8Array(analyser.frequencyBinCount); - const read = () => { - if (!analyser) return; - analyser.getByteFrequencyData(data); - let sum = 0; - for (let i = 0; i < data.length; i += 1) sum += data[i]; - level = data.length > 0 ? Math.max(0, Math.min(1, (sum / data.length) / 255)) : 0; - rafId = window.requestAnimationFrame(read); - }; - read(); - } - } - - async function stop() { - if (!recorder) return null; - const blob = await new Promise((resolve) => { - recorder.onstop = () => resolve(new Blob(chunks, { type: 'audio/webm' })); - recorder.stop(); - }); - cleanup(); - return blob; - } - - function cancel() { - try { - recorder?.stop(); - } catch { - // ignore - } - cleanup(); - } - - function cleanup() { - if (timerId) window.clearInterval(timerId); - if (rafId) window.cancelAnimationFrame(rafId); - timerId = 0; - rafId = 0; - analyser = null; - if (stream) { - stream.getTracks().forEach((track) => { - try { - track.stop(); - } catch { - // ignore - } - }); - } - stream = null; - recorder = null; - } - - return { start, stop, cancel }; -} - export async function speakTextBySettings(text, entrySettings) { const value = String(text || '').trim(); if (!value) return; diff --git a/shine-UI/js/state.js b/shine-UI/js/state.js index a26c0260..bcbab5ab 100644 --- a/shine-UI/js/state.js +++ b/shine-UI/js/state.js @@ -95,7 +95,6 @@ const DEFAULT_SHINE_SERVER_LOGIN_VALUE = DEFAULT_SHINE_SERVER_LOGIN; const DEFAULT_SHINE_SERVER_HTTP_VALUE = DEFAULT_SHINE_SERVER_HTTP; const DEFAULT_ARWEAVE_SERVER = 'https://arweave.net'; const DEFAULT_CALL_PREFLIGHT_TIMEOUT_MS = 6000; -const DEFAULT_OPENAI_BASE_URL = 'https://api.openai.com/v1'; function normalizeStoredSolanaServer(value) { const raw = String(value || '').trim(); @@ -109,16 +108,8 @@ export function normalizeDmChatId(value) { function normalizeToolsSettings(rawTools) { const source = rawTools && typeof rawTools === 'object' ? rawTools : {}; - const stt = source.speechToText && typeof source.speechToText === 'object' ? source.speechToText : {}; const tts = source.textToSpeech && typeof source.textToSpeech === 'object' ? source.textToSpeech : {}; return { - speechToText: { - provider: String(stt.provider || 'openai'), - baseUrl: String(stt.baseUrl || DEFAULT_OPENAI_BASE_URL), - apiKey: String(stt.apiKey || ''), - quality: String(stt.quality || 'medium'), - model: String(stt.model || ''), - }, textToSpeech: { provider: String(tts.provider || 'openai'), quality: String(tts.quality || 'medium'), diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 522b8577..33b33a52 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -5029,22 +5029,6 @@ html, body { overflow-x: hidden; } height: 0; } -.voice-level-wrap { - width: 100%; - height: 8px; - border-radius: 999px; - background: rgba(255, 255, 255, 0.15); - overflow: hidden; -} - -.voice-level-fill { - width: 2%; - height: 100%; - border-radius: 999px; - background: rgba(212, 175, 55, 0.95); - transition: width 80ms linear; -} - .dm-screen .input, .dm-input { background: rgba(255, 255, 255, 0.04); @@ -5140,16 +5124,6 @@ html, body { overflow-x: hidden; } margin-top: 2px; } -.speech-actions-top { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 8px; -} - -.speech-send-now-btn { - width: 100%; -} - .dm-screen .dm-list > .card.meta-muted { width: calc(100% - 40px); margin: 0 20px; From 07b1623c5e692ff0e871e4ef357622d15449214768d494f440249ea6d1ea0ea2 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 19:28:46 +0400 Subject: [PATCH 17/83] =?UTF-8?q?UI:=20=D1=83=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=88=D0=B0=D0=B3=20=D0=BF=D0=BE=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B3?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 +- shine-UI/js/deploy-config.js | 2 +- .../js/pages/registration-payment-view.js | 41 +++++++++++++++---- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 920a658b..3cb97578 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.345 -server.version=1.2.317 +client.version=1.2.346 +server.version=1.2.318 diff --git a/shine-UI/js/deploy-config.js b/shine-UI/js/deploy-config.js index cb6a5c30..af2db939 100644 --- a/shine-UI/js/deploy-config.js +++ b/shine-UI/js/deploy-config.js @@ -6,4 +6,4 @@ export const defaultServerAddress = 'shineup.me'; export const defaultServerHttp = `https://${defaultServerAddress}`; export const defaultServerWs = `wss://${defaultServerAddress}/ws`; export const defaultSolanaCluster = 'mainnet-beta'; -export const defaultSolanaEndpoint = 'https://solana-rpc.publicnode.com'; +export const defaultSolanaEndpoint = 'https://public.rpc.solanavibestation.com/'; diff --git a/shine-UI/js/pages/registration-payment-view.js b/shine-UI/js/pages/registration-payment-view.js index 8240524f..e7976e1f 100644 --- a/shine-UI/js/pages/registration-payment-view.js +++ b/shine-UI/js/pages/registration-payment-view.js @@ -25,6 +25,7 @@ import { defaultServerLogin } from '../deploy-config.js'; export const pageMeta = { id: 'registration-payment-view', title: 'Оплата регистрации', showAppChrome: false }; const MIN_REQUIRED_SOL = 0.01; +const RECOMMENDED_TOPUP_SOL = 0.02; const AUTO_LOGIN_INITIAL_DELAY_MS = 1000; const AUTO_LOGIN_RETRY_MS = 2000; const REGISTRATION_PROGRESS_DURATION_MS = 12000; @@ -42,6 +43,20 @@ function getExplorerClusterName(endpoint) { return 'mainnet-beta'; } +function isTestRegistrationContour() { + const solanaCluster = getExplorerClusterName(state.entrySettings.solanaServer); + if (solanaCluster !== 'mainnet-beta') return true; + const shineServer = String(state.entrySettings.shineServer || '').trim().toLowerCase(); + const shineServerLogin = String(state.entrySettings.shineServerLogin || '').trim().toLowerCase(); + return ( + shineServer.includes('t1.shineup.me') + || shineServer.includes('t2.shineup.me') + || shineServer.includes('t3.shineup.me') + || shineServer.includes('t4.shineup.me') + || ['t1', 't2', 't3', 't4'].includes(shineServerLogin) + ); +} + function makeSolanaExplorerTxUrl(signature, endpoint) { const cleanSignature = String(signature || '').trim(); if (!cleanSignature) return ''; @@ -152,14 +167,16 @@ export function render({ navigate }) { walletValue.type = 'text'; walletValue.value = state.registrationPayment.walletAddress || ''; walletValue.readOnly = true; + walletValue.style.width = '100%'; const walletRow = document.createElement('div'); - walletRow.className = 'inline-input-row'; + walletRow.className = 'stack'; const copyButton = document.createElement('button'); copyButton.className = 'ghost-btn'; copyButton.type = 'button'; copyButton.textContent = 'Скопировать номер'; + copyButton.style.width = '100%'; copyButton.addEventListener('click', async () => { try { await navigator.clipboard.writeText(walletValue.value); @@ -232,6 +249,7 @@ export function render({ navigate }) { balanceRow.append(balanceValue, refreshButton); + const isTestContour = isTestRegistrationContour(); const topupButton = document.createElement('button'); topupButton.className = 'ghost-btn'; topupButton.type = 'button'; @@ -277,11 +295,15 @@ export function render({ navigate }) { if (currentBalance == null) return; if (currentBalance < MIN_REQUIRED_SOL) { status.className = 'status-line is-unavailable'; - status.textContent = `Для регистрации нужно минимум ${MIN_REQUIRED_SOL} SOL. Сейчас на кошельке ${formatSol(currentBalance, 6)} SOL. Пополните на промо-странице или попросите перевод у знакомого с тестовыми SOL.`; + status.textContent = isTestContour + ? `Для регистрации нужно минимум ${MIN_REQUIRED_SOL} SOL. Рекомендуем пополнить кошелёк примерно на ${RECOMMENDED_TOPUP_SOL} SOL. Сейчас на кошельке ${formatSol(currentBalance, 6)} SOL.` + : `Для регистрации пополните этот кошелёк соланами примерно на ${RECOMMENDED_TOPUP_SOL} SOL. Сейчас на кошельке ${formatSol(currentBalance, 6)} SOL. Минимум для продолжения: ${MIN_REQUIRED_SOL} SOL.`; status.style.display = ''; - const openTopup = window.confirm('Открыть страницу пополнения с вашим кошельком?'); - if (openTopup) { - window.open(getTopupSiteUrl(walletAddress), '_blank', 'noopener,noreferrer'); + if (isTestContour) { + const openTopup = window.confirm('Открыть страницу пополнения с вашим кошельком?'); + if (openTopup) { + window.open(getTopupSiteUrl(walletAddress), '_blank', 'noopener,noreferrer'); + } } return; } @@ -323,15 +345,18 @@ export function render({ navigate }) { }); card.innerHTML = ` - <p class="auth-copy">Для регистрации в тестовой Solana нужно минимум 0,01 SOL на вашем кошельке.</p> - <label class="stack"><span class="field-label">Номер кошелька (client.key)</span></label> + <p class="auth-copy">Для регистрации пополните этот кошелёк соланами примерно на ${RECOMMENDED_TOPUP_SOL} SOL.</p> + <label class="stack"><span class="field-label">Номер кошелька</span></label> <div class="stack"> <span class="field-label">Баланс (Solana)</span> </div> `; card.children[1].append(walletRow); card.children[2].append(balanceRow); - card.append(topupButton, showKeysButton, submitButton, status); + if (isTestContour) { + card.append(topupButton); + } + card.append(showKeysButton, submitButton, status); screen.append( renderHeader({ From 9a7019a2ce2f166c7678d6f07150bf5e201e6e32b0ac8b92614e83cc2f6368a2 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 20:10:20 +0400 Subject: [PATCH 18/83] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F:=20=D0=B2=D1=8B=D0=BD?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B8=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 9 ++----- COMMIT_AND_VERSION_RULES.md | 47 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 COMMIT_AND_VERSION_RULES.md diff --git a/AGENTS.md b/AGENTS.md index c1629e40..286a1818 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -79,12 +79,8 @@ - Для экранов регистрации, входа и других чувствительных UI-flow по умолчанию переносить экраны в Figma по одному, а не пачкой, если пользователь отдельно не подтвердил иной способ. ## Версионирование -- Единый файл версий проекта: `VERSION.properties` (в корне репозитория). -- Перед каждым новым коммитом обязательно увеличивать версии в `VERSION.properties`: -- `client.version` — версия клиентского UI. -- `server.version` — версия серверной части. -- Базовое правило инкремента: `+1` по последнему числовому сегменту (patch), если не оговорено иное. -- Обычные коммиты делать стандартным `git commit`; переменная `$GITEA_TOKEN` для коммитов не нужна и не используется. +- Все правила по коммитам, merge в `main`, `git push` и обновлению `VERSION.properties` находятся в `COMMIT_AND_VERSION_RULES.md`. +- Этот файл считать единым источником истины по правилам версионирования и коммитов для данного репозитория. ## Deploy - Все документы, инструкции, backup-правила и скрипты деплоя хранить в папке `deploy/`. @@ -93,7 +89,6 @@ - Тестовые/devnet серверы SHiNE: `t1.shineup.me`, `t2.shineup.me`, `t3.shineup.me`, `t4.shineup.me`. - В deploy-документах и скриптах использовать домены, а не IP. - По возможности все справки, комментарии и примечания в конфигах/документах писать на русском языке. -- Для операций `git push` при необходимости использовать токен из переменной окружения `$GITEA_TOKEN`. - Любые изменения и любой деплой на production (`shineup.me` и `server2.shineup.me`) выполнять только после отдельного явного подтверждения пользователя. - Перед production deploy обязательно проверить/обновить бэкап в `deploy/backup/archive/`. - Если пользователь пишет просто `задеплой` без уточнения production/test, уточнить целевой контур; не выбирать production автоматически. diff --git a/COMMIT_AND_VERSION_RULES.md b/COMMIT_AND_VERSION_RULES.md new file mode 100644 index 00000000..31026e08 --- /dev/null +++ b/COMMIT_AND_VERSION_RULES.md @@ -0,0 +1,47 @@ +# Правила коммитов, merge и версионирования + +Этот файл является единым источником правил для: +- коммитов; +- merge в `main`; +- изменения версий в `VERSION.properties`; +- `git push` из этого репозитория. + +## Язык + +- Пояснения к коммитам, PR и merge-запросам писать на русском языке. + +## Где хранится версия + +- Единый файл версий проекта: `VERSION.properties` в корне репозитория. +- Основные поля: +- `client.version` — версия клиентского UI. +- `server.version` — версия серверной части. + +## Базовое правило для обычных коммитов + +- Перед каждым новым коммитом обязательно обновлять версии в `VERSION.properties`. +- Если менялся только UI, увеличивать только `client.version`. +- Если менялся только сервер, увеличивать только `server.version`. +- Если менялись и UI, и сервер, увеличивать обе версии. +- Для обычных коммитов вне `main` использовать стандартный patch-инкремент: `+1` к последнему числовому сегменту. +- Пример: `1.2.346` → `1.2.347`. + +## Правило для `main` + +- Ветка `main` предназначена только для стабильных версий. +- По умолчанию в `main` нужно не коммитить напрямую, а мержить готовые изменения из рабочей ветки. +- Если пользователь просит сделать прямой коммит в `main`, нужно отдельно и явно предупредить, что это обход обычного стабильного процесса, и обязательно переспросить подтверждение. + +## Версионирование при merge или прямом коммите в `main` + +- Для попадания изменений в `main` действует отдельная схема инкремента. +- Нужно увеличивать вторую цифру версии и обнулять третью. +- Пример: `1.2.346` → `1.3.0`. +- Если в наборе изменений менялся только UI, обновлять только `client.version`. +- Если в наборе изменений менялся только сервер, обновлять только `server.version`. +- Если соответствующая часть не менялась, её версию не трогать. + +## Правила для git commit и git push + +- Обычные коммиты делать стандартным `git commit`; токен для локального коммита не нужен и не используется. +- Для операций `git push` при необходимости использовать токен из переменной окружения `$GITEA_TOKEN`. From 415a40e436564377d80e2aad98b7d50147a86700a186e2a28886591c5d55dba1 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 20:12:06 +0400 Subject: [PATCH 19/83] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D0=B8:=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BD=D1=8F=D1=82=D1=8C=20main=20=D0=B4?= =?UTF-8?q?=D0=BE=201.3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 3cb97578..b7ad849d 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.346 -server.version=1.2.318 +client.version=1.3.0 +server.version=1.3.0 From 809c216a5c756b60d59dc5949b247247ec176a9dd5d9e10280d2977332af6a82 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 22 Jul 2026 20:12:36 +0400 Subject: [PATCH 20/83] =?UTF-8?q?Deploy:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20production=20Solana=20RPC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/scripts/production_server2_ui.sh | 2 +- deploy/scripts/production_shineupme_ui.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/scripts/production_server2_ui.sh b/deploy/scripts/production_server2_ui.sh index aa69af7f..1367eebf 100755 --- a/deploy/scripts/production_server2_ui.sh +++ b/deploy/scripts/production_server2_ui.sh @@ -8,7 +8,7 @@ EXPECTED_CADDY_SITE="server2.shineup.me" \ DEPLOY_SERVER_LOGIN="server2shineupme" \ DEPLOY_SERVER_ADDRESS="server2.shineup.me" \ DEPLOY_SOLANA_CLUSTER="mainnet" \ -DEPLOY_SOLANA_ENDPOINT="https://solana-rpc.publicnode.com" \ +DEPLOY_SOLANA_ENDPOINT="https://public.rpc.solanavibestation.com/" \ TARGET_URL="https://server2.shineup.me" \ REQUIRE_BACKUP="1" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/deploy/scripts/production_shineupme_ui.sh b/deploy/scripts/production_shineupme_ui.sh index 37fc0474..14c89c04 100755 --- a/deploy/scripts/production_shineupme_ui.sh +++ b/deploy/scripts/production_shineupme_ui.sh @@ -8,7 +8,7 @@ EXPECTED_CADDY_SITE="shineup.me" \ DEPLOY_SERVER_LOGIN="shineupme" \ DEPLOY_SERVER_ADDRESS="shineup.me" \ DEPLOY_SOLANA_CLUSTER="mainnet" \ -DEPLOY_SOLANA_ENDPOINT="https://solana-rpc.publicnode.com" \ +DEPLOY_SOLANA_ENDPOINT="https://public.rpc.solanavibestation.com/" \ TARGET_URL="https://shineup.me" \ REQUIRE_BACKUP="1" \ bash "$(dirname "$0")/deploy_ui.sh" From 4704f8485bee9787460d31cd142fdbde4d91d3e99302a2cc3d00bd04f258602c Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 23 Jul 2026 22:49:16 +0400 Subject: [PATCH 21/83] =?UTF-8?q?UI:=20=D0=BF=D0=BE=D0=BD=D1=8F=D1=82?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B5=D1=85=D0=B2=D0=B0=D1=82=D0=BA?= =?UTF-8?q?=D0=B5=20SOL=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BB=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/wallet-view.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 3cb97578..aab16956 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.346 +client.version=1.2.347 server.version=1.2.318 diff --git a/shine-UI/js/pages/wallet-view.js b/shine-UI/js/pages/wallet-view.js index 2462493e..cb5813d6 100644 --- a/shine-UI/js/pages/wallet-view.js +++ b/shine-UI/js/pages/wallet-view.js @@ -45,6 +45,16 @@ function lamportsToSolText(lamportsBigInt) { return value.toLocaleString('ru-RU', { minimumFractionDigits: 0, maximumFractionDigits: 9 }); } +function formatLimitTopupError(error) { + const message = String(error?.message || '').trim(); + const logs = Array.isArray(error?.logs) ? error.logs.join(' | ') : ''; + const haystack = `${message} ${logs}`.toLowerCase(); + if (haystack.includes('insufficient funds for rent')) { + return 'Недостаточно средств на Solana-кошельке для пополнения лимита.'; + } + return `Не удалось увеличить лимит: ${message || 'unknown'}`; +} + function createModeBackButton(renderWalletChoice) { const backBtn = document.createElement('button'); backBtn.className = 'text-btn'; @@ -1492,7 +1502,7 @@ export function render({ navigate }) { await refreshUsage(); } catch (error) { if (modeToken !== activeModeToken) return; - setStatus(`Не удалось увеличить лимит: ${error?.message || 'unknown'}`); + setStatus(formatLimitTopupError(error)); } finally { setButtonsDisabled(false); } From 5df69d73c7aabc788fd796b8262477131f3d115b8a6c772e0e9dc0b93d1417c8 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 23 Jul 2026 23:49:39 +0400 Subject: [PATCH 22/83] =?UTF-8?q?=D0=92=D1=81=D1=82=D1=80=D0=BE=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20Solana=20users=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/utils/config/AppConfig.java | 9 + .../build.gradle | 32 + .../main/java/sync/codec/ShineUsersCodec.java | 1444 +++++++++++++++++ .../src/main/java/sync/config/AppConfig.java | 234 +++ .../java/sync/model/ProgramAccountUpdate.java | 12 + .../main/java/sync/model/SnapshotResult.java | 9 + .../sync/service/SolanaUsersSyncService.java | 822 ++++++++++ .../sync/source/AccountUpdateListener.java | 11 + .../java/sync/source/ConnectionListener.java | 12 + .../java/sync/source/rpc/SolanaRpcClient.java | 737 +++++++++ .../source/rpc/SolanaWebSocketClient.java | 542 +++++++ .../postgres/PostgresStorageRepository.java | 1076 ++++++++++++ .../src/main/java/sync/util/Base58Util.java | 224 +++ .../main/java/sync/util/SolanaPdaUtil.java | 95 ++ .../sync/SolanaUsersSyncStartupService.java | 85 + .../src/main/java/server/ws/WsServer.java | 6 + .../src/main/resources/application.properties | 8 + VERSION.properties | 2 +- build.gradle | 1 + deploy/POSTGRESQL_SERVERS_STANDARD.md | 213 +++ deploy/README.md | 2 + deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md | 116 ++ .../Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md | 550 +++++++ settings.gradle | 2 + 24 files changed, 6243 insertions(+), 1 deletion(-) create mode 100644 SHiNE-server/shine-server-solana-users-sync/build.gradle create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/codec/ShineUsersCodec.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/config/AppConfig.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/ProgramAccountUpdate.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/SnapshotResult.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/service/SolanaUsersSyncService.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/AccountUpdateListener.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/ConnectionListener.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaRpcClient.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaWebSocketClient.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/Base58Util.java create mode 100644 SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/SolanaPdaUtil.java create mode 100644 SHiNE-server/src/main/java/server/sync/SolanaUsersSyncStartupService.java create mode 100644 deploy/POSTGRESQL_SERVERS_STANDARD.md create mode 100644 deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md create mode 100644 docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md diff --git a/SHiNE-server/shine-server-config/src/main/java/utils/config/AppConfig.java b/SHiNE-server/shine-server-config/src/main/java/utils/config/AppConfig.java index 0d53fe4c..027779b0 100644 --- a/SHiNE-server/shine-server-config/src/main/java/utils/config/AppConfig.java +++ b/SHiNE-server/shine-server-config/src/main/java/utils/config/AppConfig.java @@ -59,6 +59,8 @@ public final class AppConfig { public String getParam(String name) { String fromSystem = System.getProperty(name); if (fromSystem != null) return fromSystem; + String fromEnv = System.getenv(toEnvName(name)); + if (fromEnv != null && !fromEnv.isBlank()) return fromEnv.trim(); return properties.getProperty(name); } @@ -78,4 +80,11 @@ public final class AppConfig { String v = properties.getProperty(name); return v == null ? defaultValue : Boolean.parseBoolean(v); } + + private static String toEnvName(String name) { + return name + .replace('.', '_') + .replace('-', '_') + .toUpperCase(); + } } diff --git a/SHiNE-server/shine-server-solana-users-sync/build.gradle b/SHiNE-server/shine-server-solana-users-sync/build.gradle new file mode 100644 index 00000000..74314d62 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/build.gradle @@ -0,0 +1,32 @@ +plugins { + id 'java' +} + +group = 'shine' +version = '1.0.0' + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +repositories { + mavenCentral() +} + +dependencies { + implementation project(':shine-server-config') + + implementation 'com.squareup.okhttp3:okhttp:4.12.0' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' + implementation 'org.postgresql:postgresql:42.7.7' + implementation 'org.bouncycastle:bcprov-jdk18on:1.78.1' + implementation 'org.slf4j:slf4j-api:2.0.16' + + testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0' +} + +test { + useJUnitPlatform() +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/codec/ShineUsersCodec.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/codec/ShineUsersCodec.java new file mode 100644 index 00000000..38597f90 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/codec/ShineUsersCodec.java @@ -0,0 +1,1444 @@ +package sync.codec; + +import com.fasterxml.jackson.databind.JsonNode; +import sync.util.Base58Util; + +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Base64; +import java.util.HexFormat; +import java.util.List; + +public final class ShineUsersCodec { + + public static final String MAGIC = + "SHiNE"; + + public static final int IX_INIT_USERS_ECONOMY_CONFIG = + 1; + + public static final int IX_UPDATE_USERS_ECONOMY_CONFIG = + 2; + + public static final int IX_CREATE_USER_PDA = + 3; + + public static final int IX_UPDATE_USER_PDA = + 4; + + public static final long START_REGISTRATION_FEE_LAMPORTS = + 10_000_000L; + + public static final long START_LAMPORTS_PER_LIMIT_STEP = + 100_000L; + + public static final long START_BONUS_LIMIT = + 100_000L; + + private static final int BLOCK_TYPE_RECOVERY_KEY = + 0; + + private static final int BLOCK_TYPE_ROOT_KEY = + 1; + + private static final int BLOCK_TYPE_CLIENT_KEY = + 2; + + private static final int BLOCK_TYPE_BLOCKCHAIN_REGISTRY = + 3; + + private static final int BLOCK_TYPE_SERVER_PROFILE = + 30; + + private static final int BLOCK_TYPE_ACCESS_SERVERS = + 40; + + private static final int BLOCK_TYPE_SESSIONS = + 50; + + private static final int BLOCK_TYPE_TRUSTED_STATE = + 70; + + private static final int BLOCK_VERSION_0 = + 0; + + private static final int BLOCKCHAIN_TYPE_MAIN_USER = + 1; + + private static final byte[] ZERO_HASH = + new byte[32]; + + private ShineUsersCodec() { + } + + public static ParsedInstruction parseShineUsersInstruction( + JsonNode instructionNode, + String expectedProgramId + ) { + + if (instructionNode == null) { + return null; + } + + String programId = + instructionNode.path("programId") + .asText(""); + + if (!expectedProgramId.equals(programId)) { + return null; + } + + String dataBase58 = + instructionNode.path("data") + .asText(""); + + if (dataBase58.isBlank()) { + return new ParsedInstruction( + TxKind.OTHER, + false, + null, + null, + null, + null + ); + } + + byte[] data = + Base58Util.decode( + dataBase58 + ); + + Reader reader = + new Reader(data); + + int tag = + reader.readU8(); + + List<String> accounts = + readInstructionAccounts( + instructionNode.path("accounts") + ); + + return switch (tag) { + case IX_INIT_USERS_ECONOMY_CONFIG -> + new ParsedInstruction( + TxKind.INIT_USERS_ECONOMY_CONFIG, + false, + null, + null, + EconomyConfigState.initial(), + null + ); + + case IX_UPDATE_USERS_ECONOMY_CONFIG -> + new ParsedInstruction( + TxKind.UPDATE_USERS_ECONOMY_CONFIG, + false, + null, + null, + new EconomyConfigState( + 1, + reader.readU64(), + reader.readU64(), + reader.readU64() + ), + null + ); + + case IX_CREATE_USER_PDA -> + parseCreateInstruction( + reader, + accounts + ); + + case IX_UPDATE_USER_PDA -> + parseUpdateInstruction( + reader, + accounts + ); + + default -> + new ParsedInstruction( + TxKind.OTHER, + false, + null, + null, + null, + null + ); + }; + } + + public static UserPdaSnapshot parseUserPdaAccount( + String pdaAddress, + long slot, + String rawDataBase64, + String lastTxSignature + ) { + + byte[] raw = + Base64.getDecoder() + .decode(rawDataBase64); + + if (raw.length < 9) { + throw new IllegalArgumentException( + "PDA record too short" + ); + } + + String magic = + new String( + raw, + 0, + 5, + StandardCharsets.UTF_8 + ); + + if (!MAGIC.equals(magic)) { + throw new IllegalArgumentException( + "Unsupported PDA magic" + ); + } + + int recordLen = + u16le( + raw, + 7 + ); + + if (recordLen > raw.length) { + throw new IllegalArgumentException( + "Invalid PDA record length" + ); + } + + byte[] useful = + new byte[recordLen]; + + System.arraycopy( + raw, + 0, + useful, + 0, + recordLen + ); + + Reader reader = + new Reader(useful); + + reader.skip(9); + + long createdAtMs = + reader.readU64(); + + long updatedAtMs = + reader.readU64(); + + int recordNumber = + (int) reader.readU32(); + + byte[] prevHash = + reader.readFixed(32); + + String login = + reader.readStringU8(); + + int blocksCount = + reader.readU8(); + + String recoveryKey = + null; + + String rootKey = + null; + + String clientKey = + null; + + String blockchainName = + null; + + String blockchainKey = + null; + + long paidLimitBytes = + 0L; + + long usedBytes = + 0L; + + int lastBlockNumber = + 0; + + String lastBlockHash = + ""; + + String lastBlockSignature = + ""; + + String arweaveTxId = + ""; + + boolean isServer = + false; + + int addressFormatType = + 0; + + int addressFormatVersion = + 0; + + String serverAddress = + ""; + + List<String> syncServers = + new ArrayList<>(); + + List<String> accessServers = + new ArrayList<>(); + + int sessionsMode = + 1; + + List<UserSessionSnapshot> sessions = + new ArrayList<>(); + + int trustedCount = + 0; + + for (int i = 0; i < blocksCount; i++) { + + int blockType = + reader.readU8(); + + int blockVersion = + reader.readU8(); + + if (blockVersion != BLOCK_VERSION_0) { + throw new IllegalArgumentException( + "Unsupported block version" + ); + } + + switch (blockType) { + + case BLOCK_TYPE_RECOVERY_KEY -> + recoveryKey = + Base58Util.encode( + reader.readFixed(32) + ); + + case BLOCK_TYPE_ROOT_KEY -> + rootKey = + Base58Util.encode( + reader.readFixed(32) + ); + + case BLOCK_TYPE_CLIENT_KEY -> + clientKey = + Base58Util.encode( + reader.readFixed(32) + ); + + case BLOCK_TYPE_BLOCKCHAIN_REGISTRY -> { + int count = + reader.readU8(); + + if (count != 1) { + throw new IllegalArgumentException( + "Unexpected blockchain count" + ); + } + + int blockchainType = + reader.readU8(); + + if (blockchainType != BLOCKCHAIN_TYPE_MAIN_USER) { + throw new IllegalArgumentException( + "Unsupported blockchain type" + ); + } + + blockchainName = + reader.readStringU8(); + + blockchainKey = + Base58Util.encode( + reader.readFixed(32) + ); + + paidLimitBytes = + reader.readU64(); + + usedBytes = + reader.readU64(); + + lastBlockNumber = + (int) reader.readU32(); + + lastBlockHash = + toHex( + reader.readFixed(32) + ); + + lastBlockSignature = + Base58Util.encode( + reader.readFixed(64) + ); + + int arweavePresent = + reader.readU8(); + + if (arweavePresent == 1) { + arweaveTxId = + reader.readStringU8(); + } else if (arweavePresent != 0) { + throw new IllegalArgumentException( + "Invalid arweave marker" + ); + } + } + + case BLOCK_TYPE_SERVER_PROFILE -> { + isServer = + reader.readU8() == 1; + + if (isServer) { + addressFormatType = + reader.readU8(); + addressFormatVersion = + reader.readU8(); + serverAddress = + reader.readStringU8(); + int syncCount = + reader.readU8(); + for (int j = 0; j < syncCount; j++) { + syncServers.add( + reader.readStringU8() + ); + } + } + } + + case BLOCK_TYPE_ACCESS_SERVERS -> { + int accessCount = + reader.readU8(); + for (int j = 0; j < accessCount; j++) { + accessServers.add( + reader.readStringU8() + ); + } + } + + case BLOCK_TYPE_SESSIONS -> { + sessionsMode = + reader.readU8(); + + int sessionCount = + reader.readU8(); + + for (int j = 0; j < sessionCount; j++) { + sessions.add( + new UserSessionSnapshot( + reader.readU8(), + reader.readU8(), + reader.readStringU8(), + Base58Util.encode( + reader.readFixed(32) + ) + ) + ); + } + } + + case BLOCK_TYPE_TRUSTED_STATE -> + trustedCount = + reader.readU8(); + + default -> + throw new IllegalArgumentException( + "Unsupported block type: " + blockType + ); + } + } + + String signature = + Base58Util.encode( + reader.readFixed(64) + ); + + return new UserPdaSnapshot( + pdaAddress, + login, + recordNumber, + slot, + lastTxSignature, + recoveryKey, + rootKey, + clientKey, + blockchainName, + blockchainKey, + paidLimitBytes, + usedBytes, + lastBlockNumber, + lastBlockHash, + lastBlockSignature, + arweaveTxId, + isServer, + addressFormatType, + addressFormatVersion, + serverAddress, + List.copyOf(syncServers), + List.copyOf(accessServers), + sessionsMode, + List.copyOf(sessions), + trustedCount, + createdAtMs, + updatedAtMs, + toHex(prevHash), + signature, + rawDataBase64 + ); + } + + public static UserPdaSnapshot buildCreateSnapshot( + UserPdaMutation mutation, + EconomyConfigState economyConfigState, + String txSignature, + long slot + ) { + + long paidLimitBytes = + economyConfigState.startBonusLimit() + + mutation.additionalLimit(); + + return buildSnapshot( + mutation, + 0, + slot, + txSignature, + mutation.createdAtMs(), + mutation.createdAtMs(), + toHex(ZERO_HASH), + paidLimitBytes + ); + } + + public static UserPdaSnapshot buildUpdateSnapshot( + UserPdaMutation mutation, + UserPdaSnapshot previous, + String txSignature, + long slot + ) { + + long paidLimitBytes = + previous.paidLimitBytes() + + mutation.additionalLimit(); + + return buildSnapshot( + mutation, + mutation.version(), + slot, + txSignature, + mutation.createdAtMs(), + mutation.updatedAtMs(), + toHex(mutation.prevHash()), + paidLimitBytes + ); + } + + public static String serializeSnapshotToBase64( + UserPdaSnapshot snapshot + ) { + + byte[] recoveryKey = + Base58Util.decode( + snapshot.recoveryKey() + ); + + byte[] rootKey = + Base58Util.decode( + snapshot.rootKey() + ); + + byte[] clientKey = + Base58Util.decode( + snapshot.clientKey() + ); + + byte[] blockchainKey = + Base58Util.decode( + snapshot.blockchainKey() + ); + + byte[] lastBlockHash = + fromHex( + snapshot.lastBlockHash() + ); + + byte[] lastBlockSignature = + Base58Util.decode( + snapshot.lastBlockSignature() + ); + + byte[] prevHash = + fromHex( + snapshot.prevRecordHash() + ); + + byte[] recordSignature = + Base58Util.decode( + snapshot.recordSignature() + ); + + List<String> syncServers = + snapshot.syncServers(); + + List<String> accessServers = + snapshot.accessServers(); + + List<UserSessionSnapshot> sessions = + snapshot.sessions(); + + byte[] loginBytes = + snapshot.login() + .getBytes(StandardCharsets.UTF_8); + + List<Byte> out = + new ArrayList<>(); + + pushFixed(out, MAGIC.getBytes(StandardCharsets.UTF_8)); + out.add((byte) 1); + out.add((byte) 0); + pushU16(out, 0); + pushU64(out, snapshot.createdAtMs()); + pushU64(out, snapshot.updatedAtMs()); + pushU32(out, snapshot.recordNumber()); + pushFixed(out, prevHash); + pushStringU8(out, loginBytes); + + int blocksCount = + snapshot.isServer() + ? 8 + : 7; + + out.add((byte) blocksCount); + + out.add((byte) BLOCK_TYPE_RECOVERY_KEY); + out.add((byte) BLOCK_VERSION_0); + pushFixed(out, recoveryKey); + + out.add((byte) BLOCK_TYPE_ROOT_KEY); + out.add((byte) BLOCK_VERSION_0); + pushFixed(out, rootKey); + + out.add((byte) BLOCK_TYPE_CLIENT_KEY); + out.add((byte) BLOCK_VERSION_0); + pushFixed(out, clientKey); + + out.add((byte) BLOCK_TYPE_BLOCKCHAIN_REGISTRY); + out.add((byte) BLOCK_VERSION_0); + out.add((byte) 1); + out.add((byte) BLOCKCHAIN_TYPE_MAIN_USER); + pushString(out, snapshot.blockchainName()); + pushFixed(out, blockchainKey); + pushU64(out, snapshot.paidLimitBytes()); + pushU64(out, snapshot.usedBytes()); + pushU32(out, snapshot.lastBlockNumber()); + pushFixed(out, lastBlockHash); + pushFixed(out, lastBlockSignature); + + if (snapshot.arweaveTxId().isBlank()) { + out.add((byte) 0); + } else { + out.add((byte) 1); + pushString(out, snapshot.arweaveTxId()); + } + + if (snapshot.isServer()) { + out.add((byte) BLOCK_TYPE_SERVER_PROFILE); + out.add((byte) BLOCK_VERSION_0); + out.add((byte) 1); + out.add((byte) snapshot.addressFormatType()); + out.add((byte) snapshot.addressFormatVersion()); + pushString(out, snapshot.serverAddress()); + out.add((byte) syncServers.size()); + for (String syncServer : syncServers) { + pushString(out, syncServer); + } + } + + out.add((byte) BLOCK_TYPE_ACCESS_SERVERS); + out.add((byte) BLOCK_VERSION_0); + out.add((byte) accessServers.size()); + for (String accessServer : accessServers) { + pushString(out, accessServer); + } + + out.add((byte) BLOCK_TYPE_SESSIONS); + out.add((byte) BLOCK_VERSION_0); + out.add((byte) snapshot.sessionsMode()); + out.add((byte) sessions.size()); + for (UserSessionSnapshot session : sessions) { + out.add((byte) session.sessionType()); + out.add((byte) session.sessionVersion()); + pushString(out, session.sessionName()); + pushFixed( + out, + Base58Util.decode( + session.sessionPubKey() + ) + ); + } + + out.add((byte) BLOCK_TYPE_TRUSTED_STATE); + out.add((byte) BLOCK_VERSION_0); + out.add((byte) snapshot.trustedCount()); + + int recordLength = + out.size() + 64; + + byte[] recordLengthBytes = + new byte[]{ + (byte) (recordLength & 0xFF), + (byte) ((recordLength >> 8) & 0xFF) + }; + + out.set(7, recordLengthBytes[0]); + out.set(8, recordLengthBytes[1]); + + pushFixed(out, recordSignature); + + byte[] bytes = + new byte[out.size()]; + + for (int i = 0; i < out.size(); i++) { + bytes[i] = out.get(i); + } + + return Base64.getEncoder() + .encodeToString(bytes); + } + + private static ParsedInstruction parseCreateInstruction( + Reader reader, + List<String> accounts + ) { + + CreateOrUpdateArgs args = + parseCreateArgs(reader); + + return new ParsedInstruction( + TxKind.CREATE_USER_PDA, + true, + accountAt( + accounts, + 1 + ), + args.login(), + null, + new UserPdaMutation( + true, + accountAt( + accounts, + 1 + ), + args.login(), + args.recoveryKey(), + args.rootKey(), + args.createdAtMs(), + args.createdAtMs(), + 0, + ZERO_HASH.clone(), + args.additionalLimit(), + args.fields(), + args.recordSignature() + ) + ); + } + + private static ParsedInstruction parseUpdateInstruction( + Reader reader, + List<String> accounts + ) { + + UpdateArgs args = + parseUpdateArgs(reader); + + return new ParsedInstruction( + TxKind.UPDATE_USER_PDA, + true, + accountAt( + accounts, + 1 + ), + args.login(), + null, + new UserPdaMutation( + false, + accountAt( + accounts, + 1 + ), + args.login(), + args.recoveryKey(), + args.rootKey(), + args.createdAtMs(), + args.updatedAtMs(), + args.version(), + args.prevHash(), + args.additionalLimit(), + args.fields(), + args.recordSignature() + ) + ); + } + + private static CreateOrUpdateArgs parseCreateArgs( + Reader reader + ) { + + String login = + reader.readStringU8(); + + String recoveryKey = + Base58Util.encode( + reader.readFixed(32) + ); + + String rootKey = + Base58Util.encode( + reader.readFixed(32) + ); + + long createdAtMs = + reader.readU64(); + + long additionalLimit = + reader.readU64(); + + UserFields fields = + parseFields(reader); + + String recordSignature = + Base58Util.encode( + reader.readFixed(64) + ); + + return new CreateOrUpdateArgs( + login, + recoveryKey, + rootKey, + createdAtMs, + additionalLimit, + fields, + recordSignature + ); + } + + private static UpdateArgs parseUpdateArgs( + Reader reader + ) { + + String login = + reader.readStringU8(); + + String recoveryKey = + Base58Util.encode( + reader.readFixed(32) + ); + + String rootKey = + Base58Util.encode( + reader.readFixed(32) + ); + + long createdAtMs = + reader.readU64(); + + long updatedAtMs = + reader.readU64(); + + int version = + (int) reader.readU32(); + + byte[] prevHash = + reader.readFixed(32); + + long additionalLimit = + reader.readU64(); + + UserFields fields = + parseFields(reader); + + String recordSignature = + Base58Util.encode( + reader.readFixed(64) + ); + + return new UpdateArgs( + login, + recoveryKey, + rootKey, + createdAtMs, + updatedAtMs, + version, + prevHash, + additionalLimit, + fields, + recordSignature + ); + } + + private static UserFields parseFields( + Reader reader + ) { + + String clientKey = + Base58Util.encode( + reader.readFixed(32) + ); + + String blockchainKey = + Base58Util.encode( + reader.readFixed(32) + ); + + String blockchainName = + reader.readStringU8(); + + long usedBytes = + reader.readU64(); + + int lastBlockNumber = + (int) reader.readU32(); + + String lastBlockHash = + toHex( + reader.readFixed(32) + ); + + String lastBlockSignature = + Base58Util.encode( + reader.readFixed(64) + ); + + String arweaveTxId = + reader.readStringU8(); + + boolean isServer = + reader.readU8() == 1; + + int addressFormatType = + 0; + int addressFormatVersion = + 0; + String serverAddress = + ""; + List<String> syncServers = + new ArrayList<>(); + + if (isServer) { + addressFormatType = + reader.readU8(); + addressFormatVersion = + reader.readU8(); + serverAddress = + reader.readStringU8(); + int syncCount = + reader.readU8(); + for (int i = 0; i < syncCount; i++) { + syncServers.add( + reader.readStringU8() + ); + } + } + + int accessCount = + reader.readU8(); + + List<String> accessServers = + new ArrayList<>(); + + for (int i = 0; i < accessCount; i++) { + accessServers.add( + reader.readStringU8() + ); + } + + int sessionsMode = + reader.readU8(); + + int sessionsCount = + reader.readU8(); + + List<UserSessionSnapshot> sessions = + new ArrayList<>(); + + for (int i = 0; i < sessionsCount; i++) { + sessions.add( + new UserSessionSnapshot( + reader.readU8(), + reader.readU8(), + reader.readStringU8(), + Base58Util.encode( + reader.readFixed(32) + ) + ) + ); + } + + int trustedCount = + reader.readU8(); + + return new UserFields( + clientKey, + blockchainKey, + blockchainName, + usedBytes, + lastBlockNumber, + lastBlockHash, + lastBlockSignature, + arweaveTxId, + isServer, + addressFormatType, + addressFormatVersion, + serverAddress, + List.copyOf(syncServers), + List.copyOf(accessServers), + sessionsMode, + List.copyOf(sessions), + trustedCount + ); + } + + private static UserPdaSnapshot buildSnapshot( + UserPdaMutation mutation, + int recordNumber, + long slot, + String txSignature, + long createdAtMs, + long updatedAtMs, + String prevRecordHash, + long paidLimitBytes + ) { + + UserFields fields = + mutation.fields(); + + UserPdaSnapshot snapshot = + new UserPdaSnapshot( + mutation.pdaAddress(), + mutation.login(), + recordNumber, + slot, + txSignature, + mutation.recoveryKey(), + mutation.rootKey(), + fields.clientKey(), + fields.blockchainName(), + fields.blockchainKey(), + paidLimitBytes, + fields.usedBytes(), + fields.lastBlockNumber(), + fields.lastBlockHash(), + fields.lastBlockSignature(), + fields.arweaveTxId(), + fields.isServer(), + fields.addressFormatType(), + fields.addressFormatVersion(), + fields.serverAddress(), + fields.syncServers(), + fields.accessServers(), + fields.sessionsMode(), + fields.sessions(), + fields.trustedCount(), + createdAtMs, + updatedAtMs, + prevRecordHash, + mutation.recordSignature(), + "" + ); + + return snapshot.withRawDataBase64( + serializeSnapshotToBase64( + snapshot + ) + ); + } + + private static List<String> readInstructionAccounts( + JsonNode accountsNode + ) { + + List<String> accounts = + new ArrayList<>(); + + if (!accountsNode.isArray()) { + return accounts; + } + + for (JsonNode node : accountsNode) { + accounts.add( + node.asText("") + ); + } + + return accounts; + } + + private static String accountAt( + List<String> accounts, + int index + ) { + + if (index < 0 + || index >= accounts.size()) { + return null; + } + + String value = + accounts.get(index); + + return value == null + || value.isBlank() + ? null + : value; + } + + private static String toHex( + byte[] bytes + ) { + return HexFormat.of() + .formatHex(bytes); + } + + private static byte[] fromHex( + String hex + ) { + if (hex == null + || hex.isBlank()) { + return new byte[0]; + } + + return HexFormat.of() + .parseHex(hex); + } + + private static int u16le( + byte[] data, + int offset + ) { + return (data[offset] & 0xFF) + | ((data[offset + 1] & 0xFF) << 8); + } + + private static void pushString( + List<Byte> out, + String value + ) { + pushStringU8( + out, + value.getBytes(StandardCharsets.UTF_8) + ); + } + + private static void pushStringU8( + List<Byte> out, + byte[] bytes + ) { + out.add((byte) bytes.length); + pushFixed( + out, + bytes + ); + } + + private static void pushFixed( + List<Byte> out, + byte[] bytes + ) { + for (byte value : bytes) { + out.add(value); + } + } + + private static void pushU16( + List<Byte> out, + int value + ) { + out.add((byte) (value & 0xFF)); + out.add((byte) ((value >> 8) & 0xFF)); + } + + private static void pushU32( + List<Byte> out, + int value + ) { + out.add((byte) (value & 0xFF)); + out.add((byte) ((value >> 8) & 0xFF)); + out.add((byte) ((value >> 16) & 0xFF)); + out.add((byte) ((value >> 24) & 0xFF)); + } + + private static void pushU64( + List<Byte> out, + long value + ) { + out.add((byte) (value & 0xFF)); + out.add((byte) ((value >> 8) & 0xFF)); + out.add((byte) ((value >> 16) & 0xFF)); + out.add((byte) ((value >> 24) & 0xFF)); + out.add((byte) ((value >> 32) & 0xFF)); + out.add((byte) ((value >> 40) & 0xFF)); + out.add((byte) ((value >> 48) & 0xFF)); + out.add((byte) ((value >> 56) & 0xFF)); + } + + private static final class Reader { + + private final byte[] data; + private int cursor; + + private Reader( + byte[] data + ) { + this.data = data; + this.cursor = 0; + } + + private int readU8() { + return data[cursor++] & 0xFF; + } + + private long readU32() { + long value = + (data[cursor] & 0xFFL) + | ((data[cursor + 1] & 0xFFL) << 8) + | ((data[cursor + 2] & 0xFFL) << 16) + | ((data[cursor + 3] & 0xFFL) << 24); + + cursor += 4; + return value; + } + + private long readU64() { + long value = 0L; + for (int i = 0; i < 8; i++) { + value |= (long) (data[cursor + i] & 0xFF) << (8 * i); + } + cursor += 8; + return value; + } + + private byte[] readFixed( + int length + ) { + byte[] out = + new byte[length]; + System.arraycopy( + data, + cursor, + out, + 0, + length + ); + cursor += length; + return out; + } + + private String readStringU8() { + int length = + readU8(); + String value = + new String( + data, + cursor, + length, + StandardCharsets.UTF_8 + ); + cursor += length; + return value; + } + + private void skip( + int bytes + ) { + cursor += bytes; + } + } + + public enum TxKind { + INIT_USERS_ECONOMY_CONFIG, + UPDATE_USERS_ECONOMY_CONFIG, + CREATE_USER_PDA, + UPDATE_USER_PDA, + OTHER + } + + public record ParsedInstruction( + TxKind kind, + boolean relevant, + String affectedPdaAddress, + String affectedLogin, + EconomyConfigState economyConfigState, + UserPdaMutation userPdaMutation + ) { + } + + public record EconomyConfigState( + int version, + long registrationFeeLamports, + long lamportsPerLimitStep, + long startBonusLimit + ) { + public static EconomyConfigState initial() { + return new EconomyConfigState( + 1, + START_REGISTRATION_FEE_LAMPORTS, + START_LAMPORTS_PER_LIMIT_STEP, + START_BONUS_LIMIT + ); + } + } + + public record UserSessionSnapshot( + int sessionType, + int sessionVersion, + String sessionName, + String sessionPubKey + ) { + } + + public record UserFields( + String clientKey, + String blockchainKey, + String blockchainName, + long usedBytes, + int lastBlockNumber, + String lastBlockHash, + String lastBlockSignature, + String arweaveTxId, + boolean isServer, + int addressFormatType, + int addressFormatVersion, + String serverAddress, + List<String> syncServers, + List<String> accessServers, + int sessionsMode, + List<UserSessionSnapshot> sessions, + int trustedCount + ) { + } + + private record CreateOrUpdateArgs( + String login, + String recoveryKey, + String rootKey, + long createdAtMs, + long additionalLimit, + UserFields fields, + String recordSignature + ) { + } + + private record UpdateArgs( + String login, + String recoveryKey, + String rootKey, + long createdAtMs, + long updatedAtMs, + int version, + byte[] prevHash, + long additionalLimit, + UserFields fields, + String recordSignature + ) { + } + + public record UserPdaMutation( + boolean create, + String pdaAddress, + String login, + String recoveryKey, + String rootKey, + long createdAtMs, + long updatedAtMs, + int version, + byte[] prevHash, + long additionalLimit, + UserFields fields, + String recordSignature + ) { + } + + public record UserPdaSnapshot( + String pdaAddress, + String login, + int recordNumber, + long slot, + String lastTxSignature, + String recoveryKey, + String rootKey, + String clientKey, + String blockchainName, + String blockchainKey, + long paidLimitBytes, + long usedBytes, + int lastBlockNumber, + String lastBlockHash, + String lastBlockSignature, + String arweaveTxId, + boolean isServer, + int addressFormatType, + int addressFormatVersion, + String serverAddress, + List<String> syncServers, + List<String> accessServers, + int sessionsMode, + List<UserSessionSnapshot> sessions, + int trustedCount, + long createdAtMs, + long updatedAtMs, + String prevRecordHash, + String recordSignature, + String rawDataBase64 + ) { + public UserPdaSnapshot withRawDataBase64( + String value + ) { + return new UserPdaSnapshot( + pdaAddress, + login, + recordNumber, + slot, + lastTxSignature, + recoveryKey, + rootKey, + clientKey, + blockchainName, + blockchainKey, + paidLimitBytes, + usedBytes, + lastBlockNumber, + lastBlockHash, + lastBlockSignature, + arweaveTxId, + isServer, + addressFormatType, + addressFormatVersion, + serverAddress, + syncServers, + accessServers, + sessionsMode, + sessions, + trustedCount, + createdAtMs, + updatedAtMs, + prevRecordHash, + recordSignature, + value + ); + } + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/config/AppConfig.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/config/AppConfig.java new file mode 100644 index 00000000..9932f9c5 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/config/AppConfig.java @@ -0,0 +1,234 @@ +package sync.config; + +import java.time.Duration; + +public record AppConfig( + String rpcUrl, + String websocketUrl, + String programId, + String databaseUrl, + String databaseUser, + String databasePassword, + Duration pollInterval, + String commitment +) { + + public static final String DEFAULT_PROGRAM_ID = + "SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6"; + + public static final String FIXED_COMMITMENT = + "confirmed"; + + public static final String ENABLED_KEY = + "solana.users.sync.enabled"; + public static final String RPC_URL_KEY = + "solana.users.sync.rpcUrl"; + public static final String WEBSOCKET_URL_KEY = + "solana.users.sync.wsUrl"; + public static final String PROGRAM_ID_KEY = + "solana.users.sync.programId"; + public static final String DATABASE_URL_KEY = + "solana.users.sync.databaseUrl"; + public static final String DATABASE_USER_KEY = + "solana.users.sync.dbUser"; + public static final String DATABASE_PASSWORD_KEY = + "solana.users.sync.dbPassword"; + public static final String POLL_INTERVAL_KEY = + "solana.users.sync.pollIntervalSeconds"; + public static final String LEGACY_SOLANA_RPC_URL_KEY = + "solana.rpcUrl"; + + public static boolean isEnabled( + utils.config.AppConfig serverConfig + ) { + String value = + trimToNull( + serverConfig.getParam(ENABLED_KEY) + ); + + if (value == null) { + return false; + } + + return Boolean.parseBoolean(value); + } + + public static AppConfig fromServerConfig( + utils.config.AppConfig serverConfig + ) { + + String rpcUrl = + firstRequired( + serverConfig, + "Solana users sync RPC URL", + RPC_URL_KEY, + LEGACY_SOLANA_RPC_URL_KEY + ); + + String websocketUrl = + requireParam( + serverConfig, + WEBSOCKET_URL_KEY + ); + + String programId = + optionalParam( + serverConfig, + PROGRAM_ID_KEY + ); + + if (programId == null) { + programId = + DEFAULT_PROGRAM_ID; + } + + String databaseUrl = + requireParam( + serverConfig, + DATABASE_URL_KEY + ); + + String databaseUser = + requireParam( + serverConfig, + DATABASE_USER_KEY + ); + + String databasePassword = + requireParam( + serverConfig, + DATABASE_PASSWORD_KEY + ); + + long pollIntervalSeconds = + parsePositiveLong( + optionalParam( + serverConfig, + POLL_INTERVAL_KEY + ), + 300L, + POLL_INTERVAL_KEY + ); + + return new AppConfig( + rpcUrl, + websocketUrl, + programId, + databaseUrl, + databaseUser, + databasePassword, + Duration.ofSeconds( + pollIntervalSeconds + ), + FIXED_COMMITMENT + ); + } + + private static long parsePositiveLong( + String rawValue, + long defaultValue, + String envName + ) { + + if (rawValue == null) { + return defaultValue; + } + + try { + + long value = + Long.parseLong( + rawValue + ); + + if (value <= 0L) { + throw new IllegalArgumentException( + envName + " must be > 0" + ); + } + + return value; + + } catch (NumberFormatException exception) { + + throw new IllegalArgumentException( + envName + " must be a positive integer", + exception + ); + } + } + + private static String firstRequired( + utils.config.AppConfig serverConfig, + String humanName, + String... names + ) { + + for (String name : names) { + String value = + optionalParam( + serverConfig, + name + ); + + if (value != null) { + return value; + } + } + + throw new IllegalStateException( + "Missing required server config: " + + humanName + ); + } + + private static String requireParam( + utils.config.AppConfig serverConfig, + String name + ) { + + String value = + optionalParam( + serverConfig, + name + ); + + if (value == null) { + throw new IllegalStateException( + "Missing required server config: " + + name + ); + } + + return value; + } + + private static String optionalParam( + utils.config.AppConfig serverConfig, + String name + ) { + + String value = + serverConfig.getParam(name); + + return trimToNull(value); + } + + private static String trimToNull( + String value + ) { + + if (value == null) { + return null; + } + + String trimmed = + value.trim(); + + if (trimmed.isEmpty()) { + return null; + } + + return trimmed; + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/ProgramAccountUpdate.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/ProgramAccountUpdate.java new file mode 100644 index 00000000..c86a6da3 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/ProgramAccountUpdate.java @@ -0,0 +1,12 @@ +package sync.model; + +public record ProgramAccountUpdate( + String address, + String owner, + long lamports, + long slot, + String dataBase64, + boolean executable, + Long rentEpoch +) { +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/SnapshotResult.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/SnapshotResult.java new file mode 100644 index 00000000..62f12d22 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/model/SnapshotResult.java @@ -0,0 +1,9 @@ +package sync.model; + +import java.util.List; + +public record SnapshotResult( + long snapshotSlot, + List<ProgramAccountUpdate> accounts +) { +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/service/SolanaUsersSyncService.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/service/SolanaUsersSyncService.java new file mode 100644 index 00000000..5ef0b1c0 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/service/SolanaUsersSyncService.java @@ -0,0 +1,822 @@ +package sync.service; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sync.codec.ShineUsersCodec; +import sync.config.AppConfig; +import sync.model.ProgramAccountUpdate; +import sync.model.SnapshotResult; +import sync.source.AccountUpdateListener; +import sync.source.ConnectionListener; +import sync.source.rpc.SolanaRpcClient; +import sync.source.rpc.SolanaWebSocketClient; +import sync.storage.postgres.PostgresStorageRepository; +import sync.util.SolanaPdaUtil; + +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import java.util.*; +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicBoolean; + +public final class SolanaUsersSyncService + implements AutoCloseable { + + private static final int FULL_SNAPSHOT_PROGRESS_STEP = + 100; + + private static final Logger log = + LoggerFactory.getLogger( + SolanaUsersSyncService.class + ); + + private final AppConfig config; + private final ObjectMapper mapper; + private final PostgresStorageRepository storage; + private final SolanaRpcClient rpcClient; + private final SolanaWebSocketClient webSocketClient; + private final ExecutorService syncExecutor; + private final ScheduledExecutorService pollScheduler; + private final CompletableFuture<Void> readyFuture = + new CompletableFuture<>(); + private final AtomicBoolean closed = + new AtomicBoolean(false); + private final AtomicBoolean syncRequested = + new AtomicBoolean(false); + private final AtomicBoolean syncWorkerScheduled = + new AtomicBoolean(false); + private final String economyConfigPda; + + private volatile boolean initialSyncCompleted = + false; + + public SolanaUsersSyncService( + AppConfig config + ) throws Exception { + + this.config = + config; + + this.mapper = + new ObjectMapper(); + + this.storage = + new PostgresStorageRepository( + config.databaseUrl(), + config.databaseUser(), + config.databasePassword(), + mapper + ); + + this.rpcClient = + new SolanaRpcClient( + config.rpcUrl(), + config.programId(), + config.commitment() + ); + + this.webSocketClient = + new SolanaWebSocketClient( + config.websocketUrl(), + config.programId(), + config.commitment() + ); + + this.syncExecutor = + Executors.newSingleThreadExecutor( + runnable -> { + Thread thread = + new Thread( + runnable, + "solana-users-sync-worker" + ); + thread.setDaemon(true); + return thread; + } + ); + + this.pollScheduler = + Executors.newSingleThreadScheduledExecutor( + runnable -> { + Thread thread = + new Thread( + runnable, + "solana-users-sync-periodic" + ); + thread.setDaemon(true); + return thread; + } + ); + + this.economyConfigPda = + SolanaPdaUtil.findProgramAddress( + List.of( + "shine_users_economy_config" + .getBytes(StandardCharsets.UTF_8) + ), + config.programId() + ); + } + + public void start() + throws Exception { + + log.info( + "Starting sync service. programId={} economyConfigPda={} pollInterval={}", + config.programId(), + economyConfigPda, + config.pollInterval() + ); + + storage.updateLifecycleState( + "STARTING", + false, + null, + null, + null + ); + + webSocketClient.start( + new AccountUpdateListener() { + @Override + public void onAccountUpdate( + ProgramAccountUpdate update + ) { + log.debug( + "Realtime notification received. address={} slot={}", + update.address(), + update.slot() + ); + requestSync( + "realtime" + ); + } + }, + new ConnectionListener() { + @Override + public void onConnected( + boolean firstConnection + ) { + log.info( + "Solana websocket connected. firstConnection={}", + firstConnection + ); + requestSync( + firstConnection + ? "initial-connect" + : "reconnect" + ); + } + + @Override + public void onDisconnected( + Throwable cause + ) { + log.warn( + "Solana websocket disconnected: {}", + cause == null + ? "unknown" + : cause.getMessage() + ); + } + } + ); + + long periodSeconds = + config.pollInterval() + .getSeconds(); + + pollScheduler.scheduleWithFixedDelay( + () -> requestSync( + "periodic" + ), + periodSeconds, + periodSeconds, + TimeUnit.SECONDS + ); + } + + public void awaitReady() + throws Exception { + readyFuture.get(); + } + + public boolean isReady() { + return readyFuture.isDone() + && !readyFuture.isCompletedExceptionally(); + } + + private void requestSync( + String reason + ) { + + if (closed.get()) { + return; + } + + syncRequested.set(true); + + if (!syncWorkerScheduled.compareAndSet( + false, + true + )) { + return; + } + + syncExecutor.submit( + () -> runSyncLoop(reason) + ); + } + + private void runSyncLoop( + String firstReason + ) { + + String reason = + firstReason; + + try { + + while (!closed.get()) { + + boolean shouldRun = + syncRequested.getAndSet(false); + + if (!shouldRun) { + return; + } + + performSync(reason); + reason = "coalesced"; + } + + } catch (Exception exception) { + + log.error( + "Sync loop failed", + exception + ); + + try { + storage.updateLifecycleState( + "FAILED", + false, + exception.getMessage(), + System.currentTimeMillis(), + null + ); + } catch (Exception storageException) { + log.error( + "Failed to persist sync failure state", + storageException + ); + } + + readyFuture.completeExceptionally( + exception + ); + + } finally { + + syncWorkerScheduled.set(false); + + if (syncRequested.get() + && !closed.get() + && syncWorkerScheduled.compareAndSet( + false, + true + )) { + syncExecutor.submit( + () -> runSyncLoop("rescheduled") + ); + } + } + } + + private void performSync( + String reason + ) throws Exception { + + long nowMs = + System.currentTimeMillis(); + + PostgresStorageRepository.SyncStateSnapshot state = + storage.loadState(); + + log.info( + "Starting history sync. reason={} lastSeenSignature={}", + reason, + state.lastSeenSignature() + ); + + storage.updateLifecycleState( + initialSyncCompleted + ? "SYNCING" + : "BOOTSTRAPPING", + false, + null, + nowMs, + null + ); + + SolanaRpcClient.SignatureFetchResult fetchResult = + rpcClient.getSignaturesForAddressSince( + economyConfigPda, + state.lastSeenSignature() + ); + + if (state.lastSeenSignature() != null + && !fetchResult.anchorFound()) { + + log.error( + "History anchor signature not found anymore: {}. Running current-state full snapshot fallback.", + state.lastSeenSignature() + ); + + runFullSnapshotFallback( + state, + fetchResult, + nowMs + ); + + markReadyAfterSync( + state, + nowMs + ); + + return; + } + + if (fetchResult.signatures().isEmpty()) { + + PostgresStorageRepository.SyncStateSnapshot newState = + new PostgresStorageRepository.SyncStateSnapshot( + "READY", + true, + nowMs, + nowMs, + state.lastSeenSignature(), + state.lastSeenSlot(), + state.lastRelevantSignature(), + state.lastRelevantSlot(), + null, + state.economyConfigState(), + nowMs + ); + + storage.applyHistoryBatch( + List.of(), + List.of(), + newState + ); + + log.info( + "History sync completed with no new transactions." + ); + + markReadyAfterSync( + newState, + nowMs + ); + + return; + } + + List<SolanaRpcClient.SignatureRecord> chronologicalSignatures = + new ArrayList<>( + fetchResult.signatures() + ); + + Collections.reverse( + chronologicalSignatures + ); + + List<ParsedTxEnvelope> envelopes = + new ArrayList<>(); + + Set<String> updatePdaAddresses = + new LinkedHashSet<>(); + + for (SolanaRpcClient.SignatureRecord signatureRecord : chronologicalSignatures) { + + JsonNode transaction = + rpcClient.getTransactionJsonParsed( + signatureRecord.signature() + ); + + ParsedTxEnvelope envelope = + parseTransactionEnvelope( + signatureRecord, + transaction + ); + + envelopes.add( + envelope + ); + + if (envelope.parsedInstruction() != null + && envelope.parsedInstruction().kind() == ShineUsersCodec.TxKind.UPDATE_USER_PDA + && envelope.parsedInstruction().affectedPdaAddress() != null) { + updatePdaAddresses.add( + envelope.parsedInstruction() + .affectedPdaAddress() + ); + } + } + + Map<String, ShineUsersCodec.UserPdaSnapshot> currentSnapshots = + storage.getCurrentSnapshots( + updatePdaAddresses + ); + + List<PostgresStorageRepository.TxHistoryEntry> txEntries = + new ArrayList<>(); + + List<ShineUsersCodec.UserPdaSnapshot> snapshotsToPersist = + new ArrayList<>(); + + ShineUsersCodec.EconomyConfigState economyState = + state.economyConfigState(); + + String lastRelevantSignature = + state.lastRelevantSignature(); + + Long lastRelevantSlot = + state.lastRelevantSlot(); + + for (ParsedTxEnvelope envelope : envelopes) { + + ShineUsersCodec.ParsedInstruction parsedInstruction = + envelope.parsedInstruction(); + + String txKind = + parsedInstruction == null + ? "failed_or_unavailable" + : parsedInstruction.kind().name(); + + boolean relevant = + false; + + String affectedPdaAddress = + null; + + String affectedLogin = + null; + + if (parsedInstruction != null) { + + if (parsedInstruction.kind() == ShineUsersCodec.TxKind.INIT_USERS_ECONOMY_CONFIG + || parsedInstruction.kind() == ShineUsersCodec.TxKind.UPDATE_USERS_ECONOMY_CONFIG) { + economyState = + parsedInstruction.economyConfigState(); + } + + if (parsedInstruction.relevant() + && parsedInstruction.userPdaMutation() != null) { + + relevant = true; + affectedPdaAddress = parsedInstruction.affectedPdaAddress(); + affectedLogin = parsedInstruction.affectedLogin(); + + ShineUsersCodec.UserPdaSnapshot snapshot; + + if (parsedInstruction.kind() == ShineUsersCodec.TxKind.CREATE_USER_PDA) { + + if (economyState == null) { + economyState = + ShineUsersCodec.EconomyConfigState.initial(); + log.warn( + "Economy config state was absent while processing create tx {}. Falling back to initial constants.", + envelope.signatureRecord().signature() + ); + } + + snapshot = + ShineUsersCodec.buildCreateSnapshot( + parsedInstruction.userPdaMutation(), + economyState, + envelope.signatureRecord().signature(), + envelope.signatureRecord().slot() + ); + + } else { + + ShineUsersCodec.UserPdaSnapshot previous = + currentSnapshots.get( + affectedPdaAddress + ); + + if (previous == null) { + throw new IllegalStateException( + "Missing previous snapshot for update PDA " + + affectedPdaAddress + ); + } + + snapshot = + ShineUsersCodec.buildUpdateSnapshot( + parsedInstruction.userPdaMutation(), + previous, + envelope.signatureRecord().signature(), + envelope.signatureRecord().slot() + ); + } + + currentSnapshots.put( + snapshot.pdaAddress(), + snapshot + ); + + snapshotsToPersist.add( + snapshot + ); + + lastRelevantSignature = + envelope.signatureRecord().signature(); + + lastRelevantSlot = + envelope.signatureRecord().slot(); + } + } + + txEntries.add( + new PostgresStorageRepository.TxHistoryEntry( + envelope.signatureRecord().signature(), + envelope.signatureRecord().slot(), + envelope.signatureRecord().blockTime(), + txKind, + relevant, + affectedPdaAddress, + affectedLogin, + envelope.rawTransactionJson(), + nowMs + ) + ); + } + + SolanaRpcClient.SignatureRecord newestSeen = + fetchResult.signatures() + .get(0); + + PostgresStorageRepository.SyncStateSnapshot newState = + new PostgresStorageRepository.SyncStateSnapshot( + "READY", + true, + nowMs, + nowMs, + newestSeen.signature(), + newestSeen.slot(), + lastRelevantSignature, + lastRelevantSlot, + null, + economyState, + nowMs + ); + + storage.applyHistoryBatch( + txEntries, + snapshotsToPersist, + newState + ); + + log.info( + "History sync completed. txCount={} relevantCount={} latestSignature={}", + txEntries.size(), + snapshotsToPersist.size(), + newestSeen.signature() + ); + + markReadyAfterSync( + newState, + nowMs + ); + } + + private void runFullSnapshotFallback( + PostgresStorageRepository.SyncStateSnapshot state, + SolanaRpcClient.SignatureFetchResult fetchResult, + long nowMs + ) throws Exception { + + log.warn( + "Starting full snapshot fallback because incremental history anchor is unavailable." + ); + + SnapshotResult snapshotResult = + rpcClient.loadFullSnapshot(); + + log.info( + "Full snapshot downloaded. snapshotSlot={} rawAccounts={}", + snapshotResult.snapshotSlot(), + snapshotResult.accounts().size() + ); + + List<ShineUsersCodec.UserPdaSnapshot> currentSnapshots = + new ArrayList<>(); + + int processedAccounts = + 0; + + for (ProgramAccountUpdate account : snapshotResult.accounts()) { + + processedAccounts++; + + try { + currentSnapshots.add( + ShineUsersCodec.parseUserPdaAccount( + account.address(), + account.slot(), + account.dataBase64(), + state.lastSeenSignature() + ) + ); + } catch (Exception ignored) { + } + + if (processedAccounts == 1 + || processedAccounts % FULL_SNAPSHOT_PROGRESS_STEP == 0 + || processedAccounts == snapshotResult.accounts().size()) { + log.info( + "Full snapshot parse progress: {}/{} accounts, {} user PDA snapshots accepted.", + processedAccounts, + snapshotResult.accounts().size(), + currentSnapshots.size() + ); + } + } + + String newestSignature = + fetchResult.signatures().isEmpty() + ? state.lastSeenSignature() + : fetchResult.signatures().get(0).signature(); + + Long newestSlot = + fetchResult.signatures().isEmpty() + ? state.lastSeenSlot() + : fetchResult.signatures().get(0).slot(); + + PostgresStorageRepository.SyncStateSnapshot newState = + new PostgresStorageRepository.SyncStateSnapshot( + "READY", + true, + nowMs, + nowMs, + newestSignature, + newestSlot, + state.lastRelevantSignature(), + state.lastRelevantSlot(), + "history_anchor_missing_full_snapshot_fallback", + state.economyConfigState(), + nowMs + ); + + storage.replaceCurrentFromFullSnapshot( + currentSnapshots, + newState + ); + + log.warn( + "Full snapshot fallback completed. currentSnapshots={} newestSignature={} newestSlot={}", + currentSnapshots.size(), + newestSignature, + newestSlot + ); + } + + private void markReadyAfterSync( + PostgresStorageRepository.SyncStateSnapshot state, + long nowMs + ) throws Exception { + + initialSyncCompleted = true; + + if (!readyFuture.isDone()) { + readyFuture.complete(null); + log.info( + "Sync service entered READY state." + ); + } + + storage.updateLifecycleState( + "READY", + true, + state.lastError(), + nowMs, + nowMs + ); + } + + private ParsedTxEnvelope parseTransactionEnvelope( + SolanaRpcClient.SignatureRecord signatureRecord, + JsonNode transaction + ) { + + if (signatureRecord.failed()) { + return new ParsedTxEnvelope( + signatureRecord, + new ShineUsersCodec.ParsedInstruction( + ShineUsersCodec.TxKind.OTHER, + false, + null, + null, + null, + null + ), + transaction == null + ? "{\"failed\":true,\"error\":" + + String.valueOf(signatureRecord.errorJson()) + "}" + : transaction.toString() + ); + } + + if (transaction == null + || transaction.isNull()) { + return new ParsedTxEnvelope( + signatureRecord, + null, + "{\"transaction\":null}" + ); + } + + JsonNode instructions = + transaction.path("transaction") + .path("message") + .path("instructions"); + + if (instructions.isArray()) { + for (JsonNode instruction : instructions) { + ShineUsersCodec.ParsedInstruction parsedInstruction = + ShineUsersCodec.parseShineUsersInstruction( + instruction, + config.programId() + ); + + if (parsedInstruction != null) { + return new ParsedTxEnvelope( + signatureRecord, + parsedInstruction, + transaction.toString() + ); + } + } + } + + return new ParsedTxEnvelope( + signatureRecord, + new ShineUsersCodec.ParsedInstruction( + ShineUsersCodec.TxKind.OTHER, + false, + null, + null, + null, + null + ), + transaction.toString() + ); + } + + @Override + public void close() { + + if (!closed.compareAndSet( + false, + true + )) { + return; + } + + try { + pollScheduler.shutdownNow(); + } catch (Exception ignored) { + } + + try { + webSocketClient.close(); + } catch (Exception ignored) { + } + + try { + syncExecutor.shutdownNow(); + } catch (Exception ignored) { + } + + try { + rpcClient.close(); + } catch (Exception ignored) { + } + + try { + storage.close(); + } catch (Exception ignored) { + } + } + + private record ParsedTxEnvelope( + SolanaRpcClient.SignatureRecord signatureRecord, + ShineUsersCodec.ParsedInstruction parsedInstruction, + String rawTransactionJson + ) { + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/AccountUpdateListener.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/AccountUpdateListener.java new file mode 100644 index 00000000..619ccb55 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/AccountUpdateListener.java @@ -0,0 +1,11 @@ +package sync.source; + +import sync.model.ProgramAccountUpdate; + +@FunctionalInterface +public interface AccountUpdateListener { + + void onAccountUpdate( + ProgramAccountUpdate update + ); +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/ConnectionListener.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/ConnectionListener.java new file mode 100644 index 00000000..4c8badce --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/ConnectionListener.java @@ -0,0 +1,12 @@ +package sync.source; + +public interface ConnectionListener { + + void onConnected( + boolean firstConnection + ); + + void onDisconnected( + Throwable cause + ); +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaRpcClient.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaRpcClient.java new file mode 100644 index 00000000..bde598d8 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaRpcClient.java @@ -0,0 +1,737 @@ +package sync.source.rpc; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import okhttp3.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sync.model.ProgramAccountUpdate; +import sync.model.SnapshotResult; + +import java.io.IOException; +import java.time.Duration; +import java.util.*; + +public final class SolanaRpcClient + implements AutoCloseable { + + private static final Logger log = + LoggerFactory.getLogger( + SolanaRpcClient.class + ); + + private static final MediaType JSON = + MediaType.get("application/json"); + + private static final int SIGNATURE_PAGE_SIZE = + 1000; + + private static final int ACCOUNT_BATCH_SIZE = + 100; + + private final String rpcUrl; + private final String programId; + private final String commitment; + private final ObjectMapper mapper = + new ObjectMapper(); + private final OkHttpClient httpClient = + new OkHttpClient.Builder() + .callTimeout(Duration.ofMinutes(2)) + .build(); + + public SolanaRpcClient( + String rpcUrl, + String programId, + String commitment + ) { + this.rpcUrl = rpcUrl; + this.programId = programId; + this.commitment = commitment; + } + + public SnapshotResult loadFullSnapshot() + throws IOException { + + log.info( + "Requesting full snapshot via getProgramAccounts. programId={}", + programId + ); + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 100, + "method", "getProgramAccounts", + "params", List.of( + programId, + Map.of( + "encoding", "base64", + "commitment", commitment, + "withContext", true + ) + ) + ); + + JsonNode root = + executeRpc(payload); + + log.info( + "Full snapshot RPC response received. Parsing account list..." + ); + + JsonNode result = + root.path("result"); + + long snapshotSlot = + result.path("context") + .path("slot") + .asLong(-1); + + if (snapshotSlot < 0) { + throw new IOException( + "Missing context.slot in getProgramAccounts" + ); + } + + JsonNode values = + result.path("value"); + + if (!values.isArray()) { + throw new IOException( + "Unexpected getProgramAccounts response" + ); + } + + List<ProgramAccountUpdate> accounts = + new ArrayList<>(); + + for (JsonNode item : values) { + + JsonNode account = + item.path("account"); + + JsonNode data = + account.path("data"); + + if (!data.isArray() + || data.isEmpty()) { + continue; + } + + accounts.add( + parseAccount( + item.path("pubkey") + .asText(), + account, + snapshotSlot + ) + ); + } + + log.info( + "Full snapshot RPC parsed. accounts={} snapshotSlot={}", + accounts.size(), + snapshotSlot + ); + + return new SnapshotResult( + snapshotSlot, + accounts + ); + } + + public SignatureFetchResult getSignaturesForAddressSince( + String address, + String knownSignature + ) throws IOException { + + List<SignatureRecord> signatures = + new ArrayList<>(); + + String before = + null; + + boolean anchorFound = + knownSignature == null; + + while (true) { + + Map<String, Object> options = + new LinkedHashMap<>(); + + options.put( + "limit", + SIGNATURE_PAGE_SIZE + ); + + options.put( + "commitment", + commitment + ); + + if (before != null) { + options.put( + "before", + before + ); + } + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 103, + "method", "getSignaturesForAddress", + "params", List.of( + address, + options + ) + ); + + JsonNode root = + executeRpc(payload); + + JsonNode values = + root.path("result"); + + if (!values.isArray()) { + throw new IOException( + "Unexpected getSignaturesForAddress response" + ); + } + + if (values.isEmpty()) { + break; + } + + for (JsonNode item : values) { + + String signature = + item.path("signature") + .asText(""); + + if (signature.isBlank()) { + continue; + } + + if (knownSignature != null + && knownSignature.equals(signature)) { + anchorFound = true; + return new SignatureFetchResult( + signatures, + true + ); + } + + Long blockTime = + item.hasNonNull("blockTime") + ? item.get("blockTime").asLong() + : null; + + signatures.add( + new SignatureRecord( + signature, + item.path("slot") + .asLong(-1), + blockTime, + item.hasNonNull("err"), + item.path("err").toString() + ) + ); + } + + JsonNode last = + values.get(values.size() - 1); + + before = + last.path("signature") + .asText(""); + + if (before.isBlank() + || values.size() < SIGNATURE_PAGE_SIZE) { + break; + } + } + + return new SignatureFetchResult( + signatures, + anchorFound + ); + } + + public JsonNode getTransactionJsonParsed( + String signature + ) throws IOException { + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 104, + "method", "getTransaction", + "params", List.of( + signature, + Map.of( + "encoding", + "jsonParsed", + "commitment", + commitment, + "maxSupportedTransactionVersion", + 0 + ) + ) + ); + + JsonNode root = + executeRpc(payload); + + JsonNode result = + root.get("result"); + + if (result == null + || result.isNull()) { + return null; + } + + return result; + } + + public long getCurrentSlot() + throws IOException { + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 101, + "method", "getSlot", + "params", List.of( + Map.of( + "commitment", + commitment + ) + ) + ); + + JsonNode root = + executeRpc(payload); + + long slot = + root.path("result") + .asLong(-1); + + if (slot < 0) { + throw new IOException( + "Invalid getSlot response" + ); + } + + return slot; + } + + public AccountBatchResult getCurrentAccounts( + Collection<String> addresses, + long recoverySlot + ) throws IOException { + + List<ProgramAccountUpdate> updates = + new ArrayList<>(); + + List<String> missingAddresses = + new ArrayList<>(); + + List<String> addressList = + new ArrayList<>(addresses); + + for (int offset = 0; + offset < addressList.size(); + offset += ACCOUNT_BATCH_SIZE) { + + int end = + Math.min( + offset + ACCOUNT_BATCH_SIZE, + addressList.size() + ); + + List<String> batch = + addressList.subList( + offset, + end + ); + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 105, + "method", "getMultipleAccounts", + "params", List.of( + batch, + Map.of( + "encoding", + "base64", + "commitment", + commitment + ) + ) + ); + + JsonNode root = + executeRpc(payload); + + JsonNode values = + root.path("result") + .path("value"); + + if (!values.isArray()) { + throw new IOException( + "Unexpected getMultipleAccounts response" + ); + } + + if (values.size() != batch.size()) { + throw new IOException( + "Unexpected getMultipleAccounts account count" + ); + } + + for (int i = 0; i < batch.size(); i++) { + + String address = + batch.get(i); + + JsonNode account = + values.get(i); + + if (account == null + || account.isNull()) { + missingAddresses.add(address); + continue; + } + + String owner = + account.path("owner") + .asText(""); + + if (!programId.equals(owner)) { + continue; + } + + JsonNode data = + account.path("data"); + + if (!data.isArray() + || data.isEmpty()) { + throw new IOException( + "Unexpected account.data format for " + + address + ); + } + + updates.add( + parseAccount( + address, + account, + recoverySlot + ) + ); + } + } + + return new AccountBatchResult( + updates, + missingAddresses + ); + } + + public long getFirstAvailableBlock() + throws IOException { + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 102, + "method", "getFirstAvailableBlock" + ); + + JsonNode root = + executeRpc(payload); + + return root.path("result") + .asLong(-1); + } + + public List<SignatureInfo> getSignaturesAfterSlot( + long fromSlot, + long targetSlot + ) throws IOException { + + List<SignatureInfo> signatures = + new ArrayList<>(); + + String before = + null; + + boolean lowerBoundaryReached = + false; + + while (!lowerBoundaryReached) { + + Map<String, Object> options = + new LinkedHashMap<>(); + + options.put("limit", SIGNATURE_PAGE_SIZE); + options.put("commitment", commitment); + + if (before != null) { + options.put("before", before); + } + + Map<String, Object> payload = + Map.of( + "jsonrpc", "2.0", + "id", 106, + "method", "getSignaturesForAddress", + "params", List.of( + programId, + options + ) + ); + + JsonNode root = + executeRpc(payload); + + JsonNode values = + root.path("result"); + + if (!values.isArray()) { + throw new IOException( + "Unexpected getSignaturesForAddress response" + ); + } + + if (values.isEmpty()) { + break; + } + + for (JsonNode item : values) { + + long slot = + item.path("slot") + .asLong(-1); + + if (slot < 0) { + continue; + } + + if (slot <= fromSlot) { + lowerBoundaryReached = true; + break; + } + + if (slot > targetSlot) { + continue; + } + + String signature = + item.path("signature") + .asText(""); + + if (signature.isBlank()) { + continue; + } + + JsonNode error = + item.get("err"); + + if (error != null + && !error.isNull()) { + continue; + } + + signatures.add( + new SignatureInfo( + signature, + slot + ) + ); + } + + JsonNode last = + values.get(values.size() - 1); + + before = + last.path("signature") + .asText(""); + + if (before.isBlank() + || values.size() < SIGNATURE_PAGE_SIZE) { + break; + } + } + + return signatures; + } + + public Set<String> getTouchedAddresses( + List<SignatureInfo> signatures + ) throws IOException { + + Set<String> addresses = + new LinkedHashSet<>(); + + for (SignatureInfo signatureInfo : signatures) { + + JsonNode transaction = + getTransactionJsonParsed( + signatureInfo.signature() + ); + + if (transaction == null + || transaction.isNull()) { + throw new IOException( + "Transaction unavailable during recovery: " + + signatureInfo.signature() + ); + } + + JsonNode accountKeys = + transaction.path("transaction") + .path("message") + .path("accountKeys"); + + if (!accountKeys.isArray()) { + throw new IOException( + "Missing accountKeys for transaction: " + + signatureInfo.signature() + ); + } + + for (JsonNode keyNode : accountKeys) { + + String pubkey; + + if (keyNode.isTextual()) { + pubkey = keyNode.asText(); + } else { + pubkey = keyNode.path("pubkey") + .asText(""); + } + + if (!pubkey.isBlank()) { + addresses.add(pubkey); + } + } + } + + addresses.remove(programId); + return addresses; + } + + private ProgramAccountUpdate parseAccount( + String address, + JsonNode account, + long slot + ) { + + JsonNode data = + account.path("data"); + + return new ProgramAccountUpdate( + address, + account.path("owner") + .asText(), + account.path("lamports") + .asLong(), + slot, + data.get(0) + .asText(), + account.path("executable") + .asBoolean(false), + account.hasNonNull("rentEpoch") + ? account.get("rentEpoch").asLong() + : null + ); + } + + private JsonNode executeRpc( + Map<String, Object> payload + ) throws IOException { + + Request request = + new Request.Builder() + .url(rpcUrl) + .post( + RequestBody.create( + mapper.writeValueAsBytes(payload), + JSON + ) + ) + .build(); + + try (Response response = + httpClient.newCall(request).execute()) { + + if (!response.isSuccessful()) { + throw new IOException( + "Solana RPC HTTP error: " + response.code() + ); + } + + ResponseBody body = + response.body(); + + if (body == null) { + throw new IOException( + "Solana RPC returned empty body" + ); + } + + JsonNode root = + mapper.readTree( + body.string() + ); + + if (root.has("error")) { + throw new IOException( + "Solana RPC error: " + root.get("error") + ); + } + + return root; + } + } + + @Override + public void close() { + + httpClient.dispatcher() + .executorService() + .shutdown(); + httpClient.connectionPool() + .evictAll(); + } + + public record SignatureRecord( + String signature, + long slot, + Long blockTime, + boolean failed, + String errorJson + ) { + } + + public record SignatureFetchResult( + List<SignatureRecord> signatures, + boolean anchorFound + ) { + } + + public record AccountBatchResult( + List<ProgramAccountUpdate> updates, + List<String> missingAddresses + ) { + } + + public record SignatureInfo( + String signature, + long slot + ) { + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaWebSocketClient.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaWebSocketClient.java new file mode 100644 index 00000000..9320007e --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/source/rpc/SolanaWebSocketClient.java @@ -0,0 +1,542 @@ +package sync.source.rpc; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import okhttp3.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sync.model.ProgramAccountUpdate; +import sync.source.AccountUpdateListener; +import sync.source.ConnectionListener; + +import java.time.Duration; +import java.util.List; +import java.util.Map; +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +public final class SolanaWebSocketClient + extends WebSocketListener + implements AutoCloseable { + + private static final Logger log = + LoggerFactory.getLogger( + SolanaWebSocketClient.class + ); + + private final String websocketUrl; + private final String programId; + private final String commitment; + + private final ObjectMapper mapper = + new ObjectMapper(); + + private final OkHttpClient httpClient; + + private final ScheduledExecutorService scheduler; + + private final AtomicBoolean closed = + new AtomicBoolean(false); + + private final AtomicInteger reconnectAttempt = + new AtomicInteger(0); + + private final AtomicBoolean everSubscribed = + new AtomicBoolean(false); + + private volatile WebSocket webSocket; + + private volatile AccountUpdateListener + accountUpdateListener; + + private volatile ConnectionListener + connectionListener; + + public SolanaWebSocketClient( + String websocketUrl, + String programId, + String commitment + ) { + this.websocketUrl = websocketUrl; + this.programId = programId; + this.commitment = commitment; + + this.httpClient = + new OkHttpClient.Builder() + .readTimeout( + Duration.ZERO + ) + .pingInterval( + Duration.ofSeconds(20) + ) + .build(); + + this.scheduler = + Executors + .newSingleThreadScheduledExecutor( + runnable -> { + + Thread thread = + new Thread( + runnable, + "solana-rpc-reconnect" + ); + + thread.setDaemon( + true + ); + + return thread; + } + ); + } + + public void start( + AccountUpdateListener accountUpdateListener, + ConnectionListener connectionListener + ) { + + this.accountUpdateListener = + accountUpdateListener; + + this.connectionListener = + connectionListener; + + connect(); + } + + private void connect() { + + if (closed.get()) { + return; + } + + log.info( + "Connecting to Solana WebSocket: {}", + websocketUrl + ); + + Request request = + new Request.Builder() + .url( + websocketUrl + ) + .build(); + + this.webSocket = + httpClient.newWebSocket( + request, + this + ); + } + + @Override + public void onOpen( + WebSocket webSocket, + Response response + ) { + + reconnectAttempt.set( + 0 + ); + + log.info( + "WebSocket connected" + ); + + sendProgramSubscribe( + webSocket + ); + } + + private void sendProgramSubscribe( + WebSocket webSocket + ) { + + try { + + Map<String, Object> request = + Map.of( + "jsonrpc", + "2.0", + "id", + 1, + "method", + "programSubscribe", + "params", + List.of( + programId, + Map.of( + "encoding", + "base64", + "commitment", + commitment + ) + ) + ); + + String payload = + mapper.writeValueAsString( + request + ); + + if (!webSocket.send( + payload + )) { + throw new IllegalStateException( + "WebSocket rejected subscription request" + ); + } + + log.info( + "Subscription request sent for program: {}", + programId + ); + + } catch (Exception exception) { + + log.error( + "Failed to send subscription request", + exception + ); + + webSocket.cancel(); + } + } + + @Override + public void onMessage( + WebSocket webSocket, + String text + ) { + + try { + + JsonNode root = + mapper.readTree( + text + ); + + if ( + root.has("id") + && root.has("result") + && root.get("id").asInt() == 1 + ) { + + log.info( + "Subscribed successfully. subscriptionId={}", + root.get("result").asText() + ); + + boolean firstConnection = + everSubscribed + .compareAndSet( + false, + true + ); + + ConnectionListener listener = + connectionListener; + + if (listener != null) { + listener.onConnected( + firstConnection + ); + } + + return; + } + + if (root.has("error")) { + + log.error( + "Solana websocket RPC error: {}", + root.get("error") + ); + + return; + } + + if (!"programNotification" + .equals( + root + .path("method") + .asText() + )) { + return; + } + + ProgramAccountUpdate update = + parseProgramNotification( + root + ); + + log.debug( + "Account update. address={} slot={} base64Chars={}", + update.address(), + update.slot(), + update.dataBase64().length() + ); + + AccountUpdateListener listener = + accountUpdateListener; + + if (listener != null) { + listener.onAccountUpdate( + update + ); + } + + } catch (Exception exception) { + + log.error( + "Failed to process WebSocket message. raw={}", + text, + exception + ); + } + } + + private ProgramAccountUpdate parseProgramNotification( + JsonNode root + ) { + + JsonNode result = + root + .path("params") + .path("result"); + + JsonNode context = + result.path("context"); + + JsonNode value = + result.path("value"); + + JsonNode account = + value.path("account"); + + JsonNode data = + account.path("data"); + + if (!data.isArray() + || data.isEmpty()) { + throw new IllegalArgumentException( + "Unexpected account.data format" + ); + } + + return new ProgramAccountUpdate( + requiredText( + value, + "pubkey" + ), + requiredText( + account, + "owner" + ), + requiredLong( + account, + "lamports" + ), + requiredLong( + context, + "slot" + ), + data.get(0).asText(), + account.path( + "executable" + ).asBoolean(false), + account.hasNonNull( + "rentEpoch" + ) + ? account + .get("rentEpoch") + .asLong() + : null + ); + } + + private String requiredText( + JsonNode node, + String field + ) { + + JsonNode value = + node.get(field); + + if (value == null + || value.isNull() + || value.asText().isBlank()) { + throw new IllegalArgumentException( + "Missing field: " + + field + ); + } + + return value.asText(); + } + + private long requiredLong( + JsonNode node, + String field + ) { + + JsonNode value = + node.get(field); + + if (value == null + || !value.isNumber()) { + throw new IllegalArgumentException( + "Missing numeric field: " + + field + ); + } + + return value.asLong(); + } + + @Override + public void onClosed( + WebSocket webSocket, + int code, + String reason + ) { + + log.warn( + "WebSocket closed. code={} reason={}", + code, + reason + ); + + notifyDisconnected( + new IllegalStateException( + "WebSocket closed: " + + reason + ) + ); + + scheduleReconnect(); + } + + @Override + public void onFailure( + WebSocket webSocket, + Throwable throwable, + Response response + ) { + + log.error( + "WebSocket failure", + throwable + ); + + if (response != null) { + log.error( + "WebSocket HTTP status: {}", + response.code() + ); + } + + notifyDisconnected( + throwable + ); + + scheduleReconnect(); + } + + private void notifyDisconnected( + Throwable cause + ) { + + ConnectionListener listener = + connectionListener; + + if (listener != null) { + + try { + listener.onDisconnected( + cause + ); + } catch (Exception exception) { + log.error( + "Connection listener failed", + exception + ); + } + } + } + + private void scheduleReconnect() { + + if (closed.get()) { + return; + } + + int attempt = + reconnectAttempt + .incrementAndGet(); + + long delaySeconds = + switch ( + Math.min( + attempt, + 5 + ) + ) { + case 1 -> 1; + case 2 -> 2; + case 3 -> 5; + case 4 -> 10; + default -> 30; + }; + + log.warn( + "Reconnect scheduled in {} seconds (attempt {})", + delaySeconds, + attempt + ); + + scheduler.schedule( + this::connect, + delaySeconds, + TimeUnit.SECONDS + ); + } + + public void stop() { + close(); + } + + @Override + public void close() { + + if (!closed.compareAndSet( + false, + true + )) { + return; + } + + WebSocket socket = + this.webSocket; + + if (socket != null) { + socket.close( + 1000, + "Application shutdown" + ); + } + + scheduler.shutdownNow(); + + httpClient + .dispatcher() + .executorService() + .shutdown(); + + httpClient + .connectionPool() + .evictAll(); + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java new file mode 100644 index 00000000..52a3e43b --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java @@ -0,0 +1,1076 @@ +package sync.storage.postgres; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sync.codec.ShineUsersCodec; + +import java.sql.*; +import java.util.*; + +public final class PostgresStorageRepository + implements AutoCloseable { + + private static final Logger log = + LoggerFactory.getLogger( + PostgresStorageRepository.class + ); + + private final String databaseUrl; + private final String databaseUser; + private final String databasePassword; + private final ObjectMapper mapper; + + public PostgresStorageRepository( + String databaseUrl, + String databaseUser, + String databasePassword, + ObjectMapper mapper + ) throws Exception { + + this.databaseUrl = + databaseUrl; + this.databaseUser = + databaseUser; + this.databasePassword = + databasePassword; + this.mapper = + mapper; + + migrate(); + + log.info( + "PostgreSQL schema ready: {}", + databaseUrl + ); + } + + public synchronized SyncStateSnapshot loadState() + throws Exception { + + try (Connection connection = + openConnection(); + PreparedStatement statement = + connection.prepareStatement( + "SELECT " + + "status, ready, last_poll_at_ms, " + + "last_successful_poll_at_ms, " + + "last_seen_signature, last_seen_slot, " + + "last_relevant_signature, last_relevant_slot, " + + "last_error, economy_config_version, " + + "registration_fee_lamports, " + + "lamports_per_limit_step, " + + "start_bonus_limit, updated_at_ms " + + "FROM solana_sync_state WHERE id = 1" + ); + ResultSet resultSet = + statement.executeQuery()) { + + if (!resultSet.next()) { + return new SyncStateSnapshot( + "EMPTY", + false, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); + } + + Integer economyVersion = + getNullableInt( + resultSet, + "economy_config_version" + ); + + ShineUsersCodec.EconomyConfigState economyConfigState = + null; + + if (economyVersion != null) { + economyConfigState = + new ShineUsersCodec.EconomyConfigState( + economyVersion, + resultSet.getLong( + "registration_fee_lamports" + ), + resultSet.getLong( + "lamports_per_limit_step" + ), + resultSet.getLong( + "start_bonus_limit" + ) + ); + } + + return new SyncStateSnapshot( + resultSet.getString("status"), + resultSet.getBoolean("ready"), + getNullableLong( + resultSet, + "last_poll_at_ms" + ), + getNullableLong( + resultSet, + "last_successful_poll_at_ms" + ), + resultSet.getString("last_seen_signature"), + getNullableLong( + resultSet, + "last_seen_slot" + ), + resultSet.getString("last_relevant_signature"), + getNullableLong( + resultSet, + "last_relevant_slot" + ), + resultSet.getString("last_error"), + economyConfigState, + getNullableLong( + resultSet, + "updated_at_ms" + ) + ); + } + } + + public synchronized boolean hasCurrentData() + throws Exception { + + try (Connection connection = + openConnection(); + PreparedStatement statement = + connection.prepareStatement( + "SELECT 1 FROM solana_user_pda_current LIMIT 1" + ); + ResultSet resultSet = + statement.executeQuery()) { + + return resultSet.next(); + } + } + + public synchronized Map<String, ShineUsersCodec.UserPdaSnapshot> getCurrentSnapshots( + Collection<String> pdaAddresses + ) throws Exception { + + Map<String, ShineUsersCodec.UserPdaSnapshot> result = + new LinkedHashMap<>(); + + if (pdaAddresses == null + || pdaAddresses.isEmpty()) { + return result; + } + + String placeholders = + String.join( + ",", + Collections.nCopies( + pdaAddresses.size(), + "?" + ) + ); + + String sql = + "SELECT * FROM solana_user_pda_current " + + "WHERE pda_address IN (" + placeholders + ")"; + + try (Connection connection = + openConnection(); + PreparedStatement statement = + connection.prepareStatement(sql)) { + + int index = 1; + + for (String address : pdaAddresses) { + statement.setString( + index++, + address + ); + } + + try (ResultSet resultSet = + statement.executeQuery()) { + + while (resultSet.next()) { + ShineUsersCodec.UserPdaSnapshot snapshot = + mapSnapshot(resultSet); + result.put( + snapshot.pdaAddress(), + snapshot + ); + } + } + } + + return result; + } + + public synchronized void updateLifecycleState( + String status, + boolean ready, + String lastError, + Long lastPollAtMs, + Long lastSuccessfulPollAtMs + ) throws Exception { + + SyncStateSnapshot current = + loadState(); + + upsertSyncState( + new SyncStateSnapshot( + status, + ready, + lastPollAtMs != null + ? lastPollAtMs + : current.lastPollAtMs(), + lastSuccessfulPollAtMs != null + ? lastSuccessfulPollAtMs + : current.lastSuccessfulPollAtMs(), + current.lastSeenSignature(), + current.lastSeenSlot(), + current.lastRelevantSignature(), + current.lastRelevantSlot(), + lastError, + current.economyConfigState(), + System.currentTimeMillis() + ) + ); + } + + public synchronized void applyHistoryBatch( + List<TxHistoryEntry> txEntries, + List<ShineUsersCodec.UserPdaSnapshot> snapshots, + SyncStateSnapshot newState + ) throws Exception { + + try (Connection connection = + openConnection()) { + + connection.setAutoCommit(false); + + try { + + upsertTxHistory( + connection, + txEntries + ); + + insertHistorySnapshots( + connection, + snapshots + ); + + upsertCurrentSnapshots( + connection, + snapshots + ); + + upsertSyncState( + connection, + newState + ); + + connection.commit(); + + } catch (Exception exception) { + + connection.rollback(); + throw exception; + } finally { + connection.setAutoCommit(true); + } + } + } + + public synchronized void replaceCurrentFromFullSnapshot( + List<ShineUsersCodec.UserPdaSnapshot> snapshots, + SyncStateSnapshot newState + ) throws Exception { + + try (Connection connection = + openConnection()) { + + connection.setAutoCommit(false); + + try (Statement statement = + connection.createStatement()) { + + statement.executeUpdate( + "TRUNCATE TABLE solana_user_pda_current" + ); + + upsertCurrentSnapshots( + connection, + snapshots + ); + + upsertSyncState( + connection, + newState + ); + + connection.commit(); + + } catch (Exception exception) { + + connection.rollback(); + throw exception; + } finally { + connection.setAutoCommit(true); + } + } + } + + private void upsertTxHistory( + Connection connection, + List<TxHistoryEntry> txEntries + ) throws Exception { + + if (txEntries == null + || txEntries.isEmpty()) { + return; + } + + String sql = + "INSERT INTO solana_sync_tx_history (" + + "signature, slot, block_time, tx_kind, " + + "is_relevant, affected_pda_address, affected_login, " + + "raw_summary_json, processed_at_ms" + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) " + + "ON CONFLICT (signature) DO UPDATE SET " + + "slot = EXCLUDED.slot, " + + "block_time = EXCLUDED.block_time, " + + "tx_kind = EXCLUDED.tx_kind, " + + "is_relevant = EXCLUDED.is_relevant, " + + "affected_pda_address = EXCLUDED.affected_pda_address, " + + "affected_login = EXCLUDED.affected_login, " + + "raw_summary_json = EXCLUDED.raw_summary_json, " + + "processed_at_ms = EXCLUDED.processed_at_ms"; + + try (PreparedStatement statement = + connection.prepareStatement(sql)) { + + for (TxHistoryEntry entry : txEntries) { + + statement.setString( + 1, + entry.signature() + ); + statement.setLong( + 2, + entry.slot() + ); + if (entry.blockTime() == null) { + statement.setNull( + 3, + Types.BIGINT + ); + } else { + statement.setLong( + 3, + entry.blockTime() + ); + } + statement.setString( + 4, + entry.txKind() + ); + statement.setBoolean( + 5, + entry.relevant() + ); + statement.setString( + 6, + entry.affectedPdaAddress() + ); + statement.setString( + 7, + entry.affectedLogin() + ); + statement.setString( + 8, + entry.rawSummaryJson() + ); + statement.setLong( + 9, + entry.processedAtMs() + ); + statement.addBatch(); + } + + statement.executeBatch(); + } + } + + private void insertHistorySnapshots( + Connection connection, + List<ShineUsersCodec.UserPdaSnapshot> snapshots + ) throws Exception { + + if (snapshots == null + || snapshots.isEmpty()) { + return; + } + + String sql = + "INSERT INTO solana_user_pda_history (" + + "tx_signature, slot, block_time, pda_address, login, " + + "record_number, recovery_key, root_key, client_key, " + + "blockchain_name, blockchain_key, paid_limit_bytes, " + + "used_bytes, last_block_number, last_block_hash, " + + "last_block_signature, arweave_tx_id, is_server, " + + "address_format_type, address_format_version, " + + "server_address, sync_servers_json, access_servers_json, " + + "sessions_mode, sessions_json, trusted_count, " + + "created_at_ms, updated_at_ms, prev_record_hash, " + + "record_signature, raw_data_base64, saved_at_ms" + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) " + + "ON CONFLICT (pda_address, record_number) DO NOTHING"; + + try (PreparedStatement statement = + connection.prepareStatement(sql)) { + + long nowMs = + System.currentTimeMillis(); + + for (ShineUsersCodec.UserPdaSnapshot snapshot : snapshots) { + + bindSnapshot( + statement, + snapshot, + nowMs + ); + statement.addBatch(); + } + + statement.executeBatch(); + } + } + + private void upsertCurrentSnapshots( + Connection connection, + List<ShineUsersCodec.UserPdaSnapshot> snapshots + ) throws Exception { + + if (snapshots == null + || snapshots.isEmpty()) { + return; + } + + String sql = + "INSERT INTO solana_user_pda_current (" + + "pda_address, login, record_number, slot, last_tx_signature, " + + "recovery_key, root_key, client_key, blockchain_name, " + + "blockchain_key, paid_limit_bytes, used_bytes, " + + "last_block_number, last_block_hash, last_block_signature, " + + "arweave_tx_id, is_server, address_format_type, " + + "address_format_version, server_address, sync_servers_json, " + + "access_servers_json, sessions_mode, sessions_json, " + + "trusted_count, created_at_ms, updated_at_ms, " + + "prev_record_hash, record_signature, raw_data_base64, " + + "first_seen_at_ms, last_synced_at_ms" + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) " + + "ON CONFLICT (pda_address) DO UPDATE SET " + + "login = EXCLUDED.login, " + + "record_number = EXCLUDED.record_number, " + + "slot = EXCLUDED.slot, " + + "last_tx_signature = EXCLUDED.last_tx_signature, " + + "recovery_key = EXCLUDED.recovery_key, " + + "root_key = EXCLUDED.root_key, " + + "client_key = EXCLUDED.client_key, " + + "blockchain_name = EXCLUDED.blockchain_name, " + + "blockchain_key = EXCLUDED.blockchain_key, " + + "paid_limit_bytes = EXCLUDED.paid_limit_bytes, " + + "used_bytes = EXCLUDED.used_bytes, " + + "last_block_number = EXCLUDED.last_block_number, " + + "last_block_hash = EXCLUDED.last_block_hash, " + + "last_block_signature = EXCLUDED.last_block_signature, " + + "arweave_tx_id = EXCLUDED.arweave_tx_id, " + + "is_server = EXCLUDED.is_server, " + + "address_format_type = EXCLUDED.address_format_type, " + + "address_format_version = EXCLUDED.address_format_version, " + + "server_address = EXCLUDED.server_address, " + + "sync_servers_json = EXCLUDED.sync_servers_json, " + + "access_servers_json = EXCLUDED.access_servers_json, " + + "sessions_mode = EXCLUDED.sessions_mode, " + + "sessions_json = EXCLUDED.sessions_json, " + + "trusted_count = EXCLUDED.trusted_count, " + + "created_at_ms = EXCLUDED.created_at_ms, " + + "updated_at_ms = EXCLUDED.updated_at_ms, " + + "prev_record_hash = EXCLUDED.prev_record_hash, " + + "record_signature = EXCLUDED.record_signature, " + + "raw_data_base64 = EXCLUDED.raw_data_base64, " + + "last_synced_at_ms = EXCLUDED.last_synced_at_ms " + + "WHERE EXCLUDED.record_number >= solana_user_pda_current.record_number"; + + try (PreparedStatement statement = + connection.prepareStatement(sql)) { + + long nowMs = + System.currentTimeMillis(); + + for (ShineUsersCodec.UserPdaSnapshot snapshot : snapshots) { + + bindCurrentSnapshot( + statement, + snapshot, + nowMs + ); + statement.addBatch(); + } + + statement.executeBatch(); + } + } + + private void bindSnapshot( + PreparedStatement statement, + ShineUsersCodec.UserPdaSnapshot snapshot, + long nowMs + ) throws Exception { + + statement.setString( + 1, + snapshot.lastTxSignature() + ); + statement.setLong( + 2, + snapshot.slot() + ); + statement.setNull( + 3, + Types.BIGINT + ); + statement.setString( + 4, + snapshot.pdaAddress() + ); + statement.setString( + 5, + snapshot.login() + ); + statement.setInt( + 6, + snapshot.recordNumber() + ); + statement.setString( + 7, + snapshot.recoveryKey() + ); + statement.setString( + 8, + snapshot.rootKey() + ); + statement.setString( + 9, + snapshot.clientKey() + ); + statement.setString( + 10, + snapshot.blockchainName() + ); + statement.setString( + 11, + snapshot.blockchainKey() + ); + statement.setLong( + 12, + snapshot.paidLimitBytes() + ); + statement.setLong( + 13, + snapshot.usedBytes() + ); + statement.setInt( + 14, + snapshot.lastBlockNumber() + ); + statement.setString( + 15, + snapshot.lastBlockHash() + ); + statement.setString( + 16, + snapshot.lastBlockSignature() + ); + statement.setString( + 17, + snapshot.arweaveTxId() + ); + statement.setBoolean( + 18, + snapshot.isServer() + ); + statement.setInt( + 19, + snapshot.addressFormatType() + ); + statement.setInt( + 20, + snapshot.addressFormatVersion() + ); + statement.setString( + 21, + snapshot.serverAddress() + ); + statement.setString( + 22, + writeJson( + snapshot.syncServers() + ) + ); + statement.setString( + 23, + writeJson( + snapshot.accessServers() + ) + ); + statement.setInt( + 24, + snapshot.sessionsMode() + ); + statement.setString( + 25, + writeJson( + snapshot.sessions() + ) + ); + statement.setInt( + 26, + snapshot.trustedCount() + ); + statement.setLong( + 27, + snapshot.createdAtMs() + ); + statement.setLong( + 28, + snapshot.updatedAtMs() + ); + statement.setString( + 29, + snapshot.prevRecordHash() + ); + statement.setString( + 30, + snapshot.recordSignature() + ); + statement.setString( + 31, + snapshot.rawDataBase64() + ); + statement.setLong( + 32, + nowMs + ); + } + + private void bindCurrentSnapshot( + PreparedStatement statement, + ShineUsersCodec.UserPdaSnapshot snapshot, + long nowMs + ) throws Exception { + + statement.setString(1, snapshot.pdaAddress()); + statement.setString(2, snapshot.login()); + statement.setInt(3, snapshot.recordNumber()); + statement.setLong(4, snapshot.slot()); + statement.setString(5, snapshot.lastTxSignature()); + statement.setString(6, snapshot.recoveryKey()); + statement.setString(7, snapshot.rootKey()); + statement.setString(8, snapshot.clientKey()); + statement.setString(9, snapshot.blockchainName()); + statement.setString(10, snapshot.blockchainKey()); + statement.setLong(11, snapshot.paidLimitBytes()); + statement.setLong(12, snapshot.usedBytes()); + statement.setInt(13, snapshot.lastBlockNumber()); + statement.setString(14, snapshot.lastBlockHash()); + statement.setString(15, snapshot.lastBlockSignature()); + statement.setString(16, snapshot.arweaveTxId()); + statement.setBoolean(17, snapshot.isServer()); + statement.setInt(18, snapshot.addressFormatType()); + statement.setInt(19, snapshot.addressFormatVersion()); + statement.setString(20, snapshot.serverAddress()); + statement.setString(21, writeJson(snapshot.syncServers())); + statement.setString(22, writeJson(snapshot.accessServers())); + statement.setInt(23, snapshot.sessionsMode()); + statement.setString(24, writeJson(snapshot.sessions())); + statement.setInt(25, snapshot.trustedCount()); + statement.setLong(26, snapshot.createdAtMs()); + statement.setLong(27, snapshot.updatedAtMs()); + statement.setString(28, snapshot.prevRecordHash()); + statement.setString(29, snapshot.recordSignature()); + statement.setString(30, snapshot.rawDataBase64()); + statement.setLong(31, nowMs); + statement.setLong(32, nowMs); + } + + private ShineUsersCodec.UserPdaSnapshot mapSnapshot( + ResultSet resultSet + ) throws Exception { + + List<String> syncServers = + Arrays.asList( + mapper.readValue( + resultSet.getString("sync_servers_json"), + String[].class + ) + ); + + List<String> accessServers = + Arrays.asList( + mapper.readValue( + resultSet.getString("access_servers_json"), + String[].class + ) + ); + + List<ShineUsersCodec.UserSessionSnapshot> sessions = + Arrays.asList( + mapper.readValue( + resultSet.getString("sessions_json"), + ShineUsersCodec.UserSessionSnapshot[].class + ) + ); + + return new ShineUsersCodec.UserPdaSnapshot( + resultSet.getString("pda_address"), + resultSet.getString("login"), + resultSet.getInt("record_number"), + resultSet.getLong("slot"), + resultSet.getString("last_tx_signature"), + resultSet.getString("recovery_key"), + resultSet.getString("root_key"), + resultSet.getString("client_key"), + resultSet.getString("blockchain_name"), + resultSet.getString("blockchain_key"), + resultSet.getLong("paid_limit_bytes"), + resultSet.getLong("used_bytes"), + resultSet.getInt("last_block_number"), + resultSet.getString("last_block_hash"), + resultSet.getString("last_block_signature"), + resultSet.getString("arweave_tx_id"), + resultSet.getBoolean("is_server"), + resultSet.getInt("address_format_type"), + resultSet.getInt("address_format_version"), + resultSet.getString("server_address"), + List.copyOf(syncServers), + List.copyOf(accessServers), + resultSet.getInt("sessions_mode"), + List.copyOf(sessions), + resultSet.getInt("trusted_count"), + resultSet.getLong("created_at_ms"), + resultSet.getLong("updated_at_ms"), + resultSet.getString("prev_record_hash"), + resultSet.getString("record_signature"), + resultSet.getString("raw_data_base64") + ); + } + + private void upsertSyncState( + SyncStateSnapshot snapshot + ) throws Exception { + + try (Connection connection = + openConnection()) { + upsertSyncState( + connection, + snapshot + ); + } + } + + private void upsertSyncState( + Connection connection, + SyncStateSnapshot snapshot + ) throws Exception { + + String sql = + "INSERT INTO solana_sync_state (" + + "id, status, ready, last_poll_at_ms, " + + "last_successful_poll_at_ms, last_seen_signature, " + + "last_seen_slot, last_relevant_signature, " + + "last_relevant_slot, last_error, economy_config_version, " + + "registration_fee_lamports, lamports_per_limit_step, " + + "start_bonus_limit, updated_at_ms" + + ") VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) " + + "ON CONFLICT (id) DO UPDATE SET " + + "status = EXCLUDED.status, " + + "ready = EXCLUDED.ready, " + + "last_poll_at_ms = EXCLUDED.last_poll_at_ms, " + + "last_successful_poll_at_ms = EXCLUDED.last_successful_poll_at_ms, " + + "last_seen_signature = EXCLUDED.last_seen_signature, " + + "last_seen_slot = EXCLUDED.last_seen_slot, " + + "last_relevant_signature = EXCLUDED.last_relevant_signature, " + + "last_relevant_slot = EXCLUDED.last_relevant_slot, " + + "last_error = EXCLUDED.last_error, " + + "economy_config_version = EXCLUDED.economy_config_version, " + + "registration_fee_lamports = EXCLUDED.registration_fee_lamports, " + + "lamports_per_limit_step = EXCLUDED.lamports_per_limit_step, " + + "start_bonus_limit = EXCLUDED.start_bonus_limit, " + + "updated_at_ms = EXCLUDED.updated_at_ms"; + + try (PreparedStatement statement = + connection.prepareStatement(sql)) { + + statement.setString(1, snapshot.status()); + statement.setBoolean(2, snapshot.ready()); + bindNullableLong(statement, 3, snapshot.lastPollAtMs()); + bindNullableLong(statement, 4, snapshot.lastSuccessfulPollAtMs()); + statement.setString(5, snapshot.lastSeenSignature()); + bindNullableLong(statement, 6, snapshot.lastSeenSlot()); + statement.setString(7, snapshot.lastRelevantSignature()); + bindNullableLong(statement, 8, snapshot.lastRelevantSlot()); + statement.setString(9, snapshot.lastError()); + + if (snapshot.economyConfigState() == null) { + statement.setNull(10, Types.INTEGER); + statement.setNull(11, Types.BIGINT); + statement.setNull(12, Types.BIGINT); + statement.setNull(13, Types.BIGINT); + } else { + statement.setInt(10, snapshot.economyConfigState().version()); + statement.setLong(11, snapshot.economyConfigState().registrationFeeLamports()); + statement.setLong(12, snapshot.economyConfigState().lamportsPerLimitStep()); + statement.setLong(13, snapshot.economyConfigState().startBonusLimit()); + } + + bindNullableLong(statement, 14, snapshot.updatedAtMs()); + statement.executeUpdate(); + } + } + + private void migrate() + throws Exception { + + try (Connection connection = + openConnection(); + Statement statement = + connection.createStatement()) { + + statement.executeUpdate( + "CREATE TABLE IF NOT EXISTS solana_sync_state (" + + "id INTEGER PRIMARY KEY CHECK (id = 1), " + + "status TEXT NOT NULL, " + + "ready BOOLEAN NOT NULL DEFAULT FALSE, " + + "last_poll_at_ms BIGINT, " + + "last_successful_poll_at_ms BIGINT, " + + "last_seen_signature TEXT, " + + "last_seen_slot BIGINT, " + + "last_relevant_signature TEXT, " + + "last_relevant_slot BIGINT, " + + "last_error TEXT, " + + "economy_config_version INTEGER, " + + "registration_fee_lamports BIGINT, " + + "lamports_per_limit_step BIGINT, " + + "start_bonus_limit BIGINT, " + + "updated_at_ms BIGINT" + + ")" + ); + + statement.executeUpdate( + "INSERT INTO solana_sync_state (id, status, ready) " + + "VALUES (1, 'EMPTY', FALSE) " + + "ON CONFLICT (id) DO NOTHING" + ); + + statement.executeUpdate( + "CREATE TABLE IF NOT EXISTS solana_sync_tx_history (" + + "signature TEXT PRIMARY KEY, " + + "slot BIGINT NOT NULL, " + + "block_time BIGINT, " + + "tx_kind TEXT NOT NULL, " + + "is_relevant BOOLEAN NOT NULL, " + + "affected_pda_address TEXT, " + + "affected_login TEXT, " + + "raw_summary_json TEXT NOT NULL, " + + "processed_at_ms BIGINT NOT NULL" + + ")" + ); + + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_sync_tx_history_slot " + + "ON solana_sync_tx_history(slot)" + ); + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_sync_tx_history_relevant " + + "ON solana_sync_tx_history(is_relevant)" + ); + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_sync_tx_history_login " + + "ON solana_sync_tx_history(affected_login)" + ); + + statement.executeUpdate( + "CREATE TABLE IF NOT EXISTS solana_user_pda_current (" + + "pda_address TEXT PRIMARY KEY, " + + "login TEXT NOT NULL UNIQUE, " + + "record_number INTEGER NOT NULL, " + + "slot BIGINT NOT NULL, " + + "last_tx_signature TEXT NOT NULL, " + + "recovery_key TEXT NOT NULL, " + + "root_key TEXT NOT NULL, " + + "client_key TEXT NOT NULL, " + + "blockchain_name TEXT NOT NULL, " + + "blockchain_key TEXT NOT NULL, " + + "paid_limit_bytes BIGINT NOT NULL, " + + "used_bytes BIGINT NOT NULL, " + + "last_block_number INTEGER NOT NULL, " + + "last_block_hash TEXT NOT NULL, " + + "last_block_signature TEXT NOT NULL, " + + "arweave_tx_id TEXT NOT NULL, " + + "is_server BOOLEAN NOT NULL, " + + "address_format_type INTEGER NOT NULL, " + + "address_format_version INTEGER NOT NULL, " + + "server_address TEXT NOT NULL, " + + "sync_servers_json TEXT NOT NULL, " + + "access_servers_json TEXT NOT NULL, " + + "sessions_mode INTEGER NOT NULL, " + + "sessions_json TEXT NOT NULL, " + + "trusted_count INTEGER NOT NULL, " + + "created_at_ms BIGINT NOT NULL, " + + "updated_at_ms BIGINT NOT NULL, " + + "prev_record_hash TEXT NOT NULL, " + + "record_signature TEXT NOT NULL, " + + "raw_data_base64 TEXT NOT NULL, " + + "first_seen_at_ms BIGINT NOT NULL, " + + "last_synced_at_ms BIGINT NOT NULL" + + ")" + ); + + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_user_pda_current_slot " + + "ON solana_user_pda_current(slot)" + ); + + statement.executeUpdate( + "CREATE TABLE IF NOT EXISTS solana_user_pda_history (" + + "id BIGSERIAL PRIMARY KEY, " + + "tx_signature TEXT NOT NULL, " + + "slot BIGINT NOT NULL, " + + "block_time BIGINT, " + + "pda_address TEXT NOT NULL, " + + "login TEXT NOT NULL, " + + "record_number INTEGER NOT NULL, " + + "recovery_key TEXT NOT NULL, " + + "root_key TEXT NOT NULL, " + + "client_key TEXT NOT NULL, " + + "blockchain_name TEXT NOT NULL, " + + "blockchain_key TEXT NOT NULL, " + + "paid_limit_bytes BIGINT NOT NULL, " + + "used_bytes BIGINT NOT NULL, " + + "last_block_number INTEGER NOT NULL, " + + "last_block_hash TEXT NOT NULL, " + + "last_block_signature TEXT NOT NULL, " + + "arweave_tx_id TEXT NOT NULL, " + + "is_server BOOLEAN NOT NULL, " + + "address_format_type INTEGER NOT NULL, " + + "address_format_version INTEGER NOT NULL, " + + "server_address TEXT NOT NULL, " + + "sync_servers_json TEXT NOT NULL, " + + "access_servers_json TEXT NOT NULL, " + + "sessions_mode INTEGER NOT NULL, " + + "sessions_json TEXT NOT NULL, " + + "trusted_count INTEGER NOT NULL, " + + "created_at_ms BIGINT NOT NULL, " + + "updated_at_ms BIGINT NOT NULL, " + + "prev_record_hash TEXT NOT NULL, " + + "record_signature TEXT NOT NULL, " + + "raw_data_base64 TEXT NOT NULL, " + + "saved_at_ms BIGINT NOT NULL, " + + "UNIQUE (pda_address, record_number)" + + ")" + ); + + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_user_pda_history_login " + + "ON solana_user_pda_history(login)" + ); + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_user_pda_history_slot " + + "ON solana_user_pda_history(slot)" + ); + } + } + + private Connection openConnection() + throws Exception { + return DriverManager.getConnection( + databaseUrl, + databaseUser, + databasePassword + ); + } + + private static void bindNullableLong( + PreparedStatement statement, + int index, + Long value + ) throws SQLException { + if (value == null) { + statement.setNull(index, Types.BIGINT); + } else { + statement.setLong(index, value); + } + } + + private static Long getNullableLong( + ResultSet resultSet, + String column + ) throws SQLException { + long value = resultSet.getLong(column); + return resultSet.wasNull() ? null : value; + } + + private static Integer getNullableInt( + ResultSet resultSet, + String column + ) throws SQLException { + int value = resultSet.getInt(column); + return resultSet.wasNull() ? null : value; + } + + private String writeJson( + Object value + ) throws JsonProcessingException { + return mapper.writeValueAsString(value); + } + + @Override + public void close() { + } + + public record TxHistoryEntry( + String signature, + long slot, + Long blockTime, + String txKind, + boolean relevant, + String affectedPdaAddress, + String affectedLogin, + String rawSummaryJson, + long processedAtMs + ) { + } + + public record SyncStateSnapshot( + String status, + boolean ready, + Long lastPollAtMs, + Long lastSuccessfulPollAtMs, + String lastSeenSignature, + Long lastSeenSlot, + String lastRelevantSignature, + Long lastRelevantSlot, + String lastError, + ShineUsersCodec.EconomyConfigState economyConfigState, + Long updatedAtMs + ) { + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/Base58Util.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/Base58Util.java new file mode 100644 index 00000000..7b985555 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/Base58Util.java @@ -0,0 +1,224 @@ +package sync.util; + +import java.nio.charset.StandardCharsets; +import java.util.Arrays; + +public final class Base58Util { + + private static final char[] ALPHABET = + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" + .toCharArray(); + + private static final int[] INDEXES = + new int[128]; + + static { + Arrays.fill( + INDEXES, + -1 + ); + + for (int i = 0; i < ALPHABET.length; i++) { + INDEXES[ALPHABET[i]] = i; + } + } + + private Base58Util() { + } + + public static String encode( + byte[] input + ) { + + if (input == null + || input.length == 0) { + return ""; + } + + byte[] copy = + Arrays.copyOf( + input, + input.length + ); + + int zeros = + 0; + + while (zeros < copy.length + && copy[zeros] == 0) { + zeros++; + } + + byte[] encoded = + new byte[copy.length * 2]; + + int outputStart = + encoded.length; + + int inputStart = + zeros; + + while (inputStart < copy.length) { + + int remainder = + divMod58( + copy, + inputStart + ); + + if (copy[inputStart] == 0) { + inputStart++; + } + + encoded[--outputStart] = + (byte) ALPHABET[remainder]; + } + + while (outputStart < encoded.length + && encoded[outputStart] == ALPHABET[0]) { + outputStart++; + } + + while (--zeros >= 0) { + encoded[--outputStart] = + (byte) ALPHABET[0]; + } + + return new String( + encoded, + outputStart, + encoded.length - outputStart, + StandardCharsets.US_ASCII + ); + } + + public static byte[] decode( + String input + ) { + + if (input == null + || input.isBlank()) { + return new byte[0]; + } + + char[] chars = + input.trim() + .toCharArray(); + + byte[] input58 = + new byte[chars.length]; + + for (int i = 0; i < chars.length; i++) { + + char c = chars[i]; + + if (c >= INDEXES.length + || INDEXES[c] < 0) { + throw new IllegalArgumentException( + "Invalid Base58 character: " + c + ); + } + + input58[i] = + (byte) INDEXES[c]; + } + + int zeros = + 0; + + while (zeros < input58.length + && input58[zeros] == 0) { + zeros++; + } + + byte[] decoded = + new byte[chars.length]; + + int outputStart = + decoded.length; + + int inputStart = + zeros; + + while (inputStart < input58.length) { + + int remainder = + divMod256( + input58, + inputStart + ); + + if (input58[inputStart] == 0) { + inputStart++; + } + + decoded[--outputStart] = + (byte) remainder; + } + + while (outputStart < decoded.length + && decoded[outputStart] == 0) { + outputStart++; + } + + return Arrays.copyOfRange( + decoded, + outputStart - zeros, + decoded.length + ); + } + + private static int divMod58( + byte[] number, + int startAt + ) { + + int remainder = + 0; + + for (int i = startAt; i < number.length; i++) { + + int digit256 = + number[i] & 0xFF; + + int temp = + remainder * 256 + + digit256; + + number[i] = + (byte) (temp / 58); + + remainder = + temp % 58; + } + + return remainder; + } + + private static int divMod256( + byte[] number58, + int startAt + ) { + + int remainder = + 0; + + for (int i = startAt; i < number58.length; i++) { + + int digit58 = + number58[i] & 0xFF; + + int temp = + remainder * 58 + + digit58; + + number58[i] = + (byte) (temp / 256); + + remainder = + temp % 256; + } + + return remainder; + } +} diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/SolanaPdaUtil.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/SolanaPdaUtil.java new file mode 100644 index 00000000..af065063 --- /dev/null +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/util/SolanaPdaUtil.java @@ -0,0 +1,95 @@ +package sync.util; + +import org.bouncycastle.jcajce.provider.digest.SHA256; +import org.bouncycastle.math.ec.rfc8032.Ed25519; + +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; + +public final class SolanaPdaUtil { + + private static final byte[] PROGRAM_DERIVED_ADDRESS_DOMAIN = + "ProgramDerivedAddress" + .getBytes(StandardCharsets.UTF_8); + + private SolanaPdaUtil() { + } + + public static String findProgramAddress( + List<byte[]> seeds, + String programIdBase58 + ) { + + byte[] programId = + Base58Util.decode( + programIdBase58 + ); + + if (programId.length != 32) { + throw new IllegalArgumentException( + "Program id must decode to 32 bytes" + ); + } + + for (int bump = 255; bump >= 0; bump--) { + + List<byte[]> attemptSeeds = + new ArrayList<>( + seeds + ); + + attemptSeeds.add( + new byte[]{(byte) bump} + ); + + byte[] address = + createProgramAddress( + attemptSeeds, + programId + ); + + if (!isOnCurve(address)) { + return Base58Util.encode( + address + ); + } + } + + throw new IllegalStateException( + "Unable to find viable program address" + ); + } + + private static byte[] createProgramAddress( + List<byte[]> seeds, + byte[] programId + ) { + + SHA256.Digest digest = + new SHA256.Digest(); + + for (byte[] seed : seeds) { + digest.update(seed); + } + + digest.update(programId); + digest.update(PROGRAM_DERIVED_ADDRESS_DOMAIN); + + return digest.digest(); + } + + private static boolean isOnCurve( + byte[] publicKey + ) { + + if (publicKey.length != 32) { + return false; + } + + return Ed25519.validatePublicKeyFull( + publicKey, + 0 + ); + } +} diff --git a/SHiNE-server/src/main/java/server/sync/SolanaUsersSyncStartupService.java b/SHiNE-server/src/main/java/server/sync/SolanaUsersSyncStartupService.java new file mode 100644 index 00000000..491bbb1d --- /dev/null +++ b/SHiNE-server/src/main/java/server/sync/SolanaUsersSyncStartupService.java @@ -0,0 +1,85 @@ +package server.sync; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sync.service.SolanaUsersSyncService; +import utils.config.AppConfig; + +public final class SolanaUsersSyncStartupService { + + private static final Logger log = + LoggerFactory.getLogger( + SolanaUsersSyncStartupService.class + ); + + private static volatile SolanaUsersSyncService service; + + private SolanaUsersSyncStartupService() { + } + + public static synchronized void startOrThrow() + throws Exception { + + if (service != null) { + return; + } + + AppConfig serverConfig = + AppConfig.getInstance(); + + if (!sync.config.AppConfig.isEnabled(serverConfig)) { + log.info( + "Solana users sync is disabled. Param {} is false or absent.", + sync.config.AppConfig.ENABLED_KEY + ); + return; + } + + sync.config.AppConfig syncConfig = + sync.config.AppConfig.fromServerConfig( + serverConfig + ); + + service = + new SolanaUsersSyncService( + syncConfig + ); + + Runtime.getRuntime() + .addShutdownHook( + new Thread( + SolanaUsersSyncStartupService::closeQuietly, + "solana-users-sync-shutdown" + ) + ); + + log.info( + "Starting Solana users sync before remaining server startup..." + ); + + service.start(); + service.awaitReady(); + + log.info( + "Solana users sync is READY. Server startup may continue." + ); + } + + public static synchronized void closeQuietly() { + + if (service == null) { + return; + } + + try { + service.close(); + } catch (Exception exception) { + log.warn( + "Failed to close Solana users sync service cleanly", + exception + ); + } finally { + service = null; + } + } +} diff --git a/SHiNE-server/src/main/java/server/ws/WsServer.java b/SHiNE-server/src/main/java/server/ws/WsServer.java index d318b2e2..56fc8a5a 100644 --- a/SHiNE-server/src/main/java/server/ws/WsServer.java +++ b/SHiNE-server/src/main/java/server/ws/WsServer.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import server.debug.DebugApiConfigurator; import server.sync.BlockchainResyncRecoveryOnStartup; import server.sync.PeriodicBlockchainSyncService; +import server.sync.SolanaUsersSyncStartupService; import server.sync.SyncServersBootstrapService; import utils.config.AppConfig; @@ -49,6 +50,11 @@ public final class WsServer { throw e; } + // ============================================================ + // 1.0) Синхронизация пользовательских Solana PDA + // ============================================================ + SolanaUsersSyncStartupService.startOrThrow(); + // ============================================================ // 1) Настройки порта // ============================================================ diff --git a/SHiNE-server/src/main/resources/application.properties b/SHiNE-server/src/main/resources/application.properties index b910adbd..1107feea 100644 --- a/SHiNE-server/src/main/resources/application.properties +++ b/SHiNE-server/src/main/resources/application.properties @@ -3,6 +3,14 @@ db.path=data/shine.sqlite server.SHiNE.login=shineupme solana.cluster=mainnet-beta solana.rpcUrl=https://api.mainnet-beta.solana.com +solana.users.sync.enabled=false +solana.users.sync.rpcUrl= +solana.users.sync.wsUrl= +solana.users.sync.programId=SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6 +solana.users.sync.databaseUrl= +solana.users.sync.dbUser= +solana.users.sync.dbPassword= +solana.users.sync.pollIntervalSeconds=300 # ------------------------------------------------------------ # Межсерверная синхронизация: как создавать локальную запись пользователя, diff --git a/VERSION.properties b/VERSION.properties index aab16956..9ee98741 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.347 -server.version=1.2.318 +server.version=1.2.319 diff --git a/build.gradle b/build.gradle index 8014732a..f31b8758 100644 --- a/build.gradle +++ b/build.gradle @@ -81,6 +81,7 @@ dependencies { implementation project(':shine-server-net-protocol') // Модуль отвечающий за протокол (классы Net..Request/Response implementation project(':shine-server-net-server') // Хэндлеры для обработки сетевых запросов + implementation project(':shine-server-solana-users-sync') diff --git a/deploy/POSTGRESQL_SERVERS_STANDARD.md b/deploy/POSTGRESQL_SERVERS_STANDARD.md new file mode 100644 index 00000000..7fbfc28b --- /dev/null +++ b/deploy/POSTGRESQL_SERVERS_STANDARD.md @@ -0,0 +1,213 @@ +# PostgreSQL для серверов SHiNE + +Этот документ фиксирует целевой стандарт PostgreSQL, который должен использоваться на всех серверных контурах SHiNE после ухода от SQLite. + +Пока это не текущий production-state, а согласованная целевая схема, под которую можно писать миграции, deploy-скрипты и server-конфиги. + +## Цель + +На каждом сервере SHiNE должна быть отдельная локальная PostgreSQL-база: + +- запускается в Docker; +- использует `postgres:18`; +- хранит данные не внутри контейнера, а в примонтированной папке хоста; +- доступна только локально на сервере и из Docker-сети; +- не публикуется в интернет; +- автоматически перезапускается после reboot/crash; +- имеет healthcheck; +- использует отдельную БД приложения и отдельного пользователя приложения; +- пароли и секреты хранятся только в локальном `.env`/override-конфиге на сервере и не коммитятся в git. + +## Базовый стандарт + +- Версия PostgreSQL: `18.x` +- Docker image: `postgres:18` +- Имена по умолчанию: + - контейнер/сервис: `shine-postgres` + - база приложения: `shine_server_db` + - пользователь приложения: `shine_server` +- Политика перезапуска: `unless-stopped` +- Проверка готовности: `pg_isready` + +## Сетевой доступ + +PostgreSQL не должна быть доступна из интернета. + +Разрешённые варианты: + +- публиковать порт только на loopback: + - `127.0.0.1:5432:5432` +- либо не публиковать порт вообще, если клиент тоже живёт в Docker и ходит только по внутренней сети + +Запрещено: + +- `0.0.0.0:5432:5432` +- открытие `5432/tcp` через внешний firewall/NAT/public ingress + +Рекомендация по умолчанию для SHiNE: + +- использовать `127.0.0.1:5432:5432` + +Это даёт: + +- локальную диагностику через `psql` на самом сервере; +- отсутствие внешнего доступа из интернета; +- совместимость с приложением, если оно работает не в Docker. + +## Хранение данных + +Данные PostgreSQL должны храниться в локальной папке хоста, а не во внутреннем Docker volume контейнера. + +Причины: + +- проще бэкапить; +- проще переносить между серверами; +- проще контролировать место хранения; +- одинаковая схема для dev/test/production; +- ниже риск потерять данные при пересоздании контейнера. + +Рекомендуемая схема каталогов на сервере: + +Production: + +```text +/home/player/SHiNE/postgres/shine_server_db +``` + +Test/devnet: + +```text +/home/player/tX/postgres/shine_server_db +``` + +Если на одном сервере появится несколько баз SHiNE-сервисов, раскладывать их по отдельным каталогам: + +```text +/home/player/SHiNE/postgres/shine_server_db +/home/player/SHiNE/postgres/analytics_db +/home/player/SHiNE/postgres/other_service_db +``` + +## Пользователи и права + +Нужны два уровня доступа: + +- системный `postgres` superuser для администрирования; +- рабочий пользователь приложения `shine_server` для подключения самого SHiNE server. + +Требования: + +- приложение не должно работать под `postgres`; +- `shine_server` не должен быть `superuser`; +- `shine_server` должен владеть своей БД `shine_server_db`; +- для миграций по умолчанию использовать пользователя приложения, если ему хватает прав; +- административные операции выполнять отдельно под `postgres`. + +## Секреты + +В git нельзя хранить: + +- `.env` с реальными паролями; +- connection strings с паролями; +- SQL-файлы с зашитыми production/test паролями. + +Хранить на сервере локально, например: + +```text +/home/player/SHiNE/postgres/.env +``` + +или в другом root-only каталоге секретов хоста. + +Минимально нужны: + +- пароль `postgres` +- пароль `shine_server` + +Допустимо, но не рекомендуется, временно использовать одинаковый пароль для локального dev. Для production и постоянных test-серверов лучше разные пароли. + +## Пример целевого compose + +Ниже пример целевой схемы, которую можно брать за основу для серверов: + +```yaml +services: + shine-postgres: + image: postgres:18 + container_name: shine-postgres + restart: unless-stopped + env_file: + - .env + environment: + POSTGRES_DB: ${POSTGRES_SUPERUSER_DB} + POSTGRES_USER: ${POSTGRES_SUPERUSER} + POSTGRES_PASSWORD: ${POSTGRES_SUPERUSER_PASSWORD} + PGDATA: /var/lib/postgresql/data/pgdata + ports: + - "127.0.0.1:5432:5432" + volumes: + - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data + - ./initdb:/docker-entrypoint-initdb.d:ro + healthcheck: + test: + - CMD-SHELL + - pg_isready -U "$${POSTGRES_SUPERUSER}" -d "$${POSTGRES_SUPERUSER_DB}" + interval: 10s + timeout: 5s + retries: 10 + start_period: 20s +``` + +## Рекомендуемые переменные окружения + +```dotenv +POSTGRES_SUPERUSER_DB=postgres +POSTGRES_SUPERUSER=postgres +POSTGRES_SUPERUSER_PASSWORD=change_me +SHINE_APP_DB=shine_server_db +SHINE_APP_USER=shine_server +SHINE_APP_PASSWORD=change_me_too +SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/shine_server_db +``` + +Для test/devnet путь адаптировать под конкретный контур: + +```dotenv +SHINE_POSTGRES_DATA_DIR=/home/player/t2/postgres/shine_server_db +``` + +## Подключение приложения + +SHiNE server должен подключаться именно к: + +- host: `127.0.0.1` +- port: `5432` +- db: `shine_server_db` +- user: `shine_server` + +Не подключать серверное приложение под `postgres`, кроме одноразовых административных операций вручную. + +## Бэкапы + +Так как данные лежат в bind-mount каталоге хоста, сама папка с данными должна попадать в серверную backup-стратегию. + +Но для PostgreSQL предпочтителен не только файловый backup, а как минимум один из вариантов: + +- регулярный `pg_dump` +- либо полноценный backup-скрипт с остановкой приложения/согласованным snapshot + +Минимальное требование: + +- перед серьёзными миграциями иметь свежий backup БД; +- перед production rollout новой серверной версии иметь проверяемый backup. + +## Для будущей миграции SHiNE + +При переводе SHiNE server с SQLite на PostgreSQL считать обязательным: + +- сначала поднять PostgreSQL по этому стандарту; +- затем добавить серверные конфиги подключения; +- затем прогнать миграции схемы; +- только потом переключать runtime приложения на PostgreSQL. + +До фактического rollout на конкретный сервер эта БД может ещё отсутствовать. Этот документ описывает не текущее наличие БД, а обязательный целевой стандарт для всех серверов SHiNE. diff --git a/deploy/README.md b/deploy/README.md index 78bd95ba..78ef3dd7 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -20,6 +20,8 @@ - `PRODUCTION_SERVERS.md` — production-контуры. - `TEST_SERVERS.md` — test/devnet-контуры. - `TURN_SERVERS.md` — TURN-серверы. +- `POSTGRESQL_SERVERS_STANDARD.md` — целевой стандарт PostgreSQL для всех серверов SHiNE. +- `SOLANA_USERS_SYNC_SERVER_SETUP.md` — интеграция синхронизации пользовательских Solana PDA в основной сервер. - `CONFIGURE_TURN_IN_SHINE.md` — как подключить TURN к SHiNE backend. - `SETUP_SERVER_FROM_ZERO.md` — настройка SHiNE-сервера и UI с нуля. - `SETUP_TURN_SERVER.md` — настройка TURN через Caddy/DNS/TLS. diff --git a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md new file mode 100644 index 00000000..746f40d7 --- /dev/null +++ b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md @@ -0,0 +1,116 @@ +# Интеграция синхронизации `shine_users` в основной сервер + +Этот документ описывает, что нужно для встраивания Solana sync-модуля пользовательских PDA в основной SHiNE-server. + +Основной архитектурный документ: + +- [docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md](/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-product/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md) + +## Что уже готово + +Отдельный модуль `sync-solana` уже умеет: + +- подключаться к Solana RPC и WebSocket; +- вычислять `users_economy_config_pda`; +- хранить checkpoint синхронизации в PostgreSQL; +- читать историю через `getSignaturesForAddress(users_economy_config_pda)`; +- поддерживать realtime через websocket; +- выполнять страховочный periodic poll раз в 5 минут; +- хранить: + - `solana_sync_state` + - `solana_sync_tx_history` + - `solana_user_pda_current` + - `solana_user_pda_history` +- блокировать дальнейший startup до входа в `READY`. + +## Что нужно перенести в основной сервер + +Из `sync-solana` в сервер нужно перенести рабочие классы: + +- `sync-solana/src/main/java/sync-solana/config/` +- `sync-solana/src/main/java/sync-solana/service/` +- `sync-solana/src/main/java/sync-solana/source/` +- `sync-solana/src/main/java/sync-solana/source/rpc/` +- `sync-solana/src/main/java/sync-solana/storage/postgres/` +- `sync-solana/src/main/java/sync-solana/codec/` +- `sync-solana/src/main/java/sync-solana/model/` +- `sync-solana/src/main/java/sync-solana/util/` + +`Main.java` нужен только как reference для bootstrap и как отдельный `main` в сервере уже не понадобится. + +Рекомендуемый вариант: + +- оформить это как отдельный Gradle submodule внутри `SHiNE-server`; +- запускать его из server startup как lifecycle-сервис. + +## Порядок запуска в сервере + +При старте основного сервера последовательность должна быть такой: + +1. прочитать общий server config; +2. создать Solana users sync service; +3. вызвать `start()`; +4. вызвать `awaitReady()`; +5. только после этого продолжать остальной startup сервера: + - синхронизацию с другими нодами; + - запуск WS/HTTP; + - остальную серверную инициализацию. + +Если Solana initial sync не дошёл до `READY`, startup сервера должен считаться неуспешным. + +## Переменные окружения сервера + +На сервере должны быть доступны: + +```text +SOLANA_RPC_URL= +SOLANA_WS_URL= +SOLANA_PROGRAM_ID=SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6 +SYNC_POLL_INTERVAL_SECONDS=300 +``` + +Для PostgreSQL sync-модуль может использовать уже существующую server PostgreSQL-конфигурацию, если сервер уже предоставляет: + +```text +DATABASE_URL= +PGUSER= +PGPASSWORD= +``` + +Если в сервере используется другая схема конфигов, нужно сделать адаптер на уровне server config, а не менять саму логику sync. + +## Логи + +Sync-модуль должен писать в общие server logs через тот же `slf4j/logback`, что и основной сервер. + +Минимум, который должен быть виден в логах: + +- старт sync-модуля; +- вход в `READY`; +- realtime sync; +- periodic poll; +- reconnect websocket; +- fallback на full snapshot; +- ошибки RPC/WS/DB. + +## Что потребуется по deploy + +Отдельных deploy-скриптов для sync-модуля не требуется, если он встроен в основной server jar. + +По deploy нужно: + +- обновить server env/override-конфиг новыми переменными `SOLANA_*` и `SYNC_POLL_INTERVAL_SECONDS`; +- убедиться, что на сервере доступен PostgreSQL, в который модуль будет писать свои таблицы; +- при необходимости описать новые env в документации конкретного server-контура. + +## Что ещё проверить после интеграции + +После встраивания в основной сервер нужно отдельно проверить: + +- startup сервера с ожиданием `awaitReady()`; +- создание таблиц в server PostgreSQL; +- initial sync после пустой БД; +- restart recovery после уже существующего checkpoint; +- realtime update через websocket; +- periodic poll без новых транзакций; +- fallback на full snapshot при потере history anchor. diff --git a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md new file mode 100644 index 00000000..35da6ea2 --- /dev/null +++ b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md @@ -0,0 +1,550 @@ +# Модуль синхронизации `shine_users` из Solana + +## Назначение + +Этот модуль нужен для локальной серверной синхронизации всех пользовательских PDA программы `shine_users`. + +Цель модуля: + +- при старте получить актуальное состояние всех пользовательских PDA; +- дальше держать локальную копию в актуальном состоянии; +- хранить историю просмотренных транзакций синхронизации; +- хранить историю всех версий пользовательских PDA; +- уметь после рестарта продолжать синхронизацию без потери изменений; +- в будущем без большого переписывания встраиваться в основной SHiNE-сервер и блокировать дальнейший startup до входа в состояние `READY`. + +На текущем этапе модуль должен запускаться как отдельный Java-процесс со своим `main`, но внутренняя структура должна быть такой, чтобы потом его можно было перенести в сервер как обычный lifecycle-сервис. + +--- + +## Базовая идея + +Модуль использует два источника данных: + +1. realtime-поток через Solana WebSocket `programSubscribe` для программы `shine_users`; +2. историю транзакций через `getSignaturesForAddress(economy_config_pda)`. + +Ключевая договорённость: + +- каждая транзакция, которая создаёт или обновляет пользовательский `user_pda`, обязательно читает `users_economy_config_pda`; +- значит, история по `users_economy_config_pda` является полным журналом всех релевантных `create/update user_pda` транзакций; +- дополнительные транзакции, которые тоже читают или меняют `users_economy_config_pda`, допустимы и не мешают: модуль должен уметь распознавать, что такая транзакция не относится к изменению пользовательского PDA. + +`users_economy_config_pda` вычисляется из: + +- `program_id = SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6` +- seed = `shine_users_economy_config` + +Источник в коде контракта: + +- `settings::USERS_ECONOMY_CONFIG_SEED = b"shine_users_economy_config"` +- `create_user_pda` и `update_user_pda` принимают `users_economy_config_pda` как обязательный аккаунт. + +--- + +## Что считается состоянием готовности + +Модуль должен иметь внутреннее состояние готовности `READY`. + +В `READY` он входит только после того, как: + +1. установлено websocket-подключение; +2. выполнена начальная актуализация истории; +3. локальная таблица актуальных PDA приведена в консистентное состояние; +4. таблица состояния синхронизации обновлена. + +Пока модуль не вошёл в `READY`, будущий сервер при встраивании не должен продолжать собственный startup. + +Для этого модуль должен поддерживать: + +- `start()` +- `awaitReady()` +- `isReady()` +- `close()` + +Для отдельного процесса `main` допустимо также печатать явный лог о входе в `READY`, но главным механизмом для будущего сервера должен быть Java API, а не парсинг логов. + +--- + +## Почему нельзя опираться только на WebSocket + +WebSocket `programSubscribe` хорош для realtime, но недостаточен как единственный источник истины: + +- если websocket временно оборвался, часть событий может быть пропущена; +- если соединение формально живо, но какое-то событие было потеряно, это не всегда можно заметить сразу; +- если в интервале не было транзакций, websocket по определению ничего не пришлёт. + +Поэтому нужен второй защитный контур: + +- периодический аудит истории по `users_economy_config_pda`; +- запуск такого аудита раз в 5 минут. + +--- + +## Общий lifecycle модуля + +### 1. Старт процесса + +При старте процесса модуль: + +1. читает конфиг; +2. инициализирует локальную PostgreSQL БД; +3. создаёт RPC-клиент; +4. создаёт WebSocket-клиент; +5. создаёт coordinator/service слой; +6. запускает realtime-подписку; +7. после подтверждённой подписки выполняет начальную актуализацию истории; +8. после успешной актуализации выставляет `READY`. + +### 2. Работа в фоне + +После входа в `READY` модуль одновременно: + +- принимает realtime-обновления по websocket; +- раз в 5 минут запускает проверку истории через RPC; +- пишет журнал транзакций; +- пишет историю версий пользовательских PDA; +- обновляет актуальный снимок пользовательских PDA. + +### 3. Реконнект + +Если websocket оборвался: + +1. запускается reconnect; +2. после успешного переподключения выполняется повторная актуализация истории; +3. модуль снова возвращается в нормальный режим. + +### 4. Остановка + +При остановке: + +- закрывается websocket; +- останавливаются фоновые scheduler/worker потоки; +- закрывается RPC-клиент; +- закрывается БД. + +--- + +## Источник истории: только по сигнатурам + +Основной checkpoint модуля должен строиться по сигнатурам транзакций, а не по времени. + +Хранить нужно: + +- последнюю просмотренную сигнатуру; +- последний просмотренный слот; +- последнюю релевантную сигнатуру; +- время последней успешной актуализации. + +Время хранится только как вспомогательная диагностика. Продолжение истории должно идти по сигнатурам и слотам. + +--- + +## Поведение начальной актуализации + +### Сценарий A: локальная БД пустая + +Если локальная БД ещё не содержит синхронизированных данных: + +1. выполняется первичная загрузка пользовательских PDA; +2. после этого фиксируется начальная точка истории; +3. модуль переходит в `READY`. + +Предпочтительный вариант: + +- использовать историю транзакций по `users_economy_config_pda` как основной механизм синхронизации; +- full snapshot всех program accounts остаётся аварийным fallback, а не штатным путём. + +### Сценарий B: локальная БД уже есть + +Если БД не пуста: + +1. берётся последняя обработанная сигнатура; +2. через `getSignaturesForAddress(users_economy_config_pda)` вытягивается история после неё; +3. новые транзакции разбираются и применяются; +4. после этого модуль входит в `READY`. + +### Сценарий C: новых транзакций не было + +Если после последней сигнатуры новых транзакций нет: + +- это не ошибка; +- модуль всё равно обновляет `last_poll_at` и `last_successful_poll_at`; +- фиксирует, что актуализация успешно проверена; +- может переходить в `READY`. + +--- + +## Периодическая актуализация раз в 5 минут + +Каждые 5 минут модуль должен: + +1. вызвать `getSignaturesForAddress(users_economy_config_pda)`; +2. получить новые сигнатуры после последней сохранённой точки; +3. сохранить все найденные транзакции в журнал истории; +4. выделить релевантные транзакции `create/update user_pda`; +5. для релевантных транзакций извлечь адрес PDA и логин; +6. подтянуть актуальное состояние затронутых PDA; +7. обновить: + - `solana_user_pda_current` + - `solana_user_pda_history` + - `solana_sync_state` + +Если новых транзакций нет: + +- модуль ничего не меняет в зеркале PDA; +- но помечает, что polling выполнен успешно и состояние истории актуализировано. + +--- + +## Что делать с нерелевантными транзакциями + +История должна храниться полностью, включая нерелевантные транзакции. + +Примеры нерелевантных транзакций: + +- `update_users_economy_config` +- служебные транзакции, где `economy_config_pda` присутствовал, но пользовательский `user_pda` не менялся + +Такие транзакции: + +- сохраняются в `solana_sync_tx_history`; +- помечаются `is_relevant = 0`; +- не приводят к обновлению пользовательских PDA. + +Это важно для аудита и отладки. + +--- + +## Как распознавать тип транзакции + +Для каждой транзакции из истории нужно определить её тип. + +Минимальный набор типов: + +- `create_user_pda` +- `update_user_pda` +- `update_users_economy_config` +- `init_users_economy_config` +- `other` + +Также для каждой транзакции нужно определять: + +- `is_relevant = 1`, если транзакция создаёт или обновляет пользовательский `user_pda`; +- `is_relevant = 0`, если это транзакция истории, но она не меняет пользовательские PDA. + +Для релевантных транзакций нужно дополнительно извлекать: + +- `affected_pda_address` +- `affected_login` + +Если транзакция затрагивает несколько пользовательских PDA, архитектура должна не запрещать хранить несколько связей, но на первом этапе можно исходить из одной пользовательской записи на одну транзакцию, если это соответствует текущему контракту. + +--- + +## Локальные таблицы + +Модуль должен использовать три основные таблицы. + +### 1. `solana_sync_state` + +Одна строка состояния синхронизации. + +Назначение: + +- хранить текущий checkpoint истории; +- хранить время последней успешной актуализации; +- хранить технический статус синка. + +Пример полей: + +- `id INTEGER PRIMARY KEY CHECK (id = 1)` +- `status TEXT NOT NULL` +- `ready INTEGER NOT NULL DEFAULT 0` +- `last_poll_at_ms INTEGER` +- `last_successful_poll_at_ms INTEGER` +- `last_seen_signature TEXT` +- `last_seen_slot INTEGER` +- `last_relevant_signature TEXT` +- `last_relevant_slot INTEGER` +- `last_error TEXT` +- `updated_at_ms INTEGER NOT NULL` + +### 2. `solana_sync_tx_history` + +Append-only журнал всех просмотренных транзакций по `users_economy_config_pda`. + +Назначение: + +- хранить полную историю опроса; +- фиксировать, какие tx были релевантны; +- хранить связь tx -> пользовательский PDA / login; +- упрощать аудит и диагностику. + +Пример полей: + +- `signature TEXT PRIMARY KEY` +- `slot INTEGER NOT NULL` +- `block_time INTEGER` +- `tx_kind TEXT NOT NULL` +- `is_relevant INTEGER NOT NULL` +- `affected_pda_address TEXT` +- `affected_login TEXT` +- `processed_at_ms INTEGER NOT NULL` +- `raw_summary_json TEXT NOT NULL` + +Индексы: + +- по `slot` +- по `is_relevant` +- по `affected_login` +- по `affected_pda_address` + +### 3. `solana_user_pda_current` + +Текущее актуальное состояние каждого пользовательского PDA. + +Назначение: + +- быстрый lookup текущих данных пользователя; +- будущая интеграция с сервером; +- опорная таблица для поиска текущих ключей и полей PDA. + +Пример полей: + +- `pda_address TEXT PRIMARY KEY` +- `login TEXT NOT NULL` +- `record_number INTEGER NOT NULL` +- `slot INTEGER NOT NULL` +- `last_tx_signature TEXT NOT NULL` +- `blockchain_name TEXT NOT NULL` +- `blockchain_key TEXT NOT NULL` +- `client_key TEXT NOT NULL` +- `paid_limit_bytes INTEGER NOT NULL` +- `used_bytes INTEGER NOT NULL` +- `last_block_number INTEGER NOT NULL` +- `last_block_hash TEXT` +- `arweave_tx_id TEXT` +- `is_server INTEGER NOT NULL DEFAULT 0` +- `server_address TEXT` +- `sync_servers_json TEXT NOT NULL DEFAULT '[]'` +- `access_servers_json TEXT NOT NULL DEFAULT '[]'` +- `sessions_json TEXT NOT NULL DEFAULT '[]'` +- `trusted_count INTEGER NOT NULL DEFAULT 0` +- `created_at_ms INTEGER NOT NULL` +- `updated_at_ms INTEGER NOT NULL` +- `raw_data_base64 TEXT NOT NULL` +- `first_seen_at_ms INTEGER NOT NULL` +- `last_synced_at_ms INTEGER NOT NULL` + +Индексы: + +- уникальный индекс на `login` +- индекс на `slot` +- индекс на `last_tx_signature` + +### 4. `solana_user_pda_history` + +Append-only история всех версий пользовательских PDA. + +Назначение: + +- хранить все старые публичные ключи и прочие поля прошлых версий; +- позволять видеть, когда и какая версия записи была актуальна; +- позволять разбирать изменения пользователя во времени. + +Пример полей: + +- `id INTEGER PRIMARY KEY` +- `tx_signature TEXT NOT NULL` +- `slot INTEGER NOT NULL` +- `block_time INTEGER` +- `pda_address TEXT NOT NULL` +- `login TEXT NOT NULL` +- `record_number INTEGER NOT NULL` +- `blockchain_name TEXT NOT NULL` +- `blockchain_key TEXT NOT NULL` +- `client_key TEXT NOT NULL` +- `paid_limit_bytes INTEGER NOT NULL` +- `used_bytes INTEGER NOT NULL` +- `last_block_number INTEGER NOT NULL` +- `last_block_hash TEXT` +- `arweave_tx_id TEXT` +- `is_server INTEGER NOT NULL DEFAULT 0` +- `server_address TEXT` +- `sync_servers_json TEXT NOT NULL DEFAULT '[]'` +- `access_servers_json TEXT NOT NULL DEFAULT '[]'` +- `sessions_json TEXT NOT NULL DEFAULT '[]'` +- `trusted_count INTEGER NOT NULL DEFAULT 0` +- `created_at_ms INTEGER NOT NULL` +- `updated_at_ms INTEGER NOT NULL` +- `raw_data_base64 TEXT NOT NULL` +- `saved_at_ms INTEGER NOT NULL` + +Индексы: + +- уникальный индекс на `(pda_address, record_number)` +- индекс на `login` +- индекс на `slot` +- индекс на `tx_signature` + +--- + +## Зачем нужны и `current`, и `history` + +Нужны обе таблицы: + +- `solana_user_pda_current` хранит только последнюю актуальную версию и удобна для быстрых запросов; +- `solana_user_pda_history` хранит все версии и нужна для расследований и просмотра старых публичных ключей. + +При обработке новой релевантной транзакции: + +1. новая версия всегда добавляется в `solana_user_pda_history`; +2. актуальная строка в `solana_user_pda_current` вставляется или обновляется. + +--- + +## Что именно считается “историей пользователя” + +История нужна не для секретных паролей, а для публичных данных PDA. + +В частности, история должна позволять видеть старые значения: + +- `client_key` +- `blockchain_key` +- `sessions` +- `access_servers` +- `sync_servers` +- `server_address` +- других публичных полей PDA + +Секретные приватные ключи или настоящие пользовательские пароли этот модуль не хранит и хранить не должен. + +--- + +## Логирование + +Модуль должен использовать нормальный logger, а не `System.out.println`. + +Требования к логированию: + +- совместимость с будущей интеграцией в общие логи сервера; +- явные уровни `INFO`, `WARN`, `ERROR`, `DEBUG`; +- короткие, но диагностичные сообщения; +- каждый важный переход состояния должен логироваться. + +Что обязательно логировать: + +- старт процесса; +- чтение конфига; +- вычисление `users_economy_config_pda`; +- старт websocket-подписки; +- успешную подписку; +- начало initial sync; +- окончание initial sync; +- вход в `READY`; +- periodic poll; +- число найденных сигнатур; +- число релевантных tx; +- число обновлённых PDA; +- реконнекты websocket; +- ошибки RPC/WS; +- переход в `FAILED`, если он будет. + +--- + +## Конфигурация + +В конфиге должны остаться только обязательные для постоянной эксплуатации параметры: + +```text +SOLANA_RPC_URL= +SOLANA_WS_URL= +SOLANA_PROGRAM_ID=SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6 + +DATABASE_URL=jdbc:postgresql://127.0.0.1:5432/shine_server_db +PGUSER=shine_server +PGPASSWORD= +SYNC_POLL_INTERVAL_SECONDS=300 +``` + +Дополнительно: + +- `SOLANA_COMMITMENT` не нужен как параметр; +- commitment должен быть зафиксирован в коде как `confirmed`; +- `HELIUS_API_KEY` не нужен; +- `SOLANA_NETWORK` не нужен. + +--- + +## Поведение при ошибках + +### Ошибка periodic poll + +Если periodic poll не удался: + +- это логируется как `WARN` или `ERROR`; +- `solana_sync_state.last_error` обновляется; +- модуль не должен сразу завершаться, если reconnect/retry ещё возможны. + +### Ошибка initial sync + +Если initial sync не удался: + +- модуль не должен выставлять `READY`; +- отдельный процесс должен завершаться с ошибкой или оставаться в `FAILED`, в зависимости от выбранного runtime-режима; +- при встраивании в сервер основной startup должен считаться неуспешным. + +### Аварийный fallback + +Даже если основная логика опирается на историю по `users_economy_config_pda`, аварийный full snapshot всех `user_pda` можно оставить как последний защитный fallback на случай повреждённого или неполного RPC-ответа. + +Но это должен быть именно крайний защитный сценарий, а не штатный рабочий путь. + +--- + +## Почему хранить всю tx-историю полезно + +Полный журнал `solana_sync_tx_history` нужен не только для самого синка, но и для эксплуатации: + +- видно, что именно вернул RPC; +- видно, какие tx были признаны релевантными; +- видно, какие tx были проигнорированы и почему; +- можно поднимать старые кейсы без повторного запроса в Solana; +- упрощается аудит и отладка после инцидентов. + +--- + +## Что должно получиться в итоге + +В результате модуль должен работать так: + +1. стартует как отдельный Java-процесс; +2. подписывается на realtime-обновления `shine_users`; +3. делает начальную актуализацию через историю `users_economy_config_pda`; +4. входит в `READY`; +5. раз в 5 минут делает дополнительный audit истории; +6. хранит: + - состояние синка; + - полную историю просмотренных транзакций; + - актуальное зеркало всех пользовательских PDA; + - историю всех версий пользовательских PDA; +7. после будущего переноса в SHiNE-сервер может использоваться как блокирующий startup-модуль: + - сначала синхронизируется Solana; + - потом сервер продолжает запуск остальных подсистем. + +--- + +## Следующий шаг реализации + +После утверждения этого документа модуль нужно доработать в коде: + +1. упростить конфиг; +2. заменить текущее логирование на logger; +3. выделить lifecycle-сервис с `awaitReady()`; +4. реализовать вычисление `users_economy_config_pda`; +5. реализовать polling истории по сигнатурам; +6. добавить новые SQLite-таблицы; +7. добавить запись в `current` и `history`; +8. добавить periodic guard раз в 5 минут; +9. сохранить отдельный `main` для запуска как процесса. diff --git a/settings.gradle b/settings.gradle index 32854cbf..008cebfb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,6 +8,7 @@ include 'shine-server-blockchain' include 'shine-server-db' include 'shine-server-net-protocol' include 'shine-server-net-server' +include 'shine-server-solana-users-sync' project(':shine-server-log').projectDir = file('SHiNE-server/shine-server-log') project(':shine-server-config').projectDir = file('SHiNE-server/shine-server-config') @@ -17,3 +18,4 @@ project(':shine-server-blockchain').projectDir = file('SHiNE-server/shine-server project(':shine-server-db').projectDir = file('SHiNE-server/shine-server-db') project(':shine-server-net-protocol').projectDir = file('SHiNE-server/shine-server-net-protocol') project(':shine-server-net-server').projectDir = file('SHiNE-server/shine-server-net-server') +project(':shine-server-solana-users-sync').projectDir = file('SHiNE-server/shine-server-solana-users-sync') From 4d9e42205ffe70b7a589d5c0019881da7fdca90e10f918bb7ce9897055430ef1 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 15:00:01 +0400 Subject: [PATCH 23/83] =?UTF-8?q?UI:=20=D1=81=D0=B2=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=87=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=B8=D0=B2=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=B2=D0=BE=D0=BD?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-service.js | 86 ++++++++++++ shine-UI/js/services/call-ui-service.js | 170 +++++++++++++++++++++--- shine-UI/styles/components.css | 56 +++++++- shine-UI/styles/layout.css | 7 +- 5 files changed, 300 insertions(+), 21 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 9ee98741..04751ddd 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.347 +client.version=1.2.348 server.version=1.2.319 diff --git a/shine-UI/js/services/call-service.js b/shine-UI/js/services/call-service.js index 2bd8e718..64ef0549 100644 --- a/shine-UI/js/services/call-service.js +++ b/shine-UI/js/services/call-service.js @@ -554,6 +554,8 @@ function getCallStateSnapshot() { direction: call.direction || 'out', phase: callPhase, statusText: call.statusText || '', + startedAtMs: Number(call.startedAtMs || 0), + connectedAtMs: Number(call.connectedAtMs || 0), muted: Boolean(call.muted), canAnswer: callPhase === 'incoming', canDecline: callPhase === 'incoming', @@ -658,6 +660,7 @@ function buildCallFactsLine(call, extra = {}) { pcSignalingState: pc?.signalingState || '', hasLocalStream: Boolean(call?.localStream), localAudioTracksCount: call?.localStream?.getAudioTracks?.()?.length || 0, + localTrackStates: summarizeMediaSnapshot(buildMediaSnapshot(call)), timeline: buildTimelineSummary(call), ...extra, }; @@ -666,6 +669,60 @@ function buildCallFactsLine(call, extra = {}) { .join(', '); } +function buildMediaSnapshot(call) { + const localStream = call?.localStream || null; + const localTracks = localStream?.getTracks?.() || []; + const remoteAudio = call?.remoteAudio || null; + const remoteStream = remoteAudio?.srcObject || null; + const remoteTracks = remoteStream?.getTracks?.() || []; + return { + hasLocalStream: Boolean(localStream), + localTrackCount: localTracks.length, + localAudioTracksCount: localStream?.getAudioTracks?.()?.length || 0, + localTrackStates: localTracks.map((track) => ({ + kind: String(track?.kind || ''), + enabled: Boolean(track?.enabled), + muted: Boolean(track?.muted), + readyState: String(track?.readyState || ''), + label: String(track?.label || ''), + })), + hasRemoteAudio: Boolean(remoteAudio), + hasRemoteAudioSrcObject: Boolean(remoteStream), + remoteTrackCount: remoteTracks.length, + remoteTrackStates: remoteTracks.map((track) => ({ + kind: String(track?.kind || ''), + enabled: Boolean(track?.enabled), + muted: Boolean(track?.muted), + readyState: String(track?.readyState || ''), + label: String(track?.label || ''), + })), + }; +} + +function summarizeMediaSnapshot(snapshot) { + if (!snapshot) return ''; + const localSummary = Array.isArray(snapshot.localTrackStates) + ? snapshot.localTrackStates.map((track) => ( + `${track.kind}:${track.readyState}:${track.enabled ? 'on' : 'off'}:${track.muted ? 'muted' : 'live'}` + )).join('|') + : ''; + const remoteSummary = Array.isArray(snapshot.remoteTrackStates) + ? snapshot.remoteTrackStates.map((track) => ( + `${track.kind}:${track.readyState}:${track.enabled ? 'on' : 'off'}:${track.muted ? 'muted' : 'live'}` + )).join('|') + : ''; + return [ + `localStream=${snapshot.hasLocalStream ? 1 : 0}`, + `localTracks=${Number(snapshot.localTrackCount || 0)}`, + `localAudio=${Number(snapshot.localAudioTracksCount || 0)}`, + `localStates=${localSummary || '-'}`, + `remoteAudio=${snapshot.hasRemoteAudio ? 1 : 0}`, + `remoteSrc=${snapshot.hasRemoteAudioSrcObject ? 1 : 0}`, + `remoteTracks=${Number(snapshot.remoteTrackCount || 0)}`, + `remoteStates=${remoteSummary || '-'}`, + ].join(';'); +} + function getCallDiagnosticsContext(call) { const pc = call?.pc || null; const nav = typeof navigator !== 'undefined' ? navigator : null; @@ -686,6 +743,7 @@ function getCallDiagnosticsContext(call) { const iceGatheringState = pc?.iceGatheringState || ''; const currentLocalDescType = pc?.localDescription?.type || ''; const currentRemoteDescType = pc?.remoteDescription?.type || ''; + const mediaSnapshot = buildMediaSnapshot(call); return { remoteSessionIdPresent: Boolean(call?.remoteSessionId), @@ -707,6 +765,7 @@ function getCallDiagnosticsContext(call) { localAudioTracksCount: localAudioTracks.length, localAudioTracksEnabledCount: enabledLocalAudioTracks, localAudioTrackLabels: localAudioTracks.map((t) => String(t?.label || '')).join('|'), + localTrackStates: summarizeMediaSnapshot(mediaSnapshot), hasPeerConnection: Boolean(pc), pcConnectionState: pc?.connectionState || '', pcIceConnectionState: pc?.iceConnectionState || '', @@ -808,6 +867,8 @@ async function flushPendingIceCandidates(call) { async function closeMedia(call) { const pc = call?.pc || null; + const beforeSnapshot = buildMediaSnapshot(call); + recordCallTimeline(call, 'media_close_begin', summarizeMediaSnapshot(beforeSnapshot)); try { const senders = pc?.getSenders?.() || []; senders.forEach((sender) => { @@ -822,6 +883,16 @@ async function closeMedia(call) { try { tr?.stop?.(); } catch {} }); } catch {} + try { + if (pc) { + pc.ontrack = null; + pc.onicecandidate = null; + pc.onconnectionstatechange = null; + pc.oniceconnectionstatechange = null; + pc.onsignalingstatechange = null; + pc.onicegatheringstatechange = null; + } + } catch {} try { call.localStream?.getTracks?.()?.forEach((track) => { try { track.enabled = false; } catch {} @@ -830,8 +901,15 @@ async function closeMedia(call) { } catch {} try { if (call.remoteAudio) { + const remoteTracks = call.remoteAudio.srcObject?.getTracks?.() || []; + remoteTracks.forEach((track) => { + try { track.enabled = false; } catch {} + try { track.stop(); } catch {} + }); try { call.remoteAudio.pause?.(); } catch {} try { call.remoteAudio.srcObject = null; } catch {} + try { call.remoteAudio.removeAttribute?.('src'); } catch {} + try { call.remoteAudio.load?.(); } catch {} call.remoteAudio = null; } } catch {} @@ -842,6 +920,14 @@ async function closeMedia(call) { call.connectionRouteLabel = ''; call.connectionRouteDetails = ''; call.pendingRemoteIceCandidates = []; + const afterSnapshot = buildMediaSnapshot(call); + recordCallTimeline(call, 'media_close_end', summarizeMediaSnapshot(afterSnapshot)); + await emitDebug( + call, + 'info', + 'media_closed', + `before=${summarizeMediaSnapshot(beforeSnapshot)} | after=${summarizeMediaSnapshot(afterSnapshot)}`, + ); } function stopReconnectFlow(call) { diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index 4fc20aff..c9102eb5 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -6,29 +6,116 @@ import { subscribeCallState, } from './call-service.js'; -let shellEl = null; +const MINIMIZED_BAR_HEIGHT_PX = 44; + +let rootEl = null; +let overlayEl = null; let panelEl = null; +let headerEl = null; let titleEl = null; let statusEl = null; let muteBtn = null; let acceptBtn = null; let declineBtn = null; let hangupBtn = null; +let minimizeBtn = null; +let barEl = null; +let barTextEl = null; let unbind = null; +let tickerId = 0; +let currentSnapshot = null; +let minimized = false; + +function resolveAppShell() { + return document.querySelector('.app-shell') || document.body; +} + +function pad2(value) { + return String(Math.max(0, Number(value) || 0)).padStart(2, '0'); +} + +function formatElapsedMs(ms) { + const totalSec = Math.max(0, Math.floor(Number(ms || 0) / 1000)); + const hours = Math.floor(totalSec / 3600); + const minutes = Math.floor((totalSec % 3600) / 60); + const seconds = totalSec % 60; + if (hours > 0) return `${pad2(hours)}:${pad2(minutes)}:${pad2(seconds)}`; + return `${pad2(minutes)}:${pad2(seconds)}`; +} + +function getSnapshotElapsedMs(snapshot) { + const baseMs = Number(snapshot?.connectedAtMs || snapshot?.startedAtMs || 0); + if (!baseMs || !Number.isFinite(baseMs)) return 0; + return Math.max(0, Date.now() - baseMs); +} + +function buildBarText(snapshot) { + const peer = String(snapshot?.peerLogin || '').trim() || 'пользователь'; + const elapsed = formatElapsedMs(getSnapshotElapsedMs(snapshot)); + return `Звонок с ${peer} · ${elapsed}`; +} + +function setMinimized(nextValue) { + minimized = Boolean(nextValue); + render(); +} + +function ensureTicker() { + const shouldTick = Boolean(currentSnapshot); + if (shouldTick && !tickerId) { + tickerId = window.setInterval(() => { + if (!currentSnapshot) return; + render(); + }, 1000); + } + if (!shouldTick && tickerId) { + window.clearInterval(tickerId); + tickerId = 0; + } +} function ensureUi() { - if (shellEl) return; + if (rootEl) return; - shellEl = document.createElement('section'); - shellEl.className = 'call-overlay'; - shellEl.hidden = true; + rootEl = document.createElement('section'); + rootEl.className = 'call-ui-root'; + rootEl.hidden = true; + + barEl = document.createElement('button'); + barEl.type = 'button'; + barEl.className = 'call-minimized-bar'; + barEl.hidden = true; + barEl.addEventListener('click', () => { + if (!currentSnapshot) return; + setMinimized(false); + }); + + barTextEl = document.createElement('span'); + barTextEl.className = 'call-minimized-bar-text'; + barEl.append(barTextEl); + + overlayEl = document.createElement('div'); + overlayEl.className = 'call-overlay'; + overlayEl.hidden = true; panelEl = document.createElement('div'); panelEl.className = 'call-overlay-panel'; + headerEl = document.createElement('div'); + headerEl.className = 'call-overlay-head'; + titleEl = document.createElement('h2'); titleEl.className = 'call-overlay-title'; + minimizeBtn = document.createElement('button'); + minimizeBtn.type = 'button'; + minimizeBtn.className = 'secondary-btn call-overlay-minimize-btn'; + minimizeBtn.textContent = 'Свернуть'; + minimizeBtn.addEventListener('click', () => { + if (!currentSnapshot) return; + setMinimized(true); + }); + statusEl = document.createElement('div'); statusEl.className = 'call-overlay-status'; @@ -69,20 +156,17 @@ function ensureUi() { }); controls.append(muteBtn, acceptBtn, declineBtn, hangupBtn); - panelEl.append(titleEl, statusEl, controls); - shellEl.append(panelEl); - document.body.append(shellEl); + headerEl.append(titleEl, minimizeBtn); + panelEl.append(headerEl, statusEl, controls); + overlayEl.append(panelEl); + rootEl.append(barEl, overlayEl); + resolveAppShell().append(rootEl); } -function applyCallState(snapshot) { - ensureUi(); +function applyExpandedState(snapshot) { + overlayEl.hidden = false; + barEl.hidden = true; - if (!snapshot) { - shellEl.hidden = true; - return; - } - - shellEl.hidden = false; titleEl.textContent = `Звонок: ${snapshot.peerLogin || 'пользователь'}`; statusEl.textContent = snapshot.statusText || ''; @@ -95,10 +179,62 @@ function applyCallState(snapshot) { acceptBtn.hidden = !snapshot.canAnswer; declineBtn.hidden = !snapshot.canDecline; - hangupBtn.hidden = !snapshot.canHangup; } +function applyMinimizedState(snapshot) { + overlayEl.hidden = true; + barEl.hidden = false; + barTextEl.textContent = buildBarText(snapshot); +} + +function syncShellState() { + const appShell = resolveAppShell(); + if (!appShell) return; + if (currentSnapshot && minimized) { + appShell.classList.add('has-minimized-call'); + const measuredHeight = Math.max( + MINIMIZED_BAR_HEIGHT_PX, + Math.ceil(Number(barEl?.offsetHeight || 0)), + ); + appShell.style.setProperty('--call-minimized-bar-height', `${measuredHeight}px`); + } else { + appShell.classList.remove('has-minimized-call'); + appShell.style.removeProperty('--call-minimized-bar-height'); + } +} + +function render() { + ensureUi(); + rootEl.hidden = !currentSnapshot; + ensureTicker(); + + if (!currentSnapshot) { + syncShellState(); + overlayEl.hidden = true; + barEl.hidden = true; + return; + } + + if (minimized) { + applyMinimizedState(currentSnapshot); + syncShellState(); + return; + } + + applyExpandedState(currentSnapshot); + syncShellState(); +} + +function applyCallState(snapshot) { + ensureUi(); + currentSnapshot = snapshot || null; + if (!currentSnapshot) { + minimized = false; + } + render(); +} + export function initCallUiOverlay() { ensureUi(); if (unbind) { diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 33b33a52..7f65c562 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1733,16 +1733,57 @@ display: none; } -.call-overlay { - position: fixed; +.call-ui-root[hidden] { + display: none; +} + +.call-ui-root { + position: absolute; inset: 0; z-index: 80; + pointer-events: none; +} + +.call-minimized-bar { + position: absolute; + top: 0; + left: 0; + right: 0; + min-height: 44px; + padding: calc(8px + env(safe-area-inset-top)) 14px 8px; + border: 0; + border-bottom: 1px solid rgba(159, 255, 196, 0.28); + background: linear-gradient(180deg, rgba(30, 138, 79, 0.98), rgba(18, 106, 60, 0.98)); + box-shadow: 0 10px 24px rgba(5, 30, 16, 0.28); + color: #f3fff8; + font-size: 13px; + font-weight: 700; + line-height: 1.2; + text-align: left; + pointer-events: auto; + cursor: pointer; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.call-minimized-bar-text { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.call-overlay { + position: absolute; + inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 16px; background: rgba(6, 10, 16, 0.55); backdrop-filter: blur(4px); + pointer-events: auto; } .call-overlay-panel { @@ -1756,12 +1797,23 @@ gap: 10px; } +.call-overlay-head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; +} + .call-overlay-title { margin: 0; font-size: 20px; color: #eff4ff; } +.call-overlay-minimize-btn { + flex: 0 0 auto; +} + .call-overlay-status { color: #c8d7f6; font-size: 14px; diff --git a/shine-UI/styles/layout.css b/shine-UI/styles/layout.css index 4b44cc08..00d0ddef 100644 --- a/shine-UI/styles/layout.css +++ b/shine-UI/styles/layout.css @@ -24,6 +24,7 @@ body::before { width: min(100vw, 430px); height: 100dvh; position: relative; + --call-minimized-bar-height: 0px; background: transparent; border-left: 1px solid rgba(211, 170, 86, 0.2); border-right: 1px solid rgba(211, 170, 86, 0.2); @@ -39,7 +40,7 @@ body::before { .screen-content { position: absolute; - top: 0; + top: var(--call-minimized-bar-height, 0px); left: 0; right: 0; bottom: 74px; @@ -52,6 +53,10 @@ body::before { padding-bottom: calc(24px + env(safe-area-inset-bottom)); } +.app-shell.has-minimized-call .screen-content { + padding-top: 12px; +} + .screen-content.network-scroll-lock { overflow: hidden; padding: 0; From 69faf55b2bbff328253ab7df8b31a7ffe411f74a65a1b53bf60d57aca4e061b1 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 15:02:56 +0400 Subject: [PATCH 24/83] =?UTF-8?q?UI:=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BA=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-ui-service.js | 121 +++++++++++++++++++----- shine-UI/styles/components.css | 94 ++++++++++++++++-- 3 files changed, 184 insertions(+), 33 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 04751ddd..167f3309 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.348 +client.version=1.2.349 server.version=1.2.319 diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index c9102eb5..a392e4c7 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -21,6 +21,9 @@ let hangupBtn = null; let minimizeBtn = null; let barEl = null; let barTextEl = null; +let barActionsEl = null; +let barMuteBtn = null; +let barHangupBtn = null; let unbind = null; let tickerId = 0; let currentSnapshot = null; @@ -55,6 +58,59 @@ function buildBarText(snapshot) { return `Звонок с ${peer} · ${elapsed}`; } +function stopEvent(event) { + event.preventDefault(); + event.stopPropagation(); +} + +function getIconSvg(name) { + if (name === 'mic-on') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="9" y="3.5" width="6" height="11" rx="3" fill="none" stroke="currentColor" stroke-width="1.8"/><path d="M6 11.5a6 6 0 0 0 12 0" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M12 17.5v3" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M8.5 20.5h7" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>'; + } + if (name === 'mic-off') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><rect x="9" y="3.5" width="6" height="11" rx="3" fill="none" stroke="currentColor" stroke-width="1.8"/><path d="M6 11.5a6 6 0 0 0 7.2 5.88" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M12 17.5v3" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M8.5 20.5h7" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M5 5l14 14" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"/></svg>'; + } + if (name === 'hangup') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 7l10 10M17 7 7 17" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg>'; + } + if (name === 'minimize') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 6v12M7.5 10.5 12 6l4.5 4.5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'; + } + return ''; +} + +function setButtonIcon(button, iconName, label) { + if (!button) return; + button.innerHTML = getIconSvg(iconName); + button.setAttribute('aria-label', label); + button.title = label; +} + +function updateMuteButtons(muted) { + const iconName = muted ? 'mic-off' : 'mic-on'; + const label = muted ? 'Включить микрофон' : 'Выключить микрофон'; + setButtonIcon(muteBtn, iconName, label); + setButtonIcon(barMuteBtn, iconName, label); + if (muteBtn) muteBtn.dataset.muted = muted ? '1' : '0'; + if (barMuteBtn) barMuteBtn.dataset.muted = muted ? '1' : '0'; +} + +async function handleMuteClick(event) { + stopEvent(event); + const nowMuted = event.currentTarget?.dataset?.muted === '1'; + await setMicMuted(!nowMuted); +} + +async function handleEndCallClick(event) { + stopEvent(event); + if (!currentSnapshot) return; + if (currentSnapshot.canDecline && !currentSnapshot.canHangup) { + await declineIncomingCall(); + return; + } + await hangupActiveCall(); +} + function setMinimized(nextValue) { minimized = Boolean(nextValue); render(); @@ -81,18 +137,33 @@ function ensureUi() { rootEl.className = 'call-ui-root'; rootEl.hidden = true; - barEl = document.createElement('button'); - barEl.type = 'button'; + barEl = document.createElement('div'); barEl.className = 'call-minimized-bar'; barEl.hidden = true; - barEl.addEventListener('click', () => { + + barTextEl = document.createElement('button'); + barTextEl.type = 'button'; + barTextEl.className = 'call-minimized-bar-text'; + barTextEl.addEventListener('click', () => { if (!currentSnapshot) return; setMinimized(false); }); - barTextEl = document.createElement('span'); - barTextEl.className = 'call-minimized-bar-text'; - barEl.append(barTextEl); + barActionsEl = document.createElement('div'); + barActionsEl.className = 'call-minimized-bar-actions'; + + barMuteBtn = document.createElement('button'); + barMuteBtn.type = 'button'; + barMuteBtn.className = 'call-icon-btn call-icon-btn--bar call-icon-btn--secondary'; + barMuteBtn.addEventListener('click', handleMuteClick); + + barHangupBtn = document.createElement('button'); + barHangupBtn.type = 'button'; + barHangupBtn.className = 'call-icon-btn call-icon-btn--bar call-icon-btn--danger'; + barHangupBtn.addEventListener('click', handleEndCallClick); + + barActionsEl.append(barMuteBtn, barHangupBtn); + barEl.append(barTextEl, barActionsEl); overlayEl = document.createElement('div'); overlayEl.className = 'call-overlay'; @@ -109,9 +180,10 @@ function ensureUi() { minimizeBtn = document.createElement('button'); minimizeBtn.type = 'button'; - minimizeBtn.className = 'secondary-btn call-overlay-minimize-btn'; - minimizeBtn.textContent = 'Свернуть'; - minimizeBtn.addEventListener('click', () => { + minimizeBtn.className = 'call-icon-btn call-icon-btn--secondary call-overlay-minimize-btn'; + setButtonIcon(minimizeBtn, 'minimize', 'Свернуть звонок'); + minimizeBtn.addEventListener('click', (event) => { + stopEvent(event); if (!currentSnapshot) return; setMinimized(true); }); @@ -124,12 +196,8 @@ function ensureUi() { muteBtn = document.createElement('button'); muteBtn.type = 'button'; - muteBtn.className = 'secondary-btn'; - muteBtn.textContent = 'Микрофон'; - muteBtn.addEventListener('click', async () => { - const nowMuted = muteBtn.dataset.muted === '1'; - await setMicMuted(!nowMuted); - }); + muteBtn.className = 'call-icon-btn call-icon-btn--secondary'; + muteBtn.addEventListener('click', handleMuteClick); acceptBtn = document.createElement('button'); acceptBtn.type = 'button'; @@ -141,19 +209,17 @@ function ensureUi() { declineBtn = document.createElement('button'); declineBtn.type = 'button'; - declineBtn.className = 'destructive-btn'; - declineBtn.textContent = 'Сбросить'; + declineBtn.className = 'call-icon-btn call-icon-btn--danger'; + setButtonIcon(declineBtn, 'hangup', 'Отклонить звонок'); declineBtn.addEventListener('click', async () => { await declineIncomingCall(); }); hangupBtn = document.createElement('button'); hangupBtn.type = 'button'; - hangupBtn.className = 'destructive-btn'; - hangupBtn.textContent = 'Положить трубку'; - hangupBtn.addEventListener('click', async () => { - await hangupActiveCall(); - }); + hangupBtn.className = 'call-icon-btn call-icon-btn--danger'; + setButtonIcon(hangupBtn, 'hangup', 'Положить трубку'); + hangupBtn.addEventListener('click', handleEndCallClick); controls.append(muteBtn, acceptBtn, declineBtn, hangupBtn); headerEl.append(titleEl, minimizeBtn); @@ -171,8 +237,7 @@ function applyExpandedState(snapshot) { statusEl.textContent = snapshot.statusText || ''; const muted = Boolean(snapshot.muted); - muteBtn.dataset.muted = muted ? '1' : '0'; - muteBtn.textContent = muted ? 'Включить микрофон' : 'Выключить микрофон'; + updateMuteButtons(muted); muteBtn.hidden = !snapshot.canMute; muteBtn.disabled = !snapshot.canMute; @@ -186,6 +251,14 @@ function applyMinimizedState(snapshot) { overlayEl.hidden = true; barEl.hidden = false; barTextEl.textContent = buildBarText(snapshot); + const muted = Boolean(snapshot.muted); + updateMuteButtons(muted); + barMuteBtn.hidden = !snapshot.canMute; + barMuteBtn.disabled = !snapshot.canMute; + const canEnd = snapshot.canHangup || snapshot.canDecline; + barHangupBtn.hidden = !canEnd; + barHangupBtn.disabled = !canEnd; + setButtonIcon(barHangupBtn, 'hangup', snapshot.canDecline && !snapshot.canHangup ? 'Отклонить звонок' : 'Положить трубку'); } function syncShellState() { diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 7f65c562..ea060e6a 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1749,29 +1749,106 @@ top: 0; left: 0; right: 0; + display: flex; + align-items: center; + gap: 10px; min-height: 44px; padding: calc(8px + env(safe-area-inset-top)) 14px 8px; - border: 0; border-bottom: 1px solid rgba(159, 255, 196, 0.28); background: linear-gradient(180deg, rgba(30, 138, 79, 0.98), rgba(18, 106, 60, 0.98)); box-shadow: 0 10px 24px rgba(5, 30, 16, 0.28); + pointer-events: auto; +} + +.call-minimized-bar-text { + flex: 1 1 auto; + min-width: 0; + border: 0; + background: transparent; color: #f3fff8; font-size: 13px; font-weight: 700; line-height: 1.2; text-align: left; - pointer-events: auto; + padding: 0; cursor: pointer; overflow: hidden; - white-space: nowrap; text-overflow: ellipsis; + white-space: nowrap; } -.call-minimized-bar-text { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; +.call-minimized-bar-actions { + display: flex; + align-items: center; + gap: 8px; + flex: 0 0 auto; +} + +.call-icon-btn { + width: 40px; + min-width: 40px; + height: 40px; + padding: 0; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 12px; + border: 1px solid rgba(132, 162, 228, 0.42); + background: linear-gradient(180deg, rgba(19, 35, 63, 0.9), rgba(14, 26, 50, 0.95)); + color: #e7efff; + cursor: pointer; + transition: 0.2s ease; +} + +.call-icon-btn:hover { + transform: translateY(-1px); +} + +.call-icon-btn:disabled { + opacity: 1; + color: #93a6cc; + background: linear-gradient(180deg, rgba(18, 30, 54, 0.8), rgba(11, 20, 39, 0.86)); + border-color: rgba(124, 145, 189, 0.28); + box-shadow: none; + cursor: not-allowed; + transform: none; +} + +.call-icon-btn svg { + width: 20px; + height: 20px; +} + +.call-icon-btn--secondary { + border-color: rgba(132, 162, 228, 0.42); + background: linear-gradient(180deg, rgba(19, 35, 63, 0.9), rgba(14, 26, 50, 0.95)); + color: #e7efff; +} + +.call-icon-btn--secondary:hover { + border-color: rgba(167, 195, 255, 0.76); +} + +.call-icon-btn--danger { + border-color: rgba(255, 129, 147, 0.52); + background: linear-gradient(120deg, rgba(188, 42, 65, 0.96), rgba(142, 28, 47, 0.98)); + color: #fff2f5; +} + +.call-icon-btn--danger:hover { + border-color: rgba(255, 163, 176, 0.82); +} + +.call-icon-btn--bar { + width: 34px; + min-width: 34px; + height: 34px; + border-radius: 10px; +} + +.call-icon-btn--bar svg { + width: 18px; + height: 18px; } .call-overlay { @@ -1823,6 +1900,7 @@ display: flex; flex-wrap: wrap; gap: 8px; + align-items: center; } .call-accept-btn { From f31cdb413b91ad9e04c3b74fcab4db4d420cd01e5a41800d5ac28a246d9b8c97 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 19:12:18 +0400 Subject: [PATCH 25/83] =?UTF-8?q?UI:=20=D1=81=D1=82=D0=B0=D0=B4=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B8=20=D0=B7=D0=B2=D1=83=D0=BA=20=D0=B7=D0=B2=D0=BE?= =?UTF-8?q?=D0=BD=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-service.js | 59 +++++++++++++++++++++++++ shine-UI/js/services/call-ui-service.js | 51 ++++++++++++++++++--- shine-UI/styles/components.css | 4 ++ 4 files changed, 109 insertions(+), 7 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 167f3309..58084888 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.349 +client.version=1.2.350 server.version=1.2.319 diff --git a/shine-UI/js/services/call-service.js b/shine-UI/js/services/call-service.js index 64ef0549..c1865340 100644 --- a/shine-UI/js/services/call-service.js +++ b/shine-UI/js/services/call-service.js @@ -37,6 +37,25 @@ function nowMs() { return Date.now(); } +function isMobileBrowser() { + const uaDataMobile = navigator?.userAgentData?.mobile; + if (typeof uaDataMobile === 'boolean') return uaDataMobile; + const ua = String(navigator?.userAgent || ''); + return /Android|iPhone|iPad|iPod|Mobile/i.test(ua); +} + +function canRouteAudioOutputInBrowser() { + const mediaProto = globalThis?.HTMLMediaElement?.prototype; + return Boolean( + window.isSecureContext + && isMobileBrowser() + && mediaProto + && typeof mediaProto.setSinkId === 'function' + && navigator?.mediaDevices + && typeof navigator.mediaDevices.selectAudioOutput === 'function' + ); +} + function sanitizeTimelineText(value) { return String(value || '') .replace(/\s+/g, ' ') @@ -548,6 +567,12 @@ function getCallStateSnapshot() { if (!call) return null; if (call.localUiDismissed) return null; const callPhase = String(call.phase || '').trim(); + const canToggleSpeaker = Boolean( + callPhase !== 'incoming' + && callPhase !== 'ended' + && canRouteAudioOutputInBrowser() + && call.remoteAudio + ); return { callId: call.callId, peerLogin: call.peerLogin || '', @@ -557,6 +582,8 @@ function getCallStateSnapshot() { startedAtMs: Number(call.startedAtMs || 0), connectedAtMs: Number(call.connectedAtMs || 0), muted: Boolean(call.muted), + speakerEnabled: Boolean(call.speakerEnabled), + canToggleSpeaker, canAnswer: callPhase === 'incoming', canDecline: callPhase === 'incoming', canHangup: callPhase !== 'ended' && callPhase !== 'incoming', @@ -1400,8 +1427,10 @@ async function ensurePeerConnection(call) { recordCallTimeline(call, 'remote_track_received', `streams=${evt?.streams?.length || 0}`); const audio = new Audio(); audio.autoplay = true; + audio.playsInline = true; audio.srcObject = evt.streams[0]; call.remoteAudio = audio; + notifyCallState(); }; call.pc = pc; @@ -1602,6 +1631,36 @@ export async function toggleMicMuted() { await setMicMuted(!call.muted); } +export async function toggleSpeakerMode() { + const call = getActiveCall(); + if (!call || !call.remoteAudio || !canRouteAudioOutputInBrowser()) return false; + const audio = call.remoteAudio; + if (Boolean(call.speakerEnabled)) { + try { + await audio.setSinkId(''); + call.speakerEnabled = false; + notifyCallState(); + return true; + } catch { + return false; + } + } + + try { + const options = call.speakerSinkId ? { deviceId: call.speakerSinkId } : undefined; + const selected = await navigator.mediaDevices.selectAudioOutput(options); + const deviceId = String(selected?.deviceId || '').trim(); + if (!deviceId) return false; + await audio.setSinkId(deviceId); + call.speakerSinkId = deviceId; + call.speakerEnabled = true; + notifyCallState(); + return true; + } catch { + return false; + } +} + export async function startDebugConnectionAsResponder({ runId, callId, peerLogin, peerSessionId }) { const cleanCallId = String(callId || '').trim(); const cleanPeerLogin = String(peerLogin || '').trim(); diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index a392e4c7..f544c50b 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -4,6 +4,7 @@ import { hangupActiveCall, setMicMuted, subscribeCallState, + toggleSpeakerMode, } from './call-service.js'; const MINIMIZED_BAR_HEIGHT_PX = 44; @@ -14,6 +15,7 @@ let panelEl = null; let headerEl = null; let titleEl = null; let statusEl = null; +let speakerBtn = null; let muteBtn = null; let acceptBtn = null; let declineBtn = null; @@ -22,6 +24,7 @@ let minimizeBtn = null; let barEl = null; let barTextEl = null; let barActionsEl = null; +let barSpeakerBtn = null; let barMuteBtn = null; let barHangupBtn = null; let unbind = null; @@ -76,6 +79,12 @@ function getIconSvg(name) { if (name === 'minimize') { return '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 6v12M7.5 10.5 12 6l4.5 4.5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'; } + if (name === 'speaker-on') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 14h4l5 4V6L8 10H4z" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linejoin="round"/><path d="M16 9.5a4.5 4.5 0 0 1 0 5" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"/><path d="M18.8 7a8 8 0 0 1 0 10" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"/></svg>'; + } + if (name === 'speaker-off') { + return '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M8 10H4v4h4l5 4V6z" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linejoin="round"/><path d="M16 8l4 8" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"/><path d="M20 8l-4 8" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"/></svg>'; + } return ''; } @@ -95,6 +104,13 @@ function updateMuteButtons(muted) { if (barMuteBtn) barMuteBtn.dataset.muted = muted ? '1' : '0'; } +function updateSpeakerButtons(enabled) { + const iconName = enabled ? 'speaker-on' : 'speaker-off'; + const label = enabled ? 'Выключить громкую связь' : 'Включить громкую связь'; + setButtonIcon(speakerBtn, iconName, label); + setButtonIcon(barSpeakerBtn, iconName, label); +} + async function handleMuteClick(event) { stopEvent(event); const nowMuted = event.currentTarget?.dataset?.muted === '1'; @@ -111,6 +127,11 @@ async function handleEndCallClick(event) { await hangupActiveCall(); } +async function handleSpeakerClick(event) { + stopEvent(event); + await toggleSpeakerMode(); +} + function setMinimized(nextValue) { minimized = Boolean(nextValue); render(); @@ -152,6 +173,11 @@ function ensureUi() { barActionsEl = document.createElement('div'); barActionsEl.className = 'call-minimized-bar-actions'; + barSpeakerBtn = document.createElement('button'); + barSpeakerBtn.type = 'button'; + barSpeakerBtn.className = 'call-icon-btn call-icon-btn--bar call-icon-btn--secondary'; + barSpeakerBtn.addEventListener('click', handleSpeakerClick); + barMuteBtn = document.createElement('button'); barMuteBtn.type = 'button'; barMuteBtn.className = 'call-icon-btn call-icon-btn--bar call-icon-btn--secondary'; @@ -162,7 +188,7 @@ function ensureUi() { barHangupBtn.className = 'call-icon-btn call-icon-btn--bar call-icon-btn--danger'; barHangupBtn.addEventListener('click', handleEndCallClick); - barActionsEl.append(barMuteBtn, barHangupBtn); + barActionsEl.append(barSpeakerBtn, barMuteBtn, barHangupBtn); barEl.append(barTextEl, barActionsEl); overlayEl = document.createElement('div'); @@ -194,6 +220,11 @@ function ensureUi() { const controls = document.createElement('div'); controls.className = 'call-overlay-controls'; + speakerBtn = document.createElement('button'); + speakerBtn.type = 'button'; + speakerBtn.className = 'call-icon-btn call-icon-btn--secondary'; + speakerBtn.addEventListener('click', handleSpeakerClick); + muteBtn = document.createElement('button'); muteBtn.type = 'button'; muteBtn.className = 'call-icon-btn call-icon-btn--secondary'; @@ -209,8 +240,8 @@ function ensureUi() { declineBtn = document.createElement('button'); declineBtn.type = 'button'; - declineBtn.className = 'call-icon-btn call-icon-btn--danger'; - setButtonIcon(declineBtn, 'hangup', 'Отклонить звонок'); + declineBtn.className = 'destructive-btn call-decline-btn'; + declineBtn.textContent = 'Отклонить'; declineBtn.addEventListener('click', async () => { await declineIncomingCall(); }); @@ -221,7 +252,7 @@ function ensureUi() { setButtonIcon(hangupBtn, 'hangup', 'Положить трубку'); hangupBtn.addEventListener('click', handleEndCallClick); - controls.append(muteBtn, acceptBtn, declineBtn, hangupBtn); + controls.append(speakerBtn, muteBtn, acceptBtn, declineBtn, hangupBtn); headerEl.append(titleEl, minimizeBtn); panelEl.append(headerEl, statusEl, controls); overlayEl.append(panelEl); @@ -236,15 +267,20 @@ function applyExpandedState(snapshot) { titleEl.textContent = `Звонок: ${snapshot.peerLogin || 'пользователь'}`; statusEl.textContent = snapshot.statusText || ''; + const incomingStage = Boolean(snapshot.canAnswer || snapshot.canDecline); const muted = Boolean(snapshot.muted); updateMuteButtons(muted); + updateSpeakerButtons(Boolean(snapshot.speakerEnabled)); - muteBtn.hidden = !snapshot.canMute; + speakerBtn.hidden = incomingStage || !snapshot.canToggleSpeaker; + speakerBtn.disabled = !snapshot.canToggleSpeaker; + + muteBtn.hidden = incomingStage || !snapshot.canMute; muteBtn.disabled = !snapshot.canMute; acceptBtn.hidden = !snapshot.canAnswer; declineBtn.hidden = !snapshot.canDecline; - hangupBtn.hidden = !snapshot.canHangup; + hangupBtn.hidden = incomingStage || !snapshot.canHangup; } function applyMinimizedState(snapshot) { @@ -253,6 +289,9 @@ function applyMinimizedState(snapshot) { barTextEl.textContent = buildBarText(snapshot); const muted = Boolean(snapshot.muted); updateMuteButtons(muted); + updateSpeakerButtons(Boolean(snapshot.speakerEnabled)); + barSpeakerBtn.hidden = !snapshot.canToggleSpeaker; + barSpeakerBtn.disabled = !snapshot.canToggleSpeaker; barMuteBtn.hidden = !snapshot.canMute; barMuteBtn.disabled = !snapshot.canMute; const canEnd = snapshot.canHangup || snapshot.canDecline; diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index ea060e6a..419ed621 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1903,6 +1903,10 @@ align-items: center; } +.call-decline-btn { + min-width: 120px; +} + .call-accept-btn { border: 1px solid rgba(122, 230, 166, 0.64); border-radius: var(--radius-sm); From d6b313b5829a2d3cbce36e7534e72604928fc34f7c7dd7a8f07b8cde6bee7c84 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 19:18:42 +0400 Subject: [PATCH 26/83] =?UTF-8?q?UI:=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F?= =?UTF-8?q?=D1=89=D0=B8=D0=B9=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B1=D0=B5=D0=B7=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D1=85=20?= =?UTF-8?q?=D0=BA=D0=BD=D0=BE=D0=BF=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-ui-service.js | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 58084888..f32a4bf4 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.350 +client.version=1.2.351 server.version=1.2.319 diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index f544c50b..7271f918 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -272,6 +272,9 @@ function applyExpandedState(snapshot) { updateMuteButtons(muted); updateSpeakerButtons(Boolean(snapshot.speakerEnabled)); + minimizeBtn.hidden = incomingStage; + minimizeBtn.disabled = incomingStage; + speakerBtn.hidden = incomingStage || !snapshot.canToggleSpeaker; speakerBtn.disabled = !snapshot.canToggleSpeaker; @@ -287,17 +290,19 @@ function applyMinimizedState(snapshot) { overlayEl.hidden = true; barEl.hidden = false; barTextEl.textContent = buildBarText(snapshot); + const incomingStage = Boolean(snapshot.canAnswer || snapshot.canDecline); const muted = Boolean(snapshot.muted); updateMuteButtons(muted); updateSpeakerButtons(Boolean(snapshot.speakerEnabled)); - barSpeakerBtn.hidden = !snapshot.canToggleSpeaker; + barSpeakerBtn.hidden = incomingStage || !snapshot.canToggleSpeaker; barSpeakerBtn.disabled = !snapshot.canToggleSpeaker; - barMuteBtn.hidden = !snapshot.canMute; + barMuteBtn.hidden = incomingStage || !snapshot.canMute; barMuteBtn.disabled = !snapshot.canMute; - const canEnd = snapshot.canHangup || snapshot.canDecline; + const canEnd = !incomingStage && snapshot.canHangup; barHangupBtn.hidden = !canEnd; barHangupBtn.disabled = !canEnd; - setButtonIcon(barHangupBtn, 'hangup', snapshot.canDecline && !snapshot.canHangup ? 'Отклонить звонок' : 'Положить трубку'); + setButtonIcon(barHangupBtn, 'hangup', 'Положить трубку'); + barActionsEl.hidden = incomingStage || (!snapshot.canToggleSpeaker && !snapshot.canMute && !canEnd); } function syncShellState() { From d54cb7507a3d3b618e729541b55032494cd1e328d4047ec29e57fa03c3f091a7 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 19:28:50 +0400 Subject: [PATCH 27/83] =?UTF-8?q?UI:=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=D1=82=D1=8C=20=D0=B2=D1=85=D0=BE=D0=B4=D1=8F=D1=89?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B8=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/call-ui-service.js | 27 ++++++++++++++++--------- shine-UI/styles/components.css | 8 ++++++++ 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index f32a4bf4..efdef24a 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.351 +client.version=1.2.353 server.version=1.2.319 diff --git a/shine-UI/js/services/call-ui-service.js b/shine-UI/js/services/call-ui-service.js index 7271f918..6b88253d 100644 --- a/shine-UI/js/services/call-ui-service.js +++ b/shine-UI/js/services/call-ui-service.js @@ -15,6 +15,8 @@ let panelEl = null; let headerEl = null; let titleEl = null; let statusEl = null; +let incomingActionsEl = null; +let activeActionsEl = null; let speakerBtn = null; let muteBtn = null; let acceptBtn = null; @@ -217,8 +219,11 @@ function ensureUi() { statusEl = document.createElement('div'); statusEl.className = 'call-overlay-status'; - const controls = document.createElement('div'); - controls.className = 'call-overlay-controls'; + incomingActionsEl = document.createElement('div'); + incomingActionsEl.className = 'call-overlay-controls call-overlay-controls--incoming'; + + activeActionsEl = document.createElement('div'); + activeActionsEl.className = 'call-overlay-controls call-overlay-controls--active'; speakerBtn = document.createElement('button'); speakerBtn.type = 'button'; @@ -252,9 +257,10 @@ function ensureUi() { setButtonIcon(hangupBtn, 'hangup', 'Положить трубку'); hangupBtn.addEventListener('click', handleEndCallClick); - controls.append(speakerBtn, muteBtn, acceptBtn, declineBtn, hangupBtn); + incomingActionsEl.append(acceptBtn, declineBtn); + activeActionsEl.append(speakerBtn, muteBtn, hangupBtn); headerEl.append(titleEl, minimizeBtn); - panelEl.append(headerEl, statusEl, controls); + panelEl.append(headerEl, statusEl, incomingActionsEl, activeActionsEl); overlayEl.append(panelEl); rootEl.append(barEl, overlayEl); resolveAppShell().append(rootEl); @@ -275,15 +281,18 @@ function applyExpandedState(snapshot) { minimizeBtn.hidden = incomingStage; minimizeBtn.disabled = incomingStage; - speakerBtn.hidden = incomingStage || !snapshot.canToggleSpeaker; + incomingActionsEl.hidden = !incomingStage; + activeActionsEl.hidden = incomingStage; + + speakerBtn.hidden = !snapshot.canToggleSpeaker; speakerBtn.disabled = !snapshot.canToggleSpeaker; - muteBtn.hidden = incomingStage || !snapshot.canMute; + muteBtn.hidden = !snapshot.canMute; muteBtn.disabled = !snapshot.canMute; - acceptBtn.hidden = !snapshot.canAnswer; - declineBtn.hidden = !snapshot.canDecline; - hangupBtn.hidden = incomingStage || !snapshot.canHangup; + acceptBtn.hidden = !incomingStage || !snapshot.canAnswer; + declineBtn.hidden = !incomingStage || !snapshot.canDecline; + hangupBtn.hidden = !snapshot.canHangup; } function applyMinimizedState(snapshot) { diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 419ed621..eac867b9 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1903,6 +1903,14 @@ align-items: center; } +.call-overlay-controls--incoming { + justify-content: flex-start; +} + +.call-overlay-controls--active { + justify-content: flex-start; +} + .call-decline-btn { min-width: 120px; } From 20677a9090701830ebb6e828347a4946fecb2e94f73c0a15308fb7938b940b21 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 19:34:24 +0400 Subject: [PATCH 28/83] =?UTF-8?q?UI:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20hidden=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=BD=D0=BE=D0=BF=D0=BE=D0=BA=20=D0=B7=D0=B2=D0=BE=D0=BD=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/styles/components.css | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index efdef24a..b546c88b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.353 +client.version=1.2.354 server.version=1.2.319 diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index eac867b9..f9ed30b5 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -1903,6 +1903,16 @@ align-items: center; } +.call-overlay-controls[hidden], +.call-overlay-controls--incoming[hidden], +.call-overlay-controls--active[hidden], +.call-icon-btn[hidden], +.call-accept-btn[hidden], +.call-decline-btn[hidden], +.call-minimized-bar-actions[hidden] { + display: none !important; +} + .call-overlay-controls--incoming { justify-content: flex-start; } From f9dd24548126180945cee29f781aa98e4db4fc60e5d60a71c7808afcb942db4e Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 19:43:52 +0400 Subject: [PATCH 29/83] =?UTF-8?q?Deploy:=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B8=D1=82=D1=8C=20relay-range=20coturn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 5 +++++ deploy/SETUP_TURN_SERVER.md | 12 ++++++++++++ deploy/TURN_SERVERS.md | 1 + deploy/scripts/setup_turn_coturn.sh | 10 ++++++---- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 286a1818..251b22aa 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -45,6 +45,11 @@ - `docs/Solana_Architecture/README.md` - Документ формата пользовательской PDA-записи `shine_users` находится в: - `shine-solana/shine/doc/formats/shine-user-pda-format-v.1.0.md` +- Актуальная документация по серверному модулю синхронизации Solana users находится в: + - `docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md` +- При любом изменении логики серверной синхронизации `shine_users`, её таблиц PostgreSQL, checkpoint-механизма, startup/lifecycle или deploy-настроек обязательно обновлять: + - `docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md` + - `deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md` ## Документация блокчейна - Актуальная документация по форматам блокчейна находится в `docs/Blockchain/README.md`. diff --git a/deploy/SETUP_TURN_SERVER.md b/deploy/SETUP_TURN_SERVER.md index cb2d291f..d45a625f 100644 --- a/deploy/SETUP_TURN_SERVER.md +++ b/deploy/SETUP_TURN_SERVER.md @@ -25,6 +25,9 @@ sudo apt install -y coturn caddy sudo bash deploy/scripts/setup_turn_coturn.sh --realm turn1.shineup.me --secret CHANGE_ME_LONG_RANDOM_SECRET ``` +По умолчанию этот скрипт настраивает relay-диапазон `49000-53999`. +Это стандарт SHiNE: 5000 UDP-портов под TURN relay. + ## 3. coturn Секреты не хранить в git. Настраивать на сервере через `/etc/turnserver.conf` или отдельный secret/override. @@ -44,6 +47,14 @@ no-multicast-peers no-cli ``` +Для SHiNE держать relay-range большим сразу, чтобы не упираться в `create_relay_ioa_sockets: no available ports`. +Стандартный диапазон: + +```conf +min-port=49000 +max-port=53999 +``` + Включить сервис: ```bash @@ -83,3 +94,4 @@ sudo ss -lntup | grep -E ':(3478|5349)' - TURN credentials и shared secret не коммитить. - Если TURN домен переносится на другой VPS, менять DNS, а не код приложения. - После изменения TURN-адресов обновить серверные/UI настройки, где они используются. +- Не сужать relay-range ниже 5000 UDP-портов без явной причины: для SHiNE это уже приводило к отказам звонков на проде `24 июля 2026`. diff --git a/deploy/TURN_SERVERS.md b/deploy/TURN_SERVERS.md index 3107cb69..8555456d 100644 --- a/deploy/TURN_SERVERS.md +++ b/deploy/TURN_SERVERS.md @@ -17,6 +17,7 @@ TURN нужен для WebRTC-звонков, когда прямое peer-to-pe - DNS каждого `turnX.shineup.me` указывает на актуальный физический сервер TURN. - TLS/HTTPS и вспомогательная маршрутизация обслуживаются через Caddy, если на сервере есть web endpoint для проверки. - `coturn` слушает TURN/STUN порты согласно локальному `turnserver.conf`. +- Стандартный relay-range SHiNE: `49000-53999` (`5000` UDP-портов). - Секреты TURN не хранить в git. ## Что проверять diff --git a/deploy/scripts/setup_turn_coturn.sh b/deploy/scripts/setup_turn_coturn.sh index 20494924..a3d7c68b 100755 --- a/deploy/scripts/setup_turn_coturn.sh +++ b/deploy/scripts/setup_turn_coturn.sh @@ -9,8 +9,8 @@ set -euo pipefail SECRET="" REALM="turn1.shineup.me" -MIN_PORT="49160" -MAX_PORT="49200" +MIN_PORT="49000" +MAX_PORT="53999" while [[ $# -gt 0 ]]; do case "$1" in @@ -23,11 +23,11 @@ while [[ $# -gt 0 ]]; do shift 2 ;; --min-port) - MIN_PORT="${2:-49160}" + MIN_PORT="${2:-49000}" shift 2 ;; --max-port) - MAX_PORT="${2:-49200}" + MAX_PORT="${2:-53999}" shift 2 ;; *) @@ -87,6 +87,8 @@ systemctl --no-pager --full status coturn echo echo "coturn настроен." +echo "Стандартный relay-range SHiNE: ${MIN_PORT}-${MAX_PORT}." +echo "Рекомендуемый размер диапазона: не меньше 5000 UDP-портов." echo "Откройте firewall: 3478/tcp, 3478/udp, ${MIN_PORT}-${MAX_PORT}/udp" echo "Для SHiNE-сервера задайте такой же shared-secret в параметре:" echo " -Dcall.ice.turn.sharedSecret=${SECRET}" From 5326ad85d883c46709b61ec1eeb910b0388b20eef322e235b242aac74bc1b3e0 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 21:20:36 +0400 Subject: [PATCH 30/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B0=D1=82=D1=8C=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=20runtime=20=D0=91=D0=94=20=D0=BD=D0=B0=20Po?= =?UTF-8?q?stgreSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SHiNE-server/shine-server-db/build.gradle | 1 + .../java/shine/db/DatabaseInitializer.java | 157 ++- .../src/main/java/shine/db/DbController.java | 52 + .../java/shine/db/SqliteDbController.java | 106 +- .../db/connection/ConnectionFactory.java | 9 + .../java/shine/db/connection/DbProvider.java | 21 + .../connection/DriverManagerDbProvider.java | 58 ++ .../java/shine/db/dao/ActiveSessionsDAO.java | 6 +- .../db/dao/BlockchainResyncCleanupDAO.java | 8 +- .../java/shine/db/dao/BlockchainStateDAO.java | 6 +- .../src/main/java/shine/db/dao/BlocksDAO.java | 4 +- .../shine/db/dao/ChannelNameStateDAO.java | 4 +- .../shine/db/dao/ConnectionsStateDAO.java | 46 +- .../java/shine/db/dao/DirectMessagesDAO.java | 4 +- .../shine/db/dao/EspPairingRequestsDAO.java | 8 +- .../shine/db/dao/EspPairingSettingsDAO.java | 6 +- .../main/java/shine/db/dao/IpGeoCacheDAO.java | 4 +- .../main/java/shine/db/dao/PushTokensDAO.java | 4 +- .../dao/SignedDirectMessagesHistoryDAO.java | 4 +- .../java/shine/db/dao/SignedDmReplayDAO.java | 21 +- .../shine/db/dao/SignedMessagesV2DAO.java | 123 ++- .../java/shine/db/dao/SolanaUsersDAO.java | 31 +- .../java/shine/db/dao/SubscriptionsDAO.java | 4 +- .../java/shine/db/dao/SyncServersDAO.java | 4 +- .../db/dao/TestFreeAvatarUploadsDAO.java | 6 +- .../main/java/shine/db/dao/UserCreateDAO.java | 4 +- .../main/java/shine/db/dao/UserParamsDAO.java | 8 +- .../src/main/resources/postgres/schema_v1.sql | 943 ++++++++++++++++++ .../blockchain/Net_AddBlock_Handler.java | 8 +- .../BlockchainWriter.java | 2 +- .../ChannelNamesStateBootstrapper.java | 4 +- .../channels/ChannelsReadSupport.java | 6 +- .../Net_GetChannelMessages_Handler.java | 4 +- .../Net_GetChannelsCounters_Handler.java | 12 +- .../channels/Net_GetGroupDialog_Handler.java | 7 +- .../Net_GetMessageThread_Handler.java | 4 +- .../Net_ListGroupChats200_Handler.java | 7 +- .../Net_ListSubscriptionsFeed_Handler.java | 4 +- .../Net_MarkChannelMessagesSeen_Handler.java | 8 +- .../Net_AddCloseFriend_Handler.java | 9 +- .../Net_GetFriendsLists_Handler.java | 6 +- .../Net_GetUserConnectionsGraph_Handler.java | 10 +- .../connections/Net_ListContacts_Handler.java | 2 +- .../userParams/Net_GetUserParam_Handler.java | 4 +- .../Net_ListUserParams_Handler.java | 4 +- .../Net_UpsertUserParam_Handler.java | 4 +- .../src/main/resources/application.properties | 3 + VERSION.properties | 2 +- deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md | 160 ++- deploy/postgres/.env.example | 7 + deploy/postgres/docker-compose.yml.example | 24 + .../Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md | 6 + .../POSTGRES_RUNTIME_SCHEMA_V1.md | 79 ++ 53 files changed, 1741 insertions(+), 297 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/connection/ConnectionFactory.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DbProvider.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java create mode 100644 SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql create mode 100644 deploy/postgres/.env.example create mode 100644 deploy/postgres/docker-compose.yml.example create mode 100644 docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md diff --git a/SHiNE-server/shine-server-db/build.gradle b/SHiNE-server/shine-server-db/build.gradle index cf446c18..f0b6025c 100644 --- a/SHiNE-server/shine-server-db/build.gradle +++ b/SHiNE-server/shine-server-db/build.gradle @@ -17,6 +17,7 @@ repositories { dependencies { implementation 'org.xerial:sqlite-jdbc:3.47.0.0' // sqlite + implementation 'org.postgresql:postgresql:42.7.7' implementation "org.slf4j:slf4j-api:2.0.16" // вызов логгера diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index d99c4706..ca921ac0 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -4,28 +4,31 @@ import utils.config.AppConfig; import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.nio.file.*; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; /** - * DatabaseInitializer — создание новой SQLite-БД по схеме SHiNE. + * DatabaseInitializer — инициализация серверной БД SHiNE. * - * В этой версии: - * - создаём ТОЛЬКО таблицы/индексы - * - в конце вызываем DatabaseTriggersInstaller.createAllTriggers(st) - * - * v2 (sessions): - * - active_sessions.session_pwd удалён - * - active_sessions.session_key хранит публичный ключ сессии целиком одной строкой + * Сейчас класс умеет: + * - создавать legacy SQLite-схему; + * - автоматически поднимать PostgreSQL runtime schema v1 из ресурса + * `postgres/schema_v1.sql`, если БД пустая. */ public final class DatabaseInitializer { public static final String DB_SCHEMA_VERSION_TABLE = "db_schema_version"; public static final int SCHEMA_VERSION_1 = 1; + public static final String POSTGRES_SCHEMA_RESOURCE = "postgres/schema_v1.sql"; private DatabaseInitializer() {} @@ -121,6 +124,24 @@ public final class DatabaseInitializer { createSchema(jdbcUrl, false); } + public static void ensurePostgresSchemaInitialized(String jdbcUrl, + String user, + String password) throws SQLException { + try { + Class.forName("org.postgresql.Driver"); + } catch (ClassNotFoundException e) { + throw new RuntimeException("PostgreSQL JDBC driver not found", e); + } + + try (Connection conn = openConnection(jdbcUrl, user, password)) { + if (postgresSchemaVersionTableExists(conn)) { + return; + } + + runPostgresSchemaScript(conn); + } + } + private static void createSchema(String jdbcUrl) throws SQLException { createSchema(jdbcUrl, true); } @@ -708,4 +729,124 @@ public final class DatabaseInitializer { DatabaseTriggersInstaller.createAllTriggers(st); } } + + private static Connection openConnection(String jdbcUrl, String user, String password) throws SQLException { + if (user == null || user.isBlank()) { + return DriverManager.getConnection(jdbcUrl); + } + return DriverManager.getConnection(jdbcUrl, user, password == null ? "" : password); + } + + private static boolean postgresSchemaVersionTableExists(Connection conn) throws SQLException { + String sql = """ + SELECT EXISTS ( + SELECT 1 + FROM information_schema.tables + WHERE table_schema = current_schema() + AND table_name = ? + ) + """; + try (var ps = conn.prepareStatement(sql)) { + ps.setString(1, DB_SCHEMA_VERSION_TABLE); + try (ResultSet rs = ps.executeQuery()) { + return rs.next() && rs.getBoolean(1); + } + } + } + + private static void runPostgresSchemaScript(Connection conn) throws SQLException { + String sqlScript = loadClasspathResource(POSTGRES_SCHEMA_RESOURCE); + List<String> statements = splitSqlStatements(sqlScript); + + boolean previousAutoCommit = conn.getAutoCommit(); + conn.setAutoCommit(true); + try (Statement st = conn.createStatement()) { + for (String statement : statements) { + String trimmed = statement.trim(); + if (!trimmed.isEmpty()) { + st.execute(trimmed); + } + } + } finally { + conn.setAutoCommit(previousAutoCommit); + } + } + + private static String loadClasspathResource(String resourcePath) { + try (InputStream in = DatabaseInitializer.class.getClassLoader().getResourceAsStream(resourcePath)) { + if (in == null) { + throw new RuntimeException("Resource not found: " + resourcePath); + } + return new String(in.readAllBytes(), StandardCharsets.UTF_8); + } catch (IOException e) { + throw new RuntimeException("Failed to read resource: " + resourcePath, e); + } + } + + static List<String> splitSqlStatements(String sqlScript) { + List<String> statements = new ArrayList<>(); + StringBuilder current = new StringBuilder(); + boolean inSingleQuote = false; + String dollarQuoteTag = null; + + for (int i = 0; i < sqlScript.length(); i++) { + char ch = sqlScript.charAt(i); + + if (dollarQuoteTag == null && ch == '\'' && !isEscapedSingleQuote(sqlScript, i)) { + inSingleQuote = !inSingleQuote; + current.append(ch); + continue; + } + + if (!inSingleQuote) { + String tag = readDollarQuoteTag(sqlScript, i); + if (tag != null) { + current.append(tag); + i += tag.length() - 1; + if (dollarQuoteTag == null) { + dollarQuoteTag = tag; + } else if (dollarQuoteTag.equals(tag)) { + dollarQuoteTag = null; + } + continue; + } + } + + if (ch == ';' && !inSingleQuote && dollarQuoteTag == null) { + statements.add(current.toString()); + current.setLength(0); + continue; + } + + current.append(ch); + } + + if (!current.isEmpty()) { + statements.add(current.toString()); + } + return statements; + } + + private static boolean isEscapedSingleQuote(String sqlScript, int index) { + return index + 1 < sqlScript.length() && sqlScript.charAt(index + 1) == '\''; + } + + private static String readDollarQuoteTag(String sqlScript, int index) { + if (sqlScript.charAt(index) != '$') { + return null; + } + + int end = index + 1; + while (end < sqlScript.length()) { + char current = sqlScript.charAt(end); + if (current == '$') { + return sqlScript.substring(index, end + 1); + } + if (!(Character.isLetterOrDigit(current) || current == '_')) { + return null; + } + end++; + } + return null; + } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java new file mode 100644 index 00000000..b66af96b --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java @@ -0,0 +1,52 @@ +package shine.db; + +import shine.db.connection.DbProvider; + +import java.sql.Connection; +import java.sql.SQLException; + +/** + * Нейтральная точка входа в runtime БД сервера. + * + * Сейчас это адаптер над legacy singleton `SqliteDbController`, + * но остальной код больше не должен зависеть от SQLite по имени класса. + */ +public final class DbController implements DbProvider { + + private static volatile DbController instance; + + private final SqliteDbController delegate; + + private DbController() { + this.delegate = SqliteDbController.getInstance(); + } + + public static DbController getInstance() { + if (instance == null) { + synchronized (DbController.class) { + if (instance == null) { + instance = new DbController(); + } + } + } + return instance; + } + + @Override + public Connection getConnection() throws SQLException { + return delegate.getConnection(); + } + + public boolean isSqlite() { + return delegate.isSqlite(); + } + + public boolean isPostgres() { + return delegate.isPostgres(); + } + + @Override + public void close() { + delegate.close(); + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java index c4cb4ab7..5ec6bd9c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java @@ -17,29 +17,37 @@ public final class SqliteDbController { private static final int LATEST_SCHEMA_VERSION = 12; private final String jdbcUrl; + private final String dbUser; + private final String dbPassword; + private final boolean sqliteMode; private SqliteDbController() { - try { - Class.forName("org.sqlite.JDBC"); - } catch (ClassNotFoundException e) { - throw new RuntimeException("SQLite JDBC driver not found", e); + AppConfig config = AppConfig.getInstance(); + String configuredJdbcUrl = trimToNull(config.getParam("db.url")); + this.dbUser = trimToNull(config.getParam("db.user")); + this.dbPassword = trimToNull(config.getParam("db.password")); + + if (configuredJdbcUrl != null) { + this.jdbcUrl = configuredJdbcUrl; + this.sqliteMode = configuredJdbcUrl.startsWith("jdbc:sqlite:"); + } else { + String dbPath = config.getParam("db.path"); + if (dbPath == null || dbPath.isBlank()) { + throw new RuntimeException("Config param 'db.path' or 'db.url' is not set in application.properties"); + } + + Path dbFile = Paths.get(dbPath); + if (!Files.exists(dbFile)) { + System.out.println("[DB] Файл БД не найден: " + dbFile.toAbsolutePath()); + System.out.println("[DB] Создаём новую БД с помощью DatabaseInitializer..."); + DatabaseInitializer.createNewDB(new String[0]); + } + + this.jdbcUrl = "jdbc:sqlite:" + dbPath; + this.sqliteMode = true; } - String dbPath = AppConfig.getInstance().getParam("db.path"); - if (dbPath == null || dbPath.isBlank()) { - throw new RuntimeException("Config param 'db.path' is not set in application.properties"); - } - - Path dbFile = Paths.get(dbPath); - - if (!Files.exists(dbFile)) { - System.out.println("[DB] Файл БД не найден: " + dbFile.toAbsolutePath()); - System.out.println("[DB] Создаём новую БД с помощью DatabaseInitializer..."); - DatabaseInitializer.createNewDB(new String[0]); - } - - this.jdbcUrl = "jdbc:sqlite:" + dbPath; - ensureSchemaMigrations(); + initializeDatabase(); } public static SqliteDbController getInstance() { @@ -54,14 +62,16 @@ public final class SqliteDbController { } public Connection getConnection() throws SQLException { - Connection conn = DriverManager.getConnection(jdbcUrl); + Connection conn = openConnection(); conn.setAutoCommit(true); - try (Statement st = conn.createStatement()) { - st.execute("PRAGMA foreign_keys = ON"); - st.execute("PRAGMA journal_mode = WAL"); - st.execute("PRAGMA synchronous = NORMAL"); - st.execute("PRAGMA busy_timeout = 5000"); + if (sqliteMode) { + try (Statement st = conn.createStatement()) { + st.execute("PRAGMA foreign_keys = ON"); + st.execute("PRAGMA journal_mode = WAL"); + st.execute("PRAGMA synchronous = NORMAL"); + st.execute("PRAGMA busy_timeout = 5000"); + } } return conn; @@ -71,6 +81,14 @@ public final class SqliteDbController { // no-op } + public boolean isSqlite() { + return sqliteMode; + } + + public boolean isPostgres() { + return !sqliteMode && jdbcUrl.startsWith("jdbc:postgresql:"); + } + private void ensureSchemaMigrations() { int currentVersion = getCurrentSchemaVersion(); @@ -395,7 +413,7 @@ public final class SqliteDbController { } private int getCurrentSchemaVersion() { - try (Connection c = DriverManager.getConnection(jdbcUrl)) { + try (Connection c = openConnection()) { if (!tableExists(c, DatabaseInitializer.DB_SCHEMA_VERSION_TABLE)) { return 0; } @@ -843,4 +861,40 @@ public final class SqliteDbController { return !toBlockNumberNotNull || !toBlockHashNotNull; } + + private void initializeDatabase() { + if (sqliteMode) { + try { + Class.forName("org.sqlite.JDBC"); + } catch (ClassNotFoundException e) { + throw new RuntimeException("SQLite JDBC driver not found", e); + } + ensureSchemaMigrations(); + return; + } + + if (jdbcUrl.startsWith("jdbc:postgresql:")) { + try { + DatabaseInitializer.ensurePostgresSchemaInitialized(jdbcUrl, dbUser, dbPassword); + } catch (SQLException e) { + throw new RuntimeException("PostgreSQL schema auto-init failed", e); + } + return; + } + + throw new RuntimeException("Unsupported JDBC URL: " + jdbcUrl); + } + + private Connection openConnection() throws SQLException { + if (dbUser == null) { + return DriverManager.getConnection(jdbcUrl); + } + return DriverManager.getConnection(jdbcUrl, dbUser, dbPassword == null ? "" : dbPassword); + } + + private static String trimToNull(String value) { + if (value == null) return null; + String trimmed = value.trim(); + return trimmed.isEmpty() ? null : trimmed; + } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/ConnectionFactory.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/ConnectionFactory.java new file mode 100644 index 00000000..17a05cca --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/ConnectionFactory.java @@ -0,0 +1,9 @@ +package shine.db.connection; + +import java.sql.Connection; +import java.sql.SQLException; + +@FunctionalInterface +public interface ConnectionFactory { + Connection getConnection() throws SQLException; +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DbProvider.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DbProvider.java new file mode 100644 index 00000000..c8a0f3e1 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DbProvider.java @@ -0,0 +1,21 @@ +package shine.db.connection; + +import java.sql.Connection; +import java.sql.SQLException; + +/** + * Нейтральная точка доступа к JDBC-соединениям без привязки к конкретной БД. + * + * На первом этапе переносов этот интерфейс нужен как новая опора для DAO, + * чтобы постепенно убрать прямую зависимость от DbController. + */ +public interface DbProvider extends ConnectionFactory, AutoCloseable { + + @Override + Connection getConnection() throws SQLException; + + @Override + default void close() throws Exception { + // По умолчанию ресурсов на уровне provider нет. + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java new file mode 100644 index 00000000..be5b4362 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java @@ -0,0 +1,58 @@ +package shine.db.connection; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +/** + * Базовый JDBC provider поверх DriverManager. + * + * Не знает ничего про SQLite/PostgreSQL как про доменные режимы: + * конкретные параметры и post-connect инициализация задаются снаружи. + */ +public final class DriverManagerDbProvider implements DbProvider { + + private final String jdbcUrl; + private final String user; + private final String password; + private final ConnectionInitializer initializer; + + public DriverManagerDbProvider(String jdbcUrl, + String user, + String password, + ConnectionInitializer initializer) { + if (jdbcUrl == null || jdbcUrl.isBlank()) { + throw new IllegalArgumentException("jdbcUrl is blank"); + } + this.jdbcUrl = jdbcUrl; + this.user = blankToNull(user); + this.password = blankToNull(password); + this.initializer = initializer; + } + + @Override + public Connection getConnection() throws SQLException { + Connection connection; + if (user == null) { + connection = DriverManager.getConnection(jdbcUrl); + } else { + connection = DriverManager.getConnection(jdbcUrl, user, password == null ? "" : password); + } + + if (initializer != null) { + initializer.initialize(connection); + } + return connection; + } + + private static String blankToNull(String value) { + if (value == null) return null; + String trimmed = value.trim(); + return trimmed.isEmpty() ? null : trimmed; + } + + @FunctionalInterface + public interface ConnectionInitializer { + void initialize(Connection connection) throws SQLException; + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ActiveSessionsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ActiveSessionsDAO.java index 885dc8e5..cb2e0e88 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ActiveSessionsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ActiveSessionsDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.ActiveSessionEntry; import java.sql.*; @@ -17,7 +17,7 @@ import java.util.List; public final class ActiveSessionsDAO { private static volatile ActiveSessionsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private ActiveSessionsDAO() { } @@ -137,7 +137,7 @@ public final class ActiveSessionsDAO { client_platform, user_language FROM active_sessions - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) """; List<ActiveSessionEntry> result = new ArrayList<>(); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java index 9fe04aee..f2ad4d8f 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java @@ -1,7 +1,7 @@ package shine.db.dao; import shine.db.DatabaseInitializer; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -39,7 +39,7 @@ public final class BlockchainResyncCleanupDAO { private static volatile BlockchainResyncCleanupDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private BlockchainResyncCleanupDAO() {} @@ -307,7 +307,7 @@ public final class BlockchainResyncCleanupDAO { private int deleteConnectionsStateForLogin(Connection c, String login) throws SQLException { return executeDelete(c, """ DELETE FROM connections_state - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) """, login); } @@ -317,7 +317,7 @@ public final class BlockchainResyncCleanupDAO { private int deleteUsersParamsForLogin(Connection c, String login) throws SQLException { return executeDelete(c, """ DELETE FROM users_params - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) """, login); } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java index 4087e5a7..88bf71a9 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.BlockchainStateEntry; import java.sql.*; @@ -10,7 +10,7 @@ import java.util.List; public final class BlockchainStateDAO { private static volatile BlockchainStateDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private BlockchainStateDAO() {} @@ -75,7 +75,7 @@ public final class BlockchainStateDAO { last_block_hash, updated_at_ms FROM blockchain_state - ORDER BY blockchain_name COLLATE NOCASE + ORDER BY LOWER(blockchain_name) """; List<BlockchainStateEntry> result = new ArrayList<>(); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java index 6291e4cc..f61c75ce 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java @@ -2,7 +2,7 @@ package shine.db.dao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.BlockEntry; import java.sql.*; @@ -22,7 +22,7 @@ import java.util.List; public final class BlocksDAO { private static volatile BlocksDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private static final Logger log = LoggerFactory.getLogger(BlocksDAO.class); private BlocksDAO() { } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java index a0b07278..61ee579a 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.ChannelNameStateEntry; import java.sql.Connection; @@ -11,7 +11,7 @@ import java.util.List; public final class ChannelNameStateDAO { private static volatile ChannelNameStateDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private ChannelNameStateDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java index 3de5aa9b..043d9c9d 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -13,8 +13,8 @@ import java.util.List; * ConnectionsStateDAO — чтение текущего состояния связей из connections_state. * * ВАЖНО: - * - login в запросах может быть в любом регистре, поэтому в WHERE используем COLLATE NOCASE - * - в ответах возвращаем логины в каноническом регистре через JOIN на solana_users + * - login в запросах может быть в любом регистре; + * - в ответах возвращаем логины в каноническом регистре через JOIN на solana_users. * * ПРИМЕЧАНИЕ: * Таблица пользователей тут названа "solana_users". Если у тебя иначе — поменяй в SQL. @@ -22,7 +22,7 @@ import java.util.List; public final class ConnectionsStateDAO { private static volatile ConnectionsStateDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private ConnectionsStateDAO() {} @@ -43,10 +43,10 @@ public final class ConnectionsStateDAO { SELECT COALESCE(u_login.login, u_bch.login, cs.to_login) AS friend_login FROM connections_state cs LEFT JOIN solana_users u_login - ON u_login.login = cs.to_login COLLATE NOCASE + ON LOWER(u_login.login) = LOWER(cs.to_login) LEFT JOIN solana_users u_bch - ON u_bch.blockchain_name = cs.to_bch_name COLLATE NOCASE - WHERE cs.login = ? COLLATE NOCASE + ON LOWER(u_bch.blockchain_name) = LOWER(cs.to_bch_name) + WHERE LOWER(cs.login) = LOWER(?) AND cs.rel_type = ? ORDER BY friend_login """; @@ -73,12 +73,12 @@ public final class ConnectionsStateDAO { SELECT COALESCE(u_actor.login, cs.login) AS friend_login FROM connections_state cs LEFT JOIN solana_users u_actor - ON u_actor.login = cs.login COLLATE NOCASE + ON LOWER(u_actor.login) = LOWER(cs.login) LEFT JOIN solana_users u_target - ON u_target.login = ? COLLATE NOCASE + ON LOWER(u_target.login) = LOWER(?) WHERE ( - cs.to_login = ? COLLATE NOCASE - OR (u_target.blockchain_name IS NOT NULL AND cs.to_bch_name = u_target.blockchain_name COLLATE NOCASE) + LOWER(cs.to_login) = LOWER(?) + OR (u_target.blockchain_name IS NOT NULL AND LOWER(cs.to_bch_name) = LOWER(u_target.blockchain_name)) ) AND cs.rel_type = ? ORDER BY friend_login @@ -107,14 +107,14 @@ public final class ConnectionsStateDAO { SELECT u.login AS friend_login FROM connections_state a JOIN solana_users u - ON u.login = a.to_login COLLATE NOCASE - WHERE a.login = ? COLLATE NOCASE + ON LOWER(u.login) = LOWER(a.to_login) + WHERE LOWER(a.login) = LOWER(?) AND a.rel_type = ? AND EXISTS ( SELECT 1 FROM connections_state b - WHERE b.login = a.to_login COLLATE NOCASE - AND b.to_login = a.login COLLATE NOCASE + WHERE LOWER(b.login) = LOWER(a.to_login) + AND LOWER(b.to_login) = LOWER(a.login) AND b.rel_type = a.rel_type ) ORDER BY u.login @@ -141,10 +141,24 @@ public final class ConnectionsStateDAO { String toBchName, Integer toBlockNumber, byte[] toBlockHash) throws SQLException { + if (db.isPostgres()) { + try (PreparedStatement deletePs = c.prepareStatement(""" + DELETE FROM connections_state + WHERE LOWER(login) = LOWER(?) + AND rel_type = ? + AND LOWER(to_login) = LOWER(?) + """)) { + deletePs.setString(1, login); + deletePs.setInt(2, relType); + deletePs.setString(3, toLogin); + deletePs.executeUpdate(); + } + } + String sql = """ INSERT INTO connections_state (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) VALUES (?, ?, ?, ?, ?, ?) - ON CONFLICT(login, rel_type, to_login) DO UPDATE SET + ON CONFLICT(login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) DO UPDATE SET to_bch_name=excluded.to_bch_name, to_block_number=excluded.to_block_number, to_block_hash=excluded.to_block_hash diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DirectMessagesDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DirectMessagesDAO.java index 5d2b4c56..ae063da4 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DirectMessagesDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DirectMessagesDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.DirectMessageEntry; import java.sql.Connection; @@ -8,7 +8,7 @@ import java.sql.PreparedStatement; public final class DirectMessagesDAO { private static volatile DirectMessagesDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private DirectMessagesDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingRequestsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingRequestsDAO.java index 9c90c975..3ef4764a 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingRequestsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingRequestsDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.EspPairingRequestEntry; import java.sql.Connection; @@ -13,7 +13,7 @@ import java.util.List; public final class EspPairingRequestsDAO { private static volatile EspPairingRequestsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private EspPairingRequestsDAO() { } @@ -110,7 +110,7 @@ public final class EspPairingRequestsDAO { payload_type, status, short_code, fingerprint_b58, encrypted_payload, reject_reason, approved_by_session_id, created_at_ms, expires_at_ms, updated_at_ms, delivered_to_homeserver FROM esp_pairing_requests - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) AND expires_at_ms > ? AND status = 'created' ORDER BY created_at_ms DESC @@ -131,7 +131,7 @@ public final class EspPairingRequestsDAO { StringBuilder sql = new StringBuilder(""" SELECT COUNT(*) FROM esp_pairing_requests - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) AND created_at_ms >= ? AND status IN ( """); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingSettingsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingSettingsDAO.java index 873ba7dd..cc86a954 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingSettingsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/EspPairingSettingsDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.EspPairingSettingsEntry; import java.sql.Connection; @@ -11,7 +11,7 @@ import java.sql.SQLException; public final class EspPairingSettingsDAO { private static volatile EspPairingSettingsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private EspPairingSettingsDAO() { } @@ -74,7 +74,7 @@ public final class EspPairingSettingsDAO { String sql = """ SELECT login, enabled, password_hash, ttl_seconds, failed_attempts, first_failed_at_ms, blocked_until_ms, updated_at_ms FROM esp_pairing_settings - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) LIMIT 1 """; try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/IpGeoCacheDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/IpGeoCacheDAO.java index db9d11d7..1b16a24e 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/IpGeoCacheDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/IpGeoCacheDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.IpGeoCacheEntry; import java.sql.*; @@ -20,7 +20,7 @@ import java.sql.*; public final class IpGeoCacheDAO { private static volatile IpGeoCacheDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private IpGeoCacheDAO() { } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/PushTokensDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/PushTokensDAO.java index 1fc3ef30..8586c01c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/PushTokensDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/PushTokensDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.PushTokenEntry; import java.sql.Connection; @@ -11,7 +11,7 @@ import java.util.List; public final class PushTokensDAO { private static volatile PushTokensDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private PushTokensDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDirectMessagesHistoryDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDirectMessagesHistoryDAO.java index 6cea2249..0c9f9064 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDirectMessagesHistoryDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDirectMessagesHistoryDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.SignedDirectMessageHistoryEntry; import java.sql.Connection; @@ -8,7 +8,7 @@ import java.sql.PreparedStatement; public final class SignedDirectMessagesHistoryDAO { private static volatile SignedDirectMessagesHistoryDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SignedDirectMessagesHistoryDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java index 3144dffe..108c5d5a 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java @@ -1,13 +1,13 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; public final class SignedDmReplayDAO { private static volatile SignedDmReplayDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SignedDmReplayDAO() {} @@ -23,11 +23,18 @@ public final class SignedDmReplayDAO { public boolean registerUnique(String fromLogin, long timeMs, long nonce, long nowMs) throws Exception { cleanupExpired(nowMs - 15L * 60L * 1000L); try (Connection c = db.getConnection()) { - String sql = """ - INSERT OR IGNORE INTO signed_direct_message_replay ( - from_login, time_ms, nonce, created_at_ms - ) VALUES (?, ?, ?, ?) - """; + String sql = db.isPostgres() + ? """ + INSERT INTO signed_direct_message_replay ( + from_login, time_ms, nonce, created_at_ms + ) VALUES (?, ?, ?, ?) + ON CONFLICT DO NOTHING + """ + : """ + INSERT OR IGNORE INTO signed_direct_message_replay ( + from_login, time_ms, nonce, created_at_ms + ) VALUES (?, ?, ?, ?) + """; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, fromLogin); ps.setLong(2, timeMs); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java index 85af6e05..6d8fc683 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.SignedMessageV2Entry; import java.sql.Connection; @@ -27,7 +27,7 @@ public final class SignedMessagesV2DAO { } private static volatile SignedMessagesV2DAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SignedMessagesV2DAO() {} @@ -46,7 +46,15 @@ public final class SignedMessagesV2DAO { if (isBlockedByConversationDelete(c, e.getFromLogin(), e.getToLogin(), e.getTimeMs())) { return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; } - String sql = """ + String sql = db.isPostgres() ? """ + INSERT INTO signed_messages ( + message_key, base_key, target_login, from_login, to_login, + time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, + raw_block, created_at_ms, source_api, origin_session_id, + receipt_ref_base_key, receipt_ref_type, read_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ON CONFLICT DO NOTHING + """ : """ INSERT OR IGNORE INTO signed_messages_v2 ( message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, @@ -268,10 +276,13 @@ public final class SignedMessagesV2DAO { withBusyRetry(() -> { try (Connection c = db.getConnection()) { String sql = """ - INSERT OR IGNORE INTO signed_message_session_delivery ( + INSERT %s INTO signed_message_session_delivery ( message_key, session_id, delivered, delivered_at_ms, created_at_ms ) VALUES (?, ?, 0, NULL, ?) - """; + """.formatted(db.isPostgres() ? "INTO" : "OR IGNORE INTO"); + if (db.isPostgres()) { + sql += "\nON CONFLICT DO NOTHING"; + } try (PreparedStatement ps = c.prepareStatement(sql)) { for (String sessionId : sessionIds) { if (sessionId == null || sessionId.isBlank()) continue; @@ -318,18 +329,21 @@ public final class SignedMessagesV2DAO { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { String fillSql = """ - INSERT OR IGNORE INTO signed_message_session_delivery ( + INSERT %s INTO signed_message_session_delivery ( message_key, session_id, delivered, delivered_at_ms, created_at_ms ) SELECT m.message_key, ?, 0, NULL, ? - FROM signed_messages_v2 m + FROM %s m WHERE ( - (m.message_type IN (1, 3) AND m.to_login = ? COLLATE NOCASE) - OR (m.message_type IN (2, 4) AND m.from_login = ? COLLATE NOCASE) + (m.message_type IN (1, 3) AND LOWER(m.to_login) = LOWER(?)) + OR (m.message_type IN (2, 4) AND LOWER(m.from_login) = LOWER(?)) OR (m.message_type IN (5, 6, 7, 8) - AND (m.from_login = ? COLLATE NOCASE OR m.to_login = ? COLLATE NOCASE)) + AND (LOWER(m.from_login) = LOWER(?) OR LOWER(m.to_login) = LOWER(?))) ) - """; + """.formatted(db.isPostgres() ? "INTO" : "OR IGNORE INTO", messagesTable()); + if (db.isPostgres()) { + fillSql += "\nON CONFLICT DO NOTHING"; + } long now = System.currentTimeMillis(); try (PreparedStatement ps = c.prepareStatement(fillSql)) { ps.setString(1, sessionId); @@ -347,12 +361,12 @@ public final class SignedMessagesV2DAO { m.time_ms, m.nonce, m.message_type, m.revision_time_ms, m.reencrypted_at_ms, m.raw_block, m.created_at_ms, m.source_api, m.origin_session_id, m.receipt_ref_base_key, m.receipt_ref_type, m.read_at_ms - FROM signed_messages_v2 m + FROM %s m JOIN signed_message_session_delivery d ON d.message_key = m.message_key WHERE d.session_id = ? AND d.delivered = 0 ORDER BY m.time_ms ASC, m.revision_time_ms ASC, m.reencrypted_at_ms ASC, m.created_at_ms ASC - """; + """.formatted(messagesTable()); List<SignedMessageV2Entry> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, sessionId); @@ -379,12 +393,12 @@ public final class SignedMessagesV2DAO { time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, receipt_ref_base_key, receipt_ref_type, read_at_ms - FROM signed_messages_v2 - WHERE target_login = ? COLLATE NOCASE + FROM %s + WHERE LOWER(target_login) = LOWER(?) AND message_type IN (1, 2) AND ( - (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) - OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) + OR (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) ) AND ( ? <= 0 @@ -393,7 +407,7 @@ public final class SignedMessagesV2DAO { ) ORDER BY time_ms DESC, message_key DESC LIMIT ? - """; + """.formatted(messagesTable()); List<SignedMessageV2Entry> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); @@ -417,7 +431,7 @@ public final class SignedMessagesV2DAO { private void upsertMessage(Connection c, SignedMessageV2Entry e) throws SQLException { String sql = """ - INSERT INTO signed_messages_v2 ( + INSERT INTO %s ( message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, @@ -439,8 +453,8 @@ public final class SignedMessagesV2DAO { origin_session_id = excluded.origin_session_id, receipt_ref_base_key = excluded.receipt_ref_base_key, receipt_ref_type = excluded.receipt_ref_type, - read_at_ms = COALESCE(signed_messages_v2.read_at_ms, excluded.read_at_ms) - """; + read_at_ms = COALESCE(%s.read_at_ms, excluded.read_at_ms) + """.formatted(messagesTable(), messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { bindSignedMessage(ps, e); ps.executeUpdate(); @@ -456,7 +470,7 @@ public final class SignedMessagesV2DAO { long readAtMs = entry.getTimeMs(); if (readAtMs <= 0) return; try (PreparedStatement ps = c.prepareStatement(""" - UPDATE signed_messages_v2 + UPDATE %s SET read_at_ms = CASE WHEN read_at_ms IS NULL OR read_at_ms <= 0 THEN ? WHEN read_at_ms > ? THEN ? @@ -464,7 +478,7 @@ public final class SignedMessagesV2DAO { END WHERE base_key = ? AND message_type IN (1, 2) - """)) { + """.formatted(messagesTable()))) { ps.setLong(1, readAtMs); ps.setLong(2, readAtMs); ps.setLong(3, readAtMs); @@ -476,10 +490,10 @@ public final class SignedMessagesV2DAO { private RevisionMarker getRevisionMarkerByMessageKey(Connection c, String messageKey) throws SQLException { String sql = """ SELECT revision_time_ms, reencrypted_at_ms - FROM signed_messages_v2 + FROM %s WHERE message_key = ? LIMIT 1 - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, messageKey); try (ResultSet rs = ps.executeQuery()) { @@ -492,12 +506,12 @@ public final class SignedMessagesV2DAO { private RevisionMarker getCurrentContentMarker(Connection c, String baseKey) throws SQLException { String sql = """ SELECT revision_time_ms, reencrypted_at_ms - FROM signed_messages_v2 + FROM %s WHERE base_key = ? AND message_type IN (1, 2) ORDER BY revision_time_ms DESC, reencrypted_at_ms DESC LIMIT 1 - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, baseKey); try (ResultSet rs = ps.executeQuery()) { @@ -510,11 +524,11 @@ public final class SignedMessagesV2DAO { private boolean hasMessageDeleteTombstone(Connection c, String baseKey) throws SQLException { String sql = """ SELECT 1 - FROM signed_messages_v2 + FROM %s WHERE base_key = ? AND message_type IN (5, 6) LIMIT 1 - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, baseKey); try (ResultSet rs = ps.executeQuery()) { @@ -531,13 +545,13 @@ public final class SignedMessagesV2DAO { private Long getLatestConversationDeleteBoundary(Connection c, String fromLogin, String toLogin) throws SQLException { String sql = """ SELECT MAX(time_ms) - FROM signed_messages_v2 + FROM %s WHERE message_type IN (7, 8) AND ( - (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) - OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) + OR (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) ) - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, fromLogin); ps.setString(2, toLogin); @@ -558,15 +572,15 @@ public final class SignedMessagesV2DAO { time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, receipt_ref_base_key, receipt_ref_type - FROM signed_messages_v2 + FROM %s WHERE message_type IN (7, 8) AND ( - (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) - OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) + OR (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) ) ORDER BY time_ms DESC LIMIT 1 - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, fromLogin); ps.setString(2, toLogin); @@ -582,16 +596,16 @@ public final class SignedMessagesV2DAO { private void deleteMessageContentAndReceipts(Connection c, String baseKey) throws SQLException { deleteDeliveryRowsByMessageSelection(c, """ SELECT message_key - FROM signed_messages_v2 + FROM %s WHERE (base_key = ? AND message_type IN (1, 2)) OR (receipt_ref_base_key = ? AND message_type IN (3, 4)) - """, baseKey, baseKey); + """.formatted(messagesTable()), baseKey, baseKey); try (PreparedStatement ps = c.prepareStatement(""" - DELETE FROM signed_messages_v2 + DELETE FROM %s WHERE (base_key = ? AND message_type IN (1, 2)) OR (receipt_ref_base_key = ? AND message_type IN (3, 4)) - """)) { + """.formatted(messagesTable()))) { ps.setString(1, baseKey); ps.setString(2, baseKey); ps.executeUpdate(); @@ -601,22 +615,22 @@ public final class SignedMessagesV2DAO { private void deleteConversationHistoryBefore(Connection c, String fromLogin, String toLogin, long boundaryTimeMs) throws SQLException { deleteDeliveryRowsByMessageSelection(c, """ SELECT message_key - FROM signed_messages_v2 + FROM %s WHERE time_ms < ? AND ( - (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) - OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) + OR (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) ) - """, boundaryTimeMs, fromLogin, toLogin, toLogin, fromLogin); + """.formatted(messagesTable()), boundaryTimeMs, fromLogin, toLogin, toLogin, fromLogin); try (PreparedStatement ps = c.prepareStatement(""" - DELETE FROM signed_messages_v2 + DELETE FROM %s WHERE time_ms < ? AND ( - (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) - OR (from_login = ? COLLATE NOCASE AND to_login = ? COLLATE NOCASE) + (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) + OR (LOWER(from_login) = LOWER(?) AND LOWER(to_login) = LOWER(?)) ) - """)) { + """.formatted(messagesTable()))) { ps.setLong(1, boundaryTimeMs); ps.setString(2, fromLogin); ps.setString(3, toLogin); @@ -647,13 +661,13 @@ public final class SignedMessagesV2DAO { private int insertStrict(Connection c, SignedMessageV2Entry e) throws SQLException { String sql = """ - INSERT INTO signed_messages_v2 ( + INSERT INTO %s ( message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, receipt_ref_base_key, receipt_ref_type, read_at_ms ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { bindSignedMessage(ps, e); return ps.executeUpdate(); @@ -704,6 +718,9 @@ public final class SignedMessagesV2DAO { } private boolean isBusyLock(SQLException ex) { + if (db.isPostgres()) { + return false; + } Throwable current = ex; while (current != null) { String msg = String.valueOf(current.getMessage()).toLowerCase(); @@ -748,6 +765,10 @@ public final class SignedMessagesV2DAO { return Long.compare(left.reencryptedAtMs, right.reencryptedAtMs); } + private String messagesTable() { + return db.isPostgres() ? "signed_messages" : "signed_messages_v2"; + } + private SignedMessageV2Entry mapRow(ResultSet rs) throws Exception { SignedMessageV2Entry e = new SignedMessageV2Entry(); e.setMessageKey(rs.getString("message_key")); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index c9db7db7..8395e1e0 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.SolanaUserEntry; import java.sql.*; @@ -26,7 +26,7 @@ import java.util.List; public final class SolanaUsersDAO { private static volatile SolanaUsersDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SolanaUsersDAO() {} @@ -43,6 +43,31 @@ public final class SolanaUsersDAO { /** Вставка с внешним соединением. Соединение НЕ закрывает. */ public void insert(Connection c, SolanaUserEntry user) throws SQLException { + if (db.isPostgres()) { + String sql = """ + INSERT INTO solana_users_manual ( + login, blockchain_name, solana_key, blockchain_key, client_key, updated_at_ms + ) VALUES (?, ?, ?, ?, ?, ?) + ON CONFLICT (login) DO UPDATE SET + blockchain_name = EXCLUDED.blockchain_name, + solana_key = EXCLUDED.solana_key, + blockchain_key = EXCLUDED.blockchain_key, + client_key = EXCLUDED.client_key, + updated_at_ms = EXCLUDED.updated_at_ms + """; + + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, user.getLogin()); + ps.setString(2, user.getBlockchainName()); + ps.setString(3, user.getSolanaKey()); + ps.setString(4, user.getBlockchainKey()); + ps.setString(5, user.getClientKey()); + ps.setLong(6, System.currentTimeMillis()); + ps.executeUpdate(); + } + return; + } + String sql = """ INSERT INTO solana_users ( login, blockchain_name, solana_key, blockchain_key, client_key @@ -223,4 +248,4 @@ public final class SolanaUsersDAO { return e; } -} \ No newline at end of file +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SubscriptionsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SubscriptionsDAO.java index 3fe7b0cc..cd089db4 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SubscriptionsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SubscriptionsDAO.java @@ -1,7 +1,7 @@ package shine.db.dao; import shine.db.MsgSubType; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.*; import java.util.ArrayList; @@ -25,7 +25,7 @@ import java.util.List; public final class SubscriptionsDAO { private static volatile SubscriptionsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SubscriptionsDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SyncServersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SyncServersDAO.java index edeeb9b9..bbf9b71c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SyncServersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SyncServersDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.SyncServerEntry; import java.sql.Connection; @@ -17,7 +17,7 @@ import java.util.List; public final class SyncServersDAO { private static volatile SyncServersDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private SyncServersDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/TestFreeAvatarUploadsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/TestFreeAvatarUploadsDAO.java index 73571402..5ce4d44f 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/TestFreeAvatarUploadsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/TestFreeAvatarUploadsDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.TestFreeAvatarUploadEntry; import java.sql.Connection; @@ -11,7 +11,7 @@ import java.sql.SQLException; public final class TestFreeAvatarUploadsDAO { private static volatile TestFreeAvatarUploadsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private TestFreeAvatarUploadsDAO() { } @@ -29,7 +29,7 @@ public final class TestFreeAvatarUploadsDAO { String sql = """ SELECT login, used_count, updated_at_ms, last_tx_id FROM test_free_avatar_uploads - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) LIMIT 1 """; try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java index 8476f3a0..86065d2e 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.SolanaUserEntry; import java.sql.*; @@ -17,7 +17,7 @@ import java.sql.*; public final class UserCreateDAO { private static volatile UserCreateDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private final SolanaUsersDAO usersDao = SolanaUsersDAO.getInstance(); private UserCreateDAO() {} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserParamsDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserParamsDAO.java index fe20aeb4..9166759b 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserParamsDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserParamsDAO.java @@ -1,6 +1,6 @@ package shine.db.dao; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.entities.UserParamEntry; import java.sql.*; @@ -21,7 +21,7 @@ import java.util.List; public final class UserParamsDAO { private static volatile UserParamsDAO instance; - private final SqliteDbController db = SqliteDbController.getInstance(); + private final DbController db = DbController.getInstance(); private UserParamsDAO() { } @@ -89,7 +89,7 @@ public final class UserParamsDAO { client_key, signature FROM users_params - WHERE login = ? COLLATE NOCASE AND param = ? + WHERE LOWER(login) = LOWER(?) AND param = ? LIMIT 1 """; @@ -120,7 +120,7 @@ public final class UserParamsDAO { client_key, signature FROM users_params - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) ORDER BY time_ms DESC """; diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql new file mode 100644 index 00000000..128b590c --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -0,0 +1,943 @@ +-- SHiNE PostgreSQL runtime schema v1 +-- Дата: 2026-07-24 +-- +-- Назначение: +-- - поднять пустую PostgreSQL БД сервера SHiNE с нуля; +-- - включить таблицы модуля синхронизации Solana users; +-- - включить runtime-таблицы сервера без legacy SQLite таблиц: +-- * НЕ создаём solana_users +-- * НЕ создаём direct_messages +-- * основной runtime DM storage = signed_messages +-- +-- Важно: +-- - источник истины по пользователям: solana_user_pda_current; +-- - runtime table blockchain_state остаётся как локальное серверное состояние chain, +-- но не мигрируется из старой SQLite и не считается identity-слоем; +-- - триггеры переписаны под PostgreSQL и сохраняют текущую серверную логику. + +BEGIN; + +CREATE TABLE IF NOT EXISTS db_schema_version ( + id INTEGER PRIMARY KEY, + schema_version INTEGER NOT NULL, + updated_at_ms BIGINT NOT NULL +); + +INSERT INTO db_schema_version (id, schema_version, updated_at_ms) +VALUES (1, 1, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +ON CONFLICT (id) DO UPDATE SET + schema_version = EXCLUDED.schema_version, + updated_at_ms = EXCLUDED.updated_at_ms; + +CREATE TABLE IF NOT EXISTS solana_sync_state ( + id INTEGER PRIMARY KEY, + status TEXT NOT NULL, + ready BOOLEAN NOT NULL, + last_poll_at_ms BIGINT, + last_successful_poll_at_ms BIGINT, + last_seen_signature TEXT, + last_seen_slot BIGINT, + last_relevant_signature TEXT, + last_relevant_slot BIGINT, + last_error TEXT, + economy_config_version INTEGER, + registration_fee_lamports BIGINT, + lamports_per_limit_step BIGINT, + start_bonus_limit BIGINT, + updated_at_ms BIGINT +); + +INSERT INTO solana_sync_state (id, status, ready) +VALUES (1, 'EMPTY', FALSE) +ON CONFLICT (id) DO NOTHING; + +CREATE TABLE IF NOT EXISTS solana_sync_tx_history ( + id BIGSERIAL PRIMARY KEY, + signature TEXT NOT NULL UNIQUE, + slot BIGINT NOT NULL, + block_time BIGINT, + tx_kind TEXT NOT NULL, + is_relevant BOOLEAN NOT NULL, + affected_pda_address TEXT, + affected_login TEXT, + raw_tx_json TEXT NOT NULL, + saved_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_sync_tx_history_slot + ON solana_sync_tx_history(slot); + +CREATE INDEX IF NOT EXISTS idx_sync_tx_history_relevant + ON solana_sync_tx_history(is_relevant); + +CREATE INDEX IF NOT EXISTS idx_sync_tx_history_login + ON solana_sync_tx_history(affected_login); + +CREATE TABLE IF NOT EXISTS solana_user_pda_current ( + pda_address TEXT PRIMARY KEY, + login TEXT NOT NULL UNIQUE, + record_number INTEGER NOT NULL, + slot BIGINT NOT NULL, + last_tx_signature TEXT NOT NULL, + recovery_key TEXT NOT NULL, + root_key TEXT NOT NULL, + client_key TEXT NOT NULL, + blockchain_name TEXT NOT NULL, + blockchain_key TEXT NOT NULL, + paid_limit_bytes BIGINT NOT NULL, + used_bytes BIGINT NOT NULL, + last_block_number INTEGER NOT NULL, + last_block_hash TEXT NOT NULL, + last_block_signature TEXT NOT NULL, + arweave_tx_id TEXT NOT NULL, + is_server BOOLEAN NOT NULL, + address_format_type INTEGER NOT NULL, + address_format_version INTEGER NOT NULL, + server_address TEXT NOT NULL, + sync_servers_json TEXT NOT NULL, + access_servers_json TEXT NOT NULL, + sessions_mode INTEGER NOT NULL, + sessions_json TEXT NOT NULL, + trusted_count INTEGER NOT NULL, + created_at_ms BIGINT NOT NULL, + updated_at_ms BIGINT NOT NULL, + prev_record_hash TEXT NOT NULL, + record_signature TEXT NOT NULL, + raw_data_base64 TEXT NOT NULL, + first_seen_at_ms BIGINT NOT NULL, + last_synced_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_user_pda_current_slot + ON solana_user_pda_current(slot); + +CREATE TABLE IF NOT EXISTS solana_users_manual ( + login TEXT PRIMARY KEY, + blockchain_name TEXT NOT NULL UNIQUE, + solana_key TEXT NOT NULL, + blockchain_key TEXT NOT NULL, + client_key TEXT NOT NULL, + updated_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_solana_users_manual_login + ON solana_users_manual(login); + +CREATE OR REPLACE VIEW solana_users AS +SELECT + current_users.login AS login, + current_users.blockchain_name AS blockchain_name, + current_users.client_key AS solana_key, + current_users.blockchain_key AS blockchain_key, + current_users.client_key AS client_key +FROM solana_user_pda_current current_users +UNION ALL +SELECT + manual.login, + manual.blockchain_name, + manual.solana_key, + manual.blockchain_key, + manual.client_key +FROM solana_users_manual manual +WHERE NOT EXISTS ( + SELECT 1 + FROM solana_user_pda_current current_users + WHERE LOWER(current_users.login) = LOWER(manual.login) +); + +CREATE TABLE IF NOT EXISTS solana_user_pda_history ( + id BIGSERIAL PRIMARY KEY, + tx_signature TEXT NOT NULL, + slot BIGINT NOT NULL, + block_time BIGINT, + pda_address TEXT NOT NULL, + login TEXT NOT NULL, + record_number INTEGER NOT NULL, + recovery_key TEXT NOT NULL, + root_key TEXT NOT NULL, + client_key TEXT NOT NULL, + blockchain_name TEXT NOT NULL, + blockchain_key TEXT NOT NULL, + paid_limit_bytes BIGINT NOT NULL, + used_bytes BIGINT NOT NULL, + last_block_number INTEGER NOT NULL, + last_block_hash TEXT NOT NULL, + last_block_signature TEXT NOT NULL, + arweave_tx_id TEXT NOT NULL, + is_server BOOLEAN NOT NULL, + address_format_type INTEGER NOT NULL, + address_format_version INTEGER NOT NULL, + server_address TEXT NOT NULL, + sync_servers_json TEXT NOT NULL, + access_servers_json TEXT NOT NULL, + sessions_mode INTEGER NOT NULL, + sessions_json TEXT NOT NULL, + trusted_count INTEGER NOT NULL, + created_at_ms BIGINT NOT NULL, + updated_at_ms BIGINT NOT NULL, + prev_record_hash TEXT NOT NULL, + record_signature TEXT NOT NULL, + raw_data_base64 TEXT NOT NULL, + saved_at_ms BIGINT NOT NULL, + UNIQUE (pda_address, record_number) +); + +CREATE INDEX IF NOT EXISTS idx_user_pda_history_login + ON solana_user_pda_history(login); + +CREATE INDEX IF NOT EXISTS idx_user_pda_history_slot + ON solana_user_pda_history(slot); + +CREATE TABLE IF NOT EXISTS active_sessions ( + session_id TEXT PRIMARY KEY, + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + session_key TEXT NOT NULL, + storage_pwd TEXT NOT NULL, + session_created_at_ms BIGINT NOT NULL, + last_authirificated_at_ms BIGINT NOT NULL, + push_endpoint TEXT, + push_p256dh_key TEXT, + push_auth_key TEXT, + client_ip TEXT, + client_info_from_client TEXT, + client_info_from_request TEXT, + session_type INTEGER NOT NULL DEFAULT 1, + client_platform TEXT NOT NULL DEFAULT '', + user_language TEXT +); + +CREATE INDEX IF NOT EXISTS idx_active_sessions_login + ON active_sessions(login); + +CREATE TABLE IF NOT EXISTS esp_pairing_settings ( + login TEXT PRIMARY KEY REFERENCES solana_user_pda_current(login), + enabled INTEGER NOT NULL DEFAULT 0, + password_hash TEXT NOT NULL DEFAULT '', + ttl_seconds INTEGER NOT NULL DEFAULT 300, + failed_attempts INTEGER NOT NULL DEFAULT 0, + first_failed_at_ms BIGINT NOT NULL DEFAULT 0, + blocked_until_ms BIGINT NOT NULL DEFAULT 0, + updated_at_ms BIGINT NOT NULL +); + +CREATE TABLE IF NOT EXISTS esp_pairing_requests ( + pairing_id TEXT PRIMARY KEY, + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + requester_session_key TEXT NOT NULL, + requester_session_type INTEGER NOT NULL DEFAULT 1, + requester_client_platform TEXT NOT NULL DEFAULT '', + payload_type INTEGER NOT NULL, + status TEXT NOT NULL, + short_code TEXT NOT NULL, + fingerprint_b58 TEXT NOT NULL, + encrypted_payload TEXT, + reject_reason TEXT, + approved_by_session_id TEXT, + created_at_ms BIGINT NOT NULL, + expires_at_ms BIGINT NOT NULL, + updated_at_ms BIGINT NOT NULL, + delivered_to_homeserver INTEGER NOT NULL DEFAULT 0 +); + +CREATE INDEX IF NOT EXISTS idx_esp_pairing_requests_login_status + ON esp_pairing_requests(login, status, expires_at_ms); + +CREATE TABLE IF NOT EXISTS users_params ( + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + param TEXT NOT NULL, + time_ms BIGINT NOT NULL, + value TEXT NOT NULL, + client_key TEXT, + signature TEXT, + UNIQUE (login, param) +); + +CREATE INDEX IF NOT EXISTS idx_users_params_login + ON users_params(login); + +CREATE TABLE IF NOT EXISTS ip_geo_cache ( + ip TEXT PRIMARY KEY, + geo TEXT, + updated_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_ip_geo_cache_updated_at + ON ip_geo_cache(updated_at_ms); + +CREATE TABLE IF NOT EXISTS test_free_avatar_uploads ( + login TEXT PRIMARY KEY REFERENCES solana_user_pda_current(login), + used_count INTEGER NOT NULL DEFAULT 0, + updated_at_ms BIGINT NOT NULL, + last_tx_id TEXT NOT NULL DEFAULT '' +); + +CREATE INDEX IF NOT EXISTS idx_test_free_avatar_uploads_updated + ON test_free_avatar_uploads(updated_at_ms); + +CREATE TABLE IF NOT EXISTS sync_servers ( + login TEXT PRIMARY KEY, + server_address TEXT NOT NULL DEFAULT '', + updated_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_sync_servers_updated + ON sync_servers(updated_at_ms); + +CREATE TABLE IF NOT EXISTS blockchain_state ( + blockchain_name TEXT PRIMARY KEY, + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + blockchain_key TEXT NOT NULL, + size_limit BIGINT NOT NULL, + file_size_bytes BIGINT NOT NULL, + last_block_number INTEGER NOT NULL, + last_block_hash BYTEA, + updated_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_blockchain_state_login + ON blockchain_state(login); + +CREATE INDEX IF NOT EXISTS idx_blockchain_state_updated_at + ON blockchain_state(updated_at_ms); + +CREATE TABLE IF NOT EXISTS blocks ( + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + bch_name TEXT NOT NULL REFERENCES blockchain_state(blockchain_name), + block_number INTEGER NOT NULL CHECK (block_number >= 0), + msg_type INTEGER NOT NULL, + msg_sub_type INTEGER NOT NULL, + block_bytes BYTEA NOT NULL, + to_login TEXT, + to_bch_name TEXT, + to_block_number INTEGER CHECK (to_block_number IS NULL OR to_block_number >= 0), + to_block_hash BYTEA, + block_hash BYTEA NOT NULL, + block_signature BYTEA NOT NULL, + edited_by_block_number INTEGER CHECK (edited_by_block_number IS NULL OR edited_by_block_number >= 0), + line_code INTEGER CHECK (line_code IS NULL OR line_code >= 0), + prev_line_number INTEGER CHECK (prev_line_number IS NULL OR prev_line_number >= 0), + prev_line_hash BYTEA, + this_line_number INTEGER CHECK (this_line_number IS NULL OR this_line_number >= 0), + UNIQUE (bch_name, block_number) +); + +CREATE INDEX IF NOT EXISTS idx_blocks_by_chain_number + ON blocks (bch_name, block_number); + +CREATE INDEX IF NOT EXISTS idx_blocks_to_target + ON blocks (to_login, to_bch_name, to_block_number); + +CREATE INDEX IF NOT EXISTS idx_blocks_by_line + ON blocks (bch_name, line_code, this_line_number); + +CREATE TABLE IF NOT EXISTS connections_state ( + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + rel_type INTEGER NOT NULL, + to_login TEXT NOT NULL, + to_bch_name TEXT NOT NULL, + to_block_number INTEGER NOT NULL, + to_block_hash BYTEA NOT NULL, + UNIQUE (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) +); + +CREATE INDEX IF NOT EXISTS idx_connections_state_login + ON connections_state(login); + +CREATE INDEX IF NOT EXISTS idx_connections_state_to_login + ON connections_state(to_login); + +CREATE INDEX IF NOT EXISTS idx_connections_state_pair + ON connections_state(login, to_login); + +CREATE INDEX IF NOT EXISTS idx_connections_state_target + ON connections_state(login, rel_type, to_bch_name, to_block_number); + +CREATE TABLE IF NOT EXISTS message_stats ( + to_login TEXT NOT NULL, + to_bch_name TEXT NOT NULL, + to_block_number INTEGER NOT NULL, + to_block_hash BYTEA NOT NULL, + likes_count INTEGER NOT NULL DEFAULT 0, + replies_count INTEGER NOT NULL DEFAULT 0, + edits_count INTEGER NOT NULL DEFAULT 0, + UNIQUE (to_login, to_bch_name, to_block_number, to_block_hash) +); + +CREATE INDEX IF NOT EXISTS idx_message_stats_target + ON message_stats (to_bch_name, to_block_number, to_block_hash); + +CREATE INDEX IF NOT EXISTS idx_message_stats_login + ON message_stats (to_login); + +CREATE TABLE IF NOT EXISTS reactions_state ( + from_login TEXT NOT NULL, + from_bch_name TEXT NOT NULL, + reaction_type INTEGER NOT NULL, + to_login TEXT NOT NULL, + to_bch_name TEXT NOT NULL, + to_block_number INTEGER NOT NULL, + to_block_hash BYTEA NOT NULL, + last_sub_type INTEGER NOT NULL, + UNIQUE ( + from_login, + from_bch_name, + reaction_type, + to_login, + to_bch_name, + to_block_number, + to_block_hash + ) +); + +CREATE INDEX IF NOT EXISTS idx_reactions_state_target + ON reactions_state (to_bch_name, to_block_number, to_block_hash); + +CREATE INDEX IF NOT EXISTS idx_reactions_state_actor + ON reactions_state (from_login, from_bch_name, reaction_type); + +CREATE TABLE IF NOT EXISTS channel_names_state ( + slug TEXT NOT NULL, + display_name TEXT NOT NULL, + channel_description TEXT NOT NULL DEFAULT '', + owner_login TEXT NOT NULL, + owner_bch_name TEXT NOT NULL, + channel_type_code INTEGER NOT NULL DEFAULT 1, + channel_type_version INTEGER NOT NULL DEFAULT 1, + channel_root_block_number INTEGER NOT NULL, + channel_root_block_hash BYTEA NOT NULL, + created_at_ms BIGINT NOT NULL +); + +CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_owner_type_slug + ON channel_names_state (owner_bch_name, channel_type_code, slug); + +CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_target + ON channel_names_state (owner_bch_name, channel_root_block_number, channel_root_block_hash); + +CREATE INDEX IF NOT EXISTS idx_channel_names_state_owner + ON channel_names_state (owner_login, owner_bch_name); + +CREATE TABLE IF NOT EXISTS chat200_state ( + owner_login TEXT NOT NULL, + owner_bch_name TEXT NOT NULL, + channel_root_block_number INTEGER NOT NULL, + channel_root_block_hash BYTEA NOT NULL, + channel_name TEXT NOT NULL, + channel_type_version INTEGER NOT NULL, + chat_title TEXT NOT NULL DEFAULT '', + updated_at_ms BIGINT NOT NULL, + PRIMARY KEY (owner_bch_name, channel_root_block_number) +); + +CREATE INDEX IF NOT EXISTS idx_chat200_state_owner + ON chat200_state (owner_login, owner_bch_name); + +CREATE TABLE IF NOT EXISTS chat200_members_state ( + owner_bch_name TEXT NOT NULL, + channel_root_block_number INTEGER NOT NULL, + member_login TEXT NOT NULL, + member_channel_name TEXT NOT NULL, + is_active INTEGER NOT NULL, + updated_at_ms BIGINT NOT NULL, + updated_by_block_number INTEGER NOT NULL, + PRIMARY KEY ( + owner_bch_name, + channel_root_block_number, + member_login, + member_channel_name + ) +); + +CREATE INDEX IF NOT EXISTS idx_chat200_members_owner + ON chat200_members_state (owner_bch_name, channel_root_block_number, is_active); + +CREATE TABLE IF NOT EXISTS user_push_tokens ( + token_id TEXT PRIMARY KEY, + login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + session_id TEXT NOT NULL, + provider TEXT NOT NULL, + token TEXT NOT NULL, + platform TEXT, + user_agent TEXT, + updated_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_user_push_tokens_login + ON user_push_tokens(login); + +CREATE INDEX IF NOT EXISTS idx_user_push_tokens_login_session + ON user_push_tokens(login, session_id); + +CREATE TABLE IF NOT EXISTS signed_direct_message_replay ( + from_login TEXT NOT NULL, + time_ms BIGINT NOT NULL, + nonce BIGINT NOT NULL, + created_at_ms BIGINT NOT NULL, + UNIQUE (from_login, time_ms, nonce) +); + +CREATE INDEX IF NOT EXISTS idx_signed_dm_replay_created + ON signed_direct_message_replay(created_at_ms); + +CREATE TABLE IF NOT EXISTS signed_direct_messages_history ( + message_id TEXT PRIMARY KEY, + from_login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + to_login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + target_mode INTEGER NOT NULL, + target_session_id TEXT, + message_type INTEGER NOT NULL, + time_ms BIGINT NOT NULL, + nonce BIGINT NOT NULL, + raw_packet BYTEA NOT NULL, + created_at_ms BIGINT NOT NULL +); + +CREATE INDEX IF NOT EXISTS idx_signed_dm_history_to + ON signed_direct_messages_history(to_login, created_at_ms); + +CREATE TABLE IF NOT EXISTS signed_messages ( + message_key TEXT PRIMARY KEY, + base_key TEXT NOT NULL, + target_login TEXT NOT NULL, + from_login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + to_login TEXT NOT NULL REFERENCES solana_user_pda_current(login), + time_ms BIGINT NOT NULL, + nonce BIGINT NOT NULL, + message_type INTEGER NOT NULL, + revision_time_ms BIGINT NOT NULL DEFAULT 0, + reencrypted_at_ms BIGINT NOT NULL DEFAULT 0, + raw_block BYTEA NOT NULL, + created_at_ms BIGINT NOT NULL, + source_api TEXT NOT NULL, + origin_session_id TEXT, + receipt_ref_base_key TEXT, + receipt_ref_type INTEGER, + read_at_ms BIGINT +); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_target + ON signed_messages(target_login, time_ms, created_at_ms); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_base + ON signed_messages(base_key, message_type); + +CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_receipt_incoming + ON signed_messages(target_login, receipt_ref_base_key) + WHERE message_type = 3 AND receipt_ref_base_key IS NOT NULL; + +CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_receipt_outgoing + ON signed_messages(target_login, receipt_ref_base_key) + WHERE message_type = 4 AND receipt_ref_base_key IS NOT NULL; + +CREATE TABLE IF NOT EXISTS signed_message_session_delivery ( + message_key TEXT NOT NULL REFERENCES signed_messages(message_key), + session_id TEXT NOT NULL, + delivered INTEGER NOT NULL DEFAULT 0, + delivered_at_ms BIGINT, + created_at_ms BIGINT NOT NULL, + PRIMARY KEY (message_key, session_id) +); + +CREATE INDEX IF NOT EXISTS idx_signed_message_delivery_session + ON signed_message_session_delivery(session_id, delivered); + +CREATE OR REPLACE VIEW signed_messages_v2 AS +SELECT + message_key, + base_key, + target_login, + from_login, + to_login, + time_ms, + nonce, + message_type, + revision_time_ms, + reencrypted_at_ms, + raw_block, + created_at_ms, + source_api, + origin_session_id, + receipt_ref_base_key, + receipt_ref_type, + read_at_ms +FROM signed_messages; + +CREATE TABLE IF NOT EXISTS message_views_state ( + viewer_login TEXT NOT NULL, + to_bch_name TEXT NOT NULL, + to_block_number INTEGER NOT NULL, + to_block_hash BYTEA NOT NULL, + first_seen_at_ms BIGINT NOT NULL, + PRIMARY KEY (viewer_login, to_bch_name, to_block_number, to_block_hash) +); + +CREATE INDEX IF NOT EXISTS idx_message_views_state_target + ON message_views_state(to_bch_name, to_block_number, to_block_hash); + +CREATE INDEX IF NOT EXISTS idx_message_views_state_viewer_channel + ON message_views_state(viewer_login, to_bch_name); + +CREATE OR REPLACE FUNCTION shine_login_from_blockchain_name(blockchain_name_in TEXT) +RETURNS TEXT +LANGUAGE plpgsql +AS $$ +DECLARE + dash_pos INTEGER; + suffix TEXT; +BEGIN + IF blockchain_name_in IS NULL OR length(blockchain_name_in) <= 4 THEN + RETURN NULL; + END IF; + + dash_pos := length(blockchain_name_in) - 3; + IF substr(blockchain_name_in, dash_pos, 1) <> '-' THEN + RETURN NULL; + END IF; + + suffix := substr(blockchain_name_in, dash_pos + 1); + IF suffix !~ '^[0-9]{3}$' THEN + RETURN NULL; + END IF; + + RETURN substr(blockchain_name_in, 1, dash_pos - 1); +END; +$$; + +CREATE OR REPLACE FUNCTION shine_resolve_login(target_login_in TEXT, target_bch_name_in TEXT) +RETURNS TEXT +LANGUAGE plpgsql +AS $$ +DECLARE + resolved_login TEXT; +BEGIN + IF target_login_in IS NOT NULL AND btrim(target_login_in) <> '' THEN + RETURN target_login_in; + END IF; + + IF target_bch_name_in IS NOT NULL AND btrim(target_bch_name_in) <> '' THEN + SELECT login + INTO resolved_login + FROM solana_user_pda_current + WHERE blockchain_name = target_bch_name_in + LIMIT 1; + + IF resolved_login IS NOT NULL AND btrim(resolved_login) <> '' THEN + RETURN resolved_login; + END IF; + END IF; + + RETURN shine_login_from_blockchain_name(target_bch_name_in); +END; +$$; + +CREATE OR REPLACE FUNCTION shine_blocks_line_integrity_bi() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +DECLARE + prev_block RECORD; +BEGIN + IF NEW.line_code IS NULL + AND NEW.prev_line_number IS NULL + AND NEW.prev_line_hash IS NULL + AND NEW.this_line_number IS NULL THEN + RETURN NEW; + END IF; + + IF NEW.msg_type NOT IN (0, 1, 3, 4) THEN + RAISE EXCEPTION 'LINE_ERR_UNSUPPORTED_TYPE_WITH_LINE'; + END IF; + + IF NEW.line_code IS NULL + OR NEW.prev_line_number IS NULL + OR NEW.prev_line_hash IS NULL + OR NEW.this_line_number IS NULL THEN + RAISE EXCEPTION 'LINE_ERR_PARTIAL_FIELDS'; + END IF; + + SELECT * + INTO prev_block + FROM blocks + WHERE bch_name = NEW.bch_name + AND block_number = NEW.prev_line_number + LIMIT 1; + + IF NOT FOUND THEN + RAISE EXCEPTION 'LINE_ERR_NO_PREV'; + END IF; + + IF prev_block.block_hash IS DISTINCT FROM NEW.prev_line_hash THEN + RAISE EXCEPTION 'LINE_ERR_PREV_HASH_MISMATCH'; + END IF; + + IF NEW.prev_line_number <> NEW.line_code + AND prev_block.line_code IS DISTINCT FROM NEW.line_code THEN + RAISE EXCEPTION 'LINE_ERR_LINE_CODE_MISMATCH'; + END IF; + + IF NEW.prev_line_number = NEW.line_code THEN + IF NEW.this_line_number <> CASE WHEN NEW.msg_type = 1 THEN 0 ELSE 1 END THEN + RAISE EXCEPTION 'LINE_ERR_FIRST_STEP_BAD_THIS'; + END IF; + RETURN NEW; + END IF; + + IF prev_block.this_line_number IS NULL THEN + RAISE EXCEPTION 'LINE_ERR_THIS_LINE_BAD_STEP'; + END IF; + + IF NEW.msg_type = 1 THEN + IF NEW.this_line_number <> prev_block.this_line_number + AND NEW.this_line_number <> prev_block.this_line_number + 1 THEN + RAISE EXCEPTION 'LINE_ERR_THIS_LINE_BAD_STEP'; + END IF; + ELSE + IF NEW.this_line_number <> prev_block.this_line_number + 1 THEN + RAISE EXCEPTION 'LINE_ERR_THIS_LINE_BAD_STEP'; + END IF; + END IF; + + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_blocks_connection_state_ai() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +DECLARE + resolved_login TEXT; + positive_rel_type INTEGER; +BEGIN + IF NEW.msg_type <> 3 THEN + RETURN NEW; + END IF; + + resolved_login := shine_resolve_login(NEW.to_login, NEW.to_bch_name); + + IF NEW.msg_sub_type IN (10, 20, 30, 40, 50, 52, 54, 60, 70, 74) THEN + IF resolved_login IS NULL OR NEW.to_bch_name IS NULL THEN + RETURN NEW; + END IF; + + DELETE FROM connections_state + WHERE login = NEW.login + AND rel_type = NEW.msg_sub_type + AND to_login = resolved_login; + + INSERT INTO connections_state ( + login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash + ) VALUES ( + NEW.login, + NEW.msg_sub_type, + resolved_login, + NEW.to_bch_name, + COALESCE(NEW.to_block_number, 0), + COALESCE(NEW.to_block_hash, decode(repeat('00', 32), 'hex')) + ); + + RETURN NEW; + END IF; + + positive_rel_type := CASE NEW.msg_sub_type + WHEN 11 THEN 10 + WHEN 21 THEN 20 + WHEN 31 THEN 30 + WHEN 41 THEN 40 + WHEN 51 THEN 50 + WHEN 53 THEN 52 + WHEN 55 THEN 54 + WHEN 61 THEN 60 + WHEN 71 THEN 70 + WHEN 75 THEN 74 + ELSE NULL + END; + + IF positive_rel_type IS NULL OR resolved_login IS NULL THEN + RETURN NEW; + END IF; + + DELETE FROM connections_state + WHERE login = NEW.login + AND rel_type = positive_rel_type + AND to_login = resolved_login; + + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_blocks_message_stats_like_ai() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +DECLARE + previous_sub_type INTEGER; +BEGIN + IF NEW.msg_type <> 2 OR NEW.msg_sub_type NOT IN (1, 2) THEN + RETURN NEW; + END IF; + + IF NEW.to_login IS NULL OR NEW.to_bch_name IS NULL OR NEW.to_block_number IS NULL OR NEW.to_block_hash IS NULL THEN + RETURN NEW; + END IF; + + INSERT INTO message_stats ( + to_login, to_bch_name, to_block_number, to_block_hash, + likes_count, replies_count, edits_count + ) VALUES ( + NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, + 0, 0, 0 + ) + ON CONFLICT (to_login, to_bch_name, to_block_number, to_block_hash) DO NOTHING; + + SELECT last_sub_type + INTO previous_sub_type + FROM reactions_state + WHERE from_login = NEW.login + AND from_bch_name = NEW.bch_name + AND reaction_type = 1 + AND to_login = NEW.to_login + AND to_bch_name = NEW.to_bch_name + AND to_block_number = NEW.to_block_number + AND to_block_hash = NEW.to_block_hash + LIMIT 1; + + IF NEW.msg_sub_type = 1 AND previous_sub_type IS DISTINCT FROM 1 THEN + UPDATE message_stats + SET likes_count = likes_count + 1 + WHERE to_login = NEW.to_login + AND to_bch_name = NEW.to_bch_name + AND to_block_number = NEW.to_block_number + AND to_block_hash = NEW.to_block_hash; + ELSIF NEW.msg_sub_type = 2 AND previous_sub_type = 1 THEN + UPDATE message_stats + SET likes_count = GREATEST(0, likes_count - 1) + WHERE to_login = NEW.to_login + AND to_bch_name = NEW.to_bch_name + AND to_block_number = NEW.to_block_number + AND to_block_hash = NEW.to_block_hash; + END IF; + + INSERT INTO reactions_state ( + from_login, from_bch_name, reaction_type, + to_login, to_bch_name, to_block_number, to_block_hash, + last_sub_type + ) VALUES ( + NEW.login, NEW.bch_name, 1, + NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, + NEW.msg_sub_type + ) + ON CONFLICT ( + from_login, from_bch_name, reaction_type, + to_login, to_bch_name, to_block_number, to_block_hash + ) DO UPDATE SET + last_sub_type = EXCLUDED.last_sub_type; + + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_blocks_message_stats_reply_ai() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + IF NEW.msg_type <> 1 OR NEW.msg_sub_type <> 20 THEN + RETURN NEW; + END IF; + + IF NEW.to_login IS NULL OR NEW.to_bch_name IS NULL OR NEW.to_block_number IS NULL OR NEW.to_block_hash IS NULL THEN + RETURN NEW; + END IF; + + INSERT INTO message_stats ( + to_login, to_bch_name, to_block_number, to_block_hash, + likes_count, replies_count, edits_count + ) VALUES ( + NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, + 0, 0, 0 + ) + ON CONFLICT (to_login, to_bch_name, to_block_number, to_block_hash) DO NOTHING; + + UPDATE message_stats + SET replies_count = replies_count + 1 + WHERE to_login = NEW.to_login + AND to_bch_name = NEW.to_bch_name + AND to_block_number = NEW.to_block_number + AND to_block_hash = NEW.to_block_hash; + + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_blocks_edit_apply_ai() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + IF NEW.msg_type <> 1 OR NEW.msg_sub_type NOT IN (11, 21) THEN + RETURN NEW; + END IF; + + UPDATE blocks + SET edited_by_block_number = NEW.block_number + WHERE login = NEW.login + AND bch_name = NEW.bch_name + AND block_number = NEW.to_block_number + AND NEW.to_block_number IS NOT NULL; + + IF NEW.to_login IS NULL OR NEW.to_bch_name IS NULL OR NEW.to_block_number IS NULL OR NEW.to_block_hash IS NULL THEN + RETURN NEW; + END IF; + + INSERT INTO message_stats ( + to_login, to_bch_name, to_block_number, to_block_hash, + likes_count, replies_count, edits_count + ) VALUES ( + NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, + 0, 0, 0 + ) + ON CONFLICT (to_login, to_bch_name, to_block_number, to_block_hash) DO NOTHING; + + UPDATE message_stats + SET edits_count = edits_count + 1 + WHERE to_login = NEW.to_login + AND to_bch_name = NEW.to_bch_name + AND to_block_number = NEW.to_block_number + AND to_block_hash = NEW.to_block_hash; + + RETURN NEW; +END; +$$; + +DROP TRIGGER IF EXISTS trg_blocks_line_integrity_bi ON blocks; +CREATE TRIGGER trg_blocks_line_integrity_bi +BEFORE INSERT ON blocks +FOR EACH ROW +EXECUTE FUNCTION shine_blocks_line_integrity_bi(); + +DROP TRIGGER IF EXISTS trg_blocks_connection_state_ai ON blocks; +CREATE TRIGGER trg_blocks_connection_state_ai +AFTER INSERT ON blocks +FOR EACH ROW +EXECUTE FUNCTION shine_blocks_connection_state_ai(); + +DROP TRIGGER IF EXISTS trg_blocks_message_stats_like_ai ON blocks; +CREATE TRIGGER trg_blocks_message_stats_like_ai +AFTER INSERT ON blocks +FOR EACH ROW +EXECUTE FUNCTION shine_blocks_message_stats_like_ai(); + +DROP TRIGGER IF EXISTS trg_blocks_message_stats_reply_ai ON blocks; +CREATE TRIGGER trg_blocks_message_stats_reply_ai +AFTER INSERT ON blocks +FOR EACH ROW +EXECUTE FUNCTION shine_blocks_message_stats_reply_ai(); + +DROP TRIGGER IF EXISTS trg_blocks_edit_apply_ai ON blocks; +CREATE TRIGGER trg_blocks_edit_apply_ai +AFTER INSERT ON blocks +FOR EACH ROW +EXECUTE FUNCTION shine_blocks_edit_apply_ai(); + +COMMIT; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java index 298dc245..2333f7a0 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java @@ -544,7 +544,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { } private void upsertChat200StateFromCreate(Chat200CreateSeed seed) throws Exception { - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection(); + try (Connection c = shine.db.DbController.getInstance().getConnection(); PreparedStatement ps = c.prepareStatement(""" INSERT INTO chat200_state ( owner_login, owner_bch_name, channel_root_block_number, channel_root_block_hash, @@ -586,7 +586,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { long updatedAtMs = block.timestamp * 1000L; if ("desc".equals(cmd.command)) { - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection(); + try (Connection c = shine.db.DbController.getInstance().getConnection(); PreparedStatement ps = c.prepareStatement(""" UPDATE chat200_state SET chat_title = ?, updated_at_ms = ? @@ -606,7 +606,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { String memberChannel = cmd.arg2 == null ? "" : cmd.arg2.trim(); if (memberLogin.isBlank() || memberChannel.isBlank()) return; - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection(); + try (Connection c = shine.db.DbController.getInstance().getConnection(); PreparedStatement ps = c.prepareStatement(""" INSERT INTO chat200_members_state ( owner_bch_name, channel_root_block_number, member_login, member_channel_name, @@ -630,7 +630,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { } private boolean isChat200Channel(String ownerBch, int rootBlockNumber) throws Exception { - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection(); + try (Connection c = shine.db.DbController.getInstance().getConnection(); PreparedStatement ps = c.prepareStatement(""" SELECT channel_type_code FROM channel_names_state diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java index 6a5ab99b..a5f22c1f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java @@ -68,7 +68,7 @@ public final class BlockchainWriter { prepareWriteArtifacts(blockchainName, block.blockNumber, blockHashHex, candidateBytes); boolean committed = false; - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection()) { + try (Connection c = shine.db.DbController.getInstance().getConnection()) { c.setAutoCommit(false); try { // 1) insert block diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java index 4b61c9d6..4ff7d627 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java @@ -4,7 +4,7 @@ import blockchain.BchBlockEntry; import blockchain.body.CreateChannelBody; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.channels.ChannelNameRules; import shine.db.dao.ChannelNameStateDAO; import shine.db.entities.ChannelNameStateEntry; @@ -48,7 +48,7 @@ public final class ChannelNamesStateBootstrapper { ORDER BY bch_name, block_number """; - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { c.setAutoCommit(false); try { try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index b1e3fc80..c2aa63a6 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -30,7 +30,7 @@ final class ChannelsReadSupport { private ChannelsReadSupport() {} static String canonicalLogin(Connection c, String anyCaseLogin) throws SQLException { - String sql = "SELECT login FROM solana_users WHERE login = ? COLLATE NOCASE LIMIT 1"; + String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, anyCaseLogin); try (ResultSet rs = ps.executeQuery()) { @@ -411,7 +411,7 @@ final class ChannelsReadSupport { String partnerBchSql = """ SELECT blockchain_name FROM blockchain_state - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) ORDER BY blockchain_name LIMIT 1 """; @@ -462,7 +462,7 @@ final class ChannelsReadSupport { String sql = """ SELECT msg_sub_type FROM blocks - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) AND msg_type = ? AND to_bch_name = ? AND to_block_number = ? diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java index 2dacd60e..a4301417 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetChannelMe import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetChannelMessages_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.MsgSubType; import utils.blockchain.BlockchainNameUtil; import blockchain.body.CreateChannelBody; @@ -39,7 +39,7 @@ public class Net_GetChannelMessages_Handler implements JsonMessageHandler { boolean asc = req.getSort() == null || !"desc".equalsIgnoreCase(req.getSort()); - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String viewerLogin = ctx != null ? ctx.getLogin() : null; if (viewerLogin == null || viewerLogin.isBlank()) { viewerLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelsCounters_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelsCounters_Handler.java index 9f775da6..59c25b57 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelsCounters_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelsCounters_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetChannelsC import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetChannelsCounters_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.MsgSubType; import java.sql.Connection; @@ -26,7 +26,7 @@ public class Net_GetChannelsCounters_Handler implements JsonMessageHandler { if (req.getLogin() == null || req.getLogin().isBlank()) { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля: login"); } - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String canonicalLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin().trim()); if (canonicalLogin == null) { return NetExceptionResponseFactory.error(req, 404, "user_not_found", "Пользователь не найден"); @@ -52,7 +52,7 @@ public class Net_GetChannelsCounters_Handler implements JsonMessageHandler { String sql = """ SELECT COUNT(*) FROM connections_state - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) AND rel_type = ? """; try (PreparedStatement ps = c.prepareStatement(sql)) { @@ -68,7 +68,7 @@ public class Net_GetChannelsCounters_Handler implements JsonMessageHandler { String sql = """ SELECT COUNT(*) FROM channel_names_state - WHERE owner_login = ? COLLATE NOCASE + WHERE LOWER(owner_login) = LOWER(?) AND channel_type_code = ? """; try (PreparedStatement ps = c.prepareStatement(sql)) { @@ -81,7 +81,7 @@ public class Net_GetChannelsCounters_Handler implements JsonMessageHandler { } private int countMyChannels(Connection c, String login) throws Exception { - String bchCountSql = "SELECT COUNT(*) FROM blockchain_state WHERE login = ? COLLATE NOCASE"; + String bchCountSql = "SELECT COUNT(*) FROM blockchain_state WHERE LOWER(login) = LOWER(?)"; int stories = 0; try (PreparedStatement ps = c.prepareStatement(bchCountSql)) { ps.setString(1, login); @@ -92,7 +92,7 @@ public class Net_GetChannelsCounters_Handler implements JsonMessageHandler { String namedSql = """ SELECT COUNT(*) FROM channel_names_state - WHERE owner_login = ? COLLATE NOCASE + WHERE LOWER(owner_login) = LOWER(?) AND channel_type_code IN (1,100,200) """; int named = 0; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetGroupDialog_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetGroupDialog_Handler.java index c4e23f2a..c9855c61 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetGroupDialog_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetGroupDialog_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetGroupDial import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetGroupDialog_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.channels.ChannelNameRules; import java.sql.Connection; @@ -33,7 +33,7 @@ public class Net_GetGroupDialog_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля group"); } - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { Net_GetGroupDialog_Response resp = new Net_GetGroupDialog_Response(); resp.setOp(req.getOp()); resp.setRequestId(req.getRequestId()); @@ -115,7 +115,7 @@ public class Net_GetGroupDialog_Handler implements JsonMessageHandler { String canonicalLogin = ChannelsReadSupport.canonicalLogin(c, ref.memberLogin); if (canonicalLogin == null || canonicalLogin.isBlank()) return null; - String bchSql = "SELECT blockchain_name FROM blockchain_state WHERE login = ? COLLATE NOCASE ORDER BY blockchain_name LIMIT 1"; + String bchSql = "SELECT blockchain_name FROM blockchain_state WHERE LOWER(login) = LOWER(?) ORDER BY blockchain_name LIMIT 1"; String memberBch = null; try (PreparedStatement ps = c.prepareStatement(bchSql)) { ps.setString(1, canonicalLogin); @@ -214,4 +214,3 @@ public class Net_GetGroupDialog_Handler implements JsonMessageHandler { String text; } } - diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java index 7ee1ee5e..3c0b8570 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java @@ -12,7 +12,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_GetMessageTh import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -35,7 +35,7 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { int depthDown = req.getDepthDown() == null ? 2 : Math.max(0, req.getDepthDown()); int childLimit = req.getLimitChildrenPerNode() == null ? 50 : Math.max(1, req.getLimitChildrenPerNode()); - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String viewerLogin = ctx != null ? ctx.getLogin() : null; if (viewerLogin == null || viewerLogin.isBlank()) { viewerLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListGroupChats200_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListGroupChats200_Handler.java index 6b5af1c3..5de34d74 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListGroupChats200_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListGroupChats200_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_ListGroupCha import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_ListGroupChats200_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -27,7 +27,7 @@ public class Net_ListGroupChats200_Handler implements JsonMessageHandler { if (req.getLogin() == null || req.getLogin().isBlank()) { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля: login"); } - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String canonicalLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin().trim()); if (canonicalLogin == null) { return NetExceptionResponseFactory.error(req, 404, "user_not_found", "Пользователь не найден"); @@ -59,7 +59,7 @@ public class Net_ListGroupChats200_Handler implements JsonMessageHandler { ) m ON m.owner_bch_name = s.owner_bch_name AND m.channel_root_block_number = s.channel_root_block_number - WHERE s.owner_login = ? COLLATE NOCASE + WHERE LOWER(s.owner_login) = LOWER(?) ORDER BY s.updated_at_ms DESC, s.channel_root_block_number DESC """; List<Net_ListGroupChats200_Response.Row> out = new ArrayList<>(); @@ -83,4 +83,3 @@ public class Net_ListGroupChats200_Handler implements JsonMessageHandler { return out; } } - diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java index aaeb677c..23ac1763 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java @@ -11,7 +11,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_ListSubscrip import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -29,7 +29,7 @@ public class Net_ListSubscriptionsFeed_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля: login"); } - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String canonicalLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin().trim()); if (canonicalLogin == null) { return NetExceptionResponseFactory.error(req, 404, "user_not_found", "Пользователь не найден"); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_MarkChannelMessagesSeen_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_MarkChannelMessagesSeen_Handler.java index 3d96ee8a..a41b9811 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_MarkChannelMessagesSeen_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_MarkChannelMessagesSeen_Handler.java @@ -11,7 +11,7 @@ import server.logic.ws_protocol.JSON.handlers.channels.entyties.Net_MarkChannelM import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; -import shine.db.SqliteDbController; +import shine.db.DbController; import java.sql.Connection; import java.sql.PreparedStatement; @@ -37,7 +37,7 @@ public class Net_MarkChannelMessagesSeen_Handler implements JsonMessageHandler { return ok; } - try (Connection c = SqliteDbController.getInstance().getConnection()) { + try (Connection c = DbController.getInstance().getConnection()) { String viewerLogin = ctx != null ? ctx.getLogin() : null; if (viewerLogin == null || viewerLogin.isBlank()) { viewerLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin()); @@ -64,9 +64,10 @@ public class Net_MarkChannelMessagesSeen_Handler implements JsonMessageHandler { """.formatted(strictChannelMatch ? "AND line_code = ?" : ""); String insertSql = """ - INSERT OR IGNORE INTO message_views_state ( + INSERT INTO message_views_state ( viewer_login, to_bch_name, to_block_number, to_block_hash, first_seen_at_ms ) VALUES (?, ?, ?, ?, ?) + ON CONFLICT DO NOTHING """; int seenAccepted = 0; @@ -132,4 +133,3 @@ public class Net_MarkChannelMessagesSeen_Handler implements JsonMessageHandler { } } } - diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java index 9a7350ae..9c0fe3d1 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java @@ -31,7 +31,7 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_FIELDS", "Нельзя добавить себя"); } - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection()) { + try (Connection c = shine.db.DbController.getInstance().getConnection()) { String canonicalTo = findCanonicalLogin(c, toLogin); if (canonicalTo == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "Пользователь не найден"); @@ -58,7 +58,7 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String login) throws Exception { - String sql = "SELECT login FROM solana_users WHERE login = ? COLLATE NOCASE LIMIT 1"; + String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); try (ResultSet rs = ps.executeQuery()) { @@ -68,7 +68,7 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { } private String findPrimaryBlockchain(Connection c, String login) throws Exception { - String sql = "SELECT blockchain_name FROM blockchain_state WHERE login = ? COLLATE NOCASE ORDER BY blockchain_name LIMIT 1"; + String sql = "SELECT blockchain_name FROM blockchain_state WHERE LOWER(login) = LOWER(?) ORDER BY blockchain_name LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); try (ResultSet rs = ps.executeQuery()) { @@ -82,10 +82,11 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { String toLogin, String toBchName) throws Exception { String sql = """ - INSERT OR IGNORE INTO connections_state ( + INSERT INTO connections_state ( login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash ) VALUES (?, ?, ?, ?, ?, ?) + ON CONFLICT (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) DO NOTHING """; try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java index 1c6a4765..96e1599f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java @@ -11,7 +11,7 @@ import server.logic.ws_protocol.JSON.handlers.connections.entyties.Net_GetFriend import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.dao.ConnectionsStateDAO; import java.sql.Connection; @@ -51,7 +51,7 @@ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { final String loginAnyCase = req.getLogin().trim(); try { - SqliteDbController db = SqliteDbController.getInstance(); + DbController db = DbController.getInstance(); ConnectionsStateDAO dao = ConnectionsStateDAO.getInstance(); try (Connection c = db.getConnection()) { @@ -100,7 +100,7 @@ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { String sql = """ SELECT login FROM solana_users - WHERE login = ? COLLATE NOCASE + WHERE LOWER(login) = LOWER(?) LIMIT 1 """; try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java index 36bca444..9e9ed1c7 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java @@ -39,7 +39,7 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { } } - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection()) { + try (Connection c = shine.db.DbController.getInstance().getConnection()) { String canonicalLogin = findCanonicalLogin(c, requestedLogin); if (canonicalLogin == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "Пользователь не найден"); @@ -113,7 +113,7 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String loginAnyCase) throws Exception { - String sql = "SELECT login FROM solana_users WHERE login = ? COLLATE NOCASE LIMIT 1"; + String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, loginAnyCase); try (ResultSet rs = ps.executeQuery()) { @@ -170,9 +170,9 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { MAX(CASE WHEN up.param = 'ava' THEN up.value END) AS avatar_value FROM solana_users su LEFT JOIN users_params up - ON up.login = su.login COLLATE NOCASE + ON LOWER(up.login) = LOWER(su.login) AND up.param IN ('gender', 'official', 'shine', 'ava') - WHERE su.login COLLATE NOCASE IN (%s) + WHERE LOWER(su.login) IN (%s) GROUP BY su.login ORDER BY su.login """.formatted(String.join(", ", placeholders)); @@ -180,7 +180,7 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { try (PreparedStatement ps = c.prepareStatement(sql)) { int i = 1; for (String login : logins) { - ps.setString(i, login); + ps.setString(i, normKey(login)); i += 1; } try (ResultSet rs = ps.executeQuery()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_ListContacts_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_ListContacts_Handler.java index 7275ed79..92dcd2df 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_ListContacts_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_ListContacts_Handler.java @@ -22,7 +22,7 @@ public class Net_ListContacts_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.UNVERIFIED, "NOT_AUTHENTICATED", "Требуется авторизация"); } - try (Connection c = shine.db.SqliteDbController.getInstance().getConnection()) { + try (Connection c = shine.db.DbController.getInstance().getConnection()) { List<String> contacts = ConnectionsStateDAO.getInstance().listOutgoingByRelTypeCanonical(c, ctx.getLogin(), MsgSubType.CONNECTION_CONTACT); Net_ListContacts_Response resp = new Net_ListContacts_Response(); resp.setOp(req.getOp()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_GetUserParam_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_GetUserParam_Handler.java index 93c12989..69b69bf0 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_GetUserParam_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_GetUserParam_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_GetUserPar import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_GetUserParam_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.dao.UserParamsDAO; import shine.db.entities.UserParamEntry; @@ -48,7 +48,7 @@ public class Net_GetUserParam_Handler implements JsonMessageHandler { String param = req.getParam().trim(); try { - SqliteDbController db = SqliteDbController.getInstance(); + DbController db = DbController.getInstance(); UserParamsDAO dao = UserParamsDAO.getInstance(); try (Connection c = db.getConnection()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java index 866a9c58..e2561cd4 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_ListUserPa import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_ListUserParams_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.dao.SolanaUsersDAO; import shine.db.dao.UserParamsDAO; import shine.db.entities.SolanaUserEntry; @@ -50,7 +50,7 @@ public class Net_ListUserParams_Handler implements JsonMessageHandler { String login = req.getLogin().trim(); try { - SqliteDbController db = SqliteDbController.getInstance(); + DbController db = DbController.getInstance(); UserParamsDAO dao = UserParamsDAO.getInstance(); List<UserParamEntry> entries; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java index 1d1f369a..dac10f7f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java @@ -11,7 +11,7 @@ import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_UpsertUser import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_UpsertUserParam_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.SqliteDbController; +import shine.db.DbController; import shine.db.dao.SolanaUsersDAO; import shine.db.dao.UserParamsDAO; import shine.db.entities.SolanaUserEntry; @@ -104,7 +104,7 @@ public class Net_UpsertUserParam_Handler implements JsonMessageHandler { } // ---------------- DB checks + upsert ---------------- - SqliteDbController db = SqliteDbController.getInstance(); + DbController db = DbController.getInstance(); SolanaUsersDAO usersDAO = SolanaUsersDAO.getInstance(); UserParamsDAO paramsDAO = UserParamsDAO.getInstance(); diff --git a/SHiNE-server/src/main/resources/application.properties b/SHiNE-server/src/main/resources/application.properties index 1107feea..1ff80c8f 100644 --- a/SHiNE-server/src/main/resources/application.properties +++ b/SHiNE-server/src/main/resources/application.properties @@ -1,5 +1,8 @@ server.1port=7070 db.path=data/shine.sqlite +db.url= +db.user= +db.password= server.SHiNE.login=shineupme solana.cluster=mainnet-beta solana.rpcUrl=https://api.mainnet-beta.solana.com diff --git a/VERSION.properties b/VERSION.properties index b546c88b..36ef3dfe 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.319 +server.version=1.2.320 diff --git a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md index 746f40d7..5c80df7f 100644 --- a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md +++ b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md @@ -1,116 +1,96 @@ -# Интеграция синхронизации `shine_users` в основной сервер +# Интеграция Solana users sync в сервер SHiNE -Этот документ описывает, что нужно для встраивания Solana sync-модуля пользовательских PDA в основной SHiNE-server. +Этот документ фиксирует серверную конфигурацию модуля синхронизации `shine_users` +и базовую инициализацию новой PostgreSQL runtime-схемы сервера. -Основной архитектурный документ: +## Что уже есть -- [docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md](/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-product/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md) - -## Что уже готово - -Отдельный модуль `sync-solana` уже умеет: - -- подключаться к Solana RPC и WebSocket; -- вычислять `users_economy_config_pda`; -- хранить checkpoint синхронизации в PostgreSQL; -- читать историю через `getSignaturesForAddress(users_economy_config_pda)`; -- поддерживать realtime через websocket; -- выполнять страховочный periodic poll раз в 5 минут; -- хранить: +- основной сервер запускает `SolanaUsersSyncStartupService` до продолжения startup; +- модуль синхронизации держит актуальными таблицы: - `solana_sync_state` - `solana_sync_tx_history` - `solana_user_pda_current` - `solana_user_pda_history` -- блокировать дальнейший startup до входа в `READY`. +- источник истины по пользовательским PDA: `solana_user_pda_current`. -## Что нужно перенести в основной сервер +## Что должно быть настроено в `application.properties` -Из `sync-solana` в сервер нужно перенести рабочие классы: - -- `sync-solana/src/main/java/sync-solana/config/` -- `sync-solana/src/main/java/sync-solana/service/` -- `sync-solana/src/main/java/sync-solana/source/` -- `sync-solana/src/main/java/sync-solana/source/rpc/` -- `sync-solana/src/main/java/sync-solana/storage/postgres/` -- `sync-solana/src/main/java/sync-solana/codec/` -- `sync-solana/src/main/java/sync-solana/model/` -- `sync-solana/src/main/java/sync-solana/util/` - -`Main.java` нужен только как reference для bootstrap и как отдельный `main` в сервере уже не понадобится. - -Рекомендуемый вариант: - -- оформить это как отдельный Gradle submodule внутри `SHiNE-server`; -- запускать его из server startup как lifecycle-сервис. - -## Порядок запуска в сервере - -При старте основного сервера последовательность должна быть такой: - -1. прочитать общий server config; -2. создать Solana users sync service; -3. вызвать `start()`; -4. вызвать `awaitReady()`; -5. только после этого продолжать остальной startup сервера: - - синхронизацию с другими нодами; - - запуск WS/HTTP; - - остальную серверную инициализацию. - -Если Solana initial sync не дошёл до `READY`, startup сервера должен считаться неуспешным. - -## Переменные окружения сервера - -На сервере должны быть доступны: - -```text -SOLANA_RPC_URL= -SOLANA_WS_URL= -SOLANA_PROGRAM_ID=SHiNEPr1APdAgNBteUyBXcNovaHctpSjUu8oH2ZJdN6 -SYNC_POLL_INTERVAL_SECONDS=300 +```properties +solana.users.sync.enabled=true +solana.users.sync.rpcUrl=https://api.devnet.solana.com +solana.users.sync.wsUrl=wss://api.devnet.solana.com/ +solana.users.sync.databaseUrl=jdbc:postgresql://127.0.0.1:5432/shine_server_db +solana.users.sync.dbUser=shine_server +solana.users.sync.dbPassword=CHANGE_ME +solana.users.sync.pollIntervalSeconds=300 ``` -Для PostgreSQL sync-модуль может использовать уже существующую server PostgreSQL-конфигурацию, если сервер уже предоставляет: +Замечания: + +- `solana.users.sync.enabled=true` обязателен, иначе сервер пропустит startup sync. +- `solana.users.sync.databaseUrl` должен указывать на ту же PostgreSQL БД, где создана серверная runtime-схема. +- `solana.users.sync.wsUrl` задаётся явно, автоматически из `rpcUrl` не строится. + +## Как создать пустую PostgreSQL runtime БД + +SQL-скрипт инициализации лежит в: ```text -DATABASE_URL= -PGUSER= -PGPASSWORD= +SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql ``` -Если в сервере используется другая схема конфигов, нужно сделать адаптер на уровне server config, а не менять саму логику sync. +Пример запуска: -## Логи +```bash +psql \ + "postgresql://shine_server:CHANGE_ME@127.0.0.1:5432/shine_server_db" \ + -f SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +``` -Sync-модуль должен писать в общие server logs через тот же `slf4j/logback`, что и основной сервер. +Скрипт: -Минимум, который должен быть виден в логах: +- создаёт таблицу версии схемы `db_schema_version`; +- ставит `schema_version = 1`; +- создаёт таблицы sync-модуля Solana users; +- создаёт server runtime tables; +- не создаёт legacy SQLite-таблицы `solana_users` и `direct_messages`; +- использует `signed_messages` как единственную таблицу серверных DM. -- старт sync-модуля; -- вход в `READY`; -- realtime sync; -- periodic poll; -- reconnect websocket; -- fallback на full snapshot; -- ошибки RPC/WS/DB. +## Как поднять PostgreSQL в Docker -## Что потребуется по deploy +Шаблоны лежат в: -Отдельных deploy-скриптов для sync-модуля не требуется, если он встроен в основной server jar. +```text +deploy/postgres/docker-compose.yml.example +deploy/postgres/.env.example +``` -По deploy нужно: +Минимальная последовательность: -- обновить server env/override-конфиг новыми переменными `SOLANA_*` и `SYNC_POLL_INTERVAL_SECONDS`; -- убедиться, что на сервере доступен PostgreSQL, в который модуль будет писать свои таблицы; -- при необходимости описать новые env в документации конкретного server-контура. +```bash +mkdir -p /home/player/SHiNE/postgres +cp deploy/postgres/.env.example /home/player/SHiNE/postgres/.env +cp deploy/postgres/docker-compose.yml.example /home/player/SHiNE/postgres/docker-compose.yml +cd /home/player/SHiNE/postgres +docker compose up -d +``` -## Что ещё проверить после интеграции +После старта контейнера: -После встраивания в основной сервер нужно отдельно проверить: +```bash +cp /path/to/SHiNE-product/application.properties ./application.properties +# задать db.url/db.user/db.password и запустить сервер +``` -- startup сервера с ожиданием `awaitReady()`; -- создание таблиц в server PostgreSQL; -- initial sync после пустой БД; -- restart recovery после уже существующего checkpoint; -- realtime update через websocket; -- periodic poll без новых транзакций; -- fallback на full snapshot при потере history anchor. +Сложность тут низкая: + +- сам Docker Postgres поднимается просто; +- сервер сам создаёт runtime schema v1, если БД пустая и в ней нет `db_schema_version`; +- основная аккуратность нужна в паролях, bind-mount каталоге и backup; +- для SHiNE важно не открывать `5432` наружу, только `127.0.0.1:5432`. + +## Что пока остаётся как есть + +- `sync_servers` сервер по-прежнему загружает из server PDA в Solana; +- старый SQLite runtime код ещё может лежать в репозитории, но новая runtime-схема на него не должна опираться; +- механический перенос DAO и runtime SQL на PostgreSQL делается отдельным шагом после утверждения схемы `v1`. diff --git a/deploy/postgres/.env.example b/deploy/postgres/.env.example new file mode 100644 index 00000000..cb7c44ca --- /dev/null +++ b/deploy/postgres/.env.example @@ -0,0 +1,7 @@ +POSTGRES_SUPERUSER_DB=postgres +POSTGRES_SUPERUSER=postgres +POSTGRES_SUPERUSER_PASSWORD=CHANGE_ME_SUPERUSER +SHINE_APP_DB=shine_server_db +SHINE_APP_USER=shine_server +SHINE_APP_PASSWORD=CHANGE_ME_APP +SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/shine_server_db diff --git a/deploy/postgres/docker-compose.yml.example b/deploy/postgres/docker-compose.yml.example new file mode 100644 index 00000000..caa60a08 --- /dev/null +++ b/deploy/postgres/docker-compose.yml.example @@ -0,0 +1,24 @@ +services: + shine-postgres: + image: postgres:18 + container_name: shine-postgres + restart: unless-stopped + env_file: + - .env + environment: + POSTGRES_DB: ${POSTGRES_SUPERUSER_DB} + POSTGRES_USER: ${POSTGRES_SUPERUSER} + POSTGRES_PASSWORD: ${POSTGRES_SUPERUSER_PASSWORD} + PGDATA: /var/lib/postgresql/data/pgdata + ports: + - "127.0.0.1:5432:5432" + volumes: + - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data + healthcheck: + test: + - CMD-SHELL + - pg_isready -U "$${POSTGRES_SUPERUSER}" -d "$${POSTGRES_SUPERUSER_DB}" + interval: 10s + timeout: 5s + retries: 10 + start_period: 20s diff --git a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md index 35da6ea2..0aa9ded4 100644 --- a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md +++ b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md @@ -15,6 +15,12 @@ На текущем этапе модуль должен запускаться как отдельный Java-процесс со своим `main`, но внутренняя структура должна быть такой, чтобы потом его можно было перенести в сервер как обычный lifecycle-сервис. +На дату `2026-07-24` в основном сервере SHiNE уже есть серверная интеграция startup-уровня: + +- сервер запускает sync-модуль до продолжения собственного startup; +- server startup ждёт входа модуля в состояние `READY`; +- актуальный источник истины по пользователям для нового PostgreSQL runtime-слоя: `solana_user_pda_current`. + --- ## Базовая идея diff --git a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md new file mode 100644 index 00000000..520038e0 --- /dev/null +++ b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md @@ -0,0 +1,79 @@ +# PostgreSQL runtime schema v1 + +Дата фиксации: `2026-07-24` + +## Назначение + +Это целевая серверная runtime-схема PostgreSQL для SHiNE без опоры на SQLite. + +Схема `v1` нужна как стартовая точка большого механического переноса DAO и runtime-запросов +с существующей SQLite-логики на PostgreSQL. + +## Ключевые решения + +- Источник истины по пользователям: `solana_user_pda_current`. +- Legacy-таблица `solana_users` в новой схеме не создаётся. +- Legacy-таблица `direct_messages` в новой схеме не создаётся. +- Основная таблица серверных личных сообщений: `signed_messages`. +- Таблица `blockchain_state` сохраняется как runtime-state таблица сервера: + она не является identity-слоем и не мигрируется как legacy SQLite data. +- Триггеры по `blocks` сохраняются и переписываются под PostgreSQL. + +## Таблицы sync-модуля Solana users + +- `solana_sync_state` +- `solana_sync_tx_history` +- `solana_user_pda_current` +- `solana_user_pda_history` + +## Таблицы server runtime + +- `db_schema_version` +- `active_sessions` +- `esp_pairing_settings` +- `esp_pairing_requests` +- `users_params` +- `ip_geo_cache` +- `test_free_avatar_uploads` +- `sync_servers` +- `blockchain_state` +- `blocks` +- `connections_state` +- `message_stats` +- `reactions_state` +- `channel_names_state` +- `chat200_state` +- `chat200_members_state` +- `user_push_tokens` +- `signed_direct_message_replay` +- `signed_direct_messages_history` +- `signed_messages` +- `signed_message_session_delivery` + +## Триггеры + +Схема `v1` уже включает PostgreSQL-версии триггеров: + +- `trg_blocks_line_integrity_bi` +- `trg_blocks_connection_state_ai` +- `trg_blocks_message_stats_like_ai` +- `trg_blocks_message_stats_reply_ai` +- `trg_blocks_edit_apply_ai` + +## Что не входит в v1 + +- удаление legacy SQLite-классов; +- переименование Java DAO/классов `*V2` в runtime-коде; +- перенос прямых SQL-запросов из хэндлеров в DAO/service; +- переключение всего runtime-кода на новый `DbProvider`. + +Это отдельные механические шаги поверх уже утверждённой схемы. + +## Инициализация пустой БД + +Если сервер подключается к PostgreSQL через `db.url=jdbc:postgresql:...` и в выбранной БД ещё нет таблицы `db_schema_version`, +он сам автоматически накатывает `schema_v1.sql` из classpath-ресурса: + +- ресурс: `shine-server-db/src/main/resources/postgres/schema_v1.sql` +- признак пустой схемы: отсутствует `db_schema_version` +- стартовая версия схемы: `1` From bfdada6792baec2a7a683cd8ac72c67f161d1e3a45979f324b7e8eafeee7d215 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 21:24:06 +0400 Subject: [PATCH 31/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=B0?= =?UTF-8?q?=D0=B2=D1=82=D0=BE=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20PostgreSQL=20schema=20v1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/shine/db/DatabaseInitializer.java | 96 +++++++++++++++---- VERSION.properties | 2 +- 2 files changed, 78 insertions(+), 20 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index ca921ac0..fd4c7603 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -787,33 +787,88 @@ public final class DatabaseInitializer { List<String> statements = new ArrayList<>(); StringBuilder current = new StringBuilder(); boolean inSingleQuote = false; + boolean inLineComment = false; + boolean inBlockComment = false; String dollarQuoteTag = null; for (int i = 0; i < sqlScript.length(); i++) { char ch = sqlScript.charAt(i); - if (dollarQuoteTag == null && ch == '\'' && !isEscapedSingleQuote(sqlScript, i)) { - inSingleQuote = !inSingleQuote; + if (inLineComment) { + current.append(ch); + if (ch == '\n') { + inLineComment = false; + } + continue; + } + + if (inBlockComment) { + current.append(ch); + if (ch == '*' && i + 1 < sqlScript.length() && sqlScript.charAt(i + 1) == '/') { + current.append('/'); + i += 1; + inBlockComment = false; + } + continue; + } + + if (dollarQuoteTag != null) { + if (startsWithAt(sqlScript, i, dollarQuoteTag)) { + current.append(dollarQuoteTag); + i += dollarQuoteTag.length() - 1; + dollarQuoteTag = null; + } else { + current.append(ch); + } + continue; + } + + if (inSingleQuote) { + current.append(ch); + if (ch == '\'') { + if (i + 1 < sqlScript.length() && sqlScript.charAt(i + 1) == '\'') { + current.append('\''); + i += 1; + } else { + inSingleQuote = false; + } + } + continue; + } + + if (ch == '-' && i + 1 < sqlScript.length() && sqlScript.charAt(i + 1) == '-') { + current.append("--"); + i += 1; + inLineComment = true; + continue; + } + + if (ch == '/' && i + 1 < sqlScript.length() && sqlScript.charAt(i + 1) == '*') { + current.append("/*"); + i += 1; + inBlockComment = true; + continue; + } + + if (ch == '\'') { + inSingleQuote = true; current.append(ch); continue; } - if (!inSingleQuote) { - String tag = readDollarQuoteTag(sqlScript, i); - if (tag != null) { - current.append(tag); - i += tag.length() - 1; - if (dollarQuoteTag == null) { - dollarQuoteTag = tag; - } else if (dollarQuoteTag.equals(tag)) { - dollarQuoteTag = null; - } - continue; - } + String tag = readDollarQuoteTag(sqlScript, i); + if (tag != null) { + current.append(tag); + i += tag.length() - 1; + dollarQuoteTag = tag; + continue; } - if (ch == ';' && !inSingleQuote && dollarQuoteTag == null) { - statements.add(current.toString()); + if (ch == ';') { + String statement = current.toString().trim(); + if (!statement.isEmpty()) { + statements.add(current.toString()); + } current.setLength(0); continue; } @@ -822,13 +877,16 @@ public final class DatabaseInitializer { } if (!current.isEmpty()) { - statements.add(current.toString()); + String statement = current.toString().trim(); + if (!statement.isEmpty()) { + statements.add(current.toString()); + } } return statements; } - private static boolean isEscapedSingleQuote(String sqlScript, int index) { - return index + 1 < sqlScript.length() && sqlScript.charAt(index + 1) == '\''; + private static boolean startsWithAt(String sqlScript, int index, String token) { + return sqlScript.regionMatches(index, token, 0, token.length()); } private static String readDollarQuoteTag(String sqlScript, int index) { diff --git a/VERSION.properties b/VERSION.properties index 36ef3dfe..043db45b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.320 +server.version=1.2.321 From 1406111f221ceae8b2107ec69743684ccfcc8b88385840fcd8b1f13e04f13028 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 21:31:20 +0400 Subject: [PATCH 32/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20Postgr?= =?UTF-8?q?eSQL=20schema=20v1=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=B2=D1=82?= =?UTF-8?q?=D0=BE=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine-server-db/src/main/resources/postgres/schema_v1.sql | 2 +- VERSION.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 128b590c..05cc3aee 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -676,7 +676,7 @@ BEGIN END IF; IF NEW.prev_line_number = NEW.line_code THEN - IF NEW.this_line_number <> CASE WHEN NEW.msg_type = 1 THEN 0 ELSE 1 END THEN + IF NEW.this_line_number <> (CASE WHEN NEW.msg_type = 1 THEN 0 ELSE 1 END) THEN RAISE EXCEPTION 'LINE_ERR_FIRST_STEP_BAD_THIS'; END IF; RETURN NEW; diff --git a/VERSION.properties b/VERSION.properties index 043db45b..ef92e756 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.321 +server.version=1.2.322 From ce5595bc16727bd701fb37af061e391e5eb73d39c57480a86d58498d34543043 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 22:22:37 +0400 Subject: [PATCH 33/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B2=D0=BE?= =?UTF-8?q?=D1=81=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20chain-state=20=D0=B8=D0=B7=20PostgreSQL=20sync-?= =?UTF-8?q?=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/shine/db/KeyEncodingUtil.java | 115 ++++++++++++++++++ .../java/shine/db/dao/BlockchainStateDAO.java | 2 +- .../src/main/java/shine/db/dao/BlocksDAO.java | 4 +- .../shine/db/dao/SolanaUserPdaCurrentDAO.java | 78 ++++++++++++ .../java/shine/db/dao/SolanaUsersDAO.java | 7 +- .../main/java/shine/db/dao/UserCreateDAO.java | 2 +- .../entities/SolanaUserPdaCurrentEntry.java | 46 +++++++ .../sync/PeriodicBlockchainSyncService.java | 45 ++++++- VERSION.properties | 2 +- 9 files changed, 292 insertions(+), 9 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/KeyEncodingUtil.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserPdaCurrentEntry.java diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/KeyEncodingUtil.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/KeyEncodingUtil.java new file mode 100644 index 00000000..867bd394 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/KeyEncodingUtil.java @@ -0,0 +1,115 @@ +package shine.db; + +import java.util.Base64; + +/** + * Нормализация ключей из разных storage-слоёв к каноническому Base64(32). + */ +public final class KeyEncodingUtil { + + private static final String BASE58_ALPHABET = + "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; + + private static final int[] BASE58_INDEXES = new int[128]; + + static { + for (int i = 0; i < BASE58_INDEXES.length; i++) { + BASE58_INDEXES[i] = -1; + } + for (int i = 0; i < BASE58_ALPHABET.length(); i++) { + BASE58_INDEXES[BASE58_ALPHABET.charAt(i)] = i; + } + } + + private KeyEncodingUtil() {} + + public static String normalizeKeyToBase64_32(String rawKey) { + if (rawKey == null) { + return null; + } + + String value = rawKey.trim(); + if (value.isEmpty()) { + return value; + } + + byte[] asBase64 = tryDecodeBase64_32(value); + if (asBase64 != null) { + return Base64.getEncoder().encodeToString(asBase64); + } + + byte[] asBase58 = tryDecodeBase58_32(value); + if (asBase58 != null) { + return Base64.getEncoder().encodeToString(asBase58); + } + + return value; + } + + private static byte[] tryDecodeBase64_32(String value) { + try { + byte[] decoded = Base64.getDecoder().decode(value); + return decoded.length == 32 ? decoded : null; + } catch (IllegalArgumentException ignore) { + return null; + } + } + + private static byte[] tryDecodeBase58_32(String value) { + byte[] decoded = decodeBase58(value); + return decoded.length == 32 ? decoded : null; + } + + private static byte[] decodeBase58(String input) { + if (input.isEmpty()) { + return new byte[0]; + } + + byte[] input58 = new byte[input.length()]; + for (int i = 0; i < input.length(); i++) { + char c = input.charAt(i); + if (c >= BASE58_INDEXES.length || BASE58_INDEXES[c] < 0) { + return new byte[0]; + } + input58[i] = (byte) BASE58_INDEXES[c]; + } + + int zeros = 0; + while (zeros < input58.length && input58[zeros] == 0) { + zeros++; + } + + byte[] decoded = new byte[input.length()]; + int outputStart = decoded.length; + int inputStart = zeros; + while (inputStart < input58.length) { + int mod = divmod256(input58, inputStart); + if (input58[inputStart] == 0) { + inputStart++; + } + decoded[--outputStart] = (byte) mod; + } + + while (outputStart < decoded.length && decoded[outputStart] == 0) { + outputStart++; + } + + byte[] result = new byte[decoded.length - outputStart + zeros]; + for (int i = 0; i < zeros; i++) { + result[i] = 0; + } + System.arraycopy(decoded, outputStart, result, zeros, decoded.length - outputStart); + return result; + } + + private static int divmod256(byte[] number58, int startAt) { + int remainder = 0; + for (int i = startAt; i < number58.length; i++) { + int digit58 = number58[i] & 0xFF; + int temp = remainder * 58 + digit58; + number58[i] = (byte) (temp / 256); + remainder = temp % 256; + } + return remainder; + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java index 88bf71a9..b11e29c7 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java @@ -229,7 +229,7 @@ public final class BlockchainStateDAO { private static void setBytesNullable(PreparedStatement ps, int index, byte[] b) throws SQLException { if (b != null) ps.setBytes(index, b); - else ps.setNull(index, Types.BLOB); + else ps.setNull(index, Types.BINARY); } private static String nn(String s) { return s == null ? "" : s; } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java index f61c75ce..2719c31c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java @@ -90,7 +90,7 @@ public final class BlocksDAO { else ps.setNull(i++, Types.INTEGER); if (e.getToBlockHash() != null) ps.setBytes(i++, e.getToBlockHash()); - else ps.setNull(i++, Types.BLOB); + else ps.setNull(i++, Types.BINARY); ps.setBytes(i++, e.getBlockHash()); ps.setBytes(i++, e.getBlockSignature()); @@ -106,7 +106,7 @@ public final class BlocksDAO { else ps.setNull(i++, Types.INTEGER); if (e.getPrevLineHash() != null) ps.setBytes(i++, e.getPrevLineHash()); - else ps.setNull(i++, Types.BLOB); + else ps.setNull(i++, Types.BINARY); if (e.getThisLineNumber() != null) ps.setInt(i++, e.getThisLineNumber()); else ps.setNull(i++, Types.INTEGER); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java new file mode 100644 index 00000000..c66e975f --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java @@ -0,0 +1,78 @@ +package shine.db.dao; + +import shine.db.DbController; +import shine.db.KeyEncodingUtil; +import shine.db.entities.SolanaUserPdaCurrentEntry; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * Доступ к актуальной PostgreSQL-таблице пользователей, поддерживаемой sync-модулем. + */ +public final class SolanaUserPdaCurrentDAO { + + private static volatile SolanaUserPdaCurrentDAO instance; + + private final DbController db = DbController.getInstance(); + + private SolanaUserPdaCurrentDAO() {} + + public static SolanaUserPdaCurrentDAO getInstance() { + if (instance == null) { + synchronized (SolanaUserPdaCurrentDAO.class) { + if (instance == null) { + instance = new SolanaUserPdaCurrentDAO(); + } + } + } + return instance; + } + + public SolanaUserPdaCurrentEntry getByBlockchainName(String blockchainName) throws SQLException { + if (!db.isPostgres()) { + return null; + } + try (Connection c = db.getConnection()) { + return getByBlockchainName(c, blockchainName); + } + } + + public SolanaUserPdaCurrentEntry getByBlockchainName(Connection c, String blockchainName) throws SQLException { + if (!db.isPostgres()) { + return null; + } + + String sql = """ + SELECT + login, + blockchain_name, + blockchain_key, + paid_limit_bytes + FROM solana_user_pda_current + WHERE blockchain_name = ? + LIMIT 1 + """; + + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, blockchainName); + try (ResultSet rs = ps.executeQuery()) { + if (!rs.next()) { + return null; + } + return mapRow(rs); + } + } + } + + private SolanaUserPdaCurrentEntry mapRow(ResultSet rs) throws SQLException { + SolanaUserPdaCurrentEntry entry = new SolanaUserPdaCurrentEntry(); + entry.setLogin(rs.getString("login")); + entry.setBlockchainName(rs.getString("blockchain_name")); + entry.setBlockchainKey(KeyEncodingUtil.normalizeKeyToBase64_32(rs.getString("blockchain_key"))); + entry.setPaidLimitBytes(rs.getLong("paid_limit_bytes")); + return entry; + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index 8395e1e0..d1f588eb 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -1,6 +1,7 @@ package shine.db.dao; import shine.db.DbController; +import shine.db.KeyEncodingUtil; import shine.db.entities.SolanaUserEntry; import java.sql.*; @@ -242,9 +243,9 @@ public final class SolanaUsersDAO { e.setLogin(rs.getString("login")); e.setBlockchainName(rs.getString("blockchain_name")); - e.setSolanaKey(rs.getString("solana_key")); - e.setBlockchainKey(rs.getString("blockchain_key")); - e.setClientKey(rs.getString("client_key")); + e.setSolanaKey(KeyEncodingUtil.normalizeKeyToBase64_32(rs.getString("solana_key"))); + e.setBlockchainKey(KeyEncodingUtil.normalizeKeyToBase64_32(rs.getString("blockchain_key"))); + e.setClientKey(KeyEncodingUtil.normalizeKeyToBase64_32(rs.getString("client_key"))); return e; } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java index 86065d2e..6c71d37e 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java @@ -119,7 +119,7 @@ public final class UserCreateDAO { ps.setLong(i++, 0L); ps.setInt(i++, -1); - ps.setNull(i++, Types.BLOB); // старт: блоков ещё нет + ps.setNull(i++, Types.BINARY); // старт: блоков ещё нет ps.setLong(i++, nowMs); ps.executeUpdate(); // если blockchainName занят -> constraint (PK) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserPdaCurrentEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserPdaCurrentEntry.java new file mode 100644 index 00000000..33fcce29 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserPdaCurrentEntry.java @@ -0,0 +1,46 @@ +package shine.db.entities; + +/** + * Минимальный срез текущей записи пользователя из PostgreSQL sync-таблицы. + * + * Источник: solana_user_pda_current + */ +public final class SolanaUserPdaCurrentEntry { + + private String login; + private String blockchainName; + private String blockchainKey; + private long paidLimitBytes; + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } + + public String getBlockchainName() { + return blockchainName; + } + + public void setBlockchainName(String blockchainName) { + this.blockchainName = blockchainName; + } + + public String getBlockchainKey() { + return blockchainKey; + } + + public void setBlockchainKey(String blockchainKey) { + this.blockchainKey = blockchainKey; + } + + public long getPaidLimitBytes() { + return paidLimitBytes; + } + + public void setPaidLimitBytes(long paidLimitBytes) { + this.paidLimitBytes = paidLimitBytes; + } +} diff --git a/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java b/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java index ddf7f7e2..f88f49bd 100644 --- a/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java +++ b/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java @@ -13,7 +13,9 @@ import shine.db.dao.BlockchainStateDAO; import shine.db.dao.SyncServersDAO; import shine.db.dao.UserCreateDAO; import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.SolanaUserPdaCurrentDAO; import shine.db.entities.BlockchainStateEntry; +import shine.db.entities.SolanaUserPdaCurrentEntry; import shine.db.entities.SyncServerEntry; import server.sync.BlockchainResyncGuard; import utils.files.FileStoreUtil; @@ -57,6 +59,7 @@ public final class PeriodicBlockchainSyncService { private static final BlockchainResyncCleanupDAO RESYNC_CLEANUP_DAO = BlockchainResyncCleanupDAO.getInstance(); private static final FileStoreUtil FILE_STORE = FileStoreUtil.getInstance(); private static final SolanaUsersDAO SOLANA_USERS_DAO = SolanaUsersDAO.getInstance(); + private static final SolanaUserPdaCurrentDAO SOLANA_USER_PDA_CURRENT_DAO = SolanaUserPdaCurrentDAO.getInstance(); private static final String CONFIG_IMPORT_PROFILE_FROM_PARTNER = "sync.importUserProfileFromPartner.enabled"; private PeriodicBlockchainSyncService() {} @@ -354,9 +357,15 @@ public final class PeriodicBlockchainSyncService { private static boolean ensureLocalChainExists(SyncServerEntry partner, String blockchainName) { try { - if (STATE_DAO.getByBlockchainName(blockchainName) != null) { + BlockchainStateEntry existingState = STATE_DAO.getByBlockchainName(blockchainName); + if (hasValidBlockchainKey(existingState)) { return true; } + + if (ensureLocalChainStateFromCurrentPostgresSnapshot(blockchainName, existingState)) { + return true; + } + String login = BlockchainNameUtil.loginFromBlockchainName(blockchainName); if (login == null || login.isBlank()) { return false; @@ -373,6 +382,40 @@ public final class PeriodicBlockchainSyncService { } } + private static boolean ensureLocalChainStateFromCurrentPostgresSnapshot(String blockchainName, + BlockchainStateEntry existingState) throws Exception { + SolanaUserPdaCurrentEntry currentUser = SOLANA_USER_PDA_CURRENT_DAO.getByBlockchainName(blockchainName); + if (currentUser == null) { + return false; + } + + BlockchainStateEntry state = new BlockchainStateEntry(); + state.setBlockchainName(currentUser.getBlockchainName()); + state.setLogin(currentUser.getLogin()); + state.setBlockchainKey(currentUser.getBlockchainKey()); + state.setSizeLimit(currentUser.getPaidLimitBytes() > 0 ? currentUser.getPaidLimitBytes() : 100_000L); + state.setFileSizeBytes(existingState == null ? 0L : existingState.getFileSizeBytes()); + state.setLastBlockNumber(existingState == null ? -1 : existingState.getLastBlockNumber()); + state.setLastBlockHash(existingState == null ? null : existingState.getLastBlockHash()); + state.setUpdatedAtMs(System.currentTimeMillis()); + + if (existingState == null) { + STATE_DAO.insertIfMissing(state); + } else { + STATE_DAO.upsert(state); + } + + return hasValidBlockchainKey(STATE_DAO.getByBlockchainName(blockchainName)); + } + + private static boolean hasValidBlockchainKey(BlockchainStateEntry state) { + if (state == null) { + return false; + } + byte[] keyBytes = state.getBlockchainKeyBytes(); + return keyBytes != null && keyBytes.length == 32; + } + private static boolean importUserProfileFromPartner(SyncServerEntry partner, String login) throws Exception { if (partner == null || partner.getServerAddress() == null || partner.getServerAddress().isBlank()) { return false; diff --git a/VERSION.properties b/VERSION.properties index ef92e756..e63d5594 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.322 +server.version=1.2.323 From f197196c21d8607a439bdef9df69c259ddc1457c04ca005973a7fb7544259d34 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 22:26:59 +0400 Subject: [PATCH 34/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=83=D1=81=D0=BF=D0=BE=D0=BA=D0=BE=D0=B8=D1=82=D1=8C=20AddBlo?= =?UTF-8?q?ck=20sync=20=D0=BF=D1=80=D0=B8=20=D1=83=D0=B6=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B3=D0=BD=D0=B0=D0=BD=D0=BD=D0=BE=D0=BC=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=BD=D0=B5=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/server/sync/AddBlockSyncService.java | 14 +++++++++++++- VERSION.properties | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/AddBlockSyncService.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/AddBlockSyncService.java index b2fd337f..2e4741ab 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/AddBlockSyncService.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/AddBlockSyncService.java @@ -114,6 +114,12 @@ public final class AddBlockSyncService { return; } + if (firstTry.serverAlreadyHasBlock(blockNumber)) { + log.info("AddBlock sync skipped: partner already has block. partner={} blockchainName={} blockNumber={} remoteLast={}", + partner.getLogin(), blockchainName, blockNumber, firstTry.serverLastGlobalNumber()); + return; + } + if (!firstTry.needsBackfill()) { log.warn("AddBlock sync failed without backfill: partner={} blockchainName={} blockNumber={} code={}", partner.getLogin(), blockchainName, blockNumber, firstTry.code()); @@ -123,7 +129,7 @@ public final class AddBlockSyncService { int remoteLast = firstTry.serverLastGlobalNumber(); int fromBlockNumber = remoteLast + 1; if (fromBlockNumber > blockNumber) { - log.warn("AddBlock sync inconsistent backfill window: partner={} blockchainName={} remoteLast={} target={}", + log.info("AddBlock sync skipped: partner already caught up during backfill window. partner={} blockchainName={} remoteLast={} target={}", partner.getLogin(), blockchainName, remoteLast, blockNumber); return; } @@ -295,6 +301,12 @@ public final class AddBlockSyncService { boolean needsBackfill() { return !ok && ("bad_prev_hash".equalsIgnoreCase(code) || "bad_block_number".equalsIgnoreCase(code)); } + + boolean serverAlreadyHasBlock(int targetBlockNumber) { + return !ok + && serverLastGlobalNumber != Integer.MIN_VALUE + && serverLastGlobalNumber >= targetBlockNumber; + } } private static final class SyncWsListener implements WebSocket.Listener { diff --git a/VERSION.properties b/VERSION.properties index e63d5594..a83f4e2b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.323 +server.version=1.2.324 From 5af98ac9117884da558a3cc7843f1f2c065a0043c9fd00f0c8156c332d88ef29 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 24 Jul 2026 22:30:36 +0400 Subject: [PATCH 35/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D1=82=D1=8C=20PostgreSQL?= =?UTF-8?q?=20schema=20v1=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=83=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B9=20Solana=20sync=20=D0=B1=D0=B0=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine-server-db/src/main/resources/postgres/schema_v1.sql | 4 ++-- VERSION.properties | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 05cc3aee..7dceb287 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -60,8 +60,8 @@ CREATE TABLE IF NOT EXISTS solana_sync_tx_history ( is_relevant BOOLEAN NOT NULL, affected_pda_address TEXT, affected_login TEXT, - raw_tx_json TEXT NOT NULL, - saved_at_ms BIGINT NOT NULL + raw_summary_json TEXT NOT NULL, + processed_at_ms BIGINT NOT NULL ); CREATE INDEX IF NOT EXISTS idx_sync_tx_history_slot diff --git a/VERSION.properties b/VERSION.properties index a83f4e2b..c6df679d 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.324 +server.version=1.2.325 From 3bb6fa1e59a189bb79ad176596a77692107c4431091500abfc8f42e0ddf469ab Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 25 Jul 2026 03:29:58 +0400 Subject: [PATCH 36/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D1=8F=D0=B7=D0=B0=D1=82=D1=8C=20PostgreSQL?= =?UTF-8?q?=20DM=20runtime=20=D0=BE=D1=82=20signed=5Fmessages=5Fv2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine/db/dao/SignedMessagesV2DAO.java | 6 +++--- .../src/main/resources/postgres/schema_v1.sql | 21 ------------------- VERSION.properties | 2 +- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java index 6d8fc683..12339b63 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java @@ -248,9 +248,9 @@ public final class SignedMessagesV2DAO { time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, receipt_ref_base_key, receipt_ref_type, read_at_ms - FROM signed_messages_v2 + FROM %s WHERE message_key = ? - """; + """.formatted(messagesTable()); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, messageKey); try (ResultSet rs = ps.executeQuery()) { @@ -571,7 +571,7 @@ public final class SignedMessagesV2DAO { message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type + receipt_ref_base_key, receipt_ref_type, read_at_ms FROM %s WHERE message_type IN (7, 8) AND ( diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 7dceb287..1da3fe34 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -541,27 +541,6 @@ CREATE TABLE IF NOT EXISTS signed_message_session_delivery ( CREATE INDEX IF NOT EXISTS idx_signed_message_delivery_session ON signed_message_session_delivery(session_id, delivered); -CREATE OR REPLACE VIEW signed_messages_v2 AS -SELECT - message_key, - base_key, - target_login, - from_login, - to_login, - time_ms, - nonce, - message_type, - revision_time_ms, - reencrypted_at_ms, - raw_block, - created_at_ms, - source_api, - origin_session_id, - receipt_ref_base_key, - receipt_ref_type, - read_at_ms -FROM signed_messages; - CREATE TABLE IF NOT EXISTS message_views_state ( viewer_login TEXT NOT NULL, to_bch_name TEXT NOT NULL, diff --git a/VERSION.properties b/VERSION.properties index c6df679d..872e98e4 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.325 +server.version=1.2.326 From 59a1117ed3e3eb8f8edc1ab83dc550de50b31adfe3824c3c04f4f82a4acb706b Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 25 Jul 2026 03:33:18 +0400 Subject: [PATCH 37/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D1=82=D1=8C=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20server.versi?= =?UTF-8?q?on=20=D0=B2=20jar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- build.gradle | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index 872e98e4..6df3a14e 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.326 +server.version=1.2.327 diff --git a/build.gradle b/build.gradle index f31b8758..28a0756f 100644 --- a/build.gradle +++ b/build.gradle @@ -38,6 +38,8 @@ tasks.jar { tasks.processResources { filteringCharset = 'UTF-8' + inputs.file(appVersionFile) + inputs.property('projectVersion', project.version.toString()) filesMatching('application.properties') { expand(projectVersion: project.version.toString()) } From 8ddf592ffc7ea3745cc2ff838586ea6d4108af763be7420341544459e6ce636d Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 25 Jul 2026 20:31:06 +0400 Subject: [PATCH 38/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D1=82=D1=8C=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=20GetMessageThread?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Net_GetMessageThread_Handler.java | 71 +++++++++++++++++-- .../java/test/it/cases/IT_06_ChannelsApi.java | 7 +- VERSION.properties | 2 +- 3 files changed, 72 insertions(+), 8 deletions(-) diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java index 3c0b8570..6c3e7ffe 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java @@ -28,7 +28,7 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { public Net_Response handle(Net_Request baseRequest, ConnectionContext ctx) { Net_GetMessageThread_Request req = (Net_GetMessageThread_Request) baseRequest; if (req.getMessage() == null || req.getMessage().getBlockchainName() == null || req.getMessage().getBlockNumber() == null) { - return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля message"); + return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "bad_fields", "Некорректные поля message"); } int depthUp = req.getDepthUp() == null ? 20 : Math.max(0, req.getDepthUp()); @@ -40,9 +40,9 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { if (viewerLogin == null || viewerLogin.isBlank()) { viewerLogin = ChannelsReadSupport.canonicalLogin(c, req.getLogin()); } - PostRow focusRow = findByNumber(c, req.getMessage().getBlockchainName(), req.getMessage().getBlockNumber()); + PostRow focusRow = findFocusRow(c, req.getMessage()); if (focusRow == null) { - return NetExceptionResponseFactory.error(req, 404, "message_not_found", "Сообщение РЅРµ найдено"); + return NetExceptionResponseFactory.error(req, 404, "message_not_found", "Сообщение не найдено"); } Net_GetMessageThread_Response resp = new Net_GetMessageThread_Response(); @@ -67,10 +67,31 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { return resp; } catch (Exception e) { log.error("GetMessageThread failed", e); - return NetExceptionResponseFactory.error(req, WireCodes.Status.INTERNAL_ERROR, "internal_error", "Внутренняя ошибка сервера"); + return NetExceptionResponseFactory.error(req, WireCodes.Status.INTERNAL_ERROR, "internal_error", "Внутренняя ошибка сервера"); } } + private PostRow findFocusRow(Connection c, Net_GetMessageThread_Request.MessageSelector selector) throws Exception { + String blockchainName = String.valueOf(selector.getBlockchainName() == null ? "" : selector.getBlockchainName()).trim(); + int blockNumber = selector.getBlockNumber(); + byte[] blockHash = parseOptionalHash(selector.getBlockHash()); + + if (blockHash != null) { + PostRow exact = findByNumberAndHash(c, blockchainName, blockNumber, blockHash); + if (exact != null) return exact; + } + + PostRow byNumber = findByNumber(c, blockchainName, blockNumber); + if (byNumber != null) return byNumber; + + if (blockHash != null) { + PostRow byHash = findByHash(c, blockHash); + if (byHash != null) return byHash; + } + + return null; + } + private List<Net_GetMessageThread_Response.MessageNodeTree> loadChildren(Connection c, PostRow parent, int depthDown, int childLimit, String viewerLogin) throws Exception { if (depthDown <= 0) return List.of(); List<PostRow> replies = findReplies(c, parent.bchName, parent.blockNumber, parent.blockHash, childLimit); @@ -123,6 +144,48 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { } } + private PostRow findByNumberAndHash(Connection c, String bchName, int blockNumber, byte[] blockHash) throws Exception { + String sql = """ + SELECT login,bch_name,block_number,block_hash,block_bytes,to_bch_name,to_block_number,to_block_hash,line_code,msg_sub_type,this_line_number + FROM blocks + WHERE bch_name=? AND block_number=? AND block_hash=? + LIMIT 1 + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, bchName); + ps.setInt(2, blockNumber); + ps.setBytes(3, blockHash); + try (ResultSet rs = ps.executeQuery()) { + return rs.next() ? mapRow(rs) : null; + } + } + } + + private PostRow findByHash(Connection c, byte[] blockHash) throws Exception { + String sql = """ + SELECT login,bch_name,block_number,block_hash,block_bytes,to_bch_name,to_block_number,to_block_hash,line_code,msg_sub_type,this_line_number + FROM blocks + WHERE block_hash=? + LIMIT 1 + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setBytes(1, blockHash); + try (ResultSet rs = ps.executeQuery()) { + return rs.next() ? mapRow(rs) : null; + } + } + } + + private byte[] parseOptionalHash(String hex) { + String value = String.valueOf(hex == null ? "" : hex).trim(); + if (value.isEmpty()) return null; + try { + return ChannelsReadSupport.hexToBytes(value); + } catch (Exception ignored) { + return null; + } + } + private PostRow mapRow(ResultSet rs) throws Exception { PostRow row = new PostRow(); row.login = rs.getString("login"); diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_06_ChannelsApi.java b/SHiNE-server/src/test/java/test/it/cases/IT_06_ChannelsApi.java index 80055668..f45208c5 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_06_ChannelsApi.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_06_ChannelsApi.java @@ -57,11 +57,12 @@ public class IT_06_ChannelsApi { JsonNode first = messages.get(0); int blockNumber = first.path("messageRef").path("blockNumber").asInt(-1); String blockHash = first.path("messageRef").path("blockHash").asText(""); + String messageBlockchainName = first.path("authorBlockchainName").asText(""); - if (blockNumber > 0 && !blockHash.isBlank()) { + if (!messageBlockchainName.isBlank() && blockNumber >= 0 && !blockHash.isBlank()) { String threadResp = ws.call( "GetMessageThread", - JsonBuilders.getMessageThread(bchName, blockNumber, blockHash, 20, 2, 50), + JsonBuilders.getMessageThread(messageBlockchainName, blockNumber, blockHash, 20, 2, 50), t ); check200(r, threadResp, "GetMessageThread"); @@ -73,7 +74,7 @@ public class IT_06_ChannelsApi { } r.ok("GetMessageThread: payload shape OK"); } else { - r.ok("GetMessageThread: пропущено, у первого сообщения нет корректного ref"); + r.ok("GetMessageThread: пропущено, у первого сообщения нет полного messageRef/authorBlockchainName"); } } else { r.ok("GetMessageThread: пропущено, в канале нет сообщений"); diff --git a/VERSION.properties b/VERSION.properties index 6df3a14e..7068baa2 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.327 +server.version=1.2.328 From 1dddb5fb3c1979c01c3d49b00822cc6676cb1a43666b7b4550f622a2754d1483 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 25 Jul 2026 21:16:15 +0400 Subject: [PATCH 39/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=D0=B0=20=D0=B8=D0=BC=D1=91=D0=BD=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B8=D1=81=D0=BA=20=D1=82=D1=80=D0=B5=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine/db/channels/ChannelNameRules.java | 15 ++++++++++++++ .../blockchain/Net_AddBlock_Handler.java | 9 +++++---- .../Net_GetMessageThread_Handler.java | 20 ------------------- VERSION.properties | 2 +- shine-UI/js/pages/add-channel-view.js | 7 ++++--- shine-UI/js/services/channel-name-rules.js | 13 ++++++------ shine-UI/js/services/ui-error-texts.js | 3 ++- 7 files changed, 34 insertions(+), 35 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java index ee5aa2e9..c810da2c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java @@ -8,6 +8,10 @@ public final class ChannelNameRules { private static final int MAX_DISPLAY_NAME_LENGTH = 32; private static final Pattern DISPLAY_ALLOWED_PATTERN = Pattern.compile("^[A-Za-z0-9_-]+$"); + private static final Pattern PUBLIC_CHANNEL_ALLOWED_PATTERN = + Pattern.compile("^[A-Za-z0-9_-]+$"); + private static final Pattern DIGITS_ONLY_PATTERN = + Pattern.compile("^[0-9]+$"); private ChannelNameRules() {} @@ -34,6 +38,17 @@ public final class ChannelNameRules { return normalized; } + public static String requireValidPublicDisplayNameForCreate(String rawName) { + String normalized = requireValidDisplayNameForCreate(rawName); + if (!PUBLIC_CHANNEL_ALLOWED_PATTERN.matcher(normalized).matches()) { + throw new IllegalArgumentException("channelName contains unsupported characters"); + } + if (DIGITS_ONLY_PATTERN.matcher(normalized).matches()) { + throw new IllegalArgumentException("channelName must not contain only digits"); + } + return normalized; + } + public static String toCanonicalSlug(String rawName) { String normalized = normalizeDisplayName(rawName); if (normalized.isEmpty()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java index 2333f7a0..2ffc971d 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java @@ -279,18 +279,19 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { ChannelNameStateEntry channelNameStateEntry = null; Chat200CreateSeed chat200CreateSeed = null; if (block.body instanceof CreateChannelBody createChannelBody) { + int channelTypeCode = Short.toUnsignedInt(createChannelBody.channelTypeCode); + int channelTypeVersion = Short.toUnsignedInt(createChannelBody.channelTypeVersion); final String normalizedName; final String slug; try { - normalizedName = ChannelNameRules.requireValidDisplayNameForCreate(createChannelBody.channelName); + normalizedName = channelTypeCode == (CreateChannelBody.CHANNEL_TYPE_PERSONAL & 0xFFFF) + ? ChannelNameRules.requireValidDisplayNameForCreate(createChannelBody.channelName) + : ChannelNameRules.requireValidPublicDisplayNameForCreate(createChannelBody.channelName); slug = ChannelNameRules.toCanonicalSlug(normalizedName); } catch (IllegalArgumentException badName) { return new AddBlockResult(WireCodes.Status.BAD_REQUEST, "bad_channel_name", serverLastNum, serverLastHashHex); } - int channelTypeCode = Short.toUnsignedInt(createChannelBody.channelTypeCode); - int channelTypeVersion = Short.toUnsignedInt(createChannelBody.channelTypeVersion); - try { if (channelNameStateDAO.existsByOwnerTypeAndSlug(blockchainName, channelTypeCode, slug)) { return new AddBlockResult(409, "channel_name_already_exists", serverLastNum, serverLastHashHex); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java index 6c3e7ffe..243ea507 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetMessageThread_Handler.java @@ -84,11 +84,6 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { PostRow byNumber = findByNumber(c, blockchainName, blockNumber); if (byNumber != null) return byNumber; - if (blockHash != null) { - PostRow byHash = findByHash(c, blockHash); - if (byHash != null) return byHash; - } - return null; } @@ -161,21 +156,6 @@ public class Net_GetMessageThread_Handler implements JsonMessageHandler { } } - private PostRow findByHash(Connection c, byte[] blockHash) throws Exception { - String sql = """ - SELECT login,bch_name,block_number,block_hash,block_bytes,to_bch_name,to_block_number,to_block_hash,line_code,msg_sub_type,this_line_number - FROM blocks - WHERE block_hash=? - LIMIT 1 - """; - try (PreparedStatement ps = c.prepareStatement(sql)) { - ps.setBytes(1, blockHash); - try (ResultSet rs = ps.executeQuery()) { - return rs.next() ? mapRow(rs) : null; - } - } - } - private byte[] parseOptionalHash(String hex) { String value = String.valueOf(hex == null ? "" : hex).trim(); if (value.isEmpty()) return null; diff --git a/VERSION.properties b/VERSION.properties index 7068baa2..0e58dedd 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.328 +server.version=1.2.329 diff --git a/shine-UI/js/pages/add-channel-view.js b/shine-UI/js/pages/add-channel-view.js index d4b3c70b..a073aa3c 100644 --- a/shine-UI/js/pages/add-channel-view.js +++ b/shine-UI/js/pages/add-channel-view.js @@ -45,12 +45,13 @@ export function render({ navigate }) { form.className = 'card stack'; form.innerHTML = ` <strong class="channel-head-title">Создание канала</strong> - <p class="channel-head-meta">Можно использовать только латиницу, цифры, _ и -.</p> - <p class="channel-head-meta">Длина названия: от 1 до 32 символов.</p> + <p class="channel-head-meta">Разрешены только латинские буквы, цифры, _ и -.</p> + <p class="channel-head-meta">Длина названия: от 3 до 32 символов. Название не должно состоять только из цифр.</p> + <p class="channel-head-meta">Можно использовать большие и маленькие буквы, но уникальность проверяется без учёта регистра.</p> <div class="meta-muted">Тип канала фиксирован: публичный (1).</div> <label for="channel-name">Название канала</label> - <input id="channel-name" class="input" maxlength="32" placeholder="Например: my_channel-1" required /> + <input id="channel-name" class="input" maxlength="32" placeholder="Например: My-Channel_1" required /> <div id="channel-name-error" class="meta-muted inline-error"></div> <label for="channel-description">Описание канала (необязательно)</label> diff --git a/shine-UI/js/services/channel-name-rules.js b/shine-UI/js/services/channel-name-rules.js index e5d7abec..e1248cf7 100644 --- a/shine-UI/js/services/channel-name-rules.js +++ b/shine-UI/js/services/channel-name-rules.js @@ -1,6 +1,7 @@ -const MIN_LEN = 1; +const MIN_LEN = 3; const MAX_LEN = 32; const ALLOWED_CHARS_RE = /^[A-Za-z0-9_-]+$/; +const DIGITS_ONLY_RE = /^[0-9]+$/; export function normalizeChannelDisplayName(value) { if (value == null) return ''; @@ -37,8 +38,8 @@ export function validateChannelDisplayName(value) { if (!ALLOWED_CHARS_RE.test(normalized)) { return { ok: false, code: 'bad_chars', normalized, slug: '' }; } - if (normalized === '0') { - return { ok: false, code: 'reserved', normalized, slug: '' }; + if (DIGITS_ONLY_RE.test(normalized)) { + return { ok: false, code: 'digits_only', normalized, slug: '' }; } const slug = toCanonicalChannelSlug(normalized); @@ -54,13 +55,13 @@ export function channelNameErrorText(code) { case 'blank': return 'Введите название канала.'; case 'too_short': - return 'Название слишком короткое: минимум 1 символ.'; + return 'Название слишком короткое: минимум 3 символа.'; case 'too_long': return 'Название слишком длинное: максимум 32 символа.'; case 'bad_chars': return 'Разрешены только латиница, цифры, _ и -.'; - case 'reserved': - return 'Название "0" зарезервировано.'; + case 'digits_only': + return 'Название канала не должно состоять только из цифр.'; default: return 'Некорректное название канала.'; } diff --git a/shine-UI/js/services/ui-error-texts.js b/shine-UI/js/services/ui-error-texts.js index a5fb39fd..6e46c19e 100644 --- a/shine-UI/js/services/ui-error-texts.js +++ b/shine-UI/js/services/ui-error-texts.js @@ -86,11 +86,12 @@ export function toUserMessage(error, fallback = 'Действие не выпо code === 'BAD_CHANNEL_NAME' || text.includes('channel name must match') || text.includes('channelname contains unsupported') || + text.includes('channelname must not contain only digits') || text.includes('channelname length must be 3..32') || text.includes('channelname length must be 1..32') || text.includes('bad_channel_name') ) { - return 'Некорректное название канала. Разрешены кириллица, латиница, цифры, пробел, _ и - (1..32 символа).'; + return 'Некорректное название канала. Разрешены только латинские буквы, цифры, _ и -. Длина: 3..32. Название не должно состоять только из цифр.'; } if (text.includes('channel name is required') || text.includes('введите имя канала')) { From 91e7239866950249bd041171f93dc11a6008d177b3f04ff084c63d434d3bb7e8 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 25 Jul 2026 22:09:22 +0400 Subject: [PATCH 40/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20SQLite=20runtime?= =?UTF-8?q?=20=D0=B8=20=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20PostgreSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SHiNE-server/shine-server-db/build.gradle | 1 - .../java/shine/db/DatabaseInitializer.java | 652 +------------ .../shine/db/DatabaseTriggersInstaller.java | 569 ----------- .../src/main/java/shine/db/DbController.java | 13 +- .../java/shine/db/PostgresDbController.java | 63 ++ .../java/shine/db/SqliteDbController.java | 900 ------------------ .../shine/db/dao/ConnectionsStateDAO.java | 22 +- .../java/shine/db/dao/SignedDmReplayDAO.java | 8 +- .../shine/db/dao/SignedMessagesV2DAO.java | 69 +- .../shine/db/dao/SolanaUserPdaCurrentDAO.java | 7 - .../java/shine/db/dao/SolanaUsersDAO.java | 38 +- .../src/main/resources/application.properties | 1 - VERSION.properties | 2 +- 13 files changed, 99 insertions(+), 2246 deletions(-) delete mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseTriggersInstaller.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/PostgresDbController.java delete mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java diff --git a/SHiNE-server/shine-server-db/build.gradle b/SHiNE-server/shine-server-db/build.gradle index f0b6025c..5be85995 100644 --- a/SHiNE-server/shine-server-db/build.gradle +++ b/SHiNE-server/shine-server-db/build.gradle @@ -16,7 +16,6 @@ repositories { } dependencies { - implementation 'org.xerial:sqlite-jdbc:3.47.0.0' // sqlite implementation 'org.postgresql:postgresql:42.7.7' implementation "org.slf4j:slf4j-api:2.0.16" // вызов логгера diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index fd4c7603..62d50990 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -1,13 +1,8 @@ package shine.db; -import utils.config.AppConfig; - -import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; -import java.nio.file.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; @@ -17,12 +12,7 @@ import java.util.ArrayList; import java.util.List; /** - * DatabaseInitializer — инициализация серверной БД SHiNE. - * - * Сейчас класс умеет: - * - создавать legacy SQLite-схему; - * - автоматически поднимать PostgreSQL runtime schema v1 из ресурса - * `postgres/schema_v1.sql`, если БД пустая. + * PostgreSQL runtime schema bootstrapper for SHiNE server. */ public final class DatabaseInitializer { @@ -32,21 +22,15 @@ public final class DatabaseInitializer { private DatabaseInitializer() {} - /* ===================== TEXT (msg_type=1) ===================== */ - public static final short TEXT_POST = 10; public static final short TEXT_EDIT_POST = 11; public static final short TEXT_REPLY = 20; public static final short TEXT_EDIT_REPLY = 21; public static final short TEXT_REPOST = 30; - /* ===================== REACTION (msg_type=2) ===================== */ - public static final short REACTION_LIKE = 1; public static final short REACTION_UNLIKE = 2; - /* ===================== CONNECTION (msg_type=3) ===================== */ - // Близкий друг (close friend). Исторически в коде использовалось имя FRIEND. public static final short CONNECTION_FRIEND = 10; public static final short CONNECTION_UNFRIEND = 11; public static final short CONNECTION_CLOSE_FRIEND = CONNECTION_FRIEND; @@ -79,51 +63,6 @@ public final class DatabaseInitializer { public static final short CONNECTION_SHINE_SEEN = 74; public static final short CONNECTION_SHINE_UNSEEN = 75; - public static void createNewDB(String[] args) { - AppConfig config = AppConfig.getInstance(); - String dbPath = config.getParam("db.path"); - - if (dbPath == null || dbPath.isBlank()) { - System.err.println("Параметр db.path не задан в application.properties"); - return; - } - - Path dbFile = Paths.get(dbPath); - try { - Path parent = dbFile.getParent(); - if (parent != null && !Files.exists(parent)) { - Files.createDirectories(parent); - } - - if (Files.exists(dbFile)) { - System.out.println("Файл базы данных уже существует: " + dbFile.toAbsolutePath()); - System.out.print("Пересоздать БД (СТАРАЯ БУДЕТ УДАЛЕНА)? [y/N]: "); - - BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); - String answer = reader.readLine(); - if (!"y".equalsIgnoreCase(answer) && !"yes".equalsIgnoreCase(answer)) { - System.out.println("Операция отменена. БД не изменена."); - return; - } - - Files.delete(dbFile); - System.out.println("Старый файл БД удалён."); - } - - createSchema("jdbc:sqlite:" + dbPath); - System.out.println("Новая БД успешно создана по пути: " + dbFile.toAbsolutePath()); - - } catch (IOException e) { - System.err.println("Ошибка работы с файлом БД: " + e.getMessage()); - } catch (SQLException e) { - System.err.println("Ошибка создания схемы БД: " + e.getMessage()); - } - } - - public static void ensureSchemaV1Structure(String jdbcUrl) throws SQLException { - createSchema(jdbcUrl, false); - } - public static void ensurePostgresSchemaInitialized(String jdbcUrl, String user, String password) throws SQLException { @@ -137,599 +76,10 @@ public final class DatabaseInitializer { if (postgresSchemaVersionTableExists(conn)) { return; } - runPostgresSchemaScript(conn); } } - private static void createSchema(String jdbcUrl) throws SQLException { - createSchema(jdbcUrl, true); - } - - private static void createSchema(String jdbcUrl, boolean initializeVersionRow) throws SQLException { - try { - Class.forName("org.sqlite.JDBC"); - } catch (ClassNotFoundException e) { - throw new RuntimeException("SQLite JDBC driver not found", e); - } - - try (Connection conn = DriverManager.getConnection(jdbcUrl); - Statement st = conn.createStatement()) { - - st.execute("PRAGMA foreign_keys = ON"); - - // 1. solana_users - // ВАЖНО: - // - Все требуемые поля теперь лежат в solana_users: - // login, blockchain_name, solana_key, blockchain_key, client_key - // - Поиск по login в DAO сделан case-insensitive. - // - Для защиты от дублей "Anya" и "anya" добавляем COLLATE NOCASE на PRIMARY KEY. - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS solana_users ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - blockchain_name TEXT NOT NULL, - solana_key TEXT NOT NULL, - blockchain_key TEXT NOT NULL, - client_key TEXT NOT NULL - ); - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_solana_users_blockchain_name - ON solana_users (blockchain_name); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_solana_users_login - ON solana_users (login); - """); - - // 2. active_sessions (v2) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS active_sessions ( - session_id TEXT NOT NULL PRIMARY KEY, - login TEXT NOT NULL, - session_key TEXT NOT NULL, - storage_pwd TEXT NOT NULL, - session_created_at_ms INTEGER NOT NULL, - last_authirificated_at_ms INTEGER NOT NULL, - push_endpoint TEXT, - push_p256dh_key TEXT, - push_auth_key TEXT, - client_ip TEXT, - client_info_from_client TEXT, - client_info_from_request TEXT, - session_type INTEGER NOT NULL DEFAULT 1, - client_platform TEXT NOT NULL DEFAULT '', - user_language TEXT, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_active_sessions_login - ON active_sessions (login); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS esp_pairing_settings ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - enabled INTEGER NOT NULL DEFAULT 0, - password_hash TEXT NOT NULL DEFAULT '', - ttl_seconds INTEGER NOT NULL DEFAULT 300, - failed_attempts INTEGER NOT NULL DEFAULT 0, - first_failed_at_ms INTEGER NOT NULL DEFAULT 0, - blocked_until_ms INTEGER NOT NULL DEFAULT 0, - updated_at_ms INTEGER NOT NULL, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS esp_pairing_requests ( - pairing_id TEXT NOT NULL PRIMARY KEY, - login TEXT NOT NULL, - requester_session_key TEXT NOT NULL, - requester_session_type INTEGER NOT NULL DEFAULT 1, - requester_client_platform TEXT NOT NULL DEFAULT '', - payload_type INTEGER NOT NULL, - status TEXT NOT NULL, - short_code TEXT NOT NULL, - fingerprint_b58 TEXT NOT NULL, - encrypted_payload TEXT, - reject_reason TEXT, - approved_by_session_id TEXT, - created_at_ms INTEGER NOT NULL, - expires_at_ms INTEGER NOT NULL, - updated_at_ms INTEGER NOT NULL, - delivered_to_homeserver INTEGER NOT NULL DEFAULT 0, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_esp_pairing_requests_login_status - ON esp_pairing_requests (login, status, expires_at_ms); - """); - - // 3. users_params - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS users_params ( - login TEXT NOT NULL, - param TEXT NOT NULL, - time_ms INTEGER NOT NULL, - value TEXT NOT NULL, - client_key TEXT, - signature TEXT, - FOREIGN KEY (login) REFERENCES solana_users(login), - UNIQUE (login, param) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_users_params_login - ON users_params (login); - """); - - // 4. ip_geo_cache - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS ip_geo_cache ( - ip TEXT NOT NULL PRIMARY KEY, - geo TEXT, - updated_at_ms INTEGER NOT NULL - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_ip_geo_cache_updated_at - ON ip_geo_cache (updated_at_ms); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS test_free_avatar_uploads ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - used_count INTEGER NOT NULL DEFAULT 0, - updated_at_ms INTEGER NOT NULL, - last_tx_id TEXT NOT NULL DEFAULT '', - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_test_free_avatar_uploads_updated - ON test_free_avatar_uploads (updated_at_ms); - """); - - // 5. blockchain_state - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS blockchain_state ( - blockchain_name TEXT NOT NULL PRIMARY KEY, - login TEXT NOT NULL, - blockchain_key TEXT NOT NULL, - - size_limit INTEGER NOT NULL, - file_size_bytes INTEGER NOT NULL, - - last_block_number INTEGER NOT NULL, - last_block_hash BLOB, - - updated_at_ms INTEGER NOT NULL, - - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_blockchain_state_login - ON blockchain_state (login); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_blockchain_state_updated_at - ON blockchain_state (updated_at_ms); - """); - - // 6. blocks (+ line_code) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS blocks ( - login TEXT NOT NULL, - bch_name TEXT NOT NULL, - block_number INTEGER NOT NULL CHECK(block_number >= 0), - - msg_type INTEGER NOT NULL, - msg_sub_type INTEGER NOT NULL, - - block_bytes BLOB NOT NULL, - - -- target (reply/like/edit и т.д.) - to_login TEXT, - to_bch_name TEXT, - to_block_number INTEGER CHECK(to_block_number IS NULL OR to_block_number >= 0), - to_block_hash BLOB, - - -- собственные данные - block_hash BLOB NOT NULL, - block_signature BLOB NOT NULL, - - -- если этот блок был изменён последним edit'ом - edited_by_block_number INTEGER CHECK(edited_by_block_number IS NULL OR edited_by_block_number >= 0), - - -- линейность (опционально) - line_code INTEGER CHECK(line_code IS NULL OR line_code >= 0), - prev_line_number INTEGER CHECK(prev_line_number IS NULL OR prev_line_number >= 0), - prev_line_hash BLOB, - this_line_number INTEGER CHECK(this_line_number IS NULL OR this_line_number >= 0), - - FOREIGN KEY (login) REFERENCES solana_users(login), - FOREIGN KEY (bch_name) REFERENCES blockchain_state(blockchain_name), - - UNIQUE (bch_name, block_number) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_blocks_by_chain_number - ON blocks (bch_name, block_number); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_blocks_to_target - ON blocks (to_login, to_bch_name, to_block_number); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_blocks_by_line - ON blocks (bch_name, line_code, this_line_number); - """); - - // 7) connections_state - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS connections_state ( - login TEXT NOT NULL, - rel_type INTEGER NOT NULL, - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - - FOREIGN KEY (login) REFERENCES solana_users(login), - - UNIQUE (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_login - ON connections_state (login); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_to_login - ON connections_state (to_login); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_pair - ON connections_state (login, to_login); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_target - ON connections_state (login, rel_type, to_bch_name, to_block_number); - """); - - // 8) message_stats - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS message_stats ( - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - - likes_count INTEGER NOT NULL DEFAULT 0, - replies_count INTEGER NOT NULL DEFAULT 0, - edits_count INTEGER NOT NULL DEFAULT 0, - - UNIQUE ( - to_login, - to_bch_name, - to_block_number, - to_block_hash - ) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_message_stats_target - ON message_stats (to_bch_name, to_block_number, to_block_hash); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_message_stats_login - ON message_stats (to_login); - """); - - // 8.0) reactions_state (идемпотентный LIKE/UNLIKE per actor/target) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS reactions_state ( - from_login TEXT NOT NULL, - from_bch_name TEXT NOT NULL, - reaction_type INTEGER NOT NULL, - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - last_sub_type INTEGER NOT NULL, - - UNIQUE ( - from_login, - from_bch_name, - reaction_type, - to_login, - to_bch_name, - to_block_number, - to_block_hash - ) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_reactions_state_target - ON reactions_state (to_bch_name, to_block_number, to_block_hash); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_reactions_state_actor - ON reactions_state (from_login, from_bch_name, reaction_type); - """); - - // 9) channel_names_state (global normalized channel names) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS channel_names_state ( - slug TEXT NOT NULL, - display_name TEXT NOT NULL, - channel_description TEXT NOT NULL DEFAULT '', - owner_login TEXT NOT NULL, - owner_bch_name TEXT NOT NULL, - channel_type_code INTEGER NOT NULL DEFAULT 1, - channel_type_version INTEGER NOT NULL DEFAULT 1, - channel_root_block_number INTEGER NOT NULL, - channel_root_block_hash BLOB NOT NULL, - created_at_ms INTEGER NOT NULL - ); - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_owner_type_slug - ON channel_names_state (owner_bch_name, channel_type_code, slug); - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_target - ON channel_names_state (owner_bch_name, channel_root_block_number, channel_root_block_hash); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_channel_names_state_owner - ON channel_names_state (owner_login, owner_bch_name); - """); - - // 9.1) chat200_state - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS chat200_state ( - owner_login TEXT NOT NULL, - owner_bch_name TEXT NOT NULL, - channel_root_block_number INTEGER NOT NULL, - channel_root_block_hash BLOB NOT NULL, - channel_name TEXT NOT NULL, - channel_type_version INTEGER NOT NULL, - chat_title TEXT NOT NULL DEFAULT '', - updated_at_ms INTEGER NOT NULL, - PRIMARY KEY (owner_bch_name, channel_root_block_number) - ); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_chat200_state_owner - ON chat200_state (owner_login, owner_bch_name); - """); - - // 9.2) chat200_members_state - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS chat200_members_state ( - owner_bch_name TEXT NOT NULL, - channel_root_block_number INTEGER NOT NULL, - member_login TEXT NOT NULL, - member_channel_name TEXT NOT NULL, - is_active INTEGER NOT NULL, - updated_at_ms INTEGER NOT NULL, - updated_by_block_number INTEGER NOT NULL, - PRIMARY KEY ( - owner_bch_name, - channel_root_block_number, - member_login, - member_channel_name - ) - ); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_chat200_members_owner - ON chat200_members_state (owner_bch_name, channel_root_block_number, is_active); - """); - - // 10) direct_messages - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS direct_messages ( - message_id TEXT NOT NULL PRIMARY KEY, - from_login TEXT NOT NULL, - to_login TEXT NOT NULL, - text TEXT NOT NULL, - created_at_ms INTEGER NOT NULL, - FOREIGN KEY (from_login) REFERENCES solana_users(login), - FOREIGN KEY (to_login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_direct_messages_to_login - ON direct_messages (to_login, created_at_ms); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_direct_messages_from_login - ON direct_messages (from_login, created_at_ms); - """); - - // 11) user_push_tokens - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS user_push_tokens ( - token_id TEXT NOT NULL PRIMARY KEY, - login TEXT NOT NULL, - session_id TEXT NOT NULL, - provider TEXT NOT NULL, - token TEXT NOT NULL, - platform TEXT, - user_agent TEXT, - updated_at_ms INTEGER NOT NULL, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_user_push_tokens_login - ON user_push_tokens (login); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_user_push_tokens_login_session - ON user_push_tokens (login, session_id); - """); - - // 11) signed_direct_message_replay (anti-replay window) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS signed_direct_message_replay ( - from_login TEXT NOT NULL, - time_ms INTEGER NOT NULL, - nonce INTEGER NOT NULL, - created_at_ms INTEGER NOT NULL, - UNIQUE (from_login, time_ms, nonce) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_signed_dm_replay_created - ON signed_direct_message_replay (created_at_ms); - """); - - // 12) signed_direct_messages_history (сырой бинарный пакет + мета) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS signed_direct_messages_history ( - message_id TEXT NOT NULL PRIMARY KEY, - from_login TEXT NOT NULL, - to_login TEXT NOT NULL, - target_mode INTEGER NOT NULL, - target_session_id TEXT, - message_type INTEGER NOT NULL, - time_ms INTEGER NOT NULL, - nonce INTEGER NOT NULL, - raw_packet BLOB NOT NULL, - created_at_ms INTEGER NOT NULL, - FOREIGN KEY (from_login) REFERENCES solana_users(login), - FOREIGN KEY (to_login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_signed_dm_history_to - ON signed_direct_messages_history (to_login, created_at_ms); - """); - - // 13) signed_messages_v2 (универсальное хранилище блоков типов 1..8) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS signed_messages_v2 ( - message_key TEXT NOT NULL PRIMARY KEY, - base_key TEXT NOT NULL, - target_login TEXT NOT NULL, - from_login TEXT NOT NULL, - to_login TEXT NOT NULL, - time_ms INTEGER NOT NULL, - nonce INTEGER NOT NULL, - message_type INTEGER NOT NULL, - revision_time_ms INTEGER NOT NULL DEFAULT 0, - reencrypted_at_ms INTEGER NOT NULL DEFAULT 0, - raw_block BLOB NOT NULL, - created_at_ms INTEGER NOT NULL, - source_api TEXT NOT NULL, - origin_session_id TEXT, - receipt_ref_base_key TEXT, - receipt_ref_type INTEGER, - read_at_ms INTEGER, - FOREIGN KEY (from_login) REFERENCES solana_users(login), - FOREIGN KEY (to_login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_signed_messages_v2_target - ON signed_messages_v2 (target_login, time_ms, created_at_ms); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_signed_messages_v2_base - ON signed_messages_v2 (base_key, message_type); - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_v2_receipt_incoming - ON signed_messages_v2 (target_login, receipt_ref_base_key) - WHERE message_type = 3 AND receipt_ref_base_key IS NOT NULL; - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_v2_receipt_outgoing - ON signed_messages_v2 (target_login, receipt_ref_base_key) - WHERE message_type = 4 AND receipt_ref_base_key IS NOT NULL; - """); - - // 14) signed_message_session_delivery (доставка по сессиям) - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS signed_message_session_delivery ( - message_key TEXT NOT NULL, - session_id TEXT NOT NULL, - delivered INTEGER NOT NULL DEFAULT 0, - delivered_at_ms INTEGER, - created_at_ms INTEGER NOT NULL, - PRIMARY KEY (message_key, session_id), - FOREIGN KEY (message_key) REFERENCES signed_messages_v2(message_key) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_signed_message_delivery_session - ON signed_message_session_delivery (session_id, delivered); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS db_schema_version ( - id INTEGER NOT NULL PRIMARY KEY CHECK (id = 1), - schema_version INTEGER NOT NULL, - updated_at_ms INTEGER NOT NULL - ); - """); - - if (initializeVersionRow) { - st.executeUpdate(""" - INSERT INTO db_schema_version (id, schema_version, updated_at_ms) - VALUES (1, 1, CAST(strftime('%s','now') AS INTEGER) * 1000) - ON CONFLICT(id) DO UPDATE SET - schema_version = excluded.schema_version, - updated_at_ms = excluded.updated_at_ms; - """); - } - - DatabaseTriggersInstaller.createAllTriggers(st); - } - } - private static Connection openConnection(String jdbcUrl, String user, String password) throws SQLException { if (user == null || user.isBlank()) { return DriverManager.getConnection(jdbcUrl); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseTriggersInstaller.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseTriggersInstaller.java deleted file mode 100644 index cb430a35..00000000 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseTriggersInstaller.java +++ /dev/null @@ -1,569 +0,0 @@ -package shine.db; - -import java.sql.SQLException; -import java.sql.ResultSet; -import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; - -/** - * DatabaseTriggersInstaller — устанавливает триггеры, которые поддерживают бизнес-логику БД. - * - * РњС‹ специально сделали триггеры максимально "совместимыми": - * - НЕТ динамических сообщений РІ RAISE(...): только фиксированные строки. - * (Некоторые SQLite-СЃР±РѕСЂРєРё / просмотрщики падают РЅР° "||" внутри RAISE.) - * - НЕТ UPSERT "ON CONFLICT DO UPDATE" — вместо него: - * INSERT OR IGNORE + UPDATE - * (Старые SQLite РЅРµ знают UPSERT.) - * - * ============================================================================= - * ОПИСАНИЕ ТРИГГЕРОВ - * ============================================================================= - * - * [1] trg_blocks_line_integrity_bi (BEFORE INSERT ON blocks) - * Контроль целостности "линий" (line_code / prev_line_number / prev_line_hash / this_line_number). - * - * Зачем это РЅСѓР¶РЅРѕ: - * - Р’ каналах/ветках/действиях ты хочешь иметь "линейную" последовательность, - * РіРґРµ каждый следующий блок СЏРІРЅРѕ ссылается РЅР° предыдущий блок линии - * Рё подтверждает, что ссылка РЅРµ подменена. - * - * РљРѕРіРґР° срабатывает: - * - ТОЛЬКО если РїСЂРё вставке передано РҐРћРўРЇ БЫ ОДНО РёР· line-полей. - * - Если line-поля РЅРµ переданы — триггер вообще РЅРµ работает (это важно). - * - * Что проверяет: - * A) line-поля допускаются только для msg_type: - * 0 (TECH), 1 (TEXT), 3 (CONNECTION), 4 (USER_PARAM) - * B) Если пришло хоть РѕРґРЅРѕ line-поле — обязаны прийти Р’РЎР• 4 (никаких "частичных") - * C) prev-блок линии существует РІ той Р¶Рµ цепочке bch_name - * D) prev_hash совпадает СЃ block_hash найденного prev-блока - * E) line_code корректный: - * - либо первый шаг после root: prev_line_number == line_code - * - либо prev СѓР¶Рµ принадлежит этой линии: p.line_code == NEW.line_code - * F) this_line_number: - * - первый шаг после root: - * TEXT: this_line_number = 0 - * TECH/CONNECTION/USER_PARAM: this_line_number = 1 - * - обычный шаг: - * TEXT: допускаем same или +1 (чтобы "edit" РјРѕРі РЅРµ двигать шаг) - * TECH/CONNECTION/USER_PARAM: строго prev.this + 1 - * - * Какие ошибки кидает: - * - LINE_ERR_UNSUPPORTED_TYPE_WITH_LINE - * - LINE_ERR_PARTIAL_FIELDS - * - LINE_ERR_NO_PREV - * - LINE_ERR_PREV_HASH_MISMATCH - * - LINE_ERR_LINE_CODE_MISMATCH - * - LINE_ERR_FIRST_STEP_BAD_THIS - * - LINE_ERR_THIS_LINE_BAD_STEP - * - * [2] trg_blocks_connection_state_ai (AFTER INSERT ON blocks WHEN msg_type=3) - * Поддерживает таблицу connections_state как "текущее состояние" отношений: - * - FRIEND/CONTACT/FOLLOW -> добавить/обновить состояние - * - UNFRIEND/UNCONTACT/UNFOLLOW -> удалить соответствующее "позитивное" состояние - * - * [3] trg_blocks_message_stats_like_ai (AFTER INSERT ON blocks WHEN msg_type=2 AND sub_type=LIKE) - * Поддерживает likes_count РІ message_stats для цели (to_*). - * - * [4] trg_blocks_message_stats_reply_ai (AFTER INSERT ON blocks WHEN msg_type=1 AND sub_type=REPLY) - * Поддерживает replies_count РІ message_stats. - * - * [5] trg_blocks_edit_apply_ai (AFTER INSERT ON blocks WHEN msg_type=1 AND sub_type=EDIT) - * Логика edit: - * - помечает исходный блок edited_by_block_number = NEW.block_number - * - увеличивает edits_count РІ message_stats - */ -public final class DatabaseTriggersInstaller { - - private DatabaseTriggersInstaller() {} - - public static void createAllTriggers(Statement st) throws SQLException { - dropTriggersByPrefix(st, "trg_blocks_"); - - // РќР° РІСЃСЏРєРёР№ случай убираем старые "РєСЂРёРІРѕ названные" триггеры, - // если РѕРЅРё РєРѕРіРґР°-то попадали РІ БД. - st.executeUpdate("DROP TRIGGER IF EXISTS trg_block_lini_integriti_by;"); - st.executeUpdate("DROP TRIGGER IF EXISTS trg_blocks_line_integrity_bi;"); - - st.executeUpdate("DROP TRIGGER IF EXISTS trg_blocks_connection_state_ai;"); - st.executeUpdate("DROP TRIGGER IF EXISTS trg_blocks_message_stats_like_ai;"); - st.executeUpdate("DROP TRIGGER IF EXISTS trg_blocks_message_stats_reply_ai;"); - st.executeUpdate("DROP TRIGGER IF EXISTS trg_blocks_edit_apply_ai;"); - - createLineIntegrityTrigger(st); - createConnectionStateTrigger(st); - createMessageStatsLikeTrigger(st); - createMessageStatsReplyTrigger(st); - createEditApplyTrigger(st); - } - - private static void dropTriggersByPrefix(Statement st, String prefix) throws SQLException { - List<String> triggerNames = new ArrayList<>(); - String sql = "SELECT name FROM sqlite_master WHERE type='trigger' AND name LIKE '" + prefix + "%'"; - try (ResultSet rs = st.executeQuery(sql)) { - while (rs.next()) { - String name = rs.getString("name"); - if (name != null && !name.isBlank()) { - triggerNames.add(name); - } - } - } - - for (String name : triggerNames) { - String safeName = name.replace("\"", "\"\""); - st.executeUpdate("DROP TRIGGER IF EXISTS \"" + safeName + "\""); - } - } - - private static void createLineIntegrityTrigger(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TRIGGER IF NOT EXISTS trg_blocks_line_integrity_bi - BEFORE INSERT ON blocks - WHEN - NEW.line_code IS NOT NULL - OR NEW.prev_line_number IS NOT NULL - OR NEW.prev_line_hash IS NOT NULL - OR NEW.this_line_number IS NOT NULL - BEGIN - SELECT RAISE(ABORT, 'LINE_ERR_UNSUPPORTED_TYPE_WITH_LINE') - WHERE NOT (NEW.msg_type IN (0, 1, 3, 4)); - - SELECT RAISE(ABORT, 'LINE_ERR_PARTIAL_FIELDS') - WHERE NEW.line_code IS NULL - OR NEW.prev_line_number IS NULL - OR NEW.prev_line_hash IS NULL - OR NEW.this_line_number IS NULL; - - SELECT RAISE(ABORT, 'LINE_ERR_NO_PREV') - WHERE NOT EXISTS( - SELECT 1 - FROM blocks p - WHERE p.bch_name = NEW.bch_name - AND p.block_number = NEW.prev_line_number - LIMIT 1 - ); - - SELECT RAISE(ABORT, 'LINE_ERR_PREV_HASH_MISMATCH') - WHERE NOT EXISTS( - SELECT 1 - FROM blocks p - WHERE p.bch_name = NEW.bch_name - AND p.block_number = NEW.prev_line_number - AND p.block_hash = NEW.prev_line_hash - LIMIT 1 - ); - - SELECT RAISE(ABORT, 'LINE_ERR_LINE_CODE_MISMATCH') - WHERE NEW.prev_line_number <> NEW.line_code - AND NOT EXISTS( - SELECT 1 - FROM blocks p - WHERE p.bch_name = NEW.bch_name - AND p.block_number = NEW.prev_line_number - AND p.line_code = NEW.line_code - LIMIT 1 - ); - - SELECT RAISE(ABORT, 'LINE_ERR_FIRST_STEP_BAD_THIS') - WHERE NEW.prev_line_number = NEW.line_code - AND NEW.this_line_number <> (CASE WHEN NEW.msg_type = 1 THEN 0 ELSE 1 END); - - SELECT RAISE(ABORT, 'LINE_ERR_THIS_LINE_BAD_STEP') - WHERE NEW.prev_line_number <> NEW.line_code - AND NOT EXISTS( - SELECT 1 - FROM blocks p - WHERE p.bch_name = NEW.bch_name - AND p.block_number = NEW.prev_line_number - AND p.this_line_number IS NOT NULL - AND ( - (NEW.msg_type = 1 AND - (NEW.this_line_number = p.this_line_number OR NEW.this_line_number = p.this_line_number + 1) - ) - OR - (NEW.msg_type IN (0,3,4) AND NEW.this_line_number = p.this_line_number + 1) - ) - LIMIT 1 - ); - END; - """); - } - - private static void createConnectionStateTrigger(Statement st) throws SQLException { - int FRIEND = (int) DatabaseInitializer.CONNECTION_FRIEND; - int CONTACT = (int) DatabaseInitializer.CONNECTION_CONTACT; - int FOLLOW = (int) DatabaseInitializer.CONNECTION_FOLLOW; - int SPOUSE = (int) DatabaseInitializer.CONNECTION_SPOUSE; - int PARENT = (int) DatabaseInitializer.CONNECTION_PARENT; - int CHILD = (int) DatabaseInitializer.CONNECTION_CHILD; - int SIBLING = (int) DatabaseInitializer.CONNECTION_SIBLING; - int KNOWN = (int) DatabaseInitializer.CONNECTION_KNOWN_PERSON; - int SHINE_CONF = (int) DatabaseInitializer.CONNECTION_SHINE_CONFIRMED; - int SHINE_SEEN = (int) DatabaseInitializer.CONNECTION_SHINE_SEEN; - - int UNFRIEND = (int) DatabaseInitializer.CONNECTION_UNFRIEND; - int UNCONTACT = (int) DatabaseInitializer.CONNECTION_UNCONTACT; - int UNFOLLOW = (int) DatabaseInitializer.CONNECTION_UNFOLLOW; - int UNSPOUSE = (int) DatabaseInitializer.CONNECTION_UNSPOUSE; - int UNPARENT = (int) DatabaseInitializer.CONNECTION_UNPARENT; - int UNCHILD = (int) DatabaseInitializer.CONNECTION_UNCHILD; - int UNSIBLING = (int) DatabaseInitializer.CONNECTION_UNSIBLING; - int UNKNOWN = (int) DatabaseInitializer.CONNECTION_UNKNOWN_PERSON; - int SHINE_UNCONF = (int) DatabaseInitializer.CONNECTION_SHINE_UNCONFIRMED; - int SHINE_UNSEEN = (int) DatabaseInitializer.CONNECTION_SHINE_UNSEEN; - - st.executeUpdate(""" - CREATE TRIGGER IF NOT EXISTS trg_blocks_connection_state_ai - AFTER INSERT ON blocks - WHEN NEW.msg_type = 3 - BEGIN - -- FRIEND/CONTACT/FOLLOW/SPOUSE/PARENT/CHILD/SIBLING/KNOWN_PERSON/SHINE_*: - -- 1) если записи нет — создаём - INSERT OR IGNORE INTO connections_state ( - login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash - ) - SELECT - NEW.login, - NEW.msg_sub_type, - COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ), - NEW.to_bch_name, - NEW.to_block_number, - NEW.to_block_hash - WHERE NEW.msg_sub_type IN (%d, %d, %d, %d, %d, %d, %d, %d, %d, %d) - AND COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ) IS NOT NULL - AND NEW.to_bch_name IS NOT NULL; - - -- 2) если запись есть — обновляем актуальные to_* - UPDATE connections_state - SET - to_bch_name = NEW.to_bch_name, - to_block_number = NEW.to_block_number, - to_block_hash = NEW.to_block_hash - WHERE login = NEW.login - AND rel_type = NEW.msg_sub_type - AND to_login = COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ) - AND NEW.msg_sub_type IN (%d, %d, %d, %d, %d, %d, %d, %d, %d, %d) - AND COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ) IS NOT NULL - AND NEW.to_bch_name IS NOT NULL; - - -- UNFRIEND/UNCONTACT/UNFOLLOW/UNSPOUSE/UNPARENT/UNCHILD/UNSIBLING/UNKNOWN_PERSON/SHINE_UN*: - -- удаляем соответствующее "позитивное" состояние - DELETE FROM connections_state - WHERE login = NEW.login - AND to_login = COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ) - AND rel_type = CASE NEW.msg_sub_type - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - WHEN %d THEN %d - ELSE rel_type - END - AND COALESCE( - NEW.to_login, - ( - SELECT su.login - FROM solana_users su - WHERE su.blockchain_name = NEW.to_bch_name COLLATE NOCASE - LIMIT 1 - ), - CASE - WHEN NEW.to_bch_name IS NOT NULL - AND length(NEW.to_bch_name) > 4 - AND substr(NEW.to_bch_name, length(NEW.to_bch_name) - 3, 1) = '-' - THEN substr(NEW.to_bch_name, 1, length(NEW.to_bch_name) - 4) - ELSE NULL - END - ) IS NOT NULL - AND NEW.msg_sub_type IN (%d, %d, %d, %d, %d, %d, %d, %d, %d, %d); - END; - """.formatted( - FRIEND, CONTACT, FOLLOW, SPOUSE, PARENT, CHILD, SIBLING, KNOWN, SHINE_CONF, SHINE_SEEN, - FRIEND, CONTACT, FOLLOW, SPOUSE, PARENT, CHILD, SIBLING, KNOWN, SHINE_CONF, SHINE_SEEN, - - UNFRIEND, FRIEND, - UNCONTACT, CONTACT, - UNFOLLOW, FOLLOW, - UNSPOUSE, SPOUSE, - UNPARENT, PARENT, - UNCHILD, CHILD, - UNSIBLING, SIBLING, - UNKNOWN, KNOWN, - SHINE_UNCONF, SHINE_CONF, - SHINE_UNSEEN, SHINE_SEEN, - - UNFRIEND, UNCONTACT, UNFOLLOW, UNSPOUSE, UNPARENT, UNCHILD, UNSIBLING, UNKNOWN, SHINE_UNCONF, SHINE_UNSEEN - )); - } - - private static void createMessageStatsLikeTrigger(Statement st) throws SQLException { - int LIKE = (int) DatabaseInitializer.REACTION_LIKE; - int UNLIKE = (int) DatabaseInitializer.REACTION_UNLIKE; - - st.executeUpdate(""" - CREATE TRIGGER IF NOT EXISTS trg_blocks_message_stats_like_ai - AFTER INSERT ON blocks - WHEN NEW.msg_type = 2 AND NEW.msg_sub_type IN (%d, %d) - BEGIN - -- ensure target stats row exists - INSERT OR IGNORE INTO message_stats ( - to_login, to_bch_name, to_block_number, to_block_hash, - likes_count, replies_count, edits_count - ) - SELECT - NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, - 0, 0, 0 - WHERE NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - - -- apply delta by state transition (none/unlike->like = +1, like->unlike = -1) - UPDATE message_stats - SET likes_count = MAX( - 0, - likes_count + ( - CASE - WHEN NEW.msg_sub_type = %d - AND COALESCE(( - SELECT b.msg_sub_type - FROM blocks b - WHERE b.login = NEW.login - AND b.bch_name = NEW.bch_name - AND b.msg_type = 2 - AND b.to_login = NEW.to_login - AND b.to_bch_name = NEW.to_bch_name - AND b.to_block_number = NEW.to_block_number - AND b.to_block_hash = NEW.to_block_hash - AND b.block_number < NEW.block_number - ORDER BY b.block_number DESC - LIMIT 1 - ), -1) <> %d - THEN 1 - WHEN NEW.msg_sub_type = %d - AND COALESCE(( - SELECT b.msg_sub_type - FROM blocks b - WHERE b.login = NEW.login - AND b.bch_name = NEW.bch_name - AND b.msg_type = 2 - AND b.to_login = NEW.to_login - AND b.to_bch_name = NEW.to_bch_name - AND b.to_block_number = NEW.to_block_number - AND b.to_block_hash = NEW.to_block_hash - AND b.block_number < NEW.block_number - ORDER BY b.block_number DESC - LIMIT 1 - ), -1) = %d - THEN -1 - ELSE 0 - END - ) - ) - WHERE to_login = NEW.to_login - AND to_bch_name = NEW.to_bch_name - AND to_block_number = NEW.to_block_number - AND to_block_hash = NEW.to_block_hash - AND NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - - -- persist latest actor->target reaction state - INSERT OR IGNORE INTO reactions_state ( - from_login, from_bch_name, reaction_type, - to_login, to_bch_name, to_block_number, to_block_hash, - last_sub_type - ) - SELECT - NEW.login, NEW.bch_name, %d, - NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, - NEW.msg_sub_type - WHERE NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - - UPDATE reactions_state - SET last_sub_type = NEW.msg_sub_type - WHERE from_login = NEW.login - AND from_bch_name = NEW.bch_name - AND reaction_type = %d - AND to_login = NEW.to_login - AND to_bch_name = NEW.to_bch_name - AND to_block_number = NEW.to_block_number - AND to_block_hash = NEW.to_block_hash - AND NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - END; - """.formatted( - LIKE, UNLIKE, - LIKE, LIKE, - UNLIKE, LIKE, - LIKE, - LIKE - )); - } - - private static void createMessageStatsReplyTrigger(Statement st) throws SQLException { - int REPLY = (int) DatabaseInitializer.TEXT_REPLY; - - st.executeUpdate(""" - CREATE TRIGGER IF NOT EXISTS trg_blocks_message_stats_reply_ai - AFTER INSERT ON blocks - WHEN NEW.msg_type = 1 AND NEW.msg_sub_type = %d - BEGIN - INSERT OR IGNORE INTO message_stats ( - to_login, to_bch_name, to_block_number, to_block_hash, - likes_count, replies_count, edits_count - ) - SELECT - NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, - 0, 0, 0 - WHERE NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - - UPDATE message_stats - SET replies_count = replies_count + 1 - WHERE to_login = NEW.to_login - AND to_bch_name = NEW.to_bch_name - AND to_block_number = NEW.to_block_number - AND to_block_hash = NEW.to_block_hash - AND NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - END; - """.formatted(REPLY)); - } - - private static void createEditApplyTrigger(Statement st) throws SQLException { - int EDIT_POST = (int) DatabaseInitializer.TEXT_EDIT_POST; - int EDIT_REPLY = (int) DatabaseInitializer.TEXT_EDIT_REPLY; - - st.executeUpdate(""" - CREATE TRIGGER IF NOT EXISTS trg_blocks_edit_apply_ai - AFTER INSERT ON blocks - WHEN NEW.msg_type = 1 AND NEW.msg_sub_type IN (%d, %d) - BEGIN - -- 1) помечаем исходный блок, что его "перекрыл" этот edit - UPDATE blocks - SET edited_by_block_number = NEW.block_number - WHERE login = NEW.login - AND bch_name = NEW.bch_name - AND block_number = NEW.to_block_number - AND NEW.to_block_number IS NOT NULL; - - -- 2) создаём stats-строку если её РЅРµ было - INSERT OR IGNORE INTO message_stats ( - to_login, to_bch_name, to_block_number, to_block_hash, - likes_count, replies_count, edits_count - ) - SELECT - NEW.to_login, NEW.to_bch_name, NEW.to_block_number, NEW.to_block_hash, - 0, 0, 0 - WHERE NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - - -- 3) +1 edit - UPDATE message_stats - SET edits_count = edits_count + 1 - WHERE to_login = NEW.to_login - AND to_bch_name = NEW.to_bch_name - AND to_block_number = NEW.to_block_number - AND to_block_hash = NEW.to_block_hash - AND NEW.to_login IS NOT NULL - AND NEW.to_bch_name IS NOT NULL - AND NEW.to_block_number IS NOT NULL - AND NEW.to_block_hash IS NOT NULL; - END; - """.formatted(EDIT_POST, EDIT_REPLY)); - } -} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java index b66af96b..11cb1409 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java @@ -8,17 +8,16 @@ import java.sql.SQLException; /** * Нейтральная точка входа в runtime БД сервера. * - * Сейчас это адаптер над legacy singleton `SqliteDbController`, - * но остальной код больше не должен зависеть от SQLite по имени класса. + * Runtime-сервер теперь поддерживает только PostgreSQL. */ public final class DbController implements DbProvider { private static volatile DbController instance; - private final SqliteDbController delegate; + private final PostgresDbController delegate; private DbController() { - this.delegate = SqliteDbController.getInstance(); + this.delegate = PostgresDbController.getInstance(); } public static DbController getInstance() { @@ -37,12 +36,8 @@ public final class DbController implements DbProvider { return delegate.getConnection(); } - public boolean isSqlite() { - return delegate.isSqlite(); - } - public boolean isPostgres() { - return delegate.isPostgres(); + return true; } @Override diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/PostgresDbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/PostgresDbController.java new file mode 100644 index 00000000..a3b77fcc --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/PostgresDbController.java @@ -0,0 +1,63 @@ +package shine.db; + +import shine.db.connection.DriverManagerDbProvider; +import utils.config.AppConfig; + +import java.sql.Connection; +import java.sql.SQLException; + +public final class PostgresDbController { + + private static volatile PostgresDbController instance; + + private final DriverManagerDbProvider delegate; + + private PostgresDbController() { + AppConfig config = AppConfig.getInstance(); + String jdbcUrl = trimToNull(config.getParam("db.url")); + String dbUser = trimToNull(config.getParam("db.user")); + String dbPassword = trimToNull(config.getParam("db.password")); + + if (jdbcUrl == null) { + throw new IllegalStateException("Config param 'db.url' is required and must point to PostgreSQL"); + } + if (!jdbcUrl.startsWith("jdbc:postgresql:")) { + throw new IllegalStateException("Only PostgreSQL runtime is supported. Unsupported db.url=" + jdbcUrl); + } + + try { + DatabaseInitializer.ensurePostgresSchemaInitialized(jdbcUrl, dbUser, dbPassword); + } catch (SQLException e) { + throw new RuntimeException("PostgreSQL schema auto-init failed", e); + } + + this.delegate = new DriverManagerDbProvider(jdbcUrl, dbUser, dbPassword, connection -> { + connection.setAutoCommit(true); + }); + } + + public static PostgresDbController getInstance() { + if (instance == null) { + synchronized (PostgresDbController.class) { + if (instance == null) { + instance = new PostgresDbController(); + } + } + } + return instance; + } + + public Connection getConnection() throws SQLException { + return delegate.getConnection(); + } + + public void close() { + // no-op + } + + private static String trimToNull(String value) { + if (value == null) return null; + String trimmed = value.trim(); + return trimmed.isEmpty() ? null : trimmed; + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java deleted file mode 100644 index 5ec6bd9c..00000000 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java +++ /dev/null @@ -1,900 +0,0 @@ -package shine.db; - -import utils.config.AppConfig; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; - -public final class SqliteDbController { - - private static volatile SqliteDbController instance; - private static final int LATEST_SCHEMA_VERSION = 12; - - private final String jdbcUrl; - private final String dbUser; - private final String dbPassword; - private final boolean sqliteMode; - - private SqliteDbController() { - AppConfig config = AppConfig.getInstance(); - String configuredJdbcUrl = trimToNull(config.getParam("db.url")); - this.dbUser = trimToNull(config.getParam("db.user")); - this.dbPassword = trimToNull(config.getParam("db.password")); - - if (configuredJdbcUrl != null) { - this.jdbcUrl = configuredJdbcUrl; - this.sqliteMode = configuredJdbcUrl.startsWith("jdbc:sqlite:"); - } else { - String dbPath = config.getParam("db.path"); - if (dbPath == null || dbPath.isBlank()) { - throw new RuntimeException("Config param 'db.path' or 'db.url' is not set in application.properties"); - } - - Path dbFile = Paths.get(dbPath); - if (!Files.exists(dbFile)) { - System.out.println("[DB] Файл БД не найден: " + dbFile.toAbsolutePath()); - System.out.println("[DB] Создаём новую БД с помощью DatabaseInitializer..."); - DatabaseInitializer.createNewDB(new String[0]); - } - - this.jdbcUrl = "jdbc:sqlite:" + dbPath; - this.sqliteMode = true; - } - - initializeDatabase(); - } - - public static SqliteDbController getInstance() { - if (instance == null) { - synchronized (SqliteDbController.class) { - if (instance == null) { - instance = new SqliteDbController(); - } - } - } - return instance; - } - - public Connection getConnection() throws SQLException { - Connection conn = openConnection(); - conn.setAutoCommit(true); - - if (sqliteMode) { - try (Statement st = conn.createStatement()) { - st.execute("PRAGMA foreign_keys = ON"); - st.execute("PRAGMA journal_mode = WAL"); - st.execute("PRAGMA synchronous = NORMAL"); - st.execute("PRAGMA busy_timeout = 5000"); - } - } - - return conn; - } - - public void close() { - // no-op - } - - public boolean isSqlite() { - return sqliteMode; - } - - public boolean isPostgres() { - return !sqliteMode && jdbcUrl.startsWith("jdbc:postgresql:"); - } - - private void ensureSchemaMigrations() { - int currentVersion = getCurrentSchemaVersion(); - - while (currentVersion < LATEST_SCHEMA_VERSION) { - int nextVersion = currentVersion + 1; - applyMigration(nextVersion); - currentVersion = nextVersion; - } - } - - private void applyMigration(int targetVersion) { - switch (targetVersion) { - case 1 -> migrateToV1(); - case 2 -> migrateToV2(); - case 3 -> migrateToV3(); - case 4 -> migrateToV4(); - case 5 -> migrateToV5(); - case 6 -> migrateToV6(); - case 7 -> migrateToV7(); - case 8 -> migrateToV8(); - case 9 -> migrateToV9(); - case 10 -> migrateToV10(); - case 11 -> migrateToV11(); - case 12 -> migrateToV12(); - default -> throw new RuntimeException("Unknown DB migration target version: " + targetVersion); - } - } - - private void migrateToV1() { - try { - DatabaseInitializer.ensureSchemaV1Structure(jdbcUrl); - } catch (SQLException e) { - throw new RuntimeException("DB migration to v1 failed (base schema)", e); - } - - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - st.execute("PRAGMA foreign_keys = OFF"); - - if (tableExists(c, "connections_state") && needsConnectionsStateUpgrade(c)) { - rebuildConnectionsStateTable(st); - } - - ensureChannelNamesDescriptionColumn(c, st); - ensureChannelNamesTypeColumns(c, st); - ensureSignedMessageReceiptUniq(c, st); - DatabaseTriggersInstaller.createAllTriggers(st); - setSchemaVersion(c, 1); - - st.execute("PRAGMA foreign_keys = ON"); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v1 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v1 failed", e); - } - } - - private void migrateToV2() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - st.execute("PRAGMA foreign_keys = OFF"); - st.executeUpdate("DROP TABLE IF EXISTS message_views_state"); - st.executeUpdate("DROP INDEX IF EXISTS idx_message_views_state_target"); - st.executeUpdate("DROP INDEX IF EXISTS idx_message_views_state_viewer_channel"); - setSchemaVersion(c, 2); - st.execute("PRAGMA foreign_keys = ON"); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v2 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v2 failed", e); - } - } - - private void migrateToV3() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureChat200StateTables(st); - setSchemaVersion(c, 3); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v3 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v3 failed", e); - } - } - - private void migrateToV4() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureActiveSessionsSessionTypeColumn(c, st); - ensureActiveSessionsClientPlatformColumn(c, st); - setSchemaVersion(c, 4); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v4 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v4 failed", e); - } - } - - private void migrateToV5() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureEspPairingTables(st); - setSchemaVersion(c, 5); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v5 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v5 failed", e); - } - } - - private void migrateToV6() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureSignedMessagesRevisionColumn(c, st); - setSchemaVersion(c, 6); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v6 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v6 failed", e); - } - } - - private void migrateToV7() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - dropDmFileTables(st); - setSchemaVersion(c, 7); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v7 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v7 failed", e); - } - } - - private void migrateToV8() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureTestFreeAvatarUploadsTable(st); - setSchemaVersion(c, 8); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v8 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v8 failed", e); - } - } - - private void migrateToV9() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureSyncServersTable(st); - setSchemaVersion(c, 9); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v9 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v9 failed", e); - } - } - - private void migrateToV10() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureSignedMessagesReencryptedColumn(c, st); - setSchemaVersion(c, 10); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v10 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v10 failed", e); - } - } - - private void migrateToV11() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - clearLegacySignedMessagesForDmV11(c, st); - setSchemaVersion(c, 11); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v11 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v11 failed", e); - } - } - - private void migrateToV12() { - try (Connection c = DriverManager.getConnection(jdbcUrl); - Statement st = c.createStatement()) { - c.setAutoCommit(false); - try { - ensureSignedMessagesReadAtColumn(c, st); - backfillSignedMessagesReadAt(st); - setSchemaVersion(c, 12); - c.commit(); - } catch (Exception e) { - try { c.rollback(); } catch (Exception ignored) {} - throw new RuntimeException("DB migration to v12 failed", e); - } finally { - try { c.setAutoCommit(true); } catch (Exception ignored) {} - } - } catch (SQLException e) { - throw new RuntimeException("DB migration to v12 failed", e); - } - } - - private static void ensureChat200StateTables(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS chat200_state ( - owner_login TEXT NOT NULL, - owner_bch_name TEXT NOT NULL, - channel_root_block_number INTEGER NOT NULL, - channel_root_block_hash BLOB NOT NULL, - channel_name TEXT NOT NULL, - channel_type_version INTEGER NOT NULL, - chat_title TEXT NOT NULL DEFAULT '', - updated_at_ms INTEGER NOT NULL, - PRIMARY KEY (owner_bch_name, channel_root_block_number) - ); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS chat200_members_state ( - owner_bch_name TEXT NOT NULL, - channel_root_block_number INTEGER NOT NULL, - member_login TEXT NOT NULL, - member_channel_name TEXT NOT NULL, - is_active INTEGER NOT NULL, - updated_at_ms INTEGER NOT NULL, - updated_by_block_number INTEGER NOT NULL, - PRIMARY KEY ( - owner_bch_name, - channel_root_block_number, - member_login, - member_channel_name - ) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_chat200_state_owner - ON chat200_state (owner_login, owner_bch_name); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_chat200_members_owner - ON chat200_members_state (owner_bch_name, channel_root_block_number, is_active); - """); - } - - private int getCurrentSchemaVersion() { - try (Connection c = openConnection()) { - if (!tableExists(c, DatabaseInitializer.DB_SCHEMA_VERSION_TABLE)) { - return 0; - } - - try (var ps = c.prepareStatement(""" - SELECT schema_version - FROM db_schema_version - WHERE id = 1 - LIMIT 1 - """); - ResultSet rs = ps.executeQuery()) { - if (rs.next()) { - return rs.getInt(1); - } - } - return 0; - } catch (SQLException e) { - throw new RuntimeException("Cannot read DB schema version", e); - } - } - - private static void ensureActiveSessionsSessionTypeColumn(Connection c, Statement st) throws SQLException { - if (columnExists(c, "active_sessions", "session_type")) return; - st.executeUpdate("ALTER TABLE active_sessions ADD COLUMN session_type INTEGER NOT NULL DEFAULT 1"); - } - - private static void ensureActiveSessionsClientPlatformColumn(Connection c, Statement st) throws SQLException { - if (columnExists(c, "active_sessions", "client_platform")) return; - st.executeUpdate("ALTER TABLE active_sessions ADD COLUMN client_platform TEXT NOT NULL DEFAULT ''"); - } - - private static void ensureEspPairingTables(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS esp_pairing_settings ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - enabled INTEGER NOT NULL DEFAULT 0, - password_hash TEXT NOT NULL DEFAULT '', - ttl_seconds INTEGER NOT NULL DEFAULT 300, - failed_attempts INTEGER NOT NULL DEFAULT 0, - first_failed_at_ms INTEGER NOT NULL DEFAULT 0, - blocked_until_ms INTEGER NOT NULL DEFAULT 0, - updated_at_ms INTEGER NOT NULL, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS esp_pairing_requests ( - pairing_id TEXT NOT NULL PRIMARY KEY, - login TEXT NOT NULL, - requester_session_key TEXT NOT NULL, - requester_session_type INTEGER NOT NULL DEFAULT 1, - requester_client_platform TEXT NOT NULL DEFAULT '', - payload_type INTEGER NOT NULL, - status TEXT NOT NULL, - short_code TEXT NOT NULL, - fingerprint_b58 TEXT NOT NULL, - encrypted_payload TEXT, - reject_reason TEXT, - approved_by_session_id TEXT, - created_at_ms INTEGER NOT NULL, - expires_at_ms INTEGER NOT NULL, - updated_at_ms INTEGER NOT NULL, - delivered_to_homeserver INTEGER NOT NULL DEFAULT 0, - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_esp_pairing_requests_login_status - ON esp_pairing_requests (login, status, expires_at_ms); - """); - } - - private static void ensureSignedMessagesRevisionColumn(Connection c, Statement st) throws SQLException { - if (!tableExists(c, "signed_messages_v2")) return; - if (!columnExists(c, "signed_messages_v2", "revision_time_ms")) { - st.executeUpdate("ALTER TABLE signed_messages_v2 ADD COLUMN revision_time_ms INTEGER NOT NULL DEFAULT 0"); - } - } - - private static void ensureSignedMessagesReencryptedColumn(Connection c, Statement st) throws SQLException { - if (!tableExists(c, "signed_messages_v2")) return; - if (!columnExists(c, "signed_messages_v2", "reencrypted_at_ms")) { - st.executeUpdate("ALTER TABLE signed_messages_v2 ADD COLUMN reencrypted_at_ms INTEGER NOT NULL DEFAULT 0"); - } - } - - private static void ensureSignedMessagesReadAtColumn(Connection c, Statement st) throws SQLException { - if (!tableExists(c, "signed_messages_v2")) return; - if (!columnExists(c, "signed_messages_v2", "read_at_ms")) { - st.executeUpdate("ALTER TABLE signed_messages_v2 ADD COLUMN read_at_ms INTEGER"); - } - } - - private static void backfillSignedMessagesReadAt(Statement st) throws SQLException { - st.executeUpdate(""" - UPDATE signed_messages_v2 AS content - SET read_at_ms = ( - SELECT MIN(receipt.time_ms) - FROM signed_messages_v2 AS receipt - WHERE receipt.message_type IN (3, 4) - AND receipt.receipt_ref_base_key = content.base_key - ) - WHERE content.message_type IN (1, 2) - AND (content.read_at_ms IS NULL OR content.read_at_ms <= 0) - AND EXISTS ( - SELECT 1 - FROM signed_messages_v2 AS receipt - WHERE receipt.message_type IN (3, 4) - AND receipt.receipt_ref_base_key = content.base_key - ); - """); - } - - /** - * Временная одноразовая миграция на переходе к SHiNE_DM v1: - * старые строки signed_messages_v2 больше не гарантированно совместимы - * с новым бинарным форматом и правилами tombstone/reencrypt. - * Позже эту миграцию нужно убрать, чтобы случайно не очищать рабочие DM. - */ - private static void clearLegacySignedMessagesForDmV11(Connection c, Statement st) throws SQLException { - if (tableExists(c, "signed_message_session_delivery")) { - st.executeUpdate("DELETE FROM signed_message_session_delivery"); - } - if (tableExists(c, "signed_messages_v2")) { - st.executeUpdate("DELETE FROM signed_messages_v2"); - } - } - - private static void dropDmFileTables(Statement st) throws SQLException { - st.executeUpdate("DROP INDEX IF EXISTS idx_dm_message_file_links_login"); - st.executeUpdate("DROP INDEX IF EXISTS idx_dm_message_file_links_message"); - st.executeUpdate("DROP TABLE IF EXISTS dm_message_file_links"); - st.executeUpdate("DROP TABLE IF EXISTS dm_files"); - } - - private static boolean columnExists(Connection c, String tableName, String columnName) throws SQLException { - try (Statement probe = c.createStatement(); - ResultSet rs = probe.executeQuery("PRAGMA table_info(" + tableName + ")")) { - while (rs.next()) { - if (columnName.equalsIgnoreCase(rs.getString("name"))) { - return true; - } - } - return false; - } - } - - private static void setSchemaVersion(Connection c, int version) throws SQLException { - try (var ps = c.prepareStatement(""" - INSERT INTO db_schema_version (id, schema_version, updated_at_ms) - VALUES (1, ?, CAST(strftime('%s','now') AS INTEGER) * 1000) - ON CONFLICT(id) DO UPDATE SET - schema_version = excluded.schema_version, - updated_at_ms = excluded.updated_at_ms - """)) { - ps.setInt(1, version); - ps.executeUpdate(); - } - } - - private static void ensureReactionsStateTable(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS reactions_state ( - from_login TEXT NOT NULL, - from_bch_name TEXT NOT NULL, - reaction_type INTEGER NOT NULL, - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - last_sub_type INTEGER NOT NULL, - UNIQUE ( - from_login, - from_bch_name, - reaction_type, - to_login, - to_bch_name, - to_block_number, - to_block_hash - ) - ); - """); - } - - private static void ensureTestFreeAvatarUploadsTable(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS test_free_avatar_uploads ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - used_count INTEGER NOT NULL DEFAULT 0, - updated_at_ms INTEGER NOT NULL, - last_tx_id TEXT NOT NULL DEFAULT '', - FOREIGN KEY (login) REFERENCES solana_users(login) - ); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_test_free_avatar_uploads_updated - ON test_free_avatar_uploads (updated_at_ms); - """); - } - - private static void ensureSyncServersTable(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS sync_servers ( - login TEXT NOT NULL PRIMARY KEY COLLATE NOCASE, - server_address TEXT NOT NULL DEFAULT '', - updated_at_ms INTEGER NOT NULL - ); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_sync_servers_updated - ON sync_servers (updated_at_ms); - """); - } - - - private static void createConnectionsStateTable(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS connections_state ( - login TEXT NOT NULL, - rel_type INTEGER NOT NULL, - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - FOREIGN KEY (login) REFERENCES solana_users(login), - UNIQUE (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) - ); - """); - } - - private static void ensureConnectionsIndexes(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_login - ON connections_state (login); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_to_login - ON connections_state (to_login); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_pair - ON connections_state (login, to_login); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_connections_state_target - ON connections_state (login, rel_type, to_bch_name, to_block_number); - """); - } - - private static void ensureReactionsIndexes(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_reactions_state_target - ON reactions_state (to_bch_name, to_block_number, to_block_hash); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_reactions_state_actor - ON reactions_state (from_login, from_bch_name, reaction_type); - """); - } - - private static void ensureChannelNamesStateTable(Statement st) throws SQLException { - st.executeUpdate(""" - CREATE TABLE IF NOT EXISTS channel_names_state ( - slug TEXT NOT NULL, - display_name TEXT NOT NULL, - channel_description TEXT NOT NULL DEFAULT '', - owner_login TEXT NOT NULL, - owner_bch_name TEXT NOT NULL, - channel_type_code INTEGER NOT NULL DEFAULT 1, - channel_type_version INTEGER NOT NULL DEFAULT 1, - channel_root_block_number INTEGER NOT NULL, - channel_root_block_hash BLOB NOT NULL, - created_at_ms INTEGER NOT NULL - ); - """); - } - - private static void ensureChannelNamesDescriptionColumn(Connection c, Statement st) throws SQLException { - boolean hasDescription = false; - try (Statement probe = c.createStatement(); - ResultSet rs = probe.executeQuery("PRAGMA table_info(channel_names_state)")) { - while (rs.next()) { - String name = rs.getString("name"); - if ("channel_description".equalsIgnoreCase(name)) { - hasDescription = true; - break; - } - } - } - - if (!hasDescription) { - st.executeUpdate("ALTER TABLE channel_names_state ADD COLUMN channel_description TEXT NOT NULL DEFAULT ''"); - } - } - - private static void ensureChannelNamesTypeColumns(Connection c, Statement st) throws SQLException { - boolean hasTypeCode = false; - boolean hasTypeVersion = false; - - try (Statement probe = c.createStatement(); - ResultSet rs = probe.executeQuery("PRAGMA table_info(channel_names_state)")) { - while (rs.next()) { - String name = rs.getString("name"); - if ("channel_type_code".equalsIgnoreCase(name)) hasTypeCode = true; - if ("channel_type_version".equalsIgnoreCase(name)) hasTypeVersion = true; - } - } - - if (!hasTypeCode) { - st.executeUpdate("ALTER TABLE channel_names_state ADD COLUMN channel_type_code INTEGER NOT NULL DEFAULT 1"); - } - if (!hasTypeVersion) { - st.executeUpdate("ALTER TABLE channel_names_state ADD COLUMN channel_type_version INTEGER NOT NULL DEFAULT 1"); - } - } - - private static void ensureChannelNamesIndexes(Statement st) throws SQLException { - st.executeUpdate("DROP INDEX IF EXISTS uq_channel_names_state_slug"); - st.executeUpdate("DROP INDEX IF EXISTS uq_channel_names_state_owner_slug"); - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_owner_type_slug - ON channel_names_state (owner_bch_name, channel_type_code, slug); - """); - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_target - ON channel_names_state (owner_bch_name, channel_root_block_number, channel_root_block_hash); - """); - st.executeUpdate(""" - CREATE INDEX IF NOT EXISTS idx_channel_names_state_owner - ON channel_names_state (owner_login, owner_bch_name); - """); - } - - private static void ensureSignedMessageReceiptUniq(Connection c, Statement st) throws SQLException { - if (!tableExists(c, "signed_messages_v2")) return; - - if (tableExists(c, "signed_message_session_delivery")) { - st.executeUpdate(""" - DELETE FROM signed_message_session_delivery - WHERE message_key IN ( - SELECT message_key - FROM signed_messages_v2 - WHERE message_type IN (3, 4) - AND receipt_ref_base_key IS NOT NULL - AND rowid NOT IN ( - SELECT MIN(rowid) - FROM signed_messages_v2 - WHERE message_type IN (3, 4) - AND receipt_ref_base_key IS NOT NULL - GROUP BY target_login, message_type, receipt_ref_base_key - ) - ); - """); - } - - st.executeUpdate(""" - DELETE FROM signed_messages_v2 - WHERE message_type IN (3, 4) - AND receipt_ref_base_key IS NOT NULL - AND rowid NOT IN ( - SELECT MIN(rowid) - FROM signed_messages_v2 - WHERE message_type IN (3, 4) - AND receipt_ref_base_key IS NOT NULL - GROUP BY target_login, message_type, receipt_ref_base_key - ); - """); - - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_v2_receipt_incoming - ON signed_messages_v2 (target_login, receipt_ref_base_key) - WHERE message_type = 3 AND receipt_ref_base_key IS NOT NULL; - """); - st.executeUpdate(""" - CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_v2_receipt_outgoing - ON signed_messages_v2 (target_login, receipt_ref_base_key) - WHERE message_type = 4 AND receipt_ref_base_key IS NOT NULL; - """); - } - - private static void rebuildConnectionsStateTable(Statement st) throws SQLException { - st.executeUpdate("DROP TABLE IF EXISTS connections_state_v2"); - st.executeUpdate(""" - CREATE TABLE connections_state_v2 ( - login TEXT NOT NULL, - rel_type INTEGER NOT NULL, - to_login TEXT NOT NULL, - to_bch_name TEXT NOT NULL, - to_block_number INTEGER NOT NULL, - to_block_hash BLOB NOT NULL, - FOREIGN KEY (login) REFERENCES solana_users(login), - UNIQUE (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) - ); - """); - - st.executeUpdate(""" - INSERT OR IGNORE INTO connections_state_v2 - (login, rel_type, to_login, to_bch_name, to_block_number, to_block_hash) - SELECT - login, - rel_type, - to_login, - to_bch_name, - COALESCE(to_block_number, 0), - COALESCE(to_block_hash, zeroblob(32)) - FROM connections_state - WHERE login IS NOT NULL - AND to_login IS NOT NULL - AND to_bch_name IS NOT NULL; - """); - - st.executeUpdate("DROP TABLE connections_state"); - st.executeUpdate("ALTER TABLE connections_state_v2 RENAME TO connections_state"); - } - - private static boolean tableExists(Connection c, String tableName) throws SQLException { - String sql = "SELECT 1 FROM sqlite_master WHERE type='table' AND name=? LIMIT 1"; - try (var ps = c.prepareStatement(sql)) { - ps.setString(1, tableName); - try (ResultSet rs = ps.executeQuery()) { - return rs.next(); - } - } - } - - private static boolean needsConnectionsStateUpgrade(Connection c) throws SQLException { - boolean toBlockNumberNotNull = false; - boolean toBlockHashNotNull = false; - - try (Statement st = c.createStatement(); - ResultSet rs = st.executeQuery("PRAGMA table_info(connections_state)")) { - while (rs.next()) { - String name = rs.getString("name"); - int notNull = rs.getInt("notnull"); - if ("to_block_number".equalsIgnoreCase(name)) { - toBlockNumberNotNull = notNull == 1; - } - if ("to_block_hash".equalsIgnoreCase(name)) { - toBlockHashNotNull = notNull == 1; - } - } - } - - return !toBlockNumberNotNull || !toBlockHashNotNull; - } - - private void initializeDatabase() { - if (sqliteMode) { - try { - Class.forName("org.sqlite.JDBC"); - } catch (ClassNotFoundException e) { - throw new RuntimeException("SQLite JDBC driver not found", e); - } - ensureSchemaMigrations(); - return; - } - - if (jdbcUrl.startsWith("jdbc:postgresql:")) { - try { - DatabaseInitializer.ensurePostgresSchemaInitialized(jdbcUrl, dbUser, dbPassword); - } catch (SQLException e) { - throw new RuntimeException("PostgreSQL schema auto-init failed", e); - } - return; - } - - throw new RuntimeException("Unsupported JDBC URL: " + jdbcUrl); - } - - private Connection openConnection() throws SQLException { - if (dbUser == null) { - return DriverManager.getConnection(jdbcUrl); - } - return DriverManager.getConnection(jdbcUrl, dbUser, dbPassword == null ? "" : dbPassword); - } - - private static String trimToNull(String value) { - if (value == null) return null; - String trimmed = value.trim(); - return trimmed.isEmpty() ? null : trimmed; - } -} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java index 043d9c9d..bba64f8e 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java @@ -141,18 +141,16 @@ public final class ConnectionsStateDAO { String toBchName, Integer toBlockNumber, byte[] toBlockHash) throws SQLException { - if (db.isPostgres()) { - try (PreparedStatement deletePs = c.prepareStatement(""" - DELETE FROM connections_state - WHERE LOWER(login) = LOWER(?) - AND rel_type = ? - AND LOWER(to_login) = LOWER(?) - """)) { - deletePs.setString(1, login); - deletePs.setInt(2, relType); - deletePs.setString(3, toLogin); - deletePs.executeUpdate(); - } + try (PreparedStatement deletePs = c.prepareStatement(""" + DELETE FROM connections_state + WHERE LOWER(login) = LOWER(?) + AND rel_type = ? + AND LOWER(to_login) = LOWER(?) + """)) { + deletePs.setString(1, login); + deletePs.setInt(2, relType); + deletePs.setString(3, toLogin); + deletePs.executeUpdate(); } String sql = """ diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java index 108c5d5a..9d11354b 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedDmReplayDAO.java @@ -23,17 +23,11 @@ public final class SignedDmReplayDAO { public boolean registerUnique(String fromLogin, long timeMs, long nonce, long nowMs) throws Exception { cleanupExpired(nowMs - 15L * 60L * 1000L); try (Connection c = db.getConnection()) { - String sql = db.isPostgres() - ? """ + String sql = """ INSERT INTO signed_direct_message_replay ( from_login, time_ms, nonce, created_at_ms ) VALUES (?, ?, ?, ?) ON CONFLICT DO NOTHING - """ - : """ - INSERT OR IGNORE INTO signed_direct_message_replay ( - from_login, time_ms, nonce, created_at_ms - ) VALUES (?, ?, ?, ?) """; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, fromLogin); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java index 12339b63..16efd2ce 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java @@ -12,8 +12,6 @@ import java.util.ArrayList; import java.util.List; public final class SignedMessagesV2DAO { - private static final int SQLITE_BUSY_MAX_RETRIES = 6; - private static final long SQLITE_BUSY_RETRY_BASE_DELAY_MS = 40L; public enum ApplyStatus { APPLIED, @@ -46,7 +44,7 @@ public final class SignedMessagesV2DAO { if (isBlockedByConversationDelete(c, e.getFromLogin(), e.getToLogin(), e.getTimeMs())) { return ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE; } - String sql = db.isPostgres() ? """ + String sql = """ INSERT INTO signed_messages ( message_key, base_key, target_login, from_login, to_login, time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, @@ -54,13 +52,6 @@ public final class SignedMessagesV2DAO { receipt_ref_base_key, receipt_ref_type, read_at_ms ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT DO NOTHING - """ : """ - INSERT OR IGNORE INTO signed_messages_v2 ( - message_key, base_key, target_login, from_login, to_login, - time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, - raw_block, created_at_ms, source_api, origin_session_id, - receipt_ref_base_key, receipt_ref_type, read_at_ms - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """; try (PreparedStatement ps = c.prepareStatement(sql)) { bindSignedMessage(ps, e); @@ -276,13 +267,11 @@ public final class SignedMessagesV2DAO { withBusyRetry(() -> { try (Connection c = db.getConnection()) { String sql = """ - INSERT %s INTO signed_message_session_delivery ( + INSERT INTO signed_message_session_delivery ( message_key, session_id, delivered, delivered_at_ms, created_at_ms ) VALUES (?, ?, 0, NULL, ?) - """.formatted(db.isPostgres() ? "INTO" : "OR IGNORE INTO"); - if (db.isPostgres()) { - sql += "\nON CONFLICT DO NOTHING"; - } + ON CONFLICT DO NOTHING + """; try (PreparedStatement ps = c.prepareStatement(sql)) { for (String sessionId : sessionIds) { if (sessionId == null || sessionId.isBlank()) continue; @@ -329,7 +318,7 @@ public final class SignedMessagesV2DAO { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { String fillSql = """ - INSERT %s INTO signed_message_session_delivery ( + INSERT INTO signed_message_session_delivery ( message_key, session_id, delivered, delivered_at_ms, created_at_ms ) SELECT m.message_key, ?, 0, NULL, ? @@ -340,10 +329,8 @@ public final class SignedMessagesV2DAO { OR (m.message_type IN (5, 6, 7, 8) AND (LOWER(m.from_login) = LOWER(?) OR LOWER(m.to_login) = LOWER(?))) ) - """.formatted(db.isPostgres() ? "INTO" : "OR IGNORE INTO", messagesTable()); - if (db.isPostgres()) { - fillSql += "\nON CONFLICT DO NOTHING"; - } + ON CONFLICT DO NOTHING + """.formatted(messagesTable()); long now = System.currentTimeMillis(); try (PreparedStatement ps = c.prepareStatement(fillSql)) { ps.setString(1, sessionId); @@ -717,46 +704,8 @@ public final class SignedMessagesV2DAO { return msg.contains("constraint") || msg.contains("unique") || msg.contains("primary key"); } - private boolean isBusyLock(SQLException ex) { - if (db.isPostgres()) { - return false; - } - Throwable current = ex; - while (current != null) { - String msg = String.valueOf(current.getMessage()).toLowerCase(); - if (msg.contains("sqlite_busy") || msg.contains("database is locked") || msg.contains("database table is locked")) { - return true; - } - current = current.getCause(); - } - return false; - } - - private void sleepBeforeBusyRetry(int attempt) throws SQLException { - long delayMs = SQLITE_BUSY_RETRY_BASE_DELAY_MS * (1L << Math.min(attempt, 4)); - try { - Thread.sleep(delayMs); - } catch (InterruptedException ie) { - Thread.currentThread().interrupt(); - SQLException sqlEx = new SQLException("Interrupted while retrying SQLite busy lock", ie); - throw sqlEx; - } - } - private <T> T withBusyRetry(SqlWork<T> work) throws Exception { - SQLException lastBusy = null; - for (int attempt = 0; attempt < SQLITE_BUSY_MAX_RETRIES; attempt++) { - try { - return work.run(); - } catch (SQLException ex) { - if (!isBusyLock(ex) || attempt >= SQLITE_BUSY_MAX_RETRIES - 1) { - throw ex; - } - lastBusy = ex; - sleepBeforeBusyRetry(attempt); - } - } - throw lastBusy == null ? new SQLException("SQLite busy retry failed") : lastBusy; + return work.run(); } private int compareMarkers(RevisionMarker left, RevisionMarker right) { @@ -766,7 +715,7 @@ public final class SignedMessagesV2DAO { } private String messagesTable() { - return db.isPostgres() ? "signed_messages" : "signed_messages_v2"; + return "signed_messages"; } private SignedMessageV2Entry mapRow(ResultSet rs) throws Exception { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java index c66e975f..923bff29 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUserPdaCurrentDAO.java @@ -32,19 +32,12 @@ public final class SolanaUserPdaCurrentDAO { } public SolanaUserPdaCurrentEntry getByBlockchainName(String blockchainName) throws SQLException { - if (!db.isPostgres()) { - return null; - } try (Connection c = db.getConnection()) { return getByBlockchainName(c, blockchainName); } } public SolanaUserPdaCurrentEntry getByBlockchainName(Connection c, String blockchainName) throws SQLException { - if (!db.isPostgres()) { - return null; - } - String sql = """ SELECT login, diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index d1f588eb..d681287b 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -44,35 +44,16 @@ public final class SolanaUsersDAO { /** Вставка с внешним соединением. Соединение НЕ закрывает. */ public void insert(Connection c, SolanaUserEntry user) throws SQLException { - if (db.isPostgres()) { - String sql = """ - INSERT INTO solana_users_manual ( - login, blockchain_name, solana_key, blockchain_key, client_key, updated_at_ms - ) VALUES (?, ?, ?, ?, ?, ?) - ON CONFLICT (login) DO UPDATE SET - blockchain_name = EXCLUDED.blockchain_name, - solana_key = EXCLUDED.solana_key, - blockchain_key = EXCLUDED.blockchain_key, - client_key = EXCLUDED.client_key, - updated_at_ms = EXCLUDED.updated_at_ms - """; - - try (PreparedStatement ps = c.prepareStatement(sql)) { - ps.setString(1, user.getLogin()); - ps.setString(2, user.getBlockchainName()); - ps.setString(3, user.getSolanaKey()); - ps.setString(4, user.getBlockchainKey()); - ps.setString(5, user.getClientKey()); - ps.setLong(6, System.currentTimeMillis()); - ps.executeUpdate(); - } - return; - } - String sql = """ - INSERT INTO solana_users ( - login, blockchain_name, solana_key, blockchain_key, client_key - ) VALUES (?, ?, ?, ?, ?) + INSERT INTO solana_users_manual ( + login, blockchain_name, solana_key, blockchain_key, client_key, updated_at_ms + ) VALUES (?, ?, ?, ?, ?, ?) + ON CONFLICT (login) DO UPDATE SET + blockchain_name = EXCLUDED.blockchain_name, + solana_key = EXCLUDED.solana_key, + blockchain_key = EXCLUDED.blockchain_key, + client_key = EXCLUDED.client_key, + updated_at_ms = EXCLUDED.updated_at_ms """; try (PreparedStatement ps = c.prepareStatement(sql)) { @@ -81,6 +62,7 @@ public final class SolanaUsersDAO { ps.setString(3, user.getSolanaKey()); ps.setString(4, user.getBlockchainKey()); ps.setString(5, user.getClientKey()); + ps.setLong(6, System.currentTimeMillis()); ps.executeUpdate(); } } diff --git a/SHiNE-server/src/main/resources/application.properties b/SHiNE-server/src/main/resources/application.properties index 1ff80c8f..950d2ce7 100644 --- a/SHiNE-server/src/main/resources/application.properties +++ b/SHiNE-server/src/main/resources/application.properties @@ -1,5 +1,4 @@ server.1port=7070 -db.path=data/shine.sqlite db.url= db.user= db.password= diff --git a/VERSION.properties b/VERSION.properties index 0e58dedd..3afb31a8 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.329 +server.version=1.2.330 From b5116474c7b865eeb3aed40c2654b9c0b61c288ad7d89f34e11c7eba7bb89a3e Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sun, 26 Jul 2026 16:57:04 +0400 Subject: [PATCH 41/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D1=80=D0=B5=D1=88=D0=B8=D1=82=D1=8C=20replay?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D1=80=D1=8B=D1=85=20=D1=87=D0=B8=D1=81?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D1=8B=D1=85=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine/db/channels/ChannelNameRules.java | 5 ---- ...26-07-22_переход_с_sqlite_на_postgresql.md | 23 +++++++++++++++++++ VERSION.properties | 2 +- .../POSTGRES_RUNTIME_SCHEMA_V1.md | 13 +++++++++++ 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java index c810da2c..84bc7807 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java @@ -10,8 +10,6 @@ public final class ChannelNameRules { Pattern.compile("^[A-Za-z0-9_-]+$"); private static final Pattern PUBLIC_CHANNEL_ALLOWED_PATTERN = Pattern.compile("^[A-Za-z0-9_-]+$"); - private static final Pattern DIGITS_ONLY_PATTERN = - Pattern.compile("^[0-9]+$"); private ChannelNameRules() {} @@ -43,9 +41,6 @@ public final class ChannelNameRules { if (!PUBLIC_CHANNEL_ALLOWED_PATTERN.matcher(normalized).matches()) { throw new IllegalArgumentException("channelName contains unsupported characters"); } - if (DIGITS_ONLY_PATTERN.matcher(normalized).matches()) { - throw new IllegalArgumentException("channelName must not contain only digits"); - } return normalized; } diff --git a/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md index 3be89265..95b90fc8 100644 --- a/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md +++ b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md @@ -34,3 +34,26 @@ - Серверную документацию по БД и миграциям. - Инструкции по локальному запуску сервера. - Скрипты деплоя и настройки окружения. + +## Что временно отключено и что вернуть потом + +- В серверном runtime временно снята проверка `channelName must not contain only digits` + в `SHiNE-server/shine-server-db/src/main/java/shine/db/channels/ChannelNameRules.java`. +- Причина: на боевой истории уже есть блоки с числовыми именами каналов, и сервер + должен уметь с нуля восстановить `blockchain_state` и `.bch`, подтягивая старые + блоки от других sync-серверов. +- Что осталось как текущее поведение: + - UI по-прежнему не даёт создать новый канал только из цифр; + - сервер принимает такие имена, чтобы не ломать replay старых блоков. +- Что нужно сделать отдельным следующим шагом: + - вернуть серверное продуктовое правило для новых каналов; + - сделать это совместимо со старой историей, чтобы импорт/реплей существующих + блоков не падал на старых числовых channel name. +- Какие документы обновить при возврате: + - `docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md`; + - UI/серверные документы по правилам имён каналов, если появится отдельная спецификация. +- С какого сценария продолжать: + - повторить cold start тест на `t2`: пустая PostgreSQL schema, удалённые `.bch`, + новый запуск, ожидание полной синхронизации от `t1`/`t3`. +- Последняя полная рабочая точка с этим временным компромиссом: + - ветка `migration-postgres`, коммит будет создан после этой записи. diff --git a/VERSION.properties b/VERSION.properties index 3afb31a8..8e9a67ec 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.330 +server.version=1.2.331 diff --git a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md index 520038e0..dd5c441d 100644 --- a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md +++ b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md @@ -69,6 +69,19 @@ Это отдельные механические шаги поверх уже утверждённой схемы. +## Совместимость со старыми блоками каналов + +В runtime-сервере сознательно нет жёсткой серверной проверки +`channelName must not contain only digits`. + +Причина: в уже существующей истории блокчейна есть каналы с числовыми именами, +и при холодном восстановлении сервера с пустой БД и без `.bch` такие блоки должны +успешно переигрываться от других sync-серверов. + +Сейчас правило "новый публичный канал не должен состоять только из цифр" остаётся +на уровне UI/продуктовых требований и должно быть позже возвращено на сервере +отдельным совместимым способом, который не ломает replay исторических блоков. + ## Инициализация пустой БД Если сервер подключается к PostgreSQL через `db.url=jdbc:postgresql:...` и в выбранной БД ещё нет таблицы `db_schema_version`, From 618a30c2ab7332020bc25ba868bf772fd842c822ae711a42ede51d8a4c4e9a8e Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 18:01:15 +0400 Subject: [PATCH 42/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=87=D0=B8=D1=81=D1=82=D0=B8=D1=82=D1=8C=20Postgr?= =?UTF-8?q?eSQL=20runtime=20=D0=B8=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SHiNE-server/AGENTS.md | 2 +- .../src/main/java/shine/db/DbController.java | 4 --- .../connection/DriverManagerDbProvider.java | 2 +- .../db/dao/BlockchainResyncCleanupDAO.java | 2 +- .../java/shine/db/dao/SolanaUsersDAO.java | 2 +- .../shine/db/entities/SolanaUserEntry.java | 4 +-- .../src/main/resources/postgres/schema_v1.sql | 4 +-- .../Net_AddCloseFriend_Handler.java | 3 +-- THIRD_PARTY_NOTICES.md | 2 +- TODO/README.md | 2 +- ...26-07-22_переход_с_sqlite_на_postgresql.md | 26 +++++++++---------- ...брать_временную_очистку_signed_messages.md | 2 +- VERSION.properties | 2 +- deploy/SETUP_SERVER_FROM_ZERO.md | 11 ++++++-- deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md | 4 +-- docs/API/14_Test_Free_Avatar_Upload_API.md | 2 +- .../Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md | 2 +- docs/libs/shine-server-bd/DOC.md | 11 ++++---- .../POSTGRES_RUNTIME_SCHEMA_V1.md | 2 +- docs/libs/shine-server-config/doc.md | 4 ++- 20 files changed, 47 insertions(+), 46 deletions(-) diff --git a/SHiNE-server/AGENTS.md b/SHiNE-server/AGENTS.md index 573f3bea..2cf116e6 100644 --- a/SHiNE-server/AGENTS.md +++ b/SHiNE-server/AGENTS.md @@ -9,7 +9,7 @@ SHiNE-server — серверная часть мессенджера SHiNE: Web - `shine-server-net-server/` — точка входа, запуск HTTP/WS сервера - `shine-server-net-protocol/` — обработчики операций (RPC и события WS) -- `shine-server-db/` — DAO, SQL-схема, SQLite +- `shine-server-db/` — DAO, SQL-схема, PostgreSQL runtime - `shine-server-blockchain/` — логика хранения и проверки блоков блокчейна - `shine-server-crypto/` — криптографические утилиты - `shine-server-config/` — конфигурация сервера diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java index 11cb1409..72dec60c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DbController.java @@ -36,10 +36,6 @@ public final class DbController implements DbProvider { return delegate.getConnection(); } - public boolean isPostgres() { - return true; - } - @Override public void close() { delegate.close(); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java index be5b4362..ec90a154 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/connection/DriverManagerDbProvider.java @@ -7,7 +7,7 @@ import java.sql.SQLException; /** * Базовый JDBC provider поверх DriverManager. * - * Не знает ничего про SQLite/PostgreSQL как про доменные режимы: + * Не знает ничего про конкретный доменный режим БД: * конкретные параметры и post-connect инициализация задаются снаружи. */ public final class DriverManagerDbProvider implements DbProvider { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java index f2ad4d8f..423bc74b 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java @@ -24,7 +24,7 @@ import java.sql.SQLException; * - эта схема проще и прозрачнее, чем много обратных триггеров по разным таблицам; * - если любой шаг не удался, делаем rollback и БД остаётся в исходном состоянии; * - файловые действия (.bch / .tmp_bch) сознательно НЕ входят в эту транзакцию: - * SQLite не может атомарно закоммитить и SQL, и файловую систему сразу; + * SQL-транзакция и файловая система не коммитятся атомарно вместе; * поэтому БД-чистка делается здесь, а файловая чистка будет следующим шагом * отдельным recovery/resync-слоем после успешного commit. * diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index d681287b..6ff8ed30 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -14,7 +14,7 @@ import java.util.List; * Таблица: solana_users * * Колонки: - * - login TEXT PRIMARY KEY (COLLATE NOCASE) + * - login TEXT PRIMARY KEY * - blockchain_name TEXT NOT NULL * - solana_key TEXT NOT NULL * - blockchain_key TEXT NOT NULL diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java index 7552faf1..ee0e7a20 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java @@ -8,7 +8,7 @@ import java.util.Base64; * Таблица: solana_users * * Поля: - * - login — PRIMARY KEY (TEXT) (case-insensitive на уровне COLLATE NOCASE) + * - login — PRIMARY KEY (TEXT) * - blockchain_name — TEXT NOT NULL * - solana_key — TEXT NOT NULL * - blockchain_key — TEXT NOT NULL @@ -81,4 +81,4 @@ public class SolanaUserEntry { return null; } -} \ No newline at end of file +} diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 1da3fe34..69da9863 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -4,7 +4,7 @@ -- Назначение: -- - поднять пустую PostgreSQL БД сервера SHiNE с нуля; -- - включить таблицы модуля синхронизации Solana users; --- - включить runtime-таблицы сервера без legacy SQLite таблиц: +-- - включить runtime-таблицы сервера без legacy-таблиц старого runtime: -- * НЕ создаём solana_users -- * НЕ создаём direct_messages -- * основной runtime DM storage = signed_messages @@ -12,7 +12,7 @@ -- Важно: -- - источник истины по пользователям: solana_user_pda_current; -- - runtime table blockchain_state остаётся как локальное серверное состояние chain, --- но не мигрируется из старой SQLite и не считается identity-слоем; +-- но не мигрируется из старого локального runtime и не считается identity-слоем; -- - триггеры переписаны под PostgreSQL и сохраняют текущую серверную логику. BEGIN; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java index 9c0fe3d1..bf55ee5e 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java @@ -42,8 +42,7 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { } // Idempotent insert for close-friend relation. - // Using INSERT OR IGNORE avoids ON CONFLICT(column list) mismatches - // across DB instances with different UNIQUE schemas. + // Rely on PostgreSQL ON CONFLICT DO NOTHING. insertCloseFriendIgnoreDuplicate(c, from, canonicalTo, targetBch); Net_AddCloseFriend_Response resp = new Net_AddCloseFriend_Response(); diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 9393aae8..42e7a809 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -67,7 +67,7 @@ The SHiNE Java server uses third-party dependencies from Maven Central, includin - Jackson (`com.fasterxml.jackson.core:jackson-databind`) - Apache-2.0 - Logback (`ch.qos.logback:logback-classic`) - EPL-1.0 / LGPL-2.1 - SLF4J (`org.slf4j:slf4j-api`) - MIT -- SQLite JDBC (`org.xerial:sqlite-jdbc`) - Apache-2.0 +- PostgreSQL JDBC (`org.postgresql:postgresql`) - BSD-2-Clause - Web Push Java library (`nl.martijndwars:web-push`) - Apache-2.0 - JUnit (`org.junit:*`) - EPL-2.0 diff --git a/TODO/README.md b/TODO/README.md index 6d4c72ff..6a13506f 100644 --- a/TODO/README.md +++ b/TODO/README.md @@ -49,7 +49,7 @@ - `medium/2026-05-26_0029_esp32s3_file_storage.md` - ESP32S3 как личное файловое хранилище SHiNE для файлов переписок и вложений. - `medium/2026-06-02_сессионные_homeserver_в_pda.md` - несколько homeserver-ов пользователя как типизированные сессии в PDA с версией записи. - `medium/2026-06-03_подключение_других_устройств_через_qr.md` - довести подключение других устройств через QR: сейчас заготовка есть, но сценарий работает нестабильно и его нужно будет отдельно доделать. -- `medium/2026-07-22_переход_с_sqlite_на_postgresql.md` - подготовить перевод серверной БД с `SQLite` на `PostgreSQL` для более серьёзной конкурентной нагрузки и дальнейшего масштабирования. +- `medium/2026-07-22_переход_с_sqlite_на_postgresql.md` - завершить зачистку хвостов после перевода серверной БД с `SQLite` на `PostgreSQL`. ### dao_запуск diff --git a/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md index 95b90fc8..72c097a1 100644 --- a/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md +++ b/TODO/medium/2026-07-22_переход_с_sqlite_на_postgresql.md @@ -2,32 +2,30 @@ ## Зачем -Текущая серверная база на `SQLite` удобна для простого односерверного режима, но она хуже подходит для большого числа параллельных записей, роста нагрузки и дальнейшего масштабирования сервера. +Переход runtime-сервера на `PostgreSQL` уже выполнен, но после него остались хвосты в документации, именах, комментариях и части прямых SQL-запросов. -`PostgreSQL` нужен как следующий уровень серверной БД для более надёжной конкурентной записи, более предсказуемой работы под нагрузкой и дальнейшего роста проекта. +Этот TODO теперь нужен не для самого перехода, а для доведения проекта до полностью консистентного состояния после ухода от `SQLite`. ## Что сделать -- Подготовить план переноса серверной БД с `SQLite` на `PostgreSQL`. -- Найти все места, где код завязан на особенности `SQLite`. -- Проверить все DAO и SQL-запросы на совместимость с `PostgreSQL`. -- Продумать схему миграции существующей production/test базы без потери данных. -- Отдельно проверить транзакции, `UPSERT`, индексы, case-insensitive сравнения и миграции схемы. -- После этого подготовить отдельный этап внедрения и переключения сервера. +- Дочистить документацию, где ещё описан `SQLite` как текущий runtime. +- Убрать или переименовать legacy-названия и комментарии, которые уже не соответствуют PostgreSQL runtime. +- Постепенно перенести оставшиеся прямые SQL-запросы из хэндлеров в DAO/service. +- Проверить case-insensitive сравнения, уникальные ограничения и индексы уже в чисто PostgreSQL модели. +- Отдельно пройтись по TODO/служебным документам и убрать ссылки на удалённые SQLite-классы как на актуальный код. ## Что уже есть в коде - Доступ к БД в основном проходит через DAO-слой, а не полностью размазан по проекту. - Основная серверная логика уже разделена по модулям. -- Но SQL и миграции сейчас написаны под `SQLite` и потребуют отдельного прохода. +- Runtime-сервер уже работает только с `PostgreSQL`. +- Пустая БД инициализируется автоматически через `schema_v1`. ## Откуда продолжать -- Начать с инвентаризации всех DAO и схемы БД. -- После этого сделать отдельный документ с оценкой объёма работ по переносу. -- Затем решить, будет ли это: - - полный перевод сервера на `PostgreSQL`; - - или поддержка двух драйверов на переходный период. +- Продолжать с зачистки legacy-документации и комментариев. +- Затем добрать оставшиеся прямые SQL-запросы вне DAO. +- После этого можно отдельно решать вопрос косметического переименования `*V2`, `DbController` и других переходных сущностей. ## Что потом обновить diff --git a/TODO/near/2026-07-07_дм_v11_убрать_временную_очистку_signed_messages.md b/TODO/near/2026-07-07_дм_v11_убрать_временную_очистку_signed_messages.md index e4b1bcb9..2b04642a 100644 --- a/TODO/near/2026-07-07_дм_v11_убрать_временную_очистку_signed_messages.md +++ b/TODO/near/2026-07-07_дм_v11_убрать_временную_очистку_signed_messages.md @@ -11,7 +11,7 @@ ## Что именно потом сделать -- удалить временную миграцию `migrateToV11()` из [SqliteDbController.java](/home/ai/work/SHiNE/SHiNE-server-sha256/SHiNE-server/shine-server-db/src/main/java/shine/db/SqliteDbController.java); +- найти историческое место, где была добавлена временная миграция `migrateToV11()`, и убрать её остатки из runtime-логики/документации; - удалить helper `clearLegacySignedMessagesForDmV11(...)`; - поднять версию схемы дальше обычным образом уже без destructive-cleanup; - при необходимости заменить это на нормальную точечную миграцию старых DM-записей или совсем убрать поддержку старой истории. diff --git a/VERSION.properties b/VERSION.properties index 8e9a67ec..d1394bda 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.331 +server.version=1.2.332 diff --git a/deploy/SETUP_SERVER_FROM_ZERO.md b/deploy/SETUP_SERVER_FROM_ZERO.md index de4b6f6d..7e20b2f7 100644 --- a/deploy/SETUP_SERVER_FROM_ZERO.md +++ b/deploy/SETUP_SERVER_FROM_ZERO.md @@ -46,7 +46,9 @@ Production пример: ```properties server.port=7070 server.SHiNE.login=shineupme -db.path=data/shine.sqlite +db.url=jdbc:postgresql://127.0.0.1:5432/shine_server_db +db.user=shine_server +db.password=CHANGE_ME server.ui.indexPath=/home/player/SHiNE/shine-ui/index.html server.info.url=https://shineup.me server.info.origin=production @@ -58,7 +60,9 @@ Test/devnet пример: ```properties server.port=7102 server.SHiNE.login=server_t2 -db.path=data/shine.sqlite +db.url=jdbc:postgresql://127.0.0.1:5432/shine_t2_db +db.user=shine_t2 +db.password=CHANGE_ME server.ui.indexPath=/home/player/t2/UI/index.html server.info.url=https://t2.shineup.me server.info.origin=devnet @@ -66,6 +70,9 @@ solana.cluster=devnet solana.rpcUrl=https://api.devnet.solana.com ``` +Если указан `db.url` и в выбранной БД ещё нет таблицы `db_schema_version`, +сервер сам создаст runtime-схему PostgreSQL при первом старте. + ## 5. Caddy Минимальный site block: diff --git a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md index 5c80df7f..bb96d8f0 100644 --- a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md +++ b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md @@ -92,5 +92,5 @@ cp /path/to/SHiNE-product/application.properties ./application.properties ## Что пока остаётся как есть - `sync_servers` сервер по-прежнему загружает из server PDA в Solana; -- старый SQLite runtime код ещё может лежать в репозитории, но новая runtime-схема на него не должна опираться; -- механический перенос DAO и runtime SQL на PostgreSQL делается отдельным шагом после утверждения схемы `v1`. +- runtime-сервер уже работает только с PostgreSQL; +- дальнейшим отдельным шагом остаются зачистка legacy-документации, переименования и перенос оставшихся прямых SQL-запросов в DAO/service. diff --git a/docs/API/14_Test_Free_Avatar_Upload_API.md b/docs/API/14_Test_Free_Avatar_Upload_API.md index 29438ff6..7fb55656 100644 --- a/docs/API/14_Test_Free_Avatar_Upload_API.md +++ b/docs/API/14_Test_Free_Avatar_Upload_API.md @@ -9,7 +9,7 @@ - загрузка идёт через **серверный Arweave-кошелёк**; - лимит на пользователя: по умолчанию `3` загрузки за всё время; -- лимит хранится в SQLite-таблице `test_free_avatar_uploads`; +- лимит хранится в PostgreSQL-таблице `test_free_avatar_uploads`; - если лимит исчерпан, сервер возвращает понятную ошибку; - загружать можно только маленький итоговый файл аватара, по умолчанию до `128 KB`. diff --git a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md index 0aa9ded4..725ede05 100644 --- a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md +++ b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md @@ -550,7 +550,7 @@ SYNC_POLL_INTERVAL_SECONDS=300 3. выделить lifecycle-сервис с `awaitReady()`; 4. реализовать вычисление `users_economy_config_pda`; 5. реализовать polling истории по сигнатурам; -6. добавить новые SQLite-таблицы; +6. добавить runtime-таблицы PostgreSQL; 7. добавить запись в `current` и `history`; 8. добавить periodic guard раз в 5 минут; 9. сохранить отдельный `main` для запуска как процесса. diff --git a/docs/libs/shine-server-bd/DOC.md b/docs/libs/shine-server-bd/DOC.md index aae2dfaa..0c7fcffe 100644 --- a/docs/libs/shine-server-bd/DOC.md +++ b/docs/libs/shine-server-bd/DOC.md @@ -1,17 +1,16 @@ shine-server-bd — это библиотека реалезующая всю работу с БД: -хранит пользователей/сессии/параметры/кэш IP→гео и данные блокчейна (состояние + блоки), предоставляя единый SqliteDbController для соединений, набор DAO под каждую таблицу (Singleton, методы с Connection для транзакций и без Connection — сами открывают/закрывают), и простые entity-модели как контейнеры данных для маппинга ResultSet↔Java. +хранит пользователей/сессии/параметры/кэш IP→гео и данные блокчейна (состояние + блоки), предоставляя единый PostgreSQL runtime-контроллер соединений, набор DAO под каждую таблицу (Singleton, методы с Connection для транзакций и без Connection — сами открывают/закрывают), и простые entity-модели как контейнеры данных для маппинга ResultSet↔Java. Логика структуры классов (в двух словах): -shine.db.SqliteDbController — один вход в БД: читает db.path, при отсутствии файла создаёт БД, выдаёт новые Connection и настраивает PRAGMA. -shine.db.DatabaseInitializer — разовая сборка схемы (таблицы + индексы). +shine.db.DbController / shine.db.PostgresDbController — вход в runtime БД: читает `db.url/db.user/db.password`, подключается только к PostgreSQL и выдаёт новые `Connection`. +shine.db.DatabaseInitializer — проверяет наличие `db_schema_version` и при пустой БД автоматически накатывает `postgres/schema_v1.sql`. shine.db.entities.* — POJO-модели строк таблиц (без логики, только поля/геттеры/сеттеры + иногда удобные методы вроде getClientKeyByte()). shine.db.dao.* — DAO по таблицам: ActiveSessionsDAO, SolanaUsersDAO, UserParamsDAO, IpGeoCacheDAO, BlockchainStateDAO, BlocksDAO; плюс “сервисные” DAO: UserCreateDAO — атомарная регистрация пользователя в транзакции (BEGIN IMMEDIATE + rollback/commit). -// Временное решение позволяющее регистрировать новых пользователей -// атомарно и добавляет запись и в solana_users и в BlockchainState - +// Временное runtime-решение, позволяющее регистрировать новых пользователей +// атомарно и добавляющее запись в runtime-таблицы сервера. diff --git a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md index dd5c441d..b6cb1641 100644 --- a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md +++ b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md @@ -62,7 +62,7 @@ ## Что не входит в v1 -- удаление legacy SQLite-классов; +- полная зачистка legacy-документации, старых названий и TODO-хвостов; - переименование Java DAO/классов `*V2` в runtime-коде; - перенос прямых SQL-запросов из хэндлеров в DAO/service; - переключение всего runtime-кода на новый `DbProvider`. diff --git a/docs/libs/shine-server-config/doc.md b/docs/libs/shine-server-config/doc.md index e2f49003..929add26 100644 --- a/docs/libs/shine-server-config/doc.md +++ b/docs/libs/shine-server-config/doc.md @@ -4,4 +4,6 @@ shine-server-config Настройки: server.port=7070 — порт запуска сервера -db.path=data/shine.sqlite — путь к SQLite базе данных \ No newline at end of file +db.url=jdbc:postgresql://127.0.0.1:5432/shine_server_db — JDBC URL PostgreSQL +db.user=shine_server — пользователь PostgreSQL +db.password=... — пароль пользователя PostgreSQL From f74fecddd843bdb1d8ed698528a8ae819b4460806744dccd20a5eb6063266c29 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 18:04:39 +0400 Subject: [PATCH 43/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=87=D0=B8=D1=82=D0=B0=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=BF=D1=80=D1=8F=D0=BC=D1=83=D1=8E=20=D0=B8=D0=B7=20PDA?= =?UTF-8?q?=20current?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine/db/dao/ConnectionsStateDAO.java | 29 ++++++++------ .../java/shine/db/dao/SolanaUsersDAO.java | 21 +++++----- .../java/shine/db/sql/SolanaUsersSql.java | 38 +++++++++++++++++++ .../channels/ChannelsReadSupport.java | 4 +- .../Net_AddCloseFriend_Handler.java | 4 +- .../Net_GetFriendsLists_Handler.java | 10 ++--- .../Net_GetUserConnectionsGraph_Handler.java | 8 ++-- VERSION.properties | 2 +- 8 files changed, 82 insertions(+), 34 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java index bba64f8e..ca0c66d3 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java @@ -1,6 +1,7 @@ package shine.db.dao; import shine.db.DbController; +import shine.db.sql.SolanaUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -14,10 +15,8 @@ import java.util.List; * * ВАЖНО: * - login в запросах может быть в любом регистре; - * - в ответах возвращаем логины в каноническом регистре через JOIN на solana_users. - * - * ПРИМЕЧАНИЕ: - * Таблица пользователей тут названа "solana_users". Если у тебя иначе — поменяй в SQL. + * - в ответах возвращаем логины в каноническом регистре через прямой lookup + * по актуальным PDA-данным и manual fallback. */ public final class ConnectionsStateDAO { @@ -42,14 +41,17 @@ public final class ConnectionsStateDAO { String sql = """ SELECT COALESCE(u_login.login, u_bch.login, cs.to_login) AS friend_login FROM connections_state cs - LEFT JOIN solana_users u_login + LEFT JOIN %s ON LOWER(u_login.login) = LOWER(cs.to_login) - LEFT JOIN solana_users u_bch + LEFT JOIN %s ON LOWER(u_bch.blockchain_name) = LOWER(cs.to_bch_name) WHERE LOWER(cs.login) = LOWER(?) AND cs.rel_type = ? ORDER BY friend_login - """; + """.formatted( + SolanaUsersSql.usersSubquery("u_login"), + SolanaUsersSql.usersSubquery("u_bch") + ); List<String> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { @@ -72,9 +74,9 @@ public final class ConnectionsStateDAO { String sql = """ SELECT COALESCE(u_actor.login, cs.login) AS friend_login FROM connections_state cs - LEFT JOIN solana_users u_actor + LEFT JOIN %s ON LOWER(u_actor.login) = LOWER(cs.login) - LEFT JOIN solana_users u_target + LEFT JOIN %s ON LOWER(u_target.login) = LOWER(?) WHERE ( LOWER(cs.to_login) = LOWER(?) @@ -82,7 +84,10 @@ public final class ConnectionsStateDAO { ) AND cs.rel_type = ? ORDER BY friend_login - """; + """.formatted( + SolanaUsersSql.usersSubquery("u_actor"), + SolanaUsersSql.usersSubquery("u_target") + ); List<String> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { @@ -106,7 +111,7 @@ public final class ConnectionsStateDAO { String sql = """ SELECT u.login AS friend_login FROM connections_state a - JOIN solana_users u + JOIN %s ON LOWER(u.login) = LOWER(a.to_login) WHERE LOWER(a.login) = LOWER(?) AND a.rel_type = ? @@ -118,7 +123,7 @@ public final class ConnectionsStateDAO { AND b.rel_type = a.rel_type ) ORDER BY u.login - """; + """.formatted(SolanaUsersSql.usersSubquery("u")); List<String> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index 6ff8ed30..ef0c07f1 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -3,6 +3,7 @@ package shine.db.dao; import shine.db.DbController; import shine.db.KeyEncodingUtil; import shine.db.entities.SolanaUserEntry; +import shine.db.sql.SolanaUsersSql; import java.sql.*; import java.util.ArrayList; @@ -80,10 +81,10 @@ public final class SolanaUsersDAO { public boolean existsByLogin(Connection c, String login) throws SQLException { String sql = """ SELECT 1 - FROM solana_users + FROM %s WHERE LOWER(login) = LOWER(?) LIMIT 1 - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); @@ -104,10 +105,10 @@ public final class SolanaUsersDAO { public boolean existsByBlockchainName(Connection c, String blockchainName) throws SQLException { String sql = """ SELECT 1 - FROM solana_users + FROM %s WHERE blockchain_name = ? LIMIT 1 - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, blockchainName); @@ -135,9 +136,9 @@ public final class SolanaUsersDAO { solana_key, blockchain_key, client_key - FROM solana_users + FROM %s WHERE LOWER(login) = LOWER(?) - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); @@ -164,9 +165,9 @@ public final class SolanaUsersDAO { solana_key, blockchain_key, client_key - FROM solana_users + FROM %s WHERE blockchain_name = ? - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, blockchainName); @@ -193,11 +194,11 @@ public final class SolanaUsersDAO { solana_key, blockchain_key, client_key - FROM solana_users + FROM %s WHERE LOWER(login) LIKE ? ORDER BY login LIMIT 5 - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); List<SolanaUserEntry> result = new ArrayList<>(); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java new file mode 100644 index 00000000..3baadaa9 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java @@ -0,0 +1,38 @@ +package shine.db.sql; + +public final class SolanaUsersSql { + + private SolanaUsersSql() {} + + public static String usersSubquery(String alias) { + if (alias == null || alias.isBlank()) { + throw new IllegalArgumentException("alias is blank"); + } + return """ + ( + SELECT + current_users.login AS login, + current_users.blockchain_name AS blockchain_name, + current_users.client_key AS solana_key, + current_users.blockchain_key AS blockchain_key, + current_users.client_key AS client_key + FROM solana_user_pda_current current_users + + UNION ALL + + SELECT + manual.login AS login, + manual.blockchain_name AS blockchain_name, + manual.solana_key AS solana_key, + manual.blockchain_key AS blockchain_key, + manual.client_key AS client_key + FROM solana_users_manual manual + WHERE NOT EXISTS ( + SELECT 1 + FROM solana_user_pda_current current_users + WHERE LOWER(current_users.login) = LOWER(manual.login) + ) + ) %s + """.formatted(alias); + } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index c2aa63a6..6daf45c7 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -8,6 +8,7 @@ import blockchain.body.TextLineBody; import blockchain.body.TextReplyBody; import shine.db.channels.ChannelNameRules; import shine.db.MsgSubType; +import shine.db.sql.SolanaUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -30,7 +31,8 @@ final class ChannelsReadSupport { private ChannelsReadSupport() {} static String canonicalLogin(Connection c, String anyCaseLogin) throws SQLException { - String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; + String sql = ("SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + + " WHERE LOWER(login) = LOWER(?) LIMIT 1"); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, anyCaseLogin); try (ResultSet rs = ps.executeQuery()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java index bf55ee5e..ef0cc877 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java @@ -9,6 +9,7 @@ import server.logic.ws_protocol.JSON.handlers.connections.entyties.Net_AddCloseF import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; +import shine.db.sql.SolanaUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -57,7 +58,8 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String login) throws Exception { - String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; + String sql = "SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + + " WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); try (ResultSet rs = ps.executeQuery()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java index 96e1599f..42330be7 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java @@ -13,6 +13,7 @@ import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; import shine.db.DbController; import shine.db.dao.ConnectionsStateDAO; +import shine.db.sql.SolanaUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -26,10 +27,7 @@ import java.util.List; * * ВАЖНО: * - login в запросе может быть любым регистром - * - в ответе возвращаем канонический регистр (как в solana_users.login) - * - * ПРИМЕЧАНИЕ: - * Таблица пользователей тут названа "solana_users". Если у тебя иначе — поменяй SQL. + * - в ответе возвращаем канонический регистр логина. */ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { @@ -99,10 +97,10 @@ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { private String findCanonicalLogin(Connection c, String loginAnyCase) throws Exception { String sql = """ SELECT login - FROM solana_users + FROM %s WHERE LOWER(login) = LOWER(?) LIMIT 1 - """; + """.formatted(SolanaUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, loginAnyCase); try (ResultSet rs = ps.executeQuery()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java index 9e9ed1c7..90da70e2 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java @@ -10,6 +10,7 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; import shine.db.dao.ConnectionsStateDAO; +import shine.db.sql.SolanaUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -113,7 +114,8 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String loginAnyCase) throws Exception { - String sql = "SELECT login FROM solana_users WHERE LOWER(login) = LOWER(?) LIMIT 1"; + String sql = "SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + + " WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, loginAnyCase); try (ResultSet rs = ps.executeQuery()) { @@ -168,14 +170,14 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { MAX(CASE WHEN up.param = 'official' THEN up.value END) AS official_value, MAX(CASE WHEN up.param = 'shine' THEN up.value END) AS shine_value, MAX(CASE WHEN up.param = 'ava' THEN up.value END) AS avatar_value - FROM solana_users su + FROM %s LEFT JOIN users_params up ON LOWER(up.login) = LOWER(su.login) AND up.param IN ('gender', 'official', 'shine', 'ava') WHERE LOWER(su.login) IN (%s) GROUP BY su.login ORDER BY su.login - """.formatted(String.join(", ", placeholders)); + """.formatted(SolanaUsersSql.usersSubquery("su"), String.join(", ", placeholders)); try (PreparedStatement ps = c.prepareStatement(sql)) { int i = 1; diff --git a/VERSION.properties b/VERSION.properties index d1394bda..72a433e7 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.332 +server.version=1.2.333 From 23748504e65fd9542a147a6d4fcfc89dd01883413cc7bb238f756784104c5add Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 19:06:08 +0400 Subject: [PATCH 44/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20manual=20import=20?= =?UTF-8?q?=D0=B8=20AddUser=20=D1=81=D0=BB=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/shine/db/dao/SolanaUsersDAO.java | 39 +- .../main/java/shine/db/dao/UserCreateDAO.java | 128 ------ .../java/shine/db/sql/SolanaUsersSql.java | 15 - .../src/main/resources/postgres/schema_v1.sql | 34 -- .../ws_protocol/JSON/JsonHandlerRegistry.java | 5 - .../auth/Net_AuthChallenge_Handler.java | 20 +- .../auth/SolanaUserPdaImportService.java | 34 +- .../auth/entyties/AUTH_SESSION_NEW.md | 44 +-- .../tempToTest/Net_AddUser_Handler.java | 26 -- .../tempToTest/Net_GetUser_Handler.java | 4 - .../entyties/Net_AddUser_Request.java | 58 --- .../entyties/Net_AddUser_Response.java | 21 - .../JSON/messages/SignedMessagesCore.java | 6 +- .../sync/PeriodicBlockchainSyncService.java | 74 +--- .../java/test/it/cases/IT_01_AddUser.java | 365 ------------------ .../java/test/it/cases/IT_02_Sessions.java | 3 +- .../test/it/cases/IT_03_AddBlock_NoAuth.java | 3 +- .../it/cases/IT_04_UserParams_NoAuth.java | 5 +- .../java/test/it/cases/IT_07_EspPairing.java | 11 +- .../it/cases/SeedDataPopulationHelper.java | 48 +-- .../it/cases/Seed_TestDataPopulation.java | 5 +- .../java/test/it/runner/IT_RunAllMain.java | 4 - .../test/java/test/it/suite/IT_00_Suite.java | 2 - .../test/java/test/it/utils/TestConfig.java | 4 +- .../java/test/it/utils/json/JsonBuilders.java | 34 -- VERSION.properties | 2 +- 26 files changed, 26 insertions(+), 968 deletions(-) delete mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java delete mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_AddUser_Handler.java delete mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Request.java delete mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Response.java delete mode 100644 SHiNE-server/src/test/java/test/it/cases/IT_01_AddUser.java diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java index ef0c07f1..5a4e4026 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java @@ -10,9 +10,10 @@ import java.util.ArrayList; import java.util.List; /** - * SolanaUsersDAO — локальная таблица пользователей из Solana. + * SolanaUsersDAO — совместимый runtime-доступ к текущему срезу пользователей. * - * Таблица: solana_users + * Источник: + * - solana_user_pda_current * * Колонки: * - login TEXT PRIMARY KEY @@ -41,40 +42,6 @@ public final class SolanaUsersDAO { return instance; } - // -------------------- INSERT -------------------- - - /** Вставка с внешним соединением. Соединение НЕ закрывает. */ - public void insert(Connection c, SolanaUserEntry user) throws SQLException { - String sql = """ - INSERT INTO solana_users_manual ( - login, blockchain_name, solana_key, blockchain_key, client_key, updated_at_ms - ) VALUES (?, ?, ?, ?, ?, ?) - ON CONFLICT (login) DO UPDATE SET - blockchain_name = EXCLUDED.blockchain_name, - solana_key = EXCLUDED.solana_key, - blockchain_key = EXCLUDED.blockchain_key, - client_key = EXCLUDED.client_key, - updated_at_ms = EXCLUDED.updated_at_ms - """; - - try (PreparedStatement ps = c.prepareStatement(sql)) { - ps.setString(1, user.getLogin()); - ps.setString(2, user.getBlockchainName()); - ps.setString(3, user.getSolanaKey()); - ps.setString(4, user.getBlockchainKey()); - ps.setString(5, user.getClientKey()); - ps.setLong(6, System.currentTimeMillis()); - ps.executeUpdate(); - } - } - - /** Вставка без внешнего соединения. Сам открывает/закрывает. */ - public void insert(SolanaUserEntry user) throws SQLException { - try (Connection c = db.getConnection()) { - insert(c, user); - } - } - // -------------------- EXISTS -------------------- /** Проверка существования по login (case-insensitive) с внешним соединением. Соединение НЕ закрывает. */ diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java deleted file mode 100644 index 6c71d37e..00000000 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserCreateDAO.java +++ /dev/null @@ -1,128 +0,0 @@ -package shine.db.dao; - -import shine.db.DbController; -import shine.db.entities.SolanaUserEntry; - -import java.sql.*; - -/** - * UserCreateDAO — атомарное добавление пользователя: - * - solana_users (login, blockchain_name, solana_key, blockchain_key, client_key) - * - blockchain_state (blockchain_name, login, blockchain_key, size_limit, ... last_block_number=-1 ...) - * - * ВАЖНО: - * - только INSERT (без перезаписи существующих записей) - * - если login или blockchainName заняты — возвращаем false (пользователь уже есть/занято) - */ -public final class UserCreateDAO { - - private static volatile UserCreateDAO instance; - private final DbController db = DbController.getInstance(); - private final SolanaUsersDAO usersDao = SolanaUsersDAO.getInstance(); - - private UserCreateDAO() {} - - public static UserCreateDAO getInstance() { - if (instance == null) { - synchronized (UserCreateDAO.class) { - if (instance == null) instance = new UserCreateDAO(); - } - } - return instance; - } - - /** - * @return true если добавили; false если занято (login уже есть или blockchainName уже существует). - */ - public boolean insertUserWithBlockchain( - String login, - String blockchainName, - String solanaKey, - String blockchainKey, - String clientKey, - long sizeLimit, - long nowMs - ) throws SQLException { - - try (Connection c = db.getConnection()) { - boolean oldAuto = c.getAutoCommit(); - c.setAutoCommit(false); - - try { - // 1) solana_users - SolanaUserEntry u = new SolanaUserEntry(); - u.setLogin(login); - u.setBlockchainName(blockchainName); - u.setSolanaKey(solanaKey); - u.setBlockchainKey(blockchainKey); - u.setClientKey(clientKey); - - usersDao.insert(c, u); // если login занят (NOCASE) или blockchainName (unique) -> constraint - - // 2) blockchain_state — строго INSERT, без UPSERT (иначе можно перезаписать существующую цепочку) - insertBlockchainStateStrict( - c, - blockchainName, - login, - blockchainKey, - sizeLimit, - nowMs - ); - - c.commit(); - return true; - - } catch (SQLException e) { - c.rollback(); - - String msg = e.getMessage() == null ? "" : e.getMessage().toLowerCase(); - if (msg.contains("constraint")) { - return false; - } - throw e; - - } finally { - c.setAutoCommit(oldAuto); - } - } - } - - private static void insertBlockchainStateStrict( - Connection c, - String blockchainName, - String login, - String blockchainKey, - long sizeLimit, - long nowMs - ) throws SQLException { - - String sql = """ - INSERT INTO blockchain_state ( - blockchain_name, - login, - blockchain_key, - size_limit, - file_size_bytes, - last_block_number, - last_block_hash, - updated_at_ms - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?) - """; - - try (PreparedStatement ps = c.prepareStatement(sql)) { - int i = 1; - ps.setString(i++, blockchainName); - ps.setString(i++, login); - ps.setString(i++, blockchainKey); - - ps.setLong(i++, sizeLimit); - ps.setLong(i++, 0L); - - ps.setInt(i++, -1); - ps.setNull(i++, Types.BINARY); // старт: блоков ещё нет - ps.setLong(i++, nowMs); - - ps.executeUpdate(); // если blockchainName занят -> constraint (PK) - } - } -} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java index 3baadaa9..968cf0b2 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java @@ -17,21 +17,6 @@ public final class SolanaUsersSql { current_users.blockchain_key AS blockchain_key, current_users.client_key AS client_key FROM solana_user_pda_current current_users - - UNION ALL - - SELECT - manual.login AS login, - manual.blockchain_name AS blockchain_name, - manual.solana_key AS solana_key, - manual.blockchain_key AS blockchain_key, - manual.client_key AS client_key - FROM solana_users_manual manual - WHERE NOT EXISTS ( - SELECT 1 - FROM solana_user_pda_current current_users - WHERE LOWER(current_users.login) = LOWER(manual.login) - ) ) %s """.formatted(alias); } diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 69da9863..7a01264c 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -111,40 +111,6 @@ CREATE TABLE IF NOT EXISTS solana_user_pda_current ( CREATE INDEX IF NOT EXISTS idx_user_pda_current_slot ON solana_user_pda_current(slot); -CREATE TABLE IF NOT EXISTS solana_users_manual ( - login TEXT PRIMARY KEY, - blockchain_name TEXT NOT NULL UNIQUE, - solana_key TEXT NOT NULL, - blockchain_key TEXT NOT NULL, - client_key TEXT NOT NULL, - updated_at_ms BIGINT NOT NULL -); - -CREATE INDEX IF NOT EXISTS idx_solana_users_manual_login - ON solana_users_manual(login); - -CREATE OR REPLACE VIEW solana_users AS -SELECT - current_users.login AS login, - current_users.blockchain_name AS blockchain_name, - current_users.client_key AS solana_key, - current_users.blockchain_key AS blockchain_key, - current_users.client_key AS client_key -FROM solana_user_pda_current current_users -UNION ALL -SELECT - manual.login, - manual.blockchain_name, - manual.solana_key, - manual.blockchain_key, - manual.client_key -FROM solana_users_manual manual -WHERE NOT EXISTS ( - SELECT 1 - FROM solana_user_pda_current current_users - WHERE LOWER(current_users.login) = LOWER(manual.login) -); - CREATE TABLE IF NOT EXISTS solana_user_pda_history ( id BIGSERIAL PRIMARY KEY, tx_signature TEXT NOT NULL, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java index 9d2121aa..5a7a7cca 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java @@ -43,9 +43,6 @@ import server.logic.ws_protocol.JSON.handlers.blockchain.Net_GetBlockchainBlock_ import server.logic.ws_protocol.JSON.handlers.blockchain.entyties.Net_AddBlock_Request; import server.logic.ws_protocol.JSON.handlers.blockchain.entyties.Net_GetBlockchainBlock_Request; -import server.logic.ws_protocol.JSON.handlers.tempToTest.Net_AddUser_Handler; -import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_AddUser_Request; - import server.logic.ws_protocol.JSON.handlers.tempToTest.Net_GetUser_Handler; import server.logic.ws_protocol.JSON.handlers.tempToTest.Net_TestGetFreeAvatarQuota_Handler; import server.logic.ws_protocol.JSON.handlers.tempToTest.Net_TestUploadFreeAvatar_Handler; @@ -142,7 +139,6 @@ public final class JsonHandlerRegistry { } private static final Map<String, JsonMessageHandler> HANDLERS = Map.ofEntries( - Map.entry("AddUser", new Net_AddUser_Handler()), Map.entry("GetUser", new Net_GetUser_Handler()), Map.entry("SearchUsers", new Net_SearchUsers_Handler()), Map.entry("TestGetFreeAvatarQuota", new Net_TestGetFreeAvatarQuota_Handler()), @@ -223,7 +219,6 @@ public final class JsonHandlerRegistry { ); private static final Map<String, Class<? extends Net_Request>> REQUEST_TYPES = Map.ofEntries( - Map.entry("AddUser", Net_AddUser_Request.class), Map.entry("GetUser", Net_GetUser_Request.class), Map.entry("SearchUsers", Net_SearchUsers_Request.class), Map.entry("TestGetFreeAvatarQuota", Net_TestGetFreeAvatarQuota_Request.class), diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java index 3b956b8f..8481ad9b 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java @@ -26,7 +26,7 @@ import java.security.SecureRandom; * * Что делает: * 1) Проверяет login. - * 2) Находит пользователя (solana_users). + * 2) Находит пользователя в текущем PDA snapshot. * 3) Пишет solanaUser в ctx, ставит AUTH_STATUS_AUTH_IN_PROGRESS. * 4) Генерирует authNonce (base64url(32)) и сохраняет в ctx.authNonce. */ @@ -61,25 +61,9 @@ public class Net_AuthChallenge_Handler implements JsonMessageHandler { } SolanaUserEntry solanaUserEntry = SolanaUsersDAO.getInstance().getByLogin(login); - if (solanaUserEntry == null) { - try { - solanaUserEntry = SolanaUserPdaImportService.findOrImportByLogin(login); - if (solanaUserEntry != null) { - log.info("AuthChallenge: пользователь {} импортирован из Solana PDA", solanaUserEntry.getLogin()); - } - } catch (Exception e) { - log.error("AuthChallenge: ошибка lazy-import пользователя {} из Solana", login, e); - return NetExceptionResponseFactory.error( - req, - WireCodes.Status.SERVER_DATA_ERROR, - "SOLANA_IMPORT_FAILED", - "Ошибка проверки пользователя в Solana" - ); - } - } if (solanaUserEntry == null) { return NetExceptionResponseFactory.error( - req, + req, WireCodes.Status.UNVERIFIED, "UNKNOWN_USER", "Пользователь с таким логином не найден" diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/SolanaUserPdaImportService.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/SolanaUserPdaImportService.java index 60065c90..4f58614a 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/SolanaUserPdaImportService.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/SolanaUserPdaImportService.java @@ -4,9 +4,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import shine.db.dao.SolanaUsersDAO; -import shine.db.dao.UserCreateDAO; -import shine.db.entities.SolanaUserEntry; import utils.config.SolanaProgramsConfig; import java.net.URI; @@ -22,8 +19,7 @@ import java.util.Locale; import java.util.Map; /** - * Lazy-import пользователя из Solana PDA в локальную БД сервера. - * Используется при входе, если в solana_users нет записи по login. + * Чтение пользовательских и серверных PDA из Solana. */ public final class SolanaUserPdaImportService { @@ -34,34 +30,6 @@ public final class SolanaUserPdaImportService { private SolanaUserPdaImportService() {} - public static SolanaUserEntry findOrImportByLogin(String loginRaw) throws Exception { - String login = normalizeLogin(loginRaw); - if (login == null) return null; - - SolanaUsersDAO usersDao = SolanaUsersDAO.getInstance(); - SolanaUserEntry existing = usersDao.getByLogin(login); - if (existing != null) return existing; - - ParsedSolanaUser parsed = fetchFromSolana(login); - if (parsed == null) return null; - - long now = System.currentTimeMillis(); - long sizeLimit = parsed.paidLimitBytes > 0 ? parsed.paidLimitBytes : 100_000L; - boolean inserted = UserCreateDAO.getInstance().insertUserWithBlockchain( - parsed.login, - parsed.blockchainName, - parsed.clientKeyB64, // в текущей модели solanaKey = clientKey - parsed.blockchainKeyB64, - parsed.clientKeyB64, - sizeLimit, - now - ); - if (!inserted) { - return usersDao.getByLogin(login); - } - return usersDao.getByLogin(login); - } - public static SessionTypeCheckResult checkSessionTypeAgainstPda(String loginRaw, String sessionKeyApi, int requestedSessionType) throws Exception { String login = normalizeLogin(loginRaw); if (login == null) return SessionTypeCheckResult.noRecord(); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/entyties/AUTH_SESSION_NEW.md b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/entyties/AUTH_SESSION_NEW.md index 9e6ab857..de8c9143 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/entyties/AUTH_SESSION_NEW.md +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/entyties/AUTH_SESSION_NEW.md @@ -33,46 +33,10 @@ } } -1. Добавление пользователя (AddUser) +1. Пользователь уже существует в актуальном PDA snapshot -Назначение: создать локальную запись пользователя с двумя ключами — solanaKey и clientKey. - -📤 Запрос клиента -{ -"op": "AddUser", -"requestId": "req-1", -"payload": { -"login": "anya4", -"loginId": 100212, -"bchId": 4222, -"solanaKey": "BASE64_LOGIN_KEY", -"clientKey": "BASE64_DEVICE_KEY", -"bchLimit": 1000000 -} -} - -🖥 Действия сервера - -Проверяет корректность данных. - -Вставляет запись в таблицу: - -CREATE TABLE solana_users ( -login TEXT NOT NULL, -loginId INTEGER PRIMARY KEY, -bchId INTEGER NOT NULL, -solanaKey TEXT, -clientKey TEXT, -bchLimit INTEGER -); - -📥 Ответ -{ -"op": "AddUser", -"requestId": "req-1", -"status": 200, -"payload": { "ok": true } -} +Назначение: перед началом auth-flow сервер уже должен видеть пользователя +в актуальном `solana_user_pda_current`. 2. Шаг 1 — запрос временного пароля сессии AuthChallenge @@ -173,4 +137,4 @@ pushAuthKey TEXT } 📘 Итоговая схема создания сессии -AddUser → AuthChallenge → CreateAuthSession → Session Created +PDA snapshot ready → AuthChallenge → CreateAuthSession → Session Created diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_AddUser_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_AddUser_Handler.java deleted file mode 100644 index d2756b0b..00000000 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_AddUser_Handler.java +++ /dev/null @@ -1,26 +0,0 @@ -package server.logic.ws_protocol.JSON.handlers.tempToTest; - -import server.logic.ws_protocol.JSON.ConnectionContext; -import server.logic.ws_protocol.JSON.entyties.Net_Request; -import server.logic.ws_protocol.JSON.entyties.Net_Response; -import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; -import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_AddUser_Request; -import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; - -/** - * AddUser отключен: регистрация работает через Solana. - */ -public class Net_AddUser_Handler implements JsonMessageHandler { - - @Override - public Net_Response handle(Net_Request baseRequest, ConnectionContext ctx) { - Net_AddUser_Request req = (Net_AddUser_Request) baseRequest; - return NetExceptionResponseFactory.error( - req, - 410, - "ADD_USER_DISABLED", - "Серверная регистрация AddUser отключена. Используйте регистрацию через Solana." - ); - } -} - diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java index 728b8d3f..9e282951 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java @@ -5,7 +5,6 @@ import org.slf4j.LoggerFactory; import server.logic.ws_protocol.JSON.ConnectionContext; import server.logic.ws_protocol.JSON.entyties.Net_Request; import server.logic.ws_protocol.JSON.entyties.Net_Response; -import server.logic.ws_protocol.JSON.handlers.auth.SolanaUserPdaImportService; import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_GetUser_Request; import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_GetUser_Response; @@ -43,9 +42,6 @@ public class Net_GetUser_Handler implements JsonMessageHandler { try { SolanaUserEntry u = usersDAO.getByLogin(req.getLogin()); - if (u == null) { - u = SolanaUserPdaImportService.findOrImportByLogin(req.getLogin()); - } Net_GetUser_Response resp = new Net_GetUser_Response(); resp.setOp(req.getOp()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Request.java deleted file mode 100644 index 28b6a6b7..00000000 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Request.java +++ /dev/null @@ -1,58 +0,0 @@ -package server.logic.ws_protocol.JSON.handlers.tempToTest.entyties; - -import server.logic.ws_protocol.JSON.entyties.Net_Request; - -/** - * Запрос AddUser — временная/тестовая регистрация локального пользователя. - * - * Клиент отправляет: - * - * { - * "op": "AddUser", - * "requestId": "test-add-1", - * "payload": { - * "login": "anya", - * "blockchainName": "anya-001", - * "solanaKey": "base64-ed25519-public-key-login", - * "blockchainKey": "base64-ed25519-public-key-blockchain", - * "clientKey": "base64-ed25519-public-key-device", - * "bchLimit": 1000000 - * } - * } - * - * Все поля лежат внутри payload. - */ -public class Net_AddUser_Request extends Net_Request { - - private String login; - private String blockchainName; - - /** Ключ пользователя Solana (публичный ключ логина) */ - private String solanaKey; - - /** Ключ блокчейна (публичный ключ блокчейна) */ - private String blockchainKey; - - /** Ключ устройства (публичный ключ устройства) */ - private String clientKey; - - private Integer bchLimit; - - public String getLogin() { return login; } - public void setLogin(String login) { this.login = login; } - - public String getBlockchainName() { return blockchainName; } - public void setBlockchainName(String blockchainName) { this.blockchainName = blockchainName; } - - public String getSolanaKey() { return solanaKey; } - public void setSolanaKey(String solanaKey) { this.solanaKey = solanaKey; } - - public String getBlockchainKey() { return blockchainKey; } - public void setBlockchainKey(String blockchainKey) { this.blockchainKey = blockchainKey; } - - public String getClientKey() { return clientKey; } - public void setClientKey(String clientKey) { this.clientKey = clientKey; } - - public Integer getBchLimit() { return bchLimit; } - public void setBchLimit(Integer bchLimit) { this.bchLimit = bchLimit; } -} \ No newline at end of file diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Response.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Response.java deleted file mode 100644 index 465cdcb6..00000000 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Response.java +++ /dev/null @@ -1,21 +0,0 @@ -// file: server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_AddUser_Response.java -package server.logic.ws_protocol.JSON.handlers.tempToTest.entyties; - -import server.logic.ws_protocol.JSON.entyties.Net_Response; - -/** - * Успешный ответ на AddUser. - * - * Сейчас дополнительных полей нет — достаточно status=200. - * - * Пример: - * { - * "op": "AddUser", - * "requestId": "test-add-1", - * "status": 200, - * "payload": { } - * } - */ -public class Net_AddUser_Response extends Net_Response { - // При необходимости сюда можно добавить, например, флаг created/updated и т.п. -} \ No newline at end of file diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java index f51c2eb7..7f5ffa3a 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java @@ -1,6 +1,5 @@ package server.logic.ws_protocol.JSON.messages; -import server.logic.ws_protocol.JSON.handlers.auth.SolanaUserPdaImportService; import shine.db.dao.SolanaUsersDAO; import shine.db.entities.SignedMessageV2Entry; import shine.db.entities.SolanaUserEntry; @@ -62,10 +61,7 @@ final class SignedMessagesCore { } private static SolanaUserEntry resolveUser(String login) throws Exception { - SolanaUsersDAO usersDao = SolanaUsersDAO.getInstance(); - SolanaUserEntry user = usersDao.getByLogin(login); - if (user != null) return user; - return SolanaUserPdaImportService.findOrImportByLogin(login); + return SolanaUsersDAO.getInstance().getByLogin(login); } static void validatePair(SignedMessageBlock incoming, SignedMessageBlock outgoing) { diff --git a/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java b/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java index f88f49bd..0b3deebe 100644 --- a/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java +++ b/SHiNE-server/src/main/java/server/sync/PeriodicBlockchainSyncService.java @@ -4,15 +4,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import server.logic.ws_protocol.JSON.entyties.Net_Exception_Response; import server.logic.ws_protocol.JSON.entyties.Net_Response; -import server.logic.ws_protocol.JSON.handlers.auth.SolanaUserPdaImportService; import server.logic.ws_protocol.JSON.handlers.blockchain.Net_AddBlock_Handler; import server.logic.ws_protocol.JSON.handlers.blockchain.Net_AddBlock_Handler_utils.BlockchainLocks; import server.logic.ws_protocol.JSON.handlers.blockchain.entyties.Net_AddBlock_Request; import shine.db.dao.BlockchainResyncCleanupDAO; import shine.db.dao.BlockchainStateDAO; import shine.db.dao.SyncServersDAO; -import shine.db.dao.UserCreateDAO; -import shine.db.dao.SolanaUsersDAO; import shine.db.dao.SolanaUserPdaCurrentDAO; import shine.db.entities.BlockchainStateEntry; import shine.db.entities.SolanaUserPdaCurrentEntry; @@ -20,7 +17,6 @@ import shine.db.entities.SyncServerEntry; import server.sync.BlockchainResyncGuard; import utils.files.FileStoreUtil; import utils.blockchain.BlockchainNameUtil; -import utils.config.AppConfig; import java.util.concurrent.locks.ReentrantLock; import java.util.List; @@ -55,12 +51,9 @@ public final class PeriodicBlockchainSyncService { private static final Net_AddBlock_Handler ADD_BLOCK_HANDLER = new Net_AddBlock_Handler(); private static final BlockchainStateDAO STATE_DAO = BlockchainStateDAO.getInstance(); private static final SyncServersDAO SYNC_SERVERS_DAO = SyncServersDAO.getInstance(); - private static final UserCreateDAO USER_CREATE_DAO = UserCreateDAO.getInstance(); private static final BlockchainResyncCleanupDAO RESYNC_CLEANUP_DAO = BlockchainResyncCleanupDAO.getInstance(); private static final FileStoreUtil FILE_STORE = FileStoreUtil.getInstance(); - private static final SolanaUsersDAO SOLANA_USERS_DAO = SolanaUsersDAO.getInstance(); private static final SolanaUserPdaCurrentDAO SOLANA_USER_PDA_CURRENT_DAO = SolanaUserPdaCurrentDAO.getInstance(); - private static final String CONFIG_IMPORT_PROFILE_FROM_PARTNER = "sync.importUserProfileFromPartner.enabled"; private PeriodicBlockchainSyncService() {} @@ -370,11 +363,7 @@ public final class PeriodicBlockchainSyncService { if (login == null || login.isBlank()) { return false; } - if (AppConfig.getInstance().getBoolean(CONFIG_IMPORT_PROFILE_FROM_PARTNER, false)) { - return importUserProfileFromPartner(partner, login); - } - SolanaUserPdaImportService.findOrImportByLogin(login); - return STATE_DAO.getByBlockchainName(blockchainName) != null; + return false; } catch (Exception e) { log.warn("Periodic blockchain sync: failed to ensure local chain exists for blockchainName={} reason={}", blockchainName, String.valueOf(e)); @@ -416,67 +405,6 @@ public final class PeriodicBlockchainSyncService { return keyBytes != null && keyBytes.length == 32; } - private static boolean importUserProfileFromPartner(SyncServerEntry partner, String login) throws Exception { - if (partner == null || partner.getServerAddress() == null || partner.getServerAddress().isBlank()) { - return false; - } - - RemoteBlockchainSyncClient.RemoteSyncUserProfile profile = - REMOTE.getSyncUserProfile(partner.getServerAddress(), login); - if (profile == null) { - log.warn("Periodic blockchain sync: partner has no sync profile for login={} partner={}", - login, normalize(partner.getLogin())); - return false; - } - - long now = System.currentTimeMillis(); - long sizeLimit = profile.blockchainSizeLimitBytes() > 0 ? profile.blockchainSizeLimitBytes() : 100_000L; - BlockchainStateEntry state = buildStateFromProfile(profile, sizeLimit, now); - - if (SOLANA_USERS_DAO.existsByLogin(profile.login())) { - STATE_DAO.insertIfMissing(state); - return STATE_DAO.getByBlockchainName(profile.blockchainName()) != null; - } - - boolean inserted = USER_CREATE_DAO.insertUserWithBlockchain( - profile.login(), - profile.blockchainName(), - profile.solanaKey(), - profile.blockchainKey(), - profile.clientKey(), - sizeLimit, - now - ); - - if (inserted) { - return STATE_DAO.getByBlockchainName(profile.blockchainName()) != null; - } - - // Если пользователь уже успел существовать локально, но chain_state отсутствует, - // добиваем только state и не пытаемся пересоздать identity. - if (SOLANA_USERS_DAO.existsByLogin(profile.login())) { - STATE_DAO.insertIfMissing(state); - return STATE_DAO.getByBlockchainName(profile.blockchainName()) != null; - } - - return false; - } - - private static BlockchainStateEntry buildStateFromProfile(RemoteBlockchainSyncClient.RemoteSyncUserProfile profile, - long sizeLimit, - long nowMs) { - BlockchainStateEntry state = new BlockchainStateEntry(); - state.setBlockchainName(profile.blockchainName()); - state.setLogin(profile.login()); - state.setBlockchainKey(profile.blockchainKey()); - state.setSizeLimit(sizeLimit); - state.setFileSizeBytes(0L); - state.setLastBlockNumber(-1); - state.setLastBlockHash(null); - state.setUpdatedAtMs(nowMs); - return state; - } - private static String normalize(String value) { if (value == null) return null; String s = value.trim().toLowerCase(Locale.ROOT); diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_01_AddUser.java b/SHiNE-server/src/test/java/test/it/cases/IT_01_AddUser.java deleted file mode 100644 index cd132733..00000000 --- a/SHiNE-server/src/test/java/test/it/cases/IT_01_AddUser.java +++ /dev/null @@ -1,365 +0,0 @@ -package test.it.cases; - -import test.it.utils.TestConfig; -import test.it.utils.TestIds; -import test.it.utils.json.JsonBuilders; -import test.it.utils.json.JsonParsers; -import test.it.utils.log.TestResult; -import test.it.utils.ws.WsSession; - -import java.time.Duration; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.fail; - -/** - * IT_01_AddUser - * Создаёт 3 пользователей: TestUser1/2/3 (200 OK или 409 USER_ALREADY_EXISTS). - * - * Обновление: - * - теперь AddUser может вернуть 409 не только USER_ALREADY_EXISTS, - * но и BLOCKCHAIN_ALREADY_EXISTS / BLOCKCHAIN_STATE_ALREADY_EXISTS. - * - дополнительно проверяем GetUser (status=200 всегда). - * - добавлен SearchUsers: поиск по префиксу (первые 3 символа). - */ -public class IT_01_AddUser { - - public static void main(String[] args) { - String summary = run(); - System.out.println(summary); - } - - public static String run() { - TestResult r = new TestResult("IT_01_AddUser"); - - Duration t = Duration.ofSeconds(5); - - try (WsSession ws = WsSession.open()) { - - checkPingAndServerInfo(r, ws, t); - - r.ok("AddUser USER1: " + TestConfig.LOGIN()); - String resp1 = ws.call("AddUser#USER1", JsonBuilders.addUser(TestConfig.LOGIN()), t); - checkAddUser200or409(r, resp1); - checkGetUserMustExist(r, ws, TestConfig.LOGIN(), t); - - r.ok("AddUser USER2: " + TestConfig.LOGIN2()); - String resp2 = ws.call("AddUser#USER2", JsonBuilders.addUser(TestConfig.LOGIN2()), t); - checkAddUser200or409(r, resp2); - checkGetUserMustExist(r, ws, TestConfig.LOGIN2(), t); - - r.ok("AddUser USER3: " + TestConfig.LOGIN3()); - String resp3 = ws.call("AddUser#USER3", JsonBuilders.addUser(TestConfig.LOGIN3()), t); - checkAddUser200or409(r, resp3); - checkGetUserMustExist(r, ws, TestConfig.LOGIN3(), t); - - // Доп: проверяем case-insensitive поиск в GetUser - String mixed = mixCase(TestConfig.LOGIN()); - r.ok("GetUser case-insensitive: запрос=" + mixed + " (должен найти " + TestConfig.LOGIN() + ")"); - checkGetUserMustExist(r, ws, mixed, t); - - // Доп: проверяем "не существует" (но status=200) - String missing = "NoSuchUser_987654321"; - r.ok("GetUser missing: " + missing); - checkGetUserMustNotExist(r, ws, missing, t); - - // SearchUsers: один раз ищем по первым трём символам логина USER1 - String prefix3 = first3(TestConfig.LOGIN()); - String prefix3Mixed = mixCase(prefix3); - r.ok("SearchUsers: prefix(3)='" + prefix3Mixed + "' (должен вернуть список и содержать " + TestConfig.LOGIN() + ")"); - checkSearchUsersMustContain(r, ws, prefix3Mixed, TestConfig.LOGIN(), t); - - checkNegativeRequests(r, ws, t); - - } catch (Throwable e) { - r.fail("IT_01_AddUser упал: " + e.getMessage()); - } - - return r.summaryLine(); - } - - private static void checkPingAndServerInfo(TestResult r, WsSession ws, Duration t) { - String pingResp = ws.call("Ping", JsonBuilders.ping(System.currentTimeMillis()), t); - if (JsonParsers.status(pingResp) != 200 || !Boolean.TRUE.equals(JsonParsers.ok(pingResp))) { - r.fail("Ping: ожидали status=200 и ok=true, resp=" + pingResp); - fail("Ping unexpected response"); - } - - Long serverTs = JsonParsers.pingTs(pingResp); - if (serverTs == null || serverTs <= 0) { - r.fail("Ping: сервер не вернул ts, resp=" + pingResp); - fail("Ping missing ts"); - } - r.ok("Ping: ok, serverTs=" + serverTs); - - String infoResp = ws.call("GetServerInfo", JsonBuilders.getServerInfo(), t); - if (JsonParsers.status(infoResp) != 200 || !Boolean.TRUE.equals(JsonParsers.ok(infoResp))) { - r.fail("GetServerInfo: ожидали status=200 и ok=true, resp=" + infoResp); - fail("GetServerInfo unexpected response"); - } - if (!JsonParsers.payloadIsObject(infoResp)) { - r.fail("GetServerInfo: payload должен быть объектом, resp=" + infoResp); - fail("GetServerInfo payload is not object"); - } - - r.ok("GetServerInfo: ok, url='" + safe(JsonParsers.payloadText(infoResp, "url")) - + "', version='" + safe(JsonParsers.payloadText(infoResp, "version")) - + "', physicalRegion='" + safe(JsonParsers.payloadText(infoResp, "physicalRegion")) - + "', description='" + safe(JsonParsers.payloadText(infoResp, "description")) - + "', origin='" + safe(JsonParsers.payloadText(infoResp, "origin")) - + "', extraInfo='" + safe(JsonParsers.payloadText(infoResp, "extraInfo")) + "'"); - } - - private static void checkAddUser200or409(TestResult r, String resp) { - int st = JsonParsers.status(resp); - if (st == 200) { - r.ok("AddUser: status=200 (создан)"); - return; - } - if (st == 409) { - String code = JsonParsers.errorCode(resp); - - // раньше был только USER_ALREADY_EXISTS, теперь добавились ещё варианты - if ("USER_ALREADY_EXISTS".equals(code)) { - r.ok("AddUser: status=409 USER_ALREADY_EXISTS (уже был)"); - return; - } - if ("BLOCKCHAIN_ALREADY_EXISTS".equals(code)) { - r.ok("AddUser: status=409 BLOCKCHAIN_ALREADY_EXISTS (blockchainName уже занят)"); - return; - } - if ("BLOCKCHAIN_STATE_ALREADY_EXISTS".equals(code)) { - r.ok("AddUser: status=409 BLOCKCHAIN_STATE_ALREADY_EXISTS (blockchain_state уже есть)"); - return; - } - - r.fail("AddUser: status=409 но code=" + code + ", resp=" + resp); - fail("AddUser unexpected 409 code=" + code); - } - r.fail("AddUser: неожиданный status=" + st + ", resp=" + resp); - fail("AddUser unexpected status=" + st); - } - - private static void checkGetUserMustExist(TestResult r, WsSession ws, String loginQuery, Duration t) { - String resp = ws.call("GetUser#" + loginQuery, JsonBuilders.getUser(loginQuery), t); - - int st = JsonParsers.status(resp); - if (st != 200) { - r.fail("GetUser: ожидали status=200, получили " + st + ", resp=" + resp); - fail("GetUser unexpected status=" + st); - } - - Boolean exists = JsonParsers.exists(resp); - if (exists == null || !exists) { - r.fail("GetUser: ожидали exists=true, resp=" + resp); - fail("GetUser expected exists=true"); - } - - // Проверяем, что сервер возвращает данные - String login = JsonParsers.userLogin(resp); - String blockchainName = JsonParsers.userBlockchainName(resp); - String solanaKey = JsonParsers.userSolanaKey(resp); - String blockchainKey = JsonParsers.userBlockchainKey(resp); - String clientKey = JsonParsers.userClientKey(resp); - - if (isBlank(login) || isBlank(blockchainName) || isBlank(solanaKey) || isBlank(blockchainKey) || isBlank(clientKey)) { - r.fail("GetUser: exists=true, но поля пустые/неполные, resp=" + resp); - fail("GetUser returned incomplete user data"); - } - - // ВАЖНО: - // Поиск делается без учета регистра, но login/blockchainName должны вернуться как в БД. - // Для тех логинов, которые мы создаем в тесте, это ровно TestConfig.LOGIN*(). - // Поэтому если запрос был смешанный регистр — сравниваем не с loginQuery, а с "каноничным" логином из конфига. - String canonical = canonicalLogin(loginQuery); - if (canonical != null) { - if (!login.equals(canonical)) { - r.fail("GetUser: login должен вернуться как в БД. expected=" + canonical + ", got=" + login + ", resp=" + resp); - fail("GetUser wrong login case"); - } - - String expectedBch = TestConfig.getBlockchainName(canonical); - if (!blockchainName.equals(expectedBch)) { - r.fail("GetUser: blockchainName должен вернуться как в БД. expected=" + expectedBch + ", got=" + blockchainName + ", resp=" + resp); - fail("GetUser wrong blockchainName"); - } - - // ключи должны совпадать с теми, что AddUser использует при регистрации - String expSol = TestConfig.solanaPublicKeyB64(canonical); - String expBchKey = TestConfig.blockchainPublicKeyB64(canonical); - String expDev = TestConfig.clientPublicKeyB64(canonical); - - if (!solanaKey.equals(expSol)) { - r.fail("GetUser: solanaKey mismatch, resp=" + resp); - fail("GetUser solanaKey mismatch"); - } - if (!blockchainKey.equals(expBchKey)) { - r.fail("GetUser: blockchainKey mismatch, resp=" + resp); - fail("GetUser blockchainKey mismatch"); - } - if (!clientKey.equals(expDev)) { - r.fail("GetUser: clientKey mismatch, resp=" + resp); - fail("GetUser clientKey mismatch"); - } - } - - r.ok("GetUser: exists=true, login=" + login + ", blockchainName=" + blockchainName); - } - - private static void checkGetUserMustNotExist(TestResult r, WsSession ws, String loginQuery, Duration t) { - String resp = ws.call("GetUser#" + loginQuery, JsonBuilders.getUser(loginQuery), t); - - int st = JsonParsers.status(resp); - if (st != 200) { - r.fail("GetUser(not exist): ожидали status=200, получили " + st + ", resp=" + resp); - fail("GetUser(not exist) unexpected status=" + st); - } - - Boolean exists = JsonParsers.exists(resp); - if (exists == null) { - r.fail("GetUser(not exist): payload.exists отсутствует, resp=" + resp); - fail("GetUser(not exist) missing exists"); - } - if (exists) { - r.fail("GetUser(not exist): ожидали exists=false, resp=" + resp); - fail("GetUser(not exist) expected exists=false"); - } - - r.ok("GetUser: exists=false (ok)"); - } - - private static void checkSearchUsersMustContain(TestResult r, WsSession ws, String prefix, String expectedLogin, Duration t) { - String resp = ws.call("SearchUsers#" + prefix, JsonBuilders.searchUsers(prefix), t); - - int st = JsonParsers.status(resp); - if (st != 200) { - r.fail("SearchUsers: ожидали status=200, получили " + st + ", resp=" + resp); - fail("SearchUsers unexpected status=" + st); - } - - List<String> logins = JsonParsers.searchLogins(resp); - if (logins == null || logins.isEmpty()) { - r.fail("SearchUsers: ожидали непустой список, resp=" + resp); - fail("SearchUsers expected non-empty list"); - } - - // ВАЖНО: ожидаемый логин должен быть в ответе в регистре БД (каноничный expectedLogin) - boolean found = false; - for (String s : logins) { - if (expectedLogin.equals(s)) { - found = true; - break; - } - } - if (!found) { - r.fail("SearchUsers: ожидаемый логин не найден. expected=" + expectedLogin + ", got=" + logins + ", resp=" + resp); - fail("SearchUsers expected login not found"); - } - - r.ok("SearchUsers: ok, prefix=" + prefix + ", results=" + logins.size() + ", contains=" + expectedLogin); - } - - private static void checkNegativeRequests(TestResult r, WsSession ws, Duration t) { - String badAddUserReqId = TestIds.next("bad-adduser"); - String badAddUser = """ - { - "op": "AddUser", - "requestId": "%s", - "payload": { - "login": "", - "blockchainName": "%s", - "solanaKey": "%s", - "blockchainKey": "%s", - "clientKey": "%s", - "bchLimit": %d - } - } - """.formatted( - badAddUserReqId, - TestConfig.BCH_NAME(), - TestConfig.SOLANA_PUBKEY_B64(), - TestConfig.BLOCKCHAIN_PUBKEY_B64(), - TestConfig.DEVICE_PUBKEY_B64(), - TestConfig.TEST_BCH_LIMIT - ); - String badAddUserResp = ws.call("AddUser#NEGATIVE", badAddUser, t); - assertErrorFormat(badAddUserResp, "AddUser", badAddUserReqId, "BAD_FIELDS"); - r.ok("Negative AddUser: error format OK"); - - String badGetUserReqId = TestIds.next("bad-getuser"); - String badGetUser = """ - { - "op": "GetUser", - "requestId": "%s", - "payload": { - "login": "" - } - } - """.formatted(badGetUserReqId); - String badGetUserResp = ws.call("GetUser#NEGATIVE", badGetUser, t); - assertErrorFormat(badGetUserResp, "GetUser", badGetUserReqId, "BAD_FIELDS"); - r.ok("Negative GetUser: error format OK"); - - String badSearchReqId = TestIds.next("bad-searchusers"); - String badSearch = """ - { - "op": "SearchUsers", - "requestId": "%s", - "payload": { - "prefix": "" - } - } - """.formatted(badSearchReqId); - String badSearchResp = ws.call("SearchUsers#NEGATIVE", badSearch, t); - assertErrorFormat(badSearchResp, "SearchUsers", badSearchReqId, "BAD_FIELDS"); - r.ok("Negative SearchUsers: error format OK"); - } - - private static void assertErrorFormat(String resp, String op, String requestId, String code) { - int status = JsonParsers.status(resp); - if (status >= 200 && status < 300) fail("Expected non-2xx status: " + resp); - if (!Boolean.FALSE.equals(JsonParsers.ok(resp))) fail("Expected ok=false: " + resp); - if (!op.equals(JsonParsers.op(resp))) fail("Unexpected op: " + resp); - if (!requestId.equals(JsonParsers.requestId(resp))) fail("Unexpected requestId: " + resp); - if (!code.equals(JsonParsers.errorCode(resp))) fail("Unexpected error code: " + resp); - if (!JsonParsers.payloadIsObject(resp)) fail("payload must be object: " + resp); - if (JsonParsers.payloadSize(resp) != 0) fail("error payload must be empty object: " + resp); - if (isBlank(JsonParsers.message(resp))) fail("error message must be present: " + resp); - } - - private static String canonicalLogin(String anyCaseLogin) { - if (anyCaseLogin == null) return null; - String x = anyCaseLogin.trim(); - if (x.isEmpty()) return null; - - // Привязка только к нашим тестовым логинам, чтобы не гадать. - if (x.equalsIgnoreCase(TestConfig.LOGIN())) return TestConfig.LOGIN(); - if (x.equalsIgnoreCase(TestConfig.LOGIN2())) return TestConfig.LOGIN2(); - if (x.equalsIgnoreCase(TestConfig.LOGIN3())) return TestConfig.LOGIN3(); - - return null; - } - - private static String mixCase(String s) { - if (s == null) return null; - String x = s.trim(); - if (x.length() < 2) return x; - // простой "микс" без рандома, чтобы тест был детерминированный - return Character.toUpperCase(x.charAt(0)) + x.substring(1).toLowerCase(); - } - - private static String first3(String s) { - if (s == null) return ""; - String x = s.trim(); - if (x.length() <= 3) return x; - return x.substring(0, 3); - } - - private static boolean isBlank(String s) { - return s == null || s.trim().isEmpty(); - } - - private static String safe(String s) { - return s == null ? "" : s; - } -} diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_02_Sessions.java b/SHiNE-server/src/test/java/test/it/cases/IT_02_Sessions.java index adde6f78..35a261e3 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_02_Sessions.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_02_Sessions.java @@ -32,8 +32,7 @@ public class IT_02_Sessions { private static final String LOGIN = TestConfig.LOGIN(); public static void main(String[] args) { - TestLog.info("Standalone: этот тест требует заранее созданных пользователей -> сначала запускаю IT_01_AddUser"); - System.out.println(IT_01_AddUser.run()); + TestLog.info("Standalone: этот тест требует заранее существующего пользователя в актуальном PDA snapshot"); String summary = run(); System.out.println(summary); } diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java b/SHiNE-server/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java index d40f4b6f..b767688c 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java @@ -34,8 +34,7 @@ import static org.junit.jupiter.api.Assertions.*; public class IT_03_AddBlock_NoAuth { public static void main(String[] args) { - TestLog.info("Standalone: этот тест требует заранее созданных пользователей -> запускаю IT_01_AddUser"); - System.out.println(IT_01_AddUser.run()); + TestLog.info("Standalone: этот тест требует заранее существующих пользователей в актуальном PDA snapshot"); String summary = run(); System.out.println(summary); } diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_04_UserParams_NoAuth.java b/SHiNE-server/src/test/java/test/it/cases/IT_04_UserParams_NoAuth.java index 3f050f82..74bcd7a6 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_04_UserParams_NoAuth.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_04_UserParams_NoAuth.java @@ -28,8 +28,7 @@ public class IT_04_UserParams_NoAuth { private static final ObjectMapper M = new ObjectMapper(); public static void main(String[] args) { - TestLog.info("Standalone: этот тест требует заранее созданных пользователей -> сначала запускаю IT_01_AddUser"); - System.out.println(IT_01_AddUser.run()); + TestLog.info("Standalone: этот тест требует заранее существующего пользователя в актуальном PDA snapshot"); String summary = run(); System.out.println(summary); } @@ -283,4 +282,4 @@ public class IT_04_UserParams_NoAuth { return null; } } -} \ No newline at end of file +} diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java b/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java index dcaaff39..0ac2f49f 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java @@ -8,7 +8,6 @@ import test.it.utils.log.TestResult; import test.it.utils.ws.WsSession; import utils.crypto.Ed25519Util; import shine.db.dao.SolanaUsersDAO; -import shine.db.entities.SolanaUserEntry; import utils.crypto.HashSHA256Util; import java.time.Duration; @@ -22,7 +21,7 @@ public class IT_07_EspPairing { private static final String LOGIN = TestConfig.LOGIN(); public static void main(String[] args) { - TestLog.info("Standalone: при необходимости локально создаю тестового пользователя напрямую в БД"); + TestLog.info("Standalone: этот тест требует заранее существующего пользователя в актуальном PDA snapshot"); String summary = run(); System.out.println(summary); } @@ -211,13 +210,7 @@ public class IT_07_EspPairing { if (SolanaUsersDAO.getInstance().existsByLogin(LOGIN)) { return; } - SolanaUserEntry entry = new SolanaUserEntry(); - entry.setLogin(LOGIN); - entry.setBlockchainName(TestConfig.getBlockchainName(LOGIN)); - entry.setSolanaKey(TestConfig.solanaPublicKeyB64(LOGIN)); - entry.setBlockchainKey(TestConfig.blockchainPublicKeyB64(LOGIN)); - entry.setClientKey(TestConfig.clientPublicKeyB64(LOGIN)); - SolanaUsersDAO.getInstance().insert(entry); + throw new IllegalStateException("Тестовый пользователь отсутствует в актуальном PDA snapshot: " + LOGIN); } private static String derivePairingHash(String login, String password) { diff --git a/SHiNE-server/src/test/java/test/it/cases/SeedDataPopulationHelper.java b/SHiNE-server/src/test/java/test/it/cases/SeedDataPopulationHelper.java index 9b6bcd0a..b08e3cb9 100644 --- a/SHiNE-server/src/test/java/test/it/cases/SeedDataPopulationHelper.java +++ b/SHiNE-server/src/test/java/test/it/cases/SeedDataPopulationHelper.java @@ -7,8 +7,6 @@ import blockchain.body.TextBody; import blockchain.body.UserParamBody; import test.it.blockchain.AddBlockSender; import test.it.blockchain.ChainState; -import test.it.utils.TestIds; -import test.it.utils.json.JsonParsers; import test.it.utils.log.TestResult; import test.it.utils.ws.WsSession; import utils.crypto.Ed25519Util; @@ -25,7 +23,8 @@ import java.util.Objects; /** * Вспомогательные функции для массового заполнения тестовой соц-сети через API. - * Вся запись состояния делается только через AddUser / AddBlock. + * Пользователи должны уже существовать в актуальном PDA snapshot сервера. + * Вся запись блокчейн-состояния делается через AddBlock. */ public final class SeedDataPopulationHelper { @@ -52,7 +51,6 @@ public final class SeedDataPopulationHelper { } public void createUsersAndHeaders(List<UserSpec> users) { - for (UserSpec user : users) createUserViaApi(user.login); for (UserSpec user : users) initHeader(user.login); } @@ -159,48 +157,6 @@ public final class SeedDataPopulationHelper { ), timeout); } - private void createUserViaApi(String login) { - String requestId = TestIds.next("seed_adduser"); - String req = """ - { - "op": "AddUser", - "requestId": "%s", - "payload": { - "login": "%s", - "blockchainName": "%s", - "solanaKey": "%s", - "blockchainKey": "%s", - "clientKey": "%s", - "bchLimit": 50000000 - } - } - """.formatted( - requestId, - login, - bch(login), - keys.solanaPublicB64, - keys.blockchainPublicB64, - keys.clientPublicB64 - ); - - String resp = ws.call("AddUser#" + login, req, timeout); - int status = JsonParsers.status(resp); - if (status == 200) { - result.ok("AddUser " + login + ": created"); - return; - } - if (status == 409) { - String code = JsonParsers.errorCode(resp); - if ("USER_ALREADY_EXISTS".equals(code) - || "BLOCKCHAIN_ALREADY_EXISTS".equals(code) - || "BLOCKCHAIN_STATE_ALREADY_EXISTS".equals(code)) { - result.ok("AddUser " + login + ": already exists (" + code + ")"); - return; - } - } - throw new IllegalStateException("AddUser failed for " + login + ": status=" + status + ", resp=" + resp); - } - private void initHeader(String login) { ChainState state = new ChainState(); AddBlockSender sender = new AddBlockSender(ws, state, login, bch(login), keys.blockchainPrivate32); diff --git a/SHiNE-server/src/test/java/test/it/cases/Seed_TestDataPopulation.java b/SHiNE-server/src/test/java/test/it/cases/Seed_TestDataPopulation.java index 97d5d11c..40569b8e 100644 --- a/SHiNE-server/src/test/java/test/it/cases/Seed_TestDataPopulation.java +++ b/SHiNE-server/src/test/java/test/it/cases/Seed_TestDataPopulation.java @@ -12,7 +12,8 @@ import static org.junit.jupiter.api.Assertions.fail; * Seed_TestDataPopulation * * Заполняет тестовую соц-сеть через API: - * - пользователи + HEADER через AddUser/AddBlock; + * - пользователи должны уже существовать в актуальном PDA snapshot; + * - HEADER и остальные блоки пишутся через AddBlock; * - параметры профиля (имя, фамилия, пол, адрес, web, phone, official, shine) через AddBlock USER_PARAM; * - связи (close friend/contact/follow/parent/child/sibling) через AddBlock CONNECTION; * - посты через AddBlock TEXT_POST. @@ -34,7 +35,7 @@ public class Seed_TestDataPopulation { SeedDataPopulationHelper seed = new SeedDataPopulationHelper(ws, result, timeout, PASSWORD); // ----------------------------------------------------------------- - // 1) Пользователи и профили + // 1) Заголовки и профили // ----------------------------------------------------------------- List<SeedDataPopulationHelper.UserSpec> users = buildUsers(); seed.createUsersAndHeaders(users); diff --git a/SHiNE-server/src/test/java/test/it/runner/IT_RunAllMain.java b/SHiNE-server/src/test/java/test/it/runner/IT_RunAllMain.java index 9c1c9ce8..ae9eca17 100644 --- a/SHiNE-server/src/test/java/test/it/runner/IT_RunAllMain.java +++ b/SHiNE-server/src/test/java/test/it/runner/IT_RunAllMain.java @@ -1,6 +1,5 @@ package test.it.runner; -import test.it.cases.IT_01_AddUser; import test.it.cases.IT_00_TechnicalRequests; import test.it.cases.IT_02_Sessions; import test.it.cases.IT_03_AddBlock_NoAuth; @@ -44,9 +43,6 @@ public class IT_RunAllMain { String s0 = IT_00_TechnicalRequests.run(); summaries.add(s0); if (s0.contains("FAIL:")) { failed++; if (STOP_ON_FIRST_FAIL) return finishEarly(summaries, failed); } - String s1 = IT_01_AddUser.run(); summaries.add(s1); - if (s1.contains("FAIL:")) { failed++; if (STOP_ON_FIRST_FAIL) return finishEarly(summaries, failed); } - String s2 = IT_02_Sessions.run(); summaries.add(s2); if (s2.contains("FAIL:")) { failed++; if (STOP_ON_FIRST_FAIL) return finishEarly(summaries, failed); } diff --git a/SHiNE-server/src/test/java/test/it/suite/IT_00_Suite.java b/SHiNE-server/src/test/java/test/it/suite/IT_00_Suite.java index a7c7516f..b0f29901 100644 --- a/SHiNE-server/src/test/java/test/it/suite/IT_00_Suite.java +++ b/SHiNE-server/src/test/java/test/it/suite/IT_00_Suite.java @@ -2,7 +2,6 @@ package test.it.suite; import org.junit.platform.suite.api.SelectClasses; import org.junit.platform.suite.api.Suite; -import test.it.cases.IT_01_AddUser; import test.it.cases.IT_02_Sessions; import test.it.cases.IT_03_AddBlock_NoAuth; import test.it.cases.Seed_TestDataPopulation; @@ -15,7 +14,6 @@ import test.it.cases.Seed_TestDataPopulation; */ @Suite @SelectClasses({ - IT_01_AddUser.class, IT_02_Sessions.class, IT_03_AddBlock_NoAuth.class, Seed_TestDataPopulation.class diff --git a/SHiNE-server/src/test/java/test/it/utils/TestConfig.java b/SHiNE-server/src/test/java/test/it/utils/TestConfig.java index 5554a2c2..f62395e8 100644 --- a/SHiNE-server/src/test/java/test/it/utils/TestConfig.java +++ b/SHiNE-server/src/test/java/test/it/utils/TestConfig.java @@ -126,12 +126,12 @@ public final class TestConfig { public static String BCH_NAME2() { return getBlockchainName(LOGIN2()); } public static String BCH_NAME3() { return getBlockchainName(LOGIN3()); } - /** solanaKey для AddUser: публичный ключ Solana-пользователя */ + /** публичный ключ Solana-пользователя */ public static String SOLANA_PUBKEY_B64() { return solanaPublicKeyB64(LOGIN()); } public static String SOLANA2_PUBKEY_B64() { return solanaPublicKeyB64(LOGIN2()); } public static String SOLANA3_PUBKEY_B64() { return solanaPublicKeyB64(LOGIN3()); } - /** blockchainKey для AddUser: публичный ключ блокчейна */ + /** публичный ключ блокчейна */ public static String BLOCKCHAIN_PUBKEY_B64() { return blockchainPublicKeyB64(LOGIN()); } public static String BLOCKCHAIN2_PUBKEY_B64() { return blockchainPublicKeyB64(LOGIN2()); } public static String BLOCKCHAIN3_PUBKEY_B64() { return blockchainPublicKeyB64(LOGIN3()); } diff --git a/SHiNE-server/src/test/java/test/it/utils/json/JsonBuilders.java b/SHiNE-server/src/test/java/test/it/utils/json/JsonBuilders.java index 07683c2d..20ce116b 100644 --- a/SHiNE-server/src/test/java/test/it/utils/json/JsonBuilders.java +++ b/SHiNE-server/src/test/java/test/it/utils/json/JsonBuilders.java @@ -11,40 +11,6 @@ import java.util.Base64; public final class JsonBuilders { private JsonBuilders() {} - // ---------------- AddUser ---------------- - - public static String addUser(String login) { - String requestId = TestIds.next("adduser"); - String blockchainName = TestConfig.getBlockchainName(login); - - String solanaKeyB64 = TestConfig.solanaPublicKeyB64(login); - String blockchainKeyB64 = TestConfig.blockchainPublicKeyB64(login); - String clientKeyB64 = TestConfig.clientPublicKeyB64(login); - - return """ - { - "op": "AddUser", - "requestId": "%s", - "payload": { - "login": "%s", - "blockchainName": "%s", - "solanaKey": "%s", - "blockchainKey": "%s", - "clientKey": "%s", - "bchLimit": %d - } - } - """.formatted( - requestId, - login, - blockchainName, - solanaKeyB64, - blockchainKeyB64, - clientKeyB64, - TestConfig.TEST_BCH_LIMIT - ); - } - // ---------------- GetUser ---------------- public static String getUser(String login) { diff --git a/VERSION.properties b/VERSION.properties index 72a433e7..9bac0fee 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.333 +server.version=1.2.334 From 0db3c3af5aad3d64d009cc40f89580e4c9f5fb7f0da39d2626cece6b69843931 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 19:16:04 +0400 Subject: [PATCH 45/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D1=81=D0=BB=D0=BE=D0=B9=20current=20users?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine/db/dao/ConnectionsStateDAO.java | 12 ++--- ...lanaUsersDAO.java => CurrentUsersDAO.java} | 46 +++++++++---------- ...naUserEntry.java => CurrentUserEntry.java} | 11 +++-- ...lanaUsersSql.java => CurrentUsersSql.java} | 4 +- .../ws_protocol/JSON/ConnectionContext.java | 8 ++-- .../auth/Net_AuthChallenge_Handler.java | 6 +-- .../auth/Net_CloseActiveSession_Handler.java | 4 +- .../auth/Net_CreateAuthSession__Handler.java | 10 ++-- .../auth/Net_ListSessions_Handler.java | 4 +- .../auth/Net_SessionLogin_Handler.java | 8 ++-- .../auth/Net_StartEspPairing_Handler.java | 6 +-- .../channels/ChannelsReadSupport.java | 4 +- .../Net_AddCloseFriend_Handler.java | 4 +- .../Net_GetFriendsLists_Handler.java | 4 +- .../Net_GetUserConnectionsGraph_Handler.java | 6 +-- .../Net_GetSyncUserProfile_Handler.java | 8 ++-- .../tempToTest/Net_GetUser_Handler.java | 8 ++-- .../tempToTest/Net_SearchUsers_Handler.java | 10 ++-- .../Net_ListUserParams_Handler.java | 6 +-- .../Net_UpsertUserParam_Handler.java | 8 ++-- .../Net_CallInviteBroadcast_Handler.java | 6 +-- .../Net_CallSignalToSession_Handler.java | 6 +-- .../Net_SendDirectMessage_Handler.java | 8 ++-- .../JSON/messages/Net_SendSignal_Handler.java | 8 ++-- .../JSON/messages/SignedMessagesCore.java | 14 +++--- .../JSON/utils/AuthSignatures.java | 4 +- .../java/server/ws/WsConnectionUtils.java | 4 +- .../java/test/it/cases/IT_07_EspPairing.java | 4 +- VERSION.properties | 2 +- docs/libs/shine-server-bd/DOC.md | 2 +- 30 files changed, 118 insertions(+), 117 deletions(-) rename SHiNE-server/shine-server-db/src/main/java/shine/db/dao/{SolanaUsersDAO.java => CurrentUsersDAO.java} (79%) rename SHiNE-server/shine-server-db/src/main/java/shine/db/entities/{SolanaUserEntry.java => CurrentUserEntry.java} (90%) rename SHiNE-server/shine-server-db/src/main/java/shine/db/sql/{SolanaUsersSql.java => CurrentUsersSql.java} (90%) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java index ca0c66d3..e01fdf52 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ConnectionsStateDAO.java @@ -1,7 +1,7 @@ package shine.db.dao; import shine.db.DbController; -import shine.db.sql.SolanaUsersSql; +import shine.db.sql.CurrentUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -49,8 +49,8 @@ public final class ConnectionsStateDAO { AND cs.rel_type = ? ORDER BY friend_login """.formatted( - SolanaUsersSql.usersSubquery("u_login"), - SolanaUsersSql.usersSubquery("u_bch") + CurrentUsersSql.usersSubquery("u_login"), + CurrentUsersSql.usersSubquery("u_bch") ); List<String> out = new ArrayList<>(); @@ -85,8 +85,8 @@ public final class ConnectionsStateDAO { AND cs.rel_type = ? ORDER BY friend_login """.formatted( - SolanaUsersSql.usersSubquery("u_actor"), - SolanaUsersSql.usersSubquery("u_target") + CurrentUsersSql.usersSubquery("u_actor"), + CurrentUsersSql.usersSubquery("u_target") ); List<String> out = new ArrayList<>(); @@ -123,7 +123,7 @@ public final class ConnectionsStateDAO { AND b.rel_type = a.rel_type ) ORDER BY u.login - """.formatted(SolanaUsersSql.usersSubquery("u")); + """.formatted(CurrentUsersSql.usersSubquery("u")); List<String> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java similarity index 79% rename from SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java rename to SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java index 5a4e4026..c68d6aae 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SolanaUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java @@ -2,15 +2,15 @@ package shine.db.dao; import shine.db.DbController; import shine.db.KeyEncodingUtil; -import shine.db.entities.SolanaUserEntry; -import shine.db.sql.SolanaUsersSql; +import shine.db.entities.CurrentUserEntry; +import shine.db.sql.CurrentUsersSql; import java.sql.*; import java.util.ArrayList; import java.util.List; /** - * SolanaUsersDAO — совместимый runtime-доступ к текущему срезу пользователей. + * CurrentUsersDAO — совместимый runtime-доступ к текущему срезу пользователей. * * Источник: * - solana_user_pda_current @@ -26,17 +26,17 @@ import java.util.List; * - методы с Connection НЕ закрывают соединение * - методы без Connection сами открывают и закрывают соединение */ -public final class SolanaUsersDAO { +public final class CurrentUsersDAO { - private static volatile SolanaUsersDAO instance; + private static volatile CurrentUsersDAO instance; private final DbController db = DbController.getInstance(); - private SolanaUsersDAO() {} + private CurrentUsersDAO() {} - public static SolanaUsersDAO getInstance() { + public static CurrentUsersDAO getInstance() { if (instance == null) { - synchronized (SolanaUsersDAO.class) { - if (instance == null) instance = new SolanaUsersDAO(); + synchronized (CurrentUsersDAO.class) { + if (instance == null) instance = new CurrentUsersDAO(); } } return instance; @@ -51,7 +51,7 @@ public final class SolanaUsersDAO { FROM %s WHERE LOWER(login) = LOWER(?) LIMIT 1 - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); @@ -75,7 +75,7 @@ public final class SolanaUsersDAO { FROM %s WHERE blockchain_name = ? LIMIT 1 - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, blockchainName); @@ -95,7 +95,7 @@ public final class SolanaUsersDAO { // -------------------- SELECT -------------------- /** Получить по login (case-insensitive) с внешним соединением. Соединение НЕ закрывает. */ - public SolanaUserEntry getByLogin(Connection c, String login) throws SQLException { + public CurrentUserEntry getByLogin(Connection c, String login) throws SQLException { String sql = """ SELECT login, @@ -105,7 +105,7 @@ public final class SolanaUsersDAO { client_key FROM %s WHERE LOWER(login) = LOWER(?) - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); @@ -117,14 +117,14 @@ public final class SolanaUsersDAO { } /** Получить по login (case-insensitive) без внешнего соединения. Сам открывает/закрывает. */ - public SolanaUserEntry getByLogin(String login) throws SQLException { + public CurrentUserEntry getByLogin(String login) throws SQLException { try (Connection c = db.getConnection()) { return getByLogin(c, login); } } /** Получить по blockchain_name (case-sensitive) с внешним соединением. Соединение НЕ закрывает. */ - public SolanaUserEntry getByBlockchainName(Connection c, String blockchainName) throws SQLException { + public CurrentUserEntry getByBlockchainName(Connection c, String blockchainName) throws SQLException { String sql = """ SELECT login, @@ -134,7 +134,7 @@ public final class SolanaUsersDAO { client_key FROM %s WHERE blockchain_name = ? - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, blockchainName); @@ -146,14 +146,14 @@ public final class SolanaUsersDAO { } /** Получить по blockchain_name без внешнего соединения. */ - public SolanaUserEntry getByBlockchainName(String blockchainName) throws SQLException { + public CurrentUserEntry getByBlockchainName(String blockchainName) throws SQLException { try (Connection c = db.getConnection()) { return getByBlockchainName(c, blockchainName); } } /** Поиск по префиксу с внешним соединением. Соединение НЕ закрывает. */ - public List<SolanaUserEntry> searchByLoginPrefix(Connection c, String prefix) throws SQLException { + public List<CurrentUserEntry> searchByLoginPrefix(Connection c, String prefix) throws SQLException { String sql = """ SELECT login, @@ -165,9 +165,9 @@ public final class SolanaUsersDAO { WHERE LOWER(login) LIKE ? ORDER BY login LIMIT 5 - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); - List<SolanaUserEntry> result = new ArrayList<>(); + List<CurrentUserEntry> result = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, prefix.toLowerCase() + "%"); @@ -180,7 +180,7 @@ public final class SolanaUsersDAO { } /** Поиск по префиксу без внешнего соединения. Сам открывает/закрывает. */ - public List<SolanaUserEntry> searchByLoginPrefix(String prefix) throws SQLException { + public List<CurrentUserEntry> searchByLoginPrefix(String prefix) throws SQLException { try (Connection c = db.getConnection()) { return searchByLoginPrefix(c, prefix); } @@ -188,8 +188,8 @@ public final class SolanaUsersDAO { // -------------------- MAPPER -------------------- - private SolanaUserEntry mapRow(ResultSet rs) throws SQLException { - SolanaUserEntry e = new SolanaUserEntry(); + private CurrentUserEntry mapRow(ResultSet rs) throws SQLException { + CurrentUserEntry e = new CurrentUserEntry(); e.setLogin(rs.getString("login")); e.setBlockchainName(rs.getString("blockchain_name")); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/CurrentUserEntry.java similarity index 90% rename from SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java rename to SHiNE-server/shine-server-db/src/main/java/shine/db/entities/CurrentUserEntry.java index ee0e7a20..8a14051b 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SolanaUserEntry.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/CurrentUserEntry.java @@ -3,9 +3,10 @@ package shine.db.entities; import java.util.Base64; /** - * SolanaUserEntry — локальная запись пользователя из Solana. + * CurrentUserEntry — локальная runtime-проекция текущего состояния пользователя. * - * Таблица: solana_users + * Источник: + * - solana_user_pda_current * * Поля: * - login — PRIMARY KEY (TEXT) @@ -14,7 +15,7 @@ import java.util.Base64; * - blockchain_key — TEXT NOT NULL * - client_key — TEXT NOT NULL */ -public class SolanaUserEntry { +public class CurrentUserEntry { private String login; @@ -29,9 +30,9 @@ public class SolanaUserEntry { /** Ключ устройства (публичный ключ устройства) */ private String clientKey; - public SolanaUserEntry() {} + public CurrentUserEntry() {} - public SolanaUserEntry(String login, + public CurrentUserEntry(String login, String blockchainName, String solanaKey, String blockchainKey, diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java similarity index 90% rename from SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java rename to SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java index 968cf0b2..6dad44b3 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/SolanaUsersSql.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java @@ -1,8 +1,8 @@ package shine.db.sql; -public final class SolanaUsersSql { +public final class CurrentUsersSql { - private SolanaUsersSql() {} + private CurrentUsersSql() {} public static String usersSubquery(String alias) { if (alias == null || alias.isBlank()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java index 742c851e..4b91345c 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java @@ -1,7 +1,7 @@ package server.logic.ws_protocol.JSON; import org.eclipse.jetty.websocket.api.Session; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.db.entities.ActiveSessionEntry; /** @@ -26,7 +26,7 @@ public class ConnectionContext { public static final int AUTH_STATUS_USER = 2; // авторизованный пользователь // Полный пользователь из БД (solana_users) - private SolanaUserEntry solanaUserEntry; + private CurrentUserEntry solanaUserEntry; // Активная сессия из БД (active_sessions) private ActiveSessionEntry activeSessionEntry; @@ -89,11 +89,11 @@ public class ConnectionContext { // --- SolanaUser / ActiveSession --- - public SolanaUserEntry getSolanaUser() { + public CurrentUserEntry getSolanaUser() { return solanaUserEntry; } - public void setSolanaUser(SolanaUserEntry solanaUserEntry) { + public void setSolanaUser(CurrentUserEntry solanaUserEntry) { this.solanaUserEntry = solanaUserEntry; } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java index 8481ad9b..1ea04e3f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java @@ -9,8 +9,8 @@ import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_AuthChallenge_Re import server.logic.ws_protocol.JSON.handlers.auth.entyties.Net_AuthChallenge_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SolanaUsersDAO; -import shine.db.entities.SolanaUserEntry; +import shine.db.dao.CurrentUsersDAO; +import shine.db.entities.CurrentUserEntry; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,7 +60,7 @@ public class Net_AuthChallenge_Handler implements JsonMessageHandler { ); } - SolanaUserEntry solanaUserEntry = SolanaUsersDAO.getInstance().getByLogin(login); + CurrentUserEntry solanaUserEntry = CurrentUsersDAO.getInstance().getByLogin(login); if (solanaUserEntry == null) { return NetExceptionResponseFactory.error( req, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java index e5ceb22c..11cdacbe 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java @@ -18,7 +18,7 @@ import server.logic.ws_protocol.WireCodes; import server.ws.WsConnectionUtils; import shine.db.dao.ActiveSessionsDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.sql.SQLException; @@ -51,7 +51,7 @@ public class Net_CloseActiveSession_Handler implements JsonMessageHandler { ); } - SolanaUserEntry user = ctx.getSolanaUser(); + CurrentUserEntry user = ctx.getSolanaUser(); String currentLogin = user.getLogin(); String targetSessionId = req.getSessionId(); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java index cebbfbde..bd103779 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java @@ -15,9 +15,9 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import server.ws.WsConnectionUtils; import shine.db.dao.ActiveSessionsDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.geo.ClientInfoService; import shine.geo.GeoLookupService; import utils.crypto.Ed25519Util; @@ -72,7 +72,7 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { return err; } - SolanaUserEntry userFromContext = ctx.getSolanaUser(); + CurrentUserEntry userFromContext = ctx.getSolanaUser(); String loginFromContext = userFromContext.getLogin(); String loginFromReq = req.getLogin(); if (loginFromReq == null || loginFromReq.isBlank()) { @@ -97,9 +97,9 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { return err; } - SolanaUserEntry user; + CurrentUserEntry user; try { - user = SolanaUsersDAO.getInstance().getByLogin(loginFromContext); + user = CurrentUsersDAO.getInstance().getByLogin(loginFromContext); } catch (SQLException e) { Net_Response err = NetExceptionResponseFactory.error( req, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java index e53a24db..bfe2c720 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java @@ -14,7 +14,7 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.dao.ActiveSessionsDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.geo.GeoLookupService; import java.sql.SQLException; @@ -45,7 +45,7 @@ public class Net_ListSessions_Handler implements JsonMessageHandler { ); } - SolanaUserEntry user = ctx.getSolanaUser(); + CurrentUserEntry user = ctx.getSolanaUser(); String currentLogin = user.getLogin(); List<ActiveSessionEntry> sessions; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java index 6a4f51a1..4c2d65c5 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java @@ -14,9 +14,9 @@ import server.logic.ws_protocol.JSON.utils.AuthKeyUtils; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.dao.ActiveSessionsDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.geo.ClientInfoService; import shine.geo.GeoLookupService; import utils.crypto.Ed25519Util; @@ -188,9 +188,9 @@ public class Net_SessionLogin_Handler implements JsonMessageHandler { ctx.setSessionLoginNonceExpiresAtMs(0); // подтягиваем пользователя - SolanaUserEntry user; + CurrentUserEntry user; try { - user = SolanaUsersDAO.getInstance().getByLogin(session.getLogin()); + user = CurrentUsersDAO.getInstance().getByLogin(session.getLogin()); } catch (SQLException e) { return NetExceptionResponseFactory.error( req, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_StartEspPairing_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_StartEspPairing_Handler.java index bf08799a..ed6254e8 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_StartEspPairing_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_StartEspPairing_Handler.java @@ -15,10 +15,10 @@ import server.logic.ws_protocol.JSON.utils.NetIdGenerator; import server.logic.ws_protocol.WireCodes; import shine.db.dao.EspPairingRequestsDAO; import shine.db.dao.EspPairingSettingsDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.EspPairingRequestEntry; import shine.db.entities.EspPairingSettingsEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.util.List; @@ -60,7 +60,7 @@ public class Net_StartEspPairing_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_PASSWORD_HASH_FORMAT", "passwordHash должен быть пустым или иметь формат sha256$<64 hex>"); } - SolanaUserEntry user = SolanaUsersDAO.getInstance().getByLogin(login); + CurrentUserEntry user = CurrentUsersDAO.getInstance().getByLogin(login); if (user == null) { return NetExceptionResponseFactory.error(req, 422, "PAIRING_NOT_AVAILABLE", "Для этого login pairing недоступен"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index 6daf45c7..1b7ca2df 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -8,7 +8,7 @@ import blockchain.body.TextLineBody; import blockchain.body.TextReplyBody; import shine.db.channels.ChannelNameRules; import shine.db.MsgSubType; -import shine.db.sql.SolanaUsersSql; +import shine.db.sql.CurrentUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -31,7 +31,7 @@ final class ChannelsReadSupport { private ChannelsReadSupport() {} static String canonicalLogin(Connection c, String anyCaseLogin) throws SQLException { - String sql = ("SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + String sql = ("SELECT login FROM " + CurrentUsersSql.usersSubquery("su") + " WHERE LOWER(login) = LOWER(?) LIMIT 1"); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, anyCaseLogin); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java index ef0cc877..bbb03fc4 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_AddCloseFriend_Handler.java @@ -9,7 +9,7 @@ import server.logic.ws_protocol.JSON.handlers.connections.entyties.Net_AddCloseF import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; -import shine.db.sql.SolanaUsersSql; +import shine.db.sql.CurrentUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -58,7 +58,7 @@ public class Net_AddCloseFriend_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String login) throws Exception { - String sql = "SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + String sql = "SELECT login FROM " + CurrentUsersSql.usersSubquery("su") + " WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java index 42330be7..d4f63047 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java @@ -13,7 +13,7 @@ import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; import shine.db.DbController; import shine.db.dao.ConnectionsStateDAO; -import shine.db.sql.SolanaUsersSql; +import shine.db.sql.CurrentUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -100,7 +100,7 @@ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { FROM %s WHERE LOWER(login) = LOWER(?) LIMIT 1 - """.formatted(SolanaUsersSql.usersSubquery("su")); + """.formatted(CurrentUsersSql.usersSubquery("su")); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, loginAnyCase); try (ResultSet rs = ps.executeQuery()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java index 90da70e2..ea83a791 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetUserConnectionsGraph_Handler.java @@ -10,7 +10,7 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.MsgSubType; import shine.db.dao.ConnectionsStateDAO; -import shine.db.sql.SolanaUsersSql; +import shine.db.sql.CurrentUsersSql; import java.sql.Connection; import java.sql.PreparedStatement; @@ -114,7 +114,7 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { } private String findCanonicalLogin(Connection c, String loginAnyCase) throws Exception { - String sql = "SELECT login FROM " + SolanaUsersSql.usersSubquery("su") + String sql = "SELECT login FROM " + CurrentUsersSql.usersSubquery("su") + " WHERE LOWER(login) = LOWER(?) LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, loginAnyCase); @@ -177,7 +177,7 @@ public class Net_GetUserConnectionsGraph_Handler implements JsonMessageHandler { WHERE LOWER(su.login) IN (%s) GROUP BY su.login ORDER BY su.login - """.formatted(SolanaUsersSql.usersSubquery("su"), String.join(", ", placeholders)); + """.formatted(CurrentUsersSql.usersSubquery("su"), String.join(", ", placeholders)); try (PreparedStatement ps = c.prepareStatement(sql)) { int i = 1; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java index 9bf9c582..24dff5b5 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java @@ -11,9 +11,9 @@ import server.logic.ws_protocol.JSON.handlers.system.entyties.Net_GetSyncUserPro import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.dao.BlockchainStateDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.BlockchainStateEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; /** * GetSyncUserProfile — server-to-server профиль пользователя для межсерверной синхронизации. @@ -23,7 +23,7 @@ import shine.db.entities.SolanaUserEntry; public final class Net_GetSyncUserProfile_Handler implements JsonMessageHandler { private static final Logger log = LoggerFactory.getLogger(Net_GetSyncUserProfile_Handler.class); - private final SolanaUsersDAO usersDAO = SolanaUsersDAO.getInstance(); + private final CurrentUsersDAO usersDAO = CurrentUsersDAO.getInstance(); private final BlockchainStateDAO stateDAO = BlockchainStateDAO.getInstance(); @Override @@ -41,7 +41,7 @@ public final class Net_GetSyncUserProfile_Handler implements JsonMessageHandler } try { - SolanaUserEntry user = usersDAO.getByLogin(login); + CurrentUserEntry user = usersDAO.getByLogin(login); Net_GetSyncUserProfile_Response resp = new Net_GetSyncUserProfile_Response(); resp.setOp(req.getOp()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java index 9e282951..961faa65 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_GetUser_Handler.java @@ -11,9 +11,9 @@ import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_GetUser_Re import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.dao.BlockchainStateDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.BlockchainStateEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.sql.SQLException; import java.util.Arrays; @@ -37,11 +37,11 @@ public class Net_GetUser_Handler implements JsonMessageHandler { ); } - SolanaUsersDAO usersDAO = SolanaUsersDAO.getInstance(); + CurrentUsersDAO usersDAO = CurrentUsersDAO.getInstance(); BlockchainStateDAO stateDAO = BlockchainStateDAO.getInstance(); try { - SolanaUserEntry u = usersDAO.getByLogin(req.getLogin()); + CurrentUserEntry u = usersDAO.getByLogin(req.getLogin()); Net_GetUser_Response resp = new Net_GetUser_Response(); resp.setOp(req.getOp()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java index 6647fea2..ebc86f24 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java @@ -10,8 +10,8 @@ import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_SearchUser import server.logic.ws_protocol.JSON.handlers.tempToTest.entyties.Net_SearchUsers_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SolanaUsersDAO; -import shine.db.entities.SolanaUserEntry; +import shine.db.dao.CurrentUsersDAO; +import shine.db.entities.CurrentUserEntry; import java.sql.SQLException; import java.util.ArrayList; @@ -37,11 +37,11 @@ public class Net_SearchUsers_Handler implements JsonMessageHandler { String prefix = req.getPrefix().trim(); try { - SolanaUsersDAO dao = SolanaUsersDAO.getInstance(); - List<SolanaUserEntry> users = dao.searchByLoginPrefix(prefix); // case-insensitive + LIMIT 5 + CurrentUsersDAO dao = CurrentUsersDAO.getInstance(); + List<CurrentUserEntry> users = dao.searchByLoginPrefix(prefix); // case-insensitive + LIMIT 5 List<String> logins = new ArrayList<>(); - for (SolanaUserEntry u : users) { + for (CurrentUserEntry u : users) { if (u != null && u.getLogin() != null) { logins.add(u.getLogin()); // регистр как в БД } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java index e2561cd4..d6460161 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_ListUserParams_Handler.java @@ -11,9 +11,9 @@ import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_ListUserPa import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.DbController; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.dao.UserParamsDAO; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.db.entities.UserParamEntry; import java.sql.Connection; @@ -63,7 +63,7 @@ public class Net_ListUserParams_Handler implements JsonMessageHandler { resp.setRequestId(req.getRequestId()); resp.setStatus(WireCodes.Status.OK); - SolanaUserEntry user = SolanaUsersDAO.getInstance().getByLogin(login); + CurrentUserEntry user = CurrentUsersDAO.getInstance().getByLogin(login); resp.setLogin(user != null && user.getLogin() != null ? user.getLogin() : login); List<Net_ListUserParams_Response.Item> items = new ArrayList<>(); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java index dac10f7f..5fa03b14 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/userParams/Net_UpsertUserParam_Handler.java @@ -12,9 +12,9 @@ import server.logic.ws_protocol.JSON.handlers.userParams.entyties.Net_UpsertUser import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import shine.db.DbController; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.dao.UserParamsDAO; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import shine.db.entities.UserParamEntry; import utils.config.ShineSignatureConstants; import utils.crypto.Ed25519Util; @@ -105,12 +105,12 @@ public class Net_UpsertUserParam_Handler implements JsonMessageHandler { // ---------------- DB checks + upsert ---------------- DbController db = DbController.getInstance(); - SolanaUsersDAO usersDAO = SolanaUsersDAO.getInstance(); + CurrentUsersDAO usersDAO = CurrentUsersDAO.getInstance(); UserParamsDAO paramsDAO = UserParamsDAO.getInstance(); try (Connection c = db.getConnection()) { // 1) user exists - SolanaUserEntry user = usersDAO.getByLogin(c, login); + CurrentUserEntry user = usersDAO.getByLogin(c, login); if (user == null) { return NetExceptionResponseFactory.error( req, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallInviteBroadcast_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallInviteBroadcast_Handler.java index a1023a2b..359529e0 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallInviteBroadcast_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallInviteBroadcast_Handler.java @@ -15,9 +15,9 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.JSON.utils.NetIdGenerator; import server.logic.ws_protocol.WireCodes; import shine.db.dao.ActiveSessionsDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.util.HashSet; import java.util.List; @@ -42,7 +42,7 @@ public class Net_CallInviteBroadcast_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_FIELDS", "toLogin/callId/type=100 обязательны"); } - SolanaUserEntry targetUser = SolanaUsersDAO.getInstance().getByLogin(toRequest); + CurrentUserEntry targetUser = CurrentUsersDAO.getInstance().getByLogin(toRequest); if (targetUser == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "Пользователь не найден"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallSignalToSession_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallSignalToSession_Handler.java index 60ec4df3..b81bd0c5 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallSignalToSession_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_CallSignalToSession_Handler.java @@ -17,9 +17,9 @@ import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.JSON.utils.NetIdGenerator; import server.logic.ws_protocol.WireCodes; import shine.db.dao.ActiveSessionsDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.util.HashSet; import java.util.List; @@ -50,7 +50,7 @@ public class Net_CallSignalToSession_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "BAD_FIELDS", "toLogin/targetSessionId/callId/type обязательны"); } - SolanaUserEntry targetUser = SolanaUsersDAO.getInstance().getByLogin(toRequest); + CurrentUserEntry targetUser = CurrentUsersDAO.getInstance().getByLogin(toRequest); if (targetUser == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "Пользователь не найден"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java index 353f335d..32b80d64 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendDirectMessage_Handler.java @@ -18,11 +18,11 @@ import shine.db.dao.ActiveSessionsDAO; import shine.db.dao.DirectMessagesDAO; import shine.db.dao.SignedDirectMessagesHistoryDAO; import shine.db.dao.SignedDmReplayDAO; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; import shine.db.entities.DirectMessageEntry; import shine.db.entities.SignedDirectMessageHistoryEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import utils.crypto.Ed25519Util; import java.nio.charset.StandardCharsets; @@ -54,8 +54,8 @@ public class Net_SendDirectMessage_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, ex.getMessage(), "Некорректный формат пакета"); } - SolanaUserEntry fromUser = SolanaUsersDAO.getInstance().getByLogin(packet.fromLogin); - SolanaUserEntry toUser = SolanaUsersDAO.getInstance().getByLogin(packet.toLogin); + CurrentUserEntry fromUser = CurrentUsersDAO.getInstance().getByLogin(packet.fromLogin); + CurrentUserEntry toUser = CurrentUsersDAO.getInstance().getByLogin(packet.toLogin); if (fromUser == null || toUser == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "from/to пользователь не найден"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java index 6a751cd8..760402ab 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java @@ -16,9 +16,9 @@ import server.logic.ws_protocol.JSON.push.WsEventSender; import server.logic.ws_protocol.JSON.utils.AuthKeyUtils; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import utils.crypto.Ed25519Util; import java.security.MessageDigest; @@ -74,12 +74,12 @@ public class Net_SendSignal_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "TIME_SKEW", "Время клиента отличается от сервера более чем на 30 секунд"); } - SolanaUserEntry senderUser = ctx.getSolanaUser(); + CurrentUserEntry senderUser = ctx.getSolanaUser(); if (senderUser == null || senderUser.getClientKey() == null || senderUser.getClientKey().isBlank()) { return NetExceptionResponseFactory.error(req, WireCodes.Status.SERVER_DATA_ERROR, "NO_CLIENT_KEY", "Для пользователя не найден client key"); } - SolanaUserEntry targetUser = SolanaUsersDAO.getInstance().getByLogin(toRequest); + CurrentUserEntry targetUser = CurrentUsersDAO.getInstance().getByLogin(toRequest); if (targetUser == null) { return NetExceptionResponseFactory.error(req, 404, "USER_NOT_FOUND", "Пользователь не найден"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java index 7f5ffa3a..f6783dd9 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java @@ -1,8 +1,8 @@ package server.logic.ws_protocol.JSON.messages; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import shine.db.entities.SignedMessageV2Entry; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import utils.crypto.Ed25519Util; import java.util.Base64; @@ -46,22 +46,22 @@ final class SignedMessagesCore { } static void verifyUsersAndSignature(SignedMessageBlock block) throws Exception { - SolanaUserEntry from = resolveUser(block.fromLogin); - SolanaUserEntry to = resolveUser(block.toLogin); + CurrentUserEntry from = resolveUser(block.fromLogin); + CurrentUserEntry to = resolveUser(block.toLogin); if (from == null || to == null) { throw new IllegalArgumentException("USER_NOT_FOUND"); } String signerLogin = block.isSignedByRecipient() ? block.toLogin : block.fromLogin; - SolanaUserEntry signer = signerLogin.equalsIgnoreCase(block.fromLogin) ? from : to; + CurrentUserEntry signer = signerLogin.equalsIgnoreCase(block.fromLogin) ? from : to; byte[] pubKey32 = Ed25519Util.keyFromBase64(signer.getClientKey()); if (!Ed25519Util.verify(block.signedBody, block.signature64, pubKey32)) { throw new IllegalArgumentException("BAD_SIGNATURE"); } } - private static SolanaUserEntry resolveUser(String login) throws Exception { - return SolanaUsersDAO.getInstance().getByLogin(login); + private static CurrentUserEntry resolveUser(String login) throws Exception { + return CurrentUsersDAO.getInstance().getByLogin(login); } static void validatePair(SignedMessageBlock incoming, SignedMessageBlock outgoing) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/utils/AuthSignatures.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/utils/AuthSignatures.java index 539ab1e2..93702ef9 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/utils/AuthSignatures.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/utils/AuthSignatures.java @@ -1,6 +1,6 @@ ////package server.logic.ws_protocol.JSON.utils; // -//import shine.db.entities.SolanaUserEntry; +//import shine.db.entities.CurrentUserEntry; //import utils.crypto.Ed25519Util; // //import java.nio.charset.StandardCharsets; @@ -35,7 +35,7 @@ // * Подпись проверяется над preimageCreateAuthSession(...). // */ // public static boolean verifyCreateAuthSessionSignature( -// SolanaUserEntry user, +// CurrentUserEntry user, // String login, // String authNonce, // long timeMs, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java index 0a8ec176..3db46942 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java @@ -5,7 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import server.logic.ws_protocol.JSON.ActiveConnectionsRegistry; import server.logic.ws_protocol.JSON.ConnectionContext; -import shine.db.entities.SolanaUserEntry; +import shine.db.entities.CurrentUserEntry; import java.net.SocketAddress; import java.util.concurrent.atomic.AtomicLong; @@ -57,7 +57,7 @@ public final class WsConnectionUtils { final String sessionId = safeString(ctx.getSessionId()); final int authStatus = safeAuthStatus(ctx); - final SolanaUserEntry user = ctx.getSolanaUser(); + final CurrentUserEntry user = ctx.getSolanaUser(); final String login = (user != null ? safeString(user.getLogin()) : ""); final String activeSessionId = diff --git a/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java b/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java index 0ac2f49f..381e3d1c 100644 --- a/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java +++ b/SHiNE-server/src/test/java/test/it/cases/IT_07_EspPairing.java @@ -7,7 +7,7 @@ import test.it.utils.log.TestLog; import test.it.utils.log.TestResult; import test.it.utils.ws.WsSession; import utils.crypto.Ed25519Util; -import shine.db.dao.SolanaUsersDAO; +import shine.db.dao.CurrentUsersDAO; import utils.crypto.HashSHA256Util; import java.time.Duration; @@ -207,7 +207,7 @@ public class IT_07_EspPairing { } private static void ensureUserSeeded() throws Exception { - if (SolanaUsersDAO.getInstance().existsByLogin(LOGIN)) { + if (CurrentUsersDAO.getInstance().existsByLogin(LOGIN)) { return; } throw new IllegalStateException("Тестовый пользователь отсутствует в актуальном PDA snapshot: " + LOGIN); diff --git a/VERSION.properties b/VERSION.properties index 9bac0fee..ea93735c 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.334 +server.version=1.2.335 diff --git a/docs/libs/shine-server-bd/DOC.md b/docs/libs/shine-server-bd/DOC.md index 0c7fcffe..b08de246 100644 --- a/docs/libs/shine-server-bd/DOC.md +++ b/docs/libs/shine-server-bd/DOC.md @@ -9,7 +9,7 @@ shine.db.DatabaseInitializer — проверяет наличие `db_schema_ve shine.db.entities.* — POJO-модели строк таблиц (без логики, только поля/геттеры/сеттеры + иногда удобные методы вроде getClientKeyByte()). -shine.db.dao.* — DAO по таблицам: ActiveSessionsDAO, SolanaUsersDAO, UserParamsDAO, IpGeoCacheDAO, BlockchainStateDAO, BlocksDAO; плюс “сервисные” DAO: +shine.db.dao.* — DAO по таблицам: ActiveSessionsDAO, CurrentUsersDAO, UserParamsDAO, IpGeoCacheDAO, BlockchainStateDAO, BlocksDAO; плюс “сервисные” DAO: UserCreateDAO — атомарная регистрация пользователя в транзакции (BEGIN IMMEDIATE + rollback/commit). // Временное runtime-решение, позволяющее регистрировать новых пользователей From 6ed91a105e4d88add88cee32dae244582af579086d3d6c9f49b8fd5deb389790 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 19:29:10 +0400 Subject: [PATCH 46/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=87=D0=B8=D1=81=D1=82=D0=B8=D1=82=D1=8C=20legacy?= =?UTF-8?q?-=D1=81=D0=BB=D0=BE=D0=B8=20=D0=B8=20=D0=B4=D0=BE=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/dao/BlockchainResyncCleanupDAO.java | 2 +- .../java/shine/db/dao/BlockchainStateDAO.java | 2 +- ...sagesV2DAO.java => SignedMessagesDAO.java} | 54 +++++++++---------- ...geV2Entry.java => SignedMessageEntry.java} | 2 +- .../ws_protocol/JSON/ConnectionContext.java | 18 +++---- .../auth/Net_AuthChallenge_Handler.java | 2 +- .../auth/Net_CloseActiveSession_Handler.java | 6 +-- .../auth/Net_CreateAuthSession__Handler.java | 4 +- .../auth/Net_ListSessions_Handler.java | 4 +- .../auth/Net_SessionLogin_Handler.java | 2 +- .../Net_GetFriendsLists_Handler.java | 2 +- .../Net_GetSyncUserProfile_Handler.java | 4 +- .../Net_AckSessionDelivery_Handler.java | 4 +- .../Net_DeleteConversation_Handler.java | 8 +-- .../messages/Net_DeleteMessage_Handler.java | 8 +-- .../Net_GetDirectMessages_Handler.java | 8 +-- .../Net_ReceiveIncomingMessage_Handler.java | 16 +++--- .../messages/Net_SendMessagePair_Handler.java | 22 ++++---- .../JSON/messages/Net_SendSignal_Handler.java | 2 +- .../JSON/messages/SignedMessagesCore.java | 6 +-- .../JSON/messages/SignedMessagesRealtime.java | 22 ++++---- .../java/server/ws/WsConnectionUtils.java | 4 +- .../src/main/resources/application.properties | 2 +- VERSION.properties | 2 +- docs/API/01_User_Registration_API.md | 14 +++-- docs/API/02_Authentication_API.md | 2 +- docs/API/05_Technical_Requests_API.md | 4 +- docs/API/09_Operations_Index.md | 1 - docs/Blockchain/sync-between-servers.md | 10 ++-- docs/Personal_Messages/Протокол_DM_v1.md | 2 +- docs/libs/shine-server-bd/DOC.md | 6 +-- docs/libs/shine-server-protocol/doc.md | 4 +- shine-UI/js/services/auth-service.js | 43 +++------------ 33 files changed, 127 insertions(+), 165 deletions(-) rename SHiNE-server/shine-server-db/src/main/java/shine/db/dao/{SignedMessagesV2DAO.java => SignedMessagesDAO.java} (93%) rename SHiNE-server/shine-server-db/src/main/java/shine/db/entities/{SignedMessageV2Entry.java => SignedMessageEntry.java} (98%) diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java index 423bc74b..e11a5fff 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainResyncCleanupDAO.java @@ -29,7 +29,7 @@ import java.sql.SQLException; * отдельным recovery/resync-слоем после успешного commit. * * Важный смысл текущей реализации: - * - мы НЕ трогаем identity-слой (`solana_users`) и НЕ трогаем DM-таблицы; + * - мы НЕ трогаем current users слой (`solana_user_pda_current`) и НЕ трогаем DM-таблицы; * - мы очищаем только блокчейн пользователя и derived-state, который строится из неё; * - висячие cross-chain ссылки в чужих blocks допускаются как нормальное поведение системы. */ diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java index b11e29c7..e2ad176a 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java @@ -142,7 +142,7 @@ public final class BlockchainStateDAO { * Строгая вставка state только если записи ещё нет. * * Нужна для recovery / resync: - * - identity пользователя уже может существовать в solana_users; + * - runtime-проекция пользователя уже может существовать в current users слое; * - в таком случае нам надо восстановить только blockchain_state; * - если запись уже есть, метод просто ничего не меняет. */ diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java similarity index 93% rename from SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java rename to SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java index 16efd2ce..d065e818 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesV2DAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java @@ -1,7 +1,7 @@ package shine.db.dao; import shine.db.DbController; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.entities.SignedMessageEntry; import java.sql.Connection; import java.sql.PreparedStatement; @@ -11,7 +11,7 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.List; -public final class SignedMessagesV2DAO { +public final class SignedMessagesDAO { public enum ApplyStatus { APPLIED, @@ -24,21 +24,21 @@ public final class SignedMessagesV2DAO { } } - private static volatile SignedMessagesV2DAO instance; + private static volatile SignedMessagesDAO instance; private final DbController db = DbController.getInstance(); - private SignedMessagesV2DAO() {} + private SignedMessagesDAO() {} - public static SignedMessagesV2DAO getInstance() { + public static SignedMessagesDAO getInstance() { if (instance == null) { - synchronized (SignedMessagesV2DAO.class) { - if (instance == null) instance = new SignedMessagesV2DAO(); + synchronized (SignedMessagesDAO.class) { + if (instance == null) instance = new SignedMessagesDAO(); } } return instance; } - public ApplyStatus insertIfAbsent(SignedMessageV2Entry e) throws Exception { + public ApplyStatus insertIfAbsent(SignedMessageEntry e) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { if (isBlockedByConversationDelete(c, e.getFromLogin(), e.getToLogin(), e.getTimeMs())) { @@ -65,7 +65,7 @@ public final class SignedMessagesV2DAO { }); } - public boolean insertPairBothOrNothing(SignedMessageV2Entry first, SignedMessageV2Entry second) throws Exception { + public boolean insertPairBothOrNothing(SignedMessageEntry first, SignedMessageEntry second) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { boolean prevAutoCommit = c.getAutoCommit(); @@ -94,7 +94,7 @@ public final class SignedMessagesV2DAO { }); } - public ApplyStatus upsertContentPair(SignedMessageV2Entry incoming, SignedMessageV2Entry outgoing) throws Exception { + public ApplyStatus upsertContentPair(SignedMessageEntry incoming, SignedMessageEntry outgoing) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { boolean prevAutoCommit = c.getAutoCommit(); @@ -135,7 +135,7 @@ public final class SignedMessagesV2DAO { }); } - public ApplyStatus upsertIncomingCopy(SignedMessageV2Entry incoming) throws Exception { + public ApplyStatus upsertIncomingCopy(SignedMessageEntry incoming) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { boolean prevAutoCommit = c.getAutoCommit(); @@ -172,7 +172,7 @@ public final class SignedMessagesV2DAO { }); } - public ApplyStatus applyDeleteMessage(SignedMessageV2Entry tombstone) throws Exception { + public ApplyStatus applyDeleteMessage(SignedMessageEntry tombstone) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { boolean prevAutoCommit = c.getAutoCommit(); @@ -203,7 +203,7 @@ public final class SignedMessagesV2DAO { }); } - public ApplyStatus applyDeleteConversation(SignedMessageV2Entry tombstone) throws Exception { + public ApplyStatus applyDeleteConversation(SignedMessageEntry tombstone) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { boolean prevAutoCommit = c.getAutoCommit(); @@ -231,7 +231,7 @@ public final class SignedMessagesV2DAO { }); } - public SignedMessageV2Entry getByMessageKey(String messageKey) throws Exception { + public SignedMessageEntry getByMessageKey(String messageKey) throws Exception { try (Connection c = db.getConnection()) { String sql = """ SELECT @@ -252,7 +252,7 @@ public final class SignedMessagesV2DAO { } } - public SignedMessageV2Entry getLatestConversationDelete(String fromLogin, String toLogin) throws Exception { + public SignedMessageEntry getLatestConversationDelete(String fromLogin, String toLogin) throws Exception { try (Connection c = db.getConnection()) { return getLatestConversationDelete(c, fromLogin, toLogin); } @@ -314,7 +314,7 @@ public final class SignedMessagesV2DAO { }); } - public List<SignedMessageV2Entry> listPendingForSession(String login, String sessionId) throws Exception { + public List<SignedMessageEntry> listPendingForSession(String login, String sessionId) throws Exception { return withBusyRetry(() -> { try (Connection c = db.getConnection()) { String fillSql = """ @@ -354,7 +354,7 @@ public final class SignedMessagesV2DAO { WHERE d.session_id = ? AND d.delivered = 0 ORDER BY m.time_ms ASC, m.revision_time_ms ASC, m.reencrypted_at_ms ASC, m.created_at_ms ASC """.formatted(messagesTable()); - List<SignedMessageV2Entry> out = new ArrayList<>(); + List<SignedMessageEntry> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, sessionId); try (ResultSet rs = ps.executeQuery()) { @@ -366,7 +366,7 @@ public final class SignedMessagesV2DAO { }); } - public List<SignedMessageV2Entry> listConversationPage( + public List<SignedMessageEntry> listConversationPage( String login, String peerLogin, long beforeTimeMs, @@ -395,7 +395,7 @@ public final class SignedMessagesV2DAO { ORDER BY time_ms DESC, message_key DESC LIMIT ? """.formatted(messagesTable()); - List<SignedMessageV2Entry> out = new ArrayList<>(); + List<SignedMessageEntry> out = new ArrayList<>(); try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, login); ps.setString(2, login); @@ -416,7 +416,7 @@ public final class SignedMessagesV2DAO { } } - private void upsertMessage(Connection c, SignedMessageV2Entry e) throws SQLException { + private void upsertMessage(Connection c, SignedMessageEntry e) throws SQLException { String sql = """ INSERT INTO %s ( message_key, base_key, target_login, from_login, to_login, @@ -448,7 +448,7 @@ public final class SignedMessagesV2DAO { } } - private void markMessageReadByReceipt(Connection c, SignedMessageV2Entry entry) throws SQLException { + private void markMessageReadByReceipt(Connection c, SignedMessageEntry entry) throws SQLException { if (entry == null) return; int messageType = entry.getMessageType(); if (messageType != 3 && messageType != 4) return; @@ -552,7 +552,7 @@ public final class SignedMessagesV2DAO { } } - private SignedMessageV2Entry getLatestConversationDelete(Connection c, String fromLogin, String toLogin) throws Exception { + private SignedMessageEntry getLatestConversationDelete(Connection c, String fromLogin, String toLogin) throws Exception { String sql = """ SELECT message_key, base_key, target_login, from_login, to_login, @@ -646,7 +646,7 @@ public final class SignedMessagesV2DAO { } } - private int insertStrict(Connection c, SignedMessageV2Entry e) throws SQLException { + private int insertStrict(Connection c, SignedMessageEntry e) throws SQLException { String sql = """ INSERT INTO %s ( message_key, base_key, target_login, from_login, to_login, @@ -661,7 +661,7 @@ public final class SignedMessagesV2DAO { } } - private void bindSignedMessage(PreparedStatement ps, SignedMessageV2Entry e) throws SQLException { + private void bindSignedMessage(PreparedStatement ps, SignedMessageEntry e) throws SQLException { ps.setString(1, e.getMessageKey()); ps.setString(2, e.getBaseKey()); ps.setString(3, e.getTargetLogin()); @@ -718,8 +718,8 @@ public final class SignedMessagesV2DAO { return "signed_messages"; } - private SignedMessageV2Entry mapRow(ResultSet rs) throws Exception { - SignedMessageV2Entry e = new SignedMessageV2Entry(); + private SignedMessageEntry mapRow(ResultSet rs) throws Exception { + SignedMessageEntry e = new SignedMessageEntry(); e.setMessageKey(rs.getString("message_key")); e.setBaseKey(rs.getString("base_key")); e.setTargetLogin(rs.getString("target_login")); @@ -743,7 +743,7 @@ public final class SignedMessagesV2DAO { } private record RevisionMarker(long revisionTimeMs, long reencryptedAtMs) { - private static RevisionMarker of(SignedMessageV2Entry entry) { + private static RevisionMarker of(SignedMessageEntry entry) { return new RevisionMarker(entry.getRevisionTimeMs(), entry.getReencryptedAtMs()); } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageEntry.java similarity index 98% rename from SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java rename to SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageEntry.java index d19f2d63..207fdb7c 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageV2Entry.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/SignedMessageEntry.java @@ -1,6 +1,6 @@ package shine.db.entities; -public class SignedMessageV2Entry { +public class SignedMessageEntry { private String messageKey; private String baseKey; private String targetLogin; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java index 4b91345c..4877f45f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/ConnectionContext.java @@ -25,8 +25,8 @@ public class ConnectionContext { public static final int AUTH_STATUS_AUTH_IN_PROGRESS = 1; // выполнен challenge (AuthChallenge или SessionChallenge) public static final int AUTH_STATUS_USER = 2; // авторизованный пользователь - // Полный пользователь из БД (solana_users) - private CurrentUserEntry solanaUserEntry; + // Полный пользователь из runtime БД (current users / solana_user_pda_current) + private CurrentUserEntry currentUserEntry; // Активная сессия из БД (active_sessions) private ActiveSessionEntry activeSessionEntry; @@ -89,12 +89,12 @@ public class ConnectionContext { // --- SolanaUser / ActiveSession --- - public CurrentUserEntry getSolanaUser() { - return solanaUserEntry; + public CurrentUserEntry getCurrentUser() { + return currentUserEntry; } - public void setSolanaUser(CurrentUserEntry solanaUserEntry) { - this.solanaUserEntry = solanaUserEntry; + public void setCurrentUser(CurrentUserEntry currentUserEntry) { + this.currentUserEntry = currentUserEntry; } public ActiveSessionEntry getActiveSession() { @@ -108,7 +108,7 @@ public class ConnectionContext { // --- Удобный геттер для логина --- public String getLogin() { - return solanaUserEntry != null ? solanaUserEntry.getLogin() : null; + return currentUserEntry != null ? currentUserEntry.getLogin() : null; } // --- sessionId --- @@ -176,7 +176,7 @@ public class ConnectionContext { } public void reset() { - solanaUserEntry = null; + currentUserEntry = null; activeSessionEntry = null; sessionId = null; @@ -198,4 +198,4 @@ public class ConnectionContext { ", authenticationStatus=" + authenticationStatus + '}'; } -} \ No newline at end of file +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java index 1ea04e3f..1a3aed35 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_AuthChallenge_Handler.java @@ -70,7 +70,7 @@ public class Net_AuthChallenge_Handler implements JsonMessageHandler { ); } - ctx.setSolanaUser(solanaUserEntry); + ctx.setCurrentUser(solanaUserEntry); ctx.setAuthenticationStatus(ConnectionContext.AUTH_STATUS_AUTH_IN_PROGRESS); byte[] buf = new byte[32]; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java index 11cdacbe..cd29954f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CloseActiveSession_Handler.java @@ -42,7 +42,7 @@ public class Net_CloseActiveSession_Handler implements JsonMessageHandler { public Net_Response handle(Net_Request baseReq, ConnectionContext ctx) throws Exception { Net_CloseActiveSession_Request req = (Net_CloseActiveSession_Request) baseReq; - if (ctx == null || ctx.getSolanaUser() == null || ctx.getAuthenticationStatus() != ConnectionContext.AUTH_STATUS_USER) { + if (ctx == null || ctx.getCurrentUser() == null || ctx.getAuthenticationStatus() != ConnectionContext.AUTH_STATUS_USER) { return NetExceptionResponseFactory.error( req, WireCodes.Status.UNVERIFIED, @@ -51,7 +51,7 @@ public class Net_CloseActiveSession_Handler implements JsonMessageHandler { ); } - CurrentUserEntry user = ctx.getSolanaUser(); + CurrentUserEntry user = ctx.getCurrentUser(); String currentLogin = user.getLogin(); String targetSessionId = req.getSessionId(); @@ -152,4 +152,4 @@ public class Net_CloseActiveSession_Handler implements JsonMessageHandler { ); } } -} \ No newline at end of file +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java index bd103779..4ca98505 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_CreateAuthSession__Handler.java @@ -58,7 +58,7 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { Net_CreateAuthSession_Request req = (Net_CreateAuthSession_Request) baseReq; if (ctx == null - || ctx.getSolanaUser() == null + || ctx.getCurrentUser() == null || ctx.getAuthNonce() == null || ctx.getAuthenticationStatus() != ConnectionContext.AUTH_STATUS_AUTH_IN_PROGRESS) { @@ -72,7 +72,7 @@ public class Net_CreateAuthSession__Handler implements JsonMessageHandler { return err; } - CurrentUserEntry userFromContext = ctx.getSolanaUser(); + CurrentUserEntry userFromContext = ctx.getCurrentUser(); String loginFromContext = userFromContext.getLogin(); String loginFromReq = req.getLogin(); if (loginFromReq == null || loginFromReq.isBlank()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java index bfe2c720..8f62a4d7 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_ListSessions_Handler.java @@ -36,7 +36,7 @@ public class Net_ListSessions_Handler implements JsonMessageHandler { public Net_Response handle(Net_Request baseReq, ConnectionContext ctx) throws Exception { Net_ListSessions_Request req = (Net_ListSessions_Request) baseReq; - if (ctx == null || ctx.getSolanaUser() == null || ctx.getAuthenticationStatus() != ConnectionContext.AUTH_STATUS_USER) { + if (ctx == null || ctx.getCurrentUser() == null || ctx.getAuthenticationStatus() != ConnectionContext.AUTH_STATUS_USER) { return NetExceptionResponseFactory.error( req, WireCodes.Status.UNVERIFIED, @@ -45,7 +45,7 @@ public class Net_ListSessions_Handler implements JsonMessageHandler { ); } - CurrentUserEntry user = ctx.getSolanaUser(); + CurrentUserEntry user = ctx.getCurrentUser(); String currentLogin = user.getLogin(); List<ActiveSessionEntry> sessions; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java index 4c2d65c5..c2dea576 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/auth/Net_SessionLogin_Handler.java @@ -294,7 +294,7 @@ public class Net_SessionLogin_Handler implements JsonMessageHandler { // ctx ctx.setActiveSession(session); - ctx.setSolanaUser(user); + ctx.setCurrentUser(user); ctx.setSessionId(sessionId); ctx.setAuthenticationStatus(ConnectionContext.AUTH_STATUS_USER); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java index d4f63047..0306fac6 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/connections/Net_GetFriendsLists_Handler.java @@ -54,7 +54,7 @@ public class Net_GetFriendsLists_Handler implements JsonMessageHandler { try (Connection c = db.getConnection()) { - // 1) Канонизируем login через solana_users (NOCASE) + // 1) Канонизируем login через current users слой (NOCASE) String canonicalLogin = findCanonicalLogin(c, loginAnyCase); if (canonicalLogin == null) { return NetExceptionResponseFactory.error( diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java index 24dff5b5..e7137593 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/system/Net_GetSyncUserProfile_Handler.java @@ -17,8 +17,8 @@ import shine.db.entities.CurrentUserEntry; /** * GetSyncUserProfile — server-to-server профиль пользователя для межсерверной синхронизации. - * Нужен, чтобы принимающий сервер мог создать локальные solana_users + blockchain_state - * без прямого запроса в Solana RPC. + * Нужен, чтобы принимающий сервер мог создать локальную runtime-проекцию пользователя + * и blockchain_state без прямого запроса в Solana RPC. */ public final class Net_GetSyncUserProfile_Handler implements JsonMessageHandler { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_AckSessionDelivery_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_AckSessionDelivery_Handler.java index 4ada25e8..98493a04 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_AckSessionDelivery_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_AckSessionDelivery_Handler.java @@ -8,7 +8,7 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_AckSessionDelivery_Re import server.logic.ws_protocol.JSON.messages.entyties.Net_AckSessionDelivery_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SignedMessagesV2DAO; +import shine.db.dao.SignedMessagesDAO; public class Net_AckSessionDelivery_Handler implements JsonMessageHandler { @Override @@ -22,7 +22,7 @@ public class Net_AckSessionDelivery_Handler implements JsonMessageHandler { } String messageKey = req.getMessageKey().trim(); - SignedMessagesV2DAO.getInstance().markDelivered(messageKey, ctx.getSessionId(), System.currentTimeMillis()); + SignedMessagesDAO.getInstance().markDelivered(messageKey, ctx.getSessionId(), System.currentTimeMillis()); Net_AckSessionDelivery_Response resp = new Net_AckSessionDelivery_Response(); resp.setOp(req.getOp()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteConversation_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteConversation_Handler.java index a8a7f503..66c0b25e 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteConversation_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteConversation_Handler.java @@ -9,8 +9,8 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteConversation_Re import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import server.sync.DmFederationService; -import shine.db.dao.SignedMessagesV2DAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; public class Net_DeleteConversation_Handler implements JsonMessageHandler { @Override @@ -38,8 +38,8 @@ public class Net_DeleteConversation_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, status, code, "Сообщение не прошло проверку"); } - SignedMessageV2Entry entry = SignedMessagesCore.toEntry(block, "DeleteConversation", null); - SignedMessagesV2DAO.ApplyStatus status = SignedMessagesV2DAO.getInstance().applyDeleteConversation(entry); + SignedMessageEntry entry = SignedMessagesCore.toEntry(block, "DeleteConversation", null); + SignedMessagesDAO.ApplyStatus status = SignedMessagesDAO.getInstance().applyDeleteConversation(entry); SignedMessagesRealtime.DeliveryCounters counters = new SignedMessagesRealtime.DeliveryCounters(); if (status.applied()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteMessage_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteMessage_Handler.java index aac091c7..fe2e2ae2 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteMessage_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DeleteMessage_Handler.java @@ -9,8 +9,8 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteMessage_Respons import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import server.sync.DmFederationService; -import shine.db.dao.SignedMessagesV2DAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; public class Net_DeleteMessage_Handler implements JsonMessageHandler { @Override @@ -38,8 +38,8 @@ public class Net_DeleteMessage_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, status, code, "Сообщение не прошло проверку"); } - SignedMessageV2Entry entry = SignedMessagesCore.toEntry(block, "DeleteMessage", null); - SignedMessagesV2DAO.ApplyStatus status = SignedMessagesV2DAO.getInstance().applyDeleteMessage(entry); + SignedMessageEntry entry = SignedMessagesCore.toEntry(block, "DeleteMessage", null); + SignedMessagesDAO.ApplyStatus status = SignedMessagesDAO.getInstance().applyDeleteMessage(entry); SignedMessagesRealtime.DeliveryCounters counters = new SignedMessagesRealtime.DeliveryCounters(); if (status.applied()) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java index 19d7f5f9..eca54d60 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_GetDirectMessages_Handler.java @@ -10,8 +10,8 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Req import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SignedMessagesV2DAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; import java.util.ArrayList; import java.util.Base64; @@ -43,7 +43,7 @@ public class Net_GetDirectMessages_Handler implements JsonMessageHandler { String beforeMessageKey = req.getBeforeMessageKey() == null ? "" : req.getBeforeMessageKey().trim(); try { - List<SignedMessageV2Entry> page = SignedMessagesV2DAO.getInstance().listConversationPage( + List<SignedMessageEntry> page = SignedMessagesDAO.getInstance().listConversationPage( login, peerLogin, beforeTimeMs, @@ -66,7 +66,7 @@ public class Net_GetDirectMessages_Handler implements JsonMessageHandler { resp.setHasMore(hasMore); List<Net_GetDirectMessages_Response.MessageItem> items = new ArrayList<>(); - for (SignedMessageV2Entry entry : page) { + for (SignedMessageEntry entry : page) { Net_GetDirectMessages_Response.MessageItem item = new Net_GetDirectMessages_Response.MessageItem(); item.setMessageKey(entry.getMessageKey()); item.setBaseKey(entry.getBaseKey()); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java index 1f87ffd3..351fa6a0 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java @@ -8,8 +8,8 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_ReceiveIncomingMessag import server.logic.ws_protocol.JSON.messages.entyties.Net_ReceiveIncomingMessage_Response; import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; -import shine.db.dao.SignedMessagesV2DAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; import java.util.Base64; @@ -40,21 +40,21 @@ public class Net_ReceiveIncomingMessage_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, status, code, "Сообщение не прошло проверку"); } - final SignedMessageV2Entry entry; + final SignedMessageEntry entry; try { entry = SignedMessagesCore.toEntry(incoming, "ReceiveIncomingMessage", null); } catch (IllegalArgumentException ex) { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, ex.getMessage(), "Некорректный payload подтверждения"); } - SignedMessagesV2DAO.ApplyStatus status = incoming.isContentType() - ? SignedMessagesV2DAO.getInstance().upsertIncomingCopy(entry) - : SignedMessagesV2DAO.getInstance().insertIfAbsent(entry); + SignedMessagesDAO.ApplyStatus status = incoming.isContentType() + ? SignedMessagesDAO.getInstance().upsertIncomingCopy(entry) + : SignedMessagesDAO.getInstance().insertIfAbsent(entry); SignedMessagesRealtime.DeliveryCounters counters = new SignedMessagesRealtime.DeliveryCounters(); if (status.applied()) { counters = SignedMessagesRealtime.deliverToRelevantSessions(entry, incoming); } - if (status == SignedMessagesV2DAO.ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE) { + if (status == SignedMessagesDAO.ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE) { bounceConversationDeleteIfKnown(incoming.fromLogin, incoming.toLogin); } @@ -74,7 +74,7 @@ public class Net_ReceiveIncomingMessage_Handler implements JsonMessageHandler { } private void bounceConversationDeleteIfKnown(String fromLogin, String toLogin) throws Exception { - SignedMessageV2Entry tombstone = SignedMessagesV2DAO.getInstance().getLatestConversationDelete(fromLogin, toLogin); + SignedMessageEntry tombstone = SignedMessagesDAO.getInstance().getLatestConversationDelete(fromLogin, toLogin); if (tombstone == null || tombstone.getRawBlock() == null || tombstone.getRawBlock().length == 0) return; server.sync.DmFederationService.fanOutDeleteConversation( tombstone.getFromLogin(), diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendMessagePair_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendMessagePair_Handler.java index d1baee68..332a5555 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendMessagePair_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendMessagePair_Handler.java @@ -9,8 +9,8 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_SendMessagePair_Respo import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; import server.logic.ws_protocol.WireCodes; import server.sync.DmFederationService; -import shine.db.dao.SignedMessagesV2DAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; import java.util.Base64; @@ -41,8 +41,8 @@ public class Net_SendMessagePair_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, status, code, "Сообщение не прошло проверку"); } - SignedMessageV2Entry incomingEntry; - SignedMessageV2Entry outgoingEntry; + SignedMessageEntry incomingEntry; + SignedMessageEntry outgoingEntry; try { String sourceApi = "SendMessagePair"; String originSessionId = (ctx != null && !isBlank(ctx.getSessionId())) ? ctx.getSessionId() : null; @@ -52,15 +52,15 @@ public class Net_SendMessagePair_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, ex.getMessage(), "Некорректный payload подтверждения"); } - SignedMessagesV2DAO.ApplyStatus pairStatus; + SignedMessagesDAO.ApplyStatus pairStatus; if (incoming.isContentType()) { - pairStatus = SignedMessagesV2DAO.getInstance().upsertContentPair( + pairStatus = SignedMessagesDAO.getInstance().upsertContentPair( incomingEntry, outgoingEntry ); } else { - pairStatus = SignedMessagesV2DAO.getInstance().insertPairBothOrNothing(incomingEntry, outgoingEntry) - ? SignedMessagesV2DAO.ApplyStatus.APPLIED - : SignedMessagesV2DAO.ApplyStatus.DUPLICATE_OR_OLDER; + pairStatus = SignedMessagesDAO.getInstance().insertPairBothOrNothing(incomingEntry, outgoingEntry) + ? SignedMessagesDAO.ApplyStatus.APPLIED + : SignedMessagesDAO.ApplyStatus.DUPLICATE_OR_OLDER; } SignedMessagesRealtime.DeliveryCounters inCounters = new SignedMessagesRealtime.DeliveryCounters(); @@ -77,7 +77,7 @@ public class Net_SendMessagePair_Handler implements JsonMessageHandler { outCounters = SignedMessagesRealtime.deliverToRelevantSessions(outgoingEntry, outgoing, excludeSessionId); } - if (pairStatus == SignedMessagesV2DAO.ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE) { + if (pairStatus == SignedMessagesDAO.ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE) { bounceConversationDeleteIfKnown(incoming.fromLogin, incoming.toLogin); } @@ -107,7 +107,7 @@ public class Net_SendMessagePair_Handler implements JsonMessageHandler { } private void bounceConversationDeleteIfKnown(String fromLogin, String toLogin) throws Exception { - SignedMessageV2Entry tombstone = SignedMessagesV2DAO.getInstance().getLatestConversationDelete(fromLogin, toLogin); + SignedMessageEntry tombstone = SignedMessagesDAO.getInstance().getLatestConversationDelete(fromLogin, toLogin); if (tombstone == null || tombstone.getRawBlock() == null || tombstone.getRawBlock().length == 0) return; DmFederationService.fanOutDeleteConversation( tombstone.getFromLogin(), diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java index 760402ab..7c24e117 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_SendSignal_Handler.java @@ -74,7 +74,7 @@ public class Net_SendSignal_Handler implements JsonMessageHandler { return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "TIME_SKEW", "Время клиента отличается от сервера более чем на 30 секунд"); } - CurrentUserEntry senderUser = ctx.getSolanaUser(); + CurrentUserEntry senderUser = ctx.getCurrentUser(); if (senderUser == null || senderUser.getClientKey() == null || senderUser.getClientKey().isBlank()) { return NetExceptionResponseFactory.error(req, WireCodes.Status.SERVER_DATA_ERROR, "NO_CLIENT_KEY", "Для пользователя не найден client key"); } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java index f6783dd9..ad16a106 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesCore.java @@ -1,7 +1,7 @@ package server.logic.ws_protocol.JSON.messages; import shine.db.dao.CurrentUsersDAO; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.entities.SignedMessageEntry; import shine.db.entities.CurrentUserEntry; import utils.crypto.Ed25519Util; @@ -96,11 +96,11 @@ final class SignedMessagesCore { } } - static SignedMessageV2Entry toEntry(SignedMessageBlock block, String sourceApi, String originSessionId) { + static SignedMessageEntry toEntry(SignedMessageBlock block, String sourceApi, String originSessionId) { String baseKey = SignedMessageKeys.baseKey(block.toLogin, block.fromLogin, block.timeMs, block.nonce); String messageKey = SignedMessageKeys.messageKey(block.toLogin, block.fromLogin, block.timeMs, block.nonce, block.messageType); - SignedMessageV2Entry entry = new SignedMessageV2Entry(); + SignedMessageEntry entry = new SignedMessageEntry(); entry.setMessageKey(messageKey); entry.setBaseKey(baseKey); entry.setTargetLogin(primaryTargetLogin(block)); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java index 2d681dc1..76bd9306 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/SignedMessagesRealtime.java @@ -9,9 +9,9 @@ import server.logic.ws_protocol.JSON.ConnectionContext; import server.logic.ws_protocol.JSON.push.WebPushSender; import server.logic.ws_protocol.JSON.push.WsEventSender; import shine.db.dao.ActiveSessionsDAO; -import shine.db.dao.SignedMessagesV2DAO; +import shine.db.dao.SignedMessagesDAO; import shine.db.entities.ActiveSessionEntry; -import shine.db.entities.SignedMessageV2Entry; +import shine.db.entities.SignedMessageEntry; import java.util.ArrayList; import java.util.Base64; @@ -37,12 +37,12 @@ public final class SignedMessagesRealtime { private SignedMessagesRealtime() {} - static DeliveryCounters deliverToRelevantSessions(SignedMessageV2Entry message, SignedMessageBlock block) throws Exception { + static DeliveryCounters deliverToRelevantSessions(SignedMessageEntry message, SignedMessageBlock block) throws Exception { return deliverToRelevantSessions(message, block, null); } static DeliveryCounters deliverToRelevantSessions( - SignedMessageV2Entry message, + SignedMessageEntry message, SignedMessageBlock block, String excludeSessionId ) throws Exception { @@ -58,7 +58,7 @@ public final class SignedMessagesRealtime { } sessionIdsToTrack.add(sessionId); } - SignedMessagesV2DAO.getInstance().ensureDeliveryRows(message.getMessageKey(), sessionIdsToTrack, now); + SignedMessagesDAO.getInstance().ensureDeliveryRows(message.getMessageKey(), sessionIdsToTrack, now); for (ActiveSessionEntry s : sessions) { String sessionId = s.getSessionId(); if (excludeSessionId != null && excludeSessionId.equals(sessionId)) { @@ -97,9 +97,9 @@ public final class SignedMessagesRealtime { private static void dispatchPendingForSession(String login, String sessionId) { try { - List<SignedMessageV2Entry> pending = SignedMessagesV2DAO.getInstance() + List<SignedMessageEntry> pending = SignedMessagesDAO.getInstance() .listPendingForSession(login, sessionId); - for (SignedMessageV2Entry e : pending) { + for (SignedMessageEntry e : pending) { sendEventToSessionIfOnline(sessionId, login, e, true); } } catch (Exception e) { @@ -110,7 +110,7 @@ public final class SignedMessagesRealtime { private static boolean sendEventToSessionIfOnline( String sessionId, String actualTargetLogin, - SignedMessageV2Entry message, + SignedMessageEntry message, boolean backlog ) { ConnectionContext targetCtx = ActiveConnectionsRegistry.getInstance().getBySessionId(sessionId); @@ -134,14 +134,14 @@ public final class SignedMessagesRealtime { return WsEventSender.sendEvent(targetCtx, "SignedMessageArrived", message.getMessageKey(), payload); } - private static boolean shouldPushNewIncomingMessage(String targetLogin, SignedMessageV2Entry message, SignedMessageBlock block) { + private static boolean shouldPushNewIncomingMessage(String targetLogin, SignedMessageEntry message, SignedMessageBlock block) { if (block == null) return false; if (message.getMessageType() != SignedMessageBlock.TYPE_INCOMING_TEXT) return false; if (!targetLogin.equalsIgnoreCase(message.getToLogin())) return false; return block.revisionTimeMs == 0; } - private static boolean pushNewMessageNotification(ActiveSessionEntry session, SignedMessageV2Entry message) { + private static boolean pushNewMessageNotification(ActiveSessionEntry session, SignedMessageEntry message) { try { if (session == null) return false; if (isBlank(session.getPushEndpoint()) || isBlank(session.getPushP256dhKey()) || isBlank(session.getPushAuthKey())) { @@ -160,7 +160,7 @@ public final class SignedMessagesRealtime { } } - private static List<String> targetLoginsForMessage(SignedMessageV2Entry message) { + private static List<String> targetLoginsForMessage(SignedMessageEntry message) { Set<String> out = new LinkedHashSet<>(); int type = message.getMessageType(); if (type == SignedMessageBlock.TYPE_INCOMING_TEXT || type == SignedMessageBlock.TYPE_READ_INCOMING) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java index 3db46942..5a7ba084 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/ws/WsConnectionUtils.java @@ -57,7 +57,7 @@ public final class WsConnectionUtils { final String sessionId = safeString(ctx.getSessionId()); final int authStatus = safeAuthStatus(ctx); - final CurrentUserEntry user = ctx.getSolanaUser(); + final CurrentUserEntry user = ctx.getCurrentUser(); final String login = (user != null ? safeString(user.getLogin()) : ""); final String activeSessionId = @@ -152,4 +152,4 @@ public final class WsConnectionUtils { return "remote=" + remote + ", local=" + local; } -} \ No newline at end of file +} diff --git a/SHiNE-server/src/main/resources/application.properties b/SHiNE-server/src/main/resources/application.properties index 950d2ce7..53f74ae4 100644 --- a/SHiNE-server/src/main/resources/application.properties +++ b/SHiNE-server/src/main/resources/application.properties @@ -20,7 +20,7 @@ solana.users.sync.pollIntervalSeconds=300 # false - брать профиль пользователя напрямую из Solana PDA (обычный режим). # true - не ходить в Solana RPC, а запрашивать у сервера-партнёра специальный # sync-профиль пользователя и по нему локально создавать -# solana_users + blockchain_state. +# current user runtime-проекцию + blockchain_state. # Эта настройка нужна как временный обход лимитов Solana RPC (например 429), # чтобы чистый сервер мог восстановить цепочки от партнёра без зависимости # от внешнего Solana endpoint. diff --git a/VERSION.properties b/VERSION.properties index ea93735c..e6f921ee 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.335 +server.version=1.2.336 diff --git a/docs/API/01_User_Registration_API.md b/docs/API/01_User_Registration_API.md index 1a1bb59c..16959751 100644 --- a/docs/API/01_User_Registration_API.md +++ b/docs/API/01_User_Registration_API.md @@ -2,13 +2,12 @@ Этот файл описывает раздел API, связанный с проверкой наличия пользователя на сервере и dev/test операциями. -Сейчас здесь три метода: +Сейчас здесь два метода: -- `AddUser` — операция отключена (регистрация только через Solana); - `GetUser` — временная серверная проверка существования пользователя и чтение его базовых данных; - `SearchUsers` — dev/test поиск логинов по префиксу. -Регистрация выполняется через Solana (`shine_users`). Сервер при входе может лениво импортировать пользователя из Solana PDA в локальную БД, если записи ещё нет. +Регистрация выполняется только через Solana. Старый серверный `AddUser` оставлен лишь как legacy-ответ `410 / ADD_USER_DISABLED` для старых клиентов и больше не считается частью актуального flow. ## Статус документа @@ -18,11 +17,11 @@ --- -## 1. Операция `AddUser` +## Legacy-операция `AddUser` ### Назначение -Операция отключена. Используется только как явный ответ клиентам старых версий. +Операция удалена из текущего клиентского flow. Сервер сохраняет только совместимый ответ для клиентов старых версий. ### Запрос @@ -62,7 +61,7 @@ --- -## 2. Операция `GetUser` +## 1. Операция `GetUser` ### Назначение @@ -153,7 +152,7 @@ --- -## 3. Операция `SearchUsers` +## 2. Операция `SearchUsers` ### Назначение @@ -195,7 +194,6 @@ ## 4. Короткое резюме -- `AddUser` — отключен (`410 / ADD_USER_DISABLED`). - `GetUser` — проверка существования пользователя на сервере. - `SearchUsers` — временный поиск пользователей по префиксу. - Регистрация выполняется только через Solana. diff --git a/docs/API/02_Authentication_API.md b/docs/API/02_Authentication_API.md index 735b4b2d..470434b4 100644 --- a/docs/API/02_Authentication_API.md +++ b/docs/API/02_Authentication_API.md @@ -138,7 +138,7 @@ AUTH_CREATE_SESSION:{login}:{sessionKey}:{storagePwd}:{timeMs}:{authNonce} Перед проверкой подписи сервер должен: -1. взять актуальный `solana_users.client_key`; +1. взять актуальный `solana_user_pda_current.client_key`; 2. сравнить его с `payload.clientKey`; 3. только потом проверять подпись. diff --git a/docs/API/05_Technical_Requests_API.md b/docs/API/05_Technical_Requests_API.md index 79604bc6..d458d04a 100644 --- a/docs/API/05_Technical_Requests_API.md +++ b/docs/API/05_Technical_Requests_API.md @@ -19,7 +19,7 @@ - `Ping` нужен для регулярной проверки, что соединение всё ещё живо; - `GetServerInfo` нужен до авторизации и до работы с данными, чтобы клиент понял, что сервер доступен, и показал пользователю краткую карточку этого узла. - `ListBlockchainHeads` нужен для сервер-сервер сверки: партнёр получает список heads по всем цепочкам, сравнивает его со своим состоянием и затем добирает недостающие блоки по диапазону. -- `GetSyncUserProfile` нужен для server-to-server режима, когда принимающий сервер хочет создать у себя локальные `solana_users + blockchain_state` без прямого обращения в Solana. Это используется как временный обход ограничений внешнего Solana RPC. +- `GetSyncUserProfile` нужен для server-to-server режима, когда принимающий сервер хочет создать у себя локальную runtime-проекцию пользователя и `blockchain_state` без прямого обращения в Solana. - `SendSignal` нужен для доверенных межсессионных команд одного пользователя. Первое практическое применение — `remote AddBlock via homeserver session`, но формат задуман как общий transport на вырост. Ниже сначала описаны назначение методов, затем точные форматы запросов и ответов. @@ -216,7 +216,7 @@ - `clientKey` - `blockchainSizeLimitBytes` -После этого принимающий сервер может локально создать записи в `solana_users` и `blockchain_state`, а затем уже докачивать блоки через `GetBlockchainBlock`. +После этого принимающий сервер может локально создать runtime-проекцию пользователя и запись в `blockchain_state`, а затем уже докачивать блоки через `GetBlockchainBlock`. Этот запрос доступен без авторизации и предназначен именно для server-to-server sync. diff --git a/docs/API/09_Operations_Index.md b/docs/API/09_Operations_Index.md index 8eb08bfd..2ace872f 100644 --- a/docs/API/09_Operations_Index.md +++ b/docs/API/09_Operations_Index.md @@ -12,7 +12,6 @@ | Операция | Раздел документации | Кратко | | --- | --- | --- | -| `AddUser` | `01_User_Registration_API.md` | отключено (`410 / ADD_USER_DISABLED`) | | `GetUser` | `01_User_Registration_API.md` | чтение/проверка пользователя + server-состояние его блокчейна | | `SearchUsers` | `01_User_Registration_API.md` | поиск логинов по префиксу | | `TestGetFreeAvatarQuota` | `14_Test_Free_Avatar_Upload_API.md` | временный тестовый просмотр остатка бесплатных загрузок аватара | diff --git a/docs/Blockchain/sync-between-servers.md b/docs/Blockchain/sync-between-servers.md index d4413ed8..07d831b5 100644 --- a/docs/Blockchain/sync-between-servers.md +++ b/docs/Blockchain/sync-between-servers.md @@ -60,7 +60,7 @@ - `ListBlockchainHeads` — список heads всех локальных цепочек партнёра; - `GetBlockchainBlock` — чтение одного конкретного блока партнёра; -- `GetSyncUserProfile` — минимальный профиль пользователя для локального создания `solana_users + blockchain_state` без обращения в Solana RPC. +- `GetSyncUserProfile` — минимальный профиль пользователя для локального создания runtime-проекции пользователя и `blockchain_state` без обращения в Solana RPC. ### 4.3 Как сейчас работает periodic sync @@ -73,7 +73,7 @@ - локальное состояние; 3. если локальная цепочка слабее, сервер по одному блоку вызывает `GetBlockchainBlock`; 4. каждый скачанный блок локально применяется через существующий `AddBlock`; -5. если у сервера ещё нет локальной записи пользователя/цепочки, перед этим подготавливается локальный `solana_users + blockchain_state`. +5. если у сервера ещё нет локальной записи пользователя/цепочки, перед этим подготавливается локальная runtime-проекция пользователя и `blockchain_state`. 6. если во время replay обнаруживается рассинхрон или на одинаковой высоте удалённая цепочка сильнее, запускается полный resync: - цепочка помечается in-memory как `resync in progress`; - создаётся marker-file в `data/`; @@ -110,7 +110,7 @@ Full resync запускается только тогда, когда: Важно: - full resync не делает умный rollback по одному блоку; -- full resync не трогает DM-таблицы и `solana_users`; +- full resync не трогает DM-таблицы и current users слой; - висячие cross-chain ссылки считаются допустимым поведением системы. ### 4.5 Как работает обычный `AddBlock` и его recovery @@ -150,7 +150,7 @@ Full resync запускается только тогда, когда: - из `blockchainName` извлекался `login`; - сервер вызывал import пользователя из Solana PDA; -- по данным PDA локально создавались `solana_users + blockchain_state`. +- по данным PDA локально создавались runtime-проекция пользователя и `blockchain_state`. На практике это упёрлось в ограничение внешнего Solana RPC: при чистом старте и массовой подтяжке чужих цепочек сервер мог получать `HTTP 429`. @@ -159,7 +159,7 @@ Full resync запускается только тогда, когда: - настройка `sync.importUserProfileFromPartner.enabled=true` - в этом режиме сервер **не ходит в Solana RPC** для создания локальной цепочки во время sync; - вместо этого он запрашивает у сервера-партнёра `GetSyncUserProfile` и создаёт локальную запись по данным партнёра. -- если локальный `solana_users` уже существует, sync восстанавливает только `blockchain_state` и не трогает identity-слой. +- если локальная runtime-проекция пользователя уже существует, sync восстанавливает только `blockchain_state` и не трогает user-layer. Это временная практическая заплатка, чтобы clean-start sync не зависел от rate limit внешнего Solana endpoint. diff --git a/docs/Personal_Messages/Протокол_DM_v1.md b/docs/Personal_Messages/Протокол_DM_v1.md index 84328880..6afe722e 100644 --- a/docs/Personal_Messages/Протокол_DM_v1.md +++ b/docs/Personal_Messages/Протокол_DM_v1.md @@ -103,7 +103,7 @@ Для DM-проверки сервер использует: -- локальную `solana_users` как кэш; +- локальную runtime-проекцию пользователей как кэш; - Solana PDA как источник истины по `clientKey` и `access_servers`. Если нужного пользователя нет локально, сервер обязан попытаться lazy-import из Solana PDA: diff --git a/docs/libs/shine-server-bd/DOC.md b/docs/libs/shine-server-bd/DOC.md index b08de246..ad2c2483 100644 --- a/docs/libs/shine-server-bd/DOC.md +++ b/docs/libs/shine-server-bd/DOC.md @@ -9,8 +9,4 @@ shine.db.DatabaseInitializer — проверяет наличие `db_schema_ve shine.db.entities.* — POJO-модели строк таблиц (без логики, только поля/геттеры/сеттеры + иногда удобные методы вроде getClientKeyByte()). -shine.db.dao.* — DAO по таблицам: ActiveSessionsDAO, CurrentUsersDAO, UserParamsDAO, IpGeoCacheDAO, BlockchainStateDAO, BlocksDAO; плюс “сервисные” DAO: - -UserCreateDAO — атомарная регистрация пользователя в транзакции (BEGIN IMMEDIATE + rollback/commit). -// Временное runtime-решение, позволяющее регистрировать новых пользователей -// атомарно и добавляющее запись в runtime-таблицы сервера. +shine.db.dao.* — DAO по таблицам: ActiveSessionsDAO, CurrentUsersDAO, UserParamsDAO, IpGeoCacheDAO, BlockchainStateDAO, BlocksDAO, SignedMessagesDAO; плюс сервисные DAO под recovery/resync. diff --git a/docs/libs/shine-server-protocol/doc.md b/docs/libs/shine-server-protocol/doc.md index 9156ecbb..3bb3562d 100644 --- a/docs/libs/shine-server-protocol/doc.md +++ b/docs/libs/shine-server-protocol/doc.md @@ -42,11 +42,11 @@ auth/ — авторизация и сессии blockchain/ — AddBlock -tempToTest/ — AddUser (временный, потом уйдёт в блокчейн-логику) +tempToTest/ — временные dev/test операции (`GetUser`, `SearchUsers`) ConnectionContext Состояние одного WebSocket-подключения (login, session, authStatus). ActiveConnectionsRegistry Глобальный реестр активных авторизованных соединений -(нужно для закрытия других сессий). \ No newline at end of file +(нужно для закрытия других сессий). diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index 6bc03eeb..f0ee6b7b 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -1037,46 +1037,15 @@ export class AuthService { } async registerUser(login, password) { - const cleanLogin = (login || '').trim(); - if (!cleanLogin) throw new Error('Введите логин'); - - const isFree = await this.ensureLoginFree(cleanLogin); - if (!isFree) throw new Error('Этот логин уже занят'); - - const keyBundle = await this.derivePasswordKeyBundle(cleanLogin, password); - const clientPair = keyBundle?.clientPair; - - const addResp = await this.ws.request('AddUser', { - login: cleanLogin, - blockchainName: `${cleanLogin}-${BCH_SUFFIX}`, - solanaKey: clientPair.publicKeyB64, - blockchainKey: keyBundle.blockchainPair.publicKeyB64, - clientKey: clientPair.publicKeyB64, - bchLimit: 1000000, - }); - if (addResp.status !== 200) throw opError('AddUser', addResp); - - const session = await this.createAuthSession(cleanLogin, keyBundle); - return { ...session, keyBundle }; + void login; + void password; + throw new Error('Серверная регистрация через AddUser удалена. Используйте регистрацию через Solana.'); } async registerUserWithKeyBundle(login, keyBundle) { - const cleanLogin = (login || '').trim(); - if (!cleanLogin) throw new Error('Введите логин'); - const clientPair = keyBundle?.clientPair; - - const addResp = await this.ws.request('AddUser', { - login: cleanLogin, - blockchainName: `${cleanLogin}-${BCH_SUFFIX}`, - solanaKey: clientPair.publicKeyB64, - blockchainKey: keyBundle.blockchainPair.publicKeyB64, - clientKey: clientPair.publicKeyB64, - bchLimit: 1000000, - }); - if (addResp.status !== 200) throw opError('AddUser', addResp); - - const session = await this.createAuthSession(cleanLogin, keyBundle); - return { ...session, keyBundle }; + void login; + void keyBundle; + throw new Error('Серверная регистрация через AddUser удалена. Используйте регистрацию через Solana.'); } async createSessionForExistingUser(login, password) { From be7f53a9ae3d44abd0566a31f5de3f33952aa309b7dfe60a96c0e1cae71b8da9 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 19:42:17 +0400 Subject: [PATCH 47/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20=D0=BC=D0=B5=D1=80=D1=82?= =?UTF-8?q?=D0=B2=D1=8B=D0=B9=20AddUser=20=D1=85=D0=B2=D0=BE=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/postgres/schema_v1.sql | 6 +-- VERSION.properties | 2 +- deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md | 2 +- docs/API/01_User_Registration_API.md | 48 +------------------ .../POSTGRES_RUNTIME_SCHEMA_V1.md | 3 +- shine-UI/js/services/auth-service.js | 12 ----- 6 files changed, 6 insertions(+), 67 deletions(-) diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 7a01264c..41d2352a 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -4,10 +4,8 @@ -- Назначение: -- - поднять пустую PostgreSQL БД сервера SHiNE с нуля; -- - включить таблицы модуля синхронизации Solana users; --- - включить runtime-таблицы сервера без legacy-таблиц старого runtime: --- * НЕ создаём solana_users --- * НЕ создаём direct_messages --- * основной runtime DM storage = signed_messages +-- - включить runtime-таблицы сервера без legacy-таблиц старого runtime; +-- - основной runtime DM storage = signed_messages -- -- Важно: -- - источник истины по пользователям: solana_user_pda_current; diff --git a/VERSION.properties b/VERSION.properties index e6f921ee..823357bc 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.336 +server.version=1.2.337 diff --git a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md index bb96d8f0..0735d5cb 100644 --- a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md +++ b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md @@ -53,7 +53,7 @@ psql \ - ставит `schema_version = 1`; - создаёт таблицы sync-модуля Solana users; - создаёт server runtime tables; -- не создаёт legacy SQLite-таблицы `solana_users` и `direct_messages`; +- не создаёт удалённые legacy-таблицы старого runtime для пользователей и DM; - использует `signed_messages` как единственную таблицу серверных DM. ## Как поднять PostgreSQL в Docker diff --git a/docs/API/01_User_Registration_API.md b/docs/API/01_User_Registration_API.md index 16959751..dcd086de 100644 --- a/docs/API/01_User_Registration_API.md +++ b/docs/API/01_User_Registration_API.md @@ -7,7 +7,7 @@ - `GetUser` — временная серверная проверка существования пользователя и чтение его базовых данных; - `SearchUsers` — dev/test поиск логинов по префиксу. -Регистрация выполняется только через Solana. Старый серверный `AddUser` оставлен лишь как legacy-ответ `410 / ADD_USER_DISABLED` для старых клиентов и больше не считается частью актуального flow. +Регистрация выполняется только через Solana. ## Статус документа @@ -15,52 +15,6 @@ Текущая регистрация пользователя и текущая проверка, существует пользователь или нет, пока реализованы как серверные dev/test операции. В будущем и регистрация, и проверка identity должны идти напрямую через Solana. ---- - -## Legacy-операция `AddUser` - -### Назначение - -Операция удалена из текущего клиентского flow. Сервер сохраняет только совместимый ответ для клиентов старых версий. - -### Запрос - -```json -{ - "op": "AddUser", - "requestId": "reg-001", - "payload": { - "login": "anya", - "blockchainName": "anya-001", - "solanaKey": "BASE64_32_PUBLIC_KEY", - "blockchainKey": "BASE64_32_PUBLIC_KEY", - "clientKey": "BASE64_32_PUBLIC_KEY", - "bchLimit": 1000000 - } -} -``` - -### Пример ответа - -```json -{ - "op": "AddUser", - "requestId": "reg-001", - "status": 410, - "ok": false, - "error": "ADD_USER_DISABLED", - "message": "Серверная регистрация AddUser отключена. Используйте регистрацию через Solana.", - "payload": { - } -} -``` - -### Специфические коды ошибок `AddUser` - -- `410 / ADD_USER_DISABLED` — серверная регистрация отключена, используйте Solana-first flow. - ---- - ## 1. Операция `GetUser` ### Назначение diff --git a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md index b6cb1641..1f7e787a 100644 --- a/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md +++ b/docs/libs/shine-server-bd/POSTGRES_RUNTIME_SCHEMA_V1.md @@ -12,8 +12,7 @@ ## Ключевые решения - Источник истины по пользователям: `solana_user_pda_current`. -- Legacy-таблица `solana_users` в новой схеме не создаётся. -- Legacy-таблица `direct_messages` в новой схеме не создаётся. +- Legacy-таблицы старого runtime для пользователей и личных сообщений в новой схеме не создаются. - Основная таблица серверных личных сообщений: `signed_messages`. - Таблица `blockchain_state` сохраняется как runtime-state таблица сервера: она не является identity-слоем и не мигрируется как legacy SQLite data. diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index f0ee6b7b..cb73438c 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -1036,18 +1036,6 @@ export class AuthService { }; } - async registerUser(login, password) { - void login; - void password; - throw new Error('Серверная регистрация через AddUser удалена. Используйте регистрацию через Solana.'); - } - - async registerUserWithKeyBundle(login, keyBundle) { - void login; - void keyBundle; - throw new Error('Серверная регистрация через AddUser удалена. Используйте регистрацию через Solana.'); - } - async createSessionForExistingUser(login, password) { const cleanLogin = (login || '').trim(); if (!cleanLogin) throw new Error('Введите логин'); From df4f9b3f8e0acf64b191d150cdc741644ede57081b08b30de9d4f4da8bd3b4e5 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 19:57:27 +0400 Subject: [PATCH 48/83] =?UTF-8?q?=D0=94=D0=B5=D0=BF=D0=BB=D0=BE=D0=B9:=20?= =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20root-owned=20app.log=20?= =?UTF-8?q?=D0=B8=D0=B7=20systemd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- deploy/scripts/deploy_server.sh | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 823357bc..2dbb80e7 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.354 -server.version=1.2.337 +server.version=1.2.338 diff --git a/deploy/scripts/deploy_server.sh b/deploy/scripts/deploy_server.sh index e3647e03..f34dba41 100755 --- a/deploy/scripts/deploy_server.sh +++ b/deploy/scripts/deploy_server.sh @@ -57,8 +57,6 @@ WorkingDirectory=$REMOTE_SERVER_DIR ExecStart=/usr/bin/java -Dserver.port=$SERVER_PORT -jar $REMOTE_SERVER_DIR/shine-server.jar Restart=always RestartSec=3 -StandardOutput=append:$REMOTE_LOGS_DIR/app.log -StandardError=append:$REMOTE_LOGS_DIR/app.log [Install] WantedBy=multi-user.target @@ -72,7 +70,6 @@ ssh "$REMOTE_HOST" "set -euo pipefail; \ sudo mv -f '/tmp/$REMOTE_SERVICE_NAME.service' '/etc/systemd/system/$REMOTE_SERVICE_NAME.service'; \ sudo chown root:root '/etc/systemd/system/$REMOTE_SERVICE_NAME.service'; \ sudo chown -R player:player '$REMOTE_SERVER_DIR'; \ - touch '$REMOTE_LOGS_DIR/app.log'; \ sudo systemctl daemon-reload; \ sudo systemctl enable '$REMOTE_SERVICE_NAME'; \ sudo systemctl restart '$REMOTE_SERVICE_NAME'; \ From d2ff277b16c86419cd648038311e1163e4fa08c16b613454b31780d8d5b525f6 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 27 Jul 2026 20:29:39 +0400 Subject: [PATCH 49/83] =?UTF-8?q?=D0=94=D0=B5=D0=BF=D0=BB=D0=BE=D0=B9:=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20VAPID=20over?= =?UTF-8?q?ride=20=D0=B4=D0=BB=D1=8F=20server2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- deploy/scripts/deploy_ui.sh | 7 ++++++- deploy/scripts/production_server2_ui.sh | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 2dbb80e7..0613b3a3 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.354 +client.version=1.2.355 server.version=1.2.338 diff --git a/deploy/scripts/deploy_ui.sh b/deploy/scripts/deploy_ui.sh index f1924068..279e2605 100755 --- a/deploy/scripts/deploy_ui.sh +++ b/deploy/scripts/deploy_ui.sh @@ -15,6 +15,7 @@ DEPLOY_SERVER_LOGIN="${DEPLOY_SERVER_LOGIN:-}" DEPLOY_SERVER_ADDRESS="${DEPLOY_SERVER_ADDRESS:-}" DEPLOY_SOLANA_CLUSTER="${DEPLOY_SOLANA_CLUSTER:-}" DEPLOY_SOLANA_ENDPOINT="${DEPLOY_SOLANA_ENDPOINT:-}" +DEPLOY_WEBPUSH_VAPID_PUBLIC="${DEPLOY_WEBPUSH_VAPID_PUBLIC:-}" REQUIRE_BACKUP="${REQUIRE_BACKUP:-0}" BACKUP_DIR="${BACKUP_DIR:-$ROOT_DIR/deploy/backup/archive}" VERSION_FILE="$ROOT_DIR/VERSION.properties" @@ -72,7 +73,7 @@ if [[ -f "$DEPLOY_CONFIG_FILE" ]]; then if [[ -n "$DEPLOY_SOLANA_CLUSTER_NORMALIZED" ]]; then perl -0pi -e "s/export const defaultSolanaCluster = '.*?';/export const defaultSolanaCluster = '$DEPLOY_SOLANA_CLUSTER_NORMALIZED';/s" "$DEPLOY_CONFIG_FILE" fi - if [[ -n "$DEPLOY_SOLANA_ENDPOINT" ]]; then +if [[ -n "$DEPLOY_SOLANA_ENDPOINT" ]]; then perl -0pi -e "s|export const defaultSolanaEndpoint = '.*?';|export const defaultSolanaEndpoint = '$DEPLOY_SOLANA_ENDPOINT';|s" "$DEPLOY_CONFIG_FILE" fi fi @@ -85,6 +86,10 @@ fi perl -0pi -e 's/window\.__SHINE_BUILD_HASH__\s*=\s*'\''[^'\'']*'\'';/window.__SHINE_BUILD_HASH__ = '\''$ENV{BUILD_VERSION}'\'';/' "$INDEX_FILE" perl -0pi -e 's/window\.__SHINE_CLIENT_VERSION__\s*=\s*'\''[^'\'']*'\'';/window.__SHINE_CLIENT_VERSION__ = '\''$ENV{CLIENT_VERSION}'\'';/' "$INDEX_FILE" +if [[ -n "$DEPLOY_WEBPUSH_VAPID_PUBLIC" ]]; then + export DEPLOY_WEBPUSH_VAPID_PUBLIC + perl -0pi -e 's/window\.__SHINE_WEBPUSH_VAPID_PUBLIC_KEY__\s*=\s*'\''[^'\'']*'\'';/window.__SHINE_WEBPUSH_VAPID_PUBLIC_KEY__ = '\''$ENV{DEPLOY_WEBPUSH_VAPID_PUBLIC}'\'';/' "$INDEX_FILE" +fi echo "==> Checking SSH connectivity to $REMOTE_HOST" ssh -o BatchMode=yes -o ConnectTimeout=10 "$REMOTE_HOST" "echo SSH OK" >/dev/null diff --git a/deploy/scripts/production_server2_ui.sh b/deploy/scripts/production_server2_ui.sh index aa69af7f..2ab84ea6 100755 --- a/deploy/scripts/production_server2_ui.sh +++ b/deploy/scripts/production_server2_ui.sh @@ -8,7 +8,7 @@ EXPECTED_CADDY_SITE="server2.shineup.me" \ DEPLOY_SERVER_LOGIN="server2shineupme" \ DEPLOY_SERVER_ADDRESS="server2.shineup.me" \ DEPLOY_SOLANA_CLUSTER="mainnet" \ -DEPLOY_SOLANA_ENDPOINT="https://solana-rpc.publicnode.com" \ +DEPLOY_SOLANA_ENDPOINT="https://mainnet.helius-rpc.com/?api-key=5e1bfa84-b376-4aa6-8a7b-4a4250181622" \ TARGET_URL="https://server2.shineup.me" \ REQUIRE_BACKUP="1" \ bash "$(dirname "$0")/deploy_ui.sh" From 578f5cad4a6259bf0e653e25f0a4dfedbfd60252f9ba6f7a1c06598c06aa2bce Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Tue, 28 Jul 2026 15:32:43 +0400 Subject: [PATCH 50/83] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20deploy=20=D0=B8=20PostgreSQL=20=D1=81?= =?UTF-8?q?=D1=85=D0=B5=D0=BC=D1=8B=20=D0=BD=D0=B0=20=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/shine/db/DatabaseInitializer.java | 29 ++- .../main/resources/postgres/migration_v2.sql | 178 +++++++++++++++ .../src/main/resources/postgres/schema_v1.sql | 171 ++++++++++++++- .../postgres/PostgresStorageRepository.java | 202 ++++++++++++++++++ VERSION.properties | 2 +- deploy/POSTGRESQL_SERVERS_STANDARD.md | 30 ++- deploy/PRODUCTION_SERVERS.md | 29 +++ deploy/README.md | 8 + deploy/SETUP_SERVER_FROM_ZERO.md | 22 +- deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md | 22 +- deploy/TEST_SERVERS.md | 36 +++- deploy/postgres/.env.example | 2 +- deploy/postgres/docker-compose.yml.example | 3 +- deploy/scripts/test_t1_ui.sh | 2 +- deploy/scripts/test_t2_ui.sh | 2 +- deploy/scripts/test_t3_ui.sh | 2 +- deploy/scripts/test_t4_ui.sh | 2 +- .../Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md | 3 + 18 files changed, 699 insertions(+), 46 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v2.sql diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index 62d50990..85800e61 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -18,7 +18,9 @@ public final class DatabaseInitializer { public static final String DB_SCHEMA_VERSION_TABLE = "db_schema_version"; public static final int SCHEMA_VERSION_1 = 1; + public static final int SCHEMA_VERSION_2 = 2; public static final String POSTGRES_SCHEMA_RESOURCE = "postgres/schema_v1.sql"; + public static final String POSTGRES_MIGRATION_V2_RESOURCE = "postgres/migration_v2.sql"; private DatabaseInitializer() {} @@ -73,10 +75,14 @@ public final class DatabaseInitializer { } try (Connection conn = openConnection(jdbcUrl, user, password)) { - if (postgresSchemaVersionTableExists(conn)) { + if (!postgresSchemaVersionTableExists(conn)) { + runSqlScript(conn, POSTGRES_SCHEMA_RESOURCE); return; } - runPostgresSchemaScript(conn); + int currentVersion = readCurrentSchemaVersion(conn); + if (currentVersion < SCHEMA_VERSION_2) { + runSqlScript(conn, POSTGRES_MIGRATION_V2_RESOURCE); + } } } @@ -104,8 +110,23 @@ public final class DatabaseInitializer { } } - private static void runPostgresSchemaScript(Connection conn) throws SQLException { - String sqlScript = loadClasspathResource(POSTGRES_SCHEMA_RESOURCE); + private static int readCurrentSchemaVersion(Connection conn) throws SQLException { + String sql = """ + SELECT schema_version + FROM db_schema_version + WHERE id = 1 + """; + try (Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery(sql)) { + if (!rs.next()) { + return SCHEMA_VERSION_1; + } + return rs.getInt(1); + } + } + + private static void runSqlScript(Connection conn, String resourcePath) throws SQLException { + String sqlScript = loadClasspathResource(resourcePath); List<String> statements = splitSqlStatements(sqlScript); boolean previousAutoCommit = conn.getAutoCommit(); diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v2.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v2.sql new file mode 100644 index 00000000..172ea9f3 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v2.sql @@ -0,0 +1,178 @@ +BEGIN; + +CREATE TABLE IF NOT EXISTS user_access_servers_current ( + user_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, + server_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, + server_url TEXT NOT NULL, + server_client_key TEXT NOT NULL, + user_record_number INTEGER NOT NULL, + user_updated_at_ms BIGINT NOT NULL, + server_record_number INTEGER NOT NULL, + server_updated_at_ms BIGINT NOT NULL, + refreshed_at_ms BIGINT NOT NULL, + PRIMARY KEY (user_login, server_login) +); + +CREATE INDEX IF NOT EXISTS idx_user_access_servers_user + ON user_access_servers_current(user_login); + +CREATE INDEX IF NOT EXISTS idx_user_access_servers_server + ON user_access_servers_current(server_login); + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_user(p_user_login TEXT) +RETURNS VOID +LANGUAGE plpgsql +AS $$ +BEGIN + IF p_user_login IS NULL OR btrim(p_user_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(user_login) = LOWER(p_user_login); + + INSERT INTO user_access_servers_current ( + user_login, + server_login, + server_url, + server_client_key, + user_record_number, + user_updated_at_ms, + server_record_number, + server_updated_at_ms, + refreshed_at_ms + ) + SELECT + u.login, + s.login, + s.server_address, + s.client_key, + u.record_number, + u.updated_at_ms, + s.record_number, + s.updated_at_ms, + CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT) + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + JOIN solana_user_pda_current s + ON LOWER(s.login) = LOWER(btrim(access_server.login_value)) + AND s.is_server = TRUE + AND btrim(COALESCE(s.server_address, '')) <> '' + WHERE LOWER(u.login) = LOWER(p_user_login) + ON CONFLICT (user_login, server_login) DO UPDATE SET + server_url = EXCLUDED.server_url, + server_client_key = EXCLUDED.server_client_key, + user_record_number = EXCLUDED.user_record_number, + user_updated_at_ms = EXCLUDED.user_updated_at_ms, + server_record_number = EXCLUDED.server_record_number, + server_updated_at_ms = EXCLUDED.server_updated_at_ms, + refreshed_at_ms = EXCLUDED.refreshed_at_ms; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_server(p_server_login TEXT) +RETURNS VOID +LANGUAGE plpgsql +AS $$ +DECLARE + affected_user RECORD; +BEGIN + IF p_server_login IS NULL OR btrim(p_server_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(server_login) = LOWER(p_server_login); + + FOR affected_user IN + SELECT u.login + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + WHERE LOWER(btrim(access_server.login_value)) = LOWER(p_server_login) + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_all() +RETURNS VOID +LANGUAGE plpgsql +AS $$ +DECLARE + affected_user RECORD; +BEGIN + TRUNCATE TABLE user_access_servers_current; + + FOR affected_user IN + SELECT login + FROM solana_user_pda_current + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; +END; +$$; + +CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_row() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + IF TG_OP = 'DELETE' THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + RETURN OLD; + END IF; + + IF TG_OP = 'UPDATE' AND LOWER(OLD.login) <> LOWER(NEW.login) THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + END IF; + + PERFORM shine_refresh_user_access_servers_for_user(NEW.login); + PERFORM shine_refresh_user_access_servers_for_server(NEW.login); + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + TRUNCATE TABLE user_access_servers_current; + RETURN NULL; +END; +$$; + +DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_row ON solana_user_pda_current; +CREATE TRIGGER trg_refresh_user_access_servers_row +AFTER INSERT OR UPDATE OR DELETE ON solana_user_pda_current +FOR EACH ROW +EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_row(); + +DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_truncate ON solana_user_pda_current; +CREATE TRIGGER trg_refresh_user_access_servers_truncate +AFTER TRUNCATE ON solana_user_pda_current +FOR EACH STATEMENT +EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate(); + +SELECT shine_refresh_user_access_servers_all(); + +INSERT INTO db_schema_version (id, schema_version, updated_at_ms) +VALUES (1, 2, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +ON CONFLICT (id) DO UPDATE SET + schema_version = EXCLUDED.schema_version, + updated_at_ms = EXCLUDED.updated_at_ms; + +COMMIT; diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 41d2352a..ff882997 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -1,5 +1,5 @@ -- SHiNE PostgreSQL runtime schema v1 --- Дата: 2026-07-24 +-- Дата: 2026-07-28 -- -- Назначение: -- - поднять пустую PostgreSQL БД сервера SHiNE с нуля; @@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS db_schema_version ( ); INSERT INTO db_schema_version (id, schema_version, updated_at_ms) -VALUES (1, 1, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +VALUES (1, 2, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) ON CONFLICT (id) DO UPDATE SET schema_version = EXCLUDED.schema_version, updated_at_ms = EXCLUDED.updated_at_ms; @@ -109,6 +109,173 @@ CREATE TABLE IF NOT EXISTS solana_user_pda_current ( CREATE INDEX IF NOT EXISTS idx_user_pda_current_slot ON solana_user_pda_current(slot); +CREATE TABLE IF NOT EXISTS user_access_servers_current ( + user_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, + server_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, + server_url TEXT NOT NULL, + server_client_key TEXT NOT NULL, + user_record_number INTEGER NOT NULL, + user_updated_at_ms BIGINT NOT NULL, + server_record_number INTEGER NOT NULL, + server_updated_at_ms BIGINT NOT NULL, + refreshed_at_ms BIGINT NOT NULL, + PRIMARY KEY (user_login, server_login) +); + +CREATE INDEX IF NOT EXISTS idx_user_access_servers_user + ON user_access_servers_current(user_login); + +CREATE INDEX IF NOT EXISTS idx_user_access_servers_server + ON user_access_servers_current(server_login); + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_user(p_user_login TEXT) +RETURNS VOID +LANGUAGE plpgsql +AS $$ +BEGIN + IF p_user_login IS NULL OR btrim(p_user_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(user_login) = LOWER(p_user_login); + + INSERT INTO user_access_servers_current ( + user_login, + server_login, + server_url, + server_client_key, + user_record_number, + user_updated_at_ms, + server_record_number, + server_updated_at_ms, + refreshed_at_ms + ) + SELECT + u.login, + s.login, + s.server_address, + s.client_key, + u.record_number, + u.updated_at_ms, + s.record_number, + s.updated_at_ms, + CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT) + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + JOIN solana_user_pda_current s + ON LOWER(s.login) = LOWER(btrim(access_server.login_value)) + AND s.is_server = TRUE + AND btrim(COALESCE(s.server_address, '')) <> '' + WHERE LOWER(u.login) = LOWER(p_user_login) + ON CONFLICT (user_login, server_login) DO UPDATE SET + server_url = EXCLUDED.server_url, + server_client_key = EXCLUDED.server_client_key, + user_record_number = EXCLUDED.user_record_number, + user_updated_at_ms = EXCLUDED.user_updated_at_ms, + server_record_number = EXCLUDED.server_record_number, + server_updated_at_ms = EXCLUDED.server_updated_at_ms, + refreshed_at_ms = EXCLUDED.refreshed_at_ms; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_server(p_server_login TEXT) +RETURNS VOID +LANGUAGE plpgsql +AS $$ +DECLARE + affected_user RECORD; +BEGIN + IF p_server_login IS NULL OR btrim(p_server_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(server_login) = LOWER(p_server_login); + + FOR affected_user IN + SELECT u.login + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + WHERE LOWER(btrim(access_server.login_value)) = LOWER(p_server_login) + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; +END; +$$; + +CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_all() +RETURNS VOID +LANGUAGE plpgsql +AS $$ +DECLARE + affected_user RECORD; +BEGIN + TRUNCATE TABLE user_access_servers_current; + + FOR affected_user IN + SELECT login + FROM solana_user_pda_current + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; +END; +$$; + +CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_row() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + IF TG_OP = 'DELETE' THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + RETURN OLD; + END IF; + + IF TG_OP = 'UPDATE' AND LOWER(OLD.login) <> LOWER(NEW.login) THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + END IF; + + PERFORM shine_refresh_user_access_servers_for_user(NEW.login); + PERFORM shine_refresh_user_access_servers_for_server(NEW.login); + RETURN NEW; +END; +$$; + +CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + TRUNCATE TABLE user_access_servers_current; + RETURN NULL; +END; +$$; + +DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_row ON solana_user_pda_current; +CREATE TRIGGER trg_refresh_user_access_servers_row +AFTER INSERT OR UPDATE OR DELETE ON solana_user_pda_current +FOR EACH ROW +EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_row(); + +DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_truncate ON solana_user_pda_current; +CREATE TRIGGER trg_refresh_user_access_servers_truncate +AFTER TRUNCATE ON solana_user_pda_current +FOR EACH STATEMENT +EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate(); + CREATE TABLE IF NOT EXISTS solana_user_pda_history ( id BIGSERIAL PRIMARY KEY, tx_signature TEXT NOT NULL, diff --git a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java index 52a3e43b..cdbe7d27 100644 --- a/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java +++ b/SHiNE-server/shine-server-solana-users-sync/src/main/java/sync/storage/postgres/PostgresStorageRepository.java @@ -996,6 +996,208 @@ public final class PostgresStorageRepository "CREATE INDEX IF NOT EXISTS idx_user_pda_history_slot " + "ON solana_user_pda_history(slot)" ); + + statement.executeUpdate( + "CREATE TABLE IF NOT EXISTS user_access_servers_current (" + + "user_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, " + + "server_login TEXT NOT NULL REFERENCES solana_user_pda_current(login) ON DELETE CASCADE, " + + "server_url TEXT NOT NULL, " + + "server_client_key TEXT NOT NULL, " + + "user_record_number INTEGER NOT NULL, " + + "user_updated_at_ms BIGINT NOT NULL, " + + "server_record_number INTEGER NOT NULL, " + + "server_updated_at_ms BIGINT NOT NULL, " + + "refreshed_at_ms BIGINT NOT NULL, " + + "PRIMARY KEY (user_login, server_login)" + + ")" + ); + + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_user_access_servers_user " + + "ON user_access_servers_current(user_login)" + ); + statement.executeUpdate( + "CREATE INDEX IF NOT EXISTS idx_user_access_servers_server " + + "ON user_access_servers_current(server_login)" + ); + + statement.execute( + """ + CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_user(p_user_login TEXT) + RETURNS VOID + LANGUAGE plpgsql + AS $$ + BEGIN + IF p_user_login IS NULL OR btrim(p_user_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(user_login) = LOWER(p_user_login); + + INSERT INTO user_access_servers_current ( + user_login, + server_login, + server_url, + server_client_key, + user_record_number, + user_updated_at_ms, + server_record_number, + server_updated_at_ms, + refreshed_at_ms + ) + SELECT + u.login, + s.login, + s.server_address, + s.client_key, + u.record_number, + u.updated_at_ms, + s.record_number, + s.updated_at_ms, + CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT) + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + JOIN solana_user_pda_current s + ON LOWER(s.login) = LOWER(btrim(access_server.login_value)) + AND s.is_server = TRUE + AND btrim(COALESCE(s.server_address, '')) <> '' + WHERE LOWER(u.login) = LOWER(p_user_login) + ON CONFLICT (user_login, server_login) DO UPDATE SET + server_url = EXCLUDED.server_url, + server_client_key = EXCLUDED.server_client_key, + user_record_number = EXCLUDED.user_record_number, + user_updated_at_ms = EXCLUDED.user_updated_at_ms, + server_record_number = EXCLUDED.server_record_number, + server_updated_at_ms = EXCLUDED.server_updated_at_ms, + refreshed_at_ms = EXCLUDED.refreshed_at_ms; + END; + $$; + """ + ); + + statement.execute( + """ + CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_for_server(p_server_login TEXT) + RETURNS VOID + LANGUAGE plpgsql + AS $$ + DECLARE + affected_user RECORD; + BEGIN + IF p_server_login IS NULL OR btrim(p_server_login) = '' THEN + RETURN; + END IF; + + DELETE FROM user_access_servers_current + WHERE LOWER(server_login) = LOWER(p_server_login); + + FOR affected_user IN + SELECT u.login + FROM solana_user_pda_current u + CROSS JOIN LATERAL jsonb_array_elements_text( + CASE + WHEN btrim(COALESCE(u.access_servers_json, '')) = '' THEN '[]'::jsonb + ELSE u.access_servers_json::jsonb + END + ) AS access_server(login_value) + WHERE LOWER(btrim(access_server.login_value)) = LOWER(p_server_login) + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; + END; + $$; + """ + ); + + statement.execute( + """ + CREATE OR REPLACE FUNCTION shine_refresh_user_access_servers_all() + RETURNS VOID + LANGUAGE plpgsql + AS $$ + DECLARE + affected_user RECORD; + BEGIN + TRUNCATE TABLE user_access_servers_current; + + FOR affected_user IN + SELECT login + FROM solana_user_pda_current + LOOP + PERFORM shine_refresh_user_access_servers_for_user(affected_user.login); + END LOOP; + END; + $$; + """ + ); + + statement.execute( + """ + CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_row() + RETURNS TRIGGER + LANGUAGE plpgsql + AS $$ + BEGIN + IF TG_OP = 'DELETE' THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + RETURN OLD; + END IF; + + IF TG_OP = 'UPDATE' AND LOWER(OLD.login) <> LOWER(NEW.login) THEN + PERFORM shine_refresh_user_access_servers_for_user(OLD.login); + PERFORM shine_refresh_user_access_servers_for_server(OLD.login); + END IF; + + PERFORM shine_refresh_user_access_servers_for_user(NEW.login); + PERFORM shine_refresh_user_access_servers_for_server(NEW.login); + RETURN NEW; + END; + $$; + """ + ); + + statement.execute( + """ + CREATE OR REPLACE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate() + RETURNS TRIGGER + LANGUAGE plpgsql + AS $$ + BEGIN + TRUNCATE TABLE user_access_servers_current; + RETURN NULL; + END; + $$; + """ + ); + + statement.executeUpdate( + "DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_row ON solana_user_pda_current" + ); + statement.executeUpdate( + "CREATE TRIGGER trg_refresh_user_access_servers_row " + + "AFTER INSERT OR UPDATE OR DELETE ON solana_user_pda_current " + + "FOR EACH ROW " + + "EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_row()" + ); + + statement.executeUpdate( + "DROP TRIGGER IF EXISTS trg_refresh_user_access_servers_truncate ON solana_user_pda_current" + ); + statement.executeUpdate( + "CREATE TRIGGER trg_refresh_user_access_servers_truncate " + + "AFTER TRUNCATE ON solana_user_pda_current " + + "FOR EACH STATEMENT " + + "EXECUTE FUNCTION trg_refresh_user_access_servers_from_user_pda_truncate()" + ); + + statement.execute("SELECT shine_refresh_user_access_servers_all()"); } } diff --git a/VERSION.properties b/VERSION.properties index 0613b3a3..5fc34f78 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.355 -server.version=1.2.338 +server.version=1.2.339 diff --git a/deploy/POSTGRESQL_SERVERS_STANDARD.md b/deploy/POSTGRESQL_SERVERS_STANDARD.md index 7fbfc28b..911abef0 100644 --- a/deploy/POSTGRESQL_SERVERS_STANDARD.md +++ b/deploy/POSTGRESQL_SERVERS_STANDARD.md @@ -2,7 +2,11 @@ Этот документ фиксирует целевой стандарт PostgreSQL, который должен использоваться на всех серверных контурах SHiNE после ухода от SQLite. -Пока это не текущий production-state, а согласованная целевая схема, под которую можно писать миграции, deploy-скрипты и server-конфиги. +Важно: + +- целевой стандарт для SHiNE: `PostgreSQL 18.x`; +- текущий факт на production `shineup.me` и `server2.shineup.me` на дату `2026-07-28`: `PostgreSQL 18.4`; +- текущий факт на test/devnet `t1` / `t2` / `t3` / `t4` на дату `2026-07-28`: `PostgreSQL 18.4`. ## Цель @@ -71,19 +75,19 @@ PostgreSQL не должна быть доступна из интернета. Production: ```text -/home/player/SHiNE/postgres/shine_server_db +/home/player/SHiNE/postgres/data ``` Test/devnet: ```text -/home/player/tX/postgres/shine_server_db +/home/player/tX/postgres/data ``` Если на одном сервере появится несколько баз SHiNE-сервисов, раскладывать их по отдельным каталогам: ```text -/home/player/SHiNE/postgres/shine_server_db +/home/player/SHiNE/postgres/data /home/player/SHiNE/postgres/analytics_db /home/player/SHiNE/postgres/other_service_db ``` @@ -142,11 +146,10 @@ services: POSTGRES_DB: ${POSTGRES_SUPERUSER_DB} POSTGRES_USER: ${POSTGRES_SUPERUSER} POSTGRES_PASSWORD: ${POSTGRES_SUPERUSER_PASSWORD} - PGDATA: /var/lib/postgresql/data/pgdata ports: - "127.0.0.1:5432:5432" volumes: - - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data + - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql - ./initdb:/docker-entrypoint-initdb.d:ro healthcheck: test: @@ -167,15 +170,21 @@ POSTGRES_SUPERUSER_PASSWORD=change_me SHINE_APP_DB=shine_server_db SHINE_APP_USER=shine_server SHINE_APP_PASSWORD=change_me_too -SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/shine_server_db +SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/data ``` Для test/devnet путь адаптировать под конкретный контур: ```dotenv -SHINE_POSTGRES_DATA_DIR=/home/player/t2/postgres/shine_server_db +SHINE_POSTGRES_DATA_DIR=/home/player/t2/postgres/data ``` +Важно для `postgres:18+`: + +- bind-mount нужно делать на `/var/lib/postgresql`, а не на `/var/lib/postgresql/data`; +- если смонтировать старый путь `/var/lib/postgresql/data`, контейнер `postgres:18` может уйти в restart-loop ещё до инициализации БД; +- после первого старта PostgreSQL сам создаст внутри host-каталога структуру вида `18/docker`. + ## Подключение приложения SHiNE server должен подключаться именно к: @@ -203,11 +212,12 @@ SHiNE server должен подключаться именно к: ## Для будущей миграции SHiNE -При переводе SHiNE server с SQLite на PostgreSQL считать обязательным: +При переводе нового серверного контура SHiNE с SQLite на PostgreSQL считать обязательным: - сначала поднять PostgreSQL по этому стандарту; - затем добавить серверные конфиги подключения; - затем прогнать миграции схемы; - только потом переключать runtime приложения на PostgreSQL. -До фактического rollout на конкретный сервер эта БД может ещё отсутствовать. Этот документ описывает не текущее наличие БД, а обязательный целевой стандарт для всех серверов SHiNE. +Для новых серверов этот документ использовать как обязательный шаблон. +На `2026-07-28` и production, и test/devnet контуры SHiNE уже работают на `PostgreSQL 18.4`. diff --git a/deploy/PRODUCTION_SERVERS.md b/deploy/PRODUCTION_SERVERS.md index 0d9b82d9..f9152cc9 100644 --- a/deploy/PRODUCTION_SERVERS.md +++ b/deploy/PRODUCTION_SERVERS.md @@ -2,6 +2,13 @@ Production-контуров два. В документах и скриптах использовать домены, а не IP: физический VPS можно заменить без изменения deploy-логики. +Текущее фактическое состояние на `2026-07-28`: + +- `shineup.me` и `server2.shineup.me` оба уже переведены на `PostgreSQL 18.4`; +- оба production используют локальный Docker-контейнер `shine-postgres`; +- оба production работают без `SQLite`; +- оба production используют Helius mainnet RPC/WS для Solana users sync и runtime Solana RPC. + ## Основной production - Домен: `shineup.me` @@ -16,6 +23,17 @@ Production-контуров два. В документах и скриптах - Caddy site: `shineup.me` - WebSocket: `/ws` -> `127.0.0.1:7070` - Solana cluster: `mainnet-beta` +- Solana RPC/WS: Helius mainnet +- Runtime DB: PostgreSQL в Docker +- PostgreSQL container: `shine-postgres` +- PostgreSQL image: `postgres:18` +- PostgreSQL engine version на `2026-07-28`: `18.4` +- PostgreSQL data dir: `/home/player/SHiNE/postgres` +- PostgreSQL app DB: `shine_main_db` +- PostgreSQL app user: `shine_main` +- Web push: отдельный production VAPID key для `shineup.me` +- TURN для звонков: `turn1.shineup.me`, `turn2.shineup.me` +- SQLite runtime больше не используется Deploy: @@ -38,6 +56,17 @@ bash deploy/scripts/production_shineupme_ui.sh - Caddy site: `server2.shineup.me` - WebSocket: `/ws` -> `127.0.0.1:7070` - Solana cluster: `mainnet-beta` +- Solana RPC/WS: Helius mainnet +- Runtime DB: PostgreSQL в Docker +- PostgreSQL container: `shine-postgres` +- PostgreSQL image: `postgres:18` +- PostgreSQL engine version на `2026-07-28`: `18.4` +- PostgreSQL data dir: `/home/player/SHiNE/postgres` +- PostgreSQL app DB: `shine_server2_db` +- PostgreSQL app user: `shine_server2` +- Web push: отдельный production VAPID key для `server2.shineup.me` +- TURN для звонков: `turn1.shineup.me`, `turn3.shineup.me` +- SQLite runtime больше не используется Deploy: diff --git a/deploy/README.md b/deploy/README.md index 78ef3dd7..19bd61ea 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -15,6 +15,14 @@ - Второй production: `server2.shineup.me`. - Test/devnet стенд: `t1.shineup.me`, `t2.shineup.me`, `t3.shineup.me`, `t4.shineup.me`. +Краткое текущее состояние на `2026-07-28`: + +- оба production уже на `PostgreSQL 18.4` в отдельных Docker-контейнерах `shine-postgres`; +- весь test/devnet стенд `t1`-`t4` тоже уже на `PostgreSQL 18.4`; +- тестовые контуры используют общий Docker-контейнер `shine-test-postgres`; +- production использует Helius mainnet, test/devnet использует Helius devnet; +- актуальные подробности по всем шести серверам смотреть в `PRODUCTION_SERVERS.md` и `TEST_SERVERS.md`. + ## Основные документы - `PRODUCTION_SERVERS.md` — production-контуры. diff --git a/deploy/SETUP_SERVER_FROM_ZERO.md b/deploy/SETUP_SERVER_FROM_ZERO.md index 7e20b2f7..22dd7c13 100644 --- a/deploy/SETUP_SERVER_FROM_ZERO.md +++ b/deploy/SETUP_SERVER_FROM_ZERO.md @@ -41,16 +41,19 @@ mkdir -p /home/player/tX/UI Каждый сервер должен иметь локальный внешний конфиг в рабочей директории сервиса. +Актуальные production-значения для `shineup.me` и `server2.shineup.me` смотреть в `deploy/PRODUCTION_SERVERS.md`. +Ниже именно шаблон для нового контура, а не снимок текущего production. + Production пример: ```properties server.port=7070 -server.SHiNE.login=shineupme -db.url=jdbc:postgresql://127.0.0.1:5432/shine_server_db -db.user=shine_server +server.SHiNE.login=<SERVER_LOGIN> +db.url=jdbc:postgresql://127.0.0.1:5432/<APP_DB> +db.user=<APP_DB_USER> db.password=CHANGE_ME server.ui.indexPath=/home/player/SHiNE/shine-ui/index.html -server.info.url=https://shineup.me +server.info.url=https://<DOMAIN> server.info.origin=production solana.cluster=mainnet-beta ``` @@ -59,17 +62,20 @@ Test/devnet пример: ```properties server.port=7102 -server.SHiNE.login=server_t2 -db.url=jdbc:postgresql://127.0.0.1:5432/shine_t2_db -db.user=shine_t2 +server.SHiNE.login=<SERVER_LOGIN> +db.url=jdbc:postgresql://127.0.0.1:5432/<APP_DB> +db.user=<APP_DB_USER> db.password=CHANGE_ME server.ui.indexPath=/home/player/t2/UI/index.html server.info.url=https://t2.shineup.me server.info.origin=devnet solana.cluster=devnet -solana.rpcUrl=https://api.devnet.solana.com +solana.rpcUrl=https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4 ``` +Рекомендуемый образ PostgreSQL для новых контуров: `postgres:18`. +Для `postgres:18+` bind-mount нужно делать на `/var/lib/postgresql`, а не на старый путь `/var/lib/postgresql/data`. + Если указан `db.url` и в выбранной БД ещё нет таблицы `db_schema_version`, сервер сам создаст runtime-схему PostgreSQL при первом старте. diff --git a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md index 0735d5cb..b1f121ac 100644 --- a/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md +++ b/deploy/SOLANA_USERS_SYNC_SERVER_SETUP.md @@ -10,17 +10,23 @@ - `solana_sync_state` - `solana_sync_tx_history` - `solana_user_pda_current` + - `user_access_servers_current` - `solana_user_pda_history` - источник истины по пользовательским PDA: `solana_user_pda_current`. +- `user_access_servers_current` — это вторичная локальная проекция для быстрого роутинга DM по access servers; + она автоматически пересобирается из `solana_user_pda_current`, включая backfill для уже существующих пользователей. ## Что должно быть настроено в `application.properties` +Для текущих production-значений `shineup.me` и `server2.shineup.me` смотреть `deploy/PRODUCTION_SERVERS.md`. +Ниже универсальный пример для нового контура. + ```properties solana.users.sync.enabled=true -solana.users.sync.rpcUrl=https://api.devnet.solana.com -solana.users.sync.wsUrl=wss://api.devnet.solana.com/ -solana.users.sync.databaseUrl=jdbc:postgresql://127.0.0.1:5432/shine_server_db -solana.users.sync.dbUser=shine_server +solana.users.sync.rpcUrl=https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4 +solana.users.sync.wsUrl=wss://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4 +solana.users.sync.databaseUrl=jdbc:postgresql://127.0.0.1:5432/<APP_DB> +solana.users.sync.dbUser=<APP_DB_USER> solana.users.sync.dbPassword=CHANGE_ME solana.users.sync.pollIntervalSeconds=300 ``` @@ -43,16 +49,17 @@ SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql ```bash psql \ - "postgresql://shine_server:CHANGE_ME@127.0.0.1:5432/shine_server_db" \ + "postgresql://<APP_DB_USER>:CHANGE_ME@127.0.0.1:5432/<APP_DB>" \ -f SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql ``` Скрипт: - создаёт таблицу версии схемы `db_schema_version`; -- ставит `schema_version = 1`; +- ставит `schema_version = 2`; - создаёт таблицы sync-модуля Solana users; - создаёт server runtime tables; +- создаёт триггеры и функции автоматической актуализации `user_access_servers_current`; - не создаёт удалённые legacy-таблицы старого runtime для пользователей и DM; - использует `signed_messages` как единственную таблицу серверных DM. @@ -75,6 +82,9 @@ cd /home/player/SHiNE/postgres docker compose up -d ``` +Шаблон `deploy/postgres/docker-compose.yml.example` рассчитан на `postgres:18`. +Для `postgres:18+` он монтирует host-каталог в `/var/lib/postgresql`, это важно для корректного старта контейнера. + После старта контейнера: ```bash diff --git a/deploy/TEST_SERVERS.md b/deploy/TEST_SERVERS.md index 95af47d1..164f737c 100644 --- a/deploy/TEST_SERVERS.md +++ b/deploy/TEST_SERVERS.md @@ -9,21 +9,34 @@ Это не production. Все deploy-цели задаются через домены. +Текущее фактическое состояние на `2026-07-28`: + +- все четыре тестовых контура `t1` / `t2` / `t3` / `t4` уже работают без `SQLite`; +- все четыре контура используют `PostgreSQL 18.4`; +- PostgreSQL на test-хосте общий для всех четырёх контуров и запущен в Docker-контейнере `shine-test-postgres`; +- все четыре контура используют один и тот же Helius devnet RPC/WS endpoint; +- во всех четырёх UI включён web push client-код и встроен один и тот же test `VAPID` public key. + ## Общие параметры - SSH: `player@tX.shineup.me` - Solana cluster: `devnet` -- Solana RPC: `https://api.devnet.solana.com` +- Solana RPC: `https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4` +- Solana WS: `wss://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4` - Caddy config: `/etc/caddy/Caddyfile` +- Общий PostgreSQL container: `shine-test-postgres` +- PostgreSQL image: `postgres:18` +- PostgreSQL engine version на `2026-07-28`: `18.4` +- Web push в UI: общий test `VAPID` public key `BOdoWZndZRaNe9kyUFsJ5-xEfFABXNKennAKg15Z7ycAwUIQ7yDV_sIWWYJCwJriN4g9oU-CyJPrn1U6lfxuDbI` ## Инстансы -| Домен | Логин сервера | Сервер | UI | Порт | systemd | -|---|---|---|---|---|---| -| `t1.shineup.me` | `server_t1` | `/home/player/t1/server` | `/home/player/t1/UI` | `7101` | `shine-t1.service` | -| `t2.shineup.me` | `server_t2` | `/home/player/t2/server` | `/home/player/t2/UI` | `7102` | `shine-t2.service` | -| `t3.shineup.me` | `server_t3` | `/home/player/t3/server` | `/home/player/t3/UI` | `7103` | `shine-t3.service` | -| `t4.shineup.me` | `server_t4` | `/home/player/t4/server` | `/home/player/t4/UI` | `7104` | `shine-t4.service` | +| Домен | Логин сервера | Сервер | UI | Порт | systemd | PostgreSQL DB | PostgreSQL user | +|---|---|---|---|---|---|---|---| +| `t1.shineup.me` | `server_t1` | `/home/player/t1/server` | `/home/player/t1/UI` | `7101` | `shine-t1.service` | `shine_t1_db` | `shine_t1` | +| `t2.shineup.me` | `server_t2` | `/home/player/t2/server` | `/home/player/t2/UI` | `7102` | `shine-t2.service` | `shine_t2_db` | `shine_t2` | +| `t3.shineup.me` | `server_t3` | `/home/player/t3/server` | `/home/player/t3/UI` | `7103` | `shine-t3.service` | `shine_t3_db` | `shine_t3` | +| `t4.shineup.me` | `server_t4` | `/home/player/t4/server` | `/home/player/t4/UI` | `7104` | `shine-t4.service` | `shine_t4_db` | `shine_t4` | ## Deploy @@ -54,8 +67,15 @@ curl -I https://t4.shineup.me ```bash sudo systemctl --no-pager --full status caddy shine-t1 shine-t2 shine-t3 shine-t4 +sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}' ``` ## Operational-нюанс -Официальный `https://api.devnet.solana.com` может отдавать `HTTP 429`, если несколько инстансов одновременно делают bootstrap PDA/sync-серверов. Если после деплоя какой-то инстанс не подтянул `sync_servers`, рестартовать сервисы по одному с паузой. +Общий Helius devnet endpoint тоже может начать ограничивать запросы, если несколько инстансов одновременно делают тяжёлый bootstrap. Если после деплоя какой-то инстанс не подтянул `sync_servers` или завис на startup sync, рестартовать сервисы по одному с паузой. + +Отдельный нюанс по web push: + +- у `t1`, `t2`, `t3`, `t4` в UI уже есть одинаковый встроенный `VAPID` public key; +- то есть `t3` и `t4` используют тот же web push клиентский код, что и `t1` / `t2`; +- если позже понадобится разделить push-ключи по тестовым контурам, это нужно делать отдельным UI deploy с новым `DEPLOY_WEBPUSH_VAPID_PUBLIC`. diff --git a/deploy/postgres/.env.example b/deploy/postgres/.env.example index cb7c44ca..3b7b701c 100644 --- a/deploy/postgres/.env.example +++ b/deploy/postgres/.env.example @@ -4,4 +4,4 @@ POSTGRES_SUPERUSER_PASSWORD=CHANGE_ME_SUPERUSER SHINE_APP_DB=shine_server_db SHINE_APP_USER=shine_server SHINE_APP_PASSWORD=CHANGE_ME_APP -SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/shine_server_db +SHINE_POSTGRES_DATA_DIR=/home/player/SHiNE/postgres/data diff --git a/deploy/postgres/docker-compose.yml.example b/deploy/postgres/docker-compose.yml.example index caa60a08..509e5ba1 100644 --- a/deploy/postgres/docker-compose.yml.example +++ b/deploy/postgres/docker-compose.yml.example @@ -9,11 +9,10 @@ services: POSTGRES_DB: ${POSTGRES_SUPERUSER_DB} POSTGRES_USER: ${POSTGRES_SUPERUSER} POSTGRES_PASSWORD: ${POSTGRES_SUPERUSER_PASSWORD} - PGDATA: /var/lib/postgresql/data/pgdata ports: - "127.0.0.1:5432:5432" volumes: - - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data + - ${SHINE_POSTGRES_DATA_DIR}:/var/lib/postgresql healthcheck: test: - CMD-SHELL diff --git a/deploy/scripts/test_t1_ui.sh b/deploy/scripts/test_t1_ui.sh index c097b1fc..1a45b40f 100755 --- a/deploy/scripts/test_t1_ui.sh +++ b/deploy/scripts/test_t1_ui.sh @@ -8,6 +8,6 @@ EXPECTED_CADDY_SITE="t1.shineup.me" \ DEPLOY_SERVER_LOGIN="server_t1" \ DEPLOY_SERVER_ADDRESS="t1.shineup.me" \ DEPLOY_SOLANA_CLUSTER="devnet" \ -DEPLOY_SOLANA_ENDPOINT="https://api.devnet.solana.com" \ +DEPLOY_SOLANA_ENDPOINT="https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4" \ TARGET_URL="https://t1.shineup.me" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/deploy/scripts/test_t2_ui.sh b/deploy/scripts/test_t2_ui.sh index fbeeaf61..345ba0d2 100755 --- a/deploy/scripts/test_t2_ui.sh +++ b/deploy/scripts/test_t2_ui.sh @@ -8,6 +8,6 @@ EXPECTED_CADDY_SITE="t2.shineup.me" \ DEPLOY_SERVER_LOGIN="server_t2" \ DEPLOY_SERVER_ADDRESS="t2.shineup.me" \ DEPLOY_SOLANA_CLUSTER="devnet" \ -DEPLOY_SOLANA_ENDPOINT="https://api.devnet.solana.com" \ +DEPLOY_SOLANA_ENDPOINT="https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4" \ TARGET_URL="https://t2.shineup.me" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/deploy/scripts/test_t3_ui.sh b/deploy/scripts/test_t3_ui.sh index fd76ef8e..108d4f5b 100755 --- a/deploy/scripts/test_t3_ui.sh +++ b/deploy/scripts/test_t3_ui.sh @@ -8,6 +8,6 @@ EXPECTED_CADDY_SITE="t3.shineup.me" \ DEPLOY_SERVER_LOGIN="server_t3" \ DEPLOY_SERVER_ADDRESS="t3.shineup.me" \ DEPLOY_SOLANA_CLUSTER="devnet" \ -DEPLOY_SOLANA_ENDPOINT="https://api.devnet.solana.com" \ +DEPLOY_SOLANA_ENDPOINT="https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4" \ TARGET_URL="https://t3.shineup.me" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/deploy/scripts/test_t4_ui.sh b/deploy/scripts/test_t4_ui.sh index 415f1124..7fb11657 100755 --- a/deploy/scripts/test_t4_ui.sh +++ b/deploy/scripts/test_t4_ui.sh @@ -8,6 +8,6 @@ EXPECTED_CADDY_SITE="t4.shineup.me" \ DEPLOY_SERVER_LOGIN="server_t4" \ DEPLOY_SERVER_ADDRESS="t4.shineup.me" \ DEPLOY_SOLANA_CLUSTER="devnet" \ -DEPLOY_SOLANA_ENDPOINT="https://api.devnet.solana.com" \ +DEPLOY_SOLANA_ENDPOINT="https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4" \ TARGET_URL="https://t4.shineup.me" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md index 725ede05..132922e6 100644 --- a/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md +++ b/docs/Solana/SOLANA_USERS_SYNC_MODULE_DESIGN.md @@ -20,6 +20,8 @@ - сервер запускает sync-модуль до продолжения собственного startup; - server startup ждёт входа модуля в состояние `READY`; - актуальный источник истины по пользователям для нового PostgreSQL runtime-слоя: `solana_user_pda_current`. +- для быстрого локального маршрутизационного lookup серверов доступа поддерживается вторичная проекция + `user_access_servers_current`, которая автоматически пересобирается из `solana_user_pda_current`. --- @@ -193,6 +195,7 @@ WebSocket `programSubscribe` хорош для realtime, но недостато 6. подтянуть актуальное состояние затронутых PDA; 7. обновить: - `solana_user_pda_current` + - `user_access_servers_current` - `solana_user_pda_history` - `solana_sync_state` From 64818c586bdd8965b925971ef4eae1a6c98e32002851d3e334ba7565a0b9eab4 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Tue, 28 Jul 2026 15:53:24 +0400 Subject: [PATCH 51/83] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B5=D1=80:=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=BA=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D1=80?= =?UTF-8?q?=D0=BE=D1=83=D1=82=D0=B8=D0=BD=D0=B3=20=D0=B8=20relay=20DM=20?= =?UTF-8?q?=D0=BF=D0=BE=20access=20servers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/dao/UserAccessServersCurrentDAO.java | 66 ++++++++++++++++ .../entities/UserAccessServerRouteEntry.java | 27 +++++++ .../Net_ReceiveIncomingMessage_Handler.java | 5 ++ .../Net_ReceiveIncomingMessage_Request.java | 3 + .../entyties/Net_SendMessagePair_Request.java | 3 + .../java/server/sync/DmFederationService.java | 76 +++++++++++++------ .../java/server/sync/RemoteDmSyncClient.java | 21 +++-- VERSION.properties | 2 +- 8 files changed, 171 insertions(+), 32 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/entities/UserAccessServerRouteEntry.java diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java new file mode 100644 index 00000000..042de2a5 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java @@ -0,0 +1,66 @@ +package shine.db.dao; + +import shine.db.DbController; +import shine.db.KeyEncodingUtil; +import shine.db.entities.UserAccessServerRouteEntry; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/** + * DAO локальной routing-проекции access servers пользователей. + */ +public final class UserAccessServersCurrentDAO { + + private static volatile UserAccessServersCurrentDAO instance; + private final DbController db = DbController.getInstance(); + + private UserAccessServersCurrentDAO() {} + + public static UserAccessServersCurrentDAO getInstance() { + if (instance == null) { + synchronized (UserAccessServersCurrentDAO.class) { + if (instance == null) instance = new UserAccessServersCurrentDAO(); + } + } + return instance; + } + + public List<UserAccessServerRouteEntry> listByUserLogin(String userLogin) throws SQLException { + try (Connection c = db.getConnection()) { + return listByUserLogin(c, userLogin); + } + } + + public List<UserAccessServerRouteEntry> listByUserLogin(Connection c, String userLogin) throws SQLException { + String sql = """ + SELECT user_login, server_login, server_url, server_client_key + FROM user_access_servers_current + WHERE LOWER(user_login) = LOWER(?) + ORDER BY server_login + """; + List<UserAccessServerRouteEntry> result = new ArrayList<>(); + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, userLogin); + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + result.add(mapRow(rs)); + } + } + } + return result; + } + + private UserAccessServerRouteEntry mapRow(ResultSet rs) throws SQLException { + UserAccessServerRouteEntry entry = new UserAccessServerRouteEntry(); + entry.setUserLogin(rs.getString("user_login")); + entry.setServerLogin(rs.getString("server_login")); + entry.setServerUrl(rs.getString("server_url")); + entry.setServerClientKey(KeyEncodingUtil.normalizeKeyToBase64_32(rs.getString("server_client_key"))); + return entry; + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/UserAccessServerRouteEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/UserAccessServerRouteEntry.java new file mode 100644 index 00000000..ac4f042d --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/UserAccessServerRouteEntry.java @@ -0,0 +1,27 @@ +package shine.db.entities; + +/** + * Локальная routing-проекция access server пользователя. + * + * Источник: + * - user_access_servers_current + */ +public class UserAccessServerRouteEntry { + + private String userLogin; + private String serverLogin; + private String serverUrl; + private String serverClientKey; + + public String getUserLogin() { return userLogin; } + public void setUserLogin(String userLogin) { this.userLogin = userLogin; } + + public String getServerLogin() { return serverLogin; } + public void setServerLogin(String serverLogin) { this.serverLogin = serverLogin; } + + public String getServerUrl() { return serverUrl; } + public void setServerUrl(String serverUrl) { this.serverUrl = serverUrl; } + + public String getServerClientKey() { return serverClientKey; } + public void setServerClientKey(String serverClientKey) { this.serverClientKey = serverClientKey; } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java index 351fa6a0..811d42ce 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_ReceiveIncomingMessage_Handler.java @@ -53,6 +53,11 @@ public class Net_ReceiveIncomingMessage_Handler implements JsonMessageHandler { SignedMessagesRealtime.DeliveryCounters counters = new SignedMessagesRealtime.DeliveryCounters(); if (status.applied()) { counters = SignedMessagesRealtime.deliverToRelevantSessions(entry, incoming); + server.sync.DmFederationService.fanOutIncomingToRecipientAccessServers( + incoming.toLogin, + req.getIncomingBlobB64().trim(), + req.getSourceServerLogin() + ); } if (status == SignedMessagesDAO.ApplyStatus.BLOCKED_BY_CONVERSATION_TOMBSTONE) { bounceConversationDeleteIfKnown(incoming.fromLogin, incoming.toLogin); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_ReceiveIncomingMessage_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_ReceiveIncomingMessage_Request.java index 5b67429d..45dc2681 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_ReceiveIncomingMessage_Request.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_ReceiveIncomingMessage_Request.java @@ -4,7 +4,10 @@ import server.logic.ws_protocol.JSON.entyties.Net_Request; public class Net_ReceiveIncomingMessage_Request extends Net_Request { private String incomingBlobB64; + private String sourceServerLogin; public String getIncomingBlobB64() { return incomingBlobB64; } public void setIncomingBlobB64(String incomingBlobB64) { this.incomingBlobB64 = incomingBlobB64; } + public String getSourceServerLogin() { return sourceServerLogin; } + public void setSourceServerLogin(String sourceServerLogin) { this.sourceServerLogin = sourceServerLogin; } } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_SendMessagePair_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_SendMessagePair_Request.java index d2917221..7dc07361 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_SendMessagePair_Request.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_SendMessagePair_Request.java @@ -5,9 +5,12 @@ import server.logic.ws_protocol.JSON.entyties.Net_Request; public class Net_SendMessagePair_Request extends Net_Request { private String incomingBlobB64; private String outgoingBlobB64; + private String sourceServerLogin; public String getIncomingBlobB64() { return incomingBlobB64; } public void setIncomingBlobB64(String incomingBlobB64) { this.incomingBlobB64 = incomingBlobB64; } public String getOutgoingBlobB64() { return outgoingBlobB64; } public void setOutgoingBlobB64(String outgoingBlobB64) { this.outgoingBlobB64 = outgoingBlobB64; } + public String getSourceServerLogin() { return sourceServerLogin; } + public void setSourceServerLogin(String sourceServerLogin) { this.sourceServerLogin = sourceServerLogin; } } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/DmFederationService.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/DmFederationService.java index 50589755..47994619 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/DmFederationService.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/DmFederationService.java @@ -2,7 +2,8 @@ package server.sync; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import server.logic.ws_protocol.JSON.handlers.auth.SolanaUserPdaImportService; +import shine.db.dao.UserAccessServersCurrentDAO; +import shine.db.entities.UserAccessServerRouteEntry; import utils.config.AppConfig; import java.util.LinkedHashMap; @@ -18,26 +19,48 @@ public final class DmFederationService { public static void fanOutPair(String fromLogin, String toLogin, String incomingBlobB64, String outgoingBlobB64) { try { - Map<String, SolanaUserPdaImportService.ParsedServerRoute> senderRoutes = - routesByLogin(SolanaUserPdaImportService.fetchAccessServerRoutesByLogin(fromLogin)); - Map<String, SolanaUserPdaImportService.ParsedServerRoute> recipientRoutes = - routesByLogin(SolanaUserPdaImportService.fetchAccessServerRoutesByLogin(toLogin)); + Map<String, UserAccessServerRouteEntry> senderRoutes = + routesByLogin(UserAccessServersCurrentDAO.getInstance().listByUserLogin(fromLogin)); + Map<String, UserAccessServerRouteEntry> recipientRoutes = + routesByLogin(UserAccessServersCurrentDAO.getInstance().listByUserLogin(toLogin)); String ownServerLogin = ownServerLogin(); - for (SolanaUserPdaImportService.ParsedServerRoute route : senderRoutes.values()) { + for (UserAccessServerRouteEntry route : senderRoutes.values()) { if (isOwnServer(route, ownServerLogin)) continue; - REMOTE.sendMessagePair(route.serverAddress(), incomingBlobB64, outgoingBlobB64); + REMOTE.sendMessagePair(route.getServerUrl(), incomingBlobB64, outgoingBlobB64, ownServerLogin); } - for (SolanaUserPdaImportService.ParsedServerRoute route : recipientRoutes.values()) { + for (UserAccessServerRouteEntry route : recipientRoutes.values()) { if (isOwnServer(route, ownServerLogin)) continue; - if (senderRoutes.containsKey(route.login())) continue; - REMOTE.receiveIncomingMessage(route.serverAddress(), incomingBlobB64); + if (senderRoutes.containsKey(normalize(route.getServerLogin()))) continue; + REMOTE.receiveIncomingMessage(route.getServerUrl(), incomingBlobB64, ownServerLogin); } } catch (Exception e) { log.warn("DM federation pair fan-out failed: from={} to={}", fromLogin, toLogin, e); } } + public static void fanOutIncomingToRecipientAccessServers( + String toLogin, + String incomingBlobB64, + String sourceServerLogin + ) { + try { + Map<String, UserAccessServerRouteEntry> recipientRoutes = + routesByLogin(UserAccessServersCurrentDAO.getInstance().listByUserLogin(toLogin)); + String ownServerLogin = ownServerLogin(); + String normalizedSource = normalize(sourceServerLogin); + for (UserAccessServerRouteEntry route : recipientRoutes.values()) { + String routeLogin = normalize(route.getServerLogin()); + if (routeLogin == null) continue; + if (ownServerLogin != null && ownServerLogin.equalsIgnoreCase(routeLogin)) continue; + if (normalizedSource != null && normalizedSource.equalsIgnoreCase(routeLogin)) continue; + REMOTE.receiveIncomingMessage(route.getServerUrl(), incomingBlobB64, ownServerLogin); + } + } catch (Exception e) { + log.warn("DM federation incoming relay failed: to={}", toLogin, e); + } + } + public static void fanOutDeleteMessage(String fromLogin, String toLogin, int messageType, String blobB64) { fanOutSingleDelete(fromLogin, toLogin, messageType, blobB64, true); } @@ -48,17 +71,17 @@ public final class DmFederationService { private static void fanOutSingleDelete(String fromLogin, String toLogin, int messageType, String blobB64, boolean oneMessageDelete) { try { - Map<String, SolanaUserPdaImportService.ParsedServerRoute> routes = routesByLogin( - SolanaUserPdaImportService.fetchAccessServerRoutesByLogin(fromLogin), - SolanaUserPdaImportService.fetchAccessServerRoutesByLogin(toLogin) + Map<String, UserAccessServerRouteEntry> routes = routesByLogin( + UserAccessServersCurrentDAO.getInstance().listByUserLogin(fromLogin), + UserAccessServersCurrentDAO.getInstance().listByUserLogin(toLogin) ); String ownServerLogin = ownServerLogin(); - for (SolanaUserPdaImportService.ParsedServerRoute route : routes.values()) { + for (UserAccessServerRouteEntry route : routes.values()) { if (isOwnServer(route, ownServerLogin)) continue; if (oneMessageDelete) { - REMOTE.deleteMessage(route.serverAddress(), blobB64); + REMOTE.deleteMessage(route.getServerUrl(), blobB64); } else { - REMOTE.deleteConversation(route.serverAddress(), blobB64); + REMOTE.deleteConversation(route.getServerUrl(), blobB64); } } } catch (Exception e) { @@ -68,15 +91,15 @@ public final class DmFederationService { } @SafeVarargs - private static Map<String, SolanaUserPdaImportService.ParsedServerRoute> routesByLogin( - List<SolanaUserPdaImportService.ParsedServerRoute>... routeLists + private static Map<String, UserAccessServerRouteEntry> routesByLogin( + List<UserAccessServerRouteEntry>... routeLists ) { - Map<String, SolanaUserPdaImportService.ParsedServerRoute> out = new LinkedHashMap<>(); - for (List<SolanaUserPdaImportService.ParsedServerRoute> routeList : routeLists) { - for (SolanaUserPdaImportService.ParsedServerRoute route : routeList) { + Map<String, UserAccessServerRouteEntry> out = new LinkedHashMap<>(); + for (List<UserAccessServerRouteEntry> routeList : routeLists) { + for (UserAccessServerRouteEntry route : routeList) { if (route == null) continue; - String login = normalize(route.login()); - String address = route.serverAddress() == null ? "" : route.serverAddress().trim(); + String login = normalize(route.getServerLogin()); + String address = route.getServerUrl() == null ? "" : route.getServerUrl().trim(); if (login == null || address.isBlank()) continue; out.putIfAbsent(login, route); } @@ -84,8 +107,11 @@ public final class DmFederationService { return out; } - private static boolean isOwnServer(SolanaUserPdaImportService.ParsedServerRoute route, String ownServerLogin) { - return ownServerLogin != null && ownServerLogin.equalsIgnoreCase(route.login()); + private static boolean isOwnServer(UserAccessServerRouteEntry route, String ownServerLogin) { + return ownServerLogin != null + && route != null + && route.getServerLogin() != null + && ownServerLogin.equalsIgnoreCase(route.getServerLogin()); } private static String ownServerLogin() { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java index c71d7185..a302e6fb 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java @@ -21,33 +21,35 @@ public final class RemoteDmSyncClient { .connectTimeout(Duration.ofSeconds(6)) .build(); - public void sendMessagePair(String serverAddressRaw, String incomingBlobB64, String outgoingBlobB64) throws Exception { + public void sendMessagePair(String serverAddressRaw, String incomingBlobB64, String outgoingBlobB64, String sourceServerLogin) throws Exception { String incomingJson = MAPPER.writeValueAsString(incomingBlobB64); String outgoingJson = MAPPER.writeValueAsString(outgoingBlobB64); + String sourceServerLoginJson = toOptionalJsonField("sourceServerLogin", sourceServerLogin); JsonNode response = send(serverAddressRaw, """ { "op":"ReceiveOutcomingMessage", "requestId":%s, "payload":{ "incomingBlobB64":%s, - "outgoingBlobB64":%s + "outgoingBlobB64":%s%s } } - """.formatted("%s", incomingJson, outgoingJson)); + """.formatted("%s", incomingJson, outgoingJson, sourceServerLoginJson)); ensureOk("ReceiveOutcomingMessage", response); } - public void receiveIncomingMessage(String serverAddressRaw, String incomingBlobB64) throws Exception { + public void receiveIncomingMessage(String serverAddressRaw, String incomingBlobB64, String sourceServerLogin) throws Exception { String incomingJson = MAPPER.writeValueAsString(incomingBlobB64); + String sourceServerLoginJson = toOptionalJsonField("sourceServerLogin", sourceServerLogin); JsonNode response = send(serverAddressRaw, """ { "op":"ReceiveIncomingMessage", "requestId":%s, "payload":{ - "incomingBlobB64":%s + "incomingBlobB64":%s%s } } - """.formatted("%s", incomingJson)); + """.formatted("%s", incomingJson, sourceServerLoginJson)); ensureOk("ReceiveIncomingMessage", response); } @@ -107,6 +109,13 @@ public final class RemoteDmSyncClient { return MAPPER.readTree(responseJson); } + private String toOptionalJsonField(String fieldName, String value) throws Exception { + if (value == null || value.isBlank()) { + return ""; + } + return ",\n \"" + fieldName + "\":" + MAPPER.writeValueAsString(value.trim()); + } + private void ensureOk(String op, JsonNode response) { int status = response.path("status").asInt(500); if (status >= 200 && status < 300) return; diff --git a/VERSION.properties b/VERSION.properties index 5fc34f78..82b49763 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.355 -server.version=1.2.339 +server.version=1.2.340 From 0ed78e2202866a3e578385bf5e837603d02a736398f79cba1e610ffcc45fcd19 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Tue, 28 Jul 2026 16:20:29 +0400 Subject: [PATCH 52/83] =?UTF-8?q?UI=20=D0=B8=20API:=20=D1=8D=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B0=20=D0=B8=20=D1=84?= =?UTF-8?q?=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20SearchUsers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/shine/db/dao/CurrentUsersDAO.java | 20 +- .../java/shine/db/sql/CurrentUsersSql.java | 3 +- .../tempToTest/Net_SearchUsers_Handler.java | 5 +- .../entyties/Net_SearchUsers_Request.java | 5 +- VERSION.properties | 4 +- docs/API/01_User_Registration_API.md | 10 +- shine-UI/js/app.js | 2 + shine-UI/js/pages/access-servers-view.js | 380 ++++++++++++++++++ shine-UI/js/pages/server-settings-view.js | 17 +- shine-UI/js/pages/settings-view.js | 16 +- shine-UI/js/router.js | 3 + shine-UI/js/services/auth-service.js | 8 +- 12 files changed, 457 insertions(+), 16 deletions(-) create mode 100644 shine-UI/js/pages/access-servers-view.js diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java index c68d6aae..ec61b084 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/CurrentUsersDAO.java @@ -154,6 +154,11 @@ public final class CurrentUsersDAO { /** Поиск по префиксу с внешним соединением. Соединение НЕ закрывает. */ public List<CurrentUserEntry> searchByLoginPrefix(Connection c, String prefix) throws SQLException { + return searchByLoginPrefix(c, prefix, null); + } + + /** Поиск по префиксу с optional-фильтром server PDA. Соединение НЕ закрывает. */ + public List<CurrentUserEntry> searchByLoginPrefix(Connection c, String prefix, Boolean isServer) throws SQLException { String sql = """ SELECT login, @@ -163,6 +168,7 @@ public final class CurrentUsersDAO { client_key FROM %s WHERE LOWER(login) LIKE ? + AND (? IS NULL OR is_server = ?) ORDER BY login LIMIT 5 """.formatted(CurrentUsersSql.usersSubquery("su")); @@ -171,6 +177,13 @@ public final class CurrentUsersDAO { try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, prefix.toLowerCase() + "%"); + if (isServer == null) { + ps.setNull(2, Types.BOOLEAN); + ps.setNull(3, Types.BOOLEAN); + } else { + ps.setBoolean(2, isServer); + ps.setBoolean(3, isServer); + } try (ResultSet rs = ps.executeQuery()) { while (rs.next()) result.add(mapRow(rs)); } @@ -181,8 +194,13 @@ public final class CurrentUsersDAO { /** Поиск по префиксу без внешнего соединения. Сам открывает/закрывает. */ public List<CurrentUserEntry> searchByLoginPrefix(String prefix) throws SQLException { + return searchByLoginPrefix(prefix, null); + } + + /** Поиск по префиксу без внешнего соединения с optional-фильтром server PDA. */ + public List<CurrentUserEntry> searchByLoginPrefix(String prefix, Boolean isServer) throws SQLException { try (Connection c = db.getConnection()) { - return searchByLoginPrefix(c, prefix); + return searchByLoginPrefix(c, prefix, isServer); } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java index 6dad44b3..837e5aec 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/sql/CurrentUsersSql.java @@ -15,7 +15,8 @@ public final class CurrentUsersSql { current_users.blockchain_name AS blockchain_name, current_users.client_key AS solana_key, current_users.blockchain_key AS blockchain_key, - current_users.client_key AS client_key + current_users.client_key AS client_key, + current_users.is_server AS is_server FROM solana_user_pda_current current_users ) %s """.formatted(alias); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java index ebc86f24..afe7356c 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/Net_SearchUsers_Handler.java @@ -35,10 +35,11 @@ public class Net_SearchUsers_Handler implements JsonMessageHandler { } String prefix = req.getPrefix().trim(); + Boolean isServer = req.getIsServer(); try { CurrentUsersDAO dao = CurrentUsersDAO.getInstance(); - List<CurrentUserEntry> users = dao.searchByLoginPrefix(prefix); // case-insensitive + LIMIT 5 + List<CurrentUserEntry> users = dao.searchByLoginPrefix(prefix, isServer); // case-insensitive + LIMIT 5 List<String> logins = new ArrayList<>(); for (CurrentUserEntry u : users) { @@ -53,7 +54,7 @@ public class Net_SearchUsers_Handler implements JsonMessageHandler { resp.setStatus(WireCodes.Status.OK); resp.setLogins(logins); - log.info("✅ SearchUsers ok: prefix='{}' -> {}", prefix, logins.size()); + log.info("✅ SearchUsers ok: prefix='{}', isServer={} -> {}", prefix, isServer, logins.size()); return resp; } catch (SQLException e) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_SearchUsers_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_SearchUsers_Request.java index 1e974d52..3f2e9990 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_SearchUsers_Request.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/tempToTest/entyties/Net_SearchUsers_Request.java @@ -18,7 +18,10 @@ import server.logic.ws_protocol.JSON.entyties.Net_Request; public class Net_SearchUsers_Request extends Net_Request { private String prefix; + private Boolean isServer; public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.prefix = prefix; } -} \ No newline at end of file + public Boolean getIsServer() { return isServer; } + public void setIsServer(Boolean isServer) { this.isServer = isServer; } +} diff --git a/VERSION.properties b/VERSION.properties index 82b49763..e8fae79c 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.355 -server.version=1.2.340 +client.version=1.2.356 +server.version=1.2.341 diff --git a/docs/API/01_User_Registration_API.md b/docs/API/01_User_Registration_API.md index dcd086de..ba411334 100644 --- a/docs/API/01_User_Registration_API.md +++ b/docs/API/01_User_Registration_API.md @@ -5,7 +5,7 @@ Сейчас здесь два метода: - `GetUser` — временная серверная проверка существования пользователя и чтение его базовых данных; -- `SearchUsers` — dev/test поиск логинов по префиксу. +- `SearchUsers` — dev/test поиск логинов по префиксу, при необходимости с фильтром только по server PDA. Регистрация выполняется только через Solana. @@ -111,6 +111,7 @@ ### Назначение Поиск пользователей по префиксу логина. Операция зарегистрирована в серверном API и используется как вспомогательная dev/test операция. +При необходимости можно включить фильтр только по server PDA. ### Запрос @@ -119,11 +120,16 @@ "op": "SearchUsers", "requestId": "search-001", "payload": { - "prefix": "an" + "prefix": "an", + "isServer": true } } ``` +- `prefix` — обязательный префикс логина. +- `isServer` — необязательный boolean-флаг; если `true`, сервер вернёт только логины, + у которых в `solana_user_pda_current` стоит `is_server = true`. + ### Успешный ответ ```json diff --git a/shine-UI/js/app.js b/shine-UI/js/app.js index 173978d9..403b7b2c 100644 --- a/shine-UI/js/app.js +++ b/shine-UI/js/app.js @@ -56,6 +56,7 @@ import * as profileView from './pages/profile-view.js?v=202607150910'; import * as profileEditView from './pages/profile-edit-view.js'; import * as walletView from './pages/wallet-view.js?v=202606281930'; import * as settingsView from './pages/settings-view.js'; +import * as accessServersView from './pages/access-servers-view.js'; import * as developerSettingsView from './pages/developer-settings-view.js'; import * as serverSettingsView from './pages/server-settings-view.js?v=202606161240'; import * as remoteAddBlockSessionView from './pages/remote-addblock-session-view.js?v=202606281300'; @@ -116,6 +117,7 @@ const routes = { 'profile-edit-view': profileEditView, 'wallet-view': walletView, 'settings-view': settingsView, + 'access-servers-view': accessServersView, 'developer-settings-view': developerSettingsView, 'server-settings-view': serverSettingsView, 'remote-addblock-session-view': remoteAddBlockSessionView, diff --git a/shine-UI/js/pages/access-servers-view.js b/shine-UI/js/pages/access-servers-view.js new file mode 100644 index 00000000..653a4a4e --- /dev/null +++ b/shine-UI/js/pages/access-servers-view.js @@ -0,0 +1,380 @@ +import { renderHeader } from '../components/header.js'; +import { authService, state } from '../state.js'; +import { readShineUserPda } from '../services/shine-user-pda-service.js'; +import { resolveShineServerByServerLogin } from '../services/shine-server-resolver.js'; + +export const pageMeta = { id: 'access-servers-view', title: 'Серверы доступа' }; + +function escapeHtml(value) { + return String(value || '') + .replace(/&/g, '&amp;') + .replace(/</g, '&lt;') + .replace(/>/g, '&gt;') + .replace(/"/g, '&quot;') + .replace(/'/g, '&#39;'); +} + +function normalizeLogin(value) { + return String(value || '').trim().toLowerCase(); +} + +function createConfirmModal() { + const root = document.getElementById('modal-root'); + if (!(root instanceof HTMLElement)) return null; + + const modal = document.createElement('div'); + modal.className = 'modal'; + modal.hidden = true; + modal.innerHTML = ` + <div class="modal-card stack" style="max-width:min(94vw,34rem);"> + <h3 class="modal-title" id="access-servers-dialog-title">Подтверждение</h3> + <p class="meta-muted" id="access-servers-dialog-text"></p> + <p class="meta-muted" id="access-servers-dialog-note" hidden></p> + <div class="auth-footer-actions"> + <button class="ghost-btn" type="button" id="access-servers-dialog-cancel">Нет</button> + <button class="primary-btn" type="button" id="access-servers-dialog-confirm">Да</button> + </div> + </div> + `; + root.append(modal); + + const titleEl = modal.querySelector('#access-servers-dialog-title'); + const textEl = modal.querySelector('#access-servers-dialog-text'); + const noteEl = modal.querySelector('#access-servers-dialog-note'); + const cancelBtn = modal.querySelector('#access-servers-dialog-cancel'); + const confirmBtn = modal.querySelector('#access-servers-dialog-confirm'); + + let onConfirm = null; + let onCancel = null; + + const close = () => { + modal.hidden = true; + onConfirm = null; + onCancel = null; + }; + + modal.addEventListener('click', (event) => { + if (event.target === modal) close(); + }); + cancelBtn?.addEventListener('click', async () => { + const handler = onCancel; + close(); + if (typeof handler === 'function') await handler(); + }); + confirmBtn?.addEventListener('click', async () => { + const handler = onConfirm; + close(); + if (typeof handler === 'function') await handler(); + }); + + return { + open({ + title, + text, + note = '', + confirmLabel = 'Да', + cancelLabel = 'Нет', + onConfirm: confirmHandler, + onCancel: cancelHandler, + }) { + titleEl.textContent = String(title || 'Подтверждение'); + textEl.textContent = String(text || ''); + if (note) { + noteEl.hidden = false; + noteEl.textContent = String(note); + } else { + noteEl.hidden = true; + noteEl.textContent = ''; + } + confirmBtn.textContent = String(confirmLabel || 'Да'); + cancelBtn.textContent = String(cancelLabel || 'Нет'); + onConfirm = confirmHandler || null; + onCancel = cancelHandler || null; + modal.hidden = false; + }, + destroy() { + modal.remove(); + }, + }; +} + +export function render({ navigate }) { + const screen = document.createElement('section'); + screen.className = 'stack'; + + const sessionLogin = normalizeLogin(state.session.login); + const solanaEndpoint = String(state.entrySettings.solanaServer || '').trim(); + let disposed = false; + let currentAccessServers = []; + let selectedCandidate = null; + let suggestionsLoading = false; + const confirmModal = createConfirmModal(); + + const introCard = document.createElement('div'); + introCard.className = 'card stack'; + introCard.innerHTML = ` + <p class="field-label">Где хранятся личные данные</p> + <p class="meta-muted"> + Серверы доступа хранят зашифрованную личную переписку пользователя и участвуют в звонках. + Всё, что публикуется в блокчейне SHiNE, доступно через любой сервер Сияния, + а доступ пользователя и приватная переписка хранятся только на этих серверах. + </p> + `; + + const listCard = document.createElement('div'); + listCard.className = 'card stack'; + const listTitle = document.createElement('p'); + listTitle.className = 'field-label'; + listTitle.textContent = 'Текущий список серверов доступа'; + const listHint = document.createElement('p'); + listHint.className = 'meta-muted'; + listHint.textContent = sessionLogin + ? `Пользователь: @${sessionLogin}` + : 'В текущей сессии не найден логин пользователя.'; + const listBody = document.createElement('div'); + listBody.className = 'stack'; + const listStatus = document.createElement('p'); + listStatus.className = 'meta-muted'; + listStatus.textContent = 'Загрузка данных из PDA...'; + listCard.append(listTitle, listHint, listBody, listStatus); + + const addCard = document.createElement('div'); + addCard.className = 'card stack'; + const addTitle = document.createElement('p'); + addTitle.className = 'field-label'; + addTitle.textContent = 'Добавить сервер доступа'; + const addHint = document.createElement('p'); + addHint.className = 'meta-muted'; + addHint.textContent = 'Введите логин сервера или несколько первых букв, затем выберите сервер из подсказок.'; + const addInput = document.createElement('input'); + addInput.className = 'input'; + addInput.type = 'text'; + addInput.autocomplete = 'off'; + addInput.placeholder = 'Например: shineup'; + const suggestEl = document.createElement('div'); + suggestEl.className = 'profile-relative-search-suggest'; + suggestEl.hidden = true; + const addStatus = document.createElement('p'); + addStatus.className = 'meta-muted'; + addStatus.textContent = 'Добавление сервера пока работает как подтверждающая заглушка.'; + const addButton = document.createElement('button'); + addButton.className = 'primary-btn'; + addButton.type = 'button'; + addButton.textContent = 'Добавить сервер'; + addButton.disabled = true; + addCard.append(addTitle, addHint, addInput, suggestEl, addStatus, addButton); + + const setSelectedCandidate = (candidate) => { + selectedCandidate = candidate; + addButton.disabled = !candidate; + if (candidate) { + addInput.value = candidate.login; + addStatus.textContent = `Выбран сервер @${candidate.login}${candidate.url ? ` (${candidate.url})` : ''}`; + } else { + addStatus.textContent = 'Добавление сервера пока работает как подтверждающая заглушка.'; + } + }; + + const renderServerList = () => { + listBody.innerHTML = ''; + if (!currentAccessServers.length) { + const empty = document.createElement('p'); + empty.className = 'meta-muted'; + empty.textContent = 'Список серверов доступа пока пуст.'; + listBody.append(empty); + return; + } + + currentAccessServers.forEach((server, index) => { + const button = document.createElement('button'); + button.className = 'text-btn'; + button.type = 'button'; + button.innerHTML = ` + <span style="display:block; text-align:left;"> + <strong>@${escapeHtml(server.login)}</strong> + <span class="meta-muted" style="display:block; margin-top:0.2rem;">${escapeHtml(server.url || 'URL не указан')}</span> + </span> + `; + button.addEventListener('click', () => { + const isLast = currentAccessServers.length <= 1; + const openStub = (noteText = '') => { + confirmModal?.open({ + title: isLast ? 'Последний сервер доступа' : 'Отключить сервер доступа?', + text: isLast + ? 'Это последний сервер доступа пользователя. Если его отключить, личная переписка пользователя на серверах доступа будет удалена.' + : `Хотите изменить запись в блокчейне Solana и отключить сервер доступа @${server.login}?`, + note: noteText, + confirmLabel: isLast ? 'Понимаю' : 'Да', + cancelLabel: 'Нет', + onConfirm: () => window.alert('Отключение сервера доступа пока не реализовано.'), + }); + }; + + if (isLast) { + confirmModal?.open({ + title: 'Отключить последний сервер?', + text: `У пользователя остался только один сервер доступа: @${server.login}.`, + note: 'После отключения последнего сервера доступа личная переписка пользователя на серверах доступа будет удалена.', + confirmLabel: 'Продолжить', + cancelLabel: 'Отмена', + onConfirm: () => openStub('Это повторное предупреждение. Сейчас действие остаётся заглушкой.'), + }); + return; + } + + openStub(); + }); + listBody.append(button); + if (index < currentAccessServers.length - 1) { + const divider = document.createElement('div'); + divider.style.height = '1px'; + divider.style.background = 'rgba(255,255,255,0.08)'; + listBody.append(divider); + } + }); + }; + + const loadCurrentServers = async () => { + if (!sessionLogin) { + currentAccessServers = []; + renderServerList(); + listStatus.textContent = 'Нет активной пользовательской сессии.'; + return; + } + if (!solanaEndpoint) { + currentAccessServers = []; + renderServerList(); + listStatus.textContent = 'Не задан Solana RPC endpoint.'; + return; + } + + listStatus.textContent = 'Читаем серверы доступа из Solana PDA...'; + try { + const parsed = await readShineUserPda({ login: sessionLogin, solanaEndpoint }); + const logins = Array.isArray(parsed?.accessServers) + ? [...new Set(parsed.accessServers.map(normalizeLogin).filter(Boolean))] + : []; + const rows = []; + for (const login of logins) { + try { + const resolved = await resolveShineServerByServerLogin({ serverLogin: login, solanaEndpoint }); + rows.push({ login: resolved.serverLogin, url: resolved.httpBase }); + } catch { + rows.push({ login, url: '' }); + } + } + currentAccessServers = rows; + renderServerList(); + listStatus.textContent = rows.length + ? `Найдено серверов доступа: ${rows.length}` + : 'В PDA пользователя пока нет серверов доступа.'; + } catch (error) { + currentAccessServers = []; + renderServerList(); + listStatus.textContent = error?.message || 'Не удалось прочитать список серверов доступа.'; + } + }; + + const renderSuggestions = (items) => { + suggestEl.innerHTML = ''; + if (!items.length) { + suggestEl.hidden = true; + return; + } + suggestEl.hidden = false; + suggestEl.innerHTML = items.map((item) => ( + `<button type="button" class="profile-relative-suggest-item" data-login="${escapeHtml(item.login)}" data-url="${escapeHtml(item.url || '')}"> + @${escapeHtml(item.login)} + <span class="meta-muted" style="display:block; margin-top:0.2rem;">${escapeHtml(item.url || 'URL не указан')}</span> + </button>` + )).join(''); + }; + + const loadSuggestions = async () => { + const prefix = normalizeLogin(addInput.value); + if (suggestionsLoading || prefix.length < 2) { + suggestEl.hidden = true; + suggestEl.innerHTML = ''; + return; + } + suggestionsLoading = true; + try { + const logins = await authService.searchUsers(prefix, { isServer: true }); + const items = []; + for (const login of logins.slice(0, 6)) { + try { + const resolved = await resolveShineServerByServerLogin({ serverLogin: login, solanaEndpoint }); + items.push({ login: resolved.serverLogin, url: resolved.httpBase }); + } catch { + // если server PDA битая, пропускаем подсказку + } + } + if (!disposed) renderSuggestions(items); + } catch (error) { + if (!disposed) { + suggestEl.hidden = true; + suggestEl.innerHTML = ''; + addStatus.textContent = error?.message || 'Не удалось получить список серверов.'; + } + } finally { + suggestionsLoading = false; + } + }; + + addInput.addEventListener('input', () => { + setSelectedCandidate(null); + void loadSuggestions(); + }); + addInput.addEventListener('focus', () => { + void loadSuggestions(); + }); + suggestEl.addEventListener('click', (event) => { + const target = event.target instanceof HTMLElement ? event.target.closest('[data-login]') : null; + if (!(target instanceof HTMLElement)) return; + setSelectedCandidate({ + login: String(target.dataset.login || ''), + url: String(target.dataset.url || ''), + }); + suggestEl.hidden = true; + suggestEl.innerHTML = ''; + }); + + addButton.addEventListener('click', async () => { + const login = normalizeLogin(selectedCandidate?.login || addInput.value); + if (!login) { + setSelectedCandidate(null); + addStatus.textContent = 'Сначала укажите логин сервера доступа.'; + return; + } + try { + const resolved = await resolveShineServerByServerLogin({ serverLogin: login, solanaEndpoint }); + confirmModal?.open({ + title: 'Добавить сервер доступа?', + text: `Вы хотите добавить сервер доступа @${resolved.serverLogin}?`, + note: resolved.httpBase ? `Адрес сервера: ${resolved.httpBase}` : '', + onConfirm: () => window.alert('Добавление сервера доступа пока не реализовано.'), + }); + } catch (error) { + addStatus.textContent = error?.message || 'Не удалось проверить выбранный сервер.'; + } + }); + + screen.append( + renderHeader({ + title: 'Серверы доступа', + leftAction: { label: '←', onClick: () => navigate('settings-view') }, + }), + introCard, + listCard, + addCard, + ); + + void loadCurrentServers(); + + screen.cleanup = () => { + disposed = true; + confirmModal?.destroy(); + }; + + return screen; +} diff --git a/shine-UI/js/pages/server-settings-view.js b/shine-UI/js/pages/server-settings-view.js index 13c17c11..e0cbb70b 100644 --- a/shine-UI/js/pages/server-settings-view.js +++ b/shine-UI/js/pages/server-settings-view.js @@ -2,7 +2,7 @@ import { renderHeader } from '../components/header.js'; import { saveEntrySettings, state } from '../state.js'; import { checkServerAvailabilityByKey, resolveAndCheckShineServerLogin } from '../services/server-health-service.js'; -export const pageMeta = { id: 'server-settings-view', title: 'Настройки серверов' }; +export const pageMeta = { id: 'server-settings-view', title: 'Серверы блокчейнов' }; const SERVER_FIELDS = [ { key: 'solanaServer', label: 'Адрес Solana сервера' }, @@ -26,6 +26,16 @@ export function render({ navigate }) { const timers = new Map(); + const introCard = document.createElement('div'); + introCard.className = 'card stack'; + introCard.innerHTML = ` + <p class="field-label">Серверы блокчейнов и публичных данных</p> + <p class="meta-muted"> + Здесь настраиваются Solana, SHiNE и Arweave для чтения публичных данных и доступа к блокчейну. + Эти настройки не меняют список личных серверов доступа пользователя. + </p> + `; + const body = document.createElement('div'); body.className = 'card stack'; @@ -168,7 +178,7 @@ export function render({ navigate }) { await saveEntrySettings(draft); navigate('settings-view'); } catch (error) { - window.alert(error?.message || 'Не удалось сохранить настройки серверов.'); + window.alert(error?.message || 'Не удалось сохранить настройки серверов блокчейнов.'); } }); @@ -186,9 +196,10 @@ export function render({ navigate }) { screen.append( renderHeader({ - title: 'Настройки серверов', + title: 'Серверы блокчейнов', leftAction: { label: '←', onClick: () => navigate('settings-view') }, }), + introCard, body, actions, help, diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index a66c16ec..815688e2 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -42,14 +42,26 @@ export function render({ navigate }) { card.innerHTML = ` <button class="text-btn" type="button" id="settings-device">Устройства</button> <button class="text-btn" type="button" id="settings-remote-addblock">Remote AddBlock через homeserver</button> - <button class="text-btn" type="button" id="settings-servers">Настройки серверов</button> + <button class="text-btn" type="button" id="settings-access-servers"> + <span style="display:block; text-align:left;"> + <strong>Серверы доступа</strong> + <span class="meta-muted" style="display:block; margin-top:0.2rem;">Личная переписка, звонки и зашифрованные данные</span> + </span> + </button> + <button class="text-btn" type="button" id="settings-blockchain-servers"> + <span style="display:block; text-align:left;"> + <strong>Серверы блокчейнов</strong> + <span class="meta-muted" style="display:block; margin-top:0.2rem;">Solana, SHiNE и Arweave для публичных данных</span> + </span> + </button> <button class="text-btn" type="button" id="settings-language">Язык / Language</button> <button class="text-btn" type="button" id="settings-signout">Завершить текущий сеанс</button> `; card.querySelector('#settings-device').addEventListener('click', () => navigate('device-view')); card.querySelector('#settings-remote-addblock').addEventListener('click', () => navigate('remote-addblock-session-view')); - card.querySelector('#settings-servers').addEventListener('click', () => navigate('server-settings-view')); + card.querySelector('#settings-access-servers').addEventListener('click', () => navigate('access-servers-view')); + card.querySelector('#settings-blockchain-servers').addEventListener('click', () => navigate('server-settings-view')); card.querySelector('#settings-language').addEventListener('click', () => navigate('language-view')); const signOutBtn = card.querySelector('#settings-signout'); diff --git a/shine-UI/js/router.js b/shine-UI/js/router.js index fa65c242..46466cd2 100644 --- a/shine-UI/js/router.js +++ b/shine-UI/js/router.js @@ -29,6 +29,7 @@ const PRETTY_PATHS = new Map([ ['network-view', 'network'], ['notifications-view', 'notifications'], ['settings-view', 'settings'], + ['access-servers-view', 'settings/access-servers'], ['server-settings-view', 'settings/servers'], ['developer-settings-view', 'settings/developer'], ['trusted-device-login-settings-view', 'settings/device-login'], @@ -258,6 +259,7 @@ export function getRoute() { if (pageId === 'settings') { const sub = decodePart(segments[1] || '').toLowerCase(); + if (sub === 'access-servers') return { pageId: 'access-servers-view', params: {} }; if (sub === 'servers') return { pageId: 'server-settings-view', params: {} }; if (sub === 'developer') return { pageId: 'developer-settings-view', params: {} }; if (sub === 'device-login') return { pageId: 'trusted-device-login-settings-view', params: {} }; @@ -368,6 +370,7 @@ export function resolveToolbarActive(pageId) { pageId === 'profile-edit-view' || pageId === 'wallet-view' || pageId === 'settings-view' || + pageId === 'access-servers-view' || pageId === 'developer-settings-view' || pageId === 'server-settings-view' || pageId === 'remote-addblock-session-view' || diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index cb73438c..4a19d578 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -2603,8 +2603,12 @@ export class AuthService { return response.payload || {}; } - async searchUsers(prefix) { - const response = await this.ws.request('SearchUsers', { prefix }); + async searchUsers(prefix, options = {}) { + const payload = { prefix }; + if (typeof options?.isServer === 'boolean') { + payload.isServer = options.isServer; + } + const response = await this.ws.request('SearchUsers', payload); if (response.status !== 200) throw opError('SearchUsers', response); return response.payload?.logins || []; } From d1e06d9ef1231c5c2b6aaae8de26123ca7c73cc09d523571bc557d49b0930945 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Tue, 28 Jul 2026 16:40:22 +0400 Subject: [PATCH 53/83] =?UTF-8?q?UI:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D0=BA?= =?UTF-8?q?=D1=83=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/access-servers-view.js | 79 ++++++++++++------------ 2 files changed, 41 insertions(+), 40 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index e8fae79c..2cd52084 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.356 +client.version=1.2.357 server.version=1.2.341 diff --git a/shine-UI/js/pages/access-servers-view.js b/shine-UI/js/pages/access-servers-view.js index 653a4a4e..a620fa15 100644 --- a/shine-UI/js/pages/access-servers-view.js +++ b/shine-UI/js/pages/access-servers-view.js @@ -22,51 +22,15 @@ function createConfirmModal() { const root = document.getElementById('modal-root'); if (!(root instanceof HTMLElement)) return null; - const modal = document.createElement('div'); - modal.className = 'modal'; - modal.hidden = true; - modal.innerHTML = ` - <div class="modal-card stack" style="max-width:min(94vw,34rem);"> - <h3 class="modal-title" id="access-servers-dialog-title">Подтверждение</h3> - <p class="meta-muted" id="access-servers-dialog-text"></p> - <p class="meta-muted" id="access-servers-dialog-note" hidden></p> - <div class="auth-footer-actions"> - <button class="ghost-btn" type="button" id="access-servers-dialog-cancel">Нет</button> - <button class="primary-btn" type="button" id="access-servers-dialog-confirm">Да</button> - </div> - </div> - `; - root.append(modal); - - const titleEl = modal.querySelector('#access-servers-dialog-title'); - const textEl = modal.querySelector('#access-servers-dialog-text'); - const noteEl = modal.querySelector('#access-servers-dialog-note'); - const cancelBtn = modal.querySelector('#access-servers-dialog-cancel'); - const confirmBtn = modal.querySelector('#access-servers-dialog-confirm'); - let onConfirm = null; let onCancel = null; const close = () => { - modal.hidden = true; + root.innerHTML = ''; onConfirm = null; onCancel = null; }; - modal.addEventListener('click', (event) => { - if (event.target === modal) close(); - }); - cancelBtn?.addEventListener('click', async () => { - const handler = onCancel; - close(); - if (typeof handler === 'function') await handler(); - }); - confirmBtn?.addEventListener('click', async () => { - const handler = onConfirm; - close(); - if (typeof handler === 'function') await handler(); - }); - return { open({ title, @@ -77,6 +41,30 @@ function createConfirmModal() { onConfirm: confirmHandler, onCancel: cancelHandler, }) { + root.innerHTML = ` + <div class="modal" id="access-servers-confirm-modal"> + <div class="modal-card stack" style="max-width:min(94vw,34rem);"> + <h3 class="modal-title" id="access-servers-dialog-title"></h3> + <p class="meta-muted" id="access-servers-dialog-text"></p> + <p class="meta-muted" id="access-servers-dialog-note"${note ? '' : ' hidden'}></p> + <div class="auth-footer-actions"> + <button class="ghost-btn" type="button" id="access-servers-dialog-cancel"></button> + <button class="primary-btn" type="button" id="access-servers-dialog-confirm"></button> + </div> + </div> + </div> + `; + const modal = root.querySelector('#access-servers-confirm-modal'); + const titleEl = root.querySelector('#access-servers-dialog-title'); + const textEl = root.querySelector('#access-servers-dialog-text'); + const noteEl = root.querySelector('#access-servers-dialog-note'); + const cancelBtn = root.querySelector('#access-servers-dialog-cancel'); + const confirmBtn = root.querySelector('#access-servers-dialog-confirm'); + if (!(modal instanceof HTMLElement) || !(titleEl instanceof HTMLElement) || !(textEl instanceof HTMLElement) || !(noteEl instanceof HTMLElement) || !(cancelBtn instanceof HTMLButtonElement) || !(confirmBtn instanceof HTMLButtonElement)) { + close(); + return; + } + titleEl.textContent = String(title || 'Подтверждение'); textEl.textContent = String(text || ''); if (note) { @@ -90,10 +78,23 @@ function createConfirmModal() { cancelBtn.textContent = String(cancelLabel || 'Нет'); onConfirm = confirmHandler || null; onCancel = cancelHandler || null; - modal.hidden = false; + + modal.addEventListener('click', (event) => { + if (event.target === modal) close(); + }); + cancelBtn.addEventListener('click', async () => { + const handler = onCancel; + close(); + if (typeof handler === 'function') await handler(); + }); + confirmBtn.addEventListener('click', async () => { + const handler = onConfirm; + close(); + if (typeof handler === 'function') await handler(); + }); }, destroy() { - modal.remove(); + close(); }, }; } From 2f73cdb0f9f8ed8850f758e4f9c385f30734d43619566845e8ac07b0082b0937 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 29 Jul 2026 12:08:02 +0400 Subject: [PATCH 54/83] =?UTF-8?q?UI:=20=D1=80=D0=B5=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=81=D0=BC=D0=B5=D0=BD=D0=B0=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=B2=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=83=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/access-servers-view.js | 321 +++++++++++++++++++++-- 2 files changed, 302 insertions(+), 21 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 2cd52084..4f1b0b27 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.357 +client.version=1.2.358 server.version=1.2.341 diff --git a/shine-UI/js/pages/access-servers-view.js b/shine-UI/js/pages/access-servers-view.js index a620fa15..a07fc69c 100644 --- a/shine-UI/js/pages/access-servers-view.js +++ b/shine-UI/js/pages/access-servers-view.js @@ -1,7 +1,9 @@ import { renderHeader } from '../components/header.js'; import { authService, state } from '../state.js'; -import { readShineUserPda } from '../services/shine-user-pda-service.js'; +import { base64ToBytes } from '../services/crypto-utils.js'; +import { loadEncryptedUserSecrets } from '../services/key-vault.js'; import { resolveShineServerByServerLogin } from '../services/shine-server-resolver.js'; +import { readShineUserPda, updateShineUserPdaOnSolana } from '../services/shine-user-pda-service.js'; export const pageMeta = { id: 'access-servers-view', title: 'Серверы доступа' }; @@ -18,6 +20,34 @@ function normalizeLogin(value) { return String(value || '').trim().toLowerCase(); } +function equalBytes(a, b) { + const left = a instanceof Uint8Array ? a : new Uint8Array(a || []); + const right = b instanceof Uint8Array ? b : new Uint8Array(b || []); + if (left.length !== right.length) return false; + for (let i = 0; i < left.length; i += 1) { + if (left[i] !== right[i]) return false; + } + return true; +} + +function uniqueLogins(values) { + const seen = new Set(); + const result = []; + (Array.isArray(values) ? values : []).forEach((value) => { + const login = normalizeLogin(value); + if (!login || seen.has(login)) return; + seen.add(login); + result.push(login); + }); + return result; +} + +function shortenSignature(value) { + const text = String(value || '').trim(); + if (text.length <= 16) return text; + return `${text.slice(0, 8)}...${text.slice(-8)}`; +} + function createConfirmModal() { const root = document.getElementById('modal-root'); if (!(root instanceof HTMLElement)) return null; @@ -45,8 +75,8 @@ function createConfirmModal() { <div class="modal" id="access-servers-confirm-modal"> <div class="modal-card stack" style="max-width:min(94vw,34rem);"> <h3 class="modal-title" id="access-servers-dialog-title"></h3> - <p class="meta-muted" id="access-servers-dialog-text"></p> - <p class="meta-muted" id="access-servers-dialog-note"${note ? '' : ' hidden'}></p> + <p class="meta-muted" id="access-servers-dialog-text" style="white-space:pre-wrap; line-height:1.45;"></p> + <p class="meta-muted" id="access-servers-dialog-note"${note ? '' : ' hidden'} style="white-space:pre-wrap; line-height:1.45;"></p> <div class="auth-footer-actions"> <button class="ghost-btn" type="button" id="access-servers-dialog-cancel"></button> <button class="primary-btn" type="button" id="access-servers-dialog-confirm"></button> @@ -60,7 +90,12 @@ function createConfirmModal() { const noteEl = root.querySelector('#access-servers-dialog-note'); const cancelBtn = root.querySelector('#access-servers-dialog-cancel'); const confirmBtn = root.querySelector('#access-servers-dialog-confirm'); - if (!(modal instanceof HTMLElement) || !(titleEl instanceof HTMLElement) || !(textEl instanceof HTMLElement) || !(noteEl instanceof HTMLElement) || !(cancelBtn instanceof HTMLButtonElement) || !(confirmBtn instanceof HTMLButtonElement)) { + if (!(modal instanceof HTMLElement) + || !(titleEl instanceof HTMLElement) + || !(textEl instanceof HTMLElement) + || !(noteEl instanceof HTMLElement) + || !(cancelBtn instanceof HTMLButtonElement) + || !(confirmBtn instanceof HTMLButtonElement)) { close(); return; } @@ -74,8 +109,8 @@ function createConfirmModal() { noteEl.hidden = true; noteEl.textContent = ''; } - confirmBtn.textContent = String(confirmLabel || 'Да'); cancelBtn.textContent = String(cancelLabel || 'Нет'); + confirmBtn.textContent = String(confirmLabel || 'Да'); onConfirm = confirmHandler || null; onCancel = cancelHandler || null; @@ -99,17 +134,123 @@ function createConfirmModal() { }; } +function createPasswordModal() { + const root = document.getElementById('modal-root'); + if (!(root instanceof HTMLElement)) return null; + + return { + open({ title, text, note = '' }) { + root.innerHTML = ` + <div class="modal" id="access-servers-password-modal"> + <div class="modal-card stack" style="max-width:min(94vw,36rem);"> + <h3 class="modal-title" id="access-servers-password-title"></h3> + <p class="meta-muted" id="access-servers-password-text" style="white-space:pre-wrap; line-height:1.45;"></p> + <p class="meta-muted" id="access-servers-password-note"${note ? '' : ' hidden'} style="white-space:pre-wrap; line-height:1.45;"></p> + <label class="stack" style="gap:0.35rem;"> + <span class="field-label">Пароль аккаунта</span> + <input class="input" id="access-servers-password-input" type="password" autocomplete="current-password" placeholder="Введите пароль" /> + </label> + <div class="stack" style="gap:0.45rem;"> + <label class="checkbox-row"> + <input type="radio" name="access-servers-key-mode" value="once" checked /> + <span>Использовать root key только сейчас</span> + </label> + <label class="checkbox-row"> + <input type="radio" name="access-servers-key-mode" value="save" /> + <span>Сохранить root key на этом устройстве</span> + </label> + </div> + <p class="meta-muted">client key при необходимости тоже будет временно восстановлен из пароля. Если выбрать сохранение, он тоже попадёт в зашифрованный контейнер устройства.</p> + <div class="form-actions-grid"> + <button class="secondary-btn" type="button" id="access-servers-password-cancel">Отмена</button> + <button class="primary-btn" type="button" id="access-servers-password-confirm">Продолжить</button> + </div> + </div> + </div> + `; + + return new Promise((resolve) => { + const modal = root.querySelector('#access-servers-password-modal'); + const titleEl = root.querySelector('#access-servers-password-title'); + const textEl = root.querySelector('#access-servers-password-text'); + const noteEl = root.querySelector('#access-servers-password-note'); + const inputEl = root.querySelector('#access-servers-password-input'); + const cancelBtn = root.querySelector('#access-servers-password-cancel'); + const confirmBtn = root.querySelector('#access-servers-password-confirm'); + if (!(modal instanceof HTMLElement) + || !(titleEl instanceof HTMLElement) + || !(textEl instanceof HTMLElement) + || !(noteEl instanceof HTMLElement) + || !(inputEl instanceof HTMLInputElement) + || !(cancelBtn instanceof HTMLButtonElement) + || !(confirmBtn instanceof HTMLButtonElement)) { + root.innerHTML = ''; + resolve(null); + return; + } + + titleEl.textContent = String(title || 'Введите пароль'); + textEl.textContent = String(text || ''); + if (note) { + noteEl.hidden = false; + noteEl.textContent = String(note); + } else { + noteEl.hidden = true; + noteEl.textContent = ''; + } + + const close = (result = null) => { + root.innerHTML = ''; + resolve(result); + }; + + modal.addEventListener('click', (event) => { + if (event.target === modal) close(null); + }); + cancelBtn.addEventListener('click', () => close(null)); + inputEl.addEventListener('keydown', (event) => { + if (event.key === 'Enter') { + event.preventDefault(); + confirmBtn.click(); + } + }); + confirmBtn.addEventListener('click', () => { + const password = String(inputEl.value || ''); + if (!password.trim()) { + inputEl.focus(); + return; + } + const mode = root.querySelector('input[name="access-servers-key-mode"]:checked'); + close({ + password, + saveRoot: mode instanceof HTMLInputElement && mode.value === 'save', + }); + }); + window.setTimeout(() => inputEl.focus(), 0); + }); + }, + destroy() { + root.innerHTML = ''; + }, + }; +} + export function render({ navigate }) { const screen = document.createElement('section'); screen.className = 'stack'; const sessionLogin = normalizeLogin(state.session.login); const solanaEndpoint = String(state.entrySettings.solanaServer || '').trim(); + const storagePwd = String(state.session.storagePwdInMemory || '').trim(); + let disposed = false; + let operationBusy = false; let currentAccessServers = []; let selectedCandidate = null; let suggestionsLoading = false; + const confirmModal = createConfirmModal(); + const passwordModal = createPasswordModal(); const introCard = document.createElement('div'); introCard.className = 'card stack'; @@ -157,7 +298,7 @@ export function render({ navigate }) { suggestEl.hidden = true; const addStatus = document.createElement('p'); addStatus.className = 'meta-muted'; - addStatus.textContent = 'Добавление сервера пока работает как подтверждающая заглушка.'; + addStatus.textContent = 'Для изменения списка понадобится подпись root key.'; const addButton = document.createElement('button'); addButton.className = 'primary-btn'; addButton.type = 'button'; @@ -165,14 +306,27 @@ export function render({ navigate }) { addButton.disabled = true; addCard.append(addTitle, addHint, addInput, suggestEl, addStatus, addButton); + const refreshAddButton = () => { + addButton.disabled = operationBusy || (!selectedCandidate && !normalizeLogin(addInput.value)); + }; + + const setOperationBusy = (busy) => { + operationBusy = busy; + addInput.disabled = busy; + refreshAddButton(); + listBody.querySelectorAll('button').forEach((button) => { + button.disabled = busy; + }); + }; + const setSelectedCandidate = (candidate) => { selectedCandidate = candidate; - addButton.disabled = !candidate; + refreshAddButton(); if (candidate) { addInput.value = candidate.login; addStatus.textContent = `Выбран сервер @${candidate.login}${candidate.url ? ` (${candidate.url})` : ''}`; } else { - addStatus.textContent = 'Добавление сервера пока работает как подтверждающая заглушка.'; + addStatus.textContent = 'Для изменения списка понадобится подпись root key.'; } }; @@ -190,6 +344,7 @@ export function render({ navigate }) { const button = document.createElement('button'); button.className = 'text-btn'; button.type = 'button'; + button.disabled = operationBusy; button.innerHTML = ` <span style="display:block; text-align:left;"> <strong>@${escapeHtml(server.login)}</strong> @@ -197,8 +352,24 @@ export function render({ navigate }) { </span> `; button.addEventListener('click', () => { + if (operationBusy) return; const isLast = currentAccessServers.length <= 1; - const openStub = (noteText = '') => { + const performDisable = async () => { + const nextList = currentAccessServers + .map((item) => item.login) + .filter((login) => login !== server.login); + try { + await updateAccessServers(nextList, { + statusTarget: listStatus, + successText: `Сервер доступа @${server.login} отключён.`, + inFlightText: `Обновляем PDA и отключаем сервер @${server.login}...`, + }); + } catch { + // Сообщение уже показано в статусе. + } + }; + + const askFinal = (noteText = '') => { confirmModal?.open({ title: isLast ? 'Последний сервер доступа' : 'Отключить сервер доступа?', text: isLast @@ -206,8 +377,8 @@ export function render({ navigate }) { : `Хотите изменить запись в блокчейне Solana и отключить сервер доступа @${server.login}?`, note: noteText, confirmLabel: isLast ? 'Понимаю' : 'Да', - cancelLabel: 'Нет', - onConfirm: () => window.alert('Отключение сервера доступа пока не реализовано.'), + cancelLabel: isLast ? 'Отмена' : 'Нет', + onConfirm: performDisable, }); }; @@ -218,12 +389,12 @@ export function render({ navigate }) { note: 'После отключения последнего сервера доступа личная переписка пользователя на серверах доступа будет удалена.', confirmLabel: 'Продолжить', cancelLabel: 'Отмена', - onConfirm: () => openStub('Это повторное предупреждение. Сейчас действие остаётся заглушкой.'), + onConfirm: () => askFinal('Это повторное предупреждение перед записью нового списка серверов в Solana PDA.'), }); return; } - openStub(); + askFinal(); }); listBody.append(button); if (index < currentAccessServers.length - 1) { @@ -252,9 +423,7 @@ export function render({ navigate }) { listStatus.textContent = 'Читаем серверы доступа из Solana PDA...'; try { const parsed = await readShineUserPda({ login: sessionLogin, solanaEndpoint }); - const logins = Array.isArray(parsed?.accessServers) - ? [...new Set(parsed.accessServers.map(normalizeLogin).filter(Boolean))] - : []; + const logins = uniqueLogins(parsed?.accessServers); const rows = []; for (const login of logins) { try { @@ -293,7 +462,7 @@ export function render({ navigate }) { const loadSuggestions = async () => { const prefix = normalizeLogin(addInput.value); - if (suggestionsLoading || prefix.length < 2) { + if (suggestionsLoading || prefix.length < 2 || operationBusy) { suggestEl.hidden = true; suggestEl.innerHTML = ''; return; @@ -307,7 +476,7 @@ export function render({ navigate }) { const resolved = await resolveShineServerByServerLogin({ serverLogin: login, solanaEndpoint }); items.push({ login: resolved.serverLogin, url: resolved.httpBase }); } catch { - // если server PDA битая, пропускаем подсказку + // Если server PDA повреждена, не показываем подсказку. } } if (!disposed) renderSuggestions(items); @@ -322,8 +491,100 @@ export function render({ navigate }) { } }; + const resolveAccessServerSigningMaterial = async (currentPda) => { + if (!sessionLogin) throw new Error('Нет активной пользовательской сессии.'); + if (!storagePwd) throw new Error('В памяти сессии нет storagePwd. Выполните вход заново.'); + + let saved = null; + try { + saved = await loadEncryptedUserSecrets(sessionLogin, storagePwd); + } catch { + saved = null; + } + + const savedRoot = String(saved?.rootKey || '').trim(); + const savedClient = String(saved?.clientKey || '').trim(); + if (savedRoot && savedClient) { + return { + rootPrivatePkcs8B64: savedRoot, + clientPrivatePkcs8B64: savedClient, + }; + } + + const passwordResult = await passwordModal?.open({ + title: 'Нужен пароль для обновления серверов доступа', + text: 'Чтобы изменить список серверов доступа, нужно подписать обновление user PDA через root key. Этот ключ не найден в локальном зашифрованном контейнере устройства.', + note: savedClient + ? 'client key уже сохранён на устройстве. Из пароля будет восстановлен только root key.' + : 'На устройстве не хватает root key и/или client key. Они будут восстановлены из пароля аккаунта.', + }); + if (!passwordResult) { + throw new Error('Операция отменена пользователем.'); + } + + const keyBundle = await authService.derivePasswordKeyBundle(sessionLogin, passwordResult.password); + const derivedRootPublic = base64ToBytes(keyBundle.rootPair.publicKeyB64); + const derivedClientPublic = base64ToBytes(keyBundle.clientPair.publicKeyB64); + if (!equalBytes(derivedRootPublic, currentPda.rootKey)) { + throw new Error('Пароль не подходит: root key не совпал с user PDA.'); + } + if (!equalBytes(derivedClientPublic, currentPda.clientKey)) { + throw new Error('Пароль не подходит: client key не совпал с user PDA.'); + } + + if (passwordResult.saveRoot) { + await authService.persistSelectedKeys(sessionLogin, storagePwd, keyBundle, { + saveRoot: true, + saveBlockchain: false, + }); + } + + return { + rootPrivatePkcs8B64: keyBundle.rootPair.privatePkcs8B64, + clientPrivatePkcs8B64: keyBundle.clientPair.privatePkcs8B64, + }; + }; + + const updateAccessServers = async (nextLogins, { + statusTarget, + successText, + inFlightText, + } = {}) => { + const target = statusTarget instanceof HTMLElement ? statusTarget : listStatus; + if (!sessionLogin) throw new Error('Нет активной пользовательской сессии.'); + if (!solanaEndpoint) throw new Error('Не задан Solana RPC endpoint.'); + if (operationBusy) return; + + const normalizedList = uniqueLogins(nextLogins); + setOperationBusy(true); + target.textContent = String(inFlightText || 'Обновляем список серверов доступа...'); + try { + const currentPda = await readShineUserPda({ login: sessionLogin, solanaEndpoint }); + const signingMaterial = await resolveAccessServerSigningMaterial(currentPda); + const tx = await updateShineUserPdaOnSolana({ + login: sessionLogin, + solanaEndpoint, + rootPrivatePkcs8B64: signingMaterial.rootPrivatePkcs8B64, + clientPrivatePkcs8B64: signingMaterial.clientPrivatePkcs8B64, + accessServers: normalizedList, + }); + await loadCurrentServers(); + target.textContent = `${String(successText || 'Список серверов доступа обновлён.')} Tx: ${shortenSignature(tx?.signature)}`; + setSelectedCandidate(null); + suggestEl.hidden = true; + suggestEl.innerHTML = ''; + refreshAddButton(); + } catch (error) { + target.textContent = error?.message || 'Не удалось обновить список серверов доступа.'; + throw error; + } finally { + setOperationBusy(false); + } + }; + addInput.addEventListener('input', () => { setSelectedCandidate(null); + refreshAddButton(); void loadSuggestions(); }); addInput.addEventListener('focus', () => { @@ -341,19 +602,38 @@ export function render({ navigate }) { }); addButton.addEventListener('click', async () => { + if (operationBusy) return; const login = normalizeLogin(selectedCandidate?.login || addInput.value); if (!login) { setSelectedCandidate(null); addStatus.textContent = 'Сначала укажите логин сервера доступа.'; return; } + if (currentAccessServers.some((item) => item.login === login)) { + addStatus.textContent = `Сервер @${login} уже есть в списке.`; + return; + } + try { const resolved = await resolveShineServerByServerLogin({ serverLogin: login, solanaEndpoint }); confirmModal?.open({ title: 'Добавить сервер доступа?', text: `Вы хотите добавить сервер доступа @${resolved.serverLogin}?`, - note: resolved.httpBase ? `Адрес сервера: ${resolved.httpBase}` : '', - onConfirm: () => window.alert('Добавление сервера доступа пока не реализовано.'), + note: resolved.httpBase + ? `Адрес сервера: ${resolved.httpBase}\nИзменение будет записано в Solana user PDA.` + : 'Изменение будет записано в Solana user PDA.', + onConfirm: async () => { + const nextList = uniqueLogins([...currentAccessServers.map((item) => item.login), resolved.serverLogin]); + try { + await updateAccessServers(nextList, { + statusTarget: addStatus, + successText: `Сервер доступа @${resolved.serverLogin} добавлен.`, + inFlightText: `Обновляем PDA и добавляем сервер @${resolved.serverLogin}...`, + }); + } catch { + // Сообщение уже показано в статусе. + } + }, }); } catch (error) { addStatus.textContent = error?.message || 'Не удалось проверить выбранный сервер.'; @@ -375,6 +655,7 @@ export function render({ navigate }) { screen.cleanup = () => { disposed = true; confirmModal?.destroy(); + passwordModal?.destroy(); }; return screen; From ca8b6a33ba80ca0a85439e5e6ad440a443cd1596643335c1c024ba3795c68c60 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 29 Jul 2026 12:51:11 +0400 Subject: [PATCH 55/83] =?UTF-8?q?UI:=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B5=D1=85?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=BA=D0=B5=20rent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/access-servers-view.js | 47 ++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 4f1b0b27..b690bcaa 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.358 +client.version=1.2.359 server.version=1.2.341 diff --git a/shine-UI/js/pages/access-servers-view.js b/shine-UI/js/pages/access-servers-view.js index a07fc69c..ce7d7277 100644 --- a/shine-UI/js/pages/access-servers-view.js +++ b/shine-UI/js/pages/access-servers-view.js @@ -1,9 +1,10 @@ import { renderHeader } from '../components/header.js'; import { authService, state } from '../state.js'; -import { base64ToBytes } from '../services/crypto-utils.js'; +import { base64ToBytes, bytesToBase58, publicKeyB64FromPkcs8Ed25519 } from '../services/crypto-utils.js'; import { loadEncryptedUserSecrets } from '../services/key-vault.js'; import { resolveShineServerByServerLogin } from '../services/shine-server-resolver.js'; import { readShineUserPda, updateShineUserPdaOnSolana } from '../services/shine-user-pda-service.js'; +import { getTopupSiteUrl } from '../services/solana-wallet-service.js'; export const pageMeta = { id: 'access-servers-view', title: 'Серверы доступа' }; @@ -48,6 +49,27 @@ function shortenSignature(value) { return `${text.slice(0, 8)}...${text.slice(-8)}`; } +function isInsufficientFundsForRentError(error) { + const text = [ + error?.message, + error?.transactionMessage, + Array.isArray(error?.logs) ? error.logs.join('\n') : '', + Array.isArray(error?.transactionLogs) ? error.transactionLogs.join('\n') : '', + Array.isArray(error?.simulationLogs) ? error.simulationLogs.join('\n') : '', + ].filter(Boolean).join('\n').toLowerCase(); + return text.includes('insufficient funds') && text.includes('rent'); +} + +function clientAddressFromPublicB64(publicKeyB64) { + const bytes = base64ToBytes(publicKeyB64); + if (bytes.length !== 32) throw new Error('client public key должен быть 32 байта'); + return bytesToBase58(bytes); +} + +async function clientAddressFromPrivatePkcs8(privatePkcs8B64) { + return clientAddressFromPublicB64(await publicKeyB64FromPkcs8Ed25519(privatePkcs8B64)); +} + function createConfirmModal() { const root = document.getElementById('modal-root'); if (!(root instanceof HTMLElement)) return null; @@ -460,6 +482,18 @@ export function render({ navigate }) { )).join(''); }; + const showTopupRequiredStatus = (target, clientAddress) => { + const address = String(clientAddress || '').trim(); + const topupUrl = address ? getTopupSiteUrl(address) : '/devnet-topup'; + target.innerHTML = ` + <span style="display:block; margin-bottom:0.55rem;"> + Не хватает SOL на client key для оплаты Solana rent/fee при обновлении user PDA. + </span> + ${address ? `<span style="display:block; overflow-wrap:anywhere; margin-bottom:0.55rem;">Кошелёк: ${escapeHtml(address)}</span>` : ''} + <a class="primary-btn" href="${escapeHtml(topupUrl)}" target="_blank" rel="noopener" style="display:inline-flex; text-decoration:none;">Пополнить DEVNET кошелёк</a> + `; + }; + const loadSuggestions = async () => { const prefix = normalizeLogin(addInput.value); if (suggestionsLoading || prefix.length < 2 || operationBusy) { @@ -508,6 +542,7 @@ export function render({ navigate }) { return { rootPrivatePkcs8B64: savedRoot, clientPrivatePkcs8B64: savedClient, + clientAddress: await clientAddressFromPrivatePkcs8(savedClient), }; } @@ -542,6 +577,7 @@ export function render({ navigate }) { return { rootPrivatePkcs8B64: keyBundle.rootPair.privatePkcs8B64, clientPrivatePkcs8B64: keyBundle.clientPair.privatePkcs8B64, + clientAddress: clientAddressFromPublicB64(keyBundle.clientPair.publicKeyB64), }; }; @@ -558,9 +594,10 @@ export function render({ navigate }) { const normalizedList = uniqueLogins(nextLogins); setOperationBusy(true); target.textContent = String(inFlightText || 'Обновляем список серверов доступа...'); + let signingMaterial = null; try { const currentPda = await readShineUserPda({ login: sessionLogin, solanaEndpoint }); - const signingMaterial = await resolveAccessServerSigningMaterial(currentPda); + signingMaterial = await resolveAccessServerSigningMaterial(currentPda); const tx = await updateShineUserPdaOnSolana({ login: sessionLogin, solanaEndpoint, @@ -575,7 +612,11 @@ export function render({ navigate }) { suggestEl.innerHTML = ''; refreshAddButton(); } catch (error) { - target.textContent = error?.message || 'Не удалось обновить список серверов доступа.'; + if (isInsufficientFundsForRentError(error)) { + showTopupRequiredStatus(target, signingMaterial?.clientAddress); + } else { + target.textContent = error?.message || 'Не удалось обновить список серверов доступа.'; + } throw error; } finally { setOperationBusy(false); From 143adcbbe40842f18506698d41e9d0a7ed1a25be21e3bf9414f49a0271e513bf Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Wed, 29 Jul 2026 13:59:40 +0400 Subject: [PATCH 56/83] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B4=D0=BE=D0=B3=D0=BE=D0=BD=D1=8F=D1=8E=D1=89?= =?UTF-8?q?=D1=83=D1=8E=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20DM=20=D0=BC=D0=B5=D0=B6=D0=B4?= =?UTF-8?q?=D1=83=20access-=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/shine/db/DatabaseInitializer.java | 6 + .../java/shine/db/dao/DmSyncPeerStateDAO.java | 173 ++++++++++++++++ .../java/shine/db/dao/SignedMessagesDAO.java | 68 +++++++ .../db/dao/UserAccessServersCurrentDAO.java | 20 ++ .../db/entities/DmSyncPeerStateEntry.java | 32 +++ .../main/resources/postgres/migration_v3.sql | 47 +++++ .../src/main/resources/postgres/schema_v1.sql | 40 +++- .../ws_protocol/JSON/JsonHandlerRegistry.java | 4 + .../JSON/messages/DmSyncApplySupport.java | 50 +++++ .../messages/Net_DmSyncBatch_Handler.java | 114 +++++++++++ .../entyties/Net_DmSyncBatch_Request.java | 22 +++ .../entyties/Net_DmSyncBatch_Response.java | 62 ++++++ .../java/server/sync/RemoteDmSyncClient.java | 60 ++++++ .../server/sync/PeriodicDmSyncService.java | 185 ++++++++++++++++++ .../src/main/java/server/ws/WsServer.java | 2 + .../src/main/resources/application.properties | 8 + VERSION.properties | 2 +- docs/API/09_Operations_Index.md | 1 + docs/API/12_Direct_Messages_Push_Calls_API.md | 80 +++++++- docs/Personal_Messages/Протокол_DM_v1.md | 60 +++++- docs/Personal_Messages/Формат_DM_v1.md | 2 + 21 files changed, 1025 insertions(+), 13 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DmSyncPeerStateDAO.java create mode 100644 SHiNE-server/shine-server-db/src/main/java/shine/db/entities/DmSyncPeerStateEntry.java create mode 100644 SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v3.sql create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/DmSyncApplySupport.java create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DmSyncBatch_Handler.java create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Request.java create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Response.java create mode 100644 SHiNE-server/src/main/java/server/sync/PeriodicDmSyncService.java diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index 85800e61..5d00f285 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -19,8 +19,10 @@ public final class DatabaseInitializer { public static final String DB_SCHEMA_VERSION_TABLE = "db_schema_version"; public static final int SCHEMA_VERSION_1 = 1; public static final int SCHEMA_VERSION_2 = 2; + public static final int SCHEMA_VERSION_3 = 3; public static final String POSTGRES_SCHEMA_RESOURCE = "postgres/schema_v1.sql"; public static final String POSTGRES_MIGRATION_V2_RESOURCE = "postgres/migration_v2.sql"; + public static final String POSTGRES_MIGRATION_V3_RESOURCE = "postgres/migration_v3.sql"; private DatabaseInitializer() {} @@ -82,6 +84,10 @@ public final class DatabaseInitializer { int currentVersion = readCurrentSchemaVersion(conn); if (currentVersion < SCHEMA_VERSION_2) { runSqlScript(conn, POSTGRES_MIGRATION_V2_RESOURCE); + currentVersion = SCHEMA_VERSION_2; + } + if (currentVersion < SCHEMA_VERSION_3) { + runSqlScript(conn, POSTGRES_MIGRATION_V3_RESOURCE); } } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DmSyncPeerStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DmSyncPeerStateDAO.java new file mode 100644 index 00000000..b5fe6410 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/DmSyncPeerStateDAO.java @@ -0,0 +1,173 @@ +package shine.db.dao; + +import shine.db.DbController; +import shine.db.entities.DmSyncPeerStateEntry; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public final class DmSyncPeerStateDAO { + private static volatile DmSyncPeerStateDAO instance; + private final DbController db = DbController.getInstance(); + + private DmSyncPeerStateDAO() {} + + public static DmSyncPeerStateDAO getInstance() { + if (instance == null) { + synchronized (DmSyncPeerStateDAO.class) { + if (instance == null) instance = new DmSyncPeerStateDAO(); + } + } + return instance; + } + + public DmSyncPeerStateEntry getOrCreate(String ownerLogin, String remoteServerLogin, String remoteServerUrl) throws SQLException { + DmSyncPeerStateEntry existing = get(ownerLogin, remoteServerLogin); + if (existing != null) { + if (remoteServerUrl != null && !remoteServerUrl.isBlank() + && !remoteServerUrl.equals(existing.getRemoteServerUrl())) { + touchRemoteUrl(ownerLogin, remoteServerLogin, remoteServerUrl); + existing.setRemoteServerUrl(remoteServerUrl); + } + return existing; + } + + long nowMs = System.currentTimeMillis(); + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(""" + INSERT INTO dm_sync_peer_state ( + owner_login, remote_server_login, remote_server_url, + cursor_stored_at_ms, cursor_message_key, bootstrap_completed, + last_sync_at_ms, last_error, updated_at_ms + ) VALUES (?, ?, ?, 0, '', FALSE, NULL, NULL, ?) + ON CONFLICT DO NOTHING + """)) { + ps.setString(1, ownerLogin); + ps.setString(2, remoteServerLogin); + ps.setString(3, remoteServerUrl == null ? "" : remoteServerUrl); + ps.setLong(4, nowMs); + ps.executeUpdate(); + } + existing = get(ownerLogin, remoteServerLogin); + if (existing == null) { + throw new SQLException("Failed to create dm_sync_peer_state row"); + } + return existing; + } + + public void updateSuccess( + String ownerLogin, + String remoteServerLogin, + String remoteServerUrl, + long cursorStoredAtMs, + String cursorMessageKey, + boolean bootstrapCompleted + ) throws SQLException { + long nowMs = System.currentTimeMillis(); + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(""" + INSERT INTO dm_sync_peer_state ( + owner_login, remote_server_login, remote_server_url, + cursor_stored_at_ms, cursor_message_key, bootstrap_completed, + last_sync_at_ms, last_error, updated_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, NULL, ?) + ON CONFLICT (owner_login, remote_server_login) DO UPDATE SET + remote_server_url = EXCLUDED.remote_server_url, + cursor_stored_at_ms = EXCLUDED.cursor_stored_at_ms, + cursor_message_key = EXCLUDED.cursor_message_key, + bootstrap_completed = EXCLUDED.bootstrap_completed, + last_sync_at_ms = EXCLUDED.last_sync_at_ms, + last_error = NULL, + updated_at_ms = EXCLUDED.updated_at_ms + """)) { + ps.setString(1, ownerLogin); + ps.setString(2, remoteServerLogin); + ps.setString(3, remoteServerUrl == null ? "" : remoteServerUrl); + ps.setLong(4, Math.max(0L, cursorStoredAtMs)); + ps.setString(5, cursorMessageKey == null ? "" : cursorMessageKey); + ps.setBoolean(6, bootstrapCompleted); + ps.setLong(7, nowMs); + ps.setLong(8, nowMs); + ps.executeUpdate(); + } + } + + public void updateError(String ownerLogin, String remoteServerLogin, String remoteServerUrl, String error) throws SQLException { + long nowMs = System.currentTimeMillis(); + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(""" + INSERT INTO dm_sync_peer_state ( + owner_login, remote_server_login, remote_server_url, + cursor_stored_at_ms, cursor_message_key, bootstrap_completed, + last_sync_at_ms, last_error, updated_at_ms + ) VALUES (?, ?, ?, 0, '', FALSE, NULL, ?, ?) + ON CONFLICT (owner_login, remote_server_login) DO UPDATE SET + remote_server_url = EXCLUDED.remote_server_url, + last_error = EXCLUDED.last_error, + updated_at_ms = EXCLUDED.updated_at_ms + """)) { + ps.setString(1, ownerLogin); + ps.setString(2, remoteServerLogin); + ps.setString(3, remoteServerUrl == null ? "" : remoteServerUrl); + ps.setString(4, truncate(error)); + ps.setLong(5, nowMs); + ps.executeUpdate(); + } + } + + private DmSyncPeerStateEntry get(String ownerLogin, String remoteServerLogin) throws SQLException { + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(""" + SELECT owner_login, remote_server_login, remote_server_url, + cursor_stored_at_ms, cursor_message_key, bootstrap_completed, + last_sync_at_ms, last_error, updated_at_ms + FROM dm_sync_peer_state + WHERE LOWER(owner_login) = LOWER(?) + AND LOWER(remote_server_login) = LOWER(?) + LIMIT 1 + """)) { + ps.setString(1, ownerLogin); + ps.setString(2, remoteServerLogin); + try (ResultSet rs = ps.executeQuery()) { + if (!rs.next()) return null; + DmSyncPeerStateEntry e = new DmSyncPeerStateEntry(); + e.setOwnerLogin(rs.getString("owner_login")); + e.setRemoteServerLogin(rs.getString("remote_server_login")); + e.setRemoteServerUrl(rs.getString("remote_server_url")); + e.setCursorStoredAtMs(rs.getLong("cursor_stored_at_ms")); + e.setCursorMessageKey(rs.getString("cursor_message_key")); + e.setBootstrapCompleted(rs.getBoolean("bootstrap_completed")); + long lastSyncAt = rs.getLong("last_sync_at_ms"); + e.setLastSyncAtMs(rs.wasNull() ? null : lastSyncAt); + e.setLastError(rs.getString("last_error")); + e.setUpdatedAtMs(rs.getLong("updated_at_ms")); + return e; + } + } + } + + private void touchRemoteUrl(String ownerLogin, String remoteServerLogin, String remoteServerUrl) throws SQLException { + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(""" + UPDATE dm_sync_peer_state + SET remote_server_url = ?, updated_at_ms = ? + WHERE LOWER(owner_login) = LOWER(?) + AND LOWER(remote_server_login) = LOWER(?) + """)) { + ps.setString(1, remoteServerUrl); + ps.setLong(2, System.currentTimeMillis()); + ps.setString(3, ownerLogin); + ps.setString(4, remoteServerLogin); + ps.executeUpdate(); + } + } + + private static String truncate(String value) { + if (value == null) return null; + String clean = value.trim(); + if (clean.length() <= 500) return clean; + return clean.substring(0, 500); + } +} diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java index d065e818..e8d11c6f 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/SignedMessagesDAO.java @@ -416,6 +416,72 @@ public final class SignedMessagesDAO { } } + public SyncBatch listSyncBatch( + String ownerLogin, + long afterStoredAtMs, + String afterMessageKey, + int limit, + int maxBytes + ) throws Exception { + int safeLimit = Math.max(1, Math.min(limit, 500)); + int sqlLimit = safeLimit + 1; + String safeAfterMessageKey = afterMessageKey == null ? "" : afterMessageKey; + try (Connection c = db.getConnection()) { + String sql = """ + SELECT + message_key, base_key, target_login, from_login, to_login, + time_ms, nonce, message_type, revision_time_ms, reencrypted_at_ms, + raw_block, created_at_ms, source_api, origin_session_id, + receipt_ref_base_key, receipt_ref_type, read_at_ms + FROM %s + WHERE ( + LOWER(target_login) = LOWER(?) + OR ( + message_type IN (5, 6, 7, 8) + AND (LOWER(from_login) = LOWER(?) OR LOWER(to_login) = LOWER(?)) + ) + ) + AND ( + created_at_ms > ? + OR (created_at_ms = ? AND (? = '' OR message_key > ?)) + ) + ORDER BY created_at_ms ASC, message_key ASC + LIMIT ? + """.formatted(messagesTable()); + List<SignedMessageEntry> out = new ArrayList<>(); + boolean hasMore = false; + int usedBytes = 0; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, ownerLogin); + ps.setString(2, ownerLogin); + ps.setString(3, ownerLogin); + ps.setLong(4, Math.max(0L, afterStoredAtMs)); + ps.setLong(5, Math.max(0L, afterStoredAtMs)); + ps.setString(6, safeAfterMessageKey); + ps.setString(7, safeAfterMessageKey); + ps.setInt(8, sqlLimit); + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + SignedMessageEntry row = mapRow(rs); + byte[] raw = row.getRawBlock(); + int rowBytes = raw == null ? 0 : raw.length; + if (out.size() >= safeLimit) { + hasMore = true; + break; + } + if (!out.isEmpty() && maxBytes > 0 && usedBytes + rowBytes > maxBytes) { + hasMore = true; + break; + } + out.add(row); + usedBytes += rowBytes; + } + } + } + return new SyncBatch(out, hasMore, usedBytes); + } + } + private void upsertMessage(Connection c, SignedMessageEntry e) throws SQLException { String sql = """ INSERT INTO %s ( @@ -748,6 +814,8 @@ public final class SignedMessagesDAO { } } + public record SyncBatch(List<SignedMessageEntry> items, boolean hasMore, int rawBytes) {} + @FunctionalInterface private interface SqlWork<T> { T run() throws Exception; diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java index 042de2a5..e95a6df4 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/UserAccessServersCurrentDAO.java @@ -55,6 +55,26 @@ public final class UserAccessServersCurrentDAO { return result; } + public List<String> listUserLoginsByServerLogin(String serverLogin) throws SQLException { + String sql = """ + SELECT user_login + FROM user_access_servers_current + WHERE LOWER(server_login) = LOWER(?) + ORDER BY user_login + """; + List<String> result = new ArrayList<>(); + try (Connection c = db.getConnection(); + PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, serverLogin); + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + result.add(rs.getString("user_login")); + } + } + } + return result; + } + private UserAccessServerRouteEntry mapRow(ResultSet rs) throws SQLException { UserAccessServerRouteEntry entry = new UserAccessServerRouteEntry(); entry.setUserLogin(rs.getString("user_login")); diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/DmSyncPeerStateEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/DmSyncPeerStateEntry.java new file mode 100644 index 00000000..7730e349 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/DmSyncPeerStateEntry.java @@ -0,0 +1,32 @@ +package shine.db.entities; + +public class DmSyncPeerStateEntry { + private String ownerLogin; + private String remoteServerLogin; + private String remoteServerUrl; + private long cursorStoredAtMs; + private String cursorMessageKey; + private boolean bootstrapCompleted; + private Long lastSyncAtMs; + private String lastError; + private long updatedAtMs; + + public String getOwnerLogin() { return ownerLogin; } + public void setOwnerLogin(String ownerLogin) { this.ownerLogin = ownerLogin; } + public String getRemoteServerLogin() { return remoteServerLogin; } + public void setRemoteServerLogin(String remoteServerLogin) { this.remoteServerLogin = remoteServerLogin; } + public String getRemoteServerUrl() { return remoteServerUrl; } + public void setRemoteServerUrl(String remoteServerUrl) { this.remoteServerUrl = remoteServerUrl; } + public long getCursorStoredAtMs() { return cursorStoredAtMs; } + public void setCursorStoredAtMs(long cursorStoredAtMs) { this.cursorStoredAtMs = cursorStoredAtMs; } + public String getCursorMessageKey() { return cursorMessageKey; } + public void setCursorMessageKey(String cursorMessageKey) { this.cursorMessageKey = cursorMessageKey; } + public boolean isBootstrapCompleted() { return bootstrapCompleted; } + public void setBootstrapCompleted(boolean bootstrapCompleted) { this.bootstrapCompleted = bootstrapCompleted; } + public Long getLastSyncAtMs() { return lastSyncAtMs; } + public void setLastSyncAtMs(Long lastSyncAtMs) { this.lastSyncAtMs = lastSyncAtMs; } + public String getLastError() { return lastError; } + public void setLastError(String lastError) { this.lastError = lastError; } + public long getUpdatedAtMs() { return updatedAtMs; } + public void setUpdatedAtMs(long updatedAtMs) { this.updatedAtMs = updatedAtMs; } +} diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v3.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v3.sql new file mode 100644 index 00000000..97f55e62 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v3.sql @@ -0,0 +1,47 @@ +BEGIN; + +CREATE INDEX IF NOT EXISTS idx_signed_messages_sync_cursor + ON signed_messages(target_login, created_at_ms, message_key); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_sync_cursor_lower + ON signed_messages(LOWER(target_login), created_at_ms, message_key); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_from_sync_cursor + ON signed_messages(from_login, created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_to_sync_cursor + ON signed_messages(to_login, created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_from_sync_cursor_lower + ON signed_messages(LOWER(from_login), created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_to_sync_cursor_lower + ON signed_messages(LOWER(to_login), created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE TABLE IF NOT EXISTS dm_sync_peer_state ( + owner_login TEXT NOT NULL, + remote_server_login TEXT NOT NULL, + remote_server_url TEXT NOT NULL, + cursor_stored_at_ms BIGINT NOT NULL DEFAULT 0, + cursor_message_key TEXT NOT NULL DEFAULT '', + bootstrap_completed BOOLEAN NOT NULL DEFAULT FALSE, + last_sync_at_ms BIGINT, + last_error TEXT, + updated_at_ms BIGINT NOT NULL, + PRIMARY KEY (owner_login, remote_server_login) +); + +CREATE INDEX IF NOT EXISTS idx_dm_sync_peer_state_owner + ON dm_sync_peer_state(owner_login); + +INSERT INTO db_schema_version (id, schema_version, updated_at_ms) +VALUES (1, 3, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +ON CONFLICT (id) DO UPDATE SET + schema_version = EXCLUDED.schema_version, + updated_at_ms = EXCLUDED.updated_at_ms; + +COMMIT; diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index ff882997..364d5d4c 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS db_schema_version ( ); INSERT INTO db_schema_version (id, schema_version, updated_at_ms) -VALUES (1, 2, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +VALUES (1, 3, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) ON CONFLICT (id) DO UPDATE SET schema_version = EXCLUDED.schema_version, updated_at_ms = EXCLUDED.updated_at_ms; @@ -652,6 +652,28 @@ CREATE INDEX IF NOT EXISTS idx_signed_messages_target CREATE INDEX IF NOT EXISTS idx_signed_messages_base ON signed_messages(base_key, message_type); +CREATE INDEX IF NOT EXISTS idx_signed_messages_sync_cursor + ON signed_messages(target_login, created_at_ms, message_key); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_sync_cursor_lower + ON signed_messages(LOWER(target_login), created_at_ms, message_key); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_from_sync_cursor + ON signed_messages(from_login, created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_to_sync_cursor + ON signed_messages(to_login, created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_from_sync_cursor_lower + ON signed_messages(LOWER(from_login), created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + +CREATE INDEX IF NOT EXISTS idx_signed_messages_delete_to_sync_cursor_lower + ON signed_messages(LOWER(to_login), created_at_ms, message_key) + WHERE message_type IN (5, 6, 7, 8); + CREATE UNIQUE INDEX IF NOT EXISTS uq_signed_messages_receipt_incoming ON signed_messages(target_login, receipt_ref_base_key) WHERE message_type = 3 AND receipt_ref_base_key IS NOT NULL; @@ -672,6 +694,22 @@ CREATE TABLE IF NOT EXISTS signed_message_session_delivery ( CREATE INDEX IF NOT EXISTS idx_signed_message_delivery_session ON signed_message_session_delivery(session_id, delivered); +CREATE TABLE IF NOT EXISTS dm_sync_peer_state ( + owner_login TEXT NOT NULL, + remote_server_login TEXT NOT NULL, + remote_server_url TEXT NOT NULL, + cursor_stored_at_ms BIGINT NOT NULL DEFAULT 0, + cursor_message_key TEXT NOT NULL DEFAULT '', + bootstrap_completed BOOLEAN NOT NULL DEFAULT FALSE, + last_sync_at_ms BIGINT, + last_error TEXT, + updated_at_ms BIGINT NOT NULL, + PRIMARY KEY (owner_login, remote_server_login) +); + +CREATE INDEX IF NOT EXISTS idx_dm_sync_peer_state_owner + ON dm_sync_peer_state(owner_login); + CREATE TABLE IF NOT EXISTS message_views_state ( viewer_login TEXT NOT NULL, to_bch_name TEXT NOT NULL, diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java index 5a7a7cca..787efd20 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/JsonHandlerRegistry.java @@ -88,6 +88,7 @@ import server.logic.ws_protocol.JSON.messages.Net_CallInviteBroadcast_Handler; import server.logic.ws_protocol.JSON.messages.Net_CallSignalToSession_Handler; import server.logic.ws_protocol.JSON.messages.Net_DeleteConversation_Handler; import server.logic.ws_protocol.JSON.messages.Net_DeleteMessage_Handler; +import server.logic.ws_protocol.JSON.messages.Net_DmSyncBatch_Handler; import server.logic.ws_protocol.JSON.messages.Net_GetDirectMessages_Handler; import server.logic.ws_protocol.JSON.messages.Net_SendSignal_Handler; import server.logic.ws_protocol.JSON.messages.Net_ReceiveIncomingMessage_Handler; @@ -100,6 +101,7 @@ import server.logic.ws_protocol.JSON.messages.entyties.Net_CallInviteBroadcast_R import server.logic.ws_protocol.JSON.messages.entyties.Net_CallSignalToSession_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteConversation_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_DeleteMessage_Request; +import server.logic.ws_protocol.JSON.messages.entyties.Net_DmSyncBatch_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_GetDirectMessages_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_SendSignal_Request; import server.logic.ws_protocol.JSON.messages.entyties.Net_ReceiveIncomingMessage_Request; @@ -198,6 +200,7 @@ public final class JsonHandlerRegistry { Map.entry("ReceiveIncomingMessage", new Net_ReceiveIncomingMessage_Handler()), Map.entry("DeleteMessage", new Net_DeleteMessage_Handler()), Map.entry("DeleteConversation", new Net_DeleteConversation_Handler()), + Map.entry("DmSyncBatch", new Net_DmSyncBatch_Handler()), Map.entry("GetDirectMessages", new Net_GetDirectMessages_Handler()), Map.entry("AckSessionDelivery", new Net_AckSessionDelivery_Handler()), Map.entry("CallInviteBroadcast", new Net_CallInviteBroadcast_Handler()), @@ -278,6 +281,7 @@ public final class JsonHandlerRegistry { Map.entry("ReceiveIncomingMessage", Net_ReceiveIncomingMessage_Request.class), Map.entry("DeleteMessage", Net_DeleteMessage_Request.class), Map.entry("DeleteConversation", Net_DeleteConversation_Request.class), + Map.entry("DmSyncBatch", Net_DmSyncBatch_Request.class), Map.entry("GetDirectMessages", Net_GetDirectMessages_Request.class), Map.entry("AckSessionDelivery", Net_AckSessionDelivery_Request.class), Map.entry("CallInviteBroadcast", Net_CallInviteBroadcast_Request.class), diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/DmSyncApplySupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/DmSyncApplySupport.java new file mode 100644 index 00000000..37a1f0e0 --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/DmSyncApplySupport.java @@ -0,0 +1,50 @@ +package server.logic.ws_protocol.JSON.messages; + +import shine.db.dao.SignedMessagesDAO; +import shine.db.entities.SignedMessageEntry; + +public final class DmSyncApplySupport { + private DmSyncApplySupport() {} + + public static ApplyResult applySyncedBlob(String ownerLogin, String blobB64) throws Exception { + if (ownerLogin == null || ownerLogin.isBlank()) { + throw new IllegalArgumentException("EMPTY_OWNER_LOGIN"); + } + if (blobB64 == null || blobB64.isBlank()) { + throw new IllegalArgumentException("EMPTY_BLOB"); + } + + SignedMessageBlock block = SignedMessagesCore.parseFromB64(blobB64); + SignedMessagesCore.verifyUsersAndSignature(block); + SignedMessageEntry entry = SignedMessagesCore.toEntry(block, "DmSyncBatch", null); + String owner = ownerLogin.trim(); + boolean ownerMatchesTarget = entry.getTargetLogin().equalsIgnoreCase(owner); + boolean ownerMatchesDeletePair = block.isDeleteType() + && (entry.getFromLogin().equalsIgnoreCase(owner) || entry.getToLogin().equalsIgnoreCase(owner)); + if (!ownerMatchesTarget && !ownerMatchesDeletePair) { + throw new IllegalArgumentException("TARGET_LOGIN_MISMATCH"); + } + + SignedMessagesDAO.ApplyStatus status; + if (block.isContentType()) { + status = SignedMessagesDAO.getInstance().upsertIncomingCopy(entry); + } else if (block.isReadReceiptType()) { + status = SignedMessagesDAO.getInstance().insertIfAbsent(entry); + } else if (block.isMessageDeleteType()) { + status = SignedMessagesDAO.getInstance().applyDeleteMessage(entry); + } else if (block.isConversationDeleteType()) { + status = SignedMessagesDAO.getInstance().applyDeleteConversation(entry); + } else { + throw new IllegalArgumentException("BAD_MESSAGE_TYPE"); + } + + return new ApplyResult(entry.getMessageKey(), entry.getBaseKey(), entry.getMessageType(), status); + } + + public record ApplyResult( + String messageKey, + String baseKey, + int messageType, + SignedMessagesDAO.ApplyStatus status + ) {} +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DmSyncBatch_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DmSyncBatch_Handler.java new file mode 100644 index 00000000..81192f17 --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/Net_DmSyncBatch_Handler.java @@ -0,0 +1,114 @@ +package server.logic.ws_protocol.JSON.messages; + +import server.logic.ws_protocol.JSON.ConnectionContext; +import server.logic.ws_protocol.JSON.entyties.Net_Request; +import server.logic.ws_protocol.JSON.entyties.Net_Response; +import server.logic.ws_protocol.JSON.handlers.JsonMessageHandler; +import server.logic.ws_protocol.JSON.messages.entyties.Net_DmSyncBatch_Request; +import server.logic.ws_protocol.JSON.messages.entyties.Net_DmSyncBatch_Response; +import server.logic.ws_protocol.JSON.utils.NetExceptionResponseFactory; +import server.logic.ws_protocol.WireCodes; +import shine.db.dao.SignedMessagesDAO; +import shine.db.dao.UserAccessServersCurrentDAO; +import shine.db.entities.SignedMessageEntry; +import shine.db.entities.UserAccessServerRouteEntry; +import utils.config.AppConfig; + +import java.util.ArrayList; +import java.util.Base64; +import java.util.List; + +public class Net_DmSyncBatch_Handler implements JsonMessageHandler { + private static final int DEFAULT_LIMIT = 500; + private static final int MAX_LIMIT = 500; + private static final int DEFAULT_MAX_BYTES = 3_000_000; + private static final int MAX_BYTES_CAP = 5_000_000; + private static final String SERVER_LOGIN_CONFIG = "server.SHiNE.login"; + + @Override + public Net_Response handle(Net_Request baseRequest, ConnectionContext ctx) throws Exception { + Net_DmSyncBatch_Request req = (Net_DmSyncBatch_Request) baseRequest; + String ownerLogin = normalizeOriginal(req.getOwnerLogin()); + if (ownerLogin == null) { + return NetExceptionResponseFactory.error(req, WireCodes.Status.BAD_REQUEST, "EMPTY_OWNER_LOGIN", "ownerLogin обязателен"); + } + + String ownServerLogin = normalize(AppConfig.getInstance().getParam(SERVER_LOGIN_CONFIG)); + if (ownServerLogin == null) { + return NetExceptionResponseFactory.error(req, 500, "LOCAL_SERVER_NOT_CONFIGURED", "server.SHiNE.login не настроен"); + } + if (!isLocalAccessServer(ownerLogin, ownServerLogin)) { + return NetExceptionResponseFactory.error(req, 403, "LOCAL_SERVER_NOT_ACCESS_SERVER", "Локальный сервер не является access-сервером пользователя"); + } + + int limit = clamp(req.getLimit() == null ? DEFAULT_LIMIT : req.getLimit(), 1, MAX_LIMIT); + int maxBytes = clamp(req.getMaxBytes() == null ? DEFAULT_MAX_BYTES : req.getMaxBytes(), 64_000, MAX_BYTES_CAP); + long afterStoredAtMs = Math.max(0L, req.getAfterStoredAtMs() == null ? 0L : req.getAfterStoredAtMs()); + String afterMessageKey = req.getAfterMessageKey() == null ? "" : req.getAfterMessageKey().trim(); + + SignedMessagesDAO.SyncBatch batch = SignedMessagesDAO.getInstance().listSyncBatch( + ownerLogin, + afterStoredAtMs, + afterMessageKey, + limit, + maxBytes + ); + + Net_DmSyncBatch_Response resp = new Net_DmSyncBatch_Response(); + resp.setOp(req.getOp()); + resp.setRequestId(req.getRequestId()); + resp.setStatus(WireCodes.Status.OK); + resp.setOwnerLogin(ownerLogin); + resp.setLimit(limit); + resp.setRawBytes(batch.rawBytes()); + resp.setHasMore(batch.hasMore()); + resp.setNextStoredAtMs(afterStoredAtMs); + resp.setNextMessageKey(afterMessageKey); + + List<Net_DmSyncBatch_Response.Item> items = new ArrayList<>(); + Base64.Encoder encoder = Base64.getEncoder(); + for (SignedMessageEntry entry : batch.items()) { + Net_DmSyncBatch_Response.Item item = new Net_DmSyncBatch_Response.Item(); + item.setMessageKey(entry.getMessageKey()); + item.setBaseKey(entry.getBaseKey()); + item.setTargetLogin(entry.getTargetLogin()); + item.setFromLogin(entry.getFromLogin()); + item.setToLogin(entry.getToLogin()); + item.setMessageType(entry.getMessageType()); + item.setTimeMs(entry.getTimeMs()); + item.setStoredAtMs(entry.getCreatedAtMs()); + item.setBlobB64(encoder.encodeToString(entry.getRawBlock())); + items.add(item); + resp.setNextStoredAtMs(entry.getCreatedAtMs()); + resp.setNextMessageKey(entry.getMessageKey()); + } + resp.setItems(items); + return resp; + } + + private boolean isLocalAccessServer(String ownerLogin, String ownServerLogin) throws Exception { + for (UserAccessServerRouteEntry route : UserAccessServersCurrentDAO.getInstance().listByUserLogin(ownerLogin)) { + if (route == null || route.getServerLogin() == null) continue; + if (ownServerLogin.equals(normalize(route.getServerLogin()))) { + return true; + } + } + return false; + } + + private static int clamp(int value, int min, int max) { + return Math.max(min, Math.min(max, value)); + } + + private static String normalize(String value) { + if (value == null) return null; + String s = value.trim().toLowerCase(); + return s.isEmpty() ? null : s; + } + + private static String normalizeOriginal(String value) { + if (value == null) return null; + String s = value.trim(); + return s.isEmpty() ? null : s; + } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Request.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Request.java new file mode 100644 index 00000000..fdaea682 --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Request.java @@ -0,0 +1,22 @@ +package server.logic.ws_protocol.JSON.messages.entyties; + +import server.logic.ws_protocol.JSON.entyties.Net_Request; + +public class Net_DmSyncBatch_Request extends Net_Request { + private String ownerLogin; + private Long afterStoredAtMs; + private String afterMessageKey; + private Integer limit; + private Integer maxBytes; + + public String getOwnerLogin() { return ownerLogin; } + public void setOwnerLogin(String ownerLogin) { this.ownerLogin = ownerLogin; } + public Long getAfterStoredAtMs() { return afterStoredAtMs; } + public void setAfterStoredAtMs(Long afterStoredAtMs) { this.afterStoredAtMs = afterStoredAtMs; } + public String getAfterMessageKey() { return afterMessageKey; } + public void setAfterMessageKey(String afterMessageKey) { this.afterMessageKey = afterMessageKey; } + public Integer getLimit() { return limit; } + public void setLimit(Integer limit) { this.limit = limit; } + public Integer getMaxBytes() { return maxBytes; } + public void setMaxBytes(Integer maxBytes) { this.maxBytes = maxBytes; } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Response.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Response.java new file mode 100644 index 00000000..edab6afd --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/messages/entyties/Net_DmSyncBatch_Response.java @@ -0,0 +1,62 @@ +package server.logic.ws_protocol.JSON.messages.entyties; + +import server.logic.ws_protocol.JSON.entyties.Net_Response; + +import java.util.ArrayList; +import java.util.List; + +public class Net_DmSyncBatch_Response extends Net_Response { + private String ownerLogin; + private int limit; + private int rawBytes; + private boolean hasMore; + private long nextStoredAtMs; + private String nextMessageKey; + private List<Item> items = new ArrayList<>(); + + public String getOwnerLogin() { return ownerLogin; } + public void setOwnerLogin(String ownerLogin) { this.ownerLogin = ownerLogin; } + public int getLimit() { return limit; } + public void setLimit(int limit) { this.limit = limit; } + public int getRawBytes() { return rawBytes; } + public void setRawBytes(int rawBytes) { this.rawBytes = rawBytes; } + public boolean isHasMore() { return hasMore; } + public void setHasMore(boolean hasMore) { this.hasMore = hasMore; } + public long getNextStoredAtMs() { return nextStoredAtMs; } + public void setNextStoredAtMs(long nextStoredAtMs) { this.nextStoredAtMs = nextStoredAtMs; } + public String getNextMessageKey() { return nextMessageKey; } + public void setNextMessageKey(String nextMessageKey) { this.nextMessageKey = nextMessageKey; } + public List<Item> getItems() { return items; } + public void setItems(List<Item> items) { this.items = items; } + + public static class Item { + private String messageKey; + private String baseKey; + private String targetLogin; + private String fromLogin; + private String toLogin; + private int messageType; + private long timeMs; + private long storedAtMs; + private String blobB64; + + public String getMessageKey() { return messageKey; } + public void setMessageKey(String messageKey) { this.messageKey = messageKey; } + public String getBaseKey() { return baseKey; } + public void setBaseKey(String baseKey) { this.baseKey = baseKey; } + public String getTargetLogin() { return targetLogin; } + public void setTargetLogin(String targetLogin) { this.targetLogin = targetLogin; } + public String getFromLogin() { return fromLogin; } + public void setFromLogin(String fromLogin) { this.fromLogin = fromLogin; } + public String getToLogin() { return toLogin; } + public void setToLogin(String toLogin) { this.toLogin = toLogin; } + public int getMessageType() { return messageType; } + public void setMessageType(int messageType) { this.messageType = messageType; } + public long getTimeMs() { return timeMs; } + public void setTimeMs(long timeMs) { this.timeMs = timeMs; } + public long getStoredAtMs() { return storedAtMs; } + public void setStoredAtMs(long storedAtMs) { this.storedAtMs = storedAtMs; } + public String getBlobB64() { return blobB64; } + public void setBlobB64(String blobB64) { this.blobB64 = blobB64; } + } +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java index a302e6fb..cdd7c1df 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/sync/RemoteDmSyncClient.java @@ -8,6 +8,8 @@ import java.net.http.HttpClient; import java.net.http.WebSocket; import java.nio.ByteBuffer; import java.time.Duration; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; @@ -53,6 +55,51 @@ public final class RemoteDmSyncClient { ensureOk("ReceiveIncomingMessage", response); } + public RemoteDmBatch dmSyncBatch( + String serverAddressRaw, + String ownerLogin, + long afterStoredAtMs, + String afterMessageKey, + int limit, + int maxBytes + ) throws Exception { + String ownerLoginJson = MAPPER.writeValueAsString(ownerLogin); + String afterMessageKeyJson = MAPPER.writeValueAsString(afterMessageKey == null ? "" : afterMessageKey); + JsonNode response = send(serverAddressRaw, """ + { + "op":"DmSyncBatch", + "requestId":%s, + "payload":{ + "ownerLogin":%s, + "afterStoredAtMs":%d, + "afterMessageKey":%s, + "limit":%d, + "maxBytes":%d + } + } + """.formatted("%s", ownerLoginJson, Math.max(0L, afterStoredAtMs), afterMessageKeyJson, limit, maxBytes)); + ensureOk("DmSyncBatch", response); + + JsonNode payload = response.path("payload"); + List<RemoteDmItem> items = new ArrayList<>(); + JsonNode arr = payload.path("items"); + if (arr.isArray()) { + for (JsonNode item : arr) { + items.add(new RemoteDmItem( + item.path("messageKey").asText(""), + item.path("storedAtMs").asLong(0L), + item.path("blobB64").asText("") + )); + } + } + return new RemoteDmBatch( + payload.path("nextStoredAtMs").asLong(afterStoredAtMs), + payload.path("nextMessageKey").asText(afterMessageKey == null ? "" : afterMessageKey), + payload.path("hasMore").asBoolean(false), + items + ); + } + public void deleteMessage(String serverAddressRaw, String blobB64) throws Exception { String blobJson = MAPPER.writeValueAsString(blobB64); JsonNode response = send(serverAddressRaw, """ @@ -135,6 +182,19 @@ public final class RemoteDmSyncClient { } } + public record RemoteDmBatch( + long nextStoredAtMs, + String nextMessageKey, + boolean hasMore, + List<RemoteDmItem> items + ) {} + + public record RemoteDmItem( + String messageKey, + long storedAtMs, + String blobB64 + ) {} + private static final class SyncWsListener implements WebSocket.Listener { private final CompletableFuture<String> responseFuture; private final CountDownLatch openLatch; diff --git a/SHiNE-server/src/main/java/server/sync/PeriodicDmSyncService.java b/SHiNE-server/src/main/java/server/sync/PeriodicDmSyncService.java new file mode 100644 index 00000000..94b6c626 --- /dev/null +++ b/SHiNE-server/src/main/java/server/sync/PeriodicDmSyncService.java @@ -0,0 +1,185 @@ +package server.sync; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import server.logic.ws_protocol.JSON.messages.DmSyncApplySupport; +import shine.db.dao.DmSyncPeerStateDAO; +import shine.db.dao.UserAccessServersCurrentDAO; +import shine.db.entities.DmSyncPeerStateEntry; +import shine.db.entities.UserAccessServerRouteEntry; +import utils.config.AppConfig; + +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * Периодическая догоняющая синхронизация личной переписки между access-серверами пользователя. + */ +public final class PeriodicDmSyncService { + private static final Logger log = LoggerFactory.getLogger(PeriodicDmSyncService.class); + private static final String SERVER_LOGIN_CONFIG = "server.SHiNE.login"; + private static final AtomicBoolean STARTED = new AtomicBoolean(false); + + private static final RemoteDmSyncClient REMOTE = new RemoteDmSyncClient(); + private static final UserAccessServersCurrentDAO ACCESS_DAO = UserAccessServersCurrentDAO.getInstance(); + private static final DmSyncPeerStateDAO STATE_DAO = DmSyncPeerStateDAO.getInstance(); + + private static final ScheduledExecutorService EXECUTOR = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { + @Override + public Thread newThread(Runnable r) { + Thread t = new Thread(r, "periodic-dm-sync"); + t.setDaemon(true); + return t; + } + }); + + private PeriodicDmSyncService() {} + + public static void startOrLog() { + if (!isEnabled()) { + log.info("Periodic DM sync disabled by dm.sync.enabled=false"); + return; + } + if (!STARTED.compareAndSet(false, true)) { + return; + } + long initialDelaySec = configLong("dm.sync.initialDelaySeconds", 60L, 0L, 3600L); + long periodHours = configLong("dm.sync.periodHours", 6L, 1L, 168L); + EXECUTOR.scheduleWithFixedDelay( + PeriodicDmSyncService::runCycleSafe, + initialDelaySec, + TimeUnit.HOURS.toSeconds(periodHours), + TimeUnit.SECONDS + ); + log.info("Periodic DM sync scheduled: first run in {} seconds, then every {} hours", initialDelaySec, periodHours); + } + + private static void runCycleSafe() { + try { + runCycle(); + } catch (Exception e) { + log.error("Periodic DM sync failed unexpectedly", e); + } + } + + private static void runCycle() throws Exception { + String ownServerLogin = normalize(AppConfig.getInstance().getParam(SERVER_LOGIN_CONFIG)); + if (ownServerLogin == null) { + log.warn("Periodic DM sync skipped: {} is empty", SERVER_LOGIN_CONFIG); + return; + } + + List<String> ownersRaw = ACCESS_DAO.listUserLoginsByServerLogin(ownServerLogin); + Set<String> owners = new LinkedHashSet<>(ownersRaw); + if (owners.isEmpty()) { + log.info("Periodic DM sync skipped: no local access-server users for {}", ownServerLogin); + return; + } + + int syncedPeers = 0; + int appliedEvents = 0; + for (String ownerLogin : owners) { + List<UserAccessServerRouteEntry> routes = ACCESS_DAO.listByUserLogin(ownerLogin); + for (UserAccessServerRouteEntry route : routes) { + if (route == null) continue; + String remoteLogin = normalize(route.getServerLogin()); + String remoteUrl = route.getServerUrl(); + if (remoteLogin == null || remoteUrl == null || remoteUrl.isBlank()) continue; + if (remoteLogin.equals(ownServerLogin)) continue; + + try { + appliedEvents += syncOwnerFromRemote(ownerLogin, route); + syncedPeers++; + } catch (Exception e) { + STATE_DAO.updateError(ownerLogin, route.getServerLogin(), remoteUrl, String.valueOf(e)); + log.warn("Periodic DM sync peer failed: owner={} remoteServer={} reason={}", + ownerLogin, route.getServerLogin(), String.valueOf(e)); + } + } + } + log.info("Periodic DM sync cycle finished: owners={} syncedPeers={} appliedEvents={}", + owners.size(), syncedPeers, appliedEvents); + } + + private static int syncOwnerFromRemote(String ownerLogin, UserAccessServerRouteEntry route) throws Exception { + int limit = (int) configLong("dm.sync.batchLimit", 500L, 1L, 500L); + int maxBytes = (int) configLong("dm.sync.batchMaxBytes", 3_000_000L, 64_000L, 5_000_000L); + int maxPages = (int) configLong("dm.sync.maxPagesPerPeer", 50L, 1L, 500L); + + DmSyncPeerStateEntry state = STATE_DAO.getOrCreate(ownerLogin, route.getServerLogin(), route.getServerUrl()); + long cursorStoredAtMs = state.getCursorStoredAtMs(); + String cursorMessageKey = state.getCursorMessageKey() == null ? "" : state.getCursorMessageKey(); + int applied = 0; + boolean bootstrapCompleted = false; + + for (int page = 0; page < maxPages; page++) { + RemoteDmSyncClient.RemoteDmBatch batch = REMOTE.dmSyncBatch( + route.getServerUrl(), + ownerLogin, + cursorStoredAtMs, + cursorMessageKey, + limit, + maxBytes + ); + + for (RemoteDmSyncClient.RemoteDmItem item : batch.items()) { + if (item == null || item.blobB64() == null || item.blobB64().isBlank()) continue; + DmSyncApplySupport.ApplyResult result = DmSyncApplySupport.applySyncedBlob(ownerLogin, item.blobB64()); + if (result.status().applied()) { + applied++; + } + } + + cursorStoredAtMs = Math.max(cursorStoredAtMs, batch.nextStoredAtMs()); + cursorMessageKey = batch.nextMessageKey() == null ? "" : batch.nextMessageKey(); + bootstrapCompleted = !batch.hasMore(); + STATE_DAO.updateSuccess( + ownerLogin, + route.getServerLogin(), + route.getServerUrl(), + cursorStoredAtMs, + cursorMessageKey, + bootstrapCompleted + ); + + if (!batch.hasMore() || batch.items().isEmpty()) { + break; + } + } + + if (!bootstrapCompleted) { + log.info("Periodic DM sync peer paused by page limit: owner={} remoteServer={} maxPages={}", + ownerLogin, route.getServerLogin(), maxPages); + } + return applied; + } + + private static boolean isEnabled() { + String raw = AppConfig.getInstance().getParam("dm.sync.enabled"); + return raw == null || raw.isBlank() || Boolean.parseBoolean(raw.trim()); + } + + private static long configLong(String key, long defaultValue, long min, long max) { + String raw = AppConfig.getInstance().getParam(key); + if (raw == null || raw.isBlank()) return defaultValue; + try { + long parsed = Long.parseLong(raw.trim()); + return Math.max(min, Math.min(max, parsed)); + } catch (Exception ignored) { + return defaultValue; + } + } + + private static String normalize(String value) { + if (value == null) return null; + String s = value.trim().toLowerCase(Locale.ROOT); + return s.isEmpty() ? null : s; + } +} diff --git a/SHiNE-server/src/main/java/server/ws/WsServer.java b/SHiNE-server/src/main/java/server/ws/WsServer.java index 56fc8a5a..42a9aff2 100644 --- a/SHiNE-server/src/main/java/server/ws/WsServer.java +++ b/SHiNE-server/src/main/java/server/ws/WsServer.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import server.debug.DebugApiConfigurator; import server.sync.BlockchainResyncRecoveryOnStartup; import server.sync.PeriodicBlockchainSyncService; +import server.sync.PeriodicDmSyncService; import server.sync.SolanaUsersSyncStartupService; import server.sync.SyncServersBootstrapService; import utils.config.AppConfig; @@ -102,6 +103,7 @@ public final class WsServer { server.start(); log.info("✅ WS сервер запущен на ws://localhost:{}/ws", port); + PeriodicDmSyncService.startOrLog(); server.join(); } } diff --git a/SHiNE-server/src/main/resources/application.properties b/SHiNE-server/src/main/resources/application.properties index 53f74ae4..17aa12c4 100644 --- a/SHiNE-server/src/main/resources/application.properties +++ b/SHiNE-server/src/main/resources/application.properties @@ -33,6 +33,14 @@ sync.importUserProfileFromPartner.enabled=false # Если какое-то значение не задано, сервер вернёт пустую строку. # ------------------------------------------------------------ server.version=${projectVersion} + +# Межсерверная догоняющая синхронизация личных сообщений. +dm.sync.enabled=true +dm.sync.initialDelaySeconds=60 +dm.sync.periodHours=6 +dm.sync.batchLimit=500 +dm.sync.batchMaxBytes=3000000 +dm.sync.maxPagesPerPeer=50 server.info.url= server.info.physicalRegion= server.info.description= diff --git a/VERSION.properties b/VERSION.properties index b690bcaa..c1faf6a6 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.2.359 -server.version=1.2.341 +server.version=1.2.342 diff --git a/docs/API/09_Operations_Index.md b/docs/API/09_Operations_Index.md index 2ace872f..69a01682 100644 --- a/docs/API/09_Operations_Index.md +++ b/docs/API/09_Operations_Index.md @@ -61,6 +61,7 @@ | `ReceiveIncomingMessage` | `12_Direct_Messages_Push_Calls_API.md` | прием входящего DM-блока | | `DeleteMessage` | `12_Direct_Messages_Push_Calls_API.md` | tombstone одного личного сообщения у обеих сторон | | `DeleteConversation` | `12_Direct_Messages_Push_Calls_API.md` | tombstone удаления истории переписки | +| `DmSyncBatch` | `12_Direct_Messages_Push_Calls_API.md` | межсерверная догоняющая синхронизация DM по курсору | | `GetDirectMessages` | `12_Direct_Messages_Push_Calls_API.md` | постраничная загрузка истории личного диалога | | `AckSessionDelivery` | `12_Direct_Messages_Push_Calls_API.md` | подтверждение доставки в сессию | | `CallInviteBroadcast` | `12_Direct_Messages_Push_Calls_API.md` | broadcast приглашения к звонку | diff --git a/docs/API/12_Direct_Messages_Push_Calls_API.md b/docs/API/12_Direct_Messages_Push_Calls_API.md index 114b0d03..f576bb2e 100644 --- a/docs/API/12_Direct_Messages_Push_Calls_API.md +++ b/docs/API/12_Direct_Messages_Push_Calls_API.md @@ -10,7 +10,8 @@ Важно: - legacy-операция `SendDirectMessage` отключена и не зарегистрирована в публичном API; -- для DM v1 нужно использовать только `SendMessagePair`, `ReceiveOutcomingMessage`, `ReceiveIncomingMessage`, `DeleteMessage`, `DeleteConversation`. +- для DM v1 нужно использовать `SendMessagePair`, `ReceiveOutcomingMessage`, `ReceiveIncomingMessage`, `DeleteMessage`, `DeleteConversation`, `GetDirectMessages`; +- `DmSyncBatch` предназначен для межсерверной догоняющей синхронизации, не для обычного клиентского UI. ## 1. `UpsertPushToken` @@ -139,11 +140,14 @@ "op": "ReceiveIncomingMessage", "requestId": "dm-in-001", "payload": { - "incomingBlobB64": "BASE64_INCOMING_SIGNED_BLOCK" + "incomingBlobB64": "BASE64_INCOMING_SIGNED_BLOCK", + "sourceServerLogin": "server-a" } } ``` +`sourceServerLogin` необязателен. Если поле есть, сервер использует его как подсказку, чтобы не отправлять событие обратно серверу-источнику. + ## 5. `DeleteMessage` Принимает один signed DM-блок `type=5` или `type=6`. @@ -241,7 +245,69 @@ Для следующей страницы клиент должен передать `nextBeforeTimeMs` и `nextBeforeMessageKey` из предыдущего ответа. -## 8. `AckSessionDelivery` +## 8. `DmSyncBatch` + +Межсерверная операция для догоняющей синхронизации истории одного пользователя. В текущей реализации не требует авторизации сервера-источника, но удалённый сервер отдаёт данные только если сам является access-сервером `ownerLogin` по `user_access_servers_current`. + +### Запрос + +```json +{ + "op": "DmSyncBatch", + "requestId": "dm-sync-001", + "payload": { + "ownerLogin": "alice", + "afterStoredAtMs": 1774700000000, + "afterMessageKey": "alice|bob|1774699999000|123456780|2", + "limit": 500, + "maxBytes": 3000000 + } +} +``` + +`afterStoredAtMs` и `afterMessageKey` образуют курсор. Если курсора нет, сервер передаёт `0` и пустую строку. `limit` ограничен максимумом `500`. + +### Успешный ответ + +```json +{ + "op": "DmSyncBatch", + "requestId": "dm-sync-001", + "status": 200, + "ok": true, + "payload": { + "ownerLogin": "alice", + "limit": 500, + "rawBytes": 84512, + "hasMore": true, + "nextStoredAtMs": 1774700100000, + "nextMessageKey": "alice|bob|1774700000123|123456789|1", + "items": [ + { + "messageKey": "alice|bob|1774700000123|123456789|1", + "baseKey": "alice|bob|1774700000123|123456789", + "targetLogin": "alice", + "fromLogin": "bob", + "toLogin": "alice", + "messageType": 1, + "timeMs": 1774700000123, + "storedAtMs": 1774700100000, + "blobB64": "BASE64_SIGNED_BLOCK" + } + ] + } +} +``` + +События в `items` идут по `storedAtMs ASC, messageKey ASC`. В пачке могут быть сообщения любых диалогов пользователя, read-receipt и delete/tombstone типов `5/6/7/8`. + +Ошибки: + +- `400 / EMPTY_OWNER_LOGIN` — не передан `ownerLogin` +- `403 / LOCAL_SERVER_NOT_ACCESS_SERVER` — этот сервер не является access-сервером пользователя +- `500 / LOCAL_SERVER_NOT_CONFIGURED` — не настроен `server.SHiNE.login` + +## 9. `AckSessionDelivery` Требует авторизации. Подтверждает доставку в текущую сессию. @@ -257,7 +323,7 @@ } ``` -## 9. Событие `SignedMessageArrived` +## 10. Событие `SignedMessageArrived` Сервер присылает его по WebSocket в активные сессии адресата. @@ -282,15 +348,15 @@ Для типов `5/6/7/8` событие тоже приходит в таком же конверте, но логика применения определяется `messageType` и бинарным `blobB64`. -## 10. `CallInviteBroadcast` +## 11. `CallInviteBroadcast` Требует авторизации. Шлёт приглашение к звонку в активные сессии `toLogin`. -## 10. `CallSignalToSession` +## 12. `CallSignalToSession` Требует авторизации. Шлёт сигнал звонка в конкретную сессию. -## 11. Замечания +## 13. Замечания - все DM-типы `1..8` используют `SHiNE_DM` - `GetUser` может lazy-import пользователя из Solana PDA, поэтому именно через него клиент обычно получает `clientKey` адресата для E2EE diff --git a/docs/Personal_Messages/Протокол_DM_v1.md b/docs/Personal_Messages/Протокол_DM_v1.md index 6afe722e..3798f1bb 100644 --- a/docs/Personal_Messages/Протокол_DM_v1.md +++ b/docs/Personal_Messages/Протокол_DM_v1.md @@ -446,11 +446,14 @@ Request: "op": "ReceiveIncomingMessage", "requestId": "req-456", "payload": { - "incomingBlobB64": "..." + "incomingBlobB64": "...", + "sourceServerLogin": "server-a" } } ``` +`sourceServerLogin` необязателен и используется как best-effort подсказка, чтобы сервер при дальнейшей пересылке не отправлял то же событие обратно серверу-источнику. + ### 10.3. `DeleteMessage` Назначение: @@ -559,7 +562,50 @@ UI-следствие для клиента: Идемпотентность обязательна. -### 11.3. Ошибки доставки +### 11.3. Догоняющая синхронизация истории + +Для восстановления пропущенных DM-событий между access-серверами используется отдельная операция: + +- `DmSyncBatch` + +Сервер-получатель синхронизации запрашивает у другого access-сервера историю одного пользователя по курсору: + +- `ownerLogin`; +- `afterStoredAtMs`; +- `afterMessageKey`; +- `limit`, максимум `500`; +- `maxBytes`, ограничение суммарного размера raw-блоков пачки. + +Удалённый сервер отдаёт все DM-события, относящиеся к этому пользователю: + +- контентные копии и read-receipt по `target_login`; +- tombstone типов `5/6/7/8`, где пользователь участвует как `fromLogin` или `toLogin`. + +Порядок пачки: + +- `created_at_ms ASC`; +- `message_key ASC`. + +Курсор хранится локально для пары: + +- пользователь; +- удалённый access-сервер. + +При первом добавлении сервера или отсутствии курсора синхронизация стартует с `0` и постепенно подтягивает всю доступную историю пачками. + +При применении событий, полученных через `DmSyncBatch`, сервер: + +- проверяет формат `SHiNE_DM`; +- проверяет подпись; +- применяет существующие правила ревизий, read-receipt и tombstone; +- не отправляет realtime/push-уведомления клиентам; +- не запускает повторный fan-out, чтобы не создавать циклы. + +Плановый sync запускается фоном после старта WebSocket-сервера и повторяется раз в 6 часов. + +В текущей реализации межсерверная авторизация для `DmSyncBatch` ещё не включена. Сервер отдаёт пачку только если сам локально является access-сервером `ownerLogin` по актуальной таблице `user_access_servers_current`. + +### 11.4. Ошибки доставки Если часть серверов временно недоступна: @@ -571,7 +617,7 @@ UI-следствие для клиента: Основная таблица остаётся: -- `signed_messages_v2` +- `signed_messages` В ней должны сохраняться: @@ -590,6 +636,12 @@ UI-следствие для клиента: Сообщение об удалении переписки тоже хранится в БД, а старые сообщения до его времени из БД удаляются. +Для догоняющей межсерверной синхронизации дополнительно используются: + +- индекс по `target_login`, `created_at_ms`, `message_key`; +- отдельные индексы по delete-событиям для `from_login` и `to_login`; +- таблица `dm_sync_peer_state` с курсором чтения для пары `ownerLogin + remoteServerLogin`. + ## 13. Что обязательно должно измениться в коде относительно v0.5 - сервер не должен требовать одинаковый `encryptedBody` у `type=1` и `type=2`; @@ -610,4 +662,4 @@ UI-следствие для клиента: - хранение отдельного `keyId` шифрования в DM; - ротация `clientKey`; - финальная конкретная UI-реализация массовой перешифровки; -- физическая полная реализация DM federation в текущем коде. +- межсерверная авторизация `DmSyncBatch`. diff --git a/docs/Personal_Messages/Формат_DM_v1.md b/docs/Personal_Messages/Формат_DM_v1.md index 538cb19f..98b75add 100644 --- a/docs/Personal_Messages/Формат_DM_v1.md +++ b/docs/Personal_Messages/Формат_DM_v1.md @@ -327,3 +327,5 @@ ReadReceiptBody_v1_0 ## 13. Примечание о поддержке В версии DM v1 все типы `1..8` используют единый контейнер `SHiNE_DM`. + +Межсерверная операция `DmSyncBatch` не вводит новый байтовый формат DM. Она передаёт уже сохранённые raw-контейнеры `SHiNE_DM` в Base64 вместе с серверными метаданными курсора (`storedAtMs`, `messageKey`), а принимающий сервер заново проверяет подпись и применяет тот же контейнер по его `messageType`. From e9e6628b21084a578635beba7a1dfdcc4e45f2b580554200d104b65185875d46 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 30 Jul 2026 11:04:50 +0400 Subject: [PATCH 57/83] =?UTF-8?q?UI:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20Arweave=20=D0=B2=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/11_TEXT_Blocks.md | 31 ++ docs/Blockchain/CHANGELOG.md | 7 + .../components/arweave-attachment-manager.js | 402 ++++++++++++++++++ shine-UI/js/pages/channel-thread-view.js | 66 ++- shine-UI/js/pages/channel-view.js | 92 +++- shine-UI/js/services/arweave-file-service.js | 48 ++- .../js/services/arweave-wallet-service.js | 104 +++++ shine-UI/js/services/attachment-format.js | 132 ++++++ shine-UI/styles/components.css | 119 ++++++ 10 files changed, 974 insertions(+), 29 deletions(-) create mode 100644 shine-UI/js/components/arweave-attachment-manager.js create mode 100644 shine-UI/js/services/attachment-format.js diff --git a/VERSION.properties b/VERSION.properties index dd9a30d5..3c0a9804 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.0 +client.version=1.4.1 server.version=1.4.0 diff --git a/docs/Blockchain/11_TEXT_Blocks.md b/docs/Blockchain/11_TEXT_Blocks.md index fdf58f25..17d86fe8 100644 --- a/docs/Blockchain/11_TEXT_Blocks.md +++ b/docs/Blockchain/11_TEXT_Blocks.md @@ -36,3 +36,34 @@ TEXT-тип хранит сообщения и редактирования. - Для `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` допустим `textLen=0`. - Такой edit трактуется как логическое удаление содержимого сообщения. - Для удаления используется именно edit-блок; отдельного `DELETE`-подтипа нет. + +## Вложения в текстовых сообщениях (`SHiNE:attach v=1`) + +Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` клиент может хранить вложения как технические строки в начале обычного `text`. + +Бинарный формат `TextBody` не меняется: вложения являются частью UTF-8 текста. + +Один блок вложения: + +```text +<SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=0123...;ar=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA> +``` + +Несколько вложений идут подряд в самом начале текста, по одному блоку на строку. После последнего блока идёт обычный пользовательский текст. + +Обязательные поля: + +- `v=1` +- `name` - имя файла, закодированное через `encodeURIComponent` +- `size` - размер файла в байтах +- `sha256` - SHA-256 исходного файла в hex +- `ar` - короткий Arweave Transaction ID, без полного URL + +Правила клиента: + +- если сообщение начинается с одного или нескольких валидных `<SHiNE:attach;...>` блоков, новый клиент скрывает эти блоки и показывает карточки вложений; +- если блок битый, клиент может игнорировать только этот блок и продолжить разбор остальных; +- старые клиенты без поддержки вложений могут показывать технические строки как обычный текст; +- пустой пользовательский текст допустим, если перед ним есть хотя бы один валидный attach-блок. + +Файлы хранятся вне блокчейна, в Arweave. В блокчейне остаются только `txId`, имя, размер и SHA-256. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 25fabfeb..f68a0e20 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,12 @@ # История изменений документации блокчейна +## 2026-07-30 10:31:26 +0400 +- Базовый коммит-ориентир: `c7684d6`. +- Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` зафиксирован клиентский формат вложений `SHiNE:attach v=1`. +- Бинарный `TextBody` не изменён: вложения записываются техническими строками в начале UTF-8 `text`. +- Вложение хранит `name`, `size`, `sha256` и короткий Arweave `txId` в поле `ar`; имя файла кодируется через `encodeURIComponent`. +- В `docs/Blockchain/11_TEXT_Blocks.md` добавлены правила совместимости, отображения и допустимости пустого пользовательского текста при наличии вложений. + ## 2026-07-14 20:43:43 +0400 - Базовый коммит-ориентир: `118be41`. - В `docs/ИТХ/Спецификация_ИТХ_v1.md` изменён магик файла чекпоинта: diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js new file mode 100644 index 00000000..abfa8bc3 --- /dev/null +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -0,0 +1,402 @@ +import { + getArweaveUploadPrice, + loadArweaveFileMetadata, + sha256HexFromArrayBuffer, + uploadArweaveFile, + validateArweaveTxId, +} from '../services/arweave-file-service.js'; +import { addArweaveWalletSecret, getArweaveBalance, getArweaveWalletChoices } from '../services/arweave-wallet-service.js'; +import { escapeHtml, formatBytes, normalizeAttachment } from '../services/attachment-format.js'; + +const HISTORY_KEY = 'shine-ui-arweave-attachment-history-v1'; +const MAX_HISTORY_ITEMS = 100; + +function readHistory(login) { + try { + const raw = sessionStorage.getItem(HISTORY_KEY); + const parsed = raw ? JSON.parse(raw) : {}; + const key = String(login || '').trim().toLowerCase(); + const rows = Array.isArray(parsed?.[key]) ? parsed[key] : []; + return rows.map((item) => normalizeAttachment(item)).filter(Boolean); + } catch { + return []; + } +} + +function saveHistory(login, rows) { + try { + const key = String(login || '').trim().toLowerCase(); + const raw = sessionStorage.getItem(HISTORY_KEY); + const parsed = raw ? JSON.parse(raw) : {}; + parsed[key] = (Array.isArray(rows) ? rows : []).slice(0, MAX_HISTORY_ITEMS); + sessionStorage.setItem(HISTORY_KEY, JSON.stringify(parsed)); + } catch { + // ignore sessionStorage errors + } +} + +function addToHistory(login, attachment) { + const item = normalizeAttachment(attachment); + const rows = readHistory(login).filter((row) => row.ar !== item.ar); + rows.unshift(item); + saveHistory(login, rows); + return item; +} + +function formatDateTime(ms) { + const value = Number(ms || 0); + if (!Number.isFinite(value) || value <= 0) return '—'; + return new Date(value).toLocaleString('ru-RU'); +} + +function setText(node, text) { + if (node) node.textContent = String(text || ''); +} + +function shortAddress(value) { + const raw = String(value || '').trim(); + if (raw.length <= 16) return raw; + return `${raw.slice(0, 8)}...${raw.slice(-6)}`; +} + +export function openArweaveAttachmentManager({ + login, + storagePwd, + gateway, + onSelect, +} = {}) { + const cleanLogin = String(login || '').trim(); + const cleanStoragePwd = String(storagePwd || '').trim(); + const cleanGateway = String(gateway || 'https://arweave.net').trim(); + if (!cleanLogin || !cleanStoragePwd) return Promise.reject(new Error('Нет активной сессии.')); + + const root = document.createElement('div'); + root.className = 'ar-attachment-manager-root'; + document.body.append(root); + + let closed = false; + let wallets = []; + let selectedWalletId = 'derived-client-key'; + let selectedFile = null; + let selectedSha256 = ''; + let priceInfo = null; + let balanceInfo = null; + let autoOpenedFileDialog = false; + + function selectedWallet() { + return wallets.find((item) => String(item.id) === String(selectedWalletId)) || wallets[0] || null; + } + + function close(resolve, result = null) { + if (closed) return; + closed = true; + root.remove(); + resolve(result); + } + + function finish(resolve, attachment) { + const item = addToHistory(cleanLogin, attachment); + if (typeof onSelect === 'function') onSelect(item); + close(resolve, item); + } + + return new Promise((resolve) => { + const bindBackdrop = () => { + const modal = root.querySelector('[data-ar-attach-modal="true"]'); + modal?.addEventListener('click', (event) => { + if (event.target === modal) close(resolve, null); + }); + }; + + const renderWalletOptions = () => wallets.map((wallet) => ( + `<option value="${escapeHtml(wallet.id)}">${escapeHtml(wallet.label)} · ${escapeHtml(shortAddress(wallet.address))}</option>` + )).join(''); + + const loadWallets = async (errorEl = null) => { + try { + wallets = await getArweaveWalletChoices({ login: cleanLogin, storagePwd: cleanStoragePwd }); + if (!wallets.some((item) => String(item.id) === String(selectedWalletId))) { + selectedWalletId = String(wallets[0]?.id || 'derived-client-key'); + } + } catch (error) { + setText(errorEl, error?.message || 'Не удалось загрузить Arweave-кошельки.'); + } + }; + + const showUpload = async () => { + root.innerHTML = ` + <div class="modal" data-ar-attach-modal="true"> + <div class="modal-card stack ar-attachment-manager-card"> + <h3 class="modal-title">Добавить вложение</h3> + <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> + <select class="input" id="ar-attach-wallet"></select> + <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> + <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> + <input class="input" id="ar-attach-file" type="file" /> + <div class="ar-attachment-meta" data-meta="true"></div> + <p class="meta-muted inline-error" data-error="true"></p> + <div class="form-actions-grid"> + <button class="secondary-btn" type="button" data-action="existing">Ввести txId</button> + <button class="secondary-btn" type="button" data-action="history">История</button> + <button class="primary-btn" type="button" data-action="upload" disabled>Загрузить</button> + </div> + <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> + </div> + </div> + `; + bindBackdrop(); + const walletEl = root.querySelector('#ar-attach-wallet'); + const fileEl = root.querySelector('#ar-attach-file'); + const metaEl = root.querySelector('[data-meta="true"]'); + const errorEl = root.querySelector('[data-error="true"]'); + const uploadBtn = root.querySelector('[data-action="upload"]'); + + await loadWallets(errorEl); + if (walletEl) { + walletEl.innerHTML = renderWalletOptions(); + walletEl.value = selectedWalletId; + walletEl.addEventListener('change', () => { + selectedWalletId = String(walletEl.value || ''); + uploadBtn.disabled = true; + selectedFile = null; + selectedSha256 = ''; + priceInfo = null; + balanceInfo = null; + if (fileEl) fileEl.value = ''; + setText(metaEl, ''); + }); + } + + root.querySelector('[data-action="cancel"]')?.addEventListener('click', () => close(resolve, null)); + root.querySelector('[data-action="existing"]')?.addEventListener('click', showExisting); + root.querySelector('[data-action="history"]')?.addEventListener('click', showHistory); + root.querySelector('[data-action="add-wallet"]')?.addEventListener('click', showAddWallet); + + fileEl?.addEventListener('change', async () => { + selectedFile = fileEl.files?.[0] || null; + selectedSha256 = ''; + priceInfo = null; + balanceInfo = null; + uploadBtn.disabled = true; + setText(errorEl, ''); + setText(metaEl, ''); + if (!selectedFile) return; + + try { + const wallet = selectedWallet(); + if (!wallet?.address) throw new Error('Выберите Arweave-кошелёк.'); + const buffer = await selectedFile.arrayBuffer(); + selectedSha256 = await sha256HexFromArrayBuffer(buffer); + priceInfo = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedFile.size }); + balanceInfo = await getArweaveBalance({ gateway: cleanGateway, address: wallet.address }); + const hasFunds = BigInt(balanceInfo.winston) >= BigInt(priceInfo.winston); + metaEl.innerHTML = ` + <div>Имя: ${escapeHtml(selectedFile.name || 'file')}</div> + <div>Размер: ${escapeHtml(formatBytes(selectedFile.size))}</div> + <div>SHA-256: ${escapeHtml(selectedSha256)}</div> + <div>Цена: ${escapeHtml(Number(priceInfo.ar).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> + <div>Баланс кошелька: ${escapeHtml(Number(balanceInfo.ar).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> + `; + if (!hasFunds) { + setText(errorEl, 'Недостаточно AR на выбранном кошельке.'); + return; + } + uploadBtn.disabled = false; + } catch (error) { + setText(errorEl, error?.message || 'Не удалось подготовить файл.'); + } + }); + + uploadBtn?.addEventListener('click', async () => { + if (!selectedFile || !selectedSha256) { + setText(errorEl, 'Выберите файл.'); + return; + } + const wallet = selectedWallet(); + if (!wallet?.jwk) { + setText(errorEl, 'Выберите Arweave-кошелёк.'); + return; + } + uploadBtn.disabled = true; + setText(errorEl, 'Загружаем файл в Arweave...'); + try { + const uploaded = await uploadArweaveFile({ + gateway: cleanGateway, + jwk: wallet.jwk, + file: selectedFile, + shineType: 'attachment', + tags: [ + { name: 'SHiNE-Login', value: cleanLogin }, + { name: 'SHiNE-Attachment-Name', value: selectedFile.name || 'file' }, + ], + }); + finish(resolve, { + name: selectedFile.name || 'file', + size: selectedFile.size, + sha256: selectedSha256, + ar: uploaded.id, + uploadedAtMs: Date.now(), + }); + } catch (error) { + uploadBtn.disabled = false; + setText(errorEl, error?.message || 'Не удалось загрузить файл в Arweave.'); + } + }); + + if (!autoOpenedFileDialog) { + autoOpenedFileDialog = true; + window.setTimeout(() => fileEl?.click(), 0); + } + }; + + const showExisting = () => { + root.innerHTML = ` + <div class="modal" data-ar-attach-modal="true"> + <div class="modal-card stack ar-attachment-manager-card"> + <h3 class="modal-title">Существующий файл Arweave</h3> + <label class="meta-muted" for="ar-existing-txid">Transaction ID</label> + <input class="input" id="ar-existing-txid" type="text" maxlength="64" placeholder="43 символа txId" /> + <label class="meta-muted" for="ar-existing-name">Имя файла в сообщении</label> + <input class="input" id="ar-existing-name" type="text" maxlength="180" placeholder="например report.pdf" /> + <div class="ar-attachment-meta" data-meta="true"></div> + <p class="meta-muted inline-error" data-error="true"></p> + <div class="form-actions-grid"> + <button class="secondary-btn" type="button" data-action="back">Назад</button> + <button class="primary-btn" type="button" data-action="check">Скачать и проверить</button> + </div> + </div> + </div> + `; + bindBackdrop(); + const txEl = root.querySelector('#ar-existing-txid'); + const nameEl = root.querySelector('#ar-existing-name'); + const metaEl = root.querySelector('[data-meta="true"]'); + const errorEl = root.querySelector('[data-error="true"]'); + const checkBtn = root.querySelector('[data-action="check"]'); + root.querySelector('[data-action="back"]')?.addEventListener('click', showUpload); + checkBtn?.addEventListener('click', async () => { + const txId = String(txEl?.value || '').trim(); + const name = String(nameEl?.value || '').trim() || 'arweave-file'; + if (!validateArweaveTxId(txId)) { + setText(errorEl, 'Некорректный Transaction ID Arweave.'); + return; + } + checkBtn.disabled = true; + setText(errorEl, 'Скачиваем файл и считаем SHA-256...'); + setText(metaEl, ''); + try { + const meta = await loadArweaveFileMetadata({ gateway: cleanGateway, txId }); + const item = normalizeAttachment({ + name, + size: meta.sizeBytes, + sha256: meta.sha256Hex, + ar: txId, + uploadedAtMs: Date.now(), + }); + metaEl.innerHTML = ` + <div>Размер: ${escapeHtml(formatBytes(item.size))}</div> + <div>SHA-256: ${escapeHtml(item.sha256)}</div> + `; + setText(errorEl, ''); + const addBtn = document.createElement('button'); + addBtn.className = 'primary-btn'; + addBtn.type = 'button'; + addBtn.textContent = 'Добавить в сообщение'; + addBtn.addEventListener('click', () => finish(resolve, item)); + metaEl.append(addBtn); + } catch (error) { + setText(errorEl, error?.message || 'Не удалось проверить файл Arweave.'); + checkBtn.disabled = false; + } + }); + window.setTimeout(() => txEl?.focus(), 0); + }; + + const showHistory = () => { + const rows = readHistory(cleanLogin); + root.innerHTML = ` + <div class="modal" data-ar-attach-modal="true"> + <div class="modal-card stack ar-attachment-manager-card ar-attachment-manager-card--wide"> + <h3 class="modal-title">Журнал загруженных файлов</h3> + <p class="meta-muted">Журнал хранится только в этой браузерной сессии.</p> + <div class="ar-attachment-history-table-wrap"> + <table class="ar-attachment-history-table"> + <thead> + <tr><th>Файл</th><th>txId</th><th>Размер</th><th>Дата</th><th></th></tr> + </thead> + <tbody> + ${rows.length ? rows.map((item, index) => ` + <tr> + <td>${escapeHtml(item.name)}</td> + <td class="mono-cell">${escapeHtml(item.ar)}</td> + <td>${escapeHtml(formatBytes(item.size))}</td> + <td>${escapeHtml(formatDateTime(item.uploadedAtMs))}</td> + <td><button class="ghost-btn" type="button" data-pick="${index}">Выбрать</button></td> + </tr> + `).join('') : '<tr><td colspan="5">В этой сессии ещё нет загруженных файлов.</td></tr>'} + </tbody> + </table> + </div> + <div class="form-actions-grid"> + <button class="secondary-btn" type="button" data-action="back">Назад</button> + </div> + </div> + </div> + `; + bindBackdrop(); + root.querySelector('[data-action="back"]')?.addEventListener('click', showUpload); + root.querySelectorAll('[data-pick]').forEach((button) => { + button.addEventListener('click', () => { + const index = Number(button.getAttribute('data-pick')); + const item = rows[index]; + if (item) finish(resolve, item); + }); + }); + }; + + const showAddWallet = () => { + root.innerHTML = ` + <div class="modal" data-ar-attach-modal="true"> + <div class="modal-card stack ar-attachment-manager-card"> + <h3 class="modal-title">Добавить Arweave-кошелёк</h3> + <p class="meta-muted">Вставьте JSON JWK или короткую строку base64url(JSON JWK). Ключ будет сохранён в зашифрованном контейнере ключей этого пользователя на устройстве.</p> + <label class="meta-muted" for="ar-wallet-label">Название</label> + <input class="input" id="ar-wallet-label" type="text" maxlength="80" placeholder="например Основной AR" /> + <label class="meta-muted" for="ar-wallet-secret">Секрет Arweave</label> + <textarea class="input" id="ar-wallet-secret" rows="7" placeholder="JSON JWK или base64url(JSON)"></textarea> + <p class="meta-muted inline-error" data-error="true"></p> + <div class="form-actions-grid"> + <button class="secondary-btn" type="button" data-action="back">Назад</button> + <button class="primary-btn" type="button" data-action="save">Добавить</button> + </div> + </div> + </div> + `; + bindBackdrop(); + const labelEl = root.querySelector('#ar-wallet-label'); + const secretEl = root.querySelector('#ar-wallet-secret'); + const errorEl = root.querySelector('[data-error="true"]'); + const saveBtn = root.querySelector('[data-action="save"]'); + root.querySelector('[data-action="back"]')?.addEventListener('click', showUpload); + saveBtn?.addEventListener('click', async () => { + saveBtn.disabled = true; + setText(errorEl, ''); + try { + const wallet = await addArweaveWalletSecret({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + label: String(labelEl?.value || '').trim(), + secret: String(secretEl?.value || '').trim(), + }); + selectedWalletId = wallet.id; + await showUpload(); + } catch (error) { + saveBtn.disabled = false; + setText(errorEl, error?.message || 'Не удалось добавить Arweave-кошелёк.'); + } + }); + }; + + void showUpload(); + }); +} diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 6761d663..8ffa4a82 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -12,6 +12,12 @@ import { } from '../services/channels-ux.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; +import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; +import { + composeMessageWithAttachments, + createAttachmentListElement, + parseMessageAttachments, +} from '../services/attachment-format.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; import { extractLoginFromBlockchainName, makeProfileRoute, makeShineChannelRoute, makeShineMessageRoute } from '../services/shine-routes.js'; @@ -331,6 +337,25 @@ function resolveNodeText(node) { ); } +function renderDraftAttachments(container, attachments) { + if (!container) return; + container.innerHTML = ''; + (Array.isArray(attachments) ? attachments : []).forEach((item, index) => { + const button = document.createElement('button'); + button.type = 'button'; + button.className = 'draft-attachment-chip'; + button.textContent = `${item.name} · ${item.ar}`; + button.title = 'Нажмите, чтобы убрать вложение'; + button.addEventListener('click', () => { + const ok = window.confirm('Отменить вложение?'); + if (!ok) return; + attachments.splice(index, 1); + renderDraftAttachments(container, attachments); + }); + container.append(button); + }); +} + function openReplyModal({ onSubmit, navigate }) { const root = document.getElementById('modal-root'); root.innerHTML = ` @@ -338,6 +363,8 @@ function openReplyModal({ onSubmit, navigate }) { <div class="modal-card stack"> <h3 class="modal-title">Ответ</h3> <textarea id="thread-reply-text" class="input" rows="5" maxlength="2000" placeholder="Текст ответа"></textarea> + <div class="draft-attachments" id="thread-reply-attachments"></div> + <button class="secondary-btn attachment-trigger-btn" id="thread-reply-attach" type="button" aria-label="Добавить вложение" title="Добавить вложение">▣ 📎</button> <div class="meta-muted inline-error" id="thread-reply-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="thread-reply-cancel" type="button">Отмена</button> @@ -348,14 +375,17 @@ function openReplyModal({ onSubmit, navigate }) { `; const textEl = root.querySelector('#thread-reply-text'); + const attachmentsEl = root.querySelector('#thread-reply-attachments'); const errorEl = root.querySelector('#thread-reply-error'); const submitEl = root.querySelector('#thread-reply-submit'); + const attachments = []; let inFlight = false; const setBusy = (busy) => { inFlight = !!busy; submitEl.disabled = inFlight; if (textEl) textEl.disabled = inFlight; + root.querySelector('#thread-reply-attach')?.toggleAttribute('disabled', inFlight); submitEl.textContent = inFlight ? 'Отправляем...' : 'Отправить'; }; @@ -368,8 +398,8 @@ function openReplyModal({ onSubmit, navigate }) { if (inFlight) return; const text = String(textEl?.value || '').trim(); - if (!text) { - errorEl.textContent = 'Введите текст ответа.'; + if (!text && attachments.length === 0) { + errorEl.textContent = 'Введите текст ответа или добавьте вложение.'; return; } @@ -377,7 +407,7 @@ function openReplyModal({ onSubmit, navigate }) { errorEl.textContent = ''; try { - await onSubmit(text); + await onSubmit(composeMessageWithAttachments(text, attachments)); close(); } catch (error) { setBusy(false); @@ -385,6 +415,21 @@ function openReplyModal({ onSubmit, navigate }) { } }); + root.querySelector('#thread-reply-attach')?.addEventListener('click', async () => { + try { + const item = await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + }); + if (!item) return; + attachments.push(item); + renderDraftAttachments(attachmentsEl, attachments); + } catch (error) { + errorEl.textContent = toUserMessage(error, 'Не удалось добавить вложение.'); + } + }); + bindSubmitOnPlainEnter(textEl, () => root.querySelector('#thread-reply-submit')?.click()); if (textEl) textEl.focus(); @@ -504,7 +549,7 @@ function openMessageHistoryModal({ versions = [], title = 'История изм }); } -function openEditMessageModal({ initialText = '', onSave, onDelete }) { +function openEditMessageModal({ initialText = '', allowEmptyText = false, onSave, onDelete }) { const root = document.getElementById('modal-root'); root.innerHTML = ` <div class="modal" id="thread-edit-modal"> @@ -531,7 +576,7 @@ function openEditMessageModal({ initialText = '', onSave, onDelete }) { root.querySelector('#thread-edit-cancel')?.addEventListener('click', close); root.querySelector('#thread-edit-save')?.addEventListener('click', async () => { const value = String(textEl?.value || '').trim(); - if (!value) { + if (!value && !allowEmptyText) { errorEl.textContent = 'Введите текст сообщения.'; return; } @@ -569,6 +614,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { const isChannelPost = Number(node?.channelInfo?.channelRoot?.blockNumber) >= 0; const msgSubType = Number(node?.msgSubType || 0); const repostTarget = msgSubType === 30 ? buildRepostTargetFromNode(node) : null; + const parsedText = parseMessageAttachments(text); const headingText = String(heading || '').trim(); if (headingText) { @@ -620,9 +666,12 @@ function renderNodeCard(node, heading, handlers, localNumber) { const isDeletedMessage = String(text || '').trim().toLowerCase() === 'удалено'; const body = document.createElement('p'); body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; - body.textContent = isDeletedMessage ? 'Сообщение удалено' : text; + body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedText.text; card.append(authorTile, body); + if (!isDeletedMessage && parsedText.attachments.length > 0) { + card.append(createAttachmentListElement(parsedText.attachments, { gateway: state.entrySettings.arweaveServer })); + } const target = buildTargetFromNode(node); const refKey = messageRefKey(target); @@ -740,8 +789,9 @@ function renderNodeCard(node, heading, handlers, localNumber) { event.stopPropagation(); animatePress(event.currentTarget); openEditMessageModal({ - initialText: String(text || '').trim() === 'удалено' ? '' : text, - onSave: async (nextText) => handlers.onEdit(target, nextText, { isChannelPost }), + initialText: String(text || '').trim() === 'удалено' ? '' : parsedText.text, + allowEmptyText: parsedText.attachments.length > 0, + onSave: async (nextText) => handlers.onEdit(target, composeMessageWithAttachments(nextText, parsedText.attachments), { isChannelPost }), onDelete: async () => handlers.onEdit(target, '', { isChannelPost, isDelete: true }), }); }); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 65a12dc6..78107dee 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -18,6 +18,12 @@ import { } from '../services/channels-ux.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; +import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; +import { + composeMessageWithAttachments, + createAttachmentListElement, + parseMessageAttachments, +} from '../services/attachment-format.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; import { extractLoginFromBlockchainName, @@ -306,6 +312,25 @@ function bindSubmitOnPlainEnter(textarea, submit) { }); } +function renderDraftAttachments(container, attachments) { + if (!container) return; + container.innerHTML = ''; + (Array.isArray(attachments) ? attachments : []).forEach((item, index) => { + const button = document.createElement('button'); + button.type = 'button'; + button.className = 'draft-attachment-chip'; + button.textContent = `${item.name} · ${item.ar}`; + button.title = 'Нажмите, чтобы убрать вложение'; + button.addEventListener('click', () => { + const ok = window.confirm('Отменить вложение?'); + if (!ok) return; + attachments.splice(index, 1); + renderDraftAttachments(container, attachments); + }); + container.append(button); + }); +} + function openReplyModal({ onSubmit, navigate }) { const root = document.getElementById('modal-root'); root.innerHTML = ` @@ -313,6 +338,8 @@ function openReplyModal({ onSubmit, navigate }) { <div class="modal-card stack"> <h3 class="modal-title">Ответ</h3> <textarea id="reply-text" class="input" rows="5" maxlength="2000" placeholder="Текст ответа"></textarea> + <div class="draft-attachments" id="reply-attachments"></div> + <button class="secondary-btn attachment-trigger-btn" id="reply-attach" type="button" aria-label="Добавить вложение" title="Добавить вложение">▣ 📎</button> <div class="meta-muted inline-error" id="reply-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="reply-cancel" type="button">Отмена</button> @@ -323,14 +350,17 @@ function openReplyModal({ onSubmit, navigate }) { `; const textEl = root.querySelector('#reply-text'); + const attachmentsEl = root.querySelector('#reply-attachments'); const errorEl = root.querySelector('#reply-error'); const submitEl = root.querySelector('#reply-submit'); + const attachments = []; let inFlight = false; const setBusy = (busy) => { inFlight = !!busy; submitEl.disabled = inFlight; if (textEl) textEl.disabled = inFlight; + root.querySelector('#reply-attach')?.toggleAttribute('disabled', inFlight); submitEl.textContent = inFlight ? 'Отправляем...' : 'Отправить'; }; @@ -343,8 +373,8 @@ function openReplyModal({ onSubmit, navigate }) { if (inFlight) return; const text = String(textEl?.value || '').trim(); - if (!text) { - errorEl.textContent = 'Введите текст ответа.'; + if (!text && attachments.length === 0) { + errorEl.textContent = 'Введите текст ответа или добавьте вложение.'; return; } @@ -352,7 +382,7 @@ function openReplyModal({ onSubmit, navigate }) { errorEl.textContent = ''; try { - await onSubmit(text); + await onSubmit(composeMessageWithAttachments(text, attachments)); close(); } catch (error) { setBusy(false); @@ -360,6 +390,21 @@ function openReplyModal({ onSubmit, navigate }) { } }); + root.querySelector('#reply-attach')?.addEventListener('click', async () => { + try { + const item = await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + }); + if (!item) return; + attachments.push(item); + renderDraftAttachments(attachmentsEl, attachments); + } catch (error) { + errorEl.textContent = toUserMessage(error, 'Не удалось добавить вложение.'); + } + }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); if (textEl) textEl.focus(); @@ -447,6 +492,8 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { <h3 class="modal-title">Новое сообщение в канале</h3> <p class="meta-muted">${channelName}</p> <textarea id="channel-message-text" class="input" rows="6" maxlength="2000" placeholder="Текст сообщения"></textarea> + <div class="draft-attachments" id="channel-message-attachments"></div> + <button class="secondary-btn attachment-trigger-btn" id="channel-message-attach" type="button" aria-label="Добавить вложение" title="Добавить вложение">▣ 📎</button> <div class="meta-muted inline-error" id="channel-message-error"></div> <div class="form-actions-grid"> <button class="secondary-btn" id="channel-message-cancel" type="button">Отмена</button> @@ -457,14 +504,17 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { `; const textEl = root.querySelector('#channel-message-text'); + const attachmentsEl = root.querySelector('#channel-message-attachments'); const errorEl = root.querySelector('#channel-message-error'); const submitEl = root.querySelector('#channel-message-submit'); + const attachments = []; let inFlight = false; const setBusy = (busy) => { inFlight = !!busy; submitEl.disabled = inFlight; if (textEl) textEl.disabled = inFlight; + root.querySelector('#channel-message-attach')?.toggleAttribute('disabled', inFlight); submitEl.textContent = inFlight ? 'Отправляем...' : 'Отправить'; }; @@ -477,8 +527,8 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { if (inFlight) return; const body = String(textEl?.value || '').trim(); - if (!body) { - errorEl.textContent = 'Введите текст сообщения.'; + if (!body && attachments.length === 0) { + errorEl.textContent = 'Введите текст сообщения или добавьте вложение.'; return; } @@ -486,7 +536,7 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { errorEl.textContent = ''; try { - await onSubmit(body); + await onSubmit(composeMessageWithAttachments(body, attachments)); close(); } catch (error) { setBusy(false); @@ -494,6 +544,21 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { } }); + root.querySelector('#channel-message-attach')?.addEventListener('click', async () => { + try { + const item = await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + }); + if (!item) return; + attachments.push(item); + renderDraftAttachments(attachmentsEl, attachments); + } catch (error) { + errorEl.textContent = toUserMessage(error, 'Не удалось добавить вложение.'); + } + }); + bindSubmitOnPlainEnter(textEl, () => submitEl?.click()); if (textEl) textEl.focus(); @@ -535,7 +600,7 @@ function openMessageHistoryModal({ versions = [], title = 'История изм }); } -function openEditMessageModal({ initialText = '', onSave, onDelete }) { +function openEditMessageModal({ initialText = '', allowEmptyText = false, onSave, onDelete }) { const root = document.getElementById('modal-root'); root.innerHTML = ` <div class="modal" id="edit-message-modal"> @@ -563,7 +628,7 @@ function openEditMessageModal({ initialText = '', onSave, onDelete }) { root.querySelector('#edit-message-cancel')?.addEventListener('click', close); root.querySelector('#edit-message-save')?.addEventListener('click', async () => { const value = String(textEl?.value || '').trim(); - if (!value) { + if (!value && !allowEmptyText) { errorEl.textContent = 'Введите текст сообщения.'; return; } @@ -932,11 +997,15 @@ function renderPostCard(post, { }); const isDeletedMessage = String(post.body || '').trim().toLowerCase() === 'удалено'; + const parsedBody = parseMessageAttachments(post.body); const body = document.createElement('p'); body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; - body.textContent = isDeletedMessage ? 'Сообщение удалено' : post.body; + body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedBody.text; card.append(authorTile, body); + if (!isDeletedMessage && parsedBody.attachments.length > 0) { + card.append(createAttachmentListElement(parsedBody.attachments, { gateway: state.entrySettings.arweaveServer })); + } const refKey = messageRefKey(post.messageRef); if (refKey) { @@ -1048,8 +1117,9 @@ function renderPostCard(post, { event.stopPropagation(); animatePress(event.currentTarget); openEditMessageModal({ - initialText: String(post.body || '').trim() === 'удалено' ? '' : post.body, - onSave: async (nextText) => onEdit(post.messageRef, nextText, { isDelete: false }), + initialText: String(post.body || '').trim() === 'удалено' ? '' : parsedBody.text, + allowEmptyText: parsedBody.attachments.length > 0, + onSave: async (nextText) => onEdit(post.messageRef, composeMessageWithAttachments(nextText, parsedBody.attachments), { isDelete: false }), onDelete: async () => onEdit(post.messageRef, '', { isDelete: true }), }); }); diff --git a/shine-UI/js/services/arweave-file-service.js b/shine-UI/js/services/arweave-file-service.js index bc937cd0..188ef341 100644 --- a/shine-UI/js/services/arweave-file-service.js +++ b/shine-UI/js/services/arweave-file-service.js @@ -1,6 +1,7 @@ const DEFAULT_ARWEAVE_GATEWAY = 'https://arweave.net'; const WINSTON_PER_AR = 1_000_000_000_000n; const MAX_AVATAR_SOURCE_BYTES = 10 * 1024 * 1024; +const MAX_ARWEAVE_ATTACHMENT_METADATA_BYTES = 50 * 1024 * 1024; const MAX_AVATAR_SIDE_PX = 768; const AVATAR_QUALITY = 0.86; const TX_ID_RE = /^[A-Za-z0-9_-]{43}$/; @@ -268,12 +269,42 @@ export async function prepareAvatarImageFile(file) { } } -export async function uploadArweaveFile({ gateway, jwk, file, tags = [] }) { +export async function loadArweaveFileMetadata({ gateway, txId, maxBytes = MAX_ARWEAVE_ATTACHMENT_METADATA_BYTES } = {}) { + const url = buildArweaveDataUrl({ gateway, txId }); + const limit = Math.max(1, Number(maxBytes || MAX_ARWEAVE_ATTACHMENT_METADATA_BYTES)); + const response = await fetch(url, { method: 'GET', cache: 'no-store' }); + if (!response.ok) { + throw new Error(`Не удалось скачать файл Arweave (${response.status} ${response.statusText})`); + } + + const lengthHeader = String(response.headers.get('content-length') || '').trim(); + const declaredSize = Number(lengthHeader); + if (Number.isFinite(declaredSize) && declaredSize > limit) { + throw new Error(`Файл слишком большой для локальной проверки. Максимум ${Math.round(limit / 1024 / 1024)} MB.`); + } + + const buffer = await response.arrayBuffer(); + if (buffer.byteLength > limit) { + throw new Error(`Файл слишком большой для локальной проверки. Максимум ${Math.round(limit / 1024 / 1024)} MB.`); + } + + const cleanType = String(response.headers.get('content-type') || '').split(';')[0].trim(); + const sha256Hex = await sha256HexFromArrayBuffer(buffer); + return { + txId: String(txId || '').trim(), + sizeBytes: buffer.byteLength, + sha256Hex, + contentType: cleanType, + gateway: normalizeGateway(gateway), + }; +} + +export async function uploadArweaveFile({ gateway, jwk, file, tags = [], shineType = 'avatar' }) { if (!jwk || typeof jwk !== 'object') { throw new Error('Arweave-кошелёк не инициализирован.'); } if (!(file instanceof File)) { - throw new Error('Выберите файл изображения.'); + throw new Error('Выберите файл.'); } const normalizedGateway = normalizeGateway(gateway); @@ -287,14 +318,13 @@ export async function uploadArweaveFile({ gateway, jwk, file, tags = [] }) { const tx = await arweave.createTransaction({ data }, jwk); tx.addTag('Content-Type', String(file.type || 'application/octet-stream')); tx.addTag('App-Name', 'SHiNE'); - tx.addTag('SHiNE-Type', 'avatar'); + tx.addTag('SHiNE-Type', String(shineType || 'file')); const extraTags = Array.isArray(tags) ? tags : []; - const profileLoginTag = extraTags.find((item) => String(item?.name || '').trim() === 'SHiNE-Profile-Login'); - const profileLogin = String(profileLoginTag?.value || '').trim(); - if (!profileLogin) { - throw new Error('Не указан логин профиля для тега SHiNE-Profile-Login'); - } - tx.addTag('SHiNE-Profile-Login', profileLogin); + extraTags.forEach((item) => { + const name = String(item?.name || '').trim(); + const value = String(item?.value || '').trim(); + if (name && value) tx.addTag(name, value); + }); await arweave.transactions.sign(tx, jwk); const postResult = await arweave.transactions.post(tx); diff --git a/shine-UI/js/services/arweave-wallet-service.js b/shine-UI/js/services/arweave-wallet-service.js index 9387b04c..580bd6b9 100644 --- a/shine-UI/js/services/arweave-wallet-service.js +++ b/shine-UI/js/services/arweave-wallet-service.js @@ -93,6 +93,53 @@ function pickCachedWallet(secrets) { }; } +function normalizeExtraWallets(secrets) { + const rows = Array.isArray(secrets?.arweaveWallets) ? secrets.arweaveWallets : []; + return rows + .filter((item) => item && typeof item === 'object') + .map((item) => ({ + id: String(item.id || item.address || '').trim(), + label: String(item.label || '').trim(), + address: String(item.address || '').trim(), + owner: String(item.owner || '').trim(), + jwk: item.jwk, + createdAtMs: Number(item.createdAtMs || 0), + })) + .filter((item) => item.id && item.address && item.jwk && typeof item.jwk === 'object'); +} + +function parseJwkSecretString(secret) { + const raw = String(secret || '').trim(); + if (!raw) throw new Error('Введите секрет Arweave-кошелька.'); + + const tryParse = (value) => { + const parsed = JSON.parse(value); + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new Error('Некорректный JWK Arweave.'); + } + return parsed; + }; + + if (raw.startsWith('{')) return tryParse(raw); + + const normalized = raw + .replace(/-/g, '+') + .replace(/_/g, '/') + .padEnd(Math.ceil(raw.length / 4) * 4, '='); + try { + return tryParse(atob(normalized)); + } catch { + throw new Error('Секрет должен быть JSON JWK или base64url(JSON JWK).'); + } +} + +function validateArweaveJwk(jwk) { + if (!jwk || typeof jwk !== 'object') throw new Error('Некорректный JWK Arweave.'); + ['kty', 'e', 'n', 'd', 'p', 'q', 'dp', 'dq', 'qi'].forEach((key) => { + if (!String(jwk[key] || '').trim()) throw new Error(`В JWK Arweave нет поля ${key}.`); + }); +} + function safeStatus(onStatus, text) { if (typeof onStatus !== 'function') return; try { @@ -102,6 +149,63 @@ function safeStatus(onStatus, text) { } } +export async function getArweaveWalletChoices({ login, storagePwd, onStatus } = {}) { + const derived = await getArweaveWalletFromStoredClientKey({ login, storagePwd, onStatus }); + const secrets = await loadEncryptedUserSecrets(String(login || '').trim(), String(storagePwd || '').trim()); + const extras = normalizeExtraWallets(secrets); + return [ + { + id: 'derived-client-key', + label: 'Стандартный из client key', + address: derived.address, + owner: derived.owner, + jwk: derived.jwk, + isDefault: true, + }, + ...extras.map((item) => ({ + ...item, + label: item.label || `Arweave ${item.address.slice(0, 6)}...${item.address.slice(-6)}`, + isDefault: false, + })), + ]; +} + +export async function addArweaveWalletSecret({ login, storagePwd, secret, label = '' } = {}) { + const cleanLogin = String(login || '').trim(); + const cleanPwd = String(storagePwd || '').trim(); + if (!cleanLogin || !cleanPwd) throw new Error('Нет активной сессии.'); + + const jwk = parseJwkSecretString(secret); + validateArweaveJwk(jwk); + + const moduleRef = await loadArweaveLib(); + const Arweave = moduleRef?.default || moduleRef; + const arweave = Arweave.init({ host: 'arweave.net', port: 443, protocol: 'https' }); + const address = await arweave.wallets.jwkToAddress(jwk); + const owner = String(jwk.n || '').trim(); + const id = `manual-${address}`; + const createdAtMs = Date.now(); + const wallet = { + id, + label: String(label || '').trim() || `Arweave ${address.slice(0, 6)}...${address.slice(-6)}`, + address, + owner, + jwk, + createdAtMs, + }; + + await updateEncryptedUserSecrets(cleanLogin, cleanPwd, (current) => { + const wallets = normalizeExtraWallets(current).filter((item) => item.address !== address); + wallets.push(wallet); + return { + ...current, + arweaveWallets: wallets, + }; + }); + + return wallet; +} + export async function getArweaveWalletFromStoredClientKey({ login, storagePwd, onStatus } = {}) { const cleanLogin = String(login || '').trim(); const cleanPwd = String(storagePwd || '').trim(); diff --git a/shine-UI/js/services/attachment-format.js b/shine-UI/js/services/attachment-format.js new file mode 100644 index 00000000..d93b2baa --- /dev/null +++ b/shine-UI/js/services/attachment-format.js @@ -0,0 +1,132 @@ +import { buildArweaveDataUrl, validateArweaveTxId, validateSha256Hex } from './arweave-file-service.js'; + +const ATTACH_PREFIX = '<SHiNE:attach;'; +const ATTACH_BLOCK_RE = /^<SHiNE:attach;([^>]*)>\n?/u; + +export function escapeHtml(text) { + return String(text || '') + .replaceAll('&', '&amp;') + .replaceAll('<', '&lt;') + .replaceAll('>', '&gt;') + .replaceAll('"', '&quot;') + .replaceAll("'", '&#39;'); +} + +export function formatBytes(bytes) { + const value = Number(bytes || 0); + if (!Number.isFinite(value) || value <= 0) return '0 B'; + if (value < 1024) return `${value} B`; + if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)} KB`; + return `${(value / (1024 * 1024)).toFixed(2)} MB`; +} + +function normalizeName(name) { + const clean = String(name || 'file') + .replace(/[\u0000-\u001f\u007f]/g, '') + .replace(/[\\/]/g, '_') + .trim(); + return clean || 'file'; +} + +export function normalizeAttachment(input = {}) { + const txId = String(input.ar || input.txId || '').trim(); + const sha256Hex = String(input.sha256 || input.sha256Hex || '').trim().toLowerCase(); + const size = Number(input.size || input.sizeBytes || 0); + const name = normalizeName(input.name || input.fileName || 'file'); + if (!validateArweaveTxId(txId)) throw new Error('Некорректный Transaction ID Arweave.'); + if (!validateSha256Hex(sha256Hex)) throw new Error('Некорректный SHA-256 файла.'); + if (!Number.isInteger(size) || size <= 0) throw new Error('Некорректный размер файла.'); + return { + v: 1, + name, + size, + sha256: sha256Hex, + ar: txId, + uploadedAtMs: Number(input.uploadedAtMs || 0) || Date.now(), + }; +} + +export function buildAttachmentBlock(attachment) { + const item = normalizeAttachment(attachment); + const encodedName = encodeURIComponent(item.name); + return `<SHiNE:attach;v=1;name=${encodedName};size=${item.size};sha256=${item.sha256};ar=${item.ar}>`; +} + +export function composeMessageWithAttachments(text, attachments = []) { + const cleanText = String(text || '').trim(); + const rows = (Array.isArray(attachments) ? attachments : []).map(buildAttachmentBlock); + if (!rows.length) return cleanText; + return `${rows.join('\n')}${cleanText ? `\n${cleanText}` : ''}`; +} + +function parseFields(rawFields) { + const out = {}; + String(rawFields || '').split(';').forEach((part) => { + const eq = part.indexOf('='); + if (eq <= 0) return; + const key = part.slice(0, eq).trim(); + const value = part.slice(eq + 1).trim(); + if (key) out[key] = value; + }); + return out; +} + +export function parseMessageAttachments(rawText) { + let rest = String(rawText || ''); + const attachments = []; + + while (rest.startsWith(ATTACH_PREFIX)) { + const match = rest.match(ATTACH_BLOCK_RE); + if (!match) break; + const fields = parseFields(match[1]); + try { + attachments.push(normalizeAttachment({ + name: decodeURIComponent(String(fields.name || 'file')), + size: fields.size, + sha256: fields.sha256, + ar: fields.ar, + })); + } catch { + // Битый attach-блок скрываем из UI, но не ломаем отображение текста. + } + rest = rest.slice(match[0].length); + } + + return { + attachments, + text: rest.replace(/^\n+/u, ''), + }; +} + +export function createAttachmentListElement(attachments = [], { gateway = '', compact = false } = {}) { + const items = Array.isArray(attachments) ? attachments : []; + const wrap = document.createElement('div'); + wrap.className = `message-attachments${compact ? ' message-attachments--compact' : ''}`; + items.forEach((raw) => { + let item; + try { + item = normalizeAttachment(raw); + } catch { + return; + } + const url = buildArweaveDataUrl({ gateway, txId: item.ar }); + const link = document.createElement('a'); + link.className = 'message-attachment-card'; + link.href = url; + link.target = '_blank'; + link.rel = 'noopener'; + link.title = 'Открыть файл в Arweave'; + link.addEventListener('click', (event) => { + event.stopPropagation(); + }); + link.innerHTML = ` + <span class="message-attachment-icon" aria-hidden="true">📎</span> + <span class="message-attachment-main"> + <span class="message-attachment-name">${escapeHtml(item.name)}</span> + <span class="message-attachment-meta">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(item.ar)}</span> + </span> + `; + wrap.append(link); + }); + return wrap; +} diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index f9ed30b5..d4b4dc55 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2151,6 +2151,125 @@ textarea.input { gap: 10px; } +.attachment-trigger-btn { + justify-self: start; + min-width: 3.25rem; + padding-inline: 0.8rem; +} + +.draft-attachments { + display: flex; + flex-wrap: wrap; + gap: 0.45rem; +} + +.draft-attachment-chip { + border: 1px solid rgba(30, 64, 175, 0.2); + border-radius: 999px; + background: rgba(219, 234, 254, 0.92); + color: #1e3a8a; + cursor: pointer; + font-size: 0.82rem; + max-width: 100%; + overflow: hidden; + padding: 0.4rem 0.65rem; + text-overflow: ellipsis; + white-space: nowrap; +} + +.message-attachments { + display: grid; + gap: 0.5rem; +} + +.message-attachment-card { + align-items: center; + background: linear-gradient(135deg, rgba(240, 253, 250, 0.95), rgba(239, 246, 255, 0.95)); + border: 1px solid rgba(20, 184, 166, 0.25); + border-radius: 1rem; + color: #0f172a; + display: flex; + gap: 0.7rem; + padding: 0.75rem 0.85rem; + text-decoration: none; +} + +.message-attachment-icon { + align-items: center; + background: #0f766e; + border-radius: 0.8rem; + color: #fff; + display: inline-flex; + flex: 0 0 auto; + height: 2.1rem; + justify-content: center; + width: 2.1rem; +} + +.message-attachment-main { + display: grid; + min-width: 0; +} + +.message-attachment-name { + font-weight: 700; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.message-attachment-meta { + color: #64748b; + font-size: 0.78rem; + overflow-wrap: anywhere; +} + +.ar-attachment-manager-card { + max-width: min(92vw, 34rem); +} + +.ar-attachment-manager-card--wide { + max-width: min(96vw, 58rem); +} + +.ar-attachment-meta { + color: #cbd5e1; + display: grid; + font-size: 0.86rem; + gap: 0.25rem; + overflow-wrap: anywhere; +} + +.ar-attachment-history-table-wrap { + max-height: 55vh; + overflow: auto; +} + +.ar-attachment-history-table { + border-collapse: collapse; + font-size: 0.84rem; + min-width: 48rem; + width: 100%; +} + +.ar-attachment-history-table th, +.ar-attachment-history-table td { + border-bottom: 1px solid rgba(148, 163, 184, 0.25); + padding: 0.55rem; + text-align: left; + vertical-align: top; +} + +.ar-attachment-history-table th { + color: #cbd5e1; + font-weight: 700; +} + +.mono-cell { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + overflow-wrap: anywhere; +} + .modal-danger-action { width: 100%; } From f961947e1e54094534ad2fe817e6f18e886a5cc437878682f7e7364f934912aa Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 30 Jul 2026 11:14:19 +0400 Subject: [PATCH 58/83] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=20UI:=20=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D0=B8=D1=82=D1=8C=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Blockchain/11_TEXT_Blocks.md | 2 + docs/Blockchain/15_TEXT_Attachments.md | 84 ++++++++++++++++++++++++ docs/Blockchain/CHANGELOG.md | 6 ++ docs/Blockchain/README.md | 22 ++++--- shine-UI/js/pages/channel-thread-view.js | 3 +- shine-UI/js/pages/channel-view.js | 3 +- 6 files changed, 108 insertions(+), 12 deletions(-) create mode 100644 docs/Blockchain/15_TEXT_Attachments.md diff --git a/docs/Blockchain/11_TEXT_Blocks.md b/docs/Blockchain/11_TEXT_Blocks.md index 17d86fe8..564451cd 100644 --- a/docs/Blockchain/11_TEXT_Blocks.md +++ b/docs/Blockchain/11_TEXT_Blocks.md @@ -41,6 +41,8 @@ TEXT-тип хранит сообщения и редактирования. Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` клиент может хранить вложения как технические строки в начале обычного `text`. +Подробная спецификация: [15_TEXT_Attachments.md](./15_TEXT_Attachments.md). + Бинарный формат `TextBody` не меняется: вложения являются частью UTF-8 текста. Один блок вложения: diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md new file mode 100644 index 00000000..526e6d82 --- /dev/null +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -0,0 +1,84 @@ +# Вложения в TEXT-сообщениях (`SHiNE:attach v=1`) + +Документ фиксирует текущий формат вложений в текстовых блоках SHiNE. + +## Область применения + +Формат применяется к UTF-8 полю `text` в TEXT-блоках: + +- `TEXT_POST` +- `TEXT_REPLY` +- `TEXT_EDIT_POST` +- `TEXT_EDIT_REPLY` + +Бинарный формат `TextBody` не меняется. Вложения являются техническим префиксом внутри обычного текста. + +## Общий вид + +Один attach-блок: + +```text +<SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef;ar=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA> +``` + +Несколько вложений идут подряд в самом начале текста: + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;ar=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB> +<SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc;ar=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD> +Текст сообщения +``` + +После последнего attach-блока идёт обычный пользовательский текст. Пользовательский текст может быть пустым, если есть хотя бы одно валидное вложение. + +## Поля + +Обязательные поля: + +- `v=1` - версия формата attach-блока; +- `name` - имя файла, закодированное через `encodeURIComponent`; +- `size` - размер файла в байтах; +- `sha256` - SHA-256 исходного файла в hex, 64 символа; +- `ar` - короткий Arweave Transaction ID, 43 символа, без gateway URL. + +## Хранение файла + +Файл хранится вне блокчейна в Arweave. В блокчейне хранится только метаинформация, достаточная для отображения и проверки: + +- имя файла; +- размер; +- SHA-256; +- Arweave `txId`. + +## Создание вложения в UI + +UI поддерживает три сценария: + +- загрузить новый файл в Arweave выбранным Arweave-кошельком; +- ввести существующий `txId`, скачать файл через Arweave gateway и локально посчитать `size/sha256`; +- выбрать файл из журнала файлов, загруженных в текущей браузерной сессии. + +Журнал хранится только в `sessionStorage` текущего браузера и не является частью блокчейна. + +## Отображение + +Новый клиент при чтении сообщения: + +1. читает валидные attach-блоки только из начала текста; +2. скрывает технические attach-строки; +3. отображает вложения над пользовательским текстом; +4. каждое вложение показывает как карточку/ссылку на Arweave gateway; +5. если attach-блок битый, игнорирует только этот блок и продолжает отображать сообщение. + +Старые клиенты без поддержки формата могут показывать attach-блоки как обычный текст. + +## Редактирование + +При редактировании сообщения UI сохраняет существующие attach-блоки и меняет только пользовательский текст. Удаление сообщения по-прежнему выполняется через edit-блок с пустым текстом, как описано в `11_TEXT_Blocks.md`. + +## Ограничения v1 + +- `ar` допускает только короткий Arweave `txId`, полный URL не используется; +- превью типа image/video/audio не входит в формат v1; +- MIME type, width, height, duration и thumbnail не записываются в блокчейн; +- проверка существующего `txId` скачивает файл локально через gateway, поэтому UI ограничивает максимальный размер такой проверки. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index f68a0e20..cdd13b60 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,11 @@ # История изменений документации блокчейна +## 2026-07-30 11:12:47 +0400 +- Базовый коммит-ориентир: `e9e6628`. +- Добавлен отдельный документ `docs/Blockchain/15_TEXT_Attachments.md` с полной спецификацией `SHiNE:attach v=1`. +- В `docs/Blockchain/README.md` добавлена ссылка на документ вложений. +- В UI порядок отображения сообщения с вложениями закреплён как: вложения сверху, пользовательский текст снизу. + ## 2026-07-30 10:31:26 +0400 - Базовый коммит-ориентир: `c7684d6`. - Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` зафиксирован клиентский формат вложений `SHiNE:attach v=1`. diff --git a/docs/Blockchain/README.md b/docs/Blockchain/README.md index 302df73f..3e4ef7de 100644 --- a/docs/Blockchain/README.md +++ b/docs/Blockchain/README.md @@ -3,25 +3,27 @@ Этот каталог описывает только текущий рабочий формат протокола для MVP. ## Основные документы -1. [01_Common_Block_Format.md](./01_Common_Block_Format.md) +1. [01_Common_Block_Format.md](./01_Common_Block_Format.md) Единый бинарный формат блока (Frame v0), подпись, базовые проверки. -2. [02_Blockchain_Kinds_and_Lines.md](./02_Blockchain_Kinds_and_Lines.md) +2. [02_Blockchain_Kinds_and_Lines.md](./02_Blockchain_Kinds_and_Lines.md) Виды цепочек и правила line-полей. -3. [10_TECH_Blocks.md](./10_TECH_Blocks.md) +3. [10_TECH_Blocks.md](./10_TECH_Blocks.md) Системные блоки (`msg_type=0`). -4. [11_TEXT_Blocks.md](./11_TEXT_Blocks.md) +4. [11_TEXT_Blocks.md](./11_TEXT_Blocks.md) Текстовые блоки (`msg_type=1`). -5. [12_REACTION_Blocks.md](./12_REACTION_Blocks.md) +5. [12_REACTION_Blocks.md](./12_REACTION_Blocks.md) Реакции (`msg_type=2`). -6. [13_CONNECTION_Blocks.md](./13_CONNECTION_Blocks.md) +6. [13_CONNECTION_Blocks.md](./13_CONNECTION_Blocks.md) Социальные связи (`msg_type=3`). -7. [14_USER_PARAM_Blocks.md](./14_USER_PARAM_Blocks.md) +7. [14_USER_PARAM_Blocks.md](./14_USER_PARAM_Blocks.md) Параметры пользователя (`msg_type=4`). -8. [01_Channel_Types_and_CreateChannel.md](./01_Channel_Types_and_CreateChannel.md) +8. [15_TEXT_Attachments.md](./15_TEXT_Attachments.md) + Вложения в TEXT-сообщениях через `SHiNE:attach v=1`. +9. [01_Channel_Types_and_CreateChannel.md](./01_Channel_Types_and_CreateChannel.md) Типы каналов и формат `CreateChannelBody`. -9. [02_Channel_Commands.md](./02_Channel_Commands.md) +10. [02_Channel_Commands.md](./02_Channel_Commands.md) Команды в текстовых сообщениях каналов. -10. [CHANGELOG.md](./CHANGELOG.md) +11. [CHANGELOG.md](./CHANGELOG.md) Журнал изменений документации. ## Смежная документация diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 8ffa4a82..f6f0885b 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -668,10 +668,11 @@ function renderNodeCard(node, heading, handlers, localNumber) { body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedText.text; - card.append(authorTile, body); + card.append(authorTile); if (!isDeletedMessage && parsedText.attachments.length > 0) { card.append(createAttachmentListElement(parsedText.attachments, { gateway: state.entrySettings.arweaveServer })); } + card.append(body); const target = buildTargetFromNode(node); const refKey = messageRefKey(target); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 78107dee..47e93c0a 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -1002,10 +1002,11 @@ function renderPostCard(post, { body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedBody.text; - card.append(authorTile, body); + card.append(authorTile); if (!isDeletedMessage && parsedBody.attachments.length > 0) { card.append(createAttachmentListElement(parsedBody.attachments, { gateway: state.entrySettings.arweaveServer })); } + card.append(body); const refKey = messageRefKey(post.messageRef); if (refKey) { From c530627078eeb4aade785c64a7a334d9ea42554796ba4a7a2b568ada588baa91 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 12:49:24 +0400 Subject: [PATCH 59/83] =?UTF-8?q?UI:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BA=D0=B0=D1=80=D1=83=D1=81=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/15_TEXT_Attachments.md | 18 +- docs/Blockchain/CHANGELOG.md | 6 + shine-UI/js/pages/channel-thread-view.js | 12 +- shine-UI/js/pages/channel-view.js | 16 +- shine-UI/js/services/attachment-format.js | 289 ++++++++++++++++++++-- shine-UI/styles/components.css | 233 +++++++++++++++++ 7 files changed, 541 insertions(+), 35 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 3c0a9804..3bc40f27 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.1 +client.version=1.4.2 server.version=1.4.0 diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md index 526e6d82..4cd0ca14 100644 --- a/docs/Blockchain/15_TEXT_Attachments.md +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -31,6 +31,8 @@ После последнего attach-блока идёт обычный пользовательский текст. Пользовательский текст может быть пустым, если есть хотя бы одно валидное вложение. +Клиент SHiNE ограничивает одно сообщение максимум 10 вложениями и сохраняет порядок attach-блоков в том порядке, в котором пользователь прикрепил файлы. + ## Поля Обязательные поля: @@ -67,8 +69,18 @@ UI поддерживает три сценария: 1. читает валидные attach-блоки только из начала текста; 2. скрывает технические attach-строки; 3. отображает вложения над пользовательским текстом; -4. каждое вложение показывает как карточку/ссылку на Arweave gateway; -5. если attach-блок битый, игнорирует только этот блок и продолжает отображать сообщение. +4. показывает вложения горизонтальной каруселью: одно вложение на экране, переключение свайпом или стрелками, счётчик вида `1 из 3`; +5. определяет тип вложения по расширению имени файла: + - изображение показывает как ограниченное по размеру превью; + - видео показывает как превью с кнопкой воспроизведения и открывает большой HTML5-плеер по нажатию; + - обычный файл показывает как карточку с именем, расширением, размером и скачиванием; +6. при перелистывании останавливает воспроизводящееся видео; +7. если attach-блок битый, игнорирует только этот блок и продолжает отображать сообщение. + +Если файл по ссылке Arweave gateway недоступен, клиент показывает диагностический блок: + +- если сообщение создано менее 20 минут назад: файл, скорее всего, ещё не распространился в Arweave, нужно повторить через несколько минут; +- если сообщение старше 20 минут: файл считается недоступным. Старые клиенты без поддержки формата могут показывать attach-блоки как обычный текст. @@ -79,6 +91,6 @@ UI поддерживает три сценария: ## Ограничения v1 - `ar` допускает только короткий Arweave `txId`, полный URL не используется; -- превью типа image/video/audio не входит в формат v1; +- MIME type не записывается, поэтому UI определяет image/video/file по расширению имени файла; - MIME type, width, height, duration и thumbnail не записываются в блокчейн; - проверка существующего `txId` скачивает файл локально через gateway, поэтому UI ограничивает максимальный размер такой проверки. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index cdd13b60..a3a1c89a 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,11 @@ # История изменений документации блокчейна +## 2026-07-31 12:47:41 +0400 +- Базовый коммит-ориентир: `f961947`. +- Для `SHiNE:attach v=1` уточнено клиентское отображение вложений: горизонтальная карусель над текстом сообщения, счётчик позиции, просмотр image/video в модальном окне и скачивание файлов. +- Зафиксирован клиентский лимит: максимум 10 вложений в одном сообщении с сохранением порядка attach-блоков. +- Описана диагностика недоступного файла через Arweave gateway: отдельное сообщение для свежих сообщений младше 20 минут и отдельное сообщение для старых недоступных файлов. + ## 2026-07-30 11:12:47 +0400 - Базовый коммит-ориентир: `e9e6628`. - Добавлен отдельный документ `docs/Blockchain/15_TEXT_Attachments.md` с полной спецификацией `SHiNE:attach v=1`. diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index f6f0885b..1f5fc1c3 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -15,7 +15,8 @@ import { renderUserAvatar } from '../components/avatar-image.js'; import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; import { composeMessageWithAttachments, - createAttachmentListElement, + createAttachmentCarouselElement, + MAX_MESSAGE_ATTACHMENTS, parseMessageAttachments, } from '../services/attachment-format.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; @@ -417,6 +418,10 @@ function openReplyModal({ onSubmit, navigate }) { root.querySelector('#thread-reply-attach')?.addEventListener('click', async () => { try { + if (attachments.length >= MAX_MESSAGE_ATTACHMENTS) { + errorEl.textContent = `Можно прикрепить максимум ${MAX_MESSAGE_ATTACHMENTS} файлов.`; + return; + } const item = await openArweaveAttachmentManager({ login: state.session.login, storagePwd: state.session.storagePwdInMemory, @@ -670,7 +675,10 @@ function renderNodeCard(node, heading, handlers, localNumber) { card.append(authorTile); if (!isDeletedMessage && parsedText.attachments.length > 0) { - card.append(createAttachmentListElement(parsedText.attachments, { gateway: state.entrySettings.arweaveServer })); + card.append(createAttachmentCarouselElement(parsedText.attachments, { + gateway: state.entrySettings.arweaveServer, + messageTimestampMs: node?.createdAtMs, + })); } card.append(body); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 47e93c0a..73f2af72 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -21,7 +21,8 @@ import { renderUserAvatar } from '../components/avatar-image.js'; import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; import { composeMessageWithAttachments, - createAttachmentListElement, + createAttachmentCarouselElement, + MAX_MESSAGE_ATTACHMENTS, parseMessageAttachments, } from '../services/attachment-format.js'; import { loadProfileSnapshot } from '../services/user-profile-params.js'; @@ -392,6 +393,10 @@ function openReplyModal({ onSubmit, navigate }) { root.querySelector('#reply-attach')?.addEventListener('click', async () => { try { + if (attachments.length >= MAX_MESSAGE_ATTACHMENTS) { + errorEl.textContent = `Можно прикрепить максимум ${MAX_MESSAGE_ATTACHMENTS} файлов.`; + return; + } const item = await openArweaveAttachmentManager({ login: state.session.login, storagePwd: state.session.storagePwdInMemory, @@ -546,6 +551,10 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { root.querySelector('#channel-message-attach')?.addEventListener('click', async () => { try { + if (attachments.length >= MAX_MESSAGE_ATTACHMENTS) { + errorEl.textContent = `Можно прикрепить максимум ${MAX_MESSAGE_ATTACHMENTS} файлов.`; + return; + } const item = await openArweaveAttachmentManager({ login: state.session.login, storagePwd: state.session.storagePwdInMemory, @@ -1004,7 +1013,10 @@ function renderPostCard(post, { card.append(authorTile); if (!isDeletedMessage && parsedBody.attachments.length > 0) { - card.append(createAttachmentListElement(parsedBody.attachments, { gateway: state.entrySettings.arweaveServer })); + card.append(createAttachmentCarouselElement(parsedBody.attachments, { + gateway: state.entrySettings.arweaveServer, + messageTimestampMs: post.timestampMs, + })); } card.append(body); diff --git a/shine-UI/js/services/attachment-format.js b/shine-UI/js/services/attachment-format.js index d93b2baa..bc712681 100644 --- a/shine-UI/js/services/attachment-format.js +++ b/shine-UI/js/services/attachment-format.js @@ -2,6 +2,10 @@ import { buildArweaveDataUrl, validateArweaveTxId, validateSha256Hex } from './a const ATTACH_PREFIX = '<SHiNE:attach;'; const ATTACH_BLOCK_RE = /^<SHiNE:attach;([^>]*)>\n?/u; +export const MAX_MESSAGE_ATTACHMENTS = 10; +const RECENT_UNAVAILABLE_MS = 20 * 60 * 1000; +const IMAGE_EXTENSIONS = new Set(['apng', 'avif', 'bmp', 'gif', 'jpeg', 'jpg', 'png', 'svg', 'webp']); +const VIDEO_EXTENSIONS = new Set(['avi', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'ogg', 'ogv', 'webm']); export function escapeHtml(text) { return String(text || '') @@ -54,7 +58,9 @@ export function buildAttachmentBlock(attachment) { export function composeMessageWithAttachments(text, attachments = []) { const cleanText = String(text || '').trim(); - const rows = (Array.isArray(attachments) ? attachments : []).map(buildAttachmentBlock); + const rows = (Array.isArray(attachments) ? attachments : []) + .slice(0, MAX_MESSAGE_ATTACHMENTS) + .map(buildAttachmentBlock); if (!rows.length) return cleanText; return `${rows.join('\n')}${cleanText ? `\n${cleanText}` : ''}`; } @@ -98,35 +104,264 @@ export function parseMessageAttachments(rawText) { }; } -export function createAttachmentListElement(attachments = [], { gateway = '', compact = false } = {}) { - const items = Array.isArray(attachments) ? attachments : []; - const wrap = document.createElement('div'); - wrap.className = `message-attachments${compact ? ' message-attachments--compact' : ''}`; - items.forEach((raw) => { - let item; +export function getAttachmentExtension(name) { + const clean = String(name || '').trim().toLowerCase(); + const dot = clean.lastIndexOf('.'); + if (dot < 0 || dot === clean.length - 1) return ''; + return clean.slice(dot + 1).replace(/[^a-z0-9]/g, ''); +} + +export function getAttachmentKind(attachment = {}) { + const ext = getAttachmentExtension(attachment.name); + if (IMAGE_EXTENSIONS.has(ext)) return 'image'; + if (VIDEO_EXTENSIONS.has(ext)) return 'video'; + return 'file'; +} + +function isRecentMessage(messageTimestampMs) { + const ts = Number(messageTimestampMs || 0); + if (!Number.isFinite(ts) || ts <= 0) return false; + return Date.now() - ts < RECENT_UNAVAILABLE_MS; +} + +function createUnavailableBlock(messageTimestampMs) { + const block = document.createElement('div'); + block.className = 'message-attachment-unavailable'; + block.textContent = isRecentMessage(messageTimestampMs) + ? 'Скорее всего файл недоступен, потому что сообщение было создано недавно и файл ещё не распространился в Arweave. Попробуйте повторить через несколько минут.' + : 'Файл недоступен.'; + return block; +} + +function stopVideos(root) { + root.querySelectorAll('video').forEach((video) => { try { - item = normalizeAttachment(raw); + video.pause(); + video.currentTime = 0; } catch { - return; + // Если браузер не даёт управлять видео, просто продолжаем перелистывание. } - const url = buildArweaveDataUrl({ gateway, txId: item.ar }); - const link = document.createElement('a'); - link.className = 'message-attachment-card'; - link.href = url; - link.target = '_blank'; - link.rel = 'noopener'; - link.title = 'Открыть файл в Arweave'; - link.addEventListener('click', (event) => { - event.stopPropagation(); - }); - link.innerHTML = ` - <span class="message-attachment-icon" aria-hidden="true">📎</span> - <span class="message-attachment-main"> - <span class="message-attachment-name">${escapeHtml(item.name)}</span> - <span class="message-attachment-meta">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(item.ar)}</span> - </span> - `; - wrap.append(link); }); +} + +function createDownloadLink(url, label = 'Скачать') { + const link = document.createElement('a'); + link.className = 'message-attachment-download'; + link.href = url; + link.target = '_blank'; + link.rel = 'noopener'; + link.download = ''; + link.textContent = label; + link.addEventListener('click', (event) => { + event.stopPropagation(); + }); + return link; +} + +function openAttachmentViewer({ item, url, kind }) { + const root = document.getElementById('modal-root') || document.body; + const overlay = document.createElement('div'); + overlay.className = 'modal attachment-viewer-modal'; + overlay.innerHTML = ` + <div class="attachment-viewer-card" role="dialog" aria-modal="true"> + <div class="attachment-viewer-head"> + <div class="attachment-viewer-title">${escapeHtml(item.name)}</div> + <button class="icon-btn attachment-viewer-close" type="button" aria-label="Закрыть">×</button> + </div> + <div class="attachment-viewer-body"></div> + <div class="attachment-viewer-actions"></div> + </div> + `; + const close = () => { + stopVideos(overlay); + overlay.remove(); + }; + overlay.addEventListener('click', (event) => { + if (event.target === overlay) close(); + }); + overlay.querySelector('.attachment-viewer-close')?.addEventListener('click', close); + const body = overlay.querySelector('.attachment-viewer-body'); + if (kind === 'video') { + const video = document.createElement('video'); + video.className = 'attachment-viewer-media'; + video.src = url; + video.controls = true; + video.autoplay = true; + body.append(video); + } else { + const img = document.createElement('img'); + img.className = 'attachment-viewer-media'; + img.src = url; + img.alt = item.name; + body.append(img); + } + overlay.querySelector('.attachment-viewer-actions')?.append(createDownloadLink(url)); + root.append(overlay); +} + +function replaceWithUnavailable(slide, messageTimestampMs) { + if (!slide || slide.dataset.unavailable === '1') return; + slide.dataset.unavailable = '1'; + slide.replaceChildren(createUnavailableBlock(messageTimestampMs)); +} + +function createFileCard({ item, url, messageTimestampMs, slide }) { + const ext = getAttachmentExtension(item.name).toUpperCase() || 'FILE'; + const card = document.createElement('div'); + card.className = 'message-attachment-file-card'; + card.role = 'button'; + card.tabIndex = 0; + card.title = 'Скачать файл'; + card.innerHTML = ` + <div class="message-attachment-file-ext">${escapeHtml(ext)}</div> + <div class="message-attachment-file-main"> + <div class="message-attachment-name">${escapeHtml(item.name)}</div> + <div class="message-attachment-meta">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(item.ar)}</div> + </div> + `; + const openFile = () => window.open(url, '_blank', 'noopener'); + card.addEventListener('click', (event) => { + event.stopPropagation(); + openFile(); + }); + card.addEventListener('keydown', (event) => { + if (event.key !== 'Enter' && event.key !== ' ') return; + event.preventDefault(); + openFile(); + }); + card.append(createDownloadLink(url)); + void fetch(url, { method: 'HEAD', cache: 'no-store' }) + .then((response) => { + if (!response.ok) replaceWithUnavailable(slide, messageTimestampMs); + }) + .catch(() => replaceWithUnavailable(slide, messageTimestampMs)); + return card; +} + +function createMediaSlide({ item, url, kind, messageTimestampMs, slide }) { + const frame = document.createElement('div'); + frame.className = `message-attachment-media-frame message-attachment-media-frame--${kind}`; + frame.role = 'button'; + frame.tabIndex = 0; + frame.title = kind === 'video' ? 'Открыть видео' : 'Открыть изображение'; + frame.addEventListener('click', (event) => { + event.stopPropagation(); + openAttachmentViewer({ item, url, kind }); + }); + frame.addEventListener('keydown', (event) => { + if (event.key !== 'Enter' && event.key !== ' ') return; + event.preventDefault(); + openAttachmentViewer({ item, url, kind }); + }); + + if (kind === 'image') { + const img = document.createElement('img'); + img.className = 'message-attachment-media'; + img.src = url; + img.alt = item.name; + img.loading = 'lazy'; + img.addEventListener('error', () => replaceWithUnavailable(slide, messageTimestampMs), { once: true }); + frame.append(img); + } else { + const video = document.createElement('video'); + video.className = 'message-attachment-media'; + video.src = url; + video.preload = 'metadata'; + video.muted = true; + video.playsInline = true; + video.addEventListener('error', () => replaceWithUnavailable(slide, messageTimestampMs), { once: true }); + const play = document.createElement('span'); + play.className = 'message-attachment-play'; + play.textContent = '▶'; + frame.append(video, play); + } + + frame.append(createDownloadLink(url)); + return frame; +} + +export function createAttachmentCarouselElement(attachments = [], { gateway = '', messageTimestampMs = 0 } = {}) { + const items = (Array.isArray(attachments) ? attachments : []) + .slice(0, MAX_MESSAGE_ATTACHMENTS) + .map((raw) => { + try { + return normalizeAttachment(raw); + } catch { + return null; + } + }) + .filter(Boolean); + const wrap = document.createElement('div'); + wrap.className = 'message-attachments message-attachment-carousel'; + wrap.addEventListener('click', (event) => { + event.stopPropagation(); + }); + if (!items.length) return wrap; + + let index = 0; + let pointerStartX = 0; + const viewport = document.createElement('div'); + viewport.className = 'message-attachment-carousel-viewport'; + const slide = document.createElement('div'); + slide.className = 'message-attachment-slide'; + const prev = document.createElement('button'); + prev.type = 'button'; + prev.className = 'message-attachment-arrow message-attachment-arrow--prev'; + prev.textContent = '‹'; + prev.setAttribute('aria-label', 'Предыдущее вложение'); + const next = document.createElement('button'); + next.type = 'button'; + next.className = 'message-attachment-arrow message-attachment-arrow--next'; + next.textContent = '›'; + next.setAttribute('aria-label', 'Следующее вложение'); + const counter = document.createElement('div'); + counter.className = 'message-attachment-counter'; + + const render = () => { + stopVideos(wrap); + const item = items[index]; + const kind = getAttachmentKind(item); + const url = buildArweaveDataUrl({ gateway, txId: item.ar }); + slide.dataset.unavailable = '0'; + slide.replaceChildren(); + slide.append(kind === 'file' + ? createFileCard({ item, url, messageTimestampMs, slide }) + : createMediaSlide({ item, url, kind, messageTimestampMs, slide })); + prev.disabled = index <= 0; + next.disabled = index >= items.length - 1; + counter.textContent = `${index + 1} из ${items.length}`; + }; + + const move = (delta) => { + const nextIndex = Math.max(0, Math.min(items.length - 1, index + delta)); + if (nextIndex === index) return; + index = nextIndex; + render(); + }; + + prev.addEventListener('click', (event) => { + event.stopPropagation(); + move(-1); + }); + next.addEventListener('click', (event) => { + event.stopPropagation(); + move(1); + }); + viewport.addEventListener('pointerdown', (event) => { + pointerStartX = event.clientX; + }); + viewport.addEventListener('pointerup', (event) => { + const dx = event.clientX - pointerStartX; + if (Math.abs(dx) < 40) return; + move(dx < 0 ? 1 : -1); + }); + + viewport.append(slide, prev, next); + wrap.append(viewport, counter); + render(); return wrap; } + +export function createAttachmentListElement(attachments = [], options = {}) { + return createAttachmentCarouselElement(attachments, options); +} diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index d4b4dc55..47c990c6 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2182,6 +2182,165 @@ textarea.input { gap: 0.5rem; } +.message-attachment-carousel { + gap: 0.35rem; + margin: 0.5rem 0 0.4rem; + max-width: min(100%, 34rem); +} + +.message-attachment-carousel-viewport { + align-items: center; + background: linear-gradient(135deg, rgba(15, 23, 42, 0.05), rgba(20, 184, 166, 0.08)); + border: 1px solid rgba(15, 23, 42, 0.1); + border-radius: 1.15rem; + display: grid; + min-height: 12rem; + overflow: hidden; + position: relative; + touch-action: pan-y; +} + +.message-attachment-slide { + align-items: stretch; + display: grid; + min-height: 12rem; +} + +.message-attachment-arrow { + align-items: center; + background: rgba(15, 23, 42, 0.62); + border: 1px solid rgba(255, 255, 255, 0.18); + border-radius: 999px; + color: #fff; + cursor: pointer; + display: inline-flex; + font-size: 1.85rem; + height: 2.35rem; + justify-content: center; + line-height: 1; + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 2.35rem; + z-index: 2; +} + +.message-attachment-arrow:disabled { + cursor: default; + opacity: 0.28; +} + +.message-attachment-arrow--prev { + left: 0.55rem; +} + +.message-attachment-arrow--next { + right: 0.55rem; +} + +.message-attachment-counter { + color: #64748b; + font-size: 0.78rem; + text-align: center; +} + +.message-attachment-media-frame { + align-items: center; + background: #0f172a; + cursor: zoom-in; + display: grid; + min-height: 12rem; + overflow: hidden; + position: relative; +} + +.message-attachment-media { + display: block; + height: min(52vh, 20rem); + max-height: 20rem; + object-fit: contain; + width: 100%; +} + +.message-attachment-play { + align-items: center; + background: rgba(15, 23, 42, 0.72); + border: 1px solid rgba(255, 255, 255, 0.25); + border-radius: 999px; + color: #fff; + display: inline-flex; + font-size: 1.7rem; + height: 4rem; + justify-content: center; + left: 50%; + padding-left: 0.18rem; + position: absolute; + top: 50%; + transform: translate(-50%, -50%); + width: 4rem; +} + +.message-attachment-download { + background: rgba(20, 184, 166, 0.95); + border-radius: 999px; + color: #fff; + font-size: 0.82rem; + font-weight: 700; + padding: 0.45rem 0.75rem; + position: relative; + text-decoration: none; + width: max-content; + z-index: 3; +} + +.message-attachment-media-frame > .message-attachment-download { + bottom: 0.75rem; + position: absolute; + right: 0.75rem; +} + +.message-attachment-file-card { + align-items: center; + background: linear-gradient(135deg, rgba(240, 253, 250, 0.95), rgba(239, 246, 255, 0.95)); + color: #0f172a; + display: grid; + gap: 0.7rem; + grid-template-columns: auto minmax(0, 1fr) auto; + padding: 1rem; +} + +.message-attachment-file-ext { + align-items: center; + background: #0f766e; + border-radius: 0.9rem; + color: #fff; + display: inline-flex; + font-size: 0.8rem; + font-weight: 800; + height: 3rem; + justify-content: center; + max-width: 4rem; + min-width: 3rem; + padding: 0 0.45rem; +} + +.message-attachment-file-main { + display: grid; + min-width: 0; +} + +.message-attachment-unavailable { + align-items: center; + background: linear-gradient(135deg, rgba(254, 242, 242, 0.96), rgba(255, 247, 237, 0.96)); + color: #7f1d1d; + display: flex; + font-weight: 700; + justify-content: center; + min-height: 12rem; + padding: 1.25rem; + text-align: center; +} + .message-attachment-card { align-items: center; background: linear-gradient(135deg, rgba(240, 253, 250, 0.95), rgba(239, 246, 255, 0.95)); @@ -2224,6 +2383,80 @@ textarea.input { overflow-wrap: anywhere; } +.attachment-viewer-modal { + z-index: 80; +} + +.attachment-viewer-card { + background: rgba(15, 23, 42, 0.96); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 1.2rem; + box-shadow: 0 24px 90px rgba(0, 0, 0, 0.45); + color: #fff; + display: grid; + gap: 0.8rem; + max-height: 92vh; + max-width: min(94vw, 68rem); + padding: 0.9rem; + width: 100%; +} + +.attachment-viewer-head, +.attachment-viewer-actions { + align-items: center; + display: flex; + gap: 0.8rem; + justify-content: space-between; +} + +.attachment-viewer-title { + font-weight: 800; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.attachment-viewer-body { + align-items: center; + display: grid; + justify-items: center; + min-height: 12rem; +} + +.attachment-viewer-media { + background: #020617; + border-radius: 0.8rem; + max-height: 76vh; + max-width: 100%; + object-fit: contain; +} + +@media (max-width: 640px) { + .message-attachment-carousel { + max-width: 100%; + } + + .message-attachment-carousel-viewport, + .message-attachment-slide, + .message-attachment-media-frame, + .message-attachment-unavailable { + min-height: 10rem; + } + + .message-attachment-media { + height: min(42vh, 16rem); + } + + .message-attachment-file-card { + grid-template-columns: auto minmax(0, 1fr); + } + + .message-attachment-file-card .message-attachment-download { + grid-column: 1 / -1; + } +} + .ar-attachment-manager-card { max-width: min(92vw, 34rem); } From 98eba546210a5de44321b0893c585e471bb8e7853b22accd77ea344cbc0d374b Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 13:13:58 +0400 Subject: [PATCH 60/83] =?UTF-8?q?UI:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BE=D0=BA=20Arweave?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/15_TEXT_Attachments.md | 2 + docs/Blockchain/CHANGELOG.md | 5 + shine-UI/js/app.js | 2 + .../components/arweave-attachment-manager.js | 93 ++++++++---- shine-UI/js/pages/arweave-uploads-view.js | 133 ++++++++++++++++++ shine-UI/js/pages/channel-thread-view.js | 1 + shine-UI/js/pages/channel-view.js | 2 + shine-UI/js/pages/settings-view.js | 7 + shine-UI/js/router.js | 3 + shine-UI/styles/components.css | 87 ++++++++++++ 11 files changed, 310 insertions(+), 27 deletions(-) create mode 100644 shine-UI/js/pages/arweave-uploads-view.js diff --git a/VERSION.properties b/VERSION.properties index 3bc40f27..19420751 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.2 +client.version=1.4.3 server.version=1.4.0 diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md index 4cd0ca14..c043ed41 100644 --- a/docs/Blockchain/15_TEXT_Attachments.md +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -61,6 +61,8 @@ UI поддерживает три сценария: - выбрать файл из журнала файлов, загруженных в текущей браузерной сессии. Журнал хранится только в `sessionStorage` текущего браузера и не является частью блокчейна. +В настройках клиента есть отдельный экран журнала загрузок Arweave: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть плитку с именем, размером, датой, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. +Если история очищена, уже созданные сообщения не меняются: в блокчейне остаются attach-блоки с `txId`. ## Отображение diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index a3a1c89a..4a68b503 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,10 @@ # История изменений документации блокчейна +## 2026-07-31 13:12:24 +0400 +- Базовый коммит-ориентир: `c530627`. +- Для UI-вложений добавлен отдельный экран журнала загрузок Arweave в настройках: загрузка файла без создания сообщения, плитки истории с `txId`, размером, датой и статусом доступности через gateway. +- Уточнено, что журнал хранится только в `sessionStorage` текущего браузера и не влияет на уже записанные attach-блоки в блокчейне. + ## 2026-07-31 12:47:41 +0400 - Базовый коммит-ориентир: `f961947`. - Для `SHiNE:attach v=1` уточнено клиентское отображение вложений: горизонтальная карусель над текстом сообщения, счётчик позиции, просмотр image/video в модальном окне и скачивание файлов. diff --git a/shine-UI/js/app.js b/shine-UI/js/app.js index 403b7b2c..d8034140 100644 --- a/shine-UI/js/app.js +++ b/shine-UI/js/app.js @@ -59,6 +59,7 @@ import * as settingsView from './pages/settings-view.js'; import * as accessServersView from './pages/access-servers-view.js'; import * as developerSettingsView from './pages/developer-settings-view.js'; import * as serverSettingsView from './pages/server-settings-view.js?v=202606161240'; +import * as arweaveUploadsView from './pages/arweave-uploads-view.js'; import * as remoteAddBlockSessionView from './pages/remote-addblock-session-view.js?v=202606281300'; import * as deviceView from './pages/device-view.js?v=202606131435'; import * as connectDeviceView from './pages/connect-device-view.js?v=202606142055'; @@ -120,6 +121,7 @@ const routes = { 'access-servers-view': accessServersView, 'developer-settings-view': developerSettingsView, 'server-settings-view': serverSettingsView, + 'arweave-uploads-view': arweaveUploadsView, 'remote-addblock-session-view': remoteAddBlockSessionView, 'device-view': deviceView, 'connect-device-view': connectDeviceView, diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index abfa8bc3..c062abc6 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -1,4 +1,5 @@ import { + buildArweaveDataUrl, getArweaveUploadPrice, loadArweaveFileMetadata, sha256HexFromArrayBuffer, @@ -10,8 +11,9 @@ import { escapeHtml, formatBytes, normalizeAttachment } from '../services/attach const HISTORY_KEY = 'shine-ui-arweave-attachment-history-v1'; const MAX_HISTORY_ITEMS = 100; +const RECENT_UPLOAD_MS = 20 * 60 * 1000; -function readHistory(login) { +export function readArweaveAttachmentHistory(login) { try { const raw = sessionStorage.getItem(HISTORY_KEY); const parsed = raw ? JSON.parse(raw) : {}; @@ -23,7 +25,7 @@ function readHistory(login) { } } -function saveHistory(login, rows) { +export function saveArweaveAttachmentHistory(login, rows) { try { const key = String(login || '').trim().toLowerCase(); const raw = sessionStorage.getItem(HISTORY_KEY); @@ -35,20 +37,40 @@ function saveHistory(login, rows) { } } -function addToHistory(login, attachment) { +export function clearArweaveAttachmentHistory(login) { + saveArweaveAttachmentHistory(login, []); +} + +export function addArweaveAttachmentToHistory(login, attachment) { const item = normalizeAttachment(attachment); - const rows = readHistory(login).filter((row) => row.ar !== item.ar); + const rows = readArweaveAttachmentHistory(login).filter((row) => row.ar !== item.ar); rows.unshift(item); - saveHistory(login, rows); + saveArweaveAttachmentHistory(login, rows); return item; } -function formatDateTime(ms) { +export function formatArweaveHistoryDateTime(ms) { const value = Number(ms || 0); if (!Number.isFinite(value) || value <= 0) return '—'; return new Date(value).toLocaleString('ru-RU'); } +export async function getArweaveAttachmentAvailability({ gateway, attachment } = {}) { + const item = normalizeAttachment(attachment); + const url = buildArweaveDataUrl({ gateway, txId: item.ar }); + try { + const response = await fetch(url, { method: 'HEAD', cache: 'no-store' }); + if (response.ok) return { status: 'available', label: '✓ Доступен', url }; + } catch { + // gateway может временно не отвечать или блокировать HEAD; для UI это всё равно недоступно. + } + const ageMs = Date.now() - Number(item.uploadedAtMs || 0); + if (Number.isFinite(ageMs) && ageMs >= 0 && ageMs < RECENT_UPLOAD_MS) { + return { status: 'pending', label: '… Ещё обновляется', url }; + } + return { status: 'unavailable', label: '✕ Недоступен', url }; +} + function setText(node, text) { if (node) node.textContent = String(text || ''); } @@ -64,6 +86,7 @@ export function openArweaveAttachmentManager({ storagePwd, gateway, onSelect, + selectedTxIds = [], } = {}) { const cleanLogin = String(login || '').trim(); const cleanStoragePwd = String(storagePwd || '').trim(); @@ -82,6 +105,7 @@ export function openArweaveAttachmentManager({ let priceInfo = null; let balanceInfo = null; let autoOpenedFileDialog = false; + const selectedTxIdSet = new Set((Array.isArray(selectedTxIds) ? selectedTxIds : []).map((item) => String(item || '').trim()).filter(Boolean)); function selectedWallet() { return wallets.find((item) => String(item.id) === String(selectedWalletId)) || wallets[0] || null; @@ -95,7 +119,7 @@ export function openArweaveAttachmentManager({ } function finish(resolve, attachment) { - const item = addToHistory(cleanLogin, attachment); + const item = addArweaveAttachmentToHistory(cleanLogin, attachment); if (typeof onSelect === 'function') onSelect(item); close(resolve, item); } @@ -131,13 +155,14 @@ export function openArweaveAttachmentManager({ <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> <select class="input" id="ar-attach-wallet"></select> <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> + <p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p> <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> <input class="input" id="ar-attach-file" type="file" /> <div class="ar-attachment-meta" data-meta="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> <button class="secondary-btn" type="button" data-action="existing">Ввести txId</button> - <button class="secondary-btn" type="button" data-action="history">История</button> + <button class="secondary-btn" type="button" data-action="history">История загрузок</button> <button class="primary-btn" type="button" data-action="upload" disabled>Загрузить</button> </div> <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> @@ -313,29 +338,27 @@ export function openArweaveAttachmentManager({ }; const showHistory = () => { - const rows = readHistory(cleanLogin); + const rows = readArweaveAttachmentHistory(cleanLogin).slice().reverse(); root.innerHTML = ` <div class="modal" data-ar-attach-modal="true"> <div class="modal-card stack ar-attachment-manager-card ar-attachment-manager-card--wide"> <h3 class="modal-title">Журнал загруженных файлов</h3> <p class="meta-muted">Журнал хранится только в этой браузерной сессии.</p> - <div class="ar-attachment-history-table-wrap"> - <table class="ar-attachment-history-table"> - <thead> - <tr><th>Файл</th><th>txId</th><th>Размер</th><th>Дата</th><th></th></tr> - </thead> - <tbody> - ${rows.length ? rows.map((item, index) => ` - <tr> - <td>${escapeHtml(item.name)}</td> - <td class="mono-cell">${escapeHtml(item.ar)}</td> - <td>${escapeHtml(formatBytes(item.size))}</td> - <td>${escapeHtml(formatDateTime(item.uploadedAtMs))}</td> - <td><button class="ghost-btn" type="button" data-pick="${index}">Выбрать</button></td> - </tr> - `).join('') : '<tr><td colspan="5">В этой сессии ещё нет загруженных файлов.</td></tr>'} - </tbody> - </table> + <div class="ar-attachment-history-tiles" data-history-scroll="true"> + ${rows.length ? rows.map((item, index) => { + const isSelected = selectedTxIdSet.has(item.ar); + return ` + <article class="ar-attachment-history-tile${isSelected ? ' is-selected' : ''}" data-history-tile="${index}"> + <div class="ar-attachment-history-tile-head"> + <strong>${escapeHtml(item.name)}</strong> + <span class="ar-attachment-status ar-attachment-status--pending" data-status="${index}">Проверяем...</span> + </div> + <div class="meta-muted">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(formatArweaveHistoryDateTime(item.uploadedAtMs))}</div> + <div class="mono-cell ar-attachment-history-txid">${escapeHtml(item.ar)}</div> + <button class="${isSelected ? 'secondary-btn' : 'ghost-btn'}" type="button" data-pick="${index}" ${isSelected ? 'disabled' : ''}>${isSelected ? 'Уже добавлен ✓' : 'Выбрать'}</button> + </article> + `; + }).join('') : '<div class="card meta-muted">В этой сессии ещё нет загруженных файлов.</div>'} </div> <div class="form-actions-grid"> <button class="secondary-btn" type="button" data-action="back">Назад</button> @@ -344,6 +367,10 @@ export function openArweaveAttachmentManager({ </div> `; bindBackdrop(); + const scrollEl = root.querySelector('[data-history-scroll="true"]'); + window.setTimeout(() => { + if (scrollEl) scrollEl.scrollTop = scrollEl.scrollHeight; + }, 0); root.querySelector('[data-action="back"]')?.addEventListener('click', showUpload); root.querySelectorAll('[data-pick]').forEach((button) => { button.addEventListener('click', () => { @@ -352,6 +379,20 @@ export function openArweaveAttachmentManager({ if (item) finish(resolve, item); }); }); + rows.forEach((item, index) => { + const statusEl = root.querySelector(`[data-status="${index}"]`); + void getArweaveAttachmentAvailability({ gateway: cleanGateway, attachment: item }) + .then((result) => { + if (!statusEl) return; + statusEl.className = `ar-attachment-status ar-attachment-status--${result.status}`; + statusEl.textContent = result.label; + }) + .catch(() => { + if (!statusEl) return; + statusEl.className = 'ar-attachment-status ar-attachment-status--unavailable'; + statusEl.textContent = 'Недоступен'; + }); + }); }; const showAddWallet = () => { diff --git a/shine-UI/js/pages/arweave-uploads-view.js b/shine-UI/js/pages/arweave-uploads-view.js new file mode 100644 index 00000000..dbb51c22 --- /dev/null +++ b/shine-UI/js/pages/arweave-uploads-view.js @@ -0,0 +1,133 @@ +import { renderHeader } from '../components/header.js'; +import { + clearArweaveAttachmentHistory, + formatArweaveHistoryDateTime, + getArweaveAttachmentAvailability, + openArweaveAttachmentManager, + readArweaveAttachmentHistory, +} from '../components/arweave-attachment-manager.js'; +import { formatBytes } from '../services/attachment-format.js'; +import { toUserMessage } from '../services/ui-error-texts.js'; +import { state } from '../state.js'; + +export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузки в Arweave' }; + +function setStatusBadge(node, status, label) { + if (!node) return; + node.className = `ar-attachment-status ar-attachment-status--${status || 'pending'}`; + node.textContent = label || 'Проверяем...'; +} + +function renderTile(item, index) { + const tile = document.createElement('article'); + tile.className = 'ar-attachment-history-tile ar-attachment-history-tile--page'; + + const head = document.createElement('div'); + head.className = 'ar-attachment-history-tile-head'; + + const name = document.createElement('strong'); + name.textContent = item.name; + + const status = document.createElement('span'); + status.className = 'ar-attachment-status ar-attachment-status--pending'; + status.dataset.statusIndex = String(index); + status.textContent = 'Проверяем...'; + + const meta = document.createElement('div'); + meta.className = 'meta-muted'; + meta.textContent = `${formatBytes(item.size)} · ${formatArweaveHistoryDateTime(item.uploadedAtMs)}`; + + const txId = document.createElement('div'); + txId.className = 'mono-cell ar-attachment-history-txid'; + txId.textContent = item.ar; + + head.append(name, status); + tile.append(head, meta, txId); + return tile; +} + +export function render({ navigate }) { + const screen = document.createElement('section'); + screen.className = 'stack arweave-uploads-screen'; + + screen.append( + renderHeader({ + title: 'Загрузки в Arweave', + leftAction: { label: '←', onClick: () => navigate('settings-view') }, + }), + ); + + const intro = document.createElement('div'); + intro.className = 'card stack'; + intro.innerHTML = ` + <p class="field-label">Журнал файлов этой сессии</p> + <p class="meta-muted">Здесь можно заранее загрузить файл в Arweave. Он попадёт только в журнал, а в сообщение его потом можно добавить из истории загрузок.</p> + `; + + const controls = document.createElement('div'); + controls.className = 'card arweave-uploads-toolbar'; + controls.innerHTML = ` + <button class="primary-btn" type="button" data-action="upload">Добавить файл</button> + <button class="secondary-btn" type="button" data-action="clear">Очистить историю</button> + `; + + const statusLine = document.createElement('p'); + statusLine.className = 'meta-muted inline-error'; + + const list = document.createElement('div'); + list.className = 'ar-attachment-history-tiles arweave-uploads-list'; + + function renderHistory() { + const rows = readArweaveAttachmentHistory(state.session.login).slice().reverse(); + list.innerHTML = ''; + statusLine.textContent = rows.length ? `Файлов в журнале: ${rows.length}` : 'Журнал пока пуст.'; + + if (!rows.length) { + const empty = document.createElement('div'); + empty.className = 'card meta-muted'; + empty.textContent = 'Загруженные в этой сессии файлы появятся здесь.'; + list.append(empty); + return; + } + + rows.forEach((item, index) => { + list.append(renderTile(item, index)); + const statusEl = list.querySelector(`[data-status-index="${index}"]`); + void getArweaveAttachmentAvailability({ + gateway: state.entrySettings.arweaveServer, + attachment: item, + }) + .then((result) => setStatusBadge(statusEl, result.status, result.label)) + .catch(() => setStatusBadge(statusEl, 'unavailable', 'Недоступен')); + }); + + window.setTimeout(() => { + list.scrollTop = list.scrollHeight; + }, 0); + } + + controls.querySelector('[data-action="upload"]')?.addEventListener('click', async () => { + statusLine.textContent = ''; + try { + await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + }); + renderHistory(); + } catch (error) { + statusLine.textContent = toUserMessage(error, 'Не удалось загрузить файл.'); + } + }); + + controls.querySelector('[data-action="clear"]')?.addEventListener('click', () => { + const confirmed = window.confirm('Очистить журнал загруженных файлов этой сессии?'); + if (!confirmed) return; + clearArweaveAttachmentHistory(state.session.login); + renderHistory(); + }); + + screen.append(intro, controls, statusLine, list); + renderHistory(); + return screen; +} diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 1f5fc1c3..bba2ba35 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -426,6 +426,7 @@ function openReplyModal({ onSubmit, navigate }) { login: state.session.login, storagePwd: state.session.storagePwdInMemory, gateway: state.entrySettings.arweaveServer, + selectedTxIds: attachments.map((attachment) => attachment.ar), }); if (!item) return; attachments.push(item); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 73f2af72..e0dc360a 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -401,6 +401,7 @@ function openReplyModal({ onSubmit, navigate }) { login: state.session.login, storagePwd: state.session.storagePwdInMemory, gateway: state.entrySettings.arweaveServer, + selectedTxIds: attachments.map((attachment) => attachment.ar), }); if (!item) return; attachments.push(item); @@ -559,6 +560,7 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { login: state.session.login, storagePwd: state.session.storagePwdInMemory, gateway: state.entrySettings.arweaveServer, + selectedTxIds: attachments.map((attachment) => attachment.ar), }); if (!item) return; attachments.push(item); diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index 815688e2..48566ff5 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -54,6 +54,12 @@ export function render({ navigate }) { <span class="meta-muted" style="display:block; margin-top:0.2rem;">Solana, SHiNE и Arweave для публичных данных</span> </span> </button> + <button class="text-btn" type="button" id="settings-arweave-uploads"> + <span style="display:block; text-align:left;"> + <strong>Загрузки в Arweave</strong> + <span class="meta-muted" style="display:block; margin-top:0.2rem;">Заранее загрузить файл и выбрать его потом из истории</span> + </span> + </button> <button class="text-btn" type="button" id="settings-language">Язык / Language</button> <button class="text-btn" type="button" id="settings-signout">Завершить текущий сеанс</button> `; @@ -62,6 +68,7 @@ export function render({ navigate }) { card.querySelector('#settings-remote-addblock').addEventListener('click', () => navigate('remote-addblock-session-view')); card.querySelector('#settings-access-servers').addEventListener('click', () => navigate('access-servers-view')); card.querySelector('#settings-blockchain-servers').addEventListener('click', () => navigate('server-settings-view')); + card.querySelector('#settings-arweave-uploads').addEventListener('click', () => navigate('arweave-uploads-view')); card.querySelector('#settings-language').addEventListener('click', () => navigate('language-view')); const signOutBtn = card.querySelector('#settings-signout'); diff --git a/shine-UI/js/router.js b/shine-UI/js/router.js index 46466cd2..457d1c89 100644 --- a/shine-UI/js/router.js +++ b/shine-UI/js/router.js @@ -31,6 +31,7 @@ const PRETTY_PATHS = new Map([ ['settings-view', 'settings'], ['access-servers-view', 'settings/access-servers'], ['server-settings-view', 'settings/servers'], + ['arweave-uploads-view', 'settings/arweave-uploads'], ['developer-settings-view', 'settings/developer'], ['trusted-device-login-settings-view', 'settings/device-login'], ['language-view', 'settings/language'], @@ -261,6 +262,7 @@ export function getRoute() { const sub = decodePart(segments[1] || '').toLowerCase(); if (sub === 'access-servers') return { pageId: 'access-servers-view', params: {} }; if (sub === 'servers') return { pageId: 'server-settings-view', params: {} }; + if (sub === 'arweave-uploads') return { pageId: 'arweave-uploads-view', params: {} }; if (sub === 'developer') return { pageId: 'developer-settings-view', params: {} }; if (sub === 'device-login') return { pageId: 'trusted-device-login-settings-view', params: {} }; if (sub === 'language') return { pageId: 'language-view', params: {} }; @@ -373,6 +375,7 @@ export function resolveToolbarActive(pageId) { pageId === 'access-servers-view' || pageId === 'developer-settings-view' || pageId === 'server-settings-view' || + pageId === 'arweave-uploads-view' || pageId === 'remote-addblock-session-view' || pageId === 'device-view' || pageId === 'connect-device-view' || diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 47c990c6..66743672 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2498,6 +2498,93 @@ textarea.input { font-weight: 700; } +.ar-attachment-history-tiles { + display: grid; + gap: 0.75rem; + max-height: 58vh; + overflow: auto; + padding-right: 0.1rem; +} + +.ar-attachment-history-tile { + background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(236, 253, 245, 0.96)); + border: 1px solid rgba(20, 184, 166, 0.22); + border-radius: 1rem; + color: #0f172a; + display: grid; + gap: 0.45rem; + padding: 0.9rem; +} + +.ar-attachment-history-tile.is-selected { + border-color: rgba(34, 197, 94, 0.55); + box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.18); +} + +.ar-attachment-history-tile--page { + box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); +} + +.ar-attachment-history-tile-head { + align-items: flex-start; + display: flex; + gap: 0.65rem; + justify-content: space-between; +} + +.ar-attachment-history-tile-head strong { + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.ar-attachment-history-txid { + background: rgba(15, 23, 42, 0.06); + border-radius: 0.65rem; + padding: 0.45rem 0.55rem; +} + +.ar-attachment-status { + border-radius: 999px; + flex: 0 0 auto; + font-size: 0.74rem; + font-weight: 800; + line-height: 1; + padding: 0.35rem 0.55rem; +} + +.ar-attachment-status--available { + background: rgba(220, 252, 231, 0.96); + color: #166534; +} + +.ar-attachment-status--pending { + background: rgba(254, 249, 195, 0.96); + color: #854d0e; +} + +.ar-attachment-status--unavailable { + background: rgba(254, 226, 226, 0.96); + color: #991b1b; +} + +.arweave-uploads-screen { + min-height: calc(100vh - 2rem); +} + +.arweave-uploads-toolbar { + align-items: center; + display: flex; + flex-wrap: wrap; + gap: 0.7rem; +} + +.arweave-uploads-list { + max-height: calc(100vh - 18rem); + min-height: 18rem; +} + .mono-cell { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; overflow-wrap: anywhere; From cd67176b41b688b5645d00344e96c0756eae4226baca5ac244bc8028017f42c3 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 13:50:17 +0400 Subject: [PATCH 61/83] =?UTF-8?q?UI:=20=D1=83=D0=BF=D0=BB=D0=BE=D1=82?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BE=D0=BA=20Arweave?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/15_TEXT_Attachments.md | 3 +- docs/Blockchain/CHANGELOG.md | 5 + .../components/arweave-attachment-manager.js | 98 ++++++++++++++---- shine-UI/js/pages/arweave-uploads-view.js | 70 +++++++------ shine-UI/js/pages/channel-thread-view.js | 3 +- shine-UI/js/pages/channel-view.js | 4 +- shine-UI/js/pages/settings-view.js | 2 +- shine-UI/styles/components.css | 99 ++++++++++++++++--- 9 files changed, 219 insertions(+), 67 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 19420751..d3d382ac 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.3 +client.version=1.4.4 server.version=1.4.0 diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md index c043ed41..e472d2e7 100644 --- a/docs/Blockchain/15_TEXT_Attachments.md +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -61,7 +61,8 @@ UI поддерживает три сценария: - выбрать файл из журнала файлов, загруженных в текущей браузерной сессии. Журнал хранится только в `sessionStorage` текущего браузера и не является частью блокчейна. -В настройках клиента есть отдельный экран журнала загрузок Arweave: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть плитку с именем, размером, датой, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. +В настройках клиента есть отдельный экран `Загрузить файлы в блокчейн`: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть плитку с именем, размером, временем загрузки, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. +Если файл загружен заранее, но ещё не был отправлен ни в одном сообщении SHiNE, клиент показывает локальный флаг `Не добавлен в SHiNE`. Флаг снимается после успешной отправки сообщения с этим вложением. Если история очищена, уже созданные сообщения не меняются: в блокчейне остаются attach-блоки с `txId`. ## Отображение diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 4a68b503..01c218ef 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,10 @@ # История изменений документации блокчейна +## 2026-07-31 13:48:57 +0400 +- Базовый коммит-ориентир: `98eba54`. +- Уточнено UI-поведение журнала загрузок Arweave: экран называется `Загрузить файлы в блокчейн`, использует компактные плитки и локальный флаг `Не добавлен в SHiNE` для файлов, которые загружены заранее, но ещё не отправлены во вложении сообщения. +- Зафиксировано, что флаг хранится только в клиентском sessionStorage и снимается после успешной отправки сообщения с выбранным вложением; формат attach-блока не изменён. + ## 2026-07-31 13:12:24 +0400 - Базовый коммит-ориентир: `c530627`. - Для UI-вложений добавлен отдельный экран журнала загрузок Arweave в настройках: загрузка файла без создания сообщения, плитки истории с `txId`, размером, датой и статусом доступности через gateway. diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index c062abc6..e9d44581 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -13,13 +13,23 @@ const HISTORY_KEY = 'shine-ui-arweave-attachment-history-v1'; const MAX_HISTORY_ITEMS = 100; const RECENT_UPLOAD_MS = 20 * 60 * 1000; +function normalizeHistoryItem(input = {}) { + const item = normalizeAttachment(input); + const placedInShineAtMs = Number(input.placedInShineAtMs || 0) || 0; + return { + ...item, + pendingPlacement: input.pendingPlacement === true && !placedInShineAtMs, + placedInShineAtMs, + }; +} + export function readArweaveAttachmentHistory(login) { try { const raw = sessionStorage.getItem(HISTORY_KEY); const parsed = raw ? JSON.parse(raw) : {}; const key = String(login || '').trim().toLowerCase(); const rows = Array.isArray(parsed?.[key]) ? parsed[key] : []; - return rows.map((item) => normalizeAttachment(item)).filter(Boolean); + return rows.map((item) => normalizeHistoryItem(item)).filter(Boolean); } catch { return []; } @@ -30,7 +40,9 @@ export function saveArweaveAttachmentHistory(login, rows) { const key = String(login || '').trim().toLowerCase(); const raw = sessionStorage.getItem(HISTORY_KEY); const parsed = raw ? JSON.parse(raw) : {}; - parsed[key] = (Array.isArray(rows) ? rows : []).slice(0, MAX_HISTORY_ITEMS); + parsed[key] = (Array.isArray(rows) ? rows : []) + .map((item) => normalizeHistoryItem(item)) + .slice(0, MAX_HISTORY_ITEMS); sessionStorage.setItem(HISTORY_KEY, JSON.stringify(parsed)); } catch { // ignore sessionStorage errors @@ -41,12 +53,52 @@ export function clearArweaveAttachmentHistory(login) { saveArweaveAttachmentHistory(login, []); } -export function addArweaveAttachmentToHistory(login, attachment) { - const item = normalizeAttachment(attachment); - const rows = readArweaveAttachmentHistory(login).filter((row) => row.ar !== item.ar); - rows.unshift(item); - saveArweaveAttachmentHistory(login, rows); - return item; +export function addArweaveAttachmentToHistory(login, attachment, { pendingPlacement = undefined, markPlaced = false } = {}) { + const item = normalizeHistoryItem(attachment); + const rows = readArweaveAttachmentHistory(login); + const existing = rows.find((row) => row.ar === item.ar) || {}; + const placedInShineAtMs = markPlaced + ? Date.now() + : Number(existing.placedInShineAtMs || item.placedInShineAtMs || 0) || 0; + const nextPendingPlacement = pendingPlacement === undefined + ? (existing.pendingPlacement === true && !placedInShineAtMs) + : (!!pendingPlacement && !placedInShineAtMs); + const nextItem = { + ...item, + pendingPlacement: nextPendingPlacement, + placedInShineAtMs, + }; + const nextRows = rows.filter((row) => row.ar !== item.ar); + nextRows.unshift(nextItem); + saveArweaveAttachmentHistory(login, nextRows); + return nextItem; +} + +export function markArweaveAttachmentPlaced(login, attachment) { + const item = normalizeHistoryItem(attachment); + const rows = readArweaveAttachmentHistory(login); + const existing = rows.find((row) => row.ar === item.ar) || {}; + const nextItem = { + ...item, + uploadedAtMs: item.uploadedAtMs || existing.uploadedAtMs || Date.now(), + pendingPlacement: false, + placedInShineAtMs: Number(existing.placedInShineAtMs || 0) || Date.now(), + }; + const nextRows = rows.filter((row) => row.ar !== item.ar); + nextRows.unshift(nextItem); + saveArweaveAttachmentHistory(login, nextRows); + return nextItem; +} + +export function formatArweaveHistoryTime(ms) { + const value = Number(ms || 0); + if (!Number.isFinite(value) || value <= 0) return '—'; + const diffMs = Date.now() - value; + if (diffMs >= 0 && diffMs < RECENT_UPLOAD_MS) { + const minutes = Math.max(1, Math.floor(diffMs / 60000)); + return `${minutes} мин назад`; + } + return new Date(value).toLocaleString('ru-RU'); } export function formatArweaveHistoryDateTime(ms) { @@ -87,6 +139,7 @@ export function openArweaveAttachmentManager({ gateway, onSelect, selectedTxIds = [], + historyOnly = false, } = {}) { const cleanLogin = String(login || '').trim(); const cleanStoragePwd = String(storagePwd || '').trim(); @@ -118,9 +171,12 @@ export function openArweaveAttachmentManager({ resolve(result); } - function finish(resolve, attachment) { - const item = addArweaveAttachmentToHistory(cleanLogin, attachment); - if (typeof onSelect === 'function') onSelect(item); + function finish(resolve, attachment, { pendingPlacement = undefined } = {}) { + const item = addArweaveAttachmentToHistory(cleanLogin, attachment, { + pendingPlacement, + markPlaced: false, + }); + if (!pendingPlacement && typeof onSelect === 'function') onSelect(item); close(resolve, item); } @@ -151,19 +207,19 @@ export function openArweaveAttachmentManager({ root.innerHTML = ` <div class="modal" data-ar-attach-modal="true"> <div class="modal-card stack ar-attachment-manager-card"> - <h3 class="modal-title">Добавить вложение</h3> + <h3 class="modal-title">${historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение'}</h3> <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> <select class="input" id="ar-attach-wallet"></select> <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> - <p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p> + ${historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>'} <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> <input class="input" id="ar-attach-file" type="file" /> <div class="ar-attachment-meta" data-meta="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> - <button class="secondary-btn" type="button" data-action="existing">Ввести txId</button> - <button class="secondary-btn" type="button" data-action="history">История загрузок</button> - <button class="primary-btn" type="button" data-action="upload" disabled>Загрузить</button> + ${historyOnly ? '' : '<button class="secondary-btn" type="button" data-action="existing">Ввести txId</button>'} + ${historyOnly ? '' : '<button class="secondary-btn" type="button" data-action="history">История загрузок</button>'} + <button class="primary-btn" type="button" data-action="upload" disabled>${historyOnly ? 'Загрузить в журнал' : 'Загрузить'}</button> </div> <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> </div> @@ -261,7 +317,7 @@ export function openArweaveAttachmentManager({ sha256: selectedSha256, ar: uploaded.id, uploadedAtMs: Date.now(), - }); + }, { pendingPlacement: historyOnly }); } catch (error) { uploadBtn.disabled = false; setText(errorEl, error?.message || 'Не удалось загрузить файл в Arweave.'); @@ -349,11 +405,13 @@ export function openArweaveAttachmentManager({ const isSelected = selectedTxIdSet.has(item.ar); return ` <article class="ar-attachment-history-tile${isSelected ? ' is-selected' : ''}" data-history-tile="${index}"> - <div class="ar-attachment-history-tile-head"> - <strong>${escapeHtml(item.name)}</strong> + <strong class="ar-attachment-history-name">${escapeHtml(item.name)}</strong> + <div class="ar-attachment-history-meta-row"> + <span>${escapeHtml(formatBytes(item.size))}</span> + <span>${escapeHtml(formatArweaveHistoryTime(item.uploadedAtMs))}</span> <span class="ar-attachment-status ar-attachment-status--pending" data-status="${index}">Проверяем...</span> + ${item.pendingPlacement ? '<span class="ar-attachment-placement-flag">Не добавлен в SHiNE</span>' : ''} </div> - <div class="meta-muted">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(formatArweaveHistoryDateTime(item.uploadedAtMs))}</div> <div class="mono-cell ar-attachment-history-txid">${escapeHtml(item.ar)}</div> <button class="${isSelected ? 'secondary-btn' : 'ghost-btn'}" type="button" data-pick="${index}" ${isSelected ? 'disabled' : ''}>${isSelected ? 'Уже добавлен ✓' : 'Выбрать'}</button> </article> diff --git a/shine-UI/js/pages/arweave-uploads-view.js b/shine-UI/js/pages/arweave-uploads-view.js index dbb51c22..449a7dbe 100644 --- a/shine-UI/js/pages/arweave-uploads-view.js +++ b/shine-UI/js/pages/arweave-uploads-view.js @@ -1,7 +1,6 @@ -import { renderHeader } from '../components/header.js'; import { clearArweaveAttachmentHistory, - formatArweaveHistoryDateTime, + formatArweaveHistoryTime, getArweaveAttachmentAvailability, openArweaveAttachmentManager, readArweaveAttachmentHistory, @@ -10,7 +9,7 @@ import { formatBytes } from '../services/attachment-format.js'; import { toUserMessage } from '../services/ui-error-texts.js'; import { state } from '../state.js'; -export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузки в Arweave' }; +export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузить файлы в блокчейн' }; function setStatusBadge(node, status, label) { if (!node) return; @@ -22,10 +21,8 @@ function renderTile(item, index) { const tile = document.createElement('article'); tile.className = 'ar-attachment-history-tile ar-attachment-history-tile--page'; - const head = document.createElement('div'); - head.className = 'ar-attachment-history-tile-head'; - const name = document.createElement('strong'); + name.className = 'ar-attachment-history-name'; name.textContent = item.name; const status = document.createElement('span'); @@ -34,15 +31,24 @@ function renderTile(item, index) { status.textContent = 'Проверяем...'; const meta = document.createElement('div'); - meta.className = 'meta-muted'; - meta.textContent = `${formatBytes(item.size)} · ${formatArweaveHistoryDateTime(item.uploadedAtMs)}`; + meta.className = 'ar-attachment-history-meta-row'; + const size = document.createElement('span'); + size.textContent = formatBytes(item.size); + const time = document.createElement('span'); + time.textContent = formatArweaveHistoryTime(item.uploadedAtMs); + meta.append(size, time, status); + if (item.pendingPlacement) { + const flag = document.createElement('span'); + flag.className = 'ar-attachment-placement-flag'; + flag.textContent = 'Не добавлен в SHiNE'; + meta.append(flag); + } const txId = document.createElement('div'); txId.className = 'mono-cell ar-attachment-history-txid'; txId.textContent = item.ar; - head.append(name, status); - tile.append(head, meta, txId); + tile.append(name, meta, txId); return tile; } @@ -50,25 +56,16 @@ export function render({ navigate }) { const screen = document.createElement('section'); screen.className = 'stack arweave-uploads-screen'; - screen.append( - renderHeader({ - title: 'Загрузки в Arweave', - leftAction: { label: '←', onClick: () => navigate('settings-view') }, - }), - ); - - const intro = document.createElement('div'); - intro.className = 'card stack'; - intro.innerHTML = ` - <p class="field-label">Журнал файлов этой сессии</p> - <p class="meta-muted">Здесь можно заранее загрузить файл в Arweave. Он попадёт только в журнал, а в сообщение его потом можно добавить из истории загрузок.</p> - `; - const controls = document.createElement('div'); - controls.className = 'card arweave-uploads-toolbar'; + controls.className = 'arweave-uploads-toolbar'; controls.innerHTML = ` + <button class="secondary-btn arweave-uploads-back" type="button" data-action="back" aria-label="Назад">←</button> <button class="primary-btn" type="button" data-action="upload">Добавить файл</button> - <button class="secondary-btn" type="button" data-action="clear">Очистить историю</button> + <button class="secondary-btn arweave-uploads-menu-btn" type="button" data-action="menu" aria-label="Меню">⋯</button> + <div class="arweave-uploads-menu" data-menu="true" hidden> + <button class="text-btn" type="button" data-action="clear">Очистить историю</button> + <button class="text-btn" type="button" data-action="help">Справка</button> + </div> `; const statusLine = document.createElement('p'); @@ -80,7 +77,7 @@ export function render({ navigate }) { function renderHistory() { const rows = readArweaveAttachmentHistory(state.session.login).slice().reverse(); list.innerHTML = ''; - statusLine.textContent = rows.length ? `Файлов в журнале: ${rows.length}` : 'Журнал пока пуст.'; + statusLine.textContent = ''; if (!rows.length) { const empty = document.createElement('div'); @@ -113,6 +110,7 @@ export function render({ navigate }) { login: state.session.login, storagePwd: state.session.storagePwdInMemory, gateway: state.entrySettings.arweaveServer, + historyOnly: true, }); renderHistory(); } catch (error) { @@ -120,14 +118,30 @@ export function render({ navigate }) { } }); + controls.querySelector('[data-action="back"]')?.addEventListener('click', () => navigate('settings-view')); + controls.querySelector('[data-action="menu"]')?.addEventListener('click', () => { + const menu = controls.querySelector('[data-menu="true"]'); + if (menu) menu.hidden = !menu.hidden; + }); controls.querySelector('[data-action="clear"]')?.addEventListener('click', () => { + const menu = controls.querySelector('[data-menu="true"]'); + if (menu) menu.hidden = true; const confirmed = window.confirm('Очистить журнал загруженных файлов этой сессии?'); if (!confirmed) return; clearArweaveAttachmentHistory(state.session.login); renderHistory(); }); + controls.querySelector('[data-action="help"]')?.addEventListener('click', () => { + const menu = controls.querySelector('[data-menu="true"]'); + if (menu) menu.hidden = true; + window.alert( + 'Здесь вы можете заранее добавить файл в Arweave. Файл загрузится в блокчейн-хранилище и сохранится в журнале только этой браузерной сессии.\n\n' + + 'Потом при создании сообщения можно открыть историю загрузок и выбрать уже загруженный файл по txId. ' + + 'Если файл только что загружен, gateway может несколько минут его не отдавать, поэтому статус может быть “ещё обновляется”.' + ); + }); - screen.append(intro, controls, statusLine, list); + screen.append(controls, statusLine, list); renderHistory(); return screen; } diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index bba2ba35..61bd58f0 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -12,7 +12,7 @@ import { } from '../services/channels-ux.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; -import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; +import { markArweaveAttachmentPlaced, openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; import { composeMessageWithAttachments, createAttachmentCarouselElement, @@ -409,6 +409,7 @@ function openReplyModal({ onSubmit, navigate }) { try { await onSubmit(composeMessageWithAttachments(text, attachments)); + attachments.forEach((attachment) => markArweaveAttachmentPlaced(state.session.login, attachment)); close(); } catch (error) { setBusy(false); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index e0dc360a..1829ca30 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -18,7 +18,7 @@ import { } from '../services/channels-ux.js'; import { navigateBack } from '../router.js'; import { renderUserAvatar } from '../components/avatar-image.js'; -import { openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; +import { markArweaveAttachmentPlaced, openArweaveAttachmentManager } from '../components/arweave-attachment-manager.js'; import { composeMessageWithAttachments, createAttachmentCarouselElement, @@ -384,6 +384,7 @@ function openReplyModal({ onSubmit, navigate }) { try { await onSubmit(composeMessageWithAttachments(text, attachments)); + attachments.forEach((attachment) => markArweaveAttachmentPlaced(state.session.login, attachment)); close(); } catch (error) { setBusy(false); @@ -543,6 +544,7 @@ function openAddMessageModal({ channelName, onSubmit, navigate }) { try { await onSubmit(composeMessageWithAttachments(body, attachments)); + attachments.forEach((attachment) => markArweaveAttachmentPlaced(state.session.login, attachment)); close(); } catch (error) { setBusy(false); diff --git a/shine-UI/js/pages/settings-view.js b/shine-UI/js/pages/settings-view.js index 48566ff5..afcd046b 100644 --- a/shine-UI/js/pages/settings-view.js +++ b/shine-UI/js/pages/settings-view.js @@ -56,7 +56,7 @@ export function render({ navigate }) { </button> <button class="text-btn" type="button" id="settings-arweave-uploads"> <span style="display:block; text-align:left;"> - <strong>Загрузки в Arweave</strong> + <strong>Загрузить файлы в блокчейн</strong> <span class="meta-muted" style="display:block; margin-top:0.2rem;">Заранее загрузить файл и выбрать его потом из истории</span> </span> </button> diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 66743672..c097410b 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2500,20 +2500,27 @@ textarea.input { .ar-attachment-history-tiles { display: grid; - gap: 0.75rem; + gap: 0.5rem; max-height: 58vh; - overflow: auto; + overflow-x: hidden; + overflow-y: auto; padding-right: 0.1rem; + width: 100%; } .ar-attachment-history-tile { background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(236, 253, 245, 0.96)); border: 1px solid rgba(20, 184, 166, 0.22); - border-radius: 1rem; + border-radius: 0.8rem; + box-sizing: border-box; color: #0f172a; display: grid; - gap: 0.45rem; - padding: 0.9rem; + gap: 0.32rem; + max-width: 100%; + min-width: 0; + overflow: hidden; + padding: 0.62rem 0.7rem; + width: 100%; } .ar-attachment-history-tile.is-selected { @@ -2532,6 +2539,16 @@ textarea.input { justify-content: space-between; } +.ar-attachment-history-name { + display: block; + font-size: 0.92rem; + line-height: 1.2; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + .ar-attachment-history-tile-head strong { min-width: 0; overflow: hidden; @@ -2539,19 +2556,34 @@ textarea.input { white-space: nowrap; } +.ar-attachment-history-meta-row { + align-items: center; + color: #64748b; + display: flex; + flex-wrap: wrap; + font-size: 0.76rem; + gap: 0.35rem; + min-width: 0; +} + .ar-attachment-history-txid { background: rgba(15, 23, 42, 0.06); - border-radius: 0.65rem; - padding: 0.45rem 0.55rem; + border-radius: 0.5rem; + font-size: 0.62rem; + line-height: 1.25; + overflow: hidden; + padding: 0.32rem 0.42rem; + text-overflow: ellipsis; + white-space: nowrap; } .ar-attachment-status { border-radius: 999px; flex: 0 0 auto; - font-size: 0.74rem; + font-size: 0.68rem; font-weight: 800; line-height: 1; - padding: 0.35rem 0.55rem; + padding: 0.28rem 0.42rem; } .ar-attachment-status--available { @@ -2569,20 +2601,59 @@ textarea.input { color: #991b1b; } +.ar-attachment-placement-flag { + background: rgba(219, 234, 254, 0.96); + border-radius: 999px; + color: #1e3a8a; + flex: 0 0 auto; + font-size: 0.68rem; + font-weight: 800; + line-height: 1; + padding: 0.28rem 0.42rem; +} + .arweave-uploads-screen { - min-height: calc(100vh - 2rem); + min-height: calc(100vh - 1rem); } .arweave-uploads-toolbar { align-items: center; + background: rgba(248, 250, 252, 0.96); + border: 1px solid rgba(15, 23, 42, 0.08); + border-radius: 0.9rem; + box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); display: flex; - flex-wrap: wrap; - gap: 0.7rem; + gap: 0.5rem; + justify-content: space-between; + padding: 0.45rem; + position: sticky; + top: 0.5rem; + z-index: 15; +} + +.arweave-uploads-back, +.arweave-uploads-menu-btn { + min-width: 2.6rem; + padding-inline: 0.7rem; +} + +.arweave-uploads-menu { + background: #fff; + border: 1px solid rgba(15, 23, 42, 0.12); + border-radius: 0.85rem; + box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18); + display: grid; + min-width: 13rem; + padding: 0.35rem; + position: absolute; + right: 0.45rem; + top: calc(100% + 0.35rem); + z-index: 20; } .arweave-uploads-list { - max-height: calc(100vh - 18rem); - min-height: 18rem; + max-height: calc(100vh - 7.5rem); + min-height: calc(100vh - 7.5rem); } .mono-cell { From bcae285ab36c3ff2c834f3c9209df87522aaf0109388c128e46d64599ffd0cdb Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 16:59:04 +0400 Subject: [PATCH 62/83] =?UTF-8?q?UI:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/15_TEXT_Attachments.md | 2 +- docs/Blockchain/CHANGELOG.md | 4 + shine-UI/js/pages/arweave-uploads-view.js | 7 +- shine-UI/styles/components.css | 124 +++++++++++++++------- 5 files changed, 98 insertions(+), 41 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index d3d382ac..0809eb7a 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.4 +client.version=1.4.5 server.version=1.4.0 diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md index e472d2e7..ea8050b9 100644 --- a/docs/Blockchain/15_TEXT_Attachments.md +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -61,7 +61,7 @@ UI поддерживает три сценария: - выбрать файл из журнала файлов, загруженных в текущей браузерной сессии. Журнал хранится только в `sessionStorage` текущего браузера и не является частью блокчейна. -В настройках клиента есть отдельный экран `Загрузить файлы в блокчейн`: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть плитку с именем, размером, временем загрузки, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. +В настройках клиента есть отдельный экран `Загрузка файлов`: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть компактную плитку с именем, размером, временем загрузки, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. Если файл загружен заранее, но ещё не был отправлен ни в одном сообщении SHiNE, клиент показывает локальный флаг `Не добавлен в SHiNE`. Флаг снимается после успешной отправки сообщения с этим вложением. Если история очищена, уже созданные сообщения не меняются: в блокчейне остаются attach-блоки с `txId`. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 01c218ef..366bebbf 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,9 @@ # История изменений документации блокчейна +## 2026-07-31 16:58:00 +0400 +- Базовый коммит-ориентир: `cd67176`. +- Уточнён UI журнала загрузок Arweave: экран называется `Загрузка файлов`, верхняя панель стала компактной и закреплённой сверху, плитки журнала тёмные и уменьшены по высоте; формат attach-блока не изменён. + ## 2026-07-31 13:48:57 +0400 - Базовый коммит-ориентир: `98eba54`. - Уточнено UI-поведение журнала загрузок Arweave: экран называется `Загрузить файлы в блокчейн`, использует компактные плитки и локальный флаг `Не добавлен в SHiNE` для файлов, которые загружены заранее, но ещё не отправлены во вложении сообщения. diff --git a/shine-UI/js/pages/arweave-uploads-view.js b/shine-UI/js/pages/arweave-uploads-view.js index 449a7dbe..42b79804 100644 --- a/shine-UI/js/pages/arweave-uploads-view.js +++ b/shine-UI/js/pages/arweave-uploads-view.js @@ -9,7 +9,7 @@ import { formatBytes } from '../services/attachment-format.js'; import { toUserMessage } from '../services/ui-error-texts.js'; import { state } from '../state.js'; -export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузить файлы в блокчейн' }; +export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузка файлов' }; function setStatusBadge(node, status, label) { if (!node) return; @@ -60,8 +60,9 @@ export function render({ navigate }) { controls.className = 'arweave-uploads-toolbar'; controls.innerHTML = ` <button class="secondary-btn arweave-uploads-back" type="button" data-action="back" aria-label="Назад">←</button> - <button class="primary-btn" type="button" data-action="upload">Добавить файл</button> - <button class="secondary-btn arweave-uploads-menu-btn" type="button" data-action="menu" aria-label="Меню">⋯</button> + <div class="arweave-uploads-title">Загрузка файлов</div> + <button class="primary-btn arweave-uploads-add" type="button" data-action="upload" aria-label="Добавить файл">+</button> + <button class="secondary-btn arweave-uploads-menu-btn" type="button" data-action="menu" aria-label="Меню">⋮</button> <div class="arweave-uploads-menu" data-menu="true" hidden> <button class="text-btn" type="button" data-action="clear">Очистить историю</button> <button class="text-btn" type="button" data-action="help">Справка</button> diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index c097410b..084ecc61 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2500,26 +2500,47 @@ textarea.input { .ar-attachment-history-tiles { display: grid; - gap: 0.5rem; + gap: 0.36rem; max-height: 58vh; overflow-x: hidden; overflow-y: auto; - padding-right: 0.1rem; + padding: 0.45rem; + scrollbar-color: rgba(212, 175, 55, 0.65) rgba(255, 255, 255, 0.06); + scrollbar-width: thin; width: 100%; } +.ar-attachment-history-tiles::-webkit-scrollbar { + display: block; + height: 4px; + width: 4px; +} + +.ar-attachment-history-tiles::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.04); +} + +.ar-attachment-history-tiles::-webkit-scrollbar-thumb { + background: rgba(212, 175, 55, 0.7); + border-radius: 999px; +} + +.ar-attachment-history-tiles::-webkit-scrollbar-thumb:hover { + background: rgba(240, 198, 76, 0.9); +} + .ar-attachment-history-tile { - background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(236, 253, 245, 0.96)); - border: 1px solid rgba(20, 184, 166, 0.22); - border-radius: 0.8rem; + background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(22, 36, 53, 0.96)); + border: 1px solid rgba(212, 175, 55, 0.2); + border-radius: 0.65rem; box-sizing: border-box; - color: #0f172a; + color: #f8fafc; display: grid; - gap: 0.32rem; + gap: 0.18rem; max-width: 100%; min-width: 0; overflow: hidden; - padding: 0.62rem 0.7rem; + padding: 0.42rem 0.52rem; width: 100%; } @@ -2529,7 +2550,7 @@ textarea.input { } .ar-attachment-history-tile--page { - box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); + box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18); } .ar-attachment-history-tile-head { @@ -2541,8 +2562,8 @@ textarea.input { .ar-attachment-history-name { display: block; - font-size: 0.92rem; - line-height: 1.2; + font-size: 0.86rem; + line-height: 1.12; min-width: 0; overflow: hidden; text-overflow: ellipsis; @@ -2558,21 +2579,22 @@ textarea.input { .ar-attachment-history-meta-row { align-items: center; - color: #64748b; + color: #cbd5e1; display: flex; flex-wrap: wrap; - font-size: 0.76rem; - gap: 0.35rem; + font-size: 0.68rem; + gap: 0.28rem; min-width: 0; } .ar-attachment-history-txid { - background: rgba(15, 23, 42, 0.06); - border-radius: 0.5rem; - font-size: 0.62rem; - line-height: 1.25; + background: rgba(255, 255, 255, 0.06); + border-radius: 0.42rem; + color: rgba(226, 232, 240, 0.86); + font-size: 0.52rem; + line-height: 1.15; overflow: hidden; - padding: 0.32rem 0.42rem; + padding: 0.22rem 0.32rem; text-overflow: ellipsis; white-space: nowrap; } @@ -2613,35 +2635,56 @@ textarea.input { } .arweave-uploads-screen { - min-height: calc(100vh - 1rem); + min-height: 100vh; + padding-top: 0; } .arweave-uploads-toolbar { align-items: center; - background: rgba(248, 250, 252, 0.96); - border: 1px solid rgba(15, 23, 42, 0.08); - border-radius: 0.9rem; - box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); - display: flex; - gap: 0.5rem; - justify-content: space-between; - padding: 0.45rem; + background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.98)); + border-bottom: 1px solid rgba(212, 175, 55, 0.22); + box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22); + box-sizing: border-box; + display: grid; + gap: 0.42rem; + grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem 2.4rem; + justify-content: stretch; + margin: -1rem -1rem 0; + padding: max(0.35rem, env(safe-area-inset-top)) 0.45rem 0.45rem; position: sticky; - top: 0.5rem; + top: 0; z-index: 15; } .arweave-uploads-back, +.arweave-uploads-add, .arweave-uploads-menu-btn { - min-width: 2.6rem; - padding-inline: 0.7rem; + align-items: center; + aspect-ratio: 1; + display: inline-flex; + font-size: 1.2rem; + height: 2.35rem; + justify-content: center; + min-width: 0; + padding: 0; +} + +.arweave-uploads-title { + align-self: center; + color: #f8fafc; + font-weight: 800; + min-width: 0; + overflow: hidden; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; } .arweave-uploads-menu { - background: #fff; - border: 1px solid rgba(15, 23, 42, 0.12); + background: rgba(15, 23, 42, 0.98); + border: 1px solid rgba(212, 175, 55, 0.24); border-radius: 0.85rem; - box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18); + box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35); display: grid; min-width: 13rem; padding: 0.35rem; @@ -2651,9 +2694,18 @@ textarea.input { z-index: 20; } +.arweave-uploads-menu[hidden] { + display: none; +} + +.arweave-uploads-menu .text-btn { + color: #f8fafc; + text-align: left; +} + .arweave-uploads-list { - max-height: calc(100vh - 7.5rem); - min-height: calc(100vh - 7.5rem); + max-height: calc(100vh - 4.4rem); + min-height: calc(100vh - 4.4rem); } .mono-cell { From 60ab476ec7d1cdea95ea618678dc0a01259b311d03b166040efb548b1b8a1dfc Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 17:07:33 +0400 Subject: [PATCH 63/83] =?UTF-8?q?UI:=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BB=D0=B8=D1=82=D0=BA=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BE=D0=BA=20=D1=82=D0=BE=D0=BD?= =?UTF-8?q?=D1=8C=D1=88=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/CHANGELOG.md | 4 +++ shine-UI/styles/components.css | 46 +++++++++++++++++++++------------- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 0809eb7a..eb3f5199 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.5 +client.version=1.4.6 server.version=1.4.0 diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 366bebbf..b8c45814 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,9 @@ # История изменений документации блокчейна +## 2026-07-31 17:06:55 +0400 +- Базовый коммит-ориентир: `bcae285`. +- Уточнён UI журнала загрузок Arweave: плитки принудительно не растягиваются по высоте, а контейнер журнала запрещает горизонтальную прокрутку; формат attach-блока не изменён. + ## 2026-07-31 16:58:00 +0400 - Базовый коммит-ориентир: `cd67176`. - Уточнён UI журнала загрузок Arweave: экран называется `Загрузка файлов`, верхняя панель стала компактной и закреплённой сверху, плитки журнала тёмные и уменьшены по высоте; формат attach-блока не изменён. diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 084ecc61..5dc2d700 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2499,12 +2499,17 @@ textarea.input { } .ar-attachment-history-tiles { + align-content: start; + box-sizing: border-box; display: grid; - gap: 0.36rem; + gap: 0.28rem; + grid-auto-rows: min-content; max-height: 58vh; + max-width: 100%; + min-width: 0; overflow-x: hidden; overflow-y: auto; - padding: 0.45rem; + padding: 0.35rem; scrollbar-color: rgba(212, 175, 55, 0.65) rgba(255, 255, 255, 0.06); scrollbar-width: thin; width: 100%; @@ -2532,15 +2537,15 @@ textarea.input { .ar-attachment-history-tile { background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(22, 36, 53, 0.96)); border: 1px solid rgba(212, 175, 55, 0.2); - border-radius: 0.65rem; + border-radius: 0.52rem; box-sizing: border-box; color: #f8fafc; display: grid; - gap: 0.18rem; + gap: 0.12rem; max-width: 100%; min-width: 0; overflow: hidden; - padding: 0.42rem 0.52rem; + padding: 0.28rem 0.42rem; width: 100%; } @@ -2562,8 +2567,8 @@ textarea.input { .ar-attachment-history-name { display: block; - font-size: 0.86rem; - line-height: 1.12; + font-size: 0.78rem; + line-height: 1.08; min-width: 0; overflow: hidden; text-overflow: ellipsis; @@ -2582,19 +2587,22 @@ textarea.input { color: #cbd5e1; display: flex; flex-wrap: wrap; - font-size: 0.68rem; - gap: 0.28rem; + font-size: 0.6rem; + gap: 0.22rem; + line-height: 1.05; min-width: 0; } .ar-attachment-history-txid { background: rgba(255, 255, 255, 0.06); - border-radius: 0.42rem; + border-radius: 0.34rem; color: rgba(226, 232, 240, 0.86); - font-size: 0.52rem; - line-height: 1.15; + font-size: 0.46rem; + line-height: 1.05; + max-width: 100%; + min-width: 0; overflow: hidden; - padding: 0.22rem 0.32rem; + padding: 0.14rem 0.24rem; text-overflow: ellipsis; white-space: nowrap; } @@ -2602,10 +2610,10 @@ textarea.input { .ar-attachment-status { border-radius: 999px; flex: 0 0 auto; - font-size: 0.68rem; + font-size: 0.58rem; font-weight: 800; line-height: 1; - padding: 0.28rem 0.42rem; + padding: 0.2rem 0.32rem; } .ar-attachment-status--available { @@ -2628,14 +2636,17 @@ textarea.input { border-radius: 999px; color: #1e3a8a; flex: 0 0 auto; - font-size: 0.68rem; + font-size: 0.58rem; font-weight: 800; line-height: 1; - padding: 0.28rem 0.42rem; + padding: 0.2rem 0.32rem; } .arweave-uploads-screen { + box-sizing: border-box; min-height: 100vh; + max-width: 100%; + overflow-x: hidden; padding-top: 0; } @@ -2706,6 +2717,7 @@ textarea.input { .arweave-uploads-list { max-height: calc(100vh - 4.4rem); min-height: calc(100vh - 4.4rem); + width: 100%; } .mono-cell { From 05bd9f57d62b40be4024881bcfc9bf319db1bce7e7ab6ae59a3e4097530055a5 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 17:14:01 +0400 Subject: [PATCH 64/83] =?UTF-8?q?UI:=20=D0=B7=D0=B0=D0=BA=D1=80=D0=B5?= =?UTF-8?q?=D0=BF=D0=B8=D1=82=D1=8C=20=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=B0=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B7=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/CHANGELOG.md | 4 ++ shine-UI/js/pages/arweave-uploads-view.js | 49 +++++++++++++++-------- shine-UI/styles/components.css | 15 ++++--- 4 files changed, 46 insertions(+), 24 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index eb3f5199..9d59f50b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.6 +client.version=1.4.7 server.version=1.4.0 diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index b8c45814..7caebd29 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,9 @@ # История изменений документации блокчейна +## 2026-07-31 17:13:26 +0400 +- Базовый коммит-ориентир: `60ab476`. +- Уточнён UI журнала загрузок Arweave: статус доступности перенесён в начало второй строки плитки, верхняя панель закреплена как fixed-полоса вне прокрутки, в меню добавлен пункт `Добавить файл`, меню закрывается при клике вне него; формат attach-блока не изменён. + ## 2026-07-31 17:06:55 +0400 - Базовый коммит-ориентир: `bcae285`. - Уточнён UI журнала загрузок Arweave: плитки принудительно не растягиваются по высоте, а контейнер журнала запрещает горизонтальную прокрутку; формат attach-блока не изменён. diff --git a/shine-UI/js/pages/arweave-uploads-view.js b/shine-UI/js/pages/arweave-uploads-view.js index 42b79804..6d5ebb14 100644 --- a/shine-UI/js/pages/arweave-uploads-view.js +++ b/shine-UI/js/pages/arweave-uploads-view.js @@ -11,6 +11,11 @@ import { state } from '../state.js'; export const pageMeta = { id: 'arweave-uploads-view', title: 'Загрузка файлов' }; +function closeUploadsMenu(controls) { + const menu = controls?.querySelector?.('[data-menu="true"]'); + if (menu) menu.hidden = true; +} + function setStatusBadge(node, status, label) { if (!node) return; node.className = `ar-attachment-status ar-attachment-status--${status || 'pending'}`; @@ -36,7 +41,7 @@ function renderTile(item, index) { size.textContent = formatBytes(item.size); const time = document.createElement('span'); time.textContent = formatArweaveHistoryTime(item.uploadedAtMs); - meta.append(size, time, status); + meta.append(status, size, time); if (item.pendingPlacement) { const flag = document.createElement('span'); flag.className = 'ar-attachment-placement-flag'; @@ -60,10 +65,11 @@ export function render({ navigate }) { controls.className = 'arweave-uploads-toolbar'; controls.innerHTML = ` <button class="secondary-btn arweave-uploads-back" type="button" data-action="back" aria-label="Назад">←</button> - <div class="arweave-uploads-title">Загрузка файлов</div> + <div class="arweave-uploads-title">Загрузка файлов в блокчейн</div> <button class="primary-btn arweave-uploads-add" type="button" data-action="upload" aria-label="Добавить файл">+</button> <button class="secondary-btn arweave-uploads-menu-btn" type="button" data-action="menu" aria-label="Меню">⋮</button> <div class="arweave-uploads-menu" data-menu="true" hidden> + <button class="text-btn" type="button" data-action="upload-menu">Добавить файл</button> <button class="text-btn" type="button" data-action="clear">Очистить историю</button> <button class="text-btn" type="button" data-action="help">Справка</button> </div> @@ -75,6 +81,22 @@ export function render({ navigate }) { const list = document.createElement('div'); list.className = 'ar-attachment-history-tiles arweave-uploads-list'; + const uploadFile = async () => { + statusLine.textContent = ''; + closeUploadsMenu(controls); + try { + await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + historyOnly: true, + }); + renderHistory(); + } catch (error) { + statusLine.textContent = toUserMessage(error, 'Не удалось загрузить файл.'); + } + }; + function renderHistory() { const rows = readArweaveAttachmentHistory(state.session.login).slice().reverse(); list.innerHTML = ''; @@ -104,23 +126,12 @@ export function render({ navigate }) { }, 0); } - controls.querySelector('[data-action="upload"]')?.addEventListener('click', async () => { - statusLine.textContent = ''; - try { - await openArweaveAttachmentManager({ - login: state.session.login, - storagePwd: state.session.storagePwdInMemory, - gateway: state.entrySettings.arweaveServer, - historyOnly: true, - }); - renderHistory(); - } catch (error) { - statusLine.textContent = toUserMessage(error, 'Не удалось загрузить файл.'); - } - }); + controls.querySelector('[data-action="upload"]')?.addEventListener('click', uploadFile); + controls.querySelector('[data-action="upload-menu"]')?.addEventListener('click', uploadFile); controls.querySelector('[data-action="back"]')?.addEventListener('click', () => navigate('settings-view')); - controls.querySelector('[data-action="menu"]')?.addEventListener('click', () => { + controls.querySelector('[data-action="menu"]')?.addEventListener('click', (event) => { + event.stopPropagation(); const menu = controls.querySelector('[data-menu="true"]'); if (menu) menu.hidden = !menu.hidden; }); @@ -141,6 +152,10 @@ export function render({ navigate }) { + 'Если файл только что загружен, gateway может несколько минут его не отдавать, поэтому статус может быть “ещё обновляется”.' ); }); + screen.addEventListener('click', (event) => { + if (controls.contains(event.target)) return; + closeUploadsMenu(controls); + }); screen.append(controls, statusLine, list); renderHistory(); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 5dc2d700..afb780eb 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2597,7 +2597,7 @@ textarea.input { background: rgba(255, 255, 255, 0.06); border-radius: 0.34rem; color: rgba(226, 232, 240, 0.86); - font-size: 0.46rem; + font-size: 0.56rem; line-height: 1.05; max-width: 100%; min-width: 0; @@ -2647,7 +2647,7 @@ textarea.input { min-height: 100vh; max-width: 100%; overflow-x: hidden; - padding-top: 0; + padding-top: 3.25rem; } .arweave-uploads-toolbar { @@ -2660,9 +2660,11 @@ textarea.input { gap: 0.42rem; grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem 2.4rem; justify-content: stretch; - margin: -1rem -1rem 0; + left: 0; + margin: 0; padding: max(0.35rem, env(safe-area-inset-top)) 0.45rem 0.45rem; - position: sticky; + position: fixed; + right: 0; top: 0; z-index: 15; } @@ -2683,6 +2685,7 @@ textarea.input { .arweave-uploads-title { align-self: center; color: #f8fafc; + font-size: 0.94rem; font-weight: 800; min-width: 0; overflow: hidden; @@ -2715,8 +2718,8 @@ textarea.input { } .arweave-uploads-list { - max-height: calc(100vh - 4.4rem); - min-height: calc(100vh - 4.4rem); + max-height: calc(100vh - 4.1rem); + min-height: calc(100vh - 4.1rem); width: 100%; } From d640dd66e2f0366d73094dcbc1cf0ac4c9c52793bb793c351ad1548577432900 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 17:22:48 +0400 Subject: [PATCH 65/83] =?UTF-8?q?UI:=20=D1=83=D0=BB=D1=83=D1=87=D1=88?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=B5=D0=B2=D1=8C=D1=8E=20?= =?UTF-8?q?=D0=B8=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=D0=BB=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/CHANGELOG.md | 4 +++ shine-UI/js/pages/channels-list.js | 10 +++++-- shine-UI/js/services/attachment-format.js | 10 +++---- shine-UI/styles/components.css | 32 ++++++++++++++--------- 5 files changed, 37 insertions(+), 21 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 9d59f50b..f038b391 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.7 +client.version=1.4.8 server.version=1.4.0 diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 7caebd29..fcfc7309 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,9 @@ # История изменений документации блокчейна +## 2026-07-31 17:22:07 +0400 +- Базовый коммит-ориентир: `05bd9f5`. +- Уточнён UI вложений: превью последнего сообщения в списке каналов скрывает технические attach-блоки, карусель не показывает неактивные стрелки на краях, обычный файл отображается компактной кликабельной полоской без `txId`; формат attach-блока не изменён. + ## 2026-07-31 17:13:26 +0400 - Базовый коммит-ориентир: `60ab476`. - Уточнён UI журнала загрузок Arweave: статус доступности перенесён в начало второй строки плитки, верхняя панель закреплена как fixed-полоса вне прокрутки, в меню добавлен пункт `Добавить файл`, меню закрывается при клике вне него; формат attach-блока не изменён. diff --git a/shine-UI/js/pages/channels-list.js b/shine-UI/js/pages/channels-list.js index 0c12dd65..4052936d 100644 --- a/shine-UI/js/pages/channels-list.js +++ b/shine-UI/js/pages/channels-list.js @@ -1,6 +1,7 @@ import { channels as mockChannels } from '../mock-data.js'; import { authService, setChannelsFeed, state } from '../state.js'; import { toUserMessage } from '../services/ui-error-texts.js'; +import { parseMessageAttachments } from '../services/attachment-format.js'; import { animatePress, createSkeletonCard, @@ -20,6 +21,11 @@ const MENU_OVERLAY_ID = 'channels-context-menu-overlay'; const CHANNEL_TYPE_STORIES = 0; const CHANNEL_TYPE_PERSONAL = 100; +function cleanChannelMessagePreview(text) { + const parsed = parseMessageAttachments(text); + return String(parsed.text || '').trim() || (parsed.attachments.length ? 'Вложение' : 'Ждем ваших начинаний'); +} + function isChannelsDemoMode() { try { const qs = new URLSearchParams(window.location.search); @@ -610,7 +616,7 @@ function mapMockGroups() { ownerBlockchainName: String(channel.ownerName || ''), channelName: String(channel.channelName || channel.title || channel.id), }), - messagePreview: channel.lastMessage || 'Ждем ваших начинаний', + messagePreview: cleanChannelMessagePreview(channel.lastMessage), isSubscribed: channel.kind !== 'own' && channel.kind !== 'own-personal', isOwnChannel: channel.kind === 'own' || channel.kind === 'own-personal', notificationsEnabled: false, @@ -665,7 +671,7 @@ function mapApiChannelRow(summary, bucketKey, idx, index, notificationsState) { channelDescription, channelTypeCode, channelTypeVersion, - messagePreview: summary?.lastMessage?.text || 'Ждем ваших начинаний', + messagePreview: cleanChannelMessagePreview(summary?.lastMessage?.text), messagesCount: Number(summary?.messagesCount || 0), unreadCount: Number(summary?.unreadCount || 0), lastMessageAt: Number(summary?.lastMessage?.createdAtMs || 0), diff --git a/shine-UI/js/services/attachment-format.js b/shine-UI/js/services/attachment-format.js index bc712681..380f095c 100644 --- a/shine-UI/js/services/attachment-format.js +++ b/shine-UI/js/services/attachment-format.js @@ -206,17 +206,16 @@ function replaceWithUnavailable(slide, messageTimestampMs) { } function createFileCard({ item, url, messageTimestampMs, slide }) { - const ext = getAttachmentExtension(item.name).toUpperCase() || 'FILE'; const card = document.createElement('div'); card.className = 'message-attachment-file-card'; card.role = 'button'; card.tabIndex = 0; card.title = 'Скачать файл'; card.innerHTML = ` - <div class="message-attachment-file-ext">${escapeHtml(ext)}</div> + <div class="message-attachment-file-ext">Файл</div> <div class="message-attachment-file-main"> <div class="message-attachment-name">${escapeHtml(item.name)}</div> - <div class="message-attachment-meta">${escapeHtml(formatBytes(item.size))} · ${escapeHtml(item.ar)}</div> + <div class="message-attachment-meta">${escapeHtml(formatBytes(item.size))}</div> </div> `; const openFile = () => window.open(url, '_blank', 'noopener'); @@ -229,7 +228,6 @@ function createFileCard({ item, url, messageTimestampMs, slide }) { event.preventDefault(); openFile(); }); - card.append(createDownloadLink(url)); void fetch(url, { method: 'HEAD', cache: 'no-store' }) .then((response) => { if (!response.ok) replaceWithUnavailable(slide, messageTimestampMs); @@ -327,8 +325,8 @@ export function createAttachmentCarouselElement(attachments = [], { gateway = '' slide.append(kind === 'file' ? createFileCard({ item, url, messageTimestampMs, slide }) : createMediaSlide({ item, url, kind, messageTimestampMs, slide })); - prev.disabled = index <= 0; - next.disabled = index >= items.length - 1; + prev.hidden = items.length <= 1 || index <= 0; + next.hidden = items.length <= 1 || index >= items.length - 1; counter.textContent = `${index + 1} из ${items.length}`; }; diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index afb780eb..0a1ba49f 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2301,34 +2301,42 @@ textarea.input { .message-attachment-file-card { align-items: center; - background: linear-gradient(135deg, rgba(240, 253, 250, 0.95), rgba(239, 246, 255, 0.95)); - color: #0f172a; + background: linear-gradient(135deg, rgba(15, 23, 42, 0.94), rgba(30, 41, 59, 0.94)); + border: 1px solid rgba(20, 184, 166, 0.28); + border-radius: 0.8rem; + color: #f8fafc; + cursor: pointer; display: grid; - gap: 0.7rem; - grid-template-columns: auto minmax(0, 1fr) auto; - padding: 1rem; + gap: 0.55rem; + grid-template-columns: auto minmax(0, 1fr); + min-height: 3.25rem; + padding: 0.55rem 0.7rem; } .message-attachment-file-ext { align-items: center; - background: #0f766e; - border-radius: 0.9rem; + background: rgba(20, 184, 166, 0.95); + border-radius: 999px; color: #fff; display: inline-flex; - font-size: 0.8rem; + font-size: 0.72rem; font-weight: 800; - height: 3rem; + height: 1.7rem; justify-content: center; - max-width: 4rem; - min-width: 3rem; - padding: 0 0.45rem; + min-width: 3.25rem; + padding: 0 0.55rem; } .message-attachment-file-main { display: grid; + gap: 0.08rem; min-width: 0; } +.message-attachment-file-main .message-attachment-meta { + color: #cbd5e1; +} + .message-attachment-unavailable { align-items: center; background: linear-gradient(135deg, rgba(254, 242, 242, 0.96), rgba(255, 247, 237, 0.96)); From d5f41d12e89794cc65c139a14097a40713f6ab3a0de6a9985c2159915480ce62 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Fri, 31 Jul 2026 17:41:30 +0400 Subject: [PATCH 66/83] =?UTF-8?q?UI:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=D1=81=D0=BC=D0=BE=D1=82?= =?UTF-8?q?=D1=80=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B1=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D1=87=D0=B5=D0=B9=D0=BD=D0=B0=20=D1=81=D0=BE=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/Blockchain/CHANGELOG.md | 6 + shine-UI/js/pages/channel-thread-view.js | 149 ++++++++++++++++++++-- shine-UI/js/pages/channel-view.js | 152 +++++++++++++++++++++-- shine-UI/styles/components.css | 104 +++++++++++++++- 5 files changed, 388 insertions(+), 25 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index f038b391..7b5c697d 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.8 +client.version=1.4.9 server.version=1.4.0 diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index fcfc7309..ff8fdd64 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -113,6 +113,12 @@ - В `11_TEXT_Blocks.md` зафиксировано, что запись `TEXT_REPOST` временно не используется до будущей реализации. - В `docs/API/04_Add_Block_to_Blockchain_API.md` добавлен код отказа `repost_disabled`. +## 2026-07-31 17:40:31 +0400 +- Базовый коммит-ориентир: `d640dd6`. +- Формат блокчейна не менялся. +- В UI каналов добавлен технический просмотр данных сообщения из уже полученного ответа сервера: цепочка автора, номер записи, хэш, тип, время, текст, public key/подпись при наличии и сырой JSON-блок. +- Удалённые сообщения в UI теперь отображаются компактной строкой с переходом в историю версий. + ## 2026-05-21 19:05:00 +0300 - Базовый коммит-ориентир: `5344c42`. - Добавлен новый TEXT-подтип `TEXT_REPOST (subType=30)`: diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 61bd58f0..4b1079a6 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -16,6 +16,7 @@ import { markArweaveAttachmentPlaced, openArweaveAttachmentManager } from '../co import { composeMessageWithAttachments, createAttachmentCarouselElement, + escapeHtml, MAX_MESSAGE_ATTACHMENTS, parseMessageAttachments, } from '../services/attachment-format.js'; @@ -329,6 +330,91 @@ function bindSubmitOnPlainEnter(textarea, submit) { }); } +function setActionTitle(button, label) { + if (!button) return; + button.title = label; + button.setAttribute('aria-label', label); + const labelEl = button.querySelector('.channel-action-label'); + if (labelEl) labelEl.textContent = label; +} + +async function copyTextToClipboard(text) { + if (navigator?.clipboard?.writeText) { + await navigator.clipboard.writeText(text); + return true; + } + const ta = document.createElement('textarea'); + ta.value = text; + ta.setAttribute('readonly', ''); + ta.style.position = 'fixed'; + ta.style.opacity = '0'; + document.body.append(ta); + ta.select(); + const ok = document.execCommand('copy'); + ta.remove(); + return !!ok; +} + +function buildBlockchainDetails({ target, authorLogin, timestampMs, text, raw, localNumber, msgSubType }) { + const source = raw && typeof raw === 'object' ? raw : {}; + return { + authorLogin, + authorBlockchainName: target?.blockchainName || source.authorBlockchainName || '', + blockNumber: target?.blockNumber ?? source?.messageRef?.blockNumber ?? '', + blockHash: target?.blockHash || source?.messageRef?.blockHash || '', + localNumber, + msgSubType: msgSubType ?? source.msgSubType ?? '', + createdAtMs: timestampMs || source.createdAtMs || '', + text: String(text || ''), + signature: source.signature || source.blockSignature || source.authorSignature || 'нет в ответе сервера', + publicKey: source.publicKey || source.authorPublicKey || 'нет в ответе сервера', + raw, + }; +} + +function openBlockchainDetailsModal(details) { + const root = document.getElementById('modal-root'); + const rawText = JSON.stringify(details.raw || details, null, 2); + root.innerHTML = ` + <div class="modal" id="thread-blockchain-details-modal"> + <div class="modal-card stack blockchain-details-card"> + <h3 class="modal-title">Данные блокчейна сообщения</h3> + <p class="meta-muted">Это технические данные записи SHiNE. По ним можно увидеть цепочку автора, номер записи, хэш и подпись, если она есть в ответе сервера.</p> + <div class="blockchain-details-grid"> + <span>Автор</span><strong>${escapeHtml(details.authorLogin)}</strong> + <span>Блокчейн</span><code>${escapeHtml(details.authorBlockchainName)}</code> + <span>Номер записи</span><code>${escapeHtml(details.blockNumber)}</code> + <span>Хэш</span><code>${escapeHtml(details.blockHash)}</code> + <span>Тип</span><code>${escapeHtml(details.msgSubType)}</code> + <span>Время</span><code>${escapeHtml(details.createdAtMs ? new Date(Number(details.createdAtMs)).toLocaleString('ru-RU') : '—')}</code> + <span>Public key</span><code>${escapeHtml(details.publicKey)}</code> + <span>Подпись</span><code>${escapeHtml(details.signature)}</code> + </div> + <label class="field-label" for="thread-blockchain-details-text">Текст записи</label> + <textarea class="input" id="thread-blockchain-details-text" rows="4" readonly>${escapeHtml(details.text)}</textarea> + <pre class="blockchain-raw-block" id="thread-blockchain-raw-block" hidden>${escapeHtml(rawText)}</pre> + <div class="form-actions-grid"> + <button class="secondary-btn" id="thread-blockchain-details-copy" type="button">Скопировать</button> + <button class="secondary-btn" id="thread-blockchain-details-raw" type="button">Показать сырой блок</button> + </div> + <button class="secondary-btn" id="thread-blockchain-details-close" type="button">Закрыть</button> + </div> + </div> + `; + root.querySelector('#thread-blockchain-details-close')?.addEventListener('click', () => { + root.innerHTML = ''; + }); + root.querySelector('#thread-blockchain-details-copy')?.addEventListener('click', async () => { + await copyTextToClipboard(rawText); + showToast('Данные блокчейна скопированы'); + }); + root.querySelector('#thread-blockchain-details-raw')?.addEventListener('click', () => { + const rawEl = root.querySelector('#thread-blockchain-raw-block'); + if (!rawEl) return; + rawEl.hidden = !rawEl.hidden; + }); +} + function resolveNodeText(node) { return firstNonEmptyText( node?.text, @@ -671,18 +757,35 @@ function renderNodeCard(node, heading, handlers, localNumber) { authorTile.append(avatar, authorBlock); const isDeletedMessage = String(text || '').trim().toLowerCase() === 'удалено'; - const body = document.createElement('p'); - body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; - body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedText.text; - card.append(authorTile); - if (!isDeletedMessage && parsedText.attachments.length > 0) { - card.append(createAttachmentCarouselElement(parsedText.attachments, { - gateway: state.entrySettings.arweaveServer, - messageTimestampMs: node?.createdAtMs, - })); + if (isDeletedMessage) { + card.classList.add('channel-message-card--deleted-compact'); + const deleted = document.createElement('button'); + deleted.type = 'button'; + deleted.className = 'deleted-message-pill'; + deleted.textContent = `Удалённое сообщение от ${author}`; + deleted.title = 'Открыть историю изменений'; + deleted.addEventListener('click', (event) => { + event.stopPropagation(); + openMessageHistoryModal({ + title: `История #${localNumber}`, + versions, + }); + }); + card.append(deleted); + } else { + card.append(authorTile); + if (parsedText.attachments.length > 0) { + card.append(createAttachmentCarouselElement(parsedText.attachments, { + gateway: state.entrySettings.arweaveServer, + messageTimestampMs: node?.createdAtMs, + })); + } + const body = document.createElement('p'); + body.className = 'channel-message-body'; + body.textContent = parsedText.text; + card.append(body); } - card.append(body); const target = buildTargetFromNode(node); const refKey = messageRefKey(target); @@ -709,6 +812,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { <span class="channel-action-label">${isPending ? 'Лайк...' : 'Лайк'}</span> <span class="channel-action-counter">${likes}</span> `; + setActionTitle(likeButton, isPending ? 'Лайк...' : 'Лайк'); likeButton.disabled = isPending; likeButton.addEventListener('click', async (event) => { event.stopPropagation(); @@ -720,6 +824,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { } await longPressFeel(event.currentTarget, 130); likeButton.disabled = true; + setActionTitle(likeButton, 'Лайк...'); try { await handlers.onToggleLike(target, isLiked ? 'unlike' : 'like'); } catch (error) { @@ -740,6 +845,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { <span class="channel-action-label">Ответить</span> <span class="channel-action-counter">${replies}</span> `; + setActionTitle(replyButton, 'Ответить'); replyButton.addEventListener('click', (event) => { event.stopPropagation(); animatePress(event.currentTarget); @@ -756,6 +862,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { <span class="channel-action-icon" aria-hidden="true">↗</span> <span class="channel-action-label">Отправить</span> `; + setActionTitle(shareButton, 'Отправить'); shareButton.addEventListener('click', async (event) => { event.stopPropagation(); animatePress(event.currentTarget); @@ -773,6 +880,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { <span class="channel-action-icon" aria-hidden="true">↪</span> <span class="channel-action-label">Оригинал</span> `; + setActionTitle(originalButton, 'Оригинал'); originalButton.addEventListener('click', (event) => { event.stopPropagation(); const ok = window.confirm('Перейти к оригинальному сообщению?'); @@ -787,6 +895,27 @@ function renderNodeCard(node, heading, handlers, localNumber) { }); actions.append(originalButton); } + const detailsButton = document.createElement('button'); + detailsButton.type = 'button'; + detailsButton.className = 'channel-action-item'; + detailsButton.innerHTML = ` + <span class="channel-action-icon" aria-hidden="true">⛓</span> + <span class="channel-action-label">Данные блокчейна</span> + `; + setActionTitle(detailsButton, 'Данные блокчейна'); + detailsButton.addEventListener('click', (event) => { + event.stopPropagation(); + openBlockchainDetailsModal(buildBlockchainDetails({ + target, + authorLogin: author, + timestampMs: node?.createdAtMs, + text, + raw: node, + localNumber, + msgSubType, + })); + }); + actions.append(detailsButton); if (isOwnMessage) { const editButton = document.createElement('button'); editButton.type = 'button'; diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 1829ca30..c6c2a82d 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -22,6 +22,7 @@ import { markArweaveAttachmentPlaced, openArweaveAttachmentManager } from '../co import { composeMessageWithAttachments, createAttachmentCarouselElement, + escapeHtml, MAX_MESSAGE_ATTACHMENTS, parseMessageAttachments, } from '../services/attachment-format.js'; @@ -313,6 +314,91 @@ function bindSubmitOnPlainEnter(textarea, submit) { }); } +function setActionTitle(button, label) { + if (!button) return; + button.title = label; + button.setAttribute('aria-label', label); + const labelEl = button.querySelector('.channel-action-label'); + if (labelEl) labelEl.textContent = label; +} + +async function copyTextToClipboard(text) { + if (navigator?.clipboard?.writeText) { + await navigator.clipboard.writeText(text); + return true; + } + const ta = document.createElement('textarea'); + ta.value = text; + ta.setAttribute('readonly', ''); + ta.style.position = 'fixed'; + ta.style.opacity = '0'; + document.body.append(ta); + ta.select(); + const ok = document.execCommand('copy'); + ta.remove(); + return !!ok; +} + +function buildBlockchainDetails({ messageRef, authorLogin, timestampMs, text, raw, localNumber, msgSubType }) { + const source = raw && typeof raw === 'object' ? raw : {}; + return { + authorLogin, + authorBlockchainName: messageRef?.blockchainName || source.authorBlockchainName || '', + blockNumber: messageRef?.blockNumber ?? source?.messageRef?.blockNumber ?? '', + blockHash: messageRef?.blockHash || source?.messageRef?.blockHash || '', + localNumber, + msgSubType: msgSubType ?? source.msgSubType ?? '', + createdAtMs: timestampMs || source.createdAtMs || '', + text: String(text || ''), + signature: source.signature || source.blockSignature || source.authorSignature || 'нет в ответе сервера', + publicKey: source.publicKey || source.authorPublicKey || 'нет в ответе сервера', + raw, + }; +} + +function openBlockchainDetailsModal(details) { + const root = document.getElementById('modal-root'); + const rawText = JSON.stringify(details.raw || details, null, 2); + root.innerHTML = ` + <div class="modal" id="blockchain-details-modal"> + <div class="modal-card stack blockchain-details-card"> + <h3 class="modal-title">Данные блокчейна сообщения</h3> + <p class="meta-muted">Это технические данные записи SHiNE. По ним можно увидеть цепочку автора, номер записи, хэш и подпись, если она есть в ответе сервера.</p> + <div class="blockchain-details-grid"> + <span>Автор</span><strong>${escapeHtml(details.authorLogin)}</strong> + <span>Блокчейн</span><code>${escapeHtml(details.authorBlockchainName)}</code> + <span>Номер записи</span><code>${escapeHtml(details.blockNumber)}</code> + <span>Хэш</span><code>${escapeHtml(details.blockHash)}</code> + <span>Тип</span><code>${escapeHtml(details.msgSubType)}</code> + <span>Время</span><code>${escapeHtml(details.createdAtMs ? new Date(Number(details.createdAtMs)).toLocaleString('ru-RU') : '—')}</code> + <span>Public key</span><code>${escapeHtml(details.publicKey)}</code> + <span>Подпись</span><code>${escapeHtml(details.signature)}</code> + </div> + <label class="field-label" for="blockchain-details-text">Текст записи</label> + <textarea class="input" id="blockchain-details-text" rows="4" readonly>${escapeHtml(details.text)}</textarea> + <pre class="blockchain-raw-block" id="blockchain-raw-block" hidden>${escapeHtml(rawText)}</pre> + <div class="form-actions-grid"> + <button class="secondary-btn" id="blockchain-details-copy" type="button">Скопировать</button> + <button class="secondary-btn" id="blockchain-details-raw" type="button">Показать сырой блок</button> + </div> + <button class="secondary-btn" id="blockchain-details-close" type="button">Закрыть</button> + </div> + </div> + `; + root.querySelector('#blockchain-details-close')?.addEventListener('click', () => { + root.innerHTML = ''; + }); + root.querySelector('#blockchain-details-copy')?.addEventListener('click', async () => { + await copyTextToClipboard(rawText); + showToast('Данные блокчейна скопированы'); + }); + root.querySelector('#blockchain-details-raw')?.addEventListener('click', () => { + const rawEl = root.querySelector('#blockchain-raw-block'); + if (!rawEl) return; + rawEl.hidden = !rawEl.hidden; + }); +} + function renderDraftAttachments(container, attachments) { if (!container) return; container.innerHTML = ''; @@ -693,6 +779,7 @@ function mapApiMessageToPost(message, selector, localNumber) { repliesCount: Number(message?.repliesCount || 0), timestampMs: resolveMessageTimestampMs(message), messageRef, + rawMessage: message, msgSubType: Number(message?.msgSubType || 0), targetRef: message?.targetBlockchainName && Number.isFinite(Number(message?.targetBlockNumber)) ? { @@ -1011,18 +1098,35 @@ function renderPostCard(post, { const isDeletedMessage = String(post.body || '').trim().toLowerCase() === 'удалено'; const parsedBody = parseMessageAttachments(post.body); - const body = document.createElement('p'); - body.className = `channel-message-body${isDeletedMessage ? ' channel-message-body--deleted' : ''}`; - body.textContent = isDeletedMessage ? 'Сообщение удалено' : parsedBody.text; - card.append(authorTile); - if (!isDeletedMessage && parsedBody.attachments.length > 0) { - card.append(createAttachmentCarouselElement(parsedBody.attachments, { - gateway: state.entrySettings.arweaveServer, - messageTimestampMs: post.timestampMs, - })); + if (isDeletedMessage) { + card.classList.add('channel-message-card--deleted-compact'); + const deleted = document.createElement('button'); + deleted.type = 'button'; + deleted.className = 'deleted-message-pill'; + deleted.textContent = `Удалённое сообщение от ${post.authorLogin}`; + deleted.title = 'Открыть историю изменений'; + deleted.addEventListener('click', (event) => { + event.stopPropagation(); + openMessageHistoryModal({ + title: `История #${post.localNumber}`, + versions: post.versions, + }); + }); + card.append(deleted); + } else { + card.append(authorTile); + if (parsedBody.attachments.length > 0) { + card.append(createAttachmentCarouselElement(parsedBody.attachments, { + gateway: state.entrySettings.arweaveServer, + messageTimestampMs: post.timestampMs, + })); + } + const body = document.createElement('p'); + body.className = 'channel-message-body'; + body.textContent = parsedBody.text; + card.append(body); } - card.append(body); const refKey = messageRefKey(post.messageRef); if (refKey) { @@ -1048,6 +1152,7 @@ function renderPostCard(post, { <span class="channel-action-label">${isPending ? 'Лайк...' : 'Лайк'}</span> <span class="channel-action-counter">${post.likesCount || 0}</span> `; + setActionTitle(likeButton, isPending ? 'Лайк...' : 'Лайк'); likeButton.disabled = isPending; likeButton.addEventListener('click', async (event) => { event.stopPropagation(); @@ -1059,8 +1164,7 @@ function renderPostCard(post, { } await longPressFeel(event.currentTarget, 130); likeButton.disabled = true; - const labelEl = likeButton.querySelector('.channel-action-label'); - if (labelEl) labelEl.textContent = 'Лайк...'; + setActionTitle(likeButton, 'Лайк...'); await onToggleLike(post.messageRef, isLiked ? 'unlike' : 'like', { likeButton }); }); @@ -1072,6 +1176,7 @@ function renderPostCard(post, { <span class="channel-action-label">Ответить</span> <span class="channel-action-counter">${post.repliesCount || 0}</span> `; + setActionTitle(replyButton, 'Ответить'); replyButton.addEventListener('click', (event) => { event.stopPropagation(); animatePress(event.currentTarget); @@ -1091,6 +1196,7 @@ function renderPostCard(post, { <span class="channel-action-icon" aria-hidden="true">↗</span> <span class="channel-action-label">Отправить</span> `; + setActionTitle(shareButton, 'Отправить'); shareButton.addEventListener('click', async (event) => { event.stopPropagation(); animatePress(event.currentTarget); @@ -1107,6 +1213,7 @@ function renderPostCard(post, { <span class="channel-action-icon" aria-hidden="true">↪</span> <span class="channel-action-label">Оригинал</span> `; + setActionTitle(originalBtn, 'Оригинал'); originalBtn.addEventListener('click', (event) => { event.stopPropagation(); const ownerLogin = extractLoginFromBlockchainName(post.targetRef.blockchainName); @@ -1121,6 +1228,27 @@ function renderPostCard(post, { }); actions.append(originalBtn); } + const detailsButton = document.createElement('button'); + detailsButton.type = 'button'; + detailsButton.className = 'channel-action-item'; + detailsButton.innerHTML = ` + <span class="channel-action-icon" aria-hidden="true">⛓</span> + <span class="channel-action-label">Данные блокчейна</span> + `; + setActionTitle(detailsButton, 'Данные блокчейна'); + detailsButton.addEventListener('click', (event) => { + event.stopPropagation(); + openBlockchainDetailsModal(buildBlockchainDetails({ + messageRef: post.messageRef, + authorLogin: post.authorLogin, + timestampMs: post.timestampMs, + text: post.body, + raw: post.rawMessage, + localNumber: post.localNumber, + msgSubType: post.msgSubType, + })); + }); + actions.append(detailsButton); if (post.isOwnMessage) { const editButton = document.createElement('button'); editButton.type = 'button'; diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 0a1ba49f..af13b9e1 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -3878,6 +3878,36 @@ textarea.input { padding: 8px 10px; } +.channel-message-card--deleted-compact { + gap: 7px; + padding-top: 9px; + padding-bottom: 9px; +} + +.deleted-message-pill { + appearance: none; + width: 100%; + border: 1px solid rgba(255, 160, 120, 0.28); + border-radius: 12px; + background: rgba(70, 31, 25, 0.45); + color: rgba(255, 216, 190, 0.9); + font-size: 13px; + line-height: 1.2; + text-align: left; + padding: 8px 10px; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.deleted-message-pill:hover, +.deleted-message-pill:focus-visible { + border-color: rgba(255, 196, 142, 0.55); + background: rgba(98, 42, 31, 0.58); + outline: none; +} + .channel-message-time { font-size: 11px; color: rgba(255, 255, 255, 0.48); @@ -3919,12 +3949,15 @@ textarea.input { appearance: none; border: 0; background: transparent; + position: relative; min-height: 0; padding: 0; margin: 0; display: inline-flex; align-items: center; + justify-content: center; gap: 5px; + min-width: 24px; color: rgba(255, 255, 255, 0.55); cursor: pointer; transition: color 0.18s ease, text-shadow 0.18s ease, transform 0.18s ease; @@ -3954,9 +3987,37 @@ textarea.input { } .channel-action-label { - font-size: 12px; - line-height: 1; + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.channel-action-item:hover::after, +.channel-action-item:focus-visible::after { + content: attr(title); + position: absolute; + left: 50%; + bottom: calc(100% + 8px); + z-index: 30; + transform: translateX(-50%); + max-width: 180px; + padding: 5px 8px; + border: 1px solid rgba(255, 220, 140, 0.24); + border-radius: 8px; + background: rgba(20, 20, 24, 0.94); + color: rgba(255, 244, 210, 0.96); + font-size: 11px; + line-height: 1.15; letter-spacing: 0.01em; + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35); + pointer-events: none; + white-space: nowrap; } .message-edited-marker { @@ -3995,6 +4056,45 @@ textarea.input { transform: translateX(0); } +.blockchain-details-card { + max-width: min(620px, calc(100vw - 28px)); +} + +.blockchain-details-grid { + display: grid; + grid-template-columns: max-content minmax(0, 1fr); + gap: 8px 12px; + padding: 12px; + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 14px; + background: rgba(255, 255, 255, 0.035); +} + +.blockchain-details-grid span { + color: rgba(255, 255, 255, 0.58); + font-size: 12px; +} + +.blockchain-details-grid code, +.blockchain-details-grid strong { + min-width: 0; + color: rgba(255, 244, 210, 0.96); + font-size: 12px; + overflow-wrap: anywhere; +} + +.blockchain-raw-block { + max-height: 280px; + overflow: auto; + padding: 12px; + border-radius: 14px; + background: rgba(0, 0, 0, 0.32); + color: rgba(255, 255, 255, 0.82); + font-size: 11px; + line-height: 1.45; + white-space: pre-wrap; +} + .thread-summary { color: #efd9a4; border-color: rgba(212, 171, 90, 0.36); From 24afcba20a0b8a399abd27b46427b8f6c03c6fd456f0337735a221615bfd1509 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 01:02:49 +0400 Subject: [PATCH 67/83] =?UTF-8?q?UI:=20=D1=81=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=83=20=D1=83=D0=B4=D0=B0=D0=BB=D1=91=D0=BD=D0=BD=D1=8B=D1=85?= =?UTF-8?q?=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/channel-thread-view.js | 1 + shine-UI/js/pages/channel-view.js | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index 7b5c697d..c50c7117 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.9 +client.version=1.4.10 server.version=1.4.0 diff --git a/shine-UI/js/pages/channel-thread-view.js b/shine-UI/js/pages/channel-thread-view.js index 4b1079a6..65a62d97 100644 --- a/shine-UI/js/pages/channel-thread-view.js +++ b/shine-UI/js/pages/channel-thread-view.js @@ -773,6 +773,7 @@ function renderNodeCard(node, heading, handlers, localNumber) { }); }); card.append(deleted); + return card; } else { card.append(authorTile); if (parsedText.attachments.length > 0) { diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index c6c2a82d..5756c465 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -1114,6 +1114,7 @@ function renderPostCard(post, { }); }); card.append(deleted); + return card; } else { card.append(authorTile); if (parsedBody.attachments.length > 0) { From 110ff5e12e96dbb6b89fa227062ab6926ee8deeb9b40aed106e4c57ef95f5511 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 01:57:41 +0400 Subject: [PATCH 68/83] =?UTF-8?q?=D0=9A=D0=B0=D0=BD=D0=B0=D0=BB=D1=8B:=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D1=84=D0=B8=D0=BB=D1=8C=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20TEXT=5FCHANNEL=5FMETA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/blockchain/BodyRecordParser.java | 3 +- .../src/main/java/blockchain/MsgSubType.java | 6 + .../java/blockchain/body/TextLineBody.java | 28 +- .../java/shine/db/DatabaseInitializer.java | 7 + .../src/main/java/shine/db/MsgSubType.java | 3 + .../shine/db/dao/ChannelNameStateDAO.java | 36 ++- .../db/entities/ChannelNameStateEntry.java | 36 +++ .../main/resources/postgres/migration_v4.sql | 15 ++ .../src/main/resources/postgres/schema_v1.sql | 6 +- .../blockchain/Net_AddBlock_Handler.java | 60 ++++- .../BlockchainWriter.java | 7 +- .../channels/ChannelMetaTextParser.java | 112 ++++++++ .../channels/ChannelsReadSupport.java | 177 +++++++++---- .../Net_GetChannelMessages_Handler.java | 26 ++ .../Net_ListSubscriptionsFeed_Handler.java | 5 + .../Net_GetChannelMessages_Response.java | 71 +++++ .../Net_ListSubscriptionsFeed_Response.java | 20 ++ VERSION.properties | 4 +- docs/API/04_Add_Block_to_Blockchain_API.md | 2 + docs/API/06_Channels_Read_API.md | 40 +++ docs/Blockchain/02_Channel_Commands.md | 34 +-- docs/Blockchain/11_TEXT_Blocks.md | 8 + docs/Blockchain/16_TEXT_Channel_Meta.md | 59 +++++ docs/Blockchain/CHANGELOG.md | 8 + docs/Blockchain/README.md | 8 +- .../components/arweave-attachment-manager.js | 70 ++++- shine-UI/js/pages/add-channel-view.js | 96 +++++-- shine-UI/js/pages/channel-view.js | 247 +++++++++++++++++- shine-UI/js/pages/channels-list.js | 25 +- shine-UI/js/services/auth-service.js | 209 +++++++++++---- shine-UI/styles/components.css | 75 +++++- 31 files changed, 1312 insertions(+), 191 deletions(-) create mode 100644 SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v4.sql create mode 100644 SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelMetaTextParser.java create mode 100644 docs/Blockchain/16_TEXT_Channel_Meta.md diff --git a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/BodyRecordParser.java b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/BodyRecordParser.java index c01390c1..21103a16 100644 --- a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/BodyRecordParser.java +++ b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/BodyRecordParser.java @@ -36,7 +36,8 @@ public final class BodyRecordParser { case TextBody.KEY -> { if (st == (MsgSubType.TEXT_POST & 0xFFFF) || st == (MsgSubType.TEXT_EDIT_POST & 0xFFFF) - || st == (MsgSubType.TEXT_REPOST & 0xFFFF)) { + || st == (MsgSubType.TEXT_REPOST & 0xFFFF) + || st == (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) { yield new TextLineBody(subType, version, bodyBytes); } diff --git a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java index 3464d6f6..f5b72745 100644 --- a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java +++ b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java @@ -70,6 +70,12 @@ public final class MsgSubType { */ public static final short TEXT_REPOST = 30; + /** + * CHANNEL_META — скрытый технический снимок профиля канала. + * Имеет hasLine, использует body как POST: line-поля + UTF-8 текст. + */ + public static final short TEXT_CHANNEL_META = 70; + /* ===================== REACTION (msg_type=2) ===================== */ /** Лайк (LIKE). */ diff --git a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/TextLineBody.java b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/TextLineBody.java index 748a7467..2e392f12 100644 --- a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/TextLineBody.java +++ b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/TextLineBody.java @@ -17,10 +17,11 @@ import java.util.Objects; * - POST (10) * - EDIT_POST (11) * - REPOST (30) + * - CHANNEL_META (70) * * Формат bodyBytes (BigEndian): * - * POST: + * POST / CHANNEL_META: * [4] lineCode * [4] prevLineNumber * [32] prevLineHash32 @@ -89,8 +90,9 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge int st = this.subType & 0xFFFF; if (st != (MsgSubType.TEXT_POST & 0xFFFF) && st != (MsgSubType.TEXT_EDIT_POST & 0xFFFF) - && st != (MsgSubType.TEXT_REPOST & 0xFFFF)) { - throw new IllegalArgumentException("TextLineBody supports only POST/EDIT_POST/REPOST, got subType=" + st); + && st != (MsgSubType.TEXT_REPOST & 0xFFFF) + && st != (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) { + throw new IllegalArgumentException("TextLineBody supports only POST/EDIT_POST/REPOST/CHANNEL_META, got subType=" + st); } ByteBuffer bb = ByteBuffer.wrap(bodyBytes).order(ByteOrder.BIG_ENDIAN); @@ -133,7 +135,8 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge this.toBlockHash32 = null; } - this.message = readStrictUtf8Len16(bb, "TextLineBody text", st == (MsgSubType.TEXT_EDIT_POST & 0xFFFF)); + this.message = readStrictUtf8Len16(bb, "TextLineBody text", + st == (MsgSubType.TEXT_EDIT_POST & 0xFFFF) || st == (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)); ensureNoTail(bb, "TextLineBody"); } @@ -155,8 +158,9 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge int st = subType & 0xFFFF; if (st != (MsgSubType.TEXT_POST & 0xFFFF) && st != (MsgSubType.TEXT_EDIT_POST & 0xFFFF) - && st != (MsgSubType.TEXT_REPOST & 0xFFFF)) { - throw new IllegalArgumentException("TextLineBody supports only POST/EDIT_POST/REPOST"); + && st != (MsgSubType.TEXT_REPOST & 0xFFFF) + && st != (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) { + throw new IllegalArgumentException("TextLineBody supports only POST/EDIT_POST/REPOST/CHANNEL_META"); } if (lineCode < 0) throw new IllegalArgumentException("lineCode < 0"); @@ -206,7 +210,8 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge int st = subType & 0xFFFF; if (st != (MsgSubType.TEXT_POST & 0xFFFF) && st != (MsgSubType.TEXT_EDIT_POST & 0xFFFF) - && st != (MsgSubType.TEXT_REPOST & 0xFFFF)) + && st != (MsgSubType.TEXT_REPOST & 0xFFFF) + && st != (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) throw new IllegalArgumentException("Bad TextLineBody subType: " + st); if (lineCode < 0) throw new IllegalArgumentException("lineCode < 0"); @@ -231,10 +236,13 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge if (toBlockHash32 == null || toBlockHash32.length != 32) throw new IllegalArgumentException("REPOST toBlockHash32 invalid"); } else { - if (message == null || message.isBlank()) + if (st == (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) { + if (message == null) throw new IllegalArgumentException("CHANNEL_META message is null"); + } else if (message == null || message.isBlank()) { throw new IllegalArgumentException("Text message is blank"); + } if (toBlockchainName != null || toBlockGlobalNumber != null || toBlockHash32 != null) - throw new IllegalArgumentException("POST must not contain target fields"); + throw new IllegalArgumentException("POST/CHANNEL_META must not contain target fields"); } return this; @@ -251,7 +259,7 @@ public final class TextLineBody implements BodyRecord, BodyHasLine, BodyHasTarge } int cap; - if (st == (MsgSubType.TEXT_POST & 0xFFFF)) { + if (st == (MsgSubType.TEXT_POST & 0xFFFF) || st == (MsgSubType.TEXT_CHANNEL_META & 0xFFFF)) { cap = (4 + 4 + 32 + 4) + 2 + msgUtf8.length; } else if (st == (MsgSubType.TEXT_EDIT_POST & 0xFFFF)) { // EDIT_POST diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java index 5d00f285..7bccfda8 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/DatabaseInitializer.java @@ -20,9 +20,11 @@ public final class DatabaseInitializer { public static final int SCHEMA_VERSION_1 = 1; public static final int SCHEMA_VERSION_2 = 2; public static final int SCHEMA_VERSION_3 = 3; + public static final int SCHEMA_VERSION_4 = 4; public static final String POSTGRES_SCHEMA_RESOURCE = "postgres/schema_v1.sql"; public static final String POSTGRES_MIGRATION_V2_RESOURCE = "postgres/migration_v2.sql"; public static final String POSTGRES_MIGRATION_V3_RESOURCE = "postgres/migration_v3.sql"; + public static final String POSTGRES_MIGRATION_V4_RESOURCE = "postgres/migration_v4.sql"; private DatabaseInitializer() {} @@ -31,6 +33,7 @@ public final class DatabaseInitializer { public static final short TEXT_REPLY = 20; public static final short TEXT_EDIT_REPLY = 21; public static final short TEXT_REPOST = 30; + public static final short TEXT_CHANNEL_META = 70; public static final short REACTION_LIKE = 1; public static final short REACTION_UNLIKE = 2; @@ -88,6 +91,10 @@ public final class DatabaseInitializer { } if (currentVersion < SCHEMA_VERSION_3) { runSqlScript(conn, POSTGRES_MIGRATION_V3_RESOURCE); + currentVersion = SCHEMA_VERSION_3; + } + if (currentVersion < SCHEMA_VERSION_4) { + runSqlScript(conn, POSTGRES_MIGRATION_V4_RESOURCE); } } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/MsgSubType.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/MsgSubType.java index 07c727cf..6952cd20 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/MsgSubType.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/MsgSubType.java @@ -33,6 +33,9 @@ public final class MsgSubType { /** REPOST — репост сообщения в линии канала (с комментарием и target на оригинал). */ public static final short TEXT_REPOST = 30; + /** CHANNEL_META — скрытый технический снимок профиля канала. */ + public static final short TEXT_CHANNEL_META = 70; + /* ===================== REACTION (msg_type=2) ===================== */ /** Лайк (LIKE). */ diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java index 61ee579a..762a4292 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/dao/ChannelNameStateDAO.java @@ -65,8 +65,12 @@ public final class ChannelNameStateDAO { channel_type_version, channel_root_block_number, channel_root_block_hash, - created_at_ms - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + created_at_ms, + ava_ar, + ava_sha256, + ava_size, + meta_updated_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, entry.getSlug()); @@ -79,6 +83,34 @@ public final class ChannelNameStateDAO { ps.setInt(8, entry.getChannelRootBlockNumber()); ps.setBytes(9, entry.getChannelRootBlockHash()); ps.setLong(10, entry.getCreatedAtMs()); + ps.setString(11, entry.getAvaAr() == null ? "" : entry.getAvaAr()); + ps.setString(12, entry.getAvaSha256() == null ? "" : entry.getAvaSha256()); + ps.setLong(13, Math.max(0L, entry.getAvaSize())); + ps.setLong(14, Math.max(0L, entry.getMetaUpdatedAtMs())); + ps.executeUpdate(); + } + } + + public void updateMeta(Connection c, ChannelNameStateEntry entry) throws SQLException { + String sql = """ + UPDATE channel_names_state + SET display_name = ?, + channel_description = ?, + ava_ar = ?, + ava_sha256 = ?, + ava_size = ?, + meta_updated_at_ms = ? + WHERE owner_bch_name = ? AND channel_root_block_number = ? + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setString(1, entry.getDisplayName() == null ? "" : entry.getDisplayName()); + ps.setString(2, entry.getChannelDescription() == null ? "" : entry.getChannelDescription()); + ps.setString(3, entry.getAvaAr() == null ? "" : entry.getAvaAr()); + ps.setString(4, entry.getAvaSha256() == null ? "" : entry.getAvaSha256()); + ps.setLong(5, Math.max(0L, entry.getAvaSize())); + ps.setLong(6, Math.max(0L, entry.getMetaUpdatedAtMs())); + ps.setString(7, entry.getOwnerBlockchainName()); + ps.setInt(8, entry.getChannelRootBlockNumber()); ps.executeUpdate(); } } diff --git a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/ChannelNameStateEntry.java b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/ChannelNameStateEntry.java index ec7fb49d..b9812543 100644 --- a/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/ChannelNameStateEntry.java +++ b/SHiNE-server/shine-server-db/src/main/java/shine/db/entities/ChannelNameStateEntry.java @@ -13,6 +13,10 @@ public class ChannelNameStateEntry { private int channelRootBlockNumber; private byte[] channelRootBlockHash; private long createdAtMs; + private String avaAr; + private String avaSha256; + private long avaSize; + private long metaUpdatedAtMs; public String getSlug() { return slug; @@ -93,4 +97,36 @@ public class ChannelNameStateEntry { public void setCreatedAtMs(long createdAtMs) { this.createdAtMs = createdAtMs; } + + public String getAvaAr() { + return avaAr; + } + + public void setAvaAr(String avaAr) { + this.avaAr = avaAr; + } + + public String getAvaSha256() { + return avaSha256; + } + + public void setAvaSha256(String avaSha256) { + this.avaSha256 = avaSha256; + } + + public long getAvaSize() { + return avaSize; + } + + public void setAvaSize(long avaSize) { + this.avaSize = avaSize; + } + + public long getMetaUpdatedAtMs() { + return metaUpdatedAtMs; + } + + public void setMetaUpdatedAtMs(long metaUpdatedAtMs) { + this.metaUpdatedAtMs = metaUpdatedAtMs; + } } diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v4.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v4.sql new file mode 100644 index 00000000..88523668 --- /dev/null +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/migration_v4.sql @@ -0,0 +1,15 @@ +BEGIN; + +ALTER TABLE channel_names_state + ADD COLUMN IF NOT EXISTS ava_ar TEXT NOT NULL DEFAULT '', + ADD COLUMN IF NOT EXISTS ava_sha256 TEXT NOT NULL DEFAULT '', + ADD COLUMN IF NOT EXISTS ava_size BIGINT NOT NULL DEFAULT 0, + ADD COLUMN IF NOT EXISTS meta_updated_at_ms BIGINT NOT NULL DEFAULT 0; + +INSERT INTO db_schema_version (id, schema_version, updated_at_ms) +VALUES (1, 4, CAST(EXTRACT(EPOCH FROM clock_timestamp()) * 1000 AS BIGINT)) +ON CONFLICT (id) DO UPDATE SET + schema_version = EXCLUDED.schema_version, + updated_at_ms = EXCLUDED.updated_at_ms; + +COMMIT; diff --git a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql index 364d5d4c..e514899d 100644 --- a/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql +++ b/SHiNE-server/shine-server-db/src/main/resources/postgres/schema_v1.sql @@ -536,7 +536,11 @@ CREATE TABLE IF NOT EXISTS channel_names_state ( channel_type_version INTEGER NOT NULL DEFAULT 1, channel_root_block_number INTEGER NOT NULL, channel_root_block_hash BYTEA NOT NULL, - created_at_ms BIGINT NOT NULL + created_at_ms BIGINT NOT NULL, + ava_ar TEXT NOT NULL DEFAULT '', + ava_sha256 TEXT NOT NULL DEFAULT '', + ava_size BIGINT NOT NULL DEFAULT 0, + meta_updated_at_ms BIGINT NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX IF NOT EXISTS uq_channel_names_state_owner_type_slug diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java index 2ffc971d..c84c8572 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java @@ -21,6 +21,7 @@ import server.sync.BlockchainResyncGuard; import server.logic.ws_protocol.JSON.handlers.blockchain.Net_AddBlock_Handler_utils.BlockchainWriter; import server.logic.ws_protocol.JSON.handlers.blockchain.entyties.Net_AddBlock_Request; import server.logic.ws_protocol.JSON.handlers.blockchain.entyties.Net_AddBlock_Response; +import server.logic.ws_protocol.JSON.handlers.channels.ChannelMetaTextParser; import server.logic.ws_protocol.JSON.handlers.channels.ChannelNamesStateBootstrapper; import server.logic.ws_protocol.WireCodes; import server.sync.AddBlockSyncService; @@ -277,6 +278,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { } ChannelNameStateEntry channelNameStateEntry = null; + ChannelNameStateEntry channelMetaUpdateEntry = null; Chat200CreateSeed chat200CreateSeed = null; if (block.body instanceof CreateChannelBody createChannelBody) { int channelTypeCode = Short.toUnsignedInt(createChannelBody.channelTypeCode); @@ -329,6 +331,39 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { chat200CreateSeed.chatTitle = channelNameStateEntry.getChannelDescription(); chat200CreateSeed.updatedAtMs = block.timestamp * 1000L; } + } else if ((block.type & 0xFFFF) == 1 + && (block.subType & 0xFFFF) == (MsgSubType.TEXT_CHANNEL_META & 0xFFFF) + && block.body instanceof TextLineBody metaBody) { + int lineCode = metaBody.lineCode(); + if (lineCode <= 0) { + return new AddBlockResult(WireCodes.Status.BAD_REQUEST, "bad_channel_meta_line", serverLastNum, serverLastHashHex); + } + ExistingChannelState existingChannel; + try { + existingChannel = loadExistingChannelState(blockchainName, lineCode); + } catch (Exception e) { + log.error("AddBlock: channel_meta_lookup_failed (login={}, blockchainName={}, lineCode={})", + login, blockchainName, lineCode, e); + return new AddBlockResult(WireCodes.Status.INTERNAL_ERROR, "internal_error", serverLastNum, serverLastHashHex); + } + if (existingChannel == null) { + return new AddBlockResult(WireCodes.Status.BAD_REQUEST, "channel_not_found", serverLastNum, serverLastHashHex); + } + ChannelMetaTextParser.Parsed parsedMeta; + try { + parsedMeta = ChannelMetaTextParser.parseStrict(metaBody.message, existingChannel.slug); + } catch (IllegalArgumentException e) { + return new AddBlockResult(WireCodes.Status.BAD_REQUEST, e.getMessage(), serverLastNum, serverLastHashHex); + } + channelMetaUpdateEntry = new ChannelNameStateEntry(); + channelMetaUpdateEntry.setOwnerBlockchainName(blockchainName); + channelMetaUpdateEntry.setChannelRootBlockNumber(lineCode); + channelMetaUpdateEntry.setDisplayName(parsedMeta.title()); + channelMetaUpdateEntry.setChannelDescription(parsedMeta.description()); + channelMetaUpdateEntry.setAvaAr(parsedMeta.avaAr()); + channelMetaUpdateEntry.setAvaSha256(parsedMeta.avaSha256()); + channelMetaUpdateEntry.setAvaSize(parsedMeta.avaSize()); + channelMetaUpdateEntry.setMetaUpdatedAtMs(block.timestamp * 1000L); } // 4.2) запрет дырок: blockNumber строго last+1 @@ -485,7 +520,7 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { ); } - dbWriter.appendBlockAndState(blockchainName, block, st, be, upsertedParam, channelNameStateEntry); + dbWriter.appendBlockAndState(blockchainName, block, st, be, upsertedParam, channelNameStateEntry, channelMetaUpdateEntry); if (chat200CreateSeed != null) { upsertChat200StateFromCreate(chat200CreateSeed); @@ -544,6 +579,29 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { long updatedAtMs; } + private static final class ExistingChannelState { + String slug; + } + + private ExistingChannelState loadExistingChannelState(String ownerBch, int rootBlockNumber) throws Exception { + try (Connection c = shine.db.DbController.getInstance().getConnection(); + PreparedStatement ps = c.prepareStatement(""" + SELECT slug + FROM channel_names_state + WHERE owner_bch_name = ? AND channel_root_block_number = ? + LIMIT 1 + """)) { + ps.setString(1, ownerBch); + ps.setInt(2, rootBlockNumber); + try (ResultSet rs = ps.executeQuery()) { + if (!rs.next()) return null; + ExistingChannelState state = new ExistingChannelState(); + state.slug = rs.getString("slug"); + return state; + } + } + } + private void upsertChat200StateFromCreate(Chat200CreateSeed seed) throws Exception { try (Connection c = shine.db.DbController.getInstance().getConnection(); PreparedStatement ps = c.prepareStatement(""" diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java index a5f22c1f..7c2171b9 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java @@ -58,7 +58,8 @@ public final class BlockchainWriter { BlockchainStateEntry st, BlockEntry be, UserParamEntry userParamEntry, - ChannelNameStateEntry channelNameStateEntry) throws SQLException { + ChannelNameStateEntry channelNameStateEntry, + ChannelNameStateEntry channelMetaUpdateEntry) throws SQLException { long nowMs = System.currentTimeMillis(); byte[] blockBytes = block.toBytes(); @@ -91,6 +92,10 @@ public final class BlockchainWriter { channelNameStateDAO.insert(c, channelNameStateEntry); } + if (channelMetaUpdateEntry != null) { + channelNameStateDAO.updateMeta(c, channelMetaUpdateEntry); + } + c.commit(); committed = true; } catch (Exception e) { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelMetaTextParser.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelMetaTextParser.java new file mode 100644 index 00000000..df48579e --- /dev/null +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelMetaTextParser.java @@ -0,0 +1,112 @@ +package server.logic.ws_protocol.JSON.handlers.channels; + +import java.util.HashMap; +import java.util.Map; + +public final class ChannelMetaTextParser { + public static final int MAX_TITLE_CHARS = 50; + public static final int MAX_DESCRIPTION_CHARS = 250; + + private ChannelMetaTextParser() {} + + public static Parsed parseStrict(String rawText, String fallbackTitle) { + String text = String.valueOf(rawText == null ? "" : rawText); + String title = ""; + String avaAr = ""; + String avaSha256 = ""; + long avaSize = 0L; + boolean seenTitle = false; + boolean seenAvatar = false; + + int offset = 0; + while (text.startsWith("<SHiNE:", offset)) { + int end = text.indexOf('>', offset); + if (end < 0) throw new IllegalArgumentException("bad_channel_meta_tag"); + String body = text.substring(offset + "<SHiNE:".length(), end); + if (body.startsWith("title;")) { + if (seenTitle) throw new IllegalArgumentException("duplicate_channel_meta_title"); + seenTitle = true; + title = parseTitleTag(body); + } else if (body.startsWith("avatar;")) { + if (seenAvatar) throw new IllegalArgumentException("duplicate_channel_meta_avatar"); + seenAvatar = true; + Avatar avatar = parseAvatarTag(body); + avaAr = avatar.ar; + avaSha256 = avatar.sha256; + avaSize = avatar.size; + } else { + throw new IllegalArgumentException("unknown_channel_meta_tag"); + } + offset = end + 1; + if (offset < text.length() && text.charAt(offset) == '\n') offset += 1; + } + + String description = text.substring(offset).trim(); + if (countCodePoints(description) > MAX_DESCRIPTION_CHARS) { + throw new IllegalArgumentException("channel_meta_description_too_long"); + } + + String cleanTitle = title.isBlank() ? String.valueOf(fallbackTitle == null ? "" : fallbackTitle).trim() : title.trim(); + validateTitle(cleanTitle); + + return new Parsed(cleanTitle, description, avaAr, avaSha256, avaSize); + } + + private static String parseTitleTag(String body) { + String prefix = "title;v=1;"; + if (!body.startsWith(prefix)) throw new IllegalArgumentException("bad_channel_meta_title"); + String title = body.substring(prefix.length()).trim(); + validateTitle(title); + return title; + } + + private static Avatar parseAvatarTag(String body) { + Map<String, String> fields = parseFields(body.substring("avatar;".length())); + if (!"1".equals(fields.get("v"))) throw new IllegalArgumentException("bad_channel_meta_avatar_version"); + String ar = String.valueOf(fields.getOrDefault("ar", "")).trim(); + String sha256 = String.valueOf(fields.getOrDefault("sha256", "")).trim().toLowerCase(); + String sizeRaw = String.valueOf(fields.getOrDefault("size", "")).trim(); + if (!ar.matches("^[A-Za-z0-9_-]{43}$")) throw new IllegalArgumentException("bad_channel_meta_avatar_ar"); + if (!sha256.matches("^[0-9a-f]{64}$")) throw new IllegalArgumentException("bad_channel_meta_avatar_sha256"); + long size; + try { + size = Long.parseLong(sizeRaw); + } catch (Exception e) { + throw new IllegalArgumentException("bad_channel_meta_avatar_size"); + } + if (size <= 0L) throw new IllegalArgumentException("bad_channel_meta_avatar_size"); + return new Avatar(ar, sha256, size); + } + + private static Map<String, String> parseFields(String raw) { + Map<String, String> out = new HashMap<>(); + for (String part : String.valueOf(raw == null ? "" : raw).split(";")) { + int eq = part.indexOf('='); + if (eq <= 0) continue; + String key = part.substring(0, eq).trim(); + String value = part.substring(eq + 1).trim(); + if (!key.isEmpty()) out.put(key, value); + } + return out; + } + + private static void validateTitle(String title) { + String value = String.valueOf(title == null ? "" : title); + if (value.indexOf('<') >= 0 || value.indexOf('>') >= 0 || value.indexOf(';') >= 0 + || value.indexOf('\t') >= 0 || value.indexOf('\n') >= 0 || value.indexOf('\r') >= 0 + || value.indexOf('\0') >= 0) { + throw new IllegalArgumentException("bad_channel_meta_title_chars"); + } + if (countCodePoints(value) > MAX_TITLE_CHARS) { + throw new IllegalArgumentException("channel_meta_title_too_long"); + } + } + + private static int countCodePoints(String value) { + return String.valueOf(value == null ? "" : value).codePointCount(0, String.valueOf(value == null ? "" : value).length()); + } + + private record Avatar(String ar, String sha256, long size) {} + + public record Parsed(String title, String description, String avaAr, String avaSha256, long avaSize) {} +} diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index 1b7ca2df..04f6329b 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -23,8 +23,6 @@ final class ChannelsReadSupport { static final int MSG_TYPE_REACTION = 2; static final int MSG_TYPE_TECH = 0; static final String STORIES_CHANNEL_NAME = "stories"; - static final String COMMAND_PREFIX = "/."; - static final String COMMAND_DESC = "desc"; static final String COMMAND_ADD = "add"; static final String COMMAND_REMOVE = "remove"; @@ -47,11 +45,40 @@ final class ChannelsReadSupport { if (rootNumber == 0) { meta.channelName = STORIES_CHANNEL_NAME; - meta.channelDescription = detectLatestDescriptionCommand(c, ownerBch, 0); + meta.displayName = STORIES_CHANNEL_NAME; + meta.channelDescription = ""; meta.channelTypeCode = CreateChannelBody.CHANNEL_TYPE_STORIES & 0xFFFF; return meta; } + String stateSql = """ + SELECT slug, display_name, channel_description, channel_type_code, channel_type_version, + ava_ar, ava_sha256, ava_size, meta_updated_at_ms + FROM channel_names_state + WHERE owner_bch_name = ? AND channel_root_block_number = ? + LIMIT 1 + """; + try (PreparedStatement ps = c.prepareStatement(stateSql)) { + ps.setString(1, ownerBch); + ps.setInt(2, rootNumber); + try (ResultSet rs = ps.executeQuery()) { + if (rs.next()) { + meta.channelName = rs.getString("slug"); + meta.displayName = rs.getString("display_name"); + meta.channelDescription = String.valueOf(rs.getString("channel_description") == null ? "" : rs.getString("channel_description")); + meta.channelTypeCode = rs.getInt("channel_type_code"); + meta.channelTypeVersion = rs.getInt("channel_type_version"); + meta.avaAr = String.valueOf(rs.getString("ava_ar") == null ? "" : rs.getString("ava_ar")); + meta.avaSha256 = String.valueOf(rs.getString("ava_sha256") == null ? "" : rs.getString("ava_sha256")); + meta.avaSize = rs.getLong("ava_size"); + meta.metaUpdatedAtMs = rs.getLong("meta_updated_at_ms"); + return meta; + } + } + } catch (SQLException ignored) { + // fallback ниже для окружений до миграции. + } + String sql = "SELECT block_bytes FROM blocks WHERE bch_name=? AND block_number=? LIMIT 1"; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, ownerBch); @@ -68,21 +95,20 @@ final class ChannelsReadSupport { BodyRecord body = e.body; if (body instanceof CreateChannelBody ccb) { meta.channelName = ccb.channelName; + meta.displayName = ccb.channelName; meta.channelDescription = ccb.channelDescription == null ? "" : ccb.channelDescription; meta.channelTypeCode = Short.toUnsignedInt(ccb.channelTypeCode); meta.channelTypeVersion = Short.toUnsignedInt(ccb.channelTypeVersion); } else { meta.channelName = null; + meta.displayName = null; meta.channelDescription = ""; meta.channelTypeCode = CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF; } - String updatedDescription = detectLatestDescriptionCommand(c, ownerBch, rootNumber); - if (updatedDescription != null) { - meta.channelDescription = updatedDescription; - } return meta; } catch (Exception ignored) { meta.channelName = null; + meta.displayName = null; meta.channelDescription = ""; meta.channelTypeCode = CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF; return meta; @@ -106,7 +132,7 @@ final class ChannelsReadSupport { static PostBlock loadLastPost(Connection c, String ownerBch, int lineCode) throws SQLException { String sql = """ - SELECT login,bch_name,block_number,block_hash,block_bytes + SELECT login,bch_name,block_number,block_hash,block_bytes,this_line_number FROM blocks WHERE bch_name=? AND msg_type=? AND msg_sub_type IN (?, ?) AND line_code=? ORDER BY block_number DESC @@ -270,8 +296,7 @@ final class ChannelsReadSupport { static String detectChannelDescription(Connection c, String ownerBch, int rootNumber) throws SQLException { if (rootNumber == 0) { - String fromCommand = detectLatestDescriptionCommand(c, ownerBch, 0); - return fromCommand == null ? "" : fromCommand; + return ""; } // Preferred source: persisted state (fast path, works for CreateChannelBody v2). @@ -287,8 +312,7 @@ final class ChannelsReadSupport { try (ResultSet rs = ps.executeQuery()) { if (rs.next()) { String saved = String.valueOf(rs.getString("channel_description") == null ? "" : rs.getString("channel_description")); - String fromCommand = detectLatestDescriptionCommand(c, ownerBch, rootNumber); - return fromCommand == null ? saved : fromCommand; + return saved; } } } catch (SQLException ignored) { @@ -306,8 +330,6 @@ final class ChannelsReadSupport { BchBlockEntry e = new BchBlockEntry(bytes); BodyRecord body = e.body; if (body instanceof CreateChannelBody ccb) { - String fromCommand = detectLatestDescriptionCommand(c, ownerBch, rootNumber); - if (fromCommand != null) return fromCommand; return ccb.channelDescription == null ? "" : ccb.channelDescription; } return ""; @@ -363,45 +385,90 @@ final class ChannelsReadSupport { return meta.channelTypeVersion; } - static String detectLatestDescriptionCommand(Connection c, String ownerBch, int lineCode) throws SQLException { - String sql = """ - SELECT block_bytes + static List<MetaEvent> channelMetaEvents(Connection c, String ownerBch, int lineCode) throws SQLException { + List<MetaEvent> out = new ArrayList<>(); + if (lineCode <= 0) return out; + ChannelMeta base = detectChannelMeta(c, ownerBch, lineCode); + String rootSql = """ + SELECT login,bch_name,block_number,block_hash,block_bytes FROM blocks - WHERE bch_name=? AND msg_type=? AND msg_sub_type IN (?, ?) AND line_code=? - ORDER BY block_number DESC - LIMIT 300 + WHERE bch_name=? AND msg_type=? AND msg_sub_type=? AND block_number=? + LIMIT 1 + """; + try (PreparedStatement ps = c.prepareStatement(rootSql)) { + ps.setString(1, ownerBch); + ps.setInt(2, MSG_TYPE_TECH); + ps.setInt(3, 1); + ps.setInt(4, lineCode); + try (ResultSet rs = ps.executeQuery()) { + if (rs.next()) { + MetaEvent event = new MetaEvent(); + event.kind = "created"; + event.login = rs.getString("login"); + event.bchName = rs.getString("bch_name"); + event.blockNumber = rs.getInt("block_number"); + event.blockHash = rs.getBytes("block_hash"); + event.lineStep = (Integer) rs.getObject("this_line_number"); + try { + BchBlockEntry entry = new BchBlockEntry(rs.getBytes("block_bytes")); + event.createdAtMs = entry.timestamp * 1000L; + if (entry.body instanceof CreateChannelBody ccb) { + event.title = ccb.channelName; + event.description = ccb.channelDescription == null ? "" : ccb.channelDescription; + } + } catch (Exception ignored) { + event.createdAtMs = 0L; + } + if (event.title == null || event.title.isBlank()) { + event.title = base.displayName == null || base.displayName.isBlank() ? base.channelName : base.displayName; + } + if (event.description == null) event.description = ""; + event.avaAr = ""; + event.avaSha256 = ""; + event.avaSize = 0L; + out.add(event); + } + } + } + + String sql = """ + SELECT login,bch_name,block_number,block_hash,block_bytes,this_line_number + FROM blocks + WHERE bch_name=? AND msg_type=? AND msg_sub_type=? AND line_code=? + ORDER BY block_number ASC """; try (PreparedStatement ps = c.prepareStatement(sql)) { ps.setString(1, ownerBch); ps.setInt(2, MSG_TYPE_TEXT); - ps.setInt(3, MsgSubType.TEXT_POST); - ps.setInt(4, MsgSubType.TEXT_REPOST); - ps.setInt(5, lineCode); + ps.setInt(3, MsgSubType.TEXT_CHANNEL_META); + ps.setInt(4, lineCode); try (ResultSet rs = ps.executeQuery()) { while (rs.next()) { - TextInfo info = parseTextAndTime(rs.getBytes("block_bytes")); - CommandInfo commandInfo = parseCommandText(info.text); - if (commandInfo != null && COMMAND_DESC.equals(commandInfo.command)) { - return commandInfo.arg; + byte[] bytes = rs.getBytes("block_bytes"); + TextInfo info = parseTextAndTime(bytes); + try { + ChannelMetaTextParser.Parsed parsed = ChannelMetaTextParser.parseStrict(info.text, base.channelName); + MetaEvent event = new MetaEvent(); + event.kind = "profile_updated"; + event.login = rs.getString("login"); + event.bchName = rs.getString("bch_name"); + event.blockNumber = rs.getInt("block_number"); + event.blockHash = rs.getBytes("block_hash"); + event.lineStep = (Integer) rs.getObject("this_line_number"); + event.createdAtMs = info.createdAtMs; + event.title = parsed.title(); + event.description = parsed.description(); + event.avaAr = parsed.avaAr(); + event.avaSha256 = parsed.avaSha256(); + event.avaSize = parsed.avaSize(); + out.add(event); + } catch (Exception ignored) { + // Невалидный meta-блок не участвует в системной истории UI. } } } } - return null; - } - - static CommandInfo parseCommandText(String text) { - String value = String.valueOf(text == null ? "" : text).trim(); - if (!value.startsWith(COMMAND_PREFIX)) return null; - - String raw = value.substring(COMMAND_PREFIX.length()).trim(); - if (raw.isEmpty()) return null; - - int sp = raw.indexOf(' '); - String cmd = (sp < 0 ? raw : raw.substring(0, sp)).trim().toLowerCase(); - String arg = sp < 0 ? "" : raw.substring(sp + 1).trim(); - if (cmd.isEmpty()) return null; - return new CommandInfo(cmd, arg); + return out; } static PairChannelSelector findPersonalPairChannel(Connection c, String ownerLogin, String partnerLogin) throws SQLException { @@ -526,19 +593,29 @@ final class ChannelsReadSupport { static final class ChannelMeta { String channelName; + String displayName; String channelDescription; int channelTypeCode; int channelTypeVersion; + String avaAr = ""; + String avaSha256 = ""; + long avaSize = 0L; + long metaUpdatedAtMs = 0L; } - static final class CommandInfo { - final String command; - final String arg; - - CommandInfo(String command, String arg) { - this.command = command; - this.arg = arg; - } + static final class MetaEvent { + String kind; + String login; + String bchName; + int blockNumber; + byte[] blockHash; + Integer lineStep; + long createdAtMs; + String title; + String description; + String avaAr; + String avaSha256; + long avaSize; } static final class PairChannelSelector { diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java index a4301417..9a882ea4 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_GetChannelMessages_Handler.java @@ -57,7 +57,12 @@ public class Net_GetChannelMessages_Handler implements JsonMessageHandler { channel.setOwnerLogin(BlockchainNameUtil.loginFromBlockchainName(ownerBch)); ChannelsReadSupport.ChannelMeta meta = ChannelsReadSupport.detectChannelMeta(c, ownerBch, lineCode); channel.setChannelName(meta.channelName); + channel.setDisplayName(meta.displayName == null || meta.displayName.isBlank() ? meta.channelName : meta.displayName); channel.setChannelDescription(meta.channelDescription); + channel.setAvaAr(meta.avaAr); + channel.setAvaSha256(meta.avaSha256); + channel.setAvaSize(meta.avaSize); + channel.setMetaUpdatedAtMs(meta.metaUpdatedAtMs); channel.setChannelTypeCode(meta.channelTypeCode); channel.setChannelTypeVersion(meta.channelTypeVersion); Net_GetChannelMessages_Response.BlockRef rootRef = new Net_GetChannelMessages_Response.BlockRef(); @@ -66,6 +71,27 @@ public class Net_GetChannelMessages_Handler implements JsonMessageHandler { channel.setChannelRoot(rootRef); resp.setChannel(channel); + List<Net_GetChannelMessages_Response.ChannelMetaEvent> metaEvents = new ArrayList<>(); + for (ChannelsReadSupport.MetaEvent event : ChannelsReadSupport.channelMetaEvents(c, ownerBch, lineCode)) { + Net_GetChannelMessages_Response.ChannelMetaEvent outEvent = new Net_GetChannelMessages_Response.ChannelMetaEvent(); + outEvent.setKind(event.kind); + Net_GetChannelMessages_Response.BlockRef eventRef = new Net_GetChannelMessages_Response.BlockRef(); + eventRef.setBlockNumber(event.blockNumber); + eventRef.setBlockHash(ChannelsReadSupport.toHex(event.blockHash)); + outEvent.setMessageRef(eventRef); + outEvent.setAuthorLogin(event.login); + outEvent.setAuthorBlockchainName(event.bchName); + outEvent.setLineStep(event.lineStep); + outEvent.setCreatedAtMs(event.createdAtMs); + outEvent.setTitle(event.title); + outEvent.setDescription(event.description); + outEvent.setAvaAr(event.avaAr); + outEvent.setAvaSha256(event.avaSha256); + outEvent.setAvaSize(event.avaSize); + metaEvents.add(outEvent); + } + resp.setMetaEvents(metaEvents); + List<ChannelsReadSupport.PostBlock> posts = new ArrayList<>( ChannelsReadSupport.channelPosts(c, ownerBch, lineCode, limit, asc) ); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java index 23ac1763..2874e982 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/Net_ListSubscriptionsFeed_Handler.java @@ -65,7 +65,12 @@ public class Net_ListSubscriptionsFeed_Handler implements JsonMessageHandler { channelRef.setOwnerLogin(key.ownerLogin); channelRef.setOwnerBlockchainName(key.ownerBch); channelRef.setChannelName(meta.channelName); + channelRef.setDisplayName(meta.displayName == null || meta.displayName.isBlank() ? meta.channelName : meta.displayName); channelRef.setChannelDescription(meta.channelDescription); + channelRef.setAvaAr(meta.avaAr); + channelRef.setAvaSha256(meta.avaSha256); + channelRef.setAvaSize(meta.avaSize); + channelRef.setMetaUpdatedAtMs(meta.metaUpdatedAtMs); channelRef.setChannelTypeCode(meta.channelTypeCode); channelRef.setChannelTypeVersion(meta.channelTypeVersion); channelRef.setPersonal(meta.channelTypeCode == 100); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_GetChannelMessages_Response.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_GetChannelMessages_Response.java index eeb95c25..9c1a80ff 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_GetChannelMessages_Response.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_GetChannelMessages_Response.java @@ -8,6 +8,7 @@ import java.util.List; public class Net_GetChannelMessages_Response extends Net_Response { private Channel channel; private List<MessageItem> messages = new ArrayList<>(); + private List<ChannelMetaEvent> metaEvents = new ArrayList<>(); public Channel getChannel() { return channel; } public void setChannel(Channel channel) { this.channel = channel; } @@ -15,12 +16,20 @@ public class Net_GetChannelMessages_Response extends Net_Response { public List<MessageItem> getMessages() { return messages; } public void setMessages(List<MessageItem> messages) { this.messages = messages; } + public List<ChannelMetaEvent> getMetaEvents() { return metaEvents; } + public void setMetaEvents(List<ChannelMetaEvent> metaEvents) { this.metaEvents = metaEvents; } + public static class Channel { private String ownerLogin; private String ownerBlockchainName; private String channelName; + private String displayName; private String channelDescription; + private String avaAr; + private String avaSha256; + private Long avaSize; + private Long metaUpdatedAtMs; private Integer channelTypeCode; private Integer channelTypeVersion; private BlockRef channelRoot; @@ -34,9 +43,24 @@ public class Net_GetChannelMessages_Response extends Net_Response { public String getChannelName() { return channelName; } public void setChannelName(String channelName) { this.channelName = channelName; } + public String getDisplayName() { return displayName; } + public void setDisplayName(String displayName) { this.displayName = displayName; } + public String getChannelDescription() { return channelDescription; } public void setChannelDescription(String channelDescription) { this.channelDescription = channelDescription; } + public String getAvaAr() { return avaAr; } + public void setAvaAr(String avaAr) { this.avaAr = avaAr; } + + public String getAvaSha256() { return avaSha256; } + public void setAvaSha256(String avaSha256) { this.avaSha256 = avaSha256; } + + public Long getAvaSize() { return avaSize; } + public void setAvaSize(Long avaSize) { this.avaSize = avaSize; } + + public Long getMetaUpdatedAtMs() { return metaUpdatedAtMs; } + public void setMetaUpdatedAtMs(Long metaUpdatedAtMs) { this.metaUpdatedAtMs = metaUpdatedAtMs; } + public Integer getChannelTypeCode() { return channelTypeCode; } public void setChannelTypeCode(Integer channelTypeCode) { this.channelTypeCode = channelTypeCode; } @@ -47,6 +71,53 @@ public class Net_GetChannelMessages_Response extends Net_Response { public void setChannelRoot(BlockRef channelRoot) { this.channelRoot = channelRoot; } } + public static class ChannelMetaEvent { + private String kind; + private BlockRef messageRef; + private String authorLogin; + private String authorBlockchainName; + private Integer lineStep; + private long createdAtMs; + private String title; + private String description; + private String avaAr; + private String avaSha256; + private Long avaSize; + + public String getKind() { return kind; } + public void setKind(String kind) { this.kind = kind; } + + public BlockRef getMessageRef() { return messageRef; } + public void setMessageRef(BlockRef messageRef) { this.messageRef = messageRef; } + + public String getAuthorLogin() { return authorLogin; } + public void setAuthorLogin(String authorLogin) { this.authorLogin = authorLogin; } + + public String getAuthorBlockchainName() { return authorBlockchainName; } + public void setAuthorBlockchainName(String authorBlockchainName) { this.authorBlockchainName = authorBlockchainName; } + + public Integer getLineStep() { return lineStep; } + public void setLineStep(Integer lineStep) { this.lineStep = lineStep; } + + public long getCreatedAtMs() { return createdAtMs; } + public void setCreatedAtMs(long createdAtMs) { this.createdAtMs = createdAtMs; } + + public String getTitle() { return title; } + public void setTitle(String title) { this.title = title; } + + public String getDescription() { return description; } + public void setDescription(String description) { this.description = description; } + + public String getAvaAr() { return avaAr; } + public void setAvaAr(String avaAr) { this.avaAr = avaAr; } + + public String getAvaSha256() { return avaSha256; } + public void setAvaSha256(String avaSha256) { this.avaSha256 = avaSha256; } + + public Long getAvaSize() { return avaSize; } + public void setAvaSize(Long avaSize) { this.avaSize = avaSize; } + } + public static class MessageItem { private BlockRef messageRef; private Integer msgSubType; diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_ListSubscriptionsFeed_Response.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_ListSubscriptionsFeed_Response.java index 0d30472c..2c1651ac 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_ListSubscriptionsFeed_Response.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/entyties/Net_ListSubscriptionsFeed_Response.java @@ -46,7 +46,12 @@ public class Net_ListSubscriptionsFeed_Response extends Net_Response { private String ownerLogin; private String ownerBlockchainName; private String channelName; + private String displayName; private String channelDescription; + private String avaAr; + private String avaSha256; + private Long avaSize; + private Long metaUpdatedAtMs; private Integer channelTypeCode; private Integer channelTypeVersion; private boolean personal; @@ -61,9 +66,24 @@ public class Net_ListSubscriptionsFeed_Response extends Net_Response { public String getChannelName() { return channelName; } public void setChannelName(String channelName) { this.channelName = channelName; } + public String getDisplayName() { return displayName; } + public void setDisplayName(String displayName) { this.displayName = displayName; } + public String getChannelDescription() { return channelDescription; } public void setChannelDescription(String channelDescription) { this.channelDescription = channelDescription; } + public String getAvaAr() { return avaAr; } + public void setAvaAr(String avaAr) { this.avaAr = avaAr; } + + public String getAvaSha256() { return avaSha256; } + public void setAvaSha256(String avaSha256) { this.avaSha256 = avaSha256; } + + public Long getAvaSize() { return avaSize; } + public void setAvaSize(Long avaSize) { this.avaSize = avaSize; } + + public Long getMetaUpdatedAtMs() { return metaUpdatedAtMs; } + public void setMetaUpdatedAtMs(Long metaUpdatedAtMs) { this.metaUpdatedAtMs = metaUpdatedAtMs; } + public Integer getChannelTypeCode() { return channelTypeCode; } public void setChannelTypeCode(Integer channelTypeCode) { this.channelTypeCode = channelTypeCode; } diff --git a/VERSION.properties b/VERSION.properties index c50c7117..550b0ab3 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.10 -server.version=1.4.0 +client.version=1.4.11 +server.version=1.4.1 diff --git a/docs/API/04_Add_Block_to_Blockchain_API.md b/docs/API/04_Add_Block_to_Blockchain_API.md index b0ec501e..18975a49 100644 --- a/docs/API/04_Add_Block_to_Blockchain_API.md +++ b/docs/API/04_Add_Block_to_Blockchain_API.md @@ -88,6 +88,7 @@ - `limit_exceeded` - `chain_resync_in_progress` — цепочка временно заблокирована полным resync - `repost_disabled` — репосты временно отключены до будущей реализации +- `bad_channel_meta_line`, `channel_not_found`, `bad_channel_meta_*`, `channel_meta_*_too_long` — ошибки `TEXT_CHANNEL_META` - `internal_error` ## 5. Какие блоки реально можно добавлять через `AddBlock` @@ -104,6 +105,7 @@ - `TEXT_REPLY (20)` - `TEXT_EDIT_REPLY (21)` - `TEXT_REPOST (30)` — формат зарезервирован, но новые блоки временно отклоняются с `repost_disabled` + - `TEXT_CHANNEL_META (70)` — скрытый технический снимок профиля канала 3. **REACTION (type=2)** - `REACTION_LIKE (1)` diff --git a/docs/API/06_Channels_Read_API.md b/docs/API/06_Channels_Read_API.md index 6008cc59..ad6c30d3 100644 --- a/docs/API/06_Channels_Read_API.md +++ b/docs/API/06_Channels_Read_API.md @@ -53,6 +53,12 @@ "ownerLogin": "Alice", "ownerBlockchainName": "alice-001", "channelName": "0", + "displayName": "Мой канал", + "channelDescription": "Короткое описание", + "avaAr": "ArweaveTxId...", + "avaSha256": "0123...", + "avaSize": 248193, + "metaUpdatedAtMs": 1760000000000, "personal": true, "channelRoot": { "blockNumber": 0, "blockHash": "..." } }, @@ -141,8 +147,42 @@ "ownerLogin": "Bob", "ownerBlockchainName": "bob-001", "channelName": "news", + "displayName": "Новости Bob", + "channelDescription": "Канал о новостях", + "avaAr": "ArweaveTxId...", + "avaSha256": "0123...", + "avaSize": 248193, + "metaUpdatedAtMs": 1760000000000, "channelRoot": { "blockNumber": 123, "blockHash": "..." } }, + "metaEvents": [ + { + "kind": "created", + "messageRef": { "blockNumber": 123, "blockHash": "..." }, + "authorLogin": "Bob", + "authorBlockchainName": "bob-001", + "lineStep": 1, + "createdAtMs": 1760000000000, + "title": "news", + "description": "", + "avaAr": "", + "avaSha256": "", + "avaSize": 0 + }, + { + "kind": "profile_updated", + "messageRef": { "blockNumber": 130, "blockHash": "..." }, + "authorLogin": "Bob", + "authorBlockchainName": "bob-001", + "lineStep": 2, + "createdAtMs": 1760000500000, + "title": "Новости Bob", + "description": "Канал о новостях", + "avaAr": "ArweaveTxId...", + "avaSha256": "0123...", + "avaSize": 248193 + } + ], "messages": [ { "messageRef": { "blockNumber": 140, "blockHash": "..." }, diff --git a/docs/Blockchain/02_Channel_Commands.md b/docs/Blockchain/02_Channel_Commands.md index 2fe6c3be..417040f9 100644 --- a/docs/Blockchain/02_Channel_Commands.md +++ b/docs/Blockchain/02_Channel_Commands.md @@ -1,33 +1,19 @@ # Командные сообщения каналов -## 1. Общий префикс -Командные сообщения распознаются по префиксу: +Команды в обычных `TEXT_POST` сообщениях каналов больше не используются для изменения профиля канала. -`/.` +## Удалённая команда `/.desc` -Пример: -- `/.desc Новый комментарий канала` +Команда `/.desc <text>` больше не поддерживается и не применяется сервером. -## 2. Поддерживаемые команды +Описание, человекочитаемое имя и аватар канала меняются только через скрытый технический блок: -### Для всех типов каналов (`0`, `1`, `100`, `200`) -- `/.desc <text>` — смена описания канала. +- `msg_type=1` +- `subType=70` +- `TEXT_CHANNEL_META` -Примечание: -- Описание канала в чтении определяется последней командой `/.desc` в линии канала. -- Если `/.desc` не было, используется описание из `CreateChannel`. +Спецификация: [16_TEXT_Channel_Meta.md](./16_TEXT_Channel_Meta.md). -### Дополнительно для `type=200` -- `/.add <login> <channelName>` -- `/.remove <login> <channelName>` +## Зарезервированные команды type=200 -Формат аргументов фиксирован: через пробел. - -## 3. Текущая модель применения -- Команды передаются как обычные `TEXT_POST` сообщения. -- Сервер уже применяет `/.desc` при вычислении актуального описания канала. -- Команды `/.add` и `/.remove` зарезервированы под расширенную модель участников `type=200` на уровне UI/агрегации. - -## 4. Статус для MVP -- В текущем UI каналы `type=100` и `type=200` не используются. -- Соответственно, `/.add` и `/.remove` считаются запланированными и пока не участвуют в рабочем UI-сценарии. +Команды `/.add` и `/.remove` для групповых каналов `type=200` остаются зарезервированными для будущей модели участников. В обычном UI текущего этапа они не используются. diff --git a/docs/Blockchain/11_TEXT_Blocks.md b/docs/Blockchain/11_TEXT_Blocks.md index 564451cd..6c4dca05 100644 --- a/docs/Blockchain/11_TEXT_Blocks.md +++ b/docs/Blockchain/11_TEXT_Blocks.md @@ -27,6 +27,14 @@ TEXT-тип хранит сообщения и редактирования. - на текущем этапе продуктовой логики репост не редактируется (версии не накапливаются); - временно отключён для записи через `AddBlock` до будущей реализации репостов. +6. `subType=70` — `TEXT_CHANNEL_META` + - скрытый технический снимок профиля канала; + - содержит line-поля + текст с тегами `SHiNE:title`/`SHiNE:avatar` и описанием; + - не отображается как обычное сообщение ленты; + - применяется сервером к текущему состоянию канала. + +Подробная спецификация: [16_TEXT_Channel_Meta.md](./16_TEXT_Channel_Meta.md). + ## Правило для edit `EDIT_POST` и `EDIT_REPLY` должны ссылаться на **оригинальный** блок, а не на предыдущий edit. diff --git a/docs/Blockchain/16_TEXT_Channel_Meta.md b/docs/Blockchain/16_TEXT_Channel_Meta.md new file mode 100644 index 00000000..c5566831 --- /dev/null +++ b/docs/Blockchain/16_TEXT_Channel_Meta.md @@ -0,0 +1,59 @@ +# TEXT_CHANNEL_META: профиль канала + +`TEXT_CHANNEL_META` — скрытый технический `TEXT`-блок для полного снимка профиля канала. + +## Блок + +- `msg_type = 1` +- `subType = 70` +- `msgVersion = 1` +- body использует тот же бинарный формат line-текста, что и `TEXT_POST`: line-поля + `textLen` + UTF-8 текст. + +Блок пишется только в линию канала владельца. В обычной ленте сообщений он не отображается как пользовательский пост. + +## Текстовый формат + +В начале текста могут идти технические теги, после них обычный текст описания: + +```text +<SHiNE:title;v=1;Название канала> +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8a...;ar=AbCdEf...> +Описание канала. +``` + +Поддерживаемые теги: + +- `<SHiNE:title;v=1;...>` — человекочитаемое имя канала. +- `<SHiNE:avatar;v=1;size=...;sha256=...;ar=...>` — аватар канала в Arweave. + +## Правила + +- Каждый `TEXT_CHANNEL_META` задаёт полный снимок состояния профиля канала. +- Старые meta-блоки остаются в блокчейне как история, но текущее состояние берётся из последнего валидного meta-блока. +- Если `title` отсутствует, используется техническое имя канала. +- Если `avatar` отсутствует, аватар считается сброшенным. +- Если описание после тегов отсутствует, описание считается пустым. +- `meta_updated_at_ms` равен времени самого валидного meta-блока. + +## Ограничения + +- Длина `title` — максимум 50 Unicode code points. +- В `title` запрещены `<`, `>`, `;`, табуляция, перевод строки и `\0`. +- Длина описания — максимум 250 Unicode code points. +- `avatar.ar` — Arweave transaction id из 43 символов. +- `avatar.sha256` — 64 hex-символа. +- `avatar.size` — положительный размер файла в байтах. + +Если meta-блок невалиден, сервер не применяет его целиком. + +## UI + +- При создании канала UI может сразу после `TECH_CREATE_CHANNEL` записать первый `TEXT_CHANNEL_META` с человекочитаемым именем, аватаром и описанием. +- При создании канала UI показывает системную карточку `Создан канал ...`. +- При записи `TEXT_CHANNEL_META` UI показывает системную карточку `Изменён профиль канала`. +- У системных карточек нет лайка, ответа, репоста, редактирования и других действий обычного сообщения. +- По клику на системную карточку показываются аватар, человекочитаемое имя и описание на момент этого события. + +## Замена старых команд + +Команда `/.desc` больше не используется и не применяется сервером. Описание канала меняется только через `TEXT_CHANNEL_META`. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index ff8fdd64..2b3ab6d7 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -113,6 +113,14 @@ - В `11_TEXT_Blocks.md` зафиксировано, что запись `TEXT_REPOST` временно не используется до будущей реализации. - В `docs/API/04_Add_Block_to_Blockchain_API.md` добавлен код отказа `repost_disabled`. +## 2026-08-01 01:45:29 +0400 +- Базовый коммит-ориентир: `24afcba`. +- Добавлен новый `TEXT`-подтип `TEXT_CHANNEL_META (subType=70)` для скрытого технического снимка профиля канала. +- Зафиксирован формат тегов `<SHiNE:title;v=1;...>` и `<SHiNE:avatar;v=1;size=...;sha256=...;ar=...>`; описание хранится хвостовым UTF-8 текстом. +- UI создания канала может сразу после `TECH_CREATE_CHANNEL` записать первый `TEXT_CHANNEL_META` с человекочитаемым именем, описанием и аватаром. +- Команда `/.desc` удалена из актуальной модели изменения описания канала; профиль канала меняется только через `TEXT_CHANNEL_META`. +- API чтения каналов расширен полями `displayName`, `avaAr`, `avaSha256`, `avaSize`, `metaUpdatedAtMs` и списком `metaEvents`. + ## 2026-07-31 17:40:31 +0400 - Базовый коммит-ориентир: `d640dd6`. - Формат блокчейна не менялся. diff --git a/docs/Blockchain/README.md b/docs/Blockchain/README.md index 3e4ef7de..bce27443 100644 --- a/docs/Blockchain/README.md +++ b/docs/Blockchain/README.md @@ -19,11 +19,13 @@ Параметры пользователя (`msg_type=4`). 8. [15_TEXT_Attachments.md](./15_TEXT_Attachments.md) Вложения в TEXT-сообщениях через `SHiNE:attach v=1`. -9. [01_Channel_Types_and_CreateChannel.md](./01_Channel_Types_and_CreateChannel.md) +9. [16_TEXT_Channel_Meta.md](./16_TEXT_Channel_Meta.md) + Скрытый `TEXT_CHANNEL_META` для профиля канала. +10. [01_Channel_Types_and_CreateChannel.md](./01_Channel_Types_and_CreateChannel.md) Типы каналов и формат `CreateChannelBody`. -10. [02_Channel_Commands.md](./02_Channel_Commands.md) +11. [02_Channel_Commands.md](./02_Channel_Commands.md) Команды в текстовых сообщениях каналов. -11. [CHANGELOG.md](./CHANGELOG.md) +12. [CHANGELOG.md](./CHANGELOG.md) Журнал изменений документации. ## Смежная документация diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index e9d44581..70a4ba42 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -16,8 +16,10 @@ const RECENT_UPLOAD_MS = 20 * 60 * 1000; function normalizeHistoryItem(input = {}) { const item = normalizeAttachment(input); const placedInShineAtMs = Number(input.placedInShineAtMs || 0) || 0; + const purpose = String(input.purpose || '').trim() === 'avatar' ? 'avatar' : 'attachment'; return { ...item, + purpose, pendingPlacement: input.pendingPlacement === true && !placedInShineAtMs, placedInShineAtMs, }; @@ -133,6 +135,36 @@ function shortAddress(value) { return `${raw.slice(0, 8)}...${raw.slice(-6)}`; } +async function resizeImageFileToAvatar(file) { + const source = file instanceof File ? file : null; + if (!source) throw new Error('Выберите изображение.'); + const dataUrl = await new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(String(reader.result || '')); + reader.onerror = () => reject(new Error('Не удалось прочитать изображение.')); + reader.readAsDataURL(source); + }); + const image = await new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = () => reject(new Error('Не удалось открыть изображение.')); + img.src = dataUrl; + }); + const side = Math.min(image.naturalWidth || image.width, image.naturalHeight || image.height); + if (!side || side <= 0) throw new Error('Некорректный размер изображения.'); + const canvas = document.createElement('canvas'); + canvas.width = 512; + canvas.height = 512; + const ctx = canvas.getContext('2d'); + if (!ctx) throw new Error('Canvas недоступен.'); + const sx = Math.max(0, ((image.naturalWidth || image.width) - side) / 2); + const sy = Math.max(0, ((image.naturalHeight || image.height) - side) / 2); + ctx.drawImage(image, sx, sy, side, side, 0, 0, 512, 512); + const blob = await new Promise((resolve) => canvas.toBlob(resolve, 'image/jpeg', 0.9)); + if (!blob) throw new Error('Не удалось сжать аватар.'); + return new File([blob], 'avatar.jpg', { type: 'image/jpeg', lastModified: Date.now() }); +} + export function openArweaveAttachmentManager({ login, storagePwd, @@ -140,6 +172,8 @@ export function openArweaveAttachmentManager({ onSelect, selectedTxIds = [], historyOnly = false, + mode = 'attachment', + historyPurpose = '', } = {}) { const cleanLogin = String(login || '').trim(); const cleanStoragePwd = String(storagePwd || '').trim(); @@ -158,6 +192,8 @@ export function openArweaveAttachmentManager({ let priceInfo = null; let balanceInfo = null; let autoOpenedFileDialog = false; + const isAvatarMode = String(mode || '') === 'avatar'; + const purposeFilter = isAvatarMode || String(historyPurpose || '').trim() === 'avatar' ? 'avatar' : ''; const selectedTxIdSet = new Set((Array.isArray(selectedTxIds) ? selectedTxIds : []).map((item) => String(item || '').trim()).filter(Boolean)); function selectedWallet() { @@ -207,18 +243,18 @@ export function openArweaveAttachmentManager({ root.innerHTML = ` <div class="modal" data-ar-attach-modal="true"> <div class="modal-card stack ar-attachment-manager-card"> - <h3 class="modal-title">${historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение'}</h3> + <h3 class="modal-title">${isAvatarMode ? 'Загрузить аватар' : (historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение')}</h3> <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> <select class="input" id="ar-attach-wallet"></select> <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> - ${historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>'} + ${isAvatarMode ? '<p class="meta-muted">Выберите изображение. Перед загрузкой оно будет сжато до 512×512 и сохранено в истории как аватар.</p>' : (historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>')} <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> - <input class="input" id="ar-attach-file" type="file" /> + <input class="input" id="ar-attach-file" type="file" ${isAvatarMode ? 'accept="image/*"' : ''} /> <div class="ar-attachment-meta" data-meta="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> - ${historyOnly ? '' : '<button class="secondary-btn" type="button" data-action="existing">Ввести txId</button>'} - ${historyOnly ? '' : '<button class="secondary-btn" type="button" data-action="history">История загрузок</button>'} + ${historyOnly || isAvatarMode ? '' : '<button class="secondary-btn" type="button" data-action="existing">Ввести txId</button>'} + ${historyOnly ? '' : `<button class="secondary-btn" type="button" data-action="history">${isAvatarMode ? 'История аватаров' : 'История загрузок'}</button>`} <button class="primary-btn" type="button" data-action="upload" disabled>${historyOnly ? 'Загрузить в журнал' : 'Загрузить'}</button> </div> <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> @@ -266,13 +302,19 @@ export function openArweaveAttachmentManager({ try { const wallet = selectedWallet(); if (!wallet?.address) throw new Error('Выберите Arweave-кошелёк.'); + if (isAvatarMode && !String(selectedFile.type || '').startsWith('image/')) { + throw new Error('Для аватара можно выбрать только изображение.'); + } + if (isAvatarMode) { + selectedFile = await resizeImageFileToAvatar(selectedFile); + } const buffer = await selectedFile.arrayBuffer(); selectedSha256 = await sha256HexFromArrayBuffer(buffer); priceInfo = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedFile.size }); balanceInfo = await getArweaveBalance({ gateway: cleanGateway, address: wallet.address }); const hasFunds = BigInt(balanceInfo.winston) >= BigInt(priceInfo.winston); metaEl.innerHTML = ` - <div>Имя: ${escapeHtml(selectedFile.name || 'file')}</div> + ${isAvatarMode ? '' : `<div>Имя: ${escapeHtml(selectedFile.name || 'file')}</div>`} <div>Размер: ${escapeHtml(formatBytes(selectedFile.size))}</div> <div>SHA-256: ${escapeHtml(selectedSha256)}</div> <div>Цена: ${escapeHtml(Number(priceInfo.ar).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> @@ -305,19 +347,20 @@ export function openArweaveAttachmentManager({ gateway: cleanGateway, jwk: wallet.jwk, file: selectedFile, - shineType: 'attachment', + shineType: isAvatarMode ? 'avatar' : 'attachment', tags: [ { name: 'SHiNE-Login', value: cleanLogin }, - { name: 'SHiNE-Attachment-Name', value: selectedFile.name || 'file' }, + { name: isAvatarMode ? 'SHiNE-Avatar' : 'SHiNE-Attachment-Name', value: isAvatarMode ? '1' : (selectedFile.name || 'file') }, ], }); finish(resolve, { - name: selectedFile.name || 'file', + name: isAvatarMode ? 'Аватар' : (selectedFile.name || 'file'), size: selectedFile.size, sha256: selectedSha256, ar: uploaded.id, uploadedAtMs: Date.now(), - }, { pendingPlacement: historyOnly }); + purpose: isAvatarMode ? 'avatar' : 'attachment', + }, { pendingPlacement: historyOnly && !isAvatarMode }); } catch (error) { uploadBtn.disabled = false; setText(errorEl, error?.message || 'Не удалось загрузить файл в Arweave.'); @@ -394,7 +437,10 @@ export function openArweaveAttachmentManager({ }; const showHistory = () => { - const rows = readArweaveAttachmentHistory(cleanLogin).slice().reverse(); + const rows = readArweaveAttachmentHistory(cleanLogin) + .filter((item) => !purposeFilter || item.purpose === purposeFilter) + .slice() + .reverse(); root.innerHTML = ` <div class="modal" data-ar-attach-modal="true"> <div class="modal-card stack ar-attachment-manager-card ar-attachment-manager-card--wide"> @@ -405,7 +451,7 @@ export function openArweaveAttachmentManager({ const isSelected = selectedTxIdSet.has(item.ar); return ` <article class="ar-attachment-history-tile${isSelected ? ' is-selected' : ''}" data-history-tile="${index}"> - <strong class="ar-attachment-history-name">${escapeHtml(item.name)}</strong> + <strong class="ar-attachment-history-name">${escapeHtml(item.name)}${item.purpose === 'avatar' ? ' · аватар' : ''}</strong> <div class="ar-attachment-history-meta-row"> <span>${escapeHtml(formatBytes(item.size))}</span> <span>${escapeHtml(formatArweaveHistoryTime(item.uploadedAtMs))}</span> diff --git a/shine-UI/js/pages/add-channel-view.js b/shine-UI/js/pages/add-channel-view.js index a073aa3c..55795ee7 100644 --- a/shine-UI/js/pages/add-channel-view.js +++ b/shine-UI/js/pages/add-channel-view.js @@ -3,10 +3,11 @@ import { authService, state } from '../state.js'; import { toUserMessage } from '../services/ui-error-texts.js'; import { channelNameErrorText, - normalizeChannelDescription, normalizeChannelDisplayName, validateChannelDisplayName, } from '../services/channel-name-rules.js'; +import { openArweaveAttachmentManager, markArweaveAttachmentPlaced } from '../components/arweave-attachment-manager.js'; +import { buildArweaveDataUrl } from '../services/arweave-file-service.js'; export const pageMeta = { id: 'add-channel-view', title: 'Создать канал' }; @@ -21,13 +22,30 @@ function persistCreateSuccessFlash(message) { } } -function validateDescription(value) { - const normalized = normalizeChannelDescription(value); - const bytes = new TextEncoder().encode(normalized).length; - if (bytes > 200) { - return { ok: false, normalized, bytes, error: 'Описание слишком длинное: максимум 200 байт UTF-8.' }; +function normalizeMetaText(value, max, label) { + const normalized = String(value || '').trim(); + const length = Array.from(normalized).length; + if (length > max) { + return { ok: false, normalized, length, error: `${label}: максимум ${max} символов.` }; } - return { ok: true, normalized, bytes, error: '' }; + return { ok: true, normalized, length, error: '' }; +} + +function renderAvatarPreview(slot, avatar, title) { + if (!slot) return; + slot.innerHTML = ''; + const wrap = document.createElement('div'); + wrap.className = 'channel-profile-avatar'; + wrap.style.setProperty('--channel-avatar-size', '82px'); + if (avatar?.ar) { + const img = document.createElement('img'); + img.alt = 'Аватар канала'; + img.src = buildArweaveDataUrl({ gateway: state.entrySettings.arweaveServer, txId: avatar.ar }); + wrap.append(img); + } else { + wrap.textContent = String(title || 'К').trim().slice(0, 1).toUpperCase() || 'К'; + } + slot.append(wrap); } export function render({ navigate }) { @@ -50,13 +68,21 @@ export function render({ navigate }) { <p class="channel-head-meta">Можно использовать большие и маленькие буквы, но уникальность проверяется без учёта регистра.</p> <div class="meta-muted">Тип канала фиксирован: публичный (1).</div> - <label for="channel-name">Название канала</label> + <label for="channel-name">Техническое имя канала</label> <input id="channel-name" class="input" maxlength="32" placeholder="Например: My-Channel_1" required /> <div id="channel-name-error" class="meta-muted inline-error"></div> + <label for="channel-title">Человекочитаемое имя</label> + <input id="channel-title" class="input" maxlength="50" placeholder="Например: Мой красивый канал" /> + <div class="meta-muted" id="channel-title-counter">0 / 50 символов</div> + <div id="channel-title-error" class="meta-muted inline-error"></div> + + <div id="channel-avatar-preview"></div> + <button type="button" class="secondary-btn" id="channel-avatar-btn">Выбрать аватар</button> + <label for="channel-description">Описание канала (необязательно)</label> - <textarea id="channel-description" class="input" rows="4" maxlength="400" placeholder="Коротко о канале, до 200 байт UTF-8"></textarea> - <div class="meta-muted" id="channel-description-counter">0 / 200 байт</div> + <textarea id="channel-description" class="input" rows="4" maxlength="250" placeholder="Коротко о канале, до 250 символов"></textarea> + <div class="meta-muted" id="channel-description-counter">0 / 250 символов</div> <div id="channel-description-error" class="meta-muted inline-error"></div> <div id="channel-create-error" class="meta-muted inline-error"></div> @@ -67,8 +93,13 @@ export function render({ navigate }) { `; const nameEl = form.querySelector('#channel-name'); + const titleEl = form.querySelector('#channel-title'); const descriptionEl = form.querySelector('#channel-description'); + const avatarPreviewEl = form.querySelector('#channel-avatar-preview'); + const avatarBtn = form.querySelector('#channel-avatar-btn'); const nameErrorEl = form.querySelector('#channel-name-error'); + const titleErrorEl = form.querySelector('#channel-title-error'); + const titleCounterEl = form.querySelector('#channel-title-counter'); const descriptionErrorEl = form.querySelector('#channel-description-error'); const descriptionCounterEl = form.querySelector('#channel-description-counter'); const errorEl = form.querySelector('#channel-create-error'); @@ -76,38 +107,60 @@ export function render({ navigate }) { const cancelEl = form.querySelector('#cancel-create-channel'); let submitInFlight = false; + let selectedAvatar = null; const setBusy = (busy) => { submitInFlight = !!busy; submitEl.disabled = submitInFlight; cancelEl.disabled = submitInFlight; nameEl.disabled = submitInFlight; + titleEl.disabled = submitInFlight; descriptionEl.disabled = submitInFlight; + avatarBtn.disabled = submitInFlight; submitEl.textContent = submitInFlight ? 'Создаём...' : 'Создать'; }; const updateValidation = () => { const nameCheck = validateChannelDisplayName(nameEl.value); - const descriptionCheck = validateDescription(descriptionEl.value); + const titleCheck = normalizeMetaText(titleEl.value, 50, 'Название'); + const descriptionCheck = normalizeMetaText(descriptionEl.value, 250, 'Описание'); nameErrorEl.textContent = nameCheck.ok ? '' : channelNameErrorText(nameCheck.code); + titleErrorEl.textContent = titleCheck.error; descriptionErrorEl.textContent = descriptionCheck.error; - const descLength = Number(descriptionCheck.bytes || 0); - descriptionCounterEl.textContent = `${descLength} / 200 байт`; + titleCounterEl.textContent = `${Number(titleCheck.length || 0)} / 50 символов`; + descriptionCounterEl.textContent = `${Number(descriptionCheck.length || 0)} / 250 символов`; - const ok = nameCheck.ok && descriptionCheck.ok; + const ok = nameCheck.ok && titleCheck.ok && descriptionCheck.ok; submitEl.disabled = submitInFlight || !ok; + renderAvatarPreview(avatarPreviewEl, selectedAvatar, titleCheck.normalized || nameCheck.normalized); return { ok, name: nameCheck.normalized, + title: titleCheck.normalized, description: descriptionCheck.normalized, }; }; nameEl.addEventListener('input', updateValidation); + titleEl.addEventListener('input', updateValidation); descriptionEl.addEventListener('input', updateValidation); + avatarBtn.addEventListener('click', async () => { + try { + selectedAvatar = await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + mode: 'avatar', + historyPurpose: 'avatar', + }); + updateValidation(); + } catch (error) { + errorEl.textContent = toUserMessage(error, 'Не удалось выбрать аватар.'); + } + }); form.addEventListener('submit', async (event) => { event.preventDefault(); @@ -127,14 +180,25 @@ export function render({ navigate }) { errorEl.textContent = ''; try { - await authService.addBlockCreateChannel({ + const createResult = await authService.addBlockCreateChannel({ login, storagePwd, channelName: normalizeChannelDisplayName(check.name), - channelDescription: normalizeChannelDescription(check.description), + channelDescription: '', channelType: CHANNEL_TYPE_PUBLIC, channelTypeVersion: 1, }); + if (check.title || check.description || selectedAvatar?.ar) { + await authService.addBlockChannelMeta({ + login, + storagePwd, + channel: createResult.channel, + title: check.title, + description: check.description, + avatar: selectedAvatar, + }); + if (selectedAvatar?.ar) markArweaveAttachmentPlaced(login, selectedAvatar); + } persistCreateSuccessFlash(`Канал "${normalizeChannelDisplayName(check.name)}" создан.`); navigate('channels-list'); diff --git a/shine-UI/js/pages/channel-view.js b/shine-UI/js/pages/channel-view.js index 5756c465..1c64a2d0 100644 --- a/shine-UI/js/pages/channel-view.js +++ b/shine-UI/js/pages/channel-view.js @@ -32,6 +32,7 @@ import { makeProfileRoute, makeShineMessageRoute, } from '../services/shine-routes.js'; +import { buildArweaveDataUrl } from '../services/arweave-file-service.js'; export const pageMeta = { id: 'channel-view', title: 'Канал' }; const CHANNEL_TYPE_STORIES = 0; @@ -286,22 +287,144 @@ function resolveMessageTimestampMs(message) { ); } -function openAboutChannelModal(channel) { +function createChannelAvatarElement(channel, size = 72) { + const wrap = document.createElement('div'); + wrap.className = 'channel-profile-avatar'; + wrap.style.setProperty('--channel-avatar-size', `${size}px`); + const txId = String(channel?.avaAr || '').trim(); + if (txId) { + const img = document.createElement('img'); + img.alt = 'Аватар канала'; + img.src = buildArweaveDataUrl({ gateway: state.entrySettings.arweaveServer, txId }); + wrap.append(img); + } else { + wrap.textContent = String(channel?.displayTitle || channel?.name || 'К').trim().slice(0, 1).toUpperCase() || 'К'; + } + return wrap; +} + +function openChannelMetaDetailsModal({ title = 'Данные канала', channel = {}, canEdit = false, onEdit = null } = {}) { const root = document.getElementById('modal-root'); root.innerHTML = ` <div class="modal" id="about-channel-modal"> - <div class="modal-card stack"> - <h3 class="modal-title">О канале</h3> - <p><strong>${channel.displayName || channel.name}</strong></p> - <p class="meta-muted">${channel.description || 'Описание не задано.'}</p> + <div class="modal-card stack channel-profile-card"> + <div class="channel-profile-modal-head"> + <h3 class="modal-title">${escapeHtml(title)}</h3> + ${canEdit ? '<button class="secondary-btn channel-profile-edit-btn" id="about-channel-edit" type="button" title="Изменить">✏️</button>' : ''} + </div> + <div id="about-channel-avatar-slot"></div> + <p><strong>${escapeHtml(channel.displayTitle || channel.displayName || channel.name)}</strong></p> + <p class="meta-muted">${escapeHtml(`${channel.ownerName || 'автор'} / ${channel.name || 'channel'}`)}</p> + <p class="meta-muted">${escapeHtml(channel.description || 'Описание не задано.')}</p> <button class="secondary-btn" id="about-channel-close" type="button">Закрыть</button> </div> </div> `; + root.querySelector('#about-channel-avatar-slot')?.append(createChannelAvatarElement(channel, 86)); root.querySelector('#about-channel-close')?.addEventListener('click', () => { root.innerHTML = ''; }); + root.querySelector('#about-channel-edit')?.addEventListener('click', () => { + root.innerHTML = ''; + if (typeof onEdit === 'function') onEdit(); + }); +} + +function openAboutChannelModal(channel, options = {}) { + openChannelMetaDetailsModal({ + title: 'О канале', + channel, + canEdit: options.canEdit === true, + onEdit: options.onEdit, + }); +} + +function openEditChannelModal({ channel, onSave }) { + const root = document.getElementById('modal-root'); + let selectedAvatar = channel?.avaAr ? { + name: 'Аватар', + ar: channel.avaAr, + sha256: channel.avaSha256, + size: channel.avaSize, + purpose: 'avatar', + } : null; + + const renderAvatarPreview = () => { + const slot = root.querySelector('#edit-channel-avatar-preview'); + if (!slot) return; + slot.innerHTML = ''; + slot.append(createChannelAvatarElement({ + ...channel, + avaAr: selectedAvatar?.ar || '', + displayTitle: root.querySelector('#edit-channel-title')?.value || channel.displayTitle, + }, 86)); + }; + + root.innerHTML = ` + <div class="modal" id="edit-channel-modal"> + <div class="modal-card stack channel-profile-card"> + <h3 class="modal-title">Изменение канала</h3> + <div id="edit-channel-avatar-preview"></div> + <button class="secondary-btn" id="edit-channel-avatar" type="button">Выбрать аватар</button> + <label class="meta-muted" for="edit-channel-title">Человекочитаемое имя</label> + <input class="input" id="edit-channel-title" type="text" maxlength="50" value="${escapeHtml(channel.displayTitle || channel.name || '')}" /> + <label class="meta-muted" for="edit-channel-description">Описание</label> + <textarea class="input" id="edit-channel-description" rows="4" maxlength="250">${escapeHtml(channel.description || '')}</textarea> + <p class="meta-muted inline-error" id="edit-channel-error"></p> + <div class="form-actions-grid"> + <button class="secondary-btn" id="edit-channel-cancel" type="button">Отмена</button> + <button class="primary-btn" id="edit-channel-save" type="button">Сохранить</button> + </div> + </div> + </div> + `; + renderAvatarPreview(); + + root.querySelector('#edit-channel-cancel')?.addEventListener('click', () => { + root.innerHTML = ''; + }); + root.querySelector('#edit-channel-title')?.addEventListener('input', renderAvatarPreview); + root.querySelector('#edit-channel-avatar')?.addEventListener('click', async () => { + try { + const item = await openArweaveAttachmentManager({ + login: state.session.login, + storagePwd: state.session.storagePwdInMemory, + gateway: state.entrySettings.arweaveServer, + mode: 'avatar', + historyPurpose: 'avatar', + }); + if (!item) return; + selectedAvatar = item; + renderAvatarPreview(); + } catch (error) { + const errorEl = root.querySelector('#edit-channel-error'); + if (errorEl) errorEl.textContent = toUserMessage(error, 'Не удалось выбрать аватар.'); + } + }); + root.querySelector('#edit-channel-save')?.addEventListener('click', async () => { + const saveBtn = root.querySelector('#edit-channel-save'); + const errorEl = root.querySelector('#edit-channel-error'); + const title = String(root.querySelector('#edit-channel-title')?.value || '').trim(); + const description = String(root.querySelector('#edit-channel-description')?.value || '').trim(); + if (Array.from(title).length > 50) { + if (errorEl) errorEl.textContent = 'Название: максимум 50 символов.'; + return; + } + if (Array.from(description).length > 250) { + if (errorEl) errorEl.textContent = 'Описание: максимум 250 символов.'; + return; + } + saveBtn.disabled = true; + if (errorEl) errorEl.textContent = ''; + try { + await onSave({ title, description, avatar: selectedAvatar }); + root.innerHTML = ''; + } catch (error) { + saveBtn.disabled = false; + if (errorEl) errorEl.textContent = toUserMessage(error, 'Не удалось изменить канал.'); + } + }); } function bindSubmitOnPlainEnter(textarea, submit) { @@ -941,11 +1064,17 @@ async function loadFromApi(route, channelId) { return { channel: { name: payload.channel?.channelName || 'неизвестный канал', + displayTitle: String(payload.channel?.displayName || payload.channel?.channelName || 'неизвестный канал').trim(), displayName: `${ownerLogin || 'неизвестно'}/${payload.channel?.channelName || 'неизвестный канал'}`, description: String(payload.channel?.channelDescription || '').trim(), + avaAr: String(payload.channel?.avaAr || '').trim(), + avaSha256: String(payload.channel?.avaSha256 || '').trim(), + avaSize: Number(payload.channel?.avaSize || 0), + metaUpdatedAtMs: Number(payload.channel?.metaUpdatedAtMs || 0), ownerName: ownerLogin || 'неизвестно', }, posts, + metaEvents: Array.isArray(payload?.metaEvents) ? payload.metaEvents : [], reverseChannelMissingWarning, isOwnChannel, isSubscribed, @@ -1033,6 +1162,48 @@ function applyPendingScroll(screen, routeKey, forceBottom = false) { setTimeout(doScroll, 20); } +function mapChannelMetaEvent(event, fallbackChannel) { + return { + kind: String(event?.kind || '').trim(), + messageRef: event?.messageRef || null, + timestampMs: Number(event?.createdAtMs || 0), + title: String(event?.title || fallbackChannel?.displayTitle || fallbackChannel?.name || '').trim(), + description: String(event?.description || '').trim(), + avaAr: String(event?.avaAr || '').trim(), + avaSha256: String(event?.avaSha256 || '').trim(), + avaSize: Number(event?.avaSize || 0), + ownerName: fallbackChannel?.ownerName || '', + name: fallbackChannel?.name || '', + }; +} + +function renderChannelMetaEventCard(event) { + const card = document.createElement('article'); + card.className = 'card channel-system-event-card'; + const label = event.kind === 'created' + ? `Создан канал ${event.title || event.name || ''}`.trim() + : 'Изменён профиль канала'; + card.innerHTML = ` + <span>${escapeHtml(label)}</span> + <small>${escapeHtml(event.timestampMs ? new Date(event.timestampMs).toLocaleString('ru-RU') : '')}</small> + `; + card.addEventListener('click', () => { + openChannelMetaDetailsModal({ + title: event.kind === 'created' ? 'Канал создан' : 'Профиль канала изменён', + channel: { + name: event.name, + displayTitle: event.title, + description: event.description, + avaAr: event.avaAr, + avaSha256: event.avaSha256, + avaSize: event.avaSize, + ownerName: event.ownerName, + }, + }); + }); + return card; +} + function renderPostCard(post, { navigate, selector, @@ -1303,10 +1474,34 @@ function renderBody(screen, navigate, routeKey, channelData, handlers) { const feed = document.createElement('div'); feed.className = 'stack channel-feed'; const postsByKey = new Map(); + const metaEvents = (Array.isArray(channelData.metaEvents) ? channelData.metaEvents : []) + .map((event) => mapChannelMetaEvent(event, channelData.channel)); + const feedItems = [ + ...metaEvents.map((event) => ({ + type: 'meta', + timestampMs: event.timestampMs, + blockNumber: Number(event?.messageRef?.blockNumber || 0), + event, + })), + ...channelData.posts.map((post) => ({ + type: 'post', + timestampMs: post.timestampMs, + blockNumber: Number(post?.messageRef?.blockNumber || 0), + post, + })), + ].sort((a, b) => { + const byTime = Number(a.timestampMs || 0) - Number(b.timestampMs || 0); + if (byTime !== 0) return byTime; + return Number(a.blockNumber || 0) - Number(b.blockNumber || 0); + }); - if (channelData.posts.length) { - channelData.posts.forEach((post) => { - const row = renderPostCard(post, { + if (feedItems.length) { + feedItems.forEach((item) => { + if (item.type === 'meta') { + feed.append(renderChannelMetaEventCard(item.event)); + return; + } + const row = renderPostCard(item.post, { navigate, selector: channelData.selector, onToggleLike: handlers.onToggleLike, @@ -1315,9 +1510,9 @@ function renderBody(screen, navigate, routeKey, channelData, handlers) { onShare: handlers.onShare, onEdit: handlers.onEdit, }); - const key = messageRefKey(post.messageRef); + const key = messageRefKey(item.post.messageRef); if (key) { - postsByKey.set(key, post); + postsByKey.set(key, item.post); } feed.append(row); }); @@ -1565,6 +1760,25 @@ export function render({ navigate, route }) { rerender(); }; + const onEditChannelMeta = async ({ title, description, avatar }) => { + const { login, storagePwd } = requireSigningSession(); + if (!activeSelector?.ownerBlockchainName || activeSelector.channelRootBlockNumber == null) { + throw new Error('Идентификатор канала не готов.'); + } + await authService.addBlockChannelMeta({ + login, + storagePwd, + channel: activeSelector, + title, + description, + avatar, + }); + if (avatar?.ar) markArweaveAttachmentPlaced(login, avatar); + softHaptic(12); + showToast('Профиль канала обновлён'); + rerender(); + }; + screen.append(header); screen.append(statusBox); @@ -1576,14 +1790,19 @@ export function render({ navigate, route }) { try { const apiData = await loadFromApi(route, channelId); activeSelector = apiData?.selector || null; - const channelRouteLabel = `Канал: ${apiData?.channel?.ownerName || 'owner'} / ${apiData?.channel?.name || 'channel'}`; - const ownChannelLabel = `Ваш канал: ${apiData?.channel?.name || 'channel'}`; + const titleLabel = apiData?.channel?.displayTitle || apiData?.channel?.name || 'channel'; if (channelHeaderButton) { - channelHeaderButton.textContent = apiData?.isOwnChannel ? ownChannelLabel : channelRouteLabel; + channelHeaderButton.textContent = titleLabel; channelHeaderButton.disabled = false; channelHeaderButton.onclick = (event) => { animatePress(event.currentTarget); - openAboutChannelModal(apiData.channel); + openAboutChannelModal(apiData.channel, { + canEdit: apiData?.isOwnChannel === true, + onEdit: () => openEditChannelModal({ + channel: apiData.channel, + onSave: onEditChannelMeta, + }), + }); }; } skeleton.remove(); diff --git a/shine-UI/js/pages/channels-list.js b/shine-UI/js/pages/channels-list.js index 4052936d..514480a8 100644 --- a/shine-UI/js/pages/channels-list.js +++ b/shine-UI/js/pages/channels-list.js @@ -13,6 +13,7 @@ import { } from '../services/channels-ux.js'; import { makeShineChannelRoute } from '../services/shine-routes.js'; import { navigateBack } from '../router.js'; +import { buildArweaveDataUrl } from '../services/arweave-file-service.js'; export const pageMeta = { id: 'channels-list', title: 'Каналы' }; @@ -652,11 +653,13 @@ function mapApiChannelRow(summary, bucketKey, idx, index, notificationsState) { const ownerLogin = summary?.channel?.ownerLogin || 'неизвестно'; const channelName = summary?.channel?.channelName || '(без названия)'; + const displayTitle = String(summary?.channel?.displayName || channelName).trim(); const channelDescription = String(summary?.channel?.channelDescription || '').trim(); const channelTypeCode = Number(summary?.channel?.channelTypeCode ?? 1); const channelTypeVersion = Number(summary?.channel?.channelTypeVersion ?? 1); const isOwn = bucketKey === 'own'; - const title = `${ownerLogin} / ${channelName}`; + const title = displayTitle || channelName; + const technicalLabel = `${ownerLogin} / ${channelName}`; return { id: rowId, @@ -665,9 +668,12 @@ function mapApiChannelRow(summary, bucketKey, idx, index, notificationsState) { ownerBlockchainName: summary?.channel?.ownerBlockchainName || '', channelRootBlockNumber: Number(summary?.channel?.channelRoot?.blockNumber), channelRootBlockHash: normalizeHash(summary?.channel?.channelRoot?.blockHash), - avatar: avatarLetterFromName(channelName), + avatar: avatarLetterFromName(displayTitle || channelName), + avaAr: String(summary?.channel?.avaAr || '').trim(), title, + technicalLabel, channelName, + displayTitle, channelDescription, channelTypeCode, channelTypeVersion, @@ -968,6 +974,10 @@ function renderChannelMain(channel) { title.className = 'channel-row-title'; title.textContent = channel.title; + const technical = document.createElement('p'); + technical.className = 'channel-row-technical'; + technical.textContent = channel.technicalLabel || `${channel.ownerName || ''} / ${channel.channelName || ''}`; + if (channel.channelDescription) { const desc = document.createElement('p'); desc.className = 'channel-row-description'; @@ -983,7 +993,7 @@ function renderChannelMain(channel) { meta.className = 'channel-row-owner channel-counter-meta'; meta.textContent = `Сообщений: ${channel.messagesCount || 0}`; - main.prepend(title); + main.prepend(title, technical); main.append(preview, meta); return main; } @@ -1012,7 +1022,14 @@ function renderListContent({ screen, container, listState, navigate, refreshFeed const avatar = document.createElement('div'); avatar.className = 'avatar'; - avatar.textContent = channel.avatar; + if (channel.avaAr) { + const img = document.createElement('img'); + img.alt = ''; + img.src = buildArweaveDataUrl({ gateway: state.entrySettings.arweaveServer, txId: channel.avaAr }); + avatar.append(img); + } else { + avatar.textContent = channel.avatar; + } const main = renderChannelMain(channel); diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index 4a19d578..b917d5db 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -54,6 +54,7 @@ const MSG_SUBTYPE_TEXT_EDIT_POST = 11; const MSG_SUBTYPE_TEXT_REPLY = 20; const MSG_SUBTYPE_TEXT_EDIT_REPLY = 21; const MSG_SUBTYPE_TEXT_REPOST = 30; +const MSG_SUBTYPE_TEXT_CHANNEL_META = 70; const MSG_SUBTYPE_REACTION_LIKE = 1; const MSG_SUBTYPE_REACTION_UNLIKE = 2; const MSG_SUBTYPE_CONNECTION_FOLLOW = 30; @@ -698,6 +699,39 @@ function normalizeChannelDescription(value) { return text; } +function validateChannelMetaTitle(value) { + const text = String(value || '').trim(); + if (Array.from(text).length > 50) throw new Error('Название канала слишком длинное: максимум 50 символов.'); + if (/[<>;\t\n\r\u0000]/u.test(text)) { + throw new Error('В названии канала нельзя использовать < > ; табуляцию и перевод строки.'); + } + return text; +} + +function normalizeChannelMetaDescription(value) { + const text = String(value == null ? '' : value).trim(); + if (Array.from(text).length > 250) throw new Error('Описание канала слишком длинное: максимум 250 символов.'); + return text; +} + +function composeChannelMetaText({ title = '', description = '', avatar = null } = {}) { + const cleanTitle = validateChannelMetaTitle(title); + const cleanDescription = normalizeChannelMetaDescription(description); + const rows = []; + if (cleanTitle) rows.push(`<SHiNE:title;v=1;${cleanTitle}>`); + if (avatar?.ar) { + const size = Number(avatar.size || 0); + const sha256 = String(avatar.sha256 || '').trim().toLowerCase(); + const ar = String(avatar.ar || '').trim(); + if (!Number.isInteger(size) || size <= 0) throw new Error('Некорректный размер аватара.'); + if (!/^[0-9a-f]{64}$/u.test(sha256)) throw new Error('Некорректный SHA-256 аватара.'); + if (!/^[A-Za-z0-9_-]{43}$/u.test(ar)) throw new Error('Некорректный Arweave txId аватара.'); + rows.push(`<SHiNE:avatar;v=1;size=${size};sha256=${sha256};ar=${ar}>`); + } + if (cleanDescription) rows.push(cleanDescription); + return rows.join('\n'); +} + function validatePersonalChannelName(value) { const normalized = normalizeChannelDisplayName(value); if (!normalized) return { ok: false, error: 'Введите логин пользователя.' }; @@ -806,6 +840,23 @@ function makeTextPostBodyBytes({ lineCode, prevLineNumber, prevLineHashHex, this ); } +function makeTextLineBodyBytesAllowEmpty({ lineCode, prevLineNumber, prevLineHashHex, thisLineNumber, text }) { + const message = String(text || '').trim(); + const textBytes = utf8Bytes(message); + if (textBytes.length > 65535) { + throw new Error('Message text must be 0..65535 UTF-8 bytes'); + } + + return concatBytes( + int32Bytes(lineCode), + int32Bytes(prevLineNumber), + hexToBytes(normalizeHex32(prevLineHashHex)), + int32Bytes(thisLineNumber), + int16Bytes(textBytes.length), + textBytes + ); +} + function normalizeMessageRefTarget(target, actionName = 'action') { const cleanBch = String(target?.blockchainName || '').trim(); const cleanBlockNumber = Number(target?.blockNumber); @@ -2141,6 +2192,67 @@ export class AuthService { }); } + async resolveChannelLineTail({ login, blockchainName, channel }) { + const selector = channel || {}; + const ownerBlockchainName = String(selector?.ownerBlockchainName || '').trim(); + const lineCode = Number(selector?.channelRootBlockNumber); + if (!ownerBlockchainName || !Number.isFinite(lineCode) || lineCode < 0) { + throw new Error('Invalid channel selector'); + } + if (ownerBlockchainName !== blockchainName) { + throw new Error('Posting is allowed only to your own channels'); + } + + let rootHashHex = normalizeHex32(selector?.channelRootBlockHash, ZERO64); + if (rootHashHex === ZERO64) { + const ownChannels = await this.listOwnChannelsForBlockchain(login, blockchainName); + const rootChannel = ownChannels.find((item) => item.rootBlockNumber === lineCode); + if (!rootChannel) throw new Error('Channel root not found'); + rootHashHex = normalizeHex32(rootChannel.rootBlockHash, ZERO64); + } + + let prevLineNumber = lineCode; + let prevLineHashHex = rootHashHex; + let thisLineNumber = 0; + try { + const latestPayload = await this.getChannelMessages({ + ownerBlockchainName, + channelRootBlockNumber: lineCode, + channelRootBlockHash: rootHashHex, + }, 1, 'desc', login); + const latestMessage = Array.isArray(latestPayload?.messages) ? latestPayload.messages[0] : null; + const latestMeta = (Array.isArray(latestPayload?.metaEvents) ? latestPayload.metaEvents : []) + .slice() + .sort((a, b) => Number(b?.messageRef?.blockNumber || -1) - Number(a?.messageRef?.blockNumber || -1))[0] || null; + const latestMessageBlock = Number(latestMessage?.messageRef?.blockNumber); + const latestMetaBlock = Number(latestMeta?.messageRef?.blockNumber); + const latest = Number.isFinite(latestMetaBlock) && (!Number.isFinite(latestMessageBlock) || latestMetaBlock > latestMessageBlock) + ? latestMeta + : latestMessage; + const latestBlockNumber = Number(latest?.messageRef?.blockNumber); + const latestBlockHash = normalizeHex32(latest?.messageRef?.blockHash, ''); + const latestLineStep = resolveLatestLineStep(latest); + if (Number.isFinite(latestBlockNumber) && latestBlockNumber >= 0 && latestBlockHash) { + prevLineNumber = latestBlockNumber; + prevLineHashHex = latestBlockHash; + thisLineNumber = Number.isFinite(latestLineStep) + ? Math.max(0, latestLineStep + 1) + : Math.max(1, latestBlockNumber === lineCode ? 1 : 0); + } + } catch { + // fallback to root anchor + } + + return { + ownerBlockchainName, + lineCode, + rootHashHex, + prevLineNumber, + prevLineHashHex, + thisLineNumber, + }; + } + async addBlockTextPost({ login, channel, text, storagePwd }) { const cleanLogin = (login || '').trim(); if (!cleanLogin) throw new Error('Missing login'); @@ -2154,53 +2266,13 @@ export class AuthService { const user = await this.ensureChainInitializedForLineOps(cleanLogin, storagePwd); const blockchainName = String(user?.blockchainName || `${cleanLogin}-${BCH_SUFFIX}`).trim(); - const ownerBlockchainName = owner; - const lineCode = root; - if (!ownerBlockchainName || !Number.isFinite(lineCode) || lineCode < 0) { - throw new Error('Invalid channel selector'); - } - if (ownerBlockchainName !== blockchainName) { - throw new Error('Posting is allowed only to your own channels'); - } - - let rootHashHex = normalizeHex32(selector?.channelRootBlockHash, ZERO64); - if (rootHashHex === ZERO64) { - const ownChannels = await this.listOwnChannelsForBlockchain(cleanLogin, blockchainName); - const rootChannel = ownChannels.find((item) => item.rootBlockNumber === lineCode); - if (!rootChannel) throw new Error('Channel root not found'); - rootHashHex = normalizeHex32(rootChannel.rootBlockHash, ZERO64); - } - - let prevLineNumber = lineCode; - let prevLineHashHex = rootHashHex; - let thisLineNumber = 0; - try { - const latestPayload = await this.getChannelMessages({ - ownerBlockchainName, - channelRootBlockNumber: lineCode, - channelRootBlockHash: rootHashHex, - }, 1, 'desc', cleanLogin); - const latestMessage = Array.isArray(latestPayload?.messages) ? latestPayload.messages[0] : null; - const latestBlockNumber = Number(latestMessage?.messageRef?.blockNumber); - const latestBlockHash = normalizeHex32(latestMessage?.messageRef?.blockHash, ''); - const latestLineStep = resolveLatestLineStep(latestMessage); - if (Number.isFinite(latestBlockNumber) && latestBlockNumber >= 0 && latestBlockHash) { - prevLineNumber = latestBlockNumber; - prevLineHashHex = latestBlockHash; - // Для нового POST берём следующий шаг после последнего сообщения линии. - thisLineNumber = Number.isFinite(latestLineStep) - ? Math.max(0, latestLineStep + 1) - : 1; - } - } catch { - // fallback to root anchor - } + const tail = await this.resolveChannelLineTail({ login: cleanLogin, blockchainName, channel: selector }); const bodyBytes = makeTextPostBodyBytes({ - lineCode, - prevLineNumber, - prevLineHashHex, - thisLineNumber, + lineCode: tail.lineCode, + prevLineNumber: tail.prevLineNumber, + prevLineHashHex: tail.prevLineHashHex, + thisLineNumber: tail.thisLineNumber, text: cleanText, }); @@ -2216,9 +2288,50 @@ export class AuthService { return { ...payload, channel: { - ownerBlockchainName, - channelRootBlockNumber: lineCode, - channelRootBlockHash: rootHashHex, + ownerBlockchainName: tail.ownerBlockchainName, + channelRootBlockNumber: tail.lineCode, + channelRootBlockHash: tail.rootHashHex, + }, + }; + }); + } + + async addBlockChannelMeta({ login, channel, title = '', description = '', avatar = null, storagePwd }) { + const cleanLogin = (login || '').trim(); + if (!cleanLogin) throw new Error('Missing login'); + const selector = channel || {}; + const owner = String(selector?.ownerBlockchainName || '').trim(); + const root = Number(selector?.channelRootBlockNumber); + const metaText = composeChannelMetaText({ title, description, avatar }); + const key = `channel-meta:${cleanLogin}:${owner}:${root}:${metaText}`; + + return this.runWriteLocked(key, async () => { + const user = await this.ensureChainInitializedForLineOps(cleanLogin, storagePwd); + const blockchainName = String(user?.blockchainName || `${cleanLogin}-${BCH_SUFFIX}`).trim(); + const tail = await this.resolveChannelLineTail({ login: cleanLogin, blockchainName, channel: selector }); + const bodyBytes = makeTextLineBodyBytesAllowEmpty({ + lineCode: tail.lineCode, + prevLineNumber: tail.prevLineNumber, + prevLineHashHex: tail.prevLineHashHex, + thisLineNumber: tail.thisLineNumber, + text: metaText, + }); + + const payload = await this.addBlockSigned({ + login: cleanLogin, + storagePwd, + msgType: MSG_TYPE_TEXT, + msgSubType: MSG_SUBTYPE_TEXT_CHANNEL_META, + msgVersion: 1, + bodyBytes, + }); + + return { + ...payload, + channel: { + ownerBlockchainName: tail.ownerBlockchainName, + channelRootBlockNumber: tail.lineCode, + channelRootBlockHash: tail.rootHashHex, }, }; }); diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index af13b9e1..ebf6dc0a 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -3884,6 +3884,66 @@ textarea.input { padding-bottom: 9px; } +.channel-system-event-card { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + padding: 9px 11px; + border-color: rgba(255, 210, 130, 0.22); + background: rgba(89, 67, 31, 0.22); + color: rgba(255, 235, 188, 0.92); + cursor: pointer; +} + +.channel-system-event-card small { + flex: 0 0 auto; + color: rgba(255, 255, 255, 0.48); + font-size: 11px; +} + +.channel-profile-card { + align-items: stretch; +} + +.channel-profile-modal-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; +} + +.channel-profile-edit-btn { + width: 38px; + padding-left: 0; + padding-right: 0; +} + +.channel-profile-avatar { + --channel-avatar-size: 72px; + width: var(--channel-avatar-size); + height: var(--channel-avatar-size); + display: inline-flex; + align-items: center; + justify-content: center; + align-self: center; + border-radius: 22px; + background: linear-gradient(145deg, rgba(255, 214, 122, 0.22), rgba(56, 41, 22, 0.65)); + border: 1px solid rgba(255, 226, 155, 0.24); + color: rgba(255, 236, 194, 0.95); + font-size: calc(var(--channel-avatar-size) * 0.42); + font-weight: 700; + overflow: hidden; +} + +.channel-profile-avatar img, +.avatar img { + width: 100%; + height: 100%; + display: block; + object-fit: cover; +} + .deleted-message-pill { appearance: none; width: 100%; @@ -4983,8 +5043,19 @@ textarea.input { .channel-row-title { color: #ffffff; - font-size: 15px; - font-weight: 700; + font-size: 17px; + font-weight: 800; + letter-spacing: 0.01em; +} + +.channel-row-technical { + margin: -2px 0 0; + color: rgba(255, 255, 255, 0.46); + font-size: 11px; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .channel-row-message { From 8125d1a12460163a43a14ed76775039a2ec6420617c920ab5f23608ba317c036 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:04:48 +0400 Subject: [PATCH 69/83] =?UTF-8?q?=D0=9A=D0=B0=D0=BD=D0=B0=D0=BB=D1=8B:=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D1=83=20meta-=D1=81=D0=BE?= =?UTF-8?q?=D0=B1=D1=8B=D1=82=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JSON/handlers/channels/ChannelsReadSupport.java | 4 ++-- VERSION.properties | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index 04f6329b..34136d71 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -159,7 +159,7 @@ final class ChannelsReadSupport { static PostBlock loadLastVersion(Connection c, String ownerBch, int originalBlockNumber, byte[] originalHash) throws SQLException { String sql = """ - SELECT login,bch_name,block_number,block_hash,block_bytes + SELECT login,bch_name,block_number,block_hash,block_bytes,this_line_number FROM blocks WHERE bch_name=? AND msg_type=? AND msg_sub_type=? AND to_bch_name=? AND to_block_number=? AND to_block_hash=? @@ -390,7 +390,7 @@ final class ChannelsReadSupport { if (lineCode <= 0) return out; ChannelMeta base = detectChannelMeta(c, ownerBch, lineCode); String rootSql = """ - SELECT login,bch_name,block_number,block_hash,block_bytes + SELECT login,bch_name,block_number,block_hash,block_bytes,this_line_number FROM blocks WHERE bch_name=? AND msg_type=? AND msg_sub_type=? AND block_number=? LIMIT 1 diff --git a/VERSION.properties b/VERSION.properties index 550b0ab3..ca219ccf 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.4.11 -server.version=1.4.1 +server.version=1.4.2 From 8303682bd740c47f01c6148df70fe7d7cae9112c613bfc1d2e6118673b09a662 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:19:29 +0400 Subject: [PATCH 70/83] =?UTF-8?q?=D0=9A=D0=B0=D0=BD=D0=B0=D0=BB=D1=8B:=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8C=20=D0=BE=D0=B4=D0=BD=D0=B8?= =?UTF-8?q?=D0=BC=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blockchain/body/CreateChannelBody.java | 13 +-- .../blockchain/Net_AddBlock_Handler.java | 34 +++++- .../ChannelNamesStateBootstrapper.java | 75 +++++++++++- .../channels/ChannelsReadSupport.java | 22 +++- VERSION.properties | 4 +- .../01_Channel_Types_and_CreateChannel.md | 17 +++ docs/Blockchain/16_TEXT_Channel_Meta.md | 6 +- docs/Blockchain/CHANGELOG.md | 7 ++ shine-UI/js/pages/add-channel-view.js | 20 +--- shine-UI/js/services/auth-service.js | 108 ++++++------------ shine-UI/styles/components.css | 13 ++- 11 files changed, 201 insertions(+), 118 deletions(-) diff --git a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/CreateChannelBody.java b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/CreateChannelBody.java index 3bae2410..2ba5af48 100644 --- a/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/CreateChannelBody.java +++ b/SHiNE-server/shine-server-blockchain/src/main/java/blockchain/body/CreateChannelBody.java @@ -19,7 +19,7 @@ import java.util.Objects; * [1] channelNameLen * [N] channelName UTF-8 * [2] channelDescriptionLen - * [M] channelDescription UTF-8 (0..200 bytes) + * [M] channelDescription UTF-8 (0..2048 bytes) * [2] channelTypeCode (uint16) * [2] channelTypeVersion (uint16) */ @@ -38,7 +38,7 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { private static final byte[] ZERO32 = new byte[32]; private static final int MAX_NAME_LENGTH = 32; - private static final int MAX_DESCRIPTION_UTF8_LEN = 200; + public static final int MAX_DESCRIPTION_UTF8_LEN = 2048; public final short subType; public final short version; @@ -88,7 +88,7 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { int descriptionLen = Short.toUnsignedInt(bb.getShort()); if (descriptionLen > MAX_DESCRIPTION_UTF8_LEN) { - throw new IllegalArgumentException("channelDescription utf8 len must be <=200"); + throw new IllegalArgumentException("channelDescription utf8 len must be <=2048"); } if (bb.remaining() != descriptionLen + 4) { throw new IllegalArgumentException("CreateChannelBody tail mismatch: remaining=" + bb.remaining() + " descriptionLen=" + descriptionLen); @@ -145,7 +145,7 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { String normalizedDescription = normalizeDescription(channelDescription); byte[] descUtf8 = normalizedDescription.getBytes(StandardCharsets.UTF_8); if (descUtf8.length > MAX_DESCRIPTION_UTF8_LEN) { - throw new IllegalArgumentException("channelDescription utf8 len must be <=200"); + throw new IllegalArgumentException("channelDescription utf8 len must be <=2048"); } int typeCode = Short.toUnsignedInt(channelTypeCode); @@ -166,7 +166,7 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { private static String normalizeDescription(String value) { if (value == null) return ""; - return value.trim().replaceAll("\\s+", " "); + return value.trim().replace("\r\n", "\n").replace('\r', '\n'); } @Override @@ -177,7 +177,7 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { } byte[] descriptionUtf8 = normalizeDescription(channelDescription).getBytes(StandardCharsets.UTF_8); if (descriptionUtf8.length > MAX_DESCRIPTION_UTF8_LEN) { - throw new IllegalArgumentException("channelDescription utf8 len must be <=200"); + throw new IllegalArgumentException("channelDescription utf8 len must be <=2048"); } int cap = 4 + (4 + 32 + 4) + 1 + nameUtf8.length + 2 + descriptionUtf8.length + 4; @@ -204,4 +204,3 @@ public final class CreateChannelBody implements BodyRecord, BodyHasLine { @Override public int lineSeq() { return thisLineNumber; } } - diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java index c84c8572..5b3e6d3f 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java @@ -304,14 +304,36 @@ public final class Net_AddBlock_Handler implements JsonMessageHandler { return new AddBlockResult(WireCodes.Status.INTERNAL_ERROR, "internal_error", serverLastNum, serverLastHashHex); } + String displayName = normalizedName; + String channelDescription = createChannelBody.channelDescription == null + ? "" + : ChannelNameRules.normalizeDisplayName(createChannelBody.channelDescription); + String avaAr = ""; + String avaSha256 = ""; + long avaSize = 0L; + long metaUpdatedAtMs = 0L; + if (channelTypeCode == (CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF)) { + try { + ChannelMetaTextParser.Parsed createMeta = ChannelMetaTextParser.parseStrict(channelDescription, normalizedName); + displayName = createMeta.title(); + channelDescription = createMeta.description(); + avaAr = createMeta.avaAr(); + avaSha256 = createMeta.avaSha256(); + avaSize = createMeta.avaSize(); + metaUpdatedAtMs = block.timestamp * 1000L; + } catch (IllegalArgumentException e) { + return new AddBlockResult(WireCodes.Status.BAD_REQUEST, e.getMessage(), serverLastNum, serverLastHashHex); + } + } + channelNameStateEntry = new ChannelNameStateEntry(); channelNameStateEntry.setSlug(slug); - channelNameStateEntry.setDisplayName(normalizedName); - channelNameStateEntry.setChannelDescription( - createChannelBody.channelDescription == null - ? "" - : ChannelNameRules.normalizeDisplayName(createChannelBody.channelDescription) - ); + channelNameStateEntry.setDisplayName(displayName); + channelNameStateEntry.setChannelDescription(channelDescription); + channelNameStateEntry.setAvaAr(avaAr); + channelNameStateEntry.setAvaSha256(avaSha256); + channelNameStateEntry.setAvaSize(avaSize); + channelNameStateEntry.setMetaUpdatedAtMs(metaUpdatedAtMs); channelNameStateEntry.setOwnerLogin(login); channelNameStateEntry.setOwnerBlockchainName(blockchainName); channelNameStateEntry.setChannelTypeCode(channelTypeCode); diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java index 4ff7d627..84576500 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelNamesStateBootstrapper.java @@ -1,7 +1,9 @@ package server.logic.ws_protocol.JSON.handlers.channels; import blockchain.BchBlockEntry; +import blockchain.MsgSubType; import blockchain.body.CreateChannelBody; +import blockchain.body.TextLineBody; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import shine.db.DbController; @@ -20,6 +22,7 @@ import java.util.Map; public final class ChannelNamesStateBootstrapper { private static final Logger log = LoggerFactory.getLogger(ChannelNamesStateBootstrapper.class); private static final int MSG_TYPE_TECH = 0; + private static final int MSG_TYPE_TEXT = 1; private static final int MSG_SUB_TYPE_CREATE_CHANNEL = 1; private static volatile boolean bootstrapped; @@ -74,17 +77,30 @@ public final class ChannelNamesStateBootstrapper { continue; } - final String displayName; + String displayName; final String slug; - final String channelDescription; + String channelDescription; final int channelTypeCode; final int channelTypeVersion; + String avaAr = ""; + String avaSha256 = ""; + long avaSize = 0L; + long metaUpdatedAtMs = 0L; try { displayName = ChannelNameRules.normalizeDisplayName(createChannelBody.channelName); slug = ChannelNameRules.toCanonicalSlug(displayName); channelDescription = ChannelNameRules.normalizeDisplayName(createChannelBody.channelDescription); channelTypeCode = Short.toUnsignedInt(createChannelBody.channelTypeCode); channelTypeVersion = Short.toUnsignedInt(createChannelBody.channelTypeVersion); + if (channelTypeCode == (CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF)) { + ChannelMetaTextParser.Parsed createMeta = ChannelMetaTextParser.parseStrict(channelDescription, displayName); + displayName = createMeta.title(); + channelDescription = createMeta.description(); + avaAr = createMeta.avaAr(); + avaSha256 = createMeta.avaSha256(); + avaSize = createMeta.avaSize(); + metaUpdatedAtMs = parsed.timestamp * 1000L; + } } catch (Exception badName) { skipped.add(ownerBch + "#" + blockNumber + " (invalid_name)"); continue; @@ -102,6 +118,10 @@ public final class ChannelNamesStateBootstrapper { entry.setSlug(slug); entry.setDisplayName(displayName); entry.setChannelDescription(channelDescription == null ? "" : channelDescription); + entry.setAvaAr(avaAr); + entry.setAvaSha256(avaSha256); + entry.setAvaSize(avaSize); + entry.setMetaUpdatedAtMs(metaUpdatedAtMs); entry.setOwnerLogin(ownerLogin); entry.setOwnerBlockchainName(ownerBch); entry.setChannelTypeCode(channelTypeCode); @@ -116,6 +136,8 @@ public final class ChannelNamesStateBootstrapper { dao.clearAll(c); dao.insertAll(c, entries); + + applyMetaUpdates(c, dao, entries, skipped); c.commit(); log.info("channel_names_state bootstrapped: {}", entries.size()); if (!conflicts.isEmpty()) { @@ -148,4 +170,53 @@ public final class ChannelNamesStateBootstrapper { throw new RuntimeException("Failed to bootstrap channel_names_state", e); } } + + private static void applyMetaUpdates(Connection c, + ChannelNameStateDAO dao, + List<ChannelNameStateEntry> entries, + List<String> skipped) throws Exception { + Map<String, String> fallbackTitles = new LinkedHashMap<>(); + for (ChannelNameStateEntry entry : entries) { + fallbackTitles.put(entry.getOwnerBlockchainName() + "#" + entry.getChannelRootBlockNumber(), entry.getSlug()); + } + + String sql = """ + SELECT bch_name, block_number, block_bytes + FROM blocks + WHERE msg_type = ? AND msg_sub_type = ? + ORDER BY bch_name, block_number + """; + try (PreparedStatement ps = c.prepareStatement(sql)) { + ps.setInt(1, MSG_TYPE_TEXT); + ps.setInt(2, MsgSubType.TEXT_CHANNEL_META); + try (ResultSet rs = ps.executeQuery()) { + while (rs.next()) { + String ownerBch = rs.getString("bch_name"); + int blockNumber = rs.getInt("block_number"); + byte[] blockBytes = rs.getBytes("block_bytes"); + try { + BchBlockEntry parsed = new BchBlockEntry(blockBytes); + if (!(parsed.body instanceof TextLineBody metaBody)) continue; + int lineCode = metaBody.lineCode(); + String fallbackTitle = fallbackTitles.get(ownerBch + "#" + lineCode); + if (fallbackTitle == null) continue; + ChannelMetaTextParser.Parsed parsedMeta = ChannelMetaTextParser.parseStrict(metaBody.message, fallbackTitle); + + ChannelNameStateEntry update = new ChannelNameStateEntry(); + update.setOwnerBlockchainName(ownerBch); + update.setChannelRootBlockNumber(lineCode); + update.setDisplayName(parsedMeta.title()); + update.setChannelDescription(parsedMeta.description()); + update.setAvaAr(parsedMeta.avaAr()); + update.setAvaSha256(parsedMeta.avaSha256()); + update.setAvaSize(parsedMeta.avaSize()); + update.setMetaUpdatedAtMs(parsed.timestamp * 1000L); + dao.updateMeta(c, update); + } catch (Exception e) { + skipped.add(ownerBch + "#" + blockNumber + " (invalid_meta)"); + } + } + } + } + } } diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index 34136d71..80c34b84 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -99,6 +99,15 @@ final class ChannelsReadSupport { meta.channelDescription = ccb.channelDescription == null ? "" : ccb.channelDescription; meta.channelTypeCode = Short.toUnsignedInt(ccb.channelTypeCode); meta.channelTypeVersion = Short.toUnsignedInt(ccb.channelTypeVersion); + if (meta.channelTypeCode == (CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF)) { + ChannelMetaTextParser.Parsed parsedMeta = ChannelMetaTextParser.parseStrict(meta.channelDescription, meta.channelName); + meta.displayName = parsedMeta.title(); + meta.channelDescription = parsedMeta.description(); + meta.avaAr = parsedMeta.avaAr(); + meta.avaSha256 = parsedMeta.avaSha256(); + meta.avaSize = parsedMeta.avaSize(); + meta.metaUpdatedAtMs = e.timestamp * 1000L; + } } else { meta.channelName = null; meta.displayName = null; @@ -415,6 +424,14 @@ final class ChannelsReadSupport { if (entry.body instanceof CreateChannelBody ccb) { event.title = ccb.channelName; event.description = ccb.channelDescription == null ? "" : ccb.channelDescription; + if (Short.toUnsignedInt(ccb.channelTypeCode) == (CreateChannelBody.CHANNEL_TYPE_PUBLIC & 0xFFFF)) { + ChannelMetaTextParser.Parsed parsedMeta = ChannelMetaTextParser.parseStrict(event.description, ccb.channelName); + event.title = parsedMeta.title(); + event.description = parsedMeta.description(); + event.avaAr = parsedMeta.avaAr(); + event.avaSha256 = parsedMeta.avaSha256(); + event.avaSize = parsedMeta.avaSize(); + } } } catch (Exception ignored) { event.createdAtMs = 0L; @@ -423,9 +440,8 @@ final class ChannelsReadSupport { event.title = base.displayName == null || base.displayName.isBlank() ? base.channelName : base.displayName; } if (event.description == null) event.description = ""; - event.avaAr = ""; - event.avaSha256 = ""; - event.avaSize = 0L; + if (event.avaAr == null) event.avaAr = ""; + if (event.avaSha256 == null) event.avaSha256 = ""; out.add(event); } } diff --git a/VERSION.properties b/VERSION.properties index ca219ccf..1a48d601 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.11 -server.version=1.4.2 +client.version=1.4.12 +server.version=1.4.3 diff --git a/docs/Blockchain/01_Channel_Types_and_CreateChannel.md b/docs/Blockchain/01_Channel_Types_and_CreateChannel.md index 0322cdaf..742a7948 100644 --- a/docs/Blockchain/01_Channel_Types_and_CreateChannel.md +++ b/docs/Blockchain/01_Channel_Types_and_CreateChannel.md @@ -9,6 +9,23 @@ Payload включает: 4. `channelType` (`uint16`, 2 байта); 5. `channelTypeVersion` (`uint16`, 2 байта). +### `channelDescription` + +`channelDescription` хранится как `uint16 length + UTF-8`, максимум `2048` байт. + +Для публичных каналов (`channelType=1`) поле является начальным снимком профиля канала и использует тот же текстовый meta-формат, что `TEXT_CHANNEL_META`: + +```text +<SHiNE:title;v=1;Название канала> +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8a...;ar=AbCdEf...> +Описание канала. +``` + +Если `title` отсутствует, человекочитаемым именем считается техническое `channelName`. +Если `avatar` отсутствует, канал создаётся без аватара. + +Новые UI-клиенты создают публичный канал одним блоком `TECH_CREATE_CHANNEL`; отдельный `TEXT_CHANNEL_META` при создании не пишется. `TEXT_CHANNEL_META` используется для последующих изменений профиля канала. + ## 2. Типы каналов - `0` — `stories` (root-канал пользователя). - `1` — публичный канал. diff --git a/docs/Blockchain/16_TEXT_Channel_Meta.md b/docs/Blockchain/16_TEXT_Channel_Meta.md index c5566831..51220e23 100644 --- a/docs/Blockchain/16_TEXT_Channel_Meta.md +++ b/docs/Blockchain/16_TEXT_Channel_Meta.md @@ -1,6 +1,6 @@ # TEXT_CHANNEL_META: профиль канала -`TEXT_CHANNEL_META` — скрытый технический `TEXT`-блок для полного снимка профиля канала. +`TEXT_CHANNEL_META` — скрытый технический `TEXT`-блок для полного снимка профиля канала после создания. ## Блок @@ -11,6 +11,8 @@ Блок пишется только в линию канала владельца. В обычной ленте сообщений он не отображается как пользовательский пост. +Первый снимок профиля публичного канала хранится прямо в `TECH_CREATE_CHANNEL.channelDescription` тем же текстовым форматом. Отдельный `TEXT_CHANNEL_META` при создании нового публичного канала UI не пишет. + ## Текстовый формат В начале текста могут идти технические теги, после них обычный текст описания: @@ -48,7 +50,7 @@ ## UI -- При создании канала UI может сразу после `TECH_CREATE_CHANNEL` записать первый `TEXT_CHANNEL_META` с человекочитаемым именем, аватаром и описанием. +- При создании публичного канала UI записывает человекочитаемое имя, аватар и описание в `TECH_CREATE_CHANNEL.channelDescription`. - При создании канала UI показывает системную карточку `Создан канал ...`. - При записи `TEXT_CHANNEL_META` UI показывает системную карточку `Изменён профиль канала`. - У системных карточек нет лайка, ответа, репоста, редактирования и других действий обычного сообщения. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index 2b3ab6d7..f76eb71a 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -121,6 +121,13 @@ - Команда `/.desc` удалена из актуальной модели изменения описания канала; профиль канала меняется только через `TEXT_CHANNEL_META`. - API чтения каналов расширен полями `displayName`, `avaAr`, `avaSha256`, `avaSize`, `metaUpdatedAtMs` и списком `metaEvents`. +## 2026-08-01 02:18:00 +0400 +- Базовый коммит-ориентир: `8125d1a`. +- Увеличен лимит `CreateChannelBody.channelDescription` до `2048` UTF-8 байт. +- Для публичных каналов начальный профиль канала теперь хранится прямо в `TECH_CREATE_CHANNEL.channelDescription` тем же meta-форматом, что `TEXT_CHANNEL_META`. +- UI создания публичного канала больше не пишет отдельный `TEXT_CHANNEL_META` сразу после создания; отдельный meta-блок используется только для последующих изменений профиля. +- Bootstrap `channel_names_state` при старте сервера теперь применяет последующие `TEXT_CHANNEL_META` поверх начального профиля из `TECH_CREATE_CHANNEL`. + ## 2026-07-31 17:40:31 +0400 - Базовый коммит-ориентир: `d640dd6`. - Формат блокчейна не менялся. diff --git a/shine-UI/js/pages/add-channel-view.js b/shine-UI/js/pages/add-channel-view.js index 55795ee7..b6f3b4d7 100644 --- a/shine-UI/js/pages/add-channel-view.js +++ b/shine-UI/js/pages/add-channel-view.js @@ -36,7 +36,7 @@ function renderAvatarPreview(slot, avatar, title) { slot.innerHTML = ''; const wrap = document.createElement('div'); wrap.className = 'channel-profile-avatar'; - wrap.style.setProperty('--channel-avatar-size', '82px'); + wrap.style.setProperty('--channel-avatar-size', '104px'); if (avatar?.ar) { const img = document.createElement('img'); img.alt = 'Аватар канала'; @@ -180,25 +180,17 @@ export function render({ navigate }) { errorEl.textContent = ''; try { - const createResult = await authService.addBlockCreateChannel({ + await authService.addBlockCreateChannel({ login, storagePwd, channelName: normalizeChannelDisplayName(check.name), - channelDescription: '', + channelDescription: check.description, + channelProfileTitle: check.title, + channelAvatar: selectedAvatar, channelType: CHANNEL_TYPE_PUBLIC, channelTypeVersion: 1, }); - if (check.title || check.description || selectedAvatar?.ar) { - await authService.addBlockChannelMeta({ - login, - storagePwd, - channel: createResult.channel, - title: check.title, - description: check.description, - avatar: selectedAvatar, - }); - if (selectedAvatar?.ar) markArweaveAttachmentPlaced(login, selectedAvatar); - } + if (selectedAvatar?.ar) markArweaveAttachmentPlaced(login, selectedAvatar); persistCreateSuccessFlash(`Канал "${normalizeChannelDisplayName(check.name)}" создан.`); navigate('channels-list'); diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index b917d5db..eabc5c29 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -65,6 +65,7 @@ const CHANNEL_TYPE_PUBLIC = 1; const CHANNEL_TYPE_PERSONAL = 100; const CHANNEL_TYPE_GROUP = 200; const CHANNEL_TYPE_VERSION_DEFAULT = 1; +const CREATE_CHANNEL_DESCRIPTION_MAX_BYTES = 2048; const SESSION_TYPE_CLIENT = 1; const SESSION_TYPE_WALLET = 50; const SESSION_TYPE_HOMESERVER = 100; @@ -691,10 +692,10 @@ function makeConnectionBodyBytes({ } function normalizeChannelDescription(value) { - const text = String(value == null ? '' : value).trim().replace(/\s+/g, ' '); + const text = String(value == null ? '' : value).trim().replace(/\r\n/g, '\n').replace(/\r/g, '\n'); const bytes = utf8Bytes(text); - if (bytes.length > 200) { - throw new Error('Описание канала слишком длинное: максимум 200 символов.'); + if (bytes.length > CREATE_CHANNEL_DESCRIPTION_MAX_BYTES) { + throw new Error('Описание канала слишком длинное: максимум 2048 байт.'); } return text; } @@ -771,8 +772,8 @@ function makeCreateChannelBodyBytes({ } const descriptionBytes = utf8Bytes(cleanDescription); - if (descriptionBytes.length > 200) { - throw new Error('Описание канала слишком длинное: максимум 200 символов.'); + if (descriptionBytes.length > CREATE_CHANNEL_DESCRIPTION_MAX_BYTES) { + throw new Error('Описание канала слишком длинное: максимум 2048 байт.'); } const typeVer = Number(channelTypeVersion); if (!Number.isFinite(typeCode) || typeCode < 0 || typeCode > 65535) { @@ -796,31 +797,6 @@ function makeCreateChannelBodyBytes({ ); } -function makeCreateChannelBodyBytesLegacy({ - lineCode, - prevLineNumber, - prevLineHashHex, - thisLineNumber, - channelName, -}) { - const check = validatePersonalChannelName(channelName); - if (!check.ok) throw new Error(check.error); - const cleanName = check.normalized; - const nameBytes = utf8Bytes(cleanName); - if (nameBytes.length < 1 || nameBytes.length > 255) { - throw new Error('Channel name must be 1..255 bytes'); - } - - return concatBytes( - int32Bytes(lineCode), - int32Bytes(prevLineNumber), - hexToBytes(normalizeHex32(prevLineHashHex)), - int32Bytes(thisLineNumber), - int8Byte(nameBytes.length), - nameBytes, - ); -} - function makeTextPostBodyBytes({ lineCode, prevLineNumber, prevLineHashHex, thisLineNumber, text }) { const message = String(text || '').trim(); if (!message) throw new Error('Message text is required'); @@ -2084,6 +2060,8 @@ export class AuthService { login, channelName, channelDescription = '', + channelProfileTitle = '', + channelAvatar = null, channelType = CHANNEL_TYPE_PUBLIC, channelTypeVersion = CHANNEL_TYPE_VERSION_DEFAULT, storagePwd, @@ -2099,7 +2077,13 @@ export class AuthService { throw new Error(typeCode === CHANNEL_TYPE_PERSONAL ? nameCheck.error : channelNameErrorText(nameCheck.code)); } const cleanChannelName = normalizeChannelDisplayName(nameCheck.normalized); - const cleanChannelDescription = normalizeChannelDescription(channelDescription); + const cleanChannelDescription = typeCode === CHANNEL_TYPE_PUBLIC + ? composeChannelMetaText({ + title: channelProfileTitle, + description: channelDescription, + avatar: channelAvatar, + }) + : normalizeChannelDescription(channelDescription); const channelSlug = toCanonicalChannelSlug(cleanChannelName); const typeVersion = Number(channelTypeVersion); const key = `create-channel:${cleanLogin}:${typeCode}:${channelSlug || cleanChannelName.toLowerCase()}`; @@ -2131,51 +2115,23 @@ export class AuthService { thisLineNumber = createdChannels.length + 1; } - let payload; - try { - payload = await this.addBlockSigned({ - login: cleanLogin, - storagePwd, - msgType: MSG_TYPE_TECH, - msgSubType: MSG_SUBTYPE_TECH_CREATE_CHANNEL, - msgVersion: CREATE_CHANNEL_BODY_VERSION, - bodyBytes: makeCreateChannelBodyBytes({ - lineCode: 0, - prevLineNumber, - prevLineHashHex, - thisLineNumber, - channelName: cleanChannelName, - channelDescription: cleanChannelDescription, - channelType: typeCode, - channelTypeVersion: typeVersion, - }), - }); - } catch (error) { - const rawCode = String(error?.code || '').toUpperCase(); - const rawText = String(error?.message || '').toLowerCase(); - const isLegacyFormatMismatch = ( - rawCode === 'BAD_BLOCK_FORMAT' || - rawText.includes('bad_block_format') || - rawText.includes('некорректный формат блока') - ); - if (!isLegacyFormatMismatch) throw error; - - // Совместимость со старыми серверами, где CreateChannel body без description/type. - payload = await this.addBlockSigned({ - login: cleanLogin, - storagePwd, - msgType: MSG_TYPE_TECH, - msgSubType: MSG_SUBTYPE_TECH_CREATE_CHANNEL, - msgVersion: 1, - bodyBytes: makeCreateChannelBodyBytesLegacy({ - lineCode: 0, - prevLineNumber, - prevLineHashHex, - thisLineNumber, - channelName: cleanChannelName, - }), - }); - } + const payload = await this.addBlockSigned({ + login: cleanLogin, + storagePwd, + msgType: MSG_TYPE_TECH, + msgSubType: MSG_SUBTYPE_TECH_CREATE_CHANNEL, + msgVersion: CREATE_CHANNEL_BODY_VERSION, + bodyBytes: makeCreateChannelBodyBytes({ + lineCode: 0, + prevLineNumber, + prevLineHashHex, + thisLineNumber, + channelName: cleanChannelName, + channelDescription: cleanChannelDescription, + channelType: typeCode, + channelTypeVersion: typeVersion, + }), + }); const selector = { ownerBlockchainName: blockchainName, diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index ebf6dc0a..3254a030 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -3649,10 +3649,11 @@ textarea.input { } .channel-row .avatar { - width: 42px; - height: 42px; - min-width: 42px; - min-height: 42px; + width: 58px; + height: 58px; + min-width: 58px; + min-height: 58px; + border-radius: 50%; background: linear-gradient(138deg, #efd193, #c18c42); color: #17233f; box-shadow: inset 0 1px 0 rgba(255, 244, 208, 0.58); @@ -3920,14 +3921,14 @@ textarea.input { } .channel-profile-avatar { - --channel-avatar-size: 72px; + --channel-avatar-size: 96px; width: var(--channel-avatar-size); height: var(--channel-avatar-size); display: inline-flex; align-items: center; justify-content: center; align-self: center; - border-radius: 22px; + border-radius: 50%; background: linear-gradient(145deg, rgba(255, 214, 122, 0.22), rgba(56, 41, 22, 0.65)); border: 1px solid rgba(255, 226, 155, 0.24); color: rgba(255, 236, 194, 0.95); From e8398df9fc4337838facb071c4afb37a47f62606aab93135dcac6420858cceac Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:29:11 +0400 Subject: [PATCH 71/83] =?UTF-8?q?=D0=9A=D0=B0=D0=BD=D0=B0=D0=BB=D1=8B:=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../channels/ChannelsReadSupport.java | 2 +- VERSION.properties | 4 ++-- shine-UI/js/services/auth-service.js | 6 ++++-- shine-UI/styles/components.css | 21 ++++++++++--------- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java index 80c34b84..35fbfc29 100644 --- a/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java +++ b/SHiNE-server/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/channels/ChannelsReadSupport.java @@ -417,7 +417,7 @@ final class ChannelsReadSupport { event.bchName = rs.getString("bch_name"); event.blockNumber = rs.getInt("block_number"); event.blockHash = rs.getBytes("block_hash"); - event.lineStep = (Integer) rs.getObject("this_line_number"); + event.lineStep = null; try { BchBlockEntry entry = new BchBlockEntry(rs.getBytes("block_bytes")); event.createdAtMs = entry.timestamp * 1000L; diff --git a/VERSION.properties b/VERSION.properties index 1a48d601..68cb34db 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.12 -server.version=1.4.3 +client.version=1.4.13 +server.version=1.4.4 diff --git a/shine-UI/js/services/auth-service.js b/shine-UI/js/services/auth-service.js index eabc5c29..fd1ec31f 100644 --- a/shine-UI/js/services/auth-service.js +++ b/shine-UI/js/services/auth-service.js @@ -2191,9 +2191,11 @@ export class AuthService { if (Number.isFinite(latestBlockNumber) && latestBlockNumber >= 0 && latestBlockHash) { prevLineNumber = latestBlockNumber; prevLineHashHex = latestBlockHash; - thisLineNumber = Number.isFinite(latestLineStep) + thisLineNumber = latest?.kind === 'created' + ? 0 + : Number.isFinite(latestLineStep) ? Math.max(0, latestLineStep + 1) - : Math.max(1, latestBlockNumber === lineCode ? 1 : 0); + : (latestBlockNumber === lineCode ? 0 : 1); } } catch { // fallback to root anchor diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 3254a030..d4dbfd0c 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -4351,17 +4351,17 @@ textarea.input { font-size: 12px; } - .channel-row { - grid-template-columns: 40px minmax(0, 1fr) 64px; +.channel-row { + grid-template-columns: 64px minmax(0, 1fr) 64px; gap: 10px; padding: 12px; } .channel-row .avatar { - width: 38px; - height: 38px; - min-width: 38px; - min-height: 38px; + width: 64px; + height: 64px; + min-width: 64px; + min-height: 64px; } .channel-row-title { @@ -5034,10 +5034,11 @@ textarea.input { } .channel-row .avatar { - width: 44px; - height: 44px; - min-width: 44px; - min-height: 44px; + width: 68px; + height: 68px; + min-width: 68px; + min-height: 68px; + border-radius: 50%; color: #ffffff; font-weight: 700; } From 13da7287b175b8ffec78db412550011f4b4fa0459f4caa26741e600664a04139 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:40:08 +0400 Subject: [PATCH 72/83] =?UTF-8?q?UI:=20=D1=81=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B0=D0=B2=D0=B0=D1=82=D0=B0=D1=80=D1=8B=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=B2?= =?UTF-8?q?=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/components/arweave-attachment-manager.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 68cb34db..42d4a1fb 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.13 +client.version=1.4.14 server.version=1.4.4 diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index 70a4ba42..3c77f75b 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -193,7 +193,8 @@ export function openArweaveAttachmentManager({ let balanceInfo = null; let autoOpenedFileDialog = false; const isAvatarMode = String(mode || '') === 'avatar'; - const purposeFilter = isAvatarMode || String(historyPurpose || '').trim() === 'avatar' ? 'avatar' : ''; + const historyPurposeMode = String(historyPurpose || '').trim(); + const purposeFilter = isAvatarMode || historyPurposeMode === 'avatar' ? 'avatar' : 'attachment'; const selectedTxIdSet = new Set((Array.isArray(selectedTxIds) ? selectedTxIds : []).map((item) => String(item || '').trim()).filter(Boolean)); function selectedWallet() { @@ -438,7 +439,7 @@ export function openArweaveAttachmentManager({ const showHistory = () => { const rows = readArweaveAttachmentHistory(cleanLogin) - .filter((item) => !purposeFilter || item.purpose === purposeFilter) + .filter((item) => purposeFilter === 'avatar' ? item.purpose === 'avatar' : item.purpose !== 'avatar') .slice() .reverse(); root.innerHTML = ` From a23c979045e330e5eb786609351ddc6cfd7a7c26ec2ef05d25bc1528cb64aa6b Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:42:11 +0400 Subject: [PATCH 73/83] =?UTF-8?q?UI:=20=D0=BE=D0=B1=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=B0=D0=B2=D0=B0=D1=82=D0=B0=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=BA=D1=80?= =?UTF-8?q?=D1=83=D0=B3=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/styles/components.css | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index 42d4a1fb..4a4b53f5 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.14 +client.version=1.4.15 server.version=1.4.4 diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index d4dbfd0c..5a600f16 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -5039,10 +5039,20 @@ textarea.input { min-width: 68px; min-height: 68px; border-radius: 50%; + overflow: hidden; color: #ffffff; font-weight: 700; } +.channel-row .avatar img { + width: 100%; + height: 100%; + display: block; + object-fit: cover; + object-position: center; + border-radius: 50%; +} + .channel-row-title { color: #ffffff; font-size: 17px; @@ -6352,6 +6362,7 @@ html, body { overflow-x: hidden; } .profile-screen .avatar.large { position: relative; border-radius: 50%; + overflow: hidden; border: 1px solid rgba(130, 198, 255, 0.62); background: radial-gradient(circle at 30% 28%, rgba(161, 204, 255, 0.95), rgba(89, 141, 220, 0.92) 46%, rgba(32, 71, 136, 0.95) 72%, rgba(20, 48, 99, 0.98) 100%); From de7c35f58706e9df6292d87a805e0362eb7fb3d4865ae8d68b1edcf95314e30c Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:52:25 +0400 Subject: [PATCH 74/83] =?UTF-8?q?UI:=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B8=D1=82=D1=8C=20=D0=BF=D0=BB=D0=B8=D1=82=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/pages/channels-list.js | 2 +- shine-UI/styles/components.css | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 4a4b53f5..8ecc5fc1 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.15 +client.version=1.4.16 server.version=1.4.4 diff --git a/shine-UI/js/pages/channels-list.js b/shine-UI/js/pages/channels-list.js index 514480a8..e0606692 100644 --- a/shine-UI/js/pages/channels-list.js +++ b/shine-UI/js/pages/channels-list.js @@ -1039,7 +1039,7 @@ function renderListContent({ screen, container, listState, navigate, refreshFeed const time = document.createElement('span'); time.className = 'channel-row-time'; - time.textContent = channel.lastMessageAt ? formatRelativeTime(channel.lastMessageAt) : '—'; + time.textContent = channel.lastMessageAt ? formatRelativeTime(channel.lastMessageAt) : ''; const count = document.createElement('span'); count.className = 'unread channel-row-count'; diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 5a600f16..671c4914 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -6998,7 +6998,7 @@ html, body { overflow-x: hidden; } .channels-screen--list .channels-status, .channels-screen--list .channels-empty-state, .channels-screen--list .channels-bottom-action { - margin: 16px 20px; + margin: 16px 8px; } .channels-screen--list .channels-bottom-action { @@ -7025,12 +7025,12 @@ html, body { overflow-x: hidden; } } .channels-screen--list .channel-row { - grid-template-columns: 46px minmax(0, 1fr) auto; + grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; - gap: 10px; - min-height: 56px; - margin: 2px 20px; - padding: 6px 14px; + gap: 16px; + min-height: 78px; + margin: 4px 8px; + padding: 8px 10px; border-radius: 16px; border-color: transparent !important; background: rgba(18, 24, 38, 0.18) !important; @@ -7038,7 +7038,7 @@ html, body { overflow-x: hidden; } } .channels-screen--list .channel-row-main { - gap: 2px; + gap: 3px; } .channels-screen--list .channel-row-message { From 21fac8046ebd824fcd5abacc2f0bb6df56b878dcd8127543ce698a0c9b1c36fb Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 02:59:15 +0400 Subject: [PATCH 75/83] =?UTF-8?q?UI:=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BB=D0=B8=D1=82=D0=BA=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=BF=D0=BE=D1=87=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B2=D0=BE=20=D0=B2=D1=81=D1=8E=20=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B8=D0=BD=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/styles/components.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 8ecc5fc1..40dd5b3a 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.16 +client.version=1.4.17 server.version=1.4.4 diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 671c4914..59da0843 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -7029,7 +7029,7 @@ html, body { overflow-x: hidden; } align-items: center; gap: 16px; min-height: 78px; - margin: 4px 8px; + margin: 4px 2px; padding: 8px 10px; border-radius: 16px; border-color: transparent !important; From 620186db1c379cfec82625db805eba129e50d11b08806e13fa1fa6c9828ea587 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 09:43:51 +0400 Subject: [PATCH 76/83] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F:=20=D1=83=D1=82=D0=BE?= =?UTF-8?q?=D1=87=D0=BD=D0=B8=D1=82=D1=8C=20AddBlock=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8F=20=D0=BA=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- docs/API/04_Add_Block_to_Blockchain_API.md | 52 ++++++++++++++++++++-- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 40dd5b3a..3710ffcc 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ client.version=1.4.17 -server.version=1.4.4 +server.version=1.4.5 diff --git a/docs/API/04_Add_Block_to_Blockchain_API.md b/docs/API/04_Add_Block_to_Blockchain_API.md index 18975a49..d3811536 100644 --- a/docs/API/04_Add_Block_to_Blockchain_API.md +++ b/docs/API/04_Add_Block_to_Blockchain_API.md @@ -135,7 +135,51 @@ 5. **USER_PARAM (type=4)** - `USER_PARAM_TEXT_TEXT (1)` -## 6. Хватает ли функций сейчас +## 6. Практические payload-форматы для каналов и вложений + +`AddBlock` не имеет отдельных JSON-полей для вложений, аватаров или человекочитаемого имени канала. Клиент собирает бинарный блок нужного типа, а новые данные кладёт в текстовые поля тела блока по правилам blockchain-формата. + +### Вложения в сообщениях + +Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` вложения записываются в начало текста сообщения одним или несколькими тегами `SHiNE:attach v=1`. + +Пример текстового содержимого body: + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;ar=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB> +<SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc;ar=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD> +Текст сообщения +``` + +Сервер хранит это как обычный `TEXT`-блок. Отображение карусели, картинок, видео и карточек файлов делает клиент. Полная спецификация тега находится в `docs/Blockchain/15_TEXT_Attachments.md`. + +### Создание публичного канала с профилем + +Для публичного канала начальный профиль пишется одним блоком `TECH_CREATE_CHANNEL`. Поле `channelDescription` содержит meta-текст: + +```text +<SHiNE:title;v=1;Человекочитаемое имя канала> +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;ar=AbCdEfAbCdEfAbCdEfAbCdEfAbCdEfAbCdEfAbCdE> +Описание канала +``` + +Ограничение `channelDescription` — до `2048` UTF-8 байт. Новый клиент не пишет отдельный `TEXT_CHANNEL_META` сразу после создания канала: создание канала и начальный профиль должны попадать в один `TECH_CREATE_CHANNEL`. + +### Изменение профиля канала + +Последующие изменения аватара, человекочитаемого имени или описания канала пишутся отдельным скрытым `TEXT_CHANNEL_META (subType=70)`. + +Текстовое содержимое body использует тот же формат полного снимка профиля: + +```text +<SHiNE:title;v=1;Новое имя канала> +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;ar=AbCdEfAbCdEfAbCdEfAbCdEfAbCdEfAbCdEfAbCdE> +Новое описание канала +``` + +Каждый `TEXT_CHANNEL_META` является полным состоянием профиля на момент записи. Если аватара нет, тег `SHiNE:avatar` не пишется. Если описания нет, после meta-тегов не добавляется хвостовой текст. Полная спецификация находится в `docs/Blockchain/16_TEXT_Channel_Meta.md`. + +## 7. Хватает ли функций сейчас Коротко: **для записи событий в блокчейн — хватает**, для полноценного клиентского чтения — **пока не хватает**. @@ -149,7 +193,7 @@ - нет API списка подписок с серверными счётчиками непрочитанного; - нет ленты событий (новые ответы/лайки/подписки) как отдельного RPC. -## 7. Рекомендации по клиенту при записи блоков +## 8. Рекомендации по клиенту при записи блоков 1. Перед отправкой держать локальный `lastNumber/lastHash`. 2. При `bad_prev_hash` или `bad_block_number`: @@ -159,7 +203,7 @@ 4. Для связей/подписок использовать target на **root** (HEADER или CREATE_CHANNEL), а не на произвольный пост. -## 8. USER_PARAM для «личных данных» +## 9. USER_PARAM для «личных данных» Да, на текущем API это можно добавить **без изменения серверного кода**: @@ -185,7 +229,7 @@ --- -## 9. `GetBlockchainBlock` +## 10. `GetBlockchainBlock` ### Назначение From b6df25c02c41bc9be97580eafd4d35c0b051fe2ff5011166279d2fe0cd6e137d Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 09:47:09 +0400 Subject: [PATCH 77/83] =?UTF-8?q?UI:=20=D1=81=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=B5=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=81=D1=82=D1=80=D0=B5=D0=BB=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/styles/components.css | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index 3710ffcc..2de39460 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.17 +client.version=1.4.18 server.version=1.4.5 diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index 59da0843..b3b0ce80 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2225,6 +2225,10 @@ textarea.input { z-index: 2; } +.message-attachment-arrow[hidden] { + display: none; +} + .message-attachment-arrow:disabled { cursor: default; opacity: 0.28; From adb0b765597cf2aab3821625c58d5fe0326047c94b746c2e6ea1a1c994df4664 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 09:59:25 +0400 Subject: [PATCH 78/83] =?UTF-8?q?UI:=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=B8=D0=BD=D0=B0=D1=82=D1=8C=20Arweave-=D0=BA=D0=BE=D1=88?= =?UTF-8?q?=D0=B5=D0=BB=D1=91=D0=BA=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D1=87=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- .../components/arweave-attachment-manager.js | 29 +++++++++++++++++-- shine-UI/styles/components.css | 5 ++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 2de39460..5928cca4 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.18 +client.version=1.4.19 server.version=1.4.5 diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index 3c77f75b..a2539914 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -10,6 +10,7 @@ import { addArweaveWalletSecret, getArweaveBalance, getArweaveWalletChoices } fr import { escapeHtml, formatBytes, normalizeAttachment } from '../services/attachment-format.js'; const HISTORY_KEY = 'shine-ui-arweave-attachment-history-v1'; +const LAST_WALLET_KEY_PREFIX = 'shine-ui-arweave-last-wallet-v1:'; const MAX_HISTORY_ITEMS = 100; const RECENT_UPLOAD_MS = 20 * 60 * 1000; @@ -135,6 +136,27 @@ function shortAddress(value) { return `${raw.slice(0, 8)}...${raw.slice(-6)}`; } +function lastWalletStorageKey(login) { + return `${LAST_WALLET_KEY_PREFIX}${String(login || '').trim().toLowerCase() || 'anonymous'}`; +} + +function readLastWalletId(login) { + try { + return sessionStorage.getItem(lastWalletStorageKey(login)) || ''; + } catch { + return ''; + } +} + +function writeLastWalletId(login, walletId) { + try { + const clean = String(walletId || '').trim(); + if (clean) sessionStorage.setItem(lastWalletStorageKey(login), clean); + } catch { + // Если sessionStorage недоступен, выбор сохраняется хотя бы в текущем окне менеджера. + } +} + async function resizeImageFileToAvatar(file) { const source = file instanceof File ? file : null; if (!source) throw new Error('Выберите изображение.'); @@ -186,7 +208,7 @@ export function openArweaveAttachmentManager({ let closed = false; let wallets = []; - let selectedWalletId = 'derived-client-key'; + let selectedWalletId = readLastWalletId(cleanLogin) || 'derived-client-key'; let selectedFile = null; let selectedSha256 = ''; let priceInfo = null; @@ -235,6 +257,7 @@ export function openArweaveAttachmentManager({ if (!wallets.some((item) => String(item.id) === String(selectedWalletId))) { selectedWalletId = String(wallets[0]?.id || 'derived-client-key'); } + writeLastWalletId(cleanLogin, selectedWalletId); } catch (error) { setText(errorEl, error?.message || 'Не удалось загрузить Arweave-кошельки.'); } @@ -246,7 +269,7 @@ export function openArweaveAttachmentManager({ <div class="modal-card stack ar-attachment-manager-card"> <h3 class="modal-title">${isAvatarMode ? 'Загрузить аватар' : (historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение')}</h3> <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> - <select class="input" id="ar-attach-wallet"></select> + <select class="input ar-attachment-wallet-select" id="ar-attach-wallet"></select> <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> ${isAvatarMode ? '<p class="meta-muted">Выберите изображение. Перед загрузкой оно будет сжато до 512×512 и сохранено в истории как аватар.</p>' : (historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>')} <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> @@ -275,6 +298,7 @@ export function openArweaveAttachmentManager({ walletEl.value = selectedWalletId; walletEl.addEventListener('change', () => { selectedWalletId = String(walletEl.value || ''); + writeLastWalletId(cleanLogin, selectedWalletId); uploadBtn.disabled = true; selectedFile = null; selectedSha256 = ''; @@ -535,6 +559,7 @@ export function openArweaveAttachmentManager({ secret: String(secretEl?.value || '').trim(), }); selectedWalletId = wallet.id; + writeLastWalletId(cleanLogin, selectedWalletId); await showUpload(); } catch (error) { saveBtn.disabled = false; diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index b3b0ce80..eae8ce5d 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2485,6 +2485,11 @@ textarea.input { overflow-wrap: anywhere; } +.ar-attachment-wallet-select, +.ar-attachment-wallet-select option { + color: #38bdf8; +} + .ar-attachment-history-table-wrap { max-height: 55vh; overflow: auto; From 8de0f8e87c0e763f9e3ba29c8e9d0569b856cd8c756a37b479374fde6e5efbad Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Sat, 1 Aug 2026 10:12:11 +0400 Subject: [PATCH 79/83] =?UTF-8?q?UI:=20=D0=BF=D0=B8=D1=81=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20SHiNE=20=D0=B2=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0?= =?UTF-8?q?=D1=85=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- shine-UI/js/services/shine-routes.js | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/VERSION.properties b/VERSION.properties index 5928cca4..e8af0e48 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.19 +client.version=1.4.20 server.version=1.4.5 diff --git a/shine-UI/js/services/shine-routes.js b/shine-UI/js/services/shine-routes.js index 6026e628..f11af593 100644 --- a/shine-UI/js/services/shine-routes.js +++ b/shine-UI/js/services/shine-routes.js @@ -10,6 +10,8 @@ function decodeRoutePart(value = '') { } } +const SHINE_ROUTE_PREFIX = 'SHiNE.'; + export function normalizeLogin(value = '') { return String(value || '').trim().replace(/^@+/, ''); } @@ -23,21 +25,21 @@ export function extractLoginFromBlockchainName(value = '') { export function makeProfileRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}` : 'profile'; + return clean ? `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}` : 'profile'; } export function makeProfileLinksRoute(login = '') { const clean = normalizeLogin(login); - return clean ? `shine.${encodeRoutePart(clean)}/links` : 'network/keep-history'; + return clean ? `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/links` : 'network/keep-history'; } export function makeProfileChannelsRoute(login = '', scope = 'all') { const clean = normalizeLogin(login); if (!clean) return 'channels/feed'; const normalizedScope = String(scope || '').trim().toLowerCase(); - if (normalizedScope === 'owned') return `shine.${encodeRoutePart(clean)}/channels/owned`; - if (normalizedScope === 'following') return `shine.${encodeRoutePart(clean)}/channels/following`; - return `shine.${encodeRoutePart(clean)}/channels`; + if (normalizedScope === 'owned') return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels/owned`; + if (normalizedScope === 'following') return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels/following`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(clean)}/channels`; } export function makeShineChannelRoute({ ownerLogin = '', ownerBlockchainName = '', channelName = '', messageBlockNumber = '' }) { @@ -45,19 +47,19 @@ export function makeShineChannelRoute({ ownerLogin = '', ownerBlockchainName = ' const chName = String(channelName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); if (!ownerBch || !chName) return ''; - if (msgNo) return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; - return `shine.${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; + if (msgNo) return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}/${encodeRoutePart(msgNo)}`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(ownerBch)}/${encodeRoutePart(chName)}`; } export function makeShineMessageRoute({ ownerLogin = '', messageBlockchainName = '', messageBlockNumber = '' }) { const msgBch = String(messageBlockchainName || '').trim(); const msgNo = String(messageBlockNumber || '').trim(); if (!msgBch || !msgNo) return ''; - return `shine.${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; + return `${SHINE_ROUTE_PREFIX}${encodeRoutePart(msgBch)}/${encodeRoutePart(msgNo)}`; } export function parseShineRootSegment(segment = '') { const raw = String(segment || '').trim(); - if (!raw.toLowerCase().startsWith('shine.')) return ''; - return normalizeLogin(decodeRoutePart(raw.slice('shine.'.length))); + if (!raw.toLowerCase().startsWith(SHINE_ROUTE_PREFIX.toLowerCase())) return ''; + return normalizeLogin(decodeRoutePart(raw.slice(SHINE_ROUTE_PREFIX.length))); } From 391b18a5aca7bd66c9b564f1f71fe49ad4aab4fe20ece7aae2b623cec90dad36 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Mon, 3 Aug 2026 08:34:34 +0400 Subject: [PATCH 80/83] =?UTF-8?q?Deploy:=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20production=20VAPID=20keys=20=D0=B4=D0=BB=D1=8F=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- deploy/scripts/production_server2_ui.sh | 1 + deploy/scripts/production_shineupme_ui.sh | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index e8af0e48..b86ab23c 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.20 +client.version=1.4.21 server.version=1.4.5 diff --git a/deploy/scripts/production_server2_ui.sh b/deploy/scripts/production_server2_ui.sh index 1367eebf..d2ef55fd 100755 --- a/deploy/scripts/production_server2_ui.sh +++ b/deploy/scripts/production_server2_ui.sh @@ -9,6 +9,7 @@ DEPLOY_SERVER_LOGIN="server2shineupme" \ DEPLOY_SERVER_ADDRESS="server2.shineup.me" \ DEPLOY_SOLANA_CLUSTER="mainnet" \ DEPLOY_SOLANA_ENDPOINT="https://public.rpc.solanavibestation.com/" \ +DEPLOY_WEBPUSH_VAPID_PUBLIC="BGI4ZG5ADm8MrUG0EQi2G0ZxoqTbZZyfUOzt3O-HrM6z4-zFPUpGGIGcA7Tx3N-O0r5Pie0ndGSdx6kRU2X2x4g" \ TARGET_URL="https://server2.shineup.me" \ REQUIRE_BACKUP="1" \ bash "$(dirname "$0")/deploy_ui.sh" diff --git a/deploy/scripts/production_shineupme_ui.sh b/deploy/scripts/production_shineupme_ui.sh index 14c89c04..136ff2f8 100755 --- a/deploy/scripts/production_shineupme_ui.sh +++ b/deploy/scripts/production_shineupme_ui.sh @@ -9,6 +9,7 @@ DEPLOY_SERVER_LOGIN="shineupme" \ DEPLOY_SERVER_ADDRESS="shineup.me" \ DEPLOY_SOLANA_CLUSTER="mainnet" \ DEPLOY_SOLANA_ENDPOINT="https://public.rpc.solanavibestation.com/" \ +DEPLOY_WEBPUSH_VAPID_PUBLIC="BEX12-68cSJVYvWSlwgLpd8TqITZrxxh8n20EulUK0OK4u5uWCsuu-iam86zVGYoZJTl1QKxlikGYhB-GLKSsxQ" \ TARGET_URL="https://shineup.me" \ REQUIRE_BACKUP="1" \ bash "$(dirname "$0")/deploy_ui.sh" From 75b75fd22323537d85a2deb65251a86ab9af05ee393e3a3a481756df1af55cc5 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Tue, 4 Aug 2026 19:09:54 +0400 Subject: [PATCH 81/83] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20Turbo-=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B8=20=D0=BF=D1=80=D0=B5=D0=B2=D1=8C=D1=8E=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/API/04_Add_Block_to_Blockchain_API.md | 8 +- docs/Blockchain/11_TEXT_Blocks.md | 13 +- docs/Blockchain/15_TEXT_Attachments.md | 35 +- docs/Blockchain/CHANGELOG.md | 6 + docs/Blockchain/README.md | 2 +- .../components/arweave-attachment-manager.js | 602 +++++++++++++++-- shine-UI/js/components/avatar-wizard.js | 636 +----------------- shine-UI/js/pages/arweave-uploads-view.js | 18 +- shine-UI/js/services/attachment-format.js | 36 +- shine-UI/js/services/solana-wallet-service.js | 108 ++- shine-UI/js/services/turbo-upload-service.js | 213 ++++++ shine-UI/js/vendor/turbo-sdk.web.bundle.js | 423 ++++++++++++ shine-UI/styles/components.css | 35 + 13 files changed, 1445 insertions(+), 690 deletions(-) create mode 100644 shine-UI/js/services/turbo-upload-service.js create mode 100644 shine-UI/js/vendor/turbo-sdk.web.bundle.js diff --git a/docs/API/04_Add_Block_to_Blockchain_API.md b/docs/API/04_Add_Block_to_Blockchain_API.md index d3811536..c156605f 100644 --- a/docs/API/04_Add_Block_to_Blockchain_API.md +++ b/docs/API/04_Add_Block_to_Blockchain_API.md @@ -141,7 +141,7 @@ ### Вложения в сообщениях -Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` вложения записываются в начало текста сообщения одним или несколькими тегами `SHiNE:attach v=1`. +Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` вложения записываются в начало текста сообщения одним или несколькими тегами `SHiNE:attach v=1` или `v=2`. Пример текстового содержимого body: @@ -151,6 +151,12 @@ Текст сообщения ``` +Пример вложения с отдельным preview-файлом: + +```text +<SHiNE:attach;v=2;name=video.mp4;size=5820193;sha256=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;ar=CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC;previewAr=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD;previewSha256=eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee> +``` + Сервер хранит это как обычный `TEXT`-блок. Отображение карусели, картинок, видео и карточек файлов делает клиент. Полная спецификация тега находится в `docs/Blockchain/15_TEXT_Attachments.md`. ### Создание публичного канала с профилем diff --git a/docs/Blockchain/11_TEXT_Blocks.md b/docs/Blockchain/11_TEXT_Blocks.md index 6c4dca05..63d68d65 100644 --- a/docs/Blockchain/11_TEXT_Blocks.md +++ b/docs/Blockchain/11_TEXT_Blocks.md @@ -45,7 +45,7 @@ TEXT-тип хранит сообщения и редактирования. - Такой edit трактуется как логическое удаление содержимого сообщения. - Для удаления используется именно edit-блок; отдельного `DELETE`-подтипа нет. -## Вложения в текстовых сообщениях (`SHiNE:attach v=1`) +## Вложения в текстовых сообщениях (`SHiNE:attach v=1/v=2`) Для `TEXT_POST`, `TEXT_REPLY`, `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` клиент может хранить вложения как технические строки в начале обычного `text`. @@ -59,15 +59,22 @@ TEXT-тип хранит сообщения и редактирования. <SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=0123...;ar=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA> ``` +Для файлов с отдельным превью клиент может использовать расширенный вариант: + +```text +<SHiNE:attach;v=2;name=video.mp4;size=5820193;sha256=bbbb...;ar=CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC;previewAr=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD;previewSha256=eeee...> +``` + Несколько вложений идут подряд в самом начале текста, по одному блоку на строку. После последнего блока идёт обычный пользовательский текст. Обязательные поля: -- `v=1` +- `v=1` или `v=2` - `name` - имя файла, закодированное через `encodeURIComponent` - `size` - размер файла в байтах - `sha256` - SHA-256 исходного файла в hex - `ar` - короткий Arweave Transaction ID, без полного URL +- для `v=2` дополнительно могут присутствовать `previewAr` и `previewSha256` Правила клиента: @@ -76,4 +83,4 @@ TEXT-тип хранит сообщения и редактирования. - старые клиенты без поддержки вложений могут показывать технические строки как обычный текст; - пустой пользовательский текст допустим, если перед ним есть хотя бы один валидный attach-блок. -Файлы хранятся вне блокчейна, в Arweave. В блокчейне остаются только `txId`, имя, размер и SHA-256. +Файлы хранятся вне блокчейна, в Arweave. В блокчейне остаются только `txId`, имя, размер, SHA-256 и, при наличии отдельного preview-файла, `previewAr/previewSha256`. diff --git a/docs/Blockchain/15_TEXT_Attachments.md b/docs/Blockchain/15_TEXT_Attachments.md index ea8050b9..9500a5c3 100644 --- a/docs/Blockchain/15_TEXT_Attachments.md +++ b/docs/Blockchain/15_TEXT_Attachments.md @@ -1,4 +1,4 @@ -# Вложения в TEXT-сообщениях (`SHiNE:attach v=1`) +# Вложения в TEXT-сообщениях (`SHiNE:attach v=1/v=2`) Документ фиксирует текущий формат вложений в текстовых блоках SHiNE. @@ -21,6 +21,12 @@ <SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef;ar=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA> ``` +Блок с превью: + +```text +<SHiNE:attach;v=2;name=video.mp4;size=5820193;sha256=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;ar=CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC;previewAr=DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD;previewSha256=eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee> +``` + Несколько вложений идут подряд в самом начале текста: ```text @@ -43,6 +49,11 @@ - `sha256` - SHA-256 исходного файла в hex, 64 символа; - `ar` - короткий Arweave Transaction ID, 43 символа, без gateway URL. +Дополнительные поля для `v=2`: + +- `previewAr` - короткий Arweave Transaction ID файла-превью; +- `previewSha256` - SHA-256 файла-превью в hex. + ## Хранение файла Файл хранится вне блокчейна в Arweave. В блокчейне хранится только метаинформация, достаточная для отображения и проверки: @@ -52,6 +63,8 @@ - SHA-256; - Arweave `txId`. +Опционально для видео или больших изображений может храниться отдельный второй файл-превью. В таком случае основной attach-блок остаётся одним, но дополнительно указывает `previewAr/previewSha256`. + ## Создание вложения в UI UI поддерживает три сценария: @@ -60,6 +73,15 @@ UI поддерживает три сценария: - ввести существующий `txId`, скачать файл через Arweave gateway и локально посчитать `size/sha256`; - выбрать файл из журнала файлов, загруженных в текущей браузерной сессии. +Для видеофайлов UI может по желанию пользователя автоматически создать превью из первого кадра. Технически клиент загружает два файла: + +- основной видеофайл; +- отдельное изображение-превью. + +После успешной загрузки в журнале хранится один элемент основного файла, но с полями `previewAr/previewSha256`. В UI такой элемент помечается как файл `С превью`. + +При ручном добавлении существующего `txId` для видео UI также позволяет вручную указать `txId` файла-превью. + Журнал хранится только в `sessionStorage` текущего браузера и не является частью блокчейна. В настройках клиента есть отдельный экран `Загрузка файлов`: пользователь может заранее загрузить файл в Arweave без создания сообщения, увидеть компактную плитку с именем, размером, временем загрузки, `txId` и статусом доступности через gateway, а затем выбрать этот файл из истории при создании сообщения. Если файл загружен заранее, но ещё не был отправлен ни в одном сообщении SHiNE, клиент показывает локальный флаг `Не добавлен в SHiNE`. Флаг снимается после успешной отправки сообщения с этим вложением. @@ -77,8 +99,9 @@ UI поддерживает три сценария: - изображение показывает как ограниченное по размеру превью; - видео показывает как превью с кнопкой воспроизведения и открывает большой HTML5-плеер по нажатию; - обычный файл показывает как карточку с именем, расширением, размером и скачиванием; -6. при перелистывании останавливает воспроизводящееся видео; -7. если attach-блок битый, игнорирует только этот блок и продолжает отображать сообщение. +6. если у видео есть `previewAr/previewSha256`, использует отдельный preview-файл как `poster` и как большую превью-плитку в журнале загрузок; +7. при перелистывании останавливает воспроизводящееся видео; +8. если attach-блок битый, игнорирует только этот блок и продолжает отображать сообщение. Если файл по ссылке Arweave gateway недоступен, клиент показывает диагностический блок: @@ -91,9 +114,11 @@ UI поддерживает три сценария: При редактировании сообщения UI сохраняет существующие attach-блоки и меняет только пользовательский текст. Удаление сообщения по-прежнему выполняется через edit-блок с пустым текстом, как описано в `11_TEXT_Blocks.md`. -## Ограничения v1 +## Совместимость и ограничения - `ar` допускает только короткий Arweave `txId`, полный URL не используется; - MIME type не записывается, поэтому UI определяет image/video/file по расширению имени файла; -- MIME type, width, height, duration и thumbnail не записываются в блокчейн; +- старые блоки `v=1` без превью остаются валидными и читаются без изменений; +- `previewAr/previewSha256` используются только если присутствуют оба поля и оба валидны; +- MIME type, width, height, duration и thumbnail не записываются в блокчейн отдельными полями; - проверка существующего `txId` скачивает файл локально через gateway, поэтому UI ограничивает максимальный размер такой проверки. diff --git a/docs/Blockchain/CHANGELOG.md b/docs/Blockchain/CHANGELOG.md index f76eb71a..e9b5a317 100644 --- a/docs/Blockchain/CHANGELOG.md +++ b/docs/Blockchain/CHANGELOG.md @@ -1,5 +1,11 @@ # История изменений документации блокчейна +## 2026-08-04 12:00:00 +0400 +- Базовый коммит-ориентир: `391b18a`. +- Формат вложений расширен до `SHiNE:attach v=2` для опционального второго preview-файла: добавлены поля `previewAr` и `previewSha256` при сохранении совместимости со старыми `v=1`. +- В UI загрузки для видео добавлен сценарий `Добавить превью`: клиент может извлечь первый кадр, загрузить его отдельным файлом в Arweave или через Turbo и сохранить связь preview с основным вложением. +- В журнале загрузок файлы с preview помечаются явно и показываются расширенной плиткой с картинкой превью. + ## 2026-07-31 17:22:07 +0400 - Базовый коммит-ориентир: `05bd9f5`. - Уточнён UI вложений: превью последнего сообщения в списке каналов скрывает технические attach-блоки, карусель не показывает неактивные стрелки на краях, обычный файл отображается компактной кликабельной полоской без `txId`; формат attach-блока не изменён. diff --git a/docs/Blockchain/README.md b/docs/Blockchain/README.md index bce27443..438eb4ff 100644 --- a/docs/Blockchain/README.md +++ b/docs/Blockchain/README.md @@ -18,7 +18,7 @@ 7. [14_USER_PARAM_Blocks.md](./14_USER_PARAM_Blocks.md) Параметры пользователя (`msg_type=4`). 8. [15_TEXT_Attachments.md](./15_TEXT_Attachments.md) - Вложения в TEXT-сообщениях через `SHiNE:attach v=1`. + Вложения в TEXT-сообщениях через `SHiNE:attach v=1/v=2`, включая опциональные `previewAr/previewSha256` для видео и крупных изображений. 9. [16_TEXT_Channel_Meta.md](./16_TEXT_Channel_Meta.md) Скрытый `TEXT_CHANNEL_META` для профиля канала. 10. [01_Channel_Types_and_CreateChannel.md](./01_Channel_Types_and_CreateChannel.md) diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index a2539914..24e8beaf 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -7,10 +7,20 @@ import { validateArweaveTxId, } from '../services/arweave-file-service.js'; import { addArweaveWalletSecret, getArweaveBalance, getArweaveWalletChoices } from '../services/arweave-wallet-service.js'; -import { escapeHtml, formatBytes, normalizeAttachment } from '../services/attachment-format.js'; +import { escapeHtml, formatBytes, getAttachmentKind, normalizeAttachment } from '../services/attachment-format.js'; +import { getStoredSolanaWalletChoices } from '../services/solana-wallet-service.js'; +import { + estimateTurboUploadPrice, + formatTurboCredits, + getFreeTurboUploadBytesLimit, + getTurboBalanceForStoredSolanaKey, + topUpTurboWithSolana, + uploadFileWithTurbo, +} from '../services/turbo-upload-service.js'; const HISTORY_KEY = 'shine-ui-arweave-attachment-history-v1'; const LAST_WALLET_KEY_PREFIX = 'shine-ui-arweave-last-wallet-v1:'; +const LAST_TURBO_KEY_SOURCE_PREFIX = 'shine-ui-turbo-last-key-source-v1:'; const MAX_HISTORY_ITEMS = 100; const RECENT_UPLOAD_MS = 20 * 60 * 1000; @@ -26,6 +36,26 @@ function normalizeHistoryItem(input = {}) { }; } +function hasAttachmentPreview(item) { + return !!String(item?.preview?.ar || '').trim(); +} + +function isVideoAttachmentName(name) { + return getAttachmentKind({ name }) === 'video'; +} + +function buildHistoryPreviewMarkup(item, gateway) { + if (!hasAttachmentPreview(item)) return ''; + const previewTxId = String(item.preview.ar || '').trim(); + const previewUrl = buildArweaveDataUrl({ gateway, txId: previewTxId }); + return ` + <div class="ar-attachment-history-preview"> + <img class="ar-attachment-history-preview-image" src="${escapeHtml(previewUrl)}" alt="Превью ${escapeHtml(item.name)}" loading="lazy" /> + <div class="ar-attachment-history-preview-badge">Есть превью</div> + </div> + `; +} + export function readArweaveAttachmentHistory(login) { try { const raw = sessionStorage.getItem(HISTORY_KEY); @@ -140,6 +170,10 @@ function lastWalletStorageKey(login) { return `${LAST_WALLET_KEY_PREFIX}${String(login || '').trim().toLowerCase() || 'anonymous'}`; } +function lastTurboKeySourceStorageKey(login) { + return `${LAST_TURBO_KEY_SOURCE_PREFIX}${String(login || '').trim().toLowerCase() || 'anonymous'}`; +} + function readLastWalletId(login) { try { return sessionStorage.getItem(lastWalletStorageKey(login)) || ''; @@ -157,6 +191,23 @@ function writeLastWalletId(login, walletId) { } } +function readLastTurboKeySource(login, fallback = 'client') { + try { + return sessionStorage.getItem(lastTurboKeySourceStorageKey(login)) || String(fallback || 'client'); + } catch { + return String(fallback || 'client'); + } +} + +function writeLastTurboKeySource(login, keySource) { + try { + const clean = String(keySource || '').trim() || 'client'; + sessionStorage.setItem(lastTurboKeySourceStorageKey(login), clean); + } catch { + // ignore sessionStorage errors + } +} + async function resizeImageFileToAvatar(file) { const source = file instanceof File ? file : null; if (!source) throw new Error('Выберите изображение.'); @@ -187,6 +238,45 @@ async function resizeImageFileToAvatar(file) { return new File([blob], 'avatar.jpg', { type: 'image/jpeg', lastModified: Date.now() }); } +async function createVideoPreviewFile(file) { + const source = file instanceof File ? file : null; + if (!source) throw new Error('Выберите видеофайл.'); + const blobUrl = URL.createObjectURL(source); + try { + const video = await new Promise((resolve, reject) => { + const node = document.createElement('video'); + node.preload = 'metadata'; + node.muted = true; + node.playsInline = true; + node.onloadeddata = () => resolve(node); + node.onerror = () => reject(new Error('Не удалось открыть видео для создания превью.')); + node.src = blobUrl; + }); + const width = Number(video.videoWidth || 0); + const height = Number(video.videoHeight || 0); + if (!width || !height) { + throw new Error('Не удалось определить размер видео для превью.'); + } + const maxSide = 640; + const scale = Math.min(1, maxSide / Math.max(width, height)); + const canvas = document.createElement('canvas'); + canvas.width = Math.max(1, Math.round(width * scale)); + canvas.height = Math.max(1, Math.round(height * scale)); + const ctx = canvas.getContext('2d'); + if (!ctx) throw new Error('Canvas недоступен для создания превью.'); + ctx.drawImage(video, 0, 0, canvas.width, canvas.height); + const blob = await new Promise((resolve) => canvas.toBlob(resolve, 'image/jpeg', 0.86)); + if (!blob) throw new Error('Не удалось собрать preview image.'); + const baseName = String(source.name || 'video').replace(/\.[^.]+$/u, '') || 'video'; + return new File([blob], `${baseName}-preview.jpg`, { + type: 'image/jpeg', + lastModified: Date.now(), + }); + } finally { + URL.revokeObjectURL(blobUrl); + } +} + export function openArweaveAttachmentManager({ login, storagePwd, @@ -196,6 +286,8 @@ export function openArweaveAttachmentManager({ historyOnly = false, mode = 'attachment', historyPurpose = '', + uploadTransport = 'arweave', + turboKeySource = 'client', } = {}) { const cleanLogin = String(login || '').trim(); const cleanStoragePwd = String(storagePwd || '').trim(); @@ -208,9 +300,15 @@ export function openArweaveAttachmentManager({ let closed = false; let wallets = []; + let turboKeyChoices = []; let selectedWalletId = readLastWalletId(cleanLogin) || 'derived-client-key'; + let selectedTurboKeySource = readLastTurboKeySource(cleanLogin, turboKeySource); + let selectedUploadTransport = String(uploadTransport || '').trim().toLowerCase() === 'turbo' ? 'turbo' : 'arweave'; let selectedFile = null; let selectedSha256 = ''; + let selectedPreviewEnabled = false; + let selectedPreviewFile = null; + let selectedPreviewSha256 = ''; let priceInfo = null; let balanceInfo = null; let autoOpenedFileDialog = false; @@ -219,6 +317,10 @@ export function openArweaveAttachmentManager({ const purposeFilter = isAvatarMode || historyPurposeMode === 'avatar' ? 'avatar' : 'attachment'; const selectedTxIdSet = new Set((Array.isArray(selectedTxIds) ? selectedTxIds : []).map((item) => String(item || '').trim()).filter(Boolean)); + function isTurboUpload() { + return selectedUploadTransport === 'turbo'; + } + function selectedWallet() { return wallets.find((item) => String(item.id) === String(selectedWalletId)) || wallets[0] || null; } @@ -263,22 +365,240 @@ export function openArweaveAttachmentManager({ } }; + const loadTurboKeyChoices = async (errorEl = null) => { + try { + turboKeyChoices = await getStoredSolanaWalletChoices({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + includeRoot: true, + }); + turboKeyChoices.sort((a, b) => { + if (a?.keySource === b?.keySource) return 0; + if (a?.keySource === 'client') return -1; + if (b?.keySource === 'client') return 1; + return 0; + }); + if (!turboKeyChoices.some((item) => String(item.keySource) === String(selectedTurboKeySource))) { + selectedTurboKeySource = String( + turboKeyChoices.find((item) => item.keySource === 'client')?.keySource + || turboKeyChoices[0]?.keySource + || 'client' + ); + } + writeLastTurboKeySource(cleanLogin, selectedTurboKeySource); + } catch (error) { + setText(errorEl, error?.message || 'Не удалось загрузить Solana-ключи для Turbo.'); + } + }; + + const renderTurboMeta = (metaEl) => { + if (!metaEl) return; + const turboAddress = String(balanceInfo?.address || priceInfo?.address || '').trim(); + const turboCredits = balanceInfo ? formatTurboCredits(balanceInfo.effectiveCredits, 6) : '—'; + const solBalance = balanceInfo ? `${escapeHtml(String(balanceInfo.solBalance ?? 0))} SOL` : '—'; + const uploadPrice = priceInfo ? `${formatTurboCredits(priceInfo.credits, 6)} credits` : '—'; + const fileSize = selectedFile ? formatBytes(selectedFile.size) : '—'; + const previewSize = selectedPreviewEnabled && selectedPreviewFile ? formatBytes(selectedPreviewFile.size) : ''; + const freeHint = selectedFile + ? (combinedUploadSize() <= getFreeTurboUploadBytesLimit() ? 'Да, бесплатно через Turbo' : 'Нет, нужен Turbo balance') + : `До ${formatBytes(getFreeTurboUploadBytesLimit())} бесплатно`; + const freeBadge = priceInfo?.isFree + ? ' <span style="color:#15803d;">(пока файлы до 100 KB бесплатно)</span>' + : ''; + metaEl.innerHTML = ` + <div>Turbo-адрес: ${escapeHtml(shortAddress(turboAddress || '—'))}</div> + <div>Turbo balance: ${escapeHtml(turboCredits)}</div> + <div>SOL на этом ключе: ${solBalance}</div> + <div>Размер файла: ${escapeHtml(fileSize)}</div> + ${previewSize ? `<div>Размер превью: ${escapeHtml(previewSize)}</div>` : ''} + <div>SHA-256: ${escapeHtml(selectedSha256 || '—')}</div> + ${selectedPreviewEnabled && selectedPreviewSha256 ? `<div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256)}</div>` : ''} + <div>Цена Turbo: ${escapeHtml(uploadPrice)}${freeBadge}</div> + <div>До ${escapeHtml(formatBytes(getFreeTurboUploadBytesLimit()))} бесплатно: ${escapeHtml(freeHint)}</div> + `; + }; + + const refreshTurboBalance = async (metaEl, errorEl) => { + try { + balanceInfo = await getTurboBalanceForStoredSolanaKey({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + }); + renderTurboMeta(metaEl); + if (errorEl && String(errorEl.textContent || '').includes('Turbo balance')) { + setText(errorEl, ''); + } + } catch (error) { + setText(errorEl, error?.message || 'Не удалось получить Turbo balance.'); + } + }; + + const promptTurboTopUp = async (metaEl, errorEl) => { + const value = window.prompt('Сколько SOL перевести в Turbo?', '0.01'); + if (value == null) return; + setText(errorEl, 'Пополняем Turbo...'); + try { + const result = await topUpTurboWithSolana({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + amountSol: value, + }); + await refreshTurboBalance(metaEl, errorEl); + setText(errorEl, `Turbo пополнен. Tx: ${result.txId || 'отправлено'}`); + } catch (error) { + setText(errorEl, error?.message || 'Не удалось пополнить Turbo.'); + } + }; + + const resetPreviewState = () => { + selectedPreviewEnabled = false; + selectedPreviewFile = null; + selectedPreviewSha256 = ''; + }; + + const isPreviewEligibleForCurrentFile = () => ( + !isAvatarMode + && selectedFile instanceof File + && isVideoAttachmentName(selectedFile.name) + ); + + const combinedUploadSize = () => { + return Number(selectedFile?.size || 0) + Number(selectedPreviewEnabled ? (selectedPreviewFile?.size || 0) : 0); + }; + + const renderArweaveMeta = (metaEl) => { + if (!metaEl) return; + metaEl.innerHTML = ` + ${isAvatarMode ? '' : `<div>Имя: ${escapeHtml(selectedFile?.name || 'file')}</div>`} + <div>Размер: ${escapeHtml(formatBytes(selectedFile?.size || 0))}</div> + <div>SHA-256: ${escapeHtml(selectedSha256 || '—')}</div> + ${selectedPreviewEnabled && selectedPreviewFile + ? `<div>Превью: ${escapeHtml(selectedPreviewFile.name)} · ${escapeHtml(formatBytes(selectedPreviewFile.size))}</div>` + : ''} + ${selectedPreviewEnabled && selectedPreviewSha256 + ? `<div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256)}</div>` + : ''} + <div>Цена: ${escapeHtml(Number(priceInfo?.ar || 0).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> + <div>Баланс кошелька: ${escapeHtml(Number(balanceInfo?.ar || 0).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> + `; + }; + + const recalculateArweaveState = async (metaEl, errorEl, uploadBtn) => { + uploadBtn.disabled = true; + priceInfo = null; + balanceInfo = null; + setText(errorEl, ''); + if (!selectedFile || !selectedSha256) { + setText(metaEl, ''); + return; + } + const wallet = selectedWallet(); + if (!wallet?.address) throw new Error('Выберите Arweave-кошелёк.'); + const mainPrice = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedFile.size }); + let totalWinston = BigInt(mainPrice.winston); + if (selectedPreviewEnabled && selectedPreviewFile) { + const previewPrice = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedPreviewFile.size }); + totalWinston += BigInt(previewPrice.winston); + } + balanceInfo = await getArweaveBalance({ gateway: cleanGateway, address: wallet.address }); + priceInfo = { + ar: Number(totalWinston) / 1e12, + winston: totalWinston.toString(), + }; + renderArweaveMeta(metaEl); + const hasFunds = BigInt(balanceInfo.winston) >= totalWinston; + if (!hasFunds) { + setText(errorEl, 'Недостаточно AR на выбранном кошельке.'); + return; + } + uploadBtn.disabled = false; + }; + + const refreshTurboStateForCurrentFile = async (metaEl, errorEl, uploadBtn) => { + uploadBtn.disabled = true; + priceInfo = null; + balanceInfo = null; + setText(errorEl, ''); + if (!selectedFile || !selectedSha256) { + renderTurboMeta(metaEl); + return; + } + try { + const mainPrice = await estimateTurboUploadPrice({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + byteLength: selectedFile.size, + }); + let totalWinc = BigInt(mainPrice.winc); + if (selectedPreviewEnabled && selectedPreviewFile) { + const previewPrice = await estimateTurboUploadPrice({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + byteLength: selectedPreviewFile.size, + }); + totalWinc += BigInt(previewPrice.winc); + } + priceInfo = { + ...mainPrice, + byteLength: combinedUploadSize(), + isFree: combinedUploadSize() <= getFreeTurboUploadBytesLimit(), + winc: totalWinc.toString(), + credits: Number(totalWinc) / 1_000_000_000_000, + }; + balanceInfo = await getTurboBalanceForStoredSolanaKey({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + }); + renderTurboMeta(metaEl); + if (!priceInfo.isFree && BigInt(balanceInfo.effectiveWinc) < BigInt(priceInfo.winc)) { + setText(errorEl, 'Turbo balance недостаточен. Нажмите «Пополнить Turbo».'); + return; + } + uploadBtn.disabled = false; + } catch (error) { + setText(errorEl, error?.message || 'Не удалось обновить цену Turbo.'); + } + }; + const showUpload = async () => { + const turboMode = isTurboUpload(); root.innerHTML = ` <div class="modal" data-ar-attach-modal="true"> <div class="modal-card stack ar-attachment-manager-card"> - <h3 class="modal-title">${isAvatarMode ? 'Загрузить аватар' : (historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение')}</h3> - <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> - <select class="input ar-attachment-wallet-select" id="ar-attach-wallet"></select> - <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> - ${isAvatarMode ? '<p class="meta-muted">Выберите изображение. Перед загрузкой оно будет сжато до 512×512 и сохранено в истории как аватар.</p>' : (historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>')} + <h3 class="modal-title">${turboMode ? 'Загрузить через Turbo' : (isAvatarMode ? 'Загрузить аватар' : (historyOnly ? 'Загрузить файл в блокчейн' : 'Добавить вложение'))}</h3> + <div class="form-actions-grid"> + <button class="${turboMode ? 'secondary-btn' : 'primary-btn'}" type="button" data-action="switch-arweave">Загрузка используя свой Arweave кошелёк</button> + <button class="${turboMode ? 'primary-btn' : 'secondary-btn'}" type="button" data-action="switch-turbo">Загрузить через Turbo</button> + ${isAvatarMode ? '' : '<button class="secondary-btn" type="button" data-action="history-top">Использовать журнал загрузок</button>'} + ${isAvatarMode ? '' : '<button class="secondary-btn" type="button" data-action="existing-top">Использовать существующий в Arweave файл</button>'} + </div> + ${turboMode + ? ` + <label class="meta-muted" for="turbo-key-source">Подписывать и пополнять через</label> + <select class="input ar-attachment-wallet-select" id="turbo-key-source"></select> + <p class="meta-muted">Turbo использует Solana-ключ пользователя. Файлы до 100 KB пока бесплатно. Если файл больше, пополните Turbo со своего SOL-кошелька.</p> + ` + : ` + <label class="meta-muted" for="ar-attach-wallet">Кошелёк оплаты Arweave</label> + <select class="input ar-attachment-wallet-select" id="ar-attach-wallet"></select> + <button class="ghost-btn" type="button" data-action="add-wallet">Добавить кошелёк</button> + ${isAvatarMode ? '<p class="meta-muted">Выберите изображение. Перед загрузкой оно будет сжато до 512×512 и сохранено в истории как аватар.</p>' : (historyOnly ? '' : '<p class="meta-muted">Для надёжности лучше сначала загрузить файл в Arweave, дождаться доступности в журнале, а потом добавить его из истории загрузок.</p>')} + `} <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> <input class="input" id="ar-attach-file" type="file" ${isAvatarMode ? 'accept="image/*"' : ''} /> + <label class="meta-muted" data-preview-option="true" hidden> + <input type="checkbox" data-preview-toggle="true" /> + Добавить превью + </label> <div class="ar-attachment-meta" data-meta="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> - ${historyOnly || isAvatarMode ? '' : '<button class="secondary-btn" type="button" data-action="existing">Ввести txId</button>'} - ${historyOnly ? '' : `<button class="secondary-btn" type="button" data-action="history">${isAvatarMode ? 'История аватаров' : 'История загрузок'}</button>`} + ${turboMode ? '<button class="secondary-btn" type="button" data-action="topup">Пополнить Turbo</button>' : ''} <button class="primary-btn" type="button" data-action="upload" disabled>${historyOnly ? 'Загрузить в журнал' : 'Загрузить'}</button> </div> <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> @@ -287,46 +607,96 @@ export function openArweaveAttachmentManager({ `; bindBackdrop(); const walletEl = root.querySelector('#ar-attach-wallet'); + const turboKeyEl = root.querySelector('#turbo-key-source'); const fileEl = root.querySelector('#ar-attach-file'); const metaEl = root.querySelector('[data-meta="true"]'); const errorEl = root.querySelector('[data-error="true"]'); const uploadBtn = root.querySelector('[data-action="upload"]'); + const previewOptionEl = root.querySelector('[data-preview-option="true"]'); + const previewToggleEl = root.querySelector('[data-preview-toggle="true"]'); - await loadWallets(errorEl); - if (walletEl) { - walletEl.innerHTML = renderWalletOptions(); - walletEl.value = selectedWalletId; - walletEl.addEventListener('change', () => { - selectedWalletId = String(walletEl.value || ''); - writeLastWalletId(cleanLogin, selectedWalletId); - uploadBtn.disabled = true; - selectedFile = null; - selectedSha256 = ''; - priceInfo = null; - balanceInfo = null; - if (fileEl) fileEl.value = ''; - setText(metaEl, ''); - }); + root.querySelector('[data-action="switch-arweave"]')?.addEventListener('click', async () => { + if (selectedUploadTransport === 'arweave') return; + selectedUploadTransport = 'arweave'; + selectedFile = null; + selectedSha256 = ''; + resetPreviewState(); + priceInfo = null; + balanceInfo = null; + await showUpload(); + }); + root.querySelector('[data-action="switch-turbo"]')?.addEventListener('click', async () => { + if (selectedUploadTransport === 'turbo') return; + selectedUploadTransport = 'turbo'; + selectedFile = null; + selectedSha256 = ''; + resetPreviewState(); + priceInfo = null; + balanceInfo = null; + await showUpload(); + }); + root.querySelector('[data-action="history-top"]')?.addEventListener('click', showHistory); + root.querySelector('[data-action="existing-top"]')?.addEventListener('click', showExisting); + + if (turboMode) { + await loadTurboKeyChoices(errorEl); + if (turboKeyEl) { + turboKeyEl.innerHTML = turboKeyChoices.map((item) => ( + `<option value="${escapeHtml(item.keySource)}">${escapeHtml(item.label)} · ${escapeHtml(shortAddress(item.address))}</option>` + )).join(''); + turboKeyEl.value = selectedTurboKeySource; + turboKeyEl.addEventListener('change', async () => { + selectedTurboKeySource = String(turboKeyEl.value || 'client'); + writeLastTurboKeySource(cleanLogin, selectedTurboKeySource); + await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + }); + } + await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + } else { + await loadWallets(errorEl); + if (walletEl) { + walletEl.innerHTML = renderWalletOptions(); + walletEl.value = selectedWalletId; + walletEl.addEventListener('change', () => { + selectedWalletId = String(walletEl.value || ''); + writeLastWalletId(cleanLogin, selectedWalletId); + uploadBtn.disabled = true; + selectedFile = null; + selectedSha256 = ''; + resetPreviewState(); + priceInfo = null; + balanceInfo = null; + if (fileEl) fileEl.value = ''; + setText(metaEl, ''); + }); + } } root.querySelector('[data-action="cancel"]')?.addEventListener('click', () => close(resolve, null)); - root.querySelector('[data-action="existing"]')?.addEventListener('click', showExisting); - root.querySelector('[data-action="history"]')?.addEventListener('click', showHistory); - root.querySelector('[data-action="add-wallet"]')?.addEventListener('click', showAddWallet); + root.querySelector('[data-action="topup"]')?.addEventListener('click', async () => { + await promptTurboTopUp(metaEl, errorEl); + if (turboMode && selectedFile && selectedSha256) { + await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + } + }); + if (!turboMode) { + root.querySelector('[data-action="add-wallet"]')?.addEventListener('click', showAddWallet); + } fileEl?.addEventListener('change', async () => { selectedFile = fileEl.files?.[0] || null; selectedSha256 = ''; + resetPreviewState(); priceInfo = null; balanceInfo = null; uploadBtn.disabled = true; setText(errorEl, ''); setText(metaEl, ''); + if (previewToggleEl instanceof HTMLInputElement) previewToggleEl.checked = false; + if (previewOptionEl) previewOptionEl.hidden = true; if (!selectedFile) return; try { - const wallet = selectedWallet(); - if (!wallet?.address) throw new Error('Выберите Arweave-кошелёк.'); if (isAvatarMode && !String(selectedFile.type || '').startsWith('image/')) { throw new Error('Для аватара можно выбрать только изображение.'); } @@ -335,60 +705,126 @@ export function openArweaveAttachmentManager({ } const buffer = await selectedFile.arrayBuffer(); selectedSha256 = await sha256HexFromArrayBuffer(buffer); - priceInfo = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedFile.size }); - balanceInfo = await getArweaveBalance({ gateway: cleanGateway, address: wallet.address }); - const hasFunds = BigInt(balanceInfo.winston) >= BigInt(priceInfo.winston); - metaEl.innerHTML = ` - ${isAvatarMode ? '' : `<div>Имя: ${escapeHtml(selectedFile.name || 'file')}</div>`} - <div>Размер: ${escapeHtml(formatBytes(selectedFile.size))}</div> - <div>SHA-256: ${escapeHtml(selectedSha256)}</div> - <div>Цена: ${escapeHtml(Number(priceInfo.ar).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> - <div>Баланс кошелька: ${escapeHtml(Number(balanceInfo.ar).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> - `; - if (!hasFunds) { - setText(errorEl, 'Недостаточно AR на выбранном кошельке.'); - return; + if (previewOptionEl && isPreviewEligibleForCurrentFile()) { + previewOptionEl.hidden = false; + } + if (turboMode) { + await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + } else { + await recalculateArweaveState(metaEl, errorEl, uploadBtn); } - uploadBtn.disabled = false; } catch (error) { setText(errorEl, error?.message || 'Не удалось подготовить файл.'); } }); + previewToggleEl?.addEventListener('change', async () => { + if (!(previewToggleEl instanceof HTMLInputElement)) return; + if (!selectedFile || !isPreviewEligibleForCurrentFile()) { + previewToggleEl.checked = false; + return; + } + uploadBtn.disabled = true; + selectedPreviewEnabled = previewToggleEl.checked; + selectedPreviewFile = null; + selectedPreviewSha256 = ''; + setText(errorEl, ''); + try { + if (selectedPreviewEnabled) { + selectedPreviewFile = await createVideoPreviewFile(selectedFile); + selectedPreviewSha256 = await sha256HexFromArrayBuffer(await selectedPreviewFile.arrayBuffer()); + } + if (turboMode) { + await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + } else { + await recalculateArweaveState(metaEl, errorEl, uploadBtn); + } + } catch (error) { + resetPreviewState(); + previewToggleEl.checked = false; + setText(errorEl, error?.message || 'Не удалось подготовить превью.'); + } + }); + uploadBtn?.addEventListener('click', async () => { if (!selectedFile || !selectedSha256) { setText(errorEl, 'Выберите файл.'); return; } - const wallet = selectedWallet(); - if (!wallet?.jwk) { - setText(errorEl, 'Выберите Arweave-кошелёк.'); - return; + if (!turboMode) { + const wallet = selectedWallet(); + if (!wallet?.jwk) { + setText(errorEl, 'Выберите Arweave-кошелёк.'); + return; + } } uploadBtn.disabled = true; - setText(errorEl, 'Загружаем файл в Arweave...'); + setText(errorEl, turboMode ? 'Загружаем файл через Turbo...' : 'Загружаем файл в Arweave...'); try { - const uploaded = await uploadArweaveFile({ - gateway: cleanGateway, - jwk: wallet.jwk, - file: selectedFile, - shineType: isAvatarMode ? 'avatar' : 'attachment', - tags: [ - { name: 'SHiNE-Login', value: cleanLogin }, - { name: isAvatarMode ? 'SHiNE-Avatar' : 'SHiNE-Attachment-Name', value: isAvatarMode ? '1' : (selectedFile.name || 'file') }, - ], - }); + let previewUpload = null; + if (selectedPreviewEnabled && selectedPreviewFile && selectedPreviewSha256) { + previewUpload = turboMode + ? await uploadFileWithTurbo({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + file: selectedPreviewFile, + shineType: 'attachment-preview', + tags: [ + { name: 'SHiNE-Login', value: cleanLogin }, + { name: 'SHiNE-Attachment-Preview-For', value: selectedFile.name || 'file' }, + ], + }) + : await uploadArweaveFile({ + gateway: cleanGateway, + jwk: selectedWallet()?.jwk, + file: selectedPreviewFile, + shineType: 'attachment-preview', + tags: [ + { name: 'SHiNE-Login', value: cleanLogin }, + { name: 'SHiNE-Attachment-Preview-For', value: selectedFile.name || 'file' }, + ], + }); + } + const uploaded = turboMode + ? await uploadFileWithTurbo({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + keySource: selectedTurboKeySource, + file: selectedFile, + shineType: isAvatarMode ? 'avatar' : 'attachment', + tags: [ + { name: 'SHiNE-Login', value: cleanLogin }, + { name: isAvatarMode ? 'SHiNE-Avatar' : 'SHiNE-Attachment-Name', value: isAvatarMode ? '1' : (selectedFile.name || 'file') }, + ], + }) + : await uploadArweaveFile({ + gateway: cleanGateway, + jwk: selectedWallet()?.jwk, + file: selectedFile, + shineType: isAvatarMode ? 'avatar' : 'attachment', + tags: [ + { name: 'SHiNE-Login', value: cleanLogin }, + { name: isAvatarMode ? 'SHiNE-Avatar' : 'SHiNE-Attachment-Name', value: isAvatarMode ? '1' : (selectedFile.name || 'file') }, + ], + }); finish(resolve, { name: isAvatarMode ? 'Аватар' : (selectedFile.name || 'file'), size: selectedFile.size, sha256: selectedSha256, ar: uploaded.id, + preview: previewUpload?.id && selectedPreviewSha256 + ? { + ar: previewUpload.id, + sha256: selectedPreviewSha256, + } + : undefined, uploadedAtMs: Date.now(), purpose: isAvatarMode ? 'avatar' : 'attachment', }, { pendingPlacement: historyOnly && !isAvatarMode }); } catch (error) { uploadBtn.disabled = false; - setText(errorEl, error?.message || 'Не удалось загрузить файл в Arweave.'); + setText(errorEl, error?.message || (turboMode ? 'Не удалось загрузить файл через Turbo.' : 'Не удалось загрузить файл в Arweave.')); } }); @@ -407,6 +843,14 @@ export function openArweaveAttachmentManager({ <input class="input" id="ar-existing-txid" type="text" maxlength="64" placeholder="43 символа txId" /> <label class="meta-muted" for="ar-existing-name">Имя файла в сообщении</label> <input class="input" id="ar-existing-name" type="text" maxlength="180" placeholder="например report.pdf" /> + <label class="meta-muted" data-existing-preview-wrap="true" hidden> + <input type="checkbox" data-existing-preview-toggle="true" /> + Добавить превью + </label> + <div class="stack" data-existing-preview-fields="true" hidden> + <label class="meta-muted" for="ar-existing-preview-txid">Transaction ID превью</label> + <input class="input" id="ar-existing-preview-txid" type="text" maxlength="64" placeholder="43 символа txId превью" /> + </div> <div class="ar-attachment-meta" data-meta="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> @@ -419,39 +863,73 @@ export function openArweaveAttachmentManager({ bindBackdrop(); const txEl = root.querySelector('#ar-existing-txid'); const nameEl = root.querySelector('#ar-existing-name'); + const previewWrapEl = root.querySelector('[data-existing-preview-wrap="true"]'); + const previewToggleEl = root.querySelector('[data-existing-preview-toggle="true"]'); + const previewFieldsEl = root.querySelector('[data-existing-preview-fields="true"]'); + const previewTxEl = root.querySelector('#ar-existing-preview-txid'); const metaEl = root.querySelector('[data-meta="true"]'); const errorEl = root.querySelector('[data-error="true"]'); const checkBtn = root.querySelector('[data-action="check"]'); root.querySelector('[data-action="back"]')?.addEventListener('click', showUpload); + nameEl?.addEventListener('input', () => { + const isVideo = isVideoAttachmentName(String(nameEl.value || '').trim()); + if (previewWrapEl) previewWrapEl.hidden = !isVideo; + if (!isVideo) { + if (previewToggleEl instanceof HTMLInputElement) previewToggleEl.checked = false; + if (previewFieldsEl) previewFieldsEl.hidden = true; + if (previewTxEl) previewTxEl.value = ''; + } + }); + previewToggleEl?.addEventListener('change', () => { + if (previewFieldsEl && previewToggleEl instanceof HTMLInputElement) { + previewFieldsEl.hidden = !previewToggleEl.checked; + } + }); checkBtn?.addEventListener('click', async () => { const txId = String(txEl?.value || '').trim(); const name = String(nameEl?.value || '').trim() || 'arweave-file'; + const wantsPreview = previewToggleEl instanceof HTMLInputElement && previewToggleEl.checked; + const previewTxId = String(previewTxEl?.value || '').trim(); if (!validateArweaveTxId(txId)) { setText(errorEl, 'Некорректный Transaction ID Arweave.'); return; } + if (wantsPreview && !validateArweaveTxId(previewTxId)) { + setText(errorEl, 'Некорректный Transaction ID превью.'); + return; + } checkBtn.disabled = true; setText(errorEl, 'Скачиваем файл и считаем SHA-256...'); setText(metaEl, ''); try { const meta = await loadArweaveFileMetadata({ gateway: cleanGateway, txId }); + let preview = null; + if (wantsPreview) { + const previewMeta = await loadArweaveFileMetadata({ gateway: cleanGateway, txId: previewTxId }); + preview = { + ar: previewTxId, + sha256: previewMeta.sha256Hex, + }; + } const item = normalizeAttachment({ name, size: meta.sizeBytes, sha256: meta.sha256Hex, ar: txId, + preview, uploadedAtMs: Date.now(), }); metaEl.innerHTML = ` <div>Размер: ${escapeHtml(formatBytes(item.size))}</div> <div>SHA-256: ${escapeHtml(item.sha256)}</div> + ${item.preview ? '<div>Превью будет добавлено вместе с файлом.</div>' : ''} `; setText(errorEl, ''); const addBtn = document.createElement('button'); addBtn.className = 'primary-btn'; addBtn.type = 'button'; - addBtn.textContent = 'Добавить в сообщение'; - addBtn.addEventListener('click', () => finish(resolve, item)); + addBtn.textContent = historyOnly ? 'Добавить в журнал' : 'Добавить в сообщение'; + addBtn.addEventListener('click', () => finish(resolve, item, { pendingPlacement: historyOnly && !isAvatarMode })); metaEl.append(addBtn); } catch (error) { setText(errorEl, error?.message || 'Не удалось проверить файл Arweave.'); @@ -475,11 +953,13 @@ export function openArweaveAttachmentManager({ ${rows.length ? rows.map((item, index) => { const isSelected = selectedTxIdSet.has(item.ar); return ` - <article class="ar-attachment-history-tile${isSelected ? ' is-selected' : ''}" data-history-tile="${index}"> + <article class="ar-attachment-history-tile${hasAttachmentPreview(item) ? ' ar-attachment-history-tile--with-preview' : ''}${isSelected ? ' is-selected' : ''}" data-history-tile="${index}"> + ${buildHistoryPreviewMarkup(item, cleanGateway)} <strong class="ar-attachment-history-name">${escapeHtml(item.name)}${item.purpose === 'avatar' ? ' · аватар' : ''}</strong> <div class="ar-attachment-history-meta-row"> <span>${escapeHtml(formatBytes(item.size))}</span> <span>${escapeHtml(formatArweaveHistoryTime(item.uploadedAtMs))}</span> + ${hasAttachmentPreview(item) ? '<span class="ar-attachment-placement-flag">С превью</span>' : ''} <span class="ar-attachment-status ar-attachment-status--pending" data-status="${index}">Проверяем...</span> ${item.pendingPlacement ? '<span class="ar-attachment-placement-flag">Не добавлен в SHiNE</span>' : ''} </div> diff --git a/shine-UI/js/components/avatar-wizard.js b/shine-UI/js/components/avatar-wizard.js index ae2d38a9..335afd86 100644 --- a/shine-UI/js/components/avatar-wizard.js +++ b/shine-UI/js/components/avatar-wizard.js @@ -1,56 +1,7 @@ -import { authService } from '../state.js'; -import { getArweaveBalance, getArweaveWalletFromStoredClientKey } from '../services/arweave-wallet-service.js'; -import { - buildArweaveDataUrl, - getArweaveUploadPrice, - prepareAvatarImageFile, - sha256HexFromArrayBuffer, - uploadArweaveFile, - validateArweaveTxId, - validateSha256Hex, - validateAvatarSourceFile, -} from '../services/arweave-file-service.js'; -import { bytesToBase64 } from '../services/crypto-utils.js'; +import { openArweaveAttachmentManager } from './arweave-attachment-manager.js'; import { saveProfileAvatarArweave } from '../services/user-profile-params.js'; -const DEFAULT_FREE_AVATAR_MAX_BYTES = 128 * 1024; - -function escapeHtml(text) { - return String(text || '') - .replaceAll('&', '&amp;') - .replaceAll('<', '&lt;') - .replaceAll('>', '&gt;') - .replaceAll('"', '&quot;') - .replaceAll("'", '&#39;'); -} - -function formatBytes(bytes) { - const value = Number(bytes || 0); - if (!Number.isFinite(value) || value <= 0) return '0 B'; - if (value < 1024) return `${value} B`; - if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)} KB`; - return `${(value / (1024 * 1024)).toFixed(2)} MB`; -} - -function formatAr(ar) { - const n = Number(ar); - if (!Number.isFinite(n)) return '0'; - return n.toLocaleString('ru-RU', { maximumFractionDigits: 6 }); -} - -function clearJwk(ctx) { - if (!ctx?.jwk || typeof ctx.jwk !== 'object') return; - Object.keys(ctx.jwk).forEach((key) => { - ctx.jwk[key] = ''; - }); - ctx.jwk = null; -} - -function setNodeText(node, text) { - if (node) node.textContent = String(text || ''); -} - -export function openAvatarWizard({ +export async function openAvatarWizard({ login, storagePwd, gateway, @@ -58,568 +9,37 @@ export function openAvatarWizard({ onAvatarSaved, onStatus, } = {}) { - const root = document.getElementById('modal-root'); - if (!root) return Promise.resolve(false); - const cleanLogin = String(login || '').trim(); const cleanStoragePwd = String(storagePwd || '').trim(); const cleanGateway = String(gateway || '').trim(); if (!cleanLogin || !cleanStoragePwd) { - return Promise.reject(new Error('Нет активной сессии.')); + throw new Error('Нет активной сессии.'); } - let closed = false; - let lastPreviewUrl = ''; - let walletCtx = null; - let balanceInfo = null; - let optimized = null; - let priceInfo = null; - let uploadedTxId = ''; - let uploadedSha256Hex = ''; - let uploadedInfoText = ''; - let freeQuotaInfo = null; - - function revokePreviewUrl() { - if (!lastPreviewUrl) return; - URL.revokeObjectURL(lastPreviewUrl); - lastPreviewUrl = ''; - } - - function close(result = false, resolve) { - if (closed) return; - closed = true; - revokePreviewUrl(); - clearJwk(walletCtx); - walletCtx = null; - root.innerHTML = ''; - resolve(result); - } - - async function ensurePreviewImage(url, imageEl) { - return new Promise((resolve, reject) => { - const img = imageEl; - img.onload = () => resolve(true); - img.onerror = () => reject(new Error('Не удалось загрузить изображение по этому Transaction ID')); - img.src = url; - }); - } - - return new Promise((resolve) => { - const showStepChoice = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Сменить аватар</h3> - <p class="meta-muted">Вы можете использовать уже загруженный файл Arweave, загрузить новый файл со своего кошелька или попробовать временную бесплатную загрузку через сервер.</p> - <div class="avatar-wizard-choice-grid"> - <button class="primary-btn" type="button" data-action="use-existing">Использовать существующий файл в Arweave</button> - <button class="primary-btn" type="button" data-action="upload-new">Загрузить новый файл в Arweave</button> - <button class="primary-btn" type="button" data-action="upload-free">Залить аватар бесплатно</button> - <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> - </div> - </div> - </div> - `; - const modal = root.querySelector('[data-avatar-wizard-modal="true"]'); - modal?.addEventListener('click', (event) => { - if (event.target === modal) close(false, resolve); - }); - root.querySelector('[data-action="cancel"]')?.addEventListener('click', () => close(false, resolve)); - root.querySelector('[data-action="use-existing"]')?.addEventListener('click', showStepExistingInput); - root.querySelector('[data-action="upload-new"]')?.addEventListener('click', () => { void showStepUpload(); }); - root.querySelector('[data-action="upload-free"]')?.addEventListener('click', () => { void showStepFreeUpload(); }); - }; - - const showStepExistingInput = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Использовать существующий файл в Arweave</h3> - <label class="meta-muted" for="avatar-existing-txid">Transaction ID Arweave</label> - <input class="input" id="avatar-existing-txid" type="text" maxlength="64" placeholder="Введите Transaction ID" /> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - <button class="primary-btn" type="button" data-action="next">Далее</button> - </div> - </div> - </div> - `; - const modal = root.querySelector('[data-avatar-wizard-modal="true"]'); - const inputEl = root.querySelector('#avatar-existing-txid'); - const errorEl = root.querySelector('[data-error="true"]'); - modal?.addEventListener('click', (event) => { - if (event.target === modal) close(false, resolve); - }); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - root.querySelector('[data-action="next"]')?.addEventListener('click', () => { - const txId = String(inputEl?.value || '').trim(); - if (!validateArweaveTxId(txId)) { - setNodeText(errorEl, 'Некорректный Transaction ID Arweave.'); - return; - } - setNodeText(errorEl, ''); - void showStepExistingPreview(txId); - }); - window.setTimeout(() => inputEl?.focus(), 0); - }; - - const showStepExistingPreview = async (txId) => { - if (closed) return; - const previewUrl = buildArweaveDataUrl({ gateway: cleanGateway, txId }); - let existingSha256Hex = ''; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Предпросмотр аватара</h3> - <div class="avatar-preview-circle avatar-wizard-preview"> - <img alt="Предпросмотр аватара" data-preview-image="true" /> - </div> - <p class="meta-muted">После сохранения в профиль будут записаны SHA-256 и Transaction ID. Сам файл хранится в Arweave.</p> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - <button class="primary-btn" type="button" data-action="save">Сохранить аватар</button> - </div> - </div> - </div> - `; - const modal = root.querySelector('[data-avatar-wizard-modal="true"]'); - const imageEl = root.querySelector('[data-preview-image="true"]'); - const errorEl = root.querySelector('[data-error="true"]'); - const saveBtn = root.querySelector('[data-action="save"]'); - modal?.addEventListener('click', (event) => { - if (event.target === modal) close(false, resolve); - }); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepExistingInput); - if (saveBtn instanceof HTMLButtonElement) saveBtn.disabled = true; - - try { - await ensurePreviewImage(previewUrl, imageEl); - const response = await fetch(previewUrl, { method: 'GET', cache: 'no-store' }); - if (!response.ok) throw new Error('BAD_AVATAR_FETCH'); - existingSha256Hex = await sha256HexFromArrayBuffer(await response.arrayBuffer()); - if (!validateSha256Hex(existingSha256Hex)) throw new Error('BAD_AVATAR_HASH'); - if (saveBtn instanceof HTMLButtonElement) saveBtn.disabled = false; - } catch (error) { - setNodeText(errorEl, 'Не удалось проверить файл по этому Transaction ID.'); - if (saveBtn instanceof HTMLButtonElement) saveBtn.disabled = true; - } - - saveBtn?.addEventListener('click', async () => { - try { - await saveProfileAvatarArweave(cleanLogin, txId, existingSha256Hex); - if (typeof onAvatarSaved === 'function') await onAvatarSaved(); - close(true, resolve); - } catch { - setNodeText(errorEl, 'Не удалось сохранить аватар в профиль.'); - } - }); - }; - - const showStepZeroBalance = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Недостаточно средств</h3> - <p class="meta-muted">У вас нулевой баланс Arweave. Для загрузки аватара нужен AR.</p> - <div class="avatar-wizard-actions"> - <button class="primary-btn" type="button" data-action="to-wallet">Перейти в кошелёк</button> - <button class="secondary-btn" type="button" data-action="cancel">Отмена</button> - </div> - </div> - </div> - `; - root.querySelector('[data-action="to-wallet"]')?.addEventListener('click', () => { - close(false, resolve); - if (typeof navigate === 'function') navigate('wallet-view'); - }); - root.querySelector('[data-action="cancel"]')?.addEventListener('click', () => close(false, resolve)); - }; - - const showStepUploadForm = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Загрузить новый файл в Arweave</h3> - <p class="meta-muted">Баланс: ${formatAr(balanceInfo?.ar)} AR</p> - <label class="meta-muted" for="avatar-file-input">Выберите изображение</label> - <input class="input" id="avatar-file-input" type="file" accept="image/jpeg,image/png,image/webp" /> - <p class="meta-muted">Поддерживаются JPEG, PNG, WebP. Максимальный исходный файл — 10 MB. Перед загрузкой изображение будет уменьшено для аватарки.</p> - <div class="avatar-preview-circle avatar-wizard-preview" hidden data-preview-wrap="true"> - <img alt="Предпросмотр аватара" data-preview-image="true" /> - </div> - <div class="avatar-wizard-meta" data-meta="true"></div> - <p class="meta-muted">После сохранения в профиль будут записаны SHA-256 и Transaction ID. Сам файл хранится в Arweave.</p> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - <button class="primary-btn" type="button" data-action="upload" disabled>Загрузить в Arweave</button> - </div> - </div> - </div> - `; - - const modal = root.querySelector('[data-avatar-wizard-modal="true"]'); - const fileInput = root.querySelector('#avatar-file-input'); - const errorEl = root.querySelector('[data-error="true"]'); - const metaEl = root.querySelector('[data-meta="true"]'); - const previewWrap = root.querySelector('[data-preview-wrap="true"]'); - const previewImage = root.querySelector('[data-preview-image="true"]'); - const uploadBtn = root.querySelector('[data-action="upload"]'); - - let selectedFile = null; - optimized = null; - priceInfo = null; - uploadedSha256Hex = ''; - - modal?.addEventListener('click', (event) => { - if (event.target === modal) close(false, resolve); - }); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - - fileInput?.addEventListener('change', async () => { - setNodeText(errorEl, ''); - setNodeText(metaEl, ''); - uploadBtn.disabled = true; - revokePreviewUrl(); - - selectedFile = fileInput.files?.[0] || null; - if (!selectedFile) { - setNodeText(errorEl, 'Выберите файл изображения.'); - return; - } - - try { - validateAvatarSourceFile(selectedFile); - optimized = await prepareAvatarImageFile(selectedFile); - priceInfo = await getArweaveUploadPrice({ - gateway: cleanGateway, - byteLength: optimized.file.size, - }); - - lastPreviewUrl = URL.createObjectURL(optimized.file); - previewImage.src = lastPreviewUrl; - previewWrap.hidden = false; - - const hasFunds = BigInt(balanceInfo.winston) >= BigInt(priceInfo.winston); - metaEl.innerHTML = ` - <div>Исходный размер: ${escapeHtml(formatBytes(optimized.originalSizeBytes))}</div> - <div>Итоговый размер: ${escapeHtml(formatBytes(optimized.optimizedSizeBytes))}</div> - <div>Итоговое разрешение: ${escapeHtml(`${optimized.width} × ${optimized.height}`)}</div> - <div>Тип файла: ${escapeHtml(optimized.contentType)}</div> - <div>SHA-256: ${escapeHtml(String(optimized.sha256Hex || '').toLowerCase())}</div> - <div>Примерная цена загрузки: ${escapeHtml(formatAr(priceInfo.ar))} AR</div> - `; - - if (!hasFunds) { - setNodeText(errorEl, 'Недостаточно средств для загрузки.'); - uploadBtn.disabled = true; - return; - } - uploadBtn.disabled = false; - } catch (error) { - const message = String(error?.message || ''); - if (message === 'Выберите файл изображения.' || message === 'Поддерживаются только JPEG, PNG или WebP.' || message === 'Файл слишком большой. Максимум 10 MB.') { - setNodeText(errorEl, message); - } else if (message.includes('цену загрузки')) { - setNodeText(errorEl, 'Не удалось получить баланс Arweave.'); - } else { - setNodeText(errorEl, 'Не удалось подготовить изображение.'); - } - } - }); - - uploadBtn?.addEventListener('click', async () => { - setNodeText(errorEl, ''); - if (!optimized?.file) { - setNodeText(errorEl, 'Выберите файл изображения.'); - return; - } - if (!priceInfo || BigInt(balanceInfo.winston) < BigInt(priceInfo.winston)) { - setNodeText(errorEl, 'Недостаточно средств для загрузки.'); - return; - } - - uploadBtn.disabled = true; - try { - uploadedInfoText = ''; - const uploaded = await uploadArweaveFile({ - gateway: cleanGateway, - jwk: walletCtx?.jwk, - file: optimized.file, - tags: [ - { name: 'SHiNE-Profile-Login', value: cleanLogin }, - ], - }); - uploadedTxId = String(uploaded.id || '').trim(); - uploadedSha256Hex = String(optimized?.sha256Hex || '').trim().toLowerCase(); - if (!uploadedTxId) { - throw new Error('Пустой Transaction ID'); - } - if (!validateSha256Hex(uploadedSha256Hex)) { - throw new Error('Некорректный SHA256'); - } - showStepUploaded(); - } catch { - setNodeText(errorEl, 'Не удалось загрузить файл в Arweave.'); - uploadBtn.disabled = false; - } - }); - }; - - const showStepFreeLimitExhausted = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Лимит исчерпан</h3> - <p class="meta-muted">Вы исчерпали бесплатный лимит аватарок.</p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - <button class="secondary-btn" type="button" data-action="close">Закрыть</button> - </div> - </div> - </div> - `; - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - root.querySelector('[data-action="close"]')?.addEventListener('click', () => close(false, resolve)); - }; - - const showStepFreeUploadForm = () => { - if (closed) return; - const remaining = Number(freeQuotaInfo?.remainingCount || 0); - const limit = Number(freeQuotaInfo?.limit || 3); - const maxBytes = Number(freeQuotaInfo?.maxBytes || DEFAULT_FREE_AVATAR_MAX_BYTES); - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Залить аватар бесплатно</h3> - <p class="meta-muted">Осталось бесплатных загрузок: ${remaining} из ${limit}.</p> - <label class="meta-muted" for="avatar-free-file-input">Выберите изображение</label> - <input class="input" id="avatar-free-file-input" type="file" accept="image/jpeg,image/png,image/webp" /> - <p class="meta-muted">Поддерживаются JPEG, PNG, WebP. Перед отправкой изображение уменьшается для аватарки. Итоговый файл должен быть не больше ${formatBytes(maxBytes)}.</p> - <div class="avatar-preview-circle avatar-wizard-preview" hidden data-preview-wrap="true"> - <img alt="Предпросмотр аватара" data-preview-image="true" /> - </div> - <div class="avatar-wizard-meta" data-meta="true"></div> - <p class="meta-muted">Это временная тестовая бесплатная загрузка через серверный кошелёк Arweave.</p> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - <button class="primary-btn" type="button" data-action="upload" disabled>Залить бесплатно</button> - </div> - </div> - </div> - `; - - const modal = root.querySelector('[data-avatar-wizard-modal="true"]'); - const fileInput = root.querySelector('#avatar-free-file-input'); - const errorEl = root.querySelector('[data-error="true"]'); - const metaEl = root.querySelector('[data-meta="true"]'); - const previewWrap = root.querySelector('[data-preview-wrap="true"]'); - const previewImage = root.querySelector('[data-preview-image="true"]'); - const uploadBtn = root.querySelector('[data-action="upload"]'); - - optimized = null; - uploadedSha256Hex = ''; - - modal?.addEventListener('click', (event) => { - if (event.target === modal) close(false, resolve); - }); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - - fileInput?.addEventListener('change', async () => { - setNodeText(errorEl, ''); - setNodeText(metaEl, ''); - uploadBtn.disabled = true; - revokePreviewUrl(); - - const selectedFile = fileInput.files?.[0] || null; - if (!selectedFile) { - setNodeText(errorEl, 'Выберите файл изображения.'); - return; - } - - try { - validateAvatarSourceFile(selectedFile); - optimized = await prepareAvatarImageFile(selectedFile); - if (Number(optimized?.file?.size || 0) > maxBytes) { - throw new Error(`После уменьшения файл всё ещё больше ${formatBytes(maxBytes)}. Возьмите более простое изображение.`); - } - - lastPreviewUrl = URL.createObjectURL(optimized.file); - previewImage.src = lastPreviewUrl; - previewWrap.hidden = false; - metaEl.innerHTML = ` - <div>Исходный размер: ${escapeHtml(formatBytes(optimized.originalSizeBytes))}</div> - <div>Итоговый размер: ${escapeHtml(formatBytes(optimized.optimizedSizeBytes))}</div> - <div>Итоговое разрешение: ${escapeHtml(`${optimized.width} × ${optimized.height}`)}</div> - <div>Тип файла: ${escapeHtml(optimized.contentType)}</div> - <div>SHA-256: ${escapeHtml(String(optimized.sha256Hex || '').toLowerCase())}</div> - `; - uploadBtn.disabled = false; - } catch (error) { - setNodeText(errorEl, String(error?.message || 'Не удалось подготовить изображение.')); - } - }); - - uploadBtn?.addEventListener('click', async () => { - setNodeText(errorEl, ''); - if (!optimized?.file) { - setNodeText(errorEl, 'Выберите файл изображения.'); - return; - } - - uploadBtn.disabled = true; - try { - const fileBytes = new Uint8Array(await optimized.file.arrayBuffer()); - const uploaded = await authService.uploadTestFreeAvatar({ - contentType: optimized.contentType, - fileBytesBase64: bytesToBase64(fileBytes), - sha256Hex: String(optimized.sha256Hex || '').trim().toLowerCase(), - }); - uploadedTxId = String(uploaded.txId || '').trim(); - uploadedSha256Hex = String(uploaded.sha256Hex || optimized.sha256Hex || '').trim().toLowerCase(); - uploadedInfoText = `Осталось бесплатных загрузок: ${Number(uploaded.remainingCount || 0)} из ${Number(uploaded.limit || limit)}.`; - if (!uploadedTxId) { - throw new Error('Сервер не вернул Transaction ID.'); - } - showStepUploaded(); - } catch (error) { - setNodeText(errorEl, String(error?.message || 'Не удалось бесплатно загрузить аватар.')); - uploadBtn.disabled = false; - } - }); - }; - - const showStepFreeUpload = async () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Подготовка бесплатной загрузки</h3> - <p class="meta-muted" data-loading="true">Проверяем остаток бесплатных загрузок...</p> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - </div> - </div> - </div> - `; - - const loadingEl = root.querySelector('[data-loading="true"]'); - const errorEl = root.querySelector('[data-error="true"]'); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - - try { - freeQuotaInfo = await authService.getTestFreeAvatarQuota(); - } catch (error) { - setNodeText(errorEl, error?.message || 'Не удалось получить остаток бесплатных загрузок.'); - return; - } - - if (!freeQuotaInfo?.enabled) { - setNodeText(loadingEl, ''); - setNodeText(errorEl, 'Временная бесплатная загрузка аватаров сейчас отключена на сервере.'); - return; - } - if (Number(freeQuotaInfo?.remainingCount || 0) <= 0) { - showStepFreeLimitExhausted(); - return; - } - showStepFreeUploadForm(); - }; - - const showStepUploaded = () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Файл загружен в Arweave</h3> - <p class="meta-muted">Transaction ID:</p> - <p class="avatar-wizard-meta">${escapeHtml(uploadedTxId)}</p> - <p class="meta-muted">SHA-256:</p> - <p class="avatar-wizard-meta">${escapeHtml(uploadedSha256Hex)}</p> - ${uploadedInfoText ? `<p class="meta-muted">${escapeHtml(uploadedInfoText)}</p>` : ''} - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="ghost-btn" type="button" data-action="copy-id">Скопировать ID</button> - <button class="primary-btn" type="button" data-action="set-avatar">Сделать аватаром</button> - </div> - <button class="secondary-btn" type="button" data-action="close">Закрыть</button> - </div> - </div> - `; - - const errorEl = root.querySelector('[data-error="true"]'); - root.querySelector('[data-action="copy-id"]')?.addEventListener('click', async () => { - try { - await navigator.clipboard.writeText(uploadedTxId); - setNodeText(errorEl, ''); - } catch { - setNodeText(errorEl, 'Не удалось скопировать Transaction ID.'); - } - }); - root.querySelector('[data-action="set-avatar"]')?.addEventListener('click', async () => { - try { - await saveProfileAvatarArweave(cleanLogin, uploadedTxId, uploadedSha256Hex); - if (typeof onAvatarSaved === 'function') await onAvatarSaved(); - close(true, resolve); - } catch { - setNodeText(errorEl, 'Не удалось сохранить аватар в профиль.'); - } - }); - root.querySelector('[data-action="close"]')?.addEventListener('click', () => close(false, resolve)); - }; - - const showStepUpload = async () => { - if (closed) return; - root.innerHTML = ` - <div class="modal" data-avatar-wizard-modal="true"> - <div class="modal-card stack avatar-wizard-card"> - <h3 class="modal-title">Подготовка загрузки</h3> - <p class="meta-muted" data-loading="true">Загружаем Arweave-кошелёк...</p> - <p class="avatar-wizard-error" data-error="true"></p> - <div class="avatar-wizard-actions"> - <button class="secondary-btn" type="button" data-action="back">Назад</button> - </div> - </div> - </div> - `; - - const loadingEl = root.querySelector('[data-loading="true"]'); - const errorEl = root.querySelector('[data-error="true"]'); - root.querySelector('[data-action="back"]')?.addEventListener('click', showStepChoice); - try { - walletCtx = await getArweaveWalletFromStoredClientKey({ - login: cleanLogin, - storagePwd: cleanStoragePwd, - onStatus: (message) => { - setNodeText(loadingEl, message); - if (typeof onStatus === 'function') onStatus(message); - }, - }); - balanceInfo = await getArweaveBalance({ - gateway: cleanGateway, - address: walletCtx.address, - }); - } catch (error) { - setNodeText(errorEl, 'Не удалось получить баланс Arweave.'); - return; - } - - if (BigInt(balanceInfo.winston) <= 0n) { - showStepZeroBalance(); - return; - } - showStepUploadForm(); - }; - - showStepChoice(); + const item = await openArweaveAttachmentManager({ + login: cleanLogin, + storagePwd: cleanStoragePwd, + gateway: cleanGateway, + navigate, + mode: 'avatar', + historyPurpose: 'avatar', }); + + if (!item?.ar || !item?.sha256) return false; + + if (typeof onStatus === 'function') { + onStatus('Сохраняем аватар в профиль...'); + } + + await saveProfileAvatarArweave(cleanLogin, item.ar, item.sha256); + + if (typeof onAvatarSaved === 'function') { + await onAvatarSaved(item); + } + + if (typeof onStatus === 'function') { + onStatus(''); + } + + return true; } diff --git a/shine-UI/js/pages/arweave-uploads-view.js b/shine-UI/js/pages/arweave-uploads-view.js index 6d5ebb14..c9c1fc87 100644 --- a/shine-UI/js/pages/arweave-uploads-view.js +++ b/shine-UI/js/pages/arweave-uploads-view.js @@ -24,7 +24,7 @@ function setStatusBadge(node, status, label) { function renderTile(item, index) { const tile = document.createElement('article'); - tile.className = 'ar-attachment-history-tile ar-attachment-history-tile--page'; + tile.className = `ar-attachment-history-tile ar-attachment-history-tile--page${item?.preview?.ar ? ' ar-attachment-history-tile--with-preview' : ''}`; const name = document.createElement('strong'); name.className = 'ar-attachment-history-name'; @@ -42,6 +42,12 @@ function renderTile(item, index) { const time = document.createElement('span'); time.textContent = formatArweaveHistoryTime(item.uploadedAtMs); meta.append(status, size, time); + if (item?.preview?.ar) { + const previewFlag = document.createElement('span'); + previewFlag.className = 'ar-attachment-placement-flag'; + previewFlag.textContent = 'С превью'; + meta.append(previewFlag); + } if (item.pendingPlacement) { const flag = document.createElement('span'); flag.className = 'ar-attachment-placement-flag'; @@ -126,8 +132,12 @@ export function render({ navigate }) { }, 0); } - controls.querySelector('[data-action="upload"]')?.addEventListener('click', uploadFile); - controls.querySelector('[data-action="upload-menu"]')?.addEventListener('click', uploadFile); + controls.querySelector('[data-action="upload"]')?.addEventListener('click', () => { + void uploadFile(); + }); + controls.querySelector('[data-action="upload-menu"]')?.addEventListener('click', () => { + void uploadFile(); + }); controls.querySelector('[data-action="back"]')?.addEventListener('click', () => navigate('settings-view')); controls.querySelector('[data-action="menu"]')?.addEventListener('click', (event) => { @@ -147,7 +157,7 @@ export function render({ navigate }) { const menu = controls.querySelector('[data-menu="true"]'); if (menu) menu.hidden = true; window.alert( - 'Здесь вы можете заранее добавить файл в Arweave. Файл загрузится в блокчейн-хранилище и сохранится в журнале только этой браузерной сессии.\n\n' + 'Здесь вы можете заранее добавить файл в Arweave или через Turbo. Кнопка «Загрузить через Turbo» находится внутри стандартного окна загрузки.\n\n' + 'Потом при создании сообщения можно открыть историю загрузок и выбрать уже загруженный файл по txId. ' + 'Если файл только что загружен, gateway может несколько минут его не отдавать, поэтому статус может быть “ещё обновляется”.' ); diff --git a/shine-UI/js/services/attachment-format.js b/shine-UI/js/services/attachment-format.js index 380f095c..57172cbd 100644 --- a/shine-UI/js/services/attachment-format.js +++ b/shine-UI/js/services/attachment-format.js @@ -32,15 +32,31 @@ function normalizeName(name) { return clean || 'file'; } +function normalizePreview(input = {}) { + const previewTxId = String(input.previewAr || input.ar || input.txId || '').trim(); + const previewSha256Hex = String(input.previewSha256 || input.sha256 || input.sha256Hex || '').trim().toLowerCase(); + if (!previewTxId || !previewSha256Hex) return null; + if (!validateArweaveTxId(previewTxId)) return null; + if (!validateSha256Hex(previewSha256Hex)) return null; + return { + ar: previewTxId, + sha256: previewSha256Hex, + }; +} + export function normalizeAttachment(input = {}) { const txId = String(input.ar || input.txId || '').trim(); const sha256Hex = String(input.sha256 || input.sha256Hex || '').trim().toLowerCase(); const size = Number(input.size || input.sizeBytes || 0); const name = normalizeName(input.name || input.fileName || 'file'); + const preview = normalizePreview(input.preview || { + previewAr: input.previewAr, + previewSha256: input.previewSha256, + }); if (!validateArweaveTxId(txId)) throw new Error('Некорректный Transaction ID Arweave.'); if (!validateSha256Hex(sha256Hex)) throw new Error('Некорректный SHA-256 файла.'); if (!Number.isInteger(size) || size <= 0) throw new Error('Некорректный размер файла.'); - return { + const out = { v: 1, name, size, @@ -48,12 +64,20 @@ export function normalizeAttachment(input = {}) { ar: txId, uploadedAtMs: Number(input.uploadedAtMs || 0) || Date.now(), }; + if (preview) { + out.v = 2; + out.preview = preview; + } + return out; } export function buildAttachmentBlock(attachment) { const item = normalizeAttachment(attachment); const encodedName = encodeURIComponent(item.name); - return `<SHiNE:attach;v=1;name=${encodedName};size=${item.size};sha256=${item.sha256};ar=${item.ar}>`; + const previewFields = item.preview + ? `;previewAr=${item.preview.ar};previewSha256=${item.preview.sha256}` + : ''; + return `<SHiNE:attach;v=${item.preview ? 2 : 1};name=${encodedName};size=${item.size};sha256=${item.sha256};ar=${item.ar}${previewFields}>`; } export function composeMessageWithAttachments(text, attachments = []) { @@ -91,6 +115,8 @@ export function parseMessageAttachments(rawText) { size: fields.size, sha256: fields.sha256, ar: fields.ar, + previewAr: fields.previewAr, + previewSha256: fields.previewSha256, })); } catch { // Битый attach-блок скрываем из UI, но не ломаем отображение текста. @@ -236,7 +262,7 @@ function createFileCard({ item, url, messageTimestampMs, slide }) { return card; } -function createMediaSlide({ item, url, kind, messageTimestampMs, slide }) { +function createMediaSlide({ item, url, kind, messageTimestampMs, slide, previewUrl = '' }) { const frame = document.createElement('div'); frame.className = `message-attachment-media-frame message-attachment-media-frame--${kind}`; frame.role = 'button'; @@ -264,6 +290,7 @@ function createMediaSlide({ item, url, kind, messageTimestampMs, slide }) { const video = document.createElement('video'); video.className = 'message-attachment-media'; video.src = url; + if (previewUrl) video.poster = previewUrl; video.preload = 'metadata'; video.muted = true; video.playsInline = true; @@ -320,11 +347,12 @@ export function createAttachmentCarouselElement(attachments = [], { gateway = '' const item = items[index]; const kind = getAttachmentKind(item); const url = buildArweaveDataUrl({ gateway, txId: item.ar }); + const previewUrl = item.preview?.ar ? buildArweaveDataUrl({ gateway, txId: item.preview.ar }) : ''; slide.dataset.unavailable = '0'; slide.replaceChildren(); slide.append(kind === 'file' ? createFileCard({ item, url, messageTimestampMs, slide }) - : createMediaSlide({ item, url, kind, messageTimestampMs, slide })); + : createMediaSlide({ item, url, kind, messageTimestampMs, slide, previewUrl })); prev.hidden = items.length <= 1 || index <= 0; next.hidden = items.length <= 1 || index >= items.length - 1; counter.textContent = `${index + 1} из ${items.length}`; diff --git a/shine-UI/js/services/solana-wallet-service.js b/shine-UI/js/services/solana-wallet-service.js index 444ff2cf..ba6ac7ae 100644 --- a/shine-UI/js/services/solana-wallet-service.js +++ b/shine-UI/js/services/solana-wallet-service.js @@ -17,6 +17,34 @@ const BASE58_MAP = (() => { return out; })(); +function encodeBase58(bytesLike) { + const bytes = bytesLike instanceof Uint8Array ? bytesLike : Uint8Array.from(bytesLike || []); + if (!bytes.length) return ''; + + const digits = [0]; + for (let i = 0; i < bytes.length; i += 1) { + let carry = bytes[i]; + for (let j = 0; j < digits.length; j += 1) { + const value = (digits[j] << 8) + carry; + digits[j] = value % 58; + carry = (value / 58) | 0; + } + while (carry > 0) { + digits.push(carry % 58); + carry = (carry / 58) | 0; + } + } + + let out = ''; + for (let i = 0; i < bytes.length && bytes[i] === 0; i += 1) { + out += BASE58_ALPHABET[0]; + } + for (let i = digits.length - 1; i >= 0; i -= 1) { + out += BASE58_ALPHABET[digits[i]]; + } + return out; +} + function normalizeEndpoint(url) { const raw = String(url || '').trim(); if (!raw) return DEFAULT_SOLANA_ENDPOINT; @@ -65,13 +93,27 @@ function decodeBase58(input) { async function keypairFromPkcs8(pkcs8B64) { const solana = await loadSolanaLib(); const seed32 = extractClientKey32FromStoredValue(pkcs8B64); - return solana.Keypair.fromSeed(seed32); + try { + return solana.Keypair.fromSeed(seed32); + } finally { + seed32.fill(0); + } +} + +async function keypairFromStoredSecret(storedSecret) { + const solana = await loadSolanaLib(); + const seed32 = extractClientKey32FromStoredValue(storedSecret); + try { + return solana.Keypair.fromSeed(seed32); + } finally { + seed32.fill(0); + } } export async function createRandomSolanaWallet() { const solana = await loadSolanaLib(); const keypair = solana.Keypair.generate(); - const privateKey32Base58 = solana.bs58.encode(keypair.secretKey.slice(0, 32)); + const privateKey32Base58 = encodeBase58(keypair.secretKey.slice(0, 32)); return { address: keypair.publicKey.toBase58(), privateKey32Base58, @@ -107,7 +149,7 @@ export async function getWalletFromStoredClientKey({ login, storagePwd }) { if (!clientPrivate) { throw new Error('На устройстве не найден client.key'); } - const keypair = await keypairFromPkcs8(clientPrivate); + const keypair = await keypairFromStoredSecret(clientPrivate); return { address: keypair.publicKey.toBase58(), keypair, @@ -115,6 +157,66 @@ export async function getWalletFromStoredClientKey({ login, storagePwd }) { }; } +export async function getWalletFromStoredRootKey({ login, storagePwd }) { + const cleanLogin = String(login || '').trim(); + const cleanPwd = String(storagePwd || '').trim(); + if (!cleanLogin || !cleanPwd) { + throw new Error('Нет активной сессии для доступа к root key'); + } + const secrets = await loadEncryptedUserSecrets(cleanLogin, cleanPwd); + const rootPrivate = String(secrets?.rootKey || '').trim(); + if (!rootPrivate) { + throw new Error('На устройстве не найден root key'); + } + const keypair = await keypairFromStoredSecret(rootPrivate); + return { + address: keypair.publicKey.toBase58(), + keypair, + rootPrivatePkcs8B64: rootPrivate, + }; +} + +export async function getStoredSolanaWalletChoices({ login, storagePwd, includeRoot = true } = {}) { + const cleanLogin = String(login || '').trim(); + const cleanPwd = String(storagePwd || '').trim(); + if (!cleanLogin || !cleanPwd) { + throw new Error('Нет активной сессии для доступа к ключам'); + } + + const choices = []; + const clientWallet = await getWalletFromStoredClientKey({ login: cleanLogin, storagePwd: cleanPwd }); + choices.push({ + id: 'client-key', + keySource: 'client', + label: 'client key', + address: clientWallet.address, + keypair: clientWallet.keypair, + }); + + if (includeRoot) { + try { + const rootWallet = await getWalletFromStoredRootKey({ login: cleanLogin, storagePwd: cleanPwd }); + choices.push({ + id: 'root-key', + keySource: 'root', + label: 'root key', + address: rootWallet.address, + keypair: rootWallet.keypair, + }); + } catch { + // root key на устройстве может отсутствовать, это допустимо + } + } + + return choices; +} + +export async function encodeSolanaSecretKeyBase58(secretKey) { + const bytes = secretKey instanceof Uint8Array ? secretKey : Uint8Array.from(secretKey || []); + if (!bytes.length) throw new Error('Пустой Solana secret key'); + return encodeBase58(bytes); +} + export async function getBalanceSol({ endpoint, address }) { const solana = await loadSolanaLib(); const rpc = normalizeEndpoint(endpoint); diff --git a/shine-UI/js/services/turbo-upload-service.js b/shine-UI/js/services/turbo-upload-service.js new file mode 100644 index 00000000..de344430 --- /dev/null +++ b/shine-UI/js/services/turbo-upload-service.js @@ -0,0 +1,213 @@ +import { getBalanceSol, getStoredSolanaWalletChoices, encodeSolanaSecretKeyBase58, formatSol } from './solana-wallet-service.js'; +import { state } from '../state.js'; + +const FREE_TURBO_UPLOAD_BYTES = 100 * 1024; +const WINC_PER_CREDIT = 1_000_000_000_000n; + +let turboLibPromise = null; + +function parseSolToLamports(amountSol) { + const raw = String(amountSol ?? '').trim().replace(',', '.'); + const match = raw.match(/^(\d+)(?:\.(\d+))?$/); + if (!match) { + throw new Error('Сумма пополнения должна быть числом'); + } + const intPart = BigInt(match[1] || '0'); + const frac = String(match[2] || ''); + if (frac.length > 9) { + throw new Error('Слишком много знаков после запятой для SOL'); + } + const fracPadded = `${frac}${'0'.repeat(9 - frac.length)}`; + const lamports = (intPart * 1_000_000_000n) + BigInt(fracPadded || '0'); + if (lamports <= 0n) { + throw new Error('Сумма пополнения должна быть больше 0'); + } + return lamports.toString(); +} + +function normalizeKeySource(value) { + return String(value || '').trim().toLowerCase() === 'root' ? 'root' : 'client'; +} + +async function loadTurboLib() { + if (!turboLibPromise) { + turboLibPromise = import('../vendor/turbo-sdk.web.bundle.js'); + } + return turboLibPromise; +} + +async function getTurboWalletChoice({ login, storagePwd, keySource = 'client' } = {}) { + const normalizedKeySource = normalizeKeySource(keySource); + const choices = await getStoredSolanaWalletChoices({ login, storagePwd, includeRoot: true }); + const selected = choices.find((item) => item.keySource === normalizedKeySource) || choices[0] || null; + if (!selected?.keypair) { + throw new Error(normalizedKeySource === 'root' + ? 'На устройстве не найден root key для Turbo.' + : 'На устройстве не найден client key для Turbo.'); + } + return selected; +} + +async function createTurboClientFromWalletChoice(choice) { + const moduleRef = await loadTurboLib(); + const TurboFactory = moduleRef?.TurboFactory; + if (!TurboFactory?.authenticated) { + throw new Error('Turbo SDK не удалось инициализировать.'); + } + const privateKey = await encodeSolanaSecretKeyBase58(choice.keypair.secretKey); + return TurboFactory.authenticated({ + privateKey, + token: 'solana', + }); +} + +function creditsFromWinc(winc) { + const value = BigInt(String(winc || '0')); + return Number(value) / Number(WINC_PER_CREDIT); +} + +function shortAddress(value) { + const raw = String(value || '').trim(); + if (raw.length <= 16) return raw; + return `${raw.slice(0, 8)}...${raw.slice(-6)}`; +} + +export function isFreeTurboUploadSize(byteLength) { + const bytes = Number(byteLength || 0); + return Number.isFinite(bytes) && bytes > 0 && bytes <= FREE_TURBO_UPLOAD_BYTES; +} + +export function getFreeTurboUploadBytesLimit() { + return FREE_TURBO_UPLOAD_BYTES; +} + +export function formatTurboCredits(value, digits = 6) { + const n = Number(value); + if (!Number.isFinite(n)) return '0'; + return n.toLocaleString('ru-RU', { + minimumFractionDigits: 0, + maximumFractionDigits: digits, + }); +} + +export async function getTurboContextForStoredSolanaKey({ login, storagePwd, keySource = 'client' } = {}) { + const choice = await getTurboWalletChoice({ login, storagePwd, keySource }); + const turbo = await createTurboClientFromWalletChoice(choice); + return { + turbo, + address: choice.address, + keySource: choice.keySource, + label: choice.label, + keypair: choice.keypair, + shortAddress: shortAddress(choice.address), + }; +} + +export async function getTurboBalanceForStoredSolanaKey({ login, storagePwd, keySource = 'client' } = {}) { + const ctx = await getTurboContextForStoredSolanaKey({ login, storagePwd, keySource }); + const balance = await ctx.turbo.getBalance(ctx.address); + const solanaBalance = await getBalanceSol({ + endpoint: state.registrationPayment?.endpoint || state.entrySettings?.solanaRpc || undefined, + address: ctx.address, + }); + return { + ...ctx, + controlledWinc: String(balance.controlledWinc || '0'), + spendableWinc: String(balance.winc || '0'), + effectiveWinc: String(balance.effectiveBalance || '0'), + controlledCredits: creditsFromWinc(balance.controlledWinc || '0'), + spendableCredits: creditsFromWinc(balance.winc || '0'), + effectiveCredits: creditsFromWinc(balance.effectiveBalance || '0'), + solBalance: solanaBalance.sol, + solLamports: solanaBalance.lamports, + }; +} + +export async function estimateTurboUploadPrice({ login, storagePwd, keySource = 'client', byteLength } = {}) { + const bytes = Number(byteLength); + if (!Number.isInteger(bytes) || bytes <= 0) { + throw new Error('Некорректный размер файла для Turbo.'); + } + const ctx = await getTurboContextForStoredSolanaKey({ login, storagePwd, keySource }); + const rows = await ctx.turbo.getUploadCosts({ bytes: [bytes] }); + const price = Array.isArray(rows) ? rows[0] : null; + if (!price) { + throw new Error('Turbo не вернул цену загрузки.'); + } + const winc = String(price.winc || '0'); + return { + ...ctx, + byteLength: bytes, + isFree: isFreeTurboUploadSize(bytes), + winc, + credits: creditsFromWinc(winc), + }; +} + +export async function uploadFileWithTurbo({ + login, + storagePwd, + keySource = 'client', + file, + tags = [], + shineType = 'attachment', + onProgress, +} = {}) { + if (!(file instanceof File)) { + throw new Error('Выберите файл для загрузки через Turbo.'); + } + const ctx = await getTurboContextForStoredSolanaKey({ login, storagePwd, keySource }); + const result = await ctx.turbo.uploadFile({ + file, + dataItemOpts: { + tags: [ + { name: 'Content-Type', value: String(file.type || 'application/octet-stream') }, + { name: 'App-Name', value: 'SHiNE' }, + { name: 'SHiNE-Type', value: String(shineType || 'attachment') }, + ...((Array.isArray(tags) ? tags : []).filter((item) => item?.name && item?.value)), + ], + }, + events: typeof onProgress === 'function' + ? { + onProgress: ({ totalBytes, processedBytes, step }) => { + onProgress({ + totalBytes, + processedBytes, + step, + }); + }, + } + : undefined, + }); + return { + ...ctx, + id: String(result?.id || '').trim(), + owner: String(result?.owner || '').trim(), + winc: String(result?.winc || '0'), + credits: creditsFromWinc(result?.winc || '0'), + }; +} + +export async function topUpTurboWithSolana({ + login, + storagePwd, + keySource = 'client', + amountSol, + turboCreditDestinationAddress = '', +} = {}) { + const ctx = await getTurboContextForStoredSolanaKey({ login, storagePwd, keySource }); + const tokenAmount = parseSolToLamports(amountSol); + const result = await ctx.turbo.topUpWithTokens({ + tokenAmount, + turboCreditDestinationAddress: String(turboCreditDestinationAddress || '').trim() || undefined, + }); + return { + ...ctx, + amountSol: formatSol(amountSol, 9), + lamports: tokenAmount, + txId: String(result?.id || '').trim(), + target: String(result?.target || '').trim(), + rewardWinc: String(result?.reward || '0'), + rewardCredits: creditsFromWinc(result?.reward || '0'), + }; +} diff --git a/shine-UI/js/vendor/turbo-sdk.web.bundle.js b/shine-UI/js/vendor/turbo-sdk.web.bundle.js new file mode 100644 index 00000000..619c783b --- /dev/null +++ b/shine-UI/js/vendor/turbo-sdk.web.bundle.js @@ -0,0 +1,423 @@ +var FRt=Object.create;var VH=Object.defineProperty;var QRt=Object.getOwnPropertyDescriptor;var HRt=Object.getOwnPropertyNames;var GRt=Object.getPrototypeOf,qRt=Object.prototype.hasOwnProperty;var Av=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var tn=(e,t)=>()=>(e&&(t=e(e=0)),t);var ir=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),gh=(e,t)=>{for(var r in t)VH(e,r,{get:t[r],enumerable:!0})},UBe=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of HRt(t))!qRt.call(e,n)&&n!==r&&VH(e,n,{get:()=>t[n],enumerable:!(i=QRt(t,n))||i.enumerable});return e};var po=(e,t,r)=>(r=e!=null?FRt(GRt(e)):{},UBe(t||!e||!e.__esModule?VH(r,"default",{value:e,enumerable:!0}):r,e)),Zu=e=>UBe(VH({},"__esModule",{value:!0}),e);var J=tn(()=>{"use strict"});var me={};gh(me,{_debugEnd:()=>C7e,_debugProcess:()=>I7e,_events:()=>G7e,_eventsCount:()=>q7e,_exiting:()=>a7e,_fatalExceptions:()=>E7e,_getActiveHandles:()=>d7e,_getActiveRequests:()=>u7e,_kill:()=>l7e,_linkedBinding:()=>i7e,_maxListeners:()=>H7e,_preload_modules:()=>U7e,_rawDebug:()=>r7e,_startProfilerIdleNotifier:()=>w7e,_stopProfilerIdleNotifier:()=>O7e,_tickCallback:()=>S7e,abort:()=>B7e,addListener:()=>V7e,allowedNodeEnvironmentFlags:()=>m7e,arch:()=>qBe,argv:()=>zBe,argv0:()=>L7e,assert:()=>y7e,binding:()=>XBe,chdir:()=>e7e,config:()=>s7e,cpuUsage:()=>KH,cwd:()=>jBe,debugPort:()=>P7e,default:()=>j7e,dlopen:()=>c7e,domain:()=>o7e,emit:()=>Y7e,emitWarning:()=>WBe,env:()=>JBe,execArgv:()=>KBe,execPath:()=>k7e,exit:()=>g7e,features:()=>b7e,hasUncaughtExceptionCaptureCallback:()=>R7e,hrtime:()=>zH,kill:()=>p7e,listeners:()=>Z7e,memoryUsage:()=>A7e,moduleLoadList:()=>n7e,nextTick:()=>QBe,off:()=>z7e,on:()=>gv,once:()=>J7e,openStdin:()=>_7e,pid:()=>M7e,platform:()=>VBe,ppid:()=>D7e,prependListener:()=>W7e,prependOnceListener:()=>X7e,reallyExit:()=>f7e,release:()=>t7e,removeAllListeners:()=>$7e,removeListener:()=>K7e,resourceUsage:()=>h7e,setSourceMapsEnabled:()=>F7e,setUncaughtExceptionCaptureCallback:()=>v7e,stderr:()=>x7e,stdin:()=>T7e,stdout:()=>N7e,title:()=>GBe,umask:()=>ZBe,uptime:()=>Q7e,version:()=>$Be,versions:()=>YBe});function rne(e){throw new Error("Node.js process "+e+" is not supported by JSPM core outside of Node.js")}function VRt(){!tO||!D8||(tO=!1,D8.length?pv=D8.concat(pv):JH=-1,pv.length&&FBe())}function FBe(){if(!tO){var e=setTimeout(VRt,0);tO=!0;for(var t=pv.length;t;){for(D8=pv,pv=[];++JH<t;)D8&&D8[JH].run();JH=-1,t=pv.length}D8=null,tO=!1,clearTimeout(e)}}function QBe(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];pv.push(new HBe(e,t)),pv.length===1&&!tO&&setTimeout(FBe,0)}function HBe(e,t){this.fun=e,this.array=t}function _h(){}function i7e(e){rne("_linkedBinding")}function c7e(e){rne("dlopen")}function u7e(){return[]}function d7e(){return[]}function y7e(e,t){if(!e)throw new Error(t||"assertion error")}function R7e(){return!1}function Q7e(){return KS.now()/1e3}function zH(e){var t=Math.floor((Date.now()-KS.now())*.001),r=KS.now()*.001,i=Math.floor(r)+t,n=Math.floor(r%1*1e9);return e&&(i=i-e[0],n=n-e[1],n<0&&(i--,n+=tne)),[i,n]}function gv(){return j7e}function Z7e(e){return[]}var pv,tO,D8,JH,GBe,qBe,VBe,JBe,zBe,KBe,$Be,YBe,WBe,XBe,ZBe,jBe,e7e,t7e,r7e,n7e,o7e,a7e,s7e,f7e,l7e,KH,h7e,A7e,p7e,g7e,_7e,m7e,b7e,E7e,v7e,S7e,I7e,C7e,w7e,O7e,N7e,x7e,T7e,B7e,M7e,D7e,k7e,P7e,L7e,U7e,F7e,KS,ene,tne,H7e,G7e,q7e,V7e,J7e,z7e,K7e,$7e,Y7e,W7e,X7e,j7e,e9e=tn(()=>{"use strict";J();K();z();pv=[],tO=!1,JH=-1;HBe.prototype.run=function(){this.fun.apply(null,this.array)};GBe="browser",qBe="x64",VBe="browser",JBe={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},zBe=["/usr/bin/node"],KBe=[],$Be="v16.8.0",YBe={},WBe=function(e,t){console.warn((t?t+": ":"")+e)},XBe=function(e){rne("binding")},ZBe=function(e){return 0},jBe=function(){return"/"},e7e=function(e){},t7e={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};r7e=_h,n7e=[];o7e={},a7e=!1,s7e={};f7e=_h,l7e=_h,KH=function(){return{}},h7e=KH,A7e=KH,p7e=_h,g7e=_h,_7e=_h,m7e={};b7e={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},E7e=_h,v7e=_h;S7e=_h,I7e=_h,C7e=_h,w7e=_h,O7e=_h,N7e=void 0,x7e=void 0,T7e=void 0,B7e=_h,M7e=2,D7e=1,k7e="/bin/usr/node",P7e=9229,L7e="node",U7e=[],F7e=_h,KS={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};KS.now===void 0&&(ene=Date.now(),KS.timing&&KS.timing.navigationStart&&(ene=KS.timing.navigationStart),KS.now=()=>Date.now()-ene);tne=1e9;zH.bigint=function(e){var t=zH(e);return typeof BigInt>"u"?t[0]*tne+t[1]:BigInt(t[0]*tne)+BigInt(t[1])};H7e=10,G7e={},q7e=0;V7e=gv,J7e=gv,z7e=gv,K7e=gv,$7e=gv,Y7e=_h,W7e=gv,X7e=gv;j7e={version:$Be,versions:YBe,arch:qBe,platform:VBe,release:t7e,_rawDebug:r7e,moduleLoadList:n7e,binding:XBe,_linkedBinding:i7e,_events:G7e,_eventsCount:q7e,_maxListeners:H7e,on:gv,addListener:V7e,once:J7e,off:z7e,removeListener:K7e,removeAllListeners:$7e,emit:Y7e,prependListener:W7e,prependOnceListener:X7e,listeners:Z7e,domain:o7e,_exiting:a7e,config:s7e,dlopen:c7e,uptime:Q7e,_getActiveRequests:u7e,_getActiveHandles:d7e,reallyExit:f7e,_kill:l7e,cpuUsage:KH,resourceUsage:h7e,memoryUsage:A7e,kill:p7e,exit:g7e,openStdin:_7e,allowedNodeEnvironmentFlags:m7e,assert:y7e,features:b7e,_fatalExceptions:E7e,setUncaughtExceptionCaptureCallback:v7e,hasUncaughtExceptionCaptureCallback:R7e,emitWarning:WBe,nextTick:QBe,_tickCallback:S7e,_debugProcess:I7e,_debugEnd:C7e,_startProfilerIdleNotifier:w7e,_stopProfilerIdleNotifier:O7e,stdout:N7e,stdin:T7e,stderr:x7e,abort:B7e,umask:ZBe,chdir:e7e,cwd:jBe,env:JBe,title:GBe,argv:zBe,execArgv:KBe,pid:M7e,ppid:D7e,execPath:k7e,debugPort:P7e,hrtime:zH,argv0:L7e,_preload_modules:U7e,setSourceMapsEnabled:F7e}});var z=tn(()=>{"use strict";e9e()});var ky={};gh(ky,{Buffer:()=>fe,INSPECT_MAX_BYTES:()=>$Rt,default:()=>$S,kMaxLength:()=>YRt});function JRt(){if(t9e)return BM;t9e=!0,BM.byteLength=g,BM.toByteArray=_,BM.fromByteArray=T;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=i.length;n<o;++n)e[n]=i[n],t[i.charCodeAt(n)]=n;t[45]=62,t[95]=63;function d(M){var D=M.length;if(D%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var P=M.indexOf("=");P===-1&&(P=D);var G=P===D?0:4-P%4;return[P,G]}function g(M){var D=d(M),P=D[0],G=D[1];return(P+G)*3/4-G}function y(M,D,P){return(D+P)*3/4-P}function _(M){var D,P=d(M),G=P[0],q=P[1],Y=new r(y(M,G,q)),ne=0,ce=q>0?G-4:G,le;for(le=0;le<ce;le+=4)D=t[M.charCodeAt(le)]<<18|t[M.charCodeAt(le+1)]<<12|t[M.charCodeAt(le+2)]<<6|t[M.charCodeAt(le+3)],Y[ne++]=D>>16&255,Y[ne++]=D>>8&255,Y[ne++]=D&255;return q===2&&(D=t[M.charCodeAt(le)]<<2|t[M.charCodeAt(le+1)]>>4,Y[ne++]=D&255),q===1&&(D=t[M.charCodeAt(le)]<<10|t[M.charCodeAt(le+1)]<<4|t[M.charCodeAt(le+2)]>>2,Y[ne++]=D>>8&255,Y[ne++]=D&255),Y}function I(M){return e[M>>18&63]+e[M>>12&63]+e[M>>6&63]+e[M&63]}function N(M,D,P){for(var G,q=[],Y=D;Y<P;Y+=3)G=(M[Y]<<16&16711680)+(M[Y+1]<<8&65280)+(M[Y+2]&255),q.push(I(G));return q.join("")}function T(M){for(var D,P=M.length,G=P%3,q=[],Y=16383,ne=0,ce=P-G;ne<ce;ne+=Y)q.push(N(M,ne,ne+Y>ce?ce:ne+Y));return G===1?(D=M[P-1],q.push(e[D>>2]+e[D<<4&63]+"==")):G===2&&(D=(M[P-2]<<8)+M[P-1],q.push(e[D>>10]+e[D>>4&63]+e[D<<2&63]+"=")),q.join("")}return BM}function zRt(){if(r9e)return $H;r9e=!0;return $H.read=function(e,t,r,i,n){var o,d,g=n*8-i-1,y=(1<<g)-1,_=y>>1,I=-7,N=r?n-1:0,T=r?-1:1,M=e[t+N];for(N+=T,o=M&(1<<-I)-1,M>>=-I,I+=g;I>0;o=o*256+e[t+N],N+=T,I-=8);for(d=o&(1<<-I)-1,o>>=-I,I+=i;I>0;d=d*256+e[t+N],N+=T,I-=8);if(o===0)o=1-_;else{if(o===y)return d?NaN:(M?-1:1)*(1/0);d=d+Math.pow(2,i),o=o-_}return(M?-1:1)*d*Math.pow(2,o-i)},$H.write=function(e,t,r,i,n,o){var d,g,y,_=o*8-n-1,I=(1<<_)-1,N=I>>1,T=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=i?0:o-1,D=i?1:-1,P=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(g=isNaN(t)?1:0,d=I):(d=Math.floor(Math.log(t)/Math.LN2),t*(y=Math.pow(2,-d))<1&&(d--,y*=2),d+N>=1?t+=T/y:t+=T*Math.pow(2,1-N),t*y>=2&&(d++,y/=2),d+N>=I?(g=0,d=I):d+N>=1?(g=(t*y-1)*Math.pow(2,n),d=d+N):(g=t*Math.pow(2,N-1)*Math.pow(2,n),d=0));n>=8;e[r+M]=g&255,M+=D,g/=256,n-=8);for(d=d<<n|g,_+=n;_>0;e[r+M]=d&255,M+=D,d/=256,_-=8);e[r+M-D]|=P*128},$H}function KRt(){if(n9e)return k8;n9e=!0;let e=JRt(),t=zRt(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;k8.Buffer=d,k8.SlowBuffer=q,k8.INSPECT_MAX_BYTES=50;let i=2147483647;k8.kMaxLength=i,d.TYPED_ARRAY_SUPPORT=n(),!d.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let ve=new Uint8Array(1),ie={foo:function(){return 42}};return Object.setPrototypeOf(ie,Uint8Array.prototype),Object.setPrototypeOf(ve,ie),ve.foo()===42}catch{return!1}}Object.defineProperty(d.prototype,"parent",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.buffer}}),Object.defineProperty(d.prototype,"offset",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.byteOffset}});function o(ve){if(ve>i)throw new RangeError('The value "'+ve+'" is invalid for option "size"');let ie=new Uint8Array(ve);return Object.setPrototypeOf(ie,d.prototype),ie}function d(ve,ie,_e){if(typeof ve=="number"){if(typeof ie=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return I(ve)}return g(ve,ie,_e)}d.poolSize=8192;function g(ve,ie,_e){if(typeof ve=="string")return N(ve,ie);if(ArrayBuffer.isView(ve))return M(ve);if(ve==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ve);if(At(ve,ArrayBuffer)||ve&&At(ve.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(At(ve,SharedArrayBuffer)||ve&&At(ve.buffer,SharedArrayBuffer)))return D(ve,ie,_e);if(typeof ve=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let Be=ve.valueOf&&ve.valueOf();if(Be!=null&&Be!==ve)return d.from(Be,ie,_e);let Ze=P(ve);if(Ze)return Ze;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ve[Symbol.toPrimitive]=="function")return d.from(ve[Symbol.toPrimitive]("string"),ie,_e);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ve)}d.from=function(ve,ie,_e){return g(ve,ie,_e)},Object.setPrototypeOf(d.prototype,Uint8Array.prototype),Object.setPrototypeOf(d,Uint8Array);function y(ve){if(typeof ve!="number")throw new TypeError('"size" argument must be of type number');if(ve<0)throw new RangeError('The value "'+ve+'" is invalid for option "size"')}function _(ve,ie,_e){return y(ve),ve<=0?o(ve):ie!==void 0?typeof _e=="string"?o(ve).fill(ie,_e):o(ve).fill(ie):o(ve)}d.alloc=function(ve,ie,_e){return _(ve,ie,_e)};function I(ve){return y(ve),o(ve<0?0:G(ve)|0)}d.allocUnsafe=function(ve){return I(ve)},d.allocUnsafeSlow=function(ve){return I(ve)};function N(ve,ie){if((typeof ie!="string"||ie==="")&&(ie="utf8"),!d.isEncoding(ie))throw new TypeError("Unknown encoding: "+ie);let _e=Y(ve,ie)|0,Be=o(_e),Ze=Be.write(ve,ie);return Ze!==_e&&(Be=Be.slice(0,Ze)),Be}function T(ve){let ie=ve.length<0?0:G(ve.length)|0,_e=o(ie);for(let Be=0;Be<ie;Be+=1)_e[Be]=ve[Be]&255;return _e}function M(ve){if(At(ve,Uint8Array)){let ie=new Uint8Array(ve);return D(ie.buffer,ie.byteOffset,ie.byteLength)}return T(ve)}function D(ve,ie,_e){if(ie<0||ve.byteLength<ie)throw new RangeError('"offset" is outside of buffer bounds');if(ve.byteLength<ie+(_e||0))throw new RangeError('"length" is outside of buffer bounds');let Be;return ie===void 0&&_e===void 0?Be=new Uint8Array(ve):_e===void 0?Be=new Uint8Array(ve,ie):Be=new Uint8Array(ve,ie,_e),Object.setPrototypeOf(Be,d.prototype),Be}function P(ve){if(d.isBuffer(ve)){let ie=G(ve.length)|0,_e=o(ie);return _e.length===0||ve.copy(_e,0,0,ie),_e}if(ve.length!==void 0)return typeof ve.length!="number"||Er(ve.length)?o(0):T(ve);if(ve.type==="Buffer"&&Array.isArray(ve.data))return T(ve.data)}function G(ve){if(ve>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return ve|0}function q(ve){return+ve!=ve&&(ve=0),d.alloc(+ve)}d.isBuffer=function(ie){return ie!=null&&ie._isBuffer===!0&&ie!==d.prototype},d.compare=function(ie,_e){if(At(ie,Uint8Array)&&(ie=d.from(ie,ie.offset,ie.byteLength)),At(_e,Uint8Array)&&(_e=d.from(_e,_e.offset,_e.byteLength)),!d.isBuffer(ie)||!d.isBuffer(_e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(ie===_e)return 0;let Be=ie.length,Ze=_e.length;for(let $t=0,at=Math.min(Be,Ze);$t<at;++$t)if(ie[$t]!==_e[$t]){Be=ie[$t],Ze=_e[$t];break}return Be<Ze?-1:Ze<Be?1:0},d.isEncoding=function(ie){switch(String(ie).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(ie,_e){if(!Array.isArray(ie))throw new TypeError('"list" argument must be an Array of Buffers');if(ie.length===0)return d.alloc(0);let Be;if(_e===void 0)for(_e=0,Be=0;Be<ie.length;++Be)_e+=ie[Be].length;let Ze=d.allocUnsafe(_e),$t=0;for(Be=0;Be<ie.length;++Be){let at=ie[Be];if(At(at,Uint8Array))$t+at.length>Ze.length?(d.isBuffer(at)||(at=d.from(at)),at.copy(Ze,$t)):Uint8Array.prototype.set.call(Ze,at,$t);else if(d.isBuffer(at))at.copy(Ze,$t);else throw new TypeError('"list" argument must be an Array of Buffers');$t+=at.length}return Ze};function Y(ve,ie){if(d.isBuffer(ve))return ve.length;if(ArrayBuffer.isView(ve)||At(ve,ArrayBuffer))return ve.byteLength;if(typeof ve!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof ve);let _e=ve.length,Be=arguments.length>2&&arguments[2]===!0;if(!Be&&_e===0)return 0;let Ze=!1;for(;;)switch(ie){case"ascii":case"latin1":case"binary":return _e;case"utf8":case"utf-8":return Le(ve).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e*2;case"hex":return _e>>>1;case"base64":return _t(ve).length;default:if(Ze)return Be?-1:Le(ve).length;ie=(""+ie).toLowerCase(),Ze=!0}}d.byteLength=Y;function ne(ve,ie,_e){let Be=!1;if((ie===void 0||ie<0)&&(ie=0),ie>this.length||((_e===void 0||_e>this.length)&&(_e=this.length),_e<=0)||(_e>>>=0,ie>>>=0,_e<=ie))return"";for(ve||(ve="utf8");;)switch(ve){case"hex":return R(this,ie,_e);case"utf8":case"utf-8":return A(this,ie,_e);case"ascii":return w(this,ie,_e);case"latin1":case"binary":return x(this,ie,_e);case"base64":return l(this,ie,_e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u(this,ie,_e);default:if(Be)throw new TypeError("Unknown encoding: "+ve);ve=(ve+"").toLowerCase(),Be=!0}}d.prototype._isBuffer=!0;function ce(ve,ie,_e){let Be=ve[ie];ve[ie]=ve[_e],ve[_e]=Be}d.prototype.swap16=function(){let ie=this.length;if(ie%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let _e=0;_e<ie;_e+=2)ce(this,_e,_e+1);return this},d.prototype.swap32=function(){let ie=this.length;if(ie%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let _e=0;_e<ie;_e+=4)ce(this,_e,_e+3),ce(this,_e+1,_e+2);return this},d.prototype.swap64=function(){let ie=this.length;if(ie%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let _e=0;_e<ie;_e+=8)ce(this,_e,_e+7),ce(this,_e+1,_e+6),ce(this,_e+2,_e+5),ce(this,_e+3,_e+4);return this},d.prototype.toString=function(){let ie=this.length;return ie===0?"":arguments.length===0?A(this,0,ie):ne.apply(this,arguments)},d.prototype.toLocaleString=d.prototype.toString,d.prototype.equals=function(ie){if(!d.isBuffer(ie))throw new TypeError("Argument must be a Buffer");return this===ie?!0:d.compare(this,ie)===0},d.prototype.inspect=function(){let ie="",_e=k8.INSPECT_MAX_BYTES;return ie=this.toString("hex",0,_e).replace(/(.{2})/g,"$1 ").trim(),this.length>_e&&(ie+=" ... "),"<Buffer "+ie+">"},r&&(d.prototype[r]=d.prototype.inspect),d.prototype.compare=function(ie,_e,Be,Ze,$t){if(At(ie,Uint8Array)&&(ie=d.from(ie,ie.offset,ie.byteLength)),!d.isBuffer(ie))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof ie);if(_e===void 0&&(_e=0),Be===void 0&&(Be=ie?ie.length:0),Ze===void 0&&(Ze=0),$t===void 0&&($t=this.length),_e<0||Be>ie.length||Ze<0||$t>this.length)throw new RangeError("out of range index");if(Ze>=$t&&_e>=Be)return 0;if(Ze>=$t)return-1;if(_e>=Be)return 1;if(_e>>>=0,Be>>>=0,Ze>>>=0,$t>>>=0,this===ie)return 0;let at=$t-Ze,zt=Be-_e,Hr=Math.min(at,zt),St=this.slice(Ze,$t),Yt=ie.slice(_e,Be);for(let qr=0;qr<Hr;++qr)if(St[qr]!==Yt[qr]){at=St[qr],zt=Yt[qr];break}return at<zt?-1:zt<at?1:0};function le(ve,ie,_e,Be,Ze){if(ve.length===0)return-1;if(typeof _e=="string"?(Be=_e,_e=0):_e>2147483647?_e=2147483647:_e<-2147483648&&(_e=-2147483648),_e=+_e,Er(_e)&&(_e=Ze?0:ve.length-1),_e<0&&(_e=ve.length+_e),_e>=ve.length){if(Ze)return-1;_e=ve.length-1}else if(_e<0)if(Ze)_e=0;else return-1;if(typeof ie=="string"&&(ie=d.from(ie,Be)),d.isBuffer(ie))return ie.length===0?-1:pe(ve,ie,_e,Be,Ze);if(typeof ie=="number")return ie=ie&255,typeof Uint8Array.prototype.indexOf=="function"?Ze?Uint8Array.prototype.indexOf.call(ve,ie,_e):Uint8Array.prototype.lastIndexOf.call(ve,ie,_e):pe(ve,[ie],_e,Be,Ze);throw new TypeError("val must be string, number or Buffer")}function pe(ve,ie,_e,Be,Ze){let $t=1,at=ve.length,zt=ie.length;if(Be!==void 0&&(Be=String(Be).toLowerCase(),Be==="ucs2"||Be==="ucs-2"||Be==="utf16le"||Be==="utf-16le")){if(ve.length<2||ie.length<2)return-1;$t=2,at/=2,zt/=2,_e/=2}function Hr(Yt,qr){return $t===1?Yt[qr]:Yt.readUInt16BE(qr*$t)}let St;if(Ze){let Yt=-1;for(St=_e;St<at;St++)if(Hr(ve,St)===Hr(ie,Yt===-1?0:St-Yt)){if(Yt===-1&&(Yt=St),St-Yt+1===zt)return Yt*$t}else Yt!==-1&&(St-=St-Yt),Yt=-1}else for(_e+zt>at&&(_e=at-zt),St=_e;St>=0;St--){let Yt=!0;for(let qr=0;qr<zt;qr++)if(Hr(ve,St+qr)!==Hr(ie,qr)){Yt=!1;break}if(Yt)return St}return-1}d.prototype.includes=function(ie,_e,Be){return this.indexOf(ie,_e,Be)!==-1},d.prototype.indexOf=function(ie,_e,Be){return le(this,ie,_e,Be,!0)},d.prototype.lastIndexOf=function(ie,_e,Be){return le(this,ie,_e,Be,!1)};function ae(ve,ie,_e,Be){_e=Number(_e)||0;let Ze=ve.length-_e;Be?(Be=Number(Be),Be>Ze&&(Be=Ze)):Be=Ze;let $t=ie.length;Be>$t/2&&(Be=$t/2);let at;for(at=0;at<Be;++at){let zt=parseInt(ie.substr(at*2,2),16);if(Er(zt))return at;ve[_e+at]=zt}return at}function W(ve,ie,_e,Be){return rt(Le(ie,ve.length-_e),ve,_e,Be)}function se(ve,ie,_e,Be){return rt(V(ie),ve,_e,Be)}function O(ve,ie,_e,Be){return rt(_t(ie),ve,_e,Be)}function s(ve,ie,_e,Be){return rt(Qe(ie,ve.length-_e),ve,_e,Be)}d.prototype.write=function(ie,_e,Be,Ze){if(_e===void 0)Ze="utf8",Be=this.length,_e=0;else if(Be===void 0&&typeof _e=="string")Ze=_e,Be=this.length,_e=0;else if(isFinite(_e))_e=_e>>>0,isFinite(Be)?(Be=Be>>>0,Ze===void 0&&(Ze="utf8")):(Ze=Be,Be=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let $t=this.length-_e;if((Be===void 0||Be>$t)&&(Be=$t),ie.length>0&&(Be<0||_e<0)||_e>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");let at=!1;for(;;)switch(Ze){case"hex":return ae(this,ie,_e,Be);case"utf8":case"utf-8":return W(this,ie,_e,Be);case"ascii":case"latin1":case"binary":return se(this,ie,_e,Be);case"base64":return O(this,ie,_e,Be);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s(this,ie,_e,Be);default:if(at)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),at=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function l(ve,ie,_e){return ie===0&&_e===ve.length?e.fromByteArray(ve):e.fromByteArray(ve.slice(ie,_e))}function A(ve,ie,_e){_e=Math.min(ve.length,_e);let Be=[],Ze=ie;for(;Ze<_e;){let $t=ve[Ze],at=null,zt=$t>239?4:$t>223?3:$t>191?2:1;if(Ze+zt<=_e){let Hr,St,Yt,qr;switch(zt){case 1:$t<128&&(at=$t);break;case 2:Hr=ve[Ze+1],(Hr&192)===128&&(qr=($t&31)<<6|Hr&63,qr>127&&(at=qr));break;case 3:Hr=ve[Ze+1],St=ve[Ze+2],(Hr&192)===128&&(St&192)===128&&(qr=($t&15)<<12|(Hr&63)<<6|St&63,qr>2047&&(qr<55296||qr>57343)&&(at=qr));break;case 4:Hr=ve[Ze+1],St=ve[Ze+2],Yt=ve[Ze+3],(Hr&192)===128&&(St&192)===128&&(Yt&192)===128&&(qr=($t&15)<<18|(Hr&63)<<12|(St&63)<<6|Yt&63,qr>65535&&qr<1114112&&(at=qr))}}at===null?(at=65533,zt=1):at>65535&&(at-=65536,Be.push(at>>>10&1023|55296),at=56320|at&1023),Be.push(at),Ze+=zt}return E(Be)}let m=4096;function E(ve){let ie=ve.length;if(ie<=m)return String.fromCharCode.apply(String,ve);let _e="",Be=0;for(;Be<ie;)_e+=String.fromCharCode.apply(String,ve.slice(Be,Be+=m));return _e}function w(ve,ie,_e){let Be="";_e=Math.min(ve.length,_e);for(let Ze=ie;Ze<_e;++Ze)Be+=String.fromCharCode(ve[Ze]&127);return Be}function x(ve,ie,_e){let Be="";_e=Math.min(ve.length,_e);for(let Ze=ie;Ze<_e;++Ze)Be+=String.fromCharCode(ve[Ze]);return Be}function R(ve,ie,_e){let Be=ve.length;(!ie||ie<0)&&(ie=0),(!_e||_e<0||_e>Be)&&(_e=Be);let Ze="";for(let $t=ie;$t<_e;++$t)Ze+=mt[ve[$t]];return Ze}function u(ve,ie,_e){let Be=ve.slice(ie,_e),Ze="";for(let $t=0;$t<Be.length-1;$t+=2)Ze+=String.fromCharCode(Be[$t]+Be[$t+1]*256);return Ze}d.prototype.slice=function(ie,_e){let Be=this.length;ie=~~ie,_e=_e===void 0?Be:~~_e,ie<0?(ie+=Be,ie<0&&(ie=0)):ie>Be&&(ie=Be),_e<0?(_e+=Be,_e<0&&(_e=0)):_e>Be&&(_e=Be),_e<ie&&(_e=ie);let Ze=this.subarray(ie,_e);return Object.setPrototypeOf(Ze,d.prototype),Ze};function C(ve,ie,_e){if(ve%1!==0||ve<0)throw new RangeError("offset is not uint");if(ve+ie>_e)throw new RangeError("Trying to access beyond buffer length")}d.prototype.readUintLE=d.prototype.readUIntLE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie],$t=1,at=0;for(;++at<_e&&($t*=256);)Ze+=this[ie+at]*$t;return Ze},d.prototype.readUintBE=d.prototype.readUIntBE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie+--_e],$t=1;for(;_e>0&&($t*=256);)Ze+=this[ie+--_e]*$t;return Ze},d.prototype.readUint8=d.prototype.readUInt8=function(ie,_e){return ie=ie>>>0,_e||C(ie,1,this.length),this[ie]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,2,this.length),this[ie]|this[ie+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,2,this.length),this[ie]<<8|this[ie+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),(this[ie]|this[ie+1]<<8|this[ie+2]<<16)+this[ie+3]*16777216},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]*16777216+(this[ie+1]<<16|this[ie+2]<<8|this[ie+3])},d.prototype.readBigUInt64LE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=_e+this[++ie]*2**8+this[++ie]*2**16+this[++ie]*2**24,$t=this[++ie]+this[++ie]*2**8+this[++ie]*2**16+Be*2**24;return BigInt(Ze)+(BigInt($t)<<BigInt(32))}),d.prototype.readBigUInt64BE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=_e*2**24+this[++ie]*2**16+this[++ie]*2**8+this[++ie],$t=this[++ie]*2**24+this[++ie]*2**16+this[++ie]*2**8+Be;return(BigInt(Ze)<<BigInt(32))+BigInt($t)}),d.prototype.readIntLE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie],$t=1,at=0;for(;++at<_e&&($t*=256);)Ze+=this[ie+at]*$t;return $t*=128,Ze>=$t&&(Ze-=Math.pow(2,8*_e)),Ze},d.prototype.readIntBE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=_e,$t=1,at=this[ie+--Ze];for(;Ze>0&&($t*=256);)at+=this[ie+--Ze]*$t;return $t*=128,at>=$t&&(at-=Math.pow(2,8*_e)),at},d.prototype.readInt8=function(ie,_e){return ie=ie>>>0,_e||C(ie,1,this.length),this[ie]&128?(255-this[ie]+1)*-1:this[ie]},d.prototype.readInt16LE=function(ie,_e){ie=ie>>>0,_e||C(ie,2,this.length);let Be=this[ie]|this[ie+1]<<8;return Be&32768?Be|4294901760:Be},d.prototype.readInt16BE=function(ie,_e){ie=ie>>>0,_e||C(ie,2,this.length);let Be=this[ie+1]|this[ie]<<8;return Be&32768?Be|4294901760:Be},d.prototype.readInt32LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]|this[ie+1]<<8|this[ie+2]<<16|this[ie+3]<<24},d.prototype.readInt32BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]<<24|this[ie+1]<<16|this[ie+2]<<8|this[ie+3]},d.prototype.readBigInt64LE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=this[ie+4]+this[ie+5]*2**8+this[ie+6]*2**16+(Be<<24);return(BigInt(Ze)<<BigInt(32))+BigInt(_e+this[++ie]*2**8+this[++ie]*2**16+this[++ie]*2**24)}),d.prototype.readBigInt64BE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=(_e<<24)+this[++ie]*2**16+this[++ie]*2**8+this[++ie];return(BigInt(Ze)<<BigInt(32))+BigInt(this[++ie]*2**24+this[++ie]*2**16+this[++ie]*2**8+Be)}),d.prototype.readFloatLE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),t.read(this,ie,!0,23,4)},d.prototype.readFloatBE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),t.read(this,ie,!1,23,4)},d.prototype.readDoubleLE=function(ie,_e){return ie=ie>>>0,_e||C(ie,8,this.length),t.read(this,ie,!0,52,8)},d.prototype.readDoubleBE=function(ie,_e){return ie=ie>>>0,_e||C(ie,8,this.length),t.read(this,ie,!1,52,8)};function U(ve,ie,_e,Be,Ze,$t){if(!d.isBuffer(ve))throw new TypeError('"buffer" argument must be a Buffer instance');if(ie>Ze||ie<$t)throw new RangeError('"value" argument is out of bounds');if(_e+Be>ve.length)throw new RangeError("Index out of range")}d.prototype.writeUintLE=d.prototype.writeUIntLE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,Be=Be>>>0,!Ze){let zt=Math.pow(2,8*Be)-1;U(this,ie,_e,Be,zt,0)}let $t=1,at=0;for(this[_e]=ie&255;++at<Be&&($t*=256);)this[_e+at]=ie/$t&255;return _e+Be},d.prototype.writeUintBE=d.prototype.writeUIntBE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,Be=Be>>>0,!Ze){let zt=Math.pow(2,8*Be)-1;U(this,ie,_e,Be,zt,0)}let $t=Be-1,at=1;for(this[_e+$t]=ie&255;--$t>=0&&(at*=256);)this[_e+$t]=ie/at&255;return _e+Be},d.prototype.writeUint8=d.prototype.writeUInt8=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,1,255,0),this[_e]=ie&255,_e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,65535,0),this[_e]=ie&255,this[_e+1]=ie>>>8,_e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,65535,0),this[_e]=ie>>>8,this[_e+1]=ie&255,_e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,4294967295,0),this[_e+3]=ie>>>24,this[_e+2]=ie>>>16,this[_e+1]=ie>>>8,this[_e]=ie&255,_e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,4294967295,0),this[_e]=ie>>>24,this[_e+1]=ie>>>16,this[_e+2]=ie>>>8,this[_e+3]=ie&255,_e+4};function F(ve,ie,_e,Be,Ze){ze(ie,Be,Ze,ve,_e,7);let $t=Number(ie&BigInt(4294967295));ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t;let at=Number(ie>>BigInt(32)&BigInt(4294967295));return ve[_e++]=at,at=at>>8,ve[_e++]=at,at=at>>8,ve[_e++]=at,at=at>>8,ve[_e++]=at,_e}function X(ve,ie,_e,Be,Ze){ze(ie,Be,Ze,ve,_e,7);let $t=Number(ie&BigInt(4294967295));ve[_e+7]=$t,$t=$t>>8,ve[_e+6]=$t,$t=$t>>8,ve[_e+5]=$t,$t=$t>>8,ve[_e+4]=$t;let at=Number(ie>>BigInt(32)&BigInt(4294967295));return ve[_e+3]=at,at=at>>8,ve[_e+2]=at,at=at>>8,ve[_e+1]=at,at=at>>8,ve[_e]=at,_e+8}d.prototype.writeBigUInt64LE=Ht(function(ie,_e=0){return F(this,ie,_e,BigInt(0),BigInt("0xffffffffffffffff"))}),d.prototype.writeBigUInt64BE=Ht(function(ie,_e=0){return X(this,ie,_e,BigInt(0),BigInt("0xffffffffffffffff"))}),d.prototype.writeIntLE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,!Ze){let Hr=Math.pow(2,8*Be-1);U(this,ie,_e,Be,Hr-1,-Hr)}let $t=0,at=1,zt=0;for(this[_e]=ie&255;++$t<Be&&(at*=256);)ie<0&&zt===0&&this[_e+$t-1]!==0&&(zt=1),this[_e+$t]=(ie/at>>0)-zt&255;return _e+Be},d.prototype.writeIntBE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,!Ze){let Hr=Math.pow(2,8*Be-1);U(this,ie,_e,Be,Hr-1,-Hr)}let $t=Be-1,at=1,zt=0;for(this[_e+$t]=ie&255;--$t>=0&&(at*=256);)ie<0&&zt===0&&this[_e+$t+1]!==0&&(zt=1),this[_e+$t]=(ie/at>>0)-zt&255;return _e+Be},d.prototype.writeInt8=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,1,127,-128),ie<0&&(ie=255+ie+1),this[_e]=ie&255,_e+1},d.prototype.writeInt16LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,32767,-32768),this[_e]=ie&255,this[_e+1]=ie>>>8,_e+2},d.prototype.writeInt16BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,32767,-32768),this[_e]=ie>>>8,this[_e+1]=ie&255,_e+2},d.prototype.writeInt32LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,2147483647,-2147483648),this[_e]=ie&255,this[_e+1]=ie>>>8,this[_e+2]=ie>>>16,this[_e+3]=ie>>>24,_e+4},d.prototype.writeInt32BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,2147483647,-2147483648),ie<0&&(ie=4294967295+ie+1),this[_e]=ie>>>24,this[_e+1]=ie>>>16,this[_e+2]=ie>>>8,this[_e+3]=ie&255,_e+4},d.prototype.writeBigInt64LE=Ht(function(ie,_e=0){return F(this,ie,_e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),d.prototype.writeBigInt64BE=Ht(function(ie,_e=0){return X(this,ie,_e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ae(ve,ie,_e,Be,Ze,$t){if(_e+Be>ve.length)throw new RangeError("Index out of range");if(_e<0)throw new RangeError("Index out of range")}function he(ve,ie,_e,Be,Ze){return ie=+ie,_e=_e>>>0,Ze||Ae(ve,ie,_e,4),t.write(ve,ie,_e,Be,23,4),_e+4}d.prototype.writeFloatLE=function(ie,_e,Be){return he(this,ie,_e,!0,Be)},d.prototype.writeFloatBE=function(ie,_e,Be){return he(this,ie,_e,!1,Be)};function $e(ve,ie,_e,Be,Ze){return ie=+ie,_e=_e>>>0,Ze||Ae(ve,ie,_e,8),t.write(ve,ie,_e,Be,52,8),_e+8}d.prototype.writeDoubleLE=function(ie,_e,Be){return $e(this,ie,_e,!0,Be)},d.prototype.writeDoubleBE=function(ie,_e,Be){return $e(this,ie,_e,!1,Be)},d.prototype.copy=function(ie,_e,Be,Ze){if(!d.isBuffer(ie))throw new TypeError("argument should be a Buffer");if(Be||(Be=0),!Ze&&Ze!==0&&(Ze=this.length),_e>=ie.length&&(_e=ie.length),_e||(_e=0),Ze>0&&Ze<Be&&(Ze=Be),Ze===Be||ie.length===0||this.length===0)return 0;if(_e<0)throw new RangeError("targetStart out of bounds");if(Be<0||Be>=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),ie.length-_e<Ze-Be&&(Ze=ie.length-_e+Be);let $t=Ze-Be;return this===ie&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(_e,Be,Ze):Uint8Array.prototype.set.call(ie,this.subarray(Be,Ze),_e),$t},d.prototype.fill=function(ie,_e,Be,Ze){if(typeof ie=="string"){if(typeof _e=="string"?(Ze=_e,_e=0,Be=this.length):typeof Be=="string"&&(Ze=Be,Be=this.length),Ze!==void 0&&typeof Ze!="string")throw new TypeError("encoding must be a string");if(typeof Ze=="string"&&!d.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(ie.length===1){let at=ie.charCodeAt(0);(Ze==="utf8"&&at<128||Ze==="latin1")&&(ie=at)}}else typeof ie=="number"?ie=ie&255:typeof ie=="boolean"&&(ie=Number(ie));if(_e<0||this.length<_e||this.length<Be)throw new RangeError("Out of range index");if(Be<=_e)return this;_e=_e>>>0,Be=Be===void 0?this.length:Be>>>0,ie||(ie=0);let $t;if(typeof ie=="number")for($t=_e;$t<Be;++$t)this[$t]=ie;else{let at=d.isBuffer(ie)?ie:d.from(ie,Ze),zt=at.length;if(zt===0)throw new TypeError('The value "'+ie+'" is invalid for argument "value"');for($t=0;$t<Be-_e;++$t)this[$t+_e]=at[$t%zt]}return this};let Ge={};function Re(ve,ie,_e){Ge[ve]=class extends _e{constructor(){super(),Object.defineProperty(this,"message",{value:ie.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${ve}]`,this.stack,delete this.name}get code(){return ve}set code(Ze){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Ze,writable:!0})}toString(){return`${this.name} [${ve}]: ${this.message}`}}}Re("ERR_BUFFER_OUT_OF_BOUNDS",function(ve){return ve?`${ve} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Re("ERR_INVALID_ARG_TYPE",function(ve,ie){return`The "${ve}" argument must be of type number. Received type ${typeof ie}`},TypeError),Re("ERR_OUT_OF_RANGE",function(ve,ie,_e){let Be=`The value of "${ve}" is out of range.`,Ze=_e;return Number.isInteger(_e)&&Math.abs(_e)>2**32?Ze=Se(String(_e)):typeof _e=="bigint"&&(Ze=String(_e),(_e>BigInt(2)**BigInt(32)||_e<-(BigInt(2)**BigInt(32)))&&(Ze=Se(Ze)),Ze+="n"),Be+=` It must be ${ie}. Received ${Ze}`,Be},RangeError);function Se(ve){let ie="",_e=ve.length,Be=ve[0]==="-"?1:0;for(;_e>=Be+4;_e-=3)ie=`_${ve.slice(_e-3,_e)}${ie}`;return`${ve.slice(0,_e)}${ie}`}function ct(ve,ie,_e){te(ie,"offset"),(ve[ie]===void 0||ve[ie+_e]===void 0)&&Ue(ie,ve.length-(_e+1))}function ze(ve,ie,_e,Be,Ze,$t){if(ve>_e||ve<ie){let at=typeof ie=="bigint"?"n":"",zt;throw $t>3?ie===0||ie===BigInt(0)?zt=`>= 0${at} and < 2${at} ** ${($t+1)*8}${at}`:zt=`>= -(2${at} ** ${($t+1)*8-1}${at}) and < 2 ** ${($t+1)*8-1}${at}`:zt=`>= ${ie}${at} and <= ${_e}${at}`,new Ge.ERR_OUT_OF_RANGE("value",zt,ve)}ct(Be,Ze,$t)}function te(ve,ie){if(typeof ve!="number")throw new Ge.ERR_INVALID_ARG_TYPE(ie,"number",ve)}function Ue(ve,ie,_e){throw Math.floor(ve)!==ve?(te(ve,_e),new Ge.ERR_OUT_OF_RANGE(_e||"offset","an integer",ve)):ie<0?new Ge.ERR_BUFFER_OUT_OF_BOUNDS:new Ge.ERR_OUT_OF_RANGE(_e||"offset",`>= ${_e?1:0} and <= ${ie}`,ve)}let oe=/[^+/0-9A-Za-z-_]/g;function ge(ve){if(ve=ve.split("=")[0],ve=ve.trim().replace(oe,""),ve.length<2)return"";for(;ve.length%4!==0;)ve=ve+"=";return ve}function Le(ve,ie){ie=ie||1/0;let _e,Be=ve.length,Ze=null,$t=[];for(let at=0;at<Be;++at){if(_e=ve.charCodeAt(at),_e>55295&&_e<57344){if(!Ze){if(_e>56319){(ie-=3)>-1&&$t.push(239,191,189);continue}else if(at+1===Be){(ie-=3)>-1&&$t.push(239,191,189);continue}Ze=_e;continue}if(_e<56320){(ie-=3)>-1&&$t.push(239,191,189),Ze=_e;continue}_e=(Ze-55296<<10|_e-56320)+65536}else Ze&&(ie-=3)>-1&&$t.push(239,191,189);if(Ze=null,_e<128){if((ie-=1)<0)break;$t.push(_e)}else if(_e<2048){if((ie-=2)<0)break;$t.push(_e>>6|192,_e&63|128)}else if(_e<65536){if((ie-=3)<0)break;$t.push(_e>>12|224,_e>>6&63|128,_e&63|128)}else if(_e<1114112){if((ie-=4)<0)break;$t.push(_e>>18|240,_e>>12&63|128,_e>>6&63|128,_e&63|128)}else throw new Error("Invalid code point")}return $t}function V(ve){let ie=[];for(let _e=0;_e<ve.length;++_e)ie.push(ve.charCodeAt(_e)&255);return ie}function Qe(ve,ie){let _e,Be,Ze,$t=[];for(let at=0;at<ve.length&&!((ie-=2)<0);++at)_e=ve.charCodeAt(at),Be=_e>>8,Ze=_e%256,$t.push(Ze),$t.push(Be);return $t}function _t(ve){return e.toByteArray(ge(ve))}function rt(ve,ie,_e,Be){let Ze;for(Ze=0;Ze<Be&&!(Ze+_e>=ie.length||Ze>=ve.length);++Ze)ie[Ze+_e]=ve[Ze];return Ze}function At(ve,ie){return ve instanceof ie||ve!=null&&ve.constructor!=null&&ve.constructor.name!=null&&ve.constructor.name===ie.name}function Er(ve){return ve!==ve}let mt=(function(){let ve="0123456789abcdef",ie=new Array(256);for(let _e=0;_e<16;++_e){let Be=_e*16;for(let Ze=0;Ze<16;++Ze)ie[Be+Ze]=ve[_e]+ve[Ze]}return ie})();function Ht(ve){return typeof BigInt>"u"?zr:ve}function zr(){throw new Error("BigInt not supported")}return k8}var BM,t9e,$H,r9e,k8,n9e,$S,fe,$Rt,YRt,mh=tn(()=>{"use strict";J();K();z();BM={},t9e=!1;$H={},r9e=!1;k8={},n9e=!1;$S=KRt();$S.Buffer;$S.SlowBuffer;$S.INSPECT_MAX_BYTES;$S.kMaxLength;fe=$S.Buffer,$Rt=$S.INSPECT_MAX_BYTES,YRt=$S.kMaxLength});var K=tn(()=>{"use strict";mh()});var i9e=ir(ine=>{"use strict";J();K();z();Object.defineProperty(ine,"__esModule",{value:!0});function WRt(e){var t=4,r=e.length,i=r%t;if(!i)return e;var n=r,o=t-i,d=r+o,g=fe.alloc(d);for(g.write(e);o--;)g.write("=",n++);return g.toString()}ine.default=WRt});var a9e=ir(sne=>{"use strict";J();K();z();Object.defineProperty(sne,"__esModule",{value:!0});var XRt=i9e();function o9e(e,t){return t===void 0&&(t="utf8"),fe.isBuffer(e)?one(e.toString("base64")):one(fe.from(e,t).toString("base64"))}function ZRt(e,t){return t===void 0&&(t="utf8"),fe.from(ane(e),"base64").toString(t)}function ane(e){return e=e.toString(),XRt.default(e).replace(/\-/g,"+").replace(/_/g,"/")}function one(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jRt(e){return fe.from(ane(e),"base64")}var rO=o9e;rO.encode=o9e;rO.decode=ZRt;rO.toBase64=ane;rO.fromBase64=one;rO.toBuffer=jRt;sne.default=rO});var Cg=ir((wSn,YH)=>{"use strict";J();K();z();YH.exports=a9e().default;YH.exports.default=YH.exports});function iu(){iu.init.call(this)}function WH(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function g9e(e){return e._maxListeners===void 0?iu.defaultMaxListeners:e._maxListeners}function d9e(e,t,r,i){var n,o,d,g;if(WH(r),(o=e._events)===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),d=o[t]),d===void 0)d=o[t]=r,++e._eventsCount;else if(typeof d=="function"?d=o[t]=i?[r,d]:[d,r]:i?d.unshift(r):d.push(r),(n=g9e(e))>0&&d.length>n&&!d.warned){d.warned=!0;var y=new Error("Possible EventEmitter memory leak detected. "+d.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");y.name="MaxListenersExceededWarning",y.emitter=e,y.type=t,y.count=d.length,g=y,console&&console.warn&&console.warn(g)}return e}function eSt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f9e(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=eSt.bind(i);return n.listener=r,i.wrapFn=n,n}function l9e(e,t,r){var i=e._events;if(i===void 0)return[];var n=i[t];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?(function(o){for(var d=new Array(o.length),g=0;g<d.length;++g)d[g]=o[g].listener||o[g];return d})(n):_9e(n,n.length)}function h9e(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}function _9e(e,t){for(var r=new Array(t),i=0;i<t;++i)r[i]=e[i];return r}var A9e,p9e,nO,s9e,c9e,u9e,xc,YS=tn(()=>{"use strict";J();K();z();nO=typeof Reflect=="object"?Reflect:null,s9e=nO&&typeof nO.apply=="function"?nO.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};p9e=nO&&typeof nO.ownKeys=="function"?nO.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};c9e=Number.isNaN||function(e){return e!=e};A9e=iu,iu.EventEmitter=iu,iu.prototype._events=void 0,iu.prototype._eventsCount=0,iu.prototype._maxListeners=void 0;u9e=10;Object.defineProperty(iu,"defaultMaxListeners",{enumerable:!0,get:function(){return u9e},set:function(e){if(typeof e!="number"||e<0||c9e(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");u9e=e}}),iu.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},iu.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||c9e(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},iu.prototype.getMaxListeners=function(){return g9e(this)},iu.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var d=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw d.context=o,d}var g=n[e];if(g===void 0)return!1;if(typeof g=="function")s9e(g,this,t);else{var y=g.length,_=_9e(g,y);for(r=0;r<y;++r)s9e(_[r],this,t)}return!0},iu.prototype.addListener=function(e,t){return d9e(this,e,t,!1)},iu.prototype.on=iu.prototype.addListener,iu.prototype.prependListener=function(e,t){return d9e(this,e,t,!0)},iu.prototype.once=function(e,t){return WH(t),this.on(e,f9e(this,e,t)),this},iu.prototype.prependOnceListener=function(e,t){return WH(t),this.prependListener(e,f9e(this,e,t)),this},iu.prototype.removeListener=function(e,t){var r,i,n,o,d;if(WH(t),(i=this._events)===void 0)return this;if((r=i[e])===void 0)return this;if(r===t||r.listener===t)--this._eventsCount==0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){d=r[o].listener,n=o;break}if(n<0)return this;n===0?r.shift():(function(g,y){for(;y+1<g.length;y++)g[y]=g[y+1];g.pop()})(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,d||t)}return this},iu.prototype.off=iu.prototype.removeListener,iu.prototype.removeAllListeners=function(e){var t,r,i;if((r=this._events)===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n,o=Object.keys(r);for(i=0;i<o.length;++i)(n=o[i])!=="removeListener"&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(typeof(t=r[e])=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},iu.prototype.listeners=function(e){return l9e(this,e,!0)},iu.prototype.rawListeners=function(e){return l9e(this,e,!1)},iu.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):h9e.call(e,t)},iu.prototype.listenerCount=h9e,iu.prototype.eventNames=function(){return this._eventsCount>0?p9e(this._events):[]};xc=A9e;xc.EventEmitter;xc.defaultMaxListeners;xc.init;xc.listenerCount;xc.EventEmitter;xc.defaultMaxListeners;xc.init;xc.listenerCount});function cne(){throw new Error("setTimeout has not been defined")}function une(){throw new Error("clearTimeout has not been defined")}function b9e(e){if(mv===setTimeout)return setTimeout(e,0);if((mv===cne||!mv)&&setTimeout)return mv=setTimeout,setTimeout(e,0);try{return mv(e,0)}catch{try{return mv.call(null,e,0)}catch{return mv.call(this||oO,e,0)}}}function tSt(){iO&&P8&&(iO=!1,P8.length?bv=P8.concat(bv):XH=-1,bv.length&&E9e())}function E9e(){if(!iO){var e=b9e(tSt);iO=!0;for(var t=bv.length;t;){for(P8=bv,bv=[];++XH<t;)P8&&P8[XH].run();XH=-1,t=bv.length}P8=null,iO=!1,(function(r){if(yv===clearTimeout)return clearTimeout(r);if((yv===une||!yv)&&clearTimeout)return yv=clearTimeout,clearTimeout(r);try{yv(r)}catch{try{return yv.call(null,r)}catch{return yv.call(this||oO,r)}}})(e)}}function m9e(e,t){(this||oO).fun=e,(this||oO).array=t}function _v(){}var y9e,mv,yv,oO,Cd,P8,bv,iO,XH,Mo,Ev=tn(()=>{"use strict";J();K();z();oO=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Cd=y9e={};(function(){try{mv=typeof setTimeout=="function"?setTimeout:cne}catch{mv=cne}try{yv=typeof clearTimeout=="function"?clearTimeout:une}catch{yv=une}})();bv=[],iO=!1,XH=-1;Cd.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];bv.push(new m9e(e,t)),bv.length!==1||iO||b9e(E9e)},m9e.prototype.run=function(){(this||oO).fun.apply(null,(this||oO).array)},Cd.title="browser",Cd.browser=!0,Cd.env={},Cd.argv=[],Cd.version="",Cd.versions={},Cd.on=_v,Cd.addListener=_v,Cd.once=_v,Cd.off=_v,Cd.removeListener=_v,Cd.removeAllListeners=_v,Cd.emit=_v,Cd.prependListener=_v,Cd.prependOnceListener=_v,Cd.listeners=function(e){return[]},Cd.binding=function(e){throw new Error("process.binding is not supported")},Cd.cwd=function(){return"/"},Cd.chdir=function(e){throw new Error("process.chdir is not supported")},Cd.umask=function(){return 0};Mo=y9e;Mo.addListener;Mo.argv;Mo.binding;Mo.browser;Mo.chdir;Mo.cwd;Mo.emit;Mo.env;Mo.listeners;Mo.nextTick;Mo.off;Mo.on;Mo.once;Mo.prependListener;Mo.prependOnceListener;Mo.removeAllListeners;Mo.removeListener;Mo.title;Mo.umask;Mo.version;Mo.versions});function F8(e){return e.call.bind(e)}function PM(e,t){if(typeof e!="object")return!1;try{return t(e),!0}catch{return!1}}function S9e(e){return yp&&x1?T1(e)!==void 0:H9e(e)||G9e(e)||q9e(e)||V9e(e)||J9e(e)||z9e(e)||K9e(e)||$9e(e)||Y9e(e)||W9e(e)||X9e(e)}function H9e(e){return yp&&x1?T1(e)==="Uint8Array":Q0(e)==="[object Uint8Array]"||dSt(e)&&e.buffer!==void 0}function G9e(e){return yp&&x1?T1(e)==="Uint8ClampedArray":Q0(e)==="[object Uint8ClampedArray]"}function q9e(e){return yp&&x1?T1(e)==="Uint16Array":Q0(e)==="[object Uint16Array]"}function V9e(e){return yp&&x1?T1(e)==="Uint32Array":Q0(e)==="[object Uint32Array]"}function J9e(e){return yp&&x1?T1(e)==="Int8Array":Q0(e)==="[object Int8Array]"}function z9e(e){return yp&&x1?T1(e)==="Int16Array":Q0(e)==="[object Int16Array]"}function K9e(e){return yp&&x1?T1(e)==="Int32Array":Q0(e)==="[object Int32Array]"}function $9e(e){return yp&&x1?T1(e)==="Float32Array":Q0(e)==="[object Float32Array]"}function Y9e(e){return yp&&x1?T1(e)==="Float64Array":Q0(e)==="[object Float64Array]"}function W9e(e){return yp&&x1?T1(e)==="BigInt64Array":Q0(e)==="[object BigInt64Array]"}function X9e(e){return yp&&x1?T1(e)==="BigUint64Array":Q0(e)==="[object BigUint64Array]"}function ZH(e){return Q0(e)==="[object Map]"}function jH(e){return Q0(e)==="[object Set]"}function eG(e){return Q0(e)==="[object WeakMap]"}function dne(e){return Q0(e)==="[object WeakSet]"}function iG(e){return Q0(e)==="[object ArrayBuffer]"}function I9e(e){return typeof ArrayBuffer<"u"&&(iG.working?iG(e):e instanceof ArrayBuffer)}function oG(e){return Q0(e)==="[object DataView]"}function C9e(e){return typeof DataView<"u"&&(oG.working?oG(e):e instanceof DataView)}function aG(e){return Q0(e)==="[object SharedArrayBuffer]"}function w9e(e){return typeof SharedArrayBuffer<"u"&&(aG.working?aG(e):e instanceof SharedArrayBuffer)}function O9e(e){return PM(e,ASt)}function N9e(e){return PM(e,pSt)}function x9e(e){return PM(e,gSt)}function T9e(e){return U9e&&PM(e,F9e)}function B9e(e){return pne&&PM(e,Q9e)}function WS(e,t){var r={seen:[],stylize:ySt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),gne(t)?r.showHidden=t:t&&yn._extend(r,t),U8(r.showHidden)&&(r.showHidden=!1),U8(r.depth)&&(r.depth=2),U8(r.colors)&&(r.colors=!1),U8(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=mSt),sG(r,e,r.depth)}function mSt(e,t){var r=WS.styles[t];return r?"\x1B["+WS.colors[r][0]+"m"+e+"\x1B["+WS.colors[r][1]+"m":e}function ySt(e,t){return e}function sG(e,t,r){if(e.customInspect&&t&&nG(t.inspect)&&t.inspect!==yn.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(r,e);return cG(i)||(i=sG(e,i,r)),i}var n=(function(T,M){if(U8(M))return T.stylize("undefined","undefined");if(cG(M)){var D="'"+JSON.stringify(M).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return T.stylize(D,"string")}if(eMe(M))return T.stylize(""+M,"number");if(gne(M))return T.stylize(""+M,"boolean");if(fG(M))return T.stylize("null","null")})(e,t);if(n)return n;var o=Object.keys(t),d=(function(T){var M={};return T.forEach((function(D,P){M[D]=!0})),M})(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),kM(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return fne(t);if(o.length===0){if(nG(t)){var g=t.name?": "+t.name:"";return e.stylize("[Function"+g+"]","special")}if(DM(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(uG(t))return e.stylize(Date.prototype.toString.call(t),"date");if(kM(t))return fne(t)}var y,_="",I=!1,N=["{","}"];return j9e(t)&&(I=!0,N=["[","]"]),nG(t)&&(_=" [Function"+(t.name?": "+t.name:"")+"]"),DM(t)&&(_=" "+RegExp.prototype.toString.call(t)),uG(t)&&(_=" "+Date.prototype.toUTCString.call(t)),kM(t)&&(_=" "+fne(t)),o.length!==0||I&&t.length!=0?r<0?DM(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),y=I?(function(T,M,D,P,G){for(var q=[],Y=0,ne=M.length;Y<ne;++Y)tMe(M,String(Y))?q.push(lne(T,M,D,P,String(Y),!0)):q.push("");return G.forEach((function(ce){ce.match(/^\d+$/)||q.push(lne(T,M,D,P,ce,!0))})),q})(e,t,r,d,o):o.map((function(T){return lne(e,t,r,d,T,I)})),e.seen.pop(),(function(T,M,D){var P=0;return T.reduce((function(G,q){return P++,q.indexOf(` +`)>=0&&P++,G+q.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?D[0]+(M===""?"":M+` + `)+" "+T.join(`, + `)+" "+D[1]:D[0]+M+" "+T.join(", ")+" "+D[1]})(y,_,N)):N[0]+_+N[1]}function fne(e){return"["+Error.prototype.toString.call(e)+"]"}function lne(e,t,r,i,n,o){var d,g,y;if((y=Object.getOwnPropertyDescriptor(t,n)||{value:t[n]}).get?g=y.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):y.set&&(g=e.stylize("[Setter]","special")),tMe(i,n)||(d="["+n+"]"),g||(e.seen.indexOf(y.value)<0?(g=fG(r)?sG(e,y.value,null):sG(e,y.value,r-1)).indexOf(` +`)>-1&&(g=o?g.split(` +`).map((function(_){return" "+_})).join(` +`).substr(2):` +`+g.split(` +`).map((function(_){return" "+_})).join(` +`)):g=e.stylize("[Circular]","special")),U8(d)){if(o&&n.match(/^\d+$/))return g;(d=JSON.stringify(""+n)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(d=d.substr(1,d.length-2),d=e.stylize(d,"name")):(d=d.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),d=e.stylize(d,"string"))}return d+": "+g}function j9e(e){return Array.isArray(e)}function gne(e){return typeof e=="boolean"}function fG(e){return e===null}function eMe(e){return typeof e=="number"}function cG(e){return typeof e=="string"}function U8(e){return e===void 0}function DM(e){return aO(e)&&_ne(e)==="[object RegExp]"}function aO(e){return typeof e=="object"&&e!==null}function uG(e){return aO(e)&&_ne(e)==="[object Date]"}function kM(e){return aO(e)&&(_ne(e)==="[object Error]"||e instanceof Error)}function nG(e){return typeof e=="function"}function _ne(e){return Object.prototype.toString.call(e)}function hne(e){return e<10?"0"+e.toString(10):e.toString(10)}function ESt(){var e=new Date,t=[hne(e.getHours()),hne(e.getMinutes()),hne(e.getSeconds())].join(":");return[e.getDate(),bSt[e.getMonth()],t].join(" ")}function tMe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function vSt(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}var rSt,Ane,dG,D9e,nSt,iSt,oSt,aSt,sSt,k9e,P9e,v9e,cSt,uSt,ca,L9e,gs,dSt,fSt,lSt,U9e,pne,x1,yp,hSt,R9e,T1,Q0,ASt,pSt,gSt,F9e,Q9e,MM,yn,Py,M9e,_St,tG,Z9e,rG,bSt,L8,vv=tn(()=>{"use strict";J();K();z();Ev();rSt=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",Ane=Object.prototype.toString,dG=function(e){return!(rSt&&e&&typeof e=="object"&&Symbol.toStringTag in e)&&Ane.call(e)==="[object Arguments]"},D9e=function(e){return!!dG(e)||e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&Ane.call(e)!=="[object Array]"&&Ane.call(e.callee)==="[object Function]"},nSt=(function(){return dG(arguments)})();dG.isLegacyArguments=D9e;iSt=nSt?dG:D9e,oSt=Object.prototype.toString,aSt=Function.prototype.toString,sSt=/^\s*(?:function)?\*/,k9e=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol",P9e=Object.getPrototypeOf,v9e=(function(){if(!k9e)return!1;try{return Function("return function*() {}")()}catch{}})(),cSt=v9e?P9e(v9e):{},uSt=function(e){return typeof e=="function"&&(!!sSt.test(aSt.call(e))||(k9e?P9e(e)===cSt:oSt.call(e)==="[object GeneratorFunction]"))},ca=typeof Object.create=="function"?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},L9e=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"},gs={},dSt=L9e,fSt=iSt,lSt=uSt;U9e=typeof BigInt<"u",pne=typeof Symbol<"u",x1=pne&&Symbol.toStringTag!==void 0,yp=typeof Uint8Array<"u",hSt=typeof ArrayBuffer<"u";yp&&x1&&(R9e=Object.getPrototypeOf(Uint8Array.prototype),T1=F8(Object.getOwnPropertyDescriptor(R9e,Symbol.toStringTag).get));Q0=F8(Object.prototype.toString),ASt=F8(Number.prototype.valueOf),pSt=F8(String.prototype.valueOf),gSt=F8(Boolean.prototype.valueOf);U9e&&(F9e=F8(BigInt.prototype.valueOf));pne&&(Q9e=F8(Symbol.prototype.valueOf));gs.isArgumentsObject=fSt,gs.isGeneratorFunction=lSt,gs.isPromise=function(e){return typeof Promise<"u"&&e instanceof Promise||e!==null&&typeof e=="object"&&typeof e.then=="function"&&typeof e.catch=="function"},gs.isArrayBufferView=function(e){return hSt&&ArrayBuffer.isView?ArrayBuffer.isView(e):S9e(e)||C9e(e)},gs.isTypedArray=S9e,gs.isUint8Array=H9e,gs.isUint8ClampedArray=G9e,gs.isUint16Array=q9e,gs.isUint32Array=V9e,gs.isInt8Array=J9e,gs.isInt16Array=z9e,gs.isInt32Array=K9e,gs.isFloat32Array=$9e,gs.isFloat64Array=Y9e,gs.isBigInt64Array=W9e,gs.isBigUint64Array=X9e,ZH.working=typeof Map<"u"&&ZH(new Map),gs.isMap=function(e){return typeof Map<"u"&&(ZH.working?ZH(e):e instanceof Map)},jH.working=typeof Set<"u"&&jH(new Set),gs.isSet=function(e){return typeof Set<"u"&&(jH.working?jH(e):e instanceof Set)},eG.working=typeof WeakMap<"u"&&eG(new WeakMap),gs.isWeakMap=function(e){return typeof WeakMap<"u"&&(eG.working?eG(e):e instanceof WeakMap)},dne.working=typeof WeakSet<"u"&&dne(new WeakSet),gs.isWeakSet=function(e){return dne(e)},iG.working=typeof ArrayBuffer<"u"&&iG(new ArrayBuffer),gs.isArrayBuffer=I9e,oG.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&oG(new DataView(new ArrayBuffer(1),0,1)),gs.isDataView=C9e,aG.working=typeof SharedArrayBuffer<"u"&&aG(new SharedArrayBuffer),gs.isSharedArrayBuffer=w9e,gs.isAsyncFunction=function(e){return Q0(e)==="[object AsyncFunction]"},gs.isMapIterator=function(e){return Q0(e)==="[object Map Iterator]"},gs.isSetIterator=function(e){return Q0(e)==="[object Set Iterator]"},gs.isGeneratorObject=function(e){return Q0(e)==="[object Generator]"},gs.isWebAssemblyCompiledModule=function(e){return Q0(e)==="[object WebAssembly.Module]"},gs.isNumberObject=O9e,gs.isStringObject=N9e,gs.isBooleanObject=x9e,gs.isBigIntObject=T9e,gs.isSymbolObject=B9e,gs.isBoxedPrimitive=function(e){return O9e(e)||N9e(e)||x9e(e)||T9e(e)||B9e(e)},gs.isAnyArrayBuffer=function(e){return yp&&(I9e(e)||w9e(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(e){Object.defineProperty(gs,e,{enumerable:!1,value:function(){throw new Error(e+" is not supported in userland")}})}));MM=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,yn={},Py=Mo,M9e=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},i=0;i<t.length;i++)r[t[i]]=Object.getOwnPropertyDescriptor(e,t[i]);return r},_St=/%[sdj%]/g;yn.format=function(e){if(!cG(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(WS(arguments[r]));return t.join(" ")}r=1;for(var i=arguments,n=i.length,o=String(e).replace(_St,(function(g){if(g==="%%")return"%";if(r>=n)return g;switch(g){case"%s":return String(i[r++]);case"%d":return Number(i[r++]);case"%j":try{return JSON.stringify(i[r++])}catch{return"[Circular]"}default:return g}})),d=i[r];r<n;d=i[++r])fG(d)||!aO(d)?o+=" "+d:o+=" "+WS(d);return o},yn.deprecate=function(e,t){if(Py!==void 0&&Py.noDeprecation===!0)return e;if(Py===void 0)return function(){return yn.deprecate(e,t).apply(this||MM,arguments)};var r=!1;return function(){if(!r){if(Py.throwDeprecation)throw new Error(t);Py.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this||MM,arguments)}};tG={},Z9e=/^$/;Py.env.NODE_DEBUG&&(rG=Py.env.NODE_DEBUG,rG=rG.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),Z9e=new RegExp("^"+rG+"$","i"));yn.debuglog=function(e){if(e=e.toUpperCase(),!tG[e])if(Z9e.test(e)){var t=Py.pid;tG[e]=function(){var r=yn.format.apply(yn,arguments);console.error("%s %d: %s",e,t,r)}}else tG[e]=function(){};return tG[e]},yn.inspect=WS,WS.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},WS.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},yn.types=gs,yn.isArray=j9e,yn.isBoolean=gne,yn.isNull=fG,yn.isNullOrUndefined=function(e){return e==null},yn.isNumber=eMe,yn.isString=cG,yn.isSymbol=function(e){return typeof e=="symbol"},yn.isUndefined=U8,yn.isRegExp=DM,yn.types.isRegExp=DM,yn.isObject=aO,yn.isDate=uG,yn.types.isDate=uG,yn.isError=kM,yn.types.isNativeError=kM,yn.isFunction=nG,yn.isPrimitive=function(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||e===void 0},yn.isBuffer=L9e;bSt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];yn.log=function(){console.log("%s - %s",ESt(),yn.format.apply(yn,arguments))},yn.inherits=ca,yn._extend=function(e,t){if(!t||!aO(t))return e;for(var r=Object.keys(t),i=r.length;i--;)e[r[i]]=t[r[i]];return e};L8=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;yn.promisify=function(e){if(typeof e!="function")throw new TypeError('The "original" argument must be of type Function');if(L8&&e[L8]){var t;if(typeof(t=e[L8])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,L8,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var r,i,n=new Promise((function(g,y){r=g,i=y})),o=[],d=0;d<arguments.length;d++)o.push(arguments[d]);o.push((function(g,y){g?i(g):r(y)}));try{e.apply(this||MM,o)}catch(g){i(g)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),L8&&Object.defineProperty(t,L8,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,M9e(e))},yn.promisify.custom=L8,yn.callbackify=function(e){if(typeof e!="function")throw new TypeError('The "original" argument must be of type Function');function t(){for(var r=[],i=0;i<arguments.length;i++)r.push(arguments[i]);var n=r.pop();if(typeof n!="function")throw new TypeError("The last argument must be of type Function");var o=this||MM,d=function(){return n.apply(o,arguments)};e.apply(this||MM,r).then((function(g){Py.nextTick(d.bind(null,null,g))}),(function(g){Py.nextTick(vSt.bind(null,g,d))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,M9e(e)),t}});var WSn,XSn,ZSn,jSn,e6n,t6n,r6n,n6n,i6n,o6n,a6n,s6n,c6n,u6n,d6n,f6n,l6n,h6n,A6n,p6n,g6n,_6n,m6n,mne,y6n,b6n,E6n,sO=tn(()=>{"use strict";J();K();z();vv();Ev();yn._extend;yn.callbackify;yn.debuglog;yn.deprecate;yn.format;yn.inherits;yn.inspect;yn.isArray;yn.isBoolean;yn.isBuffer;yn.isDate;yn.isError;yn.isFunction;yn.isNull;yn.isNullOrUndefined;yn.isNumber;yn.isObject;yn.isPrimitive;yn.isRegExp;yn.isString;yn.isSymbol;yn.isUndefined;yn.log;yn.promisify;WSn=yn._extend,XSn=yn.callbackify,ZSn=yn.debuglog,jSn=yn.deprecate,e6n=yn.format,t6n=yn.inherits,r6n=yn.inspect,n6n=yn.isArray,i6n=yn.isBoolean,o6n=yn.isBuffer,a6n=yn.isDate,s6n=yn.isError,c6n=yn.isFunction,u6n=yn.isNull,d6n=yn.isNullOrUndefined,f6n=yn.isNumber,l6n=yn.isObject,h6n=yn.isPrimitive,A6n=yn.isRegExp,p6n=yn.isString,g6n=yn.isSymbol,_6n=yn.isUndefined,m6n=yn.log,mne=yn.promisify,y6n=yn.types,b6n=self.TextEncoder,E6n=self.TextDecoder});function RSt(){if(rMe)return yne;rMe=!0;var e=yne={},t,r;function i(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?t=setTimeout:t=i}catch{t=i}try{typeof clearTimeout=="function"?r=clearTimeout:r=n}catch{r=n}})();function o(P){if(t===setTimeout)return setTimeout(P,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(P,0);try{return t(P,0)}catch{try{return t.call(null,P,0)}catch{return t.call(this||cO,P,0)}}}function d(P){if(r===clearTimeout)return clearTimeout(P);if((r===n||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(P);try{return r(P)}catch{try{return r.call(null,P)}catch{return r.call(this||cO,P)}}}var g=[],y=!1,_,I=-1;function N(){!y||!_||(y=!1,_.length?g=_.concat(g):I=-1,g.length&&T())}function T(){if(!y){var P=o(N);y=!0;for(var G=g.length;G;){for(_=g,g=[];++I<G;)_&&_[I].run();I=-1,G=g.length}_=null,y=!1,d(P)}}e.nextTick=function(P){var G=new Array(arguments.length-1);if(arguments.length>1)for(var q=1;q<arguments.length;q++)G[q-1]=arguments[q];g.push(new M(P,G)),g.length===1&&!y&&o(T)};function M(P,G){(this||cO).fun=P,(this||cO).array=G}M.prototype.run=function(){(this||cO).fun.apply(null,(this||cO).array)},e.title="browser",e.browser=!0,e.env={},e.argv=[],e.version="",e.versions={};function D(){}return e.on=D,e.addListener=D,e.once=D,e.off=D,e.removeListener=D,e.removeAllListeners=D,e.emit=D,e.prependListener=D,e.prependOnceListener=D,e.listeners=function(P){return[]},e.binding=function(P){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(P){throw new Error("process.chdir is not supported")},e.umask=function(){return 0},yne}var yne,rMe,cO,za,XS=tn(()=>{"use strict";J();K();z();yne={},rMe=!1,cO=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;za=RSt();za.platform="browser";za.addListener;za.argv;za.binding;za.browser;za.chdir;za.cwd;za.emit;za.env;za.listeners;za.nextTick;za.off;za.on;za.once;za.prependListener;za.prependOnceListener;za.removeAllListeners;za.removeListener;za.title;za.umask;za.version;za.versions});function oMe(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return r===-1&&(r=t),[r,r===t?0:4-r%4]}function SSt(e,t,r){for(var i,n,o=[],d=t;d<r;d+=3)i=(e[d]<<16&16711680)+(e[d+1]<<8&65280)+(255&e[d+2]),o.push(nm[(n=i)>>18&63]+nm[n>>12&63]+nm[n>>6&63]+nm[63&n]);return o.join("")}function Rv(e){if(e>2147483647)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,Hn.prototype),t}function Hn(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Rne(e)}return pMe(e,t,r)}function pMe(e,t,r){if(typeof e=="string")return(function(o,d){if(typeof d=="string"&&d!==""||(d="utf8"),!Hn.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var g=0|_Me(o,d),y=Rv(g),_=y.write(o,d);return _!==g&&(y=y.slice(0,_)),y})(e,t);if(ArrayBuffer.isView(e))return bne(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Sv(e,ArrayBuffer)||e&&Sv(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Sv(e,SharedArrayBuffer)||e&&Sv(e.buffer,SharedArrayBuffer)))return sMe(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(i!=null&&i!==e)return Hn.from(i,t,r);var n=(function(o){if(Hn.isBuffer(o)){var d=0|Cne(o.length),g=Rv(d);return g.length===0||o.copy(g,0,0,d),g}if(o.length!==void 0)return typeof o.length!="number"||wne(o.length)?Rv(0):bne(o);if(o.type==="Buffer"&&Array.isArray(o.data))return bne(o.data)})(e);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return Hn.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function gMe(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Rne(e){return gMe(e),Rv(e<0?0:0|Cne(e))}function bne(e){for(var t=e.length<0?0:0|Cne(e.length),r=Rv(t),i=0;i<t;i+=1)r[i]=255&e[i];return r}function sMe(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var i;return i=t===void 0&&r===void 0?new Uint8Array(e):r===void 0?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(i,Hn.prototype),i}function Cne(e){if(e>=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function _Me(e,t){if(Hn.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Sv(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&r===0)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Sne(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return EMe(e).length;default:if(n)return i?-1:Sne(e).length;t=(""+t).toLowerCase(),n=!0}}function CSt(e,t,r){var i=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return kSt(this,t,r);case"utf8":case"utf-8":return yMe(this,t,r);case"ascii":return MSt(this,t,r);case"latin1":case"binary":return DSt(this,t,r);case"base64":return BSt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return PSt(this,t,r);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function H8(e,t,r){var i=e[t];e[t]=e[r],e[r]=i}function cMe(e,t,r,i,n){if(e.length===0)return-1;if(typeof r=="string"?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),wne(r=+r)&&(r=n?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(n)return-1;r=e.length-1}else if(r<0){if(!n)return-1;r=0}if(typeof t=="string"&&(t=Hn.from(t,i)),Hn.isBuffer(t))return t.length===0?-1:uMe(e,t,r,i,n);if(typeof t=="number")return t&=255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):uMe(e,[t],r,i,n);throw new TypeError("val must be string, number or Buffer")}function uMe(e,t,r,i,n){var o,d=1,g=e.length,y=t.length;if(i!==void 0&&((i=String(i).toLowerCase())==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(e.length<2||t.length<2)return-1;d=2,g/=2,y/=2,r/=2}function _(M,D){return d===1?M[D]:M.readUInt16BE(D*d)}if(n){var I=-1;for(o=r;o<g;o++)if(_(e,o)===_(t,I===-1?0:o-I)){if(I===-1&&(I=o),o-I+1===y)return I*d}else I!==-1&&(o-=o-I),I=-1}else for(r+y>g&&(r=g-y),o=r;o>=0;o--){for(var N=!0,T=0;T<y;T++)if(_(e,o+T)!==_(t,T)){N=!1;break}if(N)return o}return-1}function wSt(e,t,r,i){r=Number(r)||0;var n=e.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=t.length;i>o/2&&(i=o/2);for(var d=0;d<i;++d){var g=parseInt(t.substr(2*d,2),16);if(wne(g))return d;e[r+d]=g}return d}function OSt(e,t,r,i){return pG(Sne(t,e.length-r),e,r,i)}function mMe(e,t,r,i){return pG((function(n){for(var o=[],d=0;d<n.length;++d)o.push(255&n.charCodeAt(d));return o})(t),e,r,i)}function NSt(e,t,r,i){return mMe(e,t,r,i)}function xSt(e,t,r,i){return pG(EMe(t),e,r,i)}function TSt(e,t,r,i){return pG((function(n,o){for(var d,g,y,_=[],I=0;I<n.length&&!((o-=2)<0);++I)d=n.charCodeAt(I),g=d>>8,y=d%256,_.push(y),_.push(g);return _})(t,e.length-r),e,r,i)}function BSt(e,t,r){return t===0&&r===e.length?vne.fromByteArray(e):vne.fromByteArray(e.slice(t,r))}function yMe(e,t,r){r=Math.min(e.length,r);for(var i=[],n=t;n<r;){var o,d,g,y,_=e[n],I=null,N=_>239?4:_>223?3:_>191?2:1;if(n+N<=r)switch(N){case 1:_<128&&(I=_);break;case 2:(192&(o=e[n+1]))==128&&(y=(31&_)<<6|63&o)>127&&(I=y);break;case 3:o=e[n+1],d=e[n+2],(192&o)==128&&(192&d)==128&&(y=(15&_)<<12|(63&o)<<6|63&d)>2047&&(y<55296||y>57343)&&(I=y);break;case 4:o=e[n+1],d=e[n+2],g=e[n+3],(192&o)==128&&(192&d)==128&&(192&g)==128&&(y=(15&_)<<18|(63&o)<<12|(63&d)<<6|63&g)>65535&&y<1114112&&(I=y)}I===null?(I=65533,N=1):I>65535&&(I-=65536,i.push(I>>>10&1023|55296),I=56320|1023&I),i.push(I),n+=N}return(function(T){var M=T.length;if(M<=4096)return String.fromCharCode.apply(String,T);for(var D="",P=0;P<M;)D+=String.fromCharCode.apply(String,T.slice(P,P+=4096));return D})(i)}function MSt(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(127&e[n]);return i}function DSt(e,t,r){var i="";r=Math.min(e.length,r);for(var n=t;n<r;++n)i+=String.fromCharCode(e[n]);return i}function kSt(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=t;o<r;++o)n+=USt[e[o]];return n}function PSt(e,t,r){for(var i=e.slice(t,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function Wf(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function bp(e,t,r,i,n,o){if(!Hn.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(r+i>e.length)throw new RangeError("Index out of range")}function bMe(e,t,r,i,n,o){if(r+i>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function dMe(e,t,r,i,n){return t=+t,r>>>=0,n||bMe(e,0,r,4),uO.write(e,t,r,i,23,4),r+4}function fMe(e,t,r,i,n){return t=+t,r>>>=0,n||bMe(e,0,r,8),uO.write(e,t,r,i,52,8),r+8}function Sne(e,t){var r;t=t||1/0;for(var i=e.length,n=null,o=[],d=0;d<i;++d){if((r=e.charCodeAt(d))>55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(d+1===i){(t-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function EMe(e){return vne.toByteArray((function(t){if((t=(t=t.split("=")[0]).trim().replace(LSt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t})(e))}function pG(e,t,r,i){for(var n=0;n<i&&!(n+r>=t.length||n>=e.length);++n)t[n+r]=e[n];return n}function Sv(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function wne(e){return e!=e}function lMe(e,t){for(var r in e)t[r]=e[r]}function G8(e,t,r){return Ly(e,t,r)}function LM(e){var t;switch(this.encoding=(function(r){var i=(function(n){if(!n)return"utf8";for(var o;;)switch(n){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return n;default:if(o)return;n=(""+n).toLowerCase(),o=!0}})(r);if(typeof i!="string"&&(Ine.isEncoding===hMe||!hMe(r)))throw new Error("Unknown encoding: "+r);return i||r})(e),this.encoding){case"utf16le":this.text=QSt,this.end=HSt,t=4;break;case"utf8":this.fillLast=FSt,t=4;break;case"base64":this.text=GSt,this.end=qSt,t=3;break;default:return this.write=VSt,this.end=JSt,void 0}this.lastNeed=0,this.lastTotal=0,this.lastChar=Ine.allocUnsafe(t)}function Ene(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function FSt(e){var t=this.lastTotal-this.lastNeed,r=(function(i,n,o){if((192&n[0])!=128)return i.lastNeed=0,"\uFFFD";if(i.lastNeed>1&&n.length>1){if((192&n[1])!=128)return i.lastNeed=1,"\uFFFD";if(i.lastNeed>2&&n.length>2&&(192&n[2])!=128)return i.lastNeed=2,"\uFFFD"}})(this,e);return r!==void 0?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length,void 0)}function QSt(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function HSt(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function GSt(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function qSt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function VSt(e){return e.toString(this.encoding)}function JSt(e){return e&&e.length?this.write(e):""}var AMe,nm,B1,nMe,lG,Q8,iMe,ISt,Vo,vne,uO,aMe,LSt,USt,hG,AG,Ly,Rs,yh,Ine,hMe,UM=tn(()=>{"use strict";J();K();z();for(AMe={byteLength:function(e){var t=oMe(e),r=t[0],i=t[1];return 3*(r+i)/4-i},toByteArray:function(e){var t,r,i=oMe(e),n=i[0],o=i[1],d=new nMe((function(_,I,N){return 3*(I+N)/4-N})(0,n,o)),g=0,y=o>0?n-4:n;for(r=0;r<y;r+=4)t=B1[e.charCodeAt(r)]<<18|B1[e.charCodeAt(r+1)]<<12|B1[e.charCodeAt(r+2)]<<6|B1[e.charCodeAt(r+3)],d[g++]=t>>16&255,d[g++]=t>>8&255,d[g++]=255&t;return o===2&&(t=B1[e.charCodeAt(r)]<<2|B1[e.charCodeAt(r+1)]>>4,d[g++]=255&t),o===1&&(t=B1[e.charCodeAt(r)]<<10|B1[e.charCodeAt(r+1)]<<4|B1[e.charCodeAt(r+2)]>>2,d[g++]=t>>8&255,d[g++]=255&t),d},fromByteArray:function(e){for(var t,r=e.length,i=r%3,n=[],o=0,d=r-i;o<d;o+=16383)n.push(SSt(e,o,o+16383>d?d:o+16383));return i===1?(t=e[r-1],n.push(nm[t>>2]+nm[t<<4&63]+"==")):i===2&&(t=(e[r-2]<<8)+e[r-1],n.push(nm[t>>10]+nm[t>>4&63]+nm[t<<2&63]+"=")),n.join("")}},nm=[],B1=[],nMe=typeof Uint8Array<"u"?Uint8Array:Array,lG="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Q8=0,iMe=lG.length;Q8<iMe;++Q8)nm[Q8]=lG[Q8],B1[lG.charCodeAt(Q8)]=Q8;B1[45]=62,B1[95]=63;ISt={read:function(e,t,r,i,n){var o,d,g=8*n-i-1,y=(1<<g)-1,_=y>>1,I=-7,N=r?n-1:0,T=r?-1:1,M=e[t+N];for(N+=T,o=M&(1<<-I)-1,M>>=-I,I+=g;I>0;o=256*o+e[t+N],N+=T,I-=8);for(d=o&(1<<-I)-1,o>>=-I,I+=i;I>0;d=256*d+e[t+N],N+=T,I-=8);if(o===0)o=1-_;else{if(o===y)return d?NaN:1/0*(M?-1:1);d+=Math.pow(2,i),o-=_}return(M?-1:1)*d*Math.pow(2,o-i)},write:function(e,t,r,i,n,o){var d,g,y,_=8*o-n-1,I=(1<<_)-1,N=I>>1,T=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=i?0:o-1,D=i?1:-1,P=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(g=isNaN(t)?1:0,d=I):(d=Math.floor(Math.log(t)/Math.LN2),t*(y=Math.pow(2,-d))<1&&(d--,y*=2),(t+=d+N>=1?T/y:T*Math.pow(2,1-N))*y>=2&&(d++,y/=2),d+N>=I?(g=0,d=I):d+N>=1?(g=(t*y-1)*Math.pow(2,n),d+=N):(g=t*Math.pow(2,N-1)*Math.pow(2,n),d=0));n>=8;e[r+M]=255&g,M+=D,g/=256,n-=8);for(d=d<<n|g,_+=n;_>0;e[r+M]=255&d,M+=D,d/=256,_-=8);e[r+M-D]|=128*P}},Vo={},vne=AMe,uO=ISt,aMe=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Vo.Buffer=Hn,Vo.SlowBuffer=function(e){return+e!=e&&(e=0),Hn.alloc(+e)},Vo.INSPECT_MAX_BYTES=50;Vo.kMaxLength=2147483647,Hn.TYPED_ARRAY_SUPPORT=(function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}})(),Hn.TYPED_ARRAY_SUPPORT||typeof console>"u"||typeof console.error!="function"||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Hn.prototype,"parent",{enumerable:!0,get:function(){if(Hn.isBuffer(this))return this.buffer}}),Object.defineProperty(Hn.prototype,"offset",{enumerable:!0,get:function(){if(Hn.isBuffer(this))return this.byteOffset}}),Hn.poolSize=8192,Hn.from=function(e,t,r){return pMe(e,t,r)},Object.setPrototypeOf(Hn.prototype,Uint8Array.prototype),Object.setPrototypeOf(Hn,Uint8Array),Hn.alloc=function(e,t,r){return(function(i,n,o){return gMe(i),i<=0?Rv(i):n!==void 0?typeof o=="string"?Rv(i).fill(n,o):Rv(i).fill(n):Rv(i)})(e,t,r)},Hn.allocUnsafe=function(e){return Rne(e)},Hn.allocUnsafeSlow=function(e){return Rne(e)},Hn.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==Hn.prototype},Hn.compare=function(e,t){if(Sv(e,Uint8Array)&&(e=Hn.from(e,e.offset,e.byteLength)),Sv(t,Uint8Array)&&(t=Hn.from(t,t.offset,t.byteLength)),!Hn.isBuffer(e)||!Hn.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0},Hn.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Hn.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return Hn.alloc(0);var r;if(t===void 0)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var i=Hn.allocUnsafe(t),n=0;for(r=0;r<e.length;++r){var o=e[r];if(Sv(o,Uint8Array)&&(o=Hn.from(o)),!Hn.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},Hn.byteLength=_Me,Hn.prototype._isBuffer=!0,Hn.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)H8(this,t,t+1);return this},Hn.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)H8(this,t,t+3),H8(this,t+1,t+2);return this},Hn.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)H8(this,t,t+7),H8(this,t+1,t+6),H8(this,t+2,t+5),H8(this,t+3,t+4);return this},Hn.prototype.toString=function(){var e=this.length;return e===0?"":arguments.length===0?yMe(this,0,e):CSt.apply(this,arguments)},Hn.prototype.toLocaleString=Hn.prototype.toString,Hn.prototype.equals=function(e){if(!Hn.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||Hn.compare(this,e)===0},Hn.prototype.inspect=function(){var e="",t=Vo.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},aMe&&(Hn.prototype[aMe]=Hn.prototype.inspect),Hn.prototype.compare=function(e,t,r,i,n){if(Sv(e,Uint8Array)&&(e=Hn.from(e,e.offset,e.byteLength)),!Hn.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),i===void 0&&(i=0),n===void 0&&(n=this.length),t<0||r>e.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&t>=r)return 0;if(i>=n)return-1;if(t>=r)return 1;if(this===e)return 0;for(var o=(n>>>=0)-(i>>>=0),d=(r>>>=0)-(t>>>=0),g=Math.min(o,d),y=this.slice(i,n),_=e.slice(t,r),I=0;I<g;++I)if(y[I]!==_[I]){o=y[I],d=_[I];break}return o<d?-1:d<o?1:0},Hn.prototype.includes=function(e,t,r){return this.indexOf(e,t,r)!==-1},Hn.prototype.indexOf=function(e,t,r){return cMe(this,e,t,r,!0)},Hn.prototype.lastIndexOf=function(e,t,r){return cMe(this,e,t,r,!1)},Hn.prototype.write=function(e,t,r,i){if(t===void 0)i="utf8",r=this.length,t=0;else if(r===void 0&&typeof t=="string")i=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,i===void 0&&(i="utf8")):(i=r,r=void 0)}var n=this.length-t;if((r===void 0||r>n)&&(r=n),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return wSt(this,e,t,r);case"utf8":case"utf-8":return OSt(this,e,t,r);case"ascii":return mMe(this,e,t,r);case"latin1":case"binary":return NSt(this,e,t,r);case"base64":return xSt(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return TSt(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},Hn.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};Hn.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=t===void 0?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var i=this.subarray(e,t);return Object.setPrototypeOf(i,Hn.prototype),i},Hn.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||Wf(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i},Hn.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||Wf(e,t,this.length);for(var i=this[e+--t],n=1;t>0&&(n*=256);)i+=this[e+--t]*n;return i},Hn.prototype.readUInt8=function(e,t){return e>>>=0,t||Wf(e,1,this.length),this[e]},Hn.prototype.readUInt16LE=function(e,t){return e>>>=0,t||Wf(e,2,this.length),this[e]|this[e+1]<<8},Hn.prototype.readUInt16BE=function(e,t){return e>>>=0,t||Wf(e,2,this.length),this[e]<<8|this[e+1]},Hn.prototype.readUInt32LE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Hn.prototype.readUInt32BE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Hn.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||Wf(e,t,this.length);for(var i=this[e],n=1,o=0;++o<t&&(n*=256);)i+=this[e+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*t)),i},Hn.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||Wf(e,t,this.length);for(var i=t,n=1,o=this[e+--i];i>0&&(n*=256);)o+=this[e+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},Hn.prototype.readInt8=function(e,t){return e>>>=0,t||Wf(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Hn.prototype.readInt16LE=function(e,t){e>>>=0,t||Wf(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Hn.prototype.readInt16BE=function(e,t){e>>>=0,t||Wf(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Hn.prototype.readInt32LE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Hn.prototype.readInt32BE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Hn.prototype.readFloatLE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),uO.read(this,e,!0,23,4)},Hn.prototype.readFloatBE=function(e,t){return e>>>=0,t||Wf(e,4,this.length),uO.read(this,e,!1,23,4)},Hn.prototype.readDoubleLE=function(e,t){return e>>>=0,t||Wf(e,8,this.length),uO.read(this,e,!0,52,8)},Hn.prototype.readDoubleBE=function(e,t){return e>>>=0,t||Wf(e,8,this.length),uO.read(this,e,!1,52,8)},Hn.prototype.writeUIntLE=function(e,t,r,i){e=+e,t>>>=0,r>>>=0,i||bp(this,e,t,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[t]=255&e;++o<r&&(n*=256);)this[t+o]=e/n&255;return t+r},Hn.prototype.writeUIntBE=function(e,t,r,i){e=+e,t>>>=0,r>>>=0,i||bp(this,e,t,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},Hn.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,1,255,0),this[t]=255&e,t+1},Hn.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Hn.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Hn.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Hn.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Hn.prototype.writeIntLE=function(e,t,r,i){if(e=+e,t>>>=0,!i){var n=Math.pow(2,8*r-1);bp(this,e,t,r,n-1,-n)}var o=0,d=1,g=0;for(this[t]=255&e;++o<r&&(d*=256);)e<0&&g===0&&this[t+o-1]!==0&&(g=1),this[t+o]=(e/d>>0)-g&255;return t+r},Hn.prototype.writeIntBE=function(e,t,r,i){if(e=+e,t>>>=0,!i){var n=Math.pow(2,8*r-1);bp(this,e,t,r,n-1,-n)}var o=r-1,d=1,g=0;for(this[t+o]=255&e;--o>=0&&(d*=256);)e<0&&g===0&&this[t+o+1]!==0&&(g=1),this[t+o]=(e/d>>0)-g&255;return t+r},Hn.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Hn.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Hn.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Hn.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Hn.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||bp(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Hn.prototype.writeFloatLE=function(e,t,r){return dMe(this,e,t,!0,r)},Hn.prototype.writeFloatBE=function(e,t,r){return dMe(this,e,t,!1,r)},Hn.prototype.writeDoubleLE=function(e,t,r){return fMe(this,e,t,!0,r)},Hn.prototype.writeDoubleBE=function(e,t,r){return fMe(this,e,t,!1,r)},Hn.prototype.copy=function(e,t,r,i){if(!Hn.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||i===0||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<r&&(i=r),i===r||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-r&&(i=e.length-t+r);var n=i-r;if(this===e&&typeof Uint8Array.prototype.copyWithin=="function")this.copyWithin(t,r,i);else if(this===e&&r<t&&t<i)for(var o=n-1;o>=0;--o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,i),t);return n},Hn.prototype.fill=function(e,t,r,i){if(typeof e=="string"){if(typeof t=="string"?(i=t,t=0,r=this.length):typeof r=="string"&&(i=r,r=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!Hn.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){var n=e.charCodeAt(0);(i==="utf8"&&n<128||i==="latin1")&&(e=n)}}else typeof e=="number"?e&=255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var o;if(t>>>=0,r=r===void 0?this.length:r>>>0,e||(e=0),typeof e=="number")for(o=t;o<r;++o)this[o]=e;else{var d=Hn.isBuffer(e)?e:Hn.from(e,i),g=d.length;if(g===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(o=0;o<r-t;++o)this[o+t]=d[o%g]}return this};LSt=/[^+/0-9A-Za-z-_]/g;USt=(function(){for(var e=new Array(256),t=0;t<16;++t)for(var r=16*t,i=0;i<16;++i)e[r+i]="0123456789abcdef"[t]+"0123456789abcdef"[i];return e})();Vo.Buffer;Vo.INSPECT_MAX_BYTES;Vo.kMaxLength;hG={},AG=Vo,Ly=AG.Buffer;Ly.from&&Ly.alloc&&Ly.allocUnsafe&&Ly.allocUnsafeSlow?hG=AG:(lMe(AG,hG),hG.Buffer=G8),G8.prototype=Object.create(Ly.prototype),lMe(Ly,G8),G8.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Ly(e,t,r)},G8.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var i=Ly(e);return t!==void 0?typeof r=="string"?i.fill(t,r):i.fill(t):i.fill(0),i},G8.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Ly(e)},G8.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return AG.SlowBuffer(e)};Rs=hG,yh={},Ine=Rs.Buffer,hMe=Ine.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};yh.StringDecoder=LM,LM.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if((t=this.fillLast(e))===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""},LM.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t},LM.prototype.text=function(e,t){var r=(function(n,o,d){var g=o.length-1;if(g<d)return 0;var y=Ene(o[g]);return y>=0?(y>0&&(n.lastNeed=y-1),y):--g<d||y===-2?0:(y=Ene(o[g]))>=0?(y>0&&(n.lastNeed=y-2),y):--g<d||y===-2?0:(y=Ene(o[g]))>=0?(y>0&&(y===2?y=0:n.lastNeed=y-3),y):0})(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)},LM.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};yh.StringDecoder;yh.StringDecoder});function zSt(){if(vMe)return FM;vMe=!0,FM.byteLength=g,FM.toByteArray=_,FM.fromByteArray=T;for(var e=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=i.length;n<o;++n)e[n]=i[n],t[i.charCodeAt(n)]=n;t[45]=62,t[95]=63;function d(M){var D=M.length;if(D%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var P=M.indexOf("=");P===-1&&(P=D);var G=P===D?0:4-P%4;return[P,G]}function g(M){var D=d(M),P=D[0],G=D[1];return(P+G)*3/4-G}function y(M,D,P){return(D+P)*3/4-P}function _(M){var D,P=d(M),G=P[0],q=P[1],Y=new r(y(M,G,q)),ne=0,ce=q>0?G-4:G,le;for(le=0;le<ce;le+=4)D=t[M.charCodeAt(le)]<<18|t[M.charCodeAt(le+1)]<<12|t[M.charCodeAt(le+2)]<<6|t[M.charCodeAt(le+3)],Y[ne++]=D>>16&255,Y[ne++]=D>>8&255,Y[ne++]=D&255;return q===2&&(D=t[M.charCodeAt(le)]<<2|t[M.charCodeAt(le+1)]>>4,Y[ne++]=D&255),q===1&&(D=t[M.charCodeAt(le)]<<10|t[M.charCodeAt(le+1)]<<4|t[M.charCodeAt(le+2)]>>2,Y[ne++]=D>>8&255,Y[ne++]=D&255),Y}function I(M){return e[M>>18&63]+e[M>>12&63]+e[M>>6&63]+e[M&63]}function N(M,D,P){for(var G,q=[],Y=D;Y<P;Y+=3)G=(M[Y]<<16&16711680)+(M[Y+1]<<8&65280)+(M[Y+2]&255),q.push(I(G));return q.join("")}function T(M){for(var D,P=M.length,G=P%3,q=[],Y=16383,ne=0,ce=P-G;ne<ce;ne+=Y)q.push(N(M,ne,ne+Y>ce?ce:ne+Y));return G===1?(D=M[P-1],q.push(e[D>>2]+e[D<<4&63]+"==")):G===2&&(D=(M[P-2]<<8)+M[P-1],q.push(e[D>>10]+e[D>>4&63]+e[D<<2&63]+"=")),q.join("")}return FM}function KSt(){if(RMe)return gG;RMe=!0;return gG.read=function(e,t,r,i,n){var o,d,g=n*8-i-1,y=(1<<g)-1,_=y>>1,I=-7,N=r?n-1:0,T=r?-1:1,M=e[t+N];for(N+=T,o=M&(1<<-I)-1,M>>=-I,I+=g;I>0;o=o*256+e[t+N],N+=T,I-=8);for(d=o&(1<<-I)-1,o>>=-I,I+=i;I>0;d=d*256+e[t+N],N+=T,I-=8);if(o===0)o=1-_;else{if(o===y)return d?NaN:(M?-1:1)*(1/0);d=d+Math.pow(2,i),o=o-_}return(M?-1:1)*d*Math.pow(2,o-i)},gG.write=function(e,t,r,i,n,o){var d,g,y,_=o*8-n-1,I=(1<<_)-1,N=I>>1,T=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=i?0:o-1,D=i?1:-1,P=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(g=isNaN(t)?1:0,d=I):(d=Math.floor(Math.log(t)/Math.LN2),t*(y=Math.pow(2,-d))<1&&(d--,y*=2),d+N>=1?t+=T/y:t+=T*Math.pow(2,1-N),t*y>=2&&(d++,y/=2),d+N>=I?(g=0,d=I):d+N>=1?(g=(t*y-1)*Math.pow(2,n),d=d+N):(g=t*Math.pow(2,N-1)*Math.pow(2,n),d=0));n>=8;e[r+M]=g&255,M+=D,g/=256,n-=8);for(d=d<<n|g,_+=n;_>0;e[r+M]=d&255,M+=D,d/=256,_-=8);e[r+M-D]|=P*128},gG}function $St(){if(SMe)return q8;SMe=!0;let e=zSt(),t=KSt(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;q8.Buffer=d,q8.SlowBuffer=q,q8.INSPECT_MAX_BYTES=50;let i=2147483647;q8.kMaxLength=i,d.TYPED_ARRAY_SUPPORT=n(),!d.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let ve=new Uint8Array(1),ie={foo:function(){return 42}};return Object.setPrototypeOf(ie,Uint8Array.prototype),Object.setPrototypeOf(ve,ie),ve.foo()===42}catch{return!1}}Object.defineProperty(d.prototype,"parent",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.buffer}}),Object.defineProperty(d.prototype,"offset",{enumerable:!0,get:function(){if(d.isBuffer(this))return this.byteOffset}});function o(ve){if(ve>i)throw new RangeError('The value "'+ve+'" is invalid for option "size"');let ie=new Uint8Array(ve);return Object.setPrototypeOf(ie,d.prototype),ie}function d(ve,ie,_e){if(typeof ve=="number"){if(typeof ie=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return I(ve)}return g(ve,ie,_e)}d.poolSize=8192;function g(ve,ie,_e){if(typeof ve=="string")return N(ve,ie);if(ArrayBuffer.isView(ve))return M(ve);if(ve==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ve);if(At(ve,ArrayBuffer)||ve&&At(ve.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(At(ve,SharedArrayBuffer)||ve&&At(ve.buffer,SharedArrayBuffer)))return D(ve,ie,_e);if(typeof ve=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let Be=ve.valueOf&&ve.valueOf();if(Be!=null&&Be!==ve)return d.from(Be,ie,_e);let Ze=P(ve);if(Ze)return Ze;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ve[Symbol.toPrimitive]=="function")return d.from(ve[Symbol.toPrimitive]("string"),ie,_e);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ve)}d.from=function(ve,ie,_e){return g(ve,ie,_e)},Object.setPrototypeOf(d.prototype,Uint8Array.prototype),Object.setPrototypeOf(d,Uint8Array);function y(ve){if(typeof ve!="number")throw new TypeError('"size" argument must be of type number');if(ve<0)throw new RangeError('The value "'+ve+'" is invalid for option "size"')}function _(ve,ie,_e){return y(ve),ve<=0?o(ve):ie!==void 0?typeof _e=="string"?o(ve).fill(ie,_e):o(ve).fill(ie):o(ve)}d.alloc=function(ve,ie,_e){return _(ve,ie,_e)};function I(ve){return y(ve),o(ve<0?0:G(ve)|0)}d.allocUnsafe=function(ve){return I(ve)},d.allocUnsafeSlow=function(ve){return I(ve)};function N(ve,ie){if((typeof ie!="string"||ie==="")&&(ie="utf8"),!d.isEncoding(ie))throw new TypeError("Unknown encoding: "+ie);let _e=Y(ve,ie)|0,Be=o(_e),Ze=Be.write(ve,ie);return Ze!==_e&&(Be=Be.slice(0,Ze)),Be}function T(ve){let ie=ve.length<0?0:G(ve.length)|0,_e=o(ie);for(let Be=0;Be<ie;Be+=1)_e[Be]=ve[Be]&255;return _e}function M(ve){if(At(ve,Uint8Array)){let ie=new Uint8Array(ve);return D(ie.buffer,ie.byteOffset,ie.byteLength)}return T(ve)}function D(ve,ie,_e){if(ie<0||ve.byteLength<ie)throw new RangeError('"offset" is outside of buffer bounds');if(ve.byteLength<ie+(_e||0))throw new RangeError('"length" is outside of buffer bounds');let Be;return ie===void 0&&_e===void 0?Be=new Uint8Array(ve):_e===void 0?Be=new Uint8Array(ve,ie):Be=new Uint8Array(ve,ie,_e),Object.setPrototypeOf(Be,d.prototype),Be}function P(ve){if(d.isBuffer(ve)){let ie=G(ve.length)|0,_e=o(ie);return _e.length===0||ve.copy(_e,0,0,ie),_e}if(ve.length!==void 0)return typeof ve.length!="number"||Er(ve.length)?o(0):T(ve);if(ve.type==="Buffer"&&Array.isArray(ve.data))return T(ve.data)}function G(ve){if(ve>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return ve|0}function q(ve){return+ve!=ve&&(ve=0),d.alloc(+ve)}d.isBuffer=function(ie){return ie!=null&&ie._isBuffer===!0&&ie!==d.prototype},d.compare=function(ie,_e){if(At(ie,Uint8Array)&&(ie=d.from(ie,ie.offset,ie.byteLength)),At(_e,Uint8Array)&&(_e=d.from(_e,_e.offset,_e.byteLength)),!d.isBuffer(ie)||!d.isBuffer(_e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(ie===_e)return 0;let Be=ie.length,Ze=_e.length;for(let $t=0,at=Math.min(Be,Ze);$t<at;++$t)if(ie[$t]!==_e[$t]){Be=ie[$t],Ze=_e[$t];break}return Be<Ze?-1:Ze<Be?1:0},d.isEncoding=function(ie){switch(String(ie).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},d.concat=function(ie,_e){if(!Array.isArray(ie))throw new TypeError('"list" argument must be an Array of Buffers');if(ie.length===0)return d.alloc(0);let Be;if(_e===void 0)for(_e=0,Be=0;Be<ie.length;++Be)_e+=ie[Be].length;let Ze=d.allocUnsafe(_e),$t=0;for(Be=0;Be<ie.length;++Be){let at=ie[Be];if(At(at,Uint8Array))$t+at.length>Ze.length?(d.isBuffer(at)||(at=d.from(at)),at.copy(Ze,$t)):Uint8Array.prototype.set.call(Ze,at,$t);else if(d.isBuffer(at))at.copy(Ze,$t);else throw new TypeError('"list" argument must be an Array of Buffers');$t+=at.length}return Ze};function Y(ve,ie){if(d.isBuffer(ve))return ve.length;if(ArrayBuffer.isView(ve)||At(ve,ArrayBuffer))return ve.byteLength;if(typeof ve!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof ve);let _e=ve.length,Be=arguments.length>2&&arguments[2]===!0;if(!Be&&_e===0)return 0;let Ze=!1;for(;;)switch(ie){case"ascii":case"latin1":case"binary":return _e;case"utf8":case"utf-8":return Le(ve).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _e*2;case"hex":return _e>>>1;case"base64":return _t(ve).length;default:if(Ze)return Be?-1:Le(ve).length;ie=(""+ie).toLowerCase(),Ze=!0}}d.byteLength=Y;function ne(ve,ie,_e){let Be=!1;if((ie===void 0||ie<0)&&(ie=0),ie>this.length||((_e===void 0||_e>this.length)&&(_e=this.length),_e<=0)||(_e>>>=0,ie>>>=0,_e<=ie))return"";for(ve||(ve="utf8");;)switch(ve){case"hex":return R(this,ie,_e);case"utf8":case"utf-8":return A(this,ie,_e);case"ascii":return w(this,ie,_e);case"latin1":case"binary":return x(this,ie,_e);case"base64":return l(this,ie,_e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u(this,ie,_e);default:if(Be)throw new TypeError("Unknown encoding: "+ve);ve=(ve+"").toLowerCase(),Be=!0}}d.prototype._isBuffer=!0;function ce(ve,ie,_e){let Be=ve[ie];ve[ie]=ve[_e],ve[_e]=Be}d.prototype.swap16=function(){let ie=this.length;if(ie%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let _e=0;_e<ie;_e+=2)ce(this,_e,_e+1);return this},d.prototype.swap32=function(){let ie=this.length;if(ie%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let _e=0;_e<ie;_e+=4)ce(this,_e,_e+3),ce(this,_e+1,_e+2);return this},d.prototype.swap64=function(){let ie=this.length;if(ie%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let _e=0;_e<ie;_e+=8)ce(this,_e,_e+7),ce(this,_e+1,_e+6),ce(this,_e+2,_e+5),ce(this,_e+3,_e+4);return this},d.prototype.toString=function(){let ie=this.length;return ie===0?"":arguments.length===0?A(this,0,ie):ne.apply(this,arguments)},d.prototype.toLocaleString=d.prototype.toString,d.prototype.equals=function(ie){if(!d.isBuffer(ie))throw new TypeError("Argument must be a Buffer");return this===ie?!0:d.compare(this,ie)===0},d.prototype.inspect=function(){let ie="",_e=q8.INSPECT_MAX_BYTES;return ie=this.toString("hex",0,_e).replace(/(.{2})/g,"$1 ").trim(),this.length>_e&&(ie+=" ... "),"<Buffer "+ie+">"},r&&(d.prototype[r]=d.prototype.inspect),d.prototype.compare=function(ie,_e,Be,Ze,$t){if(At(ie,Uint8Array)&&(ie=d.from(ie,ie.offset,ie.byteLength)),!d.isBuffer(ie))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof ie);if(_e===void 0&&(_e=0),Be===void 0&&(Be=ie?ie.length:0),Ze===void 0&&(Ze=0),$t===void 0&&($t=this.length),_e<0||Be>ie.length||Ze<0||$t>this.length)throw new RangeError("out of range index");if(Ze>=$t&&_e>=Be)return 0;if(Ze>=$t)return-1;if(_e>=Be)return 1;if(_e>>>=0,Be>>>=0,Ze>>>=0,$t>>>=0,this===ie)return 0;let at=$t-Ze,zt=Be-_e,Hr=Math.min(at,zt),St=this.slice(Ze,$t),Yt=ie.slice(_e,Be);for(let qr=0;qr<Hr;++qr)if(St[qr]!==Yt[qr]){at=St[qr],zt=Yt[qr];break}return at<zt?-1:zt<at?1:0};function le(ve,ie,_e,Be,Ze){if(ve.length===0)return-1;if(typeof _e=="string"?(Be=_e,_e=0):_e>2147483647?_e=2147483647:_e<-2147483648&&(_e=-2147483648),_e=+_e,Er(_e)&&(_e=Ze?0:ve.length-1),_e<0&&(_e=ve.length+_e),_e>=ve.length){if(Ze)return-1;_e=ve.length-1}else if(_e<0)if(Ze)_e=0;else return-1;if(typeof ie=="string"&&(ie=d.from(ie,Be)),d.isBuffer(ie))return ie.length===0?-1:pe(ve,ie,_e,Be,Ze);if(typeof ie=="number")return ie=ie&255,typeof Uint8Array.prototype.indexOf=="function"?Ze?Uint8Array.prototype.indexOf.call(ve,ie,_e):Uint8Array.prototype.lastIndexOf.call(ve,ie,_e):pe(ve,[ie],_e,Be,Ze);throw new TypeError("val must be string, number or Buffer")}function pe(ve,ie,_e,Be,Ze){let $t=1,at=ve.length,zt=ie.length;if(Be!==void 0&&(Be=String(Be).toLowerCase(),Be==="ucs2"||Be==="ucs-2"||Be==="utf16le"||Be==="utf-16le")){if(ve.length<2||ie.length<2)return-1;$t=2,at/=2,zt/=2,_e/=2}function Hr(Yt,qr){return $t===1?Yt[qr]:Yt.readUInt16BE(qr*$t)}let St;if(Ze){let Yt=-1;for(St=_e;St<at;St++)if(Hr(ve,St)===Hr(ie,Yt===-1?0:St-Yt)){if(Yt===-1&&(Yt=St),St-Yt+1===zt)return Yt*$t}else Yt!==-1&&(St-=St-Yt),Yt=-1}else for(_e+zt>at&&(_e=at-zt),St=_e;St>=0;St--){let Yt=!0;for(let qr=0;qr<zt;qr++)if(Hr(ve,St+qr)!==Hr(ie,qr)){Yt=!1;break}if(Yt)return St}return-1}d.prototype.includes=function(ie,_e,Be){return this.indexOf(ie,_e,Be)!==-1},d.prototype.indexOf=function(ie,_e,Be){return le(this,ie,_e,Be,!0)},d.prototype.lastIndexOf=function(ie,_e,Be){return le(this,ie,_e,Be,!1)};function ae(ve,ie,_e,Be){_e=Number(_e)||0;let Ze=ve.length-_e;Be?(Be=Number(Be),Be>Ze&&(Be=Ze)):Be=Ze;let $t=ie.length;Be>$t/2&&(Be=$t/2);let at;for(at=0;at<Be;++at){let zt=parseInt(ie.substr(at*2,2),16);if(Er(zt))return at;ve[_e+at]=zt}return at}function W(ve,ie,_e,Be){return rt(Le(ie,ve.length-_e),ve,_e,Be)}function se(ve,ie,_e,Be){return rt(V(ie),ve,_e,Be)}function O(ve,ie,_e,Be){return rt(_t(ie),ve,_e,Be)}function s(ve,ie,_e,Be){return rt(Qe(ie,ve.length-_e),ve,_e,Be)}d.prototype.write=function(ie,_e,Be,Ze){if(_e===void 0)Ze="utf8",Be=this.length,_e=0;else if(Be===void 0&&typeof _e=="string")Ze=_e,Be=this.length,_e=0;else if(isFinite(_e))_e=_e>>>0,isFinite(Be)?(Be=Be>>>0,Ze===void 0&&(Ze="utf8")):(Ze=Be,Be=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let $t=this.length-_e;if((Be===void 0||Be>$t)&&(Be=$t),ie.length>0&&(Be<0||_e<0)||_e>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ze||(Ze="utf8");let at=!1;for(;;)switch(Ze){case"hex":return ae(this,ie,_e,Be);case"utf8":case"utf-8":return W(this,ie,_e,Be);case"ascii":case"latin1":case"binary":return se(this,ie,_e,Be);case"base64":return O(this,ie,_e,Be);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s(this,ie,_e,Be);default:if(at)throw new TypeError("Unknown encoding: "+Ze);Ze=(""+Ze).toLowerCase(),at=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function l(ve,ie,_e){return ie===0&&_e===ve.length?e.fromByteArray(ve):e.fromByteArray(ve.slice(ie,_e))}function A(ve,ie,_e){_e=Math.min(ve.length,_e);let Be=[],Ze=ie;for(;Ze<_e;){let $t=ve[Ze],at=null,zt=$t>239?4:$t>223?3:$t>191?2:1;if(Ze+zt<=_e){let Hr,St,Yt,qr;switch(zt){case 1:$t<128&&(at=$t);break;case 2:Hr=ve[Ze+1],(Hr&192)===128&&(qr=($t&31)<<6|Hr&63,qr>127&&(at=qr));break;case 3:Hr=ve[Ze+1],St=ve[Ze+2],(Hr&192)===128&&(St&192)===128&&(qr=($t&15)<<12|(Hr&63)<<6|St&63,qr>2047&&(qr<55296||qr>57343)&&(at=qr));break;case 4:Hr=ve[Ze+1],St=ve[Ze+2],Yt=ve[Ze+3],(Hr&192)===128&&(St&192)===128&&(Yt&192)===128&&(qr=($t&15)<<18|(Hr&63)<<12|(St&63)<<6|Yt&63,qr>65535&&qr<1114112&&(at=qr))}}at===null?(at=65533,zt=1):at>65535&&(at-=65536,Be.push(at>>>10&1023|55296),at=56320|at&1023),Be.push(at),Ze+=zt}return E(Be)}let m=4096;function E(ve){let ie=ve.length;if(ie<=m)return String.fromCharCode.apply(String,ve);let _e="",Be=0;for(;Be<ie;)_e+=String.fromCharCode.apply(String,ve.slice(Be,Be+=m));return _e}function w(ve,ie,_e){let Be="";_e=Math.min(ve.length,_e);for(let Ze=ie;Ze<_e;++Ze)Be+=String.fromCharCode(ve[Ze]&127);return Be}function x(ve,ie,_e){let Be="";_e=Math.min(ve.length,_e);for(let Ze=ie;Ze<_e;++Ze)Be+=String.fromCharCode(ve[Ze]);return Be}function R(ve,ie,_e){let Be=ve.length;(!ie||ie<0)&&(ie=0),(!_e||_e<0||_e>Be)&&(_e=Be);let Ze="";for(let $t=ie;$t<_e;++$t)Ze+=mt[ve[$t]];return Ze}function u(ve,ie,_e){let Be=ve.slice(ie,_e),Ze="";for(let $t=0;$t<Be.length-1;$t+=2)Ze+=String.fromCharCode(Be[$t]+Be[$t+1]*256);return Ze}d.prototype.slice=function(ie,_e){let Be=this.length;ie=~~ie,_e=_e===void 0?Be:~~_e,ie<0?(ie+=Be,ie<0&&(ie=0)):ie>Be&&(ie=Be),_e<0?(_e+=Be,_e<0&&(_e=0)):_e>Be&&(_e=Be),_e<ie&&(_e=ie);let Ze=this.subarray(ie,_e);return Object.setPrototypeOf(Ze,d.prototype),Ze};function C(ve,ie,_e){if(ve%1!==0||ve<0)throw new RangeError("offset is not uint");if(ve+ie>_e)throw new RangeError("Trying to access beyond buffer length")}d.prototype.readUintLE=d.prototype.readUIntLE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie],$t=1,at=0;for(;++at<_e&&($t*=256);)Ze+=this[ie+at]*$t;return Ze},d.prototype.readUintBE=d.prototype.readUIntBE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie+--_e],$t=1;for(;_e>0&&($t*=256);)Ze+=this[ie+--_e]*$t;return Ze},d.prototype.readUint8=d.prototype.readUInt8=function(ie,_e){return ie=ie>>>0,_e||C(ie,1,this.length),this[ie]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,2,this.length),this[ie]|this[ie+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,2,this.length),this[ie]<<8|this[ie+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),(this[ie]|this[ie+1]<<8|this[ie+2]<<16)+this[ie+3]*16777216},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]*16777216+(this[ie+1]<<16|this[ie+2]<<8|this[ie+3])},d.prototype.readBigUInt64LE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=_e+this[++ie]*2**8+this[++ie]*2**16+this[++ie]*2**24,$t=this[++ie]+this[++ie]*2**8+this[++ie]*2**16+Be*2**24;return BigInt(Ze)+(BigInt($t)<<BigInt(32))}),d.prototype.readBigUInt64BE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=_e*2**24+this[++ie]*2**16+this[++ie]*2**8+this[++ie],$t=this[++ie]*2**24+this[++ie]*2**16+this[++ie]*2**8+Be;return(BigInt(Ze)<<BigInt(32))+BigInt($t)}),d.prototype.readIntLE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=this[ie],$t=1,at=0;for(;++at<_e&&($t*=256);)Ze+=this[ie+at]*$t;return $t*=128,Ze>=$t&&(Ze-=Math.pow(2,8*_e)),Ze},d.prototype.readIntBE=function(ie,_e,Be){ie=ie>>>0,_e=_e>>>0,Be||C(ie,_e,this.length);let Ze=_e,$t=1,at=this[ie+--Ze];for(;Ze>0&&($t*=256);)at+=this[ie+--Ze]*$t;return $t*=128,at>=$t&&(at-=Math.pow(2,8*_e)),at},d.prototype.readInt8=function(ie,_e){return ie=ie>>>0,_e||C(ie,1,this.length),this[ie]&128?(255-this[ie]+1)*-1:this[ie]},d.prototype.readInt16LE=function(ie,_e){ie=ie>>>0,_e||C(ie,2,this.length);let Be=this[ie]|this[ie+1]<<8;return Be&32768?Be|4294901760:Be},d.prototype.readInt16BE=function(ie,_e){ie=ie>>>0,_e||C(ie,2,this.length);let Be=this[ie+1]|this[ie]<<8;return Be&32768?Be|4294901760:Be},d.prototype.readInt32LE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]|this[ie+1]<<8|this[ie+2]<<16|this[ie+3]<<24},d.prototype.readInt32BE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),this[ie]<<24|this[ie+1]<<16|this[ie+2]<<8|this[ie+3]},d.prototype.readBigInt64LE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=this[ie+4]+this[ie+5]*2**8+this[ie+6]*2**16+(Be<<24);return(BigInt(Ze)<<BigInt(32))+BigInt(_e+this[++ie]*2**8+this[++ie]*2**16+this[++ie]*2**24)}),d.prototype.readBigInt64BE=Ht(function(ie){ie=ie>>>0,te(ie,"offset");let _e=this[ie],Be=this[ie+7];(_e===void 0||Be===void 0)&&Ue(ie,this.length-8);let Ze=(_e<<24)+this[++ie]*2**16+this[++ie]*2**8+this[++ie];return(BigInt(Ze)<<BigInt(32))+BigInt(this[++ie]*2**24+this[++ie]*2**16+this[++ie]*2**8+Be)}),d.prototype.readFloatLE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),t.read(this,ie,!0,23,4)},d.prototype.readFloatBE=function(ie,_e){return ie=ie>>>0,_e||C(ie,4,this.length),t.read(this,ie,!1,23,4)},d.prototype.readDoubleLE=function(ie,_e){return ie=ie>>>0,_e||C(ie,8,this.length),t.read(this,ie,!0,52,8)},d.prototype.readDoubleBE=function(ie,_e){return ie=ie>>>0,_e||C(ie,8,this.length),t.read(this,ie,!1,52,8)};function U(ve,ie,_e,Be,Ze,$t){if(!d.isBuffer(ve))throw new TypeError('"buffer" argument must be a Buffer instance');if(ie>Ze||ie<$t)throw new RangeError('"value" argument is out of bounds');if(_e+Be>ve.length)throw new RangeError("Index out of range")}d.prototype.writeUintLE=d.prototype.writeUIntLE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,Be=Be>>>0,!Ze){let zt=Math.pow(2,8*Be)-1;U(this,ie,_e,Be,zt,0)}let $t=1,at=0;for(this[_e]=ie&255;++at<Be&&($t*=256);)this[_e+at]=ie/$t&255;return _e+Be},d.prototype.writeUintBE=d.prototype.writeUIntBE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,Be=Be>>>0,!Ze){let zt=Math.pow(2,8*Be)-1;U(this,ie,_e,Be,zt,0)}let $t=Be-1,at=1;for(this[_e+$t]=ie&255;--$t>=0&&(at*=256);)this[_e+$t]=ie/at&255;return _e+Be},d.prototype.writeUint8=d.prototype.writeUInt8=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,1,255,0),this[_e]=ie&255,_e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,65535,0),this[_e]=ie&255,this[_e+1]=ie>>>8,_e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,65535,0),this[_e]=ie>>>8,this[_e+1]=ie&255,_e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,4294967295,0),this[_e+3]=ie>>>24,this[_e+2]=ie>>>16,this[_e+1]=ie>>>8,this[_e]=ie&255,_e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,4294967295,0),this[_e]=ie>>>24,this[_e+1]=ie>>>16,this[_e+2]=ie>>>8,this[_e+3]=ie&255,_e+4};function F(ve,ie,_e,Be,Ze){ze(ie,Be,Ze,ve,_e,7);let $t=Number(ie&BigInt(4294967295));ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t,$t=$t>>8,ve[_e++]=$t;let at=Number(ie>>BigInt(32)&BigInt(4294967295));return ve[_e++]=at,at=at>>8,ve[_e++]=at,at=at>>8,ve[_e++]=at,at=at>>8,ve[_e++]=at,_e}function X(ve,ie,_e,Be,Ze){ze(ie,Be,Ze,ve,_e,7);let $t=Number(ie&BigInt(4294967295));ve[_e+7]=$t,$t=$t>>8,ve[_e+6]=$t,$t=$t>>8,ve[_e+5]=$t,$t=$t>>8,ve[_e+4]=$t;let at=Number(ie>>BigInt(32)&BigInt(4294967295));return ve[_e+3]=at,at=at>>8,ve[_e+2]=at,at=at>>8,ve[_e+1]=at,at=at>>8,ve[_e]=at,_e+8}d.prototype.writeBigUInt64LE=Ht(function(ie,_e=0){return F(this,ie,_e,BigInt(0),BigInt("0xffffffffffffffff"))}),d.prototype.writeBigUInt64BE=Ht(function(ie,_e=0){return X(this,ie,_e,BigInt(0),BigInt("0xffffffffffffffff"))}),d.prototype.writeIntLE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,!Ze){let Hr=Math.pow(2,8*Be-1);U(this,ie,_e,Be,Hr-1,-Hr)}let $t=0,at=1,zt=0;for(this[_e]=ie&255;++$t<Be&&(at*=256);)ie<0&&zt===0&&this[_e+$t-1]!==0&&(zt=1),this[_e+$t]=(ie/at>>0)-zt&255;return _e+Be},d.prototype.writeIntBE=function(ie,_e,Be,Ze){if(ie=+ie,_e=_e>>>0,!Ze){let Hr=Math.pow(2,8*Be-1);U(this,ie,_e,Be,Hr-1,-Hr)}let $t=Be-1,at=1,zt=0;for(this[_e+$t]=ie&255;--$t>=0&&(at*=256);)ie<0&&zt===0&&this[_e+$t+1]!==0&&(zt=1),this[_e+$t]=(ie/at>>0)-zt&255;return _e+Be},d.prototype.writeInt8=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,1,127,-128),ie<0&&(ie=255+ie+1),this[_e]=ie&255,_e+1},d.prototype.writeInt16LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,32767,-32768),this[_e]=ie&255,this[_e+1]=ie>>>8,_e+2},d.prototype.writeInt16BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,2,32767,-32768),this[_e]=ie>>>8,this[_e+1]=ie&255,_e+2},d.prototype.writeInt32LE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,2147483647,-2147483648),this[_e]=ie&255,this[_e+1]=ie>>>8,this[_e+2]=ie>>>16,this[_e+3]=ie>>>24,_e+4},d.prototype.writeInt32BE=function(ie,_e,Be){return ie=+ie,_e=_e>>>0,Be||U(this,ie,_e,4,2147483647,-2147483648),ie<0&&(ie=4294967295+ie+1),this[_e]=ie>>>24,this[_e+1]=ie>>>16,this[_e+2]=ie>>>8,this[_e+3]=ie&255,_e+4},d.prototype.writeBigInt64LE=Ht(function(ie,_e=0){return F(this,ie,_e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),d.prototype.writeBigInt64BE=Ht(function(ie,_e=0){return X(this,ie,_e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ae(ve,ie,_e,Be,Ze,$t){if(_e+Be>ve.length)throw new RangeError("Index out of range");if(_e<0)throw new RangeError("Index out of range")}function he(ve,ie,_e,Be,Ze){return ie=+ie,_e=_e>>>0,Ze||Ae(ve,ie,_e,4),t.write(ve,ie,_e,Be,23,4),_e+4}d.prototype.writeFloatLE=function(ie,_e,Be){return he(this,ie,_e,!0,Be)},d.prototype.writeFloatBE=function(ie,_e,Be){return he(this,ie,_e,!1,Be)};function $e(ve,ie,_e,Be,Ze){return ie=+ie,_e=_e>>>0,Ze||Ae(ve,ie,_e,8),t.write(ve,ie,_e,Be,52,8),_e+8}d.prototype.writeDoubleLE=function(ie,_e,Be){return $e(this,ie,_e,!0,Be)},d.prototype.writeDoubleBE=function(ie,_e,Be){return $e(this,ie,_e,!1,Be)},d.prototype.copy=function(ie,_e,Be,Ze){if(!d.isBuffer(ie))throw new TypeError("argument should be a Buffer");if(Be||(Be=0),!Ze&&Ze!==0&&(Ze=this.length),_e>=ie.length&&(_e=ie.length),_e||(_e=0),Ze>0&&Ze<Be&&(Ze=Be),Ze===Be||ie.length===0||this.length===0)return 0;if(_e<0)throw new RangeError("targetStart out of bounds");if(Be<0||Be>=this.length)throw new RangeError("Index out of range");if(Ze<0)throw new RangeError("sourceEnd out of bounds");Ze>this.length&&(Ze=this.length),ie.length-_e<Ze-Be&&(Ze=ie.length-_e+Be);let $t=Ze-Be;return this===ie&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(_e,Be,Ze):Uint8Array.prototype.set.call(ie,this.subarray(Be,Ze),_e),$t},d.prototype.fill=function(ie,_e,Be,Ze){if(typeof ie=="string"){if(typeof _e=="string"?(Ze=_e,_e=0,Be=this.length):typeof Be=="string"&&(Ze=Be,Be=this.length),Ze!==void 0&&typeof Ze!="string")throw new TypeError("encoding must be a string");if(typeof Ze=="string"&&!d.isEncoding(Ze))throw new TypeError("Unknown encoding: "+Ze);if(ie.length===1){let at=ie.charCodeAt(0);(Ze==="utf8"&&at<128||Ze==="latin1")&&(ie=at)}}else typeof ie=="number"?ie=ie&255:typeof ie=="boolean"&&(ie=Number(ie));if(_e<0||this.length<_e||this.length<Be)throw new RangeError("Out of range index");if(Be<=_e)return this;_e=_e>>>0,Be=Be===void 0?this.length:Be>>>0,ie||(ie=0);let $t;if(typeof ie=="number")for($t=_e;$t<Be;++$t)this[$t]=ie;else{let at=d.isBuffer(ie)?ie:d.from(ie,Ze),zt=at.length;if(zt===0)throw new TypeError('The value "'+ie+'" is invalid for argument "value"');for($t=0;$t<Be-_e;++$t)this[$t+_e]=at[$t%zt]}return this};let Ge={};function Re(ve,ie,_e){Ge[ve]=class extends _e{constructor(){super(),Object.defineProperty(this,"message",{value:ie.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${ve}]`,this.stack,delete this.name}get code(){return ve}set code(Ze){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Ze,writable:!0})}toString(){return`${this.name} [${ve}]: ${this.message}`}}}Re("ERR_BUFFER_OUT_OF_BOUNDS",function(ve){return ve?`${ve} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),Re("ERR_INVALID_ARG_TYPE",function(ve,ie){return`The "${ve}" argument must be of type number. Received type ${typeof ie}`},TypeError),Re("ERR_OUT_OF_RANGE",function(ve,ie,_e){let Be=`The value of "${ve}" is out of range.`,Ze=_e;return Number.isInteger(_e)&&Math.abs(_e)>2**32?Ze=Se(String(_e)):typeof _e=="bigint"&&(Ze=String(_e),(_e>BigInt(2)**BigInt(32)||_e<-(BigInt(2)**BigInt(32)))&&(Ze=Se(Ze)),Ze+="n"),Be+=` It must be ${ie}. Received ${Ze}`,Be},RangeError);function Se(ve){let ie="",_e=ve.length,Be=ve[0]==="-"?1:0;for(;_e>=Be+4;_e-=3)ie=`_${ve.slice(_e-3,_e)}${ie}`;return`${ve.slice(0,_e)}${ie}`}function ct(ve,ie,_e){te(ie,"offset"),(ve[ie]===void 0||ve[ie+_e]===void 0)&&Ue(ie,ve.length-(_e+1))}function ze(ve,ie,_e,Be,Ze,$t){if(ve>_e||ve<ie){let at=typeof ie=="bigint"?"n":"",zt;throw $t>3?ie===0||ie===BigInt(0)?zt=`>= 0${at} and < 2${at} ** ${($t+1)*8}${at}`:zt=`>= -(2${at} ** ${($t+1)*8-1}${at}) and < 2 ** ${($t+1)*8-1}${at}`:zt=`>= ${ie}${at} and <= ${_e}${at}`,new Ge.ERR_OUT_OF_RANGE("value",zt,ve)}ct(Be,Ze,$t)}function te(ve,ie){if(typeof ve!="number")throw new Ge.ERR_INVALID_ARG_TYPE(ie,"number",ve)}function Ue(ve,ie,_e){throw Math.floor(ve)!==ve?(te(ve,_e),new Ge.ERR_OUT_OF_RANGE(_e||"offset","an integer",ve)):ie<0?new Ge.ERR_BUFFER_OUT_OF_BOUNDS:new Ge.ERR_OUT_OF_RANGE(_e||"offset",`>= ${_e?1:0} and <= ${ie}`,ve)}let oe=/[^+/0-9A-Za-z-_]/g;function ge(ve){if(ve=ve.split("=")[0],ve=ve.trim().replace(oe,""),ve.length<2)return"";for(;ve.length%4!==0;)ve=ve+"=";return ve}function Le(ve,ie){ie=ie||1/0;let _e,Be=ve.length,Ze=null,$t=[];for(let at=0;at<Be;++at){if(_e=ve.charCodeAt(at),_e>55295&&_e<57344){if(!Ze){if(_e>56319){(ie-=3)>-1&&$t.push(239,191,189);continue}else if(at+1===Be){(ie-=3)>-1&&$t.push(239,191,189);continue}Ze=_e;continue}if(_e<56320){(ie-=3)>-1&&$t.push(239,191,189),Ze=_e;continue}_e=(Ze-55296<<10|_e-56320)+65536}else Ze&&(ie-=3)>-1&&$t.push(239,191,189);if(Ze=null,_e<128){if((ie-=1)<0)break;$t.push(_e)}else if(_e<2048){if((ie-=2)<0)break;$t.push(_e>>6|192,_e&63|128)}else if(_e<65536){if((ie-=3)<0)break;$t.push(_e>>12|224,_e>>6&63|128,_e&63|128)}else if(_e<1114112){if((ie-=4)<0)break;$t.push(_e>>18|240,_e>>12&63|128,_e>>6&63|128,_e&63|128)}else throw new Error("Invalid code point")}return $t}function V(ve){let ie=[];for(let _e=0;_e<ve.length;++_e)ie.push(ve.charCodeAt(_e)&255);return ie}function Qe(ve,ie){let _e,Be,Ze,$t=[];for(let at=0;at<ve.length&&!((ie-=2)<0);++at)_e=ve.charCodeAt(at),Be=_e>>8,Ze=_e%256,$t.push(Ze),$t.push(Be);return $t}function _t(ve){return e.toByteArray(ge(ve))}function rt(ve,ie,_e,Be){let Ze;for(Ze=0;Ze<Be&&!(Ze+_e>=ie.length||Ze>=ve.length);++Ze)ie[Ze+_e]=ve[Ze];return Ze}function At(ve,ie){return ve instanceof ie||ve!=null&&ve.constructor!=null&&ve.constructor.name!=null&&ve.constructor.name===ie.name}function Er(ve){return ve!==ve}let mt=(function(){let ve="0123456789abcdef",ie=new Array(256);for(let _e=0;_e<16;++_e){let Be=_e*16;for(let Ze=0;Ze<16;++Ze)ie[Be+Ze]=ve[_e]+ve[Ze]}return ie})();function Ht(ve){return typeof BigInt>"u"?zr:ve}function zr(){throw new Error("BigInt not supported")}return q8}function La(){return IMe||(IMe=!0,typeof Object.create=="function"?_G=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:_G=function(t,r){if(r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t}}),_G}function HMe(){return CMe||(CMe=!0,One=xc.EventEmitter),One}function YSt(){if(wMe)return Nne;wMe=!0;function e(T,M){var D=Object.keys(T);if(Object.getOwnPropertySymbols){var P=Object.getOwnPropertySymbols(T);M&&(P=P.filter(function(G){return Object.getOwnPropertyDescriptor(T,G).enumerable})),D.push.apply(D,P)}return D}function t(T){for(var M=1;M<arguments.length;M++){var D=arguments[M]!=null?arguments[M]:{};M%2?e(Object(D),!0).forEach(function(P){r(T,P,D[P])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(D)):e(Object(D)).forEach(function(P){Object.defineProperty(T,P,Object.getOwnPropertyDescriptor(D,P))})}return T}function r(T,M,D){return M in T?Object.defineProperty(T,M,{value:D,enumerable:!0,configurable:!0,writable:!0}):T[M]=D,T}function i(T,M){if(!(T instanceof M))throw new TypeError("Cannot call a class as a function")}function n(T,M){for(var D=0;D<M.length;D++){var P=M[D];P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P&&(P.writable=!0),Object.defineProperty(T,P.key,P)}}function o(T,M,D){return M&&n(T.prototype,M),D&&n(T,D),T}var d=Nu,g=d.Buffer,y=yn,_=y.inspect,I=_&&_.custom||"inspect";function N(T,M,D){g.prototype.copy.call(T,M,D)}return Nne=(function(){function T(){i(this,T),this.head=null,this.tail=null,this.length=0}return o(T,[{key:"push",value:function(D){var P={data:D,next:null};this.length>0?this.tail.next=P:this.head=P,this.tail=P,++this.length}},{key:"unshift",value:function(D){var P={data:D,next:this.head};this.length===0&&(this.tail=P),this.head=P,++this.length}},{key:"shift",value:function(){if(this.length!==0){var D=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,D}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(D){if(this.length===0)return"";for(var P=this.head,G=""+P.data;P=P.next;)G+=D+P.data;return G}},{key:"concat",value:function(D){if(this.length===0)return g.alloc(0);for(var P=g.allocUnsafe(D>>>0),G=this.head,q=0;G;)N(G.data,P,q),q+=G.data.length,G=G.next;return P}},{key:"consume",value:function(D,P){var G;return D<this.head.data.length?(G=this.head.data.slice(0,D),this.head.data=this.head.data.slice(D)):D===this.head.data.length?G=this.shift():G=P?this._getString(D):this._getBuffer(D),G}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(D){var P=this.head,G=1,q=P.data;for(D-=q.length;P=P.next;){var Y=P.data,ne=D>Y.length?Y.length:D;if(ne===Y.length?q+=Y:q+=Y.slice(0,D),D-=ne,D===0){ne===Y.length?(++G,P.next?this.head=P.next:this.head=this.tail=null):(this.head=P,P.data=Y.slice(ne));break}++G}return this.length-=G,q}},{key:"_getBuffer",value:function(D){var P=g.allocUnsafe(D),G=this.head,q=1;for(G.data.copy(P),D-=G.data.length;G=G.next;){var Y=G.data,ne=D>Y.length?Y.length:D;if(Y.copy(P,P.length-D,0,ne),D-=ne,D===0){ne===Y.length?(++q,G.next?this.head=G.next:this.head=this.tail=null):(this.head=G,G.data=Y.slice(ne));break}++q}return this.length-=q,P}},{key:I,value:function(D,P){return _(this,t({},P,{depth:0,customInspect:!1}))}}]),T})(),Nne}function GMe(){if(OMe)return xne;OMe=!0;var e=za;function t(g,y){var _=this,I=this._readableState&&this._readableState.destroyed,N=this._writableState&&this._writableState.destroyed;return I||N?(y?y(g):g&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(o,this,g)):e.nextTick(o,this,g)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(g||null,function(T){!y&&T?_._writableState?_._writableState.errorEmitted?e.nextTick(i,_):(_._writableState.errorEmitted=!0,e.nextTick(r,_,T)):e.nextTick(r,_,T):y?(e.nextTick(i,_),y(T)):e.nextTick(i,_)}),this)}function r(g,y){o(g,y),i(g)}function i(g){g._writableState&&!g._writableState.emitClose||g._readableState&&!g._readableState.emitClose||g.emit("close")}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(g,y){g.emit("error",y)}function d(g,y){var _=g._readableState,I=g._writableState;_&&_.autoDestroy||I&&I.autoDestroy?g.destroy(y):g.emit("error",y)}return xne={destroy:t,undestroy:n,errorOrDestroy:d},xne}function dO(){if(NMe)return Tne;NMe=!0;let e={};function t(d,g,y){y||(y=Error);function _(N,T,M){return typeof g=="string"?g:g(N,T,M)}class I extends y{constructor(T,M,D){super(_(T,M,D))}}I.prototype.name=y.name,I.prototype.code=d,e[d]=I}function r(d,g){if(Array.isArray(d)){let y=d.length;return d=d.map(_=>String(_)),y>2?`one of ${g} ${d.slice(0,y-1).join(", ")}, or `+d[y-1]:y===2?`one of ${g} ${d[0]} or ${d[1]}`:`of ${g} ${d[0]}`}else return`of ${g} ${String(d)}`}function i(d,g,y){return d.substr(!y||y<0?0:+y,g.length)===g}function n(d,g,y){return(y===void 0||y>d.length)&&(y=d.length),d.substring(y-g.length,y)===g}function o(d,g,y){return typeof y!="number"&&(y=0),y+g.length>d.length?!1:d.indexOf(g,y)!==-1}return t("ERR_INVALID_OPT_VALUE",function(d,g){return'The value "'+g+'" is invalid for option "'+d+'"'},TypeError),t("ERR_INVALID_ARG_TYPE",function(d,g,y){let _;typeof g=="string"&&i(g,"not ")?(_="must not be",g=g.replace(/^not /,"")):_="must be";let I;if(n(d," argument"))I=`The ${d} ${_} ${r(g,"type")}`;else{let N=o(d,".")?"property":"argument";I=`The "${d}" ${N} ${_} ${r(g,"type")}`}return I+=`. Received type ${typeof y}`,I},TypeError),t("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),t("ERR_METHOD_NOT_IMPLEMENTED",function(d){return"The "+d+" method is not implemented"}),t("ERR_STREAM_PREMATURE_CLOSE","Premature close"),t("ERR_STREAM_DESTROYED",function(d){return"Cannot call "+d+" after a stream was destroyed"}),t("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),t("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),t("ERR_STREAM_WRITE_AFTER_END","write after end"),t("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),t("ERR_UNKNOWN_ENCODING",function(d){return"Unknown encoding: "+d},TypeError),t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Tne.codes=e,Tne}function qMe(){if(xMe)return Bne;xMe=!0;var e=dO().codes.ERR_INVALID_OPT_VALUE;function t(i,n,o){return i.highWaterMark!=null?i.highWaterMark:n?i[o]:null}function r(i,n,o,d){var g=t(n,d,o);if(g!=null){if(!(isFinite(g)&&Math.floor(g)===g)||g<0){var y=d?o:"highWaterMark";throw new e(y,g)}return Math.floor(g)}return i.objectMode?16:16*1024}return Bne={getHighWaterMark:r},Bne}function WSt(){if(TMe)return Mne;TMe=!0,Mne=e;function e(r,i){if(t("noDeprecation"))return r;var n=!1;function o(){if(!n){if(t("throwDeprecation"))throw new Error(i);t("traceDeprecation")?console.trace(i):console.warn(i),n=!0}return r.apply(this||Dne,arguments)}return o}function t(r){try{if(!Dne.localStorage)return!1}catch{return!1}var i=Dne.localStorage[r];return i==null?!1:String(i).toLowerCase()==="true"}return Mne}function QM(){if(BMe)return kne;BMe=!0;var e=za;kne=se;function t(Ge){var Re=this;this.next=null,this.entry=null,this.finish=function(){$e(Re,Ge)}}var r;se.WritableState=ae;var i={deprecate:WSt()},n=HMe(),o=Nu.Buffer,d=XSt.Uint8Array||function(){};function g(Ge){return o.from(Ge)}function y(Ge){return o.isBuffer(Ge)||Ge instanceof d}var _=GMe(),I=qMe(),N=I.getHighWaterMark,T=dO().codes,M=T.ERR_INVALID_ARG_TYPE,D=T.ERR_METHOD_NOT_IMPLEMENTED,P=T.ERR_MULTIPLE_CALLBACK,G=T.ERR_STREAM_CANNOT_PIPE,q=T.ERR_STREAM_DESTROYED,Y=T.ERR_STREAM_NULL_VALUES,ne=T.ERR_STREAM_WRITE_AFTER_END,ce=T.ERR_UNKNOWN_ENCODING,le=_.errorOrDestroy;La()(se,n);function pe(){}function ae(Ge,Re,Se){r=r||Iv(),Ge=Ge||{},typeof Se!="boolean"&&(Se=Re instanceof r),this.objectMode=!!Ge.objectMode,Se&&(this.objectMode=this.objectMode||!!Ge.writableObjectMode),this.highWaterMark=N(this,Ge,"writableHighWaterMark",Se),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ct=Ge.decodeStrings===!1;this.decodeStrings=!ct,this.defaultEncoding=Ge.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ze){x(Re,ze)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Ge.emitClose!==!1,this.autoDestroy=!!Ge.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t(this)}ae.prototype.getBuffer=function(){for(var Re=this.bufferedRequest,Se=[];Re;)Se.push(Re),Re=Re.next;return Se},(function(){try{Object.defineProperty(ae.prototype,"buffer",{get:i.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var W;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(W=Function.prototype[Symbol.hasInstance],Object.defineProperty(se,Symbol.hasInstance,{value:function(Re){return W.call(this,Re)?!0:this!==se?!1:Re&&Re._writableState instanceof ae}})):W=function(Re){return Re instanceof this};function se(Ge){r=r||Iv();var Re=this instanceof r;if(!Re&&!W.call(se,this))return new se(Ge);this._writableState=new ae(Ge,this,Re),this.writable=!0,Ge&&(typeof Ge.write=="function"&&(this._write=Ge.write),typeof Ge.writev=="function"&&(this._writev=Ge.writev),typeof Ge.destroy=="function"&&(this._destroy=Ge.destroy),typeof Ge.final=="function"&&(this._final=Ge.final)),n.call(this)}se.prototype.pipe=function(){le(this,new G)};function O(Ge,Re){var Se=new ne;le(Ge,Se),e.nextTick(Re,Se)}function s(Ge,Re,Se,ct){var ze;return Se===null?ze=new Y:typeof Se!="string"&&!Re.objectMode&&(ze=new M("chunk",["string","Buffer"],Se)),ze?(le(Ge,ze),e.nextTick(ct,ze),!1):!0}se.prototype.write=function(Ge,Re,Se){var ct=this._writableState,ze=!1,te=!ct.objectMode&&y(Ge);return te&&!o.isBuffer(Ge)&&(Ge=g(Ge)),typeof Re=="function"&&(Se=Re,Re=null),te?Re="buffer":Re||(Re=ct.defaultEncoding),typeof Se!="function"&&(Se=pe),ct.ending?O(this,Se):(te||s(this,ct,Ge,Se))&&(ct.pendingcb++,ze=A(this,ct,te,Ge,Re,Se)),ze},se.prototype.cork=function(){this._writableState.corked++},se.prototype.uncork=function(){var Ge=this._writableState;Ge.corked&&(Ge.corked--,!Ge.writing&&!Ge.corked&&!Ge.bufferProcessing&&Ge.bufferedRequest&&C(this,Ge))},se.prototype.setDefaultEncoding=function(Re){if(typeof Re=="string"&&(Re=Re.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((Re+"").toLowerCase())>-1))throw new ce(Re);return this._writableState.defaultEncoding=Re,this},Object.defineProperty(se.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function l(Ge,Re,Se){return!Ge.objectMode&&Ge.decodeStrings!==!1&&typeof Re=="string"&&(Re=o.from(Re,Se)),Re}Object.defineProperty(se.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function A(Ge,Re,Se,ct,ze,te){if(!Se){var Ue=l(Re,ct,ze);ct!==Ue&&(Se=!0,ze="buffer",ct=Ue)}var oe=Re.objectMode?1:ct.length;Re.length+=oe;var ge=Re.length<Re.highWaterMark;if(ge||(Re.needDrain=!0),Re.writing||Re.corked){var Le=Re.lastBufferedRequest;Re.lastBufferedRequest={chunk:ct,encoding:ze,isBuf:Se,callback:te,next:null},Le?Le.next=Re.lastBufferedRequest:Re.bufferedRequest=Re.lastBufferedRequest,Re.bufferedRequestCount+=1}else m(Ge,Re,!1,oe,ct,ze,te);return ge}function m(Ge,Re,Se,ct,ze,te,Ue){Re.writelen=ct,Re.writecb=Ue,Re.writing=!0,Re.sync=!0,Re.destroyed?Re.onwrite(new q("write")):Se?Ge._writev(ze,Re.onwrite):Ge._write(ze,te,Re.onwrite),Re.sync=!1}function E(Ge,Re,Se,ct,ze){--Re.pendingcb,Se?(e.nextTick(ze,ct),e.nextTick(Ae,Ge,Re),Ge._writableState.errorEmitted=!0,le(Ge,ct)):(ze(ct),Ge._writableState.errorEmitted=!0,le(Ge,ct),Ae(Ge,Re))}function w(Ge){Ge.writing=!1,Ge.writecb=null,Ge.length-=Ge.writelen,Ge.writelen=0}function x(Ge,Re){var Se=Ge._writableState,ct=Se.sync,ze=Se.writecb;if(typeof ze!="function")throw new P;if(w(Se),Re)E(Ge,Se,ct,Re,ze);else{var te=U(Se)||Ge.destroyed;!te&&!Se.corked&&!Se.bufferProcessing&&Se.bufferedRequest&&C(Ge,Se),ct?e.nextTick(R,Ge,Se,te,ze):R(Ge,Se,te,ze)}}function R(Ge,Re,Se,ct){Se||u(Ge,Re),Re.pendingcb--,ct(),Ae(Ge,Re)}function u(Ge,Re){Re.length===0&&Re.needDrain&&(Re.needDrain=!1,Ge.emit("drain"))}function C(Ge,Re){Re.bufferProcessing=!0;var Se=Re.bufferedRequest;if(Ge._writev&&Se&&Se.next){var ct=Re.bufferedRequestCount,ze=new Array(ct),te=Re.corkedRequestsFree;te.entry=Se;for(var Ue=0,oe=!0;Se;)ze[Ue]=Se,Se.isBuf||(oe=!1),Se=Se.next,Ue+=1;ze.allBuffers=oe,m(Ge,Re,!0,Re.length,ze,"",te.finish),Re.pendingcb++,Re.lastBufferedRequest=null,te.next?(Re.corkedRequestsFree=te.next,te.next=null):Re.corkedRequestsFree=new t(Re),Re.bufferedRequestCount=0}else{for(;Se;){var ge=Se.chunk,Le=Se.encoding,V=Se.callback,Qe=Re.objectMode?1:ge.length;if(m(Ge,Re,!1,Qe,ge,Le,V),Se=Se.next,Re.bufferedRequestCount--,Re.writing)break}Se===null&&(Re.lastBufferedRequest=null)}Re.bufferedRequest=Se,Re.bufferProcessing=!1}se.prototype._write=function(Ge,Re,Se){Se(new D("_write()"))},se.prototype._writev=null,se.prototype.end=function(Ge,Re,Se){var ct=this._writableState;return typeof Ge=="function"?(Se=Ge,Ge=null,Re=null):typeof Re=="function"&&(Se=Re,Re=null),Ge!=null&&this.write(Ge,Re),ct.corked&&(ct.corked=1,this.uncork()),ct.ending||he(this,ct,Se),this},Object.defineProperty(se.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function U(Ge){return Ge.ending&&Ge.length===0&&Ge.bufferedRequest===null&&!Ge.finished&&!Ge.writing}function F(Ge,Re){Ge._final(function(Se){Re.pendingcb--,Se&&le(Ge,Se),Re.prefinished=!0,Ge.emit("prefinish"),Ae(Ge,Re)})}function X(Ge,Re){!Re.prefinished&&!Re.finalCalled&&(typeof Ge._final=="function"&&!Re.destroyed?(Re.pendingcb++,Re.finalCalled=!0,e.nextTick(F,Ge,Re)):(Re.prefinished=!0,Ge.emit("prefinish")))}function Ae(Ge,Re){var Se=U(Re);if(Se&&(X(Ge,Re),Re.pendingcb===0&&(Re.finished=!0,Ge.emit("finish"),Re.autoDestroy))){var ct=Ge._readableState;(!ct||ct.autoDestroy&&ct.endEmitted)&&Ge.destroy()}return Se}function he(Ge,Re,Se){Re.ending=!0,Ae(Ge,Re),Se&&(Re.finished?e.nextTick(Se):Ge.once("finish",Se)),Re.ended=!0,Ge.writable=!1}function $e(Ge,Re,Se){var ct=Ge.entry;for(Ge.entry=null;ct;){var ze=ct.callback;Re.pendingcb--,ze(Se),ct=ct.next}Re.corkedRequestsFree.next=Ge}return Object.defineProperty(se.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(Re){this._writableState&&(this._writableState.destroyed=Re)}}),se.prototype.destroy=_.destroy,se.prototype._undestroy=_.undestroy,se.prototype._destroy=function(Ge,Re){Re(Ge)},kne}function Iv(){if(MMe)return Pne;MMe=!0;var e=za,t=Object.keys||function(I){var N=[];for(var T in I)N.push(T);return N};Pne=g;var r=HM(),i=QM();La()(g,r);for(var n=t(i.prototype),o=0;o<n.length;o++){var d=n[o];g.prototype[d]||(g.prototype[d]=i.prototype[d])}function g(I){if(!(this instanceof g))return new g(I);r.call(this,I),i.call(this,I),this.allowHalfOpen=!0,I&&(I.readable===!1&&(this.readable=!1),I.writable===!1&&(this.writable=!1),I.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",y)))}Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(g.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(g.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function y(){this._writableState.ended||e.nextTick(_,this)}function _(I){I.end()}return Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(N){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=N,this._writableState.destroyed=N)}}),Pne}function fO(){if(DMe)return Lne;DMe=!0;var e=dO().codes.ERR_STREAM_PREMATURE_CLOSE;function t(o){var d=!1;return function(){if(!d){d=!0;for(var g=arguments.length,y=new Array(g),_=0;_<g;_++)y[_]=arguments[_];o.apply(this,y)}}}function r(){}function i(o){return o.setHeader&&typeof o.abort=="function"}function n(o,d,g){if(typeof d=="function")return n(o,null,d);d||(d={}),g=t(g||r);var y=d.readable||d.readable!==!1&&o.readable,_=d.writable||d.writable!==!1&&o.writable,I=function(){o.writable||T()},N=o._writableState&&o._writableState.finished,T=function(){_=!1,N=!0,y||g.call(o)},M=o._readableState&&o._readableState.endEmitted,D=function(){y=!1,M=!0,_||g.call(o)},P=function(ne){g.call(o,ne)},G=function(){var ne;if(y&&!M)return(!o._readableState||!o._readableState.ended)&&(ne=new e),g.call(o,ne);if(_&&!N)return(!o._writableState||!o._writableState.ended)&&(ne=new e),g.call(o,ne)},q=function(){o.req.on("finish",T)};return i(o)?(o.on("complete",T),o.on("abort",G),o.req?q():o.on("request",q)):_&&!o._writableState&&(o.on("end",I),o.on("close",I)),o.on("end",D),o.on("finish",T),d.error!==!1&&o.on("error",P),o.on("close",G),function(){o.removeListener("complete",T),o.removeListener("abort",G),o.removeListener("request",q),o.req&&o.req.removeListener("finish",T),o.removeListener("end",I),o.removeListener("close",I),o.removeListener("finish",T),o.removeListener("end",D),o.removeListener("error",P),o.removeListener("close",G)}}return Lne=n,Lne}function ZSt(){if(kMe)return Une;kMe=!0;var e=za,t;function r(Y,ne,ce){return ne in Y?Object.defineProperty(Y,ne,{value:ce,enumerable:!0,configurable:!0,writable:!0}):Y[ne]=ce,Y}var i=fO(),n=Symbol("lastResolve"),o=Symbol("lastReject"),d=Symbol("error"),g=Symbol("ended"),y=Symbol("lastPromise"),_=Symbol("handlePromise"),I=Symbol("stream");function N(Y,ne){return{value:Y,done:ne}}function T(Y){var ne=Y[n];if(ne!==null){var ce=Y[I].read();ce!==null&&(Y[y]=null,Y[n]=null,Y[o]=null,ne(N(ce,!1)))}}function M(Y){e.nextTick(T,Y)}function D(Y,ne){return function(ce,le){Y.then(function(){if(ne[g]){ce(N(void 0,!0));return}ne[_](ce,le)},le)}}var P=Object.getPrototypeOf(function(){}),G=Object.setPrototypeOf((t={get stream(){return this[I]},next:function(){var ne=this,ce=this[d];if(ce!==null)return Promise.reject(ce);if(this[g])return Promise.resolve(N(void 0,!0));if(this[I].destroyed)return new Promise(function(W,se){e.nextTick(function(){ne[d]?se(ne[d]):W(N(void 0,!0))})});var le=this[y],pe;if(le)pe=new Promise(D(le,this));else{var ae=this[I].read();if(ae!==null)return Promise.resolve(N(ae,!1));pe=new Promise(this[_])}return this[y]=pe,pe}},r(t,Symbol.asyncIterator,function(){return this}),r(t,"return",function(){var ne=this;return new Promise(function(ce,le){ne[I].destroy(null,function(pe){if(pe){le(pe);return}ce(N(void 0,!0))})})}),t),P),q=function(ne){var ce,le=Object.create(G,(ce={},r(ce,I,{value:ne,writable:!0}),r(ce,n,{value:null,writable:!0}),r(ce,o,{value:null,writable:!0}),r(ce,d,{value:null,writable:!0}),r(ce,g,{value:ne._readableState.endEmitted,writable:!0}),r(ce,_,{value:function(ae,W){var se=le[I].read();se?(le[y]=null,le[n]=null,le[o]=null,ae(N(se,!1))):(le[n]=ae,le[o]=W)},writable:!0}),ce));return le[y]=null,i(ne,function(pe){if(pe&&pe.code!=="ERR_STREAM_PREMATURE_CLOSE"){var ae=le[o];ae!==null&&(le[y]=null,le[n]=null,le[o]=null,ae(pe)),le[d]=pe;return}var W=le[n];W!==null&&(le[y]=null,le[n]=null,le[o]=null,W(N(void 0,!0))),le[g]=!0}),ne.on("readable",M.bind(null,le)),le};return Une=q,Une}function jSt(){return PMe||(PMe=!0,Fne=function(){throw new Error("Readable.from is not available in the browser")}),Fne}function HM(){if(LMe)return Qne;LMe=!0;var e=za;Qne=O;var t;O.ReadableState=se,xc.EventEmitter;var r=function(Ue,oe){return Ue.listeners(oe).length},i=HMe(),n=Nu.Buffer,o=e6t.Uint8Array||function(){};function d(te){return n.from(te)}function g(te){return n.isBuffer(te)||te instanceof o}var y=yn,_;y&&y.debuglog?_=y.debuglog("stream"):_=function(){};var I=YSt(),N=GMe(),T=qMe(),M=T.getHighWaterMark,D=dO().codes,P=D.ERR_INVALID_ARG_TYPE,G=D.ERR_STREAM_PUSH_AFTER_EOF,q=D.ERR_METHOD_NOT_IMPLEMENTED,Y=D.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ne,ce,le;La()(O,i);var pe=N.errorOrDestroy,ae=["error","close","destroy","pause","resume"];function W(te,Ue,oe){if(typeof te.prependListener=="function")return te.prependListener(Ue,oe);!te._events||!te._events[Ue]?te.on(Ue,oe):Array.isArray(te._events[Ue])?te._events[Ue].unshift(oe):te._events[Ue]=[oe,te._events[Ue]]}function se(te,Ue,oe){t=t||Iv(),te=te||{},typeof oe!="boolean"&&(oe=Ue instanceof t),this.objectMode=!!te.objectMode,oe&&(this.objectMode=this.objectMode||!!te.readableObjectMode),this.highWaterMark=M(this,te,"readableHighWaterMark",oe),this.buffer=new I,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=te.emitClose!==!1,this.autoDestroy=!!te.autoDestroy,this.destroyed=!1,this.defaultEncoding=te.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,te.encoding&&(ne||(ne=yh.StringDecoder),this.decoder=new ne(te.encoding),this.encoding=te.encoding)}function O(te){if(t=t||Iv(),!(this instanceof O))return new O(te);var Ue=this instanceof t;this._readableState=new se(te,this,Ue),this.readable=!0,te&&(typeof te.read=="function"&&(this._read=te.read),typeof te.destroy=="function"&&(this._destroy=te.destroy)),i.call(this)}Object.defineProperty(O.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(Ue){this._readableState&&(this._readableState.destroyed=Ue)}}),O.prototype.destroy=N.destroy,O.prototype._undestroy=N.undestroy,O.prototype._destroy=function(te,Ue){Ue(te)},O.prototype.push=function(te,Ue){var oe=this._readableState,ge;return oe.objectMode?ge=!0:typeof te=="string"&&(Ue=Ue||oe.defaultEncoding,Ue!==oe.encoding&&(te=n.from(te,Ue),Ue=""),ge=!0),s(this,te,Ue,!1,ge)},O.prototype.unshift=function(te){return s(this,te,null,!0,!1)};function s(te,Ue,oe,ge,Le){_("readableAddChunk",Ue);var V=te._readableState;if(Ue===null)V.reading=!1,x(te,V);else{var Qe;if(Le||(Qe=A(V,Ue)),Qe)pe(te,Qe);else if(V.objectMode||Ue&&Ue.length>0)if(typeof Ue!="string"&&!V.objectMode&&Object.getPrototypeOf(Ue)!==n.prototype&&(Ue=d(Ue)),ge)V.endEmitted?pe(te,new Y):l(te,V,Ue,!0);else if(V.ended)pe(te,new G);else{if(V.destroyed)return!1;V.reading=!1,V.decoder&&!oe?(Ue=V.decoder.write(Ue),V.objectMode||Ue.length!==0?l(te,V,Ue,!1):C(te,V)):l(te,V,Ue,!1)}else ge||(V.reading=!1,C(te,V))}return!V.ended&&(V.length<V.highWaterMark||V.length===0)}function l(te,Ue,oe,ge){Ue.flowing&&Ue.length===0&&!Ue.sync?(Ue.awaitDrain=0,te.emit("data",oe)):(Ue.length+=Ue.objectMode?1:oe.length,ge?Ue.buffer.unshift(oe):Ue.buffer.push(oe),Ue.needReadable&&R(te)),C(te,Ue)}function A(te,Ue){var oe;return!g(Ue)&&typeof Ue!="string"&&Ue!==void 0&&!te.objectMode&&(oe=new P("chunk",["string","Buffer","Uint8Array"],Ue)),oe}O.prototype.isPaused=function(){return this._readableState.flowing===!1},O.prototype.setEncoding=function(te){ne||(ne=yh.StringDecoder);var Ue=new ne(te);this._readableState.decoder=Ue,this._readableState.encoding=this._readableState.decoder.encoding;for(var oe=this._readableState.buffer.head,ge="";oe!==null;)ge+=Ue.write(oe.data),oe=oe.next;return this._readableState.buffer.clear(),ge!==""&&this._readableState.buffer.push(ge),this._readableState.length=ge.length,this};var m=1073741824;function E(te){return te>=m?te=m:(te--,te|=te>>>1,te|=te>>>2,te|=te>>>4,te|=te>>>8,te|=te>>>16,te++),te}function w(te,Ue){return te<=0||Ue.length===0&&Ue.ended?0:Ue.objectMode?1:te!==te?Ue.flowing&&Ue.length?Ue.buffer.head.data.length:Ue.length:(te>Ue.highWaterMark&&(Ue.highWaterMark=E(te)),te<=Ue.length?te:Ue.ended?Ue.length:(Ue.needReadable=!0,0))}O.prototype.read=function(te){_("read",te),te=parseInt(te,10);var Ue=this._readableState,oe=te;if(te!==0&&(Ue.emittedReadable=!1),te===0&&Ue.needReadable&&((Ue.highWaterMark!==0?Ue.length>=Ue.highWaterMark:Ue.length>0)||Ue.ended))return _("read: emitReadable",Ue.length,Ue.ended),Ue.length===0&&Ue.ended?Se(this):R(this),null;if(te=w(te,Ue),te===0&&Ue.ended)return Ue.length===0&&Se(this),null;var ge=Ue.needReadable;_("need readable",ge),(Ue.length===0||Ue.length-te<Ue.highWaterMark)&&(ge=!0,_("length less than watermark",ge)),Ue.ended||Ue.reading?(ge=!1,_("reading or ended",ge)):ge&&(_("do read"),Ue.reading=!0,Ue.sync=!0,Ue.length===0&&(Ue.needReadable=!0),this._read(Ue.highWaterMark),Ue.sync=!1,Ue.reading||(te=w(oe,Ue)));var Le;return te>0?Le=Re(te,Ue):Le=null,Le===null?(Ue.needReadable=Ue.length<=Ue.highWaterMark,te=0):(Ue.length-=te,Ue.awaitDrain=0),Ue.length===0&&(Ue.ended||(Ue.needReadable=!0),oe!==te&&Ue.ended&&Se(this)),Le!==null&&this.emit("data",Le),Le};function x(te,Ue){if(_("onEofChunk"),!Ue.ended){if(Ue.decoder){var oe=Ue.decoder.end();oe&&oe.length&&(Ue.buffer.push(oe),Ue.length+=Ue.objectMode?1:oe.length)}Ue.ended=!0,Ue.sync?R(te):(Ue.needReadable=!1,Ue.emittedReadable||(Ue.emittedReadable=!0,u(te)))}}function R(te){var Ue=te._readableState;_("emitReadable",Ue.needReadable,Ue.emittedReadable),Ue.needReadable=!1,Ue.emittedReadable||(_("emitReadable",Ue.flowing),Ue.emittedReadable=!0,e.nextTick(u,te))}function u(te){var Ue=te._readableState;_("emitReadable_",Ue.destroyed,Ue.length,Ue.ended),!Ue.destroyed&&(Ue.length||Ue.ended)&&(te.emit("readable"),Ue.emittedReadable=!1),Ue.needReadable=!Ue.flowing&&!Ue.ended&&Ue.length<=Ue.highWaterMark,Ge(te)}function C(te,Ue){Ue.readingMore||(Ue.readingMore=!0,e.nextTick(U,te,Ue))}function U(te,Ue){for(;!Ue.reading&&!Ue.ended&&(Ue.length<Ue.highWaterMark||Ue.flowing&&Ue.length===0);){var oe=Ue.length;if(_("maybeReadMore read 0"),te.read(0),oe===Ue.length)break}Ue.readingMore=!1}O.prototype._read=function(te){pe(this,new q("_read()"))},O.prototype.pipe=function(te,Ue){var oe=this,ge=this._readableState;switch(ge.pipesCount){case 0:ge.pipes=te;break;case 1:ge.pipes=[ge.pipes,te];break;default:ge.pipes.push(te);break}ge.pipesCount+=1,_("pipe count=%d opts=%j",ge.pipesCount,Ue);var Le=(!Ue||Ue.end!==!1)&&te!==e.stdout&&te!==e.stderr,V=Le?_t:ie;ge.endEmitted?e.nextTick(V):oe.once("end",V),te.on("unpipe",Qe);function Qe(_e,Be){_("onunpipe"),_e===oe&&Be&&Be.hasUnpiped===!1&&(Be.hasUnpiped=!0,Er())}function _t(){_("onend"),te.end()}var rt=F(oe);te.on("drain",rt);var At=!1;function Er(){_("cleanup"),te.removeListener("close",zr),te.removeListener("finish",ve),te.removeListener("drain",rt),te.removeListener("error",Ht),te.removeListener("unpipe",Qe),oe.removeListener("end",_t),oe.removeListener("end",ie),oe.removeListener("data",mt),At=!0,ge.awaitDrain&&(!te._writableState||te._writableState.needDrain)&&rt()}oe.on("data",mt);function mt(_e){_("ondata");var Be=te.write(_e);_("dest.write",Be),Be===!1&&((ge.pipesCount===1&&ge.pipes===te||ge.pipesCount>1&&ze(ge.pipes,te)!==-1)&&!At&&(_("false write response, pause",ge.awaitDrain),ge.awaitDrain++),oe.pause())}function Ht(_e){_("onerror",_e),ie(),te.removeListener("error",Ht),r(te,"error")===0&&pe(te,_e)}W(te,"error",Ht);function zr(){te.removeListener("finish",ve),ie()}te.once("close",zr);function ve(){_("onfinish"),te.removeListener("close",zr),ie()}te.once("finish",ve);function ie(){_("unpipe"),oe.unpipe(te)}return te.emit("pipe",oe),ge.flowing||(_("pipe resume"),oe.resume()),te};function F(te){return function(){var oe=te._readableState;_("pipeOnDrain",oe.awaitDrain),oe.awaitDrain&&oe.awaitDrain--,oe.awaitDrain===0&&r(te,"data")&&(oe.flowing=!0,Ge(te))}}O.prototype.unpipe=function(te){var Ue=this._readableState,oe={hasUnpiped:!1};if(Ue.pipesCount===0)return this;if(Ue.pipesCount===1)return te&&te!==Ue.pipes?this:(te||(te=Ue.pipes),Ue.pipes=null,Ue.pipesCount=0,Ue.flowing=!1,te&&te.emit("unpipe",this,oe),this);if(!te){var ge=Ue.pipes,Le=Ue.pipesCount;Ue.pipes=null,Ue.pipesCount=0,Ue.flowing=!1;for(var V=0;V<Le;V++)ge[V].emit("unpipe",this,{hasUnpiped:!1});return this}var Qe=ze(Ue.pipes,te);return Qe===-1?this:(Ue.pipes.splice(Qe,1),Ue.pipesCount-=1,Ue.pipesCount===1&&(Ue.pipes=Ue.pipes[0]),te.emit("unpipe",this,oe),this)},O.prototype.on=function(te,Ue){var oe=i.prototype.on.call(this,te,Ue),ge=this._readableState;return te==="data"?(ge.readableListening=this.listenerCount("readable")>0,ge.flowing!==!1&&this.resume()):te==="readable"&&!ge.endEmitted&&!ge.readableListening&&(ge.readableListening=ge.needReadable=!0,ge.flowing=!1,ge.emittedReadable=!1,_("on readable",ge.length,ge.reading),ge.length?R(this):ge.reading||e.nextTick(Ae,this)),oe},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(te,Ue){var oe=i.prototype.removeListener.call(this,te,Ue);return te==="readable"&&e.nextTick(X,this),oe},O.prototype.removeAllListeners=function(te){var Ue=i.prototype.removeAllListeners.apply(this,arguments);return(te==="readable"||te===void 0)&&e.nextTick(X,this),Ue};function X(te){var Ue=te._readableState;Ue.readableListening=te.listenerCount("readable")>0,Ue.resumeScheduled&&!Ue.paused?Ue.flowing=!0:te.listenerCount("data")>0&&te.resume()}function Ae(te){_("readable nexttick read 0"),te.read(0)}O.prototype.resume=function(){var te=this._readableState;return te.flowing||(_("resume"),te.flowing=!te.readableListening,he(this,te)),te.paused=!1,this};function he(te,Ue){Ue.resumeScheduled||(Ue.resumeScheduled=!0,e.nextTick($e,te,Ue))}function $e(te,Ue){_("resume",Ue.reading),Ue.reading||te.read(0),Ue.resumeScheduled=!1,te.emit("resume"),Ge(te),Ue.flowing&&!Ue.reading&&te.read(0)}O.prototype.pause=function(){return _("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(_("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Ge(te){var Ue=te._readableState;for(_("flow",Ue.flowing);Ue.flowing&&te.read()!==null;);}O.prototype.wrap=function(te){var Ue=this,oe=this._readableState,ge=!1;te.on("end",function(){if(_("wrapped end"),oe.decoder&&!oe.ended){var Qe=oe.decoder.end();Qe&&Qe.length&&Ue.push(Qe)}Ue.push(null)}),te.on("data",function(Qe){if(_("wrapped data"),oe.decoder&&(Qe=oe.decoder.write(Qe)),!(oe.objectMode&&Qe==null)&&!(!oe.objectMode&&(!Qe||!Qe.length))){var _t=Ue.push(Qe);_t||(ge=!0,te.pause())}});for(var Le in te)this[Le]===void 0&&typeof te[Le]=="function"&&(this[Le]=(function(_t){return function(){return te[_t].apply(te,arguments)}})(Le));for(var V=0;V<ae.length;V++)te.on(ae[V],this.emit.bind(this,ae[V]));return this._read=function(Qe){_("wrapped _read",Qe),ge&&(ge=!1,te.resume())},this},typeof Symbol=="function"&&(O.prototype[Symbol.asyncIterator]=function(){return ce===void 0&&(ce=ZSt()),ce(this)}),Object.defineProperty(O.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(O.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(O.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(Ue){this._readableState&&(this._readableState.flowing=Ue)}}),O._fromList=Re,Object.defineProperty(O.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function Re(te,Ue){if(Ue.length===0)return null;var oe;return Ue.objectMode?oe=Ue.buffer.shift():!te||te>=Ue.length?(Ue.decoder?oe=Ue.buffer.join(""):Ue.buffer.length===1?oe=Ue.buffer.first():oe=Ue.buffer.concat(Ue.length),Ue.buffer.clear()):oe=Ue.buffer.consume(te,Ue.decoder),oe}function Se(te){var Ue=te._readableState;_("endReadable",Ue.endEmitted),Ue.endEmitted||(Ue.ended=!0,e.nextTick(ct,Ue,te))}function ct(te,Ue){if(_("endReadableNT",te.endEmitted,te.length),!te.endEmitted&&te.length===0&&(te.endEmitted=!0,Ue.readable=!1,Ue.emit("end"),te.autoDestroy)){var oe=Ue._writableState;(!oe||oe.autoDestroy&&oe.finished)&&Ue.destroy()}}typeof Symbol=="function"&&(O.from=function(te,Ue){return le===void 0&&(le=jSt()),le(O,te,Ue)});function ze(te,Ue){for(var oe=0,ge=te.length;oe<ge;oe++)if(te[oe]===Ue)return oe;return-1}return Qne}function GM(){if(UMe)return Hne;UMe=!0,Hne=g;var e=dO().codes,t=e.ERR_METHOD_NOT_IMPLEMENTED,r=e.ERR_MULTIPLE_CALLBACK,i=e.ERR_TRANSFORM_ALREADY_TRANSFORMING,n=e.ERR_TRANSFORM_WITH_LENGTH_0,o=Iv();La()(g,o);function d(I,N){var T=this._transformState;T.transforming=!1;var M=T.writecb;if(M===null)return this.emit("error",new r);T.writechunk=null,T.writecb=null,N!=null&&this.push(N),M(I);var D=this._readableState;D.reading=!1,(D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}function g(I){if(!(this instanceof g))return new g(I);o.call(this,I),this._transformState={afterTransform:d.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,I&&(typeof I.transform=="function"&&(this._transform=I.transform),typeof I.flush=="function"&&(this._flush=I.flush)),this.on("prefinish",y)}function y(){var I=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(N,T){_(I,N,T)}):_(this,null,null)}g.prototype.push=function(I,N){return this._transformState.needTransform=!1,o.prototype.push.call(this,I,N)},g.prototype._transform=function(I,N,T){T(new t("_transform()"))},g.prototype._write=function(I,N,T){var M=this._transformState;if(M.writecb=T,M.writechunk=I,M.writeencoding=N,!M.transforming){var D=this._readableState;(M.needTransform||D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}},g.prototype._read=function(I){var N=this._transformState;N.writechunk!==null&&!N.transforming?(N.transforming=!0,this._transform(N.writechunk,N.writeencoding,N.afterTransform)):N.needTransform=!0},g.prototype._destroy=function(I,N){o.prototype._destroy.call(this,I,function(T){N(T)})};function _(I,N,T){if(N)return I.emit("error",N);if(T!=null&&I.push(T),I._writableState.length)throw new n;if(I._transformState.transforming)throw new i;return I.push(null)}return Hne}function mG(){if(FMe)return Gne;FMe=!0,Gne=t;var e=GM();La()(t,e);function t(r){if(!(this instanceof t))return new t(r);e.call(this,r)}return t.prototype._transform=function(r,i,n){n(null,r)},Gne}function yG(){if(QMe)return qne;QMe=!0;var e;function t(T){var M=!1;return function(){M||(M=!0,T.apply(void 0,arguments))}}var r=dO().codes,i=r.ERR_MISSING_ARGS,n=r.ERR_STREAM_DESTROYED;function o(T){if(T)throw T}function d(T){return T.setHeader&&typeof T.abort=="function"}function g(T,M,D,P){P=t(P);var G=!1;T.on("close",function(){G=!0}),e===void 0&&(e=fO()),e(T,{readable:M,writable:D},function(Y){if(Y)return P(Y);G=!0,P()});var q=!1;return function(Y){if(!G&&!q){if(q=!0,d(T))return T.abort();if(typeof T.destroy=="function")return T.destroy();P(Y||new n("pipe"))}}}function y(T){T()}function _(T,M){return T.pipe(M)}function I(T){return!T.length||typeof T[T.length-1]!="function"?o:T.pop()}function N(){for(var T=arguments.length,M=new Array(T),D=0;D<T;D++)M[D]=arguments[D];var P=I(M);if(Array.isArray(M[0])&&(M=M[0]),M.length<2)throw new i("streams");var G,q=M.map(function(Y,ne){var ce=ne<M.length-1,le=ne>0;return g(Y,ce,le,function(pe){G||(G=pe),pe&&q.forEach(y),!ce&&(q.forEach(y),P(G))})});return M.reduce(_)}return qne=N,qne}var FM,vMe,gG,RMe,q8,SMe,Nu,_G,IMe,One,CMe,Nne,wMe,xne,OMe,Tne,NMe,Bne,xMe,Mne,TMe,Dne,kne,BMe,XSt,Pne,MMe,Lne,DMe,Une,kMe,Fne,PMe,Qne,LMe,e6t,Hne,UMe,Gne,FMe,qne,QMe,lO=tn(()=>{"use strict";J();K();z();YS();sO();vv();XS();UM();FM={},vMe=!1;gG={},RMe=!1;q8={},SMe=!1;Nu=$St();Nu.Buffer;Nu.INSPECT_MAX_BYTES;Nu.kMaxLength;_G={},IMe=!1;One={},CMe=!1;Nne={},wMe=!1;xne={},OMe=!1;Tne={},NMe=!1;Bne={},xMe=!1;Mne={},TMe=!1,Dne=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;kne={},BMe=!1,XSt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Pne={},MMe=!1;Lne={},DMe=!1;Une={},kMe=!1;Fne={},PMe=!1;Qne={},LMe=!1,e6t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Hne={},UMe=!1;Gne={},FMe=!1;qne={},QMe=!1});function Vne(){return VMe||(VMe=!0,Ep=Ep=HM(),Ep.Stream=Ep,Ep.Readable=Ep,Ep.Writable=QM(),Ep.Duplex=Iv(),Ep.Transform=GM(),Ep.PassThrough=mG(),Ep.finished=fO(),Ep.pipeline=yG()),Ep}var Ep,VMe,JMe=tn(()=>{"use strict";J();K();z();lO();Ep={},VMe=!1});var Lv={};gh(Lv,{Cipher:()=>vOt,Cipheriv:()=>ROt,Decipher:()=>SOt,Decipheriv:()=>IOt,DiffieHellman:()=>COt,DiffieHellmanGroup:()=>wOt,Hash:()=>OOt,Hmac:()=>NOt,Sign:()=>xOt,Verify:()=>TOt,constants:()=>u0e,createCipher:()=>BOt,createCipheriv:()=>MOt,createCredentials:()=>DOt,createDecipher:()=>kOt,createDecipheriv:()=>POt,createDiffieHellman:()=>LOt,createDiffieHellmanGroup:()=>UOt,createECDH:()=>FOt,createHash:()=>vm,createHmac:()=>QOt,createSign:()=>d0e,createVerify:()=>HOt,default:()=>yi,getCiphers:()=>GOt,getDiffieHellman:()=>qOt,getHashes:()=>VOt,listCiphers:()=>JOt,pbkdf2:()=>zOt,pbkdf2Sync:()=>KOt,privateDecrypt:()=>$Ot,privateEncrypt:()=>YOt,prng:()=>WOt,pseudoRandomBytes:()=>XOt,publicDecrypt:()=>ZOt,publicEncrypt:()=>jOt,randomBytes:()=>f0e,randomFill:()=>eNt,randomFillSync:()=>tNt,rng:()=>rNt,webcrypto:()=>nNt});function Vs(){if(zMe)return qM;zMe=!0;var e=Nu,t=e.Buffer;function r(n,o){for(var d in n)o[d]=n[d]}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?qM=e:(r(e,qM),qM.Buffer=i);function i(n,o,d){return t(n,o,d)}return r(t,i),i.from=function(n,o,d){if(typeof n=="number")throw new TypeError("Argument must not be a number");return t(n,o,d)},i.alloc=function(n,o,d){if(typeof n!="number")throw new TypeError("Argument must be a number");var g=t(n);return o!==void 0?typeof d=="string"?g.fill(o,d):g.fill(o):g.fill(0),g},i.allocUnsafe=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return t(n)},i.allocUnsafeSlow=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return e.SlowBuffer(n)},qM}function TO(){if(KMe)return bG;KMe=!0;var e=za,t=65536,r=4294967295;function i(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var n=Vs().Buffer,o=$Me.crypto||$Me.msCrypto;o&&o.getRandomValues?bG=d:bG=i;function d(g,y){if(g>r)throw new RangeError("requested too many random bytes");var _=n.allocUnsafe(g);if(g>0)if(g>t)for(var I=0;I<g;I+=t)o.getRandomValues(_.slice(I,I+t));else o.getRandomValues(_);return typeof y=="function"?e.nextTick(function(){y(null,_)}):_}return bG}function t6t(){if(YMe)return VM;YMe=!0;var e=Nu,t=e.Buffer;function r(n,o){for(var d in n)o[d]=n[d]}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?VM=e:(r(e,VM),VM.Buffer=i);function i(n,o,d){return t(n,o,d)}return i.prototype=Object.create(t.prototype),r(t,i),i.from=function(n,o,d){if(typeof n=="number")throw new TypeError("Argument must not be a number");return t(n,o,d)},i.alloc=function(n,o,d){if(typeof n!="number")throw new TypeError("Argument must be a number");var g=t(n);return o!==void 0?typeof d=="string"?g.fill(o,d):g.fill(o):g.fill(0),g},i.allocUnsafe=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return t(n)},i.allocUnsafeSlow=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return e.SlowBuffer(n)},VM}function nHe(){if(WMe)return Jne;WMe=!0;var e=t6t().Buffer,t=Vne().Transform,r=La();function i(o,d){if(!e.isBuffer(o)&&typeof o!="string")throw new TypeError(d+" must be a string or a buffer")}function n(o){t.call(this),this._block=e.allocUnsafe(o),this._blockSize=o,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}return r(n,t),n.prototype._transform=function(o,d,g){var y=null;try{this.update(o,d)}catch(_){y=_}g(y)},n.prototype._flush=function(o){var d=null;try{this.push(this.digest())}catch(g){d=g}o(d)},n.prototype.update=function(o,d){if(i(o,"Data"),this._finalized)throw new Error("Digest already called");e.isBuffer(o)||(o=e.from(o,d));for(var g=this._block,y=0;this._blockOffset+o.length-y>=this._blockSize;){for(var _=this._blockOffset;_<this._blockSize;)g[_++]=o[y++];this._update(),this._blockOffset=0}for(;y<o.length;)g[this._blockOffset++]=o[y++];for(var I=0,N=o.length*8;N>0;++I)this._length[I]+=N,N=this._length[I]/4294967296|0,N>0&&(this._length[I]-=4294967296*N);return this},n.prototype._update=function(){throw new Error("_update is not implemented")},n.prototype.digest=function(o){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var d=this._digest();o!==void 0&&(d=d.toString(o)),this._block.fill(0),this._blockOffset=0;for(var g=0;g<4;++g)this._length[g]=0;return d},n.prototype._digest=function(){throw new Error("_digest is not implemented")},Jne=n,Jne}function lue(){if(XMe)return zne;XMe=!0;var e=La(),t=nHe(),r=Vs().Buffer,i=new Array(16);function n(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}e(n,t),n.prototype._update=function(){for(var I=i,N=0;N<16;++N)I[N]=this._block.readInt32LE(N*4);var T=this._a,M=this._b,D=this._c,P=this._d;T=d(T,M,D,P,I[0],3614090360,7),P=d(P,T,M,D,I[1],3905402710,12),D=d(D,P,T,M,I[2],606105819,17),M=d(M,D,P,T,I[3],3250441966,22),T=d(T,M,D,P,I[4],4118548399,7),P=d(P,T,M,D,I[5],1200080426,12),D=d(D,P,T,M,I[6],2821735955,17),M=d(M,D,P,T,I[7],4249261313,22),T=d(T,M,D,P,I[8],1770035416,7),P=d(P,T,M,D,I[9],2336552879,12),D=d(D,P,T,M,I[10],4294925233,17),M=d(M,D,P,T,I[11],2304563134,22),T=d(T,M,D,P,I[12],1804603682,7),P=d(P,T,M,D,I[13],4254626195,12),D=d(D,P,T,M,I[14],2792965006,17),M=d(M,D,P,T,I[15],1236535329,22),T=g(T,M,D,P,I[1],4129170786,5),P=g(P,T,M,D,I[6],3225465664,9),D=g(D,P,T,M,I[11],643717713,14),M=g(M,D,P,T,I[0],3921069994,20),T=g(T,M,D,P,I[5],3593408605,5),P=g(P,T,M,D,I[10],38016083,9),D=g(D,P,T,M,I[15],3634488961,14),M=g(M,D,P,T,I[4],3889429448,20),T=g(T,M,D,P,I[9],568446438,5),P=g(P,T,M,D,I[14],3275163606,9),D=g(D,P,T,M,I[3],4107603335,14),M=g(M,D,P,T,I[8],1163531501,20),T=g(T,M,D,P,I[13],2850285829,5),P=g(P,T,M,D,I[2],4243563512,9),D=g(D,P,T,M,I[7],1735328473,14),M=g(M,D,P,T,I[12],2368359562,20),T=y(T,M,D,P,I[5],4294588738,4),P=y(P,T,M,D,I[8],2272392833,11),D=y(D,P,T,M,I[11],1839030562,16),M=y(M,D,P,T,I[14],4259657740,23),T=y(T,M,D,P,I[1],2763975236,4),P=y(P,T,M,D,I[4],1272893353,11),D=y(D,P,T,M,I[7],4139469664,16),M=y(M,D,P,T,I[10],3200236656,23),T=y(T,M,D,P,I[13],681279174,4),P=y(P,T,M,D,I[0],3936430074,11),D=y(D,P,T,M,I[3],3572445317,16),M=y(M,D,P,T,I[6],76029189,23),T=y(T,M,D,P,I[9],3654602809,4),P=y(P,T,M,D,I[12],3873151461,11),D=y(D,P,T,M,I[15],530742520,16),M=y(M,D,P,T,I[2],3299628645,23),T=_(T,M,D,P,I[0],4096336452,6),P=_(P,T,M,D,I[7],1126891415,10),D=_(D,P,T,M,I[14],2878612391,15),M=_(M,D,P,T,I[5],4237533241,21),T=_(T,M,D,P,I[12],1700485571,6),P=_(P,T,M,D,I[3],2399980690,10),D=_(D,P,T,M,I[10],4293915773,15),M=_(M,D,P,T,I[1],2240044497,21),T=_(T,M,D,P,I[8],1873313359,6),P=_(P,T,M,D,I[15],4264355552,10),D=_(D,P,T,M,I[6],2734768916,15),M=_(M,D,P,T,I[13],1309151649,21),T=_(T,M,D,P,I[4],4149444226,6),P=_(P,T,M,D,I[11],3174756917,10),D=_(D,P,T,M,I[2],718787259,15),M=_(M,D,P,T,I[9],3951481745,21),this._a=this._a+T|0,this._b=this._b+M|0,this._c=this._c+D|0,this._d=this._d+P|0},n.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var I=r.allocUnsafe(16);return I.writeInt32LE(this._a,0),I.writeInt32LE(this._b,4),I.writeInt32LE(this._c,8),I.writeInt32LE(this._d,12),I};function o(I,N){return I<<N|I>>>32-N}function d(I,N,T,M,D,P,G){return o(I+(N&T|~N&M)+D+P|0,G)+N|0}function g(I,N,T,M,D,P,G){return o(I+(N&M|T&~M)+D+P|0,G)+N|0}function y(I,N,T,M,D,P,G){return o(I+(N^T^M)+D+P|0,G)+N|0}function _(I,N,T,M,D,P,G){return o(I+(T^(N|~M))+D+P|0,G)+N|0}return zne=n,zne}function hue(){if(ZMe)return Kne;ZMe=!0;var e=Nu.Buffer,t=La(),r=nHe(),i=new Array(16),n=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],o=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],d=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],y=[0,1518500249,1859775393,2400959708,2840853838],_=[1352829926,1548603684,1836072691,2053994217,0];function I(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}t(I,r),I.prototype._update=function(){for(var q=i,Y=0;Y<16;++Y)q[Y]=this._block.readInt32LE(Y*4);for(var ne=this._a|0,ce=this._b|0,le=this._c|0,pe=this._d|0,ae=this._e|0,W=this._a|0,se=this._b|0,O=this._c|0,s=this._d|0,l=this._e|0,A=0;A<80;A+=1){var m,E;A<16?(m=T(ne,ce,le,pe,ae,q[n[A]],y[0],d[A]),E=G(W,se,O,s,l,q[o[A]],_[0],g[A])):A<32?(m=M(ne,ce,le,pe,ae,q[n[A]],y[1],d[A]),E=P(W,se,O,s,l,q[o[A]],_[1],g[A])):A<48?(m=D(ne,ce,le,pe,ae,q[n[A]],y[2],d[A]),E=D(W,se,O,s,l,q[o[A]],_[2],g[A])):A<64?(m=P(ne,ce,le,pe,ae,q[n[A]],y[3],d[A]),E=M(W,se,O,s,l,q[o[A]],_[3],g[A])):(m=G(ne,ce,le,pe,ae,q[n[A]],y[4],d[A]),E=T(W,se,O,s,l,q[o[A]],_[4],g[A])),ne=ae,ae=pe,pe=N(le,10),le=ce,ce=m,W=l,l=s,s=N(O,10),O=se,se=E}var w=this._b+le+s|0;this._b=this._c+pe+l|0,this._c=this._d+ae+W|0,this._d=this._e+ne+se|0,this._e=this._a+ce+O|0,this._a=w},I.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var q=e.alloc?e.alloc(20):new e(20);return q.writeInt32LE(this._a,0),q.writeInt32LE(this._b,4),q.writeInt32LE(this._c,8),q.writeInt32LE(this._d,12),q.writeInt32LE(this._e,16),q};function N(q,Y){return q<<Y|q>>>32-Y}function T(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y^ne^ce)+pe+ae|0,W)+le|0}function M(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y&ne|~Y&ce)+pe+ae|0,W)+le|0}function D(q,Y,ne,ce,le,pe,ae,W){return N(q+((Y|~ne)^ce)+pe+ae|0,W)+le|0}function P(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y&ce|ne&~ce)+pe+ae|0,W)+le|0}function G(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y^(ne|~ce))+pe+ae|0,W)+le|0}return Kne=I,Kne}function BO(){if(jMe)return $ne;jMe=!0;var e=Vs().Buffer;function t(r,i){(this||p0)._block=e.alloc(r),(this||p0)._finalSize=i,(this||p0)._blockSize=r,(this||p0)._len=0}return t.prototype.update=function(r,i){typeof r=="string"&&(i=i||"utf8",r=e.from(r,i));for(var n=(this||p0)._block,o=(this||p0)._blockSize,d=r.length,g=(this||p0)._len,y=0;y<d;){for(var _=g%o,I=Math.min(d-y,o-_),N=0;N<I;N++)n[_+N]=r[y+N];g+=I,y+=I,g%o===0&&this._update(n)}return(this||p0)._len+=d,this||p0},t.prototype.digest=function(r){var i=(this||p0)._len%(this||p0)._blockSize;(this||p0)._block[i]=128,(this||p0)._block.fill(0,i+1),i>=(this||p0)._finalSize&&(this._update((this||p0)._block),(this||p0)._block.fill(0));var n=(this||p0)._len*8;if(n<=4294967295)(this||p0)._block.writeUInt32BE(n,(this||p0)._blockSize-4);else{var o=(n&4294967295)>>>0,d=(n-o)/4294967296;(this||p0)._block.writeUInt32BE(d,(this||p0)._blockSize-8),(this||p0)._block.writeUInt32BE(o,(this||p0)._blockSize-4)}this._update((this||p0)._block);var g=this._hash();return r?g.toString(r):g},t.prototype._update=function(){throw new Error("_update must be implemented by subclass")},$ne=t,$ne}function r6t(){if(eDe)return Yne;eDe=!0;var e=La(),t=BO(),r=Vs().Buffer,i=[1518500249,1859775393,-1894007588,-899497514],n=new Array(80);function o(){this.init(),(this||Kc)._w=n,t.call(this||Kc,64,56)}e(o,t),o.prototype.init=function(){return(this||Kc)._a=1732584193,(this||Kc)._b=4023233417,(this||Kc)._c=2562383102,(this||Kc)._d=271733878,(this||Kc)._e=3285377520,this||Kc};function d(_){return _<<5|_>>>27}function g(_){return _<<30|_>>>2}function y(_,I,N,T){return _===0?I&N|~I&T:_===2?I&N|I&T|N&T:I^N^T}return o.prototype._update=function(_){for(var I=(this||Kc)._w,N=(this||Kc)._a|0,T=(this||Kc)._b|0,M=(this||Kc)._c|0,D=(this||Kc)._d|0,P=(this||Kc)._e|0,G=0;G<16;++G)I[G]=_.readInt32BE(G*4);for(;G<80;++G)I[G]=I[G-3]^I[G-8]^I[G-14]^I[G-16];for(var q=0;q<80;++q){var Y=~~(q/20),ne=d(N)+y(Y,T,M,D)+P+I[q]+i[Y]|0;P=D,D=M,M=g(T),T=N,N=ne}(this||Kc)._a=N+(this||Kc)._a|0,(this||Kc)._b=T+(this||Kc)._b|0,(this||Kc)._c=M+(this||Kc)._c|0,(this||Kc)._d=D+(this||Kc)._d|0,(this||Kc)._e=P+(this||Kc)._e|0},o.prototype._hash=function(){var _=r.allocUnsafe(20);return _.writeInt32BE((this||Kc)._a|0,0),_.writeInt32BE((this||Kc)._b|0,4),_.writeInt32BE((this||Kc)._c|0,8),_.writeInt32BE((this||Kc)._d|0,12),_.writeInt32BE((this||Kc)._e|0,16),_},Yne=o,Yne}function n6t(){if(tDe)return Wne;tDe=!0;var e=La(),t=BO(),r=Vs().Buffer,i=[1518500249,1859775393,-1894007588,-899497514],n=new Array(80);function o(){this.init(),(this||$c)._w=n,t.call(this||$c,64,56)}e(o,t),o.prototype.init=function(){return(this||$c)._a=1732584193,(this||$c)._b=4023233417,(this||$c)._c=2562383102,(this||$c)._d=271733878,(this||$c)._e=3285377520,this||$c};function d(I){return I<<1|I>>>31}function g(I){return I<<5|I>>>27}function y(I){return I<<30|I>>>2}function _(I,N,T,M){return I===0?N&T|~N&M:I===2?N&T|N&M|T&M:N^T^M}return o.prototype._update=function(I){for(var N=(this||$c)._w,T=(this||$c)._a|0,M=(this||$c)._b|0,D=(this||$c)._c|0,P=(this||$c)._d|0,G=(this||$c)._e|0,q=0;q<16;++q)N[q]=I.readInt32BE(q*4);for(;q<80;++q)N[q]=d(N[q-3]^N[q-8]^N[q-14]^N[q-16]);for(var Y=0;Y<80;++Y){var ne=~~(Y/20),ce=g(T)+_(ne,M,D,P)+G+N[Y]+i[ne]|0;G=P,P=D,D=y(M),M=T,T=ce}(this||$c)._a=T+(this||$c)._a|0,(this||$c)._b=M+(this||$c)._b|0,(this||$c)._c=D+(this||$c)._c|0,(this||$c)._d=P+(this||$c)._d|0,(this||$c)._e=G+(this||$c)._e|0},o.prototype._hash=function(){var I=r.allocUnsafe(20);return I.writeInt32BE((this||$c)._a|0,0),I.writeInt32BE((this||$c)._b|0,4),I.writeInt32BE((this||$c)._c|0,8),I.writeInt32BE((this||$c)._d|0,12),I.writeInt32BE((this||$c)._e|0,16),I},Wne=o,Wne}function iHe(){if(rDe)return Xne;rDe=!0;var e=La(),t=BO(),r=Vs().Buffer,i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=new Array(64);function o(){this.init(),(this||ua)._w=n,t.call(this||ua,64,56)}e(o,t),o.prototype.init=function(){return(this||ua)._a=1779033703,(this||ua)._b=3144134277,(this||ua)._c=1013904242,(this||ua)._d=2773480762,(this||ua)._e=1359893119,(this||ua)._f=2600822924,(this||ua)._g=528734635,(this||ua)._h=1541459225,this||ua};function d(T,M,D){return D^T&(M^D)}function g(T,M,D){return T&M|D&(T|M)}function y(T){return(T>>>2|T<<30)^(T>>>13|T<<19)^(T>>>22|T<<10)}function _(T){return(T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7)}function I(T){return(T>>>7|T<<25)^(T>>>18|T<<14)^T>>>3}function N(T){return(T>>>17|T<<15)^(T>>>19|T<<13)^T>>>10}return o.prototype._update=function(T){for(var M=(this||ua)._w,D=(this||ua)._a|0,P=(this||ua)._b|0,G=(this||ua)._c|0,q=(this||ua)._d|0,Y=(this||ua)._e|0,ne=(this||ua)._f|0,ce=(this||ua)._g|0,le=(this||ua)._h|0,pe=0;pe<16;++pe)M[pe]=T.readInt32BE(pe*4);for(;pe<64;++pe)M[pe]=N(M[pe-2])+M[pe-7]+I(M[pe-15])+M[pe-16]|0;for(var ae=0;ae<64;++ae){var W=le+_(Y)+d(Y,ne,ce)+i[ae]+M[ae]|0,se=y(D)+g(D,P,G)|0;le=ce,ce=ne,ne=Y,Y=q+W|0,q=G,G=P,P=D,D=W+se|0}(this||ua)._a=D+(this||ua)._a|0,(this||ua)._b=P+(this||ua)._b|0,(this||ua)._c=G+(this||ua)._c|0,(this||ua)._d=q+(this||ua)._d|0,(this||ua)._e=Y+(this||ua)._e|0,(this||ua)._f=ne+(this||ua)._f|0,(this||ua)._g=ce+(this||ua)._g|0,(this||ua)._h=le+(this||ua)._h|0},o.prototype._hash=function(){var T=r.allocUnsafe(32);return T.writeInt32BE((this||ua)._a,0),T.writeInt32BE((this||ua)._b,4),T.writeInt32BE((this||ua)._c,8),T.writeInt32BE((this||ua)._d,12),T.writeInt32BE((this||ua)._e,16),T.writeInt32BE((this||ua)._f,20),T.writeInt32BE((this||ua)._g,24),T.writeInt32BE((this||ua)._h,28),T},Xne=o,Xne}function i6t(){if(nDe)return Zne;nDe=!0;var e=La(),t=iHe(),r=BO(),i=Vs().Buffer,n=new Array(64);function o(){this.init(),(this||Xf)._w=n,r.call(this||Xf,64,56)}return e(o,t),o.prototype.init=function(){return(this||Xf)._a=3238371032,(this||Xf)._b=914150663,(this||Xf)._c=812702999,(this||Xf)._d=4144912697,(this||Xf)._e=4290775857,(this||Xf)._f=1750603025,(this||Xf)._g=1694076839,(this||Xf)._h=3204075428,this||Xf},o.prototype._hash=function(){var d=i.allocUnsafe(28);return d.writeInt32BE((this||Xf)._a,0),d.writeInt32BE((this||Xf)._b,4),d.writeInt32BE((this||Xf)._c,8),d.writeInt32BE((this||Xf)._d,12),d.writeInt32BE((this||Xf)._e,16),d.writeInt32BE((this||Xf)._f,20),d.writeInt32BE((this||Xf)._g,24),d},Zne=o,Zne}function oHe(){if(iDe)return jne;iDe=!0;var e=La(),t=BO(),r=Vs().Buffer,i=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],n=new Array(160);function o(){this.init(),(this||ti)._w=n,t.call(this||ti,128,112)}e(o,t),o.prototype.init=function(){return(this||ti)._ah=1779033703,(this||ti)._bh=3144134277,(this||ti)._ch=1013904242,(this||ti)._dh=2773480762,(this||ti)._eh=1359893119,(this||ti)._fh=2600822924,(this||ti)._gh=528734635,(this||ti)._hh=1541459225,(this||ti)._al=4089235720,(this||ti)._bl=2227873595,(this||ti)._cl=4271175723,(this||ti)._dl=1595750129,(this||ti)._el=2917565137,(this||ti)._fl=725511199,(this||ti)._gl=4215389547,(this||ti)._hl=327033209,this||ti};function d(P,G,q){return q^P&(G^q)}function g(P,G,q){return P&G|q&(P|G)}function y(P,G){return(P>>>28|G<<4)^(G>>>2|P<<30)^(G>>>7|P<<25)}function _(P,G){return(P>>>14|G<<18)^(P>>>18|G<<14)^(G>>>9|P<<23)}function I(P,G){return(P>>>1|G<<31)^(P>>>8|G<<24)^P>>>7}function N(P,G){return(P>>>1|G<<31)^(P>>>8|G<<24)^(P>>>7|G<<25)}function T(P,G){return(P>>>19|G<<13)^(G>>>29|P<<3)^P>>>6}function M(P,G){return(P>>>19|G<<13)^(G>>>29|P<<3)^(P>>>6|G<<26)}function D(P,G){return P>>>0<G>>>0?1:0}return o.prototype._update=function(P){for(var G=(this||ti)._w,q=(this||ti)._ah|0,Y=(this||ti)._bh|0,ne=(this||ti)._ch|0,ce=(this||ti)._dh|0,le=(this||ti)._eh|0,pe=(this||ti)._fh|0,ae=(this||ti)._gh|0,W=(this||ti)._hh|0,se=(this||ti)._al|0,O=(this||ti)._bl|0,s=(this||ti)._cl|0,l=(this||ti)._dl|0,A=(this||ti)._el|0,m=(this||ti)._fl|0,E=(this||ti)._gl|0,w=(this||ti)._hl|0,x=0;x<32;x+=2)G[x]=P.readInt32BE(x*4),G[x+1]=P.readInt32BE(x*4+4);for(;x<160;x+=2){var R=G[x-30],u=G[x-30+1],C=I(R,u),U=N(u,R);R=G[x-4],u=G[x-4+1];var F=T(R,u),X=M(u,R),Ae=G[x-14],he=G[x-14+1],$e=G[x-32],Ge=G[x-32+1],Re=U+he|0,Se=C+Ae+D(Re,U)|0;Re=Re+X|0,Se=Se+F+D(Re,X)|0,Re=Re+Ge|0,Se=Se+$e+D(Re,Ge)|0,G[x]=Se,G[x+1]=Re}for(var ct=0;ct<160;ct+=2){Se=G[ct],Re=G[ct+1];var ze=g(q,Y,ne),te=g(se,O,s),Ue=y(q,se),oe=y(se,q),ge=_(le,A),Le=_(A,le),V=i[ct],Qe=i[ct+1],_t=d(le,pe,ae),rt=d(A,m,E),At=w+Le|0,Er=W+ge+D(At,w)|0;At=At+rt|0,Er=Er+_t+D(At,rt)|0,At=At+Qe|0,Er=Er+V+D(At,Qe)|0,At=At+Re|0,Er=Er+Se+D(At,Re)|0;var mt=oe+te|0,Ht=Ue+ze+D(mt,oe)|0;W=ae,w=E,ae=pe,E=m,pe=le,m=A,A=l+At|0,le=ce+Er+D(A,l)|0,ce=ne,l=s,ne=Y,s=O,Y=q,O=se,se=At+mt|0,q=Er+Ht+D(se,At)|0}(this||ti)._al=(this||ti)._al+se|0,(this||ti)._bl=(this||ti)._bl+O|0,(this||ti)._cl=(this||ti)._cl+s|0,(this||ti)._dl=(this||ti)._dl+l|0,(this||ti)._el=(this||ti)._el+A|0,(this||ti)._fl=(this||ti)._fl+m|0,(this||ti)._gl=(this||ti)._gl+E|0,(this||ti)._hl=(this||ti)._hl+w|0,(this||ti)._ah=(this||ti)._ah+q+D((this||ti)._al,se)|0,(this||ti)._bh=(this||ti)._bh+Y+D((this||ti)._bl,O)|0,(this||ti)._ch=(this||ti)._ch+ne+D((this||ti)._cl,s)|0,(this||ti)._dh=(this||ti)._dh+ce+D((this||ti)._dl,l)|0,(this||ti)._eh=(this||ti)._eh+le+D((this||ti)._el,A)|0,(this||ti)._fh=(this||ti)._fh+pe+D((this||ti)._fl,m)|0,(this||ti)._gh=(this||ti)._gh+ae+D((this||ti)._gl,E)|0,(this||ti)._hh=(this||ti)._hh+W+D((this||ti)._hl,w)|0},o.prototype._hash=function(){var P=r.allocUnsafe(64);function G(q,Y,ne){P.writeInt32BE(q,ne),P.writeInt32BE(Y,ne+4)}return G((this||ti)._ah,(this||ti)._al,0),G((this||ti)._bh,(this||ti)._bl,8),G((this||ti)._ch,(this||ti)._cl,16),G((this||ti)._dh,(this||ti)._dl,24),G((this||ti)._eh,(this||ti)._el,32),G((this||ti)._fh,(this||ti)._fl,40),G((this||ti)._gh,(this||ti)._gl,48),G((this||ti)._hh,(this||ti)._hl,56),P},jne=o,jne}function o6t(){if(oDe)return eie;oDe=!0;var e=La(),t=oHe(),r=BO(),i=Vs().Buffer,n=new Array(160);function o(){this.init(),(this||bc)._w=n,r.call(this||bc,128,112)}return e(o,t),o.prototype.init=function(){return(this||bc)._ah=3418070365,(this||bc)._bh=1654270250,(this||bc)._ch=2438529370,(this||bc)._dh=355462360,(this||bc)._eh=1731405415,(this||bc)._fh=2394180231,(this||bc)._gh=3675008525,(this||bc)._hh=1203062813,(this||bc)._al=3238371032,(this||bc)._bl=914150663,(this||bc)._cl=812702999,(this||bc)._dl=4144912697,(this||bc)._el=4290775857,(this||bc)._fl=1750603025,(this||bc)._gl=1694076839,(this||bc)._hl=3204075428,this||bc},o.prototype._hash=function(){var d=i.allocUnsafe(48);function g(y,_,I){d.writeInt32BE(y,I),d.writeInt32BE(_,I+4)}return g((this||bc)._ah,(this||bc)._al,0),g((this||bc)._bh,(this||bc)._bl,8),g((this||bc)._ch,(this||bc)._cl,16),g((this||bc)._dh,(this||bc)._dl,24),g((this||bc)._eh,(this||bc)._el,32),g((this||bc)._fh,(this||bc)._fl,40),d},eie=o,eie}function Aue(){if(aDe)return tie.exports;aDe=!0;var e=tie.exports=function(r){r=r.toLowerCase();var i=e[r];if(!i)throw new Error(r+" is not supported (we accept pull requests)");return new i};return e.sha=r6t(),e.sha1=n6t(),e.sha224=i6t(),e.sha256=iHe(),e.sha384=o6t(),e.sha512=oHe(),tie.exports}function rs(){return sDe||(sDe=!0,typeof Object.create=="function"?EG=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:EG=function(t,r){if(r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t}}),EG}function aHe(){return cDe||(cDe=!0,rie=xc.EventEmitter),rie}function s6t(){if(uDe)return nie;uDe=!0;function e(T,M){var D=Object.keys(T);if(Object.getOwnPropertySymbols){var P=Object.getOwnPropertySymbols(T);M&&(P=P.filter(function(G){return Object.getOwnPropertyDescriptor(T,G).enumerable})),D.push.apply(D,P)}return D}function t(T){for(var M=1;M<arguments.length;M++){var D=arguments[M]!=null?arguments[M]:{};M%2?e(Object(D),!0).forEach(function(P){r(T,P,D[P])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(D)):e(Object(D)).forEach(function(P){Object.defineProperty(T,P,Object.getOwnPropertyDescriptor(D,P))})}return T}function r(T,M,D){return M in T?Object.defineProperty(T,M,{value:D,enumerable:!0,configurable:!0,writable:!0}):T[M]=D,T}function i(T,M){if(!(T instanceof M))throw new TypeError("Cannot call a class as a function")}function n(T,M){for(var D=0;D<M.length;D++){var P=M[D];P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P&&(P.writable=!0),Object.defineProperty(T,P.key,P)}}function o(T,M,D){return M&&n(T.prototype,M),D&&n(T,D),T}var d=Vo,g=d.Buffer,y=yn,_=y.inspect,I=_&&_.custom||"inspect";function N(T,M,D){g.prototype.copy.call(T,M,D)}return nie=(function(){function T(){i(this,T),this.head=null,this.tail=null,this.length=0}return o(T,[{key:"push",value:function(D){var P={data:D,next:null};this.length>0?this.tail.next=P:this.head=P,this.tail=P,++this.length}},{key:"unshift",value:function(D){var P={data:D,next:this.head};this.length===0&&(this.tail=P),this.head=P,++this.length}},{key:"shift",value:function(){if(this.length!==0){var D=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,D}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(D){if(this.length===0)return"";for(var P=this.head,G=""+P.data;P=P.next;)G+=D+P.data;return G}},{key:"concat",value:function(D){if(this.length===0)return g.alloc(0);for(var P=g.allocUnsafe(D>>>0),G=this.head,q=0;G;)N(G.data,P,q),q+=G.data.length,G=G.next;return P}},{key:"consume",value:function(D,P){var G;return D<this.head.data.length?(G=this.head.data.slice(0,D),this.head.data=this.head.data.slice(D)):D===this.head.data.length?G=this.shift():G=P?this._getString(D):this._getBuffer(D),G}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(D){var P=this.head,G=1,q=P.data;for(D-=q.length;P=P.next;){var Y=P.data,ne=D>Y.length?Y.length:D;if(ne===Y.length?q+=Y:q+=Y.slice(0,D),D-=ne,D===0){ne===Y.length?(++G,P.next?this.head=P.next:this.head=this.tail=null):(this.head=P,P.data=Y.slice(ne));break}++G}return this.length-=G,q}},{key:"_getBuffer",value:function(D){var P=g.allocUnsafe(D),G=this.head,q=1;for(G.data.copy(P),D-=G.data.length;G=G.next;){var Y=G.data,ne=D>Y.length?Y.length:D;if(Y.copy(P,P.length-D,0,ne),D-=ne,D===0){ne===Y.length?(++q,G.next?this.head=G.next:this.head=this.tail=null):(this.head=G,G.data=Y.slice(ne));break}++q}return this.length-=q,P}},{key:I,value:function(D,P){return _(this,t({},P,{depth:0,customInspect:!1}))}}]),T})(),nie}function sHe(){if(dDe)return iie;dDe=!0;var e=Mo;function t(g,y){var _=this,I=this._readableState&&this._readableState.destroyed,N=this._writableState&&this._writableState.destroyed;return I||N?(y?y(g):g&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(o,this,g)):e.nextTick(o,this,g)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(g||null,function(T){!y&&T?_._writableState?_._writableState.errorEmitted?e.nextTick(i,_):(_._writableState.errorEmitted=!0,e.nextTick(r,_,T)):e.nextTick(r,_,T):y?(e.nextTick(i,_),y(T)):e.nextTick(i,_)}),this)}function r(g,y){o(g,y),i(g)}function i(g){g._writableState&&!g._writableState.emitClose||g._readableState&&!g._readableState.emitClose||g.emit("close")}function n(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(g,y){g.emit("error",y)}function d(g,y){var _=g._readableState,I=g._writableState;_&&_.autoDestroy||I&&I.autoDestroy?g.destroy(y):g.emit("error",y)}return iie={destroy:t,undestroy:n,errorOrDestroy:d},iie}function MO(){if(fDe)return oie;fDe=!0;let e={};function t(d,g,y){y||(y=Error);function _(N,T,M){return typeof g=="string"?g:g(N,T,M)}class I extends y{constructor(T,M,D){super(_(T,M,D))}}I.prototype.name=y.name,I.prototype.code=d,e[d]=I}function r(d,g){if(Array.isArray(d)){let y=d.length;return d=d.map(_=>String(_)),y>2?`one of ${g} ${d.slice(0,y-1).join(", ")}, or `+d[y-1]:y===2?`one of ${g} ${d[0]} or ${d[1]}`:`of ${g} ${d[0]}`}else return`of ${g} ${String(d)}`}function i(d,g,y){return d.substr(!y||y<0?0:+y,g.length)===g}function n(d,g,y){return(y===void 0||y>d.length)&&(y=d.length),d.substring(y-g.length,y)===g}function o(d,g,y){return typeof y!="number"&&(y=0),y+g.length>d.length?!1:d.indexOf(g,y)!==-1}return t("ERR_INVALID_OPT_VALUE",function(d,g){return'The value "'+g+'" is invalid for option "'+d+'"'},TypeError),t("ERR_INVALID_ARG_TYPE",function(d,g,y){let _;typeof g=="string"&&i(g,"not ")?(_="must not be",g=g.replace(/^not /,"")):_="must be";let I;if(n(d," argument"))I=`The ${d} ${_} ${r(g,"type")}`;else{let N=o(d,".")?"property":"argument";I=`The "${d}" ${N} ${_} ${r(g,"type")}`}return I+=`. Received type ${typeof y}`,I},TypeError),t("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),t("ERR_METHOD_NOT_IMPLEMENTED",function(d){return"The "+d+" method is not implemented"}),t("ERR_STREAM_PREMATURE_CLOSE","Premature close"),t("ERR_STREAM_DESTROYED",function(d){return"Cannot call "+d+" after a stream was destroyed"}),t("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),t("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),t("ERR_STREAM_WRITE_AFTER_END","write after end"),t("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),t("ERR_UNKNOWN_ENCODING",function(d){return"Unknown encoding: "+d},TypeError),t("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),oie.codes=e,oie}function cHe(){if(lDe)return aie;lDe=!0;var e=MO().codes.ERR_INVALID_OPT_VALUE;function t(i,n,o){return i.highWaterMark!=null?i.highWaterMark:n?i[o]:null}function r(i,n,o,d){var g=t(n,d,o);if(g!=null){if(!(isFinite(g)&&Math.floor(g)===g)||g<0){var y=d?o:"highWaterMark";throw new e(y,g)}return Math.floor(g)}return i.objectMode?16:16*1024}return aie={getHighWaterMark:r},aie}function c6t(){if(hDe)return sie;hDe=!0,sie=e;function e(r,i){if(t("noDeprecation"))return r;var n=!1;function o(){if(!n){if(t("throwDeprecation"))throw new Error(i);t("traceDeprecation")?console.trace(i):console.warn(i),n=!0}return r.apply(this||cie,arguments)}return o}function t(r){try{if(!cie.localStorage)return!1}catch{return!1}var i=cie.localStorage[r];return i==null?!1:String(i).toLowerCase()==="true"}return sie}function pue(){if(ADe)return uie;ADe=!0;var e=Mo;uie=se;function t(Ge){var Re=this;this.next=null,this.entry=null,this.finish=function(){$e(Re,Ge)}}var r;se.WritableState=ae;var i={deprecate:c6t()},n=aHe(),o=Vo.Buffer,d=u6t.Uint8Array||function(){};function g(Ge){return o.from(Ge)}function y(Ge){return o.isBuffer(Ge)||Ge instanceof d}var _=sHe(),I=cHe(),N=I.getHighWaterMark,T=MO().codes,M=T.ERR_INVALID_ARG_TYPE,D=T.ERR_METHOD_NOT_IMPLEMENTED,P=T.ERR_MULTIPLE_CALLBACK,G=T.ERR_STREAM_CANNOT_PIPE,q=T.ERR_STREAM_DESTROYED,Y=T.ERR_STREAM_NULL_VALUES,ne=T.ERR_STREAM_WRITE_AFTER_END,ce=T.ERR_UNKNOWN_ENCODING,le=_.errorOrDestroy;rs()(se,n);function pe(){}function ae(Ge,Re,Se){r=r||b4(),Ge=Ge||{},typeof Se!="boolean"&&(Se=Re instanceof r),this.objectMode=!!Ge.objectMode,Se&&(this.objectMode=this.objectMode||!!Ge.writableObjectMode),this.highWaterMark=N(this,Ge,"writableHighWaterMark",Se),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ct=Ge.decodeStrings===!1;this.decodeStrings=!ct,this.defaultEncoding=Ge.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ze){x(Re,ze)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=Ge.emitClose!==!1,this.autoDestroy=!!Ge.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t(this)}ae.prototype.getBuffer=function(){for(var Re=this.bufferedRequest,Se=[];Re;)Se.push(Re),Re=Re.next;return Se},(function(){try{Object.defineProperty(ae.prototype,"buffer",{get:i.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var W;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(W=Function.prototype[Symbol.hasInstance],Object.defineProperty(se,Symbol.hasInstance,{value:function(Re){return W.call(this,Re)?!0:this!==se?!1:Re&&Re._writableState instanceof ae}})):W=function(Re){return Re instanceof this};function se(Ge){r=r||b4();var Re=this instanceof r;if(!Re&&!W.call(se,this))return new se(Ge);this._writableState=new ae(Ge,this,Re),this.writable=!0,Ge&&(typeof Ge.write=="function"&&(this._write=Ge.write),typeof Ge.writev=="function"&&(this._writev=Ge.writev),typeof Ge.destroy=="function"&&(this._destroy=Ge.destroy),typeof Ge.final=="function"&&(this._final=Ge.final)),n.call(this)}se.prototype.pipe=function(){le(this,new G)};function O(Ge,Re){var Se=new ne;le(Ge,Se),e.nextTick(Re,Se)}function s(Ge,Re,Se,ct){var ze;return Se===null?ze=new Y:typeof Se!="string"&&!Re.objectMode&&(ze=new M("chunk",["string","Buffer"],Se)),ze?(le(Ge,ze),e.nextTick(ct,ze),!1):!0}se.prototype.write=function(Ge,Re,Se){var ct=this._writableState,ze=!1,te=!ct.objectMode&&y(Ge);return te&&!o.isBuffer(Ge)&&(Ge=g(Ge)),typeof Re=="function"&&(Se=Re,Re=null),te?Re="buffer":Re||(Re=ct.defaultEncoding),typeof Se!="function"&&(Se=pe),ct.ending?O(this,Se):(te||s(this,ct,Ge,Se))&&(ct.pendingcb++,ze=A(this,ct,te,Ge,Re,Se)),ze},se.prototype.cork=function(){this._writableState.corked++},se.prototype.uncork=function(){var Ge=this._writableState;Ge.corked&&(Ge.corked--,!Ge.writing&&!Ge.corked&&!Ge.bufferProcessing&&Ge.bufferedRequest&&C(this,Ge))},se.prototype.setDefaultEncoding=function(Re){if(typeof Re=="string"&&(Re=Re.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((Re+"").toLowerCase())>-1))throw new ce(Re);return this._writableState.defaultEncoding=Re,this},Object.defineProperty(se.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function l(Ge,Re,Se){return!Ge.objectMode&&Ge.decodeStrings!==!1&&typeof Re=="string"&&(Re=o.from(Re,Se)),Re}Object.defineProperty(se.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function A(Ge,Re,Se,ct,ze,te){if(!Se){var Ue=l(Re,ct,ze);ct!==Ue&&(Se=!0,ze="buffer",ct=Ue)}var oe=Re.objectMode?1:ct.length;Re.length+=oe;var ge=Re.length<Re.highWaterMark;if(ge||(Re.needDrain=!0),Re.writing||Re.corked){var Le=Re.lastBufferedRequest;Re.lastBufferedRequest={chunk:ct,encoding:ze,isBuf:Se,callback:te,next:null},Le?Le.next=Re.lastBufferedRequest:Re.bufferedRequest=Re.lastBufferedRequest,Re.bufferedRequestCount+=1}else m(Ge,Re,!1,oe,ct,ze,te);return ge}function m(Ge,Re,Se,ct,ze,te,Ue){Re.writelen=ct,Re.writecb=Ue,Re.writing=!0,Re.sync=!0,Re.destroyed?Re.onwrite(new q("write")):Se?Ge._writev(ze,Re.onwrite):Ge._write(ze,te,Re.onwrite),Re.sync=!1}function E(Ge,Re,Se,ct,ze){--Re.pendingcb,Se?(e.nextTick(ze,ct),e.nextTick(Ae,Ge,Re),Ge._writableState.errorEmitted=!0,le(Ge,ct)):(ze(ct),Ge._writableState.errorEmitted=!0,le(Ge,ct),Ae(Ge,Re))}function w(Ge){Ge.writing=!1,Ge.writecb=null,Ge.length-=Ge.writelen,Ge.writelen=0}function x(Ge,Re){var Se=Ge._writableState,ct=Se.sync,ze=Se.writecb;if(typeof ze!="function")throw new P;if(w(Se),Re)E(Ge,Se,ct,Re,ze);else{var te=U(Se)||Ge.destroyed;!te&&!Se.corked&&!Se.bufferProcessing&&Se.bufferedRequest&&C(Ge,Se),ct?e.nextTick(R,Ge,Se,te,ze):R(Ge,Se,te,ze)}}function R(Ge,Re,Se,ct){Se||u(Ge,Re),Re.pendingcb--,ct(),Ae(Ge,Re)}function u(Ge,Re){Re.length===0&&Re.needDrain&&(Re.needDrain=!1,Ge.emit("drain"))}function C(Ge,Re){Re.bufferProcessing=!0;var Se=Re.bufferedRequest;if(Ge._writev&&Se&&Se.next){var ct=Re.bufferedRequestCount,ze=new Array(ct),te=Re.corkedRequestsFree;te.entry=Se;for(var Ue=0,oe=!0;Se;)ze[Ue]=Se,Se.isBuf||(oe=!1),Se=Se.next,Ue+=1;ze.allBuffers=oe,m(Ge,Re,!0,Re.length,ze,"",te.finish),Re.pendingcb++,Re.lastBufferedRequest=null,te.next?(Re.corkedRequestsFree=te.next,te.next=null):Re.corkedRequestsFree=new t(Re),Re.bufferedRequestCount=0}else{for(;Se;){var ge=Se.chunk,Le=Se.encoding,V=Se.callback,Qe=Re.objectMode?1:ge.length;if(m(Ge,Re,!1,Qe,ge,Le,V),Se=Se.next,Re.bufferedRequestCount--,Re.writing)break}Se===null&&(Re.lastBufferedRequest=null)}Re.bufferedRequest=Se,Re.bufferProcessing=!1}se.prototype._write=function(Ge,Re,Se){Se(new D("_write()"))},se.prototype._writev=null,se.prototype.end=function(Ge,Re,Se){var ct=this._writableState;return typeof Ge=="function"?(Se=Ge,Ge=null,Re=null):typeof Re=="function"&&(Se=Re,Re=null),Ge!=null&&this.write(Ge,Re),ct.corked&&(ct.corked=1,this.uncork()),ct.ending||he(this,ct,Se),this},Object.defineProperty(se.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function U(Ge){return Ge.ending&&Ge.length===0&&Ge.bufferedRequest===null&&!Ge.finished&&!Ge.writing}function F(Ge,Re){Ge._final(function(Se){Re.pendingcb--,Se&&le(Ge,Se),Re.prefinished=!0,Ge.emit("prefinish"),Ae(Ge,Re)})}function X(Ge,Re){!Re.prefinished&&!Re.finalCalled&&(typeof Ge._final=="function"&&!Re.destroyed?(Re.pendingcb++,Re.finalCalled=!0,e.nextTick(F,Ge,Re)):(Re.prefinished=!0,Ge.emit("prefinish")))}function Ae(Ge,Re){var Se=U(Re);if(Se&&(X(Ge,Re),Re.pendingcb===0&&(Re.finished=!0,Ge.emit("finish"),Re.autoDestroy))){var ct=Ge._readableState;(!ct||ct.autoDestroy&&ct.endEmitted)&&Ge.destroy()}return Se}function he(Ge,Re,Se){Re.ending=!0,Ae(Ge,Re),Se&&(Re.finished?e.nextTick(Se):Ge.once("finish",Se)),Re.ended=!0,Ge.writable=!1}function $e(Ge,Re,Se){var ct=Ge.entry;for(Ge.entry=null;ct;){var ze=ct.callback;Re.pendingcb--,ze(Se),ct=ct.next}Re.corkedRequestsFree.next=Ge}return Object.defineProperty(se.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(Re){this._writableState&&(this._writableState.destroyed=Re)}}),se.prototype.destroy=_.destroy,se.prototype._undestroy=_.undestroy,se.prototype._destroy=function(Ge,Re){Re(Ge)},uie}function b4(){if(pDe)return die;pDe=!0;var e=Mo,t=Object.keys||function(I){var N=[];for(var T in I)N.push(T);return N};die=g;var r=gue(),i=pue();rs()(g,r);for(var n=t(i.prototype),o=0;o<n.length;o++){var d=n[o];g.prototype[d]||(g.prototype[d]=i.prototype[d])}function g(I){if(!(this instanceof g))return new g(I);r.call(this,I),i.call(this,I),this.allowHalfOpen=!0,I&&(I.readable===!1&&(this.readable=!1),I.writable===!1&&(this.writable=!1),I.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",y)))}Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(g.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(g.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function y(){this._writableState.ended||e.nextTick(_,this)}function _(I){I.end()}return Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(N){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=N,this._writableState.destroyed=N)}}),die}function zq(){if(gDe)return fie;gDe=!0;var e=MO().codes.ERR_STREAM_PREMATURE_CLOSE;function t(o){var d=!1;return function(){if(!d){d=!0;for(var g=arguments.length,y=new Array(g),_=0;_<g;_++)y[_]=arguments[_];o.apply(this,y)}}}function r(){}function i(o){return o.setHeader&&typeof o.abort=="function"}function n(o,d,g){if(typeof d=="function")return n(o,null,d);d||(d={}),g=t(g||r);var y=d.readable||d.readable!==!1&&o.readable,_=d.writable||d.writable!==!1&&o.writable,I=function(){o.writable||T()},N=o._writableState&&o._writableState.finished,T=function(){_=!1,N=!0,y||g.call(o)},M=o._readableState&&o._readableState.endEmitted,D=function(){y=!1,M=!0,_||g.call(o)},P=function(ne){g.call(o,ne)},G=function(){var ne;if(y&&!M)return(!o._readableState||!o._readableState.ended)&&(ne=new e),g.call(o,ne);if(_&&!N)return(!o._writableState||!o._writableState.ended)&&(ne=new e),g.call(o,ne)},q=function(){o.req.on("finish",T)};return i(o)?(o.on("complete",T),o.on("abort",G),o.req?q():o.on("request",q)):_&&!o._writableState&&(o.on("end",I),o.on("close",I)),o.on("end",D),o.on("finish",T),d.error!==!1&&o.on("error",P),o.on("close",G),function(){o.removeListener("complete",T),o.removeListener("abort",G),o.removeListener("request",q),o.req&&o.req.removeListener("finish",T),o.removeListener("end",I),o.removeListener("close",I),o.removeListener("finish",T),o.removeListener("end",D),o.removeListener("error",P),o.removeListener("close",G)}}return fie=n,fie}function d6t(){if(_De)return lie;_De=!0;var e=Mo,t;function r(Y,ne,ce){return ne in Y?Object.defineProperty(Y,ne,{value:ce,enumerable:!0,configurable:!0,writable:!0}):Y[ne]=ce,Y}var i=zq(),n=Symbol("lastResolve"),o=Symbol("lastReject"),d=Symbol("error"),g=Symbol("ended"),y=Symbol("lastPromise"),_=Symbol("handlePromise"),I=Symbol("stream");function N(Y,ne){return{value:Y,done:ne}}function T(Y){var ne=Y[n];if(ne!==null){var ce=Y[I].read();ce!==null&&(Y[y]=null,Y[n]=null,Y[o]=null,ne(N(ce,!1)))}}function M(Y){e.nextTick(T,Y)}function D(Y,ne){return function(ce,le){Y.then(function(){if(ne[g]){ce(N(void 0,!0));return}ne[_](ce,le)},le)}}var P=Object.getPrototypeOf(function(){}),G=Object.setPrototypeOf((t={get stream(){return this[I]},next:function(){var ne=this,ce=this[d];if(ce!==null)return Promise.reject(ce);if(this[g])return Promise.resolve(N(void 0,!0));if(this[I].destroyed)return new Promise(function(W,se){e.nextTick(function(){ne[d]?se(ne[d]):W(N(void 0,!0))})});var le=this[y],pe;if(le)pe=new Promise(D(le,this));else{var ae=this[I].read();if(ae!==null)return Promise.resolve(N(ae,!1));pe=new Promise(this[_])}return this[y]=pe,pe}},r(t,Symbol.asyncIterator,function(){return this}),r(t,"return",function(){var ne=this;return new Promise(function(ce,le){ne[I].destroy(null,function(pe){if(pe){le(pe);return}ce(N(void 0,!0))})})}),t),P),q=function(ne){var ce,le=Object.create(G,(ce={},r(ce,I,{value:ne,writable:!0}),r(ce,n,{value:null,writable:!0}),r(ce,o,{value:null,writable:!0}),r(ce,d,{value:null,writable:!0}),r(ce,g,{value:ne._readableState.endEmitted,writable:!0}),r(ce,_,{value:function(ae,W){var se=le[I].read();se?(le[y]=null,le[n]=null,le[o]=null,ae(N(se,!1))):(le[n]=ae,le[o]=W)},writable:!0}),ce));return le[y]=null,i(ne,function(pe){if(pe&&pe.code!=="ERR_STREAM_PREMATURE_CLOSE"){var ae=le[o];ae!==null&&(le[y]=null,le[n]=null,le[o]=null,ae(pe)),le[d]=pe;return}var W=le[n];W!==null&&(le[y]=null,le[n]=null,le[o]=null,W(N(void 0,!0))),le[g]=!0}),ne.on("readable",M.bind(null,le)),le};return lie=q,lie}function f6t(){return mDe||(mDe=!0,hie=function(){throw new Error("Readable.from is not available in the browser")}),hie}function gue(){if(yDe)return Aie;yDe=!0;var e=Mo;Aie=O;var t;O.ReadableState=se,xc.EventEmitter;var r=function(Ue,oe){return Ue.listeners(oe).length},i=aHe(),n=Vo.Buffer,o=l6t.Uint8Array||function(){};function d(te){return n.from(te)}function g(te){return n.isBuffer(te)||te instanceof o}var y=yn,_;y&&y.debuglog?_=y.debuglog("stream"):_=function(){};var I=s6t(),N=sHe(),T=cHe(),M=T.getHighWaterMark,D=MO().codes,P=D.ERR_INVALID_ARG_TYPE,G=D.ERR_STREAM_PUSH_AFTER_EOF,q=D.ERR_METHOD_NOT_IMPLEMENTED,Y=D.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ne,ce,le;rs()(O,i);var pe=N.errorOrDestroy,ae=["error","close","destroy","pause","resume"];function W(te,Ue,oe){if(typeof te.prependListener=="function")return te.prependListener(Ue,oe);!te._events||!te._events[Ue]?te.on(Ue,oe):Array.isArray(te._events[Ue])?te._events[Ue].unshift(oe):te._events[Ue]=[oe,te._events[Ue]]}function se(te,Ue,oe){t=t||b4(),te=te||{},typeof oe!="boolean"&&(oe=Ue instanceof t),this.objectMode=!!te.objectMode,oe&&(this.objectMode=this.objectMode||!!te.readableObjectMode),this.highWaterMark=M(this,te,"readableHighWaterMark",oe),this.buffer=new I,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=te.emitClose!==!1,this.autoDestroy=!!te.autoDestroy,this.destroyed=!1,this.defaultEncoding=te.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,te.encoding&&(ne||(ne=yh.StringDecoder),this.decoder=new ne(te.encoding),this.encoding=te.encoding)}function O(te){if(t=t||b4(),!(this instanceof O))return new O(te);var Ue=this instanceof t;this._readableState=new se(te,this,Ue),this.readable=!0,te&&(typeof te.read=="function"&&(this._read=te.read),typeof te.destroy=="function"&&(this._destroy=te.destroy)),i.call(this)}Object.defineProperty(O.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(Ue){this._readableState&&(this._readableState.destroyed=Ue)}}),O.prototype.destroy=N.destroy,O.prototype._undestroy=N.undestroy,O.prototype._destroy=function(te,Ue){Ue(te)},O.prototype.push=function(te,Ue){var oe=this._readableState,ge;return oe.objectMode?ge=!0:typeof te=="string"&&(Ue=Ue||oe.defaultEncoding,Ue!==oe.encoding&&(te=n.from(te,Ue),Ue=""),ge=!0),s(this,te,Ue,!1,ge)},O.prototype.unshift=function(te){return s(this,te,null,!0,!1)};function s(te,Ue,oe,ge,Le){_("readableAddChunk",Ue);var V=te._readableState;if(Ue===null)V.reading=!1,x(te,V);else{var Qe;if(Le||(Qe=A(V,Ue)),Qe)pe(te,Qe);else if(V.objectMode||Ue&&Ue.length>0)if(typeof Ue!="string"&&!V.objectMode&&Object.getPrototypeOf(Ue)!==n.prototype&&(Ue=d(Ue)),ge)V.endEmitted?pe(te,new Y):l(te,V,Ue,!0);else if(V.ended)pe(te,new G);else{if(V.destroyed)return!1;V.reading=!1,V.decoder&&!oe?(Ue=V.decoder.write(Ue),V.objectMode||Ue.length!==0?l(te,V,Ue,!1):C(te,V)):l(te,V,Ue,!1)}else ge||(V.reading=!1,C(te,V))}return!V.ended&&(V.length<V.highWaterMark||V.length===0)}function l(te,Ue,oe,ge){Ue.flowing&&Ue.length===0&&!Ue.sync?(Ue.awaitDrain=0,te.emit("data",oe)):(Ue.length+=Ue.objectMode?1:oe.length,ge?Ue.buffer.unshift(oe):Ue.buffer.push(oe),Ue.needReadable&&R(te)),C(te,Ue)}function A(te,Ue){var oe;return!g(Ue)&&typeof Ue!="string"&&Ue!==void 0&&!te.objectMode&&(oe=new P("chunk",["string","Buffer","Uint8Array"],Ue)),oe}O.prototype.isPaused=function(){return this._readableState.flowing===!1},O.prototype.setEncoding=function(te){ne||(ne=yh.StringDecoder);var Ue=new ne(te);this._readableState.decoder=Ue,this._readableState.encoding=this._readableState.decoder.encoding;for(var oe=this._readableState.buffer.head,ge="";oe!==null;)ge+=Ue.write(oe.data),oe=oe.next;return this._readableState.buffer.clear(),ge!==""&&this._readableState.buffer.push(ge),this._readableState.length=ge.length,this};var m=1073741824;function E(te){return te>=m?te=m:(te--,te|=te>>>1,te|=te>>>2,te|=te>>>4,te|=te>>>8,te|=te>>>16,te++),te}function w(te,Ue){return te<=0||Ue.length===0&&Ue.ended?0:Ue.objectMode?1:te!==te?Ue.flowing&&Ue.length?Ue.buffer.head.data.length:Ue.length:(te>Ue.highWaterMark&&(Ue.highWaterMark=E(te)),te<=Ue.length?te:Ue.ended?Ue.length:(Ue.needReadable=!0,0))}O.prototype.read=function(te){_("read",te),te=parseInt(te,10);var Ue=this._readableState,oe=te;if(te!==0&&(Ue.emittedReadable=!1),te===0&&Ue.needReadable&&((Ue.highWaterMark!==0?Ue.length>=Ue.highWaterMark:Ue.length>0)||Ue.ended))return _("read: emitReadable",Ue.length,Ue.ended),Ue.length===0&&Ue.ended?Se(this):R(this),null;if(te=w(te,Ue),te===0&&Ue.ended)return Ue.length===0&&Se(this),null;var ge=Ue.needReadable;_("need readable",ge),(Ue.length===0||Ue.length-te<Ue.highWaterMark)&&(ge=!0,_("length less than watermark",ge)),Ue.ended||Ue.reading?(ge=!1,_("reading or ended",ge)):ge&&(_("do read"),Ue.reading=!0,Ue.sync=!0,Ue.length===0&&(Ue.needReadable=!0),this._read(Ue.highWaterMark),Ue.sync=!1,Ue.reading||(te=w(oe,Ue)));var Le;return te>0?Le=Re(te,Ue):Le=null,Le===null?(Ue.needReadable=Ue.length<=Ue.highWaterMark,te=0):(Ue.length-=te,Ue.awaitDrain=0),Ue.length===0&&(Ue.ended||(Ue.needReadable=!0),oe!==te&&Ue.ended&&Se(this)),Le!==null&&this.emit("data",Le),Le};function x(te,Ue){if(_("onEofChunk"),!Ue.ended){if(Ue.decoder){var oe=Ue.decoder.end();oe&&oe.length&&(Ue.buffer.push(oe),Ue.length+=Ue.objectMode?1:oe.length)}Ue.ended=!0,Ue.sync?R(te):(Ue.needReadable=!1,Ue.emittedReadable||(Ue.emittedReadable=!0,u(te)))}}function R(te){var Ue=te._readableState;_("emitReadable",Ue.needReadable,Ue.emittedReadable),Ue.needReadable=!1,Ue.emittedReadable||(_("emitReadable",Ue.flowing),Ue.emittedReadable=!0,e.nextTick(u,te))}function u(te){var Ue=te._readableState;_("emitReadable_",Ue.destroyed,Ue.length,Ue.ended),!Ue.destroyed&&(Ue.length||Ue.ended)&&(te.emit("readable"),Ue.emittedReadable=!1),Ue.needReadable=!Ue.flowing&&!Ue.ended&&Ue.length<=Ue.highWaterMark,Ge(te)}function C(te,Ue){Ue.readingMore||(Ue.readingMore=!0,e.nextTick(U,te,Ue))}function U(te,Ue){for(;!Ue.reading&&!Ue.ended&&(Ue.length<Ue.highWaterMark||Ue.flowing&&Ue.length===0);){var oe=Ue.length;if(_("maybeReadMore read 0"),te.read(0),oe===Ue.length)break}Ue.readingMore=!1}O.prototype._read=function(te){pe(this,new q("_read()"))},O.prototype.pipe=function(te,Ue){var oe=this,ge=this._readableState;switch(ge.pipesCount){case 0:ge.pipes=te;break;case 1:ge.pipes=[ge.pipes,te];break;default:ge.pipes.push(te);break}ge.pipesCount+=1,_("pipe count=%d opts=%j",ge.pipesCount,Ue);var Le=(!Ue||Ue.end!==!1)&&te!==e.stdout&&te!==e.stderr,V=Le?_t:ie;ge.endEmitted?e.nextTick(V):oe.once("end",V),te.on("unpipe",Qe);function Qe(_e,Be){_("onunpipe"),_e===oe&&Be&&Be.hasUnpiped===!1&&(Be.hasUnpiped=!0,Er())}function _t(){_("onend"),te.end()}var rt=F(oe);te.on("drain",rt);var At=!1;function Er(){_("cleanup"),te.removeListener("close",zr),te.removeListener("finish",ve),te.removeListener("drain",rt),te.removeListener("error",Ht),te.removeListener("unpipe",Qe),oe.removeListener("end",_t),oe.removeListener("end",ie),oe.removeListener("data",mt),At=!0,ge.awaitDrain&&(!te._writableState||te._writableState.needDrain)&&rt()}oe.on("data",mt);function mt(_e){_("ondata");var Be=te.write(_e);_("dest.write",Be),Be===!1&&((ge.pipesCount===1&&ge.pipes===te||ge.pipesCount>1&&ze(ge.pipes,te)!==-1)&&!At&&(_("false write response, pause",ge.awaitDrain),ge.awaitDrain++),oe.pause())}function Ht(_e){_("onerror",_e),ie(),te.removeListener("error",Ht),r(te,"error")===0&&pe(te,_e)}W(te,"error",Ht);function zr(){te.removeListener("finish",ve),ie()}te.once("close",zr);function ve(){_("onfinish"),te.removeListener("close",zr),ie()}te.once("finish",ve);function ie(){_("unpipe"),oe.unpipe(te)}return te.emit("pipe",oe),ge.flowing||(_("pipe resume"),oe.resume()),te};function F(te){return function(){var oe=te._readableState;_("pipeOnDrain",oe.awaitDrain),oe.awaitDrain&&oe.awaitDrain--,oe.awaitDrain===0&&r(te,"data")&&(oe.flowing=!0,Ge(te))}}O.prototype.unpipe=function(te){var Ue=this._readableState,oe={hasUnpiped:!1};if(Ue.pipesCount===0)return this;if(Ue.pipesCount===1)return te&&te!==Ue.pipes?this:(te||(te=Ue.pipes),Ue.pipes=null,Ue.pipesCount=0,Ue.flowing=!1,te&&te.emit("unpipe",this,oe),this);if(!te){var ge=Ue.pipes,Le=Ue.pipesCount;Ue.pipes=null,Ue.pipesCount=0,Ue.flowing=!1;for(var V=0;V<Le;V++)ge[V].emit("unpipe",this,{hasUnpiped:!1});return this}var Qe=ze(Ue.pipes,te);return Qe===-1?this:(Ue.pipes.splice(Qe,1),Ue.pipesCount-=1,Ue.pipesCount===1&&(Ue.pipes=Ue.pipes[0]),te.emit("unpipe",this,oe),this)},O.prototype.on=function(te,Ue){var oe=i.prototype.on.call(this,te,Ue),ge=this._readableState;return te==="data"?(ge.readableListening=this.listenerCount("readable")>0,ge.flowing!==!1&&this.resume()):te==="readable"&&!ge.endEmitted&&!ge.readableListening&&(ge.readableListening=ge.needReadable=!0,ge.flowing=!1,ge.emittedReadable=!1,_("on readable",ge.length,ge.reading),ge.length?R(this):ge.reading||e.nextTick(Ae,this)),oe},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(te,Ue){var oe=i.prototype.removeListener.call(this,te,Ue);return te==="readable"&&e.nextTick(X,this),oe},O.prototype.removeAllListeners=function(te){var Ue=i.prototype.removeAllListeners.apply(this,arguments);return(te==="readable"||te===void 0)&&e.nextTick(X,this),Ue};function X(te){var Ue=te._readableState;Ue.readableListening=te.listenerCount("readable")>0,Ue.resumeScheduled&&!Ue.paused?Ue.flowing=!0:te.listenerCount("data")>0&&te.resume()}function Ae(te){_("readable nexttick read 0"),te.read(0)}O.prototype.resume=function(){var te=this._readableState;return te.flowing||(_("resume"),te.flowing=!te.readableListening,he(this,te)),te.paused=!1,this};function he(te,Ue){Ue.resumeScheduled||(Ue.resumeScheduled=!0,e.nextTick($e,te,Ue))}function $e(te,Ue){_("resume",Ue.reading),Ue.reading||te.read(0),Ue.resumeScheduled=!1,te.emit("resume"),Ge(te),Ue.flowing&&!Ue.reading&&te.read(0)}O.prototype.pause=function(){return _("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(_("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Ge(te){var Ue=te._readableState;for(_("flow",Ue.flowing);Ue.flowing&&te.read()!==null;);}O.prototype.wrap=function(te){var Ue=this,oe=this._readableState,ge=!1;te.on("end",function(){if(_("wrapped end"),oe.decoder&&!oe.ended){var Qe=oe.decoder.end();Qe&&Qe.length&&Ue.push(Qe)}Ue.push(null)}),te.on("data",function(Qe){if(_("wrapped data"),oe.decoder&&(Qe=oe.decoder.write(Qe)),!(oe.objectMode&&Qe==null)&&!(!oe.objectMode&&(!Qe||!Qe.length))){var _t=Ue.push(Qe);_t||(ge=!0,te.pause())}});for(var Le in te)this[Le]===void 0&&typeof te[Le]=="function"&&(this[Le]=(function(_t){return function(){return te[_t].apply(te,arguments)}})(Le));for(var V=0;V<ae.length;V++)te.on(ae[V],this.emit.bind(this,ae[V]));return this._read=function(Qe){_("wrapped _read",Qe),ge&&(ge=!1,te.resume())},this},typeof Symbol=="function"&&(O.prototype[Symbol.asyncIterator]=function(){return ce===void 0&&(ce=d6t()),ce(this)}),Object.defineProperty(O.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(O.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(O.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(Ue){this._readableState&&(this._readableState.flowing=Ue)}}),O._fromList=Re,Object.defineProperty(O.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function Re(te,Ue){if(Ue.length===0)return null;var oe;return Ue.objectMode?oe=Ue.buffer.shift():!te||te>=Ue.length?(Ue.decoder?oe=Ue.buffer.join(""):Ue.buffer.length===1?oe=Ue.buffer.first():oe=Ue.buffer.concat(Ue.length),Ue.buffer.clear()):oe=Ue.buffer.consume(te,Ue.decoder),oe}function Se(te){var Ue=te._readableState;_("endReadable",Ue.endEmitted),Ue.endEmitted||(Ue.ended=!0,e.nextTick(ct,Ue,te))}function ct(te,Ue){if(_("endReadableNT",te.endEmitted,te.length),!te.endEmitted&&te.length===0&&(te.endEmitted=!0,Ue.readable=!1,Ue.emit("end"),te.autoDestroy)){var oe=Ue._writableState;(!oe||oe.autoDestroy&&oe.finished)&&Ue.destroy()}}typeof Symbol=="function"&&(O.from=function(te,Ue){return le===void 0&&(le=f6t()),le(O,te,Ue)});function ze(te,Ue){for(var oe=0,ge=te.length;oe<ge;oe++)if(te[oe]===Ue)return oe;return-1}return Aie}function _ue(){if(bDe)return pie;bDe=!0,pie=g;var e=MO().codes,t=e.ERR_METHOD_NOT_IMPLEMENTED,r=e.ERR_MULTIPLE_CALLBACK,i=e.ERR_TRANSFORM_ALREADY_TRANSFORMING,n=e.ERR_TRANSFORM_WITH_LENGTH_0,o=b4();rs()(g,o);function d(I,N){var T=this._transformState;T.transforming=!1;var M=T.writecb;if(M===null)return this.emit("error",new r);T.writechunk=null,T.writecb=null,N!=null&&this.push(N),M(I);var D=this._readableState;D.reading=!1,(D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}function g(I){if(!(this instanceof g))return new g(I);o.call(this,I),this._transformState={afterTransform:d.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,I&&(typeof I.transform=="function"&&(this._transform=I.transform),typeof I.flush=="function"&&(this._flush=I.flush)),this.on("prefinish",y)}function y(){var I=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(N,T){_(I,N,T)}):_(this,null,null)}g.prototype.push=function(I,N){return this._transformState.needTransform=!1,o.prototype.push.call(this,I,N)},g.prototype._transform=function(I,N,T){T(new t("_transform()"))},g.prototype._write=function(I,N,T){var M=this._transformState;if(M.writecb=T,M.writechunk=I,M.writeencoding=N,!M.transforming){var D=this._readableState;(M.needTransform||D.needReadable||D.length<D.highWaterMark)&&this._read(D.highWaterMark)}},g.prototype._read=function(I){var N=this._transformState;N.writechunk!==null&&!N.transforming?(N.transforming=!0,this._transform(N.writechunk,N.writeencoding,N.afterTransform)):N.needTransform=!0},g.prototype._destroy=function(I,N){o.prototype._destroy.call(this,I,function(T){N(T)})};function _(I,N,T){if(N)return I.emit("error",N);if(T!=null&&I.push(T),I._writableState.length)throw new n;if(I._transformState.transforming)throw new i;return I.push(null)}return pie}function uHe(){if(EDe)return gie;EDe=!0,gie=t;var e=_ue();rs()(t,e);function t(r){if(!(this instanceof t))return new t(r);e.call(this,r)}return t.prototype._transform=function(r,i,n){n(null,r)},gie}function dHe(){if(vDe)return _ie;vDe=!0;var e;function t(T){var M=!1;return function(){M||(M=!0,T.apply(void 0,arguments))}}var r=MO().codes,i=r.ERR_MISSING_ARGS,n=r.ERR_STREAM_DESTROYED;function o(T){if(T)throw T}function d(T){return T.setHeader&&typeof T.abort=="function"}function g(T,M,D,P){P=t(P);var G=!1;T.on("close",function(){G=!0}),e===void 0&&(e=zq()),e(T,{readable:M,writable:D},function(Y){if(Y)return P(Y);G=!0,P()});var q=!1;return function(Y){if(!G&&!q){if(q=!0,d(T))return T.abort();if(typeof T.destroy=="function")return T.destroy();P(Y||new n("pipe"))}}}function y(T){T()}function _(T,M){return T.pipe(M)}function I(T){return!T.length||typeof T[T.length-1]!="function"?o:T.pop()}function N(){for(var T=arguments.length,M=new Array(T),D=0;D<T;D++)M[D]=arguments[D];var P=I(M);if(Array.isArray(M[0])&&(M=M[0]),M.length<2)throw new i("streams");var G,q=M.map(function(Y,ne){var ce=ne<M.length-1,le=ne>0;return g(Y,ce,le,function(pe){G||(G=pe),pe&&q.forEach(y),!ce&&(q.forEach(y),P(G))})});return M.reduce(_)}return _ie=N,_ie}function h6t(){if(RDe)return mie;RDe=!0,mie=r;var e=xc.EventEmitter,t=rs();t(r,e),r.Readable=gue(),r.Writable=pue(),r.Duplex=b4(),r.Transform=_ue(),r.PassThrough=uHe(),r.finished=zq(),r.pipeline=dHe(),r.Stream=r;function r(){e.call(this||yie)}return r.prototype.pipe=function(i,n){var o=this||yie;function d(M){i.writable&&i.write(M)===!1&&o.pause&&o.pause()}o.on("data",d);function g(){o.readable&&o.resume&&o.resume()}i.on("drain",g),!i._isStdio&&(!n||n.end!==!1)&&(o.on("end",_),o.on("close",I));var y=!1;function _(){y||(y=!0,i.end())}function I(){y||(y=!0,typeof i.destroy=="function"&&i.destroy())}function N(M){if(T(),e.listenerCount(this||yie,"error")===0)throw M}o.on("error",N),i.on("error",N);function T(){o.removeListener("data",d),i.removeListener("drain",g),o.removeListener("end",_),o.removeListener("close",I),o.removeListener("error",N),i.removeListener("error",N),o.removeListener("end",T),o.removeListener("close",T),i.removeListener("close",T)}return o.on("end",T),o.on("close",T),i.on("close",T),i.emit("pipe",o),i},mie}function R6(){if(SDe)return bie;SDe=!0;var e=Vs().Buffer,t=_m.Transform,r=yh.StringDecoder,i=La();function n(o){t.call(this||rd),(this||rd).hashMode=typeof o=="string",(this||rd).hashMode?(this||rd)[o]=(this||rd)._finalOrDigest:(this||rd).final=(this||rd)._finalOrDigest,(this||rd)._final&&((this||rd).__final=(this||rd)._final,(this||rd)._final=null),(this||rd)._decoder=null,(this||rd)._encoding=null}return i(n,t),n.prototype.update=function(o,d,g){typeof o=="string"&&(o=e.from(o,d));var y=this._update(o);return(this||rd).hashMode?this||rd:(g&&(y=this._toString(y,g)),y)},n.prototype.setAutoPadding=function(){},n.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},n.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},n.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},n.prototype._transform=function(o,d,g){var y;try{(this||rd).hashMode?this._update(o):this.push(this._update(o))}catch(_){y=_}finally{g(y)}},n.prototype._flush=function(o){var d;try{this.push(this.__final())}catch(g){d=g}o(d)},n.prototype._finalOrDigest=function(o){var d=this.__final()||e.alloc(0);return o&&(d=this._toString(d,o,!0)),d},n.prototype._toString=function(o,d,g){if((this||rd)._decoder||((this||rd)._decoder=new r(d),(this||rd)._encoding=d),(this||rd)._encoding!==d)throw new Error("can't switch encodings");var y=(this||rd)._decoder.write(o);return g&&(y+=(this||rd)._decoder.end()),y},bie=n,bie}function TD(){if(IDe)return Eie;IDe=!0;var e=La(),t=lue(),r=hue(),i=Aue(),n=R6();function o(d){n.call(this,"digest"),this._hash=d}return e(o,n),o.prototype._update=function(d){this._hash.update(d)},o.prototype._final=function(){return this._hash.digest()},Eie=function(g){return g=g.toLowerCase(),g==="md5"?new t:g==="rmd160"||g==="ripemd160"?new r:new o(i(g))},Eie}function A6t(){if(CDe)return vie;CDe=!0;var e=La(),t=Vs().Buffer,r=R6(),i=t.alloc(128),n=64;function o(d,g){r.call(this,"digest"),typeof g=="string"&&(g=t.from(g)),this._alg=d,this._key=g,g.length>n?g=d(g):g.length<n&&(g=t.concat([g,i],n));for(var y=this._ipad=t.allocUnsafe(n),_=this._opad=t.allocUnsafe(n),I=0;I<n;I++)y[I]=g[I]^54,_[I]=g[I]^92;this._hash=[y]}return e(o,r),o.prototype._update=function(d){this._hash.push(d)},o.prototype._final=function(){var d=this._alg(t.concat(this._hash));return this._alg(t.concat([this._opad,d]))},vie=o,vie}function fHe(){if(wDe)return Rie;wDe=!0;var e=lue();return Rie=function(t){return new e().update(t).digest()},Rie}function lHe(){if(ODe)return Sie;ODe=!0;var e=La(),t=A6t(),r=R6(),i=Vs().Buffer,n=fHe(),o=hue(),d=Aue(),g=i.alloc(128);function y(_,I){r.call(this,"digest"),typeof I=="string"&&(I=i.from(I));var N=_==="sha512"||_==="sha384"?128:64;if(this._alg=_,this._key=I,I.length>N){var T=_==="rmd160"?new o:d(_);I=T.update(I).digest()}else I.length<N&&(I=i.concat([I,g],N));for(var M=this._ipad=i.allocUnsafe(N),D=this._opad=i.allocUnsafe(N),P=0;P<N;P++)M[P]=I[P]^54,D[P]=I[P]^92;this._hash=_==="rmd160"?new o:d(_),this._hash.update(M)}return e(y,r),y.prototype._update=function(_){this._hash.update(_)},y.prototype._final=function(){var _=this._hash.digest(),I=this._alg==="rmd160"?new o:d(this._alg);return I.update(this._opad).update(_).digest()},Sie=function(I,N){return I=I.toLowerCase(),I==="rmd160"||I==="ripemd160"?new y("rmd160",N):I==="md5"?new t(n,N):new y(I,N)},Sie}function p6t(){return NDe||(NDe=!0,Iie=hHe),Iie}function AHe(){if(xDe)return Cie;xDe=!0;var e=Math.pow(2,30)-1;return Cie=function(t,r){if(typeof t!="number")throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if(typeof r!="number")throw new TypeError("Key length not a number");if(r<0||r>e||r!==r)throw new TypeError("Bad key length")},Cie}function pHe(){if(TDe)return wie;TDe=!0;var e=za,t;if(vG.process&&vG.process.browser)t="utf-8";else if(vG.process&&vG.process.version){var r=parseInt(e.version.split(".")[0].slice(1),10);t=r>=6?"utf-8":"binary"}else t="utf-8";return wie=t,wie}function gHe(){if(BDe)return Oie;BDe=!0;var e=Vs().Buffer;return Oie=function(t,r,i){if(e.isBuffer(t))return t;if(typeof t=="string")return e.from(t,r);if(ArrayBuffer.isView(t))return e.from(t.buffer);throw new TypeError(i+" must be a string, a Buffer, a typed array or a DataView")},Oie}function _He(){if(MDe)return Nie;MDe=!0;var e=fHe(),t=hue(),r=Aue(),i=Vs().Buffer,n=AHe(),o=pHe(),d=gHe(),g=i.alloc(128),y={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function _(T,M,D){var P=I(T),G=T==="sha512"||T==="sha384"?128:64;M.length>G?M=P(M):M.length<G&&(M=i.concat([M,g],G));for(var q=i.allocUnsafe(G+y[T]),Y=i.allocUnsafe(G+y[T]),ne=0;ne<G;ne++)q[ne]=M[ne]^54,Y[ne]=M[ne]^92;var ce=i.allocUnsafe(G+D+4);q.copy(ce,0,0,G),(this||im).ipad1=ce,(this||im).ipad2=q,(this||im).opad=Y,(this||im).alg=T,(this||im).blocksize=G,(this||im).hash=P,(this||im).size=y[T]}_.prototype.run=function(T,M){T.copy(M,(this||im).blocksize);var D=this.hash(M);return D.copy((this||im).opad,(this||im).blocksize),this.hash((this||im).opad)};function I(T){function M(P){return r(T).update(P).digest()}function D(P){return new t().update(P).digest()}return T==="rmd160"||T==="ripemd160"?D:T==="md5"?e:M}function N(T,M,D,P,G){n(D,P),T=d(T,o,"Password"),M=d(M,o,"Salt"),G=G||"sha1";var q=new _(G,T,M.length),Y=i.allocUnsafe(P),ne=i.allocUnsafe(M.length+4);M.copy(ne,0,0,M.length);for(var ce=0,le=y[G],pe=Math.ceil(P/le),ae=1;ae<=pe;ae++){ne.writeUInt32BE(ae,M.length);for(var W=q.run(ne,q.ipad1),se=W,O=1;O<D;O++){se=q.run(se,q.ipad2);for(var s=0;s<le;s++)W[s]^=se[s]}W.copy(Y,ce),ce+=le}return Y}return Nie=N,Nie}function g6t(){if(DDe)return xie;DDe=!0;var e=Vs().Buffer,t=AHe(),r=pHe(),i=_He(),n=gHe(),o,d=M1.crypto&&M1.crypto.subtle,g={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},y=[];function _(D){if(M1.process&&!M1.process.browser||!d||!d.importKey||!d.deriveBits)return Promise.resolve(!1);if(y[D]!==void 0)return y[D];o=o||e.alloc(8);var P=T(o,o,10,128,D).then(function(){return!0}).catch(function(){return!1});return y[D]=P,P}var I;function N(){return I||(M1.process&&M1.process.nextTick?I=M1.process.nextTick:M1.queueMicrotask?I=M1.queueMicrotask:M1.setImmediate?I=M1.setImmediate:I=M1.setTimeout,I)}function T(D,P,G,q,Y){return d.importKey("raw",D,{name:"PBKDF2"},!1,["deriveBits"]).then(function(ne){return d.deriveBits({name:"PBKDF2",salt:P,iterations:G,hash:{name:Y}},ne,q<<3)}).then(function(ne){return e.from(ne)})}function M(D,P){D.then(function(G){N()(function(){P(null,G)})},function(G){N()(function(){P(G)})})}return xie=function(D,P,G,q,Y,ne){typeof Y=="function"&&(ne=Y,Y=void 0),Y=Y||"sha1";var ce=g[Y.toLowerCase()];if(!ce||typeof M1.Promise!="function"){N()(function(){var le;try{le=i(D,P,G,q,Y)}catch(pe){return ne(pe)}ne(null,le)});return}if(t(G,q),D=n(D,r,"Password"),P=n(P,r,"Salt"),typeof ne!="function")throw new Error("No callback provided to pbkdf2");M(_(ce).then(function(le){return le?T(D,P,G,q,ce):i(D,P,G,q,Y)}),ne)},xie}function mHe(){return kDe||(kDe=!0,RG.pbkdf2=g6t(),RG.pbkdf2Sync=_He()),RG}function yHe(){if(PDe)return D1;PDe=!0,D1.readUInt32BE=function(n,o){var d=n[0+o]<<24|n[1+o]<<16|n[2+o]<<8|n[3+o];return d>>>0},D1.writeUInt32BE=function(n,o,d){n[0+d]=o>>>24,n[1+d]=o>>>16&255,n[2+d]=o>>>8&255,n[3+d]=o&255},D1.ip=function(n,o,d,g){for(var y=0,_=0,I=6;I>=0;I-=2){for(var N=0;N<=24;N+=8)y<<=1,y|=o>>>N+I&1;for(var N=0;N<=24;N+=8)y<<=1,y|=n>>>N+I&1}for(var I=6;I>=0;I-=2){for(var N=1;N<=25;N+=8)_<<=1,_|=o>>>N+I&1;for(var N=1;N<=25;N+=8)_<<=1,_|=n>>>N+I&1}d[g+0]=y>>>0,d[g+1]=_>>>0},D1.rip=function(n,o,d,g){for(var y=0,_=0,I=0;I<4;I++)for(var N=24;N>=0;N-=8)y<<=1,y|=o>>>N+I&1,y<<=1,y|=n>>>N+I&1;for(var I=4;I<8;I++)for(var N=24;N>=0;N-=8)_<<=1,_|=o>>>N+I&1,_<<=1,_|=n>>>N+I&1;d[g+0]=y>>>0,d[g+1]=_>>>0},D1.pc1=function(n,o,d,g){for(var y=0,_=0,I=7;I>=5;I--){for(var N=0;N<=24;N+=8)y<<=1,y|=o>>N+I&1;for(var N=0;N<=24;N+=8)y<<=1,y|=n>>N+I&1}for(var N=0;N<=24;N+=8)y<<=1,y|=o>>N+I&1;for(var I=1;I<=3;I++){for(var N=0;N<=24;N+=8)_<<=1,_|=o>>N+I&1;for(var N=0;N<=24;N+=8)_<<=1,_|=n>>N+I&1}for(var N=0;N<=24;N+=8)_<<=1,_|=n>>N+I&1;d[g+0]=y>>>0,d[g+1]=_>>>0},D1.r28shl=function(n,o){return n<<o&268435455|n>>>28-o};var e=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];D1.pc2=function(n,o,d,g){for(var y=0,_=0,I=e.length>>>1,N=0;N<I;N++)y<<=1,y|=n>>>e[N]&1;for(var N=I;N<e.length;N++)_<<=1,_|=o>>>e[N]&1;d[g+0]=y>>>0,d[g+1]=_>>>0},D1.expand=function(n,o,d){var g=0,y=0;g=(n&1)<<5|n>>>27;for(var _=23;_>=15;_-=4)g<<=6,g|=n>>>_&63;for(var _=11;_>=3;_-=4)y|=n>>>_&63,y<<=6;y|=(n&31)<<1|n>>>31,o[d+0]=g>>>0,o[d+1]=y>>>0};var t=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];D1.substitute=function(n,o){for(var d=0,g=0;g<4;g++){var y=n>>>18-g*6&63,_=t[g*64+y];d<<=4,d|=_}for(var g=0;g<4;g++){var y=o>>>18-g*6&63,_=t[256+g*64+y];d<<=4,d|=_}return d>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];return D1.permute=function(n){for(var o=0,d=0;d<r.length;d++)o<<=1,o|=n>>>r[d]&1;return o>>>0},D1.padSplit=function(n,o,d){for(var g=n.toString(2);g.length<o;)g="0"+g;for(var y=[],_=0;_<o;_+=d)y.push(g.slice(_,_+d));return y.join(" ")},D1}function Zy(){if(LDe)return Tie;LDe=!0,Tie=e;function e(t,r){if(!t)throw new Error(r||"Assertion failed")}return e.equal=function(r,i,n){if(r!=i)throw new Error(n||"Assertion failed: "+r+" != "+i)},Tie}function mue(){if(UDe)return Bie;UDe=!0;var e=Zy();function t(r){this.options=r,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}return Bie=t,t.prototype._init=function(){},t.prototype.update=function(i){return i.length===0?[]:this.type==="decrypt"?this._updateDecrypt(i):this._updateEncrypt(i)},t.prototype._buffer=function(i,n){for(var o=Math.min(this.buffer.length-this.bufferOff,i.length-n),d=0;d<o;d++)this.buffer[this.bufferOff+d]=i[n+d];return this.bufferOff+=o,o},t.prototype._flushBuffer=function(i,n){return this._update(this.buffer,0,i,n),this.bufferOff=0,this.blockSize},t.prototype._updateEncrypt=function(i){var n=0,o=0,d=(this.bufferOff+i.length)/this.blockSize|0,g=new Array(d*this.blockSize);this.bufferOff!==0&&(n+=this._buffer(i,n),this.bufferOff===this.buffer.length&&(o+=this._flushBuffer(g,o)));for(var y=i.length-(i.length-n)%this.blockSize;n<y;n+=this.blockSize)this._update(i,n,g,o),o+=this.blockSize;for(;n<i.length;n++,this.bufferOff++)this.buffer[this.bufferOff]=i[n];return g},t.prototype._updateDecrypt=function(i){for(var n=0,o=0,d=Math.ceil((this.bufferOff+i.length)/this.blockSize)-1,g=new Array(d*this.blockSize);d>0;d--)n+=this._buffer(i,n),o+=this._flushBuffer(g,o);return n+=this._buffer(i,n),g},t.prototype.final=function(i){var n;i&&(n=this.update(i));var o;return this.type==="encrypt"?o=this._finalEncrypt():o=this._finalDecrypt(),n?n.concat(o):o},t.prototype._pad=function(i,n){if(n===0)return!1;for(;n<i.length;)i[n++]=0;return!0},t.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var i=new Array(this.blockSize);return this._update(this.buffer,0,i,0),i},t.prototype._unpad=function(i){return i},t.prototype._finalDecrypt=function(){e.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var i=new Array(this.blockSize);return this._flushBuffer(i,0),this._unpad(i)},Bie}function bHe(){if(FDe)return Mie;FDe=!0;var e=Zy(),t=La(),r=yHe(),i=mue();function n(){this.tmp=new Array(2),this.keys=null}function o(g){i.call(this,g);var y=new n;this._desState=y,this.deriveKeys(y,g.key)}t(o,i),Mie=o,o.create=function(y){return new o(y)};var d=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];return o.prototype.deriveKeys=function(y,_){y.keys=new Array(32),e.equal(_.length,this.blockSize,"Invalid key length");var I=r.readUInt32BE(_,0),N=r.readUInt32BE(_,4);r.pc1(I,N,y.tmp,0),I=y.tmp[0],N=y.tmp[1];for(var T=0;T<y.keys.length;T+=2){var M=d[T>>>1];I=r.r28shl(I,M),N=r.r28shl(N,M),r.pc2(I,N,y.keys,T)}},o.prototype._update=function(y,_,I,N){var T=this._desState,M=r.readUInt32BE(y,_),D=r.readUInt32BE(y,_+4);r.ip(M,D,T.tmp,0),M=T.tmp[0],D=T.tmp[1],this.type==="encrypt"?this._encrypt(T,M,D,T.tmp,0):this._decrypt(T,M,D,T.tmp,0),M=T.tmp[0],D=T.tmp[1],r.writeUInt32BE(I,M,N),r.writeUInt32BE(I,D,N+4)},o.prototype._pad=function(y,_){for(var I=y.length-_,N=_;N<y.length;N++)y[N]=I;return!0},o.prototype._unpad=function(y){for(var _=y[y.length-1],I=y.length-_;I<y.length;I++)e.equal(y[I],_);return y.slice(0,y.length-_)},o.prototype._encrypt=function(y,_,I,N,T){for(var M=_,D=I,P=0;P<y.keys.length;P+=2){var G=y.keys[P],q=y.keys[P+1];r.expand(D,y.tmp,0),G^=y.tmp[0],q^=y.tmp[1];var Y=r.substitute(G,q),ne=r.permute(Y),ce=D;D=(M^ne)>>>0,M=ce}r.rip(D,M,N,T)},o.prototype._decrypt=function(y,_,I,N,T){for(var M=I,D=_,P=y.keys.length-2;P>=0;P-=2){var G=y.keys[P],q=y.keys[P+1];r.expand(M,y.tmp,0),G^=y.tmp[0],q^=y.tmp[1];var Y=r.substitute(G,q),ne=r.permute(Y),ce=M;M=(D^ne)>>>0,D=ce}r.rip(M,D,N,T)},Mie}function _6t(){if(QDe)return Die;QDe=!0;var e=Zy(),t=La(),r={};function i(o){e.equal(o.length,8,"Invalid IV length"),this.iv=new Array(8);for(var d=0;d<this.iv.length;d++)this.iv[d]=o[d]}function n(o){function d(I){o.call(this,I),this._cbcInit()}t(d,o);for(var g=Object.keys(r),y=0;y<g.length;y++){var _=g[y];d.prototype[_]=r[_]}return d.create=function(N){return new d(N)},d}return Die.instantiate=n,r._cbcInit=function(){var d=new i(this.options.iv);this._cbcState=d},r._update=function(d,g,y,_){var I=this._cbcState,N=this.constructor.super_.prototype,T=I.iv;if(this.type==="encrypt"){for(var M=0;M<this.blockSize;M++)T[M]^=d[g+M];N._update.call(this,T,0,y,_);for(var M=0;M<this.blockSize;M++)T[M]=y[_+M]}else{N._update.call(this,d,g,y,_);for(var M=0;M<this.blockSize;M++)y[_+M]^=T[M];for(var M=0;M<this.blockSize;M++)T[M]=d[g+M]}},Die}function m6t(){if(HDe)return kie;HDe=!0;var e=Zy(),t=La(),r=mue(),i=bHe();function n(d,g){e.equal(g.length,24,"Invalid key length");var y=g.slice(0,8),_=g.slice(8,16),I=g.slice(16,24);d==="encrypt"?this.ciphers=[i.create({type:"encrypt",key:y}),i.create({type:"decrypt",key:_}),i.create({type:"encrypt",key:I})]:this.ciphers=[i.create({type:"decrypt",key:I}),i.create({type:"encrypt",key:_}),i.create({type:"decrypt",key:y})]}function o(d){r.call(this,d);var g=new n(this.type,this.options.key);this._edeState=g}return t(o,r),kie=o,o.create=function(g){return new o(g)},o.prototype._update=function(g,y,_,I){var N=this._edeState;N.ciphers[0]._update(g,y,_,I),N.ciphers[1]._update(_,I,_,I),N.ciphers[2]._update(_,I,_,I)},o.prototype._pad=i.prototype._pad,o.prototype._unpad=i.prototype._unpad,kie}function y6t(){return GDe||(GDe=!0,V8.utils=yHe(),V8.Cipher=mue(),V8.DES=bHe(),V8.CBC=_6t(),V8.EDE=m6t()),V8}function b6t(){if(qDe)return Pie;qDe=!0;var e=R6(),t=y6t(),r=La(),i=Vs().Buffer,n={"des-ede3-cbc":t.CBC.instantiate(t.EDE),"des-ede3":t.EDE,"des-ede-cbc":t.CBC.instantiate(t.EDE),"des-ede":t.EDE,"des-cbc":t.CBC.instantiate(t.DES),"des-ecb":t.DES};n.des=n["des-cbc"],n.des3=n["des-ede3-cbc"],Pie=o,r(o,e);function o(d){e.call(this||SG);var g=d.mode.toLowerCase(),y=n[g],_;d.decrypt?_="decrypt":_="encrypt";var I=d.key;i.isBuffer(I)||(I=i.from(I)),(g==="des-ede"||g==="des-ede-cbc")&&(I=i.concat([I,I.slice(0,8)]));var N=d.iv;i.isBuffer(N)||(N=i.from(N)),(this||SG)._des=y.create({key:I,iv:N,type:_})}return o.prototype._update=function(d){return i.from((this||SG)._des.update(d))},o.prototype._final=function(){return i.from((this||SG)._des.final())},Pie}function E6t(){return VDe||(VDe=!0,IG.encrypt=function(e,t){return e._cipher.encryptBlock(t)},IG.decrypt=function(e,t){return e._cipher.decryptBlock(t)}),IG}function BD(){if(JDe)return Lie;JDe=!0;var e=Nu.Buffer;return Lie=function(r,i){for(var n=Math.min(r.length,i.length),o=new e(n),d=0;d<n;++d)o[d]=r[d]^i[d];return o},Lie}function v6t(){if(zDe)return CG;zDe=!0;var e=BD();return CG.encrypt=function(t,r){var i=e(r,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},CG.decrypt=function(t,r){var i=t._prev;t._prev=r;var n=t._cipher.decryptBlock(r);return e(n,i)},CG}function R6t(){if(KDe)return Uie;KDe=!0;var e=Vs().Buffer,t=BD();function r(i,n,o){var d=n.length,g=t(n,i._cache);return i._cache=i._cache.slice(d),i._prev=e.concat([i._prev,o?n:g]),g}return Uie.encrypt=function(i,n,o){for(var d=e.allocUnsafe(0),g;n.length;)if(i._cache.length===0&&(i._cache=i._cipher.encryptBlock(i._prev),i._prev=e.allocUnsafe(0)),i._cache.length<=n.length)g=i._cache.length,d=e.concat([d,r(i,n.slice(0,g),o)]),n=n.slice(g);else{d=e.concat([d,r(i,n,o)]);break}return d},Uie}function S6t(){if($De)return Fie;$De=!0;var e=Vs().Buffer;function t(r,i,n){var o=r._cipher.encryptBlock(r._prev),d=o[0]^i;return r._prev=e.concat([r._prev.slice(1),e.from([n?i:d])]),d}return Fie.encrypt=function(r,i,n){for(var o=i.length,d=e.allocUnsafe(o),g=-1;++g<o;)d[g]=t(r,i[g],n);return d},Fie}function I6t(){if(YDe)return Qie;YDe=!0;var e=Vs().Buffer;function t(i,n,o){for(var d,g=-1,y=8,_=0,I,N;++g<y;)d=i._cipher.encryptBlock(i._prev),I=n&1<<7-g?128:0,N=d[0]^I,_+=(N&128)>>g%8,i._prev=r(i._prev,o?I:N);return _}function r(i,n){var o=i.length,d=-1,g=e.allocUnsafe(i.length);for(i=e.concat([i,e.from([n])]);++d<o;)g[d]=i[d]<<1|i[d+1]>>7;return g}return Qie.encrypt=function(i,n,o){for(var d=n.length,g=e.allocUnsafe(d),y=-1;++y<d;)g[y]=t(i,n[y],o);return g},Qie}function C6t(){if(WDe)return Hie;WDe=!0;var e=Nu.Buffer,t=BD();function r(i){return i._prev=i._cipher.encryptBlock(i._prev),i._prev}return Hie.encrypt=function(i,n){for(;i._cache.length<n.length;)i._cache=e.concat([i._cache,r(i)]);var o=i._cache.slice(0,n.length);return i._cache=i._cache.slice(n.length),t(n,o)},Hie}function EHe(){if(XDe)return Gie;XDe=!0;function e(t){for(var r=t.length,i;r--;)if(i=t.readUInt8(r),i===255)t.writeUInt8(0,r);else{i++,t.writeUInt8(i,r);break}}return Gie=e,Gie}function jDe(){if(ZDe)return qie;ZDe=!0;var e=BD(),t=Vs().Buffer,r=EHe();function i(o){var d=o._cipher.encryptBlockRaw(o._prev);return r(o._prev),d}var n=16;return qie.encrypt=function(o,d){var g=Math.ceil(d.length/n),y=o._cache.length;o._cache=t.concat([o._cache,t.allocUnsafe(g*n)]);for(var _=0;_<g;_++){var I=i(o),N=y+_*n;o._cache.writeUInt32BE(I[0],N+0),o._cache.writeUInt32BE(I[1],N+4),o._cache.writeUInt32BE(I[2],N+8),o._cache.writeUInt32BE(I[3],N+12)}var T=o._cache.slice(0,d.length);return o._cache=o._cache.slice(d.length),e(d,T)},qie}function yue(){if(eke)return Vie;eke=!0;var e={ECB:E6t(),CBC:v6t(),CFB:R6t(),CFB8:S6t(),CFB1:I6t(),OFB:C6t(),CTR:jDe(),GCM:jDe()},t=vHe;for(var r in t)t[r].module=e[t[r].mode];return Vie=t,Vie}function Kq(){if(tke)return Jie;tke=!0;var e=Vs().Buffer;function t(g){e.isBuffer(g)||(g=e.from(g));for(var y=g.length/4|0,_=new Array(y),I=0;I<y;I++)_[I]=g.readUInt32BE(I*4);return _}function r(g){for(var y=0;y<g.length;g++)g[y]=0}function i(g,y,_,I,N){for(var T=_[0],M=_[1],D=_[2],P=_[3],G=g[0]^y[0],q=g[1]^y[1],Y=g[2]^y[2],ne=g[3]^y[3],ce,le,pe,ae,W=4,se=1;se<N;se++)ce=T[G>>>24]^M[q>>>16&255]^D[Y>>>8&255]^P[ne&255]^y[W++],le=T[q>>>24]^M[Y>>>16&255]^D[ne>>>8&255]^P[G&255]^y[W++],pe=T[Y>>>24]^M[ne>>>16&255]^D[G>>>8&255]^P[q&255]^y[W++],ae=T[ne>>>24]^M[G>>>16&255]^D[q>>>8&255]^P[Y&255]^y[W++],G=ce,q=le,Y=pe,ne=ae;return ce=(I[G>>>24]<<24|I[q>>>16&255]<<16|I[Y>>>8&255]<<8|I[ne&255])^y[W++],le=(I[q>>>24]<<24|I[Y>>>16&255]<<16|I[ne>>>8&255]<<8|I[G&255])^y[W++],pe=(I[Y>>>24]<<24|I[ne>>>16&255]<<16|I[G>>>8&255]<<8|I[q&255])^y[W++],ae=(I[ne>>>24]<<24|I[G>>>16&255]<<16|I[q>>>8&255]<<8|I[Y&255])^y[W++],ce=ce>>>0,le=le>>>0,pe=pe>>>0,ae=ae>>>0,[ce,le,pe,ae]}var n=[0,1,2,4,8,16,32,64,128,27,54],o=(function(){for(var g=new Array(256),y=0;y<256;y++)y<128?g[y]=y<<1:g[y]=y<<1^283;for(var _=[],I=[],N=[[],[],[],[]],T=[[],[],[],[]],M=0,D=0,P=0;P<256;++P){var G=D^D<<1^D<<2^D<<3^D<<4;G=G>>>8^G&255^99,_[M]=G,I[G]=M;var q=g[M],Y=g[q],ne=g[Y],ce=g[G]*257^G*16843008;N[0][M]=ce<<24|ce>>>8,N[1][M]=ce<<16|ce>>>16,N[2][M]=ce<<8|ce>>>24,N[3][M]=ce,ce=ne*16843009^Y*65537^q*257^M*16843008,T[0][G]=ce<<24|ce>>>8,T[1][G]=ce<<16|ce>>>16,T[2][G]=ce<<8|ce>>>24,T[3][G]=ce,M===0?M=D=1:(M=q^g[g[g[ne^q]]],D^=g[g[D]])}return{SBOX:_,INV_SBOX:I,SUB_MIX:N,INV_SUB_MIX:T}})();function d(g){(this||wg)._key=t(g),this._reset()}return d.blockSize=16,d.keySize=256/8,d.prototype.blockSize=d.blockSize,d.prototype.keySize=d.keySize,d.prototype._reset=function(){for(var g=(this||wg)._key,y=g.length,_=y+6,I=(_+1)*4,N=[],T=0;T<y;T++)N[T]=g[T];for(T=y;T<I;T++){var M=N[T-1];T%y===0?(M=M<<8|M>>>24,M=o.SBOX[M>>>24]<<24|o.SBOX[M>>>16&255]<<16|o.SBOX[M>>>8&255]<<8|o.SBOX[M&255],M^=n[T/y|0]<<24):y>6&&T%y===4&&(M=o.SBOX[M>>>24]<<24|o.SBOX[M>>>16&255]<<16|o.SBOX[M>>>8&255]<<8|o.SBOX[M&255]),N[T]=N[T-y]^M}for(var D=[],P=0;P<I;P++){var G=I-P,q=N[G-(P%4?0:4)];P<4||G<=4?D[P]=q:D[P]=o.INV_SUB_MIX[0][o.SBOX[q>>>24]]^o.INV_SUB_MIX[1][o.SBOX[q>>>16&255]]^o.INV_SUB_MIX[2][o.SBOX[q>>>8&255]]^o.INV_SUB_MIX[3][o.SBOX[q&255]]}(this||wg)._nRounds=_,(this||wg)._keySchedule=N,(this||wg)._invKeySchedule=D},d.prototype.encryptBlockRaw=function(g){return g=t(g),i(g,(this||wg)._keySchedule,o.SUB_MIX,o.SBOX,(this||wg)._nRounds)},d.prototype.encryptBlock=function(g){var y=this.encryptBlockRaw(g),_=e.allocUnsafe(16);return _.writeUInt32BE(y[0],0),_.writeUInt32BE(y[1],4),_.writeUInt32BE(y[2],8),_.writeUInt32BE(y[3],12),_},d.prototype.decryptBlock=function(g){g=t(g);var y=g[1];g[1]=g[3],g[3]=y;var _=i(g,(this||wg)._invKeySchedule,o.INV_SUB_MIX,o.INV_SBOX,(this||wg)._nRounds),I=e.allocUnsafe(16);return I.writeUInt32BE(_[0],0),I.writeUInt32BE(_[3],4),I.writeUInt32BE(_[2],8),I.writeUInt32BE(_[1],12),I},d.prototype.scrub=function(){r((this||wg)._keySchedule),r((this||wg)._invKeySchedule),r((this||wg)._key)},Jie.AES=d,Jie}function w6t(){if(rke)return zie;rke=!0;var e=Vs().Buffer,t=e.alloc(16,0);function r(o){return[o.readUInt32BE(0),o.readUInt32BE(4),o.readUInt32BE(8),o.readUInt32BE(12)]}function i(o){var d=e.allocUnsafe(16);return d.writeUInt32BE(o[0]>>>0,0),d.writeUInt32BE(o[1]>>>0,4),d.writeUInt32BE(o[2]>>>0,8),d.writeUInt32BE(o[3]>>>0,12),d}function n(o){(this||bh).h=o,(this||bh).state=e.alloc(16,0),(this||bh).cache=e.allocUnsafe(0)}return n.prototype.ghash=function(o){for(var d=-1;++d<o.length;)(this||bh).state[d]^=o[d];this._multiply()},n.prototype._multiply=function(){for(var o=r((this||bh).h),d=[0,0,0,0],g,y,_,I=-1;++I<128;){for(y=((this||bh).state[~~(I/8)]&1<<7-I%8)!==0,y&&(d[0]^=o[0],d[1]^=o[1],d[2]^=o[2],d[3]^=o[3]),_=(o[3]&1)!==0,g=3;g>0;g--)o[g]=o[g]>>>1|(o[g-1]&1)<<31;o[0]=o[0]>>>1,_&&(o[0]=o[0]^225<<24)}(this||bh).state=i(d)},n.prototype.update=function(o){(this||bh).cache=e.concat([(this||bh).cache,o]);for(var d;(this||bh).cache.length>=16;)d=(this||bh).cache.slice(0,16),(this||bh).cache=(this||bh).cache.slice(16),this.ghash(d)},n.prototype.final=function(o,d){return(this||bh).cache.length&&this.ghash(e.concat([(this||bh).cache,t],16)),this.ghash(i([0,o,0,d])),(this||bh).state},zie=n,zie}function RHe(){if(nke)return Kie;nke=!0;var e=Kq(),t=Vs().Buffer,r=R6(),i=La(),n=w6t(),o=BD(),d=EHe();function g(I,N){var T=0;I.length!==N.length&&T++;for(var M=Math.min(I.length,N.length),D=0;D<M;++D)T+=I[D]^N[D];return T}function y(I,N,T){if(N.length===12)return I._finID=t.concat([N,t.from([0,0,0,1])]),t.concat([N,t.from([0,0,0,2])]);var M=new n(T),D=N.length,P=D%16;M.update(N),P&&(P=16-P,M.update(t.alloc(P,0))),M.update(t.alloc(8,0));var G=D*8,q=t.alloc(8);q.writeUIntBE(G,0,8),M.update(q),I._finID=M.state;var Y=t.from(I._finID);return d(Y),Y}function _(I,N,T,M){r.call(this||da);var D=t.alloc(4,0);(this||da)._cipher=new e.AES(N);var P=(this||da)._cipher.encryptBlock(D);(this||da)._ghash=new n(P),T=y(this||da,T,P),(this||da)._prev=t.from(T),(this||da)._cache=t.allocUnsafe(0),(this||da)._secCache=t.allocUnsafe(0),(this||da)._decrypt=M,(this||da)._alen=0,(this||da)._len=0,(this||da)._mode=I,(this||da)._authTag=null,(this||da)._called=!1}return i(_,r),_.prototype._update=function(I){if(!(this||da)._called&&(this||da)._alen){var N=16-(this||da)._alen%16;N<16&&(N=t.alloc(N,0),(this||da)._ghash.update(N))}(this||da)._called=!0;var T=(this||da)._mode.encrypt(this||da,I);return(this||da)._decrypt?(this||da)._ghash.update(I):(this||da)._ghash.update(T),(this||da)._len+=I.length,T},_.prototype._final=function(){if((this||da)._decrypt&&!(this||da)._authTag)throw new Error("Unsupported state or unable to authenticate data");var I=o((this||da)._ghash.final((this||da)._alen*8,(this||da)._len*8),(this||da)._cipher.encryptBlock((this||da)._finID));if((this||da)._decrypt&&g(I,(this||da)._authTag))throw new Error("Unsupported state or unable to authenticate data");(this||da)._authTag=I,(this||da)._cipher.scrub()},_.prototype.getAuthTag=function(){if((this||da)._decrypt||!t.isBuffer((this||da)._authTag))throw new Error("Attempting to get auth tag in unsupported state");return(this||da)._authTag},_.prototype.setAuthTag=function(N){if(!(this||da)._decrypt)throw new Error("Attempting to set auth tag in unsupported state");(this||da)._authTag=N},_.prototype.setAAD=function(N){if((this||da)._called)throw new Error("Attempting to set AAD in unsupported state");(this||da)._ghash.update(N),(this||da)._alen+=N.length},Kie=_,Kie}function SHe(){if(ike)return $ie;ike=!0;var e=Kq(),t=Vs().Buffer,r=R6(),i=La();function n(o,d,g,y){r.call(this||om),(this||om)._cipher=new e.AES(d),(this||om)._prev=t.from(g),(this||om)._cache=t.allocUnsafe(0),(this||om)._secCache=t.allocUnsafe(0),(this||om)._decrypt=y,(this||om)._mode=o}return i(n,r),n.prototype._update=function(o){return(this||om)._mode.encrypt(this||om,o,(this||om)._decrypt)},n.prototype._final=function(){(this||om)._cipher.scrub()},$ie=n,$ie}function $q(){if(oke)return Yie;oke=!0;var e=Vs().Buffer,t=lue();function r(i,n,o,d){if(e.isBuffer(i)||(i=e.from(i,"binary")),n&&(e.isBuffer(n)||(n=e.from(n,"binary")),n.length!==8))throw new RangeError("salt should be Buffer with 8 byte length");for(var g=o/8,y=e.alloc(g),_=e.alloc(d||0),I=e.alloc(0);g>0||d>0;){var N=new t;N.update(I),N.update(i),n&&N.update(n),I=N.digest();var T=0;if(g>0){var M=y.length-g;T=Math.min(g,I.length),I.copy(y,M,0,T),g-=T}if(T<I.length&&d>0){var D=_.length-d,P=Math.min(d,I.length-T);I.copy(_,D,T,T+P),d-=P}}return I.fill(0),{key:y,iv:_}}return Yie=r,Yie}function O6t(){if(ake)return wG;ake=!0;var e=yue(),t=RHe(),r=Vs().Buffer,i=SHe(),n=R6(),o=Kq(),d=$q(),g=La();function y(M,D,P){n.call(this||xu),(this||xu)._cache=new I,(this||xu)._cipher=new o.AES(D),(this||xu)._prev=r.from(P),(this||xu)._mode=M,(this||xu)._autopadding=!0}g(y,n),y.prototype._update=function(M){(this||xu)._cache.add(M);for(var D,P,G=[];D=(this||xu)._cache.get();)P=(this||xu)._mode.encrypt(this||xu,D),G.push(P);return r.concat(G)};var _=r.alloc(16,16);y.prototype._final=function(){var M=(this||xu)._cache.flush();if((this||xu)._autopadding)return M=(this||xu)._mode.encrypt(this||xu,M),(this||xu)._cipher.scrub(),M;if(!M.equals(_))throw(this||xu)._cipher.scrub(),new Error("data not multiple of block length")},y.prototype.setAutoPadding=function(M){return(this||xu)._autopadding=!!M,this||xu};function I(){(this||xu).cache=r.allocUnsafe(0)}I.prototype.add=function(M){(this||xu).cache=r.concat([(this||xu).cache,M])},I.prototype.get=function(){if((this||xu).cache.length>15){var M=(this||xu).cache.slice(0,16);return(this||xu).cache=(this||xu).cache.slice(16),M}return null},I.prototype.flush=function(){for(var M=16-(this||xu).cache.length,D=r.allocUnsafe(M),P=-1;++P<M;)D.writeUInt8(M,P);return r.concat([(this||xu).cache,D])};function N(M,D,P){var G=e[M.toLowerCase()];if(!G)throw new TypeError("invalid suite type");if(typeof D=="string"&&(D=r.from(D)),D.length!==G.key/8)throw new TypeError("invalid key length "+D.length);if(typeof P=="string"&&(P=r.from(P)),G.mode!=="GCM"&&P.length!==G.iv)throw new TypeError("invalid iv length "+P.length);return G.type==="stream"?new i(G.module,D,P):G.type==="auth"?new t(G.module,D,P):new y(G.module,D,P)}function T(M,D){var P=e[M.toLowerCase()];if(!P)throw new TypeError("invalid suite type");var G=d(D,!1,P.key,P.iv);return N(M,G.key,G.iv)}return wG.createCipheriv=N,wG.createCipher=T,wG}function N6t(){if(ske)return OG;ske=!0;var e=RHe(),t=Vs().Buffer,r=yue(),i=SHe(),n=R6(),o=Kq(),d=$q(),g=La();function y(M,D,P){n.call(this||Ec),(this||Ec)._cache=new _,(this||Ec)._last=void 0,(this||Ec)._cipher=new o.AES(D),(this||Ec)._prev=t.from(P),(this||Ec)._mode=M,(this||Ec)._autopadding=!0}g(y,n),y.prototype._update=function(M){(this||Ec)._cache.add(M);for(var D,P,G=[];D=(this||Ec)._cache.get((this||Ec)._autopadding);)P=(this||Ec)._mode.decrypt(this||Ec,D),G.push(P);return t.concat(G)},y.prototype._final=function(){var M=(this||Ec)._cache.flush();if((this||Ec)._autopadding)return I((this||Ec)._mode.decrypt(this||Ec,M));if(M)throw new Error("data not multiple of block length")},y.prototype.setAutoPadding=function(M){return(this||Ec)._autopadding=!!M,this||Ec};function _(){(this||Ec).cache=t.allocUnsafe(0)}_.prototype.add=function(M){(this||Ec).cache=t.concat([(this||Ec).cache,M])},_.prototype.get=function(M){var D;if(M){if((this||Ec).cache.length>16)return D=(this||Ec).cache.slice(0,16),(this||Ec).cache=(this||Ec).cache.slice(16),D}else if((this||Ec).cache.length>=16)return D=(this||Ec).cache.slice(0,16),(this||Ec).cache=(this||Ec).cache.slice(16),D;return null},_.prototype.flush=function(){if((this||Ec).cache.length)return(this||Ec).cache};function I(M){var D=M[15];if(D<1||D>16)throw new Error("unable to decrypt data");for(var P=-1;++P<D;)if(M[P+(16-D)]!==D)throw new Error("unable to decrypt data");if(D!==16)return M.slice(0,16-D)}function N(M,D,P){var G=r[M.toLowerCase()];if(!G)throw new TypeError("invalid suite type");if(typeof P=="string"&&(P=t.from(P)),G.mode!=="GCM"&&P.length!==G.iv)throw new TypeError("invalid iv length "+P.length);if(typeof D=="string"&&(D=t.from(D)),D.length!==G.key/8)throw new TypeError("invalid key length "+D.length);return G.type==="stream"?new i(G.module,D,P,!0):G.type==="auth"?new e(G.module,D,P,!0):new y(G.module,D,P)}function T(M,D){var P=r[M.toLowerCase()];if(!P)throw new TypeError("invalid suite type");var G=d(D,!1,P.key,P.iv);return N(M,G.key,G.iv)}return OG.createDecipher=T,OG.createDecipheriv=N,OG}function bue(){if(cke)return Og;cke=!0;var e=O6t(),t=N6t(),r=vHe;function i(){return Object.keys(r)}return Og.createCipher=Og.Cipher=e.createCipher,Og.createCipheriv=Og.Cipheriv=e.createCipheriv,Og.createDecipher=Og.Decipher=t.createDecipher,Og.createDecipheriv=Og.Decipheriv=t.createDecipheriv,Og.listCiphers=Og.getCiphers=i,Og}function x6t(){return uke||(uke=!0,Uy["des-ecb"]={key:8,iv:0},Uy["des-cbc"]=Uy.des={key:8,iv:8},Uy["des-ede3-cbc"]=Uy.des3={key:24,iv:8},Uy["des-ede3"]={key:24,iv:0},Uy["des-ede-cbc"]={key:16,iv:8},Uy["des-ede"]={key:16,iv:0}),Uy}function T6t(){if(dke)return Ng;dke=!0;var e=b6t(),t=bue(),r=yue(),i=x6t(),n=$q();function o(I,N){I=I.toLowerCase();var T,M;if(r[I])T=r[I].key,M=r[I].iv;else if(i[I])T=i[I].key*8,M=i[I].iv;else throw new TypeError("invalid suite type");var D=n(N,!1,T,M);return g(I,D.key,D.iv)}function d(I,N){I=I.toLowerCase();var T,M;if(r[I])T=r[I].key,M=r[I].iv;else if(i[I])T=i[I].key*8,M=i[I].iv;else throw new TypeError("invalid suite type");var D=n(N,!1,T,M);return y(I,D.key,D.iv)}function g(I,N,T){if(I=I.toLowerCase(),r[I])return t.createCipheriv(I,N,T);if(i[I])return new e({key:N,iv:T,mode:I});throw new TypeError("invalid suite type")}function y(I,N,T){if(I=I.toLowerCase(),r[I])return t.createDecipheriv(I,N,T);if(i[I])return new e({key:N,iv:T,mode:I,decrypt:!0});throw new TypeError("invalid suite type")}function _(){return Object.keys(i).concat(t.getCiphers())}return Ng.createCipher=Ng.Cipher=o,Ng.createCipheriv=Ng.Cipheriv=g,Ng.createDecipher=Ng.Decipher=d,Ng.createDecipheriv=Ng.Decipheriv=y,Ng.listCiphers=Ng.getCiphers=_,Ng}function CHe(){return fke||(fke=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||wt).negative=0,(this||wt).words=null,(this||wt).length=0,(this||wt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||wt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||wt).negative=1,s=-s),s<67108864?((this||wt).words=[s&67108863],(this||wt).length=1):s<4503599627370496?((this||wt).words=[s&67108863,s/67108864&67108863],(this||wt).length=2):(r(s<9007199254740992),(this||wt).words=[s&67108863,s/67108864&67108863,1],(this||wt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||wt).words=[0],(this||wt).length=1,this||wt;(this||wt).length=Math.ceil(s.length/3),(this||wt).words=new Array((this||wt).length);for(var m=0;m<(this||wt).length;m++)(this||wt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||wt).words[E]|=w<<x&67108863,(this||wt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||wt).words[E]|=w<<x&67108863,(this||wt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||wt).length=Math.ceil((s.length-l)/6),(this||wt).words=new Array((this||wt).length);for(var m=0;m<(this||wt).length;m++)(this||wt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||wt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||wt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||wt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||wt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||wt).words=[0],(this||wt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||wt).words[0]+u<67108864?(this||wt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||wt).words[0]+u<67108864?(this||wt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||wt).length);for(var l=0;l<(this||wt).length;l++)s.words[l]=(this||wt).words[l];s.length=(this||wt).length,s.negative=(this||wt).negative,s.red=(this||wt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||wt).length<s;)(this||wt).words[(this||wt).length++]=0;return this||wt},n.prototype.strip=function(){for(;(this||wt).length>1&&(this||wt).words[(this||wt).length-1]===0;)(this||wt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||wt).length===1&&(this||wt).words[0]===0&&((this||wt).negative=0),this||wt},n.prototype.inspect=function(){return((this||wt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||wt).length;w++){var x=(this||wt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||wt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||wt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||wt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||wt).words[0];return(this||wt).length===2?s+=(this||wt).words[1]*67108864:(this||wt).length===3&&(this||wt).words[2]===1?s+=4503599627370496+(this||wt).words[1]*67108864:(this||wt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||wt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||wt).words[(this||wt).length-1],l=this._countBits(s);return((this||wt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||wt).length;l++){var A=this._zeroBits((this||wt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||wt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||wt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||wt).negative^=1),this||wt},n.prototype.iuor=function(s){for(;(this||wt).length<s.length;)(this||wt).words[(this||wt).length++]=0;for(var l=0;l<s.length;l++)(this||wt).words[l]=(this||wt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||wt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||wt).length>s.length?this.clone().ior(s):s.clone().ior(this||wt)},n.prototype.uor=function(s){return(this||wt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||wt)},n.prototype.iuand=function(s){var l;(this||wt).length>s.length?l=s:l=this||wt;for(var A=0;A<l.length;A++)(this||wt).words[A]=(this||wt).words[A]&s.words[A];return(this||wt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||wt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||wt).length>s.length?this.clone().iand(s):s.clone().iand(this||wt)},n.prototype.uand=function(s){return(this||wt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||wt)},n.prototype.iuxor=function(s){var l,A;(this||wt).length>s.length?(l=this||wt,A=s):(l=s,A=this||wt);for(var m=0;m<A.length;m++)(this||wt).words[m]=l.words[m]^A.words[m];if((this||wt)!==l)for(;m<l.length;m++)(this||wt).words[m]=l.words[m];return(this||wt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||wt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||wt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||wt)},n.prototype.uxor=function(s){return(this||wt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||wt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||wt).words[m]=~(this||wt).words[m]&67108863;return A>0&&((this||wt).words[m]=~(this||wt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||wt).words[A]=(this||wt).words[A]|1<<m:(this||wt).words[A]=(this||wt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||wt).negative!==0&&s.negative===0)return(this||wt).negative=0,l=this.isub(s),(this||wt).negative^=1,this._normSign();if((this||wt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||wt).length>s.length?(A=this||wt,m=s):(A=s,m=this||wt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||wt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||wt).words[w]=l&67108863,E=l>>>26;if((this||wt).length=A.length,E!==0)(this||wt).words[(this||wt).length]=E,(this||wt).length++;else if(A!==(this||wt))for(;w<A.length;w++)(this||wt).words[w]=A.words[w];return this||wt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||wt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||wt).negative!==0?((this||wt).negative=0,l=s.sub(this||wt),(this||wt).negative=1,l):(this||wt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||wt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||wt).negative!==0)return(this||wt).negative=0,this.iadd(s),(this||wt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||wt).negative=0,(this||wt).length=1,(this||wt).words[0]=0,this||wt;var m,E;A>0?(m=this||wt,E=s):(m=s,E=this||wt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||wt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||wt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||wt))for(;x<m.length;x++)(this||wt).words[x]=m.words[x];return(this||wt).length=Math.max((this||wt).length,x),m!==(this||wt)&&((this||wt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||wt).length+s.length;return(this||wt).length===10&&s.length===10?A=D(this||wt,s,l):m<63?A=M(this||wt,s,l):m<1024?A=P(this||wt,s,l):A=G(this||wt,s,l),A};function q(O,s){(this||wt).x=O,(this||wt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||wt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||wt).length+s.length),G(this||wt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||wt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||wt).length;A++){var m=((this||wt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||wt).words[A]=E&67108863}return l!==0&&((this||wt).words[A]=l,(this||wt).length++),this||wt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||wt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||wt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||wt).length;E++){var x=(this||wt).words[E]&m,R=((this||wt).words[E]|0)-x<<l;(this||wt).words[E]=R|w,w=x>>>26-l}w&&((this||wt).words[E]=w,(this||wt).length++)}if(A!==0){for(E=(this||wt).length-1;E>=0;E--)(this||wt).words[E+A]=(this||wt).words[E];for(E=0;E<A;E++)(this||wt).words[E]=0;(this||wt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||wt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||wt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||wt).words[u];R.length=w}if(w!==0)if((this||wt).length>w)for((this||wt).length-=w,u=0;u<(this||wt).length;u++)(this||wt).words[u]=(this||wt).words[u+w];else(this||wt).words[0]=0,(this||wt).length=1;var C=0;for(u=(this||wt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||wt).words[u]|0;(this||wt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||wt).length===0&&((this||wt).words[0]=0,(this||wt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||wt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||wt).length<=A)return!1;var E=(this||wt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||wt).negative===0,"imaskn works only with positive numbers"),(this||wt).length<=A)return this||wt;if(l!==0&&A++,(this||wt).length=Math.min(A,(this||wt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||wt).words[(this||wt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||wt).negative!==0?(this||wt).length===1&&((this||wt).words[0]|0)<s?((this||wt).words[0]=s-((this||wt).words[0]|0),(this||wt).negative=0,this||wt):((this||wt).negative=0,this.isubn(s),(this||wt).negative=1,this||wt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||wt).words[0]+=s;for(var l=0;l<(this||wt).length&&(this||wt).words[l]>=67108864;l++)(this||wt).words[l]-=67108864,l===(this||wt).length-1?(this||wt).words[l+1]=1:(this||wt).words[l+1]++;return(this||wt).length=Math.max((this||wt).length,l+1),this||wt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||wt).negative!==0)return(this||wt).negative=0,this.iaddn(s),(this||wt).negative=1,this||wt;if((this||wt).words[0]-=s,(this||wt).length===1&&(this||wt).words[0]<0)(this||wt).words[0]=-(this||wt).words[0],(this||wt).negative=1;else for(var l=0;l<(this||wt).length&&(this||wt).words[l]<0;l++)(this||wt).words[l]+=67108864,(this||wt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||wt).negative=0,this||wt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||wt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||wt).words[E+A]=w&67108863}for(;E<(this||wt).length-A;E++)w=((this||wt).words[E+A]|0)+x,x=w>>26,(this||wt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||wt).length;E++)w=-((this||wt).words[E]|0)+x,x=w>>26,(this||wt).words[E]=w&67108863;return(this||wt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||wt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||wt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||wt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||wt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||wt).length||this.cmp(s)<0?{div:new n(0),mod:this||wt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||wt).length-1;m>=0;m--)A=(l*A+((this||wt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||wt).length-1;A>=0;A--){var m=((this||wt).words[A]|0)+l*67108864;(this||wt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||wt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||wt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||wt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||wt).words[0]&1)===1},n.prototype.andln=function(s){return(this||wt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||wt).length<=A)return this._expand(A+1),(this||wt).words[A]|=m,this||wt;for(var E=m,w=A;E!==0&&w<(this||wt).length;w++){var x=(this||wt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||wt).words[w]=x}return E!==0&&((this||wt).words[w]=E,(this||wt).length++),this||wt},n.prototype.isZero=function(){return(this||wt).length===1&&(this||wt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||wt).negative!==0&&!l)return-1;if((this||wt).negative===0&&l)return 1;this.strip();var A;if((this||wt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||wt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||wt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||wt).negative!==0&&s.negative===0)return-1;if((this||wt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||wt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||wt).length>s.length)return 1;if((this||wt).length<s.length)return-1;for(var l=0,A=(this||wt).length-1;A>=0;A--){var m=(this||wt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||wt).red,"Already a number in reduction context"),r((this||wt).negative===0,"red works only with positives"),s.convertTo(this||wt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||wt).red,"fromRed works only with numbers in reduction context"),(this||wt).red.convertFrom(this||wt)},n.prototype._forceRed=function(s){return(this||wt).red=s,this||wt},n.prototype.forceRed=function(s){return r(!(this||wt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||wt).red,"redAdd works only with red numbers"),(this||wt).red.add(this||wt,s)},n.prototype.redIAdd=function(s){return r((this||wt).red,"redIAdd works only with red numbers"),(this||wt).red.iadd(this||wt,s)},n.prototype.redSub=function(s){return r((this||wt).red,"redSub works only with red numbers"),(this||wt).red.sub(this||wt,s)},n.prototype.redISub=function(s){return r((this||wt).red,"redISub works only with red numbers"),(this||wt).red.isub(this||wt,s)},n.prototype.redShl=function(s){return r((this||wt).red,"redShl works only with red numbers"),(this||wt).red.shl(this||wt,s)},n.prototype.redMul=function(s){return r((this||wt).red,"redMul works only with red numbers"),(this||wt).red._verify2(this||wt,s),(this||wt).red.mul(this||wt,s)},n.prototype.redIMul=function(s){return r((this||wt).red,"redMul works only with red numbers"),(this||wt).red._verify2(this||wt,s),(this||wt).red.imul(this||wt,s)},n.prototype.redSqr=function(){return r((this||wt).red,"redSqr works only with red numbers"),(this||wt).red._verify1(this||wt),(this||wt).red.sqr(this||wt)},n.prototype.redISqr=function(){return r((this||wt).red,"redISqr works only with red numbers"),(this||wt).red._verify1(this||wt),(this||wt).red.isqr(this||wt)},n.prototype.redSqrt=function(){return r((this||wt).red,"redSqrt works only with red numbers"),(this||wt).red._verify1(this||wt),(this||wt).red.sqrt(this||wt)},n.prototype.redInvm=function(){return r((this||wt).red,"redInvm works only with red numbers"),(this||wt).red._verify1(this||wt),(this||wt).red.invm(this||wt)},n.prototype.redNeg=function(){return r((this||wt).red,"redNeg works only with red numbers"),(this||wt).red._verify1(this||wt),(this||wt).red.neg(this||wt)},n.prototype.redPow=function(s){return r((this||wt).red&&!s.red,"redPow(normalNum)"),(this||wt).red._verify1(this||wt),(this||wt).red.pow(this||wt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||wt).name=O,(this||wt).p=new n(s,16),(this||wt).n=(this||wt).p.bitLength(),(this||wt).k=new n(1).iushln((this||wt).n).isub((this||wt).p),(this||wt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||wt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||wt).tmp),l=this.imulK(l),l=l.iadd((this||wt).tmp),A=l.bitLength();while(A>(this||wt).n);var m=A<(this||wt).n?-1:l.ucmp((this||wt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||wt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||wt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||wt).k)};function ce(){ne.call(this||wt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||wt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||wt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||wt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||wt).m=s.p,(this||wt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||wt).m=O,(this||wt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||wt).prime?(this||wt).prime.ireduce(s)._forceRed(this||wt):s.umod((this||wt).m)._forceRed(this||wt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||wt).m.sub(s)._forceRed(this||wt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||wt).m)>=0&&A.isub((this||wt).m),A._forceRed(this||wt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||wt).m)>=0&&A.isub((this||wt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||wt).m),A._forceRed(this||wt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||wt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||wt).m.andln(3);if(r(l%2===1),l===3){var A=(this||wt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||wt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||wt),x=w.redNeg(),R=(this||wt).m.subn(1).iushrn(1),u=(this||wt).m.bitLength();for(u=new n(2*u*u).toRed(this||wt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||wt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||wt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||wt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||wt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||wt,O),(this||wt).shift=(this||wt).m.bitLength(),(this||wt).shift%26!==0&&((this||wt).shift+=26-(this||wt).shift%26),(this||wt).r=new n(1).iushln((this||wt).shift),(this||wt).r2=this.imod((this||wt).r.sqr()),(this||wt).rinv=(this||wt).r._invmp((this||wt).m),(this||wt).minv=(this||wt).rinv.mul((this||wt).r).isubn(1).div((this||wt).m),(this||wt).minv=(this||wt).minv.umod((this||wt).r),(this||wt).minv=(this||wt).r.sub((this||wt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||wt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||wt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||wt).shift).mul((this||wt).minv).imaskn((this||wt).shift).mul((this||wt).m),E=A.isub(m).iushrn((this||wt).shift),w=E;return E.cmp((this||wt).m)>=0?w=E.isub((this||wt).m):E.cmpn(0)<0&&(w=E.iadd((this||wt).m)),w._forceRed(this||wt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||wt);var A=s.mul(l),m=A.maskn((this||wt).shift).mul((this||wt).minv).imaskn((this||wt).shift).mul((this||wt).m),E=A.isub(m).iushrn((this||wt).shift),w=E;return E.cmp((this||wt).m)>=0?w=E.isub((this||wt).m):E.cmpn(0)<0&&(w=E.iadd((this||wt).m)),w._forceRed(this||wt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||wt).m).mul((this||wt).r2));return l._forceRed(this||wt)}})(Wie,IHe)),Wie.exports}function B6t(){return lke||(lke=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Ot).negative=0,(this||Ot).words=null,(this||Ot).length=0,(this||Ot).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Ot).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Ot).negative=1,s=-s),s<67108864?((this||Ot).words=[s&67108863],(this||Ot).length=1):s<4503599627370496?((this||Ot).words=[s&67108863,s/67108864&67108863],(this||Ot).length=2):(r(s<9007199254740992),(this||Ot).words=[s&67108863,s/67108864&67108863,1],(this||Ot).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Ot).words=[0],(this||Ot).length=1,this||Ot;(this||Ot).length=Math.ceil(s.length/3),(this||Ot).words=new Array((this||Ot).length);for(var m=0;m<(this||Ot).length;m++)(this||Ot).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Ot).words[E]|=w<<x&67108863,(this||Ot).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Ot).words[E]|=w<<x&67108863,(this||Ot).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Ot).length=Math.ceil((s.length-l)/6),(this||Ot).words=new Array((this||Ot).length);for(var m=0;m<(this||Ot).length;m++)(this||Ot).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Ot).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Ot).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Ot).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Ot).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Ot).words=[0],(this||Ot).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Ot).words[0]+u<67108864?(this||Ot).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Ot).words[0]+u<67108864?(this||Ot).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Ot).length);for(var l=0;l<(this||Ot).length;l++)s.words[l]=(this||Ot).words[l];s.length=(this||Ot).length,s.negative=(this||Ot).negative,s.red=(this||Ot).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Ot).length<s;)(this||Ot).words[(this||Ot).length++]=0;return this||Ot},n.prototype.strip=function(){for(;(this||Ot).length>1&&(this||Ot).words[(this||Ot).length-1]===0;)(this||Ot).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Ot).length===1&&(this||Ot).words[0]===0&&((this||Ot).negative=0),this||Ot},n.prototype.inspect=function(){return((this||Ot).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Ot).length;w++){var x=(this||Ot).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Ot).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Ot).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Ot).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Ot).words[0];return(this||Ot).length===2?s+=(this||Ot).words[1]*67108864:(this||Ot).length===3&&(this||Ot).words[2]===1?s+=4503599627370496+(this||Ot).words[1]*67108864:(this||Ot).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Ot).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Ot).words[(this||Ot).length-1],l=this._countBits(s);return((this||Ot).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Ot).length;l++){var A=this._zeroBits((this||Ot).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Ot).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Ot).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Ot).negative^=1),this||Ot},n.prototype.iuor=function(s){for(;(this||Ot).length<s.length;)(this||Ot).words[(this||Ot).length++]=0;for(var l=0;l<s.length;l++)(this||Ot).words[l]=(this||Ot).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Ot).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Ot).length>s.length?this.clone().ior(s):s.clone().ior(this||Ot)},n.prototype.uor=function(s){return(this||Ot).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Ot)},n.prototype.iuand=function(s){var l;(this||Ot).length>s.length?l=s:l=this||Ot;for(var A=0;A<l.length;A++)(this||Ot).words[A]=(this||Ot).words[A]&s.words[A];return(this||Ot).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Ot).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Ot).length>s.length?this.clone().iand(s):s.clone().iand(this||Ot)},n.prototype.uand=function(s){return(this||Ot).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Ot)},n.prototype.iuxor=function(s){var l,A;(this||Ot).length>s.length?(l=this||Ot,A=s):(l=s,A=this||Ot);for(var m=0;m<A.length;m++)(this||Ot).words[m]=l.words[m]^A.words[m];if((this||Ot)!==l)for(;m<l.length;m++)(this||Ot).words[m]=l.words[m];return(this||Ot).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Ot).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Ot).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Ot)},n.prototype.uxor=function(s){return(this||Ot).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Ot)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Ot).words[m]=~(this||Ot).words[m]&67108863;return A>0&&((this||Ot).words[m]=~(this||Ot).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Ot).words[A]=(this||Ot).words[A]|1<<m:(this||Ot).words[A]=(this||Ot).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Ot).negative!==0&&s.negative===0)return(this||Ot).negative=0,l=this.isub(s),(this||Ot).negative^=1,this._normSign();if((this||Ot).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Ot).length>s.length?(A=this||Ot,m=s):(A=s,m=this||Ot);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Ot).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Ot).words[w]=l&67108863,E=l>>>26;if((this||Ot).length=A.length,E!==0)(this||Ot).words[(this||Ot).length]=E,(this||Ot).length++;else if(A!==(this||Ot))for(;w<A.length;w++)(this||Ot).words[w]=A.words[w];return this||Ot},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Ot).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Ot).negative!==0?((this||Ot).negative=0,l=s.sub(this||Ot),(this||Ot).negative=1,l):(this||Ot).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Ot)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Ot).negative!==0)return(this||Ot).negative=0,this.iadd(s),(this||Ot).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Ot).negative=0,(this||Ot).length=1,(this||Ot).words[0]=0,this||Ot;var m,E;A>0?(m=this||Ot,E=s):(m=s,E=this||Ot);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Ot).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Ot).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Ot))for(;x<m.length;x++)(this||Ot).words[x]=m.words[x];return(this||Ot).length=Math.max((this||Ot).length,x),m!==(this||Ot)&&((this||Ot).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Ot).length+s.length;return(this||Ot).length===10&&s.length===10?A=D(this||Ot,s,l):m<63?A=M(this||Ot,s,l):m<1024?A=P(this||Ot,s,l):A=G(this||Ot,s,l),A};function q(O,s){(this||Ot).x=O,(this||Ot).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Ot).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Ot).length+s.length),G(this||Ot,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Ot)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Ot).length;A++){var m=((this||Ot).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Ot).words[A]=E&67108863}return l!==0&&((this||Ot).words[A]=l,(this||Ot).length++),this||Ot},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Ot)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Ot,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Ot).length;E++){var x=(this||Ot).words[E]&m,R=((this||Ot).words[E]|0)-x<<l;(this||Ot).words[E]=R|w,w=x>>>26-l}w&&((this||Ot).words[E]=w,(this||Ot).length++)}if(A!==0){for(E=(this||Ot).length-1;E>=0;E--)(this||Ot).words[E+A]=(this||Ot).words[E];for(E=0;E<A;E++)(this||Ot).words[E]=0;(this||Ot).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Ot).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Ot).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Ot).words[u];R.length=w}if(w!==0)if((this||Ot).length>w)for((this||Ot).length-=w,u=0;u<(this||Ot).length;u++)(this||Ot).words[u]=(this||Ot).words[u+w];else(this||Ot).words[0]=0,(this||Ot).length=1;var C=0;for(u=(this||Ot).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Ot).words[u]|0;(this||Ot).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Ot).length===0&&((this||Ot).words[0]=0,(this||Ot).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Ot).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Ot).length<=A)return!1;var E=(this||Ot).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Ot).negative===0,"imaskn works only with positive numbers"),(this||Ot).length<=A)return this||Ot;if(l!==0&&A++,(this||Ot).length=Math.min(A,(this||Ot).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Ot).words[(this||Ot).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Ot).negative!==0?(this||Ot).length===1&&((this||Ot).words[0]|0)<s?((this||Ot).words[0]=s-((this||Ot).words[0]|0),(this||Ot).negative=0,this||Ot):((this||Ot).negative=0,this.isubn(s),(this||Ot).negative=1,this||Ot):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Ot).words[0]+=s;for(var l=0;l<(this||Ot).length&&(this||Ot).words[l]>=67108864;l++)(this||Ot).words[l]-=67108864,l===(this||Ot).length-1?(this||Ot).words[l+1]=1:(this||Ot).words[l+1]++;return(this||Ot).length=Math.max((this||Ot).length,l+1),this||Ot},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Ot).negative!==0)return(this||Ot).negative=0,this.iaddn(s),(this||Ot).negative=1,this||Ot;if((this||Ot).words[0]-=s,(this||Ot).length===1&&(this||Ot).words[0]<0)(this||Ot).words[0]=-(this||Ot).words[0],(this||Ot).negative=1;else for(var l=0;l<(this||Ot).length&&(this||Ot).words[l]<0;l++)(this||Ot).words[l]+=67108864,(this||Ot).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Ot).negative=0,this||Ot},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Ot).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Ot).words[E+A]=w&67108863}for(;E<(this||Ot).length-A;E++)w=((this||Ot).words[E+A]|0)+x,x=w>>26,(this||Ot).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Ot).length;E++)w=-((this||Ot).words[E]|0)+x,x=w>>26,(this||Ot).words[E]=w&67108863;return(this||Ot).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Ot).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Ot).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Ot).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Ot).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Ot).length||this.cmp(s)<0?{div:new n(0),mod:this||Ot}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Ot).length-1;m>=0;m--)A=(l*A+((this||Ot).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Ot).length-1;A>=0;A--){var m=((this||Ot).words[A]|0)+l*67108864;(this||Ot).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Ot,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Ot,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Ot).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Ot).words[0]&1)===1},n.prototype.andln=function(s){return(this||Ot).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Ot).length<=A)return this._expand(A+1),(this||Ot).words[A]|=m,this||Ot;for(var E=m,w=A;E!==0&&w<(this||Ot).length;w++){var x=(this||Ot).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Ot).words[w]=x}return E!==0&&((this||Ot).words[w]=E,(this||Ot).length++),this||Ot},n.prototype.isZero=function(){return(this||Ot).length===1&&(this||Ot).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Ot).negative!==0&&!l)return-1;if((this||Ot).negative===0&&l)return 1;this.strip();var A;if((this||Ot).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Ot).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Ot).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Ot).negative!==0&&s.negative===0)return-1;if((this||Ot).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Ot).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Ot).length>s.length)return 1;if((this||Ot).length<s.length)return-1;for(var l=0,A=(this||Ot).length-1;A>=0;A--){var m=(this||Ot).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Ot).red,"Already a number in reduction context"),r((this||Ot).negative===0,"red works only with positives"),s.convertTo(this||Ot)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Ot).red,"fromRed works only with numbers in reduction context"),(this||Ot).red.convertFrom(this||Ot)},n.prototype._forceRed=function(s){return(this||Ot).red=s,this||Ot},n.prototype.forceRed=function(s){return r(!(this||Ot).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Ot).red,"redAdd works only with red numbers"),(this||Ot).red.add(this||Ot,s)},n.prototype.redIAdd=function(s){return r((this||Ot).red,"redIAdd works only with red numbers"),(this||Ot).red.iadd(this||Ot,s)},n.prototype.redSub=function(s){return r((this||Ot).red,"redSub works only with red numbers"),(this||Ot).red.sub(this||Ot,s)},n.prototype.redISub=function(s){return r((this||Ot).red,"redISub works only with red numbers"),(this||Ot).red.isub(this||Ot,s)},n.prototype.redShl=function(s){return r((this||Ot).red,"redShl works only with red numbers"),(this||Ot).red.shl(this||Ot,s)},n.prototype.redMul=function(s){return r((this||Ot).red,"redMul works only with red numbers"),(this||Ot).red._verify2(this||Ot,s),(this||Ot).red.mul(this||Ot,s)},n.prototype.redIMul=function(s){return r((this||Ot).red,"redMul works only with red numbers"),(this||Ot).red._verify2(this||Ot,s),(this||Ot).red.imul(this||Ot,s)},n.prototype.redSqr=function(){return r((this||Ot).red,"redSqr works only with red numbers"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.sqr(this||Ot)},n.prototype.redISqr=function(){return r((this||Ot).red,"redISqr works only with red numbers"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.isqr(this||Ot)},n.prototype.redSqrt=function(){return r((this||Ot).red,"redSqrt works only with red numbers"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.sqrt(this||Ot)},n.prototype.redInvm=function(){return r((this||Ot).red,"redInvm works only with red numbers"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.invm(this||Ot)},n.prototype.redNeg=function(){return r((this||Ot).red,"redNeg works only with red numbers"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.neg(this||Ot)},n.prototype.redPow=function(s){return r((this||Ot).red&&!s.red,"redPow(normalNum)"),(this||Ot).red._verify1(this||Ot),(this||Ot).red.pow(this||Ot,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Ot).name=O,(this||Ot).p=new n(s,16),(this||Ot).n=(this||Ot).p.bitLength(),(this||Ot).k=new n(1).iushln((this||Ot).n).isub((this||Ot).p),(this||Ot).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Ot).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Ot).tmp),l=this.imulK(l),l=l.iadd((this||Ot).tmp),A=l.bitLength();while(A>(this||Ot).n);var m=A<(this||Ot).n?-1:l.ucmp((this||Ot).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Ot).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Ot).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Ot).k)};function ce(){ne.call(this||Ot,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Ot,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Ot,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Ot,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Ot).m=s.p,(this||Ot).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Ot).m=O,(this||Ot).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Ot).prime?(this||Ot).prime.ireduce(s)._forceRed(this||Ot):s.umod((this||Ot).m)._forceRed(this||Ot)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Ot).m.sub(s)._forceRed(this||Ot)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Ot).m)>=0&&A.isub((this||Ot).m),A._forceRed(this||Ot)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Ot).m)>=0&&A.isub((this||Ot).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Ot).m),A._forceRed(this||Ot)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Ot).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Ot).m.andln(3);if(r(l%2===1),l===3){var A=(this||Ot).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Ot).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Ot),x=w.redNeg(),R=(this||Ot).m.subn(1).iushrn(1),u=(this||Ot).m.bitLength();for(u=new n(2*u*u).toRed(this||Ot);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Ot).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Ot);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Ot),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Ot).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Ot,O),(this||Ot).shift=(this||Ot).m.bitLength(),(this||Ot).shift%26!==0&&((this||Ot).shift+=26-(this||Ot).shift%26),(this||Ot).r=new n(1).iushln((this||Ot).shift),(this||Ot).r2=this.imod((this||Ot).r.sqr()),(this||Ot).rinv=(this||Ot).r._invmp((this||Ot).m),(this||Ot).minv=(this||Ot).rinv.mul((this||Ot).r).isubn(1).div((this||Ot).m),(this||Ot).minv=(this||Ot).minv.umod((this||Ot).r),(this||Ot).minv=(this||Ot).r.sub((this||Ot).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Ot).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Ot).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Ot).shift).mul((this||Ot).minv).imaskn((this||Ot).shift).mul((this||Ot).m),E=A.isub(m).iushrn((this||Ot).shift),w=E;return E.cmp((this||Ot).m)>=0?w=E.isub((this||Ot).m):E.cmpn(0)<0&&(w=E.iadd((this||Ot).m)),w._forceRed(this||Ot)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Ot);var A=s.mul(l),m=A.maskn((this||Ot).shift).mul((this||Ot).minv).imaskn((this||Ot).shift).mul((this||Ot).m),E=A.isub(m).iushrn((this||Ot).shift),w=E;return E.cmp((this||Ot).m)>=0?w=E.isub((this||Ot).m):E.cmpn(0)<0&&(w=E.iadd((this||Ot).m)),w._forceRed(this||Ot)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Ot).m).mul((this||Ot).r2));return l._forceRed(this||Ot)}})(Xie,wHe)),Xie.exports}function OHe(){return hke||(hke=!0,vp=vp=gue(),vp.Stream=vp,vp.Readable=vp,vp.Writable=pue(),vp.Duplex=b4(),vp.Transform=_ue(),vp.PassThrough=uHe(),vp.finished=zq(),vp.pipeline=dHe()),vp}function cs(){if(Ake)return JM;Ake=!0;var e=Vo,t=e.Buffer;function r(n,o){for(var d in n)o[d]=n[d]}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?JM=e:(r(e,JM),JM.Buffer=i);function i(n,o,d){return t(n,o,d)}return i.prototype=Object.create(t.prototype),r(t,i),i.from=function(n,o,d){if(typeof n=="number")throw new TypeError("Argument must not be a number");return t(n,o,d)},i.alloc=function(n,o,d){if(typeof n!="number")throw new TypeError("Argument must be a number");var g=t(n);return o!==void 0?typeof d=="string"?g.fill(o,d):g.fill(o):g.fill(0),g},i.allocUnsafe=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return t(n)},i.allocUnsafeSlow=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return e.SlowBuffer(n)},JM}function DO(){if(pke)return NG;pke=!0;var e=Mo,t=65536,r=4294967295;function i(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var n=cs().Buffer,o=gke.crypto||gke.msCrypto;o&&o.getRandomValues?NG=d:NG=i;function d(g,y){if(g>r)throw new RangeError("requested too many random bytes");var _=n.allocUnsafe(g);if(g>0)if(g>t)for(var I=0;I<g;I+=t)o.getRandomValues(_.slice(I,I+t));else o.getRandomValues(_);return typeof y=="function"?e.nextTick(function(){y(null,_)}):_}return NG}function NHe(){if(_ke)return Zie;_ke=!0;var e=cs().Buffer,t=OHe().Transform,r=rs();function i(o,d){if(!e.isBuffer(o)&&typeof o!="string")throw new TypeError(d+" must be a string or a buffer")}function n(o){t.call(this),this._block=e.allocUnsafe(o),this._blockSize=o,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}return r(n,t),n.prototype._transform=function(o,d,g){var y=null;try{this.update(o,d)}catch(_){y=_}g(y)},n.prototype._flush=function(o){var d=null;try{this.push(this.digest())}catch(g){d=g}o(d)},n.prototype.update=function(o,d){if(i(o,"Data"),this._finalized)throw new Error("Digest already called");e.isBuffer(o)||(o=e.from(o,d));for(var g=this._block,y=0;this._blockOffset+o.length-y>=this._blockSize;){for(var _=this._blockOffset;_<this._blockSize;)g[_++]=o[y++];this._update(),this._blockOffset=0}for(;y<o.length;)g[this._blockOffset++]=o[y++];for(var I=0,N=o.length*8;N>0;++I)this._length[I]+=N,N=this._length[I]/4294967296|0,N>0&&(this._length[I]-=4294967296*N);return this},n.prototype._update=function(){throw new Error("_update is not implemented")},n.prototype.digest=function(o){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var d=this._digest();o!==void 0&&(d=d.toString(o)),this._block.fill(0),this._blockOffset=0;for(var g=0;g<4;++g)this._length[g]=0;return d},n.prototype._digest=function(){throw new Error("_digest is not implemented")},Zie=n,Zie}function Eue(){if(mke)return jie;mke=!0;var e=rs(),t=NHe(),r=cs().Buffer,i=new Array(16);function n(){t.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}e(n,t),n.prototype._update=function(){for(var I=i,N=0;N<16;++N)I[N]=this._block.readInt32LE(N*4);var T=this._a,M=this._b,D=this._c,P=this._d;T=d(T,M,D,P,I[0],3614090360,7),P=d(P,T,M,D,I[1],3905402710,12),D=d(D,P,T,M,I[2],606105819,17),M=d(M,D,P,T,I[3],3250441966,22),T=d(T,M,D,P,I[4],4118548399,7),P=d(P,T,M,D,I[5],1200080426,12),D=d(D,P,T,M,I[6],2821735955,17),M=d(M,D,P,T,I[7],4249261313,22),T=d(T,M,D,P,I[8],1770035416,7),P=d(P,T,M,D,I[9],2336552879,12),D=d(D,P,T,M,I[10],4294925233,17),M=d(M,D,P,T,I[11],2304563134,22),T=d(T,M,D,P,I[12],1804603682,7),P=d(P,T,M,D,I[13],4254626195,12),D=d(D,P,T,M,I[14],2792965006,17),M=d(M,D,P,T,I[15],1236535329,22),T=g(T,M,D,P,I[1],4129170786,5),P=g(P,T,M,D,I[6],3225465664,9),D=g(D,P,T,M,I[11],643717713,14),M=g(M,D,P,T,I[0],3921069994,20),T=g(T,M,D,P,I[5],3593408605,5),P=g(P,T,M,D,I[10],38016083,9),D=g(D,P,T,M,I[15],3634488961,14),M=g(M,D,P,T,I[4],3889429448,20),T=g(T,M,D,P,I[9],568446438,5),P=g(P,T,M,D,I[14],3275163606,9),D=g(D,P,T,M,I[3],4107603335,14),M=g(M,D,P,T,I[8],1163531501,20),T=g(T,M,D,P,I[13],2850285829,5),P=g(P,T,M,D,I[2],4243563512,9),D=g(D,P,T,M,I[7],1735328473,14),M=g(M,D,P,T,I[12],2368359562,20),T=y(T,M,D,P,I[5],4294588738,4),P=y(P,T,M,D,I[8],2272392833,11),D=y(D,P,T,M,I[11],1839030562,16),M=y(M,D,P,T,I[14],4259657740,23),T=y(T,M,D,P,I[1],2763975236,4),P=y(P,T,M,D,I[4],1272893353,11),D=y(D,P,T,M,I[7],4139469664,16),M=y(M,D,P,T,I[10],3200236656,23),T=y(T,M,D,P,I[13],681279174,4),P=y(P,T,M,D,I[0],3936430074,11),D=y(D,P,T,M,I[3],3572445317,16),M=y(M,D,P,T,I[6],76029189,23),T=y(T,M,D,P,I[9],3654602809,4),P=y(P,T,M,D,I[12],3873151461,11),D=y(D,P,T,M,I[15],530742520,16),M=y(M,D,P,T,I[2],3299628645,23),T=_(T,M,D,P,I[0],4096336452,6),P=_(P,T,M,D,I[7],1126891415,10),D=_(D,P,T,M,I[14],2878612391,15),M=_(M,D,P,T,I[5],4237533241,21),T=_(T,M,D,P,I[12],1700485571,6),P=_(P,T,M,D,I[3],2399980690,10),D=_(D,P,T,M,I[10],4293915773,15),M=_(M,D,P,T,I[1],2240044497,21),T=_(T,M,D,P,I[8],1873313359,6),P=_(P,T,M,D,I[15],4264355552,10),D=_(D,P,T,M,I[6],2734768916,15),M=_(M,D,P,T,I[13],1309151649,21),T=_(T,M,D,P,I[4],4149444226,6),P=_(P,T,M,D,I[11],3174756917,10),D=_(D,P,T,M,I[2],718787259,15),M=_(M,D,P,T,I[9],3951481745,21),this._a=this._a+T|0,this._b=this._b+M|0,this._c=this._c+D|0,this._d=this._d+P|0},n.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var I=r.allocUnsafe(16);return I.writeInt32LE(this._a,0),I.writeInt32LE(this._b,4),I.writeInt32LE(this._c,8),I.writeInt32LE(this._d,12),I};function o(I,N){return I<<N|I>>>32-N}function d(I,N,T,M,D,P,G){return o(I+(N&T|~N&M)+D+P|0,G)+N|0}function g(I,N,T,M,D,P,G){return o(I+(N&M|T&~M)+D+P|0,G)+N|0}function y(I,N,T,M,D,P,G){return o(I+(N^T^M)+D+P|0,G)+N|0}function _(I,N,T,M,D,P,G){return o(I+(T^(N|~M))+D+P|0,G)+N|0}return jie=n,jie}function vue(){if(yke)return eoe;yke=!0;var e=Vo.Buffer,t=rs(),r=NHe(),i=new Array(16),n=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],o=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],d=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],y=[0,1518500249,1859775393,2400959708,2840853838],_=[1352829926,1548603684,1836072691,2053994217,0];function I(){r.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}t(I,r),I.prototype._update=function(){for(var q=i,Y=0;Y<16;++Y)q[Y]=this._block.readInt32LE(Y*4);for(var ne=this._a|0,ce=this._b|0,le=this._c|0,pe=this._d|0,ae=this._e|0,W=this._a|0,se=this._b|0,O=this._c|0,s=this._d|0,l=this._e|0,A=0;A<80;A+=1){var m,E;A<16?(m=T(ne,ce,le,pe,ae,q[n[A]],y[0],d[A]),E=G(W,se,O,s,l,q[o[A]],_[0],g[A])):A<32?(m=M(ne,ce,le,pe,ae,q[n[A]],y[1],d[A]),E=P(W,se,O,s,l,q[o[A]],_[1],g[A])):A<48?(m=D(ne,ce,le,pe,ae,q[n[A]],y[2],d[A]),E=D(W,se,O,s,l,q[o[A]],_[2],g[A])):A<64?(m=P(ne,ce,le,pe,ae,q[n[A]],y[3],d[A]),E=M(W,se,O,s,l,q[o[A]],_[3],g[A])):(m=G(ne,ce,le,pe,ae,q[n[A]],y[4],d[A]),E=T(W,se,O,s,l,q[o[A]],_[4],g[A])),ne=ae,ae=pe,pe=N(le,10),le=ce,ce=m,W=l,l=s,s=N(O,10),O=se,se=E}var w=this._b+le+s|0;this._b=this._c+pe+l|0,this._c=this._d+ae+W|0,this._d=this._e+ne+se|0,this._e=this._a+ce+O|0,this._a=w},I.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var q=e.alloc?e.alloc(20):new e(20);return q.writeInt32LE(this._a,0),q.writeInt32LE(this._b,4),q.writeInt32LE(this._c,8),q.writeInt32LE(this._d,12),q.writeInt32LE(this._e,16),q};function N(q,Y){return q<<Y|q>>>32-Y}function T(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y^ne^ce)+pe+ae|0,W)+le|0}function M(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y&ne|~Y&ce)+pe+ae|0,W)+le|0}function D(q,Y,ne,ce,le,pe,ae,W){return N(q+((Y|~ne)^ce)+pe+ae|0,W)+le|0}function P(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y&ce|ne&~ce)+pe+ae|0,W)+le|0}function G(q,Y,ne,ce,le,pe,ae,W){return N(q+(Y^(ne|~ce))+pe+ae|0,W)+le|0}return eoe=I,eoe}function kO(){if(bke)return toe;bke=!0;var e=cs().Buffer;function t(r,i){(this||g0)._block=e.alloc(r),(this||g0)._finalSize=i,(this||g0)._blockSize=r,(this||g0)._len=0}return t.prototype.update=function(r,i){typeof r=="string"&&(i=i||"utf8",r=e.from(r,i));for(var n=(this||g0)._block,o=(this||g0)._blockSize,d=r.length,g=(this||g0)._len,y=0;y<d;){for(var _=g%o,I=Math.min(d-y,o-_),N=0;N<I;N++)n[_+N]=r[y+N];g+=I,y+=I,g%o===0&&this._update(n)}return(this||g0)._len+=d,this||g0},t.prototype.digest=function(r){var i=(this||g0)._len%(this||g0)._blockSize;(this||g0)._block[i]=128,(this||g0)._block.fill(0,i+1),i>=(this||g0)._finalSize&&(this._update((this||g0)._block),(this||g0)._block.fill(0));var n=(this||g0)._len*8;if(n<=4294967295)(this||g0)._block.writeUInt32BE(n,(this||g0)._blockSize-4);else{var o=(n&4294967295)>>>0,d=(n-o)/4294967296;(this||g0)._block.writeUInt32BE(d,(this||g0)._blockSize-8),(this||g0)._block.writeUInt32BE(o,(this||g0)._blockSize-4)}this._update((this||g0)._block);var g=this._hash();return r?g.toString(r):g},t.prototype._update=function(){throw new Error("_update must be implemented by subclass")},toe=t,toe}function M6t(){if(Eke)return roe;Eke=!0;var e=rs(),t=kO(),r=cs().Buffer,i=[1518500249,1859775393,-1894007588,-899497514],n=new Array(80);function o(){this.init(),(this||Yc)._w=n,t.call(this||Yc,64,56)}e(o,t),o.prototype.init=function(){return(this||Yc)._a=1732584193,(this||Yc)._b=4023233417,(this||Yc)._c=2562383102,(this||Yc)._d=271733878,(this||Yc)._e=3285377520,this||Yc};function d(_){return _<<5|_>>>27}function g(_){return _<<30|_>>>2}function y(_,I,N,T){return _===0?I&N|~I&T:_===2?I&N|I&T|N&T:I^N^T}return o.prototype._update=function(_){for(var I=(this||Yc)._w,N=(this||Yc)._a|0,T=(this||Yc)._b|0,M=(this||Yc)._c|0,D=(this||Yc)._d|0,P=(this||Yc)._e|0,G=0;G<16;++G)I[G]=_.readInt32BE(G*4);for(;G<80;++G)I[G]=I[G-3]^I[G-8]^I[G-14]^I[G-16];for(var q=0;q<80;++q){var Y=~~(q/20),ne=d(N)+y(Y,T,M,D)+P+I[q]+i[Y]|0;P=D,D=M,M=g(T),T=N,N=ne}(this||Yc)._a=N+(this||Yc)._a|0,(this||Yc)._b=T+(this||Yc)._b|0,(this||Yc)._c=M+(this||Yc)._c|0,(this||Yc)._d=D+(this||Yc)._d|0,(this||Yc)._e=P+(this||Yc)._e|0},o.prototype._hash=function(){var _=r.allocUnsafe(20);return _.writeInt32BE((this||Yc)._a|0,0),_.writeInt32BE((this||Yc)._b|0,4),_.writeInt32BE((this||Yc)._c|0,8),_.writeInt32BE((this||Yc)._d|0,12),_.writeInt32BE((this||Yc)._e|0,16),_},roe=o,roe}function D6t(){if(vke)return noe;vke=!0;var e=rs(),t=kO(),r=cs().Buffer,i=[1518500249,1859775393,-1894007588,-899497514],n=new Array(80);function o(){this.init(),(this||Wc)._w=n,t.call(this||Wc,64,56)}e(o,t),o.prototype.init=function(){return(this||Wc)._a=1732584193,(this||Wc)._b=4023233417,(this||Wc)._c=2562383102,(this||Wc)._d=271733878,(this||Wc)._e=3285377520,this||Wc};function d(I){return I<<1|I>>>31}function g(I){return I<<5|I>>>27}function y(I){return I<<30|I>>>2}function _(I,N,T,M){return I===0?N&T|~N&M:I===2?N&T|N&M|T&M:N^T^M}return o.prototype._update=function(I){for(var N=(this||Wc)._w,T=(this||Wc)._a|0,M=(this||Wc)._b|0,D=(this||Wc)._c|0,P=(this||Wc)._d|0,G=(this||Wc)._e|0,q=0;q<16;++q)N[q]=I.readInt32BE(q*4);for(;q<80;++q)N[q]=d(N[q-3]^N[q-8]^N[q-14]^N[q-16]);for(var Y=0;Y<80;++Y){var ne=~~(Y/20),ce=g(T)+_(ne,M,D,P)+G+N[Y]+i[ne]|0;G=P,P=D,D=y(M),M=T,T=ce}(this||Wc)._a=T+(this||Wc)._a|0,(this||Wc)._b=M+(this||Wc)._b|0,(this||Wc)._c=D+(this||Wc)._c|0,(this||Wc)._d=P+(this||Wc)._d|0,(this||Wc)._e=G+(this||Wc)._e|0},o.prototype._hash=function(){var I=r.allocUnsafe(20);return I.writeInt32BE((this||Wc)._a|0,0),I.writeInt32BE((this||Wc)._b|0,4),I.writeInt32BE((this||Wc)._c|0,8),I.writeInt32BE((this||Wc)._d|0,12),I.writeInt32BE((this||Wc)._e|0,16),I},noe=o,noe}function xHe(){if(Rke)return ioe;Rke=!0;var e=rs(),t=kO(),r=cs().Buffer,i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=new Array(64);function o(){this.init(),(this||fa)._w=n,t.call(this||fa,64,56)}e(o,t),o.prototype.init=function(){return(this||fa)._a=1779033703,(this||fa)._b=3144134277,(this||fa)._c=1013904242,(this||fa)._d=2773480762,(this||fa)._e=1359893119,(this||fa)._f=2600822924,(this||fa)._g=528734635,(this||fa)._h=1541459225,this||fa};function d(T,M,D){return D^T&(M^D)}function g(T,M,D){return T&M|D&(T|M)}function y(T){return(T>>>2|T<<30)^(T>>>13|T<<19)^(T>>>22|T<<10)}function _(T){return(T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7)}function I(T){return(T>>>7|T<<25)^(T>>>18|T<<14)^T>>>3}function N(T){return(T>>>17|T<<15)^(T>>>19|T<<13)^T>>>10}return o.prototype._update=function(T){for(var M=(this||fa)._w,D=(this||fa)._a|0,P=(this||fa)._b|0,G=(this||fa)._c|0,q=(this||fa)._d|0,Y=(this||fa)._e|0,ne=(this||fa)._f|0,ce=(this||fa)._g|0,le=(this||fa)._h|0,pe=0;pe<16;++pe)M[pe]=T.readInt32BE(pe*4);for(;pe<64;++pe)M[pe]=N(M[pe-2])+M[pe-7]+I(M[pe-15])+M[pe-16]|0;for(var ae=0;ae<64;++ae){var W=le+_(Y)+d(Y,ne,ce)+i[ae]+M[ae]|0,se=y(D)+g(D,P,G)|0;le=ce,ce=ne,ne=Y,Y=q+W|0,q=G,G=P,P=D,D=W+se|0}(this||fa)._a=D+(this||fa)._a|0,(this||fa)._b=P+(this||fa)._b|0,(this||fa)._c=G+(this||fa)._c|0,(this||fa)._d=q+(this||fa)._d|0,(this||fa)._e=Y+(this||fa)._e|0,(this||fa)._f=ne+(this||fa)._f|0,(this||fa)._g=ce+(this||fa)._g|0,(this||fa)._h=le+(this||fa)._h|0},o.prototype._hash=function(){var T=r.allocUnsafe(32);return T.writeInt32BE((this||fa)._a,0),T.writeInt32BE((this||fa)._b,4),T.writeInt32BE((this||fa)._c,8),T.writeInt32BE((this||fa)._d,12),T.writeInt32BE((this||fa)._e,16),T.writeInt32BE((this||fa)._f,20),T.writeInt32BE((this||fa)._g,24),T.writeInt32BE((this||fa)._h,28),T},ioe=o,ioe}function k6t(){if(Ske)return ooe;Ske=!0;var e=rs(),t=xHe(),r=kO(),i=cs().Buffer,n=new Array(64);function o(){this.init(),(this||Zf)._w=n,r.call(this||Zf,64,56)}return e(o,t),o.prototype.init=function(){return(this||Zf)._a=3238371032,(this||Zf)._b=914150663,(this||Zf)._c=812702999,(this||Zf)._d=4144912697,(this||Zf)._e=4290775857,(this||Zf)._f=1750603025,(this||Zf)._g=1694076839,(this||Zf)._h=3204075428,this||Zf},o.prototype._hash=function(){var d=i.allocUnsafe(28);return d.writeInt32BE((this||Zf)._a,0),d.writeInt32BE((this||Zf)._b,4),d.writeInt32BE((this||Zf)._c,8),d.writeInt32BE((this||Zf)._d,12),d.writeInt32BE((this||Zf)._e,16),d.writeInt32BE((this||Zf)._f,20),d.writeInt32BE((this||Zf)._g,24),d},ooe=o,ooe}function THe(){if(Ike)return aoe;Ike=!0;var e=rs(),t=kO(),r=cs().Buffer,i=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],n=new Array(160);function o(){this.init(),(this||ri)._w=n,t.call(this||ri,128,112)}e(o,t),o.prototype.init=function(){return(this||ri)._ah=1779033703,(this||ri)._bh=3144134277,(this||ri)._ch=1013904242,(this||ri)._dh=2773480762,(this||ri)._eh=1359893119,(this||ri)._fh=2600822924,(this||ri)._gh=528734635,(this||ri)._hh=1541459225,(this||ri)._al=4089235720,(this||ri)._bl=2227873595,(this||ri)._cl=4271175723,(this||ri)._dl=1595750129,(this||ri)._el=2917565137,(this||ri)._fl=725511199,(this||ri)._gl=4215389547,(this||ri)._hl=327033209,this||ri};function d(P,G,q){return q^P&(G^q)}function g(P,G,q){return P&G|q&(P|G)}function y(P,G){return(P>>>28|G<<4)^(G>>>2|P<<30)^(G>>>7|P<<25)}function _(P,G){return(P>>>14|G<<18)^(P>>>18|G<<14)^(G>>>9|P<<23)}function I(P,G){return(P>>>1|G<<31)^(P>>>8|G<<24)^P>>>7}function N(P,G){return(P>>>1|G<<31)^(P>>>8|G<<24)^(P>>>7|G<<25)}function T(P,G){return(P>>>19|G<<13)^(G>>>29|P<<3)^P>>>6}function M(P,G){return(P>>>19|G<<13)^(G>>>29|P<<3)^(P>>>6|G<<26)}function D(P,G){return P>>>0<G>>>0?1:0}return o.prototype._update=function(P){for(var G=(this||ri)._w,q=(this||ri)._ah|0,Y=(this||ri)._bh|0,ne=(this||ri)._ch|0,ce=(this||ri)._dh|0,le=(this||ri)._eh|0,pe=(this||ri)._fh|0,ae=(this||ri)._gh|0,W=(this||ri)._hh|0,se=(this||ri)._al|0,O=(this||ri)._bl|0,s=(this||ri)._cl|0,l=(this||ri)._dl|0,A=(this||ri)._el|0,m=(this||ri)._fl|0,E=(this||ri)._gl|0,w=(this||ri)._hl|0,x=0;x<32;x+=2)G[x]=P.readInt32BE(x*4),G[x+1]=P.readInt32BE(x*4+4);for(;x<160;x+=2){var R=G[x-30],u=G[x-30+1],C=I(R,u),U=N(u,R);R=G[x-4],u=G[x-4+1];var F=T(R,u),X=M(u,R),Ae=G[x-14],he=G[x-14+1],$e=G[x-32],Ge=G[x-32+1],Re=U+he|0,Se=C+Ae+D(Re,U)|0;Re=Re+X|0,Se=Se+F+D(Re,X)|0,Re=Re+Ge|0,Se=Se+$e+D(Re,Ge)|0,G[x]=Se,G[x+1]=Re}for(var ct=0;ct<160;ct+=2){Se=G[ct],Re=G[ct+1];var ze=g(q,Y,ne),te=g(se,O,s),Ue=y(q,se),oe=y(se,q),ge=_(le,A),Le=_(A,le),V=i[ct],Qe=i[ct+1],_t=d(le,pe,ae),rt=d(A,m,E),At=w+Le|0,Er=W+ge+D(At,w)|0;At=At+rt|0,Er=Er+_t+D(At,rt)|0,At=At+Qe|0,Er=Er+V+D(At,Qe)|0,At=At+Re|0,Er=Er+Se+D(At,Re)|0;var mt=oe+te|0,Ht=Ue+ze+D(mt,oe)|0;W=ae,w=E,ae=pe,E=m,pe=le,m=A,A=l+At|0,le=ce+Er+D(A,l)|0,ce=ne,l=s,ne=Y,s=O,Y=q,O=se,se=At+mt|0,q=Er+Ht+D(se,At)|0}(this||ri)._al=(this||ri)._al+se|0,(this||ri)._bl=(this||ri)._bl+O|0,(this||ri)._cl=(this||ri)._cl+s|0,(this||ri)._dl=(this||ri)._dl+l|0,(this||ri)._el=(this||ri)._el+A|0,(this||ri)._fl=(this||ri)._fl+m|0,(this||ri)._gl=(this||ri)._gl+E|0,(this||ri)._hl=(this||ri)._hl+w|0,(this||ri)._ah=(this||ri)._ah+q+D((this||ri)._al,se)|0,(this||ri)._bh=(this||ri)._bh+Y+D((this||ri)._bl,O)|0,(this||ri)._ch=(this||ri)._ch+ne+D((this||ri)._cl,s)|0,(this||ri)._dh=(this||ri)._dh+ce+D((this||ri)._dl,l)|0,(this||ri)._eh=(this||ri)._eh+le+D((this||ri)._el,A)|0,(this||ri)._fh=(this||ri)._fh+pe+D((this||ri)._fl,m)|0,(this||ri)._gh=(this||ri)._gh+ae+D((this||ri)._gl,E)|0,(this||ri)._hh=(this||ri)._hh+W+D((this||ri)._hl,w)|0},o.prototype._hash=function(){var P=r.allocUnsafe(64);function G(q,Y,ne){P.writeInt32BE(q,ne),P.writeInt32BE(Y,ne+4)}return G((this||ri)._ah,(this||ri)._al,0),G((this||ri)._bh,(this||ri)._bl,8),G((this||ri)._ch,(this||ri)._cl,16),G((this||ri)._dh,(this||ri)._dl,24),G((this||ri)._eh,(this||ri)._el,32),G((this||ri)._fh,(this||ri)._fl,40),G((this||ri)._gh,(this||ri)._gl,48),G((this||ri)._hh,(this||ri)._hl,56),P},aoe=o,aoe}function P6t(){if(Cke)return soe;Cke=!0;var e=rs(),t=THe(),r=kO(),i=cs().Buffer,n=new Array(160);function o(){this.init(),(this||vc)._w=n,r.call(this||vc,128,112)}return e(o,t),o.prototype.init=function(){return(this||vc)._ah=3418070365,(this||vc)._bh=1654270250,(this||vc)._ch=2438529370,(this||vc)._dh=355462360,(this||vc)._eh=1731405415,(this||vc)._fh=2394180231,(this||vc)._gh=3675008525,(this||vc)._hh=1203062813,(this||vc)._al=3238371032,(this||vc)._bl=914150663,(this||vc)._cl=812702999,(this||vc)._dl=4144912697,(this||vc)._el=4290775857,(this||vc)._fl=1750603025,(this||vc)._gl=1694076839,(this||vc)._hl=3204075428,this||vc},o.prototype._hash=function(){var d=i.allocUnsafe(48);function g(y,_,I){d.writeInt32BE(y,I),d.writeInt32BE(_,I+4)}return g((this||vc)._ah,(this||vc)._al,0),g((this||vc)._bh,(this||vc)._bl,8),g((this||vc)._ch,(this||vc)._cl,16),g((this||vc)._dh,(this||vc)._dl,24),g((this||vc)._eh,(this||vc)._el,32),g((this||vc)._fh,(this||vc)._fl,40),d},soe=o,soe}function Rue(){if(wke)return coe.exports;wke=!0;var e=coe.exports=function(r){r=r.toLowerCase();var i=e[r];if(!i)throw new Error(r+" is not supported (we accept pull requests)");return new i};return e.sha=M6t(),e.sha1=D6t(),e.sha224=k6t(),e.sha256=xHe(),e.sha384=P6t(),e.sha512=THe(),coe.exports}function xg(e,t,r){r||(r=Error);class i extends r{constructor(o,d,g){super((function(y,_,I){return typeof t=="string"?t:t(y,_,I)})(o,d,g))}}i.prototype.name=r.name,i.prototype.code=e,BHe[e]=i}function Oke(e,t){if(Array.isArray(e)){let r=e.length;return e=e.map(i=>String(i)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:r===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}function uoe(e){try{if(!Uce.localStorage)return!1}catch{return!1}var t=Uce.localStorage[e];return t!=null&&String(t).toLowerCase()==="true"}function Nke(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,i)}return r}function U6t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function F6t(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function xke(e,t){Qce(e,t),hq(e)}function hq(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Qce(e,t){e.emit("error",t)}function q6t(){}function h6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E6(e,t){return{value:e,done:t}}function z6t(e){var t=e[A6];if(t!==null){var r=e[h4].read();r!==null&&(e[l4]=null,e[A6]=null,e[i4]=null,t(E6(r,!1)))}}function K6t(e){LHe.nextTick(z6t,e)}function UHe(){if(Bke)return foe;Bke=!0;var e,t=Mo;foe=pe,pe.ReadableState=le,xc.EventEmitter;var r=function(F,X){return F.listeners(X).length},i=Yq,n=Vo.Buffer,o=X6t.Uint8Array||function(){},d,g=yn;d=g&&g.debuglog?g.debuglog("stream"):function(){};var y,_,I,N=H6t,T=kHe,M=PHe.getHighWaterMark,D=ym.codes,P=D.ERR_INVALID_ARG_TYPE,G=D.ERR_STREAM_PUSH_AFTER_EOF,q=D.ERR_METHOD_NOT_IMPLEMENTED,Y=D.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;ca(pe,i);var ne=T.errorOrDestroy,ce=["error","close","destroy","pause","resume"];function le(F,X,Ae){e=e||SD(),F=F||{},typeof Ae!="boolean"&&(Ae=X instanceof e),this.objectMode=!!F.objectMode,Ae&&(this.objectMode=this.objectMode||!!F.readableObjectMode),this.highWaterMark=M(this,F,"readableHighWaterMark",Ae),this.buffer=new N,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=F.emitClose!==!1,this.autoDestroy=!!F.autoDestroy,this.destroyed=!1,this.defaultEncoding=F.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,F.encoding&&(y||(y=yh.StringDecoder),this.decoder=new y(F.encoding),this.encoding=F.encoding)}function pe(F){if(e=e||SD(),!(this instanceof pe))return new pe(F);var X=this instanceof e;this._readableState=new le(F,this,X),this.readable=!0,F&&(typeof F.read=="function"&&(this._read=F.read),typeof F.destroy=="function"&&(this._destroy=F.destroy)),i.call(this)}function ae(F,X,Ae,he,$e){d("readableAddChunk",X);var Ge,Re=F._readableState;if(X===null)Re.reading=!1,(function(Se,ct){if(d("onEofChunk"),!ct.ended){if(ct.decoder){var ze=ct.decoder.end();ze&&ze.length&&(ct.buffer.push(ze),ct.length+=ct.objectMode?1:ze.length)}ct.ended=!0,ct.sync?O(Se):(ct.needReadable=!1,ct.emittedReadable||(ct.emittedReadable=!0,s(Se)))}})(F,Re);else if($e||(Ge=(function(Se,ct){var ze;te=ct,n.isBuffer(te)||te instanceof o||typeof ct=="string"||ct===void 0||Se.objectMode||(ze=new P("chunk",["string","Buffer","Uint8Array"],ct));var te;return ze})(Re,X)),Ge)ne(F,Ge);else if(Re.objectMode||X&&X.length>0)if(typeof X=="string"||Re.objectMode||Object.getPrototypeOf(X)===n.prototype||(X=(function(Se){return n.from(Se)})(X)),he)Re.endEmitted?ne(F,new Y):W(F,Re,X,!0);else if(Re.ended)ne(F,new G);else{if(Re.destroyed)return!1;Re.reading=!1,Re.decoder&&!Ae?(X=Re.decoder.write(X),Re.objectMode||X.length!==0?W(F,Re,X,!1):l(F,Re)):W(F,Re,X,!1)}else he||(Re.reading=!1,l(F,Re));return!Re.ended&&(Re.length<Re.highWaterMark||Re.length===0)}function W(F,X,Ae,he){X.flowing&&X.length===0&&!X.sync?(X.awaitDrain=0,F.emit("data",Ae)):(X.length+=X.objectMode?1:Ae.length,he?X.buffer.unshift(Ae):X.buffer.push(Ae),X.needReadable&&O(F)),l(F,X)}Object.defineProperty(pe.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._readableState.destroyed},set:function(F){this._readableState&&(this._readableState.destroyed=F)}}),pe.prototype.destroy=T.destroy,pe.prototype._undestroy=T.undestroy,pe.prototype._destroy=function(F,X){X(F)},pe.prototype.push=function(F,X){var Ae,he=this._readableState;return he.objectMode?Ae=!0:typeof F=="string"&&((X=X||he.defaultEncoding)!==he.encoding&&(F=n.from(F,X),X=""),Ae=!0),ae(this,F,X,!1,Ae)},pe.prototype.unshift=function(F){return ae(this,F,null,!0,!1)},pe.prototype.isPaused=function(){return this._readableState.flowing===!1},pe.prototype.setEncoding=function(F){y||(y=yh.StringDecoder);var X=new y(F);this._readableState.decoder=X,this._readableState.encoding=this._readableState.decoder.encoding;for(var Ae=this._readableState.buffer.head,he="";Ae!==null;)he+=X.write(Ae.data),Ae=Ae.next;return this._readableState.buffer.clear(),he!==""&&this._readableState.buffer.push(he),this._readableState.length=he.length,this};function se(F,X){return F<=0||X.length===0&&X.ended?0:X.objectMode?1:F!=F?X.flowing&&X.length?X.buffer.head.data.length:X.length:(F>X.highWaterMark&&(X.highWaterMark=(function(Ae){return Ae>=1073741824?Ae=1073741824:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae})(F)),F<=X.length?F:X.ended?X.length:(X.needReadable=!0,0))}function O(F){var X=F._readableState;d("emitReadable",X.needReadable,X.emittedReadable),X.needReadable=!1,X.emittedReadable||(d("emitReadable",X.flowing),X.emittedReadable=!0,t.nextTick(s,F))}function s(F){var X=F._readableState;d("emitReadable_",X.destroyed,X.length,X.ended),X.destroyed||!X.length&&!X.ended||(F.emit("readable"),X.emittedReadable=!1),X.needReadable=!X.flowing&&!X.ended&&X.length<=X.highWaterMark,x(F)}function l(F,X){X.readingMore||(X.readingMore=!0,t.nextTick(A,F,X))}function A(F,X){for(;!X.reading&&!X.ended&&(X.length<X.highWaterMark||X.flowing&&X.length===0);){var Ae=X.length;if(d("maybeReadMore read 0"),F.read(0),Ae===X.length)break}X.readingMore=!1}function m(F){var X=F._readableState;X.readableListening=F.listenerCount("readable")>0,X.resumeScheduled&&!X.paused?X.flowing=!0:F.listenerCount("data")>0&&F.resume()}function E(F){d("readable nexttick read 0"),F.read(0)}function w(F,X){d("resume",X.reading),X.reading||F.read(0),X.resumeScheduled=!1,F.emit("resume"),x(F),X.flowing&&!X.reading&&F.read(0)}function x(F){var X=F._readableState;for(d("flow",X.flowing);X.flowing&&F.read()!==null;);}function R(F,X){return X.length===0?null:(X.objectMode?Ae=X.buffer.shift():!F||F>=X.length?(Ae=X.decoder?X.buffer.join(""):X.buffer.length===1?X.buffer.first():X.buffer.concat(X.length),X.buffer.clear()):Ae=X.buffer.consume(F,X.decoder),Ae);var Ae}function u(F){var X=F._readableState;d("endReadable",X.endEmitted),X.endEmitted||(X.ended=!0,t.nextTick(C,X,F))}function C(F,X){if(d("endReadableNT",F.endEmitted,F.length),!F.endEmitted&&F.length===0&&(F.endEmitted=!0,X.readable=!1,X.emit("end"),F.autoDestroy)){var Ae=X._writableState;(!Ae||Ae.autoDestroy&&Ae.finished)&&X.destroy()}}function U(F,X){for(var Ae=0,he=F.length;Ae<he;Ae++)if(F[Ae]===X)return Ae;return-1}return pe.prototype.read=function(F){d("read",F),F=parseInt(F,10);var X=this._readableState,Ae=F;if(F!==0&&(X.emittedReadable=!1),F===0&&X.needReadable&&((X.highWaterMark!==0?X.length>=X.highWaterMark:X.length>0)||X.ended))return d("read: emitReadable",X.length,X.ended),X.length===0&&X.ended?u(this):O(this),null;if((F=se(F,X))===0&&X.ended)return X.length===0&&u(this),null;var he,$e=X.needReadable;return d("need readable",$e),(X.length===0||X.length-F<X.highWaterMark)&&d("length less than watermark",$e=!0),X.ended||X.reading?d("reading or ended",$e=!1):$e&&(d("do read"),X.reading=!0,X.sync=!0,X.length===0&&(X.needReadable=!0),this._read(X.highWaterMark),X.sync=!1,X.reading||(F=se(Ae,X))),(he=F>0?R(F,X):null)===null?(X.needReadable=X.length<=X.highWaterMark,F=0):(X.length-=F,X.awaitDrain=0),X.length===0&&(X.ended||(X.needReadable=!0),Ae!==F&&X.ended&&u(this)),he!==null&&this.emit("data",he),he},pe.prototype._read=function(F){ne(this,new q("_read()"))},pe.prototype.pipe=function(F,X){var Ae=this,he=this._readableState;switch(he.pipesCount){case 0:he.pipes=F;break;case 1:he.pipes=[he.pipes,F];break;default:he.pipes.push(F)}he.pipesCount+=1,d("pipe count=%d opts=%j",he.pipesCount,X);var $e=(!X||X.end!==!1)&&F!==t.stdout&&F!==t.stderr?Re:ge;function Ge(Le,V){d("onunpipe"),Le===Ae&&V&&V.hasUnpiped===!1&&(V.hasUnpiped=!0,d("cleanup"),F.removeListener("close",Ue),F.removeListener("finish",oe),F.removeListener("drain",Se),F.removeListener("error",te),F.removeListener("unpipe",Ge),Ae.removeListener("end",Re),Ae.removeListener("end",ge),Ae.removeListener("data",ze),ct=!0,!he.awaitDrain||F._writableState&&!F._writableState.needDrain||Se())}function Re(){d("onend"),F.end()}he.endEmitted?t.nextTick($e):Ae.once("end",$e),F.on("unpipe",Ge);var Se=(function(Le){return function(){var V=Le._readableState;d("pipeOnDrain",V.awaitDrain),V.awaitDrain&&V.awaitDrain--,V.awaitDrain===0&&r(Le,"data")&&(V.flowing=!0,x(Le))}})(Ae);F.on("drain",Se);var ct=!1;function ze(Le){d("ondata");var V=F.write(Le);d("dest.write",V),V===!1&&((he.pipesCount===1&&he.pipes===F||he.pipesCount>1&&U(he.pipes,F)!==-1)&&!ct&&(d("false write response, pause",he.awaitDrain),he.awaitDrain++),Ae.pause())}function te(Le){d("onerror",Le),ge(),F.removeListener("error",te),r(F,"error")===0&&ne(F,Le)}function Ue(){F.removeListener("finish",oe),ge()}function oe(){d("onfinish"),F.removeListener("close",Ue),ge()}function ge(){d("unpipe"),Ae.unpipe(F)}return Ae.on("data",ze),(function(Le,V,Qe){if(typeof Le.prependListener=="function")return Le.prependListener(V,Qe);Le._events&&Le._events[V]?Array.isArray(Le._events[V])?Le._events[V].unshift(Qe):Le._events[V]=[Qe,Le._events[V]]:Le.on(V,Qe)})(F,"error",te),F.once("close",Ue),F.once("finish",oe),F.emit("pipe",Ae),he.flowing||(d("pipe resume"),Ae.resume()),F},pe.prototype.unpipe=function(F){var X=this._readableState,Ae={hasUnpiped:!1};if(X.pipesCount===0)return this;if(X.pipesCount===1)return F&&F!==X.pipes||(F||(F=X.pipes),X.pipes=null,X.pipesCount=0,X.flowing=!1,F&&F.emit("unpipe",this,Ae)),this;if(!F){var he=X.pipes,$e=X.pipesCount;X.pipes=null,X.pipesCount=0,X.flowing=!1;for(var Ge=0;Ge<$e;Ge++)he[Ge].emit("unpipe",this,{hasUnpiped:!1});return this}var Re=U(X.pipes,F);return Re===-1||(X.pipes.splice(Re,1),X.pipesCount-=1,X.pipesCount===1&&(X.pipes=X.pipes[0]),F.emit("unpipe",this,Ae)),this},pe.prototype.on=function(F,X){var Ae=i.prototype.on.call(this,F,X),he=this._readableState;return F==="data"?(he.readableListening=this.listenerCount("readable")>0,he.flowing!==!1&&this.resume()):F==="readable"&&(he.endEmitted||he.readableListening||(he.readableListening=he.needReadable=!0,he.flowing=!1,he.emittedReadable=!1,d("on readable",he.length,he.reading),he.length?O(this):he.reading||t.nextTick(E,this))),Ae},pe.prototype.addListener=pe.prototype.on,pe.prototype.removeListener=function(F,X){var Ae=i.prototype.removeListener.call(this,F,X);return F==="readable"&&t.nextTick(m,this),Ae},pe.prototype.removeAllListeners=function(F){var X=i.prototype.removeAllListeners.apply(this,arguments);return F!=="readable"&&F!==void 0||t.nextTick(m,this),X},pe.prototype.resume=function(){var F=this._readableState;return F.flowing||(d("resume"),F.flowing=!F.readableListening,(function(X,Ae){Ae.resumeScheduled||(Ae.resumeScheduled=!0,t.nextTick(w,X,Ae))})(this,F)),F.paused=!1,this},pe.prototype.pause=function(){return d("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(d("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},pe.prototype.wrap=function(F){var X=this,Ae=this._readableState,he=!1;for(var $e in F.on("end",(function(){if(d("wrapped end"),Ae.decoder&&!Ae.ended){var Re=Ae.decoder.end();Re&&Re.length&&X.push(Re)}X.push(null)})),F.on("data",(function(Re){d("wrapped data"),Ae.decoder&&(Re=Ae.decoder.write(Re)),Ae.objectMode&&Re==null||(Ae.objectMode||Re&&Re.length)&&(X.push(Re)||(he=!0,F.pause()))})),F)this[$e]===void 0&&typeof F[$e]=="function"&&(this[$e]=(function(Re){return function(){return F[Re].apply(F,arguments)}})($e));for(var Ge=0;Ge<ce.length;Ge++)F.on(ce[Ge],this.emit.bind(this,ce[Ge]));return this._read=function(Re){d("wrapped _read",Re),he&&(he=!1,F.resume())},this},typeof Symbol=="function"&&(pe.prototype[Symbol.asyncIterator]=function(){return _===void 0&&(_=W6t),_(this)}),Object.defineProperty(pe.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(pe.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(pe.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(F){this._readableState&&(this._readableState.flowing=F)}}),pe._fromList=R,Object.defineProperty(pe.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),typeof Symbol=="function"&&(pe.from=function(F,X){return I===void 0&&(I=MHe),I(pe,F,X)}),foe}function j6t(){if(Mke)return loe;Mke=!0;var e,t=Mo;function r(A){var m=this;this.next=null,this.entry=null,this.finish=function(){(function(E,w,x){var R=E.entry;for(E.entry=null;R;){var u=R.callback;w.pendingcb--,u(x),R=R.next}w.corkedRequestsFree.next=E})(m,A)}}loe=pe,pe.WritableState=le;var i={deprecate:DHe},n=Yq,o=Vo.Buffer,d=Z6t.Uint8Array||function(){},g,y=kHe,_=PHe.getHighWaterMark,I=ym.codes,N=I.ERR_INVALID_ARG_TYPE,T=I.ERR_METHOD_NOT_IMPLEMENTED,M=I.ERR_MULTIPLE_CALLBACK,D=I.ERR_STREAM_CANNOT_PIPE,P=I.ERR_STREAM_DESTROYED,G=I.ERR_STREAM_NULL_VALUES,q=I.ERR_STREAM_WRITE_AFTER_END,Y=I.ERR_UNKNOWN_ENCODING,ne=y.errorOrDestroy;function ce(){}function le(A,m,E){e=e||SD(),A=A||{},typeof E!="boolean"&&(E=m instanceof e),this.objectMode=!!A.objectMode,E&&(this.objectMode=this.objectMode||!!A.writableObjectMode),this.highWaterMark=_(this,A,"writableHighWaterMark",E),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var w=A.decodeStrings===!1;this.decodeStrings=!w,this.defaultEncoding=A.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(x){(function(R,u){var C=R._writableState,U=C.sync,F=C.writecb;if(typeof F!="function")throw new M;if((function(Ae){Ae.writing=!1,Ae.writecb=null,Ae.length-=Ae.writelen,Ae.writelen=0})(C),u)(function(Ae,he,$e,Ge,Re){--he.pendingcb,$e?(t.nextTick(Re,Ge),t.nextTick(l,Ae,he),Ae._writableState.errorEmitted=!0,ne(Ae,Ge)):(Re(Ge),Ae._writableState.errorEmitted=!0,ne(Ae,Ge),l(Ae,he))})(R,C,U,u,F);else{var X=O(C)||R.destroyed;X||C.corked||C.bufferProcessing||!C.bufferedRequest||se(R,C),U?t.nextTick(W,R,C,X,F):W(R,C,X,F)}})(m,x)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=A.emitClose!==!1,this.autoDestroy=!!A.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function pe(A){var m=this instanceof(e=e||SD());if(!m&&!g.call(pe,this))return new pe(A);this._writableState=new le(A,this,m),this.writable=!0,A&&(typeof A.write=="function"&&(this._write=A.write),typeof A.writev=="function"&&(this._writev=A.writev),typeof A.destroy=="function"&&(this._destroy=A.destroy),typeof A.final=="function"&&(this._final=A.final)),n.call(this)}function ae(A,m,E,w,x,R,u){m.writelen=w,m.writecb=u,m.writing=!0,m.sync=!0,m.destroyed?m.onwrite(new P("write")):E?A._writev(x,m.onwrite):A._write(x,R,m.onwrite),m.sync=!1}function W(A,m,E,w){E||(function(x,R){R.length===0&&R.needDrain&&(R.needDrain=!1,x.emit("drain"))})(A,m),m.pendingcb--,w(),l(A,m)}function se(A,m){m.bufferProcessing=!0;var E=m.bufferedRequest;if(A._writev&&E&&E.next){var w=m.bufferedRequestCount,x=new Array(w),R=m.corkedRequestsFree;R.entry=E;for(var u=0,C=!0;E;)x[u]=E,E.isBuf||(C=!1),E=E.next,u+=1;x.allBuffers=C,ae(A,m,!0,m.length,x,"",R.finish),m.pendingcb++,m.lastBufferedRequest=null,R.next?(m.corkedRequestsFree=R.next,R.next=null):m.corkedRequestsFree=new r(m),m.bufferedRequestCount=0}else{for(;E;){var U=E.chunk,F=E.encoding,X=E.callback;if(ae(A,m,!1,m.objectMode?1:U.length,U,F,X),E=E.next,m.bufferedRequestCount--,m.writing)break}E===null&&(m.lastBufferedRequest=null)}m.bufferedRequest=E,m.bufferProcessing=!1}function O(A){return A.ending&&A.length===0&&A.bufferedRequest===null&&!A.finished&&!A.writing}function s(A,m){A._final((function(E){m.pendingcb--,E&&ne(A,E),m.prefinished=!0,A.emit("prefinish"),l(A,m)}))}function l(A,m){var E=O(m);if(E&&((function(x,R){R.prefinished||R.finalCalled||(typeof x._final!="function"||R.destroyed?(R.prefinished=!0,x.emit("prefinish")):(R.pendingcb++,R.finalCalled=!0,t.nextTick(s,x,R)))})(A,m),m.pendingcb===0&&(m.finished=!0,A.emit("finish"),m.autoDestroy))){var w=A._readableState;(!w||w.autoDestroy&&w.endEmitted)&&A.destroy()}return E}return ca(pe,n),le.prototype.getBuffer=function(){for(var A=this.bufferedRequest,m=[];A;)m.push(A),A=A.next;return m},(function(){try{Object.defineProperty(le.prototype,"buffer",{get:i.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(g=Function.prototype[Symbol.hasInstance],Object.defineProperty(pe,Symbol.hasInstance,{value:function(A){return!!g.call(this,A)||this===pe&&A&&A._writableState instanceof le}})):g=function(A){return A instanceof this},pe.prototype.pipe=function(){ne(this,new D)},pe.prototype.write=function(A,m,E){var w,x=this._writableState,R=!1,u=!x.objectMode&&(w=A,o.isBuffer(w)||w instanceof d);return u&&!o.isBuffer(A)&&(A=(function(C){return o.from(C)})(A)),typeof m=="function"&&(E=m,m=null),u?m="buffer":m||(m=x.defaultEncoding),typeof E!="function"&&(E=ce),x.ending?(function(C,U){var F=new q;ne(C,F),t.nextTick(U,F)})(this,E):(u||(function(C,U,F,X){var Ae;return F===null?Ae=new G:typeof F=="string"||U.objectMode||(Ae=new N("chunk",["string","Buffer"],F)),!Ae||(ne(C,Ae),t.nextTick(X,Ae),!1)})(this,x,A,E))&&(x.pendingcb++,R=(function(C,U,F,X,Ae,he){if(!F){var $e=(function(ct,ze,te){return ct.objectMode||ct.decodeStrings===!1||typeof ze!="string"||(ze=o.from(ze,te)),ze})(U,X,Ae);X!==$e&&(F=!0,Ae="buffer",X=$e)}var Ge=U.objectMode?1:X.length;U.length+=Ge;var Re=U.length<U.highWaterMark;if(Re||(U.needDrain=!0),U.writing||U.corked){var Se=U.lastBufferedRequest;U.lastBufferedRequest={chunk:X,encoding:Ae,isBuf:F,callback:he,next:null},Se?Se.next=U.lastBufferedRequest:U.bufferedRequest=U.lastBufferedRequest,U.bufferedRequestCount+=1}else ae(C,U,!1,Ge,X,Ae,he);return Re})(this,x,u,A,m,E)),R},pe.prototype.cork=function(){this._writableState.corked++},pe.prototype.uncork=function(){var A=this._writableState;A.corked&&(A.corked--,A.writing||A.corked||A.bufferProcessing||!A.bufferedRequest||se(this,A))},pe.prototype.setDefaultEncoding=function(A){if(typeof A=="string"&&(A=A.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((A+"").toLowerCase())>-1))throw new Y(A);return this._writableState.defaultEncoding=A,this},Object.defineProperty(pe.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(pe.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),pe.prototype._write=function(A,m,E){E(new T("_write()"))},pe.prototype._writev=null,pe.prototype.end=function(A,m,E){var w=this._writableState;return typeof A=="function"?(E=A,A=null,m=null):typeof m=="function"&&(E=m,m=null),A!=null&&this.write(A,m),w.corked&&(w.corked=1,this.uncork()),w.ending||(function(x,R,u){R.ending=!0,l(x,R),u&&(R.finished?t.nextTick(u):x.once("finish",u)),R.ended=!0,x.writable=!1})(this,w,E),this},Object.defineProperty(pe.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(pe.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(A){this._writableState&&(this._writableState.destroyed=A)}}),pe.prototype.destroy=y.destroy,pe.prototype._undestroy=y.undestroy,pe.prototype._destroy=function(A,m){m(A)},loe}function SD(){if(Dke)return hoe;Dke=!0;var e=Mo,t=Object.keys||function(I){var N=[];for(var T in I)N.push(T);return N};hoe=g;var r=UHe(),i=j6t();ca(g,r);for(var n=t(i.prototype),o=0;o<n.length;o++){var d=n[o];g.prototype[d]||(g.prototype[d]=i.prototype[d])}function g(I){if(!(this instanceof g))return new g(I);r.call(this,I),i.call(this,I),this.allowHalfOpen=!0,I&&(I.readable===!1&&(this.readable=!1),I.writable===!1&&(this.writable=!1),I.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",y)))}function y(){this._writableState.ended||e.nextTick(_,this)}function _(I){I.end()}return Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(g.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(g.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._writableState!==void 0&&this._readableState.destroyed&&this._writableState.destroyed},set:function(I){this._readableState!==void 0&&this._writableState!==void 0&&(this._readableState.destroyed=I,this._writableState.destroyed=I)}}),hoe}function tIt(){}function Pke(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,i)}return r}function rIt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nIt(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Lke(e,t){qce(e,t),Aq(e)}function Aq(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function qce(e,t){e.emit("error",t)}function p6(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v6(e,t){return{value:e,done:t}}function cIt(e){var t=e[g6];if(t!==null){var r=e[p4].read();r!==null&&(e[A4]=null,e[g6]=null,e[o4]=null,t(v6(r,!1)))}}function uIt(e){HHe.nextTick(cIt,e)}function AIt(){if(Uke)return poe;Uke=!0;var e,t=Mo;poe=pe,pe.ReadableState=le,xc.EventEmitter;var r=function(F,X){return F.listeners(X).length},i=Yq,n=Vo.Buffer,o=hIt.Uint8Array||function(){},d,g=yn;d=g&&g.debuglog?g.debuglog("stream"):function(){};var y,_,I,N=oIt,T=FHe,M=QHe.getHighWaterMark,D=ym.codes,P=D.ERR_INVALID_ARG_TYPE,G=D.ERR_STREAM_PUSH_AFTER_EOF,q=D.ERR_METHOD_NOT_IMPLEMENTED,Y=D.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;ca(pe,i);var ne=T.errorOrDestroy,ce=["error","close","destroy","pause","resume"];function le(F,X,Ae){e=e||kq(),F=F||{},typeof Ae!="boolean"&&(Ae=X instanceof e),this.objectMode=!!F.objectMode,Ae&&(this.objectMode=this.objectMode||!!F.readableObjectMode),this.highWaterMark=M(this,F,"readableHighWaterMark",Ae),this.buffer=new N,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=F.emitClose!==!1,this.autoDestroy=!!F.autoDestroy,this.destroyed=!1,this.defaultEncoding=F.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,F.encoding&&(y||(y=yh.StringDecoder),this.decoder=new y(F.encoding),this.encoding=F.encoding)}function pe(F){if(e=e||kq(),!(this instanceof pe))return new pe(F);var X=this instanceof e;this._readableState=new le(F,this,X),this.readable=!0,F&&(typeof F.read=="function"&&(this._read=F.read),typeof F.destroy=="function"&&(this._destroy=F.destroy)),i.call(this)}function ae(F,X,Ae,he,$e){d("readableAddChunk",X);var Ge,Re=F._readableState;if(X===null)Re.reading=!1,(function(Se,ct){if(d("onEofChunk"),!ct.ended){if(ct.decoder){var ze=ct.decoder.end();ze&&ze.length&&(ct.buffer.push(ze),ct.length+=ct.objectMode?1:ze.length)}ct.ended=!0,ct.sync?O(Se):(ct.needReadable=!1,ct.emittedReadable||(ct.emittedReadable=!0,s(Se)))}})(F,Re);else if($e||(Ge=(function(Se,ct){var ze;te=ct,n.isBuffer(te)||te instanceof o||typeof ct=="string"||ct===void 0||Se.objectMode||(ze=new P("chunk",["string","Buffer","Uint8Array"],ct));var te;return ze})(Re,X)),Ge)ne(F,Ge);else if(Re.objectMode||X&&X.length>0)if(typeof X=="string"||Re.objectMode||Object.getPrototypeOf(X)===n.prototype||(X=(function(Se){return n.from(Se)})(X)),he)Re.endEmitted?ne(F,new Y):W(F,Re,X,!0);else if(Re.ended)ne(F,new G);else{if(Re.destroyed)return!1;Re.reading=!1,Re.decoder&&!Ae?(X=Re.decoder.write(X),Re.objectMode||X.length!==0?W(F,Re,X,!1):l(F,Re)):W(F,Re,X,!1)}else he||(Re.reading=!1,l(F,Re));return!Re.ended&&(Re.length<Re.highWaterMark||Re.length===0)}function W(F,X,Ae,he){X.flowing&&X.length===0&&!X.sync?(X.awaitDrain=0,F.emit("data",Ae)):(X.length+=X.objectMode?1:Ae.length,he?X.buffer.unshift(Ae):X.buffer.push(Ae),X.needReadable&&O(F)),l(F,X)}Object.defineProperty(pe.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._readableState.destroyed},set:function(F){this._readableState&&(this._readableState.destroyed=F)}}),pe.prototype.destroy=T.destroy,pe.prototype._undestroy=T.undestroy,pe.prototype._destroy=function(F,X){X(F)},pe.prototype.push=function(F,X){var Ae,he=this._readableState;return he.objectMode?Ae=!0:typeof F=="string"&&((X=X||he.defaultEncoding)!==he.encoding&&(F=n.from(F,X),X=""),Ae=!0),ae(this,F,X,!1,Ae)},pe.prototype.unshift=function(F){return ae(this,F,null,!0,!1)},pe.prototype.isPaused=function(){return this._readableState.flowing===!1},pe.prototype.setEncoding=function(F){y||(y=yh.StringDecoder);var X=new y(F);this._readableState.decoder=X,this._readableState.encoding=this._readableState.decoder.encoding;for(var Ae=this._readableState.buffer.head,he="";Ae!==null;)he+=X.write(Ae.data),Ae=Ae.next;return this._readableState.buffer.clear(),he!==""&&this._readableState.buffer.push(he),this._readableState.length=he.length,this};function se(F,X){return F<=0||X.length===0&&X.ended?0:X.objectMode?1:F!=F?X.flowing&&X.length?X.buffer.head.data.length:X.length:(F>X.highWaterMark&&(X.highWaterMark=(function(Ae){return Ae>=1073741824?Ae=1073741824:(Ae--,Ae|=Ae>>>1,Ae|=Ae>>>2,Ae|=Ae>>>4,Ae|=Ae>>>8,Ae|=Ae>>>16,Ae++),Ae})(F)),F<=X.length?F:X.ended?X.length:(X.needReadable=!0,0))}function O(F){var X=F._readableState;d("emitReadable",X.needReadable,X.emittedReadable),X.needReadable=!1,X.emittedReadable||(d("emitReadable",X.flowing),X.emittedReadable=!0,t.nextTick(s,F))}function s(F){var X=F._readableState;d("emitReadable_",X.destroyed,X.length,X.ended),X.destroyed||!X.length&&!X.ended||(F.emit("readable"),X.emittedReadable=!1),X.needReadable=!X.flowing&&!X.ended&&X.length<=X.highWaterMark,x(F)}function l(F,X){X.readingMore||(X.readingMore=!0,t.nextTick(A,F,X))}function A(F,X){for(;!X.reading&&!X.ended&&(X.length<X.highWaterMark||X.flowing&&X.length===0);){var Ae=X.length;if(d("maybeReadMore read 0"),F.read(0),Ae===X.length)break}X.readingMore=!1}function m(F){var X=F._readableState;X.readableListening=F.listenerCount("readable")>0,X.resumeScheduled&&!X.paused?X.flowing=!0:F.listenerCount("data")>0&&F.resume()}function E(F){d("readable nexttick read 0"),F.read(0)}function w(F,X){d("resume",X.reading),X.reading||F.read(0),X.resumeScheduled=!1,F.emit("resume"),x(F),X.flowing&&!X.reading&&F.read(0)}function x(F){var X=F._readableState;for(d("flow",X.flowing);X.flowing&&F.read()!==null;);}function R(F,X){return X.length===0?null:(X.objectMode?Ae=X.buffer.shift():!F||F>=X.length?(Ae=X.decoder?X.buffer.join(""):X.buffer.length===1?X.buffer.first():X.buffer.concat(X.length),X.buffer.clear()):Ae=X.buffer.consume(F,X.decoder),Ae);var Ae}function u(F){var X=F._readableState;d("endReadable",X.endEmitted),X.endEmitted||(X.ended=!0,t.nextTick(C,X,F))}function C(F,X){if(d("endReadableNT",F.endEmitted,F.length),!F.endEmitted&&F.length===0&&(F.endEmitted=!0,X.readable=!1,X.emit("end"),F.autoDestroy)){var Ae=X._writableState;(!Ae||Ae.autoDestroy&&Ae.finished)&&X.destroy()}}function U(F,X){for(var Ae=0,he=F.length;Ae<he;Ae++)if(F[Ae]===X)return Ae;return-1}return pe.prototype.read=function(F){d("read",F),F=parseInt(F,10);var X=this._readableState,Ae=F;if(F!==0&&(X.emittedReadable=!1),F===0&&X.needReadable&&((X.highWaterMark!==0?X.length>=X.highWaterMark:X.length>0)||X.ended))return d("read: emitReadable",X.length,X.ended),X.length===0&&X.ended?u(this):O(this),null;if((F=se(F,X))===0&&X.ended)return X.length===0&&u(this),null;var he,$e=X.needReadable;return d("need readable",$e),(X.length===0||X.length-F<X.highWaterMark)&&d("length less than watermark",$e=!0),X.ended||X.reading?d("reading or ended",$e=!1):$e&&(d("do read"),X.reading=!0,X.sync=!0,X.length===0&&(X.needReadable=!0),this._read(X.highWaterMark),X.sync=!1,X.reading||(F=se(Ae,X))),(he=F>0?R(F,X):null)===null?(X.needReadable=X.length<=X.highWaterMark,F=0):(X.length-=F,X.awaitDrain=0),X.length===0&&(X.ended||(X.needReadable=!0),Ae!==F&&X.ended&&u(this)),he!==null&&this.emit("data",he),he},pe.prototype._read=function(F){ne(this,new q("_read()"))},pe.prototype.pipe=function(F,X){var Ae=this,he=this._readableState;switch(he.pipesCount){case 0:he.pipes=F;break;case 1:he.pipes=[he.pipes,F];break;default:he.pipes.push(F)}he.pipesCount+=1,d("pipe count=%d opts=%j",he.pipesCount,X);var $e=(!X||X.end!==!1)&&F!==t.stdout&&F!==t.stderr?Re:ge;function Ge(Le,V){d("onunpipe"),Le===Ae&&V&&V.hasUnpiped===!1&&(V.hasUnpiped=!0,d("cleanup"),F.removeListener("close",Ue),F.removeListener("finish",oe),F.removeListener("drain",Se),F.removeListener("error",te),F.removeListener("unpipe",Ge),Ae.removeListener("end",Re),Ae.removeListener("end",ge),Ae.removeListener("data",ze),ct=!0,!he.awaitDrain||F._writableState&&!F._writableState.needDrain||Se())}function Re(){d("onend"),F.end()}he.endEmitted?t.nextTick($e):Ae.once("end",$e),F.on("unpipe",Ge);var Se=(function(Le){return function(){var V=Le._readableState;d("pipeOnDrain",V.awaitDrain),V.awaitDrain&&V.awaitDrain--,V.awaitDrain===0&&r(Le,"data")&&(V.flowing=!0,x(Le))}})(Ae);F.on("drain",Se);var ct=!1;function ze(Le){d("ondata");var V=F.write(Le);d("dest.write",V),V===!1&&((he.pipesCount===1&&he.pipes===F||he.pipesCount>1&&U(he.pipes,F)!==-1)&&!ct&&(d("false write response, pause",he.awaitDrain),he.awaitDrain++),Ae.pause())}function te(Le){d("onerror",Le),ge(),F.removeListener("error",te),r(F,"error")===0&&ne(F,Le)}function Ue(){F.removeListener("finish",oe),ge()}function oe(){d("onfinish"),F.removeListener("close",Ue),ge()}function ge(){d("unpipe"),Ae.unpipe(F)}return Ae.on("data",ze),(function(Le,V,Qe){if(typeof Le.prependListener=="function")return Le.prependListener(V,Qe);Le._events&&Le._events[V]?Array.isArray(Le._events[V])?Le._events[V].unshift(Qe):Le._events[V]=[Qe,Le._events[V]]:Le.on(V,Qe)})(F,"error",te),F.once("close",Ue),F.once("finish",oe),F.emit("pipe",Ae),he.flowing||(d("pipe resume"),Ae.resume()),F},pe.prototype.unpipe=function(F){var X=this._readableState,Ae={hasUnpiped:!1};if(X.pipesCount===0)return this;if(X.pipesCount===1)return F&&F!==X.pipes||(F||(F=X.pipes),X.pipes=null,X.pipesCount=0,X.flowing=!1,F&&F.emit("unpipe",this,Ae)),this;if(!F){var he=X.pipes,$e=X.pipesCount;X.pipes=null,X.pipesCount=0,X.flowing=!1;for(var Ge=0;Ge<$e;Ge++)he[Ge].emit("unpipe",this,{hasUnpiped:!1});return this}var Re=U(X.pipes,F);return Re===-1||(X.pipes.splice(Re,1),X.pipesCount-=1,X.pipesCount===1&&(X.pipes=X.pipes[0]),F.emit("unpipe",this,Ae)),this},pe.prototype.on=function(F,X){var Ae=i.prototype.on.call(this,F,X),he=this._readableState;return F==="data"?(he.readableListening=this.listenerCount("readable")>0,he.flowing!==!1&&this.resume()):F==="readable"&&(he.endEmitted||he.readableListening||(he.readableListening=he.needReadable=!0,he.flowing=!1,he.emittedReadable=!1,d("on readable",he.length,he.reading),he.length?O(this):he.reading||t.nextTick(E,this))),Ae},pe.prototype.addListener=pe.prototype.on,pe.prototype.removeListener=function(F,X){var Ae=i.prototype.removeListener.call(this,F,X);return F==="readable"&&t.nextTick(m,this),Ae},pe.prototype.removeAllListeners=function(F){var X=i.prototype.removeAllListeners.apply(this,arguments);return F!=="readable"&&F!==void 0||t.nextTick(m,this),X},pe.prototype.resume=function(){var F=this._readableState;return F.flowing||(d("resume"),F.flowing=!F.readableListening,(function(X,Ae){Ae.resumeScheduled||(Ae.resumeScheduled=!0,t.nextTick(w,X,Ae))})(this,F)),F.paused=!1,this},pe.prototype.pause=function(){return d("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(d("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},pe.prototype.wrap=function(F){var X=this,Ae=this._readableState,he=!1;for(var $e in F.on("end",(function(){if(d("wrapped end"),Ae.decoder&&!Ae.ended){var Re=Ae.decoder.end();Re&&Re.length&&X.push(Re)}X.push(null)})),F.on("data",(function(Re){d("wrapped data"),Ae.decoder&&(Re=Ae.decoder.write(Re)),Ae.objectMode&&Re==null||(Ae.objectMode||Re&&Re.length)&&(X.push(Re)||(he=!0,F.pause()))})),F)this[$e]===void 0&&typeof F[$e]=="function"&&(this[$e]=(function(Re){return function(){return F[Re].apply(F,arguments)}})($e));for(var Ge=0;Ge<ce.length;Ge++)F.on(ce[Ge],this.emit.bind(this,ce[Ge]));return this._read=function(Re){d("wrapped _read",Re),he&&(he=!1,F.resume())},this},typeof Symbol=="function"&&(pe.prototype[Symbol.asyncIterator]=function(){return _===void 0&&(_=lIt),_(this)}),Object.defineProperty(pe.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(pe.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(pe.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(F){this._readableState&&(this._readableState.flowing=F)}}),pe._fromList=R,Object.defineProperty(pe.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),typeof Symbol=="function"&&(pe.from=function(F,X){return I===void 0&&(I=MHe),I(pe,F,X)}),poe}function GHe(){if(Fke)return goe;Fke=!0;var e,t=Mo;function r(A){var m=this;this.next=null,this.entry=null,this.finish=function(){(function(E,w,x){var R=E.entry;for(E.entry=null;R;){var u=R.callback;w.pendingcb--,u(x),R=R.next}w.corkedRequestsFree.next=E})(m,A)}}goe=pe,pe.WritableState=le;var i={deprecate:DHe},n=Yq,o=Vo.Buffer,d=pIt.Uint8Array||function(){},g,y=FHe,_=QHe.getHighWaterMark,I=ym.codes,N=I.ERR_INVALID_ARG_TYPE,T=I.ERR_METHOD_NOT_IMPLEMENTED,M=I.ERR_MULTIPLE_CALLBACK,D=I.ERR_STREAM_CANNOT_PIPE,P=I.ERR_STREAM_DESTROYED,G=I.ERR_STREAM_NULL_VALUES,q=I.ERR_STREAM_WRITE_AFTER_END,Y=I.ERR_UNKNOWN_ENCODING,ne=y.errorOrDestroy;function ce(){}function le(A,m,E){e=e||kq(),A=A||{},typeof E!="boolean"&&(E=m instanceof e),this.objectMode=!!A.objectMode,E&&(this.objectMode=this.objectMode||!!A.writableObjectMode),this.highWaterMark=_(this,A,"writableHighWaterMark",E),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var w=A.decodeStrings===!1;this.decodeStrings=!w,this.defaultEncoding=A.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(x){(function(R,u){var C=R._writableState,U=C.sync,F=C.writecb;if(typeof F!="function")throw new M;if((function(Ae){Ae.writing=!1,Ae.writecb=null,Ae.length-=Ae.writelen,Ae.writelen=0})(C),u)(function(Ae,he,$e,Ge,Re){--he.pendingcb,$e?(t.nextTick(Re,Ge),t.nextTick(l,Ae,he),Ae._writableState.errorEmitted=!0,ne(Ae,Ge)):(Re(Ge),Ae._writableState.errorEmitted=!0,ne(Ae,Ge),l(Ae,he))})(R,C,U,u,F);else{var X=O(C)||R.destroyed;X||C.corked||C.bufferProcessing||!C.bufferedRequest||se(R,C),U?t.nextTick(W,R,C,X,F):W(R,C,X,F)}})(m,x)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=A.emitClose!==!1,this.autoDestroy=!!A.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function pe(A){var m=this instanceof(e=e||kq());if(!m&&!g.call(pe,this))return new pe(A);this._writableState=new le(A,this,m),this.writable=!0,A&&(typeof A.write=="function"&&(this._write=A.write),typeof A.writev=="function"&&(this._writev=A.writev),typeof A.destroy=="function"&&(this._destroy=A.destroy),typeof A.final=="function"&&(this._final=A.final)),n.call(this)}function ae(A,m,E,w,x,R,u){m.writelen=w,m.writecb=u,m.writing=!0,m.sync=!0,m.destroyed?m.onwrite(new P("write")):E?A._writev(x,m.onwrite):A._write(x,R,m.onwrite),m.sync=!1}function W(A,m,E,w){E||(function(x,R){R.length===0&&R.needDrain&&(R.needDrain=!1,x.emit("drain"))})(A,m),m.pendingcb--,w(),l(A,m)}function se(A,m){m.bufferProcessing=!0;var E=m.bufferedRequest;if(A._writev&&E&&E.next){var w=m.bufferedRequestCount,x=new Array(w),R=m.corkedRequestsFree;R.entry=E;for(var u=0,C=!0;E;)x[u]=E,E.isBuf||(C=!1),E=E.next,u+=1;x.allBuffers=C,ae(A,m,!0,m.length,x,"",R.finish),m.pendingcb++,m.lastBufferedRequest=null,R.next?(m.corkedRequestsFree=R.next,R.next=null):m.corkedRequestsFree=new r(m),m.bufferedRequestCount=0}else{for(;E;){var U=E.chunk,F=E.encoding,X=E.callback;if(ae(A,m,!1,m.objectMode?1:U.length,U,F,X),E=E.next,m.bufferedRequestCount--,m.writing)break}E===null&&(m.lastBufferedRequest=null)}m.bufferedRequest=E,m.bufferProcessing=!1}function O(A){return A.ending&&A.length===0&&A.bufferedRequest===null&&!A.finished&&!A.writing}function s(A,m){A._final((function(E){m.pendingcb--,E&&ne(A,E),m.prefinished=!0,A.emit("prefinish"),l(A,m)}))}function l(A,m){var E=O(m);if(E&&((function(x,R){R.prefinished||R.finalCalled||(typeof x._final!="function"||R.destroyed?(R.prefinished=!0,x.emit("prefinish")):(R.pendingcb++,R.finalCalled=!0,t.nextTick(s,x,R)))})(A,m),m.pendingcb===0&&(m.finished=!0,A.emit("finish"),m.autoDestroy))){var w=A._readableState;(!w||w.autoDestroy&&w.endEmitted)&&A.destroy()}return E}return ca(pe,n),le.prototype.getBuffer=function(){for(var A=this.bufferedRequest,m=[];A;)m.push(A),A=A.next;return m},(function(){try{Object.defineProperty(le.prototype,"buffer",{get:i.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(g=Function.prototype[Symbol.hasInstance],Object.defineProperty(pe,Symbol.hasInstance,{value:function(A){return!!g.call(this,A)||this===pe&&A&&A._writableState instanceof le}})):g=function(A){return A instanceof this},pe.prototype.pipe=function(){ne(this,new D)},pe.prototype.write=function(A,m,E){var w,x=this._writableState,R=!1,u=!x.objectMode&&(w=A,o.isBuffer(w)||w instanceof d);return u&&!o.isBuffer(A)&&(A=(function(C){return o.from(C)})(A)),typeof m=="function"&&(E=m,m=null),u?m="buffer":m||(m=x.defaultEncoding),typeof E!="function"&&(E=ce),x.ending?(function(C,U){var F=new q;ne(C,F),t.nextTick(U,F)})(this,E):(u||(function(C,U,F,X){var Ae;return F===null?Ae=new G:typeof F=="string"||U.objectMode||(Ae=new N("chunk",["string","Buffer"],F)),!Ae||(ne(C,Ae),t.nextTick(X,Ae),!1)})(this,x,A,E))&&(x.pendingcb++,R=(function(C,U,F,X,Ae,he){if(!F){var $e=(function(ct,ze,te){return ct.objectMode||ct.decodeStrings===!1||typeof ze!="string"||(ze=o.from(ze,te)),ze})(U,X,Ae);X!==$e&&(F=!0,Ae="buffer",X=$e)}var Ge=U.objectMode?1:X.length;U.length+=Ge;var Re=U.length<U.highWaterMark;if(Re||(U.needDrain=!0),U.writing||U.corked){var Se=U.lastBufferedRequest;U.lastBufferedRequest={chunk:X,encoding:Ae,isBuf:F,callback:he,next:null},Se?Se.next=U.lastBufferedRequest:U.bufferedRequest=U.lastBufferedRequest,U.bufferedRequestCount+=1}else ae(C,U,!1,Ge,X,Ae,he);return Re})(this,x,u,A,m,E)),R},pe.prototype.cork=function(){this._writableState.corked++},pe.prototype.uncork=function(){var A=this._writableState;A.corked&&(A.corked--,A.writing||A.corked||A.bufferProcessing||!A.bufferedRequest||se(this,A))},pe.prototype.setDefaultEncoding=function(A){if(typeof A=="string"&&(A=A.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((A+"").toLowerCase())>-1))throw new Y(A);return this._writableState.defaultEncoding=A,this},Object.defineProperty(pe.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(pe.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),pe.prototype._write=function(A,m,E){E(new T("_write()"))},pe.prototype._writev=null,pe.prototype.end=function(A,m,E){var w=this._writableState;return typeof A=="function"?(E=A,A=null,m=null):typeof m=="function"&&(E=m,m=null),A!=null&&this.write(A,m),w.corked&&(w.corked=1,this.uncork()),w.ending||(function(x,R,u){R.ending=!0,l(x,R),u&&(R.finished?t.nextTick(u):x.once("finish",u)),R.ended=!0,x.writable=!1})(this,w,E),this},Object.defineProperty(pe.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(pe.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(A){this._writableState&&(this._writableState.destroyed=A)}}),pe.prototype.destroy=y.destroy,pe.prototype._undestroy=y.undestroy,pe.prototype._destroy=function(A,m){m(A)},goe}function kq(){if(Qke)return _oe;Qke=!0;var e=Mo,t=Object.keys||function(I){var N=[];for(var T in I)N.push(T);return N};_oe=g;var r=AIt(),i=GHe();ca(g,r);for(var n=t(i.prototype),o=0;o<n.length;o++){var d=n[o];g.prototype[d]||(g.prototype[d]=i.prototype[d])}function g(I){if(!(this instanceof g))return new g(I);r.call(this,I),i.call(this,I),this.allowHalfOpen=!0,I&&(I.readable===!1&&(this.readable=!1),I.writable===!1&&(this.writable=!1),I.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",y)))}function y(){this._writableState.ended||e.nextTick(_,this)}function _(I){I.end()}return Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(g.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(g.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._writableState!==void 0&&this._readableState.destroyed&&this._writableState.destroyed},set:function(I){this._readableState!==void 0&&this._writableState!==void 0&&(this._readableState.destroyed=I,this._writableState.destroyed=I)}}),_oe}function EIt(e,t){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new mIt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),i(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function Tv(e){if(!(this instanceof Tv))return new Tv(e);pq.call(this,e),this._transformState={afterTransform:EIt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",vIt)}function vIt(){var e=this;typeof this._flush!="function"||this._readableState.destroyed?Hke(this,null,null):this._flush((function(t,r){Hke(e,t,r)}))}function Hke(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new bIt;if(e._transformState.transforming)throw new yIt;return e.push(null)}function ID(e){if(!(this instanceof ID))return new ID(e);KHe.call(this,e)}function Gke(e){if(e)throw e}function CIt(e,t,r,i){i=(function(d){var g=!1;return function(){g||(g=!0,d.apply(void 0,arguments))}})(i);var n=!1;e.on("close",(function(){n=!0})),moe===void 0&&(moe=Sue),moe(e,{readable:t,writable:r},(function(d){if(d)return i(d);n=!0,i()}));var o=!1;return function(d){if(!n&&!o)return o=!0,(function(g){return g.setHeader&&typeof g.abort=="function"})(e)?e.abort():typeof e.destroy=="function"?e.destroy():(i(d||new IIt("pipe")),void 0)}}function qke(e){e()}function wIt(e,t){return e.pipe(t)}function OIt(e){return e.length?typeof e[e.length-1]!="function"?Gke:e.pop():Gke}function Hg(){zce.call(this||Jce)}function S6(){if(Vke)return yoe;Vke=!0;var e=cs().Buffer,t=Jg.Transform,r=yh.StringDecoder,i=rs();function n(o){t.call(this||nd),(this||nd).hashMode=typeof o=="string",(this||nd).hashMode?(this||nd)[o]=(this||nd)._finalOrDigest:(this||nd).final=(this||nd)._finalOrDigest,(this||nd)._final&&((this||nd).__final=(this||nd)._final,(this||nd)._final=null),(this||nd)._decoder=null,(this||nd)._encoding=null}return i(n,t),n.prototype.update=function(o,d,g){typeof o=="string"&&(o=e.from(o,d));var y=this._update(o);return(this||nd).hashMode?this||nd:(g&&(y=this._toString(y,g)),y)},n.prototype.setAutoPadding=function(){},n.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},n.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},n.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},n.prototype._transform=function(o,d,g){var y;try{(this||nd).hashMode?this._update(o):this.push(this._update(o))}catch(_){y=_}finally{g(y)}},n.prototype._flush=function(o){var d;try{this.push(this.__final())}catch(g){d=g}o(d)},n.prototype._finalOrDigest=function(o){var d=this.__final()||e.alloc(0);return o&&(d=this._toString(d,o,!0)),d},n.prototype._toString=function(o,d,g){if((this||nd)._decoder||((this||nd)._decoder=new r(d),(this||nd)._encoding=d),(this||nd)._encoding!==d)throw new Error("can't switch encodings");var y=(this||nd)._decoder.write(o);return g&&(y+=(this||nd)._decoder.end()),y},yoe=n,yoe}function MD(){if(Jke)return boe;Jke=!0;var e=rs(),t=Eue(),r=vue(),i=Rue(),n=S6();function o(d){n.call(this,"digest"),this._hash=d}return e(o,n),o.prototype._update=function(d){this._hash.update(d)},o.prototype._final=function(){return this._hash.digest()},boe=function(g){return g=g.toLowerCase(),g==="md5"?new t:g==="rmd160"||g==="ripemd160"?new r:new o(i(g))},boe}function xIt(){if(zke)return Eoe;zke=!0;var e=rs(),t=cs().Buffer,r=S6(),i=t.alloc(128),n=64;function o(d,g){r.call(this,"digest"),typeof g=="string"&&(g=t.from(g)),this._alg=d,this._key=g,g.length>n?g=d(g):g.length<n&&(g=t.concat([g,i],n));for(var y=this._ipad=t.allocUnsafe(n),_=this._opad=t.allocUnsafe(n),I=0;I<n;I++)y[I]=g[I]^54,_[I]=g[I]^92;this._hash=[y]}return e(o,r),o.prototype._update=function(d){this._hash.push(d)},o.prototype._final=function(){var d=this._alg(t.concat(this._hash));return this._alg(t.concat([this._opad,d]))},Eoe=o,Eoe}function WHe(){if(Kke)return voe;Kke=!0;var e=Eue();return voe=function(t){return new e().update(t).digest()},voe}function XHe(){if($ke)return Roe;$ke=!0;var e=rs(),t=xIt(),r=S6(),i=cs().Buffer,n=WHe(),o=vue(),d=Rue(),g=i.alloc(128);function y(_,I){r.call(this,"digest"),typeof I=="string"&&(I=i.from(I));var N=_==="sha512"||_==="sha384"?128:64;if(this._alg=_,this._key=I,I.length>N){var T=_==="rmd160"?new o:d(_);I=T.update(I).digest()}else I.length<N&&(I=i.concat([I,g],N));for(var M=this._ipad=i.allocUnsafe(N),D=this._opad=i.allocUnsafe(N),P=0;P<N;P++)M[P]=I[P]^54,D[P]=I[P]^92;this._hash=_==="rmd160"?new o:d(_),this._hash.update(M)}return e(y,r),y.prototype._update=function(_){this._hash.update(_)},y.prototype._final=function(){var _=this._hash.digest(),I=this._alg==="rmd160"?new o:d(this._alg);return I.update(this._opad).update(_).digest()},Roe=function(I,N){return I=I.toLowerCase(),I==="rmd160"||I==="ripemd160"?new y("rmd160",N):I==="md5"?new t(n,N):new y(I,N)},Roe}function TIt(){return Yke||(Yke=!0,Soe=ZHe),Soe}function jHe(){if(Wke)return Ioe;Wke=!0;var e=Math.pow(2,30)-1;return Ioe=function(t,r){if(typeof t!="number")throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if(typeof r!="number")throw new TypeError("Key length not a number");if(r<0||r>e||r!==r)throw new TypeError("Bad key length")},Ioe}function eGe(){if(Xke)return Coe;Xke=!0;var e=Mo,t;if(BG.process&&BG.process.browser)t="utf-8";else if(BG.process&&BG.process.version){var r=parseInt(e.version.split(".")[0].slice(1),10);t=r>=6?"utf-8":"binary"}else t="utf-8";return Coe=t,Coe}function tGe(){if(Zke)return woe;Zke=!0;var e=cs().Buffer;return woe=function(t,r,i){if(e.isBuffer(t))return t;if(typeof t=="string")return e.from(t,r);if(ArrayBuffer.isView(t))return e.from(t.buffer);throw new TypeError(i+" must be a string, a Buffer, a typed array or a DataView")},woe}function rGe(){if(jke)return Ooe;jke=!0;var e=WHe(),t=vue(),r=Rue(),i=cs().Buffer,n=jHe(),o=eGe(),d=tGe(),g=i.alloc(128),y={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function _(T,M,D){var P=I(T),G=T==="sha512"||T==="sha384"?128:64;M.length>G?M=P(M):M.length<G&&(M=i.concat([M,g],G));for(var q=i.allocUnsafe(G+y[T]),Y=i.allocUnsafe(G+y[T]),ne=0;ne<G;ne++)q[ne]=M[ne]^54,Y[ne]=M[ne]^92;var ce=i.allocUnsafe(G+D+4);q.copy(ce,0,0,G),(this||am).ipad1=ce,(this||am).ipad2=q,(this||am).opad=Y,(this||am).alg=T,(this||am).blocksize=G,(this||am).hash=P,(this||am).size=y[T]}_.prototype.run=function(T,M){T.copy(M,(this||am).blocksize);var D=this.hash(M);return D.copy((this||am).opad,(this||am).blocksize),this.hash((this||am).opad)};function I(T){function M(P){return r(T).update(P).digest()}function D(P){return new t().update(P).digest()}return T==="rmd160"||T==="ripemd160"?D:T==="md5"?e:M}function N(T,M,D,P,G){n(D,P),T=d(T,o,"Password"),M=d(M,o,"Salt"),G=G||"sha1";var q=new _(G,T,M.length),Y=i.allocUnsafe(P),ne=i.allocUnsafe(M.length+4);M.copy(ne,0,0,M.length);for(var ce=0,le=y[G],pe=Math.ceil(P/le),ae=1;ae<=pe;ae++){ne.writeUInt32BE(ae,M.length);for(var W=q.run(ne,q.ipad1),se=W,O=1;O<D;O++){se=q.run(se,q.ipad2);for(var s=0;s<le;s++)W[s]^=se[s]}W.copy(Y,ce),ce+=le}return Y}return Ooe=N,Ooe}function BIt(){if(ePe)return Noe;ePe=!0;var e=cs().Buffer,t=jHe(),r=eGe(),i=rGe(),n=tGe(),o,d=k1.crypto&&k1.crypto.subtle,g={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},y=[];function _(D){if(k1.process&&!k1.process.browser||!d||!d.importKey||!d.deriveBits)return Promise.resolve(!1);if(y[D]!==void 0)return y[D];o=o||e.alloc(8);var P=T(o,o,10,128,D).then(function(){return!0}).catch(function(){return!1});return y[D]=P,P}var I;function N(){return I||(k1.process&&k1.process.nextTick?I=k1.process.nextTick:k1.queueMicrotask?I=k1.queueMicrotask:k1.setImmediate?I=k1.setImmediate:I=k1.setTimeout,I)}function T(D,P,G,q,Y){return d.importKey("raw",D,{name:"PBKDF2"},!1,["deriveBits"]).then(function(ne){return d.deriveBits({name:"PBKDF2",salt:P,iterations:G,hash:{name:Y}},ne,q<<3)}).then(function(ne){return e.from(ne)})}function M(D,P){D.then(function(G){N()(function(){P(null,G)})},function(G){N()(function(){P(G)})})}return Noe=function(D,P,G,q,Y,ne){typeof Y=="function"&&(ne=Y,Y=void 0),Y=Y||"sha1";var ce=g[Y.toLowerCase()];if(!ce||typeof k1.Promise!="function"){N()(function(){var le;try{le=i(D,P,G,q,Y)}catch(pe){return ne(pe)}ne(null,le)});return}if(t(G,q),D=n(D,r,"Password"),P=n(P,r,"Salt"),typeof ne!="function")throw new Error("No callback provided to pbkdf2");M(_(ce).then(function(le){return le?T(D,P,G,q,ce):i(D,P,G,q,Y)}),ne)},Noe}function nGe(){return tPe||(tPe=!0,MG.pbkdf2=BIt(),MG.pbkdf2Sync=rGe()),MG}function iGe(){if(rPe)return P1;rPe=!0,P1.readUInt32BE=function(n,o){var d=n[0+o]<<24|n[1+o]<<16|n[2+o]<<8|n[3+o];return d>>>0},P1.writeUInt32BE=function(n,o,d){n[0+d]=o>>>24,n[1+d]=o>>>16&255,n[2+d]=o>>>8&255,n[3+d]=o&255},P1.ip=function(n,o,d,g){for(var y=0,_=0,I=6;I>=0;I-=2){for(var N=0;N<=24;N+=8)y<<=1,y|=o>>>N+I&1;for(var N=0;N<=24;N+=8)y<<=1,y|=n>>>N+I&1}for(var I=6;I>=0;I-=2){for(var N=1;N<=25;N+=8)_<<=1,_|=o>>>N+I&1;for(var N=1;N<=25;N+=8)_<<=1,_|=n>>>N+I&1}d[g+0]=y>>>0,d[g+1]=_>>>0},P1.rip=function(n,o,d,g){for(var y=0,_=0,I=0;I<4;I++)for(var N=24;N>=0;N-=8)y<<=1,y|=o>>>N+I&1,y<<=1,y|=n>>>N+I&1;for(var I=4;I<8;I++)for(var N=24;N>=0;N-=8)_<<=1,_|=o>>>N+I&1,_<<=1,_|=n>>>N+I&1;d[g+0]=y>>>0,d[g+1]=_>>>0},P1.pc1=function(n,o,d,g){for(var y=0,_=0,I=7;I>=5;I--){for(var N=0;N<=24;N+=8)y<<=1,y|=o>>N+I&1;for(var N=0;N<=24;N+=8)y<<=1,y|=n>>N+I&1}for(var N=0;N<=24;N+=8)y<<=1,y|=o>>N+I&1;for(var I=1;I<=3;I++){for(var N=0;N<=24;N+=8)_<<=1,_|=o>>N+I&1;for(var N=0;N<=24;N+=8)_<<=1,_|=n>>N+I&1}for(var N=0;N<=24;N+=8)_<<=1,_|=n>>N+I&1;d[g+0]=y>>>0,d[g+1]=_>>>0},P1.r28shl=function(n,o){return n<<o&268435455|n>>>28-o};var e=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];P1.pc2=function(n,o,d,g){for(var y=0,_=0,I=e.length>>>1,N=0;N<I;N++)y<<=1,y|=n>>>e[N]&1;for(var N=I;N<e.length;N++)_<<=1,_|=o>>>e[N]&1;d[g+0]=y>>>0,d[g+1]=_>>>0},P1.expand=function(n,o,d){var g=0,y=0;g=(n&1)<<5|n>>>27;for(var _=23;_>=15;_-=4)g<<=6,g|=n>>>_&63;for(var _=11;_>=3;_-=4)y|=n>>>_&63,y<<=6;y|=(n&31)<<1|n>>>31,o[d+0]=g>>>0,o[d+1]=y>>>0};var t=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];P1.substitute=function(n,o){for(var d=0,g=0;g<4;g++){var y=n>>>18-g*6&63,_=t[g*64+y];d<<=4,d|=_}for(var g=0;g<4;g++){var y=o>>>18-g*6&63,_=t[256+g*64+y];d<<=4,d|=_}return d>>>0};var r=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];return P1.permute=function(n){for(var o=0,d=0;d<r.length;d++)o<<=1,o|=n>>>r[d]&1;return o>>>0},P1.padSplit=function(n,o,d){for(var g=n.toString(2);g.length<o;)g="0"+g;for(var y=[],_=0;_<o;_+=d)y.push(g.slice(_,_+d));return y.join(" ")},P1}function jy(){if(nPe)return xoe;nPe=!0,xoe=e;function e(t,r){if(!t)throw new Error(r||"Assertion failed")}return e.equal=function(r,i,n){if(r!=i)throw new Error(n||"Assertion failed: "+r+" != "+i)},xoe}function Iue(){if(iPe)return Toe;iPe=!0;var e=jy();function t(r){this.options=r,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}return Toe=t,t.prototype._init=function(){},t.prototype.update=function(i){return i.length===0?[]:this.type==="decrypt"?this._updateDecrypt(i):this._updateEncrypt(i)},t.prototype._buffer=function(i,n){for(var o=Math.min(this.buffer.length-this.bufferOff,i.length-n),d=0;d<o;d++)this.buffer[this.bufferOff+d]=i[n+d];return this.bufferOff+=o,o},t.prototype._flushBuffer=function(i,n){return this._update(this.buffer,0,i,n),this.bufferOff=0,this.blockSize},t.prototype._updateEncrypt=function(i){var n=0,o=0,d=(this.bufferOff+i.length)/this.blockSize|0,g=new Array(d*this.blockSize);this.bufferOff!==0&&(n+=this._buffer(i,n),this.bufferOff===this.buffer.length&&(o+=this._flushBuffer(g,o)));for(var y=i.length-(i.length-n)%this.blockSize;n<y;n+=this.blockSize)this._update(i,n,g,o),o+=this.blockSize;for(;n<i.length;n++,this.bufferOff++)this.buffer[this.bufferOff]=i[n];return g},t.prototype._updateDecrypt=function(i){for(var n=0,o=0,d=Math.ceil((this.bufferOff+i.length)/this.blockSize)-1,g=new Array(d*this.blockSize);d>0;d--)n+=this._buffer(i,n),o+=this._flushBuffer(g,o);return n+=this._buffer(i,n),g},t.prototype.final=function(i){var n;i&&(n=this.update(i));var o;return this.type==="encrypt"?o=this._finalEncrypt():o=this._finalDecrypt(),n?n.concat(o):o},t.prototype._pad=function(i,n){if(n===0)return!1;for(;n<i.length;)i[n++]=0;return!0},t.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var i=new Array(this.blockSize);return this._update(this.buffer,0,i,0),i},t.prototype._unpad=function(i){return i},t.prototype._finalDecrypt=function(){e.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var i=new Array(this.blockSize);return this._flushBuffer(i,0),this._unpad(i)},Toe}function oGe(){if(oPe)return Boe;oPe=!0;var e=jy(),t=rs(),r=iGe(),i=Iue();function n(){this.tmp=new Array(2),this.keys=null}function o(g){i.call(this,g);var y=new n;this._desState=y,this.deriveKeys(y,g.key)}t(o,i),Boe=o,o.create=function(y){return new o(y)};var d=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];return o.prototype.deriveKeys=function(y,_){y.keys=new Array(32),e.equal(_.length,this.blockSize,"Invalid key length");var I=r.readUInt32BE(_,0),N=r.readUInt32BE(_,4);r.pc1(I,N,y.tmp,0),I=y.tmp[0],N=y.tmp[1];for(var T=0;T<y.keys.length;T+=2){var M=d[T>>>1];I=r.r28shl(I,M),N=r.r28shl(N,M),r.pc2(I,N,y.keys,T)}},o.prototype._update=function(y,_,I,N){var T=this._desState,M=r.readUInt32BE(y,_),D=r.readUInt32BE(y,_+4);r.ip(M,D,T.tmp,0),M=T.tmp[0],D=T.tmp[1],this.type==="encrypt"?this._encrypt(T,M,D,T.tmp,0):this._decrypt(T,M,D,T.tmp,0),M=T.tmp[0],D=T.tmp[1],r.writeUInt32BE(I,M,N),r.writeUInt32BE(I,D,N+4)},o.prototype._pad=function(y,_){for(var I=y.length-_,N=_;N<y.length;N++)y[N]=I;return!0},o.prototype._unpad=function(y){for(var _=y[y.length-1],I=y.length-_;I<y.length;I++)e.equal(y[I],_);return y.slice(0,y.length-_)},o.prototype._encrypt=function(y,_,I,N,T){for(var M=_,D=I,P=0;P<y.keys.length;P+=2){var G=y.keys[P],q=y.keys[P+1];r.expand(D,y.tmp,0),G^=y.tmp[0],q^=y.tmp[1];var Y=r.substitute(G,q),ne=r.permute(Y),ce=D;D=(M^ne)>>>0,M=ce}r.rip(D,M,N,T)},o.prototype._decrypt=function(y,_,I,N,T){for(var M=I,D=_,P=y.keys.length-2;P>=0;P-=2){var G=y.keys[P],q=y.keys[P+1];r.expand(M,y.tmp,0),G^=y.tmp[0],q^=y.tmp[1];var Y=r.substitute(G,q),ne=r.permute(Y),ce=M;M=(D^ne)>>>0,D=ce}r.rip(M,D,N,T)},Boe}function MIt(){if(aPe)return Moe;aPe=!0;var e=jy(),t=rs(),r={};function i(o){e.equal(o.length,8,"Invalid IV length"),this.iv=new Array(8);for(var d=0;d<this.iv.length;d++)this.iv[d]=o[d]}function n(o){function d(I){o.call(this,I),this._cbcInit()}t(d,o);for(var g=Object.keys(r),y=0;y<g.length;y++){var _=g[y];d.prototype[_]=r[_]}return d.create=function(N){return new d(N)},d}return Moe.instantiate=n,r._cbcInit=function(){var d=new i(this.options.iv);this._cbcState=d},r._update=function(d,g,y,_){var I=this._cbcState,N=this.constructor.super_.prototype,T=I.iv;if(this.type==="encrypt"){for(var M=0;M<this.blockSize;M++)T[M]^=d[g+M];N._update.call(this,T,0,y,_);for(var M=0;M<this.blockSize;M++)T[M]=y[_+M]}else{N._update.call(this,d,g,y,_);for(var M=0;M<this.blockSize;M++)y[_+M]^=T[M];for(var M=0;M<this.blockSize;M++)T[M]=d[g+M]}},Moe}function DIt(){if(sPe)return Doe;sPe=!0;var e=jy(),t=rs(),r=Iue(),i=oGe();function n(d,g){e.equal(g.length,24,"Invalid key length");var y=g.slice(0,8),_=g.slice(8,16),I=g.slice(16,24);d==="encrypt"?this.ciphers=[i.create({type:"encrypt",key:y}),i.create({type:"decrypt",key:_}),i.create({type:"encrypt",key:I})]:this.ciphers=[i.create({type:"decrypt",key:I}),i.create({type:"encrypt",key:_}),i.create({type:"decrypt",key:y})]}function o(d){r.call(this,d);var g=new n(this.type,this.options.key);this._edeState=g}return t(o,r),Doe=o,o.create=function(g){return new o(g)},o.prototype._update=function(g,y,_,I){var N=this._edeState;N.ciphers[0]._update(g,y,_,I),N.ciphers[1]._update(_,I,_,I),N.ciphers[2]._update(_,I,_,I)},o.prototype._pad=i.prototype._pad,o.prototype._unpad=i.prototype._unpad,Doe}function kIt(){return cPe||(cPe=!0,K8.utils=iGe(),K8.Cipher=Iue(),K8.DES=oGe(),K8.CBC=MIt(),K8.EDE=DIt()),K8}function PIt(){if(uPe)return koe;uPe=!0;var e=S6(),t=kIt(),r=rs(),i=cs().Buffer,n={"des-ede3-cbc":t.CBC.instantiate(t.EDE),"des-ede3":t.EDE,"des-ede-cbc":t.CBC.instantiate(t.EDE),"des-ede":t.EDE,"des-cbc":t.CBC.instantiate(t.DES),"des-ecb":t.DES};n.des=n["des-cbc"],n.des3=n["des-ede3-cbc"],koe=o,r(o,e);function o(d){e.call(this||DG);var g=d.mode.toLowerCase(),y=n[g],_;d.decrypt?_="decrypt":_="encrypt";var I=d.key;i.isBuffer(I)||(I=i.from(I)),(g==="des-ede"||g==="des-ede-cbc")&&(I=i.concat([I,I.slice(0,8)]));var N=d.iv;i.isBuffer(N)||(N=i.from(N)),(this||DG)._des=y.create({key:I,iv:N,type:_})}return o.prototype._update=function(d){return i.from((this||DG)._des.update(d))},o.prototype._final=function(){return i.from((this||DG)._des.final())},koe}function LIt(){return dPe||(dPe=!0,kG.encrypt=function(e,t){return e._cipher.encryptBlock(t)},kG.decrypt=function(e,t){return e._cipher.decryptBlock(t)}),kG}function DD(){if(fPe)return Poe;fPe=!0;var e=Vo.Buffer;return Poe=function(r,i){for(var n=Math.min(r.length,i.length),o=new e(n),d=0;d<n;++d)o[d]=r[d]^i[d];return o},Poe}function UIt(){if(lPe)return PG;lPe=!0;var e=DD();return PG.encrypt=function(t,r){var i=e(r,t._prev);return t._prev=t._cipher.encryptBlock(i),t._prev},PG.decrypt=function(t,r){var i=t._prev;t._prev=r;var n=t._cipher.decryptBlock(r);return e(n,i)},PG}function FIt(){if(hPe)return Loe;hPe=!0;var e=cs().Buffer,t=DD();function r(i,n,o){var d=n.length,g=t(n,i._cache);return i._cache=i._cache.slice(d),i._prev=e.concat([i._prev,o?n:g]),g}return Loe.encrypt=function(i,n,o){for(var d=e.allocUnsafe(0),g;n.length;)if(i._cache.length===0&&(i._cache=i._cipher.encryptBlock(i._prev),i._prev=e.allocUnsafe(0)),i._cache.length<=n.length)g=i._cache.length,d=e.concat([d,r(i,n.slice(0,g),o)]),n=n.slice(g);else{d=e.concat([d,r(i,n,o)]);break}return d},Loe}function QIt(){if(APe)return Uoe;APe=!0;var e=cs().Buffer;function t(r,i,n){var o=r._cipher.encryptBlock(r._prev),d=o[0]^i;return r._prev=e.concat([r._prev.slice(1),e.from([n?i:d])]),d}return Uoe.encrypt=function(r,i,n){for(var o=i.length,d=e.allocUnsafe(o),g=-1;++g<o;)d[g]=t(r,i[g],n);return d},Uoe}function HIt(){if(pPe)return Foe;pPe=!0;var e=cs().Buffer;function t(i,n,o){for(var d,g=-1,y=8,_=0,I,N;++g<y;)d=i._cipher.encryptBlock(i._prev),I=n&1<<7-g?128:0,N=d[0]^I,_+=(N&128)>>g%8,i._prev=r(i._prev,o?I:N);return _}function r(i,n){var o=i.length,d=-1,g=e.allocUnsafe(i.length);for(i=e.concat([i,e.from([n])]);++d<o;)g[d]=i[d]<<1|i[d+1]>>7;return g}return Foe.encrypt=function(i,n,o){for(var d=n.length,g=e.allocUnsafe(d),y=-1;++y<d;)g[y]=t(i,n[y],o);return g},Foe}function GIt(){if(gPe)return Qoe;gPe=!0;var e=Vo.Buffer,t=DD();function r(i){return i._prev=i._cipher.encryptBlock(i._prev),i._prev}return Qoe.encrypt=function(i,n){for(;i._cache.length<n.length;)i._cache=e.concat([i._cache,r(i)]);var o=i._cache.slice(0,n.length);return i._cache=i._cache.slice(n.length),t(n,o)},Qoe}function aGe(){if(_Pe)return Hoe;_Pe=!0;function e(t){for(var r=t.length,i;r--;)if(i=t.readUInt8(r),i===255)t.writeUInt8(0,r);else{i++,t.writeUInt8(i,r);break}}return Hoe=e,Hoe}function yPe(){if(mPe)return Goe;mPe=!0;var e=DD(),t=cs().Buffer,r=aGe();function i(o){var d=o._cipher.encryptBlockRaw(o._prev);return r(o._prev),d}var n=16;return Goe.encrypt=function(o,d){var g=Math.ceil(d.length/n),y=o._cache.length;o._cache=t.concat([o._cache,t.allocUnsafe(g*n)]);for(var _=0;_<g;_++){var I=i(o),N=y+_*n;o._cache.writeUInt32BE(I[0],N+0),o._cache.writeUInt32BE(I[1],N+4),o._cache.writeUInt32BE(I[2],N+8),o._cache.writeUInt32BE(I[3],N+12)}var T=o._cache.slice(0,d.length);return o._cache=o._cache.slice(d.length),e(d,T)},Goe}function Cue(){if(bPe)return qoe;bPe=!0;var e={ECB:LIt(),CBC:UIt(),CFB:FIt(),CFB8:QIt(),CFB1:HIt(),OFB:GIt(),CTR:yPe(),GCM:yPe()},t=sGe;for(var r in t)t[r].module=e[t[r].mode];return qoe=t,qoe}function Xq(){if(EPe)return Voe;EPe=!0;var e=cs().Buffer;function t(g){e.isBuffer(g)||(g=e.from(g));for(var y=g.length/4|0,_=new Array(y),I=0;I<y;I++)_[I]=g.readUInt32BE(I*4);return _}function r(g){for(var y=0;y<g.length;g++)g[y]=0}function i(g,y,_,I,N){for(var T=_[0],M=_[1],D=_[2],P=_[3],G=g[0]^y[0],q=g[1]^y[1],Y=g[2]^y[2],ne=g[3]^y[3],ce,le,pe,ae,W=4,se=1;se<N;se++)ce=T[G>>>24]^M[q>>>16&255]^D[Y>>>8&255]^P[ne&255]^y[W++],le=T[q>>>24]^M[Y>>>16&255]^D[ne>>>8&255]^P[G&255]^y[W++],pe=T[Y>>>24]^M[ne>>>16&255]^D[G>>>8&255]^P[q&255]^y[W++],ae=T[ne>>>24]^M[G>>>16&255]^D[q>>>8&255]^P[Y&255]^y[W++],G=ce,q=le,Y=pe,ne=ae;return ce=(I[G>>>24]<<24|I[q>>>16&255]<<16|I[Y>>>8&255]<<8|I[ne&255])^y[W++],le=(I[q>>>24]<<24|I[Y>>>16&255]<<16|I[ne>>>8&255]<<8|I[G&255])^y[W++],pe=(I[Y>>>24]<<24|I[ne>>>16&255]<<16|I[G>>>8&255]<<8|I[q&255])^y[W++],ae=(I[ne>>>24]<<24|I[G>>>16&255]<<16|I[q>>>8&255]<<8|I[Y&255])^y[W++],ce=ce>>>0,le=le>>>0,pe=pe>>>0,ae=ae>>>0,[ce,le,pe,ae]}var n=[0,1,2,4,8,16,32,64,128,27,54],o=(function(){for(var g=new Array(256),y=0;y<256;y++)y<128?g[y]=y<<1:g[y]=y<<1^283;for(var _=[],I=[],N=[[],[],[],[]],T=[[],[],[],[]],M=0,D=0,P=0;P<256;++P){var G=D^D<<1^D<<2^D<<3^D<<4;G=G>>>8^G&255^99,_[M]=G,I[G]=M;var q=g[M],Y=g[q],ne=g[Y],ce=g[G]*257^G*16843008;N[0][M]=ce<<24|ce>>>8,N[1][M]=ce<<16|ce>>>16,N[2][M]=ce<<8|ce>>>24,N[3][M]=ce,ce=ne*16843009^Y*65537^q*257^M*16843008,T[0][G]=ce<<24|ce>>>8,T[1][G]=ce<<16|ce>>>16,T[2][G]=ce<<8|ce>>>24,T[3][G]=ce,M===0?M=D=1:(M=q^g[g[g[ne^q]]],D^=g[g[D]])}return{SBOX:_,INV_SBOX:I,SUB_MIX:N,INV_SUB_MIX:T}})();function d(g){(this||Tg)._key=t(g),this._reset()}return d.blockSize=16,d.keySize=256/8,d.prototype.blockSize=d.blockSize,d.prototype.keySize=d.keySize,d.prototype._reset=function(){for(var g=(this||Tg)._key,y=g.length,_=y+6,I=(_+1)*4,N=[],T=0;T<y;T++)N[T]=g[T];for(T=y;T<I;T++){var M=N[T-1];T%y===0?(M=M<<8|M>>>24,M=o.SBOX[M>>>24]<<24|o.SBOX[M>>>16&255]<<16|o.SBOX[M>>>8&255]<<8|o.SBOX[M&255],M^=n[T/y|0]<<24):y>6&&T%y===4&&(M=o.SBOX[M>>>24]<<24|o.SBOX[M>>>16&255]<<16|o.SBOX[M>>>8&255]<<8|o.SBOX[M&255]),N[T]=N[T-y]^M}for(var D=[],P=0;P<I;P++){var G=I-P,q=N[G-(P%4?0:4)];P<4||G<=4?D[P]=q:D[P]=o.INV_SUB_MIX[0][o.SBOX[q>>>24]]^o.INV_SUB_MIX[1][o.SBOX[q>>>16&255]]^o.INV_SUB_MIX[2][o.SBOX[q>>>8&255]]^o.INV_SUB_MIX[3][o.SBOX[q&255]]}(this||Tg)._nRounds=_,(this||Tg)._keySchedule=N,(this||Tg)._invKeySchedule=D},d.prototype.encryptBlockRaw=function(g){return g=t(g),i(g,(this||Tg)._keySchedule,o.SUB_MIX,o.SBOX,(this||Tg)._nRounds)},d.prototype.encryptBlock=function(g){var y=this.encryptBlockRaw(g),_=e.allocUnsafe(16);return _.writeUInt32BE(y[0],0),_.writeUInt32BE(y[1],4),_.writeUInt32BE(y[2],8),_.writeUInt32BE(y[3],12),_},d.prototype.decryptBlock=function(g){g=t(g);var y=g[1];g[1]=g[3],g[3]=y;var _=i(g,(this||Tg)._invKeySchedule,o.INV_SUB_MIX,o.INV_SBOX,(this||Tg)._nRounds),I=e.allocUnsafe(16);return I.writeUInt32BE(_[0],0),I.writeUInt32BE(_[3],4),I.writeUInt32BE(_[2],8),I.writeUInt32BE(_[1],12),I},d.prototype.scrub=function(){r((this||Tg)._keySchedule),r((this||Tg)._invKeySchedule),r((this||Tg)._key)},Voe.AES=d,Voe}function qIt(){if(vPe)return Joe;vPe=!0;var e=cs().Buffer,t=e.alloc(16,0);function r(o){return[o.readUInt32BE(0),o.readUInt32BE(4),o.readUInt32BE(8),o.readUInt32BE(12)]}function i(o){var d=e.allocUnsafe(16);return d.writeUInt32BE(o[0]>>>0,0),d.writeUInt32BE(o[1]>>>0,4),d.writeUInt32BE(o[2]>>>0,8),d.writeUInt32BE(o[3]>>>0,12),d}function n(o){(this||Eh).h=o,(this||Eh).state=e.alloc(16,0),(this||Eh).cache=e.allocUnsafe(0)}return n.prototype.ghash=function(o){for(var d=-1;++d<o.length;)(this||Eh).state[d]^=o[d];this._multiply()},n.prototype._multiply=function(){for(var o=r((this||Eh).h),d=[0,0,0,0],g,y,_,I=-1;++I<128;){for(y=((this||Eh).state[~~(I/8)]&1<<7-I%8)!==0,y&&(d[0]^=o[0],d[1]^=o[1],d[2]^=o[2],d[3]^=o[3]),_=(o[3]&1)!==0,g=3;g>0;g--)o[g]=o[g]>>>1|(o[g-1]&1)<<31;o[0]=o[0]>>>1,_&&(o[0]=o[0]^225<<24)}(this||Eh).state=i(d)},n.prototype.update=function(o){(this||Eh).cache=e.concat([(this||Eh).cache,o]);for(var d;(this||Eh).cache.length>=16;)d=(this||Eh).cache.slice(0,16),(this||Eh).cache=(this||Eh).cache.slice(16),this.ghash(d)},n.prototype.final=function(o,d){return(this||Eh).cache.length&&this.ghash(e.concat([(this||Eh).cache,t],16)),this.ghash(i([0,o,0,d])),(this||Eh).state},Joe=n,Joe}function cGe(){if(RPe)return zoe;RPe=!0;var e=Xq(),t=cs().Buffer,r=S6(),i=rs(),n=qIt(),o=DD(),d=aGe();function g(I,N){var T=0;I.length!==N.length&&T++;for(var M=Math.min(I.length,N.length),D=0;D<M;++D)T+=I[D]^N[D];return T}function y(I,N,T){if(N.length===12)return I._finID=t.concat([N,t.from([0,0,0,1])]),t.concat([N,t.from([0,0,0,2])]);var M=new n(T),D=N.length,P=D%16;M.update(N),P&&(P=16-P,M.update(t.alloc(P,0))),M.update(t.alloc(8,0));var G=D*8,q=t.alloc(8);q.writeUIntBE(G,0,8),M.update(q),I._finID=M.state;var Y=t.from(I._finID);return d(Y),Y}function _(I,N,T,M){r.call(this||la);var D=t.alloc(4,0);(this||la)._cipher=new e.AES(N);var P=(this||la)._cipher.encryptBlock(D);(this||la)._ghash=new n(P),T=y(this||la,T,P),(this||la)._prev=t.from(T),(this||la)._cache=t.allocUnsafe(0),(this||la)._secCache=t.allocUnsafe(0),(this||la)._decrypt=M,(this||la)._alen=0,(this||la)._len=0,(this||la)._mode=I,(this||la)._authTag=null,(this||la)._called=!1}return i(_,r),_.prototype._update=function(I){if(!(this||la)._called&&(this||la)._alen){var N=16-(this||la)._alen%16;N<16&&(N=t.alloc(N,0),(this||la)._ghash.update(N))}(this||la)._called=!0;var T=(this||la)._mode.encrypt(this||la,I);return(this||la)._decrypt?(this||la)._ghash.update(I):(this||la)._ghash.update(T),(this||la)._len+=I.length,T},_.prototype._final=function(){if((this||la)._decrypt&&!(this||la)._authTag)throw new Error("Unsupported state or unable to authenticate data");var I=o((this||la)._ghash.final((this||la)._alen*8,(this||la)._len*8),(this||la)._cipher.encryptBlock((this||la)._finID));if((this||la)._decrypt&&g(I,(this||la)._authTag))throw new Error("Unsupported state or unable to authenticate data");(this||la)._authTag=I,(this||la)._cipher.scrub()},_.prototype.getAuthTag=function(){if((this||la)._decrypt||!t.isBuffer((this||la)._authTag))throw new Error("Attempting to get auth tag in unsupported state");return(this||la)._authTag},_.prototype.setAuthTag=function(N){if(!(this||la)._decrypt)throw new Error("Attempting to set auth tag in unsupported state");(this||la)._authTag=N},_.prototype.setAAD=function(N){if((this||la)._called)throw new Error("Attempting to set AAD in unsupported state");(this||la)._ghash.update(N),(this||la)._alen+=N.length},zoe=_,zoe}function uGe(){if(SPe)return Koe;SPe=!0;var e=Xq(),t=cs().Buffer,r=S6(),i=rs();function n(o,d,g,y){r.call(this||sm),(this||sm)._cipher=new e.AES(d),(this||sm)._prev=t.from(g),(this||sm)._cache=t.allocUnsafe(0),(this||sm)._secCache=t.allocUnsafe(0),(this||sm)._decrypt=y,(this||sm)._mode=o}return i(n,r),n.prototype._update=function(o){return(this||sm)._mode.encrypt(this||sm,o,(this||sm)._decrypt)},n.prototype._final=function(){(this||sm)._cipher.scrub()},Koe=n,Koe}function Zq(){if(IPe)return $oe;IPe=!0;var e=cs().Buffer,t=Eue();function r(i,n,o,d){if(e.isBuffer(i)||(i=e.from(i,"binary")),n&&(e.isBuffer(n)||(n=e.from(n,"binary")),n.length!==8))throw new RangeError("salt should be Buffer with 8 byte length");for(var g=o/8,y=e.alloc(g),_=e.alloc(d||0),I=e.alloc(0);g>0||d>0;){var N=new t;N.update(I),N.update(i),n&&N.update(n),I=N.digest();var T=0;if(g>0){var M=y.length-g;T=Math.min(g,I.length),I.copy(y,M,0,T),g-=T}if(T<I.length&&d>0){var D=_.length-d,P=Math.min(d,I.length-T);I.copy(_,D,T,T+P),d-=P}}return I.fill(0),{key:y,iv:_}}return $oe=r,$oe}function VIt(){if(CPe)return LG;CPe=!0;var e=Cue(),t=cGe(),r=cs().Buffer,i=uGe(),n=S6(),o=Xq(),d=Zq(),g=rs();function y(M,D,P){n.call(this||Tu),(this||Tu)._cache=new I,(this||Tu)._cipher=new o.AES(D),(this||Tu)._prev=r.from(P),(this||Tu)._mode=M,(this||Tu)._autopadding=!0}g(y,n),y.prototype._update=function(M){(this||Tu)._cache.add(M);for(var D,P,G=[];D=(this||Tu)._cache.get();)P=(this||Tu)._mode.encrypt(this||Tu,D),G.push(P);return r.concat(G)};var _=r.alloc(16,16);y.prototype._final=function(){var M=(this||Tu)._cache.flush();if((this||Tu)._autopadding)return M=(this||Tu)._mode.encrypt(this||Tu,M),(this||Tu)._cipher.scrub(),M;if(!M.equals(_))throw(this||Tu)._cipher.scrub(),new Error("data not multiple of block length")},y.prototype.setAutoPadding=function(M){return(this||Tu)._autopadding=!!M,this||Tu};function I(){(this||Tu).cache=r.allocUnsafe(0)}I.prototype.add=function(M){(this||Tu).cache=r.concat([(this||Tu).cache,M])},I.prototype.get=function(){if((this||Tu).cache.length>15){var M=(this||Tu).cache.slice(0,16);return(this||Tu).cache=(this||Tu).cache.slice(16),M}return null},I.prototype.flush=function(){for(var M=16-(this||Tu).cache.length,D=r.allocUnsafe(M),P=-1;++P<M;)D.writeUInt8(M,P);return r.concat([(this||Tu).cache,D])};function N(M,D,P){var G=e[M.toLowerCase()];if(!G)throw new TypeError("invalid suite type");if(typeof D=="string"&&(D=r.from(D)),D.length!==G.key/8)throw new TypeError("invalid key length "+D.length);if(typeof P=="string"&&(P=r.from(P)),G.mode!=="GCM"&&P.length!==G.iv)throw new TypeError("invalid iv length "+P.length);return G.type==="stream"?new i(G.module,D,P):G.type==="auth"?new t(G.module,D,P):new y(G.module,D,P)}function T(M,D){var P=e[M.toLowerCase()];if(!P)throw new TypeError("invalid suite type");var G=d(D,!1,P.key,P.iv);return N(M,G.key,G.iv)}return LG.createCipheriv=N,LG.createCipher=T,LG}function JIt(){if(wPe)return UG;wPe=!0;var e=cGe(),t=cs().Buffer,r=Cue(),i=uGe(),n=S6(),o=Xq(),d=Zq(),g=rs();function y(M,D,P){n.call(this||Rc),(this||Rc)._cache=new _,(this||Rc)._last=void 0,(this||Rc)._cipher=new o.AES(D),(this||Rc)._prev=t.from(P),(this||Rc)._mode=M,(this||Rc)._autopadding=!0}g(y,n),y.prototype._update=function(M){(this||Rc)._cache.add(M);for(var D,P,G=[];D=(this||Rc)._cache.get((this||Rc)._autopadding);)P=(this||Rc)._mode.decrypt(this||Rc,D),G.push(P);return t.concat(G)},y.prototype._final=function(){var M=(this||Rc)._cache.flush();if((this||Rc)._autopadding)return I((this||Rc)._mode.decrypt(this||Rc,M));if(M)throw new Error("data not multiple of block length")},y.prototype.setAutoPadding=function(M){return(this||Rc)._autopadding=!!M,this||Rc};function _(){(this||Rc).cache=t.allocUnsafe(0)}_.prototype.add=function(M){(this||Rc).cache=t.concat([(this||Rc).cache,M])},_.prototype.get=function(M){var D;if(M){if((this||Rc).cache.length>16)return D=(this||Rc).cache.slice(0,16),(this||Rc).cache=(this||Rc).cache.slice(16),D}else if((this||Rc).cache.length>=16)return D=(this||Rc).cache.slice(0,16),(this||Rc).cache=(this||Rc).cache.slice(16),D;return null},_.prototype.flush=function(){if((this||Rc).cache.length)return(this||Rc).cache};function I(M){var D=M[15];if(D<1||D>16)throw new Error("unable to decrypt data");for(var P=-1;++P<D;)if(M[P+(16-D)]!==D)throw new Error("unable to decrypt data");if(D!==16)return M.slice(0,16-D)}function N(M,D,P){var G=r[M.toLowerCase()];if(!G)throw new TypeError("invalid suite type");if(typeof P=="string"&&(P=t.from(P)),G.mode!=="GCM"&&P.length!==G.iv)throw new TypeError("invalid iv length "+P.length);if(typeof D=="string"&&(D=t.from(D)),D.length!==G.key/8)throw new TypeError("invalid key length "+D.length);return G.type==="stream"?new i(G.module,D,P,!0):G.type==="auth"?new e(G.module,D,P,!0):new y(G.module,D,P)}function T(M,D){var P=r[M.toLowerCase()];if(!P)throw new TypeError("invalid suite type");var G=d(D,!1,P.key,P.iv);return N(M,G.key,G.iv)}return UG.createDecipher=T,UG.createDecipheriv=N,UG}function wue(){if(OPe)return Bg;OPe=!0;var e=VIt(),t=JIt(),r=sGe;function i(){return Object.keys(r)}return Bg.createCipher=Bg.Cipher=e.createCipher,Bg.createCipheriv=Bg.Cipheriv=e.createCipheriv,Bg.createDecipher=Bg.Decipher=t.createDecipher,Bg.createDecipheriv=Bg.Decipheriv=t.createDecipheriv,Bg.listCiphers=Bg.getCiphers=i,Bg}function zIt(){return NPe||(NPe=!0,Fy["des-ecb"]={key:8,iv:0},Fy["des-cbc"]=Fy.des={key:8,iv:8},Fy["des-ede3-cbc"]=Fy.des3={key:24,iv:8},Fy["des-ede3"]={key:24,iv:0},Fy["des-ede-cbc"]={key:16,iv:8},Fy["des-ede"]={key:16,iv:0}),Fy}function KIt(){if(xPe)return Mg;xPe=!0;var e=PIt(),t=wue(),r=Cue(),i=zIt(),n=Zq();function o(I,N){I=I.toLowerCase();var T,M;if(r[I])T=r[I].key,M=r[I].iv;else if(i[I])T=i[I].key*8,M=i[I].iv;else throw new TypeError("invalid suite type");var D=n(N,!1,T,M);return g(I,D.key,D.iv)}function d(I,N){I=I.toLowerCase();var T,M;if(r[I])T=r[I].key,M=r[I].iv;else if(i[I])T=i[I].key*8,M=i[I].iv;else throw new TypeError("invalid suite type");var D=n(N,!1,T,M);return y(I,D.key,D.iv)}function g(I,N,T){if(I=I.toLowerCase(),r[I])return t.createCipheriv(I,N,T);if(i[I])return new e({key:N,iv:T,mode:I});throw new TypeError("invalid suite type")}function y(I,N,T){if(I=I.toLowerCase(),r[I])return t.createDecipheriv(I,N,T);if(i[I])return new e({key:N,iv:T,mode:I,decrypt:!0});throw new TypeError("invalid suite type")}function _(){return Object.keys(i).concat(t.getCiphers())}return Mg.createCipher=Mg.Cipher=o,Mg.createCipheriv=Mg.Cipheriv=g,Mg.createDecipher=Mg.Decipher=d,Mg.createDecipheriv=Mg.Decipheriv=y,Mg.listCiphers=Mg.getCiphers=_,Mg}function fGe(){return TPe||(TPe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Nt).negative=0,(this||Nt).words=null,(this||Nt).length=0,(this||Nt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Nt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Nt).negative=1,s=-s),s<67108864?((this||Nt).words=[s&67108863],(this||Nt).length=1):s<4503599627370496?((this||Nt).words=[s&67108863,s/67108864&67108863],(this||Nt).length=2):(r(s<9007199254740992),(this||Nt).words=[s&67108863,s/67108864&67108863,1],(this||Nt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Nt).words=[0],(this||Nt).length=1,this||Nt;(this||Nt).length=Math.ceil(s.length/3),(this||Nt).words=new Array((this||Nt).length);for(var m=0;m<(this||Nt).length;m++)(this||Nt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Nt).words[E]|=w<<x&67108863,(this||Nt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Nt).words[E]|=w<<x&67108863,(this||Nt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Nt).length=Math.ceil((s.length-l)/6),(this||Nt).words=new Array((this||Nt).length);for(var m=0;m<(this||Nt).length;m++)(this||Nt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Nt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Nt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Nt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Nt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Nt).words=[0],(this||Nt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Nt).words[0]+u<67108864?(this||Nt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Nt).words[0]+u<67108864?(this||Nt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Nt).length);for(var l=0;l<(this||Nt).length;l++)s.words[l]=(this||Nt).words[l];s.length=(this||Nt).length,s.negative=(this||Nt).negative,s.red=(this||Nt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Nt).length<s;)(this||Nt).words[(this||Nt).length++]=0;return this||Nt},n.prototype.strip=function(){for(;(this||Nt).length>1&&(this||Nt).words[(this||Nt).length-1]===0;)(this||Nt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Nt).length===1&&(this||Nt).words[0]===0&&((this||Nt).negative=0),this||Nt},n.prototype.inspect=function(){return((this||Nt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Nt).length;w++){var x=(this||Nt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Nt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Nt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Nt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Nt).words[0];return(this||Nt).length===2?s+=(this||Nt).words[1]*67108864:(this||Nt).length===3&&(this||Nt).words[2]===1?s+=4503599627370496+(this||Nt).words[1]*67108864:(this||Nt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Nt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Nt).words[(this||Nt).length-1],l=this._countBits(s);return((this||Nt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Nt).length;l++){var A=this._zeroBits((this||Nt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Nt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Nt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Nt).negative^=1),this||Nt},n.prototype.iuor=function(s){for(;(this||Nt).length<s.length;)(this||Nt).words[(this||Nt).length++]=0;for(var l=0;l<s.length;l++)(this||Nt).words[l]=(this||Nt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Nt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Nt).length>s.length?this.clone().ior(s):s.clone().ior(this||Nt)},n.prototype.uor=function(s){return(this||Nt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Nt)},n.prototype.iuand=function(s){var l;(this||Nt).length>s.length?l=s:l=this||Nt;for(var A=0;A<l.length;A++)(this||Nt).words[A]=(this||Nt).words[A]&s.words[A];return(this||Nt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Nt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Nt).length>s.length?this.clone().iand(s):s.clone().iand(this||Nt)},n.prototype.uand=function(s){return(this||Nt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Nt)},n.prototype.iuxor=function(s){var l,A;(this||Nt).length>s.length?(l=this||Nt,A=s):(l=s,A=this||Nt);for(var m=0;m<A.length;m++)(this||Nt).words[m]=l.words[m]^A.words[m];if((this||Nt)!==l)for(;m<l.length;m++)(this||Nt).words[m]=l.words[m];return(this||Nt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Nt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Nt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Nt)},n.prototype.uxor=function(s){return(this||Nt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Nt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Nt).words[m]=~(this||Nt).words[m]&67108863;return A>0&&((this||Nt).words[m]=~(this||Nt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Nt).words[A]=(this||Nt).words[A]|1<<m:(this||Nt).words[A]=(this||Nt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Nt).negative!==0&&s.negative===0)return(this||Nt).negative=0,l=this.isub(s),(this||Nt).negative^=1,this._normSign();if((this||Nt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Nt).length>s.length?(A=this||Nt,m=s):(A=s,m=this||Nt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Nt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Nt).words[w]=l&67108863,E=l>>>26;if((this||Nt).length=A.length,E!==0)(this||Nt).words[(this||Nt).length]=E,(this||Nt).length++;else if(A!==(this||Nt))for(;w<A.length;w++)(this||Nt).words[w]=A.words[w];return this||Nt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Nt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Nt).negative!==0?((this||Nt).negative=0,l=s.sub(this||Nt),(this||Nt).negative=1,l):(this||Nt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Nt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Nt).negative!==0)return(this||Nt).negative=0,this.iadd(s),(this||Nt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Nt).negative=0,(this||Nt).length=1,(this||Nt).words[0]=0,this||Nt;var m,E;A>0?(m=this||Nt,E=s):(m=s,E=this||Nt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Nt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Nt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Nt))for(;x<m.length;x++)(this||Nt).words[x]=m.words[x];return(this||Nt).length=Math.max((this||Nt).length,x),m!==(this||Nt)&&((this||Nt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Nt).length+s.length;return(this||Nt).length===10&&s.length===10?A=D(this||Nt,s,l):m<63?A=M(this||Nt,s,l):m<1024?A=P(this||Nt,s,l):A=G(this||Nt,s,l),A};function q(O,s){(this||Nt).x=O,(this||Nt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Nt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Nt).length+s.length),G(this||Nt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Nt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Nt).length;A++){var m=((this||Nt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Nt).words[A]=E&67108863}return l!==0&&((this||Nt).words[A]=l,(this||Nt).length++),this||Nt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Nt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Nt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Nt).length;E++){var x=(this||Nt).words[E]&m,R=((this||Nt).words[E]|0)-x<<l;(this||Nt).words[E]=R|w,w=x>>>26-l}w&&((this||Nt).words[E]=w,(this||Nt).length++)}if(A!==0){for(E=(this||Nt).length-1;E>=0;E--)(this||Nt).words[E+A]=(this||Nt).words[E];for(E=0;E<A;E++)(this||Nt).words[E]=0;(this||Nt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Nt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Nt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Nt).words[u];R.length=w}if(w!==0)if((this||Nt).length>w)for((this||Nt).length-=w,u=0;u<(this||Nt).length;u++)(this||Nt).words[u]=(this||Nt).words[u+w];else(this||Nt).words[0]=0,(this||Nt).length=1;var C=0;for(u=(this||Nt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Nt).words[u]|0;(this||Nt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Nt).length===0&&((this||Nt).words[0]=0,(this||Nt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Nt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Nt).length<=A)return!1;var E=(this||Nt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Nt).negative===0,"imaskn works only with positive numbers"),(this||Nt).length<=A)return this||Nt;if(l!==0&&A++,(this||Nt).length=Math.min(A,(this||Nt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Nt).words[(this||Nt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Nt).negative!==0?(this||Nt).length===1&&((this||Nt).words[0]|0)<s?((this||Nt).words[0]=s-((this||Nt).words[0]|0),(this||Nt).negative=0,this||Nt):((this||Nt).negative=0,this.isubn(s),(this||Nt).negative=1,this||Nt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Nt).words[0]+=s;for(var l=0;l<(this||Nt).length&&(this||Nt).words[l]>=67108864;l++)(this||Nt).words[l]-=67108864,l===(this||Nt).length-1?(this||Nt).words[l+1]=1:(this||Nt).words[l+1]++;return(this||Nt).length=Math.max((this||Nt).length,l+1),this||Nt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Nt).negative!==0)return(this||Nt).negative=0,this.iaddn(s),(this||Nt).negative=1,this||Nt;if((this||Nt).words[0]-=s,(this||Nt).length===1&&(this||Nt).words[0]<0)(this||Nt).words[0]=-(this||Nt).words[0],(this||Nt).negative=1;else for(var l=0;l<(this||Nt).length&&(this||Nt).words[l]<0;l++)(this||Nt).words[l]+=67108864,(this||Nt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Nt).negative=0,this||Nt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Nt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Nt).words[E+A]=w&67108863}for(;E<(this||Nt).length-A;E++)w=((this||Nt).words[E+A]|0)+x,x=w>>26,(this||Nt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Nt).length;E++)w=-((this||Nt).words[E]|0)+x,x=w>>26,(this||Nt).words[E]=w&67108863;return(this||Nt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Nt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Nt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Nt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Nt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Nt).length||this.cmp(s)<0?{div:new n(0),mod:this||Nt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Nt).length-1;m>=0;m--)A=(l*A+((this||Nt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Nt).length-1;A>=0;A--){var m=((this||Nt).words[A]|0)+l*67108864;(this||Nt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Nt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Nt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Nt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Nt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Nt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Nt).length<=A)return this._expand(A+1),(this||Nt).words[A]|=m,this||Nt;for(var E=m,w=A;E!==0&&w<(this||Nt).length;w++){var x=(this||Nt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Nt).words[w]=x}return E!==0&&((this||Nt).words[w]=E,(this||Nt).length++),this||Nt},n.prototype.isZero=function(){return(this||Nt).length===1&&(this||Nt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Nt).negative!==0&&!l)return-1;if((this||Nt).negative===0&&l)return 1;this.strip();var A;if((this||Nt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Nt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Nt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Nt).negative!==0&&s.negative===0)return-1;if((this||Nt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Nt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Nt).length>s.length)return 1;if((this||Nt).length<s.length)return-1;for(var l=0,A=(this||Nt).length-1;A>=0;A--){var m=(this||Nt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Nt).red,"Already a number in reduction context"),r((this||Nt).negative===0,"red works only with positives"),s.convertTo(this||Nt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Nt).red,"fromRed works only with numbers in reduction context"),(this||Nt).red.convertFrom(this||Nt)},n.prototype._forceRed=function(s){return(this||Nt).red=s,this||Nt},n.prototype.forceRed=function(s){return r(!(this||Nt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Nt).red,"redAdd works only with red numbers"),(this||Nt).red.add(this||Nt,s)},n.prototype.redIAdd=function(s){return r((this||Nt).red,"redIAdd works only with red numbers"),(this||Nt).red.iadd(this||Nt,s)},n.prototype.redSub=function(s){return r((this||Nt).red,"redSub works only with red numbers"),(this||Nt).red.sub(this||Nt,s)},n.prototype.redISub=function(s){return r((this||Nt).red,"redISub works only with red numbers"),(this||Nt).red.isub(this||Nt,s)},n.prototype.redShl=function(s){return r((this||Nt).red,"redShl works only with red numbers"),(this||Nt).red.shl(this||Nt,s)},n.prototype.redMul=function(s){return r((this||Nt).red,"redMul works only with red numbers"),(this||Nt).red._verify2(this||Nt,s),(this||Nt).red.mul(this||Nt,s)},n.prototype.redIMul=function(s){return r((this||Nt).red,"redMul works only with red numbers"),(this||Nt).red._verify2(this||Nt,s),(this||Nt).red.imul(this||Nt,s)},n.prototype.redSqr=function(){return r((this||Nt).red,"redSqr works only with red numbers"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.sqr(this||Nt)},n.prototype.redISqr=function(){return r((this||Nt).red,"redISqr works only with red numbers"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.isqr(this||Nt)},n.prototype.redSqrt=function(){return r((this||Nt).red,"redSqrt works only with red numbers"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.sqrt(this||Nt)},n.prototype.redInvm=function(){return r((this||Nt).red,"redInvm works only with red numbers"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.invm(this||Nt)},n.prototype.redNeg=function(){return r((this||Nt).red,"redNeg works only with red numbers"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.neg(this||Nt)},n.prototype.redPow=function(s){return r((this||Nt).red&&!s.red,"redPow(normalNum)"),(this||Nt).red._verify1(this||Nt),(this||Nt).red.pow(this||Nt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Nt).name=O,(this||Nt).p=new n(s,16),(this||Nt).n=(this||Nt).p.bitLength(),(this||Nt).k=new n(1).iushln((this||Nt).n).isub((this||Nt).p),(this||Nt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Nt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Nt).tmp),l=this.imulK(l),l=l.iadd((this||Nt).tmp),A=l.bitLength();while(A>(this||Nt).n);var m=A<(this||Nt).n?-1:l.ucmp((this||Nt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Nt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Nt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Nt).k)};function ce(){ne.call(this||Nt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Nt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Nt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Nt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Nt).m=s.p,(this||Nt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Nt).m=O,(this||Nt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Nt).prime?(this||Nt).prime.ireduce(s)._forceRed(this||Nt):s.umod((this||Nt).m)._forceRed(this||Nt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Nt).m.sub(s)._forceRed(this||Nt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Nt).m)>=0&&A.isub((this||Nt).m),A._forceRed(this||Nt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Nt).m)>=0&&A.isub((this||Nt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Nt).m),A._forceRed(this||Nt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Nt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Nt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Nt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Nt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Nt),x=w.redNeg(),R=(this||Nt).m.subn(1).iushrn(1),u=(this||Nt).m.bitLength();for(u=new n(2*u*u).toRed(this||Nt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Nt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Nt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Nt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Nt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Nt,O),(this||Nt).shift=(this||Nt).m.bitLength(),(this||Nt).shift%26!==0&&((this||Nt).shift+=26-(this||Nt).shift%26),(this||Nt).r=new n(1).iushln((this||Nt).shift),(this||Nt).r2=this.imod((this||Nt).r.sqr()),(this||Nt).rinv=(this||Nt).r._invmp((this||Nt).m),(this||Nt).minv=(this||Nt).rinv.mul((this||Nt).r).isubn(1).div((this||Nt).m),(this||Nt).minv=(this||Nt).minv.umod((this||Nt).r),(this||Nt).minv=(this||Nt).r.sub((this||Nt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Nt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Nt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Nt).shift).mul((this||Nt).minv).imaskn((this||Nt).shift).mul((this||Nt).m),E=A.isub(m).iushrn((this||Nt).shift),w=E;return E.cmp((this||Nt).m)>=0?w=E.isub((this||Nt).m):E.cmpn(0)<0&&(w=E.iadd((this||Nt).m)),w._forceRed(this||Nt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Nt);var A=s.mul(l),m=A.maskn((this||Nt).shift).mul((this||Nt).minv).imaskn((this||Nt).shift).mul((this||Nt).m),E=A.isub(m).iushrn((this||Nt).shift),w=E;return E.cmp((this||Nt).m)>=0?w=E.isub((this||Nt).m):E.cmpn(0)<0&&(w=E.iadd((this||Nt).m)),w._forceRed(this||Nt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Nt).m).mul((this||Nt).r2));return l._forceRed(this||Nt)}})(Yoe,dGe)),Yoe.exports}function $It(){return BPe||(BPe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||xt).negative=0,(this||xt).words=null,(this||xt).length=0,(this||xt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||xt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||xt).negative=1,s=-s),s<67108864?((this||xt).words=[s&67108863],(this||xt).length=1):s<4503599627370496?((this||xt).words=[s&67108863,s/67108864&67108863],(this||xt).length=2):(r(s<9007199254740992),(this||xt).words=[s&67108863,s/67108864&67108863,1],(this||xt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||xt).words=[0],(this||xt).length=1,this||xt;(this||xt).length=Math.ceil(s.length/3),(this||xt).words=new Array((this||xt).length);for(var m=0;m<(this||xt).length;m++)(this||xt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||xt).words[E]|=w<<x&67108863,(this||xt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||xt).words[E]|=w<<x&67108863,(this||xt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||xt).length=Math.ceil((s.length-l)/6),(this||xt).words=new Array((this||xt).length);for(var m=0;m<(this||xt).length;m++)(this||xt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||xt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||xt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||xt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||xt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||xt).words=[0],(this||xt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||xt).words[0]+u<67108864?(this||xt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||xt).words[0]+u<67108864?(this||xt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||xt).length);for(var l=0;l<(this||xt).length;l++)s.words[l]=(this||xt).words[l];s.length=(this||xt).length,s.negative=(this||xt).negative,s.red=(this||xt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||xt).length<s;)(this||xt).words[(this||xt).length++]=0;return this||xt},n.prototype.strip=function(){for(;(this||xt).length>1&&(this||xt).words[(this||xt).length-1]===0;)(this||xt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||xt).length===1&&(this||xt).words[0]===0&&((this||xt).negative=0),this||xt},n.prototype.inspect=function(){return((this||xt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||xt).length;w++){var x=(this||xt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||xt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||xt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||xt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||xt).words[0];return(this||xt).length===2?s+=(this||xt).words[1]*67108864:(this||xt).length===3&&(this||xt).words[2]===1?s+=4503599627370496+(this||xt).words[1]*67108864:(this||xt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||xt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||xt).words[(this||xt).length-1],l=this._countBits(s);return((this||xt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||xt).length;l++){var A=this._zeroBits((this||xt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||xt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||xt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||xt).negative^=1),this||xt},n.prototype.iuor=function(s){for(;(this||xt).length<s.length;)(this||xt).words[(this||xt).length++]=0;for(var l=0;l<s.length;l++)(this||xt).words[l]=(this||xt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||xt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||xt).length>s.length?this.clone().ior(s):s.clone().ior(this||xt)},n.prototype.uor=function(s){return(this||xt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||xt)},n.prototype.iuand=function(s){var l;(this||xt).length>s.length?l=s:l=this||xt;for(var A=0;A<l.length;A++)(this||xt).words[A]=(this||xt).words[A]&s.words[A];return(this||xt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||xt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||xt).length>s.length?this.clone().iand(s):s.clone().iand(this||xt)},n.prototype.uand=function(s){return(this||xt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||xt)},n.prototype.iuxor=function(s){var l,A;(this||xt).length>s.length?(l=this||xt,A=s):(l=s,A=this||xt);for(var m=0;m<A.length;m++)(this||xt).words[m]=l.words[m]^A.words[m];if((this||xt)!==l)for(;m<l.length;m++)(this||xt).words[m]=l.words[m];return(this||xt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||xt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||xt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||xt)},n.prototype.uxor=function(s){return(this||xt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||xt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||xt).words[m]=~(this||xt).words[m]&67108863;return A>0&&((this||xt).words[m]=~(this||xt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||xt).words[A]=(this||xt).words[A]|1<<m:(this||xt).words[A]=(this||xt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||xt).negative!==0&&s.negative===0)return(this||xt).negative=0,l=this.isub(s),(this||xt).negative^=1,this._normSign();if((this||xt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||xt).length>s.length?(A=this||xt,m=s):(A=s,m=this||xt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||xt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||xt).words[w]=l&67108863,E=l>>>26;if((this||xt).length=A.length,E!==0)(this||xt).words[(this||xt).length]=E,(this||xt).length++;else if(A!==(this||xt))for(;w<A.length;w++)(this||xt).words[w]=A.words[w];return this||xt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||xt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||xt).negative!==0?((this||xt).negative=0,l=s.sub(this||xt),(this||xt).negative=1,l):(this||xt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||xt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||xt).negative!==0)return(this||xt).negative=0,this.iadd(s),(this||xt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||xt).negative=0,(this||xt).length=1,(this||xt).words[0]=0,this||xt;var m,E;A>0?(m=this||xt,E=s):(m=s,E=this||xt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||xt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||xt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||xt))for(;x<m.length;x++)(this||xt).words[x]=m.words[x];return(this||xt).length=Math.max((this||xt).length,x),m!==(this||xt)&&((this||xt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||xt).length+s.length;return(this||xt).length===10&&s.length===10?A=D(this||xt,s,l):m<63?A=M(this||xt,s,l):m<1024?A=P(this||xt,s,l):A=G(this||xt,s,l),A};function q(O,s){(this||xt).x=O,(this||xt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||xt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||xt).length+s.length),G(this||xt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||xt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||xt).length;A++){var m=((this||xt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||xt).words[A]=E&67108863}return l!==0&&((this||xt).words[A]=l,(this||xt).length++),this||xt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||xt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||xt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||xt).length;E++){var x=(this||xt).words[E]&m,R=((this||xt).words[E]|0)-x<<l;(this||xt).words[E]=R|w,w=x>>>26-l}w&&((this||xt).words[E]=w,(this||xt).length++)}if(A!==0){for(E=(this||xt).length-1;E>=0;E--)(this||xt).words[E+A]=(this||xt).words[E];for(E=0;E<A;E++)(this||xt).words[E]=0;(this||xt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||xt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||xt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||xt).words[u];R.length=w}if(w!==0)if((this||xt).length>w)for((this||xt).length-=w,u=0;u<(this||xt).length;u++)(this||xt).words[u]=(this||xt).words[u+w];else(this||xt).words[0]=0,(this||xt).length=1;var C=0;for(u=(this||xt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||xt).words[u]|0;(this||xt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||xt).length===0&&((this||xt).words[0]=0,(this||xt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||xt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||xt).length<=A)return!1;var E=(this||xt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||xt).negative===0,"imaskn works only with positive numbers"),(this||xt).length<=A)return this||xt;if(l!==0&&A++,(this||xt).length=Math.min(A,(this||xt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||xt).words[(this||xt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||xt).negative!==0?(this||xt).length===1&&((this||xt).words[0]|0)<s?((this||xt).words[0]=s-((this||xt).words[0]|0),(this||xt).negative=0,this||xt):((this||xt).negative=0,this.isubn(s),(this||xt).negative=1,this||xt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||xt).words[0]+=s;for(var l=0;l<(this||xt).length&&(this||xt).words[l]>=67108864;l++)(this||xt).words[l]-=67108864,l===(this||xt).length-1?(this||xt).words[l+1]=1:(this||xt).words[l+1]++;return(this||xt).length=Math.max((this||xt).length,l+1),this||xt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||xt).negative!==0)return(this||xt).negative=0,this.iaddn(s),(this||xt).negative=1,this||xt;if((this||xt).words[0]-=s,(this||xt).length===1&&(this||xt).words[0]<0)(this||xt).words[0]=-(this||xt).words[0],(this||xt).negative=1;else for(var l=0;l<(this||xt).length&&(this||xt).words[l]<0;l++)(this||xt).words[l]+=67108864,(this||xt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||xt).negative=0,this||xt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||xt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||xt).words[E+A]=w&67108863}for(;E<(this||xt).length-A;E++)w=((this||xt).words[E+A]|0)+x,x=w>>26,(this||xt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||xt).length;E++)w=-((this||xt).words[E]|0)+x,x=w>>26,(this||xt).words[E]=w&67108863;return(this||xt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||xt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||xt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||xt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||xt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||xt).length||this.cmp(s)<0?{div:new n(0),mod:this||xt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||xt).length-1;m>=0;m--)A=(l*A+((this||xt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||xt).length-1;A>=0;A--){var m=((this||xt).words[A]|0)+l*67108864;(this||xt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||xt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||xt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||xt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||xt).words[0]&1)===1},n.prototype.andln=function(s){return(this||xt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||xt).length<=A)return this._expand(A+1),(this||xt).words[A]|=m,this||xt;for(var E=m,w=A;E!==0&&w<(this||xt).length;w++){var x=(this||xt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||xt).words[w]=x}return E!==0&&((this||xt).words[w]=E,(this||xt).length++),this||xt},n.prototype.isZero=function(){return(this||xt).length===1&&(this||xt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||xt).negative!==0&&!l)return-1;if((this||xt).negative===0&&l)return 1;this.strip();var A;if((this||xt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||xt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||xt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||xt).negative!==0&&s.negative===0)return-1;if((this||xt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||xt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||xt).length>s.length)return 1;if((this||xt).length<s.length)return-1;for(var l=0,A=(this||xt).length-1;A>=0;A--){var m=(this||xt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||xt).red,"Already a number in reduction context"),r((this||xt).negative===0,"red works only with positives"),s.convertTo(this||xt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||xt).red,"fromRed works only with numbers in reduction context"),(this||xt).red.convertFrom(this||xt)},n.prototype._forceRed=function(s){return(this||xt).red=s,this||xt},n.prototype.forceRed=function(s){return r(!(this||xt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||xt).red,"redAdd works only with red numbers"),(this||xt).red.add(this||xt,s)},n.prototype.redIAdd=function(s){return r((this||xt).red,"redIAdd works only with red numbers"),(this||xt).red.iadd(this||xt,s)},n.prototype.redSub=function(s){return r((this||xt).red,"redSub works only with red numbers"),(this||xt).red.sub(this||xt,s)},n.prototype.redISub=function(s){return r((this||xt).red,"redISub works only with red numbers"),(this||xt).red.isub(this||xt,s)},n.prototype.redShl=function(s){return r((this||xt).red,"redShl works only with red numbers"),(this||xt).red.shl(this||xt,s)},n.prototype.redMul=function(s){return r((this||xt).red,"redMul works only with red numbers"),(this||xt).red._verify2(this||xt,s),(this||xt).red.mul(this||xt,s)},n.prototype.redIMul=function(s){return r((this||xt).red,"redMul works only with red numbers"),(this||xt).red._verify2(this||xt,s),(this||xt).red.imul(this||xt,s)},n.prototype.redSqr=function(){return r((this||xt).red,"redSqr works only with red numbers"),(this||xt).red._verify1(this||xt),(this||xt).red.sqr(this||xt)},n.prototype.redISqr=function(){return r((this||xt).red,"redISqr works only with red numbers"),(this||xt).red._verify1(this||xt),(this||xt).red.isqr(this||xt)},n.prototype.redSqrt=function(){return r((this||xt).red,"redSqrt works only with red numbers"),(this||xt).red._verify1(this||xt),(this||xt).red.sqrt(this||xt)},n.prototype.redInvm=function(){return r((this||xt).red,"redInvm works only with red numbers"),(this||xt).red._verify1(this||xt),(this||xt).red.invm(this||xt)},n.prototype.redNeg=function(){return r((this||xt).red,"redNeg works only with red numbers"),(this||xt).red._verify1(this||xt),(this||xt).red.neg(this||xt)},n.prototype.redPow=function(s){return r((this||xt).red&&!s.red,"redPow(normalNum)"),(this||xt).red._verify1(this||xt),(this||xt).red.pow(this||xt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||xt).name=O,(this||xt).p=new n(s,16),(this||xt).n=(this||xt).p.bitLength(),(this||xt).k=new n(1).iushln((this||xt).n).isub((this||xt).p),(this||xt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||xt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||xt).tmp),l=this.imulK(l),l=l.iadd((this||xt).tmp),A=l.bitLength();while(A>(this||xt).n);var m=A<(this||xt).n?-1:l.ucmp((this||xt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||xt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||xt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||xt).k)};function ce(){ne.call(this||xt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||xt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||xt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||xt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||xt).m=s.p,(this||xt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||xt).m=O,(this||xt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||xt).prime?(this||xt).prime.ireduce(s)._forceRed(this||xt):s.umod((this||xt).m)._forceRed(this||xt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||xt).m.sub(s)._forceRed(this||xt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||xt).m)>=0&&A.isub((this||xt).m),A._forceRed(this||xt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||xt).m)>=0&&A.isub((this||xt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||xt).m),A._forceRed(this||xt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||xt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||xt).m.andln(3);if(r(l%2===1),l===3){var A=(this||xt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||xt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||xt),x=w.redNeg(),R=(this||xt).m.subn(1).iushrn(1),u=(this||xt).m.bitLength();for(u=new n(2*u*u).toRed(this||xt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||xt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||xt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||xt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||xt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||xt,O),(this||xt).shift=(this||xt).m.bitLength(),(this||xt).shift%26!==0&&((this||xt).shift+=26-(this||xt).shift%26),(this||xt).r=new n(1).iushln((this||xt).shift),(this||xt).r2=this.imod((this||xt).r.sqr()),(this||xt).rinv=(this||xt).r._invmp((this||xt).m),(this||xt).minv=(this||xt).rinv.mul((this||xt).r).isubn(1).div((this||xt).m),(this||xt).minv=(this||xt).minv.umod((this||xt).r),(this||xt).minv=(this||xt).r.sub((this||xt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||xt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||xt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||xt).shift).mul((this||xt).minv).imaskn((this||xt).shift).mul((this||xt).m),E=A.isub(m).iushrn((this||xt).shift),w=E;return E.cmp((this||xt).m)>=0?w=E.isub((this||xt).m):E.cmpn(0)<0&&(w=E.iadd((this||xt).m)),w._forceRed(this||xt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||xt);var A=s.mul(l),m=A.maskn((this||xt).shift).mul((this||xt).minv).imaskn((this||xt).shift).mul((this||xt).m),E=A.isub(m).iushrn((this||xt).shift),w=E;return E.cmp((this||xt).m)>=0?w=E.isub((this||xt).m):E.cmpn(0)<0&&(w=E.iadd((this||xt).m)),w._forceRed(this||xt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||xt).m).mul((this||xt).r2));return l._forceRed(this||xt)}})(Woe,lGe)),Woe.exports}function gq(){}function c6(e){hGe.call(this),this._block=_q.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}function mq(){pGe.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function jq(e,t){return e<<t|e>>>32-t}function vh(e,t,r,i,n,o,d){return jq(e+(t&r|~t&i)+n+o|0,d)+t|0}function Rh(e,t,r,i,n,o,d){return jq(e+(t&i|r&~i)+n+o|0,d)+t|0}function Sh(e,t,r,i,n,o,d){return jq(e+(t^r^i)+n+o|0,d)+t|0}function Ih(e,t,r,i,n,o,d){return jq(e+(r^(t|~i))+n+o|0,d)+t|0}function yq(){gGe.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function E4(e,t){return e<<t|e>>>32-t}function kPe(e,t,r,i,n,o,d,g){return E4(e+(t^r^i)+o+d|0,g)+n|0}function PPe(e,t,r,i,n,o,d,g){return E4(e+(t&r|~t&i)+o+d|0,g)+n|0}function LPe(e,t,r,i,n,o,d,g){return E4(e+((t|~r)^i)+o+d|0,g)+n|0}function UPe(e,t,r,i,n,o,d,g){return E4(e+(t&i|r&~i)+o+d|0,g)+n|0}function FPe(e,t,r,i,n,o,d,g){return E4(e+(t^(r|~i))+o+d|0,g)+n|0}function bq(e,t){(this||_0)._block=_Ge.alloc(e),(this||_0)._finalSize=t,(this||_0)._blockSize=e,(this||_0)._len=0}function aD(){this.init(),(this||ha)._w=s3t,mGe.call(this||ha,64,56)}function c3t(e,t,r){return r^e&(t^r)}function u3t(e,t,r){return e&t|r&(e|t)}function d3t(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function f3t(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function l3t(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function sD(){this.init(),(this||Xc)._w=g3t,bGe.call(this||Xc,64,56)}function _3t(e){return e<<30|e>>>2}function m3t(e,t,r,i){return e===0?t&r|~t&i:e===2?t&r|t&i|r&i:t^r^i}function cD(){this.init(),(this||Zc)._w=R3t,EGe.call(this||Zc,64,56)}function S3t(e){return e<<5|e>>>27}function I3t(e){return e<<30|e>>>2}function C3t(e,t,r,i){return e===0?t&r|~t&i:e===2?t&r|t&i|r&i:t^r^i}function Eq(){this.init(),(this||nl)._w=B3t,x3t.call(this||nl,64,56)}function uD(){this.init(),(this||ni)._w=P3t,vGe.call(this||ni,128,112)}function HPe(e,t,r){return r^e&(t^r)}function GPe(e,t,r){return e&t|r&(e|t)}function qPe(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function VPe(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function L3t(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function U3t(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function F3t(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function Q3t(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function jf(e,t){return e>>>0<t>>>0?1:0}function vq(){this.init(),(this||Sc)._w=J3t,q3t.call(this||Sc,128,112)}function fm(e){IGe.call(this||sd),(this||sd).hashMode=typeof e=="string",(this||sd).hashMode?(this||sd)[e]=(this||sd)._finalOrDigest:(this||sd).final=(this||sd)._finalOrDigest,(this||sd)._final&&((this||sd).__final=(this||sd)._final,(this||sd)._final=null),(this||sd)._decoder=null,(this||sd)._encoding=null}function Rq(e){CGe.call(this,"digest"),this._hash=e}function Sq(e,t){OGe.call(this,"digest"),typeof t=="string"&&(t=g4.from(t)),this._alg=e,this._key=t,t.length>64?t=e(t):t.length<64&&(t=g4.concat([t,j3t],64));for(var r=this._ipad=g4.allocUnsafe(64),i=this._opad=g4.allocUnsafe(64),n=0;n<64;n++)r[n]=54^t[n],i[n]=92^t[n];this._hash=[r]}function bD(e,t){NGe.call(this,"digest"),typeof t=="string"&&(t=dD.from(t));var r=e==="sha512"||e==="sha384"?128:64;this._alg=e,this._key=t,t.length>r?t=(e==="rmd160"?new Kce:$ce(e)).update(t).digest():t.length<r&&(t=dD.concat([t,n8t],r));for(var i=this._ipad=dD.allocUnsafe(r),n=this._opad=dD.allocUnsafe(r),o=0;o<r;o++)i[o]=54^t[o],n[o]=92^t[o];this._hash=e==="rmd160"?new Kce:$ce(e),this._hash.update(i)}function zPe(e,t){if(typeof e!="string"&&!i8t.isBuffer(e))throw new TypeError(t+" must be a buffer or string")}function DGe(e,t,r){var i=(function(_){function I(N){return c8t(_).update(N).digest()}return _==="rmd160"||_==="ripemd160"?function(N){return new s8t().update(N).digest()}:_==="md5"?a8t:I})(e),n=e==="sha512"||e==="sha384"?128:64;t.length>n?t=i(t):t.length<n&&(t=gm.concat([t,d8t],n));for(var o=gm.allocUnsafe(n+Iq[e]),d=gm.allocUnsafe(n+Iq[e]),g=0;g<n;g++)o[g]=54^t[g],d[g]=92^t[g];var y=gm.allocUnsafe(n+r+4);o.copy(y,0,0,n),(this||Am).ipad1=y,(this||Am).ipad2=o,(this||Am).opad=d,(this||Am).alg=e,(this||Am).blocksize=n,(this||Am).hash=i,(this||Am).size=Iq[e]}function XPe(e,t,r,i,n){return vD.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(o){return vD.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:n}},o,i<<3)})).then((function(o){return yO.from(o)}))}function ZPe(e,t){if(!e)throw new Error(t||"Assertion failed")}function Dg(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}function p8t(){this.tmp=new Array(2),this.keys=null}function $y(e){FGe.call(this,e);var t=new p8t;this._desState=t,this.deriveKeys(t,e.key)}function y8t(e){_8t.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}function E8t(e,t){b8t.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),i=t.slice(8,16),n=t.slice(16,24);this.ciphers=e==="encrypt"?[_6.create({type:"encrypt",key:r}),_6.create({type:"decrypt",key:i}),_6.create({type:"encrypt",key:n})]:[_6.create({type:"decrypt",key:n}),_6.create({type:"encrypt",key:i}),_6.create({type:"decrypt",key:r})]}function Y8(e){qGe.call(this,e);var t=new E8t(this.type,this.options.key);this._edeState=t}function GG(e){JGe.call(this||Uq);var t,r=e.mode.toLowerCase(),i=fD[r];t=e.decrypt?"decrypt":"encrypt";var n=e.key;d4.isBuffer(n)||(n=d4.from(n)),r!=="des-ede"&&r!=="des-ede-cbc"||(n=d4.concat([n,n.slice(0,8)]));var o=e.iv;d4.isBuffer(o)||(o=d4.from(o)),(this||Uq)._des=i.create({key:n,iv:o,type:t})}function nLe(e,t,r){var i=t.length,n=w8t(t,e._cache);return e._cache=e._cache.slice(i),e._prev=lD.concat([e._prev,r?t:n]),n}function O8t(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=Xce.concat([e._prev.slice(1),Xce.from([r?t:i])]),i}function N8t(e,t,r){for(var i,n,o=-1,d=0;++o<8;)i=t&1<<7-o?128:0,d+=(128&(n=e._cipher.encryptBlock(e._prev)[0]^i))>>o%8,e._prev=x8t(e._prev,r?i:n);return d}function x8t(e,t){var r=e.length,i=-1,n=Cq.allocUnsafe(e.length);for(e=Cq.concat([e,Cq.from([t])]);++i<r;)n[i]=e[i]<<1|e[i+1]>>7;return n}function M8t(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}function P8t(e){var t=e._cipher.encryptBlockRaw(e._prev);return k8t(e._prev),t}function jce(e){Fq.isBuffer(e)||(e=Fq.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i<t;i++)r[i]=e.readUInt32BE(4*i);return r}function rae(e){for(;0<e.length;e++)e[0]=0}function oLe(e,t,r,i,n){for(var o,d,g,y,_=r[0],I=r[1],N=r[2],T=r[3],M=e[0]^t[0],D=e[1]^t[1],P=e[2]^t[2],G=e[3]^t[3],q=4,Y=1;Y<n;Y++)o=_[M>>>24]^I[D>>>16&255]^N[P>>>8&255]^T[255&G]^t[q++],d=_[D>>>24]^I[P>>>16&255]^N[G>>>8&255]^T[255&M]^t[q++],g=_[P>>>24]^I[G>>>16&255]^N[M>>>8&255]^T[255&D]^t[q++],y=_[G>>>24]^I[M>>>16&255]^N[D>>>8&255]^T[255&P]^t[q++],M=o,D=d,P=g,G=y;return o=(i[M>>>24]<<24|i[D>>>16&255]<<16|i[P>>>8&255]<<8|i[255&G])^t[q++],d=(i[D>>>24]<<24|i[P>>>16&255]<<16|i[G>>>8&255]<<8|i[255&M])^t[q++],g=(i[P>>>24]<<24|i[G>>>16&255]<<16|i[M>>>8&255]<<8|i[255&D])^t[q++],y=(i[G>>>24]<<24|i[M>>>16&255]<<16|i[D>>>8&255]<<8|i[255&P])^t[q++],[o>>>=0,d>>>=0,g>>>=0,y>>>=0]}function kg(e){(this||Gg)._key=jce(e),this._reset()}function aLe(e){var t=NO.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function hD(e){(this||wh).h=e,(this||wh).state=NO.alloc(16,0),(this||wh).cache=NO.allocUnsafe(0)}function a4(e,t,r,i){ZGe.call(this||Aa);var n=Sp.alloc(4,0);(this||Aa)._cipher=new H8t.AES(t);var o=(this||Aa)._cipher.encryptBlock(n);(this||Aa)._ghash=new sLe(o),r=(function(d,g,y){if(g.length===12)return d._finID=Sp.concat([g,Sp.from([0,0,0,1])]),Sp.concat([g,Sp.from([0,0,0,2])]);var _=new sLe(y),I=g.length,N=I%16;_.update(g),N&&(N=16-N,_.update(Sp.alloc(N,0))),_.update(Sp.alloc(8,0));var T=8*I,M=Sp.alloc(8);M.writeUIntBE(T,0,8),_.update(M),d._finID=_.state;var D=Sp.from(d._finID);return q8t(D),D})(this||Aa,r,o),(this||Aa)._prev=Sp.from(r),(this||Aa)._cache=Sp.allocUnsafe(0),(this||Aa)._secCache=Sp.allocUnsafe(0),(this||Aa)._decrypt=i,(this||Aa)._alen=0,(this||Aa)._len=0,(this||Aa)._mode=e,(this||Aa)._authTag=null,(this||Aa)._called=!1}function Oq(e,t,r,i){eqe.call(this||pm),(this||pm)._cipher=new V8t.AES(t),(this||pm)._prev=nae.from(r),(this||pm)._cache=nae.allocUnsafe(0),(this||pm)._secCache=nae.allocUnsafe(0),(this||pm)._decrypt=i,(this||pm)._mode=e}function AD(e,t,r){nqe.call(this||Ic),(this||Ic)._cache=new Nq,(this||Ic)._last=void 0,(this||Ic)._cipher=new $8t.AES(t),(this||Ic)._prev=xO.from(r),(this||Ic)._mode=e,(this||Ic)._autopadding=!0}function Nq(){(this||Ic).cache=xO.allocUnsafe(0)}function cLe(e,t,r){var i=rqe[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if(typeof r=="string"&&(r=xO.from(r)),i.mode!=="GCM"&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);if(typeof t=="string"&&(t=xO.from(t)),t.length!==i.key/8)throw new TypeError("invalid key length "+t.length);return i.type==="stream"?new K8t(i.module,t,r,!0):i.type==="auth"?new z8t(i.module,t,r,!0):new AD(i.module,t,r)}function CD(e,t,r){oqe.call(this||Bu),(this||Bu)._cache=new xq,(this||Bu)._cipher=new Z8t.AES(t),(this||Bu)._prev=Dv.from(r),(this||Bu)._mode=e,(this||Bu)._autopadding=!0}function xq(){(this||Bu).cache=Dv.allocUnsafe(0)}function uLe(e,t,r){var i=iqe[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if(typeof t=="string"&&(t=Dv.from(t)),t.length!==i.key/8)throw new TypeError("invalid key length "+t.length);if(typeof r=="string"&&(r=Dv.from(r)),i.mode!=="GCM"&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return i.type==="stream"?new X8t(i.module,t,r):i.type==="auth"?new W8t(i.module,t,r):new CD(i.module,t,r)}function hLe(e,t,r){if(e=e.toLowerCase(),m6[e])return Mue.createCipheriv(e,t,r);if(Ov[e])return new aqe({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function ALe(e,t,r){if(e=e.toLowerCase(),m6[e])return Mue.createDecipheriv(e,t,r);if(Ov[e])return new aqe({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}function ZS(e){(this||Tq).rand=e}function Z8(e){(this||fqe).rand=e||new i4t.Rand}function l4t(){if(aae!==null)return aae;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;n<t&&e[n]<=i&&r%e[n]!=0;n++);t!==n&&e[n]<=i||(e[t++]=r)}return aae=e,e}function nue(e){for(var t=l4t(),r=0;r<t.length;r++)if(e.modn(t[r])===0)return e.cmpn(t[r])===0;return!0}function iue(e){var t=Nh.mont(e);return rue.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)===0}function sae(e,t){if(e<16)return new Nh(t===2||t===5?[140,123]:[140,39]);var r,i;for(t=new Nh(t);;){for(r=new Nh(o4t(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(s4t),r.testn(1)||r.iadd(rue),t.cmp(rue)){if(!t.cmp(c4t))for(;r.mod(u4t).cmp(d4t);)r.iadd(gLe)}else for(;r.mod(a4t).cmp(f4t);)r.iadd(gLe);if(nue(i=r.shrn(1))&&nue(r)&&iue(i)&&iue(r)&&pLe.test(i)&&pLe.test(r))return r}}function y4t(e,t){return t=t||"utf8",Yy.isBuffer(e)||(e=new Yy(e,t)),(this||ks)._pub=new Vg(e),this||ks}function b4t(e,t){return t=t||"utf8",Yy.isBuffer(e)||(e=new Yy(e,t)),(this||ks)._priv=new Vg(e),this||ks}function wv(e,t,r){this.setGenerator(t),(this||ks).__prime=new Vg(e),(this||ks)._prime=Vg.mont((this||ks).__prime),(this||ks)._primeLen=e.length,(this||ks)._pub=void 0,(this||ks)._priv=void 0,(this||ks)._primeCode=void 0,r?((this||ks).setPublicKey=y4t,(this||ks).setPrivateKey=b4t):(this||ks)._primeCode=8}function VG(e,t){var r=new Yy(e.toArray());return t?r.toString(t):r}function ELe(e,t){var r=(function(M){var D=_qe(M);return{blinder:D.toRed(y6.mont(M.modulus)).redPow(new y6(M.publicExponent)).fromRed(),unblinder:D.invm(M.modulus)}})(t),i=t.modulus.byteLength(),n=(y6.mont(t.modulus),new y6(e).mul(r.blinder).umod(t.modulus)),o=n.toRed(y6.mont(t.prime1)),d=n.toRed(y6.mont(t.prime2)),g=t.coefficient,y=t.prime1,_=t.prime2,I=o.redPow(t.exponent1),N=d.redPow(t.exponent2);I=I.fromRed(),N=N.fromRed();var T=I.isub(N).imul(g).umod(y);return T.imul(_),N.iadd(T),new S4t(N.imul(r.unblinder).umod(t.modulus).toArray(!1,i))}function _qe(e){for(var t=e.modulus.byteLength(),r=new y6(bLe(t));r.cmp(e.modulus)>=0||!r.umod(e.prime1)||!r.umod(e.prime2);)r=new y6(bLe(t));return r}function mqe(e){return e.length===1?"0"+e:e}function vLe(e){for(var t="",r=0;r<e.length;r++)t+=mqe(e[r].toString(16));return t}function Bq(e,t){if(e instanceof Bq)return e;this._importDER(e,t)||(w4t(e.r&&e.s,"Signature without r or s"),this.r=new Qq(e.r,16),this.s=new Qq(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function O4t(){this.place=0}function uae(e,t){var r=e[t.place++];if(!(128&r))return r;for(var i=15&r,n=0,o=0,d=t.place;o<i;o++,d++)n<<=8,n|=e[d];return t.place=d,n}function RLe(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return t===0?e:e.slice(t)}function dae(e,t){if(t<128)return e.push(t),void 0;var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}function B4t(e,t){return(64512&e.charCodeAt(t))==55296&&!(t<0||t+1>=e.length)&&(64512&e.charCodeAt(t+1))==56320}function SLe(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function ILe(e){return e.length===1?"0"+e:e}function CLe(e){return e.length===7?"0"+e:e.length===6?"00"+e:e.length===5?"000"+e:e.length===4?"0000"+e:e.length===3?"00000"+e:e.length===2?"000000"+e:e.length===1?"0000000"+e:e}function KG(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}function hm(){if(!(this instanceof hm))return new hm;Rqe.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Q4t,this.W=new Array(160)}function H4t(e,t,r,i,n){var o=e&r^~e&n;return o<0&&(o+=4294967296),o}function G4t(e,t,r,i,n,o){var d=t&i^~t&o;return d<0&&(d+=4294967296),d}function q4t(e,t,r,i,n){var o=e&r^e&n^r&n;return o<0&&(o+=4294967296),o}function V4t(e,t,r,i,n,o){var d=t&i^t&o^i&o;return d<0&&(d+=4294967296),d}function J4t(e,t){var r=Wy(e,t,28)^Wy(t,e,2)^Wy(t,e,7);return r<0&&(r+=4294967296),r}function z4t(e,t){var r=Xy(e,t,28)^Xy(t,e,2)^Xy(t,e,7);return r<0&&(r+=4294967296),r}function K4t(e,t){var r=Wy(e,t,14)^Wy(e,t,18)^Wy(t,e,9);return r<0&&(r+=4294967296),r}function $4t(e,t){var r=Xy(e,t,14)^Xy(e,t,18)^Xy(t,e,9);return r<0&&(r+=4294967296),r}function Y4t(e,t){var r=Wy(e,t,1)^Wy(e,t,8)^Eqe(e,t,7);return r<0&&(r+=4294967296),r}function W4t(e,t){var r=Xy(e,t,1)^Xy(e,t,8)^vqe(e,t,7);return r<0&&(r+=4294967296),r}function X4t(e,t){var r=Wy(e,t,19)^Wy(t,e,29)^Eqe(e,t,6);return r<0&&(r+=4294967296),r}function Z4t(e,t){var r=Xy(e,t,19)^Xy(t,e,29)^vqe(e,t,6);return r<0&&(r+=4294967296),r}function OLe(e,t,r){return e&t^~e&r}function NLe(e,t,r){return e&t^e&r^t&r}function xLe(e,t,r){return e^t^r}function Jy(){if(!(this instanceof Jy))return new Jy;Cqe.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=uCt,this.W=new Array(64)}function zy(){if(!(this instanceof zy))return new zy;Nqe.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}function Nv(){if(!(this instanceof Nv))return new Nv;Tqe.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}function xv(){if(!(this instanceof xv))return new xv;Mqe.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}function Ky(){if(!(this instanceof Ky))return new Ky;kqe.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function MLe(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function yCt(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function bCt(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}function RO(e,t,r){if(!(this instanceof RO))return new RO(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(ICt.toArray(t,r))}function b6(e){if(!(this instanceof b6))return new b6(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=_4.toArray(e.entropy,e.entropyEnc||"hex"),r=_4.toArray(e.nonce,e.nonceEnc||"hex"),i=_4.toArray(e.pers,e.persEnc||"hex");Uqe(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}function t6(e,t){this.type=e,this.p=new j8(t.p,16),this.red=t.prime?j8.red(t.prime):j8.mont(this.p),this.zero=new j8(0).toRed(this.red),this.one=new j8(1).toRed(this.red),this.two=new j8(2).toRed(this.red),this.n=t.n&&new j8(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function Pg(e,t){this.curve=e,this.type=t,this.precomputed=null}function Lg(e){OO.call(this,"short",e),this.a=new ad(e.a,16).toRed(this.red),this.b=new ad(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function el(e,t,r,i){OO.BasePoint.call(this,e,"affine"),t===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new ad(t,16),this.y=new ad(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Hl(e,t,r,i){OO.BasePoint.call(this,e,"jacobian"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ad(0)):(this.x=new ad(t,16),this.y=new ad(r,16),this.z=new ad(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}function AO(e){Hq.call(this,"mont",e),this.a=new SO(e.a,16).toRed(this.red),this.b=new SO(e.b,16).toRed(this.red),this.i4=new SO(4).toRed(this.red).redInvm(),this.two=new SO(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function tl(e,t,r){Hq.BasePoint.call(this,e,"projective"),t===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new SO(t,16),this.z=new SO(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}function Hy(e){this.twisted=(0|e.a)!=1,this.mOneA=this.twisted&&(0|e.a)==-1,this.extended=this.mOneA,Gq.call(this,"edwards",e),this.a=new Mv(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Mv(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Mv(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),kCt(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(0|e.c)==1}function qu(e,t,r,i,n){Gq.BasePoint.call(this,e,"projective"),t===null&&r===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Mv(t,16),this.y=new Mv(r,16),this.z=i?new Mv(i,16):this.curve.one,this.t=n&&new Mv(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}function qqe(e){e.type==="short"?this.curve=new _ae.short(e):e.type==="edwards"?this.curve=new _ae.edwards(e):this.curve=new _ae.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,PLe(this.g.validate(),"Invalid curve"),PLe(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function l6(e,t){Object.defineProperty(sue,e,{configurable:!0,enumerable:!0,get:function(){var r=new qqe(t);return Object.defineProperty(sue,e,{configurable:!0,enumerable:!0,value:r}),r}})}function Ch(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}function qg(e){if(!(this instanceof qg))return new qg(e);typeof e=="string"&&(zqe(mae.hasOwnProperty(e),"Unknown curve "+e),e=mae[e]),e instanceof mae.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}function rl(e,t){this.eddsa=e,this._secret=QLe(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=QLe(t.pub)}function s4(e,t){this.eddsa=e,typeof t!="object"&&(t=JCt(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),VCt(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof qCt&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}function Ip(e){if(YCt(e==="ed25519","only tested with ed25519 so far"),!(this instanceof Ip))return new Ip(e);e=$Ct[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=KCt.sha512}function Ug(e){(this||Mf)._reporterState={obj:null,path:[],options:e||{},errors:[]}}function gO(e,t){(this||Mf).path=e,this.rethrow(t)}function zLe(){if(JLe)return eq;JLe=!0;var e=ca,t=RD().Reporter,r=Vo.Buffer;function i(o,d){if(t.call(this||ra,d),!r.isBuffer(o))return this.error("Input not Buffer"),void 0;(this||ra).base=o,(this||ra).offset=0,(this||ra).length=o.length}function n(o,d){if(Array.isArray(o))(this||ra).length=0,(this||ra).value=o.map((function(g){return g instanceof n||(g=new n(g,d)),(this||ra).length+=g.length,g}),this||ra);else if(typeof o=="number"){if(!(0<=o&&o<=255))return d.error("non-byte EncoderBuffer value");(this||ra).value=o,(this||ra).length=1}else if(typeof o=="string")(this||ra).value=o,(this||ra).length=r.byteLength(o);else{if(!r.isBuffer(o))return d.error("Unsupported type: "+typeof o);(this||ra).value=o,(this||ra).length=o.length}}return e(i,t),eq.DecoderBuffer=i,i.prototype.save=function(){return{offset:(this||ra).offset,reporter:t.prototype.save.call(this||ra)}},i.prototype.restore=function(o){var d=new i((this||ra).base);return d.offset=o.offset,d.length=(this||ra).offset,(this||ra).offset=o.offset,t.prototype.restore.call(this||ra,o.reporter),d},i.prototype.isEmpty=function(){return(this||ra).offset===(this||ra).length},i.prototype.readUInt8=function(o){return(this||ra).offset+1<=(this||ra).length?(this||ra).base.readUInt8((this||ra).offset++,!0):this.error(o||"DecoderBuffer overrun")},i.prototype.skip=function(o,d){if(!((this||ra).offset+o<=(this||ra).length))return this.error(d||"DecoderBuffer overrun");var g=new i((this||ra).base);return g._reporterState=(this||ra)._reporterState,g.offset=(this||ra).offset,g.length=(this||ra).offset+o,(this||ra).offset+=o,g},i.prototype.raw=function(o){return(this||ra).base.slice(o?o.offset:(this||ra).offset,(this||ra).length)},eq.EncoderBuffer=n,n.prototype.join=function(o,d){return o||(o=new r((this||ra).length)),d||(d=0),(this||ra).length===0||(Array.isArray((this||ra).value)?(this||ra).value.forEach((function(g){g.join(o,d),d+=g.length})):(typeof(this||ra).value=="number"?o[d]=(this||ra).value:typeof(this||ra).value=="string"?o.write((this||ra).value,d):r.isBuffer((this||ra).value)&&(this||ra).value.copy(o,d),d+=(this||ra).length)),o},eq}function RD(){if($Le)return vae;$Le=!0;var e=vae;return e.Reporter=$qe.Reporter,e.DecoderBuffer=zLe().DecoderBuffer,e.EncoderBuffer=zLe().EncoderBuffer,e.Node=(function(){if(KLe)return Eae;KLe=!0;var t=RD().Reporter,r=RD().EncoderBuffer,i=RD().DecoderBuffer,n=zg,o=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],d=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(o);function g(_,I){var N={};(this||Ro)._baseState=N,N.enc=_,N.parent=I||null,N.children=null,N.tag=null,N.args=null,N.reverseArgs=null,N.choice=null,N.optional=!1,N.any=!1,N.obj=!1,N.use=null,N.useDecoder=null,N.key=null,N.default=null,N.explicit=null,N.implicit=null,N.contains=null,N.parent||(N.children=[],this._wrap())}Eae=g;var y=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];return g.prototype.clone=function(){var _=(this||Ro)._baseState,I={};y.forEach((function(T){I[T]=_[T]}));var N=new(this||Ro).constructor(I.parent);return N._baseState=I,N},g.prototype._wrap=function(){var _=(this||Ro)._baseState;d.forEach((function(I){(this||Ro)[I]=function(){var N=new(this||Ro).constructor(this||Ro);return _.children.push(N),N[I].apply(N,arguments)}}),this||Ro)},g.prototype._init=function(_){var I=(this||Ro)._baseState;n(I.parent===null),_.call(this||Ro),I.children=I.children.filter((function(N){return N._baseState.parent===(this||Ro)}),this||Ro),n.equal(I.children.length,1,"Root node can have only one child")},g.prototype._useArgs=function(_){var I=(this||Ro)._baseState,N=_.filter((function(T){return T instanceof(this||Ro).constructor}),this||Ro);_=_.filter((function(T){return!(T instanceof(this||Ro).constructor)}),this||Ro),N.length!==0&&(n(I.children===null),I.children=N,N.forEach((function(T){T._baseState.parent=this||Ro}),this||Ro)),_.length!==0&&(n(I.args===null),I.args=_,I.reverseArgs=_.map((function(T){if(typeof T!="object"||T.constructor!==Object)return T;var M={};return Object.keys(T).forEach((function(D){D==(0|D)&&(D|=0);var P=T[D];M[P]=D})),M})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(_){g.prototype[_]=function(){var I=(this||Ro)._baseState;throw new Error(_+" not implemented for encoding: "+I.enc)}})),o.forEach((function(_){g.prototype[_]=function(){var I=(this||Ro)._baseState,N=Array.prototype.slice.call(arguments);return n(I.tag===null),I.tag=_,this._useArgs(N),this||Ro}})),g.prototype.use=function(_){n(_);var I=(this||Ro)._baseState;return n(I.use===null),I.use=_,this||Ro},g.prototype.optional=function(){return(this||Ro)._baseState.optional=!0,this||Ro},g.prototype.def=function(_){var I=(this||Ro)._baseState;return n(I.default===null),I.default=_,I.optional=!0,this||Ro},g.prototype.explicit=function(_){var I=(this||Ro)._baseState;return n(I.explicit===null&&I.implicit===null),I.explicit=_,this||Ro},g.prototype.implicit=function(_){var I=(this||Ro)._baseState;return n(I.explicit===null&&I.implicit===null),I.implicit=_,this||Ro},g.prototype.obj=function(){var _=(this||Ro)._baseState,I=Array.prototype.slice.call(arguments);return _.obj=!0,I.length!==0&&this._useArgs(I),this||Ro},g.prototype.key=function(_){var I=(this||Ro)._baseState;return n(I.key===null),I.key=_,this||Ro},g.prototype.any=function(){return(this||Ro)._baseState.any=!0,this||Ro},g.prototype.choice=function(_){var I=(this||Ro)._baseState;return n(I.choice===null),I.choice=_,this._useArgs(Object.keys(_).map((function(N){return _[N]}))),this||Ro},g.prototype.contains=function(_){var I=(this||Ro)._baseState;return n(I.use===null),I.contains=_,this||Ro},g.prototype._decode=function(_,I){var N=(this||Ro)._baseState;if(N.parent===null)return _.wrapResult(N.children[0]._decode(_,I));var T,M=N.default,D=!0,P=null;if(N.key!==null&&(P=_.enterKey(N.key)),N.optional){var G=null;if(N.explicit!==null?G=N.explicit:N.implicit!==null?G=N.implicit:N.tag!==null&&(G=N.tag),G!==null||N.any){if(D=this._peekTag(_,G,N.any),_.isError(D))return D}else{var q=_.save();try{N.choice===null?this._decodeGeneric(N.tag,_,I):this._decodeChoice(_,I),D=!0}catch{D=!1}_.restore(q)}}if(N.obj&&D&&(T=_.enterObject()),D){if(N.explicit!==null){var Y=this._decodeTag(_,N.explicit);if(_.isError(Y))return Y;_=Y}var ne=_.offset;if(N.use===null&&N.choice===null){N.any&&(q=_.save());var ce=this._decodeTag(_,N.implicit!==null?N.implicit:N.tag,N.any);if(_.isError(ce))return ce;N.any?M=_.raw(q):_=ce}if(I&&I.track&&N.tag!==null&&I.track(_.path(),ne,_.length,"tagged"),I&&I.track&&N.tag!==null&&I.track(_.path(),_.offset,_.length,"content"),M=N.any?M:N.choice===null?this._decodeGeneric(N.tag,_,I):this._decodeChoice(_,I),_.isError(M))return M;if(N.any||N.choice!==null||N.children===null||N.children.forEach((function(pe){pe._decode(_,I)})),N.contains&&(N.tag==="octstr"||N.tag==="bitstr")){var le=new i(M);M=this._getUse(N.contains,_._reporterState.obj)._decode(le,I)}}return N.obj&&D&&(M=_.leaveObject(T)),N.key===null||M===null&&D!==!0?P!==null&&_.exitKey(P):_.leaveKey(P,N.key,M),M},g.prototype._decodeGeneric=function(_,I,N){var T=(this||Ro)._baseState;return _==="seq"||_==="set"?null:_==="seqof"||_==="setof"?this._decodeList(I,_,T.args[0],N):/str$/.test(_)?this._decodeStr(I,_,N):_==="objid"&&T.args?this._decodeObjid(I,T.args[0],T.args[1],N):_==="objid"?this._decodeObjid(I,null,null,N):_==="gentime"||_==="utctime"?this._decodeTime(I,_,N):_==="null_"?this._decodeNull(I,N):_==="bool"?this._decodeBool(I,N):_==="objDesc"?this._decodeStr(I,_,N):_==="int"||_==="enum"?this._decodeInt(I,T.args&&T.args[0],N):T.use!==null?this._getUse(T.use,I._reporterState.obj)._decode(I,N):I.error("unknown tag: "+_)},g.prototype._getUse=function(_,I){var N=(this||Ro)._baseState;return N.useDecoder=this._use(_,I),n(N.useDecoder._baseState.parent===null),N.useDecoder=N.useDecoder._baseState.children[0],N.implicit!==N.useDecoder._baseState.implicit&&(N.useDecoder=N.useDecoder.clone(),N.useDecoder._baseState.implicit=N.implicit),N.useDecoder},g.prototype._decodeChoice=function(_,I){var N=(this||Ro)._baseState,T=null,M=!1;return Object.keys(N.choice).some((function(D){var P=_.save(),G=N.choice[D];try{var q=G._decode(_,I);if(_.isError(q))return!1;T={type:D,value:q},M=!0}catch{return _.restore(P),!1}return!0}),this||Ro),M?T:_.error("Choice not matched")},g.prototype._createEncoderBuffer=function(_){return new r(_,(this||Ro).reporter)},g.prototype._encode=function(_,I,N){var T=(this||Ro)._baseState;if(T.default===null||T.default!==_){var M=this._encodeValue(_,I,N);if(M!==void 0&&!this._skipDefault(M,I,N))return M}},g.prototype._encodeValue=function(_,I,N){var T=(this||Ro)._baseState;if(T.parent===null)return T.children[0]._encode(_,I||new t);var M=null;if((this||Ro).reporter=I,T.optional&&_===void 0){if(T.default===null)return;_=T.default}var D=null,P=!1;if(T.any)M=this._createEncoderBuffer(_);else if(T.choice)M=this._encodeChoice(_,I);else if(T.contains)D=this._getUse(T.contains,N)._encode(_,I),P=!0;else if(T.children)D=T.children.map((function(ne){if(ne._baseState.tag==="null_")return ne._encode(null,I,_);if(ne._baseState.key===null)return I.error("Child should have a key");var ce=I.enterKey(ne._baseState.key);if(typeof _!="object")return I.error("Child expected, but input is not object");var le=ne._encode(_[ne._baseState.key],I,_);return I.leaveKey(ce),le}),this||Ro).filter((function(ne){return ne})),D=this._createEncoderBuffer(D);else if(T.tag==="seqof"||T.tag==="setof"){if(!T.args||T.args.length!==1)return I.error("Too many args for : "+T.tag);if(!Array.isArray(_))return I.error("seqof/setof, but data is not Array");var G=this.clone();G._baseState.implicit=null,D=this._createEncoderBuffer(_.map((function(ne){var ce=(this||Ro)._baseState;return this._getUse(ce.args[0],_)._encode(ne,I)}),G))}else T.use!==null?M=this._getUse(T.use,N)._encode(_,I):(D=this._encodePrimitive(T.tag,_),P=!0);if(!T.any&&T.choice===null){var q=T.implicit!==null?T.implicit:T.tag,Y=T.implicit===null?"universal":"context";q===null?T.use===null&&I.error("Tag could be omitted only for .use()"):T.use===null&&(M=this._encodeComposite(q,P,Y,D))}return T.explicit!==null&&(M=this._encodeComposite(T.explicit,!1,"context",M)),M},g.prototype._encodeChoice=function(_,I){var N=(this||Ro)._baseState,T=N.choice[_.type];return T||n(!1,_.type+" not found in "+JSON.stringify(Object.keys(N.choice))),T._encode(_.value,I)},g.prototype._encodePrimitive=function(_,I){var N=(this||Ro)._baseState;if(/str$/.test(_))return this._encodeStr(I,_);if(_==="objid"&&N.args)return this._encodeObjid(I,N.reverseArgs[0],N.args[1]);if(_==="objid")return this._encodeObjid(I,null,null);if(_==="gentime"||_==="utctime")return this._encodeTime(I,_);if(_==="null_")return this._encodeNull();if(_==="int"||_==="enum")return this._encodeInt(I,N.args&&N.reverseArgs[0]);if(_==="bool")return this._encodeBool(I);if(_==="objDesc")return this._encodeStr(I,_);throw new Error("Unsupported tag: "+_)},g.prototype._isNumstr=function(_){return/^[0-9 ]*$/.test(_)},g.prototype._isPrintstr=function(_){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(_)},Eae})(),vae}function Yqe(){if(WLe)return Rae;WLe=!0;var e=Rae;return e._reverse=function(t){var r={};return Object.keys(t).forEach((function(i){(0|i)==i&&(i|=0);var n=t[i];r[n]=i})),r},e.der=(function(){if(YLe)return r6;YLe=!0;var t=Yqe();return r6.tagClass={0:"universal",1:"application",2:"context",3:"private"},r6.tagClassByName=t._reverse(r6.tagClass),r6.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},r6.tagByName=t._reverse(r6.tag),r6})(),Rae}function ZLe(){if(XLe)return Sae;XLe=!0;var e=ca,t=aV(),r=t.base,i=t.bignum,n=t.constants.der;function o(_){(this||n6).enc="der",(this||n6).name=_.name,(this||n6).entity=_,(this||n6).tree=new d,(this||n6).tree._init(_.body)}function d(_){r.Node.call(this||n6,"der",_)}function g(_,I){var N=_.readUInt8(I);if(_.isError(N))return N;var T=n.tagClass[N>>6],M=(32&N)==0;if((31&N)==31){var D=N;for(N=0;(128&D)==128;){if(D=_.readUInt8(I),_.isError(D))return D;N<<=7,N|=127&D}}else N&=31;return{cls:T,primitive:M,tag:N,tagStr:n.tag[N]}}function y(_,I,N){var T=_.readUInt8(N);if(_.isError(T))return T;if(!I&&T===128)return null;if((128&T)==0)return T;var M=127&T;if(M>4)return _.error("length octect is too long");T=0;for(var D=0;D<M;D++){T<<=8;var P=_.readUInt8(N);if(_.isError(P))return P;T|=P}return T}return Sae=o,o.prototype.decode=function(_,I){return _ instanceof r.DecoderBuffer||(_=new r.DecoderBuffer(_,I)),(this||n6).tree._decode(_,I)},e(d,r.Node),d.prototype._peekTag=function(_,I,N){if(_.isEmpty())return!1;var T=_.save(),M=g(_,'Failed to peek tag: "'+I+'"');return _.isError(M)?M:(_.restore(T),M.tag===I||M.tagStr===I||M.tagStr+"of"===I||N)},d.prototype._decodeTag=function(_,I,N){var T=g(_,'Failed to decode tag of "'+I+'"');if(_.isError(T))return T;var M=y(_,T.primitive,'Failed to get length of "'+I+'"');if(_.isError(M))return M;if(!N&&T.tag!==I&&T.tagStr!==I&&T.tagStr+"of"!==I)return _.error('Failed to match tag: "'+I+'"');if(T.primitive||M!==null)return _.skip(M,'Failed to match body of: "'+I+'"');var D=_.save(),P=this._skipUntilEnd(_,'Failed to skip indefinite length body: "'+(this||n6).tag+'"');return _.isError(P)?P:(M=_.offset-D.offset,_.restore(D),_.skip(M,'Failed to match body of: "'+I+'"'))},d.prototype._skipUntilEnd=function(_,I){for(;;){var N=g(_,I);if(_.isError(N))return N;var T,M=y(_,N.primitive,I);if(_.isError(M))return M;if(T=N.primitive||M!==null?_.skip(M):this._skipUntilEnd(_,I),_.isError(T))return T;if(N.tagStr==="end")break}},d.prototype._decodeList=function(_,I,N,T){for(var M=[];!_.isEmpty();){var D=this._peekTag(_,"end");if(_.isError(D))return D;var P=N.decode(_,"der",T);if(_.isError(P)&&D)break;M.push(P)}return M},d.prototype._decodeStr=function(_,I){if(I==="bitstr"){var N=_.readUInt8();return _.isError(N)?N:{unused:N,data:_.raw()}}if(I==="bmpstr"){var T=_.raw();if(T.length%2==1)return _.error("Decoding of string type: bmpstr length mismatch");for(var M="",D=0;D<T.length/2;D++)M+=String.fromCharCode(T.readUInt16BE(2*D));return M}if(I==="numstr"){var P=_.raw().toString("ascii");return this._isNumstr(P)?P:_.error("Decoding of string type: numstr unsupported characters")}if(I==="octstr"||I==="objDesc")return _.raw();if(I==="printstr"){var G=_.raw().toString("ascii");return this._isPrintstr(G)?G:_.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(I)?_.raw().toString():_.error("Decoding of string type: "+I+" unsupported")},d.prototype._decodeObjid=function(_,I,N){for(var T,M=[],D=0;!_.isEmpty();){var P=_.readUInt8();D<<=7,D|=127&P,(128&P)==0&&(M.push(D),D=0)}128&P&&M.push(D);var G=M[0]/40|0,q=M[0]%40;if(T=N?M:[G,q].concat(M.slice(1)),I){var Y=I[T.join(" ")];Y===void 0&&(Y=I[T.join(".")]),Y!==void 0&&(T=Y)}return T},d.prototype._decodeTime=function(_,I){var N=_.raw().toString();if(I==="gentime")var T=0|N.slice(0,4),M=0|N.slice(4,6),D=0|N.slice(6,8),P=0|N.slice(8,10),G=0|N.slice(10,12),q=0|N.slice(12,14);else{if(I!=="utctime")return _.error("Decoding "+I+" time is not supported yet");T=0|N.slice(0,2),M=0|N.slice(2,4),D=0|N.slice(4,6),P=0|N.slice(6,8),G=0|N.slice(8,10),q=0|N.slice(10,12),T=T<70?2e3+T:1900+T}return Date.UTC(T,M-1,D,P,G,q,0)},d.prototype._decodeNull=function(_){return null},d.prototype._decodeBool=function(_){var I=_.readUInt8();return _.isError(I)?I:I!==0},d.prototype._decodeInt=function(_,I){var N=_.raw(),T=new i(N);return I&&(T=I[T.toString(10)]||T),T},d.prototype._use=function(_,I){return typeof _=="function"&&(_=_(I)),_._getDecoder("der").tree},Sae}function ZCt(){if(eUe)return wae;eUe=!0;var e=wae;return e.der=ZLe(),e.pem=(function(){if(jLe)return Iae;jLe=!0;var t=ca,r=Vo.Buffer,i=ZLe();function n(o){i.call(this||Cae,o),(this||Cae).enc="pem"}return t(n,i),Iae=n,n.prototype.decode=function(o,d){for(var g=o.toString().split(/[\r\n]+/g),y=d.label.toUpperCase(),_=/^-----(BEGIN|END) ([^-]+)-----$/,I=-1,N=-1,T=0;T<g.length;T++){var M=g[T].match(_);if(M!==null&&M[2]===y){if(I!==-1){if(M[1]!=="END")break;N=T;break}if(M[1]!=="BEGIN")break;I=T}}if(I===-1||N===-1)throw new Error("PEM section not found for: "+y);var D=g.slice(I+1,N).join("");D.replace(/[^a-z0-9\+\/=]+/gi,"");var P=new r(D,"base64");return i.prototype.decode.call(this||Cae,P,d)},Iae})(),wae}function rUe(){if(tUe)return Oae;tUe=!0;var e=ca,t=Vo.Buffer,r=aV(),i=r.base,n=r.constants.der;function o(y){(this||xf).enc="der",(this||xf).name=y.name,(this||xf).entity=y,(this||xf).tree=new d,(this||xf).tree._init(y.body)}function d(y){i.Node.call(this||xf,"der",y)}function g(y){return y<10?"0"+y:y}return Oae=o,o.prototype.encode=function(y,_){return(this||xf).tree._encode(y,_).join()},e(d,i.Node),d.prototype._encodeComposite=function(y,_,I,N){var T,M=(function(q,Y,ne,ce){var le;if(q==="seqof"?q="seq":q==="setof"&&(q="set"),n.tagByName.hasOwnProperty(q))le=n.tagByName[q];else{if(typeof q!="number"||(0|q)!==q)return ce.error("Unknown tag: "+q);le=q}return le>=31?ce.error("Multi-octet tag encoding unsupported"):(Y||(le|=32),le|=n.tagClassByName[ne||"universal"]<<6)})(y,_,I,(this||xf).reporter);if(N.length<128)return(T=new t(2))[0]=M,T[1]=N.length,this._createEncoderBuffer([T,N]);for(var D=1,P=N.length;P>=256;P>>=8)D++;(T=new t(2+D))[0]=M,T[1]=128|D,P=1+D;for(var G=N.length;G>0;P--,G>>=8)T[P]=255&G;return this._createEncoderBuffer([T,N])},d.prototype._encodeStr=function(y,_){if(_==="bitstr")return this._createEncoderBuffer([0|y.unused,y.data]);if(_==="bmpstr"){for(var I=new t(2*y.length),N=0;N<y.length;N++)I.writeUInt16BE(y.charCodeAt(N),2*N);return this._createEncoderBuffer(I)}return _==="numstr"?this._isNumstr(y)?this._createEncoderBuffer(y):(this||xf).reporter.error("Encoding of string type: numstr supports only digits and space"):_==="printstr"?this._isPrintstr(y)?this._createEncoderBuffer(y):(this||xf).reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(_)||_==="objDesc"?this._createEncoderBuffer(y):(this||xf).reporter.error("Encoding of string type: "+_+" unsupported")},d.prototype._encodeObjid=function(y,_,I){if(typeof y=="string"){if(!_)return(this||xf).reporter.error("string objid given, but no values map found");if(!_.hasOwnProperty(y))return(this||xf).reporter.error("objid not found in values map");y=_[y].split(/[\s\.]+/g);for(var N=0;N<y.length;N++)y[N]|=0}else if(Array.isArray(y))for(y=y.slice(),N=0;N<y.length;N++)y[N]|=0;if(!Array.isArray(y))return(this||xf).reporter.error("objid() should be either array or string, got: "+JSON.stringify(y));if(!I){if(y[1]>=40)return(this||xf).reporter.error("Second objid identifier OOB");y.splice(0,2,40*y[0]+y[1])}var T=0;for(N=0;N<y.length;N++){var M=y[N];for(T++;M>=128;M>>=7)T++}var D=new t(T),P=D.length-1;for(N=y.length-1;N>=0;N--)for(M=y[N],D[P--]=127&M;(M>>=7)>0;)D[P--]=128|127&M;return this._createEncoderBuffer(D)},d.prototype._encodeTime=function(y,_){var I,N=new Date(y);return _==="gentime"?I=[g(N.getFullYear()),g(N.getUTCMonth()+1),g(N.getUTCDate()),g(N.getUTCHours()),g(N.getUTCMinutes()),g(N.getUTCSeconds()),"Z"].join(""):_==="utctime"?I=[g(N.getFullYear()%100),g(N.getUTCMonth()+1),g(N.getUTCDate()),g(N.getUTCHours()),g(N.getUTCMinutes()),g(N.getUTCSeconds()),"Z"].join(""):(this||xf).reporter.error("Encoding "+_+" time is not supported yet"),this._encodeStr(I,"octstr")},d.prototype._encodeNull=function(){return this._createEncoderBuffer("")},d.prototype._encodeInt=function(y,_){if(typeof y=="string"){if(!_)return(this||xf).reporter.error("String int or enum given, but no values map");if(!_.hasOwnProperty(y))return(this||xf).reporter.error("Values map doesn't contain: "+JSON.stringify(y));y=_[y]}if(typeof y!="number"&&!t.isBuffer(y)){var I=y.toArray();!y.sign&&128&I[0]&&I.unshift(0),y=new t(I)}if(t.isBuffer(y)){var N=y.length;y.length===0&&N++;var T=new t(N);return y.copy(T),y.length===0&&(T[0]=0),this._createEncoderBuffer(T)}if(y<128)return this._createEncoderBuffer(y);if(y<256)return this._createEncoderBuffer([0,y]);N=1;for(var M=y;M>=256;M>>=8)N++;for(M=(T=new Array(N)).length-1;M>=0;M--)T[M]=255&y,y>>=8;return 128&T[0]&&T.unshift(0),this._createEncoderBuffer(new t(T))},d.prototype._encodeBool=function(y){return this._createEncoderBuffer(y?255:0)},d.prototype._use=function(y,_){return typeof y=="function"&&(y=y(_)),y._getEncoder("der").tree},d.prototype._skipDefault=function(y,_,I){var N,T=(this||xf)._baseState;if(T.default===null)return!1;var M=y.join();if(T.defaultBuffer===void 0&&(T.defaultBuffer=this._encodeValue(T.default,_,I).join()),M.length!==T.defaultBuffer.length)return!1;for(N=0;N<M.length;N++)if(M[N]!==T.defaultBuffer[N])return!1;return!0},Oae}function jCt(){if(iUe)return Tae;iUe=!0;var e=Tae;return e.der=rUe(),e.pem=(function(){if(nUe)return Nae;nUe=!0;var t=ca,r=rUe();function i(n){r.call(this||xae,n),(this||xae).enc="pem"}return t(i,r),Nae=i,i.prototype.encode=function(n,o){for(var d=r.prototype.encode.call(this||xae,n).toString("base64"),g=["-----BEGIN "+o.label+"-----"],y=0;y<d.length;y+=64)g.push(d.slice(y,y+64));return g.push("-----END "+o.label+"-----"),g.join(` +`)},Nae})(),Tae}function aV(){if(oUe)return Bae;oUe=!0;var e=Bae;return e.bignum=ef,e.define=(function(){if(VLe)return bae;VLe=!0;var t=aV(),r=ca;function i(n,o){(this||L1).name=n,(this||L1).body=o,(this||L1).decoders={},(this||L1).encoders={}}return bae.define=function(n,o){return new i(n,o)},i.prototype._createNamed=function(n){var o;try{o=Cp.runInThisContext("(function "+(this||L1).name+`(entity) { + this._initNamed(entity); +})`)}catch{o=function(g){this._initNamed(g)}}return r(o,n),o.prototype._initNamed=function(d){n.call(this||L1,d)},new o(this||L1)},i.prototype._getDecoder=function(n){return n=n||"der",(this||L1).decoders.hasOwnProperty(n)||((this||L1).decoders[n]=this._createNamed(t.decoders[n])),(this||L1).decoders[n]},i.prototype.decode=function(n,o,d){return this._getDecoder(o).decode(n,d)},i.prototype._getEncoder=function(n){return n=n||"der",(this||L1).encoders.hasOwnProperty(n)||((this||L1).encoders[n]=this._createNamed(t.encoders[n])),(this||L1).encoders[n]},i.prototype.encode=function(n,o,d){return this._getEncoder(o).encode(n,d)},bae})().define,e.base=RD(),e.constants=Yqe(),e.decoders=ZCt(),e.encoders=jCt(),Bae}function cUe(e){var t;typeof e!="object"||Mae.isBuffer(e)||(t=e.passphrase,e=e.key),typeof e=="string"&&(e=Mae.from(e));var r,i,n=vwt(e,t),o=n.tag,d=n.data;switch(o){case"CERTIFICATE":i=Rp.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(i||(i=Rp.PublicKey.decode(d,"der")),r=i.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return Rp.RSAPublicKey.decode(i.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return i.subjectPrivateKey=i.subjectPublicKey,{type:"ec",data:i};case"1.2.840.10040.4.1":return i.algorithm.params.pub_key=Rp.DSAparam.decode(i.subjectPublicKey.data,"der"),{type:"dsa",data:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":d=(function(g,y){var _=g.algorithm.decrypt.kde.kdeparams.salt,I=parseInt(g.algorithm.decrypt.kde.kdeparams.iters.toString(),10),N=Ewt[g.algorithm.decrypt.cipher.algo.join(".")],T=g.algorithm.decrypt.cipher.iv,M=g.subjectPrivateKey,D=parseInt(N.split("-")[1],10)/8,P=Swt.pbkdf2Sync(y,_,I,D,"sha1"),G=Rwt.createDecipheriv(N,P,T),q=[];return q.push(G.update(M)),q.push(G.final()),Mae.concat(q)})(d=Rp.EncryptedPrivateKey.decode(d,"der"),t);case"PRIVATE KEY":switch(r=(i=Rp.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return Rp.RSAPrivateKey.decode(i.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:i.algorithm.curve,privateKey:Rp.ECPrivateKey.decode(i.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return i.algorithm.params.priv_key=Rp.DSAparam.decode(i.subjectPrivateKey,"der"),{type:"dsa",params:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return Rp.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return Rp.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:Rp.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=Rp.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+o)}}function uUe(e,t,r,i){if((e=new Oh(e.toArray())).length<t.byteLength()){var n=new Oh(t.byteLength()-e.length);n.fill(0),e=Oh.concat([n,e])}var o=r.length,d=(function(_,I){_=(_=Fue(_,I)).mod(I);var N=new Oh(_.toArray());if(N.length<I.byteLength()){var T=new Oh(I.byteLength()-N.length);T.fill(0),N=Oh.concat([T,N])}return N})(r,t),g=new Oh(o);g.fill(1);var y=new Oh(o);return y.fill(0),y=m4(i,y).update(g).update(new Oh([0])).update(e).update(d).digest(),g=m4(i,y).update(g).digest(),{k:y=m4(i,y).update(g).update(new Oh([1])).update(e).update(d).digest(),v:g=m4(i,y).update(g).digest()}}function Fue(e,t){var r=new qq(e),i=(e.length<<3)-t.bitLength();return i>0&&r.ishrn(i),r}function dUe(e,t,r){var i,n;do{for(i=new Oh(0);8*i.length<e.bitLength();)t.v=m4(r,t.k).update(t.v).digest(),i=Oh.concat([i,t.v]);n=Fue(i,e),t.k=m4(r,t.k).update(t.v).update(new Oh([0])).digest(),t.v=m4(r,t.k).update(t.v).digest()}while(n.cmp(e)!==-1);return n}function Nwt(e,t,r,i){return e.toRed(qq.mont(r)).redPow(t).fromRed().mod(i)}function lUe(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}function pD(e){Vq.Writable.call(this||cd);var t=f4[e];if(!t)throw new Error("Unknown message digest");(this||cd)._hashType=t.hash,(this||cd)._hash=eVe(t.hash),(this||cd)._tag=t.id,(this||cd)._signType=t.sign}function gD(e){Vq.Writable.call(this||cd);var t=f4[e];if(!t)throw new Error("Unknown message digest");(this||cd)._hash=eVe(t.hash),(this||cd)._tag=t.id,(this||cd)._signType=t.sign}function AUe(e){return new pD(e)}function pUe(e){return new gD(e)}function c4(e){(this||Df).curveType=U1[e],(this||Df).curveType||((this||Df).curveType={name:e}),(this||Df).curve=new Lwt.ec((this||Df).curveType.name),(this||Df).keys=void 0}function kae(e,t,r){Array.isArray(e)||(e=e.toArray());var i=new Bv(e);if(r&&i.length<r){var n=new Bv(r-i.length);n.fill(0),i=Bv.concat([n,i])}return t?i.toString(t):i}function Hwt(e){var t=uue.allocUnsafe(4);return t.writeUInt32BE(e,0),t}function vUe(){throw new Error(`secure random number generation not supported by this browser +use chrome, FireFox or Internet Explorer 11`)}function IUe(e,t){if(typeof e!="number"||e!=e)throw new TypeError("offset must be a number");if(e>sVe||e<0)throw new TypeError("offset must be a uint32");if(e>aVe||e>t)throw new RangeError("offset out of range")}function CUe(e,t,r){if(typeof e!="number"||e!=e)throw new TypeError("size must be a number");if(e>sVe||e<0)throw new TypeError("size must be a uint32");if(e+t>r||e>aVe)throw new RangeError("buffer too small")}function wUe(e,t,r,i){if(due.browser){var n=e.buffer,o=new Uint8Array(n,t,r);return fue.getRandomValues(o),i?(due.nextTick((function(){i(null,e)})),void 0):e}return i?(RUe(r,(function(d,g){if(d)return i(d);g.copy(e,t),i(null,e)})),void 0):(RUe(r).copy(e,t),e)}function Que(){if(xUe)return oq;xUe=!0;var e;oq=function(n){return e||(e=new t(null)),e.generate(n)};function t(i){(this||aq).rand=i}if(oq.Rand=t,t.prototype.generate=function(n){return this._rand(n)},t.prototype._rand=function(n){if((this||aq).rand.getBytes)return(this||aq).rand.getBytes(n);for(var o=new Uint8Array(n),d=0;d<o.length;d++)o[d]=(this||aq).rand.getByte();return o},typeof self=="object")self.crypto&&self.crypto.getRandomValues?t.prototype._rand=function(n){var o=new Uint8Array(n);return self.crypto.getRandomValues(o),o}:self.msCrypto&&self.msCrypto.getRandomValues?t.prototype._rand=function(n){var o=new Uint8Array(n);return self.msCrypto.getRandomValues(o),o}:typeof window=="object"&&(t.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var r=Ka;if(typeof r.randomBytes!="function")throw new Error("Not supported");t.prototype._rand=function(n){return r.randomBytes(n)}}catch{}return oq}function cVe(){if(TUe)return Uae;TUe=!0;var e=$It(),t=Que();function r(i){(this||BUe).rand=i||new t.Rand}return Uae=r,r.create=function(n){return new r(n)},r.prototype._randbelow=function(n){var o=n.bitLength(),d=Math.ceil(o/8);do var g=new e((this||BUe).rand.generate(d));while(g.cmp(n)>=0);return g},r.prototype._randrange=function(n,o){var d=o.sub(n);return n.add(this._randbelow(d))},r.prototype.test=function(n,o,d){var g=n.bitLength(),y=e.mont(n),_=new e(1).toRed(y);o||(o=Math.max(1,g/48|0));for(var I=n.subn(1),N=0;!I.testn(N);N++);for(var T=n.shrn(N),M=I.toRed(y),D=!0;o>0;o--){var P=this._randrange(new e(2),I);d&&d(P);var G=P.toRed(y).redPow(T);if(!(G.cmp(_)===0||G.cmp(M)===0)){for(var q=1;q<N;q++){if(G=G.redSqr(),G.cmp(_)===0)return!1;if(G.cmp(M)===0)break}if(q===N)return!1}}return D},r.prototype.getDivisor=function(n,o){var d=n.bitLength(),g=e.mont(n),y=new e(1).toRed(g);o||(o=Math.max(1,d/48|0));for(var _=n.subn(1),I=0;!_.testn(I);I++);for(var N=n.shrn(I),T=_.toRed(g);o>0;o--){var M=this._randrange(new e(2),_),D=n.gcd(M);if(D.cmpn(1)!==0)return D;var P=M.toRed(g).redPow(N);if(!(P.cmp(y)===0||P.cmp(T)===0)){for(var G=1;G<I;G++){if(P=P.redSqr(),P.cmp(y)===0)return P.fromRed().subn(1).gcd(n);if(P.cmp(T)===0)break}if(G===I)return P=P.redSqr(),P.fromRed().subn(1).gcd(n)}}return!1},Uae}function uVe(){if(MUe)return Fae;MUe=!0;var e=DO();Fae=G,G.simpleSieve=D,G.fermatTest=P;var t=fGe(),r=new t(24),i=cVe(),n=new i,o=new t(1),d=new t(2),g=new t(5);new t(16),new t(8);var y=new t(10),_=new t(3);new t(7);var I=new t(11),N=new t(4);new t(12);var T=null;function M(){if(T!==null)return T;var q=1048576,Y=[];Y[0]=2;for(var ne=1,ce=3;ce<q;ce+=2){for(var le=Math.ceil(Math.sqrt(ce)),pe=0;pe<ne&&Y[pe]<=le&&ce%Y[pe]!==0;pe++);ne!==pe&&Y[pe]<=le||(Y[ne++]=ce)}return T=Y,Y}function D(q){for(var Y=M(),ne=0;ne<Y.length;ne++)if(q.modn(Y[ne])===0)return q.cmpn(Y[ne])===0;return!0}function P(q){var Y=t.mont(q);return d.toRed(Y).redPow(q.subn(1)).fromRed().cmpn(1)===0}function G(q,Y){if(q<16)return Y===2||Y===5?new t([140,123]):new t([140,39]);Y=new t(Y);for(var ne,ce;;){for(ne=new t(e(Math.ceil(q/8)));ne.bitLength()>q;)ne.ishrn(1);if(ne.isEven()&&ne.iadd(o),ne.testn(1)||ne.iadd(d),Y.cmp(d)){if(!Y.cmp(g))for(;ne.mod(y).cmp(_);)ne.iadd(N)}else for(;ne.mod(r).cmp(I);)ne.iadd(N);if(ce=ne.shrn(1),D(ce)&&D(ne)&&P(ce)&&P(ne)&&n.test(ce)&&n.test(ne))return ne}}return Fae}function n5t(){if(DUe)return Qae;DUe=!0;var e=Vo.Buffer,t=fGe(),r=cVe(),i=new r,n=new t(24),o=new t(11),d=new t(10),g=new t(3),y=new t(7),_=uVe(),I=DO();Qae=P;function N(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ms)._pub=new t(q),this||Ms}function T(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ms)._priv=new t(q),this||Ms}var M={};function D(q,Y){var ne=Y.toString("hex"),ce=[ne,q.toString(16)].join("_");if(ce in M)return M[ce];var le=0;if(q.isEven()||!_.simpleSieve||!_.fermatTest(q)||!i.test(q))return le+=1,ne==="02"||ne==="05"?le+=8:le+=4,M[ce]=le,le;i.test(q.shrn(1))||(le+=2);var pe;switch(ne){case"02":q.mod(n).cmp(o)&&(le+=8);break;case"05":pe=q.mod(d),pe.cmp(g)&&pe.cmp(y)&&(le+=8);break;default:le+=4}return M[ce]=le,le}function P(q,Y,ne){this.setGenerator(Y),(this||Ms).__prime=new t(q),(this||Ms)._prime=t.mont((this||Ms).__prime),(this||Ms)._primeLen=q.length,(this||Ms)._pub=void 0,(this||Ms)._priv=void 0,(this||Ms)._primeCode=void 0,ne?((this||Ms).setPublicKey=N,(this||Ms).setPrivateKey=T):(this||Ms)._primeCode=8}Object.defineProperty(P.prototype,"verifyError",{enumerable:!0,get:function(){return typeof(this||Ms)._primeCode!="number"&&((this||Ms)._primeCode=D((this||Ms).__prime,(this||Ms).__gen)),(this||Ms)._primeCode}}),P.prototype.generateKeys=function(){return(this||Ms)._priv||((this||Ms)._priv=new t(I((this||Ms)._primeLen))),(this||Ms)._pub=(this||Ms)._gen.toRed((this||Ms)._prime).redPow((this||Ms)._priv).fromRed(),this.getPublicKey()},P.prototype.computeSecret=function(q){q=new t(q),q=q.toRed((this||Ms)._prime);var Y=q.redPow((this||Ms)._priv).fromRed(),ne=new e(Y.toArray()),ce=this.getPrime();if(ne.length<ce.length){var le=new e(ce.length-ne.length);le.fill(0),ne=e.concat([le,ne])}return ne},P.prototype.getPublicKey=function(Y){return G((this||Ms)._pub,Y)},P.prototype.getPrivateKey=function(Y){return G((this||Ms)._priv,Y)},P.prototype.getPrime=function(q){return G((this||Ms).__prime,q)},P.prototype.getGenerator=function(q){return G((this||Ms)._gen,q)},P.prototype.setGenerator=function(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ms).__gen=q,(this||Ms)._gen=new t(q),this||Ms};function G(q,Y){var ne=new e(q.toArray());return Y?ne.toString(Y):ne}return Qae}function i5t(){if(kUe)return r4;kUe=!0;var e=Vo.Buffer,t=uVe(),r=r5t,i=n5t();function n(g){var y=new e(r[g].prime,"hex"),_=new e(r[g].gen,"hex");return new i(y,_)}var o={binary:!0,hex:!0,base64:!0};function d(g,y,_,I){return e.isBuffer(y)||o[y]===void 0?d(g,"binary",y,_):(y=y||"binary",I=I||"binary",_=_||new e([2]),e.isBuffer(_)||(_=new e(_,I)),typeof g=="number"?new i(t(g,_),_,!0):(e.isBuffer(g)||(g=new e(g,y)),new i(g,_,!0)))}return r4.DiffieHellmanGroup=r4.createDiffieHellmanGroup=r4.getDiffieHellman=n,r4.createDiffieHellman=r4.DiffieHellman=d,r4}function Hue(){return PUe||(PUe=!0,(function(e,t){function r(l,A){if(!l)throw new Error(A||"Assertion failed")}function i(l,A){l.super_=A;var m=function(){};m.prototype=A.prototype,l.prototype=new m,l.prototype.constructor=l}function n(l,A,m){if(n.isBN(l))return l;(this||It).negative=0,(this||It).words=null,(this||It).length=0,(this||It).red=null,l!==null&&((A==="le"||A==="be")&&(m=A,A=10),this._init(l||0,A||10,m||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(A){return A instanceof n?!0:A!==null&&typeof A=="object"&&A.constructor.wordSize===n.wordSize&&Array.isArray(A.words)},n.max=function(A,m){return A.cmp(m)>0?A:m},n.min=function(A,m){return A.cmp(m)<0?A:m},n.prototype._init=function(A,m,E){if(typeof A=="number")return this._initNumber(A,m,E);if(typeof A=="object")return this._initArray(A,m,E);m==="hex"&&(m=16),r(m===(m|0)&&m>=2&&m<=36),A=A.toString().replace(/\s+/g,"");var w=0;A[0]==="-"&&(w++,(this||It).negative=1),w<A.length&&(m===16?this._parseHex(A,w,E):(this._parseBase(A,m,w),E==="le"&&this._initArray(this.toArray(),m,E)))},n.prototype._initNumber=function(A,m,E){A<0&&((this||It).negative=1,A=-A),A<67108864?((this||It).words=[A&67108863],(this||It).length=1):A<4503599627370496?((this||It).words=[A&67108863,A/67108864&67108863],(this||It).length=2):(r(A<9007199254740992),(this||It).words=[A&67108863,A/67108864&67108863,1],(this||It).length=3),E==="le"&&this._initArray(this.toArray(),m,E)},n.prototype._initArray=function(A,m,E){if(r(typeof A.length=="number"),A.length<=0)return(this||It).words=[0],(this||It).length=1,this||It;(this||It).length=Math.ceil(A.length/3),(this||It).words=new Array((this||It).length);for(var w=0;w<(this||It).length;w++)(this||It).words[w]=0;var x,R,u=0;if(E==="be")for(w=A.length-1,x=0;w>=0;w-=3)R=A[w]|A[w-1]<<8|A[w-2]<<16,(this||It).words[x]|=R<<u&67108863,(this||It).words[x+1]=R>>>26-u&67108863,u+=24,u>=26&&(u-=26,x++);else if(E==="le")for(w=0,x=0;w<A.length;w+=3)R=A[w]|A[w+1]<<8|A[w+2]<<16,(this||It).words[x]|=R<<u&67108863,(this||It).words[x+1]=R>>>26-u&67108863,u+=24,u>=26&&(u-=26,x++);return this._strip()};function d(l,A){var m=l.charCodeAt(A);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;r(!1,"Invalid character in "+l)}function g(l,A,m){var E=d(l,m);return m-1>=A&&(E|=d(l,m-1)<<4),E}n.prototype._parseHex=function(A,m,E){(this||It).length=Math.ceil((A.length-m)/6),(this||It).words=new Array((this||It).length);for(var w=0;w<(this||It).length;w++)(this||It).words[w]=0;var x=0,R=0,u;if(E==="be")for(w=A.length-1;w>=m;w-=2)u=g(A,m,w)<<x,(this||It).words[R]|=u&67108863,x>=18?(x-=18,R+=1,(this||It).words[R]|=u>>>26):x+=8;else{var C=A.length-m;for(w=C%2===0?m+1:m;w<A.length;w+=2)u=g(A,m,w)<<x,(this||It).words[R]|=u&67108863,x>=18?(x-=18,R+=1,(this||It).words[R]|=u>>>26):x+=8}this._strip()};function y(l,A,m,E){for(var w=0,x=0,R=Math.min(l.length,m),u=A;u<R;u++){var C=l.charCodeAt(u)-48;w*=E,C>=49?x=C-49+10:C>=17?x=C-17+10:x=C,r(C>=0&&x<E,"Invalid character"),w+=x}return w}n.prototype._parseBase=function(A,m,E){(this||It).words=[0],(this||It).length=1;for(var w=0,x=1;x<=67108863;x*=m)w++;w--,x=x/m|0;for(var R=A.length-E,u=R%w,C=Math.min(R,R-u)+E,U=0,F=E;F<C;F+=w)U=y(A,F,F+w,m),this.imuln(x),(this||It).words[0]+U<67108864?(this||It).words[0]+=U:this._iaddn(U);if(u!==0){var X=1;for(U=y(A,F,A.length,m),F=0;F<u;F++)X*=m;this.imuln(X),(this||It).words[0]+U<67108864?(this||It).words[0]+=U:this._iaddn(U)}this._strip()},n.prototype.copy=function(A){A.words=new Array((this||It).length);for(var m=0;m<(this||It).length;m++)A.words[m]=(this||It).words[m];A.length=(this||It).length,A.negative=(this||It).negative,A.red=(this||It).red};function _(l,A){l.words=A.words,l.length=A.length,l.negative=A.negative,l.red=A.red}if(n.prototype._move=function(A){_(A,this||It)},n.prototype.clone=function(){var A=new n(null);return this.copy(A),A},n.prototype._expand=function(A){for(;(this||It).length<A;)(this||It).words[(this||It).length++]=0;return this||It},n.prototype._strip=function(){for(;(this||It).length>1&&(this||It).words[(this||It).length-1]===0;)(this||It).length--;return this._normSign()},n.prototype._normSign=function(){return(this||It).length===1&&(this||It).words[0]===0&&((this||It).negative=0),this||It},typeof Symbol<"u"&&typeof Symbol.for=="function")try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=I}catch{n.prototype.inspect=I}else n.prototype.inspect=I;function I(){return((this||It).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var N=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],T=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],M=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(A,m){A=A||10,m=m|0||1;var E;if(A===16||A==="hex"){E="";for(var w=0,x=0,R=0;R<(this||It).length;R++){var u=(this||It).words[R],C=((u<<w|x)&16777215).toString(16);x=u>>>24-w&16777215,x!==0||R!==(this||It).length-1?E=N[6-C.length]+C+E:E=C+E,w+=2,w>=26&&(w-=26,R--)}for(x!==0&&(E=x.toString(16)+E);E.length%m!==0;)E="0"+E;return(this||It).negative!==0&&(E="-"+E),E}if(A===(A|0)&&A>=2&&A<=36){var U=T[A],F=M[A];E="";var X=this.clone();for(X.negative=0;!X.isZero();){var Ae=X.modrn(F).toString(A);X=X.idivn(F),X.isZero()?E=Ae+E:E=N[U-Ae.length]+Ae+E}for(this.isZero()&&(E="0"+E);E.length%m!==0;)E="0"+E;return(this||It).negative!==0&&(E="-"+E),E}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var A=(this||It).words[0];return(this||It).length===2?A+=(this||It).words[1]*67108864:(this||It).length===3&&(this||It).words[2]===1?A+=4503599627370496+(this||It).words[1]*67108864:(this||It).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||It).negative!==0?-A:A},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(A,m){return this.toArrayLike(o,A,m)}),n.prototype.toArray=function(A,m){return this.toArrayLike(Array,A,m)};var D=function(A,m){return A.allocUnsafe?A.allocUnsafe(m):new A(m)};n.prototype.toArrayLike=function(A,m,E){this._strip();var w=this.byteLength(),x=E||Math.max(1,w);r(w<=x,"byte array longer than desired length"),r(x>0,"Requested array length <= 0");var R=D(A,x),u=m==="le"?"LE":"BE";return this["_toArrayLike"+u](R,w),R},n.prototype._toArrayLikeLE=function(A,m){for(var E=0,w=0,x=0,R=0;x<(this||It).length;x++){var u=(this||It).words[x]<<R|w;A[E++]=u&255,E<A.length&&(A[E++]=u>>8&255),E<A.length&&(A[E++]=u>>16&255),R===6?(E<A.length&&(A[E++]=u>>24&255),w=0,R=0):(w=u>>>24,R+=2)}if(E<A.length)for(A[E++]=w;E<A.length;)A[E++]=0},n.prototype._toArrayLikeBE=function(A,m){for(var E=A.length-1,w=0,x=0,R=0;x<(this||It).length;x++){var u=(this||It).words[x]<<R|w;A[E--]=u&255,E>=0&&(A[E--]=u>>8&255),E>=0&&(A[E--]=u>>16&255),R===6?(E>=0&&(A[E--]=u>>24&255),w=0,R=0):(w=u>>>24,R+=2)}if(E>=0)for(A[E--]=w;E>=0;)A[E--]=0},Math.clz32?n.prototype._countBits=function(A){return 32-Math.clz32(A)}:n.prototype._countBits=function(A){var m=A,E=0;return m>=4096&&(E+=13,m>>>=13),m>=64&&(E+=7,m>>>=7),m>=8&&(E+=4,m>>>=4),m>=2&&(E+=2,m>>>=2),E+m},n.prototype._zeroBits=function(A){if(A===0)return 26;var m=A,E=0;return(m&8191)===0&&(E+=13,m>>>=13),(m&127)===0&&(E+=7,m>>>=7),(m&15)===0&&(E+=4,m>>>=4),(m&3)===0&&(E+=2,m>>>=2),(m&1)===0&&E++,E},n.prototype.bitLength=function(){var A=(this||It).words[(this||It).length-1],m=this._countBits(A);return((this||It).length-1)*26+m};function P(l){for(var A=new Array(l.bitLength()),m=0;m<A.length;m++){var E=m/26|0,w=m%26;A[m]=l.words[E]>>>w&1}return A}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var A=0,m=0;m<(this||It).length;m++){var E=this._zeroBits((this||It).words[m]);if(A+=E,E!==26)break}return A},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(A){return(this||It).negative!==0?this.abs().inotn(A).iaddn(1):this.clone()},n.prototype.fromTwos=function(A){return this.testn(A-1)?this.notn(A).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||It).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||It).negative^=1),this||It},n.prototype.iuor=function(A){for(;(this||It).length<A.length;)(this||It).words[(this||It).length++]=0;for(var m=0;m<A.length;m++)(this||It).words[m]=(this||It).words[m]|A.words[m];return this._strip()},n.prototype.ior=function(A){return r(((this||It).negative|A.negative)===0),this.iuor(A)},n.prototype.or=function(A){return(this||It).length>A.length?this.clone().ior(A):A.clone().ior(this||It)},n.prototype.uor=function(A){return(this||It).length>A.length?this.clone().iuor(A):A.clone().iuor(this||It)},n.prototype.iuand=function(A){var m;(this||It).length>A.length?m=A:m=this||It;for(var E=0;E<m.length;E++)(this||It).words[E]=(this||It).words[E]&A.words[E];return(this||It).length=m.length,this._strip()},n.prototype.iand=function(A){return r(((this||It).negative|A.negative)===0),this.iuand(A)},n.prototype.and=function(A){return(this||It).length>A.length?this.clone().iand(A):A.clone().iand(this||It)},n.prototype.uand=function(A){return(this||It).length>A.length?this.clone().iuand(A):A.clone().iuand(this||It)},n.prototype.iuxor=function(A){var m,E;(this||It).length>A.length?(m=this||It,E=A):(m=A,E=this||It);for(var w=0;w<E.length;w++)(this||It).words[w]=m.words[w]^E.words[w];if((this||It)!==m)for(;w<m.length;w++)(this||It).words[w]=m.words[w];return(this||It).length=m.length,this._strip()},n.prototype.ixor=function(A){return r(((this||It).negative|A.negative)===0),this.iuxor(A)},n.prototype.xor=function(A){return(this||It).length>A.length?this.clone().ixor(A):A.clone().ixor(this||It)},n.prototype.uxor=function(A){return(this||It).length>A.length?this.clone().iuxor(A):A.clone().iuxor(this||It)},n.prototype.inotn=function(A){r(typeof A=="number"&&A>=0);var m=Math.ceil(A/26)|0,E=A%26;this._expand(m),E>0&&m--;for(var w=0;w<m;w++)(this||It).words[w]=~(this||It).words[w]&67108863;return E>0&&((this||It).words[w]=~(this||It).words[w]&67108863>>26-E),this._strip()},n.prototype.notn=function(A){return this.clone().inotn(A)},n.prototype.setn=function(A,m){r(typeof A=="number"&&A>=0);var E=A/26|0,w=A%26;return this._expand(E+1),m?(this||It).words[E]=(this||It).words[E]|1<<w:(this||It).words[E]=(this||It).words[E]&~(1<<w),this._strip()},n.prototype.iadd=function(A){var m;if((this||It).negative!==0&&A.negative===0)return(this||It).negative=0,m=this.isub(A),(this||It).negative^=1,this._normSign();if((this||It).negative===0&&A.negative!==0)return A.negative=0,m=this.isub(A),A.negative=1,m._normSign();var E,w;(this||It).length>A.length?(E=this||It,w=A):(E=A,w=this||It);for(var x=0,R=0;R<w.length;R++)m=(E.words[R]|0)+(w.words[R]|0)+x,(this||It).words[R]=m&67108863,x=m>>>26;for(;x!==0&&R<E.length;R++)m=(E.words[R]|0)+x,(this||It).words[R]=m&67108863,x=m>>>26;if((this||It).length=E.length,x!==0)(this||It).words[(this||It).length]=x,(this||It).length++;else if(E!==(this||It))for(;R<E.length;R++)(this||It).words[R]=E.words[R];return this||It},n.prototype.add=function(A){var m;return A.negative!==0&&(this||It).negative===0?(A.negative=0,m=this.sub(A),A.negative^=1,m):A.negative===0&&(this||It).negative!==0?((this||It).negative=0,m=A.sub(this||It),(this||It).negative=1,m):(this||It).length>A.length?this.clone().iadd(A):A.clone().iadd(this||It)},n.prototype.isub=function(A){if(A.negative!==0){A.negative=0;var m=this.iadd(A);return A.negative=1,m._normSign()}else if((this||It).negative!==0)return(this||It).negative=0,this.iadd(A),(this||It).negative=1,this._normSign();var E=this.cmp(A);if(E===0)return(this||It).negative=0,(this||It).length=1,(this||It).words[0]=0,this||It;var w,x;E>0?(w=this||It,x=A):(w=A,x=this||It);for(var R=0,u=0;u<x.length;u++)m=(w.words[u]|0)-(x.words[u]|0)+R,R=m>>26,(this||It).words[u]=m&67108863;for(;R!==0&&u<w.length;u++)m=(w.words[u]|0)+R,R=m>>26,(this||It).words[u]=m&67108863;if(R===0&&u<w.length&&w!==(this||It))for(;u<w.length;u++)(this||It).words[u]=w.words[u];return(this||It).length=Math.max((this||It).length,u),w!==(this||It)&&((this||It).negative=1),this._strip()},n.prototype.sub=function(A){return this.clone().isub(A)};function G(l,A,m){m.negative=A.negative^l.negative;var E=l.length+A.length|0;m.length=E,E=E-1|0;var w=l.words[0]|0,x=A.words[0]|0,R=w*x,u=R&67108863,C=R/67108864|0;m.words[0]=u;for(var U=1;U<E;U++){for(var F=C>>>26,X=C&67108863,Ae=Math.min(U,A.length-1),he=Math.max(0,U-l.length+1);he<=Ae;he++){var $e=U-he|0;w=l.words[$e]|0,x=A.words[he]|0,R=w*x+X,F+=R/67108864|0,X=R&67108863}m.words[U]=X|0,C=F|0}return C!==0?m.words[U]=C|0:m.length--,m._strip()}var q=function(A,m,E){var w=A.words,x=m.words,R=E.words,u=0,C,U,F,X=w[0]|0,Ae=X&8191,he=X>>>13,$e=w[1]|0,Ge=$e&8191,Re=$e>>>13,Se=w[2]|0,ct=Se&8191,ze=Se>>>13,te=w[3]|0,Ue=te&8191,oe=te>>>13,ge=w[4]|0,Le=ge&8191,V=ge>>>13,Qe=w[5]|0,_t=Qe&8191,rt=Qe>>>13,At=w[6]|0,Er=At&8191,mt=At>>>13,Ht=w[7]|0,zr=Ht&8191,ve=Ht>>>13,ie=w[8]|0,_e=ie&8191,Be=ie>>>13,Ze=w[9]|0,$t=Ze&8191,at=Ze>>>13,zt=x[0]|0,Hr=zt&8191,St=zt>>>13,Yt=x[1]|0,qr=Yt&8191,tr=Yt>>>13,hr=x[2]|0,Cn=hr&8191,er=hr>>>13,pr=x[3]|0,mn=pr&8191,Xt=pr>>>13,dr=x[4]|0,wn=dr&8191,Qt=dr>>>13,fr=x[5]|0,In=fr&8191,jt=fr>>>13,ar=x[6]|0,ht=ar&8191,Xe=ar>>>13,et=x[7]|0,ue=et&8191,je=et>>>13,be=x[8]|0,qe=be&8191,De=be>>>13,Je=x[9]|0,Rt=Je&8191,Vt=Je>>>13;E.negative=A.negative^m.negative,E.length=19,C=Math.imul(Ae,Hr),U=Math.imul(Ae,St),U=U+Math.imul(he,Hr)|0,F=Math.imul(he,St);var br=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(br>>>26)|0,br&=67108863,C=Math.imul(Ge,Hr),U=Math.imul(Ge,St),U=U+Math.imul(Re,Hr)|0,F=Math.imul(Re,St),C=C+Math.imul(Ae,qr)|0,U=U+Math.imul(Ae,tr)|0,U=U+Math.imul(he,qr)|0,F=F+Math.imul(he,tr)|0;var Rr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,C=Math.imul(ct,Hr),U=Math.imul(ct,St),U=U+Math.imul(ze,Hr)|0,F=Math.imul(ze,St),C=C+Math.imul(Ge,qr)|0,U=U+Math.imul(Ge,tr)|0,U=U+Math.imul(Re,qr)|0,F=F+Math.imul(Re,tr)|0,C=C+Math.imul(Ae,Cn)|0,U=U+Math.imul(Ae,er)|0,U=U+Math.imul(he,Cn)|0,F=F+Math.imul(he,er)|0;var Dr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,C=Math.imul(Ue,Hr),U=Math.imul(Ue,St),U=U+Math.imul(oe,Hr)|0,F=Math.imul(oe,St),C=C+Math.imul(ct,qr)|0,U=U+Math.imul(ct,tr)|0,U=U+Math.imul(ze,qr)|0,F=F+Math.imul(ze,tr)|0,C=C+Math.imul(Ge,Cn)|0,U=U+Math.imul(Ge,er)|0,U=U+Math.imul(Re,Cn)|0,F=F+Math.imul(Re,er)|0,C=C+Math.imul(Ae,mn)|0,U=U+Math.imul(Ae,Xt)|0,U=U+Math.imul(he,mn)|0,F=F+Math.imul(he,Xt)|0;var Pr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,C=Math.imul(Le,Hr),U=Math.imul(Le,St),U=U+Math.imul(V,Hr)|0,F=Math.imul(V,St),C=C+Math.imul(Ue,qr)|0,U=U+Math.imul(Ue,tr)|0,U=U+Math.imul(oe,qr)|0,F=F+Math.imul(oe,tr)|0,C=C+Math.imul(ct,Cn)|0,U=U+Math.imul(ct,er)|0,U=U+Math.imul(ze,Cn)|0,F=F+Math.imul(ze,er)|0,C=C+Math.imul(Ge,mn)|0,U=U+Math.imul(Ge,Xt)|0,U=U+Math.imul(Re,mn)|0,F=F+Math.imul(Re,Xt)|0,C=C+Math.imul(Ae,wn)|0,U=U+Math.imul(Ae,Qt)|0,U=U+Math.imul(he,wn)|0,F=F+Math.imul(he,Qt)|0;var k=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(k>>>26)|0,k&=67108863,C=Math.imul(_t,Hr),U=Math.imul(_t,St),U=U+Math.imul(rt,Hr)|0,F=Math.imul(rt,St),C=C+Math.imul(Le,qr)|0,U=U+Math.imul(Le,tr)|0,U=U+Math.imul(V,qr)|0,F=F+Math.imul(V,tr)|0,C=C+Math.imul(Ue,Cn)|0,U=U+Math.imul(Ue,er)|0,U=U+Math.imul(oe,Cn)|0,F=F+Math.imul(oe,er)|0,C=C+Math.imul(ct,mn)|0,U=U+Math.imul(ct,Xt)|0,U=U+Math.imul(ze,mn)|0,F=F+Math.imul(ze,Xt)|0,C=C+Math.imul(Ge,wn)|0,U=U+Math.imul(Ge,Qt)|0,U=U+Math.imul(Re,wn)|0,F=F+Math.imul(Re,Qt)|0,C=C+Math.imul(Ae,In)|0,U=U+Math.imul(Ae,jt)|0,U=U+Math.imul(he,In)|0,F=F+Math.imul(he,jt)|0;var a=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(a>>>26)|0,a&=67108863,C=Math.imul(Er,Hr),U=Math.imul(Er,St),U=U+Math.imul(mt,Hr)|0,F=Math.imul(mt,St),C=C+Math.imul(_t,qr)|0,U=U+Math.imul(_t,tr)|0,U=U+Math.imul(rt,qr)|0,F=F+Math.imul(rt,tr)|0,C=C+Math.imul(Le,Cn)|0,U=U+Math.imul(Le,er)|0,U=U+Math.imul(V,Cn)|0,F=F+Math.imul(V,er)|0,C=C+Math.imul(Ue,mn)|0,U=U+Math.imul(Ue,Xt)|0,U=U+Math.imul(oe,mn)|0,F=F+Math.imul(oe,Xt)|0,C=C+Math.imul(ct,wn)|0,U=U+Math.imul(ct,Qt)|0,U=U+Math.imul(ze,wn)|0,F=F+Math.imul(ze,Qt)|0,C=C+Math.imul(Ge,In)|0,U=U+Math.imul(Ge,jt)|0,U=U+Math.imul(Re,In)|0,F=F+Math.imul(Re,jt)|0,C=C+Math.imul(Ae,ht)|0,U=U+Math.imul(Ae,Xe)|0,U=U+Math.imul(he,ht)|0,F=F+Math.imul(he,Xe)|0;var S=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(S>>>26)|0,S&=67108863,C=Math.imul(zr,Hr),U=Math.imul(zr,St),U=U+Math.imul(ve,Hr)|0,F=Math.imul(ve,St),C=C+Math.imul(Er,qr)|0,U=U+Math.imul(Er,tr)|0,U=U+Math.imul(mt,qr)|0,F=F+Math.imul(mt,tr)|0,C=C+Math.imul(_t,Cn)|0,U=U+Math.imul(_t,er)|0,U=U+Math.imul(rt,Cn)|0,F=F+Math.imul(rt,er)|0,C=C+Math.imul(Le,mn)|0,U=U+Math.imul(Le,Xt)|0,U=U+Math.imul(V,mn)|0,F=F+Math.imul(V,Xt)|0,C=C+Math.imul(Ue,wn)|0,U=U+Math.imul(Ue,Qt)|0,U=U+Math.imul(oe,wn)|0,F=F+Math.imul(oe,Qt)|0,C=C+Math.imul(ct,In)|0,U=U+Math.imul(ct,jt)|0,U=U+Math.imul(ze,In)|0,F=F+Math.imul(ze,jt)|0,C=C+Math.imul(Ge,ht)|0,U=U+Math.imul(Ge,Xe)|0,U=U+Math.imul(Re,ht)|0,F=F+Math.imul(Re,Xe)|0,C=C+Math.imul(Ae,ue)|0,U=U+Math.imul(Ae,je)|0,U=U+Math.imul(he,ue)|0,F=F+Math.imul(he,je)|0;var sn=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(sn>>>26)|0,sn&=67108863,C=Math.imul(_e,Hr),U=Math.imul(_e,St),U=U+Math.imul(Be,Hr)|0,F=Math.imul(Be,St),C=C+Math.imul(zr,qr)|0,U=U+Math.imul(zr,tr)|0,U=U+Math.imul(ve,qr)|0,F=F+Math.imul(ve,tr)|0,C=C+Math.imul(Er,Cn)|0,U=U+Math.imul(Er,er)|0,U=U+Math.imul(mt,Cn)|0,F=F+Math.imul(mt,er)|0,C=C+Math.imul(_t,mn)|0,U=U+Math.imul(_t,Xt)|0,U=U+Math.imul(rt,mn)|0,F=F+Math.imul(rt,Xt)|0,C=C+Math.imul(Le,wn)|0,U=U+Math.imul(Le,Qt)|0,U=U+Math.imul(V,wn)|0,F=F+Math.imul(V,Qt)|0,C=C+Math.imul(Ue,In)|0,U=U+Math.imul(Ue,jt)|0,U=U+Math.imul(oe,In)|0,F=F+Math.imul(oe,jt)|0,C=C+Math.imul(ct,ht)|0,U=U+Math.imul(ct,Xe)|0,U=U+Math.imul(ze,ht)|0,F=F+Math.imul(ze,Xe)|0,C=C+Math.imul(Ge,ue)|0,U=U+Math.imul(Ge,je)|0,U=U+Math.imul(Re,ue)|0,F=F+Math.imul(Re,je)|0,C=C+Math.imul(Ae,qe)|0,U=U+Math.imul(Ae,De)|0,U=U+Math.imul(he,qe)|0,F=F+Math.imul(he,De)|0;var Lr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,C=Math.imul($t,Hr),U=Math.imul($t,St),U=U+Math.imul(at,Hr)|0,F=Math.imul(at,St),C=C+Math.imul(_e,qr)|0,U=U+Math.imul(_e,tr)|0,U=U+Math.imul(Be,qr)|0,F=F+Math.imul(Be,tr)|0,C=C+Math.imul(zr,Cn)|0,U=U+Math.imul(zr,er)|0,U=U+Math.imul(ve,Cn)|0,F=F+Math.imul(ve,er)|0,C=C+Math.imul(Er,mn)|0,U=U+Math.imul(Er,Xt)|0,U=U+Math.imul(mt,mn)|0,F=F+Math.imul(mt,Xt)|0,C=C+Math.imul(_t,wn)|0,U=U+Math.imul(_t,Qt)|0,U=U+Math.imul(rt,wn)|0,F=F+Math.imul(rt,Qt)|0,C=C+Math.imul(Le,In)|0,U=U+Math.imul(Le,jt)|0,U=U+Math.imul(V,In)|0,F=F+Math.imul(V,jt)|0,C=C+Math.imul(Ue,ht)|0,U=U+Math.imul(Ue,Xe)|0,U=U+Math.imul(oe,ht)|0,F=F+Math.imul(oe,Xe)|0,C=C+Math.imul(ct,ue)|0,U=U+Math.imul(ct,je)|0,U=U+Math.imul(ze,ue)|0,F=F+Math.imul(ze,je)|0,C=C+Math.imul(Ge,qe)|0,U=U+Math.imul(Ge,De)|0,U=U+Math.imul(Re,qe)|0,F=F+Math.imul(Re,De)|0,C=C+Math.imul(Ae,Rt)|0,U=U+Math.imul(Ae,Vt)|0,U=U+Math.imul(he,Rt)|0,F=F+Math.imul(he,Vt)|0;var Wr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,C=Math.imul($t,qr),U=Math.imul($t,tr),U=U+Math.imul(at,qr)|0,F=Math.imul(at,tr),C=C+Math.imul(_e,Cn)|0,U=U+Math.imul(_e,er)|0,U=U+Math.imul(Be,Cn)|0,F=F+Math.imul(Be,er)|0,C=C+Math.imul(zr,mn)|0,U=U+Math.imul(zr,Xt)|0,U=U+Math.imul(ve,mn)|0,F=F+Math.imul(ve,Xt)|0,C=C+Math.imul(Er,wn)|0,U=U+Math.imul(Er,Qt)|0,U=U+Math.imul(mt,wn)|0,F=F+Math.imul(mt,Qt)|0,C=C+Math.imul(_t,In)|0,U=U+Math.imul(_t,jt)|0,U=U+Math.imul(rt,In)|0,F=F+Math.imul(rt,jt)|0,C=C+Math.imul(Le,ht)|0,U=U+Math.imul(Le,Xe)|0,U=U+Math.imul(V,ht)|0,F=F+Math.imul(V,Xe)|0,C=C+Math.imul(Ue,ue)|0,U=U+Math.imul(Ue,je)|0,U=U+Math.imul(oe,ue)|0,F=F+Math.imul(oe,je)|0,C=C+Math.imul(ct,qe)|0,U=U+Math.imul(ct,De)|0,U=U+Math.imul(ze,qe)|0,F=F+Math.imul(ze,De)|0,C=C+Math.imul(Ge,Rt)|0,U=U+Math.imul(Ge,Vt)|0,U=U+Math.imul(Re,Rt)|0,F=F+Math.imul(Re,Vt)|0;var ln=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(ln>>>26)|0,ln&=67108863,C=Math.imul($t,Cn),U=Math.imul($t,er),U=U+Math.imul(at,Cn)|0,F=Math.imul(at,er),C=C+Math.imul(_e,mn)|0,U=U+Math.imul(_e,Xt)|0,U=U+Math.imul(Be,mn)|0,F=F+Math.imul(Be,Xt)|0,C=C+Math.imul(zr,wn)|0,U=U+Math.imul(zr,Qt)|0,U=U+Math.imul(ve,wn)|0,F=F+Math.imul(ve,Qt)|0,C=C+Math.imul(Er,In)|0,U=U+Math.imul(Er,jt)|0,U=U+Math.imul(mt,In)|0,F=F+Math.imul(mt,jt)|0,C=C+Math.imul(_t,ht)|0,U=U+Math.imul(_t,Xe)|0,U=U+Math.imul(rt,ht)|0,F=F+Math.imul(rt,Xe)|0,C=C+Math.imul(Le,ue)|0,U=U+Math.imul(Le,je)|0,U=U+Math.imul(V,ue)|0,F=F+Math.imul(V,je)|0,C=C+Math.imul(Ue,qe)|0,U=U+Math.imul(Ue,De)|0,U=U+Math.imul(oe,qe)|0,F=F+Math.imul(oe,De)|0,C=C+Math.imul(ct,Rt)|0,U=U+Math.imul(ct,Vt)|0,U=U+Math.imul(ze,Rt)|0,F=F+Math.imul(ze,Vt)|0;var yt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(yt>>>26)|0,yt&=67108863,C=Math.imul($t,mn),U=Math.imul($t,Xt),U=U+Math.imul(at,mn)|0,F=Math.imul(at,Xt),C=C+Math.imul(_e,wn)|0,U=U+Math.imul(_e,Qt)|0,U=U+Math.imul(Be,wn)|0,F=F+Math.imul(Be,Qt)|0,C=C+Math.imul(zr,In)|0,U=U+Math.imul(zr,jt)|0,U=U+Math.imul(ve,In)|0,F=F+Math.imul(ve,jt)|0,C=C+Math.imul(Er,ht)|0,U=U+Math.imul(Er,Xe)|0,U=U+Math.imul(mt,ht)|0,F=F+Math.imul(mt,Xe)|0,C=C+Math.imul(_t,ue)|0,U=U+Math.imul(_t,je)|0,U=U+Math.imul(rt,ue)|0,F=F+Math.imul(rt,je)|0,C=C+Math.imul(Le,qe)|0,U=U+Math.imul(Le,De)|0,U=U+Math.imul(V,qe)|0,F=F+Math.imul(V,De)|0,C=C+Math.imul(Ue,Rt)|0,U=U+Math.imul(Ue,Vt)|0,U=U+Math.imul(oe,Rt)|0,F=F+Math.imul(oe,Vt)|0;var ot=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(ot>>>26)|0,ot&=67108863,C=Math.imul($t,wn),U=Math.imul($t,Qt),U=U+Math.imul(at,wn)|0,F=Math.imul(at,Qt),C=C+Math.imul(_e,In)|0,U=U+Math.imul(_e,jt)|0,U=U+Math.imul(Be,In)|0,F=F+Math.imul(Be,jt)|0,C=C+Math.imul(zr,ht)|0,U=U+Math.imul(zr,Xe)|0,U=U+Math.imul(ve,ht)|0,F=F+Math.imul(ve,Xe)|0,C=C+Math.imul(Er,ue)|0,U=U+Math.imul(Er,je)|0,U=U+Math.imul(mt,ue)|0,F=F+Math.imul(mt,je)|0,C=C+Math.imul(_t,qe)|0,U=U+Math.imul(_t,De)|0,U=U+Math.imul(rt,qe)|0,F=F+Math.imul(rt,De)|0,C=C+Math.imul(Le,Rt)|0,U=U+Math.imul(Le,Vt)|0,U=U+Math.imul(V,Rt)|0,F=F+Math.imul(V,Vt)|0;var lt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(lt>>>26)|0,lt&=67108863,C=Math.imul($t,In),U=Math.imul($t,jt),U=U+Math.imul(at,In)|0,F=Math.imul(at,jt),C=C+Math.imul(_e,ht)|0,U=U+Math.imul(_e,Xe)|0,U=U+Math.imul(Be,ht)|0,F=F+Math.imul(Be,Xe)|0,C=C+Math.imul(zr,ue)|0,U=U+Math.imul(zr,je)|0,U=U+Math.imul(ve,ue)|0,F=F+Math.imul(ve,je)|0,C=C+Math.imul(Er,qe)|0,U=U+Math.imul(Er,De)|0,U=U+Math.imul(mt,qe)|0,F=F+Math.imul(mt,De)|0,C=C+Math.imul(_t,Rt)|0,U=U+Math.imul(_t,Vt)|0,U=U+Math.imul(rt,Rt)|0,F=F+Math.imul(rt,Vt)|0;var gt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(gt>>>26)|0,gt&=67108863,C=Math.imul($t,ht),U=Math.imul($t,Xe),U=U+Math.imul(at,ht)|0,F=Math.imul(at,Xe),C=C+Math.imul(_e,ue)|0,U=U+Math.imul(_e,je)|0,U=U+Math.imul(Be,ue)|0,F=F+Math.imul(Be,je)|0,C=C+Math.imul(zr,qe)|0,U=U+Math.imul(zr,De)|0,U=U+Math.imul(ve,qe)|0,F=F+Math.imul(ve,De)|0,C=C+Math.imul(Er,Rt)|0,U=U+Math.imul(Er,Vt)|0,U=U+Math.imul(mt,Rt)|0,F=F+Math.imul(mt,Vt)|0;var Ie=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,C=Math.imul($t,ue),U=Math.imul($t,je),U=U+Math.imul(at,ue)|0,F=Math.imul(at,je),C=C+Math.imul(_e,qe)|0,U=U+Math.imul(_e,De)|0,U=U+Math.imul(Be,qe)|0,F=F+Math.imul(Be,De)|0,C=C+Math.imul(zr,Rt)|0,U=U+Math.imul(zr,Vt)|0,U=U+Math.imul(ve,Rt)|0,F=F+Math.imul(ve,Vt)|0;var Zt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,C=Math.imul($t,qe),U=Math.imul($t,De),U=U+Math.imul(at,qe)|0,F=Math.imul(at,De),C=C+Math.imul(_e,Rt)|0,U=U+Math.imul(_e,Vt)|0,U=U+Math.imul(Be,Rt)|0,F=F+Math.imul(Be,Vt)|0;var Ir=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,C=Math.imul($t,Rt),U=Math.imul($t,Vt),U=U+Math.imul(at,Rt)|0,F=Math.imul(at,Vt);var $=(u+C|0)+((U&8191)<<13)|0;return u=(F+(U>>>13)|0)+($>>>26)|0,$&=67108863,R[0]=br,R[1]=Rr,R[2]=Dr,R[3]=Pr,R[4]=k,R[5]=a,R[6]=S,R[7]=sn,R[8]=Lr,R[9]=Wr,R[10]=ln,R[11]=yt,R[12]=ot,R[13]=lt,R[14]=gt,R[15]=Ie,R[16]=Zt,R[17]=Ir,R[18]=$,u!==0&&(R[19]=u,E.length++),E};Math.imul||(q=G);function Y(l,A,m){m.negative=A.negative^l.negative,m.length=l.length+A.length;for(var E=0,w=0,x=0;x<m.length-1;x++){var R=w;w=0;for(var u=E&67108863,C=Math.min(x,A.length-1),U=Math.max(0,x-l.length+1);U<=C;U++){var F=x-U,X=l.words[F]|0,Ae=A.words[U]|0,he=X*Ae,$e=he&67108863;R=R+(he/67108864|0)|0,$e=$e+u|0,u=$e&67108863,R=R+($e>>>26)|0,w+=R>>>26,R&=67108863}m.words[x]=u,E=R,R=w}return E!==0?m.words[x]=E:m.length--,m._strip()}function ne(l,A,m){return Y(l,A,m)}n.prototype.mulTo=function(A,m){var E,w=(this||It).length+A.length;return(this||It).length===10&&A.length===10?E=q(this||It,A,m):w<63?E=G(this||It,A,m):w<1024?E=Y(this||It,A,m):E=ne(this||It,A,m),E},n.prototype.mul=function(A){var m=new n(null);return m.words=new Array((this||It).length+A.length),this.mulTo(A,m)},n.prototype.mulf=function(A){var m=new n(null);return m.words=new Array((this||It).length+A.length),ne(this||It,A,m)},n.prototype.imul=function(A){return this.clone().mulTo(A,this||It)},n.prototype.imuln=function(A){var m=A<0;m&&(A=-A),r(typeof A=="number"),r(A<67108864);for(var E=0,w=0;w<(this||It).length;w++){var x=((this||It).words[w]|0)*A,R=(x&67108863)+(E&67108863);E>>=26,E+=x/67108864|0,E+=R>>>26,(this||It).words[w]=R&67108863}return E!==0&&((this||It).words[w]=E,(this||It).length++),m?this.ineg():this||It},n.prototype.muln=function(A){return this.clone().imuln(A)},n.prototype.sqr=function(){return this.mul(this||It)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(A){var m=P(A);if(m.length===0)return new n(1);for(var E=this||It,w=0;w<m.length&&m[w]===0;w++,E=E.sqr());if(++w<m.length)for(var x=E.sqr();w<m.length;w++,x=x.sqr())m[w]!==0&&(E=E.mul(x));return E},n.prototype.iushln=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26,w=67108863>>>26-m<<26-m,x;if(m!==0){var R=0;for(x=0;x<(this||It).length;x++){var u=(this||It).words[x]&w,C=((this||It).words[x]|0)-u<<m;(this||It).words[x]=C|R,R=u>>>26-m}R&&((this||It).words[x]=R,(this||It).length++)}if(E!==0){for(x=(this||It).length-1;x>=0;x--)(this||It).words[x+E]=(this||It).words[x];for(x=0;x<E;x++)(this||It).words[x]=0;(this||It).length+=E}return this._strip()},n.prototype.ishln=function(A){return r((this||It).negative===0),this.iushln(A)},n.prototype.iushrn=function(A,m,E){r(typeof A=="number"&&A>=0);var w;m?w=(m-m%26)/26:w=0;var x=A%26,R=Math.min((A-x)/26,(this||It).length),u=67108863^67108863>>>x<<x,C=E;if(w-=R,w=Math.max(0,w),C){for(var U=0;U<R;U++)C.words[U]=(this||It).words[U];C.length=R}if(R!==0)if((this||It).length>R)for((this||It).length-=R,U=0;U<(this||It).length;U++)(this||It).words[U]=(this||It).words[U+R];else(this||It).words[0]=0,(this||It).length=1;var F=0;for(U=(this||It).length-1;U>=0&&(F!==0||U>=w);U--){var X=(this||It).words[U]|0;(this||It).words[U]=F<<26-x|X>>>x,F=X&u}return C&&F!==0&&(C.words[C.length++]=F),(this||It).length===0&&((this||It).words[0]=0,(this||It).length=1),this._strip()},n.prototype.ishrn=function(A,m,E){return r((this||It).negative===0),this.iushrn(A,m,E)},n.prototype.shln=function(A){return this.clone().ishln(A)},n.prototype.ushln=function(A){return this.clone().iushln(A)},n.prototype.shrn=function(A){return this.clone().ishrn(A)},n.prototype.ushrn=function(A){return this.clone().iushrn(A)},n.prototype.testn=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26,w=1<<m;if((this||It).length<=E)return!1;var x=(this||It).words[E];return!!(x&w)},n.prototype.imaskn=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26;if(r((this||It).negative===0,"imaskn works only with positive numbers"),(this||It).length<=E)return this||It;if(m!==0&&E++,(this||It).length=Math.min(E,(this||It).length),m!==0){var w=67108863^67108863>>>m<<m;(this||It).words[(this||It).length-1]&=w}return this._strip()},n.prototype.maskn=function(A){return this.clone().imaskn(A)},n.prototype.iaddn=function(A){return r(typeof A=="number"),r(A<67108864),A<0?this.isubn(-A):(this||It).negative!==0?(this||It).length===1&&((this||It).words[0]|0)<=A?((this||It).words[0]=A-((this||It).words[0]|0),(this||It).negative=0,this||It):((this||It).negative=0,this.isubn(A),(this||It).negative=1,this||It):this._iaddn(A)},n.prototype._iaddn=function(A){(this||It).words[0]+=A;for(var m=0;m<(this||It).length&&(this||It).words[m]>=67108864;m++)(this||It).words[m]-=67108864,m===(this||It).length-1?(this||It).words[m+1]=1:(this||It).words[m+1]++;return(this||It).length=Math.max((this||It).length,m+1),this||It},n.prototype.isubn=function(A){if(r(typeof A=="number"),r(A<67108864),A<0)return this.iaddn(-A);if((this||It).negative!==0)return(this||It).negative=0,this.iaddn(A),(this||It).negative=1,this||It;if((this||It).words[0]-=A,(this||It).length===1&&(this||It).words[0]<0)(this||It).words[0]=-(this||It).words[0],(this||It).negative=1;else for(var m=0;m<(this||It).length&&(this||It).words[m]<0;m++)(this||It).words[m]+=67108864,(this||It).words[m+1]-=1;return this._strip()},n.prototype.addn=function(A){return this.clone().iaddn(A)},n.prototype.subn=function(A){return this.clone().isubn(A)},n.prototype.iabs=function(){return(this||It).negative=0,this||It},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(A,m,E){var w=A.length+E,x;this._expand(w);var R,u=0;for(x=0;x<A.length;x++){R=((this||It).words[x+E]|0)+u;var C=(A.words[x]|0)*m;R-=C&67108863,u=(R>>26)-(C/67108864|0),(this||It).words[x+E]=R&67108863}for(;x<(this||It).length-E;x++)R=((this||It).words[x+E]|0)+u,u=R>>26,(this||It).words[x+E]=R&67108863;if(u===0)return this._strip();for(r(u===-1),u=0,x=0;x<(this||It).length;x++)R=-((this||It).words[x]|0)+u,u=R>>26,(this||It).words[x]=R&67108863;return(this||It).negative=1,this._strip()},n.prototype._wordDiv=function(A,m){var E=(this||It).length-A.length,w=this.clone(),x=A,R=x.words[x.length-1]|0,u=this._countBits(R);E=26-u,E!==0&&(x=x.ushln(E),w.iushln(E),R=x.words[x.length-1]|0);var C=w.length-x.length,U;if(m!=="mod"){U=new n(null),U.length=C+1,U.words=new Array(U.length);for(var F=0;F<U.length;F++)U.words[F]=0}var X=w.clone()._ishlnsubmul(x,1,C);X.negative===0&&(w=X,U&&(U.words[C]=1));for(var Ae=C-1;Ae>=0;Ae--){var he=(w.words[x.length+Ae]|0)*67108864+(w.words[x.length+Ae-1]|0);for(he=Math.min(he/R|0,67108863),w._ishlnsubmul(x,he,Ae);w.negative!==0;)he--,w.negative=0,w._ishlnsubmul(x,1,Ae),w.isZero()||(w.negative^=1);U&&(U.words[Ae]=he)}return U&&U._strip(),w._strip(),m!=="div"&&E!==0&&w.iushrn(E),{div:U||null,mod:w}},n.prototype.divmod=function(A,m,E){if(r(!A.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var w,x,R;return(this||It).negative!==0&&A.negative===0?(R=this.neg().divmod(A,m),m!=="mod"&&(w=R.div.neg()),m!=="div"&&(x=R.mod.neg(),E&&x.negative!==0&&x.iadd(A)),{div:w,mod:x}):(this||It).negative===0&&A.negative!==0?(R=this.divmod(A.neg(),m),m!=="mod"&&(w=R.div.neg()),{div:w,mod:R.mod}):((this||It).negative&A.negative)!==0?(R=this.neg().divmod(A.neg(),m),m!=="div"&&(x=R.mod.neg(),E&&x.negative!==0&&x.isub(A)),{div:R.div,mod:x}):A.length>(this||It).length||this.cmp(A)<0?{div:new n(0),mod:this||It}:A.length===1?m==="div"?{div:this.divn(A.words[0]),mod:null}:m==="mod"?{div:null,mod:new n(this.modrn(A.words[0]))}:{div:this.divn(A.words[0]),mod:new n(this.modrn(A.words[0]))}:this._wordDiv(A,m)},n.prototype.div=function(A){return this.divmod(A,"div",!1).div},n.prototype.mod=function(A){return this.divmod(A,"mod",!1).mod},n.prototype.umod=function(A){return this.divmod(A,"mod",!0).mod},n.prototype.divRound=function(A){var m=this.divmod(A);if(m.mod.isZero())return m.div;var E=m.div.negative!==0?m.mod.isub(A):m.mod,w=A.ushrn(1),x=A.andln(1),R=E.cmp(w);return R<0||x===1&&R===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},n.prototype.modrn=function(A){var m=A<0;m&&(A=-A),r(A<=67108863);for(var E=(1<<26)%A,w=0,x=(this||It).length-1;x>=0;x--)w=(E*w+((this||It).words[x]|0))%A;return m?-w:w},n.prototype.modn=function(A){return this.modrn(A)},n.prototype.idivn=function(A){var m=A<0;m&&(A=-A),r(A<=67108863);for(var E=0,w=(this||It).length-1;w>=0;w--){var x=((this||It).words[w]|0)+E*67108864;(this||It).words[w]=x/A|0,E=x%A}return this._strip(),m?this.ineg():this||It},n.prototype.divn=function(A){return this.clone().idivn(A)},n.prototype.egcd=function(A){r(A.negative===0),r(!A.isZero());var m=this||It,E=A.clone();m.negative!==0?m=m.umod(A):m=m.clone();for(var w=new n(1),x=new n(0),R=new n(0),u=new n(1),C=0;m.isEven()&&E.isEven();)m.iushrn(1),E.iushrn(1),++C;for(var U=E.clone(),F=m.clone();!m.isZero();){for(var X=0,Ae=1;(m.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(m.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(U),x.isub(F)),w.iushrn(1),x.iushrn(1);for(var he=0,$e=1;(E.words[0]&$e)===0&&he<26;++he,$e<<=1);if(he>0)for(E.iushrn(he);he-- >0;)(R.isOdd()||u.isOdd())&&(R.iadd(U),u.isub(F)),R.iushrn(1),u.iushrn(1);m.cmp(E)>=0?(m.isub(E),w.isub(R),x.isub(u)):(E.isub(m),R.isub(w),u.isub(x))}return{a:R,b:u,gcd:E.iushln(C)}},n.prototype._invmp=function(A){r(A.negative===0),r(!A.isZero());var m=this||It,E=A.clone();m.negative!==0?m=m.umod(A):m=m.clone();for(var w=new n(1),x=new n(0),R=E.clone();m.cmpn(1)>0&&E.cmpn(1)>0;){for(var u=0,C=1;(m.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(m.iushrn(u);u-- >0;)w.isOdd()&&w.iadd(R),w.iushrn(1);for(var U=0,F=1;(E.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(E.iushrn(U);U-- >0;)x.isOdd()&&x.iadd(R),x.iushrn(1);m.cmp(E)>=0?(m.isub(E),w.isub(x)):(E.isub(m),x.isub(w))}var X;return m.cmpn(1)===0?X=w:X=x,X.cmpn(0)<0&&X.iadd(A),X},n.prototype.gcd=function(A){if(this.isZero())return A.abs();if(A.isZero())return this.abs();var m=this.clone(),E=A.clone();m.negative=0,E.negative=0;for(var w=0;m.isEven()&&E.isEven();w++)m.iushrn(1),E.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;E.isEven();)E.iushrn(1);var x=m.cmp(E);if(x<0){var R=m;m=E,E=R}else if(x===0||E.cmpn(1)===0)break;m.isub(E)}while(!0);return E.iushln(w)},n.prototype.invm=function(A){return this.egcd(A).a.umod(A)},n.prototype.isEven=function(){return((this||It).words[0]&1)===0},n.prototype.isOdd=function(){return((this||It).words[0]&1)===1},n.prototype.andln=function(A){return(this||It).words[0]&A},n.prototype.bincn=function(A){r(typeof A=="number");var m=A%26,E=(A-m)/26,w=1<<m;if((this||It).length<=E)return this._expand(E+1),(this||It).words[E]|=w,this||It;for(var x=w,R=E;x!==0&&R<(this||It).length;R++){var u=(this||It).words[R]|0;u+=x,x=u>>>26,u&=67108863,(this||It).words[R]=u}return x!==0&&((this||It).words[R]=x,(this||It).length++),this||It},n.prototype.isZero=function(){return(this||It).length===1&&(this||It).words[0]===0},n.prototype.cmpn=function(A){var m=A<0;if((this||It).negative!==0&&!m)return-1;if((this||It).negative===0&&m)return 1;this._strip();var E;if((this||It).length>1)E=1;else{m&&(A=-A),r(A<=67108863,"Number is too big");var w=(this||It).words[0]|0;E=w===A?0:w<A?-1:1}return(this||It).negative!==0?-E|0:E},n.prototype.cmp=function(A){if((this||It).negative!==0&&A.negative===0)return-1;if((this||It).negative===0&&A.negative!==0)return 1;var m=this.ucmp(A);return(this||It).negative!==0?-m|0:m},n.prototype.ucmp=function(A){if((this||It).length>A.length)return 1;if((this||It).length<A.length)return-1;for(var m=0,E=(this||It).length-1;E>=0;E--){var w=(this||It).words[E]|0,x=A.words[E]|0;if(w!==x){w<x?m=-1:w>x&&(m=1);break}}return m},n.prototype.gtn=function(A){return this.cmpn(A)===1},n.prototype.gt=function(A){return this.cmp(A)===1},n.prototype.gten=function(A){return this.cmpn(A)>=0},n.prototype.gte=function(A){return this.cmp(A)>=0},n.prototype.ltn=function(A){return this.cmpn(A)===-1},n.prototype.lt=function(A){return this.cmp(A)===-1},n.prototype.lten=function(A){return this.cmpn(A)<=0},n.prototype.lte=function(A){return this.cmp(A)<=0},n.prototype.eqn=function(A){return this.cmpn(A)===0},n.prototype.eq=function(A){return this.cmp(A)===0},n.red=function(A){return new O(A)},n.prototype.toRed=function(A){return r(!(this||It).red,"Already a number in reduction context"),r((this||It).negative===0,"red works only with positives"),A.convertTo(this||It)._forceRed(A)},n.prototype.fromRed=function(){return r((this||It).red,"fromRed works only with numbers in reduction context"),(this||It).red.convertFrom(this||It)},n.prototype._forceRed=function(A){return(this||It).red=A,this||It},n.prototype.forceRed=function(A){return r(!(this||It).red,"Already a number in reduction context"),this._forceRed(A)},n.prototype.redAdd=function(A){return r((this||It).red,"redAdd works only with red numbers"),(this||It).red.add(this||It,A)},n.prototype.redIAdd=function(A){return r((this||It).red,"redIAdd works only with red numbers"),(this||It).red.iadd(this||It,A)},n.prototype.redSub=function(A){return r((this||It).red,"redSub works only with red numbers"),(this||It).red.sub(this||It,A)},n.prototype.redISub=function(A){return r((this||It).red,"redISub works only with red numbers"),(this||It).red.isub(this||It,A)},n.prototype.redShl=function(A){return r((this||It).red,"redShl works only with red numbers"),(this||It).red.shl(this||It,A)},n.prototype.redMul=function(A){return r((this||It).red,"redMul works only with red numbers"),(this||It).red._verify2(this||It,A),(this||It).red.mul(this||It,A)},n.prototype.redIMul=function(A){return r((this||It).red,"redMul works only with red numbers"),(this||It).red._verify2(this||It,A),(this||It).red.imul(this||It,A)},n.prototype.redSqr=function(){return r((this||It).red,"redSqr works only with red numbers"),(this||It).red._verify1(this||It),(this||It).red.sqr(this||It)},n.prototype.redISqr=function(){return r((this||It).red,"redISqr works only with red numbers"),(this||It).red._verify1(this||It),(this||It).red.isqr(this||It)},n.prototype.redSqrt=function(){return r((this||It).red,"redSqrt works only with red numbers"),(this||It).red._verify1(this||It),(this||It).red.sqrt(this||It)},n.prototype.redInvm=function(){return r((this||It).red,"redInvm works only with red numbers"),(this||It).red._verify1(this||It),(this||It).red.invm(this||It)},n.prototype.redNeg=function(){return r((this||It).red,"redNeg works only with red numbers"),(this||It).red._verify1(this||It),(this||It).red.neg(this||It)},n.prototype.redPow=function(A){return r((this||It).red&&!A.red,"redPow(normalNum)"),(this||It).red._verify1(this||It),(this||It).red.pow(this||It,A)};var ce={k256:null,p224:null,p192:null,p25519:null};function le(l,A){(this||It).name=l,(this||It).p=new n(A,16),(this||It).n=(this||It).p.bitLength(),(this||It).k=new n(1).iushln((this||It).n).isub((this||It).p),(this||It).tmp=this._tmp()}le.prototype._tmp=function(){var A=new n(null);return A.words=new Array(Math.ceil((this||It).n/13)),A},le.prototype.ireduce=function(A){var m=A,E;do this.split(m,(this||It).tmp),m=this.imulK(m),m=m.iadd((this||It).tmp),E=m.bitLength();while(E>(this||It).n);var w=E<(this||It).n?-1:m.ucmp((this||It).p);return w===0?(m.words[0]=0,m.length=1):w>0?m.isub((this||It).p):m.strip!==void 0?m.strip():m._strip(),m},le.prototype.split=function(A,m){A.iushrn((this||It).n,0,m)},le.prototype.imulK=function(A){return A.imul((this||It).k)};function pe(){le.call(this||It,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(pe,le),pe.prototype.split=function(A,m){for(var E=4194303,w=Math.min(A.length,9),x=0;x<w;x++)m.words[x]=A.words[x];if(m.length=w,A.length<=9){A.words[0]=0,A.length=1;return}var R=A.words[9];for(m.words[m.length++]=R&E,x=10;x<A.length;x++){var u=A.words[x]|0;A.words[x-10]=(u&E)<<4|R>>>22,R=u}R>>>=22,A.words[x-10]=R,R===0&&A.length>10?A.length-=10:A.length-=9},pe.prototype.imulK=function(A){A.words[A.length]=0,A.words[A.length+1]=0,A.length+=2;for(var m=0,E=0;E<A.length;E++){var w=A.words[E]|0;m+=w*977,A.words[E]=m&67108863,m=w*64+(m/67108864|0)}return A.words[A.length-1]===0&&(A.length--,A.words[A.length-1]===0&&A.length--),A};function ae(){le.call(this||It,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(ae,le);function W(){le.call(this||It,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(W,le);function se(){le.call(this||It,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(se,le),se.prototype.imulK=function(A){for(var m=0,E=0;E<A.length;E++){var w=(A.words[E]|0)*19+m,x=w&67108863;w>>>=26,A.words[E]=x,m=w}return m!==0&&(A.words[A.length++]=m),A},n._prime=function(A){if(ce[A])return ce[A];var m;if(A==="k256")m=new pe;else if(A==="p224")m=new ae;else if(A==="p192")m=new W;else if(A==="p25519")m=new se;else throw new Error("Unknown prime "+A);return ce[A]=m,m};function O(l){if(typeof l=="string"){var A=n._prime(l);(this||It).m=A.p,(this||It).prime=A}else r(l.gtn(1),"modulus must be greater than 1"),(this||It).m=l,(this||It).prime=null}O.prototype._verify1=function(A){r(A.negative===0,"red works only with positives"),r(A.red,"red works only with red numbers")},O.prototype._verify2=function(A,m){r((A.negative|m.negative)===0,"red works only with positives"),r(A.red&&A.red===m.red,"red works only with red numbers")},O.prototype.imod=function(A){return(this||It).prime?(this||It).prime.ireduce(A)._forceRed(this||It):(_(A,A.umod((this||It).m)._forceRed(this||It)),A)},O.prototype.neg=function(A){return A.isZero()?A.clone():(this||It).m.sub(A)._forceRed(this||It)},O.prototype.add=function(A,m){this._verify2(A,m);var E=A.add(m);return E.cmp((this||It).m)>=0&&E.isub((this||It).m),E._forceRed(this||It)},O.prototype.iadd=function(A,m){this._verify2(A,m);var E=A.iadd(m);return E.cmp((this||It).m)>=0&&E.isub((this||It).m),E},O.prototype.sub=function(A,m){this._verify2(A,m);var E=A.sub(m);return E.cmpn(0)<0&&E.iadd((this||It).m),E._forceRed(this||It)},O.prototype.isub=function(A,m){this._verify2(A,m);var E=A.isub(m);return E.cmpn(0)<0&&E.iadd((this||It).m),E},O.prototype.shl=function(A,m){return this._verify1(A),this.imod(A.ushln(m))},O.prototype.imul=function(A,m){return this._verify2(A,m),this.imod(A.imul(m))},O.prototype.mul=function(A,m){return this._verify2(A,m),this.imod(A.mul(m))},O.prototype.isqr=function(A){return this.imul(A,A.clone())},O.prototype.sqr=function(A){return this.mul(A,A)},O.prototype.sqrt=function(A){if(A.isZero())return A.clone();var m=(this||It).m.andln(3);if(r(m%2===1),m===3){var E=(this||It).m.add(new n(1)).iushrn(2);return this.pow(A,E)}for(var w=(this||It).m.subn(1),x=0;!w.isZero()&&w.andln(1)===0;)x++,w.iushrn(1);r(!w.isZero());var R=new n(1).toRed(this||It),u=R.redNeg(),C=(this||It).m.subn(1).iushrn(1),U=(this||It).m.bitLength();for(U=new n(2*U*U).toRed(this||It);this.pow(U,C).cmp(u)!==0;)U.redIAdd(u);for(var F=this.pow(U,w),X=this.pow(A,w.addn(1).iushrn(1)),Ae=this.pow(A,w),he=x;Ae.cmp(R)!==0;){for(var $e=Ae,Ge=0;$e.cmp(R)!==0;Ge++)$e=$e.redSqr();r(Ge<he);var Re=this.pow(F,new n(1).iushln(he-Ge-1));X=X.redMul(Re),F=Re.redSqr(),Ae=Ae.redMul(F),he=Ge}return X},O.prototype.invm=function(A){var m=A._invmp((this||It).m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},O.prototype.pow=function(A,m){if(m.isZero())return new n(1).toRed(this||It);if(m.cmpn(1)===0)return A.clone();var E=4,w=new Array(1<<E);w[0]=new n(1).toRed(this||It),w[1]=A;for(var x=2;x<w.length;x++)w[x]=this.mul(w[x-1],A);var R=w[0],u=0,C=0,U=m.bitLength()%26;for(U===0&&(U=26),x=m.length-1;x>=0;x--){for(var F=m.words[x],X=U-1;X>=0;X--){var Ae=F>>X&1;if(R!==w[0]&&(R=this.sqr(R)),Ae===0&&u===0){C=0;continue}u<<=1,u|=Ae,C++,!(C!==E&&(x!==0||X!==0))&&(R=this.mul(R,w[u]),C=0,u=0)}U=26}return R},O.prototype.convertTo=function(A){var m=A.umod((this||It).m);return m===A?m.clone():m},O.prototype.convertFrom=function(A){var m=A.clone();return m.red=null,m},n.mont=function(A){return new s(A)};function s(l){O.call(this||It,l),(this||It).shift=(this||It).m.bitLength(),(this||It).shift%26!==0&&((this||It).shift+=26-(this||It).shift%26),(this||It).r=new n(1).iushln((this||It).shift),(this||It).r2=this.imod((this||It).r.sqr()),(this||It).rinv=(this||It).r._invmp((this||It).m),(this||It).minv=(this||It).rinv.mul((this||It).r).isubn(1).div((this||It).m),(this||It).minv=(this||It).minv.umod((this||It).r),(this||It).minv=(this||It).r.sub((this||It).minv)}i(s,O),s.prototype.convertTo=function(A){return this.imod(A.ushln((this||It).shift))},s.prototype.convertFrom=function(A){var m=this.imod(A.mul((this||It).rinv));return m.red=null,m},s.prototype.imul=function(A,m){if(A.isZero()||m.isZero())return A.words[0]=0,A.length=1,A;var E=A.imul(m),w=E.maskn((this||It).shift).mul((this||It).minv).imaskn((this||It).shift).mul((this||It).m),x=E.isub(w).iushrn((this||It).shift),R=x;return x.cmp((this||It).m)>=0?R=x.isub((this||It).m):x.cmpn(0)<0&&(R=x.iadd((this||It).m)),R._forceRed(this||It)},s.prototype.mul=function(A,m){if(A.isZero()||m.isZero())return new n(0)._forceRed(this||It);var E=A.mul(m),w=E.maskn((this||It).shift).mul((this||It).minv).imaskn((this||It).shift).mul((this||It).m),x=E.isub(w).iushrn((this||It).shift),R=x;return x.cmp((this||It).m)>=0?R=x.isub((this||It).m):x.cmpn(0)<0&&(R=x.iadd((this||It).m)),R._forceRed(this||It)},s.prototype.invm=function(A){var m=this.imod(A._invmp((this||It).m).mul((this||It).r2));return m._forceRed(this||It)}})(Hae,dVe)),Hae.exports}function Gue(){if(LUe)return Gae;LUe=!0;var e=Vo.Buffer,t=Hue(),r=DO();function i(d){var g=n(d),y=g.toRed(t.mont(d.modulus)).redPow(new t(d.publicExponent)).fromRed();return{blinder:y,unblinder:g.invm(d.modulus)}}function n(d){var g=d.modulus.byteLength(),y;do y=new t(r(g));while(y.cmp(d.modulus)>=0||!y.umod(d.prime1)||!y.umod(d.prime2));return y}function o(d,g){var y=i(g),_=g.modulus.byteLength(),I=new t(d).mul(y.blinder).umod(g.modulus),N=I.toRed(t.mont(g.prime1)),T=I.toRed(t.mont(g.prime2)),M=g.coefficient,D=g.prime1,P=g.prime2,G=N.redPow(g.exponent1).fromRed(),q=T.redPow(g.exponent2).fromRed(),Y=G.isub(q).imul(M).umod(D).imul(P);return q.iadd(Y).imul(y.unblinder).umod(g.modulus).toArrayLike(e,"be",_)}return o.getr=n,Gae=o,Gae}function kv(){return UUe||(UUe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Tt).negative=0,(this||Tt).words=null,(this||Tt).length=0,(this||Tt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Tt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Tt).negative=1,s=-s),s<67108864?((this||Tt).words=[s&67108863],(this||Tt).length=1):s<4503599627370496?((this||Tt).words=[s&67108863,s/67108864&67108863],(this||Tt).length=2):(r(s<9007199254740992),(this||Tt).words=[s&67108863,s/67108864&67108863,1],(this||Tt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Tt).words=[0],(this||Tt).length=1,this||Tt;(this||Tt).length=Math.ceil(s.length/3),(this||Tt).words=new Array((this||Tt).length);for(var m=0;m<(this||Tt).length;m++)(this||Tt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Tt).words[E]|=w<<x&67108863,(this||Tt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Tt).words[E]|=w<<x&67108863,(this||Tt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Tt).length=Math.ceil((s.length-l)/6),(this||Tt).words=new Array((this||Tt).length);for(var m=0;m<(this||Tt).length;m++)(this||Tt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Tt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Tt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Tt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Tt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Tt).words=[0],(this||Tt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Tt).words[0]+u<67108864?(this||Tt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Tt).words[0]+u<67108864?(this||Tt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Tt).length);for(var l=0;l<(this||Tt).length;l++)s.words[l]=(this||Tt).words[l];s.length=(this||Tt).length,s.negative=(this||Tt).negative,s.red=(this||Tt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Tt).length<s;)(this||Tt).words[(this||Tt).length++]=0;return this||Tt},n.prototype.strip=function(){for(;(this||Tt).length>1&&(this||Tt).words[(this||Tt).length-1]===0;)(this||Tt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Tt).length===1&&(this||Tt).words[0]===0&&((this||Tt).negative=0),this||Tt},n.prototype.inspect=function(){return((this||Tt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Tt).length;w++){var x=(this||Tt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Tt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Tt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Tt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Tt).words[0];return(this||Tt).length===2?s+=(this||Tt).words[1]*67108864:(this||Tt).length===3&&(this||Tt).words[2]===1?s+=4503599627370496+(this||Tt).words[1]*67108864:(this||Tt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Tt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Tt).words[(this||Tt).length-1],l=this._countBits(s);return((this||Tt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Tt).length;l++){var A=this._zeroBits((this||Tt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Tt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Tt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Tt).negative^=1),this||Tt},n.prototype.iuor=function(s){for(;(this||Tt).length<s.length;)(this||Tt).words[(this||Tt).length++]=0;for(var l=0;l<s.length;l++)(this||Tt).words[l]=(this||Tt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Tt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Tt).length>s.length?this.clone().ior(s):s.clone().ior(this||Tt)},n.prototype.uor=function(s){return(this||Tt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Tt)},n.prototype.iuand=function(s){var l;(this||Tt).length>s.length?l=s:l=this||Tt;for(var A=0;A<l.length;A++)(this||Tt).words[A]=(this||Tt).words[A]&s.words[A];return(this||Tt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Tt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Tt).length>s.length?this.clone().iand(s):s.clone().iand(this||Tt)},n.prototype.uand=function(s){return(this||Tt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Tt)},n.prototype.iuxor=function(s){var l,A;(this||Tt).length>s.length?(l=this||Tt,A=s):(l=s,A=this||Tt);for(var m=0;m<A.length;m++)(this||Tt).words[m]=l.words[m]^A.words[m];if((this||Tt)!==l)for(;m<l.length;m++)(this||Tt).words[m]=l.words[m];return(this||Tt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Tt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Tt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Tt)},n.prototype.uxor=function(s){return(this||Tt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Tt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Tt).words[m]=~(this||Tt).words[m]&67108863;return A>0&&((this||Tt).words[m]=~(this||Tt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Tt).words[A]=(this||Tt).words[A]|1<<m:(this||Tt).words[A]=(this||Tt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Tt).negative!==0&&s.negative===0)return(this||Tt).negative=0,l=this.isub(s),(this||Tt).negative^=1,this._normSign();if((this||Tt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Tt).length>s.length?(A=this||Tt,m=s):(A=s,m=this||Tt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Tt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Tt).words[w]=l&67108863,E=l>>>26;if((this||Tt).length=A.length,E!==0)(this||Tt).words[(this||Tt).length]=E,(this||Tt).length++;else if(A!==(this||Tt))for(;w<A.length;w++)(this||Tt).words[w]=A.words[w];return this||Tt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Tt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Tt).negative!==0?((this||Tt).negative=0,l=s.sub(this||Tt),(this||Tt).negative=1,l):(this||Tt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Tt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Tt).negative!==0)return(this||Tt).negative=0,this.iadd(s),(this||Tt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Tt).negative=0,(this||Tt).length=1,(this||Tt).words[0]=0,this||Tt;var m,E;A>0?(m=this||Tt,E=s):(m=s,E=this||Tt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Tt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Tt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Tt))for(;x<m.length;x++)(this||Tt).words[x]=m.words[x];return(this||Tt).length=Math.max((this||Tt).length,x),m!==(this||Tt)&&((this||Tt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Tt).length+s.length;return(this||Tt).length===10&&s.length===10?A=D(this||Tt,s,l):m<63?A=M(this||Tt,s,l):m<1024?A=P(this||Tt,s,l):A=G(this||Tt,s,l),A};function q(O,s){(this||Tt).x=O,(this||Tt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Tt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Tt).length+s.length),G(this||Tt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Tt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Tt).length;A++){var m=((this||Tt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Tt).words[A]=E&67108863}return l!==0&&((this||Tt).words[A]=l,(this||Tt).length++),this||Tt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Tt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Tt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Tt).length;E++){var x=(this||Tt).words[E]&m,R=((this||Tt).words[E]|0)-x<<l;(this||Tt).words[E]=R|w,w=x>>>26-l}w&&((this||Tt).words[E]=w,(this||Tt).length++)}if(A!==0){for(E=(this||Tt).length-1;E>=0;E--)(this||Tt).words[E+A]=(this||Tt).words[E];for(E=0;E<A;E++)(this||Tt).words[E]=0;(this||Tt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Tt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Tt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Tt).words[u];R.length=w}if(w!==0)if((this||Tt).length>w)for((this||Tt).length-=w,u=0;u<(this||Tt).length;u++)(this||Tt).words[u]=(this||Tt).words[u+w];else(this||Tt).words[0]=0,(this||Tt).length=1;var C=0;for(u=(this||Tt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Tt).words[u]|0;(this||Tt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Tt).length===0&&((this||Tt).words[0]=0,(this||Tt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Tt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Tt).length<=A)return!1;var E=(this||Tt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Tt).negative===0,"imaskn works only with positive numbers"),(this||Tt).length<=A)return this||Tt;if(l!==0&&A++,(this||Tt).length=Math.min(A,(this||Tt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Tt).words[(this||Tt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Tt).negative!==0?(this||Tt).length===1&&((this||Tt).words[0]|0)<s?((this||Tt).words[0]=s-((this||Tt).words[0]|0),(this||Tt).negative=0,this||Tt):((this||Tt).negative=0,this.isubn(s),(this||Tt).negative=1,this||Tt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Tt).words[0]+=s;for(var l=0;l<(this||Tt).length&&(this||Tt).words[l]>=67108864;l++)(this||Tt).words[l]-=67108864,l===(this||Tt).length-1?(this||Tt).words[l+1]=1:(this||Tt).words[l+1]++;return(this||Tt).length=Math.max((this||Tt).length,l+1),this||Tt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Tt).negative!==0)return(this||Tt).negative=0,this.iaddn(s),(this||Tt).negative=1,this||Tt;if((this||Tt).words[0]-=s,(this||Tt).length===1&&(this||Tt).words[0]<0)(this||Tt).words[0]=-(this||Tt).words[0],(this||Tt).negative=1;else for(var l=0;l<(this||Tt).length&&(this||Tt).words[l]<0;l++)(this||Tt).words[l]+=67108864,(this||Tt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Tt).negative=0,this||Tt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Tt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Tt).words[E+A]=w&67108863}for(;E<(this||Tt).length-A;E++)w=((this||Tt).words[E+A]|0)+x,x=w>>26,(this||Tt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Tt).length;E++)w=-((this||Tt).words[E]|0)+x,x=w>>26,(this||Tt).words[E]=w&67108863;return(this||Tt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Tt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Tt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Tt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Tt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Tt).length||this.cmp(s)<0?{div:new n(0),mod:this||Tt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Tt).length-1;m>=0;m--)A=(l*A+((this||Tt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Tt).length-1;A>=0;A--){var m=((this||Tt).words[A]|0)+l*67108864;(this||Tt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Tt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Tt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Tt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Tt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Tt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Tt).length<=A)return this._expand(A+1),(this||Tt).words[A]|=m,this||Tt;for(var E=m,w=A;E!==0&&w<(this||Tt).length;w++){var x=(this||Tt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Tt).words[w]=x}return E!==0&&((this||Tt).words[w]=E,(this||Tt).length++),this||Tt},n.prototype.isZero=function(){return(this||Tt).length===1&&(this||Tt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Tt).negative!==0&&!l)return-1;if((this||Tt).negative===0&&l)return 1;this.strip();var A;if((this||Tt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Tt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Tt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Tt).negative!==0&&s.negative===0)return-1;if((this||Tt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Tt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Tt).length>s.length)return 1;if((this||Tt).length<s.length)return-1;for(var l=0,A=(this||Tt).length-1;A>=0;A--){var m=(this||Tt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Tt).red,"Already a number in reduction context"),r((this||Tt).negative===0,"red works only with positives"),s.convertTo(this||Tt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Tt).red,"fromRed works only with numbers in reduction context"),(this||Tt).red.convertFrom(this||Tt)},n.prototype._forceRed=function(s){return(this||Tt).red=s,this||Tt},n.prototype.forceRed=function(s){return r(!(this||Tt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Tt).red,"redAdd works only with red numbers"),(this||Tt).red.add(this||Tt,s)},n.prototype.redIAdd=function(s){return r((this||Tt).red,"redIAdd works only with red numbers"),(this||Tt).red.iadd(this||Tt,s)},n.prototype.redSub=function(s){return r((this||Tt).red,"redSub works only with red numbers"),(this||Tt).red.sub(this||Tt,s)},n.prototype.redISub=function(s){return r((this||Tt).red,"redISub works only with red numbers"),(this||Tt).red.isub(this||Tt,s)},n.prototype.redShl=function(s){return r((this||Tt).red,"redShl works only with red numbers"),(this||Tt).red.shl(this||Tt,s)},n.prototype.redMul=function(s){return r((this||Tt).red,"redMul works only with red numbers"),(this||Tt).red._verify2(this||Tt,s),(this||Tt).red.mul(this||Tt,s)},n.prototype.redIMul=function(s){return r((this||Tt).red,"redMul works only with red numbers"),(this||Tt).red._verify2(this||Tt,s),(this||Tt).red.imul(this||Tt,s)},n.prototype.redSqr=function(){return r((this||Tt).red,"redSqr works only with red numbers"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.sqr(this||Tt)},n.prototype.redISqr=function(){return r((this||Tt).red,"redISqr works only with red numbers"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.isqr(this||Tt)},n.prototype.redSqrt=function(){return r((this||Tt).red,"redSqrt works only with red numbers"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.sqrt(this||Tt)},n.prototype.redInvm=function(){return r((this||Tt).red,"redInvm works only with red numbers"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.invm(this||Tt)},n.prototype.redNeg=function(){return r((this||Tt).red,"redNeg works only with red numbers"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.neg(this||Tt)},n.prototype.redPow=function(s){return r((this||Tt).red&&!s.red,"redPow(normalNum)"),(this||Tt).red._verify1(this||Tt),(this||Tt).red.pow(this||Tt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Tt).name=O,(this||Tt).p=new n(s,16),(this||Tt).n=(this||Tt).p.bitLength(),(this||Tt).k=new n(1).iushln((this||Tt).n).isub((this||Tt).p),(this||Tt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Tt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Tt).tmp),l=this.imulK(l),l=l.iadd((this||Tt).tmp),A=l.bitLength();while(A>(this||Tt).n);var m=A<(this||Tt).n?-1:l.ucmp((this||Tt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Tt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Tt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Tt).k)};function ce(){ne.call(this||Tt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Tt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Tt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Tt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Tt).m=s.p,(this||Tt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Tt).m=O,(this||Tt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Tt).prime?(this||Tt).prime.ireduce(s)._forceRed(this||Tt):s.umod((this||Tt).m)._forceRed(this||Tt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Tt).m.sub(s)._forceRed(this||Tt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Tt).m)>=0&&A.isub((this||Tt).m),A._forceRed(this||Tt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Tt).m)>=0&&A.isub((this||Tt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Tt).m),A._forceRed(this||Tt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Tt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Tt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Tt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Tt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Tt),x=w.redNeg(),R=(this||Tt).m.subn(1).iushrn(1),u=(this||Tt).m.bitLength();for(u=new n(2*u*u).toRed(this||Tt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Tt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Tt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Tt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Tt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Tt,O),(this||Tt).shift=(this||Tt).m.bitLength(),(this||Tt).shift%26!==0&&((this||Tt).shift+=26-(this||Tt).shift%26),(this||Tt).r=new n(1).iushln((this||Tt).shift),(this||Tt).r2=this.imod((this||Tt).r.sqr()),(this||Tt).rinv=(this||Tt).r._invmp((this||Tt).m),(this||Tt).minv=(this||Tt).rinv.mul((this||Tt).r).isubn(1).div((this||Tt).m),(this||Tt).minv=(this||Tt).minv.umod((this||Tt).r),(this||Tt).minv=(this||Tt).r.sub((this||Tt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Tt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Tt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Tt).shift).mul((this||Tt).minv).imaskn((this||Tt).shift).mul((this||Tt).m),E=A.isub(m).iushrn((this||Tt).shift),w=E;return E.cmp((this||Tt).m)>=0?w=E.isub((this||Tt).m):E.cmpn(0)<0&&(w=E.iadd((this||Tt).m)),w._forceRed(this||Tt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Tt);var A=s.mul(l),m=A.maskn((this||Tt).shift).mul((this||Tt).minv).imaskn((this||Tt).shift).mul((this||Tt).m),E=A.isub(m).iushrn((this||Tt).shift),w=E;return E.cmp((this||Tt).m)>=0?w=E.isub((this||Tt).m):E.cmpn(0)<0&&(w=E.iadd((this||Tt).m)),w._forceRed(this||Tt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Tt).m).mul((this||Tt).r2));return l._forceRed(this||Tt)}})(qae,fVe)),qae.exports}function lVe(){if(FUe)return Vae;FUe=!0;var e=Vae;function t(n,o){if(Array.isArray(n))return n.slice();if(!n)return[];var d=[];if(typeof n!="string"){for(var g=0;g<n.length;g++)d[g]=n[g]|0;return d}if(o==="hex"){n=n.replace(/[^a-z0-9]+/ig,""),n.length%2!==0&&(n="0"+n);for(var g=0;g<n.length;g+=2)d.push(parseInt(n[g]+n[g+1],16))}else for(var g=0;g<n.length;g++){var y=n.charCodeAt(g),_=y>>8,I=y&255;_?d.push(_,I):d.push(I)}return d}e.toArray=t;function r(n){return n.length===1?"0"+n:n}e.zero2=r;function i(n){for(var o="",d=0;d<n.length;d++)o+=r(n[d].toString(16));return o}return e.toHex=i,e.encode=function(o,d){return d==="hex"?i(o):o},Vae}function Kg(){if(QUe)return Jae;QUe=!0;var e=Jae,t=kv(),r=jy(),i=lVe();e.assert=r,e.toArray=i.toArray,e.zero2=i.zero2,e.toHex=i.toHex,e.encode=i.encode;function n(_,I,N){var T=new Array(Math.max(_.bitLength(),N)+1);T.fill(0);for(var M=1<<I+1,D=_.clone(),P=0;P<T.length;P++){var G,q=D.andln(M-1);D.isOdd()?(q>(M>>1)-1?G=(M>>1)-q:G=q,D.isubn(G)):G=0,T[P]=G,D.iushrn(1)}return T}e.getNAF=n;function o(_,I){var N=[[],[]];_=_.clone(),I=I.clone();for(var T=0,M=0,D;_.cmpn(-T)>0||I.cmpn(-M)>0;){var P=_.andln(3)+T&3,G=I.andln(3)+M&3;P===3&&(P=-1),G===3&&(G=-1);var q;(P&1)===0?q=0:(D=_.andln(7)+T&7,(D===3||D===5)&&G===2?q=-P:q=P),N[0].push(q);var Y;(G&1)===0?Y=0:(D=I.andln(7)+M&7,(D===3||D===5)&&P===2?Y=-G:Y=G),N[1].push(Y),2*T===q+1&&(T=1-T),2*M===Y+1&&(M=1-M),_.iushrn(1),I.iushrn(1)}return N}e.getJSF=o;function d(_,I,N){var T="_"+I;_.prototype[I]=function(){return this[T]!==void 0?this[T]:this[T]=N.call(this)}}e.cachedProperty=d;function g(_){return typeof _=="string"?e.toArray(_,"hex"):_}e.parseBytes=g;function y(_){return new t(_,"hex","le")}return e.intFromLE=y,Jae}function cV(){if(HUe)return zae;HUe=!0;var e=kv(),t=Kg(),r=t.getNAF,i=t.getJSF,n=t.assert;function o(g,y){this.type=g,this.p=new e(y.p,16),this.red=y.prime?e.red(y.prime):e.mont(this.p),this.zero=new e(0).toRed(this.red),this.one=new e(1).toRed(this.red),this.two=new e(2).toRed(this.red),this.n=y.n&&new e(y.n,16),this.g=y.g&&this.pointFromJSON(y.g,y.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var _=this.n&&this.p.div(this.n);!_||_.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}zae=o,o.prototype.point=function(){throw new Error("Not implemented")},o.prototype.validate=function(){throw new Error("Not implemented")},o.prototype._fixedNafMul=function(y,_){n(y.precomputed);var I=y._getDoubles(),N=r(_,1,this._bitLength),T=(1<<I.step+1)-(I.step%2===0?2:1);T/=3;var M=[],D,P;for(D=0;D<N.length;D+=I.step){P=0;for(var G=D+I.step-1;G>=D;G--)P=(P<<1)+N[G];M.push(P)}for(var q=this.jpoint(null,null,null),Y=this.jpoint(null,null,null),ne=T;ne>0;ne--){for(D=0;D<M.length;D++)P=M[D],P===ne?Y=Y.mixedAdd(I.points[D]):P===-ne&&(Y=Y.mixedAdd(I.points[D].neg()));q=q.add(Y)}return q.toP()},o.prototype._wnafMul=function(y,_){var I=4,N=y._getNAFPoints(I);I=N.wnd;for(var T=N.points,M=r(_,I,this._bitLength),D=this.jpoint(null,null,null),P=M.length-1;P>=0;P--){for(var G=0;P>=0&&M[P]===0;P--)G++;if(P>=0&&G++,D=D.dblp(G),P<0)break;var q=M[P];n(q!==0),y.type==="affine"?q>0?D=D.mixedAdd(T[q-1>>1]):D=D.mixedAdd(T[-q-1>>1].neg()):q>0?D=D.add(T[q-1>>1]):D=D.add(T[-q-1>>1].neg())}return y.type==="affine"?D.toP():D},o.prototype._wnafMulAdd=function(y,_,I,N,T){var M=this._wnafT1,D=this._wnafT2,P=this._wnafT3,G=0,q,Y,ne;for(q=0;q<N;q++){ne=_[q];var ce=ne._getNAFPoints(y);M[q]=ce.wnd,D[q]=ce.points}for(q=N-1;q>=1;q-=2){var le=q-1,pe=q;if(M[le]!==1||M[pe]!==1){P[le]=r(I[le],M[le],this._bitLength),P[pe]=r(I[pe],M[pe],this._bitLength),G=Math.max(P[le].length,G),G=Math.max(P[pe].length,G);continue}var ae=[_[le],null,null,_[pe]];_[le].y.cmp(_[pe].y)===0?(ae[1]=_[le].add(_[pe]),ae[2]=_[le].toJ().mixedAdd(_[pe].neg())):_[le].y.cmp(_[pe].y.redNeg())===0?(ae[1]=_[le].toJ().mixedAdd(_[pe]),ae[2]=_[le].add(_[pe].neg())):(ae[1]=_[le].toJ().mixedAdd(_[pe]),ae[2]=_[le].toJ().mixedAdd(_[pe].neg()));var W=[-3,-1,-5,-7,0,7,5,1,3],se=i(I[le],I[pe]);for(G=Math.max(se[0].length,G),P[le]=new Array(G),P[pe]=new Array(G),Y=0;Y<G;Y++){var O=se[0][Y]|0,s=se[1][Y]|0;P[le][Y]=W[(O+1)*3+(s+1)],P[pe][Y]=0,D[le]=ae}}var l=this.jpoint(null,null,null),A=this._wnafT4;for(q=G;q>=0;q--){for(var m=0;q>=0;){var E=!0;for(Y=0;Y<N;Y++)A[Y]=P[Y][q]|0,A[Y]!==0&&(E=!1);if(!E)break;m++,q--}if(q>=0&&m++,l=l.dblp(m),q<0)break;for(Y=0;Y<N;Y++){var w=A[Y];w!==0&&(w>0?ne=D[Y][w-1>>1]:w<0&&(ne=D[Y][-w-1>>1].neg()),ne.type==="affine"?l=l.mixedAdd(ne):l=l.add(ne))}}for(q=0;q<N;q++)D[q]=null;return T?l:l.toP()};function d(g,y){this.curve=g,this.type=y,this.precomputed=null}return o.BasePoint=d,d.prototype.eq=function(){throw new Error("Not implemented")},d.prototype.validate=function(){return this.curve.validate(this)},o.prototype.decodePoint=function(y,_){y=t.toArray(y,_);var I=this.p.byteLength();if((y[0]===4||y[0]===6||y[0]===7)&&y.length-1===2*I){y[0]===6?n(y[y.length-1]%2===0):y[0]===7&&n(y[y.length-1]%2===1);var N=this.point(y.slice(1,1+I),y.slice(1+I,1+2*I));return N}else if((y[0]===2||y[0]===3)&&y.length-1===I)return this.pointFromX(y.slice(1,1+I),y[0]===3);throw new Error("Unknown point format")},d.prototype.encodeCompressed=function(y){return this.encode(y,!0)},d.prototype._encode=function(y){var _=this.curve.p.byteLength(),I=this.getX().toArray("be",_);return y?[this.getY().isEven()?2:3].concat(I):[4].concat(I,this.getY().toArray("be",_))},d.prototype.encode=function(y,_){return t.encode(this._encode(_),y)},d.prototype.precompute=function(y){if(this.precomputed)return this;var _={doubles:null,naf:null,beta:null};return _.naf=this._getNAFPoints(8),_.doubles=this._getDoubles(4,y),_.beta=this._getBeta(),this.precomputed=_,this},d.prototype._hasDoubles=function(y){if(!this.precomputed)return!1;var _=this.precomputed.doubles;return _?_.points.length>=Math.ceil((y.bitLength()+1)/_.step):!1},d.prototype._getDoubles=function(y,_){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var I=[this],N=this,T=0;T<_;T+=y){for(var M=0;M<y;M++)N=N.dbl();I.push(N)}return{step:y,points:I}},d.prototype._getNAFPoints=function(y){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var _=[this],I=(1<<y)-1,N=I===1?null:this.dbl(),T=1;T<I;T++)_[T]=_[T-1].add(N);return{wnd:y,points:_}},d.prototype._getBeta=function(){return null},d.prototype.dblp=function(y){for(var _=this,I=0;I<y;I++)_=_.dbl();return _},zae}function a5t(){if(GUe)return Kae;GUe=!0;var e=Kg(),t=kv(),r=rs(),i=cV(),n=e.assert;function o(y){i.call(this,"short",y),this.a=new t(y.a,16).toRed(this.red),this.b=new t(y.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(y),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}r(o,i),Kae=o,o.prototype._getEndomorphism=function(_){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var I,N;if(_.beta)I=new t(_.beta,16).toRed(this.red);else{var T=this._getEndoRoots(this.p);I=T[0].cmp(T[1])<0?T[0]:T[1],I=I.toRed(this.red)}if(_.lambda)N=new t(_.lambda,16);else{var M=this._getEndoRoots(this.n);this.g.mul(M[0]).x.cmp(this.g.x.redMul(I))===0?N=M[0]:(N=M[1],n(this.g.mul(N).x.cmp(this.g.x.redMul(I))===0))}var D;return _.basis?D=_.basis.map(function(P){return{a:new t(P.a,16),b:new t(P.b,16)}}):D=this._getEndoBasis(N),{beta:I,lambda:N,basis:D}}},o.prototype._getEndoRoots=function(_){var I=_===this.p?this.red:t.mont(_),N=new t(2).toRed(I).redInvm(),T=N.redNeg(),M=new t(3).toRed(I).redNeg().redSqrt().redMul(N),D=T.redAdd(M).fromRed(),P=T.redSub(M).fromRed();return[D,P]},o.prototype._getEndoBasis=function(_){for(var I=this.n.ushrn(Math.floor(this.n.bitLength()/2)),N=_,T=this.n.clone(),M=new t(1),D=new t(0),P=new t(0),G=new t(1),q,Y,ne,ce,le,pe,ae,W=0,se,O;N.cmpn(0)!==0;){var s=T.div(N);se=T.sub(s.mul(N)),O=P.sub(s.mul(M));var l=G.sub(s.mul(D));if(!ne&&se.cmp(I)<0)q=ae.neg(),Y=M,ne=se.neg(),ce=O;else if(ne&&++W===2)break;ae=se,T=N,N=se,P=M,M=O,G=D,D=l}le=se.neg(),pe=O;var A=ne.sqr().add(ce.sqr()),m=le.sqr().add(pe.sqr());return m.cmp(A)>=0&&(le=q,pe=Y),ne.negative&&(ne=ne.neg(),ce=ce.neg()),le.negative&&(le=le.neg(),pe=pe.neg()),[{a:ne,b:ce},{a:le,b:pe}]},o.prototype._endoSplit=function(_){var I=this.endo.basis,N=I[0],T=I[1],M=T.b.mul(_).divRound(this.n),D=N.b.neg().mul(_).divRound(this.n),P=M.mul(N.a),G=D.mul(T.a),q=M.mul(N.b),Y=D.mul(T.b),ne=_.sub(P).sub(G),ce=q.add(Y).neg();return{k1:ne,k2:ce}},o.prototype.pointFromX=function(_,I){_=new t(_,16),_.red||(_=_.toRed(this.red));var N=_.redSqr().redMul(_).redIAdd(_.redMul(this.a)).redIAdd(this.b),T=N.redSqrt();if(T.redSqr().redSub(N).cmp(this.zero)!==0)throw new Error("invalid point");var M=T.fromRed().isOdd();return(I&&!M||!I&&M)&&(T=T.redNeg()),this.point(_,T)},o.prototype.validate=function(_){if(_.inf)return!0;var I=_.x,N=_.y,T=this.a.redMul(I),M=I.redSqr().redMul(I).redIAdd(T).redIAdd(this.b);return N.redSqr().redISub(M).cmpn(0)===0},o.prototype._endoWnafMulAdd=function(_,I,N){for(var T=this._endoWnafT1,M=this._endoWnafT2,D=0;D<_.length;D++){var P=this._endoSplit(I[D]),G=_[D],q=G._getBeta();P.k1.negative&&(P.k1.ineg(),G=G.neg(!0)),P.k2.negative&&(P.k2.ineg(),q=q.neg(!0)),T[D*2]=G,T[D*2+1]=q,M[D*2]=P.k1,M[D*2+1]=P.k2}for(var Y=this._wnafMulAdd(1,T,M,D*2,N),ne=0;ne<D*2;ne++)T[ne]=null,M[ne]=null;return Y};function d(y,_,I,N){i.BasePoint.call(this,y,"affine"),_===null&&I===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new t(_,16),this.y=new t(I,16),N&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}r(d,i.BasePoint),o.prototype.point=function(_,I,N){return new d(this,_,I,N)},o.prototype.pointFromJSON=function(_,I){return d.fromJSON(this,_,I)},d.prototype._getBeta=function(){if(this.curve.endo){var _=this.precomputed;if(_&&_.beta)return _.beta;var I=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(_){var N=this.curve,T=function(M){return N.point(M.x.redMul(N.endo.beta),M.y)};_.beta=I,I.precomputed={beta:null,naf:_.naf&&{wnd:_.naf.wnd,points:_.naf.points.map(T)},doubles:_.doubles&&{step:_.doubles.step,points:_.doubles.points.map(T)}}}return I}},d.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},d.fromJSON=function(_,I,N){typeof I=="string"&&(I=JSON.parse(I));var T=_.point(I[0],I[1],N);if(!I[2])return T;function M(P){return _.point(P[0],P[1],N)}var D=I[2];return T.precomputed={beta:null,doubles:D.doubles&&{step:D.doubles.step,points:[T].concat(D.doubles.points.map(M))},naf:D.naf&&{wnd:D.naf.wnd,points:[T].concat(D.naf.points.map(M))}},T},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.inf},d.prototype.add=function(_){if(this.inf)return _;if(_.inf)return this;if(this.eq(_))return this.dbl();if(this.neg().eq(_))return this.curve.point(null,null);if(this.x.cmp(_.x)===0)return this.curve.point(null,null);var I=this.y.redSub(_.y);I.cmpn(0)!==0&&(I=I.redMul(this.x.redSub(_.x).redInvm()));var N=I.redSqr().redISub(this.x).redISub(_.x),T=I.redMul(this.x.redSub(N)).redISub(this.y);return this.curve.point(N,T)},d.prototype.dbl=function(){if(this.inf)return this;var _=this.y.redAdd(this.y);if(_.cmpn(0)===0)return this.curve.point(null,null);var I=this.curve.a,N=this.x.redSqr(),T=_.redInvm(),M=N.redAdd(N).redIAdd(N).redIAdd(I).redMul(T),D=M.redSqr().redISub(this.x.redAdd(this.x)),P=M.redMul(this.x.redSub(D)).redISub(this.y);return this.curve.point(D,P)},d.prototype.getX=function(){return this.x.fromRed()},d.prototype.getY=function(){return this.y.fromRed()},d.prototype.mul=function(_){return _=new t(_,16),this.isInfinity()?this:this._hasDoubles(_)?this.curve._fixedNafMul(this,_):this.curve.endo?this.curve._endoWnafMulAdd([this],[_]):this.curve._wnafMul(this,_)},d.prototype.mulAdd=function(_,I,N){var T=[this,I],M=[_,N];return this.curve.endo?this.curve._endoWnafMulAdd(T,M):this.curve._wnafMulAdd(1,T,M,2)},d.prototype.jmulAdd=function(_,I,N){var T=[this,I],M=[_,N];return this.curve.endo?this.curve._endoWnafMulAdd(T,M,!0):this.curve._wnafMulAdd(1,T,M,2,!0)},d.prototype.eq=function(_){return this===_||this.inf===_.inf&&(this.inf||this.x.cmp(_.x)===0&&this.y.cmp(_.y)===0)},d.prototype.neg=function(_){if(this.inf)return this;var I=this.curve.point(this.x,this.y.redNeg());if(_&&this.precomputed){var N=this.precomputed,T=function(M){return M.neg()};I.precomputed={naf:N.naf&&{wnd:N.naf.wnd,points:N.naf.points.map(T)},doubles:N.doubles&&{step:N.doubles.step,points:N.doubles.points.map(T)}}}return I},d.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var _=this.curve.jpoint(this.x,this.y,this.curve.one);return _};function g(y,_,I,N){i.BasePoint.call(this,y,"jacobian"),_===null&&I===null&&N===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new t(0)):(this.x=new t(_,16),this.y=new t(I,16),this.z=new t(N,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}return r(g,i.BasePoint),o.prototype.jpoint=function(_,I,N){return new g(this,_,I,N)},g.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var _=this.z.redInvm(),I=_.redSqr(),N=this.x.redMul(I),T=this.y.redMul(I).redMul(_);return this.curve.point(N,T)},g.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},g.prototype.add=function(_){if(this.isInfinity())return _;if(_.isInfinity())return this;var I=_.z.redSqr(),N=this.z.redSqr(),T=this.x.redMul(I),M=_.x.redMul(N),D=this.y.redMul(I.redMul(_.z)),P=_.y.redMul(N.redMul(this.z)),G=T.redSub(M),q=D.redSub(P);if(G.cmpn(0)===0)return q.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var Y=G.redSqr(),ne=Y.redMul(G),ce=T.redMul(Y),le=q.redSqr().redIAdd(ne).redISub(ce).redISub(ce),pe=q.redMul(ce.redISub(le)).redISub(D.redMul(ne)),ae=this.z.redMul(_.z).redMul(G);return this.curve.jpoint(le,pe,ae)},g.prototype.mixedAdd=function(_){if(this.isInfinity())return _.toJ();if(_.isInfinity())return this;var I=this.z.redSqr(),N=this.x,T=_.x.redMul(I),M=this.y,D=_.y.redMul(I).redMul(this.z),P=N.redSub(T),G=M.redSub(D);if(P.cmpn(0)===0)return G.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var q=P.redSqr(),Y=q.redMul(P),ne=N.redMul(q),ce=G.redSqr().redIAdd(Y).redISub(ne).redISub(ne),le=G.redMul(ne.redISub(ce)).redISub(M.redMul(Y)),pe=this.z.redMul(P);return this.curve.jpoint(ce,le,pe)},g.prototype.dblp=function(_){if(_===0)return this;if(this.isInfinity())return this;if(!_)return this.dbl();var I;if(this.curve.zeroA||this.curve.threeA){var N=this;for(I=0;I<_;I++)N=N.dbl();return N}var T=this.curve.a,M=this.curve.tinv,D=this.x,P=this.y,G=this.z,q=G.redSqr().redSqr(),Y=P.redAdd(P);for(I=0;I<_;I++){var ne=D.redSqr(),ce=Y.redSqr(),le=ce.redSqr(),pe=ne.redAdd(ne).redIAdd(ne).redIAdd(T.redMul(q)),ae=D.redMul(ce),W=pe.redSqr().redISub(ae.redAdd(ae)),se=ae.redISub(W),O=pe.redMul(se);O=O.redIAdd(O).redISub(le);var s=Y.redMul(G);I+1<_&&(q=q.redMul(le)),D=W,G=s,Y=O}return this.curve.jpoint(D,Y.redMul(M),G)},g.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},g.prototype._zeroDbl=function(){var _,I,N;if(this.zOne){var T=this.x.redSqr(),M=this.y.redSqr(),D=M.redSqr(),P=this.x.redAdd(M).redSqr().redISub(T).redISub(D);P=P.redIAdd(P);var G=T.redAdd(T).redIAdd(T),q=G.redSqr().redISub(P).redISub(P),Y=D.redIAdd(D);Y=Y.redIAdd(Y),Y=Y.redIAdd(Y),_=q,I=G.redMul(P.redISub(q)).redISub(Y),N=this.y.redAdd(this.y)}else{var ne=this.x.redSqr(),ce=this.y.redSqr(),le=ce.redSqr(),pe=this.x.redAdd(ce).redSqr().redISub(ne).redISub(le);pe=pe.redIAdd(pe);var ae=ne.redAdd(ne).redIAdd(ne),W=ae.redSqr(),se=le.redIAdd(le);se=se.redIAdd(se),se=se.redIAdd(se),_=W.redISub(pe).redISub(pe),I=ae.redMul(pe.redISub(_)).redISub(se),N=this.y.redMul(this.z),N=N.redIAdd(N)}return this.curve.jpoint(_,I,N)},g.prototype._threeDbl=function(){var _,I,N;if(this.zOne){var T=this.x.redSqr(),M=this.y.redSqr(),D=M.redSqr(),P=this.x.redAdd(M).redSqr().redISub(T).redISub(D);P=P.redIAdd(P);var G=T.redAdd(T).redIAdd(T).redIAdd(this.curve.a),q=G.redSqr().redISub(P).redISub(P);_=q;var Y=D.redIAdd(D);Y=Y.redIAdd(Y),Y=Y.redIAdd(Y),I=G.redMul(P.redISub(q)).redISub(Y),N=this.y.redAdd(this.y)}else{var ne=this.z.redSqr(),ce=this.y.redSqr(),le=this.x.redMul(ce),pe=this.x.redSub(ne).redMul(this.x.redAdd(ne));pe=pe.redAdd(pe).redIAdd(pe);var ae=le.redIAdd(le);ae=ae.redIAdd(ae);var W=ae.redAdd(ae);_=pe.redSqr().redISub(W),N=this.y.redAdd(this.z).redSqr().redISub(ce).redISub(ne);var se=ce.redSqr();se=se.redIAdd(se),se=se.redIAdd(se),se=se.redIAdd(se),I=pe.redMul(ae.redISub(_)).redISub(se)}return this.curve.jpoint(_,I,N)},g.prototype._dbl=function(){var _=this.curve.a,I=this.x,N=this.y,T=this.z,M=T.redSqr().redSqr(),D=I.redSqr(),P=N.redSqr(),G=D.redAdd(D).redIAdd(D).redIAdd(_.redMul(M)),q=I.redAdd(I);q=q.redIAdd(q);var Y=q.redMul(P),ne=G.redSqr().redISub(Y.redAdd(Y)),ce=Y.redISub(ne),le=P.redSqr();le=le.redIAdd(le),le=le.redIAdd(le),le=le.redIAdd(le);var pe=G.redMul(ce).redISub(le),ae=N.redAdd(N).redMul(T);return this.curve.jpoint(ne,pe,ae)},g.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var _=this.x.redSqr(),I=this.y.redSqr(),N=this.z.redSqr(),T=I.redSqr(),M=_.redAdd(_).redIAdd(_),D=M.redSqr(),P=this.x.redAdd(I).redSqr().redISub(_).redISub(T);P=P.redIAdd(P),P=P.redAdd(P).redIAdd(P),P=P.redISub(D);var G=P.redSqr(),q=T.redIAdd(T);q=q.redIAdd(q),q=q.redIAdd(q),q=q.redIAdd(q);var Y=M.redIAdd(P).redSqr().redISub(D).redISub(G).redISub(q),ne=I.redMul(Y);ne=ne.redIAdd(ne),ne=ne.redIAdd(ne);var ce=this.x.redMul(G).redISub(ne);ce=ce.redIAdd(ce),ce=ce.redIAdd(ce);var le=this.y.redMul(Y.redMul(q.redISub(Y)).redISub(P.redMul(G)));le=le.redIAdd(le),le=le.redIAdd(le),le=le.redIAdd(le);var pe=this.z.redAdd(P).redSqr().redISub(N).redISub(G);return this.curve.jpoint(ce,le,pe)},g.prototype.mul=function(_,I){return _=new t(_,I),this.curve._wnafMul(this,_)},g.prototype.eq=function(_){if(_.type==="affine")return this.eq(_.toJ());if(this===_)return!0;var I=this.z.redSqr(),N=_.z.redSqr();if(this.x.redMul(N).redISub(_.x.redMul(I)).cmpn(0)!==0)return!1;var T=I.redMul(this.z),M=N.redMul(_.z);return this.y.redMul(M).redISub(_.y.redMul(T)).cmpn(0)===0},g.prototype.eqXToP=function(_){var I=this.z.redSqr(),N=_.toRed(this.curve.red).redMul(I);if(this.x.cmp(N)===0)return!0;for(var T=_.clone(),M=this.curve.redN.redMul(I);;){if(T.iadd(this.curve.n),T.cmp(this.curve.p)>=0)return!1;if(N.redIAdd(M),this.x.cmp(N)===0)return!0}},g.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},g.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Kae}function s5t(){if(qUe)return $ae;qUe=!0;var e=kv(),t=rs(),r=cV(),i=Kg();function n(d){r.call(this,"mont",d),this.a=new e(d.a,16).toRed(this.red),this.b=new e(d.b,16).toRed(this.red),this.i4=new e(4).toRed(this.red).redInvm(),this.two=new e(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}t(n,r),$ae=n,n.prototype.validate=function(g){var y=g.normalize().x,_=y.redSqr(),I=_.redMul(y).redAdd(_.redMul(this.a)).redAdd(y),N=I.redSqrt();return N.redSqr().cmp(I)===0};function o(d,g,y){r.BasePoint.call(this,d,"projective"),g===null&&y===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new e(g,16),this.z=new e(y,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}return t(o,r.BasePoint),n.prototype.decodePoint=function(g,y){return this.point(i.toArray(g,y),1)},n.prototype.point=function(g,y){return new o(this,g,y)},n.prototype.pointFromJSON=function(g){return o.fromJSON(this,g)},o.prototype.precompute=function(){},o.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},o.fromJSON=function(g,y){return new o(g,y[0],y[1]||g.one)},o.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},o.prototype.isInfinity=function(){return this.z.cmpn(0)===0},o.prototype.dbl=function(){var g=this.x.redAdd(this.z),y=g.redSqr(),_=this.x.redSub(this.z),I=_.redSqr(),N=y.redSub(I),T=y.redMul(I),M=N.redMul(I.redAdd(this.curve.a24.redMul(N)));return this.curve.point(T,M)},o.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.diffAdd=function(g,y){var _=this.x.redAdd(this.z),I=this.x.redSub(this.z),N=g.x.redAdd(g.z),T=g.x.redSub(g.z),M=T.redMul(_),D=N.redMul(I),P=y.z.redMul(M.redAdd(D).redSqr()),G=y.x.redMul(M.redISub(D).redSqr());return this.curve.point(P,G)},o.prototype.mul=function(g){for(var y=g.clone(),_=this,I=this.curve.point(null,null),N=this,T=[];y.cmpn(0)!==0;y.iushrn(1))T.push(y.andln(1));for(var M=T.length-1;M>=0;M--)T[M]===0?(_=_.diffAdd(I,N),I=I.dbl()):(I=_.diffAdd(I,N),_=_.dbl());return I},o.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.eq=function(g){return this.getX().cmp(g.getX())===0},o.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},o.prototype.getX=function(){return this.normalize(),this.x.fromRed()},$ae}function c5t(){if(VUe)return Yae;VUe=!0;var e=Kg(),t=kv(),r=rs(),i=cV(),n=e.assert;function o(g){this.twisted=(g.a|0)!==1,this.mOneA=this.twisted&&(g.a|0)===-1,this.extended=this.mOneA,i.call(this,"edwards",g),this.a=new t(g.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new t(g.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new t(g.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),n(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(g.c|0)===1}r(o,i),Yae=o,o.prototype._mulA=function(y){return this.mOneA?y.redNeg():this.a.redMul(y)},o.prototype._mulC=function(y){return this.oneC?y:this.c.redMul(y)},o.prototype.jpoint=function(y,_,I,N){return this.point(y,_,I,N)},o.prototype.pointFromX=function(y,_){y=new t(y,16),y.red||(y=y.toRed(this.red));var I=y.redSqr(),N=this.c2.redSub(this.a.redMul(I)),T=this.one.redSub(this.c2.redMul(this.d).redMul(I)),M=N.redMul(T.redInvm()),D=M.redSqrt();if(D.redSqr().redSub(M).cmp(this.zero)!==0)throw new Error("invalid point");var P=D.fromRed().isOdd();return(_&&!P||!_&&P)&&(D=D.redNeg()),this.point(y,D)},o.prototype.pointFromY=function(y,_){y=new t(y,16),y.red||(y=y.toRed(this.red));var I=y.redSqr(),N=I.redSub(this.c2),T=I.redMul(this.d).redMul(this.c2).redSub(this.a),M=N.redMul(T.redInvm());if(M.cmp(this.zero)===0){if(_)throw new Error("invalid point");return this.point(this.zero,y)}var D=M.redSqrt();if(D.redSqr().redSub(M).cmp(this.zero)!==0)throw new Error("invalid point");return D.fromRed().isOdd()!==_&&(D=D.redNeg()),this.point(D,y)},o.prototype.validate=function(y){if(y.isInfinity())return!0;y.normalize();var _=y.x.redSqr(),I=y.y.redSqr(),N=_.redMul(this.a).redAdd(I),T=this.c2.redMul(this.one.redAdd(this.d.redMul(_).redMul(I)));return N.cmp(T)===0};function d(g,y,_,I,N){i.BasePoint.call(this,g,"projective"),y===null&&_===null&&I===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new t(y,16),this.y=new t(_,16),this.z=I?new t(I,16):this.curve.one,this.t=N&&new t(N,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}return r(d,i.BasePoint),o.prototype.pointFromJSON=function(y){return d.fromJSON(this,y)},o.prototype.point=function(y,_,I,N){return new d(this,y,_,I,N)},d.fromJSON=function(y,_){return new d(y,_[0],_[1],_[2])},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},d.prototype._extDbl=function(){var y=this.x.redSqr(),_=this.y.redSqr(),I=this.z.redSqr();I=I.redIAdd(I);var N=this.curve._mulA(y),T=this.x.redAdd(this.y).redSqr().redISub(y).redISub(_),M=N.redAdd(_),D=M.redSub(I),P=N.redSub(_),G=T.redMul(D),q=M.redMul(P),Y=T.redMul(P),ne=D.redMul(M);return this.curve.point(G,q,ne,Y)},d.prototype._projDbl=function(){var y=this.x.redAdd(this.y).redSqr(),_=this.x.redSqr(),I=this.y.redSqr(),N,T,M,D,P,G;if(this.curve.twisted){D=this.curve._mulA(_);var q=D.redAdd(I);this.zOne?(N=y.redSub(_).redSub(I).redMul(q.redSub(this.curve.two)),T=q.redMul(D.redSub(I)),M=q.redSqr().redSub(q).redSub(q)):(P=this.z.redSqr(),G=q.redSub(P).redISub(P),N=y.redSub(_).redISub(I).redMul(G),T=q.redMul(D.redSub(I)),M=q.redMul(G))}else D=_.redAdd(I),P=this.curve._mulC(this.z).redSqr(),G=D.redSub(P).redSub(P),N=this.curve._mulC(y.redISub(D)).redMul(G),T=this.curve._mulC(D).redMul(_.redISub(I)),M=D.redMul(G);return this.curve.point(N,T,M)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},d.prototype._extAdd=function(y){var _=this.y.redSub(this.x).redMul(y.y.redSub(y.x)),I=this.y.redAdd(this.x).redMul(y.y.redAdd(y.x)),N=this.t.redMul(this.curve.dd).redMul(y.t),T=this.z.redMul(y.z.redAdd(y.z)),M=I.redSub(_),D=T.redSub(N),P=T.redAdd(N),G=I.redAdd(_),q=M.redMul(D),Y=P.redMul(G),ne=M.redMul(G),ce=D.redMul(P);return this.curve.point(q,Y,ce,ne)},d.prototype._projAdd=function(y){var _=this.z.redMul(y.z),I=_.redSqr(),N=this.x.redMul(y.x),T=this.y.redMul(y.y),M=this.curve.d.redMul(N).redMul(T),D=I.redSub(M),P=I.redAdd(M),G=this.x.redAdd(this.y).redMul(y.x.redAdd(y.y)).redISub(N).redISub(T),q=_.redMul(D).redMul(G),Y,ne;return this.curve.twisted?(Y=_.redMul(P).redMul(T.redSub(this.curve._mulA(N))),ne=D.redMul(P)):(Y=_.redMul(P).redMul(T.redSub(N)),ne=this.curve._mulC(D).redMul(P)),this.curve.point(q,Y,ne)},d.prototype.add=function(y){return this.isInfinity()?y:y.isInfinity()?this:this.curve.extended?this._extAdd(y):this._projAdd(y)},d.prototype.mul=function(y){return this._hasDoubles(y)?this.curve._fixedNafMul(this,y):this.curve._wnafMul(this,y)},d.prototype.mulAdd=function(y,_,I){return this.curve._wnafMulAdd(1,[this,_],[y,I],2,!1)},d.prototype.jmulAdd=function(y,_,I){return this.curve._wnafMulAdd(1,[this,_],[y,I],2,!0)},d.prototype.normalize=function(){if(this.zOne)return this;var y=this.z.redInvm();return this.x=this.x.redMul(y),this.y=this.y.redMul(y),this.t&&(this.t=this.t.redMul(y)),this.z=this.curve.one,this.zOne=!0,this},d.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},d.prototype.getX=function(){return this.normalize(),this.x.fromRed()},d.prototype.getY=function(){return this.normalize(),this.y.fromRed()},d.prototype.eq=function(y){return this===y||this.getX().cmp(y.getX())===0&&this.getY().cmp(y.getY())===0},d.prototype.eqXToP=function(y){var _=y.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(_)===0)return!0;for(var I=y.clone(),N=this.curve.redN.redMul(this.z);;){if(I.iadd(this.curve.n),I.cmp(this.curve.p)>=0)return!1;if(_.redIAdd(N),this.x.cmp(_)===0)return!0}},d.prototype.toP=d.prototype.normalize,d.prototype.mixedAdd=d.prototype.add,Yae}function hVe(){if(JUe)return Wae;JUe=!0;var e=Wae;return e.base=cV(),e.short=a5t(),e.mont=s5t(),e.edwards=c5t(),Wae}function uV(){if(zUe)return ou;zUe=!0;var e=jy(),t=rs();ou.inherits=t;function r(l,A){return(l.charCodeAt(A)&64512)!==55296||A<0||A+1>=l.length?!1:(l.charCodeAt(A+1)&64512)===56320}function i(l,A){if(Array.isArray(l))return l.slice();if(!l)return[];var m=[];if(typeof l=="string")if(A){if(A==="hex")for(l=l.replace(/[^a-z0-9]+/ig,""),l.length%2!==0&&(l="0"+l),w=0;w<l.length;w+=2)m.push(parseInt(l[w]+l[w+1],16))}else for(var E=0,w=0;w<l.length;w++){var x=l.charCodeAt(w);x<128?m[E++]=x:x<2048?(m[E++]=x>>6|192,m[E++]=x&63|128):r(l,w)?(x=65536+((x&1023)<<10)+(l.charCodeAt(++w)&1023),m[E++]=x>>18|240,m[E++]=x>>12&63|128,m[E++]=x>>6&63|128,m[E++]=x&63|128):(m[E++]=x>>12|224,m[E++]=x>>6&63|128,m[E++]=x&63|128)}else for(w=0;w<l.length;w++)m[w]=l[w]|0;return m}ou.toArray=i;function n(l){for(var A="",m=0;m<l.length;m++)A+=g(l[m].toString(16));return A}ou.toHex=n;function o(l){var A=l>>>24|l>>>8&65280|l<<8&16711680|(l&255)<<24;return A>>>0}ou.htonl=o;function d(l,A){for(var m="",E=0;E<l.length;E++){var w=l[E];A==="little"&&(w=o(w)),m+=y(w.toString(16))}return m}ou.toHex32=d;function g(l){return l.length===1?"0"+l:l}ou.zero2=g;function y(l){return l.length===7?"0"+l:l.length===6?"00"+l:l.length===5?"000"+l:l.length===4?"0000"+l:l.length===3?"00000"+l:l.length===2?"000000"+l:l.length===1?"0000000"+l:l}ou.zero8=y;function _(l,A,m,E){var w=m-A;e(w%4===0);for(var x=new Array(w/4),R=0,u=A;R<x.length;R++,u+=4){var C;E==="big"?C=l[u]<<24|l[u+1]<<16|l[u+2]<<8|l[u+3]:C=l[u+3]<<24|l[u+2]<<16|l[u+1]<<8|l[u],x[R]=C>>>0}return x}ou.join32=_;function I(l,A){for(var m=new Array(l.length*4),E=0,w=0;E<l.length;E++,w+=4){var x=l[E];A==="big"?(m[w]=x>>>24,m[w+1]=x>>>16&255,m[w+2]=x>>>8&255,m[w+3]=x&255):(m[w+3]=x>>>24,m[w+2]=x>>>16&255,m[w+1]=x>>>8&255,m[w]=x&255)}return m}ou.split32=I;function N(l,A){return l>>>A|l<<32-A}ou.rotr32=N;function T(l,A){return l<<A|l>>>32-A}ou.rotl32=T;function M(l,A){return l+A>>>0}ou.sum32=M;function D(l,A,m){return l+A+m>>>0}ou.sum32_3=D;function P(l,A,m,E){return l+A+m+E>>>0}ou.sum32_4=P;function G(l,A,m,E,w){return l+A+m+E+w>>>0}ou.sum32_5=G;function q(l,A,m,E){var w=l[A],x=l[A+1],R=E+x>>>0,u=(R<E?1:0)+m+w;l[A]=u>>>0,l[A+1]=R}ou.sum64=q;function Y(l,A,m,E){var w=A+E>>>0,x=(w<A?1:0)+l+m;return x>>>0}ou.sum64_hi=Y;function ne(l,A,m,E){var w=A+E;return w>>>0}ou.sum64_lo=ne;function ce(l,A,m,E,w,x,R,u){var C=0,U=A;U=U+E>>>0,C+=U<A?1:0,U=U+x>>>0,C+=U<x?1:0,U=U+u>>>0,C+=U<u?1:0;var F=l+m+w+R+C;return F>>>0}ou.sum64_4_hi=ce;function le(l,A,m,E,w,x,R,u){var C=A+E+x+u;return C>>>0}ou.sum64_4_lo=le;function pe(l,A,m,E,w,x,R,u,C,U){var F=0,X=A;X=X+E>>>0,F+=X<A?1:0,X=X+x>>>0,F+=X<x?1:0,X=X+u>>>0,F+=X<u?1:0,X=X+U>>>0,F+=X<U?1:0;var Ae=l+m+w+R+C+F;return Ae>>>0}ou.sum64_5_hi=pe;function ae(l,A,m,E,w,x,R,u,C,U){var F=A+E+x+u+U;return F>>>0}ou.sum64_5_lo=ae;function W(l,A,m){var E=A<<32-m|l>>>m;return E>>>0}ou.rotr64_hi=W;function se(l,A,m){var E=l<<32-m|A>>>m;return E>>>0}ou.rotr64_lo=se;function O(l,A,m){return l>>>m}ou.shr64_hi=O;function s(l,A,m){var E=l<<32-m|A>>>m;return E>>>0}return ou.shr64_lo=s,ou}function AVe(){if(KUe)return Xae;KUe=!0;var e=uV(),t=jy();function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}return Xae.BlockHash=r,r.prototype.update=function(n,o){if(n=e.toArray(n,o),this.pending?this.pending=this.pending.concat(n):this.pending=n,this.pendingTotal+=n.length,this.pending.length>=this._delta8){n=this.pending;var d=n.length%this._delta8;this.pending=n.slice(n.length-d,n.length),this.pending.length===0&&(this.pending=null),n=e.join32(n,0,n.length-d,this.endian);for(var g=0;g<n.length;g+=this._delta32)this._update(n,g,g+this._delta32)}return this},r.prototype.digest=function(n){return this.update(this._pad()),t(this.pending===null),this._digest(n)},r.prototype._pad=function(){var n=this.pendingTotal,o=this._delta8,d=o-(n+this.padLength)%o,g=new Array(d+this.padLength);g[0]=128;for(var y=1;y<d;y++)g[y]=0;if(n<<=3,this.endian==="big"){for(var _=8;_<this.padLength;_++)g[y++]=0;g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=n>>>24&255,g[y++]=n>>>16&255,g[y++]=n>>>8&255,g[y++]=n&255}else for(g[y++]=n&255,g[y++]=n>>>8&255,g[y++]=n>>>16&255,g[y++]=n>>>24&255,g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=0,_=8;_<this.padLength;_++)g[y++]=0;return g},Xae}function u5t(){return YUe||(YUe=!0),$Ue}function d5t(){if(WUe)return Zae;WUe=!0;var e=uV(),t=AVe(),r=e.rotl32,i=e.sum32,n=e.sum32_3,o=e.sum32_4,d=t.BlockHash;function g(){if(!(this instanceof g))return new g;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}e.inherits(g,d),Zae.ripemd160=g,g.blockSize=512,g.outSize=160,g.hmacStrength=192,g.padLength=64,g.prototype._update=function(G,q){for(var Y=this.h[0],ne=this.h[1],ce=this.h[2],le=this.h[3],pe=this.h[4],ae=Y,W=ne,se=ce,O=le,s=pe,l=0;l<80;l++){var A=i(r(o(Y,y(l,ne,ce,le),G[N[l]+q],_(l)),M[l]),pe);Y=pe,pe=le,le=r(ce,10),ce=ne,ne=A,A=i(r(o(ae,y(79-l,W,se,O),G[T[l]+q],I(l)),D[l]),s),ae=s,s=O,O=r(se,10),se=W,W=A}A=n(this.h[1],ce,O),this.h[1]=n(this.h[2],le,s),this.h[2]=n(this.h[3],pe,ae),this.h[3]=n(this.h[4],Y,W),this.h[4]=n(this.h[0],ne,se),this.h[0]=A},g.prototype._digest=function(G){return G==="hex"?e.toHex32(this.h,"little"):e.split32(this.h,"little")};function y(P,G,q,Y){return P<=15?G^q^Y:P<=31?G&q|~G&Y:P<=47?(G|~q)^Y:P<=63?G&Y|q&~Y:G^(q|~Y)}function _(P){return P<=15?0:P<=31?1518500249:P<=47?1859775393:P<=63?2400959708:2840853838}function I(P){return P<=15?1352829926:P<=31?1548603684:P<=47?1836072691:P<=63?2053994217:0}var N=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],T=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],M=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],D=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];return Zae}function f5t(){if(XUe)return jae;XUe=!0;var e=uV(),t=jy();function r(i,n,o){if(!(this instanceof r))return new r(i,n,o);this.Hash=i,this.blockSize=i.blockSize/8,this.outSize=i.outSize/8,this.inner=null,this.outer=null,this._init(e.toArray(n,o))}return jae=r,r.prototype._init=function(n){n.length>this.blockSize&&(n=new this.Hash().update(n).digest()),t(n.length<=this.blockSize);for(var o=n.length;o<this.blockSize;o++)n.push(0);for(o=0;o<n.length;o++)n[o]^=54;for(this.inner=new this.Hash().update(n),o=0;o<n.length;o++)n[o]^=106;this.outer=new this.Hash().update(n)},r.prototype.update=function(n,o){return this.inner.update(n,o),this},r.prototype.digest=function(n){return this.outer.update(this.inner.digest()),this.outer.digest(n)},jae}function que(){if(ZUe)return ese;ZUe=!0;var e=ese;return e.utils=uV(),e.common=AVe(),e.sha=u5t(),e.ripemd=d5t(),e.hmac=f5t(),e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160,ese}function l5t(){return jUe||(jUe=!0,tse={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),tse}function Vue(){if(eFe)return rse;eFe=!0;var e=rse,t=que(),r=hVe(),i=Kg(),n=i.assert;function o(y){y.type==="short"?this.curve=new r.short(y):y.type==="edwards"?this.curve=new r.edwards(y):this.curve=new r.mont(y),this.g=this.curve.g,this.n=this.curve.n,this.hash=y.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=o;function d(y,_){Object.defineProperty(e,y,{configurable:!0,enumerable:!0,get:function(){var I=new o(_);return Object.defineProperty(e,y,{configurable:!0,enumerable:!0,value:I}),I}})}d("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),d("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),d("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),d("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),d("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),d("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),d("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var g;try{g=l5t()}catch{g=void 0}return d("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",g]}),rse}function h5t(){if(tFe)return nse;tFe=!0;var e=que(),t=lVe(),r=jy();function i(n){if(!(this instanceof i))return new i(n);this.hash=n.hash,this.predResist=!!n.predResist,this.outLen=this.hash.outSize,this.minEntropy=n.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var o=t.toArray(n.entropy,n.entropyEnc||"hex"),d=t.toArray(n.nonce,n.nonceEnc||"hex"),g=t.toArray(n.pers,n.persEnc||"hex");r(o.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(o,d,g)}return nse=i,i.prototype._init=function(o,d,g){var y=o.concat(d).concat(g);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var _=0;_<this.V.length;_++)this.K[_]=0,this.V[_]=1;this._update(y),this._reseed=1,this.reseedInterval=281474976710656},i.prototype._hmac=function(){return new e.hmac(this.hash,this.K)},i.prototype._update=function(o){var d=this._hmac().update(this.V).update([0]);o&&(d=d.update(o)),this.K=d.digest(),this.V=this._hmac().update(this.V).digest(),o&&(this.K=this._hmac().update(this.V).update([1]).update(o).digest(),this.V=this._hmac().update(this.V).digest())},i.prototype.reseed=function(o,d,g,y){typeof d!="string"&&(y=g,g=d,d=null),o=t.toArray(o,d),g=t.toArray(g,y),r(o.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(o.concat(g||[])),this._reseed=1},i.prototype.generate=function(o,d,g,y){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof d!="string"&&(y=g,g=d,d=null),g&&(g=t.toArray(g,y||"hex"),this._update(g));for(var _=[];_.length<o;)this.V=this._hmac().update(this.V).digest(),_=_.concat(this.V);var I=_.slice(0,o);return this._update(g),this._reseed++,t.encode(I,d)},nse}function A5t(){if(rFe)return ise;rFe=!0;var e=kv(),t=Kg(),r=t.assert;function i(n,o){this.ec=n,this.priv=null,this.pub=null,o.priv&&this._importPrivate(o.priv,o.privEnc),o.pub&&this._importPublic(o.pub,o.pubEnc)}return ise=i,i.fromPublic=function(o,d,g){return d instanceof i?d:new i(o,{pub:d,pubEnc:g})},i.fromPrivate=function(o,d,g){return d instanceof i?d:new i(o,{priv:d,privEnc:g})},i.prototype.validate=function(){var o=this.getPublic();return o.isInfinity()?{result:!1,reason:"Invalid public key"}:o.validate()?o.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},i.prototype.getPublic=function(o,d){return typeof o=="string"&&(d=o,o=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),d?this.pub.encode(d,o):this.pub},i.prototype.getPrivate=function(o){return o==="hex"?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(o,d){this.priv=new e(o,d||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(o,d){if(o.x||o.y){this.ec.curve.type==="mont"?r(o.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&r(o.x&&o.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(o.x,o.y);return}this.pub=this.ec.curve.decodePoint(o,d)},i.prototype.derive=function(o){return o.validate()||r(o.validate(),"public point not validated"),o.mul(this.priv).getX()},i.prototype.sign=function(o,d,g){return this.ec.sign(o,this,d,g)},i.prototype.verify=function(o,d){return this.ec.verify(o,d,this)},i.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"},ise}function p5t(){if(nFe)return ose;nFe=!0;var e=kv(),t=Kg(),r=t.assert;function i(y,_){if(y instanceof i)return y;this._importDER(y,_)||(r(y.r&&y.s,"Signature without r or s"),this.r=new e(y.r,16),this.s=new e(y.s,16),y.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=y.recoveryParam)}ose=i;function n(){this.place=0}function o(y,_){var I=y[_.place++];if(!(I&128))return I;var N=I&15;if(N===0||N>4)return!1;for(var T=0,M=0,D=_.place;M<N;M++,D++)T<<=8,T|=y[D],T>>>=0;return T<=127?!1:(_.place=D,T)}function d(y){for(var _=0,I=y.length-1;!y[_]&&!(y[_+1]&128)&&_<I;)_++;return _===0?y:y.slice(_)}i.prototype._importDER=function(_,I){_=t.toArray(_,I);var N=new n;if(_[N.place++]!==48)return!1;var T=o(_,N);if(T===!1||T+N.place!==_.length||_[N.place++]!==2)return!1;var M=o(_,N);if(M===!1)return!1;var D=_.slice(N.place,M+N.place);if(N.place+=M,_[N.place++]!==2)return!1;var P=o(_,N);if(P===!1||_.length!==P+N.place)return!1;var G=_.slice(N.place,P+N.place);if(D[0]===0)if(D[1]&128)D=D.slice(1);else return!1;if(G[0]===0)if(G[1]&128)G=G.slice(1);else return!1;return this.r=new e(D),this.s=new e(G),this.recoveryParam=null,!0};function g(y,_){if(_<128){y.push(_);return}var I=1+(Math.log(_)/Math.LN2>>>3);for(y.push(I|128);--I;)y.push(_>>>(I<<3)&255);y.push(_)}return i.prototype.toDER=function(_){var I=this.r.toArray(),N=this.s.toArray();for(I[0]&128&&(I=[0].concat(I)),N[0]&128&&(N=[0].concat(N)),I=d(I),N=d(N);!N[0]&&!(N[1]&128);)N=N.slice(1);var T=[2];g(T,I.length),T=T.concat(I),T.push(2),g(T,N.length);var M=T.concat(N),D=[48];return g(D,M.length),D=D.concat(M),t.encode(D,_)},ose}function g5t(){if(iFe)return ase;iFe=!0;var e=kv(),t=h5t(),r=Kg(),i=Vue(),n=Que(),o=r.assert,d=A5t(),g=p5t();function y(_){if(!(this instanceof y))return new y(_);typeof _=="string"&&(o(Object.prototype.hasOwnProperty.call(i,_),"Unknown curve "+_),_=i[_]),_ instanceof i.PresetCurve&&(_={curve:_}),this.curve=_.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=_.curve.g,this.g.precompute(_.curve.n.bitLength()+1),this.hash=_.hash||_.curve.hash}return ase=y,y.prototype.keyPair=function(I){return new d(this,I)},y.prototype.keyFromPrivate=function(I,N){return d.fromPrivate(this,I,N)},y.prototype.keyFromPublic=function(I,N){return d.fromPublic(this,I,N)},y.prototype.genKeyPair=function(I){I||(I={});for(var N=new t({hash:this.hash,pers:I.pers,persEnc:I.persEnc||"utf8",entropy:I.entropy||n(this.hash.hmacStrength),entropyEnc:I.entropy&&I.entropyEnc||"utf8",nonce:this.n.toArray()}),T=this.n.byteLength(),M=this.n.sub(new e(2));;){var D=new e(N.generate(T));if(!(D.cmp(M)>0))return D.iaddn(1),this.keyFromPrivate(D)}},y.prototype._truncateToN=function(I,N){var T=I.byteLength()*8-this.n.bitLength();return T>0&&(I=I.ushrn(T)),!N&&I.cmp(this.n)>=0?I.sub(this.n):I},y.prototype.sign=function(I,N,T,M){typeof T=="object"&&(M=T,T=null),M||(M={}),N=this.keyFromPrivate(N,T),I=this._truncateToN(new e(I,16));for(var D=this.n.byteLength(),P=N.getPrivate().toArray("be",D),G=I.toArray("be",D),q=new t({hash:this.hash,entropy:P,nonce:G,pers:M.pers,persEnc:M.persEnc||"utf8"}),Y=this.n.sub(new e(1)),ne=0;;ne++){var ce=M.k?M.k(ne):new e(q.generate(this.n.byteLength()));if(ce=this._truncateToN(ce,!0),!(ce.cmpn(1)<=0||ce.cmp(Y)>=0)){var le=this.g.mul(ce);if(!le.isInfinity()){var pe=le.getX(),ae=pe.umod(this.n);if(ae.cmpn(0)!==0){var W=ce.invm(this.n).mul(ae.mul(N.getPrivate()).iadd(I));if(W=W.umod(this.n),W.cmpn(0)!==0){var se=(le.getY().isOdd()?1:0)|(pe.cmp(ae)!==0?2:0);return M.canonical&&W.cmp(this.nh)>0&&(W=this.n.sub(W),se^=1),new g({r:ae,s:W,recoveryParam:se})}}}}}},y.prototype.verify=function(I,N,T,M){I=this._truncateToN(new e(I,16)),T=this.keyFromPublic(T,M),N=new g(N,"hex");var D=N.r,P=N.s;if(D.cmpn(1)<0||D.cmp(this.n)>=0||P.cmpn(1)<0||P.cmp(this.n)>=0)return!1;var G=P.invm(this.n),q=G.mul(I).umod(this.n),Y=G.mul(D).umod(this.n),ne;return this.curve._maxwellTrick?(ne=this.g.jmulAdd(q,T.getPublic(),Y),ne.isInfinity()?!1:ne.eqXToP(D)):(ne=this.g.mulAdd(q,T.getPublic(),Y),ne.isInfinity()?!1:ne.getX().umod(this.n).cmp(D)===0)},y.prototype.recoverPubKey=function(_,I,N,T){o((3&N)===N,"The recovery param is more than two bits"),I=new g(I,T);var M=this.n,D=new e(_),P=I.r,G=I.s,q=N&1,Y=N>>1;if(P.cmp(this.curve.p.umod(this.curve.n))>=0&&Y)throw new Error("Unable to find sencond key candinate");Y?P=this.curve.pointFromX(P.add(this.curve.n),q):P=this.curve.pointFromX(P,q);var ne=I.r.invm(M),ce=M.sub(D).mul(ne).umod(M),le=G.mul(ne).umod(M);return this.g.mulAdd(ce,P,le)},y.prototype.getKeyRecoveryParam=function(_,I,N,T){if(I=new g(I,T),I.recoveryParam!==null)return I.recoveryParam;for(var M=0;M<4;M++){var D;try{D=this.recoverPubKey(_,I,M)}catch{continue}if(D.eq(N))return M}throw new Error("Unable to find valid recovery factor")},ase}function _5t(){if(oFe)return sse;oFe=!0;var e=Kg(),t=e.assert,r=e.parseBytes,i=e.cachedProperty;function n(o,d){this.eddsa=o,this._secret=r(d.secret),o.isPoint(d.pub)?this._pub=d.pub:this._pubBytes=r(d.pub)}return n.fromPublic=function(d,g){return g instanceof n?g:new n(d,{pub:g})},n.fromSecret=function(d,g){return g instanceof n?g:new n(d,{secret:g})},n.prototype.secret=function(){return this._secret},i(n,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),i(n,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),i(n,"privBytes",function(){var d=this.eddsa,g=this.hash(),y=d.encodingLength-1,_=g.slice(0,d.encodingLength);return _[0]&=248,_[y]&=127,_[y]|=64,_}),i(n,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),i(n,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),i(n,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),n.prototype.sign=function(d){return t(this._secret,"KeyPair can only verify"),this.eddsa.sign(d,this)},n.prototype.verify=function(d,g){return this.eddsa.verify(d,g,this)},n.prototype.getSecret=function(d){return t(this._secret,"KeyPair is public only"),e.encode(this.secret(),d)},n.prototype.getPublic=function(d){return e.encode(this.pubBytes(),d)},sse=n,sse}function m5t(){if(aFe)return cse;aFe=!0;var e=kv(),t=Kg(),r=t.assert,i=t.cachedProperty,n=t.parseBytes;function o(d,g){this.eddsa=d,typeof g!="object"&&(g=n(g)),Array.isArray(g)&&(g={R:g.slice(0,d.encodingLength),S:g.slice(d.encodingLength)}),r(g.R&&g.S,"Signature without R or S"),d.isPoint(g.R)&&(this._R=g.R),g.S instanceof e&&(this._S=g.S),this._Rencoded=Array.isArray(g.R)?g.R:g.Rencoded,this._Sencoded=Array.isArray(g.S)?g.S:g.Sencoded}return i(o,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),i(o,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),i(o,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),i(o,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),o.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},o.prototype.toHex=function(){return t.encode(this.toBytes(),"hex").toUpperCase()},cse=o,cse}function y5t(){if(sFe)return use;sFe=!0;var e=que(),t=Vue(),r=Kg(),i=r.assert,n=r.parseBytes,o=_5t(),d=m5t();function g(y){if(i(y==="ed25519","only tested with ed25519 so far"),!(this instanceof g))return new g(y);y=t[y].curve,this.curve=y,this.g=y.g,this.g.precompute(y.n.bitLength()+1),this.pointClass=y.point().constructor,this.encodingLength=Math.ceil(y.n.bitLength()/8),this.hash=e.sha512}return use=g,g.prototype.sign=function(_,I){_=n(_);var N=this.keyFromSecret(I),T=this.hashInt(N.messagePrefix(),_),M=this.g.mul(T),D=this.encodePoint(M),P=this.hashInt(D,N.pubBytes(),_).mul(N.priv()),G=T.add(P).umod(this.curve.n);return this.makeSignature({R:M,S:G,Rencoded:D})},g.prototype.verify=function(_,I,N){_=n(_),I=this.makeSignature(I);var T=this.keyFromPublic(N),M=this.hashInt(I.Rencoded(),T.pubBytes(),_),D=this.g.mul(I.S()),P=I.R().add(T.pub().mul(M));return P.eq(D)},g.prototype.hashInt=function(){for(var _=this.hash(),I=0;I<arguments.length;I++)_.update(arguments[I]);return r.intFromLE(_.digest()).umod(this.curve.n)},g.prototype.keyFromPublic=function(_){return o.fromPublic(this,_)},g.prototype.keyFromSecret=function(_){return o.fromSecret(this,_)},g.prototype.makeSignature=function(_){return _ instanceof d?_:new d(this,_)},g.prototype.encodePoint=function(_){var I=_.getY().toArray("le",this.encodingLength);return I[this.encodingLength-1]|=_.getX().isOdd()?128:0,I},g.prototype.decodePoint=function(_){_=r.parseBytes(_);var I=_.length-1,N=_.slice(0,I).concat(_[I]&-129),T=(_[I]&128)!==0,M=r.intFromLE(N);return this.curve.pointFromY(M,T)},g.prototype.encodeInt=function(_){return _.toArray("le",this.encodingLength)},g.prototype.decodeInt=function(_){return r.intFromLE(_)},g.prototype.isPoint=function(_){return _ instanceof this.pointClass},use}function Jue(){if(cFe)return dse;cFe=!0;var e=dse;return e.version=o5t.version,e.utils=Kg(),e.rand=Que(),e.curve=hVe(),e.curves=Vue(),e.ec=g5t(),e.eddsa=y5t(),dse}function gVe(){return uFe||(uFe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Bt).negative=0,(this||Bt).words=null,(this||Bt).length=0,(this||Bt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Bt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Bt).negative=1,s=-s),s<67108864?((this||Bt).words=[s&67108863],(this||Bt).length=1):s<4503599627370496?((this||Bt).words=[s&67108863,s/67108864&67108863],(this||Bt).length=2):(r(s<9007199254740992),(this||Bt).words=[s&67108863,s/67108864&67108863,1],(this||Bt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Bt).words=[0],(this||Bt).length=1,this||Bt;(this||Bt).length=Math.ceil(s.length/3),(this||Bt).words=new Array((this||Bt).length);for(var m=0;m<(this||Bt).length;m++)(this||Bt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Bt).words[E]|=w<<x&67108863,(this||Bt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Bt).words[E]|=w<<x&67108863,(this||Bt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Bt).length=Math.ceil((s.length-l)/6),(this||Bt).words=new Array((this||Bt).length);for(var m=0;m<(this||Bt).length;m++)(this||Bt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Bt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Bt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Bt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Bt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Bt).words=[0],(this||Bt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Bt).words[0]+u<67108864?(this||Bt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Bt).words[0]+u<67108864?(this||Bt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Bt).length);for(var l=0;l<(this||Bt).length;l++)s.words[l]=(this||Bt).words[l];s.length=(this||Bt).length,s.negative=(this||Bt).negative,s.red=(this||Bt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Bt).length<s;)(this||Bt).words[(this||Bt).length++]=0;return this||Bt},n.prototype.strip=function(){for(;(this||Bt).length>1&&(this||Bt).words[(this||Bt).length-1]===0;)(this||Bt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Bt).length===1&&(this||Bt).words[0]===0&&((this||Bt).negative=0),this||Bt},n.prototype.inspect=function(){return((this||Bt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Bt).length;w++){var x=(this||Bt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Bt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Bt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Bt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Bt).words[0];return(this||Bt).length===2?s+=(this||Bt).words[1]*67108864:(this||Bt).length===3&&(this||Bt).words[2]===1?s+=4503599627370496+(this||Bt).words[1]*67108864:(this||Bt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Bt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Bt).words[(this||Bt).length-1],l=this._countBits(s);return((this||Bt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Bt).length;l++){var A=this._zeroBits((this||Bt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Bt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Bt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Bt).negative^=1),this||Bt},n.prototype.iuor=function(s){for(;(this||Bt).length<s.length;)(this||Bt).words[(this||Bt).length++]=0;for(var l=0;l<s.length;l++)(this||Bt).words[l]=(this||Bt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Bt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Bt).length>s.length?this.clone().ior(s):s.clone().ior(this||Bt)},n.prototype.uor=function(s){return(this||Bt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Bt)},n.prototype.iuand=function(s){var l;(this||Bt).length>s.length?l=s:l=this||Bt;for(var A=0;A<l.length;A++)(this||Bt).words[A]=(this||Bt).words[A]&s.words[A];return(this||Bt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Bt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Bt).length>s.length?this.clone().iand(s):s.clone().iand(this||Bt)},n.prototype.uand=function(s){return(this||Bt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Bt)},n.prototype.iuxor=function(s){var l,A;(this||Bt).length>s.length?(l=this||Bt,A=s):(l=s,A=this||Bt);for(var m=0;m<A.length;m++)(this||Bt).words[m]=l.words[m]^A.words[m];if((this||Bt)!==l)for(;m<l.length;m++)(this||Bt).words[m]=l.words[m];return(this||Bt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Bt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Bt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Bt)},n.prototype.uxor=function(s){return(this||Bt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Bt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Bt).words[m]=~(this||Bt).words[m]&67108863;return A>0&&((this||Bt).words[m]=~(this||Bt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Bt).words[A]=(this||Bt).words[A]|1<<m:(this||Bt).words[A]=(this||Bt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Bt).negative!==0&&s.negative===0)return(this||Bt).negative=0,l=this.isub(s),(this||Bt).negative^=1,this._normSign();if((this||Bt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Bt).length>s.length?(A=this||Bt,m=s):(A=s,m=this||Bt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Bt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Bt).words[w]=l&67108863,E=l>>>26;if((this||Bt).length=A.length,E!==0)(this||Bt).words[(this||Bt).length]=E,(this||Bt).length++;else if(A!==(this||Bt))for(;w<A.length;w++)(this||Bt).words[w]=A.words[w];return this||Bt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Bt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Bt).negative!==0?((this||Bt).negative=0,l=s.sub(this||Bt),(this||Bt).negative=1,l):(this||Bt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Bt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Bt).negative!==0)return(this||Bt).negative=0,this.iadd(s),(this||Bt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Bt).negative=0,(this||Bt).length=1,(this||Bt).words[0]=0,this||Bt;var m,E;A>0?(m=this||Bt,E=s):(m=s,E=this||Bt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Bt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Bt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Bt))for(;x<m.length;x++)(this||Bt).words[x]=m.words[x];return(this||Bt).length=Math.max((this||Bt).length,x),m!==(this||Bt)&&((this||Bt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Bt).length+s.length;return(this||Bt).length===10&&s.length===10?A=D(this||Bt,s,l):m<63?A=M(this||Bt,s,l):m<1024?A=P(this||Bt,s,l):A=G(this||Bt,s,l),A};function q(O,s){(this||Bt).x=O,(this||Bt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Bt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Bt).length+s.length),G(this||Bt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Bt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Bt).length;A++){var m=((this||Bt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Bt).words[A]=E&67108863}return l!==0&&((this||Bt).words[A]=l,(this||Bt).length++),this||Bt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Bt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Bt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Bt).length;E++){var x=(this||Bt).words[E]&m,R=((this||Bt).words[E]|0)-x<<l;(this||Bt).words[E]=R|w,w=x>>>26-l}w&&((this||Bt).words[E]=w,(this||Bt).length++)}if(A!==0){for(E=(this||Bt).length-1;E>=0;E--)(this||Bt).words[E+A]=(this||Bt).words[E];for(E=0;E<A;E++)(this||Bt).words[E]=0;(this||Bt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Bt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Bt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Bt).words[u];R.length=w}if(w!==0)if((this||Bt).length>w)for((this||Bt).length-=w,u=0;u<(this||Bt).length;u++)(this||Bt).words[u]=(this||Bt).words[u+w];else(this||Bt).words[0]=0,(this||Bt).length=1;var C=0;for(u=(this||Bt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Bt).words[u]|0;(this||Bt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Bt).length===0&&((this||Bt).words[0]=0,(this||Bt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Bt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Bt).length<=A)return!1;var E=(this||Bt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Bt).negative===0,"imaskn works only with positive numbers"),(this||Bt).length<=A)return this||Bt;if(l!==0&&A++,(this||Bt).length=Math.min(A,(this||Bt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Bt).words[(this||Bt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Bt).negative!==0?(this||Bt).length===1&&((this||Bt).words[0]|0)<s?((this||Bt).words[0]=s-((this||Bt).words[0]|0),(this||Bt).negative=0,this||Bt):((this||Bt).negative=0,this.isubn(s),(this||Bt).negative=1,this||Bt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Bt).words[0]+=s;for(var l=0;l<(this||Bt).length&&(this||Bt).words[l]>=67108864;l++)(this||Bt).words[l]-=67108864,l===(this||Bt).length-1?(this||Bt).words[l+1]=1:(this||Bt).words[l+1]++;return(this||Bt).length=Math.max((this||Bt).length,l+1),this||Bt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Bt).negative!==0)return(this||Bt).negative=0,this.iaddn(s),(this||Bt).negative=1,this||Bt;if((this||Bt).words[0]-=s,(this||Bt).length===1&&(this||Bt).words[0]<0)(this||Bt).words[0]=-(this||Bt).words[0],(this||Bt).negative=1;else for(var l=0;l<(this||Bt).length&&(this||Bt).words[l]<0;l++)(this||Bt).words[l]+=67108864,(this||Bt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Bt).negative=0,this||Bt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Bt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Bt).words[E+A]=w&67108863}for(;E<(this||Bt).length-A;E++)w=((this||Bt).words[E+A]|0)+x,x=w>>26,(this||Bt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Bt).length;E++)w=-((this||Bt).words[E]|0)+x,x=w>>26,(this||Bt).words[E]=w&67108863;return(this||Bt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Bt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Bt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Bt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Bt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Bt).length||this.cmp(s)<0?{div:new n(0),mod:this||Bt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Bt).length-1;m>=0;m--)A=(l*A+((this||Bt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Bt).length-1;A>=0;A--){var m=((this||Bt).words[A]|0)+l*67108864;(this||Bt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Bt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Bt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Bt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Bt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Bt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Bt).length<=A)return this._expand(A+1),(this||Bt).words[A]|=m,this||Bt;for(var E=m,w=A;E!==0&&w<(this||Bt).length;w++){var x=(this||Bt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Bt).words[w]=x}return E!==0&&((this||Bt).words[w]=E,(this||Bt).length++),this||Bt},n.prototype.isZero=function(){return(this||Bt).length===1&&(this||Bt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Bt).negative!==0&&!l)return-1;if((this||Bt).negative===0&&l)return 1;this.strip();var A;if((this||Bt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Bt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Bt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Bt).negative!==0&&s.negative===0)return-1;if((this||Bt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Bt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Bt).length>s.length)return 1;if((this||Bt).length<s.length)return-1;for(var l=0,A=(this||Bt).length-1;A>=0;A--){var m=(this||Bt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Bt).red,"Already a number in reduction context"),r((this||Bt).negative===0,"red works only with positives"),s.convertTo(this||Bt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Bt).red,"fromRed works only with numbers in reduction context"),(this||Bt).red.convertFrom(this||Bt)},n.prototype._forceRed=function(s){return(this||Bt).red=s,this||Bt},n.prototype.forceRed=function(s){return r(!(this||Bt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Bt).red,"redAdd works only with red numbers"),(this||Bt).red.add(this||Bt,s)},n.prototype.redIAdd=function(s){return r((this||Bt).red,"redIAdd works only with red numbers"),(this||Bt).red.iadd(this||Bt,s)},n.prototype.redSub=function(s){return r((this||Bt).red,"redSub works only with red numbers"),(this||Bt).red.sub(this||Bt,s)},n.prototype.redISub=function(s){return r((this||Bt).red,"redISub works only with red numbers"),(this||Bt).red.isub(this||Bt,s)},n.prototype.redShl=function(s){return r((this||Bt).red,"redShl works only with red numbers"),(this||Bt).red.shl(this||Bt,s)},n.prototype.redMul=function(s){return r((this||Bt).red,"redMul works only with red numbers"),(this||Bt).red._verify2(this||Bt,s),(this||Bt).red.mul(this||Bt,s)},n.prototype.redIMul=function(s){return r((this||Bt).red,"redMul works only with red numbers"),(this||Bt).red._verify2(this||Bt,s),(this||Bt).red.imul(this||Bt,s)},n.prototype.redSqr=function(){return r((this||Bt).red,"redSqr works only with red numbers"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.sqr(this||Bt)},n.prototype.redISqr=function(){return r((this||Bt).red,"redISqr works only with red numbers"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.isqr(this||Bt)},n.prototype.redSqrt=function(){return r((this||Bt).red,"redSqrt works only with red numbers"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.sqrt(this||Bt)},n.prototype.redInvm=function(){return r((this||Bt).red,"redInvm works only with red numbers"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.invm(this||Bt)},n.prototype.redNeg=function(){return r((this||Bt).red,"redNeg works only with red numbers"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.neg(this||Bt)},n.prototype.redPow=function(s){return r((this||Bt).red&&!s.red,"redPow(normalNum)"),(this||Bt).red._verify1(this||Bt),(this||Bt).red.pow(this||Bt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Bt).name=O,(this||Bt).p=new n(s,16),(this||Bt).n=(this||Bt).p.bitLength(),(this||Bt).k=new n(1).iushln((this||Bt).n).isub((this||Bt).p),(this||Bt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Bt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Bt).tmp),l=this.imulK(l),l=l.iadd((this||Bt).tmp),A=l.bitLength();while(A>(this||Bt).n);var m=A<(this||Bt).n?-1:l.ucmp((this||Bt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Bt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Bt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Bt).k)};function ce(){ne.call(this||Bt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Bt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Bt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Bt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Bt).m=s.p,(this||Bt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Bt).m=O,(this||Bt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Bt).prime?(this||Bt).prime.ireduce(s)._forceRed(this||Bt):s.umod((this||Bt).m)._forceRed(this||Bt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Bt).m.sub(s)._forceRed(this||Bt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Bt).m)>=0&&A.isub((this||Bt).m),A._forceRed(this||Bt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Bt).m)>=0&&A.isub((this||Bt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Bt).m),A._forceRed(this||Bt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Bt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Bt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Bt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Bt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Bt),x=w.redNeg(),R=(this||Bt).m.subn(1).iushrn(1),u=(this||Bt).m.bitLength();for(u=new n(2*u*u).toRed(this||Bt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Bt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Bt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Bt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Bt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Bt,O),(this||Bt).shift=(this||Bt).m.bitLength(),(this||Bt).shift%26!==0&&((this||Bt).shift+=26-(this||Bt).shift%26),(this||Bt).r=new n(1).iushln((this||Bt).shift),(this||Bt).r2=this.imod((this||Bt).r.sqr()),(this||Bt).rinv=(this||Bt).r._invmp((this||Bt).m),(this||Bt).minv=(this||Bt).rinv.mul((this||Bt).r).isubn(1).div((this||Bt).m),(this||Bt).minv=(this||Bt).minv.umod((this||Bt).r),(this||Bt).minv=(this||Bt).r.sub((this||Bt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Bt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Bt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Bt).shift).mul((this||Bt).minv).imaskn((this||Bt).shift).mul((this||Bt).m),E=A.isub(m).iushrn((this||Bt).shift),w=E;return E.cmp((this||Bt).m)>=0?w=E.isub((this||Bt).m):E.cmpn(0)<0&&(w=E.iadd((this||Bt).m)),w._forceRed(this||Bt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Bt);var A=s.mul(l),m=A.maskn((this||Bt).shift).mul((this||Bt).minv).imaskn((this||Bt).shift).mul((this||Bt).m),E=A.isub(m).iushrn((this||Bt).shift),w=E;return E.cmp((this||Bt).m)>=0?w=E.isub((this||Bt).m):E.cmpn(0)<0&&(w=E.iadd((this||Bt).m)),w._forceRed(this||Bt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Bt).m).mul((this||Bt).r2));return l._forceRed(this||Bt)}})(fse,pVe)),fse.exports}function zue(){if(dFe)return lse;dFe=!0;var e=Mo,t=Vo,r=t.Buffer,i={},n;for(n in t)t.hasOwnProperty(n)&&(n==="SlowBuffer"||n==="Buffer"||(i[n]=t[n]));var o=i.Buffer={};for(n in r)r.hasOwnProperty(n)&&(n==="allocUnsafe"||n==="allocUnsafeSlow"||(o[n]=r[n]));if(i.Buffer.prototype=r.prototype,(!o.from||o.from===Uint8Array.from)&&(o.from=function(d,g,y){if(typeof d=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof d);if(d&&typeof d.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof d);return r(d,g,y)}),o.alloc||(o.alloc=function(d,g,y){if(typeof d!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof d);if(d<0||d>=2*(1<<30))throw new RangeError('The value "'+d+'" is invalid for option "size"');var _=r(d);return!g||g.length===0?_.fill(0):typeof y=="string"?_.fill(g,y):_.fill(g),_}),!i.kStringMaxLength)try{i.kStringMaxLength=e.binding("buffer").kStringMaxLength}catch{}return i.constants||(i.constants={MAX_LENGTH:i.kMaxLength},i.kStringMaxLength&&(i.constants.MAX_STRING_LENGTH=i.kStringMaxLength)),lse=i,lse}function Kue(){if(fFe)return hse;fFe=!0;let e=rs();function t(i){this._reporterState={obj:null,path:[],options:i||{},errors:[]}}hse.Reporter=t,t.prototype.isError=function(n){return n instanceof r},t.prototype.save=function(){let n=this._reporterState;return{obj:n.obj,pathLen:n.path.length}},t.prototype.restore=function(n){let o=this._reporterState;o.obj=n.obj,o.path=o.path.slice(0,n.pathLen)},t.prototype.enterKey=function(n){return this._reporterState.path.push(n)},t.prototype.exitKey=function(n){let o=this._reporterState;o.path=o.path.slice(0,n-1)},t.prototype.leaveKey=function(n,o,d){let g=this._reporterState;this.exitKey(n),g.obj!==null&&(g.obj[o]=d)},t.prototype.path=function(){return this._reporterState.path.join("/")},t.prototype.enterObject=function(){let n=this._reporterState,o=n.obj;return n.obj={},o},t.prototype.leaveObject=function(n){let o=this._reporterState,d=o.obj;return o.obj=n,d},t.prototype.error=function(n){let o,d=this._reporterState,g=n instanceof r;if(g?o=n:o=new r(d.path.map(function(y){return"["+JSON.stringify(y)+"]"}).join(""),n.message||n,n.stack),!d.options.partial)throw o;return g||d.errors.push(o),o},t.prototype.wrapResult=function(n){let o=this._reporterState;return o.options.partial?{result:this.isError(n)?null:n,errors:o.errors}:n};function r(i,n){this.path=i,this.rethrow(n)}return e(r,Error),r.prototype.rethrow=function(n){if(this.message=n+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,r),!this.stack)try{throw new Error(this.message)}catch(o){this.stack=o.stack}return this},hse}function ND(){if(lFe)return sq;lFe=!0;let e=rs(),t=Kue().Reporter,r=zue().Buffer;function i(o,d){if(t.call(this,d),!r.isBuffer(o)){this.error("Input not Buffer");return}this.base=o,this.offset=0,this.length=o.length}e(i,t),sq.DecoderBuffer=i,i.isDecoderBuffer=function(d){return d instanceof i?!0:typeof d=="object"&&r.isBuffer(d.base)&&d.constructor.name==="DecoderBuffer"&&typeof d.offset=="number"&&typeof d.length=="number"&&typeof d.save=="function"&&typeof d.restore=="function"&&typeof d.isEmpty=="function"&&typeof d.readUInt8=="function"&&typeof d.skip=="function"&&typeof d.raw=="function"},i.prototype.save=function(){return{offset:this.offset,reporter:t.prototype.save.call(this)}},i.prototype.restore=function(d){let g=new i(this.base);return g.offset=d.offset,g.length=this.offset,this.offset=d.offset,t.prototype.restore.call(this,d.reporter),g},i.prototype.isEmpty=function(){return this.offset===this.length},i.prototype.readUInt8=function(d){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(d||"DecoderBuffer overrun")},i.prototype.skip=function(d,g){if(!(this.offset+d<=this.length))return this.error(g||"DecoderBuffer overrun");let y=new i(this.base);return y._reporterState=this._reporterState,y.offset=this.offset,y.length=this.offset+d,this.offset+=d,y},i.prototype.raw=function(d){return this.base.slice(d?d.offset:this.offset,this.length)};function n(o,d){if(Array.isArray(o))this.length=0,this.value=o.map(function(g){return n.isEncoderBuffer(g)||(g=new n(g,d)),this.length+=g.length,g},this);else if(typeof o=="number"){if(!(0<=o&&o<=255))return d.error("non-byte EncoderBuffer value");this.value=o,this.length=1}else if(typeof o=="string")this.value=o,this.length=r.byteLength(o);else if(r.isBuffer(o))this.value=o,this.length=o.length;else return d.error("Unsupported type: "+typeof o)}return sq.EncoderBuffer=n,n.isEncoderBuffer=function(d){return d instanceof n?!0:typeof d=="object"&&d.constructor.name==="EncoderBuffer"&&typeof d.length=="number"&&typeof d.join=="function"},n.prototype.join=function(d,g){return d||(d=r.alloc(this.length)),g||(g=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(y){y.join(d,g),g+=y.length}):(typeof this.value=="number"?d[g]=this.value:typeof this.value=="string"?d.write(this.value,g):r.isBuffer(this.value)&&this.value.copy(d,g),g+=this.length)),d},sq}function $ue(){if(hFe)return Ase;hFe=!0;let e=Kue().Reporter,t=ND().EncoderBuffer,r=ND().DecoderBuffer,i=jy(),n=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],o=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(n),d=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function g(_,I,N){let T={};this._baseState=T,T.name=N,T.enc=_,T.parent=I||null,T.children=null,T.tag=null,T.args=null,T.reverseArgs=null,T.choice=null,T.optional=!1,T.any=!1,T.obj=!1,T.use=null,T.useDecoder=null,T.key=null,T.default=null,T.explicit=null,T.implicit=null,T.contains=null,T.parent||(T.children=[],this._wrap())}Ase=g;let y=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];return g.prototype.clone=function(){let I=this._baseState,N={};y.forEach(function(M){N[M]=I[M]});let T=new this.constructor(N.parent);return T._baseState=N,T},g.prototype._wrap=function(){let I=this._baseState;o.forEach(function(N){this[N]=function(){let M=new this.constructor(this);return I.children.push(M),M[N].apply(M,arguments)}},this)},g.prototype._init=function(I){let N=this._baseState;i(N.parent===null),I.call(this),N.children=N.children.filter(function(T){return T._baseState.parent===this},this),i.equal(N.children.length,1,"Root node can have only one child")},g.prototype._useArgs=function(I){let N=this._baseState,T=I.filter(function(M){return M instanceof this.constructor},this);I=I.filter(function(M){return!(M instanceof this.constructor)},this),T.length!==0&&(i(N.children===null),N.children=T,T.forEach(function(M){M._baseState.parent=this},this)),I.length!==0&&(i(N.args===null),N.args=I,N.reverseArgs=I.map(function(M){if(typeof M!="object"||M.constructor!==Object)return M;let D={};return Object.keys(M).forEach(function(P){P==(P|0)&&(P|=0);let G=M[P];D[G]=P}),D}))},d.forEach(function(_){g.prototype[_]=function(){let N=this._baseState;throw new Error(_+" not implemented for encoding: "+N.enc)}}),n.forEach(function(_){g.prototype[_]=function(){let N=this._baseState,T=Array.prototype.slice.call(arguments);return i(N.tag===null),N.tag=_,this._useArgs(T),this}}),g.prototype.use=function(I){i(I);let N=this._baseState;return i(N.use===null),N.use=I,this},g.prototype.optional=function(){let I=this._baseState;return I.optional=!0,this},g.prototype.def=function(I){let N=this._baseState;return i(N.default===null),N.default=I,N.optional=!0,this},g.prototype.explicit=function(I){let N=this._baseState;return i(N.explicit===null&&N.implicit===null),N.explicit=I,this},g.prototype.implicit=function(I){let N=this._baseState;return i(N.explicit===null&&N.implicit===null),N.implicit=I,this},g.prototype.obj=function(){let I=this._baseState,N=Array.prototype.slice.call(arguments);return I.obj=!0,N.length!==0&&this._useArgs(N),this},g.prototype.key=function(I){let N=this._baseState;return i(N.key===null),N.key=I,this},g.prototype.any=function(){let I=this._baseState;return I.any=!0,this},g.prototype.choice=function(I){let N=this._baseState;return i(N.choice===null),N.choice=I,this._useArgs(Object.keys(I).map(function(T){return I[T]})),this},g.prototype.contains=function(I){let N=this._baseState;return i(N.use===null),N.contains=I,this},g.prototype._decode=function(I,N){let T=this._baseState;if(T.parent===null)return I.wrapResult(T.children[0]._decode(I,N));let M=T.default,D=!0,P=null;if(T.key!==null&&(P=I.enterKey(T.key)),T.optional){let q=null;if(T.explicit!==null?q=T.explicit:T.implicit!==null?q=T.implicit:T.tag!==null&&(q=T.tag),q===null&&!T.any){let Y=I.save();try{T.choice===null?this._decodeGeneric(T.tag,I,N):this._decodeChoice(I,N),D=!0}catch{D=!1}I.restore(Y)}else if(D=this._peekTag(I,q,T.any),I.isError(D))return D}let G;if(T.obj&&D&&(G=I.enterObject()),D){if(T.explicit!==null){let Y=this._decodeTag(I,T.explicit);if(I.isError(Y))return Y;I=Y}let q=I.offset;if(T.use===null&&T.choice===null){let Y;T.any&&(Y=I.save());let ne=this._decodeTag(I,T.implicit!==null?T.implicit:T.tag,T.any);if(I.isError(ne))return ne;T.any?M=I.raw(Y):I=ne}if(N&&N.track&&T.tag!==null&&N.track(I.path(),q,I.length,"tagged"),N&&N.track&&T.tag!==null&&N.track(I.path(),I.offset,I.length,"content"),T.any||(T.choice===null?M=this._decodeGeneric(T.tag,I,N):M=this._decodeChoice(I,N)),I.isError(M))return M;if(!T.any&&T.choice===null&&T.children!==null&&T.children.forEach(function(ne){ne._decode(I,N)}),T.contains&&(T.tag==="octstr"||T.tag==="bitstr")){let Y=new r(M);M=this._getUse(T.contains,I._reporterState.obj)._decode(Y,N)}}return T.obj&&D&&(M=I.leaveObject(G)),T.key!==null&&(M!==null||D===!0)?I.leaveKey(P,T.key,M):P!==null&&I.exitKey(P),M},g.prototype._decodeGeneric=function(I,N,T){let M=this._baseState;return I==="seq"||I==="set"?null:I==="seqof"||I==="setof"?this._decodeList(N,I,M.args[0],T):/str$/.test(I)?this._decodeStr(N,I,T):I==="objid"&&M.args?this._decodeObjid(N,M.args[0],M.args[1],T):I==="objid"?this._decodeObjid(N,null,null,T):I==="gentime"||I==="utctime"?this._decodeTime(N,I,T):I==="null_"?this._decodeNull(N,T):I==="bool"?this._decodeBool(N,T):I==="objDesc"?this._decodeStr(N,I,T):I==="int"||I==="enum"?this._decodeInt(N,M.args&&M.args[0],T):M.use!==null?this._getUse(M.use,N._reporterState.obj)._decode(N,T):N.error("unknown tag: "+I)},g.prototype._getUse=function(I,N){let T=this._baseState;return T.useDecoder=this._use(I,N),i(T.useDecoder._baseState.parent===null),T.useDecoder=T.useDecoder._baseState.children[0],T.implicit!==T.useDecoder._baseState.implicit&&(T.useDecoder=T.useDecoder.clone(),T.useDecoder._baseState.implicit=T.implicit),T.useDecoder},g.prototype._decodeChoice=function(I,N){let T=this._baseState,M=null,D=!1;return Object.keys(T.choice).some(function(P){let G=I.save(),q=T.choice[P];try{let Y=q._decode(I,N);if(I.isError(Y))return!1;M={type:P,value:Y},D=!0}catch{return I.restore(G),!1}return!0},this),D?M:I.error("Choice not matched")},g.prototype._createEncoderBuffer=function(I){return new t(I,this.reporter)},g.prototype._encode=function(I,N,T){let M=this._baseState;if(M.default!==null&&M.default===I)return;let D=this._encodeValue(I,N,T);if(D!==void 0&&!this._skipDefault(D,N,T))return D},g.prototype._encodeValue=function(I,N,T){let M=this._baseState;if(M.parent===null)return M.children[0]._encode(I,N||new e);let D=null;if(this.reporter=N,M.optional&&I===void 0)if(M.default!==null)I=M.default;else return;let P=null,G=!1;if(M.any)D=this._createEncoderBuffer(I);else if(M.choice)D=this._encodeChoice(I,N);else if(M.contains)P=this._getUse(M.contains,T)._encode(I,N),G=!0;else if(M.children)P=M.children.map(function(q){if(q._baseState.tag==="null_")return q._encode(null,N,I);if(q._baseState.key===null)return N.error("Child should have a key");let Y=N.enterKey(q._baseState.key);if(typeof I!="object")return N.error("Child expected, but input is not object");let ne=q._encode(I[q._baseState.key],N,I);return N.leaveKey(Y),ne},this).filter(function(q){return q}),P=this._createEncoderBuffer(P);else if(M.tag==="seqof"||M.tag==="setof"){if(!(M.args&&M.args.length===1))return N.error("Too many args for : "+M.tag);if(!Array.isArray(I))return N.error("seqof/setof, but data is not Array");let q=this.clone();q._baseState.implicit=null,P=this._createEncoderBuffer(I.map(function(Y){let ne=this._baseState;return this._getUse(ne.args[0],I)._encode(Y,N)},q))}else M.use!==null?D=this._getUse(M.use,T)._encode(I,N):(P=this._encodePrimitive(M.tag,I),G=!0);if(!M.any&&M.choice===null){let q=M.implicit!==null?M.implicit:M.tag,Y=M.implicit===null?"universal":"context";q===null?M.use===null&&N.error("Tag could be omitted only for .use()"):M.use===null&&(D=this._encodeComposite(q,G,Y,P))}return M.explicit!==null&&(D=this._encodeComposite(M.explicit,!1,"context",D)),D},g.prototype._encodeChoice=function(I,N){let T=this._baseState,M=T.choice[I.type];return M||i(!1,I.type+" not found in "+JSON.stringify(Object.keys(T.choice))),M._encode(I.value,N)},g.prototype._encodePrimitive=function(I,N){let T=this._baseState;if(/str$/.test(I))return this._encodeStr(N,I);if(I==="objid"&&T.args)return this._encodeObjid(N,T.reverseArgs[0],T.args[1]);if(I==="objid")return this._encodeObjid(N,null,null);if(I==="gentime"||I==="utctime")return this._encodeTime(N,I);if(I==="null_")return this._encodeNull();if(I==="int"||I==="enum")return this._encodeInt(N,T.args&&T.reverseArgs[0]);if(I==="bool")return this._encodeBool(N);if(I==="objDesc")return this._encodeStr(N,I);throw new Error("Unsupported tag: "+I)},g.prototype._isNumstr=function(I){return/^[0-9 ]*$/.test(I)},g.prototype._isPrintstr=function(I){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(I)},Ase}function Yue(){if(AFe)return i6;AFe=!0;function e(t){let r={};return Object.keys(t).forEach(function(i){(i|0)==i&&(i=i|0);let n=t[i];r[n]=i}),r}return i6.tagClass={0:"universal",1:"application",2:"context",3:"private"},i6.tagClassByName=e(i6.tagClass),i6.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},i6.tagByName=e(i6.tag),i6}function _Ve(){if(pFe)return pse;pFe=!0;let e=rs(),t=zue().Buffer,r=$ue(),i=Yue();function n(y){this.enc="der",this.name=y.name,this.entity=y,this.tree=new o,this.tree._init(y.body)}pse=n,n.prototype.encode=function(_,I){return this.tree._encode(_,I).join()};function o(y){r.call(this,"der",y)}e(o,r),o.prototype._encodeComposite=function(_,I,N,T){let M=g(_,I,N,this.reporter);if(T.length<128){let G=t.alloc(2);return G[0]=M,G[1]=T.length,this._createEncoderBuffer([G,T])}let D=1;for(let G=T.length;G>=256;G>>=8)D++;let P=t.alloc(2+D);P[0]=M,P[1]=128|D;for(let G=1+D,q=T.length;q>0;G--,q>>=8)P[G]=q&255;return this._createEncoderBuffer([P,T])},o.prototype._encodeStr=function(_,I){if(I==="bitstr")return this._createEncoderBuffer([_.unused|0,_.data]);if(I==="bmpstr"){let N=t.alloc(_.length*2);for(let T=0;T<_.length;T++)N.writeUInt16BE(_.charCodeAt(T),T*2);return this._createEncoderBuffer(N)}else return I==="numstr"?this._isNumstr(_)?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: numstr supports only digits and space"):I==="printstr"?this._isPrintstr(_)?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(I)?this._createEncoderBuffer(_):I==="objDesc"?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: "+I+" unsupported")},o.prototype._encodeObjid=function(_,I,N){if(typeof _=="string"){if(!I)return this.reporter.error("string objid given, but no values map found");if(!I.hasOwnProperty(_))return this.reporter.error("objid not found in values map");_=I[_].split(/[\s.]+/g);for(let P=0;P<_.length;P++)_[P]|=0}else if(Array.isArray(_)){_=_.slice();for(let P=0;P<_.length;P++)_[P]|=0}if(!Array.isArray(_))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(_));if(!N){if(_[1]>=40)return this.reporter.error("Second objid identifier OOB");_.splice(0,2,_[0]*40+_[1])}let T=0;for(let P=0;P<_.length;P++){let G=_[P];for(T++;G>=128;G>>=7)T++}let M=t.alloc(T),D=M.length-1;for(let P=_.length-1;P>=0;P--){let G=_[P];for(M[D--]=G&127;(G>>=7)>0;)M[D--]=128|G&127}return this._createEncoderBuffer(M)};function d(y){return y<10?"0"+y:y}o.prototype._encodeTime=function(_,I){let N,T=new Date(_);return I==="gentime"?N=[d(T.getUTCFullYear()),d(T.getUTCMonth()+1),d(T.getUTCDate()),d(T.getUTCHours()),d(T.getUTCMinutes()),d(T.getUTCSeconds()),"Z"].join(""):I==="utctime"?N=[d(T.getUTCFullYear()%100),d(T.getUTCMonth()+1),d(T.getUTCDate()),d(T.getUTCHours()),d(T.getUTCMinutes()),d(T.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+I+" time is not supported yet"),this._encodeStr(N,"octstr")},o.prototype._encodeNull=function(){return this._createEncoderBuffer("")},o.prototype._encodeInt=function(_,I){if(typeof _=="string"){if(!I)return this.reporter.error("String int or enum given, but no values map");if(!I.hasOwnProperty(_))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(_));_=I[_]}if(typeof _!="number"&&!t.isBuffer(_)){let M=_.toArray();!_.sign&&M[0]&128&&M.unshift(0),_=t.from(M)}if(t.isBuffer(_)){let M=_.length;_.length===0&&M++;let D=t.alloc(M);return _.copy(D),_.length===0&&(D[0]=0),this._createEncoderBuffer(D)}if(_<128)return this._createEncoderBuffer(_);if(_<256)return this._createEncoderBuffer([0,_]);let N=1;for(let M=_;M>=256;M>>=8)N++;let T=new Array(N);for(let M=T.length-1;M>=0;M--)T[M]=_&255,_>>=8;return T[0]&128&&T.unshift(0),this._createEncoderBuffer(t.from(T))},o.prototype._encodeBool=function(_){return this._createEncoderBuffer(_?255:0)},o.prototype._use=function(_,I){return typeof _=="function"&&(_=_(I)),_._getEncoder("der").tree},o.prototype._skipDefault=function(_,I,N){let T=this._baseState,M;if(T.default===null)return!1;let D=_.join();if(T.defaultBuffer===void 0&&(T.defaultBuffer=this._encodeValue(T.default,I,N).join()),D.length!==T.defaultBuffer.length)return!1;for(M=0;M<D.length;M++)if(D[M]!==T.defaultBuffer[M])return!1;return!0};function g(y,_,I,N){let T;if(y==="seqof"?y="seq":y==="setof"&&(y="set"),i.tagByName.hasOwnProperty(y))T=i.tagByName[y];else if(typeof y=="number"&&(y|0)===y)T=y;else return N.error("Unknown tag: "+y);return T>=31?N.error("Multi-octet tag encoding unsupported"):(_||(T|=32),T|=i.tagClassByName[I||"universal"]<<6,T)}return pse}function b5t(){if(gFe)return gse;gFe=!0;let e=rs(),t=_Ve();function r(i){t.call(this,i),this.enc="pem"}return e(r,t),gse=r,r.prototype.encode=function(n,o){let g=t.prototype.encode.call(this,n).toString("base64"),y=["-----BEGIN "+o.label+"-----"];for(let _=0;_<g.length;_+=64)y.push(g.slice(_,_+64));return y.push("-----END "+o.label+"-----"),y.join(` +`)},gse}function mVe(){if(_Fe)return _se;_Fe=!0;let e=_se;return e.der=_Ve(),e.pem=b5t(),_se}function yVe(){if(mFe)return mse;mFe=!0;let e=rs(),t=gVe(),r=ND().DecoderBuffer,i=$ue(),n=Yue();function o(_){this.enc="der",this.name=_.name,this.entity=_,this.tree=new d,this.tree._init(_.body)}mse=o,o.prototype.decode=function(I,N){return r.isDecoderBuffer(I)||(I=new r(I,N)),this.tree._decode(I,N)};function d(_){i.call(this,"der",_)}e(d,i),d.prototype._peekTag=function(I,N,T){if(I.isEmpty())return!1;let M=I.save(),D=g(I,'Failed to peek tag: "'+N+'"');return I.isError(D)?D:(I.restore(M),D.tag===N||D.tagStr===N||D.tagStr+"of"===N||T)},d.prototype._decodeTag=function(I,N,T){let M=g(I,'Failed to decode tag of "'+N+'"');if(I.isError(M))return M;let D=y(I,M.primitive,'Failed to get length of "'+N+'"');if(I.isError(D))return D;if(!T&&M.tag!==N&&M.tagStr!==N&&M.tagStr+"of"!==N)return I.error('Failed to match tag: "'+N+'"');if(M.primitive||D!==null)return I.skip(D,'Failed to match body of: "'+N+'"');let P=I.save(),G=this._skipUntilEnd(I,'Failed to skip indefinite length body: "'+this.tag+'"');return I.isError(G)?G:(D=I.offset-P.offset,I.restore(P),I.skip(D,'Failed to match body of: "'+N+'"'))},d.prototype._skipUntilEnd=function(I,N){for(;;){let T=g(I,N);if(I.isError(T))return T;let M=y(I,T.primitive,N);if(I.isError(M))return M;let D;if(T.primitive||M!==null?D=I.skip(M):D=this._skipUntilEnd(I,N),I.isError(D))return D;if(T.tagStr==="end")break}},d.prototype._decodeList=function(I,N,T,M){let D=[];for(;!I.isEmpty();){let P=this._peekTag(I,"end");if(I.isError(P))return P;let G=T.decode(I,"der",M);if(I.isError(G)&&P)break;D.push(G)}return D},d.prototype._decodeStr=function(I,N){if(N==="bitstr"){let T=I.readUInt8();return I.isError(T)?T:{unused:T,data:I.raw()}}else if(N==="bmpstr"){let T=I.raw();if(T.length%2===1)return I.error("Decoding of string type: bmpstr length mismatch");let M="";for(let D=0;D<T.length/2;D++)M+=String.fromCharCode(T.readUInt16BE(D*2));return M}else if(N==="numstr"){let T=I.raw().toString("ascii");return this._isNumstr(T)?T:I.error("Decoding of string type: numstr unsupported characters")}else{if(N==="octstr")return I.raw();if(N==="objDesc")return I.raw();if(N==="printstr"){let T=I.raw().toString("ascii");return this._isPrintstr(T)?T:I.error("Decoding of string type: printstr unsupported characters")}else return/str$/.test(N)?I.raw().toString():I.error("Decoding of string type: "+N+" unsupported")}},d.prototype._decodeObjid=function(I,N,T){let M,D=[],P=0,G=0;for(;!I.isEmpty();)G=I.readUInt8(),P<<=7,P|=G&127,(G&128)===0&&(D.push(P),P=0);G&128&&D.push(P);let q=D[0]/40|0,Y=D[0]%40;if(T?M=D:M=[q,Y].concat(D.slice(1)),N){let ne=N[M.join(" ")];ne===void 0&&(ne=N[M.join(".")]),ne!==void 0&&(M=ne)}return M},d.prototype._decodeTime=function(I,N){let T=I.raw().toString(),M,D,P,G,q,Y;if(N==="gentime")M=T.slice(0,4)|0,D=T.slice(4,6)|0,P=T.slice(6,8)|0,G=T.slice(8,10)|0,q=T.slice(10,12)|0,Y=T.slice(12,14)|0;else if(N==="utctime")M=T.slice(0,2)|0,D=T.slice(2,4)|0,P=T.slice(4,6)|0,G=T.slice(6,8)|0,q=T.slice(8,10)|0,Y=T.slice(10,12)|0,M<70?M=2e3+M:M=1900+M;else return I.error("Decoding "+N+" time is not supported yet");return Date.UTC(M,D-1,P,G,q,Y,0)},d.prototype._decodeNull=function(){return null},d.prototype._decodeBool=function(I){let N=I.readUInt8();return I.isError(N)?N:N!==0},d.prototype._decodeInt=function(I,N){let T=I.raw(),M=new t(T);return N&&(M=N[M.toString(10)]||M),M},d.prototype._use=function(I,N){return typeof I=="function"&&(I=I(N)),I._getDecoder("der").tree};function g(_,I){let N=_.readUInt8(I);if(_.isError(N))return N;let T=n.tagClass[N>>6],M=(N&32)===0;if((N&31)===31){let P=N;for(N=0;(P&128)===128;){if(P=_.readUInt8(I),_.isError(P))return P;N<<=7,N|=P&127}}else N&=31;let D=n.tag[N];return{cls:T,primitive:M,tag:N,tagStr:D}}function y(_,I,N){let T=_.readUInt8(N);if(_.isError(T))return T;if(!I&&T===128)return null;if((T&128)===0)return T;let M=T&127;if(M>4)return _.error("length octect is too long");T=0;for(let D=0;D<M;D++){T<<=8;let P=_.readUInt8(N);if(_.isError(P))return P;T|=P}return T}return mse}function E5t(){if(yFe)return yse;yFe=!0;let e=rs(),t=zue().Buffer,r=yVe();function i(n){r.call(this,n),this.enc="pem"}return e(i,r),yse=i,i.prototype.decode=function(o,d){let g=o.toString().split(/[\r\n]+/g),y=d.label.toUpperCase(),_=/^-----(BEGIN|END) ([^-]+)-----$/,I=-1,N=-1;for(let D=0;D<g.length;D++){let P=g[D].match(_);if(P!==null&&P[2]===y)if(I===-1){if(P[1]!=="BEGIN")break;I=D}else{if(P[1]!=="END")break;N=D;break}}if(I===-1||N===-1)throw new Error("PEM section not found for: "+y);let T=g.slice(I+1,N).join("");T.replace(/[^a-z0-9+/=]+/gi,"");let M=t.from(T,"base64");return r.prototype.decode.call(this,M,d)},yse}function bVe(){if(bFe)return bse;bFe=!0;let e=bse;return e.der=yVe(),e.pem=E5t(),bse}function v5t(){if(EFe)return Ese;EFe=!0;let e=mVe(),t=bVe(),r=rs(),i=Ese;i.define=function(d,g){return new n(d,g)};function n(o,d){this.name=o,this.body=d,this.decoders={},this.encoders={}}return n.prototype._createNamed=function(d){let g=this.name;function y(_){this._initNamed(_,g)}return r(y,d),y.prototype._initNamed=function(I,N){d.call(this,I,N)},new y(this)},n.prototype._getDecoder=function(d){return d=d||"der",this.decoders.hasOwnProperty(d)||(this.decoders[d]=this._createNamed(t[d])),this.decoders[d]},n.prototype.decode=function(d,g,y){return this._getDecoder(g).decode(d,y)},n.prototype._getEncoder=function(d){return d=d||"der",this.encoders.hasOwnProperty(d)||(this.encoders[d]=this._createNamed(e[d])),this.encoders[d]},n.prototype.encode=function(d,g,y){return this._getEncoder(g).encode(d,y)},Ese}function R5t(){if(vFe)return vse;vFe=!0;let e=vse;return e.Reporter=Kue().Reporter,e.DecoderBuffer=ND().DecoderBuffer,e.EncoderBuffer=ND().EncoderBuffer,e.Node=$ue(),vse}function S5t(){if(RFe)return Rse;RFe=!0;let e=Rse;return e._reverse=function(r){let i={};return Object.keys(r).forEach(function(n){(n|0)==n&&(n=n|0);let o=r[n];i[o]=n}),i},e.der=Yue(),Rse}function EVe(){if(SFe)return Sse;SFe=!0;let e=Sse;return e.bignum=gVe(),e.define=v5t().define,e.base=R5t(),e.constants=S5t(),e.decoders=bVe(),e.encoders=mVe(),Sse}function I5t(){if(IFe)return Ise;IFe=!0;var e=EVe(),t=e.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),r=e.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),i=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),n=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(i),this.key("subjectPublicKey").bitstr())}),o=e.define("RelativeDistinguishedName",function(){this.setof(r)}),d=e.define("RDNSequence",function(){this.seqof(o)}),g=e.define("Name",function(){this.choice({rdnSequence:this.use(d)})}),y=e.define("Validity",function(){this.seq().obj(this.key("notBefore").use(t),this.key("notAfter").use(t))}),_=e.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),I=e.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(i),this.key("issuer").use(g),this.key("validity").use(y),this.key("subject").use(g),this.key("subjectPublicKeyInfo").use(n),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(_).optional())}),N=e.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(I),this.key("signatureAlgorithm").use(i),this.key("signatureValue").bitstr())});return Ise=N,Ise}function C5t(){if(CFe)return Fg;CFe=!0;var e=EVe();Fg.certificate=I5t();var t=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});Fg.RSAPrivateKey=t;var r=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});Fg.RSAPublicKey=r;var i=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(n),this.key("subjectPublicKey").bitstr())});Fg.PublicKey=i;var n=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),o=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(n),this.key("subjectPrivateKey").octstr())});Fg.PrivateKey=o;var d=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});Fg.EncryptedPrivateKey=d;var g=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});Fg.DSAPrivateKey=g,Fg.DSAparam=e.define("DSAparam",function(){this.int()});var y=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(_),this.key("publicKey").optional().explicit(1).bitstr())});Fg.ECPrivateKey=y;var _=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});return Fg.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())}),Fg}function O5t(){if(wFe)return Cse;wFe=!0;var e=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,t=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,i=Zq(),n=wue(),o=cs().Buffer;return Cse=function(d,g){var y=d.toString(),_=y.match(e),I;if(_){var T="aes"+_[1],M=o.from(_[2],"hex"),D=o.from(_[3].replace(/[\r\n]/g,""),"base64"),P=i(g,M.slice(0,8),parseInt(_[1],10)).key,G=[],q=n.createDecipheriv(T,P,M);G.push(q.update(D)),G.push(q.final()),I=o.concat(G)}else{var N=y.match(r);I=o.from(N[2].replace(/[\r\n]/g,""),"base64")}var Y=y.match(t)[1];return{tag:Y,data:I}},Cse}function dV(){if(OFe)return wse;OFe=!0;var e=C5t(),t=w5t,r=O5t(),i=wue(),n=nGe(),o=cs().Buffer;wse=d;function d(y){var _;typeof y=="object"&&!o.isBuffer(y)&&(_=y.passphrase,y=y.key),typeof y=="string"&&(y=o.from(y));var I=r(y,_),N=I.tag,T=I.data,M,D;switch(N){case"CERTIFICATE":D=e.certificate.decode(T,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(D||(D=e.PublicKey.decode(T,"der")),M=D.algorithm.algorithm.join("."),M){case"1.2.840.113549.1.1.1":return e.RSAPublicKey.decode(D.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return D.subjectPrivateKey=D.subjectPublicKey,{type:"ec",data:D};case"1.2.840.10040.4.1":return D.algorithm.params.pub_key=e.DSAparam.decode(D.subjectPublicKey.data,"der"),{type:"dsa",data:D.algorithm.params};default:throw new Error("unknown key id "+M)}case"ENCRYPTED PRIVATE KEY":T=e.EncryptedPrivateKey.decode(T,"der"),T=g(T,_);case"PRIVATE KEY":switch(D=e.PrivateKey.decode(T,"der"),M=D.algorithm.algorithm.join("."),M){case"1.2.840.113549.1.1.1":return e.RSAPrivateKey.decode(D.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:D.algorithm.curve,privateKey:e.ECPrivateKey.decode(D.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return D.algorithm.params.priv_key=e.DSAparam.decode(D.subjectPrivateKey,"der"),{type:"dsa",params:D.algorithm.params};default:throw new Error("unknown key id "+M)}case"RSA PUBLIC KEY":return e.RSAPublicKey.decode(T,"der");case"RSA PRIVATE KEY":return e.RSAPrivateKey.decode(T,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:e.DSAPrivateKey.decode(T,"der")};case"EC PRIVATE KEY":return T=e.ECPrivateKey.decode(T,"der"),{curve:T.parameters.value,privateKey:T.privateKey};default:throw new Error("unknown key type "+N)}}d.signature=e.signature;function g(y,_){var I=y.algorithm.decrypt.kde.kdeparams.salt,N=parseInt(y.algorithm.decrypt.kde.kdeparams.iters.toString(),10),T=t[y.algorithm.decrypt.cipher.algo.join(".")],M=y.algorithm.decrypt.cipher.iv,D=y.subjectPrivateKey,P=parseInt(T.split("-")[1],10)/8,G=n.pbkdf2Sync(_,I,N,P,"sha1"),q=i.createDecipheriv(T,G,M),Y=[];return Y.push(q.update(D)),Y.push(q.final()),o.concat(Y)}return wse}function N5t(){if(NFe)return nD;NFe=!0;var e=cs().Buffer,t=XHe(),r=Gue(),i=Jue().ec,n=Hue(),o=dV(),d=vVe;function g(G,q,Y,ne,ce){var le=o(q);if(le.curve){if(ne!=="ecdsa"&&ne!=="ecdsa/rsa")throw new Error("wrong private key type");return y(G,le)}else if(le.type==="dsa"){if(ne!=="dsa")throw new Error("wrong private key type");return _(G,le,Y)}else if(ne!=="rsa"&&ne!=="ecdsa/rsa")throw new Error("wrong private key type");G=e.concat([ce,G]);for(var pe=le.modulus.byteLength(),ae=[0,1];G.length+ae.length+1<pe;)ae.push(255);ae.push(0);for(var W=-1;++W<G.length;)ae.push(G[W]);var se=r(ae,le);return se}function y(G,q){var Y=d[q.curve.join(".")];if(!Y)throw new Error("unknown curve "+q.curve.join("."));var ne=new i(Y),ce=ne.keyFromPrivate(q.privateKey),le=ce.sign(G);return e.from(le.toDER())}function _(G,q,Y){for(var ne=q.params.priv_key,ce=q.params.p,le=q.params.q,pe=q.params.g,ae=new n(0),W,se=T(G,le).mod(le),O=!1,s=N(ne,le,G,Y);O===!1;)W=D(le,s,Y),ae=P(pe,W,ce,le),O=W.invm(le).imul(se.add(ne.mul(ae))).mod(le),O.cmpn(0)===0&&(O=!1,ae=new n(0));return I(ae,O)}function I(G,q){G=G.toArray(),q=q.toArray(),G[0]&128&&(G=[0].concat(G)),q[0]&128&&(q=[0].concat(q));var Y=G.length+q.length+4,ne=[48,Y,2,G.length];return ne=ne.concat(G,[2,q.length],q),e.from(ne)}function N(G,q,Y,ne){if(G=e.from(G.toArray()),G.length<q.byteLength()){var ce=e.alloc(q.byteLength()-G.length);G=e.concat([ce,G])}var le=Y.length,pe=M(Y,q),ae=e.alloc(le);ae.fill(1);var W=e.alloc(le);return W=t(ne,W).update(ae).update(e.from([0])).update(G).update(pe).digest(),ae=t(ne,W).update(ae).digest(),W=t(ne,W).update(ae).update(e.from([1])).update(G).update(pe).digest(),ae=t(ne,W).update(ae).digest(),{k:W,v:ae}}function T(G,q){var Y=new n(G),ne=(G.length<<3)-q.bitLength();return ne>0&&Y.ishrn(ne),Y}function M(G,q){G=T(G,q),G=G.mod(q);var Y=e.from(G.toArray());if(Y.length<q.byteLength()){var ne=e.alloc(q.byteLength()-Y.length);Y=e.concat([ne,Y])}return Y}function D(G,q,Y){var ne,ce;do{for(ne=e.alloc(0);ne.length*8<G.bitLength();)q.v=t(Y,q.k).update(q.v).digest(),ne=e.concat([ne,q.v]);ce=T(ne,G),q.k=t(Y,q.k).update(q.v).update(e.from([0])).digest(),q.v=t(Y,q.k).update(q.v).digest()}while(ce.cmp(G)!==-1);return ce}function P(G,q,Y,ne){return G.toRed(n.mont(Y)).redPow(q).fromRed().mod(ne)}return nD=g,nD.getKey=N,nD.makeKey=D,nD}function x5t(){if(xFe)return Ose;xFe=!0;var e=cs().Buffer,t=Hue(),r=Jue().ec,i=dV(),n=vVe;function o(_,I,N,T,M){var D=i(N);if(D.type==="ec"){if(T!=="ecdsa"&&T!=="ecdsa/rsa")throw new Error("wrong public key type");return d(_,I,D)}else if(D.type==="dsa"){if(T!=="dsa")throw new Error("wrong public key type");return g(_,I,D)}else if(T!=="rsa"&&T!=="ecdsa/rsa")throw new Error("wrong public key type");I=e.concat([M,I]);for(var P=D.modulus.byteLength(),G=[1],q=0;I.length+G.length+2<P;)G.push(255),q++;G.push(0);for(var Y=-1;++Y<I.length;)G.push(I[Y]);G=e.from(G);var ne=t.mont(D.modulus);_=new t(_).toRed(ne),_=_.redPow(new t(D.publicExponent)),_=e.from(_.fromRed().toArray());var ce=q<8?1:0;for(P=Math.min(_.length,G.length),_.length!==G.length&&(ce=1),Y=-1;++Y<P;)ce|=_[Y]^G[Y];return ce===0}function d(_,I,N){var T=n[N.data.algorithm.curve.join(".")];if(!T)throw new Error("unknown curve "+N.data.algorithm.curve.join("."));var M=new r(T),D=N.data.subjectPrivateKey.data;return M.verify(I,_,D)}function g(_,I,N){var T=N.data.p,M=N.data.q,D=N.data.g,P=N.data.pub_key,G=i.signature.decode(_,"der"),q=G.s,Y=G.r;y(q,M),y(Y,M);var ne=t.mont(T),ce=q.invm(M),le=D.toRed(ne).redPow(new t(I).mul(ce).mod(M)).fromRed().mul(P.toRed(ne).redPow(Y.mul(ce).mod(M)).fromRed()).mod(T).mod(M);return le.cmp(Y)===0}function y(_,I){if(_.cmpn(0)<=0)throw new Error("invalid sig");if(_.cmp(I)>=I)throw new Error("invalid sig")}return Ose=o,Ose}function T5t(){if(TFe)return Nse;TFe=!0;var e=cs().Buffer,t=MD(),r=OHe(),i=rs(),n=N5t(),o=x5t(),d=ZHe;Object.keys(d).forEach(function(N){d[N].id=e.from(d[N].id,"hex"),d[N.toLowerCase()]=d[N]});function g(N){r.Writable.call(this||id);var T=d[N];if(!T)throw new Error("Unknown message digest");(this||id)._hashType=T.hash,(this||id)._hash=t(T.hash),(this||id)._tag=T.id,(this||id)._signType=T.sign}i(g,r.Writable),g.prototype._write=function(T,M,D){(this||id)._hash.update(T),D()},g.prototype.update=function(T,M){return typeof T=="string"&&(T=e.from(T,M)),(this||id)._hash.update(T),this||id},g.prototype.sign=function(T,M){this.end();var D=(this||id)._hash.digest(),P=n(D,T,(this||id)._hashType,(this||id)._signType,(this||id)._tag);return M?P.toString(M):P};function y(N){r.Writable.call(this||id);var T=d[N];if(!T)throw new Error("Unknown message digest");(this||id)._hash=t(T.hash),(this||id)._tag=T.id,(this||id)._signType=T.sign}i(y,r.Writable),y.prototype._write=function(T,M,D){(this||id)._hash.update(T),D()},y.prototype.update=function(T,M){return typeof T=="string"&&(T=e.from(T,M)),(this||id)._hash.update(T),this||id},y.prototype.verify=function(T,M,D){typeof M=="string"&&(M=e.from(M,D)),this.end();var P=(this||id)._hash.digest();return o(M,P,T,(this||id)._signType,(this||id)._tag)};function _(N){return new g(N)}function I(N){return new y(N)}return Nse={Sign:_,Verify:I,createSign:_,createVerify:I},Nse}function B5t(){return BFe||(BFe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Mt).negative=0,(this||Mt).words=null,(this||Mt).length=0,(this||Mt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Mt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Mt).negative=1,s=-s),s<67108864?((this||Mt).words=[s&67108863],(this||Mt).length=1):s<4503599627370496?((this||Mt).words=[s&67108863,s/67108864&67108863],(this||Mt).length=2):(r(s<9007199254740992),(this||Mt).words=[s&67108863,s/67108864&67108863,1],(this||Mt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Mt).words=[0],(this||Mt).length=1,this||Mt;(this||Mt).length=Math.ceil(s.length/3),(this||Mt).words=new Array((this||Mt).length);for(var m=0;m<(this||Mt).length;m++)(this||Mt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Mt).words[E]|=w<<x&67108863,(this||Mt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Mt).words[E]|=w<<x&67108863,(this||Mt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Mt).length=Math.ceil((s.length-l)/6),(this||Mt).words=new Array((this||Mt).length);for(var m=0;m<(this||Mt).length;m++)(this||Mt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Mt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Mt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Mt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Mt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Mt).words=[0],(this||Mt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Mt).words[0]+u<67108864?(this||Mt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Mt).words[0]+u<67108864?(this||Mt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Mt).length);for(var l=0;l<(this||Mt).length;l++)s.words[l]=(this||Mt).words[l];s.length=(this||Mt).length,s.negative=(this||Mt).negative,s.red=(this||Mt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Mt).length<s;)(this||Mt).words[(this||Mt).length++]=0;return this||Mt},n.prototype.strip=function(){for(;(this||Mt).length>1&&(this||Mt).words[(this||Mt).length-1]===0;)(this||Mt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Mt).length===1&&(this||Mt).words[0]===0&&((this||Mt).negative=0),this||Mt},n.prototype.inspect=function(){return((this||Mt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Mt).length;w++){var x=(this||Mt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Mt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Mt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Mt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Mt).words[0];return(this||Mt).length===2?s+=(this||Mt).words[1]*67108864:(this||Mt).length===3&&(this||Mt).words[2]===1?s+=4503599627370496+(this||Mt).words[1]*67108864:(this||Mt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Mt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Mt).words[(this||Mt).length-1],l=this._countBits(s);return((this||Mt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Mt).length;l++){var A=this._zeroBits((this||Mt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Mt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Mt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Mt).negative^=1),this||Mt},n.prototype.iuor=function(s){for(;(this||Mt).length<s.length;)(this||Mt).words[(this||Mt).length++]=0;for(var l=0;l<s.length;l++)(this||Mt).words[l]=(this||Mt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Mt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Mt).length>s.length?this.clone().ior(s):s.clone().ior(this||Mt)},n.prototype.uor=function(s){return(this||Mt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Mt)},n.prototype.iuand=function(s){var l;(this||Mt).length>s.length?l=s:l=this||Mt;for(var A=0;A<l.length;A++)(this||Mt).words[A]=(this||Mt).words[A]&s.words[A];return(this||Mt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Mt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Mt).length>s.length?this.clone().iand(s):s.clone().iand(this||Mt)},n.prototype.uand=function(s){return(this||Mt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Mt)},n.prototype.iuxor=function(s){var l,A;(this||Mt).length>s.length?(l=this||Mt,A=s):(l=s,A=this||Mt);for(var m=0;m<A.length;m++)(this||Mt).words[m]=l.words[m]^A.words[m];if((this||Mt)!==l)for(;m<l.length;m++)(this||Mt).words[m]=l.words[m];return(this||Mt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Mt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Mt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Mt)},n.prototype.uxor=function(s){return(this||Mt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Mt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Mt).words[m]=~(this||Mt).words[m]&67108863;return A>0&&((this||Mt).words[m]=~(this||Mt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Mt).words[A]=(this||Mt).words[A]|1<<m:(this||Mt).words[A]=(this||Mt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Mt).negative!==0&&s.negative===0)return(this||Mt).negative=0,l=this.isub(s),(this||Mt).negative^=1,this._normSign();if((this||Mt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Mt).length>s.length?(A=this||Mt,m=s):(A=s,m=this||Mt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Mt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Mt).words[w]=l&67108863,E=l>>>26;if((this||Mt).length=A.length,E!==0)(this||Mt).words[(this||Mt).length]=E,(this||Mt).length++;else if(A!==(this||Mt))for(;w<A.length;w++)(this||Mt).words[w]=A.words[w];return this||Mt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Mt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Mt).negative!==0?((this||Mt).negative=0,l=s.sub(this||Mt),(this||Mt).negative=1,l):(this||Mt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Mt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Mt).negative!==0)return(this||Mt).negative=0,this.iadd(s),(this||Mt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Mt).negative=0,(this||Mt).length=1,(this||Mt).words[0]=0,this||Mt;var m,E;A>0?(m=this||Mt,E=s):(m=s,E=this||Mt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Mt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Mt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Mt))for(;x<m.length;x++)(this||Mt).words[x]=m.words[x];return(this||Mt).length=Math.max((this||Mt).length,x),m!==(this||Mt)&&((this||Mt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Mt).length+s.length;return(this||Mt).length===10&&s.length===10?A=D(this||Mt,s,l):m<63?A=M(this||Mt,s,l):m<1024?A=P(this||Mt,s,l):A=G(this||Mt,s,l),A};function q(O,s){(this||Mt).x=O,(this||Mt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Mt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Mt).length+s.length),G(this||Mt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Mt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Mt).length;A++){var m=((this||Mt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Mt).words[A]=E&67108863}return l!==0&&((this||Mt).words[A]=l,(this||Mt).length++),this||Mt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Mt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Mt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Mt).length;E++){var x=(this||Mt).words[E]&m,R=((this||Mt).words[E]|0)-x<<l;(this||Mt).words[E]=R|w,w=x>>>26-l}w&&((this||Mt).words[E]=w,(this||Mt).length++)}if(A!==0){for(E=(this||Mt).length-1;E>=0;E--)(this||Mt).words[E+A]=(this||Mt).words[E];for(E=0;E<A;E++)(this||Mt).words[E]=0;(this||Mt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Mt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Mt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Mt).words[u];R.length=w}if(w!==0)if((this||Mt).length>w)for((this||Mt).length-=w,u=0;u<(this||Mt).length;u++)(this||Mt).words[u]=(this||Mt).words[u+w];else(this||Mt).words[0]=0,(this||Mt).length=1;var C=0;for(u=(this||Mt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Mt).words[u]|0;(this||Mt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Mt).length===0&&((this||Mt).words[0]=0,(this||Mt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Mt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Mt).length<=A)return!1;var E=(this||Mt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Mt).negative===0,"imaskn works only with positive numbers"),(this||Mt).length<=A)return this||Mt;if(l!==0&&A++,(this||Mt).length=Math.min(A,(this||Mt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Mt).words[(this||Mt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Mt).negative!==0?(this||Mt).length===1&&((this||Mt).words[0]|0)<s?((this||Mt).words[0]=s-((this||Mt).words[0]|0),(this||Mt).negative=0,this||Mt):((this||Mt).negative=0,this.isubn(s),(this||Mt).negative=1,this||Mt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Mt).words[0]+=s;for(var l=0;l<(this||Mt).length&&(this||Mt).words[l]>=67108864;l++)(this||Mt).words[l]-=67108864,l===(this||Mt).length-1?(this||Mt).words[l+1]=1:(this||Mt).words[l+1]++;return(this||Mt).length=Math.max((this||Mt).length,l+1),this||Mt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Mt).negative!==0)return(this||Mt).negative=0,this.iaddn(s),(this||Mt).negative=1,this||Mt;if((this||Mt).words[0]-=s,(this||Mt).length===1&&(this||Mt).words[0]<0)(this||Mt).words[0]=-(this||Mt).words[0],(this||Mt).negative=1;else for(var l=0;l<(this||Mt).length&&(this||Mt).words[l]<0;l++)(this||Mt).words[l]+=67108864,(this||Mt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Mt).negative=0,this||Mt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Mt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Mt).words[E+A]=w&67108863}for(;E<(this||Mt).length-A;E++)w=((this||Mt).words[E+A]|0)+x,x=w>>26,(this||Mt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Mt).length;E++)w=-((this||Mt).words[E]|0)+x,x=w>>26,(this||Mt).words[E]=w&67108863;return(this||Mt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Mt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Mt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Mt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Mt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Mt).length||this.cmp(s)<0?{div:new n(0),mod:this||Mt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Mt).length-1;m>=0;m--)A=(l*A+((this||Mt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Mt).length-1;A>=0;A--){var m=((this||Mt).words[A]|0)+l*67108864;(this||Mt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Mt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Mt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Mt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Mt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Mt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Mt).length<=A)return this._expand(A+1),(this||Mt).words[A]|=m,this||Mt;for(var E=m,w=A;E!==0&&w<(this||Mt).length;w++){var x=(this||Mt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Mt).words[w]=x}return E!==0&&((this||Mt).words[w]=E,(this||Mt).length++),this||Mt},n.prototype.isZero=function(){return(this||Mt).length===1&&(this||Mt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Mt).negative!==0&&!l)return-1;if((this||Mt).negative===0&&l)return 1;this.strip();var A;if((this||Mt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Mt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Mt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Mt).negative!==0&&s.negative===0)return-1;if((this||Mt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Mt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Mt).length>s.length)return 1;if((this||Mt).length<s.length)return-1;for(var l=0,A=(this||Mt).length-1;A>=0;A--){var m=(this||Mt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Mt).red,"Already a number in reduction context"),r((this||Mt).negative===0,"red works only with positives"),s.convertTo(this||Mt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Mt).red,"fromRed works only with numbers in reduction context"),(this||Mt).red.convertFrom(this||Mt)},n.prototype._forceRed=function(s){return(this||Mt).red=s,this||Mt},n.prototype.forceRed=function(s){return r(!(this||Mt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Mt).red,"redAdd works only with red numbers"),(this||Mt).red.add(this||Mt,s)},n.prototype.redIAdd=function(s){return r((this||Mt).red,"redIAdd works only with red numbers"),(this||Mt).red.iadd(this||Mt,s)},n.prototype.redSub=function(s){return r((this||Mt).red,"redSub works only with red numbers"),(this||Mt).red.sub(this||Mt,s)},n.prototype.redISub=function(s){return r((this||Mt).red,"redISub works only with red numbers"),(this||Mt).red.isub(this||Mt,s)},n.prototype.redShl=function(s){return r((this||Mt).red,"redShl works only with red numbers"),(this||Mt).red.shl(this||Mt,s)},n.prototype.redMul=function(s){return r((this||Mt).red,"redMul works only with red numbers"),(this||Mt).red._verify2(this||Mt,s),(this||Mt).red.mul(this||Mt,s)},n.prototype.redIMul=function(s){return r((this||Mt).red,"redMul works only with red numbers"),(this||Mt).red._verify2(this||Mt,s),(this||Mt).red.imul(this||Mt,s)},n.prototype.redSqr=function(){return r((this||Mt).red,"redSqr works only with red numbers"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.sqr(this||Mt)},n.prototype.redISqr=function(){return r((this||Mt).red,"redISqr works only with red numbers"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.isqr(this||Mt)},n.prototype.redSqrt=function(){return r((this||Mt).red,"redSqrt works only with red numbers"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.sqrt(this||Mt)},n.prototype.redInvm=function(){return r((this||Mt).red,"redInvm works only with red numbers"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.invm(this||Mt)},n.prototype.redNeg=function(){return r((this||Mt).red,"redNeg works only with red numbers"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.neg(this||Mt)},n.prototype.redPow=function(s){return r((this||Mt).red&&!s.red,"redPow(normalNum)"),(this||Mt).red._verify1(this||Mt),(this||Mt).red.pow(this||Mt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Mt).name=O,(this||Mt).p=new n(s,16),(this||Mt).n=(this||Mt).p.bitLength(),(this||Mt).k=new n(1).iushln((this||Mt).n).isub((this||Mt).p),(this||Mt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Mt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Mt).tmp),l=this.imulK(l),l=l.iadd((this||Mt).tmp),A=l.bitLength();while(A>(this||Mt).n);var m=A<(this||Mt).n?-1:l.ucmp((this||Mt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Mt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Mt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Mt).k)};function ce(){ne.call(this||Mt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Mt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Mt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Mt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Mt).m=s.p,(this||Mt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Mt).m=O,(this||Mt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Mt).prime?(this||Mt).prime.ireduce(s)._forceRed(this||Mt):s.umod((this||Mt).m)._forceRed(this||Mt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Mt).m.sub(s)._forceRed(this||Mt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Mt).m)>=0&&A.isub((this||Mt).m),A._forceRed(this||Mt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Mt).m)>=0&&A.isub((this||Mt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Mt).m),A._forceRed(this||Mt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Mt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Mt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Mt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Mt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Mt),x=w.redNeg(),R=(this||Mt).m.subn(1).iushrn(1),u=(this||Mt).m.bitLength();for(u=new n(2*u*u).toRed(this||Mt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Mt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Mt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Mt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Mt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Mt,O),(this||Mt).shift=(this||Mt).m.bitLength(),(this||Mt).shift%26!==0&&((this||Mt).shift+=26-(this||Mt).shift%26),(this||Mt).r=new n(1).iushln((this||Mt).shift),(this||Mt).r2=this.imod((this||Mt).r.sqr()),(this||Mt).rinv=(this||Mt).r._invmp((this||Mt).m),(this||Mt).minv=(this||Mt).rinv.mul((this||Mt).r).isubn(1).div((this||Mt).m),(this||Mt).minv=(this||Mt).minv.umod((this||Mt).r),(this||Mt).minv=(this||Mt).r.sub((this||Mt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Mt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Mt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Mt).shift).mul((this||Mt).minv).imaskn((this||Mt).shift).mul((this||Mt).m),E=A.isub(m).iushrn((this||Mt).shift),w=E;return E.cmp((this||Mt).m)>=0?w=E.isub((this||Mt).m):E.cmpn(0)<0&&(w=E.iadd((this||Mt).m)),w._forceRed(this||Mt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Mt);var A=s.mul(l),m=A.maskn((this||Mt).shift).mul((this||Mt).minv).imaskn((this||Mt).shift).mul((this||Mt).m),E=A.isub(m).iushrn((this||Mt).shift),w=E;return E.cmp((this||Mt).m)>=0?w=E.isub((this||Mt).m):E.cmpn(0)<0&&(w=E.iadd((this||Mt).m)),w._forceRed(this||Mt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Mt).m).mul((this||Mt).r2));return l._forceRed(this||Mt)}})(xse,RVe)),xse.exports}function M5t(){if(MFe)return Tse;MFe=!0;var e=Vo.Buffer,t=Jue(),r=B5t();Tse=function(g){return new n(g)};var i={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};i.p224=i.secp224r1,i.p256=i.secp256r1=i.prime256v1,i.p192=i.secp192r1=i.prime192v1,i.p384=i.secp384r1,i.p521=i.secp521r1;function n(d){(this||Tf).curveType=i[d],(this||Tf).curveType||((this||Tf).curveType={name:d}),(this||Tf).curve=new t.ec((this||Tf).curveType.name),(this||Tf).keys=void 0}n.prototype.generateKeys=function(d,g){return(this||Tf).keys=(this||Tf).curve.genKeyPair(),this.getPublicKey(d,g)},n.prototype.computeSecret=function(d,g,y){g=g||"utf8",e.isBuffer(d)||(d=new e(d,g));var _=(this||Tf).curve.keyFromPublic(d).getPublic(),I=_.mul((this||Tf).keys.getPrivate()).getX();return o(I,y,(this||Tf).curveType.byteLength)},n.prototype.getPublicKey=function(d,g){var y=(this||Tf).keys.getPublic(g==="compressed",!0);return g==="hybrid"&&(y[y.length-1]%2?y[0]=7:y[0]=6),o(y,d)},n.prototype.getPrivateKey=function(d){return o((this||Tf).keys.getPrivate(),d)},n.prototype.setPublicKey=function(d,g){return g=g||"utf8",e.isBuffer(d)||(d=new e(d,g)),(this||Tf).keys._importPublic(d),this||Tf},n.prototype.setPrivateKey=function(d,g){g=g||"utf8",e.isBuffer(d)||(d=new e(d,g));var y=new r(d);return y=y.toString(16),(this||Tf).keys=(this||Tf).curve.genKeyPair(),(this||Tf).keys._importPrivate(y),this||Tf};function o(d,g,y){Array.isArray(d)||(d=d.toArray());var _=new e(d);if(y&&_.length<y){var I=new e(y-_.length);I.fill(0),_=e.concat([I,_])}return g?_.toString(g):_}return Tse}function SVe(){if(DFe)return Bse;DFe=!0;var e=MD(),t=cs().Buffer;Bse=function(i,n){for(var o=t.alloc(0),d=0,g;o.length<n;)g=r(d++),o=t.concat([o,e("sha1").update(i).update(g).digest()]);return o.slice(0,n)};function r(i){var n=t.allocUnsafe(4);return n.writeUInt32BE(i,0),n}return Bse}function IVe(){return kFe||(kFe=!0,Mse=function(t,r){for(var i=t.length,n=-1;++n<i;)t[n]^=r[n];return t}),Mse}function Wue(){return PFe||(PFe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Dt).negative=0,(this||Dt).words=null,(this||Dt).length=0,(this||Dt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Vo.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Dt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Dt).negative=1,s=-s),s<67108864?((this||Dt).words=[s&67108863],(this||Dt).length=1):s<4503599627370496?((this||Dt).words=[s&67108863,s/67108864&67108863],(this||Dt).length=2):(r(s<9007199254740992),(this||Dt).words=[s&67108863,s/67108864&67108863,1],(this||Dt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Dt).words=[0],(this||Dt).length=1,this||Dt;(this||Dt).length=Math.ceil(s.length/3),(this||Dt).words=new Array((this||Dt).length);for(var m=0;m<(this||Dt).length;m++)(this||Dt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Dt).words[E]|=w<<x&67108863,(this||Dt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Dt).words[E]|=w<<x&67108863,(this||Dt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Dt).length=Math.ceil((s.length-l)/6),(this||Dt).words=new Array((this||Dt).length);for(var m=0;m<(this||Dt).length;m++)(this||Dt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Dt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Dt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Dt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Dt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Dt).words=[0],(this||Dt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Dt).words[0]+u<67108864?(this||Dt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Dt).words[0]+u<67108864?(this||Dt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Dt).length);for(var l=0;l<(this||Dt).length;l++)s.words[l]=(this||Dt).words[l];s.length=(this||Dt).length,s.negative=(this||Dt).negative,s.red=(this||Dt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Dt).length<s;)(this||Dt).words[(this||Dt).length++]=0;return this||Dt},n.prototype.strip=function(){for(;(this||Dt).length>1&&(this||Dt).words[(this||Dt).length-1]===0;)(this||Dt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Dt).length===1&&(this||Dt).words[0]===0&&((this||Dt).negative=0),this||Dt},n.prototype.inspect=function(){return((this||Dt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Dt).length;w++){var x=(this||Dt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Dt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Dt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Dt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Dt).words[0];return(this||Dt).length===2?s+=(this||Dt).words[1]*67108864:(this||Dt).length===3&&(this||Dt).words[2]===1?s+=4503599627370496+(this||Dt).words[1]*67108864:(this||Dt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Dt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Dt).words[(this||Dt).length-1],l=this._countBits(s);return((this||Dt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Dt).length;l++){var A=this._zeroBits((this||Dt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Dt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Dt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Dt).negative^=1),this||Dt},n.prototype.iuor=function(s){for(;(this||Dt).length<s.length;)(this||Dt).words[(this||Dt).length++]=0;for(var l=0;l<s.length;l++)(this||Dt).words[l]=(this||Dt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Dt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Dt).length>s.length?this.clone().ior(s):s.clone().ior(this||Dt)},n.prototype.uor=function(s){return(this||Dt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Dt)},n.prototype.iuand=function(s){var l;(this||Dt).length>s.length?l=s:l=this||Dt;for(var A=0;A<l.length;A++)(this||Dt).words[A]=(this||Dt).words[A]&s.words[A];return(this||Dt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Dt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Dt).length>s.length?this.clone().iand(s):s.clone().iand(this||Dt)},n.prototype.uand=function(s){return(this||Dt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Dt)},n.prototype.iuxor=function(s){var l,A;(this||Dt).length>s.length?(l=this||Dt,A=s):(l=s,A=this||Dt);for(var m=0;m<A.length;m++)(this||Dt).words[m]=l.words[m]^A.words[m];if((this||Dt)!==l)for(;m<l.length;m++)(this||Dt).words[m]=l.words[m];return(this||Dt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Dt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Dt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Dt)},n.prototype.uxor=function(s){return(this||Dt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Dt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Dt).words[m]=~(this||Dt).words[m]&67108863;return A>0&&((this||Dt).words[m]=~(this||Dt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Dt).words[A]=(this||Dt).words[A]|1<<m:(this||Dt).words[A]=(this||Dt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Dt).negative!==0&&s.negative===0)return(this||Dt).negative=0,l=this.isub(s),(this||Dt).negative^=1,this._normSign();if((this||Dt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Dt).length>s.length?(A=this||Dt,m=s):(A=s,m=this||Dt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Dt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Dt).words[w]=l&67108863,E=l>>>26;if((this||Dt).length=A.length,E!==0)(this||Dt).words[(this||Dt).length]=E,(this||Dt).length++;else if(A!==(this||Dt))for(;w<A.length;w++)(this||Dt).words[w]=A.words[w];return this||Dt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Dt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Dt).negative!==0?((this||Dt).negative=0,l=s.sub(this||Dt),(this||Dt).negative=1,l):(this||Dt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Dt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Dt).negative!==0)return(this||Dt).negative=0,this.iadd(s),(this||Dt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Dt).negative=0,(this||Dt).length=1,(this||Dt).words[0]=0,this||Dt;var m,E;A>0?(m=this||Dt,E=s):(m=s,E=this||Dt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Dt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Dt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Dt))for(;x<m.length;x++)(this||Dt).words[x]=m.words[x];return(this||Dt).length=Math.max((this||Dt).length,x),m!==(this||Dt)&&((this||Dt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Dt).length+s.length;return(this||Dt).length===10&&s.length===10?A=D(this||Dt,s,l):m<63?A=M(this||Dt,s,l):m<1024?A=P(this||Dt,s,l):A=G(this||Dt,s,l),A};function q(O,s){(this||Dt).x=O,(this||Dt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Dt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Dt).length+s.length),G(this||Dt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Dt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Dt).length;A++){var m=((this||Dt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Dt).words[A]=E&67108863}return l!==0&&((this||Dt).words[A]=l,(this||Dt).length++),this||Dt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Dt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Dt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Dt).length;E++){var x=(this||Dt).words[E]&m,R=((this||Dt).words[E]|0)-x<<l;(this||Dt).words[E]=R|w,w=x>>>26-l}w&&((this||Dt).words[E]=w,(this||Dt).length++)}if(A!==0){for(E=(this||Dt).length-1;E>=0;E--)(this||Dt).words[E+A]=(this||Dt).words[E];for(E=0;E<A;E++)(this||Dt).words[E]=0;(this||Dt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Dt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Dt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Dt).words[u];R.length=w}if(w!==0)if((this||Dt).length>w)for((this||Dt).length-=w,u=0;u<(this||Dt).length;u++)(this||Dt).words[u]=(this||Dt).words[u+w];else(this||Dt).words[0]=0,(this||Dt).length=1;var C=0;for(u=(this||Dt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Dt).words[u]|0;(this||Dt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Dt).length===0&&((this||Dt).words[0]=0,(this||Dt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Dt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Dt).length<=A)return!1;var E=(this||Dt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Dt).negative===0,"imaskn works only with positive numbers"),(this||Dt).length<=A)return this||Dt;if(l!==0&&A++,(this||Dt).length=Math.min(A,(this||Dt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Dt).words[(this||Dt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Dt).negative!==0?(this||Dt).length===1&&((this||Dt).words[0]|0)<s?((this||Dt).words[0]=s-((this||Dt).words[0]|0),(this||Dt).negative=0,this||Dt):((this||Dt).negative=0,this.isubn(s),(this||Dt).negative=1,this||Dt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Dt).words[0]+=s;for(var l=0;l<(this||Dt).length&&(this||Dt).words[l]>=67108864;l++)(this||Dt).words[l]-=67108864,l===(this||Dt).length-1?(this||Dt).words[l+1]=1:(this||Dt).words[l+1]++;return(this||Dt).length=Math.max((this||Dt).length,l+1),this||Dt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Dt).negative!==0)return(this||Dt).negative=0,this.iaddn(s),(this||Dt).negative=1,this||Dt;if((this||Dt).words[0]-=s,(this||Dt).length===1&&(this||Dt).words[0]<0)(this||Dt).words[0]=-(this||Dt).words[0],(this||Dt).negative=1;else for(var l=0;l<(this||Dt).length&&(this||Dt).words[l]<0;l++)(this||Dt).words[l]+=67108864,(this||Dt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Dt).negative=0,this||Dt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Dt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Dt).words[E+A]=w&67108863}for(;E<(this||Dt).length-A;E++)w=((this||Dt).words[E+A]|0)+x,x=w>>26,(this||Dt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Dt).length;E++)w=-((this||Dt).words[E]|0)+x,x=w>>26,(this||Dt).words[E]=w&67108863;return(this||Dt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Dt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Dt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Dt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Dt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Dt).length||this.cmp(s)<0?{div:new n(0),mod:this||Dt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Dt).length-1;m>=0;m--)A=(l*A+((this||Dt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Dt).length-1;A>=0;A--){var m=((this||Dt).words[A]|0)+l*67108864;(this||Dt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Dt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Dt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Dt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Dt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Dt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Dt).length<=A)return this._expand(A+1),(this||Dt).words[A]|=m,this||Dt;for(var E=m,w=A;E!==0&&w<(this||Dt).length;w++){var x=(this||Dt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Dt).words[w]=x}return E!==0&&((this||Dt).words[w]=E,(this||Dt).length++),this||Dt},n.prototype.isZero=function(){return(this||Dt).length===1&&(this||Dt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Dt).negative!==0&&!l)return-1;if((this||Dt).negative===0&&l)return 1;this.strip();var A;if((this||Dt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Dt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Dt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Dt).negative!==0&&s.negative===0)return-1;if((this||Dt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Dt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Dt).length>s.length)return 1;if((this||Dt).length<s.length)return-1;for(var l=0,A=(this||Dt).length-1;A>=0;A--){var m=(this||Dt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Dt).red,"Already a number in reduction context"),r((this||Dt).negative===0,"red works only with positives"),s.convertTo(this||Dt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Dt).red,"fromRed works only with numbers in reduction context"),(this||Dt).red.convertFrom(this||Dt)},n.prototype._forceRed=function(s){return(this||Dt).red=s,this||Dt},n.prototype.forceRed=function(s){return r(!(this||Dt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Dt).red,"redAdd works only with red numbers"),(this||Dt).red.add(this||Dt,s)},n.prototype.redIAdd=function(s){return r((this||Dt).red,"redIAdd works only with red numbers"),(this||Dt).red.iadd(this||Dt,s)},n.prototype.redSub=function(s){return r((this||Dt).red,"redSub works only with red numbers"),(this||Dt).red.sub(this||Dt,s)},n.prototype.redISub=function(s){return r((this||Dt).red,"redISub works only with red numbers"),(this||Dt).red.isub(this||Dt,s)},n.prototype.redShl=function(s){return r((this||Dt).red,"redShl works only with red numbers"),(this||Dt).red.shl(this||Dt,s)},n.prototype.redMul=function(s){return r((this||Dt).red,"redMul works only with red numbers"),(this||Dt).red._verify2(this||Dt,s),(this||Dt).red.mul(this||Dt,s)},n.prototype.redIMul=function(s){return r((this||Dt).red,"redMul works only with red numbers"),(this||Dt).red._verify2(this||Dt,s),(this||Dt).red.imul(this||Dt,s)},n.prototype.redSqr=function(){return r((this||Dt).red,"redSqr works only with red numbers"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.sqr(this||Dt)},n.prototype.redISqr=function(){return r((this||Dt).red,"redISqr works only with red numbers"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.isqr(this||Dt)},n.prototype.redSqrt=function(){return r((this||Dt).red,"redSqrt works only with red numbers"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.sqrt(this||Dt)},n.prototype.redInvm=function(){return r((this||Dt).red,"redInvm works only with red numbers"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.invm(this||Dt)},n.prototype.redNeg=function(){return r((this||Dt).red,"redNeg works only with red numbers"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.neg(this||Dt)},n.prototype.redPow=function(s){return r((this||Dt).red&&!s.red,"redPow(normalNum)"),(this||Dt).red._verify1(this||Dt),(this||Dt).red.pow(this||Dt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Dt).name=O,(this||Dt).p=new n(s,16),(this||Dt).n=(this||Dt).p.bitLength(),(this||Dt).k=new n(1).iushln((this||Dt).n).isub((this||Dt).p),(this||Dt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Dt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Dt).tmp),l=this.imulK(l),l=l.iadd((this||Dt).tmp),A=l.bitLength();while(A>(this||Dt).n);var m=A<(this||Dt).n?-1:l.ucmp((this||Dt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Dt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Dt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Dt).k)};function ce(){ne.call(this||Dt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Dt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Dt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Dt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Dt).m=s.p,(this||Dt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Dt).m=O,(this||Dt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Dt).prime?(this||Dt).prime.ireduce(s)._forceRed(this||Dt):s.umod((this||Dt).m)._forceRed(this||Dt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Dt).m.sub(s)._forceRed(this||Dt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Dt).m)>=0&&A.isub((this||Dt).m),A._forceRed(this||Dt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Dt).m)>=0&&A.isub((this||Dt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Dt).m),A._forceRed(this||Dt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Dt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Dt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Dt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Dt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Dt),x=w.redNeg(),R=(this||Dt).m.subn(1).iushrn(1),u=(this||Dt).m.bitLength();for(u=new n(2*u*u).toRed(this||Dt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Dt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Dt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Dt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Dt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Dt,O),(this||Dt).shift=(this||Dt).m.bitLength(),(this||Dt).shift%26!==0&&((this||Dt).shift+=26-(this||Dt).shift%26),(this||Dt).r=new n(1).iushln((this||Dt).shift),(this||Dt).r2=this.imod((this||Dt).r.sqr()),(this||Dt).rinv=(this||Dt).r._invmp((this||Dt).m),(this||Dt).minv=(this||Dt).rinv.mul((this||Dt).r).isubn(1).div((this||Dt).m),(this||Dt).minv=(this||Dt).minv.umod((this||Dt).r),(this||Dt).minv=(this||Dt).r.sub((this||Dt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Dt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Dt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Dt).shift).mul((this||Dt).minv).imaskn((this||Dt).shift).mul((this||Dt).m),E=A.isub(m).iushrn((this||Dt).shift),w=E;return E.cmp((this||Dt).m)>=0?w=E.isub((this||Dt).m):E.cmpn(0)<0&&(w=E.iadd((this||Dt).m)),w._forceRed(this||Dt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Dt);var A=s.mul(l),m=A.maskn((this||Dt).shift).mul((this||Dt).minv).imaskn((this||Dt).shift).mul((this||Dt).m),E=A.isub(m).iushrn((this||Dt).shift),w=E;return E.cmp((this||Dt).m)>=0?w=E.isub((this||Dt).m):E.cmpn(0)<0&&(w=E.iadd((this||Dt).m)),w._forceRed(this||Dt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Dt).m).mul((this||Dt).r2));return l._forceRed(this||Dt)}})(Dse,CVe)),Dse.exports}function wVe(){if(LFe)return kse;LFe=!0;var e=Wue(),t=cs().Buffer;function r(i,n){return t.from(i.toRed(e.mont(n.modulus)).redPow(new e(n.publicExponent)).fromRed().toArray())}return kse=r,kse}function D5t(){if(UFe)return Pse;UFe=!0;var e=dV(),t=DO(),r=MD(),i=SVe(),n=IVe(),o=Wue(),d=wVe(),g=Gue(),y=cs().Buffer;Pse=function(M,D,P){var G;M.padding?G=M.padding:P?G=1:G=4;var q=e(M),Y;if(G===4)Y=_(q,D);else if(G===1)Y=I(q,D,P);else if(G===3){if(Y=new o(D),Y.cmp(q.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return P?g(Y,q):d(Y,q)};function _(T,M){var D=T.modulus.byteLength(),P=M.length,G=r("sha1").update(y.alloc(0)).digest(),q=G.length,Y=2*q;if(P>D-Y-2)throw new Error("message too long");var ne=y.alloc(D-P-Y-2),ce=D-q-1,le=t(q),pe=n(y.concat([G,ne,y.alloc(1,1),M],ce),i(le,ce)),ae=n(le,i(pe,q));return new o(y.concat([y.alloc(1),ae,pe],D))}function I(T,M,D){var P=M.length,G=T.modulus.byteLength();if(P>G-11)throw new Error("message too long");var q;return D?q=y.alloc(G-P-3,255):q=N(G-P-3),new o(y.concat([y.from([0,D?1:2]),q,y.alloc(1),M],G))}function N(T){for(var M=y.allocUnsafe(T),D=0,P=t(T*2),G=0,q;D<T;)G===P.length&&(P=t(T*2),G=0),q=P[G++],q&&(M[D++]=q);return M}return Pse}function k5t(){if(FFe)return Lse;FFe=!0;var e=dV(),t=SVe(),r=IVe(),i=Wue(),n=Gue(),o=MD(),d=wVe(),g=cs().Buffer;Lse=function(T,M,D){var P;T.padding?P=T.padding:D?P=1:P=4;var G=e(T),q=G.modulus.byteLength();if(M.length>q||new i(M).cmp(G.modulus)>=0)throw new Error("decryption error");var Y;D?Y=d(new i(M),G):Y=n(M,G);var ne=g.alloc(q-Y.length);if(Y=g.concat([ne,Y],q),P===4)return y(G,Y);if(P===1)return _(G,Y,D);if(P===3)return Y;throw new Error("unknown padding")};function y(N,T){var M=N.modulus.byteLength(),D=o("sha1").update(g.alloc(0)).digest(),P=D.length;if(T[0]!==0)throw new Error("decryption error");var G=T.slice(1,P+1),q=T.slice(P+1),Y=r(G,t(q,P)),ne=r(q,t(Y,M-P-1));if(I(D,ne.slice(0,P)))throw new Error("decryption error");for(var ce=P;ne[ce]===0;)ce++;if(ne[ce++]!==1)throw new Error("decryption error");return ne.slice(ce)}function _(N,T,M){for(var D=T.slice(0,2),P=2,G=0;T[P++]!==0;)if(P>=T.length){G++;break}var q=T.slice(2,P-1);if((D.toString("hex")!=="0002"&&!M||D.toString("hex")!=="0001"&&M)&&G++,q.length<8&&G++,G)throw new Error("decryption error");return T.slice(P)}function I(N,T){N=g.from(N),T=g.from(T);var M=0,D=N.length;N.length!==T.length&&(M++,D=Math.min(N.length,T.length));for(var P=-1;++P<D;)M+=N[P]^T[P];return M}return Lse}function P5t(){return QFe||(QFe=!0,o6.publicEncrypt=D5t(),o6.privateDecrypt=k5t(),o6.privateEncrypt=function(t,r){return o6.publicEncrypt(t,r,!0)},o6.publicDecrypt=function(t,r){return o6.privateDecrypt(t,r,!0)}),o6}function L5t(){if(HFe)return _O;HFe=!0;var e=Mo;function t(){throw new Error(`secure random number generation not supported by this browser +use chrome, FireFox or Internet Explorer 11`)}var r=cs(),i=DO(),n=r.Buffer,o=r.kMaxLength,d=cq.crypto||cq.msCrypto,g=Math.pow(2,32)-1;function y(M,D){if(typeof M!="number"||M!==M)throw new TypeError("offset must be a number");if(M>g||M<0)throw new TypeError("offset must be a uint32");if(M>o||M>D)throw new RangeError("offset out of range")}function _(M,D,P){if(typeof M!="number"||M!==M)throw new TypeError("size must be a number");if(M>g||M<0)throw new TypeError("size must be a uint32");if(M+D>P||M>o)throw new RangeError("buffer too small")}d&&d.getRandomValues||!e.browser?(_O.randomFill=I,_O.randomFillSync=T):(_O.randomFill=t,_O.randomFillSync=t);function I(M,D,P,G){if(!n.isBuffer(M)&&!(M instanceof cq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof D=="function")G=D,D=0,P=M.length;else if(typeof P=="function")G=P,P=M.length-D;else if(typeof G!="function")throw new TypeError('"cb" argument must be a function');return y(D,M.length),_(P,D,M.length),N(M,D,P,G)}function N(M,D,P,G){if(e.browser){var q=M.buffer,Y=new Uint8Array(q,D,P);if(d.getRandomValues(Y),G){e.nextTick(function(){G(null,M)});return}return M}if(G){i(P,function(ce,le){if(ce)return G(ce);le.copy(M,D),G(null,M)});return}var ne=i(P);return ne.copy(M,D),M}function T(M,D,P){if(typeof D>"u"&&(D=0),!n.isBuffer(M)&&!(M instanceof cq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return y(D,M.length),P===void 0&&(P=M.length-D),_(P,D,M.length),N(M,D,P)}return _O}function U5t(){if(GFe)return Ua;GFe=!0,Ua.randomBytes=Ua.rng=Ua.pseudoRandomBytes=Ua.prng=DO(),Ua.createHash=Ua.Hash=MD(),Ua.createHmac=Ua.Hmac=XHe();var e=TIt(),t=Object.keys(e),r=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(t);Ua.getHashes=function(){return r};var i=nGe();Ua.pbkdf2=i.pbkdf2,Ua.pbkdf2Sync=i.pbkdf2Sync;var n=KIt();Ua.Cipher=n.Cipher,Ua.createCipher=n.createCipher,Ua.Cipheriv=n.Cipheriv,Ua.createCipheriv=n.createCipheriv,Ua.Decipher=n.Decipher,Ua.createDecipher=n.createDecipher,Ua.Decipheriv=n.Decipheriv,Ua.createDecipheriv=n.createDecipheriv,Ua.getCiphers=n.getCiphers,Ua.listCiphers=n.listCiphers;var o=i5t();Ua.DiffieHellmanGroup=o.DiffieHellmanGroup,Ua.createDiffieHellmanGroup=o.createDiffieHellmanGroup,Ua.getDiffieHellman=o.getDiffieHellman,Ua.createDiffieHellman=o.createDiffieHellman,Ua.DiffieHellman=o.DiffieHellman;var d=T5t();Ua.createSign=d.createSign,Ua.Sign=d.Sign,Ua.createVerify=d.createVerify,Ua.Verify=d.Verify,Ua.createECDH=M5t();var g=P5t();Ua.publicEncrypt=g.publicEncrypt,Ua.privateEncrypt=g.privateEncrypt,Ua.publicDecrypt=g.publicDecrypt,Ua.privateDecrypt=g.privateDecrypt;var y=L5t();return Ua.randomFill=y.randomFill,Ua.randomFillSync=y.randomFillSync,Ua.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},Ua.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},Ua}function Xue(){if(qFe)return uq;qFe=!0;var e;uq=function(n){return e||(e=new t(null)),e.generate(n)};function t(i){(this||dq).rand=i}if(uq.Rand=t,t.prototype.generate=function(n){return this._rand(n)},t.prototype._rand=function(n){if((this||dq).rand.getBytes)return(this||dq).rand.getBytes(n);for(var o=new Uint8Array(n),d=0;d<o.length;d++)o[d]=(this||dq).rand.getByte();return o},typeof self=="object")self.crypto&&self.crypto.getRandomValues?t.prototype._rand=function(n){var o=new Uint8Array(n);return self.crypto.getRandomValues(o),o}:self.msCrypto&&self.msCrypto.getRandomValues?t.prototype._rand=function(n){var o=new Uint8Array(n);return self.msCrypto.getRandomValues(o),o}:typeof window=="object"&&(t.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var r=$a;if(typeof r.randomBytes!="function")throw new Error("Not supported");t.prototype._rand=function(n){return r.randomBytes(n)}}catch{}return uq}function OVe(){if(VFe)return Use;VFe=!0;var e=B6t(),t=Xue();function r(i){(this||JFe).rand=i||new t.Rand}return Use=r,r.create=function(n){return new r(n)},r.prototype._randbelow=function(n){var o=n.bitLength(),d=Math.ceil(o/8);do var g=new e((this||JFe).rand.generate(d));while(g.cmp(n)>=0);return g},r.prototype._randrange=function(n,o){var d=o.sub(n);return n.add(this._randbelow(d))},r.prototype.test=function(n,o,d){var g=n.bitLength(),y=e.mont(n),_=new e(1).toRed(y);o||(o=Math.max(1,g/48|0));for(var I=n.subn(1),N=0;!I.testn(N);N++);for(var T=n.shrn(N),M=I.toRed(y),D=!0;o>0;o--){var P=this._randrange(new e(2),I);d&&d(P);var G=P.toRed(y).redPow(T);if(!(G.cmp(_)===0||G.cmp(M)===0)){for(var q=1;q<N;q++){if(G=G.redSqr(),G.cmp(_)===0)return!1;if(G.cmp(M)===0)break}if(q===N)return!1}}return D},r.prototype.getDivisor=function(n,o){var d=n.bitLength(),g=e.mont(n),y=new e(1).toRed(g);o||(o=Math.max(1,d/48|0));for(var _=n.subn(1),I=0;!_.testn(I);I++);for(var N=n.shrn(I),T=_.toRed(g);o>0;o--){var M=this._randrange(new e(2),_),D=n.gcd(M);if(D.cmpn(1)!==0)return D;var P=M.toRed(g).redPow(N);if(!(P.cmp(y)===0||P.cmp(T)===0)){for(var G=1;G<I;G++){if(P=P.redSqr(),P.cmp(y)===0)return P.fromRed().subn(1).gcd(n);if(P.cmp(T)===0)break}if(G===I)return P=P.redSqr(),P.fromRed().subn(1).gcd(n)}}return!1},Use}function NVe(){if(zFe)return Fse;zFe=!0;var e=TO();Fse=G,G.simpleSieve=D,G.fermatTest=P;var t=CHe(),r=new t(24),i=OVe(),n=new i,o=new t(1),d=new t(2),g=new t(5);new t(16),new t(8);var y=new t(10),_=new t(3);new t(7);var I=new t(11),N=new t(4);new t(12);var T=null;function M(){if(T!==null)return T;var q=1048576,Y=[];Y[0]=2;for(var ne=1,ce=3;ce<q;ce+=2){for(var le=Math.ceil(Math.sqrt(ce)),pe=0;pe<ne&&Y[pe]<=le&&ce%Y[pe]!==0;pe++);ne!==pe&&Y[pe]<=le||(Y[ne++]=ce)}return T=Y,Y}function D(q){for(var Y=M(),ne=0;ne<Y.length;ne++)if(q.modn(Y[ne])===0)return q.cmpn(Y[ne])===0;return!0}function P(q){var Y=t.mont(q);return d.toRed(Y).redPow(q.subn(1)).fromRed().cmpn(1)===0}function G(q,Y){if(q<16)return Y===2||Y===5?new t([140,123]):new t([140,39]);Y=new t(Y);for(var ne,ce;;){for(ne=new t(e(Math.ceil(q/8)));ne.bitLength()>q;)ne.ishrn(1);if(ne.isEven()&&ne.iadd(o),ne.testn(1)||ne.iadd(d),Y.cmp(d)){if(!Y.cmp(g))for(;ne.mod(y).cmp(_);)ne.iadd(N)}else for(;ne.mod(r).cmp(I);)ne.iadd(N);if(ce=ne.shrn(1),D(ce)&&D(ne)&&P(ce)&&P(ne)&&n.test(ce)&&n.test(ne))return ne}}return Fse}function Q5t(){if(KFe)return Qse;KFe=!0;var e=Nu.Buffer,t=CHe(),r=OVe(),i=new r,n=new t(24),o=new t(11),d=new t(10),g=new t(3),y=new t(7),_=NVe(),I=TO();Qse=P;function N(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ds)._pub=new t(q),this||Ds}function T(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ds)._priv=new t(q),this||Ds}var M={};function D(q,Y){var ne=Y.toString("hex"),ce=[ne,q.toString(16)].join("_");if(ce in M)return M[ce];var le=0;if(q.isEven()||!_.simpleSieve||!_.fermatTest(q)||!i.test(q))return le+=1,ne==="02"||ne==="05"?le+=8:le+=4,M[ce]=le,le;i.test(q.shrn(1))||(le+=2);var pe;switch(ne){case"02":q.mod(n).cmp(o)&&(le+=8);break;case"05":pe=q.mod(d),pe.cmp(g)&&pe.cmp(y)&&(le+=8);break;default:le+=4}return M[ce]=le,le}function P(q,Y,ne){this.setGenerator(Y),(this||Ds).__prime=new t(q),(this||Ds)._prime=t.mont((this||Ds).__prime),(this||Ds)._primeLen=q.length,(this||Ds)._pub=void 0,(this||Ds)._priv=void 0,(this||Ds)._primeCode=void 0,ne?((this||Ds).setPublicKey=N,(this||Ds).setPrivateKey=T):(this||Ds)._primeCode=8}Object.defineProperty(P.prototype,"verifyError",{enumerable:!0,get:function(){return typeof(this||Ds)._primeCode!="number"&&((this||Ds)._primeCode=D((this||Ds).__prime,(this||Ds).__gen)),(this||Ds)._primeCode}}),P.prototype.generateKeys=function(){return(this||Ds)._priv||((this||Ds)._priv=new t(I((this||Ds)._primeLen))),(this||Ds)._pub=(this||Ds)._gen.toRed((this||Ds)._prime).redPow((this||Ds)._priv).fromRed(),this.getPublicKey()},P.prototype.computeSecret=function(q){q=new t(q),q=q.toRed((this||Ds)._prime);var Y=q.redPow((this||Ds)._priv).fromRed(),ne=new e(Y.toArray()),ce=this.getPrime();if(ne.length<ce.length){var le=new e(ce.length-ne.length);le.fill(0),ne=e.concat([le,ne])}return ne},P.prototype.getPublicKey=function(Y){return G((this||Ds)._pub,Y)},P.prototype.getPrivateKey=function(Y){return G((this||Ds)._priv,Y)},P.prototype.getPrime=function(q){return G((this||Ds).__prime,q)},P.prototype.getGenerator=function(q){return G((this||Ds)._gen,q)},P.prototype.setGenerator=function(q,Y){return Y=Y||"utf8",e.isBuffer(q)||(q=new e(q,Y)),(this||Ds).__gen=q,(this||Ds)._gen=new t(q),this||Ds};function G(q,Y){var ne=new e(q.toArray());return Y?ne.toString(Y):ne}return Qse}function H5t(){if($Fe)return n4;$Fe=!0;var e=Nu.Buffer,t=NVe(),r=F5t,i=Q5t();function n(g){var y=new e(r[g].prime,"hex"),_=new e(r[g].gen,"hex");return new i(y,_)}var o={binary:!0,hex:!0,base64:!0};function d(g,y,_,I){return e.isBuffer(y)||o[y]===void 0?d(g,"binary",y,_):(y=y||"binary",I=I||"binary",_=_||new e([2]),e.isBuffer(_)||(_=new e(_,I)),typeof g=="number"?new i(t(g,_),_,!0):(e.isBuffer(g)||(g=new e(g,y)),new i(g,_,!0)))}return n4.DiffieHellmanGroup=n4.createDiffieHellmanGroup=n4.getDiffieHellman=n,n4.createDiffieHellman=n4.DiffieHellman=d,n4}function Zue(){if(YFe)return iD;YFe=!0;var e=Nu,t=e.Buffer;function r(n,o){for(var d in n)o[d]=n[d]}t.from&&t.alloc&&t.allocUnsafe&&t.allocUnsafeSlow?iD=e:(r(e,iD),iD.Buffer=i);function i(n,o,d){return t(n,o,d)}return i.prototype=Object.create(t.prototype),r(t,i),i.from=function(n,o,d){if(typeof n=="number")throw new TypeError("Argument must not be a number");return t(n,o,d)},i.alloc=function(n,o,d){if(typeof n!="number")throw new TypeError("Argument must be a number");var g=t(n);return o!==void 0?typeof d=="string"?g.fill(o,d):g.fill(o):g.fill(0),g},i.allocUnsafe=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return t(n)},i.allocUnsafeSlow=function(n){if(typeof n!="number")throw new TypeError("Argument must be a number");return e.SlowBuffer(n)},iD}function jue(){return WFe||(WFe=!0,(function(e,t){function r(l,A){if(!l)throw new Error(A||"Assertion failed")}function i(l,A){l.super_=A;var m=function(){};m.prototype=A.prototype,l.prototype=new m,l.prototype.constructor=l}function n(l,A,m){if(n.isBN(l))return l;(this||Ct).negative=0,(this||Ct).words=null,(this||Ct).length=0,(this||Ct).red=null,l!==null&&((A==="le"||A==="be")&&(m=A,A=10),this._init(l||0,A||10,m||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(A){return A instanceof n?!0:A!==null&&typeof A=="object"&&A.constructor.wordSize===n.wordSize&&Array.isArray(A.words)},n.max=function(A,m){return A.cmp(m)>0?A:m},n.min=function(A,m){return A.cmp(m)<0?A:m},n.prototype._init=function(A,m,E){if(typeof A=="number")return this._initNumber(A,m,E);if(typeof A=="object")return this._initArray(A,m,E);m==="hex"&&(m=16),r(m===(m|0)&&m>=2&&m<=36),A=A.toString().replace(/\s+/g,"");var w=0;A[0]==="-"&&(w++,(this||Ct).negative=1),w<A.length&&(m===16?this._parseHex(A,w,E):(this._parseBase(A,m,w),E==="le"&&this._initArray(this.toArray(),m,E)))},n.prototype._initNumber=function(A,m,E){A<0&&((this||Ct).negative=1,A=-A),A<67108864?((this||Ct).words=[A&67108863],(this||Ct).length=1):A<4503599627370496?((this||Ct).words=[A&67108863,A/67108864&67108863],(this||Ct).length=2):(r(A<9007199254740992),(this||Ct).words=[A&67108863,A/67108864&67108863,1],(this||Ct).length=3),E==="le"&&this._initArray(this.toArray(),m,E)},n.prototype._initArray=function(A,m,E){if(r(typeof A.length=="number"),A.length<=0)return(this||Ct).words=[0],(this||Ct).length=1,this||Ct;(this||Ct).length=Math.ceil(A.length/3),(this||Ct).words=new Array((this||Ct).length);for(var w=0;w<(this||Ct).length;w++)(this||Ct).words[w]=0;var x,R,u=0;if(E==="be")for(w=A.length-1,x=0;w>=0;w-=3)R=A[w]|A[w-1]<<8|A[w-2]<<16,(this||Ct).words[x]|=R<<u&67108863,(this||Ct).words[x+1]=R>>>26-u&67108863,u+=24,u>=26&&(u-=26,x++);else if(E==="le")for(w=0,x=0;w<A.length;w+=3)R=A[w]|A[w+1]<<8|A[w+2]<<16,(this||Ct).words[x]|=R<<u&67108863,(this||Ct).words[x+1]=R>>>26-u&67108863,u+=24,u>=26&&(u-=26,x++);return this._strip()};function d(l,A){var m=l.charCodeAt(A);if(m>=48&&m<=57)return m-48;if(m>=65&&m<=70)return m-55;if(m>=97&&m<=102)return m-87;r(!1,"Invalid character in "+l)}function g(l,A,m){var E=d(l,m);return m-1>=A&&(E|=d(l,m-1)<<4),E}n.prototype._parseHex=function(A,m,E){(this||Ct).length=Math.ceil((A.length-m)/6),(this||Ct).words=new Array((this||Ct).length);for(var w=0;w<(this||Ct).length;w++)(this||Ct).words[w]=0;var x=0,R=0,u;if(E==="be")for(w=A.length-1;w>=m;w-=2)u=g(A,m,w)<<x,(this||Ct).words[R]|=u&67108863,x>=18?(x-=18,R+=1,(this||Ct).words[R]|=u>>>26):x+=8;else{var C=A.length-m;for(w=C%2===0?m+1:m;w<A.length;w+=2)u=g(A,m,w)<<x,(this||Ct).words[R]|=u&67108863,x>=18?(x-=18,R+=1,(this||Ct).words[R]|=u>>>26):x+=8}this._strip()};function y(l,A,m,E){for(var w=0,x=0,R=Math.min(l.length,m),u=A;u<R;u++){var C=l.charCodeAt(u)-48;w*=E,C>=49?x=C-49+10:C>=17?x=C-17+10:x=C,r(C>=0&&x<E,"Invalid character"),w+=x}return w}n.prototype._parseBase=function(A,m,E){(this||Ct).words=[0],(this||Ct).length=1;for(var w=0,x=1;x<=67108863;x*=m)w++;w--,x=x/m|0;for(var R=A.length-E,u=R%w,C=Math.min(R,R-u)+E,U=0,F=E;F<C;F+=w)U=y(A,F,F+w,m),this.imuln(x),(this||Ct).words[0]+U<67108864?(this||Ct).words[0]+=U:this._iaddn(U);if(u!==0){var X=1;for(U=y(A,F,A.length,m),F=0;F<u;F++)X*=m;this.imuln(X),(this||Ct).words[0]+U<67108864?(this||Ct).words[0]+=U:this._iaddn(U)}this._strip()},n.prototype.copy=function(A){A.words=new Array((this||Ct).length);for(var m=0;m<(this||Ct).length;m++)A.words[m]=(this||Ct).words[m];A.length=(this||Ct).length,A.negative=(this||Ct).negative,A.red=(this||Ct).red};function _(l,A){l.words=A.words,l.length=A.length,l.negative=A.negative,l.red=A.red}if(n.prototype._move=function(A){_(A,this||Ct)},n.prototype.clone=function(){var A=new n(null);return this.copy(A),A},n.prototype._expand=function(A){for(;(this||Ct).length<A;)(this||Ct).words[(this||Ct).length++]=0;return this||Ct},n.prototype._strip=function(){for(;(this||Ct).length>1&&(this||Ct).words[(this||Ct).length-1]===0;)(this||Ct).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Ct).length===1&&(this||Ct).words[0]===0&&((this||Ct).negative=0),this||Ct},typeof Symbol<"u"&&typeof Symbol.for=="function")try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=I}catch{n.prototype.inspect=I}else n.prototype.inspect=I;function I(){return((this||Ct).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var N=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],T=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],M=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(A,m){A=A||10,m=m|0||1;var E;if(A===16||A==="hex"){E="";for(var w=0,x=0,R=0;R<(this||Ct).length;R++){var u=(this||Ct).words[R],C=((u<<w|x)&16777215).toString(16);x=u>>>24-w&16777215,x!==0||R!==(this||Ct).length-1?E=N[6-C.length]+C+E:E=C+E,w+=2,w>=26&&(w-=26,R--)}for(x!==0&&(E=x.toString(16)+E);E.length%m!==0;)E="0"+E;return(this||Ct).negative!==0&&(E="-"+E),E}if(A===(A|0)&&A>=2&&A<=36){var U=T[A],F=M[A];E="";var X=this.clone();for(X.negative=0;!X.isZero();){var Ae=X.modrn(F).toString(A);X=X.idivn(F),X.isZero()?E=Ae+E:E=N[U-Ae.length]+Ae+E}for(this.isZero()&&(E="0"+E);E.length%m!==0;)E="0"+E;return(this||Ct).negative!==0&&(E="-"+E),E}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var A=(this||Ct).words[0];return(this||Ct).length===2?A+=(this||Ct).words[1]*67108864:(this||Ct).length===3&&(this||Ct).words[2]===1?A+=4503599627370496+(this||Ct).words[1]*67108864:(this||Ct).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Ct).negative!==0?-A:A},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(A,m){return this.toArrayLike(o,A,m)}),n.prototype.toArray=function(A,m){return this.toArrayLike(Array,A,m)};var D=function(A,m){return A.allocUnsafe?A.allocUnsafe(m):new A(m)};n.prototype.toArrayLike=function(A,m,E){this._strip();var w=this.byteLength(),x=E||Math.max(1,w);r(w<=x,"byte array longer than desired length"),r(x>0,"Requested array length <= 0");var R=D(A,x),u=m==="le"?"LE":"BE";return this["_toArrayLike"+u](R,w),R},n.prototype._toArrayLikeLE=function(A,m){for(var E=0,w=0,x=0,R=0;x<(this||Ct).length;x++){var u=(this||Ct).words[x]<<R|w;A[E++]=u&255,E<A.length&&(A[E++]=u>>8&255),E<A.length&&(A[E++]=u>>16&255),R===6?(E<A.length&&(A[E++]=u>>24&255),w=0,R=0):(w=u>>>24,R+=2)}if(E<A.length)for(A[E++]=w;E<A.length;)A[E++]=0},n.prototype._toArrayLikeBE=function(A,m){for(var E=A.length-1,w=0,x=0,R=0;x<(this||Ct).length;x++){var u=(this||Ct).words[x]<<R|w;A[E--]=u&255,E>=0&&(A[E--]=u>>8&255),E>=0&&(A[E--]=u>>16&255),R===6?(E>=0&&(A[E--]=u>>24&255),w=0,R=0):(w=u>>>24,R+=2)}if(E>=0)for(A[E--]=w;E>=0;)A[E--]=0},Math.clz32?n.prototype._countBits=function(A){return 32-Math.clz32(A)}:n.prototype._countBits=function(A){var m=A,E=0;return m>=4096&&(E+=13,m>>>=13),m>=64&&(E+=7,m>>>=7),m>=8&&(E+=4,m>>>=4),m>=2&&(E+=2,m>>>=2),E+m},n.prototype._zeroBits=function(A){if(A===0)return 26;var m=A,E=0;return(m&8191)===0&&(E+=13,m>>>=13),(m&127)===0&&(E+=7,m>>>=7),(m&15)===0&&(E+=4,m>>>=4),(m&3)===0&&(E+=2,m>>>=2),(m&1)===0&&E++,E},n.prototype.bitLength=function(){var A=(this||Ct).words[(this||Ct).length-1],m=this._countBits(A);return((this||Ct).length-1)*26+m};function P(l){for(var A=new Array(l.bitLength()),m=0;m<A.length;m++){var E=m/26|0,w=m%26;A[m]=l.words[E]>>>w&1}return A}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var A=0,m=0;m<(this||Ct).length;m++){var E=this._zeroBits((this||Ct).words[m]);if(A+=E,E!==26)break}return A},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(A){return(this||Ct).negative!==0?this.abs().inotn(A).iaddn(1):this.clone()},n.prototype.fromTwos=function(A){return this.testn(A-1)?this.notn(A).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Ct).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Ct).negative^=1),this||Ct},n.prototype.iuor=function(A){for(;(this||Ct).length<A.length;)(this||Ct).words[(this||Ct).length++]=0;for(var m=0;m<A.length;m++)(this||Ct).words[m]=(this||Ct).words[m]|A.words[m];return this._strip()},n.prototype.ior=function(A){return r(((this||Ct).negative|A.negative)===0),this.iuor(A)},n.prototype.or=function(A){return(this||Ct).length>A.length?this.clone().ior(A):A.clone().ior(this||Ct)},n.prototype.uor=function(A){return(this||Ct).length>A.length?this.clone().iuor(A):A.clone().iuor(this||Ct)},n.prototype.iuand=function(A){var m;(this||Ct).length>A.length?m=A:m=this||Ct;for(var E=0;E<m.length;E++)(this||Ct).words[E]=(this||Ct).words[E]&A.words[E];return(this||Ct).length=m.length,this._strip()},n.prototype.iand=function(A){return r(((this||Ct).negative|A.negative)===0),this.iuand(A)},n.prototype.and=function(A){return(this||Ct).length>A.length?this.clone().iand(A):A.clone().iand(this||Ct)},n.prototype.uand=function(A){return(this||Ct).length>A.length?this.clone().iuand(A):A.clone().iuand(this||Ct)},n.prototype.iuxor=function(A){var m,E;(this||Ct).length>A.length?(m=this||Ct,E=A):(m=A,E=this||Ct);for(var w=0;w<E.length;w++)(this||Ct).words[w]=m.words[w]^E.words[w];if((this||Ct)!==m)for(;w<m.length;w++)(this||Ct).words[w]=m.words[w];return(this||Ct).length=m.length,this._strip()},n.prototype.ixor=function(A){return r(((this||Ct).negative|A.negative)===0),this.iuxor(A)},n.prototype.xor=function(A){return(this||Ct).length>A.length?this.clone().ixor(A):A.clone().ixor(this||Ct)},n.prototype.uxor=function(A){return(this||Ct).length>A.length?this.clone().iuxor(A):A.clone().iuxor(this||Ct)},n.prototype.inotn=function(A){r(typeof A=="number"&&A>=0);var m=Math.ceil(A/26)|0,E=A%26;this._expand(m),E>0&&m--;for(var w=0;w<m;w++)(this||Ct).words[w]=~(this||Ct).words[w]&67108863;return E>0&&((this||Ct).words[w]=~(this||Ct).words[w]&67108863>>26-E),this._strip()},n.prototype.notn=function(A){return this.clone().inotn(A)},n.prototype.setn=function(A,m){r(typeof A=="number"&&A>=0);var E=A/26|0,w=A%26;return this._expand(E+1),m?(this||Ct).words[E]=(this||Ct).words[E]|1<<w:(this||Ct).words[E]=(this||Ct).words[E]&~(1<<w),this._strip()},n.prototype.iadd=function(A){var m;if((this||Ct).negative!==0&&A.negative===0)return(this||Ct).negative=0,m=this.isub(A),(this||Ct).negative^=1,this._normSign();if((this||Ct).negative===0&&A.negative!==0)return A.negative=0,m=this.isub(A),A.negative=1,m._normSign();var E,w;(this||Ct).length>A.length?(E=this||Ct,w=A):(E=A,w=this||Ct);for(var x=0,R=0;R<w.length;R++)m=(E.words[R]|0)+(w.words[R]|0)+x,(this||Ct).words[R]=m&67108863,x=m>>>26;for(;x!==0&&R<E.length;R++)m=(E.words[R]|0)+x,(this||Ct).words[R]=m&67108863,x=m>>>26;if((this||Ct).length=E.length,x!==0)(this||Ct).words[(this||Ct).length]=x,(this||Ct).length++;else if(E!==(this||Ct))for(;R<E.length;R++)(this||Ct).words[R]=E.words[R];return this||Ct},n.prototype.add=function(A){var m;return A.negative!==0&&(this||Ct).negative===0?(A.negative=0,m=this.sub(A),A.negative^=1,m):A.negative===0&&(this||Ct).negative!==0?((this||Ct).negative=0,m=A.sub(this||Ct),(this||Ct).negative=1,m):(this||Ct).length>A.length?this.clone().iadd(A):A.clone().iadd(this||Ct)},n.prototype.isub=function(A){if(A.negative!==0){A.negative=0;var m=this.iadd(A);return A.negative=1,m._normSign()}else if((this||Ct).negative!==0)return(this||Ct).negative=0,this.iadd(A),(this||Ct).negative=1,this._normSign();var E=this.cmp(A);if(E===0)return(this||Ct).negative=0,(this||Ct).length=1,(this||Ct).words[0]=0,this||Ct;var w,x;E>0?(w=this||Ct,x=A):(w=A,x=this||Ct);for(var R=0,u=0;u<x.length;u++)m=(w.words[u]|0)-(x.words[u]|0)+R,R=m>>26,(this||Ct).words[u]=m&67108863;for(;R!==0&&u<w.length;u++)m=(w.words[u]|0)+R,R=m>>26,(this||Ct).words[u]=m&67108863;if(R===0&&u<w.length&&w!==(this||Ct))for(;u<w.length;u++)(this||Ct).words[u]=w.words[u];return(this||Ct).length=Math.max((this||Ct).length,u),w!==(this||Ct)&&((this||Ct).negative=1),this._strip()},n.prototype.sub=function(A){return this.clone().isub(A)};function G(l,A,m){m.negative=A.negative^l.negative;var E=l.length+A.length|0;m.length=E,E=E-1|0;var w=l.words[0]|0,x=A.words[0]|0,R=w*x,u=R&67108863,C=R/67108864|0;m.words[0]=u;for(var U=1;U<E;U++){for(var F=C>>>26,X=C&67108863,Ae=Math.min(U,A.length-1),he=Math.max(0,U-l.length+1);he<=Ae;he++){var $e=U-he|0;w=l.words[$e]|0,x=A.words[he]|0,R=w*x+X,F+=R/67108864|0,X=R&67108863}m.words[U]=X|0,C=F|0}return C!==0?m.words[U]=C|0:m.length--,m._strip()}var q=function(A,m,E){var w=A.words,x=m.words,R=E.words,u=0,C,U,F,X=w[0]|0,Ae=X&8191,he=X>>>13,$e=w[1]|0,Ge=$e&8191,Re=$e>>>13,Se=w[2]|0,ct=Se&8191,ze=Se>>>13,te=w[3]|0,Ue=te&8191,oe=te>>>13,ge=w[4]|0,Le=ge&8191,V=ge>>>13,Qe=w[5]|0,_t=Qe&8191,rt=Qe>>>13,At=w[6]|0,Er=At&8191,mt=At>>>13,Ht=w[7]|0,zr=Ht&8191,ve=Ht>>>13,ie=w[8]|0,_e=ie&8191,Be=ie>>>13,Ze=w[9]|0,$t=Ze&8191,at=Ze>>>13,zt=x[0]|0,Hr=zt&8191,St=zt>>>13,Yt=x[1]|0,qr=Yt&8191,tr=Yt>>>13,hr=x[2]|0,Cn=hr&8191,er=hr>>>13,pr=x[3]|0,mn=pr&8191,Xt=pr>>>13,dr=x[4]|0,wn=dr&8191,Qt=dr>>>13,fr=x[5]|0,In=fr&8191,jt=fr>>>13,ar=x[6]|0,ht=ar&8191,Xe=ar>>>13,et=x[7]|0,ue=et&8191,je=et>>>13,be=x[8]|0,qe=be&8191,De=be>>>13,Je=x[9]|0,Rt=Je&8191,Vt=Je>>>13;E.negative=A.negative^m.negative,E.length=19,C=Math.imul(Ae,Hr),U=Math.imul(Ae,St),U=U+Math.imul(he,Hr)|0,F=Math.imul(he,St);var br=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(br>>>26)|0,br&=67108863,C=Math.imul(Ge,Hr),U=Math.imul(Ge,St),U=U+Math.imul(Re,Hr)|0,F=Math.imul(Re,St),C=C+Math.imul(Ae,qr)|0,U=U+Math.imul(Ae,tr)|0,U=U+Math.imul(he,qr)|0,F=F+Math.imul(he,tr)|0;var Rr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,C=Math.imul(ct,Hr),U=Math.imul(ct,St),U=U+Math.imul(ze,Hr)|0,F=Math.imul(ze,St),C=C+Math.imul(Ge,qr)|0,U=U+Math.imul(Ge,tr)|0,U=U+Math.imul(Re,qr)|0,F=F+Math.imul(Re,tr)|0,C=C+Math.imul(Ae,Cn)|0,U=U+Math.imul(Ae,er)|0,U=U+Math.imul(he,Cn)|0,F=F+Math.imul(he,er)|0;var Dr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,C=Math.imul(Ue,Hr),U=Math.imul(Ue,St),U=U+Math.imul(oe,Hr)|0,F=Math.imul(oe,St),C=C+Math.imul(ct,qr)|0,U=U+Math.imul(ct,tr)|0,U=U+Math.imul(ze,qr)|0,F=F+Math.imul(ze,tr)|0,C=C+Math.imul(Ge,Cn)|0,U=U+Math.imul(Ge,er)|0,U=U+Math.imul(Re,Cn)|0,F=F+Math.imul(Re,er)|0,C=C+Math.imul(Ae,mn)|0,U=U+Math.imul(Ae,Xt)|0,U=U+Math.imul(he,mn)|0,F=F+Math.imul(he,Xt)|0;var Pr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,C=Math.imul(Le,Hr),U=Math.imul(Le,St),U=U+Math.imul(V,Hr)|0,F=Math.imul(V,St),C=C+Math.imul(Ue,qr)|0,U=U+Math.imul(Ue,tr)|0,U=U+Math.imul(oe,qr)|0,F=F+Math.imul(oe,tr)|0,C=C+Math.imul(ct,Cn)|0,U=U+Math.imul(ct,er)|0,U=U+Math.imul(ze,Cn)|0,F=F+Math.imul(ze,er)|0,C=C+Math.imul(Ge,mn)|0,U=U+Math.imul(Ge,Xt)|0,U=U+Math.imul(Re,mn)|0,F=F+Math.imul(Re,Xt)|0,C=C+Math.imul(Ae,wn)|0,U=U+Math.imul(Ae,Qt)|0,U=U+Math.imul(he,wn)|0,F=F+Math.imul(he,Qt)|0;var k=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(k>>>26)|0,k&=67108863,C=Math.imul(_t,Hr),U=Math.imul(_t,St),U=U+Math.imul(rt,Hr)|0,F=Math.imul(rt,St),C=C+Math.imul(Le,qr)|0,U=U+Math.imul(Le,tr)|0,U=U+Math.imul(V,qr)|0,F=F+Math.imul(V,tr)|0,C=C+Math.imul(Ue,Cn)|0,U=U+Math.imul(Ue,er)|0,U=U+Math.imul(oe,Cn)|0,F=F+Math.imul(oe,er)|0,C=C+Math.imul(ct,mn)|0,U=U+Math.imul(ct,Xt)|0,U=U+Math.imul(ze,mn)|0,F=F+Math.imul(ze,Xt)|0,C=C+Math.imul(Ge,wn)|0,U=U+Math.imul(Ge,Qt)|0,U=U+Math.imul(Re,wn)|0,F=F+Math.imul(Re,Qt)|0,C=C+Math.imul(Ae,In)|0,U=U+Math.imul(Ae,jt)|0,U=U+Math.imul(he,In)|0,F=F+Math.imul(he,jt)|0;var a=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(a>>>26)|0,a&=67108863,C=Math.imul(Er,Hr),U=Math.imul(Er,St),U=U+Math.imul(mt,Hr)|0,F=Math.imul(mt,St),C=C+Math.imul(_t,qr)|0,U=U+Math.imul(_t,tr)|0,U=U+Math.imul(rt,qr)|0,F=F+Math.imul(rt,tr)|0,C=C+Math.imul(Le,Cn)|0,U=U+Math.imul(Le,er)|0,U=U+Math.imul(V,Cn)|0,F=F+Math.imul(V,er)|0,C=C+Math.imul(Ue,mn)|0,U=U+Math.imul(Ue,Xt)|0,U=U+Math.imul(oe,mn)|0,F=F+Math.imul(oe,Xt)|0,C=C+Math.imul(ct,wn)|0,U=U+Math.imul(ct,Qt)|0,U=U+Math.imul(ze,wn)|0,F=F+Math.imul(ze,Qt)|0,C=C+Math.imul(Ge,In)|0,U=U+Math.imul(Ge,jt)|0,U=U+Math.imul(Re,In)|0,F=F+Math.imul(Re,jt)|0,C=C+Math.imul(Ae,ht)|0,U=U+Math.imul(Ae,Xe)|0,U=U+Math.imul(he,ht)|0,F=F+Math.imul(he,Xe)|0;var S=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(S>>>26)|0,S&=67108863,C=Math.imul(zr,Hr),U=Math.imul(zr,St),U=U+Math.imul(ve,Hr)|0,F=Math.imul(ve,St),C=C+Math.imul(Er,qr)|0,U=U+Math.imul(Er,tr)|0,U=U+Math.imul(mt,qr)|0,F=F+Math.imul(mt,tr)|0,C=C+Math.imul(_t,Cn)|0,U=U+Math.imul(_t,er)|0,U=U+Math.imul(rt,Cn)|0,F=F+Math.imul(rt,er)|0,C=C+Math.imul(Le,mn)|0,U=U+Math.imul(Le,Xt)|0,U=U+Math.imul(V,mn)|0,F=F+Math.imul(V,Xt)|0,C=C+Math.imul(Ue,wn)|0,U=U+Math.imul(Ue,Qt)|0,U=U+Math.imul(oe,wn)|0,F=F+Math.imul(oe,Qt)|0,C=C+Math.imul(ct,In)|0,U=U+Math.imul(ct,jt)|0,U=U+Math.imul(ze,In)|0,F=F+Math.imul(ze,jt)|0,C=C+Math.imul(Ge,ht)|0,U=U+Math.imul(Ge,Xe)|0,U=U+Math.imul(Re,ht)|0,F=F+Math.imul(Re,Xe)|0,C=C+Math.imul(Ae,ue)|0,U=U+Math.imul(Ae,je)|0,U=U+Math.imul(he,ue)|0,F=F+Math.imul(he,je)|0;var sn=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(sn>>>26)|0,sn&=67108863,C=Math.imul(_e,Hr),U=Math.imul(_e,St),U=U+Math.imul(Be,Hr)|0,F=Math.imul(Be,St),C=C+Math.imul(zr,qr)|0,U=U+Math.imul(zr,tr)|0,U=U+Math.imul(ve,qr)|0,F=F+Math.imul(ve,tr)|0,C=C+Math.imul(Er,Cn)|0,U=U+Math.imul(Er,er)|0,U=U+Math.imul(mt,Cn)|0,F=F+Math.imul(mt,er)|0,C=C+Math.imul(_t,mn)|0,U=U+Math.imul(_t,Xt)|0,U=U+Math.imul(rt,mn)|0,F=F+Math.imul(rt,Xt)|0,C=C+Math.imul(Le,wn)|0,U=U+Math.imul(Le,Qt)|0,U=U+Math.imul(V,wn)|0,F=F+Math.imul(V,Qt)|0,C=C+Math.imul(Ue,In)|0,U=U+Math.imul(Ue,jt)|0,U=U+Math.imul(oe,In)|0,F=F+Math.imul(oe,jt)|0,C=C+Math.imul(ct,ht)|0,U=U+Math.imul(ct,Xe)|0,U=U+Math.imul(ze,ht)|0,F=F+Math.imul(ze,Xe)|0,C=C+Math.imul(Ge,ue)|0,U=U+Math.imul(Ge,je)|0,U=U+Math.imul(Re,ue)|0,F=F+Math.imul(Re,je)|0,C=C+Math.imul(Ae,qe)|0,U=U+Math.imul(Ae,De)|0,U=U+Math.imul(he,qe)|0,F=F+Math.imul(he,De)|0;var Lr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,C=Math.imul($t,Hr),U=Math.imul($t,St),U=U+Math.imul(at,Hr)|0,F=Math.imul(at,St),C=C+Math.imul(_e,qr)|0,U=U+Math.imul(_e,tr)|0,U=U+Math.imul(Be,qr)|0,F=F+Math.imul(Be,tr)|0,C=C+Math.imul(zr,Cn)|0,U=U+Math.imul(zr,er)|0,U=U+Math.imul(ve,Cn)|0,F=F+Math.imul(ve,er)|0,C=C+Math.imul(Er,mn)|0,U=U+Math.imul(Er,Xt)|0,U=U+Math.imul(mt,mn)|0,F=F+Math.imul(mt,Xt)|0,C=C+Math.imul(_t,wn)|0,U=U+Math.imul(_t,Qt)|0,U=U+Math.imul(rt,wn)|0,F=F+Math.imul(rt,Qt)|0,C=C+Math.imul(Le,In)|0,U=U+Math.imul(Le,jt)|0,U=U+Math.imul(V,In)|0,F=F+Math.imul(V,jt)|0,C=C+Math.imul(Ue,ht)|0,U=U+Math.imul(Ue,Xe)|0,U=U+Math.imul(oe,ht)|0,F=F+Math.imul(oe,Xe)|0,C=C+Math.imul(ct,ue)|0,U=U+Math.imul(ct,je)|0,U=U+Math.imul(ze,ue)|0,F=F+Math.imul(ze,je)|0,C=C+Math.imul(Ge,qe)|0,U=U+Math.imul(Ge,De)|0,U=U+Math.imul(Re,qe)|0,F=F+Math.imul(Re,De)|0,C=C+Math.imul(Ae,Rt)|0,U=U+Math.imul(Ae,Vt)|0,U=U+Math.imul(he,Rt)|0,F=F+Math.imul(he,Vt)|0;var Wr=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,C=Math.imul($t,qr),U=Math.imul($t,tr),U=U+Math.imul(at,qr)|0,F=Math.imul(at,tr),C=C+Math.imul(_e,Cn)|0,U=U+Math.imul(_e,er)|0,U=U+Math.imul(Be,Cn)|0,F=F+Math.imul(Be,er)|0,C=C+Math.imul(zr,mn)|0,U=U+Math.imul(zr,Xt)|0,U=U+Math.imul(ve,mn)|0,F=F+Math.imul(ve,Xt)|0,C=C+Math.imul(Er,wn)|0,U=U+Math.imul(Er,Qt)|0,U=U+Math.imul(mt,wn)|0,F=F+Math.imul(mt,Qt)|0,C=C+Math.imul(_t,In)|0,U=U+Math.imul(_t,jt)|0,U=U+Math.imul(rt,In)|0,F=F+Math.imul(rt,jt)|0,C=C+Math.imul(Le,ht)|0,U=U+Math.imul(Le,Xe)|0,U=U+Math.imul(V,ht)|0,F=F+Math.imul(V,Xe)|0,C=C+Math.imul(Ue,ue)|0,U=U+Math.imul(Ue,je)|0,U=U+Math.imul(oe,ue)|0,F=F+Math.imul(oe,je)|0,C=C+Math.imul(ct,qe)|0,U=U+Math.imul(ct,De)|0,U=U+Math.imul(ze,qe)|0,F=F+Math.imul(ze,De)|0,C=C+Math.imul(Ge,Rt)|0,U=U+Math.imul(Ge,Vt)|0,U=U+Math.imul(Re,Rt)|0,F=F+Math.imul(Re,Vt)|0;var ln=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(ln>>>26)|0,ln&=67108863,C=Math.imul($t,Cn),U=Math.imul($t,er),U=U+Math.imul(at,Cn)|0,F=Math.imul(at,er),C=C+Math.imul(_e,mn)|0,U=U+Math.imul(_e,Xt)|0,U=U+Math.imul(Be,mn)|0,F=F+Math.imul(Be,Xt)|0,C=C+Math.imul(zr,wn)|0,U=U+Math.imul(zr,Qt)|0,U=U+Math.imul(ve,wn)|0,F=F+Math.imul(ve,Qt)|0,C=C+Math.imul(Er,In)|0,U=U+Math.imul(Er,jt)|0,U=U+Math.imul(mt,In)|0,F=F+Math.imul(mt,jt)|0,C=C+Math.imul(_t,ht)|0,U=U+Math.imul(_t,Xe)|0,U=U+Math.imul(rt,ht)|0,F=F+Math.imul(rt,Xe)|0,C=C+Math.imul(Le,ue)|0,U=U+Math.imul(Le,je)|0,U=U+Math.imul(V,ue)|0,F=F+Math.imul(V,je)|0,C=C+Math.imul(Ue,qe)|0,U=U+Math.imul(Ue,De)|0,U=U+Math.imul(oe,qe)|0,F=F+Math.imul(oe,De)|0,C=C+Math.imul(ct,Rt)|0,U=U+Math.imul(ct,Vt)|0,U=U+Math.imul(ze,Rt)|0,F=F+Math.imul(ze,Vt)|0;var yt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(yt>>>26)|0,yt&=67108863,C=Math.imul($t,mn),U=Math.imul($t,Xt),U=U+Math.imul(at,mn)|0,F=Math.imul(at,Xt),C=C+Math.imul(_e,wn)|0,U=U+Math.imul(_e,Qt)|0,U=U+Math.imul(Be,wn)|0,F=F+Math.imul(Be,Qt)|0,C=C+Math.imul(zr,In)|0,U=U+Math.imul(zr,jt)|0,U=U+Math.imul(ve,In)|0,F=F+Math.imul(ve,jt)|0,C=C+Math.imul(Er,ht)|0,U=U+Math.imul(Er,Xe)|0,U=U+Math.imul(mt,ht)|0,F=F+Math.imul(mt,Xe)|0,C=C+Math.imul(_t,ue)|0,U=U+Math.imul(_t,je)|0,U=U+Math.imul(rt,ue)|0,F=F+Math.imul(rt,je)|0,C=C+Math.imul(Le,qe)|0,U=U+Math.imul(Le,De)|0,U=U+Math.imul(V,qe)|0,F=F+Math.imul(V,De)|0,C=C+Math.imul(Ue,Rt)|0,U=U+Math.imul(Ue,Vt)|0,U=U+Math.imul(oe,Rt)|0,F=F+Math.imul(oe,Vt)|0;var ot=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(ot>>>26)|0,ot&=67108863,C=Math.imul($t,wn),U=Math.imul($t,Qt),U=U+Math.imul(at,wn)|0,F=Math.imul(at,Qt),C=C+Math.imul(_e,In)|0,U=U+Math.imul(_e,jt)|0,U=U+Math.imul(Be,In)|0,F=F+Math.imul(Be,jt)|0,C=C+Math.imul(zr,ht)|0,U=U+Math.imul(zr,Xe)|0,U=U+Math.imul(ve,ht)|0,F=F+Math.imul(ve,Xe)|0,C=C+Math.imul(Er,ue)|0,U=U+Math.imul(Er,je)|0,U=U+Math.imul(mt,ue)|0,F=F+Math.imul(mt,je)|0,C=C+Math.imul(_t,qe)|0,U=U+Math.imul(_t,De)|0,U=U+Math.imul(rt,qe)|0,F=F+Math.imul(rt,De)|0,C=C+Math.imul(Le,Rt)|0,U=U+Math.imul(Le,Vt)|0,U=U+Math.imul(V,Rt)|0,F=F+Math.imul(V,Vt)|0;var lt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(lt>>>26)|0,lt&=67108863,C=Math.imul($t,In),U=Math.imul($t,jt),U=U+Math.imul(at,In)|0,F=Math.imul(at,jt),C=C+Math.imul(_e,ht)|0,U=U+Math.imul(_e,Xe)|0,U=U+Math.imul(Be,ht)|0,F=F+Math.imul(Be,Xe)|0,C=C+Math.imul(zr,ue)|0,U=U+Math.imul(zr,je)|0,U=U+Math.imul(ve,ue)|0,F=F+Math.imul(ve,je)|0,C=C+Math.imul(Er,qe)|0,U=U+Math.imul(Er,De)|0,U=U+Math.imul(mt,qe)|0,F=F+Math.imul(mt,De)|0,C=C+Math.imul(_t,Rt)|0,U=U+Math.imul(_t,Vt)|0,U=U+Math.imul(rt,Rt)|0,F=F+Math.imul(rt,Vt)|0;var gt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(gt>>>26)|0,gt&=67108863,C=Math.imul($t,ht),U=Math.imul($t,Xe),U=U+Math.imul(at,ht)|0,F=Math.imul(at,Xe),C=C+Math.imul(_e,ue)|0,U=U+Math.imul(_e,je)|0,U=U+Math.imul(Be,ue)|0,F=F+Math.imul(Be,je)|0,C=C+Math.imul(zr,qe)|0,U=U+Math.imul(zr,De)|0,U=U+Math.imul(ve,qe)|0,F=F+Math.imul(ve,De)|0,C=C+Math.imul(Er,Rt)|0,U=U+Math.imul(Er,Vt)|0,U=U+Math.imul(mt,Rt)|0,F=F+Math.imul(mt,Vt)|0;var Ie=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,C=Math.imul($t,ue),U=Math.imul($t,je),U=U+Math.imul(at,ue)|0,F=Math.imul(at,je),C=C+Math.imul(_e,qe)|0,U=U+Math.imul(_e,De)|0,U=U+Math.imul(Be,qe)|0,F=F+Math.imul(Be,De)|0,C=C+Math.imul(zr,Rt)|0,U=U+Math.imul(zr,Vt)|0,U=U+Math.imul(ve,Rt)|0,F=F+Math.imul(ve,Vt)|0;var Zt=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,C=Math.imul($t,qe),U=Math.imul($t,De),U=U+Math.imul(at,qe)|0,F=Math.imul(at,De),C=C+Math.imul(_e,Rt)|0,U=U+Math.imul(_e,Vt)|0,U=U+Math.imul(Be,Rt)|0,F=F+Math.imul(Be,Vt)|0;var Ir=(u+C|0)+((U&8191)<<13)|0;u=(F+(U>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,C=Math.imul($t,Rt),U=Math.imul($t,Vt),U=U+Math.imul(at,Rt)|0,F=Math.imul(at,Vt);var $=(u+C|0)+((U&8191)<<13)|0;return u=(F+(U>>>13)|0)+($>>>26)|0,$&=67108863,R[0]=br,R[1]=Rr,R[2]=Dr,R[3]=Pr,R[4]=k,R[5]=a,R[6]=S,R[7]=sn,R[8]=Lr,R[9]=Wr,R[10]=ln,R[11]=yt,R[12]=ot,R[13]=lt,R[14]=gt,R[15]=Ie,R[16]=Zt,R[17]=Ir,R[18]=$,u!==0&&(R[19]=u,E.length++),E};Math.imul||(q=G);function Y(l,A,m){m.negative=A.negative^l.negative,m.length=l.length+A.length;for(var E=0,w=0,x=0;x<m.length-1;x++){var R=w;w=0;for(var u=E&67108863,C=Math.min(x,A.length-1),U=Math.max(0,x-l.length+1);U<=C;U++){var F=x-U,X=l.words[F]|0,Ae=A.words[U]|0,he=X*Ae,$e=he&67108863;R=R+(he/67108864|0)|0,$e=$e+u|0,u=$e&67108863,R=R+($e>>>26)|0,w+=R>>>26,R&=67108863}m.words[x]=u,E=R,R=w}return E!==0?m.words[x]=E:m.length--,m._strip()}function ne(l,A,m){return Y(l,A,m)}n.prototype.mulTo=function(A,m){var E,w=(this||Ct).length+A.length;return(this||Ct).length===10&&A.length===10?E=q(this||Ct,A,m):w<63?E=G(this||Ct,A,m):w<1024?E=Y(this||Ct,A,m):E=ne(this||Ct,A,m),E},n.prototype.mul=function(A){var m=new n(null);return m.words=new Array((this||Ct).length+A.length),this.mulTo(A,m)},n.prototype.mulf=function(A){var m=new n(null);return m.words=new Array((this||Ct).length+A.length),ne(this||Ct,A,m)},n.prototype.imul=function(A){return this.clone().mulTo(A,this||Ct)},n.prototype.imuln=function(A){var m=A<0;m&&(A=-A),r(typeof A=="number"),r(A<67108864);for(var E=0,w=0;w<(this||Ct).length;w++){var x=((this||Ct).words[w]|0)*A,R=(x&67108863)+(E&67108863);E>>=26,E+=x/67108864|0,E+=R>>>26,(this||Ct).words[w]=R&67108863}return E!==0&&((this||Ct).words[w]=E,(this||Ct).length++),m?this.ineg():this||Ct},n.prototype.muln=function(A){return this.clone().imuln(A)},n.prototype.sqr=function(){return this.mul(this||Ct)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(A){var m=P(A);if(m.length===0)return new n(1);for(var E=this||Ct,w=0;w<m.length&&m[w]===0;w++,E=E.sqr());if(++w<m.length)for(var x=E.sqr();w<m.length;w++,x=x.sqr())m[w]!==0&&(E=E.mul(x));return E},n.prototype.iushln=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26,w=67108863>>>26-m<<26-m,x;if(m!==0){var R=0;for(x=0;x<(this||Ct).length;x++){var u=(this||Ct).words[x]&w,C=((this||Ct).words[x]|0)-u<<m;(this||Ct).words[x]=C|R,R=u>>>26-m}R&&((this||Ct).words[x]=R,(this||Ct).length++)}if(E!==0){for(x=(this||Ct).length-1;x>=0;x--)(this||Ct).words[x+E]=(this||Ct).words[x];for(x=0;x<E;x++)(this||Ct).words[x]=0;(this||Ct).length+=E}return this._strip()},n.prototype.ishln=function(A){return r((this||Ct).negative===0),this.iushln(A)},n.prototype.iushrn=function(A,m,E){r(typeof A=="number"&&A>=0);var w;m?w=(m-m%26)/26:w=0;var x=A%26,R=Math.min((A-x)/26,(this||Ct).length),u=67108863^67108863>>>x<<x,C=E;if(w-=R,w=Math.max(0,w),C){for(var U=0;U<R;U++)C.words[U]=(this||Ct).words[U];C.length=R}if(R!==0)if((this||Ct).length>R)for((this||Ct).length-=R,U=0;U<(this||Ct).length;U++)(this||Ct).words[U]=(this||Ct).words[U+R];else(this||Ct).words[0]=0,(this||Ct).length=1;var F=0;for(U=(this||Ct).length-1;U>=0&&(F!==0||U>=w);U--){var X=(this||Ct).words[U]|0;(this||Ct).words[U]=F<<26-x|X>>>x,F=X&u}return C&&F!==0&&(C.words[C.length++]=F),(this||Ct).length===0&&((this||Ct).words[0]=0,(this||Ct).length=1),this._strip()},n.prototype.ishrn=function(A,m,E){return r((this||Ct).negative===0),this.iushrn(A,m,E)},n.prototype.shln=function(A){return this.clone().ishln(A)},n.prototype.ushln=function(A){return this.clone().iushln(A)},n.prototype.shrn=function(A){return this.clone().ishrn(A)},n.prototype.ushrn=function(A){return this.clone().iushrn(A)},n.prototype.testn=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26,w=1<<m;if((this||Ct).length<=E)return!1;var x=(this||Ct).words[E];return!!(x&w)},n.prototype.imaskn=function(A){r(typeof A=="number"&&A>=0);var m=A%26,E=(A-m)/26;if(r((this||Ct).negative===0,"imaskn works only with positive numbers"),(this||Ct).length<=E)return this||Ct;if(m!==0&&E++,(this||Ct).length=Math.min(E,(this||Ct).length),m!==0){var w=67108863^67108863>>>m<<m;(this||Ct).words[(this||Ct).length-1]&=w}return this._strip()},n.prototype.maskn=function(A){return this.clone().imaskn(A)},n.prototype.iaddn=function(A){return r(typeof A=="number"),r(A<67108864),A<0?this.isubn(-A):(this||Ct).negative!==0?(this||Ct).length===1&&((this||Ct).words[0]|0)<=A?((this||Ct).words[0]=A-((this||Ct).words[0]|0),(this||Ct).negative=0,this||Ct):((this||Ct).negative=0,this.isubn(A),(this||Ct).negative=1,this||Ct):this._iaddn(A)},n.prototype._iaddn=function(A){(this||Ct).words[0]+=A;for(var m=0;m<(this||Ct).length&&(this||Ct).words[m]>=67108864;m++)(this||Ct).words[m]-=67108864,m===(this||Ct).length-1?(this||Ct).words[m+1]=1:(this||Ct).words[m+1]++;return(this||Ct).length=Math.max((this||Ct).length,m+1),this||Ct},n.prototype.isubn=function(A){if(r(typeof A=="number"),r(A<67108864),A<0)return this.iaddn(-A);if((this||Ct).negative!==0)return(this||Ct).negative=0,this.iaddn(A),(this||Ct).negative=1,this||Ct;if((this||Ct).words[0]-=A,(this||Ct).length===1&&(this||Ct).words[0]<0)(this||Ct).words[0]=-(this||Ct).words[0],(this||Ct).negative=1;else for(var m=0;m<(this||Ct).length&&(this||Ct).words[m]<0;m++)(this||Ct).words[m]+=67108864,(this||Ct).words[m+1]-=1;return this._strip()},n.prototype.addn=function(A){return this.clone().iaddn(A)},n.prototype.subn=function(A){return this.clone().isubn(A)},n.prototype.iabs=function(){return(this||Ct).negative=0,this||Ct},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(A,m,E){var w=A.length+E,x;this._expand(w);var R,u=0;for(x=0;x<A.length;x++){R=((this||Ct).words[x+E]|0)+u;var C=(A.words[x]|0)*m;R-=C&67108863,u=(R>>26)-(C/67108864|0),(this||Ct).words[x+E]=R&67108863}for(;x<(this||Ct).length-E;x++)R=((this||Ct).words[x+E]|0)+u,u=R>>26,(this||Ct).words[x+E]=R&67108863;if(u===0)return this._strip();for(r(u===-1),u=0,x=0;x<(this||Ct).length;x++)R=-((this||Ct).words[x]|0)+u,u=R>>26,(this||Ct).words[x]=R&67108863;return(this||Ct).negative=1,this._strip()},n.prototype._wordDiv=function(A,m){var E=(this||Ct).length-A.length,w=this.clone(),x=A,R=x.words[x.length-1]|0,u=this._countBits(R);E=26-u,E!==0&&(x=x.ushln(E),w.iushln(E),R=x.words[x.length-1]|0);var C=w.length-x.length,U;if(m!=="mod"){U=new n(null),U.length=C+1,U.words=new Array(U.length);for(var F=0;F<U.length;F++)U.words[F]=0}var X=w.clone()._ishlnsubmul(x,1,C);X.negative===0&&(w=X,U&&(U.words[C]=1));for(var Ae=C-1;Ae>=0;Ae--){var he=(w.words[x.length+Ae]|0)*67108864+(w.words[x.length+Ae-1]|0);for(he=Math.min(he/R|0,67108863),w._ishlnsubmul(x,he,Ae);w.negative!==0;)he--,w.negative=0,w._ishlnsubmul(x,1,Ae),w.isZero()||(w.negative^=1);U&&(U.words[Ae]=he)}return U&&U._strip(),w._strip(),m!=="div"&&E!==0&&w.iushrn(E),{div:U||null,mod:w}},n.prototype.divmod=function(A,m,E){if(r(!A.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var w,x,R;return(this||Ct).negative!==0&&A.negative===0?(R=this.neg().divmod(A,m),m!=="mod"&&(w=R.div.neg()),m!=="div"&&(x=R.mod.neg(),E&&x.negative!==0&&x.iadd(A)),{div:w,mod:x}):(this||Ct).negative===0&&A.negative!==0?(R=this.divmod(A.neg(),m),m!=="mod"&&(w=R.div.neg()),{div:w,mod:R.mod}):((this||Ct).negative&A.negative)!==0?(R=this.neg().divmod(A.neg(),m),m!=="div"&&(x=R.mod.neg(),E&&x.negative!==0&&x.isub(A)),{div:R.div,mod:x}):A.length>(this||Ct).length||this.cmp(A)<0?{div:new n(0),mod:this||Ct}:A.length===1?m==="div"?{div:this.divn(A.words[0]),mod:null}:m==="mod"?{div:null,mod:new n(this.modrn(A.words[0]))}:{div:this.divn(A.words[0]),mod:new n(this.modrn(A.words[0]))}:this._wordDiv(A,m)},n.prototype.div=function(A){return this.divmod(A,"div",!1).div},n.prototype.mod=function(A){return this.divmod(A,"mod",!1).mod},n.prototype.umod=function(A){return this.divmod(A,"mod",!0).mod},n.prototype.divRound=function(A){var m=this.divmod(A);if(m.mod.isZero())return m.div;var E=m.div.negative!==0?m.mod.isub(A):m.mod,w=A.ushrn(1),x=A.andln(1),R=E.cmp(w);return R<0||x===1&&R===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},n.prototype.modrn=function(A){var m=A<0;m&&(A=-A),r(A<=67108863);for(var E=(1<<26)%A,w=0,x=(this||Ct).length-1;x>=0;x--)w=(E*w+((this||Ct).words[x]|0))%A;return m?-w:w},n.prototype.modn=function(A){return this.modrn(A)},n.prototype.idivn=function(A){var m=A<0;m&&(A=-A),r(A<=67108863);for(var E=0,w=(this||Ct).length-1;w>=0;w--){var x=((this||Ct).words[w]|0)+E*67108864;(this||Ct).words[w]=x/A|0,E=x%A}return this._strip(),m?this.ineg():this||Ct},n.prototype.divn=function(A){return this.clone().idivn(A)},n.prototype.egcd=function(A){r(A.negative===0),r(!A.isZero());var m=this||Ct,E=A.clone();m.negative!==0?m=m.umod(A):m=m.clone();for(var w=new n(1),x=new n(0),R=new n(0),u=new n(1),C=0;m.isEven()&&E.isEven();)m.iushrn(1),E.iushrn(1),++C;for(var U=E.clone(),F=m.clone();!m.isZero();){for(var X=0,Ae=1;(m.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(m.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(U),x.isub(F)),w.iushrn(1),x.iushrn(1);for(var he=0,$e=1;(E.words[0]&$e)===0&&he<26;++he,$e<<=1);if(he>0)for(E.iushrn(he);he-- >0;)(R.isOdd()||u.isOdd())&&(R.iadd(U),u.isub(F)),R.iushrn(1),u.iushrn(1);m.cmp(E)>=0?(m.isub(E),w.isub(R),x.isub(u)):(E.isub(m),R.isub(w),u.isub(x))}return{a:R,b:u,gcd:E.iushln(C)}},n.prototype._invmp=function(A){r(A.negative===0),r(!A.isZero());var m=this||Ct,E=A.clone();m.negative!==0?m=m.umod(A):m=m.clone();for(var w=new n(1),x=new n(0),R=E.clone();m.cmpn(1)>0&&E.cmpn(1)>0;){for(var u=0,C=1;(m.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(m.iushrn(u);u-- >0;)w.isOdd()&&w.iadd(R),w.iushrn(1);for(var U=0,F=1;(E.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(E.iushrn(U);U-- >0;)x.isOdd()&&x.iadd(R),x.iushrn(1);m.cmp(E)>=0?(m.isub(E),w.isub(x)):(E.isub(m),x.isub(w))}var X;return m.cmpn(1)===0?X=w:X=x,X.cmpn(0)<0&&X.iadd(A),X},n.prototype.gcd=function(A){if(this.isZero())return A.abs();if(A.isZero())return this.abs();var m=this.clone(),E=A.clone();m.negative=0,E.negative=0;for(var w=0;m.isEven()&&E.isEven();w++)m.iushrn(1),E.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;E.isEven();)E.iushrn(1);var x=m.cmp(E);if(x<0){var R=m;m=E,E=R}else if(x===0||E.cmpn(1)===0)break;m.isub(E)}while(!0);return E.iushln(w)},n.prototype.invm=function(A){return this.egcd(A).a.umod(A)},n.prototype.isEven=function(){return((this||Ct).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Ct).words[0]&1)===1},n.prototype.andln=function(A){return(this||Ct).words[0]&A},n.prototype.bincn=function(A){r(typeof A=="number");var m=A%26,E=(A-m)/26,w=1<<m;if((this||Ct).length<=E)return this._expand(E+1),(this||Ct).words[E]|=w,this||Ct;for(var x=w,R=E;x!==0&&R<(this||Ct).length;R++){var u=(this||Ct).words[R]|0;u+=x,x=u>>>26,u&=67108863,(this||Ct).words[R]=u}return x!==0&&((this||Ct).words[R]=x,(this||Ct).length++),this||Ct},n.prototype.isZero=function(){return(this||Ct).length===1&&(this||Ct).words[0]===0},n.prototype.cmpn=function(A){var m=A<0;if((this||Ct).negative!==0&&!m)return-1;if((this||Ct).negative===0&&m)return 1;this._strip();var E;if((this||Ct).length>1)E=1;else{m&&(A=-A),r(A<=67108863,"Number is too big");var w=(this||Ct).words[0]|0;E=w===A?0:w<A?-1:1}return(this||Ct).negative!==0?-E|0:E},n.prototype.cmp=function(A){if((this||Ct).negative!==0&&A.negative===0)return-1;if((this||Ct).negative===0&&A.negative!==0)return 1;var m=this.ucmp(A);return(this||Ct).negative!==0?-m|0:m},n.prototype.ucmp=function(A){if((this||Ct).length>A.length)return 1;if((this||Ct).length<A.length)return-1;for(var m=0,E=(this||Ct).length-1;E>=0;E--){var w=(this||Ct).words[E]|0,x=A.words[E]|0;if(w!==x){w<x?m=-1:w>x&&(m=1);break}}return m},n.prototype.gtn=function(A){return this.cmpn(A)===1},n.prototype.gt=function(A){return this.cmp(A)===1},n.prototype.gten=function(A){return this.cmpn(A)>=0},n.prototype.gte=function(A){return this.cmp(A)>=0},n.prototype.ltn=function(A){return this.cmpn(A)===-1},n.prototype.lt=function(A){return this.cmp(A)===-1},n.prototype.lten=function(A){return this.cmpn(A)<=0},n.prototype.lte=function(A){return this.cmp(A)<=0},n.prototype.eqn=function(A){return this.cmpn(A)===0},n.prototype.eq=function(A){return this.cmp(A)===0},n.red=function(A){return new O(A)},n.prototype.toRed=function(A){return r(!(this||Ct).red,"Already a number in reduction context"),r((this||Ct).negative===0,"red works only with positives"),A.convertTo(this||Ct)._forceRed(A)},n.prototype.fromRed=function(){return r((this||Ct).red,"fromRed works only with numbers in reduction context"),(this||Ct).red.convertFrom(this||Ct)},n.prototype._forceRed=function(A){return(this||Ct).red=A,this||Ct},n.prototype.forceRed=function(A){return r(!(this||Ct).red,"Already a number in reduction context"),this._forceRed(A)},n.prototype.redAdd=function(A){return r((this||Ct).red,"redAdd works only with red numbers"),(this||Ct).red.add(this||Ct,A)},n.prototype.redIAdd=function(A){return r((this||Ct).red,"redIAdd works only with red numbers"),(this||Ct).red.iadd(this||Ct,A)},n.prototype.redSub=function(A){return r((this||Ct).red,"redSub works only with red numbers"),(this||Ct).red.sub(this||Ct,A)},n.prototype.redISub=function(A){return r((this||Ct).red,"redISub works only with red numbers"),(this||Ct).red.isub(this||Ct,A)},n.prototype.redShl=function(A){return r((this||Ct).red,"redShl works only with red numbers"),(this||Ct).red.shl(this||Ct,A)},n.prototype.redMul=function(A){return r((this||Ct).red,"redMul works only with red numbers"),(this||Ct).red._verify2(this||Ct,A),(this||Ct).red.mul(this||Ct,A)},n.prototype.redIMul=function(A){return r((this||Ct).red,"redMul works only with red numbers"),(this||Ct).red._verify2(this||Ct,A),(this||Ct).red.imul(this||Ct,A)},n.prototype.redSqr=function(){return r((this||Ct).red,"redSqr works only with red numbers"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.sqr(this||Ct)},n.prototype.redISqr=function(){return r((this||Ct).red,"redISqr works only with red numbers"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.isqr(this||Ct)},n.prototype.redSqrt=function(){return r((this||Ct).red,"redSqrt works only with red numbers"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.sqrt(this||Ct)},n.prototype.redInvm=function(){return r((this||Ct).red,"redInvm works only with red numbers"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.invm(this||Ct)},n.prototype.redNeg=function(){return r((this||Ct).red,"redNeg works only with red numbers"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.neg(this||Ct)},n.prototype.redPow=function(A){return r((this||Ct).red&&!A.red,"redPow(normalNum)"),(this||Ct).red._verify1(this||Ct),(this||Ct).red.pow(this||Ct,A)};var ce={k256:null,p224:null,p192:null,p25519:null};function le(l,A){(this||Ct).name=l,(this||Ct).p=new n(A,16),(this||Ct).n=(this||Ct).p.bitLength(),(this||Ct).k=new n(1).iushln((this||Ct).n).isub((this||Ct).p),(this||Ct).tmp=this._tmp()}le.prototype._tmp=function(){var A=new n(null);return A.words=new Array(Math.ceil((this||Ct).n/13)),A},le.prototype.ireduce=function(A){var m=A,E;do this.split(m,(this||Ct).tmp),m=this.imulK(m),m=m.iadd((this||Ct).tmp),E=m.bitLength();while(E>(this||Ct).n);var w=E<(this||Ct).n?-1:m.ucmp((this||Ct).p);return w===0?(m.words[0]=0,m.length=1):w>0?m.isub((this||Ct).p):m.strip!==void 0?m.strip():m._strip(),m},le.prototype.split=function(A,m){A.iushrn((this||Ct).n,0,m)},le.prototype.imulK=function(A){return A.imul((this||Ct).k)};function pe(){le.call(this||Ct,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(pe,le),pe.prototype.split=function(A,m){for(var E=4194303,w=Math.min(A.length,9),x=0;x<w;x++)m.words[x]=A.words[x];if(m.length=w,A.length<=9){A.words[0]=0,A.length=1;return}var R=A.words[9];for(m.words[m.length++]=R&E,x=10;x<A.length;x++){var u=A.words[x]|0;A.words[x-10]=(u&E)<<4|R>>>22,R=u}R>>>=22,A.words[x-10]=R,R===0&&A.length>10?A.length-=10:A.length-=9},pe.prototype.imulK=function(A){A.words[A.length]=0,A.words[A.length+1]=0,A.length+=2;for(var m=0,E=0;E<A.length;E++){var w=A.words[E]|0;m+=w*977,A.words[E]=m&67108863,m=w*64+(m/67108864|0)}return A.words[A.length-1]===0&&(A.length--,A.words[A.length-1]===0&&A.length--),A};function ae(){le.call(this||Ct,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(ae,le);function W(){le.call(this||Ct,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(W,le);function se(){le.call(this||Ct,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(se,le),se.prototype.imulK=function(A){for(var m=0,E=0;E<A.length;E++){var w=(A.words[E]|0)*19+m,x=w&67108863;w>>>=26,A.words[E]=x,m=w}return m!==0&&(A.words[A.length++]=m),A},n._prime=function(A){if(ce[A])return ce[A];var m;if(A==="k256")m=new pe;else if(A==="p224")m=new ae;else if(A==="p192")m=new W;else if(A==="p25519")m=new se;else throw new Error("Unknown prime "+A);return ce[A]=m,m};function O(l){if(typeof l=="string"){var A=n._prime(l);(this||Ct).m=A.p,(this||Ct).prime=A}else r(l.gtn(1),"modulus must be greater than 1"),(this||Ct).m=l,(this||Ct).prime=null}O.prototype._verify1=function(A){r(A.negative===0,"red works only with positives"),r(A.red,"red works only with red numbers")},O.prototype._verify2=function(A,m){r((A.negative|m.negative)===0,"red works only with positives"),r(A.red&&A.red===m.red,"red works only with red numbers")},O.prototype.imod=function(A){return(this||Ct).prime?(this||Ct).prime.ireduce(A)._forceRed(this||Ct):(_(A,A.umod((this||Ct).m)._forceRed(this||Ct)),A)},O.prototype.neg=function(A){return A.isZero()?A.clone():(this||Ct).m.sub(A)._forceRed(this||Ct)},O.prototype.add=function(A,m){this._verify2(A,m);var E=A.add(m);return E.cmp((this||Ct).m)>=0&&E.isub((this||Ct).m),E._forceRed(this||Ct)},O.prototype.iadd=function(A,m){this._verify2(A,m);var E=A.iadd(m);return E.cmp((this||Ct).m)>=0&&E.isub((this||Ct).m),E},O.prototype.sub=function(A,m){this._verify2(A,m);var E=A.sub(m);return E.cmpn(0)<0&&E.iadd((this||Ct).m),E._forceRed(this||Ct)},O.prototype.isub=function(A,m){this._verify2(A,m);var E=A.isub(m);return E.cmpn(0)<0&&E.iadd((this||Ct).m),E},O.prototype.shl=function(A,m){return this._verify1(A),this.imod(A.ushln(m))},O.prototype.imul=function(A,m){return this._verify2(A,m),this.imod(A.imul(m))},O.prototype.mul=function(A,m){return this._verify2(A,m),this.imod(A.mul(m))},O.prototype.isqr=function(A){return this.imul(A,A.clone())},O.prototype.sqr=function(A){return this.mul(A,A)},O.prototype.sqrt=function(A){if(A.isZero())return A.clone();var m=(this||Ct).m.andln(3);if(r(m%2===1),m===3){var E=(this||Ct).m.add(new n(1)).iushrn(2);return this.pow(A,E)}for(var w=(this||Ct).m.subn(1),x=0;!w.isZero()&&w.andln(1)===0;)x++,w.iushrn(1);r(!w.isZero());var R=new n(1).toRed(this||Ct),u=R.redNeg(),C=(this||Ct).m.subn(1).iushrn(1),U=(this||Ct).m.bitLength();for(U=new n(2*U*U).toRed(this||Ct);this.pow(U,C).cmp(u)!==0;)U.redIAdd(u);for(var F=this.pow(U,w),X=this.pow(A,w.addn(1).iushrn(1)),Ae=this.pow(A,w),he=x;Ae.cmp(R)!==0;){for(var $e=Ae,Ge=0;$e.cmp(R)!==0;Ge++)$e=$e.redSqr();r(Ge<he);var Re=this.pow(F,new n(1).iushln(he-Ge-1));X=X.redMul(Re),F=Re.redSqr(),Ae=Ae.redMul(F),he=Ge}return X},O.prototype.invm=function(A){var m=A._invmp((this||Ct).m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},O.prototype.pow=function(A,m){if(m.isZero())return new n(1).toRed(this||Ct);if(m.cmpn(1)===0)return A.clone();var E=4,w=new Array(1<<E);w[0]=new n(1).toRed(this||Ct),w[1]=A;for(var x=2;x<w.length;x++)w[x]=this.mul(w[x-1],A);var R=w[0],u=0,C=0,U=m.bitLength()%26;for(U===0&&(U=26),x=m.length-1;x>=0;x--){for(var F=m.words[x],X=U-1;X>=0;X--){var Ae=F>>X&1;if(R!==w[0]&&(R=this.sqr(R)),Ae===0&&u===0){C=0;continue}u<<=1,u|=Ae,C++,!(C!==E&&(x!==0||X!==0))&&(R=this.mul(R,w[u]),C=0,u=0)}U=26}return R},O.prototype.convertTo=function(A){var m=A.umod((this||Ct).m);return m===A?m.clone():m},O.prototype.convertFrom=function(A){var m=A.clone();return m.red=null,m},n.mont=function(A){return new s(A)};function s(l){O.call(this||Ct,l),(this||Ct).shift=(this||Ct).m.bitLength(),(this||Ct).shift%26!==0&&((this||Ct).shift+=26-(this||Ct).shift%26),(this||Ct).r=new n(1).iushln((this||Ct).shift),(this||Ct).r2=this.imod((this||Ct).r.sqr()),(this||Ct).rinv=(this||Ct).r._invmp((this||Ct).m),(this||Ct).minv=(this||Ct).rinv.mul((this||Ct).r).isubn(1).div((this||Ct).m),(this||Ct).minv=(this||Ct).minv.umod((this||Ct).r),(this||Ct).minv=(this||Ct).r.sub((this||Ct).minv)}i(s,O),s.prototype.convertTo=function(A){return this.imod(A.ushln((this||Ct).shift))},s.prototype.convertFrom=function(A){var m=this.imod(A.mul((this||Ct).rinv));return m.red=null,m},s.prototype.imul=function(A,m){if(A.isZero()||m.isZero())return A.words[0]=0,A.length=1,A;var E=A.imul(m),w=E.maskn((this||Ct).shift).mul((this||Ct).minv).imaskn((this||Ct).shift).mul((this||Ct).m),x=E.isub(w).iushrn((this||Ct).shift),R=x;return x.cmp((this||Ct).m)>=0?R=x.isub((this||Ct).m):x.cmpn(0)<0&&(R=x.iadd((this||Ct).m)),R._forceRed(this||Ct)},s.prototype.mul=function(A,m){if(A.isZero()||m.isZero())return new n(0)._forceRed(this||Ct);var E=A.mul(m),w=E.maskn((this||Ct).shift).mul((this||Ct).minv).imaskn((this||Ct).shift).mul((this||Ct).m),x=E.isub(w).iushrn((this||Ct).shift),R=x;return x.cmp((this||Ct).m)>=0?R=x.isub((this||Ct).m):x.cmpn(0)<0&&(R=x.iadd((this||Ct).m)),R._forceRed(this||Ct)},s.prototype.invm=function(A){var m=this.imod(A._invmp((this||Ct).m).mul((this||Ct).r2));return m._forceRed(this||Ct)}})(Hse,xVe)),Hse.exports}function e0e(){if(XFe)return Gse;XFe=!0;var e=Nu.Buffer,t=jue(),r=TO();function i(d){var g=n(d),y=g.toRed(t.mont(d.modulus)).redPow(new t(d.publicExponent)).fromRed();return{blinder:y,unblinder:g.invm(d.modulus)}}function n(d){var g=d.modulus.byteLength(),y;do y=new t(r(g));while(y.cmp(d.modulus)>=0||!y.umod(d.prime1)||!y.umod(d.prime2));return y}function o(d,g){var y=i(g),_=g.modulus.byteLength(),I=new t(d).mul(y.blinder).umod(g.modulus),N=I.toRed(t.mont(g.prime1)),T=I.toRed(t.mont(g.prime2)),M=g.coefficient,D=g.prime1,P=g.prime2,G=N.redPow(g.exponent1).fromRed(),q=T.redPow(g.exponent2).fromRed(),Y=G.isub(q).imul(M).umod(D).imul(P);return q.iadd(Y).imul(y.unblinder).umod(g.modulus).toArrayLike(e,"be",_)}return o.getr=n,Gse=o,Gse}function Pv(){return ZFe||(ZFe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||kt).negative=0,(this||kt).words=null,(this||kt).length=0,(this||kt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||kt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||kt).negative=1,s=-s),s<67108864?((this||kt).words=[s&67108863],(this||kt).length=1):s<4503599627370496?((this||kt).words=[s&67108863,s/67108864&67108863],(this||kt).length=2):(r(s<9007199254740992),(this||kt).words=[s&67108863,s/67108864&67108863,1],(this||kt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||kt).words=[0],(this||kt).length=1,this||kt;(this||kt).length=Math.ceil(s.length/3),(this||kt).words=new Array((this||kt).length);for(var m=0;m<(this||kt).length;m++)(this||kt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||kt).words[E]|=w<<x&67108863,(this||kt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||kt).words[E]|=w<<x&67108863,(this||kt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||kt).length=Math.ceil((s.length-l)/6),(this||kt).words=new Array((this||kt).length);for(var m=0;m<(this||kt).length;m++)(this||kt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||kt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||kt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||kt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||kt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||kt).words=[0],(this||kt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||kt).words[0]+u<67108864?(this||kt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||kt).words[0]+u<67108864?(this||kt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||kt).length);for(var l=0;l<(this||kt).length;l++)s.words[l]=(this||kt).words[l];s.length=(this||kt).length,s.negative=(this||kt).negative,s.red=(this||kt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||kt).length<s;)(this||kt).words[(this||kt).length++]=0;return this||kt},n.prototype.strip=function(){for(;(this||kt).length>1&&(this||kt).words[(this||kt).length-1]===0;)(this||kt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||kt).length===1&&(this||kt).words[0]===0&&((this||kt).negative=0),this||kt},n.prototype.inspect=function(){return((this||kt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||kt).length;w++){var x=(this||kt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||kt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||kt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||kt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||kt).words[0];return(this||kt).length===2?s+=(this||kt).words[1]*67108864:(this||kt).length===3&&(this||kt).words[2]===1?s+=4503599627370496+(this||kt).words[1]*67108864:(this||kt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||kt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||kt).words[(this||kt).length-1],l=this._countBits(s);return((this||kt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||kt).length;l++){var A=this._zeroBits((this||kt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||kt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||kt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||kt).negative^=1),this||kt},n.prototype.iuor=function(s){for(;(this||kt).length<s.length;)(this||kt).words[(this||kt).length++]=0;for(var l=0;l<s.length;l++)(this||kt).words[l]=(this||kt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||kt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||kt).length>s.length?this.clone().ior(s):s.clone().ior(this||kt)},n.prototype.uor=function(s){return(this||kt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||kt)},n.prototype.iuand=function(s){var l;(this||kt).length>s.length?l=s:l=this||kt;for(var A=0;A<l.length;A++)(this||kt).words[A]=(this||kt).words[A]&s.words[A];return(this||kt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||kt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||kt).length>s.length?this.clone().iand(s):s.clone().iand(this||kt)},n.prototype.uand=function(s){return(this||kt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||kt)},n.prototype.iuxor=function(s){var l,A;(this||kt).length>s.length?(l=this||kt,A=s):(l=s,A=this||kt);for(var m=0;m<A.length;m++)(this||kt).words[m]=l.words[m]^A.words[m];if((this||kt)!==l)for(;m<l.length;m++)(this||kt).words[m]=l.words[m];return(this||kt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||kt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||kt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||kt)},n.prototype.uxor=function(s){return(this||kt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||kt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||kt).words[m]=~(this||kt).words[m]&67108863;return A>0&&((this||kt).words[m]=~(this||kt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||kt).words[A]=(this||kt).words[A]|1<<m:(this||kt).words[A]=(this||kt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||kt).negative!==0&&s.negative===0)return(this||kt).negative=0,l=this.isub(s),(this||kt).negative^=1,this._normSign();if((this||kt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||kt).length>s.length?(A=this||kt,m=s):(A=s,m=this||kt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||kt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||kt).words[w]=l&67108863,E=l>>>26;if((this||kt).length=A.length,E!==0)(this||kt).words[(this||kt).length]=E,(this||kt).length++;else if(A!==(this||kt))for(;w<A.length;w++)(this||kt).words[w]=A.words[w];return this||kt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||kt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||kt).negative!==0?((this||kt).negative=0,l=s.sub(this||kt),(this||kt).negative=1,l):(this||kt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||kt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||kt).negative!==0)return(this||kt).negative=0,this.iadd(s),(this||kt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||kt).negative=0,(this||kt).length=1,(this||kt).words[0]=0,this||kt;var m,E;A>0?(m=this||kt,E=s):(m=s,E=this||kt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||kt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||kt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||kt))for(;x<m.length;x++)(this||kt).words[x]=m.words[x];return(this||kt).length=Math.max((this||kt).length,x),m!==(this||kt)&&((this||kt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||kt).length+s.length;return(this||kt).length===10&&s.length===10?A=D(this||kt,s,l):m<63?A=M(this||kt,s,l):m<1024?A=P(this||kt,s,l):A=G(this||kt,s,l),A};function q(O,s){(this||kt).x=O,(this||kt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||kt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||kt).length+s.length),G(this||kt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||kt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||kt).length;A++){var m=((this||kt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||kt).words[A]=E&67108863}return l!==0&&((this||kt).words[A]=l,(this||kt).length++),this||kt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||kt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||kt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||kt).length;E++){var x=(this||kt).words[E]&m,R=((this||kt).words[E]|0)-x<<l;(this||kt).words[E]=R|w,w=x>>>26-l}w&&((this||kt).words[E]=w,(this||kt).length++)}if(A!==0){for(E=(this||kt).length-1;E>=0;E--)(this||kt).words[E+A]=(this||kt).words[E];for(E=0;E<A;E++)(this||kt).words[E]=0;(this||kt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||kt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||kt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||kt).words[u];R.length=w}if(w!==0)if((this||kt).length>w)for((this||kt).length-=w,u=0;u<(this||kt).length;u++)(this||kt).words[u]=(this||kt).words[u+w];else(this||kt).words[0]=0,(this||kt).length=1;var C=0;for(u=(this||kt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||kt).words[u]|0;(this||kt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||kt).length===0&&((this||kt).words[0]=0,(this||kt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||kt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||kt).length<=A)return!1;var E=(this||kt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||kt).negative===0,"imaskn works only with positive numbers"),(this||kt).length<=A)return this||kt;if(l!==0&&A++,(this||kt).length=Math.min(A,(this||kt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||kt).words[(this||kt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||kt).negative!==0?(this||kt).length===1&&((this||kt).words[0]|0)<s?((this||kt).words[0]=s-((this||kt).words[0]|0),(this||kt).negative=0,this||kt):((this||kt).negative=0,this.isubn(s),(this||kt).negative=1,this||kt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||kt).words[0]+=s;for(var l=0;l<(this||kt).length&&(this||kt).words[l]>=67108864;l++)(this||kt).words[l]-=67108864,l===(this||kt).length-1?(this||kt).words[l+1]=1:(this||kt).words[l+1]++;return(this||kt).length=Math.max((this||kt).length,l+1),this||kt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||kt).negative!==0)return(this||kt).negative=0,this.iaddn(s),(this||kt).negative=1,this||kt;if((this||kt).words[0]-=s,(this||kt).length===1&&(this||kt).words[0]<0)(this||kt).words[0]=-(this||kt).words[0],(this||kt).negative=1;else for(var l=0;l<(this||kt).length&&(this||kt).words[l]<0;l++)(this||kt).words[l]+=67108864,(this||kt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||kt).negative=0,this||kt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||kt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||kt).words[E+A]=w&67108863}for(;E<(this||kt).length-A;E++)w=((this||kt).words[E+A]|0)+x,x=w>>26,(this||kt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||kt).length;E++)w=-((this||kt).words[E]|0)+x,x=w>>26,(this||kt).words[E]=w&67108863;return(this||kt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||kt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||kt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||kt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||kt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||kt).length||this.cmp(s)<0?{div:new n(0),mod:this||kt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||kt).length-1;m>=0;m--)A=(l*A+((this||kt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||kt).length-1;A>=0;A--){var m=((this||kt).words[A]|0)+l*67108864;(this||kt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||kt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||kt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||kt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||kt).words[0]&1)===1},n.prototype.andln=function(s){return(this||kt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||kt).length<=A)return this._expand(A+1),(this||kt).words[A]|=m,this||kt;for(var E=m,w=A;E!==0&&w<(this||kt).length;w++){var x=(this||kt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||kt).words[w]=x}return E!==0&&((this||kt).words[w]=E,(this||kt).length++),this||kt},n.prototype.isZero=function(){return(this||kt).length===1&&(this||kt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||kt).negative!==0&&!l)return-1;if((this||kt).negative===0&&l)return 1;this.strip();var A;if((this||kt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||kt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||kt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||kt).negative!==0&&s.negative===0)return-1;if((this||kt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||kt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||kt).length>s.length)return 1;if((this||kt).length<s.length)return-1;for(var l=0,A=(this||kt).length-1;A>=0;A--){var m=(this||kt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||kt).red,"Already a number in reduction context"),r((this||kt).negative===0,"red works only with positives"),s.convertTo(this||kt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||kt).red,"fromRed works only with numbers in reduction context"),(this||kt).red.convertFrom(this||kt)},n.prototype._forceRed=function(s){return(this||kt).red=s,this||kt},n.prototype.forceRed=function(s){return r(!(this||kt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||kt).red,"redAdd works only with red numbers"),(this||kt).red.add(this||kt,s)},n.prototype.redIAdd=function(s){return r((this||kt).red,"redIAdd works only with red numbers"),(this||kt).red.iadd(this||kt,s)},n.prototype.redSub=function(s){return r((this||kt).red,"redSub works only with red numbers"),(this||kt).red.sub(this||kt,s)},n.prototype.redISub=function(s){return r((this||kt).red,"redISub works only with red numbers"),(this||kt).red.isub(this||kt,s)},n.prototype.redShl=function(s){return r((this||kt).red,"redShl works only with red numbers"),(this||kt).red.shl(this||kt,s)},n.prototype.redMul=function(s){return r((this||kt).red,"redMul works only with red numbers"),(this||kt).red._verify2(this||kt,s),(this||kt).red.mul(this||kt,s)},n.prototype.redIMul=function(s){return r((this||kt).red,"redMul works only with red numbers"),(this||kt).red._verify2(this||kt,s),(this||kt).red.imul(this||kt,s)},n.prototype.redSqr=function(){return r((this||kt).red,"redSqr works only with red numbers"),(this||kt).red._verify1(this||kt),(this||kt).red.sqr(this||kt)},n.prototype.redISqr=function(){return r((this||kt).red,"redISqr works only with red numbers"),(this||kt).red._verify1(this||kt),(this||kt).red.isqr(this||kt)},n.prototype.redSqrt=function(){return r((this||kt).red,"redSqrt works only with red numbers"),(this||kt).red._verify1(this||kt),(this||kt).red.sqrt(this||kt)},n.prototype.redInvm=function(){return r((this||kt).red,"redInvm works only with red numbers"),(this||kt).red._verify1(this||kt),(this||kt).red.invm(this||kt)},n.prototype.redNeg=function(){return r((this||kt).red,"redNeg works only with red numbers"),(this||kt).red._verify1(this||kt),(this||kt).red.neg(this||kt)},n.prototype.redPow=function(s){return r((this||kt).red&&!s.red,"redPow(normalNum)"),(this||kt).red._verify1(this||kt),(this||kt).red.pow(this||kt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||kt).name=O,(this||kt).p=new n(s,16),(this||kt).n=(this||kt).p.bitLength(),(this||kt).k=new n(1).iushln((this||kt).n).isub((this||kt).p),(this||kt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||kt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||kt).tmp),l=this.imulK(l),l=l.iadd((this||kt).tmp),A=l.bitLength();while(A>(this||kt).n);var m=A<(this||kt).n?-1:l.ucmp((this||kt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||kt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||kt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||kt).k)};function ce(){ne.call(this||kt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||kt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||kt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||kt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||kt).m=s.p,(this||kt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||kt).m=O,(this||kt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||kt).prime?(this||kt).prime.ireduce(s)._forceRed(this||kt):s.umod((this||kt).m)._forceRed(this||kt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||kt).m.sub(s)._forceRed(this||kt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||kt).m)>=0&&A.isub((this||kt).m),A._forceRed(this||kt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||kt).m)>=0&&A.isub((this||kt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||kt).m),A._forceRed(this||kt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||kt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||kt).m.andln(3);if(r(l%2===1),l===3){var A=(this||kt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||kt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||kt),x=w.redNeg(),R=(this||kt).m.subn(1).iushrn(1),u=(this||kt).m.bitLength();for(u=new n(2*u*u).toRed(this||kt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||kt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||kt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||kt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||kt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||kt,O),(this||kt).shift=(this||kt).m.bitLength(),(this||kt).shift%26!==0&&((this||kt).shift+=26-(this||kt).shift%26),(this||kt).r=new n(1).iushln((this||kt).shift),(this||kt).r2=this.imod((this||kt).r.sqr()),(this||kt).rinv=(this||kt).r._invmp((this||kt).m),(this||kt).minv=(this||kt).rinv.mul((this||kt).r).isubn(1).div((this||kt).m),(this||kt).minv=(this||kt).minv.umod((this||kt).r),(this||kt).minv=(this||kt).r.sub((this||kt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||kt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||kt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||kt).shift).mul((this||kt).minv).imaskn((this||kt).shift).mul((this||kt).m),E=A.isub(m).iushrn((this||kt).shift),w=E;return E.cmp((this||kt).m)>=0?w=E.isub((this||kt).m):E.cmpn(0)<0&&(w=E.iadd((this||kt).m)),w._forceRed(this||kt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||kt);var A=s.mul(l),m=A.maskn((this||kt).shift).mul((this||kt).minv).imaskn((this||kt).shift).mul((this||kt).m),E=A.isub(m).iushrn((this||kt).shift),w=E;return E.cmp((this||kt).m)>=0?w=E.isub((this||kt).m):E.cmpn(0)<0&&(w=E.iadd((this||kt).m)),w._forceRed(this||kt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||kt).m).mul((this||kt).r2));return l._forceRed(this||kt)}})(qse,TVe)),qse.exports}function BVe(){if(jFe)return Vse;jFe=!0;var e=Vse;function t(n,o){if(Array.isArray(n))return n.slice();if(!n)return[];var d=[];if(typeof n!="string"){for(var g=0;g<n.length;g++)d[g]=n[g]|0;return d}if(o==="hex"){n=n.replace(/[^a-z0-9]+/ig,""),n.length%2!==0&&(n="0"+n);for(var g=0;g<n.length;g+=2)d.push(parseInt(n[g]+n[g+1],16))}else for(var g=0;g<n.length;g++){var y=n.charCodeAt(g),_=y>>8,I=y&255;_?d.push(_,I):d.push(I)}return d}e.toArray=t;function r(n){return n.length===1?"0"+n:n}e.zero2=r;function i(n){for(var o="",d=0;d<n.length;d++)o+=r(n[d].toString(16));return o}return e.toHex=i,e.encode=function(o,d){return d==="hex"?i(o):o},Vse}function $g(){if(eQe)return Jse;eQe=!0;var e=Jse,t=Pv(),r=Zy(),i=BVe();e.assert=r,e.toArray=i.toArray,e.zero2=i.zero2,e.toHex=i.toHex,e.encode=i.encode;function n(_,I,N){var T=new Array(Math.max(_.bitLength(),N)+1);T.fill(0);for(var M=1<<I+1,D=_.clone(),P=0;P<T.length;P++){var G,q=D.andln(M-1);D.isOdd()?(q>(M>>1)-1?G=(M>>1)-q:G=q,D.isubn(G)):G=0,T[P]=G,D.iushrn(1)}return T}e.getNAF=n;function o(_,I){var N=[[],[]];_=_.clone(),I=I.clone();for(var T=0,M=0,D;_.cmpn(-T)>0||I.cmpn(-M)>0;){var P=_.andln(3)+T&3,G=I.andln(3)+M&3;P===3&&(P=-1),G===3&&(G=-1);var q;(P&1)===0?q=0:(D=_.andln(7)+T&7,(D===3||D===5)&&G===2?q=-P:q=P),N[0].push(q);var Y;(G&1)===0?Y=0:(D=I.andln(7)+M&7,(D===3||D===5)&&P===2?Y=-G:Y=G),N[1].push(Y),2*T===q+1&&(T=1-T),2*M===Y+1&&(M=1-M),_.iushrn(1),I.iushrn(1)}return N}e.getJSF=o;function d(_,I,N){var T="_"+I;_.prototype[I]=function(){return this[T]!==void 0?this[T]:this[T]=N.call(this)}}e.cachedProperty=d;function g(_){return typeof _=="string"?e.toArray(_,"hex"):_}e.parseBytes=g;function y(_){return new t(_,"hex","le")}return e.intFromLE=y,Jse}function fV(){if(tQe)return zse;tQe=!0;var e=Pv(),t=$g(),r=t.getNAF,i=t.getJSF,n=t.assert;function o(g,y){this.type=g,this.p=new e(y.p,16),this.red=y.prime?e.red(y.prime):e.mont(this.p),this.zero=new e(0).toRed(this.red),this.one=new e(1).toRed(this.red),this.two=new e(2).toRed(this.red),this.n=y.n&&new e(y.n,16),this.g=y.g&&this.pointFromJSON(y.g,y.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var _=this.n&&this.p.div(this.n);!_||_.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}zse=o,o.prototype.point=function(){throw new Error("Not implemented")},o.prototype.validate=function(){throw new Error("Not implemented")},o.prototype._fixedNafMul=function(y,_){n(y.precomputed);var I=y._getDoubles(),N=r(_,1,this._bitLength),T=(1<<I.step+1)-(I.step%2===0?2:1);T/=3;var M=[],D,P;for(D=0;D<N.length;D+=I.step){P=0;for(var G=D+I.step-1;G>=D;G--)P=(P<<1)+N[G];M.push(P)}for(var q=this.jpoint(null,null,null),Y=this.jpoint(null,null,null),ne=T;ne>0;ne--){for(D=0;D<M.length;D++)P=M[D],P===ne?Y=Y.mixedAdd(I.points[D]):P===-ne&&(Y=Y.mixedAdd(I.points[D].neg()));q=q.add(Y)}return q.toP()},o.prototype._wnafMul=function(y,_){var I=4,N=y._getNAFPoints(I);I=N.wnd;for(var T=N.points,M=r(_,I,this._bitLength),D=this.jpoint(null,null,null),P=M.length-1;P>=0;P--){for(var G=0;P>=0&&M[P]===0;P--)G++;if(P>=0&&G++,D=D.dblp(G),P<0)break;var q=M[P];n(q!==0),y.type==="affine"?q>0?D=D.mixedAdd(T[q-1>>1]):D=D.mixedAdd(T[-q-1>>1].neg()):q>0?D=D.add(T[q-1>>1]):D=D.add(T[-q-1>>1].neg())}return y.type==="affine"?D.toP():D},o.prototype._wnafMulAdd=function(y,_,I,N,T){var M=this._wnafT1,D=this._wnafT2,P=this._wnafT3,G=0,q,Y,ne;for(q=0;q<N;q++){ne=_[q];var ce=ne._getNAFPoints(y);M[q]=ce.wnd,D[q]=ce.points}for(q=N-1;q>=1;q-=2){var le=q-1,pe=q;if(M[le]!==1||M[pe]!==1){P[le]=r(I[le],M[le],this._bitLength),P[pe]=r(I[pe],M[pe],this._bitLength),G=Math.max(P[le].length,G),G=Math.max(P[pe].length,G);continue}var ae=[_[le],null,null,_[pe]];_[le].y.cmp(_[pe].y)===0?(ae[1]=_[le].add(_[pe]),ae[2]=_[le].toJ().mixedAdd(_[pe].neg())):_[le].y.cmp(_[pe].y.redNeg())===0?(ae[1]=_[le].toJ().mixedAdd(_[pe]),ae[2]=_[le].add(_[pe].neg())):(ae[1]=_[le].toJ().mixedAdd(_[pe]),ae[2]=_[le].toJ().mixedAdd(_[pe].neg()));var W=[-3,-1,-5,-7,0,7,5,1,3],se=i(I[le],I[pe]);for(G=Math.max(se[0].length,G),P[le]=new Array(G),P[pe]=new Array(G),Y=0;Y<G;Y++){var O=se[0][Y]|0,s=se[1][Y]|0;P[le][Y]=W[(O+1)*3+(s+1)],P[pe][Y]=0,D[le]=ae}}var l=this.jpoint(null,null,null),A=this._wnafT4;for(q=G;q>=0;q--){for(var m=0;q>=0;){var E=!0;for(Y=0;Y<N;Y++)A[Y]=P[Y][q]|0,A[Y]!==0&&(E=!1);if(!E)break;m++,q--}if(q>=0&&m++,l=l.dblp(m),q<0)break;for(Y=0;Y<N;Y++){var w=A[Y];w!==0&&(w>0?ne=D[Y][w-1>>1]:w<0&&(ne=D[Y][-w-1>>1].neg()),ne.type==="affine"?l=l.mixedAdd(ne):l=l.add(ne))}}for(q=0;q<N;q++)D[q]=null;return T?l:l.toP()};function d(g,y){this.curve=g,this.type=y,this.precomputed=null}return o.BasePoint=d,d.prototype.eq=function(){throw new Error("Not implemented")},d.prototype.validate=function(){return this.curve.validate(this)},o.prototype.decodePoint=function(y,_){y=t.toArray(y,_);var I=this.p.byteLength();if((y[0]===4||y[0]===6||y[0]===7)&&y.length-1===2*I){y[0]===6?n(y[y.length-1]%2===0):y[0]===7&&n(y[y.length-1]%2===1);var N=this.point(y.slice(1,1+I),y.slice(1+I,1+2*I));return N}else if((y[0]===2||y[0]===3)&&y.length-1===I)return this.pointFromX(y.slice(1,1+I),y[0]===3);throw new Error("Unknown point format")},d.prototype.encodeCompressed=function(y){return this.encode(y,!0)},d.prototype._encode=function(y){var _=this.curve.p.byteLength(),I=this.getX().toArray("be",_);return y?[this.getY().isEven()?2:3].concat(I):[4].concat(I,this.getY().toArray("be",_))},d.prototype.encode=function(y,_){return t.encode(this._encode(_),y)},d.prototype.precompute=function(y){if(this.precomputed)return this;var _={doubles:null,naf:null,beta:null};return _.naf=this._getNAFPoints(8),_.doubles=this._getDoubles(4,y),_.beta=this._getBeta(),this.precomputed=_,this},d.prototype._hasDoubles=function(y){if(!this.precomputed)return!1;var _=this.precomputed.doubles;return _?_.points.length>=Math.ceil((y.bitLength()+1)/_.step):!1},d.prototype._getDoubles=function(y,_){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var I=[this],N=this,T=0;T<_;T+=y){for(var M=0;M<y;M++)N=N.dbl();I.push(N)}return{step:y,points:I}},d.prototype._getNAFPoints=function(y){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var _=[this],I=(1<<y)-1,N=I===1?null:this.dbl(),T=1;T<I;T++)_[T]=_[T-1].add(N);return{wnd:y,points:_}},d.prototype._getBeta=function(){return null},d.prototype.dblp=function(y){for(var _=this,I=0;I<y;I++)_=_.dbl();return _},zse}function q5t(){if(rQe)return Kse;rQe=!0;var e=$g(),t=Pv(),r=La(),i=fV(),n=e.assert;function o(y){i.call(this,"short",y),this.a=new t(y.a,16).toRed(this.red),this.b=new t(y.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(y),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}r(o,i),Kse=o,o.prototype._getEndomorphism=function(_){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var I,N;if(_.beta)I=new t(_.beta,16).toRed(this.red);else{var T=this._getEndoRoots(this.p);I=T[0].cmp(T[1])<0?T[0]:T[1],I=I.toRed(this.red)}if(_.lambda)N=new t(_.lambda,16);else{var M=this._getEndoRoots(this.n);this.g.mul(M[0]).x.cmp(this.g.x.redMul(I))===0?N=M[0]:(N=M[1],n(this.g.mul(N).x.cmp(this.g.x.redMul(I))===0))}var D;return _.basis?D=_.basis.map(function(P){return{a:new t(P.a,16),b:new t(P.b,16)}}):D=this._getEndoBasis(N),{beta:I,lambda:N,basis:D}}},o.prototype._getEndoRoots=function(_){var I=_===this.p?this.red:t.mont(_),N=new t(2).toRed(I).redInvm(),T=N.redNeg(),M=new t(3).toRed(I).redNeg().redSqrt().redMul(N),D=T.redAdd(M).fromRed(),P=T.redSub(M).fromRed();return[D,P]},o.prototype._getEndoBasis=function(_){for(var I=this.n.ushrn(Math.floor(this.n.bitLength()/2)),N=_,T=this.n.clone(),M=new t(1),D=new t(0),P=new t(0),G=new t(1),q,Y,ne,ce,le,pe,ae,W=0,se,O;N.cmpn(0)!==0;){var s=T.div(N);se=T.sub(s.mul(N)),O=P.sub(s.mul(M));var l=G.sub(s.mul(D));if(!ne&&se.cmp(I)<0)q=ae.neg(),Y=M,ne=se.neg(),ce=O;else if(ne&&++W===2)break;ae=se,T=N,N=se,P=M,M=O,G=D,D=l}le=se.neg(),pe=O;var A=ne.sqr().add(ce.sqr()),m=le.sqr().add(pe.sqr());return m.cmp(A)>=0&&(le=q,pe=Y),ne.negative&&(ne=ne.neg(),ce=ce.neg()),le.negative&&(le=le.neg(),pe=pe.neg()),[{a:ne,b:ce},{a:le,b:pe}]},o.prototype._endoSplit=function(_){var I=this.endo.basis,N=I[0],T=I[1],M=T.b.mul(_).divRound(this.n),D=N.b.neg().mul(_).divRound(this.n),P=M.mul(N.a),G=D.mul(T.a),q=M.mul(N.b),Y=D.mul(T.b),ne=_.sub(P).sub(G),ce=q.add(Y).neg();return{k1:ne,k2:ce}},o.prototype.pointFromX=function(_,I){_=new t(_,16),_.red||(_=_.toRed(this.red));var N=_.redSqr().redMul(_).redIAdd(_.redMul(this.a)).redIAdd(this.b),T=N.redSqrt();if(T.redSqr().redSub(N).cmp(this.zero)!==0)throw new Error("invalid point");var M=T.fromRed().isOdd();return(I&&!M||!I&&M)&&(T=T.redNeg()),this.point(_,T)},o.prototype.validate=function(_){if(_.inf)return!0;var I=_.x,N=_.y,T=this.a.redMul(I),M=I.redSqr().redMul(I).redIAdd(T).redIAdd(this.b);return N.redSqr().redISub(M).cmpn(0)===0},o.prototype._endoWnafMulAdd=function(_,I,N){for(var T=this._endoWnafT1,M=this._endoWnafT2,D=0;D<_.length;D++){var P=this._endoSplit(I[D]),G=_[D],q=G._getBeta();P.k1.negative&&(P.k1.ineg(),G=G.neg(!0)),P.k2.negative&&(P.k2.ineg(),q=q.neg(!0)),T[D*2]=G,T[D*2+1]=q,M[D*2]=P.k1,M[D*2+1]=P.k2}for(var Y=this._wnafMulAdd(1,T,M,D*2,N),ne=0;ne<D*2;ne++)T[ne]=null,M[ne]=null;return Y};function d(y,_,I,N){i.BasePoint.call(this,y,"affine"),_===null&&I===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new t(_,16),this.y=new t(I,16),N&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}r(d,i.BasePoint),o.prototype.point=function(_,I,N){return new d(this,_,I,N)},o.prototype.pointFromJSON=function(_,I){return d.fromJSON(this,_,I)},d.prototype._getBeta=function(){if(this.curve.endo){var _=this.precomputed;if(_&&_.beta)return _.beta;var I=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(_){var N=this.curve,T=function(M){return N.point(M.x.redMul(N.endo.beta),M.y)};_.beta=I,I.precomputed={beta:null,naf:_.naf&&{wnd:_.naf.wnd,points:_.naf.points.map(T)},doubles:_.doubles&&{step:_.doubles.step,points:_.doubles.points.map(T)}}}return I}},d.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},d.fromJSON=function(_,I,N){typeof I=="string"&&(I=JSON.parse(I));var T=_.point(I[0],I[1],N);if(!I[2])return T;function M(P){return _.point(P[0],P[1],N)}var D=I[2];return T.precomputed={beta:null,doubles:D.doubles&&{step:D.doubles.step,points:[T].concat(D.doubles.points.map(M))},naf:D.naf&&{wnd:D.naf.wnd,points:[T].concat(D.naf.points.map(M))}},T},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.inf},d.prototype.add=function(_){if(this.inf)return _;if(_.inf)return this;if(this.eq(_))return this.dbl();if(this.neg().eq(_))return this.curve.point(null,null);if(this.x.cmp(_.x)===0)return this.curve.point(null,null);var I=this.y.redSub(_.y);I.cmpn(0)!==0&&(I=I.redMul(this.x.redSub(_.x).redInvm()));var N=I.redSqr().redISub(this.x).redISub(_.x),T=I.redMul(this.x.redSub(N)).redISub(this.y);return this.curve.point(N,T)},d.prototype.dbl=function(){if(this.inf)return this;var _=this.y.redAdd(this.y);if(_.cmpn(0)===0)return this.curve.point(null,null);var I=this.curve.a,N=this.x.redSqr(),T=_.redInvm(),M=N.redAdd(N).redIAdd(N).redIAdd(I).redMul(T),D=M.redSqr().redISub(this.x.redAdd(this.x)),P=M.redMul(this.x.redSub(D)).redISub(this.y);return this.curve.point(D,P)},d.prototype.getX=function(){return this.x.fromRed()},d.prototype.getY=function(){return this.y.fromRed()},d.prototype.mul=function(_){return _=new t(_,16),this.isInfinity()?this:this._hasDoubles(_)?this.curve._fixedNafMul(this,_):this.curve.endo?this.curve._endoWnafMulAdd([this],[_]):this.curve._wnafMul(this,_)},d.prototype.mulAdd=function(_,I,N){var T=[this,I],M=[_,N];return this.curve.endo?this.curve._endoWnafMulAdd(T,M):this.curve._wnafMulAdd(1,T,M,2)},d.prototype.jmulAdd=function(_,I,N){var T=[this,I],M=[_,N];return this.curve.endo?this.curve._endoWnafMulAdd(T,M,!0):this.curve._wnafMulAdd(1,T,M,2,!0)},d.prototype.eq=function(_){return this===_||this.inf===_.inf&&(this.inf||this.x.cmp(_.x)===0&&this.y.cmp(_.y)===0)},d.prototype.neg=function(_){if(this.inf)return this;var I=this.curve.point(this.x,this.y.redNeg());if(_&&this.precomputed){var N=this.precomputed,T=function(M){return M.neg()};I.precomputed={naf:N.naf&&{wnd:N.naf.wnd,points:N.naf.points.map(T)},doubles:N.doubles&&{step:N.doubles.step,points:N.doubles.points.map(T)}}}return I},d.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var _=this.curve.jpoint(this.x,this.y,this.curve.one);return _};function g(y,_,I,N){i.BasePoint.call(this,y,"jacobian"),_===null&&I===null&&N===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new t(0)):(this.x=new t(_,16),this.y=new t(I,16),this.z=new t(N,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}return r(g,i.BasePoint),o.prototype.jpoint=function(_,I,N){return new g(this,_,I,N)},g.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var _=this.z.redInvm(),I=_.redSqr(),N=this.x.redMul(I),T=this.y.redMul(I).redMul(_);return this.curve.point(N,T)},g.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},g.prototype.add=function(_){if(this.isInfinity())return _;if(_.isInfinity())return this;var I=_.z.redSqr(),N=this.z.redSqr(),T=this.x.redMul(I),M=_.x.redMul(N),D=this.y.redMul(I.redMul(_.z)),P=_.y.redMul(N.redMul(this.z)),G=T.redSub(M),q=D.redSub(P);if(G.cmpn(0)===0)return q.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var Y=G.redSqr(),ne=Y.redMul(G),ce=T.redMul(Y),le=q.redSqr().redIAdd(ne).redISub(ce).redISub(ce),pe=q.redMul(ce.redISub(le)).redISub(D.redMul(ne)),ae=this.z.redMul(_.z).redMul(G);return this.curve.jpoint(le,pe,ae)},g.prototype.mixedAdd=function(_){if(this.isInfinity())return _.toJ();if(_.isInfinity())return this;var I=this.z.redSqr(),N=this.x,T=_.x.redMul(I),M=this.y,D=_.y.redMul(I).redMul(this.z),P=N.redSub(T),G=M.redSub(D);if(P.cmpn(0)===0)return G.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var q=P.redSqr(),Y=q.redMul(P),ne=N.redMul(q),ce=G.redSqr().redIAdd(Y).redISub(ne).redISub(ne),le=G.redMul(ne.redISub(ce)).redISub(M.redMul(Y)),pe=this.z.redMul(P);return this.curve.jpoint(ce,le,pe)},g.prototype.dblp=function(_){if(_===0)return this;if(this.isInfinity())return this;if(!_)return this.dbl();var I;if(this.curve.zeroA||this.curve.threeA){var N=this;for(I=0;I<_;I++)N=N.dbl();return N}var T=this.curve.a,M=this.curve.tinv,D=this.x,P=this.y,G=this.z,q=G.redSqr().redSqr(),Y=P.redAdd(P);for(I=0;I<_;I++){var ne=D.redSqr(),ce=Y.redSqr(),le=ce.redSqr(),pe=ne.redAdd(ne).redIAdd(ne).redIAdd(T.redMul(q)),ae=D.redMul(ce),W=pe.redSqr().redISub(ae.redAdd(ae)),se=ae.redISub(W),O=pe.redMul(se);O=O.redIAdd(O).redISub(le);var s=Y.redMul(G);I+1<_&&(q=q.redMul(le)),D=W,G=s,Y=O}return this.curve.jpoint(D,Y.redMul(M),G)},g.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},g.prototype._zeroDbl=function(){var _,I,N;if(this.zOne){var T=this.x.redSqr(),M=this.y.redSqr(),D=M.redSqr(),P=this.x.redAdd(M).redSqr().redISub(T).redISub(D);P=P.redIAdd(P);var G=T.redAdd(T).redIAdd(T),q=G.redSqr().redISub(P).redISub(P),Y=D.redIAdd(D);Y=Y.redIAdd(Y),Y=Y.redIAdd(Y),_=q,I=G.redMul(P.redISub(q)).redISub(Y),N=this.y.redAdd(this.y)}else{var ne=this.x.redSqr(),ce=this.y.redSqr(),le=ce.redSqr(),pe=this.x.redAdd(ce).redSqr().redISub(ne).redISub(le);pe=pe.redIAdd(pe);var ae=ne.redAdd(ne).redIAdd(ne),W=ae.redSqr(),se=le.redIAdd(le);se=se.redIAdd(se),se=se.redIAdd(se),_=W.redISub(pe).redISub(pe),I=ae.redMul(pe.redISub(_)).redISub(se),N=this.y.redMul(this.z),N=N.redIAdd(N)}return this.curve.jpoint(_,I,N)},g.prototype._threeDbl=function(){var _,I,N;if(this.zOne){var T=this.x.redSqr(),M=this.y.redSqr(),D=M.redSqr(),P=this.x.redAdd(M).redSqr().redISub(T).redISub(D);P=P.redIAdd(P);var G=T.redAdd(T).redIAdd(T).redIAdd(this.curve.a),q=G.redSqr().redISub(P).redISub(P);_=q;var Y=D.redIAdd(D);Y=Y.redIAdd(Y),Y=Y.redIAdd(Y),I=G.redMul(P.redISub(q)).redISub(Y),N=this.y.redAdd(this.y)}else{var ne=this.z.redSqr(),ce=this.y.redSqr(),le=this.x.redMul(ce),pe=this.x.redSub(ne).redMul(this.x.redAdd(ne));pe=pe.redAdd(pe).redIAdd(pe);var ae=le.redIAdd(le);ae=ae.redIAdd(ae);var W=ae.redAdd(ae);_=pe.redSqr().redISub(W),N=this.y.redAdd(this.z).redSqr().redISub(ce).redISub(ne);var se=ce.redSqr();se=se.redIAdd(se),se=se.redIAdd(se),se=se.redIAdd(se),I=pe.redMul(ae.redISub(_)).redISub(se)}return this.curve.jpoint(_,I,N)},g.prototype._dbl=function(){var _=this.curve.a,I=this.x,N=this.y,T=this.z,M=T.redSqr().redSqr(),D=I.redSqr(),P=N.redSqr(),G=D.redAdd(D).redIAdd(D).redIAdd(_.redMul(M)),q=I.redAdd(I);q=q.redIAdd(q);var Y=q.redMul(P),ne=G.redSqr().redISub(Y.redAdd(Y)),ce=Y.redISub(ne),le=P.redSqr();le=le.redIAdd(le),le=le.redIAdd(le),le=le.redIAdd(le);var pe=G.redMul(ce).redISub(le),ae=N.redAdd(N).redMul(T);return this.curve.jpoint(ne,pe,ae)},g.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var _=this.x.redSqr(),I=this.y.redSqr(),N=this.z.redSqr(),T=I.redSqr(),M=_.redAdd(_).redIAdd(_),D=M.redSqr(),P=this.x.redAdd(I).redSqr().redISub(_).redISub(T);P=P.redIAdd(P),P=P.redAdd(P).redIAdd(P),P=P.redISub(D);var G=P.redSqr(),q=T.redIAdd(T);q=q.redIAdd(q),q=q.redIAdd(q),q=q.redIAdd(q);var Y=M.redIAdd(P).redSqr().redISub(D).redISub(G).redISub(q),ne=I.redMul(Y);ne=ne.redIAdd(ne),ne=ne.redIAdd(ne);var ce=this.x.redMul(G).redISub(ne);ce=ce.redIAdd(ce),ce=ce.redIAdd(ce);var le=this.y.redMul(Y.redMul(q.redISub(Y)).redISub(P.redMul(G)));le=le.redIAdd(le),le=le.redIAdd(le),le=le.redIAdd(le);var pe=this.z.redAdd(P).redSqr().redISub(N).redISub(G);return this.curve.jpoint(ce,le,pe)},g.prototype.mul=function(_,I){return _=new t(_,I),this.curve._wnafMul(this,_)},g.prototype.eq=function(_){if(_.type==="affine")return this.eq(_.toJ());if(this===_)return!0;var I=this.z.redSqr(),N=_.z.redSqr();if(this.x.redMul(N).redISub(_.x.redMul(I)).cmpn(0)!==0)return!1;var T=I.redMul(this.z),M=N.redMul(_.z);return this.y.redMul(M).redISub(_.y.redMul(T)).cmpn(0)===0},g.prototype.eqXToP=function(_){var I=this.z.redSqr(),N=_.toRed(this.curve.red).redMul(I);if(this.x.cmp(N)===0)return!0;for(var T=_.clone(),M=this.curve.redN.redMul(I);;){if(T.iadd(this.curve.n),T.cmp(this.curve.p)>=0)return!1;if(N.redIAdd(M),this.x.cmp(N)===0)return!0}},g.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},g.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Kse}function V5t(){if(nQe)return $se;nQe=!0;var e=Pv(),t=La(),r=fV(),i=$g();function n(d){r.call(this,"mont",d),this.a=new e(d.a,16).toRed(this.red),this.b=new e(d.b,16).toRed(this.red),this.i4=new e(4).toRed(this.red).redInvm(),this.two=new e(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}t(n,r),$se=n,n.prototype.validate=function(g){var y=g.normalize().x,_=y.redSqr(),I=_.redMul(y).redAdd(_.redMul(this.a)).redAdd(y),N=I.redSqrt();return N.redSqr().cmp(I)===0};function o(d,g,y){r.BasePoint.call(this,d,"projective"),g===null&&y===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new e(g,16),this.z=new e(y,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}return t(o,r.BasePoint),n.prototype.decodePoint=function(g,y){return this.point(i.toArray(g,y),1)},n.prototype.point=function(g,y){return new o(this,g,y)},n.prototype.pointFromJSON=function(g){return o.fromJSON(this,g)},o.prototype.precompute=function(){},o.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},o.fromJSON=function(g,y){return new o(g,y[0],y[1]||g.one)},o.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},o.prototype.isInfinity=function(){return this.z.cmpn(0)===0},o.prototype.dbl=function(){var g=this.x.redAdd(this.z),y=g.redSqr(),_=this.x.redSub(this.z),I=_.redSqr(),N=y.redSub(I),T=y.redMul(I),M=N.redMul(I.redAdd(this.curve.a24.redMul(N)));return this.curve.point(T,M)},o.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.diffAdd=function(g,y){var _=this.x.redAdd(this.z),I=this.x.redSub(this.z),N=g.x.redAdd(g.z),T=g.x.redSub(g.z),M=T.redMul(_),D=N.redMul(I),P=y.z.redMul(M.redAdd(D).redSqr()),G=y.x.redMul(M.redISub(D).redSqr());return this.curve.point(P,G)},o.prototype.mul=function(g){for(var y=g.clone(),_=this,I=this.curve.point(null,null),N=this,T=[];y.cmpn(0)!==0;y.iushrn(1))T.push(y.andln(1));for(var M=T.length-1;M>=0;M--)T[M]===0?(_=_.diffAdd(I,N),I=I.dbl()):(I=_.diffAdd(I,N),_=_.dbl());return I},o.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},o.prototype.eq=function(g){return this.getX().cmp(g.getX())===0},o.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},o.prototype.getX=function(){return this.normalize(),this.x.fromRed()},$se}function J5t(){if(iQe)return Yse;iQe=!0;var e=$g(),t=Pv(),r=La(),i=fV(),n=e.assert;function o(g){this.twisted=(g.a|0)!==1,this.mOneA=this.twisted&&(g.a|0)===-1,this.extended=this.mOneA,i.call(this,"edwards",g),this.a=new t(g.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new t(g.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new t(g.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),n(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(g.c|0)===1}r(o,i),Yse=o,o.prototype._mulA=function(y){return this.mOneA?y.redNeg():this.a.redMul(y)},o.prototype._mulC=function(y){return this.oneC?y:this.c.redMul(y)},o.prototype.jpoint=function(y,_,I,N){return this.point(y,_,I,N)},o.prototype.pointFromX=function(y,_){y=new t(y,16),y.red||(y=y.toRed(this.red));var I=y.redSqr(),N=this.c2.redSub(this.a.redMul(I)),T=this.one.redSub(this.c2.redMul(this.d).redMul(I)),M=N.redMul(T.redInvm()),D=M.redSqrt();if(D.redSqr().redSub(M).cmp(this.zero)!==0)throw new Error("invalid point");var P=D.fromRed().isOdd();return(_&&!P||!_&&P)&&(D=D.redNeg()),this.point(y,D)},o.prototype.pointFromY=function(y,_){y=new t(y,16),y.red||(y=y.toRed(this.red));var I=y.redSqr(),N=I.redSub(this.c2),T=I.redMul(this.d).redMul(this.c2).redSub(this.a),M=N.redMul(T.redInvm());if(M.cmp(this.zero)===0){if(_)throw new Error("invalid point");return this.point(this.zero,y)}var D=M.redSqrt();if(D.redSqr().redSub(M).cmp(this.zero)!==0)throw new Error("invalid point");return D.fromRed().isOdd()!==_&&(D=D.redNeg()),this.point(D,y)},o.prototype.validate=function(y){if(y.isInfinity())return!0;y.normalize();var _=y.x.redSqr(),I=y.y.redSqr(),N=_.redMul(this.a).redAdd(I),T=this.c2.redMul(this.one.redAdd(this.d.redMul(_).redMul(I)));return N.cmp(T)===0};function d(g,y,_,I,N){i.BasePoint.call(this,g,"projective"),y===null&&_===null&&I===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new t(y,16),this.y=new t(_,16),this.z=I?new t(I,16):this.curve.one,this.t=N&&new t(N,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}return r(d,i.BasePoint),o.prototype.pointFromJSON=function(y){return d.fromJSON(this,y)},o.prototype.point=function(y,_,I,N){return new d(this,y,_,I,N)},d.fromJSON=function(y,_){return new d(y,_[0],_[1],_[2])},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},d.prototype._extDbl=function(){var y=this.x.redSqr(),_=this.y.redSqr(),I=this.z.redSqr();I=I.redIAdd(I);var N=this.curve._mulA(y),T=this.x.redAdd(this.y).redSqr().redISub(y).redISub(_),M=N.redAdd(_),D=M.redSub(I),P=N.redSub(_),G=T.redMul(D),q=M.redMul(P),Y=T.redMul(P),ne=D.redMul(M);return this.curve.point(G,q,ne,Y)},d.prototype._projDbl=function(){var y=this.x.redAdd(this.y).redSqr(),_=this.x.redSqr(),I=this.y.redSqr(),N,T,M,D,P,G;if(this.curve.twisted){D=this.curve._mulA(_);var q=D.redAdd(I);this.zOne?(N=y.redSub(_).redSub(I).redMul(q.redSub(this.curve.two)),T=q.redMul(D.redSub(I)),M=q.redSqr().redSub(q).redSub(q)):(P=this.z.redSqr(),G=q.redSub(P).redISub(P),N=y.redSub(_).redISub(I).redMul(G),T=q.redMul(D.redSub(I)),M=q.redMul(G))}else D=_.redAdd(I),P=this.curve._mulC(this.z).redSqr(),G=D.redSub(P).redSub(P),N=this.curve._mulC(y.redISub(D)).redMul(G),T=this.curve._mulC(D).redMul(_.redISub(I)),M=D.redMul(G);return this.curve.point(N,T,M)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},d.prototype._extAdd=function(y){var _=this.y.redSub(this.x).redMul(y.y.redSub(y.x)),I=this.y.redAdd(this.x).redMul(y.y.redAdd(y.x)),N=this.t.redMul(this.curve.dd).redMul(y.t),T=this.z.redMul(y.z.redAdd(y.z)),M=I.redSub(_),D=T.redSub(N),P=T.redAdd(N),G=I.redAdd(_),q=M.redMul(D),Y=P.redMul(G),ne=M.redMul(G),ce=D.redMul(P);return this.curve.point(q,Y,ce,ne)},d.prototype._projAdd=function(y){var _=this.z.redMul(y.z),I=_.redSqr(),N=this.x.redMul(y.x),T=this.y.redMul(y.y),M=this.curve.d.redMul(N).redMul(T),D=I.redSub(M),P=I.redAdd(M),G=this.x.redAdd(this.y).redMul(y.x.redAdd(y.y)).redISub(N).redISub(T),q=_.redMul(D).redMul(G),Y,ne;return this.curve.twisted?(Y=_.redMul(P).redMul(T.redSub(this.curve._mulA(N))),ne=D.redMul(P)):(Y=_.redMul(P).redMul(T.redSub(N)),ne=this.curve._mulC(D).redMul(P)),this.curve.point(q,Y,ne)},d.prototype.add=function(y){return this.isInfinity()?y:y.isInfinity()?this:this.curve.extended?this._extAdd(y):this._projAdd(y)},d.prototype.mul=function(y){return this._hasDoubles(y)?this.curve._fixedNafMul(this,y):this.curve._wnafMul(this,y)},d.prototype.mulAdd=function(y,_,I){return this.curve._wnafMulAdd(1,[this,_],[y,I],2,!1)},d.prototype.jmulAdd=function(y,_,I){return this.curve._wnafMulAdd(1,[this,_],[y,I],2,!0)},d.prototype.normalize=function(){if(this.zOne)return this;var y=this.z.redInvm();return this.x=this.x.redMul(y),this.y=this.y.redMul(y),this.t&&(this.t=this.t.redMul(y)),this.z=this.curve.one,this.zOne=!0,this},d.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},d.prototype.getX=function(){return this.normalize(),this.x.fromRed()},d.prototype.getY=function(){return this.normalize(),this.y.fromRed()},d.prototype.eq=function(y){return this===y||this.getX().cmp(y.getX())===0&&this.getY().cmp(y.getY())===0},d.prototype.eqXToP=function(y){var _=y.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(_)===0)return!0;for(var I=y.clone(),N=this.curve.redN.redMul(this.z);;){if(I.iadd(this.curve.n),I.cmp(this.curve.p)>=0)return!1;if(_.redIAdd(N),this.x.cmp(_)===0)return!0}},d.prototype.toP=d.prototype.normalize,d.prototype.mixedAdd=d.prototype.add,Yse}function MVe(){if(oQe)return Wse;oQe=!0;var e=Wse;return e.base=fV(),e.short=q5t(),e.mont=V5t(),e.edwards=J5t(),Wse}function lV(){if(aQe)return au;aQe=!0;var e=Zy(),t=La();au.inherits=t;function r(l,A){return(l.charCodeAt(A)&64512)!==55296||A<0||A+1>=l.length?!1:(l.charCodeAt(A+1)&64512)===56320}function i(l,A){if(Array.isArray(l))return l.slice();if(!l)return[];var m=[];if(typeof l=="string")if(A){if(A==="hex")for(l=l.replace(/[^a-z0-9]+/ig,""),l.length%2!==0&&(l="0"+l),w=0;w<l.length;w+=2)m.push(parseInt(l[w]+l[w+1],16))}else for(var E=0,w=0;w<l.length;w++){var x=l.charCodeAt(w);x<128?m[E++]=x:x<2048?(m[E++]=x>>6|192,m[E++]=x&63|128):r(l,w)?(x=65536+((x&1023)<<10)+(l.charCodeAt(++w)&1023),m[E++]=x>>18|240,m[E++]=x>>12&63|128,m[E++]=x>>6&63|128,m[E++]=x&63|128):(m[E++]=x>>12|224,m[E++]=x>>6&63|128,m[E++]=x&63|128)}else for(w=0;w<l.length;w++)m[w]=l[w]|0;return m}au.toArray=i;function n(l){for(var A="",m=0;m<l.length;m++)A+=g(l[m].toString(16));return A}au.toHex=n;function o(l){var A=l>>>24|l>>>8&65280|l<<8&16711680|(l&255)<<24;return A>>>0}au.htonl=o;function d(l,A){for(var m="",E=0;E<l.length;E++){var w=l[E];A==="little"&&(w=o(w)),m+=y(w.toString(16))}return m}au.toHex32=d;function g(l){return l.length===1?"0"+l:l}au.zero2=g;function y(l){return l.length===7?"0"+l:l.length===6?"00"+l:l.length===5?"000"+l:l.length===4?"0000"+l:l.length===3?"00000"+l:l.length===2?"000000"+l:l.length===1?"0000000"+l:l}au.zero8=y;function _(l,A,m,E){var w=m-A;e(w%4===0);for(var x=new Array(w/4),R=0,u=A;R<x.length;R++,u+=4){var C;E==="big"?C=l[u]<<24|l[u+1]<<16|l[u+2]<<8|l[u+3]:C=l[u+3]<<24|l[u+2]<<16|l[u+1]<<8|l[u],x[R]=C>>>0}return x}au.join32=_;function I(l,A){for(var m=new Array(l.length*4),E=0,w=0;E<l.length;E++,w+=4){var x=l[E];A==="big"?(m[w]=x>>>24,m[w+1]=x>>>16&255,m[w+2]=x>>>8&255,m[w+3]=x&255):(m[w+3]=x>>>24,m[w+2]=x>>>16&255,m[w+1]=x>>>8&255,m[w]=x&255)}return m}au.split32=I;function N(l,A){return l>>>A|l<<32-A}au.rotr32=N;function T(l,A){return l<<A|l>>>32-A}au.rotl32=T;function M(l,A){return l+A>>>0}au.sum32=M;function D(l,A,m){return l+A+m>>>0}au.sum32_3=D;function P(l,A,m,E){return l+A+m+E>>>0}au.sum32_4=P;function G(l,A,m,E,w){return l+A+m+E+w>>>0}au.sum32_5=G;function q(l,A,m,E){var w=l[A],x=l[A+1],R=E+x>>>0,u=(R<E?1:0)+m+w;l[A]=u>>>0,l[A+1]=R}au.sum64=q;function Y(l,A,m,E){var w=A+E>>>0,x=(w<A?1:0)+l+m;return x>>>0}au.sum64_hi=Y;function ne(l,A,m,E){var w=A+E;return w>>>0}au.sum64_lo=ne;function ce(l,A,m,E,w,x,R,u){var C=0,U=A;U=U+E>>>0,C+=U<A?1:0,U=U+x>>>0,C+=U<x?1:0,U=U+u>>>0,C+=U<u?1:0;var F=l+m+w+R+C;return F>>>0}au.sum64_4_hi=ce;function le(l,A,m,E,w,x,R,u){var C=A+E+x+u;return C>>>0}au.sum64_4_lo=le;function pe(l,A,m,E,w,x,R,u,C,U){var F=0,X=A;X=X+E>>>0,F+=X<A?1:0,X=X+x>>>0,F+=X<x?1:0,X=X+u>>>0,F+=X<u?1:0,X=X+U>>>0,F+=X<U?1:0;var Ae=l+m+w+R+C+F;return Ae>>>0}au.sum64_5_hi=pe;function ae(l,A,m,E,w,x,R,u,C,U){var F=A+E+x+u+U;return F>>>0}au.sum64_5_lo=ae;function W(l,A,m){var E=A<<32-m|l>>>m;return E>>>0}au.rotr64_hi=W;function se(l,A,m){var E=l<<32-m|A>>>m;return E>>>0}au.rotr64_lo=se;function O(l,A,m){return l>>>m}au.shr64_hi=O;function s(l,A,m){var E=l<<32-m|A>>>m;return E>>>0}return au.shr64_lo=s,au}function DVe(){if(sQe)return Xse;sQe=!0;var e=lV(),t=Zy();function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}return Xse.BlockHash=r,r.prototype.update=function(n,o){if(n=e.toArray(n,o),this.pending?this.pending=this.pending.concat(n):this.pending=n,this.pendingTotal+=n.length,this.pending.length>=this._delta8){n=this.pending;var d=n.length%this._delta8;this.pending=n.slice(n.length-d,n.length),this.pending.length===0&&(this.pending=null),n=e.join32(n,0,n.length-d,this.endian);for(var g=0;g<n.length;g+=this._delta32)this._update(n,g,g+this._delta32)}return this},r.prototype.digest=function(n){return this.update(this._pad()),t(this.pending===null),this._digest(n)},r.prototype._pad=function(){var n=this.pendingTotal,o=this._delta8,d=o-(n+this.padLength)%o,g=new Array(d+this.padLength);g[0]=128;for(var y=1;y<d;y++)g[y]=0;if(n<<=3,this.endian==="big"){for(var _=8;_<this.padLength;_++)g[y++]=0;g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=n>>>24&255,g[y++]=n>>>16&255,g[y++]=n>>>8&255,g[y++]=n&255}else for(g[y++]=n&255,g[y++]=n>>>8&255,g[y++]=n>>>16&255,g[y++]=n>>>24&255,g[y++]=0,g[y++]=0,g[y++]=0,g[y++]=0,_=8;_<this.padLength;_++)g[y++]=0;return g},Xse}function z5t(){return uQe||(uQe=!0),cQe}function K5t(){if(dQe)return Zse;dQe=!0;var e=lV(),t=DVe(),r=e.rotl32,i=e.sum32,n=e.sum32_3,o=e.sum32_4,d=t.BlockHash;function g(){if(!(this instanceof g))return new g;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}e.inherits(g,d),Zse.ripemd160=g,g.blockSize=512,g.outSize=160,g.hmacStrength=192,g.padLength=64,g.prototype._update=function(G,q){for(var Y=this.h[0],ne=this.h[1],ce=this.h[2],le=this.h[3],pe=this.h[4],ae=Y,W=ne,se=ce,O=le,s=pe,l=0;l<80;l++){var A=i(r(o(Y,y(l,ne,ce,le),G[N[l]+q],_(l)),M[l]),pe);Y=pe,pe=le,le=r(ce,10),ce=ne,ne=A,A=i(r(o(ae,y(79-l,W,se,O),G[T[l]+q],I(l)),D[l]),s),ae=s,s=O,O=r(se,10),se=W,W=A}A=n(this.h[1],ce,O),this.h[1]=n(this.h[2],le,s),this.h[2]=n(this.h[3],pe,ae),this.h[3]=n(this.h[4],Y,W),this.h[4]=n(this.h[0],ne,se),this.h[0]=A},g.prototype._digest=function(G){return G==="hex"?e.toHex32(this.h,"little"):e.split32(this.h,"little")};function y(P,G,q,Y){return P<=15?G^q^Y:P<=31?G&q|~G&Y:P<=47?(G|~q)^Y:P<=63?G&Y|q&~Y:G^(q|~Y)}function _(P){return P<=15?0:P<=31?1518500249:P<=47?1859775393:P<=63?2400959708:2840853838}function I(P){return P<=15?1352829926:P<=31?1548603684:P<=47?1836072691:P<=63?2053994217:0}var N=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],T=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],M=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],D=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];return Zse}function $5t(){if(fQe)return jse;fQe=!0;var e=lV(),t=Zy();function r(i,n,o){if(!(this instanceof r))return new r(i,n,o);this.Hash=i,this.blockSize=i.blockSize/8,this.outSize=i.outSize/8,this.inner=null,this.outer=null,this._init(e.toArray(n,o))}return jse=r,r.prototype._init=function(n){n.length>this.blockSize&&(n=new this.Hash().update(n).digest()),t(n.length<=this.blockSize);for(var o=n.length;o<this.blockSize;o++)n.push(0);for(o=0;o<n.length;o++)n[o]^=54;for(this.inner=new this.Hash().update(n),o=0;o<n.length;o++)n[o]^=106;this.outer=new this.Hash().update(n)},r.prototype.update=function(n,o){return this.inner.update(n,o),this},r.prototype.digest=function(n){return this.outer.update(this.inner.digest()),this.outer.digest(n)},jse}function t0e(){if(lQe)return ece;lQe=!0;var e=ece;return e.utils=lV(),e.common=DVe(),e.sha=z5t(),e.ripemd=K5t(),e.hmac=$5t(),e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160,ece}function Y5t(){return hQe||(hQe=!0,tce={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),tce}function r0e(){if(AQe)return rce;AQe=!0;var e=rce,t=t0e(),r=MVe(),i=$g(),n=i.assert;function o(y){y.type==="short"?this.curve=new r.short(y):y.type==="edwards"?this.curve=new r.edwards(y):this.curve=new r.mont(y),this.g=this.curve.g,this.n=this.curve.n,this.hash=y.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=o;function d(y,_){Object.defineProperty(e,y,{configurable:!0,enumerable:!0,get:function(){var I=new o(_);return Object.defineProperty(e,y,{configurable:!0,enumerable:!0,value:I}),I}})}d("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),d("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),d("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),d("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),d("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),d("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),d("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var g;try{g=Y5t()}catch{g=void 0}return d("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",g]}),rce}function W5t(){if(pQe)return nce;pQe=!0;var e=t0e(),t=BVe(),r=Zy();function i(n){if(!(this instanceof i))return new i(n);this.hash=n.hash,this.predResist=!!n.predResist,this.outLen=this.hash.outSize,this.minEntropy=n.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var o=t.toArray(n.entropy,n.entropyEnc||"hex"),d=t.toArray(n.nonce,n.nonceEnc||"hex"),g=t.toArray(n.pers,n.persEnc||"hex");r(o.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(o,d,g)}return nce=i,i.prototype._init=function(o,d,g){var y=o.concat(d).concat(g);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var _=0;_<this.V.length;_++)this.K[_]=0,this.V[_]=1;this._update(y),this._reseed=1,this.reseedInterval=281474976710656},i.prototype._hmac=function(){return new e.hmac(this.hash,this.K)},i.prototype._update=function(o){var d=this._hmac().update(this.V).update([0]);o&&(d=d.update(o)),this.K=d.digest(),this.V=this._hmac().update(this.V).digest(),o&&(this.K=this._hmac().update(this.V).update([1]).update(o).digest(),this.V=this._hmac().update(this.V).digest())},i.prototype.reseed=function(o,d,g,y){typeof d!="string"&&(y=g,g=d,d=null),o=t.toArray(o,d),g=t.toArray(g,y),r(o.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(o.concat(g||[])),this._reseed=1},i.prototype.generate=function(o,d,g,y){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof d!="string"&&(y=g,g=d,d=null),g&&(g=t.toArray(g,y||"hex"),this._update(g));for(var _=[];_.length<o;)this.V=this._hmac().update(this.V).digest(),_=_.concat(this.V);var I=_.slice(0,o);return this._update(g),this._reseed++,t.encode(I,d)},nce}function X5t(){if(gQe)return ice;gQe=!0;var e=Pv(),t=$g(),r=t.assert;function i(n,o){this.ec=n,this.priv=null,this.pub=null,o.priv&&this._importPrivate(o.priv,o.privEnc),o.pub&&this._importPublic(o.pub,o.pubEnc)}return ice=i,i.fromPublic=function(o,d,g){return d instanceof i?d:new i(o,{pub:d,pubEnc:g})},i.fromPrivate=function(o,d,g){return d instanceof i?d:new i(o,{priv:d,privEnc:g})},i.prototype.validate=function(){var o=this.getPublic();return o.isInfinity()?{result:!1,reason:"Invalid public key"}:o.validate()?o.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},i.prototype.getPublic=function(o,d){return typeof o=="string"&&(d=o,o=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),d?this.pub.encode(d,o):this.pub},i.prototype.getPrivate=function(o){return o==="hex"?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(o,d){this.priv=new e(o,d||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(o,d){if(o.x||o.y){this.ec.curve.type==="mont"?r(o.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&r(o.x&&o.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(o.x,o.y);return}this.pub=this.ec.curve.decodePoint(o,d)},i.prototype.derive=function(o){return o.validate()||r(o.validate(),"public point not validated"),o.mul(this.priv).getX()},i.prototype.sign=function(o,d,g){return this.ec.sign(o,this,d,g)},i.prototype.verify=function(o,d){return this.ec.verify(o,d,this)},i.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"},ice}function Z5t(){if(_Qe)return oce;_Qe=!0;var e=Pv(),t=$g(),r=t.assert;function i(y,_){if(y instanceof i)return y;this._importDER(y,_)||(r(y.r&&y.s,"Signature without r or s"),this.r=new e(y.r,16),this.s=new e(y.s,16),y.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=y.recoveryParam)}oce=i;function n(){this.place=0}function o(y,_){var I=y[_.place++];if(!(I&128))return I;var N=I&15;if(N===0||N>4)return!1;for(var T=0,M=0,D=_.place;M<N;M++,D++)T<<=8,T|=y[D],T>>>=0;return T<=127?!1:(_.place=D,T)}function d(y){for(var _=0,I=y.length-1;!y[_]&&!(y[_+1]&128)&&_<I;)_++;return _===0?y:y.slice(_)}i.prototype._importDER=function(_,I){_=t.toArray(_,I);var N=new n;if(_[N.place++]!==48)return!1;var T=o(_,N);if(T===!1||T+N.place!==_.length||_[N.place++]!==2)return!1;var M=o(_,N);if(M===!1)return!1;var D=_.slice(N.place,M+N.place);if(N.place+=M,_[N.place++]!==2)return!1;var P=o(_,N);if(P===!1||_.length!==P+N.place)return!1;var G=_.slice(N.place,P+N.place);if(D[0]===0)if(D[1]&128)D=D.slice(1);else return!1;if(G[0]===0)if(G[1]&128)G=G.slice(1);else return!1;return this.r=new e(D),this.s=new e(G),this.recoveryParam=null,!0};function g(y,_){if(_<128){y.push(_);return}var I=1+(Math.log(_)/Math.LN2>>>3);for(y.push(I|128);--I;)y.push(_>>>(I<<3)&255);y.push(_)}return i.prototype.toDER=function(_){var I=this.r.toArray(),N=this.s.toArray();for(I[0]&128&&(I=[0].concat(I)),N[0]&128&&(N=[0].concat(N)),I=d(I),N=d(N);!N[0]&&!(N[1]&128);)N=N.slice(1);var T=[2];g(T,I.length),T=T.concat(I),T.push(2),g(T,N.length);var M=T.concat(N),D=[48];return g(D,M.length),D=D.concat(M),t.encode(D,_)},oce}function j5t(){if(mQe)return ace;mQe=!0;var e=Pv(),t=W5t(),r=$g(),i=r0e(),n=Xue(),o=r.assert,d=X5t(),g=Z5t();function y(_){if(!(this instanceof y))return new y(_);typeof _=="string"&&(o(Object.prototype.hasOwnProperty.call(i,_),"Unknown curve "+_),_=i[_]),_ instanceof i.PresetCurve&&(_={curve:_}),this.curve=_.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=_.curve.g,this.g.precompute(_.curve.n.bitLength()+1),this.hash=_.hash||_.curve.hash}return ace=y,y.prototype.keyPair=function(I){return new d(this,I)},y.prototype.keyFromPrivate=function(I,N){return d.fromPrivate(this,I,N)},y.prototype.keyFromPublic=function(I,N){return d.fromPublic(this,I,N)},y.prototype.genKeyPair=function(I){I||(I={});for(var N=new t({hash:this.hash,pers:I.pers,persEnc:I.persEnc||"utf8",entropy:I.entropy||n(this.hash.hmacStrength),entropyEnc:I.entropy&&I.entropyEnc||"utf8",nonce:this.n.toArray()}),T=this.n.byteLength(),M=this.n.sub(new e(2));;){var D=new e(N.generate(T));if(!(D.cmp(M)>0))return D.iaddn(1),this.keyFromPrivate(D)}},y.prototype._truncateToN=function(I,N){var T=I.byteLength()*8-this.n.bitLength();return T>0&&(I=I.ushrn(T)),!N&&I.cmp(this.n)>=0?I.sub(this.n):I},y.prototype.sign=function(I,N,T,M){typeof T=="object"&&(M=T,T=null),M||(M={}),N=this.keyFromPrivate(N,T),I=this._truncateToN(new e(I,16));for(var D=this.n.byteLength(),P=N.getPrivate().toArray("be",D),G=I.toArray("be",D),q=new t({hash:this.hash,entropy:P,nonce:G,pers:M.pers,persEnc:M.persEnc||"utf8"}),Y=this.n.sub(new e(1)),ne=0;;ne++){var ce=M.k?M.k(ne):new e(q.generate(this.n.byteLength()));if(ce=this._truncateToN(ce,!0),!(ce.cmpn(1)<=0||ce.cmp(Y)>=0)){var le=this.g.mul(ce);if(!le.isInfinity()){var pe=le.getX(),ae=pe.umod(this.n);if(ae.cmpn(0)!==0){var W=ce.invm(this.n).mul(ae.mul(N.getPrivate()).iadd(I));if(W=W.umod(this.n),W.cmpn(0)!==0){var se=(le.getY().isOdd()?1:0)|(pe.cmp(ae)!==0?2:0);return M.canonical&&W.cmp(this.nh)>0&&(W=this.n.sub(W),se^=1),new g({r:ae,s:W,recoveryParam:se})}}}}}},y.prototype.verify=function(I,N,T,M){I=this._truncateToN(new e(I,16)),T=this.keyFromPublic(T,M),N=new g(N,"hex");var D=N.r,P=N.s;if(D.cmpn(1)<0||D.cmp(this.n)>=0||P.cmpn(1)<0||P.cmp(this.n)>=0)return!1;var G=P.invm(this.n),q=G.mul(I).umod(this.n),Y=G.mul(D).umod(this.n),ne;return this.curve._maxwellTrick?(ne=this.g.jmulAdd(q,T.getPublic(),Y),ne.isInfinity()?!1:ne.eqXToP(D)):(ne=this.g.mulAdd(q,T.getPublic(),Y),ne.isInfinity()?!1:ne.getX().umod(this.n).cmp(D)===0)},y.prototype.recoverPubKey=function(_,I,N,T){o((3&N)===N,"The recovery param is more than two bits"),I=new g(I,T);var M=this.n,D=new e(_),P=I.r,G=I.s,q=N&1,Y=N>>1;if(P.cmp(this.curve.p.umod(this.curve.n))>=0&&Y)throw new Error("Unable to find sencond key candinate");Y?P=this.curve.pointFromX(P.add(this.curve.n),q):P=this.curve.pointFromX(P,q);var ne=I.r.invm(M),ce=M.sub(D).mul(ne).umod(M),le=G.mul(ne).umod(M);return this.g.mulAdd(ce,P,le)},y.prototype.getKeyRecoveryParam=function(_,I,N,T){if(I=new g(I,T),I.recoveryParam!==null)return I.recoveryParam;for(var M=0;M<4;M++){var D;try{D=this.recoverPubKey(_,I,M)}catch{continue}if(D.eq(N))return M}throw new Error("Unable to find valid recovery factor")},ace}function eOt(){if(yQe)return sce;yQe=!0;var e=$g(),t=e.assert,r=e.parseBytes,i=e.cachedProperty;function n(o,d){this.eddsa=o,this._secret=r(d.secret),o.isPoint(d.pub)?this._pub=d.pub:this._pubBytes=r(d.pub)}return n.fromPublic=function(d,g){return g instanceof n?g:new n(d,{pub:g})},n.fromSecret=function(d,g){return g instanceof n?g:new n(d,{secret:g})},n.prototype.secret=function(){return this._secret},i(n,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),i(n,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),i(n,"privBytes",function(){var d=this.eddsa,g=this.hash(),y=d.encodingLength-1,_=g.slice(0,d.encodingLength);return _[0]&=248,_[y]&=127,_[y]|=64,_}),i(n,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),i(n,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),i(n,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),n.prototype.sign=function(d){return t(this._secret,"KeyPair can only verify"),this.eddsa.sign(d,this)},n.prototype.verify=function(d,g){return this.eddsa.verify(d,g,this)},n.prototype.getSecret=function(d){return t(this._secret,"KeyPair is public only"),e.encode(this.secret(),d)},n.prototype.getPublic=function(d){return e.encode(this.pubBytes(),d)},sce=n,sce}function tOt(){if(bQe)return cce;bQe=!0;var e=Pv(),t=$g(),r=t.assert,i=t.cachedProperty,n=t.parseBytes;function o(d,g){this.eddsa=d,typeof g!="object"&&(g=n(g)),Array.isArray(g)&&(g={R:g.slice(0,d.encodingLength),S:g.slice(d.encodingLength)}),r(g.R&&g.S,"Signature without R or S"),d.isPoint(g.R)&&(this._R=g.R),g.S instanceof e&&(this._S=g.S),this._Rencoded=Array.isArray(g.R)?g.R:g.Rencoded,this._Sencoded=Array.isArray(g.S)?g.S:g.Sencoded}return i(o,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),i(o,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),i(o,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),i(o,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),o.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},o.prototype.toHex=function(){return t.encode(this.toBytes(),"hex").toUpperCase()},cce=o,cce}function rOt(){if(EQe)return uce;EQe=!0;var e=t0e(),t=r0e(),r=$g(),i=r.assert,n=r.parseBytes,o=eOt(),d=tOt();function g(y){if(i(y==="ed25519","only tested with ed25519 so far"),!(this instanceof g))return new g(y);y=t[y].curve,this.curve=y,this.g=y.g,this.g.precompute(y.n.bitLength()+1),this.pointClass=y.point().constructor,this.encodingLength=Math.ceil(y.n.bitLength()/8),this.hash=e.sha512}return uce=g,g.prototype.sign=function(_,I){_=n(_);var N=this.keyFromSecret(I),T=this.hashInt(N.messagePrefix(),_),M=this.g.mul(T),D=this.encodePoint(M),P=this.hashInt(D,N.pubBytes(),_).mul(N.priv()),G=T.add(P).umod(this.curve.n);return this.makeSignature({R:M,S:G,Rencoded:D})},g.prototype.verify=function(_,I,N){_=n(_),I=this.makeSignature(I);var T=this.keyFromPublic(N),M=this.hashInt(I.Rencoded(),T.pubBytes(),_),D=this.g.mul(I.S()),P=I.R().add(T.pub().mul(M));return P.eq(D)},g.prototype.hashInt=function(){for(var _=this.hash(),I=0;I<arguments.length;I++)_.update(arguments[I]);return r.intFromLE(_.digest()).umod(this.curve.n)},g.prototype.keyFromPublic=function(_){return o.fromPublic(this,_)},g.prototype.keyFromSecret=function(_){return o.fromSecret(this,_)},g.prototype.makeSignature=function(_){return _ instanceof d?_:new d(this,_)},g.prototype.encodePoint=function(_){var I=_.getY().toArray("le",this.encodingLength);return I[this.encodingLength-1]|=_.getX().isOdd()?128:0,I},g.prototype.decodePoint=function(_){_=r.parseBytes(_);var I=_.length-1,N=_.slice(0,I).concat(_[I]&-129),T=(_[I]&128)!==0,M=r.intFromLE(N);return this.curve.pointFromY(M,T)},g.prototype.encodeInt=function(_){return _.toArray("le",this.encodingLength)},g.prototype.decodeInt=function(_){return r.intFromLE(_)},g.prototype.isPoint=function(_){return _ instanceof this.pointClass},uce}function n0e(){if(vQe)return dce;vQe=!0;var e=dce;return e.version=G5t.version,e.utils=$g(),e.rand=Xue(),e.curve=MVe(),e.curves=r0e(),e.ec=j5t(),e.eddsa=rOt(),dce}function PVe(){return RQe||(RQe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Pt).negative=0,(this||Pt).words=null,(this||Pt).length=0,(this||Pt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Pt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Pt).negative=1,s=-s),s<67108864?((this||Pt).words=[s&67108863],(this||Pt).length=1):s<4503599627370496?((this||Pt).words=[s&67108863,s/67108864&67108863],(this||Pt).length=2):(r(s<9007199254740992),(this||Pt).words=[s&67108863,s/67108864&67108863,1],(this||Pt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Pt).words=[0],(this||Pt).length=1,this||Pt;(this||Pt).length=Math.ceil(s.length/3),(this||Pt).words=new Array((this||Pt).length);for(var m=0;m<(this||Pt).length;m++)(this||Pt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Pt).words[E]|=w<<x&67108863,(this||Pt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Pt).words[E]|=w<<x&67108863,(this||Pt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Pt).length=Math.ceil((s.length-l)/6),(this||Pt).words=new Array((this||Pt).length);for(var m=0;m<(this||Pt).length;m++)(this||Pt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Pt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Pt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Pt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Pt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Pt).words=[0],(this||Pt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Pt).words[0]+u<67108864?(this||Pt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Pt).words[0]+u<67108864?(this||Pt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Pt).length);for(var l=0;l<(this||Pt).length;l++)s.words[l]=(this||Pt).words[l];s.length=(this||Pt).length,s.negative=(this||Pt).negative,s.red=(this||Pt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Pt).length<s;)(this||Pt).words[(this||Pt).length++]=0;return this||Pt},n.prototype.strip=function(){for(;(this||Pt).length>1&&(this||Pt).words[(this||Pt).length-1]===0;)(this||Pt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Pt).length===1&&(this||Pt).words[0]===0&&((this||Pt).negative=0),this||Pt},n.prototype.inspect=function(){return((this||Pt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Pt).length;w++){var x=(this||Pt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Pt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Pt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Pt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Pt).words[0];return(this||Pt).length===2?s+=(this||Pt).words[1]*67108864:(this||Pt).length===3&&(this||Pt).words[2]===1?s+=4503599627370496+(this||Pt).words[1]*67108864:(this||Pt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Pt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Pt).words[(this||Pt).length-1],l=this._countBits(s);return((this||Pt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Pt).length;l++){var A=this._zeroBits((this||Pt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Pt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Pt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Pt).negative^=1),this||Pt},n.prototype.iuor=function(s){for(;(this||Pt).length<s.length;)(this||Pt).words[(this||Pt).length++]=0;for(var l=0;l<s.length;l++)(this||Pt).words[l]=(this||Pt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Pt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Pt).length>s.length?this.clone().ior(s):s.clone().ior(this||Pt)},n.prototype.uor=function(s){return(this||Pt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Pt)},n.prototype.iuand=function(s){var l;(this||Pt).length>s.length?l=s:l=this||Pt;for(var A=0;A<l.length;A++)(this||Pt).words[A]=(this||Pt).words[A]&s.words[A];return(this||Pt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Pt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Pt).length>s.length?this.clone().iand(s):s.clone().iand(this||Pt)},n.prototype.uand=function(s){return(this||Pt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Pt)},n.prototype.iuxor=function(s){var l,A;(this||Pt).length>s.length?(l=this||Pt,A=s):(l=s,A=this||Pt);for(var m=0;m<A.length;m++)(this||Pt).words[m]=l.words[m]^A.words[m];if((this||Pt)!==l)for(;m<l.length;m++)(this||Pt).words[m]=l.words[m];return(this||Pt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Pt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Pt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Pt)},n.prototype.uxor=function(s){return(this||Pt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Pt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Pt).words[m]=~(this||Pt).words[m]&67108863;return A>0&&((this||Pt).words[m]=~(this||Pt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Pt).words[A]=(this||Pt).words[A]|1<<m:(this||Pt).words[A]=(this||Pt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Pt).negative!==0&&s.negative===0)return(this||Pt).negative=0,l=this.isub(s),(this||Pt).negative^=1,this._normSign();if((this||Pt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Pt).length>s.length?(A=this||Pt,m=s):(A=s,m=this||Pt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Pt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Pt).words[w]=l&67108863,E=l>>>26;if((this||Pt).length=A.length,E!==0)(this||Pt).words[(this||Pt).length]=E,(this||Pt).length++;else if(A!==(this||Pt))for(;w<A.length;w++)(this||Pt).words[w]=A.words[w];return this||Pt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Pt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Pt).negative!==0?((this||Pt).negative=0,l=s.sub(this||Pt),(this||Pt).negative=1,l):(this||Pt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Pt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Pt).negative!==0)return(this||Pt).negative=0,this.iadd(s),(this||Pt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Pt).negative=0,(this||Pt).length=1,(this||Pt).words[0]=0,this||Pt;var m,E;A>0?(m=this||Pt,E=s):(m=s,E=this||Pt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Pt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Pt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Pt))for(;x<m.length;x++)(this||Pt).words[x]=m.words[x];return(this||Pt).length=Math.max((this||Pt).length,x),m!==(this||Pt)&&((this||Pt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Pt).length+s.length;return(this||Pt).length===10&&s.length===10?A=D(this||Pt,s,l):m<63?A=M(this||Pt,s,l):m<1024?A=P(this||Pt,s,l):A=G(this||Pt,s,l),A};function q(O,s){(this||Pt).x=O,(this||Pt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Pt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Pt).length+s.length),G(this||Pt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Pt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Pt).length;A++){var m=((this||Pt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Pt).words[A]=E&67108863}return l!==0&&((this||Pt).words[A]=l,(this||Pt).length++),this||Pt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Pt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Pt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Pt).length;E++){var x=(this||Pt).words[E]&m,R=((this||Pt).words[E]|0)-x<<l;(this||Pt).words[E]=R|w,w=x>>>26-l}w&&((this||Pt).words[E]=w,(this||Pt).length++)}if(A!==0){for(E=(this||Pt).length-1;E>=0;E--)(this||Pt).words[E+A]=(this||Pt).words[E];for(E=0;E<A;E++)(this||Pt).words[E]=0;(this||Pt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Pt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Pt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Pt).words[u];R.length=w}if(w!==0)if((this||Pt).length>w)for((this||Pt).length-=w,u=0;u<(this||Pt).length;u++)(this||Pt).words[u]=(this||Pt).words[u+w];else(this||Pt).words[0]=0,(this||Pt).length=1;var C=0;for(u=(this||Pt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Pt).words[u]|0;(this||Pt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Pt).length===0&&((this||Pt).words[0]=0,(this||Pt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Pt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Pt).length<=A)return!1;var E=(this||Pt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Pt).negative===0,"imaskn works only with positive numbers"),(this||Pt).length<=A)return this||Pt;if(l!==0&&A++,(this||Pt).length=Math.min(A,(this||Pt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Pt).words[(this||Pt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Pt).negative!==0?(this||Pt).length===1&&((this||Pt).words[0]|0)<s?((this||Pt).words[0]=s-((this||Pt).words[0]|0),(this||Pt).negative=0,this||Pt):((this||Pt).negative=0,this.isubn(s),(this||Pt).negative=1,this||Pt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Pt).words[0]+=s;for(var l=0;l<(this||Pt).length&&(this||Pt).words[l]>=67108864;l++)(this||Pt).words[l]-=67108864,l===(this||Pt).length-1?(this||Pt).words[l+1]=1:(this||Pt).words[l+1]++;return(this||Pt).length=Math.max((this||Pt).length,l+1),this||Pt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Pt).negative!==0)return(this||Pt).negative=0,this.iaddn(s),(this||Pt).negative=1,this||Pt;if((this||Pt).words[0]-=s,(this||Pt).length===1&&(this||Pt).words[0]<0)(this||Pt).words[0]=-(this||Pt).words[0],(this||Pt).negative=1;else for(var l=0;l<(this||Pt).length&&(this||Pt).words[l]<0;l++)(this||Pt).words[l]+=67108864,(this||Pt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Pt).negative=0,this||Pt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Pt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Pt).words[E+A]=w&67108863}for(;E<(this||Pt).length-A;E++)w=((this||Pt).words[E+A]|0)+x,x=w>>26,(this||Pt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Pt).length;E++)w=-((this||Pt).words[E]|0)+x,x=w>>26,(this||Pt).words[E]=w&67108863;return(this||Pt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Pt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Pt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Pt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Pt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Pt).length||this.cmp(s)<0?{div:new n(0),mod:this||Pt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Pt).length-1;m>=0;m--)A=(l*A+((this||Pt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Pt).length-1;A>=0;A--){var m=((this||Pt).words[A]|0)+l*67108864;(this||Pt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Pt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Pt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Pt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Pt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Pt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Pt).length<=A)return this._expand(A+1),(this||Pt).words[A]|=m,this||Pt;for(var E=m,w=A;E!==0&&w<(this||Pt).length;w++){var x=(this||Pt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Pt).words[w]=x}return E!==0&&((this||Pt).words[w]=E,(this||Pt).length++),this||Pt},n.prototype.isZero=function(){return(this||Pt).length===1&&(this||Pt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Pt).negative!==0&&!l)return-1;if((this||Pt).negative===0&&l)return 1;this.strip();var A;if((this||Pt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Pt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Pt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Pt).negative!==0&&s.negative===0)return-1;if((this||Pt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Pt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Pt).length>s.length)return 1;if((this||Pt).length<s.length)return-1;for(var l=0,A=(this||Pt).length-1;A>=0;A--){var m=(this||Pt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Pt).red,"Already a number in reduction context"),r((this||Pt).negative===0,"red works only with positives"),s.convertTo(this||Pt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Pt).red,"fromRed works only with numbers in reduction context"),(this||Pt).red.convertFrom(this||Pt)},n.prototype._forceRed=function(s){return(this||Pt).red=s,this||Pt},n.prototype.forceRed=function(s){return r(!(this||Pt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Pt).red,"redAdd works only with red numbers"),(this||Pt).red.add(this||Pt,s)},n.prototype.redIAdd=function(s){return r((this||Pt).red,"redIAdd works only with red numbers"),(this||Pt).red.iadd(this||Pt,s)},n.prototype.redSub=function(s){return r((this||Pt).red,"redSub works only with red numbers"),(this||Pt).red.sub(this||Pt,s)},n.prototype.redISub=function(s){return r((this||Pt).red,"redISub works only with red numbers"),(this||Pt).red.isub(this||Pt,s)},n.prototype.redShl=function(s){return r((this||Pt).red,"redShl works only with red numbers"),(this||Pt).red.shl(this||Pt,s)},n.prototype.redMul=function(s){return r((this||Pt).red,"redMul works only with red numbers"),(this||Pt).red._verify2(this||Pt,s),(this||Pt).red.mul(this||Pt,s)},n.prototype.redIMul=function(s){return r((this||Pt).red,"redMul works only with red numbers"),(this||Pt).red._verify2(this||Pt,s),(this||Pt).red.imul(this||Pt,s)},n.prototype.redSqr=function(){return r((this||Pt).red,"redSqr works only with red numbers"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.sqr(this||Pt)},n.prototype.redISqr=function(){return r((this||Pt).red,"redISqr works only with red numbers"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.isqr(this||Pt)},n.prototype.redSqrt=function(){return r((this||Pt).red,"redSqrt works only with red numbers"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.sqrt(this||Pt)},n.prototype.redInvm=function(){return r((this||Pt).red,"redInvm works only with red numbers"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.invm(this||Pt)},n.prototype.redNeg=function(){return r((this||Pt).red,"redNeg works only with red numbers"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.neg(this||Pt)},n.prototype.redPow=function(s){return r((this||Pt).red&&!s.red,"redPow(normalNum)"),(this||Pt).red._verify1(this||Pt),(this||Pt).red.pow(this||Pt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Pt).name=O,(this||Pt).p=new n(s,16),(this||Pt).n=(this||Pt).p.bitLength(),(this||Pt).k=new n(1).iushln((this||Pt).n).isub((this||Pt).p),(this||Pt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Pt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Pt).tmp),l=this.imulK(l),l=l.iadd((this||Pt).tmp),A=l.bitLength();while(A>(this||Pt).n);var m=A<(this||Pt).n?-1:l.ucmp((this||Pt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Pt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Pt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Pt).k)};function ce(){ne.call(this||Pt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Pt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Pt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Pt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Pt).m=s.p,(this||Pt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Pt).m=O,(this||Pt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Pt).prime?(this||Pt).prime.ireduce(s)._forceRed(this||Pt):s.umod((this||Pt).m)._forceRed(this||Pt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Pt).m.sub(s)._forceRed(this||Pt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Pt).m)>=0&&A.isub((this||Pt).m),A._forceRed(this||Pt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Pt).m)>=0&&A.isub((this||Pt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Pt).m),A._forceRed(this||Pt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Pt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Pt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Pt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Pt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Pt),x=w.redNeg(),R=(this||Pt).m.subn(1).iushrn(1),u=(this||Pt).m.bitLength();for(u=new n(2*u*u).toRed(this||Pt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Pt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Pt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Pt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Pt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Pt,O),(this||Pt).shift=(this||Pt).m.bitLength(),(this||Pt).shift%26!==0&&((this||Pt).shift+=26-(this||Pt).shift%26),(this||Pt).r=new n(1).iushln((this||Pt).shift),(this||Pt).r2=this.imod((this||Pt).r.sqr()),(this||Pt).rinv=(this||Pt).r._invmp((this||Pt).m),(this||Pt).minv=(this||Pt).rinv.mul((this||Pt).r).isubn(1).div((this||Pt).m),(this||Pt).minv=(this||Pt).minv.umod((this||Pt).r),(this||Pt).minv=(this||Pt).r.sub((this||Pt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Pt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Pt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Pt).shift).mul((this||Pt).minv).imaskn((this||Pt).shift).mul((this||Pt).m),E=A.isub(m).iushrn((this||Pt).shift),w=E;return E.cmp((this||Pt).m)>=0?w=E.isub((this||Pt).m):E.cmpn(0)<0&&(w=E.iadd((this||Pt).m)),w._forceRed(this||Pt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Pt);var A=s.mul(l),m=A.maskn((this||Pt).shift).mul((this||Pt).minv).imaskn((this||Pt).shift).mul((this||Pt).m),E=A.isub(m).iushrn((this||Pt).shift),w=E;return E.cmp((this||Pt).m)>=0?w=E.isub((this||Pt).m):E.cmpn(0)<0&&(w=E.iadd((this||Pt).m)),w._forceRed(this||Pt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Pt).m).mul((this||Pt).r2));return l._forceRed(this||Pt)}})(fce,kVe)),fce.exports}function i0e(){if(SQe)return lce;SQe=!0;var e=za,t=Nu,r=t.Buffer,i={},n;for(n in t)t.hasOwnProperty(n)&&(n==="SlowBuffer"||n==="Buffer"||(i[n]=t[n]));var o=i.Buffer={};for(n in r)r.hasOwnProperty(n)&&(n==="allocUnsafe"||n==="allocUnsafeSlow"||(o[n]=r[n]));if(i.Buffer.prototype=r.prototype,(!o.from||o.from===Uint8Array.from)&&(o.from=function(d,g,y){if(typeof d=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof d);if(d&&typeof d.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof d);return r(d,g,y)}),o.alloc||(o.alloc=function(d,g,y){if(typeof d!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof d);if(d<0||d>=2*(1<<30))throw new RangeError('The value "'+d+'" is invalid for option "size"');var _=r(d);return!g||g.length===0?_.fill(0):typeof y=="string"?_.fill(g,y):_.fill(g),_}),!i.kStringMaxLength)try{i.kStringMaxLength=e.binding("buffer").kStringMaxLength}catch{}return i.constants||(i.constants={MAX_LENGTH:i.kMaxLength},i.kStringMaxLength&&(i.constants.MAX_STRING_LENGTH=i.kStringMaxLength)),lce=i,lce}function o0e(){if(IQe)return hce;IQe=!0;let e=La();function t(i){this._reporterState={obj:null,path:[],options:i||{},errors:[]}}hce.Reporter=t,t.prototype.isError=function(n){return n instanceof r},t.prototype.save=function(){let n=this._reporterState;return{obj:n.obj,pathLen:n.path.length}},t.prototype.restore=function(n){let o=this._reporterState;o.obj=n.obj,o.path=o.path.slice(0,n.pathLen)},t.prototype.enterKey=function(n){return this._reporterState.path.push(n)},t.prototype.exitKey=function(n){let o=this._reporterState;o.path=o.path.slice(0,n-1)},t.prototype.leaveKey=function(n,o,d){let g=this._reporterState;this.exitKey(n),g.obj!==null&&(g.obj[o]=d)},t.prototype.path=function(){return this._reporterState.path.join("/")},t.prototype.enterObject=function(){let n=this._reporterState,o=n.obj;return n.obj={},o},t.prototype.leaveObject=function(n){let o=this._reporterState,d=o.obj;return o.obj=n,d},t.prototype.error=function(n){let o,d=this._reporterState,g=n instanceof r;if(g?o=n:o=new r(d.path.map(function(y){return"["+JSON.stringify(y)+"]"}).join(""),n.message||n,n.stack),!d.options.partial)throw o;return g||d.errors.push(o),o},t.prototype.wrapResult=function(n){let o=this._reporterState;return o.options.partial?{result:this.isError(n)?null:n,errors:o.errors}:n};function r(i,n){this.path=i,this.rethrow(n)}return e(r,Error),r.prototype.rethrow=function(n){if(this.message=n+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,r),!this.stack)try{throw new Error(this.message)}catch(o){this.stack=o.stack}return this},hce}function xD(){if(CQe)return fq;CQe=!0;let e=La(),t=o0e().Reporter,r=i0e().Buffer;function i(o,d){if(t.call(this,d),!r.isBuffer(o)){this.error("Input not Buffer");return}this.base=o,this.offset=0,this.length=o.length}e(i,t),fq.DecoderBuffer=i,i.isDecoderBuffer=function(d){return d instanceof i?!0:typeof d=="object"&&r.isBuffer(d.base)&&d.constructor.name==="DecoderBuffer"&&typeof d.offset=="number"&&typeof d.length=="number"&&typeof d.save=="function"&&typeof d.restore=="function"&&typeof d.isEmpty=="function"&&typeof d.readUInt8=="function"&&typeof d.skip=="function"&&typeof d.raw=="function"},i.prototype.save=function(){return{offset:this.offset,reporter:t.prototype.save.call(this)}},i.prototype.restore=function(d){let g=new i(this.base);return g.offset=d.offset,g.length=this.offset,this.offset=d.offset,t.prototype.restore.call(this,d.reporter),g},i.prototype.isEmpty=function(){return this.offset===this.length},i.prototype.readUInt8=function(d){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(d||"DecoderBuffer overrun")},i.prototype.skip=function(d,g){if(!(this.offset+d<=this.length))return this.error(g||"DecoderBuffer overrun");let y=new i(this.base);return y._reporterState=this._reporterState,y.offset=this.offset,y.length=this.offset+d,this.offset+=d,y},i.prototype.raw=function(d){return this.base.slice(d?d.offset:this.offset,this.length)};function n(o,d){if(Array.isArray(o))this.length=0,this.value=o.map(function(g){return n.isEncoderBuffer(g)||(g=new n(g,d)),this.length+=g.length,g},this);else if(typeof o=="number"){if(!(0<=o&&o<=255))return d.error("non-byte EncoderBuffer value");this.value=o,this.length=1}else if(typeof o=="string")this.value=o,this.length=r.byteLength(o);else if(r.isBuffer(o))this.value=o,this.length=o.length;else return d.error("Unsupported type: "+typeof o)}return fq.EncoderBuffer=n,n.isEncoderBuffer=function(d){return d instanceof n?!0:typeof d=="object"&&d.constructor.name==="EncoderBuffer"&&typeof d.length=="number"&&typeof d.join=="function"},n.prototype.join=function(d,g){return d||(d=r.alloc(this.length)),g||(g=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(y){y.join(d,g),g+=y.length}):(typeof this.value=="number"?d[g]=this.value:typeof this.value=="string"?d.write(this.value,g):r.isBuffer(this.value)&&this.value.copy(d,g),g+=this.length)),d},fq}function a0e(){if(wQe)return Ace;wQe=!0;let e=o0e().Reporter,t=xD().EncoderBuffer,r=xD().DecoderBuffer,i=Zy(),n=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],o=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(n),d=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function g(_,I,N){let T={};this._baseState=T,T.name=N,T.enc=_,T.parent=I||null,T.children=null,T.tag=null,T.args=null,T.reverseArgs=null,T.choice=null,T.optional=!1,T.any=!1,T.obj=!1,T.use=null,T.useDecoder=null,T.key=null,T.default=null,T.explicit=null,T.implicit=null,T.contains=null,T.parent||(T.children=[],this._wrap())}Ace=g;let y=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];return g.prototype.clone=function(){let I=this._baseState,N={};y.forEach(function(M){N[M]=I[M]});let T=new this.constructor(N.parent);return T._baseState=N,T},g.prototype._wrap=function(){let I=this._baseState;o.forEach(function(N){this[N]=function(){let M=new this.constructor(this);return I.children.push(M),M[N].apply(M,arguments)}},this)},g.prototype._init=function(I){let N=this._baseState;i(N.parent===null),I.call(this),N.children=N.children.filter(function(T){return T._baseState.parent===this},this),i.equal(N.children.length,1,"Root node can have only one child")},g.prototype._useArgs=function(I){let N=this._baseState,T=I.filter(function(M){return M instanceof this.constructor},this);I=I.filter(function(M){return!(M instanceof this.constructor)},this),T.length!==0&&(i(N.children===null),N.children=T,T.forEach(function(M){M._baseState.parent=this},this)),I.length!==0&&(i(N.args===null),N.args=I,N.reverseArgs=I.map(function(M){if(typeof M!="object"||M.constructor!==Object)return M;let D={};return Object.keys(M).forEach(function(P){P==(P|0)&&(P|=0);let G=M[P];D[G]=P}),D}))},d.forEach(function(_){g.prototype[_]=function(){let N=this._baseState;throw new Error(_+" not implemented for encoding: "+N.enc)}}),n.forEach(function(_){g.prototype[_]=function(){let N=this._baseState,T=Array.prototype.slice.call(arguments);return i(N.tag===null),N.tag=_,this._useArgs(T),this}}),g.prototype.use=function(I){i(I);let N=this._baseState;return i(N.use===null),N.use=I,this},g.prototype.optional=function(){let I=this._baseState;return I.optional=!0,this},g.prototype.def=function(I){let N=this._baseState;return i(N.default===null),N.default=I,N.optional=!0,this},g.prototype.explicit=function(I){let N=this._baseState;return i(N.explicit===null&&N.implicit===null),N.explicit=I,this},g.prototype.implicit=function(I){let N=this._baseState;return i(N.explicit===null&&N.implicit===null),N.implicit=I,this},g.prototype.obj=function(){let I=this._baseState,N=Array.prototype.slice.call(arguments);return I.obj=!0,N.length!==0&&this._useArgs(N),this},g.prototype.key=function(I){let N=this._baseState;return i(N.key===null),N.key=I,this},g.prototype.any=function(){let I=this._baseState;return I.any=!0,this},g.prototype.choice=function(I){let N=this._baseState;return i(N.choice===null),N.choice=I,this._useArgs(Object.keys(I).map(function(T){return I[T]})),this},g.prototype.contains=function(I){let N=this._baseState;return i(N.use===null),N.contains=I,this},g.prototype._decode=function(I,N){let T=this._baseState;if(T.parent===null)return I.wrapResult(T.children[0]._decode(I,N));let M=T.default,D=!0,P=null;if(T.key!==null&&(P=I.enterKey(T.key)),T.optional){let q=null;if(T.explicit!==null?q=T.explicit:T.implicit!==null?q=T.implicit:T.tag!==null&&(q=T.tag),q===null&&!T.any){let Y=I.save();try{T.choice===null?this._decodeGeneric(T.tag,I,N):this._decodeChoice(I,N),D=!0}catch{D=!1}I.restore(Y)}else if(D=this._peekTag(I,q,T.any),I.isError(D))return D}let G;if(T.obj&&D&&(G=I.enterObject()),D){if(T.explicit!==null){let Y=this._decodeTag(I,T.explicit);if(I.isError(Y))return Y;I=Y}let q=I.offset;if(T.use===null&&T.choice===null){let Y;T.any&&(Y=I.save());let ne=this._decodeTag(I,T.implicit!==null?T.implicit:T.tag,T.any);if(I.isError(ne))return ne;T.any?M=I.raw(Y):I=ne}if(N&&N.track&&T.tag!==null&&N.track(I.path(),q,I.length,"tagged"),N&&N.track&&T.tag!==null&&N.track(I.path(),I.offset,I.length,"content"),T.any||(T.choice===null?M=this._decodeGeneric(T.tag,I,N):M=this._decodeChoice(I,N)),I.isError(M))return M;if(!T.any&&T.choice===null&&T.children!==null&&T.children.forEach(function(ne){ne._decode(I,N)}),T.contains&&(T.tag==="octstr"||T.tag==="bitstr")){let Y=new r(M);M=this._getUse(T.contains,I._reporterState.obj)._decode(Y,N)}}return T.obj&&D&&(M=I.leaveObject(G)),T.key!==null&&(M!==null||D===!0)?I.leaveKey(P,T.key,M):P!==null&&I.exitKey(P),M},g.prototype._decodeGeneric=function(I,N,T){let M=this._baseState;return I==="seq"||I==="set"?null:I==="seqof"||I==="setof"?this._decodeList(N,I,M.args[0],T):/str$/.test(I)?this._decodeStr(N,I,T):I==="objid"&&M.args?this._decodeObjid(N,M.args[0],M.args[1],T):I==="objid"?this._decodeObjid(N,null,null,T):I==="gentime"||I==="utctime"?this._decodeTime(N,I,T):I==="null_"?this._decodeNull(N,T):I==="bool"?this._decodeBool(N,T):I==="objDesc"?this._decodeStr(N,I,T):I==="int"||I==="enum"?this._decodeInt(N,M.args&&M.args[0],T):M.use!==null?this._getUse(M.use,N._reporterState.obj)._decode(N,T):N.error("unknown tag: "+I)},g.prototype._getUse=function(I,N){let T=this._baseState;return T.useDecoder=this._use(I,N),i(T.useDecoder._baseState.parent===null),T.useDecoder=T.useDecoder._baseState.children[0],T.implicit!==T.useDecoder._baseState.implicit&&(T.useDecoder=T.useDecoder.clone(),T.useDecoder._baseState.implicit=T.implicit),T.useDecoder},g.prototype._decodeChoice=function(I,N){let T=this._baseState,M=null,D=!1;return Object.keys(T.choice).some(function(P){let G=I.save(),q=T.choice[P];try{let Y=q._decode(I,N);if(I.isError(Y))return!1;M={type:P,value:Y},D=!0}catch{return I.restore(G),!1}return!0},this),D?M:I.error("Choice not matched")},g.prototype._createEncoderBuffer=function(I){return new t(I,this.reporter)},g.prototype._encode=function(I,N,T){let M=this._baseState;if(M.default!==null&&M.default===I)return;let D=this._encodeValue(I,N,T);if(D!==void 0&&!this._skipDefault(D,N,T))return D},g.prototype._encodeValue=function(I,N,T){let M=this._baseState;if(M.parent===null)return M.children[0]._encode(I,N||new e);let D=null;if(this.reporter=N,M.optional&&I===void 0)if(M.default!==null)I=M.default;else return;let P=null,G=!1;if(M.any)D=this._createEncoderBuffer(I);else if(M.choice)D=this._encodeChoice(I,N);else if(M.contains)P=this._getUse(M.contains,T)._encode(I,N),G=!0;else if(M.children)P=M.children.map(function(q){if(q._baseState.tag==="null_")return q._encode(null,N,I);if(q._baseState.key===null)return N.error("Child should have a key");let Y=N.enterKey(q._baseState.key);if(typeof I!="object")return N.error("Child expected, but input is not object");let ne=q._encode(I[q._baseState.key],N,I);return N.leaveKey(Y),ne},this).filter(function(q){return q}),P=this._createEncoderBuffer(P);else if(M.tag==="seqof"||M.tag==="setof"){if(!(M.args&&M.args.length===1))return N.error("Too many args for : "+M.tag);if(!Array.isArray(I))return N.error("seqof/setof, but data is not Array");let q=this.clone();q._baseState.implicit=null,P=this._createEncoderBuffer(I.map(function(Y){let ne=this._baseState;return this._getUse(ne.args[0],I)._encode(Y,N)},q))}else M.use!==null?D=this._getUse(M.use,T)._encode(I,N):(P=this._encodePrimitive(M.tag,I),G=!0);if(!M.any&&M.choice===null){let q=M.implicit!==null?M.implicit:M.tag,Y=M.implicit===null?"universal":"context";q===null?M.use===null&&N.error("Tag could be omitted only for .use()"):M.use===null&&(D=this._encodeComposite(q,G,Y,P))}return M.explicit!==null&&(D=this._encodeComposite(M.explicit,!1,"context",D)),D},g.prototype._encodeChoice=function(I,N){let T=this._baseState,M=T.choice[I.type];return M||i(!1,I.type+" not found in "+JSON.stringify(Object.keys(T.choice))),M._encode(I.value,N)},g.prototype._encodePrimitive=function(I,N){let T=this._baseState;if(/str$/.test(I))return this._encodeStr(N,I);if(I==="objid"&&T.args)return this._encodeObjid(N,T.reverseArgs[0],T.args[1]);if(I==="objid")return this._encodeObjid(N,null,null);if(I==="gentime"||I==="utctime")return this._encodeTime(N,I);if(I==="null_")return this._encodeNull();if(I==="int"||I==="enum")return this._encodeInt(N,T.args&&T.reverseArgs[0]);if(I==="bool")return this._encodeBool(N);if(I==="objDesc")return this._encodeStr(N,I);throw new Error("Unsupported tag: "+I)},g.prototype._isNumstr=function(I){return/^[0-9 ]*$/.test(I)},g.prototype._isPrintstr=function(I){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(I)},Ace}function s0e(){if(OQe)return a6;OQe=!0;function e(t){let r={};return Object.keys(t).forEach(function(i){(i|0)==i&&(i=i|0);let n=t[i];r[n]=i}),r}return a6.tagClass={0:"universal",1:"application",2:"context",3:"private"},a6.tagClassByName=e(a6.tagClass),a6.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},a6.tagByName=e(a6.tag),a6}function LVe(){if(NQe)return pce;NQe=!0;let e=La(),t=i0e().Buffer,r=a0e(),i=s0e();function n(y){this.enc="der",this.name=y.name,this.entity=y,this.tree=new o,this.tree._init(y.body)}pce=n,n.prototype.encode=function(_,I){return this.tree._encode(_,I).join()};function o(y){r.call(this,"der",y)}e(o,r),o.prototype._encodeComposite=function(_,I,N,T){let M=g(_,I,N,this.reporter);if(T.length<128){let G=t.alloc(2);return G[0]=M,G[1]=T.length,this._createEncoderBuffer([G,T])}let D=1;for(let G=T.length;G>=256;G>>=8)D++;let P=t.alloc(2+D);P[0]=M,P[1]=128|D;for(let G=1+D,q=T.length;q>0;G--,q>>=8)P[G]=q&255;return this._createEncoderBuffer([P,T])},o.prototype._encodeStr=function(_,I){if(I==="bitstr")return this._createEncoderBuffer([_.unused|0,_.data]);if(I==="bmpstr"){let N=t.alloc(_.length*2);for(let T=0;T<_.length;T++)N.writeUInt16BE(_.charCodeAt(T),T*2);return this._createEncoderBuffer(N)}else return I==="numstr"?this._isNumstr(_)?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: numstr supports only digits and space"):I==="printstr"?this._isPrintstr(_)?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(I)?this._createEncoderBuffer(_):I==="objDesc"?this._createEncoderBuffer(_):this.reporter.error("Encoding of string type: "+I+" unsupported")},o.prototype._encodeObjid=function(_,I,N){if(typeof _=="string"){if(!I)return this.reporter.error("string objid given, but no values map found");if(!I.hasOwnProperty(_))return this.reporter.error("objid not found in values map");_=I[_].split(/[\s.]+/g);for(let P=0;P<_.length;P++)_[P]|=0}else if(Array.isArray(_)){_=_.slice();for(let P=0;P<_.length;P++)_[P]|=0}if(!Array.isArray(_))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(_));if(!N){if(_[1]>=40)return this.reporter.error("Second objid identifier OOB");_.splice(0,2,_[0]*40+_[1])}let T=0;for(let P=0;P<_.length;P++){let G=_[P];for(T++;G>=128;G>>=7)T++}let M=t.alloc(T),D=M.length-1;for(let P=_.length-1;P>=0;P--){let G=_[P];for(M[D--]=G&127;(G>>=7)>0;)M[D--]=128|G&127}return this._createEncoderBuffer(M)};function d(y){return y<10?"0"+y:y}o.prototype._encodeTime=function(_,I){let N,T=new Date(_);return I==="gentime"?N=[d(T.getUTCFullYear()),d(T.getUTCMonth()+1),d(T.getUTCDate()),d(T.getUTCHours()),d(T.getUTCMinutes()),d(T.getUTCSeconds()),"Z"].join(""):I==="utctime"?N=[d(T.getUTCFullYear()%100),d(T.getUTCMonth()+1),d(T.getUTCDate()),d(T.getUTCHours()),d(T.getUTCMinutes()),d(T.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+I+" time is not supported yet"),this._encodeStr(N,"octstr")},o.prototype._encodeNull=function(){return this._createEncoderBuffer("")},o.prototype._encodeInt=function(_,I){if(typeof _=="string"){if(!I)return this.reporter.error("String int or enum given, but no values map");if(!I.hasOwnProperty(_))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(_));_=I[_]}if(typeof _!="number"&&!t.isBuffer(_)){let M=_.toArray();!_.sign&&M[0]&128&&M.unshift(0),_=t.from(M)}if(t.isBuffer(_)){let M=_.length;_.length===0&&M++;let D=t.alloc(M);return _.copy(D),_.length===0&&(D[0]=0),this._createEncoderBuffer(D)}if(_<128)return this._createEncoderBuffer(_);if(_<256)return this._createEncoderBuffer([0,_]);let N=1;for(let M=_;M>=256;M>>=8)N++;let T=new Array(N);for(let M=T.length-1;M>=0;M--)T[M]=_&255,_>>=8;return T[0]&128&&T.unshift(0),this._createEncoderBuffer(t.from(T))},o.prototype._encodeBool=function(_){return this._createEncoderBuffer(_?255:0)},o.prototype._use=function(_,I){return typeof _=="function"&&(_=_(I)),_._getEncoder("der").tree},o.prototype._skipDefault=function(_,I,N){let T=this._baseState,M;if(T.default===null)return!1;let D=_.join();if(T.defaultBuffer===void 0&&(T.defaultBuffer=this._encodeValue(T.default,I,N).join()),D.length!==T.defaultBuffer.length)return!1;for(M=0;M<D.length;M++)if(D[M]!==T.defaultBuffer[M])return!1;return!0};function g(y,_,I,N){let T;if(y==="seqof"?y="seq":y==="setof"&&(y="set"),i.tagByName.hasOwnProperty(y))T=i.tagByName[y];else if(typeof y=="number"&&(y|0)===y)T=y;else return N.error("Unknown tag: "+y);return T>=31?N.error("Multi-octet tag encoding unsupported"):(_||(T|=32),T|=i.tagClassByName[I||"universal"]<<6,T)}return pce}function nOt(){if(xQe)return gce;xQe=!0;let e=La(),t=LVe();function r(i){t.call(this,i),this.enc="pem"}return e(r,t),gce=r,r.prototype.encode=function(n,o){let g=t.prototype.encode.call(this,n).toString("base64"),y=["-----BEGIN "+o.label+"-----"];for(let _=0;_<g.length;_+=64)y.push(g.slice(_,_+64));return y.push("-----END "+o.label+"-----"),y.join(` +`)},gce}function UVe(){if(TQe)return _ce;TQe=!0;let e=_ce;return e.der=LVe(),e.pem=nOt(),_ce}function FVe(){if(BQe)return mce;BQe=!0;let e=La(),t=PVe(),r=xD().DecoderBuffer,i=a0e(),n=s0e();function o(_){this.enc="der",this.name=_.name,this.entity=_,this.tree=new d,this.tree._init(_.body)}mce=o,o.prototype.decode=function(I,N){return r.isDecoderBuffer(I)||(I=new r(I,N)),this.tree._decode(I,N)};function d(_){i.call(this,"der",_)}e(d,i),d.prototype._peekTag=function(I,N,T){if(I.isEmpty())return!1;let M=I.save(),D=g(I,'Failed to peek tag: "'+N+'"');return I.isError(D)?D:(I.restore(M),D.tag===N||D.tagStr===N||D.tagStr+"of"===N||T)},d.prototype._decodeTag=function(I,N,T){let M=g(I,'Failed to decode tag of "'+N+'"');if(I.isError(M))return M;let D=y(I,M.primitive,'Failed to get length of "'+N+'"');if(I.isError(D))return D;if(!T&&M.tag!==N&&M.tagStr!==N&&M.tagStr+"of"!==N)return I.error('Failed to match tag: "'+N+'"');if(M.primitive||D!==null)return I.skip(D,'Failed to match body of: "'+N+'"');let P=I.save(),G=this._skipUntilEnd(I,'Failed to skip indefinite length body: "'+this.tag+'"');return I.isError(G)?G:(D=I.offset-P.offset,I.restore(P),I.skip(D,'Failed to match body of: "'+N+'"'))},d.prototype._skipUntilEnd=function(I,N){for(;;){let T=g(I,N);if(I.isError(T))return T;let M=y(I,T.primitive,N);if(I.isError(M))return M;let D;if(T.primitive||M!==null?D=I.skip(M):D=this._skipUntilEnd(I,N),I.isError(D))return D;if(T.tagStr==="end")break}},d.prototype._decodeList=function(I,N,T,M){let D=[];for(;!I.isEmpty();){let P=this._peekTag(I,"end");if(I.isError(P))return P;let G=T.decode(I,"der",M);if(I.isError(G)&&P)break;D.push(G)}return D},d.prototype._decodeStr=function(I,N){if(N==="bitstr"){let T=I.readUInt8();return I.isError(T)?T:{unused:T,data:I.raw()}}else if(N==="bmpstr"){let T=I.raw();if(T.length%2===1)return I.error("Decoding of string type: bmpstr length mismatch");let M="";for(let D=0;D<T.length/2;D++)M+=String.fromCharCode(T.readUInt16BE(D*2));return M}else if(N==="numstr"){let T=I.raw().toString("ascii");return this._isNumstr(T)?T:I.error("Decoding of string type: numstr unsupported characters")}else{if(N==="octstr")return I.raw();if(N==="objDesc")return I.raw();if(N==="printstr"){let T=I.raw().toString("ascii");return this._isPrintstr(T)?T:I.error("Decoding of string type: printstr unsupported characters")}else return/str$/.test(N)?I.raw().toString():I.error("Decoding of string type: "+N+" unsupported")}},d.prototype._decodeObjid=function(I,N,T){let M,D=[],P=0,G=0;for(;!I.isEmpty();)G=I.readUInt8(),P<<=7,P|=G&127,(G&128)===0&&(D.push(P),P=0);G&128&&D.push(P);let q=D[0]/40|0,Y=D[0]%40;if(T?M=D:M=[q,Y].concat(D.slice(1)),N){let ne=N[M.join(" ")];ne===void 0&&(ne=N[M.join(".")]),ne!==void 0&&(M=ne)}return M},d.prototype._decodeTime=function(I,N){let T=I.raw().toString(),M,D,P,G,q,Y;if(N==="gentime")M=T.slice(0,4)|0,D=T.slice(4,6)|0,P=T.slice(6,8)|0,G=T.slice(8,10)|0,q=T.slice(10,12)|0,Y=T.slice(12,14)|0;else if(N==="utctime")M=T.slice(0,2)|0,D=T.slice(2,4)|0,P=T.slice(4,6)|0,G=T.slice(6,8)|0,q=T.slice(8,10)|0,Y=T.slice(10,12)|0,M<70?M=2e3+M:M=1900+M;else return I.error("Decoding "+N+" time is not supported yet");return Date.UTC(M,D-1,P,G,q,Y,0)},d.prototype._decodeNull=function(){return null},d.prototype._decodeBool=function(I){let N=I.readUInt8();return I.isError(N)?N:N!==0},d.prototype._decodeInt=function(I,N){let T=I.raw(),M=new t(T);return N&&(M=N[M.toString(10)]||M),M},d.prototype._use=function(I,N){return typeof I=="function"&&(I=I(N)),I._getDecoder("der").tree};function g(_,I){let N=_.readUInt8(I);if(_.isError(N))return N;let T=n.tagClass[N>>6],M=(N&32)===0;if((N&31)===31){let P=N;for(N=0;(P&128)===128;){if(P=_.readUInt8(I),_.isError(P))return P;N<<=7,N|=P&127}}else N&=31;let D=n.tag[N];return{cls:T,primitive:M,tag:N,tagStr:D}}function y(_,I,N){let T=_.readUInt8(N);if(_.isError(T))return T;if(!I&&T===128)return null;if((T&128)===0)return T;let M=T&127;if(M>4)return _.error("length octect is too long");T=0;for(let D=0;D<M;D++){T<<=8;let P=_.readUInt8(N);if(_.isError(P))return P;T|=P}return T}return mce}function iOt(){if(MQe)return yce;MQe=!0;let e=La(),t=i0e().Buffer,r=FVe();function i(n){r.call(this,n),this.enc="pem"}return e(i,r),yce=i,i.prototype.decode=function(o,d){let g=o.toString().split(/[\r\n]+/g),y=d.label.toUpperCase(),_=/^-----(BEGIN|END) ([^-]+)-----$/,I=-1,N=-1;for(let D=0;D<g.length;D++){let P=g[D].match(_);if(P!==null&&P[2]===y)if(I===-1){if(P[1]!=="BEGIN")break;I=D}else{if(P[1]!=="END")break;N=D;break}}if(I===-1||N===-1)throw new Error("PEM section not found for: "+y);let T=g.slice(I+1,N).join("");T.replace(/[^a-z0-9+/=]+/gi,"");let M=t.from(T,"base64");return r.prototype.decode.call(this,M,d)},yce}function QVe(){if(DQe)return bce;DQe=!0;let e=bce;return e.der=FVe(),e.pem=iOt(),bce}function oOt(){if(kQe)return Ece;kQe=!0;let e=UVe(),t=QVe(),r=La(),i=Ece;i.define=function(d,g){return new n(d,g)};function n(o,d){this.name=o,this.body=d,this.decoders={},this.encoders={}}return n.prototype._createNamed=function(d){let g=this.name;function y(_){this._initNamed(_,g)}return r(y,d),y.prototype._initNamed=function(I,N){d.call(this,I,N)},new y(this)},n.prototype._getDecoder=function(d){return d=d||"der",this.decoders.hasOwnProperty(d)||(this.decoders[d]=this._createNamed(t[d])),this.decoders[d]},n.prototype.decode=function(d,g,y){return this._getDecoder(g).decode(d,y)},n.prototype._getEncoder=function(d){return d=d||"der",this.encoders.hasOwnProperty(d)||(this.encoders[d]=this._createNamed(e[d])),this.encoders[d]},n.prototype.encode=function(d,g,y){return this._getEncoder(g).encode(d,y)},Ece}function aOt(){if(PQe)return vce;PQe=!0;let e=vce;return e.Reporter=o0e().Reporter,e.DecoderBuffer=xD().DecoderBuffer,e.EncoderBuffer=xD().EncoderBuffer,e.Node=a0e(),vce}function sOt(){if(LQe)return Rce;LQe=!0;let e=Rce;return e._reverse=function(r){let i={};return Object.keys(r).forEach(function(n){(n|0)==n&&(n=n|0);let o=r[n];i[o]=n}),i},e.der=s0e(),Rce}function HVe(){if(UQe)return Sce;UQe=!0;let e=Sce;return e.bignum=PVe(),e.define=oOt().define,e.base=aOt(),e.constants=sOt(),e.decoders=QVe(),e.encoders=UVe(),Sce}function cOt(){if(FQe)return Ice;FQe=!0;var e=HVe(),t=e.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),r=e.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),i=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),n=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(i),this.key("subjectPublicKey").bitstr())}),o=e.define("RelativeDistinguishedName",function(){this.setof(r)}),d=e.define("RDNSequence",function(){this.seqof(o)}),g=e.define("Name",function(){this.choice({rdnSequence:this.use(d)})}),y=e.define("Validity",function(){this.seq().obj(this.key("notBefore").use(t),this.key("notAfter").use(t))}),_=e.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),I=e.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(i),this.key("issuer").use(g),this.key("validity").use(y),this.key("subject").use(g),this.key("subjectPublicKeyInfo").use(n),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(_).optional())}),N=e.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(I),this.key("signatureAlgorithm").use(i),this.key("signatureValue").bitstr())});return Ice=N,Ice}function uOt(){if(QQe)return Qg;QQe=!0;var e=HVe();Qg.certificate=cOt();var t=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});Qg.RSAPrivateKey=t;var r=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});Qg.RSAPublicKey=r;var i=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(n),this.key("subjectPublicKey").bitstr())});Qg.PublicKey=i;var n=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),o=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(n),this.key("subjectPrivateKey").octstr())});Qg.PrivateKey=o;var d=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});Qg.EncryptedPrivateKey=d;var g=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});Qg.DSAPrivateKey=g,Qg.DSAparam=e.define("DSAparam",function(){this.int()});var y=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(_),this.key("publicKey").optional().explicit(1).bitstr())});Qg.ECPrivateKey=y;var _=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});return Qg.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())}),Qg}function fOt(){if(HQe)return Cce;HQe=!0;var e=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,t=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,i=$q(),n=bue(),o=Vs().Buffer;return Cce=function(d,g){var y=d.toString(),_=y.match(e),I;if(_){var T="aes"+_[1],M=o.from(_[2],"hex"),D=o.from(_[3].replace(/[\r\n]/g,""),"base64"),P=i(g,M.slice(0,8),parseInt(_[1],10)).key,G=[],q=n.createDecipheriv(T,P,M);G.push(q.update(D)),G.push(q.final()),I=o.concat(G)}else{var N=y.match(r);I=o.from(N[2].replace(/[\r\n]/g,""),"base64")}var Y=y.match(t)[1];return{tag:Y,data:I}},Cce}function hV(){if(GQe)return wce;GQe=!0;var e=uOt(),t=dOt,r=fOt(),i=bue(),n=mHe(),o=Vs().Buffer;wce=d;function d(y){var _;typeof y=="object"&&!o.isBuffer(y)&&(_=y.passphrase,y=y.key),typeof y=="string"&&(y=o.from(y));var I=r(y,_),N=I.tag,T=I.data,M,D;switch(N){case"CERTIFICATE":D=e.certificate.decode(T,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(D||(D=e.PublicKey.decode(T,"der")),M=D.algorithm.algorithm.join("."),M){case"1.2.840.113549.1.1.1":return e.RSAPublicKey.decode(D.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return D.subjectPrivateKey=D.subjectPublicKey,{type:"ec",data:D};case"1.2.840.10040.4.1":return D.algorithm.params.pub_key=e.DSAparam.decode(D.subjectPublicKey.data,"der"),{type:"dsa",data:D.algorithm.params};default:throw new Error("unknown key id "+M)}case"ENCRYPTED PRIVATE KEY":T=e.EncryptedPrivateKey.decode(T,"der"),T=g(T,_);case"PRIVATE KEY":switch(D=e.PrivateKey.decode(T,"der"),M=D.algorithm.algorithm.join("."),M){case"1.2.840.113549.1.1.1":return e.RSAPrivateKey.decode(D.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:D.algorithm.curve,privateKey:e.ECPrivateKey.decode(D.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return D.algorithm.params.priv_key=e.DSAparam.decode(D.subjectPrivateKey,"der"),{type:"dsa",params:D.algorithm.params};default:throw new Error("unknown key id "+M)}case"RSA PUBLIC KEY":return e.RSAPublicKey.decode(T,"der");case"RSA PRIVATE KEY":return e.RSAPrivateKey.decode(T,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:e.DSAPrivateKey.decode(T,"der")};case"EC PRIVATE KEY":return T=e.ECPrivateKey.decode(T,"der"),{curve:T.parameters.value,privateKey:T.privateKey};default:throw new Error("unknown key type "+N)}}d.signature=e.signature;function g(y,_){var I=y.algorithm.decrypt.kde.kdeparams.salt,N=parseInt(y.algorithm.decrypt.kde.kdeparams.iters.toString(),10),T=t[y.algorithm.decrypt.cipher.algo.join(".")],M=y.algorithm.decrypt.cipher.iv,D=y.subjectPrivateKey,P=parseInt(T.split("-")[1],10)/8,G=n.pbkdf2Sync(_,I,N,P,"sha1"),q=i.createDecipheriv(T,G,M),Y=[];return Y.push(q.update(D)),Y.push(q.final()),o.concat(Y)}return wce}function lOt(){if(qQe)return oD;qQe=!0;var e=Zue().Buffer,t=lHe(),r=e0e(),i=n0e().ec,n=jue(),o=hV(),d=GVe;function g(G,q,Y,ne,ce){var le=o(q);if(le.curve){if(ne!=="ecdsa"&&ne!=="ecdsa/rsa")throw new Error("wrong private key type");return y(G,le)}else if(le.type==="dsa"){if(ne!=="dsa")throw new Error("wrong private key type");return _(G,le,Y)}else if(ne!=="rsa"&&ne!=="ecdsa/rsa")throw new Error("wrong private key type");G=e.concat([ce,G]);for(var pe=le.modulus.byteLength(),ae=[0,1];G.length+ae.length+1<pe;)ae.push(255);ae.push(0);for(var W=-1;++W<G.length;)ae.push(G[W]);var se=r(ae,le);return se}function y(G,q){var Y=d[q.curve.join(".")];if(!Y)throw new Error("unknown curve "+q.curve.join("."));var ne=new i(Y),ce=ne.keyFromPrivate(q.privateKey),le=ce.sign(G);return e.from(le.toDER())}function _(G,q,Y){for(var ne=q.params.priv_key,ce=q.params.p,le=q.params.q,pe=q.params.g,ae=new n(0),W,se=T(G,le).mod(le),O=!1,s=N(ne,le,G,Y);O===!1;)W=D(le,s,Y),ae=P(pe,W,ce,le),O=W.invm(le).imul(se.add(ne.mul(ae))).mod(le),O.cmpn(0)===0&&(O=!1,ae=new n(0));return I(ae,O)}function I(G,q){G=G.toArray(),q=q.toArray(),G[0]&128&&(G=[0].concat(G)),q[0]&128&&(q=[0].concat(q));var Y=G.length+q.length+4,ne=[48,Y,2,G.length];return ne=ne.concat(G,[2,q.length],q),e.from(ne)}function N(G,q,Y,ne){if(G=e.from(G.toArray()),G.length<q.byteLength()){var ce=e.alloc(q.byteLength()-G.length);G=e.concat([ce,G])}var le=Y.length,pe=M(Y,q),ae=e.alloc(le);ae.fill(1);var W=e.alloc(le);return W=t(ne,W).update(ae).update(e.from([0])).update(G).update(pe).digest(),ae=t(ne,W).update(ae).digest(),W=t(ne,W).update(ae).update(e.from([1])).update(G).update(pe).digest(),ae=t(ne,W).update(ae).digest(),{k:W,v:ae}}function T(G,q){var Y=new n(G),ne=(G.length<<3)-q.bitLength();return ne>0&&Y.ishrn(ne),Y}function M(G,q){G=T(G,q),G=G.mod(q);var Y=e.from(G.toArray());if(Y.length<q.byteLength()){var ne=e.alloc(q.byteLength()-Y.length);Y=e.concat([ne,Y])}return Y}function D(G,q,Y){var ne,ce;do{for(ne=e.alloc(0);ne.length*8<G.bitLength();)q.v=t(Y,q.k).update(q.v).digest(),ne=e.concat([ne,q.v]);ce=T(ne,G),q.k=t(Y,q.k).update(q.v).update(e.from([0])).digest(),q.v=t(Y,q.k).update(q.v).digest()}while(ce.cmp(G)!==-1);return ce}function P(G,q,Y,ne){return G.toRed(n.mont(Y)).redPow(q).fromRed().mod(ne)}return oD=g,oD.getKey=N,oD.makeKey=D,oD}function hOt(){if(VQe)return Oce;VQe=!0;var e=Zue().Buffer,t=jue(),r=n0e().ec,i=hV(),n=GVe;function o(_,I,N,T,M){var D=i(N);if(D.type==="ec"){if(T!=="ecdsa"&&T!=="ecdsa/rsa")throw new Error("wrong public key type");return d(_,I,D)}else if(D.type==="dsa"){if(T!=="dsa")throw new Error("wrong public key type");return g(_,I,D)}else if(T!=="rsa"&&T!=="ecdsa/rsa")throw new Error("wrong public key type");I=e.concat([M,I]);for(var P=D.modulus.byteLength(),G=[1],q=0;I.length+G.length+2<P;)G.push(255),q++;G.push(0);for(var Y=-1;++Y<I.length;)G.push(I[Y]);G=e.from(G);var ne=t.mont(D.modulus);_=new t(_).toRed(ne),_=_.redPow(new t(D.publicExponent)),_=e.from(_.fromRed().toArray());var ce=q<8?1:0;for(P=Math.min(_.length,G.length),_.length!==G.length&&(ce=1),Y=-1;++Y<P;)ce|=_[Y]^G[Y];return ce===0}function d(_,I,N){var T=n[N.data.algorithm.curve.join(".")];if(!T)throw new Error("unknown curve "+N.data.algorithm.curve.join("."));var M=new r(T),D=N.data.subjectPrivateKey.data;return M.verify(I,_,D)}function g(_,I,N){var T=N.data.p,M=N.data.q,D=N.data.g,P=N.data.pub_key,G=i.signature.decode(_,"der"),q=G.s,Y=G.r;y(q,M),y(Y,M);var ne=t.mont(T),ce=q.invm(M),le=D.toRed(ne).redPow(new t(I).mul(ce).mod(M)).fromRed().mul(P.toRed(ne).redPow(Y.mul(ce).mod(M)).fromRed()).mod(T).mod(M);return le.cmp(Y)===0}function y(_,I){if(_.cmpn(0)<=0)throw new Error("invalid sig");if(_.cmp(I)>=I)throw new Error("invalid sig")}return Oce=o,Oce}function AOt(){if(JQe)return Nce;JQe=!0;var e=Zue().Buffer,t=TD(),r=Vne(),i=La(),n=lOt(),o=hOt(),d=hHe;Object.keys(d).forEach(function(N){d[N].id=e.from(d[N].id,"hex"),d[N.toLowerCase()]=d[N]});function g(N){r.Writable.call(this||od);var T=d[N];if(!T)throw new Error("Unknown message digest");(this||od)._hashType=T.hash,(this||od)._hash=t(T.hash),(this||od)._tag=T.id,(this||od)._signType=T.sign}i(g,r.Writable),g.prototype._write=function(T,M,D){(this||od)._hash.update(T),D()},g.prototype.update=function(T,M){return typeof T=="string"&&(T=e.from(T,M)),(this||od)._hash.update(T),this||od},g.prototype.sign=function(T,M){this.end();var D=(this||od)._hash.digest(),P=n(D,T,(this||od)._hashType,(this||od)._signType,(this||od)._tag);return M?P.toString(M):P};function y(N){r.Writable.call(this||od);var T=d[N];if(!T)throw new Error("Unknown message digest");(this||od)._hash=t(T.hash),(this||od)._tag=T.id,(this||od)._signType=T.sign}i(y,r.Writable),y.prototype._write=function(T,M,D){(this||od)._hash.update(T),D()},y.prototype.update=function(T,M){return typeof T=="string"&&(T=e.from(T,M)),(this||od)._hash.update(T),this||od},y.prototype.verify=function(T,M,D){typeof M=="string"&&(M=e.from(M,D)),this.end();var P=(this||od)._hash.digest();return o(M,P,T,(this||od)._signType,(this||od)._tag)};function _(N){return new g(N)}function I(N){return new y(N)}return Nce={Sign:_,Verify:I,createSign:_,createVerify:I},Nce}function pOt(){return zQe||(zQe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Lt).negative=0,(this||Lt).words=null,(this||Lt).length=0,(this||Lt).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Lt).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Lt).negative=1,s=-s),s<67108864?((this||Lt).words=[s&67108863],(this||Lt).length=1):s<4503599627370496?((this||Lt).words=[s&67108863,s/67108864&67108863],(this||Lt).length=2):(r(s<9007199254740992),(this||Lt).words=[s&67108863,s/67108864&67108863,1],(this||Lt).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Lt).words=[0],(this||Lt).length=1,this||Lt;(this||Lt).length=Math.ceil(s.length/3),(this||Lt).words=new Array((this||Lt).length);for(var m=0;m<(this||Lt).length;m++)(this||Lt).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Lt).words[E]|=w<<x&67108863,(this||Lt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Lt).words[E]|=w<<x&67108863,(this||Lt).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Lt).length=Math.ceil((s.length-l)/6),(this||Lt).words=new Array((this||Lt).length);for(var m=0;m<(this||Lt).length;m++)(this||Lt).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Lt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Lt).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Lt).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Lt).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Lt).words=[0],(this||Lt).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Lt).words[0]+u<67108864?(this||Lt).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Lt).words[0]+u<67108864?(this||Lt).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Lt).length);for(var l=0;l<(this||Lt).length;l++)s.words[l]=(this||Lt).words[l];s.length=(this||Lt).length,s.negative=(this||Lt).negative,s.red=(this||Lt).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Lt).length<s;)(this||Lt).words[(this||Lt).length++]=0;return this||Lt},n.prototype.strip=function(){for(;(this||Lt).length>1&&(this||Lt).words[(this||Lt).length-1]===0;)(this||Lt).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Lt).length===1&&(this||Lt).words[0]===0&&((this||Lt).negative=0),this||Lt},n.prototype.inspect=function(){return((this||Lt).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Lt).length;w++){var x=(this||Lt).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Lt).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Lt).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Lt).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Lt).words[0];return(this||Lt).length===2?s+=(this||Lt).words[1]*67108864:(this||Lt).length===3&&(this||Lt).words[2]===1?s+=4503599627370496+(this||Lt).words[1]*67108864:(this||Lt).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Lt).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Lt).words[(this||Lt).length-1],l=this._countBits(s);return((this||Lt).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Lt).length;l++){var A=this._zeroBits((this||Lt).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Lt).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Lt).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Lt).negative^=1),this||Lt},n.prototype.iuor=function(s){for(;(this||Lt).length<s.length;)(this||Lt).words[(this||Lt).length++]=0;for(var l=0;l<s.length;l++)(this||Lt).words[l]=(this||Lt).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Lt).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Lt).length>s.length?this.clone().ior(s):s.clone().ior(this||Lt)},n.prototype.uor=function(s){return(this||Lt).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Lt)},n.prototype.iuand=function(s){var l;(this||Lt).length>s.length?l=s:l=this||Lt;for(var A=0;A<l.length;A++)(this||Lt).words[A]=(this||Lt).words[A]&s.words[A];return(this||Lt).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Lt).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Lt).length>s.length?this.clone().iand(s):s.clone().iand(this||Lt)},n.prototype.uand=function(s){return(this||Lt).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Lt)},n.prototype.iuxor=function(s){var l,A;(this||Lt).length>s.length?(l=this||Lt,A=s):(l=s,A=this||Lt);for(var m=0;m<A.length;m++)(this||Lt).words[m]=l.words[m]^A.words[m];if((this||Lt)!==l)for(;m<l.length;m++)(this||Lt).words[m]=l.words[m];return(this||Lt).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Lt).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Lt).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Lt)},n.prototype.uxor=function(s){return(this||Lt).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Lt)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Lt).words[m]=~(this||Lt).words[m]&67108863;return A>0&&((this||Lt).words[m]=~(this||Lt).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Lt).words[A]=(this||Lt).words[A]|1<<m:(this||Lt).words[A]=(this||Lt).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Lt).negative!==0&&s.negative===0)return(this||Lt).negative=0,l=this.isub(s),(this||Lt).negative^=1,this._normSign();if((this||Lt).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Lt).length>s.length?(A=this||Lt,m=s):(A=s,m=this||Lt);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Lt).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Lt).words[w]=l&67108863,E=l>>>26;if((this||Lt).length=A.length,E!==0)(this||Lt).words[(this||Lt).length]=E,(this||Lt).length++;else if(A!==(this||Lt))for(;w<A.length;w++)(this||Lt).words[w]=A.words[w];return this||Lt},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Lt).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Lt).negative!==0?((this||Lt).negative=0,l=s.sub(this||Lt),(this||Lt).negative=1,l):(this||Lt).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Lt)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Lt).negative!==0)return(this||Lt).negative=0,this.iadd(s),(this||Lt).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Lt).negative=0,(this||Lt).length=1,(this||Lt).words[0]=0,this||Lt;var m,E;A>0?(m=this||Lt,E=s):(m=s,E=this||Lt);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Lt).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Lt).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Lt))for(;x<m.length;x++)(this||Lt).words[x]=m.words[x];return(this||Lt).length=Math.max((this||Lt).length,x),m!==(this||Lt)&&((this||Lt).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Lt).length+s.length;return(this||Lt).length===10&&s.length===10?A=D(this||Lt,s,l):m<63?A=M(this||Lt,s,l):m<1024?A=P(this||Lt,s,l):A=G(this||Lt,s,l),A};function q(O,s){(this||Lt).x=O,(this||Lt).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Lt).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Lt).length+s.length),G(this||Lt,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Lt)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Lt).length;A++){var m=((this||Lt).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Lt).words[A]=E&67108863}return l!==0&&((this||Lt).words[A]=l,(this||Lt).length++),this||Lt},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Lt)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Lt,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Lt).length;E++){var x=(this||Lt).words[E]&m,R=((this||Lt).words[E]|0)-x<<l;(this||Lt).words[E]=R|w,w=x>>>26-l}w&&((this||Lt).words[E]=w,(this||Lt).length++)}if(A!==0){for(E=(this||Lt).length-1;E>=0;E--)(this||Lt).words[E+A]=(this||Lt).words[E];for(E=0;E<A;E++)(this||Lt).words[E]=0;(this||Lt).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Lt).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Lt).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Lt).words[u];R.length=w}if(w!==0)if((this||Lt).length>w)for((this||Lt).length-=w,u=0;u<(this||Lt).length;u++)(this||Lt).words[u]=(this||Lt).words[u+w];else(this||Lt).words[0]=0,(this||Lt).length=1;var C=0;for(u=(this||Lt).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Lt).words[u]|0;(this||Lt).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Lt).length===0&&((this||Lt).words[0]=0,(this||Lt).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Lt).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Lt).length<=A)return!1;var E=(this||Lt).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Lt).negative===0,"imaskn works only with positive numbers"),(this||Lt).length<=A)return this||Lt;if(l!==0&&A++,(this||Lt).length=Math.min(A,(this||Lt).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Lt).words[(this||Lt).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Lt).negative!==0?(this||Lt).length===1&&((this||Lt).words[0]|0)<s?((this||Lt).words[0]=s-((this||Lt).words[0]|0),(this||Lt).negative=0,this||Lt):((this||Lt).negative=0,this.isubn(s),(this||Lt).negative=1,this||Lt):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Lt).words[0]+=s;for(var l=0;l<(this||Lt).length&&(this||Lt).words[l]>=67108864;l++)(this||Lt).words[l]-=67108864,l===(this||Lt).length-1?(this||Lt).words[l+1]=1:(this||Lt).words[l+1]++;return(this||Lt).length=Math.max((this||Lt).length,l+1),this||Lt},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Lt).negative!==0)return(this||Lt).negative=0,this.iaddn(s),(this||Lt).negative=1,this||Lt;if((this||Lt).words[0]-=s,(this||Lt).length===1&&(this||Lt).words[0]<0)(this||Lt).words[0]=-(this||Lt).words[0],(this||Lt).negative=1;else for(var l=0;l<(this||Lt).length&&(this||Lt).words[l]<0;l++)(this||Lt).words[l]+=67108864,(this||Lt).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Lt).negative=0,this||Lt},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Lt).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Lt).words[E+A]=w&67108863}for(;E<(this||Lt).length-A;E++)w=((this||Lt).words[E+A]|0)+x,x=w>>26,(this||Lt).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Lt).length;E++)w=-((this||Lt).words[E]|0)+x,x=w>>26,(this||Lt).words[E]=w&67108863;return(this||Lt).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Lt).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Lt).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Lt).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Lt).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Lt).length||this.cmp(s)<0?{div:new n(0),mod:this||Lt}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Lt).length-1;m>=0;m--)A=(l*A+((this||Lt).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Lt).length-1;A>=0;A--){var m=((this||Lt).words[A]|0)+l*67108864;(this||Lt).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Lt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Lt,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Lt).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Lt).words[0]&1)===1},n.prototype.andln=function(s){return(this||Lt).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Lt).length<=A)return this._expand(A+1),(this||Lt).words[A]|=m,this||Lt;for(var E=m,w=A;E!==0&&w<(this||Lt).length;w++){var x=(this||Lt).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Lt).words[w]=x}return E!==0&&((this||Lt).words[w]=E,(this||Lt).length++),this||Lt},n.prototype.isZero=function(){return(this||Lt).length===1&&(this||Lt).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Lt).negative!==0&&!l)return-1;if((this||Lt).negative===0&&l)return 1;this.strip();var A;if((this||Lt).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Lt).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Lt).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Lt).negative!==0&&s.negative===0)return-1;if((this||Lt).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Lt).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Lt).length>s.length)return 1;if((this||Lt).length<s.length)return-1;for(var l=0,A=(this||Lt).length-1;A>=0;A--){var m=(this||Lt).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Lt).red,"Already a number in reduction context"),r((this||Lt).negative===0,"red works only with positives"),s.convertTo(this||Lt)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Lt).red,"fromRed works only with numbers in reduction context"),(this||Lt).red.convertFrom(this||Lt)},n.prototype._forceRed=function(s){return(this||Lt).red=s,this||Lt},n.prototype.forceRed=function(s){return r(!(this||Lt).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Lt).red,"redAdd works only with red numbers"),(this||Lt).red.add(this||Lt,s)},n.prototype.redIAdd=function(s){return r((this||Lt).red,"redIAdd works only with red numbers"),(this||Lt).red.iadd(this||Lt,s)},n.prototype.redSub=function(s){return r((this||Lt).red,"redSub works only with red numbers"),(this||Lt).red.sub(this||Lt,s)},n.prototype.redISub=function(s){return r((this||Lt).red,"redISub works only with red numbers"),(this||Lt).red.isub(this||Lt,s)},n.prototype.redShl=function(s){return r((this||Lt).red,"redShl works only with red numbers"),(this||Lt).red.shl(this||Lt,s)},n.prototype.redMul=function(s){return r((this||Lt).red,"redMul works only with red numbers"),(this||Lt).red._verify2(this||Lt,s),(this||Lt).red.mul(this||Lt,s)},n.prototype.redIMul=function(s){return r((this||Lt).red,"redMul works only with red numbers"),(this||Lt).red._verify2(this||Lt,s),(this||Lt).red.imul(this||Lt,s)},n.prototype.redSqr=function(){return r((this||Lt).red,"redSqr works only with red numbers"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.sqr(this||Lt)},n.prototype.redISqr=function(){return r((this||Lt).red,"redISqr works only with red numbers"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.isqr(this||Lt)},n.prototype.redSqrt=function(){return r((this||Lt).red,"redSqrt works only with red numbers"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.sqrt(this||Lt)},n.prototype.redInvm=function(){return r((this||Lt).red,"redInvm works only with red numbers"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.invm(this||Lt)},n.prototype.redNeg=function(){return r((this||Lt).red,"redNeg works only with red numbers"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.neg(this||Lt)},n.prototype.redPow=function(s){return r((this||Lt).red&&!s.red,"redPow(normalNum)"),(this||Lt).red._verify1(this||Lt),(this||Lt).red.pow(this||Lt,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Lt).name=O,(this||Lt).p=new n(s,16),(this||Lt).n=(this||Lt).p.bitLength(),(this||Lt).k=new n(1).iushln((this||Lt).n).isub((this||Lt).p),(this||Lt).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Lt).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Lt).tmp),l=this.imulK(l),l=l.iadd((this||Lt).tmp),A=l.bitLength();while(A>(this||Lt).n);var m=A<(this||Lt).n?-1:l.ucmp((this||Lt).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Lt).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Lt).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Lt).k)};function ce(){ne.call(this||Lt,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Lt,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Lt,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Lt,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Lt).m=s.p,(this||Lt).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Lt).m=O,(this||Lt).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Lt).prime?(this||Lt).prime.ireduce(s)._forceRed(this||Lt):s.umod((this||Lt).m)._forceRed(this||Lt)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Lt).m.sub(s)._forceRed(this||Lt)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Lt).m)>=0&&A.isub((this||Lt).m),A._forceRed(this||Lt)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Lt).m)>=0&&A.isub((this||Lt).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Lt).m),A._forceRed(this||Lt)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Lt).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Lt).m.andln(3);if(r(l%2===1),l===3){var A=(this||Lt).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Lt).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Lt),x=w.redNeg(),R=(this||Lt).m.subn(1).iushrn(1),u=(this||Lt).m.bitLength();for(u=new n(2*u*u).toRed(this||Lt);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Lt).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Lt);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Lt),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Lt).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Lt,O),(this||Lt).shift=(this||Lt).m.bitLength(),(this||Lt).shift%26!==0&&((this||Lt).shift+=26-(this||Lt).shift%26),(this||Lt).r=new n(1).iushln((this||Lt).shift),(this||Lt).r2=this.imod((this||Lt).r.sqr()),(this||Lt).rinv=(this||Lt).r._invmp((this||Lt).m),(this||Lt).minv=(this||Lt).rinv.mul((this||Lt).r).isubn(1).div((this||Lt).m),(this||Lt).minv=(this||Lt).minv.umod((this||Lt).r),(this||Lt).minv=(this||Lt).r.sub((this||Lt).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Lt).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Lt).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Lt).shift).mul((this||Lt).minv).imaskn((this||Lt).shift).mul((this||Lt).m),E=A.isub(m).iushrn((this||Lt).shift),w=E;return E.cmp((this||Lt).m)>=0?w=E.isub((this||Lt).m):E.cmpn(0)<0&&(w=E.iadd((this||Lt).m)),w._forceRed(this||Lt)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Lt);var A=s.mul(l),m=A.maskn((this||Lt).shift).mul((this||Lt).minv).imaskn((this||Lt).shift).mul((this||Lt).m),E=A.isub(m).iushrn((this||Lt).shift),w=E;return E.cmp((this||Lt).m)>=0?w=E.isub((this||Lt).m):E.cmpn(0)<0&&(w=E.iadd((this||Lt).m)),w._forceRed(this||Lt)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Lt).m).mul((this||Lt).r2));return l._forceRed(this||Lt)}})(xce,qVe)),xce.exports}function gOt(){if(KQe)return Tce;KQe=!0;var e=Nu.Buffer,t=n0e(),r=pOt();Tce=function(g){return new n(g)};var i={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};i.p224=i.secp224r1,i.p256=i.secp256r1=i.prime256v1,i.p192=i.secp192r1=i.prime192v1,i.p384=i.secp384r1,i.p521=i.secp521r1;function n(d){(this||Bf).curveType=i[d],(this||Bf).curveType||((this||Bf).curveType={name:d}),(this||Bf).curve=new t.ec((this||Bf).curveType.name),(this||Bf).keys=void 0}n.prototype.generateKeys=function(d,g){return(this||Bf).keys=(this||Bf).curve.genKeyPair(),this.getPublicKey(d,g)},n.prototype.computeSecret=function(d,g,y){g=g||"utf8",e.isBuffer(d)||(d=new e(d,g));var _=(this||Bf).curve.keyFromPublic(d).getPublic(),I=_.mul((this||Bf).keys.getPrivate()).getX();return o(I,y,(this||Bf).curveType.byteLength)},n.prototype.getPublicKey=function(d,g){var y=(this||Bf).keys.getPublic(g==="compressed",!0);return g==="hybrid"&&(y[y.length-1]%2?y[0]=7:y[0]=6),o(y,d)},n.prototype.getPrivateKey=function(d){return o((this||Bf).keys.getPrivate(),d)},n.prototype.setPublicKey=function(d,g){return g=g||"utf8",e.isBuffer(d)||(d=new e(d,g)),(this||Bf).keys._importPublic(d),this||Bf},n.prototype.setPrivateKey=function(d,g){g=g||"utf8",e.isBuffer(d)||(d=new e(d,g));var y=new r(d);return y=y.toString(16),(this||Bf).keys=(this||Bf).curve.genKeyPair(),(this||Bf).keys._importPrivate(y),this||Bf};function o(d,g,y){Array.isArray(d)||(d=d.toArray());var _=new e(d);if(y&&_.length<y){var I=new e(y-_.length);I.fill(0),_=e.concat([I,_])}return g?_.toString(g):_}return Tce}function VVe(){if($Qe)return Bce;$Qe=!0;var e=TD(),t=Vs().Buffer;Bce=function(i,n){for(var o=t.alloc(0),d=0,g;o.length<n;)g=r(d++),o=t.concat([o,e("sha1").update(i).update(g).digest()]);return o.slice(0,n)};function r(i){var n=t.allocUnsafe(4);return n.writeUInt32BE(i,0),n}return Bce}function JVe(){return YQe||(YQe=!0,Mce=function(t,r){for(var i=t.length,n=-1;++n<i;)t[n]^=r[n];return t}),Mce}function c0e(){return WQe||(WQe=!0,(function(e,t){function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;(this||Ut).negative=0,(this||Ut).words=null,(this||Ut).length=0,(this||Ut).red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Nu.Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,(this||Ut).negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&((this||Ut).negative=1,s=-s),s<67108864?((this||Ut).words=[s&67108863],(this||Ut).length=1):s<4503599627370496?((this||Ut).words=[s&67108863,s/67108864&67108863],(this||Ut).length=2):(r(s<9007199254740992),(this||Ut).words=[s&67108863,s/67108864&67108863,1],(this||Ut).length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return(this||Ut).words=[0],(this||Ut).length=1,this||Ut;(this||Ut).length=Math.ceil(s.length/3),(this||Ut).words=new Array((this||Ut).length);for(var m=0;m<(this||Ut).length;m++)(this||Ut).words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,(this||Ut).words[E]|=w<<x&67108863,(this||Ut).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,(this||Ut).words[E]|=w<<x&67108863,(this||Ut).words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){(this||Ut).length=Math.ceil((s.length-l)/6),(this||Ut).words=new Array((this||Ut).length);for(var m=0;m<(this||Ut).length;m++)(this||Ut).words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,(this||Ut).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Ut).words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,(this||Ut).words[w]|=x&67108863,E>=18?(E-=18,w+=1,(this||Ut).words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){(this||Ut).words=[0],(this||Ut).length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),(this||Ut).words[0]+u<67108864?(this||Ut).words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),(this||Ut).words[0]+u<67108864?(this||Ut).words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array((this||Ut).length);for(var l=0;l<(this||Ut).length;l++)s.words[l]=(this||Ut).words[l];s.length=(this||Ut).length,s.negative=(this||Ut).negative,s.red=(this||Ut).red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;(this||Ut).length<s;)(this||Ut).words[(this||Ut).length++]=0;return this||Ut},n.prototype.strip=function(){for(;(this||Ut).length>1&&(this||Ut).words[(this||Ut).length-1]===0;)(this||Ut).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Ut).length===1&&(this||Ut).words[0]===0&&((this||Ut).negative=0),this||Ut},n.prototype.inspect=function(){return((this||Ut).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<(this||Ut).length;w++){var x=(this||Ut).words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==(this||Ut).length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return(this||Ut).negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return(this||Ut).negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=(this||Ut).words[0];return(this||Ut).length===2?s+=(this||Ut).words[1]*67108864:(this||Ut).length===3&&(this||Ut).words[2]===1?s+=4503599627370496+(this||Ut).words[1]*67108864:(this||Ut).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Ut).negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=(this||Ut).words[(this||Ut).length-1],l=this._countBits(s);return((this||Ut).length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<(this||Ut).length;l++){var A=this._zeroBits((this||Ut).words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return(this||Ut).negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Ut).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Ut).negative^=1),this||Ut},n.prototype.iuor=function(s){for(;(this||Ut).length<s.length;)(this||Ut).words[(this||Ut).length++]=0;for(var l=0;l<s.length;l++)(this||Ut).words[l]=(this||Ut).words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r(((this||Ut).negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return(this||Ut).length>s.length?this.clone().ior(s):s.clone().ior(this||Ut)},n.prototype.uor=function(s){return(this||Ut).length>s.length?this.clone().iuor(s):s.clone().iuor(this||Ut)},n.prototype.iuand=function(s){var l;(this||Ut).length>s.length?l=s:l=this||Ut;for(var A=0;A<l.length;A++)(this||Ut).words[A]=(this||Ut).words[A]&s.words[A];return(this||Ut).length=l.length,this.strip()},n.prototype.iand=function(s){return r(((this||Ut).negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return(this||Ut).length>s.length?this.clone().iand(s):s.clone().iand(this||Ut)},n.prototype.uand=function(s){return(this||Ut).length>s.length?this.clone().iuand(s):s.clone().iuand(this||Ut)},n.prototype.iuxor=function(s){var l,A;(this||Ut).length>s.length?(l=this||Ut,A=s):(l=s,A=this||Ut);for(var m=0;m<A.length;m++)(this||Ut).words[m]=l.words[m]^A.words[m];if((this||Ut)!==l)for(;m<l.length;m++)(this||Ut).words[m]=l.words[m];return(this||Ut).length=l.length,this.strip()},n.prototype.ixor=function(s){return r(((this||Ut).negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return(this||Ut).length>s.length?this.clone().ixor(s):s.clone().ixor(this||Ut)},n.prototype.uxor=function(s){return(this||Ut).length>s.length?this.clone().iuxor(s):s.clone().iuxor(this||Ut)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)(this||Ut).words[m]=~(this||Ut).words[m]&67108863;return A>0&&((this||Ut).words[m]=~(this||Ut).words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?(this||Ut).words[A]=(this||Ut).words[A]|1<<m:(this||Ut).words[A]=(this||Ut).words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if((this||Ut).negative!==0&&s.negative===0)return(this||Ut).negative=0,l=this.isub(s),(this||Ut).negative^=1,this._normSign();if((this||Ut).negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;(this||Ut).length>s.length?(A=this||Ut,m=s):(A=s,m=this||Ut);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,(this||Ut).words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,(this||Ut).words[w]=l&67108863,E=l>>>26;if((this||Ut).length=A.length,E!==0)(this||Ut).words[(this||Ut).length]=E,(this||Ut).length++;else if(A!==(this||Ut))for(;w<A.length;w++)(this||Ut).words[w]=A.words[w];return this||Ut},n.prototype.add=function(s){var l;return s.negative!==0&&(this||Ut).negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&(this||Ut).negative!==0?((this||Ut).negative=0,l=s.sub(this||Ut),(this||Ut).negative=1,l):(this||Ut).length>s.length?this.clone().iadd(s):s.clone().iadd(this||Ut)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if((this||Ut).negative!==0)return(this||Ut).negative=0,this.iadd(s),(this||Ut).negative=1,this._normSign();var A=this.cmp(s);if(A===0)return(this||Ut).negative=0,(this||Ut).length=1,(this||Ut).words[0]=0,this||Ut;var m,E;A>0?(m=this||Ut,E=s):(m=s,E=this||Ut);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,(this||Ut).words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,(this||Ut).words[x]=l&67108863;if(w===0&&x<m.length&&m!==(this||Ut))for(;x<m.length;x++)(this||Ut).words[x]=m.words[x];return(this||Ut).length=Math.max((this||Ut).length,x),m!==(this||Ut)&&((this||Ut).negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=(this||Ut).length+s.length;return(this||Ut).length===10&&s.length===10?A=D(this||Ut,s,l):m<63?A=M(this||Ut,s,l):m<1024?A=P(this||Ut,s,l):A=G(this||Ut,s,l),A};function q(O,s){(this||Ut).x=O,(this||Ut).y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array((this||Ut).length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array((this||Ut).length+s.length),G(this||Ut,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this||Ut)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<(this||Ut).length;A++){var m=((this||Ut).words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,(this||Ut).words[A]=E&67108863}return l!==0&&((this||Ut).words[A]=l,(this||Ut).length++),this||Ut},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this||Ut)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this||Ut,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<(this||Ut).length;E++){var x=(this||Ut).words[E]&m,R=((this||Ut).words[E]|0)-x<<l;(this||Ut).words[E]=R|w,w=x>>>26-l}w&&((this||Ut).words[E]=w,(this||Ut).length++)}if(A!==0){for(E=(this||Ut).length-1;E>=0;E--)(this||Ut).words[E+A]=(this||Ut).words[E];for(E=0;E<A;E++)(this||Ut).words[E]=0;(this||Ut).length+=A}return this.strip()},n.prototype.ishln=function(s){return r((this||Ut).negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,(this||Ut).length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=(this||Ut).words[u];R.length=w}if(w!==0)if((this||Ut).length>w)for((this||Ut).length-=w,u=0;u<(this||Ut).length;u++)(this||Ut).words[u]=(this||Ut).words[u+w];else(this||Ut).words[0]=0,(this||Ut).length=1;var C=0;for(u=(this||Ut).length-1;u>=0&&(C!==0||u>=m);u--){var U=(this||Ut).words[u]|0;(this||Ut).words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),(this||Ut).length===0&&((this||Ut).words[0]=0,(this||Ut).length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r((this||Ut).negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if((this||Ut).length<=A)return!1;var E=(this||Ut).words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r((this||Ut).negative===0,"imaskn works only with positive numbers"),(this||Ut).length<=A)return this||Ut;if(l!==0&&A++,(this||Ut).length=Math.min(A,(this||Ut).length),l!==0){var m=67108863^67108863>>>l<<l;(this||Ut).words[(this||Ut).length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):(this||Ut).negative!==0?(this||Ut).length===1&&((this||Ut).words[0]|0)<s?((this||Ut).words[0]=s-((this||Ut).words[0]|0),(this||Ut).negative=0,this||Ut):((this||Ut).negative=0,this.isubn(s),(this||Ut).negative=1,this||Ut):this._iaddn(s)},n.prototype._iaddn=function(s){(this||Ut).words[0]+=s;for(var l=0;l<(this||Ut).length&&(this||Ut).words[l]>=67108864;l++)(this||Ut).words[l]-=67108864,l===(this||Ut).length-1?(this||Ut).words[l+1]=1:(this||Ut).words[l+1]++;return(this||Ut).length=Math.max((this||Ut).length,l+1),this||Ut},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if((this||Ut).negative!==0)return(this||Ut).negative=0,this.iaddn(s),(this||Ut).negative=1,this||Ut;if((this||Ut).words[0]-=s,(this||Ut).length===1&&(this||Ut).words[0]<0)(this||Ut).words[0]=-(this||Ut).words[0],(this||Ut).negative=1;else for(var l=0;l<(this||Ut).length&&(this||Ut).words[l]<0;l++)(this||Ut).words[l]+=67108864,(this||Ut).words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return(this||Ut).negative=0,this||Ut},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=((this||Ut).words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),(this||Ut).words[E+A]=w&67108863}for(;E<(this||Ut).length-A;E++)w=((this||Ut).words[E+A]|0)+x,x=w>>26,(this||Ut).words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<(this||Ut).length;E++)w=-((this||Ut).words[E]|0)+x,x=w>>26,(this||Ut).words[E]=w&67108863;return(this||Ut).negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=(this||Ut).length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return(this||Ut).negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):(this||Ut).negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):((this||Ut).negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>(this||Ut).length||this.cmp(s)<0?{div:new n(0),mod:this||Ut}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=(this||Ut).length-1;m>=0;m--)A=(l*A+((this||Ut).words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=(this||Ut).length-1;A>=0;A--){var m=((this||Ut).words[A]|0)+l*67108864;(this||Ut).words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this||Ut,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this||Ut,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return((this||Ut).words[0]&1)===0},n.prototype.isOdd=function(){return((this||Ut).words[0]&1)===1},n.prototype.andln=function(s){return(this||Ut).words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if((this||Ut).length<=A)return this._expand(A+1),(this||Ut).words[A]|=m,this||Ut;for(var E=m,w=A;E!==0&&w<(this||Ut).length;w++){var x=(this||Ut).words[w]|0;x+=E,E=x>>>26,x&=67108863,(this||Ut).words[w]=x}return E!==0&&((this||Ut).words[w]=E,(this||Ut).length++),this||Ut},n.prototype.isZero=function(){return(this||Ut).length===1&&(this||Ut).words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if((this||Ut).negative!==0&&!l)return-1;if((this||Ut).negative===0&&l)return 1;this.strip();var A;if((this||Ut).length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=(this||Ut).words[0]|0;A=m===s?0:m<s?-1:1}return(this||Ut).negative!==0?-A|0:A},n.prototype.cmp=function(s){if((this||Ut).negative!==0&&s.negative===0)return-1;if((this||Ut).negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return(this||Ut).negative!==0?-l|0:l},n.prototype.ucmp=function(s){if((this||Ut).length>s.length)return 1;if((this||Ut).length<s.length)return-1;for(var l=0,A=(this||Ut).length-1;A>=0;A--){var m=(this||Ut).words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!(this||Ut).red,"Already a number in reduction context"),r((this||Ut).negative===0,"red works only with positives"),s.convertTo(this||Ut)._forceRed(s)},n.prototype.fromRed=function(){return r((this||Ut).red,"fromRed works only with numbers in reduction context"),(this||Ut).red.convertFrom(this||Ut)},n.prototype._forceRed=function(s){return(this||Ut).red=s,this||Ut},n.prototype.forceRed=function(s){return r(!(this||Ut).red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r((this||Ut).red,"redAdd works only with red numbers"),(this||Ut).red.add(this||Ut,s)},n.prototype.redIAdd=function(s){return r((this||Ut).red,"redIAdd works only with red numbers"),(this||Ut).red.iadd(this||Ut,s)},n.prototype.redSub=function(s){return r((this||Ut).red,"redSub works only with red numbers"),(this||Ut).red.sub(this||Ut,s)},n.prototype.redISub=function(s){return r((this||Ut).red,"redISub works only with red numbers"),(this||Ut).red.isub(this||Ut,s)},n.prototype.redShl=function(s){return r((this||Ut).red,"redShl works only with red numbers"),(this||Ut).red.shl(this||Ut,s)},n.prototype.redMul=function(s){return r((this||Ut).red,"redMul works only with red numbers"),(this||Ut).red._verify2(this||Ut,s),(this||Ut).red.mul(this||Ut,s)},n.prototype.redIMul=function(s){return r((this||Ut).red,"redMul works only with red numbers"),(this||Ut).red._verify2(this||Ut,s),(this||Ut).red.imul(this||Ut,s)},n.prototype.redSqr=function(){return r((this||Ut).red,"redSqr works only with red numbers"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.sqr(this||Ut)},n.prototype.redISqr=function(){return r((this||Ut).red,"redISqr works only with red numbers"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.isqr(this||Ut)},n.prototype.redSqrt=function(){return r((this||Ut).red,"redSqrt works only with red numbers"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.sqrt(this||Ut)},n.prototype.redInvm=function(){return r((this||Ut).red,"redInvm works only with red numbers"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.invm(this||Ut)},n.prototype.redNeg=function(){return r((this||Ut).red,"redNeg works only with red numbers"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.neg(this||Ut)},n.prototype.redPow=function(s){return r((this||Ut).red&&!s.red,"redPow(normalNum)"),(this||Ut).red._verify1(this||Ut),(this||Ut).red.pow(this||Ut,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){(this||Ut).name=O,(this||Ut).p=new n(s,16),(this||Ut).n=(this||Ut).p.bitLength(),(this||Ut).k=new n(1).iushln((this||Ut).n).isub((this||Ut).p),(this||Ut).tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil((this||Ut).n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,(this||Ut).tmp),l=this.imulK(l),l=l.iadd((this||Ut).tmp),A=l.bitLength();while(A>(this||Ut).n);var m=A<(this||Ut).n?-1:l.ucmp((this||Ut).p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub((this||Ut).p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn((this||Ut).n,0,l)},ne.prototype.imulK=function(s){return s.imul((this||Ut).k)};function ce(){ne.call(this||Ut,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this||Ut,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this||Ut,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this||Ut,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);(this||Ut).m=s.p,(this||Ut).prime=s}else r(O.gtn(1),"modulus must be greater than 1"),(this||Ut).m=O,(this||Ut).prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return(this||Ut).prime?(this||Ut).prime.ireduce(s)._forceRed(this||Ut):s.umod((this||Ut).m)._forceRed(this||Ut)},W.prototype.neg=function(s){return s.isZero()?s.clone():(this||Ut).m.sub(s)._forceRed(this||Ut)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp((this||Ut).m)>=0&&A.isub((this||Ut).m),A._forceRed(this||Ut)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp((this||Ut).m)>=0&&A.isub((this||Ut).m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd((this||Ut).m),A._forceRed(this||Ut)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd((this||Ut).m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=(this||Ut).m.andln(3);if(r(l%2===1),l===3){var A=(this||Ut).m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=(this||Ut).m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this||Ut),x=w.redNeg(),R=(this||Ut).m.subn(1).iushrn(1),u=(this||Ut).m.bitLength();for(u=new n(2*u*u).toRed(this||Ut);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp((this||Ut).m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this||Ut);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this||Ut),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod((this||Ut).m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this||Ut,O),(this||Ut).shift=(this||Ut).m.bitLength(),(this||Ut).shift%26!==0&&((this||Ut).shift+=26-(this||Ut).shift%26),(this||Ut).r=new n(1).iushln((this||Ut).shift),(this||Ut).r2=this.imod((this||Ut).r.sqr()),(this||Ut).rinv=(this||Ut).r._invmp((this||Ut).m),(this||Ut).minv=(this||Ut).rinv.mul((this||Ut).r).isubn(1).div((this||Ut).m),(this||Ut).minv=(this||Ut).minv.umod((this||Ut).r),(this||Ut).minv=(this||Ut).r.sub((this||Ut).minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln((this||Ut).shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul((this||Ut).rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn((this||Ut).shift).mul((this||Ut).minv).imaskn((this||Ut).shift).mul((this||Ut).m),E=A.isub(m).iushrn((this||Ut).shift),w=E;return E.cmp((this||Ut).m)>=0?w=E.isub((this||Ut).m):E.cmpn(0)<0&&(w=E.iadd((this||Ut).m)),w._forceRed(this||Ut)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this||Ut);var A=s.mul(l),m=A.maskn((this||Ut).shift).mul((this||Ut).minv).imaskn((this||Ut).shift).mul((this||Ut).m),E=A.isub(m).iushrn((this||Ut).shift),w=E;return E.cmp((this||Ut).m)>=0?w=E.isub((this||Ut).m):E.cmpn(0)<0&&(w=E.iadd((this||Ut).m)),w._forceRed(this||Ut)},se.prototype.invm=function(s){var l=this.imod(s._invmp((this||Ut).m).mul((this||Ut).r2));return l._forceRed(this||Ut)}})(Dce,zVe)),Dce.exports}function KVe(){if(XQe)return kce;XQe=!0;var e=c0e(),t=Vs().Buffer;function r(i,n){return t.from(i.toRed(e.mont(n.modulus)).redPow(new e(n.publicExponent)).fromRed().toArray())}return kce=r,kce}function _Ot(){if(ZQe)return Pce;ZQe=!0;var e=hV(),t=TO(),r=TD(),i=VVe(),n=JVe(),o=c0e(),d=KVe(),g=e0e(),y=Vs().Buffer;Pce=function(M,D,P){var G;M.padding?G=M.padding:P?G=1:G=4;var q=e(M),Y;if(G===4)Y=_(q,D);else if(G===1)Y=I(q,D,P);else if(G===3){if(Y=new o(D),Y.cmp(q.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return P?g(Y,q):d(Y,q)};function _(T,M){var D=T.modulus.byteLength(),P=M.length,G=r("sha1").update(y.alloc(0)).digest(),q=G.length,Y=2*q;if(P>D-Y-2)throw new Error("message too long");var ne=y.alloc(D-P-Y-2),ce=D-q-1,le=t(q),pe=n(y.concat([G,ne,y.alloc(1,1),M],ce),i(le,ce)),ae=n(le,i(pe,q));return new o(y.concat([y.alloc(1),ae,pe],D))}function I(T,M,D){var P=M.length,G=T.modulus.byteLength();if(P>G-11)throw new Error("message too long");var q;return D?q=y.alloc(G-P-3,255):q=N(G-P-3),new o(y.concat([y.from([0,D?1:2]),q,y.alloc(1),M],G))}function N(T){for(var M=y.allocUnsafe(T),D=0,P=t(T*2),G=0,q;D<T;)G===P.length&&(P=t(T*2),G=0),q=P[G++],q&&(M[D++]=q);return M}return Pce}function mOt(){if(jQe)return Lce;jQe=!0;var e=hV(),t=VVe(),r=JVe(),i=c0e(),n=e0e(),o=TD(),d=KVe(),g=Vs().Buffer;Lce=function(T,M,D){var P;T.padding?P=T.padding:D?P=1:P=4;var G=e(T),q=G.modulus.byteLength();if(M.length>q||new i(M).cmp(G.modulus)>=0)throw new Error("decryption error");var Y;D?Y=d(new i(M),G):Y=n(M,G);var ne=g.alloc(q-Y.length);if(Y=g.concat([ne,Y],q),P===4)return y(G,Y);if(P===1)return _(G,Y,D);if(P===3)return Y;throw new Error("unknown padding")};function y(N,T){var M=N.modulus.byteLength(),D=o("sha1").update(g.alloc(0)).digest(),P=D.length;if(T[0]!==0)throw new Error("decryption error");var G=T.slice(1,P+1),q=T.slice(P+1),Y=r(G,t(q,P)),ne=r(q,t(Y,M-P-1));if(I(D,ne.slice(0,P)))throw new Error("decryption error");for(var ce=P;ne[ce]===0;)ce++;if(ne[ce++]!==1)throw new Error("decryption error");return ne.slice(ce)}function _(N,T,M){for(var D=T.slice(0,2),P=2,G=0;T[P++]!==0;)if(P>=T.length){G++;break}var q=T.slice(2,P-1);if((D.toString("hex")!=="0002"&&!M||D.toString("hex")!=="0001"&&M)&&G++,q.length<8&&G++,G)throw new Error("decryption error");return T.slice(P)}function I(N,T){N=g.from(N),T=g.from(T);var M=0,D=N.length;N.length!==T.length&&(M++,D=Math.min(N.length,T.length));for(var P=-1;++P<D;)M+=N[P]^T[P];return M}return Lce}function yOt(){return eHe||(eHe=!0,s6.publicEncrypt=_Ot(),s6.privateDecrypt=mOt(),s6.privateEncrypt=function(t,r){return s6.publicEncrypt(t,r,!0)},s6.publicDecrypt=function(t,r){return s6.privateDecrypt(t,r,!0)}),s6}function bOt(){if(tHe)return mO;tHe=!0;var e=za;function t(){throw new Error(`secure random number generation not supported by this browser +use chrome, FireFox or Internet Explorer 11`)}var r=Vs(),i=TO(),n=r.Buffer,o=r.kMaxLength,d=lq.crypto||lq.msCrypto,g=Math.pow(2,32)-1;function y(M,D){if(typeof M!="number"||M!==M)throw new TypeError("offset must be a number");if(M>g||M<0)throw new TypeError("offset must be a uint32");if(M>o||M>D)throw new RangeError("offset out of range")}function _(M,D,P){if(typeof M!="number"||M!==M)throw new TypeError("size must be a number");if(M>g||M<0)throw new TypeError("size must be a uint32");if(M+D>P||M>o)throw new RangeError("buffer too small")}d&&d.getRandomValues||!e.browser?(mO.randomFill=I,mO.randomFillSync=T):(mO.randomFill=t,mO.randomFillSync=t);function I(M,D,P,G){if(!n.isBuffer(M)&&!(M instanceof lq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof D=="function")G=D,D=0,P=M.length;else if(typeof P=="function")G=P,P=M.length-D;else if(typeof G!="function")throw new TypeError('"cb" argument must be a function');return y(D,M.length),_(P,D,M.length),N(M,D,P,G)}function N(M,D,P,G){if(e.browser){var q=M.buffer,Y=new Uint8Array(q,D,P);if(d.getRandomValues(Y),G){e.nextTick(function(){G(null,M)});return}return M}if(G){i(P,function(ce,le){if(ce)return G(ce);le.copy(M,D),G(null,M)});return}var ne=i(P);return ne.copy(M,D),M}function T(M,D,P){if(typeof D>"u"&&(D=0),!n.isBuffer(M)&&!(M instanceof lq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return y(D,M.length),P===void 0&&(P=M.length-D),_(P,D,M.length),N(M,D,P)}return mO}function EOt(){if(rHe)return Fa;rHe=!0,Fa.randomBytes=Fa.rng=Fa.pseudoRandomBytes=Fa.prng=TO(),Fa.createHash=Fa.Hash=TD(),Fa.createHmac=Fa.Hmac=lHe();var e=p6t(),t=Object.keys(e),r=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(t);Fa.getHashes=function(){return r};var i=mHe();Fa.pbkdf2=i.pbkdf2,Fa.pbkdf2Sync=i.pbkdf2Sync;var n=T6t();Fa.Cipher=n.Cipher,Fa.createCipher=n.createCipher,Fa.Cipheriv=n.Cipheriv,Fa.createCipheriv=n.createCipheriv,Fa.Decipher=n.Decipher,Fa.createDecipher=n.createDecipher,Fa.Decipheriv=n.Decipheriv,Fa.createDecipheriv=n.createDecipheriv,Fa.getCiphers=n.getCiphers,Fa.listCiphers=n.listCiphers;var o=H5t();Fa.DiffieHellmanGroup=o.DiffieHellmanGroup,Fa.createDiffieHellmanGroup=o.createDiffieHellmanGroup,Fa.getDiffieHellman=o.getDiffieHellman,Fa.createDiffieHellman=o.createDiffieHellman,Fa.DiffieHellman=o.DiffieHellman;var d=AOt();Fa.createSign=d.createSign,Fa.Sign=d.Sign,Fa.createVerify=d.createVerify,Fa.Verify=d.Verify,Fa.createECDH=gOt();var g=yOt();Fa.publicEncrypt=g.publicEncrypt,Fa.privateEncrypt=g.privateEncrypt,Fa.publicDecrypt=g.publicDecrypt,Fa.privateDecrypt=g.privateDecrypt;var y=bOt();return Fa.randomFill=y.randomFill,Fa.randomFillSync=y.randomFillSync,Fa.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},Fa.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6},Fa}var qM,zMe,bG,KMe,$Me,VM,YMe,Jne,WMe,zne,XMe,Kne,ZMe,$ne,jMe,p0,Yne,eDe,Kc,Wne,tDe,$c,Xne,rDe,ua,Zne,nDe,Xf,jne,iDe,ti,eie,oDe,bc,a6t,aDe,tie,EG,sDe,rie,cDe,nie,uDe,iie,dDe,oie,fDe,aie,lDe,sie,hDe,cie,uie,ADe,u6t,die,pDe,fie,gDe,lie,_De,hie,mDe,Aie,yDe,l6t,pie,bDe,gie,EDe,_ie,vDe,mie,RDe,yie,_m,bie,SDe,rd,Eie,IDe,vie,CDe,Rie,wDe,Sie,ODe,hHe,Iie,NDe,Cie,xDe,wie,TDe,vG,Oie,BDe,Nie,MDe,im,xie,DDe,M1,RG,kDe,D1,PDe,Tie,LDe,Bie,UDe,Mie,FDe,Die,QDe,kie,HDe,V8,GDe,Pie,qDe,SG,IG,VDe,Lie,JDe,CG,zDe,Uie,KDe,Fie,$De,Qie,YDe,Hie,WDe,Gie,XDe,qie,ZDe,vHe,Vie,eke,Jie,tke,wg,zie,rke,bh,Kie,nke,da,$ie,ike,om,Yie,oke,wG,ake,xu,OG,ske,Ec,Og,cke,Uy,uke,Ng,dke,IHe,fke,Wie,wt,wHe,lke,Xie,Ot,vp,hke,JM,Ake,NG,pke,gke,Zie,_ke,jie,mke,eoe,yke,toe,bke,g0,roe,Eke,Yc,noe,vke,Wc,ioe,Rke,fa,ooe,Ske,Zf,aoe,Ike,ri,soe,Cke,vc,L6t,wke,coe,Yq,ym,BHe,MHe,Uce,DHe,xG,Fce,Q6t,H6t,J8,kHe,G6t,PHe,Tke,doe,V6t,LHe,J6t,A6,i4,mD,Mq,l4,Hce,h4,$6t,Y6t,W6t,foe,Bke,X6t,loe,Mke,Z6t,hoe,Dke,eIt,kke,Sue,TG,Gce,iIt,oIt,z8,FHe,aIt,Aoe,QHe,HHe,sIt,g6,o4,yD,Dq,A4,Vce,p4,dIt,fIt,lIt,poe,Uke,hIt,goe,Fke,pIt,_oe,Qke,gIt,qHe,VHe,Wq,_It,mIt,yIt,bIt,pq,JHe,zHe,KHe,RIt,moe,$He,SIt,IIt,NIt,YHe,Jce,zce,Jg,yoe,Vke,nd,boe,Jke,Eoe,zke,voe,Kke,Roe,$ke,ZHe,Soe,Yke,Ioe,Wke,Coe,Xke,BG,woe,Zke,Ooe,jke,am,Noe,ePe,k1,MG,tPe,P1,rPe,xoe,nPe,Toe,iPe,Boe,oPe,Moe,aPe,Doe,sPe,K8,cPe,koe,uPe,DG,kG,dPe,Poe,fPe,PG,lPe,Loe,hPe,Uoe,APe,Foe,pPe,Qoe,gPe,Hoe,_Pe,Goe,mPe,sGe,qoe,bPe,Voe,EPe,Tg,Joe,vPe,Eh,zoe,RPe,la,Koe,SPe,sm,$oe,IPe,LG,CPe,Tu,UG,wPe,Rc,Bg,OPe,Fy,NPe,Mg,xPe,dGe,TPe,Yoe,Nt,lGe,BPe,Woe,xt,Pq,Cp,YIt,hO,$8,WIt,MPe,qy,DPe,XIt,ZIt,FG,PO,_q,hGe,AGe,jIt,pGe,e3t,t3t,Oue,Xoe,r3t,gGe,n3t,zM,KM,$M,YM,WM,XM,Nue,_0,_Ge,LO,ha,i3t,mGe,o3t,a3t,s3t,yGe,Xc,h3t,bGe,A3t,p3t,g3t,y3t,Zc,b3t,EGe,E3t,v3t,R3t,w3t,nl,O3t,N3t,x3t,T3t,B3t,M3t,ni,D3t,vGe,k3t,QPe,P3t,RGe,Sc,H3t,G3t,q3t,V3t,J3t,u6,z3t,SGe,xue,sd,JPe,IGe,K3t,I6,$3t,Y3t,W3t,CGe,kD,X3t,wGe,Z3t,g4,OGe,j3t,e8t,t8t,NGe,dD,r8t,Kce,$ce,n8t,xGe,TGe,i8t,o8t,Yce,BGe,KPe,MGe,Am,a8t,s8t,c8t,u8t,$Pe,gm,d8t,Iq,Zoe,kGe,ED,joe,f8t,YPe,WPe,yO,vD,l8t,eae,h8t,Lq,PGe,zg,v4,QG,jPe,eLe,LGe,A8t,UGe,Tue,tLe,Nf,FGe,g8t,QGe,HGe,_8t,m8t,HG,GGe,b8t,qGe,_6,v8t,bO,VGe,Uq,JGe,Cv,R8t,d4,fD,S8t,I8t,PD,zGe,C8t,Wce,rLe,KGe,lD,w8t,$Ge,Xce,YGe,Cq,WGe,T8t,B8t,Zce,D8t,iLe,k8t,XGe,L8t,wq,tae,Bue,Gg,LD,Fq,U8t,jd,wh,NO,F8t,Q8t,Aa,H8t,Sp,ZGe,sLe,G8t,q8t,jGe,pm,V8t,nae,eqe,tqe,W8,J8t,eV,Ic,eue,z8t,xO,rqe,K8t,nqe,$8t,Y8t,Bu,tue,iqe,W8t,Dv,X8t,oqe,Z8t,j8t,e4t,F1,dLe,fLe,t4t,d6,lm,aqe,Mue,m6,Ov,lLe,r4t,Ft,sqe,cqe,ef,uqe,iae,n4t,Tq,oae,Due,dqe,fqe,X8,i4t,lqe,hqe,o4t,Nh,a4t,pLe,s4t,rue,c4t,u4t,d4t,f4t,gLe,aae,Aqe,pqe,ks,Yy,Vg,_Le,h4t,A4t,p4t,g4t,_4t,mLe,m4t,qG,E4t,EO,jS,v4t,yLe,cae,R4t,gqe,S4t,y6,bLe,kue,Pue,JG,Q1,cm,I4t,C4t,zG,yqe,Qq,oue,w4t,N4t,Ss,x4t,T4t,UO,wLe,M4t,bqe,wp,D4t,k4t,Wy,Xy,Eqe,vqe,e6,fae,lae,P4t,L4t,U4t,F4t,Rqe,Q4t,Sqe,Vy,Qy,Iqe,CO,j4t,FO,eCt,um,tCt,rCt,nCt,iCt,oCt,aCt,sCt,cCt,Cqe,uCt,wqe,Oqe,wO,dCt,fCt,hae,ZM,lCt,hCt,Nqe,ACt,xqe,pCt,Aae,Tqe,Bqe,gCt,pae,Mqe,_Ct,vO,Dqe,y4,mCt,$G,TLe,jM,BLe,kqe,Pqe,ECt,vCt,RCt,SCt,ICt,CCt,wCt,tV,Ql,Lqe,OCt,_4,Uqe,NCt,Fqe,j8,wD,YG,xCt,WG,Qqe,rV,ad,gae,OO,TCt,Hqe,BCt,SO,DLe,Hq,MCt,Gqe,DCt,Mv,kLe,Gq,kCt,PCt,Lue,XG,aue,LCt,nV,sue,f6,_ae,PLe,Vqe,UCt,LLe,Jqe,FCt,e4,ULe,mae,QCt,zqe,yae,ZG,HCt,OD,FLe,QLe,pO,GCt,qCt,iV,VCt,jG,JCt,Kqe,zCt,KCt,$Ct,IO,YCt,HLe,GLe,qLe,WCt,oV,t4,bae,VLe,L1,Mf,$qe,XCt,eq,JLe,ra,Eae,KLe,Ro,vae,$Le,r6,YLe,Rae,WLe,Sae,XLe,n6,Iae,jLe,Cae,wae,eUe,Oae,tUe,xf,Nae,nUe,xae,Tae,iUe,Bae,oUe,Wqe,bm,aUe,ewt,Uue,twt,rwt,nwt,sUe,iwt,owt,awt,swt,mm,Em,cwt,uwt,dwt,Xqe,fwt,lwt,hwt,Awt,pwt,Zqe,gwt,_wt,mwt,ywt,bwt,tq,Rp,Ewt,vwt,Rwt,Swt,Mae,sV,jqe,cue,Oh,m4,Iwt,Cwt,qq,wwt,Owt,xwt,Dae,eD,Twt,fUe,Bwt,Mwt,cd,rq,eVe,Vq,hUe,Dwt,kwt,f4,Pwt,tVe,Df,Bv,Lwt,Uwt,U1,Fwt,Qwt,uue,rVe,nVe,gUe,Gwt,iVe,qwt,Pae,Vwt,_Ue,mUe,Lae,Jwt,zwt,dm,Kwt,$wt,yUe,bUe,EUe,Ywt,Wwt,Xwt,tD,Zwt,u4,Jq,_D,due,oVe,RUe,SUe,aVe,fue,sVe,Ka,jwt,e5t,t5t,OUe,Gy,rD,nq,iq,NUe,oq,xUe,aq,Uae,TUe,BUe,Fae,MUe,r5t,Qae,DUe,Ms,r4,kUe,dVe,PUe,Hae,It,Gae,LUe,o5t,fVe,UUe,qae,Tt,Vae,FUe,Jae,QUe,zae,HUe,Kae,GUe,$ae,qUe,Yae,VUe,Wae,JUe,ou,zUe,Xae,KUe,$Ue,YUe,Zae,WUe,jae,XUe,ese,ZUe,tse,jUe,rse,eFe,nse,tFe,ise,rFe,ose,nFe,ase,iFe,sse,oFe,cse,aFe,use,sFe,dse,cFe,pVe,uFe,fse,Bt,lse,dFe,hse,fFe,sq,lFe,Ase,hFe,i6,AFe,pse,pFe,gse,gFe,_se,_Fe,mse,mFe,yse,yFe,bse,bFe,Ese,EFe,vse,vFe,Rse,RFe,Sse,SFe,Ise,IFe,Fg,CFe,w5t,Cse,wFe,wse,OFe,vVe,nD,NFe,Ose,xFe,Nse,TFe,id,RVe,BFe,xse,Mt,Tse,MFe,Tf,Bse,DFe,Mse,kFe,CVe,PFe,Dse,Dt,kse,LFe,Pse,UFe,Lse,FFe,o6,QFe,_O,HFe,cq,Ua,GFe,$a,uq,qFe,dq,Use,VFe,JFe,Fse,zFe,F5t,Qse,KFe,Ds,n4,$Fe,iD,YFe,xVe,WFe,Hse,Ct,Gse,XFe,G5t,TVe,ZFe,qse,kt,Vse,jFe,Jse,eQe,zse,tQe,Kse,rQe,$se,nQe,Yse,iQe,Wse,oQe,au,aQe,Xse,sQe,cQe,uQe,Zse,dQe,jse,fQe,ece,lQe,tce,hQe,rce,AQe,nce,pQe,ice,gQe,oce,_Qe,ace,mQe,sce,yQe,cce,bQe,uce,EQe,dce,vQe,kVe,RQe,fce,Pt,lce,SQe,hce,IQe,fq,CQe,Ace,wQe,a6,OQe,pce,NQe,gce,xQe,_ce,TQe,mce,BQe,yce,MQe,bce,DQe,Ece,kQe,vce,PQe,Rce,LQe,Sce,UQe,Ice,FQe,Qg,QQe,dOt,Cce,HQe,wce,GQe,GVe,oD,qQe,Oce,VQe,Nce,JQe,od,qVe,zQe,xce,Lt,Tce,KQe,Bf,Bce,$Qe,Mce,YQe,zVe,WQe,Dce,Ut,kce,XQe,Pce,ZQe,Lce,jQe,s6,eHe,mO,tHe,lq,Fa,rHe,yi,vOt,ROt,SOt,IOt,COt,wOt,OOt,NOt,xOt,TOt,u0e,BOt,MOt,DOt,kOt,POt,LOt,UOt,FOt,vm,QOt,d0e,HOt,GOt,qOt,VOt,JOt,zOt,KOt,$Ot,YOt,WOt,XOt,ZOt,jOt,f0e,eNt,tNt,rNt,nNt,IA=tn(()=>{"use strict";J();K();z();lO();XS();JMe();YS();UM();sO();vv();Ev();qM={},zMe=!1;bG={},KMe=!1,$Me=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;VM={},YMe=!1;Jne={},WMe=!1;zne={},XMe=!1;Kne={},ZMe=!1;$ne={},jMe=!1,p0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Yne={},eDe=!1,Kc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Wne={},tDe=!1,$c=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Xne={},rDe=!1,ua=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Zne={},nDe=!1,Xf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;jne={},iDe=!1,ti=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;eie={},oDe=!1,bc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;a6t={},aDe=!1,tie={exports:a6t};EG={},sDe=!1;rie={},cDe=!1;nie={},uDe=!1;iie={},dDe=!1;oie={},fDe=!1;aie={},lDe=!1;sie={},hDe=!1,cie=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;uie={},ADe=!1,u6t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;die={},pDe=!1;fie={},gDe=!1;lie={},_De=!1;hie={},mDe=!1;Aie={},yDe=!1,l6t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;pie={},bDe=!1;gie={},EDe=!1;_ie={},vDe=!1;mie={},RDe=!1,yie=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;_m=h6t();_m.Readable;_m.Writable;_m.Duplex;_m.Transform;_m.PassThrough;_m.finished;_m.pipeline;_m.Stream;mne(_m.finished),mne(_m.pipeline);bie={},SDe=!1,rd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Eie={},IDe=!1;vie={},CDe=!1;Rie={},wDe=!1;Sie={},ODe=!1;hHe={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},Iie={},NDe=!1;Cie={},xDe=!1;wie={},TDe=!1,vG=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Oie={},BDe=!1;Nie={},MDe=!1,im=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;xie={},DDe=!1,M1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;RG={},kDe=!1;D1={},PDe=!1;Tie={},LDe=!1;Bie={},UDe=!1;Mie={},FDe=!1;Die={},QDe=!1;kie={},HDe=!1;V8={},GDe=!1;Pie={},qDe=!1,SG=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;IG={},VDe=!1;Lie={},JDe=!1;CG={},zDe=!1;Uie={},KDe=!1;Fie={},$De=!1;Qie={},YDe=!1;Hie={},WDe=!1;Gie={},XDe=!1;qie={},ZDe=!1;vHe={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},Vie={},eke=!1;Jie={},tke=!1,wg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;zie={},rke=!1,bh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Kie={},nke=!1,da=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;$ie={},ike=!1,om=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Yie={},oke=!1;wG={},ake=!1,xu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;OG={},ske=!1,Ec=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Og={},cke=!1;Uy={},uke=!1;Ng={},dke=!1;IHe={},fke=!1,Wie={exports:IHe},wt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;wHe={},lke=!1,Xie={exports:wHe},Ot=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;vp={},hke=!1;JM={},Ake=!1;NG={},pke=!1,gke=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Zie={},_ke=!1;jie={},mke=!1;eoe={},yke=!1;toe={},bke=!1,g0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;roe={},Eke=!1,Yc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;noe={},vke=!1,Wc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;ioe={},Rke=!1,fa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;ooe={},Ske=!1,Zf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;aoe={},Ike=!1,ri=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;soe={},Cke=!1,vc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;L6t={},wke=!1,coe={exports:L6t};Yq=xc.EventEmitter,ym={},BHe={};xg("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),xg("ERR_INVALID_ARG_TYPE",(function(e,t,r){let i;var n;let o;return typeof t=="string"&&(n="not ",t.substr(0,n.length)===n)?(i="must not be",t=t.replace(/^not /,"")):i="must be",(function(d,g,y){return(y===void 0||y>d.length)&&(y=d.length),d.substring(y-g.length,y)===g})(e," argument")?o=`The ${e} ${i} ${Oke(t,"type")}`:o=`The "${e}" ${(function(d,g,y){return typeof y!="number"&&(y=0),!(y+g.length>d.length)&&d.indexOf(g,y)!==-1})(e,".")?"property":"argument"} ${i} ${Oke(t,"type")}`,o+=`. Received type ${typeof r}`,o}),TypeError),xg("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),xg("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),xg("ERR_STREAM_PREMATURE_CLOSE","Premature close"),xg("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),xg("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),xg("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),xg("ERR_STREAM_WRITE_AFTER_END","write after end"),xg("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),xg("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),xg("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),ym.codes=BHe;MHe=function(){throw new Error("Readable.from is not available in the browser")},Uce=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;DHe=function(e,t){if(uoe("noDeprecation"))return e;var r=!1;return function(){if(!r){if(uoe("throwDeprecation"))throw new Error(t);uoe("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this||Uce,arguments)}};xG=Vo.Buffer,Fce=yn.inspect,Q6t=Fce&&Fce.custom||"inspect",H6t=(function(){function e(){(function(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")})(this,e),this.head=null,this.tail=null,this.length=0}var t,r;return t=e,(r=[{key:"push",value:function(i){var n={data:i,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(i){var n={data:i,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var i=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,i}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(i){if(this.length===0)return"";for(var n=this.head,o=""+n.data;n=n.next;)o+=i+n.data;return o}},{key:"concat",value:function(i){if(this.length===0)return xG.alloc(0);for(var n,o,d,g=xG.allocUnsafe(i>>>0),y=this.head,_=0;y;)n=y.data,o=g,d=_,xG.prototype.copy.call(n,o,d),_+=y.data.length,y=y.next;return g}},{key:"consume",value:function(i,n){var o;return i<this.head.data.length?(o=this.head.data.slice(0,i),this.head.data=this.head.data.slice(i)):o=i===this.head.data.length?this.shift():n?this._getString(i):this._getBuffer(i),o}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(i){var n=this.head,o=1,d=n.data;for(i-=d.length;n=n.next;){var g=n.data,y=i>g.length?g.length:i;if(y===g.length?d+=g:d+=g.slice(0,i),(i-=y)==0){y===g.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=g.slice(y));break}++o}return this.length-=o,d}},{key:"_getBuffer",value:function(i){var n=xG.allocUnsafe(i),o=this.head,d=1;for(o.data.copy(n),i-=o.data.length;o=o.next;){var g=o.data,y=i>g.length?g.length:i;if(g.copy(n,n.length-i,0,y),(i-=y)==0){y===g.length?(++d,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=g.slice(y));break}++d}return this.length-=d,n}},{key:Q6t,value:function(i,n){return Fce(this,(function(o){for(var d=1;d<arguments.length;d++){var g=arguments[d]!=null?arguments[d]:{};d%2?Nke(Object(g),!0).forEach((function(y){U6t(o,y,g[y])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(g)):Nke(Object(g)).forEach((function(y){Object.defineProperty(o,y,Object.getOwnPropertyDescriptor(g,y))}))}return o})({},n,{depth:0,customInspect:!1}))}}])&&F6t(t.prototype,r),e})(),J8=Mo;kHe={destroy:function(e,t){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,J8.nextTick(Qce,this,e)):J8.nextTick(Qce,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(o){!t&&o?r._writableState?r._writableState.errorEmitted?J8.nextTick(hq,r):(r._writableState.errorEmitted=!0,J8.nextTick(xke,r,o)):J8.nextTick(xke,r,o):t?(J8.nextTick(hq,r),t(o)):J8.nextTick(hq,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,i=e._writableState;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):e.emit("error",t)}},G6t=ym.codes.ERR_INVALID_OPT_VALUE,PHe={getHighWaterMark:function(e,t,r,i){var n=(function(o,d,g){return o.highWaterMark!=null?o.highWaterMark:d?o[g]:null})(t,i,r);if(n!=null){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new G6t(i?r:"highWaterMark",n);return Math.floor(n)}return e.objectMode?16:16384}},Tke=ym.codes.ERR_STREAM_PREMATURE_CLOSE;V6t=function e(t,r,i){if(typeof r=="function")return e(t,null,r);r||(r={}),i=(function(D){var P=!1;return function(){if(!P){P=!0;for(var G=arguments.length,q=new Array(G),Y=0;Y<G;Y++)q[Y]=arguments[Y];D.apply(this,q)}}})(i||q6t);var n=r.readable||r.readable!==!1&&t.readable,o=r.writable||r.writable!==!1&&t.writable,d=function(){t.writable||y()},g=t._writableState&&t._writableState.finished,y=function(){o=!1,g=!0,n||i.call(t)},_=t._readableState&&t._readableState.endEmitted,I=function(){n=!1,_=!0,o||i.call(t)},N=function(D){i.call(t,D)},T=function(){var D;return n&&!_?(t._readableState&&t._readableState.ended||(D=new Tke),i.call(t,D)):o&&!g?(t._writableState&&t._writableState.ended||(D=new Tke),i.call(t,D)):void 0},M=function(){t.req.on("finish",y)};return(function(D){return D.setHeader&&typeof D.abort=="function"})(t)?(t.on("complete",y),t.on("abort",T),t.req?M():t.on("request",M)):o&&!t._writableState&&(t.on("end",d),t.on("close",d)),t.on("end",I),t.on("finish",y),r.error!==!1&&t.on("error",N),t.on("close",T),function(){t.removeListener("complete",y),t.removeListener("abort",T),t.removeListener("request",M),t.req&&t.req.removeListener("finish",y),t.removeListener("end",d),t.removeListener("close",d),t.removeListener("finish",y),t.removeListener("end",I),t.removeListener("error",N),t.removeListener("close",T)}},LHe=Mo;J6t=V6t,A6=Symbol("lastResolve"),i4=Symbol("lastReject"),mD=Symbol("error"),Mq=Symbol("ended"),l4=Symbol("lastPromise"),Hce=Symbol("handlePromise"),h4=Symbol("stream");$6t=Object.getPrototypeOf((function(){})),Y6t=Object.setPrototypeOf((h6(doe={get stream(){return this[h4]},next:function(){var e=this,t=this[mD];if(t!==null)return Promise.reject(t);if(this[Mq])return Promise.resolve(E6(void 0,!0));if(this[h4].destroyed)return new Promise((function(o,d){LHe.nextTick((function(){e[mD]?d(e[mD]):o(E6(void 0,!0))}))}));var r,i=this[l4];if(i)r=new Promise((function(o,d){return function(g,y){o.then((function(){if(d[Mq])return g(E6(void 0,!0)),void 0;d[Hce](g,y)}),y)}})(i,this));else{var n=this[h4].read();if(n!==null)return Promise.resolve(E6(n,!1));r=new Promise(this[Hce])}return this[l4]=r,r}},Symbol.asyncIterator,(function(){return this})),h6(doe,"return",(function(){var e=this;return new Promise((function(t,r){e[h4].destroy(null,(function(i){if(i)return r(i),void 0;t(E6(void 0,!0))}))}))})),doe),$6t),W6t=function(e){var t,r=Object.create(Y6t,(h6(t={},h4,{value:e,writable:!0}),h6(t,A6,{value:null,writable:!0}),h6(t,i4,{value:null,writable:!0}),h6(t,mD,{value:null,writable:!0}),h6(t,Mq,{value:e._readableState.endEmitted,writable:!0}),h6(t,Hce,{value:function(i,n){var o=r[h4].read();o?(r[l4]=null,r[A6]=null,r[i4]=null,i(E6(o,!1))):(r[A6]=i,r[i4]=n)},writable:!0}),t));return r[l4]=null,J6t(e,(function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=r[i4];return n!==null&&(r[l4]=null,r[A6]=null,r[i4]=null,n(i)),r[mD]=i,void 0}var o=r[A6];o!==null&&(r[l4]=null,r[A6]=null,r[i4]=null,o(E6(void 0,!0))),r[Mq]=!0})),e.on("readable",K6t.bind(null,r)),r},foe={},Bke=!1,X6t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;loe={},Mke=!1,Z6t=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;hoe={},Dke=!1;eIt=UHe(),kke=ym.codes.ERR_STREAM_PREMATURE_CLOSE;Sue=function e(t,r,i){if(typeof r=="function")return e(t,null,r);r||(r={}),i=(function(D){var P=!1;return function(){if(!P){P=!0;for(var G=arguments.length,q=new Array(G),Y=0;Y<G;Y++)q[Y]=arguments[Y];D.apply(this,q)}}})(i||tIt);var n=r.readable||r.readable!==!1&&t.readable,o=r.writable||r.writable!==!1&&t.writable,d=function(){t.writable||y()},g=t._writableState&&t._writableState.finished,y=function(){o=!1,g=!0,n||i.call(t)},_=t._readableState&&t._readableState.endEmitted,I=function(){n=!1,_=!0,o||i.call(t)},N=function(D){i.call(t,D)},T=function(){var D;return n&&!_?(t._readableState&&t._readableState.ended||(D=new kke),i.call(t,D)):o&&!g?(t._writableState&&t._writableState.ended||(D=new kke),i.call(t,D)):void 0},M=function(){t.req.on("finish",y)};return(function(D){return D.setHeader&&typeof D.abort=="function"})(t)?(t.on("complete",y),t.on("abort",T),t.req?M():t.on("request",M)):o&&!t._writableState&&(t.on("end",d),t.on("close",d)),t.on("end",I),t.on("finish",y),r.error!==!1&&t.on("error",N),t.on("close",T),function(){t.removeListener("complete",y),t.removeListener("abort",T),t.removeListener("request",M),t.req&&t.req.removeListener("finish",y),t.removeListener("end",d),t.removeListener("close",d),t.removeListener("finish",y),t.removeListener("end",I),t.removeListener("error",N),t.removeListener("close",T)}};TG=Vo.Buffer,Gce=yn.inspect,iIt=Gce&&Gce.custom||"inspect",oIt=(function(){function e(){(function(i,n){if(!(i instanceof n))throw new TypeError("Cannot call a class as a function")})(this,e),this.head=null,this.tail=null,this.length=0}var t,r;return t=e,(r=[{key:"push",value:function(i){var n={data:i,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(i){var n={data:i,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var i=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,i}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(i){if(this.length===0)return"";for(var n=this.head,o=""+n.data;n=n.next;)o+=i+n.data;return o}},{key:"concat",value:function(i){if(this.length===0)return TG.alloc(0);for(var n,o,d,g=TG.allocUnsafe(i>>>0),y=this.head,_=0;y;)n=y.data,o=g,d=_,TG.prototype.copy.call(n,o,d),_+=y.data.length,y=y.next;return g}},{key:"consume",value:function(i,n){var o;return i<this.head.data.length?(o=this.head.data.slice(0,i),this.head.data=this.head.data.slice(i)):o=i===this.head.data.length?this.shift():n?this._getString(i):this._getBuffer(i),o}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(i){var n=this.head,o=1,d=n.data;for(i-=d.length;n=n.next;){var g=n.data,y=i>g.length?g.length:i;if(y===g.length?d+=g:d+=g.slice(0,i),(i-=y)==0){y===g.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=g.slice(y));break}++o}return this.length-=o,d}},{key:"_getBuffer",value:function(i){var n=TG.allocUnsafe(i),o=this.head,d=1;for(o.data.copy(n),i-=o.data.length;o=o.next;){var g=o.data,y=i>g.length?g.length:i;if(g.copy(n,n.length-i,0,y),(i-=y)==0){y===g.length?(++d,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=g.slice(y));break}++d}return this.length-=d,n}},{key:iIt,value:function(i,n){return Gce(this,(function(o){for(var d=1;d<arguments.length;d++){var g=arguments[d]!=null?arguments[d]:{};d%2?Pke(Object(g),!0).forEach((function(y){rIt(o,y,g[y])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(g)):Pke(Object(g)).forEach((function(y){Object.defineProperty(o,y,Object.getOwnPropertyDescriptor(g,y))}))}return o})({},n,{depth:0,customInspect:!1}))}}])&&nIt(t.prototype,r),e})(),z8=Mo;FHe={destroy:function(e,t){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,z8.nextTick(qce,this,e)):z8.nextTick(qce,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(o){!t&&o?r._writableState?r._writableState.errorEmitted?z8.nextTick(Aq,r):(r._writableState.errorEmitted=!0,z8.nextTick(Lke,r,o)):z8.nextTick(Lke,r,o):t?(z8.nextTick(Aq,r),t(o)):z8.nextTick(Aq,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,i=e._writableState;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):e.emit("error",t)}},aIt=ym.codes.ERR_INVALID_OPT_VALUE,QHe={getHighWaterMark:function(e,t,r,i){var n=(function(o,d,g){return o.highWaterMark!=null?o.highWaterMark:d?o[g]:null})(t,i,r);if(n!=null){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new aIt(i?r:"highWaterMark",n);return Math.floor(n)}return e.objectMode?16:16384}},HHe=Mo;sIt=Sue,g6=Symbol("lastResolve"),o4=Symbol("lastReject"),yD=Symbol("error"),Dq=Symbol("ended"),A4=Symbol("lastPromise"),Vce=Symbol("handlePromise"),p4=Symbol("stream");dIt=Object.getPrototypeOf((function(){})),fIt=Object.setPrototypeOf((p6(Aoe={get stream(){return this[p4]},next:function(){var e=this,t=this[yD];if(t!==null)return Promise.reject(t);if(this[Dq])return Promise.resolve(v6(void 0,!0));if(this[p4].destroyed)return new Promise((function(o,d){HHe.nextTick((function(){e[yD]?d(e[yD]):o(v6(void 0,!0))}))}));var r,i=this[A4];if(i)r=new Promise((function(o,d){return function(g,y){o.then((function(){if(d[Dq])return g(v6(void 0,!0)),void 0;d[Vce](g,y)}),y)}})(i,this));else{var n=this[p4].read();if(n!==null)return Promise.resolve(v6(n,!1));r=new Promise(this[Vce])}return this[A4]=r,r}},Symbol.asyncIterator,(function(){return this})),p6(Aoe,"return",(function(){var e=this;return new Promise((function(t,r){e[p4].destroy(null,(function(i){if(i)return r(i),void 0;t(v6(void 0,!0))}))}))})),Aoe),dIt),lIt=function(e){var t,r=Object.create(fIt,(p6(t={},p4,{value:e,writable:!0}),p6(t,g6,{value:null,writable:!0}),p6(t,o4,{value:null,writable:!0}),p6(t,yD,{value:null,writable:!0}),p6(t,Dq,{value:e._readableState.endEmitted,writable:!0}),p6(t,Vce,{value:function(i,n){var o=r[p4].read();o?(r[A4]=null,r[g6]=null,r[o4]=null,i(v6(o,!1))):(r[g6]=i,r[o4]=n)},writable:!0}),t));return r[A4]=null,sIt(e,(function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=r[o4];return n!==null&&(r[A4]=null,r[g6]=null,r[o4]=null,n(i)),r[yD]=i,void 0}var o=r[g6];o!==null&&(r[A4]=null,r[g6]=null,r[o4]=null,o(v6(void 0,!0))),r[Dq]=!0})),e.on("readable",uIt.bind(null,r)),r},poe={},Uke=!1,hIt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;goe={},Fke=!1,pIt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;_oe={},Qke=!1;gIt=GHe(),qHe=SD();VHe=Tv;Wq=ym.codes,_It=Wq.ERR_METHOD_NOT_IMPLEMENTED,mIt=Wq.ERR_MULTIPLE_CALLBACK,yIt=Wq.ERR_TRANSFORM_ALREADY_TRANSFORMING,bIt=Wq.ERR_TRANSFORM_WITH_LENGTH_0,pq=qHe;ca(Tv,pq),Tv.prototype.push=function(e,t){return this._transformState.needTransform=!1,pq.prototype.push.call(this,e,t)},Tv.prototype._transform=function(e,t,r){r(new _It("_transform()"))},Tv.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},Tv.prototype._read=function(e){var t=this._transformState;t.writechunk===null||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},Tv.prototype._destroy=function(e,t){pq.prototype._destroy.call(this,e,(function(r){t(r)}))};JHe=VHe;zHe=ID;KHe=JHe;ca(ID,KHe),ID.prototype._transform=function(e,t,r){r(null,e)};RIt=zHe,$He=ym.codes,SIt=$He.ERR_MISSING_ARGS,IIt=$He.ERR_STREAM_DESTROYED;NIt=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var i,n=OIt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new SIt("streams");var o=t.map((function(d,g){var y=g<t.length-1;return CIt(d,y,g>0,(function(_){i||(i=_),_&&o.forEach(qke),y||(o.forEach(qke),n(i))}))}));return t.reduce(wIt)},Jce=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;YHe=Hg;zce=xc.EventEmitter;ca(Hg,zce),Hg.Readable=eIt,Hg.Writable=gIt,Hg.Duplex=qHe,Hg.Transform=JHe,Hg.PassThrough=RIt,Hg.finished=Sue,Hg.pipeline=NIt,Hg.Stream=Hg,Hg.prototype.pipe=function(e,t){var r=this||Jce;function i(I){e.writable&&e.write(I)===!1&&r.pause&&r.pause()}function n(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",n),e._isStdio||t&&t.end===!1||(r.on("end",d),r.on("close",g));var o=!1;function d(){o||(o=!0,e.end())}function g(){o||(o=!0,typeof e.destroy=="function"&&e.destroy())}function y(I){if(_(),zce.listenerCount(this||Jce,"error")===0)throw I}function _(){r.removeListener("data",i),e.removeListener("drain",n),r.removeListener("end",d),r.removeListener("close",g),r.removeListener("error",y),e.removeListener("error",y),r.removeListener("end",_),r.removeListener("close",_),e.removeListener("close",_)}return r.on("error",y),e.on("error",y),r.on("end",_),r.on("close",_),e.on("close",_),e.emit("pipe",r),e};Jg=YHe;Jg.Readable;Jg.Writable;Jg.Duplex;Jg.Transform;Jg.PassThrough;Jg.finished;Jg.pipeline;Jg.Stream;yoe={},Vke=!1,nd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;boe={},Jke=!1;Eoe={},zke=!1;voe={},Kke=!1;Roe={},$ke=!1;ZHe={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},Soe={},Yke=!1;Ioe={},Wke=!1;Coe={},Xke=!1,BG=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;woe={},Zke=!1;Ooe={},jke=!1,am=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Noe={},ePe=!1,k1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;MG={},tPe=!1;P1={},rPe=!1;xoe={},nPe=!1;Toe={},iPe=!1;Boe={},oPe=!1;Moe={},aPe=!1;Doe={},sPe=!1;K8={},cPe=!1;koe={},uPe=!1,DG=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;kG={},dPe=!1;Poe={},fPe=!1;PG={},lPe=!1;Loe={},hPe=!1;Uoe={},APe=!1;Foe={},pPe=!1;Qoe={},gPe=!1;Hoe={},_Pe=!1;Goe={},mPe=!1;sGe={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},qoe={},bPe=!1;Voe={},EPe=!1,Tg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Joe={},vPe=!1,Eh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;zoe={},RPe=!1,la=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Koe={},SPe=!1,sm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;$oe={},IPe=!1;LG={},CPe=!1,Tu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;UG={},wPe=!1,Rc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Bg={},OPe=!1;Fy={},NPe=!1;Mg={},xPe=!1;dGe={},TPe=!1,Yoe={exports:dGe},Nt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;lGe={},BPe=!1,Woe={exports:lGe},xt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Pq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Cp={},YIt=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r<e.length;r++)if(e[r]===t)return r;return-1},hO=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var r in e)t.push(r);return t},$8=function(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r,e)},WIt=(function(){try{return Object.defineProperty({},"_",{}),function(e,t,r){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch{return function(t,r,i){t[r]=i}}})(),MPe=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];gq.prototype={};qy=Cp.Script=function(e){if(!((this||Pq)instanceof qy))return new qy(e);(this||Pq).code=e};qy.prototype.runInContext=function(e){if(!(e instanceof gq))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var r=t.contentWindow,i=r.eval,n=r.execScript;!i&&n&&(n.call(r,"null"),i=r.eval),$8(hO(e),(function(g){r[g]=e[g]})),$8(MPe,(function(g){e[g]&&(r[g]=e[g])}));var o=hO(r),d=i.call(r,(this||Pq).code);return $8(hO(r),(function(g){(g in e||YIt(o,g)===-1)&&(e[g]=r[g])})),$8(MPe,(function(g){g in e||WIt(e,g,r[g])})),document.body.removeChild(t),d},qy.prototype.runInThisContext=function(){return eval((this||Pq).code)},qy.prototype.runInNewContext=function(e){var t=qy.createContext(e),r=this.runInContext(t);return e&&$8(hO(t),(function(i){e[i]=t[i]})),r},$8(hO(qy.prototype),(function(e){Cp[e]=qy[e]=function(t){var r=qy(t);return r[e].apply(r,[].slice.call(arguments,1))}})),Cp.isContext=function(e){return e instanceof gq},Cp.createScript=function(e){return Cp.Script(e)},Cp.createContext=qy.createContext=function(e){var t=new gq;return typeof e=="object"&&$8(hO(e),(function(r){t[r]=e[r]})),t};Cp.Script;Cp.createContext;Cp.createScript;Cp.isContext;Cp.runInContext;Cp.runInNewContext;Cp.runInThisContext;DPe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,XIt=Mo,ZIt=Rs.Buffer,FG=DPe.crypto||DPe.msCrypto,PO=FG&&FG.getRandomValues?function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var r=ZIt.allocUnsafe(e);if(e>0)if(e>65536)for(var i=0;i<e;i+=65536)FG.getRandomValues(r.slice(i,i+65536));else FG.getRandomValues(r);return typeof t=="function"?XIt.nextTick((function(){t(null,r)})):r}:function(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)},_q=Rs.Buffer,hGe=Jg.Transform;ca(c6,hGe),c6.prototype._transform=function(e,t,r){var i=null;try{this.update(e,t)}catch(n){i=n}r(i)},c6.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)},c6.prototype.update=function(e,t){if((function(g,y){if(!_q.isBuffer(g)&&typeof g!="string")throw new TypeError(y+" must be a string or a buffer")})(e,"Data"),this._finalized)throw new Error("Digest already called");_q.isBuffer(e)||(e=_q.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var n=this._blockOffset;n<this._blockSize;)r[n++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)r[this._blockOffset++]=e[i++];for(var o=0,d=8*e.length;d>0;++o)this._length[o]+=d,(d=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*d);return this},c6.prototype._update=function(){throw new Error("_update is not implemented")},c6.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},c6.prototype._digest=function(){throw new Error("_digest is not implemented")};AGe=c6,jIt=ca,pGe=AGe,e3t=Rs.Buffer,t3t=new Array(16);jIt(mq,pGe),mq.prototype._update=function(){for(var e=t3t,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,i=this._b,n=this._c,o=this._d;r=vh(r,i,n,o,e[0],3614090360,7),o=vh(o,r,i,n,e[1],3905402710,12),n=vh(n,o,r,i,e[2],606105819,17),i=vh(i,n,o,r,e[3],3250441966,22),r=vh(r,i,n,o,e[4],4118548399,7),o=vh(o,r,i,n,e[5],1200080426,12),n=vh(n,o,r,i,e[6],2821735955,17),i=vh(i,n,o,r,e[7],4249261313,22),r=vh(r,i,n,o,e[8],1770035416,7),o=vh(o,r,i,n,e[9],2336552879,12),n=vh(n,o,r,i,e[10],4294925233,17),i=vh(i,n,o,r,e[11],2304563134,22),r=vh(r,i,n,o,e[12],1804603682,7),o=vh(o,r,i,n,e[13],4254626195,12),n=vh(n,o,r,i,e[14],2792965006,17),r=Rh(r,i=vh(i,n,o,r,e[15],1236535329,22),n,o,e[1],4129170786,5),o=Rh(o,r,i,n,e[6],3225465664,9),n=Rh(n,o,r,i,e[11],643717713,14),i=Rh(i,n,o,r,e[0],3921069994,20),r=Rh(r,i,n,o,e[5],3593408605,5),o=Rh(o,r,i,n,e[10],38016083,9),n=Rh(n,o,r,i,e[15],3634488961,14),i=Rh(i,n,o,r,e[4],3889429448,20),r=Rh(r,i,n,o,e[9],568446438,5),o=Rh(o,r,i,n,e[14],3275163606,9),n=Rh(n,o,r,i,e[3],4107603335,14),i=Rh(i,n,o,r,e[8],1163531501,20),r=Rh(r,i,n,o,e[13],2850285829,5),o=Rh(o,r,i,n,e[2],4243563512,9),n=Rh(n,o,r,i,e[7],1735328473,14),r=Sh(r,i=Rh(i,n,o,r,e[12],2368359562,20),n,o,e[5],4294588738,4),o=Sh(o,r,i,n,e[8],2272392833,11),n=Sh(n,o,r,i,e[11],1839030562,16),i=Sh(i,n,o,r,e[14],4259657740,23),r=Sh(r,i,n,o,e[1],2763975236,4),o=Sh(o,r,i,n,e[4],1272893353,11),n=Sh(n,o,r,i,e[7],4139469664,16),i=Sh(i,n,o,r,e[10],3200236656,23),r=Sh(r,i,n,o,e[13],681279174,4),o=Sh(o,r,i,n,e[0],3936430074,11),n=Sh(n,o,r,i,e[3],3572445317,16),i=Sh(i,n,o,r,e[6],76029189,23),r=Sh(r,i,n,o,e[9],3654602809,4),o=Sh(o,r,i,n,e[12],3873151461,11),n=Sh(n,o,r,i,e[15],530742520,16),r=Ih(r,i=Sh(i,n,o,r,e[2],3299628645,23),n,o,e[0],4096336452,6),o=Ih(o,r,i,n,e[7],1126891415,10),n=Ih(n,o,r,i,e[14],2878612391,15),i=Ih(i,n,o,r,e[5],4237533241,21),r=Ih(r,i,n,o,e[12],1700485571,6),o=Ih(o,r,i,n,e[3],2399980690,10),n=Ih(n,o,r,i,e[10],4293915773,15),i=Ih(i,n,o,r,e[1],2240044497,21),r=Ih(r,i,n,o,e[8],1873313359,6),o=Ih(o,r,i,n,e[15],4264355552,10),n=Ih(n,o,r,i,e[6],2734768916,15),i=Ih(i,n,o,r,e[13],1309151649,21),r=Ih(r,i,n,o,e[4],4149444226,6),o=Ih(o,r,i,n,e[11],3174756917,10),n=Ih(n,o,r,i,e[2],718787259,15),i=Ih(i,n,o,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},mq.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=e3t.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};Oue=mq,Xoe=Vo.Buffer,r3t=ca,gGe=AGe,n3t=new Array(16),zM=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],KM=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],$M=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],YM=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],WM=[0,1518500249,1859775393,2400959708,2840853838],XM=[1352829926,1548603684,1836072691,2053994217,0];r3t(yq,gGe),yq.prototype._update=function(){for(var e=n3t,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,d=0|this._e,g=0|this._a,y=0|this._b,_=0|this._c,I=0|this._d,N=0|this._e,T=0;T<80;T+=1){var M,D;T<16?(M=kPe(r,i,n,o,d,e[zM[T]],WM[0],$M[T]),D=FPe(g,y,_,I,N,e[KM[T]],XM[0],YM[T])):T<32?(M=PPe(r,i,n,o,d,e[zM[T]],WM[1],$M[T]),D=UPe(g,y,_,I,N,e[KM[T]],XM[1],YM[T])):T<48?(M=LPe(r,i,n,o,d,e[zM[T]],WM[2],$M[T]),D=LPe(g,y,_,I,N,e[KM[T]],XM[2],YM[T])):T<64?(M=UPe(r,i,n,o,d,e[zM[T]],WM[3],$M[T]),D=PPe(g,y,_,I,N,e[KM[T]],XM[3],YM[T])):(M=FPe(r,i,n,o,d,e[zM[T]],WM[4],$M[T]),D=kPe(g,y,_,I,N,e[KM[T]],XM[4],YM[T])),r=d,d=o,o=E4(n,10),n=i,i=M,g=N,N=I,I=E4(_,10),_=y,y=D}var P=this._b+n+I|0;this._b=this._c+o+N|0,this._c=this._d+d+g|0,this._d=this._e+r+y|0,this._e=this._a+i+_|0,this._a=P},yq.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Xoe.alloc?Xoe.alloc(20):new Xoe(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};Nue=yq,_0=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,_Ge=Rs.Buffer;bq.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=_Ge.from(e,t));for(var r=(this||_0)._block,i=(this||_0)._blockSize,n=e.length,o=(this||_0)._len,d=0;d<n;){for(var g=o%i,y=Math.min(n-d,i-g),_=0;_<y;_++)r[g+_]=e[d+_];d+=y,(o+=y)%i==0&&this._update(r)}return(this||_0)._len+=n,this||_0},bq.prototype.digest=function(e){var t=(this||_0)._len%(this||_0)._blockSize;(this||_0)._block[t]=128,(this||_0)._block.fill(0,t+1),t>=(this||_0)._finalSize&&(this._update((this||_0)._block),(this||_0)._block.fill(0));var r=8*(this||_0)._len;if(r<=4294967295)(this||_0)._block.writeUInt32BE(r,(this||_0)._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;(this||_0)._block.writeUInt32BE(n,(this||_0)._blockSize-8),(this||_0)._block.writeUInt32BE(i,(this||_0)._blockSize-4)}this._update((this||_0)._block);var o=this._hash();return e?o.toString(e):o},bq.prototype._update=function(){throw new Error("_update must be implemented by subclass")};LO=bq,ha=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,i3t=ca,mGe=LO,o3t=Rs.Buffer,a3t=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s3t=new Array(64);i3t(aD,mGe),aD.prototype.init=function(){return(this||ha)._a=1779033703,(this||ha)._b=3144134277,(this||ha)._c=1013904242,(this||ha)._d=2773480762,(this||ha)._e=1359893119,(this||ha)._f=2600822924,(this||ha)._g=528734635,(this||ha)._h=1541459225,this||ha},aD.prototype._update=function(e){for(var t,r=(this||ha)._w,i=0|(this||ha)._a,n=0|(this||ha)._b,o=0|(this||ha)._c,d=0|(this||ha)._d,g=0|(this||ha)._e,y=0|(this||ha)._f,_=0|(this||ha)._g,I=0|(this||ha)._h,N=0;N<16;++N)r[N]=e.readInt32BE(4*N);for(;N<64;++N)r[N]=0|(((t=r[N-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[N-7]+l3t(r[N-15])+r[N-16];for(var T=0;T<64;++T){var M=I+f3t(g)+c3t(g,y,_)+a3t[T]+r[T]|0,D=d3t(i)+u3t(i,n,o)|0;I=_,_=y,y=g,g=d+M|0,d=o,o=n,n=i,i=M+D|0}(this||ha)._a=i+(this||ha)._a|0,(this||ha)._b=n+(this||ha)._b|0,(this||ha)._c=o+(this||ha)._c|0,(this||ha)._d=d+(this||ha)._d|0,(this||ha)._e=g+(this||ha)._e|0,(this||ha)._f=y+(this||ha)._f|0,(this||ha)._g=_+(this||ha)._g|0,(this||ha)._h=I+(this||ha)._h|0},aD.prototype._hash=function(){var e=o3t.allocUnsafe(32);return e.writeInt32BE((this||ha)._a,0),e.writeInt32BE((this||ha)._b,4),e.writeInt32BE((this||ha)._c,8),e.writeInt32BE((this||ha)._d,12),e.writeInt32BE((this||ha)._e,16),e.writeInt32BE((this||ha)._f,20),e.writeInt32BE((this||ha)._g,24),e.writeInt32BE((this||ha)._h,28),e};yGe=aD,Xc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,h3t=ca,bGe=LO,A3t=Rs.Buffer,p3t=[1518500249,1859775393,-1894007588,-899497514],g3t=new Array(80);h3t(sD,bGe),sD.prototype.init=function(){return(this||Xc)._a=1732584193,(this||Xc)._b=4023233417,(this||Xc)._c=2562383102,(this||Xc)._d=271733878,(this||Xc)._e=3285377520,this||Xc},sD.prototype._update=function(e){for(var t,r=(this||Xc)._w,i=0|(this||Xc)._a,n=0|(this||Xc)._b,o=0|(this||Xc)._c,d=0|(this||Xc)._d,g=0|(this||Xc)._e,y=0;y<16;++y)r[y]=e.readInt32BE(4*y);for(;y<80;++y)r[y]=r[y-3]^r[y-8]^r[y-14]^r[y-16];for(var _=0;_<80;++_){var I=~~(_/20),N=0|((t=i)<<5|t>>>27)+m3t(I,n,o,d)+g+r[_]+p3t[I];g=d,d=o,o=_3t(n),n=i,i=N}(this||Xc)._a=i+(this||Xc)._a|0,(this||Xc)._b=n+(this||Xc)._b|0,(this||Xc)._c=o+(this||Xc)._c|0,(this||Xc)._d=d+(this||Xc)._d|0,(this||Xc)._e=g+(this||Xc)._e|0},sD.prototype._hash=function(){var e=A3t.allocUnsafe(20);return e.writeInt32BE(0|(this||Xc)._a,0),e.writeInt32BE(0|(this||Xc)._b,4),e.writeInt32BE(0|(this||Xc)._c,8),e.writeInt32BE(0|(this||Xc)._d,12),e.writeInt32BE(0|(this||Xc)._e,16),e};y3t=sD,Zc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,b3t=ca,EGe=LO,E3t=Rs.Buffer,v3t=[1518500249,1859775393,-1894007588,-899497514],R3t=new Array(80);b3t(cD,EGe),cD.prototype.init=function(){return(this||Zc)._a=1732584193,(this||Zc)._b=4023233417,(this||Zc)._c=2562383102,(this||Zc)._d=271733878,(this||Zc)._e=3285377520,this||Zc},cD.prototype._update=function(e){for(var t,r=(this||Zc)._w,i=0|(this||Zc)._a,n=0|(this||Zc)._b,o=0|(this||Zc)._c,d=0|(this||Zc)._d,g=0|(this||Zc)._e,y=0;y<16;++y)r[y]=e.readInt32BE(4*y);for(;y<80;++y)r[y]=(t=r[y-3]^r[y-8]^r[y-14]^r[y-16])<<1|t>>>31;for(var _=0;_<80;++_){var I=~~(_/20),N=S3t(i)+C3t(I,n,o,d)+g+r[_]+v3t[I]|0;g=d,d=o,o=I3t(n),n=i,i=N}(this||Zc)._a=i+(this||Zc)._a|0,(this||Zc)._b=n+(this||Zc)._b|0,(this||Zc)._c=o+(this||Zc)._c|0,(this||Zc)._d=d+(this||Zc)._d|0,(this||Zc)._e=g+(this||Zc)._e|0},cD.prototype._hash=function(){var e=E3t.allocUnsafe(20);return e.writeInt32BE(0|(this||Zc)._a,0),e.writeInt32BE(0|(this||Zc)._b,4),e.writeInt32BE(0|(this||Zc)._c,8),e.writeInt32BE(0|(this||Zc)._d,12),e.writeInt32BE(0|(this||Zc)._e,16),e};w3t=cD,nl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,O3t=ca,N3t=yGe,x3t=LO,T3t=Rs.Buffer,B3t=new Array(64);O3t(Eq,N3t),Eq.prototype.init=function(){return(this||nl)._a=3238371032,(this||nl)._b=914150663,(this||nl)._c=812702999,(this||nl)._d=4144912697,(this||nl)._e=4290775857,(this||nl)._f=1750603025,(this||nl)._g=1694076839,(this||nl)._h=3204075428,this||nl},Eq.prototype._hash=function(){var e=T3t.allocUnsafe(28);return e.writeInt32BE((this||nl)._a,0),e.writeInt32BE((this||nl)._b,4),e.writeInt32BE((this||nl)._c,8),e.writeInt32BE((this||nl)._d,12),e.writeInt32BE((this||nl)._e,16),e.writeInt32BE((this||nl)._f,20),e.writeInt32BE((this||nl)._g,24),e};M3t=Eq,ni=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,D3t=ca,vGe=LO,k3t=Rs.Buffer,QPe=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],P3t=new Array(160);D3t(uD,vGe),uD.prototype.init=function(){return(this||ni)._ah=1779033703,(this||ni)._bh=3144134277,(this||ni)._ch=1013904242,(this||ni)._dh=2773480762,(this||ni)._eh=1359893119,(this||ni)._fh=2600822924,(this||ni)._gh=528734635,(this||ni)._hh=1541459225,(this||ni)._al=4089235720,(this||ni)._bl=2227873595,(this||ni)._cl=4271175723,(this||ni)._dl=1595750129,(this||ni)._el=2917565137,(this||ni)._fl=725511199,(this||ni)._gl=4215389547,(this||ni)._hl=327033209,this||ni},uD.prototype._update=function(e){for(var t=(this||ni)._w,r=0|(this||ni)._ah,i=0|(this||ni)._bh,n=0|(this||ni)._ch,o=0|(this||ni)._dh,d=0|(this||ni)._eh,g=0|(this||ni)._fh,y=0|(this||ni)._gh,_=0|(this||ni)._hh,I=0|(this||ni)._al,N=0|(this||ni)._bl,T=0|(this||ni)._cl,M=0|(this||ni)._dl,D=0|(this||ni)._el,P=0|(this||ni)._fl,G=0|(this||ni)._gl,q=0|(this||ni)._hl,Y=0;Y<32;Y+=2)t[Y]=e.readInt32BE(4*Y),t[Y+1]=e.readInt32BE(4*Y+4);for(;Y<160;Y+=2){var ne=t[Y-30],ce=t[Y-30+1],le=L3t(ne,ce),pe=U3t(ce,ne),ae=F3t(ne=t[Y-4],ce=t[Y-4+1]),W=Q3t(ce,ne),se=t[Y-14],O=t[Y-14+1],s=t[Y-32],l=t[Y-32+1],A=pe+O|0,m=le+se+jf(A,pe)|0;m=(m=m+ae+jf(A=A+W|0,W)|0)+s+jf(A=A+l|0,l)|0,t[Y]=m,t[Y+1]=A}for(var E=0;E<160;E+=2){m=t[E],A=t[E+1];var w=GPe(r,i,n),x=GPe(I,N,T),R=qPe(r,I),u=qPe(I,r),C=VPe(d,D),U=VPe(D,d),F=QPe[E],X=QPe[E+1],Ae=HPe(d,g,y),he=HPe(D,P,G),$e=q+U|0,Ge=_+C+jf($e,q)|0;Ge=(Ge=(Ge=Ge+Ae+jf($e=$e+he|0,he)|0)+F+jf($e=$e+X|0,X)|0)+m+jf($e=$e+A|0,A)|0;var Re=u+x|0,Se=R+w+jf(Re,u)|0;_=y,q=G,y=g,G=P,g=d,P=D,d=o+Ge+jf(D=M+$e|0,M)|0,o=n,M=T,n=i,T=N,i=r,N=I,r=Ge+Se+jf(I=$e+Re|0,$e)|0}(this||ni)._al=(this||ni)._al+I|0,(this||ni)._bl=(this||ni)._bl+N|0,(this||ni)._cl=(this||ni)._cl+T|0,(this||ni)._dl=(this||ni)._dl+M|0,(this||ni)._el=(this||ni)._el+D|0,(this||ni)._fl=(this||ni)._fl+P|0,(this||ni)._gl=(this||ni)._gl+G|0,(this||ni)._hl=(this||ni)._hl+q|0,(this||ni)._ah=(this||ni)._ah+r+jf((this||ni)._al,I)|0,(this||ni)._bh=(this||ni)._bh+i+jf((this||ni)._bl,N)|0,(this||ni)._ch=(this||ni)._ch+n+jf((this||ni)._cl,T)|0,(this||ni)._dh=(this||ni)._dh+o+jf((this||ni)._dl,M)|0,(this||ni)._eh=(this||ni)._eh+d+jf((this||ni)._el,D)|0,(this||ni)._fh=(this||ni)._fh+g+jf((this||ni)._fl,P)|0,(this||ni)._gh=(this||ni)._gh+y+jf((this||ni)._gl,G)|0,(this||ni)._hh=(this||ni)._hh+_+jf((this||ni)._hl,q)|0},uD.prototype._hash=function(){var e=k3t.allocUnsafe(64);function t(r,i,n){e.writeInt32BE(r,n),e.writeInt32BE(i,n+4)}return t((this||ni)._ah,(this||ni)._al,0),t((this||ni)._bh,(this||ni)._bl,8),t((this||ni)._ch,(this||ni)._cl,16),t((this||ni)._dh,(this||ni)._dl,24),t((this||ni)._eh,(this||ni)._el,32),t((this||ni)._fh,(this||ni)._fl,40),t((this||ni)._gh,(this||ni)._gl,48),t((this||ni)._hh,(this||ni)._hl,56),e};RGe=uD,Sc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,H3t=ca,G3t=RGe,q3t=LO,V3t=Rs.Buffer,J3t=new Array(160);H3t(vq,G3t),vq.prototype.init=function(){return(this||Sc)._ah=3418070365,(this||Sc)._bh=1654270250,(this||Sc)._ch=2438529370,(this||Sc)._dh=355462360,(this||Sc)._eh=1731405415,(this||Sc)._fh=2394180231,(this||Sc)._gh=3675008525,(this||Sc)._hh=1203062813,(this||Sc)._al=3238371032,(this||Sc)._bl=914150663,(this||Sc)._cl=812702999,(this||Sc)._dl=4144912697,(this||Sc)._el=4290775857,(this||Sc)._fl=1750603025,(this||Sc)._gl=1694076839,(this||Sc)._hl=3204075428,this||Sc},vq.prototype._hash=function(){var e=V3t.allocUnsafe(48);function t(r,i,n){e.writeInt32BE(r,n),e.writeInt32BE(i,n+4)}return t((this||Sc)._ah,(this||Sc)._al,0),t((this||Sc)._bh,(this||Sc)._bl,8),t((this||Sc)._ch,(this||Sc)._cl,16),t((this||Sc)._dh,(this||Sc)._dl,24),t((this||Sc)._eh,(this||Sc)._el,32),t((this||Sc)._fh,(this||Sc)._fl,40),e};z3t=vq,SGe={exports:u6={}};(u6=SGe.exports=function(e){e=e.toLowerCase();var t=u6[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t}).sha=y3t,u6.sha1=w3t,u6.sha224=M3t,u6.sha256=yGe,u6.sha384=z3t,u6.sha512=RGe;xue=SGe.exports,sd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,JPe=Rs.Buffer,IGe=Jg.Transform,K3t=yh.StringDecoder;ca(fm,IGe),fm.prototype.update=function(e,t,r){typeof e=="string"&&(e=JPe.from(e,t));var i=this._update(e);return(this||sd).hashMode?this||sd:(r&&(i=this._toString(i,r)),i)},fm.prototype.setAutoPadding=function(){},fm.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},fm.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},fm.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},fm.prototype._transform=function(e,t,r){var i;try{(this||sd).hashMode?this._update(e):this.push(this._update(e))}catch(n){i=n}finally{r(i)}},fm.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)},fm.prototype._finalOrDigest=function(e){var t=this.__final()||JPe.alloc(0);return e&&(t=this._toString(t,e,!0)),t},fm.prototype._toString=function(e,t,r){if((this||sd)._decoder||((this||sd)._decoder=new K3t(t),(this||sd)._encoding=t),(this||sd)._encoding!==t)throw new Error("can't switch encodings");var i=(this||sd)._decoder.write(e);return r&&(i+=(this||sd)._decoder.end()),i};I6=fm,$3t=Oue,Y3t=Nue,W3t=xue,CGe=I6;ca(Rq,CGe),Rq.prototype._update=function(e){this._hash.update(e)},Rq.prototype._final=function(){return this._hash.digest()};kD=function(e){return(e=e.toLowerCase())==="md5"?new $3t:e==="rmd160"||e==="ripemd160"?new Y3t:new Rq(W3t(e))},X3t=Oue,wGe=function(e){return new X3t().update(e).digest()},Z3t=ca,g4=Rs.Buffer,OGe=I6,j3t=g4.alloc(128);Z3t(Sq,OGe),Sq.prototype._update=function(e){this._hash.push(e)},Sq.prototype._final=function(){var e=this._alg(g4.concat(this._hash));return this._alg(g4.concat([this._opad,e]))};e8t=ca,t8t=Sq,NGe=I6,dD=Rs.Buffer,r8t=wGe,Kce=Nue,$ce=xue,n8t=dD.alloc(128);e8t(bD,NGe),bD.prototype._update=function(e){this._hash.update(e)},bD.prototype._final=function(){var e=this._hash.digest();return(this._alg==="rmd160"?new Kce:$ce(this._alg)).update(this._opad).update(e).digest()};xGe=function(e,t){return(e=e.toLowerCase())==="rmd160"||e==="ripemd160"?new bD("rmd160",t):e==="md5"?new t8t(r8t,t):new bD(e,t)},TGe={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},i8t=Vo.Buffer,o8t=Math.pow(2,30)-1;BGe=function(e,t,r,i){if(zPe(e,"Password"),zPe(t,"Salt"),typeof r!="number")throw new TypeError("Iterations not a number");if(r<0)throw new TypeError("Bad iterations");if(typeof i!="number")throw new TypeError("Key length not a number");if(i<0||i>o8t||i!=i)throw new TypeError("Bad key length")},KPe=Mo;KPe.browser?Yce="utf-8":Yce=parseInt(KPe.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";MGe=Yce,Am=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,a8t=wGe,s8t=Nue,c8t=xue,u8t=BGe,$Pe=MGe,gm=Rs.Buffer,d8t=gm.alloc(128),Iq={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};DGe.prototype.run=function(e,t){return e.copy(t,(this||Am).blocksize),this.hash(t).copy((this||Am).opad,(this||Am).blocksize),this.hash((this||Am).opad)};kGe=function(e,t,r,i,n){u8t(e,t,r,i),gm.isBuffer(e)||(e=gm.from(e,$Pe)),gm.isBuffer(t)||(t=gm.from(t,$Pe));var o=new DGe(n=n||"sha1",e,t.length),d=gm.allocUnsafe(i),g=gm.allocUnsafe(t.length+4);t.copy(g,0,0,t.length);for(var y=0,_=Iq[n],I=Math.ceil(i/_),N=1;N<=I;N++){g.writeUInt32BE(N,t.length);for(var T=o.run(g,o.ipad1),M=T,D=1;D<r;D++){M=o.run(M,o.ipad2);for(var P=0;P<_;P++)T[P]^=M[P]}T.copy(d,y),y+=_}return d},ED=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,joe=Mo,f8t=BGe,YPe=MGe,WPe=kGe,yO=Rs.Buffer,vD=ED.crypto&&ED.crypto.subtle,l8t={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},eae=[];h8t=function(e,t,r,i,n,o){typeof n=="function"&&(o=n,n=void 0);var d=l8t[(n=n||"sha1").toLowerCase()];if(!d||typeof ED.Promise!="function")return joe.nextTick((function(){var g;try{g=WPe(e,t,r,i,n)}catch(y){return o(y)}o(null,g)}));if(f8t(e,t,r,i),typeof o!="function")throw new Error("No callback provided to pbkdf2");yO.isBuffer(e)||(e=yO.from(e,YPe)),yO.isBuffer(t)||(t=yO.from(t,YPe)),(function(g,y){g.then((function(_){joe.nextTick((function(){y(null,_)}))}),(function(_){joe.nextTick((function(){y(_)}))}))})((function(g){if(ED.process&&!ED.process.browser||!vD||!vD.importKey||!vD.deriveBits)return Promise.resolve(!1);if(eae[g]!==void 0)return eae[g];var y=XPe(Zoe=Zoe||yO.alloc(8),Zoe,10,128,g).then((function(){return!0})).catch((function(){return!1}));return eae[g]=y,y})(d).then((function(g){return g?XPe(e,t,r,i,d):WPe(e,t,r,i,n)})),o)},Lq={};Lq.pbkdf2=h8t,Lq.pbkdf2Sync=kGe;PGe=ZPe,ZPe.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)};zg=PGe,v4={readUInt32BE:function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},writeUInt32BE:function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},ip:function(e,t,r,i){for(var n=0,o=0,d=6;d>=0;d-=2){for(var g=0;g<=24;g+=8)n<<=1,n|=t>>>g+d&1;for(g=0;g<=24;g+=8)n<<=1,n|=e>>>g+d&1}for(d=6;d>=0;d-=2){for(g=1;g<=25;g+=8)o<<=1,o|=t>>>g+d&1;for(g=1;g<=25;g+=8)o<<=1,o|=e>>>g+d&1}r[i+0]=n>>>0,r[i+1]=o>>>0},rip:function(e,t,r,i){for(var n=0,o=0,d=0;d<4;d++)for(var g=24;g>=0;g-=8)n<<=1,n|=t>>>g+d&1,n<<=1,n|=e>>>g+d&1;for(d=4;d<8;d++)for(g=24;g>=0;g-=8)o<<=1,o|=t>>>g+d&1,o<<=1,o|=e>>>g+d&1;r[i+0]=n>>>0,r[i+1]=o>>>0},pc1:function(e,t,r,i){for(var n=0,o=0,d=7;d>=5;d--){for(var g=0;g<=24;g+=8)n<<=1,n|=t>>g+d&1;for(g=0;g<=24;g+=8)n<<=1,n|=e>>g+d&1}for(g=0;g<=24;g+=8)n<<=1,n|=t>>g+d&1;for(d=1;d<=3;d++){for(g=0;g<=24;g+=8)o<<=1,o|=t>>g+d&1;for(g=0;g<=24;g+=8)o<<=1,o|=e>>g+d&1}for(g=0;g<=24;g+=8)o<<=1,o|=e>>g+d&1;r[i+0]=n>>>0,r[i+1]=o>>>0},r28shl:function(e,t){return e<<t&268435455|e>>>28-t}},QG=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];v4.pc2=function(e,t,r,i){for(var n=0,o=0,d=QG.length>>>1,g=0;g<d;g++)n<<=1,n|=e>>>QG[g]&1;for(g=d;g<QG.length;g++)o<<=1,o|=t>>>QG[g]&1;r[i+0]=n>>>0,r[i+1]=o>>>0},v4.expand=function(e,t,r){var i=0,n=0;i=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=e>>>o&63;for(o=11;o>=3;o-=4)n|=e>>>o&63,n<<=6;n|=(31&e)<<1|e>>>31,t[r+0]=i>>>0,t[r+1]=n>>>0};jPe=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];v4.substitute=function(e,t){for(var r=0,i=0;i<4;i++)r<<=4,r|=jPe[64*i+(e>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=jPe[256+64*i+(t>>>18-6*i&63)];return r>>>0};eLe=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];v4.permute=function(e){for(var t=0,r=0;r<eLe.length;r++)t<<=1,t|=e>>>eLe[r]&1;return t>>>0},v4.padSplit=function(e,t,r){for(var i=e.toString(2);i.length<t;)i="0"+i;for(var n=[],o=0;o<t;o+=r)n.push(i.slice(o,o+r));return n.join(" ")};A8t=zg;LGe=Dg,Dg.prototype._init=function(){},Dg.prototype.update=function(e){return e.length===0?[]:this.type==="decrypt"?this._updateDecrypt(e):this._updateEncrypt(e)},Dg.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),i=0;i<r;i++)this.buffer[this.bufferOff+i]=e[t+i];return this.bufferOff+=r,r},Dg.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},Dg.prototype._updateEncrypt=function(e){var t=0,r=0,i=(this.bufferOff+e.length)/this.blockSize|0,n=new Array(i*this.blockSize);this.bufferOff!==0&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var o=e.length-(e.length-t)%this.blockSize;t<o;t+=this.blockSize)this._update(e,t,n,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return n},Dg.prototype._updateDecrypt=function(e){for(var t=0,r=0,i=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)t+=this._buffer(e,t),r+=this._flushBuffer(n,r);return t+=this._buffer(e,t),n},Dg.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r=this.type==="encrypt"?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},Dg.prototype._pad=function(e,t){if(t===0)return!1;for(;t<e.length;)e[t++]=0;return!0},Dg.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},Dg.prototype._unpad=function(e){return e},Dg.prototype._finalDecrypt=function(){A8t.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)};Tue=LGe,tLe=zg,Nf=v4,FGe=Tue;ca($y,FGe),UGe=$y,$y.create=function(e){return new $y(e)};g8t=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];$y.prototype.deriveKeys=function(e,t){e.keys=new Array(32),tLe.equal(t.length,this.blockSize,"Invalid key length");var r=Nf.readUInt32BE(t,0),i=Nf.readUInt32BE(t,4);Nf.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var n=0;n<e.keys.length;n+=2){var o=g8t[n>>>1];r=Nf.r28shl(r,o),i=Nf.r28shl(i,o),Nf.pc2(r,i,e.keys,n)}},$y.prototype._update=function(e,t,r,i){var n=this._desState,o=Nf.readUInt32BE(e,t),d=Nf.readUInt32BE(e,t+4);Nf.ip(o,d,n.tmp,0),o=n.tmp[0],d=n.tmp[1],this.type==="encrypt"?this._encrypt(n,o,d,n.tmp,0):this._decrypt(n,o,d,n.tmp,0),o=n.tmp[0],d=n.tmp[1],Nf.writeUInt32BE(r,o,i),Nf.writeUInt32BE(r,d,i+4)},$y.prototype._pad=function(e,t){for(var r=e.length-t,i=t;i<e.length;i++)e[i]=r;return!0},$y.prototype._unpad=function(e){for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)tLe.equal(e[r],t);return e.slice(0,e.length-t)},$y.prototype._encrypt=function(e,t,r,i,n){for(var o=t,d=r,g=0;g<e.keys.length;g+=2){var y=e.keys[g],_=e.keys[g+1];Nf.expand(d,e.tmp,0),y^=e.tmp[0],_^=e.tmp[1];var I=Nf.substitute(y,_),N=d;d=(o^Nf.permute(I))>>>0,o=N}Nf.rip(d,o,i,n)},$y.prototype._decrypt=function(e,t,r,i,n){for(var o=r,d=t,g=e.keys.length-2;g>=0;g-=2){var y=e.keys[g],_=e.keys[g+1];Nf.expand(o,e.tmp,0),y^=e.tmp[0],_^=e.tmp[1];var I=Nf.substitute(y,_),N=o;o=(d^Nf.permute(I))>>>0,d=N}Nf.rip(o,d,i,n)};QGe=UGe,HGe={},_8t=zg,m8t=ca,HG={};HGe.instantiate=function(e){function t(o){e.call(this,o),this._cbcInit()}m8t(t,e);for(var r=Object.keys(HG),i=0;i<r.length;i++){var n=r[i];t.prototype[n]=HG[n]}return t.create=function(o){return new t(o)},t},HG._cbcInit=function(){var e=new y8t(this.options.iv);this._cbcState=e},HG._update=function(e,t,r,i){var n=this._cbcState,o=this.constructor.super_.prototype,d=n.iv;if(this.type==="encrypt"){for(var g=0;g<this.blockSize;g++)d[g]^=e[t+g];for(o._update.call(this,d,0,r,i),g=0;g<this.blockSize;g++)d[g]=r[i+g]}else{for(o._update.call(this,e,t,r,i),g=0;g<this.blockSize;g++)r[i+g]^=d[g];for(g=0;g<this.blockSize;g++)d[g]=e[t+g]}};b8t=zg,qGe=Tue,_6=QGe;ca(Y8,qGe),GGe=Y8,Y8.create=function(e){return new Y8(e)},Y8.prototype._update=function(e,t,r,i){var n=this._edeState;n.ciphers[0]._update(e,t,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},Y8.prototype._pad=_6.prototype._pad,Y8.prototype._unpad=_6.prototype._unpad;v8t=GGe,bO={};bO.utils=v4,bO.Cipher=Tue,bO.DES=QGe,bO.CBC=HGe,bO.EDE=v8t;Uq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,JGe=I6,Cv=bO,R8t=ca,d4=Rs.Buffer,fD={"des-ede3-cbc":Cv.CBC.instantiate(Cv.EDE),"des-ede3":Cv.EDE,"des-ede-cbc":Cv.CBC.instantiate(Cv.EDE),"des-ede":Cv.EDE,"des-cbc":Cv.CBC.instantiate(Cv.DES),"des-ecb":Cv.DES};fD.des=fD["des-cbc"],fD.des3=fD["des-ede3-cbc"],VGe=GG,R8t(GG,JGe),GG.prototype._update=function(e){return d4.from((this||Uq)._des.update(e))},GG.prototype._final=function(){return d4.from((this||Uq)._des.final())};S8t=VGe,I8t=Vo.Buffer,PD=function(e,t){for(var r=Math.min(e.length,t.length),i=new I8t(r),n=0;n<r;++n)i[n]=e[n]^t[n];return i},zGe=function(e){for(var t,r=e.length;r--;){if((t=e.readUInt8(r))!==255){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}},C8t={encrypt:function(e,t){return e._cipher.encryptBlock(t)},decrypt:function(e,t){return e._cipher.decryptBlock(t)}},Wce={},rLe=PD;Wce.encrypt=function(e,t){var r=rLe(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},Wce.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return rLe(i,r)};KGe={},lD=Rs.Buffer,w8t=PD;KGe.encrypt=function(e,t,r){for(var i,n=lD.allocUnsafe(0);t.length;){if(e._cache.length===0&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=lD.allocUnsafe(0)),!(e._cache.length<=t.length)){n=lD.concat([n,nLe(e,t,r)]);break}i=e._cache.length,n=lD.concat([n,nLe(e,t.slice(0,i),r)]),t=t.slice(i)}return n};$Ge={},Xce=Rs.Buffer;$Ge.encrypt=function(e,t,r){for(var i=t.length,n=Xce.allocUnsafe(i),o=-1;++o<i;)n[o]=O8t(e,t[o],r);return n};YGe={},Cq=Rs.Buffer;YGe.encrypt=function(e,t,r){for(var i=t.length,n=Cq.allocUnsafe(i),o=-1;++o<i;)n[o]=N8t(e,t[o],r);return n};WGe={},T8t=Vo.Buffer,B8t=PD;WGe.encrypt=function(e,t){for(;e._cache.length<t.length;)e._cache=T8t.concat([e._cache,M8t(e)]);var r=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),B8t(t,r)};Zce={},D8t=PD,iLe=Rs.Buffer,k8t=zGe;Zce.encrypt=function(e,t){var r=Math.ceil(t.length/16),i=e._cache.length;e._cache=iLe.concat([e._cache,iLe.allocUnsafe(16*r)]);for(var n=0;n<r;n++){var o=P8t(e),d=i+16*n;e._cache.writeUInt32BE(o[0],d+0),e._cache.writeUInt32BE(o[1],d+4),e._cache.writeUInt32BE(o[2],d+8),e._cache.writeUInt32BE(o[3],d+12)}var g=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),D8t(t,g)};XGe={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},L8t={ECB:C8t,CBC:Wce,CFB:KGe,CFB8:$Ge,CFB1:YGe,OFB:WGe,CTR:Zce,GCM:Zce},wq=XGe;for(tae in wq)wq[tae].module=L8t[wq[tae].mode];Bue=wq,Gg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,LD={},Fq=Rs.Buffer;U8t=[0,1,2,4,8,16,32,64,128,27,54],jd=(function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],d=0,g=0,y=0;y<256;++y){var _=g^g<<1^g<<2^g<<3^g<<4;_=_>>>8^255&_^99,r[d]=_,i[_]=d;var I=e[d],N=e[I],T=e[N],M=257*e[_]^16843008*_;n[0][d]=M<<24|M>>>8,n[1][d]=M<<16|M>>>16,n[2][d]=M<<8|M>>>24,n[3][d]=M,M=16843009*T^65537*N^257*I^16843008*d,o[0][_]=M<<24|M>>>8,o[1][_]=M<<16|M>>>16,o[2][_]=M<<8|M>>>24,o[3][_]=M,d===0?d=g=1:(d=I^e[e[e[T^I]]],g^=e[e[g]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}})();kg.blockSize=16,kg.keySize=32,kg.prototype.blockSize=kg.blockSize,kg.prototype.keySize=kg.keySize,kg.prototype._reset=function(){for(var e=(this||Gg)._key,t=e.length,r=t+6,i=4*(r+1),n=[],o=0;o<t;o++)n[o]=e[o];for(o=t;o<i;o++){var d=n[o-1];o%t==0?(d=d<<8|d>>>24,d=jd.SBOX[d>>>24]<<24|jd.SBOX[d>>>16&255]<<16|jd.SBOX[d>>>8&255]<<8|jd.SBOX[255&d],d^=U8t[o/t|0]<<24):t>6&&o%t==4&&(d=jd.SBOX[d>>>24]<<24|jd.SBOX[d>>>16&255]<<16|jd.SBOX[d>>>8&255]<<8|jd.SBOX[255&d]),n[o]=n[o-t]^d}for(var g=[],y=0;y<i;y++){var _=i-y,I=n[_-(y%4?0:4)];g[y]=y<4||_<=4?I:jd.INV_SUB_MIX[0][jd.SBOX[I>>>24]]^jd.INV_SUB_MIX[1][jd.SBOX[I>>>16&255]]^jd.INV_SUB_MIX[2][jd.SBOX[I>>>8&255]]^jd.INV_SUB_MIX[3][jd.SBOX[255&I]]}(this||Gg)._nRounds=r,(this||Gg)._keySchedule=n,(this||Gg)._invKeySchedule=g},kg.prototype.encryptBlockRaw=function(e){return oLe(e=jce(e),(this||Gg)._keySchedule,jd.SUB_MIX,jd.SBOX,(this||Gg)._nRounds)},kg.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=Fq.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},kg.prototype.decryptBlock=function(e){var t=(e=jce(e))[1];e[1]=e[3],e[3]=t;var r=oLe(e,(this||Gg)._invKeySchedule,jd.INV_SUB_MIX,jd.INV_SBOX,(this||Gg)._nRounds),i=Fq.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},kg.prototype.scrub=function(){rae((this||Gg)._keySchedule),rae((this||Gg)._invKeySchedule),rae((this||Gg)._key)},LD.AES=kg;wh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,NO=Rs.Buffer,F8t=NO.alloc(16,0);hD.prototype.ghash=function(e){for(var t=-1;++t<e.length;)(this||wh).state[t]^=e[t];this._multiply()},hD.prototype._multiply=function(){for(var e,t,r,i=[(e=(this||wh).h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],n=[0,0,0,0],o=-1;++o<128;){for(((this||wh).state[~~(o/8)]&1<<7-o%8)!=0&&(n[0]^=i[0],n[1]^=i[1],n[2]^=i[2],n[3]^=i[3]),r=(1&i[3])!=0,t=3;t>0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}(this||wh).state=aLe(n)},hD.prototype.update=function(e){var t;for((this||wh).cache=NO.concat([(this||wh).cache,e]);(this||wh).cache.length>=16;)t=(this||wh).cache.slice(0,16),(this||wh).cache=(this||wh).cache.slice(16),this.ghash(t)},hD.prototype.final=function(e,t){return(this||wh).cache.length&&this.ghash(NO.concat([(this||wh).cache,F8t],16)),this.ghash(aLe([0,e,0,t])),(this||wh).state};Q8t=hD,Aa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,H8t=LD,Sp=Rs.Buffer,ZGe=I6,sLe=Q8t,G8t=PD,q8t=zGe;ca(a4,ZGe),a4.prototype._update=function(e){if(!(this||Aa)._called&&(this||Aa)._alen){var t=16-(this||Aa)._alen%16;t<16&&(t=Sp.alloc(t,0),(this||Aa)._ghash.update(t))}(this||Aa)._called=!0;var r=(this||Aa)._mode.encrypt(this||Aa,e);return(this||Aa)._decrypt?(this||Aa)._ghash.update(e):(this||Aa)._ghash.update(r),(this||Aa)._len+=e.length,r},a4.prototype._final=function(){if((this||Aa)._decrypt&&!(this||Aa)._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=G8t((this||Aa)._ghash.final(8*(this||Aa)._alen,8*(this||Aa)._len),(this||Aa)._cipher.encryptBlock((this||Aa)._finID));if((this||Aa)._decrypt&&(function(t,r){var i=0;t.length!==r.length&&i++;for(var n=Math.min(t.length,r.length),o=0;o<n;++o)i+=t[o]^r[o];return i})(e,(this||Aa)._authTag))throw new Error("Unsupported state or unable to authenticate data");(this||Aa)._authTag=e,(this||Aa)._cipher.scrub()},a4.prototype.getAuthTag=function(){if((this||Aa)._decrypt||!Sp.isBuffer((this||Aa)._authTag))throw new Error("Attempting to get auth tag in unsupported state");return(this||Aa)._authTag},a4.prototype.setAuthTag=function(e){if(!(this||Aa)._decrypt)throw new Error("Attempting to set auth tag in unsupported state");(this||Aa)._authTag=e},a4.prototype.setAAD=function(e){if((this||Aa)._called)throw new Error("Attempting to set AAD in unsupported state");(this||Aa)._ghash.update(e),(this||Aa)._alen+=e.length};jGe=a4,pm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,V8t=LD,nae=Rs.Buffer,eqe=I6;ca(Oq,eqe),Oq.prototype._update=function(e){return(this||pm)._mode.encrypt(this||pm,e,(this||pm)._decrypt)},Oq.prototype._final=function(){(this||pm)._cipher.scrub()};tqe=Oq,W8=Rs.Buffer,J8t=Oue,eV=function(e,t,r,i){if(W8.isBuffer(e)||(e=W8.from(e,"binary")),t&&(W8.isBuffer(t)||(t=W8.from(t,"binary")),t.length!==8))throw new RangeError("salt should be Buffer with 8 byte length");for(var n=r/8,o=W8.alloc(n),d=W8.alloc(i||0),g=W8.alloc(0);n>0||i>0;){var y=new J8t;y.update(g),y.update(e),t&&y.update(t),g=y.digest();var _=0;if(n>0){var I=o.length-n;_=Math.min(n,g.length),g.copy(o,I,0,_),n-=_}if(_<g.length&&i>0){var N=d.length-i,T=Math.min(i,g.length-_);g.copy(d,N,_,_+T),i-=T}}return g.fill(0),{key:o,iv:d}},Ic=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,eue={},z8t=jGe,xO=Rs.Buffer,rqe=Bue,K8t=tqe,nqe=I6,$8t=LD,Y8t=eV;ca(AD,nqe),AD.prototype._update=function(e){var t,r;(this||Ic)._cache.add(e);for(var i=[];t=(this||Ic)._cache.get((this||Ic)._autopadding);)r=(this||Ic)._mode.decrypt(this||Ic,t),i.push(r);return xO.concat(i)},AD.prototype._final=function(){var e=(this||Ic)._cache.flush();if((this||Ic)._autopadding)return(function(t){var r=t[15];if(r<1||r>16)throw new Error("unable to decrypt data");for(var i=-1;++i<r;)if(t[i+(16-r)]!==r)throw new Error("unable to decrypt data");if(r!==16)return t.slice(0,16-r)})((this||Ic)._mode.decrypt(this||Ic,e));if(e)throw new Error("data not multiple of block length")},AD.prototype.setAutoPadding=function(e){return(this||Ic)._autopadding=!!e,this||Ic},Nq.prototype.add=function(e){(this||Ic).cache=xO.concat([(this||Ic).cache,e])},Nq.prototype.get=function(e){var t;if(e){if((this||Ic).cache.length>16)return t=(this||Ic).cache.slice(0,16),(this||Ic).cache=(this||Ic).cache.slice(16),t}else if((this||Ic).cache.length>=16)return t=(this||Ic).cache.slice(0,16),(this||Ic).cache=(this||Ic).cache.slice(16),t;return null},Nq.prototype.flush=function(){if((this||Ic).cache.length)return(this||Ic).cache},eue.createDecipher=function(e,t){var r=rqe[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=Y8t(t,!1,r.key,r.iv);return cLe(e,i.key,i.iv)},eue.createDecipheriv=cLe;Bu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,tue={},iqe=Bue,W8t=jGe,Dv=Rs.Buffer,X8t=tqe,oqe=I6,Z8t=LD,j8t=eV;ca(CD,oqe),CD.prototype._update=function(e){var t,r;(this||Bu)._cache.add(e);for(var i=[];t=(this||Bu)._cache.get();)r=(this||Bu)._mode.encrypt(this||Bu,t),i.push(r);return Dv.concat(i)};e4t=Dv.alloc(16,16);CD.prototype._final=function(){var e=(this||Bu)._cache.flush();if((this||Bu)._autopadding)return e=(this||Bu)._mode.encrypt(this||Bu,e),(this||Bu)._cipher.scrub(),e;if(!e.equals(e4t))throw(this||Bu)._cipher.scrub(),new Error("data not multiple of block length")},CD.prototype.setAutoPadding=function(e){return(this||Bu)._autopadding=!!e,this||Bu},xq.prototype.add=function(e){(this||Bu).cache=Dv.concat([(this||Bu).cache,e])},xq.prototype.get=function(){if((this||Bu).cache.length>15){var e=(this||Bu).cache.slice(0,16);return(this||Bu).cache=(this||Bu).cache.slice(16),e}return null},xq.prototype.flush=function(){for(var e=16-(this||Bu).cache.length,t=Dv.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return Dv.concat([(this||Bu).cache,t])},tue.createCipheriv=uLe,tue.createCipher=function(e,t){var r=iqe[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=j8t(t,!1,r.key,r.iv);return uLe(e,i.key,i.iv)};F1={},dLe=tue,fLe=eue,t4t=XGe;F1.createCipher=F1.Cipher=dLe.createCipher,F1.createCipheriv=F1.Cipheriv=dLe.createCipheriv,F1.createDecipher=F1.Decipher=fLe.createDecipher,F1.createDecipheriv=F1.Decipheriv=fLe.createDecipheriv,F1.listCiphers=F1.getCiphers=function(){return Object.keys(t4t)};d6={"des-ecb":{key:8,iv:0}};d6["des-cbc"]=d6.des={key:8,iv:8},d6["des-ede3-cbc"]=d6.des3={key:24,iv:8},d6["des-ede3"]={key:24,iv:0},d6["des-ede-cbc"]={key:16,iv:8},d6["des-ede"]={key:16,iv:0};lm={},aqe=S8t,Mue=F1,m6=Bue,Ov=d6,lLe=eV;lm.createCipher=lm.Cipher=function(e,t){var r,i;if(e=e.toLowerCase(),m6[e])r=m6[e].key,i=m6[e].iv;else{if(!Ov[e])throw new TypeError("invalid suite type");r=8*Ov[e].key,i=Ov[e].iv}var n=lLe(t,!1,r,i);return hLe(e,n.key,n.iv)},lm.createCipheriv=lm.Cipheriv=hLe,lm.createDecipher=lm.Decipher=function(e,t){var r,i;if(e=e.toLowerCase(),m6[e])r=m6[e].key,i=m6[e].iv;else{if(!Ov[e])throw new TypeError("invalid suite type");r=8*Ov[e].key,i=Ov[e].iv}var n=lLe(t,!1,r,i);return ALe(e,n.key,n.iv)},lm.createDecipheriv=lm.Decipheriv=ALe,lm.listCiphers=lm.getCiphers=function(){return Object.keys(Ov).concat(Mue.getCiphers())};r4t=Object.freeze({}),Ft=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,sqe={},cqe={exports:sqe};(function(e,t){function r(ae,W){if(!ae)throw new Error(W||"Assertion failed")}function i(ae,W){ae.super_=W;var se=function(){};se.prototype=W.prototype,ae.prototype=new se,ae.prototype.constructor=ae}function n(ae,W,se){if(n.isBN(ae))return ae;(this||Ft).negative=0,(this||Ft).words=null,(this||Ft).length=0,(this||Ft).red=null,ae!==null&&(W!=="le"&&W!=="be"||(se=W,W=10),this._init(ae||0,W||10,se||"be"))}var o;typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;try{o=r4t.Buffer}catch{}function d(ae,W,se){for(var O=0,s=Math.min(ae.length,se),l=W;l<s;l++){var A=ae.charCodeAt(l)-48;O<<=4,O|=A>=49&&A<=54?A-49+10:A>=17&&A<=22?A-17+10:15&A}return O}function g(ae,W,se,O){for(var s=0,l=Math.min(ae.length,se),A=W;A<l;A++){var m=ae.charCodeAt(A)-48;s*=O,s+=m>=49?m-49+10:m>=17?m-17+10:m}return s}n.isBN=function(ae){return ae instanceof n||ae!==null&&typeof ae=="object"&&ae.constructor.wordSize===n.wordSize&&Array.isArray(ae.words)},n.max=function(ae,W){return ae.cmp(W)>0?ae:W},n.min=function(ae,W){return ae.cmp(W)<0?ae:W},n.prototype._init=function(ae,W,se){if(typeof ae=="number")return this._initNumber(ae,W,se);if(typeof ae=="object")return this._initArray(ae,W,se);W==="hex"&&(W=16),r(W===(0|W)&&W>=2&&W<=36);var O=0;(ae=ae.toString().replace(/\s+/g,""))[0]==="-"&&O++,W===16?this._parseHex(ae,O):this._parseBase(ae,W,O),ae[0]==="-"&&((this||Ft).negative=1),this.strip(),se==="le"&&this._initArray(this.toArray(),W,se)},n.prototype._initNumber=function(ae,W,se){ae<0&&((this||Ft).negative=1,ae=-ae),ae<67108864?((this||Ft).words=[67108863&ae],(this||Ft).length=1):ae<4503599627370496?((this||Ft).words=[67108863&ae,ae/67108864&67108863],(this||Ft).length=2):(r(ae<9007199254740992),(this||Ft).words=[67108863&ae,ae/67108864&67108863,1],(this||Ft).length=3),se==="le"&&this._initArray(this.toArray(),W,se)},n.prototype._initArray=function(ae,W,se){if(r(typeof ae.length=="number"),ae.length<=0)return(this||Ft).words=[0],(this||Ft).length=1,this||Ft;(this||Ft).length=Math.ceil(ae.length/3),(this||Ft).words=new Array((this||Ft).length);for(var O=0;O<(this||Ft).length;O++)(this||Ft).words[O]=0;var s,l,A=0;if(se==="be")for(O=ae.length-1,s=0;O>=0;O-=3)l=ae[O]|ae[O-1]<<8|ae[O-2]<<16,(this||Ft).words[s]|=l<<A&67108863,(this||Ft).words[s+1]=l>>>26-A&67108863,(A+=24)>=26&&(A-=26,s++);else if(se==="le")for(O=0,s=0;O<ae.length;O+=3)l=ae[O]|ae[O+1]<<8|ae[O+2]<<16,(this||Ft).words[s]|=l<<A&67108863,(this||Ft).words[s+1]=l>>>26-A&67108863,(A+=24)>=26&&(A-=26,s++);return this.strip()},n.prototype._parseHex=function(ae,W){(this||Ft).length=Math.ceil((ae.length-W)/6),(this||Ft).words=new Array((this||Ft).length);for(var se=0;se<(this||Ft).length;se++)(this||Ft).words[se]=0;var O,s,l=0;for(se=ae.length-6,O=0;se>=W;se-=6)s=d(ae,se,se+6),(this||Ft).words[O]|=s<<l&67108863,(this||Ft).words[O+1]|=s>>>26-l&4194303,(l+=24)>=26&&(l-=26,O++);se+6!==W&&(s=d(ae,W,se+6),(this||Ft).words[O]|=s<<l&67108863,(this||Ft).words[O+1]|=s>>>26-l&4194303),this.strip()},n.prototype._parseBase=function(ae,W,se){(this||Ft).words=[0],(this||Ft).length=1;for(var O=0,s=1;s<=67108863;s*=W)O++;O--,s=s/W|0;for(var l=ae.length-se,A=l%O,m=Math.min(l,l-A)+se,E=0,w=se;w<m;w+=O)E=g(ae,w,w+O,W),this.imuln(s),(this||Ft).words[0]+E<67108864?(this||Ft).words[0]+=E:this._iaddn(E);if(A!==0){var x=1;for(E=g(ae,w,ae.length,W),w=0;w<A;w++)x*=W;this.imuln(x),(this||Ft).words[0]+E<67108864?(this||Ft).words[0]+=E:this._iaddn(E)}},n.prototype.copy=function(ae){ae.words=new Array((this||Ft).length);for(var W=0;W<(this||Ft).length;W++)ae.words[W]=(this||Ft).words[W];ae.length=(this||Ft).length,ae.negative=(this||Ft).negative,ae.red=(this||Ft).red},n.prototype.clone=function(){var ae=new n(null);return this.copy(ae),ae},n.prototype._expand=function(ae){for(;(this||Ft).length<ae;)(this||Ft).words[(this||Ft).length++]=0;return this||Ft},n.prototype.strip=function(){for(;(this||Ft).length>1&&(this||Ft).words[(this||Ft).length-1]===0;)(this||Ft).length--;return this._normSign()},n.prototype._normSign=function(){return(this||Ft).length===1&&(this||Ft).words[0]===0&&((this||Ft).negative=0),this||Ft},n.prototype.inspect=function(){return((this||Ft).red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var y=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],_=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],I=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function N(ae,W,se){se.negative=W.negative^ae.negative;var O=ae.length+W.length|0;se.length=O,O=O-1|0;var s=0|ae.words[0],l=0|W.words[0],A=s*l,m=67108863&A,E=A/67108864|0;se.words[0]=m;for(var w=1;w<O;w++){for(var x=E>>>26,R=67108863&E,u=Math.min(w,W.length-1),C=Math.max(0,w-ae.length+1);C<=u;C++){var U=w-C|0;x+=(A=(s=0|ae.words[U])*(l=0|W.words[C])+R)/67108864|0,R=67108863&A}se.words[w]=0|R,E=0|x}return E!==0?se.words[w]=0|E:se.length--,se.strip()}n.prototype.toString=function(ae,W){var se;if(W=0|W||1,(ae=ae||10)===16||ae==="hex"){se="";for(var O=0,s=0,l=0;l<(this||Ft).length;l++){var A=(this||Ft).words[l],m=(16777215&(A<<O|s)).toString(16);se=(s=A>>>24-O&16777215)!==0||l!==(this||Ft).length-1?y[6-m.length]+m+se:m+se,(O+=2)>=26&&(O-=26,l--)}for(s!==0&&(se=s.toString(16)+se);se.length%W!=0;)se="0"+se;return(this||Ft).negative!==0&&(se="-"+se),se}if(ae===(0|ae)&&ae>=2&&ae<=36){var E=_[ae],w=I[ae];se="";var x=this.clone();for(x.negative=0;!x.isZero();){var R=x.modn(w).toString(ae);se=(x=x.idivn(w)).isZero()?R+se:y[E-R.length]+R+se}for(this.isZero()&&(se="0"+se);se.length%W!=0;)se="0"+se;return(this||Ft).negative!==0&&(se="-"+se),se}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var ae=(this||Ft).words[0];return(this||Ft).length===2?ae+=67108864*(this||Ft).words[1]:(this||Ft).length===3&&(this||Ft).words[2]===1?ae+=4503599627370496+67108864*(this||Ft).words[1]:(this||Ft).length>2&&r(!1,"Number can only safely store up to 53 bits"),(this||Ft).negative!==0?-ae:ae},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(ae,W){return r(o!==void 0),this.toArrayLike(o,ae,W)},n.prototype.toArray=function(ae,W){return this.toArrayLike(Array,ae,W)},n.prototype.toArrayLike=function(ae,W,se){var O=this.byteLength(),s=se||Math.max(1,O);r(O<=s,"byte array longer than desired length"),r(s>0,"Requested array length <= 0"),this.strip();var l,A,m=W==="le",E=new ae(s),w=this.clone();if(m){for(A=0;!w.isZero();A++)l=w.andln(255),w.iushrn(8),E[A]=l;for(;A<s;A++)E[A]=0}else{for(A=0;A<s-O;A++)E[A]=0;for(A=0;!w.isZero();A++)l=w.andln(255),w.iushrn(8),E[s-A-1]=l}return E},Math.clz32?n.prototype._countBits=function(ae){return 32-Math.clz32(ae)}:n.prototype._countBits=function(ae){var W=ae,se=0;return W>=4096&&(se+=13,W>>>=13),W>=64&&(se+=7,W>>>=7),W>=8&&(se+=4,W>>>=4),W>=2&&(se+=2,W>>>=2),se+W},n.prototype._zeroBits=function(ae){if(ae===0)return 26;var W=ae,se=0;return(8191&W)==0&&(se+=13,W>>>=13),(127&W)==0&&(se+=7,W>>>=7),(15&W)==0&&(se+=4,W>>>=4),(3&W)==0&&(se+=2,W>>>=2),(1&W)==0&&se++,se},n.prototype.bitLength=function(){var ae=(this||Ft).words[(this||Ft).length-1],W=this._countBits(ae);return 26*((this||Ft).length-1)+W},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var ae=0,W=0;W<(this||Ft).length;W++){var se=this._zeroBits((this||Ft).words[W]);if(ae+=se,se!==26)break}return ae},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(ae){return(this||Ft).negative!==0?this.abs().inotn(ae).iaddn(1):this.clone()},n.prototype.fromTwos=function(ae){return this.testn(ae-1)?this.notn(ae).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return(this||Ft).negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||((this||Ft).negative^=1),this||Ft},n.prototype.iuor=function(ae){for(;(this||Ft).length<ae.length;)(this||Ft).words[(this||Ft).length++]=0;for(var W=0;W<ae.length;W++)(this||Ft).words[W]=(this||Ft).words[W]|ae.words[W];return this.strip()},n.prototype.ior=function(ae){return r(((this||Ft).negative|ae.negative)==0),this.iuor(ae)},n.prototype.or=function(ae){return(this||Ft).length>ae.length?this.clone().ior(ae):ae.clone().ior(this||Ft)},n.prototype.uor=function(ae){return(this||Ft).length>ae.length?this.clone().iuor(ae):ae.clone().iuor(this||Ft)},n.prototype.iuand=function(ae){var W;W=(this||Ft).length>ae.length?ae:this||Ft;for(var se=0;se<W.length;se++)(this||Ft).words[se]=(this||Ft).words[se]&ae.words[se];return(this||Ft).length=W.length,this.strip()},n.prototype.iand=function(ae){return r(((this||Ft).negative|ae.negative)==0),this.iuand(ae)},n.prototype.and=function(ae){return(this||Ft).length>ae.length?this.clone().iand(ae):ae.clone().iand(this||Ft)},n.prototype.uand=function(ae){return(this||Ft).length>ae.length?this.clone().iuand(ae):ae.clone().iuand(this||Ft)},n.prototype.iuxor=function(ae){var W,se;(this||Ft).length>ae.length?(W=this||Ft,se=ae):(W=ae,se=this||Ft);for(var O=0;O<se.length;O++)(this||Ft).words[O]=W.words[O]^se.words[O];if((this||Ft)!==W)for(;O<W.length;O++)(this||Ft).words[O]=W.words[O];return(this||Ft).length=W.length,this.strip()},n.prototype.ixor=function(ae){return r(((this||Ft).negative|ae.negative)==0),this.iuxor(ae)},n.prototype.xor=function(ae){return(this||Ft).length>ae.length?this.clone().ixor(ae):ae.clone().ixor(this||Ft)},n.prototype.uxor=function(ae){return(this||Ft).length>ae.length?this.clone().iuxor(ae):ae.clone().iuxor(this||Ft)},n.prototype.inotn=function(ae){r(typeof ae=="number"&&ae>=0);var W=0|Math.ceil(ae/26),se=ae%26;this._expand(W),se>0&&W--;for(var O=0;O<W;O++)(this||Ft).words[O]=67108863&~(this||Ft).words[O];return se>0&&((this||Ft).words[O]=~(this||Ft).words[O]&67108863>>26-se),this.strip()},n.prototype.notn=function(ae){return this.clone().inotn(ae)},n.prototype.setn=function(ae,W){r(typeof ae=="number"&&ae>=0);var se=ae/26|0,O=ae%26;return this._expand(se+1),(this||Ft).words[se]=W?(this||Ft).words[se]|1<<O:(this||Ft).words[se]&~(1<<O),this.strip()},n.prototype.iadd=function(ae){var W,se,O;if((this||Ft).negative!==0&&ae.negative===0)return(this||Ft).negative=0,W=this.isub(ae),(this||Ft).negative^=1,this._normSign();if((this||Ft).negative===0&&ae.negative!==0)return ae.negative=0,W=this.isub(ae),ae.negative=1,W._normSign();(this||Ft).length>ae.length?(se=this||Ft,O=ae):(se=ae,O=this||Ft);for(var s=0,l=0;l<O.length;l++)W=(0|se.words[l])+(0|O.words[l])+s,(this||Ft).words[l]=67108863&W,s=W>>>26;for(;s!==0&&l<se.length;l++)W=(0|se.words[l])+s,(this||Ft).words[l]=67108863&W,s=W>>>26;if((this||Ft).length=se.length,s!==0)(this||Ft).words[(this||Ft).length]=s,(this||Ft).length++;else if(se!==(this||Ft))for(;l<se.length;l++)(this||Ft).words[l]=se.words[l];return this||Ft},n.prototype.add=function(ae){var W;return ae.negative!==0&&(this||Ft).negative===0?(ae.negative=0,W=this.sub(ae),ae.negative^=1,W):ae.negative===0&&(this||Ft).negative!==0?((this||Ft).negative=0,W=ae.sub(this||Ft),(this||Ft).negative=1,W):(this||Ft).length>ae.length?this.clone().iadd(ae):ae.clone().iadd(this||Ft)},n.prototype.isub=function(ae){if(ae.negative!==0){ae.negative=0;var W=this.iadd(ae);return ae.negative=1,W._normSign()}if((this||Ft).negative!==0)return(this||Ft).negative=0,this.iadd(ae),(this||Ft).negative=1,this._normSign();var se,O,s=this.cmp(ae);if(s===0)return(this||Ft).negative=0,(this||Ft).length=1,(this||Ft).words[0]=0,this||Ft;s>0?(se=this||Ft,O=ae):(se=ae,O=this||Ft);for(var l=0,A=0;A<O.length;A++)l=(W=(0|se.words[A])-(0|O.words[A])+l)>>26,(this||Ft).words[A]=67108863&W;for(;l!==0&&A<se.length;A++)l=(W=(0|se.words[A])+l)>>26,(this||Ft).words[A]=67108863&W;if(l===0&&A<se.length&&se!==(this||Ft))for(;A<se.length;A++)(this||Ft).words[A]=se.words[A];return(this||Ft).length=Math.max((this||Ft).length,A),se!==(this||Ft)&&((this||Ft).negative=1),this.strip()},n.prototype.sub=function(ae){return this.clone().isub(ae)};var T=function(ae,W,se){var O,s,l,A=ae.words,m=W.words,E=se.words,w=0,x=0|A[0],R=8191&x,u=x>>>13,C=0|A[1],U=8191&C,F=C>>>13,X=0|A[2],Ae=8191&X,he=X>>>13,$e=0|A[3],Ge=8191&$e,Re=$e>>>13,Se=0|A[4],ct=8191&Se,ze=Se>>>13,te=0|A[5],Ue=8191&te,oe=te>>>13,ge=0|A[6],Le=8191&ge,V=ge>>>13,Qe=0|A[7],_t=8191&Qe,rt=Qe>>>13,At=0|A[8],Er=8191&At,mt=At>>>13,Ht=0|A[9],zr=8191&Ht,ve=Ht>>>13,ie=0|m[0],_e=8191&ie,Be=ie>>>13,Ze=0|m[1],$t=8191&Ze,at=Ze>>>13,zt=0|m[2],Hr=8191&zt,St=zt>>>13,Yt=0|m[3],qr=8191&Yt,tr=Yt>>>13,hr=0|m[4],Cn=8191&hr,er=hr>>>13,pr=0|m[5],mn=8191&pr,Xt=pr>>>13,dr=0|m[6],wn=8191&dr,Qt=dr>>>13,fr=0|m[7],In=8191&fr,jt=fr>>>13,ar=0|m[8],ht=8191&ar,Xe=ar>>>13,et=0|m[9],ue=8191&et,je=et>>>13;se.negative=ae.negative^W.negative,se.length=19;var be=(w+(O=Math.imul(R,_e))|0)+((8191&(s=(s=Math.imul(R,Be))+Math.imul(u,_e)|0))<<13)|0;w=((l=Math.imul(u,Be))+(s>>>13)|0)+(be>>>26)|0,be&=67108863,O=Math.imul(U,_e),s=(s=Math.imul(U,Be))+Math.imul(F,_e)|0,l=Math.imul(F,Be);var qe=(w+(O=O+Math.imul(R,$t)|0)|0)+((8191&(s=(s=s+Math.imul(R,at)|0)+Math.imul(u,$t)|0))<<13)|0;w=((l=l+Math.imul(u,at)|0)+(s>>>13)|0)+(qe>>>26)|0,qe&=67108863,O=Math.imul(Ae,_e),s=(s=Math.imul(Ae,Be))+Math.imul(he,_e)|0,l=Math.imul(he,Be),O=O+Math.imul(U,$t)|0,s=(s=s+Math.imul(U,at)|0)+Math.imul(F,$t)|0,l=l+Math.imul(F,at)|0;var De=(w+(O=O+Math.imul(R,Hr)|0)|0)+((8191&(s=(s=s+Math.imul(R,St)|0)+Math.imul(u,Hr)|0))<<13)|0;w=((l=l+Math.imul(u,St)|0)+(s>>>13)|0)+(De>>>26)|0,De&=67108863,O=Math.imul(Ge,_e),s=(s=Math.imul(Ge,Be))+Math.imul(Re,_e)|0,l=Math.imul(Re,Be),O=O+Math.imul(Ae,$t)|0,s=(s=s+Math.imul(Ae,at)|0)+Math.imul(he,$t)|0,l=l+Math.imul(he,at)|0,O=O+Math.imul(U,Hr)|0,s=(s=s+Math.imul(U,St)|0)+Math.imul(F,Hr)|0,l=l+Math.imul(F,St)|0;var Je=(w+(O=O+Math.imul(R,qr)|0)|0)+((8191&(s=(s=s+Math.imul(R,tr)|0)+Math.imul(u,qr)|0))<<13)|0;w=((l=l+Math.imul(u,tr)|0)+(s>>>13)|0)+(Je>>>26)|0,Je&=67108863,O=Math.imul(ct,_e),s=(s=Math.imul(ct,Be))+Math.imul(ze,_e)|0,l=Math.imul(ze,Be),O=O+Math.imul(Ge,$t)|0,s=(s=s+Math.imul(Ge,at)|0)+Math.imul(Re,$t)|0,l=l+Math.imul(Re,at)|0,O=O+Math.imul(Ae,Hr)|0,s=(s=s+Math.imul(Ae,St)|0)+Math.imul(he,Hr)|0,l=l+Math.imul(he,St)|0,O=O+Math.imul(U,qr)|0,s=(s=s+Math.imul(U,tr)|0)+Math.imul(F,qr)|0,l=l+Math.imul(F,tr)|0;var Rt=(w+(O=O+Math.imul(R,Cn)|0)|0)+((8191&(s=(s=s+Math.imul(R,er)|0)+Math.imul(u,Cn)|0))<<13)|0;w=((l=l+Math.imul(u,er)|0)+(s>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,O=Math.imul(Ue,_e),s=(s=Math.imul(Ue,Be))+Math.imul(oe,_e)|0,l=Math.imul(oe,Be),O=O+Math.imul(ct,$t)|0,s=(s=s+Math.imul(ct,at)|0)+Math.imul(ze,$t)|0,l=l+Math.imul(ze,at)|0,O=O+Math.imul(Ge,Hr)|0,s=(s=s+Math.imul(Ge,St)|0)+Math.imul(Re,Hr)|0,l=l+Math.imul(Re,St)|0,O=O+Math.imul(Ae,qr)|0,s=(s=s+Math.imul(Ae,tr)|0)+Math.imul(he,qr)|0,l=l+Math.imul(he,tr)|0,O=O+Math.imul(U,Cn)|0,s=(s=s+Math.imul(U,er)|0)+Math.imul(F,Cn)|0,l=l+Math.imul(F,er)|0;var Vt=(w+(O=O+Math.imul(R,mn)|0)|0)+((8191&(s=(s=s+Math.imul(R,Xt)|0)+Math.imul(u,mn)|0))<<13)|0;w=((l=l+Math.imul(u,Xt)|0)+(s>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,O=Math.imul(Le,_e),s=(s=Math.imul(Le,Be))+Math.imul(V,_e)|0,l=Math.imul(V,Be),O=O+Math.imul(Ue,$t)|0,s=(s=s+Math.imul(Ue,at)|0)+Math.imul(oe,$t)|0,l=l+Math.imul(oe,at)|0,O=O+Math.imul(ct,Hr)|0,s=(s=s+Math.imul(ct,St)|0)+Math.imul(ze,Hr)|0,l=l+Math.imul(ze,St)|0,O=O+Math.imul(Ge,qr)|0,s=(s=s+Math.imul(Ge,tr)|0)+Math.imul(Re,qr)|0,l=l+Math.imul(Re,tr)|0,O=O+Math.imul(Ae,Cn)|0,s=(s=s+Math.imul(Ae,er)|0)+Math.imul(he,Cn)|0,l=l+Math.imul(he,er)|0,O=O+Math.imul(U,mn)|0,s=(s=s+Math.imul(U,Xt)|0)+Math.imul(F,mn)|0,l=l+Math.imul(F,Xt)|0;var br=(w+(O=O+Math.imul(R,wn)|0)|0)+((8191&(s=(s=s+Math.imul(R,Qt)|0)+Math.imul(u,wn)|0))<<13)|0;w=((l=l+Math.imul(u,Qt)|0)+(s>>>13)|0)+(br>>>26)|0,br&=67108863,O=Math.imul(_t,_e),s=(s=Math.imul(_t,Be))+Math.imul(rt,_e)|0,l=Math.imul(rt,Be),O=O+Math.imul(Le,$t)|0,s=(s=s+Math.imul(Le,at)|0)+Math.imul(V,$t)|0,l=l+Math.imul(V,at)|0,O=O+Math.imul(Ue,Hr)|0,s=(s=s+Math.imul(Ue,St)|0)+Math.imul(oe,Hr)|0,l=l+Math.imul(oe,St)|0,O=O+Math.imul(ct,qr)|0,s=(s=s+Math.imul(ct,tr)|0)+Math.imul(ze,qr)|0,l=l+Math.imul(ze,tr)|0,O=O+Math.imul(Ge,Cn)|0,s=(s=s+Math.imul(Ge,er)|0)+Math.imul(Re,Cn)|0,l=l+Math.imul(Re,er)|0,O=O+Math.imul(Ae,mn)|0,s=(s=s+Math.imul(Ae,Xt)|0)+Math.imul(he,mn)|0,l=l+Math.imul(he,Xt)|0,O=O+Math.imul(U,wn)|0,s=(s=s+Math.imul(U,Qt)|0)+Math.imul(F,wn)|0,l=l+Math.imul(F,Qt)|0;var Rr=(w+(O=O+Math.imul(R,In)|0)|0)+((8191&(s=(s=s+Math.imul(R,jt)|0)+Math.imul(u,In)|0))<<13)|0;w=((l=l+Math.imul(u,jt)|0)+(s>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,O=Math.imul(Er,_e),s=(s=Math.imul(Er,Be))+Math.imul(mt,_e)|0,l=Math.imul(mt,Be),O=O+Math.imul(_t,$t)|0,s=(s=s+Math.imul(_t,at)|0)+Math.imul(rt,$t)|0,l=l+Math.imul(rt,at)|0,O=O+Math.imul(Le,Hr)|0,s=(s=s+Math.imul(Le,St)|0)+Math.imul(V,Hr)|0,l=l+Math.imul(V,St)|0,O=O+Math.imul(Ue,qr)|0,s=(s=s+Math.imul(Ue,tr)|0)+Math.imul(oe,qr)|0,l=l+Math.imul(oe,tr)|0,O=O+Math.imul(ct,Cn)|0,s=(s=s+Math.imul(ct,er)|0)+Math.imul(ze,Cn)|0,l=l+Math.imul(ze,er)|0,O=O+Math.imul(Ge,mn)|0,s=(s=s+Math.imul(Ge,Xt)|0)+Math.imul(Re,mn)|0,l=l+Math.imul(Re,Xt)|0,O=O+Math.imul(Ae,wn)|0,s=(s=s+Math.imul(Ae,Qt)|0)+Math.imul(he,wn)|0,l=l+Math.imul(he,Qt)|0,O=O+Math.imul(U,In)|0,s=(s=s+Math.imul(U,jt)|0)+Math.imul(F,In)|0,l=l+Math.imul(F,jt)|0;var Dr=(w+(O=O+Math.imul(R,ht)|0)|0)+((8191&(s=(s=s+Math.imul(R,Xe)|0)+Math.imul(u,ht)|0))<<13)|0;w=((l=l+Math.imul(u,Xe)|0)+(s>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,O=Math.imul(zr,_e),s=(s=Math.imul(zr,Be))+Math.imul(ve,_e)|0,l=Math.imul(ve,Be),O=O+Math.imul(Er,$t)|0,s=(s=s+Math.imul(Er,at)|0)+Math.imul(mt,$t)|0,l=l+Math.imul(mt,at)|0,O=O+Math.imul(_t,Hr)|0,s=(s=s+Math.imul(_t,St)|0)+Math.imul(rt,Hr)|0,l=l+Math.imul(rt,St)|0,O=O+Math.imul(Le,qr)|0,s=(s=s+Math.imul(Le,tr)|0)+Math.imul(V,qr)|0,l=l+Math.imul(V,tr)|0,O=O+Math.imul(Ue,Cn)|0,s=(s=s+Math.imul(Ue,er)|0)+Math.imul(oe,Cn)|0,l=l+Math.imul(oe,er)|0,O=O+Math.imul(ct,mn)|0,s=(s=s+Math.imul(ct,Xt)|0)+Math.imul(ze,mn)|0,l=l+Math.imul(ze,Xt)|0,O=O+Math.imul(Ge,wn)|0,s=(s=s+Math.imul(Ge,Qt)|0)+Math.imul(Re,wn)|0,l=l+Math.imul(Re,Qt)|0,O=O+Math.imul(Ae,In)|0,s=(s=s+Math.imul(Ae,jt)|0)+Math.imul(he,In)|0,l=l+Math.imul(he,jt)|0,O=O+Math.imul(U,ht)|0,s=(s=s+Math.imul(U,Xe)|0)+Math.imul(F,ht)|0,l=l+Math.imul(F,Xe)|0;var Pr=(w+(O=O+Math.imul(R,ue)|0)|0)+((8191&(s=(s=s+Math.imul(R,je)|0)+Math.imul(u,ue)|0))<<13)|0;w=((l=l+Math.imul(u,je)|0)+(s>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,O=Math.imul(zr,$t),s=(s=Math.imul(zr,at))+Math.imul(ve,$t)|0,l=Math.imul(ve,at),O=O+Math.imul(Er,Hr)|0,s=(s=s+Math.imul(Er,St)|0)+Math.imul(mt,Hr)|0,l=l+Math.imul(mt,St)|0,O=O+Math.imul(_t,qr)|0,s=(s=s+Math.imul(_t,tr)|0)+Math.imul(rt,qr)|0,l=l+Math.imul(rt,tr)|0,O=O+Math.imul(Le,Cn)|0,s=(s=s+Math.imul(Le,er)|0)+Math.imul(V,Cn)|0,l=l+Math.imul(V,er)|0,O=O+Math.imul(Ue,mn)|0,s=(s=s+Math.imul(Ue,Xt)|0)+Math.imul(oe,mn)|0,l=l+Math.imul(oe,Xt)|0,O=O+Math.imul(ct,wn)|0,s=(s=s+Math.imul(ct,Qt)|0)+Math.imul(ze,wn)|0,l=l+Math.imul(ze,Qt)|0,O=O+Math.imul(Ge,In)|0,s=(s=s+Math.imul(Ge,jt)|0)+Math.imul(Re,In)|0,l=l+Math.imul(Re,jt)|0,O=O+Math.imul(Ae,ht)|0,s=(s=s+Math.imul(Ae,Xe)|0)+Math.imul(he,ht)|0,l=l+Math.imul(he,Xe)|0;var k=(w+(O=O+Math.imul(U,ue)|0)|0)+((8191&(s=(s=s+Math.imul(U,je)|0)+Math.imul(F,ue)|0))<<13)|0;w=((l=l+Math.imul(F,je)|0)+(s>>>13)|0)+(k>>>26)|0,k&=67108863,O=Math.imul(zr,Hr),s=(s=Math.imul(zr,St))+Math.imul(ve,Hr)|0,l=Math.imul(ve,St),O=O+Math.imul(Er,qr)|0,s=(s=s+Math.imul(Er,tr)|0)+Math.imul(mt,qr)|0,l=l+Math.imul(mt,tr)|0,O=O+Math.imul(_t,Cn)|0,s=(s=s+Math.imul(_t,er)|0)+Math.imul(rt,Cn)|0,l=l+Math.imul(rt,er)|0,O=O+Math.imul(Le,mn)|0,s=(s=s+Math.imul(Le,Xt)|0)+Math.imul(V,mn)|0,l=l+Math.imul(V,Xt)|0,O=O+Math.imul(Ue,wn)|0,s=(s=s+Math.imul(Ue,Qt)|0)+Math.imul(oe,wn)|0,l=l+Math.imul(oe,Qt)|0,O=O+Math.imul(ct,In)|0,s=(s=s+Math.imul(ct,jt)|0)+Math.imul(ze,In)|0,l=l+Math.imul(ze,jt)|0,O=O+Math.imul(Ge,ht)|0,s=(s=s+Math.imul(Ge,Xe)|0)+Math.imul(Re,ht)|0,l=l+Math.imul(Re,Xe)|0;var a=(w+(O=O+Math.imul(Ae,ue)|0)|0)+((8191&(s=(s=s+Math.imul(Ae,je)|0)+Math.imul(he,ue)|0))<<13)|0;w=((l=l+Math.imul(he,je)|0)+(s>>>13)|0)+(a>>>26)|0,a&=67108863,O=Math.imul(zr,qr),s=(s=Math.imul(zr,tr))+Math.imul(ve,qr)|0,l=Math.imul(ve,tr),O=O+Math.imul(Er,Cn)|0,s=(s=s+Math.imul(Er,er)|0)+Math.imul(mt,Cn)|0,l=l+Math.imul(mt,er)|0,O=O+Math.imul(_t,mn)|0,s=(s=s+Math.imul(_t,Xt)|0)+Math.imul(rt,mn)|0,l=l+Math.imul(rt,Xt)|0,O=O+Math.imul(Le,wn)|0,s=(s=s+Math.imul(Le,Qt)|0)+Math.imul(V,wn)|0,l=l+Math.imul(V,Qt)|0,O=O+Math.imul(Ue,In)|0,s=(s=s+Math.imul(Ue,jt)|0)+Math.imul(oe,In)|0,l=l+Math.imul(oe,jt)|0,O=O+Math.imul(ct,ht)|0,s=(s=s+Math.imul(ct,Xe)|0)+Math.imul(ze,ht)|0,l=l+Math.imul(ze,Xe)|0;var S=(w+(O=O+Math.imul(Ge,ue)|0)|0)+((8191&(s=(s=s+Math.imul(Ge,je)|0)+Math.imul(Re,ue)|0))<<13)|0;w=((l=l+Math.imul(Re,je)|0)+(s>>>13)|0)+(S>>>26)|0,S&=67108863,O=Math.imul(zr,Cn),s=(s=Math.imul(zr,er))+Math.imul(ve,Cn)|0,l=Math.imul(ve,er),O=O+Math.imul(Er,mn)|0,s=(s=s+Math.imul(Er,Xt)|0)+Math.imul(mt,mn)|0,l=l+Math.imul(mt,Xt)|0,O=O+Math.imul(_t,wn)|0,s=(s=s+Math.imul(_t,Qt)|0)+Math.imul(rt,wn)|0,l=l+Math.imul(rt,Qt)|0,O=O+Math.imul(Le,In)|0,s=(s=s+Math.imul(Le,jt)|0)+Math.imul(V,In)|0,l=l+Math.imul(V,jt)|0,O=O+Math.imul(Ue,ht)|0,s=(s=s+Math.imul(Ue,Xe)|0)+Math.imul(oe,ht)|0,l=l+Math.imul(oe,Xe)|0;var sn=(w+(O=O+Math.imul(ct,ue)|0)|0)+((8191&(s=(s=s+Math.imul(ct,je)|0)+Math.imul(ze,ue)|0))<<13)|0;w=((l=l+Math.imul(ze,je)|0)+(s>>>13)|0)+(sn>>>26)|0,sn&=67108863,O=Math.imul(zr,mn),s=(s=Math.imul(zr,Xt))+Math.imul(ve,mn)|0,l=Math.imul(ve,Xt),O=O+Math.imul(Er,wn)|0,s=(s=s+Math.imul(Er,Qt)|0)+Math.imul(mt,wn)|0,l=l+Math.imul(mt,Qt)|0,O=O+Math.imul(_t,In)|0,s=(s=s+Math.imul(_t,jt)|0)+Math.imul(rt,In)|0,l=l+Math.imul(rt,jt)|0,O=O+Math.imul(Le,ht)|0,s=(s=s+Math.imul(Le,Xe)|0)+Math.imul(V,ht)|0,l=l+Math.imul(V,Xe)|0;var Lr=(w+(O=O+Math.imul(Ue,ue)|0)|0)+((8191&(s=(s=s+Math.imul(Ue,je)|0)+Math.imul(oe,ue)|0))<<13)|0;w=((l=l+Math.imul(oe,je)|0)+(s>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,O=Math.imul(zr,wn),s=(s=Math.imul(zr,Qt))+Math.imul(ve,wn)|0,l=Math.imul(ve,Qt),O=O+Math.imul(Er,In)|0,s=(s=s+Math.imul(Er,jt)|0)+Math.imul(mt,In)|0,l=l+Math.imul(mt,jt)|0,O=O+Math.imul(_t,ht)|0,s=(s=s+Math.imul(_t,Xe)|0)+Math.imul(rt,ht)|0,l=l+Math.imul(rt,Xe)|0;var Wr=(w+(O=O+Math.imul(Le,ue)|0)|0)+((8191&(s=(s=s+Math.imul(Le,je)|0)+Math.imul(V,ue)|0))<<13)|0;w=((l=l+Math.imul(V,je)|0)+(s>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,O=Math.imul(zr,In),s=(s=Math.imul(zr,jt))+Math.imul(ve,In)|0,l=Math.imul(ve,jt),O=O+Math.imul(Er,ht)|0,s=(s=s+Math.imul(Er,Xe)|0)+Math.imul(mt,ht)|0,l=l+Math.imul(mt,Xe)|0;var ln=(w+(O=O+Math.imul(_t,ue)|0)|0)+((8191&(s=(s=s+Math.imul(_t,je)|0)+Math.imul(rt,ue)|0))<<13)|0;w=((l=l+Math.imul(rt,je)|0)+(s>>>13)|0)+(ln>>>26)|0,ln&=67108863,O=Math.imul(zr,ht),s=(s=Math.imul(zr,Xe))+Math.imul(ve,ht)|0,l=Math.imul(ve,Xe);var yt=(w+(O=O+Math.imul(Er,ue)|0)|0)+((8191&(s=(s=s+Math.imul(Er,je)|0)+Math.imul(mt,ue)|0))<<13)|0;w=((l=l+Math.imul(mt,je)|0)+(s>>>13)|0)+(yt>>>26)|0,yt&=67108863;var ot=(w+(O=Math.imul(zr,ue))|0)+((8191&(s=(s=Math.imul(zr,je))+Math.imul(ve,ue)|0))<<13)|0;return w=((l=Math.imul(ve,je))+(s>>>13)|0)+(ot>>>26)|0,ot&=67108863,E[0]=be,E[1]=qe,E[2]=De,E[3]=Je,E[4]=Rt,E[5]=Vt,E[6]=br,E[7]=Rr,E[8]=Dr,E[9]=Pr,E[10]=k,E[11]=a,E[12]=S,E[13]=sn,E[14]=Lr,E[15]=Wr,E[16]=ln,E[17]=yt,E[18]=ot,w!==0&&(E[19]=w,se.length++),se};function M(ae,W,se){return new D().mulp(ae,W,se)}function D(ae,W){(this||Ft).x=ae,(this||Ft).y=W}Math.imul||(T=N),n.prototype.mulTo=function(ae,W){var se=(this||Ft).length+ae.length;return(this||Ft).length===10&&ae.length===10?T(this||Ft,ae,W):se<63?N(this||Ft,ae,W):se<1024?(function(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=67108863&A,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=(0|O.words[C])*(0|s.words[u]),F=67108863&U;x=67108863&(F=F+x|0),m+=(w=(w=w+(U/67108864|0)|0)+(F>>>26)|0)>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()})(this||Ft,ae,W):M(this||Ft,ae,W)},D.prototype.makeRBT=function(ae){for(var W=new Array(ae),se=n.prototype._countBits(ae)-1,O=0;O<ae;O++)W[O]=this.revBin(O,se,ae);return W},D.prototype.revBin=function(ae,W,se){if(ae===0||ae===se-1)return ae;for(var O=0,s=0;s<W;s++)O|=(1&ae)<<W-s-1,ae>>=1;return O},D.prototype.permute=function(ae,W,se,O,s,l){for(var A=0;A<l;A++)O[A]=W[ae[A]],s[A]=se[ae[A]]},D.prototype.transform=function(ae,W,se,O,s,l){this.permute(l,ae,W,se,O,s);for(var A=1;A<s;A<<=1)for(var m=A<<1,E=Math.cos(2*Math.PI/m),w=Math.sin(2*Math.PI/m),x=0;x<s;x+=m)for(var R=E,u=w,C=0;C<A;C++){var U=se[x+C],F=O[x+C],X=se[x+C+A],Ae=O[x+C+A],he=R*X-u*Ae;Ae=R*Ae+u*X,X=he,se[x+C]=U+X,O[x+C]=F+Ae,se[x+C+A]=U-X,O[x+C+A]=F-Ae,C!==m&&(he=E*R-w*u,u=E*u+w*R,R=he)}},D.prototype.guessLen13b=function(ae,W){var se=1|Math.max(W,ae),O=1&se,s=0;for(se=se/2|0;se;se>>>=1)s++;return 1<<s+1+O},D.prototype.conjugate=function(ae,W,se){if(!(se<=1))for(var O=0;O<se/2;O++){var s=ae[O];ae[O]=ae[se-O-1],ae[se-O-1]=s,s=W[O],W[O]=-W[se-O-1],W[se-O-1]=-s}},D.prototype.normalize13b=function(ae,W){for(var se=0,O=0;O<W/2;O++){var s=8192*Math.round(ae[2*O+1]/W)+Math.round(ae[2*O]/W)+se;ae[O]=67108863&s,se=s<67108864?0:s/67108864|0}return ae},D.prototype.convert13b=function(ae,W,se,O){for(var s=0,l=0;l<W;l++)s+=0|ae[l],se[2*l]=8191&s,s>>>=13,se[2*l+1]=8191&s,s>>>=13;for(l=2*W;l<O;++l)se[l]=0;r(s===0),r((-8192&s)==0)},D.prototype.stub=function(ae){for(var W=new Array(ae),se=0;se<ae;se++)W[se]=0;return W},D.prototype.mulp=function(ae,W,se){var O=2*this.guessLen13b(ae.length,W.length),s=this.makeRBT(O),l=this.stub(O),A=new Array(O),m=new Array(O),E=new Array(O),w=new Array(O),x=new Array(O),R=new Array(O),u=se.words;u.length=O,this.convert13b(ae.words,ae.length,A,O),this.convert13b(W.words,W.length,w,O),this.transform(A,l,m,E,O,s),this.transform(w,l,x,R,O,s);for(var C=0;C<O;C++){var U=m[C]*x[C]-E[C]*R[C];E[C]=m[C]*R[C]+E[C]*x[C],m[C]=U}return this.conjugate(m,E,O),this.transform(m,E,u,l,O,s),this.conjugate(u,l,O),this.normalize13b(u,O),se.negative=ae.negative^W.negative,se.length=ae.length+W.length,se.strip()},n.prototype.mul=function(ae){var W=new n(null);return W.words=new Array((this||Ft).length+ae.length),this.mulTo(ae,W)},n.prototype.mulf=function(ae){var W=new n(null);return W.words=new Array((this||Ft).length+ae.length),M(this||Ft,ae,W)},n.prototype.imul=function(ae){return this.clone().mulTo(ae,this||Ft)},n.prototype.imuln=function(ae){r(typeof ae=="number"),r(ae<67108864);for(var W=0,se=0;se<(this||Ft).length;se++){var O=(0|(this||Ft).words[se])*ae,s=(67108863&O)+(67108863&W);W>>=26,W+=O/67108864|0,W+=s>>>26,(this||Ft).words[se]=67108863&s}return W!==0&&((this||Ft).words[se]=W,(this||Ft).length++),this||Ft},n.prototype.muln=function(ae){return this.clone().imuln(ae)},n.prototype.sqr=function(){return this.mul(this||Ft)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(ae){var W=(function(l){for(var A=new Array(l.bitLength()),m=0;m<A.length;m++){var E=m/26|0,w=m%26;A[m]=(l.words[E]&1<<w)>>>w}return A})(ae);if(W.length===0)return new n(1);for(var se=this||Ft,O=0;O<W.length&&W[O]===0;O++,se=se.sqr());if(++O<W.length)for(var s=se.sqr();O<W.length;O++,s=s.sqr())W[O]!==0&&(se=se.mul(s));return se},n.prototype.iushln=function(ae){r(typeof ae=="number"&&ae>=0);var W,se=ae%26,O=(ae-se)/26,s=67108863>>>26-se<<26-se;if(se!==0){var l=0;for(W=0;W<(this||Ft).length;W++){var A=(this||Ft).words[W]&s,m=(0|(this||Ft).words[W])-A<<se;(this||Ft).words[W]=m|l,l=A>>>26-se}l&&((this||Ft).words[W]=l,(this||Ft).length++)}if(O!==0){for(W=(this||Ft).length-1;W>=0;W--)(this||Ft).words[W+O]=(this||Ft).words[W];for(W=0;W<O;W++)(this||Ft).words[W]=0;(this||Ft).length+=O}return this.strip()},n.prototype.ishln=function(ae){return r((this||Ft).negative===0),this.iushln(ae)},n.prototype.iushrn=function(ae,W,se){var O;r(typeof ae=="number"&&ae>=0),O=W?(W-W%26)/26:0;var s=ae%26,l=Math.min((ae-s)/26,(this||Ft).length),A=67108863^67108863>>>s<<s,m=se;if(O-=l,O=Math.max(0,O),m){for(var E=0;E<l;E++)m.words[E]=(this||Ft).words[E];m.length=l}if(l!==0)if((this||Ft).length>l)for((this||Ft).length-=l,E=0;E<(this||Ft).length;E++)(this||Ft).words[E]=(this||Ft).words[E+l];else(this||Ft).words[0]=0,(this||Ft).length=1;var w=0;for(E=(this||Ft).length-1;E>=0&&(w!==0||E>=O);E--){var x=0|(this||Ft).words[E];(this||Ft).words[E]=w<<26-s|x>>>s,w=x&A}return m&&w!==0&&(m.words[m.length++]=w),(this||Ft).length===0&&((this||Ft).words[0]=0,(this||Ft).length=1),this.strip()},n.prototype.ishrn=function(ae,W,se){return r((this||Ft).negative===0),this.iushrn(ae,W,se)},n.prototype.shln=function(ae){return this.clone().ishln(ae)},n.prototype.ushln=function(ae){return this.clone().iushln(ae)},n.prototype.shrn=function(ae){return this.clone().ishrn(ae)},n.prototype.ushrn=function(ae){return this.clone().iushrn(ae)},n.prototype.testn=function(ae){r(typeof ae=="number"&&ae>=0);var W=ae%26,se=(ae-W)/26,O=1<<W;return!((this||Ft).length<=se)&&!!((this||Ft).words[se]&O)},n.prototype.imaskn=function(ae){r(typeof ae=="number"&&ae>=0);var W=ae%26,se=(ae-W)/26;if(r((this||Ft).negative===0,"imaskn works only with positive numbers"),(this||Ft).length<=se)return this||Ft;if(W!==0&&se++,(this||Ft).length=Math.min(se,(this||Ft).length),W!==0){var O=67108863^67108863>>>W<<W;(this||Ft).words[(this||Ft).length-1]&=O}return this.strip()},n.prototype.maskn=function(ae){return this.clone().imaskn(ae)},n.prototype.iaddn=function(ae){return r(typeof ae=="number"),r(ae<67108864),ae<0?this.isubn(-ae):(this||Ft).negative!==0?(this||Ft).length===1&&(0|(this||Ft).words[0])<ae?((this||Ft).words[0]=ae-(0|(this||Ft).words[0]),(this||Ft).negative=0,this||Ft):((this||Ft).negative=0,this.isubn(ae),(this||Ft).negative=1,this||Ft):this._iaddn(ae)},n.prototype._iaddn=function(ae){(this||Ft).words[0]+=ae;for(var W=0;W<(this||Ft).length&&(this||Ft).words[W]>=67108864;W++)(this||Ft).words[W]-=67108864,W===(this||Ft).length-1?(this||Ft).words[W+1]=1:(this||Ft).words[W+1]++;return(this||Ft).length=Math.max((this||Ft).length,W+1),this||Ft},n.prototype.isubn=function(ae){if(r(typeof ae=="number"),r(ae<67108864),ae<0)return this.iaddn(-ae);if((this||Ft).negative!==0)return(this||Ft).negative=0,this.iaddn(ae),(this||Ft).negative=1,this||Ft;if((this||Ft).words[0]-=ae,(this||Ft).length===1&&(this||Ft).words[0]<0)(this||Ft).words[0]=-(this||Ft).words[0],(this||Ft).negative=1;else for(var W=0;W<(this||Ft).length&&(this||Ft).words[W]<0;W++)(this||Ft).words[W]+=67108864,(this||Ft).words[W+1]-=1;return this.strip()},n.prototype.addn=function(ae){return this.clone().iaddn(ae)},n.prototype.subn=function(ae){return this.clone().isubn(ae)},n.prototype.iabs=function(){return(this||Ft).negative=0,this||Ft},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(ae,W,se){var O,s,l=ae.length+se;this._expand(l);var A=0;for(O=0;O<ae.length;O++){s=(0|(this||Ft).words[O+se])+A;var m=(0|ae.words[O])*W;A=((s-=67108863&m)>>26)-(m/67108864|0),(this||Ft).words[O+se]=67108863&s}for(;O<(this||Ft).length-se;O++)A=(s=(0|(this||Ft).words[O+se])+A)>>26,(this||Ft).words[O+se]=67108863&s;if(A===0)return this.strip();for(r(A===-1),A=0,O=0;O<(this||Ft).length;O++)A=(s=-(0|(this||Ft).words[O])+A)>>26,(this||Ft).words[O]=67108863&s;return(this||Ft).negative=1,this.strip()},n.prototype._wordDiv=function(ae,W){var se=((this||Ft).length,ae.length),O=this.clone(),s=ae,l=0|s.words[s.length-1];(se=26-this._countBits(l))!==0&&(s=s.ushln(se),O.iushln(se),l=0|s.words[s.length-1]);var A,m=O.length-s.length;if(W!=="mod"){(A=new n(null)).length=m+1,A.words=new Array(A.length);for(var E=0;E<A.length;E++)A.words[E]=0}var w=O.clone()._ishlnsubmul(s,1,m);w.negative===0&&(O=w,A&&(A.words[m]=1));for(var x=m-1;x>=0;x--){var R=67108864*(0|O.words[s.length+x])+(0|O.words[s.length+x-1]);for(R=Math.min(R/l|0,67108863),O._ishlnsubmul(s,R,x);O.negative!==0;)R--,O.negative=0,O._ishlnsubmul(s,1,x),O.isZero()||(O.negative^=1);A&&(A.words[x]=R)}return A&&A.strip(),O.strip(),W!=="div"&&se!==0&&O.iushrn(se),{div:A||null,mod:O}},n.prototype.divmod=function(ae,W,se){return r(!ae.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:(this||Ft).negative!==0&&ae.negative===0?(l=this.neg().divmod(ae,W),W!=="mod"&&(O=l.div.neg()),W!=="div"&&(s=l.mod.neg(),se&&s.negative!==0&&s.iadd(ae)),{div:O,mod:s}):(this||Ft).negative===0&&ae.negative!==0?(l=this.divmod(ae.neg(),W),W!=="mod"&&(O=l.div.neg()),{div:O,mod:l.mod}):((this||Ft).negative&ae.negative)!=0?(l=this.neg().divmod(ae.neg(),W),W!=="div"&&(s=l.mod.neg(),se&&s.negative!==0&&s.isub(ae)),{div:l.div,mod:s}):ae.length>(this||Ft).length||this.cmp(ae)<0?{div:new n(0),mod:this||Ft}:ae.length===1?W==="div"?{div:this.divn(ae.words[0]),mod:null}:W==="mod"?{div:null,mod:new n(this.modn(ae.words[0]))}:{div:this.divn(ae.words[0]),mod:new n(this.modn(ae.words[0]))}:this._wordDiv(ae,W);var O,s,l},n.prototype.div=function(ae){return this.divmod(ae,"div",!1).div},n.prototype.mod=function(ae){return this.divmod(ae,"mod",!1).mod},n.prototype.umod=function(ae){return this.divmod(ae,"mod",!0).mod},n.prototype.divRound=function(ae){var W=this.divmod(ae);if(W.mod.isZero())return W.div;var se=W.div.negative!==0?W.mod.isub(ae):W.mod,O=ae.ushrn(1),s=ae.andln(1),l=se.cmp(O);return l<0||s===1&&l===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},n.prototype.modn=function(ae){r(ae<=67108863);for(var W=(1<<26)%ae,se=0,O=(this||Ft).length-1;O>=0;O--)se=(W*se+(0|(this||Ft).words[O]))%ae;return se},n.prototype.idivn=function(ae){r(ae<=67108863);for(var W=0,se=(this||Ft).length-1;se>=0;se--){var O=(0|(this||Ft).words[se])+67108864*W;(this||Ft).words[se]=O/ae|0,W=O%ae}return this.strip()},n.prototype.divn=function(ae){return this.clone().idivn(ae)},n.prototype.egcd=function(ae){r(ae.negative===0),r(!ae.isZero());var W=this||Ft,se=ae.clone();W=W.negative!==0?W.umod(ae):W.clone();for(var O=new n(1),s=new n(0),l=new n(0),A=new n(1),m=0;W.isEven()&&se.isEven();)W.iushrn(1),se.iushrn(1),++m;for(var E=se.clone(),w=W.clone();!W.isZero();){for(var x=0,R=1;(W.words[0]&R)==0&&x<26;++x,R<<=1);if(x>0)for(W.iushrn(x);x-- >0;)(O.isOdd()||s.isOdd())&&(O.iadd(E),s.isub(w)),O.iushrn(1),s.iushrn(1);for(var u=0,C=1;(se.words[0]&C)==0&&u<26;++u,C<<=1);if(u>0)for(se.iushrn(u);u-- >0;)(l.isOdd()||A.isOdd())&&(l.iadd(E),A.isub(w)),l.iushrn(1),A.iushrn(1);W.cmp(se)>=0?(W.isub(se),O.isub(l),s.isub(A)):(se.isub(W),l.isub(O),A.isub(s))}return{a:l,b:A,gcd:se.iushln(m)}},n.prototype._invmp=function(ae){r(ae.negative===0),r(!ae.isZero());var W=this||Ft,se=ae.clone();W=W.negative!==0?W.umod(ae):W.clone();for(var O,s=new n(1),l=new n(0),A=se.clone();W.cmpn(1)>0&&se.cmpn(1)>0;){for(var m=0,E=1;(W.words[0]&E)==0&&m<26;++m,E<<=1);if(m>0)for(W.iushrn(m);m-- >0;)s.isOdd()&&s.iadd(A),s.iushrn(1);for(var w=0,x=1;(se.words[0]&x)==0&&w<26;++w,x<<=1);if(w>0)for(se.iushrn(w);w-- >0;)l.isOdd()&&l.iadd(A),l.iushrn(1);W.cmp(se)>=0?(W.isub(se),s.isub(l)):(se.isub(W),l.isub(s))}return(O=W.cmpn(1)===0?s:l).cmpn(0)<0&&O.iadd(ae),O},n.prototype.gcd=function(ae){if(this.isZero())return ae.abs();if(ae.isZero())return this.abs();var W=this.clone(),se=ae.clone();W.negative=0,se.negative=0;for(var O=0;W.isEven()&&se.isEven();O++)W.iushrn(1),se.iushrn(1);for(;;){for(;W.isEven();)W.iushrn(1);for(;se.isEven();)se.iushrn(1);var s=W.cmp(se);if(s<0){var l=W;W=se,se=l}else if(s===0||se.cmpn(1)===0)break;W.isub(se)}return se.iushln(O)},n.prototype.invm=function(ae){return this.egcd(ae).a.umod(ae)},n.prototype.isEven=function(){return(1&(this||Ft).words[0])==0},n.prototype.isOdd=function(){return(1&(this||Ft).words[0])==1},n.prototype.andln=function(ae){return(this||Ft).words[0]&ae},n.prototype.bincn=function(ae){r(typeof ae=="number");var W=ae%26,se=(ae-W)/26,O=1<<W;if((this||Ft).length<=se)return this._expand(se+1),(this||Ft).words[se]|=O,this||Ft;for(var s=O,l=se;s!==0&&l<(this||Ft).length;l++){var A=0|(this||Ft).words[l];s=(A+=s)>>>26,A&=67108863,(this||Ft).words[l]=A}return s!==0&&((this||Ft).words[l]=s,(this||Ft).length++),this||Ft},n.prototype.isZero=function(){return(this||Ft).length===1&&(this||Ft).words[0]===0},n.prototype.cmpn=function(ae){var W,se=ae<0;if((this||Ft).negative!==0&&!se)return-1;if((this||Ft).negative===0&&se)return 1;if(this.strip(),(this||Ft).length>1)W=1;else{se&&(ae=-ae),r(ae<=67108863,"Number is too big");var O=0|(this||Ft).words[0];W=O===ae?0:O<ae?-1:1}return(this||Ft).negative!==0?0|-W:W},n.prototype.cmp=function(ae){if((this||Ft).negative!==0&&ae.negative===0)return-1;if((this||Ft).negative===0&&ae.negative!==0)return 1;var W=this.ucmp(ae);return(this||Ft).negative!==0?0|-W:W},n.prototype.ucmp=function(ae){if((this||Ft).length>ae.length)return 1;if((this||Ft).length<ae.length)return-1;for(var W=0,se=(this||Ft).length-1;se>=0;se--){var O=0|(this||Ft).words[se],s=0|ae.words[se];if(O!==s){O<s?W=-1:O>s&&(W=1);break}}return W},n.prototype.gtn=function(ae){return this.cmpn(ae)===1},n.prototype.gt=function(ae){return this.cmp(ae)===1},n.prototype.gten=function(ae){return this.cmpn(ae)>=0},n.prototype.gte=function(ae){return this.cmp(ae)>=0},n.prototype.ltn=function(ae){return this.cmpn(ae)===-1},n.prototype.lt=function(ae){return this.cmp(ae)===-1},n.prototype.lten=function(ae){return this.cmpn(ae)<=0},n.prototype.lte=function(ae){return this.cmp(ae)<=0},n.prototype.eqn=function(ae){return this.cmpn(ae)===0},n.prototype.eq=function(ae){return this.cmp(ae)===0},n.red=function(ae){return new le(ae)},n.prototype.toRed=function(ae){return r(!(this||Ft).red,"Already a number in reduction context"),r((this||Ft).negative===0,"red works only with positives"),ae.convertTo(this||Ft)._forceRed(ae)},n.prototype.fromRed=function(){return r((this||Ft).red,"fromRed works only with numbers in reduction context"),(this||Ft).red.convertFrom(this||Ft)},n.prototype._forceRed=function(ae){return(this||Ft).red=ae,this||Ft},n.prototype.forceRed=function(ae){return r(!(this||Ft).red,"Already a number in reduction context"),this._forceRed(ae)},n.prototype.redAdd=function(ae){return r((this||Ft).red,"redAdd works only with red numbers"),(this||Ft).red.add(this||Ft,ae)},n.prototype.redIAdd=function(ae){return r((this||Ft).red,"redIAdd works only with red numbers"),(this||Ft).red.iadd(this||Ft,ae)},n.prototype.redSub=function(ae){return r((this||Ft).red,"redSub works only with red numbers"),(this||Ft).red.sub(this||Ft,ae)},n.prototype.redISub=function(ae){return r((this||Ft).red,"redISub works only with red numbers"),(this||Ft).red.isub(this||Ft,ae)},n.prototype.redShl=function(ae){return r((this||Ft).red,"redShl works only with red numbers"),(this||Ft).red.shl(this||Ft,ae)},n.prototype.redMul=function(ae){return r((this||Ft).red,"redMul works only with red numbers"),(this||Ft).red._verify2(this||Ft,ae),(this||Ft).red.mul(this||Ft,ae)},n.prototype.redIMul=function(ae){return r((this||Ft).red,"redMul works only with red numbers"),(this||Ft).red._verify2(this||Ft,ae),(this||Ft).red.imul(this||Ft,ae)},n.prototype.redSqr=function(){return r((this||Ft).red,"redSqr works only with red numbers"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.sqr(this||Ft)},n.prototype.redISqr=function(){return r((this||Ft).red,"redISqr works only with red numbers"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.isqr(this||Ft)},n.prototype.redSqrt=function(){return r((this||Ft).red,"redSqrt works only with red numbers"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.sqrt(this||Ft)},n.prototype.redInvm=function(){return r((this||Ft).red,"redInvm works only with red numbers"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.invm(this||Ft)},n.prototype.redNeg=function(){return r((this||Ft).red,"redNeg works only with red numbers"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.neg(this||Ft)},n.prototype.redPow=function(ae){return r((this||Ft).red&&!ae.red,"redPow(normalNum)"),(this||Ft).red._verify1(this||Ft),(this||Ft).red.pow(this||Ft,ae)};var P={k256:null,p224:null,p192:null,p25519:null};function G(ae,W){(this||Ft).name=ae,(this||Ft).p=new n(W,16),(this||Ft).n=(this||Ft).p.bitLength(),(this||Ft).k=new n(1).iushln((this||Ft).n).isub((this||Ft).p),(this||Ft).tmp=this._tmp()}function q(){G.call(this||Ft,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function Y(){G.call(this||Ft,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function ne(){G.call(this||Ft,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function ce(){G.call(this||Ft,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function le(ae){if(typeof ae=="string"){var W=n._prime(ae);(this||Ft).m=W.p,(this||Ft).prime=W}else r(ae.gtn(1),"modulus must be greater than 1"),(this||Ft).m=ae,(this||Ft).prime=null}function pe(ae){le.call(this||Ft,ae),(this||Ft).shift=(this||Ft).m.bitLength(),(this||Ft).shift%26!=0&&((this||Ft).shift+=26-(this||Ft).shift%26),(this||Ft).r=new n(1).iushln((this||Ft).shift),(this||Ft).r2=this.imod((this||Ft).r.sqr()),(this||Ft).rinv=(this||Ft).r._invmp((this||Ft).m),(this||Ft).minv=(this||Ft).rinv.mul((this||Ft).r).isubn(1).div((this||Ft).m),(this||Ft).minv=(this||Ft).minv.umod((this||Ft).r),(this||Ft).minv=(this||Ft).r.sub((this||Ft).minv)}G.prototype._tmp=function(){var ae=new n(null);return ae.words=new Array(Math.ceil((this||Ft).n/13)),ae},G.prototype.ireduce=function(ae){var W,se=ae;do this.split(se,(this||Ft).tmp),W=(se=(se=this.imulK(se)).iadd((this||Ft).tmp)).bitLength();while(W>(this||Ft).n);var O=W<(this||Ft).n?-1:se.ucmp((this||Ft).p);return O===0?(se.words[0]=0,se.length=1):O>0?se.isub((this||Ft).p):se.strip(),se},G.prototype.split=function(ae,W){ae.iushrn((this||Ft).n,0,W)},G.prototype.imulK=function(ae){return ae.imul((this||Ft).k)},i(q,G),q.prototype.split=function(ae,W){for(var se=Math.min(ae.length,9),O=0;O<se;O++)W.words[O]=ae.words[O];if(W.length=se,ae.length<=9)return ae.words[0]=0,ae.length=1,void 0;var s=ae.words[9];for(W.words[W.length++]=4194303&s,O=10;O<ae.length;O++){var l=0|ae.words[O];ae.words[O-10]=(4194303&l)<<4|s>>>22,s=l}s>>>=22,ae.words[O-10]=s,s===0&&ae.length>10?ae.length-=10:ae.length-=9},q.prototype.imulK=function(ae){ae.words[ae.length]=0,ae.words[ae.length+1]=0,ae.length+=2;for(var W=0,se=0;se<ae.length;se++){var O=0|ae.words[se];W+=977*O,ae.words[se]=67108863&W,W=64*O+(W/67108864|0)}return ae.words[ae.length-1]===0&&(ae.length--,ae.words[ae.length-1]===0&&ae.length--),ae},i(Y,G),i(ne,G),i(ce,G),ce.prototype.imulK=function(ae){for(var W=0,se=0;se<ae.length;se++){var O=19*(0|ae.words[se])+W,s=67108863&O;O>>>=26,ae.words[se]=s,W=O}return W!==0&&(ae.words[ae.length++]=W),ae},n._prime=function(ae){if(P[ae])return P[ae];var W;if(ae==="k256")W=new q;else if(ae==="p224")W=new Y;else if(ae==="p192")W=new ne;else{if(ae!=="p25519")throw new Error("Unknown prime "+ae);W=new ce}return P[ae]=W,W},le.prototype._verify1=function(ae){r(ae.negative===0,"red works only with positives"),r(ae.red,"red works only with red numbers")},le.prototype._verify2=function(ae,W){r((ae.negative|W.negative)==0,"red works only with positives"),r(ae.red&&ae.red===W.red,"red works only with red numbers")},le.prototype.imod=function(ae){return(this||Ft).prime?(this||Ft).prime.ireduce(ae)._forceRed(this||Ft):ae.umod((this||Ft).m)._forceRed(this||Ft)},le.prototype.neg=function(ae){return ae.isZero()?ae.clone():(this||Ft).m.sub(ae)._forceRed(this||Ft)},le.prototype.add=function(ae,W){this._verify2(ae,W);var se=ae.add(W);return se.cmp((this||Ft).m)>=0&&se.isub((this||Ft).m),se._forceRed(this||Ft)},le.prototype.iadd=function(ae,W){this._verify2(ae,W);var se=ae.iadd(W);return se.cmp((this||Ft).m)>=0&&se.isub((this||Ft).m),se},le.prototype.sub=function(ae,W){this._verify2(ae,W);var se=ae.sub(W);return se.cmpn(0)<0&&se.iadd((this||Ft).m),se._forceRed(this||Ft)},le.prototype.isub=function(ae,W){this._verify2(ae,W);var se=ae.isub(W);return se.cmpn(0)<0&&se.iadd((this||Ft).m),se},le.prototype.shl=function(ae,W){return this._verify1(ae),this.imod(ae.ushln(W))},le.prototype.imul=function(ae,W){return this._verify2(ae,W),this.imod(ae.imul(W))},le.prototype.mul=function(ae,W){return this._verify2(ae,W),this.imod(ae.mul(W))},le.prototype.isqr=function(ae){return this.imul(ae,ae.clone())},le.prototype.sqr=function(ae){return this.mul(ae,ae)},le.prototype.sqrt=function(ae){if(ae.isZero())return ae.clone();var W=(this||Ft).m.andln(3);if(r(W%2==1),W===3){var se=(this||Ft).m.add(new n(1)).iushrn(2);return this.pow(ae,se)}for(var O=(this||Ft).m.subn(1),s=0;!O.isZero()&&O.andln(1)===0;)s++,O.iushrn(1);r(!O.isZero());var l=new n(1).toRed(this||Ft),A=l.redNeg(),m=(this||Ft).m.subn(1).iushrn(1),E=(this||Ft).m.bitLength();for(E=new n(2*E*E).toRed(this||Ft);this.pow(E,m).cmp(A)!==0;)E.redIAdd(A);for(var w=this.pow(E,O),x=this.pow(ae,O.addn(1).iushrn(1)),R=this.pow(ae,O),u=s;R.cmp(l)!==0;){for(var C=R,U=0;C.cmp(l)!==0;U++)C=C.redSqr();r(U<u);var F=this.pow(w,new n(1).iushln(u-U-1));x=x.redMul(F),w=F.redSqr(),R=R.redMul(w),u=U}return x},le.prototype.invm=function(ae){var W=ae._invmp((this||Ft).m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},le.prototype.pow=function(ae,W){if(W.isZero())return new n(1).toRed(this||Ft);if(W.cmpn(1)===0)return ae.clone();var se=new Array(16);se[0]=new n(1).toRed(this||Ft),se[1]=ae;for(var O=2;O<se.length;O++)se[O]=this.mul(se[O-1],ae);var s=se[0],l=0,A=0,m=W.bitLength()%26;for(m===0&&(m=26),O=W.length-1;O>=0;O--){for(var E=W.words[O],w=m-1;w>=0;w--){var x=E>>w&1;s!==se[0]&&(s=this.sqr(s)),x!==0||l!==0?(l<<=1,l|=x,(++A===4||O===0&&w===0)&&(s=this.mul(s,se[l]),A=0,l=0)):A=0}m=26}return s},le.prototype.convertTo=function(ae){var W=ae.umod((this||Ft).m);return W===ae?W.clone():W},le.prototype.convertFrom=function(ae){var W=ae.clone();return W.red=null,W},n.mont=function(ae){return new pe(ae)},i(pe,le),pe.prototype.convertTo=function(ae){return this.imod(ae.ushln((this||Ft).shift))},pe.prototype.convertFrom=function(ae){var W=this.imod(ae.mul((this||Ft).rinv));return W.red=null,W},pe.prototype.imul=function(ae,W){if(ae.isZero()||W.isZero())return ae.words[0]=0,ae.length=1,ae;var se=ae.imul(W),O=se.maskn((this||Ft).shift).mul((this||Ft).minv).imaskn((this||Ft).shift).mul((this||Ft).m),s=se.isub(O).iushrn((this||Ft).shift),l=s;return s.cmp((this||Ft).m)>=0?l=s.isub((this||Ft).m):s.cmpn(0)<0&&(l=s.iadd((this||Ft).m)),l._forceRed(this||Ft)},pe.prototype.mul=function(ae,W){if(ae.isZero()||W.isZero())return new n(0)._forceRed(this||Ft);var se=ae.mul(W),O=se.maskn((this||Ft).shift).mul((this||Ft).minv).imaskn((this||Ft).shift).mul((this||Ft).m),s=se.isub(O).iushrn((this||Ft).shift),l=s;return s.cmp((this||Ft).m)>=0?l=s.isub((this||Ft).m):s.cmpn(0)<0&&(l=s.iadd((this||Ft).m)),l._forceRed(this||Ft)},pe.prototype.invm=function(ae){return this.imod(ae._invmp((this||Ft).m).mul((this||Ft).r2))._forceRed(this||Ft)}})(cqe,sqe);ef=cqe.exports,n4t=Object.freeze({}),Tq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;if((uqe=function(e){return iae||(iae=new ZS(null)),iae.generate(e)}).Rand=ZS,ZS.prototype.generate=function(e){return this._rand(e)},ZS.prototype._rand=function(e){if((this||Tq).rand.getBytes)return(this||Tq).rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=(this||Tq).rand.getByte();return t},typeof self=="object")self.crypto&&self.crypto.getRandomValues?ZS.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?ZS.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window=="object"&&(ZS.prototype._rand=function(){throw new Error("Not implemented yet")});else try{if(oae=n4t,typeof oae.randomBytes!="function")throw new Error("Not supported");ZS.prototype._rand=function(e){return oae.randomBytes(e)}}catch(e){}Due=uqe,fqe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,X8=ef,i4t=Due;dqe=Z8,Z8.create=function(e){return new Z8(e)},Z8.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do var i=new X8((this||fqe).rand.generate(r));while(i.cmp(e)>=0);return i},Z8.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},Z8.prototype.test=function(e,t,r){var i=e.bitLength(),n=X8.mont(e),o=new X8(1).toRed(n);t||(t=Math.max(1,i/48|0));for(var d=e.subn(1),g=0;!d.testn(g);g++);for(var y=e.shrn(g),_=d.toRed(n);t>0;t--){var I=this._randrange(new X8(2),d);r&&r(I);var N=I.toRed(n).redPow(y);if(N.cmp(o)!==0&&N.cmp(_)!==0){for(var T=1;T<g;T++){if((N=N.redSqr()).cmp(o)===0)return!1;if(N.cmp(_)===0)break}if(T===g)return!1}}return!0},Z8.prototype.getDivisor=function(e,t){var r=e.bitLength(),i=X8.mont(e),n=new X8(1).toRed(i);t||(t=Math.max(1,r/48|0));for(var o=e.subn(1),d=0;!o.testn(d);d++);for(var g=e.shrn(d),y=o.toRed(i);t>0;t--){var _=this._randrange(new X8(2),o),I=e.gcd(_);if(I.cmpn(1)!==0)return I;var N=_.toRed(i).redPow(g);if(N.cmp(n)!==0&&N.cmp(y)!==0){for(var T=1;T<d;T++){if((N=N.redSqr()).cmp(n)===0)return N.fromRed().subn(1).gcd(e);if(N.cmp(y)===0)break}if(T===d)return(N=N.redSqr()).fromRed().subn(1).gcd(e)}}return!1};lqe=dqe,o4t=PO;hqe=sae,sae.simpleSieve=nue,sae.fermatTest=iue;Nh=ef,a4t=new Nh(24),pLe=new lqe,s4t=new Nh(1),rue=new Nh(2),c4t=new Nh(5),u4t=(new Nh(16),new Nh(8),new Nh(10)),d4t=new Nh(3),f4t=(new Nh(7),new Nh(11)),gLe=new Nh(4),aae=(new Nh(12),null);pqe=hqe,ks=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Yy=Vo.Buffer,Vg=ef,_Le=new lqe,h4t=new Vg(24),A4t=new Vg(11),p4t=new Vg(10),g4t=new Vg(3),_4t=new Vg(7),mLe=pqe,m4t=PO;Aqe=wv;qG={};Object.defineProperty(wv.prototype,"verifyError",{enumerable:!0,get:function(){return typeof(this||ks)._primeCode!="number"&&((this||ks)._primeCode=(function(e,t){var r=t.toString("hex"),i=[r,e.toString(16)].join("_");if(i in qG)return qG[i];var n,o=0;if(e.isEven()||!mLe.simpleSieve||!mLe.fermatTest(e)||!_Le.test(e))return o+=1,o+=r==="02"||r==="05"?8:4,qG[i]=o,o;switch(_Le.test(e.shrn(1))||(o+=2),r){case"02":e.mod(h4t).cmp(A4t)&&(o+=8);break;case"05":(n=e.mod(p4t)).cmp(g4t)&&n.cmp(_4t)&&(o+=8);break;default:o+=4}return qG[i]=o,o})((this||ks).__prime,(this||ks).__gen)),(this||ks)._primeCode}}),wv.prototype.generateKeys=function(){return(this||ks)._priv||((this||ks)._priv=new Vg(m4t((this||ks)._primeLen))),(this||ks)._pub=(this||ks)._gen.toRed((this||ks)._prime).redPow((this||ks)._priv).fromRed(),this.getPublicKey()},wv.prototype.computeSecret=function(e){var t=(e=(e=new Vg(e)).toRed((this||ks)._prime)).redPow((this||ks)._priv).fromRed(),r=new Yy(t.toArray()),i=this.getPrime();if(r.length<i.length){var n=new Yy(i.length-r.length);n.fill(0),r=Yy.concat([n,r])}return r},wv.prototype.getPublicKey=function(e){return VG((this||ks)._pub,e)},wv.prototype.getPrivateKey=function(e){return VG((this||ks)._priv,e)},wv.prototype.getPrime=function(e){return VG((this||ks).__prime,e)},wv.prototype.getGenerator=function(e){return VG((this||ks)._gen,e)},wv.prototype.setGenerator=function(e,t){return t=t||"utf8",Yy.isBuffer(e)||(e=new Yy(e,t)),(this||ks).__gen=e,(this||ks)._gen=new Vg(e),this||ks};E4t=Aqe,EO={},jS=Vo.Buffer,v4t=pqe,yLe={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},cae=E4t,R4t={binary:!0,hex:!0,base64:!0};EO.DiffieHellmanGroup=EO.createDiffieHellmanGroup=EO.getDiffieHellman=function(e){var t=new jS(yLe[e].prime,"hex"),r=new jS(yLe[e].gen,"hex");return new cae(t,r)},EO.createDiffieHellman=EO.DiffieHellman=function e(t,r,i,n){return jS.isBuffer(r)||R4t[r]===void 0?e(t,"binary",r,i):(r=r||"binary",n=n||"binary",i=i||new jS([2]),jS.isBuffer(i)||(i=new jS(i,n)),typeof t=="number"?new cae(v4t(t,i),i,!0):(jS.isBuffer(t)||(t=new jS(t,r)),new cae(t,i,!0)))};S4t=Vo.Buffer,y6=ef,bLe=PO;gqe=ELe,ELe.getr=_qe;kue=gqe,Pue={},JG=Pue;JG.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e!="string"){for(var i=0;i<e.length;i++)r[i]=0|e[i];return r}if(t==="hex")for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16));else for(i=0;i<e.length;i++){var n=e.charCodeAt(i),o=n>>8,d=255&n;o?r.push(o,d):r.push(d)}return r},JG.zero2=mqe,JG.toHex=vLe,JG.encode=function(e,t){return t==="hex"?vLe(e):e};Q1={},cm=Q1,I4t=ef,C4t=zg,zG=Pue;cm.assert=C4t,cm.toArray=zG.toArray,cm.zero2=zG.zero2,cm.toHex=zG.toHex,cm.encode=zG.encode,cm.getNAF=function(e,t,r){var i=new Array(Math.max(e.bitLength(),r)+1);i.fill(0);for(var n=1<<t+1,o=e.clone(),d=0;d<i.length;d++){var g,y=o.andln(n-1);o.isOdd()?(g=y>(n>>1)-1?(n>>1)-y:y,o.isubn(g)):g=0,i[d]=g,o.iushrn(1)}return i},cm.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i=0,n=0;e.cmpn(-i)>0||t.cmpn(-n)>0;){var o,d,g,y=e.andln(3)+i&3,_=t.andln(3)+n&3;y===3&&(y=-1),_===3&&(_=-1),(1&y)==0?o=0:o=(g=e.andln(7)+i&7)!==3&&g!==5||_!==2?y:-y,r[0].push(o),(1&_)==0?d=0:d=(g=t.andln(7)+n&7)!==3&&g!==5||y!==2?_:-_,r[1].push(d),2*i===o+1&&(i=1-i),2*n===d+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r},cm.cachedProperty=function(e,t,r){var i="_"+t;e.prototype[t]=function(){return this[i]!==void 0?this[i]:this[i]=r.call(this)}},cm.parseBytes=function(e){return typeof e=="string"?cm.toArray(e,"hex"):e},cm.intFromLE=function(e){return new I4t(e,"hex","le")};Qq=ef,oue=Q1,w4t=oue.assert;yqe=Bq,Bq.prototype._importDER=function(e,t){e=oue.toArray(e,t);var r=new O4t;if(e[r.place++]!==48||uae(e,r)+r.place!==e.length||e[r.place++]!==2)return!1;var i=uae(e,r),n=e.slice(r.place,i+r.place);if(r.place+=i,e[r.place++]!==2)return!1;var o=uae(e,r);if(e.length!==o+r.place)return!1;var d=e.slice(r.place,o+r.place);return n[0]===0&&128&n[1]&&(n=n.slice(1)),d[0]===0&&128&d[1]&&(d=d.slice(1)),this.r=new Qq(n),this.s=new Qq(d),this.recoveryParam=null,!0},Bq.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=RLe(t),r=RLe(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];dae(i,t.length),(i=i.concat(t)).push(2),dae(i,r.length);var n=i.concat(r),o=[48];return dae(o,n.length),o=o.concat(n),oue.encode(o,e)};N4t=yqe,Ss={},x4t=zg,T4t=ca;Ss.inherits=T4t,Ss.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e=="string")if(t){if(t==="hex")for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var i=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=63&o|128):B4t(e,n)?(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r},Ss.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=ILe(e[r].toString(16));return t},Ss.htonl=SLe,Ss.toHex32=function(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];t==="little"&&(n=SLe(n)),r+=CLe(n.toString(16))}return r},Ss.zero2=ILe,Ss.zero8=CLe,Ss.join32=function(e,t,r,i){var n=r-t;x4t(n%4==0);for(var o=new Array(n/4),d=0,g=t;d<o.length;d++,g+=4){var y;y=i==="big"?e[g]<<24|e[g+1]<<16|e[g+2]<<8|e[g+3]:e[g+3]<<24|e[g+2]<<16|e[g+1]<<8|e[g],o[d]=y>>>0}return o},Ss.split32=function(e,t){for(var r=new Array(4*e.length),i=0,n=0;i<e.length;i++,n+=4){var o=e[i];t==="big"?(r[n]=o>>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r},Ss.rotr32=function(e,t){return e>>>t|e<<32-t},Ss.rotl32=function(e,t){return e<<t|e>>>32-t},Ss.sum32=function(e,t){return e+t>>>0},Ss.sum32_3=function(e,t,r){return e+t+r>>>0},Ss.sum32_4=function(e,t,r,i){return e+t+r+i>>>0},Ss.sum32_5=function(e,t,r,i,n){return e+t+r+i+n>>>0},Ss.sum64=function(e,t,r,i){var n=e[t],o=i+e[t+1]>>>0,d=(o<i?1:0)+r+n;e[t]=d>>>0,e[t+1]=o},Ss.sum64_hi=function(e,t,r,i){return(t+i>>>0<t?1:0)+e+r>>>0},Ss.sum64_lo=function(e,t,r,i){return t+i>>>0},Ss.sum64_4_hi=function(e,t,r,i,n,o,d,g){var y=0,_=t;return y+=(_=_+i>>>0)<t?1:0,y+=(_=_+o>>>0)<o?1:0,e+r+n+d+(y+=(_=_+g>>>0)<g?1:0)>>>0},Ss.sum64_4_lo=function(e,t,r,i,n,o,d,g){return t+i+o+g>>>0},Ss.sum64_5_hi=function(e,t,r,i,n,o,d,g,y,_){var I=0,N=t;return I+=(N=N+i>>>0)<t?1:0,I+=(N=N+o>>>0)<o?1:0,I+=(N=N+g>>>0)<g?1:0,e+r+n+d+y+(I+=(N=N+_>>>0)<_?1:0)>>>0},Ss.sum64_5_lo=function(e,t,r,i,n,o,d,g,y,_){return t+i+o+g+_>>>0},Ss.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},Ss.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},Ss.shr64_hi=function(e,t,r){return e>>>r},Ss.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0};UO={},wLe=Ss,M4t=zg;UO.BlockHash=KG,KG.prototype.update=function(e,t){if(e=wLe.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),this.pending.length===0&&(this.pending=null),e=wLe.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},KG.prototype.digest=function(e){return this.update(this._pad()),M4t(this.pending===null),this._digest(e)},KG.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(e<<=3,this.endian==="big"){for(var o=8;o<this.padLength;o++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=e>>>24&255,i[n++]=e>>>16&255,i[n++]=e>>>8&255,i[n++]=255&e}else for(i[n++]=255&e,i[n++]=e>>>8&255,i[n++]=e>>>16&255,i[n++]=e>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o<this.padLength;o++)i[n++]=0;return i};wp=Ss,D4t=UO,k4t=zg,Wy=wp.rotr64_hi,Xy=wp.rotr64_lo,Eqe=wp.shr64_hi,vqe=wp.shr64_lo,e6=wp.sum64,fae=wp.sum64_hi,lae=wp.sum64_lo,P4t=wp.sum64_4_hi,L4t=wp.sum64_4_lo,U4t=wp.sum64_5_hi,F4t=wp.sum64_5_lo,Rqe=D4t.BlockHash,Q4t=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];wp.inherits(hm,Rqe),bqe=hm,hm.blockSize=1024,hm.outSize=512,hm.hmacStrength=192,hm.padLength=128,hm.prototype._prepareBlock=function(e,t){for(var r=this.W,i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=X4t(r[i-4],r[i-3]),o=Z4t(r[i-4],r[i-3]),d=r[i-14],g=r[i-13],y=Y4t(r[i-30],r[i-29]),_=W4t(r[i-30],r[i-29]),I=r[i-32],N=r[i-31];r[i]=P4t(n,o,d,g,y,_,I,N),r[i+1]=L4t(n,o,d,g,y,_,I,N)}},hm.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,i=this.h[0],n=this.h[1],o=this.h[2],d=this.h[3],g=this.h[4],y=this.h[5],_=this.h[6],I=this.h[7],N=this.h[8],T=this.h[9],M=this.h[10],D=this.h[11],P=this.h[12],G=this.h[13],q=this.h[14],Y=this.h[15];k4t(this.k.length===r.length);for(var ne=0;ne<r.length;ne+=2){var ce=q,le=Y,pe=K4t(N,T),ae=$4t(N,T),W=H4t(N,T,M,D,P),se=G4t(N,T,M,D,P,G),O=this.k[ne],s=this.k[ne+1],l=r[ne],A=r[ne+1],m=U4t(ce,le,pe,ae,W,se,O,s,l,A),E=F4t(ce,le,pe,ae,W,se,O,s,l,A);ce=J4t(i,n),le=z4t(i,n),pe=q4t(i,n,o,d,g),ae=V4t(i,n,o,d,g,y);var w=fae(ce,le,pe,ae),x=lae(ce,le,pe,ae);q=P,Y=G,P=M,G=D,M=N,D=T,N=fae(_,I,m,E),T=lae(I,I,m,E),_=g,I=y,g=o,y=d,o=i,d=n,i=fae(m,E,w,x),n=lae(m,E,w,x)}e6(this.h,0,i,n),e6(this.h,2,o,d),e6(this.h,4,g,y),e6(this.h,6,_,I),e6(this.h,8,N,T),e6(this.h,10,M,D),e6(this.h,12,P,G),e6(this.h,14,q,Y)},hm.prototype._digest=function(e){return e==="hex"?wp.toHex32(this.h,"big"):wp.split32(this.h,"big")};Sqe=bqe,Vy={},Qy=Ss.rotr32;Vy.ft_1=function(e,t,r,i){return e===0?OLe(t,r,i):e===1||e===3?xLe(t,r,i):e===2?NLe(t,r,i):void 0},Vy.ch32=OLe,Vy.maj32=NLe,Vy.p32=xLe,Vy.s0_256=function(e){return Qy(e,2)^Qy(e,13)^Qy(e,22)},Vy.s1_256=function(e){return Qy(e,6)^Qy(e,11)^Qy(e,25)},Vy.g0_256=function(e){return Qy(e,7)^Qy(e,18)^e>>>3},Vy.g1_256=function(e){return Qy(e,17)^Qy(e,19)^e>>>10};CO=Ss,j4t=UO,FO=Vy,eCt=zg,um=CO.sum32,tCt=CO.sum32_4,rCt=CO.sum32_5,nCt=FO.ch32,iCt=FO.maj32,oCt=FO.s0_256,aCt=FO.s1_256,sCt=FO.g0_256,cCt=FO.g1_256,Cqe=j4t.BlockHash,uCt=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];CO.inherits(Jy,Cqe),Iqe=Jy,Jy.blockSize=512,Jy.outSize=256,Jy.hmacStrength=192,Jy.padLength=64,Jy.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=tCt(cCt(r[i-2]),r[i-7],sCt(r[i-15]),r[i-16]);var n=this.h[0],o=this.h[1],d=this.h[2],g=this.h[3],y=this.h[4],_=this.h[5],I=this.h[6],N=this.h[7];for(eCt(this.k.length===r.length),i=0;i<r.length;i++){var T=rCt(N,aCt(y),nCt(y,_,I),this.k[i],r[i]),M=um(oCt(n),iCt(n,o,d));N=I,I=_,_=y,y=um(g,T),g=d,d=o,o=n,n=um(T,M)}this.h[0]=um(this.h[0],n),this.h[1]=um(this.h[1],o),this.h[2]=um(this.h[2],d),this.h[3]=um(this.h[3],g),this.h[4]=um(this.h[4],y),this.h[5]=um(this.h[5],_),this.h[6]=um(this.h[6],I),this.h[7]=um(this.h[7],N)},Jy.prototype._digest=function(e){return e==="hex"?CO.toHex32(this.h,"big"):CO.split32(this.h,"big")};wqe=Iqe,wO=Ss,dCt=UO,fCt=Vy,hae=wO.rotl32,ZM=wO.sum32,lCt=wO.sum32_5,hCt=fCt.ft_1,Nqe=dCt.BlockHash,ACt=[1518500249,1859775393,2400959708,3395469782];wO.inherits(zy,Nqe),Oqe=zy,zy.blockSize=512,zy.outSize=160,zy.hmacStrength=80,zy.padLength=64,zy.prototype._update=function(e,t){for(var r=this.W,i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=hae(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],o=this.h[1],d=this.h[2],g=this.h[3],y=this.h[4];for(i=0;i<r.length;i++){var _=~~(i/20),I=lCt(hae(n,5),hCt(_,o,d,g),y,r[i],ACt[_]);y=g,g=d,d=hae(o,30),o=n,n=I}this.h[0]=ZM(this.h[0],n),this.h[1]=ZM(this.h[1],o),this.h[2]=ZM(this.h[2],d),this.h[3]=ZM(this.h[3],g),this.h[4]=ZM(this.h[4],y)},zy.prototype._digest=function(e){return e==="hex"?wO.toHex32(this.h,"big"):wO.split32(this.h,"big")};pCt=Oqe,Aae=Ss,Tqe=wqe;Aae.inherits(Nv,Tqe),xqe=Nv,Nv.blockSize=512,Nv.outSize=224,Nv.hmacStrength=192,Nv.padLength=64,Nv.prototype._digest=function(e){return e==="hex"?Aae.toHex32(this.h.slice(0,7),"big"):Aae.split32(this.h.slice(0,7),"big")};gCt=xqe,pae=Ss,Mqe=Sqe;pae.inherits(xv,Mqe),Bqe=xv,xv.blockSize=1024,xv.outSize=384,xv.hmacStrength=192,xv.padLength=128,xv.prototype._digest=function(e){return e==="hex"?pae.toHex32(this.h.slice(0,12),"big"):pae.split32(this.h.slice(0,12),"big")};_Ct=Bqe,vO={};vO.sha1=pCt,vO.sha224=gCt,vO.sha256=wqe,vO.sha384=_Ct,vO.sha512=Sqe;Dqe={},y4=Ss,mCt=UO,$G=y4.rotl32,TLe=y4.sum32,jM=y4.sum32_3,BLe=y4.sum32_4,kqe=mCt.BlockHash;y4.inherits(Ky,kqe),Dqe.ripemd160=Ky,Ky.blockSize=512,Ky.outSize=160,Ky.hmacStrength=192,Ky.padLength=64,Ky.prototype._update=function(e,t){for(var r=this.h[0],i=this.h[1],n=this.h[2],o=this.h[3],d=this.h[4],g=r,y=i,_=n,I=o,N=d,T=0;T<80;T++){var M=TLe($G(BLe(r,MLe(T,i,n,o),e[ECt[T]+t],yCt(T)),RCt[T]),d);r=d,d=o,o=$G(n,10),n=i,i=M,M=TLe($G(BLe(g,MLe(79-T,y,_,I),e[vCt[T]+t],bCt(T)),SCt[T]),N),g=N,N=I,I=$G(_,10),_=y,y=M}M=jM(this.h[1],n,I),this.h[1]=jM(this.h[2],o,N),this.h[2]=jM(this.h[3],d,g),this.h[3]=jM(this.h[4],r,y),this.h[4]=jM(this.h[0],i,_),this.h[0]=M},Ky.prototype._digest=function(e){return e==="hex"?y4.toHex32(this.h,"little"):y4.split32(this.h,"little")};ECt=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],vCt=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],RCt=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],SCt=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],ICt=Ss,CCt=zg;Pqe=RO,RO.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),CCt(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=new this.Hash().update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},RO.prototype.update=function(e,t){return this.inner.update(e,t),this},RO.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)};wCt=Pqe,tV={},Ql=tV;Ql.utils=Ss,Ql.common=UO,Ql.sha=vO,Ql.ripemd=Dqe,Ql.hmac=wCt,Ql.sha1=Ql.sha.sha1,Ql.sha256=Ql.sha.sha256,Ql.sha224=Ql.sha.sha224,Ql.sha384=Ql.sha.sha384,Ql.sha512=Ql.sha.sha512,Ql.ripemd160=Ql.ripemd.ripemd160;OCt=tV,_4=Pue,Uqe=zg;Lqe=b6,b6.prototype._init=function(e,t,r){var i=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},b6.prototype._hmac=function(){return new OCt.hmac(this.hash,this.K)},b6.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},b6.prototype.reseed=function(e,t,r,i){typeof t!="string"&&(i=r,r=t,t=null),e=_4.toArray(e,t),r=_4.toArray(r,i),Uqe(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},b6.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(i=r,r=t,t=null),r&&(r=_4.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<e;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var o=n.slice(0,e);return this._update(r),this._reseed++,_4.encode(o,t)};NCt=Lqe,j8=ef,wD=Q1,YG=wD.getNAF,xCt=wD.getJSF,WG=wD.assert;Fqe=t6,t6.prototype.point=function(){throw new Error("Not implemented")},t6.prototype.validate=function(){throw new Error("Not implemented")},t6.prototype._fixedNafMul=function(e,t){WG(e.precomputed);var r=e._getDoubles(),i=YG(t,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;for(var o=[],d=0;d<i.length;d+=r.step){var g=0;for(t=d+r.step-1;t>=d;t--)g=(g<<1)+i[t];o.push(g)}for(var y=this.jpoint(null,null,null),_=this.jpoint(null,null,null),I=n;I>0;I--){for(d=0;d<o.length;d++)(g=o[d])===I?_=_.mixedAdd(r.points[d]):g===-I&&(_=_.mixedAdd(r.points[d].neg()));y=y.add(_)}return y.toP()},t6.prototype._wnafMul=function(e,t){var r=4,i=e._getNAFPoints(r);r=i.wnd;for(var n=i.points,o=YG(t,r,this._bitLength),d=this.jpoint(null,null,null),g=o.length-1;g>=0;g--){for(t=0;g>=0&&o[g]===0;g--)t++;if(g>=0&&t++,d=d.dblp(t),g<0)break;var y=o[g];WG(y!==0),d=e.type==="affine"?y>0?d.mixedAdd(n[y-1>>1]):d.mixedAdd(n[-y-1>>1].neg()):y>0?d.add(n[y-1>>1]):d.add(n[-y-1>>1].neg())}return e.type==="affine"?d.toP():d},t6.prototype._wnafMulAdd=function(e,t,r,i,n){for(var o=this._wnafT1,d=this._wnafT2,g=this._wnafT3,y=0,_=0;_<i;_++){var I=(ae=t[_])._getNAFPoints(e);o[_]=I.wnd,d[_]=I.points}for(_=i-1;_>=1;_-=2){var N=_-1,T=_;if(o[N]===1&&o[T]===1){var M=[t[N],null,null,t[T]];t[N].y.cmp(t[T].y)===0?(M[1]=t[N].add(t[T]),M[2]=t[N].toJ().mixedAdd(t[T].neg())):t[N].y.cmp(t[T].y.redNeg())===0?(M[1]=t[N].toJ().mixedAdd(t[T]),M[2]=t[N].add(t[T].neg())):(M[1]=t[N].toJ().mixedAdd(t[T]),M[2]=t[N].toJ().mixedAdd(t[T].neg()));var D=[-3,-1,-5,-7,0,7,5,1,3],P=xCt(r[N],r[T]);y=Math.max(P[0].length,y),g[N]=new Array(y),g[T]=new Array(y);for(var G=0;G<y;G++){var q=0|P[0][G],Y=0|P[1][G];g[N][G]=D[3*(q+1)+(Y+1)],g[T][G]=0,d[N]=M}}else g[N]=YG(r[N],o[N],this._bitLength),g[T]=YG(r[T],o[T],this._bitLength),y=Math.max(g[N].length,y),y=Math.max(g[T].length,y)}var ne=this.jpoint(null,null,null),ce=this._wnafT4;for(_=y;_>=0;_--){for(var le=0;_>=0;){var pe=!0;for(G=0;G<i;G++)ce[G]=0|g[G][_],ce[G]!==0&&(pe=!1);if(!pe)break;le++,_--}if(_>=0&&le++,ne=ne.dblp(le),_<0)break;for(G=0;G<i;G++){var ae,W=ce[G];W!==0&&(W>0?ae=d[G][W-1>>1]:W<0&&(ae=d[G][-W-1>>1].neg()),ne=ae.type==="affine"?ne.mixedAdd(ae):ne.add(ae))}}for(_=0;_<i;_++)d[_]=null;return n?ne:ne.toP()},t6.BasePoint=Pg,Pg.prototype.eq=function(){throw new Error("Not implemented")},Pg.prototype.validate=function(){return this.curve.validate(this)},t6.prototype.decodePoint=function(e,t){e=wD.toArray(e,t);var r=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1==2*r)return e[0]===6?WG(e[e.length-1]%2==0):e[0]===7&&WG(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((e[0]===2||e[0]===3)&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),e[0]===3);throw new Error("Unknown point format")},Pg.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Pg.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},Pg.prototype.encode=function(e,t){return wD.encode(this._encode(t),e)},Pg.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},Pg.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},Pg.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<t;n+=e){for(var o=0;o<e;o++)i=i.dbl();r.push(i)}return{step:e,points:r}},Pg.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,i=r===1?null:this.dbl(),n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}},Pg.prototype._getBeta=function(){return null},Pg.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};rV=Fqe,ad=ef,gae=ca,OO=rV,TCt=Q1.assert;gae(Lg,OO),Qqe=Lg,Lg.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&this.p.modn(3)===1){var t,r;if(e.beta)t=new ad(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)r=new ad(e.lambda,16);else{var n=this._getEndoRoots(this.n);this.g.mul(n[0]).x.cmp(this.g.x.redMul(t))===0?r=n[0]:(r=n[1],TCt(this.g.mul(r).x.cmp(this.g.x.redMul(t))===0))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(o){return{a:new ad(o.a,16),b:new ad(o.b,16)}})):this._getEndoBasis(r)}}},Lg.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:ad.mont(e),r=new ad(2).toRed(t).redInvm(),i=r.redNeg(),n=new ad(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},Lg.prototype._getEndoBasis=function(e){for(var t,r,i,n,o,d,g,y,_,I=this.n.ushrn(Math.floor(this.n.bitLength()/2)),N=e,T=this.n.clone(),M=new ad(1),D=new ad(0),P=new ad(0),G=new ad(1),q=0;N.cmpn(0)!==0;){var Y=T.div(N);y=T.sub(Y.mul(N)),_=P.sub(Y.mul(M));var ne=G.sub(Y.mul(D));if(!i&&y.cmp(I)<0)t=g.neg(),r=M,i=y.neg(),n=_;else if(i&&++q==2)break;g=y,T=N,N=y,P=M,M=_,G=D,D=ne}o=y.neg(),d=_;var ce=i.sqr().add(n.sqr());return o.sqr().add(d.sqr()).cmp(ce)>=0&&(o=t,d=r),i.negative&&(i=i.neg(),n=n.neg()),o.negative&&(o=o.neg(),d=d.neg()),[{a:i,b:n},{a:o,b:d}]},Lg.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],i=t[1],n=i.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),d=n.mul(r.a),g=o.mul(i.a),y=n.mul(r.b),_=o.mul(i.b);return{k1:e.sub(d).sub(g),k2:y.add(_).neg()}},Lg.prototype.pointFromX=function(e,t){(e=new ad(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(i.redSqr().redSub(r).cmp(this.zero)!==0)throw new Error("invalid point");var n=i.fromRed().isOdd();return(t&&!n||!t&&n)&&(i=i.redNeg()),this.point(e,i)},Lg.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,i=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return r.redSqr().redISub(n).cmpn(0)===0},Lg.prototype._endoWnafMulAdd=function(e,t,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o<e.length;o++){var d=this._endoSplit(t[o]),g=e[o],y=g._getBeta();d.k1.negative&&(d.k1.ineg(),g=g.neg(!0)),d.k2.negative&&(d.k2.ineg(),y=y.neg(!0)),i[2*o]=g,i[2*o+1]=y,n[2*o]=d.k1,n[2*o+1]=d.k2}for(var _=this._wnafMulAdd(1,i,n,2*o,r),I=0;I<2*o;I++)i[I]=null,n[I]=null;return _},gae(el,OO.BasePoint),Lg.prototype.point=function(e,t,r){return new el(this,e,t,r)},Lg.prototype.pointFromJSON=function(e,t){return el.fromJSON(this,e,t)},el.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,i=function(n){return r.point(n.x.redMul(r.endo.beta),n.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(i)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(i)}}}return t}},el.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},el.fromJSON=function(e,t,r){typeof t=="string"&&(t=JSON.parse(t));var i=e.point(t[0],t[1],r);if(!t[2])return i;function n(d){return e.point(d[0],d[1],r)}var o=t[2];return i.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[i].concat(o.doubles.points.map(n))},naf:o.naf&&{wnd:o.naf.wnd,points:[i].concat(o.naf.points.map(n))}},i},el.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},el.prototype.isInfinity=function(){return this.inf},el.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},el.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),i=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),d=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,d)},el.prototype.getX=function(){return this.x.fromRed()},el.prototype.getY=function(){return this.y.fromRed()},el.prototype.mul=function(e){return e=new ad(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},el.prototype.mulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},el.prototype.jmulAdd=function(e,t,r){var i=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},el.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},el.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,i=function(n){return n.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return t},el.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},gae(Hl,OO.BasePoint),Lg.prototype.jpoint=function(e,t,r){return new Hl(this,e,t,r)},Hl.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)},Hl.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Hl.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(t),n=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),d=e.y.redMul(r.redMul(this.z)),g=i.redSub(n),y=o.redSub(d);if(g.cmpn(0)===0)return y.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var _=g.redSqr(),I=_.redMul(g),N=i.redMul(_),T=y.redSqr().redIAdd(I).redISub(N).redISub(N),M=y.redMul(N.redISub(T)).redISub(o.redMul(I)),D=this.z.redMul(e.z).redMul(g);return this.curve.jpoint(T,M,D)},Hl.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,i=e.x.redMul(t),n=this.y,o=e.y.redMul(t).redMul(this.z),d=r.redSub(i),g=n.redSub(o);if(d.cmpn(0)===0)return g.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var y=d.redSqr(),_=y.redMul(d),I=r.redMul(y),N=g.redSqr().redIAdd(_).redISub(I).redISub(I),T=g.redMul(I.redISub(N)).redISub(n.redMul(_)),M=this.z.redMul(d);return this.curve.jpoint(N,T,M)},Hl.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,o=this.x,d=this.y,g=this.z,y=g.redSqr().redSqr(),_=d.redAdd(d);for(r=0;r<e;r++){var I=o.redSqr(),N=_.redSqr(),T=N.redSqr(),M=I.redAdd(I).redIAdd(I).redIAdd(i.redMul(y)),D=o.redMul(N),P=M.redSqr().redISub(D.redAdd(D)),G=D.redISub(P),q=M.redMul(G);q=q.redIAdd(q).redISub(T);var Y=_.redMul(g);r+1<e&&(y=y.redMul(T)),o=P,g=Y,_=q}return this.curve.jpoint(o,_.redMul(n),g)},Hl.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Hl.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),d=this.x.redAdd(n).redSqr().redISub(i).redISub(o);d=d.redIAdd(d);var g=i.redAdd(i).redIAdd(i),y=g.redSqr().redISub(d).redISub(d),_=o.redIAdd(o);_=(_=_.redIAdd(_)).redIAdd(_),e=y,t=g.redMul(d.redISub(y)).redISub(_),r=this.y.redAdd(this.y)}else{var I=this.x.redSqr(),N=this.y.redSqr(),T=N.redSqr(),M=this.x.redAdd(N).redSqr().redISub(I).redISub(T);M=M.redIAdd(M);var D=I.redAdd(I).redIAdd(I),P=D.redSqr(),G=T.redIAdd(T);G=(G=G.redIAdd(G)).redIAdd(G),e=P.redISub(M).redISub(M),t=D.redMul(M.redISub(e)).redISub(G),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},Hl.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),d=this.x.redAdd(n).redSqr().redISub(i).redISub(o);d=d.redIAdd(d);var g=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),y=g.redSqr().redISub(d).redISub(d);e=y;var _=o.redIAdd(o);_=(_=_.redIAdd(_)).redIAdd(_),t=g.redMul(d.redISub(y)).redISub(_),r=this.y.redAdd(this.y)}else{var I=this.z.redSqr(),N=this.y.redSqr(),T=this.x.redMul(N),M=this.x.redSub(I).redMul(this.x.redAdd(I));M=M.redAdd(M).redIAdd(M);var D=T.redIAdd(T),P=(D=D.redIAdd(D)).redAdd(D);e=M.redSqr().redISub(P),r=this.y.redAdd(this.z).redSqr().redISub(N).redISub(I);var G=N.redSqr();G=(G=(G=G.redIAdd(G)).redIAdd(G)).redIAdd(G),t=M.redMul(D.redISub(e)).redISub(G)}return this.curve.jpoint(e,t,r)},Hl.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),o=t.redSqr(),d=r.redSqr(),g=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(n)),y=t.redAdd(t),_=(y=y.redIAdd(y)).redMul(d),I=g.redSqr().redISub(_.redAdd(_)),N=_.redISub(I),T=d.redSqr();T=(T=(T=T.redIAdd(T)).redIAdd(T)).redIAdd(T);var M=g.redMul(N).redISub(T),D=r.redAdd(r).redMul(i);return this.curve.jpoint(I,M,D)},Hl.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),i=t.redSqr(),n=e.redAdd(e).redIAdd(e),o=n.redSqr(),d=this.x.redAdd(t).redSqr().redISub(e).redISub(i),g=(d=(d=(d=d.redIAdd(d)).redAdd(d).redIAdd(d)).redISub(o)).redSqr(),y=i.redIAdd(i);y=(y=(y=y.redIAdd(y)).redIAdd(y)).redIAdd(y);var _=n.redIAdd(d).redSqr().redISub(o).redISub(g).redISub(y),I=t.redMul(_);I=(I=I.redIAdd(I)).redIAdd(I);var N=this.x.redMul(g).redISub(I);N=(N=N.redIAdd(N)).redIAdd(N);var T=this.y.redMul(_.redMul(y.redISub(_)).redISub(d.redMul(g)));T=(T=(T=T.redIAdd(T)).redIAdd(T)).redIAdd(T);var M=this.z.redAdd(d).redSqr().redISub(r).redISub(g);return this.curve.jpoint(N,T,M)},Hl.prototype.mul=function(e,t){return e=new ad(e,t),this.curve._wnafMul(this,e)},Hl.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var i=t.redMul(this.z),n=r.redMul(e.z);return this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)===0},Hl.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(r)===0)return!0;for(var i=e.clone(),n=this.curve.redN.redMul(t);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),this.x.cmp(r)===0)return!0}},Hl.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Hl.prototype.isInfinity=function(){return this.z.cmpn(0)===0};BCt=Qqe,SO=ef,DLe=ca,Hq=rV,MCt=Q1;DLe(AO,Hq),Hqe=AO,AO.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return i.redSqrt().redSqr().cmp(i)===0},DLe(tl,Hq.BasePoint),AO.prototype.decodePoint=function(e,t){return this.point(MCt.toArray(e,t),1)},AO.prototype.point=function(e,t){return new tl(this,e,t)},AO.prototype.pointFromJSON=function(e){return tl.fromJSON(this,e)},tl.prototype.precompute=function(){},tl.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},tl.fromJSON=function(e,t){return new tl(e,t[0],t[1]||e.one)},tl.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},tl.prototype.isInfinity=function(){return this.z.cmpn(0)===0},tl.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),i=e.redMul(t),n=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},tl.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},tl.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),d=n.redMul(i),g=t.z.redMul(o.redAdd(d).redSqr()),y=t.x.redMul(o.redISub(d).redSqr());return this.curve.point(g,y)},tl.prototype.mul=function(e){for(var t=e.clone(),r=this,i=this.curve.point(null,null),n=[];t.cmpn(0)!==0;t.iushrn(1))n.push(t.andln(1));for(var o=n.length-1;o>=0;o--)n[o]===0?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},tl.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},tl.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},tl.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},tl.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},tl.prototype.getX=function(){return this.normalize(),this.x.fromRed()};DCt=Hqe,Mv=ef,kLe=ca,Gq=rV,kCt=Q1.assert;kLe(Hy,Gq),Gqe=Hy,Hy.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},Hy.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},Hy.prototype.jpoint=function(e,t,r,i){return this.point(e,t,r,i)},Hy.prototype.pointFromX=function(e,t){(e=new Mv(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(n.redInvm()),d=o.redSqrt();if(d.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");var g=d.fromRed().isOdd();return(t&&!g||!t&&g)&&(d=d.redNeg()),this.point(e,d)},Hy.prototype.pointFromY=function(e,t){(e=new Mv(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(n.redInvm());if(o.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var d=o.redSqrt();if(d.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");return d.fromRed().isOdd()!==t&&(d=d.redNeg()),this.point(d,e)},Hy.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),i=t.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return i.cmp(n)===0},kLe(qu,Gq.BasePoint),Hy.prototype.pointFromJSON=function(e){return qu.fromJSON(this,e)},Hy.prototype.point=function(e,t,r,i){return new qu(this,e,t,r,i)},qu.fromJSON=function(e,t){return new qu(e,t[0],t[1],t[2])},qu.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},qu.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},qu.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e),n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=i.redAdd(t),d=o.redSub(r),g=i.redSub(t),y=n.redMul(d),_=o.redMul(g),I=n.redMul(g),N=d.redMul(o);return this.curve.point(y,_,N,I)},qu.prototype._projDbl=function(){var e,t,r,i=this.x.redAdd(this.y).redSqr(),n=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var d=(_=this.curve._mulA(n)).redAdd(o);if(this.zOne)e=i.redSub(n).redSub(o).redMul(d.redSub(this.curve.two)),t=d.redMul(_.redSub(o)),r=d.redSqr().redSub(d).redSub(d);else{var g=this.z.redSqr(),y=d.redSub(g).redISub(g);e=i.redSub(n).redISub(o).redMul(y),t=d.redMul(_.redSub(o)),r=d.redMul(y)}}else{var _=n.redAdd(o);g=this.curve._mulC(this.z).redSqr(),y=_.redSub(g).redSub(g),e=this.curve._mulC(i.redISub(_)).redMul(y),t=this.curve._mulC(_).redMul(n.redISub(o)),r=_.redMul(y)}return this.curve.point(e,t,r)},qu.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},qu.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),i=this.t.redMul(this.curve.dd).redMul(e.t),n=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),d=n.redSub(i),g=n.redAdd(i),y=r.redAdd(t),_=o.redMul(d),I=g.redMul(y),N=o.redMul(y),T=d.redMul(g);return this.curve.point(_,I,T,N)},qu.prototype._projAdd=function(e){var t,r,i=this.z.redMul(e.z),n=i.redSqr(),o=this.x.redMul(e.x),d=this.y.redMul(e.y),g=this.curve.d.redMul(o).redMul(d),y=n.redSub(g),_=n.redAdd(g),I=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(d),N=i.redMul(y).redMul(I);return this.curve.twisted?(t=i.redMul(_).redMul(d.redSub(this.curve._mulA(o))),r=y.redMul(_)):(t=i.redMul(_).redMul(d.redSub(o)),r=this.curve._mulC(y).redMul(_)),this.curve.point(N,t,r)},qu.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},qu.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},qu.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},qu.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},qu.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},qu.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},qu.prototype.getX=function(){return this.normalize(),this.x.fromRed()},qu.prototype.getY=function(){return this.normalize(),this.y.fromRed()},qu.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},qu.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var r=e.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),this.x.cmp(t)===0)return!0}},qu.prototype.toP=qu.prototype.normalize,qu.prototype.mixedAdd=qu.prototype.add;PCt=Gqe,Lue={},XG=Lue;XG.base=rV,XG.short=BCt,XG.mont=DCt,XG.edwards=PCt;LCt={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}},nV={},sue=nV,f6=tV,_ae=Lue,PLe=Q1.assert;sue.PresetCurve=qqe,l6("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:f6.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),l6("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:f6.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),l6("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:f6.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),l6("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:f6.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),l6("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:f6.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),l6("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f6.sha256,gRed:!1,g:["9"]}),l6("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:f6.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{aue=LCt}catch(e){aue=void 0}l6("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:f6.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",aue]});UCt=ef,LLe=Q1.assert;Vqe=Ch,Ch.fromPublic=function(e,t,r){return t instanceof Ch?t:new Ch(e,{pub:t,pubEnc:r})},Ch.fromPrivate=function(e,t,r){return t instanceof Ch?t:new Ch(e,{priv:t,privEnc:r})},Ch.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Ch.prototype.getPublic=function(e,t){return typeof e=="string"&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},Ch.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},Ch.prototype._importPrivate=function(e,t){this.priv=new UCt(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Ch.prototype._importPublic=function(e,t){if(e.x||e.y)return this.ec.curve.type==="mont"?LLe(e.x,"Need x coordinate"):this.ec.curve.type!=="short"&&this.ec.curve.type!=="edwards"||LLe(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y),void 0;this.pub=this.ec.curve.decodePoint(e,t)},Ch.prototype.derive=function(e){return e.mul(this.priv).getX()},Ch.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},Ch.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Ch.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};FCt=Vqe,e4=ef,ULe=NCt,mae=nV,QCt=Due,zqe=Q1.assert,yae=FCt,ZG=N4t;Jqe=qg,qg.prototype.keyPair=function(e){return new yae(this,e)},qg.prototype.keyFromPrivate=function(e,t){return yae.fromPrivate(this,e,t)},qg.prototype.keyFromPublic=function(e,t){return yae.fromPublic(this,e,t)},qg.prototype.genKeyPair=function(e){e||(e={});for(var t=new ULe({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||QCt(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new e4(2));;){var n=new e4(t.generate(r));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},qg.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},qg.prototype.sign=function(e,t,r,i){typeof r=="object"&&(i=r,r=null),i||(i={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new e4(e,16));for(var n=this.n.byteLength(),o=t.getPrivate().toArray("be",n),d=e.toArray("be",n),g=new ULe({hash:this.hash,entropy:o,nonce:d,pers:i.pers,persEnc:i.persEnc||"utf8"}),y=this.n.sub(new e4(1)),_=0;;_++){var I=i.k?i.k(_):new e4(g.generate(this.n.byteLength()));if(!((I=this._truncateToN(I,!0)).cmpn(1)<=0||I.cmp(y)>=0)){var N=this.g.mul(I);if(!N.isInfinity()){var T=N.getX(),M=T.umod(this.n);if(M.cmpn(0)!==0){var D=I.invm(this.n).mul(M.mul(t.getPrivate()).iadd(e));if((D=D.umod(this.n)).cmpn(0)!==0){var P=(N.getY().isOdd()?1:0)|(T.cmp(M)!==0?2:0);return i.canonical&&D.cmp(this.nh)>0&&(D=this.n.sub(D),P^=1),new ZG({r:M,s:D,recoveryParam:P})}}}}}},qg.prototype.verify=function(e,t,r,i){e=this._truncateToN(new e4(e,16)),r=this.keyFromPublic(r,i);var n=(t=new ZG(t,"hex")).r,o=t.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var d,g=o.invm(this.n),y=g.mul(e).umod(this.n),_=g.mul(n).umod(this.n);return this.curve._maxwellTrick?!(d=this.g.jmulAdd(y,r.getPublic(),_)).isInfinity()&&d.eqXToP(n):!(d=this.g.mulAdd(y,r.getPublic(),_)).isInfinity()&&d.getX().umod(this.n).cmp(n)===0},qg.prototype.recoverPubKey=function(e,t,r,i){zqe((3&r)===r,"The recovery param is more than two bits"),t=new ZG(t,i);var n=this.n,o=new e4(e),d=t.r,g=t.s,y=1&r,_=r>>1;if(d.cmp(this.curve.p.umod(this.curve.n))>=0&&_)throw new Error("Unable to find sencond key candinate");d=_?this.curve.pointFromX(d.add(this.curve.n),y):this.curve.pointFromX(d,y);var I=t.r.invm(n),N=n.sub(o).mul(I).umod(n),T=g.mul(I).umod(n);return this.g.mulAdd(N,d,T)},qg.prototype.getKeyRecoveryParam=function(e,t,r,i){if((t=new ZG(t,i)).recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")};HCt=Jqe,OD=Q1,FLe=OD.assert,QLe=OD.parseBytes,pO=OD.cachedProperty;rl.fromPublic=function(e,t){return t instanceof rl?t:new rl(e,{pub:t})},rl.fromSecret=function(e,t){return t instanceof rl?t:new rl(e,{secret:t})},rl.prototype.secret=function(){return this._secret},pO(rl,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),pO(rl,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),pO(rl,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,i=t.slice(0,e.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),pO(rl,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),pO(rl,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),pO(rl,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),rl.prototype.sign=function(e){return FLe(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},rl.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},rl.prototype.getSecret=function(e){return FLe(this._secret,"KeyPair is public only"),OD.encode(this.secret(),e)},rl.prototype.getPublic=function(e){return OD.encode(this.pubBytes(),e)};GCt=rl,qCt=ef,iV=Q1,VCt=iV.assert,jG=iV.cachedProperty,JCt=iV.parseBytes;jG(s4,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),jG(s4,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),jG(s4,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),jG(s4,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),s4.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s4.prototype.toHex=function(){return iV.encode(this.toBytes(),"hex").toUpperCase()};zCt=s4,KCt=tV,$Ct=nV,IO=Q1,YCt=IO.assert,HLe=IO.parseBytes,GLe=GCt,qLe=zCt;Kqe=Ip,Ip.prototype.sign=function(e,t){e=HLe(e);var r=this.keyFromSecret(t),i=this.hashInt(r.messagePrefix(),e),n=this.g.mul(i),o=this.encodePoint(n),d=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),g=i.add(d).umod(this.curve.n);return this.makeSignature({R:n,S:g,Rencoded:o})},Ip.prototype.verify=function(e,t,r){e=HLe(e),t=this.makeSignature(t);var i=this.keyFromPublic(r),n=this.hashInt(t.Rencoded(),i.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(i.pub().mul(n)).eq(o)},Ip.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return IO.intFromLE(e.digest()).umod(this.curve.n)},Ip.prototype.keyFromPublic=function(e){return GLe.fromPublic(this,e)},Ip.prototype.keyFromSecret=function(e){return GLe.fromSecret(this,e)},Ip.prototype.makeSignature=function(e){return e instanceof qLe?e:new qLe(this,e)},Ip.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},Ip.prototype.decodePoint=function(e){var t=(e=IO.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=(128&e[t])!=0,n=IO.intFromLE(r);return this.curve.pointFromY(n,i)},Ip.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},Ip.prototype.decodeInt=function(e){return IO.intFromLE(e)},Ip.prototype.isPoint=function(e){return e instanceof this.pointClass};WCt=Kqe,oV={},t4=oV;t4.version=["elliptic","6.5.2","EC cryptography","lib/elliptic.js",["lib"],{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},{type:"git",url:"git@github.com:indutny/elliptic"},["EC","Elliptic","curve","Cryptography"],"Fedor Indutny <fedor@indutny.com>","MIT",{url:"https://github.com/indutny/elliptic/issues"},"https://github.com/indutny/elliptic",{brfs:"^1.4.3",coveralls:"^3.0.8",grunt:"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.2",jscs:"^3.0.7",jshint:"^2.10.3",mocha:"^6.2.2"},{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}][1],t4.utils=Q1,t4.rand=Due,t4.curve=Lue,t4.curves=nV,t4.ec=HCt,t4.eddsa=WCt;bae={},VLe=!1,L1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Mf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,$qe={},XCt=ca;$qe.Reporter=Ug,Ug.prototype.isError=function(e){return e instanceof gO},Ug.prototype.save=function(){var e=(this||Mf)._reporterState;return{obj:e.obj,pathLen:e.path.length}},Ug.prototype.restore=function(e){var t=(this||Mf)._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},Ug.prototype.enterKey=function(e){return(this||Mf)._reporterState.path.push(e)},Ug.prototype.exitKey=function(e){var t=(this||Mf)._reporterState;t.path=t.path.slice(0,e-1)},Ug.prototype.leaveKey=function(e,t,r){var i=(this||Mf)._reporterState;this.exitKey(e),i.obj!==null&&(i.obj[t]=r)},Ug.prototype.path=function(){return(this||Mf)._reporterState.path.join("/")},Ug.prototype.enterObject=function(){var e=(this||Mf)._reporterState,t=e.obj;return e.obj={},t},Ug.prototype.leaveObject=function(e){var t=(this||Mf)._reporterState,r=t.obj;return t.obj=e,r},Ug.prototype.error=function(e){var t,r=(this||Mf)._reporterState,i=e instanceof gO;if(t=i?e:new gO(r.path.map((function(n){return"["+JSON.stringify(n)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return i||r.errors.push(t),t},Ug.prototype.wrapResult=function(e){var t=(this||Mf)._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},XCt(gO,Error),gO.prototype.rethrow=function(e){if((this||Mf).message=e+" at: "+((this||Mf).path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this||Mf,gO),!(this||Mf).stack)try{throw new Error((this||Mf).message)}catch(t){(this||Mf).stack=t.stack}return this||Mf};eq={},JLe=!1,ra=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Eae={},KLe=!1,Ro=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,vae={},$Le=!1;r6={},YLe=!1,Rae={},WLe=!1;Sae={},XLe=!1,n6=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Iae={},jLe=!1,Cae=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,wae={},eUe=!1;Oae={},tUe=!1,xf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Nae={},nUe=!1,xae=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Tae={},iUe=!1;Bae={},oUe=!1;Wqe=aV(),bm=Wqe,aUe=bm.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),ewt=bm.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),Uue=bm.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),twt=bm.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Uue),this.key("subjectPublicKey").bitstr())})),rwt=bm.define("RelativeDistinguishedName",(function(){this.setof(ewt)})),nwt=bm.define("RDNSequence",(function(){this.seqof(rwt)})),sUe=bm.define("Name",(function(){this.choice({rdnSequence:this.use(nwt)})})),iwt=bm.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(aUe),this.key("notAfter").use(aUe))})),owt=bm.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),awt=bm.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(Uue),this.key("issuer").use(sUe),this.key("validity").use(iwt),this.key("subject").use(sUe),this.key("subjectPublicKeyInfo").use(twt),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(owt).optional())})),swt=bm.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(awt),this.key("signatureAlgorithm").use(Uue),this.key("signatureValue").bitstr())})),mm={},Em=Wqe;mm.certificate=swt;cwt=Em.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));mm.RSAPrivateKey=cwt;uwt=Em.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));mm.RSAPublicKey=uwt;dwt=Em.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(Xqe),this.key("subjectPublicKey").bitstr())}));mm.PublicKey=dwt;Xqe=Em.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),fwt=Em.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(Xqe),this.key("subjectPrivateKey").octstr())}));mm.PrivateKey=fwt;lwt=Em.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));mm.EncryptedPrivateKey=lwt;hwt=Em.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));mm.DSAPrivateKey=hwt,mm.DSAparam=Em.define("DSAparam",(function(){this.int()}));Awt=Em.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(pwt),this.key("publicKey").optional().explicit(1).bitstr())}));mm.ECPrivateKey=Awt;pwt=Em.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));mm.signature=Em.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}));gwt=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,_wt=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,mwt=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,ywt=eV,bwt=F1,tq=Rs.Buffer,Rp=mm,Ewt={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},vwt=function(e,t){var r,i=e.toString(),n=i.match(gwt);if(n){var o="aes"+n[1],d=tq.from(n[2],"hex"),g=tq.from(n[3].replace(/[\r\n]/g,""),"base64"),y=ywt(t,d.slice(0,8),parseInt(n[1],10)).key,_=[],I=bwt.createDecipheriv(o,y,d);_.push(I.update(g)),_.push(I.final()),r=tq.concat(_)}else{var N=i.match(mwt);r=new tq(N[2].replace(/[\r\n]/g,""),"base64")}return{tag:i.match(_wt)[1],data:r}},Rwt=F1,Swt=Lq,Mae=Rs.Buffer;Zqe=cUe,cUe.signature=Rp.signature;sV=Zqe,jqe={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},cue={},Oh=Vo.Buffer,m4=xGe,Iwt=kue,Cwt=oV.ec,qq=ef,wwt=sV,Owt=jqe;(cue=function(e,t,r,i,n){var o=wwt(t);if(o.curve){if(i!=="ecdsa"&&i!=="ecdsa/rsa")throw new Error("wrong private key type");return(function(_,I){var N=Owt[I.curve.join(".")];if(!N)throw new Error("unknown curve "+I.curve.join("."));var T=new Cwt(N).keyFromPrivate(I.privateKey).sign(_);return new Oh(T.toDER())})(e,o)}if(o.type==="dsa"){if(i!=="dsa")throw new Error("wrong private key type");return(function(_,I,N){for(var T,M=I.params.priv_key,D=I.params.p,P=I.params.q,G=I.params.g,q=new qq(0),Y=Fue(_,P).mod(P),ne=!1,ce=uUe(M,P,_,N);ne===!1;)T=dUe(P,ce,N),q=Nwt(G,T,D,P),(ne=T.invm(P).imul(Y.add(M.mul(q))).mod(P)).cmpn(0)===0&&(ne=!1,q=new qq(0));return(function(le,pe){le=le.toArray(),pe=pe.toArray(),128&le[0]&&(le=[0].concat(le)),128&pe[0]&&(pe=[0].concat(pe));var ae=[48,le.length+pe.length+4,2,le.length];return ae=ae.concat(le,[2,pe.length],pe),new Oh(ae)})(q,ne)})(e,o,r)}if(i!=="rsa"&&i!=="ecdsa/rsa")throw new Error("wrong private key type");e=Oh.concat([n,e]);for(var d=o.modulus.byteLength(),g=[0,1];e.length+g.length+1<d;)g.push(255);g.push(0);for(var y=-1;++y<e.length;)g.push(e[y]);return Iwt(g,o)}).getKey=uUe,cue.makeKey=dUe;xwt=cue,Dae=Vo.Buffer,eD=ef,Twt=oV.ec,fUe=sV,Bwt=jqe;Mwt=function(e,t,r,i,n){var o=fUe(r);if(o.type==="ec"){if(i!=="ecdsa"&&i!=="ecdsa/rsa")throw new Error("wrong public key type");return(function(T,M,D){var P=Bwt[D.data.algorithm.curve.join(".")];if(!P)throw new Error("unknown curve "+D.data.algorithm.curve.join("."));var G=new Twt(P),q=D.data.subjectPrivateKey.data;return G.verify(M,T,q)})(e,t,o)}if(o.type==="dsa"){if(i!=="dsa")throw new Error("wrong public key type");return(function(T,M,D){var P=D.data.p,G=D.data.q,q=D.data.g,Y=D.data.pub_key,ne=fUe.signature.decode(T,"der"),ce=ne.s,le=ne.r;lUe(ce,G),lUe(le,G);var pe=eD.mont(P),ae=ce.invm(G);return q.toRed(pe).redPow(new eD(M).mul(ae).mod(G)).fromRed().mul(Y.toRed(pe).redPow(le.mul(ae).mod(G)).fromRed()).mod(P).mod(G).cmp(le)===0})(e,t,o)}if(i!=="rsa"&&i!=="ecdsa/rsa")throw new Error("wrong public key type");t=Dae.concat([n,t]);for(var d=o.modulus.byteLength(),g=[1],y=0;t.length+g.length+2<d;)g.push(255),y++;g.push(0);for(var _=-1;++_<t.length;)g.push(t[_]);g=new Dae(g);var I=eD.mont(o.modulus);e=(e=new eD(e).toRed(I)).redPow(new eD(o.publicExponent)),e=new Dae(e.fromRed().toArray());var N=y<8?1:0;for(d=Math.min(e.length,g.length),e.length!==g.length&&(N=1),_=-1;++_<d;)N|=e[_]^g[_];return N===0},cd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,rq=Vo.Buffer,eVe=kD,Vq=Jg,hUe=ca,Dwt=xwt,kwt=Mwt,f4=TGe;Object.keys(f4).forEach((function(e){f4[e].id=new rq(f4[e].id,"hex"),f4[e.toLowerCase()]=f4[e]})),hUe(pD,Vq.Writable),pD.prototype._write=function(e,t,r){(this||cd)._hash.update(e),r()},pD.prototype.update=function(e,t){return typeof e=="string"&&(e=new rq(e,t)),(this||cd)._hash.update(e),this||cd},pD.prototype.sign=function(e,t){this.end();var r=(this||cd)._hash.digest(),i=Dwt(r,e,(this||cd)._hashType,(this||cd)._signType,(this||cd)._tag);return t?i.toString(t):i},hUe(gD,Vq.Writable),gD.prototype._write=function(e,t,r){(this||cd)._hash.update(e),r()},gD.prototype.update=function(e,t){return typeof e=="string"&&(e=new rq(e,t)),(this||cd)._hash.update(e),this||cd},gD.prototype.verify=function(e,t,r){typeof t=="string"&&(t=new rq(t,r)),this.end();var i=(this||cd)._hash.digest();return kwt(t,i,e,(this||cd)._signType,(this||cd)._tag)};Pwt={Sign:AUe,Verify:pUe,createSign:AUe,createVerify:pUe},Df=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Bv=Vo.Buffer,Lwt=oV,Uwt=ef;tVe=function(e){return new c4(e)};U1={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};U1.p224=U1.secp224r1,U1.p256=U1.secp256r1=U1.prime256v1,U1.p192=U1.secp192r1=U1.prime192v1,U1.p384=U1.secp384r1,U1.p521=U1.secp521r1,c4.prototype.generateKeys=function(e,t){return(this||Df).keys=(this||Df).curve.genKeyPair(),this.getPublicKey(e,t)},c4.prototype.computeSecret=function(e,t,r){return t=t||"utf8",Bv.isBuffer(e)||(e=new Bv(e,t)),kae((this||Df).curve.keyFromPublic(e).getPublic().mul((this||Df).keys.getPrivate()).getX(),r,(this||Df).curveType.byteLength)},c4.prototype.getPublicKey=function(e,t){var r=(this||Df).keys.getPublic(t==="compressed",!0);return t==="hybrid"&&(r[r.length-1]%2?r[0]=7:r[0]=6),kae(r,e)},c4.prototype.getPrivateKey=function(e){return kae((this||Df).keys.getPrivate(),e)},c4.prototype.setPublicKey=function(e,t){return t=t||"utf8",Bv.isBuffer(e)||(e=new Bv(e,t)),(this||Df).keys._importPublic(e),this||Df},c4.prototype.setPrivateKey=function(e,t){t=t||"utf8",Bv.isBuffer(e)||(e=new Bv(e,t));var r=new Uwt(e);return r=r.toString(16),(this||Df).keys=(this||Df).curve.genKeyPair(),(this||Df).keys._importPrivate(r),this||Df};Fwt=tVe,Qwt=kD,uue=Rs.Buffer;rVe=function(e,t){for(var r,i=uue.alloc(0),n=0;i.length<t;)r=Hwt(n++),i=uue.concat([i,Qwt("sha1").update(e).update(r).digest()]);return i.slice(0,t)},nVe=function(e,t){for(var r=e.length,i=-1;++i<r;)e[i]^=t[i];return e},gUe=ef,Gwt=Rs.Buffer,iVe=function(e,t){return Gwt.from(e.toRed(gUe.mont(t.modulus)).redPow(new gUe(t.publicExponent)).fromRed().toArray())},qwt=sV,Pae=PO,Vwt=kD,_Ue=rVe,mUe=nVe,Lae=ef,Jwt=iVe,zwt=kue,dm=Rs.Buffer,Kwt=function(e,t,r){var i;i=e.padding?e.padding:r?1:4;var n,o=qwt(e);if(i===4)n=(function(d,g){var y=d.modulus.byteLength(),_=g.length,I=Vwt("sha1").update(dm.alloc(0)).digest(),N=I.length,T=2*N;if(_>y-T-2)throw new Error("message too long");var M=dm.alloc(y-_-T-2),D=y-N-1,P=Pae(N),G=mUe(dm.concat([I,M,dm.alloc(1,1),g],D),_Ue(P,D)),q=mUe(P,_Ue(G,N));return new Lae(dm.concat([dm.alloc(1),q,G],y))})(o,t);else if(i===1)n=(function(d,g,y){var _,I=g.length,N=d.modulus.byteLength();if(I>N-11)throw new Error("message too long");return _=y?dm.alloc(N-I-3,255):(function(T){for(var M,D=dm.allocUnsafe(T),P=0,G=Pae(2*T),q=0;P<T;)q===G.length&&(G=Pae(2*T),q=0),(M=G[q++])&&(D[P++]=M);return D})(N-I-3),new Lae(dm.concat([dm.from([0,y?1:2]),_,dm.alloc(1),g],N))})(o,t,r);else{if(i!==3)throw new Error("unknown padding");if((n=new Lae(t)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?zwt(n,o):Jwt(n,o)},$wt=sV,yUe=rVe,bUe=nVe,EUe=ef,Ywt=kue,Wwt=kD,Xwt=iVe,tD=Rs.Buffer,Zwt=function(e,t,r){var i;i=e.padding?e.padding:r?1:4;var n,o=$wt(e),d=o.modulus.byteLength();if(t.length>d||new EUe(t).cmp(o.modulus)>=0)throw new Error("decryption error");n=r?Xwt(new EUe(t),o):Ywt(t,o);var g=tD.alloc(d-n.length);if(n=tD.concat([g,n],d),i===4)return(function(y,_){var I=y.modulus.byteLength(),N=Wwt("sha1").update(tD.alloc(0)).digest(),T=N.length;if(_[0]!==0)throw new Error("decryption error");var M=_.slice(1,T+1),D=_.slice(T+1),P=bUe(M,yUe(D,T)),G=bUe(D,yUe(P,I-T-1));if((function(Y,ne){Y=tD.from(Y),ne=tD.from(ne);var ce=0,le=Y.length;Y.length!==ne.length&&(ce++,le=Math.min(Y.length,ne.length));for(var pe=-1;++pe<le;)ce+=Y[pe]^ne[pe];return ce})(N,G.slice(0,T)))throw new Error("decryption error");for(var q=T;G[q]===0;)q++;if(G[q++]!==1)throw new Error("decryption error");return G.slice(q)})(o,n);if(i===1)return(function(y,_,I){for(var N=_.slice(0,2),T=2,M=0;_[T++]!==0;)if(T>=_.length){M++;break}var D=_.slice(2,T-1);if((N.toString("hex")!=="0002"&&!I||N.toString("hex")!=="0001"&&I)&&M++,D.length<8&&M++,M)throw new Error("decryption error");return _.slice(T)})(0,n,r);if(i===3)return n;throw new Error("unknown padding")},u4={};u4.publicEncrypt=Kwt,u4.privateDecrypt=Zwt,u4.privateEncrypt=function(e,t){return u4.publicEncrypt(e,t,!0)},u4.publicDecrypt=function(e,t){return u4.privateDecrypt(e,t,!0)};Jq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,_D={},due=Mo;oVe=Rs,RUe=PO,SUe=oVe.Buffer,aVe=oVe.kMaxLength,fue=Jq.crypto||Jq.msCrypto,sVe=Math.pow(2,32)-1;fue&&fue.getRandomValues||!due.browser?(_D.randomFill=function(e,t,r,i){if(!(SUe.isBuffer(e)||e instanceof Jq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof t=="function")i=t,t=0,r=e.length;else if(typeof r=="function")i=r,r=e.length-t;else if(typeof i!="function")throw new TypeError('"cb" argument must be a function');return IUe(t,e.length),CUe(r,t,e.length),wUe(e,t,r,i)},_D.randomFillSync=function(e,t,r){if(t===void 0&&(t=0),!(SUe.isBuffer(e)||e instanceof Jq.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return IUe(t,e.length),r===void 0&&(r=e.length-t),CUe(r,t,e.length),wUe(e,t,r)}):(_D.randomFill=vUe,_D.randomFillSync=vUe);Ka={};Ka.randomBytes=Ka.rng=Ka.pseudoRandomBytes=Ka.prng=PO,Ka.createHash=Ka.Hash=kD,Ka.createHmac=Ka.Hmac=xGe;jwt=TGe,e5t=Object.keys(jwt),t5t=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(e5t);Ka.getHashes=function(){return t5t};OUe=Lq;Ka.pbkdf2=OUe.pbkdf2,Ka.pbkdf2Sync=OUe.pbkdf2Sync;Gy=lm;Ka.Cipher=Gy.Cipher,Ka.createCipher=Gy.createCipher,Ka.Cipheriv=Gy.Cipheriv,Ka.createCipheriv=Gy.createCipheriv,Ka.Decipher=Gy.Decipher,Ka.createDecipher=Gy.createDecipher,Ka.Decipheriv=Gy.Decipheriv,Ka.createDecipheriv=Gy.createDecipheriv,Ka.getCiphers=Gy.getCiphers,Ka.listCiphers=Gy.listCiphers;rD=EO;Ka.DiffieHellmanGroup=rD.DiffieHellmanGroup,Ka.createDiffieHellmanGroup=rD.createDiffieHellmanGroup,Ka.getDiffieHellman=rD.getDiffieHellman,Ka.createDiffieHellman=rD.createDiffieHellman,Ka.DiffieHellman=rD.DiffieHellman;nq=Pwt;Ka.createSign=nq.createSign,Ka.Sign=nq.Sign,Ka.createVerify=nq.createVerify,Ka.Verify=nq.Verify,Ka.createECDH=Fwt;iq=u4;Ka.publicEncrypt=iq.publicEncrypt,Ka.privateEncrypt=iq.privateEncrypt,Ka.publicDecrypt=iq.publicDecrypt,Ka.privateDecrypt=iq.privateDecrypt;NUe=_D;Ka.randomFill=NUe.randomFill,Ka.randomFillSync=NUe.randomFillSync,Ka.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` +`))},Ka.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};oq={},xUe=!1,aq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Uae={},TUe=!1,BUe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Fae={},MUe=!1;r5t={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},Qae={},DUe=!1,Ms=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;r4={},kUe=!1;dVe={},PUe=!1,Hae={exports:dVe},It=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Gae={},LUe=!1;o5t={_args:[["elliptic@6.5.4","C:\\Users\\guybe\\Projects\\rollup-plugin-jspm"]],_from:"elliptic@6.5.4",_id:"elliptic@6.5.4",_inBundle:!1,_integrity:"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",_location:"/@jspm/core/elliptic",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"elliptic@6.5.4",name:"elliptic",escapedName:"elliptic",rawSpec:"6.5.4",saveSpec:null,fetchSpec:"6.5.4"},_requiredBy:["/@jspm/core/browserify-sign","/@jspm/core/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",_spec:"6.5.4",_where:"C:\\Users\\guybe\\Projects\\rollup-plugin-jspm",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},description:"EC cryptography",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},files:["lib"],homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",name:"elliptic",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.5.4"},fVe={},UUe=!1,qae={exports:fVe},Tt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Vae={},FUe=!1;Jae={},QUe=!1;zae={},HUe=!1;Kae={},GUe=!1;$ae={},qUe=!1;Yae={},VUe=!1;Wae={},JUe=!1;ou={},zUe=!1;Xae={},KUe=!1;$Ue={},YUe=!1;Zae={},WUe=!1;jae={},XUe=!1;ese={},ZUe=!1;tse={},jUe=!1;rse={},eFe=!1;nse={},tFe=!1;ise={},rFe=!1;ose={},nFe=!1;ase={},iFe=!1;sse={},oFe=!1;cse={},aFe=!1;use={},sFe=!1;dse={},cFe=!1;pVe={},uFe=!1,fse={exports:pVe},Bt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;lse={},dFe=!1;hse={},fFe=!1;sq={},lFe=!1;Ase={},hFe=!1;i6={},AFe=!1;pse={},pFe=!1;gse={},gFe=!1;_se={},_Fe=!1;mse={},mFe=!1;yse={},yFe=!1;bse={},bFe=!1;Ese={},EFe=!1;vse={},vFe=!1;Rse={},RFe=!1;Sse={},SFe=!1;Ise={},IFe=!1;Fg={},CFe=!1;w5t={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},Cse={},wFe=!1;wse={},OFe=!1;vVe={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},nD={},NFe=!1;Ose={},xFe=!1;Nse={},TFe=!1,id=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;RVe={},BFe=!1,xse={exports:RVe},Mt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Tse={},MFe=!1,Tf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Bse={},DFe=!1;Mse={},kFe=!1;CVe={},PFe=!1,Dse={exports:CVe},Dt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;kse={},LFe=!1;Pse={},UFe=!1;Lse={},FFe=!1;o6={},QFe=!1;_O={},HFe=!1,cq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Ua={},GFe=!1;$a=U5t();$a.Cipher;$a.Cipheriv;$a.Decipher;$a.Decipheriv;$a.DiffieHellman;$a.DiffieHellmanGroup;$a.Hash;$a.Hmac;$a.Sign;$a.Verify;$a.constants;$a.createCipher;$a.createCipheriv;$a.createCredentials;$a.createDecipher;$a.createDecipheriv;$a.createDiffieHellman;$a.createDiffieHellmanGroup;$a.createECDH;$a.createHash;$a.createHmac;$a.createSign;$a.createVerify;$a.getCiphers;$a.getDiffieHellman;$a.getHashes;$a.listCiphers;$a.pbkdf2;$a.pbkdf2Sync;$a.privateDecrypt;$a.privateEncrypt;$a.prng;$a.pseudoRandomBytes;$a.publicDecrypt;$a.publicEncrypt;$a.randomBytes;$a.randomFill;$a.randomFillSync;$a.rng;uq={},qFe=!1,dq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Use={},VFe=!1,JFe=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Fse={},zFe=!1;F5t={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},Qse={},KFe=!1,Ds=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;n4={},$Fe=!1;iD={},YFe=!1;xVe={},WFe=!1,Hse={exports:xVe},Ct=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Gse={},XFe=!1;G5t={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}},TVe={},ZFe=!1,qse={exports:TVe},kt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Vse={},jFe=!1;Jse={},eQe=!1;zse={},tQe=!1;Kse={},rQe=!1;$se={},nQe=!1;Yse={},iQe=!1;Wse={},oQe=!1;au={},aQe=!1;Xse={},sQe=!1;cQe={},uQe=!1;Zse={},dQe=!1;jse={},fQe=!1;ece={},lQe=!1;tce={},hQe=!1;rce={},AQe=!1;nce={},pQe=!1;ice={},gQe=!1;oce={},_Qe=!1;ace={},mQe=!1;sce={},yQe=!1;cce={},bQe=!1;uce={},EQe=!1;dce={},vQe=!1;kVe={},RQe=!1,fce={exports:kVe},Pt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;lce={},SQe=!1;hce={},IQe=!1;fq={},CQe=!1;Ace={},wQe=!1;a6={},OQe=!1;pce={},NQe=!1;gce={},xQe=!1;_ce={},TQe=!1;mce={},BQe=!1;yce={},MQe=!1;bce={},DQe=!1;Ece={},kQe=!1;vce={},PQe=!1;Rce={},LQe=!1;Sce={},UQe=!1;Ice={},FQe=!1;Qg={},QQe=!1;dOt={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},Cce={},HQe=!1;wce={},GQe=!1;GVe={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},oD={},qQe=!1;Oce={},VQe=!1;Nce={},JQe=!1,od=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;qVe={},zQe=!1,xce={exports:qVe},Lt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Tce={},KQe=!1,Bf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Bce={},$Qe=!1;Mce={},YQe=!1;zVe={},WQe=!1,Dce={exports:zVe},Ut=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;kce={},XQe=!1;Pce={},ZQe=!1;Lce={},jQe=!1;s6={},eHe=!1;mO={},tHe=!1,lq=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Fa={},rHe=!1;yi=EOt();yi.randomBytes;yi.rng;yi.pseudoRandomBytes;yi.prng;yi.createHash;yi.Hash;yi.createHmac;yi.Hmac;yi.getHashes;yi.pbkdf2;yi.pbkdf2Sync;yi.Cipher;yi.createCipher;yi.Cipheriv;yi.createCipheriv;yi.Decipher;yi.createDecipher;yi.Decipheriv;yi.createDecipheriv;yi.getCiphers;yi.listCiphers;yi.DiffieHellmanGroup;yi.createDiffieHellmanGroup;yi.getDiffieHellman;yi.createDiffieHellman;yi.DiffieHellman;yi.createSign;yi.Sign;yi.createVerify;yi.Verify;yi.createECDH;yi.publicEncrypt;yi.privateEncrypt;yi.publicDecrypt;yi.privateDecrypt;yi.randomFill;yi.randomFillSync;yi.createCredentials;yi.constants;yi.webcrypto=globalThis.crypto;vOt=yi.Cipher,ROt=yi.Cipheriv,SOt=yi.Decipher,IOt=yi.Decipheriv,COt=yi.DiffieHellman,wOt=yi.DiffieHellmanGroup,OOt=yi.Hash,NOt=yi.Hmac,xOt=yi.Sign,TOt=yi.Verify,u0e=yi.constants,BOt=yi.createCipher,MOt=yi.createCipheriv,DOt=yi.createCredentials,kOt=yi.createDecipher,POt=yi.createDecipheriv,LOt=yi.createDiffieHellman,UOt=yi.createDiffieHellmanGroup,FOt=yi.createECDH,vm=yi.createHash,QOt=yi.createHmac,d0e=yi.createSign,HOt=yi.createVerify,GOt=yi.getCiphers,qOt=yi.getDiffieHellman,VOt=yi.getHashes,JOt=yi.listCiphers,zOt=yi.pbkdf2,KOt=yi.pbkdf2Sync,$Ot=yi.privateDecrypt,YOt=yi.privateEncrypt,WOt=yi.prng,XOt=yi.pseudoRandomBytes,ZOt=yi.publicDecrypt,jOt=yi.publicEncrypt,f0e=yi.randomBytes,eNt=yi.randomFill,tNt=yi.randomFillSync,rNt=yi.rng,nNt=yi.webcrypto});var mV=ir(_V=>{"use strict";J();K();z();_V.byteLength=bNt;_V.toByteArray=vNt;_V.fromByteArray=INt;var tb=[],Yg=[],yNt=typeof Uint8Array<"u"?Uint8Array:Array,b0e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(S4=0,nJe=b0e.length;S4<nJe;++S4)tb[S4]=b0e[S4],Yg[b0e.charCodeAt(S4)]=S4;var S4,nJe;Yg[45]=62;Yg[95]=63;function iJe(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var i=r===t?0:4-r%4;return[r,i]}function bNt(e){var t=iJe(e),r=t[0],i=t[1];return(r+i)*3/4-i}function ENt(e,t,r){return(t+r)*3/4-r}function vNt(e){var t,r=iJe(e),i=r[0],n=r[1],o=new yNt(ENt(e,i,n)),d=0,g=n>0?i-4:i,y;for(y=0;y<g;y+=4)t=Yg[e.charCodeAt(y)]<<18|Yg[e.charCodeAt(y+1)]<<12|Yg[e.charCodeAt(y+2)]<<6|Yg[e.charCodeAt(y+3)],o[d++]=t>>16&255,o[d++]=t>>8&255,o[d++]=t&255;return n===2&&(t=Yg[e.charCodeAt(y)]<<2|Yg[e.charCodeAt(y+1)]>>4,o[d++]=t&255),n===1&&(t=Yg[e.charCodeAt(y)]<<10|Yg[e.charCodeAt(y+1)]<<4|Yg[e.charCodeAt(y+2)]>>2,o[d++]=t>>8&255,o[d++]=t&255),o}function RNt(e){return tb[e>>18&63]+tb[e>>12&63]+tb[e>>6&63]+tb[e&63]}function SNt(e,t,r){for(var i,n=[],o=t;o<r;o+=3)i=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),n.push(RNt(i));return n.join("")}function INt(e){for(var t,r=e.length,i=r%3,n=[],o=16383,d=0,g=r-i;d<g;d+=o)n.push(SNt(e,d,d+o>g?g:d+o));return i===1?(t=e[r-1],n.push(tb[t>>2]+tb[t<<4&63]+"==")):i===2&&(t=(e[r-2]<<8)+e[r-1],n.push(tb[t>>10]+tb[t>>4&63]+tb[t<<2&63]+"=")),n.join("")}});var Rm=ir(ud=>{"use strict";J();K();z();Object.defineProperty(ud,"__esModule",{value:!0});ud.b64UrlDecode=ud.b64UrlEncode=ud.bufferTob64Url=ud.bufferTob64=ud.b64UrlToBuffer=ud.stringToB64Url=ud.stringToBuffer=ud.bufferToString=ud.b64UrlToString=ud.concatBuffers=void 0;var oJe=mV();function CNt(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].byteLength;let r=new Uint8Array(t),i=0;r.set(new Uint8Array(e[0]),i),i+=e[0].byteLength;for(let n=1;n<e.length;n++)r.set(new Uint8Array(e[n]),i),i+=e[n].byteLength;return r}ud.concatBuffers=CNt;function wNt(e){let t=cJe(e);return aJe(t)}ud.b64UrlToString=wNt;function aJe(e){return new TextDecoder("utf-8",{fatal:!0}).decode(e)}ud.bufferToString=aJe;function sJe(e){return new TextEncoder().encode(e)}ud.stringToBuffer=sJe;function ONt(e){return dJe(sJe(e))}ud.stringToB64Url=ONt;function cJe(e){return new Uint8Array(oJe.toByteArray(lJe(e)))}ud.b64UrlToBuffer=cJe;function uJe(e){return oJe.fromByteArray(new Uint8Array(e))}ud.bufferTob64=uJe;function dJe(e){return fJe(uJe(e))}ud.bufferTob64Url=dJe;function fJe(e){try{return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}catch(t){throw new Error("Failed to encode string",{cause:t})}}ud.b64UrlEncode=fJe;function lJe(e){try{e=e.replace(/\-/g,"+").replace(/\_/g,"/");let t;return e.length%4==0?t=0:t=4-e.length%4,e.concat("=".repeat(t))}catch(t){throw new Error("Failed to decode string",{cause:t})}}ud.b64UrlDecode=lJe});var R0e=ir(v0e=>{"use strict";J();K();z();Object.defineProperty(v0e,"__esModule",{value:!0});var T6=Rm(),E0e=class{keyLength=4096;publicExponent=65537;hashAlgorithm="sha256";driver;constructor(){if(!this.detectWebCrypto())throw new Error("SubtleCrypto not available!");this.driver=crypto.subtle}async generateJWK(){let t=await this.driver.generateKey({name:"RSA-PSS",modulusLength:4096,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign"]),r=await this.driver.exportKey("jwk",t.privateKey);return{kty:r.kty,e:r.e,n:r.n,d:r.d,p:r.p,q:r.q,dp:r.dp,dq:r.dq,qi:r.qi}}async sign(t,r,{saltLength:i}={}){let n=await this.driver.sign({name:"RSA-PSS",saltLength:32},await this.jwkToCryptoKey(t),r);return new Uint8Array(n)}async hash(t,r="SHA-256"){let i=await this.driver.digest(r,t);return new Uint8Array(i)}async verify(t,r,i){let n={kty:"RSA",e:"AQAB",n:t},o=await this.jwkToPublicCryptoKey(n),d=await this.driver.digest("SHA-256",r),g=await this.driver.verify({name:"RSA-PSS",saltLength:0},o,i,r),y=await this.driver.verify({name:"RSA-PSS",saltLength:32},o,i,r),_=await this.driver.verify({name:"RSA-PSS",saltLength:Math.ceil((o.algorithm.modulusLength-1)/8)-d.byteLength-2},o,i,r);return g||y||_}async jwkToCryptoKey(t){return this.driver.importKey("jwk",t,{name:"RSA-PSS",hash:{name:"SHA-256"}},!1,["sign"])}async jwkToPublicCryptoKey(t){return this.driver.importKey("jwk",t,{name:"RSA-PSS",hash:{name:"SHA-256"}},!1,["verify"])}detectWebCrypto(){if(typeof crypto>"u")return!1;let t=crypto?.subtle;return t===void 0?!1:["generateKey","importKey","exportKey","digest","sign"].every(i=>typeof t[i]=="function")}async encrypt(t,r,i){let n=await this.driver.importKey("raw",typeof r=="string"?T6.stringToBuffer(r):r,{name:"PBKDF2",length:32},!1,["deriveKey"]),o=await this.driver.deriveKey({name:"PBKDF2",salt:i?T6.stringToBuffer(i):T6.stringToBuffer("salt"),iterations:1e5,hash:"SHA-256"},n,{name:"AES-CBC",length:256},!1,["encrypt","decrypt"]),d=new Uint8Array(16);crypto.getRandomValues(d);let g=await this.driver.encrypt({name:"AES-CBC",iv:d},o,t);return T6.concatBuffers([d,g])}async decrypt(t,r,i){let n=await this.driver.importKey("raw",typeof r=="string"?T6.stringToBuffer(r):r,{name:"PBKDF2",length:32},!1,["deriveKey"]),o=await this.driver.deriveKey({name:"PBKDF2",salt:i?T6.stringToBuffer(i):T6.stringToBuffer("salt"),iterations:1e5,hash:"SHA-256"},n,{name:"AES-CBC",length:256},!1,["encrypt","decrypt"]),d=t.slice(0,16),g=await this.driver.decrypt({name:"AES-CBC",iv:d},o,t.slice(16));return T6.concatBuffers([g])}};v0e.default=E0e});var pJe=ir((AJe,yV)=>{"use strict";J();K();z();(function(e){"use strict";var t,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,i=Math.ceil,n=Math.floor,o="[BigNumber Error] ",d=o+"Number primitive has more than 15 significant digits: ",g=1e14,y=14,_=9007199254740991,I=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],N=1e7,T=1e9;function M(le){var pe,ae,W,se=X.prototype={constructor:X,toString:null,valueOf:null},O=new X(1),s=20,l=4,A=-7,m=21,E=-1e7,w=1e7,x=!1,R=1,u=0,C={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},U="0123456789abcdefghijklmnopqrstuvwxyz",F=!0;function X(Se,ct){var ze,te,Ue,oe,ge,Le,V,Qe,_t=this;if(!(_t instanceof X))return new X(Se,ct);if(ct==null){if(Se&&Se._isBigNumber===!0){_t.s=Se.s,!Se.c||Se.e>w?_t.c=_t.e=null:Se.e<E?_t.c=[_t.e=0]:(_t.e=Se.e,_t.c=Se.c.slice());return}if((Le=typeof Se=="number")&&Se*0==0){if(_t.s=1/Se<0?(Se=-Se,-1):1,Se===~~Se){for(oe=0,ge=Se;ge>=10;ge/=10,oe++);oe>w?_t.c=_t.e=null:(_t.e=oe,_t.c=[Se]);return}Qe=String(Se)}else{if(!r.test(Qe=String(Se)))return W(_t,Qe,Le);_t.s=Qe.charCodeAt(0)==45?(Qe=Qe.slice(1),-1):1}(oe=Qe.indexOf("."))>-1&&(Qe=Qe.replace(".","")),(ge=Qe.search(/e/i))>0?(oe<0&&(oe=ge),oe+=+Qe.slice(ge+1),Qe=Qe.substring(0,ge)):oe<0&&(oe=Qe.length)}else{if(q(ct,2,U.length,"Base"),ct==10&&F)return _t=new X(Se),Ge(_t,s+_t.e+1,l);if(Qe=String(Se),Le=typeof Se=="number"){if(Se*0!=0)return W(_t,Qe,Le,ct);if(_t.s=1/Se<0?(Qe=Qe.slice(1),-1):1,X.DEBUG&&Qe.replace(/^0\.0*|\./,"").length>15)throw Error(d+Se)}else _t.s=Qe.charCodeAt(0)===45?(Qe=Qe.slice(1),-1):1;for(ze=U.slice(0,ct),oe=ge=0,V=Qe.length;ge<V;ge++)if(ze.indexOf(te=Qe.charAt(ge))<0){if(te=="."){if(ge>oe){oe=V;continue}}else if(!Ue&&(Qe==Qe.toUpperCase()&&(Qe=Qe.toLowerCase())||Qe==Qe.toLowerCase()&&(Qe=Qe.toUpperCase()))){Ue=!0,ge=-1,oe=0;continue}return W(_t,String(Se),Le,ct)}Le=!1,Qe=ae(Qe,ct,10,_t.s),(oe=Qe.indexOf("."))>-1?Qe=Qe.replace(".",""):oe=Qe.length}for(ge=0;Qe.charCodeAt(ge)===48;ge++);for(V=Qe.length;Qe.charCodeAt(--V)===48;);if(Qe=Qe.slice(ge,++V)){if(V-=ge,Le&&X.DEBUG&&V>15&&(Se>_||Se!==n(Se)))throw Error(d+_t.s*Se);if((oe=oe-ge-1)>w)_t.c=_t.e=null;else if(oe<E)_t.c=[_t.e=0];else{if(_t.e=oe,_t.c=[],ge=(oe+1)%y,oe<0&&(ge+=y),ge<V){for(ge&&_t.c.push(+Qe.slice(0,ge)),V-=y;ge<V;)_t.c.push(+Qe.slice(ge,ge+=y));ge=y-(Qe=Qe.slice(ge)).length}else ge-=V;for(;ge--;Qe+="0");_t.c.push(+Qe)}}else _t.c=[_t.e=0]}X.clone=M,X.ROUND_UP=0,X.ROUND_DOWN=1,X.ROUND_CEIL=2,X.ROUND_FLOOR=3,X.ROUND_HALF_UP=4,X.ROUND_HALF_DOWN=5,X.ROUND_HALF_EVEN=6,X.ROUND_HALF_CEIL=7,X.ROUND_HALF_FLOOR=8,X.EUCLID=9,X.config=X.set=function(Se){var ct,ze;if(Se!=null)if(typeof Se=="object"){if(Se.hasOwnProperty(ct="DECIMAL_PLACES")&&(ze=Se[ct],q(ze,0,T,ct),s=ze),Se.hasOwnProperty(ct="ROUNDING_MODE")&&(ze=Se[ct],q(ze,0,8,ct),l=ze),Se.hasOwnProperty(ct="EXPONENTIAL_AT")&&(ze=Se[ct],ze&&ze.pop?(q(ze[0],-T,0,ct),q(ze[1],0,T,ct),A=ze[0],m=ze[1]):(q(ze,-T,T,ct),A=-(m=ze<0?-ze:ze))),Se.hasOwnProperty(ct="RANGE"))if(ze=Se[ct],ze&&ze.pop)q(ze[0],-T,-1,ct),q(ze[1],1,T,ct),E=ze[0],w=ze[1];else if(q(ze,-T,T,ct),ze)E=-(w=ze<0?-ze:ze);else throw Error(o+ct+" cannot be zero: "+ze);if(Se.hasOwnProperty(ct="CRYPTO"))if(ze=Se[ct],ze===!!ze)if(ze)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))x=ze;else throw x=!ze,Error(o+"crypto unavailable");else x=ze;else throw Error(o+ct+" not true or false: "+ze);if(Se.hasOwnProperty(ct="MODULO_MODE")&&(ze=Se[ct],q(ze,0,9,ct),R=ze),Se.hasOwnProperty(ct="POW_PRECISION")&&(ze=Se[ct],q(ze,0,T,ct),u=ze),Se.hasOwnProperty(ct="FORMAT"))if(ze=Se[ct],typeof ze=="object")C=ze;else throw Error(o+ct+" not an object: "+ze);if(Se.hasOwnProperty(ct="ALPHABET"))if(ze=Se[ct],typeof ze=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(ze))F=ze.slice(0,10)=="0123456789",U=ze;else throw Error(o+ct+" invalid: "+ze)}else throw Error(o+"Object expected: "+Se);return{DECIMAL_PLACES:s,ROUNDING_MODE:l,EXPONENTIAL_AT:[A,m],RANGE:[E,w],CRYPTO:x,MODULO_MODE:R,POW_PRECISION:u,FORMAT:C,ALPHABET:U}},X.isBigNumber=function(Se){if(!Se||Se._isBigNumber!==!0)return!1;if(!X.DEBUG)return!0;var ct,ze,te=Se.c,Ue=Se.e,oe=Se.s;e:if({}.toString.call(te)=="[object Array]"){if((oe===1||oe===-1)&&Ue>=-T&&Ue<=T&&Ue===n(Ue)){if(te[0]===0){if(Ue===0&&te.length===1)return!0;break e}if(ct=(Ue+1)%y,ct<1&&(ct+=y),String(te[0]).length==ct){for(ct=0;ct<te.length;ct++)if(ze=te[ct],ze<0||ze>=g||ze!==n(ze))break e;if(ze!==0)return!0}}}else if(te===null&&Ue===null&&(oe===null||oe===1||oe===-1))return!0;throw Error(o+"Invalid BigNumber: "+Se)},X.maximum=X.max=function(){return he(arguments,-1)},X.minimum=X.min=function(){return he(arguments,1)},X.random=(function(){var Se=9007199254740992,ct=Math.random()*Se&2097151?function(){return n(Math.random()*Se)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(ze){var te,Ue,oe,ge,Le,V=0,Qe=[],_t=new X(O);if(ze==null?ze=s:q(ze,0,T),ge=i(ze/y),x)if(crypto.getRandomValues){for(te=crypto.getRandomValues(new Uint32Array(ge*=2));V<ge;)Le=te[V]*131072+(te[V+1]>>>11),Le>=9e15?(Ue=crypto.getRandomValues(new Uint32Array(2)),te[V]=Ue[0],te[V+1]=Ue[1]):(Qe.push(Le%1e14),V+=2);V=ge/2}else if(crypto.randomBytes){for(te=crypto.randomBytes(ge*=7);V<ge;)Le=(te[V]&31)*281474976710656+te[V+1]*1099511627776+te[V+2]*4294967296+te[V+3]*16777216+(te[V+4]<<16)+(te[V+5]<<8)+te[V+6],Le>=9e15?crypto.randomBytes(7).copy(te,V):(Qe.push(Le%1e14),V+=7);V=ge/7}else throw x=!1,Error(o+"crypto unavailable");if(!x)for(;V<ge;)Le=ct(),Le<9e15&&(Qe[V++]=Le%1e14);for(ge=Qe[--V],ze%=y,ge&&ze&&(Le=I[y-ze],Qe[V]=n(ge/Le)*Le);Qe[V]===0;Qe.pop(),V--);if(V<0)Qe=[oe=0];else{for(oe=-1;Qe[0]===0;Qe.splice(0,1),oe-=y);for(V=1,Le=Qe[0];Le>=10;Le/=10,V++);V<y&&(oe-=y-V)}return _t.e=oe,_t.c=Qe,_t}})(),X.sum=function(){for(var Se=1,ct=arguments,ze=new X(ct[0]);Se<ct.length;)ze=ze.plus(ct[Se++]);return ze},ae=(function(){var Se="0123456789";function ct(ze,te,Ue,oe){for(var ge,Le=[0],V,Qe=0,_t=ze.length;Qe<_t;){for(V=Le.length;V--;Le[V]*=te);for(Le[0]+=oe.indexOf(ze.charAt(Qe++)),ge=0;ge<Le.length;ge++)Le[ge]>Ue-1&&(Le[ge+1]==null&&(Le[ge+1]=0),Le[ge+1]+=Le[ge]/Ue|0,Le[ge]%=Ue)}return Le.reverse()}return function(ze,te,Ue,oe,ge){var Le,V,Qe,_t,rt,At,Er,mt,Ht=ze.indexOf("."),zr=s,ve=l;for(Ht>=0&&(_t=u,u=0,ze=ze.replace(".",""),mt=new X(te),At=mt.pow(ze.length-Ht),u=_t,mt.c=ct(ce(P(At.c),At.e,"0"),10,Ue,Se),mt.e=mt.c.length),Er=ct(ze,te,Ue,ge?(Le=U,Se):(Le=Se,U)),Qe=_t=Er.length;Er[--_t]==0;Er.pop());if(!Er[0])return Le.charAt(0);if(Ht<0?--Qe:(At.c=Er,At.e=Qe,At.s=oe,At=pe(At,mt,zr,ve,Ue),Er=At.c,rt=At.r,Qe=At.e),V=Qe+zr+1,Ht=Er[V],_t=Ue/2,rt=rt||V<0||Er[V+1]!=null,rt=ve<4?(Ht!=null||rt)&&(ve==0||ve==(At.s<0?3:2)):Ht>_t||Ht==_t&&(ve==4||rt||ve==6&&Er[V-1]&1||ve==(At.s<0?8:7)),V<1||!Er[0])ze=rt?ce(Le.charAt(1),-zr,Le.charAt(0)):Le.charAt(0);else{if(Er.length=V,rt)for(--Ue;++Er[--V]>Ue;)Er[V]=0,V||(++Qe,Er=[1].concat(Er));for(_t=Er.length;!Er[--_t];);for(Ht=0,ze="";Ht<=_t;ze+=Le.charAt(Er[Ht++]));ze=ce(ze,Qe,Le.charAt(0))}return ze}})(),pe=(function(){function Se(te,Ue,oe){var ge,Le,V,Qe,_t=0,rt=te.length,At=Ue%N,Er=Ue/N|0;for(te=te.slice();rt--;)V=te[rt]%N,Qe=te[rt]/N|0,ge=Er*V+Qe*At,Le=At*V+ge%N*N+_t,_t=(Le/oe|0)+(ge/N|0)+Er*Qe,te[rt]=Le%oe;return _t&&(te=[_t].concat(te)),te}function ct(te,Ue,oe,ge){var Le,V;if(oe!=ge)V=oe>ge?1:-1;else for(Le=V=0;Le<oe;Le++)if(te[Le]!=Ue[Le]){V=te[Le]>Ue[Le]?1:-1;break}return V}function ze(te,Ue,oe,ge){for(var Le=0;oe--;)te[oe]-=Le,Le=te[oe]<Ue[oe]?1:0,te[oe]=Le*ge+te[oe]-Ue[oe];for(;!te[0]&&te.length>1;te.splice(0,1));}return function(te,Ue,oe,ge,Le){var V,Qe,_t,rt,At,Er,mt,Ht,zr,ve,ie,_e,Be,Ze,$t,at,zt,Hr=te.s==Ue.s?1:-1,St=te.c,Yt=Ue.c;if(!St||!St[0]||!Yt||!Yt[0])return new X(!te.s||!Ue.s||(St?Yt&&St[0]==Yt[0]:!Yt)?NaN:St&&St[0]==0||!Yt?Hr*0:Hr/0);for(Ht=new X(Hr),zr=Ht.c=[],Qe=te.e-Ue.e,Hr=oe+Qe+1,Le||(Le=g,Qe=D(te.e/y)-D(Ue.e/y),Hr=Hr/y|0),_t=0;Yt[_t]==(St[_t]||0);_t++);if(Yt[_t]>(St[_t]||0)&&Qe--,Hr<0)zr.push(1),rt=!0;else{for(Ze=St.length,at=Yt.length,_t=0,Hr+=2,At=n(Le/(Yt[0]+1)),At>1&&(Yt=Se(Yt,At,Le),St=Se(St,At,Le),at=Yt.length,Ze=St.length),Be=at,ve=St.slice(0,at),ie=ve.length;ie<at;ve[ie++]=0);zt=Yt.slice(),zt=[0].concat(zt),$t=Yt[0],Yt[1]>=Le/2&&$t++;do{if(At=0,V=ct(Yt,ve,at,ie),V<0){if(_e=ve[0],at!=ie&&(_e=_e*Le+(ve[1]||0)),At=n(_e/$t),At>1)for(At>=Le&&(At=Le-1),Er=Se(Yt,At,Le),mt=Er.length,ie=ve.length;ct(Er,ve,mt,ie)==1;)At--,ze(Er,at<mt?zt:Yt,mt,Le),mt=Er.length,V=1;else At==0&&(V=At=1),Er=Yt.slice(),mt=Er.length;if(mt<ie&&(Er=[0].concat(Er)),ze(ve,Er,ie,Le),ie=ve.length,V==-1)for(;ct(Yt,ve,at,ie)<1;)At++,ze(ve,at<ie?zt:Yt,ie,Le),ie=ve.length}else V===0&&(At++,ve=[0]);zr[_t++]=At,ve[0]?ve[ie++]=St[Be]||0:(ve=[St[Be]],ie=1)}while((Be++<Ze||ve[0]!=null)&&Hr--);rt=ve[0]!=null,zr[0]||zr.splice(0,1)}if(Le==g){for(_t=1,Hr=zr[0];Hr>=10;Hr/=10,_t++);Ge(Ht,oe+(Ht.e=_t+Qe*y-1)+1,ge,rt)}else Ht.e=Qe,Ht.r=+rt;return Ht}})();function Ae(Se,ct,ze,te){var Ue,oe,ge,Le,V;if(ze==null?ze=l:q(ze,0,8),!Se.c)return Se.toString();if(Ue=Se.c[0],ge=Se.e,ct==null)V=P(Se.c),V=te==1||te==2&&(ge<=A||ge>=m)?ne(V,ge):ce(V,ge,"0");else if(Se=Ge(new X(Se),ct,ze),oe=Se.e,V=P(Se.c),Le=V.length,te==1||te==2&&(ct<=oe||oe<=A)){for(;Le<ct;V+="0",Le++);V=ne(V,oe)}else if(ct-=ge,V=ce(V,oe,"0"),oe+1>Le){if(--ct>0)for(V+=".";ct--;V+="0");}else if(ct+=oe-Le,ct>0)for(oe+1==Le&&(V+=".");ct--;V+="0");return Se.s<0&&Ue?"-"+V:V}function he(Se,ct){for(var ze,te,Ue=1,oe=new X(Se[0]);Ue<Se.length;Ue++)te=new X(Se[Ue]),(!te.s||(ze=G(oe,te))===ct||ze===0&&oe.s===ct)&&(oe=te);return oe}function $e(Se,ct,ze){for(var te=1,Ue=ct.length;!ct[--Ue];ct.pop());for(Ue=ct[0];Ue>=10;Ue/=10,te++);return(ze=te+ze*y-1)>w?Se.c=Se.e=null:ze<E?Se.c=[Se.e=0]:(Se.e=ze,Se.c=ct),Se}W=(function(){var Se=/^(-?)0([xbo])(?=\w[\w.]*$)/i,ct=/^([^.]+)\.$/,ze=/^\.([^.]+)$/,te=/^-?(Infinity|NaN)$/,Ue=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(oe,ge,Le,V){var Qe,_t=Le?ge:ge.replace(Ue,"");if(te.test(_t))oe.s=isNaN(_t)?null:_t<0?-1:1;else{if(!Le&&(_t=_t.replace(Se,function(rt,At,Er){return Qe=(Er=Er.toLowerCase())=="x"?16:Er=="b"?2:8,!V||V==Qe?At:rt}),V&&(Qe=V,_t=_t.replace(ct,"$1").replace(ze,"0.$1")),ge!=_t))return new X(_t,Qe);if(X.DEBUG)throw Error(o+"Not a"+(V?" base "+V:"")+" number: "+ge);oe.s=null}oe.c=oe.e=null}})();function Ge(Se,ct,ze,te){var Ue,oe,ge,Le,V,Qe,_t,rt=Se.c,At=I;if(rt){e:{for(Ue=1,Le=rt[0];Le>=10;Le/=10,Ue++);if(oe=ct-Ue,oe<0)oe+=y,ge=ct,V=rt[Qe=0],_t=n(V/At[Ue-ge-1]%10);else if(Qe=i((oe+1)/y),Qe>=rt.length)if(te){for(;rt.length<=Qe;rt.push(0));V=_t=0,Ue=1,oe%=y,ge=oe-y+1}else break e;else{for(V=Le=rt[Qe],Ue=1;Le>=10;Le/=10,Ue++);oe%=y,ge=oe-y+Ue,_t=ge<0?0:n(V/At[Ue-ge-1]%10)}if(te=te||ct<0||rt[Qe+1]!=null||(ge<0?V:V%At[Ue-ge-1]),te=ze<4?(_t||te)&&(ze==0||ze==(Se.s<0?3:2)):_t>5||_t==5&&(ze==4||te||ze==6&&(oe>0?ge>0?V/At[Ue-ge]:0:rt[Qe-1])%10&1||ze==(Se.s<0?8:7)),ct<1||!rt[0])return rt.length=0,te?(ct-=Se.e+1,rt[0]=At[(y-ct%y)%y],Se.e=-ct||0):rt[0]=Se.e=0,Se;if(oe==0?(rt.length=Qe,Le=1,Qe--):(rt.length=Qe+1,Le=At[y-oe],rt[Qe]=ge>0?n(V/At[Ue-ge]%At[ge])*Le:0),te)for(;;)if(Qe==0){for(oe=1,ge=rt[0];ge>=10;ge/=10,oe++);for(ge=rt[0]+=Le,Le=1;ge>=10;ge/=10,Le++);oe!=Le&&(Se.e++,rt[0]==g&&(rt[0]=1));break}else{if(rt[Qe]+=Le,rt[Qe]!=g)break;rt[Qe--]=0,Le=1}for(oe=rt.length;rt[--oe]===0;rt.pop());}Se.e>w?Se.c=Se.e=null:Se.e<E&&(Se.c=[Se.e=0])}return Se}function Re(Se){var ct,ze=Se.e;return ze===null?Se.toString():(ct=P(Se.c),ct=ze<=A||ze>=m?ne(ct,ze):ce(ct,ze,"0"),Se.s<0?"-"+ct:ct)}return se.absoluteValue=se.abs=function(){var Se=new X(this);return Se.s<0&&(Se.s=1),Se},se.comparedTo=function(Se,ct){return G(this,new X(Se,ct))},se.decimalPlaces=se.dp=function(Se,ct){var ze,te,Ue,oe=this;if(Se!=null)return q(Se,0,T),ct==null?ct=l:q(ct,0,8),Ge(new X(oe),Se+oe.e+1,ct);if(!(ze=oe.c))return null;if(te=((Ue=ze.length-1)-D(this.e/y))*y,Ue=ze[Ue])for(;Ue%10==0;Ue/=10,te--);return te<0&&(te=0),te},se.dividedBy=se.div=function(Se,ct){return pe(this,new X(Se,ct),s,l)},se.dividedToIntegerBy=se.idiv=function(Se,ct){return pe(this,new X(Se,ct),0,1)},se.exponentiatedBy=se.pow=function(Se,ct){var ze,te,Ue,oe,ge,Le,V,Qe,_t,rt=this;if(Se=new X(Se),Se.c&&!Se.isInteger())throw Error(o+"Exponent not an integer: "+Re(Se));if(ct!=null&&(ct=new X(ct)),Le=Se.e>14,!rt.c||!rt.c[0]||rt.c[0]==1&&!rt.e&&rt.c.length==1||!Se.c||!Se.c[0])return _t=new X(Math.pow(+Re(rt),Le?Se.s*(2-Y(Se)):+Re(Se))),ct?_t.mod(ct):_t;if(V=Se.s<0,ct){if(ct.c?!ct.c[0]:!ct.s)return new X(NaN);te=!V&&rt.isInteger()&&ct.isInteger(),te&&(rt=rt.mod(ct))}else{if(Se.e>9&&(rt.e>0||rt.e<-1||(rt.e==0?rt.c[0]>1||Le&&rt.c[1]>=24e7:rt.c[0]<8e13||Le&&rt.c[0]<=9999975e7)))return oe=rt.s<0&&Y(Se)?-0:0,rt.e>-1&&(oe=1/oe),new X(V?1/oe:oe);u&&(oe=i(u/y+2))}for(Le?(ze=new X(.5),V&&(Se.s=1),Qe=Y(Se)):(Ue=Math.abs(+Re(Se)),Qe=Ue%2),_t=new X(O);;){if(Qe){if(_t=_t.times(rt),!_t.c)break;oe?_t.c.length>oe&&(_t.c.length=oe):te&&(_t=_t.mod(ct))}if(Ue){if(Ue=n(Ue/2),Ue===0)break;Qe=Ue%2}else if(Se=Se.times(ze),Ge(Se,Se.e+1,1),Se.e>14)Qe=Y(Se);else{if(Ue=+Re(Se),Ue===0)break;Qe=Ue%2}rt=rt.times(rt),oe?rt.c&&rt.c.length>oe&&(rt.c.length=oe):te&&(rt=rt.mod(ct))}return te?_t:(V&&(_t=O.div(_t)),ct?_t.mod(ct):oe?Ge(_t,u,l,ge):_t)},se.integerValue=function(Se){var ct=new X(this);return Se==null?Se=l:q(Se,0,8),Ge(ct,ct.e+1,Se)},se.isEqualTo=se.eq=function(Se,ct){return G(this,new X(Se,ct))===0},se.isFinite=function(){return!!this.c},se.isGreaterThan=se.gt=function(Se,ct){return G(this,new X(Se,ct))>0},se.isGreaterThanOrEqualTo=se.gte=function(Se,ct){return(ct=G(this,new X(Se,ct)))===1||ct===0},se.isInteger=function(){return!!this.c&&D(this.e/y)>this.c.length-2},se.isLessThan=se.lt=function(Se,ct){return G(this,new X(Se,ct))<0},se.isLessThanOrEqualTo=se.lte=function(Se,ct){return(ct=G(this,new X(Se,ct)))===-1||ct===0},se.isNaN=function(){return!this.s},se.isNegative=function(){return this.s<0},se.isPositive=function(){return this.s>0},se.isZero=function(){return!!this.c&&this.c[0]==0},se.minus=function(Se,ct){var ze,te,Ue,oe,ge=this,Le=ge.s;if(Se=new X(Se,ct),ct=Se.s,!Le||!ct)return new X(NaN);if(Le!=ct)return Se.s=-ct,ge.plus(Se);var V=ge.e/y,Qe=Se.e/y,_t=ge.c,rt=Se.c;if(!V||!Qe){if(!_t||!rt)return _t?(Se.s=-ct,Se):new X(rt?ge:NaN);if(!_t[0]||!rt[0])return rt[0]?(Se.s=-ct,Se):new X(_t[0]?ge:l==3?-0:0)}if(V=D(V),Qe=D(Qe),_t=_t.slice(),Le=V-Qe){for((oe=Le<0)?(Le=-Le,Ue=_t):(Qe=V,Ue=rt),Ue.reverse(),ct=Le;ct--;Ue.push(0));Ue.reverse()}else for(te=(oe=(Le=_t.length)<(ct=rt.length))?Le:ct,Le=ct=0;ct<te;ct++)if(_t[ct]!=rt[ct]){oe=_t[ct]<rt[ct];break}if(oe&&(Ue=_t,_t=rt,rt=Ue,Se.s=-Se.s),ct=(te=rt.length)-(ze=_t.length),ct>0)for(;ct--;_t[ze++]=0);for(ct=g-1;te>Le;){if(_t[--te]<rt[te]){for(ze=te;ze&&!_t[--ze];_t[ze]=ct);--_t[ze],_t[te]+=g}_t[te]-=rt[te]}for(;_t[0]==0;_t.splice(0,1),--Qe);return _t[0]?$e(Se,_t,Qe):(Se.s=l==3?-1:1,Se.c=[Se.e=0],Se)},se.modulo=se.mod=function(Se,ct){var ze,te,Ue=this;return Se=new X(Se,ct),!Ue.c||!Se.s||Se.c&&!Se.c[0]?new X(NaN):!Se.c||Ue.c&&!Ue.c[0]?new X(Ue):(R==9?(te=Se.s,Se.s=1,ze=pe(Ue,Se,0,3),Se.s=te,ze.s*=te):ze=pe(Ue,Se,0,R),Se=Ue.minus(ze.times(Se)),!Se.c[0]&&R==1&&(Se.s=Ue.s),Se)},se.multipliedBy=se.times=function(Se,ct){var ze,te,Ue,oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr,ve=this,ie=ve.c,_e=(Se=new X(Se,ct)).c;if(!ie||!_e||!ie[0]||!_e[0])return!ve.s||!Se.s||ie&&!ie[0]&&!_e||_e&&!_e[0]&&!ie?Se.c=Se.e=Se.s=null:(Se.s*=ve.s,!ie||!_e?Se.c=Se.e=null:(Se.c=[0],Se.e=0)),Se;for(te=D(ve.e/y)+D(Se.e/y),Se.s*=ve.s,V=ie.length,rt=_e.length,V<rt&&(mt=ie,ie=_e,_e=mt,Ue=V,V=rt,rt=Ue),Ue=V+rt,mt=[];Ue--;mt.push(0));for(Ht=g,zr=N,Ue=rt;--Ue>=0;){for(ze=0,At=_e[Ue]%zr,Er=_e[Ue]/zr|0,ge=V,oe=Ue+ge;oe>Ue;)Qe=ie[--ge]%zr,_t=ie[ge]/zr|0,Le=Er*Qe+_t*At,Qe=At*Qe+Le%zr*zr+mt[oe]+ze,ze=(Qe/Ht|0)+(Le/zr|0)+Er*_t,mt[oe--]=Qe%Ht;mt[oe]=ze}return ze?++te:mt.splice(0,1),$e(Se,mt,te)},se.negated=function(){var Se=new X(this);return Se.s=-Se.s||null,Se},se.plus=function(Se,ct){var ze,te=this,Ue=te.s;if(Se=new X(Se,ct),ct=Se.s,!Ue||!ct)return new X(NaN);if(Ue!=ct)return Se.s=-ct,te.minus(Se);var oe=te.e/y,ge=Se.e/y,Le=te.c,V=Se.c;if(!oe||!ge){if(!Le||!V)return new X(Ue/0);if(!Le[0]||!V[0])return V[0]?Se:new X(Le[0]?te:Ue*0)}if(oe=D(oe),ge=D(ge),Le=Le.slice(),Ue=oe-ge){for(Ue>0?(ge=oe,ze=V):(Ue=-Ue,ze=Le),ze.reverse();Ue--;ze.push(0));ze.reverse()}for(Ue=Le.length,ct=V.length,Ue-ct<0&&(ze=V,V=Le,Le=ze,ct=Ue),Ue=0;ct;)Ue=(Le[--ct]=Le[ct]+V[ct]+Ue)/g|0,Le[ct]=g===Le[ct]?0:Le[ct]%g;return Ue&&(Le=[Ue].concat(Le),++ge),$e(Se,Le,ge)},se.precision=se.sd=function(Se,ct){var ze,te,Ue,oe=this;if(Se!=null&&Se!==!!Se)return q(Se,1,T),ct==null?ct=l:q(ct,0,8),Ge(new X(oe),Se,ct);if(!(ze=oe.c))return null;if(Ue=ze.length-1,te=Ue*y+1,Ue=ze[Ue]){for(;Ue%10==0;Ue/=10,te--);for(Ue=ze[0];Ue>=10;Ue/=10,te++);}return Se&&oe.e+1>te&&(te=oe.e+1),te},se.shiftedBy=function(Se){return q(Se,-_,_),this.times("1e"+Se)},se.squareRoot=se.sqrt=function(){var Se,ct,ze,te,Ue,oe=this,ge=oe.c,Le=oe.s,V=oe.e,Qe=s+4,_t=new X("0.5");if(Le!==1||!ge||!ge[0])return new X(!Le||Le<0&&(!ge||ge[0])?NaN:ge?oe:1/0);if(Le=Math.sqrt(+Re(oe)),Le==0||Le==1/0?(ct=P(ge),(ct.length+V)%2==0&&(ct+="0"),Le=Math.sqrt(+ct),V=D((V+1)/2)-(V<0||V%2),Le==1/0?ct="5e"+V:(ct=Le.toExponential(),ct=ct.slice(0,ct.indexOf("e")+1)+V),ze=new X(ct)):ze=new X(Le+""),ze.c[0]){for(V=ze.e,Le=V+Qe,Le<3&&(Le=0);;)if(Ue=ze,ze=_t.times(Ue.plus(pe(oe,Ue,Qe,1))),P(Ue.c).slice(0,Le)===(ct=P(ze.c)).slice(0,Le))if(ze.e<V&&--Le,ct=ct.slice(Le-3,Le+1),ct=="9999"||!te&&ct=="4999"){if(!te&&(Ge(Ue,Ue.e+s+2,0),Ue.times(Ue).eq(oe))){ze=Ue;break}Qe+=4,Le+=4,te=1}else{(!+ct||!+ct.slice(1)&&ct.charAt(0)=="5")&&(Ge(ze,ze.e+s+2,1),Se=!ze.times(ze).eq(oe));break}}return Ge(ze,ze.e+s+1,l,Se)},se.toExponential=function(Se,ct){return Se!=null&&(q(Se,0,T),Se++),Ae(this,Se,ct,1)},se.toFixed=function(Se,ct){return Se!=null&&(q(Se,0,T),Se=Se+this.e+1),Ae(this,Se,ct)},se.toFormat=function(Se,ct,ze){var te,Ue=this;if(ze==null)Se!=null&&ct&&typeof ct=="object"?(ze=ct,ct=null):Se&&typeof Se=="object"?(ze=Se,Se=ct=null):ze=C;else if(typeof ze!="object")throw Error(o+"Argument not an object: "+ze);if(te=Ue.toFixed(Se,ct),Ue.c){var oe,ge=te.split("."),Le=+ze.groupSize,V=+ze.secondaryGroupSize,Qe=ze.groupSeparator||"",_t=ge[0],rt=ge[1],At=Ue.s<0,Er=At?_t.slice(1):_t,mt=Er.length;if(V&&(oe=Le,Le=V,V=oe,mt-=oe),Le>0&&mt>0){for(oe=mt%Le||Le,_t=Er.substr(0,oe);oe<mt;oe+=Le)_t+=Qe+Er.substr(oe,Le);V>0&&(_t+=Qe+Er.slice(oe)),At&&(_t="-"+_t)}te=rt?_t+(ze.decimalSeparator||"")+((V=+ze.fractionGroupSize)?rt.replace(new RegExp("\\d{"+V+"}\\B","g"),"$&"+(ze.fractionGroupSeparator||"")):rt):_t}return(ze.prefix||"")+te+(ze.suffix||"")},se.toFraction=function(Se){var ct,ze,te,Ue,oe,ge,Le,V,Qe,_t,rt,At,Er=this,mt=Er.c;if(Se!=null&&(Le=new X(Se),!Le.isInteger()&&(Le.c||Le.s!==1)||Le.lt(O)))throw Error(o+"Argument "+(Le.isInteger()?"out of range: ":"not an integer: ")+Re(Le));if(!mt)return new X(Er);for(ct=new X(O),Qe=ze=new X(O),te=V=new X(O),At=P(mt),oe=ct.e=At.length-Er.e-1,ct.c[0]=I[(ge=oe%y)<0?y+ge:ge],Se=!Se||Le.comparedTo(ct)>0?oe>0?ct:Qe:Le,ge=w,w=1/0,Le=new X(At),V.c[0]=0;_t=pe(Le,ct,0,1),Ue=ze.plus(_t.times(te)),Ue.comparedTo(Se)!=1;)ze=te,te=Ue,Qe=V.plus(_t.times(Ue=Qe)),V=Ue,ct=Le.minus(_t.times(Ue=ct)),Le=Ue;return Ue=pe(Se.minus(ze),te,0,1),V=V.plus(Ue.times(Qe)),ze=ze.plus(Ue.times(te)),V.s=Qe.s=Er.s,oe=oe*2,rt=pe(Qe,te,oe,l).minus(Er).abs().comparedTo(pe(V,ze,oe,l).minus(Er).abs())<1?[Qe,te]:[V,ze],w=ge,rt},se.toNumber=function(){return+Re(this)},se.toPrecision=function(Se,ct){return Se!=null&&q(Se,1,T),Ae(this,Se,ct,2)},se.toString=function(Se){var ct,ze=this,te=ze.s,Ue=ze.e;return Ue===null?te?(ct="Infinity",te<0&&(ct="-"+ct)):ct="NaN":(Se==null?ct=Ue<=A||Ue>=m?ne(P(ze.c),Ue):ce(P(ze.c),Ue,"0"):Se===10&&F?(ze=Ge(new X(ze),s+Ue+1,l),ct=ce(P(ze.c),ze.e,"0")):(q(Se,2,U.length,"Base"),ct=ae(ce(P(ze.c),Ue,"0"),10,Se,te,!0)),te<0&&ze.c[0]&&(ct="-"+ct)),ct},se.valueOf=se.toJSON=function(){return Re(this)},se._isBigNumber=!0,le!=null&&X.set(le),X}function D(le){var pe=le|0;return le>0||le===pe?pe:pe-1}function P(le){for(var pe,ae,W=1,se=le.length,O=le[0]+"";W<se;){for(pe=le[W++]+"",ae=y-pe.length;ae--;pe="0"+pe);O+=pe}for(se=O.length;O.charCodeAt(--se)===48;);return O.slice(0,se+1||1)}function G(le,pe){var ae,W,se=le.c,O=pe.c,s=le.s,l=pe.s,A=le.e,m=pe.e;if(!s||!l)return null;if(ae=se&&!se[0],W=O&&!O[0],ae||W)return ae?W?0:-l:s;if(s!=l)return s;if(ae=s<0,W=A==m,!se||!O)return W?0:!se^ae?1:-1;if(!W)return A>m^ae?1:-1;for(l=(A=se.length)<(m=O.length)?A:m,s=0;s<l;s++)if(se[s]!=O[s])return se[s]>O[s]^ae?1:-1;return A==m?0:A>m^ae?1:-1}function q(le,pe,ae,W){if(le<pe||le>ae||le!==n(le))throw Error(o+(W||"Argument")+(typeof le=="number"?le<pe||le>ae?" out of range: ":" not an integer: ":" not a primitive number: ")+String(le))}function Y(le){var pe=le.c.length-1;return D(le.e/y)==pe&&le.c[pe]%2!=0}function ne(le,pe){return(le.length>1?le.charAt(0)+"."+le.slice(1):le)+(pe<0?"e":"e+")+pe}function ce(le,pe,ae){var W,se;if(pe<0){for(se=ae+".";++pe;se+=ae);le=se+le}else if(W=le.length,++pe>W){for(se=ae,pe-=W;--pe;se+=ae);le+=se}else pe<W&&(le=le.slice(0,pe)+"."+le.slice(pe));return le}t=M(),t.default=t.BigNumber=t,typeof define=="function"&&define.amd?define(function(){return t}):typeof yV<"u"&&yV.exports?yV.exports=t:(e||(e=typeof self<"u"&&self?self:window),e.BigNumber=t)})(AJe)});var gJe=ir(I0e=>{"use strict";J();K();z();Object.defineProperty(I0e,"__esModule",{value:!0});var NNt=pJe(),S0e=class{BigNum;constructor(){this.BigNum=(t,r)=>{let i=NNt.BigNumber.clone({DECIMAL_PLACES:r});return new i(t)}}winstonToAr(t,{formatted:r=!1,decimals:i=12,trim:n=!0}={}){let o=this.stringToBigNum(t,i).shiftedBy(-12);return r?o.toFormat(i):o.toFixed(i)}arToWinston(t,{formatted:r=!1}={}){let i=this.stringToBigNum(t).shiftedBy(12);return r?i.toFormat():i.toFixed(0)}compare(t,r){let i=this.stringToBigNum(t),n=this.stringToBigNum(r);return i.comparedTo(n)}isEqual(t,r){return this.compare(t,r)===0}isLessThan(t,r){let i=this.stringToBigNum(t),n=this.stringToBigNum(r);return i.isLessThan(n)}isGreaterThan(t,r){let i=this.stringToBigNum(t),n=this.stringToBigNum(r);return i.isGreaterThan(n)}add(t,r){let i=this.stringToBigNum(t),n=this.stringToBigNum(r);return i.plus(r).toFixed(0)}sub(t,r){let i=this.stringToBigNum(t),n=this.stringToBigNum(r);return i.minus(r).toFixed(0)}stringToBigNum(t,r=12){return this.BigNum(t,r)}};I0e.default=S0e});var _Je=ir(w0e=>{"use strict";J();K();z();Object.defineProperty(w0e,"__esModule",{value:!0});var C0e=class{METHOD_GET="GET";METHOD_POST="POST";config;constructor(t){this.applyConfig(t)}applyConfig(t){this.config=this.mergeDefaults(t)}getConfig(){return this.config}mergeDefaults(t){let r=t.protocol||"http",i=t.port||(r==="https"?443:80);return{host:t.host||"127.0.0.1",protocol:r,port:i,timeout:t.timeout||2e4,logging:t.logging||!1,logger:t.logger||console.log,network:t.network}}async get(t,r){return await this.request(t,{...r,method:this.METHOD_GET})}async post(t,r,i){let n=new Headers(i?.headers||{});return n.get("content-type")?.includes("application/json")||n.append("content-type","application/json"),n.append("accept","application/json, text/plain, */*"),await this.request(t,{...i,method:this.METHOD_POST,body:typeof r!="string"?JSON.stringify(r):r,headers:n})}async request(t,r){let i=new Headers(r?.headers||{}),n=`${this.config.protocol}://${this.config.host}:${this.config.port}`,o=r?.responseType;delete r?.responseType,t.startsWith("/")&&(t=t.slice(1)),this.config.network&&i.append("x-network",this.config.network),this.config.logging&&this.config.logger(`Requesting: ${n}/${t}`);let d=await fetch(`${n}/${t}`,{...r||{},headers:i});this.config.logging&&this.config.logger(`Response: ${d.url} - ${d.status}`);let y=d.headers.get("content-type")?.match(/charset=([^()<>@,;:\"/[\]?.=\s]*)/i)?.[1],_=d,I=async()=>{if(y)try{_.data=new TextDecoder(y).decode(await d.arrayBuffer())}catch{_.data=await d.text()}else _.data=await d.text()};if(o==="arraybuffer")_.data=await d.arrayBuffer();else if(o==="text")await I();else if(o==="webstream")_.data=xNt(d.body);else try{let N=await d.clone().json();typeof N!="object"?await I():_.data=await d.json(),N=null}catch{await I()}return _}};w0e.default=C0e;var xNt=e=>{let t=e;return typeof t[Symbol.asyncIterator]>"u"?(t[Symbol.asyncIterator]=TNt(e),t):e},TNt=function(e){return async function*(){let r=e.getReader();try{for(;;){let{done:i,value:n}=await r.read();if(i)return;yield n}}finally{r.releaseLock()}}}});var mJe=ir(N0e=>{"use strict";J();K();z();Object.defineProperty(N0e,"__esModule",{value:!0});var O0e=class{api;constructor(t){this.api=t}getInfo(){return this.api.get("info").then(t=>t.data)}getPeers(){return this.api.get("peers").then(t=>t.data)}};N0e.default=O0e});var VD=ir(qD=>{"use strict";J();K();z();Object.defineProperty(qD,"__esModule",{value:!0});qD.getError=void 0;var x0e=class extends Error{type;response;constructor(t,r={}){r.message?super(r.message):super(),this.type=t,this.response=r.response}getType(){return this.type}};qD.default=x0e;function BNt(e){let t=e.data;if(typeof e.data=="string")try{t=JSON.parse(e.data)}catch{}if(e.data instanceof ArrayBuffer||e.data instanceof Uint8Array)try{t=JSON.parse(t.toString())}catch{}return t?t.error||t:e.statusText||"unknown"}qD.getError=BNt});var P0e=ir(us=>{"use strict";J();K();z();Object.defineProperty(us,"__esModule",{value:!0});us.debug=us.validatePath=us.arrayCompare=us.bufferToInt=us.intToBuffer=us.arrayFlatten=us.generateProofs=us.buildLayers=us.generateTransactionChunks=us.generateTree=us.computeRootHash=us.generateLeaves=us.chunkData=us.MIN_CHUNK_SIZE=us.MAX_CHUNK_SIZE=void 0;var bV=$D(),yJe=Rm();us.MAX_CHUNK_SIZE=256*1024;us.MIN_CHUNK_SIZE=32*1024;var zD=32,HO=32;async function B0e(e){let t=[],r=e,i=0;for(;r.byteLength>=us.MAX_CHUNK_SIZE;){let n=us.MAX_CHUNK_SIZE,o=r.byteLength-us.MAX_CHUNK_SIZE;o>0&&o<us.MIN_CHUNK_SIZE&&(n=Math.ceil(r.byteLength/2));let d=r.slice(0,n),g=await bV.default.crypto.hash(d);i+=d.byteLength,t.push({dataHash:g,minByteRange:i-d.byteLength,maxByteRange:i}),r=r.slice(n)}return t.push({dataHash:await bV.default.crypto.hash(r),minByteRange:i,maxByteRange:i+r.byteLength}),t}us.chunkData=B0e;async function M0e(e){return Promise.all(e.map(async({dataHash:t,minByteRange:r,maxByteRange:i})=>({type:"leaf",id:await ol(await Promise.all([ol(t),ol(KD(i))])),dataHash:t,minByteRange:r,maxByteRange:i})))}us.generateLeaves=M0e;async function MNt(e){return(await bJe(e)).id}us.computeRootHash=MNt;async function bJe(e){return await EV(await M0e(await B0e(e)))}us.generateTree=bJe;async function DNt(e){let t=await B0e(e),r=await M0e(t),i=await EV(r),n=await EJe(i),o=t.slice(-1)[0];return o.maxByteRange-o.minByteRange===0&&(t.splice(t.length-1,1),n.splice(n.length-1,1)),{data_root:i.id,chunks:t,proofs:n}}us.generateTransactionChunks=DNt;async function EV(e,t=0){if(e.length<2)return e[0];let r=[];for(let i=0;i<e.length;i+=2)r.push(await kNt(e[i],e[i+1]));return EV(r,t+1)}us.buildLayers=EV;function EJe(e){let t=T0e(e);return Array.isArray(t)?D0e(t):[t]}us.generateProofs=EJe;function T0e(e,t=new Uint8Array,r=0){if(e.type=="leaf")return{offset:e.maxByteRange-1,proof:(0,yJe.concatBuffers)([t,e.dataHash,KD(e.maxByteRange)])};if(e.type=="branch"){let i=(0,yJe.concatBuffers)([t,e.leftChild.id,e.rightChild.id,KD(e.byteRange)]);return[T0e(e.leftChild,i,r+1),T0e(e.rightChild,i,r+1)]}throw new Error("Unexpected node type")}function D0e(e){let t=[];return e.forEach(r=>{Array.isArray(r)?t.push(...D0e(r)):t.push(r)}),t}us.arrayFlatten=D0e;async function kNt(e,t){return t?{type:"branch",id:await ol([await ol(e.id),await ol(t.id),await ol(KD(e.maxByteRange))]),byteRange:e.maxByteRange,maxByteRange:t.maxByteRange,leftChild:e,rightChild:t}:e}async function ol(e){return Array.isArray(e)&&(e=bV.default.utils.concatBuffers(e)),new Uint8Array(await bV.default.crypto.hash(e))}function KD(e){let t=new Uint8Array(zD);for(var r=t.length-1;r>=0;r--){var i=e%256;t[r]=i,e=(e-i)/256}return t}us.intToBuffer=KD;function k0e(e){let t=0;for(var r=0;r<e.length;r++)t*=256,t+=e[r];return t}us.bufferToInt=k0e;var PNt=(e,t)=>e.every((r,i)=>t[i]===r);us.arrayCompare=PNt;async function JD(e,t,r,i,n){if(i<=0)return!1;if(t>=i)return JD(e,0,i-1,i,n);if(t<0)return JD(e,0,0,i,n);if(n.length==HO+zD){let N=n.slice(0,HO),T=n.slice(N.length,N.length+zD),M=await ol([await ol(N),await ol(T)]);return(0,us.arrayCompare)(e,M)?{offset:i-1,leftBound:r,rightBound:i,chunkSize:i-r}:!1}let o=n.slice(0,HO),d=n.slice(o.length,o.length+HO),g=n.slice(o.length+d.length,o.length+d.length+zD),y=k0e(g),_=n.slice(o.length+d.length+g.length),I=await ol([await ol(o),await ol(d),await ol(g)]);return(0,us.arrayCompare)(e,I)?t<y?await JD(o,t,r,Math.min(i,y),_):await JD(d,t,Math.max(r,y),i,_):!1}us.validatePath=JD;async function vJe(e,t=""){if(e.byteLength<1)return t;let r=e.slice(0,HO),i=e.slice(r.length,r.length+HO),n=e.slice(r.length+i.length,r.length+i.length+zD),o=k0e(n),d=e.slice(r.length+i.length+n.length),g=await ol([await ol(r),await ol(i),await ol(n)]),y=`${t} +${JSON.stringify(fe.from(r))},${JSON.stringify(fe.from(i))},${o} => ${JSON.stringify(g)}`;return vJe(d,y)}us.debug=vJe});var CJe=ir(vV=>{"use strict";J();K();z();Object.defineProperty(vV,"__esModule",{value:!0});vV.TransactionUploader=void 0;var RJe=YD(),LNt=Rm(),L0e=VD(),UNt=P0e(),SJe=1,FNt=["invalid_json","chunk_too_big","data_path_too_big","offset_too_big","data_size_too_big","chunk_proof_ratio_not_attractive","invalid_proof"],IJe=1e3*40,U0e=class e{api;chunkIndex=0;txPosted=!1;transaction;lastRequestTimeEnd=0;totalErrors=0;data;lastResponseStatus=0;lastResponseError="";get isComplete(){return this.txPosted&&this.chunkIndex===this.transaction.chunks.chunks.length}get totalChunks(){return this.transaction.chunks.chunks.length}get uploadedChunks(){return this.chunkIndex}get pctComplete(){return Math.trunc(this.uploadedChunks/this.totalChunks*100)}constructor(t,r){if(this.api=t,!r.id)throw new Error("Transaction is not signed");if(!r.chunks)throw new Error("Transaction chunks not prepared");this.data=r.data,this.transaction=new RJe.default(Object.assign({},r,{data:new Uint8Array(0)}))}async uploadChunk(t){if(this.isComplete)throw new Error("Upload is already complete");if(this.lastResponseError!==""?this.totalErrors++:this.totalErrors=0,this.totalErrors===100)throw new Error(`Unable to complete upload: ${this.lastResponseStatus}: ${this.lastResponseError}`);let r=this.lastResponseError===""?0:Math.max(this.lastRequestTimeEnd+IJe-Date.now(),IJe);if(r>0&&(r=r-r*Math.random()*.3,await new Promise(d=>setTimeout(d,r))),this.lastResponseError="",!this.txPosted){await this.postTransaction();return}t&&(this.chunkIndex=t);let i=this.transaction.getChunk(t||this.chunkIndex,this.data);if(!await(0,UNt.validatePath)(this.transaction.chunks.data_root,parseInt(i.offset),0,parseInt(i.data_size),LNt.b64UrlToBuffer(i.data_path)))throw new Error(`Unable to validate chunk ${this.chunkIndex}`);let o=await this.api.post("chunk",this.transaction.getChunk(this.chunkIndex,this.data)).catch(d=>(console.error(d.message),{status:-1,data:{error:d.message}}));if(this.lastRequestTimeEnd=Date.now(),this.lastResponseStatus=o.status,this.lastResponseStatus==200)this.chunkIndex++;else if(this.lastResponseError=(0,L0e.getError)(o),FNt.includes(this.lastResponseError))throw new Error(`Fatal error uploading chunk ${this.chunkIndex}: ${this.lastResponseError}`)}static async fromSerialized(t,r,i){if(!r||typeof r.chunkIndex!="number"||typeof r.transaction!="object")throw new Error("Serialized object does not match expected format.");var n=new RJe.default(r.transaction);n.chunks||await n.prepareChunks(i);let o=new e(t,n);if(o.chunkIndex=r.chunkIndex,o.lastRequestTimeEnd=r.lastRequestTimeEnd,o.lastResponseError=r.lastResponseError,o.lastResponseStatus=r.lastResponseStatus,o.txPosted=r.txPosted,o.data=i,o.transaction.data_root!==r.transaction.data_root)throw new Error("Data mismatch: Uploader doesn't match provided data.");return o}static async fromTransactionId(t,r){let i=await t.get(`tx/${r}`);if(i.status!==200)throw new Error(`Tx ${r} not found: ${i.status}`);let n=i.data;return n.data=new Uint8Array(0),{txPosted:!0,chunkIndex:0,lastResponseError:"",lastRequestTimeEnd:0,lastResponseStatus:0,transaction:n}}toJSON(){return{chunkIndex:this.chunkIndex,transaction:this.transaction,lastRequestTimeEnd:this.lastRequestTimeEnd,lastResponseStatus:this.lastResponseStatus,lastResponseError:this.lastResponseError,txPosted:this.txPosted}}async postTransaction(){if(this.totalChunks<=SJe){this.transaction.data=this.data;let i=await this.api.post("tx",this.transaction).catch(n=>(console.error(n),{status:-1,data:{error:n.message}}));if(this.lastRequestTimeEnd=Date.now(),this.lastResponseStatus=i.status,this.transaction.data=new Uint8Array(0),i.status>=200&&i.status<300){this.txPosted=!0,this.chunkIndex=SJe;return}throw this.lastResponseError=(0,L0e.getError)(i),new Error(`Unable to upload transaction: ${i.status}, ${this.lastResponseError}`)}let r=await this.api.post("tx",this.transaction);if(this.lastRequestTimeEnd=Date.now(),this.lastResponseStatus=r.status,!(r.status>=200&&r.status<300))throw this.lastResponseError=(0,L0e.getError)(r),new Error(`Unable to upload transaction: ${r.status}, ${this.lastResponseError}`);this.txPosted=!0}};vV.TransactionUploader=U0e});var RV=ir((c3n,wJe)=>{"use strict";J();K();z();wJe.exports={}});var OJe=ir(G0e=>{"use strict";J();K();z();Object.defineProperty(G0e,"__esModule",{value:!0});var F0e=VD(),Uv=YD(),WD=Rm(),Q0e=CJe();RV();var H0e=class{api;crypto;chunks;constructor(t,r,i){this.api=t,this.crypto=r,this.chunks=i}async getTransactionAnchor(){let t=await this.api.get("tx_anchor");if(!t.data.match(/^[a-z0-9_-]{43,}/i)||!t.ok)throw new Error(`Could not getTransactionAnchor. Received: ${t.data}. Status: ${t.status}, ${t.statusText}`);return t.data}async getPrice(t,r){let i=r?`price/${t}/${r}`:`price/${t}`,n=await this.api.get(i);if(!/^\d+$/.test(n.data)||!n.ok)throw new Error(`Could not getPrice. Received: ${n.data}. Status: ${n.status}, ${n.statusText}`);return n.data}async get(t){let r=await this.api.get(`tx/${t}`);if(r.status==200){let i=parseInt(r.data.data_size);if(r.data.format>=2&&i>0&&i<=1024*1024*12){let n=await this.getData(t);return new Uv.default({...r.data,data:n})}return new Uv.default({...r.data,format:r.data.format||1})}throw r.status==404?new F0e.default("TX_NOT_FOUND"):r.status==410?new F0e.default("TX_FAILED"):new F0e.default("TX_INVALID")}fromRaw(t){return new Uv.default(t)}async search(t,r){return this.api.post("arql",{op:"equals",expr1:t,expr2:r}).then(i=>i.data?i.data:[])}getStatus(t){return this.api.get(`tx/${t}/status`).then(r=>r.status==200?{status:200,confirmed:r.data}:{status:r.status,confirmed:null})}async getData(t,r){let i;try{i=await this.chunks.downloadChunkedData(t)}catch(n){console.error(`Error while trying to download chunked data for ${t}`),console.error(n)}if(!i){console.warn(`Falling back to gateway cache for ${t}`);try{let{data:n,ok:o,status:d,statusText:g}=await this.api.get(`/${t}`,{responseType:"arraybuffer"});if(!o)throw new Error("Bad http status code",{cause:{status:d,statusText:g}});i=n}catch(n){console.error(`Error while trying to download contiguous data from gateway cache for ${t}`),console.error(n)}}if(!i)throw new Error(`${t} data was not found!`);return r&&r.decode&&!r.string?i:r&&r.decode&&r.string?WD.bufferToString(i):WD.bufferTob64Url(i)}async sign(t,r,i){let o=typeof r=="object"&&(g=>{let y=!0;return["n","e","d","p","q","dp","dq","qi"].map(_=>!(_ in g)&&(y=!1)),y})(r),d=typeof arweaveWallet=="object";if(!o&&!d)throw new Error("No valid JWK or external wallet found to sign transaction.");if(o){t.setOwner(r.n);let g=await t.getSignatureData(),y=await this.crypto.sign(r,g,i),_=await this.crypto.hash(y);t.setSignature({id:WD.bufferTob64Url(_),owner:r.n,signature:WD.bufferTob64Url(y)})}else if(d){try{(await arweaveWallet.getPermissions()).includes("SIGN_TRANSACTION")||await arweaveWallet.connect(["SIGN_TRANSACTION"])}catch{}let g=await arweaveWallet.sign(t,i);t.setSignature({id:g.id,owner:g.owner,reward:g.reward,tags:g.tags,signature:g.signature})}else throw new Error("An error occurred while signing. Check wallet is valid")}async verify(t){let r=await t.getSignatureData(),i=t.get("signature",{decode:!0,string:!1}),n=WD.bufferTob64Url(await this.crypto.hash(i));if(t.id!==n)throw new Error("Invalid transaction signature or ID! The transaction ID doesn't match the expected SHA-256 hash of the signature.");return this.crypto.verify(t.owner,r,i)}async post(t){if(typeof t=="string"?t=new Uv.default(JSON.parse(t)):typeof t.readInt32BE=="function"?t=new Uv.default(JSON.parse(t.toString())):typeof t=="object"&&!(t instanceof Uv.default)&&(t=new Uv.default(t)),!(t instanceof Uv.default))throw new Error("Must be Transaction object");t.chunks||await t.prepareChunks(t.data);let r=await this.getUploader(t,t.data);try{for(;!r.isComplete;)await r.uploadChunk()}catch(i){if(r.lastResponseStatus>0)return{status:r.lastResponseStatus,statusText:r.lastResponseError,data:{error:r.lastResponseError}};throw i}return{status:200,statusText:"OK",data:{}}}async getUploader(t,r){let i;if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),t instanceof Uv.default){if(r||(r=t.data),!(r instanceof Uint8Array))throw new Error("Data format is invalid");t.chunks||await t.prepareChunks(r),i=new Q0e.TransactionUploader(this.api,t),(!i.data||i.data.length===0)&&(i.data=r)}else{if(typeof t=="string"&&(t=await Q0e.TransactionUploader.fromTransactionId(this.api,t)),!r||!(r instanceof Uint8Array))throw new Error("Must provide data when resuming upload");i=await Q0e.TransactionUploader.fromSerialized(this.api,t,r)}return i}async*upload(t,r){let i=await this.getUploader(t,r);for(;!i.isComplete;)await i.uploadChunk(),yield i;return i}};G0e.default=H0e});var xJe=ir(V0e=>{"use strict";J();K();z();Object.defineProperty(V0e,"__esModule",{value:!0});var NJe=Rm();RV();var q0e=class{api;crypto;constructor(t,r){this.api=t,this.crypto=r}getBalance(t){return this.api.get(`wallet/${t}/balance`).then(r=>r.data)}getLastTransactionID(t){return this.api.get(`wallet/${t}/last_tx`).then(r=>r.data)}generate(){return this.crypto.generateJWK()}async jwkToAddress(t){return!t||t==="use_wallet"?this.getAddress():this.getAddress(t)}async getAddress(t){if(!t||t==="use_wallet"){try{await arweaveWallet.connect(["ACCESS_ADDRESS"])}catch{}return arweaveWallet.getActiveAddress()}else return this.ownerToAddress(t.n)}async ownerToAddress(t){return NJe.bufferTob64Url(await this.crypto.hash(NJe.b64UrlToBuffer(t)))}};V0e.default=q0e});var BJe=ir(XD=>{"use strict";J();K();z();Object.defineProperty(XD,"__esModule",{value:!0});XD.SiloResource=void 0;var TJe=Rm(),J0e=class{api;crypto;transactions;constructor(t,r,i){this.api=t,this.crypto=r,this.transactions=i}async get(t){if(!t)throw new Error("No Silo URI specified");let r=await this.parseUri(t),i=await this.transactions.search("Silo-Name",r.getAccessKey());if(i.length==0)throw new Error(`No data could be found for the Silo URI: ${t}`);let n=await this.transactions.get(i[0]);if(!n)throw new Error(`No data could be found for the Silo URI: ${t}`);let o=n.get("data",{decode:!0,string:!1});return this.crypto.decrypt(o,r.getEncryptionKey())}async readTransactionData(t,r){if(!r)throw new Error("No Silo URI specified");let i=await this.parseUri(r),n=t.get("data",{decode:!0,string:!1});return this.crypto.decrypt(n,i.getEncryptionKey())}async parseUri(t){let r=t.match(/^([a-z0-9-_]+)\.([0-9]+)/i);if(!r)throw new Error("Invalid Silo name, must be a name in the format of [a-z0-9]+.[0-9]+, e.g. 'bubble.7'");let i=r[1],n=Math.pow(2,parseInt(r[2])),o=await this.hash(TJe.stringToBuffer(i),n),d=TJe.bufferTob64(o.slice(0,15)),g=await this.hash(o.slice(16,31),1);return new SV(t,d,g)}async hash(t,r){let i=await this.crypto.hash(t);for(let n=0;n<r-1;n++)i=await this.crypto.hash(i);return i}};XD.default=J0e;var SV=class{uri;accessKey;encryptionKey;constructor(t,r,i){this.uri=t,this.accessKey=r,this.encryptionKey=i}getUri(){return this.uri}getAccessKey(){return this.accessKey}getEncryptionKey(){return this.encryptionKey}};XD.SiloResource=SV});var DJe=ir(K0e=>{"use strict";J();K();z();Object.defineProperty(K0e,"__esModule",{value:!0});var MJe=VD(),QNt=Rm(),z0e=class{api;constructor(t){this.api=t}async getTransactionOffset(t){let r=await this.api.get(`tx/${t}/offset`);if(r.status===200)return r.data;throw new Error(`Unable to get transaction offset: ${(0,MJe.getError)(r)}`)}async getChunk(t){let r=await this.api.get(`chunk/${t}`);if(r.status===200)return r.data;throw new Error(`Unable to get chunk: ${(0,MJe.getError)(r)}`)}async getChunkData(t){let r=await this.getChunk(t);return QNt.b64UrlToBuffer(r.chunk)}firstChunkOffset(t){return parseInt(t.offset)-parseInt(t.size)+1}async downloadChunkedData(t){let r=await this.getTransactionOffset(t),i=parseInt(r.size),o=parseInt(r.offset)-i+1,d=new Uint8Array(i),g=0;for(;g<i;){this.api.config.logging&&console.log(`[chunk] ${g}/${i}`);let y;try{y=await this.getChunkData(o+g)}catch{console.error(`[chunk] Failed to fetch chunk at offset ${o+g}`),console.error("[chunk] This could indicate that the chunk wasn't uploaded or hasn't yet seeded properly to a particular gateway/node")}if(y)d.set(y,g),g+=y.length;else throw new Error(`Couldn't complete data download at ${g}/${i}`)}return d}};K0e.default=z0e});var PJe=ir(Y0e=>{"use strict";J();K();z();Object.defineProperty(Y0e,"__esModule",{value:!0});var kJe=VD();RV();var $0e=class e{api;network;static HASH_ENDPOINT="block/hash/";static HEIGHT_ENDPOINT="block/height/";constructor(t,r){this.api=t,this.network=r}async get(t){let r=await this.api.get(`${e.HASH_ENDPOINT}${t}`);if(r.status===200)return r.data;throw r.status===404?new kJe.default("BLOCK_NOT_FOUND"):new Error(`Error while loading block data: ${r}`)}async getByHeight(t){let r=await this.api.get(`${e.HEIGHT_ENDPOINT}${t}`);if(r.status===200)return r.data;throw r.status===404?new kJe.default("BLOCK_NOT_FOUND"):new Error(`Error while loading block data: ${r}`)}async getCurrent(){let{current:t}=await this.network.getInfo();return await this.get(t)}};Y0e.default=$0e});var $D=ir(X0e=>{"use strict";J();K();z();Object.defineProperty(X0e,"__esModule",{value:!0});var HNt=gJe(),GNt=_Je(),qNt=R0e(),VNt=mJe(),JNt=OJe(),zNt=xJe(),LJe=YD(),ZD=Rm(),KNt=BJe(),$Nt=DJe(),YNt=PJe(),W0e=class e{api;wallets;transactions;network;blocks;ar;silo;chunks;static init;static crypto=new qNt.default;static utils=ZD;constructor(t){this.api=new GNt.default(t),this.wallets=new zNt.default(this.api,e.crypto),this.chunks=new $Nt.default(this.api),this.transactions=new JNt.default(this.api,e.crypto,this.chunks),this.silo=new KNt.default(this.api,this.crypto,this.transactions),this.network=new VNt.default(this.api),this.blocks=new YNt.default(this.api,this.network),this.ar=new HNt.default}get crypto(){return e.crypto}get utils(){return e.utils}getConfig(){return{api:this.api.getConfig(),crypto:null}}async createTransaction(t,r){let i={};if(Object.assign(i,t),!t.data&&!(t.target&&t.quantity))throw new Error("A new Arweave transaction must have a 'data' value, or 'target' and 'quantity' values.");if(t.owner==null&&r&&r!=="use_wallet"&&(i.owner=r.n),t.last_tx==null&&(i.last_tx=await this.transactions.getTransactionAnchor()),typeof t.data=="string"&&(t.data=ZD.stringToBuffer(t.data)),t.data instanceof ArrayBuffer&&(t.data=new Uint8Array(t.data)),t.data&&!(t.data instanceof Uint8Array))throw new Error("Expected data to be a string, Uint8Array or ArrayBuffer");if(t.reward==null){let o=t.data?t.data.byteLength:0;i.reward=await this.transactions.getPrice(o,i.target)}i.data_root="",i.data_size=t.data?t.data.byteLength.toString():"0",i.data=t.data||new Uint8Array(0);let n=new LJe.default(i);return await n.getSignatureData(),n}async createSiloTransaction(t,r,i){let n={};if(Object.assign(n,t),!t.data)throw new Error("Silo transactions must have a 'data' value");if(!i)throw new Error("No Silo URI specified.");if(t.target||t.quantity)throw new Error("Silo transactions can only be used for storing data, sending AR to other wallets isn't supported.");if(t.owner==null){if(!r||!r.n)throw new Error("A new Arweave transaction must either have an 'owner' attribute, or you must provide the jwk parameter.");n.owner=r.n}t.last_tx==null&&(n.last_tx=await this.transactions.getTransactionAnchor());let o=await this.silo.parseUri(i);if(typeof t.data=="string"){let g=await this.crypto.encrypt(ZD.stringToBuffer(t.data),o.getEncryptionKey());n.reward=await this.transactions.getPrice(g.byteLength),n.data=ZD.bufferTob64Url(g)}if(t.data instanceof Uint8Array){let g=await this.crypto.encrypt(t.data,o.getEncryptionKey());n.reward=await this.transactions.getPrice(g.byteLength),n.data=ZD.bufferTob64Url(g)}let d=new LJe.default(n);return d.addTag("Silo-Name",o.getAccessKey()),d.addTag("Silo-Version","0.1.0"),d}arql(t){return this.api.post("/arql",t).then(r=>r.data||[])}};X0e.default=W0e});var QJe=ir(Z0e=>{"use strict";J();K();z();Object.defineProperty(Z0e,"__esModule",{value:!0});var G1=$D();async function UJe(e){if(Array.isArray(e)){let i=G1.default.utils.concatBuffers([G1.default.utils.stringToBuffer("list"),G1.default.utils.stringToBuffer(e.length.toString())]);return await FJe(e,await G1.default.crypto.hash(i,"SHA-384"))}let t=G1.default.utils.concatBuffers([G1.default.utils.stringToBuffer("blob"),G1.default.utils.stringToBuffer(e.byteLength.toString())]),r=G1.default.utils.concatBuffers([await G1.default.crypto.hash(t,"SHA-384"),await G1.default.crypto.hash(e,"SHA-384")]);return await G1.default.crypto.hash(r,"SHA-384")}Z0e.default=UJe;async function FJe(e,t){if(e.length<1)return t;let r=G1.default.utils.concatBuffers([t,await UJe(e[0])]),i=await G1.default.crypto.hash(r,"SHA-384");return await FJe(e.slice(1),i)}});var YD=ir(ek=>{"use strict";J();K();z();Object.defineProperty(ek,"__esModule",{value:!0});ek.Tag=void 0;var Pf=Rm(),WNt=QJe(),XNt=P0e(),IV=class{get(t,r){if(!Object.getOwnPropertyNames(this).includes(t))throw new Error(`Field "${t}" is not a property of the Arweave Transaction class.`);if(this[t]instanceof Uint8Array)return r&&r.decode&&r.string?Pf.bufferToString(this[t]):r&&r.decode&&!r.string?this[t]:Pf.bufferTob64Url(this[t]);if(this[t]instanceof Array){if(r?.decode!==void 0||r?.string!==void 0)throw t==="tags"&&console.warn(`Did you mean to use 'transaction["tags"]' ?`),new Error("Cannot decode or stringify an array.");return this[t]}return r&&r.decode==!0?r&&r.string?Pf.b64UrlToString(this[t]):Pf.b64UrlToBuffer(this[t]):this[t]}},jD=class extends IV{name;value;constructor(t,r,i=!1){super(),this.name=t,this.value=r}};ek.Tag=jD;var j0e=class extends IV{format=2;id="";last_tx="";owner="";tags=[];target="";quantity="0";data_size="0";data=new Uint8Array;data_root="";reward="0";signature="";chunks;constructor(t={}){super(),Object.assign(this,t),typeof this.data=="string"&&(this.data=Pf.b64UrlToBuffer(this.data)),t.tags&&(this.tags=t.tags.map(r=>new jD(r.name,r.value)))}addTag(t,r){this.tags.push(new jD(Pf.stringToB64Url(t),Pf.stringToB64Url(r)))}toJSON(){return{format:this.format,id:this.id,last_tx:this.last_tx,owner:this.owner,tags:this.tags,target:this.target,quantity:this.quantity,data:Pf.bufferTob64Url(this.data),data_size:this.data_size,data_root:this.data_root,data_tree:this.data_tree,reward:this.reward,signature:this.signature}}setOwner(t){this.owner=t}setSignature({id:t,owner:r,reward:i,tags:n,signature:o}){this.id=t,this.owner=r,i&&(this.reward=i),n&&(this.tags=n),this.signature=o}async prepareChunks(t){!this.chunks&&t.byteLength>0&&(this.chunks=await(0,XNt.generateTransactionChunks)(t),this.data_root=Pf.bufferTob64Url(this.chunks.data_root)),!this.chunks&&t.byteLength===0&&(this.chunks={chunks:[],data_root:new Uint8Array,proofs:[]},this.data_root="")}getChunk(t,r){if(!this.chunks)throw new Error("Chunks have not been prepared");let i=this.chunks.proofs[t],n=this.chunks.chunks[t];return{data_root:this.data_root,data_size:this.data_size,data_path:Pf.bufferTob64Url(i.proof),offset:i.offset.toString(),chunk:Pf.bufferTob64Url(r.slice(n.minByteRange,n.maxByteRange))}}async getSignatureData(){switch(this.format){case 1:let t=this.tags.reduce((i,n)=>Pf.concatBuffers([i,n.get("name",{decode:!0,string:!1}),n.get("value",{decode:!0,string:!1})]),new Uint8Array);return Pf.concatBuffers([this.get("owner",{decode:!0,string:!1}),this.get("target",{decode:!0,string:!1}),this.get("data",{decode:!0,string:!1}),Pf.stringToBuffer(this.quantity),Pf.stringToBuffer(this.reward),this.get("last_tx",{decode:!0,string:!1}),t]);case 2:this.data_root||await this.prepareChunks(this.data);let r=this.tags.map(i=>[i.get("name",{decode:!0,string:!1}),i.get("value",{decode:!0,string:!1})]);return await(0,WNt.default)([Pf.stringToBuffer(this.format.toString()),this.get("owner",{decode:!0,string:!1}),this.get("target",{decode:!0,string:!1}),Pf.stringToBuffer(this.quantity),Pf.stringToBuffer(this.reward),this.get("last_tx",{decode:!0,string:!1}),r,Pf.stringToBuffer(this.data_size),this.get("data_root",{decode:!0,string:!1})]);default:throw new Error(`Unexpected transaction format: ${this.format}`)}}};ek.default=j0e});var HJe=ir(CV=>{"use strict";J();K();z();Object.defineProperty(CV,"__esModule",{value:!0});CV.getDefaultConfig=void 0;var ZNt=(e,t)=>{let r=/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,i=t.split("."),n=i[i.length-1],o=["localhost","[::1]"];return o.includes(t)||e=="file"||o.includes(n)||!!t.match(r)||!!n.match(r)},jNt=e=>{let t=e.charAt(0)==="[",r=/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;return!!e.match(r)||t},ext=(e,t)=>{if(ZNt(e,t))return{protocol:"https",host:"arweave.net",port:443};if(!jNt(t)){let r=t.split(".");if(r.length>=3){r.shift();let i=r.join(".");return{protocol:e,host:i}}}return{protocol:e,host:t}};CV.getDefaultConfig=ext});var ede=ir(B6=>{"use strict";J();K();z();var txt=B6&&B6.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),rxt=B6&&B6.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&txt(t,e,r)};Object.defineProperty(B6,"__esModule",{value:!0});var GO=$D(),nxt=HJe();GO.default.init=function(e={}){let t={host:"arweave.net",port:443,protocol:"https"};if(typeof location!="object"||!location.protocol||!location.hostname)return new GO.default({...e,...t});let r=location.protocol.replace(":",""),i=location.hostname,n=location.port?parseInt(location.port):r=="https"?443:80,o=(0,nxt.getDefaultConfig)(r,i),d=e.protocol||o.protocol,g=e.host||o.host,y=e.port||o.port||n;return new GO.default({...e,host:g,protocol:d,port:y})};typeof globalThis=="object"?globalThis.Arweave=GO.default:typeof self=="object"&&(self.Arweave=GO.default);rxt($D(),B6);B6.default=GO.default});var rde=ir((JJe,tde)=>{"use strict";J();K();z();(function(e,t){"use strict";function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=(mh(),Zu(ky)).Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,this.negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&(this.negative=1,s=-s),s<67108864?(this.words=[s&67108863],this.length=1):s<4503599627370496?(this.words=[s&67108863,s/67108864&67108863],this.length=2):(r(s<9007199254740992),this.words=[s&67108863,s/67108864&67108863,1],this.length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(s.length/3),this.words=new Array(this.length);for(var m=0;m<this.length;m++)this.words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,this.words[E]|=w<<x&67108863,this.words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,this.words[E]|=w<<x&67108863,this.words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){this.length=Math.ceil((s.length-l)/6),this.words=new Array(this.length);for(var m=0;m<this.length;m++)this.words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,this.words[w]|=x&67108863,E>=18?(E-=18,w+=1,this.words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,this.words[w]|=x&67108863,E>=18?(E-=18,w+=1,this.words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){this.words=[0],this.length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array(this.length);for(var l=0;l<this.length;l++)s.words[l]=this.words[l];s.length=this.length,s.negative=this.negative,s.red=this.red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;this.length<s;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},n.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<this.length;w++){var x=this.words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==this.length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=this.words[0];return this.length===2?s+=this.words[1]*67108864:this.length===3&&this.words[2]===1?s+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=this.words[this.length-1],l=this._countBits(s);return(this.length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<this.length;l++){var A=this._zeroBits(this.words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return this.negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return this.negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(s){for(;this.length<s.length;)this.words[this.length++]=0;for(var l=0;l<s.length;l++)this.words[l]=this.words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r((this.negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return this.length>s.length?this.clone().ior(s):s.clone().ior(this)},n.prototype.uor=function(s){return this.length>s.length?this.clone().iuor(s):s.clone().iuor(this)},n.prototype.iuand=function(s){var l;this.length>s.length?l=s:l=this;for(var A=0;A<l.length;A++)this.words[A]=this.words[A]&s.words[A];return this.length=l.length,this.strip()},n.prototype.iand=function(s){return r((this.negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return this.length>s.length?this.clone().iand(s):s.clone().iand(this)},n.prototype.uand=function(s){return this.length>s.length?this.clone().iuand(s):s.clone().iuand(this)},n.prototype.iuxor=function(s){var l,A;this.length>s.length?(l=this,A=s):(l=s,A=this);for(var m=0;m<A.length;m++)this.words[m]=l.words[m]^A.words[m];if(this!==l)for(;m<l.length;m++)this.words[m]=l.words[m];return this.length=l.length,this.strip()},n.prototype.ixor=function(s){return r((this.negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return this.length>s.length?this.clone().ixor(s):s.clone().ixor(this)},n.prototype.uxor=function(s){return this.length>s.length?this.clone().iuxor(s):s.clone().iuxor(this)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)this.words[m]=~this.words[m]&67108863;return A>0&&(this.words[m]=~this.words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?this.words[A]=this.words[A]|1<<m:this.words[A]=this.words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if(this.negative!==0&&s.negative===0)return this.negative=0,l=this.isub(s),this.negative^=1,this._normSign();if(this.negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;this.length>s.length?(A=this,m=s):(A=s,m=this);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,this.words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,this.words[w]=l&67108863,E=l>>>26;if(this.length=A.length,E!==0)this.words[this.length]=E,this.length++;else if(A!==this)for(;w<A.length;w++)this.words[w]=A.words[w];return this},n.prototype.add=function(s){var l;return s.negative!==0&&this.negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&this.negative!==0?(this.negative=0,l=s.sub(this),this.negative=1,l):this.length>s.length?this.clone().iadd(s):s.clone().iadd(this)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(s),this.negative=1,this._normSign();var A=this.cmp(s);if(A===0)return this.negative=0,this.length=1,this.words[0]=0,this;var m,E;A>0?(m=this,E=s):(m=s,E=this);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,this.words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,this.words[x]=l&67108863;if(w===0&&x<m.length&&m!==this)for(;x<m.length;x++)this.words[x]=m.words[x];return this.length=Math.max(this.length,x),m!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=this.length+s.length;return this.length===10&&s.length===10?A=D(this,s,l):m<63?A=M(this,s,l):m<1024?A=P(this,s,l):A=G(this,s,l),A};function q(O,s){this.x=O,this.y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array(this.length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array(this.length+s.length),G(this,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<this.length;A++){var m=(this.words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,this.words[A]=E&67108863}return l!==0&&(this.words[A]=l,this.length++),this},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<this.length;E++){var x=this.words[E]&m,R=(this.words[E]|0)-x<<l;this.words[E]=R|w,w=x>>>26-l}w&&(this.words[E]=w,this.length++)}if(A!==0){for(E=this.length-1;E>=0;E--)this.words[E+A]=this.words[E];for(E=0;E<A;E++)this.words[E]=0;this.length+=A}return this.strip()},n.prototype.ishln=function(s){return r(this.negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,this.length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=this.words[u];R.length=w}if(w!==0)if(this.length>w)for(this.length-=w,u=0;u<this.length;u++)this.words[u]=this.words[u+w];else this.words[0]=0,this.length=1;var C=0;for(u=this.length-1;u>=0&&(C!==0||u>=m);u--){var U=this.words[u]|0;this.words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r(this.negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if(this.length<=A)return!1;var E=this.words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=A)return this;if(l!==0&&A++,this.length=Math.min(A,this.length),l!==0){var m=67108863^67108863>>>l<<l;this.words[this.length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):this.negative!==0?this.length===1&&(this.words[0]|0)<s?(this.words[0]=s-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(s),this.negative=1,this):this._iaddn(s)},n.prototype._iaddn=function(s){this.words[0]+=s;for(var l=0;l<this.length&&this.words[l]>=67108864;l++)this.words[l]-=67108864,l===this.length-1?this.words[l+1]=1:this.words[l+1]++;return this.length=Math.max(this.length,l+1),this},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if(this.negative!==0)return this.negative=0,this.iaddn(s),this.negative=1,this;if(this.words[0]-=s,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var l=0;l<this.length&&this.words[l]<0;l++)this.words[l]+=67108864,this.words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=(this.words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),this.words[E+A]=w&67108863}for(;E<this.length-A;E++)w=(this.words[E+A]|0)+x,x=w>>26,this.words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<this.length;E++)w=-(this.words[E]|0)+x,x=w>>26,this.words[E]=w&67108863;return this.negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=this.length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return this.negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):this.negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):(this.negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>this.length||this.cmp(s)<0?{div:new n(0),mod:this}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=this.length-1;m>=0;m--)A=(l*A+(this.words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=this.length-1;A>=0;A--){var m=(this.words[A]|0)+l*67108864;this.words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return(this.words[0]&1)===0},n.prototype.isOdd=function(){return(this.words[0]&1)===1},n.prototype.andln=function(s){return this.words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if(this.length<=A)return this._expand(A+1),this.words[A]|=m,this;for(var E=m,w=A;E!==0&&w<this.length;w++){var x=this.words[w]|0;x+=E,E=x>>>26,x&=67108863,this.words[w]=x}return E!==0&&(this.words[w]=E,this.length++),this},n.prototype.isZero=function(){return this.length===1&&this.words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if(this.negative!==0&&!l)return-1;if(this.negative===0&&l)return 1;this.strip();var A;if(this.length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=this.words[0]|0;A=m===s?0:m<s?-1:1}return this.negative!==0?-A|0:A},n.prototype.cmp=function(s){if(this.negative!==0&&s.negative===0)return-1;if(this.negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return this.negative!==0?-l|0:l},n.prototype.ucmp=function(s){if(this.length>s.length)return 1;if(this.length<s.length)return-1;for(var l=0,A=this.length-1;A>=0;A--){var m=this.words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),s.convertTo(this)._forceRed(s)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(s){return this.red=s,this},n.prototype.forceRed=function(s){return r(!this.red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,s)},n.prototype.redIAdd=function(s){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,s)},n.prototype.redSub=function(s){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,s)},n.prototype.redISub=function(s){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,s)},n.prototype.redShl=function(s){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,s)},n.prototype.redMul=function(s){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,s),this.red.mul(this,s)},n.prototype.redIMul=function(s){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,s),this.red.imul(this,s)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(s){return r(this.red&&!s.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){this.name=O,this.p=new n(s,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil(this.n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,this.tmp),l=this.imulK(l),l=l.iadd(this.tmp),A=l.bitLength();while(A>this.n);var m=A<this.n?-1:l.ucmp(this.p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub(this.p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn(this.n,0,l)},ne.prototype.imulK=function(s){return s.imul(this.k)};function ce(){ne.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);this.m=s.p,this.prime=s}else r(O.gtn(1),"modulus must be greater than 1"),this.m=O,this.prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return this.prime?this.prime.ireduce(s)._forceRed(this):s.umod(this.m)._forceRed(this)},W.prototype.neg=function(s){return s.isZero()?s.clone():this.m.sub(s)._forceRed(this)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp(this.m)>=0&&A.isub(this.m),A._forceRed(this)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp(this.m)>=0&&A.isub(this.m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd(this.m),A._forceRed(this)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd(this.m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=this.m.andln(3);if(r(l%2===1),l===3){var A=this.m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=this.m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this),x=w.redNeg(),R=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new n(2*u*u).toRed(this);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp(this.m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod(this.m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln(this.shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul(this.rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=A.isub(m).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this);var A=s.mul(l),m=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=A.isub(m).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},se.prototype.invm=function(s){var l=this.imod(s._invmp(this.m).mul(this.r2));return l._forceRed(this)}})(typeof tde>"u"||tde,JJe)});var Gl=ir((h8n,nde)=>{"use strict";J();K();z();typeof Object.create=="function"?nde.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:nde.exports=function(t,r){if(r){t.super_=r;var i=function(){};i.prototype=r.prototype,t.prototype=new i,t.prototype.constructor=t}}});var xV=ir((_8n,zJe)=>{"use strict";J();K();z();var NV=(mh(),Zu(ky)),qO=NV.Buffer,Wg={},Xg;for(Xg in NV)NV.hasOwnProperty(Xg)&&(Xg==="SlowBuffer"||Xg==="Buffer"||(Wg[Xg]=NV[Xg]));var VO=Wg.Buffer={};for(Xg in qO)qO.hasOwnProperty(Xg)&&(Xg==="allocUnsafe"||Xg==="allocUnsafeSlow"||(VO[Xg]=qO[Xg]));Wg.Buffer.prototype=qO.prototype;(!VO.from||VO.from===Uint8Array.from)&&(VO.from=function(e,t,r){if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&typeof e.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return qO(e,t,r)});VO.alloc||(VO.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var i=qO(e);return!t||t.length===0?i.fill(0):typeof r=="string"?i.fill(t,r):i.fill(t),i});if(!Wg.kStringMaxLength)try{Wg.kStringMaxLength=me.binding("buffer").kStringMaxLength}catch{}Wg.constants||(Wg.constants={MAX_LENGTH:Wg.kMaxLength},Wg.kStringMaxLength&&(Wg.constants.MAX_STRING_LENGTH=Wg.kStringMaxLength));zJe.exports=Wg});var TV=ir(KJe=>{"use strict";J();K();z();var axt=Gl();function Zg(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}KJe.Reporter=Zg;Zg.prototype.isError=function(t){return t instanceof JO};Zg.prototype.save=function(){let t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}};Zg.prototype.restore=function(t){let r=this._reporterState;r.obj=t.obj,r.path=r.path.slice(0,t.pathLen)};Zg.prototype.enterKey=function(t){return this._reporterState.path.push(t)};Zg.prototype.exitKey=function(t){let r=this._reporterState;r.path=r.path.slice(0,t-1)};Zg.prototype.leaveKey=function(t,r,i){let n=this._reporterState;this.exitKey(t),n.obj!==null&&(n.obj[r]=i)};Zg.prototype.path=function(){return this._reporterState.path.join("/")};Zg.prototype.enterObject=function(){let t=this._reporterState,r=t.obj;return t.obj={},r};Zg.prototype.leaveObject=function(t){let r=this._reporterState,i=r.obj;return r.obj=t,i};Zg.prototype.error=function(t){let r,i=this._reporterState,n=t instanceof JO;if(n?r=t:r=new JO(i.path.map(function(o){return"["+JSON.stringify(o)+"]"}).join(""),t.message||t,t.stack),!i.options.partial)throw r;return n||i.errors.push(r),r};Zg.prototype.wrapResult=function(t){let r=this._reporterState;return r.options.partial?{result:this.isError(t)?null:t,errors:r.errors}:t};function JO(e,t){this.path=e,this.rethrow(t)}axt(JO,Error);JO.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,JO),!this.stack)try{throw new Error(this.message)}catch(r){this.stack=r.stack}return this}});var $O=ir(ide=>{"use strict";J();K();z();var sxt=Gl(),BV=TV().Reporter,zO=xV().Buffer;function jg(e,t){if(BV.call(this,t),!zO.isBuffer(e)){this.error("Input not Buffer");return}this.base=e,this.offset=0,this.length=e.length}sxt(jg,BV);ide.DecoderBuffer=jg;jg.isDecoderBuffer=function(t){return t instanceof jg?!0:typeof t=="object"&&zO.isBuffer(t.base)&&t.constructor.name==="DecoderBuffer"&&typeof t.offset=="number"&&typeof t.length=="number"&&typeof t.save=="function"&&typeof t.restore=="function"&&typeof t.isEmpty=="function"&&typeof t.readUInt8=="function"&&typeof t.skip=="function"&&typeof t.raw=="function"};jg.prototype.save=function(){return{offset:this.offset,reporter:BV.prototype.save.call(this)}};jg.prototype.restore=function(t){let r=new jg(this.base);return r.offset=t.offset,r.length=this.offset,this.offset=t.offset,BV.prototype.restore.call(this,t.reporter),r};jg.prototype.isEmpty=function(){return this.offset===this.length};jg.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")};jg.prototype.skip=function(t,r){if(!(this.offset+t<=this.length))return this.error(r||"DecoderBuffer overrun");let i=new jg(this.base);return i._reporterState=this._reporterState,i.offset=this.offset,i.length=this.offset+t,this.offset+=t,i};jg.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)};function KO(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(r){return KO.isEncoderBuffer(r)||(r=new KO(r,t)),this.length+=r.length,r},this);else if(typeof e=="number"){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if(typeof e=="string")this.value=e,this.length=zO.byteLength(e);else if(zO.isBuffer(e))this.value=e,this.length=e.length;else return t.error("Unsupported type: "+typeof e)}ide.EncoderBuffer=KO;KO.isEncoderBuffer=function(t){return t instanceof KO?!0:typeof t=="object"&&t.constructor.name==="EncoderBuffer"&&typeof t.length=="number"&&typeof t.join=="function"};KO.prototype.join=function(t,r){return t||(t=zO.alloc(this.length)),r||(r=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(i){i.join(t,r),r+=i.length}):(typeof this.value=="number"?t[r]=this.value:typeof this.value=="string"?t.write(this.value,r):zO.isBuffer(this.value)&&this.value.copy(t,r),r+=this.length)),t}});var Fv=ir((N8n,YJe)=>{"use strict";J();K();z();YJe.exports=$Je;function $Je(e,t){if(!e)throw new Error(t||"Assertion failed")}$Je.equal=function(t,r,i){if(t!=r)throw new Error(i||"Assertion failed: "+t+" != "+r)}});var MV=ir((M8n,XJe)=>{"use strict";J();K();z();var cxt=TV().Reporter,uxt=$O().EncoderBuffer,dxt=$O().DecoderBuffer,CA=Fv(),WJe=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],fxt=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(WJe),lxt=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function su(e,t,r){let i={};this._baseState=i,i.name=r,i.enc=e,i.parent=t||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}XJe.exports=su;var hxt=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];su.prototype.clone=function(){let t=this._baseState,r={};hxt.forEach(function(n){r[n]=t[n]});let i=new this.constructor(r.parent);return i._baseState=r,i};su.prototype._wrap=function(){let t=this._baseState;fxt.forEach(function(r){this[r]=function(){let n=new this.constructor(this);return t.children.push(n),n[r].apply(n,arguments)}},this)};su.prototype._init=function(t){let r=this._baseState;CA(r.parent===null),t.call(this),r.children=r.children.filter(function(i){return i._baseState.parent===this},this),CA.equal(r.children.length,1,"Root node can have only one child")};su.prototype._useArgs=function(t){let r=this._baseState,i=t.filter(function(n){return n instanceof this.constructor},this);t=t.filter(function(n){return!(n instanceof this.constructor)},this),i.length!==0&&(CA(r.children===null),r.children=i,i.forEach(function(n){n._baseState.parent=this},this)),t.length!==0&&(CA(r.args===null),r.args=t,r.reverseArgs=t.map(function(n){if(typeof n!="object"||n.constructor!==Object)return n;let o={};return Object.keys(n).forEach(function(d){d==(d|0)&&(d|=0);let g=n[d];o[g]=d}),o}))};lxt.forEach(function(e){su.prototype[e]=function(){let r=this._baseState;throw new Error(e+" not implemented for encoding: "+r.enc)}});WJe.forEach(function(e){su.prototype[e]=function(){let r=this._baseState,i=Array.prototype.slice.call(arguments);return CA(r.tag===null),r.tag=e,this._useArgs(i),this}});su.prototype.use=function(t){CA(t);let r=this._baseState;return CA(r.use===null),r.use=t,this};su.prototype.optional=function(){let t=this._baseState;return t.optional=!0,this};su.prototype.def=function(t){let r=this._baseState;return CA(r.default===null),r.default=t,r.optional=!0,this};su.prototype.explicit=function(t){let r=this._baseState;return CA(r.explicit===null&&r.implicit===null),r.explicit=t,this};su.prototype.implicit=function(t){let r=this._baseState;return CA(r.explicit===null&&r.implicit===null),r.implicit=t,this};su.prototype.obj=function(){let t=this._baseState,r=Array.prototype.slice.call(arguments);return t.obj=!0,r.length!==0&&this._useArgs(r),this};su.prototype.key=function(t){let r=this._baseState;return CA(r.key===null),r.key=t,this};su.prototype.any=function(){let t=this._baseState;return t.any=!0,this};su.prototype.choice=function(t){let r=this._baseState;return CA(r.choice===null),r.choice=t,this._useArgs(Object.keys(t).map(function(i){return t[i]})),this};su.prototype.contains=function(t){let r=this._baseState;return CA(r.use===null),r.contains=t,this};su.prototype._decode=function(t,r){let i=this._baseState;if(i.parent===null)return t.wrapResult(i.children[0]._decode(t,r));let n=i.default,o=!0,d=null;if(i.key!==null&&(d=t.enterKey(i.key)),i.optional){let y=null;if(i.explicit!==null?y=i.explicit:i.implicit!==null?y=i.implicit:i.tag!==null&&(y=i.tag),y===null&&!i.any){let _=t.save();try{i.choice===null?this._decodeGeneric(i.tag,t,r):this._decodeChoice(t,r),o=!0}catch{o=!1}t.restore(_)}else if(o=this._peekTag(t,y,i.any),t.isError(o))return o}let g;if(i.obj&&o&&(g=t.enterObject()),o){if(i.explicit!==null){let _=this._decodeTag(t,i.explicit);if(t.isError(_))return _;t=_}let y=t.offset;if(i.use===null&&i.choice===null){let _;i.any&&(_=t.save());let I=this._decodeTag(t,i.implicit!==null?i.implicit:i.tag,i.any);if(t.isError(I))return I;i.any?n=t.raw(_):t=I}if(r&&r.track&&i.tag!==null&&r.track(t.path(),y,t.length,"tagged"),r&&r.track&&i.tag!==null&&r.track(t.path(),t.offset,t.length,"content"),i.any||(i.choice===null?n=this._decodeGeneric(i.tag,t,r):n=this._decodeChoice(t,r)),t.isError(n))return n;if(!i.any&&i.choice===null&&i.children!==null&&i.children.forEach(function(I){I._decode(t,r)}),i.contains&&(i.tag==="octstr"||i.tag==="bitstr")){let _=new dxt(n);n=this._getUse(i.contains,t._reporterState.obj)._decode(_,r)}}return i.obj&&o&&(n=t.leaveObject(g)),i.key!==null&&(n!==null||o===!0)?t.leaveKey(d,i.key,n):d!==null&&t.exitKey(d),n};su.prototype._decodeGeneric=function(t,r,i){let n=this._baseState;return t==="seq"||t==="set"?null:t==="seqof"||t==="setof"?this._decodeList(r,t,n.args[0],i):/str$/.test(t)?this._decodeStr(r,t,i):t==="objid"&&n.args?this._decodeObjid(r,n.args[0],n.args[1],i):t==="objid"?this._decodeObjid(r,null,null,i):t==="gentime"||t==="utctime"?this._decodeTime(r,t,i):t==="null_"?this._decodeNull(r,i):t==="bool"?this._decodeBool(r,i):t==="objDesc"?this._decodeStr(r,t,i):t==="int"||t==="enum"?this._decodeInt(r,n.args&&n.args[0],i):n.use!==null?this._getUse(n.use,r._reporterState.obj)._decode(r,i):r.error("unknown tag: "+t)};su.prototype._getUse=function(t,r){let i=this._baseState;return i.useDecoder=this._use(t,r),CA(i.useDecoder._baseState.parent===null),i.useDecoder=i.useDecoder._baseState.children[0],i.implicit!==i.useDecoder._baseState.implicit&&(i.useDecoder=i.useDecoder.clone(),i.useDecoder._baseState.implicit=i.implicit),i.useDecoder};su.prototype._decodeChoice=function(t,r){let i=this._baseState,n=null,o=!1;return Object.keys(i.choice).some(function(d){let g=t.save(),y=i.choice[d];try{let _=y._decode(t,r);if(t.isError(_))return!1;n={type:d,value:_},o=!0}catch{return t.restore(g),!1}return!0},this),o?n:t.error("Choice not matched")};su.prototype._createEncoderBuffer=function(t){return new uxt(t,this.reporter)};su.prototype._encode=function(t,r,i){let n=this._baseState;if(n.default!==null&&n.default===t)return;let o=this._encodeValue(t,r,i);if(o!==void 0&&!this._skipDefault(o,r,i))return o};su.prototype._encodeValue=function(t,r,i){let n=this._baseState;if(n.parent===null)return n.children[0]._encode(t,r||new cxt);let o=null;if(this.reporter=r,n.optional&&t===void 0)if(n.default!==null)t=n.default;else return;let d=null,g=!1;if(n.any)o=this._createEncoderBuffer(t);else if(n.choice)o=this._encodeChoice(t,r);else if(n.contains)d=this._getUse(n.contains,i)._encode(t,r),g=!0;else if(n.children)d=n.children.map(function(y){if(y._baseState.tag==="null_")return y._encode(null,r,t);if(y._baseState.key===null)return r.error("Child should have a key");let _=r.enterKey(y._baseState.key);if(typeof t!="object")return r.error("Child expected, but input is not object");let I=y._encode(t[y._baseState.key],r,t);return r.leaveKey(_),I},this).filter(function(y){return y}),d=this._createEncoderBuffer(d);else if(n.tag==="seqof"||n.tag==="setof"){if(!(n.args&&n.args.length===1))return r.error("Too many args for : "+n.tag);if(!Array.isArray(t))return r.error("seqof/setof, but data is not Array");let y=this.clone();y._baseState.implicit=null,d=this._createEncoderBuffer(t.map(function(_){let I=this._baseState;return this._getUse(I.args[0],t)._encode(_,r)},y))}else n.use!==null?o=this._getUse(n.use,i)._encode(t,r):(d=this._encodePrimitive(n.tag,t),g=!0);if(!n.any&&n.choice===null){let y=n.implicit!==null?n.implicit:n.tag,_=n.implicit===null?"universal":"context";y===null?n.use===null&&r.error("Tag could be omitted only for .use()"):n.use===null&&(o=this._encodeComposite(y,g,_,d))}return n.explicit!==null&&(o=this._encodeComposite(n.explicit,!1,"context",o)),o};su.prototype._encodeChoice=function(t,r){let i=this._baseState,n=i.choice[t.type];return n||CA(!1,t.type+" not found in "+JSON.stringify(Object.keys(i.choice))),n._encode(t.value,r)};su.prototype._encodePrimitive=function(t,r){let i=this._baseState;if(/str$/.test(t))return this._encodeStr(r,t);if(t==="objid"&&i.args)return this._encodeObjid(r,i.reverseArgs[0],i.args[1]);if(t==="objid")return this._encodeObjid(r,null,null);if(t==="gentime"||t==="utctime")return this._encodeTime(r,t);if(t==="null_")return this._encodeNull();if(t==="int"||t==="enum")return this._encodeInt(r,i.args&&i.reverseArgs[0]);if(t==="bool")return this._encodeBool(r);if(t==="objDesc")return this._encodeStr(r,t);throw new Error("Unsupported tag: "+t)};su.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)};su.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)}});var DV=ir(C4=>{"use strict";J();K();z();function ZJe(e){let t={};return Object.keys(e).forEach(function(r){(r|0)==r&&(r=r|0);let i=e[r];t[i]=r}),t}C4.tagClass={0:"universal",1:"application",2:"context",3:"private"};C4.tagClassByName=ZJe(C4.tagClass);C4.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"};C4.tagByName=ZJe(C4.tag)});var ade=ir((H8n,tze)=>{"use strict";J();K();z();var Axt=Gl(),Qv=xV().Buffer,jJe=MV(),ode=DV();function eze(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new Sm,this.tree._init(e.body)}tze.exports=eze;eze.prototype.encode=function(t,r){return this.tree._encode(t,r).join()};function Sm(e){jJe.call(this,"der",e)}Axt(Sm,jJe);Sm.prototype._encodeComposite=function(t,r,i,n){let o=pxt(t,r,i,this.reporter);if(n.length<128){let y=Qv.alloc(2);return y[0]=o,y[1]=n.length,this._createEncoderBuffer([y,n])}let d=1;for(let y=n.length;y>=256;y>>=8)d++;let g=Qv.alloc(2+d);g[0]=o,g[1]=128|d;for(let y=1+d,_=n.length;_>0;y--,_>>=8)g[y]=_&255;return this._createEncoderBuffer([g,n])};Sm.prototype._encodeStr=function(t,r){if(r==="bitstr")return this._createEncoderBuffer([t.unused|0,t.data]);if(r==="bmpstr"){let i=Qv.alloc(t.length*2);for(let n=0;n<t.length;n++)i.writeUInt16BE(t.charCodeAt(n),n*2);return this._createEncoderBuffer(i)}else return r==="numstr"?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):r==="printstr"?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(r)?this._createEncoderBuffer(t):r==="objDesc"?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+r+" unsupported")};Sm.prototype._encodeObjid=function(t,r,i){if(typeof t=="string"){if(!r)return this.reporter.error("string objid given, but no values map found");if(!r.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=r[t].split(/[\s.]+/g);for(let g=0;g<t.length;g++)t[g]|=0}else if(Array.isArray(t)){t=t.slice();for(let g=0;g<t.length;g++)t[g]|=0}if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!i){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,t[0]*40+t[1])}let n=0;for(let g=0;g<t.length;g++){let y=t[g];for(n++;y>=128;y>>=7)n++}let o=Qv.alloc(n),d=o.length-1;for(let g=t.length-1;g>=0;g--){let y=t[g];for(o[d--]=y&127;(y>>=7)>0;)o[d--]=128|y&127}return this._createEncoderBuffer(o)};function e_(e){return e<10?"0"+e:e}Sm.prototype._encodeTime=function(t,r){let i,n=new Date(t);return r==="gentime"?i=[e_(n.getUTCFullYear()),e_(n.getUTCMonth()+1),e_(n.getUTCDate()),e_(n.getUTCHours()),e_(n.getUTCMinutes()),e_(n.getUTCSeconds()),"Z"].join(""):r==="utctime"?i=[e_(n.getUTCFullYear()%100),e_(n.getUTCMonth()+1),e_(n.getUTCDate()),e_(n.getUTCHours()),e_(n.getUTCMinutes()),e_(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+r+" time is not supported yet"),this._encodeStr(i,"octstr")};Sm.prototype._encodeNull=function(){return this._createEncoderBuffer("")};Sm.prototype._encodeInt=function(t,r){if(typeof t=="string"){if(!r)return this.reporter.error("String int or enum given, but no values map");if(!r.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=r[t]}if(typeof t!="number"&&!Qv.isBuffer(t)){let o=t.toArray();!t.sign&&o[0]&128&&o.unshift(0),t=Qv.from(o)}if(Qv.isBuffer(t)){let o=t.length;t.length===0&&o++;let d=Qv.alloc(o);return t.copy(d),t.length===0&&(d[0]=0),this._createEncoderBuffer(d)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let i=1;for(let o=t;o>=256;o>>=8)i++;let n=new Array(i);for(let o=n.length-1;o>=0;o--)n[o]=t&255,t>>=8;return n[0]&128&&n.unshift(0),this._createEncoderBuffer(Qv.from(n))};Sm.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)};Sm.prototype._use=function(t,r){return typeof t=="function"&&(t=t(r)),t._getEncoder("der").tree};Sm.prototype._skipDefault=function(t,r,i){let n=this._baseState,o;if(n.default===null)return!1;let d=t.join();if(n.defaultBuffer===void 0&&(n.defaultBuffer=this._encodeValue(n.default,r,i).join()),d.length!==n.defaultBuffer.length)return!1;for(o=0;o<d.length;o++)if(d[o]!==n.defaultBuffer[o])return!1;return!0};function pxt(e,t,r,i){let n;if(e==="seqof"?e="seq":e==="setof"&&(e="set"),ode.tagByName.hasOwnProperty(e))n=ode.tagByName[e];else if(typeof e=="number"&&(e|0)===e)n=e;else return i.error("Unknown tag: "+e);return n>=31?i.error("Multi-octet tag encoding unsupported"):(t||(n|=32),n|=ode.tagClassByName[r||"universal"]<<6,n)}});var nze=ir((J8n,rze)=>{"use strict";J();K();z();var gxt=Gl(),sde=ade();function cde(e){sde.call(this,e),this.enc="pem"}gxt(cde,sde);rze.exports=cde;cde.prototype.encode=function(t,r){let n=sde.prototype.encode.call(this,t).toString("base64"),o=["-----BEGIN "+r.label+"-----"];for(let d=0;d<n.length;d+=64)o.push(n.slice(d,d+64));return o.push("-----END "+r.label+"-----"),o.join(` +`)}});var ude=ir(oze=>{"use strict";J();K();z();var ize=oze;ize.der=ade();ize.pem=nze()});var fde=ir((j8n,fze)=>{"use strict";J();K();z();var _xt=Gl(),mxt=rde(),aze=$O().DecoderBuffer,cze=MV(),sze=DV();function uze(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new q1,this.tree._init(e.body)}fze.exports=uze;uze.prototype.decode=function(t,r){return aze.isDecoderBuffer(t)||(t=new aze(t,r)),this.tree._decode(t,r)};function q1(e){cze.call(this,"der",e)}_xt(q1,cze);q1.prototype._peekTag=function(t,r,i){if(t.isEmpty())return!1;let n=t.save(),o=dde(t,'Failed to peek tag: "'+r+'"');return t.isError(o)?o:(t.restore(n),o.tag===r||o.tagStr===r||o.tagStr+"of"===r||i)};q1.prototype._decodeTag=function(t,r,i){let n=dde(t,'Failed to decode tag of "'+r+'"');if(t.isError(n))return n;let o=dze(t,n.primitive,'Failed to get length of "'+r+'"');if(t.isError(o))return o;if(!i&&n.tag!==r&&n.tagStr!==r&&n.tagStr+"of"!==r)return t.error('Failed to match tag: "'+r+'"');if(n.primitive||o!==null)return t.skip(o,'Failed to match body of: "'+r+'"');let d=t.save(),g=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(g)?g:(o=t.offset-d.offset,t.restore(d),t.skip(o,'Failed to match body of: "'+r+'"'))};q1.prototype._skipUntilEnd=function(t,r){for(;;){let i=dde(t,r);if(t.isError(i))return i;let n=dze(t,i.primitive,r);if(t.isError(n))return n;let o;if(i.primitive||n!==null?o=t.skip(n):o=this._skipUntilEnd(t,r),t.isError(o))return o;if(i.tagStr==="end")break}};q1.prototype._decodeList=function(t,r,i,n){let o=[];for(;!t.isEmpty();){let d=this._peekTag(t,"end");if(t.isError(d))return d;let g=i.decode(t,"der",n);if(t.isError(g)&&d)break;o.push(g)}return o};q1.prototype._decodeStr=function(t,r){if(r==="bitstr"){let i=t.readUInt8();return t.isError(i)?i:{unused:i,data:t.raw()}}else if(r==="bmpstr"){let i=t.raw();if(i.length%2===1)return t.error("Decoding of string type: bmpstr length mismatch");let n="";for(let o=0;o<i.length/2;o++)n+=String.fromCharCode(i.readUInt16BE(o*2));return n}else if(r==="numstr"){let i=t.raw().toString("ascii");return this._isNumstr(i)?i:t.error("Decoding of string type: numstr unsupported characters")}else{if(r==="octstr")return t.raw();if(r==="objDesc")return t.raw();if(r==="printstr"){let i=t.raw().toString("ascii");return this._isPrintstr(i)?i:t.error("Decoding of string type: printstr unsupported characters")}else return/str$/.test(r)?t.raw().toString():t.error("Decoding of string type: "+r+" unsupported")}};q1.prototype._decodeObjid=function(t,r,i){let n,o=[],d=0,g=0;for(;!t.isEmpty();)g=t.readUInt8(),d<<=7,d|=g&127,(g&128)===0&&(o.push(d),d=0);g&128&&o.push(d);let y=o[0]/40|0,_=o[0]%40;if(i?n=o:n=[y,_].concat(o.slice(1)),r){let I=r[n.join(" ")];I===void 0&&(I=r[n.join(".")]),I!==void 0&&(n=I)}return n};q1.prototype._decodeTime=function(t,r){let i=t.raw().toString(),n,o,d,g,y,_;if(r==="gentime")n=i.slice(0,4)|0,o=i.slice(4,6)|0,d=i.slice(6,8)|0,g=i.slice(8,10)|0,y=i.slice(10,12)|0,_=i.slice(12,14)|0;else if(r==="utctime")n=i.slice(0,2)|0,o=i.slice(2,4)|0,d=i.slice(4,6)|0,g=i.slice(6,8)|0,y=i.slice(8,10)|0,_=i.slice(10,12)|0,n<70?n=2e3+n:n=1900+n;else return t.error("Decoding "+r+" time is not supported yet");return Date.UTC(n,o-1,d,g,y,_,0)};q1.prototype._decodeNull=function(){return null};q1.prototype._decodeBool=function(t){let r=t.readUInt8();return t.isError(r)?r:r!==0};q1.prototype._decodeInt=function(t,r){let i=t.raw(),n=new mxt(i);return r&&(n=r[n.toString(10)]||n),n};q1.prototype._use=function(t,r){return typeof t=="function"&&(t=t(r)),t._getDecoder("der").tree};function dde(e,t){let r=e.readUInt8(t);if(e.isError(r))return r;let i=sze.tagClass[r>>6],n=(r&32)===0;if((r&31)===31){let d=r;for(r=0;(d&128)===128;){if(d=e.readUInt8(t),e.isError(d))return d;r<<=7,r|=d&127}}else r&=31;let o=sze.tag[r];return{cls:i,primitive:n,tag:r,tagStr:o}}function dze(e,t,r){let i=e.readUInt8(r);if(e.isError(i))return i;if(!t&&i===128)return null;if((i&128)===0)return i;let n=i&127;if(n>4)return e.error("length octect is too long");i=0;for(let o=0;o<n;o++){i<<=8;let d=e.readUInt8(r);if(e.isError(d))return d;i|=d}return i}});var hze=ir((n4n,lze)=>{"use strict";J();K();z();var yxt=Gl(),bxt=xV().Buffer,lde=fde();function hde(e){lde.call(this,e),this.enc="pem"}yxt(hde,lde);lze.exports=hde;hde.prototype.decode=function(t,r){let i=t.toString().split(/[\r\n]+/g),n=r.label.toUpperCase(),o=/^-----(BEGIN|END) ([^-]+)-----$/,d=-1,g=-1;for(let I=0;I<i.length;I++){let N=i[I].match(o);if(N!==null&&N[2]===n)if(d===-1){if(N[1]!=="BEGIN")break;d=I}else{if(N[1]!=="END")break;g=I;break}}if(d===-1||g===-1)throw new Error("PEM section not found for: "+n);let y=i.slice(d+1,g).join("");y.replace(/[^a-z0-9+/=]+/gi,"");let _=bxt.from(y,"base64");return lde.prototype.decode.call(this,_,r)}});var Ade=ir(pze=>{"use strict";J();K();z();var Aze=pze;Aze.der=fde();Aze.pem=hze()});var _ze=ir(gze=>{"use strict";J();K();z();var Ext=ude(),vxt=Ade(),Rxt=Gl(),Sxt=gze;Sxt.define=function(t,r){return new YO(t,r)};function YO(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}YO.prototype._createNamed=function(t){let r=this.name;function i(n){this._initNamed(n,r)}return Rxt(i,t),i.prototype._initNamed=function(o,d){t.call(this,o,d)},new i(this)};YO.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(vxt[t])),this.decoders[t]};YO.prototype.decode=function(t,r,i){return this._getDecoder(r).decode(t,i)};YO.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(Ext[t])),this.encoders[t]};YO.prototype.encode=function(t,r,i){return this._getEncoder(r).encode(t,i)}});var yze=ir(mze=>{"use strict";J();K();z();var kV=mze;kV.Reporter=TV().Reporter;kV.DecoderBuffer=$O().DecoderBuffer;kV.EncoderBuffer=$O().EncoderBuffer;kV.Node=MV()});var vze=ir(Eze=>{"use strict";J();K();z();var bze=Eze;bze._reverse=function(t){let r={};return Object.keys(t).forEach(function(i){(i|0)==i&&(i=i|0);let n=t[i];r[n]=i}),r};bze.der=DV()});var Sze=ir(Rze=>{"use strict";J();K();z();var WO=Rze;WO.bignum=rde();WO.define=_ze().define;WO.base=yze();WO.constants=vze();WO.decoders=Ade();WO.encoders=ude()});var Bze=ir(t_=>{"use strict";J();K();z();var Ixt=t_&&t_.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),Cxt=t_&&t_.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),wxt=t_&&t_.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Ixt(t,e,r);return Cxt(t,e),t};Object.defineProperty(t_,"__esModule",{value:!0});t_.jwkTopem=t_.pemTojwk=void 0;var Hv=wxt(Sze());function Oxt(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function pde(e){return Oxt(fe.from(e,"hex").toString("base64"))}var Ize=Hv.define("RSAPublicKey",function(){this.seq().obj(this.key("n").int(),this.key("e").int())}),Cze=Hv.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional().any())}),Nxt=Hv.define("PublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(Cze),this.key("publicKey").bitstr())}),wze=Hv.define("Version",function(){this.int({0:"two-prime",1:"multi"})}),xxt=Hv.define("OtherPrimeInfos",function(){this.seq().obj(this.key("ri").int(),this.key("di").int(),this.key("ti").int())}),Oze=Hv.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").use(wze),this.key("n").int(),this.key("e").int(),this.key("d").int(),this.key("p").int(),this.key("q").int(),this.key("dp").int(),this.key("dq").int(),this.key("qi").int(),this.key("other").optional().use(xxt))}),Txt=Hv.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").use(wze),this.key("algorithm").use(Cze),this.key("privateKey").bitstr())});function Nze(e,t){return t=t||{},Object.keys(t).forEach(function(r){e[r]=t[r]}),e}function gde(e){return e.length%2===1?"0"+e:e}function xze(e,t){var r=Ize.decode(e,"der"),i=gde(r.e.toString(16)),n={kty:"RSA",n:D6(r.n),e:pde(i)};return Nze(n,t)}function Tze(e,t){var r=Oze.decode(e,"der"),i=gde(r.e.toString(16)),n={kty:"RSA",n:D6(r.n),e:pde(i),d:D6(r.d),p:D6(r.p),q:D6(r.q),dp:D6(r.dp),dq:D6(r.dq),qi:D6(r.qi)};return Nze(n,t)}function Bxt(e,t){var r=Nxt.decode(e,"der");return xze(r.publicKey.data,t)}function Mxt(e,t){var r=Txt.decode(e,"der");return Tze(r.privateKey.data,t)}function Dxt(e){var t=/^-----BEGIN (RSA )?(PUBLIC|PRIVATE) KEY-----$/.exec(e);if(!t)return null;var r=!!t[1],i=t[2]==="PRIVATE";return i?r?Tze:Mxt:r?xze:Bxt}function kxt(e){return{n:M6(e.n),e:M6(e.e),d:e.d&&M6(e.d),p:e.p&&M6(e.p),q:e.q&&M6(e.q),dp:e.dp&&M6(e.dp),dq:e.dq&&M6(e.dq),qi:e.qi&&M6(e.qi)}}function D6(e){return pde(gde(e.toString(16)))}function Pxt(e){return new Hv.bignum(fe.from(e,"base64"))}function M6(e){return/^[0-9]+$/.test(e)?new Hv.bignum(e,10):Pxt(e)}function Lxt(e,t){var r=e.toString().split(/(\r\n|\r|\n)+/g);r=r.filter(function(n){return n.trim().length!==0});var i=Dxt(r[0]);return r=r.slice(1,-1).join(""),i(fe.from(r.replace(/[^\w\d\+\/=]+/g,""),"base64"),t)}t_.pemTojwk=Lxt;function Uxt(e){var t=kxt(e),r=!!t.d,i=r?"PRIVATE":"PUBLIC",n="-----BEGIN RSA "+i+` KEY----- +`,o=` +-----END RSA `+i+` KEY----- +`,d=fe.alloc(0);r?(t.version="two-prime",d=Oze.encode(t,"der")):d=Ize.encode(t,"der");var g=d.toString("base64").match(/.{1,64}/g).join(` +`);return n+g+o}t_.jwkTopem=Uxt});var Pze=ir((q4n,PV)=>{"use strict";J();K();z();(function(){"use strict";var e="input is invalid type",t="finalize already called",r=typeof window=="object",i=r?window:{};i.JS_SHA3_NO_WINDOW&&(r=!1);var n=!r&&typeof self=="object",o=!i.JS_SHA3_NO_NODE_JS&&typeof me=="object"&&me.versions&&me.versions.node;o?i=global:n&&(i=self);var d=!i.JS_SHA3_NO_COMMON_JS&&typeof PV=="object"&&PV.exports,g=typeof define=="function"&&define.amd,y=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",_="0123456789abcdef".split(""),I=[31,7936,2031616,520093696],N=[4,1024,262144,67108864],T=[1,256,65536,16777216],M=[6,1536,393216,100663296],D=[0,8,16,24],P=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],G=[224,256,384,512],q=[128,256],Y=["hex","buffer","arrayBuffer","array","digest"],ne={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(he){return Object.prototype.toString.call(he)==="[object Array]"}),y&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(he){return typeof he=="object"&&he.buffer&&he.buffer.constructor===ArrayBuffer});for(var ce=function(he,$e,Ge){return function(Re){return new F(he,$e,he).update(Re)[Ge]()}},le=function(he,$e,Ge){return function(Re,Se){return new F(he,$e,Se).update(Re)[Ge]()}},pe=function(he,$e,Ge){return function(Re,Se,ct,ze){return m["cshake"+he].update(Re,Se,ct,ze)[Ge]()}},ae=function(he,$e,Ge){return function(Re,Se,ct,ze){return m["kmac"+he].update(Re,Se,ct,ze)[Ge]()}},W=function(he,$e,Ge,Re){for(var Se=0;Se<Y.length;++Se){var ct=Y[Se];he[ct]=$e(Ge,Re,ct)}return he},se=function(he,$e){var Ge=ce(he,$e,"hex");return Ge.create=function(){return new F(he,$e,he)},Ge.update=function(Re){return Ge.create().update(Re)},W(Ge,ce,he,$e)},O=function(he,$e){var Ge=le(he,$e,"hex");return Ge.create=function(Re){return new F(he,$e,Re)},Ge.update=function(Re,Se){return Ge.create(Se).update(Re)},W(Ge,le,he,$e)},s=function(he,$e){var Ge=ne[he],Re=pe(he,$e,"hex");return Re.create=function(Se,ct,ze){return!ct&&!ze?m["shake"+he].create(Se):new F(he,$e,Se).bytepad([ct,ze],Ge)},Re.update=function(Se,ct,ze,te){return Re.create(ct,ze,te).update(Se)},W(Re,pe,he,$e)},l=function(he,$e){var Ge=ne[he],Re=ae(he,$e,"hex");return Re.create=function(Se,ct,ze){return new X(he,$e,ct).bytepad(["KMAC",ze],Ge).bytepad([Se],Ge)},Re.update=function(Se,ct,ze,te){return Re.create(Se,ze,te).update(ct)},W(Re,ae,he,$e)},A=[{name:"keccak",padding:T,bits:G,createMethod:se},{name:"sha3",padding:M,bits:G,createMethod:se},{name:"shake",padding:I,bits:q,createMethod:O},{name:"cshake",padding:N,bits:q,createMethod:s},{name:"kmac",padding:N,bits:q,createMethod:l}],m={},E=[],w=0;w<A.length;++w)for(var x=A[w],R=x.bits,u=0;u<R.length;++u){var C=x.name+"_"+R[u];if(E.push(C),m[C]=x.createMethod(R[u],x.padding),x.name!=="sha3"){var U=x.name+R[u];E.push(U),m[U]=m[C]}}function F(he,$e,Ge){this.blocks=[],this.s=[],this.padding=$e,this.outputBits=Ge,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(he<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=Ge>>5,this.extraBytes=(Ge&31)>>3;for(var Re=0;Re<50;++Re)this.s[Re]=0}F.prototype.update=function(he){if(this.finalized)throw new Error(t);var $e,Ge=typeof he;if(Ge!=="string"){if(Ge==="object"){if(he===null)throw new Error(e);if(y&&he.constructor===ArrayBuffer)he=new Uint8Array(he);else if(!Array.isArray(he)&&(!y||!ArrayBuffer.isView(he)))throw new Error(e)}else throw new Error(e);$e=!0}for(var Re=this.blocks,Se=this.byteCount,ct=he.length,ze=this.blockCount,te=0,Ue=this.s,oe,ge;te<ct;){if(this.reset)for(this.reset=!1,Re[0]=this.block,oe=1;oe<ze+1;++oe)Re[oe]=0;if($e)for(oe=this.start;te<ct&&oe<Se;++te)Re[oe>>2]|=he[te]<<D[oe++&3];else for(oe=this.start;te<ct&&oe<Se;++te)ge=he.charCodeAt(te),ge<128?Re[oe>>2]|=ge<<D[oe++&3]:ge<2048?(Re[oe>>2]|=(192|ge>>6)<<D[oe++&3],Re[oe>>2]|=(128|ge&63)<<D[oe++&3]):ge<55296||ge>=57344?(Re[oe>>2]|=(224|ge>>12)<<D[oe++&3],Re[oe>>2]|=(128|ge>>6&63)<<D[oe++&3],Re[oe>>2]|=(128|ge&63)<<D[oe++&3]):(ge=65536+((ge&1023)<<10|he.charCodeAt(++te)&1023),Re[oe>>2]|=(240|ge>>18)<<D[oe++&3],Re[oe>>2]|=(128|ge>>12&63)<<D[oe++&3],Re[oe>>2]|=(128|ge>>6&63)<<D[oe++&3],Re[oe>>2]|=(128|ge&63)<<D[oe++&3]);if(this.lastByteIndex=oe,oe>=Se){for(this.start=oe-Se,this.block=Re[ze],oe=0;oe<ze;++oe)Ue[oe]^=Re[oe];Ae(Ue),this.reset=!0}else this.start=oe}return this},F.prototype.encode=function(he,$e){var Ge=he&255,Re=1,Se=[Ge];for(he=he>>8,Ge=he&255;Ge>0;)Se.unshift(Ge),he=he>>8,Ge=he&255,++Re;return $e?Se.push(Re):Se.unshift(Re),this.update(Se),Se.length},F.prototype.encodeString=function(he){var $e,Ge=typeof he;if(Ge!=="string"){if(Ge==="object"){if(he===null)throw new Error(e);if(y&&he.constructor===ArrayBuffer)he=new Uint8Array(he);else if(!Array.isArray(he)&&(!y||!ArrayBuffer.isView(he)))throw new Error(e)}else throw new Error(e);$e=!0}var Re=0,Se=he.length;if($e)Re=Se;else for(var ct=0;ct<he.length;++ct){var ze=he.charCodeAt(ct);ze<128?Re+=1:ze<2048?Re+=2:ze<55296||ze>=57344?Re+=3:(ze=65536+((ze&1023)<<10|he.charCodeAt(++ct)&1023),Re+=4)}return Re+=this.encode(Re*8),this.update(he),Re},F.prototype.bytepad=function(he,$e){for(var Ge=this.encode($e),Re=0;Re<he.length;++Re)Ge+=this.encodeString(he[Re]);var Se=$e-Ge%$e,ct=[];return ct.length=Se,this.update(ct),this},F.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var he=this.blocks,$e=this.lastByteIndex,Ge=this.blockCount,Re=this.s;if(he[$e>>2]|=this.padding[$e&3],this.lastByteIndex===this.byteCount)for(he[0]=he[Ge],$e=1;$e<Ge+1;++$e)he[$e]=0;for(he[Ge-1]|=2147483648,$e=0;$e<Ge;++$e)Re[$e]^=he[$e];Ae(Re)}},F.prototype.toString=F.prototype.hex=function(){this.finalize();for(var he=this.blockCount,$e=this.s,Ge=this.outputBlocks,Re=this.extraBytes,Se=0,ct=0,ze="",te;ct<Ge;){for(Se=0;Se<he&&ct<Ge;++Se,++ct)te=$e[Se],ze+=_[te>>4&15]+_[te&15]+_[te>>12&15]+_[te>>8&15]+_[te>>20&15]+_[te>>16&15]+_[te>>28&15]+_[te>>24&15];ct%he===0&&(Ae($e),Se=0)}return Re&&(te=$e[Se],ze+=_[te>>4&15]+_[te&15],Re>1&&(ze+=_[te>>12&15]+_[te>>8&15]),Re>2&&(ze+=_[te>>20&15]+_[te>>16&15])),ze},F.prototype.arrayBuffer=function(){this.finalize();var he=this.blockCount,$e=this.s,Ge=this.outputBlocks,Re=this.extraBytes,Se=0,ct=0,ze=this.outputBits>>3,te;Re?te=new ArrayBuffer(Ge+1<<2):te=new ArrayBuffer(ze);for(var Ue=new Uint32Array(te);ct<Ge;){for(Se=0;Se<he&&ct<Ge;++Se,++ct)Ue[ct]=$e[Se];ct%he===0&&Ae($e)}return Re&&(Ue[Se]=$e[Se],te=te.slice(0,ze)),te},F.prototype.buffer=F.prototype.arrayBuffer,F.prototype.digest=F.prototype.array=function(){this.finalize();for(var he=this.blockCount,$e=this.s,Ge=this.outputBlocks,Re=this.extraBytes,Se=0,ct=0,ze=[],te,Ue;ct<Ge;){for(Se=0;Se<he&&ct<Ge;++Se,++ct)te=ct<<2,Ue=$e[Se],ze[te]=Ue&255,ze[te+1]=Ue>>8&255,ze[te+2]=Ue>>16&255,ze[te+3]=Ue>>24&255;ct%he===0&&Ae($e)}return Re&&(te=ct<<2,Ue=$e[Se],ze[te]=Ue&255,Re>1&&(ze[te+1]=Ue>>8&255),Re>2&&(ze[te+2]=Ue>>16&255)),ze};function X(he,$e,Ge){F.call(this,he,$e,Ge)}X.prototype=new F,X.prototype.finalize=function(){return this.encode(this.outputBits,!0),F.prototype.finalize.call(this)};var Ae=function(he){var $e,Ge,Re,Se,ct,ze,te,Ue,oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr,ve,ie,_e,Be,Ze,$t,at,zt,Hr,St,Yt,qr,tr,hr,Cn,er,pr,mn,Xt,dr,wn,Qt,fr,In,jt,ar,ht,Xe,et,ue,je,be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a;for(Re=0;Re<48;Re+=2)Se=he[0]^he[10]^he[20]^he[30]^he[40],ct=he[1]^he[11]^he[21]^he[31]^he[41],ze=he[2]^he[12]^he[22]^he[32]^he[42],te=he[3]^he[13]^he[23]^he[33]^he[43],Ue=he[4]^he[14]^he[24]^he[34]^he[44],oe=he[5]^he[15]^he[25]^he[35]^he[45],ge=he[6]^he[16]^he[26]^he[36]^he[46],Le=he[7]^he[17]^he[27]^he[37]^he[47],V=he[8]^he[18]^he[28]^he[38]^he[48],Qe=he[9]^he[19]^he[29]^he[39]^he[49],$e=V^(ze<<1|te>>>31),Ge=Qe^(te<<1|ze>>>31),he[0]^=$e,he[1]^=Ge,he[10]^=$e,he[11]^=Ge,he[20]^=$e,he[21]^=Ge,he[30]^=$e,he[31]^=Ge,he[40]^=$e,he[41]^=Ge,$e=Se^(Ue<<1|oe>>>31),Ge=ct^(oe<<1|Ue>>>31),he[2]^=$e,he[3]^=Ge,he[12]^=$e,he[13]^=Ge,he[22]^=$e,he[23]^=Ge,he[32]^=$e,he[33]^=Ge,he[42]^=$e,he[43]^=Ge,$e=ze^(ge<<1|Le>>>31),Ge=te^(Le<<1|ge>>>31),he[4]^=$e,he[5]^=Ge,he[14]^=$e,he[15]^=Ge,he[24]^=$e,he[25]^=Ge,he[34]^=$e,he[35]^=Ge,he[44]^=$e,he[45]^=Ge,$e=Ue^(V<<1|Qe>>>31),Ge=oe^(Qe<<1|V>>>31),he[6]^=$e,he[7]^=Ge,he[16]^=$e,he[17]^=Ge,he[26]^=$e,he[27]^=Ge,he[36]^=$e,he[37]^=Ge,he[46]^=$e,he[47]^=Ge,$e=ge^(Se<<1|ct>>>31),Ge=Le^(ct<<1|Se>>>31),he[8]^=$e,he[9]^=Ge,he[18]^=$e,he[19]^=Ge,he[28]^=$e,he[29]^=Ge,he[38]^=$e,he[39]^=Ge,he[48]^=$e,he[49]^=Ge,_t=he[0],rt=he[1],ar=he[11]<<4|he[10]>>>28,ht=he[10]<<4|he[11]>>>28,zt=he[20]<<3|he[21]>>>29,Hr=he[21]<<3|he[20]>>>29,Dr=he[31]<<9|he[30]>>>23,Pr=he[30]<<9|he[31]>>>23,Qt=he[40]<<18|he[41]>>>14,fr=he[41]<<18|he[40]>>>14,hr=he[2]<<1|he[3]>>>31,Cn=he[3]<<1|he[2]>>>31,At=he[13]<<12|he[12]>>>20,Er=he[12]<<12|he[13]>>>20,Xe=he[22]<<10|he[23]>>>22,et=he[23]<<10|he[22]>>>22,St=he[33]<<13|he[32]>>>19,Yt=he[32]<<13|he[33]>>>19,k=he[42]<<2|he[43]>>>30,a=he[43]<<2|he[42]>>>30,De=he[5]<<30|he[4]>>>2,Je=he[4]<<30|he[5]>>>2,er=he[14]<<6|he[15]>>>26,pr=he[15]<<6|he[14]>>>26,mt=he[25]<<11|he[24]>>>21,Ht=he[24]<<11|he[25]>>>21,ue=he[34]<<15|he[35]>>>17,je=he[35]<<15|he[34]>>>17,qr=he[45]<<29|he[44]>>>3,tr=he[44]<<29|he[45]>>>3,Be=he[6]<<28|he[7]>>>4,Ze=he[7]<<28|he[6]>>>4,Rt=he[17]<<23|he[16]>>>9,Vt=he[16]<<23|he[17]>>>9,mn=he[26]<<25|he[27]>>>7,Xt=he[27]<<25|he[26]>>>7,zr=he[36]<<21|he[37]>>>11,ve=he[37]<<21|he[36]>>>11,be=he[47]<<24|he[46]>>>8,qe=he[46]<<24|he[47]>>>8,In=he[8]<<27|he[9]>>>5,jt=he[9]<<27|he[8]>>>5,$t=he[18]<<20|he[19]>>>12,at=he[19]<<20|he[18]>>>12,br=he[29]<<7|he[28]>>>25,Rr=he[28]<<7|he[29]>>>25,dr=he[38]<<8|he[39]>>>24,wn=he[39]<<8|he[38]>>>24,ie=he[48]<<14|he[49]>>>18,_e=he[49]<<14|he[48]>>>18,he[0]=_t^~At&mt,he[1]=rt^~Er&Ht,he[10]=Be^~$t&zt,he[11]=Ze^~at&Hr,he[20]=hr^~er&mn,he[21]=Cn^~pr&Xt,he[30]=In^~ar&Xe,he[31]=jt^~ht&et,he[40]=De^~Rt&br,he[41]=Je^~Vt&Rr,he[2]=At^~mt&zr,he[3]=Er^~Ht&ve,he[12]=$t^~zt&St,he[13]=at^~Hr&Yt,he[22]=er^~mn&dr,he[23]=pr^~Xt&wn,he[32]=ar^~Xe&ue,he[33]=ht^~et&je,he[42]=Rt^~br&Dr,he[43]=Vt^~Rr&Pr,he[4]=mt^~zr&ie,he[5]=Ht^~ve&_e,he[14]=zt^~St&qr,he[15]=Hr^~Yt&tr,he[24]=mn^~dr&Qt,he[25]=Xt^~wn&fr,he[34]=Xe^~ue&be,he[35]=et^~je&qe,he[44]=br^~Dr&k,he[45]=Rr^~Pr&a,he[6]=zr^~ie&_t,he[7]=ve^~_e&rt,he[16]=St^~qr&Be,he[17]=Yt^~tr&Ze,he[26]=dr^~Qt&hr,he[27]=wn^~fr&Cn,he[36]=ue^~be&In,he[37]=je^~qe&jt,he[46]=Dr^~k&De,he[47]=Pr^~a&Je,he[8]=ie^~_t&At,he[9]=_e^~rt&Er,he[18]=qr^~Be&$t,he[19]=tr^~Ze&at,he[28]=Qt^~hr&er,he[29]=fr^~Cn&pr,he[38]=be^~In&ar,he[39]=qe^~jt&ht,he[48]=k^~De&Rt,he[49]=a^~Je&Vt,he[0]^=P[Re],he[1]^=P[Re+1]};if(d)PV.exports=m;else{for(w=0;w<E.length;++w)i[E[w]]=m[E[w]];g&&define(function(){return m})}})()});var qv=ir((Kze,Ede)=>{"use strict";J();K();z();(function(e,t){"use strict";function r(A,m){if(!A)throw new Error(m||"Assertion failed")}function i(A,m){A.super_=m;var E=function(){};E.prototype=m.prototype,A.prototype=new E,A.prototype.constructor=A}function n(A,m,E){if(n.isBN(A))return A;this.negative=0,this.words=null,this.length=0,this.red=null,A!==null&&((m==="le"||m==="be")&&(E=m,m=10),this._init(A||0,m||10,E||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=(mh(),Zu(ky)).Buffer}catch{}n.isBN=function(m){return m instanceof n?!0:m!==null&&typeof m=="object"&&m.constructor.wordSize===n.wordSize&&Array.isArray(m.words)},n.max=function(m,E){return m.cmp(E)>0?m:E},n.min=function(m,E){return m.cmp(E)<0?m:E},n.prototype._init=function(m,E,w){if(typeof m=="number")return this._initNumber(m,E,w);if(typeof m=="object")return this._initArray(m,E,w);E==="hex"&&(E=16),r(E===(E|0)&&E>=2&&E<=36),m=m.toString().replace(/\s+/g,"");var x=0;m[0]==="-"&&(x++,this.negative=1),x<m.length&&(E===16?this._parseHex(m,x,w):(this._parseBase(m,E,x),w==="le"&&this._initArray(this.toArray(),E,w)))},n.prototype._initNumber=function(m,E,w){m<0&&(this.negative=1,m=-m),m<67108864?(this.words=[m&67108863],this.length=1):m<4503599627370496?(this.words=[m&67108863,m/67108864&67108863],this.length=2):(r(m<9007199254740992),this.words=[m&67108863,m/67108864&67108863,1],this.length=3),w==="le"&&this._initArray(this.toArray(),E,w)},n.prototype._initArray=function(m,E,w){if(r(typeof m.length=="number"),m.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(m.length/3),this.words=new Array(this.length);for(var x=0;x<this.length;x++)this.words[x]=0;var R,u,C=0;if(w==="be")for(x=m.length-1,R=0;x>=0;x-=3)u=m[x]|m[x-1]<<8|m[x-2]<<16,this.words[R]|=u<<C&67108863,this.words[R+1]=u>>>26-C&67108863,C+=24,C>=26&&(C-=26,R++);else if(w==="le")for(x=0,R=0;x<m.length;x+=3)u=m[x]|m[x+1]<<8|m[x+2]<<16,this.words[R]|=u<<C&67108863,this.words[R+1]=u>>>26-C&67108863,C+=24,C>=26&&(C-=26,R++);return this._strip()};function d(A,m){var E=A.charCodeAt(m);if(E>=48&&E<=57)return E-48;if(E>=65&&E<=70)return E-55;if(E>=97&&E<=102)return E-87;r(!1,"Invalid character in "+A)}function g(A,m,E){var w=d(A,E);return E-1>=m&&(w|=d(A,E-1)<<4),w}n.prototype._parseHex=function(m,E,w){this.length=Math.ceil((m.length-E)/6),this.words=new Array(this.length);for(var x=0;x<this.length;x++)this.words[x]=0;var R=0,u=0,C;if(w==="be")for(x=m.length-1;x>=E;x-=2)C=g(m,E,x)<<R,this.words[u]|=C&67108863,R>=18?(R-=18,u+=1,this.words[u]|=C>>>26):R+=8;else{var U=m.length-E;for(x=U%2===0?E+1:E;x<m.length;x+=2)C=g(m,E,x)<<R,this.words[u]|=C&67108863,R>=18?(R-=18,u+=1,this.words[u]|=C>>>26):R+=8}this._strip()};function y(A,m,E,w){for(var x=0,R=0,u=Math.min(A.length,E),C=m;C<u;C++){var U=A.charCodeAt(C)-48;x*=w,U>=49?R=U-49+10:U>=17?R=U-17+10:R=U,r(U>=0&&R<w,"Invalid character"),x+=R}return x}n.prototype._parseBase=function(m,E,w){this.words=[0],this.length=1;for(var x=0,R=1;R<=67108863;R*=E)x++;x--,R=R/E|0;for(var u=m.length-w,C=u%x,U=Math.min(u,u-C)+w,F=0,X=w;X<U;X+=x)F=y(m,X,X+x,E),this.imuln(R),this.words[0]+F<67108864?this.words[0]+=F:this._iaddn(F);if(C!==0){var Ae=1;for(F=y(m,X,m.length,E),X=0;X<C;X++)Ae*=E;this.imuln(Ae),this.words[0]+F<67108864?this.words[0]+=F:this._iaddn(F)}this._strip()},n.prototype.copy=function(m){m.words=new Array(this.length);for(var E=0;E<this.length;E++)m.words[E]=this.words[E];m.length=this.length,m.negative=this.negative,m.red=this.red};function _(A,m){A.words=m.words,A.length=m.length,A.negative=m.negative,A.red=m.red}if(n.prototype._move=function(m){_(m,this)},n.prototype.clone=function(){var m=new n(null);return this.copy(m),m},n.prototype._expand=function(m){for(;this.length<m;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},n.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=I}catch{n.prototype.inspect=I}else n.prototype.inspect=I;function I(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var N=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],T=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],M=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(m,E){m=m||10,E=E|0||1;var w;if(m===16||m==="hex"){w="";for(var x=0,R=0,u=0;u<this.length;u++){var C=this.words[u],U=((C<<x|R)&16777215).toString(16);R=C>>>24-x&16777215,x+=2,x>=26&&(x-=26,u--),R!==0||u!==this.length-1?w=N[6-U.length]+U+w:w=U+w}for(R!==0&&(w=R.toString(16)+w);w.length%E!==0;)w="0"+w;return this.negative!==0&&(w="-"+w),w}if(m===(m|0)&&m>=2&&m<=36){var F=T[m],X=M[m];w="";var Ae=this.clone();for(Ae.negative=0;!Ae.isZero();){var he=Ae.modrn(X).toString(m);Ae=Ae.idivn(X),Ae.isZero()?w=he+w:w=N[F-he.length]+he+w}for(this.isZero()&&(w="0"+w);w.length%E!==0;)w="0"+w;return this.negative!==0&&(w="-"+w),w}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var m=this.words[0];return this.length===2?m+=this.words[1]*67108864:this.length===3&&this.words[2]===1?m+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-m:m},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(m,E){return this.toArrayLike(o,m,E)}),n.prototype.toArray=function(m,E){return this.toArrayLike(Array,m,E)};var D=function(m,E){return m.allocUnsafe?m.allocUnsafe(E):new m(E)};n.prototype.toArrayLike=function(m,E,w){this._strip();var x=this.byteLength(),R=w||Math.max(1,x);r(x<=R,"byte array longer than desired length"),r(R>0,"Requested array length <= 0");var u=D(m,R),C=E==="le"?"LE":"BE";return this["_toArrayLike"+C](u,x),u},n.prototype._toArrayLikeLE=function(m,E){for(var w=0,x=0,R=0,u=0;R<this.length;R++){var C=this.words[R]<<u|x;m[w++]=C&255,w<m.length&&(m[w++]=C>>8&255),w<m.length&&(m[w++]=C>>16&255),u===6?(w<m.length&&(m[w++]=C>>24&255),x=0,u=0):(x=C>>>24,u+=2)}if(w<m.length)for(m[w++]=x;w<m.length;)m[w++]=0},n.prototype._toArrayLikeBE=function(m,E){for(var w=m.length-1,x=0,R=0,u=0;R<this.length;R++){var C=this.words[R]<<u|x;m[w--]=C&255,w>=0&&(m[w--]=C>>8&255),w>=0&&(m[w--]=C>>16&255),u===6?(w>=0&&(m[w--]=C>>24&255),x=0,u=0):(x=C>>>24,u+=2)}if(w>=0)for(m[w--]=x;w>=0;)m[w--]=0},Math.clz32?n.prototype._countBits=function(m){return 32-Math.clz32(m)}:n.prototype._countBits=function(m){var E=m,w=0;return E>=4096&&(w+=13,E>>>=13),E>=64&&(w+=7,E>>>=7),E>=8&&(w+=4,E>>>=4),E>=2&&(w+=2,E>>>=2),w+E},n.prototype._zeroBits=function(m){if(m===0)return 26;var E=m,w=0;return(E&8191)===0&&(w+=13,E>>>=13),(E&127)===0&&(w+=7,E>>>=7),(E&15)===0&&(w+=4,E>>>=4),(E&3)===0&&(w+=2,E>>>=2),(E&1)===0&&w++,w},n.prototype.bitLength=function(){var m=this.words[this.length-1],E=this._countBits(m);return(this.length-1)*26+E};function P(A){for(var m=new Array(A.bitLength()),E=0;E<m.length;E++){var w=E/26|0,x=E%26;m[E]=A.words[w]>>>x&1}return m}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var m=0,E=0;E<this.length;E++){var w=this._zeroBits(this.words[E]);if(m+=w,w!==26)break}return m},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(m){return this.negative!==0?this.abs().inotn(m).iaddn(1):this.clone()},n.prototype.fromTwos=function(m){return this.testn(m-1)?this.notn(m).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return this.negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(m){for(;this.length<m.length;)this.words[this.length++]=0;for(var E=0;E<m.length;E++)this.words[E]=this.words[E]|m.words[E];return this._strip()},n.prototype.ior=function(m){return r((this.negative|m.negative)===0),this.iuor(m)},n.prototype.or=function(m){return this.length>m.length?this.clone().ior(m):m.clone().ior(this)},n.prototype.uor=function(m){return this.length>m.length?this.clone().iuor(m):m.clone().iuor(this)},n.prototype.iuand=function(m){var E;this.length>m.length?E=m:E=this;for(var w=0;w<E.length;w++)this.words[w]=this.words[w]&m.words[w];return this.length=E.length,this._strip()},n.prototype.iand=function(m){return r((this.negative|m.negative)===0),this.iuand(m)},n.prototype.and=function(m){return this.length>m.length?this.clone().iand(m):m.clone().iand(this)},n.prototype.uand=function(m){return this.length>m.length?this.clone().iuand(m):m.clone().iuand(this)},n.prototype.iuxor=function(m){var E,w;this.length>m.length?(E=this,w=m):(E=m,w=this);for(var x=0;x<w.length;x++)this.words[x]=E.words[x]^w.words[x];if(this!==E)for(;x<E.length;x++)this.words[x]=E.words[x];return this.length=E.length,this._strip()},n.prototype.ixor=function(m){return r((this.negative|m.negative)===0),this.iuxor(m)},n.prototype.xor=function(m){return this.length>m.length?this.clone().ixor(m):m.clone().ixor(this)},n.prototype.uxor=function(m){return this.length>m.length?this.clone().iuxor(m):m.clone().iuxor(this)},n.prototype.inotn=function(m){r(typeof m=="number"&&m>=0);var E=Math.ceil(m/26)|0,w=m%26;this._expand(E),w>0&&E--;for(var x=0;x<E;x++)this.words[x]=~this.words[x]&67108863;return w>0&&(this.words[x]=~this.words[x]&67108863>>26-w),this._strip()},n.prototype.notn=function(m){return this.clone().inotn(m)},n.prototype.setn=function(m,E){r(typeof m=="number"&&m>=0);var w=m/26|0,x=m%26;return this._expand(w+1),E?this.words[w]=this.words[w]|1<<x:this.words[w]=this.words[w]&~(1<<x),this._strip()},n.prototype.iadd=function(m){var E;if(this.negative!==0&&m.negative===0)return this.negative=0,E=this.isub(m),this.negative^=1,this._normSign();if(this.negative===0&&m.negative!==0)return m.negative=0,E=this.isub(m),m.negative=1,E._normSign();var w,x;this.length>m.length?(w=this,x=m):(w=m,x=this);for(var R=0,u=0;u<x.length;u++)E=(w.words[u]|0)+(x.words[u]|0)+R,this.words[u]=E&67108863,R=E>>>26;for(;R!==0&&u<w.length;u++)E=(w.words[u]|0)+R,this.words[u]=E&67108863,R=E>>>26;if(this.length=w.length,R!==0)this.words[this.length]=R,this.length++;else if(w!==this)for(;u<w.length;u++)this.words[u]=w.words[u];return this},n.prototype.add=function(m){var E;return m.negative!==0&&this.negative===0?(m.negative=0,E=this.sub(m),m.negative^=1,E):m.negative===0&&this.negative!==0?(this.negative=0,E=m.sub(this),this.negative=1,E):this.length>m.length?this.clone().iadd(m):m.clone().iadd(this)},n.prototype.isub=function(m){if(m.negative!==0){m.negative=0;var E=this.iadd(m);return m.negative=1,E._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(m),this.negative=1,this._normSign();var w=this.cmp(m);if(w===0)return this.negative=0,this.length=1,this.words[0]=0,this;var x,R;w>0?(x=this,R=m):(x=m,R=this);for(var u=0,C=0;C<R.length;C++)E=(x.words[C]|0)-(R.words[C]|0)+u,u=E>>26,this.words[C]=E&67108863;for(;u!==0&&C<x.length;C++)E=(x.words[C]|0)+u,u=E>>26,this.words[C]=E&67108863;if(u===0&&C<x.length&&x!==this)for(;C<x.length;C++)this.words[C]=x.words[C];return this.length=Math.max(this.length,C),x!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(m){return this.clone().isub(m)};function G(A,m,E){E.negative=m.negative^A.negative;var w=A.length+m.length|0;E.length=w,w=w-1|0;var x=A.words[0]|0,R=m.words[0]|0,u=x*R,C=u&67108863,U=u/67108864|0;E.words[0]=C;for(var F=1;F<w;F++){for(var X=U>>>26,Ae=U&67108863,he=Math.min(F,m.length-1),$e=Math.max(0,F-A.length+1);$e<=he;$e++){var Ge=F-$e|0;x=A.words[Ge]|0,R=m.words[$e]|0,u=x*R+Ae,X+=u/67108864|0,Ae=u&67108863}E.words[F]=Ae|0,U=X|0}return U!==0?E.words[F]=U|0:E.length--,E._strip()}var q=function(m,E,w){var x=m.words,R=E.words,u=w.words,C=0,U,F,X,Ae=x[0]|0,he=Ae&8191,$e=Ae>>>13,Ge=x[1]|0,Re=Ge&8191,Se=Ge>>>13,ct=x[2]|0,ze=ct&8191,te=ct>>>13,Ue=x[3]|0,oe=Ue&8191,ge=Ue>>>13,Le=x[4]|0,V=Le&8191,Qe=Le>>>13,_t=x[5]|0,rt=_t&8191,At=_t>>>13,Er=x[6]|0,mt=Er&8191,Ht=Er>>>13,zr=x[7]|0,ve=zr&8191,ie=zr>>>13,_e=x[8]|0,Be=_e&8191,Ze=_e>>>13,$t=x[9]|0,at=$t&8191,zt=$t>>>13,Hr=R[0]|0,St=Hr&8191,Yt=Hr>>>13,qr=R[1]|0,tr=qr&8191,hr=qr>>>13,Cn=R[2]|0,er=Cn&8191,pr=Cn>>>13,mn=R[3]|0,Xt=mn&8191,dr=mn>>>13,wn=R[4]|0,Qt=wn&8191,fr=wn>>>13,In=R[5]|0,jt=In&8191,ar=In>>>13,ht=R[6]|0,Xe=ht&8191,et=ht>>>13,ue=R[7]|0,je=ue&8191,be=ue>>>13,qe=R[8]|0,De=qe&8191,Je=qe>>>13,Rt=R[9]|0,Vt=Rt&8191,br=Rt>>>13;w.negative=m.negative^E.negative,w.length=19,U=Math.imul(he,St),F=Math.imul(he,Yt),F=F+Math.imul($e,St)|0,X=Math.imul($e,Yt);var Rr=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,U=Math.imul(Re,St),F=Math.imul(Re,Yt),F=F+Math.imul(Se,St)|0,X=Math.imul(Se,Yt),U=U+Math.imul(he,tr)|0,F=F+Math.imul(he,hr)|0,F=F+Math.imul($e,tr)|0,X=X+Math.imul($e,hr)|0;var Dr=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,U=Math.imul(ze,St),F=Math.imul(ze,Yt),F=F+Math.imul(te,St)|0,X=Math.imul(te,Yt),U=U+Math.imul(Re,tr)|0,F=F+Math.imul(Re,hr)|0,F=F+Math.imul(Se,tr)|0,X=X+Math.imul(Se,hr)|0,U=U+Math.imul(he,er)|0,F=F+Math.imul(he,pr)|0,F=F+Math.imul($e,er)|0,X=X+Math.imul($e,pr)|0;var Pr=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,U=Math.imul(oe,St),F=Math.imul(oe,Yt),F=F+Math.imul(ge,St)|0,X=Math.imul(ge,Yt),U=U+Math.imul(ze,tr)|0,F=F+Math.imul(ze,hr)|0,F=F+Math.imul(te,tr)|0,X=X+Math.imul(te,hr)|0,U=U+Math.imul(Re,er)|0,F=F+Math.imul(Re,pr)|0,F=F+Math.imul(Se,er)|0,X=X+Math.imul(Se,pr)|0,U=U+Math.imul(he,Xt)|0,F=F+Math.imul(he,dr)|0,F=F+Math.imul($e,Xt)|0,X=X+Math.imul($e,dr)|0;var k=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(k>>>26)|0,k&=67108863,U=Math.imul(V,St),F=Math.imul(V,Yt),F=F+Math.imul(Qe,St)|0,X=Math.imul(Qe,Yt),U=U+Math.imul(oe,tr)|0,F=F+Math.imul(oe,hr)|0,F=F+Math.imul(ge,tr)|0,X=X+Math.imul(ge,hr)|0,U=U+Math.imul(ze,er)|0,F=F+Math.imul(ze,pr)|0,F=F+Math.imul(te,er)|0,X=X+Math.imul(te,pr)|0,U=U+Math.imul(Re,Xt)|0,F=F+Math.imul(Re,dr)|0,F=F+Math.imul(Se,Xt)|0,X=X+Math.imul(Se,dr)|0,U=U+Math.imul(he,Qt)|0,F=F+Math.imul(he,fr)|0,F=F+Math.imul($e,Qt)|0,X=X+Math.imul($e,fr)|0;var a=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(a>>>26)|0,a&=67108863,U=Math.imul(rt,St),F=Math.imul(rt,Yt),F=F+Math.imul(At,St)|0,X=Math.imul(At,Yt),U=U+Math.imul(V,tr)|0,F=F+Math.imul(V,hr)|0,F=F+Math.imul(Qe,tr)|0,X=X+Math.imul(Qe,hr)|0,U=U+Math.imul(oe,er)|0,F=F+Math.imul(oe,pr)|0,F=F+Math.imul(ge,er)|0,X=X+Math.imul(ge,pr)|0,U=U+Math.imul(ze,Xt)|0,F=F+Math.imul(ze,dr)|0,F=F+Math.imul(te,Xt)|0,X=X+Math.imul(te,dr)|0,U=U+Math.imul(Re,Qt)|0,F=F+Math.imul(Re,fr)|0,F=F+Math.imul(Se,Qt)|0,X=X+Math.imul(Se,fr)|0,U=U+Math.imul(he,jt)|0,F=F+Math.imul(he,ar)|0,F=F+Math.imul($e,jt)|0,X=X+Math.imul($e,ar)|0;var S=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(S>>>26)|0,S&=67108863,U=Math.imul(mt,St),F=Math.imul(mt,Yt),F=F+Math.imul(Ht,St)|0,X=Math.imul(Ht,Yt),U=U+Math.imul(rt,tr)|0,F=F+Math.imul(rt,hr)|0,F=F+Math.imul(At,tr)|0,X=X+Math.imul(At,hr)|0,U=U+Math.imul(V,er)|0,F=F+Math.imul(V,pr)|0,F=F+Math.imul(Qe,er)|0,X=X+Math.imul(Qe,pr)|0,U=U+Math.imul(oe,Xt)|0,F=F+Math.imul(oe,dr)|0,F=F+Math.imul(ge,Xt)|0,X=X+Math.imul(ge,dr)|0,U=U+Math.imul(ze,Qt)|0,F=F+Math.imul(ze,fr)|0,F=F+Math.imul(te,Qt)|0,X=X+Math.imul(te,fr)|0,U=U+Math.imul(Re,jt)|0,F=F+Math.imul(Re,ar)|0,F=F+Math.imul(Se,jt)|0,X=X+Math.imul(Se,ar)|0,U=U+Math.imul(he,Xe)|0,F=F+Math.imul(he,et)|0,F=F+Math.imul($e,Xe)|0,X=X+Math.imul($e,et)|0;var sn=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(sn>>>26)|0,sn&=67108863,U=Math.imul(ve,St),F=Math.imul(ve,Yt),F=F+Math.imul(ie,St)|0,X=Math.imul(ie,Yt),U=U+Math.imul(mt,tr)|0,F=F+Math.imul(mt,hr)|0,F=F+Math.imul(Ht,tr)|0,X=X+Math.imul(Ht,hr)|0,U=U+Math.imul(rt,er)|0,F=F+Math.imul(rt,pr)|0,F=F+Math.imul(At,er)|0,X=X+Math.imul(At,pr)|0,U=U+Math.imul(V,Xt)|0,F=F+Math.imul(V,dr)|0,F=F+Math.imul(Qe,Xt)|0,X=X+Math.imul(Qe,dr)|0,U=U+Math.imul(oe,Qt)|0,F=F+Math.imul(oe,fr)|0,F=F+Math.imul(ge,Qt)|0,X=X+Math.imul(ge,fr)|0,U=U+Math.imul(ze,jt)|0,F=F+Math.imul(ze,ar)|0,F=F+Math.imul(te,jt)|0,X=X+Math.imul(te,ar)|0,U=U+Math.imul(Re,Xe)|0,F=F+Math.imul(Re,et)|0,F=F+Math.imul(Se,Xe)|0,X=X+Math.imul(Se,et)|0,U=U+Math.imul(he,je)|0,F=F+Math.imul(he,be)|0,F=F+Math.imul($e,je)|0,X=X+Math.imul($e,be)|0;var Lr=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,U=Math.imul(Be,St),F=Math.imul(Be,Yt),F=F+Math.imul(Ze,St)|0,X=Math.imul(Ze,Yt),U=U+Math.imul(ve,tr)|0,F=F+Math.imul(ve,hr)|0,F=F+Math.imul(ie,tr)|0,X=X+Math.imul(ie,hr)|0,U=U+Math.imul(mt,er)|0,F=F+Math.imul(mt,pr)|0,F=F+Math.imul(Ht,er)|0,X=X+Math.imul(Ht,pr)|0,U=U+Math.imul(rt,Xt)|0,F=F+Math.imul(rt,dr)|0,F=F+Math.imul(At,Xt)|0,X=X+Math.imul(At,dr)|0,U=U+Math.imul(V,Qt)|0,F=F+Math.imul(V,fr)|0,F=F+Math.imul(Qe,Qt)|0,X=X+Math.imul(Qe,fr)|0,U=U+Math.imul(oe,jt)|0,F=F+Math.imul(oe,ar)|0,F=F+Math.imul(ge,jt)|0,X=X+Math.imul(ge,ar)|0,U=U+Math.imul(ze,Xe)|0,F=F+Math.imul(ze,et)|0,F=F+Math.imul(te,Xe)|0,X=X+Math.imul(te,et)|0,U=U+Math.imul(Re,je)|0,F=F+Math.imul(Re,be)|0,F=F+Math.imul(Se,je)|0,X=X+Math.imul(Se,be)|0,U=U+Math.imul(he,De)|0,F=F+Math.imul(he,Je)|0,F=F+Math.imul($e,De)|0,X=X+Math.imul($e,Je)|0;var Wr=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,U=Math.imul(at,St),F=Math.imul(at,Yt),F=F+Math.imul(zt,St)|0,X=Math.imul(zt,Yt),U=U+Math.imul(Be,tr)|0,F=F+Math.imul(Be,hr)|0,F=F+Math.imul(Ze,tr)|0,X=X+Math.imul(Ze,hr)|0,U=U+Math.imul(ve,er)|0,F=F+Math.imul(ve,pr)|0,F=F+Math.imul(ie,er)|0,X=X+Math.imul(ie,pr)|0,U=U+Math.imul(mt,Xt)|0,F=F+Math.imul(mt,dr)|0,F=F+Math.imul(Ht,Xt)|0,X=X+Math.imul(Ht,dr)|0,U=U+Math.imul(rt,Qt)|0,F=F+Math.imul(rt,fr)|0,F=F+Math.imul(At,Qt)|0,X=X+Math.imul(At,fr)|0,U=U+Math.imul(V,jt)|0,F=F+Math.imul(V,ar)|0,F=F+Math.imul(Qe,jt)|0,X=X+Math.imul(Qe,ar)|0,U=U+Math.imul(oe,Xe)|0,F=F+Math.imul(oe,et)|0,F=F+Math.imul(ge,Xe)|0,X=X+Math.imul(ge,et)|0,U=U+Math.imul(ze,je)|0,F=F+Math.imul(ze,be)|0,F=F+Math.imul(te,je)|0,X=X+Math.imul(te,be)|0,U=U+Math.imul(Re,De)|0,F=F+Math.imul(Re,Je)|0,F=F+Math.imul(Se,De)|0,X=X+Math.imul(Se,Je)|0,U=U+Math.imul(he,Vt)|0,F=F+Math.imul(he,br)|0,F=F+Math.imul($e,Vt)|0,X=X+Math.imul($e,br)|0;var ln=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(ln>>>26)|0,ln&=67108863,U=Math.imul(at,tr),F=Math.imul(at,hr),F=F+Math.imul(zt,tr)|0,X=Math.imul(zt,hr),U=U+Math.imul(Be,er)|0,F=F+Math.imul(Be,pr)|0,F=F+Math.imul(Ze,er)|0,X=X+Math.imul(Ze,pr)|0,U=U+Math.imul(ve,Xt)|0,F=F+Math.imul(ve,dr)|0,F=F+Math.imul(ie,Xt)|0,X=X+Math.imul(ie,dr)|0,U=U+Math.imul(mt,Qt)|0,F=F+Math.imul(mt,fr)|0,F=F+Math.imul(Ht,Qt)|0,X=X+Math.imul(Ht,fr)|0,U=U+Math.imul(rt,jt)|0,F=F+Math.imul(rt,ar)|0,F=F+Math.imul(At,jt)|0,X=X+Math.imul(At,ar)|0,U=U+Math.imul(V,Xe)|0,F=F+Math.imul(V,et)|0,F=F+Math.imul(Qe,Xe)|0,X=X+Math.imul(Qe,et)|0,U=U+Math.imul(oe,je)|0,F=F+Math.imul(oe,be)|0,F=F+Math.imul(ge,je)|0,X=X+Math.imul(ge,be)|0,U=U+Math.imul(ze,De)|0,F=F+Math.imul(ze,Je)|0,F=F+Math.imul(te,De)|0,X=X+Math.imul(te,Je)|0,U=U+Math.imul(Re,Vt)|0,F=F+Math.imul(Re,br)|0,F=F+Math.imul(Se,Vt)|0,X=X+Math.imul(Se,br)|0;var yt=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(yt>>>26)|0,yt&=67108863,U=Math.imul(at,er),F=Math.imul(at,pr),F=F+Math.imul(zt,er)|0,X=Math.imul(zt,pr),U=U+Math.imul(Be,Xt)|0,F=F+Math.imul(Be,dr)|0,F=F+Math.imul(Ze,Xt)|0,X=X+Math.imul(Ze,dr)|0,U=U+Math.imul(ve,Qt)|0,F=F+Math.imul(ve,fr)|0,F=F+Math.imul(ie,Qt)|0,X=X+Math.imul(ie,fr)|0,U=U+Math.imul(mt,jt)|0,F=F+Math.imul(mt,ar)|0,F=F+Math.imul(Ht,jt)|0,X=X+Math.imul(Ht,ar)|0,U=U+Math.imul(rt,Xe)|0,F=F+Math.imul(rt,et)|0,F=F+Math.imul(At,Xe)|0,X=X+Math.imul(At,et)|0,U=U+Math.imul(V,je)|0,F=F+Math.imul(V,be)|0,F=F+Math.imul(Qe,je)|0,X=X+Math.imul(Qe,be)|0,U=U+Math.imul(oe,De)|0,F=F+Math.imul(oe,Je)|0,F=F+Math.imul(ge,De)|0,X=X+Math.imul(ge,Je)|0,U=U+Math.imul(ze,Vt)|0,F=F+Math.imul(ze,br)|0,F=F+Math.imul(te,Vt)|0,X=X+Math.imul(te,br)|0;var ot=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(ot>>>26)|0,ot&=67108863,U=Math.imul(at,Xt),F=Math.imul(at,dr),F=F+Math.imul(zt,Xt)|0,X=Math.imul(zt,dr),U=U+Math.imul(Be,Qt)|0,F=F+Math.imul(Be,fr)|0,F=F+Math.imul(Ze,Qt)|0,X=X+Math.imul(Ze,fr)|0,U=U+Math.imul(ve,jt)|0,F=F+Math.imul(ve,ar)|0,F=F+Math.imul(ie,jt)|0,X=X+Math.imul(ie,ar)|0,U=U+Math.imul(mt,Xe)|0,F=F+Math.imul(mt,et)|0,F=F+Math.imul(Ht,Xe)|0,X=X+Math.imul(Ht,et)|0,U=U+Math.imul(rt,je)|0,F=F+Math.imul(rt,be)|0,F=F+Math.imul(At,je)|0,X=X+Math.imul(At,be)|0,U=U+Math.imul(V,De)|0,F=F+Math.imul(V,Je)|0,F=F+Math.imul(Qe,De)|0,X=X+Math.imul(Qe,Je)|0,U=U+Math.imul(oe,Vt)|0,F=F+Math.imul(oe,br)|0,F=F+Math.imul(ge,Vt)|0,X=X+Math.imul(ge,br)|0;var lt=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(lt>>>26)|0,lt&=67108863,U=Math.imul(at,Qt),F=Math.imul(at,fr),F=F+Math.imul(zt,Qt)|0,X=Math.imul(zt,fr),U=U+Math.imul(Be,jt)|0,F=F+Math.imul(Be,ar)|0,F=F+Math.imul(Ze,jt)|0,X=X+Math.imul(Ze,ar)|0,U=U+Math.imul(ve,Xe)|0,F=F+Math.imul(ve,et)|0,F=F+Math.imul(ie,Xe)|0,X=X+Math.imul(ie,et)|0,U=U+Math.imul(mt,je)|0,F=F+Math.imul(mt,be)|0,F=F+Math.imul(Ht,je)|0,X=X+Math.imul(Ht,be)|0,U=U+Math.imul(rt,De)|0,F=F+Math.imul(rt,Je)|0,F=F+Math.imul(At,De)|0,X=X+Math.imul(At,Je)|0,U=U+Math.imul(V,Vt)|0,F=F+Math.imul(V,br)|0,F=F+Math.imul(Qe,Vt)|0,X=X+Math.imul(Qe,br)|0;var gt=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(gt>>>26)|0,gt&=67108863,U=Math.imul(at,jt),F=Math.imul(at,ar),F=F+Math.imul(zt,jt)|0,X=Math.imul(zt,ar),U=U+Math.imul(Be,Xe)|0,F=F+Math.imul(Be,et)|0,F=F+Math.imul(Ze,Xe)|0,X=X+Math.imul(Ze,et)|0,U=U+Math.imul(ve,je)|0,F=F+Math.imul(ve,be)|0,F=F+Math.imul(ie,je)|0,X=X+Math.imul(ie,be)|0,U=U+Math.imul(mt,De)|0,F=F+Math.imul(mt,Je)|0,F=F+Math.imul(Ht,De)|0,X=X+Math.imul(Ht,Je)|0,U=U+Math.imul(rt,Vt)|0,F=F+Math.imul(rt,br)|0,F=F+Math.imul(At,Vt)|0,X=X+Math.imul(At,br)|0;var Ie=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,U=Math.imul(at,Xe),F=Math.imul(at,et),F=F+Math.imul(zt,Xe)|0,X=Math.imul(zt,et),U=U+Math.imul(Be,je)|0,F=F+Math.imul(Be,be)|0,F=F+Math.imul(Ze,je)|0,X=X+Math.imul(Ze,be)|0,U=U+Math.imul(ve,De)|0,F=F+Math.imul(ve,Je)|0,F=F+Math.imul(ie,De)|0,X=X+Math.imul(ie,Je)|0,U=U+Math.imul(mt,Vt)|0,F=F+Math.imul(mt,br)|0,F=F+Math.imul(Ht,Vt)|0,X=X+Math.imul(Ht,br)|0;var Zt=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,U=Math.imul(at,je),F=Math.imul(at,be),F=F+Math.imul(zt,je)|0,X=Math.imul(zt,be),U=U+Math.imul(Be,De)|0,F=F+Math.imul(Be,Je)|0,F=F+Math.imul(Ze,De)|0,X=X+Math.imul(Ze,Je)|0,U=U+Math.imul(ve,Vt)|0,F=F+Math.imul(ve,br)|0,F=F+Math.imul(ie,Vt)|0,X=X+Math.imul(ie,br)|0;var Ir=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,U=Math.imul(at,De),F=Math.imul(at,Je),F=F+Math.imul(zt,De)|0,X=Math.imul(zt,Je),U=U+Math.imul(Be,Vt)|0,F=F+Math.imul(Be,br)|0,F=F+Math.imul(Ze,Vt)|0,X=X+Math.imul(Ze,br)|0;var $=(C+U|0)+((F&8191)<<13)|0;C=(X+(F>>>13)|0)+($>>>26)|0,$&=67108863,U=Math.imul(at,Vt),F=Math.imul(at,br),F=F+Math.imul(zt,Vt)|0,X=Math.imul(zt,br);var Qr=(C+U|0)+((F&8191)<<13)|0;return C=(X+(F>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,u[0]=Rr,u[1]=Dr,u[2]=Pr,u[3]=k,u[4]=a,u[5]=S,u[6]=sn,u[7]=Lr,u[8]=Wr,u[9]=ln,u[10]=yt,u[11]=ot,u[12]=lt,u[13]=gt,u[14]=Ie,u[15]=Zt,u[16]=Ir,u[17]=$,u[18]=Qr,C!==0&&(u[19]=C,w.length++),w};Math.imul||(q=G);function Y(A,m,E){E.negative=m.negative^A.negative,E.length=A.length+m.length;for(var w=0,x=0,R=0;R<E.length-1;R++){var u=x;x=0;for(var C=w&67108863,U=Math.min(R,m.length-1),F=Math.max(0,R-A.length+1);F<=U;F++){var X=R-F,Ae=A.words[X]|0,he=m.words[F]|0,$e=Ae*he,Ge=$e&67108863;u=u+($e/67108864|0)|0,Ge=Ge+C|0,C=Ge&67108863,u=u+(Ge>>>26)|0,x+=u>>>26,u&=67108863}E.words[R]=C,w=u,u=x}return w!==0?E.words[R]=w:E.length--,E._strip()}function ne(A,m,E){return Y(A,m,E)}n.prototype.mulTo=function(m,E){var w,x=this.length+m.length;return this.length===10&&m.length===10?w=q(this,m,E):x<63?w=G(this,m,E):x<1024?w=Y(this,m,E):w=ne(this,m,E),w};function ce(A,m){this.x=A,this.y=m}ce.prototype.makeRBT=function(m){for(var E=new Array(m),w=n.prototype._countBits(m)-1,x=0;x<m;x++)E[x]=this.revBin(x,w,m);return E},ce.prototype.revBin=function(m,E,w){if(m===0||m===w-1)return m;for(var x=0,R=0;R<E;R++)x|=(m&1)<<E-R-1,m>>=1;return x},ce.prototype.permute=function(m,E,w,x,R,u){for(var C=0;C<u;C++)x[C]=E[m[C]],R[C]=w[m[C]]},ce.prototype.transform=function(m,E,w,x,R,u){this.permute(u,m,E,w,x,R);for(var C=1;C<R;C<<=1)for(var U=C<<1,F=Math.cos(2*Math.PI/U),X=Math.sin(2*Math.PI/U),Ae=0;Ae<R;Ae+=U)for(var he=F,$e=X,Ge=0;Ge<C;Ge++){var Re=w[Ae+Ge],Se=x[Ae+Ge],ct=w[Ae+Ge+C],ze=x[Ae+Ge+C],te=he*ct-$e*ze;ze=he*ze+$e*ct,ct=te,w[Ae+Ge]=Re+ct,x[Ae+Ge]=Se+ze,w[Ae+Ge+C]=Re-ct,x[Ae+Ge+C]=Se-ze,Ge!==U&&(te=F*he-X*$e,$e=F*$e+X*he,he=te)}},ce.prototype.guessLen13b=function(m,E){var w=Math.max(E,m)|1,x=w&1,R=0;for(w=w/2|0;w;w=w>>>1)R++;return 1<<R+1+x},ce.prototype.conjugate=function(m,E,w){if(!(w<=1))for(var x=0;x<w/2;x++){var R=m[x];m[x]=m[w-x-1],m[w-x-1]=R,R=E[x],E[x]=-E[w-x-1],E[w-x-1]=-R}},ce.prototype.normalize13b=function(m,E){for(var w=0,x=0;x<E/2;x++){var R=Math.round(m[2*x+1]/E)*8192+Math.round(m[2*x]/E)+w;m[x]=R&67108863,R<67108864?w=0:w=R/67108864|0}return m},ce.prototype.convert13b=function(m,E,w,x){for(var R=0,u=0;u<E;u++)R=R+(m[u]|0),w[2*u]=R&8191,R=R>>>13,w[2*u+1]=R&8191,R=R>>>13;for(u=2*E;u<x;++u)w[u]=0;r(R===0),r((R&-8192)===0)},ce.prototype.stub=function(m){for(var E=new Array(m),w=0;w<m;w++)E[w]=0;return E},ce.prototype.mulp=function(m,E,w){var x=2*this.guessLen13b(m.length,E.length),R=this.makeRBT(x),u=this.stub(x),C=new Array(x),U=new Array(x),F=new Array(x),X=new Array(x),Ae=new Array(x),he=new Array(x),$e=w.words;$e.length=x,this.convert13b(m.words,m.length,C,x),this.convert13b(E.words,E.length,X,x),this.transform(C,u,U,F,x,R),this.transform(X,u,Ae,he,x,R);for(var Ge=0;Ge<x;Ge++){var Re=U[Ge]*Ae[Ge]-F[Ge]*he[Ge];F[Ge]=U[Ge]*he[Ge]+F[Ge]*Ae[Ge],U[Ge]=Re}return this.conjugate(U,F,x),this.transform(U,F,$e,u,x,R),this.conjugate($e,u,x),this.normalize13b($e,x),w.negative=m.negative^E.negative,w.length=m.length+E.length,w._strip()},n.prototype.mul=function(m){var E=new n(null);return E.words=new Array(this.length+m.length),this.mulTo(m,E)},n.prototype.mulf=function(m){var E=new n(null);return E.words=new Array(this.length+m.length),ne(this,m,E)},n.prototype.imul=function(m){return this.clone().mulTo(m,this)},n.prototype.imuln=function(m){var E=m<0;E&&(m=-m),r(typeof m=="number"),r(m<67108864);for(var w=0,x=0;x<this.length;x++){var R=(this.words[x]|0)*m,u=(R&67108863)+(w&67108863);w>>=26,w+=R/67108864|0,w+=u>>>26,this.words[x]=u&67108863}return w!==0&&(this.words[x]=w,this.length++),E?this.ineg():this},n.prototype.muln=function(m){return this.clone().imuln(m)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(m){var E=P(m);if(E.length===0)return new n(1);for(var w=this,x=0;x<E.length&&E[x]===0;x++,w=w.sqr());if(++x<E.length)for(var R=w.sqr();x<E.length;x++,R=R.sqr())E[x]!==0&&(w=w.mul(R));return w},n.prototype.iushln=function(m){r(typeof m=="number"&&m>=0);var E=m%26,w=(m-E)/26,x=67108863>>>26-E<<26-E,R;if(E!==0){var u=0;for(R=0;R<this.length;R++){var C=this.words[R]&x,U=(this.words[R]|0)-C<<E;this.words[R]=U|u,u=C>>>26-E}u&&(this.words[R]=u,this.length++)}if(w!==0){for(R=this.length-1;R>=0;R--)this.words[R+w]=this.words[R];for(R=0;R<w;R++)this.words[R]=0;this.length+=w}return this._strip()},n.prototype.ishln=function(m){return r(this.negative===0),this.iushln(m)},n.prototype.iushrn=function(m,E,w){r(typeof m=="number"&&m>=0);var x;E?x=(E-E%26)/26:x=0;var R=m%26,u=Math.min((m-R)/26,this.length),C=67108863^67108863>>>R<<R,U=w;if(x-=u,x=Math.max(0,x),U){for(var F=0;F<u;F++)U.words[F]=this.words[F];U.length=u}if(u!==0)if(this.length>u)for(this.length-=u,F=0;F<this.length;F++)this.words[F]=this.words[F+u];else this.words[0]=0,this.length=1;var X=0;for(F=this.length-1;F>=0&&(X!==0||F>=x);F--){var Ae=this.words[F]|0;this.words[F]=X<<26-R|Ae>>>R,X=Ae&C}return U&&X!==0&&(U.words[U.length++]=X),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(m,E,w){return r(this.negative===0),this.iushrn(m,E,w)},n.prototype.shln=function(m){return this.clone().ishln(m)},n.prototype.ushln=function(m){return this.clone().iushln(m)},n.prototype.shrn=function(m){return this.clone().ishrn(m)},n.prototype.ushrn=function(m){return this.clone().iushrn(m)},n.prototype.testn=function(m){r(typeof m=="number"&&m>=0);var E=m%26,w=(m-E)/26,x=1<<E;if(this.length<=w)return!1;var R=this.words[w];return!!(R&x)},n.prototype.imaskn=function(m){r(typeof m=="number"&&m>=0);var E=m%26,w=(m-E)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=w)return this;if(E!==0&&w++,this.length=Math.min(w,this.length),E!==0){var x=67108863^67108863>>>E<<E;this.words[this.length-1]&=x}return this._strip()},n.prototype.maskn=function(m){return this.clone().imaskn(m)},n.prototype.iaddn=function(m){return r(typeof m=="number"),r(m<67108864),m<0?this.isubn(-m):this.negative!==0?this.length===1&&(this.words[0]|0)<=m?(this.words[0]=m-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(m),this.negative=1,this):this._iaddn(m)},n.prototype._iaddn=function(m){this.words[0]+=m;for(var E=0;E<this.length&&this.words[E]>=67108864;E++)this.words[E]-=67108864,E===this.length-1?this.words[E+1]=1:this.words[E+1]++;return this.length=Math.max(this.length,E+1),this},n.prototype.isubn=function(m){if(r(typeof m=="number"),r(m<67108864),m<0)return this.iaddn(-m);if(this.negative!==0)return this.negative=0,this.iaddn(m),this.negative=1,this;if(this.words[0]-=m,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var E=0;E<this.length&&this.words[E]<0;E++)this.words[E]+=67108864,this.words[E+1]-=1;return this._strip()},n.prototype.addn=function(m){return this.clone().iaddn(m)},n.prototype.subn=function(m){return this.clone().isubn(m)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(m,E,w){var x=m.length+w,R;this._expand(x);var u,C=0;for(R=0;R<m.length;R++){u=(this.words[R+w]|0)+C;var U=(m.words[R]|0)*E;u-=U&67108863,C=(u>>26)-(U/67108864|0),this.words[R+w]=u&67108863}for(;R<this.length-w;R++)u=(this.words[R+w]|0)+C,C=u>>26,this.words[R+w]=u&67108863;if(C===0)return this._strip();for(r(C===-1),C=0,R=0;R<this.length;R++)u=-(this.words[R]|0)+C,C=u>>26,this.words[R]=u&67108863;return this.negative=1,this._strip()},n.prototype._wordDiv=function(m,E){var w=this.length-m.length,x=this.clone(),R=m,u=R.words[R.length-1]|0,C=this._countBits(u);w=26-C,w!==0&&(R=R.ushln(w),x.iushln(w),u=R.words[R.length-1]|0);var U=x.length-R.length,F;if(E!=="mod"){F=new n(null),F.length=U+1,F.words=new Array(F.length);for(var X=0;X<F.length;X++)F.words[X]=0}var Ae=x.clone()._ishlnsubmul(R,1,U);Ae.negative===0&&(x=Ae,F&&(F.words[U]=1));for(var he=U-1;he>=0;he--){var $e=(x.words[R.length+he]|0)*67108864+(x.words[R.length+he-1]|0);for($e=Math.min($e/u|0,67108863),x._ishlnsubmul(R,$e,he);x.negative!==0;)$e--,x.negative=0,x._ishlnsubmul(R,1,he),x.isZero()||(x.negative^=1);F&&(F.words[he]=$e)}return F&&F._strip(),x._strip(),E!=="div"&&w!==0&&x.iushrn(w),{div:F||null,mod:x}},n.prototype.divmod=function(m,E,w){if(r(!m.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var x,R,u;return this.negative!==0&&m.negative===0?(u=this.neg().divmod(m,E),E!=="mod"&&(x=u.div.neg()),E!=="div"&&(R=u.mod.neg(),w&&R.negative!==0&&R.iadd(m)),{div:x,mod:R}):this.negative===0&&m.negative!==0?(u=this.divmod(m.neg(),E),E!=="mod"&&(x=u.div.neg()),{div:x,mod:u.mod}):(this.negative&m.negative)!==0?(u=this.neg().divmod(m.neg(),E),E!=="div"&&(R=u.mod.neg(),w&&R.negative!==0&&R.isub(m)),{div:u.div,mod:R}):m.length>this.length||this.cmp(m)<0?{div:new n(0),mod:this}:m.length===1?E==="div"?{div:this.divn(m.words[0]),mod:null}:E==="mod"?{div:null,mod:new n(this.modrn(m.words[0]))}:{div:this.divn(m.words[0]),mod:new n(this.modrn(m.words[0]))}:this._wordDiv(m,E)},n.prototype.div=function(m){return this.divmod(m,"div",!1).div},n.prototype.mod=function(m){return this.divmod(m,"mod",!1).mod},n.prototype.umod=function(m){return this.divmod(m,"mod",!0).mod},n.prototype.divRound=function(m){var E=this.divmod(m);if(E.mod.isZero())return E.div;var w=E.div.negative!==0?E.mod.isub(m):E.mod,x=m.ushrn(1),R=m.andln(1),u=w.cmp(x);return u<0||R===1&&u===0?E.div:E.div.negative!==0?E.div.isubn(1):E.div.iaddn(1)},n.prototype.modrn=function(m){var E=m<0;E&&(m=-m),r(m<=67108863);for(var w=(1<<26)%m,x=0,R=this.length-1;R>=0;R--)x=(w*x+(this.words[R]|0))%m;return E?-x:x},n.prototype.modn=function(m){return this.modrn(m)},n.prototype.idivn=function(m){var E=m<0;E&&(m=-m),r(m<=67108863);for(var w=0,x=this.length-1;x>=0;x--){var R=(this.words[x]|0)+w*67108864;this.words[x]=R/m|0,w=R%m}return this._strip(),E?this.ineg():this},n.prototype.divn=function(m){return this.clone().idivn(m)},n.prototype.egcd=function(m){r(m.negative===0),r(!m.isZero());var E=this,w=m.clone();E.negative!==0?E=E.umod(m):E=E.clone();for(var x=new n(1),R=new n(0),u=new n(0),C=new n(1),U=0;E.isEven()&&w.isEven();)E.iushrn(1),w.iushrn(1),++U;for(var F=w.clone(),X=E.clone();!E.isZero();){for(var Ae=0,he=1;(E.words[0]&he)===0&&Ae<26;++Ae,he<<=1);if(Ae>0)for(E.iushrn(Ae);Ae-- >0;)(x.isOdd()||R.isOdd())&&(x.iadd(F),R.isub(X)),x.iushrn(1),R.iushrn(1);for(var $e=0,Ge=1;(w.words[0]&Ge)===0&&$e<26;++$e,Ge<<=1);if($e>0)for(w.iushrn($e);$e-- >0;)(u.isOdd()||C.isOdd())&&(u.iadd(F),C.isub(X)),u.iushrn(1),C.iushrn(1);E.cmp(w)>=0?(E.isub(w),x.isub(u),R.isub(C)):(w.isub(E),u.isub(x),C.isub(R))}return{a:u,b:C,gcd:w.iushln(U)}},n.prototype._invmp=function(m){r(m.negative===0),r(!m.isZero());var E=this,w=m.clone();E.negative!==0?E=E.umod(m):E=E.clone();for(var x=new n(1),R=new n(0),u=w.clone();E.cmpn(1)>0&&w.cmpn(1)>0;){for(var C=0,U=1;(E.words[0]&U)===0&&C<26;++C,U<<=1);if(C>0)for(E.iushrn(C);C-- >0;)x.isOdd()&&x.iadd(u),x.iushrn(1);for(var F=0,X=1;(w.words[0]&X)===0&&F<26;++F,X<<=1);if(F>0)for(w.iushrn(F);F-- >0;)R.isOdd()&&R.iadd(u),R.iushrn(1);E.cmp(w)>=0?(E.isub(w),x.isub(R)):(w.isub(E),R.isub(x))}var Ae;return E.cmpn(1)===0?Ae=x:Ae=R,Ae.cmpn(0)<0&&Ae.iadd(m),Ae},n.prototype.gcd=function(m){if(this.isZero())return m.abs();if(m.isZero())return this.abs();var E=this.clone(),w=m.clone();E.negative=0,w.negative=0;for(var x=0;E.isEven()&&w.isEven();x++)E.iushrn(1),w.iushrn(1);do{for(;E.isEven();)E.iushrn(1);for(;w.isEven();)w.iushrn(1);var R=E.cmp(w);if(R<0){var u=E;E=w,w=u}else if(R===0||w.cmpn(1)===0)break;E.isub(w)}while(!0);return w.iushln(x)},n.prototype.invm=function(m){return this.egcd(m).a.umod(m)},n.prototype.isEven=function(){return(this.words[0]&1)===0},n.prototype.isOdd=function(){return(this.words[0]&1)===1},n.prototype.andln=function(m){return this.words[0]&m},n.prototype.bincn=function(m){r(typeof m=="number");var E=m%26,w=(m-E)/26,x=1<<E;if(this.length<=w)return this._expand(w+1),this.words[w]|=x,this;for(var R=x,u=w;R!==0&&u<this.length;u++){var C=this.words[u]|0;C+=R,R=C>>>26,C&=67108863,this.words[u]=C}return R!==0&&(this.words[u]=R,this.length++),this},n.prototype.isZero=function(){return this.length===1&&this.words[0]===0},n.prototype.cmpn=function(m){var E=m<0;if(this.negative!==0&&!E)return-1;if(this.negative===0&&E)return 1;this._strip();var w;if(this.length>1)w=1;else{E&&(m=-m),r(m<=67108863,"Number is too big");var x=this.words[0]|0;w=x===m?0:x<m?-1:1}return this.negative!==0?-w|0:w},n.prototype.cmp=function(m){if(this.negative!==0&&m.negative===0)return-1;if(this.negative===0&&m.negative!==0)return 1;var E=this.ucmp(m);return this.negative!==0?-E|0:E},n.prototype.ucmp=function(m){if(this.length>m.length)return 1;if(this.length<m.length)return-1;for(var E=0,w=this.length-1;w>=0;w--){var x=this.words[w]|0,R=m.words[w]|0;if(x!==R){x<R?E=-1:x>R&&(E=1);break}}return E},n.prototype.gtn=function(m){return this.cmpn(m)===1},n.prototype.gt=function(m){return this.cmp(m)===1},n.prototype.gten=function(m){return this.cmpn(m)>=0},n.prototype.gte=function(m){return this.cmp(m)>=0},n.prototype.ltn=function(m){return this.cmpn(m)===-1},n.prototype.lt=function(m){return this.cmp(m)===-1},n.prototype.lten=function(m){return this.cmpn(m)<=0},n.prototype.lte=function(m){return this.cmp(m)<=0},n.prototype.eqn=function(m){return this.cmpn(m)===0},n.prototype.eq=function(m){return this.cmp(m)===0},n.red=function(m){return new s(m)},n.prototype.toRed=function(m){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),m.convertTo(this)._forceRed(m)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(m){return this.red=m,this},n.prototype.forceRed=function(m){return r(!this.red,"Already a number in reduction context"),this._forceRed(m)},n.prototype.redAdd=function(m){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,m)},n.prototype.redIAdd=function(m){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,m)},n.prototype.redSub=function(m){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,m)},n.prototype.redISub=function(m){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,m)},n.prototype.redShl=function(m){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,m)},n.prototype.redMul=function(m){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.mul(this,m)},n.prototype.redIMul=function(m){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.imul(this,m)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(m){return r(this.red&&!m.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,m)};var le={k256:null,p224:null,p192:null,p25519:null};function pe(A,m){this.name=A,this.p=new n(m,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}pe.prototype._tmp=function(){var m=new n(null);return m.words=new Array(Math.ceil(this.n/13)),m},pe.prototype.ireduce=function(m){var E=m,w;do this.split(E,this.tmp),E=this.imulK(E),E=E.iadd(this.tmp),w=E.bitLength();while(w>this.n);var x=w<this.n?-1:E.ucmp(this.p);return x===0?(E.words[0]=0,E.length=1):x>0?E.isub(this.p):E.strip!==void 0?E.strip():E._strip(),E},pe.prototype.split=function(m,E){m.iushrn(this.n,0,E)},pe.prototype.imulK=function(m){return m.imul(this.k)};function ae(){pe.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ae,pe),ae.prototype.split=function(m,E){for(var w=4194303,x=Math.min(m.length,9),R=0;R<x;R++)E.words[R]=m.words[R];if(E.length=x,m.length<=9){m.words[0]=0,m.length=1;return}var u=m.words[9];for(E.words[E.length++]=u&w,R=10;R<m.length;R++){var C=m.words[R]|0;m.words[R-10]=(C&w)<<4|u>>>22,u=C}u>>>=22,m.words[R-10]=u,u===0&&m.length>10?m.length-=10:m.length-=9},ae.prototype.imulK=function(m){m.words[m.length]=0,m.words[m.length+1]=0,m.length+=2;for(var E=0,w=0;w<m.length;w++){var x=m.words[w]|0;E+=x*977,m.words[w]=E&67108863,E=x*64+(E/67108864|0)}return m.words[m.length-1]===0&&(m.length--,m.words[m.length-1]===0&&m.length--),m};function W(){pe.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(W,pe);function se(){pe.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(se,pe);function O(){pe.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(O,pe),O.prototype.imulK=function(m){for(var E=0,w=0;w<m.length;w++){var x=(m.words[w]|0)*19+E,R=x&67108863;x>>>=26,m.words[w]=R,E=x}return E!==0&&(m.words[m.length++]=E),m},n._prime=function(m){if(le[m])return le[m];var E;if(m==="k256")E=new ae;else if(m==="p224")E=new W;else if(m==="p192")E=new se;else if(m==="p25519")E=new O;else throw new Error("Unknown prime "+m);return le[m]=E,E};function s(A){if(typeof A=="string"){var m=n._prime(A);this.m=m.p,this.prime=m}else r(A.gtn(1),"modulus must be greater than 1"),this.m=A,this.prime=null}s.prototype._verify1=function(m){r(m.negative===0,"red works only with positives"),r(m.red,"red works only with red numbers")},s.prototype._verify2=function(m,E){r((m.negative|E.negative)===0,"red works only with positives"),r(m.red&&m.red===E.red,"red works only with red numbers")},s.prototype.imod=function(m){return this.prime?this.prime.ireduce(m)._forceRed(this):(_(m,m.umod(this.m)._forceRed(this)),m)},s.prototype.neg=function(m){return m.isZero()?m.clone():this.m.sub(m)._forceRed(this)},s.prototype.add=function(m,E){this._verify2(m,E);var w=m.add(E);return w.cmp(this.m)>=0&&w.isub(this.m),w._forceRed(this)},s.prototype.iadd=function(m,E){this._verify2(m,E);var w=m.iadd(E);return w.cmp(this.m)>=0&&w.isub(this.m),w},s.prototype.sub=function(m,E){this._verify2(m,E);var w=m.sub(E);return w.cmpn(0)<0&&w.iadd(this.m),w._forceRed(this)},s.prototype.isub=function(m,E){this._verify2(m,E);var w=m.isub(E);return w.cmpn(0)<0&&w.iadd(this.m),w},s.prototype.shl=function(m,E){return this._verify1(m),this.imod(m.ushln(E))},s.prototype.imul=function(m,E){return this._verify2(m,E),this.imod(m.imul(E))},s.prototype.mul=function(m,E){return this._verify2(m,E),this.imod(m.mul(E))},s.prototype.isqr=function(m){return this.imul(m,m.clone())},s.prototype.sqr=function(m){return this.mul(m,m)},s.prototype.sqrt=function(m){if(m.isZero())return m.clone();var E=this.m.andln(3);if(r(E%2===1),E===3){var w=this.m.add(new n(1)).iushrn(2);return this.pow(m,w)}for(var x=this.m.subn(1),R=0;!x.isZero()&&x.andln(1)===0;)R++,x.iushrn(1);r(!x.isZero());var u=new n(1).toRed(this),C=u.redNeg(),U=this.m.subn(1).iushrn(1),F=this.m.bitLength();for(F=new n(2*F*F).toRed(this);this.pow(F,U).cmp(C)!==0;)F.redIAdd(C);for(var X=this.pow(F,x),Ae=this.pow(m,x.addn(1).iushrn(1)),he=this.pow(m,x),$e=R;he.cmp(u)!==0;){for(var Ge=he,Re=0;Ge.cmp(u)!==0;Re++)Ge=Ge.redSqr();r(Re<$e);var Se=this.pow(X,new n(1).iushln($e-Re-1));Ae=Ae.redMul(Se),X=Se.redSqr(),he=he.redMul(X),$e=Re}return Ae},s.prototype.invm=function(m){var E=m._invmp(this.m);return E.negative!==0?(E.negative=0,this.imod(E).redNeg()):this.imod(E)},s.prototype.pow=function(m,E){if(E.isZero())return new n(1).toRed(this);if(E.cmpn(1)===0)return m.clone();var w=4,x=new Array(1<<w);x[0]=new n(1).toRed(this),x[1]=m;for(var R=2;R<x.length;R++)x[R]=this.mul(x[R-1],m);var u=x[0],C=0,U=0,F=E.bitLength()%26;for(F===0&&(F=26),R=E.length-1;R>=0;R--){for(var X=E.words[R],Ae=F-1;Ae>=0;Ae--){var he=X>>Ae&1;if(u!==x[0]&&(u=this.sqr(u)),he===0&&C===0){U=0;continue}C<<=1,C|=he,U++,!(U!==w&&(R!==0||Ae!==0))&&(u=this.mul(u,x[C]),U=0,C=0)}F=26}return u},s.prototype.convertTo=function(m){var E=m.umod(this.m);return E===m?E.clone():E},s.prototype.convertFrom=function(m){var E=m.clone();return E.red=null,E},n.mont=function(m){return new l(m)};function l(A){s.call(this,A),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(l,s),l.prototype.convertTo=function(m){return this.imod(m.ushln(this.shift))},l.prototype.convertFrom=function(m){var E=this.imod(m.mul(this.rinv));return E.red=null,E},l.prototype.imul=function(m,E){if(m.isZero()||E.isZero())return m.words[0]=0,m.length=1,m;var w=m.imul(E),x=w.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),R=w.isub(x).iushrn(this.shift),u=R;return R.cmp(this.m)>=0?u=R.isub(this.m):R.cmpn(0)<0&&(u=R.iadd(this.m)),u._forceRed(this)},l.prototype.mul=function(m,E){if(m.isZero()||E.isZero())return new n(0)._forceRed(this);var w=m.mul(E),x=w.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),R=w.isub(x).iushrn(this.shift),u=R;return R.cmp(this.m)>=0?u=R.isub(this.m):R.cmpn(0)<0&&(u=R.iadd(this.m)),u._forceRed(this)},l.prototype.invm=function(m){var E=this.imod(m._invmp(this.m).mul(this.r2));return E._forceRed(this)}})(typeof Ede>"u"||Ede,Kze)});var Cm=ir(Mu=>{"use strict";J();K();z();var aTt=Fv(),sTt=Gl();Mu.inherits=sTt;function cTt(e,t){return(e.charCodeAt(t)&64512)!==55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)===56320}function uTt(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e=="string")if(t){if(t==="hex")for(e=e.replace(/[^a-z0-9]+/ig,""),e.length%2!==0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var i=0,n=0;n<e.length;n++){var o=e.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=o&63|128):cTt(e,n)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else for(n=0;n<e.length;n++)r[n]=e[n]|0;return r}Mu.toArray=uTt;function dTt(e){for(var t="",r=0;r<e.length;r++)t+=yKe(e[r].toString(16));return t}Mu.toHex=dTt;function mKe(e){var t=e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24;return t>>>0}Mu.htonl=mKe;function fTt(e,t){for(var r="",i=0;i<e.length;i++){var n=e[i];t==="little"&&(n=mKe(n)),r+=bKe(n.toString(16))}return r}Mu.toHex32=fTt;function yKe(e){return e.length===1?"0"+e:e}Mu.zero2=yKe;function bKe(e){return e.length===7?"0"+e:e.length===6?"00"+e:e.length===5?"000"+e:e.length===4?"0000"+e:e.length===3?"00000"+e:e.length===2?"000000"+e:e.length===1?"0000000"+e:e}Mu.zero8=bKe;function lTt(e,t,r,i){var n=r-t;aTt(n%4===0);for(var o=new Array(n/4),d=0,g=t;d<o.length;d++,g+=4){var y;i==="big"?y=e[g]<<24|e[g+1]<<16|e[g+2]<<8|e[g+3]:y=e[g+3]<<24|e[g+2]<<16|e[g+1]<<8|e[g],o[d]=y>>>0}return o}Mu.join32=lTt;function hTt(e,t){for(var r=new Array(e.length*4),i=0,n=0;i<e.length;i++,n+=4){var o=e[i];t==="big"?(r[n]=o>>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=o&255):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=o&255)}return r}Mu.split32=hTt;function ATt(e,t){return e>>>t|e<<32-t}Mu.rotr32=ATt;function pTt(e,t){return e<<t|e>>>32-t}Mu.rotl32=pTt;function gTt(e,t){return e+t>>>0}Mu.sum32=gTt;function _Tt(e,t,r){return e+t+r>>>0}Mu.sum32_3=_Tt;function mTt(e,t,r,i){return e+t+r+i>>>0}Mu.sum32_4=mTt;function yTt(e,t,r,i,n){return e+t+r+i+n>>>0}Mu.sum32_5=yTt;function bTt(e,t,r,i){var n=e[t],o=e[t+1],d=i+o>>>0,g=(d<i?1:0)+r+n;e[t]=g>>>0,e[t+1]=d}Mu.sum64=bTt;function ETt(e,t,r,i){var n=t+i>>>0,o=(n<t?1:0)+e+r;return o>>>0}Mu.sum64_hi=ETt;function vTt(e,t,r,i){var n=t+i;return n>>>0}Mu.sum64_lo=vTt;function RTt(e,t,r,i,n,o,d,g){var y=0,_=t;_=_+i>>>0,y+=_<t?1:0,_=_+o>>>0,y+=_<o?1:0,_=_+g>>>0,y+=_<g?1:0;var I=e+r+n+d+y;return I>>>0}Mu.sum64_4_hi=RTt;function STt(e,t,r,i,n,o,d,g){var y=t+i+o+g;return y>>>0}Mu.sum64_4_lo=STt;function ITt(e,t,r,i,n,o,d,g,y,_){var I=0,N=t;N=N+i>>>0,I+=N<t?1:0,N=N+o>>>0,I+=N<o?1:0,N=N+g>>>0,I+=N<g?1:0,N=N+_>>>0,I+=N<_?1:0;var T=e+r+n+d+y+I;return T>>>0}Mu.sum64_5_hi=ITt;function CTt(e,t,r,i,n,o,d,g,y,_){var I=t+i+o+g+_;return I>>>0}Mu.sum64_5_lo=CTt;function wTt(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}Mu.rotr64_hi=wTt;function OTt(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Mu.rotr64_lo=OTt;function NTt(e,t,r){return e>>>r}Mu.shr64_hi=NTt;function xTt(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}Mu.shr64_lo=xTt});var jO=ir(vKe=>{"use strict";J();K();z();var EKe=Cm(),TTt=Fv();function QV(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}vKe.BlockHash=QV;QV.prototype.update=function(t,r){if(t=EKe.toArray(t,r),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){t=this.pending;var i=t.length%this._delta8;this.pending=t.slice(t.length-i,t.length),this.pending.length===0&&(this.pending=null),t=EKe.join32(t,0,t.length-i,this.endian);for(var n=0;n<t.length;n+=this._delta32)this._update(t,n,n+this._delta32)}return this};QV.prototype.digest=function(t){return this.update(this._pad()),TTt(this.pending===null),this._digest(t)};QV.prototype._pad=function(){var t=this.pendingTotal,r=this._delta8,i=r-(t+this.padLength)%r,n=new Array(i+this.padLength);n[0]=128;for(var o=1;o<i;o++)n[o]=0;if(t<<=3,this.endian==="big"){for(var d=8;d<this.padLength;d++)n[o++]=0;n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=t>>>24&255,n[o++]=t>>>16&255,n[o++]=t>>>8&255,n[o++]=t&255}else for(n[o++]=t&255,n[o++]=t>>>8&255,n[o++]=t>>>16&255,n[o++]=t>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,d=8;d<this.padLength;d++)n[o++]=0;return n}});var wde=ir(zv=>{"use strict";J();K();z();var BTt=Cm(),ab=BTt.rotr32;function MTt(e,t,r,i){if(e===0)return RKe(t,r,i);if(e===1||e===3)return IKe(t,r,i);if(e===2)return SKe(t,r,i)}zv.ft_1=MTt;function RKe(e,t,r){return e&t^~e&r}zv.ch32=RKe;function SKe(e,t,r){return e&t^e&r^t&r}zv.maj32=SKe;function IKe(e,t,r){return e^t^r}zv.p32=IKe;function DTt(e){return ab(e,2)^ab(e,13)^ab(e,22)}zv.s0_256=DTt;function kTt(e){return ab(e,6)^ab(e,11)^ab(e,25)}zv.s1_256=kTt;function PTt(e){return ab(e,7)^ab(e,18)^e>>>3}zv.g0_256=PTt;function LTt(e){return ab(e,17)^ab(e,19)^e>>>10}zv.g1_256=LTt});var OKe=ir((N5n,wKe)=>{"use strict";J();K();z();var eN=Cm(),UTt=jO(),FTt=wde(),Ode=eN.rotl32,uk=eN.sum32,QTt=eN.sum32_5,HTt=FTt.ft_1,CKe=UTt.BlockHash,GTt=[1518500249,1859775393,2400959708,3395469782];function sb(){if(!(this instanceof sb))return new sb;CKe.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}eN.inherits(sb,CKe);wKe.exports=sb;sb.blockSize=512;sb.outSize=160;sb.hmacStrength=80;sb.padLength=64;sb.prototype._update=function(t,r){for(var i=this.W,n=0;n<16;n++)i[n]=t[r+n];for(;n<i.length;n++)i[n]=Ode(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var o=this.h[0],d=this.h[1],g=this.h[2],y=this.h[3],_=this.h[4];for(n=0;n<i.length;n++){var I=~~(n/20),N=QTt(Ode(o,5),HTt(I,d,g,y),_,i[n],GTt[I]);_=y,y=g,g=Ode(d,30),d=o,o=N}this.h[0]=uk(this.h[0],o),this.h[1]=uk(this.h[1],d),this.h[2]=uk(this.h[2],g),this.h[3]=uk(this.h[3],y),this.h[4]=uk(this.h[4],_)};sb.prototype._digest=function(t){return t==="hex"?eN.toHex32(this.h,"big"):eN.split32(this.h,"big")}});var Nde=ir((M5n,xKe)=>{"use strict";J();K();z();var tN=Cm(),qTt=jO(),rN=wde(),VTt=Fv(),wm=tN.sum32,JTt=tN.sum32_4,zTt=tN.sum32_5,KTt=rN.ch32,$Tt=rN.maj32,YTt=rN.s0_256,WTt=rN.s1_256,XTt=rN.g0_256,ZTt=rN.g1_256,NKe=qTt.BlockHash,jTt=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function cb(){if(!(this instanceof cb))return new cb;NKe.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=jTt,this.W=new Array(64)}tN.inherits(cb,NKe);xKe.exports=cb;cb.blockSize=512;cb.outSize=256;cb.hmacStrength=192;cb.padLength=64;cb.prototype._update=function(t,r){for(var i=this.W,n=0;n<16;n++)i[n]=t[r+n];for(;n<i.length;n++)i[n]=JTt(ZTt(i[n-2]),i[n-7],XTt(i[n-15]),i[n-16]);var o=this.h[0],d=this.h[1],g=this.h[2],y=this.h[3],_=this.h[4],I=this.h[5],N=this.h[6],T=this.h[7];for(VTt(this.k.length===i.length),n=0;n<i.length;n++){var M=zTt(T,WTt(_),KTt(_,I,N),this.k[n],i[n]),D=wm(YTt(o),$Tt(o,d,g));T=N,N=I,I=_,_=wm(y,M),y=g,g=d,d=o,o=wm(M,D)}this.h[0]=wm(this.h[0],o),this.h[1]=wm(this.h[1],d),this.h[2]=wm(this.h[2],g),this.h[3]=wm(this.h[3],y),this.h[4]=wm(this.h[4],_),this.h[5]=wm(this.h[5],I),this.h[6]=wm(this.h[6],N),this.h[7]=wm(this.h[7],T)};cb.prototype._digest=function(t){return t==="hex"?tN.toHex32(this.h,"big"):tN.split32(this.h,"big")}});var MKe=ir((L5n,BKe)=>{"use strict";J();K();z();var xde=Cm(),TKe=Nde();function Kv(){if(!(this instanceof Kv))return new Kv;TKe.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}xde.inherits(Kv,TKe);BKe.exports=Kv;Kv.blockSize=512;Kv.outSize=224;Kv.hmacStrength=192;Kv.padLength=64;Kv.prototype._digest=function(t){return t==="hex"?xde.toHex32(this.h.slice(0,7),"big"):xde.split32(this.h.slice(0,7),"big")}});var Mde=ir((H5n,LKe)=>{"use strict";J();K();z();var Np=Cm(),eBt=jO(),tBt=Fv(),ub=Np.rotr64_hi,db=Np.rotr64_lo,DKe=Np.shr64_hi,kKe=Np.shr64_lo,U6=Np.sum64,Tde=Np.sum64_hi,Bde=Np.sum64_lo,rBt=Np.sum64_4_hi,nBt=Np.sum64_4_lo,iBt=Np.sum64_5_hi,oBt=Np.sum64_5_lo,PKe=eBt.BlockHash,aBt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Om(){if(!(this instanceof Om))return new Om;PKe.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=aBt,this.W=new Array(160)}Np.inherits(Om,PKe);LKe.exports=Om;Om.blockSize=1024;Om.outSize=512;Om.hmacStrength=192;Om.padLength=128;Om.prototype._prepareBlock=function(t,r){for(var i=this.W,n=0;n<32;n++)i[n]=t[r+n];for(;n<i.length;n+=2){var o=_Bt(i[n-4],i[n-3]),d=mBt(i[n-4],i[n-3]),g=i[n-14],y=i[n-13],_=pBt(i[n-30],i[n-29]),I=gBt(i[n-30],i[n-29]),N=i[n-32],T=i[n-31];i[n]=rBt(o,d,g,y,_,I,N,T),i[n+1]=nBt(o,d,g,y,_,I,N,T)}};Om.prototype._update=function(t,r){this._prepareBlock(t,r);var i=this.W,n=this.h[0],o=this.h[1],d=this.h[2],g=this.h[3],y=this.h[4],_=this.h[5],I=this.h[6],N=this.h[7],T=this.h[8],M=this.h[9],D=this.h[10],P=this.h[11],G=this.h[12],q=this.h[13],Y=this.h[14],ne=this.h[15];tBt(this.k.length===i.length);for(var ce=0;ce<i.length;ce+=2){var le=Y,pe=ne,ae=hBt(T,M),W=ABt(T,M),se=sBt(T,M,D,P,G,q),O=cBt(T,M,D,P,G,q),s=this.k[ce],l=this.k[ce+1],A=i[ce],m=i[ce+1],E=iBt(le,pe,ae,W,se,O,s,l,A,m),w=oBt(le,pe,ae,W,se,O,s,l,A,m);le=fBt(n,o),pe=lBt(n,o),ae=uBt(n,o,d,g,y,_),W=dBt(n,o,d,g,y,_);var x=Tde(le,pe,ae,W),R=Bde(le,pe,ae,W);Y=G,ne=q,G=D,q=P,D=T,P=M,T=Tde(I,N,E,w),M=Bde(N,N,E,w),I=y,N=_,y=d,_=g,d=n,g=o,n=Tde(E,w,x,R),o=Bde(E,w,x,R)}U6(this.h,0,n,o),U6(this.h,2,d,g),U6(this.h,4,y,_),U6(this.h,6,I,N),U6(this.h,8,T,M),U6(this.h,10,D,P),U6(this.h,12,G,q),U6(this.h,14,Y,ne)};Om.prototype._digest=function(t){return t==="hex"?Np.toHex32(this.h,"big"):Np.split32(this.h,"big")};function sBt(e,t,r,i,n){var o=e&r^~e&n;return o<0&&(o+=4294967296),o}function cBt(e,t,r,i,n,o){var d=t&i^~t&o;return d<0&&(d+=4294967296),d}function uBt(e,t,r,i,n){var o=e&r^e&n^r&n;return o<0&&(o+=4294967296),o}function dBt(e,t,r,i,n,o){var d=t&i^t&o^i&o;return d<0&&(d+=4294967296),d}function fBt(e,t){var r=ub(e,t,28),i=ub(t,e,2),n=ub(t,e,7),o=r^i^n;return o<0&&(o+=4294967296),o}function lBt(e,t){var r=db(e,t,28),i=db(t,e,2),n=db(t,e,7),o=r^i^n;return o<0&&(o+=4294967296),o}function hBt(e,t){var r=ub(e,t,14),i=ub(e,t,18),n=ub(t,e,9),o=r^i^n;return o<0&&(o+=4294967296),o}function ABt(e,t){var r=db(e,t,14),i=db(e,t,18),n=db(t,e,9),o=r^i^n;return o<0&&(o+=4294967296),o}function pBt(e,t){var r=ub(e,t,1),i=ub(e,t,8),n=DKe(e,t,7),o=r^i^n;return o<0&&(o+=4294967296),o}function gBt(e,t){var r=db(e,t,1),i=db(e,t,8),n=kKe(e,t,7),o=r^i^n;return o<0&&(o+=4294967296),o}function _Bt(e,t){var r=ub(e,t,19),i=ub(t,e,29),n=DKe(e,t,6),o=r^i^n;return o<0&&(o+=4294967296),o}function mBt(e,t){var r=db(e,t,19),i=db(t,e,29),n=kKe(e,t,6),o=r^i^n;return o<0&&(o+=4294967296),o}});var QKe=ir((J5n,FKe)=>{"use strict";J();K();z();var Dde=Cm(),UKe=Mde();function $v(){if(!(this instanceof $v))return new $v;UKe.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Dde.inherits($v,UKe);FKe.exports=$v;$v.blockSize=1024;$v.outSize=384;$v.hmacStrength=192;$v.padLength=128;$v.prototype._digest=function(t){return t==="hex"?Dde.toHex32(this.h.slice(0,12),"big"):Dde.split32(this.h.slice(0,12),"big")}});var HKe=ir(nN=>{"use strict";J();K();z();nN.sha1=OKe();nN.sha224=MKe();nN.sha256=Nde();nN.sha384=QKe();nN.sha512=Mde()});var KKe=ir(zKe=>{"use strict";J();K();z();var T4=Cm(),yBt=jO(),HV=T4.rotl32,GKe=T4.sum32,dk=T4.sum32_3,qKe=T4.sum32_4,JKe=yBt.BlockHash;function fb(){if(!(this instanceof fb))return new fb;JKe.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}T4.inherits(fb,JKe);zKe.ripemd160=fb;fb.blockSize=512;fb.outSize=160;fb.hmacStrength=192;fb.padLength=64;fb.prototype._update=function(t,r){for(var i=this.h[0],n=this.h[1],o=this.h[2],d=this.h[3],g=this.h[4],y=i,_=n,I=o,N=d,T=g,M=0;M<80;M++){var D=GKe(HV(qKe(i,VKe(M,n,o,d),t[vBt[M]+r],bBt(M)),SBt[M]),g);i=g,g=d,d=HV(o,10),o=n,n=D,D=GKe(HV(qKe(y,VKe(79-M,_,I,N),t[RBt[M]+r],EBt(M)),IBt[M]),T),y=T,T=N,N=HV(I,10),I=_,_=D}D=dk(this.h[1],o,N),this.h[1]=dk(this.h[2],d,T),this.h[2]=dk(this.h[3],g,y),this.h[3]=dk(this.h[4],i,_),this.h[4]=dk(this.h[0],n,I),this.h[0]=D};fb.prototype._digest=function(t){return t==="hex"?T4.toHex32(this.h,"little"):T4.split32(this.h,"little")};function VKe(e,t,r,i){return e<=15?t^r^i:e<=31?t&r|~t&i:e<=47?(t|~r)^i:e<=63?t&i|r&~i:t^(r|~i)}function bBt(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function EBt(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}var vBt=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],RBt=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],SBt=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],IBt=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]});var YKe=ir((nOn,$Ke)=>{"use strict";J();K();z();var CBt=Cm(),wBt=Fv();function iN(e,t,r){if(!(this instanceof iN))return new iN(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(CBt.toArray(t,r))}$Ke.exports=iN;iN.prototype._init=function(t){t.length>this.blockSize&&(t=new this.Hash().update(t).digest()),wBt(t.length<=this.blockSize);for(var r=t.length;r<this.blockSize;r++)t.push(0);for(r=0;r<t.length;r++)t[r]^=54;for(this.inner=new this.Hash().update(t),r=0;r<t.length;r++)t[r]^=106;this.outer=new this.Hash().update(t)};iN.prototype.update=function(t,r){return this.inner.update(t,r),this};iN.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}});var oN=ir(WKe=>{"use strict";J();K();z();var ql=WKe;ql.utils=Cm();ql.common=jO();ql.sha=HKe();ql.ripemd=KKe();ql.hmac=YKe();ql.sha1=ql.sha.sha1;ql.sha256=ql.sha.sha256;ql.sha224=ql.sha.sha224;ql.sha384=ql.sha.sha384;ql.sha512=ql.sha.sha512;ql.ripemd160=ql.ripemd.ripemd160});var efe=ir((jde,g$e)=>{"use strict";J();K();z();(function(e){function t(u){return parseInt(u)===u}function r(u){if(!t(u.length))return!1;for(var C=0;C<u.length;C++)if(!t(u[C])||u[C]<0||u[C]>255)return!1;return!0}function i(u,C){if(u.buffer&&ArrayBuffer.isView(u)&&u.name==="Uint8Array")return C&&(u.slice?u=u.slice():u=Array.prototype.slice.call(u)),u;if(Array.isArray(u)){if(!r(u))throw new Error("Array contains invalid value: "+u);return new Uint8Array(u)}if(t(u.length)&&r(u))return new Uint8Array(u);throw new Error("unsupported array-like object")}function n(u){return new Uint8Array(u)}function o(u,C,U,F,X){(F!=null||X!=null)&&(u.slice?u=u.slice(F,X):u=Array.prototype.slice.call(u,F,X)),C.set(u,U)}var d=(function(){function u(U){var F=[],X=0;for(U=encodeURI(U);X<U.length;){var Ae=U.charCodeAt(X++);Ae===37?(F.push(parseInt(U.substr(X,2),16)),X+=2):F.push(Ae)}return i(F)}function C(U){for(var F=[],X=0;X<U.length;){var Ae=U[X];Ae<128?(F.push(String.fromCharCode(Ae)),X++):Ae>191&&Ae<224?(F.push(String.fromCharCode((Ae&31)<<6|U[X+1]&63)),X+=2):(F.push(String.fromCharCode((Ae&15)<<12|(U[X+1]&63)<<6|U[X+2]&63)),X+=3)}return F.join("")}return{toBytes:u,fromBytes:C}})(),g=(function(){function u(F){for(var X=[],Ae=0;Ae<F.length;Ae+=2)X.push(parseInt(F.substr(Ae,2),16));return X}var C="0123456789abcdef";function U(F){for(var X=[],Ae=0;Ae<F.length;Ae++){var he=F[Ae];X.push(C[(he&240)>>4]+C[he&15])}return X.join("")}return{toBytes:u,fromBytes:U}})(),y={16:10,24:12,32:14},_=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],I=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],N=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],T=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],M=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],D=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],P=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],G=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],q=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Y=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],ne=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],ce=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],le=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],pe=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],ae=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function W(u){for(var C=[],U=0;U<u.length;U+=4)C.push(u[U]<<24|u[U+1]<<16|u[U+2]<<8|u[U+3]);return C}var se=function(u){if(!(this instanceof se))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:i(u,!0)}),this._prepare()};se.prototype._prepare=function(){var u=y[this.key.length];if(u==null)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var C=0;C<=u;C++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);for(var U=(u+1)*4,F=this.key.length/4,X=W(this.key),Ae,C=0;C<F;C++)Ae=C>>2,this._Ke[Ae][C%4]=X[C],this._Kd[u-Ae][C%4]=X[C];for(var he=0,$e=F,Ge;$e<U;){if(Ge=X[F-1],X[0]^=I[Ge>>16&255]<<24^I[Ge>>8&255]<<16^I[Ge&255]<<8^I[Ge>>24&255]^_[he]<<24,he+=1,F!=8)for(var C=1;C<F;C++)X[C]^=X[C-1];else{for(var C=1;C<F/2;C++)X[C]^=X[C-1];Ge=X[F/2-1],X[F/2]^=I[Ge&255]^I[Ge>>8&255]<<8^I[Ge>>16&255]<<16^I[Ge>>24&255]<<24;for(var C=F/2+1;C<F;C++)X[C]^=X[C-1]}for(var C=0,Re,Se;C<F&&$e<U;)Re=$e>>2,Se=$e%4,this._Ke[Re][Se]=X[C],this._Kd[u-Re][Se]=X[C++],$e++}for(var Re=1;Re<u;Re++)for(var Se=0;Se<4;Se++)Ge=this._Kd[Re][Se],this._Kd[Re][Se]=ce[Ge>>24&255]^le[Ge>>16&255]^pe[Ge>>8&255]^ae[Ge&255]},se.prototype.encrypt=function(u){if(u.length!=16)throw new Error("invalid plaintext size (must be 16 bytes)");for(var C=this._Ke.length-1,U=[0,0,0,0],F=W(u),X=0;X<4;X++)F[X]^=this._Ke[0][X];for(var Ae=1;Ae<C;Ae++){for(var X=0;X<4;X++)U[X]=T[F[X]>>24&255]^M[F[(X+1)%4]>>16&255]^D[F[(X+2)%4]>>8&255]^P[F[(X+3)%4]&255]^this._Ke[Ae][X];F=U.slice()}for(var he=n(16),$e,X=0;X<4;X++)$e=this._Ke[C][X],he[4*X]=(I[F[X]>>24&255]^$e>>24)&255,he[4*X+1]=(I[F[(X+1)%4]>>16&255]^$e>>16)&255,he[4*X+2]=(I[F[(X+2)%4]>>8&255]^$e>>8)&255,he[4*X+3]=(I[F[(X+3)%4]&255]^$e)&255;return he},se.prototype.decrypt=function(u){if(u.length!=16)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var C=this._Kd.length-1,U=[0,0,0,0],F=W(u),X=0;X<4;X++)F[X]^=this._Kd[0][X];for(var Ae=1;Ae<C;Ae++){for(var X=0;X<4;X++)U[X]=G[F[X]>>24&255]^q[F[(X+3)%4]>>16&255]^Y[F[(X+2)%4]>>8&255]^ne[F[(X+1)%4]&255]^this._Kd[Ae][X];F=U.slice()}for(var he=n(16),$e,X=0;X<4;X++)$e=this._Kd[C][X],he[4*X]=(N[F[X]>>24&255]^$e>>24)&255,he[4*X+1]=(N[F[(X+3)%4]>>16&255]^$e>>16)&255,he[4*X+2]=(N[F[(X+2)%4]>>8&255]^$e>>8)&255,he[4*X+3]=(N[F[(X+1)%4]&255]^$e)&255;return he};var O=function(u){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new se(u)};O.prototype.encrypt=function(u){if(u=i(u),u.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var C=n(u.length),U=n(16),F=0;F<u.length;F+=16)o(u,U,0,F,F+16),U=this._aes.encrypt(U),o(U,C,F);return C},O.prototype.decrypt=function(u){if(u=i(u),u.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var C=n(u.length),U=n(16),F=0;F<u.length;F+=16)o(u,U,0,F,F+16),U=this._aes.decrypt(U),o(U,C,F);return C};var s=function(u,C){if(!(this instanceof s))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",!C)C=n(16);else if(C.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastCipherblock=i(C,!0),this._aes=new se(u)};s.prototype.encrypt=function(u){if(u=i(u),u.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var C=n(u.length),U=n(16),F=0;F<u.length;F+=16){o(u,U,0,F,F+16);for(var X=0;X<16;X++)U[X]^=this._lastCipherblock[X];this._lastCipherblock=this._aes.encrypt(U),o(this._lastCipherblock,C,F)}return C},s.prototype.decrypt=function(u){if(u=i(u),u.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var C=n(u.length),U=n(16),F=0;F<u.length;F+=16){o(u,U,0,F,F+16),U=this._aes.decrypt(U);for(var X=0;X<16;X++)C[F+X]=U[X]^this._lastCipherblock[X];o(u,this._lastCipherblock,0,F,F+16)}return C};var l=function(u,C,U){if(!(this instanceof l))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",!C)C=n(16);else if(C.length!=16)throw new Error("invalid initialation vector size (must be 16 size)");U||(U=1),this.segmentSize=U,this._shiftRegister=i(C,!0),this._aes=new se(u)};l.prototype.encrypt=function(u){if(u.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var C=i(u,!0),U,F=0;F<C.length;F+=this.segmentSize){U=this._aes.encrypt(this._shiftRegister);for(var X=0;X<this.segmentSize;X++)C[F+X]^=U[X];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(C,this._shiftRegister,16-this.segmentSize,F,F+this.segmentSize)}return C},l.prototype.decrypt=function(u){if(u.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var C=i(u,!0),U,F=0;F<C.length;F+=this.segmentSize){U=this._aes.encrypt(this._shiftRegister);for(var X=0;X<this.segmentSize;X++)C[F+X]^=U[X];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(u,this._shiftRegister,16-this.segmentSize,F,F+this.segmentSize)}return C};var A=function(u,C){if(!(this instanceof A))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",!C)C=n(16);else if(C.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastPrecipher=i(C,!0),this._lastPrecipherIndex=16,this._aes=new se(u)};A.prototype.encrypt=function(u){for(var C=i(u,!0),U=0;U<C.length;U++)this._lastPrecipherIndex===16&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),C[U]^=this._lastPrecipher[this._lastPrecipherIndex++];return C},A.prototype.decrypt=A.prototype.encrypt;var m=function(u){if(!(this instanceof m))throw Error("Counter must be instanitated with `new`");u!==0&&!u&&(u=1),typeof u=="number"?(this._counter=n(16),this.setValue(u)):this.setBytes(u)};m.prototype.setValue=function(u){if(typeof u!="number"||parseInt(u)!=u)throw new Error("invalid counter value (must be an integer)");for(var C=15;C>=0;--C)this._counter[C]=u%256,u=u>>8},m.prototype.setBytes=function(u){if(u=i(u,!0),u.length!=16)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=u},m.prototype.increment=function(){for(var u=15;u>=0;u--)if(this._counter[u]===255)this._counter[u]=0;else{this._counter[u]++;break}};var E=function(u,C){if(!(this instanceof E))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",C instanceof m||(C=new m(C)),this._counter=C,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new se(u)};E.prototype.encrypt=function(u){for(var C=i(u,!0),U=0;U<C.length;U++)this._remainingCounterIndex===16&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),C[U]^=this._remainingCounter[this._remainingCounterIndex++];return C},E.prototype.decrypt=E.prototype.encrypt;function w(u){u=i(u,!0);var C=16-u.length%16,U=n(u.length+C);o(u,U);for(var F=u.length;F<U.length;F++)U[F]=C;return U}function x(u){if(u=i(u,!0),u.length<16)throw new Error("PKCS#7 invalid length");var C=u[u.length-1];if(C>16)throw new Error("PKCS#7 padding byte out of range");for(var U=u.length-C,F=0;F<C;F++)if(u[U+F]!==C)throw new Error("PKCS#7 invalid padding byte");var X=n(U);return o(u,X,0,0,U),X}var R={AES:se,Counter:m,ModeOfOperation:{ecb:O,cbc:s,cfb:l,ofb:A,ctr:E},utils:{hex:g,utf8:d},padding:{pkcs7:{pad:w,strip:x}},_arrayTest:{coerceArray:i,createArray:n,copyArray:o}};typeof jde<"u"?g$e.exports=R:typeof define=="function"&&define.amd?define(R):(e.aesjs&&(R._aesjs=e.aesjs),e.aesjs=R)})(jde)});var y$e=ir((afe,m$e)=>{"use strict";J();K();z();(function(e){function r(M){let D=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),P=1779033703,G=3144134277,q=1013904242,Y=2773480762,ne=1359893119,ce=2600822924,le=528734635,pe=1541459225,ae=new Uint32Array(64);function W(E){let w=0,x=E.length;for(;x>=64;){let R=P,u=G,C=q,U=Y,F=ne,X=ce,Ae=le,he=pe,$e,Ge,Re,Se,ct;for(Ge=0;Ge<16;Ge++)Re=w+Ge*4,ae[Ge]=(E[Re]&255)<<24|(E[Re+1]&255)<<16|(E[Re+2]&255)<<8|E[Re+3]&255;for(Ge=16;Ge<64;Ge++)$e=ae[Ge-2],Se=($e>>>17|$e<<15)^($e>>>19|$e<<13)^$e>>>10,$e=ae[Ge-15],ct=($e>>>7|$e<<25)^($e>>>18|$e<<14)^$e>>>3,ae[Ge]=(Se+ae[Ge-7]|0)+(ct+ae[Ge-16]|0)|0;for(Ge=0;Ge<64;Ge++)Se=(((F>>>6|F<<26)^(F>>>11|F<<21)^(F>>>25|F<<7))+(F&X^~F&Ae)|0)+(he+(D[Ge]+ae[Ge]|0)|0)|0,ct=((R>>>2|R<<30)^(R>>>13|R<<19)^(R>>>22|R<<10))+(R&u^R&C^u&C)|0,he=Ae,Ae=X,X=F,F=U+Se|0,U=C,C=u,u=R,R=Se+ct|0;P=P+R|0,G=G+u|0,q=q+C|0,Y=Y+U|0,ne=ne+F|0,ce=ce+X|0,le=le+Ae|0,pe=pe+he|0,w+=64,x-=64}}W(M);let se,O=M.length%64,s=M.length/536870912|0,l=M.length<<3,A=O<56?56:120,m=M.slice(M.length-O,M.length);for(m.push(128),se=O+1;se<A;se++)m.push(0);return m.push(s>>>24&255),m.push(s>>>16&255),m.push(s>>>8&255),m.push(s>>>0&255),m.push(l>>>24&255),m.push(l>>>16&255),m.push(l>>>8&255),m.push(l>>>0&255),W(m),[P>>>24&255,P>>>16&255,P>>>8&255,P>>>0&255,G>>>24&255,G>>>16&255,G>>>8&255,G>>>0&255,q>>>24&255,q>>>16&255,q>>>8&255,q>>>0&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y>>>0&255,ne>>>24&255,ne>>>16&255,ne>>>8&255,ne>>>0&255,ce>>>24&255,ce>>>16&255,ce>>>8&255,ce>>>0&255,le>>>24&255,le>>>16&255,le>>>8&255,le>>>0&255,pe>>>24&255,pe>>>16&255,pe>>>8&255,pe>>>0&255]}function i(M,D,P){M=M.length<=64?M:r(M);let G=64+D.length+4,q=new Array(G),Y=new Array(64),ne,ce=[];for(ne=0;ne<64;ne++)q[ne]=54;for(ne=0;ne<M.length;ne++)q[ne]^=M[ne];for(ne=0;ne<D.length;ne++)q[64+ne]=D[ne];for(ne=G-4;ne<G;ne++)q[ne]=0;for(ne=0;ne<64;ne++)Y[ne]=92;for(ne=0;ne<M.length;ne++)Y[ne]^=M[ne];function le(){for(let pe=G-1;pe>=G-4;pe--){if(q[pe]++,q[pe]<=255)return;q[pe]=0}}for(;P>=32;)le(),ce=ce.concat(r(Y.concat(r(q)))),P-=32;return P>0&&(le(),ce=ce.concat(r(Y.concat(r(q))).slice(0,P))),ce}function n(M,D,P,G,q){let Y;for(y(M,(2*P-1)*16,q,0,16),Y=0;Y<2*P;Y++)g(M,Y*16,q,16),d(q,G),y(q,0,M,D+Y*16,16);for(Y=0;Y<P;Y++)y(M,D+Y*2*16,M,Y*16,16);for(Y=0;Y<P;Y++)y(M,D+(Y*2+1)*16,M,(Y+P)*16,16)}function o(M,D){return M<<D|M>>>32-D}function d(M,D){y(M,0,D,0,16);for(let P=8;P>0;P-=2)D[4]^=o(D[0]+D[12],7),D[8]^=o(D[4]+D[0],9),D[12]^=o(D[8]+D[4],13),D[0]^=o(D[12]+D[8],18),D[9]^=o(D[5]+D[1],7),D[13]^=o(D[9]+D[5],9),D[1]^=o(D[13]+D[9],13),D[5]^=o(D[1]+D[13],18),D[14]^=o(D[10]+D[6],7),D[2]^=o(D[14]+D[10],9),D[6]^=o(D[2]+D[14],13),D[10]^=o(D[6]+D[2],18),D[3]^=o(D[15]+D[11],7),D[7]^=o(D[3]+D[15],9),D[11]^=o(D[7]+D[3],13),D[15]^=o(D[11]+D[7],18),D[1]^=o(D[0]+D[3],7),D[2]^=o(D[1]+D[0],9),D[3]^=o(D[2]+D[1],13),D[0]^=o(D[3]+D[2],18),D[6]^=o(D[5]+D[4],7),D[7]^=o(D[6]+D[5],9),D[4]^=o(D[7]+D[6],13),D[5]^=o(D[4]+D[7],18),D[11]^=o(D[10]+D[9],7),D[8]^=o(D[11]+D[10],9),D[9]^=o(D[8]+D[11],13),D[10]^=o(D[9]+D[8],18),D[12]^=o(D[15]+D[14],7),D[13]^=o(D[12]+D[15],9),D[14]^=o(D[13]+D[12],13),D[15]^=o(D[14]+D[13],18);for(let P=0;P<16;++P)M[P]+=D[P]}function g(M,D,P,G){for(let q=0;q<G;q++)P[q]^=M[D+q]}function y(M,D,P,G,q){for(;q--;)P[G++]=M[D++]}function _(M){if(!M||typeof M.length!="number")return!1;for(let D=0;D<M.length;D++){let P=M[D];if(typeof P!="number"||P%1||P<0||P>=256)return!1}return!0}function I(M,D){if(typeof M!="number"||M%1)throw new Error("invalid "+D);return M}function N(M,D,P,G,q,Y,ne){if(P=I(P,"N"),G=I(G,"r"),q=I(q,"p"),Y=I(Y,"dkLen"),P===0||(P&P-1)!==0)throw new Error("N must be power of 2");if(P>2147483647/128/G)throw new Error("N too large");if(G>2147483647/128/q)throw new Error("r too large");if(!_(M))throw new Error("password must be an array or buffer");if(M=Array.prototype.slice.call(M),!_(D))throw new Error("salt must be an array or buffer");D=Array.prototype.slice.call(D);let ce=i(M,D,q*128*G),le=new Uint32Array(q*32*G);for(let F=0;F<le.length;F++){let X=F*4;le[F]=(ce[X+3]&255)<<24|(ce[X+2]&255)<<16|(ce[X+1]&255)<<8|(ce[X+0]&255)<<0}let pe=new Uint32Array(64*G),ae=new Uint32Array(32*G*P),W=32*G,se=new Uint32Array(16),O=new Uint32Array(16),s=q*P*2,l=0,A=null,m=!1,E=0,w=0,x,R,u=ne?parseInt(1e3/G):4294967295,C=typeof setImmediate<"u"?setImmediate:setTimeout,U=function(){if(m)return ne(new Error("cancelled"),l/s);let F;switch(E){case 0:R=w*32*G,y(le,R,pe,0,W),E=1,x=0;case 1:F=P-x,F>u&&(F=u);for(let Ae=0;Ae<F;Ae++)y(pe,0,ae,(x+Ae)*W,W),n(pe,W,G,se,O);if(x+=F,l+=F,ne){let Ae=parseInt(1e3*l/s);if(Ae!==A){if(m=ne(null,l/s),m)break;A=Ae}}if(x<P)break;x=0,E=2;case 2:F=P-x,F>u&&(F=u);for(let Ae=0;Ae<F;Ae++){let he=(2*G-1)*16,$e=pe[he]&P-1;g(ae,$e*W,pe,W),n(pe,W,G,se,O)}if(x+=F,l+=F,ne){let Ae=parseInt(1e3*l/s);if(Ae!==A){if(m=ne(null,l/s),m)break;A=Ae}}if(x<P)break;if(y(pe,0,le,R,W),w++,w<q){E=0;break}ce=[];for(let Ae=0;Ae<le.length;Ae++)ce.push(le[Ae]>>0&255),ce.push(le[Ae]>>8&255),ce.push(le[Ae]>>16&255),ce.push(le[Ae]>>24&255);let X=i(M,ce,Y);return ne&&ne(null,1,X),X}ne&&C(U)};if(!ne)for(;;){let F=U();if(F!=null)return F}U()}let T={scrypt:function(M,D,P,G,q,Y,ne){return new Promise(function(ce,le){let pe=0;ne&&ne(0),N(M,D,P,G,q,Y,function(ae,W,se){if(ae)le(ae);else if(se)ne&&pe!==1&&ne(1),ce(new Uint8Array(se));else if(ne&&W!==pe)return pe=W,ne(W)})})},syncScrypt:function(M,D,P,G,q,Y){return new Uint8Array(N(M,D,P,G,q,Y))}};typeof afe<"u"?m$e.exports=T:typeof define=="function"&&define.amd?define(T):e&&(e.scrypt&&(e._scrypt=e.scrypt),e.scrypt=T)})(afe)});var _k=ir((VBn,T$e)=>{"use strict";J();K();z();function c7t(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var i=0;i<e.length;i++){var n=e.charAt(i),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=i}var d=e.length,g=e.charAt(0),y=Math.log(d)/Math.log(256),_=Math.log(256)/Math.log(d);function I(M){if(M instanceof Uint8Array||(ArrayBuffer.isView(M)?M=new Uint8Array(M.buffer,M.byteOffset,M.byteLength):Array.isArray(M)&&(M=Uint8Array.from(M))),!(M instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(M.length===0)return"";for(var D=0,P=0,G=0,q=M.length;G!==q&&M[G]===0;)G++,D++;for(var Y=(q-G)*_+1>>>0,ne=new Uint8Array(Y);G!==q;){for(var ce=M[G],le=0,pe=Y-1;(ce!==0||le<P)&&pe!==-1;pe--,le++)ce+=256*ne[pe]>>>0,ne[pe]=ce%d>>>0,ce=ce/d>>>0;if(ce!==0)throw new Error("Non-zero carry");P=le,G++}for(var ae=Y-P;ae!==Y&&ne[ae]===0;)ae++;for(var W=g.repeat(D);ae<Y;++ae)W+=e.charAt(ne[ae]);return W}function N(M){if(typeof M!="string")throw new TypeError("Expected String");if(M.length===0)return new Uint8Array;for(var D=0,P=0,G=0;M[D]===g;)P++,D++;for(var q=(M.length-D)*y+1>>>0,Y=new Uint8Array(q);M[D];){var ne=M.charCodeAt(D);if(ne>255)return;var ce=t[ne];if(ce===255)return;for(var le=0,pe=q-1;(ce!==0||le<G)&&pe!==-1;pe--,le++)ce+=d*Y[pe]>>>0,Y[pe]=ce%256>>>0,ce=ce/256>>>0;if(ce!==0)throw new Error("Non-zero carry");G=le,D++}for(var ae=q-G;ae!==q&&Y[ae]===0;)ae++;for(var W=new Uint8Array(P+(q-ae)),se=P;ae!==q;)W[se++]=Y[ae++];return W}function T(M){var D=N(M);if(D)return D;throw new Error("Non-base"+d+" character")}return{encode:I,decodeUnsafe:N,decode:T}}T$e.exports=c7t});var M$e=ir(($Bn,B$e)=>{"use strict";J();K();z();var u7t=_k(),d7t="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";B$e.exports=u7t(d7t)});var k$e=ir((n7n,D$e)=>{"use strict";J();K();z();var cc={IMPOSSIBLE_CASE:"Impossible case. Please create issue.",TWEAK_ADD:"The tweak was out of range or the resulted private key is invalid",TWEAK_MUL:"The tweak was out of range or equal to zero",CONTEXT_RANDOMIZE_UNKNOW:"Unknow error on context randomization",SECKEY_INVALID:"Private Key is invalid",PUBKEY_PARSE:"Public Key could not be parsed",PUBKEY_SERIALIZE:"Public Key serialization error",PUBKEY_COMBINE:"The sum of the public keys is not valid",SIG_PARSE:"Signature could not be parsed",SIGN:"The nonce generation function failed, or the private key was invalid",RECOVER:"Public key could not be recover",ECDH:"Scalar was invalid (zero or overflow)"};function s_(e,t){if(!e)throw new Error(t)}function zs(e,t,r){if(s_(t instanceof Uint8Array,`Expected ${e} to be an Uint8Array`),r!==void 0)if(Array.isArray(r)){let i=r.join(", "),n=`Expected ${e} to be an Uint8Array with length [${i}]`;s_(r.includes(t.length),n)}else{let i=`Expected ${e} to be an Uint8Array with length ${r}`;s_(t.length===r,i)}}function L4(e){s_(AN(e)==="Boolean","Expected compressed to be a Boolean")}function Mm(e=r=>new Uint8Array(r),t){return typeof e=="function"&&(e=e(t)),zs("output",e,t),e}function AN(e){return Object.prototype.toString.call(e).slice(8,-1)}D$e.exports=e=>({contextRandomize(t){if(s_(t===null||t instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),t!==null&&zs("seed",t,32),e.contextRandomize(t)===1)throw new Error(cc.CONTEXT_RANDOMIZE_UNKNOW)},privateKeyVerify(t){return zs("private key",t,32),e.privateKeyVerify(t)===0},privateKeyNegate(t){switch(zs("private key",t,32),e.privateKeyNegate(t)){case 0:return t;case 1:throw new Error(cc.IMPOSSIBLE_CASE)}},privateKeyTweakAdd(t,r){switch(zs("private key",t,32),zs("tweak",r,32),e.privateKeyTweakAdd(t,r)){case 0:return t;case 1:throw new Error(cc.TWEAK_ADD)}},privateKeyTweakMul(t,r){switch(zs("private key",t,32),zs("tweak",r,32),e.privateKeyTweakMul(t,r)){case 0:return t;case 1:throw new Error(cc.TWEAK_MUL)}},publicKeyVerify(t){return zs("public key",t,[33,65]),e.publicKeyVerify(t)===0},publicKeyCreate(t,r=!0,i){switch(zs("private key",t,32),L4(r),i=Mm(i,r?33:65),e.publicKeyCreate(i,t)){case 0:return i;case 1:throw new Error(cc.SECKEY_INVALID);case 2:throw new Error(cc.PUBKEY_SERIALIZE)}},publicKeyConvert(t,r=!0,i){switch(zs("public key",t,[33,65]),L4(r),i=Mm(i,r?33:65),e.publicKeyConvert(i,t)){case 0:return i;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.PUBKEY_SERIALIZE)}},publicKeyNegate(t,r=!0,i){switch(zs("public key",t,[33,65]),L4(r),i=Mm(i,r?33:65),e.publicKeyNegate(i,t)){case 0:return i;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.IMPOSSIBLE_CASE);case 3:throw new Error(cc.PUBKEY_SERIALIZE)}},publicKeyCombine(t,r=!0,i){s_(Array.isArray(t),"Expected public keys to be an Array"),s_(t.length>0,"Expected public keys array will have more than zero items");for(let n of t)zs("public key",n,[33,65]);switch(L4(r),i=Mm(i,r?33:65),e.publicKeyCombine(i,t)){case 0:return i;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.PUBKEY_COMBINE);case 3:throw new Error(cc.PUBKEY_SERIALIZE)}},publicKeyTweakAdd(t,r,i=!0,n){switch(zs("public key",t,[33,65]),zs("tweak",r,32),L4(i),n=Mm(n,i?33:65),e.publicKeyTweakAdd(n,t,r)){case 0:return n;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.TWEAK_ADD)}},publicKeyTweakMul(t,r,i=!0,n){switch(zs("public key",t,[33,65]),zs("tweak",r,32),L4(i),n=Mm(n,i?33:65),e.publicKeyTweakMul(n,t,r)){case 0:return n;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.TWEAK_MUL)}},signatureNormalize(t){switch(zs("signature",t,64),e.signatureNormalize(t)){case 0:return t;case 1:throw new Error(cc.SIG_PARSE)}},signatureExport(t,r){zs("signature",t,64),r=Mm(r,72);let i={output:r,outputlen:72};switch(e.signatureExport(i,t)){case 0:return r.slice(0,i.outputlen);case 1:throw new Error(cc.SIG_PARSE);case 2:throw new Error(cc.IMPOSSIBLE_CASE)}},signatureImport(t,r){switch(zs("signature",t),r=Mm(r,64),e.signatureImport(r,t)){case 0:return r;case 1:throw new Error(cc.SIG_PARSE);case 2:throw new Error(cc.IMPOSSIBLE_CASE)}},ecdsaSign(t,r,i={},n){zs("message",t,32),zs("private key",r,32),s_(AN(i)==="Object","Expected options to be an Object"),i.data!==void 0&&zs("options.data",i.data),i.noncefn!==void 0&&s_(AN(i.noncefn)==="Function","Expected options.noncefn to be a Function"),n=Mm(n,64);let o={signature:n,recid:null};switch(e.ecdsaSign(o,t,r,i.data,i.noncefn)){case 0:return o;case 1:throw new Error(cc.SIGN);case 2:throw new Error(cc.IMPOSSIBLE_CASE)}},ecdsaVerify(t,r,i){switch(zs("signature",t,64),zs("message",r,32),zs("public key",i,[33,65]),e.ecdsaVerify(t,r,i)){case 0:return!0;case 3:return!1;case 1:throw new Error(cc.SIG_PARSE);case 2:throw new Error(cc.PUBKEY_PARSE)}},ecdsaRecover(t,r,i,n=!0,o){switch(zs("signature",t,64),s_(AN(r)==="Number"&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),zs("message",i,32),L4(n),o=Mm(o,n?33:65),e.ecdsaRecover(o,t,r,i)){case 0:return o;case 1:throw new Error(cc.SIG_PARSE);case 2:throw new Error(cc.RECOVER);case 3:throw new Error(cc.IMPOSSIBLE_CASE)}},ecdh(t,r,i={},n){switch(zs("public key",t,[33,65]),zs("private key",r,32),s_(AN(i)==="Object","Expected options to be an Object"),i.data!==void 0&&zs("options.data",i.data),i.hashfn!==void 0?(s_(AN(i.hashfn)==="Function","Expected options.hashfn to be a Function"),i.xbuf!==void 0&&zs("options.xbuf",i.xbuf,32),i.ybuf!==void 0&&zs("options.ybuf",i.ybuf,32),zs("output",n)):n=Mm(n,32),e.ecdh(n,t,r,i.data,i.hashfn,i.xbuf,i.ybuf)){case 0:return n;case 1:throw new Error(cc.PUBKEY_PARSE);case 2:throw new Error(cc.ECDH)}}})});var P$e=ir((s7n,f7t)=>{f7t.exports={name:"elliptic",version:"6.6.1",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}});var pb=ir((L$e,dfe)=>{"use strict";J();K();z();(function(e,t){"use strict";function r(O,s){if(!O)throw new Error(s||"Assertion failed")}function i(O,s){O.super_=s;var l=function(){};l.prototype=s.prototype,O.prototype=new l,O.prototype.constructor=O}function n(O,s,l){if(n.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((s==="le"||s==="be")&&(l=s,s=10),this._init(O||0,s||10,l||"be"))}typeof e=="object"?e.exports=n:t.BN=n,n.BN=n,n.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=(mh(),Zu(ky)).Buffer}catch{}n.isBN=function(s){return s instanceof n?!0:s!==null&&typeof s=="object"&&s.constructor.wordSize===n.wordSize&&Array.isArray(s.words)},n.max=function(s,l){return s.cmp(l)>0?s:l},n.min=function(s,l){return s.cmp(l)<0?s:l},n.prototype._init=function(s,l,A){if(typeof s=="number")return this._initNumber(s,l,A);if(typeof s=="object")return this._initArray(s,l,A);l==="hex"&&(l=16),r(l===(l|0)&&l>=2&&l<=36),s=s.toString().replace(/\s+/g,"");var m=0;s[0]==="-"&&(m++,this.negative=1),m<s.length&&(l===16?this._parseHex(s,m,A):(this._parseBase(s,l,m),A==="le"&&this._initArray(this.toArray(),l,A)))},n.prototype._initNumber=function(s,l,A){s<0&&(this.negative=1,s=-s),s<67108864?(this.words=[s&67108863],this.length=1):s<4503599627370496?(this.words=[s&67108863,s/67108864&67108863],this.length=2):(r(s<9007199254740992),this.words=[s&67108863,s/67108864&67108863,1],this.length=3),A==="le"&&this._initArray(this.toArray(),l,A)},n.prototype._initArray=function(s,l,A){if(r(typeof s.length=="number"),s.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(s.length/3),this.words=new Array(this.length);for(var m=0;m<this.length;m++)this.words[m]=0;var E,w,x=0;if(A==="be")for(m=s.length-1,E=0;m>=0;m-=3)w=s[m]|s[m-1]<<8|s[m-2]<<16,this.words[E]|=w<<x&67108863,this.words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);else if(A==="le")for(m=0,E=0;m<s.length;m+=3)w=s[m]|s[m+1]<<8|s[m+2]<<16,this.words[E]|=w<<x&67108863,this.words[E+1]=w>>>26-x&67108863,x+=24,x>=26&&(x-=26,E++);return this.strip()};function d(O,s){var l=O.charCodeAt(s);return l>=65&&l<=70?l-55:l>=97&&l<=102?l-87:l-48&15}function g(O,s,l){var A=d(O,l);return l-1>=s&&(A|=d(O,l-1)<<4),A}n.prototype._parseHex=function(s,l,A){this.length=Math.ceil((s.length-l)/6),this.words=new Array(this.length);for(var m=0;m<this.length;m++)this.words[m]=0;var E=0,w=0,x;if(A==="be")for(m=s.length-1;m>=l;m-=2)x=g(s,l,m)<<E,this.words[w]|=x&67108863,E>=18?(E-=18,w+=1,this.words[w]|=x>>>26):E+=8;else{var R=s.length-l;for(m=R%2===0?l+1:l;m<s.length;m+=2)x=g(s,l,m)<<E,this.words[w]|=x&67108863,E>=18?(E-=18,w+=1,this.words[w]|=x>>>26):E+=8}this.strip()};function y(O,s,l,A){for(var m=0,E=Math.min(O.length,l),w=s;w<E;w++){var x=O.charCodeAt(w)-48;m*=A,x>=49?m+=x-49+10:x>=17?m+=x-17+10:m+=x}return m}n.prototype._parseBase=function(s,l,A){this.words=[0],this.length=1;for(var m=0,E=1;E<=67108863;E*=l)m++;m--,E=E/l|0;for(var w=s.length-A,x=w%m,R=Math.min(w,w-x)+A,u=0,C=A;C<R;C+=m)u=y(s,C,C+m,l),this.imuln(E),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(x!==0){var U=1;for(u=y(s,C,s.length,l),C=0;C<x;C++)U*=l;this.imuln(U),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(s){s.words=new Array(this.length);for(var l=0;l<this.length;l++)s.words[l]=this.words[l];s.length=this.length,s.negative=this.negative,s.red=this.red},n.prototype.clone=function(){var s=new n(null);return this.copy(s),s},n.prototype._expand=function(s){for(;this.length<s;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},n.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(s,l){s=s||10,l=l|0||1;var A;if(s===16||s==="hex"){A="";for(var m=0,E=0,w=0;w<this.length;w++){var x=this.words[w],R=((x<<m|E)&16777215).toString(16);E=x>>>24-m&16777215,E!==0||w!==this.length-1?A=_[6-R.length]+R+A:A=R+A,m+=2,m>=26&&(m-=26,w--)}for(E!==0&&(A=E.toString(16)+A);A.length%l!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}if(s===(s|0)&&s>=2&&s<=36){var u=I[s],C=N[s];A="";var U=this.clone();for(U.negative=0;!U.isZero();){var F=U.modn(C).toString(s);U=U.idivn(C),U.isZero()?A=F+A:A=_[u-F.length]+F+A}for(this.isZero()&&(A="0"+A);A.length%l!==0;)A="0"+A;return this.negative!==0&&(A="-"+A),A}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var s=this.words[0];return this.length===2?s+=this.words[1]*67108864:this.length===3&&this.words[2]===1?s+=4503599627370496+this.words[1]*67108864:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-s:s},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(s,l){return r(typeof o<"u"),this.toArrayLike(o,s,l)},n.prototype.toArray=function(s,l){return this.toArrayLike(Array,s,l)},n.prototype.toArrayLike=function(s,l,A){var m=this.byteLength(),E=A||Math.max(1,m);r(m<=E,"byte array longer than desired length"),r(E>0,"Requested array length <= 0"),this.strip();var w=l==="le",x=new s(E),R,u,C=this.clone();if(w){for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[u]=R;for(;u<E;u++)x[u]=0}else{for(u=0;u<E-m;u++)x[u]=0;for(u=0;!C.isZero();u++)R=C.andln(255),C.iushrn(8),x[E-u-1]=R}return x},Math.clz32?n.prototype._countBits=function(s){return 32-Math.clz32(s)}:n.prototype._countBits=function(s){var l=s,A=0;return l>=4096&&(A+=13,l>>>=13),l>=64&&(A+=7,l>>>=7),l>=8&&(A+=4,l>>>=4),l>=2&&(A+=2,l>>>=2),A+l},n.prototype._zeroBits=function(s){if(s===0)return 26;var l=s,A=0;return(l&8191)===0&&(A+=13,l>>>=13),(l&127)===0&&(A+=7,l>>>=7),(l&15)===0&&(A+=4,l>>>=4),(l&3)===0&&(A+=2,l>>>=2),(l&1)===0&&A++,A},n.prototype.bitLength=function(){var s=this.words[this.length-1],l=this._countBits(s);return(this.length-1)*26+l};function T(O){for(var s=new Array(O.bitLength()),l=0;l<s.length;l++){var A=l/26|0,m=l%26;s[l]=(O.words[A]&1<<m)>>>m}return s}n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var s=0,l=0;l<this.length;l++){var A=this._zeroBits(this.words[l]);if(s+=A,A!==26)break}return s},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(s){return this.negative!==0?this.abs().inotn(s).iaddn(1):this.clone()},n.prototype.fromTwos=function(s){return this.testn(s-1)?this.notn(s).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return this.negative!==0},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(s){for(;this.length<s.length;)this.words[this.length++]=0;for(var l=0;l<s.length;l++)this.words[l]=this.words[l]|s.words[l];return this.strip()},n.prototype.ior=function(s){return r((this.negative|s.negative)===0),this.iuor(s)},n.prototype.or=function(s){return this.length>s.length?this.clone().ior(s):s.clone().ior(this)},n.prototype.uor=function(s){return this.length>s.length?this.clone().iuor(s):s.clone().iuor(this)},n.prototype.iuand=function(s){var l;this.length>s.length?l=s:l=this;for(var A=0;A<l.length;A++)this.words[A]=this.words[A]&s.words[A];return this.length=l.length,this.strip()},n.prototype.iand=function(s){return r((this.negative|s.negative)===0),this.iuand(s)},n.prototype.and=function(s){return this.length>s.length?this.clone().iand(s):s.clone().iand(this)},n.prototype.uand=function(s){return this.length>s.length?this.clone().iuand(s):s.clone().iuand(this)},n.prototype.iuxor=function(s){var l,A;this.length>s.length?(l=this,A=s):(l=s,A=this);for(var m=0;m<A.length;m++)this.words[m]=l.words[m]^A.words[m];if(this!==l)for(;m<l.length;m++)this.words[m]=l.words[m];return this.length=l.length,this.strip()},n.prototype.ixor=function(s){return r((this.negative|s.negative)===0),this.iuxor(s)},n.prototype.xor=function(s){return this.length>s.length?this.clone().ixor(s):s.clone().ixor(this)},n.prototype.uxor=function(s){return this.length>s.length?this.clone().iuxor(s):s.clone().iuxor(this)},n.prototype.inotn=function(s){r(typeof s=="number"&&s>=0);var l=Math.ceil(s/26)|0,A=s%26;this._expand(l),A>0&&l--;for(var m=0;m<l;m++)this.words[m]=~this.words[m]&67108863;return A>0&&(this.words[m]=~this.words[m]&67108863>>26-A),this.strip()},n.prototype.notn=function(s){return this.clone().inotn(s)},n.prototype.setn=function(s,l){r(typeof s=="number"&&s>=0);var A=s/26|0,m=s%26;return this._expand(A+1),l?this.words[A]=this.words[A]|1<<m:this.words[A]=this.words[A]&~(1<<m),this.strip()},n.prototype.iadd=function(s){var l;if(this.negative!==0&&s.negative===0)return this.negative=0,l=this.isub(s),this.negative^=1,this._normSign();if(this.negative===0&&s.negative!==0)return s.negative=0,l=this.isub(s),s.negative=1,l._normSign();var A,m;this.length>s.length?(A=this,m=s):(A=s,m=this);for(var E=0,w=0;w<m.length;w++)l=(A.words[w]|0)+(m.words[w]|0)+E,this.words[w]=l&67108863,E=l>>>26;for(;E!==0&&w<A.length;w++)l=(A.words[w]|0)+E,this.words[w]=l&67108863,E=l>>>26;if(this.length=A.length,E!==0)this.words[this.length]=E,this.length++;else if(A!==this)for(;w<A.length;w++)this.words[w]=A.words[w];return this},n.prototype.add=function(s){var l;return s.negative!==0&&this.negative===0?(s.negative=0,l=this.sub(s),s.negative^=1,l):s.negative===0&&this.negative!==0?(this.negative=0,l=s.sub(this),this.negative=1,l):this.length>s.length?this.clone().iadd(s):s.clone().iadd(this)},n.prototype.isub=function(s){if(s.negative!==0){s.negative=0;var l=this.iadd(s);return s.negative=1,l._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(s),this.negative=1,this._normSign();var A=this.cmp(s);if(A===0)return this.negative=0,this.length=1,this.words[0]=0,this;var m,E;A>0?(m=this,E=s):(m=s,E=this);for(var w=0,x=0;x<E.length;x++)l=(m.words[x]|0)-(E.words[x]|0)+w,w=l>>26,this.words[x]=l&67108863;for(;w!==0&&x<m.length;x++)l=(m.words[x]|0)+w,w=l>>26,this.words[x]=l&67108863;if(w===0&&x<m.length&&m!==this)for(;x<m.length;x++)this.words[x]=m.words[x];return this.length=Math.max(this.length,x),m!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(s){return this.clone().isub(s)};function M(O,s,l){l.negative=s.negative^O.negative;var A=O.length+s.length|0;l.length=A,A=A-1|0;var m=O.words[0]|0,E=s.words[0]|0,w=m*E,x=w&67108863,R=w/67108864|0;l.words[0]=x;for(var u=1;u<A;u++){for(var C=R>>>26,U=R&67108863,F=Math.min(u,s.length-1),X=Math.max(0,u-O.length+1);X<=F;X++){var Ae=u-X|0;m=O.words[Ae]|0,E=s.words[X]|0,w=m*E+U,C+=w/67108864|0,U=w&67108863}l.words[u]=U|0,R=C|0}return R!==0?l.words[u]=R|0:l.length--,l.strip()}var D=function(s,l,A){var m=s.words,E=l.words,w=A.words,x=0,R,u,C,U=m[0]|0,F=U&8191,X=U>>>13,Ae=m[1]|0,he=Ae&8191,$e=Ae>>>13,Ge=m[2]|0,Re=Ge&8191,Se=Ge>>>13,ct=m[3]|0,ze=ct&8191,te=ct>>>13,Ue=m[4]|0,oe=Ue&8191,ge=Ue>>>13,Le=m[5]|0,V=Le&8191,Qe=Le>>>13,_t=m[6]|0,rt=_t&8191,At=_t>>>13,Er=m[7]|0,mt=Er&8191,Ht=Er>>>13,zr=m[8]|0,ve=zr&8191,ie=zr>>>13,_e=m[9]|0,Be=_e&8191,Ze=_e>>>13,$t=E[0]|0,at=$t&8191,zt=$t>>>13,Hr=E[1]|0,St=Hr&8191,Yt=Hr>>>13,qr=E[2]|0,tr=qr&8191,hr=qr>>>13,Cn=E[3]|0,er=Cn&8191,pr=Cn>>>13,mn=E[4]|0,Xt=mn&8191,dr=mn>>>13,wn=E[5]|0,Qt=wn&8191,fr=wn>>>13,In=E[6]|0,jt=In&8191,ar=In>>>13,ht=E[7]|0,Xe=ht&8191,et=ht>>>13,ue=E[8]|0,je=ue&8191,be=ue>>>13,qe=E[9]|0,De=qe&8191,Je=qe>>>13;A.negative=s.negative^l.negative,A.length=19,R=Math.imul(F,at),u=Math.imul(F,zt),u=u+Math.imul(X,at)|0,C=Math.imul(X,zt);var Rt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,R=Math.imul(he,at),u=Math.imul(he,zt),u=u+Math.imul($e,at)|0,C=Math.imul($e,zt),R=R+Math.imul(F,St)|0,u=u+Math.imul(F,Yt)|0,u=u+Math.imul(X,St)|0,C=C+Math.imul(X,Yt)|0;var Vt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,R=Math.imul(Re,at),u=Math.imul(Re,zt),u=u+Math.imul(Se,at)|0,C=Math.imul(Se,zt),R=R+Math.imul(he,St)|0,u=u+Math.imul(he,Yt)|0,u=u+Math.imul($e,St)|0,C=C+Math.imul($e,Yt)|0,R=R+Math.imul(F,tr)|0,u=u+Math.imul(F,hr)|0,u=u+Math.imul(X,tr)|0,C=C+Math.imul(X,hr)|0;var br=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(br>>>26)|0,br&=67108863,R=Math.imul(ze,at),u=Math.imul(ze,zt),u=u+Math.imul(te,at)|0,C=Math.imul(te,zt),R=R+Math.imul(Re,St)|0,u=u+Math.imul(Re,Yt)|0,u=u+Math.imul(Se,St)|0,C=C+Math.imul(Se,Yt)|0,R=R+Math.imul(he,tr)|0,u=u+Math.imul(he,hr)|0,u=u+Math.imul($e,tr)|0,C=C+Math.imul($e,hr)|0,R=R+Math.imul(F,er)|0,u=u+Math.imul(F,pr)|0,u=u+Math.imul(X,er)|0,C=C+Math.imul(X,pr)|0;var Rr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,R=Math.imul(oe,at),u=Math.imul(oe,zt),u=u+Math.imul(ge,at)|0,C=Math.imul(ge,zt),R=R+Math.imul(ze,St)|0,u=u+Math.imul(ze,Yt)|0,u=u+Math.imul(te,St)|0,C=C+Math.imul(te,Yt)|0,R=R+Math.imul(Re,tr)|0,u=u+Math.imul(Re,hr)|0,u=u+Math.imul(Se,tr)|0,C=C+Math.imul(Se,hr)|0,R=R+Math.imul(he,er)|0,u=u+Math.imul(he,pr)|0,u=u+Math.imul($e,er)|0,C=C+Math.imul($e,pr)|0,R=R+Math.imul(F,Xt)|0,u=u+Math.imul(F,dr)|0,u=u+Math.imul(X,Xt)|0,C=C+Math.imul(X,dr)|0;var Dr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,R=Math.imul(V,at),u=Math.imul(V,zt),u=u+Math.imul(Qe,at)|0,C=Math.imul(Qe,zt),R=R+Math.imul(oe,St)|0,u=u+Math.imul(oe,Yt)|0,u=u+Math.imul(ge,St)|0,C=C+Math.imul(ge,Yt)|0,R=R+Math.imul(ze,tr)|0,u=u+Math.imul(ze,hr)|0,u=u+Math.imul(te,tr)|0,C=C+Math.imul(te,hr)|0,R=R+Math.imul(Re,er)|0,u=u+Math.imul(Re,pr)|0,u=u+Math.imul(Se,er)|0,C=C+Math.imul(Se,pr)|0,R=R+Math.imul(he,Xt)|0,u=u+Math.imul(he,dr)|0,u=u+Math.imul($e,Xt)|0,C=C+Math.imul($e,dr)|0,R=R+Math.imul(F,Qt)|0,u=u+Math.imul(F,fr)|0,u=u+Math.imul(X,Qt)|0,C=C+Math.imul(X,fr)|0;var Pr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,R=Math.imul(rt,at),u=Math.imul(rt,zt),u=u+Math.imul(At,at)|0,C=Math.imul(At,zt),R=R+Math.imul(V,St)|0,u=u+Math.imul(V,Yt)|0,u=u+Math.imul(Qe,St)|0,C=C+Math.imul(Qe,Yt)|0,R=R+Math.imul(oe,tr)|0,u=u+Math.imul(oe,hr)|0,u=u+Math.imul(ge,tr)|0,C=C+Math.imul(ge,hr)|0,R=R+Math.imul(ze,er)|0,u=u+Math.imul(ze,pr)|0,u=u+Math.imul(te,er)|0,C=C+Math.imul(te,pr)|0,R=R+Math.imul(Re,Xt)|0,u=u+Math.imul(Re,dr)|0,u=u+Math.imul(Se,Xt)|0,C=C+Math.imul(Se,dr)|0,R=R+Math.imul(he,Qt)|0,u=u+Math.imul(he,fr)|0,u=u+Math.imul($e,Qt)|0,C=C+Math.imul($e,fr)|0,R=R+Math.imul(F,jt)|0,u=u+Math.imul(F,ar)|0,u=u+Math.imul(X,jt)|0,C=C+Math.imul(X,ar)|0;var k=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(k>>>26)|0,k&=67108863,R=Math.imul(mt,at),u=Math.imul(mt,zt),u=u+Math.imul(Ht,at)|0,C=Math.imul(Ht,zt),R=R+Math.imul(rt,St)|0,u=u+Math.imul(rt,Yt)|0,u=u+Math.imul(At,St)|0,C=C+Math.imul(At,Yt)|0,R=R+Math.imul(V,tr)|0,u=u+Math.imul(V,hr)|0,u=u+Math.imul(Qe,tr)|0,C=C+Math.imul(Qe,hr)|0,R=R+Math.imul(oe,er)|0,u=u+Math.imul(oe,pr)|0,u=u+Math.imul(ge,er)|0,C=C+Math.imul(ge,pr)|0,R=R+Math.imul(ze,Xt)|0,u=u+Math.imul(ze,dr)|0,u=u+Math.imul(te,Xt)|0,C=C+Math.imul(te,dr)|0,R=R+Math.imul(Re,Qt)|0,u=u+Math.imul(Re,fr)|0,u=u+Math.imul(Se,Qt)|0,C=C+Math.imul(Se,fr)|0,R=R+Math.imul(he,jt)|0,u=u+Math.imul(he,ar)|0,u=u+Math.imul($e,jt)|0,C=C+Math.imul($e,ar)|0,R=R+Math.imul(F,Xe)|0,u=u+Math.imul(F,et)|0,u=u+Math.imul(X,Xe)|0,C=C+Math.imul(X,et)|0;var a=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(a>>>26)|0,a&=67108863,R=Math.imul(ve,at),u=Math.imul(ve,zt),u=u+Math.imul(ie,at)|0,C=Math.imul(ie,zt),R=R+Math.imul(mt,St)|0,u=u+Math.imul(mt,Yt)|0,u=u+Math.imul(Ht,St)|0,C=C+Math.imul(Ht,Yt)|0,R=R+Math.imul(rt,tr)|0,u=u+Math.imul(rt,hr)|0,u=u+Math.imul(At,tr)|0,C=C+Math.imul(At,hr)|0,R=R+Math.imul(V,er)|0,u=u+Math.imul(V,pr)|0,u=u+Math.imul(Qe,er)|0,C=C+Math.imul(Qe,pr)|0,R=R+Math.imul(oe,Xt)|0,u=u+Math.imul(oe,dr)|0,u=u+Math.imul(ge,Xt)|0,C=C+Math.imul(ge,dr)|0,R=R+Math.imul(ze,Qt)|0,u=u+Math.imul(ze,fr)|0,u=u+Math.imul(te,Qt)|0,C=C+Math.imul(te,fr)|0,R=R+Math.imul(Re,jt)|0,u=u+Math.imul(Re,ar)|0,u=u+Math.imul(Se,jt)|0,C=C+Math.imul(Se,ar)|0,R=R+Math.imul(he,Xe)|0,u=u+Math.imul(he,et)|0,u=u+Math.imul($e,Xe)|0,C=C+Math.imul($e,et)|0,R=R+Math.imul(F,je)|0,u=u+Math.imul(F,be)|0,u=u+Math.imul(X,je)|0,C=C+Math.imul(X,be)|0;var S=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(S>>>26)|0,S&=67108863,R=Math.imul(Be,at),u=Math.imul(Be,zt),u=u+Math.imul(Ze,at)|0,C=Math.imul(Ze,zt),R=R+Math.imul(ve,St)|0,u=u+Math.imul(ve,Yt)|0,u=u+Math.imul(ie,St)|0,C=C+Math.imul(ie,Yt)|0,R=R+Math.imul(mt,tr)|0,u=u+Math.imul(mt,hr)|0,u=u+Math.imul(Ht,tr)|0,C=C+Math.imul(Ht,hr)|0,R=R+Math.imul(rt,er)|0,u=u+Math.imul(rt,pr)|0,u=u+Math.imul(At,er)|0,C=C+Math.imul(At,pr)|0,R=R+Math.imul(V,Xt)|0,u=u+Math.imul(V,dr)|0,u=u+Math.imul(Qe,Xt)|0,C=C+Math.imul(Qe,dr)|0,R=R+Math.imul(oe,Qt)|0,u=u+Math.imul(oe,fr)|0,u=u+Math.imul(ge,Qt)|0,C=C+Math.imul(ge,fr)|0,R=R+Math.imul(ze,jt)|0,u=u+Math.imul(ze,ar)|0,u=u+Math.imul(te,jt)|0,C=C+Math.imul(te,ar)|0,R=R+Math.imul(Re,Xe)|0,u=u+Math.imul(Re,et)|0,u=u+Math.imul(Se,Xe)|0,C=C+Math.imul(Se,et)|0,R=R+Math.imul(he,je)|0,u=u+Math.imul(he,be)|0,u=u+Math.imul($e,je)|0,C=C+Math.imul($e,be)|0,R=R+Math.imul(F,De)|0,u=u+Math.imul(F,Je)|0,u=u+Math.imul(X,De)|0,C=C+Math.imul(X,Je)|0;var sn=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(sn>>>26)|0,sn&=67108863,R=Math.imul(Be,St),u=Math.imul(Be,Yt),u=u+Math.imul(Ze,St)|0,C=Math.imul(Ze,Yt),R=R+Math.imul(ve,tr)|0,u=u+Math.imul(ve,hr)|0,u=u+Math.imul(ie,tr)|0,C=C+Math.imul(ie,hr)|0,R=R+Math.imul(mt,er)|0,u=u+Math.imul(mt,pr)|0,u=u+Math.imul(Ht,er)|0,C=C+Math.imul(Ht,pr)|0,R=R+Math.imul(rt,Xt)|0,u=u+Math.imul(rt,dr)|0,u=u+Math.imul(At,Xt)|0,C=C+Math.imul(At,dr)|0,R=R+Math.imul(V,Qt)|0,u=u+Math.imul(V,fr)|0,u=u+Math.imul(Qe,Qt)|0,C=C+Math.imul(Qe,fr)|0,R=R+Math.imul(oe,jt)|0,u=u+Math.imul(oe,ar)|0,u=u+Math.imul(ge,jt)|0,C=C+Math.imul(ge,ar)|0,R=R+Math.imul(ze,Xe)|0,u=u+Math.imul(ze,et)|0,u=u+Math.imul(te,Xe)|0,C=C+Math.imul(te,et)|0,R=R+Math.imul(Re,je)|0,u=u+Math.imul(Re,be)|0,u=u+Math.imul(Se,je)|0,C=C+Math.imul(Se,be)|0,R=R+Math.imul(he,De)|0,u=u+Math.imul(he,Je)|0,u=u+Math.imul($e,De)|0,C=C+Math.imul($e,Je)|0;var Lr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,R=Math.imul(Be,tr),u=Math.imul(Be,hr),u=u+Math.imul(Ze,tr)|0,C=Math.imul(Ze,hr),R=R+Math.imul(ve,er)|0,u=u+Math.imul(ve,pr)|0,u=u+Math.imul(ie,er)|0,C=C+Math.imul(ie,pr)|0,R=R+Math.imul(mt,Xt)|0,u=u+Math.imul(mt,dr)|0,u=u+Math.imul(Ht,Xt)|0,C=C+Math.imul(Ht,dr)|0,R=R+Math.imul(rt,Qt)|0,u=u+Math.imul(rt,fr)|0,u=u+Math.imul(At,Qt)|0,C=C+Math.imul(At,fr)|0,R=R+Math.imul(V,jt)|0,u=u+Math.imul(V,ar)|0,u=u+Math.imul(Qe,jt)|0,C=C+Math.imul(Qe,ar)|0,R=R+Math.imul(oe,Xe)|0,u=u+Math.imul(oe,et)|0,u=u+Math.imul(ge,Xe)|0,C=C+Math.imul(ge,et)|0,R=R+Math.imul(ze,je)|0,u=u+Math.imul(ze,be)|0,u=u+Math.imul(te,je)|0,C=C+Math.imul(te,be)|0,R=R+Math.imul(Re,De)|0,u=u+Math.imul(Re,Je)|0,u=u+Math.imul(Se,De)|0,C=C+Math.imul(Se,Je)|0;var Wr=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Wr>>>26)|0,Wr&=67108863,R=Math.imul(Be,er),u=Math.imul(Be,pr),u=u+Math.imul(Ze,er)|0,C=Math.imul(Ze,pr),R=R+Math.imul(ve,Xt)|0,u=u+Math.imul(ve,dr)|0,u=u+Math.imul(ie,Xt)|0,C=C+Math.imul(ie,dr)|0,R=R+Math.imul(mt,Qt)|0,u=u+Math.imul(mt,fr)|0,u=u+Math.imul(Ht,Qt)|0,C=C+Math.imul(Ht,fr)|0,R=R+Math.imul(rt,jt)|0,u=u+Math.imul(rt,ar)|0,u=u+Math.imul(At,jt)|0,C=C+Math.imul(At,ar)|0,R=R+Math.imul(V,Xe)|0,u=u+Math.imul(V,et)|0,u=u+Math.imul(Qe,Xe)|0,C=C+Math.imul(Qe,et)|0,R=R+Math.imul(oe,je)|0,u=u+Math.imul(oe,be)|0,u=u+Math.imul(ge,je)|0,C=C+Math.imul(ge,be)|0,R=R+Math.imul(ze,De)|0,u=u+Math.imul(ze,Je)|0,u=u+Math.imul(te,De)|0,C=C+Math.imul(te,Je)|0;var ln=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ln>>>26)|0,ln&=67108863,R=Math.imul(Be,Xt),u=Math.imul(Be,dr),u=u+Math.imul(Ze,Xt)|0,C=Math.imul(Ze,dr),R=R+Math.imul(ve,Qt)|0,u=u+Math.imul(ve,fr)|0,u=u+Math.imul(ie,Qt)|0,C=C+Math.imul(ie,fr)|0,R=R+Math.imul(mt,jt)|0,u=u+Math.imul(mt,ar)|0,u=u+Math.imul(Ht,jt)|0,C=C+Math.imul(Ht,ar)|0,R=R+Math.imul(rt,Xe)|0,u=u+Math.imul(rt,et)|0,u=u+Math.imul(At,Xe)|0,C=C+Math.imul(At,et)|0,R=R+Math.imul(V,je)|0,u=u+Math.imul(V,be)|0,u=u+Math.imul(Qe,je)|0,C=C+Math.imul(Qe,be)|0,R=R+Math.imul(oe,De)|0,u=u+Math.imul(oe,Je)|0,u=u+Math.imul(ge,De)|0,C=C+Math.imul(ge,Je)|0;var yt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(yt>>>26)|0,yt&=67108863,R=Math.imul(Be,Qt),u=Math.imul(Be,fr),u=u+Math.imul(Ze,Qt)|0,C=Math.imul(Ze,fr),R=R+Math.imul(ve,jt)|0,u=u+Math.imul(ve,ar)|0,u=u+Math.imul(ie,jt)|0,C=C+Math.imul(ie,ar)|0,R=R+Math.imul(mt,Xe)|0,u=u+Math.imul(mt,et)|0,u=u+Math.imul(Ht,Xe)|0,C=C+Math.imul(Ht,et)|0,R=R+Math.imul(rt,je)|0,u=u+Math.imul(rt,be)|0,u=u+Math.imul(At,je)|0,C=C+Math.imul(At,be)|0,R=R+Math.imul(V,De)|0,u=u+Math.imul(V,Je)|0,u=u+Math.imul(Qe,De)|0,C=C+Math.imul(Qe,Je)|0;var ot=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(ot>>>26)|0,ot&=67108863,R=Math.imul(Be,jt),u=Math.imul(Be,ar),u=u+Math.imul(Ze,jt)|0,C=Math.imul(Ze,ar),R=R+Math.imul(ve,Xe)|0,u=u+Math.imul(ve,et)|0,u=u+Math.imul(ie,Xe)|0,C=C+Math.imul(ie,et)|0,R=R+Math.imul(mt,je)|0,u=u+Math.imul(mt,be)|0,u=u+Math.imul(Ht,je)|0,C=C+Math.imul(Ht,be)|0,R=R+Math.imul(rt,De)|0,u=u+Math.imul(rt,Je)|0,u=u+Math.imul(At,De)|0,C=C+Math.imul(At,Je)|0;var lt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(lt>>>26)|0,lt&=67108863,R=Math.imul(Be,Xe),u=Math.imul(Be,et),u=u+Math.imul(Ze,Xe)|0,C=Math.imul(Ze,et),R=R+Math.imul(ve,je)|0,u=u+Math.imul(ve,be)|0,u=u+Math.imul(ie,je)|0,C=C+Math.imul(ie,be)|0,R=R+Math.imul(mt,De)|0,u=u+Math.imul(mt,Je)|0,u=u+Math.imul(Ht,De)|0,C=C+Math.imul(Ht,Je)|0;var gt=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(gt>>>26)|0,gt&=67108863,R=Math.imul(Be,je),u=Math.imul(Be,be),u=u+Math.imul(Ze,je)|0,C=Math.imul(Ze,be),R=R+Math.imul(ve,De)|0,u=u+Math.imul(ve,Je)|0,u=u+Math.imul(ie,De)|0,C=C+Math.imul(ie,Je)|0;var Ie=(x+R|0)+((u&8191)<<13)|0;x=(C+(u>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,R=Math.imul(Be,De),u=Math.imul(Be,Je),u=u+Math.imul(Ze,De)|0,C=Math.imul(Ze,Je);var Zt=(x+R|0)+((u&8191)<<13)|0;return x=(C+(u>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,w[0]=Rt,w[1]=Vt,w[2]=br,w[3]=Rr,w[4]=Dr,w[5]=Pr,w[6]=k,w[7]=a,w[8]=S,w[9]=sn,w[10]=Lr,w[11]=Wr,w[12]=ln,w[13]=yt,w[14]=ot,w[15]=lt,w[16]=gt,w[17]=Ie,w[18]=Zt,x!==0&&(w[19]=x,A.length++),A};Math.imul||(D=M);function P(O,s,l){l.negative=s.negative^O.negative,l.length=O.length+s.length;for(var A=0,m=0,E=0;E<l.length-1;E++){var w=m;m=0;for(var x=A&67108863,R=Math.min(E,s.length-1),u=Math.max(0,E-O.length+1);u<=R;u++){var C=E-u,U=O.words[C]|0,F=s.words[u]|0,X=U*F,Ae=X&67108863;w=w+(X/67108864|0)|0,Ae=Ae+x|0,x=Ae&67108863,w=w+(Ae>>>26)|0,m+=w>>>26,w&=67108863}l.words[E]=x,A=w,w=m}return A!==0?l.words[E]=A:l.length--,l.strip()}function G(O,s,l){var A=new q;return A.mulp(O,s,l)}n.prototype.mulTo=function(s,l){var A,m=this.length+s.length;return this.length===10&&s.length===10?A=D(this,s,l):m<63?A=M(this,s,l):m<1024?A=P(this,s,l):A=G(this,s,l),A};function q(O,s){this.x=O,this.y=s}q.prototype.makeRBT=function(s){for(var l=new Array(s),A=n.prototype._countBits(s)-1,m=0;m<s;m++)l[m]=this.revBin(m,A,s);return l},q.prototype.revBin=function(s,l,A){if(s===0||s===A-1)return s;for(var m=0,E=0;E<l;E++)m|=(s&1)<<l-E-1,s>>=1;return m},q.prototype.permute=function(s,l,A,m,E,w){for(var x=0;x<w;x++)m[x]=l[s[x]],E[x]=A[s[x]]},q.prototype.transform=function(s,l,A,m,E,w){this.permute(w,s,l,A,m,E);for(var x=1;x<E;x<<=1)for(var R=x<<1,u=Math.cos(2*Math.PI/R),C=Math.sin(2*Math.PI/R),U=0;U<E;U+=R)for(var F=u,X=C,Ae=0;Ae<x;Ae++){var he=A[U+Ae],$e=m[U+Ae],Ge=A[U+Ae+x],Re=m[U+Ae+x],Se=F*Ge-X*Re;Re=F*Re+X*Ge,Ge=Se,A[U+Ae]=he+Ge,m[U+Ae]=$e+Re,A[U+Ae+x]=he-Ge,m[U+Ae+x]=$e-Re,Ae!==R&&(Se=u*F-C*X,X=u*X+C*F,F=Se)}},q.prototype.guessLen13b=function(s,l){var A=Math.max(l,s)|1,m=A&1,E=0;for(A=A/2|0;A;A=A>>>1)E++;return 1<<E+1+m},q.prototype.conjugate=function(s,l,A){if(!(A<=1))for(var m=0;m<A/2;m++){var E=s[m];s[m]=s[A-m-1],s[A-m-1]=E,E=l[m],l[m]=-l[A-m-1],l[A-m-1]=-E}},q.prototype.normalize13b=function(s,l){for(var A=0,m=0;m<l/2;m++){var E=Math.round(s[2*m+1]/l)*8192+Math.round(s[2*m]/l)+A;s[m]=E&67108863,E<67108864?A=0:A=E/67108864|0}return s},q.prototype.convert13b=function(s,l,A,m){for(var E=0,w=0;w<l;w++)E=E+(s[w]|0),A[2*w]=E&8191,E=E>>>13,A[2*w+1]=E&8191,E=E>>>13;for(w=2*l;w<m;++w)A[w]=0;r(E===0),r((E&-8192)===0)},q.prototype.stub=function(s){for(var l=new Array(s),A=0;A<s;A++)l[A]=0;return l},q.prototype.mulp=function(s,l,A){var m=2*this.guessLen13b(s.length,l.length),E=this.makeRBT(m),w=this.stub(m),x=new Array(m),R=new Array(m),u=new Array(m),C=new Array(m),U=new Array(m),F=new Array(m),X=A.words;X.length=m,this.convert13b(s.words,s.length,x,m),this.convert13b(l.words,l.length,C,m),this.transform(x,w,R,u,m,E),this.transform(C,w,U,F,m,E);for(var Ae=0;Ae<m;Ae++){var he=R[Ae]*U[Ae]-u[Ae]*F[Ae];u[Ae]=R[Ae]*F[Ae]+u[Ae]*U[Ae],R[Ae]=he}return this.conjugate(R,u,m),this.transform(R,u,X,w,m,E),this.conjugate(X,w,m),this.normalize13b(X,m),A.negative=s.negative^l.negative,A.length=s.length+l.length,A.strip()},n.prototype.mul=function(s){var l=new n(null);return l.words=new Array(this.length+s.length),this.mulTo(s,l)},n.prototype.mulf=function(s){var l=new n(null);return l.words=new Array(this.length+s.length),G(this,s,l)},n.prototype.imul=function(s){return this.clone().mulTo(s,this)},n.prototype.imuln=function(s){r(typeof s=="number"),r(s<67108864);for(var l=0,A=0;A<this.length;A++){var m=(this.words[A]|0)*s,E=(m&67108863)+(l&67108863);l>>=26,l+=m/67108864|0,l+=E>>>26,this.words[A]=E&67108863}return l!==0&&(this.words[A]=l,this.length++),this},n.prototype.muln=function(s){return this.clone().imuln(s)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(s){var l=T(s);if(l.length===0)return new n(1);for(var A=this,m=0;m<l.length&&l[m]===0;m++,A=A.sqr());if(++m<l.length)for(var E=A.sqr();m<l.length;m++,E=E.sqr())l[m]!==0&&(A=A.mul(E));return A},n.prototype.iushln=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=67108863>>>26-l<<26-l,E;if(l!==0){var w=0;for(E=0;E<this.length;E++){var x=this.words[E]&m,R=(this.words[E]|0)-x<<l;this.words[E]=R|w,w=x>>>26-l}w&&(this.words[E]=w,this.length++)}if(A!==0){for(E=this.length-1;E>=0;E--)this.words[E+A]=this.words[E];for(E=0;E<A;E++)this.words[E]=0;this.length+=A}return this.strip()},n.prototype.ishln=function(s){return r(this.negative===0),this.iushln(s)},n.prototype.iushrn=function(s,l,A){r(typeof s=="number"&&s>=0);var m;l?m=(l-l%26)/26:m=0;var E=s%26,w=Math.min((s-E)/26,this.length),x=67108863^67108863>>>E<<E,R=A;if(m-=w,m=Math.max(0,m),R){for(var u=0;u<w;u++)R.words[u]=this.words[u];R.length=w}if(w!==0)if(this.length>w)for(this.length-=w,u=0;u<this.length;u++)this.words[u]=this.words[u+w];else this.words[0]=0,this.length=1;var C=0;for(u=this.length-1;u>=0&&(C!==0||u>=m);u--){var U=this.words[u]|0;this.words[u]=C<<26-E|U>>>E,C=U&x}return R&&C!==0&&(R.words[R.length++]=C),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(s,l,A){return r(this.negative===0),this.iushrn(s,l,A)},n.prototype.shln=function(s){return this.clone().ishln(s)},n.prototype.ushln=function(s){return this.clone().iushln(s)},n.prototype.shrn=function(s){return this.clone().ishrn(s)},n.prototype.ushrn=function(s){return this.clone().iushrn(s)},n.prototype.testn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26,m=1<<l;if(this.length<=A)return!1;var E=this.words[A];return!!(E&m)},n.prototype.imaskn=function(s){r(typeof s=="number"&&s>=0);var l=s%26,A=(s-l)/26;if(r(this.negative===0,"imaskn works only with positive numbers"),this.length<=A)return this;if(l!==0&&A++,this.length=Math.min(A,this.length),l!==0){var m=67108863^67108863>>>l<<l;this.words[this.length-1]&=m}return this.strip()},n.prototype.maskn=function(s){return this.clone().imaskn(s)},n.prototype.iaddn=function(s){return r(typeof s=="number"),r(s<67108864),s<0?this.isubn(-s):this.negative!==0?this.length===1&&(this.words[0]|0)<s?(this.words[0]=s-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(s),this.negative=1,this):this._iaddn(s)},n.prototype._iaddn=function(s){this.words[0]+=s;for(var l=0;l<this.length&&this.words[l]>=67108864;l++)this.words[l]-=67108864,l===this.length-1?this.words[l+1]=1:this.words[l+1]++;return this.length=Math.max(this.length,l+1),this},n.prototype.isubn=function(s){if(r(typeof s=="number"),r(s<67108864),s<0)return this.iaddn(-s);if(this.negative!==0)return this.negative=0,this.iaddn(s),this.negative=1,this;if(this.words[0]-=s,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var l=0;l<this.length&&this.words[l]<0;l++)this.words[l]+=67108864,this.words[l+1]-=1;return this.strip()},n.prototype.addn=function(s){return this.clone().iaddn(s)},n.prototype.subn=function(s){return this.clone().isubn(s)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(s,l,A){var m=s.length+A,E;this._expand(m);var w,x=0;for(E=0;E<s.length;E++){w=(this.words[E+A]|0)+x;var R=(s.words[E]|0)*l;w-=R&67108863,x=(w>>26)-(R/67108864|0),this.words[E+A]=w&67108863}for(;E<this.length-A;E++)w=(this.words[E+A]|0)+x,x=w>>26,this.words[E+A]=w&67108863;if(x===0)return this.strip();for(r(x===-1),x=0,E=0;E<this.length;E++)w=-(this.words[E]|0)+x,x=w>>26,this.words[E]=w&67108863;return this.negative=1,this.strip()},n.prototype._wordDiv=function(s,l){var A=this.length-s.length,m=this.clone(),E=s,w=E.words[E.length-1]|0,x=this._countBits(w);A=26-x,A!==0&&(E=E.ushln(A),m.iushln(A),w=E.words[E.length-1]|0);var R=m.length-E.length,u;if(l!=="mod"){u=new n(null),u.length=R+1,u.words=new Array(u.length);for(var C=0;C<u.length;C++)u.words[C]=0}var U=m.clone()._ishlnsubmul(E,1,R);U.negative===0&&(m=U,u&&(u.words[R]=1));for(var F=R-1;F>=0;F--){var X=(m.words[E.length+F]|0)*67108864+(m.words[E.length+F-1]|0);for(X=Math.min(X/w|0,67108863),m._ishlnsubmul(E,X,F);m.negative!==0;)X--,m.negative=0,m._ishlnsubmul(E,1,F),m.isZero()||(m.negative^=1);u&&(u.words[F]=X)}return u&&u.strip(),m.strip(),l!=="div"&&A!==0&&m.iushrn(A),{div:u||null,mod:m}},n.prototype.divmod=function(s,l,A){if(r(!s.isZero()),this.isZero())return{div:new n(0),mod:new n(0)};var m,E,w;return this.negative!==0&&s.negative===0?(w=this.neg().divmod(s,l),l!=="mod"&&(m=w.div.neg()),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.iadd(s)),{div:m,mod:E}):this.negative===0&&s.negative!==0?(w=this.divmod(s.neg(),l),l!=="mod"&&(m=w.div.neg()),{div:m,mod:w.mod}):(this.negative&s.negative)!==0?(w=this.neg().divmod(s.neg(),l),l!=="div"&&(E=w.mod.neg(),A&&E.negative!==0&&E.isub(s)),{div:w.div,mod:E}):s.length>this.length||this.cmp(s)<0?{div:new n(0),mod:this}:s.length===1?l==="div"?{div:this.divn(s.words[0]),mod:null}:l==="mod"?{div:null,mod:new n(this.modn(s.words[0]))}:{div:this.divn(s.words[0]),mod:new n(this.modn(s.words[0]))}:this._wordDiv(s,l)},n.prototype.div=function(s){return this.divmod(s,"div",!1).div},n.prototype.mod=function(s){return this.divmod(s,"mod",!1).mod},n.prototype.umod=function(s){return this.divmod(s,"mod",!0).mod},n.prototype.divRound=function(s){var l=this.divmod(s);if(l.mod.isZero())return l.div;var A=l.div.negative!==0?l.mod.isub(s):l.mod,m=s.ushrn(1),E=s.andln(1),w=A.cmp(m);return w<0||E===1&&w===0?l.div:l.div.negative!==0?l.div.isubn(1):l.div.iaddn(1)},n.prototype.modn=function(s){r(s<=67108863);for(var l=(1<<26)%s,A=0,m=this.length-1;m>=0;m--)A=(l*A+(this.words[m]|0))%s;return A},n.prototype.idivn=function(s){r(s<=67108863);for(var l=0,A=this.length-1;A>=0;A--){var m=(this.words[A]|0)+l*67108864;this.words[A]=m/s|0,l=m%s}return this.strip()},n.prototype.divn=function(s){return this.clone().idivn(s)},n.prototype.egcd=function(s){r(s.negative===0),r(!s.isZero());var l=this,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=new n(0),x=new n(1),R=0;l.isEven()&&A.isEven();)l.iushrn(1),A.iushrn(1),++R;for(var u=A.clone(),C=l.clone();!l.isZero();){for(var U=0,F=1;(l.words[0]&F)===0&&U<26;++U,F<<=1);if(U>0)for(l.iushrn(U);U-- >0;)(m.isOdd()||E.isOdd())&&(m.iadd(u),E.isub(C)),m.iushrn(1),E.iushrn(1);for(var X=0,Ae=1;(A.words[0]&Ae)===0&&X<26;++X,Ae<<=1);if(X>0)for(A.iushrn(X);X-- >0;)(w.isOdd()||x.isOdd())&&(w.iadd(u),x.isub(C)),w.iushrn(1),x.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(w),E.isub(x)):(A.isub(l),w.isub(m),x.isub(E))}return{a:w,b:x,gcd:A.iushln(R)}},n.prototype._invmp=function(s){r(s.negative===0),r(!s.isZero());var l=this,A=s.clone();l.negative!==0?l=l.umod(s):l=l.clone();for(var m=new n(1),E=new n(0),w=A.clone();l.cmpn(1)>0&&A.cmpn(1)>0;){for(var x=0,R=1;(l.words[0]&R)===0&&x<26;++x,R<<=1);if(x>0)for(l.iushrn(x);x-- >0;)m.isOdd()&&m.iadd(w),m.iushrn(1);for(var u=0,C=1;(A.words[0]&C)===0&&u<26;++u,C<<=1);if(u>0)for(A.iushrn(u);u-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);l.cmp(A)>=0?(l.isub(A),m.isub(E)):(A.isub(l),E.isub(m))}var U;return l.cmpn(1)===0?U=m:U=E,U.cmpn(0)<0&&U.iadd(s),U},n.prototype.gcd=function(s){if(this.isZero())return s.abs();if(s.isZero())return this.abs();var l=this.clone(),A=s.clone();l.negative=0,A.negative=0;for(var m=0;l.isEven()&&A.isEven();m++)l.iushrn(1),A.iushrn(1);do{for(;l.isEven();)l.iushrn(1);for(;A.isEven();)A.iushrn(1);var E=l.cmp(A);if(E<0){var w=l;l=A,A=w}else if(E===0||A.cmpn(1)===0)break;l.isub(A)}while(!0);return A.iushln(m)},n.prototype.invm=function(s){return this.egcd(s).a.umod(s)},n.prototype.isEven=function(){return(this.words[0]&1)===0},n.prototype.isOdd=function(){return(this.words[0]&1)===1},n.prototype.andln=function(s){return this.words[0]&s},n.prototype.bincn=function(s){r(typeof s=="number");var l=s%26,A=(s-l)/26,m=1<<l;if(this.length<=A)return this._expand(A+1),this.words[A]|=m,this;for(var E=m,w=A;E!==0&&w<this.length;w++){var x=this.words[w]|0;x+=E,E=x>>>26,x&=67108863,this.words[w]=x}return E!==0&&(this.words[w]=E,this.length++),this},n.prototype.isZero=function(){return this.length===1&&this.words[0]===0},n.prototype.cmpn=function(s){var l=s<0;if(this.negative!==0&&!l)return-1;if(this.negative===0&&l)return 1;this.strip();var A;if(this.length>1)A=1;else{l&&(s=-s),r(s<=67108863,"Number is too big");var m=this.words[0]|0;A=m===s?0:m<s?-1:1}return this.negative!==0?-A|0:A},n.prototype.cmp=function(s){if(this.negative!==0&&s.negative===0)return-1;if(this.negative===0&&s.negative!==0)return 1;var l=this.ucmp(s);return this.negative!==0?-l|0:l},n.prototype.ucmp=function(s){if(this.length>s.length)return 1;if(this.length<s.length)return-1;for(var l=0,A=this.length-1;A>=0;A--){var m=this.words[A]|0,E=s.words[A]|0;if(m!==E){m<E?l=-1:m>E&&(l=1);break}}return l},n.prototype.gtn=function(s){return this.cmpn(s)===1},n.prototype.gt=function(s){return this.cmp(s)===1},n.prototype.gten=function(s){return this.cmpn(s)>=0},n.prototype.gte=function(s){return this.cmp(s)>=0},n.prototype.ltn=function(s){return this.cmpn(s)===-1},n.prototype.lt=function(s){return this.cmp(s)===-1},n.prototype.lten=function(s){return this.cmpn(s)<=0},n.prototype.lte=function(s){return this.cmp(s)<=0},n.prototype.eqn=function(s){return this.cmpn(s)===0},n.prototype.eq=function(s){return this.cmp(s)===0},n.red=function(s){return new W(s)},n.prototype.toRed=function(s){return r(!this.red,"Already a number in reduction context"),r(this.negative===0,"red works only with positives"),s.convertTo(this)._forceRed(s)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(s){return this.red=s,this},n.prototype.forceRed=function(s){return r(!this.red,"Already a number in reduction context"),this._forceRed(s)},n.prototype.redAdd=function(s){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,s)},n.prototype.redIAdd=function(s){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,s)},n.prototype.redSub=function(s){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,s)},n.prototype.redISub=function(s){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,s)},n.prototype.redShl=function(s){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,s)},n.prototype.redMul=function(s){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,s),this.red.mul(this,s)},n.prototype.redIMul=function(s){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,s),this.red.imul(this,s)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(s){return r(this.red&&!s.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,s)};var Y={k256:null,p224:null,p192:null,p25519:null};function ne(O,s){this.name=O,this.p=new n(s,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}ne.prototype._tmp=function(){var s=new n(null);return s.words=new Array(Math.ceil(this.n/13)),s},ne.prototype.ireduce=function(s){var l=s,A;do this.split(l,this.tmp),l=this.imulK(l),l=l.iadd(this.tmp),A=l.bitLength();while(A>this.n);var m=A<this.n?-1:l.ucmp(this.p);return m===0?(l.words[0]=0,l.length=1):m>0?l.isub(this.p):l.strip!==void 0?l.strip():l._strip(),l},ne.prototype.split=function(s,l){s.iushrn(this.n,0,l)},ne.prototype.imulK=function(s){return s.imul(this.k)};function ce(){ne.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(ce,ne),ce.prototype.split=function(s,l){for(var A=4194303,m=Math.min(s.length,9),E=0;E<m;E++)l.words[E]=s.words[E];if(l.length=m,s.length<=9){s.words[0]=0,s.length=1;return}var w=s.words[9];for(l.words[l.length++]=w&A,E=10;E<s.length;E++){var x=s.words[E]|0;s.words[E-10]=(x&A)<<4|w>>>22,w=x}w>>>=22,s.words[E-10]=w,w===0&&s.length>10?s.length-=10:s.length-=9},ce.prototype.imulK=function(s){s.words[s.length]=0,s.words[s.length+1]=0,s.length+=2;for(var l=0,A=0;A<s.length;A++){var m=s.words[A]|0;l+=m*977,s.words[A]=l&67108863,l=m*64+(l/67108864|0)}return s.words[s.length-1]===0&&(s.length--,s.words[s.length-1]===0&&s.length--),s};function le(){ne.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(le,ne);function pe(){ne.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(pe,ne);function ae(){ne.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(ae,ne),ae.prototype.imulK=function(s){for(var l=0,A=0;A<s.length;A++){var m=(s.words[A]|0)*19+l,E=m&67108863;m>>>=26,s.words[A]=E,l=m}return l!==0&&(s.words[s.length++]=l),s},n._prime=function(s){if(Y[s])return Y[s];var l;if(s==="k256")l=new ce;else if(s==="p224")l=new le;else if(s==="p192")l=new pe;else if(s==="p25519")l=new ae;else throw new Error("Unknown prime "+s);return Y[s]=l,l};function W(O){if(typeof O=="string"){var s=n._prime(O);this.m=s.p,this.prime=s}else r(O.gtn(1),"modulus must be greater than 1"),this.m=O,this.prime=null}W.prototype._verify1=function(s){r(s.negative===0,"red works only with positives"),r(s.red,"red works only with red numbers")},W.prototype._verify2=function(s,l){r((s.negative|l.negative)===0,"red works only with positives"),r(s.red&&s.red===l.red,"red works only with red numbers")},W.prototype.imod=function(s){return this.prime?this.prime.ireduce(s)._forceRed(this):s.umod(this.m)._forceRed(this)},W.prototype.neg=function(s){return s.isZero()?s.clone():this.m.sub(s)._forceRed(this)},W.prototype.add=function(s,l){this._verify2(s,l);var A=s.add(l);return A.cmp(this.m)>=0&&A.isub(this.m),A._forceRed(this)},W.prototype.iadd=function(s,l){this._verify2(s,l);var A=s.iadd(l);return A.cmp(this.m)>=0&&A.isub(this.m),A},W.prototype.sub=function(s,l){this._verify2(s,l);var A=s.sub(l);return A.cmpn(0)<0&&A.iadd(this.m),A._forceRed(this)},W.prototype.isub=function(s,l){this._verify2(s,l);var A=s.isub(l);return A.cmpn(0)<0&&A.iadd(this.m),A},W.prototype.shl=function(s,l){return this._verify1(s),this.imod(s.ushln(l))},W.prototype.imul=function(s,l){return this._verify2(s,l),this.imod(s.imul(l))},W.prototype.mul=function(s,l){return this._verify2(s,l),this.imod(s.mul(l))},W.prototype.isqr=function(s){return this.imul(s,s.clone())},W.prototype.sqr=function(s){return this.mul(s,s)},W.prototype.sqrt=function(s){if(s.isZero())return s.clone();var l=this.m.andln(3);if(r(l%2===1),l===3){var A=this.m.add(new n(1)).iushrn(2);return this.pow(s,A)}for(var m=this.m.subn(1),E=0;!m.isZero()&&m.andln(1)===0;)E++,m.iushrn(1);r(!m.isZero());var w=new n(1).toRed(this),x=w.redNeg(),R=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new n(2*u*u).toRed(this);this.pow(u,R).cmp(x)!==0;)u.redIAdd(x);for(var C=this.pow(u,m),U=this.pow(s,m.addn(1).iushrn(1)),F=this.pow(s,m),X=E;F.cmp(w)!==0;){for(var Ae=F,he=0;Ae.cmp(w)!==0;he++)Ae=Ae.redSqr();r(he<X);var $e=this.pow(C,new n(1).iushln(X-he-1));U=U.redMul($e),C=$e.redSqr(),F=F.redMul(C),X=he}return U},W.prototype.invm=function(s){var l=s._invmp(this.m);return l.negative!==0?(l.negative=0,this.imod(l).redNeg()):this.imod(l)},W.prototype.pow=function(s,l){if(l.isZero())return new n(1).toRed(this);if(l.cmpn(1)===0)return s.clone();var A=4,m=new Array(1<<A);m[0]=new n(1).toRed(this),m[1]=s;for(var E=2;E<m.length;E++)m[E]=this.mul(m[E-1],s);var w=m[0],x=0,R=0,u=l.bitLength()%26;for(u===0&&(u=26),E=l.length-1;E>=0;E--){for(var C=l.words[E],U=u-1;U>=0;U--){var F=C>>U&1;if(w!==m[0]&&(w=this.sqr(w)),F===0&&x===0){R=0;continue}x<<=1,x|=F,R++,!(R!==A&&(E!==0||U!==0))&&(w=this.mul(w,m[x]),R=0,x=0)}u=26}return w},W.prototype.convertTo=function(s){var l=s.umod(this.m);return l===s?l.clone():l},W.prototype.convertFrom=function(s){var l=s.clone();return l.red=null,l},n.mont=function(s){return new se(s)};function se(O){W.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(se,W),se.prototype.convertTo=function(s){return this.imod(s.ushln(this.shift))},se.prototype.convertFrom=function(s){var l=this.imod(s.mul(this.rinv));return l.red=null,l},se.prototype.imul=function(s,l){if(s.isZero()||l.isZero())return s.words[0]=0,s.length=1,s;var A=s.imul(l),m=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=A.isub(m).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},se.prototype.mul=function(s,l){if(s.isZero()||l.isZero())return new n(0)._forceRed(this);var A=s.mul(l),m=A.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=A.isub(m).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},se.prototype.invm=function(s){var l=this.imod(s._invmp(this.m).mul(this.r2));return l._forceRed(this)}})(typeof dfe>"u"||dfe,L$e)});var ffe=ir(Q$e=>{"use strict";J();K();z();var iJ=Q$e;function l7t(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e!="string"){for(var i=0;i<e.length;i++)r[i]=e[i]|0;return r}if(t==="hex"){e=e.replace(/[^a-z0-9]+/ig,""),e.length%2!==0&&(e="0"+e);for(var i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var i=0;i<e.length;i++){var n=e.charCodeAt(i),o=n>>8,d=n&255;o?r.push(o,d):r.push(d)}return r}iJ.toArray=l7t;function U$e(e){return e.length===1?"0"+e:e}iJ.zero2=U$e;function F$e(e){for(var t="",r=0;r<e.length;r++)t+=U$e(e[r].toString(16));return t}iJ.toHex=F$e;iJ.encode=function(t,r){return r==="hex"?F$e(t):t}});var K1=ir(H$e=>{"use strict";J();K();z();var Dm=H$e,h7t=pb(),A7t=Fv(),oJ=ffe();Dm.assert=A7t;Dm.toArray=oJ.toArray;Dm.zero2=oJ.zero2;Dm.toHex=oJ.toHex;Dm.encode=oJ.encode;function p7t(e,t,r){var i=new Array(Math.max(e.bitLength(),r)+1),n;for(n=0;n<i.length;n+=1)i[n]=0;var o=1<<t+1,d=e.clone();for(n=0;n<i.length;n++){var g,y=d.andln(o-1);d.isOdd()?(y>(o>>1)-1?g=(o>>1)-y:g=y,d.isubn(g)):g=0,i[n]=g,d.iushrn(1)}return i}Dm.getNAF=p7t;function g7t(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var i=0,n=0,o;e.cmpn(-i)>0||t.cmpn(-n)>0;){var d=e.andln(3)+i&3,g=t.andln(3)+n&3;d===3&&(d=-1),g===3&&(g=-1);var y;(d&1)===0?y=0:(o=e.andln(7)+i&7,(o===3||o===5)&&g===2?y=-d:y=d),r[0].push(y);var _;(g&1)===0?_=0:(o=t.andln(7)+n&7,(o===3||o===5)&&d===2?_=-g:_=g),r[1].push(_),2*i===y+1&&(i=1-i),2*n===_+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r}Dm.getJSF=g7t;function _7t(e,t,r){var i="_"+t;e.prototype[t]=function(){return this[i]!==void 0?this[i]:this[i]=r.call(this)}}Dm.cachedProperty=_7t;function m7t(e){return typeof e=="string"?Dm.toArray(e,"hex"):e}Dm.parseBytes=m7t;function y7t(e){return new h7t(e,"hex","le")}Dm.intFromLE=y7t});var pfe=ir((y7n,Afe)=>{"use strict";J();K();z();var lfe;Afe.exports=function(t){return lfe||(lfe=new V6(null)),lfe.generate(t)};function V6(e){this.rand=e}Afe.exports.Rand=V6;V6.prototype.generate=function(t){return this._rand(t)};V6.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var r=new Uint8Array(t),i=0;i<r.length;i++)r[i]=this.rand.getByte();return r};if(typeof self=="object")self.crypto&&self.crypto.getRandomValues?V6.prototype._rand=function(t){var r=new Uint8Array(t);return self.crypto.getRandomValues(r),r}:self.msCrypto&&self.msCrypto.getRandomValues?V6.prototype._rand=function(t){var r=new Uint8Array(t);return self.msCrypto.getRandomValues(r),r}:typeof window=="object"&&(V6.prototype._rand=function(){throw new Error("Not implemented yet")});else try{if(hfe=(IA(),Zu(Lv)),typeof hfe.randomBytes!="function")throw new Error("Not supported");V6.prototype._rand=function(t){return hfe.randomBytes(t)}}catch{}var hfe});var yk=ir((R7n,G$e)=>{"use strict";J();K();z();var U4=pb(),mk=K1(),aJ=mk.getNAF,b7t=mk.getJSF,sJ=mk.assert;function J6(e,t){this.type=e,this.p=new U4(t.p,16),this.red=t.prime?U4.red(t.prime):U4.mont(this.p),this.zero=new U4(0).toRed(this.red),this.one=new U4(1).toRed(this.red),this.two=new U4(2).toRed(this.red),this.n=t.n&&new U4(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}G$e.exports=J6;J6.prototype.point=function(){throw new Error("Not implemented")};J6.prototype.validate=function(){throw new Error("Not implemented")};J6.prototype._fixedNafMul=function(t,r){sJ(t.precomputed);var i=t._getDoubles(),n=aJ(r,1,this._bitLength),o=(1<<i.step+1)-(i.step%2===0?2:1);o/=3;var d=[],g,y;for(g=0;g<n.length;g+=i.step){y=0;for(var _=g+i.step-1;_>=g;_--)y=(y<<1)+n[_];d.push(y)}for(var I=this.jpoint(null,null,null),N=this.jpoint(null,null,null),T=o;T>0;T--){for(g=0;g<d.length;g++)y=d[g],y===T?N=N.mixedAdd(i.points[g]):y===-T&&(N=N.mixedAdd(i.points[g].neg()));I=I.add(N)}return I.toP()};J6.prototype._wnafMul=function(t,r){var i=4,n=t._getNAFPoints(i);i=n.wnd;for(var o=n.points,d=aJ(r,i,this._bitLength),g=this.jpoint(null,null,null),y=d.length-1;y>=0;y--){for(var _=0;y>=0&&d[y]===0;y--)_++;if(y>=0&&_++,g=g.dblp(_),y<0)break;var I=d[y];sJ(I!==0),t.type==="affine"?I>0?g=g.mixedAdd(o[I-1>>1]):g=g.mixedAdd(o[-I-1>>1].neg()):I>0?g=g.add(o[I-1>>1]):g=g.add(o[-I-1>>1].neg())}return t.type==="affine"?g.toP():g};J6.prototype._wnafMulAdd=function(t,r,i,n,o){var d=this._wnafT1,g=this._wnafT2,y=this._wnafT3,_=0,I,N,T;for(I=0;I<n;I++){T=r[I];var M=T._getNAFPoints(t);d[I]=M.wnd,g[I]=M.points}for(I=n-1;I>=1;I-=2){var D=I-1,P=I;if(d[D]!==1||d[P]!==1){y[D]=aJ(i[D],d[D],this._bitLength),y[P]=aJ(i[P],d[P],this._bitLength),_=Math.max(y[D].length,_),_=Math.max(y[P].length,_);continue}var G=[r[D],null,null,r[P]];r[D].y.cmp(r[P].y)===0?(G[1]=r[D].add(r[P]),G[2]=r[D].toJ().mixedAdd(r[P].neg())):r[D].y.cmp(r[P].y.redNeg())===0?(G[1]=r[D].toJ().mixedAdd(r[P]),G[2]=r[D].add(r[P].neg())):(G[1]=r[D].toJ().mixedAdd(r[P]),G[2]=r[D].toJ().mixedAdd(r[P].neg()));var q=[-3,-1,-5,-7,0,7,5,1,3],Y=b7t(i[D],i[P]);for(_=Math.max(Y[0].length,_),y[D]=new Array(_),y[P]=new Array(_),N=0;N<_;N++){var ne=Y[0][N]|0,ce=Y[1][N]|0;y[D][N]=q[(ne+1)*3+(ce+1)],y[P][N]=0,g[D]=G}}var le=this.jpoint(null,null,null),pe=this._wnafT4;for(I=_;I>=0;I--){for(var ae=0;I>=0;){var W=!0;for(N=0;N<n;N++)pe[N]=y[N][I]|0,pe[N]!==0&&(W=!1);if(!W)break;ae++,I--}if(I>=0&&ae++,le=le.dblp(ae),I<0)break;for(N=0;N<n;N++){var se=pe[N];se!==0&&(se>0?T=g[N][se-1>>1]:se<0&&(T=g[N][-se-1>>1].neg()),T.type==="affine"?le=le.mixedAdd(T):le=le.add(T))}}for(I=0;I<n;I++)g[I]=null;return o?le:le.toP()};function c_(e,t){this.curve=e,this.type=t,this.precomputed=null}J6.BasePoint=c_;c_.prototype.eq=function(){throw new Error("Not implemented")};c_.prototype.validate=function(){return this.curve.validate(this)};J6.prototype.decodePoint=function(t,r){t=mk.toArray(t,r);var i=this.p.byteLength();if((t[0]===4||t[0]===6||t[0]===7)&&t.length-1===2*i){t[0]===6?sJ(t[t.length-1]%2===0):t[0]===7&&sJ(t[t.length-1]%2===1);var n=this.point(t.slice(1,1+i),t.slice(1+i,1+2*i));return n}else if((t[0]===2||t[0]===3)&&t.length-1===i)return this.pointFromX(t.slice(1,1+i),t[0]===3);throw new Error("Unknown point format")};c_.prototype.encodeCompressed=function(t){return this.encode(t,!0)};c_.prototype._encode=function(t){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return t?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))};c_.prototype.encode=function(t,r){return mk.encode(this._encode(r),t)};c_.prototype.precompute=function(t){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,t),r.beta=this._getBeta(),this.precomputed=r,this};c_.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((t.bitLength()+1)/r.step):!1};c_.prototype._getDoubles=function(t,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,o=0;o<r;o+=t){for(var d=0;d<t;d++)n=n.dbl();i.push(n)}return{step:t,points:i}};c_.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<t)-1,n=i===1?null:this.dbl(),o=1;o<i;o++)r[o]=r[o-1].add(n);return{wnd:t,points:r}};c_.prototype._getBeta=function(){return null};c_.prototype.dblp=function(t){for(var r=this,i=0;i<t;i++)r=r.dbl();return r}});var V$e=ir((w7n,q$e)=>{"use strict";J();K();z();var E7t=K1(),dd=pb(),gfe=Gl(),pN=yk(),v7t=E7t.assert;function u_(e){pN.call(this,"short",e),this.a=new dd(e.a,16).toRed(this.red),this.b=new dd(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}gfe(u_,pN);q$e.exports=u_;u_.prototype._getEndomorphism=function(t){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(t.beta)r=new dd(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(t.lambda)i=new dd(t.lambda,16);else{var o=this._getEndoRoots(this.n);this.g.mul(o[0]).x.cmp(this.g.x.redMul(r))===0?i=o[0]:(i=o[1],v7t(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var d;return t.basis?d=t.basis.map(function(g){return{a:new dd(g.a,16),b:new dd(g.b,16)}}):d=this._getEndoBasis(i),{beta:r,lambda:i,basis:d}}};u_.prototype._getEndoRoots=function(t){var r=t===this.p?this.red:dd.mont(t),i=new dd(2).toRed(r).redInvm(),n=i.redNeg(),o=new dd(3).toRed(r).redNeg().redSqrt().redMul(i),d=n.redAdd(o).fromRed(),g=n.redSub(o).fromRed();return[d,g]};u_.prototype._getEndoBasis=function(t){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=t,n=this.n.clone(),o=new dd(1),d=new dd(0),g=new dd(0),y=new dd(1),_,I,N,T,M,D,P,G=0,q,Y;i.cmpn(0)!==0;){var ne=n.div(i);q=n.sub(ne.mul(i)),Y=g.sub(ne.mul(o));var ce=y.sub(ne.mul(d));if(!N&&q.cmp(r)<0)_=P.neg(),I=o,N=q.neg(),T=Y;else if(N&&++G===2)break;P=q,n=i,i=q,g=o,o=Y,y=d,d=ce}M=q.neg(),D=Y;var le=N.sqr().add(T.sqr()),pe=M.sqr().add(D.sqr());return pe.cmp(le)>=0&&(M=_,D=I),N.negative&&(N=N.neg(),T=T.neg()),M.negative&&(M=M.neg(),D=D.neg()),[{a:N,b:T},{a:M,b:D}]};u_.prototype._endoSplit=function(t){var r=this.endo.basis,i=r[0],n=r[1],o=n.b.mul(t).divRound(this.n),d=i.b.neg().mul(t).divRound(this.n),g=o.mul(i.a),y=d.mul(n.a),_=o.mul(i.b),I=d.mul(n.b),N=t.sub(g).sub(y),T=_.add(I).neg();return{k1:N,k2:T}};u_.prototype.pointFromX=function(t,r){t=new dd(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(t,n)};u_.prototype.validate=function(t){if(t.inf)return!0;var r=t.x,i=t.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(o).cmpn(0)===0};u_.prototype._endoWnafMulAdd=function(t,r,i){for(var n=this._endoWnafT1,o=this._endoWnafT2,d=0;d<t.length;d++){var g=this._endoSplit(r[d]),y=t[d],_=y._getBeta();g.k1.negative&&(g.k1.ineg(),y=y.neg(!0)),g.k2.negative&&(g.k2.ineg(),_=_.neg(!0)),n[d*2]=y,n[d*2+1]=_,o[d*2]=g.k1,o[d*2+1]=g.k2}for(var I=this._wnafMulAdd(1,n,o,d*2,i),N=0;N<d*2;N++)n[N]=null,o[N]=null;return I};function sl(e,t,r,i){pN.BasePoint.call(this,e,"affine"),t===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new dd(t,16),this.y=new dd(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}gfe(sl,pN.BasePoint);u_.prototype.point=function(t,r,i){return new sl(this,t,r,i)};u_.prototype.pointFromJSON=function(t,r){return sl.fromJSON(this,t,r)};sl.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var i=this.curve,n=function(o){return i.point(o.x.redMul(i.endo.beta),o.y)};t.beta=r,r.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return r}};sl.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]};sl.fromJSON=function(t,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=t.point(r[0],r[1],i);if(!r[2])return n;function o(g){return t.point(g[0],g[1],i)}var d=r[2];return n.precomputed={beta:null,doubles:d.doubles&&{step:d.doubles.step,points:[n].concat(d.doubles.points.map(o))},naf:d.naf&&{wnd:d.naf.wnd,points:[n].concat(d.naf.points.map(o))}},n};sl.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"};sl.prototype.isInfinity=function(){return this.inf};sl.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var r=this.y.redSub(t.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(t.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(t.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)};sl.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),o=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),d=o.redSqr().redISub(this.x.redAdd(this.x)),g=o.redMul(this.x.redSub(d)).redISub(this.y);return this.curve.point(d,g)};sl.prototype.getX=function(){return this.x.fromRed()};sl.prototype.getY=function(){return this.y.fromRed()};sl.prototype.mul=function(t){return t=new dd(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)};sl.prototype.mulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)};sl.prototype.jmulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)};sl.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)};sl.prototype.neg=function(t){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(o){return o.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r};sl.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function Jl(e,t,r,i){pN.BasePoint.call(this,e,"jacobian"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new dd(0)):(this.x=new dd(t,16),this.y=new dd(r,16),this.z=new dd(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}gfe(Jl,pN.BasePoint);u_.prototype.jpoint=function(t,r,i){return new Jl(this,t,r,i)};Jl.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),r=t.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(t);return this.curve.point(i,n)};Jl.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Jl.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var r=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),o=t.x.redMul(i),d=this.y.redMul(r.redMul(t.z)),g=t.y.redMul(i.redMul(this.z)),y=n.redSub(o),_=d.redSub(g);if(y.cmpn(0)===0)return _.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var I=y.redSqr(),N=I.redMul(y),T=n.redMul(I),M=_.redSqr().redIAdd(N).redISub(T).redISub(T),D=_.redMul(T.redISub(M)).redISub(d.redMul(N)),P=this.z.redMul(t.z).redMul(y);return this.curve.jpoint(M,D,P)};Jl.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=t.x.redMul(r),o=this.y,d=t.y.redMul(r).redMul(this.z),g=i.redSub(n),y=o.redSub(d);if(g.cmpn(0)===0)return y.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var _=g.redSqr(),I=_.redMul(g),N=i.redMul(_),T=y.redSqr().redIAdd(I).redISub(N).redISub(N),M=y.redMul(N.redISub(T)).redISub(o.redMul(I)),D=this.z.redMul(g);return this.curve.jpoint(T,M,D)};Jl.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<t;r++)i=i.dbl();return i}var n=this.curve.a,o=this.curve.tinv,d=this.x,g=this.y,y=this.z,_=y.redSqr().redSqr(),I=g.redAdd(g);for(r=0;r<t;r++){var N=d.redSqr(),T=I.redSqr(),M=T.redSqr(),D=N.redAdd(N).redIAdd(N).redIAdd(n.redMul(_)),P=d.redMul(T),G=D.redSqr().redISub(P.redAdd(P)),q=P.redISub(G),Y=D.redMul(q);Y=Y.redIAdd(Y).redISub(M);var ne=I.redMul(y);r+1<t&&(_=_.redMul(M)),d=G,y=ne,I=Y}return this.curve.jpoint(d,I.redMul(o),y)};Jl.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()};Jl.prototype._zeroDbl=function(){var t,r,i;if(this.zOne){var n=this.x.redSqr(),o=this.y.redSqr(),d=o.redSqr(),g=this.x.redAdd(o).redSqr().redISub(n).redISub(d);g=g.redIAdd(g);var y=n.redAdd(n).redIAdd(n),_=y.redSqr().redISub(g).redISub(g),I=d.redIAdd(d);I=I.redIAdd(I),I=I.redIAdd(I),t=_,r=y.redMul(g.redISub(_)).redISub(I),i=this.y.redAdd(this.y)}else{var N=this.x.redSqr(),T=this.y.redSqr(),M=T.redSqr(),D=this.x.redAdd(T).redSqr().redISub(N).redISub(M);D=D.redIAdd(D);var P=N.redAdd(N).redIAdd(N),G=P.redSqr(),q=M.redIAdd(M);q=q.redIAdd(q),q=q.redIAdd(q),t=G.redISub(D).redISub(D),r=P.redMul(D.redISub(t)).redISub(q),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(t,r,i)};Jl.prototype._threeDbl=function(){var t,r,i;if(this.zOne){var n=this.x.redSqr(),o=this.y.redSqr(),d=o.redSqr(),g=this.x.redAdd(o).redSqr().redISub(n).redISub(d);g=g.redIAdd(g);var y=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),_=y.redSqr().redISub(g).redISub(g);t=_;var I=d.redIAdd(d);I=I.redIAdd(I),I=I.redIAdd(I),r=y.redMul(g.redISub(_)).redISub(I),i=this.y.redAdd(this.y)}else{var N=this.z.redSqr(),T=this.y.redSqr(),M=this.x.redMul(T),D=this.x.redSub(N).redMul(this.x.redAdd(N));D=D.redAdd(D).redIAdd(D);var P=M.redIAdd(M);P=P.redIAdd(P);var G=P.redAdd(P);t=D.redSqr().redISub(G),i=this.y.redAdd(this.z).redSqr().redISub(T).redISub(N);var q=T.redSqr();q=q.redIAdd(q),q=q.redIAdd(q),q=q.redIAdd(q),r=D.redMul(P.redISub(t)).redISub(q)}return this.curve.jpoint(t,r,i)};Jl.prototype._dbl=function(){var t=this.curve.a,r=this.x,i=this.y,n=this.z,o=n.redSqr().redSqr(),d=r.redSqr(),g=i.redSqr(),y=d.redAdd(d).redIAdd(d).redIAdd(t.redMul(o)),_=r.redAdd(r);_=_.redIAdd(_);var I=_.redMul(g),N=y.redSqr().redISub(I.redAdd(I)),T=I.redISub(N),M=g.redSqr();M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var D=y.redMul(T).redISub(M),P=i.redAdd(i).redMul(n);return this.curve.jpoint(N,D,P)};Jl.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),o=t.redAdd(t).redIAdd(t),d=o.redSqr(),g=this.x.redAdd(r).redSqr().redISub(t).redISub(n);g=g.redIAdd(g),g=g.redAdd(g).redIAdd(g),g=g.redISub(d);var y=g.redSqr(),_=n.redIAdd(n);_=_.redIAdd(_),_=_.redIAdd(_),_=_.redIAdd(_);var I=o.redIAdd(g).redSqr().redISub(d).redISub(y).redISub(_),N=r.redMul(I);N=N.redIAdd(N),N=N.redIAdd(N);var T=this.x.redMul(y).redISub(N);T=T.redIAdd(T),T=T.redIAdd(T);var M=this.y.redMul(I.redMul(_.redISub(I)).redISub(g.redMul(y)));M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var D=this.z.redAdd(g).redSqr().redISub(i).redISub(y);return this.curve.jpoint(T,M,D)};Jl.prototype.mul=function(t,r){return t=new dd(t,r),this.curve._wnafMul(this,t)};Jl.prototype.eq=function(t){if(t.type==="affine")return this.eq(t.toJ());if(this===t)return!0;var r=this.z.redSqr(),i=t.z.redSqr();if(this.x.redMul(i).redISub(t.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),o=i.redMul(t.z);return this.y.redMul(o).redISub(t.y.redMul(n)).cmpn(0)===0};Jl.prototype.eqXToP=function(t){var r=this.z.redSqr(),i=t.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=t.clone(),o=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(o),this.x.cmp(i)===0)return!0}};Jl.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"};Jl.prototype.isInfinity=function(){return this.z.cmpn(0)===0}});var K$e=ir((T7n,z$e)=>{"use strict";J();K();z();var gN=pb(),J$e=Gl(),cJ=yk(),R7t=K1();function _N(e){cJ.call(this,"mont",e),this.a=new gN(e.a,16).toRed(this.red),this.b=new gN(e.b,16).toRed(this.red),this.i4=new gN(4).toRed(this.red).redInvm(),this.two=new gN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}J$e(_N,cJ);z$e.exports=_N;_N.prototype.validate=function(t){var r=t.normalize().x,i=r.redSqr(),n=i.redMul(r).redAdd(i.redMul(this.a)).redAdd(r),o=n.redSqrt();return o.redSqr().cmp(n)===0};function cl(e,t,r){cJ.BasePoint.call(this,e,"projective"),t===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new gN(t,16),this.z=new gN(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}J$e(cl,cJ.BasePoint);_N.prototype.decodePoint=function(t,r){return this.point(R7t.toArray(t,r),1)};_N.prototype.point=function(t,r){return new cl(this,t,r)};_N.prototype.pointFromJSON=function(t){return cl.fromJSON(this,t)};cl.prototype.precompute=function(){};cl.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};cl.fromJSON=function(t,r){return new cl(t,r[0],r[1]||t.one)};cl.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"};cl.prototype.isInfinity=function(){return this.z.cmpn(0)===0};cl.prototype.dbl=function(){var t=this.x.redAdd(this.z),r=t.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),o=r.redSub(n),d=r.redMul(n),g=o.redMul(n.redAdd(this.curve.a24.redMul(o)));return this.curve.point(d,g)};cl.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};cl.prototype.diffAdd=function(t,r){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),o=t.x.redAdd(t.z),d=t.x.redSub(t.z),g=d.redMul(i),y=o.redMul(n),_=r.z.redMul(g.redAdd(y).redSqr()),I=r.x.redMul(g.redISub(y).redSqr());return this.curve.point(_,I)};cl.prototype.mul=function(t){for(var r=t.clone(),i=this,n=this.curve.point(null,null),o=this,d=[];r.cmpn(0)!==0;r.iushrn(1))d.push(r.andln(1));for(var g=d.length-1;g>=0;g--)d[g]===0?(i=i.diffAdd(n,o),n=n.dbl()):(n=i.diffAdd(n,o),i=i.dbl());return n};cl.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};cl.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};cl.prototype.eq=function(t){return this.getX().cmp(t.getX())===0};cl.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};cl.prototype.getX=function(){return this.normalize(),this.x.fromRed()}});var W$e=ir((k7n,Y$e)=>{"use strict";J();K();z();var S7t=K1(),jv=pb(),$$e=Gl(),uJ=yk(),I7t=S7t.assert;function gb(e){this.twisted=(e.a|0)!==1,this.mOneA=this.twisted&&(e.a|0)===-1,this.extended=this.mOneA,uJ.call(this,"edwards",e),this.a=new jv(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new jv(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new jv(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),I7t(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(e.c|0)===1}$$e(gb,uJ);Y$e.exports=gb;gb.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)};gb.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)};gb.prototype.jpoint=function(t,r,i,n){return this.point(t,r,i,n)};gb.prototype.pointFromX=function(t,r){t=new jv(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr(),n=this.c2.redSub(this.a.redMul(i)),o=this.one.redSub(this.c2.redMul(this.d).redMul(i)),d=n.redMul(o.redInvm()),g=d.redSqrt();if(g.redSqr().redSub(d).cmp(this.zero)!==0)throw new Error("invalid point");var y=g.fromRed().isOdd();return(r&&!y||!r&&y)&&(g=g.redNeg()),this.point(t,g)};gb.prototype.pointFromY=function(t,r){t=new jv(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr(),n=i.redSub(this.c2),o=i.redMul(this.d).redMul(this.c2).redSub(this.a),d=n.redMul(o.redInvm());if(d.cmp(this.zero)===0){if(r)throw new Error("invalid point");return this.point(this.zero,t)}var g=d.redSqrt();if(g.redSqr().redSub(d).cmp(this.zero)!==0)throw new Error("invalid point");return g.fromRed().isOdd()!==r&&(g=g.redNeg()),this.point(g,t)};gb.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var r=t.x.redSqr(),i=t.y.redSqr(),n=r.redMul(this.a).redAdd(i),o=this.c2.redMul(this.one.redAdd(this.d.redMul(r).redMul(i)));return n.cmp(o)===0};function Vu(e,t,r,i,n){uJ.BasePoint.call(this,e,"projective"),t===null&&r===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new jv(t,16),this.y=new jv(r,16),this.z=i?new jv(i,16):this.curve.one,this.t=n&&new jv(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}$$e(Vu,uJ.BasePoint);gb.prototype.pointFromJSON=function(t){return Vu.fromJSON(this,t)};gb.prototype.point=function(t,r,i,n){return new Vu(this,t,r,i,n)};Vu.fromJSON=function(t,r){return new Vu(t,r[0],r[1],r[2])};Vu.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"};Vu.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Vu.prototype._extDbl=function(){var t=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(t),o=this.x.redAdd(this.y).redSqr().redISub(t).redISub(r),d=n.redAdd(r),g=d.redSub(i),y=n.redSub(r),_=o.redMul(g),I=d.redMul(y),N=o.redMul(y),T=g.redMul(d);return this.curve.point(_,I,T,N)};Vu.prototype._projDbl=function(){var t=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),i=this.y.redSqr(),n,o,d,g,y,_;if(this.curve.twisted){g=this.curve._mulA(r);var I=g.redAdd(i);this.zOne?(n=t.redSub(r).redSub(i).redMul(I.redSub(this.curve.two)),o=I.redMul(g.redSub(i)),d=I.redSqr().redSub(I).redSub(I)):(y=this.z.redSqr(),_=I.redSub(y).redISub(y),n=t.redSub(r).redISub(i).redMul(_),o=I.redMul(g.redSub(i)),d=I.redMul(_))}else g=r.redAdd(i),y=this.curve._mulC(this.z).redSqr(),_=g.redSub(y).redSub(y),n=this.curve._mulC(t.redISub(g)).redMul(_),o=this.curve._mulC(g).redMul(r.redISub(i)),d=g.redMul(_);return this.curve.point(n,o,d)};Vu.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};Vu.prototype._extAdd=function(t){var r=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),i=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),n=this.t.redMul(this.curve.dd).redMul(t.t),o=this.z.redMul(t.z.redAdd(t.z)),d=i.redSub(r),g=o.redSub(n),y=o.redAdd(n),_=i.redAdd(r),I=d.redMul(g),N=y.redMul(_),T=d.redMul(_),M=g.redMul(y);return this.curve.point(I,N,M,T)};Vu.prototype._projAdd=function(t){var r=this.z.redMul(t.z),i=r.redSqr(),n=this.x.redMul(t.x),o=this.y.redMul(t.y),d=this.curve.d.redMul(n).redMul(o),g=i.redSub(d),y=i.redAdd(d),_=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(n).redISub(o),I=r.redMul(g).redMul(_),N,T;return this.curve.twisted?(N=r.redMul(y).redMul(o.redSub(this.curve._mulA(n))),T=g.redMul(y)):(N=r.redMul(y).redMul(o.redSub(n)),T=this.curve._mulC(g).redMul(y)),this.curve.point(I,N,T)};Vu.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)};Vu.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)};Vu.prototype.mulAdd=function(t,r,i){return this.curve._wnafMulAdd(1,[this,r],[t,i],2,!1)};Vu.prototype.jmulAdd=function(t,r,i){return this.curve._wnafMulAdd(1,[this,r],[t,i],2,!0)};Vu.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this};Vu.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Vu.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Vu.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Vu.prototype.eq=function(t){return this===t||this.getX().cmp(t.getX())===0&&this.getY().cmp(t.getY())===0};Vu.prototype.eqXToP=function(t){var r=t.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(r)===0)return!0;for(var i=t.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),this.x.cmp(r)===0)return!0}};Vu.prototype.toP=Vu.prototype.normalize;Vu.prototype.mixedAdd=Vu.prototype.add});var _fe=ir(X$e=>{"use strict";J();K();z();var dJ=X$e;dJ.base=yk();dJ.short=V$e();dJ.mont=K$e();dJ.edwards=W$e()});var j$e=ir((q7n,Z$e)=>{"use strict";J();K();z();Z$e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}});var fJ=ir(rYe=>{"use strict";J();K();z();var yfe=rYe,z6=oN(),mfe=_fe(),C7t=K1(),eYe=C7t.assert;function tYe(e){e.type==="short"?this.curve=new mfe.short(e):e.type==="edwards"?this.curve=new mfe.edwards(e):this.curve=new mfe.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,eYe(this.g.validate(),"Invalid curve"),eYe(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}yfe.PresetCurve=tYe;function K6(e,t){Object.defineProperty(yfe,e,{configurable:!0,enumerable:!0,get:function(){var r=new tYe(t);return Object.defineProperty(yfe,e,{configurable:!0,enumerable:!0,value:r}),r}})}K6("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:z6.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]});K6("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:z6.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]});K6("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:z6.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]});K6("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:z6.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]});K6("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:z6.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]});K6("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:z6.sha256,gRed:!1,g:["9"]});K6("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:z6.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var bfe;try{bfe=j$e()}catch{bfe=void 0}K6("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:z6.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",bfe]})});var oYe=ir((X7n,iYe)=>{"use strict";J();K();z();var w7t=oN(),F4=ffe(),nYe=Fv();function $6(e){if(!(this instanceof $6))return new $6(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=F4.toArray(e.entropy,e.entropyEnc||"hex"),r=F4.toArray(e.nonce,e.nonceEnc||"hex"),i=F4.toArray(e.pers,e.persEnc||"hex");nYe(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}iYe.exports=$6;$6.prototype._init=function(t,r,i){var n=t.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o<this.V.length;o++)this.K[o]=0,this.V[o]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656};$6.prototype._hmac=function(){return new w7t.hmac(this.hash,this.K)};$6.prototype._update=function(t){var r=this._hmac().update(this.V).update([0]);t&&(r=r.update(t)),this.K=r.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())};$6.prototype.reseed=function(t,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),t=F4.toArray(t,r),i=F4.toArray(i,n),nYe(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1};$6.prototype.generate=function(t,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=F4.toArray(i,n||"hex"),this._update(i));for(var o=[];o.length<t;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var d=o.slice(0,t);return this._update(i),this._reseed++,F4.encode(d,r)}});var sYe=ir((t9n,aYe)=>{"use strict";J();K();z();var O7t=pb(),N7t=K1(),Efe=N7t.assert;function Mh(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}aYe.exports=Mh;Mh.fromPublic=function(t,r,i){return r instanceof Mh?r:new Mh(t,{pub:r,pubEnc:i})};Mh.fromPrivate=function(t,r,i){return r instanceof Mh?r:new Mh(t,{priv:r,privEnc:i})};Mh.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}};Mh.prototype.getPublic=function(t,r){return typeof t=="string"&&(r=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,t):this.pub};Mh.prototype.getPrivate=function(t){return t==="hex"?this.priv.toString(16,2):this.priv};Mh.prototype._importPrivate=function(t,r){this.priv=new O7t(t,r||16),this.priv=this.priv.umod(this.ec.curve.n)};Mh.prototype._importPublic=function(t,r){if(t.x||t.y){this.ec.curve.type==="mont"?Efe(t.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Efe(t.x&&t.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(t.x,t.y);return}this.pub=this.ec.curve.decodePoint(t,r)};Mh.prototype.derive=function(t){return t.validate()||Efe(t.validate(),"public point not validated"),t.mul(this.priv).getX()};Mh.prototype.sign=function(t,r,i){return this.ec.sign(t,this,r,i)};Mh.prototype.verify=function(t,r,i){return this.ec.verify(t,r,this,void 0,i)};Mh.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}});var dYe=ir((o9n,uYe)=>{"use strict";J();K();z();var lJ=pb(),Sfe=K1(),x7t=Sfe.assert;function hJ(e,t){if(e instanceof hJ)return e;this._importDER(e,t)||(x7t(e.r&&e.s,"Signature without r or s"),this.r=new lJ(e.r,16),this.s=new lJ(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}uYe.exports=hJ;function T7t(){this.place=0}function vfe(e,t){var r=e[t.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4||e[t.place]===0)return!1;for(var n=0,o=0,d=t.place;o<i;o++,d++)n<<=8,n|=e[d],n>>>=0;return n<=127?!1:(t.place=d,n)}function cYe(e){for(var t=0,r=e.length-1;!e[t]&&!(e[t+1]&128)&&t<r;)t++;return t===0?e:e.slice(t)}hJ.prototype._importDER=function(t,r){t=Sfe.toArray(t,r);var i=new T7t;if(t[i.place++]!==48)return!1;var n=vfe(t,i);if(n===!1||n+i.place!==t.length||t[i.place++]!==2)return!1;var o=vfe(t,i);if(o===!1||(t[i.place]&128)!==0)return!1;var d=t.slice(i.place,o+i.place);if(i.place+=o,t[i.place++]!==2)return!1;var g=vfe(t,i);if(g===!1||t.length!==g+i.place||(t[i.place]&128)!==0)return!1;var y=t.slice(i.place,g+i.place);if(d[0]===0)if(d[1]&128)d=d.slice(1);else return!1;if(y[0]===0)if(y[1]&128)y=y.slice(1);else return!1;return this.r=new lJ(d),this.s=new lJ(y),this.recoveryParam=null,!0};function Rfe(e,t){if(t<128){e.push(t);return}var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(r|128);--r;)e.push(t>>>(r<<3)&255);e.push(t)}hJ.prototype.toDER=function(t){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=cYe(r),i=cYe(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];Rfe(n,r.length),n=n.concat(r),n.push(2),Rfe(n,i.length);var o=n.concat(i),d=[48];return Rfe(d,o.length),d=d.concat(o),Sfe.encode(d,t)}});var hYe=ir((u9n,lYe)=>{"use strict";J();K();z();var km=pb(),fYe=oYe(),B7t=K1(),Ife=fJ(),M7t=pfe(),Q4=B7t.assert,Cfe=sYe(),AJ=dYe();function d_(e){if(!(this instanceof d_))return new d_(e);typeof e=="string"&&(Q4(Object.prototype.hasOwnProperty.call(Ife,e),"Unknown curve "+e),e=Ife[e]),e instanceof Ife.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}lYe.exports=d_;d_.prototype.keyPair=function(t){return new Cfe(this,t)};d_.prototype.keyFromPrivate=function(t,r){return Cfe.fromPrivate(this,t,r)};d_.prototype.keyFromPublic=function(t,r){return Cfe.fromPublic(this,t,r)};d_.prototype.genKeyPair=function(t){t||(t={});for(var r=new fYe({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||M7t(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new km(2));;){var o=new km(r.generate(i));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}};d_.prototype._truncateToN=function(t,r,i){var n;if(km.isBN(t)||typeof t=="number")t=new km(t,16),n=t.byteLength();else if(typeof t=="object")n=t.length,t=new km(t,16);else{var o=t.toString();n=o.length+1>>>1,t=new km(o,16)}typeof i!="number"&&(i=n*8);var d=i-this.n.bitLength();return d>0&&(t=t.ushrn(d)),!r&&t.cmp(this.n)>=0?t.sub(this.n):t};d_.prototype.sign=function(t,r,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof t!="string"&&typeof t!="number"&&!km.isBN(t)){Q4(typeof t=="object"&&t&&typeof t.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),Q4(t.length>>>0===t.length);for(var o=0;o<t.length;o++)Q4((t[o]&255)===t[o])}r=this.keyFromPrivate(r,i),t=this._truncateToN(t,!1,n.msgBitLength),Q4(!t.isNeg(),"Can not sign a negative message");var d=this.n.byteLength(),g=r.getPrivate().toArray("be",d),y=t.toArray("be",d);Q4(new km(y).eq(t),"Can not sign message");for(var _=new fYe({hash:this.hash,entropy:g,nonce:y,pers:n.pers,persEnc:n.persEnc||"utf8"}),I=this.n.sub(new km(1)),N=0;;N++){var T=n.k?n.k(N):new km(_.generate(this.n.byteLength()));if(T=this._truncateToN(T,!0),!(T.cmpn(1)<=0||T.cmp(I)>=0)){var M=this.g.mul(T);if(!M.isInfinity()){var D=M.getX(),P=D.umod(this.n);if(P.cmpn(0)!==0){var G=T.invm(this.n).mul(P.mul(r.getPrivate()).iadd(t));if(G=G.umod(this.n),G.cmpn(0)!==0){var q=(M.getY().isOdd()?1:0)|(D.cmp(P)!==0?2:0);return n.canonical&&G.cmp(this.nh)>0&&(G=this.n.sub(G),q^=1),new AJ({r:P,s:G,recoveryParam:q})}}}}}};d_.prototype.verify=function(t,r,i,n,o){o||(o={}),t=this._truncateToN(t,!1,o.msgBitLength),i=this.keyFromPublic(i,n),r=new AJ(r,"hex");var d=r.r,g=r.s;if(d.cmpn(1)<0||d.cmp(this.n)>=0||g.cmpn(1)<0||g.cmp(this.n)>=0)return!1;var y=g.invm(this.n),_=y.mul(t).umod(this.n),I=y.mul(d).umod(this.n),N;return this.curve._maxwellTrick?(N=this.g.jmulAdd(_,i.getPublic(),I),N.isInfinity()?!1:N.eqXToP(d)):(N=this.g.mulAdd(_,i.getPublic(),I),N.isInfinity()?!1:N.getX().umod(this.n).cmp(d)===0)};d_.prototype.recoverPubKey=function(e,t,r,i){Q4((3&r)===r,"The recovery param is more than two bits"),t=new AJ(t,i);var n=this.n,o=new km(e),d=t.r,g=t.s,y=r&1,_=r>>1;if(d.cmp(this.curve.p.umod(this.curve.n))>=0&&_)throw new Error("Unable to find sencond key candinate");_?d=this.curve.pointFromX(d.add(this.curve.n),y):d=this.curve.pointFromX(d,y);var I=t.r.invm(n),N=n.sub(o).mul(I).umod(n),T=g.mul(I).umod(n);return this.g.mulAdd(N,d,T)};d_.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new AJ(t,i),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")}});var _Ye=ir((h9n,gYe)=>{"use strict";J();K();z();var bk=K1(),pYe=bk.assert,AYe=bk.parseBytes,mN=bk.cachedProperty;function ul(e,t){this.eddsa=e,this._secret=AYe(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=AYe(t.pub)}ul.fromPublic=function(t,r){return r instanceof ul?r:new ul(t,{pub:r})};ul.fromSecret=function(t,r){return r instanceof ul?r:new ul(t,{secret:r})};ul.prototype.secret=function(){return this._secret};mN(ul,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())});mN(ul,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())});mN(ul,"privBytes",function(){var t=this.eddsa,r=this.hash(),i=t.encodingLength-1,n=r.slice(0,t.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n});mN(ul,"priv",function(){return this.eddsa.decodeInt(this.privBytes())});mN(ul,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()});mN(ul,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)});ul.prototype.sign=function(t){return pYe(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)};ul.prototype.verify=function(t,r){return this.eddsa.verify(t,r,this)};ul.prototype.getSecret=function(t){return pYe(this._secret,"KeyPair is public only"),bk.encode(this.secret(),t)};ul.prototype.getPublic=function(t){return bk.encode(this.pubBytes(),t)};gYe.exports=ul});var bYe=ir((_9n,yYe)=>{"use strict";J();K();z();var D7t=pb(),pJ=K1(),mYe=pJ.assert,gJ=pJ.cachedProperty,k7t=pJ.parseBytes;function H4(e,t){this.eddsa=e,typeof t!="object"&&(t=k7t(t)),Array.isArray(t)&&(mYe(t.length===e.encodingLength*2,"Signature has invalid size"),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),mYe(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof D7t&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}gJ(H4,"S",function(){return this.eddsa.decodeInt(this.Sencoded())});gJ(H4,"R",function(){return this.eddsa.decodePoint(this.Rencoded())});gJ(H4,"Rencoded",function(){return this.eddsa.encodePoint(this.R())});gJ(H4,"Sencoded",function(){return this.eddsa.encodeInt(this.S())});H4.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};H4.prototype.toHex=function(){return pJ.encode(this.toBytes(),"hex").toUpperCase()};yYe.exports=H4});var IYe=ir((E9n,SYe)=>{"use strict";J();K();z();var P7t=oN(),L7t=fJ(),yN=K1(),U7t=yN.assert,vYe=yN.parseBytes,RYe=_Ye(),EYe=bYe();function xp(e){if(U7t(e==="ed25519","only tested with ed25519 so far"),!(this instanceof xp))return new xp(e);e=L7t[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=P7t.sha512}SYe.exports=xp;xp.prototype.sign=function(t,r){t=vYe(t);var i=this.keyFromSecret(r),n=this.hashInt(i.messagePrefix(),t),o=this.g.mul(n),d=this.encodePoint(o),g=this.hashInt(d,i.pubBytes(),t).mul(i.priv()),y=n.add(g).umod(this.curve.n);return this.makeSignature({R:o,S:y,Rencoded:d})};xp.prototype.verify=function(t,r,i){if(t=vYe(t),r=this.makeSignature(r),r.S().gte(r.eddsa.curve.n)||r.S().isNeg())return!1;var n=this.keyFromPublic(i),o=this.hashInt(r.Rencoded(),n.pubBytes(),t),d=this.g.mul(r.S()),g=r.R().add(n.pub().mul(o));return g.eq(d)};xp.prototype.hashInt=function(){for(var t=this.hash(),r=0;r<arguments.length;r++)t.update(arguments[r]);return yN.intFromLE(t.digest()).umod(this.curve.n)};xp.prototype.keyFromPublic=function(t){return RYe.fromPublic(this,t)};xp.prototype.keyFromSecret=function(t){return RYe.fromSecret(this,t)};xp.prototype.makeSignature=function(t){return t instanceof EYe?t:new EYe(this,t)};xp.prototype.encodePoint=function(t){var r=t.getY().toArray("le",this.encodingLength);return r[this.encodingLength-1]|=t.getX().isOdd()?128:0,r};xp.prototype.decodePoint=function(t){t=yN.parseBytes(t);var r=t.length-1,i=t.slice(0,r).concat(t[r]&-129),n=(t[r]&128)!==0,o=yN.intFromLE(i);return this.curve.pointFromY(o,n)};xp.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)};xp.prototype.decodeInt=function(t){return yN.intFromLE(t)};xp.prototype.isPoint=function(t){return t instanceof this.pointClass}});var _J=ir(CYe=>{"use strict";J();K();z();var G4=CYe;G4.version=P$e().version;G4.utils=K1();G4.rand=pfe();G4.curve=_fe();G4.curves=fJ();G4.ec=hYe();G4.eddsa=IYe()});var OYe=ir((N9n,wYe)=>{"use strict";J();K();z();var F7t=_J().ec,_b=new F7t("secp256k1"),Cs=_b.curve,Du=Cs.n.constructor;function Q7t(e,t){let r=new Du(t);if(r.cmp(Cs.p)>=0)return null;r=r.toRed(Cs.red);let i=r.redSqr().redIMul(r).redIAdd(Cs.b).redSqrt();e===3!==i.isOdd()&&(i=i.redNeg());let n=r.redSqr().redIMul(r);return i.redSqr().redISub(n.redIAdd(Cs.b)).isZero()?_b.keyPair({pub:{x:r,y:i}}):null}function H7t(e,t,r){let i=new Du(t),n=new Du(r);if(i.cmp(Cs.p)>=0||n.cmp(Cs.p)>=0||(i=i.toRed(Cs.red),n=n.toRed(Cs.red),(e===6||e===7)&&n.isOdd()!==(e===7)))return null;let o=i.redSqr().redIMul(i);return n.redSqr().redISub(o.redIAdd(Cs.b)).isZero()?_b.keyPair({pub:{x:i,y:n}}):null}function Y6(e){let t=e[0];switch(t){case 2:case 3:return e.length!==33?null:Q7t(t,e.subarray(1,33));case 4:case 6:case 7:return e.length!==65?null:H7t(t,e.subarray(1,33),e.subarray(33,65));default:return null}}function q4(e,t){let r=t.encode(null,e.length===33);for(let i=0;i<e.length;++i)e[i]=r[i]}wYe.exports={contextRandomize(){return 0},privateKeyVerify(e){let t=new Du(e);return t.cmp(Cs.n)<0&&!t.isZero()?0:1},privateKeyNegate(e){let t=new Du(e),r=Cs.n.sub(t).umod(Cs.n).toArrayLike(Uint8Array,"be",32);return e.set(r),0},privateKeyTweakAdd(e,t){let r=new Du(t);if(r.cmp(Cs.n)>=0||(r.iadd(new Du(e)),r.cmp(Cs.n)>=0&&r.isub(Cs.n),r.isZero()))return 1;let i=r.toArrayLike(Uint8Array,"be",32);return e.set(i),0},privateKeyTweakMul(e,t){let r=new Du(t);if(r.cmp(Cs.n)>=0||r.isZero())return 1;r.imul(new Du(e)),r.cmp(Cs.n)>=0&&(r=r.umod(Cs.n));let i=r.toArrayLike(Uint8Array,"be",32);return e.set(i),0},publicKeyVerify(e){return Y6(e)===null?1:0},publicKeyCreate(e,t){let r=new Du(t);if(r.cmp(Cs.n)>=0||r.isZero())return 1;let i=_b.keyFromPrivate(t).getPublic();return q4(e,i),0},publicKeyConvert(e,t){let r=Y6(t);if(r===null)return 1;let i=r.getPublic();return q4(e,i),0},publicKeyNegate(e,t){let r=Y6(t);if(r===null)return 1;let i=r.getPublic();return i.y=i.y.redNeg(),q4(e,i),0},publicKeyCombine(e,t){let r=new Array(t.length);for(let n=0;n<t.length;++n)if(r[n]=Y6(t[n]),r[n]===null)return 1;let i=r[0].getPublic();for(let n=1;n<r.length;++n)i=i.add(r[n].pub);return i.isInfinity()?2:(q4(e,i),0)},publicKeyTweakAdd(e,t,r){let i=Y6(t);if(i===null)return 1;if(r=new Du(r),r.cmp(Cs.n)>=0)return 2;let n=i.getPublic().add(Cs.g.mul(r));return n.isInfinity()?2:(q4(e,n),0)},publicKeyTweakMul(e,t,r){let i=Y6(t);if(i===null)return 1;if(r=new Du(r),r.cmp(Cs.n)>=0||r.isZero())return 2;let n=i.getPublic().mul(r);return q4(e,n),0},signatureNormalize(e){let t=new Du(e.subarray(0,32)),r=new Du(e.subarray(32,64));return t.cmp(Cs.n)>=0||r.cmp(Cs.n)>=0?1:(r.cmp(_b.nh)===1&&e.set(Cs.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport(e,t){let r=t.subarray(0,32),i=t.subarray(32,64);if(new Du(r).cmp(Cs.n)>=0||new Du(i).cmp(Cs.n)>=0)return 1;let{output:n}=e,o=n.subarray(4,37);o[0]=0,o.set(r,1);let d=33,g=0;for(;d>1&&o[g]===0&&!(o[g+1]&128);--d,++g);if(o=o.subarray(g),o[0]&128||d>1&&o[0]===0&&!(o[1]&128))return 1;let y=n.subarray(39,72);y[0]=0,y.set(i,1);let _=33,I=0;for(;_>1&&y[I]===0&&!(y[I+1]&128);--_,++I);return y=y.subarray(I),y[0]&128||_>1&&y[0]===0&&!(y[1]&128)?1:(e.outputlen=6+d+_,n[0]=48,n[1]=e.outputlen-2,n[2]=2,n[3]=o.length,n.set(o,4),n[4+d]=2,n[5+d]=y.length,n.set(y,6+d),0)},signatureImport(e,t){if(t.length<8||t.length>72||t[0]!==48||t[1]!==t.length-2||t[2]!==2)return 1;let r=t[3];if(r===0||5+r>=t.length||t[4+r]!==2)return 1;let i=t[5+r];if(i===0||6+r+i!==t.length||t[4]&128||r>1&&t[4]===0&&!(t[5]&128)||t[r+6]&128||i>1&&t[r+6]===0&&!(t[r+7]&128))return 1;let n=t.subarray(4,4+r);if(n.length===33&&n[0]===0&&(n=n.subarray(1)),n.length>32)return 1;let o=t.subarray(6+r);if(o.length===33&&o[0]===0&&(o=o.slice(1)),o.length>32)throw new Error("S length is too long");let d=new Du(n);d.cmp(Cs.n)>=0&&(d=new Du(0));let g=new Du(t.subarray(6+r));return g.cmp(Cs.n)>=0&&(g=new Du(0)),e.set(d.toArrayLike(Uint8Array,"be",32),0),e.set(g.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign(e,t,r,i,n){if(n){let g=n;n=y=>{let _=g(t,r,null,i,y);if(!(_ instanceof Uint8Array&&_.length===32))throw new Error("This is the way");return new Du(_)}}let o=new Du(r);if(o.cmp(Cs.n)>=0||o.isZero())return 1;let d;try{d=_b.sign(t,r,{canonical:!0,k:n,pers:i})}catch{return 1}return e.signature.set(d.r.toArrayLike(Uint8Array,"be",32),0),e.signature.set(d.s.toArrayLike(Uint8Array,"be",32),32),e.recid=d.recoveryParam,0},ecdsaVerify(e,t,r){let i={r:e.subarray(0,32),s:e.subarray(32,64)},n=new Du(i.r),o=new Du(i.s);if(n.cmp(Cs.n)>=0||o.cmp(Cs.n)>=0)return 1;if(o.cmp(_b.nh)===1||n.isZero()||o.isZero())return 3;let d=Y6(r);if(d===null)return 2;let g=d.getPublic();return _b.verify(t,i,g)?0:3},ecdsaRecover(e,t,r,i){let n={r:t.slice(0,32),s:t.slice(32,64)},o=new Du(n.r),d=new Du(n.s);if(o.cmp(Cs.n)>=0||d.cmp(Cs.n)>=0)return 1;if(o.isZero()||d.isZero())return 2;let g;try{g=_b.recoverPubKey(i,n,r)}catch{return 2}return q4(e,g),0},ecdh(e,t,r,i,n,o,d){let g=Y6(t);if(g===null)return 1;let y=new Du(r);if(y.cmp(Cs.n)>=0||y.isZero())return 2;let _=g.getPublic().mul(y);if(n===void 0){let I=_.encode(null,!0),N=_b.hash().update(I).digest();for(let T=0;T<32;++T)e[T]=N[T]}else{o||(o=new Uint8Array(32));let I=_.getX().toArray("be",32);for(let D=0;D<32;++D)o[D]=I[D];d||(d=new Uint8Array(32));let N=_.getY().toArray("be",32);for(let D=0;D<32;++D)d[D]=N[D];let T=n(o,d,i);if(!(T instanceof Uint8Array&&T.length===e.length))return 2;e.set(T)}return 0}}});var wfe=ir((M9n,NYe)=>{"use strict";J();K();z();NYe.exports=k$e()(OYe())});var Ofe={};gh(Ofe,{EventEmitter:()=>G7t,default:()=>xc,defaultMaxListeners:()=>q7t,init:()=>V7t,listenerCount:()=>J7t,on:()=>z7t,once:()=>K7t});var G7t,q7t,V7t,J7t,z7t,K7t,bN=tn(()=>{"use strict";J();K();z();YS();YS();xc.once=function(e,t){return new Promise((r,i)=>{function n(...d){o!==void 0&&e.removeListener("error",o),r(d)}let o;t!=="error"&&(o=d=>{e.removeListener(name,n),i(d)},e.once("error",o)),e.once(t,n)})};xc.on=function(e,t){let r=[],i=[],n=null,o=!1,d={async next(){let _=r.shift();if(_)return createIterResult(_,!1);if(n){let I=Promise.reject(n);return n=null,I}return o?createIterResult(void 0,!0):new Promise((I,N)=>i.push({resolve:I,reject:N}))},async return(){e.removeListener(t,g),e.removeListener("error",y),o=!0;for(let _ of i)_.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(_){n=_,e.removeListener(t,g),e.removeListener("error",y)},[Symbol.asyncIterator](){return this}};return e.on(t,g),e.on("error",y),d;function g(..._){let I=i.shift();I?I.resolve(createIterResult(_,!1)):r.push(_)}function y(_){o=!0;let I=i.shift();I?I.reject(_):n=_,d.return()}};({EventEmitter:G7t,defaultMaxListeners:q7t,init:V7t,listenerCount:J7t,on:z7t,once:K7t}=xc)});var Nfe=ir((G9n,xYe)=>{"use strict";J();K();z();xYe.exports=(bN(),Zu(Ofe)).EventEmitter});var xfe={};gh(xfe,{TextDecoder:()=>y9t,TextEncoder:()=>m9t,_extend:()=>$7t,callbackify:()=>Y7t,debuglog:()=>W7t,default:()=>yn,deprecate:()=>X7t,format:()=>Z7t,inherits:()=>j7t,inspect:()=>e9t,isArray:()=>t9t,isBoolean:()=>r9t,isBuffer:()=>n9t,isDate:()=>i9t,isError:()=>o9t,isFunction:()=>a9t,isNull:()=>s9t,isNullOrUndefined:()=>c9t,isNumber:()=>u9t,isObject:()=>d9t,isPrimitive:()=>f9t,isRegExp:()=>l9t,isString:()=>h9t,isSymbol:()=>A9t,isUndefined:()=>p9t,log:()=>g9t,promisify:()=>mJ,types:()=>_9t});var $7t,Y7t,W7t,X7t,Z7t,j7t,e9t,t9t,r9t,n9t,i9t,o9t,a9t,s9t,c9t,u9t,d9t,f9t,l9t,h9t,A9t,p9t,g9t,mJ,_9t,m9t,y9t,Ek=tn(()=>{"use strict";J();K();z();sO();vv();vv();Ev();$7t=yn._extend,Y7t=yn.callbackify,W7t=yn.debuglog,X7t=yn.deprecate,Z7t=yn.format,j7t=yn.inherits,e9t=yn.inspect,t9t=yn.isArray,r9t=yn.isBoolean,n9t=yn.isBuffer,i9t=yn.isDate,o9t=yn.isError,a9t=yn.isFunction,s9t=yn.isNull,c9t=yn.isNullOrUndefined,u9t=yn.isNumber,d9t=yn.isObject,f9t=yn.isPrimitive,l9t=yn.isRegExp,h9t=yn.isString,A9t=yn.isSymbol,p9t=yn.isUndefined,g9t=yn.log,mJ=yn.promisify,_9t=yn.types,m9t=yn.TextEncoder=globalThis.TextEncoder,y9t=yn.TextDecoder=globalThis.TextDecoder});var PYe=ir((j9n,kYe)=>{"use strict";J();K();z();function TYe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,i)}return r}function BYe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?TYe(Object(r),!0).forEach(function(i){b9t(e,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):TYe(Object(r)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i))})}return e}function b9t(e,t,r){return t=DYe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E9t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function MYe(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,DYe(i.key),i)}}function v9t(e,t,r){return t&&MYe(e.prototype,t),r&&MYe(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function DYe(e){var t=R9t(e,"string");return typeof t=="symbol"?t:String(t)}function R9t(e,t){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var S9t=(mh(),Zu(ky)),yJ=S9t.Buffer,I9t=(Ek(),Zu(xfe)),Tfe=I9t.inspect,C9t=Tfe&&Tfe.custom||"inspect";function w9t(e,t,r){yJ.prototype.copy.call(e,t,r)}kYe.exports=(function(){function e(){E9t(this,e),this.head=null,this.tail=null,this.length=0}return v9t(e,[{key:"push",value:function(r){var i={data:r,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return yJ.alloc(0);for(var i=yJ.allocUnsafe(r>>>0),n=this.head,o=0;n;)w9t(n.data,i,o),o+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return r<this.head.data.length?(n=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?n=this.shift():n=i?this._getString(r):this._getBuffer(r),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var i=this.head,n=1,o=i.data;for(r-=o.length;i=i.next;){var d=i.data,g=r>d.length?d.length:r;if(g===d.length?o+=d:o+=d.slice(0,r),r-=g,r===0){g===d.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=d.slice(g));break}++n}return this.length-=n,o}},{key:"_getBuffer",value:function(r){var i=yJ.allocUnsafe(r),n=this.head,o=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var d=n.data,g=r>d.length?d.length:r;if(d.copy(i,i.length-r,0,g),r-=g,r===0){g===d.length?(++o,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=d.slice(g));break}++o}return this.length-=o,i}},{key:C9t,value:function(r,i){return Tfe(this,BYe(BYe({},i),{},{depth:0,customInspect:!1}))}}]),e})()});var Mfe=ir((nMn,UYe)=>{"use strict";J();K();z();function O9t(e,t){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,me.nextTick(Bfe,this,e)):me.nextTick(Bfe,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(o){!t&&o?r._writableState?r._writableState.errorEmitted?me.nextTick(bJ,r):(r._writableState.errorEmitted=!0,me.nextTick(LYe,r,o)):me.nextTick(LYe,r,o):t?(me.nextTick(bJ,r),t(o)):me.nextTick(bJ,r)}),this)}function LYe(e,t){Bfe(e,t),bJ(e)}function bJ(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function N9t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function Bfe(e,t){e.emit("error",t)}function x9t(e,t){var r=e._readableState,i=e._writableState;r&&r.autoDestroy||i&&i.autoDestroy?e.destroy(t):e.emit("error",t)}UYe.exports={destroy:O9t,undestroy:N9t,errorOrDestroy:x9t}});var V4=ir((sMn,HYe)=>{"use strict";J();K();z();function T9t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var QYe={};function f_(e,t,r){r||(r=Error);function i(o,d,g){return typeof t=="string"?t:t(o,d,g)}var n=(function(o){T9t(d,o);function d(g,y,_){return o.call(this,i(g,y,_))||this}return d})(r);n.prototype.name=r.name,n.prototype.code=e,QYe[e]=n}function FYe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(i){return String(i)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function B9t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function M9t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function D9t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}f_("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);f_("ERR_INVALID_ARG_TYPE",function(e,t,r){var i;typeof t=="string"&&B9t(t,"not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";var n;if(M9t(e," argument"))n="The ".concat(e," ").concat(i," ").concat(FYe(t,"type"));else{var o=D9t(e,".")?"property":"argument";n='The "'.concat(e,'" ').concat(o," ").concat(i," ").concat(FYe(t,"type"))}return n+=". Received type ".concat(typeof r),n},TypeError);f_("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");f_("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});f_("ERR_STREAM_PREMATURE_CLOSE","Premature close");f_("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});f_("ERR_MULTIPLE_CALLBACK","Callback called multiple times");f_("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");f_("ERR_STREAM_WRITE_AFTER_END","write after end");f_("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);f_("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);f_("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");HYe.exports.codes=QYe});var Dfe=ir((fMn,GYe)=>{"use strict";J();K();z();var k9t=V4().codes.ERR_INVALID_OPT_VALUE;function P9t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function L9t(e,t,r,i){var n=P9t(t,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var o=i?r:"highWaterMark";throw new k9t(o,n)}return Math.floor(n)}return e.objectMode?16:16*1024}GYe.exports={getHighWaterMark:L9t}});var VYe=ir((pMn,qYe)=>{"use strict";J();K();z();qYe.exports=U9t;function U9t(e,t){if(kfe("noDeprecation"))return e;var r=!1;function i(){if(!r){if(kfe("throwDeprecation"))throw new Error(t);kfe("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return i}function kfe(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}});var Ufe=ir((yMn,WYe)=>{"use strict";J();K();z();WYe.exports=fd;function zYe(e){var t=this;this.next=null,this.entry=null,this.finish=function(){fMt(t,e)}}var EN;fd.WritableState=Rk;var F9t={deprecate:VYe()},KYe=Nfe(),vJ=(mh(),Zu(ky)).Buffer,Q9t=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function H9t(e){return vJ.from(e)}function G9t(e){return vJ.isBuffer(e)||e instanceof Q9t}var Lfe=Mfe(),q9t=Dfe(),V9t=q9t.getHighWaterMark,W6=V4().codes,J9t=W6.ERR_INVALID_ARG_TYPE,z9t=W6.ERR_METHOD_NOT_IMPLEMENTED,K9t=W6.ERR_MULTIPLE_CALLBACK,$9t=W6.ERR_STREAM_CANNOT_PIPE,Y9t=W6.ERR_STREAM_DESTROYED,W9t=W6.ERR_STREAM_NULL_VALUES,X9t=W6.ERR_STREAM_WRITE_AFTER_END,Z9t=W6.ERR_UNKNOWN_ENCODING,vN=Lfe.errorOrDestroy;Gl()(fd,KYe);function j9t(){}function Rk(e,t,r){EN=EN||J4(),e=e||{},typeof r!="boolean"&&(r=t instanceof EN),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=V9t(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=e.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){aMt(t,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new zYe(this)}Rk.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(Rk.prototype,"buffer",{get:F9t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var EJ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(EJ=Function.prototype[Symbol.hasInstance],Object.defineProperty(fd,Symbol.hasInstance,{value:function(t){return EJ.call(this,t)?!0:this!==fd?!1:t&&t._writableState instanceof Rk}})):EJ=function(t){return t instanceof this};function fd(e){EN=EN||J4();var t=this instanceof EN;if(!t&&!EJ.call(fd,this))return new fd(e);this._writableState=new Rk(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),KYe.call(this)}fd.prototype.pipe=function(){vN(this,new $9t)};function eMt(e,t){var r=new X9t;vN(e,r),me.nextTick(t,r)}function tMt(e,t,r,i){var n;return r===null?n=new W9t:typeof r!="string"&&!t.objectMode&&(n=new J9t("chunk",["string","Buffer"],r)),n?(vN(e,n),me.nextTick(i,n),!1):!0}fd.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&G9t(e);return o&&!vJ.isBuffer(e)&&(e=H9t(e)),typeof t=="function"&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),typeof r!="function"&&(r=j9t),i.ending?eMt(this,r):(o||tMt(this,i,e,r))&&(i.pendingcb++,n=nMt(this,i,o,e,t,r)),n};fd.prototype.cork=function(){this._writableState.corked++};fd.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&$Ye(this,e))};fd.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new Z9t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(fd.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function rMt(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=vJ.from(t,r)),t}Object.defineProperty(fd.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function nMt(e,t,r,i,n,o){if(!r){var d=rMt(t,i,n);i!==d&&(r=!0,n="buffer",i=d)}var g=t.objectMode?1:i.length;t.length+=g;var y=t.length<t.highWaterMark;if(y||(t.needDrain=!0),t.writing||t.corked){var _=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},_?_.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Pfe(e,t,!1,g,i,n,o);return y}function Pfe(e,t,r,i,n,o,d){t.writelen=i,t.writecb=d,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new Y9t("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function iMt(e,t,r,i,n){--t.pendingcb,r?(me.nextTick(n,i),me.nextTick(vk,e,t),e._writableState.errorEmitted=!0,vN(e,i)):(n(i),e._writableState.errorEmitted=!0,vN(e,i),vk(e,t))}function oMt(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function aMt(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(typeof n!="function")throw new K9t;if(oMt(r),t)iMt(e,r,i,t,n);else{var o=YYe(r)||e.destroyed;!o&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&$Ye(e,r),i?me.nextTick(JYe,e,r,o,n):JYe(e,r,o,n)}}function JYe(e,t,r,i){r||sMt(e,t),t.pendingcb--,i(),vk(e,t)}function sMt(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function $Ye(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var d=0,g=!0;r;)n[d]=r,r.isBuf||(g=!1),r=r.next,d+=1;n.allBuffers=g,Pfe(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new zYe(t),t.bufferedRequestCount=0}else{for(;r;){var y=r.chunk,_=r.encoding,I=r.callback,N=t.objectMode?1:y.length;if(Pfe(e,t,!1,N,y,_,I),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}fd.prototype._write=function(e,t,r){r(new z9t("_write()"))};fd.prototype._writev=null;fd.prototype.end=function(e,t,r){var i=this._writableState;return typeof e=="function"?(r=e,e=null,t=null):typeof t=="function"&&(r=t,t=null),e!=null&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||dMt(this,i,r),this};Object.defineProperty(fd.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function YYe(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function cMt(e,t){e._final(function(r){t.pendingcb--,r&&vN(e,r),t.prefinished=!0,e.emit("prefinish"),vk(e,t)})}function uMt(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final=="function"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,me.nextTick(cMt,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function vk(e,t){var r=YYe(t);if(r&&(uMt(e,t),t.pendingcb===0&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}function dMt(e,t,r){t.ending=!0,vk(e,t),r&&(t.finished?me.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function fMt(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}Object.defineProperty(fd.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});fd.prototype.destroy=Lfe.destroy;fd.prototype._undestroy=Lfe.undestroy;fd.prototype._destroy=function(e,t){t(e)}});var J4=ir((RMn,ZYe)=>{"use strict";J();K();z();var lMt=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};ZYe.exports=mb;var XYe=Hfe(),Qfe=Ufe();Gl()(mb,XYe);for(Ffe=lMt(Qfe.prototype),RJ=0;RJ<Ffe.length;RJ++)SJ=Ffe[RJ],mb.prototype[SJ]||(mb.prototype[SJ]=Qfe.prototype[SJ]);var Ffe,SJ,RJ;function mb(e){if(!(this instanceof mb))return new mb(e);XYe.call(this,e),Qfe.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",hMt)))}Object.defineProperty(mb.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(mb.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(mb.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function hMt(){this._writableState.ended||me.nextTick(AMt,this)}function AMt(e){e.end()}Object.defineProperty(mb.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var tWe=ir((Gfe,eWe)=>{"use strict";J();K();z();var IJ=(mh(),Zu(ky)),yb=IJ.Buffer;function jYe(e,t){for(var r in e)t[r]=e[r]}yb.from&&yb.alloc&&yb.allocUnsafe&&yb.allocUnsafeSlow?eWe.exports=IJ:(jYe(IJ,Gfe),Gfe.Buffer=z4);function z4(e,t,r){return yb(e,t,r)}z4.prototype=Object.create(yb.prototype);jYe(yb,z4);z4.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return yb(e,t,r)};z4.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var i=yb(e);return t!==void 0?typeof r=="string"?i.fill(t,r):i.fill(t):i.fill(0),i};z4.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return yb(e)};z4.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return IJ.SlowBuffer(e)}});var Jfe=ir(nWe=>{"use strict";J();K();z();var Vfe=tWe().Buffer,rWe=Vfe.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function pMt(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function gMt(e){var t=pMt(e);if(typeof t!="string"&&(Vfe.isEncoding===rWe||!rWe(e)))throw new Error("Unknown encoding: "+e);return t||e}nWe.StringDecoder=Sk;function Sk(e){this.encoding=gMt(e);var t;switch(this.encoding){case"utf16le":this.text=vMt,this.end=RMt,t=4;break;case"utf8":this.fillLast=yMt,t=4;break;case"base64":this.text=SMt,this.end=IMt,t=3;break;default:this.write=CMt,this.end=wMt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Vfe.allocUnsafe(t)}Sk.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};Sk.prototype.end=EMt;Sk.prototype.text=bMt;Sk.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function qfe(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function _Mt(e,t,r){var i=t.length-1;if(i<r)return 0;var n=qfe(t[i]);return n>=0?(n>0&&(e.lastNeed=n-1),n):--i<r||n===-2?0:(n=qfe(t[i]),n>=0?(n>0&&(e.lastNeed=n-2),n):--i<r||n===-2?0:(n=qfe(t[i]),n>=0?(n>0&&(n===2?n=0:e.lastNeed=n-3),n):0))}function mMt(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function yMt(e){var t=this.lastTotal-this.lastNeed,r=mMt(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function bMt(e,t){var r=_Mt(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,i),e.toString("utf8",t,i)}function EMt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function vMt(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function RMt(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function SMt(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function IMt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function CMt(e){return e.toString(this.encoding)}function wMt(e){return e&&e.length?this.write(e):""}});var CJ=ir((DMn,aWe)=>{"use strict";J();K();z();var iWe=V4().codes.ERR_STREAM_PREMATURE_CLOSE;function OMt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];e.apply(this,i)}}}function NMt(){}function xMt(e){return e.setHeader&&typeof e.abort=="function"}function oWe(e,t,r){if(typeof t=="function")return oWe(e,null,t);t||(t={}),r=OMt(r||NMt);var i=t.readable||t.readable!==!1&&e.readable,n=t.writable||t.writable!==!1&&e.writable,o=function(){e.writable||g()},d=e._writableState&&e._writableState.finished,g=function(){n=!1,d=!0,i||r.call(e)},y=e._readableState&&e._readableState.endEmitted,_=function(){i=!1,y=!0,n||r.call(e)},I=function(D){r.call(e,D)},N=function(){var D;if(i&&!y)return(!e._readableState||!e._readableState.ended)&&(D=new iWe),r.call(e,D);if(n&&!d)return(!e._writableState||!e._writableState.ended)&&(D=new iWe),r.call(e,D)},T=function(){e.req.on("finish",g)};return xMt(e)?(e.on("complete",g),e.on("abort",N),e.req?T():e.on("request",T)):n&&!e._writableState&&(e.on("end",o),e.on("close",o)),e.on("end",_),e.on("finish",g),t.error!==!1&&e.on("error",I),e.on("close",N),function(){e.removeListener("complete",g),e.removeListener("abort",N),e.removeListener("request",T),e.req&&e.req.removeListener("finish",g),e.removeListener("end",o),e.removeListener("close",o),e.removeListener("finish",g),e.removeListener("end",_),e.removeListener("error",I),e.removeListener("close",N)}}aWe.exports=oWe});var cWe=ir((UMn,sWe)=>{"use strict";J();K();z();var wJ;function X6(e,t,r){return t=TMt(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function TMt(e){var t=BMt(e,"string");return typeof t=="symbol"?t:String(t)}function BMt(e,t){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var MMt=CJ(),Z6=Symbol("lastResolve"),K4=Symbol("lastReject"),Ik=Symbol("error"),OJ=Symbol("ended"),$4=Symbol("lastPromise"),zfe=Symbol("handlePromise"),Y4=Symbol("stream");function j6(e,t){return{value:e,done:t}}function DMt(e){var t=e[Z6];if(t!==null){var r=e[Y4].read();r!==null&&(e[$4]=null,e[Z6]=null,e[K4]=null,t(j6(r,!1)))}}function kMt(e){me.nextTick(DMt,e)}function PMt(e,t){return function(r,i){e.then(function(){if(t[OJ]){r(j6(void 0,!0));return}t[zfe](r,i)},i)}}var LMt=Object.getPrototypeOf(function(){}),UMt=Object.setPrototypeOf((wJ={get stream(){return this[Y4]},next:function(){var t=this,r=this[Ik];if(r!==null)return Promise.reject(r);if(this[OJ])return Promise.resolve(j6(void 0,!0));if(this[Y4].destroyed)return new Promise(function(d,g){me.nextTick(function(){t[Ik]?g(t[Ik]):d(j6(void 0,!0))})});var i=this[$4],n;if(i)n=new Promise(PMt(i,this));else{var o=this[Y4].read();if(o!==null)return Promise.resolve(j6(o,!1));n=new Promise(this[zfe])}return this[$4]=n,n}},X6(wJ,Symbol.asyncIterator,function(){return this}),X6(wJ,"return",function(){var t=this;return new Promise(function(r,i){t[Y4].destroy(null,function(n){if(n){i(n);return}r(j6(void 0,!0))})})}),wJ),LMt),FMt=function(t){var r,i=Object.create(UMt,(r={},X6(r,Y4,{value:t,writable:!0}),X6(r,Z6,{value:null,writable:!0}),X6(r,K4,{value:null,writable:!0}),X6(r,Ik,{value:null,writable:!0}),X6(r,OJ,{value:t._readableState.endEmitted,writable:!0}),X6(r,zfe,{value:function(o,d){var g=i[Y4].read();g?(i[$4]=null,i[Z6]=null,i[K4]=null,o(j6(g,!1))):(i[Z6]=o,i[K4]=d)},writable:!0}),r));return i[$4]=null,MMt(t,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var o=i[K4];o!==null&&(i[$4]=null,i[Z6]=null,i[K4]=null,o(n)),i[Ik]=n;return}var d=i[Z6];d!==null&&(i[$4]=null,i[Z6]=null,i[K4]=null,d(j6(void 0,!0))),i[OJ]=!0}),t.on("readable",kMt.bind(null,i)),i};sWe.exports=FMt});var dWe=ir((GMn,uWe)=>{"use strict";J();K();z();uWe.exports=function(){throw new Error("Readable.from is not available in the browser")}});var Hfe=ir((KMn,bWe)=>{"use strict";J();K();z();bWe.exports=ec;var RN;ec.ReadableState=AWe;var zMn=(bN(),Zu(Ofe)).EventEmitter,hWe=function(t,r){return t.listeners(r).length},wk=Nfe(),NJ=(mh(),Zu(ky)).Buffer,QMt=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function HMt(e){return NJ.from(e)}function GMt(e){return NJ.isBuffer(e)||e instanceof QMt}var Kfe=(Ek(),Zu(xfe)),ds;Kfe&&Kfe.debuglog?ds=Kfe.debuglog("stream"):ds=function(){};var qMt=PYe(),ele=Mfe(),VMt=Dfe(),JMt=VMt.getHighWaterMark,xJ=V4().codes,zMt=xJ.ERR_INVALID_ARG_TYPE,KMt=xJ.ERR_STREAM_PUSH_AFTER_EOF,$Mt=xJ.ERR_METHOD_NOT_IMPLEMENTED,YMt=xJ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,SN,$fe,Yfe;Gl()(ec,wk);var Ck=ele.errorOrDestroy,Wfe=["error","close","destroy","pause","resume"];function WMt(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function AWe(e,t,r){RN=RN||J4(),e=e||{},typeof r!="boolean"&&(r=t instanceof RN),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=JMt(this,e,"readableHighWaterMark",r),this.buffer=new qMt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(SN||(SN=Jfe().StringDecoder),this.decoder=new SN(e.encoding),this.encoding=e.encoding)}function ec(e){if(RN=RN||J4(),!(this instanceof ec))return new ec(e);var t=this instanceof RN;this._readableState=new AWe(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),wk.call(this)}Object.defineProperty(ec.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});ec.prototype.destroy=ele.destroy;ec.prototype._undestroy=ele.undestroy;ec.prototype._destroy=function(e,t){t(e)};ec.prototype.push=function(e,t){var r=this._readableState,i;return r.objectMode?i=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=NJ.from(e,t),t=""),i=!0),pWe(this,e,t,!1,i)};ec.prototype.unshift=function(e){return pWe(this,e,null,!0,!1)};function pWe(e,t,r,i,n){ds("readableAddChunk",t);var o=e._readableState;if(t===null)o.reading=!1,jMt(e,o);else{var d;if(n||(d=XMt(o,t)),d)Ck(e,d);else if(o.objectMode||t&&t.length>0)if(typeof t!="string"&&!o.objectMode&&Object.getPrototypeOf(t)!==NJ.prototype&&(t=HMt(t)),i)o.endEmitted?Ck(e,new YMt):Xfe(e,o,t,!0);else if(o.ended)Ck(e,new KMt);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(t=o.decoder.write(t),o.objectMode||t.length!==0?Xfe(e,o,t,!1):jfe(e,o)):Xfe(e,o,t,!1)}else i||(o.reading=!1,jfe(e,o))}return!o.ended&&(o.length<o.highWaterMark||o.length===0)}function Xfe(e,t,r,i){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,i?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&TJ(e)),jfe(e,t)}function XMt(e,t){var r;return!GMt(t)&&typeof t!="string"&&t!==void 0&&!e.objectMode&&(r=new zMt("chunk",["string","Buffer","Uint8Array"],t)),r}ec.prototype.isPaused=function(){return this._readableState.flowing===!1};ec.prototype.setEncoding=function(e){SN||(SN=Jfe().StringDecoder);var t=new SN(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,i="";r!==null;)i+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),i!==""&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var fWe=1073741824;function ZMt(e){return e>=fWe?e=fWe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function lWe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=ZMt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}ec.prototype.read=function(e){ds("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return ds("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Zfe(this):TJ(this),null;if(e=lWe(e,t),e===0&&t.ended)return t.length===0&&Zfe(this),null;var i=t.needReadable;ds("need readable",i),(t.length===0||t.length-e<t.highWaterMark)&&(i=!0,ds("length less than watermark",i)),t.ended||t.reading?(i=!1,ds("reading or ended",i)):i&&(ds("do read"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=lWe(r,t)));var n;return e>0?n=mWe(e,t):n=null,n===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Zfe(this)),n!==null&&this.emit("data",n),n};function jMt(e,t){if(ds("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?TJ(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,gWe(e)))}}function TJ(e){var t=e._readableState;ds("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(ds("emitReadable",t.flowing),t.emittedReadable=!0,me.nextTick(gWe,e))}function gWe(e){var t=e._readableState;ds("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,tle(e)}function jfe(e,t){t.readingMore||(t.readingMore=!0,me.nextTick(eDt,e,t))}function eDt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(ds("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}ec.prototype._read=function(e){Ck(this,new $Mt("_read()"))};ec.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1,ds("pipe count=%d opts=%j",i.pipesCount,t);var n=(!t||t.end!==!1)&&e!==me.stdout&&e!==me.stderr,o=n?g:P;i.endEmitted?me.nextTick(o):r.once("end",o),e.on("unpipe",d);function d(G,q){ds("onunpipe"),G===r&&q&&q.hasUnpiped===!1&&(q.hasUnpiped=!0,I())}function g(){ds("onend"),e.end()}var y=tDt(r);e.on("drain",y);var _=!1;function I(){ds("cleanup"),e.removeListener("close",M),e.removeListener("finish",D),e.removeListener("drain",y),e.removeListener("error",T),e.removeListener("unpipe",d),r.removeListener("end",g),r.removeListener("end",P),r.removeListener("data",N),_=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&y()}r.on("data",N);function N(G){ds("ondata");var q=e.write(G);ds("dest.write",q),q===!1&&((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&yWe(i.pipes,e)!==-1)&&!_&&(ds("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function T(G){ds("onerror",G),P(),e.removeListener("error",T),hWe(e,"error")===0&&Ck(e,G)}WMt(e,"error",T);function M(){e.removeListener("finish",D),P()}e.once("close",M);function D(){ds("onfinish"),e.removeListener("close",M),P()}e.once("finish",D);function P(){ds("unpipe"),r.unpipe(e)}return e.emit("pipe",r),i.flowing||(ds("pipe resume"),r.resume()),e};function tDt(e){return function(){var r=e._readableState;ds("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hWe(e,"data")&&(r.flowing=!0,tle(e))}}ec.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var i=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<n;o++)i[o].emit("unpipe",this,{hasUnpiped:!1});return this}var d=yWe(t.pipes,e);return d===-1?this:(t.pipes.splice(d,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)};ec.prototype.on=function(e,t){var r=wk.prototype.on.call(this,e,t),i=this._readableState;return e==="data"?(i.readableListening=this.listenerCount("readable")>0,i.flowing!==!1&&this.resume()):e==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,ds("on readable",i.length,i.reading),i.length?TJ(this):i.reading||me.nextTick(rDt,this)),r};ec.prototype.addListener=ec.prototype.on;ec.prototype.removeListener=function(e,t){var r=wk.prototype.removeListener.call(this,e,t);return e==="readable"&&me.nextTick(_We,this),r};ec.prototype.removeAllListeners=function(e){var t=wk.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&me.nextTick(_We,this),t};function _We(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function rDt(e){ds("readable nexttick read 0"),e.read(0)}ec.prototype.resume=function(){var e=this._readableState;return e.flowing||(ds("resume"),e.flowing=!e.readableListening,nDt(this,e)),e.paused=!1,this};function nDt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,me.nextTick(iDt,e,t))}function iDt(e,t){ds("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),tle(e),t.flowing&&!t.reading&&e.read(0)}ec.prototype.pause=function(){return ds("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ds("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function tle(e){var t=e._readableState;for(ds("flow",t.flowing);t.flowing&&e.read()!==null;);}ec.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;e.on("end",function(){if(ds("wrapped end"),r.decoder&&!r.ended){var d=r.decoder.end();d&&d.length&&t.push(d)}t.push(null)}),e.on("data",function(d){if(ds("wrapped data"),r.decoder&&(d=r.decoder.write(d)),!(r.objectMode&&d==null)&&!(!r.objectMode&&(!d||!d.length))){var g=t.push(d);g||(i=!0,e.pause())}});for(var n in e)this[n]===void 0&&typeof e[n]=="function"&&(this[n]=(function(g){return function(){return e[g].apply(e,arguments)}})(n));for(var o=0;o<Wfe.length;o++)e.on(Wfe[o],this.emit.bind(this,Wfe[o]));return this._read=function(d){ds("wrapped _read",d),i&&(i=!1,e.resume())},this};typeof Symbol=="function"&&(ec.prototype[Symbol.asyncIterator]=function(){return $fe===void 0&&($fe=cWe()),$fe(this)});Object.defineProperty(ec.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(ec.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(ec.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});ec._fromList=mWe;Object.defineProperty(ec.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function mWe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Zfe(e){var t=e._readableState;ds("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,me.nextTick(oDt,t,e))}function oDt(e,t){if(ds("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(ec.from=function(e,t){return Yfe===void 0&&(Yfe=dWe()),Yfe(ec,e,t)});function yWe(e,t){for(var r=0,i=e.length;r<i;r++)if(e[r]===t)return r;return-1}});var rle=ir((XMn,vWe)=>{"use strict";J();K();z();vWe.exports=eR;var BJ=V4().codes,aDt=BJ.ERR_METHOD_NOT_IMPLEMENTED,sDt=BJ.ERR_MULTIPLE_CALLBACK,cDt=BJ.ERR_TRANSFORM_ALREADY_TRANSFORMING,uDt=BJ.ERR_TRANSFORM_WITH_LENGTH_0,MJ=J4();Gl()(eR,MJ);function dDt(e,t){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new sDt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),i(e);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function eR(e){if(!(this instanceof eR))return new eR(e);MJ.call(this,e),this._transformState={afterTransform:dDt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",fDt)}function fDt(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){EWe(e,t,r)}):EWe(this,null,null)}eR.prototype.push=function(e,t){return this._transformState.needTransform=!1,MJ.prototype.push.call(this,e,t)};eR.prototype._transform=function(e,t,r){r(new aDt("_transform()"))};eR.prototype._write=function(e,t,r){var i=this._transformState;if(i.writecb=r,i.writechunk=e,i.writeencoding=t,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}};eR.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};eR.prototype._destroy=function(e,t){MJ.prototype._destroy.call(this,e,function(r){t(r)})};function EWe(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new uDt;if(e._transformState.transforming)throw new cDt;return e.push(null)}});var IWe=ir((tDn,SWe)=>{"use strict";J();K();z();SWe.exports=Ok;var RWe=rle();Gl()(Ok,RWe);function Ok(e){if(!(this instanceof Ok))return new Ok(e);RWe.call(this,e)}Ok.prototype._transform=function(e,t,r){r(null,e)}});var xWe=ir((oDn,NWe)=>{"use strict";J();K();z();var nle;function lDt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var OWe=V4().codes,hDt=OWe.ERR_MISSING_ARGS,ADt=OWe.ERR_STREAM_DESTROYED;function CWe(e){if(e)throw e}function pDt(e){return e.setHeader&&typeof e.abort=="function"}function gDt(e,t,r,i){i=lDt(i);var n=!1;e.on("close",function(){n=!0}),nle===void 0&&(nle=CJ()),nle(e,{readable:t,writable:r},function(d){if(d)return i(d);n=!0,i()});var o=!1;return function(d){if(!n&&!o){if(o=!0,pDt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();i(d||new ADt("pipe"))}}}function wWe(e){e()}function _Dt(e,t){return e.pipe(t)}function mDt(e){return!e.length||typeof e[e.length-1]!="function"?CWe:e.pop()}function yDt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var i=mDt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new hDt("streams");var n,o=t.map(function(d,g){var y=g<t.length-1,_=g>0;return gDt(d,y,_,function(I){n||(n=I),I&&o.forEach(wWe),!y&&(o.forEach(wWe),i(n))})});return t.reduce(_Dt)}NWe.exports=yDt});var ile=ir((l_,TWe)=>{"use strict";J();K();z();l_=TWe.exports=Hfe();l_.Stream=l_;l_.Readable=l_;l_.Writable=Ufe();l_.Duplex=J4();l_.Transform=rle();l_.PassThrough=IWe();l_.finished=CJ();l_.pipeline=xWe()});var DWe=ir((lDn,MWe)=>{"use strict";J();K();z();var{Transform:bDt}=ile();MWe.exports=e=>class BWe extends bDt{constructor(r,i,n,o,d){super(d),this._rate=r,this._capacity=i,this._delimitedSuffix=n,this._hashBitLength=o,this._options=d,this._state=new e,this._state.initialize(r,i),this._finalized=!1}_transform(r,i,n){let o=null;try{this.update(r,i)}catch(d){o=d}n(o)}_flush(r){let i=null;try{this.push(this.digest())}catch(n){i=n}r(i)}update(r,i){if(!fe.isBuffer(r)&&typeof r!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return fe.isBuffer(r)||(r=fe.from(r,i)),this._state.absorb(r),this}digest(r){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let i=this._state.squeeze(this._hashBitLength/8);return r!==void 0&&(i=i.toString(r)),this._resetState(),i}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let r=new BWe(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(r._state),r._finalized=this._finalized,r}}});var LWe=ir((gDn,PWe)=>{"use strict";J();K();z();var{Transform:EDt}=ile();PWe.exports=e=>class kWe extends EDt{constructor(r,i,n,o){super(o),this._rate=r,this._capacity=i,this._delimitedSuffix=n,this._options=o,this._state=new e,this._state.initialize(r,i),this._finalized=!1}_transform(r,i,n){let o=null;try{this.update(r,i)}catch(d){o=d}n(o)}_flush(){}_read(r){this.push(this.squeeze(r))}update(r,i){if(!fe.isBuffer(r)&&typeof r!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return fe.isBuffer(r)||(r=fe.from(r,i)),this._state.absorb(r),this}squeeze(r,i){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let n=this._state.squeeze(r);return i!==void 0&&(n=n.toString(i)),n}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let r=new kWe(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(r._state),r._finalized=this._finalized,r}}});var FWe=ir((bDn,UWe)=>{"use strict";J();K();z();var vDt=DWe(),RDt=LWe();UWe.exports=function(e){let t=vDt(e),r=RDt(e);return function(i,n){switch(typeof i=="string"?i.toLowerCase():i){case"keccak224":return new t(1152,448,null,224,n);case"keccak256":return new t(1088,512,null,256,n);case"keccak384":return new t(832,768,null,384,n);case"keccak512":return new t(576,1024,null,512,n);case"sha3-224":return new t(1152,448,6,224,n);case"sha3-256":return new t(1088,512,6,256,n);case"sha3-384":return new t(832,768,6,384,n);case"sha3-512":return new t(576,1024,6,512,n);case"shake128":return new r(1344,256,31,n);case"shake256":return new r(1088,512,31,n);default:throw new Error("Invald algorithm: "+i)}}}});var GWe=ir(HWe=>{"use strict";J();K();z();var QWe=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];HWe.p1600=function(e){for(let t=0;t<24;++t){let r=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],n=e[2]^e[12]^e[22]^e[32]^e[42],o=e[3]^e[13]^e[23]^e[33]^e[43],d=e[4]^e[14]^e[24]^e[34]^e[44],g=e[5]^e[15]^e[25]^e[35]^e[45],y=e[6]^e[16]^e[26]^e[36]^e[46],_=e[7]^e[17]^e[27]^e[37]^e[47],I=e[8]^e[18]^e[28]^e[38]^e[48],N=e[9]^e[19]^e[29]^e[39]^e[49],T=I^(n<<1|o>>>31),M=N^(o<<1|n>>>31),D=e[0]^T,P=e[1]^M,G=e[10]^T,q=e[11]^M,Y=e[20]^T,ne=e[21]^M,ce=e[30]^T,le=e[31]^M,pe=e[40]^T,ae=e[41]^M;T=r^(d<<1|g>>>31),M=i^(g<<1|d>>>31);let W=e[2]^T,se=e[3]^M,O=e[12]^T,s=e[13]^M,l=e[22]^T,A=e[23]^M,m=e[32]^T,E=e[33]^M,w=e[42]^T,x=e[43]^M;T=n^(y<<1|_>>>31),M=o^(_<<1|y>>>31);let R=e[4]^T,u=e[5]^M,C=e[14]^T,U=e[15]^M,F=e[24]^T,X=e[25]^M,Ae=e[34]^T,he=e[35]^M,$e=e[44]^T,Ge=e[45]^M;T=d^(I<<1|N>>>31),M=g^(N<<1|I>>>31);let Re=e[6]^T,Se=e[7]^M,ct=e[16]^T,ze=e[17]^M,te=e[26]^T,Ue=e[27]^M,oe=e[36]^T,ge=e[37]^M,Le=e[46]^T,V=e[47]^M;T=y^(r<<1|i>>>31),M=_^(i<<1|r>>>31);let Qe=e[8]^T,_t=e[9]^M,rt=e[18]^T,At=e[19]^M,Er=e[28]^T,mt=e[29]^M,Ht=e[38]^T,zr=e[39]^M,ve=e[48]^T,ie=e[49]^M,_e=D,Be=P,Ze=q<<4|G>>>28,$t=G<<4|q>>>28,at=Y<<3|ne>>>29,zt=ne<<3|Y>>>29,Hr=le<<9|ce>>>23,St=ce<<9|le>>>23,Yt=pe<<18|ae>>>14,qr=ae<<18|pe>>>14,tr=W<<1|se>>>31,hr=se<<1|W>>>31,Cn=s<<12|O>>>20,er=O<<12|s>>>20,pr=l<<10|A>>>22,mn=A<<10|l>>>22,Xt=E<<13|m>>>19,dr=m<<13|E>>>19,wn=w<<2|x>>>30,Qt=x<<2|w>>>30,fr=u<<30|R>>>2,In=R<<30|u>>>2,jt=C<<6|U>>>26,ar=U<<6|C>>>26,ht=X<<11|F>>>21,Xe=F<<11|X>>>21,et=Ae<<15|he>>>17,ue=he<<15|Ae>>>17,je=Ge<<29|$e>>>3,be=$e<<29|Ge>>>3,qe=Re<<28|Se>>>4,De=Se<<28|Re>>>4,Je=ze<<23|ct>>>9,Rt=ct<<23|ze>>>9,Vt=te<<25|Ue>>>7,br=Ue<<25|te>>>7,Rr=oe<<21|ge>>>11,Dr=ge<<21|oe>>>11,Pr=V<<24|Le>>>8,k=Le<<24|V>>>8,a=Qe<<27|_t>>>5,S=_t<<27|Qe>>>5,sn=rt<<20|At>>>12,Lr=At<<20|rt>>>12,Wr=mt<<7|Er>>>25,ln=Er<<7|mt>>>25,yt=Ht<<8|zr>>>24,ot=zr<<8|Ht>>>24,lt=ve<<14|ie>>>18,gt=ie<<14|ve>>>18;e[0]=_e^~Cn&ht,e[1]=Be^~er&Xe,e[10]=qe^~sn&at,e[11]=De^~Lr&zt,e[20]=tr^~jt&Vt,e[21]=hr^~ar&br,e[30]=a^~Ze&pr,e[31]=S^~$t&mn,e[40]=fr^~Je&Wr,e[41]=In^~Rt&ln,e[2]=Cn^~ht&Rr,e[3]=er^~Xe&Dr,e[12]=sn^~at&Xt,e[13]=Lr^~zt&dr,e[22]=jt^~Vt&yt,e[23]=ar^~br&ot,e[32]=Ze^~pr&et,e[33]=$t^~mn&ue,e[42]=Je^~Wr&Hr,e[43]=Rt^~ln&St,e[4]=ht^~Rr&lt,e[5]=Xe^~Dr&gt,e[14]=at^~Xt&je,e[15]=zt^~dr&be,e[24]=Vt^~yt&Yt,e[25]=br^~ot&qr,e[34]=pr^~et&Pr,e[35]=mn^~ue&k,e[44]=Wr^~Hr&wn,e[45]=ln^~St&Qt,e[6]=Rr^~lt&_e,e[7]=Dr^~gt&Be,e[16]=Xt^~je&qe,e[17]=dr^~be&De,e[26]=yt^~Yt&tr,e[27]=ot^~qr&hr,e[36]=et^~Pr&a,e[37]=ue^~k&S,e[46]=Hr^~wn&fr,e[47]=St^~Qt&In,e[8]=lt^~_e&Cn,e[9]=gt^~Be&er,e[18]=je^~qe&sn,e[19]=be^~De&Lr,e[28]=Yt^~tr&jt,e[29]=qr^~hr&ar,e[38]=Pr^~a&Ze,e[39]=k^~S&$t,e[48]=wn^~fr&Je,e[49]=Qt^~In&Rt,e[0]^=QWe[t*2],e[1]^=QWe[t*2+1]}}});var VWe=ir((ODn,qWe)=>{"use strict";J();K();z();var DJ=GWe();function IN(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}IN.prototype.initialize=function(e,t){for(let r=0;r<50;++r)this.state[r]=0;this.blockSize=e/8,this.count=0,this.squeezing=!1};IN.prototype.absorb=function(e){for(let t=0;t<e.length;++t)this.state[~~(this.count/4)]^=e[t]<<8*(this.count%4),this.count+=1,this.count===this.blockSize&&(DJ.p1600(this.state),this.count=0)};IN.prototype.absorbLastFewBits=function(e){this.state[~~(this.count/4)]^=e<<8*(this.count%4),(e&128)!==0&&this.count===this.blockSize-1&&DJ.p1600(this.state),this.state[~~((this.blockSize-1)/4)]^=128<<8*((this.blockSize-1)%4),DJ.p1600(this.state),this.count=0,this.squeezing=!0};IN.prototype.squeeze=function(e){this.squeezing||this.absorbLastFewBits(1);let t=fe.alloc(e);for(let r=0;r<e;++r)t[r]=this.state[~~(this.count/4)]>>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(DJ.p1600(this.state),this.count=0);return t};IN.prototype.copy=function(e){for(let t=0;t<50;++t)e.state[t]=this.state[t];e.blockSize=this.blockSize,e.count=this.count,e.squeezing=this.squeezing};qWe.exports=IN});var zWe=ir((BDn,JWe)=>{"use strict";J();K();z();JWe.exports=FWe()(VWe())});function xDt(){if(oXe)return Ale;oXe=!0,Ale=r;var e=xc.EventEmitter,t=La();t(r,e),r.Readable=HM(),r.Writable=QM(),r.Duplex=Iv(),r.Transform=GM(),r.PassThrough=mG(),r.finished=fO(),r.pipeline=yG(),r.Stream=r;function r(){e.call(this||ple)}return r.prototype.pipe=function(i,n){var o=this||ple;function d(M){i.writable&&i.write(M)===!1&&o.pause&&o.pause()}o.on("data",d);function g(){o.readable&&o.resume&&o.resume()}i.on("drain",g),!i._isStdio&&(!n||n.end!==!1)&&(o.on("end",_),o.on("close",I));var y=!1;function _(){y||(y=!0,i.end())}function I(){y||(y=!0,typeof i.destroy=="function"&&i.destroy())}function N(M){if(T(),e.listenerCount(this||ple,"error")===0)throw M}o.on("error",N),i.on("error",N);function T(){o.removeListener("data",d),i.removeListener("drain",g),o.removeListener("end",_),o.removeListener("close",I),o.removeListener("error",N),i.removeListener("error",N),o.removeListener("end",T),o.removeListener("close",T),i.removeListener("close",T)}return o.on("end",T),o.on("close",T),i.on("close",T),i.emit("pipe",o),i},Ale}var Ale,oXe,ple,Tp,qJ=tn(()=>{"use strict";J();K();z();bN();lO();YS();Ale={},oXe=!1,ple=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Tp=xDt()});var eI,$Un,YUn,aXe,VJ,WUn,XUn,ZUn,jUn,qk=tn(()=>{"use strict";J();K();z();qJ();qJ();Ek();bN();YS();lO();sO();vv();Ev();XS();UM();eI=Tp.Readable;eI.wrap=function(e,t){return t=Object.assign({objectMode:e.readableObjectMode!=null||e.objectMode!=null||!0},t),t.destroy=function(r,i){e.destroy(r),i(r)},new eI(t).wrap(e)};$Un=Tp.Writable,YUn=Tp.Duplex,aXe=Tp.Transform,VJ=Tp.PassThrough,WUn=Tp.finished,XUn=Tp.pipeline,ZUn=Tp.Stream,jUn={finished:mJ(Tp.finished),pipeline:mJ(Tp.pipeline)}});var mXe=ir(NN=>{"use strict";J();K();z();Object.defineProperty(NN,"__esModule",{value:!0});NN.fromAscii=NN.toAscii=void 0;function LDt(e){return Uint8Array.from((r=>r.split("").map(i=>{let n=i.charCodeAt(0);if(n<32||n>126)throw new Error("Cannot encode character that is out of printable ASCII range: "+n);return n}))(e))}NN.toAscii=LDt;function UDt(e){return(r=>r.map(i=>{if(i<32||i>126)throw new Error("Cannot decode character that is out of printable ASCII range: "+i);return String.fromCharCode(i)}))(Array.from(e)).join("")}NN.fromAscii=UDt});var bXe=ir(__=>{"use strict";J();K();z();var FDt=__&&__.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),QDt=__&&__.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),HDt=__&&__.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&FDt(t,e,r);return QDt(t,e),t};Object.defineProperty(__,"__esModule",{value:!0});__.fromBase64=__.toBase64=void 0;var yXe=HDt(mV());function GDt(e){return yXe.fromByteArray(e)}__.toBase64=GDt;function qDt(e){if(!e.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Error("Invalid base64 string format");return yXe.toByteArray(e)}__.fromBase64=qDt});var SXe=ir((jFn,RXe)=>{"use strict";J();K();z();var WJ="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ele={};for(Kk=0;Kk<WJ.length;Kk++){if(YJ=WJ.charAt(Kk),Ele[YJ]!==void 0)throw new TypeError(YJ+" is ambiguous");Ele[YJ]=Kk}var YJ,Kk;function xN(e){var t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function EXe(e){for(var t=1,r=0;r<e.length;++r){var i=e.charCodeAt(r);if(i<33||i>126)return"Invalid prefix ("+e+")";t=xN(t)^i>>5}for(t=xN(t),r=0;r<e.length;++r){var n=e.charCodeAt(r);t=xN(t)^n&31}return t}function VDt(e,t,r){if(r=r||90,e.length+7+t.length>r)throw new TypeError("Exceeds length limit");e=e.toLowerCase();var i=EXe(e);if(typeof i=="string")throw new Error(i);for(var n=e+"1",o=0;o<t.length;++o){var d=t[o];if(d>>5!==0)throw new Error("Non 5-bit word");i=xN(i)^d,n+=WJ.charAt(d)}for(o=0;o<6;++o)i=xN(i);for(i^=1,o=0;o<6;++o){var g=i>>(5-o)*5&31;n+=WJ.charAt(g)}return n}function vXe(e,t){if(t=t||90,e.length<8)return e+" too short";if(e.length>t)return"Exceeds length limit";var r=e.toLowerCase(),i=e.toUpperCase();if(e!==r&&e!==i)return"Mixed-case string "+e;e=r;var n=e.lastIndexOf("1");if(n===-1)return"No separator character for "+e;if(n===0)return"Missing prefix for "+e;var o=e.slice(0,n),d=e.slice(n+1);if(d.length<6)return"Data too short";var g=EXe(o);if(typeof g=="string")return g;for(var y=[],_=0;_<d.length;++_){var I=d.charAt(_),N=Ele[I];if(N===void 0)return"Unknown character "+I;g=xN(g)^N,!(_+6>=d.length)&&y.push(N)}return g!==1?"Invalid checksum for "+e:{prefix:o,words:y}}function JDt(){var e=vXe.apply(null,arguments);if(typeof e=="object")return e}function zDt(e){var t=vXe.apply(null,arguments);if(typeof t=="object")return t;throw new Error(t)}function XJ(e,t,r,i){for(var n=0,o=0,d=(1<<r)-1,g=[],y=0;y<e.length;++y)for(n=n<<t|e[y],o+=t;o>=r;)o-=r,g.push(n>>o&d);if(i)o>0&&g.push(n<<r-o&d);else{if(o>=t)return"Excess padding";if(n<<r-o&d)return"Non-zero padding"}return g}function KDt(e){var t=XJ(e,8,5,!0);if(Array.isArray(t))return t}function $Dt(e){var t=XJ(e,8,5,!0);if(Array.isArray(t))return t;throw new Error(t)}function YDt(e){var t=XJ(e,5,8,!1);if(Array.isArray(t))return t}function WDt(e){var t=XJ(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}RXe.exports={decodeUnsafe:JDt,decode:zDt,encode:VDt,toWordsUnsafe:KDt,toWords:$Dt,fromWordsUnsafe:YDt,fromWords:WDt}});var wXe=ir(Mp=>{"use strict";J();K();z();var XDt=Mp&&Mp.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),ZDt=Mp&&Mp.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),jDt=Mp&&Mp.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&XDt(t,e,r);return ZDt(t,e),t};Object.defineProperty(Mp,"__esModule",{value:!0});Mp.normalizeBech32=Mp.fromBech32=Mp.toBech32=void 0;var ZJ=jDt(SXe());function IXe(e,t,r){return ZJ.encode(e,ZJ.toWords(t),r)}Mp.toBech32=IXe;function CXe(e,t=1/0){let r=ZJ.decode(e,t);return{prefix:r.prefix,data:new Uint8Array(ZJ.fromWords(r.words))}}Mp.fromBech32=CXe;function ekt(e){let{prefix:t,data:r}=CXe(e);return IXe(t,r)}Mp.normalizeBech32=ekt});var OXe=ir(TN=>{"use strict";J();K();z();Object.defineProperty(TN,"__esModule",{value:!0});TN.fromHex=TN.toHex=void 0;function tkt(e){let t="";for(let r of e)t+=("0"+r.toString(16)).slice(-2);return t}TN.toHex=tkt;function rkt(e){if(e.length%2!==0)throw new Error("hex string length must be a multiple of 2");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let i=2*r,n=e.slice(i,i+2);if(!n.match(/[0-9a-f]{2}/i))throw new Error("hex string contains invalid characters");t[r]=parseInt(n,16)}return t}TN.fromHex=rkt});var NXe=ir(MN=>{"use strict";J();K();z();Object.defineProperty(MN,"__esModule",{value:!0});MN.toRfc3339=MN.fromRfc3339=void 0;var nkt=/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(\.\d{1,9})?((?:[+-]\d{2}:\d{2})|Z)$/;function BN(e,t=2){return e.toString().padStart(t,"0")}function ikt(e){let t=nkt.exec(e);if(!t)throw new Error("Date string is not in RFC3339 format");let r=+t[1],i=+t[2],n=+t[3],o=+t[4],d=+t[5],g=+t[6],y=t[7]?Math.floor(+t[7]*1e3):0,_,I,N;t[8]==="Z"?(_=1,I=0,N=0):(_=t[8].substring(0,1)==="-"?-1:1,I=+t[8].substring(1,3),N=+t[8].substring(4,6));let T=_*(I*60+N)*60,M=new Date;return M.setUTCFullYear(r,i-1,n),M.setUTCHours(o,d,g,y),new Date(M.getTime()-T*1e3)}MN.fromRfc3339=ikt;function okt(e){let t=e.getUTCFullYear(),r=BN(e.getUTCMonth()+1),i=BN(e.getUTCDate()),n=BN(e.getUTCHours()),o=BN(e.getUTCMinutes()),d=BN(e.getUTCSeconds()),g=BN(e.getUTCMilliseconds(),3);return`${t}-${r}-${i}T${n}:${o}:${d}.${g}Z`}MN.toRfc3339=okt});var xXe=ir(DN=>{"use strict";J();K();z();Object.defineProperty(DN,"__esModule",{value:!0});DN.fromUtf8=DN.toUtf8=void 0;function akt(e){return new TextEncoder().encode(e)}DN.toUtf8=akt;function skt(e,t=!1){let r=!t;return new TextDecoder("utf-8",{fatal:r}).decode(e)}DN.fromUtf8=skt});var Ps=ir(cu=>{"use strict";J();K();z();Object.defineProperty(cu,"__esModule",{value:!0});cu.toUtf8=cu.fromUtf8=cu.toRfc3339=cu.fromRfc3339=cu.toHex=cu.fromHex=cu.toBech32=cu.normalizeBech32=cu.fromBech32=cu.toBase64=cu.fromBase64=cu.toAscii=cu.fromAscii=void 0;var TXe=mXe();Object.defineProperty(cu,"fromAscii",{enumerable:!0,get:function(){return TXe.fromAscii}});Object.defineProperty(cu,"toAscii",{enumerable:!0,get:function(){return TXe.toAscii}});var BXe=bXe();Object.defineProperty(cu,"fromBase64",{enumerable:!0,get:function(){return BXe.fromBase64}});Object.defineProperty(cu,"toBase64",{enumerable:!0,get:function(){return BXe.toBase64}});var vle=wXe();Object.defineProperty(cu,"fromBech32",{enumerable:!0,get:function(){return vle.fromBech32}});Object.defineProperty(cu,"normalizeBech32",{enumerable:!0,get:function(){return vle.normalizeBech32}});Object.defineProperty(cu,"toBech32",{enumerable:!0,get:function(){return vle.toBech32}});var MXe=OXe();Object.defineProperty(cu,"fromHex",{enumerable:!0,get:function(){return MXe.fromHex}});Object.defineProperty(cu,"toHex",{enumerable:!0,get:function(){return MXe.toHex}});var DXe=NXe();Object.defineProperty(cu,"fromRfc3339",{enumerable:!0,get:function(){return DXe.fromRfc3339}});Object.defineProperty(cu,"toRfc3339",{enumerable:!0,get:function(){return DXe.toRfc3339}});var kXe=xXe();Object.defineProperty(cu,"fromUtf8",{enumerable:!0,get:function(){return kXe.fromUtf8}});Object.defineProperty(cu,"toUtf8",{enumerable:!0,get:function(){return kXe.toUtf8}})});var PXe=ir(kN=>{"use strict";J();K();z();Object.defineProperty(kN,"__esModule",{value:!0});kN.arrayContentStartsWith=kN.arrayContentEquals=void 0;function ckt(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}kN.arrayContentEquals=ckt;function ukt(e,t){if(e.length<t.length)return!1;for(let r=0;r<t.length;++r)if(e[r]!==t[r])return!1;return!0}kN.arrayContentStartsWith=ukt});var LXe=ir(rI=>{"use strict";J();K();z();Object.defineProperty(rI,"__esModule",{value:!0});rI.assertDefinedAndNotNull=rI.assertDefined=rI.assert=void 0;function dkt(e,t){if(!e)throw new Error(t||"condition is not truthy")}rI.assert=dkt;function fkt(e,t){if(e===void 0)throw new Error(t??"value is undefined")}rI.assertDefined=fkt;function lkt(e,t){if(e==null)throw new Error(t??"value is undefined or null")}rI.assertDefinedAndNotNull=lkt});var UXe=ir(jJ=>{"use strict";J();K();z();Object.defineProperty(jJ,"__esModule",{value:!0});jJ.sleep=void 0;async function hkt(e){return new Promise(t=>setTimeout(t,e))}jJ.sleep=hkt});var QXe=ir(nI=>{"use strict";J();K();z();Object.defineProperty(nI,"__esModule",{value:!0});nI.isDefined=nI.isUint8Array=nI.isNonNullObject=void 0;function FXe(e){return typeof e=="object"&&e!==null}nI.isNonNullObject=FXe;function Akt(e){return!(!FXe(e)||Object.prototype.toString.call(e)!=="[object Uint8Array]"||typeof fe<"u"&&typeof fe.isBuffer<"u"&&fe.isBuffer(e))}nI.isUint8Array=Akt;function pkt(e){return e!==void 0}nI.isDefined=pkt});var Uf=ir(tf=>{"use strict";J();K();z();Object.defineProperty(tf,"__esModule",{value:!0});tf.isUint8Array=tf.isNonNullObject=tf.isDefined=tf.sleep=tf.assertDefinedAndNotNull=tf.assertDefined=tf.assert=tf.arrayContentStartsWith=tf.arrayContentEquals=void 0;var HXe=PXe();Object.defineProperty(tf,"arrayContentEquals",{enumerable:!0,get:function(){return HXe.arrayContentEquals}});Object.defineProperty(tf,"arrayContentStartsWith",{enumerable:!0,get:function(){return HXe.arrayContentStartsWith}});var Rle=LXe();Object.defineProperty(tf,"assert",{enumerable:!0,get:function(){return Rle.assert}});Object.defineProperty(tf,"assertDefined",{enumerable:!0,get:function(){return Rle.assertDefined}});Object.defineProperty(tf,"assertDefinedAndNotNull",{enumerable:!0,get:function(){return Rle.assertDefinedAndNotNull}});var gkt=UXe();Object.defineProperty(tf,"sleep",{enumerable:!0,get:function(){return gkt.sleep}});var Sle=QXe();Object.defineProperty(tf,"isDefined",{enumerable:!0,get:function(){return Sle.isDefined}});Object.defineProperty(tf,"isNonNullObject",{enumerable:!0,get:function(){return Sle.isNonNullObject}});Object.defineProperty(tf,"isUint8Array",{enumerable:!0,get:function(){return Sle.isUint8Array}})});var GXe=ir(ez=>{"use strict";J();K();z();Object.defineProperty(ez,"__esModule",{value:!0});ez.crypto=void 0;ez.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});var iC=ir(Lo=>{"use strict";J();K();z();Object.defineProperty(Lo,"__esModule",{value:!0});Lo.wrapXOFConstructorWithOpts=Lo.wrapConstructorWithOpts=Lo.wrapConstructor=Lo.Hash=Lo.nextTick=Lo.swap32IfBE=Lo.byteSwapIfBE=Lo.swap8IfBE=Lo.isLE=void 0;Lo.isBytes=VXe;Lo.anumber=Ile;Lo.abytes=LN;Lo.ahash=_kt;Lo.aexists=mkt;Lo.aoutput=ykt;Lo.u8=bkt;Lo.u32=Ekt;Lo.clean=vkt;Lo.createView=Rkt;Lo.rotr=Skt;Lo.rotl=Ikt;Lo.byteSwap=wle;Lo.byteSwap32=JXe;Lo.bytesToHex=wkt;Lo.hexToBytes=Okt;Lo.asyncLoop=xkt;Lo.utf8ToBytes=Ole;Lo.bytesToUtf8=Tkt;Lo.toBytes=tz;Lo.kdfInputToBytes=Bkt;Lo.concatBytes=Mkt;Lo.checkOpts=Dkt;Lo.createHasher=KXe;Lo.createOptHasher=$Xe;Lo.createXOFer=YXe;Lo.randomBytes=kkt;var PN=GXe();function VXe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ile(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function LN(e,...t){if(!VXe(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function _kt(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Ile(e.outputLen),Ile(e.blockLen)}function mkt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ykt(e,t){LN(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function bkt(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Ekt(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function vkt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Rkt(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Skt(e,t){return e<<32-t|e>>>t}function Ikt(e,t){return e<<t|e>>>32-t>>>0}Lo.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function wle(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}Lo.swap8IfBE=Lo.isLE?e=>e:e=>wle(e);Lo.byteSwapIfBE=Lo.swap8IfBE;function JXe(e){for(let t=0;t<e.length;t++)e[t]=wle(e[t]);return e}Lo.swap32IfBE=Lo.isLE?e=>e:JXe;var zXe=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ckt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function wkt(e){if(LN(e),zXe)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Ckt[e[r]];return t}var rR={_0:48,_9:57,A:65,F:70,a:97,f:102};function qXe(e){if(e>=rR._0&&e<=rR._9)return e-rR._0;if(e>=rR.A&&e<=rR.F)return e-(rR.A-10);if(e>=rR.a&&e<=rR.f)return e-(rR.a-10)}function Okt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(zXe)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let d=qXe(e.charCodeAt(o)),g=qXe(e.charCodeAt(o+1));if(d===void 0||g===void 0){let y=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+y+'" at index '+o)}i[n]=d*16+g}return i}var Nkt=async()=>{};Lo.nextTick=Nkt;async function xkt(e,t,r){let i=Date.now();for(let n=0;n<e;n++){r(n);let o=Date.now()-i;o>=0&&o<t||(await(0,Lo.nextTick)(),i+=o)}}function Ole(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Tkt(e){return new TextDecoder().decode(e)}function tz(e){return typeof e=="string"&&(e=Ole(e)),LN(e),e}function Bkt(e){return typeof e=="string"&&(e=Ole(e)),LN(e),e}function Mkt(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];LN(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function Dkt(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(e,t)}var Cle=class{};Lo.Hash=Cle;function KXe(e){let t=i=>e().update(tz(i)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function $Xe(e){let t=(i,n)=>e(n).update(tz(i)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=i=>e(i),t}function YXe(e){let t=(i,n)=>e(n).update(tz(i)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=i=>e(i),t}Lo.wrapConstructor=KXe;Lo.wrapConstructorWithOpts=$Xe;Lo.wrapXOFConstructorWithOpts=YXe;function kkt(e=32){if(PN.crypto&&typeof PN.crypto.getRandomValues=="function")return PN.crypto.getRandomValues(new Uint8Array(e));if(PN.crypto&&typeof PN.crypto.randomBytes=="function")return Uint8Array.from(PN.crypto.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}});var WXe=ir(aC=>{"use strict";J();K();z();Object.defineProperty(aC,"__esModule",{value:!0});aC.hmac=aC.HMAC=void 0;var oC=iC(),$k=class extends oC.Hash{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,(0,oC.ahash)(t);let i=(0,oC.toBytes)(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(i.length>n?t.create().update(i).digest():i);for(let d=0;d<o.length;d++)o[d]^=54;this.iHash.update(o),this.oHash=t.create();for(let d=0;d<o.length;d++)o[d]^=106;this.oHash.update(o),(0,oC.clean)(o)}update(t){return(0,oC.aexists)(this),this.iHash.update(t),this}digestInto(t){(0,oC.aexists)(this),(0,oC.abytes)(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:i,finished:n,destroyed:o,blockLen:d,outputLen:g}=this;return t=t,t.finished=n,t.destroyed=o,t.blockLen=d,t.outputLen=g,t.oHash=r._cloneInto(t.oHash),t.iHash=i._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};aC.HMAC=$k;var Pkt=(e,t,r)=>new $k(e,t).update(r).digest();aC.hmac=Pkt;aC.hmac.create=(e,t)=>new $k(e,t)});var jXe=ir(rz=>{"use strict";J();K();z();Object.defineProperty(rz,"__esModule",{value:!0});rz.pbkdf2=Ukt;rz.pbkdf2Async=Fkt;var Lkt=WXe(),Um=iC();function XXe(e,t,r,i){(0,Um.ahash)(e);let n=(0,Um.checkOpts)({dkLen:32,asyncTick:10},i),{c:o,dkLen:d,asyncTick:g}=n;if((0,Um.anumber)(o),(0,Um.anumber)(d),(0,Um.anumber)(g),o<1)throw new Error("iterations (c) should be >= 1");let y=(0,Um.kdfInputToBytes)(t),_=(0,Um.kdfInputToBytes)(r),I=new Uint8Array(d),N=Lkt.hmac.create(e,y),T=N._cloneInto().update(_);return{c:o,dkLen:d,asyncTick:g,DK:I,PRF:N,PRFSalt:T}}function ZXe(e,t,r,i,n){return e.destroy(),t.destroy(),i&&i.destroy(),(0,Um.clean)(n),r}function Ukt(e,t,r,i){let{c:n,dkLen:o,DK:d,PRF:g,PRFSalt:y}=XXe(e,t,r,i),_,I=new Uint8Array(4),N=(0,Um.createView)(I),T=new Uint8Array(g.outputLen);for(let M=1,D=0;D<o;M++,D+=g.outputLen){let P=d.subarray(D,D+g.outputLen);N.setInt32(0,M,!1),(_=y._cloneInto(_)).update(I).digestInto(T),P.set(T.subarray(0,P.length));for(let G=1;G<n;G++){g._cloneInto(_).update(T).digestInto(T);for(let q=0;q<P.length;q++)P[q]^=T[q]}}return ZXe(g,y,d,_,T)}async function Fkt(e,t,r,i){let{c:n,dkLen:o,asyncTick:d,DK:g,PRF:y,PRFSalt:_}=XXe(e,t,r,i),I,N=new Uint8Array(4),T=(0,Um.createView)(N),M=new Uint8Array(y.outputLen);for(let D=1,P=0;P<o;D++,P+=y.outputLen){let G=g.subarray(P,P+y.outputLen);T.setInt32(0,D,!1),(I=_._cloneInto(I)).update(N).digestInto(M),G.set(M.subarray(0,G.length)),await(0,Um.asyncLoop)(n-1,d,()=>{y._cloneInto(I).update(M).digestInto(M);for(let q=0;q<G.length;q++)G[q]^=M[q]})}return ZXe(y,_,g,I,M)}});var xle=ir(NA=>{"use strict";J();K();z();Object.defineProperty(NA,"__esModule",{value:!0});NA.SHA512_IV=NA.SHA384_IV=NA.SHA224_IV=NA.SHA256_IV=NA.HashMD=void 0;NA.setBigUint64=eZe;NA.Chi=Qkt;NA.Maj=Hkt;var vb=iC();function eZe(e,t,r,i){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,i);let n=BigInt(32),o=BigInt(4294967295),d=Number(r>>n&o),g=Number(r&o),y=i?4:0,_=i?0:4;e.setUint32(t+y,d,i),e.setUint32(t+_,g,i)}function Qkt(e,t,r){return e&t^~e&r}function Hkt(e,t,r){return e&t^e&r^t&r}var Nle=class extends vb.Hash{constructor(t,r,i,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=i,this.isLE=n,this.buffer=new Uint8Array(t),this.view=(0,vb.createView)(this.buffer)}update(t){(0,vb.aexists)(this),t=(0,vb.toBytes)(t),(0,vb.abytes)(t);let{view:r,buffer:i,blockLen:n}=this,o=t.length;for(let d=0;d<o;){let g=Math.min(n-this.pos,o-d);if(g===n){let y=(0,vb.createView)(t);for(;n<=o-d;d+=n)this.process(y,d);continue}i.set(t.subarray(d,d+g),this.pos),this.pos+=g,d+=g,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,vb.aexists)(this),(0,vb.aoutput)(t,this),this.finished=!0;let{buffer:r,view:i,blockLen:n,isLE:o}=this,{pos:d}=this;r[d++]=128,(0,vb.clean)(this.buffer.subarray(d)),this.padOffset>n-d&&(this.process(i,0),d=0);for(let N=d;N<n;N++)r[N]=0;eZe(i,n-8,BigInt(this.length*8),o),this.process(i,0);let g=(0,vb.createView)(t),y=this.outputLen;if(y%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let _=y/4,I=this.get();if(_>I.length)throw new Error("_sha2: outputLen bigger than state");for(let N=0;N<_;N++)g.setUint32(4*N,I[N],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let i=t.slice(0,r);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:i,length:n,finished:o,destroyed:d,pos:g}=this;return t.destroyed=d,t.finished=o,t.length=n,t.pos=g,n%r&&t.buffer.set(i),t}clone(){return this._cloneInto()}};NA.HashMD=Nle;NA.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);NA.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);NA.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);NA.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var Mle=ir(pa=>{"use strict";J();K();z();Object.defineProperty(pa,"__esModule",{value:!0});pa.toBig=pa.shrSL=pa.shrSH=pa.rotrSL=pa.rotrSH=pa.rotrBL=pa.rotrBH=pa.rotr32L=pa.rotr32H=pa.rotlSL=pa.rotlSH=pa.rotlBL=pa.rotlBH=pa.add5L=pa.add5H=pa.add4L=pa.add4H=pa.add3L=pa.add3H=void 0;pa.add=pZe;pa.fromBig=Ble;pa.split=tZe;var nz=BigInt(2**32-1),Tle=BigInt(32);function Ble(e,t=!1){return t?{h:Number(e&nz),l:Number(e>>Tle&nz)}:{h:Number(e>>Tle&nz)|0,l:Number(e&nz)|0}}function tZe(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:d,l:g}=Ble(e[o],t);[i[o],n[o]]=[d,g]}return[i,n]}var rZe=(e,t)=>BigInt(e>>>0)<<Tle|BigInt(t>>>0);pa.toBig=rZe;var nZe=(e,t,r)=>e>>>r;pa.shrSH=nZe;var iZe=(e,t,r)=>e<<32-r|t>>>r;pa.shrSL=iZe;var oZe=(e,t,r)=>e>>>r|t<<32-r;pa.rotrSH=oZe;var aZe=(e,t,r)=>e<<32-r|t>>>r;pa.rotrSL=aZe;var sZe=(e,t,r)=>e<<64-r|t>>>r-32;pa.rotrBH=sZe;var cZe=(e,t,r)=>e>>>r-32|t<<64-r;pa.rotrBL=cZe;var uZe=(e,t)=>t;pa.rotr32H=uZe;var dZe=(e,t)=>e;pa.rotr32L=dZe;var fZe=(e,t,r)=>e<<r|t>>>32-r;pa.rotlSH=fZe;var lZe=(e,t,r)=>t<<r|e>>>32-r;pa.rotlSL=lZe;var hZe=(e,t,r)=>t<<r-32|e>>>64-r;pa.rotlBH=hZe;var AZe=(e,t,r)=>e<<r-32|t>>>64-r;pa.rotlBL=AZe;function pZe(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var gZe=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);pa.add3L=gZe;var _Ze=(e,t,r,i)=>t+r+i+(e/2**32|0)|0;pa.add3H=_Ze;var mZe=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0);pa.add4L=mZe;var yZe=(e,t,r,i,n)=>t+r+i+n+(e/2**32|0)|0;pa.add4H=yZe;var bZe=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0);pa.add5L=bZe;var EZe=(e,t,r,i,n,o)=>t+r+i+n+o+(e/2**32|0)|0;pa.add5H=EZe;var Gkt={fromBig:Ble,split:tZe,toBig:rZe,shrSH:nZe,shrSL:iZe,rotrSH:oZe,rotrSL:aZe,rotrBH:sZe,rotrBL:cZe,rotr32H:uZe,rotr32L:dZe,rotlSH:fZe,rotlSL:lZe,rotlBH:hZe,rotlBL:AZe,add:pZe,add3L:gZe,add3H:_Ze,add4L:mZe,add4H:yZe,add5H:EZe,add5L:bZe};pa.default=Gkt});var Dle=ir(Ju=>{"use strict";J();K();z();Object.defineProperty(Ju,"__esModule",{value:!0});Ju.sha512_224=Ju.sha512_256=Ju.sha384=Ju.sha512=Ju.sha224=Ju.sha256=Ju.SHA512_256=Ju.SHA512_224=Ju.SHA384=Ju.SHA512=Ju.SHA224=Ju.SHA256=void 0;var Do=xle(),Ya=Mle(),rf=iC(),qkt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),iI=new Uint32Array(64),Yk=class extends Do.HashMD{constructor(t=32){super(64,t,8,!1),this.A=Do.SHA256_IV[0]|0,this.B=Do.SHA256_IV[1]|0,this.C=Do.SHA256_IV[2]|0,this.D=Do.SHA256_IV[3]|0,this.E=Do.SHA256_IV[4]|0,this.F=Do.SHA256_IV[5]|0,this.G=Do.SHA256_IV[6]|0,this.H=Do.SHA256_IV[7]|0}get(){let{A:t,B:r,C:i,D:n,E:o,F:d,G:g,H:y}=this;return[t,r,i,n,o,d,g,y]}set(t,r,i,n,o,d,g,y){this.A=t|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=o|0,this.F=d|0,this.G=g|0,this.H=y|0}process(t,r){for(let N=0;N<16;N++,r+=4)iI[N]=t.getUint32(r,!1);for(let N=16;N<64;N++){let T=iI[N-15],M=iI[N-2],D=(0,rf.rotr)(T,7)^(0,rf.rotr)(T,18)^T>>>3,P=(0,rf.rotr)(M,17)^(0,rf.rotr)(M,19)^M>>>10;iI[N]=P+iI[N-7]+D+iI[N-16]|0}let{A:i,B:n,C:o,D:d,E:g,F:y,G:_,H:I}=this;for(let N=0;N<64;N++){let T=(0,rf.rotr)(g,6)^(0,rf.rotr)(g,11)^(0,rf.rotr)(g,25),M=I+T+(0,Do.Chi)(g,y,_)+qkt[N]+iI[N]|0,P=((0,rf.rotr)(i,2)^(0,rf.rotr)(i,13)^(0,rf.rotr)(i,22))+(0,Do.Maj)(i,n,o)|0;I=_,_=y,y=g,g=d+M|0,d=o,o=n,n=i,i=M+P|0}i=i+this.A|0,n=n+this.B|0,o=o+this.C|0,d=d+this.D|0,g=g+this.E|0,y=y+this.F|0,_=_+this.G|0,I=I+this.H|0,this.set(i,n,o,d,g,y,_,I)}roundClean(){(0,rf.clean)(iI)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,rf.clean)(this.buffer)}};Ju.SHA256=Yk;var iz=class extends Yk{constructor(){super(28),this.A=Do.SHA224_IV[0]|0,this.B=Do.SHA224_IV[1]|0,this.C=Do.SHA224_IV[2]|0,this.D=Do.SHA224_IV[3]|0,this.E=Do.SHA224_IV[4]|0,this.F=Do.SHA224_IV[5]|0,this.G=Do.SHA224_IV[6]|0,this.H=Do.SHA224_IV[7]|0}};Ju.SHA224=iz;var vZe=Ya.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),Vkt=vZe[0],Jkt=vZe[1],oI=new Uint32Array(80),aI=new Uint32Array(80),sC=class extends Do.HashMD{constructor(t=64){super(128,t,16,!1),this.Ah=Do.SHA512_IV[0]|0,this.Al=Do.SHA512_IV[1]|0,this.Bh=Do.SHA512_IV[2]|0,this.Bl=Do.SHA512_IV[3]|0,this.Ch=Do.SHA512_IV[4]|0,this.Cl=Do.SHA512_IV[5]|0,this.Dh=Do.SHA512_IV[6]|0,this.Dl=Do.SHA512_IV[7]|0,this.Eh=Do.SHA512_IV[8]|0,this.El=Do.SHA512_IV[9]|0,this.Fh=Do.SHA512_IV[10]|0,this.Fl=Do.SHA512_IV[11]|0,this.Gh=Do.SHA512_IV[12]|0,this.Gl=Do.SHA512_IV[13]|0,this.Hh=Do.SHA512_IV[14]|0,this.Hl=Do.SHA512_IV[15]|0}get(){let{Ah:t,Al:r,Bh:i,Bl:n,Ch:o,Cl:d,Dh:g,Dl:y,Eh:_,El:I,Fh:N,Fl:T,Gh:M,Gl:D,Hh:P,Hl:G}=this;return[t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G]}set(t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G){this.Ah=t|0,this.Al=r|0,this.Bh=i|0,this.Bl=n|0,this.Ch=o|0,this.Cl=d|0,this.Dh=g|0,this.Dl=y|0,this.Eh=_|0,this.El=I|0,this.Fh=N|0,this.Fl=T|0,this.Gh=M|0,this.Gl=D|0,this.Hh=P|0,this.Hl=G|0}process(t,r){for(let ne=0;ne<16;ne++,r+=4)oI[ne]=t.getUint32(r),aI[ne]=t.getUint32(r+=4);for(let ne=16;ne<80;ne++){let ce=oI[ne-15]|0,le=aI[ne-15]|0,pe=Ya.rotrSH(ce,le,1)^Ya.rotrSH(ce,le,8)^Ya.shrSH(ce,le,7),ae=Ya.rotrSL(ce,le,1)^Ya.rotrSL(ce,le,8)^Ya.shrSL(ce,le,7),W=oI[ne-2]|0,se=aI[ne-2]|0,O=Ya.rotrSH(W,se,19)^Ya.rotrBH(W,se,61)^Ya.shrSH(W,se,6),s=Ya.rotrSL(W,se,19)^Ya.rotrBL(W,se,61)^Ya.shrSL(W,se,6),l=Ya.add4L(ae,s,aI[ne-7],aI[ne-16]),A=Ya.add4H(l,pe,O,oI[ne-7],oI[ne-16]);oI[ne]=A|0,aI[ne]=l|0}let{Ah:i,Al:n,Bh:o,Bl:d,Ch:g,Cl:y,Dh:_,Dl:I,Eh:N,El:T,Fh:M,Fl:D,Gh:P,Gl:G,Hh:q,Hl:Y}=this;for(let ne=0;ne<80;ne++){let ce=Ya.rotrSH(N,T,14)^Ya.rotrSH(N,T,18)^Ya.rotrBH(N,T,41),le=Ya.rotrSL(N,T,14)^Ya.rotrSL(N,T,18)^Ya.rotrBL(N,T,41),pe=N&M^~N&P,ae=T&D^~T&G,W=Ya.add5L(Y,le,ae,Jkt[ne],aI[ne]),se=Ya.add5H(W,q,ce,pe,Vkt[ne],oI[ne]),O=W|0,s=Ya.rotrSH(i,n,28)^Ya.rotrBH(i,n,34)^Ya.rotrBH(i,n,39),l=Ya.rotrSL(i,n,28)^Ya.rotrBL(i,n,34)^Ya.rotrBL(i,n,39),A=i&o^i&g^o&g,m=n&d^n&y^d&y;q=P|0,Y=G|0,P=M|0,G=D|0,M=N|0,D=T|0,{h:N,l:T}=Ya.add(_|0,I|0,se|0,O|0),_=g|0,I=y|0,g=o|0,y=d|0,o=i|0,d=n|0;let E=Ya.add3L(O,l,m);i=Ya.add3H(E,se,s,A),n=E|0}({h:i,l:n}=Ya.add(this.Ah|0,this.Al|0,i|0,n|0)),{h:o,l:d}=Ya.add(this.Bh|0,this.Bl|0,o|0,d|0),{h:g,l:y}=Ya.add(this.Ch|0,this.Cl|0,g|0,y|0),{h:_,l:I}=Ya.add(this.Dh|0,this.Dl|0,_|0,I|0),{h:N,l:T}=Ya.add(this.Eh|0,this.El|0,N|0,T|0),{h:M,l:D}=Ya.add(this.Fh|0,this.Fl|0,M|0,D|0),{h:P,l:G}=Ya.add(this.Gh|0,this.Gl|0,P|0,G|0),{h:q,l:Y}=Ya.add(this.Hh|0,this.Hl|0,q|0,Y|0),this.set(i,n,o,d,g,y,_,I,N,T,M,D,P,G,q,Y)}roundClean(){(0,rf.clean)(oI,aI)}destroy(){(0,rf.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};Ju.SHA512=sC;var oz=class extends sC{constructor(){super(48),this.Ah=Do.SHA384_IV[0]|0,this.Al=Do.SHA384_IV[1]|0,this.Bh=Do.SHA384_IV[2]|0,this.Bl=Do.SHA384_IV[3]|0,this.Ch=Do.SHA384_IV[4]|0,this.Cl=Do.SHA384_IV[5]|0,this.Dh=Do.SHA384_IV[6]|0,this.Dl=Do.SHA384_IV[7]|0,this.Eh=Do.SHA384_IV[8]|0,this.El=Do.SHA384_IV[9]|0,this.Fh=Do.SHA384_IV[10]|0,this.Fl=Do.SHA384_IV[11]|0,this.Gh=Do.SHA384_IV[12]|0,this.Gl=Do.SHA384_IV[13]|0,this.Hh=Do.SHA384_IV[14]|0,this.Hl=Do.SHA384_IV[15]|0}};Ju.SHA384=oz;var Dh=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),kh=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),az=class extends sC{constructor(){super(28),this.Ah=Dh[0]|0,this.Al=Dh[1]|0,this.Bh=Dh[2]|0,this.Bl=Dh[3]|0,this.Ch=Dh[4]|0,this.Cl=Dh[5]|0,this.Dh=Dh[6]|0,this.Dl=Dh[7]|0,this.Eh=Dh[8]|0,this.El=Dh[9]|0,this.Fh=Dh[10]|0,this.Fl=Dh[11]|0,this.Gh=Dh[12]|0,this.Gl=Dh[13]|0,this.Hh=Dh[14]|0,this.Hl=Dh[15]|0}};Ju.SHA512_224=az;var sz=class extends sC{constructor(){super(32),this.Ah=kh[0]|0,this.Al=kh[1]|0,this.Bh=kh[2]|0,this.Bl=kh[3]|0,this.Ch=kh[4]|0,this.Cl=kh[5]|0,this.Dh=kh[6]|0,this.Dl=kh[7]|0,this.Eh=kh[8]|0,this.El=kh[9]|0,this.Fh=kh[10]|0,this.Fl=kh[11]|0,this.Gh=kh[12]|0,this.Gl=kh[13]|0,this.Hh=kh[14]|0,this.Hl=kh[15]|0}};Ju.SHA512_256=sz;Ju.sha256=(0,rf.createHasher)(()=>new Yk);Ju.sha224=(0,rf.createHasher)(()=>new iz);Ju.sha512=(0,rf.createHasher)(()=>new sC);Ju.sha384=(0,rf.createHasher)(()=>new oz);Ju.sha512_256=(0,rf.createHasher)(()=>new sz);Ju.sha512_224=(0,rf.createHasher)(()=>new az)});var kle=ir(fl=>{"use strict";J();K();z();Object.defineProperty(fl,"__esModule",{value:!0});fl.sha512_256=fl.SHA512_256=fl.sha512_224=fl.SHA512_224=fl.sha384=fl.SHA384=fl.sha512=fl.SHA512=void 0;var sI=Dle();fl.SHA512=sI.SHA512;fl.sha512=sI.sha512;fl.SHA384=sI.SHA384;fl.sha384=sI.sha384;fl.SHA512_224=sI.SHA512_224;fl.sha512_224=sI.sha512_224;fl.SHA512_256=sI.SHA512_256;fl.sha512_256=sI.sha512_256});var OZe=ir(nf=>{"use strict";J();K();z();var zkt=nf&&nf.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),Kkt=nf&&nf.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),$kt=nf&&nf.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&zkt(t,e,r);return Kkt(t,e),t};Object.defineProperty(nf,"__esModule",{value:!0});nf.pbkdf2Sha512=nf.pbkdf2Sha512Noble=nf.pbkdf2Sha512NodeCrypto=nf.pbkdf2Sha512Subtle=nf.getSubtle=nf.getNodeCrypto=void 0;var cC=Uf(),Ykt=jXe(),Wkt=kle();async function RZe(){try{let e=await Promise.resolve().then(()=>$kt((IA(),Zu(Lv))));return typeof e=="object"&&Object.keys(e).length<=1?void 0:e}catch{return}}nf.getNodeCrypto=RZe;async function SZe(){let e=globalThis?.crypto?.subtle;return e||(e=globalThis?.crypto?.webcrypto?.subtle),e}nf.getSubtle=SZe;async function IZe(e,t,r,i,n){return(0,cC.assert)(e,"Argument subtle is falsy"),(0,cC.assert)(typeof e=="object","Argument subtle is not of type object"),(0,cC.assert)(typeof e.importKey=="function","subtle.importKey is not a function"),(0,cC.assert)(typeof e.deriveBits=="function","subtle.deriveBits is not a function"),e.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then(o=>e.deriveBits({name:"PBKDF2",salt:r,iterations:i,hash:{name:"SHA-512"}},o,n*8).then(d=>new Uint8Array(d)))}nf.pbkdf2Sha512Subtle=IZe;async function CZe(e,t,r,i,n){return(0,cC.assert)(e,"Argument nodeCrypto is falsy"),(0,cC.assert)(typeof e=="object","Argument nodeCrypto is not of type object"),(0,cC.assert)(typeof e.pbkdf2=="function","nodeCrypto.pbkdf2 is not a function"),new Promise((o,d)=>{e.pbkdf2(t,r,i,n,"sha512",(g,y)=>{g?d(g):o(Uint8Array.from(y))})})}nf.pbkdf2Sha512NodeCrypto=CZe;async function wZe(e,t,r,i){return(0,Ykt.pbkdf2Async)(Wkt.sha512,e,t,{c:r,dkLen:i})}nf.pbkdf2Sha512Noble=wZe;async function Xkt(e,t,r,i){let n=await SZe();if(n)return IZe(n,e,t,r,i);{let o=await RZe();return o?CZe(o,e,t,r,i):wZe(e,t,r,i)}}nf.pbkdf2Sha512=Xkt});var NZe=ir(Rb=>{"use strict";J();K();z();Object.defineProperty(Rb,"__esModule",{value:!0});Rb.sha224=Rb.SHA224=Rb.sha256=Rb.SHA256=void 0;var cz=Dle();Rb.SHA256=cz.SHA256;Rb.sha256=cz.sha256;Rb.SHA224=cz.SHA224;Rb.sha224=cz.sha224});var dz=ir(uz=>{"use strict";J();K();z();Object.defineProperty(uz,"__esModule",{value:!0});uz.toRealUint8Array=void 0;function Zkt(e){return e instanceof Uint8Array?e:Uint8Array.from(e)}uz.toRealUint8Array=Zkt});var hz=ir(Sb=>{"use strict";J();K();z();Object.defineProperty(Sb,"__esModule",{value:!0});Sb.sha512=Sb.Sha512=Sb.sha256=Sb.Sha256=void 0;var jkt=NZe(),ePt=kle(),xZe=dz(),fz=class{constructor(t){this.blockSize=512/8,this.impl=jkt.sha256.create(),t&&this.update(t)}update(t){return this.impl.update((0,xZe.toRealUint8Array)(t)),this}digest(){return this.impl.digest()}};Sb.Sha256=fz;function tPt(e){return new fz(e).digest()}Sb.sha256=tPt;var lz=class{constructor(t){this.blockSize=1024/8,this.impl=ePt.sha512.create(),t&&this.update(t)}update(t){return this.impl.update((0,xZe.toRealUint8Array)(t)),this}digest(){return this.impl.digest()}};Sb.Sha512=lz;function rPt(e){return new lz(e).digest()}Sb.sha512=rPt});var PZe=ir(Ib=>{"use strict";J();K();z();Object.defineProperty(Ib,"__esModule",{value:!0});Ib.Bip39=Ib.EnglishMnemonic=Ib.mnemonicToEntropy=Ib.entropyToMnemonic=void 0;var TZe=Ps(),nPt=OZe(),iPt=hz(),Ule=["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"];function BZe(e){return Array.from(e).map(t=>t.toString(2).padStart(8,"0")).join("")}function MZe(e){let r=e.length*8/32,i=(0,iPt.sha256)(e);return BZe(i).slice(0,r)}function DZe(e){return parseInt(e,2)}var oPt=[16,20,24,28,32],aPt=[12,15,18,21,24];function kZe(e){if(oPt.indexOf(e.length)===-1)throw new Error("invalid input length");let t=BZe(e),r=MZe(e);return(t+r).match(/(.{11})/g).map(d=>{let g=DZe(d);return Ule[g]}).join(" ")}Ib.entropyToMnemonic=kZe;var sPt="Invalid number of words",cPt="Found word that is not in the wordlist",uPt="Invalid entropy",dPt="Invalid mnemonic checksum";function Ple(e){return e.normalize("NFKD")}function Fle(e){let t=Ple(e).split(" ");if(!aPt.includes(t.length))throw new Error(sPt);let r=t.map(_=>{let I=Ule.indexOf(_);if(I===-1)throw new Error(cPt);return I.toString(2).padStart(11,"0")}).join(""),i=Math.floor(r.length/33)*32,n=r.slice(0,i),o=r.slice(i),d=n.match(/(.{1,8})/g).map(DZe);if(d.length<16||d.length>32||d.length%4!==0)throw new Error(uPt);let g=Uint8Array.from(d);if(MZe(g)!==o)throw new Error(dPt);return g}Ib.mnemonicToEntropy=Fle;var UN=class e{constructor(t){if(!e.mnemonicMatcher.test(t))throw new Error("Invalid mnemonic format");let r=t.split(" "),i=[12,15,18,21,24];if(i.indexOf(r.length)===-1)throw new Error(`Invalid word count in mnemonic (allowed: ${i} got: ${r.length})`);for(let n of r)if(e.wordlist.indexOf(n)===-1)throw new Error("Mnemonic contains invalid word");Fle(t),this.data=t}toString(){return this.data}};Ib.EnglishMnemonic=UN;UN.wordlist=Ule;UN.mnemonicMatcher=/^[a-z]+( [a-z]+)*$/;var Lle=class{static encode(t){return new UN(kZe(t))}static decode(t){return Fle(t.toString())}static async mnemonicToSeed(t,r){let i=(0,TZe.toUtf8)(Ple(t.toString())),n="mnemonic"+(r?Ple(r):""),o=(0,TZe.toUtf8)(n);return(0,nPt.pbkdf2Sha512)(i,o,2048,64)}};Ib.Bip39=Lle});var Hle=ir(Az=>{"use strict";J();K();z();Object.defineProperty(Az,"__esModule",{value:!0});Az.Hmac=void 0;var Qle=class{constructor(t,r){let i=new t().blockSize;this.hash=o=>new t().update(o).digest();let n=r;if(n.length>i&&(n=this.hash(n)),n.length<i){let o=new Uint8Array(i-n.length);n=new Uint8Array([...n,...o])}this.oKeyPad=n.map(o=>o^92),this.iKeyPad=n.map(o=>o^54),this.messageHasher=new t,this.blockSize=i,this.update(this.iKeyPad)}update(t){return this.messageHasher.update(t),this}digest(){let t=this.messageHasher.digest();return this.hash(new Uint8Array([...this.oKeyPad,...t]))}};Az.Hmac=Qle});var JZe=ir(e0=>{"use strict";J();K();z();Object.defineProperty(e0,"__esModule",{value:!0});e0.shake256=e0.shake128=e0.keccak_512=e0.keccak_384=e0.keccak_256=e0.keccak_224=e0.sha3_512=e0.sha3_384=e0.sha3_256=e0.sha3_224=e0.Keccak=void 0;e0.keccakP=qZe;var Xk=Mle(),Ph=iC(),fPt=BigInt(0),Wk=BigInt(1),lPt=BigInt(2),hPt=BigInt(7),APt=BigInt(256),pPt=BigInt(113),FZe=[],QZe=[],HZe=[];for(let e=0,t=Wk,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],FZe.push(2*(5*i+r)),QZe.push((e+1)*(e+2)/2%64);let n=fPt;for(let o=0;o<7;o++)t=(t<<Wk^(t>>hPt)*pPt)%APt,t&lPt&&(n^=Wk<<(Wk<<BigInt(o))-Wk);HZe.push(n)}var GZe=(0,Xk.split)(HZe,!0),gPt=GZe[0],_Pt=GZe[1],LZe=(e,t,r)=>r>32?(0,Xk.rotlBH)(e,t,r):(0,Xk.rotlSH)(e,t,r),UZe=(e,t,r)=>r>32?(0,Xk.rotlBL)(e,t,r):(0,Xk.rotlSL)(e,t,r);function qZe(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let d=0;d<10;d++)r[d]=e[d]^e[d+10]^e[d+20]^e[d+30]^e[d+40];for(let d=0;d<10;d+=2){let g=(d+8)%10,y=(d+2)%10,_=r[y],I=r[y+1],N=LZe(_,I,1)^r[g],T=UZe(_,I,1)^r[g+1];for(let M=0;M<50;M+=10)e[d+M]^=N,e[d+M+1]^=T}let n=e[2],o=e[3];for(let d=0;d<24;d++){let g=QZe[d],y=LZe(n,o,g),_=UZe(n,o,g),I=FZe[d];n=e[I],o=e[I+1],e[I]=y,e[I+1]=_}for(let d=0;d<50;d+=10){for(let g=0;g<10;g++)r[g]=e[d+g];for(let g=0;g<10;g++)e[d+g]^=~r[(g+2)%10]&r[(g+4)%10]}e[0]^=gPt[i],e[1]^=_Pt[i]}(0,Ph.clean)(r)}var Zk=class e extends Ph.Hash{constructor(t,r,i,n=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=i,this.enableXOF=n,this.rounds=o,(0,Ph.anumber)(i),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,Ph.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,Ph.swap32IfBE)(this.state32),qZe(this.state32,this.rounds),(0,Ph.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(t){(0,Ph.aexists)(this),t=(0,Ph.toBytes)(t),(0,Ph.abytes)(t);let{blockLen:r,state:i}=this,n=t.length;for(let o=0;o<n;){let d=Math.min(r-this.pos,n-o);for(let g=0;g<d;g++)i[this.pos++]^=t[o++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:i,blockLen:n}=this;t[i]^=r,(r&128)!==0&&i===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,Ph.aexists)(this,!1),(0,Ph.abytes)(t),this.finish();let r=this.state,{blockLen:i}=this;for(let n=0,o=t.length;n<o;){this.posOut>=i&&this.keccak();let d=Math.min(i-this.posOut,o-n);t.set(r.subarray(this.posOut,this.posOut+d),n),this.posOut+=d,n+=d}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,Ph.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,Ph.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,Ph.clean)(this.state)}_cloneInto(t){let{blockLen:r,suffix:i,outputLen:n,rounds:o,enableXOF:d}=this;return t||(t=new e(r,i,n,d,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=i,t.outputLen=n,t.enableXOF=d,t.destroyed=this.destroyed,t}};e0.Keccak=Zk;var cI=(e,t,r)=>(0,Ph.createHasher)(()=>new Zk(t,e,r));e0.sha3_224=cI(6,144,224/8);e0.sha3_256=cI(6,136,256/8);e0.sha3_384=cI(6,104,384/8);e0.sha3_512=cI(6,72,512/8);e0.keccak_224=cI(1,144,224/8);e0.keccak_256=cI(1,136,256/8);e0.keccak_384=cI(1,104,384/8);e0.keccak_512=cI(1,72,512/8);var VZe=(e,t,r)=>(0,Ph.createXOFer)((i={})=>new Zk(t,e,i.dkLen===void 0?r:i.dkLen,!0));e0.shake128=VZe(31,168,128/8);e0.shake256=VZe(31,136,256/8)});var zZe=ir(FN=>{"use strict";J();K();z();Object.defineProperty(FN,"__esModule",{value:!0});FN.keccak256=FN.Keccak256=void 0;var mPt=JZe(),yPt=dz(),pz=class{constructor(t){this.blockSize=512/8,this.impl=mPt.keccak_256.create(),t&&this.update(t)}update(t){return this.impl.update((0,yPt.toRealUint8Array)(t)),this}digest(){return this.impl.digest()}};FN.Keccak256=pz;function bPt(e){return new pz(e).digest()}FN.keccak256=bPt});function KZe(e,t){if(e==null)throw new TypeError("Cannot convert first argument to object");for(var r=Object(e),i=1;i<arguments.length;i++){var n=arguments[i];if(n!=null)for(var o=Object.keys(Object(n)),d=0,g=o.length;d<g;d++){var y=o[d],_=Object.getOwnPropertyDescriptor(n,y);_!==void 0&&_.enumerable&&(r[y]=n[y])}}return r}function Lje(){if(aje)return $le;function e(_){return(e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I})(_)}function t(_,I){return!I||e(I)!=="object"&&typeof I!="function"?(function(N){if(N===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return N})(_):I}function r(_){return(r=Object.setPrototypeOf?Object.getPrototypeOf:function(I){return I.__proto__||Object.getPrototypeOf(I)})(_)}function i(_,I){return(i=Object.setPrototypeOf||function(N,T){return N.__proto__=T,N})(_,I)}aje=!0;var n,o,d={};function g(_,I,N){N||(N=Error);var T=(function(M){function D(P,G,q){var Y;return(function(ne,ce){if(!(ne instanceof ce))throw new TypeError("Cannot call a class as a function")})(this,D),(Y=t(this,r(D).call(this,(function(ne,ce,le){return typeof I=="string"?I:I(ne,ce,le)})(P,G,q)))).code=_,Y}return(function(P,G){if(typeof G!="function"&&G!==null)throw new TypeError("Super expression must either be null or a function");P.prototype=Object.create(G&&G.prototype,{constructor:{value:P,writable:!0,configurable:!0}}),G&&i(P,G)})(D,M),D})(N);d[_]=T}function y(_,I){if(Array.isArray(_)){var N=_.length;return _=_.map((function(T){return String(T)})),N>2?"one of ".concat(I," ").concat(_.slice(0,N-1).join(", "),", or ")+_[N-1]:N===2?"one of ".concat(I," ").concat(_[0]," or ").concat(_[1]):"of ".concat(I," ").concat(_[0])}return"of ".concat(I," ").concat(String(_))}return g("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),g("ERR_INVALID_ARG_TYPE",(function(_,I,N){var T,M,D;if(n===void 0&&(n=ehe()),n(typeof _=="string","'name' must be a string"),typeof I=="string"&&(M="not ",I.substr(0,M.length)===M)?(T="must not be",I=I.replace(/^not /,"")):T="must be",(function(G,q,Y){return(Y===void 0||Y>G.length)&&(Y=G.length),G.substring(Y-q.length,Y)===q})(_," argument"))D="The ".concat(_," ").concat(T," ").concat(y(I,"type"));else{var P=(function(G,q,Y){return typeof Y!="number"&&(Y=0),!(Y+q.length>G.length)&&G.indexOf(q,Y)!==-1})(_,".")?"property":"argument";D='The "'.concat(_,'" ').concat(P," ").concat(T," ").concat(y(I,"type"))}return D+=". Received type ".concat(e(N))}),TypeError),g("ERR_INVALID_ARG_VALUE",(function(_,I){var N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";o===void 0&&(o=yn);var T=o.inspect(I);return T.length>128&&(T="".concat(T.slice(0,128),"...")),"The argument '".concat(_,"' ").concat(N,". Received ").concat(T)}),TypeError),g("ERR_INVALID_RETURN_VALUE",(function(_,I,N){var T;return T=N&&N.constructor&&N.constructor.name?"instance of ".concat(N.constructor.name):"type ".concat(e(N)),"Expected ".concat(_,' to be returned from the "').concat(I,'"')+" function but got ".concat(T,".")}),TypeError),g("ERR_MISSING_ARGS",(function(){for(var _=arguments.length,I=new Array(_),N=0;N<_;N++)I[N]=arguments[N];n===void 0&&(n=ehe()),n(I.length>0,"At least one arg needs to be specified");var T="The ",M=I.length;switch(I=I.map((function(D){return'"'.concat(D,'"')})),M){case 1:T+="".concat(I[0]," argument");break;case 2:T+="".concat(I[0]," and ").concat(I[1]," arguments");break;default:T+=I.slice(0,M-1).join(", "),T+=", and ".concat(I[M-1]," arguments")}return"".concat(T," must be specified")}),TypeError),$le.codes=d,$le}function oLt(){if(cje)return sje;cje=!0;var e=Mo;function t(ae,W,se){return W in ae?Object.defineProperty(ae,W,{value:se,enumerable:!0,configurable:!0,writable:!0}):ae[W]=se,ae}function r(ae,W){for(var se=0;se<W.length;se++){var O=W[se];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(ae,O.key,O)}}function i(ae,W){return!W||I(W)!=="object"&&typeof W!="function"?n(ae):W}function n(ae){if(ae===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ae}function o(ae){var W=typeof Map=="function"?new Map:void 0;return(o=function(se){if(se===null||(O=se,Function.toString.call(O).indexOf("[native code]")===-1))return se;var O;if(typeof se!="function")throw new TypeError("Super expression must either be null or a function");if(W!==void 0){if(W.has(se))return W.get(se);W.set(se,s)}function s(){return g(se,arguments,_(this).constructor)}return s.prototype=Object.create(se.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}),y(s,se)})(ae)}function d(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch{return!1}}function g(ae,W,se){return(g=d()?Reflect.construct:function(O,s,l){var A=[null];A.push.apply(A,s);var m=new(Function.bind.apply(O,A));return l&&y(m,l.prototype),m}).apply(null,arguments)}function y(ae,W){return(y=Object.setPrototypeOf||function(se,O){return se.__proto__=O,se})(ae,W)}function _(ae){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(W){return W.__proto__||Object.getPrototypeOf(W)})(ae)}function I(ae){return(I=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(W){return typeof W}:function(W){return W&&typeof Symbol=="function"&&W.constructor===Symbol&&W!==Symbol.prototype?"symbol":typeof W})(ae)}var N=yn.inspect,T=Lje().codes.ERR_INVALID_ARG_TYPE;function M(ae,W,se){return(se===void 0||se>ae.length)&&(se=ae.length),ae.substring(se-W.length,se)===W}var D="",P="",G="",q="",Y={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function ne(ae){var W=Object.keys(ae),se=Object.create(Object.getPrototypeOf(ae));return W.forEach((function(O){se[O]=ae[O]})),Object.defineProperty(se,"message",{value:ae.message}),se}function ce(ae){return N(ae,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function le(ae,W,se){var O="",s="",l=0,A="",m=!1,E=ce(ae),w=E.split(` +`),x=ce(W).split(` +`),R=0,u="";if(se==="strictEqual"&&I(ae)==="object"&&I(W)==="object"&&ae!==null&&W!==null&&(se="strictEqualObject"),w.length===1&&x.length===1&&w[0]!==x[0]){var C=w[0].length+x[0].length;if(C<=10){if(!(I(ae)==="object"&&ae!==null||I(W)==="object"&&W!==null||ae===0&&W===0))return"".concat(Y[se],` + +`)+"".concat(w[0]," !== ").concat(x[0],` +`)}else if(se!=="strictEqualObject"&&C<(e.stderr&&e.stderr.isTTY?e.stderr.columns:80)){for(;w[0][R]===x[0][R];)R++;R>2&&(u=` + `.concat((function(te,Ue){if(Ue=Math.floor(Ue),te.length==0||Ue==0)return"";var oe=te.length*Ue;for(Ue=Math.floor(Math.log(Ue)/Math.log(2));Ue;)te+=te,Ue--;return te+=te.substring(0,oe-te.length)})(" ",R),"^"),R=0)}}for(var U=w[w.length-1],F=x[x.length-1];U===F&&(R++<2?A=` + `.concat(U).concat(A):O=U,w.pop(),x.pop(),w.length!==0&&x.length!==0);)U=w[w.length-1],F=x[x.length-1];var X=Math.max(w.length,x.length);if(X===0){var Ae=E.split(` +`);if(Ae.length>30)for(Ae[26]="".concat(D,"...").concat(q);Ae.length>27;)Ae.pop();return"".concat(Y.notIdentical,` + +`).concat(Ae.join(` +`),` +`)}R>3&&(A=` +`.concat(D,"...").concat(q).concat(A),m=!0),O!==""&&(A=` + `.concat(O).concat(A),O="");var he=0,$e=Y[se]+` +`.concat(P,"+ actual").concat(q," ").concat(G,"- expected").concat(q),Ge=" ".concat(D,"...").concat(q," Lines skipped");for(R=0;R<X;R++){var Re=R-l;if(w.length<R+1)Re>1&&R>2&&(Re>4?(s+=` +`.concat(D,"...").concat(q),m=!0):Re>3&&(s+=` + `.concat(x[R-2]),he++),s+=` + `.concat(x[R-1]),he++),l=R,O+=` +`.concat(G,"-").concat(q," ").concat(x[R]),he++;else if(x.length<R+1)Re>1&&R>2&&(Re>4?(s+=` +`.concat(D,"...").concat(q),m=!0):Re>3&&(s+=` + `.concat(w[R-2]),he++),s+=` + `.concat(w[R-1]),he++),l=R,s+=` +`.concat(P,"+").concat(q," ").concat(w[R]),he++;else{var Se=x[R],ct=w[R],ze=ct!==Se&&(!M(ct,",")||ct.slice(0,-1)!==Se);ze&&M(Se,",")&&Se.slice(0,-1)===ct&&(ze=!1,ct+=","),ze?(Re>1&&R>2&&(Re>4?(s+=` +`.concat(D,"...").concat(q),m=!0):Re>3&&(s+=` + `.concat(w[R-2]),he++),s+=` + `.concat(w[R-1]),he++),l=R,s+=` +`.concat(P,"+").concat(q," ").concat(ct),O+=` +`.concat(G,"-").concat(q," ").concat(Se),he+=2):(s+=O,O="",Re!==1&&R!==0||(s+=` + `.concat(ct),he++))}if(he>20&&R<X-2)return"".concat($e).concat(Ge,` +`).concat(s,` +`).concat(D,"...").concat(q).concat(O,` +`)+"".concat(D,"...").concat(q)}return"".concat($e).concat(m?Ge:"",` +`).concat(s).concat(O).concat(A).concat(u)}var pe=(function(ae){function W(s){var l;if((function(Ae,he){if(!(Ae instanceof he))throw new TypeError("Cannot call a class as a function")})(this,W),I(s)!=="object"||s===null)throw new T("options","Object",s);var A=s.message,m=s.operator,E=s.stackStartFn,w=s.actual,x=s.expected,R=Error.stackTraceLimit;if(Error.stackTraceLimit=0,A!=null)l=i(this,_(W).call(this,String(A)));else if(e.stderr&&e.stderr.isTTY&&(e.stderr&&e.stderr.getColorDepth&&e.stderr.getColorDepth()!==1?(D="\x1B[34m",P="\x1B[32m",q="\x1B[39m",G="\x1B[31m"):(D="",P="",q="",G="")),I(w)==="object"&&w!==null&&I(x)==="object"&&x!==null&&"stack"in w&&w instanceof Error&&"stack"in x&&x instanceof Error&&(w=ne(w),x=ne(x)),m==="deepStrictEqual"||m==="strictEqual")l=i(this,_(W).call(this,le(w,x,m)));else if(m==="notDeepStrictEqual"||m==="notStrictEqual"){var u=Y[m],C=ce(w).split(` +`);if(m==="notStrictEqual"&&I(w)==="object"&&w!==null&&(u=Y.notStrictEqualObject),C.length>30)for(C[26]="".concat(D,"...").concat(q);C.length>27;)C.pop();l=C.length===1?i(this,_(W).call(this,"".concat(u," ").concat(C[0]))):i(this,_(W).call(this,"".concat(u,` + +`).concat(C.join(` +`),` +`)))}else{var U=ce(w),F="",X=Y[m];m==="notDeepEqual"||m==="notEqual"?(U="".concat(Y[m],` + +`).concat(U)).length>1024&&(U="".concat(U.slice(0,1021),"...")):(F="".concat(ce(x)),U.length>512&&(U="".concat(U.slice(0,509),"...")),F.length>512&&(F="".concat(F.slice(0,509),"...")),m==="deepEqual"||m==="equal"?U="".concat(X,` + +`).concat(U,` + +should equal + +`):F=" ".concat(m," ").concat(F)),l=i(this,_(W).call(this,"".concat(U).concat(F)))}return Error.stackTraceLimit=R,l.generatedMessage=!A,Object.defineProperty(n(l),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),l.code="ERR_ASSERTION",l.actual=w,l.expected=x,l.operator=m,Error.captureStackTrace&&Error.captureStackTrace(n(l),E),l.stack,l.name="AssertionError",i(l)}var se,O;return(function(s,l){if(typeof l!="function"&&l!==null)throw new TypeError("Super expression must either be null or a function");s.prototype=Object.create(l&&l.prototype,{constructor:{value:s,writable:!0,configurable:!0}}),l&&y(s,l)})(W,ae),se=W,(O=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:N.custom,value:function(s,l){return N(this,(function(A){for(var m=1;m<arguments.length;m++){var E=arguments[m]!=null?arguments[m]:{},w=Object.keys(E);typeof Object.getOwnPropertySymbols=="function"&&(w=w.concat(Object.getOwnPropertySymbols(E).filter((function(x){return Object.getOwnPropertyDescriptor(E,x).enumerable})))),w.forEach((function(x){t(A,x,E[x])}))}return A})({},l,{customInspect:!1,depth:0}))}}])&&r(se.prototype,O),W})(o(Error));return sje=pe}function uje(e,t){return(function(r){if(Array.isArray(r))return r})(e)||(function(r,i){var n=[],o=!0,d=!1,g=void 0;try{for(var y,_=r[Symbol.iterator]();!(o=(y=_.next()).done)&&(n.push(y.value),!i||n.length!==i);o=!0);}catch(I){d=!0,g=I}finally{try{o||_.return==null||_.return()}finally{if(d)throw g}}return n})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")})()}function Fm(e){return(Fm=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function nhe(e){return e.call.bind(e)}function ALt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function yz(e){return Object.keys(e).filter(ALt).concat(Ez(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function yje(e,t){if(e===t)return 0;for(var r=e.length,i=t.length,n=0,o=Math.min(r,i);n<o;++n)if(e[n]!==t[n]){r=e[n],i=t[n];break}return r<i?-1:i<r?1:0}function m_(e,t,r,i){if(e===t)return e!==0||!r||fje(e,t);if(r){if(Fm(e)!=="object")return typeof e=="number"&&jle(e)&&jle(t);if(Fm(t)!=="object"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||Fm(e)!=="object")return(t===null||Fm(t)!=="object")&&e==t;if(t===null||Fm(t)!=="object")return!1}var n,o,d,g,y=lje(e);if(y!==lje(t))return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var _=yz(e),I=yz(t);return _.length===I.length&&tP(e,t,r,i,1,_)}if(y==="[object Object]"&&(!_z(e)&&_z(t)||!mz(e)&&mz(t)))return!1;if(hje(e)){if(!hje(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(Aje(e)){if(!Aje(t)||(d=e,g=t,!(aLt?d.source===g.source&&d.flags===g.flags:RegExp.prototype.toString.call(d)===RegExp.prototype.toString.call(g))))return!1}else if(uLt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else{if(cLt(e)){if(r||!lLt(e)&&!hLt(e)){if(!(function(M,D){return M.byteLength===D.byteLength&&yje(new Uint8Array(M.buffer,M.byteOffset,M.byteLength),new Uint8Array(D.buffer,D.byteOffset,D.byteLength))===0})(e,t))return!1}else if(!(function(M,D){if(M.byteLength!==D.byteLength)return!1;for(var P=0;P<M.byteLength;P++)if(M[P]!==D[P])return!1;return!0})(e,t))return!1;var N=yz(e),T=yz(t);return N.length===T.length&&tP(e,t,r,i,0,N)}if(mz(e))return!(!mz(t)||e.size!==t.size)&&tP(e,t,r,i,2);if(_z(e))return!(!_z(t)||e.size!==t.size)&&tP(e,t,r,i,3);if(sLt(e)){if(o=t,(n=e).byteLength!==o.byteLength||yje(new Uint8Array(n),new Uint8Array(o))!==0)return!1}else if(dLt(e)&&!(function(M,D){return pje(M)?pje(D)&&fje(Number.prototype.valueOf.call(M),Number.prototype.valueOf.call(D)):gje(M)?gje(D)&&String.prototype.valueOf.call(M)===String.prototype.valueOf.call(D):_je(M)?_je(D)&&Boolean.prototype.valueOf.call(M)===Boolean.prototype.valueOf.call(D):mje(M)?mje(D)&&BigInt.prototype.valueOf.call(M)===BigInt.prototype.valueOf.call(D):fLt(D)&&Symbol.prototype.valueOf.call(M)===Symbol.prototype.valueOf.call(D)})(e,t))return!1}return tP(e,t,r,i,0)}function bje(e,t){return t.filter((function(r){return vz(e,r)}))}function tP(e,t,r,i,n,o){if(arguments.length===5){o=Object.keys(e);var d=Object.keys(t);if(o.length!==d.length)return!1}for(var g=0;g<o.length;g++)if(!rP(t,o[g]))return!1;if(r&&arguments.length===5){var y=Ez(e);if(y.length!==0){var _=0;for(g=0;g<y.length;g++){var I=y[g];if(vz(e,I)){if(!vz(t,I))return!1;o.push(I),_++}else if(vz(t,I))return!1}var N=Ez(t);if(y.length!==N.length&&bje(t,N).length!==_)return!1}else{var T=Ez(t);if(T.length!==0&&bje(t,T).length!==0)return!1}}if(o.length===0&&(n===0||n===1&&e.length===0||e.size===0))return!0;if(i===void 0)i={val1:new Map,val2:new Map,position:0};else{var M=i.val1.get(e);if(M!==void 0){var D=i.val2.get(t);if(D!==void 0)return M===D}i.position++}i.val1.set(e,i.position),i.val2.set(t,i.position);var P=_Lt(e,t,r,o,i,n);return i.val1.delete(e),i.val2.delete(t),P}function Eje(e,t,r,i){for(var n=Rz(e),o=0;o<n.length;o++){var d=n[o];if(m_(t,d,r,i))return e.delete(d),!0}return!1}function Uje(e){switch(Fm(e)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":e=+e;case"number":if(jle(e))return!1}return!0}function pLt(e,t,r){var i=Uje(r);return i??(t.has(i)&&!e.has(i))}function gLt(e,t,r,i,n){var o=Uje(r);if(o!=null)return o;var d=t.get(o);return!(d===void 0&&!t.has(o)||!m_(i,d,!1,n))&&!e.has(o)&&m_(i,d,!1,n)}function vje(e,t,r,i,n,o){for(var d=Rz(e),g=0;g<d.length;g++){var y=d[g];if(m_(r,y,n,o)&&m_(i,t.get(y),n,o))return e.delete(y),!0}return!1}function _Lt(e,t,r,i,n,o){var d=0;if(o===2){if(!(function(I,N,T,M){for(var D=null,P=Rz(I),G=0;G<P.length;G++){var q=P[G];if(Fm(q)==="object"&&q!==null)D===null&&(D=new Set),D.add(q);else if(!N.has(q)){if(T||!pLt(I,N,q))return!1;D===null&&(D=new Set),D.add(q)}}if(D!==null){for(var Y=Rz(N),ne=0;ne<Y.length;ne++){var ce=Y[ne];if(Fm(ce)==="object"&&ce!==null){if(!Eje(D,ce,T,M))return!1}else if(!T&&!I.has(ce)&&!Eje(D,ce,T,M))return!1}return D.size===0}return!0})(e,t,r,n))return!1}else if(o===3){if(!(function(I,N,T,M){for(var D=null,P=dje(I),G=0;G<P.length;G++){var q=uje(P[G],2),Y=q[0],ne=q[1];if(Fm(Y)==="object"&&Y!==null)D===null&&(D=new Set),D.add(Y);else{var ce=N.get(Y);if(ce===void 0&&!N.has(Y)||!m_(ne,ce,T,M)){if(T||!gLt(I,N,Y,ne,M))return!1;D===null&&(D=new Set),D.add(Y)}}}if(D!==null){for(var le=dje(N),pe=0;pe<le.length;pe++){var ae=uje(le[pe],2),W=(Y=ae[0],ae[1]);if(Fm(Y)==="object"&&Y!==null){if(!vje(D,I,Y,W,T,M))return!1}else if(!(T||I.has(Y)&&m_(I.get(Y),W,!1,M)||vje(D,I,Y,W,!1,M)))return!1}return D.size===0}return!0})(e,t,r,n))return!1}else if(o===1)for(;d<e.length;d++){if(!rP(e,d)){if(rP(t,d))return!1;for(var g=Object.keys(e);d<g.length;d++){var y=g[d];if(!rP(t,y)||!m_(e[y],t[y],r,n))return!1}return g.length===Object.keys(t).length}if(!rP(t,d)||!m_(e[d],t[d],r,n))return!1}for(d=0;d<i.length;d++){var _=i[d];if(!m_(e[_],t[_],r,n))return!1}return!0}function ehe(){if(Sje)return Yle;Sje=!0;var e=Mo;function t(x){return(t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(x)}var r,i,n=Lje().codes,o=n.ERR_AMBIGUOUS_ARGUMENT,d=n.ERR_INVALID_ARG_TYPE,g=n.ERR_INVALID_ARG_VALUE,y=n.ERR_INVALID_RETURN_VALUE,_=n.ERR_MISSING_ARGS,I=oLt(),N=yn.inspect,T=yn.types,M=T.isPromise,D=T.isRegExp,P=Object.assign?Object.assign:EPt.assign,G=Object.is?Object.is:Dje;function q(){r=Rje.isDeepEqual,i=Rje.isDeepStrictEqual}var Y=!1,ne=Yle=ae,ce={};function le(x){throw x.message instanceof Error?x.message:new I(x)}function pe(x,R,u,C){if(!u){var U=!1;if(R===0)U=!0,C="No value argument passed to `assert.ok()`";else if(C instanceof Error)throw C;var F=new I({actual:u,expected:!0,message:C,operator:"==",stackStartFn:x});throw F.generatedMessage=U,F}}function ae(){for(var x=arguments.length,R=new Array(x),u=0;u<x;u++)R[u]=arguments[u];pe.apply(void 0,[ae,R.length].concat(R))}ne.fail=function x(R,u,C,U,F){var X,Ae=arguments.length;if(Ae===0)X="Failed";else if(Ae===1)C=R,R=void 0;else{if(Y===!1){Y=!0;var he=e.emitWarning?e.emitWarning:console.warn.bind(console);he("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}Ae===2&&(U="!=")}if(C instanceof Error)throw C;var $e={actual:R,expected:u,operator:U===void 0?"fail":U,stackStartFn:F||x};C!==void 0&&($e.message=C);var Ge=new I($e);throw X&&(Ge.message=X,Ge.generatedMessage=!0),Ge},ne.AssertionError=I,ne.ok=ae,ne.equal=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");R!=u&&le({actual:R,expected:u,message:C,operator:"==",stackStartFn:x})},ne.notEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");R==u&&le({actual:R,expected:u,message:C,operator:"!=",stackStartFn:x})},ne.deepEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");r===void 0&&q(),r(R,u)||le({actual:R,expected:u,message:C,operator:"deepEqual",stackStartFn:x})},ne.notDeepEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");r===void 0&&q(),r(R,u)&&le({actual:R,expected:u,message:C,operator:"notDeepEqual",stackStartFn:x})},ne.deepStrictEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");r===void 0&&q(),i(R,u)||le({actual:R,expected:u,message:C,operator:"deepStrictEqual",stackStartFn:x})},ne.notDeepStrictEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");r===void 0&&q(),i(R,u)&&le({actual:R,expected:u,message:C,operator:"notDeepStrictEqual",stackStartFn:x})},ne.strictEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");G(R,u)||le({actual:R,expected:u,message:C,operator:"strictEqual",stackStartFn:x})},ne.notStrictEqual=function x(R,u,C){if(arguments.length<2)throw new _("actual","expected");G(R,u)&&le({actual:R,expected:u,message:C,operator:"notStrictEqual",stackStartFn:x})};var W=function x(R,u,C){var U=this;(function(F,X){if(!(F instanceof X))throw new TypeError("Cannot call a class as a function")})(this,x),u.forEach((function(F){F in R&&(C!==void 0&&typeof C[F]=="string"&&D(R[F])&&R[F].test(C[F])?U[F]=C[F]:U[F]=R[F])}))};function se(x,R,u,C,U,F){if(!(u in x)||!i(x[u],R[u])){if(!C){var X=new W(x,U),Ae=new W(R,U,x),he=new I({actual:X,expected:Ae,operator:"deepStrictEqual",stackStartFn:F});throw he.actual=x,he.expected=R,he.operator=F.name,he}le({actual:x,expected:R,message:C,operator:F.name,stackStartFn:F})}}function O(x,R,u,C){if(typeof R!="function"){if(D(R))return R.test(x);if(arguments.length===2)throw new d("expected",["Function","RegExp"],R);if(t(x)!=="object"||x===null){var U=new I({actual:x,expected:R,message:u,operator:"deepStrictEqual",stackStartFn:C});throw U.operator=C.name,U}var F=Object.keys(R);if(R instanceof Error)F.push("name","message");else if(F.length===0)throw new g("error",R,"may not be an empty object");return r===void 0&&q(),F.forEach((function(X){typeof x[X]=="string"&&D(R[X])&&R[X].test(x[X])||se(x,R,X,u,F,C)})),!0}return R.prototype!==void 0&&x instanceof R||!Error.isPrototypeOf(R)&&R.call({},x)===!0}function s(x){if(typeof x!="function")throw new d("fn","Function",x);try{x()}catch(R){return R}return ce}function l(x){return M(x)||x!==null&&t(x)==="object"&&typeof x.then=="function"&&typeof x.catch=="function"}function A(x){return Promise.resolve().then((function(){var R;if(typeof x=="function"){if(!l(R=x()))throw new y("instance of Promise","promiseFn",R)}else{if(!l(x))throw new d("promiseFn",["Function","Promise"],x);R=x}return Promise.resolve().then((function(){return R})).then((function(){return ce})).catch((function(u){return u}))}))}function m(x,R,u,C){if(typeof u=="string"){if(arguments.length===4)throw new d("error",["Object","Error","Function","RegExp"],u);if(t(R)==="object"&&R!==null){if(R.message===u)throw new o("error/message",'The error message "'.concat(R.message,'" is identical to the message.'))}else if(R===u)throw new o("error/message",'The error "'.concat(R,'" is identical to the message.'));C=u,u=void 0}else if(u!=null&&t(u)!=="object"&&typeof u!="function")throw new d("error",["Object","Error","Function","RegExp"],u);if(R===ce){var U="";u&&u.name&&(U+=" (".concat(u.name,")")),U+=C?": ".concat(C):".";var F=x.name==="rejects"?"rejection":"exception";le({actual:void 0,expected:u,operator:x.name,message:"Missing expected ".concat(F).concat(U),stackStartFn:x})}if(u&&!O(R,u,C,x))throw R}function E(x,R,u,C){if(R!==ce){if(typeof u=="string"&&(C=u,u=void 0),!u||O(R,u)){var U=C?": ".concat(C):".",F=x.name==="doesNotReject"?"rejection":"exception";le({actual:R,expected:u,operator:x.name,message:"Got unwanted ".concat(F).concat(U,` +`)+'Actual message: "'.concat(R&&R.message,'"'),stackStartFn:x})}throw R}}function w(){for(var x=arguments.length,R=new Array(x),u=0;u<x;u++)R[u]=arguments[u];pe.apply(void 0,[w,R.length].concat(R))}return ne.throws=function x(R){for(var u=arguments.length,C=new Array(u>1?u-1:0),U=1;U<u;U++)C[U-1]=arguments[U];m.apply(void 0,[x,s(R)].concat(C))},ne.rejects=function x(R){for(var u=arguments.length,C=new Array(u>1?u-1:0),U=1;U<u;U++)C[U-1]=arguments[U];return A(R).then((function(F){return m.apply(void 0,[x,F].concat(C))}))},ne.doesNotThrow=function x(R){for(var u=arguments.length,C=new Array(u>1?u-1:0),U=1;U<u;U++)C[U-1]=arguments[U];E.apply(void 0,[x,s(R)].concat(C))},ne.doesNotReject=function x(R){for(var u=arguments.length,C=new Array(u>1?u-1:0),U=1;U<u;U++)C[U-1]=arguments[U];return A(R).then((function(F){return E.apply(void 0,[x,F].concat(C))}))},ne.ifError=function x(R){if(R!=null){var u="ifError got unwanted exception: ";t(R)==="object"&&typeof R.message=="string"?R.message.length===0&&R.constructor?u+=R.constructor.name:u+=R.message:u+=N(R);var C=new I({actual:R,expected:null,operator:"ifError",message:u,stackStartFn:x}),U=R.stack;if(typeof U=="string"){var F=U.split(` +`);F.shift();for(var X=C.stack.split(` +`),Ae=0;Ae<F.length;Ae++){var he=X.indexOf(F[Ae]);if(he!==-1){X=X.slice(0,he);break}}C.stack="".concat(X.join(` +`),` +`).concat(F.join(` +`))}throw C}},ne.strict=P(w,ne,{equal:ne.strictEqual,deepEqual:ne.deepStrictEqual,notEqual:ne.notStrictEqual,notDeepEqual:ne.notDeepStrictEqual}),ne.strict.strict=ne.strict,Yle}var EPt,Ije,$Ze,Cje,jk,Gle,YZe,qle,WZe,XZe,eP,gz,ZZe,jZe,vPt,RPt,SPt,eje,bz,tje,IPt,CPt,wPt,OPt,NPt,Wle,wje,xPt,Oje,Sz,TPt,rje,BPt,MPt,DPt,Vle,kPt,PPt,Nje,nP,fC,Jle,LPt,uC,dC,zle,Kle,nje,UPt,FPt,QPt,HPt,GPt,xje,ije,Tje,qPt,VPt,JPt,Xle,Zle,oje,zPt,KPt,$Pt,YPt,WPt,Bje,XPt,Mje,Dje,the,rhe,ZPt,jPt,eLt,tLt,rLt,kje,nLt,Pje,iLt,$le,aje,sje,cje,aLt,Rz,dje,fje,Ez,jle,rP,vz,lje,xA,sLt,cLt,hje,_z,Aje,mz,uLt,dLt,pje,gje,_je,mje,fLt,lLt,hLt,Rje,Yle,Sje,To,tGn,rGn,nGn,iGn,oGn,aGn,sGn,cGn,uGn,dGn,fGn,lGn,hGn,AGn,pGn,gGn,_Gn,Fje=tn(()=>{"use strict";J();K();z();vv();Ev();EPt={assign:KZe,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:KZe})}},$Ze=Object.prototype.toString,Cje=function(e){var t=$Ze.call(e),r=t==="[object Arguments]";return r||(r=t!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&$Ze.call(e.callee)==="[object Function]"),r};Object.keys||(jk=Object.prototype.hasOwnProperty,Gle=Object.prototype.toString,YZe=Cje,qle=Object.prototype.propertyIsEnumerable,WZe=!qle.call({toString:null},"toString"),XZe=qle.call((function(){}),"prototype"),eP=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],gz=function(e){var t=e.constructor;return t&&t.prototype===e},ZZe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},jZe=(function(){if(typeof window>"u")return!1;for(var e in window)try{if(!ZZe["$"+e]&&jk.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{gz(window[e])}catch{return!0}}catch{return!0}return!1})(),Ije=function(e){var t=e!==null&&typeof e=="object",r=Gle.call(e)==="[object Function]",i=YZe(e),n=t&&Gle.call(e)==="[object String]",o=[];if(!t&&!r&&!i)throw new TypeError("Object.keys called on a non-object");var d=XZe&&r;if(n&&e.length>0&&!jk.call(e,0))for(var g=0;g<e.length;++g)o.push(String(g));if(i&&e.length>0)for(var y=0;y<e.length;++y)o.push(String(y));else for(var _ in e)d&&_==="prototype"||!jk.call(e,_)||o.push(String(_));if(WZe)for(var I=(function(T){if(typeof window>"u"||!jZe)return gz(T);try{return gz(T)}catch{return!1}})(e),N=0;N<eP.length;++N)I&&eP[N]==="constructor"||!jk.call(e,eP[N])||o.push(eP[N]);return o});vPt=Ije,RPt=Array.prototype.slice,SPt=Cje,eje=Object.keys,bz=eje?function(e){return eje(e)}:vPt,tje=Object.keys;bz.shim=function(){return Object.keys?(function(){var e=Object.keys(arguments);return e&&e.length===arguments.length})(1,2)||(Object.keys=function(e){return SPt(e)?tje(RPt.call(e)):tje(e)}):Object.keys=bz,Object.keys||bz};IPt=bz,CPt=IPt,wPt=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",OPt=Object.prototype.toString,NPt=Array.prototype.concat,Wle=Object.defineProperty,wje=Wle&&(function(){var e={};try{for(var t in Wle(e,"x",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch{return!1}})(),xPt=function(e,t,r,i){var n;(!(t in e)||typeof(n=i)=="function"&&OPt.call(n)==="[object Function]"&&i())&&(wje?Wle(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r)},Oje=function(e,t){var r=arguments.length>2?arguments[2]:{},i=CPt(t);wPt&&(i=NPt.call(i,Object.getOwnPropertySymbols(t)));for(var n=0;n<i.length;n+=1)xPt(e,i[n],t[i[n]],r[i[n]])};Oje.supportsDescriptors=!!wje;Sz=Oje,TPt=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},t=Symbol("test"),r=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;for(t in e[t]=42,e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var i=Object.getOwnPropertySymbols(e);if(i.length!==1||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var n=Object.getOwnPropertyDescriptor(e,t);if(n.value!==42||n.enumerable!==!0)return!1}return!0},rje=(typeof globalThis<"u"?globalThis:typeof self<"u"?self:global).Symbol,BPt=TPt,MPt=function(){return typeof rje=="function"&&typeof Symbol=="function"&&typeof rje("foo")=="symbol"&&typeof Symbol("bar")=="symbol"&&BPt()},DPt="Function.prototype.bind called on incompatible ",Vle=Array.prototype.slice,kPt=Object.prototype.toString,PPt=function(e){var t=this;if(typeof t!="function"||kPt.call(t)!=="[object Function]")throw new TypeError(DPt+t);for(var r,i=Vle.call(arguments,1),n=function(){if(this instanceof r){var _=t.apply(this,i.concat(Vle.call(arguments)));return Object(_)===_?_:this}return t.apply(e,i.concat(Vle.call(arguments)))},o=Math.max(0,t.length-i.length),d=[],g=0;g<o;g++)d.push("$"+g);if(r=Function("binder","return function ("+d.join(",")+"){ return binder.apply(this,arguments); }")(n),t.prototype){var y=function(){};y.prototype=t.prototype,r.prototype=new y,y.prototype=null}return r},Nje=Function.prototype.bind||PPt,nP=TypeError,fC=Object.getOwnPropertyDescriptor;if(fC)try{fC({},"")}catch{fC=null}Jle=function(){throw new nP},LPt=fC?(function(){try{return arguments.callee,Jle}catch{try{return fC(arguments,"callee").get}catch{return Jle}}})():Jle,uC=MPt(),dC=Object.getPrototypeOf||function(e){return e.__proto__},zle=typeof Uint8Array>"u"?void 0:dC(Uint8Array),Kle={"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?void 0:ArrayBuffer,"%ArrayBufferPrototype%":typeof ArrayBuffer>"u"?void 0:ArrayBuffer.prototype,"%ArrayIteratorPrototype%":uC?dC([][Symbol.iterator]()):void 0,"%ArrayPrototype%":Array.prototype,"%ArrayProto_entries%":Array.prototype.entries,"%ArrayProto_forEach%":Array.prototype.forEach,"%ArrayProto_keys%":Array.prototype.keys,"%ArrayProto_values%":Array.prototype.values,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":void 0,"%AsyncFunctionPrototype%":void 0,"%AsyncGenerator%":void 0,"%AsyncGeneratorFunction%":void 0,"%AsyncGeneratorPrototype%":void 0,"%AsyncIteratorPrototype%":void 0,"%Atomics%":typeof Atomics>"u"?void 0:Atomics,"%Boolean%":Boolean,"%BooleanPrototype%":Boolean.prototype,"%DataView%":typeof DataView>"u"?void 0:DataView,"%DataViewPrototype%":typeof DataView>"u"?void 0:DataView.prototype,"%Date%":Date,"%DatePrototype%":Date.prototype,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%ErrorPrototype%":Error.prototype,"%eval%":eval,"%EvalError%":EvalError,"%EvalErrorPrototype%":EvalError.prototype,"%Float32Array%":typeof Float32Array>"u"?void 0:Float32Array,"%Float32ArrayPrototype%":typeof Float32Array>"u"?void 0:Float32Array.prototype,"%Float64Array%":typeof Float64Array>"u"?void 0:Float64Array,"%Float64ArrayPrototype%":typeof Float64Array>"u"?void 0:Float64Array.prototype,"%Function%":Function,"%FunctionPrototype%":Function.prototype,"%Generator%":void 0,"%GeneratorFunction%":void 0,"%GeneratorPrototype%":void 0,"%Int8Array%":typeof Int8Array>"u"?void 0:Int8Array,"%Int8ArrayPrototype%":typeof Int8Array>"u"?void 0:Int8Array.prototype,"%Int16Array%":typeof Int16Array>"u"?void 0:Int16Array,"%Int16ArrayPrototype%":typeof Int16Array>"u"?void 0:Int8Array.prototype,"%Int32Array%":typeof Int32Array>"u"?void 0:Int32Array,"%Int32ArrayPrototype%":typeof Int32Array>"u"?void 0:Int32Array.prototype,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":uC?dC(dC([][Symbol.iterator]())):void 0,"%JSON%":typeof JSON=="object"?JSON:void 0,"%JSONParse%":typeof JSON=="object"?JSON.parse:void 0,"%Map%":typeof Map>"u"?void 0:Map,"%MapIteratorPrototype%":typeof Map<"u"&&uC?dC(new Map()[Symbol.iterator]()):void 0,"%MapPrototype%":typeof Map>"u"?void 0:Map.prototype,"%Math%":Math,"%Number%":Number,"%NumberPrototype%":Number.prototype,"%Object%":Object,"%ObjectPrototype%":Object.prototype,"%ObjProto_toString%":Object.prototype.toString,"%ObjProto_valueOf%":Object.prototype.valueOf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?void 0:Promise,"%PromisePrototype%":typeof Promise>"u"?void 0:Promise.prototype,"%PromiseProto_then%":typeof Promise>"u"?void 0:Promise.prototype.then,"%Promise_all%":typeof Promise>"u"?void 0:Promise.all,"%Promise_reject%":typeof Promise>"u"?void 0:Promise.reject,"%Promise_resolve%":typeof Promise>"u"?void 0:Promise.resolve,"%Proxy%":typeof Proxy>"u"?void 0:Proxy,"%RangeError%":RangeError,"%RangeErrorPrototype%":RangeError.prototype,"%ReferenceError%":ReferenceError,"%ReferenceErrorPrototype%":ReferenceError.prototype,"%Reflect%":typeof Reflect>"u"?void 0:Reflect,"%RegExp%":RegExp,"%RegExpPrototype%":RegExp.prototype,"%Set%":typeof Set>"u"?void 0:Set,"%SetIteratorPrototype%":typeof Set<"u"&&uC?dC(new Set()[Symbol.iterator]()):void 0,"%SetPrototype%":typeof Set>"u"?void 0:Set.prototype,"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?void 0:SharedArrayBuffer,"%SharedArrayBufferPrototype%":typeof SharedArrayBuffer>"u"?void 0:SharedArrayBuffer.prototype,"%String%":String,"%StringIteratorPrototype%":uC?dC(""[Symbol.iterator]()):void 0,"%StringPrototype%":String.prototype,"%Symbol%":uC?Symbol:void 0,"%SymbolPrototype%":uC?Symbol.prototype:void 0,"%SyntaxError%":SyntaxError,"%SyntaxErrorPrototype%":SyntaxError.prototype,"%ThrowTypeError%":LPt,"%TypedArray%":zle,"%TypedArrayPrototype%":zle?zle.prototype:void 0,"%TypeError%":nP,"%TypeErrorPrototype%":nP.prototype,"%Uint8Array%":typeof Uint8Array>"u"?void 0:Uint8Array,"%Uint8ArrayPrototype%":typeof Uint8Array>"u"?void 0:Uint8Array.prototype,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,"%Uint8ClampedArrayPrototype%":typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray.prototype,"%Uint16Array%":typeof Uint16Array>"u"?void 0:Uint16Array,"%Uint16ArrayPrototype%":typeof Uint16Array>"u"?void 0:Uint16Array.prototype,"%Uint32Array%":typeof Uint32Array>"u"?void 0:Uint32Array,"%Uint32ArrayPrototype%":typeof Uint32Array>"u"?void 0:Uint32Array.prototype,"%URIError%":URIError,"%URIErrorPrototype%":URIError.prototype,"%WeakMap%":typeof WeakMap>"u"?void 0:WeakMap,"%WeakMapPrototype%":typeof WeakMap>"u"?void 0:WeakMap.prototype,"%WeakSet%":typeof WeakSet>"u"?void 0:WeakSet,"%WeakSetPrototype%":typeof WeakSet>"u"?void 0:WeakSet.prototype},nje=Nje.call(Function.call,String.prototype.replace),UPt=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,FPt=/\\(\\)?/g,QPt=function(e){var t=[];return nje(e,UPt,(function(r,i,n,o){t[t.length]=n?nje(o,FPt,"$1"):i||r})),t},HPt=function(e,t){if(!(e in Kle))throw new SyntaxError("intrinsic "+e+" does not exist!");if(Kle[e]===void 0&&!t)throw new nP("intrinsic "+e+" exists, but is not available. Please file an issue!");return Kle[e]},GPt=function(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof t!="boolean")throw new TypeError('"allowMissing" argument must be a boolean');for(var r=QPt(e),i=HPt("%"+(r.length>0?r[0]:"")+"%",t),n=1;n<r.length;n+=1)if(i!=null)if(fC&&n+1>=r.length){var o=fC(i,r[n]);if(!t&&!(r[n]in i))throw new nP("base intrinsic for "+e+" exists, but the property is not available.");i=o?o.get||o.value:i[r[n]]}else i=i[r[n]];return i},ije=Nje,Tje=GPt("%Function%"),qPt=Tje.apply,VPt=Tje.call;(xje=function(){return ije.apply(VPt,arguments)}).apply=function(){return ije.apply(qPt,arguments)};JPt=xje,oje=function(e){return e!=e},zPt=(Xle=function(e,t){return e===0&&t===0?1/e==1/t:e===t||!(!oje(e)||!oje(t))},Xle),KPt=(Zle=function(){return typeof Object.is=="function"?Object.is:zPt},Zle),$Pt=Sz,YPt=Sz,WPt=Xle,Bje=Zle,XPt=function(){var e=KPt();return $Pt(Object,{is:e},{is:function(){return Object.is!==e}}),e},Mje=JPt(Bje(),Object);YPt(Mje,{getPolyfill:Bje,implementation:WPt,shim:XPt});Dje=Mje;the=function(e){return e!=e};ZPt=the,jPt=(rhe=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:ZPt},Sz),eLt=rhe,tLt=Sz,rLt=the,kje=rhe,nLt=function(){var e=eLt();return jPt(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e},Pje=kje();tLt(Pje,{getPolyfill:kje,implementation:rLt,shim:nLt});iLt=Pje,$le={},aje=!1;sje={},cje=!1;aLt=/a/g.flags!==void 0,Rz=function(e){var t=[];return e.forEach((function(r){return t.push(r)})),t},dje=function(e){var t=[];return e.forEach((function(r,i){return t.push([i,r])})),t},fje=Object.is?Object.is:Dje,Ez=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},jle=Number.isNaN?Number.isNaN:iLt;rP=nhe(Object.prototype.hasOwnProperty),vz=nhe(Object.prototype.propertyIsEnumerable),lje=nhe(Object.prototype.toString),xA=yn.types,sLt=xA.isAnyArrayBuffer,cLt=xA.isArrayBufferView,hje=xA.isDate,_z=xA.isMap,Aje=xA.isRegExp,mz=xA.isSet,uLt=xA.isNativeError,dLt=xA.isBoxedPrimitive,pje=xA.isNumberObject,gje=xA.isStringObject,_je=xA.isBooleanObject,mje=xA.isBigIntObject,fLt=xA.isSymbolObject,lLt=xA.isFloat32Array,hLt=xA.isFloat64Array;Rje={isDeepEqual:function(e,t){return m_(e,t,!1)},isDeepStrictEqual:function(e,t){return m_(e,t,!0)}},Yle={},Sje=!1;To=ehe();To.AssertionError;To.deepEqual;To.deepStrictEqual;To.doesNotReject;To.doesNotThrow;To.equal;To.fail;To.ifError;To.notDeepEqual;To.notDeepStrictEqual;To.notEqual;To.notStrictEqual;To.ok;To.rejects;To.strict;To.strictEqual;To.throws;To.AssertionError;To.deepEqual;To.deepStrictEqual;To.doesNotReject;To.doesNotThrow;To.equal;To.fail;To.ifError;To.notDeepEqual;To.notDeepStrictEqual;To.notEqual;To.notStrictEqual;To.ok;To.rejects;To.strict;To.strictEqual;To.throws;tGn=To.AssertionError,rGn=To.deepEqual,nGn=To.deepStrictEqual,iGn=To.doesNotReject,oGn=To.doesNotThrow,aGn=To.equal,sGn=To.fail,cGn=To.ifError,uGn=To.notDeepEqual,dGn=To.notDeepStrictEqual,fGn=To.notEqual,lGn=To.notStrictEqual,hGn=To.ok,AGn=To.rejects,pGn=To.strict,gGn=To.strictEqual,_Gn=To.throws});function mLt(){if(Qje)return ihe;Qje=!0;var e=za;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function r(o,d){for(var g="",y=0,_=-1,I=0,N,T=0;T<=o.length;++T){if(T<o.length)N=o.charCodeAt(T);else{if(N===47)break;N=47}if(N===47){if(!(_===T-1||I===1))if(_!==T-1&&I===2){if(g.length<2||y!==2||g.charCodeAt(g.length-1)!==46||g.charCodeAt(g.length-2)!==46){if(g.length>2){var M=g.lastIndexOf("/");if(M!==g.length-1){M===-1?(g="",y=0):(g=g.slice(0,M),y=g.length-1-g.lastIndexOf("/")),_=T,I=0;continue}}else if(g.length===2||g.length===1){g="",y=0,_=T,I=0;continue}}d&&(g.length>0?g+="/..":g="..",y=2)}else g.length>0?g+="/"+o.slice(_+1,T):g=o.slice(_+1,T),y=T-_-1;_=T,I=0}else N===46&&I!==-1?++I:I=-1}return g}function i(o,d){var g=d.dir||d.root,y=d.base||(d.name||"")+(d.ext||"");return g?g===d.root?g+y:g+o+y:y}var n={resolve:function(){for(var d="",g=!1,y,_=arguments.length-1;_>=-1&&!g;_--){var I;_>=0?I=arguments[_]:(y===void 0&&(y=e.cwd()),I=y),t(I),I.length!==0&&(d=I+"/"+d,g=I.charCodeAt(0)===47)}return d=r(d,!g),g?d.length>0?"/"+d:"/":d.length>0?d:"."},normalize:function(d){if(t(d),d.length===0)return".";var g=d.charCodeAt(0)===47,y=d.charCodeAt(d.length-1)===47;return d=r(d,!g),d.length===0&&!g&&(d="."),d.length>0&&y&&(d+="/"),g?"/"+d:d},isAbsolute:function(d){return t(d),d.length>0&&d.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var d,g=0;g<arguments.length;++g){var y=arguments[g];t(y),y.length>0&&(d===void 0?d=y:d+="/"+y)}return d===void 0?".":n.normalize(d)},relative:function(d,g){if(t(d),t(g),d===g||(d=n.resolve(d),g=n.resolve(g),d===g))return"";for(var y=1;y<d.length&&d.charCodeAt(y)===47;++y);for(var _=d.length,I=_-y,N=1;N<g.length&&g.charCodeAt(N)===47;++N);for(var T=g.length,M=T-N,D=I<M?I:M,P=-1,G=0;G<=D;++G){if(G===D){if(M>D){if(g.charCodeAt(N+G)===47)return g.slice(N+G+1);if(G===0)return g.slice(N+G)}else I>D&&(d.charCodeAt(y+G)===47?P=G:G===0&&(P=0));break}var q=d.charCodeAt(y+G),Y=g.charCodeAt(N+G);if(q!==Y)break;q===47&&(P=G)}var ne="";for(G=y+P+1;G<=_;++G)(G===_||d.charCodeAt(G)===47)&&(ne.length===0?ne+="..":ne+="/..");return ne.length>0?ne+g.slice(N+P):(N+=P,g.charCodeAt(N)===47&&++N,g.slice(N))},_makeLong:function(d){return d},dirname:function(d){if(t(d),d.length===0)return".";for(var g=d.charCodeAt(0),y=g===47,_=-1,I=!0,N=d.length-1;N>=1;--N)if(g=d.charCodeAt(N),g===47){if(!I){_=N;break}}else I=!1;return _===-1?y?"/":".":y&&_===1?"//":d.slice(0,_)},basename:function(d,g){if(g!==void 0&&typeof g!="string")throw new TypeError('"ext" argument must be a string');t(d);var y=0,_=-1,I=!0,N;if(g!==void 0&&g.length>0&&g.length<=d.length){if(g.length===d.length&&g===d)return"";var T=g.length-1,M=-1;for(N=d.length-1;N>=0;--N){var D=d.charCodeAt(N);if(D===47){if(!I){y=N+1;break}}else M===-1&&(I=!1,M=N+1),T>=0&&(D===g.charCodeAt(T)?--T===-1&&(_=N):(T=-1,_=M))}return y===_?_=M:_===-1&&(_=d.length),d.slice(y,_)}else{for(N=d.length-1;N>=0;--N)if(d.charCodeAt(N)===47){if(!I){y=N+1;break}}else _===-1&&(I=!1,_=N+1);return _===-1?"":d.slice(y,_)}},extname:function(d){t(d);for(var g=-1,y=0,_=-1,I=!0,N=0,T=d.length-1;T>=0;--T){var M=d.charCodeAt(T);if(M===47){if(!I){y=T+1;break}continue}_===-1&&(I=!1,_=T+1),M===46?g===-1?g=T:N!==1&&(N=1):g!==-1&&(N=-1)}return g===-1||_===-1||N===0||N===1&&g===_-1&&g===y+1?"":d.slice(g,_)},format:function(d){if(d===null||typeof d!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof d);return i("/",d)},parse:function(d){t(d);var g={root:"",dir:"",base:"",ext:"",name:""};if(d.length===0)return g;var y=d.charCodeAt(0),_=y===47,I;_?(g.root="/",I=1):I=0;for(var N=-1,T=0,M=-1,D=!0,P=d.length-1,G=0;P>=I;--P){if(y=d.charCodeAt(P),y===47){if(!D){T=P+1;break}continue}M===-1&&(D=!1,M=P+1),y===46?N===-1?N=P:G!==1&&(G=1):N!==-1&&(G=-1)}return N===-1||M===-1||G===0||G===1&&N===M-1&&N===T+1?M!==-1&&(T===0&&_?g.base=g.name=d.slice(1,M):g.base=g.name=d.slice(T,M)):(T===0&&_?(g.name=d.slice(1,N),g.base=d.slice(1,M)):(g.name=d.slice(T,N),g.base=d.slice(T,M)),g.ext=d.slice(N,M)),T>0?g.dir=d.slice(0,T-1):_&&(g.dir="/"),g},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,ihe=n,ihe}var ihe,Qje,z0,iP=tn(()=>{"use strict";J();K();z();XS();ihe={},Qje=!1;z0=mLt()});var ohe={};gh(ohe,{_makeLong:()=>yLt,basename:()=>bLt,default:()=>z0,delimiter:()=>ELt,dirname:()=>vLt,extname:()=>RLt,format:()=>SLt,isAbsolute:()=>ILt,join:()=>CLt,normalize:()=>wLt,parse:()=>OLt,posix:()=>NLt,relative:()=>xLt,resolve:()=>TLt,sep:()=>BLt,win32:()=>MLt});var yLt,bLt,ELt,vLt,RLt,SLt,ILt,CLt,wLt,OLt,NLt,xLt,TLt,BLt,MLt,Iz=tn(()=>{"use strict";J();K();z();iP();iP();XS();yLt=z0._makeLong,bLt=z0.basename,ELt=z0.delimiter,vLt=z0.dirname,RLt=z0.extname,SLt=z0.format,ILt=z0.isAbsolute,CLt=z0.join,wLt=z0.normalize,OLt=z0.parse,NLt=z0.posix,xLt=z0.relative,TLt=z0.resolve,BLt=z0.sep,MLt=z0.win32});function lC(e){throw new RangeError(LLt[e])}function Hje(e,t){let r=e.split("@"),i="";r.length>1&&(i=r[0]+"@",e=r[1]);let n=(function(o,d){let g=[],y=o.length;for(;y--;)g[y]=d(o[y]);return g})((e=e.replace(PLt,".")).split("."),t).join(".");return i+n}function Jje(e){let t=[],r=0,i=e.length;for(;r<i;){let n=e.charCodeAt(r++);if(n>=55296&&n<=56319&&r<i){let o=e.charCodeAt(r++);(64512&o)==56320?t.push(((1023&n)<<10)+(1023&o)+65536):(t.push(n),r--)}else t.push(n)}return t}var DLt,kLt,PLt,LLt,Cb,ahe,Gje,zje,qje,Vje,uI,she=tn(()=>{"use strict";J();K();z();DLt=/^xn--/,kLt=/[^\0-\x7E]/,PLt=/[\x2E\u3002\uFF0E\uFF61]/g,LLt={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Cb=Math.floor,ahe=String.fromCharCode;Gje=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},zje=function(e,t,r){let i=0;for(e=r?Cb(e/700):e>>1,e+=Cb(e/t);e>455;i+=36)e=Cb(e/35);return Cb(i+36*e/(e+38))},qje=function(e){let t=[],r=e.length,i=0,n=128,o=72,d=e.lastIndexOf("-");d<0&&(d=0);for(let y=0;y<d;++y)e.charCodeAt(y)>=128&&lC("not-basic"),t.push(e.charCodeAt(y));for(let y=d>0?d+1:0;y<r;){let _=i;for(let N=1,T=36;;T+=36){y>=r&&lC("invalid-input");let M=(g=e.charCodeAt(y++))-48<10?g-22:g-65<26?g-65:g-97<26?g-97:36;(M>=36||M>Cb((2147483647-i)/N))&&lC("overflow"),i+=M*N;let D=T<=o?1:T>=o+26?26:T-o;if(M<D)break;let P=36-D;N>Cb(2147483647/P)&&lC("overflow"),N*=P}let I=t.length+1;o=zje(i-_,I,_==0),Cb(i/I)>2147483647-n&&lC("overflow"),n+=Cb(i/I),i%=I,t.splice(i++,0,n)}var g;return String.fromCodePoint(...t)},Vje=function(e){let t=[],r=(e=Jje(e)).length,i=128,n=0,o=72;for(let y of e)y<128&&t.push(ahe(y));let d=t.length,g=d;for(d&&t.push("-");g<r;){let y=2147483647;for(let I of e)I>=i&&I<y&&(y=I);let _=g+1;y-i>Cb((2147483647-n)/_)&&lC("overflow"),n+=(y-i)*_,i=y;for(let I of e)if(I<i&&++n>2147483647&&lC("overflow"),I==i){let N=n;for(let T=36;;T+=36){let M=T<=o?1:T>=o+26?26:T-o;if(N<M)break;let D=N-M,P=36-M;t.push(ahe(Gje(M+D%P,0))),N=Cb(D/P)}t.push(ahe(Gje(N,0))),o=zje(n,_,g==d),n=0,++g}++n,++i}return t.join("")},uI={version:"2.1.0",ucs2:{decode:Jje,encode:e=>String.fromCodePoint(...e)},decode:qje,encode:Vje,toASCII:function(e){return Hje(e,(function(t){return kLt.test(t)?"xn--"+Vje(t):t}))},toUnicode:function(e){return Hje(e,(function(t){return DLt.test(t)?qje(t.slice(4).toLowerCase()):t}))}};uI.decode;uI.encode;uI.toASCII;uI.toUnicode;uI.ucs2;uI.version});function ULt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var FLt,oP,QLt,wb,che=tn(()=>{"use strict";J();K();z();FLt=function(e,t,r,i){t=t||"&",r=r||"=";var n={};if(typeof e!="string"||e.length===0)return n;var o=/\+/g;e=e.split(t);var d=1e3;i&&typeof i.maxKeys=="number"&&(d=i.maxKeys);var g=e.length;d>0&&g>d&&(g=d);for(var y=0;y<g;++y){var _,I,N,T,M=e[y].replace(o,"%20"),D=M.indexOf(r);D>=0?(_=M.substr(0,D),I=M.substr(D+1)):(_=M,I=""),N=decodeURIComponent(_),T=decodeURIComponent(I),ULt(n,N)?Array.isArray(n[N])?n[N].push(T):n[N]=[n[N],T]:n[N]=T}return n},oP=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},QLt=function(e,t,r,i){return t=t||"&",r=r||"=",e===null&&(e=void 0),typeof e=="object"?Object.keys(e).map((function(n){var o=encodeURIComponent(oP(n))+r;return Array.isArray(e[n])?e[n].map((function(d){return o+encodeURIComponent(oP(d))})).join(t):o+encodeURIComponent(oP(e[n]))})).join(t):i?encodeURIComponent(oP(i))+r+encodeURIComponent(oP(e)):""},wb={};wb.decode=wb.parse=FLt,wb.encode=wb.stringify=QLt;wb.decode;wb.encode;wb.parse;wb.stringify});function y_(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function aP(e,t,r){if(e&&Ob.isObject(e)&&e instanceof y_)return e;var i=new y_;return i.parse(e,t,r),i}function $Lt(){if(Wje)return fhe;Wje=!0;var e=Mo;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function r(o,d){for(var g="",y=0,_=-1,I=0,N,T=0;T<=o.length;++T){if(T<o.length)N=o.charCodeAt(T);else{if(N===47)break;N=47}if(N===47){if(!(_===T-1||I===1))if(_!==T-1&&I===2){if(g.length<2||y!==2||g.charCodeAt(g.length-1)!==46||g.charCodeAt(g.length-2)!==46){if(g.length>2){var M=g.lastIndexOf("/");if(M!==g.length-1){M===-1?(g="",y=0):(g=g.slice(0,M),y=g.length-1-g.lastIndexOf("/")),_=T,I=0;continue}}else if(g.length===2||g.length===1){g="",y=0,_=T,I=0;continue}}d&&(g.length>0?g+="/..":g="..",y=2)}else g.length>0?g+="/"+o.slice(_+1,T):g=o.slice(_+1,T),y=T-_-1;_=T,I=0}else N===46&&I!==-1?++I:I=-1}return g}function i(o,d){var g=d.dir||d.root,y=d.base||(d.name||"")+(d.ext||"");return g?g===d.root?g+y:g+o+y:y}var n={resolve:function(){for(var d="",g=!1,y,_=arguments.length-1;_>=-1&&!g;_--){var I;_>=0?I=arguments[_]:(y===void 0&&(y=e.cwd()),I=y),t(I),I.length!==0&&(d=I+"/"+d,g=I.charCodeAt(0)===47)}return d=r(d,!g),g?d.length>0?"/"+d:"/":d.length>0?d:"."},normalize:function(d){if(t(d),d.length===0)return".";var g=d.charCodeAt(0)===47,y=d.charCodeAt(d.length-1)===47;return d=r(d,!g),d.length===0&&!g&&(d="."),d.length>0&&y&&(d+="/"),g?"/"+d:d},isAbsolute:function(d){return t(d),d.length>0&&d.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var d,g=0;g<arguments.length;++g){var y=arguments[g];t(y),y.length>0&&(d===void 0?d=y:d+="/"+y)}return d===void 0?".":n.normalize(d)},relative:function(d,g){if(t(d),t(g),d===g||(d=n.resolve(d),g=n.resolve(g),d===g))return"";for(var y=1;y<d.length&&d.charCodeAt(y)===47;++y);for(var _=d.length,I=_-y,N=1;N<g.length&&g.charCodeAt(N)===47;++N);for(var T=g.length,M=T-N,D=I<M?I:M,P=-1,G=0;G<=D;++G){if(G===D){if(M>D){if(g.charCodeAt(N+G)===47)return g.slice(N+G+1);if(G===0)return g.slice(N+G)}else I>D&&(d.charCodeAt(y+G)===47?P=G:G===0&&(P=0));break}var q=d.charCodeAt(y+G),Y=g.charCodeAt(N+G);if(q!==Y)break;q===47&&(P=G)}var ne="";for(G=y+P+1;G<=_;++G)(G===_||d.charCodeAt(G)===47)&&(ne.length===0?ne+="..":ne+="/..");return ne.length>0?ne+g.slice(N+P):(N+=P,g.charCodeAt(N)===47&&++N,g.slice(N))},_makeLong:function(d){return d},dirname:function(d){if(t(d),d.length===0)return".";for(var g=d.charCodeAt(0),y=g===47,_=-1,I=!0,N=d.length-1;N>=1;--N)if(g=d.charCodeAt(N),g===47){if(!I){_=N;break}}else I=!1;return _===-1?y?"/":".":y&&_===1?"//":d.slice(0,_)},basename:function(d,g){if(g!==void 0&&typeof g!="string")throw new TypeError('"ext" argument must be a string');t(d);var y=0,_=-1,I=!0,N;if(g!==void 0&&g.length>0&&g.length<=d.length){if(g.length===d.length&&g===d)return"";var T=g.length-1,M=-1;for(N=d.length-1;N>=0;--N){var D=d.charCodeAt(N);if(D===47){if(!I){y=N+1;break}}else M===-1&&(I=!1,M=N+1),T>=0&&(D===g.charCodeAt(T)?--T===-1&&(_=N):(T=-1,_=M))}return y===_?_=M:_===-1&&(_=d.length),d.slice(y,_)}else{for(N=d.length-1;N>=0;--N)if(d.charCodeAt(N)===47){if(!I){y=N+1;break}}else _===-1&&(I=!1,_=N+1);return _===-1?"":d.slice(y,_)}},extname:function(d){t(d);for(var g=-1,y=0,_=-1,I=!0,N=0,T=d.length-1;T>=0;--T){var M=d.charCodeAt(T);if(M===47){if(!I){y=T+1;break}continue}_===-1&&(I=!1,_=T+1),M===46?g===-1?g=T:N!==1&&(N=1):g!==-1&&(N=-1)}return g===-1||_===-1||N===0||N===1&&g===_-1&&g===y+1?"":d.slice(g,_)},format:function(d){if(d===null||typeof d!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof d);return i("/",d)},parse:function(d){t(d);var g={root:"",dir:"",base:"",ext:"",name:""};if(d.length===0)return g;var y=d.charCodeAt(0),_=y===47,I;_?(g.root="/",I=1):I=0;for(var N=-1,T=0,M=-1,D=!0,P=d.length-1,G=0;P>=I;--P){if(y=d.charCodeAt(P),y===47){if(!D){T=P+1;break}continue}M===-1&&(D=!1,M=P+1),y===46?N===-1?N=P:G!==1&&(G=1):N!==-1&&(G=-1)}return N===-1||M===-1||G===0||G===1&&N===M-1&&N===T+1?M!==-1&&(T===0&&_?g.base=g.name=d.slice(1,M):g.base=g.name=d.slice(T,M)):(T===0&&_?(g.name=d.slice(1,N),g.base=d.slice(1,M)):(g.name=d.slice(T,N),g.base=d.slice(T,M)),g.ext=d.slice(N,M)),T>0?g.dir=d.slice(0,T-1):_&&(g.dir="/"),g},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,fhe=n,fhe}function aUt(e){if(typeof e=="string")e=new URL(e);else if(!(e instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(e.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return hhe?sUt(e):cUt(e)}function sUt(e){let t=e.hostname,r=e.pathname;for(let i=0;i<r.length;i++)if(r[i]==="%"){let n=r.codePointAt(i+2)||32;if(r[i+1]==="2"&&n===102||r[i+1]==="5"&&n===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(r=r.replace(eUt,"\\"),r=decodeURIComponent(r),t!=="")return`\\\\${t}${r}`;{let i=r.codePointAt(1)|32,n=r[2];if(i<ZLt||i>jLt||n!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function cUt(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;r<t.length;r++)if(t[r]==="%"){let i=t.codePointAt(r+2)||32;if(t[r+1]==="2"&&i===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function uUt(e){let t=Xje.resolve(e),r=e.charCodeAt(e.length-1);(r===XLt||hhe&&r===WLt)&&t[t.length-1]!==Xje.sep&&(t+="/");let i=new URL("file://");return t.includes("%")&&(t=t.replace(tUt,"%25")),!hhe&&t.includes("\\")&&(t=t.replace(rUt,"%5C")),t.includes(` +`)&&(t=t.replace(nUt,"%0A")),t.includes("\r")&&(t=t.replace(iUt,"%0D")),t.includes(" ")&&(t=t.replace(oUt,"%09")),i.pathname=t,i}function phe(e){if(typeof e=="string")e=new URL(e);else if(!(e instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(e.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return Ahe?EUt(e):vUt(e)}function EUt(e){let t=e.hostname,r=e.pathname;for(let i=0;i<r.length;i++)if(r[i]==="%"){let n=r.codePointAt(i+2)||32;if(r[i+1]==="2"&&n===102||r[i+1]==="5"&&n===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(r=r.replace(pUt,"\\"),r=decodeURIComponent(r),t!=="")return`\\\\${t}${r}`;{let i=r.codePointAt(1)|32,n=r[2];if(i<hUt||i>AUt||n!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function vUt(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=e.pathname;for(let r=0;r<t.length;r++)if(t[r]==="%"){let i=t.codePointAt(r+2)||32;if(t[r+1]==="2"&&i===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function RUt(e){let t=z0.resolve(e),r=e.charCodeAt(e.length-1);(r===lUt||Ahe&&r===fUt)&&t[t.length-1]!==z0.sep&&(t+="/");let i=new URL("file://");return t.includes("%")&&(t=t.replace(gUt,"%25")),!Ahe&&t.includes("\\")&&(t=t.replace(_Ut,"%5C")),t.includes(` +`)&&(t=t.replace(mUt,"%0A")),t.includes("\r")&&(t=t.replace(yUt,"%0D")),t.includes(" ")&&(t=t.replace(bUt,"%09")),i.pathname=t,i}var uu,HLt,Ob,GLt,qLt,VLt,JLt,lhe,Kje,$je,Yje,zLt,KLt,uhe,QN,dhe,fhe,Wje,Xje,YLt,WLt,XLt,ZLt,jLt,hhe,eUt,tUt,rUt,nUt,iUt,oUt,dUt,zGn,KGn,$Gn,YGn,WGn,XGn,fUt,lUt,hUt,AUt,Ahe,pUt,gUt,_Ut,mUt,yUt,bUt,Zje=tn(()=>{"use strict";J();K();z();she();che();Ev();iP();XS();uu={},HLt=uI,Ob={isString:function(e){return typeof e=="string"},isObject:function(e){return typeof e=="object"&&e!==null},isNull:function(e){return e===null},isNullOrUndefined:function(e){return e==null}};uu.parse=aP,uu.resolve=function(e,t){return aP(e,!1,!0).resolve(t)},uu.resolveObject=function(e,t){return e?aP(e,!1,!0).resolveObject(t):t},uu.format=function(e){return Ob.isString(e)&&(e=aP(e)),e instanceof y_?e.format():y_.prototype.format.call(e)},uu.Url=y_;GLt=/^([a-z0-9.+-]+:)/i,qLt=/:[0-9]*$/,VLt=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,JLt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),lhe=["'"].concat(JLt),Kje=["%","/","?",";","#"].concat(lhe),$je=["/","?","#"],Yje=/^[+a-z0-9A-Z_-]{0,63}$/,zLt=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,KLt={javascript:!0,"javascript:":!0},uhe={javascript:!0,"javascript:":!0},QN={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},dhe=wb;y_.prototype.parse=function(e,t,r){if(!Ob.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),n=i!==-1&&i<e.indexOf("#")?"?":"#",o=e.split(n);o[0]=o[0].replace(/\\/g,"/");var d=e=o.join(n);if(d=d.trim(),!r&&e.split("#").length===1){var g=VLt.exec(d);if(g)return this.path=d,this.href=d,this.pathname=g[1],g[2]?(this.search=g[2],this.query=t?dhe.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var y=GLt.exec(d);if(y){var _=(y=y[0]).toLowerCase();this.protocol=_,d=d.substr(y.length)}if(r||y||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var I=d.substr(0,2)==="//";!I||y&&uhe[y]||(d=d.substr(2),this.slashes=!0)}if(!uhe[y]&&(I||y&&!QN[y])){for(var N,T,M=-1,D=0;D<$je.length;D++)(P=d.indexOf($je[D]))!==-1&&(M===-1||P<M)&&(M=P);for((T=M===-1?d.lastIndexOf("@"):d.lastIndexOf("@",M))!==-1&&(N=d.slice(0,T),d=d.slice(T+1),this.auth=decodeURIComponent(N)),M=-1,D=0;D<Kje.length;D++){var P;(P=d.indexOf(Kje[D]))!==-1&&(M===-1||P<M)&&(M=P)}M===-1&&(M=d.length),this.host=d.slice(0,M),d=d.slice(M),this.parseHost(),this.hostname=this.hostname||"";var G=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!G)for(var q=this.hostname.split(/\./),Y=(D=0,q.length);D<Y;D++){var ne=q[D];if(ne&&!ne.match(Yje)){for(var ce="",le=0,pe=ne.length;le<pe;le++)ne.charCodeAt(le)>127?ce+="x":ce+=ne[le];if(!ce.match(Yje)){var ae=q.slice(0,D),W=q.slice(D+1),se=ne.match(zLt);se&&(ae.push(se[1]),W.unshift(se[2])),W.length&&(d="/"+W.join(".")+d),this.hostname=ae.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),G||(this.hostname=HLt.toASCII(this.hostname));var O=this.port?":"+this.port:"",s=this.hostname||"";this.host=s+O,this.href+=this.host,G&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),d[0]!=="/"&&(d="/"+d))}if(!KLt[_])for(D=0,Y=lhe.length;D<Y;D++){var l=lhe[D];if(d.indexOf(l)!==-1){var A=encodeURIComponent(l);A===l&&(A=escape(l)),d=d.split(l).join(A)}}var m=d.indexOf("#");m!==-1&&(this.hash=d.substr(m),d=d.slice(0,m));var E=d.indexOf("?");if(E!==-1?(this.search=d.substr(E),this.query=d.substr(E+1),t&&(this.query=dhe.parse(this.query)),d=d.slice(0,E)):t&&(this.search="",this.query={}),d&&(this.pathname=d),QN[_]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){O=this.pathname||"";var w=this.search||"";this.path=O+w}return this.href=this.format(),this},y_.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",r=this.pathname||"",i=this.hash||"",n=!1,o="";this.host?n=e+this.host:this.hostname&&(n=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&Ob.isObject(this.query)&&Object.keys(this.query).length&&(o=dhe.stringify(this.query));var d=this.search||o&&"?"+o||"";return t&&t.substr(-1)!==":"&&(t+=":"),this.slashes||(!t||QN[t])&&n!==!1?(n="//"+(n||""),r&&r.charAt(0)!=="/"&&(r="/"+r)):n||(n=""),i&&i.charAt(0)!=="#"&&(i="#"+i),d&&d.charAt(0)!=="?"&&(d="?"+d),t+n+(r=r.replace(/[?#]/g,(function(g){return encodeURIComponent(g)})))+(d=d.replace("#","%23"))+i},y_.prototype.resolve=function(e){return this.resolveObject(aP(e,!1,!0)).format()},y_.prototype.resolveObject=function(e){if(Ob.isString(e)){var t=new y_;t.parse(e,!1,!0),e=t}for(var r=new y_,i=Object.keys(this),n=0;n<i.length;n++){var o=i[n];r[o]=this[o]}if(r.hash=e.hash,e.href==="")return r.href=r.format(),r;if(e.slashes&&!e.protocol){for(var d=Object.keys(e),g=0;g<d.length;g++){var y=d[g];y!=="protocol"&&(r[y]=e[y])}return QN[r.protocol]&&r.hostname&&!r.pathname&&(r.path=r.pathname="/"),r.href=r.format(),r}if(e.protocol&&e.protocol!==r.protocol){if(!QN[e.protocol]){for(var _=Object.keys(e),I=0;I<_.length;I++){var N=_[I];r[N]=e[N]}return r.href=r.format(),r}if(r.protocol=e.protocol,e.host||uhe[e.protocol])r.pathname=e.pathname;else{for(var T=(e.pathname||"").split("/");T.length&&!(e.host=T.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),T[0]!==""&&T.unshift(""),T.length<2&&T.unshift(""),r.pathname=T.join("/")}if(r.search=e.search,r.query=e.query,r.host=e.host||"",r.auth=e.auth,r.hostname=e.hostname||e.host,r.port=e.port,r.pathname||r.search){var M=r.pathname||"",D=r.search||"";r.path=M+D}return r.slashes=r.slashes||e.slashes,r.href=r.format(),r}var P=r.pathname&&r.pathname.charAt(0)==="/",G=e.host||e.pathname&&e.pathname.charAt(0)==="/",q=G||P||r.host&&e.pathname,Y=q,ne=r.pathname&&r.pathname.split("/")||[],ce=(T=e.pathname&&e.pathname.split("/")||[],r.protocol&&!QN[r.protocol]);if(ce&&(r.hostname="",r.port=null,r.host&&(ne[0]===""?ne[0]=r.host:ne.unshift(r.host)),r.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(T[0]===""?T[0]=e.host:T.unshift(e.host)),e.host=null),q=q&&(T[0]===""||ne[0]==="")),G)r.host=e.host||e.host===""?e.host:r.host,r.hostname=e.hostname||e.hostname===""?e.hostname:r.hostname,r.search=e.search,r.query=e.query,ne=T;else if(T.length)ne||(ne=[]),ne.pop(),ne=ne.concat(T),r.search=e.search,r.query=e.query;else if(!Ob.isNullOrUndefined(e.search))return ce&&(r.hostname=r.host=ne.shift(),(se=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=se.shift(),r.host=r.hostname=se.shift())),r.search=e.search,r.query=e.query,Ob.isNull(r.pathname)&&Ob.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!ne.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var le=ne.slice(-1)[0],pe=(r.host||e.host||ne.length>1)&&(le==="."||le==="..")||le==="",ae=0,W=ne.length;W>=0;W--)(le=ne[W])==="."?ne.splice(W,1):le===".."?(ne.splice(W,1),ae++):ae&&(ne.splice(W,1),ae--);if(!q&&!Y)for(;ae--;ae)ne.unshift("..");!q||ne[0]===""||ne[0]&&ne[0].charAt(0)==="/"||ne.unshift(""),pe&&ne.join("/").substr(-1)!=="/"&&ne.push("");var se,O=ne[0]===""||ne[0]&&ne[0].charAt(0)==="/";return ce&&(r.hostname=r.host=O?"":ne.length?ne.shift():"",(se=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=se.shift(),r.host=r.hostname=se.shift())),(q=q||r.host&&ne.length)&&!O&&ne.unshift(""),ne.length?r.pathname=ne.join("/"):(r.pathname=null,r.path=null),Ob.isNull(r.pathname)&&Ob.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=e.auth||r.auth,r.slashes=r.slashes||e.slashes,r.href=r.format(),r},y_.prototype.parseHost=function(){var e=this.host,t=qLt.exec(e);t&&((t=t[0])!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};uu.Url;uu.format;uu.resolve;uu.resolveObject;fhe={},Wje=!1;Xje=$Lt(),YLt=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0;uu.URL=typeof URL<"u"?URL:null;uu.pathToFileURL=uUt;uu.fileURLToPath=aUt;uu.Url;uu.format;uu.resolve;uu.resolveObject;uu.URL;WLt=92,XLt=47,ZLt=97,jLt=122,hhe=YLt==="win32",eUt=/\//g,tUt=/%/g,rUt=/\\/g,nUt=/\n/g,iUt=/\r/g,oUt=/\t/g;dUt=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0;uu.URL=typeof URL<"u"?URL:null;uu.pathToFileURL=RUt;uu.fileURLToPath=phe;zGn=uu.Url,KGn=uu.format,$Gn=uu.resolve,YGn=uu.resolveObject,WGn=uu.parse,XGn=uu.URL,fUt=92,lUt=47,hUt=97,AUt=122,Ahe=dUt==="win32",pUt=/\//g,gUt=/%/g,_Ut=/\\/g,mUt=/\n/g,yUt=/\r/g,bUt=/\t/g});var yhe={};gh(yhe,{Dir:()=>hQt,Dirent:()=>AQt,F_OK:()=>EQt,FileReadStream:()=>mQt,FileWriteStream:()=>yQt,R_OK:()=>vQt,ReadStream:()=>gQt,Stats:()=>pQt,W_OK:()=>RQt,WriteStream:()=>_Qt,X_OK:()=>SQt,_toUnixTimestamp:()=>bQt,access:()=>QUt,accessSync:()=>HUt,appendFile:()=>UUt,appendFileSync:()=>FUt,chmod:()=>VUt,chmodSync:()=>JUt,chown:()=>GUt,chownSync:()=>qUt,close:()=>zUt,closeSync:()=>KUt,constants:()=>IQt,copyFile:()=>$Ut,copyFileSync:()=>YUt,cp:()=>WUt,cpSync:()=>XUt,createReadStream:()=>ZUt,createWriteStream:()=>jUt,default:()=>t0,exists:()=>eFt,existsSync:()=>Iet,fchmod:()=>nFt,fchmodSync:()=>iFt,fchown:()=>tFt,fchownSync:()=>rFt,fdatasync:()=>oFt,fdatasyncSync:()=>aFt,fstat:()=>sFt,fstatSync:()=>cFt,fsync:()=>uFt,fsyncSync:()=>dFt,ftruncate:()=>fFt,ftruncateSync:()=>lFt,futimes:()=>hFt,futimesSync:()=>AFt,lchmod:()=>_Ft,lchmodSync:()=>mFt,lchown:()=>pFt,lchownSync:()=>gFt,link:()=>yFt,linkSync:()=>bFt,lstat:()=>EFt,lstatSync:()=>vFt,mkdir:()=>RFt,mkdirSync:()=>SFt,mkdtemp:()=>IFt,mkdtempSync:()=>CFt,open:()=>wFt,openSync:()=>OFt,opendir:()=>NFt,opendirSync:()=>xFt,promises:()=>CQt,read:()=>MFt,readFile:()=>LFt,readFileSync:()=>UFt,readSync:()=>DFt,readdir:()=>TFt,readdirSync:()=>BFt,readlink:()=>FFt,readlinkSync:()=>QFt,readv:()=>kFt,readvSync:()=>PFt,realpath:()=>HFt,realpathSync:()=>GFt,rename:()=>qFt,renameSync:()=>VFt,rm:()=>JFt,rmSync:()=>zFt,rmdir:()=>KFt,rmdirSync:()=>$Ft,stat:()=>YFt,statSync:()=>WFt,symlink:()=>XFt,symlinkSync:()=>ZFt,truncate:()=>jFt,truncateSync:()=>eQt,unlink:()=>rQt,unlinkSync:()=>nQt,unwatchFile:()=>tQt,utimes:()=>iQt,utimesSync:()=>oQt,watch:()=>aQt,watchFile:()=>sQt,write:()=>uQt,writeFile:()=>cQt,writeFileSync:()=>Cet,writeSync:()=>dQt,writev:()=>fQt,writevSync:()=>lQt});function uP(){return jje||(jje=!0,Object.defineProperty(sP,"__esModule",{value:!0}),sP.constants=void 0,sP.constants={O_RDONLY:0,O_WRONLY:1,O_RDWR:2,S_IFMT:61440,S_IFREG:32768,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960,S_IFSOCK:49152,O_CREAT:64,O_EXCL:128,O_NOCTTY:256,O_TRUNC:512,O_APPEND:1024,O_DIRECTORY:65536,O_NOATIME:262144,O_NOFOLLOW:131072,O_SYNC:1052672,O_DIRECT:16384,O_NONBLOCK:2048,S_IRWXU:448,S_IRUSR:256,S_IWUSR:128,S_IXUSR:64,S_IRWXG:56,S_IRGRP:32,S_IWGRP:16,S_IXGRP:8,S_IRWXO:7,S_IROTH:4,S_IWOTH:2,S_IXOTH:1,F_OK:0,R_OK:4,W_OK:2,X_OK:1,UV_FS_SYMLINK_DIR:1,UV_FS_SYMLINK_JUNCTION:2,UV_FS_COPYFILE_EXCL:1,UV_FS_COPYFILE_FICLONE:2,UV_FS_COPYFILE_FICLONE_FORCE:4,COPYFILE_EXCL:1,COPYFILE_FICLONE:2,COPYFILE_FICLONE_FORCE:4}),sP}function SUt(){return eet||(eet=!0,typeof BigInt=="function"?Cz.default=BigInt:Cz.default=function(){throw new Error("BigInt is not supported in this environment.")}),Cz}function ghe(){if(tet)return HN;tet=!0,Object.defineProperty(HN,"__esModule",{value:!0}),HN.Stats=void 0;var e=uP(),t=SUt(),r=e.constants.S_IFMT,i=e.constants.S_IFDIR,n=e.constants.S_IFREG,o=e.constants.S_IFBLK,d=e.constants.S_IFCHR,g=e.constants.S_IFLNK,y=e.constants.S_IFIFO,_=e.constants.S_IFSOCK,I=(function(){function N(){}return N.build=function(T,M){M===void 0&&(M=!1);var D=new N,P=T.uid,G=T.gid,q=T.atime,Y=T.mtime,ne=T.ctime,ce=M?t.default:function(pe){return pe};D.uid=ce(P),D.gid=ce(G),D.rdev=ce(0),D.blksize=ce(4096),D.ino=ce(T.ino),D.size=ce(T.getSize()),D.blocks=ce(1),D.atime=q,D.mtime=Y,D.ctime=ne,D.birthtime=ne,D.atimeMs=ce(q.getTime()),D.mtimeMs=ce(Y.getTime());var le=ce(ne.getTime());return D.ctimeMs=le,D.birthtimeMs=le,D.dev=ce(0),D.mode=ce(T.mode),D.nlink=ce(T.nlink),D},N.prototype._checkModeProperty=function(T){return(Number(this.mode)&r)===T},N.prototype.isDirectory=function(){return this._checkModeProperty(i)},N.prototype.isFile=function(){return this._checkModeProperty(n)},N.prototype.isBlockDevice=function(){return this._checkModeProperty(o)},N.prototype.isCharacterDevice=function(){return this._checkModeProperty(d)},N.prototype.isSymbolicLink=function(){return this._checkModeProperty(g)},N.prototype.isFIFO=function(){return this._checkModeProperty(y)},N.prototype.isSocket=function(){return this._checkModeProperty(_)},N})();return HN.Stats=I,HN.default=I,HN}function _he(){if(ret)return Qm;ret=!0;var e=Qm&&Qm.__spreadArray||function(o,d,g){if(g||arguments.length===2)for(var y=0,_=d.length,I;y<_;y++)(I||!(y in d))&&(I||(I=Array.prototype.slice.call(d,0,y)),I[y]=d[y]);return o.concat(I||Array.prototype.slice.call(d))};Object.defineProperty(Qm,"__esModule",{value:!0}),Qm.bufferFrom=Qm.bufferAllocUnsafe=Qm.Buffer=void 0;var t=Nu;Object.defineProperty(Qm,"Buffer",{enumerable:!0,get:function(){return t.Buffer}});function r(o){for(var d=[],g=1;g<arguments.length;g++)d[g-1]=arguments[g];return new(t.Buffer.bind.apply(t.Buffer,e([void 0,o],d,!1)))}var i=t.Buffer.allocUnsafe||r;Qm.bufferAllocUnsafe=i;var n=t.Buffer.from||r;return Qm.bufferFrom=n,Qm}function _et(){if(net)return Ff;net=!0;var e=Ff&&Ff.__extends||(function(){var D=function(P,G){return D=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(q,Y){q.__proto__=Y}||function(q,Y){for(var ne in Y)Object.prototype.hasOwnProperty.call(Y,ne)&&(q[ne]=Y[ne])},D(P,G)};return function(P,G){if(typeof G!="function"&&G!==null)throw new TypeError("Class extends value "+String(G)+" is not a constructor or null");D(P,G);function q(){this.constructor=P}P.prototype=G===null?Object.create(G):(q.prototype=G.prototype,new q)}})();Object.defineProperty(Ff,"__esModule",{value:!0}),Ff.E=Ff.AssertionError=Ff.message=Ff.RangeError=Ff.TypeError=Ff.Error=void 0;var t=To,r=yn,i=typeof Symbol>"u"?"_kCode":Symbol("code"),n={};function o(D){return(function(P){e(G,P);function G(q){for(var Y=[],ne=1;ne<arguments.length;ne++)Y[ne-1]=arguments[ne];var ce=P.call(this,y(q,Y))||this;return ce.code=q,ce[i]=q,ce.name=P.prototype.name+" ["+ce[i]+"]",ce}return G})(D)}var d=typeof globalThis<"u"?globalThis:IUt,g=(function(D){e(P,D);function P(G){var q=this;if(typeof G!="object"||G===null)throw new Ff.TypeError("ERR_INVALID_ARG_TYPE","options","object");return G.message?q=D.call(this,G.message)||this:q=D.call(this,r.inspect(G.actual).slice(0,128)+" "+(G.operator+" "+r.inspect(G.expected).slice(0,128)))||this,q.generatedMessage=!G.message,q.name="AssertionError [ERR_ASSERTION]",q.code="ERR_ASSERTION",q.actual=G.actual,q.expected=G.expected,q.operator=G.operator,Ff.Error.captureStackTrace(q,G.stackStartFunction),q}return P})(d.Error);Ff.AssertionError=g;function y(D,P){t.strictEqual(typeof D,"string");var G=n[D];t(G,"An invalid error message key was used: "+D+".");var q;if(typeof G=="function")q=G;else{if(q=r.format,P===void 0||P.length===0)return G;P.unshift(G)}return String(q.apply(null,P))}Ff.message=y;function _(D,P){n[D]=typeof P=="function"?P:String(P)}Ff.E=_,Ff.Error=o(d.Error),Ff.TypeError=o(d.TypeError),Ff.RangeError=o(d.RangeError),_("ERR_ARG_NOT_ITERABLE","%s must be iterable"),_("ERR_ASSERTION","%s"),_("ERR_BUFFER_OUT_OF_BOUNDS",M),_("ERR_CHILD_CLOSED_BEFORE_REPLY","Child closed before reply received"),_("ERR_CONSOLE_WRITABLE_STREAM","Console expects a writable stream instance for %s"),_("ERR_CPU_USAGE","Unable to obtain cpu usage %s"),_("ERR_DNS_SET_SERVERS_FAILED",function(D,P){return'c-ares failed to set servers: "'+D+'" ['+P+"]"}),_("ERR_FALSY_VALUE_REJECTION","Promise was rejected with falsy value"),_("ERR_ENCODING_NOT_SUPPORTED",function(D){return'The "'+D+'" encoding is not supported'}),_("ERR_ENCODING_INVALID_ENCODED_DATA",function(D){return"The encoded data was not valid for encoding "+D}),_("ERR_HTTP_HEADERS_SENT","Cannot render headers after they are sent to the client"),_("ERR_HTTP_INVALID_STATUS_CODE","Invalid status code: %s"),_("ERR_HTTP_TRAILER_INVALID","Trailers are invalid with this transfer encoding"),_("ERR_INDEX_OUT_OF_RANGE","Index out of range"),_("ERR_INVALID_ARG_TYPE",I),_("ERR_INVALID_ARRAY_LENGTH",function(D,P,G){return t.strictEqual(typeof G,"number"),'The array "'+D+'" (length '+G+") must be of length "+P+"."}),_("ERR_INVALID_BUFFER_SIZE","Buffer size must be a multiple of %s"),_("ERR_INVALID_CALLBACK","Callback must be a function"),_("ERR_INVALID_CHAR","Invalid character in %s"),_("ERR_INVALID_CURSOR_POS","Cannot set cursor row without setting its column"),_("ERR_INVALID_FD",'"fd" must be a positive integer: %s'),_("ERR_INVALID_FILE_URL_HOST",'File URL host must be "localhost" or empty on %s'),_("ERR_INVALID_FILE_URL_PATH","File URL path %s"),_("ERR_INVALID_HANDLE_TYPE","This handle type cannot be sent"),_("ERR_INVALID_IP_ADDRESS","Invalid IP address: %s"),_("ERR_INVALID_OPT_VALUE",function(D,P){return'The value "'+String(P)+'" is invalid for option "'+D+'"'}),_("ERR_INVALID_OPT_VALUE_ENCODING",function(D){return'The value "'+String(D)+'" is invalid for option "encoding"'}),_("ERR_INVALID_REPL_EVAL_CONFIG",'Cannot specify both "breakEvalOnSigint" and "eval" for REPL'),_("ERR_INVALID_SYNC_FORK_INPUT","Asynchronous forks do not support Buffer, Uint8Array or string input: %s"),_("ERR_INVALID_THIS",'Value of "this" must be of type %s'),_("ERR_INVALID_TUPLE","%s must be an iterable %s tuple"),_("ERR_INVALID_URL","Invalid URL: %s"),_("ERR_INVALID_URL_SCHEME",function(D){return"The URL must be "+T(D,"scheme")}),_("ERR_IPC_CHANNEL_CLOSED","Channel closed"),_("ERR_IPC_DISCONNECTED","IPC channel is already disconnected"),_("ERR_IPC_ONE_PIPE","Child process can have only one IPC pipe"),_("ERR_IPC_SYNC_FORK","IPC cannot be used with synchronous forks"),_("ERR_MISSING_ARGS",N),_("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),_("ERR_NAPI_CONS_FUNCTION","Constructor must be a function"),_("ERR_NAPI_CONS_PROTOTYPE_OBJECT","Constructor.prototype must be an object"),_("ERR_NO_CRYPTO","Node.js is not compiled with OpenSSL crypto support"),_("ERR_NO_LONGER_SUPPORTED","%s is no longer supported"),_("ERR_PARSE_HISTORY_DATA","Could not parse history data in %s"),_("ERR_SOCKET_ALREADY_BOUND","Socket is already bound"),_("ERR_SOCKET_BAD_PORT","Port should be > 0 and < 65536"),_("ERR_SOCKET_BAD_TYPE","Bad socket type specified. Valid types are: udp4, udp6"),_("ERR_SOCKET_CANNOT_SEND","Unable to send data"),_("ERR_SOCKET_CLOSED","Socket is closed"),_("ERR_SOCKET_DGRAM_NOT_RUNNING","Not running"),_("ERR_STDERR_CLOSE","process.stderr cannot be closed"),_("ERR_STDOUT_CLOSE","process.stdout cannot be closed"),_("ERR_STREAM_WRAP","Stream has StringDecoder set or is in objectMode"),_("ERR_TLS_CERT_ALTNAME_INVALID","Hostname/IP does not match certificate's altnames: %s"),_("ERR_TLS_DH_PARAM_SIZE",function(D){return"DH parameter size "+D+" is less than 2048"}),_("ERR_TLS_HANDSHAKE_TIMEOUT","TLS handshake timeout"),_("ERR_TLS_RENEGOTIATION_FAILED","Failed to renegotiate"),_("ERR_TLS_REQUIRED_SERVER_NAME",'"servername" is required parameter for Server.addContext'),_("ERR_TLS_SESSION_ATTACK","TSL session renegotiation attack detected"),_("ERR_TRANSFORM_ALREADY_TRANSFORMING","Calling transform done when still transforming"),_("ERR_TRANSFORM_WITH_LENGTH_0","Calling transform done when writableState.length != 0"),_("ERR_UNKNOWN_ENCODING","Unknown encoding: %s"),_("ERR_UNKNOWN_SIGNAL","Unknown signal: %s"),_("ERR_UNKNOWN_STDIN_TYPE","Unknown stdin file type"),_("ERR_UNKNOWN_STREAM_TYPE","Unknown stream file type"),_("ERR_V8BREAKITERATOR","Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl");function I(D,P,G){t(D,"name is required");var q;P.includes("not ")?(q="must not be",P=P.split("not ")[1]):q="must be";var Y;if(Array.isArray(D)){var ne=D.map(function(le){return'"'+le+'"'}).join(", ");Y="The "+ne+" arguments "+q+" "+T(P,"type")}else if(D.includes(" argument"))Y="The "+D+" "+q+" "+T(P,"type");else{var ce=D.includes(".")?"property":"argument";Y='The "'+D+'" '+ce+" "+q+" "+T(P,"type")}return arguments.length>=3&&(Y+=". Received type "+(G!==null?typeof G:"null")),Y}function N(){for(var D=[],P=0;P<arguments.length;P++)D[P]=arguments[P];t(D.length>0,"At least one arg needs to be specified");var G="The ",q=D.length;switch(D=D.map(function(Y){return'"'+Y+'"'}),q){case 1:G+=D[0]+" argument";break;case 2:G+=D[0]+" and "+D[1]+" arguments";break;default:G+=D.slice(0,q-1).join(", "),G+=", and "+D[q-1]+" arguments";break}return G+" must be specified"}function T(D,P){if(t(D,"expected is required"),t(typeof P=="string","thing is required"),Array.isArray(D)){var G=D.length;return t(G>0,"At least one expected value needs to be specified"),D=D.map(function(q){return String(q)}),G>2?"one of "+P+" "+D.slice(0,G-1).join(", ")+", or "+D[G-1]:G===2?"one of "+P+" "+D[0]+" or "+D[1]:"of "+P+" "+D[0]}else return"of "+P+" "+String(D)}function M(D,P){return P?"Attempt to write outside buffer bounds":'"'+D+'" is outside of buffer bounds'}return Ff}function met(){if(iet)return Nb;iet=!0,Object.defineProperty(Nb,"__esModule",{value:!0}),Nb.strToEncoding=Nb.assertEncoding=Nb.ENCODING_UTF8=void 0;var e=_he(),t=_et();Nb.ENCODING_UTF8="utf8";function r(n){if(n&&!e.Buffer.isEncoding(n))throw new t.TypeError("ERR_INVALID_OPT_VALUE_ENCODING",n)}Nb.assertEncoding=r;function i(n,o){return!o||o===Nb.ENCODING_UTF8?n:o==="buffer"?new e.Buffer(n):new e.Buffer(n).toString(o)}return Nb.strToEncoding=i,Nb}function yet(){if(oet)return GN;oet=!0,Object.defineProperty(GN,"__esModule",{value:!0}),GN.Dirent=void 0;var e=uP(),t=met(),r=e.constants.S_IFMT,i=e.constants.S_IFDIR,n=e.constants.S_IFREG,o=e.constants.S_IFBLK,d=e.constants.S_IFCHR,g=e.constants.S_IFLNK,y=e.constants.S_IFIFO,_=e.constants.S_IFSOCK,I=(function(){function N(){this.name="",this.mode=0}return N.build=function(T,M){var D=new N,P=T.getNode().mode;return D.name=(0,t.strToEncoding)(T.getName(),M),D.mode=P,D},N.prototype._checkModeProperty=function(T){return(this.mode&r)===T},N.prototype.isDirectory=function(){return this._checkModeProperty(i)},N.prototype.isFile=function(){return this._checkModeProperty(n)},N.prototype.isBlockDevice=function(){return this._checkModeProperty(o)},N.prototype.isCharacterDevice=function(){return this._checkModeProperty(d)},N.prototype.isSymbolicLink=function(){return this._checkModeProperty(g)},N.prototype.isFIFO=function(){return this._checkModeProperty(y)},N.prototype.isSocket=function(){return this._checkModeProperty(_)},N})();return GN.Dirent=I,GN.default=I,GN}function bet(){if(aet)return wz;aet=!0;var e=za;Object.defineProperty(wz,"__esModule",{value:!0});var t;return typeof e.nextTick=="function"?t=e.nextTick.bind(typeof globalThis<"u"?globalThis:set):t=setTimeout.bind(typeof globalThis<"u"?globalThis:set),wz.default=t,wz}function Eet(){if(cet)return qN;cet=!0;var e=za;Object.defineProperty(qN,"__esModule",{value:!0}),qN.createProcess=void 0;var t=function(){if(typeof e<"u")return e;try{return za}catch{return}};function r(){var i=t()||{};return i.getuid||(i.getuid=function(){return 0}),i.getgid||(i.getgid=function(){return 0}),i.cwd||(i.cwd=function(){return"/"}),i.nextTick||(i.nextTick=bet().default),i.emitWarning||(i.emitWarning=function(n,o){console.warn(""+o+(o?": ":"")+n)}),i.env||(i.env={}),i}return qN.createProcess=r,qN.default=r(),qN}function CUt(){if(uet)return Dp;uet=!0;var e=Dp&&Dp.__extends||(function(){var D=function(P,G){return D=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(q,Y){q.__proto__=Y}||function(q,Y){for(var ne in Y)Object.prototype.hasOwnProperty.call(Y,ne)&&(q[ne]=Y[ne])},D(P,G)};return function(P,G){if(typeof G!="function"&&G!==null)throw new TypeError("Class extends value "+String(G)+" is not a constructor or null");D(P,G);function q(){this.constructor=P}P.prototype=G===null?Object.create(G):(q.prototype=G.prototype,new q)}})();Object.defineProperty(Dp,"__esModule",{value:!0}),Dp.File=Dp.Link=Dp.Node=Dp.SEP=void 0;var t=Eet(),r=_he(),i=uP(),n=xc,o=ghe(),d=i.constants.S_IFMT,g=i.constants.S_IFDIR,y=i.constants.S_IFREG,_=i.constants.S_IFLNK,I=i.constants.O_APPEND;Dp.SEP="/";var N=(function(D){e(P,D);function P(G,q){q===void 0&&(q=438);var Y=D.call(this)||this;return Y.uid=t.default.getuid(),Y.gid=t.default.getgid(),Y.atime=new Date,Y.mtime=new Date,Y.ctime=new Date,Y.perm=438,Y.mode=y,Y.nlink=1,Y.perm=q,Y.mode|=q,Y.ino=G,Y}return P.prototype.getString=function(G){return G===void 0&&(G="utf8"),this.getBuffer().toString(G)},P.prototype.setString=function(G){this.buf=(0,r.bufferFrom)(G,"utf8"),this.touch()},P.prototype.getBuffer=function(){return this.buf||this.setBuffer((0,r.bufferAllocUnsafe)(0)),(0,r.bufferFrom)(this.buf)},P.prototype.setBuffer=function(G){this.buf=(0,r.bufferFrom)(G),this.touch()},P.prototype.getSize=function(){return this.buf?this.buf.length:0},P.prototype.setModeProperty=function(G){this.mode=this.mode&~d|G},P.prototype.setIsFile=function(){this.setModeProperty(y)},P.prototype.setIsDirectory=function(){this.setModeProperty(g)},P.prototype.setIsSymlink=function(){this.setModeProperty(_)},P.prototype.isFile=function(){return(this.mode&d)===y},P.prototype.isDirectory=function(){return(this.mode&d)===g},P.prototype.isSymlink=function(){return(this.mode&d)===_},P.prototype.makeSymlink=function(G){this.symlink=G,this.setIsSymlink()},P.prototype.write=function(G,q,Y,ne){if(q===void 0&&(q=0),Y===void 0&&(Y=G.length),ne===void 0&&(ne=0),this.buf||(this.buf=(0,r.bufferAllocUnsafe)(0)),ne+Y>this.buf.length){var ce=(0,r.bufferAllocUnsafe)(ne+Y);this.buf.copy(ce,0,0,this.buf.length),this.buf=ce}return G.copy(this.buf,ne,q,q+Y),this.touch(),Y},P.prototype.read=function(G,q,Y,ne){q===void 0&&(q=0),Y===void 0&&(Y=G.byteLength),ne===void 0&&(ne=0),this.buf||(this.buf=(0,r.bufferAllocUnsafe)(0));var ce=Y;return ce>G.byteLength&&(ce=G.byteLength),ce+ne>this.buf.length&&(ce=this.buf.length-ne),this.buf.copy(G,q,ne,ne+ce),ce},P.prototype.truncate=function(G){if(G===void 0&&(G=0),!G)this.buf=(0,r.bufferAllocUnsafe)(0);else if(this.buf||(this.buf=(0,r.bufferAllocUnsafe)(0)),G<=this.buf.length)this.buf=this.buf.slice(0,G);else{var q=(0,r.bufferAllocUnsafe)(0);this.buf.copy(q),q.fill(0,G)}this.touch()},P.prototype.chmod=function(G){this.perm=G,this.mode=this.mode&-512|G,this.touch()},P.prototype.chown=function(G,q){this.uid=G,this.gid=q,this.touch()},P.prototype.touch=function(){this.mtime=new Date,this.emit("change",this)},P.prototype.canRead=function(G,q){return G===void 0&&(G=t.default.getuid()),q===void 0&&(q=t.default.getgid()),!!(this.perm&4||q===this.gid&&this.perm&32||G===this.uid&&this.perm&256)},P.prototype.canWrite=function(G,q){return G===void 0&&(G=t.default.getuid()),q===void 0&&(q=t.default.getgid()),!!(this.perm&2||q===this.gid&&this.perm&16||G===this.uid&&this.perm&128)},P.prototype.del=function(){this.emit("delete",this)},P.prototype.toJSON=function(){return{ino:this.ino,uid:this.uid,gid:this.gid,atime:this.atime.getTime(),mtime:this.mtime.getTime(),ctime:this.ctime.getTime(),perm:this.perm,mode:this.mode,nlink:this.nlink,symlink:this.symlink,data:this.getString()}},P})(n.EventEmitter);Dp.Node=N;var T=(function(D){e(P,D);function P(G,q,Y){var ne=D.call(this)||this;return ne.children={},ne.steps=[],ne.ino=0,ne.length=0,ne.vol=G,ne.parent=q,ne.steps=q?q.steps.concat([Y]):[Y],ne}return P.prototype.setNode=function(G){this.node=G,this.ino=G.ino},P.prototype.getNode=function(){return this.node},P.prototype.createChild=function(G,q){q===void 0&&(q=this.vol.createNode());var Y=new P(this.vol,this,G);return Y.setNode(q),q.isDirectory(),this.setChild(G,Y),Y},P.prototype.setChild=function(G,q){return q===void 0&&(q=new P(this.vol,this,G)),this.children[G]=q,q.parent=this,this.length++,this.emit("child:add",q,this),q},P.prototype.deleteChild=function(G){delete this.children[G.getName()],this.length--,this.emit("child:delete",G,this)},P.prototype.getChild=function(G){if(Object.hasOwnProperty.call(this.children,G))return this.children[G]},P.prototype.getPath=function(){return this.steps.join(Dp.SEP)},P.prototype.getName=function(){return this.steps[this.steps.length-1]},P.prototype.walk=function(G,q,Y){if(q===void 0&&(q=G.length),Y===void 0&&(Y=0),Y>=G.length)return this;if(Y>=q)return this;var ne=G[Y],ce=this.getChild(ne);return ce?ce.walk(G,q,Y+1):null},P.prototype.toJSON=function(){return{steps:this.steps,ino:this.ino,children:Object.keys(this.children)}},P})(n.EventEmitter);Dp.Link=T;var M=(function(){function D(P,G,q,Y){this.position=0,this.link=P,this.node=G,this.flags=q,this.fd=Y}return D.prototype.getString=function(P){return this.node.getString()},D.prototype.setString=function(P){this.node.setString(P)},D.prototype.getBuffer=function(){return this.node.getBuffer()},D.prototype.setBuffer=function(P){this.node.setBuffer(P)},D.prototype.getSize=function(){return this.node.getSize()},D.prototype.truncate=function(P){this.node.truncate(P)},D.prototype.seekTo=function(P){this.position=P},D.prototype.stats=function(){return o.default.build(this.node)},D.prototype.write=function(P,G,q,Y){G===void 0&&(G=0),q===void 0&&(q=P.length),typeof Y!="number"&&(Y=this.position),this.flags&I&&(Y=this.getSize());var ne=this.node.write(P,G,q,Y);return this.position=Y+ne,ne},D.prototype.read=function(P,G,q,Y){G===void 0&&(G=0),q===void 0&&(q=P.byteLength),typeof Y!="number"&&(Y=this.position);var ne=this.node.read(P,G,q,Y);return this.position=Y+ne,ne},D.prototype.chmod=function(P){this.node.chmod(P)},D.prototype.chown=function(P,G){this.node.chown(P,G)},D})();return Dp.File=M,Dp}function OUt(){if(det)return Oz;det=!0,Object.defineProperty(Oz,"__esModule",{value:!0});function e(t,r,i){var n=setTimeout.apply(typeof globalThis<"u"?globalThis:wUt,arguments);return n&&typeof n=="object"&&typeof n.unref=="function"&&n.unref(),n}return Oz.default=e,Oz}function NUt(){if(fet)return dI;fet=!0;var e=dI&&dI.__spreadArray||function(n,o,d){if(d||arguments.length===2)for(var g=0,y=o.length,_;g<y;g++)(_||!(g in o))&&(_||(_=Array.prototype.slice.call(o,0,g)),_[g]=o[g]);return n.concat(_||Array.prototype.slice.call(o))};Object.defineProperty(dI,"__esModule",{value:!0}),dI.FileHandle=void 0;function t(n,o,d){return d===void 0&&(d=function(g){return g}),function(){for(var g=[],y=0;y<arguments.length;y++)g[y]=arguments[y];return new Promise(function(_,I){n[o].bind(n).apply(void 0,e(e([],g,!1),[function(N,T){return N?I(N):_(d(T))}],!1))})}}var r=(function(){function n(o,d){this.vol=o,this.fd=d}return n.prototype.appendFile=function(o,d){return t(this.vol,"appendFile")(this.fd,o,d)},n.prototype.chmod=function(o){return t(this.vol,"fchmod")(this.fd,o)},n.prototype.chown=function(o,d){return t(this.vol,"fchown")(this.fd,o,d)},n.prototype.close=function(){return t(this.vol,"close")(this.fd)},n.prototype.datasync=function(){return t(this.vol,"fdatasync")(this.fd)},n.prototype.read=function(o,d,g,y){return t(this.vol,"read",function(_){return{bytesRead:_,buffer:o}})(this.fd,o,d,g,y)},n.prototype.readFile=function(o){return t(this.vol,"readFile")(this.fd,o)},n.prototype.stat=function(o){return t(this.vol,"fstat")(this.fd,o)},n.prototype.sync=function(){return t(this.vol,"fsync")(this.fd)},n.prototype.truncate=function(o){return t(this.vol,"ftruncate")(this.fd,o)},n.prototype.utimes=function(o,d){return t(this.vol,"futimes")(this.fd,o,d)},n.prototype.write=function(o,d,g,y){return t(this.vol,"write",function(_){return{bytesWritten:_,buffer:o}})(this.fd,o,d,g,y)},n.prototype.writeFile=function(o,d){return t(this.vol,"writeFile")(this.fd,o,d)},n})();dI.FileHandle=r;function i(n){return typeof Promise>"u"?null:{FileHandle:r,access:function(o,d){return t(n,"access")(o,d)},appendFile:function(o,d,g){return t(n,"appendFile")(o instanceof r?o.fd:o,d,g)},chmod:function(o,d){return t(n,"chmod")(o,d)},chown:function(o,d,g){return t(n,"chown")(o,d,g)},copyFile:function(o,d,g){return t(n,"copyFile")(o,d,g)},lchmod:function(o,d){return t(n,"lchmod")(o,d)},lchown:function(o,d,g){return t(n,"lchown")(o,d,g)},link:function(o,d){return t(n,"link")(o,d)},lstat:function(o,d){return t(n,"lstat")(o,d)},mkdir:function(o,d){return t(n,"mkdir")(o,d)},mkdtemp:function(o,d){return t(n,"mkdtemp")(o,d)},open:function(o,d,g){return t(n,"open",function(y){return new r(n,y)})(o,d,g)},readdir:function(o,d){return t(n,"readdir")(o,d)},readFile:function(o,d){return t(n,"readFile")(o instanceof r?o.fd:o,d)},readlink:function(o,d){return t(n,"readlink")(o,d)},realpath:function(o,d){return t(n,"realpath")(o,d)},rename:function(o,d){return t(n,"rename")(o,d)},rmdir:function(o){return t(n,"rmdir")(o)},stat:function(o,d){return t(n,"stat")(o,d)},symlink:function(o,d,g){return t(n,"symlink")(o,d,g)},truncate:function(o,d){return t(n,"truncate")(o,d)},unlink:function(o){return t(n,"unlink")(o)},utimes:function(o,d,g){return t(n,"utimes")(o,d,g)},writeFile:function(o,d,g){return t(n,"writeFile")(o instanceof r?o.fd:o,d,g)}}}return dI.default=i,dI}function xUt(){if(het)return cP;het=!0;var e=za;Object.defineProperty(cP,"__esModule",{value:!0}),cP.unixify=o,cP.correctPath=d;var t=e.platform==="win32";function r(g){var y=g.length-1;if(y<2)return g;for(;i(g,y);)y--;return g.substr(0,y+1)}function i(g,y){var _=g[y];return y>0&&(_==="/"||t&&_==="\\")}function n(g,y){if(typeof g!="string")throw new TypeError("expected a string");return g=g.replace(/[\\\/]+/g,"/"),y!==!1&&(g=r(g)),g}function o(g){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return t?(g=n(g,y),g.replace(/^([a-zA-Z]+:|\.\/)/,"")):g}function d(g){return o(g.replace(/^\\\\\?\\.:\\/,"\\"))}return cP}function vet(){if(Aet)return Ks;Aet=!0;var e=Ks&&Ks.__extends||(function(){var yt=function(ot,lt){return yt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(gt,Ie){gt.__proto__=Ie}||function(gt,Ie){for(var Zt in Ie)Object.prototype.hasOwnProperty.call(Ie,Zt)&&(gt[Zt]=Ie[Zt])},yt(ot,lt)};return function(ot,lt){if(typeof lt!="function"&&lt!==null)throw new TypeError("Class extends value "+String(lt)+" is not a constructor or null");yt(ot,lt);function gt(){this.constructor=ot}ot.prototype=lt===null?Object.create(lt):(gt.prototype=lt.prototype,new gt)}})(),t=Ks&&Ks.__spreadArray||function(yt,ot,lt){if(lt||arguments.length===2)for(var gt=0,Ie=ot.length,Zt;gt<Ie;gt++)(Zt||!(gt in ot))&&(Zt||(Zt=Array.prototype.slice.call(ot,0,gt)),Zt[gt]=ot[gt]);return yt.concat(Zt||Array.prototype.slice.call(ot))};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.FSWatcher=Ks.StatWatcher=Ks.Volume=Ks.toUnixTimestamp=Ks.bufferToEncoding=Ks.dataToBuffer=Ks.dataToStr=Ks.pathToSteps=Ks.filenameToSteps=Ks.pathToFilename=Ks.flagsToNumber=Ks.FLAGS=void 0;var r=z0,i=CUt(),n=ghe(),o=yet(),d=_he(),g=bet(),y=Eet(),_=OUt(),I=Tp,N=uP(),T=xc,M=met(),D=_et(),P=yn,G=NUt(),q=r.resolve,Y=N.constants.O_RDONLY,ne=N.constants.O_WRONLY,ce=N.constants.O_RDWR,le=N.constants.O_CREAT,pe=N.constants.O_EXCL,ae=N.constants.O_TRUNC,W=N.constants.O_APPEND,se=N.constants.O_SYNC,O=N.constants.O_DIRECTORY,s=N.constants.F_OK,l=N.constants.COPYFILE_EXCL,A=N.constants.COPYFILE_FICLONE_FORCE,m=r.posix?r.posix:r,E=m.sep,w=m.relative,x=m.join,R=m.dirname,u=y.default.platform==="win32",C=128,U={PATH_STR:"path must be a string or Buffer",FD:"fd must be a file descriptor",MODE_INT:"mode must be an int",CB:"callback must be a function",UID:"uid must be an unsigned int",GID:"gid must be an unsigned int",LEN:"len must be an integer",ATIME:"atime must be an integer",MTIME:"mtime must be an integer",PREFIX:"filename prefix is required",BUFFER:"buffer must be an instance of Buffer or StaticBuffer",OFFSET:"offset must be an integer",LENGTH:"length must be an integer",POSITION:"position must be an integer"},F=function(yt){return"Expected options to be either an object or a string, but got "+yt+" instead"},X="ENOENT",Ae="EBADF",he="EINVAL",$e="EPERM",Ge="EPROTO",Re="EEXIST",Se="ENOTDIR",ct="EMFILE",ze="EACCES",te="EISDIR",Ue="ENOTEMPTY",oe="ENOSYS";function ge(yt,ot,lt,gt){ot===void 0&&(ot=""),lt===void 0&&(lt=""),gt===void 0&&(gt="");var Ie="";switch(lt&&(Ie=" '"+lt+"'"),gt&&(Ie+=" -> '"+gt+"'"),yt){case X:return"ENOENT: no such file or directory, "+ot+Ie;case Ae:return"EBADF: bad file descriptor, "+ot+Ie;case he:return"EINVAL: invalid argument, "+ot+Ie;case $e:return"EPERM: operation not permitted, "+ot+Ie;case Ge:return"EPROTO: protocol error, "+ot+Ie;case Re:return"EEXIST: file already exists, "+ot+Ie;case Se:return"ENOTDIR: not a directory, "+ot+Ie;case te:return"EISDIR: illegal operation on a directory, "+ot+Ie;case ze:return"EACCES: permission denied, "+ot+Ie;case Ue:return"ENOTEMPTY: directory not empty, "+ot+Ie;case ct:return"EMFILE: too many open files, "+ot+Ie;case oe:return"ENOSYS: function not implemented, "+ot+Ie;default:return yt+": error occurred, "+ot+Ie}}function Le(yt,ot,lt,gt,Ie){ot===void 0&&(ot=""),lt===void 0&&(lt=""),gt===void 0&&(gt=""),Ie===void 0&&(Ie=Error);var Zt=new Ie(ge(yt,ot,lt,gt));return Zt.code=yt,Zt}var V;(function(yt){yt[yt.r=Y]="r",yt[yt["r+"]=ce]="r+",yt[yt.rs=Y|se]="rs",yt[yt.sr=yt.rs]="sr",yt[yt["rs+"]=ce|se]="rs+",yt[yt["sr+"]=yt["rs+"]]="sr+",yt[yt.w=ne|le|ae]="w",yt[yt.wx=ne|le|ae|pe]="wx",yt[yt.xw=yt.wx]="xw",yt[yt["w+"]=ce|le|ae]="w+",yt[yt["wx+"]=ce|le|ae|pe]="wx+",yt[yt["xw+"]=yt["wx+"]]="xw+",yt[yt.a=ne|W|le]="a",yt[yt.ax=ne|W|le|pe]="ax",yt[yt.xa=yt.ax]="xa",yt[yt["a+"]=ce|W|le]="a+",yt[yt["ax+"]=ce|W|le|pe]="ax+",yt[yt["xa+"]=yt["ax+"]]="xa+"})(V=Ks.FLAGS||(Ks.FLAGS={}));function Qe(yt){if(typeof yt=="number")return yt;if(typeof yt=="string"){var ot=V[yt];if(typeof ot<"u")return ot}throw new D.TypeError("ERR_INVALID_OPT_VALUE","flags",yt)}Ks.flagsToNumber=Qe;function _t(yt,ot){var lt;if(ot){var gt=typeof ot;switch(gt){case"string":lt=Object.assign({},yt,{encoding:ot});break;case"object":lt=Object.assign({},yt,ot);break;default:throw TypeError(F(gt))}}else return yt;return lt.encoding!=="buffer"&&(0,M.assertEncoding)(lt.encoding),lt}function rt(yt){return function(ot){return _t(yt,ot)}}function At(yt){if(typeof yt!="function")throw TypeError(U.CB);return yt}function Er(yt){return function(ot,lt){return typeof ot=="function"?[yt(),ot]:[yt(ot),At(lt)]}}var mt={encoding:"utf8"},Ht=rt(mt),zr=Er(Ht),ve={flag:"r"},ie=rt(ve),_e={encoding:"utf8",mode:438,flag:V[V.w]},Be=rt(_e),Ze={encoding:"utf8",mode:438,flag:V[V.a]},$t=rt(Ze),at=Er($t),zt=mt,Hr=rt(zt),St=Er(Hr),Yt={mode:511,recursive:!1},qr=function(yt){return typeof yt=="number"?Object.assign({},Yt,{mode:yt}):Object.assign({},Yt,yt)},tr={recursive:!1},hr=function(yt){return Object.assign({},tr,yt)},Cn={encoding:"utf8",withFileTypes:!1},er=rt(Cn),pr=Er(er),mn={bigint:!1},Xt=function(yt){return yt===void 0&&(yt={}),Object.assign({},mn,yt)},dr=function(yt,ot){return typeof yt=="function"?[Xt(),yt]:[Xt(yt),At(ot)]};function wn(yt){if(yt.hostname!=="")throw new D.TypeError("ERR_INVALID_FILE_URL_HOST",y.default.platform);for(var ot=yt.pathname,lt=0;lt<ot.length;lt++)if(ot[lt]==="%"){var gt=ot.codePointAt(lt+2)|32;if(ot[lt+1]==="2"&&gt===102)throw new D.TypeError("ERR_INVALID_FILE_URL_PATH","must not include encoded / characters")}return decodeURIComponent(ot)}function Qt(yt){if(typeof yt!="string"&&!d.Buffer.isBuffer(yt)){try{if(!(yt instanceof uu.URL))throw new TypeError(U.PATH_STR)}catch{throw new TypeError(U.PATH_STR)}yt=wn(yt)}var ot=String(yt);return je(ot),ot}Ks.pathToFilename=Qt;var fr=function(yt,ot){return ot===void 0&&(ot=y.default.cwd()),q(ot,yt)};if(u){var In=fr,jt=xUt().unixify;fr=function(yt,ot){return jt(In(yt,ot))}}function ar(yt,ot){var lt=fr(yt,ot),gt=lt.substr(1);return gt?gt.split(E):[]}Ks.filenameToSteps=ar;function ht(yt){return ar(Qt(yt))}Ks.pathToSteps=ht;function Xe(yt,ot){return ot===void 0&&(ot=M.ENCODING_UTF8),d.Buffer.isBuffer(yt)?yt.toString(ot):yt instanceof Uint8Array?(0,d.bufferFrom)(yt).toString(ot):String(yt)}Ks.dataToStr=Xe;function et(yt,ot){return ot===void 0&&(ot=M.ENCODING_UTF8),d.Buffer.isBuffer(yt)?yt:yt instanceof Uint8Array?(0,d.bufferFrom)(yt):(0,d.bufferFrom)(String(yt),ot)}Ks.dataToBuffer=et;function ue(yt,ot){return!ot||ot==="buffer"?yt:yt.toString(ot)}Ks.bufferToEncoding=ue;function je(yt,ot){if((""+yt).indexOf("\0")!==-1){var lt=new Error("Path must be a string without null bytes");if(lt.code=X,typeof ot!="function")throw lt;return y.default.nextTick(ot,lt),!1}return!0}function be(yt,ot){if(typeof yt=="number")return yt;if(typeof yt=="string")return parseInt(yt,8);if(ot)return qe(ot)}function qe(yt,ot){var lt=be(yt,ot);if(typeof lt!="number"||isNaN(lt))throw new TypeError(U.MODE_INT);return lt}function De(yt){return yt>>>0===yt}function Je(yt){if(!De(yt))throw TypeError(U.FD)}function Rt(yt){if(typeof yt=="string"&&+yt==yt)return+yt;if(yt instanceof Date)return yt.getTime()/1e3;if(isFinite(yt))return yt<0?Date.now()/1e3:yt;throw new Error("Cannot parse time: "+yt)}Ks.toUnixTimestamp=Rt;function Vt(yt){if(typeof yt!="number")throw TypeError(U.UID)}function br(yt){if(typeof yt!="number")throw TypeError(U.GID)}function Rr(yt){var ot={};function lt(gt,Ie){for(var Zt in Ie){var Ir=Ie[Zt],$=x(gt,Zt);typeof Ir=="string"?ot[$]=Ir:typeof Ir=="object"&&Ir!==null&&Object.keys(Ir).length>0?lt($,Ir):ot[$]=null}}return lt("",yt),ot}var Dr=(function(){function yt(ot){ot===void 0&&(ot={}),this.ino=0,this.inodes={},this.releasedInos=[],this.fds={},this.releasedFds=[],this.maxFiles=1e4,this.openFiles=0,this.promisesApi=(0,G.default)(this),this.statWatchers={},this.props=Object.assign({Node:i.Node,Link:i.Link,File:i.File},ot);var lt=this.createLink();lt.setNode(this.createNode(!0));var gt=this;this.StatWatcher=(function(Ir){e($,Ir);function $(){return Ir.call(this,gt)||this}return $})(k);var Ie=sn;this.ReadStream=(function(Ir){e($,Ir);function $(){for(var Qr=[],en=0;en<arguments.length;en++)Qr[en]=arguments[en];return Ir.apply(this,t([gt],Qr,!1))||this}return $})(Ie);var Zt=Wr;this.WriteStream=(function(Ir){e($,Ir);function $(){for(var Qr=[],en=0;en<arguments.length;en++)Qr[en]=arguments[en];return Ir.apply(this,t([gt],Qr,!1))||this}return $})(Zt),this.FSWatcher=(function(Ir){e($,Ir);function $(){return Ir.call(this,gt)||this}return $})(ln),this.root=lt}return yt.fromJSON=function(ot,lt){var gt=new yt;return gt.fromJSON(ot,lt),gt},yt.fromNestedJSON=function(ot,lt){var gt=new yt;return gt.fromNestedJSON(ot,lt),gt},Object.defineProperty(yt.prototype,"promises",{get:function(){if(this.promisesApi===null)throw new Error("Promise is not supported in this environment.");return this.promisesApi},enumerable:!1,configurable:!0}),yt.prototype.createLink=function(ot,lt,gt,Ie){if(gt===void 0&&(gt=!1),!ot)return new this.props.Link(this,null,"");if(!lt)throw new Error("createLink: name cannot be empty");return ot.createChild(lt,this.createNode(gt,Ie))},yt.prototype.deleteLink=function(ot){var lt=ot.parent;return lt?(lt.deleteChild(ot),!0):!1},yt.prototype.newInoNumber=function(){var ot=this.releasedInos.pop();return ot||(this.ino=(this.ino+1)%4294967295,this.ino)},yt.prototype.newFdNumber=function(){var ot=this.releasedFds.pop();return typeof ot=="number"?ot:yt.fd--},yt.prototype.createNode=function(ot,lt){ot===void 0&&(ot=!1);var gt=new this.props.Node(this.newInoNumber(),lt);return ot&&gt.setIsDirectory(),this.inodes[gt.ino]=gt,gt},yt.prototype.getNode=function(ot){return this.inodes[ot]},yt.prototype.deleteNode=function(ot){ot.del(),delete this.inodes[ot.ino],this.releasedInos.push(ot.ino)},yt.prototype.genRndStr=function(){var ot=(Math.random()+1).toString(36).substr(2,6);return ot.length===6?ot:this.genRndStr()},yt.prototype.getLink=function(ot){return this.root.walk(ot)},yt.prototype.getLinkOrThrow=function(ot,lt){var gt=ar(ot),Ie=this.getLink(gt);if(!Ie)throw Le(X,lt,ot);return Ie},yt.prototype.getResolvedLink=function(ot){for(var lt=typeof ot=="string"?ar(ot):ot,gt=this.root,Ie=0;Ie<lt.length;){var Zt=lt[Ie];if(gt=gt.getChild(Zt),!gt)return null;var Ir=gt.getNode();if(Ir.isSymlink()){lt=Ir.symlink.concat(lt.slice(Ie+1)),gt=this.root,Ie=0;continue}Ie++}return gt},yt.prototype.getResolvedLinkOrThrow=function(ot,lt){var gt=this.getResolvedLink(ot);if(!gt)throw Le(X,lt,ot);return gt},yt.prototype.resolveSymlinks=function(ot){return this.getResolvedLink(ot.steps.slice(1))},yt.prototype.getLinkAsDirOrThrow=function(ot,lt){var gt=this.getLinkOrThrow(ot,lt);if(!gt.getNode().isDirectory())throw Le(Se,lt,ot);return gt},yt.prototype.getLinkParent=function(ot){return this.root.walk(ot,ot.length-1)},yt.prototype.getLinkParentAsDirOrThrow=function(ot,lt){var gt=ot instanceof Array?ot:ar(ot),Ie=this.getLinkParent(gt);if(!Ie)throw Le(X,lt,E+gt.join(E));if(!Ie.getNode().isDirectory())throw Le(Se,lt,E+gt.join(E));return Ie},yt.prototype.getFileByFd=function(ot){return this.fds[String(ot)]},yt.prototype.getFileByFdOrThrow=function(ot,lt){if(!De(ot))throw TypeError(U.FD);var gt=this.getFileByFd(ot);if(!gt)throw Le(Ae,lt);return gt},yt.prototype.getNodeByIdOrCreate=function(ot,lt,gt){if(typeof ot=="number"){var Ie=this.getFileByFd(ot);if(!Ie)throw Error("File nto found");return Ie.node}else{var Zt=ht(ot),Ir=this.getLink(Zt);if(Ir)return Ir.getNode();if(lt&le){var $=this.getLinkParent(Zt);if($){var Qr=Zt[Zt.length-1];return Ir=this.createLink($,Qr,!1,gt),Ir.getNode()}}throw Le(X,"getNodeByIdOrCreate",Qt(ot))}},yt.prototype.wrapAsync=function(ot,lt,gt){var Ie=this;At(gt),(0,g.default)(function(){var Zt;try{Zt=ot.apply(Ie,lt)}catch(Ir){gt(Ir);return}gt(null,Zt)})},yt.prototype._toJSON=function(ot,lt,gt){var Ie;ot===void 0&&(ot=this.root),lt===void 0&&(lt={});var Zt=!0,Ir=ot.children;ot.getNode().isFile()&&(Ir=(Ie={},Ie[ot.getName()]=ot.parent.getChild(ot.getName()),Ie),ot=ot.parent);for(var $ in Ir){Zt=!1;var Qr=ot.getChild($);if(!Qr)throw new Error("_toJSON: unexpected undefined");var en=Qr.getNode();if(en.isFile()){var xr=Qr.getPath();gt&&(xr=w(gt,xr)),lt[xr]=en.getString()}else en.isDirectory()&&this._toJSON(Qr,lt,gt)}var Mi=ot.getPath();return gt&&(Mi=w(gt,Mi)),Mi&&Zt&&(lt[Mi]=null),lt},yt.prototype.toJSON=function(ot,lt,gt){lt===void 0&&(lt={}),gt===void 0&&(gt=!1);var Ie=[];if(ot){ot instanceof Array||(ot=[ot]);for(var Zt=0,Ir=ot;Zt<Ir.length;Zt++){var $=Ir[Zt],Qr=Qt($),en=this.getResolvedLink(Qr);en&&Ie.push(en)}}else Ie.push(this.root);if(!Ie.length)return lt;for(var xr=0,Mi=Ie;xr<Mi.length;xr++){var en=Mi[xr];this._toJSON(en,lt,gt?en.getPath():"")}return lt},yt.prototype.fromJSON=function(ot,lt){lt===void 0&&(lt=y.default.cwd());for(var gt in ot){var Ie=ot[gt];if(gt=fr(gt,lt),typeof Ie=="string"){var Zt=R(gt);this.mkdirpBase(Zt,511),this.writeFileSync(gt,Ie)}else this.mkdirpBase(gt,511)}},yt.prototype.fromNestedJSON=function(ot,lt){this.fromJSON(Rr(ot),lt)},yt.prototype.reset=function(){this.ino=0,this.inodes={},this.releasedInos=[],this.fds={},this.releasedFds=[],this.openFiles=0,this.root=this.createLink(),this.root.setNode(this.createNode(!0))},yt.prototype.mountSync=function(ot,lt){this.fromJSON(lt,ot)},yt.prototype.openLink=function(ot,lt,gt){if(gt===void 0&&(gt=!0),this.openFiles>=this.maxFiles)throw Le(ct,"open",ot.getPath());var Ie=ot;if(gt&&(Ie=this.resolveSymlinks(ot)),!Ie)throw Le(X,"open",ot.getPath());var Zt=Ie.getNode();if(Zt.isDirectory()){if((lt&(Y|ce|ne))!==Y)throw Le(te,"open",ot.getPath())}else if(lt&O)throw Le(Se,"open",ot.getPath());if(!(lt&ne)&&!Zt.canRead())throw Le(ze,"open",ot.getPath());var Ir=new this.props.File(ot,Zt,lt,this.newFdNumber());return this.fds[Ir.fd]=Ir,this.openFiles++,lt&ae&&Ir.truncate(),Ir},yt.prototype.openFile=function(ot,lt,gt,Ie){Ie===void 0&&(Ie=!0);var Zt=ar(ot),Ir=Ie?this.getResolvedLink(Zt):this.getLink(Zt);if(!Ir&&lt&le){var $=this.getResolvedLink(Zt.slice(0,Zt.length-1));if(!$)throw Le(X,"open",E+Zt.join(E));lt&le&&typeof gt=="number"&&(Ir=this.createLink($,Zt[Zt.length-1],!1,gt))}if(Ir)return this.openLink(Ir,lt,Ie);throw Le(X,"open",ot)},yt.prototype.openBase=function(ot,lt,gt,Ie){Ie===void 0&&(Ie=!0);var Zt=this.openFile(ot,lt,gt,Ie);if(!Zt)throw Le(X,"open",ot);return Zt.fd},yt.prototype.openSync=function(ot,lt,gt){gt===void 0&&(gt=438);var Ie=qe(gt),Zt=Qt(ot),Ir=Qe(lt);return this.openBase(Zt,Ir,Ie)},yt.prototype.open=function(ot,lt,gt,Ie){var Zt=gt,Ir=Ie;typeof gt=="function"&&(Zt=438,Ir=gt),Zt=Zt||438;var $=qe(Zt),Qr=Qt(ot),en=Qe(lt);this.wrapAsync(this.openBase,[Qr,en,$],Ir)},yt.prototype.closeFile=function(ot){this.fds[ot.fd]&&(this.openFiles--,delete this.fds[ot.fd],this.releasedFds.push(ot.fd))},yt.prototype.closeSync=function(ot){Je(ot);var lt=this.getFileByFdOrThrow(ot,"close");this.closeFile(lt)},yt.prototype.close=function(ot,lt){Je(ot),this.wrapAsync(this.closeSync,[ot],lt)},yt.prototype.openFileOrGetById=function(ot,lt,gt){if(typeof ot=="number"){var Ie=this.fds[ot];if(!Ie)throw Le(X);return Ie}else return this.openFile(Qt(ot),lt,gt)},yt.prototype.readBase=function(ot,lt,gt,Ie,Zt){var Ir=this.getFileByFdOrThrow(ot);return Ir.read(lt,Number(gt),Number(Ie),Zt)},yt.prototype.readSync=function(ot,lt,gt,Ie,Zt){return Je(ot),this.readBase(ot,lt,gt,Ie,Zt)},yt.prototype.read=function(ot,lt,gt,Ie,Zt,Ir){var $=this;if(At(Ir),Ie===0)return y.default.nextTick(function(){Ir&&Ir(null,0,lt)});(0,g.default)(function(){try{var Qr=$.readBase(ot,lt,gt,Ie,Zt);Ir(null,Qr,lt)}catch(en){Ir(en)}})},yt.prototype.readFileBase=function(ot,lt,gt){var Ie,Zt=typeof ot=="number",Ir=Zt&&De(ot),$;if(Ir)$=ot;else{var Qr=Qt(ot),en=ar(Qr),xr=this.getResolvedLink(en);if(xr){var Mi=xr.getNode();if(Mi.isDirectory())throw Le(te,"open",xr.getPath())}$=this.openSync(ot,lt)}try{Ie=ue(this.getFileByFdOrThrow($).getBuffer(),gt)}finally{Ir||this.closeSync($)}return Ie},yt.prototype.readFileSync=function(ot,lt){var gt=ie(lt),Ie=Qe(gt.flag);return this.readFileBase(ot,Ie,gt.encoding)},yt.prototype.readFile=function(ot,lt,gt){var Ie=Er(ie)(lt,gt),Zt=Ie[0],Ir=Ie[1],$=Qe(Zt.flag);this.wrapAsync(this.readFileBase,[ot,$,Zt.encoding],Ir)},yt.prototype.writeBase=function(ot,lt,gt,Ie,Zt){var Ir=this.getFileByFdOrThrow(ot,"write");return Ir.write(lt,gt,Ie,Zt)},yt.prototype.writeSync=function(ot,lt,gt,Ie,Zt){Je(ot);var Ir,$,Qr,en,xr=typeof lt!="string";xr?($=(gt||0)|0,Qr=Ie,en=Zt):(en=gt,Ir=Ie);var Mi=et(lt,Ir);return xr?typeof Qr>"u"&&(Qr=Mi.length):($=0,Qr=Mi.length),this.writeBase(ot,Mi,$,Qr,en)},yt.prototype.write=function(ot,lt,gt,Ie,Zt,Ir){var $=this;Je(ot);var Qr,en,xr,Mi,oo,ho=typeof lt,Tr=typeof gt,jo=typeof Ie,ka=typeof Zt;ho!=="string"?Tr==="function"?oo=gt:jo==="function"?(Qr=gt|0,oo=Ie):ka==="function"?(Qr=gt|0,en=Ie,oo=Zt):(Qr=gt|0,en=Ie,xr=Zt,oo=Ir):Tr==="function"?oo=gt:jo==="function"?(xr=gt,oo=Ie):ka==="function"&&(xr=gt,Mi=Ie,oo=Zt);var wo=et(lt,Mi);ho!=="string"?typeof en>"u"&&(en=wo.length):(Qr=0,en=wo.length);var Fo=At(oo);(0,g.default)(function(){try{var Ar=$.writeBase(ot,wo,Qr,en,xr);ho!=="string"?Fo(null,Ar,wo):Fo(null,Ar,lt)}catch(Pa){Fo(Pa)}})},yt.prototype.writeFileBase=function(ot,lt,gt,Ie){var Zt=typeof ot=="number",Ir;Zt?Ir=ot:Ir=this.openBase(Qt(ot),gt,Ie);var $=0,Qr=lt.length,en=gt&W?void 0:0;try{for(;Qr>0;){var xr=this.writeSync(Ir,lt,$,Qr,en);$+=xr,Qr-=xr,en!==void 0&&(en+=xr)}}finally{Zt||this.closeSync(Ir)}},yt.prototype.writeFileSync=function(ot,lt,gt){var Ie=Be(gt),Zt=Qe(Ie.flag),Ir=qe(Ie.mode),$=et(lt,Ie.encoding);this.writeFileBase(ot,$,Zt,Ir)},yt.prototype.writeFile=function(ot,lt,gt,Ie){var Zt=gt,Ir=Ie;typeof gt=="function"&&(Zt=_e,Ir=gt);var $=At(Ir),Qr=Be(Zt),en=Qe(Qr.flag),xr=qe(Qr.mode),Mi=et(lt,Qr.encoding);this.wrapAsync(this.writeFileBase,[ot,Mi,en,xr],$)},yt.prototype.linkBase=function(ot,lt){var gt=ar(ot),Ie=this.getLink(gt);if(!Ie)throw Le(X,"link",ot,lt);var Zt=ar(lt),Ir=this.getLinkParent(Zt);if(!Ir)throw Le(X,"link",ot,lt);var $=Zt[Zt.length-1];if(Ir.getChild($))throw Le(Re,"link",ot,lt);var Qr=Ie.getNode();Qr.nlink++,Ir.createChild($,Qr)},yt.prototype.copyFileBase=function(ot,lt,gt){var Ie=this.readFileSync(ot);if(gt&l&&this.existsSync(lt))throw Le(Re,"copyFile",ot,lt);if(gt&A)throw Le(oe,"copyFile",ot,lt);this.writeFileBase(lt,Ie,V.w,438)},yt.prototype.copyFileSync=function(ot,lt,gt){var Ie=Qt(ot),Zt=Qt(lt);return this.copyFileBase(Ie,Zt,(gt||0)|0)},yt.prototype.copyFile=function(ot,lt,gt,Ie){var Zt=Qt(ot),Ir=Qt(lt),$,Qr;typeof gt=="function"?($=0,Qr=gt):($=gt,Qr=Ie),At(Qr),this.wrapAsync(this.copyFileBase,[Zt,Ir,$],Qr)},yt.prototype.linkSync=function(ot,lt){var gt=Qt(ot),Ie=Qt(lt);this.linkBase(gt,Ie)},yt.prototype.link=function(ot,lt,gt){var Ie=Qt(ot),Zt=Qt(lt);this.wrapAsync(this.linkBase,[Ie,Zt],gt)},yt.prototype.unlinkBase=function(ot){var lt=ar(ot),gt=this.getLink(lt);if(!gt)throw Le(X,"unlink",ot);if(gt.length)throw Error("Dir not empty...");this.deleteLink(gt);var Ie=gt.getNode();Ie.nlink--,Ie.nlink<=0&&this.deleteNode(Ie)},yt.prototype.unlinkSync=function(ot){var lt=Qt(ot);this.unlinkBase(lt)},yt.prototype.unlink=function(ot,lt){var gt=Qt(ot);this.wrapAsync(this.unlinkBase,[gt],lt)},yt.prototype.symlinkBase=function(ot,lt){var gt=ar(lt),Ie=this.getLinkParent(gt);if(!Ie)throw Le(X,"symlink",ot,lt);var Zt=gt[gt.length-1];if(Ie.getChild(Zt))throw Le(Re,"symlink",ot,lt);var Ir=Ie.createChild(Zt);return Ir.getNode().makeSymlink(ar(ot)),Ir},yt.prototype.symlinkSync=function(ot,lt,gt){var Ie=Qt(ot),Zt=Qt(lt);this.symlinkBase(Ie,Zt)},yt.prototype.symlink=function(ot,lt,gt,Ie){var Zt=At(typeof gt=="function"?gt:Ie),Ir=Qt(ot),$=Qt(lt);this.wrapAsync(this.symlinkBase,[Ir,$],Zt)},yt.prototype.realpathBase=function(ot,lt){var gt=ar(ot),Ie=this.getResolvedLink(gt);if(!Ie)throw Le(X,"realpath",ot);return(0,M.strToEncoding)(Ie.getPath(),lt)},yt.prototype.realpathSync=function(ot,lt){return this.realpathBase(Qt(ot),Hr(lt).encoding)},yt.prototype.realpath=function(ot,lt,gt){var Ie=St(lt,gt),Zt=Ie[0],Ir=Ie[1],$=Qt(ot);this.wrapAsync(this.realpathBase,[$,Zt.encoding],Ir)},yt.prototype.lstatBase=function(ot,lt){lt===void 0&&(lt=!1);var gt=this.getLink(ar(ot));if(!gt)throw Le(X,"lstat",ot);return n.default.build(gt.getNode(),lt)},yt.prototype.lstatSync=function(ot,lt){return this.lstatBase(Qt(ot),Xt(lt).bigint)},yt.prototype.lstat=function(ot,lt,gt){var Ie=dr(lt,gt),Zt=Ie[0],Ir=Ie[1];this.wrapAsync(this.lstatBase,[Qt(ot),Zt.bigint],Ir)},yt.prototype.statBase=function(ot,lt){lt===void 0&&(lt=!1);var gt=this.getResolvedLink(ar(ot));if(!gt)throw Le(X,"stat",ot);return n.default.build(gt.getNode(),lt)},yt.prototype.statSync=function(ot,lt){return this.statBase(Qt(ot),Xt(lt).bigint)},yt.prototype.stat=function(ot,lt,gt){var Ie=dr(lt,gt),Zt=Ie[0],Ir=Ie[1];this.wrapAsync(this.statBase,[Qt(ot),Zt.bigint],Ir)},yt.prototype.fstatBase=function(ot,lt){lt===void 0&&(lt=!1);var gt=this.getFileByFd(ot);if(!gt)throw Le(Ae,"fstat");return n.default.build(gt.node,lt)},yt.prototype.fstatSync=function(ot,lt){return this.fstatBase(ot,Xt(lt).bigint)},yt.prototype.fstat=function(ot,lt,gt){var Ie=dr(lt,gt),Zt=Ie[0],Ir=Ie[1];this.wrapAsync(this.fstatBase,[ot,Zt.bigint],Ir)},yt.prototype.renameBase=function(ot,lt){var gt=this.getLink(ar(ot));if(!gt)throw Le(X,"rename",ot,lt);var Ie=ar(lt),Zt=this.getLinkParent(Ie);if(!Zt)throw Le(X,"rename",ot,lt);var Ir=gt.parent;Ir&&Ir.deleteChild(gt);var $=Ie[Ie.length-1];gt.steps=t(t([],Zt.steps,!0),[$],!1),Zt.setChild(gt.getName(),gt)},yt.prototype.renameSync=function(ot,lt){var gt=Qt(ot),Ie=Qt(lt);this.renameBase(gt,Ie)},yt.prototype.rename=function(ot,lt,gt){var Ie=Qt(ot),Zt=Qt(lt);this.wrapAsync(this.renameBase,[Ie,Zt],gt)},yt.prototype.existsBase=function(ot){return!!this.statBase(ot)},yt.prototype.existsSync=function(ot){try{return this.existsBase(Qt(ot))}catch{return!1}},yt.prototype.exists=function(ot,lt){var gt=this,Ie=Qt(ot);if(typeof lt!="function")throw Error(U.CB);(0,g.default)(function(){try{lt(gt.existsBase(Ie))}catch{lt(!1)}})},yt.prototype.accessBase=function(ot,lt){this.getLinkOrThrow(ot,"access")},yt.prototype.accessSync=function(ot,lt){lt===void 0&&(lt=s);var gt=Qt(ot);lt=lt|0,this.accessBase(gt,lt)},yt.prototype.access=function(ot,lt,gt){var Ie=s,Zt;typeof lt!="function"?(Ie=lt|0,Zt=At(gt)):Zt=lt;var Ir=Qt(ot);this.wrapAsync(this.accessBase,[Ir,Ie],Zt)},yt.prototype.appendFileSync=function(ot,lt,gt){gt===void 0&&(gt=Ze);var Ie=$t(gt);(!Ie.flag||De(ot))&&(Ie.flag="a"),this.writeFileSync(ot,lt,Ie)},yt.prototype.appendFile=function(ot,lt,gt,Ie){var Zt=at(gt,Ie),Ir=Zt[0],$=Zt[1];(!Ir.flag||De(ot))&&(Ir.flag="a"),this.writeFile(ot,lt,Ir,$)},yt.prototype.readdirBase=function(ot,lt){var gt=ar(ot),Ie=this.getResolvedLink(gt);if(!Ie)throw Le(X,"readdir",ot);var Zt=Ie.getNode();if(!Zt.isDirectory())throw Le(Se,"scandir",ot);if(lt.withFileTypes){var Ir=[];for(var $ in Ie.children){var Qr=Ie.getChild($);Qr&&Ir.push(o.default.build(Qr,lt.encoding))}return!u&&lt.encoding!=="buffer"&&Ir.sort(function(Mi,oo){return Mi.name<oo.name?-1:Mi.name>oo.name?1:0}),Ir}var en=[];for(var xr in Ie.children)en.push((0,M.strToEncoding)(xr,lt.encoding));return!u&&lt.encoding!=="buffer"&&en.sort(),en},yt.prototype.readdirSync=function(ot,lt){var gt=er(lt),Ie=Qt(ot);return this.readdirBase(Ie,gt)},yt.prototype.readdir=function(ot,lt,gt){var Ie=pr(lt,gt),Zt=Ie[0],Ir=Ie[1],$=Qt(ot);this.wrapAsync(this.readdirBase,[$,Zt],Ir)},yt.prototype.readlinkBase=function(ot,lt){var gt=this.getLinkOrThrow(ot,"readlink"),Ie=gt.getNode();if(!Ie.isSymlink())throw Le(he,"readlink",ot);var Zt=E+Ie.symlink.join(E);return(0,M.strToEncoding)(Zt,lt)},yt.prototype.readlinkSync=function(ot,lt){var gt=Ht(lt),Ie=Qt(ot);return this.readlinkBase(Ie,gt.encoding)},yt.prototype.readlink=function(ot,lt,gt){var Ie=zr(lt,gt),Zt=Ie[0],Ir=Ie[1],$=Qt(ot);this.wrapAsync(this.readlinkBase,[$,Zt.encoding],Ir)},yt.prototype.fsyncBase=function(ot){this.getFileByFdOrThrow(ot,"fsync")},yt.prototype.fsyncSync=function(ot){this.fsyncBase(ot)},yt.prototype.fsync=function(ot,lt){this.wrapAsync(this.fsyncBase,[ot],lt)},yt.prototype.fdatasyncBase=function(ot){this.getFileByFdOrThrow(ot,"fdatasync")},yt.prototype.fdatasyncSync=function(ot){this.fdatasyncBase(ot)},yt.prototype.fdatasync=function(ot,lt){this.wrapAsync(this.fdatasyncBase,[ot],lt)},yt.prototype.ftruncateBase=function(ot,lt){var gt=this.getFileByFdOrThrow(ot,"ftruncate");gt.truncate(lt)},yt.prototype.ftruncateSync=function(ot,lt){this.ftruncateBase(ot,lt)},yt.prototype.ftruncate=function(ot,lt,gt){var Ie=typeof lt=="number"?lt:0,Zt=At(typeof lt=="number"?gt:lt);this.wrapAsync(this.ftruncateBase,[ot,Ie],Zt)},yt.prototype.truncateBase=function(ot,lt){var gt=this.openSync(ot,"r+");try{this.ftruncateSync(gt,lt)}finally{this.closeSync(gt)}},yt.prototype.truncateSync=function(ot,lt){if(De(ot))return this.ftruncateSync(ot,lt);this.truncateBase(ot,lt)},yt.prototype.truncate=function(ot,lt,gt){var Ie=typeof lt=="number"?lt:0,Zt=At(typeof lt=="number"?gt:lt);if(De(ot))return this.ftruncate(ot,Ie,Zt);this.wrapAsync(this.truncateBase,[ot,Ie],Zt)},yt.prototype.futimesBase=function(ot,lt,gt){var Ie=this.getFileByFdOrThrow(ot,"futimes"),Zt=Ie.node;Zt.atime=new Date(lt*1e3),Zt.mtime=new Date(gt*1e3)},yt.prototype.futimesSync=function(ot,lt,gt){this.futimesBase(ot,Rt(lt),Rt(gt))},yt.prototype.futimes=function(ot,lt,gt,Ie){this.wrapAsync(this.futimesBase,[ot,Rt(lt),Rt(gt)],Ie)},yt.prototype.utimesBase=function(ot,lt,gt){var Ie=this.openSync(ot,"r+");try{this.futimesBase(Ie,lt,gt)}finally{this.closeSync(Ie)}},yt.prototype.utimesSync=function(ot,lt,gt){this.utimesBase(Qt(ot),Rt(lt),Rt(gt))},yt.prototype.utimes=function(ot,lt,gt,Ie){this.wrapAsync(this.utimesBase,[Qt(ot),Rt(lt),Rt(gt)],Ie)},yt.prototype.mkdirBase=function(ot,lt){var gt=ar(ot);if(!gt.length)throw Le(Re,"mkdir",ot);var Ie=this.getLinkParentAsDirOrThrow(ot,"mkdir"),Zt=gt[gt.length-1];if(Ie.getChild(Zt))throw Le(Re,"mkdir",ot);Ie.createChild(Zt,this.createNode(!0,lt))},yt.prototype.mkdirpBase=function(ot,lt){for(var gt=ar(ot),Ie=this.root,Zt=0;Zt<gt.length;Zt++){var Ir=gt[Zt];if(!Ie.getNode().isDirectory())throw Le(Se,"mkdir",Ie.getPath());var $=Ie.getChild(Ir);if($)if($.getNode().isDirectory())Ie=$;else throw Le(Se,"mkdir",$.getPath());else Ie=Ie.createChild(Ir,this.createNode(!0,lt))}},yt.prototype.mkdirSync=function(ot,lt){var gt=qr(lt),Ie=qe(gt.mode,511),Zt=Qt(ot);gt.recursive?this.mkdirpBase(Zt,Ie):this.mkdirBase(Zt,Ie)},yt.prototype.mkdir=function(ot,lt,gt){var Ie=qr(lt),Zt=At(typeof lt=="function"?lt:gt),Ir=qe(Ie.mode,511),$=Qt(ot);Ie.recursive?this.wrapAsync(this.mkdirpBase,[$,Ir],Zt):this.wrapAsync(this.mkdirBase,[$,Ir],Zt)},yt.prototype.mkdirpSync=function(ot,lt){this.mkdirSync(ot,{mode:lt,recursive:!0})},yt.prototype.mkdirp=function(ot,lt,gt){var Ie=typeof lt=="function"?void 0:lt,Zt=At(typeof lt=="function"?lt:gt);this.mkdir(ot,{mode:Ie,recursive:!0},Zt)},yt.prototype.mkdtempBase=function(ot,lt,gt){gt===void 0&&(gt=5);var Ie=ot+this.genRndStr();try{return this.mkdirBase(Ie,511),(0,M.strToEncoding)(Ie,lt)}catch(Zt){if(Zt.code===Re){if(gt>1)return this.mkdtempBase(ot,lt,gt-1);throw Error("Could not create temp dir.")}else throw Zt}},yt.prototype.mkdtempSync=function(ot,lt){var gt=Ht(lt).encoding;if(!ot||typeof ot!="string")throw new TypeError("filename prefix is required");return je(ot),this.mkdtempBase(ot,gt)},yt.prototype.mkdtemp=function(ot,lt,gt){var Ie=zr(lt,gt),Zt=Ie[0].encoding,Ir=Ie[1];if(!ot||typeof ot!="string")throw new TypeError("filename prefix is required");je(ot)&&this.wrapAsync(this.mkdtempBase,[ot,Zt],Ir)},yt.prototype.rmdirBase=function(ot,lt){var gt=hr(lt),Ie=this.getLinkAsDirOrThrow(ot,"rmdir");if(Ie.length&&!gt.recursive)throw Le(Ue,"rmdir",ot);this.deleteLink(Ie)},yt.prototype.rmdirSync=function(ot,lt){this.rmdirBase(Qt(ot),lt)},yt.prototype.rmdir=function(ot,lt,gt){var Ie=hr(lt),Zt=At(typeof lt=="function"?lt:gt);this.wrapAsync(this.rmdirBase,[Qt(ot),Ie],Zt)},yt.prototype.fchmodBase=function(ot,lt){var gt=this.getFileByFdOrThrow(ot,"fchmod");gt.chmod(lt)},yt.prototype.fchmodSync=function(ot,lt){this.fchmodBase(ot,qe(lt))},yt.prototype.fchmod=function(ot,lt,gt){this.wrapAsync(this.fchmodBase,[ot,qe(lt)],gt)},yt.prototype.chmodBase=function(ot,lt){var gt=this.openSync(ot,"r+");try{this.fchmodBase(gt,lt)}finally{this.closeSync(gt)}},yt.prototype.chmodSync=function(ot,lt){var gt=qe(lt),Ie=Qt(ot);this.chmodBase(Ie,gt)},yt.prototype.chmod=function(ot,lt,gt){var Ie=qe(lt),Zt=Qt(ot);this.wrapAsync(this.chmodBase,[Zt,Ie],gt)},yt.prototype.lchmodBase=function(ot,lt){var gt=this.openBase(ot,ce,0,!1);try{this.fchmodBase(gt,lt)}finally{this.closeSync(gt)}},yt.prototype.lchmodSync=function(ot,lt){var gt=qe(lt),Ie=Qt(ot);this.lchmodBase(Ie,gt)},yt.prototype.lchmod=function(ot,lt,gt){var Ie=qe(lt),Zt=Qt(ot);this.wrapAsync(this.lchmodBase,[Zt,Ie],gt)},yt.prototype.fchownBase=function(ot,lt,gt){this.getFileByFdOrThrow(ot,"fchown").chown(lt,gt)},yt.prototype.fchownSync=function(ot,lt,gt){Vt(lt),br(gt),this.fchownBase(ot,lt,gt)},yt.prototype.fchown=function(ot,lt,gt,Ie){Vt(lt),br(gt),this.wrapAsync(this.fchownBase,[ot,lt,gt],Ie)},yt.prototype.chownBase=function(ot,lt,gt){var Ie=this.getResolvedLinkOrThrow(ot,"chown"),Zt=Ie.getNode();Zt.chown(lt,gt)},yt.prototype.chownSync=function(ot,lt,gt){Vt(lt),br(gt),this.chownBase(Qt(ot),lt,gt)},yt.prototype.chown=function(ot,lt,gt,Ie){Vt(lt),br(gt),this.wrapAsync(this.chownBase,[Qt(ot),lt,gt],Ie)},yt.prototype.lchownBase=function(ot,lt,gt){this.getLinkOrThrow(ot,"lchown").getNode().chown(lt,gt)},yt.prototype.lchownSync=function(ot,lt,gt){Vt(lt),br(gt),this.lchownBase(Qt(ot),lt,gt)},yt.prototype.lchown=function(ot,lt,gt,Ie){Vt(lt),br(gt),this.wrapAsync(this.lchownBase,[Qt(ot),lt,gt],Ie)},yt.prototype.watchFile=function(ot,lt,gt){var Ie=Qt(ot),Zt=lt,Ir=gt;if(typeof Zt=="function"&&(Ir=lt,Zt=null),typeof Ir!="function")throw Error('"watchFile()" requires a listener function');var $=5007,Qr=!0;Zt&&typeof Zt=="object"&&(typeof Zt.interval=="number"&&($=Zt.interval),typeof Zt.persistent=="boolean"&&(Qr=Zt.persistent));var en=this.statWatchers[Ie];return en||(en=new this.StatWatcher,en.start(Ie,Qr,$),this.statWatchers[Ie]=en),en.addListener("change",Ir),en},yt.prototype.unwatchFile=function(ot,lt){var gt=Qt(ot),Ie=this.statWatchers[gt];Ie&&(typeof lt=="function"?Ie.removeListener("change",lt):Ie.removeAllListeners("change"),Ie.listenerCount("change")===0&&(Ie.stop(),delete this.statWatchers[gt]))},yt.prototype.createReadStream=function(ot,lt){return new this.ReadStream(ot,lt)},yt.prototype.createWriteStream=function(ot,lt){return new this.WriteStream(ot,lt)},yt.prototype.watch=function(ot,lt,gt){var Ie=Qt(ot),Zt=lt;typeof lt=="function"&&(gt=lt,Zt=null);var Ir=Ht(Zt),$=Ir.persistent,Qr=Ir.recursive,en=Ir.encoding;$===void 0&&($=!0),Qr===void 0&&(Qr=!1);var xr=new this.FSWatcher;return xr.start(Ie,$,Qr,en),gt&&xr.addListener("change",gt),xr},yt.fd=2147483647,yt})();Ks.Volume=Dr;function Pr(yt){yt.emit("stop")}var k=(function(yt){e(ot,yt);function ot(lt){var gt=yt.call(this)||this;return gt.onInterval=function(){try{var Ie=gt.vol.statSync(gt.filename);gt.hasChanged(Ie)&&(gt.emit("change",Ie,gt.prev),gt.prev=Ie)}finally{gt.loop()}},gt.vol=lt,gt}return ot.prototype.loop=function(){this.timeoutRef=this.setTimeout(this.onInterval,this.interval)},ot.prototype.hasChanged=function(lt){return lt.mtimeMs>this.prev.mtimeMs||lt.nlink!==this.prev.nlink},ot.prototype.start=function(lt,gt,Ie){gt===void 0&&(gt=!0),Ie===void 0&&(Ie=5007),this.filename=Qt(lt),this.setTimeout=gt?setTimeout.bind(typeof globalThis<"u"?globalThis:TUt):_.default,this.interval=Ie,this.prev=this.vol.statSync(this.filename),this.loop()},ot.prototype.stop=function(){clearTimeout(this.timeoutRef),y.default.nextTick(Pr,this)},ot})(T.EventEmitter);Ks.StatWatcher=k;var a;function S(yt){a=(0,d.bufferAllocUnsafe)(yt),a.used=0}P.inherits(sn,I.Readable),Ks.ReadStream=sn;function sn(yt,ot,lt){if(!(this instanceof sn))return new sn(yt,ot,lt);if(this._vol=yt,lt=Object.assign({},_t(lt,{})),lt.highWaterMark===void 0&&(lt.highWaterMark=64*1024),I.Readable.call(this,lt),this.path=Qt(ot),this.fd=lt.fd===void 0?null:lt.fd,this.flags=lt.flags===void 0?"r":lt.flags,this.mode=lt.mode===void 0?438:lt.mode,this.start=lt.start,this.end=lt.end,this.autoClose=lt.autoClose===void 0?!0:lt.autoClose,this.pos=void 0,this.bytesRead=0,this.start!==void 0){if(typeof this.start!="number")throw new TypeError('"start" option must be a Number');if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw new TypeError('"end" option must be a Number');if(this.start>this.end)throw new Error('"start" option must be <= "end" option');this.pos=this.start}typeof this.fd!="number"&&this.open(),this.on("end",function(){this.autoClose&&this.destroy&&this.destroy()})}sn.prototype.open=function(){var yt=this;this._vol.open(this.path,this.flags,this.mode,function(ot,lt){if(ot){yt.autoClose&&yt.destroy&&yt.destroy(),yt.emit("error",ot);return}yt.fd=lt,yt.emit("open",lt),yt.read()})},sn.prototype._read=function(yt){if(typeof this.fd!="number")return this.once("open",function(){this._read(yt)});if(this.destroyed)return;(!a||a.length-a.used<C)&&S(this._readableState.highWaterMark);var ot=a,lt=Math.min(a.length-a.used,yt),gt=a.used;if(this.pos!==void 0&&(lt=Math.min(this.end-this.pos+1,lt)),lt<=0)return this.push(null);var Ie=this;this._vol.read(this.fd,a,a.used,lt,this.pos,Zt),this.pos!==void 0&&(this.pos+=lt),a.used+=lt;function Zt(Ir,$){if(Ir)Ie.autoClose&&Ie.destroy&&Ie.destroy(),Ie.emit("error",Ir);else{var Qr=null;$>0&&(Ie.bytesRead+=$,Qr=ot.slice(gt,gt+$)),Ie.push(Qr)}}},sn.prototype._destroy=function(yt,ot){this.close(function(lt){ot(yt||lt)})},sn.prototype.close=function(yt){var ot=this;if(yt&&this.once("close",yt),this.closed||typeof this.fd!="number"){if(typeof this.fd!="number"){this.once("open",Lr);return}return y.default.nextTick(function(){return ot.emit("close")})}this.closed=!0,this._vol.close(this.fd,function(lt){lt?ot.emit("error",lt):ot.emit("close")}),this.fd=null};function Lr(yt){this.close()}P.inherits(Wr,I.Writable),Ks.WriteStream=Wr;function Wr(yt,ot,lt){if(!(this instanceof Wr))return new Wr(yt,ot,lt);if(this._vol=yt,lt=Object.assign({},_t(lt,{})),I.Writable.call(this,lt),this.path=Qt(ot),this.fd=lt.fd===void 0?null:lt.fd,this.flags=lt.flags===void 0?"w":lt.flags,this.mode=lt.mode===void 0?438:lt.mode,this.start=lt.start,this.autoClose=lt.autoClose===void 0?!0:!!lt.autoClose,this.pos=void 0,this.bytesWritten=0,this.start!==void 0){if(typeof this.start!="number")throw new TypeError('"start" option must be a Number');if(this.start<0)throw new Error('"start" must be >= zero');this.pos=this.start}lt.encoding&&this.setDefaultEncoding(lt.encoding),typeof this.fd!="number"&&this.open(),this.once("finish",function(){this.autoClose&&this.close()})}Wr.prototype.open=function(){this._vol.open(this.path,this.flags,this.mode,function(yt,ot){if(yt){this.autoClose&&this.destroy&&this.destroy(),this.emit("error",yt);return}this.fd=ot,this.emit("open",ot)}.bind(this))},Wr.prototype._write=function(yt,ot,lt){if(!(yt instanceof d.Buffer))return this.emit("error",new Error("Invalid data"));if(typeof this.fd!="number")return this.once("open",function(){this._write(yt,ot,lt)});var gt=this;this._vol.write(this.fd,yt,0,yt.length,this.pos,function(Ie,Zt){if(Ie)return gt.autoClose&&gt.destroy&&gt.destroy(),lt(Ie);gt.bytesWritten+=Zt,lt()}),this.pos!==void 0&&(this.pos+=yt.length)},Wr.prototype._writev=function(yt,ot){if(typeof this.fd!="number")return this.once("open",function(){this._writev(yt,ot)});for(var lt=this,gt=yt.length,Ie=new Array(gt),Zt=0,Ir=0;Ir<gt;Ir++){var $=yt[Ir].chunk;Ie[Ir]=$,Zt+=$.length}var Qr=d.Buffer.concat(Ie);this._vol.write(this.fd,Qr,0,Qr.length,this.pos,function(en,xr){if(en)return lt.destroy&&lt.destroy(),ot(en);lt.bytesWritten+=xr,ot()}),this.pos!==void 0&&(this.pos+=Zt)},Wr.prototype._destroy=sn.prototype._destroy,Wr.prototype.close=sn.prototype.close,Wr.prototype.destroySoon=Wr.prototype.end;var ln=(function(yt){e(ot,yt);function ot(lt){var gt=yt.call(this)||this;return gt._filename="",gt._filenameEncoded="",gt._recursive=!1,gt._encoding=M.ENCODING_UTF8,gt._onNodeChange=function(){gt._emit("change")},gt._onParentChild=function(Ie){Ie.getName()===gt._getName()&&gt._emit("rename")},gt._emit=function(Ie){gt.emit("change",Ie,gt._filenameEncoded)},gt._persist=function(){gt._timer=setTimeout(gt._persist,1e6)},gt._vol=lt,gt}return ot.prototype._getName=function(){return this._steps[this._steps.length-1]},ot.prototype.start=function(lt,gt,Ie,Zt){gt===void 0&&(gt=!0),Ie===void 0&&(Ie=!1),Zt===void 0&&(Zt=M.ENCODING_UTF8),this._filename=Qt(lt),this._steps=ar(this._filename),this._filenameEncoded=(0,M.strToEncoding)(this._filename),this._recursive=Ie,this._encoding=Zt;try{this._link=this._vol.getLinkOrThrow(this._filename,"FSWatcher")}catch(Qr){var Ir=new Error("watch "+this._filename+" "+Qr.code);throw Ir.code=Qr.code,Ir.errno=Qr.code,Ir}this._link.getNode().on("change",this._onNodeChange),this._link.on("child:add",this._onNodeChange),this._link.on("child:delete",this._onNodeChange);var $=this._link.parent;$&&($.setMaxListeners($.getMaxListeners()+1),$.on("child:delete",this._onParentChild)),gt&&this._persist()},ot.prototype.close=function(){clearTimeout(this._timer),this._link.getNode().removeListener("change",this._onNodeChange);var lt=this._link.parent;lt&&lt.removeListener("child:delete",this._onParentChild)},ot})(T.EventEmitter);return Ks.FSWatcher=ln,Ks}function BUt(){if(pet)return nR;pet=!0,Object.defineProperty(nR,"__esModule",{value:!0}),nR.fsAsyncMethods=nR.fsSyncMethods=nR.fsProps=void 0;var e=["constants","F_OK","R_OK","W_OK","X_OK","Stats"];nR.fsProps=e;var t=["renameSync","ftruncateSync","truncateSync","chownSync","fchownSync","lchownSync","chmodSync","fchmodSync","lchmodSync","statSync","lstatSync","fstatSync","linkSync","symlinkSync","readlinkSync","realpathSync","unlinkSync","rmdirSync","mkdirSync","mkdirpSync","readdirSync","closeSync","openSync","utimesSync","futimesSync","fsyncSync","writeSync","readSync","readFileSync","writeFileSync","appendFileSync","existsSync","accessSync","fdatasyncSync","mkdtempSync","copyFileSync","createReadStream","createWriteStream"];nR.fsSyncMethods=t;var r=["rename","ftruncate","truncate","chown","fchown","lchown","chmod","fchmod","lchmod","stat","lstat","fstat","link","symlink","readlink","realpath","unlink","rmdir","mkdir","mkdirp","readdir","close","open","utimes","futimes","fsync","write","read","readFile","writeFile","appendFile","exists","access","fdatasync","mkdtemp","copyFile","watchFile","unwatchFile","watch"];return nR.fsAsyncMethods=r,nR}function MUt(){if(get)return ll;get=!0;var e=ll&&ll.__assign||function(){return e=Object.assign||function(M){for(var D,P=1,G=arguments.length;P<G;P++){D=arguments[P];for(var q in D)Object.prototype.hasOwnProperty.call(D,q)&&(M[q]=D[q])}return M},e.apply(this,arguments)};Object.defineProperty(ll,"__esModule",{value:!0}),ll.fs=ll.createFsFromVolume=ll.vol=ll.Volume=void 0;var t=ghe(),r=yet(),i=vet(),n=BUt(),o=n.fsSyncMethods,d=n.fsAsyncMethods,g=uP(),y=g.constants.F_OK,_=g.constants.R_OK,I=g.constants.W_OK,N=g.constants.X_OK;ll.Volume=i.Volume,ll.vol=new i.Volume;function T(M){for(var D={F_OK:y,R_OK:_,W_OK:I,X_OK:N,constants:g.constants,Stats:t.default,Dirent:r.default},P=0,G=o;P<G.length;P++){var q=G[P];typeof M[q]=="function"&&(D[q]=M[q].bind(M))}for(var Y=0,ne=d;Y<ne.length;Y++){var q=ne[Y];typeof M[q]=="function"&&(D[q]=M[q].bind(M))}return D.StatWatcher=M.StatWatcher,D.FSWatcher=M.FSWatcher,D.WriteStream=M.WriteStream,D.ReadStream=M.ReadStream,D.promises=M.promises,D._toUnixTimestamp=i.toUnixTimestamp,D}return ll.createFsFromVolume=T,ll.fs=T(ll.vol),ll=e(e({},ll),ll.fs),ll.semantic=!0,ll}function $1(e){throw new Error(`Node.js fs ${e} is not supported by JSPM core in the browser`)}function Ret(e,t,r){let i=0,n=new TextDecoder;iR.watch(e,"utf8",()=>{let{size:o}=iR.fstatSync(t),d=fe.alloc(o-i);iR.readSync(t,d,0,d.length,i),i=o,r(n.decode(d,{stream:!0}))})}function mhe(e,t){if(e.protocol==="file:")return phe(e);if(e.protocol==="https:"||e.protocol==="http:"){let r="\\\\url\\"+e.href.replaceAll(/\//g,"\\\\");if(Iet(r))return r;if(t)throw new Error(`Cannot sync request URL ${e} via FS. JSPM FS support for network URLs requires using async FS methods or priming the MemFS cache first with an async request before a sync request.`);return(async()=>{let i=await fetch(e);if(!i.ok)throw new Error(`Unable to fetch ${e.href}, ${i.status}`);let n=await i.arrayBuffer();return Cet(r,fe.from(n)),r})()}throw new Error("URL "+e+" not supported in JSPM FS implementation.")}function kUt(e){return function(t,...r){return t instanceof URL?e(mhe(t,!0),...r):e(t,...r)}}function PUt(e){return async function(t,...r){return t instanceof URL?e(await mhe(t),...r):e(t,...r)}}function LUt(e){return function(t,...r){let i=r[r.length-1];t instanceof URL&&typeof i=="function"?mhe(t).then(n=>{e(n,...r)},i):e(t,...r)}}var sP,jje,Cz,eet,HN,tet,Qm,ret,Ff,net,IUt,Nb,iet,GN,oet,wz,aet,set,qN,cet,Dp,uet,Oz,det,wUt,dI,fet,cP,het,Ks,Aet,TUt,nR,pet,ll,get,hC,TA,iR,DUt,t0,UUt,FUt,QUt,HUt,GUt,qUt,VUt,JUt,zUt,KUt,$Ut,YUt,WUt,XUt,ZUt,jUt,eFt,Iet,tFt,rFt,nFt,iFt,oFt,aFt,sFt,cFt,uFt,dFt,fFt,lFt,hFt,AFt,pFt,gFt,_Ft,mFt,yFt,bFt,EFt,vFt,RFt,SFt,IFt,CFt,wFt,OFt,NFt,xFt,TFt,BFt,MFt,DFt,kFt,PFt,LFt,UFt,FFt,QFt,HFt,GFt,qFt,VFt,JFt,zFt,KFt,$Ft,YFt,WFt,XFt,ZFt,jFt,eQt,tQt,rQt,nQt,iQt,oQt,aQt,sQt,cQt,Cet,uQt,dQt,fQt,lQt,hQt,AQt,pQt,gQt,_Qt,mQt,yQt,bQt,EQt,vQt,RQt,SQt,IQt,CQt,bhe=tn(()=>{"use strict";J();K();z();lO();Fje();Ek();vv();Iz();XS();bN();YS();qk();Zje();iP();qJ();mh();sO();Ev();UM();she();che();sP={},jje=!1;Cz={},eet=!1;HN={},tet=!1;Qm={},ret=!1;Ff={},net=!1,IUt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;Nb={},iet=!1;GN={},oet=!1;wz={},aet=!1,set=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;qN={},cet=!1;Dp={},uet=!1;Oz={},det=!1,wUt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;dI={},fet=!1;cP={},het=!1;Ks={},Aet=!1,TUt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global;nR={},pet=!1;ll={},get=!1;hC=MUt();hC.__esModule;hC.fs;hC.createFsFromVolume;hC.vol;hC.Volume;hC.semantic;TA=vet();TA.__esModule;TA.FSWatcher;TA.StatWatcher;TA.Volume;TA.toUnixTimestamp;TA.bufferToEncoding;TA.dataToBuffer;TA.dataToStr;TA.pathToSteps;TA.filenameToSteps;TA.pathToFilename;TA.flagsToNumber;TA.FLAGS;TA.ReadStream;TA.WriteStream;({vol:iR,createFsFromVolume:DUt}=hC);iR.fromNestedJSON({"/dev":{stdin:"",stdout:"",stderr:""},"/usr/bin":{},"/home":{},"/tmp":{}});iR.releasedFds=[2,1,0];iR.openSync("/dev/stdin","w");iR.openSync("/dev/stdout","r");iR.openSync("/dev/stderr","r");Ret("/dev/stdout",1,console.log);Ret("/dev/stderr",2,console.error);t0=DUt(iR);t0.opendir=()=>$1("opendir");t0.opendirSync=()=>$1("opendirSync");t0.promises.opendir=()=>$1("promises.opendir");t0.cp=()=>$1("cp");t0.cpSync=()=>$1("cpSync");t0.promises.cp=()=>$1("promises.cp");t0.readv=()=>$1("readv");t0.readvSync=()=>$1("readvSync");t0.rm=()=>$1("rm");t0.rmSync=()=>$1("rmSync");t0.promises.rm=()=>$1("promises.rm");t0.Dir=()=>$1("Dir");t0.promises.watch=()=>$1("promises.watch");t0.FileReadStream=t0.ReadStream;t0.FileWriteStream=t0.WriteStream;t0.promises.readFile=PUt(t0.promises.readFile);t0.readFile=LUt(t0.readFile);t0.readFileSync=kUt(t0.readFileSync);({appendFile:UUt,appendFileSync:FUt,access:QUt,accessSync:HUt,chown:GUt,chownSync:qUt,chmod:VUt,chmodSync:JUt,close:zUt,closeSync:KUt,copyFile:$Ut,copyFileSync:YUt,cp:WUt,cpSync:XUt,createReadStream:ZUt,createWriteStream:jUt,exists:eFt,existsSync:Iet,fchown:tFt,fchownSync:rFt,fchmod:nFt,fchmodSync:iFt,fdatasync:oFt,fdatasyncSync:aFt,fstat:sFt,fstatSync:cFt,fsync:uFt,fsyncSync:dFt,ftruncate:fFt,ftruncateSync:lFt,futimes:hFt,futimesSync:AFt,lchown:pFt,lchownSync:gFt,lchmod:_Ft,lchmodSync:mFt,link:yFt,linkSync:bFt,lstat:EFt,lstatSync:vFt,mkdir:RFt,mkdirSync:SFt,mkdtemp:IFt,mkdtempSync:CFt,open:wFt,openSync:OFt,opendir:NFt,opendirSync:xFt,readdir:TFt,readdirSync:BFt,read:MFt,readSync:DFt,readv:kFt,readvSync:PFt,readFile:LFt,readFileSync:UFt,readlink:FFt,readlinkSync:QFt,realpath:HFt,realpathSync:GFt,rename:qFt,renameSync:VFt,rm:JFt,rmSync:zFt,rmdir:KFt,rmdirSync:$Ft,stat:YFt,statSync:WFt,symlink:XFt,symlinkSync:ZFt,truncate:jFt,truncateSync:eQt,unwatchFile:tQt,unlink:rQt,unlinkSync:nQt,utimes:iQt,utimesSync:oQt,watch:aQt,watchFile:sQt,writeFile:cQt,writeFileSync:Cet,write:uQt,writeSync:dQt,writev:fQt,writevSync:lQt,Dir:hQt,Dirent:AQt,Stats:pQt,ReadStream:gQt,WriteStream:_Qt,FileReadStream:mQt,FileWriteStream:yQt,_toUnixTimestamp:bQt,constants:{F_OK:EQt,R_OK:vQt,W_OK:RQt,X_OK:SQt},constants:IQt,promises:CQt}=t0)});var wet=ir((dP,fP)=>{"use strict";J();K();z();(function(e){function t(r){"use strict";var i;(i=r)===void 0&&(i={});var n=i;typeof n.sodium!="object"&&(typeof global=="object"?n=global:typeof window=="object"&&(n=window));var o=i;return i.ready=new Promise((function(d,g){(_=o).onAbort=g,_.print=function(oe){},_.printErr=function(oe){},_.onRuntimeInitialized=function(){try{_._crypto_secretbox_keybytes(),d()}catch(oe){g(oe)}},_.useBackupModule=function(){return new Promise((function(oe,ge){(V={}).onAbort=ge,V.onRuntimeInitialized=function(){Object.keys(o).forEach((function(be){be!=="getRandomValue"&&delete o[be]})),Object.keys(V).forEach((function(be){o[be]=V[be]})),oe()};var Le,V=V!==void 0?V:{},Qe=typeof window=="object",_t=typeof importScripts=="function",rt=typeof me=="object"&&typeof me.versions=="object"&&typeof me.versions.node=="string",At=Object.assign({},V),Er="";if(rt){var mt=(bhe(),Zu(yhe)),Ht=(Iz(),Zu(ohe));Er="//",Le=be=>(be=wn(be)?new URL(be):Ht.normalize(be),mt.readFileSync(be)),!V.thisProgram&&me.argv.length>1&&me.argv[1].replace(/\\/g,"/"),me.argv.slice(2),typeof fP<"u"&&(fP.exports=V)}else(Qe||_t)&&(_t?Er=self.location.href:typeof document<"u"&&document.currentScript&&(Er=document.currentScript.src),Er=Er.startsWith("blob:")?"":Er.substr(0,Er.replace(/[?#].*/,"").lastIndexOf("/")+1),_t&&(Le=be=>{var qe=new XMLHttpRequest;return qe.open("GET",be,!1),qe.responseType="arraybuffer",qe.send(null),new Uint8Array(qe.response)}));V.print;var zr,ve=V.printErr||void 0;Object.assign(V,At),At=null,V.arguments&&V.arguments,V.thisProgram&&V.thisProgram,V.quit&&V.quit,V.wasmBinary&&(zr=V.wasmBinary);var ie,_e={Memory:function(be){this.buffer=new ArrayBuffer(65536*be.initial)},Module:function(be){},Instance:function(be,qe){this.exports=(function(De){for(var Je,Rt=new Uint8Array(123),Vt=25;Vt>=0;--Vt)Rt[48+Vt]=52+Vt,Rt[65+Vt]=Vt,Rt[97+Vt]=26+Vt;function br(Dr,Pr,k){for(var a,S,sn=0,Lr=Pr,Wr=k.length,ln=Pr+(3*Wr>>2)-(k[Wr-2]=="=")-(k[Wr-1]=="=");sn<Wr;sn+=4)a=Rt[k.charCodeAt(sn+1)],S=Rt[k.charCodeAt(sn+2)],Dr[Lr++]=Rt[k.charCodeAt(sn)]<<2|a>>4,Lr<ln&&(Dr[Lr++]=a<<4|S>>2),Lr<ln&&(Dr[Lr++]=S<<6|Rt[k.charCodeAt(sn+3)])}function Rr(){throw new Error("abort")}return Rt[43]=62,Rt[47]=63,(function(Dr){var Pr=new ArrayBuffer(50331648),k=new Int8Array(Pr),a=(new Int16Array(Pr),new Int32Array(Pr)),S=new Uint8Array(Pr),sn=(new Uint16Array(Pr),new Uint32Array(Pr)),Lr=(new Float32Array(Pr),new Float64Array(Pr),Math.imul),Wr=Math.clz32,ln=Dr.a,yt=ln.a,ot=ln.b,lt=ln.c,gt=ln.d,Ie=103696,Zt=0,Ir=0,$=0;function Qr(f,c){var h,p,b,B,Q,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0,mi=0,Ci=0,Vi=0,Yi=0,ro=0,Ao=0,Oo=0,xo=0,Qo=0,Yo=0,ss=0;Nn=S[c+40|0]|S[c+41|0]<<8|S[c+42|0]<<16|S[c+43|0]<<24,Kn=v=S[c+44|0]|S[c+45|0]<<8|S[c+46|0]<<16|S[c+47|0]<<24,En=S[c+104|0]|S[c+105|0]<<8|S[c+106|0]<<16|S[c+107|0]<<24,zn=v=S[c+108|0]|S[c+109|0]<<8|S[c+110|0]<<16|S[c+111|0]<<24,v=S[c+68|0]|S[c+69|0]<<8|S[c+70|0]<<16|S[c+71|0]<<24,nn=S[c+64|0]|S[c+65|0]<<8|S[c+66|0]<<16|S[c+67|0]<<24,Nr=v,xo=v=S[c+36|0]|S[c+37|0]<<8|S[c+38|0]<<16|S[c+39|0]<<24,bt=v,Jr=S[c+120|0]|S[c+121|0]<<8|S[c+122|0]<<16|S[c+123|0]<<24,Ci=v=S[c+124|0]|S[c+125|0]<<8|S[c+126|0]<<16|S[c+127|0]<<24,b=v=S[c+92|0]|S[c+93|0]<<8|S[c+94|0]<<16|S[c+95|0]<<24,h=S[c+88|0]|S[c+89|0]<<8|S[c+90|0]<<16|S[c+91|0]<<24,jr=v,rr=S[c+80|0]|S[c+81|0]<<8|S[c+82|0]<<16|S[c+83|0]<<24,di=v=S[c+84|0]|S[c+85|0]<<8|S[c+86|0]<<16|S[c+87|0]<<24,fn=v,ft=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,v=(_n=S[f+52|0]|S[f+53|0]<<8|S[f+54|0]<<16|S[f+55|0]<<24)+bt|0,Mr=(rn=S[f+48|0]|S[f+49|0]<<8|S[f+50|0]<<16|S[f+51|0]<<24)+(Tn=S[c+32|0]|S[c+33|0]<<8|S[c+34|0]<<16|S[c+35|0]<<24)|0,v=(S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24)+(rn>>>0>Mr>>>0?v+1|0:v)|0,v=(ft=(L=Mr)>>>0>(Mr=Mr+ft|0)>>>0?v+1|0:v)+Kn|0,Gt=kn=Mr+Nn|0,kn=v=kn>>>0<Mr>>>0?v+1|0:v,Mr=Ke(Mr^(S[f+80|0]|S[f+81|0]<<8|S[f+82|0]<<16|S[f+83|0]<<24)^-79577749,ft^(S[f+84|0]|S[f+85|0]<<8|S[f+86|0]<<16|S[f+87|0]<<24)^528734635,32),ro=v=$,v=v+1013904242|0,ft=Mr,nt=v=(Mr=Mr-23791573|0)>>>0<4271175723?v+1|0:v,_n=Ke(Mr^rn,v^_n,40),v=(v=kn)+(kn=$)|0,rn=Ke(ft^(we=rn=_n+Gt|0),ro^(ke=we>>>0<_n>>>0?v+1|0:v),48),v=nt+(Jt=$)|0,We=v=(rn=Mr+(ye=rn)|0)>>>0<Mr>>>0?v+1|0:v,rn=v=Ke(_n^(Ve=rn),kn^v,1),nt=Mr=$,kn=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,ro=v=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,Bn=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,Mr=(_n=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24)+(ft=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24)|0,v=(Qo=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24)+(ss=S[f+44|0]|S[f+45|0]<<8|S[f+46|0]<<16|S[f+47|0]<<24)|0,v=(S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24)+(Mr>>>0<ft>>>0?v+1|0:v)|0,v=ro+(Gt=(L=Mr)>>>0>(Mr=Mr+Bn|0)>>>0?v+1|0:v)|0,v=(Bn=Mr+kn|0)>>>0<Mr>>>0?v+1|0:v,L=Ke(Mr^(S[f+72|0]|S[f+73|0]<<8|S[f+74|0]<<16|S[f+75|0]<<24)^725511199,Gt^(S[f+76|0]|S[f+77|0]<<8|S[f+78|0]<<16|S[f+79|0]<<24)^-1694144372,32),Z=Ke(ft^(H=L-2067093701|0),ss^(Or=(vr=Mr=$)-((L>>>0<2067093701)+1150833018|0)|0),40),v=(ur=$)+v|0,v=(gr=(ut=Mr=Z+Bn|0)>>>0<Z>>>0?v+1|0:v)+nt|0,v=(ut>>>0>(Mr=ut+rn|0)>>>0?v+1|0:v)+fn|0,v=(ft=(j=Mr)>>>0>(Mr=Mr+rr|0)>>>0?v+1|0:v)+jr|0,Kt=jr=Mr+h|0,de=v=jr>>>0<Mr>>>0?v+1|0:v,Me=rn,Vi=nt,nt=Mr,Gt=ft,rn=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,Mr=v=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,ss=v=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,B=ft=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,fn=v,v=(Ao=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24)+(re=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24)|0,v=B+((jr=S[f+32|0]|S[f+33|0]<<8|S[f+34|0]<<16|S[f+35|0]<<24)>>>0>(j=jr+(ft=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24)|0)>>>0?v+1|0:v)|0,v=(Bn=(fn=j+fn|0)>>>0<j>>>0?v+1|0:v)+Mr|0,mi=j=fn+rn|0,j=v=j>>>0<fn>>>0?v+1|0:v,ee=jr,jr=Ke(fn^(S[f+64|0]|S[f+65|0]<<8|S[f+66|0]<<16|S[f+67|0]<<24)^-1377402159,Bn^(S[f+68|0]|S[f+69|0]<<8|S[f+70|0]<<16|S[f+71|0]<<24)^1359893119,32),Bn=v=$,v=v+1779033703|0,fn=jr,Wt=v=(jr=jr-205731576|0)>>>0<4089235720?v+1|0:v,re=Ke(ee^(pt=jr),v^re,40),v=(yr=$)+j|0,ee=Ke(fn^(j=jr=re+mi|0),Bn^(Ye=re>>>0>j>>>0?v+1|0:v),48),v=Ke(ee^nt,(Yr=$)^Gt,32),xe=jr=$,or=v,p=v=S[c+60|0]|S[c+61|0]<<8|S[c+62|0]<<16|S[c+63|0]<<24,Bn=mi=S[c+56|0]|S[c+57|0]<<8|S[c+58|0]<<16|S[c+59|0]<<24,dt=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,jr=(Gt=S[c+48|0]|S[c+49|0]<<8|S[c+50|0]<<16|S[c+51|0]<<24)+(fn=S[f+56|0]|S[f+57|0]<<8|S[f+58|0]<<16|S[f+59|0]<<24)|0,v=(Oo=S[c+52|0]|S[c+53|0]<<8|S[c+54|0]<<16|S[c+55|0]<<24)+(Sr=S[f+60|0]|S[f+61|0]<<8|S[f+62|0]<<16|S[f+63|0]<<24)|0,v=(S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24)+(jr>>>0<fn>>>0?v+1|0:v)|0,v=p+(nt=(it=jr)>>>0>(jr=dt+jr|0)>>>0?v+1|0:v)|0,v=(dt=jr+Bn|0)>>>0<jr>>>0?v+1|0:v,nt=Ke(jr^(S[f+88|0]|S[f+89|0]<<8|S[f+90|0]<<16|S[f+91|0]<<24)^327033209,nt^(S[f+92|0]|S[f+93|0]<<8|S[f+94|0]<<16|S[f+95|0]<<24)^1541459225,32),fn=Ke(fn^(Bn=nt+1595750129|0),(it=Sr)^(Sr=(nr=jr=$)-((nt>>>0<2699217167)+1521486533|0)|0),40),v=(pn=$)+v|0,jr=Ke((dt=jr=fn+dt|0)^nt,nr^(it=dt>>>0<fn>>>0?v+1|0:v),48),v=Sr+(An=$)|0,cr=v=(jr=Bn+(Sr=jr)|0)>>>0<Bn>>>0?v+1|0:v,v=xe+v|0,Ne=Me^(nt=or+(nr=jr)|0),Me=v=nt>>>0<nr>>>0?v+1|0:v,Bn=Ke(Ne,v^Vi,40),v=(Vi=$)+de|0,jr=Ke(Kt=or^(de=jr=Bn+Kt|0),xe^(or=de>>>0<Bn>>>0?v+1|0:v),48),v=Me+(Mn=$)|0,xe=v=(Me=nt+(Kt=jr)|0)>>>0<nt>>>0?v+1|0:v,jr=(kr=Ke(Me^Bn,Vi^v,1))+(nt=S[c+72|0]|S[c+73|0]<<8|S[c+74|0]<<16|S[c+75|0]<<24)|0,v=(ui=$)+(Vi=S[c+76|0]|S[c+77|0]<<8|S[c+78|0]<<16|S[c+79|0]<<24)|0,Yi=jr,Gr=jr>>>0<nt>>>0?v+1|0:v,Cr=zn,jr=S[c+96|0]|S[c+97|0]<<8|S[c+98|0]<<16|S[c+99|0]<<24,Bn=v=S[c+100|0]|S[c+101|0]<<8|S[c+102|0]<<16|S[c+103|0]<<24,fn=(v=we)+(we=Ke(nr^fn,cr^pn,1))|0,v=(nr=$)+ke|0,v=(we>>>0>fn>>>0?v+1|0:v)+Bn|0,v=(ke=(ke=fn)>>>0>(fn=jr+fn|0)>>>0?v+1|0:v)+Cr|0,Ne=cr=fn+En|0,cr=v=cr>>>0<fn>>>0?v+1|0:v,ut=Ke(L^ut,gr^vr,48),gr=v=Ke(ut^fn,(vr=$)^ke,32),v=Wt+Yr|0,v=(pn=fn=$)+(pt=(fn=ee+pt|0)>>>0<ee>>>0?v+1|0:v)|0,Wt=v=(ke=fn)>>>0>(ee=ke+gr|0)>>>0?v+1|0:v,we=Ke(ee^we,nr^v,40),v=(Yr=$)+cr|0,v=(nr=we>>>0>(cr=fn=we+Ne|0)>>>0?v+1|0:v)+Gr|0,v=(L=cr>>>0>(fn=cr+Yi|0)>>>0?v+1|0:v)+Ci|0,Yi=Gr=fn+Jr|0,Gr=v=Gr>>>0<fn>>>0?v+1|0:v,Ne=fn,Cr=L,fn=S[c+116|0]|S[c+117|0]<<8|S[c+118|0]<<16|S[c+119|0]<<24,c=S[c+112|0]|S[c+113|0]<<8|S[c+114|0]<<16|S[c+115|0]<<24,re=Ke(re^ke,pt^yr,1),v=(yr=$)+it|0,v=((L=re+dt|0)>>>0<re>>>0?v+1|0:v)+fn|0,v=(ke=(pt=L)>>>0>(L=c+L|0)>>>0?v+1|0:v)+Ci|0,Yo=pt=L+Jr|0,pt=v=pt>>>0<L>>>0?v+1|0:v,v=Ke(L^ye,ke^Jt,32),hn=L=$,ye=v,ke=L,v=vr+Or|0,ut=L=H+ut|0,dt=v=L>>>0<H>>>0?v+1|0:v,v=v+ke|0,it=L=L+ye|0,Jt=v=ut>>>0>L>>>0?v+1|0:v,ke=Ke(L^re,yr^v,40),v=(yr=$)+pt|0,ye=Ke((L=ke+Yo|0)^ye,hn^(H=L>>>0<ke>>>0?v+1|0:v),48),v=Ke(ye^Ne,(Yo=$)^Cr,32),hn=re=$,pt=v,Ne=re,Z=Ke(Z^ut,dt^ur,1),v=Ye+(ut=$)|0,v=((re=j)>>>0>(j=j+Z|0)>>>0?v+1|0:v)+Nr|0,v=(j=(re=j+nn|0)>>>0<j>>>0?v+1|0:v)+Vi|0,Cr=Ye=re+nt|0,Ye=v=Ye>>>0<re>>>0?v+1|0:v,dt=Z,re=Ke(re^Sr,j^An,32),v=(Sr=$)+We|0,Ve=Ke(dt^(j=Z=re+Ve|0),(We=re>>>0>j>>>0?v+1|0:v)^ut,40),v=(An=$)+Ye|0,ut=Z=Ve+Cr|0,Z=Ke(re^Z,Sr^(Ye=Z>>>0<Ve>>>0?v+1|0:v),48),v=We+(Q=$)|0,We=Z,Sr=v=(Z=j+Z|0)>>>0<j>>>0?v+1|0:v,v=v+Ne|0,v=(dt=Z)>>>0>(Z=Z+pt|0)>>>0?v+1|0:v,Ne=Z,Z^=kr,kr=v,re=Ke(Z,ui^v,40),v=(ui=$)+Gr|0,Gr=Z=re+Yi|0,v=b+(Cr=re>>>0>Z>>>0?v+1|0:v)|0,Yi=Z=Z+h|0,vr=v=Z>>>0<h>>>0?v+1|0:v,Z=L,Or=En,ur=zn,L=Ke(gr^cr,nr^pn,48),v=Wt+(pn=$)|0,gr=L,Wt=v=(j=ee+L|0)>>>0<ee>>>0?v+1|0:v,L=Ke(j^we,Yr^v,1),v=(ee=$)+ur|0,v=((we=L+Or|0)>>>0<L>>>0?v+1|0:v)+H|0,v=Oo+(Z=(H=Z+we|0)>>>0<we>>>0?v+1|0:v)|0,cr=we=H+Gt|0,we=v=we>>>0<Gt>>>0?v+1|0:v,H=Ke(H^We,Z^Q,32),v=xe+(nr=$)|0,We=H,Me=v=(H=Me+H|0)>>>0<Me>>>0?v+1|0:v,Z=Ke(L^H,v^ee,40),v=(v=we)+(we=$)|0,ee=L=Z+cr|0,L=Ke(L^We,nr^(cr=L>>>0<Z>>>0?v+1|0:v),48),v=Me+(Yr=$)|0,nr=L,xe=v=(Me=H+L|0)>>>0<H>>>0?v+1|0:v,L=Ke(Z^Me,we^v,1),v=(we=$)+vr|0,v=p+(Z=(H=L+Yi|0)>>>0<L>>>0?v+1|0:v)|0,Yi=We=H+mi|0,We=v=We>>>0<mi>>>0?v+1|0:v,vr=L,Or=we,v=Jt+Yo|0,v=(L=ye+it|0)>>>0<ye>>>0?v+1|0:v,ye=L,it=v,v=Ke(L^ke,yr^v,1),ke=we=$,L=v,v=Ye+fn|0,v=((ut=c+ut|0)>>>0<c>>>0?v+1|0:v)+we|0,v=di+(ut=(we=L+ut|0)>>>0<ut>>>0?v+1|0:v)|0,Jt=Ye=we+rr|0,Ye=v=Ye>>>0<rr>>>0?v+1|0:v,we=Ke(we^Kt,ut^Mn,32),v=Wt+(Kt=$)|0,ut=we,Wt=v=(Wt=j)>>>0>(j=j+we|0)>>>0?v+1|0:v,we=Ke(L^j,v^ke,40),v=(yr=$)+Ye|0,ke=L=we+Jt|0,L=Ke(Ye=L^ut,Kt^(ut=L>>>0<we>>>0?v+1|0:v),48),v=Wt+(Mn=$)|0,Wt=L,Ye=L=j+L|0,Kt=v=L>>>0<j>>>0?v+1|0:v,Jt=H,ur=Z,L=Ke(Ve^dt,Sr^An,1),v=(j=$)+bt|0,v=or+((H=L+Tn|0)>>>0<L>>>0?v+1|0:v)|0,v=Nr+(Z=(H=H+de|0)>>>0<de>>>0?v+1|0:v)|0,or=de=H+nn|0,de=v=de>>>0<H>>>0?v+1|0:v,Ve=L,L=(H=Ke(H^gr,Z^pn,32))+ye|0,v=(ye=$)+it|0,Z=L,j=Ke(L^Ve,(gr=L>>>0<H>>>0?v+1|0:v)^j,40),v=(pn=$)+de|0,de=L=j+or|0,dt=Ke(L^H,ye^(or=L>>>0<j>>>0?v+1|0:v),48),H=Ke(dt^Jt,(v=ur)^(ur=$),32),v=(Jt=$)+Kt|0,ye=L=H+Ye|0,Ve=Ke(L^vr,(it=L>>>0<H>>>0?v+1|0:v)^Or,40),v=(vr=$)+We|0,We=L=Ve+Yi|0,L=Ke(L^H,Jt^(Sr=L>>>0<Ve>>>0?v+1|0:v),48),v=it+(An=$)|0,it=L,Jt=v=(H=ye)>>>0>(ye=ye+L|0)>>>0?v+1|0:v,L=Ke(ye^Ve,vr^v,1),v=Ci+(Yi=$)|0,vr=L,Yo=L=Jr+L|0,Ve=v=L>>>0<Jr>>>0?v+1|0:v,H=Nn,L=Ke(we^Ye,yr^Kt,1),v=cr+(we=$)|0,v=((Ye=ee)>>>0>(ee=L+ee|0)>>>0?v+1|0:v)+Kn|0,v=(Ye=(H=H+ee|0)>>>0<ee>>>0?v+1|0:v)+ro|0,Or=ee=H+kn|0,cr=v=ee>>>0<H>>>0?v+1|0:v,Kt=L,ee=Ke(pt^Gr,Cr^hn,48),v=Ke(ee^H,(yr=$)^Ye,32),hn=L=$,pt=v,H=L,v=gr+ur|0,v=(L=Z+dt|0)>>>0<Z>>>0?v+1|0:v,Z=L,gr=v,v=v+H|0,Ye=L=L+pt|0,dt=v=Z>>>0>L>>>0?v+1|0:v,H=Ke(L^Kt,v^we,40),v=(v=cr)+(cr=$)|0,Kt=L=H+Or|0,Gr=v=L>>>0<H>>>0?v+1|0:v,v=v+Ve|0,Cr=v=(we=L+Yo|0)>>>0<L>>>0?v+1|0:v,Ve=v,L=Ke(j^Z,gr^pn,1),v=Mr+(j=$)|0,v=ut+((Z=L+rn|0)>>>0<rn>>>0?v+1|0:v)|0,v=Bn+(ke=(Z=Z+ke|0)>>>0<ke>>>0?v+1|0:v)|0,Or=ut=Z+jr|0,ut=v=ut>>>0<jr>>>0?v+1|0:v,gr=L,v=Ke(Z^nr,ke^Yr,32),ur=L=$,Z=v,ke=L,v=yr+kr|0,nr=L=ee+Ne|0,kr=v=L>>>0<ee>>>0?v+1|0:v,v=v+ke|0,v=(ee=L+Z|0)>>>0<L>>>0?v+1|0:v,L=ee^gr,gr=v,ke=Ke(L,v^j,40),v=(Yr=$)+ut|0,j=L=ke+Or|0,Ne=Ke(L^Z,ur^(ut=L>>>0<ke>>>0?v+1|0:v),48),v=Ke(Ne^we,(pn=$)^Ve,32),Yo=L=$,Or=v,Ve=L,L=Ke(re^nr,kr^ui,1),v=or+(re=$)|0,v=Ao+((Z=L+de|0)>>>0<de>>>0?v+1|0:v)|0,v=(de=(Z=Z+ft|0)>>>0<ft>>>0?v+1|0:v)+Qo|0,nr=or=Z+_n|0,or=v=or>>>0<Z>>>0?v+1|0:v,Z=Ke(Z^Wt,de^Mn,32),v=xe+(kr=$)|0,Wt=Z,de=re,re=v=(Z=Me+Z|0)>>>0<Me>>>0?v+1|0:v,de=Ke(L^Z,de^v,40),v=(Mn=$)+or|0,Me=L=de+nr|0,L=Ke(nr=L^Wt,kr^(Wt=L>>>0<de>>>0?v+1|0:v),48),v=re+(yr=$)|0,re=L,or=L=Z+L|0,nr=v=L>>>0<Z>>>0?v+1|0:v,v=v+Ve|0,xe=v=(Ve=L+Or|0)>>>0<L>>>0?v+1|0:v,Z=Ke(Ve^vr,Yi^v,40),v=Cr+(kr=$)|0,v=((L=Z+we|0)>>>0<we>>>0?v+1|0:v)+zn|0,we=L,Cr=L=L+En|0,vr=v=we>>>0>L>>>0?v+1|0:v,ur=Nr,we=Ke(pt^Kt,Gr^hn,48),v=(ui=$)+dt|0,pt=L=we+Ye|0,v=Ke(L^H,(Ye=L>>>0<we>>>0?v+1|0:v)^cr,1),cr=H=$,L=v,v=ut+b|0,v=((j=j+h|0)>>>0<h>>>0?v+1|0:v)+H|0,v=(j=(H=L+j|0)>>>0<j>>>0?v+1|0:v)+ur|0,dt=ut=H+nn|0,ut=v=ut>>>0<H>>>0?v+1|0:v,H=Ke(H^re,j^yr,32),v=Jt+(Kt=$)|0,ye=v=(re=H+ye|0)>>>0<ye>>>0?v+1|0:v,j=Ke(L^re,v^cr,40),v=(Gr=$)+ut|0,ut=L=j+dt|0,H=Ke(L^H,Kt^(cr=L>>>0<j>>>0?v+1|0:v),48),v=ye+(dt=$)|0,Kt=v=(ye=H+re|0)>>>0<re>>>0?v+1|0:v,L=Ke(j^ye,Gr^v,1),v=(Gr=$)+vr|0,v=Vi+((re=L+Cr|0)>>>0<L>>>0?v+1|0:v)|0,v=(j=(re=re+nt|0)>>>0<nt>>>0?v+1|0:v)+bt|0,Yi=bt=re+Tn|0,bt=v=bt>>>0<re>>>0?v+1|0:v,Jt=L,ur=re,yr=j,re=Nn,L=Ke(de^or,nr^Mn,1),v=Sr+(de=$)|0,v=((j=We)>>>0>(We=L+We|0)>>>0?v+1|0:v)+Kn|0,v=Qo+(j=(re=re+We|0)>>>0<We>>>0?v+1|0:v)|0,Sr=We=re+_n|0,or=v=We>>>0<_n>>>0?v+1|0:v,We=L,j=v=Ke(re^we,j^ui,32),v=gr+pn|0,v=(nr=L=$)+(ee=(L=ee+Ne|0)>>>0<ee>>>0?v+1|0:v)|0,gr=v=(we=L+j|0)>>>0<L>>>0?v+1|0:v,We=Ke(we^We,v^de,40),v=(pn=$)+or|0,or=Ke(Sr=(re=We+Sr|0)^j,nr^(j=re>>>0<We>>>0?v+1|0:v),48),v=Ke(or^ur,(Mn=$)^yr,32),ui=de=$,Sr=v,nr=de,L=Ke(L^ke,ee^Yr,1),v=Bn+(de=$)|0,v=Wt+((ee=L+jr|0)>>>0<jr>>>0?v+1|0:v)|0,v=Ao+(Me=(ee=ee+Me|0)>>>0<Me>>>0?v+1|0:v)|0,ur=ke=ee+ft|0,ke=v=ke>>>0<ft>>>0?v+1|0:v,Wt=L,Ne=de,ee=Ke(ee^it,Me^An,32),v=(it=$)+Ye|0,de=L=ee+pt|0,Me=Ke(L^Wt,(pt=L>>>0<ee>>>0?v+1|0:v)^Ne,40),v=(Yr=$)+ke|0,Wt=L=Me+ur|0,L=Ke(L^ee,it^(Ye=L>>>0<Me>>>0?v+1|0:v),48),v=pt+(ur=$)|0,ke=L,pt=L=de+L|0,it=v=L>>>0<de>>>0?v+1|0:v,v=v+nr|0,nr=L=L+Sr|0,ee=Gr,Gr=v=pt>>>0>L>>>0?v+1|0:v,ee=Ke(L^Jt,ee^v,40),v=(v=bt)+(bt=$)|0,Ne=L=ee+Yi|0,Jt=v=L>>>0<ee>>>0?v+1|0:v,de=j,L=Ke(Or^Cr,vr^Yo,48),v=xe+(An=$)|0,xe=L,j=(L=Ve+L|0)^Z,Z=v=L>>>0<Ve>>>0?v+1|0:v,j=Ke(j,v^kr,1),v=(kr=$)+de|0,v=p+((re=j+re|0)>>>0<j>>>0?v+1|0:v)|0,v=(de=(re=re+mi|0)>>>0<mi>>>0?v+1|0:v)+Mr|0,Cr=Ve=re+rn|0,Ve=v=Ve>>>0<re>>>0?v+1|0:v,re=Ke(re^ke,de^ur,32),v=Kt+(vr=$)|0,Kt=re,ye=v=(de=ye+re|0)>>>0<ye>>>0?v+1|0:v,j=Ke(j^de,kr^v,40),v=(v=Ve)+(Ve=$)|0,ke=re=j+Cr|0,re=Ke(Or=re^Kt,vr^(Kt=re>>>0<j>>>0?v+1|0:v),48),v=ye+(Yi=$)|0,kr=re,Cr=v=(ye=de+re|0)>>>0<de>>>0?v+1|0:v,re=Ke(j^ye,Ve^v,1),v=(Ve=$)+Jt|0,v=b+((j=re+Ne|0)>>>0<re>>>0?v+1|0:v)|0,v=fn+(de=(j=j+h|0)>>>0<h>>>0?v+1|0:v)|0,Yo=vr=c+j|0,vr=v=vr>>>0<c>>>0?v+1|0:v,Or=re,ur=Ve,Ve=j,yr=de,re=Ke(Me^pt,it^Yr,1),v=(de=$)+cr|0,v=di+((j=re+ut|0)>>>0<re>>>0?v+1|0:v)|0,v=(Me=(j=j+rr|0)>>>0<rr>>>0?v+1|0:v)+fn|0,cr=ut=c+j|0,ut=v=ut>>>0<j>>>0?v+1|0:v,pt=re,j=v=Ke(j^xe,Me^An,32),Me=re=$,v=gr+Mn|0,gr=v=(re=we+or|0)>>>0<we>>>0?v+1|0:v,v=v+Me|0,v=(we=re)>>>0>(re=re+j|0)>>>0?v+1|0:v,or=re,re^=pt,pt=v,de=Ke(re,v^de,40),v=(Yr=$)+ut|0,Me=Ke(ut=(re=de+cr|0)^j,Me^(j=re>>>0<de>>>0?v+1|0:v),48),v=Ke(Me^Ve,(v=yr)^(yr=$),32),An=Ve=$,ut=v,cr=Z,Z=H,v=Ke(we^We,gr^pn,1),it=H=$,we=v,v=Ye+ro|0,v=((We=Wt+kn|0)>>>0<kn>>>0?v+1|0:v)+H|0,We=v=(H=we+We|0)>>>0<We>>>0?v+1|0:v,Z=Ke(H^Z,v^dt,32),v=(v=cr)+(cr=$)|0,we=Ke((L=Z+L|0)^we,it^(gr=L>>>0<Z>>>0?v+1|0:v),40),v=We+(pn=$)|0,Wt=we,v=Oo+((Ye=H)>>>0>(H=H+we|0)>>>0?v+1|0:v)|0,Ye=v=(we=H+Gt|0)>>>0<Gt>>>0?v+1|0:v,H=Ke(Z^we,cr^v,48),v=gr+(Mn=$)|0,dt=L,Z=H,gr=L=L+H|0,cr=v=dt>>>0>L>>>0?v+1|0:v,v=v+Ve|0,dt=v=(Ve=L+ut|0)>>>0<L>>>0?v+1|0:v,L=(We=Ke(Ve^Or,v^ur,40))+Yo|0,v=(Yo=$)+vr|0,it=L,xe=L>>>0<We>>>0?v+1|0:v,L=Ke(Sr^Ne,Jt^ui,48),v=(Sr=$)+Gr|0,nr=H=L+nr|0,Or=bt,bt=v=H>>>0<L>>>0?v+1|0:v,v=Ke(H^ee,Or^v,1),Ne=H=$,ee=v,v=j+p|0,v=((re=re+mi|0)>>>0<mi>>>0?v+1|0:v)+H|0,v=Vi+(re=(H=re+ee|0)>>>0<re>>>0?v+1|0:v)|0,Jt=j=H+nt|0,j=v=j>>>0<nt>>>0?v+1|0:v,H=Ke(H^Z,re^Mn,32),v=Cr+(vr=$)|0,Gr=H,H=(Z=ye+H|0)^ee,ee=v=Z>>>0<ye>>>0?v+1|0:v,re=Ke(H,Ne^v,40),v=(v=j)+(j=$)|0,Ne=H=re+Jt|0,H=Ke(ye=H^Gr,vr^(Gr=H>>>0<re>>>0?v+1|0:v),48),v=ee+(Mn=$)|0,Cr=H,Z=v=(H=Z+H|0)>>>0<Z>>>0?v+1|0:v,re=Ke(H^re,j^v,1),v=(ye=$)+xe|0,v=Ci+((j=re+it|0)>>>0<re>>>0?v+1|0:v)|0,v=(ee=(j=j+Jr|0)>>>0<Jr>>>0?v+1|0:v)+Nr|0,hn=Jt=j+nn|0,Jt=v=Jt>>>0<j>>>0?v+1|0:v,vr=re,Or=j,ur=ee,re=Ke(Wt^gr,cr^pn,1),v=(cr=$)+zn|0,v=Kt+(re>>>0>(j=re+En|0)>>>0?v+1|0:v)|0,ee=v=(j=j+ke|0)>>>0<ke>>>0?v+1|0:v,v=Ke(L^j,v^Sr,32),Sr=L=$,ke=v,v=pt+yr|0,v=(L=Me+or|0)>>>0<Me>>>0?v+1|0:v,Me=L,gr=v,v=Sr+v|0,pt=L=L+ke|0,Wt=v=Me>>>0>L>>>0?v+1|0:v,L=Ke(L^re,cr^v,40),v=ee+(yr=$)|0,or=L,v=Bn+((L=j+L|0)>>>0<j>>>0?v+1|0:v)|0,v=(L=L+jr|0)>>>0<jr>>>0?v+1|0:v,cr=L,L^=ke,ke=v,ee=Ke(L,Sr^v,48),v=Ke(ee^Or,(v=ur)^(ur=$),32),pn=L=$,Sr=v,Kt=L,L=Ke(de^Me,gr^Yr,1),v=ro+(j=$)|0,v=Ye+((re=L+kn|0)>>>0<kn>>>0?v+1|0:v)|0,v=(de=(re=re+we|0)>>>0<we>>>0?v+1|0:v)+Mr|0,Ye=Me=re+rn|0,Me=v=Me>>>0<re>>>0?v+1|0:v,we=L,gr=j,L=(re=Ke(re^kr,de^Yi,32))+nr|0,v=(nr=$)+bt|0,j=L,de=Ke(de=L^we,(we=L>>>0<re>>>0?v+1|0:v)^gr,40),v=(Yr=$)+Me|0,Me=L=de+Ye|0,re=Ke(L^re,nr^(bt=L>>>0<de>>>0?v+1|0:v),48),v=we+(gr=$)|0,Ye=L=re+j|0,nr=v=L>>>0<j>>>0?v+1|0:v,v=v+Kt|0,Kt=v=(we=L+Sr|0)>>>0<L>>>0?v+1|0:v,j=Ke(we^vr,v^ye,40),v=(kr=$)+Jt|0,Jt=L=j+hn|0,vr=v=L>>>0<j>>>0?v+1|0:v,L=H,ye=Z,Z=re,H=Ke(ut^it,xe^An,48),v=dt+(hn=$)|0,ut=H,Ve=v=(re=Ve+H|0)>>>0<Ve>>>0?v+1|0:v,v=Ke(re^We,Yo^v,1),dt=H=$,We=v,v=ke+xo|0,v=((ke=cr+Tn|0)>>>0<Tn>>>0?v+1|0:v)+H|0,ke=v=(H=ke+We|0)>>>0<ke>>>0?v+1|0:v,Z=Ke(H^Z,v^gr,32),v=(cr=$)+ye|0,We=Ke((L=Z+L|0)^We,dt^(ye=L>>>0<Z>>>0?v+1|0:v),40),v=ke+(it=$)|0,v=Ao+((ke=H)>>>0>(H=H+We|0)>>>0?v+1|0:v)|0,gr=v=(ke=H+ft|0)>>>0<ft>>>0?v+1|0:v,H=Ke(Z^ke,cr^v,48),v=ye+(An=$)|0,cr=H,dt=v=(ye=L+H|0)>>>0<L>>>0?v+1|0:v,L=Ke(ye^We,it^v,1),v=(We=$)+vr|0,v=di+((H=L+Jt|0)>>>0<L>>>0?v+1|0:v)|0,v=Ci+(Z=(H=H+rr|0)>>>0<rr>>>0?v+1|0:v)|0,ui=it=H+Jr|0,it=v=it>>>0<Jr>>>0?v+1|0:v,xe=L,Or=H,L=Ke(de^Ye,nr^Yr,1),v=(de=$)+Gr|0,v=Qo+((H=L+Ne|0)>>>0<L>>>0?v+1|0:v)|0,v=Oo+(Ye=(H=H+_n|0)>>>0<_n>>>0?v+1|0:v)|0,Ne=nr=H+Gt|0,nr=v=nr>>>0<Gt>>>0?v+1|0:v,Gr=L,v=Ke(H^ut,Ye^hn,32),hn=L=$,H=v,v=Wt+ur|0,pt=L=ee+pt|0,ut=v=L>>>0<ee>>>0?v+1|0:v,v=hn+v|0,Wt=v=(ee=L+H|0)>>>0<L>>>0?v+1|0:v,de=Ke(ee^Gr,v^de,40),v=(ur=$)+nr|0,Ye=L=de+Ne|0,Gr=Ke(L^H,hn^(nr=L>>>0<de>>>0?v+1|0:v),48),v=Ke(Gr^Or,(hn=$)^Z,32),Yr=L=$,Ne=v,Z=L,H=Nn,L=Ke(pt^or,ut^yr,1),v=bt+(ut=$)|0,v=((pt=Me)>>>0>(Me=L+Me|0)>>>0?v+1|0:v)+Kn|0,v=di+(Me=(H=H+Me|0)>>>0<Me>>>0?v+1|0:v)|0,pt=bt=H+rr|0,bt=v=bt>>>0<rr>>>0?v+1|0:v,H=Ke(H^Cr,Me^Mn,32),v=Ve+(or=$)|0,Ve=H,v=(H=re+H|0)>>>0<re>>>0?v+1|0:v,re=ut,ut=v,re=Ke(L^H,re^v,40),v=(yr=$)+bt|0,Me=L=re+pt|0,L=Ke(L^Ve,or^(bt=L>>>0<re>>>0?v+1|0:v),48),v=ut+(Or=$)|0,ut=L,pt=L=H+L|0,or=v=L>>>0<H>>>0?v+1|0:v,v=v+Z|0,v=(Ve=L+Ne|0)>>>0<L>>>0?v+1|0:v,L=Ve^xe,xe=v,We=Ke(L,v^We,40),v=(Mn=$)+it|0,it=L=We+ui|0,Cr=L>>>0<We>>>0?v+1|0:v,L=Ke(Sr^Jt,vr^pn,48),v=Kt+(pn=$)|0,Sr=L,v=(L=we+L|0)>>>0<we>>>0?v+1|0:v,we=L,Kt=v,v=Ke(L^j,v^kr,1),kr=L=$,Z=v,v=nr+Vi|0,v=((H=Ye+nt|0)>>>0<nt>>>0?v+1|0:v)+L|0,v=Ao+(H=(L=H+Z|0)>>>0<H>>>0?v+1|0:v)|0,Ye=j=L+ft|0,j=v=j>>>0<ft>>>0?v+1|0:v,L=Ke(L^ut,H^Or,32),v=dt+(nr=$)|0,ut=L,ye=v=(H=ye+L|0)>>>0<ye>>>0?v+1|0:v,Z=Ke(H^Z,kr^v,40),v=(kr=$)+j|0,Ye=L=Z+Ye|0,L=Ke(j=L^ut,nr^(ut=L>>>0<Z>>>0?v+1|0:v),48),v=ye+(ui=$)|0,ye=L,dt=v=(j=H+L|0)>>>0<H>>>0?v+1|0:v,L=Ke(j^Z,kr^v,1),v=(nr=$)+Cr|0,v=ro+((H=L+it|0)>>>0<L>>>0?v+1|0:v)|0,v=(Z=(H=H+kn|0)>>>0<kn>>>0?v+1|0:v)+zn|0,Yi=kr=H+En|0,kr=v=kr>>>0<H>>>0?v+1|0:v,Jt=L,vr=H,Or=Z,L=Ke(re^pt,yr^or,1),v=Qo+(Z=$)|0,v=gr+((H=L+_n|0)>>>0<_n>>>0?v+1|0:v)|0,v=xo+(re=(H=H+ke|0)>>>0<ke>>>0?v+1|0:v)|0,or=ke=H+Tn|0,ke=v=ke>>>0<Tn>>>0?v+1|0:v,gr=L,pt=Z,v=Ke(H^Sr,re^pn,32),Sr=L=$,re=v,H=L,v=Wt+hn|0,v=(L=ee+Gr|0)>>>0<ee>>>0?v+1|0:v,ee=L,Wt=v,v=v+H|0,v=(Z=L+re|0)>>>0<L>>>0?v+1|0:v,L=Z^gr,gr=v,L=Ke(L,v^pt,40),v=(v=ke)+(ke=$)|0,pt=H=L+or|0,or=v=H>>>0<L>>>0?v+1|0:v,Sr=Ke(H^re,Sr^v,48),v=Ke(Sr^vr,(v=Or)^(Or=$),32),yr=H=$,Gr=v,H=Ke(ee^de,Wt^ur,1),v=(ee=$)+Kn|0,v=bt+((re=H+Nn|0)>>>0<H>>>0?v+1|0:v)|0,v=p+(de=(re=re+Me|0)>>>0<Me>>>0?v+1|0:v)|0,ur=Me=re+mi|0,Me=v=Me>>>0<mi>>>0?v+1|0:v,bt=H,Wt=ee,re=Ke(re^cr,de^An,32),v=(cr=$)+Kt|0,ee=H=re+we|0,H=(de=Ke(H^bt,(we=H>>>0<re>>>0?v+1|0:v)^Wt,40))+ur|0,v=(ur=$)+Me|0,bt=H,H=Ke(H^re,cr^(Wt=H>>>0<de>>>0?v+1|0:v),48),v=we+(hn=$)|0,cr=H,Kt=H=ee+H|0,vr=v=H>>>0<ee>>>0?v+1|0:v,v=yr+v|0,v=(re=H+Gr|0)>>>0<H>>>0?v+1|0:v,H=nr,nr=v,ee=Ke(re^Jt,H^v,40),v=(pn=$)+kr|0,Me=H=ee+Yi|0,v=Ke(H^Gr,yr^(kr=H>>>0<ee>>>0?v+1|0:v),48),yr=H=$,Gr=v,H=L,v=gr+Or|0,gr=L=Z+Sr|0,Sr=v=L>>>0<Z>>>0?v+1|0:v,v=Ke(L^H,v^ke,1),Z=H=$,L=v,v=Wt+b|0,v=((we=bt+h|0)>>>0<h>>>0?v+1|0:v)+H|0,v=Bn+(we=(H=L+we|0)>>>0<we>>>0?v+1|0:v)|0,Or=ke=H+jr|0,ke=v=ke>>>0<jr>>>0?v+1|0:v,bt=L,Wt=Z,L=Ke(it^Ne,Cr^Yr,48),v=xe+(Yr=$)|0,it=L,v=(L=Ve+L|0)>>>0<Ve>>>0?v+1|0:v,Ve=L,H=Ke(H^ye,we^ui,32),xe=v,v=v+(Ne=$)|0,Z=L=H+L|0,we=Ke(L^bt,(ye=L>>>0<H>>>0?v+1|0:v)^Wt,40),v=(Cr=$)+ke|0,ke=L=we+Or|0,L=Ke(L^H,Ne^(bt=L>>>0<we>>>0?v+1|0:v),48),v=ye+(An=$)|0,Wt=L,Ne=v=(ye=Z+L|0)>>>0<Z>>>0?v+1|0:v,L=Ke(we^ye,Cr^v,1),v=Ao+(Or=$)|0,Cr=L,ui=L=ft+L|0,Z=v=L>>>0<ft>>>0?v+1|0:v,L=Ke(We^Ve,xe^Mn,1),v=(we=$)+or|0,v=Oo+((H=L+pt|0)>>>0<L>>>0?v+1|0:v)|0,v=Nr+(Ve=(H=H+Gt|0)>>>0<Gt>>>0?v+1|0:v)|0,xe=We=H+nn|0,We=v=We>>>0<nn>>>0?v+1|0:v,pt=we,H=Ke(H^cr,Ve^hn,32),v=dt+(hn=$)|0,or=H,v=(we=j+H|0)>>>0<j>>>0?v+1|0:v,j=pt,pt=v,Ve=Ke(L^we,j^v,40),v=(Mn=$)+We|0,cr=L=Ve+xe|0,v=(dt=L>>>0<Ve>>>0?v+1|0:v)+Z|0,We=v=(Z=L+ui|0)>>>0<L>>>0?v+1|0:v,xe=v=Ke(Z^Gr,v^yr,32),Jt=L=$,L=Ke(de^Kt,vr^ur,1),v=(j=$)+ut|0,v=fn+((H=L+Ye|0)>>>0<L>>>0?v+1|0:v)|0,v=(de=(H=c+H|0)>>>0<c>>>0?v+1|0:v)+Mr|0,vr=ut=H+rn|0,ut=v=ut>>>0<H>>>0?v+1|0:v,Ye=L,Kt=j,H=Ke(H^it,de^Yr,32),v=(it=$)+Sr|0,j=L=H+gr|0,L=(de=Ke(L^Ye,(gr=L>>>0<H>>>0?v+1|0:v)^Kt,40))+vr|0,v=(vr=$)+ut|0,ut=L,L=Ke(L^H,it^(Ye=L>>>0<de>>>0?v+1|0:v),48),v=gr+(Yr=$)|0,gr=L,it=v=(L=j+L|0)>>>0<j>>>0?v+1|0:v,v=v+Jt|0,Sr=v=(j=L)>>>0>(L=L+xe|0)>>>0?v+1|0:v,H=Ke(L^Cr,Or^v,40),v=We+(Or=$)|0,Kt=H,v=b+((H=Z+H|0)>>>0<Z>>>0?v+1|0:v)|0,Cr=H=H+h|0,Z=H^xe,xe=v=H>>>0<h>>>0?v+1|0:v,H=Ke(Z,Jt^v,48),v=Sr+(Jt=$)|0,Sr=v=(We=L+H|0)>>>0<L>>>0?v+1|0:v,L=v=Ke(We^Kt,Or^v,1),Kt=Z=$,Z=Ke(j^de,it^vr,1),v=bt+(de=$)|0,v=Oo+((j=Z+ke|0)>>>0<ke>>>0?v+1|0:v)|0,v=di+(ke=(j=j+Gt|0)>>>0<Gt>>>0?v+1|0:v)|0,Or=bt=j+rr|0,bt=v=bt>>>0<rr>>>0?v+1|0:v,it=Z,vr=de,v=nr+yr|0,v=(Z=re+Gr|0)>>>0<re>>>0?v+1|0:v,nr=Z,or=Ke(cr^or,dt^hn,48),de=Ke(j^or,ke^(hn=$),32),cr=v,v=v+(ui=$)|0,ke=Z=de+Z|0,Z=Ke(Z^it,(dt=Z>>>0<de>>>0?v+1|0:v)^vr,40),v=(it=$)+bt|0,vr=v=(re=Z+Or|0)>>>0<Z>>>0?v+1|0:v,v=v+Kt|0,v=p+((Gr=re)>>>0>(re=L+re|0)>>>0?v+1|0:v)|0,v=(j=(re=re+mi|0)>>>0<mi>>>0?v+1|0:v)+Kn|0,Yi=bt=re+Nn|0,Or=v=bt>>>0<re>>>0?v+1|0:v,ur=L,yr=re,v=Ke(ee^nr,cr^pn,1),ee=re=$,L=v,v=Ye+Qo|0,v=((bt=ut+_n|0)>>>0<_n>>>0?v+1|0:v)+re|0,v=Bn+(bt=(re=L+bt|0)>>>0<bt>>>0?v+1|0:v)|0,cr=ut=re+jr|0,ut=v=ut>>>0<jr>>>0?v+1|0:v,Ye=L,v=Ke(re^Wt,bt^An,32),nr=L=$,re=v,bt=L,v=pt+hn|0,pt=L=we+or|0,Wt=v=L>>>0<we>>>0?v+1|0:v,v=v+bt|0,v=(we=L+re|0)>>>0<L>>>0?v+1|0:v,L=we^Ye,Ye=v,bt=Ke(L,v^ee,40),v=(hn=$)+ut|0,or=Ke(ut=(L=bt+cr|0)^re,nr^(re=L>>>0<bt>>>0?v+1|0:v),48),v=Ke(v=or^yr,(yr=$)^j,32),pn=j=$,cr=v,ut=j,j=Ke(Ve^pt,Wt^Mn,1),v=Nr+(Ve=$)|0,v=kr+((ee=j+nn|0)>>>0<nn>>>0?v+1|0:v)|0,v=ro+(Me=(ee=ee+Me|0)>>>0<Me>>>0?v+1|0:v)|0,Wt=pt=ee+kn|0,pt=v=pt>>>0<kn>>>0?v+1|0:v,ee=Ke(ee^gr,Me^Yr,32),v=Ne+(nr=$)|0,gr=ee,ye=v=(ee=ye+ee|0)>>>0<ye>>>0?v+1|0:v,Me=Ke(j^ee,v^Ve,40),v=(Yr=$)+pt|0,Ve=j=Me+Wt|0,j=Ke(pt=j^gr,nr^(gr=j>>>0<Me>>>0?v+1|0:v),48),v=ye+(An=$)|0,pt=j,Wt=j=ee+j|0,nr=v=j>>>0<ee>>>0?v+1|0:v,v=v+ut|0,v=(ee=j+cr|0)>>>0<j>>>0?v+1|0:v,j=Kt,Kt=v,ye=Ke(ee^ur,j^v,40),v=(kr=$)+Or|0,ut=j=ye+Yi|0,j=Ke(Or=j^cr,pn^(cr=j>>>0<ye>>>0?v+1|0:v),48),v=Kt+(pn=$)|0,Kt=j,ee=v=(j=ee+j|0)>>>0<ee>>>0?v+1|0:v,kr=v=Ke(j^ye,kr^v,1),Mn=v,Ne=ye=$,ye=re,re=Z,Z=Ke(de^Gr,vr^ui,48),v=dt+(ui=$)|0,dt=Z,v=(Z=ke+Z|0)>>>0<ke>>>0?v+1|0:v,ke=L,L=re^Z,re=v,L=Ke(L,v^it,1),v=(it=$)+ye|0,v=xo+(L>>>0>(de=ke+L|0)>>>0?v+1|0:v)|0,v=zn+(ke=(de=de+Tn|0)>>>0<Tn>>>0?v+1|0:v)|0,Gr=ye=de+En|0,ye=v=ye>>>0<En>>>0?v+1|0:v,de=Ke(de^pt,ke^An,32),v=Sr+(vr=$)|0,pt=v=(ke=de+We|0)>>>0<We>>>0?v+1|0:v,We=Ke(L^ke,it^v,40),v=(An=$)+ye|0,it=L=We+Gr|0,de=Ke(L^de,vr^(Sr=L>>>0<We>>>0?v+1|0:v),48),v=pt+(Gr=$)|0,vr=L=de+ke|0,pt=L,Or=v=L>>>0<ke>>>0?v+1|0:v,ke=Z,ye=re,v=Ye+yr|0,v=(L=we+or|0)>>>0<we>>>0?v+1|0:v,we=L,L^=bt,bt=v,v=Ke(L,hn^v,1),ur=L=$,Ye=v,re=v,v=gr+Mr|0,v=((Z=Ve+rn|0)>>>0<rn>>>0?v+1|0:v)+L|0,Ve=v=(L=Z)>>>0>(Z=re+Z|0)>>>0?v+1|0:v,re=Ke(H^Z,v^Jt,32),v=(v=ye)+(ye=$)|0,or=L=re+ke|0,H=Ke(H=L^Ye,ur^(Ye=L>>>0<re>>>0?v+1|0:v),40),v=Ve+(Jt=$)|0,v=Vi+((L=H+Z|0)>>>0<Z>>>0?v+1|0:v)|0,ur=v=(ke=L+nt|0)>>>0<nt>>>0?v+1|0:v,ye=Ke(re^ke,ye^v,48),Yi=v=$,L=Ke(Me^Wt,nr^Yr,1),v=(re=$)+xe|0,v=Ci+((Z=L+Cr|0)>>>0<L>>>0?v+1|0:v)|0,v=fn+(Me=(Z=Z+Jr|0)>>>0<Jr>>>0?v+1|0:v)|0,xe=Ve=c+Z|0,Wt=v=Ve>>>0<c>>>0?v+1|0:v,nr=L,Ve=Ke(Z^dt,Me^ui,32),v=(Yr=$)+bt|0,bt=L=Ve+we|0,Z=Ke(L^nr,(dt=L>>>0<Ve>>>0?v+1|0:v)^re,40),v=(v=Wt)+(Wt=$)|0,nr=L=Z+xe|0,xe=v=L>>>0<Z>>>0?v+1|0:v,re=v,v=fn+Ne|0,v=((Me=c+kr|0)>>>0<c>>>0?v+1|0:v)+re|0,gr=v=(re=L+Me|0)>>>0<Me>>>0?v+1|0:v,L=Ke(re^ye,Yi^v,32),v=(kr=$)+Or|0,we=Ke((Me=L+pt|0)^Mn,(v=Me>>>0<L>>>0?v+1|0:v)^Ne,40),Ne=v,v=zn+(pt=$)|0,v=gr+((Cr=we+En|0)>>>0<En>>>0?v+1|0:v)|0,v=(gr=re+Cr|0)>>>0<re>>>0?v+1|0:v,re=kr,kr=v,re=Ke(L^gr,re^v,48),v=(v=Ne)+(Ne=$)|0,L=we^(Me=re+Me|0),we=v=Me>>>0<re>>>0?v+1|0:v,Cr=v=Ke(L,v^pt,1),Mn=v,yr=L=$,pt=j,hn=ee,j=Z,Z=Ke(Ve^nr,xe^Yr,48),v=dt+(nr=$)|0,Ve=L=Z+bt|0,bt=v=L>>>0<bt>>>0?v+1|0:v,j=Ke(L^j,v^Wt,1),v=(xe=$)+xo|0,v=ur+((L=j+Tn|0)>>>0<j>>>0?v+1|0:v)|0,ke=v=(ee=L+ke|0)>>>0<ke>>>0?v+1|0:v,L=Ke(ee^de,v^Gr,32),v=(Wt=$)+hn|0,pt=de=L+pt|0,dt=v=de>>>0<L>>>0?v+1|0:v,j=Ke(j^de,v^xe,40),v=di+(ui=$)|0,xe=j,v=ke+((j=rr+j|0)>>>0<rr>>>0?v+1|0:v)|0,ee=v=(j=j+ee|0)>>>0<ee>>>0?v+1|0:v,de=Ke(L^j,v^Wt,48),v=(v=dt)+(dt=$)|0,Gr=L=de+pt|0,Wt=L,ur=v=L>>>0<de>>>0?v+1|0:v,v=Ye+Yi|0,pt=(L=ye+or|0)^H,H=v=L>>>0<ye>>>0?v+1|0:v,v=Ke(pt,v^Jt,1),Jt=ke=$,pt=v,v=Sr+Bn|0,v=((ye=it+jr|0)>>>0<jr>>>0?v+1|0:v)+ke|0,Ye=v=(Ye=ye)>>>0>(ye=ye+pt|0)>>>0?v+1|0:v,or=ke=Ke(ye^Kt,pn^v,32),it=v=$,v=v+bt|0,Sr=ke=ke+Ve|0,Kt=v=or>>>0>ke>>>0?v+1|0:v,ke=Ke(ke^pt,Jt^v,40),v=Kn+(Jt=$)|0,v=Ye+((Ve=ke+Nn|0)>>>0<Nn>>>0?v+1|0:v)|0,Ve=v=(pt=ye)>>>0>(ye=ye+Ve|0)>>>0?v+1|0:v,pt=Ke(ye^or,v^it,48),pn=v=$,bt=v,We=Ke(We^vr,Or^An,1),Ye=v=$,or=Z,v=v+Mr|0,v=cr+((Z=We+rn|0)>>>0<rn>>>0?v+1|0:v)|0,v=(Z=Z+ut|0)>>>0<ut>>>0?v+1|0:v,ut=Z^or,or=v,ut=Ke(ut,v^nr,32),v=(An=$)+H|0,cr=L=ut+L|0,H=Ke(L^We,(H=Ye)^(Ye=L>>>0<ut>>>0?v+1|0:v),40),v=Ci+(it=$)|0,v=or+((L=H+Jr|0)>>>0<Jr>>>0?v+1|0:v)|0,or=L=L+Z|0,nr=v=L>>>0<Z>>>0?v+1|0:v,Z=v,v=yr+Oo|0,v=((We=Cr+Gt|0)>>>0<Gt>>>0?v+1|0:v)+Z|0,Cr=v=(Z=L+We|0)>>>0<We>>>0?v+1|0:v,L=Ke(Z^pt,v^bt,32),v=(vr=$)+ur|0,bt=Ke((We=L+Wt|0)^Mn,(v=We>>>0<L>>>0?v+1|0:v)^yr,40),Or=Wt=$,yr=v,v=Wt+ro|0,v=Cr+((Wt=bt+kn|0)>>>0<kn>>>0?v+1|0:v)|0,Cr=v=(Wt=Z+Wt|0)>>>0<Z>>>0?v+1|0:v,Z=Ke(L^Wt,v^vr,48),v=(vr=$)+yr|0,L=(We=Z+We|0)^bt,bt=v=We>>>0<Z>>>0?v+1|0:v,Or=v=Ke(L,v^Or,1),yr=L=$,hn=Me,Yr=de,de=H,H=Ke(ut^or,nr^An,48),v=(ut=$)+Ye|0,Ye=L=H+cr|0,or=v=L>>>0<H>>>0?v+1|0:v,de=Ke(L^de,v^it,1),v=(it=$)+Ao|0,v=((L=de+ft|0)>>>0<de>>>0?v+1|0:v)+Ve|0,ye=v=(Me=L+ye|0)>>>0<L>>>0?v+1|0:v,L=Ke(Me^Yr,v^dt,32),v=(Ve=$)+we|0,cr=we=L+hn|0,dt=v=we>>>0<L>>>0?v+1|0:v,de=Ke(de^we,v^it,40),v=p+(Yr=$)|0,it=de,v=ye+((de=mi+de|0)>>>0<mi>>>0?v+1|0:v)|0,nr=v=(we=de+Me|0)>>>0<Me>>>0?v+1|0:v,de=Ke(L^we,v^Ve,48),v=(v=dt)+(dt=$)|0,cr=L=de+cr|0,hn=v=L>>>0<de>>>0?v+1|0:v,ye=re,Me=j,v=Kt+pn|0,re=v=(L=pt+Sr|0)>>>0<pt>>>0?v+1|0:v,j=Ke(L^ke,v^Jt,1),v=(ke=$)+Nr|0,v=((Ve=j+nn|0)>>>0<j>>>0?v+1|0:v)+ee|0,ee=Ke(ye^(Me=Me+Ve|0),(v=Me>>>0<Ve>>>0?v+1|0:v)^Ne,32),Ve=v,pt=j,v=(ye=$)+or|0,v=(j=ee+Ye|0)>>>0<ee>>>0?v+1|0:v,Ye=j,j^=pt,pt=v,j=Ke(j,v^ke,40),v=b+(or=$)|0,v=((ke=j+h|0)>>>0<h>>>0?v+1|0:v)+Ve|0,Sr=v=(Ve=ke)>>>0>(ke=ke+Me|0)>>>0?v+1|0:v,ye=Ke(ee^ke,v^ye,48),pn=v=$,Me=v,ee=Ke(Gr^xe,ur^ui,1),Kt=v=$,xe=re,v=v+Vi|0,v=kr+((re=ee+nt|0)>>>0<nt>>>0?v+1|0:v)|0,Ve=ut,ut=v=(re=re+gr|0)>>>0<gr>>>0?v+1|0:v,Ve=Ke(H^re,Ve^v,32),v=(An=$)+xe|0,gr=L=Ve+L|0,H=Ke(L^ee,(H=Kt)^(Kt=L>>>0<Ve>>>0?v+1|0:v),40),v=Qo+(xe=$)|0,v=ut+((L=H+_n|0)>>>0<_n>>>0?v+1|0:v)|0,kr=L=L+re|0,Gr=v=L>>>0<re>>>0?v+1|0:v,re=v,v=yr+Bn|0,v=((ee=jr+Or|0)>>>0<jr>>>0?v+1|0:v)+re|0,ut=v=(re=L+ee|0)>>>0<ee>>>0?v+1|0:v,L=Ke(re^ye,v^Me,32),v=(Ne=$)+hn|0,Me=Ke((ee=L+cr|0)^Or,(v=ee>>>0<L>>>0?v+1|0:v)^yr,40),Or=v,v=Mr+(Jt=$)|0,v=ut+((ur=Me+rn|0)>>>0<rn>>>0?v+1|0:v)|0,v=(ut=re+ur|0)>>>0<re>>>0?v+1|0:v,re=Ne,Ne=v,re=Ke(L^ut,re^v,48),v=(v=Or)+(Or=$)|0,L=(ee=re+ee|0)^Me,Me=v=ee>>>0<re>>>0?v+1|0:v,Jt=v=Ke(L,v^Jt,1),ur=L=$,yr=de,de=H,H=Ke(Ve^kr,Gr^An,48),v=(v=Kt)+(Kt=$)|0,gr=L=H+gr|0,Ve=xe,xe=v=L>>>0<H>>>0?v+1|0:v,de=Ke(L^de,Ve^v,1),v=(kr=$)+ro|0,v=Sr+((L=de+kn|0)>>>0<de>>>0?v+1|0:v)|0,Ve=ke,ke=L+ke|0,L=dt,dt=v=Ve>>>0>ke>>>0?v+1|0:v,L=Ke(ke^yr,L^v,32),v=(v=bt)+(bt=$)|0,Sr=v=(Ve=L+We|0)>>>0<L>>>0?v+1|0:v,We=Ve,de=Ke(de^Ve,v^kr,40),v=Vi+(An=$)|0,kr=de,v=dt+((de=nt+de|0)>>>0<nt>>>0?v+1|0:v)|0,dt=v=(Ve=de+ke|0)>>>0<ke>>>0?v+1|0:v,de=Ke(L^Ve,v^bt,48),v=(v=Sr)+(Sr=$)|0,Gr=L=de+We|0,yr=v=L>>>0<de>>>0?v+1|0:v,We=Z,v=pt+pn|0,Z=v=(L=ye+Ye|0)>>>0<ye>>>0?v+1|0:v,j=Ke(L^j,v^or,1),v=zn+(ye=$)|0,v=nr+((ke=j+En|0)>>>0<En>>>0?v+1|0:v)|0,pt=(ke=we+ke|0)^We,We=v=ke>>>0<we>>>0?v+1|0:v,we=Ke(pt,v^vr,32),bt=v=$,pt=j,v=v+xe|0,v=(j=we+gr|0)>>>0<we>>>0?v+1|0:v,Ye=j,j^=pt,pt=v,j=Ke(j,v^ye,40),v=b+(or=$)|0,v=We+((ye=j+h|0)>>>0<h>>>0?v+1|0:v)|0,nr=v=(ye=ke+ye|0)>>>0<ke>>>0?v+1|0:v,We=Ke(we^ye,v^bt,48),pn=v=$,ke=v,we=Ke(it^cr,Yr^hn,1),gr=v=$,cr=Z,v=v+p|0,v=Cr+((Z=we+mi|0)>>>0<mi>>>0?v+1|0:v)|0,Wt=v=(Z=Z+Wt|0)>>>0<Wt>>>0?v+1|0:v,bt=Ke(H^Z,v^Kt,32),v=(Mn=$)+cr|0,cr=L=bt+L|0,H=Ke(L^we,(it=L>>>0<bt>>>0?v+1|0:v)^gr,40),v=fn+(Kt=$)|0,v=Wt+((L=c+H|0)>>>0<c>>>0?v+1|0:v)|0,Wt=L=L+Z|0,xe=v=L>>>0<Z>>>0?v+1|0:v,Z=v,v=ur+Ci|0,v=((we=Jt+Jr|0)>>>0<Jr>>>0?v+1|0:v)+Z|0,gr=v=(Z=L+we|0)>>>0<we>>>0?v+1|0:v,L=Ke(Z^We,v^ke,32),v=(Cr=$)+yr|0,ke=Ke((we=L+Gr|0)^Jt,(v=we>>>0<L>>>0?v+1|0:v)^ur,40),vr=v,v=xo+(Jt=$)|0,v=gr+((ur=ke+Tn|0)>>>0<Tn>>>0?v+1|0:v)|0,v=(gr=Z+ur|0)>>>0<Z>>>0?v+1|0:v,Z=Cr,Cr=v,Z=Ke(L^gr,Z^v,48),v=(v=vr)+(vr=$)|0,L=(we=Z+we|0)^ke,ke=v=we>>>0<Z>>>0?v+1|0:v,Jt=v=Ke(L,v^Jt,1),ui=v,ur=L=$,hn=ee,Yr=de,ee=H,H=Ke(bt^Wt,xe^Mn,48),v=(bt=$)+it|0,Wt=L=H+cr|0,cr=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^Kt,1),v=(Kt=$)+Kn|0,v=nr+((L=ee+Nn|0)>>>0<ee>>>0?v+1|0:v)|0,ye=v=(de=L+ye|0)>>>0<ye>>>0?v+1|0:v,L=Ke(de^Yr,v^Sr,32),v=(it=$)+Me|0,Sr=v=(Me=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^Me,v^Kt,40),v=Ao+(Mn=$)|0,nr=ee,v=ye+((ee=ft+ee|0)>>>0<ft>>>0?v+1|0:v)|0,ye=ee+de|0,ee=it,it=v=ye>>>0<de>>>0?v+1|0:v,ee=Ke(L^ye,ee^v,48),v=(v=Sr)+(Sr=$)|0,Kt=L=ee+Me|0,xe=v=L>>>0<ee>>>0?v+1|0:v,de=re,v=pt+pn|0,re=v=(L=We+Ye|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^or,1),v=(We=$)+Qo|0,v=dt+((Me=j+_n|0)>>>0<j>>>0?v+1|0:v)|0,de=Ke(de^(Me=Me+Ve|0),(v=Me>>>0<Ve>>>0?v+1|0:v)^Or,32),pt=Ve=$,Ve=v,Ye=j,v=pt+cr|0,v=(j=de+Wt|0)>>>0<de>>>0?v+1|0:v,Wt=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=di+(or=$)|0,v=((We=j+rr|0)>>>0<rr>>>0?v+1|0:v)+Ve|0,dt=pt,pt=v=(Ve=Me+We|0)>>>0<We>>>0?v+1|0:v,We=Ke(de^Ve,dt^v,48),pn=v=$,Me=v,de=Ke(Gr^kr,yr^An,1),cr=v=$,dt=re,v=v+Nr|0,v=Ne+((re=de+nn|0)>>>0<nn>>>0?v+1|0:v)|0,ut=v=(re=re+ut|0)>>>0<ut>>>0?v+1|0:v,bt=Ke(H^re,v^bt,32),v=(An=$)+dt|0,dt=L=bt+L|0,H=Ke(L^de,(H=cr)^(cr=L>>>0<bt>>>0?v+1|0:v),40),v=Oo+(kr=$)|0,v=ut+((L=H+Gt|0)>>>0<Gt>>>0?v+1|0:v)|0,Gr=L=L+re|0,Ne=v=L>>>0<re>>>0?v+1|0:v,re=v,v=ur+b|0,v=((de=Jt+h|0)>>>0<h>>>0?v+1|0:v)+re|0,ut=v=(re=L+de|0)>>>0<de>>>0?v+1|0:v,L=Ke(re^We,v^Me,32),v=(Jt=$)+xe|0,Me=Ke((de=L+Kt|0)^ui,(v=de>>>0<L>>>0?v+1|0:v)^ur,40),ur=v,v=ro+(Or=$)|0,v=ut+((yr=Me+kn|0)>>>0<kn>>>0?v+1|0:v)|0,v=(ut=re+yr|0)>>>0<re>>>0?v+1|0:v,re=Jt,Jt=v,re=Ke(L^ut,re^v,48),v=(v=ur)+(ur=$)|0,L=(de=re+de|0)^Me,Me=v=de>>>0<re>>>0?v+1|0:v,Or=v=Ke(L,v^Or,1),yr=L=$,hn=we,Yr=ee,ee=H,H=Ke(bt^Gr,Ne^An,48),v=(bt=$)+cr|0,cr=L=H+dt|0,dt=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^kr,1),v=(kr=$)+Ao|0,v=pt+((L=ee+ft|0)>>>0<ee>>>0?v+1|0:v)|0,Ve=v=(we=L+Ve|0)>>>0<Ve>>>0?v+1|0:v,L=Ke(we^Yr,v^Sr,32),v=(pt=$)+ke|0,Sr=v=(ke=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^ke,v^kr,40),v=Nr+(An=$)|0,kr=ee,v=Ve+((ee=nn+ee|0)>>>0<nn>>>0?v+1|0:v)|0,Ve=ee+we|0,ee=pt,pt=v=Ve>>>0<we>>>0?v+1|0:v,ee=Ke(L^Ve,ee^v,48),v=(v=Sr)+(Sr=$)|0,Gr=L=ee+ke|0,Ne=v=L>>>0<ee>>>0?v+1|0:v,we=Z,v=Ye+pn|0,Z=v=(L=We+Wt|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^or,1),v=Oo+(We=$)|0,v=it+((ke=j+Gt|0)>>>0<Gt>>>0?v+1|0:v)|0,ye=v=(ke=ke+ye|0)>>>0<ye>>>0?v+1|0:v,we=Ke(we^ke,v^vr,32),Wt=v=$,Ye=j,v=v+dt|0,v=(j=we+cr|0)>>>0<we>>>0?v+1|0:v,or=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=Ci+(cr=$)|0,v=ye+((We=j+Jr|0)>>>0<Jr>>>0?v+1|0:v)|0,v=(ye=ke+We|0)>>>0<ke>>>0?v+1|0:v,ke=Wt,Wt=v,We=Ke(we^ye,ke^v,48),pn=v=$,ke=v,we=Ke(nr^Kt,xe^Mn,1),dt=v=$,it=Z,v=v+fn|0,v=Cr+((Z=c+we|0)>>>0<c>>>0?v+1|0:v)|0,gr=v=(Z=Z+gr|0)>>>0<gr>>>0?v+1|0:v,bt=Ke(H^Z,v^bt,32),v=(Mn=$)+it|0,it=L=bt+L|0,H=Ke(L^we,(H=dt)^(dt=L>>>0<bt>>>0?v+1|0:v),40),v=Vi+(nr=$)|0,v=gr+((L=H+nt|0)>>>0<nt>>>0?v+1|0:v)|0,Kt=L=L+Z|0,xe=v=L>>>0<Z>>>0?v+1|0:v,Z=v,v=yr+zn|0,v=((we=Or+En|0)>>>0<En>>>0?v+1|0:v)+Z|0,gr=v=(Z=L+we|0)>>>0<we>>>0?v+1|0:v,L=Ke(Z^We,v^ke,32),v=(Cr=$)+Ne|0,ke=Ke((we=L+Gr|0)^Or,(v=we>>>0<L>>>0?v+1|0:v)^yr,40),Or=v,v=p+(vr=$)|0,v=gr+((yr=ke+mi|0)>>>0<mi>>>0?v+1|0:v)|0,v=(gr=Z+yr|0)>>>0<Z>>>0?v+1|0:v,Z=Cr,Cr=v,Z=Ke(L^gr,Z^v,48),v=(v=Or)+(Or=$)|0,L=(we=Z+we|0)^ke,ke=v=we>>>0<Z>>>0?v+1|0:v,vr=v=Ke(L,v^vr,1),yr=L=$,hn=de,Yr=ee,ee=H,H=Ke(bt^Kt,xe^Mn,48),v=(bt=$)+dt|0,dt=L=H+it|0,it=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^nr,1),v=(nr=$)+Bn|0,v=Wt+((L=ee+jr|0)>>>0<ee>>>0?v+1|0:v)|0,ye=v=(de=L+ye|0)>>>0<ye>>>0?v+1|0:v,L=Ke(de^Yr,v^Sr,32),v=(Wt=$)+Me|0,Sr=v=(Me=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^Me,v^nr,40),v=Qo+(Mn=$)|0,nr=ee,v=ye+((ee=_n+ee|0)>>>0<_n>>>0?v+1|0:v)|0,ye=ee+de|0,ee=Wt,Wt=v=ye>>>0<de>>>0?v+1|0:v,ee=Ke(L^ye,ee^v,48),v=(v=Sr)+(Sr=$)|0,Kt=L=ee+Me|0,xe=v=L>>>0<ee>>>0?v+1|0:v,de=re,v=Ye+pn|0,re=v=(L=We+or|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^cr,1),v=(We=$)+di|0,v=pt+((Me=j+rr|0)>>>0<j>>>0?v+1|0:v)|0,Ve=v=(Me=Me+Ve|0)>>>0<Ve>>>0?v+1|0:v,de=Ke(de^Me,v^ur,32),pt=v=$,Ye=j,v=v+it|0,v=(j=de+dt|0)>>>0<de>>>0?v+1|0:v,or=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=Kn+(cr=$)|0,v=Ve+((We=j+Nn|0)>>>0<Nn>>>0?v+1|0:v)|0,dt=pt,pt=v=(Ve=Me+We|0)>>>0<Me>>>0?v+1|0:v,We=Ke(de^Ve,dt^v,48),pn=v=$,Me=v,de=Ke(Gr^kr,Ne^An,1),dt=v=$,it=re,v=v+Mr|0,v=Jt+((re=de+rn|0)>>>0<rn>>>0?v+1|0:v)|0,ut=v=(re=re+ut|0)>>>0<ut>>>0?v+1|0:v,bt=Ke(H^re,v^bt,32),v=(An=$)+it|0,it=L=bt+L|0,H=Ke(L^de,(H=dt)^(dt=L>>>0<bt>>>0?v+1|0:v),40),v=xo+(kr=$)|0,v=ut+((L=H+Tn|0)>>>0<Tn>>>0?v+1|0:v)|0,Gr=L=L+re|0,Ne=v=L>>>0<re>>>0?v+1|0:v,re=v,v=yr+p|0,v=((de=vr+mi|0)>>>0<mi>>>0?v+1|0:v)+re|0,ut=v=(re=L+de|0)>>>0<de>>>0?v+1|0:v,L=Ke(re^We,v^Me,32),v=(Jt=$)+xe|0,Me=Ke((de=L+Kt|0)^vr,(v=de>>>0<L>>>0?v+1|0:v)^yr,40),ur=v,v=Oo+(vr=$)|0,v=ut+((yr=Me+Gt|0)>>>0<Gt>>>0?v+1|0:v)|0,v=(ut=re+yr|0)>>>0<re>>>0?v+1|0:v,re=Jt,Jt=v,re=Ke(L^ut,re^v,48),v=(v=ur)+(ur=$)|0,L=(de=re+de|0)^Me,Me=v=de>>>0<re>>>0?v+1|0:v,vr=v=Ke(L,v^vr,1),yr=L=$,hn=we,Yr=ee,ee=H,H=Ke(bt^Gr,Ne^An,48),v=(bt=$)+dt|0,dt=L=H+it|0,it=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^kr,1),v=(kr=$)+Mr|0,v=pt+((L=ee+rn|0)>>>0<ee>>>0?v+1|0:v)|0,Ve=v=(we=L+Ve|0)>>>0<Ve>>>0?v+1|0:v,L=Ke(we^Yr,v^Sr,32),v=(pt=$)+ke|0,Sr=v=(ke=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^ke,v^kr,40),v=Kn+(An=$)|0,kr=ee,v=Ve+((ee=Nn+ee|0)>>>0<Nn>>>0?v+1|0:v)|0,Ve=ee+we|0,ee=pt,pt=v=Ve>>>0<we>>>0?v+1|0:v,ee=Ke(L^Ve,ee^v,48),v=(v=Sr)+(Sr=$)|0,Gr=L=ee+ke|0,Ne=v=L>>>0<ee>>>0?v+1|0:v,we=Z,v=Ye+pn|0,Z=v=(L=We+or|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^cr,1),v=di+(We=$)|0,v=Wt+((ke=j+rr|0)>>>0<rr>>>0?v+1|0:v)|0,ye=v=(ke=ke+ye|0)>>>0<ye>>>0?v+1|0:v,we=Ke(we^ke,v^Or,32),Wt=v=$,Ye=j,v=v+it|0,v=(j=we+dt|0)>>>0<we>>>0?v+1|0:v,or=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=Qo+(cr=$)|0,v=ye+((We=j+_n|0)>>>0<_n>>>0?v+1|0:v)|0,v=(ye=ke+We|0)>>>0<ke>>>0?v+1|0:v,ke=Wt,Wt=v,We=Ke(we^ye,ke^v,48),pn=v=$,ke=v,we=Ke(nr^Kt,xe^Mn,1),dt=v=$,it=Z,v=v+Nr|0,v=Cr+((Z=we+nn|0)>>>0<nn>>>0?v+1|0:v)|0,gr=v=(Z=Z+gr|0)>>>0<gr>>>0?v+1|0:v,bt=Ke(H^Z,v^bt,32),v=(Mn=$)+it|0,it=L=bt+L|0,H=Ke(L^we,(H=dt)^(dt=L>>>0<bt>>>0?v+1|0:v),40),v=xo+(nr=$)|0,v=gr+((L=H+Tn|0)>>>0<Tn>>>0?v+1|0:v)|0,Kt=L=L+Z|0,xe=v=L>>>0<Z>>>0?v+1|0:v,Z=v,v=yr+Vi|0,v=((we=vr+nt|0)>>>0<nt>>>0?v+1|0:v)+Z|0,gr=v=(Z=L+we|0)>>>0<we>>>0?v+1|0:v,L=Ke(Z^We,v^ke,32),v=(Cr=$)+Ne|0,ke=Ke((we=L+Gr|0)^vr,(v=we>>>0<L>>>0?v+1|0:v)^yr,40),Or=v,v=fn+(vr=$)|0,v=gr+((yr=c+ke|0)>>>0<c>>>0?v+1|0:v)|0,v=(gr=Z+yr|0)>>>0<Z>>>0?v+1|0:v,Z=Cr,Cr=v,Z=Ke(L^gr,Z^v,48),v=(v=Or)+(Or=$)|0,L=(we=Z+we|0)^ke,ke=v=we>>>0<Z>>>0?v+1|0:v,vr=v=Ke(L,v^vr,1),yr=L=$,hn=de,Yr=ee,ee=H,H=Ke(bt^Kt,xe^Mn,48),v=(bt=$)+dt|0,dt=L=H+it|0,it=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^nr,1),v=(nr=$)+Ci|0,v=Wt+((L=ee+Jr|0)>>>0<ee>>>0?v+1|0:v)|0,ye=v=(de=L+ye|0)>>>0<ye>>>0?v+1|0:v,L=Ke(de^Yr,v^Sr,32),v=(Wt=$)+Me|0,Sr=v=(Me=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^Me,v^nr,40),v=b+(Mn=$)|0,nr=ee,v=ye+((ee=h+ee|0)>>>0<h>>>0?v+1|0:v)|0,ye=ee+de|0,ee=Wt,Wt=v=ye>>>0<de>>>0?v+1|0:v,ee=Ke(L^ye,ee^v,48),v=(v=Sr)+(Sr=$)|0,Kt=L=ee+Me|0,xe=v=L>>>0<ee>>>0?v+1|0:v,de=re,v=Ye+pn|0,re=v=(L=We+or|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^cr,1),v=(We=$)+zn|0,v=pt+((Me=j+En|0)>>>0<j>>>0?v+1|0:v)|0,Ve=v=(Me=Me+Ve|0)>>>0<Ve>>>0?v+1|0:v,de=Ke(de^Me,v^ur,32),pt=v=$,Ye=j,v=v+it|0,v=(j=de+dt|0)>>>0<de>>>0?v+1|0:v,or=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=Ao+(cr=$)|0,v=Ve+((We=j+ft|0)>>>0<ft>>>0?v+1|0:v)|0,dt=pt,pt=v=(Ve=Me+We|0)>>>0<Me>>>0?v+1|0:v,We=Ke(de^Ve,dt^v,48),pn=v=$,Me=v,de=Ke(Gr^kr,Ne^An,1),dt=v=$,it=re,v=v+ro|0,v=Jt+((re=de+kn|0)>>>0<kn>>>0?v+1|0:v)|0,ut=v=(re=re+ut|0)>>>0<ut>>>0?v+1|0:v,bt=Ke(H^re,v^bt,32),v=(An=$)+it|0,it=L=bt+L|0,H=Ke(L^de,(H=dt)^(dt=L>>>0<bt>>>0?v+1|0:v),40),v=Bn+(kr=$)|0,v=ut+((L=H+jr|0)>>>0<jr>>>0?v+1|0:v)|0,Gr=L=L+re|0,Ne=v=L>>>0<re>>>0?v+1|0:v,re=v,v=yr+xo|0,v=((de=vr+Tn|0)>>>0<Tn>>>0?v+1|0:v)+re|0,ut=v=(re=L+de|0)>>>0<de>>>0?v+1|0:v,L=Ke(re^We,v^Me,32),v=(Jt=$)+xe|0,Me=Ke((de=L+Kt|0)^vr,(v=de>>>0<L>>>0?v+1|0:v)^yr,40),ur=v,v=Kn+(vr=$)|0,v=ut+((yr=Me+Nn|0)>>>0<Nn>>>0?v+1|0:v)|0,v=(ut=re+yr|0)>>>0<re>>>0?v+1|0:v,re=Jt,Jt=v,re=Ke(L^ut,re^v,48),v=(v=ur)+(ur=$)|0,L=(de=re+de|0)^Me,Me=v=de>>>0<re>>>0?v+1|0:v,vr=v=Ke(L,v^vr,1),yr=L=$,hn=we,Yr=ee,ee=H,H=Ke(bt^Gr,Ne^An,48),v=(bt=$)+dt|0,dt=L=H+it|0,it=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^kr,1),v=(kr=$)+Oo|0,v=pt+((L=ee+Gt|0)>>>0<ee>>>0?v+1|0:v)|0,Ve=v=(we=L+Ve|0)>>>0<Ve>>>0?v+1|0:v,L=Ke(we^Yr,v^Sr,32),v=(pt=$)+ke|0,Sr=v=(ke=L+hn|0)>>>0<L>>>0?v+1|0:v,ee=Ke(ee^ke,v^kr,40),v=p+(An=$)|0,kr=ee,v=Ve+((ee=mi+ee|0)>>>0<mi>>>0?v+1|0:v)|0,Ve=ee+we|0,ee=pt,pt=v=Ve>>>0<we>>>0?v+1|0:v,ee=Ke(L^Ve,ee^v,48),v=(v=Sr)+(Sr=$)|0,Gr=L=ee+ke|0,Ne=v=L>>>0<ee>>>0?v+1|0:v,we=Z,v=Ye+pn|0,Z=v=(L=We+or|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^cr,1),v=Ao+(We=$)|0,v=Wt+((ke=j+ft|0)>>>0<ft>>>0?v+1|0:v)|0,ye=v=(ke=ke+ye|0)>>>0<ye>>>0?v+1|0:v,we=Ke(we^ke,v^Or,32),Wt=v=$,Ye=j,v=v+it|0,v=(j=we+dt|0)>>>0<we>>>0?v+1|0:v,or=j,j^=Ye,Ye=v,j=Ke(j,v^We,40),v=Mr+(cr=$)|0,v=ye+((We=j+rn|0)>>>0<rn>>>0?v+1|0:v)|0,v=(ye=ke+We|0)>>>0<ke>>>0?v+1|0:v,ke=Wt,Wt=v,We=Ke(we^ye,ke^v,48),pn=v=$,ke=v,we=Ke(nr^Kt,xe^Mn,1),dt=v=$,it=Z,v=v+Qo|0,v=Cr+((Z=we+_n|0)>>>0<_n>>>0?v+1|0:v)|0,gr=v=(Z=Z+gr|0)>>>0<gr>>>0?v+1|0:v,bt=Ke(H^Z,v^bt,32),v=(Mn=$)+it|0,it=L=bt+L|0,H=Ke(L^we,(H=dt)^(dt=L>>>0<bt>>>0?v+1|0:v),40),v=ro+(nr=$)|0,v=gr+((L=H+kn|0)>>>0<kn>>>0?v+1|0:v)|0,Kt=L=L+Z|0,xe=v=L>>>0<Z>>>0?v+1|0:v,Z=v,v=yr+di|0,v=((we=vr+rr|0)>>>0<rr>>>0?v+1|0:v)+Z|0,gr=v=(Z=L+we|0)>>>0<we>>>0?v+1|0:v,L=Ke(Z^We,v^ke,32),v=(Cr=$)+Ne|0,ke=Ke((we=L+Gr|0)^vr,(v=we>>>0<L>>>0?v+1|0:v)^yr,40),Or=v,v=b+(vr=$)|0,v=gr+((yr=ke+h|0)>>>0<h>>>0?v+1|0:v)|0,v=(gr=Z+yr|0)>>>0<Z>>>0?v+1|0:v,Z=Cr,Cr=v,Z=Ke(L^gr,Z^v,48),v=(v=Or)+(Or=$)|0,L=(we=Z+we|0)^ke,ke=v=we>>>0<Z>>>0?v+1|0:v,vr=v=Ke(L,v^vr,1),yr=L=$,hn=de,Yr=ee,ee=H,H=Ke(bt^Kt,xe^Mn,48),v=(bt=$)+dt|0,dt=L=H+it|0,it=v=L>>>0<H>>>0?v+1|0:v,ee=Ke(L^ee,v^nr,1),v=(Kt=$)+Nr|0,v=Wt+((L=ee+nn|0)>>>0<ee>>>0?v+1|0:v)|0,ye=v=(de=L+ye|0)>>>0<ye>>>0?v+1|0:v,L=Ke(de^Yr,v^Sr,32),v=(Wt=$)+Me|0,Sr=Me=L+hn|0,nr=v=Me>>>0<L>>>0?v+1|0:v,ee=Ke(ee^Me,v^Kt,40),v=Vi+(hn=$)|0,Kt=ee,v=ye+((ee=nt+ee|0)>>>0<nt>>>0?v+1|0:v)|0,Me=ee+de|0,ee=Wt,Wt=v=Me>>>0<de>>>0?v+1|0:v,ee=Ke(L^Me,ee^v,48),v=(v=nr)+(nr=$)|0,Sr=L=ee+Sr|0,xe=v=L>>>0<ee>>>0?v+1|0:v,de=re,v=Ye+pn|0,re=v=(L=We+or|0)>>>0<We>>>0?v+1|0:v,j=Ke(L^j,v^cr,1),v=(We=$)+fn|0,v=pt+((ye=c+j|0)>>>0<j>>>0?v+1|0:v)|0,Ve=v=(ye=ye+Ve|0)>>>0<Ve>>>0?v+1|0:v,pt=de=Ke(de^ye,v^ur,32),Ye=v=$,or=j,v=v+it|0,v=(j=de+dt|0)>>>0<de>>>0?v+1|0:v,cr=j,j^=or,or=v,j=Ke(j,v^We,40),v=Ci+(dt=$)|0,v=Ve+((de=j+Jr|0)>>>0<Jr>>>0?v+1|0:v)|0,it=(de=de+ye|0)^pt,pt=v=de>>>0<ye>>>0?v+1|0:v,ye=Ke(it,v^Ye,48),ur=v=$,We=v,Ye=Ve=Ke(Gr^kr,Ne^An,1),it=v=$,kr=re,v=v+Bn|0,v=Jt+((re=Ve+jr|0)>>>0<jr>>>0?v+1|0:v)|0,v=(re=re+ut|0)>>>0<ut>>>0?v+1|0:v,ut=bt,bt=v,Ve=Ke(H^re,ut^v,32),v=(Yr=$)+kr|0,ut=L=Ve+L|0,H=Ke(H=L^Ye,(Ye=L>>>0<Ve>>>0?v+1|0:v)^it,40),v=zn+(it=$)|0,v=bt+((L=H+En|0)>>>0<En>>>0?v+1|0:v)|0,bt=L=L+re|0,kr=v=L>>>0<re>>>0?v+1|0:v,re=v,v=yr+Vi|0,v=((Jt=nt)>>>0>(nt=vr+nt|0)>>>0?v+1|0:v)+re|0,Vi=v=(L=L+nt|0)>>>0<nt>>>0?v+1|0:v,nt=Ke(L^ye,v^We,32),v=(Gr=$)+xe|0,We=Ke((re=Sr+nt|0)^vr,(v=re>>>0<nt>>>0?v+1|0:v)^yr,40),Jt=v,v=Ci+(Ne=$)|0,v=Vi+((vr=Jr)>>>0>(Jr=We+Jr|0)>>>0?v+1|0:v)|0,v=(Jr=L+Jr|0)>>>0<L>>>0?v+1|0:v,L=nt^Jr,nt=v,Ci=Ke(L,v^Gr,48),v=(Vi=$)+Jt|0,re=v=(L=re+Ci|0)>>>0<Ci>>>0?v+1|0:v,v=Ke(L^We,v^Ne,1),We=$,Gr=v,Ne=we,we=En,Jt=zn,zn=Ke(Ve^bt,kr^Yr,48),v=(Ve=$)+Ye|0,Ye=we,ut=v=(En=ut+zn|0)>>>0<zn>>>0?v+1|0:v,we=Ke(H^(bt=En),v^it,1),v=(it=$)+Jt|0,v=pt+(we>>>0>(En=Ye+we|0)>>>0?v+1|0:v)|0,H=v=(En=de+En|0)>>>0<de>>>0?v+1|0:v,ee=Ke(ee^En,v^nr,32),v=(v=ke)+(ke=$)|0,pt=de=ee+Ne|0,Ye=v=de>>>0<ee>>>0?v+1|0:v,de=Ke(de^we,v^it,40),v=(it=$)+Oo|0,v=(de>>>0>(Gt=de+Gt|0)>>>0?v+1|0:v)+H|0,H=v=(H=Gt)>>>0>(Gt=En+Gt|0)>>>0?v+1|0:v,ee=Ke(ee^Gt,v^ke,48),v=(we=$)+Ye|0,ke=En=ee+pt|0,Oo=v=En>>>0<ee>>>0?v+1|0:v,pt=c,Ye=fn,v=or+ur|0,En=v=(c=ye+cr|0)>>>0<ye>>>0?v+1|0:v,fn=Ke(c^j,v^dt,1),v=(ye=$)+Ye|0,v=Wt+((j=pt+fn|0)>>>0<fn>>>0?v+1|0:v)|0,Z=Ke((j=j+Me|0)^Z,(v=j>>>0<Me>>>0?v+1|0:v)^Or,32),pt=v,Wt=rr,rr=fn,v=(Me=$)+ut|0,ut=ye,ye=v=(fn=Z+bt|0)>>>0<Z>>>0?v+1|0:v,rr=Ke(fn^rr,ut^v,40),v=(bt=$)+di|0,v=((di=Wt+rr|0)>>>0<rr>>>0?v+1|0:v)+pt|0,pt=di,j=Z^(di=j+di|0),Z=v=pt>>>0>di>>>0?v+1|0:v,v=Ke(j,v^Me,48),or=j=$,Me=v,ut=nn,pt=Nr,nn=Ke(Sr^Kt,xe^hn,1),Ye=v=$,v=v+xo|0,v=Cr+((nn=(Wt=nn)+Tn|0)>>>0<Tn>>>0?v+1|0:v)|0,Tn=v=(nn=gr+nn|0)>>>0<gr>>>0?v+1|0:v,Nr=Ke(nn^zn,v^Ve,32),v=(gr=$)+En|0,En=c=Nr+c|0,zn=Ke(c^Wt,(Ve=c>>>0<Nr>>>0?v+1|0:v)^Ye,40),v=(v=pt)+(pt=$)|0,v=Tn+((c=zn+ut|0)>>>0<zn>>>0?v+1|0:v)|0,Tn=c=c+nn|0,xo=v=c>>>0<nn>>>0?v+1|0:v,nn=v,v=We+Ao|0,v=((Wt=ft)>>>0>(ft=Gr+ft|0)>>>0?v+1|0:v)+nn|0,Ao=v=(nn=c+ft|0)>>>0<ft>>>0?v+1|0:v,ft=Ke(Me^nn,v^j,32),v=(Wt=$)+Oo|0,j=c=ft+ke|0,c=Ke(c^Gr,(ut=We)^(We=c>>>0<ft>>>0?v+1|0:v),40),v=Qo+(Ye=$)|0,Qo=c,v=Ao+((c=_n+c|0)>>>0<_n>>>0?v+1|0:v)|0,v=(c=c+nn|0)>>>0<nn>>>0?v+1|0:v,Ao=c,cr=(S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24)^c,ut=v,dt=v^(S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24),nn=Ke(Nr^Tn,gr^xo,48),v=(Tn=$)+Ve|0,Ve=c=nn+En|0,xo=v=c>>>0<nn>>>0?v+1|0:v,Nr=Nn,v=ye+or|0,Nn=v=(c=Me+fn|0)>>>0<fn>>>0?v+1|0:v,rr=Ke(c^rr,v^bt,1),v=(Me=$)+Kn|0,v=((Nr=rr+Nr|0)>>>0<rr>>>0?v+1|0:v)+H|0,Nr=v=(Kn=Nr+Gt|0)>>>0<Nr>>>0?v+1|0:v,En=Ke(Kn^Ci,v^Vi,32),v=(fn=$)+xo|0,Gt=v=(_n=En+Ve|0)>>>0<En>>>0?v+1|0:v,Ci=En,En=Ke(rr^_n,v^Me,40),v=(H=$)+ro|0,v=(En>>>0>(rr=En+kn|0)>>>0?v+1|0:v)+Nr|0,ye=fn,fn=v=(Kn=rr+Kn|0)>>>0<rr>>>0?v+1|0:v,rr=Ke(Ci^(kn=Kn),ye^v,48),v=(Me=$)+Gt|0,v=(Nr=rr+_n|0)>>>0<rr>>>0?v+1|0:v,_n=Nr,Nr^=cr,k[f+8|0]=Nr,k[f+9|0]=Nr>>>8,k[f+10|0]=Nr>>>16,k[f+11|0]=Nr>>>24,Gt=v,v^=dt,k[f+12|0]=v,k[f+13|0]=v>>>8,k[f+14|0]=v>>>16,k[f+15|0]=v>>>24,Kn=c,Nr=Nn,c=nn,nn=Ke(de^ke,it^Oo,1),v=(ro=$)+b|0,v=(nn>>>0>(Nn=nn+h|0)>>>0?v+1|0:v)+nt|0,Jr=v=(ke=Nn)>>>0>(Nn=Jr+Nn|0)>>>0?v+1|0:v,c=Ke(c^Nn,v^Tn,32),v=(v=Nr)+(Nr=$)|0,Tn=v=(Kn=c+Kn|0)>>>0<c>>>0?v+1|0:v,Ci=c,Kn=Ke(nn^(nt=Kn),v^ro,40),v=(de=$)+p|0,v=Jr+((c=Kn+mi|0)>>>0<Kn>>>0?v+1|0:v)|0,v=(c=c+Nn|0)>>>0<Nn>>>0?v+1|0:v,Jr=c,c^=Ci,Ci=v,Nn=Ke(c,v^Nr,48),v=(ke=$)+Tn|0,nt=c=Nn+nt|0,Tn=c>>>0<Nn>>>0?v+1|0:v,zn=c=Ke(Ve^zn,pt^xo,1),ro=v=$,v=v+Mr|0,v=Z+((c=c+rn|0)>>>0<rn>>>0?v+1|0:v)|0,Mr=v=(nn=c+di|0)>>>0<di>>>0?v+1|0:v,c=(Nr=Ke(ee^nn,v^we,32))+L|0,v=(L=$)+re|0,di=c,c=(rn=Ke(Z=c^zn,(zn=c>>>0<Nr>>>0?v+1|0:v)^ro,40))+jr|0,v=(jr=$)+Bn|0,v=Mr+(c>>>0<rn>>>0?v+1|0:v)|0,v=(Mr=c+nn|0)>>>0<nn>>>0?v+1|0:v,nn=Mr^ss^nt,k[0|(c=f)]=nn,k[c+1|0]=nn>>>8,k[c+2|0]=nn>>>16,k[c+3|0]=nn>>>24,nn=v^B^Tn,k[c+4|0]=nn,k[c+5|0]=nn>>>8,k[c+6|0]=nn>>>16,k[c+7|0]=nn>>>24,nn=(Nr=Ke(Mr^Nr,v^L,48))+di|0,v=(di=$)+zn|0,v=(zn=nn>>>0<Nr>>>0?v+1|0:v)^(S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24)^Ci,Mr=(S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24)^Jr^nn,k[c+16|0]=Mr,k[c+17|0]=Mr>>>8,k[c+18|0]=Mr>>>16,k[c+19|0]=Mr>>>24,k[c+20|0]=v,k[c+21|0]=v>>>8,k[c+22|0]=v>>>16,k[c+23|0]=v>>>24,c=Ke(ft^Ao,ut^Wt,48),Mr=$,Jr=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,v=(S[f+32|0]|S[f+33|0]<<8|S[f+34|0]<<16|S[f+35|0]<<24)^Ke(En^_n,H^Gt,1)^c,k[f+32|0]=v,k[f+33|0]=v>>>8,k[f+34|0]=v>>>16,k[f+35|0]=v>>>24,v=$^Jr^Mr,k[f+36|0]=v,k[f+37|0]=v>>>8,k[f+38|0]=v>>>16,k[f+39|0]=v>>>24,v=We+Mr|0,v=(Jr=c+j|0)>>>0<c>>>0?v+1|0:v,En=(S[(c=f)+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24)^fn^v,Mr=(S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24)^kn^Jr,k[c+24|0]=Mr,k[c+25|0]=Mr>>>8,k[c+26|0]=Mr>>>16,k[c+27|0]=Mr>>>24,k[c+28|0]=En,k[c+29|0]=En>>>8,k[c+30|0]=En>>>16,k[c+31|0]=En>>>24,En=S[c+44|0]|S[c+45|0]<<8|S[c+46|0]<<16|S[c+47|0]<<24,c=Nn^(S[c+40|0]|S[c+41|0]<<8|S[c+42|0]<<16|S[c+43|0]<<24)^Ke(nn^rn,jr^zn,1),k[f+40|0]=c,k[f+41|0]=c>>>8,k[f+42|0]=c>>>16,k[f+43|0]=c>>>24,c=ke^$^En,k[f+44|0]=c,k[f+45|0]=c>>>8,k[f+46|0]=c>>>16,k[f+47|0]=c>>>24,nn=S[f+60|0]|S[f+61|0]<<8|S[f+62|0]<<16|S[f+63|0]<<24,c=Nr^(S[f+56|0]|S[f+57|0]<<8|S[f+58|0]<<16|S[f+59|0]<<24)^Ke(nt^Kn,de^Tn,1),k[f+56|0]=c,k[f+57|0]=c>>>8,k[f+58|0]=c>>>16,k[f+59|0]=c>>>24,c=di^$^nn,k[f+60|0]=c,k[f+61|0]=c>>>8,k[f+62|0]=c>>>16,k[f+63|0]=c>>>24,nn=S[f+52|0]|S[f+53|0]<<8|S[f+54|0]<<16|S[f+55|0]<<24,c=rr^(S[f+48|0]|S[f+49|0]<<8|S[f+50|0]<<16|S[f+51|0]<<24)^Ke(Jr^Qo,v^Ye,1),k[f+48|0]=c,k[f+49|0]=c>>>8,k[f+50|0]=c>>>16,k[f+51|0]=c>>>24,c=Me^$^nn,k[f+52|0]=c,k[f+53|0]=c>>>8,k[f+54|0]=c>>>16,k[f+55|0]=c>>>24}function en(f,c,h,p,b,B,Q){var v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr,Kt,or,Or,kr,Jt,ur,Mr,Gr,jr,nn,fn,Ne,xe,nt,Cr,Yr,An,hn,pn,En,Mn,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0,mi=0,Ci=0,Vi=0,Yi=0,ro=0,Ao=0,Oo=0,xo=0,Qo=0,Yo=0,ss=0,zc=0,Ou=0,Xu=0,U0=0,td=0,F0=0,Yf=0,Of=0,Fl=0,gp=0,_p=0,mp=0,O1=0,N1=0,rm=0,FH=0,QH=0,HH=0,GH=0,qH=0;return Ie=H=Ie-560|0,qi(Gt=H+352|0),Q&&L0(Gt,35600,34,0),ci(H+288|0,B,32,0),L0(rn=H+352|0,H+320|0,32,0),L0(rn,h,p,b),Ah(rn,Tn=H+224|0),Nn=S[(ft=B)+32|0]|S[ft+33|0]<<8|S[ft+34|0]<<16|S[ft+35|0]<<24,kn=S[ft+36|0]|S[ft+37|0]<<8|S[ft+38|0]<<16|S[ft+39|0]<<24,rr=S[ft+40|0]|S[ft+41|0]<<8|S[ft+42|0]<<16|S[ft+43|0]<<24,Nr=S[ft+44|0]|S[ft+45|0]<<8|S[ft+46|0]<<16|S[ft+47|0]<<24,Gt=S[ft+48|0]|S[ft+49|0]<<8|S[ft+50|0]<<16|S[ft+51|0]<<24,B=S[ft+52|0]|S[ft+53|0]<<8|S[ft+54|0]<<16|S[ft+55|0]<<24,Jr=S[ft+60|0]|S[ft+61|0]<<8|S[ft+62|0]<<16|S[ft+63|0]<<24,ft=S[ft+56|0]|S[ft+57|0]<<8|S[ft+58|0]<<16|S[ft+59|0]<<24,k[f+56|0]=ft,k[f+57|0]=ft>>>8,k[f+58|0]=ft>>>16,k[f+59|0]=ft>>>24,k[f+60|0]=Jr,k[f+61|0]=Jr>>>8,k[f+62|0]=Jr>>>16,k[f+63|0]=Jr>>>24,k[f+48|0]=Gt,k[f+49|0]=Gt>>>8,k[f+50|0]=Gt>>>16,k[f+51|0]=Gt>>>24,k[f+52|0]=B,k[f+53|0]=B>>>8,k[f+54|0]=B>>>16,k[f+55|0]=B>>>24,k[f+40|0]=rr,k[f+41|0]=rr>>>8,k[f+42|0]=rr>>>16,k[f+43|0]=rr>>>24,k[f+44|0]=Nr,k[f+45|0]=Nr>>>8,k[f+46|0]=Nr>>>16,k[f+47|0]=Nr>>>24,k[0|(B=f+32|0)]=Nn,k[B+1|0]=Nn>>>8,k[B+2|0]=Nn>>>16,k[B+3|0]=Nn>>>24,k[B+4|0]=kn,k[B+5|0]=kn>>>8,k[B+6|0]=kn>>>16,k[B+7|0]=kn>>>24,ho(Tn),qS(H,Tn),VS(f,H),qi(rn),Q&&L0(rn,35600,34,0),L0(Q=H+352|0,f,64,0),L0(Q,h,p,b),Ah(Q,_n=H+160|0),ho(_n),k[H+288|0]=248&S[H+288|0],k[H+319|0]=63&S[H+319|0]|64,h=S[23+(f=L=H+288|0)|0],rr=Ce(j=S[f+21|0]|S[f+22|0]<<8|h<<16&2031616,0,re=(S[_n+28|0]|S[_n+29|0]<<8|S[_n+30|0]<<16|S[_n+31|0]<<24)>>>7|0,0),Gt=$,h=(f=S[_n+27|0])>>>24|0,b=f<<8|(Nr=S[_n+23|0]|S[_n+24|0]<<8|S[_n+25|0]<<16|S[_n+26|0]<<24)>>>24,f=Ce(Z=2097151&((3&(kn=(f=(p=S[_n+28|0])>>>16|0)|h))<<30|(h=(p<<=16)|b)>>>2),0,ee=(Q=S[L+23|0]|S[L+24|0]<<8|S[L+25|0]<<16|S[L+26|0]<<24)>>>5&2097151,0),h=$+Gt|0,p=f>>>0>(b=f+rr|0)>>>0?h+1|0:h,f=Ce(de=(h=S[_n+23|0])<<16&2031616|S[_n+21|0]|S[_n+22|0]<<8,0,we=(S[L+28|0]|S[L+29|0]<<8|S[L+30|0]<<16|S[L+31|0]<<24)>>>7|0,0),p=$+p|0,Gt=h=f+b|0,b=f>>>0>h>>>0?p+1|0:p,p=(f=S[L+27|0])>>>24|0,Q=f<<8|Q>>>24,f=Ce(ke=2097151&((3&(p|=h=(f=S[L+28|0])>>>16|0))<<30|(h=(f<<=16)|Q)>>>2),0,ye=Nr>>>5&2097151,0),h=$+b|0,ft=p=f+Gt|0,b=f>>>0>p>>>0?h+1|0:h,Nr=Ce(ee,0,ye,0),Gt=$,h=(f=S[L+19|0])>>>24|0,Q=f<<8|(Vi=S[L+15|0]|S[L+16|0]<<8|S[L+17|0]<<16|S[L+18|0]<<24)>>>24,p=h,h=Ce(Me=(7&(p|=h=(f=S[L+20|0])>>>16|0))<<29|(h=(f<<=16)|Q)>>>3,kn=p>>>3|0,re,0),f=$+Gt|0,f=h>>>0>(p=h+Nr|0)>>>0?f+1|0:f,Q=(h=Ce(j,0,Z,0))+p|0,p=$+f|0,h=h>>>0>(Nr=Q)>>>0?p+1|0:p,p=(f=S[_n+19|0])>>>24|0,Gt=f<<8|(di=S[_n+15|0]|S[_n+16|0]<<8|S[_n+17|0]<<16|S[_n+18|0]<<24)>>>24,f=Ce(Ve=(7&(rr=(f=(Q=S[_n+20|0])>>>16|0)|p))<<29|(p=(Q<<=16)|Gt)>>>3,We=rr>>>3|0,we,0),h=$+h|0,h=f>>>0>(p=f+Nr|0)>>>0?h+1|0:h,f=Ce(de,0,ke,0),h=$+h|0,Nn=h=f>>>0>(Tn=f+p|0)>>>0?h+1|0:h,Kn=f=h-((Tn>>>0<4293918720)-1|0)|0,p=(h=f>>>21|0)+b|0,Nr=p=(f=(2097151&f)<<11|(rr=Tn- -1048576|0)>>>21)>>>0>(ft=f+ft|0)>>>0?p+1|0:p,ui=f=p-((ft>>>0<4293918720)-1|0)|0,Jr=(2097151&f)<<11|(Gt=ft- -1048576|0)>>>21,Q=f>>>21|0,f=Ce(we,0,ye,0),h=$,p=f,f=Ce(re,0,ee,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,zn=(f=p)+(p=Ce(Z,0,ke,0))|0,f=$+h|0,f=p>>>0>zn>>>0?f+1|0:f,rn=zn-(h=-2097152&(p=zn- -1048576|0))|0,h=(f-((131071&(b=f-((zn>>>0<4293918720)-1|0)|0))+(h>>>0>zn>>>0)|0)|0)+Q|0,or=h=(f=Jr+rn|0)>>>0<rn>>>0?h+1|0:h,Or=f,rn=Ce(f,h,470296,0),Jr=$,h=Ce(re,0,ke,0),f=$,Q=h,h=Ce(Z,0,we,0),f=$+f|0,h=h>>>0>(Q=Q+h|0)>>>0?f+1|0:f,f=b>>>21|0,b=(2097151&b)<<11|p>>>21,p=f+h|0,Oo=b=(p=b>>>0>(Q=b+Q|0)>>>0?p+1|0:p)-((Q>>>0<4293918720)-1|0)|0,f=Q-(h=-2097152&(Ao=Q- -1048576|0))|0,kr=Q=p-((131071&b)+(h>>>0>Q>>>0)|0)|0,Jt=h=ft-(p=-2097152&Gt)|0,ur=b=Nr-((p>>>0>ft>>>0)+ui|0)|0,Mr=f,p=Ce(f,Q,666643,0),f=$+Jr|0,f=p>>>0>(Q=p+rn|0)>>>0?f+1|0:f,p=Ce(h,b,654183,0),h=$+f|0,Bn=b=p+Q|0,Gt=p>>>0>b>>>0?h+1|0:h,zn=Tn-(f=-2097152&rr)|0,Kn=Nn-((f>>>0>Tn>>>0)+Kn|0)|0,h=Ce(Z,0,Me,kn),p=$,b=(f=h)+(h=Ce(ut=Vi>>>6&2097151,0,re,0))|0,f=$+p|0,f=h>>>0>b>>>0?f+1|0:f,h=Ce(ee,0,de,0),p=$+f|0,p=h>>>0>(b=h+b|0)>>>0?p+1|0:p,f=Ce(j,0,ye,0),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,p=Ce(we,0,pt=di>>>6&2097151,0),f=$+h|0,f=p>>>0>(b=p+b|0)>>>0?f+1|0:f,p=Ce(ke,0,Ve,We),h=$+f|0,Tn=b=p+b|0,Q=p>>>0>b>>>0?h+1|0:h,h=(f=S[L+14|0])>>>24|0,b=f<<8|(Nn=S[L+10|0]|S[L+11|0]<<8|S[L+12|0]<<16|S[L+13|0]<<24)>>>24,h=Ce(bt=2097151&((1&(h|=f=(p=S[L+15|0])>>>16|0))<<31|(f=(p<<=16)|b)>>>1),0,re,0),f=$,p=h,h=Ce(Z,0,ut,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=Ce(ye,0,Me,kn))+p|0,p=$+f|0,p=h>>>0>b>>>0?p+1|0:p,f=Ce(ee,0,Ve,We),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,f=Ce(j,0,de,0),h=$+h|0,rr=p=f+b|0,b=f>>>0>p>>>0?h+1|0:h,h=(f=S[_n+14|0])>>>24|0,Nr=f<<8|(ft=S[_n+10|0]|S[_n+11|0]<<8|S[_n+12|0]<<16|S[_n+13|0]<<24)>>>24,p=h,h=(f=S[_n+15|0])>>>16|0,h=Ce(Ye=2097151&((1&(h|=p))<<31|(f=f<<16|Nr)>>>1),0,we,0),f=$+b|0,f=h>>>0>(p=h+rr|0)>>>0?f+1|0:f,h=Ce(ke,0,pt,0),f=$+f|0,Nr=f=h>>>0>(rr=h+p|0)>>>0?f+1|0:f,xo=h=f-((rr>>>0<4293918720)-1|0)|0,p=(f=h>>>21|0)+Q|0,Jr=p=(h=(2097151&h)<<11|(rn=rr- -1048576|0)>>>21)>>>0>(ui=h+Tn|0)>>>0?p+1|0:p,Yi=h=p-((ui>>>0<4293918720)-1|0)|0,f=(f=h>>>21|0)+Kn|0,Gr=f=(h=(p=(2097151&h)<<11|(Tn=ui- -1048576|0)>>>21)+zn|0)>>>0<p>>>0?f+1|0:f,jr=h,f=Ce(h,f,-997805,-1),h=$+Gt|0,Bn=p=f+Bn|0,Gt=f>>>0>p>>>0?h+1|0:h,zn=(ss=S[23+(v=H+224|0)|0]|S[v+24|0]<<8|S[v+25|0]<<16|S[v+26|0]<<24)>>>5&2097151,p=Ce(it=(f=S[L+2|0])<<16&2031616|S[0|L]|S[L+1|0]<<8,0,ye,0),h=$,b=(f=Ce(de,0,dt=(Q=S[L+2|0]|S[L+3|0]<<8|S[L+4|0]<<16|S[L+5|0]<<24)>>>5&2097151,0))+p|0,p=$+h|0,p=f>>>0>b>>>0?p+1|0:p,f=Ce(Wt=(S[L+7|0]|S[L+8|0]<<8|S[L+9|0]<<16|S[L+10|0]<<24)>>>7&2097151,0,pt,0),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,p=Ce(Ye,0,nr=Nn>>>4&2097151,0),f=$+h|0,Nn=b=p+b|0,b=p>>>0>b>>>0?f+1|0:f,Q=(h=S[L+6|0])<<8|Q>>>24,p=f=h>>>24|0,h=(f=S[L+7|0])>>>16|0,h=Ce(cr=2097151&((3&(h|=p))<<30|(f=f<<16|Q)>>>2),0,Ve,We),f=$+b|0,f=h>>>0>(p=h+Nn|0)>>>0?f+1|0:f,b=(h=Ce(ut,0,gr=(S[_n+7|0]|S[_n+8|0]<<8|S[_n+9|0]<<16|S[_n+10|0]<<24)>>>7&2097151,0))+p|0,p=$+f|0,p=h>>>0>b>>>0?p+1|0:p,h=Ce(bt,0,ro=ft>>>4&2097151,0),f=$+p|0,Q=h>>>0>(b=h+b|0)>>>0?f+1|0:f,f=(h=S[_n+6|0])>>>24|0,Nn=h<<8|(ft=S[_n+2|0]|S[_n+3|0]<<8|S[_n+4|0]<<16|S[_n+5|0]<<24)>>>24,h=f,f=Ce(Me,kn,vr=2097151&((3&(h|=p=(f=S[_n+7|0])>>>16|0))<<30|(f=f<<16|Nn)>>>2),0),h=$+Q|0,h=f>>>0>(p=f+b|0)>>>0?h+1|0:h,b=p,p=Ce(Sr=(f=S[_n+2|0])<<16&2031616|S[0|_n]|S[_n+1|0]<<8,0,ee,0),f=$+h|0,f=p>>>0>(b=b+p|0)>>>0?f+1|0:f,h=Ce(j,0,yr=ft>>>5&2097151,0),f=$+f|0,f=h>>>0>(p=h+b|0)>>>0?f+1|0:f,h=p,Nn=p=p+zn|0,Q=h=h>>>0>p>>>0?f+1|0:f,b=S[v+21|0]|S[v+22|0]<<8,f=Ce(de,0,it,0),h=$,ft=(p=f)+(f=Ce(Ve,We,dt,0))|0,p=$+h|0,p=f>>>0>ft>>>0?p+1|0:p,f=Ce(Ye,0,Wt,0),h=$+p|0,h=f>>>0>(ft=f+ft|0)>>>0?h+1|0:h,f=Ce(nr,0,ro,0),h=$+h|0,h=f>>>0>(p=f+ft|0)>>>0?h+1|0:h,ft=(f=p)+(p=Ce(pt,0,cr,0))|0,f=$+h|0,f=p>>>0>ft>>>0?f+1|0:f,h=Ce(ut,0,vr,0),f=$+f|0,f=h>>>0>(p=h+ft|0)>>>0?f+1|0:f,ft=(h=Ce(bt,0,gr,0))+p|0,p=$+f|0,p=h>>>0>ft>>>0?p+1|0:p,f=Ce(Me,kn,yr,0),h=$+p|0,h=f>>>0>(ft=f+ft|0)>>>0?h+1|0:h,f=Ce(j,0,Sr,0),h=$+h|0,f=f>>>0>(p=f+ft|0)>>>0?h+1|0:h,h=(h=p)>>>0>(p=p+b|0)>>>0?f+1|0:f,b=p,p=(f=S[v+23|0])<<16&2031616,f=h,p=f=p>>>0>(b=b+p|0)>>>0?f+1|0:f,_n=f=f-((b>>>0<4293918720)-1|0)|0,h=(h=f>>>21|0)+Q|0,f=(h=(Q=Nn=(f=(2097151&f)<<11|(ft=b- -1048576|0)>>>21)+Nn|0)>>>0<f>>>0?h+1|0:h)+Gt|0,f=(Gt=Q+Bn|0)>>>0<Q>>>0?f+1|0:f,di=Q- -1048576|0,mi=Q=h-((Q>>>0<4293918720)-1|0)|0,Ci=Gt-(h=-2097152&di)|0,Qo=f-((h>>>0>Gt>>>0)+Q|0)|0,Nn=b,Gt=p,f=Ce(Jt,ur,470296,0),h=$,p=f,f=Ce(Or,or,666643,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,b=(f=p)+(p=Ce(jr,Gr,654183,0))|0,f=$+h|0,Vi=b,Q=p>>>0>b>>>0?f+1|0:f,h=Ce(Ve,We,it,0),f=$,p=h,h=Ce(pt,0,dt,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=p)+(p=Ce(Wt,0,ro,0))|0,h=$+f|0,h=p>>>0>b>>>0?h+1|0:h,f=Ce(nr,0,gr,0),p=$+h|0,p=f>>>0>(b=f+b|0)>>>0?p+1|0:p,f=Ce(Ye,0,cr,0),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,p=Ce(ut,0,yr,0),f=$+h|0,f=p>>>0>(b=p+b|0)>>>0?f+1|0:f,h=Ce(bt,0,vr,0),f=$+f|0,f=h>>>0>(p=h+b|0)>>>0?f+1|0:f,b=(h=p)+(p=Ce(Me,kn,Sr,0))|0,h=$+f|0,zn=b,p=p>>>0>b>>>0?h+1|0:h,h=(f=S[v+19|0])>>>24|0,Kn=f<<8|(Bn=S[v+15|0]|S[v+16|0]<<8|S[v+17|0]<<16|S[v+18|0]<<24)>>>24,p=((Yo=(f=(b=S[v+20|0])>>>16|0)|h)>>>3|0)+p|0,zn=b=(h=(7&Yo)<<29|(h=(b<<=16)|Kn)>>>3)+zn|0,b=h>>>0>b>>>0?p+1|0:p,Kn=Bn>>>6&2097151,f=Ce(pt,0,it,0),h=$,p=f,f=Ce(Ye,0,dt,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,Bn=(f=p)+(p=Ce(Wt,0,gr,0))|0,f=$+h|0,f=p>>>0>Bn>>>0?f+1|0:f,p=Ce(nr,0,vr,0),h=$+f|0,h=p>>>0>(Bn=p+Bn|0)>>>0?h+1|0:h,p=Ce(cr,0,ro,0),f=$+h|0,f=p>>>0>(Bn=p+Bn|0)>>>0?f+1|0:f,h=Ce(ut,0,Sr,0),p=$+f|0,p=h>>>0>(Bn=h+Bn|0)>>>0?p+1|0:p,f=Ce(bt,0,yr,0),h=$+p|0,f=f>>>0>(Bn=f+Bn|0)>>>0?h+1|0:h,Fl=f=(Ou=Bn+Kn|0)>>>0<Bn>>>0?f+1|0:f,FH=f=f-((Ou>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(Yf=Ou- -1048576|0)>>>21,f=(f>>>21|0)+b|0,_p=f=p>>>0>(gp=p+zn|0)>>>0?f+1|0:f,QH=f=f-((gp>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(U0=gp- -1048576|0)>>>21,f=(f>>>21|0)+Q|0,h=(p>>>0>(b=p+Vi|0)>>>0?f+1|0:f)+Gt|0,Gt=(p=b+Nn|0)-(f=-2097152&ft)|0,_n=f=(h=p>>>0<b>>>0?h+1|0:h)-((f>>>0>p>>>0)+_n|0)|0,HH=f=f-((Gt>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(td=Gt- -1048576|0)>>>21,f=(f>>21)+Qo|0,b=f=p>>>0>(Q=p+Ci|0)>>>0?f+1|0:f,rm=f=f-((Q>>>0<4293918720)-1|0)|0,F0=(2097151&f)<<11|(Vi=Q- -1048576|0)>>>21,Nn=f>>21,Yo=ui-(f=-2097152&Tn)|0,Yi=Jr-((f>>>0>ui>>>0)+Yi|0)|0,f=Ce(re,0,we,0),Of=h=$,Ci=f,Bn=f- -1048576|0,Xu=h=h-((f>>>0<4293918720)-1|0)|0,nn=f=h>>>21|0,f=Ce(Kt=(2097151&h)<<11|Bn>>>21,f,-683901,-1),h=$+Nr|0,h=f>>>0>(p=f+rr|0)>>>0?h+1|0:h,Tn=p-(f=-2097152&rn)|0,ft=h-((f>>>0>p>>>0)+xo|0)|0,h=Ce(ye,0,ut,0),f=$,p=h,h=Ce(re,0,nr,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,h=Ce(Z,0,bt,0),f=$+f|0,f=h>>>0>(p=h+p|0)>>>0?f+1|0:f,Nr=(h=p)+(p=Ce(de,0,Me,kn))|0,h=$+f|0,h=p>>>0>Nr>>>0?h+1|0:h,f=Ce(ee,0,pt,0),p=$+h|0,p=f>>>0>(Nr=f+Nr|0)>>>0?p+1|0:p,f=Ce(j,0,Ve,We),h=$+p|0,h=f>>>0>(Nr=f+Nr|0)>>>0?h+1|0:h,p=Ce(we,0,ro,0),f=$+h|0,f=p>>>0>(Nr=p+Nr|0)>>>0?f+1|0:f,h=Ce(ke,0,Ye,0),f=$+f|0,rr=p=h+Nr|0,Nr=h>>>0>p>>>0?f+1|0:f,f=Ce(Z,0,nr,0),h=$,p=f,f=Ce(re,0,Wt,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,Jr=(f=Ce(de,0,ut,0))+p|0,p=$+h|0,p=f>>>0>Jr>>>0?p+1|0:p,f=Ce(ye,0,bt,0),h=$+p|0,h=f>>>0>(Jr=f+Jr|0)>>>0?h+1|0:h,p=Ce(Me,kn,Ve,We),f=$+h|0,f=p>>>0>(Jr=p+Jr|0)>>>0?f+1|0:f,h=Ce(ee,0,Ye,0),f=$+f|0,f=h>>>0>(p=h+Jr|0)>>>0?f+1|0:f,Jr=(h=p)+(p=Ce(j,0,pt,0))|0,h=$+f|0,h=p>>>0>Jr>>>0?h+1|0:h,f=Ce(we,0,gr,0),p=$+h|0,p=f>>>0>(Jr=f+Jr|0)>>>0?p+1|0:p,f=Ce(ke,0,ro,0),h=$+p|0,Kn=h=f>>>0>(zn=f+Jr|0)>>>0?h+1|0:h,O1=f=h-((zn>>>0<4293918720)-1|0)|0,h=(2097151&f)<<11|(ui=zn- -1048576|0)>>>21,f=(f>>>21|0)+Nr|0,rn=f=h>>>0>(xo=h+rr|0)>>>0?f+1|0:f,zc=f=f-((xo>>>0<4293918720)-1|0)|0,h=(p=f>>>21|0)+ft|0,Tn=h=(f=(2097151&f)<<11|(Jr=xo- -1048576|0)>>>21)>>>0>(Qo=f+Tn|0)>>>0?h+1|0:h,mp=f=h-((Qo>>>0<4293918720)-1|0)|0,Nr=(2097151&f)<<11|(ft=Qo- -1048576|0)>>>21,f=(f>>21)+Yi|0,fn=f=(h=Nr+Yo|0)>>>0<Nr>>>0?f+1|0:f,Ne=h,f=Ce(h,f,-683901,-1),h=$+Nn|0,F0=p=f+F0|0,Nn=f>>>0>p>>>0?h+1|0:h,f=Ce(Z,0,it,0),h=$,p=f,f=Ce(ye,0,dt,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,Nr=(f=p)+(p=Ce(Ve,We,Wt,0))|0,f=$+h|0,f=p>>>0>Nr>>>0?f+1|0:f,h=Ce(pt,0,nr,0),p=$+f|0,p=h>>>0>(Nr=h+Nr|0)>>>0?p+1|0:p,h=Ce(de,0,cr,0),f=$+p|0,f=h>>>0>(Nr=h+Nr|0)>>>0?f+1|0:f,p=Ce(ut,0,ro,0),h=$+f|0,h=p>>>0>(Nr=p+Nr|0)>>>0?h+1|0:h,f=Ce(bt,0,Ye,0),h=$+h|0,h=f>>>0>(p=f+Nr|0)>>>0?h+1|0:h,Nr=(f=p)+(p=Ce(Me,kn,gr,0))|0,f=$+h|0,f=p>>>0>Nr>>>0?f+1|0:f,h=Ce(ee,0,yr,0),p=$+f|0,p=h>>>0>(Nr=h+Nr|0)>>>0?p+1|0:p,h=Ce(j,0,vr,0),f=$+p|0,f=h>>>0>(Nr=h+Nr|0)>>>0?f+1|0:f,p=Ce(ke,0,Sr,0),h=$+f|0,Yi=Nr=p+Nr|0,p=p>>>0>Nr>>>0?h+1|0:h,h=(f=S[v+27|0])>>>24|0,rr=f<<8|ss>>>24,Nr=2097151&((3&(h|=f=(Nr=S[v+28|0])>>>16|0))<<30|(f=(Nr<<=16)|rr)>>>2),h=p,rr=f=Nr+Yi|0,Nr=f>>>0<Nr>>>0?h+1|0:h,Yo=Ce(Mr,kr,470296,0),Yi=$,f=(p=(2097151&Oo)<<11|Ao>>>21)+(Ci-(h=-2097152&Bn)|0)|0,h=Of-((524287&Xu)+(h>>>0>Ci>>>0)|0)+(Oo>>>21)|0,xe=h=f>>>0<p>>>0?h+1|0:h,nt=f,h=Ce(f,h,666643,0),f=$+Yi|0,f=h>>>0>(p=h+Yo|0)>>>0?f+1|0:f,Bn=(h=Ce(Or,or,654183,0))+p|0,p=$+f|0,p=h>>>0>Bn>>>0?p+1|0:p,h=Ce(Jt,ur,-997805,-1),f=$+p|0,f=h>>>0>(Bn=h+Bn|0)>>>0?f+1|0:f,p=Ce(jr,Gr,136657,0),h=$+f|0,di=(f=(2097151&mi)<<11|di>>>21)+(Bn=p+Bn|0)|0,h=(mi>>>21|0)+(p>>>0>Bn>>>0?h+1|0:h)|0,Xu=Bn=Nr-((rr>>>0<4293918720)-1|0)|0,f=(f>>>0>di>>>0?h+1|0:h)+Nr|0,h=(Nr=rr+di|0)-(p=-2097152&(Of=rr- -1048576|0))|0,p=(f=(f=Nr>>>0<di>>>0?f+1|0:f)-((p>>>0>Nr>>>0)+Bn|0)|0)+Nn|0,Yo=Nr=f-((h>>>0<4293918720)-1|0)|0,Ci=(p=(rr=h+F0|0)>>>0<h>>>0?p+1|0:p)-(((h=-2097152&(Yi=h- -1048576|0))>>>0>rr>>>0)+Nr|0)|0,ss=f=rr-h|0,Nr=Q,Q=b,N1=Qo-(f=-2097152&ft)|0,Bn=Tn-((f>>>0>Qo>>>0)+mp|0)|0,f=Ce(nt,xe,-683901,-1),h=$,b=(p=f)+(f=Ce(Kt,nn,136657,0))|0,p=$+h|0,h=rn+(f>>>0>b>>>0?p+1|0:p)|0,Jr=(p=b+xo|0)-(f=-2097152&Jr)|0,Tn=(h=p>>>0<xo>>>0?h+1|0:h)-((f>>>0>p>>>0)+zc|0)|0,h=Ce(Kt,nn,-997805,-1),f=$+Kn|0,f=h>>>0>(p=h+zn|0)>>>0?f+1|0:f,b=(h=Ce(nt,xe,136657,0))+p|0,p=$+f|0,p=h>>>0>b>>>0?p+1|0:p,f=Ce(Mr,kr,-683901,-1),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,ft=b-(f=-2097152&ui)|0,Nn=h-((f>>>0>b>>>0)+O1|0)|0,h=Ce(ye,0,nr,0),f=$,p=h,h=Ce(Z,0,Wt,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=Ce(re,0,cr,0))+p|0,p=$+f|0,p=h>>>0>b>>>0?p+1|0:p,f=Ce(Ve,We,ut,0),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,p=Ce(de,0,bt,0),f=$+h|0,f=p>>>0>(b=p+b|0)>>>0?f+1|0:f,p=Ce(Me,kn,pt,0),h=$+f|0,h=p>>>0>(b=p+b|0)>>>0?h+1|0:h,p=Ce(ee,0,ro,0),f=$+h|0,f=p>>>0>(b=p+b|0)>>>0?f+1|0:f,h=Ce(j,0,Ye,0),p=$+f|0,p=h>>>0>(b=h+b|0)>>>0?p+1|0:p,f=Ce(we,0,vr,0),h=$+p|0,h=f>>>0>(b=f+b|0)>>>0?h+1|0:h,p=Ce(ke,0,gr,0),f=$+h|0,rr=b=p+b|0,b=p>>>0>b>>>0?f+1|0:f,f=Ce(ye,0,Wt,0),h=$,p=f,f=Ce(re,0,dt,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,rn=(f=p)+(p=Ce(de,0,nr,0))|0,f=$+h|0,f=p>>>0>rn>>>0?f+1|0:f,h=Ce(Z,0,cr,0),p=$+f|0,p=h>>>0>(rn=h+rn|0)>>>0?p+1|0:p,f=Ce(ut,0,pt,0),h=$+p|0,h=f>>>0>(rn=f+rn|0)>>>0?h+1|0:h,p=Ce(Ve,We,bt,0),f=$+h|0,f=p>>>0>(rn=p+rn|0)>>>0?f+1|0:f,p=Ce(Me,kn,Ye,0),h=$+f|0,h=p>>>0>(rn=p+rn|0)>>>0?h+1|0:h,p=Ce(ee,0,gr,0),f=$+h|0,f=p>>>0>(rn=p+rn|0)>>>0?f+1|0:f,h=Ce(j,0,ro,0),p=$+f|0,p=h>>>0>(rn=h+rn|0)>>>0?p+1|0:p,rn=(f=Ce(we,0,yr,0))+rn|0,h=$+p|0,p=Ce(ke,0,vr,0),f=$+(f>>>0>rn>>>0?h+1|0:h)|0,Qo=f=p>>>0>(mp=p+rn|0)>>>0?f+1|0:f,Yr=f=f-((mp>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(Oo=mp- -1048576|0)>>>21,f=(f>>>21|0)+b|0,Ao=f=p>>>0>(F0=p+rr|0)>>>0?f+1|0:f,An=f=f-((F0>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(mi=F0- -1048576|0)>>>21,f=(f>>>21|0)+Nn|0,di=f=p>>>0>(xo=p+ft|0)>>>0?f+1|0:f,hn=f=f-((xo>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(Kn=xo- -1048576|0)>>>21,f=(f>>21)+Tn|0,b=f=p>>>0>(ft=p+Jr|0)>>>0?f+1|0:f,Tn=f=f-((ft>>>0<4293918720)-1|0)|0,Nn=(2097151&f)<<11|(p=ft- -1048576|0)>>>21,f=(f>>21)+Bn|0,O1=f=(rr=Nn+N1|0)>>>0<Nn>>>0?f+1|0:f,zc=rr,f=Ce(rr,f,-683901,-1),h=$,rr=f,f=Ce(Ne,fn,136657,0),h=$+h|0,f=(f>>>0>(rr=rr+f|0)>>>0?h+1|0:h)+Q|0,GH=(Q=Nr+rr|0)-(h=-2097152&Vi)|0,qH=(f=Q>>>0<rr>>>0?f+1|0:f)-((h>>>0>Q>>>0)+rm|0)|0,Nn=Gt,rr=_n,Gt=Ce(zc,O1,136657,0),Q=$,N1=f=ft-(h=-2097152&p)|0,Cr=b=b-((h>>>0>ft>>>0)+Tn|0)|0,p=Ce(Ne,fn,-997805,-1),h=$+Q|0,h=p>>>0>(Gt=p+Gt|0)>>>0?h+1|0:h,p=Ce(f,b,-683901,-1),f=$+h|0,rm=b=p+Gt|0,Nr=p>>>0>b>>>0?f+1|0:f,f=Ce(jr,Gr,470296,0),h=$,b=(p=f)+(f=Ce(Jt,ur,666643,0))|0,p=$+h|0,h=_p+(f>>>0>b>>>0?p+1|0:p)|0,Vi=f=b+gp|0,Q=h=f>>>0<gp>>>0?h+1|0:h,h=Ce(jr,Gr,666643,0),f=$+Fl|0,f=h>>>0>(p=h+Ou|0)>>>0?f+1|0:f,Jr=p-(h=-2097152&Yf)|0,zn=f-((h>>>0>p>>>0)+FH|0)|0,h=Ce(Ye,0,it,0),f=$,p=h,h=Ce(dt,0,ro,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=p)+(p=Ce(Wt,0,vr,0))|0,h=$+f|0,h=p>>>0>b>>>0?h+1|0:h,p=Ce(nr,0,yr,0),f=$+h|0,f=p>>>0>(b=p+b|0)>>>0?f+1|0:f,h=Ce(cr,0,gr,0),p=$+f|0,p=h>>>0>(b=h+b|0)>>>0?p+1|0:p,f=Ce(bt,0,Sr,0),h=$+p|0,ft=b=f+b|0,b=f>>>0>b>>>0?h+1|0:h,h=(f=S[v+14|0])>>>24|0,Gt=f<<8|(Tn=S[v+10|0]|S[v+11|0]<<8|S[v+12|0]<<16|S[v+13|0]<<24)>>>24,h=2097151&((1&(h|=p=(f=S[v+15|0])>>>16|0))<<31|(f=Gt|f<<16)>>>1),f=b,ft=p=h+ft|0,b=h>>>0>p>>>0?f+1|0:f,Gt=Tn>>>4&2097151,f=Ce(it,0,ro,0),h=$,p=f,f=Ce(dt,0,gr,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,f=Ce(Wt,0,yr,0),h=$+h|0,h=f>>>0>(p=f+p|0)>>>0?h+1|0:h,Tn=(f=p)+(p=Ce(nr,0,Sr,0))|0,f=$+h|0,f=p>>>0>Tn>>>0?f+1|0:f,h=Ce(cr,0,vr,0),p=$+f|0,f=h>>>0>(Tn=h+Tn|0)>>>0?p+1|0:p,_n=f=(Yf=Gt+Tn|0)>>>0<Tn>>>0?f+1|0:f,pn=f=f-((Yf>>>0<4293918720)-1|0)|0,h=(p=f>>>21|0)+b|0,ui=h=(f=(2097151&f)<<11|(Bn=Yf- -1048576|0)>>>21)>>>0>(_p=f+ft|0)>>>0?h+1|0:h,En=f=h-((_p>>>0<4293918720)-1|0)|0,h=(2097151&f)<<11|(rn=_p- -1048576|0)>>>21,f=(f>>>21|0)+zn|0,Tn=f=h>>>0>(Jr=h+Jr|0)>>>0?f+1|0:f,Mn=f=f-((Jr>>>0<4293918720)-1|0)|0,h=(p=f>>21)+Q|0,FH=h=(h=(f=(2097151&f)<<11|(ft=Jr- -1048576|0)>>>21)>>>0>(b=f+Vi|0)>>>0?h+1|0:h)-(((p=-2097152&U0)>>>0>b>>>0)+QH|0)|0,U0=f=b-p|0,Gt=f- -1048576|0,QH=f=h-((f>>>0<4293918720)-1|0)|0,p=(h=f>>21)+Nr|0,h=((f=(2097151&f)<<11|Gt>>>21)>>>0>(b=f+rm|0)>>>0?p+1|0:p)+rr|0,Ou=h=(h=(f=b)>>>0>(b=b+Nn|0)>>>0?h+1|0:h)-(((p=-2097152&td)>>>0>b>>>0)+HH|0)|0,rr=f=b-p|0,Q=f- -1048576|0,Fl=f=h-((f>>>0<4293918720)-1|0)|0,p=(h=f>>21)+qH|0,td=f=(p=(f=(2097151&f)<<11|Q>>>21)>>>0>(Nr=f+GH|0)>>>0?p+1|0:p)-((Nr>>>0<4293918720)-1|0)|0,Vi=ss- -1048576|0,zn=Ci-((ss>>>0<4293918720)-1|0)|0,Nn=(2097151&f)<<11|(b=Nr- -1048576|0)>>>21,f=(f>>21)+Ci|0,HH=(ss=Nn+ss|0)-(h=-2097152&Vi)|0,GH=(Nn>>>0>ss>>>0?f+1|0:f)-((h>>>0>ss>>>0)+zn|0)|0,qH=Nr-(f=-2097152&b)|0,rm=p-((f>>>0>Nr>>>0)+td|0)|0,gp=rr-(f=-2097152&Q)|0,ss=Ou-((f>>>0>rr>>>0)+Fl|0)|0,f=Ce(zc,O1,-997805,-1),h=$,p=f,f=Ce(Ne,fn,654183,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,b=(f=p)+(p=Ce(N1,Cr,136657,0))|0,f=$+h|0,h=FH+(p>>>0>b>>>0?f+1|0:f)|0,Ou=(p=b+U0|0)-(f=-2097152&Gt)|0,Fl=(h=p>>>0<U0>>>0?h+1|0:h)-((f>>>0>p>>>0)+QH|0)|0,U0=xo-(f=-2097152&Kn)|0,Ci=di-((f>>>0>xo>>>0)+hn|0)|0,h=Ce(nt,xe,-997805,-1),f=$,p=h,h=Ce(Kt,nn,654183,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=p)+(p=Ce(Mr,kr,136657,0))|0,h=$+f|0,h=p>>>0>b>>>0?h+1|0:h,f=Ce(Or,or,-683901,-1),p=$+h|0,h=Ao+(f>>>0>(b=f+b|0)>>>0?p+1|0:p)|0,Kn=(p=b+F0|0)-(f=-2097152&mi)|0,di=(h=p>>>0<F0>>>0?h+1|0:h)-((f>>>0>p>>>0)+An|0)|0,h=Ce(nt,xe,654183,0),f=$,p=h,h=Ce(Kt,nn,470296,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,b=(h=Ce(Mr,kr,-997805,-1))+p|0,p=$+f|0,h=Qo+(h>>>0>b>>>0?p+1|0:p)|0,h=(f=b+mp|0)>>>0<mp>>>0?h+1|0:h,p=f,f=Ce(Or,or,136657,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,b=(f=p)+(p=Ce(Jt,ur,-683901,-1))|0,f=$+h|0,Gt=b-(h=-2097152&Oo)|0,Q=(p>>>0>b>>>0?f+1|0:f)-((h>>>0>b>>>0)+Yr|0)|0,b=(S[v+28|0]|S[v+29|0]<<8|S[v+30|0]<<16|S[v+31|0]<<24)>>>7|0,f=Ce(re,0,it,0),h=$,Nr=(p=f)+(f=Ce(Z,0,dt,0))|0,p=$+h|0,p=f>>>0>Nr>>>0?p+1|0:p,f=Ce(de,0,Wt,0),h=$+p|0,h=f>>>0>(Nr=f+Nr|0)>>>0?h+1|0:h,p=Ce(Ve,We,nr,0),f=$+h|0,f=p>>>0>(Nr=p+Nr|0)>>>0?f+1|0:f,p=Ce(ye,0,cr,0),h=$+f|0,h=p>>>0>(Nr=p+Nr|0)>>>0?h+1|0:h,p=Ce(ut,0,Ye,0),f=$+h|0,f=p>>>0>(Nr=p+Nr|0)>>>0?f+1|0:f,h=Ce(pt,0,bt,0),p=$+f|0,p=h>>>0>(Nr=h+Nr|0)>>>0?p+1|0:p,f=Ce(Me,kn,ro,0),h=$+p|0,h=f>>>0>(Nr=f+Nr|0)>>>0?h+1|0:h,p=Ce(ee,0,vr,0),f=$+h|0,f=p>>>0>(Nr=p+Nr|0)>>>0?f+1|0:f,p=Ce(j,0,gr,0),h=$+f|0,h=p>>>0>(Nr=p+Nr|0)>>>0?h+1|0:h,p=Ce(we,0,Sr,0),f=$+h|0,f=p>>>0>(Nr=p+Nr|0)>>>0?f+1|0:f,h=Ce(ke,0,yr,0),p=$+f|0,h=p=h>>>0>(Nr=h+Nr|0)>>>0?p+1|0:p,Ao=(p=(2097151&Xu)<<11|Of>>>21)+(f=b+Nr|0)|0,f=(Xu>>>21|0)+(h=f>>>0<Nr>>>0?h+1|0:h)|0,Nn=f=p>>>0>Ao>>>0?f+1|0:f,td=h=f-((Ao>>>0<4293918720)-1|0)|0,p=(f=h>>>21|0)+Q|0,rr=p=(h=(2097151&h)<<11|(kn=Ao- -1048576|0)>>>21)>>>0>(mi=h+Gt|0)>>>0?p+1|0:p,Of=h=p-((mi>>>0<4293918720)-1|0)|0,f=(f=h>>21)+di|0,Gt=f=(h=(2097151&h)<<11|(Nr=mi- -1048576|0)>>>21)>>>0>(Kn=h+Kn|0)>>>0?f+1|0:f,Oo=h=f-((Kn>>>0<4293918720)-1|0)|0,p=(f=h>>21)+Ci|0,Xu=p=(h=(b=(2097151&h)<<11|(Q=Kn- -1048576|0)>>>21)+U0|0)>>>0<b>>>0?p+1|0:p,Ci=h,f=Ce(h,p,-683901,-1),h=$+Fl|0,di=p=f+Ou|0,b=f>>>0>p>>>0?h+1|0:h,h=Ce(Ne,fn,470296,0),f=$+Tn|0,f=h>>>0>(Jr=h+Jr|0)>>>0?f+1|0:f,h=Ce(zc,O1,654183,0),f=$+(f-(((p=-2097152&ft)>>>0>Jr>>>0)+Mn|0)|0)|0,f=h>>>0>(ft=h+(Jr-p|0)|0)>>>0?f+1|0:f,p=Ce(N1,Cr,-997805,-1),h=$+f|0,h=p>>>0>(ft=p+ft|0)>>>0?h+1|0:h,Qo=p=Kn-(f=-2097152&Q)|0,ro=Gt=Gt-((f>>>0>Kn>>>0)+Oo|0)|0,ft=(Q=Ce(Ci,Xu,136657,0))+ft|0,f=$+h|0,p=Ce(p,Gt,-683901,-1),h=$+(Q>>>0>ft>>>0?f+1|0:f)|0,Gt=h=p>>>0>(Tn=p+ft|0)>>>0?h+1|0:h,Oo=f=h-((Tn>>>0<4293918720)-1|0)|0,h=(2097151&f)<<11|(Q=Tn- -1048576|0)>>>21,f=(f>>21)+b|0,Kn=h=(f=h>>>0>(ft=h+di|0)>>>0?f+1|0:f)-((ft>>>0<4293918720)-1|0)|0,Jr=(2097151&h)<<11|(b=ft- -1048576|0)>>>21,h=(h>>21)+ss|0,gp=di=Jr+gp|0,di=Jr>>>0>di>>>0?h+1|0:h,ss=ft-(h=-2097152&b)|0,mp=f-((h>>>0>ft>>>0)+Kn|0)|0,Ou=Tn-(f=-2097152&Q)|0,Fl=Gt-((f>>>0>Tn>>>0)+Oo|0)|0,f=Ce(Ne,fn,666643,0),p=ui+$|0,p=(Q=f+_p|0)>>>0<_p>>>0?p+1|0:p,b=(f=Ce(zc,O1,470296,0))+(Q-(h=-2097152&rn)|0)|0,h=$+(p-((h>>>0>Q>>>0)+En|0)|0)|0,h=f>>>0>b>>>0?h+1|0:h,p=Ce(N1,Cr,654183,0),f=$+h|0,ft=b=p+b|0,b=p>>>0>b>>>0?f+1|0:f,Q=mi-(f=-2097152&Nr)|0,Gt=rr-((f>>>0>mi>>>0)+Of|0)|0,f=Ce(nt,xe,470296,0),h=$,p=f,f=Ce(Kt,nn,666643,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,f=Ce(Mr,kr,654183,0),h=$+h|0,h=f>>>0>(p=f+p|0)>>>0?h+1|0:h,Nr=(f=p)+(p=Ce(Or,or,-997805,-1))|0,f=$+h|0,f=p>>>0>Nr>>>0?f+1|0:f,h=Ce(Jt,ur,136657,0),f=$+f|0,f=h>>>0>(p=h+Nr|0)>>>0?f+1|0:f,Nr=(h=Ce(jr,Gr,-683901,-1))+p|0,p=$+f|0,h=Nn+(h>>>0>Nr>>>0?p+1|0:p)|0,mi=(p=(2097151&Yo)<<11|Yi>>>21)+((Nr=Nr+Ao|0)-(f=-2097152&kn)|0)|0,f=((h=Nr>>>0<Ao>>>0?h+1|0:h)-((f>>>0>Nr>>>0)+td|0)|0)+(Yo>>21)|0,Kn=f=p>>>0>mi>>>0?f+1|0:f,U0=f=f-((mi>>>0<4293918720)-1|0)|0,h=Q,Q=(2097151&f)<<11|(rn=mi- -1048576|0)>>>21,f=(f>>21)+Gt|0,Oo=f=(p=h+Q|0)>>>0<Q>>>0?f+1|0:f,Ao=p,f=Ce(p,f,-683901,-1),h=$+b|0,h=f>>>0>(p=f+ft|0)>>>0?h+1|0:h,b=(f=p)+(p=Ce(Ci,Xu,-997805,-1))|0,f=$+h|0,f=p>>>0>b>>>0?f+1|0:f,h=Ce(Qo,ro,136657,0),p=$+f|0,Yi=b=h+b|0,rr=h>>>0>b>>>0?p+1|0:p,ft=Yf-(f=-2097152&Bn)|0,Nn=_n-((f>>>0>Yf>>>0)+pn|0)|0,h=Ce(it,0,gr,0),f=$,p=h,h=Ce(dt,0,vr,0),f=$+f|0,f=h>>>0>(p=p+h|0)>>>0?f+1|0:f,h=Ce(Wt,0,Sr,0),f=$+f|0,f=h>>>0>(p=h+p|0)>>>0?f+1|0:f,b=(h=Ce(cr,0,yr,0))+p|0,p=$+f|0,h=h>>>0>b>>>0?p+1|0:p,kn=p=(f=(S[v+7|0]|S[v+8|0]<<8|S[v+9|0]<<16|S[v+10|0]<<24)>>>7&2097151)+b|0,Nr=f>>>0>p>>>0?h+1|0:h,f=Ce(it,0,vr,0),h=$,p=f,f=Ce(dt,0,yr,0),h=$+h|0,h=f>>>0>(p=p+f|0)>>>0?h+1|0:h,b=(f=p)+(p=Ce(cr,0,Sr,0))|0,f=$+h|0,Gt=b,b=p>>>0>b>>>0?f+1|0:f,f=(h=S[v+6|0])>>>24|0,Q=h<<8|(td=S[v+2|0]|S[v+3|0]<<8|S[v+4|0]<<16|S[v+5|0]<<24)>>>24,p=f,h=(f=S[v+7|0])>>>16|0,h|=p,p=b,Q=p=(f=2097151&((3&h)<<30|(f=f<<16|Q)>>>2))>>>0>(Gt=f+Gt|0)>>>0?p+1|0:p,F0=f=p-((Gt>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(ui=Gt- -1048576|0)>>>21,f=(f>>>21|0)+Nr|0,Jr=f=p>>>0>(_n=p+kn|0)>>>0?f+1|0:f,Of=f=f-((_n>>>0<4293918720)-1|0)|0,p=(h=f>>>21|0)+Nn|0,p=(f=(2097151&f)<<11|(Tn=_n- -1048576|0)>>>21)>>>0>(b=f+ft|0)>>>0?p+1|0:p,h=Ce(zc,O1,666643,0),f=$+p|0,f=h>>>0>(b=h+b|0)>>>0?f+1|0:f,h=Ce(N1,Cr,470296,0),f=$+f|0,f=h>>>0>(p=h+b|0)>>>0?f+1|0:f,b=(h=p)+(p=Ce(Ao,Oo,136657,0))|0,h=$+f|0,h=p>>>0>b>>>0?h+1|0:h,f=Ce(Ci,Xu,654183,0),h=$+h|0,h=f>>>0>(p=f+b|0)>>>0?h+1|0:h,ft=(f=Ce(Qo,ro,-997805,-1))+p|0,p=$+h|0,Nn=p=f>>>0>ft>>>0?p+1|0:p,Yo=f=p-((ft>>>0<4293918720)-1|0)|0,p=(2097151&f)<<11|(kn=ft- -1048576|0)>>>21,f=(f>>21)+rr|0,Yi=p=(f=p>>>0>(b=p+Yi|0)>>>0?f+1|0:f)-((b>>>0<4293918720)-1|0)|0,Nr=(2097151&p)<<11|(rr=b- -1048576|0)>>>21,p=(p>>21)+Fl|0,xo=Bn=Nr+Ou|0,Bn=Nr>>>0>Bn>>>0?p+1|0:p,Nr=b,h=f,b=(mi-(f=-2097152&rn)|0)+(rn=(2097151&zn)<<11|Vi>>>21)|0,f=(Kn-((f>>>0>mi>>>0)+U0|0)|0)+(zn>>21)|0,zn=f=b>>>0<rn>>>0?f+1|0:f,Ou=f=f-((b>>>0<4293918720)-1|0)|0,mi=p=f>>21,f=Ce(zc=(2097151&f)<<11|(Kn=b- -1048576|0)>>>21,p,-683901,-1),h=$+h|0,h=f>>>0>(p=f+Nr|0)>>>0?h+1|0:h,Fl=p-(f=-2097152&rr)|0,Yf=h-((f>>>0>p>>>0)+Yi|0)|0,h=Ce(zc,mi,136657,0),f=$+Nn|0,f=h>>>0>(p=h+ft|0)>>>0?f+1|0:f,_p=p-(h=-2097152&kn)|0,Yo=f-((h>>>0>p>>>0)+Yo|0)|0,h=Ce(N1,Cr,666643,0),f=$+(Jr-(((p=-2097152&Tn)>>>0>_n>>>0)+Of|0)|0)|0,f=h>>>0>(Nr=h+(_n-p|0)|0)>>>0?f+1|0:f,p=Ce(Ao,Oo,-997805,-1),h=$+f|0,h=p>>>0>(Nr=p+Nr|0)>>>0?h+1|0:h,f=Ce(Ci,Xu,470296,0),p=$+h|0,p=f>>>0>(Nr=f+Nr|0)>>>0?p+1|0:p,h=Ce(Qo,ro,654183,0),f=$+p|0,Yi=Nr=h+Nr|0,Nn=h>>>0>Nr>>>0?f+1|0:f,p=td>>>5&2097151,f=Ce(it,0,yr,0),h=$,rr=f,f=Ce(dt,0,Sr,0),h=$+h|0,f=f>>>0>(Nr=rr+f|0)>>>0?h+1|0:h,rr=h=p+Nr|0,p=f=h>>>0<Nr>>>0?f+1|0:f,_n=(h=Ce(it,0,Sr,0))+(f=(f=S[v+2|0])<<16&2031616|S[0|v]|S[v+1|0]<<8)|0,h=$,rn=h=f>>>0>_n>>>0?h+1|0:h,U0=h=h-((_n>>>0<4293918720)-1|0)|0,f=(f=h>>>21|0)+p|0,Tn=f=(h=(2097151&h)<<11|(Jr=_n- -1048576|0)>>>21)>>>0>(Vi=h+rr|0)>>>0?f+1|0:f,td=h=f-((Vi>>>0<4293918720)-1|0)|0,p=(2097151&h)<<11|(ft=Vi- -1048576|0)>>>21,h=(h>>>21|0)+Q|0,h=p>>>0>(Nr=p+Gt|0)>>>0?h+1|0:h,p=Ce(Ao,Oo,654183,0),f=$+(h-(((Q=-2097152&ui)>>>0>Nr>>>0)+F0|0)|0)|0,f=p>>>0>(Gt=p+(Nr-Q|0)|0)>>>0?f+1|0:f,h=Ce(Ci,Xu,666643,0),f=$+f|0,f=h>>>0>(p=h+Gt|0)>>>0?f+1|0:f,kn=(h=p)+(p=Ce(Qo,ro,470296,0))|0,h=$+f|0,rr=h=p>>>0>kn>>>0?h+1|0:h,Of=h=h-((kn>>>0<4293918720)-1|0)|0,p=(f=h>>21)+Nn|0,ui=h=(p=(h=(2097151&h)<<11|(Nr=kn- -1048576|0)>>>21)>>>0>(Gt=h+Yi|0)>>>0?p+1|0:p)-((Gt>>>0<4293918720)-1|0)|0,Nn=(2097151&h)<<11|(Q=Gt- -1048576|0)>>>21,h=(h>>21)+Yo|0,Xu=Ci=Nn+_p|0,Nn=Nn>>>0>Ci>>>0?h+1|0:h,f=Ce(zc,mi,-997805,-1),h=$+p|0,h=f>>>0>(Gt=f+Gt|0)>>>0?h+1|0:h,Yo=Gt-(f=-2097152&Q)|0,Yi=h-((f>>>0>Gt>>>0)+ui|0)|0,h=Ce(zc,mi,654183,0),f=$+rr|0,f=h>>>0>(p=h+kn|0)>>>0?f+1|0:f,Ci=p-(h=-2097152&Nr)|0,ui=f-((h>>>0>p>>>0)+Of|0)|0,f=Ce(Ao,Oo,470296,0),p=$+(Tn-(((h=-2097152&ft)>>>0>Vi>>>0)+td|0)|0)|0,p=f>>>0>(Q=f+(Vi-h|0)|0)>>>0?p+1|0:p,h=Ce(Qo,ro,666643,0),f=$+p|0,Gt=Q=h+Q|0,p=h>>>0>Q>>>0?f+1|0:f,h=Ce(Ao,Oo,666643,0),f=$+(rn-((4095&U0)+((Q=-2097152&Jr)>>>0>_n>>>0)|0)|0)|0,kn=f=h>>>0>(ft=h+(_n-Q|0)|0)>>>0?f+1|0:f,rn=f=f-((ft>>>0<4293918720)-1|0)|0,Q=(2097151&f)<<11|(rr=ft- -1048576|0)>>>21,f=(f>>21)+p|0,p=f=Q>>>0>(Nr=Q+Gt|0)>>>0?f+1|0:f,Jr=f=f-((Nr>>>0<4293918720)-1|0)|0,Q=(2097151&f)<<11|(Gt=Nr- -1048576|0)>>>21,f=(f>>21)+ui|0,Q=Q>>>0>(Tn=Q+Ci|0)>>>0?f+1|0:f,f=Ce(zc,mi,470296,0),p=$+p|0,p=f>>>0>(h=f+Nr|0)>>>0?p+1|0:p,Nr=h-(f=-2097152&Gt)|0,Gt=p-((f>>>0>h>>>0)+Jr|0)|0,h=Ce(zc,mi,666643,0),f=$+(kn-(((p=-2097152&rr)>>>0>ft>>>0)+rn|0)|0)|0,h=(p=(f=h>>>0>(ui=h+(ft-p|0)|0)>>>0?f+1|0:f)>>21)+Gt|0,f=(f=(h=(f=(2097151&f)<<11|ui>>>21)>>>0>(rn=f+Nr|0)>>>0?h+1|0:h)>>21)+Q|0,h=(h=(f=(h=(2097151&h)<<11|rn>>>21)>>>0>(Jr=h+Tn|0)>>>0?f+1|0:f)>>21)+Yi|0,p=(f=(h=(f=(2097151&f)<<11|Jr>>>21)>>>0>(Q=f+Yo|0)>>>0?h+1|0:h)>>21)+Nn|0,f=(h=(p=(h=(2097151&h)<<11|Q>>>21)>>>0>(Tn=h+Xu|0)>>>0?p+1|0:p)>>21)+Yf|0,h=(p=(f=(p=(2097151&p)<<11|Tn>>>21)>>>0>(ft=p+Fl|0)>>>0?f+1|0:f)>>21)+Bn|0,f=(f=(h=(f=(2097151&f)<<11|ft>>>21)>>>0>(Nn=f+xo|0)>>>0?h+1|0:h)>>21)+mp|0,h=(h=(f=(h=(2097151&h)<<11|Nn>>>21)>>>0>(kn=h+ss|0)>>>0?f+1|0:f)>>21)+di|0,p=(f=(h=(f=(2097151&f)<<11|kn>>>21)>>>0>(rr=f+gp|0)>>>0?h+1|0:h)>>21)+rm|0,f=(h=(p=(h=(2097151&h)<<11|rr>>>21)>>>0>(Nr=h+qH|0)>>>0?p+1|0:p)>>21)+GH|0,Kn=(Bn=b-(h=-2097152&Kn)|0)+((2097151&(f=(p=(2097151&p)<<11|Nr>>>21)>>>0>(Gt=p+HH|0)>>>0?f+1|0:f))<<11|Gt>>>21)|0,f=(zn-((h>>>0>b>>>0)+Ou|0)|0)+(f>>21)|0,zn=h=(f=Bn>>>0>Kn>>>0?f+1|0:f)>>21,ui=(f=Ce(di=(2097151&f)<<11|Kn>>>21,h,666643,0))+(h=2097151&ui)|0,f=$,b=f=h>>>0>ui>>>0?f+1|0:f,k[0|B]=ui,k[B+1|0]=(255&f)<<24|ui>>>8,f=2097151&rn,h=Ce(di,zn,470296,0)+f|0,p=$,f=(b>>21)+(f>>>0>h>>>0?p+1|0:p)|0,f=(rn=(Bn=(2097151&b)<<11|ui>>>21)+h|0)>>>0<Bn>>>0?f+1|0:f,k[B+4|0]=(2047&f)<<21|rn>>>11,h=f,p=rn,k[B+3|0]=(7&f)<<29|p>>>3,k[B+2|0]=31&((65535&b)<<16|ui>>>16)|p<<5,b=2097151&Jr,Jr=Ce(di,zn,654183,0)+b|0,f=$,rn=(2097151&h)<<11|p>>>21,h=(h>>21)+(b=b>>>0>Jr>>>0?f+1|0:f)|0,f=h=(Jr=rn+Jr|0)>>>0<rn>>>0?h+1|0:h,k[B+6|0]=(63&f)<<26|Jr>>>6,b=Jr,Jr=0,k[B+5|0]=Jr<<13|(1572864&p)>>>19|b<<2,p=2097151&Q,Q=Ce(di,zn,-997805,-1)+p|0,h=$,h=p>>>0>Q>>>0?h+1|0:h,Jr=(2097151&(p=f))<<11|b>>>21,p=(f>>=21)+h|0,p=(Q=Jr+Q|0)>>>0<Jr>>>0?p+1|0:p,k[B+9|0]=(511&p)<<23|Q>>>9,k[B+8|0]=(1&p)<<31|Q>>>1,h=0,k[B+7|0]=h<<18|(2080768&b)>>>14|Q<<7,h=2097151&Tn,b=Ce(di,zn,136657,0)+h|0,f=$,f=h>>>0>b>>>0?f+1|0:f,Tn=(2097151&(h=p))<<11|Q>>>21,h=f+(p=h>>21)|0,h=(b=Tn+b|0)>>>0<Tn>>>0?h+1|0:h,k[B+12|0]=(4095&h)<<20|b>>>12,p=b,k[B+11|0]=(15&h)<<28|p>>>4,b=0,k[B+10|0]=b<<15|(1966080&Q)>>>17|p<<4,b=2097151&ft,Q=Ce(di,zn,-683901,-1)+b|0,f=$,f=b>>>0>Q>>>0?f+1|0:f,b=h,h=f+(h>>=21)|0,h=(b=(ft=Q)+(Q=(2097151&b)<<11|p>>>21)|0)>>>0<Q>>>0?h+1|0:h,k[B+14|0]=(127&h)<<25|b>>>7,Q=0,k[B+13|0]=Q<<12|(1048576&p)>>>20|b<<1,f=h>>21,p=(h=(2097151&h)<<11|b>>>21)>>>0>(Q=h+(2097151&Nn)|0)>>>0?f+1|0:f,k[B+17|0]=(1023&p)<<22|Q>>>10,k[B+16|0]=(3&p)<<30|Q>>>2,h=0,k[B+15|0]=h<<17|(2064384&b)>>>15|Q<<6,f=p>>21,f=(h=(2097151&p)<<11|Q>>>21)>>>0>(p=h+(2097151&kn)|0)>>>0?f+1|0:f,k[B+20|0]=(8191&f)<<19|p>>>13,k[B+19|0]=(31&f)<<27|p>>>5,b=(h=2097151&rr)+(rr=(2097151&f)<<11|p>>>21)|0,h=f>>21,h=b>>>0<rr>>>0?h+1|0:h,rr=b,k[B+21|0]=b,kn=0,k[B+18|0]=kn<<14|(1835008&Q)>>>18|p<<3,k[B+22|0]=(255&h)<<24|b>>>8,p=h>>21,p=(b=(Q=(2097151&h)<<11|b>>>21)+(2097151&Nr)|0)>>>0<Q>>>0?p+1|0:p,k[B+25|0]=(2047&p)<<21|b>>>11,k[B+24|0]=(7&p)<<29|b>>>3,k[B+23|0]=31&((65535&h)<<16|rr>>>16)|b<<5,f=p>>21,f=(h=(2097151&p)<<11|b>>>21)>>>0>(p=h+(2097151&Gt)|0)>>>0?f+1|0:f,k[B+27|0]=(63&f)<<26|p>>>6,Q=0,k[B+26|0]=Q<<13|(1572864&b)>>>19|p<<2,h=f,f>>=21,h=(b=(Gt=(2097151&h)<<11|p>>>21)+(Q=2097151&Kn)|0)>>>0<Q>>>0?f+1|0:f,k[B+31|0]=(131071&h)<<15|b>>>17,f=b,k[B+30|0]=(511&h)<<23|f>>>9,b=0,k[B+28|0]=b<<18|(2080768&p)>>>14|f<<7,k[B+29|0]=Gt+Kn>>>1,bn(L,64),bn(v,64),c&&(a[c>>2]=64,a[c+4>>2]=0),Ie=H+560|0,0}function xr(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr,Kt,or,Or,kr,Jt,ur,Mr,Gr,jr,nn,fn,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0,mi=0,Ci=0,Vi=0,Yi=0,ro=0,Ao=0,Oo=0,xo=0,Qo=0,Yo=0,ss=0,zc=0,Ou=0,Xu=0,U0=0,td=0,F0=0,Yf=0,Of=0,Fl=0,gp=0,_p=0,mp=0,O1=0,N1=0,rm=0;Cr=Ce(p=(xe=S[h+2|0])<<16&2031616|S[0|h]|S[h+1|0]<<8,0,b=(ft=S[c+23|0]|S[c+24|0]<<8|S[c+25|0]<<16|S[c+26|0]<<24)>>>5&2097151,0),nt=$,Ne=Ce(B=(xe=S[c+23|0])<<16&2031616|S[c+21|0]|S[c+22|0]<<8,0,Q=(Yr=S[h+2|0]|S[h+3|0]<<8|S[h+4|0]<<16|S[h+5|0]<<24)>>>5&2097151,0),xe=$+nt|0,xe=Ne>>>0>(Cr=Ne+Cr|0)>>>0?xe+1|0:xe,nt=Ce(v=(S[h+7|0]|S[h+8|0]<<8|S[h+9|0]<<16|S[h+10|0]<<24)>>>7&2097151,0,L=(rn=S[c+15|0]|S[c+16|0]<<8|S[c+17|0]<<16|S[c+18|0]<<24)>>>6&2097151,0),Ne=$+xe|0,pn=Cr=nt+Cr|0,nt=nt>>>0>Cr>>>0?Ne+1|0:Ne,Ne=(xe=S[c+14|0])>>>24|0,An=xe<<8|(En=S[c+10|0]|S[c+11|0]<<8|S[c+12|0]<<16|S[c+13|0]<<24)>>>24,Ne=Ce(H=2097151&((1&(Mn=(xe=Ne)|(Ne=(Cr=S[c+15|0])>>>16|0)))<<31|(xe=(Cr<<=16)|An)>>>1),0,j=(hn=S[h+10|0]|S[h+11|0]<<8|S[h+12|0]<<16|S[h+13|0]<<24)>>>4&2097151,0),nt=$+nt|0,Mn=xe=Ne+pn|0,Cr=xe>>>0<Ne>>>0?nt+1|0:nt,nt=(Ne=S[h+6|0])>>>24|0,pn=Ne<<8|Yr>>>24,Yr=re=2097151&((3&(nt|=Ne=(xe=S[h+7|0])>>>16|0))<<30|(xe=pn|xe<<16)>>>2),pn=0,An=(xe=S[c+19|0])<<8|rn>>>24,nt=Ne=xe>>>24|0,xe=(Ne=S[c+20|0])>>>16|0,Ye=nt=(xe|=nt)>>>3|0,Ne=Ce(Yr,pn,Z=(7&xe)<<29|(Ne=Ne<<16|An)>>>3,nt),xe=$+Cr|0,xe=Ne>>>0>(An=Ne+Mn|0)>>>0?xe+1|0:xe,nt=Ce(ee=(Yr=S[h+15|0]|S[h+16|0]<<8|S[h+17|0]<<16|S[h+18|0]<<24)>>>6&2097151,0,de=(S[c+7|0]|S[c+8|0]<<8|S[c+9|0]<<16|S[c+10|0]<<24)>>>7&2097151,0),Ne=$+xe|0,pn=Cr=nt+An|0,Cr=nt>>>0>Cr>>>0?Ne+1|0:Ne,An=(xe=S[h+14|0])<<8|hn>>>24,xe=Ne=xe>>>24|0,nt=(Ne=S[h+15|0])>>>16|0,Ne=Ce(we=2097151&((1&(nt|=xe))<<31|(xe=(Ne<<=16)|An)>>>1),0,ke=En>>>4&2097151,0),xe=$+Cr|0,hn=nt=Ne+pn|0,pn=Ne>>>0>nt>>>0?xe+1|0:xe,xe=(Ne=S[h+19|0])>>>24|0,Cr=Ne<<8|Yr>>>24,nt=(Ne=S[h+20|0])>>>16|0,ye=(7&(nt|=xe))<<29|(Ne=Cr|Ne<<16)>>>3,kn=xe=nt>>>3|0,Cr=xe,xe=(Ne=S[c+6|0])>>>24|0,Yr=Ne<<8|(Mn=S[c+2|0]|S[c+3|0]<<8|S[c+4|0]<<16|S[c+5|0]<<24)>>>24,nt=xe,xe=(Ne=S[c+7|0])>>>16|0,xe=Ce(ye,Cr,Me=2097151&((3&(xe|=nt))<<30|(Ne=Ne<<16|Yr)>>>2),0),Ne=$+pn|0,nt=xe>>>0>(Cr=xe+hn|0)>>>0?Ne+1|0:Ne,xe=Ce(Ve=(xe=S[h+23|0])<<16&2031616|S[h+21|0]|S[h+22|0]<<8,0,We=Mn>>>5&2097151,0),Ne=$+nt|0,nt=xe>>>0>(Cr=xe+Cr|0)>>>0?Ne+1|0:Ne,Ne=Ce(ut=(xe=S[c+2|0])<<16&2031616|S[0|c]|S[c+1|0]<<8,0,ui=(Mn=S[h+23|0]|S[h+24|0]<<8|S[h+25|0]<<16|S[h+26|0]<<24)>>>5&2097151,0),xe=$+nt|0,Yr=Cr=Ne+Cr|0,pn=Ne>>>0>Cr>>>0?xe+1|0:xe,Ne=Ce(B,0,p,0),xe=$,Cr=(nt=Ne)+(Ne=Ce(Z,Ye,Q,0))|0,nt=$+xe|0,nt=Ne>>>0>Cr>>>0?nt+1|0:nt,Ne=Ce(v,0,H,0),xe=$+nt|0,xe=Ne>>>0>(Cr=Ne+Cr|0)>>>0?xe+1|0:xe,nt=Ce(j,0,ke,0),Ne=$+xe|0,Ne=nt>>>0>(Cr=nt+Cr|0)>>>0?Ne+1|0:Ne,xe=Ce(L,0,re,0),Ne=$+Ne|0,Ne=xe>>>0>(nt=xe+Cr|0)>>>0?Ne+1|0:Ne,Cr=(xe=nt)+(nt=Ce(ee,0,Me,0))|0,xe=$+Ne|0,xe=nt>>>0>Cr>>>0?xe+1|0:xe,Ne=Ce(we,0,de,0),nt=$+xe|0,nt=Ne>>>0>(Cr=Ne+Cr|0)>>>0?nt+1|0:nt,Cr=(Ne=Ce(ye,kn,We,0))+Cr|0,xe=$+nt|0,nt=Ce(Ve,0,ut,0),Ne=$+(Ne>>>0>Cr>>>0?xe+1|0:xe)|0,Cr=Ne=nt>>>0>(An=nt+Cr|0)>>>0?Ne+1|0:Ne,Kn=Ne=Ne-((An>>>0<4293918720)-1|0)|0,xe=(xe=Ne>>>21|0)+pn|0,rr=nt=(xe=(Ne=(2097151&Ne)<<11|(Tn=An- -1048576|0)>>>21)>>>0>(Yr=Ne+Yr|0)>>>0?xe+1|0:xe)-((Yr>>>0<4293918720)-1|0)|0,Gt=Yr-(Ne=-2097152&(Jr=Yr- -1048576|0))|0,Nr=xe-((Ne>>>0>Yr>>>0)+nt|0)|0,pn=(xe=S[h+27|0])<<8|Mn>>>24,nt=Ne=xe>>>24|0,Yr=Ce(pt=2097151&((3&(nt|=xe=(Ne=S[h+28|0])>>>16|0))<<30|(xe=(Ne<<=16)|pn)>>>2),0,di=(S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24)>>>7|0,0),pn=$,xe=(Ne=S[c+27|0])>>>24|0,c=Ce(bt=2097151&((3&(xe|=nt=(c=S[c+28|0])>>>16|0))<<30|(Ne=Ne<<8|ft>>>24|c<<16)>>>2),0,mi=(S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24)>>>7|0,0),Ne=$+pn|0,Ne=c>>>0>(h=c+Yr|0)>>>0?Ne+1|0:Ne,nt=h,c=Ce(b,0,mi,0),h=$,pn=(xe=c)+(c=Ce(ui,0,di,0))|0,xe=$+h|0,xe=c>>>0>pn>>>0?xe+1|0:xe,c=Ce(pt,0,bt,0),xe=$+xe|0,pn=xe=c>>>0>(Mn=c+pn|0)>>>0?xe+1|0:xe,hn=c=xe-((Mn>>>0<4293918720)-1|0)|0,xe=c>>>21|0,Yr=(c=(2097151&c)<<11|(h=Mn- -1048576|0)>>>21)+nt|0,nt=xe+Ne|0,rn=xe=(nt=c>>>0>Yr>>>0?nt+1|0:nt)-((Yr>>>0<4293918720)-1|0)|0,c=Yr-(Ne=-2097152&(En=Yr- -1048576|0))|0,dt=Ne=nt-((131071&xe)+(Ne>>>0>Yr>>>0)|0)|0,Wt=c,c=Ce(c,Ne,666643,0),Ne=$+Nr|0,Yi=xe=c+Gt|0,Yr=c>>>0>xe>>>0?Ne+1|0:Ne,Gt=Mn-(c=-2097152&h)|0,Bn=pn-((131071&hn)+(c>>>0>Mn>>>0)|0)|0,c=Ce(Ve,0,di,0),h=$,xe=(Ne=c)+(c=Ce(ui,0,bt,0))|0,Ne=$+h|0,Ne=c>>>0>xe>>>0?Ne+1|0:Ne,h=(c=Ce(B,0,mi,0))+xe|0,xe=$+Ne|0,xe=c>>>0>h>>>0?xe+1|0:xe,c=Ce(b,0,pt,0),Ne=$+xe|0,hn=h=c+h|0,c=c>>>0>h>>>0?Ne+1|0:Ne,h=Ce(b,0,ui,0),Ne=$,nt=(xe=h)+(h=Ce(ye,kn,di,0))|0,xe=$+Ne|0,xe=h>>>0>nt>>>0?xe+1|0:xe,Ne=(h=Ce(Ve,0,bt,0))+nt|0,nt=$+xe|0,nt=h>>>0>Ne>>>0?nt+1|0:nt,xe=(h=Ce(Z,Ye,mi,0))+Ne|0,Ne=$+nt|0,Ne=h>>>0>xe>>>0?Ne+1|0:Ne,Nr=(h=Ce(B,0,pt,0))+xe|0,xe=$+Ne|0,Mn=xe=h>>>0>Nr>>>0?xe+1|0:xe,_n=h=xe-((Nr>>>0<4293918720)-1|0)|0,xe=c+(Ne=h>>>21|0)|0,h=xe=(h=(2097151&h)<<11|(pn=Nr- -1048576|0)>>>21)>>>0>(hn=h+hn|0)>>>0?xe+1|0:xe,ft=xe=xe-((hn>>>0<4293918720)-1|0)|0,Ne=Gt,Gt=(2097151&xe)<<11|(c=hn- -1048576|0)>>>21,xe=(xe>>>21|0)+Bn|0,nr=xe=(nt=Ne+Gt|0)>>>0<Gt>>>0?xe+1|0:xe,cr=c=hn-(Ne=-2097152&c)|0,gr=hn=h-((Ne>>>0>hn>>>0)+ft|0)|0,vr=nt,h=Ce(nt,xe,470296,0),Ne=$+Yr|0,Ne=h>>>0>(xe=h+Yi|0)>>>0?Ne+1|0:Ne,c=Ce(c,hn,654183,0),nt=$+Ne|0,Bn=h=c+xe|0,Yr=c>>>0>h>>>0?nt+1|0:nt,ft=Nr-(c=-2097152&pn)|0,Nr=Mn-((c>>>0>Nr>>>0)+_n|0)|0,c=Ce(ye,kn,bt,0),h=$,xe=(Ne=c)+(c=Ce(ee,0,di,0))|0,Ne=$+h|0,Ne=c>>>0>xe>>>0?Ne+1|0:Ne,h=(c=Ce(B,0,ui,0))+xe|0,xe=$+Ne|0,xe=c>>>0>h>>>0?xe+1|0:xe,c=Ce(b,0,Ve,0),nt=$+xe|0,nt=c>>>0>(h=c+h|0)>>>0?nt+1|0:nt,c=Ce(L,0,mi,0),Ne=$+nt|0,Ne=c>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,c=Ce(Z,Ye,pt,0),xe=$+Ne|0,Mn=h=c+h|0,pn=c>>>0>h>>>0?xe+1|0:xe,c=Ce(we,0,di,0),h=$,xe=(Ne=c)+(c=Ce(ee,0,bt,0))|0,Ne=$+h|0,Ne=c>>>0>xe>>>0?Ne+1|0:Ne,h=(c=Ce(b,0,ye,kn))+xe|0,xe=$+Ne|0,xe=c>>>0>h>>>0?xe+1|0:xe,c=Ce(Z,Ye,ui,0),nt=$+xe|0,nt=c>>>0>(h=c+h|0)>>>0?nt+1|0:nt,c=Ce(B,0,Ve,0),Ne=$+nt|0,Ne=c>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,c=Ce(H,0,mi,0),xe=$+Ne|0,xe=c>>>0>(h=c+h|0)>>>0?xe+1|0:xe,c=Ce(L,0,pt,0),Ne=$+xe|0,c=Ne=c>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,zn=Ne=Ne-((h>>>0<4293918720)-1|0)|0,nt=(xe=Ne>>>21|0)+pn|0,Gt=nt=(Ne=(2097151&Ne)<<11|(_n=h- -1048576|0)>>>21)>>>0>(Ci=Ne+Mn|0)>>>0?nt+1|0:nt,xo=Ne=nt-((Ci>>>0<4293918720)-1|0)|0,pn=(2097151&Ne)<<11|(hn=Ci- -1048576|0)>>>21,Ne=(Ne>>>21|0)+Nr|0,Sr=Ne=(nt=pn+ft|0)>>>0<pn>>>0?Ne+1|0:Ne,yr=nt,Ne=Ce(nt,Ne,-997805,-1),xe=$+Yr|0,Nr=nt=Ne+Bn|0,Yr=Ne>>>0>nt>>>0?xe+1|0:xe,pn=An,An=Cr,Ne=Ce(p,0,Z,Ye),xe=$,Cr=(nt=Ne)+(Ne=Ce(L,0,Q,0))|0,nt=$+xe|0,nt=Ne>>>0>Cr>>>0?nt+1|0:nt,xe=Ce(v,0,ke,0),Ne=$+nt|0,Ne=xe>>>0>(Cr=xe+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(j,0,de,0),xe=$+Ne|0,xe=nt>>>0>(Cr=nt+Cr|0)>>>0?xe+1|0:xe,nt=Ce(H,0,re,0),Ne=$+xe|0,Ne=nt>>>0>(Cr=nt+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(ee,0,We,0),xe=$+Ne|0,xe=nt>>>0>(Cr=nt+Cr|0)>>>0?xe+1|0:xe,Ne=Ce(we,0,Me,0),nt=$+xe|0,nt=Ne>>>0>(Cr=Ne+Cr|0)>>>0?nt+1|0:nt,xe=Ce(ye,kn,ut,0),Ne=$+nt|0,Mn=Cr=xe+Cr|0,Cr=xe>>>0>Cr>>>0?Ne+1|0:Ne,Ne=Ce(p,0,L,0),xe=$,nt=Ne,Ne=Ce(Q,0,H,0),xe=$+xe|0,xe=Ne>>>0>(nt=nt+Ne|0)>>>0?xe+1|0:xe,ft=(Ne=nt)+(nt=Ce(v,0,de,0))|0,Ne=$+xe|0,Ne=nt>>>0>ft>>>0?Ne+1|0:Ne,nt=Ce(j,0,Me,0),xe=$+Ne|0,xe=nt>>>0>(ft=nt+ft|0)>>>0?xe+1|0:xe,Ne=Ce(re,0,ke,0),nt=$+xe|0,nt=Ne>>>0>(ft=Ne+ft|0)>>>0?nt+1|0:nt,ft=(xe=Ce(ee,0,ut,0))+ft|0,Ne=$+nt|0,nt=Ce(we,0,We,0),xe=$+(xe>>>0>ft>>>0?Ne+1|0:Ne)|0,ss=xe=nt>>>0>(Yo=nt+ft|0)>>>0?xe+1|0:xe,gp=xe=xe-((Yo>>>0<4293918720)-1|0)|0,nt=(2097151&xe)<<11|(Qo=Yo- -1048576|0)>>>21,xe=(xe>>>21|0)+Cr|0,Nn=xe=nt>>>0>(zc=nt+Mn|0)>>>0?xe+1|0:xe,_p=xe=xe-((zc>>>0<4293918720)-1|0)|0,nt=(2097151&xe)<<11|(Yi=zc- -1048576|0)>>>21,xe=(xe>>>21|0)+An|0,xe=nt>>>0>(pn=nt+pn|0)>>>0?xe+1|0:xe,Ne=Ce(vr,nr,666643,0),xe=$+(xe-(((nt=-2097152&Tn)>>>0>pn>>>0)+Kn|0)|0)|0,xe=Ne>>>0>(Cr=Ne+(pn-nt|0)|0)>>>0?xe+1|0:xe,nt=Ce(cr,gr,470296,0),Ne=$+xe|0,Ne=nt>>>0>(Cr=nt+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(yr,Sr,654183,0),xe=$+Ne|0,Bn=xe=nt>>>0>(ro=nt+Cr|0)>>>0?xe+1|0:xe,Yf=xe=xe-((ro>>>0<4293918720)-1|0)|0,Ne=(Ne=xe>>21)+Yr|0,Nr=Ne=(xe=(2097151&xe)<<11|(ft=ro- -1048576|0)>>>21)>>>0>(Kn=xe+Nr|0)>>>0?Ne+1|0:Ne,Ou=xe=Ne-((Kn>>>0<4293918720)-1|0)|0,td=(2097151&xe)<<11|(Tn=Kn- -1048576|0)>>>21,Mn=xe>>21,Ne=Ce(p,0,bt,0),xe=$,nt=Ne,Ne=Ce(b,0,Q,0),xe=$+xe|0,xe=Ne>>>0>(nt=nt+Ne|0)>>>0?xe+1|0:xe,Cr=(Ne=Ce(v,0,Z,Ye))+nt|0,nt=$+xe|0,nt=Ne>>>0>Cr>>>0?nt+1|0:nt,xe=Ce(L,0,j,0),Ne=$+nt|0,Ne=xe>>>0>(Cr=xe+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(B,0,re,0),xe=$+Ne|0,xe=nt>>>0>(Cr=nt+Cr|0)>>>0?xe+1|0:xe,nt=Ce(ee,0,ke,0),Ne=$+xe|0,Ne=nt>>>0>(Cr=nt+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(we,0,H,0),xe=$+Ne|0,xe=nt>>>0>(Cr=nt+Cr|0)>>>0?xe+1|0:xe,Ne=Ce(de,0,ye,kn),nt=$+xe|0,nt=Ne>>>0>(Cr=Ne+Cr|0)>>>0?nt+1|0:nt,xe=Ce(We,0,ui,0),Ne=$+nt|0,Ne=xe>>>0>(Cr=xe+Cr|0)>>>0?Ne+1|0:Ne,nt=Ce(Me,0,Ve,0),xe=$+Ne|0,xe=nt>>>0>(Cr=nt+Cr|0)>>>0?xe+1|0:xe,nt=(Ne=Cr)+(Cr=Ce(pt,0,ut,0))|0,Ne=$+xe|0,Yr=nt,pn=nt>>>0<Cr>>>0?Ne+1|0:Ne,Ao=Ce(di,0,mi,0),An=nt=(Oo=$)-((Ao>>>0<4293918720)-1|0)|0,xe=Ao-(Ne=-2097152&(Cr=Ao- -1048576|0))|0,Ne=(rn>>>21|0)+(Ne=Oo-((524287&nt)+(Ne>>>0>Ao>>>0)|0)|0)|0,Kt=Ne=(nt=(En=(2097151&rn)<<11|En>>>21)+xe|0)>>>0<En>>>0?Ne+1|0:Ne,or=nt,xe=(2097151&rr)<<11|Jr>>>21,En=Ce(nt,Ne,666643,0)+xe|0,Ne=$+(rr>>>21|0)|0,Ne=xe>>>0>En>>>0?Ne+1|0:Ne,nt=Ce(Wt,dt,470296,0),xe=$+Ne|0,xe=(nt>>>0>(En=nt+En|0)>>>0?xe+1|0:xe)+pn|0,xe=(Ne=Yr+En|0)>>>0<En>>>0?xe+1|0:xe,En=(nt=Ce(vr,nr,654183,0))+Ne|0,Ne=$+xe|0,F0=Yr- -1048576|0,Ao=pn=pn-((Yr>>>0<4293918720)-1|0)|0,xe=Ce(cr,gr,-997805,-1),nt=$+(nt>>>0>En>>>0?Ne+1|0:Ne)|0,nt=xe>>>0>(Yr=xe+En|0)>>>0?nt+1|0:nt,Jr=(Ne=Ce(yr,Sr,136657,0))+(Yr-(xe=-2097152&F0)|0)|0,xe=$+(nt-((xe>>>0>Yr>>>0)+pn|0)|0)|0,nt=(rn=Ne>>>0>Jr>>>0?xe+1|0:xe)+Mn|0,Xu=Ne=Jr+td|0,En=nt=Ne>>>0<Jr>>>0?nt+1|0:nt,Oo=Ci-(Ne=-2097152&hn)|0,Ci=Gt-((Ne>>>0>Ci>>>0)+xo|0)|0,Or=nt=An>>>21|0,xe=(Ne=h)+(h=Ce(it=(2097151&An)<<11|Cr>>>21,nt,-683901,-1))|0,Ne=$+c|0,Gt=xe-(c=-2097152&_n)|0,rr=(h>>>0>xe>>>0?Ne+1|0:Ne)-((c>>>0>xe>>>0)+zn|0)|0,c=Ce(b,0,ee,0),h=$,Ne=c,c=Ce(j,0,di,0),xe=$+h|0,xe=c>>>0>(Ne=Ne+c|0)>>>0?xe+1|0:xe,c=Ce(we,0,bt,0),nt=$+xe|0,nt=c>>>0>(h=c+Ne|0)>>>0?nt+1|0:nt,c=Ce(B,0,ye,kn),Ne=$+nt|0,Ne=c>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,c=Ce(L,0,ui,0),Ne=$+Ne|0,Ne=c>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,c=Ce(Z,Ye,Ve,0),xe=$+Ne|0,xe=c>>>0>(h=c+h|0)>>>0?xe+1|0:xe,c=Ce(ke,0,mi,0),xe=$+xe|0,xe=c>>>0>(h=c+h|0)>>>0?xe+1|0:xe,c=Ce(H,0,pt,0),nt=$+xe|0,Cr=h=c+h|0,c=c>>>0>h>>>0?nt+1|0:nt,h=Ce(j,0,bt,0),Ne=$,xe=h,h=Ce(v,0,di,0),Ne=$+Ne|0,Ne=h>>>0>(xe=xe+h|0)>>>0?Ne+1|0:Ne,h=Ce(B,0,ee,0),Ne=$+Ne|0,Ne=h>>>0>(xe=h+xe|0)>>>0?Ne+1|0:Ne,nt=(h=Ce(b,0,we,0))+xe|0,xe=$+Ne|0,xe=h>>>0>nt>>>0?xe+1|0:xe,h=Ce(Z,Ye,ye,kn),xe=$+xe|0,xe=h>>>0>(Ne=h+nt|0)>>>0?xe+1|0:xe,h=Ce(H,0,ui,0),nt=$+xe|0,nt=h>>>0>(Ne=h+Ne|0)>>>0?nt+1|0:nt,xe=(h=Ce(L,0,Ve,0))+Ne|0,Ne=$+nt|0,Ne=h>>>0>xe>>>0?Ne+1|0:Ne,h=Ce(de,0,mi,0),Ne=$+Ne|0,Ne=h>>>0>(xe=h+xe|0)>>>0?Ne+1|0:Ne,hn=(h=Ce(ke,0,pt,0))+xe|0,xe=$+Ne|0,Mn=xe=h>>>0>hn>>>0?xe+1|0:xe,U0=h=xe-((hn>>>0<4293918720)-1|0)|0,nt=c+(Ne=h>>>21|0)|0,pn=nt=(h=(2097151&h)<<11|(Yr=hn- -1048576|0)>>>21)>>>0>(_n=h+Cr|0)>>>0?nt+1|0:nt,zn=c=nt-((_n>>>0<4293918720)-1|0)|0,xe=(Ne=c>>>21|0)+rr|0,Cr=xe=(c=(2097151&c)<<11|(An=_n- -1048576|0)>>>21)>>>0>(Gt=c+Gt|0)>>>0?xe+1|0:xe,rr=h=xe-((Gt>>>0<4293918720)-1|0)|0,nt=(Ne=h>>21)+Ci|0,kr=nt=(h=(xe=(2097151&h)<<11|(c=Gt- -1048576|0)>>>21)+Oo|0)>>>0<xe>>>0?nt+1|0:nt,xo=Jr- -1048576|0,td=xe=rn-((Jr>>>0<4293918720)-1|0)|0,Of=h,h=Ce(h,nt,-683901,-1),Ne=$+En|0,Oo=Ne=(xe=(Ne=h>>>0>(nt=h+Xu|0)>>>0?Ne+1|0:Ne)-(((h=-2097152&xo)>>>0>nt>>>0)+xe|0)|0)-(((En=nt-h|0)>>>0<4293918720)-1|0)|0,Mr=En-(h=-2097152&(Ci=En- -1048576|0))|0,mp=xe-((h>>>0>En>>>0)+Ne|0)|0,h=Ce(Of,kr,136657,0),xe=$+(Nr-(((Ne=-2097152&Tn)>>>0>Kn>>>0)+Ou|0)|0)|0,Fl=nt=h+(Kn-Ne|0)|0,h=h>>>0>nt>>>0?xe+1|0:xe,Vi=Gt-(c&=-2097152)|0,Tn=Cr-((c>>>0>Gt>>>0)+rr|0)|0,c=Ce(or,Kt,-683901,-1),Ne=$,xe=c,c=Ce(it,Or,136657,0),Ne=$+Ne|0,xe=pn+(c>>>0>(nt=xe+c|0)>>>0?Ne+1|0:Ne)|0,rn=(Ne=nt+_n|0)-(c=-2097152&An)|0,En=(xe=Ne>>>0<_n>>>0?xe+1|0:xe)-((c>>>0>Ne>>>0)+zn|0)|0,c=Ce(it,Or,-997805,-1),Ne=$+Mn|0,Ne=c>>>0>(xe=c+hn|0)>>>0?Ne+1|0:Ne,c=Ce(or,Kt,136657,0),Ne=$+Ne|0,Ne=c>>>0>(xe=c+xe|0)>>>0?Ne+1|0:Ne,nt=(c=Ce(Wt,dt,-683901,-1))+xe|0,xe=$+Ne|0,xe=c>>>0>nt>>>0?xe+1|0:xe,pn=nt-(c=-2097152&Yr)|0,An=xe-((c>>>0>nt>>>0)+U0|0)|0,c=Ce(b,0,j,0),Ne=$,nt=(xe=c)+(c=Ce(v,0,bt,0))|0,xe=$+Ne|0,xe=c>>>0>nt>>>0?xe+1|0:xe,c=Ce(re,0,di,0),Ne=$+xe|0,Ne=c>>>0>(nt=c+nt|0)>>>0?Ne+1|0:Ne,c=Ce(ee,0,Z,Ye),xe=$+Ne|0,xe=c>>>0>(nt=c+nt|0)>>>0?xe+1|0:xe,c=Ce(B,0,we,0),Ne=$+xe|0,Ne=c>>>0>(nt=c+nt|0)>>>0?Ne+1|0:Ne,xe=(c=Ce(L,0,ye,kn))+nt|0,nt=$+Ne|0,nt=c>>>0>xe>>>0?nt+1|0:nt,Ne=(c=Ce(ke,0,ui,0))+xe|0,xe=$+nt|0,xe=c>>>0>Ne>>>0?xe+1|0:xe,nt=(c=Ce(H,0,Ve,0))+Ne|0,Ne=$+xe|0,Ne=c>>>0>nt>>>0?Ne+1|0:Ne,c=Ce(Me,0,mi,0),xe=$+Ne|0,xe=c>>>0>(nt=c+nt|0)>>>0?xe+1|0:xe,c=Ce(de,0,pt,0),Ne=$+xe|0,Cr=nt=c+nt|0,c=c>>>0>nt>>>0?Ne+1|0:Ne,Ne=Ce(b,0,v,0),xe=$,Yr=(nt=Ne)+(Ne=Ce(Q,0,di,0))|0,nt=$+xe|0,nt=Ne>>>0>Yr>>>0?nt+1|0:nt,Ne=Ce(B,0,j,0),xe=$+nt|0,xe=Ne>>>0>(Yr=Ne+Yr|0)>>>0?xe+1|0:xe,nt=Ce(re,0,bt,0),Ne=$+xe|0,Ne=nt>>>0>(Yr=nt+Yr|0)>>>0?Ne+1|0:Ne,nt=Ce(L,0,ee,0),xe=$+Ne|0,xe=nt>>>0>(Yr=nt+Yr|0)>>>0?xe+1|0:xe,nt=Ce(Z,Ye,we,0),Ne=$+xe|0,Ne=nt>>>0>(Yr=nt+Yr|0)>>>0?Ne+1|0:Ne,xe=Ce(H,0,ye,kn),nt=$+Ne|0,nt=xe>>>0>(Yr=xe+Yr|0)>>>0?nt+1|0:nt,Ne=Ce(de,0,ui,0),xe=$+nt|0,xe=Ne>>>0>(Yr=Ne+Yr|0)>>>0?xe+1|0:xe,nt=Ce(ke,0,Ve,0),Ne=$+xe|0,Ne=nt>>>0>(Yr=nt+Yr|0)>>>0?Ne+1|0:Ne,nt=Ce(We,0,mi,0),xe=$+Ne|0,xe=nt>>>0>(Yr=nt+Yr|0)>>>0?xe+1|0:xe,nt=Ce(Me,0,pt,0),Ne=$+xe|0,Kn=Ne=nt>>>0>(Ou=nt+Yr|0)>>>0?Ne+1|0:Ne,Gr=Ne=Ne-((Ou>>>0<4293918720)-1|0)|0,xe=c+(xe=Ne>>>21|0)|0,Jr=xe=(Ne=(2097151&Ne)<<11|(rr=Ou- -1048576|0)>>>21)>>>0>(Xu=Ne+Cr|0)>>>0?xe+1|0:xe,jr=c=xe-((Xu>>>0<4293918720)-1|0)|0,Ne=(xe=c>>>21|0)+An|0,Gt=Ne=(c=(2097151&c)<<11|(_n=Xu- -1048576|0)>>>21)>>>0>(U0=c+pn|0)>>>0?Ne+1|0:Ne,nn=c=Ne-((U0>>>0<4293918720)-1|0)|0,xe=(xe=c>>21)+En|0,Mn=xe=(c=(2097151&c)<<11|(Nr=U0- -1048576|0)>>>21)>>>0>(zn=c+rn|0)>>>0?xe+1|0:xe,O1=c=xe-((zn>>>0<4293918720)-1|0)|0,Ne=(xe=c>>21)+Tn|0,Jt=Ne=(c=(nt=(2097151&c)<<11|(Cr=zn- -1048576|0)>>>21)+Vi|0)>>>0<nt>>>0?Ne+1|0:Ne,Vi=c,c=Ce(c,Ne,-683901,-1),nt=$+h|0,N1=Ne=c+Fl|0,Yr=c>>>0>Ne>>>0?nt+1|0:nt,rm=ro-(c=-2097152&ft)|0,Yf=Bn-((c>>>0>ro>>>0)+Yf|0)|0,c=Ce(cr,gr,666643,0),Ne=$+(Nn-(((h=-2097152&Yi)>>>0>zc>>>0)+_p|0)|0)|0,Ne=c>>>0>(xe=c+(zc-h|0)|0)>>>0?Ne+1|0:Ne,h=(c=Ce(yr,Sr,470296,0))+xe|0,xe=$+Ne|0,Yi=h,h=c>>>0>h>>>0?xe+1|0:xe,hn=Yo-(c=-2097152&Qo)|0,pn=ss-((c>>>0>Yo>>>0)+gp|0)|0,c=Ce(p,0,H,0),Ne=$,xe=c,c=Ce(Q,0,ke,0),nt=$+Ne|0,nt=c>>>0>(xe=xe+c|0)>>>0?nt+1|0:nt,c=Ce(v,0,Me,0),Ne=$+nt|0,Ne=c>>>0>(xe=c+xe|0)>>>0?Ne+1|0:Ne,nt=(c=Ce(j,0,We,0))+xe|0,xe=$+Ne|0,xe=c>>>0>nt>>>0?xe+1|0:xe,c=Ce(re,0,de,0),Ne=$+xe|0,Ne=c>>>0>(nt=c+nt|0)>>>0?Ne+1|0:Ne,c=Ce(we,0,ut,0),xe=$+Ne|0,An=nt=c+nt|0,c=c>>>0>nt>>>0?xe+1|0:xe,Ne=Ce(p,0,ke,0),xe=$,En=(nt=Ne)+(Ne=Ce(Q,0,de,0))|0,nt=$+xe|0,nt=Ne>>>0>En>>>0?nt+1|0:nt,xe=Ce(v,0,We,0),Ne=$+nt|0,Ne=xe>>>0>(En=xe+En|0)>>>0?Ne+1|0:Ne,nt=Ce(j,0,ut,0),xe=$+Ne|0,xe=nt>>>0>(En=nt+En|0)>>>0?xe+1|0:xe,nt=Ce(re,0,Me,0),Ne=$+xe|0,Bn=Ne=nt>>>0>(ro=nt+En|0)>>>0?Ne+1|0:Ne,fn=Ne=Ne-((ro>>>0<4293918720)-1|0)|0,nt=c+(xe=Ne>>>21|0)|0,Tn=nt=(Ne=(2097151&Ne)<<11|(ft=ro- -1048576|0)>>>21)>>>0>(ss=Ne+An|0)>>>0?nt+1|0:nt,gp=c=nt-((ss>>>0<4293918720)-1|0)|0,Ne=(xe=c>>>21|0)+pn|0,Ne=(c=(2097151&c)<<11|(rn=ss- -1048576|0)>>>21)>>>0>(nt=c+hn|0)>>>0?Ne+1|0:Ne,c=Ce(yr,Sr,666643,0),xe=$+Ne|0,En=xe=c>>>0>(Qo=c+nt|0)>>>0?xe+1|0:xe,_p=c=xe-((Qo>>>0<4293918720)-1|0)|0,Ne=h+(Ne=c>>21)|0,pn=Ne=(c=(2097151&c)<<11|(hn=Qo- -1048576|0)>>>21)>>>0>(Nn=c+Yi|0)>>>0?Ne+1|0:Ne,Fl=c=Ne-((Nn>>>0<4293918720)-1|0)|0,xe=(Ne=c>>21)+Yf|0,xe=(c=(2097151&c)<<11|(An=Nn- -1048576|0)>>>21)>>>0>(h=c+rm|0)>>>0?xe+1|0:xe,c=Ce(Of,kr,-997805,-1),nt=$+xe|0,nt=c>>>0>(Ne=c+h|0)>>>0?nt+1|0:nt,zc=c=zn-(h=-2097152&Cr)|0,ur=xe=Mn-((h>>>0>zn>>>0)+O1|0)|0,Cr=(h=Ce(Vi,Jt,136657,0))+Ne|0,Ne=$+nt|0,c=Ce(c,xe,-683901,-1),Ne=$+(h>>>0>Cr>>>0?Ne+1|0:Ne)|0,Cr=Ne=c>>>0>(Mn=c+Cr|0)>>>0?Ne+1|0:Ne,Yo=c=Ne-((Mn>>>0<4293918720)-1|0)|0,Ne=(xe=c>>21)+Yr|0,h=Ne=(Yr=Yi=(c=(2097151&c)<<11|(nt=Mn- -1048576|0)>>>21)+N1|0)>>>0<c>>>0?Ne+1|0:Ne,zn=Ne=Ne-((Yr>>>0<4293918720)-1|0)|0,Yi=(2097151&Ne)<<11|(c=Yr- -1048576|0)>>>21,Ne=(Ne>>21)+mp|0,mp=Yf=Yi+Mr|0,Yi=Yi>>>0>Yf>>>0?Ne+1|0:Ne,O1=Yr-(c&=-2097152)|0,N1=h-((c>>>0>Yr>>>0)+zn|0)|0,rm=Mn-(c=-2097152&nt)|0,Yf=Cr-((c>>>0>Mn>>>0)+Yo|0)|0,c=Ce(Of,kr,654183,0),xe=$+(pn-(((h=-2097152&An)>>>0>Nn>>>0)+Fl|0)|0)|0,xe=c>>>0>(Ne=c+(Nn-h|0)|0)>>>0?xe+1|0:xe,h=(c=Ce(Vi,Jt,-997805,-1))+Ne|0,Ne=$+xe|0,Ne=c>>>0>h>>>0?Ne+1|0:Ne,c=Ce(zc,ur,136657,0),Ne=$+Ne|0,Fl=h=c+h|0,c=c>>>0>h>>>0?Ne+1|0:Ne,Yo=U0-(h=-2097152&Nr)|0,Nn=Gt-((h>>>0>U0>>>0)+nn|0)|0,h=Ce(or,Kt,-997805,-1),Ne=$,nt=(xe=h)+(h=Ce(it,Or,654183,0))|0,xe=$+Ne|0,xe=h>>>0>nt>>>0?xe+1|0:xe,h=Ce(Wt,dt,136657,0),Ne=$+xe|0,Ne=h>>>0>(nt=h+nt|0)>>>0?Ne+1|0:Ne,h=Ce(vr,nr,-683901,-1),Ne=$+Ne|0,xe=Jr+(h>>>0>(nt=h+nt|0)>>>0?Ne+1|0:Ne)|0,Nr=(Ne=nt+Xu|0)-(h=-2097152&_n)|0,_n=(xe=Ne>>>0<Xu>>>0?xe+1|0:xe)-((h>>>0>Ne>>>0)+jr|0)|0,h=Ce(or,Kt,654183,0),Ne=$,nt=(xe=h)+(h=Ce(it,Or,470296,0))|0,xe=$+Ne|0,xe=h>>>0>nt>>>0?xe+1|0:xe,h=Ce(Wt,dt,-997805,-1),Ne=$+xe|0,xe=Kn+(h>>>0>(nt=h+nt|0)>>>0?Ne+1|0:Ne)|0,xe=(h=nt+Ou|0)>>>0<Ou>>>0?xe+1|0:xe,nt=(Ne=h)+(h=Ce(vr,nr,136657,0))|0,Ne=$+xe|0,Ne=h>>>0>nt>>>0?Ne+1|0:Ne,xe=(h=Ce(cr,gr,-683901,-1))+nt|0,nt=$+Ne|0,nt=h>>>0>xe>>>0?nt+1|0:nt,An=xe-(h=-2097152&rr)|0,Cr=nt-((h>>>0>xe>>>0)+Gr|0)|0,h=Ce(p,0,di,0),Ne=$,xe=h,h=Ce(Q,0,bt,0),Ne=$+Ne|0,Ne=h>>>0>(xe=xe+h|0)>>>0?Ne+1|0:Ne,h=Ce(B,0,v,0),Ne=$+Ne|0,Ne=h>>>0>(xe=h+xe|0)>>>0?Ne+1|0:Ne,h=Ce(Z,Ye,j,0),nt=$+Ne|0,nt=h>>>0>(xe=h+xe|0)>>>0?nt+1|0:nt,Ne=(h=Ce(b,0,re,0))+xe|0,xe=$+nt|0,xe=h>>>0>Ne>>>0?xe+1|0:xe,h=Ce(ee,0,H,0),xe=$+xe|0,xe=h>>>0>(Ne=h+Ne|0)>>>0?xe+1|0:xe,nt=(h=Ce(L,0,we,0))+Ne|0,Ne=$+xe|0,Ne=h>>>0>nt>>>0?Ne+1|0:Ne,h=Ce(ke,0,ye,kn),Ne=$+Ne|0,Ne=h>>>0>(xe=h+nt|0)>>>0?Ne+1|0:Ne,h=Ce(Me,0,ui,0),nt=$+Ne|0,nt=h>>>0>(xe=h+xe|0)>>>0?nt+1|0:nt,Ne=(h=Ce(de,0,Ve,0))+xe|0,xe=$+nt|0,xe=h>>>0>Ne>>>0?xe+1|0:xe,h=Ce(ut,0,mi,0),xe=$+xe|0,xe=h>>>0>(Ne=h+Ne|0)>>>0?xe+1|0:xe,nt=(h=Ce(pt,0,We,0))+Ne|0,Ne=$+xe|0,Ne=(Ao>>>21|0)+(Ne=h>>>0>nt>>>0?Ne+1|0:Ne)|0,Mn=Ne=(h=(2097151&Ao)<<11|F0>>>21)>>>0>(Jr=h+nt|0)>>>0?Ne+1|0:Ne,Ou=h=Ne-((Jr>>>0<4293918720)-1|0)|0,xe=(xe=h>>>21|0)+Cr|0,pn=xe=(h=(2097151&h)<<11|(Yr=Jr- -1048576|0)>>>21)>>>0>(Gt=h+An|0)>>>0?xe+1|0:xe,zn=h=xe-((Gt>>>0<4293918720)-1|0)|0,Ne=(xe=h>>21)+_n|0,Cr=Ne=(h=(2097151&h)<<11|(An=Gt- -1048576|0)>>>21)>>>0>(Nr=h+Nr|0)>>>0?Ne+1|0:Ne,rr=Ne=Ne-((Nr>>>0<4293918720)-1|0)|0,xe=(xe=Ne>>21)+Nn|0,Nn=xe=(Ne=(nt=(2097151&Ne)<<11|(h=Nr- -1048576|0)>>>21)+Yo|0)>>>0<nt>>>0?xe+1|0:xe,F0=Ne,xe=Ce(Ne,xe,-683901,-1),Ne=$+c|0,_n=nt=xe+Fl|0,c=xe>>>0>nt>>>0?Ne+1|0:Ne,Ne=Ce(Of,kr,470296,0),nt=$+(En-(((xe=-2097152&hn)>>>0>Qo>>>0)+_p|0)|0)|0,nt=Ne>>>0>(hn=Ne+(Qo-xe|0)|0)>>>0?nt+1|0:nt,Ne=Ce(Vi,Jt,654183,0),xe=$+nt|0,xe=Ne>>>0>(hn=Ne+hn|0)>>>0?xe+1|0:xe,nt=Ce(zc,ur,-997805,-1),Ne=$+xe|0,Ne=nt>>>0>(hn=nt+hn|0)>>>0?Ne+1|0:Ne,Ao=h=Nr-(xe=-2097152&h)|0,kn=Cr=Cr-((xe>>>0>Nr>>>0)+rr|0)|0,hn=(nt=Ce(F0,Nn,136657,0))+hn|0,xe=$+Ne|0,h=Ce(h,Cr,-683901,-1),nt=$+(nt>>>0>hn>>>0?xe+1|0:xe)|0,Cr=nt=h>>>0>(En=h+hn|0)>>>0?nt+1|0:nt,Kn=xe=nt-((En>>>0<4293918720)-1|0)|0,nt=(2097151&xe)<<11|(h=En- -1048576|0)>>>21,xe=(xe>>21)+c|0,rr=nt=(xe=nt>>>0>(hn=nt+_n|0)>>>0?xe+1|0:xe)-((hn>>>0<4293918720)-1|0)|0,Nr=(2097151&nt)<<11|(c=hn- -1048576|0)>>>21,nt=(nt>>21)+Yf|0,ui=_n=Nr+rm|0,_n=Nr>>>0>_n>>>0?nt+1|0:nt,di=hn-(c&=-2097152)|0,mi=xe-((c>>>0>hn>>>0)+rr|0)|0,Xu=En-(c=-2097152&h)|0,U0=Cr-((c>>>0>En>>>0)+Kn|0)|0,c=Ce(Of,kr,666643,0),xe=$+(Tn-(((h=-2097152&rn)>>>0>ss>>>0)+gp|0)|0)|0,xe=c>>>0>(Ne=c+(ss-h|0)|0)>>>0?xe+1|0:xe,c=Ce(Vi,Jt,470296,0),nt=$+xe|0,nt=c>>>0>(h=c+Ne|0)>>>0?nt+1|0:nt,c=Ce(zc,ur,654183,0),xe=$+nt|0,hn=h=c+h|0,c=c>>>0>h>>>0?xe+1|0:xe,An=Gt-(h=-2097152&An)|0,Cr=pn-((h>>>0>Gt>>>0)+zn|0)|0,h=Ce(or,Kt,470296,0),Ne=$,xe=h,h=Ce(it,Or,666643,0),Ne=$+Ne|0,Ne=h>>>0>(xe=xe+h|0)>>>0?Ne+1|0:Ne,h=Ce(Wt,dt,654183,0),nt=$+Ne|0,nt=h>>>0>(xe=h+xe|0)>>>0?nt+1|0:nt,Ne=(h=Ce(vr,nr,-997805,-1))+xe|0,xe=$+nt|0,xe=h>>>0>Ne>>>0?xe+1|0:xe,h=Ce(cr,gr,136657,0),xe=$+xe|0,Ne=Mn+(h>>>0>(nt=h+Ne|0)>>>0?xe+1|0:xe)|0,Ne=(h=nt+Jr|0)>>>0<Jr>>>0?Ne+1|0:Ne,xe=h,h=Ce(yr,Sr,-683901,-1),Ne=$+Ne|0,Ne=h>>>0>(nt=xe+h|0)>>>0?Ne+1|0:Ne,rr=(h=(2097151&td)<<11|xo>>>21)+(nt-(xe=-2097152&Yr)|0)|0,xe=(Ne-((xe>>>0>nt>>>0)+Ou|0)|0)+(td>>21)|0,Gt=xe=h>>>0>rr>>>0?xe+1|0:xe,zn=h=xe-((rr>>>0<4293918720)-1|0)|0,xe=(Ne=h>>21)+Cr|0,td=xe=(h=(nt=(2097151&h)<<11|(Nr=rr- -1048576|0)>>>21)+An|0)>>>0<nt>>>0?xe+1|0:xe,Kn=h,h=Ce(h,xe,-683901,-1),nt=$+c|0,nt=h>>>0>(Ne=h+hn|0)>>>0?nt+1|0:nt,c=Ce(F0,Nn,-997805,-1),xe=$+nt|0,xe=c>>>0>(h=c+Ne|0)>>>0?xe+1|0:xe,c=Ce(Ao,kn,136657,0),Ne=$+xe|0,xo=h=c+h|0,An=c>>>0>h>>>0?Ne+1|0:Ne,Yr=ro-(c=-2097152&ft)|0,pn=Bn-((c>>>0>ro>>>0)+fn|0)|0,c=Ce(p,0,de,0),h=$,Ne=c,c=Ce(Q,0,Me,0),xe=$+h|0,xe=c>>>0>(Ne=Ne+c|0)>>>0?xe+1|0:xe,c=Ce(v,0,ut,0),xe=$+xe|0,xe=c>>>0>(h=c+Ne|0)>>>0?xe+1|0:xe,c=Ce(re,0,We,0),Ne=$+xe|0,c=c>>>0>(xe=h=c+h|0)>>>0?Ne+1|0:Ne,h=Ce(p,0,Me,0),Ne=$,Cr=(nt=h)+(h=Ce(Q,0,We,0))|0,nt=$+Ne|0,nt=h>>>0>Cr>>>0?nt+1|0:nt,h=Ce(re,0,ut,0),Ne=$+nt|0,h=Ne=h>>>0>(Cr=h+Cr|0)>>>0?Ne+1|0:Ne,Of=Ne=Ne-((Cr>>>0<4293918720)-1|0)|0,nt=Ne>>>21|0,Jr=(Ne=(2097151&Ne)<<11|(Tn=Cr- -1048576|0)>>>21)+xe|0,xe=c+nt|0,rn=xe=Ne>>>0>Jr>>>0?xe+1|0:xe,ss=c=xe-((Jr>>>0<4293918720)-1|0)|0,Ne=(nt=c>>>21|0)+pn|0,Ne=(c=(2097151&c)<<11|(En=Jr- -1048576|0)>>>21)>>>0>(xe=c+Yr|0)>>>0?Ne+1|0:Ne,nt=(c=Ce(Vi,Jt,666643,0))+xe|0,xe=$+Ne|0,xe=c>>>0>nt>>>0?xe+1|0:xe,c=Ce(zc,ur,470296,0),xe=$+xe|0,xe=c>>>0>(Ne=c+nt|0)>>>0?xe+1|0:xe,nt=(c=Ce(Kn,td,136657,0))+Ne|0,Ne=$+xe|0,Ne=c>>>0>nt>>>0?Ne+1|0:Ne,xe=(c=Ce(F0,Nn,654183,0))+nt|0,nt=$+Ne|0,nt=c>>>0>xe>>>0?nt+1|0:nt,c=Ce(Ao,kn,-997805,-1),Ne=$+nt|0,Mn=Ne=c>>>0>(hn=c+xe|0)>>>0?Ne+1|0:Ne,Qo=c=Ne-((hn>>>0<4293918720)-1|0)|0,xe=(nt=c>>21)+An|0,xo=Ne=(xe=(c=(Ne=(2097151&c)<<11|(Yr=hn- -1048576|0)>>>21)+xo|0)>>>0<Ne>>>0?xe+1|0:xe)-((c>>>0<4293918720)-1|0)|0,An=(2097151&Ne)<<11|(pn=c- -1048576|0)>>>21,Ne=(Ne>>21)+U0|0,Yo=ft=An+Xu|0,Bn=An>>>0>ft>>>0?Ne+1|0:Ne,An=c,nt=xe,xe=(Gt-(((Ne=-2097152&Nr)>>>0>rr>>>0)+zn|0)|0)+(Oo>>21)|0,ft=xe=(c=(rr-Ne|0)+(Nr=(2097151&Oo)<<11|Ci>>>21)|0)>>>0<Nr>>>0?xe+1|0:xe,Ou=xe=xe-((c>>>0<4293918720)-1|0)|0,rr=Ne=xe>>21,xe=Ce(Vi=(2097151&xe)<<11|(Gt=c- -1048576|0)>>>21,Ne,-683901,-1),Ne=$+nt|0,Ne=xe>>>0>(An=xe+An|0)>>>0?Ne+1|0:Ne,Xu=An-(xe=-2097152&pn)|0,U0=Ne-((xe>>>0>An>>>0)+xo|0)|0,Ne=Ce(Vi,rr,136657,0),xe=$+Mn|0,xe=Ne>>>0>(nt=Ne+hn|0)>>>0?xe+1|0:xe,zn=nt-(Ne=-2097152&Yr)|0,xo=xe-((Ne>>>0>nt>>>0)+Qo|0)|0,nt=(Ne=Ce(zc,ur,666643,0))+(Jr-(xe=-2097152&En)|0)|0,xe=$+(rn-((xe>>>0>Jr>>>0)+ss|0)|0)|0,xe=Ne>>>0>nt>>>0?xe+1|0:xe,An=(Ne=Ce(Kn,td,-997805,-1))+nt|0,nt=$+xe|0,nt=Ne>>>0>An>>>0?nt+1|0:nt,xe=Ce(F0,Nn,470296,0),Ne=$+nt|0,Ne=xe>>>0>(An=xe+An|0)>>>0?Ne+1|0:Ne,nt=Ce(Ao,kn,654183,0),xe=$+Ne|0,Oo=An=nt+An|0,Mn=nt>>>0>An>>>0?xe+1|0:xe,An=Cr,Cr=h,h=Ce(Q,0,ut,0),Ne=$,xe=h,h=Ce(p,0,We,0),Ne=$+Ne|0,Ne=h>>>0>(nt=xe+h|0)>>>0?Ne+1|0:Ne,h=Ce(p,0,ut,0),ro=xe=$,Jr=h,rn=h- -1048576|0,ss=h=xe-((h>>>0<4293918720)-1|0)|0,xe=h>>>21|0,Nr=(h=(2097151&h)<<11|rn>>>21)+nt|0,nt=xe+Ne|0,En=nt=h>>>0>Nr>>>0?nt+1|0:nt,Qo=h=nt-((Nr>>>0<4293918720)-1|0)|0,Ne=(xe=h>>>21|0)+Cr|0,Ne=(h=(2097151&h)<<11|(hn=Nr- -1048576|0)>>>21)>>>0>(nt=h+An|0)>>>0?Ne+1|0:Ne,Cr=(h=Ce(Kn,td,654183,0))+(nt-(xe=-2097152&Tn)|0)|0,nt=$+(Ne-((8191&Of)+(xe>>>0>nt>>>0)|0)|0)|0,nt=h>>>0>Cr>>>0?nt+1|0:nt,h=Ce(F0,Nn,666643,0),xe=$+nt|0,xe=h>>>0>(Ne=h+Cr|0)>>>0?xe+1|0:xe,Yr=(h=Ce(Ao,kn,470296,0))+Ne|0,Ne=$+xe|0,pn=Ne=h>>>0>Yr>>>0?Ne+1|0:Ne,Ci=h=Ne-((Yr>>>0<4293918720)-1|0)|0,xe=(xe=h>>21)+Mn|0,nt=xe=(h=(2097151&h)<<11|(An=Yr- -1048576|0)>>>21)>>>0>(Cr=h+Oo|0)>>>0?xe+1|0:xe,Tn=Ne=xe-((Cr>>>0<4293918720)-1|0)|0,Mn=(2097151&Ne)<<11|(h=Cr- -1048576|0)>>>21,Ne=(Ne>>21)+xo|0,Mn=Mn>>>0>(Nn=Oo=Mn+zn|0)>>>0?Ne+1|0:Ne,xe=Ce(Vi,rr,-997805,-1),Ne=$+nt|0,F0=(Cr=xe+Cr|0)-(h&=-2097152)|0,xo=(xe>>>0>Cr>>>0?Ne+1|0:Ne)-((h>>>0>Cr>>>0)+Tn|0)|0,h=Ce(Vi,rr,654183,0),nt=$+pn|0,nt=h>>>0>(Ne=h+Yr|0)>>>0?nt+1|0:nt,Oo=Ne-(h=-2097152&An)|0,Ci=nt-((h>>>0>Ne>>>0)+Ci|0)|0,h=Ce(Kn,td,470296,0),xe=$+(En-((8191&Qo)+((Ne=-2097152&hn)>>>0>Nr>>>0)|0)|0)|0,xe=h>>>0>(nt=h+(Nr-Ne|0)|0)>>>0?xe+1|0:xe,h=Ce(Ao,kn,666643,0),xe=$+xe|0,xe=h>>>0>(Ne=h+nt|0)>>>0?xe+1|0:xe,Cr=Ne,h=Ce(Kn,td,666643,0),nt=$+(ro-((2047&ss)+((Ne=-2097152&rn)>>>0>Jr>>>0)|0)|0)|0,Yr=nt=h>>>0>(hn=h+(Jr-Ne|0)|0)>>>0?nt+1|0:nt,Tn=h=nt-((hn>>>0<4293918720)-1|0)|0,xe=xe+(Ne=h>>21)|0,rn=h=(xe=(h=(2097151&h)<<11|(pn=hn- -1048576|0)>>>21)>>>0>(An=h+Cr|0)>>>0?xe+1|0:xe)-((An>>>0<4293918720)-1|0)|0,nt=(Ne=h>>21)+Ci|0,h=(h=(2097151&h)<<11|(Cr=An- -1048576|0)>>>21)>>>0>(En=h+Oo|0)>>>0?nt+1|0:nt,Ne=Ce(Vi,rr,470296,0),xe=$+xe|0,xe=Ne>>>0>(nt=Ne+An|0)>>>0?xe+1|0:xe,Cr=nt-(Ne=-2097152&Cr)|0,An=xe-((Ne>>>0>nt>>>0)+rn|0)|0,Ne=Ce(Vi,rr,666643,0),nt=$+(Yr-(((xe=-2097152&pn)>>>0>hn>>>0)+Tn|0)|0)|0,Ne=(xe=(nt=Ne>>>0>(Nr=Ne+(hn-xe|0)|0)>>>0?nt+1|0:nt)>>21)+An|0,xe=h+(nt=(Ne=(nt=(2097151&nt)<<11|Nr>>>21)>>>0>(Cr=nt+Cr|0)>>>0?Ne+1|0:Ne)>>21)|0,Ne=(Ne=(xe=(h=An=(Ne=(2097151&Ne)<<11|Cr>>>21)+En|0)>>>0<Ne>>>0?xe+1|0:xe)>>21)+xo|0,xe=(xe=(Ne=(xe=(2097151&xe)<<11|h>>>21)>>>0>(Tn=xe+F0|0)>>>0?Ne+1|0:Ne)>>21)+Mn|0,nt=(Ne=(xe=(Ne=(2097151&Ne)<<11|Tn>>>21)>>>0>(rn=Ne+Nn|0)>>>0?xe+1|0:xe)>>21)+U0|0,Ne=(xe=(nt=(xe=(2097151&xe)<<11|rn>>>21)>>>0>(En=xe+Xu|0)>>>0?nt+1|0:nt)>>21)+Bn|0,xe=(nt=(Ne=(nt=(2097151&nt)<<11|En>>>21)>>>0>(hn=nt+Yo|0)>>>0?Ne+1|0:Ne)>>21)+mi|0,Ne=(Ne=(xe=(Ne=(2097151&Ne)<<11|hn>>>21)>>>0>(Mn=Ne+di|0)>>>0?xe+1|0:xe)>>21)+_n|0,xe=(xe=(Ne=(xe=(2097151&xe)<<11|Mn>>>21)>>>0>(Yr=xe+ui|0)>>>0?Ne+1|0:Ne)>>21)+N1|0,nt=(Ne=(xe=(Ne=(2097151&Ne)<<11|Yr>>>21)>>>0>(pn=Ne+O1|0)>>>0?xe+1|0:xe)>>21)+Yi|0,xe=(ft-((c>>>0<(Ne=-2097152&Gt)>>>0)+Ou|0)|0)+((nt=(xe=(2097151&xe)<<11|pn>>>21)>>>0>(An=xe+mp|0)>>>0?nt+1|0:nt)>>21)|0,ft=Ne=(xe=(Gt=(Bn=c-Ne|0)+((2097151&nt)<<11|An>>>21)|0)>>>0<Bn>>>0?xe+1|0:xe)>>21,c=(c=Ce(Bn=(2097151&xe)<<11|Gt>>>21,Ne,666643,0))+(Ne=2097151&Nr)|0,nt=$,k[0|f]=c,nt=c>>>0<Ne>>>0?nt+1|0:nt,k[f+1|0]=(255&nt)<<24|c>>>8,Ne=2097151&Cr,Cr=Ce(Bn,ft,470296,0)+Ne|0,xe=$,xe=(nt>>21)+(xe=Ne>>>0>Cr>>>0?xe+1|0:xe)|0,xe=(Cr=(Nr=(2097151&nt)<<11|c>>>21)+Cr|0)>>>0<Nr>>>0?xe+1|0:xe,k[f+4|0]=(2047&xe)<<21|Cr>>>11,k[f+3|0]=(7&xe)<<29|Cr>>>3,k[f+2|0]=31&((65535&nt)<<16|c>>>16)|Cr<<5,c=2097151&h,h=Ce(Bn,ft,654183,0)+c|0,nt=$,nt=c>>>0>h>>>0?nt+1|0:nt,c=xe,Ne=(xe>>=21)+nt|0,c=Ne=(c=(2097151&c)<<11|Cr>>>21)>>>0>(h=c+h|0)>>>0?Ne+1|0:Ne,k[f+6|0]=(63&Ne)<<26|h>>>6,xe=0,k[f+5|0]=xe<<13|(1572864&Cr)>>>19|h<<2,xe=2097151&Tn,nt=Ce(Bn,ft,-997805,-1)+xe|0,Ne=$,Ne=xe>>>0>nt>>>0?Ne+1|0:Ne,xe=(xe=c>>21)+Ne|0,xe=(c=(Cr=nt)+(nt=(2097151&c)<<11|h>>>21)|0)>>>0<nt>>>0?xe+1|0:xe,k[f+9|0]=(511&xe)<<23|c>>>9,k[f+8|0]=(1&xe)<<31|c>>>1,Ne=0,k[f+7|0]=Ne<<18|(2080768&h)>>>14|c<<7,h=2097151&rn,Ne=Ce(Bn,ft,136657,0)+h|0,nt=$,nt=h>>>0>Ne>>>0?nt+1|0:nt,h=(Cr=(2097151&(h=xe))<<11|c>>>21)+Ne|0,Ne=(xe>>=21)+nt|0,Ne=h>>>0<Cr>>>0?Ne+1|0:Ne,k[f+12|0]=(4095&Ne)<<20|h>>>12,k[f+11|0]=(15&Ne)<<28|h>>>4,xe=0,k[f+10|0]=xe<<15|(1966080&c)>>>17|h<<4,c=2097151&En,nt=Ce(Bn,ft,-683901,-1)+c|0,xe=$,xe=c>>>0>nt>>>0?xe+1|0:xe,c=Ne,Ne=xe+(Ne>>=21)|0,Ne=(c=(Cr=nt)+(nt=(2097151&c)<<11|h>>>21)|0)>>>0<nt>>>0?Ne+1|0:Ne,k[f+14|0]=(127&Ne)<<25|c>>>7,xe=0,k[f+13|0]=xe<<12|(1048576&h)>>>20|c<<1,xe=Ne>>21,xe=(h=(Ne=(2097151&Ne)<<11|c>>>21)+(2097151&hn)|0)>>>0<Ne>>>0?xe+1|0:xe,k[f+17|0]=(1023&xe)<<22|h>>>10,k[f+16|0]=(3&xe)<<30|h>>>2,Ne=0,k[f+15|0]=Ne<<17|(2064384&c)>>>15|h<<6,c=xe,xe>>=21,nt=(c=(Ne=(2097151&c)<<11|h>>>21)+(2097151&Mn)|0)>>>0<Ne>>>0?xe+1|0:xe,k[f+20|0]=(8191&nt)<<19|c>>>13,k[f+19|0]=(31&nt)<<27|c>>>5,Ne=nt>>21,Ne=(xe=(Cr=(2097151&nt)<<11|c>>>21)+(2097151&Yr)|0)>>>0<Cr>>>0?Ne+1|0:Ne,Cr=xe,k[f+21|0]=xe,xe=0,k[f+18|0]=xe<<14|(1835008&h)>>>18|c<<3,k[f+22|0]=(255&Ne)<<24|Cr>>>8,xe=Ne>>21,xe=(c=(h=(2097151&Ne)<<11|Cr>>>21)+(2097151&pn)|0)>>>0<h>>>0?xe+1|0:xe,k[f+25|0]=(2047&xe)<<21|c>>>11,k[f+24|0]=(7&xe)<<29|c>>>3,k[f+23|0]=31&((65535&Ne)<<16|Cr>>>16)|c<<5,Ne=(2097151&xe)<<11|c>>>21,xe>>=21,xe=(h=Ne+(2097151&An)|0)>>>0<Ne>>>0?xe+1|0:xe,k[f+27|0]=(63&xe)<<26|h>>>6,Ne=0,k[f+26|0]=Ne<<13|(1572864&c)>>>19|h<<2,c=xe,Ne=xe>>=21,Ne=(c=(Cr=(2097151&c)<<11|h>>>21)+(nt=2097151&Gt)|0)>>>0<nt>>>0?Ne+1|0:Ne,k[f+31|0]=(131071&Ne)<<15|c>>>17,k[f+30|0]=(511&Ne)<<23|c>>>9,xe=0,k[f+28|0]=xe<<18|(2080768&h)>>>14|c<<7,k[f+29|0]=Cr+Gt>>>1}function Mi(f,c,h,p){for(var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0;Q=(b=L<<3)+h|0,B=S[0|(b=c+b|0)]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,Ye=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,H=B<<24|(65280&B)<<8,j=(v=16711680&B)<<24,v=v>>>8|0,b=(Z=-16777216&B)>>>24|0,a[Q>>2]=j|Z<<8|-16777216&((255&Ye)<<24|B>>>8)|16711680&((16777215&Ye)<<8|B>>>24)|Ye>>>8&65280|Ye>>>24,B=b|v|H,b=0,a[Q+4>>2]=B|b,(0|(L=L+1|0))!=16;);for(c=a[f+4>>2],a[p>>2]=a[f>>2],a[p+4>>2]=c,c=a[f+60>>2],a[p+56>>2]=a[f+56>>2],a[p+60>>2]=c,c=a[f+52>>2],a[p+48>>2]=a[f+48>>2],a[p+52>>2]=c,c=a[f+44>>2],a[p+40>>2]=a[f+40>>2],a[p+44>>2]=c,c=a[f+36>>2],a[p+32>>2]=a[f+32>>2],a[p+36>>2]=c,c=a[f+28>>2],a[p+24>>2]=a[f+24>>2],a[p+28>>2]=c,c=a[f+20>>2],a[p+16>>2]=a[f+16>>2],a[p+20>>2]=c,c=a[f+12>>2],a[p+8>>2]=a[f+8>>2],a[p+12>>2]=c;Q=a[p+56>>2],v=a[p+60>>2],b=a[(c=Ye=(it=Mr<<3)+h|0)>>2],c=a[c+4>>2],We=B=a[p+36>>2],B=Ke(ye=a[p+32>>2],B,50),L=$,B=Ke(ye,We,46)^B,L^=$,B=Ke(ye,We,23)^B,c=($^L)+c|0,c=(b=B+b|0)>>>0<B>>>0?c+1|0:c,b=(L=a[(B=it+34416|0)>>2])+b|0,c=a[B+4>>2]+c|0,c=b>>>0<L>>>0?c+1|0:c,B=(L=((j=a[p+48>>2])^(ee=a[p+40>>2]))&ye^j)+b|0,b=(((Me=a[p+52>>2])^(ut=a[p+44>>2]))&We^Me)+c|0,c=(B>>>0<L>>>0?b+1|0:b)+v|0,c=(Q=B+Q|0)>>>0<B>>>0?c+1|0:c,L=(B=a[p+24>>2])+Q|0,b=a[p+28>>2]+c|0,de=b=B>>>0>L>>>0?b+1|0:b,a[p+24>>2]=L,a[p+28>>2]=b,Ve=b=a[p+4>>2],b=Ke(B=a[p>>2],b,36),v=$,b=Ke(B,Ve,30)^b,v^=$,Z=Q+(Ke(B,Ve,25)^b)|0,b=c+($^v)|0,b=Q>>>0>Z>>>0?b+1|0:b,H=(c=Z)+(Z=B&((v=a[p+16>>2])|(Q=a[p+8>>2]))|Q&v)|0,c=(c=b)+(Ve&((b=a[p+20>>2])|(we=a[p+12>>2]))|b&we)|0,Z=c=H>>>0<Z>>>0?c+1|0:c,a[p+56>>2]=H,a[p+60>>2]=c,re=v,ke=b,bt=a[(c=Kt=(pt=8|it)+h|0)>>2],Wt=a[c+4>>2],b=((We^ut)&de^ut)+Me|0,b=(c=(v=(ee^ye)&L^ee)+j|0)>>>0<v>>>0?b+1|0:b,v=Ke(L,de,50),j=$,v=Ke(L,de,46)^v,j^=$,v=(Me=Ke(L,de,23)^v)+c|0,c=($^j)+b|0,c=(v>>>0<Me>>>0?c+1|0:c)+Wt|0,c=(b=v+bt|0)>>>0<v>>>0?c+1|0:c,v=(v=b)+(j=a[(b=pt+34416|0)>>2])|0,b=a[b+4>>2]+c|0,b=(c=v>>>0<j>>>0?b+1|0:b)+ke|0,Me=b=(j=v+re|0)>>>0<v>>>0?b+1|0:b,a[p+16>>2]=j,a[p+20>>2]=b,c=c+((we|Ve)&Z|we&Ve)|0,c=(b=v+((B|Q)&H|B&Q)|0)>>>0<v>>>0?c+1|0:c,v=Ke(H,Z,36),re=$,v=Ke(H,Z,30)^v,re^=$,ke=b,b=Ke(H,Z,25)^v,c=($^re)+c|0,re=c=b>>>0>(v=ke+b|0)>>>0?c+1|0:c,a[p+48>>2]=v,a[p+52>>2]=c,ke=Q,pt=we,c=(we=a[(b=gr=(Q=16|it)+h|0)>>2])+ee|0,b=a[b+4>>2]+ut|0,b=c>>>0<we>>>0?b+1|0:b,Q=(ee=c)+(we=a[(c=Q+34416|0)>>2])|0,c=a[c+4>>2]+b|0,c=((de^We)&Me^We)+(c=Q>>>0<we>>>0?c+1|0:c)|0,c=(b=(b=Q)+(Q=(L^ye)&j^ye)|0)>>>0<Q>>>0?c+1|0:c,Q=Ke(j,Me,50),we=$,Q=Ke(j,Me,46)^Q,we^=$,Q=(ee=Ke(j,Me,23)^Q)+b|0,b=($^we)+c|0,b=(ee=Q>>>0<ee>>>0?b+1|0:b)+pt|0,pt=b=(we=Q)>>>0>(Q=Q+ke|0)>>>0?b+1|0:b,a[p+8>>2]=Q,a[p+12>>2]=b,c=Ke(v,re,36),b=$,c=Ke(v,re,30)^c,b^=$,ut=Ke(v,re,25)^c,c=((Z|Ve)&re|Z&Ve)+($^b)|0,b=ee+((ke=ut+((B|H)&v|B&H)|0)>>>0<ut>>>0?c+1|0:c)|0,we=b=(ee=we+ke|0)>>>0<we>>>0?b+1|0:b,a[p+40>>2]=ee,a[p+44>>2]=b,ke=B,b=(b=ye)+(ye=a[(c=or=(B=24|it)+h|0)>>2])|0,c=a[c+4>>2]+We|0,c=b>>>0<ye>>>0?c+1|0:c,B=(ut=b)+(ye=a[(b=B+34416|0)>>2])|0,b=a[b+4>>2]+c|0,b=(de^(de^Me)&pt)+(b=B>>>0<ye>>>0?b+1|0:b)|0,b=(c=(c=B)+(B=L^(L^j)&Q)|0)>>>0<B>>>0?b+1|0:b,B=Ke(Q,pt,50),ye=$,B=Ke(Q,pt,46)^B,ye^=$,B=(We=Ke(Q,pt,23)^B)+c|0,c=($^ye)+b|0,b=(c=B>>>0<We>>>0?c+1|0:c)+Ve|0,We=b=(Ve=B+ke|0)>>>0<B>>>0?b+1|0:b,a[p>>2]=Ve,a[p+4>>2]=b,b=Ke(ee,we,36),ye=$,b=Ke(ee,we,30)^b,ke=$^ye,ut=Ke(ee,we,25)^b,b=((Z|re)&we|Z&re)+($^ke)|0,c=c+((ye=ut+((v|H)&ee|v&H)|0)>>>0<ut>>>0?b+1|0:b)|0,ye=c=(ke=B+ye|0)>>>0<B>>>0?c+1|0:c,a[p+32>>2]=ke,a[p+36>>2]=c,B=a[(b=yr=(c=32|it)+h|0)>>2],b=de+a[b+4>>2]|0,b=(B=B+L|0)>>>0<L>>>0?b+1|0:b,B=(L=a[(c=c+34416|0)>>2])+B|0,c=a[c+4>>2]+b|0,c=(Me^(Me^pt)&We)+(c=B>>>0<L>>>0?c+1|0:c)|0,c=(b=(b=B)+(B=j^(Q^j)&Ve)|0)>>>0<B>>>0?c+1|0:c,B=Ke(Ve,We,50),L=$,B=Ke(Ve,We,46)^B,L^=$,B=(de=Ke(Ve,We,23)^B)+b|0,b=($^L)+c|0,ut=b=B>>>0<de>>>0?b+1|0:b,c=b,b=Ke(ke,ye,36),L=$,b=Ke(ke,ye,30)^b,de=$^L,bt=Ke(ke,ye,25)^b,b=((re|we)&ye|re&we)+($^de)|0,c=((L=bt+((v|ee)&ke|v&ee)|0)>>>0<bt>>>0?b+1|0:b)+c|0,L=c=(de=B+L|0)>>>0<L>>>0?c+1|0:c,a[p+24>>2]=de,a[p+28>>2]=c,b=Z+ut|0,ut=b=(Z=B+H|0)>>>0<B>>>0?b+1|0:b,a[p+56>>2]=Z,a[p+60>>2]=b,B=a[(c=vr=(b=40|it)+h|0)>>2],c=Me+a[c+4>>2]|0,c=(B=B+j|0)>>>0<j>>>0?c+1|0:c,B=(H=a[(b=b+34416|0)>>2])+B|0,b=a[b+4>>2]+c|0,b=(pt^(We^pt)&ut)+(b=B>>>0<H>>>0?b+1|0:b)|0,b=(c=(c=B)+(B=Q^(Q^Ve)&Z)|0)>>>0<B>>>0?b+1|0:b,B=Ke(Z,ut,50),H=$,B=Ke(Z,ut,46)^B,H^=$,B=(j=Ke(Z,ut,23)^B)+c|0,c=($^H)+b|0,c=B>>>0<j>>>0?c+1|0:c,b=Ke(de,L,36),H=$,b=Ke(de,L,30)^b,j=$^H,Me=Ke(de,L,25)^b,b=((we|ye)&L|we&ye)+($^j)|0,b=((H=Me+((ee|ke)&de|ee&ke)|0)>>>0<Me>>>0?b+1|0:b)+c|0,H=b=(j=B+H|0)>>>0<H>>>0?b+1|0:b,a[p+16>>2]=j,a[p+20>>2]=b,c=c+re|0,bt=c=(re=B+v|0)>>>0<v>>>0?c+1|0:c,a[p+48>>2]=re,a[p+52>>2]=c,B=a[(b=cr=(c=48|it)+h|0)>>2],b=pt+a[b+4>>2]|0,b=(B=B+Q|0)>>>0<Q>>>0?b+1|0:b,B=(Q=a[(c=c+34416|0)>>2])+B|0,c=a[c+4>>2]+b|0,c=(We^(We^ut)&bt)+(c=B>>>0<Q>>>0?c+1|0:c)|0,c=(b=(b=B)+(B=Ve^(Z^Ve)&re)|0)>>>0<B>>>0?c+1|0:c,B=Ke(re,bt,50),Q=$,B=Ke(re,bt,46)^B,Q^=$,B=(v=Ke(re,bt,23)^B)+b|0,b=($^Q)+c|0,v=b=B>>>0<v>>>0?b+1|0:b,c=b,b=Ke(j,H,36),Q=$,b=Ke(j,H,30)^b,Me=$^Q,pt=Ke(j,H,25)^b,b=((L|ye)&H|L&ye)+($^Me)|0,c=((Q=pt+((de|ke)&j|de&ke)|0)>>>0<pt>>>0?b+1|0:b)+c|0,Me=c=(b=Q)>>>0>(Q=B+Q|0)>>>0?c+1|0:c,a[p+8>>2]=Q,a[p+12>>2]=c,b=v+we|0,pt=b=(Wt=B+ee|0)>>>0<B>>>0?b+1|0:b,a[p+40>>2]=Wt,a[p+44>>2]=b,B=a[(c=Sr=(b=56|it)+h|0)>>2],c=We+a[c+4>>2]|0,c=(B=B+Ve|0)>>>0<Ve>>>0?c+1|0:c,B=(v=a[(b=b+34416|0)>>2])+B|0,b=a[b+4>>2]+c|0,b=(ut^(ut^bt)&pt)+(b=B>>>0<v>>>0?b+1|0:b)|0,b=(c=(c=B)+(B=Z^(Z^re)&Wt)|0)>>>0<B>>>0?b+1|0:b,B=Ke(Wt,pt,50),v=$,B=Ke(Wt,pt,46)^B,v^=$,B=(we=Ke(Wt,pt,23)^B)+c|0,c=($^v)+b|0,c=B>>>0<we>>>0?c+1|0:c,b=Ke(Q,Me,36),v=$,b=Ke(Q,Me,30)^b,we=$^v,ee=Ke(Q,Me,25)^b,b=((L|H)&Me|L&H)+($^we)|0,b=((v=ee+((j|de)&Q|j&de)|0)>>>0<ee>>>0?b+1|0:b)+c|0,we=b=(we=v)>>>0>(v=B+v|0)>>>0?b+1|0:b,a[p>>2]=v,a[p+4>>2]=b,c=c+ye|0,We=c=(ee=B+ke|0)>>>0<B>>>0?c+1|0:c,a[p+32>>2]=ee,a[p+36>>2]=c,B=a[(b=Or=(c=64|it)+h|0)>>2],b=ut+a[b+4>>2]|0,b=(B=B+Z|0)>>>0<Z>>>0?b+1|0:b,B=(Z=a[(c=c+34416|0)>>2])+B|0,c=a[c+4>>2]+b|0,c=(bt^(pt^bt)&We)+(c=B>>>0<Z>>>0?c+1|0:c)|0,c=(b=(b=B)+(B=re^(re^Wt)&ee)|0)>>>0<B>>>0?c+1|0:c,B=Ke(ee,We,50),Z=$,B=Ke(ee,We,46)^B,Z^=$,B=(Ve=Ke(ee,We,23)^B)+b|0,b=($^Z)+c|0,ye=b=B>>>0<Ve>>>0?b+1|0:b,c=b,b=Ke(v,we,36),Z=$,b=Ke(v,we,30)^b,Ve=$^Z,ke=Ke(v,we,25)^b,b=((H|Me)&we|H&Me)+($^Ve)|0,c=((Z=ke+((Q|j)&v|Q&j)|0)>>>0<ke>>>0?b+1|0:b)+c|0,Z=c=(Ve=B+Z|0)>>>0<Z>>>0?c+1|0:c,a[p+56>>2]=Ve,a[p+60>>2]=c,b=L+ye|0,ut=b=(L=B+de|0)>>>0<B>>>0?b+1|0:b,a[p+24>>2]=L,a[p+28>>2]=b,B=a[(c=nr=(b=72|it)+h|0)>>2],c=bt+a[c+4>>2]|0,c=(B=B+re|0)>>>0<re>>>0?c+1|0:c,B=(re=a[(b=b+34416|0)>>2])+B|0,b=a[b+4>>2]+c|0,b=(pt^(We^pt)&ut)+(b=B>>>0<re>>>0?b+1|0:b)|0,b=(c=(c=B)+(B=Wt^(ee^Wt)&L)|0)>>>0<B>>>0?b+1|0:b,B=Ke(L,ut,50),re=$,B=Ke(L,ut,46)^B,re^=$,B=(ye=Ke(L,ut,23)^B)+c|0,c=($^re)+b|0,c=B>>>0<ye>>>0?c+1|0:c,b=Ke(Ve,Z,36),re=$,b=Ke(Ve,Z,30)^b,ye=$^re,ke=Ke(Ve,Z,25)^b,b=((we|Me)&Z|we&Me)+($^ye)|0,b=((re=ke+((Q|v)&Ve|Q&v)|0)>>>0<ke>>>0?b+1|0:b)+c|0,re=b=(ye=B+re|0)>>>0<re>>>0?b+1|0:b,a[p+48>>2]=ye,a[p+52>>2]=b,c=c+H|0,bt=c=(H=B+j|0)>>>0<B>>>0?c+1|0:c,a[p+16>>2]=H,a[p+20>>2]=c,c=(c=Wt)+(j=a[(b=Wt=(B=80|it)+h|0)>>2])|0,b=a[b+4>>2]+pt|0,b=c>>>0<j>>>0?b+1|0:b,B=(de=c)+(j=a[(c=B+34416|0)>>2])|0,c=a[c+4>>2]+b|0,c=(We^(We^ut)&bt)+(c=B>>>0<j>>>0?c+1|0:c)|0,c=(b=(b=B)+(B=ee^(L^ee)&H)|0)>>>0<B>>>0?c+1|0:c,B=Ke(H,bt,50),j=$,B=Ke(H,bt,46)^B,j^=$,B=(ke=Ke(H,bt,23)^B)+b|0,b=($^j)+c|0,de=b=B>>>0<ke>>>0?b+1|0:b,c=b,b=Ke(ye,re,36),j=$,b=Ke(ye,re,30)^b,ke=$^j,pt=Ke(ye,re,25)^b,b=((Z|we)&re|Z&we)+($^ke)|0,c=((j=pt+((v|Ve)&ye|v&Ve)|0)>>>0<pt>>>0?b+1|0:b)+c|0,j=c=(ke=B+j|0)>>>0<j>>>0?c+1|0:c,a[p+40>>2]=ke,a[p+44>>2]=c,b=de+Me|0,Me=b=(de=B+Q|0)>>>0<Q>>>0?b+1|0:b,a[p+8>>2]=de,a[p+12>>2]=b,b=34416+(c=88|it)|0,Q=a[(c=dt=c+h|0)>>2],B=a[b>>2]+Q|0,c=a[b+4>>2]+a[c+4>>2]|0,b=We+(B>>>0<Q>>>0?c+1|0:c)|0,b=(ut^(ut^bt)&Me)+(b=(c=B+ee|0)>>>0<ee>>>0?b+1|0:b)|0,b=(c=(B=L^(L^H)&de)+c|0)>>>0<B>>>0?b+1|0:b,B=Ke(de,Me,50),Q=$,B=Ke(de,Me,46)^B,Q^=$,B=(ee=Ke(de,Me,23)^B)+c|0,c=($^Q)+b|0,c=B>>>0<ee>>>0?c+1|0:c,b=Ke(ke,j,36),Q=$,b=Ke(ke,j,30)^b,ee=$^Q,pt=Ke(ke,j,25)^b,b=((Z|re)&j|Z&re)+($^ee)|0,b=((Q=pt+((ye|Ve)&ke|ye&Ve)|0)>>>0<pt>>>0?b+1|0:b)+c|0,ee=b=(ee=Q)>>>0>(Q=B+Q|0)>>>0?b+1|0:b,a[p+32>>2]=Q,a[p+36>>2]=b,c=c+we|0,we=c=(b=v)>>>0>(v=B+v|0)>>>0?c+1|0:c,a[p>>2]=v,a[p+4>>2]=c,b=34416+(c=96|it)|0,pt=a[(c=kr=c+h|0)>>2],B=a[b>>2]+pt|0,b=a[b+4>>2]+a[c+4>>2]|0,c=ut+(B>>>0<pt>>>0?b+1|0:b)|0,c=(b=B+L|0)>>>0<L>>>0?c+1|0:c,B=(L=H^(H^de)&v)+b|0,b=(bt^(Me^bt)&we)+c|0,b=B>>>0<L>>>0?b+1|0:b,c=Ke(v,we,50),L=$,c=Ke(v,we,46)^c,L^=$,ut=B,B=Ke(v,we,23)^c,b=($^L)+b|0,We=b=(c=ut+B|0)>>>0<B>>>0?b+1|0:b,B=c,c=Ke(Q,ee,36),L=$,c=Ke(Q,ee,30)^c,pt=$^L,ut=Ke(Q,ee,25)^c,c=((j|re)&ee|j&re)+($^pt)|0,b=((L=ut+((ye|ke)&Q|ye&ke)|0)>>>0<ut>>>0?c+1|0:c)+b|0,L=b=(pt=B+L|0)>>>0<L>>>0?b+1|0:b,a[p+24>>2]=pt,a[p+28>>2]=b,b=Z+We|0,Z=b=(Ve=B+Ve|0)>>>0<B>>>0?b+1|0:b,a[p+56>>2]=Ve,a[p+60>>2]=b,b=34416+(c=104|it)|0,We=a[(c=ur=c+h|0)>>2],B=a[b>>2]+We|0,c=a[b+4>>2]+a[c+4>>2]|0,b=bt+(B>>>0<We>>>0?c+1|0:c)|0,b=(c=B+H|0)>>>0<H>>>0?b+1|0:b,B=(H=de^(v^de)&Ve)+c|0,c=(Me^(we^Me)&Z)+b|0,c=B>>>0<H>>>0?c+1|0:c,b=Ke(Ve,Z,50),H=$,b=Ke(Ve,Z,46)^b,H^=$,We=Ke(Ve,Z,23)^b,b=($^H)+c|0,ut=b=(B=We+B|0)>>>0<We>>>0?b+1|0:b,c=b,b=Ke(pt,L,36),H=$,b=Ke(pt,L,30)^b,We=$^H,bt=Ke(pt,L,25)^b,b=((j|ee)&L|j&ee)+($^We)|0,c=((H=bt+((Q|ke)&pt|Q&ke)|0)>>>0<bt>>>0?b+1|0:b)+c|0,H=c=(We=B+H|0)>>>0<H>>>0?c+1|0:c,a[p+16>>2]=We,a[p+20>>2]=c,c=re+ut|0,re=c=(ye=B+ye|0)>>>0<B>>>0?c+1|0:c,a[p+48>>2]=ye,a[p+52>>2]=c,b=34416+(c=112|it)|0,ut=a[(B=bt=c+h|0)>>2],c=a[b>>2]+ut|0,b=a[b+4>>2]+a[B+4>>2]|0,b=Me+(c>>>0<ut>>>0?b+1|0:b)|0,b=(we^(Z^we)&re)+(b=(c=c+de|0)>>>0<de>>>0?b+1|0:b)|0,b=(c=(B=v^(v^Ve)&ye)+c|0)>>>0<B>>>0?b+1|0:b,B=Ke(ye,re,50),de=$,B=Ke(ye,re,46)^B,de^=$,B=(Me=Ke(ye,re,23)^B)+c|0,c=($^de)+b|0,ut=c=B>>>0<Me>>>0?c+1|0:c,b=c,c=Ke(We,H,36),de=$,c=Ke(We,H,30)^c,Me=$^de,Jt=Ke(We,H,25)^c,c=((L|ee)&H|L&ee)+($^Me)|0,b=((de=Jt+((Q|pt)&We|Q&pt)|0)>>>0<Jt>>>0?c+1|0:c)+b|0,de=b=(Me=B+de|0)>>>0<de>>>0?b+1|0:b,a[p+8>>2]=Me,a[p+12>>2]=b,b=j+ut|0,B=b=(j=B+ke|0)>>>0<B>>>0?b+1|0:b,a[p+40>>2]=j,a[p+44>>2]=b,b=34416+(c=120|it)|0,it=a[(c=ke=c+h|0)>>2],ut=a[b>>2]+it|0,b=a[b+4>>2]+a[c+4>>2]|0,c=we+(ut>>>0<it>>>0?b+1|0:b)|0,c=(Z^(Z^re)&B)+(c=(b=v+ut|0)>>>0<v>>>0?c+1|0:c)|0,c=(b=(v=Ve^(ye^Ve)&j)+b|0)>>>0<v>>>0?c+1|0:c,v=Ke(j,B,50),Z=$,v=Ke(j,B,46)^v,Z^=$,B=(v=Ke(j,B,23)^v)+b|0,b=($^Z)+c|0,b=B>>>0<v>>>0?b+1|0:b,v=B,Z=b,c=b,b=Ke(Me,de,36),j=$,b=Ke(Me,de,30)^b,re=$^j,we=Ke(Me,de,25)^b,b=((L|H)&de|L&H)+($^re)|0,c=((j=we+((We|pt)&Me|We&pt)|0)>>>0<we>>>0?b+1|0:b)+c|0,c=(B=B+j|0)>>>0<j>>>0?c+1|0:c,a[p>>2]=B,a[p+4>>2]=c,b=Z+ee|0,b=(re=Q)>>>0>(Q=Q+v|0)>>>0?b+1|0:b,a[p+32>>2]=Q,a[p+36>>2]=b,(0|Mr)!=64;)H=((Mr=Mr+16|0)<<3)+h|0,v=a[Ye>>2],L=a[Ye+4>>2],Jt=a[nr>>2],Z=c=a[nr+4>>2],b=c,B=c=a[bt+4>>2],c=Ke(pt=a[bt>>2],c,45),Q=$,re=((63&B)<<26|pt>>>6)^(c=Ke(pt,B,3)^c),c=(B>>>6^(j=$^Q))+b|0,b=((Q=re+Jt|0)>>>0<re>>>0?c+1|0:c)+L|0,b=(c=Q+v|0)>>>0<Q>>>0?b+1|0:b,v=Q=a[Kt+4>>2],Q=Ke(L=a[Kt>>2],Q,63),j=$,Q=((127&v)<<25|L>>>7)^Ke(L,v,56)^Q,b=($^j^v>>>7)+b|0,Q=b=Q>>>0>(We=Q+c|0)>>>0?b+1|0:b,a[H>>2]=We,a[H+4>>2]=b,L=(bt=a[Wt>>2])+L|0,c=(H=a[Wt+4>>2])+v|0,b=L>>>0<bt>>>0?c+1|0:c,v=c=a[ke+4>>2],c=Ke(ut=a[ke>>2],c,45),j=$,re=L,L=((63&v)<<26|ut>>>6)^Ke(ut,v,3)^c,b=($^j^v>>>6)+b|0,L=L>>>0>(re=re+L|0)>>>0?b+1|0:b,b=Ke(j=a[gr>>2],c=a[gr+4>>2],63),we=$,de=re,re=((127&c)<<25|j>>>7)^Ke(j,c,56)^b,b=($^we^c>>>7)+L|0,L=b=re>>>0>(Me=de+re|0)>>>0?b+1|0:b,a[Ye+136>>2]=Me,a[Ye+140>>2]=b,b=(Wt=a[dt>>2])+j|0,c=(j=a[dt+4>>2])+c|0,re=Ke(We,Q,45),we=$,re=(ee=((63&Q)<<26|We>>>6)^Ke(We,Q,3)^re)+b|0,b=($^we^Q>>>6)+(b>>>0<Wt>>>0?c+1|0:c)|0,b=re>>>0<ee>>>0?b+1|0:b,we=c=a[or+4>>2],c=Ke(ee=a[or>>2],c,63),Ve=$,de=re,re=((127&we)<<25|ee>>>7)^Ke(ee,we,56)^c,b=($^Ve^we>>>7)+b|0,re=b=re>>>0>(it=de+re|0)>>>0?b+1|0:b,a[Ye+144>>2]=it,a[Ye+148>>2]=b,ee=(Kt=a[kr>>2])+ee|0,c=(c=we)+(we=a[kr+4>>2])|0,b=ee>>>0<Kt>>>0?c+1|0:c,c=Ke(Me,L,45),Ve=$,ye=((63&L)<<26|Me>>>6)^Ke(Me,L,3)^c,b=($^Ve^L>>>6)+b|0,b=(ee=ye+ee|0)>>>0<ye>>>0?b+1|0:b,Ve=c=a[yr+4>>2],c=Ke(ye=a[yr>>2],c,63),ke=$,de=ee,ee=((127&Ve)<<25|ye>>>7)^Ke(ye,Ve,56)^c,b=($^ke^Ve>>>7)+b|0,ee=b=ee>>>0>(gr=de+ee|0)>>>0?b+1|0:b,a[Ye+152>>2]=gr,a[Ye+156>>2]=b,c=(or=a[ur>>2])+ye|0,b=(b=Ve)+(Ve=a[ur+4>>2])|0,ye=Ke(it,re,45),ke=$,ye=((63&re)<<26|it>>>6)^Ke(it,re,3)^ye,b=($^ke^re>>>6)+(c>>>0<or>>>0?b+1|0:b)|0,ye=(de=ye+c|0)>>>0<ye>>>0?b+1|0:b,b=Ke(ke=a[vr>>2],c=a[vr+4>>2],63),yr=$,dt=de,de=((127&c)<<25|ke>>>7)^(b=Ke(ke,c,56)^b),b=(c>>>7^(vr=$^yr))+ye|0,ye=b=de>>>0>(yr=dt+de|0)>>>0?b+1|0:b,a[Ye+160>>2]=yr,a[Ye+164>>2]=b,c=c+B|0,c=(b=ke+pt|0)>>>0<ke>>>0?c+1|0:c,ke=Ke(gr,ee,45),de=$,ke=(vr=((63&ee)<<26|gr>>>6)^Ke(gr,ee,3)^ke)+b|0,b=($^de^ee>>>6)+c|0,b=ke>>>0<vr>>>0?b+1|0:b,de=a[cr>>2],cr=c=a[cr+4>>2],c=Ke(de,c,63),vr=$,c=Ke(de,cr,56)^c,dt=ke,b=(cr>>>7^(nr=$^vr))+b|0,ke=b=(ke=((127&cr)<<25|de>>>7)^c)>>>0>(vr=dt+ke|0)>>>0?b+1|0:b,a[Ye+168>>2]=vr,a[Ye+172>>2]=b,c=v+cr|0,c=(b=de+ut|0)>>>0<de>>>0?c+1|0:c,dt=de=a[Sr+4>>2],de=Ke(nr=a[Sr>>2],de,63),cr=$,de=(Sr=((127&dt)<<25|nr>>>7)^Ke(nr,dt,56)^de)+b|0,b=($^cr^dt>>>7)+c|0,c=de>>>0<Sr>>>0?b+1|0:b,b=Ke(yr,ye,45),cr=$,b=Ke(yr,ye,3)^b,Sr=$^cr,cr=de,c=(ye>>>6^Sr)+c|0,de=c=(de=((63&ye)<<26|yr>>>6)^b)>>>0>(cr=cr+de|0)>>>0?c+1|0:c,a[Ye+176>>2]=cr,a[Ye+180>>2]=c,kr=a[Or>>2],Or=c=a[Or+4>>2],Sr=c,c=Ke(Jt,Z,63),b=$,ur=((127&Z)<<25|Jt>>>7)^Ke(Jt,Z,56)^c,c=($^b^Z>>>7)+L|0,b=((Me=ur+Me|0)>>>0<ur>>>0?c+1|0:c)+Sr|0,b=(c=Me+kr|0)>>>0<Me>>>0?b+1|0:b,L=Ke(cr,de,45),Me=$,Sr=(L=((63&de)<<26|cr>>>6)^Ke(cr,de,3)^L)+c|0,c=($^Me^de>>>6)+b|0,L=c=L>>>0>Sr>>>0?c+1|0:c,a[Ye+192>>2]=Sr,a[Ye+196>>2]=c,b=Q+dt|0,b=(c=We+nr|0)>>>0<nr>>>0?b+1|0:b,Me=Ke(kr,Or,63),nr=$,dt=((127&Or)<<25|kr>>>7)^Ke(kr,Or,56)^Me,b=($^nr^Or>>>7)+b|0,c=(Me=dt+c|0)>>>0<dt>>>0?b+1|0:b,b=Ke(vr,ke,45),nr=$,b=Ke(vr,ke,3)^b,Or=Me,c=(ke>>>6^(dt=$^nr))+c|0,Me=c=(Me=((63&ke)<<26|vr>>>6)^b)>>>0>(nr=Or+Me|0)>>>0?c+1|0:c,a[Ye+184>>2]=nr,a[Ye+188>>2]=c,c=Ke(Wt,j,63),b=$,c=((127&j)<<25|Wt>>>7)^Ke(Wt,j,56)^c,b=($^b^j>>>7)+H|0,c=ee+(c>>>0>(dt=c+bt|0)>>>0?b+1|0:b)|0,c=(b=gr+dt|0)>>>0<gr>>>0?c+1|0:c,ee=Ke(Sr,L,45),gr=$,ee=Ke(Sr,L,3)^ee,dt=$^gr,gr=(ee^=(63&L)<<26|Sr>>>6)+b|0,b=(L>>>6^dt)+c|0,ee=b=ee>>>0>gr>>>0?b+1|0:b,a[Ye+208>>2]=gr,a[Ye+212>>2]=b,c=Ke(bt,H,63),b=$,dt=Ke(bt,H,56)^c,b=((c=H>>>7|0)^$^b)+Z|0,c=re+((H=(bt=dt^((127&H)<<25|bt>>>7))+Jt|0)>>>0<bt>>>0?b+1|0:b)|0,c=(b=H+it|0)>>>0<it>>>0?c+1|0:c,Z=Ke(nr,Me,45),H=$,re=(Z=((63&Me)<<26|nr>>>6)^Ke(nr,Me,3)^Z)+b|0,b=($^H^Me>>>6)+c|0,Z=b=Z>>>0>re>>>0?b+1|0:b,a[Ye+200>>2]=re,a[Ye+204>>2]=b,c=Ke(or,Ve,63),b=$,bt=((127&Ve)<<25|or>>>7)^Ke(or,Ve,56)^c,c=($^b^Ve>>>7)+we|0,b=ke+((H=bt+Kt|0)>>>0<bt>>>0?c+1|0:c)|0,b=(c=H+vr|0)>>>0<vr>>>0?b+1|0:b,H=Ke(gr,ee,45),ke=$,bt=c,c=ee>>>6|0,H=((63&ee)<<26|gr>>>6)^Ke(gr,ee,3)^H,b=(c^$^ke)+b|0,H=b=H>>>0>(ee=bt+H|0)>>>0?b+1|0:b,a[Ye+224>>2]=ee,a[Ye+228>>2]=b,c=Ke(Kt,we,63),b=$,c=Ke(Kt,we,56)^c,ke=$^b,bt=((127&we)<<25|Kt>>>7)^c,c=((b=we>>>7|0)^ke)+j|0,b=ye+((we=bt+Wt|0)>>>0<bt>>>0?c+1|0:c)|0,b=(c=we+yr|0)>>>0<yr>>>0?b+1|0:b,j=Ke(re,Z,45),we=$,ke=c,c=Z>>>6|0,Z=((63&Z)<<26|re>>>6)^Ke(re,Z,3)^j,c=(c^$^we)+b|0,Z=c=(j=ke+Z|0)>>>0<Z>>>0?c+1|0:c,a[Ye+216>>2]=j,a[Ye+220>>2]=c,c=Ke(ut,v,63),b=$,we=((127&v)<<25|ut>>>7)^Ke(ut,v,56)^c,b=($^b^v>>>7)+B|0,b=Me+((c=we+pt|0)>>>0<we>>>0?b+1|0:b)|0,c=(re=c+nr|0)>>>0<nr>>>0?b+1|0:b,b=Ke(ee,H,45),we=$,ke=re,re=Ke(ee,H,3)^b,b=H>>>6|0,H=ke+(re^=(63&H)<<26|ee>>>6)|0,c=(b^$^we)+c|0,a[Ye+240>>2]=H,a[Ye+244>>2]=H>>>0<re>>>0?c+1|0:c,c=Ke(pt,B,63),b=$,c=Ke(pt,B,56)^c,H=$^b,b=((b=B>>>7|0)^H)+Ve|0,c=de+((c^=(127&B)<<25|pt>>>7)>>>0>(B=c+or|0)>>>0?b+1|0:b)|0,c=(b=B+cr|0)>>>0<cr>>>0?c+1|0:c,B=Ke(j,Z,45),H=$,re=b,b=Z>>>6|0,B=((63&Z)<<26|j>>>6)^Ke(j,Z,3)^B,b=(b^$^H)+c|0,B=b=B>>>0>(Z=re+B|0)>>>0?b+1|0:b,a[Ye+232>>2]=Z,a[Ye+236>>2]=b,c=Ke(We,Q,63),b=$,re=Ke(We,Q,56)^c,b=((c=Q>>>7|0)^$^b)+v|0,c=L+((Q=(H=re^((127&Q)<<25|We>>>7))+ut|0)>>>0<H>>>0?b+1|0:b)|0,c=(b=Q+Sr|0)>>>0<Sr>>>0?c+1|0:c,Q=Ke(Z,B,45),v=$,re=b,b=B>>>6|0,B=re+(Q=((63&B)<<26|Z>>>6)^Ke(Z,B,3)^Q)|0,b=(b^$^v)+c|0,a[Ye+248>>2]=B,a[Ye+252>>2]=B>>>0<Q>>>0?b+1|0:b;c=c+a[f+4>>2]|0,c=(h=B+a[f>>2]|0)>>>0<B>>>0?c+1|0:c,a[f>>2]=h,a[f+4>>2]=c,b=a[f+12>>2]+a[p+12>>2]|0,c=(h=a[p+8>>2])+a[f+8>>2]|0,a[f+8>>2]=c,a[f+12>>2]=c>>>0<h>>>0?b+1|0:b,b=a[f+20>>2]+a[p+20>>2]|0,c=(h=a[p+16>>2])+a[f+16>>2]|0,a[f+16>>2]=c,a[f+20>>2]=c>>>0<h>>>0?b+1|0:b,c=a[f+28>>2]+a[p+28>>2]|0,h=(b=a[p+24>>2])+a[f+24>>2]|0,a[f+24>>2]=h,a[f+28>>2]=h>>>0<b>>>0?c+1|0:c,b=a[f+36>>2]+a[p+36>>2]|0,c=(h=a[p+32>>2])+a[f+32>>2]|0,a[f+32>>2]=c,a[f+36>>2]=c>>>0<h>>>0?b+1|0:b,c=a[f+44>>2]+a[p+44>>2]|0,h=(b=a[p+40>>2])+a[f+40>>2]|0,a[f+40>>2]=h,a[f+44>>2]=h>>>0<b>>>0?c+1|0:c,b=a[f+52>>2]+a[p+52>>2]|0,c=(h=a[p+48>>2])+a[f+48>>2]|0,a[f+48>>2]=c,a[f+52>>2]=c>>>0<h>>>0?b+1|0:b,b=a[f+60>>2]+a[p+60>>2]|0,c=(h=a[p+56>>2])+a[f+56>>2]|0,a[f+56>>2]=c,a[f+60>>2]=c>>>0<h>>>0?b+1|0:b}function oo(f,c){var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0;if(Ie=h=Ie-4096|0,f){e:{t:{if((0|(Q=a[f+36>>2]))==2){if(pn=a[f+4>>2],(xe=a[c>>2])|(Gr=S[c+8|0])>>>0>=2)break t;xe=0}else Gr=S[c+8|0],pn=a[f+4>>2],xe=a[c>>2];if(yo(h+3072|0,0,1024),yo(h+2104|0,0,968),a[h+2048>>2]=xe,a[h+2052>>2]=0,cr=a[c+4>>2],a[h+2064>>2]=Gr,a[h+2068>>2]=0,a[h+2056>>2]=cr,a[h+2060>>2]=0,a[h+2072>>2]=a[f+16>>2],a[h+2076>>2]=0,cr=a[f+8>>2],a[h+2088>>2]=Q,a[h+2092>>2]=0,a[h+2080>>2]=cr,a[h+2084>>2]=0,!a[f+20>>2])break e;for(cr=0;(ye=127&H)||(cr=(Or=Or+1|0)?cr:cr+1|0,a[h+2096>>2]=Or,a[h+2100>>2]=cr,Q=yo(h,0,1024),yo(Q+1024|0,0,1024),Tr(p=Q+3072|0,Q+2048|0,Q),Tr(p,Q,Q+1024|0)),ye=a[4+(Q=(h+1024|0)+(ye<<3)|0)>>2],a[(p=(H<<3)+pn|0)>>2]=a[Q>>2],a[p+4>>2]=ye,(ye=a[f+20>>2])>>>0>(H=H+1|0)>>>0;);break e}ye=a[f+20>>2],ft=1}if(!((cr=(Mn=!(Gr|xe))<<1)>>>0>=ye>>>0))for(Q=a[f+24>>2],hn=a[c+4>>2],H=(Or=(Lr(Q,hn)+cr|0)+Lr(ye,Gr)|0)+((Or>>>0)%(Q>>>0)|0?-1:Q-1|0)|0,Gt=Gr+1|0;;){p=a[f+28>>2],En=((Or>>>0)%((Q=a[f+24>>2])>>>0)|0)==1?Or-1|0:H,H=ft?a[a[f>>2]+4>>2]+(En<<10)|0:(cr<<3)+pn|0,b=a[H>>2],H=a[H+4>>2],a[c+12>>2]=cr,p=Mn?hn:(H>>>0)%(p>>>0)|0;e:if(xe)H=Q+((0|p)==(0|hn)?~ye+cr|0:(cr?0:-1)-ye|0)|0,B=0,(0|Gr)!=3&&(B=Lr(ye,Gt));else{if(!Gr){H=cr-1|0,B=0;break e}if(H=Lr(ye,Gr),(0|p)==(0|hn)){H=(H+cr|0)-1|0,B=0;break e}H=H-!cr|0,B=0}ye=B,v=(Z=a[a[f>>2]+4>>2])+(Lr(p,Q)<<10)|0,re=(p=H-1|0)>>>0>(B=p+ye|0)>>>0,Ce(b,0,b,0),Ce(H,0,$,0),ye=B-(H=$)|0,p=0,j=0;e:{t:{r:{n:{i:{c:{s:{o:{d:{a:{if(H=re-(B>>>0<H>>>0)|0){if(!Q)break a;break d}Zt=ye-Lr((ye>>>0)/(Q>>>0)|0,Q)|0,Ir=0,$=0;break e}if(!ye)break o;break s}if(!((b=Q-1|0)&Q))break c;L=0-(b=(Wr(Q)+33|0)-Wr(H)|0)|0;break n}Zt=0,Ir=H,$=0;break e}if((p=32-Wr(H)|0)>>>0<31)break i;break r}if(Zt=b&ye,Ir=0,(0|Q)==1)break t;Q=31&(ye=LH(Q)),(63&ye)>>>0>=32?b=H>>>Q|0:(p=H>>>Q|0,b=0),$=p;break e}b=p+1|0,L=63-p|0}if(B=31&(p=63&b),p>>>0>=32?(p=0,re=H>>>B|0):(p=H>>>B|0,re=((1<<B)-1&H)<<32-B|ye>>>B),B=31&(L&=63),L>>>0>=32?(H=ye<<B,ye=0):(H=(1<<B)-1&ye>>>32-B|H<<B,ye<<=B),b)for(ke=(0|(L=Q-1|0))==-1?-1:0;dt=p<<1|re>>>31,re=(p=re<<1|H>>>31)-(pt=Q&(B=ke-(dt+(p>>>0>L>>>0)|0)>>31))|0,p=dt-(p>>>0<pt>>>0)|0,H=H<<1|ye>>>31,ye=j|ye<<1,j=1&B,b=b-1|0;);Zt=re,Ir=p,$=H<<1|ye>>>31;break e}Zt=ye,Ir=H,H=0}$=H}if($=Ir,H=(Zt<<10)+v|0,Q=Z+(En<<10)|0,Nr=Z+(Or<<10)|0,xe)Tr(Q,H,Nr);else{for(Di(h+3072|0,H,1024),H=0;B=a[(b=(ye=H<<3)+(p=h+3072|0)|0)>>2],Z=a[(re=Q+ye|0)>>2],re=a[b+4>>2]^a[re+4>>2],a[b>>2]=B^Z,a[b+4>>2]=re,re=a[(b=(B=8|ye)+p|0)>>2],Z=a[(B=Q+B|0)>>2],B=a[b+4>>2]^a[B+4>>2],a[b>>2]=re^Z,a[b+4>>2]=B,re=a[(b=(B=16|ye)+p|0)>>2],Z=a[(B=Q+B|0)>>2],B=a[b+4>>2]^a[B+4>>2],a[b>>2]=re^Z,a[b+4>>2]=B,B=a[(ye=(b=24|ye)+p|0)>>2],re=a[(b=b+Q|0)>>2],b=a[ye+4>>2]^a[b+4>>2],a[ye>>2]=B^re,a[ye+4>>2]=b,(0|(H=H+4|0))!=128;);for(Di(h+2048|0,p,1024),ye=0,H=0;B=(re=a[56+(Q=(h+3072|0)+(H<<7)|0)>>2])+(b=a[Q+24>>2])|0,Z=(ke=a[Q+60>>2])+(p=a[Q+28>>2])|0,j=Ce(b<<1&-2,1&(p<<1|b>>>31),re,0),b=$+(b>>>0>B>>>0?Z+1|0:Z)|0,Z=(p=j+B|0)>>>0<j>>>0?b+1|0:b,v=(j=Ke(p^a[Q+120>>2],Z^a[Q+124>>2],32))+(b=a[Q+88>>2])|0,L=(we=$)+(B=a[Q+92>>2])|0,dt=Ce(j,0,b<<1&-2,1&(B<<1|b>>>31)),b=$+(b>>>0>v>>>0?L+1|0:L)|0,pt=Ke(re^(B=dt+v|0),ke^(vr=B>>>0<dt>>>0?b+1|0:b),40),ee=1+(b=Z+(Yr=$)|0)|0,L=b,re=(b=p+pt|0)>>>0<p>>>0?ee:L,dt=(p=Ce(pt,0,p<<1&-2,1&(Z<<1|p>>>31)))+b|0,b=$+re|0,we=Ke(dt^j,we^(Jt=p>>>0>dt>>>0?b+1|0:b),48),Ye=ee=$,re=(de=a[Q+44>>2])+(p=a[Q+12>>2])|0,j=(Z=a[Q+40>>2])+(b=a[Q+8>>2])|0,v=Ce(b<<1&-2,1&(p<<1|b>>>31),Z,0),b=$+(b>>>0>j>>>0?re+1|0:re)|0,v=(p=j+v|0)>>>0<v>>>0?b+1|0:b,j=(L=Ke(p^a[Q+104>>2],v^a[Q+108>>2],32))+(re=a[Q+72>>2])|0,ke=(Ve=$)+(b=a[Q+76>>2])|0,Me=Ce(L,0,re<<1&-2,1&(b<<1|re>>>31)),re=$+(j>>>0<re>>>0?ke+1|0:ke)|0,j=Ke(bt=Z^(b=Me+j|0),de^(Z=b>>>0<Me>>>0?re+1|0:re),40),Me=1+(re=v+(ke=$)|0)|0,de=re,de=(re=p+j|0)>>>0<p>>>0?Me:de,p=Ce(j,0,p<<1&-2,1&(v<<1|p>>>31)),v=$+de|0,de=Ke((re=p+re|0)^L,Ve^(ur=p>>>0>re>>>0?v+1|0:v),48),Me=1+(p=Z+(An=$)|0)|0,L=p,v=(p=b+de|0)>>>0<b>>>0?Me:L,Z=p+(b=Ce(de,0,b<<1&-2,1&(Z<<1|b>>>31)))|0,p=$+v|0,Ve=Ke(j^Z,ke^(jr=b>>>0>Z>>>0?p+1|0:p),1),nt=bt=$,j=(it=a[Q+36>>2])+(p=a[Q+4>>2])|0,L=(v=a[Q+32>>2])+(b=a[Q>>2])|0,ke=Ce(b<<1&-2,1&(p<<1|b>>>31),v,0),b=$+(b>>>0>L>>>0?j+1|0:j)|0,L=(p=L+ke|0)>>>0<ke>>>0?b+1|0:b,ke=(or=Ke(p^a[Q+96>>2],L^a[Q+100>>2],32))+(b=a[(j=kr=Q- -64|0)>>2])|0,Me=(fn=$)+(j=a[j+4>>2])|0,Sr=Ce(or,0,b<<1&-2,1&(j<<1|b>>>31)),b=$+(b>>>0>ke>>>0?Me+1|0:Me)|0,Me=Ke(v^(j=Sr+ke|0),it^(Sr=j>>>0<Sr>>>0?b+1|0:b),40),ke=1+(b=L+(Ne=$)|0)|0,v=b,v=(b=p+Me|0)>>>0<p>>>0?ke:v,p=b+(L=Ce(Me,0,p<<1&-2,1&(L<<1|p>>>31)))|0,b=$+v|0,v=1+(b=(Mr=p>>>0<L>>>0?b+1|0:b)+bt|0)|0,L=b,L=(b=p+Ve|0)>>>0<p>>>0?v:L,v=b+(ke=Ce(Ve,0,p<<1&-2,1&(Mr<<1|p>>>31)))|0,b=$+L|0,ee=Ke(v^we,(nr=v>>>0<ke>>>0?b+1|0:b)^ee,32),yr=$,ke=(We=a[Q+52>>2])+(b=a[Q+20>>2])|0,it=(bt=a[Q+48>>2])+(L=a[Q+16>>2])|0,Wt=Ce(L<<1&-2,1&(b<<1|L>>>31),bt,0),L=$+(L>>>0>it>>>0?ke+1|0:ke)|0,it=(b=it+Wt|0)>>>0<Wt>>>0?L+1|0:L,Kt=(Wt=Ke(b^a[Q+112>>2],it^a[Q+116>>2],32))+(ke=a[Q+80>>2])|0,gr=(Cr=$)+(L=a[Q+84>>2])|0,ut=Ce(Wt,0,ke<<1&-2,1&(L<<1|ke>>>31)),ke=$+(ke>>>0>Kt>>>0?gr+1|0:gr)|0,bt=Ke(bt^(L=ut+Kt|0),We^(Kt=L>>>0<ut>>>0?ke+1|0:ke),40),ut=1+(ke=it+(We=$)|0)|0,gr=ke,gr=(ke=b+bt|0)>>>0<b>>>0?ut:gr,b=Ce(bt,0,b<<1&-2,1&(it<<1|b>>>31)),it=$+gr|0,it=Ke(ut=(ke=b+ke|0)^Wt,Cr^(Wt=b>>>0>ke>>>0?it+1|0:it),48),ut=1+(b=Kt+(Cr=$)|0)|0,gr=b,gr=(b=L+it|0)>>>0<L>>>0?ut:gr,L=Ce(it,0,L<<1&-2,1&(Kt<<1|L>>>31)),Kt=$+gr|0,ut=1+(L=(Kt=(b=L+b|0)>>>0<L>>>0?Kt+1|0:Kt)+yr|0)|0,gr=L,gr=(L=b+ee|0)>>>0<b>>>0?ut:gr,nn=Ve^(L=(ut=Ce(ee,0,b<<1&-2,1&(Kt<<1|b>>>31)))+L|0),Ve=$+gr|0,Ve=Ke(nn,nt^(gr=L>>>0<ut>>>0?Ve+1|0:Ve),40),rr=1+(ut=nr+(nt=$)|0)|0,nn=ut,nn=(ut=v+Ve|0)>>>0<v>>>0?rr:nn,v=(nr=Ce(Ve,0,v<<1&-2,1&(nr<<1|v>>>31)))+ut|0,a[Q>>2]=v,ut=$+nn|0,nr=v>>>0<nr>>>0?ut+1|0:ut,a[Q+4>>2]=nr,v=Ke(v^ee,nr^yr,48),a[Q+120>>2]=v,ee=$,a[Q+124>>2]=ee,nn=1+(ee=ee+gr|0)|0,ut=ee,nr=(ee=v+L|0)>>>0<L>>>0?nn:ut,v=(L=Ce(v,0,L<<1&-2,1&(gr<<1|L>>>31)))+ee|0,a[Q+80>>2]=v,ee=$+nr|0,L=v>>>0<L>>>0?ee+1|0:ee,a[Q+84>>2]=L,Jr=Q,rn=Ke(v^Ve,L^nt,1),a[Jr+40>>2]=rn,a[Q+44>>2]=$,v=Ke(b^bt,We^Kt,1),ee=1+(b=ur+(bt=$)|0)|0,L=b,L=(b=v+re|0)>>>0<re>>>0?ee:L,b=b+(Ve=Ce(v,0,re<<1&-2,1&(ur<<1|re>>>31)))|0,re=$+L|0,L=Ke(p^or,Mr^fn,48),re=Ke(L^b,(Ve=b>>>0<Ve>>>0?re+1|0:re)^(ur=$),32),or=ee=$,We=1+(p=vr+Ye|0)|0,Ye=p,Mr=(p=B+we|0)>>>0<B>>>0?We:Ye,B=Ce(we,0,B<<1&-2,1&(vr<<1|B>>>31)),we=$+Mr|0,Ye=1+(B=(we=(p=B+p|0)>>>0<B>>>0?we+1|0:we)+ee|0)|0,ee=B,ee=(B=p+re|0)>>>0<p>>>0?Ye:ee,Ye=v^(B=(vr=Ce(re,0,p<<1&-2,1&(we<<1|p>>>31)))+B|0),v=$+ee|0,v=Ke(Ye,bt^(ee=B>>>0<vr>>>0?v+1|0:v),40),We=1+(vr=Ve+(bt=$)|0)|0,Ye=vr,Mr=(vr=b+v|0)>>>0<b>>>0?We:Ye,Ye=re^(b=(Ve=Ce(v,0,b<<1&-2,1&(Ve<<1|b>>>31)))+vr|0),re=$+Mr|0,re=Ke(Ye,or^(Ve=b>>>0<Ve>>>0?re+1|0:re),48),a[Q+96>>2]=re,vr=$,a[Q+100>>2]=vr,a[Q+8>>2]=b,a[Q+12>>2]=Ve,We=1+(b=ee+vr|0)|0,Ye=b,Ve=(b=B+re|0)>>>0<B>>>0?We:Ye,B=Ce(re,0,B<<1&-2,1&(ee<<1|B>>>31)),re=$+Ve|0,Jr=Q,rn=Ke((b=B+b|0)^v,bt^(B=b>>>0<B>>>0?re+1|0:re),1),a[Jr+48>>2]=rn,a[Q+52>>2]=$,a[Q+88>>2]=b,a[Q+92>>2]=B,re=Ke(p^pt,we^Yr,1),B=1+(p=Wt+(pt=$)|0)|0,b=p,B=(p=re+ke|0)>>>0<ke>>>0?B:b,b=p+(v=Ce(re,0,ke<<1&-2,1&(Wt<<1|ke>>>31)))|0,p=$+B|0,v=Ke(b^de,An^(ke=b>>>0<v>>>0?p+1|0:p),32),we=B=$,ee=1+(p=Sr+ur|0)|0,B=p,de=(p=j+L|0)>>>0<j>>>0?ee:B,j=Ce(L,0,j<<1&-2,1&(Sr<<1|j>>>31)),B=$+de|0,ee=1+(B=we+(j=(p=j+p|0)>>>0<j>>>0?B+1|0:B)|0)|0,L=B,L=(B=p+v|0)>>>0<p>>>0?ee:L,ee=re^(B=B+(de=Ce(v,0,p<<1&-2,1&(j<<1|p>>>31)))|0),re=$+L|0,re=Ke(ee,pt^(L=B>>>0<de>>>0?re+1|0:re),40),Ye=1+(de=ke+(pt=$)|0)|0,ee=de,Ve=(de=b+re|0)>>>0<b>>>0?Ye:ee,b=(ke=Ce(re,0,b<<1&-2,1&(ke<<1|b>>>31)))+de|0,a[Q+16>>2]=b,de=$+Ve|0,ke=b>>>0<ke>>>0?de+1|0:de,a[Q+20>>2]=ke,b=Ke(b^v,ke^we,48),a[Q+104>>2]=b,v=$,a[Q+108>>2]=v,ee=1+(v=v+L|0)|0,we=v,ke=(v=b+B|0)>>>0<B>>>0?ee:we,B=(b=Ce(b,0,B<<1&-2,1&(L<<1|B>>>31)))+v|0,v=$+ke|0,ke=b=b>>>0>B>>>0?v+1|0:v,a[kr>>2]=B,a[kr+4>>2]=b,b=(j=Ke(p^Me,j^Ne,1))+dt|0,v=(we=$)+Jt|0,p=(L=Ce(dt<<1&-2,1&(Jt<<1|dt>>>31),j,0))+b|0,b=$+(b>>>0<j>>>0?v+1|0:v)|0,v=Ke(p^it,Cr^(L=p>>>0<L>>>0?b+1|0:b),32),de=1+(b=jr+(dt=$)|0)|0,ee=b,de=(b=v+Z|0)>>>0<Z>>>0?de:ee,ee=j^(b=(Z=Ce(v,0,Z<<1&-2,1&(jr<<1|Z>>>31)))+b|0),j=$+de|0,Z=Ke(ee,we^(j=b>>>0<Z>>>0?j+1|0:j),40),Me=1+(de=L+(we=$)|0)|0,ee=de,Ve=(de=p+Z|0)>>>0<p>>>0?Me:ee,ee=v^(L=(p=Ce(Z,0,p<<1&-2,1&(L<<1|p>>>31)))+de|0),v=$+Ve|0,p=Ke(ee,dt^(v=p>>>0>L>>>0?v+1|0:v),48),Me=1+(de=j+(dt=$)|0)|0,ee=de,Ve=(de=p+b|0)>>>0<b>>>0?Me:ee,b=(j=Ce(p,0,b<<1&-2,1&(j<<1|b>>>31)))+de|0,a[Q+72>>2]=b,de=$+Ve|0,j=b>>>0<j>>>0?de+1|0:de,a[Q+76>>2]=j,a[Q+112>>2]=p,a[Q+116>>2]=dt,a[Q+24>>2]=L,a[Q+28>>2]=v,Jr=Q,rn=Ke(B^re,ke^pt,1),a[Jr+56>>2]=rn,a[Q+60>>2]=$,Jr=Q,rn=Ke(b^Z,j^we,1),a[Jr+32>>2]=rn,a[Q+36>>2]=$,(0|(H=H+1|0))!=8;);for(;b=(B=a[392+(Q=(h+3072|0)+(ye<<4)|0)>>2])+(p=a[Q+136>>2])|0,re=(L=a[Q+396>>2])+(H=a[Q+140>>2])|0,Z=Ce(p<<1&-2,1&(H<<1|p>>>31),B,0),p=$+(p>>>0>b>>>0?re+1|0:re)|0,re=(H=Z+b|0)>>>0<Z>>>0?p+1|0:p,j=(Z=Ke(H^a[Q+904>>2],re^a[Q+908>>2],32))+(p=a[Q+648>>2])|0,v=(pt=$)+(b=a[Q+652>>2])|0,ke=Ce(Z,0,p<<1&-2,1&(b<<1|p>>>31)),p=$+(p>>>0>j>>>0?v+1|0:v)|0,dt=Ke(B^(b=ke+j|0),L^(it=b>>>0<ke>>>0?p+1|0:p),40),L=1+(p=re+(Kt=$)|0)|0,B=p,B=(p=H+dt|0)>>>0<H>>>0?L:B,ke=(H=Ce(dt,0,H<<1&-2,1&(re<<1|H>>>31)))+p|0,p=$+B|0,pt=Ke(ke^Z,pt^(vr=H>>>0>ke>>>0?p+1|0:p),48),gr=Me=$,B=(we=a[Q+268>>2])+(H=a[Q+12>>2])|0,Z=(re=a[Q+264>>2])+(p=a[Q+8>>2])|0,j=Ce(p<<1&-2,1&(H<<1|p>>>31),re,0),p=$+(p>>>0>Z>>>0?B+1|0:B)|0,j=(H=Z+j|0)>>>0<j>>>0?p+1|0:p,Z=(v=Ke(H^a[Q+776>>2],j^a[Q+780>>2],32))+(B=a[Q+520>>2])|0,L=(de=$)+(p=a[Q+524>>2])|0,Ve=Ce(v,0,B<<1&-2,1&(p<<1|B>>>31)),B=$+(B>>>0>Z>>>0?L+1|0:L)|0,Z=Ke(ee=re^(p=Ve+Z|0),we^(re=p>>>0<Ve>>>0?B+1|0:B),40),ee=1+(B=j+(L=$)|0)|0,we=B,we=(B=H+Z|0)>>>0<H>>>0?ee:we,H=Ce(Z,0,H<<1&-2,1&(j<<1|H>>>31)),j=$+we|0,we=Ke((B=H+B|0)^v,de^(Jt=B>>>0<H>>>0?j+1|0:j),48),de=1+(H=re+(Yr=$)|0)|0,ee=H,j=(H=p+we|0)>>>0<p>>>0?de:ee,re=H+(p=Ce(we,0,p<<1&-2,1&(re<<1|p>>>31)))|0,H=$+j|0,de=Ke(Z^re,L^(ur=p>>>0>re>>>0?H+1|0:H),1),Ye=ee=$,Z=(bt=a[Q+260>>2])+(H=a[Q+4>>2])|0,v=(j=a[Q+256>>2])+(p=a[Q>>2])|0,L=Ce(p<<1&-2,1&(H<<1|p>>>31),j,0),p=$+(p>>>0>v>>>0?Z+1|0:Z)|0,v=(H=v+L|0)>>>0<L>>>0?p+1|0:p,L=(jr=Ke(H^a[Q+768>>2],v^a[Q+772>>2],32))+(p=a[Q+512>>2])|0,Ve=(An=$)+(Z=a[Q+516>>2])|0,or=Ce(jr,0,p<<1&-2,1&(Z<<1|p>>>31)),p=$+(p>>>0>L>>>0?Ve+1|0:Ve)|0,Ve=Ke(j^(Z=or+L|0),bt^(or=Z>>>0<or>>>0?p+1|0:p),40),j=1+(p=v+(nt=$)|0)|0,L=p,j=(p=H+Ve|0)>>>0<H>>>0?j:L,H=p+(v=Ce(Ve,0,H<<1&-2,1&(v<<1|H>>>31)))|0,p=$+j|0,ee=1+(p=(kr=H>>>0<v>>>0?p+1|0:p)+ee|0)|0,L=p,v=(p=H+de|0)>>>0<H>>>0?ee:L,j=p+(L=Ce(de,0,H<<1&-2,1&(kr<<1|H>>>31)))|0,p=$+v|0,Me=Ke(j^pt,(Sr=j>>>0<L>>>0?p+1|0:p)^Me,32),Mr=$,L=(fn=a[Q+388>>2])+(p=a[Q+132>>2])|0,bt=(ee=a[Q+384>>2])+(v=a[Q+128>>2])|0,nr=Ce(v<<1&-2,1&(p<<1|v>>>31),ee,0),v=$+(v>>>0>bt>>>0?L+1|0:L)|0,bt=(p=bt+nr|0)>>>0<nr>>>0?v+1|0:v,yr=(nr=Ke(p^a[Q+896>>2],bt^a[Q+900>>2],32))+(L=a[Q+640>>2])|0,Wt=(Ne=$)+(v=a[Q+644>>2])|0,We=Ce(nr,0,L<<1&-2,1&(v<<1|L>>>31)),L=$+(L>>>0>yr>>>0?Wt+1|0:Wt)|0,ee=Ke(ee^(v=We+yr|0),fn^(yr=v>>>0<We>>>0?L+1|0:L),40),ut=1+(L=bt+(fn=$)|0)|0,We=L,Wt=(L=p+ee|0)>>>0<p>>>0?ut:We,p=Ce(ee,0,p<<1&-2,1&(bt<<1|p>>>31)),bt=$+Wt|0,bt=Ke(We=(L=p+L|0)^nr,Ne^(nr=p>>>0>L>>>0?bt+1|0:bt),48),ut=1+(p=yr+(Ne=$)|0)|0,We=p,Wt=(p=v+bt|0)>>>0<v>>>0?ut:We,v=Ce(bt,0,v<<1&-2,1&(yr<<1|v>>>31)),yr=$+Wt|0,ut=1+(v=(yr=(p=v+p|0)>>>0<v>>>0?yr+1|0:yr)+Mr|0)|0,We=v,Wt=(v=p+Me|0)>>>0<p>>>0?ut:We,ut=de^(v=(We=Ce(Me,0,p<<1&-2,1&(yr<<1|p>>>31)))+v|0),de=$+Wt|0,de=Ke(ut,Ye^(Wt=v>>>0<We>>>0?de+1|0:de),40),nn=1+(We=Sr+(Ye=$)|0)|0,ut=We,Cr=(We=j+de|0)>>>0<j>>>0?nn:ut,j=(Sr=Ce(de,0,j<<1&-2,1&(Sr<<1|j>>>31)))+We|0,a[Q>>2]=j,We=$+Cr|0,Sr=j>>>0<Sr>>>0?We+1|0:We,a[Q+4>>2]=Sr,j=Ke(j^Me,Sr^Mr,48),a[Q+904>>2]=j,Me=$,a[Q+908>>2]=Me,ut=1+(Me=Me+Wt|0)|0,We=Me,Sr=(Me=v+j|0)>>>0<v>>>0?ut:We,j=(v=Ce(j,0,v<<1&-2,1&(Wt<<1|v>>>31)))+Me|0,a[Q+640>>2]=j,Me=$+Sr|0,v=v>>>0>j>>>0?Me+1|0:Me,a[Q+644>>2]=v,Jr=Q,rn=Ke(j^de,v^Ye,1),a[Jr+264>>2]=rn,a[Q+268>>2]=$,j=Ke(p^ee,yr^fn,1),Me=1+(p=Jt+(ee=$)|0)|0,de=p,v=(p=B+j|0)>>>0<B>>>0?Me:de,p=p+(de=Ce(j,0,B<<1&-2,1&(Jt<<1|B>>>31)))|0,B=$+v|0,v=Ke(H^jr,kr^An,48),B=Ke(v^p,(de=p>>>0<de>>>0?B+1|0:B)^(Jt=$),32),jr=Me=$,We=1+(H=it+gr|0)|0,Ye=H,kr=(H=b+pt|0)>>>0<b>>>0?We:Ye,b=Ce(pt,0,b<<1&-2,1&(it<<1|b>>>31)),pt=$+kr|0,Ye=1+(b=(pt=b>>>0>(H=b+H|0)>>>0?pt+1|0:pt)+Me|0)|0,Me=b,Me=(b=B+H|0)>>>0<H>>>0?Ye:Me,Ye=j^(b=(it=Ce(B,0,H<<1&-2,1&(pt<<1|H>>>31)))+b|0),j=$+Me|0,j=Ke(Ye,ee^(Me=b>>>0<it>>>0?j+1|0:j),40),We=1+(it=de+(ee=$)|0)|0,Ye=it,kr=(it=p+j|0)>>>0<p>>>0?We:Ye,Ye=B^(p=(de=Ce(j,0,p<<1&-2,1&(de<<1|p>>>31)))+it|0),B=$+kr|0,B=Ke(Ye,jr^(de=p>>>0<de>>>0?B+1|0:B),48),a[Q+768>>2]=B,it=$,a[Q+772>>2]=it,a[Q+8>>2]=p,a[Q+12>>2]=de,Ye=1+(p=Me+it|0)|0,de=p,de=(p=b+B|0)>>>0<b>>>0?Ye:de,b=Ce(B,0,b<<1&-2,1&(Me<<1|b>>>31)),B=$+de|0,Jr=Q,rn=Ke((p=b+p|0)^j,ee^(b=p>>>0<b>>>0?B+1|0:B),1),a[Jr+384>>2]=rn,a[Q+388>>2]=$,a[Q+648>>2]=p,a[Q+652>>2]=b,B=Ke(H^dt,pt^Kt,1),b=1+(H=nr+(dt=$)|0)|0,p=H,b=(H=B+L|0)>>>0<L>>>0?b:p,p=H+(j=Ce(B,0,L<<1&-2,1&(nr<<1|L>>>31)))|0,H=$+b|0,j=Ke(p^we,Yr^(L=p>>>0<j>>>0?H+1|0:H),32),pt=b=$,we=1+(H=or+Jt|0)|0,b=H,we=(H=v+Z|0)>>>0<Z>>>0?we:b,Z=Ce(v,0,Z<<1&-2,1&(or<<1|Z>>>31)),b=$+we|0,ee=1+(b=pt+(Z=(H=Z+H|0)>>>0<Z>>>0?b+1|0:b)|0)|0,we=b,v=(b=H+j|0)>>>0<H>>>0?ee:we,ee=B^(b=b+(we=Ce(j,0,H<<1&-2,1&(Z<<1|H>>>31)))|0),B=$+v|0,B=Ke(ee,dt^(v=b>>>0<we>>>0?B+1|0:B),40),de=1+(we=L+(dt=$)|0)|0,ee=we,de=(we=p+B|0)>>>0<p>>>0?de:ee,p=(L=Ce(B,0,p<<1&-2,1&(L<<1|p>>>31)))+we|0,a[Q+128>>2]=p,we=$+de|0,L=p>>>0<L>>>0?we+1|0:we,a[Q+132>>2]=L,p=Ke(p^j,L^pt,48),a[Q+776>>2]=p,j=$,a[Q+780>>2]=j,we=1+(j=v+j|0)|0,L=j,L=(j=p+b|0)>>>0<b>>>0?we:L,b=(p=Ce(p,0,b<<1&-2,1&(v<<1|b>>>31)))+j|0,j=$+L|0,L=p=p>>>0>b>>>0?j+1|0:j,a[Q+512>>2]=b,a[Q+516>>2]=p,p=(Z=Ke(H^Ve,Z^nt,1))+ke|0,j=(pt=$)+vr|0,H=(v=Ce(ke<<1&-2,1&(vr<<1|ke>>>31),Z,0))+p|0,p=$+(p>>>0<Z>>>0?j+1|0:j)|0,j=Ke(H^bt,Ne^(v=H>>>0<v>>>0?p+1|0:p),32),ee=1+(p=ur+(ke=$)|0)|0,we=p,we=(p=j+re|0)>>>0<re>>>0?ee:we,ee=Z^(p=(re=Ce(j,0,re<<1&-2,1&(ur<<1|re>>>31)))+p|0),Z=$+we|0,re=Ke(ee,pt^(Z=p>>>0<re>>>0?Z+1|0:Z),40),de=1+(we=v+(pt=$)|0)|0,ee=we,de=(we=H+re|0)>>>0<H>>>0?de:ee,we=j^(v=(H=Ce(re,0,H<<1&-2,1&(v<<1|H>>>31)))+we|0),j=$+de|0,H=Ke(we,ke^(j=H>>>0>v>>>0?j+1|0:j),48),de=1+(we=Z+(ke=$)|0)|0,ee=we,de=(we=p+H|0)>>>0<p>>>0?de:ee,p=(Z=Ce(H,0,p<<1&-2,1&(Z<<1|p>>>31)))+we|0,a[Q+520>>2]=p,we=$+de|0,Z=p>>>0<Z>>>0?we+1|0:we,a[Q+524>>2]=Z,a[Q+896>>2]=H,a[Q+900>>2]=ke,a[Q+136>>2]=v,a[Q+140>>2]=j,Jr=Q,rn=Ke(b^B,L^dt,1),a[Jr+392>>2]=rn,a[Q+396>>2]=$,Jr=Q,rn=Ke(p^re,Z^pt,1),a[Jr+256>>2]=rn,a[Q+260>>2]=$,(0|(ye=ye+1|0))!=8;);for(Q=Di(Nr,h+2048|0,1024),H=0;B=a[(p=(ye=H<<3)+Q|0)>>2],Z=a[(re=(b=h+3072|0)+ye|0)>>2],re=a[p+4>>2]^a[re+4>>2],a[p>>2]=B^Z,a[p+4>>2]=re,re=a[(p=(B=8|ye)+Q|0)>>2],Z=a[(B=b+B|0)>>2],B=a[p+4>>2]^a[B+4>>2],a[p>>2]=re^Z,a[p+4>>2]=B,re=a[(p=(B=16|ye)+Q|0)>>2],Z=a[(B=b+B|0)>>2],B=a[p+4>>2]^a[B+4>>2],a[p>>2]=re^Z,a[p+4>>2]=B,B=a[(ye=(p=24|ye)+Q|0)>>2],b=a[(p=p+b|0)>>2],p=a[ye+4>>2]^a[p+4>>2],a[ye>>2]=b^B,a[ye+4>>2]=p,(0|(H=H+4|0))!=128;);}if(H=En+1|0,Or=Or+1|0,!((ye=a[f+20>>2])>>>0>(cr=cr+1|0)>>>0))break}}Ie=h+4096|0}function ho(f){var c,h,p,b,B,Q,v,L,H,j,re,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0;we=(Wt=S[f+44|0]|S[f+45|0]<<8|S[f+46|0]<<16|S[f+47|0]<<24)>>>5&2097151,de=Ce(c=(S[f+60|0]|S[f+61|0]<<8|S[f+62|0]<<16|S[f+63|0]<<24)>>>3|0,0,-683901,-1),ee=(Z=S[f+44|0])<<16&2031616|S[f+42|0]|S[f+43|0]<<8,Z=$,Ve=Z=ee>>>0>(ut=de+ee|0)>>>0?Z+1|0:Z,it=Z=Z-((ut>>>0<4293918720)-1|0)|0,de=Z>>21,Z=(ee=we)+(we=(2097151&Z)<<11|(ye=ut- -1048576|0)>>>21)|0,ee=de,yr=ee=Z>>>0<we>>>0?ee+1|0:ee,jr=Z,Ye=Ce(Z,ee,-683901,-1),We=$,Me=Ce(h=(S[f+49|0]|S[f+50|0]<<8|S[f+51|0]<<16|S[f+52|0]<<24)>>>7&2097151,0,-997805,-1),de=(Z=S[f+27|0])>>>24|0,we=Z<<8|(dt=S[f+23|0]|S[f+24|0]<<8|S[f+25|0]<<16|S[f+26|0]<<24)>>>24,ee=(Z=S[f+28|0])>>>16|0,ee=2097151&((3&(ee|=de))<<30|(Z=we|Z<<16)>>>2),Z=$,Z=ee>>>0>(de=ee+Me|0)>>>0?Z+1|0:Z,ee=Ce(Mr=(pt=S[f+52|0]|S[f+53|0]<<8|S[f+54|0]<<16|S[f+55|0]<<24)>>>4&2097151,0,654183,0),Z=$+Z|0,Me=de=ee+de|0,de=ee>>>0>de>>>0?Z+1|0:Z,ke=(ee=S[f+48|0])<<8|Wt>>>24,ee=Z=ee>>>24|0,Z=Ce(p=2097151&((3&(Wt=(Z=(we=S[f+49|0])>>>16|0)|ee))<<30|(ee=(we<<=16)|ke)>>>2),0,136657,0),de=$+de|0,de=Z>>>0>(ee=Z+Me|0)>>>0?de+1|0:de,we=(Z=Ce(b=(S[f+57|0]|S[f+58|0]<<8|S[f+59|0]<<16|S[f+60|0]<<24)>>>6&2097151,0,666643,0))+ee|0,ee=$+de|0,Me=we,de=Z>>>0>we>>>0?ee+1|0:ee,ee=(Z=S[f+56|0])>>>24|0,ke=Z<<8|pt>>>24,ee=Ce(B=2097151&((1&(pt=(Z=(we=S[f+57|0])>>>16|0)|ee))<<31|(ee=(we<<=16)|ke)>>>1),0,470296,0),Z=$+de|0,ee=(Z=(de=we=ee+Me|0)>>>0<ee>>>0?Z+1|0:Z)+We|0,ee=de>>>0>(we=de+Ye|0)>>>0?ee+1|0:ee,nr=de- -1048576|0,Kt=de=Z-((de>>>0<4293918720)-1|0)|0,We=we-(Z=-2097152&nr)|0,Ye=ee-((Z>>>0>we>>>0)+de|0)|0,ee=Ce(h,0,654183,0),Z=$,Z=ee>>>0>(de=ee+(dt>>>5&2097151)|0)>>>0?Z+1|0:Z,we=(ee=de)+(de=Ce(Mr,0,470296,0))|0,ee=$+Z|0,ee=de>>>0>we>>>0?ee+1|0:ee,Z=Ce(p,nn,-997805,-1),ee=$+ee|0,ee=Z>>>0>(de=Z+we|0)>>>0?ee+1|0:ee,we=(Z=de)+(de=Ce(B,fn,666643,0))|0,Z=$+ee|0,ke=we,we=de>>>0>we>>>0?Z+1|0:Z,Me=(de=Ce(h,0,470296,0))+(Z=(Z=S[f+23|0])<<16&2031616|S[f+21|0]|S[f+22|0]<<8)|0,de=$,de=Z>>>0>Me>>>0?de+1|0:de,Me=(ee=Ce(Mr,0,666643,0))+Me|0,Z=$+de|0,de=Ce(p,nn,654183,0),ee=$+(ee>>>0>Me>>>0?Z+1|0:Z)|0,pt=ee=de>>>0>(dt=de+Me|0)>>>0?ee+1|0:ee,ur=ee=ee-((dt>>>0<4293918720)-1|0)|0,Z=(Z=ee>>>21|0)+we|0,de=Z=(ee=(2097151&ee)<<11|(Me=dt- -1048576|0)>>>21)>>>0>(ke=ee+ke|0)>>>0?Z+1|0:Z,bt=ee=Z-((ke>>>0<4293918720)-1|0)|0,Z=We,We=(2097151&ee)<<11|(we=ke- -1048576|0)>>>21,ee=(ee>>21)+Ye|0,Wt=We=(ee=We>>>0>(cr=Z+We|0)>>>0?ee+1|0:ee)-((cr>>>0<4293918720)-1|0)|0,Gr=cr-(Z=-2097152&(Ye=cr- -1048576|0))|0,Ne=ee-((Z>>>0>cr>>>0)+We|0)|0,Z=Ce(jr,yr,136657,0),de=$+de|0,de=Z>>>0>(ee=Z+ke|0)>>>0?de+1|0:de,Sr=ee-(Z=-2097152&we)|0,gr=de-((Z>>>0>ee>>>0)+bt|0)|0,cr=ut-(Z=-2097152&ye)|0,it=Ve-((Z>>>0>ut>>>0)+it|0)|0,Ve=Ce(c,0,136657,0),ee=(Z=S[f+40|0])>>>24|0,we=Z<<8|(ye=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24)>>>24,de=(Z=S[f+41|0])>>>16|0,ee=(de|=ee)>>>3|0,de=(7&de)<<29|(Z=we|Z<<16)>>>3,Z=ee+$|0,Z=de>>>0>(we=de+Ve|0)>>>0?Z+1|0:Z,ee=Ce(b,0,-683901,-1),Z=$+Z|0,Z=ee>>>0>(de=ee+we|0)>>>0?Z+1|0:Z,ke=de,ee=Ce(c,0,-997805,-1),de=$,de=ee>>>0>(we=ee+(ye>>>6&2097151)|0)>>>0?de+1|0:de,ye=(ee=we)+(we=Ce(b,0,136657,0))|0,ee=$+de|0,de=Ce(B,fn,-683901,-1),ee=$+(we>>>0>ye>>>0?ee+1|0:ee)|0,We=ee=de>>>0>(or=de+ye|0)>>>0?ee+1|0:ee,xe=de=ee-((or>>>0<4293918720)-1|0)|0,Z=Z+(ee=de>>21)|0,ye=Z=(de=(2097151&de)<<11|(ut=or- -1048576|0)>>>21)>>>0>(bt=de+ke|0)>>>0?Z+1|0:Z,Or=Z=Z-((bt>>>0<4293918720)-1|0)|0,ee=(ee=Z>>21)+it|0,Jt=ee=(Z=(de=(2097151&Z)<<11|(ke=bt- -1048576|0)>>>21)+cr|0)>>>0<de>>>0?ee+1|0:ee,kr=Z,ee=Ce(Z,ee,-683901,-1),Z=$+gr|0,vr=de=ee+Sr|0,we=ee>>>0>de>>>0?Z+1|0:Z,cr=dt-(Z=-2097152&Me)|0,it=pt-((4095&ur)+(Z>>>0>dt>>>0)|0)|0,dt=Ce(h,0,666643,0),Z=(ee=S[f+19|0])>>>24|0,Me=ee<<8|(pt=S[f+15|0]|S[f+16|0]<<8|S[f+17|0]<<16|S[f+18|0]<<24)>>>24,de=Z,ee=(7&(de|=ee=(Z=S[f+20|0])>>>16|0))<<29|(ee=(Z<<=16)|Me)>>>3,de=$+(de>>>3|0)|0,de=ee>>>0>(Me=ee+dt|0)>>>0?de+1|0:de,Z=Ce(p,nn,470296,0),ee=$+de|0,Z=Z>>>0>(Me=Z+Me|0)>>>0?ee+1|0:ee,de=Ce(p,nn,666643,0),ee=$,dt=ee=de>>>0>(Sr=de+(pt>>>6&2097151)|0)>>>0?ee+1|0:ee,nt=de=ee-((Sr>>>0<4293918720)-1|0)|0,Z=Z+(ee=de>>>21|0)|0,pt=Z=(de=(2097151&de)<<11|(Ve=Sr- -1048576|0)>>>21)>>>0>(gr=de+Me|0)>>>0?Z+1|0:Z,Cr=Z=Z-((gr>>>0<4293918720)-1|0)|0,ee=(ee=Z>>>21|0)+it|0,ee=(Z=(2097151&Z)<<11|(Me=gr- -1048576|0)>>>21)>>>0>(de=Z+cr|0)>>>0?ee+1|0:ee,it=(Z=de)+(de=Ce(jr,yr,-997805,-1))|0,Z=$+ee|0,Z=de>>>0>it>>>0?Z+1|0:Z,ur=ee=bt-(de=-2097152&ke)|0,Q=ke=ye-((de>>>0>bt>>>0)+Or|0)|0,de=Ce(kr,Jt,136657,0),Z=$+Z|0,Z=de>>>0>(ye=de+it|0)>>>0?Z+1|0:Z,de=Ce(ee,ke,-683901,-1),ee=$+Z|0,ye=ee=de>>>0>(it=de+ye|0)>>>0?ee+1|0:ee,Or=Z=ee-((it>>>0<4293918720)-1|0)|0,ee=(2097151&Z)<<11|(ke=it- -1048576|0)>>>21,Z=(Z>>21)+we|0,vr=ee=(Z=ee>>>0>(bt=ee+vr|0)>>>0?Z+1|0:Z)-((bt>>>0<4293918720)-1|0)|0,cr=(2097151&ee)<<11|(we=bt- -1048576|0)>>>21,ee=(ee>>21)+Ne|0,L=Gr=cr+Gr|0,cr=cr>>>0>Gr>>>0?ee+1|0:ee,H=bt-(ee=-2097152&we)|0,j=Z-((ee>>>0>bt>>>0)+vr|0)|0,Gr=it-(Z=-2097152&ke)|0,Ne=ye-((Z>>>0>it>>>0)+Or|0)|0,de=(Z=Ce(jr,yr,654183,0))+(gr-(ee=-2097152&Me)|0)|0,ee=$+(pt-((2147483647&Cr)+(ee>>>0>gr>>>0)|0)|0)|0,ee=Z>>>0>de>>>0?ee+1|0:ee,Z=Ce(kr,Jt,-997805,-1),ee=$+ee|0,ee=Z>>>0>(de=Z+de|0)>>>0?ee+1|0:ee,we=(Z=de)+(de=Ce(ur,Q,136657,0))|0,Z=$+ee|0,vr=we,ye=de>>>0>we>>>0?Z+1|0:Z,gr=or-(Z=-2097152&ut)|0,bt=We-((Z>>>0>or>>>0)+xe|0)|0,pt=Ce(Mr,0,-683901,-1),Z=(ee=S[f+35|0])>>>24|0,we=ee<<8|(Me=S[f+31|0]|S[f+32|0]<<8|S[f+33|0]<<16|S[f+34|0]<<24)>>>24,de=Z,ee=(Z=S[f+36|0])>>>16|0,ee|=de,de=$,de=(Z=2097151&((1&ee)<<31|(Z=Z<<16|we)>>>1))>>>0>(ee=Z+pt|0)>>>0?de+1|0:de,we=(Z=Ce(c,0,654183,0))+ee|0,ee=$+de|0,ee=Z>>>0>we>>>0?ee+1|0:ee,de=Ce(b,0,-997805,-1),Z=$+ee|0,Z=de>>>0>(we=de+we|0)>>>0?Z+1|0:Z,ee=Ce(B,fn,136657,0),Z=$+Z|0,ke=de=ee+we|0,we=ee>>>0>de>>>0?Z+1|0:Z,Z=Ce(h,0,-683901,-1),ee=$,ee=Z>>>0>(de=Z+(Me>>>4&2097151)|0)>>>0?ee+1|0:ee,Me=(Z=Ce(Mr,0,136657,0))+de|0,de=$+ee|0,de=Z>>>0>Me>>>0?de+1|0:de,Z=Ce(c,0,470296,0),ee=$+de|0,ee=Z>>>0>(Me=Z+Me|0)>>>0?ee+1|0:ee,Me=(de=Ce(b,0,654183,0))+Me|0,Z=$+ee|0,ee=Ce(B,fn,-997805,-1),Z=$+(de>>>0>Me>>>0?Z+1|0:Z)|0,pt=Z=ee>>>0>(We=ee+Me|0)>>>0?Z+1|0:Z,re=ee=Z-((We>>>0<4293918720)-1|0)|0,de=(Z=ee>>21)+we|0,it=ee=(de=(ee=(2097151&ee)<<11|(Me=We- -1048576|0)>>>21)>>>0>(ut=ee+ke|0)>>>0?de+1|0:de)-((ut>>>0<4293918720)-1|0)|0,Z=(Z=ee>>21)+bt|0,Or=Z=(ee=(we=(2097151&ee)<<11|(ke=ut- -1048576|0)>>>21)+gr|0)>>>0<we>>>0?Z+1|0:Z,we=vr,vr=ee,Z=Ce(ee,Z,-683901,-1),ee=$+ye|0,bt=we=we+Z|0,we=Z>>>0>we>>>0?ee+1|0:ee,ye=(Z=Ce(jr,yr,470296,0))+(Sr-(ee=-2097152&Ve)|0)|0,ee=$+(dt-((2047&nt)+(ee>>>0>Sr>>>0)|0)|0)|0,ee=Z>>>0>ye>>>0?ee+1|0:ee,Ve=(Z=ye)+(ye=Ce(kr,Jt,654183,0))|0,Z=$+ee|0,Z=ye>>>0>Ve>>>0?Z+1|0:Z,ye=Ce(ur,Q,-997805,-1),ee=$+Z|0,ee=ye>>>0>(Ve=ye+Ve|0)>>>0?ee+1|0:ee,or=ke=ut-(Z=-2097152&ke)|0,v=ye=de-((Z>>>0>ut>>>0)+it|0)|0,de=Ce(vr,Or,136657,0),Z=$+ee|0,Z=de>>>0>(Ve=de+Ve|0)>>>0?Z+1|0:Z,de=Ce(ke,ye,-683901,-1),ee=$+Z|0,ye=ee=de>>>0>(dt=de+Ve|0)>>>0?ee+1|0:ee,gr=Z=ee-((dt>>>0<4293918720)-1|0)|0,ee=(2097151&Z)<<11|(ke=dt- -1048576|0)>>>21,Z=(Z>>21)+we|0,bt=ee=(Z=ee>>>0>(Ve=ee+bt|0)>>>0?Z+1|0:Z)-((Ve>>>0<4293918720)-1|0)|0,ut=(2097151&ee)<<11|(we=Ve- -1048576|0)>>>21,ee=(ee>>21)+Ne|0,xe=it=ut+Gr|0,it=ut>>>0>it>>>0?ee+1|0:ee,nt=Ve-(ee=-2097152&we)|0,Cr=Z-((ee>>>0>Ve>>>0)+bt|0)|0,Gr=dt-(Z=-2097152&ke)|0,Ne=ye-((Z>>>0>dt>>>0)+gr|0)|0,ye=Ce(jr,yr,666643,0),Z=(ee=S[f+14|0])>>>24|0,we=ee<<8|(bt=S[f+10|0]|S[f+11|0]<<8|S[f+12|0]<<16|S[f+13|0]<<24)>>>24,de=Z,ee=(Z=S[f+15|0])>>>16|0,ee|=de,de=$,de=(Z=2097151&((1&ee)<<31|(Z=Z<<16|we)>>>1))>>>0>(ee=Z+ye|0)>>>0?de+1|0:de,we=(Z=ee)+(ee=Ce(kr,Jt,470296,0))|0,Z=$+de|0,Z=ee>>>0>we>>>0?Z+1|0:Z,ee=Ce(ur,Q,654183,0),Z=$+Z|0,Z=ee>>>0>(de=ee+we|0)>>>0?Z+1|0:Z,we=(ee=de)+(de=Ce(vr,Or,-997805,-1))|0,ee=$+Z|0,ee=de>>>0>we>>>0?ee+1|0:ee,Z=Ce(or,v,136657,0),ee=$+ee|0,dt=de=Z+we|0,we=Z>>>0>de>>>0?ee+1|0:ee,Me=We-(Z=-2097152&Me)|0,ye=pt-((Z>>>0>We>>>0)+re|0)|0,de=Ce(h,0,136657,0),Z=$,Z=(ee=(S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24)>>>7&2097151)>>>0>(de=ee+de|0)>>>0?Z+1|0:Z,ke=(ee=de)+(de=Ce(Mr,0,-997805,-1))|0,ee=$+Z|0,ee=de>>>0>ke>>>0?ee+1|0:ee,Z=Ce(p,nn,-683901,-1),ee=$+ee|0,ee=Z>>>0>(de=Z+ke|0)>>>0?ee+1|0:ee,ke=(Z=Ce(c,0,666643,0))+de|0,de=$+ee|0,de=Z>>>0>ke>>>0?de+1|0:de,ee=Ce(b,0,470296,0),Z=$+de|0,Z=ee>>>0>(ke=ee+ke|0)>>>0?Z+1|0:Z,ee=Ce(B,fn,654183,0),Z=$+Z|0,ee=(Kt>>21)+(ee>>>0>(de=ee+ke|0)>>>0?Z+1|0:Z)|0,ut=ee=(ke=(2097151&Kt)<<11|nr>>>21)>>>0>(nr=ke+de|0)>>>0?ee+1|0:ee,Kt=Z=ee-((nr>>>0<4293918720)-1|0)|0,ke=(2097151&Z)<<11|(Ve=nr- -1048576|0)>>>21,Z=(Z>>21)+ye|0,Sr=Z=(ee=ke+Me|0)>>>0<ke>>>0?Z+1|0:Z,gr=ee,ee=Ce(ee,Z,-683901,-1),Z=$+we|0,ke=de=ee+dt|0,we=ee>>>0>de>>>0?Z+1|0:Z,Z=Ce(kr,Jt,666643,0),ee=$,ee=Z>>>0>(de=Z+(bt>>>4&2097151)|0)>>>0?ee+1|0:ee,Z=Ce(ur,Q,470296,0),ee=$+ee|0,ee=Z>>>0>(de=Z+de|0)>>>0?ee+1|0:ee,ye=(Z=Ce(vr,Or,654183,0))+de|0,de=$+ee|0,de=Z>>>0>ye>>>0?de+1|0:de,ee=Ce(or,v,-997805,-1),Z=$+de|0,Z=ee>>>0>(ye=ee+ye|0)>>>0?Z+1|0:Z,ee=Ce(gr,Sr,136657,0),Z=$+Z|0,pt=Z=ee>>>0>(We=ee+ye|0)>>>0?Z+1|0:Z,Jt=ee=Z-((We>>>0<4293918720)-1|0)|0,Z=ke,ke=(2097151&ee)<<11|(Me=We- -1048576|0)>>>21,ee=(ee>>21)+we|0,kr=we=(ee=(de=Z+ke|0)>>>0<ke>>>0?ee+1|0:ee)-((de>>>0<4293918720)-1|0)|0,Z=(Z=we>>21)+Ne|0,jr=ke=(we=(2097151&we)<<11|(ye=de- -1048576|0)>>>21)+Gr|0,dt=we>>>0>ke>>>0?Z+1|0:Z,ke=de,de=ee,we=(nr-(ee=-2097152&Ve)|0)+(Ve=(2097151&Wt)<<11|Ye>>>21)|0,ee=(ut-((ee>>>0>nr>>>0)+Kt|0)|0)+(Wt>>21)|0,bt=ee=we>>>0<Ve>>>0?ee+1|0:ee,Mr=ee=ee-((we>>>0<4293918720)-1|0)|0,Ye=Z=ee>>21,Z=Ce(yr=(2097151&ee)<<11|(Kt=we- -1048576|0)>>>21,Z,-683901,-1),de=$+de|0,de=Z>>>0>(ee=Z+ke|0)>>>0?de+1|0:de,nn=ee-(Z=-2097152&ye)|0,fn=de-((Z>>>0>ee>>>0)+kr|0)|0,Z=Ce(yr,Ye,136657,0),ee=pt+$|0,kr=(de=Z+We|0)-(Z=-2097152&Me)|0,nr=(ee=de>>>0<We>>>0?ee+1|0:ee)-((Z>>>0>de>>>0)+Jt|0)|0,ee=Ce(ur,Q,666643,0),de=$,de=(Z=(S[f+7|0]|S[f+8|0]<<8|S[f+9|0]<<16|S[f+10|0]<<24)>>>7&2097151)>>>0>(ee=Z+ee|0)>>>0?de+1|0:de,ke=(Z=Ce(vr,Or,470296,0))+ee|0,ee=$+de|0,ee=Z>>>0>ke>>>0?ee+1|0:ee,Z=Ce(or,v,654183,0),ee=$+ee|0,ee=Z>>>0>(de=Z+ke|0)>>>0?ee+1|0:ee,ke=(Z=de)+(de=Ce(gr,Sr,-997805,-1))|0,Z=$+ee|0,Ve=ke,ke=de>>>0>ke>>>0?Z+1|0:Z,pt=Ce(vr,Or,666643,0),Z=(ee=S[f+6|0])>>>24|0,ye=ee<<8|(Jt=S[f+2|0]|S[f+3|0]<<8|S[f+4|0]<<16|S[f+5|0]<<24)>>>24,de=Z,ee=(Z=S[f+7|0])>>>16|0,ee=2097151&((3&(ee|=de))<<30|(Z=Z<<16|ye)>>>2),Z=$,Z=ee>>>0>(de=ee+pt|0)>>>0?Z+1|0:Z,ye=(ee=Ce(or,v,470296,0))+de|0,de=$+Z|0,de=ee>>>0>ye>>>0?de+1|0:de,ee=Ce(gr,Sr,654183,0),Z=$+de|0,pt=Z=ee>>>0>(ut=ee+ye|0)>>>0?Z+1|0:Z,Wt=Z=Z-((ut>>>0<4293918720)-1|0)|0,ee=(de=Z>>21)+ke|0,We=Z=(ee=(Z=(2097151&Z)<<11|(Me=ut- -1048576|0)>>>21)>>>0>(ye=Z+Ve|0)>>>0?ee+1|0:ee)-((ye>>>0<4293918720)-1|0)|0,Ve=(2097151&Z)<<11|(ke=ye- -1048576|0)>>>21,Z=(Z>>21)+nr|0,kr=vr=Ve+kr|0,Ve=Ve>>>0>vr>>>0?Z+1|0:Z,Z=Ce(yr,Ye,-997805,-1),ee=$+ee|0,ee=Z>>>0>(de=Z+ye|0)>>>0?ee+1|0:ee,ur=de-(Z=-2097152&ke)|0,Or=ee-((Z>>>0>de>>>0)+We|0)|0,ee=Ce(yr,Ye,654183,0),Z=pt+$|0,vr=(de=ee+ut|0)-(ee=-2097152&Me)|0,nr=(Z=de>>>0<ut>>>0?Z+1|0:Z)-((ee>>>0>de>>>0)+Wt|0)|0,Z=Ce(or,v,666643,0),ee=$,ee=Z>>>0>(de=Z+(Jt>>>5&2097151)|0)>>>0?ee+1|0:ee,Z=Ce(gr,Sr,470296,0),ee=$+ee|0,ye=de=Z+de|0,de=Z>>>0>de>>>0?ee+1|0:ee,ke=Ce(gr,Sr,666643,0),ee=(Z=S[f+2|0])<<16&2031616|S[0|f]|S[f+1|0]<<8,Z=$,pt=Z=ee>>>0>(We=ke+ee|0)>>>0?Z+1|0:Z,Sr=Z=Z-((We>>>0<4293918720)-1|0)|0,ke=(2097151&Z)<<11|(Me=We- -1048576|0)>>>21,Z=(Z>>21)+de|0,de=Z=ke>>>0>(ut=ke+ye|0)>>>0?Z+1|0:Z,Wt=Z=Z-((ut>>>0<4293918720)-1|0)|0,ke=(2097151&Z)<<11|(ye=ut- -1048576|0)>>>21,Z=(Z>>21)+nr|0,ke=ke>>>0>(gr=ke+vr|0)>>>0?Z+1|0:Z,Z=Ce(yr,Ye,470296,0),de=de+$|0,de=(ee=Z+ut|0)>>>0<ut>>>0?de+1|0:de,ut=ee-(Z=-2097152&ye)|0,ye=de-((Z>>>0>ee>>>0)+Wt|0)|0,ee=Ce(yr,Ye,666643,0),Z=$+(pt-(((de=-2097152&Me)>>>0>We>>>0)+Sr|0)|0)|0,ee=(de=(Z=ee>>>0>(nr=ee+(We-de|0)|0)>>>0?Z+1|0:Z)>>21)+ye|0,Z=(Z=(ee=(Z=(2097151&Z)<<11|nr>>>21)>>>0>(Wt=Z+ut|0)>>>0?ee+1|0:ee)>>21)+ke|0,ee=(ee=(Z=(ee=(2097151&ee)<<11|Wt>>>21)>>>0>(Ye=ee+gr|0)>>>0?Z+1|0:Z)>>21)+Or|0,de=(Z=(ee=(Z=(2097151&Z)<<11|Ye>>>21)>>>0>(ke=Z+ur|0)>>>0?ee+1|0:ee)>>21)+Ve|0,Z=(ee=(de=(ee=(2097151&ee)<<11|ke>>>21)>>>0>(We=ee+kr|0)>>>0?de+1|0:de)>>21)+fn|0,ee=(de=(Z=(de=(2097151&de)<<11|We>>>21)>>>0>(ut=de+nn|0)>>>0?Z+1|0:Z)>>21)+dt|0,dt=ye=(Z=(2097151&Z)<<11|ut>>>21)+jr|0,Z=(Z=(ee=Z>>>0>ye>>>0?ee+1|0:ee)>>21)+Cr|0,ee=(ee=(Z=(ee=(2097151&ee)<<11|ye>>>21)>>>0>(Ve=ee+nt|0)>>>0?Z+1|0:Z)>>21)+it|0,de=(Z=(ee=(Z=(2097151&Z)<<11|Ve>>>21)>>>0>(pt=Z+xe|0)>>>0?ee+1|0:ee)>>21)+j|0,Z=(ee=(de=(ee=(2097151&ee)<<11|pt>>>21)>>>0>(Me=ee+H|0)>>>0?de+1|0:de)>>21)+cr|0,Kt=(it=we-(ee=-2097152&Kt)|0)+((2097151&(Z=(de=(2097151&de)<<11|Me>>>21)>>>0>(ye=de+L|0)>>>0?Z+1|0:Z))<<11|ye>>>21)|0,Z=(bt-((ee>>>0>we>>>0)+Mr|0)|0)+(Z>>21)|0,bt=ee=(Z=it>>>0>Kt>>>0?Z+1|0:Z)>>21,nr=(Z=Ce(cr=(2097151&Z)<<11|Kt>>>21,ee,666643,0))+(ee=2097151&nr)|0,Z=$,we=Z=ee>>>0>nr>>>0?Z+1|0:Z,k[0|f]=nr,k[f+1|0]=(255&Z)<<24|nr>>>8,Z=2097151&Wt,ee=Ce(cr,bt,470296,0)+Z|0,de=$,Z=(we>>21)+(Z>>>0>ee>>>0?de+1|0:de)|0,Z=(it=(2097151&we)<<11|nr>>>21)>>>0>(Wt=it+ee|0)>>>0?Z+1|0:Z,k[f+4|0]=(2047&Z)<<21|Wt>>>11,ee=Z,de=Wt,k[f+3|0]=(7&Z)<<29|de>>>3,k[f+2|0]=31&((65535&we)<<16|nr>>>16)|de<<5,we=2097151&Ye,Ye=Ce(cr,bt,654183,0)+we|0,Z=$,Wt=(2097151&ee)<<11|de>>>21,ee=(ee>>21)+(we=we>>>0>Ye>>>0?Z+1|0:Z)|0,Z=ee=(Ye=Wt+Ye|0)>>>0<Wt>>>0?ee+1|0:ee,k[f+6|0]=(63&Z)<<26|Ye>>>6,we=Ye,Ye=0,k[f+5|0]=Ye<<13|(1572864&de)>>>19|we<<2,de=2097151&ke,ke=Ce(cr,bt,-997805,-1)+de|0,ee=$,ee=de>>>0>ke>>>0?ee+1|0:ee,Ye=(2097151&(de=Z))<<11|we>>>21,de=(Z>>=21)+ee|0,de=(ke=Ye+ke|0)>>>0<Ye>>>0?de+1|0:de,k[f+9|0]=(511&de)<<23|ke>>>9,k[f+8|0]=(1&de)<<31|ke>>>1,ee=0,k[f+7|0]=ee<<18|(2080768&we)>>>14|ke<<7,ee=2097151&We,we=Ce(cr,bt,136657,0)+ee|0,Z=$,Z=ee>>>0>we>>>0?Z+1|0:Z,We=(2097151&(ee=de))<<11|ke>>>21,ee=Z+(de=ee>>21)|0,ee=(we=We+we|0)>>>0<We>>>0?ee+1|0:ee,k[f+12|0]=(4095&ee)<<20|we>>>12,de=we,k[f+11|0]=(15&ee)<<28|de>>>4,we=0,k[f+10|0]=we<<15|(1966080&ke)>>>17|de<<4,we=2097151&ut,ke=Ce(cr,bt,-683901,-1)+we|0,Z=$,Z=we>>>0>ke>>>0?Z+1|0:Z,we=ee,ee=Z+(ee>>=21)|0,ee=(we=(vr=ke)+(ke=(2097151&we)<<11|de>>>21)|0)>>>0<ke>>>0?ee+1|0:ee,k[f+14|0]=(127&ee)<<25|we>>>7,ke=0,k[f+13|0]=ke<<12|(1048576&de)>>>20|we<<1,Z=ee>>21,de=(ee=(2097151&ee)<<11|we>>>21)>>>0>(ke=ee+(2097151&dt)|0)>>>0?Z+1|0:Z,k[f+17|0]=(1023&de)<<22|ke>>>10,k[f+16|0]=(3&de)<<30|ke>>>2,ee=0,k[f+15|0]=ee<<17|(2064384&we)>>>15|ke<<6,Z=de>>21,Z=(ee=(2097151&de)<<11|ke>>>21)>>>0>(de=ee+(2097151&Ve)|0)>>>0?Z+1|0:Z,k[f+20|0]=(8191&Z)<<19|de>>>13,k[f+19|0]=(31&Z)<<27|de>>>5,we=(ee=2097151&pt)+(pt=(2097151&Z)<<11|de>>>21)|0,ee=Z>>21,ee=we>>>0<pt>>>0?ee+1|0:ee,pt=we,k[f+21|0]=we,Ve=0,k[f+18|0]=Ve<<14|(1835008&ke)>>>18|de<<3,k[f+22|0]=(255&ee)<<24|we>>>8,de=ee>>21,de=(we=(ke=(2097151&ee)<<11|we>>>21)+(2097151&Me)|0)>>>0<ke>>>0?de+1|0:de,k[f+25|0]=(2047&de)<<21|we>>>11,k[f+24|0]=(7&de)<<29|we>>>3,k[f+23|0]=31&((65535&ee)<<16|pt>>>16)|we<<5,Z=de>>21,Z=(ee=(2097151&de)<<11|we>>>21)>>>0>(de=ee+(2097151&ye)|0)>>>0?Z+1|0:Z,k[f+27|0]=(63&Z)<<26|de>>>6,ke=0,k[f+26|0]=ke<<13|(1572864&we)>>>19|de<<2,ee=Z,Z>>=21,ee=(we=(ye=(2097151&ee)<<11|de>>>21)+(ke=2097151&Kt)|0)>>>0<ke>>>0?Z+1|0:Z,k[f+31|0]=(131071&ee)<<15|we>>>17,Z=we,k[f+30|0]=(511&ee)<<23|Z>>>9,we=0,k[f+28|0]=we<<18|(2080768&de)>>>14|Z<<7,k[f+29|0]=ye+Kt>>>1}function Tr(f,c,h){var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0;for(Ie=v=Ie-2048|0,Di(v+1024|0,c,1024),c=0;B=a[(H=(Q=v+1024|0)+(b=c<<3)|0)>>2],L=a[(j=f+b|0)>>2],j=a[H+4>>2]^a[j+4>>2],a[H>>2]=B^L,a[H+4>>2]=j,j=a[(H=(B=8|b)+Q|0)>>2],L=a[(B=f+B|0)>>2],B=a[H+4>>2]^a[B+4>>2],a[H>>2]=L^j,a[H+4>>2]=B,j=a[(H=(B=16|b)+Q|0)>>2],L=a[(B=f+B|0)>>2],B=a[H+4>>2]^a[B+4>>2],a[H>>2]=L^j,a[H+4>>2]=B,B=a[(b=(H=24|b)+Q|0)>>2],j=a[(H=f+H|0)>>2],H=a[b+4>>2]^a[H+4>>2],a[b>>2]=B^j,a[b+4>>2]=H,(0|(c=c+4|0))!=128;);for(p=Di(v,Q,1024),f=0,c=0;v=a[(b=(Q=c<<3)+p|0)>>2],B=a[(H=h+Q|0)>>2],H=a[b+4>>2]^a[H+4>>2],a[b>>2]=B^v,a[b+4>>2]=H,H=a[(b=(v=8|Q)+p|0)>>2],B=a[(v=h+v|0)>>2],v=a[b+4>>2]^a[v+4>>2],a[b>>2]=B^H,a[b+4>>2]=v,H=a[(b=(v=16|Q)+p|0)>>2],B=a[(v=h+v|0)>>2],v=a[b+4>>2]^a[v+4>>2],a[b>>2]=B^H,a[b+4>>2]=v,v=a[(Q=(b=24|Q)+p|0)>>2],H=a[(b=h+b|0)>>2],b=a[Q+4>>2]^a[b+4>>2],a[Q>>2]=v^H,a[Q+4>>2]=b,(0|(c=c+4|0))!=128;);for(;j=(B=a[56+(Q=(p+1024|0)+(f<<7)|0)>>2])+(b=a[Q+24>>2])|0,c=(re=a[Q+60>>2])+(v=a[Q+28>>2])|0,H=b>>>0>j>>>0?c+1|0:c,v=Ce(b<<1&-2,1&(v<<1|b>>>31),B,0),c=$+H|0,H=(b=v+j|0)>>>0<v>>>0?c+1|0:c,ee=(j=Ke(a[Q+120>>2]^b,H^a[Q+124>>2],32))+(v=a[Q+88>>2])|0,c=(de=$)+(L=a[Q+92>>2])|0,Z=v>>>0>ee>>>0?c+1|0:c,L=Ce(v<<1&-2,1&(L<<1|v>>>31),j,0),c=$+Z|0,Or=Ke(B^(v=L+ee|0),re^(we=v>>>0<L>>>0?c+1|0:c),40),c=H+(jr=$)|0,B=(L=b+Or|0)>>>0<b>>>0?c+1|0:c,b=Ce(Or,0,b<<1&-2,1&(H<<1|b>>>31)),c=$+B|0,cr=Ke(j^(ut=b+L|0),de^(nr=b>>>0>ut>>>0?c+1|0:c),48),nn=c=$,ye=cr,ee=c,L=(j=a[Q+40>>2])+(b=a[Q+8>>2])|0,c=(gr=a[Q+44>>2])+(H=a[Q+12>>2])|0,B=b>>>0>L>>>0?c+1|0:c,H=Ce(b<<1&-2,1&(H<<1|b>>>31),j,0),c=$+B|0,B=(b=H+L|0)>>>0<H>>>0?c+1|0:c,de=(L=Ke(a[Q+104>>2]^b,B^a[Q+108>>2],32))+(H=a[Q+72>>2])|0,c=(Me=$)+(Z=a[Q+76>>2])|0,re=H>>>0>de>>>0?c+1|0:c,Z=Ce(H<<1&-2,1&(Z<<1|H>>>31),L,0),c=$+re|0,Z=Ke(re=(H=Z+de|0)^j,gr^(j=H>>>0<Z>>>0?c+1|0:c),40),c=B+(Ve=$)|0,re=(de=b+Z|0)>>>0<b>>>0?c+1|0:c,B=Ce(Z,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+re|0,kr=Ke((b=B+de|0)^L,Me^(de=b>>>0<B>>>0?c+1|0:c),48),c=j+(Jt=$)|0,B=(L=H+kr|0)>>>0<H>>>0?c+1|0:c,j=Ce(kr,0,H<<1&-2,1&(j<<1|H>>>31)),c=$+B|0,it=Ke((H=j+L|0)^Z,Ve^(gr=H>>>0<j>>>0?c+1|0:c),1),ur=c=$,We=it,re=c,Me=(Z=a[Q+32>>2])+(B=a[Q>>2])|0,c=(vr=a[Q+36>>2])+(j=a[Q+4>>2])|0,L=B>>>0>Me>>>0?c+1|0:c,j=Ce(B<<1&-2,1&(j<<1|B>>>31),Z,0),c=$+L|0,L=(B=j+Me|0)>>>0<j>>>0?c+1|0:c,ke=(Sr=Ke(a[Q+96>>2]^B,L^a[Q+100>>2],32))+(j=a[(c=pt=Q- -64|0)>>2])|0,c=(Gr=$)+(Me=a[c+4>>2])|0,Ve=j>>>0>ke>>>0?c+1|0:c,Me=Ce(j<<1&-2,1&(Me<<1|j>>>31),Sr,0),c=$+Ve|0,vr=Ke((j=Me+ke|0)^Z,vr^(Me=j>>>0<Me>>>0?c+1|0:c),40),c=L+(fn=$)|0,Z=(Ve=B+vr|0)>>>0<B>>>0?c+1|0:c,L=Ce(vr,0,B<<1&-2,1&(L<<1|B>>>31)),c=$+Z|0,c=(Ve=(B=L+Ve|0)>>>0<L>>>0?c+1|0:c)+re|0,Z=(L=B+We|0)>>>0<B>>>0?c+1|0:c,re=Ce(We,0,B<<1&-2,1&(Ve<<1|B>>>31)),c=$+Z|0,yr=Ke((L=re+L|0)^ye,(ke=L>>>0<re>>>0?c+1|0:c)^ee,32),Mr=c=$,bt=c,We=(ye=a[Q+48>>2])+(Z=a[Q+16>>2])|0,c=(Kt=a[Q+52>>2])+(ee=a[Q+20>>2])|0,re=Z>>>0>We>>>0?c+1|0:c,ee=Ce(Z<<1&-2,1&(ee<<1|Z>>>31),ye,0),c=$+re|0,re=(Z=ee+We|0)>>>0<ee>>>0?c+1|0:c,Ye=(We=Ke(a[Q+112>>2]^Z,re^a[Q+116>>2],32))+(ee=a[Q+80>>2])|0,c=(or=$)+(dt=a[Q+84>>2])|0,Wt=ee>>>0>Ye>>>0?c+1|0:c,dt=Ce(ee<<1&-2,1&(dt<<1|ee>>>31),We,0),c=$+Wt|0,dt=Ke(Ye=(ee=dt+Ye|0)^ye,Kt^(ye=ee>>>0<dt>>>0?c+1|0:c),40),c=re+(Kt=$)|0,Wt=(Ye=Z+dt|0)>>>0<Z>>>0?c+1|0:c,re=Ce(dt,0,Z<<1&-2,1&(re<<1|Z>>>31)),c=$+Wt|0,Wt=Ke(Ye=(Z=re+Ye|0)^We,or^(We=re>>>0>Z>>>0?c+1|0:c),48),c=ye+(or=$)|0,re=(Ye=ee+Wt|0)>>>0<ee>>>0?c+1|0:c,ye=Ce(Wt,0,ee<<1&-2,1&(ye<<1|ee>>>31)),c=$+re|0,c=(ye=(ee=ye+Ye|0)>>>0<ye>>>0?c+1|0:c)+bt|0,bt=(re=ee+yr|0)>>>0<ee>>>0?c+1|0:c,Ye=Ce(yr,0,ee<<1&-2,1&(ye<<1|ee>>>31)),c=$+bt|0,bt=Ke(bt=(re=Ye+re|0)^it,ur^(it=re>>>0<Ye>>>0?c+1|0:c),40),c=ke+(ur=$)|0,Ye=(Ne=L+bt|0)>>>0<L>>>0?c+1|0:c,L=(ke=Ce(bt,0,L<<1&-2,1&(ke<<1|L>>>31)))+Ne|0,c=$+Ye|0,a[Q>>2]=L,c=L>>>0<ke>>>0?c+1|0:c,a[Q+4>>2]=c,L=Ke(L^yr,c^Mr,48),a[Q+120>>2]=L,c=$,a[Q+124>>2]=c,c=c+it|0,ke=(yr=L+re|0)>>>0<re>>>0?c+1|0:c,L=(re=Ce(L,0,re<<1&-2,1&(it<<1|re>>>31)))+yr|0,c=$+ke|0,a[Q+80>>2]=L,c=L>>>0<re>>>0?c+1|0:c,a[Q+84>>2]=c,xe=Q,nt=Ke(L^bt,c^ur,1),a[xe+40>>2]=nt,a[Q+44>>2]=$,c=we+nn|0,L=(re=v+cr|0)>>>0<v>>>0?c+1|0:c,v=Ce(cr,0,v<<1&-2,1&(we<<1|v>>>31)),c=$+L|0,L=c=v>>>0>(re=v+re|0)>>>0?c+1|0:c,v=c,ee=Ke(ee^dt,ye^Kt,1),c=de+(ye=$)|0,we=(ke=b+ee|0)>>>0<b>>>0?c+1|0:c,b=(de=Ce(ee,0,b<<1&-2,1&(de<<1|b>>>31)))+ke|0,c=$+we|0,Ve=Ke(B^Sr,Ve^Gr,48),de=Ke(Ve^b,(B=b>>>0<de>>>0?c+1|0:c)^(it=$),32),c=(cr=$)+v|0,we=de>>>0>(ke=de+re|0)>>>0?c+1|0:c,v=(c=ke)+(ke=Ce(re<<1&-2,1&(v<<1|re>>>31),de,0))|0,c=$+we|0,we=Ke(bt=v^ee,ye^(ee=v>>>0<ke>>>0?c+1|0:c),40),c=B+(ke=$)|0,ye=(Sr=b+we|0)>>>0<b>>>0?c+1|0:c,b=Ce(we,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+ye|0,b=Ke((B=b+Sr|0)^de,cr^(c=b>>>0>B>>>0?c+1|0:c),48),a[Q+96>>2]=b,de=$,a[Q+100>>2]=de,a[Q+8>>2]=B,a[Q+12>>2]=c,c=ee+de|0,B=(de=b+v|0)>>>0<v>>>0?c+1|0:c,v=Ce(b,0,v<<1&-2,1&(ee<<1|v>>>31)),c=$+B|0,xe=Q,nt=Ke((b=v+de|0)^we,(c=b>>>0<v>>>0?c+1|0:c)^ke,1),a[xe+48>>2]=nt,a[Q+52>>2]=$,a[Q+88>>2]=b,a[Q+92>>2]=c,ee=Ke(re^Or,L^jr,1),c=We+(we=$)|0,v=(b=Z+ee|0)>>>0<Z>>>0?c+1|0:c,B=Ce(ee,0,Z<<1&-2,1&(We<<1|Z>>>31)),c=$+v|0,re=Ke((b=B+b|0)^kr,Jt^(L=b>>>0<B>>>0?c+1|0:c),32),de=c=$,B=c,c=Me+it|0,Z=(v=j+Ve|0)>>>0<j>>>0?c+1|0:c,j=Ce(Ve,0,j<<1&-2,1&(Me<<1|j>>>31)),c=$+Z|0,c=(j=(v=j+v|0)>>>0<j>>>0?c+1|0:c)+B|0,Z=(B=v+re|0)>>>0<v>>>0?c+1|0:c,Me=Ce(re,0,v<<1&-2,1&(j<<1|v>>>31)),c=$+Z|0,ee=Ke((B=Me+B|0)^ee,we^(Z=B>>>0<Me>>>0?c+1|0:c),40),c=L+(Me=$)|0,we=(Ve=b+ee|0)>>>0<b>>>0?c+1|0:c,b=(L=Ce(ee,0,b<<1&-2,1&(L<<1|b>>>31)))+Ve|0,c=$+we|0,a[Q+16>>2]=b,c=b>>>0<L>>>0?c+1|0:c,a[Q+20>>2]=c,b=Ke(b^re,c^de,48),a[Q+104>>2]=b,c=$,a[Q+108>>2]=c,L=pt,c=c+Z|0,re=(we=b+B|0)>>>0<B>>>0?c+1|0:c,B=Ce(b,0,B<<1&-2,1&(Z<<1|B>>>31)),c=$+re|0,Z=b=B+we|0,re=c=b>>>0<B>>>0?c+1|0:c,a[L>>2]=b,a[L+4>>2]=c,j=Ke(v^vr,j^fn,1),c=(de=$)+nr|0,v=(b=j+ut|0)>>>0<j>>>0?c+1|0:c,B=Ce(ut<<1&-2,1&(nr<<1|ut>>>31),j,0),c=$+v|0,L=Ke((b=B+b|0)^Wt,or^(B=b>>>0<B>>>0?c+1|0:c),32),c=gr+(ut=$)|0,we=(v=L+H|0)>>>0<H>>>0?c+1|0:c,H=Ce(L,0,H<<1&-2,1&(gr<<1|H>>>31)),c=$+we|0,j=Ke((v=H+v|0)^j,de^(H=v>>>0<H>>>0?c+1|0:c),40),c=B+(nr=$)|0,we=(de=b+j|0)>>>0<b>>>0?c+1|0:c,B=Ce(j,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+we|0,c=(b=B+de|0)>>>0<B>>>0?c+1|0:c,B=b,b^=L,L=c,b=Ke(b,ut^c,48),c=H+(ut=$)|0,we=(de=b+v|0)>>>0<v>>>0?c+1|0:c,v=(H=Ce(b,0,v<<1&-2,1&(H<<1|v>>>31)))+de|0,c=$+we|0,a[Q+72>>2]=v,c=v>>>0<H>>>0?c+1|0:c,a[Q+76>>2]=c,a[Q+112>>2]=b,a[Q+116>>2]=ut,a[Q+24>>2]=B,a[Q+28>>2]=L,xe=Q,nt=Ke(Z^ee,re^Me,1),a[xe+56>>2]=nt,a[Q+60>>2]=$,xe=Q,nt=Ke(v^j,c^nr,1),a[xe+32>>2]=nt,a[Q+36>>2]=$,(0|(f=f+1|0))!=8;);for(f=0;j=(B=a[392+(Q=(p+1024|0)+(f<<4)|0)>>2])+(b=a[Q+136>>2])|0,c=(re=a[Q+396>>2])+(v=a[Q+140>>2])|0,H=b>>>0>j>>>0?c+1|0:c,v=Ce(b<<1&-2,1&(v<<1|b>>>31),B,0),c=$+H|0,H=(b=v+j|0)>>>0<v>>>0?c+1|0:c,ee=(j=Ke(a[Q+904>>2]^b,H^a[Q+908>>2],32))+(v=a[Q+648>>2])|0,c=(de=$)+(L=a[Q+652>>2])|0,Z=v>>>0>ee>>>0?c+1|0:c,L=Ce(v<<1&-2,1&(L<<1|v>>>31),j,0),c=$+Z|0,Or=Ke(B^(v=L+ee|0),re^(we=v>>>0<L>>>0?c+1|0:c),40),c=H+(Ye=$)|0,B=(L=b+Or|0)>>>0<b>>>0?c+1|0:c,b=Ce(Or,0,b<<1&-2,1&(H<<1|b>>>31)),c=$+B|0,cr=Ke(j^(ut=b+L|0),de^(nr=b>>>0>ut>>>0?c+1|0:c),48),jr=c=$,ye=cr,ee=c,L=(j=a[Q+264>>2])+(b=a[Q+8>>2])|0,c=(gr=a[Q+268>>2])+(H=a[Q+12>>2])|0,B=b>>>0>L>>>0?c+1|0:c,H=Ce(b<<1&-2,1&(H<<1|b>>>31),j,0),c=$+B|0,B=(b=H+L|0)>>>0<H>>>0?c+1|0:c,de=(L=Ke(a[Q+776>>2]^b,B^a[Q+780>>2],32))+(H=a[Q+520>>2])|0,c=(Me=$)+(Z=a[Q+524>>2])|0,re=H>>>0>de>>>0?c+1|0:c,Z=Ce(H<<1&-2,1&(Z<<1|H>>>31),L,0),c=$+re|0,Z=Ke(re=(H=Z+de|0)^j,gr^(j=H>>>0<Z>>>0?c+1|0:c),40),c=B+(Ve=$)|0,re=(de=b+Z|0)>>>0<b>>>0?c+1|0:c,B=Ce(Z,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+re|0,kr=Ke((b=B+de|0)^L,Me^(de=b>>>0<B>>>0?c+1|0:c),48),c=j+(nn=$)|0,B=(L=H+kr|0)>>>0<H>>>0?c+1|0:c,j=Ce(kr,0,H<<1&-2,1&(j<<1|H>>>31)),c=$+B|0,it=Ke((H=j+L|0)^Z,Ve^(gr=H>>>0<j>>>0?c+1|0:c),1),Jt=c=$,We=it,re=c,Me=(Z=a[Q+256>>2])+(B=a[Q>>2])|0,c=(vr=a[Q+260>>2])+(j=a[Q+4>>2])|0,L=B>>>0>Me>>>0?c+1|0:c,j=Ce(B<<1&-2,1&(j<<1|B>>>31),Z,0),c=$+L|0,L=(B=j+Me|0)>>>0<j>>>0?c+1|0:c,ke=(Sr=Ke(a[Q+768>>2]^B,L^a[Q+772>>2],32))+(j=a[Q+512>>2])|0,c=(ur=$)+(Me=a[Q+516>>2])|0,Ve=j>>>0>ke>>>0?c+1|0:c,Me=Ce(j<<1&-2,1&(Me<<1|j>>>31),Sr,0),c=$+Ve|0,vr=Ke((j=Me+ke|0)^Z,vr^(Me=j>>>0<Me>>>0?c+1|0:c),40),c=L+(Gr=$)|0,Z=(Ve=B+vr|0)>>>0<B>>>0?c+1|0:c,L=Ce(vr,0,B<<1&-2,1&(L<<1|B>>>31)),c=$+Z|0,c=(Ve=(B=L+Ve|0)>>>0<L>>>0?c+1|0:c)+re|0,Z=(L=B+We|0)>>>0<B>>>0?c+1|0:c,re=Ce(We,0,B<<1&-2,1&(Ve<<1|B>>>31)),c=$+Z|0,yr=Ke((L=re+L|0)^ye,(ke=L>>>0<re>>>0?c+1|0:c)^ee,32),fn=c=$,bt=c,We=(ye=a[Q+384>>2])+(Z=a[Q+128>>2])|0,c=(Mr=a[Q+388>>2])+(ee=a[Q+132>>2])|0,re=Z>>>0>We>>>0?c+1|0:c,ee=Ce(Z<<1&-2,1&(ee<<1|Z>>>31),ye,0),c=$+re|0,re=(Z=ee+We|0)>>>0<ee>>>0?c+1|0:c,pt=(We=Ke(a[Q+896>>2]^Z,re^a[Q+900>>2],32))+(ee=a[Q+640>>2])|0,c=(Kt=$)+(dt=a[Q+644>>2])|0,Wt=ee>>>0>pt>>>0?c+1|0:c,dt=Ce(ee<<1&-2,1&(dt<<1|ee>>>31),We,0),c=$+Wt|0,dt=Ke(pt=(ee=dt+pt|0)^ye,Mr^(ye=ee>>>0<dt>>>0?c+1|0:c),40),c=re+(Mr=$)|0,Wt=(pt=Z+dt|0)>>>0<Z>>>0?c+1|0:c,re=Ce(dt,0,Z<<1&-2,1&(re<<1|Z>>>31)),c=$+Wt|0,Wt=Ke(pt=(Z=re+pt|0)^We,Kt^(We=re>>>0>Z>>>0?c+1|0:c),48),c=ye+(Kt=$)|0,re=(pt=ee+Wt|0)>>>0<ee>>>0?c+1|0:c,ye=Ce(Wt,0,ee<<1&-2,1&(ye<<1|ee>>>31)),c=$+re|0,c=(ye=(ee=ye+pt|0)>>>0<ye>>>0?c+1|0:c)+bt|0,bt=(re=ee+yr|0)>>>0<ee>>>0?c+1|0:c,pt=Ce(yr,0,ee<<1&-2,1&(ye<<1|ee>>>31)),c=$+bt|0,bt=Ke(bt=(re=pt+re|0)^it,Jt^(it=re>>>0<pt>>>0?c+1|0:c),40),c=ke+(Jt=$)|0,pt=(or=L+bt|0)>>>0<L>>>0?c+1|0:c,L=(ke=Ce(bt,0,L<<1&-2,1&(ke<<1|L>>>31)))+or|0,c=$+pt|0,a[Q>>2]=L,c=L>>>0<ke>>>0?c+1|0:c,a[Q+4>>2]=c,L=Ke(L^yr,c^fn,48),a[Q+904>>2]=L,c=$,a[Q+908>>2]=c,c=c+it|0,ke=(yr=L+re|0)>>>0<re>>>0?c+1|0:c,L=(re=Ce(L,0,re<<1&-2,1&(it<<1|re>>>31)))+yr|0,c=$+ke|0,a[Q+640>>2]=L,c=L>>>0<re>>>0?c+1|0:c,a[Q+644>>2]=c,xe=Q,nt=Ke(L^bt,c^Jt,1),a[xe+264>>2]=nt,a[Q+268>>2]=$,c=we+jr|0,L=(re=v+cr|0)>>>0<v>>>0?c+1|0:c,v=Ce(cr,0,v<<1&-2,1&(we<<1|v>>>31)),c=$+L|0,L=c=v>>>0>(re=v+re|0)>>>0?c+1|0:c,v=c,ee=Ke(ee^dt,ye^Mr,1),c=de+(ye=$)|0,we=(ke=b+ee|0)>>>0<b>>>0?c+1|0:c,b=(de=Ce(ee,0,b<<1&-2,1&(de<<1|b>>>31)))+ke|0,c=$+we|0,Ve=Ke(B^Sr,Ve^ur,48),de=Ke(Ve^b,(B=b>>>0<de>>>0?c+1|0:c)^(it=$),32),c=(cr=$)+v|0,we=de>>>0>(ke=de+re|0)>>>0?c+1|0:c,v=(c=ke)+(ke=Ce(re<<1&-2,1&(v<<1|re>>>31),de,0))|0,c=$+we|0,we=Ke(pt=v^ee,ye^(ee=v>>>0<ke>>>0?c+1|0:c),40),c=B+(ke=$)|0,ye=(Sr=b+we|0)>>>0<b>>>0?c+1|0:c,b=Ce(we,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+ye|0,b=Ke((B=b+Sr|0)^de,cr^(c=b>>>0>B>>>0?c+1|0:c),48),a[Q+768>>2]=b,de=$,a[Q+772>>2]=de,a[Q+8>>2]=B,a[Q+12>>2]=c,c=ee+de|0,B=(de=b+v|0)>>>0<v>>>0?c+1|0:c,v=Ce(b,0,v<<1&-2,1&(ee<<1|v>>>31)),c=$+B|0,xe=Q,nt=Ke((b=v+de|0)^we,(c=b>>>0<v>>>0?c+1|0:c)^ke,1),a[xe+384>>2]=nt,a[Q+388>>2]=$,a[Q+648>>2]=b,a[Q+652>>2]=c,ee=Ke(re^Or,L^Ye,1),c=We+(we=$)|0,v=(b=Z+ee|0)>>>0<Z>>>0?c+1|0:c,B=Ce(ee,0,Z<<1&-2,1&(We<<1|Z>>>31)),c=$+v|0,re=Ke((b=B+b|0)^kr,nn^(L=b>>>0<B>>>0?c+1|0:c),32),de=c=$,B=c,c=Me+it|0,Z=(v=j+Ve|0)>>>0<j>>>0?c+1|0:c,j=Ce(Ve,0,j<<1&-2,1&(Me<<1|j>>>31)),c=$+Z|0,c=(j=(v=j+v|0)>>>0<j>>>0?c+1|0:c)+B|0,Z=(B=v+re|0)>>>0<v>>>0?c+1|0:c,Me=Ce(re,0,v<<1&-2,1&(j<<1|v>>>31)),c=$+Z|0,ee=Ke((B=Me+B|0)^ee,we^(Z=B>>>0<Me>>>0?c+1|0:c),40),c=L+(Me=$)|0,we=(Ve=b+ee|0)>>>0<b>>>0?c+1|0:c,b=(L=Ce(ee,0,b<<1&-2,1&(L<<1|b>>>31)))+Ve|0,c=$+we|0,a[Q+128>>2]=b,c=b>>>0<L>>>0?c+1|0:c,a[Q+132>>2]=c,b=Ke(b^re,c^de,48),a[Q+776>>2]=b,c=$,a[Q+780>>2]=c,c=c+Z|0,L=(re=b+B|0)>>>0<B>>>0?c+1|0:c,B=Ce(b,0,B<<1&-2,1&(Z<<1|B>>>31)),c=$+L|0,Z=b=B+re|0,re=c=b>>>0<B>>>0?c+1|0:c,a[Q+512>>2]=b,a[Q+516>>2]=c,j=Ke(v^vr,j^Gr,1),c=(de=$)+nr|0,v=(b=j+ut|0)>>>0<j>>>0?c+1|0:c,B=Ce(ut<<1&-2,1&(nr<<1|ut>>>31),j,0),c=$+v|0,L=Ke((b=B+b|0)^Wt,Kt^(B=b>>>0<B>>>0?c+1|0:c),32),c=gr+(ut=$)|0,we=(v=L+H|0)>>>0<H>>>0?c+1|0:c,H=Ce(L,0,H<<1&-2,1&(gr<<1|H>>>31)),c=$+we|0,j=Ke((v=H+v|0)^j,de^(H=v>>>0<H>>>0?c+1|0:c),40),c=B+(nr=$)|0,we=(de=b+j|0)>>>0<b>>>0?c+1|0:c,B=Ce(j,0,b<<1&-2,1&(B<<1|b>>>31)),c=$+we|0,c=(b=B+de|0)>>>0<B>>>0?c+1|0:c,B=b,b^=L,L=c,b=Ke(b,ut^c,48),c=H+(ut=$)|0,we=(de=b+v|0)>>>0<v>>>0?c+1|0:c,v=(H=Ce(b,0,v<<1&-2,1&(H<<1|v>>>31)))+de|0,c=$+we|0,a[Q+520>>2]=v,c=v>>>0<H>>>0?c+1|0:c,a[Q+524>>2]=c,a[Q+896>>2]=b,a[Q+900>>2]=ut,a[Q+136>>2]=B,a[Q+140>>2]=L,xe=Q,nt=Ke(Z^ee,re^Me,1),a[xe+392>>2]=nt,a[Q+396>>2]=$,xe=Q,nt=Ke(v^j,c^nr,1),a[xe+256>>2]=nt,a[Q+260>>2]=$,(0|(f=f+1|0))!=8;);for(c=Di(h,p,1024),f=0;b=a[(Q=(h=f<<3)+c|0)>>2],B=a[(H=(v=L=p+1024|0)+h|0)>>2],H=a[Q+4>>2]^a[H+4>>2],a[Q>>2]=b^B,a[Q+4>>2]=H,H=a[(Q=(b=8|h)+c|0)>>2],v=a[(b=b+v|0)>>2],b=a[Q+4>>2]^a[b+4>>2],a[Q>>2]=v^H,a[Q+4>>2]=b,v=a[(Q=(b=16|h)+c|0)>>2],H=a[(b=b+L|0)>>2],b=a[Q+4>>2]^a[b+4>>2],a[Q>>2]=v^H,a[Q+4>>2]=b,b=a[(h=(Q=24|h)+c|0)>>2],v=a[(Q=Q+L|0)>>2],Q=a[h+4>>2]^a[Q+4>>2],a[h>>2]=b^v,a[h+4>>2]=Q,(0|(f=f+4|0))!=128;);Ie=p+2048|0}function jo(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0;for(Ie=p=Ie-800|0,We=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,pt=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,Ye=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,it=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,Me=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,dt=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,Wt=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,B=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,Q=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,v=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,L=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,H=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,j=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,re=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,Ve=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=h- -64|0,Z=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,a[c>>2]=33620224^Z,a[h+56>>2]=1496785429,a[h+60>>2]=1652156816,a[(f=h+48|0)>>2]=33620224,a[f+4>>2]=218629379,a[h+40>>2]=1110511904,a[h+44>>2]=-584534669,a[(b=h+32|0)>>2]=1427652059,a[b+4>>2]=-248528275,ee=Ve^Z,a[h>>2]=ee,a[h+92>>2]=-584534669^re,a[h+88>>2]=1110511904^j,a[h+84>>2]=-248528275^H,a[(Ve=h+80|0)>>2]=1427652059^L,a[h+76>>2]=1652156816^v,a[h+72>>2]=1496785429^Q,a[h+68>>2]=218629379^B,Wt^=re,a[h+28>>2]=Wt,dt^=j,a[h+24>>2]=dt,de=Me^H,a[h+20>>2]=de,it^=L,a[(Me=h+16|0)>>2]=it,Ye^=v,a[h+12>>2]=Ye,we=pt^Q,a[h+8>>2]=we,ke=We^B,a[h+4>>2]=ke,pt=0;We=a[Ve+12>>2],a[p+792>>2]=a[Ve+8>>2],a[p+796>>2]=We,We=a[Ve+4>>2],a[p+784>>2]=a[Ve>>2],a[p+788>>2]=We,We=a[c+12>>2],a[p+760>>2]=a[c+8>>2],a[p+764>>2]=We,We=a[c+4>>2],a[p+752>>2]=a[c>>2],a[p+756>>2]=We,We=a[Ve+12>>2],a[p+744>>2]=a[Ve+8>>2],a[p+748>>2]=We,We=a[Ve+4>>2],a[p+736>>2]=a[Ve>>2],a[p+740>>2]=We,un(We=p+768|0,p+752|0,p+736|0),ye=a[p+780>>2],a[Ve+8>>2]=a[p+776>>2],a[Ve+12>>2]=ye,ye=a[p+772>>2],a[Ve>>2]=a[p+768>>2],a[Ve+4>>2]=ye,ye=a[f+12>>2],a[p+728>>2]=a[f+8>>2],a[p+732>>2]=ye,ye=a[f+4>>2],a[p+720>>2]=a[f>>2],a[p+724>>2]=ye,ye=a[c+12>>2],a[p+712>>2]=a[c+8>>2],a[p+716>>2]=ye,ye=a[c+4>>2],a[p+704>>2]=a[c>>2],a[p+708>>2]=ye,un(We,p+720|0,p+704|0),ye=a[p+780>>2],a[c+8>>2]=a[p+776>>2],a[c+12>>2]=ye,ye=a[p+772>>2],a[c>>2]=a[p+768>>2],a[c+4>>2]=ye,ye=a[b+12>>2],a[p+696>>2]=a[b+8>>2],a[p+700>>2]=ye,ye=a[b+4>>2],a[p+688>>2]=a[b>>2],a[p+692>>2]=ye,ye=a[f+12>>2],a[p+680>>2]=a[f+8>>2],a[p+684>>2]=ye,ye=a[f+4>>2],a[p+672>>2]=a[f>>2],a[p+676>>2]=ye,un(We,p+688|0,p+672|0),ye=a[p+780>>2],a[f+8>>2]=a[p+776>>2],a[f+12>>2]=ye,ye=a[p+772>>2],a[f>>2]=a[p+768>>2],a[f+4>>2]=ye,ye=a[Me+12>>2],a[p+664>>2]=a[Me+8>>2],a[p+668>>2]=ye,ye=a[Me+4>>2],a[p+656>>2]=a[Me>>2],a[p+660>>2]=ye,ye=a[b+12>>2],a[p+648>>2]=a[b+8>>2],a[p+652>>2]=ye,ye=a[b+4>>2],a[p+640>>2]=a[b>>2],a[p+644>>2]=ye,un(We,p+656|0,p+640|0),ye=a[p+780>>2],a[b+8>>2]=a[p+776>>2],a[b+12>>2]=ye,ye=a[p+772>>2],a[b>>2]=a[p+768>>2],a[b+4>>2]=ye,ye=a[h+12>>2],a[p+632>>2]=a[h+8>>2],a[p+636>>2]=ye,ye=a[h+4>>2],a[p+624>>2]=a[h>>2],a[p+628>>2]=ye,ye=a[Me+12>>2],a[p+616>>2]=a[Me+8>>2],a[p+620>>2]=ye,ye=a[Me+4>>2],a[p+608>>2]=a[Me>>2],a[p+612>>2]=ye,un(We,p+624|0,p+608|0),ye=a[p+780>>2],a[Me+8>>2]=a[p+776>>2],a[Me+12>>2]=ye,ye=a[p+772>>2],a[Me>>2]=a[p+768>>2],a[Me+4>>2]=ye,ye=a[p+796>>2],a[p+600>>2]=a[p+792>>2],a[p+604>>2]=ye,ye=a[p+788>>2],a[p+592>>2]=a[p+784>>2],a[p+596>>2]=ye,ye=a[h+12>>2],a[p+584>>2]=a[h+8>>2],a[p+588>>2]=ye,ye=a[h+4>>2],a[p+576>>2]=a[h>>2],a[p+580>>2]=ye,un(We,p+592|0,p+576|0),ye=a[p+768>>2],ut=a[p+772>>2],bt=a[p+776>>2],a[h+12>>2]=a[p+780>>2]^v,a[h+8>>2]=bt^Q,a[h+4>>2]=ut^B,a[h>>2]=ye^Z,ye=a[Ve+12>>2],a[p+792>>2]=a[Ve+8>>2],a[p+796>>2]=ye,ye=a[Ve+4>>2],a[p+784>>2]=a[Ve>>2],a[p+788>>2]=ye,ye=a[c+12>>2],a[p+568>>2]=a[c+8>>2],a[p+572>>2]=ye,ye=a[c+4>>2],a[p+560>>2]=a[c>>2],a[p+564>>2]=ye,ye=a[Ve+12>>2],a[p+552>>2]=a[Ve+8>>2],a[p+556>>2]=ye,ye=a[Ve+4>>2],a[p+544>>2]=a[Ve>>2],a[p+548>>2]=ye,un(We,p+560|0,p+544|0),ye=a[p+780>>2],a[Ve+8>>2]=a[p+776>>2],a[Ve+12>>2]=ye,ye=a[p+772>>2],a[Ve>>2]=a[p+768>>2],a[Ve+4>>2]=ye,ye=a[f+12>>2],a[p+536>>2]=a[f+8>>2],a[p+540>>2]=ye,ye=a[f+4>>2],a[p+528>>2]=a[f>>2],a[p+532>>2]=ye,ye=a[c+12>>2],a[p+520>>2]=a[c+8>>2],a[p+524>>2]=ye,ye=a[c+4>>2],a[p+512>>2]=a[c>>2],a[p+516>>2]=ye,un(We,p+528|0,p+512|0),ye=a[p+780>>2],a[c+8>>2]=a[p+776>>2],a[c+12>>2]=ye,ye=a[p+772>>2],a[c>>2]=a[p+768>>2],a[c+4>>2]=ye,ye=a[b+12>>2],a[p+504>>2]=a[b+8>>2],a[p+508>>2]=ye,ye=a[b+4>>2],a[p+496>>2]=a[b>>2],a[p+500>>2]=ye,ye=a[f+12>>2],a[p+488>>2]=a[f+8>>2],a[p+492>>2]=ye,ye=a[f+4>>2],a[p+480>>2]=a[f>>2],a[p+484>>2]=ye,un(We,p+496|0,p+480|0),ye=a[p+780>>2],a[f+8>>2]=a[p+776>>2],a[f+12>>2]=ye,ye=a[p+772>>2],a[f>>2]=a[p+768>>2],a[f+4>>2]=ye,ye=a[Me+12>>2],a[p+472>>2]=a[Me+8>>2],a[p+476>>2]=ye,ye=a[Me+4>>2],a[p+464>>2]=a[Me>>2],a[p+468>>2]=ye,ye=a[b+12>>2],a[p+456>>2]=a[b+8>>2],a[p+460>>2]=ye,ye=a[b+4>>2],a[p+448>>2]=a[b>>2],a[p+452>>2]=ye,un(We,p+464|0,p+448|0),ye=a[p+780>>2],a[b+8>>2]=a[p+776>>2],a[b+12>>2]=ye,ye=a[p+772>>2],a[b>>2]=a[p+768>>2],a[b+4>>2]=ye,ye=a[h+12>>2],a[p+440>>2]=a[h+8>>2],a[p+444>>2]=ye,ye=a[h+4>>2],a[p+432>>2]=a[h>>2],a[p+436>>2]=ye,ye=a[Me+12>>2],a[p+424>>2]=a[Me+8>>2],a[p+428>>2]=ye,ye=a[Me+4>>2],a[p+416>>2]=a[Me>>2],a[p+420>>2]=ye,un(We,p+432|0,p+416|0),ye=a[p+780>>2],a[Me+8>>2]=a[p+776>>2],a[Me+12>>2]=ye,ye=a[p+772>>2],a[Me>>2]=a[p+768>>2],a[Me+4>>2]=ye,ye=a[p+796>>2],a[p+408>>2]=a[p+792>>2],a[p+412>>2]=ye,ye=a[p+788>>2],a[p+400>>2]=a[p+784>>2],a[p+404>>2]=ye,ye=a[h+12>>2],a[p+392>>2]=a[h+8>>2],a[p+396>>2]=ye,ye=a[h+4>>2],a[p+384>>2]=a[h>>2],a[p+388>>2]=ye,un(We,p+400|0,p+384|0),ye=a[p+768>>2],ut=a[p+772>>2],bt=a[p+776>>2],a[h+12>>2]=a[p+780>>2]^re,a[h+8>>2]=bt^j,a[h+4>>2]=ut^H,a[h>>2]=ye^L,ye=a[Ve+12>>2],a[p+792>>2]=a[Ve+8>>2],a[p+796>>2]=ye,ye=a[Ve+4>>2],a[p+784>>2]=a[Ve>>2],a[p+788>>2]=ye,ye=a[c+12>>2],a[p+376>>2]=a[c+8>>2],a[p+380>>2]=ye,ye=a[c+4>>2],a[p+368>>2]=a[c>>2],a[p+372>>2]=ye,ye=a[Ve+12>>2],a[p+360>>2]=a[Ve+8>>2],a[p+364>>2]=ye,ye=a[Ve+4>>2],a[p+352>>2]=a[Ve>>2],a[p+356>>2]=ye,un(We,p+368|0,p+352|0),ye=a[p+780>>2],a[Ve+8>>2]=a[p+776>>2],a[Ve+12>>2]=ye,ye=a[p+772>>2],a[Ve>>2]=a[p+768>>2],a[Ve+4>>2]=ye,ye=a[f+12>>2],a[p+344>>2]=a[f+8>>2],a[p+348>>2]=ye,ye=a[f+4>>2],a[p+336>>2]=a[f>>2],a[p+340>>2]=ye,ye=a[c+12>>2],a[p+328>>2]=a[c+8>>2],a[p+332>>2]=ye,ye=a[c+4>>2],a[p+320>>2]=a[c>>2],a[p+324>>2]=ye,un(We,p+336|0,p+320|0),ye=a[p+780>>2],a[c+8>>2]=a[p+776>>2],a[c+12>>2]=ye,ye=a[p+772>>2],a[c>>2]=a[p+768>>2],a[c+4>>2]=ye,ye=a[b+12>>2],a[p+312>>2]=a[b+8>>2],a[p+316>>2]=ye,ye=a[b+4>>2],a[p+304>>2]=a[b>>2],a[p+308>>2]=ye,ye=a[f+12>>2],a[p+296>>2]=a[f+8>>2],a[p+300>>2]=ye,ye=a[f+4>>2],a[p+288>>2]=a[f>>2],a[p+292>>2]=ye,un(We,p+304|0,p+288|0),ye=a[p+780>>2],a[f+8>>2]=a[p+776>>2],a[f+12>>2]=ye,ye=a[p+772>>2],a[f>>2]=a[p+768>>2],a[f+4>>2]=ye,ye=a[Me+12>>2],a[p+280>>2]=a[Me+8>>2],a[p+284>>2]=ye,ye=a[Me+4>>2],a[p+272>>2]=a[Me>>2],a[p+276>>2]=ye,ye=a[b+12>>2],a[p+264>>2]=a[b+8>>2],a[p+268>>2]=ye,ye=a[b+4>>2],a[p+256>>2]=a[b>>2],a[p+260>>2]=ye,un(We,p+272|0,p+256|0),ye=a[p+780>>2],a[b+8>>2]=a[p+776>>2],a[b+12>>2]=ye,ye=a[p+772>>2],a[b>>2]=a[p+768>>2],a[b+4>>2]=ye,ye=a[h+12>>2],a[p+248>>2]=a[h+8>>2],a[p+252>>2]=ye,ye=a[h+4>>2],a[p+240>>2]=a[h>>2],a[p+244>>2]=ye,ye=a[Me+12>>2],a[p+232>>2]=a[Me+8>>2],a[p+236>>2]=ye,ye=a[Me+4>>2],a[p+224>>2]=a[Me>>2],a[p+228>>2]=ye,un(We,p+240|0,p+224|0),ye=a[p+780>>2],a[Me+8>>2]=a[p+776>>2],a[Me+12>>2]=ye,ye=a[p+772>>2],a[Me>>2]=a[p+768>>2],a[Me+4>>2]=ye,ye=a[p+796>>2],a[p+216>>2]=a[p+792>>2],a[p+220>>2]=ye,ye=a[p+788>>2],a[p+208>>2]=a[p+784>>2],a[p+212>>2]=ye,ye=a[h+12>>2],a[p+200>>2]=a[h+8>>2],a[p+204>>2]=ye,ye=a[h+4>>2],a[p+192>>2]=a[h>>2],a[p+196>>2]=ye,un(We,p+208|0,p+192|0),ye=a[p+768>>2],ut=a[p+772>>2],bt=a[p+776>>2],a[h+12>>2]=Ye^a[p+780>>2],a[h+8>>2]=bt^we,a[h+4>>2]=ut^ke,a[h>>2]=ye^ee,ye=a[Ve+12>>2],a[p+792>>2]=a[Ve+8>>2],a[p+796>>2]=ye,ye=a[Ve+4>>2],a[p+784>>2]=a[Ve>>2],a[p+788>>2]=ye,ye=a[c+12>>2],a[p+184>>2]=a[c+8>>2],a[p+188>>2]=ye,ye=a[c+4>>2],a[p+176>>2]=a[c>>2],a[p+180>>2]=ye,ye=a[Ve+12>>2],a[p+168>>2]=a[Ve+8>>2],a[p+172>>2]=ye,ye=a[Ve+4>>2],a[p+160>>2]=a[Ve>>2],a[p+164>>2]=ye,un(We,p+176|0,p+160|0),ye=a[p+780>>2],a[Ve+8>>2]=a[p+776>>2],a[Ve+12>>2]=ye,ye=a[p+772>>2],a[Ve>>2]=a[p+768>>2],a[Ve+4>>2]=ye,ye=a[f+12>>2],a[p+152>>2]=a[f+8>>2],a[p+156>>2]=ye,ye=a[f+4>>2],a[p+144>>2]=a[f>>2],a[p+148>>2]=ye,ye=a[c+12>>2],a[p+136>>2]=a[c+8>>2],a[p+140>>2]=ye,ye=a[c+4>>2],a[p+128>>2]=a[c>>2],a[p+132>>2]=ye,un(We,p+144|0,p+128|0),ye=a[p+780>>2],a[c+8>>2]=a[p+776>>2],a[c+12>>2]=ye,ye=a[p+772>>2],a[c>>2]=a[p+768>>2],a[c+4>>2]=ye,ye=a[b+12>>2],a[p+120>>2]=a[b+8>>2],a[p+124>>2]=ye,ye=a[b+4>>2],a[p+112>>2]=a[b>>2],a[p+116>>2]=ye,ye=a[f+12>>2],a[p+104>>2]=a[f+8>>2],a[p+108>>2]=ye,ye=a[f+4>>2],a[p+96>>2]=a[f>>2],a[p+100>>2]=ye,un(We,p+112|0,p+96|0),ye=a[p+780>>2],a[f+8>>2]=a[p+776>>2],a[f+12>>2]=ye,ye=a[p+772>>2],a[f>>2]=a[p+768>>2],a[f+4>>2]=ye,ye=a[Me+12>>2],a[p+88>>2]=a[Me+8>>2],a[p+92>>2]=ye,ye=a[Me+4>>2],a[p+80>>2]=a[Me>>2],a[p+84>>2]=ye,ye=a[b+12>>2],a[p+72>>2]=a[b+8>>2],a[p+76>>2]=ye,ye=a[b+4>>2],a[p+64>>2]=a[b>>2],a[p+68>>2]=ye,un(We,p+80|0,p- -64|0),ye=a[p+780>>2],a[b+8>>2]=a[p+776>>2],a[b+12>>2]=ye,ye=a[p+772>>2],a[b>>2]=a[p+768>>2],a[b+4>>2]=ye,ye=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=ye,ye=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=ye,ye=a[Me+12>>2],a[p+40>>2]=a[Me+8>>2],a[p+44>>2]=ye,ye=a[Me+4>>2],a[p+32>>2]=a[Me>>2],a[p+36>>2]=ye,un(We,p+48|0,p+32|0),ye=a[p+780>>2],a[Me+8>>2]=a[p+776>>2],a[Me+12>>2]=ye,ye=a[p+772>>2],a[Me>>2]=a[p+768>>2],a[Me+4>>2]=ye,ye=a[p+796>>2],a[p+24>>2]=a[p+792>>2],a[p+28>>2]=ye,ye=a[p+788>>2],a[p+16>>2]=a[p+784>>2],a[p+20>>2]=ye,ye=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=ye,ye=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=ye,un(We,p+16|0,p),We=a[p+768>>2],ye=a[p+772>>2],ut=a[p+776>>2],a[h+12>>2]=Wt^a[p+780>>2],a[h+8>>2]=ut^dt,a[h+4>>2]=ye^de,a[h>>2]=We^it,(0|(pt=pt+1|0))!=4;);Ie=p+800|0}function ka(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0;for(Ie=h=Ie-48|0,dt=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,it=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,k[f+24|0]=it,k[f+25|0]=it>>>8,k[f+26|0]=it>>>16,k[f+27|0]=it>>>24,k[f+28|0]=dt,k[f+29|0]=dt>>>8,k[f+30|0]=dt>>>16,k[f+31|0]=dt>>>24,dt=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,it=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,k[0|f]=it,k[f+1|0]=it>>>8,k[f+2|0]=it>>>16,k[f+3|0]=it>>>24,k[f+4|0]=dt,k[f+5|0]=dt>>>8,k[f+6|0]=dt>>>16,k[f+7|0]=dt>>>24,dt=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,it=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,k[f+16|0]=it,k[f+17|0]=it>>>8,k[f+18|0]=it>>>16,k[f+19|0]=it>>>24,k[f+20|0]=dt,k[f+21|0]=dt>>>8,k[f+22|0]=dt>>>16,k[f+23|0]=dt>>>24,it=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,c=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,k[f+12|0]=it,k[f+13|0]=it>>>8,k[f+14|0]=it>>>16,k[f+15|0]=it>>>24,c=S[f+31|0],k[f+31|0]=127&c,dv(h,f),re=128&c,Ie=c=Ie-960|0,vd(it=c+304|0,h),a[c+304>>2]=a[c+304>>2]+1,lv(it,it),dt=Ce(it=a[c+340>>2],it>>31,486662,0),it=$,gr=(Kt=dt+16777216|0)>>>0<16777216?it+1|0:it,Sr=dt-(-33554432&Kt)|0,Ye=Ce(it=a[c+336>>2],it>>31,486662,0),dt=$,Wt=Ce(it=a[c+332>>2],it>>31,486662,0),it=$,vr=Ye,Ye=(Ye=(it=(cr=Wt+16777216|0)>>>0<16777216?it+1|0:it)>>25)+dt|0,it=(it=(33554431&it)<<7|cr>>>25)>>>0>(nr=vr+it|0)>>>0?Ye+1|0:Ye,p=((67108863&(it=(dt=nr+33554432|0)>>>0<33554432?it+1|0:it))<<6|dt>>>26)+Sr|0,a[c+292>>2]=0-p,Mr=nr-(-67108864&dt)|0,a[c+288>>2]=0-Mr,Sr=Wt-(-33554432&cr)|0,dt=Ce(it=a[c+328>>2],it>>31,486662,0),it=$,cr=Ce(Ye=a[c+324>>2],Ye>>31,486662,0),Ye=$,vr=dt,it=it+(dt=(Ye=(nr=cr+16777216|0)>>>0<16777216?Ye+1|0:Ye)>>25)|0,it=(Ye=vr+(Wt=(33554431&Ye)<<7|nr>>>25)|0)>>>0<Wt>>>0?it+1|0:it,b=((67108863&(it=(dt=Ye+33554432|0)>>>0<33554432?it+1|0:it))<<6|dt>>>26)+Sr|0,a[c+284>>2]=0-b,B=Ye-(-67108864&dt)|0,a[c+280>>2]=0-B,Sr=cr-(-33554432&nr)|0,Ye=Ce(it=a[c+320>>2],it>>31,486662,0),it=$,cr=Ce(dt=a[c+316>>2],dt>>31,486662,0),dt=$,vr=Ye,it=(Ye=(dt=(nr=cr+16777216|0)>>>0<16777216?dt+1|0:dt)>>25)+it|0,Ye=it=(dt=vr+(Wt=(33554431&dt)<<7|nr>>>25)|0)>>>0<Wt>>>0?it+1|0:it,Q=((67108863&(Ye=(Wt=dt+33554432|0)>>>0<33554432?Ye+1|0:Ye))<<6|Wt>>>26)+Sr|0,a[c+276>>2]=0-Q,v=dt-(-67108864&Wt)|0,a[c+272>>2]=0-v,vr=cr-(-33554432&nr)|0,it=Ce(it=a[c+312>>2],it>>31,486662,0),Sr=$,Wt=Ce(dt=a[c+308>>2],dt>>31,486662,0),Ye=$,dt=(33554431&(Ye=(cr=Wt+16777216|0)>>>0<16777216?Ye+1|0:Ye))<<7|cr>>>25,Ye=(Ye>>25)+Sr|0,dt=dt>>>0>(nr=dt+it|0)>>>0?Ye+1|0:Ye,L=((67108863&(dt=(it=nr+33554432|0)>>>0<33554432?dt+1|0:dt))<<6|it>>>26)+vr|0,a[c+268>>2]=0-L,H=nr-(-67108864&it)|0,a[c+264>>2]=0-H,nr=Wt-(-33554432&cr)|0,dt=Ce((33554431&gr)<<7|Kt>>>25,gr>>25,19,0),it=$,Wt=dt,dt=Ce(Ye=a[c+304>>2],Ye>>31,486662,0),it=$+it|0,dt=(Ye=Wt+dt|0)>>>0<dt>>>0?it+1|0:it,j=((67108863&(dt=(it=Ye+33554432|0)>>>0<33554432?dt+1|0:dt))<<6|it>>>26)+nr|0,a[c+260>>2]=0-j,yr=Ye-(-67108864&it)|0,a[c+256>>2]=0-yr,Et(dt=c+208|0,it=c+256|0),Ar(c+160|0,it,dt),Z=a[c+196>>2],ee=a[c+160>>2],or=a[c+208>>2],de=a[c+164>>2],we=a[c+168>>2],Or=a[c+212>>2],kr=a[c+216>>2],ke=a[c+172>>2],ye=a[c+176>>2],Jt=a[c+220>>2],ur=a[c+224>>2],Me=a[c+180>>2],Ve=a[c+184>>2],vr=a[c+228>>2],Sr=a[c+232>>2],We=a[c+188>>2],ut=a[c+192>>2],dt=Ce(it=a[c+244>>2],it>>31,486662,0),it=$,gr=(Kt=dt+16777216|0)>>>0<16777216?it+1|0:it,pt=dt-(-33554432&Kt)|0,it=Ce(it=a[c+240>>2],it>>31,486662,0),bt=$,Wt=Ce(dt=a[c+236>>2],dt>>31,486662,0),Ye=$,dt=it,it=(33554431&(Ye=(cr=Wt+16777216|0)>>>0<16777216?Ye+1|0:Ye))<<7|cr>>>25,Ye=(Ye>>25)+bt|0,it=it>>>0>(nr=dt+it|0)>>>0?Ye+1|0:Ye,Ye=((67108863&(it=(dt=nr+33554432|0)>>>0<33554432?it+1|0:it))<<6|dt>>>26)+pt|0,a[c+244>>2]=Ye,a[c+388>>2]=Ye+(Z-p|0),it=nr-(-67108864&dt)|0,a[c+240>>2]=it,a[c+384>>2]=it+(ut-Mr|0),Mr=Wt-(-33554432&cr)|0,it=Ce(Sr,Sr>>31,486662,0),Wt=$,cr=Ce(vr,vr>>31,486662,0),dt=$,vr=it,it=(it=(dt=(nr=cr+16777216|0)>>>0<16777216?dt+1|0:dt)>>25)+Wt|0,Ye=it=(Ye=(33554431&dt)<<7|nr>>>25)>>>0>(dt=vr+Ye|0)>>>0?it+1|0:it,Wt=((67108863&(Ye=(Wt=dt+33554432|0)>>>0<33554432?Ye+1|0:Ye))<<6|(it=Wt)>>>26)+Mr|0,a[c+236>>2]=Wt,a[c+380>>2]=Wt+(We-b|0),it=dt-(-67108864&it)|0,a[c+232>>2]=it,a[c+376>>2]=it+(Ve-B|0),Sr=cr-(-33554432&nr)|0,Ye=Ce(ur,ur>>31,486662,0),dt=$,Wt=Ce(Jt,Jt>>31,486662,0),it=$,vr=Ye,Ye=(Ye=(it=(cr=Wt+16777216|0)>>>0<16777216?it+1|0:it)>>25)+dt|0,dt=(it=(33554431&it)<<7|cr>>>25)>>>0>(nr=vr+it|0)>>>0?Ye+1|0:Ye,Ye=((67108863&(dt=(it=nr+33554432|0)>>>0<33554432?dt+1|0:dt))<<6|it>>>26)+Sr|0,a[c+228>>2]=Ye,a[c+372>>2]=Ye+(Me-Q|0),it=nr-(-67108864&it)|0,a[c+224>>2]=it,a[c+368>>2]=it+(ye-v|0),Sr=Wt-(-33554432&cr)|0,it=Ce(kr,kr>>31,486662,0),dt=$,cr=Ce(Or,Or>>31,486662,0),Ye=$,vr=it,dt=(it=(Ye=(nr=cr+16777216|0)>>>0<16777216?Ye+1|0:Ye)>>25)+dt|0,it=dt=(Ye=vr+(Wt=(33554431&Ye)<<7|nr>>>25)|0)>>>0<Wt>>>0?dt+1|0:dt,Wt=((67108863&(it=(Wt=Ye+33554432|0)>>>0<33554432?it+1|0:it))<<6|(dt=Wt)>>>26)+Sr|0,a[c+220>>2]=Wt,a[c+364>>2]=Wt+(ke-L|0),it=Ye-(-67108864&dt)|0,a[c+216>>2]=it,a[c+360>>2]=it+(we-H|0),nr=cr-(-33554432&nr)|0,dt=Ce((33554431&gr)<<7|Kt>>>25,gr>>25,19,0),it=$,Ye=dt,dt=Ce(or,or>>31,486662,0),it=$+it|0,it=(Ye=Ye+dt|0)>>>0<dt>>>0?it+1|0:it,gr=((67108863&(it=(dt=Ye+33554432|0)>>>0<33554432?it+1|0:it))<<6|dt>>>26)+nr|0,a[c+212>>2]=gr,a[c+356>>2]=gr+(de-j|0),it=Ye-(-67108864&dt)|0,a[c+208>>2]=it,a[c+352>>2]=it+(ee-yr|0),Ar(it=c+624|0,dt=c+352|0,dt),Ar(c,dt,it),Et(dt=c+784|0,c),Et(dt,dt),Ar(it=c+912|0,c,dt),Et(dt=c+576|0,it),Et(dt,dt),Et(dt,dt),Et(dt,dt),Ar(Ye=c+528|0,it,dt),Et(Ye,Ye),Et(Ye,Ye),Ar(Ye,Ye,c),it=a[c+564>>2],a[c+512>>2]=a[c+560>>2],a[c+516>>2]=it,it=a[c+556>>2],a[c+504>>2]=a[c+552>>2],a[c+508>>2]=it,it=a[c+548>>2],a[c+496>>2]=a[c+544>>2],a[c+500>>2]=it,it=a[c+540>>2],a[c+488>>2]=a[c+536>>2],a[c+492>>2]=it,it=a[c+532>>2],a[c+480>>2]=a[c+528>>2],a[c+484>>2]=it,Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Ar(Ye,Ye,it=c+480|0),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Ar(Ye,Ye,it),it=a[c+564>>2],a[c+464>>2]=a[c+560>>2],a[c+468>>2]=it,it=a[c+556>>2],a[c+456>>2]=a[c+552>>2],a[c+460>>2]=it,it=a[c+548>>2],a[c+448>>2]=a[c+544>>2],a[c+452>>2]=it,it=a[c+540>>2],a[c+440>>2]=a[c+536>>2],a[c+444>>2]=it,it=a[c+532>>2],a[c+432>>2]=a[c+528>>2],a[c+436>>2]=it,Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Ar(Ye,Ye,dt=c+432|0),it=a[c+564>>2],a[c+464>>2]=a[c+560>>2],a[c+468>>2]=it,it=a[c+556>>2],a[c+456>>2]=a[c+552>>2],a[c+460>>2]=it,it=a[c+548>>2],a[c+448>>2]=a[c+544>>2],a[c+452>>2]=it,it=a[c+540>>2],a[c+440>>2]=a[c+536>>2],a[c+444>>2]=it,it=a[c+532>>2],a[c+432>>2]=a[c+528>>2],a[c+436>>2]=it,Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Et(Ye,Ye),Ar(Ye,Ye,dt),it=a[c+564>>2],a[c+464>>2]=a[c+560>>2],a[c+468>>2]=it,it=a[c+556>>2],a[c+456>>2]=a[c+552>>2],a[c+460>>2]=it,it=a[c+548>>2],a[c+448>>2]=a[c+544>>2],a[c+452>>2]=it,it=a[c+540>>2],a[c+440>>2]=a[c+536>>2],a[c+444>>2]=it,it=a[c+532>>2],a[c+432>>2]=a[c+528>>2],a[c+436>>2]=it;Et(it=c+528|0,it),(0|(Gr=Gr+1|0))!=120;);Ar(it,it,c+432|0),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Et(it,it),Ar(it,it,c+480|0),Et(it,it),Et(it,it),Et(it,it),Ar(it,it,c),Et(it,it),yc(c+400|0,it),or=a[c+256>>2],Or=a[c+260>>2],kr=a[c+264>>2],Jt=a[c+268>>2],ur=a[c+272>>2],nr=a[c+276>>2],gr=a[c+280>>2],Ye=a[c+284>>2],dt=a[c+288>>2],vr=(yr=0-(1&k[c+401|0])|0)&(0-(it=a[c+292>>2])^it)^it,a[c+660>>2]=vr,Sr=dt^yr&(dt^0-dt),a[c+656>>2]=Sr,Kt=Ye^yr&(Ye^0-Ye),a[c+652>>2]=Kt,Wt=gr^yr&(gr^0-gr),a[c+648>>2]=Wt,cr=nr^yr&(nr^0-nr),a[c+644>>2]=cr,nr=ur^yr&(ur^0-ur),a[c+640>>2]=nr,gr=Jt^yr&(Jt^0-Jt),a[c+636>>2]=gr,Ye=kr^yr&(kr^0-kr),a[c+632>>2]=Ye,dt=Or^yr&(Or^0-Or),a[c+628>>2]=dt,it=(or^yr&(or^0-or))-(486662&yr)|0,a[c+624>>2]=it+1,a[c+820>>2]=vr,a[c+816>>2]=Sr,a[c+812>>2]=Kt,a[c+808>>2]=Wt,a[c+804>>2]=cr,a[c+800>>2]=nr,a[c+796>>2]=gr,a[c+792>>2]=Ye,a[c+788>>2]=dt,a[c+784>>2]=it-1,lv(c,c+624|0),Ar(it=c+912|0,c+784|0,c),yc(f,it),k[f+31|0]=S[f+31|0]|re,fv(c,f)&&(PBe(),Rr()),it=a[c+36>>2],a[c+816>>2]=a[c+32>>2],a[c+820>>2]=it,it=a[c+28>>2],a[c+808>>2]=a[c+24>>2],a[c+812>>2]=it,it=a[c+20>>2],a[c+800>>2]=a[c+16>>2],a[c+804>>2]=it,it=a[c+12>>2],a[c+792>>2]=a[c+8>>2],a[c+796>>2]=it,it=a[c+52>>2],a[c+832>>2]=a[c+48>>2],a[c+836>>2]=it,it=a[c+60>>2],a[c+840>>2]=a[c+56>>2],a[c+844>>2]=it,it=a[4+(dt=c- -64|0)>>2],a[c+848>>2]=a[dt>>2],a[c+852>>2]=it,it=a[c+76>>2],a[c+856>>2]=a[c+72>>2],a[c+860>>2]=it,it=a[c+4>>2],a[c+784>>2]=a[c>>2],a[c+788>>2]=it,it=a[c+44>>2],a[c+824>>2]=a[c+40>>2],a[c+828>>2]=it,it=a[c+116>>2],a[c+896>>2]=a[c+112>>2],a[c+900>>2]=it,it=a[c+108>>2],a[c+888>>2]=a[c+104>>2],a[c+892>>2]=it,it=a[c+100>>2],a[c+880>>2]=a[c+96>>2],a[c+884>>2]=it,it=a[c+92>>2],a[c+872>>2]=a[c+88>>2],a[c+876>>2]=it,it=a[c+84>>2],a[c+864>>2]=a[c+80>>2],a[c+868>>2]=it,Rd(Wt=c+624|0,cr=c+784|0),Ar(cr,Wt,nr=c+744|0),Ar(dt=c+824|0,Ye=c+664|0,gr=c+704|0),Ar(it=c+864|0,gr,nr),Rd(Wt,cr),Ar(cr,Wt,nr),Ar(dt,Ye,gr),Ar(it,gr,nr),Rd(Wt,cr),Ar(c,Wt,nr),Ar(dt=c+40|0,Ye,gr),Ar(it=c+80|0,gr,nr),Ar(c+120|0,Wt,Ye),lv(Wt,it),Ar(cr,c,Wt),Ar(it=c+912|0,dt,Wt),yc(f,it),yc(c+576|0,cr),k[f+31|0]=S[f+31|0]^S[c+576|0]<<7,Ie=c+960|0,Ie=h+48|0}function wo(f){var c,h=0,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0;Ie=c=Ie-16|0;e:{t:{r:{n:{i:{c:{s:{o:{d:{a:{if((f|=0)>>>0<=244){if(3&(h=(B=a[9405])>>>(f=(L=f>>>0<11?16:f+11&504)>>>3|0)|0)){f=37660+(h=(p=f+(1&~h)|0)<<3)|0,h=a[h+37668>>2],(0|f)!=(0|(b=a[h+8>>2]))?(a[b+12>>2]=f,a[f+8>>2]=b):(Z=37620,ee=lr(-2,p)&B,a[Z>>2]=ee),f=h+8|0,p<<=3,a[h+4>>2]=3|p,a[4+(h=h+p|0)>>2]=1|a[h+4>>2];break e}if((H=a[9407])>>>0>=L>>>0)break a;if(h){h=37660+(p=(f=LH((0-(p=2<<f)|p)&h<<f))<<3)|0,p=a[p+37668>>2],(0|h)!=(0|(b=a[p+8>>2]))?(a[b+12>>2]=h,a[h+8>>2]=b):(B=lr(-2,f)&B,a[9405]=B),a[p+4>>2]=3|L,Q=(f<<=3)-L|0,a[4+(v=p+L|0)>>2]=1|Q,a[f+p>>2]=Q,H&&(f=37660+(-8&H)|0,b=a[9410],(h=1<<(H>>>3))&B?h=a[f+8>>2]:(a[9405]=h|B,h=f),a[f+8>>2]=b,a[h+12>>2]=b,a[b+12>>2]=f,a[b+8>>2]=h),f=p+8|0,a[9410]=v,a[9407]=Q;break e}if(!(re=a[9406]))break a;for(p=a[37924+(LH(re)<<2)>>2],Q=(-8&a[p+4>>2])-L|0,h=p;(f=a[h+16>>2])||(f=a[h+20>>2]);)Q=(h=(b=(-8&a[f+4>>2])-L|0)>>>0<Q>>>0)?b:Q,p=h?f:p,h=f;if(j=a[p+24>>2],(0|p)!=(0|(f=a[p+12>>2]))){h=a[p+8>>2],a[h+12>>2]=f,a[f+8>>2]=h;break t}if(h=a[p+20>>2])b=p+20|0;else{if(!(h=a[p+16>>2]))break d;b=p+16|0}for(;v=b,b=(f=h)+20|0,(h=a[f+20>>2])||(b=f+16|0,h=a[f+16>>2]););a[v>>2]=0;break t}if(L=-1,!(f>>>0>4294967231)&&(L=-8&(h=f+11|0),v=a[9406])){H=31,Q=0-L|0,f>>>0<=16777204&&(H=62+((L>>>38-(f=Wr(h>>>8|0))&1)-(f<<1)|0)|0);u:{f:{if(h=a[37924+(H<<2)>>2])for(f=0,p=L<<((0|H)!=31?25-(H>>>1|0):0);;){if(!((B=(-8&a[h+4>>2])-L|0)>>>0>=Q>>>0||(b=h,Q=B))){Q=0,f=h;break f}if(B=a[h+20>>2],h=a[16+((p>>>29&4)+h|0)>>2],f=B?(0|B)==(0|h)?f:B:f,p<<=1,!h)break}else f=0;if(!(f|b)){if(b=0,!(f=(0-(f=2<<H)|f)&v))break a;f=a[37924+(LH(f)<<2)>>2]}if(!f)break u}for(;Q=(h=(p=(-8&a[f+4>>2])-L|0)>>>0<Q>>>0)?p:Q,b=h?f:b,f=(h=a[f+16>>2])||a[f+20>>2];);}if(!(!b|a[9407]-L>>>0<=Q>>>0)){if(H=a[b+24>>2],(0|b)!=(0|(f=a[b+12>>2]))){h=a[b+8>>2],a[h+12>>2]=f,a[f+8>>2]=h;break r}if(h=a[b+20>>2])p=b+20|0;else{if(!(h=a[b+16>>2]))break o;p=b+16|0}for(;B=p,p=(f=h)+20|0,(h=a[f+20>>2])||(p=f+16|0,h=a[f+16>>2]););a[B>>2]=0;break r}}}if((b=a[9407])>>>0>=L>>>0){f=a[9410],(h=b-L|0)>>>0>=16?(a[4+(p=f+L|0)>>2]=1|h,a[f+b>>2]=h,a[f+4>>2]=3|L):(a[f+4>>2]=3|b,a[4+(h=f+b|0)>>2]=1|a[h+4>>2],p=0,h=0),a[9407]=h,a[9410]=p,f=f+8|0;break e}if((p=a[9408])>>>0>L>>>0){h=p-L|0,a[9408]=h,p=(f=a[9411])+L|0,a[9411]=p,a[p+4>>2]=1|h,a[f+4>>2]=3|L,f=f+8|0;break e}if(f=0,Q=L+47|0,a[9523]?h=a[9525]:(a[9526]=-1,a[9527]=-1,a[9524]=4096,a[9525]=4096,a[9523]=c+12&-16^1431655768,a[9528]=0,a[9516]=0,h=4096),(h=(B=Q+h|0)&(v=0-h|0))>>>0<=L>>>0||(H=a[9515])&&(b=(j=a[9513])+h|0)>>>0<=j>>>0|b>>>0>H>>>0)break e;a:{if(!(4&S[38064])){u:{f:{l:{h:{if(b=a[9411])for(f=38068;;){if((H=a[f>>2])>>>0<=b>>>0&b>>>0<H+a[f+4>>2]>>>0)break h;if(!(f=a[f+8>>2]))break}if((0|(p=X5(0)))==-1||(B=h,(b=(f=a[9524])-1|0)&p&&(B=(h-p|0)+(p+b&0-f)|0),B>>>0<=L>>>0)||(b=a[9515])&&(f=(v=a[9513])+B|0)>>>0<=v>>>0|f>>>0>b>>>0)break u;if((0|p)!=(0|(f=X5(B))))break l;break a}if((0|(p=X5(B=v&B-p)))==(a[f>>2]+a[f+4>>2]|0))break f;f=p}if((0|f)==-1)break u;if(L+48>>>0<=B>>>0){p=f;break a}if((0|X5(p=(p=a[9525])+(Q-B|0)&0-p))==-1)break u;B=p+B|0,p=f;break a}if((0|p)!=-1)break a}a[9516]=4|a[9516]}if((0|(p=X5(h)))==-1|(0|(f=X5(0)))==-1|f>>>0<=p>>>0||(B=f-p|0)>>>0<=L+40>>>0)break i}f=a[9513]+B|0,a[9513]=f,f>>>0>sn[9514]&&(a[9514]=f);a:{if(Q=a[9411]){for(f=38068;;){if(((h=a[f>>2])+(b=a[f+4>>2])|0)==(0|p))break a;if(!(f=a[f+8>>2]))break}break s}for((f=a[9409])>>>0<=p>>>0&&f||(a[9409]=p),f=0,a[9518]=B,a[9517]=p,a[9413]=-1,a[9414]=a[9523],a[9520]=0;b=37660+(h=f<<3)|0,a[h+37668>>2]=b,a[h+37672>>2]=b,(0|(f=f+1|0))!=32;);b=(f=B-40|0)-(h=-8-p&7)|0,a[9408]=b,h=h+p|0,a[9411]=h,a[h+4>>2]=1|b,a[4+(f+p|0)>>2]=40,a[9412]=a[9527];break c}if(8&a[f+12>>2]|p>>>0<=Q>>>0|h>>>0>Q>>>0)break s;a[f+4>>2]=b+B,h=(f=-8-Q&7)+Q|0,a[9411]=h,f=(p=a[9408]+B|0)-f|0,a[9408]=f,a[h+4>>2]=1|f,a[4+(p+Q|0)>>2]=40,a[9412]=a[9527];break c}f=0;break t}f=0;break r}sn[9409]>p>>>0&&(a[9409]=p),b=p+B|0,f=38068;s:{for(;;){if((0|(h=a[f>>2]))!=(0|b)){if(f=a[f+8>>2])continue;break s}break}if(!(8&S[f+12|0]))break n}for(f=38068;!((h=a[f>>2])>>>0<=Q>>>0&&(b=h+a[f+4>>2]|0)>>>0>Q>>>0);)f=a[f+8>>2];for(v=(f=B-40|0)-(h=-8-p&7)|0,a[9408]=v,h=h+p|0,a[9411]=h,a[h+4>>2]=1|v,a[4+(f+p|0)>>2]=40,a[9412]=a[9527],a[(h=(f=(b+(39-b&7)|0)-47|0)>>>0<Q+16>>>0?Q:f)+4>>2]=27,f=a[9520],a[h+16>>2]=a[9519],a[h+20>>2]=f,f=a[9518],a[h+8>>2]=a[9517],a[h+12>>2]=f,a[9519]=h+8,a[9518]=B,a[9517]=p,a[9520]=0,f=h+24|0;a[f+4>>2]=7,p=f+8|0,f=f+4|0,p>>>0<b>>>0;);if((0|h)!=(0|Q)){a[h+4>>2]=-2&a[h+4>>2],p=h-Q|0,a[Q+4>>2]=1|p,a[h>>2]=p;s:if(p>>>0<=255)f=37660+(-8&p)|0,(h=a[9405])&(p=1<<(p>>>3))?h=a[f+8>>2]:(a[9405]=h|p,h=f),a[f+8>>2]=Q,a[h+12>>2]=Q,b=8,p=12;else{f=31,p>>>0<=16777215&&(f=62+((p>>>38-(f=Wr(p>>>8|0))&1)-(f<<1)|0)|0),a[Q+28>>2]=f,a[Q+16>>2]=0,a[Q+20>>2]=0,h=37924+(f<<2)|0;o:{if((b=a[9406])&(B=1<<f)){for(f=p<<((0|f)!=31?25-(f>>>1|0):0),b=a[h>>2];;){if((0|p)==(-8&a[(h=b)+4>>2]))break o;if(b=f>>>29|0,f<<=1,!(b=a[16+(B=(4&b)+h|0)>>2]))break}a[B+16>>2]=Q}else a[9406]=b|B,a[h>>2]=Q;a[Q+24>>2]=h,f=h=Q,b=12,p=8;break s}f=a[h+8>>2],a[f+12>>2]=Q,a[h+8>>2]=Q,a[Q+8>>2]=f,f=0,b=12,p=24}a[b+Q>>2]=h,a[p+Q>>2]=f}}if(!((f=a[9408])>>>0<=L>>>0)){h=f-L|0,a[9408]=h,p=(f=a[9411])+L|0,a[9411]=p,a[p+4>>2]=1|h,a[f+4>>2]=3|L,f=f+8|0;break e}}a[9404]=48,f=0;break e}a[f>>2]=p,a[f+4>>2]=a[f+4>>2]+B,a[4+(H=(-8-p&7)+p|0)>>2]=3|L,v=(B=h+(-8-h&7)|0)-(Q=L+H|0)|0;n:if(a[9411]!=(0|B))if(a[9410]!=(0|B)){if((3&(f=a[B+4>>2]))==1){j=-8&f,p=a[B+12>>2];i:if(f>>>0<=255){if((0|(h=a[B+8>>2]))==(0|p)){Z=37620,ee=a[9405]&lr(-2,f>>>3|0),a[Z>>2]=ee;break i}a[h+12>>2]=p,a[p+8>>2]=h}else{L=a[B+24>>2];c:if((0|p)==(0|B)){s:{if(f=a[B+20>>2])h=B+20|0;else{if(!(f=a[B+16>>2]))break s;h=B+16|0}for(;b=h,p=f,h=f+20|0,(f=a[f+20>>2])||(h=p+16|0,f=a[p+16>>2]););a[b>>2]=0;break c}p=0}else f=a[B+8>>2],a[f+12>>2]=p,a[p+8>>2]=f;if(L){f=a[B+28>>2];c:{if(a[(h=37924+(f<<2)|0)>>2]==(0|B)){if(a[h>>2]=p,p)break c;Z=37624,ee=a[9406]&lr(-2,f),a[Z>>2]=ee;break i}if(a[L+(a[L+16>>2]==(0|B)?16:20)>>2]=p,!p)break i}a[p+24>>2]=L,(f=a[B+16>>2])&&(a[p+16>>2]=f,a[f+24>>2]=p),(f=a[B+20>>2])&&(a[p+20>>2]=f,a[f+24>>2]=p)}}v=v+j|0,f=a[4+(B=B+j|0)>>2]}if(a[B+4>>2]=-2&f,a[Q+4>>2]=1|v,a[Q+v>>2]=v,v>>>0<=255)f=37660+(-8&v)|0,(h=a[9405])&(p=1<<(v>>>3))?h=a[f+8>>2]:(a[9405]=h|p,h=f),a[f+8>>2]=Q,a[h+12>>2]=Q,a[Q+12>>2]=f,a[Q+8>>2]=h;else{p=31,v>>>0<=16777215&&(p=62+((v>>>38-(f=Wr(v>>>8|0))&1)-(f<<1)|0)|0),a[Q+28>>2]=p,a[Q+16>>2]=0,a[Q+20>>2]=0,f=37924+(p<<2)|0;i:{if((h=a[9406])&(b=1<<p)){for(p=v<<((0|p)!=31?25-(p>>>1|0):0),h=a[f>>2];;){if((-8&a[(f=h)+4>>2])==(0|v))break i;if(h=p>>>29|0,p<<=1,!(h=a[16+(b=(4&h)+f|0)>>2]))break}a[b+16>>2]=Q}else a[9406]=h|b,a[f>>2]=Q;a[Q+24>>2]=f,a[Q+12>>2]=Q,a[Q+8>>2]=Q;break n}h=a[f+8>>2],a[h+12>>2]=Q,a[f+8>>2]=Q,a[Q+24>>2]=0,a[Q+12>>2]=f,a[Q+8>>2]=h}}else a[9410]=Q,f=a[9407]+v|0,a[9407]=f,a[Q+4>>2]=1|f,a[f+Q>>2]=f;else a[9411]=Q,f=a[9408]+v|0,a[9408]=f,a[Q+4>>2]=1|f;f=H+8|0;break e}r:if(H){h=a[b+28>>2];n:{if(a[(p=37924+(h<<2)|0)>>2]==(0|b)){if(a[p>>2]=f,f)break n;v=lr(-2,h)&v,a[9406]=v;break r}if(a[H+(a[H+16>>2]==(0|b)?16:20)>>2]=f,!f)break r}a[f+24>>2]=H,(h=a[b+16>>2])&&(a[f+16>>2]=h,a[h+24>>2]=f),(h=a[b+20>>2])&&(a[f+20>>2]=h,a[h+24>>2]=f)}r:if(Q>>>0<=15)f=Q+L|0,a[b+4>>2]=3|f,a[4+(f=f+b|0)>>2]=1|a[f+4>>2];else if(a[b+4>>2]=3|L,a[4+(B=b+L|0)>>2]=1|Q,a[Q+B>>2]=Q,Q>>>0<=255)f=37660+(-8&Q)|0,(h=a[9405])&(p=1<<(Q>>>3))?h=a[f+8>>2]:(a[9405]=h|p,h=f),a[f+8>>2]=B,a[h+12>>2]=B,a[B+12>>2]=f,a[B+8>>2]=h;else{f=31,Q>>>0<=16777215&&(f=62+((Q>>>38-(f=Wr(Q>>>8|0))&1)-(f<<1)|0)|0),a[B+28>>2]=f,a[B+16>>2]=0,a[B+20>>2]=0,h=37924+(f<<2)|0;n:{if((p=1<<f)&v){for(f=Q<<((0|f)!=31?25-(f>>>1|0):0),h=a[h>>2];;){if(p=h,(-8&a[h+4>>2])==(0|Q))break n;if(v=f>>>29|0,f<<=1,!(h=a[16+(v=h+(4&v)|0)>>2]))break}a[v+16>>2]=B,a[B+24>>2]=p}else a[9406]=p|v,a[h>>2]=B,a[B+24>>2]=h;a[B+12>>2]=B,a[B+8>>2]=B;break r}f=a[p+8>>2],a[f+12>>2]=B,a[p+8>>2]=B,a[B+24>>2]=0,a[B+12>>2]=p,a[B+8>>2]=f}f=b+8|0;break e}t:if(j){h=a[p+28>>2];r:{if(a[(b=37924+(h<<2)|0)>>2]==(0|p)){if(a[b>>2]=f,f)break r;Z=37624,ee=lr(-2,h)&re,a[Z>>2]=ee;break t}if(a[j+(a[j+16>>2]==(0|p)?16:20)>>2]=f,!f)break t}a[f+24>>2]=j,(h=a[p+16>>2])&&(a[f+16>>2]=h,a[h+24>>2]=f),(h=a[p+20>>2])&&(a[f+20>>2]=h,a[h+24>>2]=f)}Q>>>0<=15?(f=Q+L|0,a[p+4>>2]=3|f,a[4+(f=f+p|0)>>2]=1|a[f+4>>2]):(a[p+4>>2]=3|L,a[4+(v=p+L|0)>>2]=1|Q,a[Q+v>>2]=Q,H&&(f=37660+(-8&H)|0,b=a[9410],(h=1<<(H>>>3))&B?h=a[f+8>>2]:(a[9405]=h|B,h=f),a[f+8>>2]=b,a[h+12>>2]=b,a[b+12>>2]=f,a[b+8>>2]=h),a[9410]=v,a[9407]=Q),f=p+8|0}return Ie=c+16|0,0|f}function Fo(f,c,h,p,b,B){var Q,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0;if(Ie=Q=Ie-592|0,H=-1,BTe(L=f+32|0)&&!EM(f)&&ea(b)&&!EM(b)&&!_H(re=Q+128|0,b)){for(qi(H=Q+384|0),B&&L0(H,35600,34,0),L0(H,f,32,0),L0(H,b,32,0),L0(H,c,h,p),Ah(c=H,H=Q+320|0),ho(H),p=Q+8|0,h=L,b=0,c=0,Ie=v=Ie-2272|0;B=v+2016|0,L=S[H+(b>>>3|0)|0],k[B+b|0]=L>>>(6&b)&1,k[(j=B)+(B=1|b)|0]=L>>>(7&B)&1,(0|(b=b+2|0))!=256;);for(;;){c=(B=c)+1|0;e:if(!(B>>>0>254)&&S[0|(ee=(b=v+2016|0)+B|0)]){t:if(b=k[0|(Z=c+b|0)])if((0|(b=(H=b<<1)+(L=k[0|ee])|0))<=15)k[0|ee]=b,k[0|Z]=0;else{if((0|(b=L-H|0))<-15)break e;for(k[0|ee]=b,b=c;;){if(!S[0|(L=(v+2016|0)+b|0)]){k[0|L]=1;break t}if(k[0|L]=0,L=b>>>0<255,b=b+1|0,!L)break}}if(!(B>>>0>253)){t:if(L=k[0|(j=(b=B+2|0)+(v+2016|0)|0)])if((0|(L=(Z=L<<2)+(H=k[0|ee])|0))>=16){if((0|(L=H-Z|0))<-15)break e;for(k[0|ee]=L;;){if(S[0|(L=(v+2016|0)+b|0)]){if(k[0|L]=0,L=b>>>0<255,b=b+1|0,L)continue;break t}break}k[0|L]=1}else k[0|ee]=L,k[0|j]=0;if((0|B)!=253){t:if(L=k[0|(j=(b=B+3|0)+(v+2016|0)|0)])if((0|(L=(Z=L<<3)+(H=k[0|ee])|0))>=16){if((0|(L=H-Z|0))<-15)break e;for(k[0|ee]=L;;){if(S[0|(L=(v+2016|0)+b|0)]){if(k[0|L]=0,L=b>>>0<255,b=b+1|0,L)continue;break t}break}k[0|L]=1}else k[0|ee]=L,k[0|j]=0;if(!(B>>>0>251)){t:if(L=k[0|(j=(b=B+4|0)+(v+2016|0)|0)])if((0|(L=(Z=L<<4)+(H=k[0|ee])|0))>=16){if((0|(L=H-Z|0))<-15)break e;for(k[0|ee]=L;;){if(S[0|(L=(v+2016|0)+b|0)]){if(k[0|L]=0,L=b>>>0<255,b=b+1|0,L)continue;break t}break}k[0|L]=1}else k[0|ee]=L,k[0|j]=0;if((0|B)!=251){t:if(L=k[0|(j=(b=B+5|0)+(v+2016|0)|0)])if((0|(L=(Z=L<<5)+(H=k[0|ee])|0))>=16){if((0|(L=H-Z|0))<-15)break e;for(k[0|ee]=L;;){if(S[0|(L=(v+2016|0)+b|0)]){if(k[0|L]=0,L=b>>>0<255,b=b+1|0,L)continue;break t}break}k[0|L]=1}else k[0|ee]=L,k[0|j]=0;if(!(B>>>0>249)&&(B=k[0|(Z=(b=B+6|0)+(v+2016|0)|0)]))if((0|(B=(H=B<<6)+(L=k[0|ee])|0))>=16){if((0|(B=L-H|0))<-15)break e;for(k[0|ee]=B;;){if(S[0|(B=(v+2016|0)+b|0)]){if(k[0|B]=0,B=b>>>0<255,b=b+1|0,B)continue;break e}break}k[0|B]=1}else k[0|ee]=B,k[0|Z]=0}}}}}if((0|c)==256)break}for(b=0;c=v+1760|0,B=S[h+(b>>>3|0)|0],k[c+b|0]=B>>>(6&b)&1,k[(L=c)+(c=1|b)|0]=B>>>(7&c)&1,(0|(b=b+2|0))!=256;);for(c=0;;){h=c,c=c+1|0;e:if(!(h>>>0>254)&&S[0|(j=(b=v+1760|0)+h|0)]){t:if(b=k[0|(H=c+b|0)])if((0|(b=(L=b<<1)+(B=k[0|j])|0))<=15)k[0|j]=b,k[0|H]=0;else{if((0|(b=B-L|0))<-15)break e;for(k[0|j]=b,b=c;;){if(!S[0|(B=(v+1760|0)+b|0)]){k[0|B]=1;break t}if(k[0|B]=0,B=b>>>0<255,b=b+1|0,!B)break}}if(!(h>>>0>253)){t:if(B=k[0|(Z=(b=h+2|0)+(v+1760|0)|0)])if((0|(B=(H=B<<2)+(L=k[0|j])|0))>=16){if((0|(B=L-H|0))<-15)break e;for(k[0|j]=B;;){if(S[0|(B=(v+1760|0)+b|0)]){if(k[0|B]=0,B=b>>>0<255,b=b+1|0,B)continue;break t}break}k[0|B]=1}else k[0|j]=B,k[0|Z]=0;if((0|h)!=253){t:if(B=k[0|(Z=(b=h+3|0)+(v+1760|0)|0)])if((0|(B=(H=B<<3)+(L=k[0|j])|0))>=16){if((0|(B=L-H|0))<-15)break e;for(k[0|j]=B;;){if(S[0|(B=(v+1760|0)+b|0)]){if(k[0|B]=0,B=b>>>0<255,b=b+1|0,B)continue;break t}break}k[0|B]=1}else k[0|j]=B,k[0|Z]=0;if(!(h>>>0>251)){t:if(B=k[0|(Z=(b=h+4|0)+(v+1760|0)|0)])if((0|(B=(H=B<<4)+(L=k[0|j])|0))>=16){if((0|(B=L-H|0))<-15)break e;for(k[0|j]=B;;){if(S[0|(B=(v+1760|0)+b|0)]){if(k[0|B]=0,B=b>>>0<255,b=b+1|0,B)continue;break t}break}k[0|B]=1}else k[0|j]=B,k[0|Z]=0;if((0|h)!=251){t:if(B=k[0|(Z=(b=h+5|0)+(v+1760|0)|0)])if((0|(B=(H=B<<5)+(L=k[0|j])|0))>=16){if((0|(B=L-H|0))<-15)break e;for(k[0|j]=B;;){if(S[0|(B=(v+1760|0)+b|0)]){if(k[0|B]=0,B=b>>>0<255,b=b+1|0,B)continue;break t}break}k[0|B]=1}else k[0|j]=B,k[0|Z]=0;if(!(h>>>0>249)&&(h=k[0|(H=(b=h+6|0)+(v+1760|0)|0)]))if((0|(h=(L=h<<6)+(B=k[0|j])|0))>=16){if((0|(h=B-L|0))<-15)break e;for(k[0|j]=h;;){if(S[0|(h=(v+1760|0)+b|0)]){if(k[0|h]=0,h=b>>>0<255,b=b+1|0,h)continue;break e}break}k[0|h]=1}else k[0|j]=h,k[0|H]=0}}}}}if((0|c)==256)break}for(mc(b=v+480|0,re),c=a[re+36>>2],a[v+192>>2]=a[re+32>>2],a[v+196>>2]=c,c=a[re+28>>2],a[v+184>>2]=a[re+24>>2],a[v+188>>2]=c,c=a[re+20>>2],a[v+176>>2]=a[re+16>>2],a[v+180>>2]=c,c=a[re+12>>2],a[v+168>>2]=a[re+8>>2],a[v+172>>2]=c,c=a[re+4>>2],a[v+160>>2]=a[re>>2],a[v+164>>2]=c,c=a[re+52>>2],a[v+208>>2]=a[re+48>>2],a[v+212>>2]=c,c=a[re+60>>2],a[v+216>>2]=a[re+56>>2],a[v+220>>2]=c,c=a[4+(h=re- -64|0)>>2],a[v+224>>2]=a[h>>2],a[v+228>>2]=c,c=a[re+76>>2],a[v+232>>2]=a[re+72>>2],a[v+236>>2]=c,c=a[re+44>>2],a[v+200>>2]=a[re+40>>2],a[v+204>>2]=c,c=a[re+92>>2],a[v+248>>2]=a[re+88>>2],a[v+252>>2]=c,c=a[re+100>>2],a[v+256>>2]=a[re+96>>2],a[v+260>>2]=c,c=a[re+108>>2],a[v+264>>2]=a[re+104>>2],a[v+268>>2]=c,c=a[re+116>>2],a[v+272>>2]=a[re+112>>2],a[v+276>>2]=c,c=a[re+84>>2],a[v+240>>2]=a[re+80>>2],a[v+244>>2]=c,Rd(B=v+320|0,h=v+160|0),Ar(v,B,de=v+440|0),Ar(v+40|0,we=v+360|0,ke=v+400|0),Ar(v+80|0,ke,de),Ar(v+120|0,B,we),Gu(B,v,b),Ar(h,B,de),Ar(Me=v+200|0,we,ke),Ar(Ve=v+240|0,ke,de),Ar(ye=v+280|0,B,we),mc(c=v+640|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(c=v+800|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(c=v+960|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(c=v+1120|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(c=v+1280|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(c=v+1440|0,h),Gu(B,v,c),Ar(h,B,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,B,we),mc(v+1600|0,h),a[p+32>>2]=0,a[p+36>>2]=0,a[p+24>>2]=0,a[p+28>>2]=0,a[p+16>>2]=0,a[p+20>>2]=0,a[p+8>>2]=0,a[p+12>>2]=0,a[p>>2]=0,a[p+4>>2]=0,a[p+44>>2]=0,a[p+48>>2]=0,a[p+40>>2]=1,a[p+52>>2]=0,a[p+56>>2]=0,a[p+60>>2]=0,a[p+64>>2]=0,a[p+68>>2]=0,a[p+72>>2]=0,a[p+84>>2]=0,a[p+88>>2]=0,a[p+76>>2]=0,a[p+80>>2]=1,a[p+92>>2]=0,a[p+96>>2]=0,a[p+100>>2]=0,a[p+104>>2]=0,a[p+108>>2]=0,a[p+112>>2]=0,a[p+116>>2]=0,ur=p+80|0,Mr=p+40|0,c=255;;){e:{t:{if(!S[(h=v+2016|0)+c|0]&&!S[(b=v+1760|0)+c|0]){if(!(S[(B=h)+(h=c-1|0)|0]|S[h+b|0]))break t;c=h}if((0|c)<0)break e;for(;Rd(b=v+320|0,p),h=c,(0|(B=k[c+(v+2016|0)|0]))>0?(Ar(c=v+160|0,b,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,b,we),Gu(b,c,(v+480|0)+Lr((254&B)>>>1|0,160)|0)):(0|B)>=0||(Ar(c=v+160|0,b=v+320|0,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,b,we),Y5(b,c,(v+480|0)+Lr((0-B&254)>>>1|0,160)|0)),(0|(vr=k[h+(v+1760|0)|0]))>0?(Ar(c=v+160|0,b=v+320|0,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,b,we),lM(b,c,Lr((254&vr)>>>1|0,120)+1728|0)):(0|vr)>=0||(Ar(v+160|0,Sr=v+320|0,de),Ar(Me,we,ke),Ar(Ve,ke,de),Ar(ye,Sr,we),We=a[v+160>>2],ut=a[v+200>>2],pt=a[v+164>>2],bt=a[v+204>>2],Ye=a[v+168>>2],it=a[v+208>>2],dt=a[v+172>>2],Wt=a[v+212>>2],nr=a[v+176>>2],cr=a[v+216>>2],gr=a[v+180>>2],ee=a[v+220>>2],j=a[v+184>>2],Z=a[v+224>>2],H=a[v+188>>2],re=a[v+228>>2],L=a[v+192>>2],B=a[v+232>>2],b=a[v+236>>2],c=a[v+196>>2],a[v+396>>2]=b-c,a[v+392>>2]=B-L,a[v+388>>2]=re-H,a[v+384>>2]=Z-j,a[v+380>>2]=ee-gr,a[v+376>>2]=cr-nr,a[v+372>>2]=Wt-dt,a[v+368>>2]=it-Ye,a[v+364>>2]=bt-pt,a[v+360>>2]=ut-We,a[v+356>>2]=c+b,a[v+352>>2]=B+L,a[v+348>>2]=H+re,a[v+344>>2]=j+Z,a[v+340>>2]=ee+gr,a[v+336>>2]=nr+cr,a[v+332>>2]=dt+Wt,a[v+328>>2]=Ye+it,a[v+324>>2]=pt+bt,a[v+320>>2]=We+ut,Ar(ke,Sr,40+(c=Lr((0-vr&254)>>>1|0,120)+1728|0)|0),Ar(we,we,c),Ar(de,c+80|0,ye),Gr=a[v+276>>2],jr=a[v+272>>2],vr=a[v+268>>2],Sr=a[v+264>>2],j=a[v+260>>2],Z=a[v+256>>2],H=a[v+252>>2],re=a[v+248>>2],L=a[v+244>>2],B=a[v+240>>2],yr=a[v+360>>2],Kt=a[v+400>>2],or=a[v+364>>2],Or=a[v+404>>2],kr=a[v+368>>2],Jt=a[v+408>>2],We=a[v+372>>2],ut=a[v+412>>2],pt=a[v+376>>2],bt=a[v+416>>2],Ye=a[v+380>>2],it=a[v+420>>2],dt=a[v+384>>2],Wt=a[v+424>>2],nr=a[v+388>>2],cr=a[v+428>>2],gr=a[v+392>>2],ee=a[v+432>>2],b=a[v+396>>2],c=a[v+436>>2],a[v+396>>2]=b+c,a[v+392>>2]=ee+gr,a[v+388>>2]=nr+cr,a[v+384>>2]=dt+Wt,a[v+380>>2]=Ye+it,a[v+376>>2]=pt+bt,a[v+372>>2]=We+ut,a[v+368>>2]=kr+Jt,a[v+364>>2]=or+Or,a[v+360>>2]=yr+Kt,a[v+356>>2]=c-b,a[v+352>>2]=ee-gr,a[v+348>>2]=cr-nr,a[v+344>>2]=Wt-dt,a[v+340>>2]=it-Ye,a[v+336>>2]=bt-pt,a[v+332>>2]=ut-We,a[v+328>>2]=Jt-kr,a[v+324>>2]=Or-or,a[v+320>>2]=Kt-yr,We=B<<1,ut=a[v+440>>2],a[v+400>>2]=We-ut,pt=L<<1,bt=a[v+444>>2],a[v+404>>2]=pt-bt,Ye=re<<1,it=a[v+448>>2],a[v+408>>2]=Ye-it,dt=H<<1,Wt=a[v+452>>2],a[v+412>>2]=dt-Wt,nr=Z<<1,cr=a[v+456>>2],a[v+416>>2]=nr-cr,gr=j<<1,ee=a[v+460>>2],a[v+420>>2]=gr-ee,j=Sr<<1,Z=a[v+464>>2],a[v+424>>2]=j-Z,H=vr<<1,re=a[v+468>>2],a[v+428>>2]=H-re,L=jr<<1,B=a[v+472>>2],a[v+432>>2]=L-B,b=Gr<<1,c=a[v+476>>2],a[v+436>>2]=b-c,a[v+440>>2]=We+ut,a[v+444>>2]=pt+bt,a[v+448>>2]=Ye+it,a[v+452>>2]=dt+Wt,a[v+456>>2]=nr+cr,a[v+460>>2]=ee+gr,a[v+464>>2]=j+Z,a[v+468>>2]=H+re,a[v+472>>2]=B+L,a[v+476>>2]=c+b),Ar(p,v+320|0,de),Ar(Mr,we,ke),Ar(ur,ke,de),c=h-1|0,(0|h)>0;);break e}if(c=c-2|0,h)continue}break}Ie=v+2272|0,VS(c=Q+288|0,p),nn=-1,fn=eO(c,f),H=((0|f)==(0|c)?nn:fn)|Ul(f,c,32)}return Ie=Q+592|0,H}function Ar(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr,Kt,or,Or,kr,Jt,ur,Mr,Gr,jr,nn,fn,Ne,xe,nt,Cr,Yr,An,hn,pn,En,Mn,Nr,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0,mi=0,Ci=0,Vi=0,Yi=0,ro=0,Ao=0,Oo=0,xo=0,Qo=0,Yo=0,ss=0;ft=Ce(p=a[h+4>>2],Z=p>>31,Vi=(Me=a[c+20>>2])<<1,yr=Vi>>31),rr=$,Gt=(ui=Ce(mi=a[h>>2],B=mi>>31,b=a[c+24>>2],Q=b>>31))+ft|0,ft=$+rr|0,ft=Gt>>>0<ui>>>0?ft+1|0:ft,Nn=Ce(v=a[h+8>>2],we=v>>31,ui=a[c+16>>2],L=ui>>31),rr=$+ft|0,rr=(Gt=Nn+Gt|0)>>>0<Nn>>>0?rr+1|0:rr,ft=(Nn=Ce(ee=a[h+12>>2],Ve=ee>>31,dt=(We=a[c+12>>2])<<1,Kt=dt>>31))+Gt|0,Gt=$+rr|0,Gt=ft>>>0<Nn>>>0?Gt+1|0:Gt,rr=(di=Ce(ke=a[h+16>>2],Wt=ke>>31,Nn=a[c+8>>2],H=Nn>>31))+ft|0,ft=$+Gt|0,ft=rr>>>0<di>>>0?ft+1|0:ft,Gt=rr,rr=Ce(ut=a[h+20>>2],or=ut>>31,nr=(pt=a[c+4>>2])<<1,Or=nr>>31),ft=$+ft|0,ft=(Gt=Gt+rr|0)>>>0<rr>>>0?ft+1|0:ft,Cr=Tn=a[h+24>>2],rr=(kn=Ce(Tn,xe=Tn>>31,di=a[c>>2],j=di>>31))+Gt|0,Gt=$+ft|0,Gt=rr>>>0<kn>>>0?Gt+1|0:Gt,kr=a[h+28>>2],ft=(kn=Ce(zn=Lr(kr,19),bt=zn>>31,cr=(Ye=a[c+36>>2])<<1,Jt=cr>>31))+rr|0,rr=$+Gt|0,rr=ft>>>0<kn>>>0?rr+1|0:rr,Oo=a[h+32>>2],Gt=(Bn=Ce(Jr=Lr(Oo,19),ye=Jr>>31,kn=a[c+32>>2],re=kn>>31))+ft|0,ft=$+rr|0,ft=Gt>>>0<Bn>>>0?ft+1|0:ft,Yr=a[h+36>>2],h=Ce(Bn=Lr(Yr,19),de=Bn>>31,gr=(it=a[c+28>>2])<<1,ur=gr>>31),ft=$+ft|0,rn=c=h+Gt|0,h=c>>>0<h>>>0?ft+1|0:ft,c=Ce(ui,L,p,Z),ft=$,Gt=Ce(mi,B,Me,Mr=Me>>31),rr=$+ft|0,rr=(c=Gt+c|0)>>>0<Gt>>>0?rr+1|0:rr,ft=Ce(v,we,We,Gr=We>>31),Gt=$+rr|0,Gt=(c=ft+c|0)>>>0<ft>>>0?Gt+1|0:Gt,rr=Ce(Nn,H,ee,Ve),ft=$+Gt|0,ft=(c=rr+c|0)>>>0<rr>>>0?ft+1|0:ft,Gt=Ce(ke,Wt,pt,jr=pt>>31),ft=$+ft|0,ft=(c=Gt+c|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(di,j,ut,or),ft=$+ft|0,ft=(c=Gt+c|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(Tn=Lr(Tn,19),vr=Tn>>31,Ye,nn=Ye>>31),rr=$+ft|0,rr=(c=Gt+c|0)>>>0<Gt>>>0?rr+1|0:rr,ft=Ce(kn,re,zn,bt),Gt=$+rr|0,Gt=(c=ft+c|0)>>>0<ft>>>0?Gt+1|0:Gt,rr=Ce(Jr,ye,it,fn=it>>31),ft=$+Gt|0,ft=(c=rr+c|0)>>>0<rr>>>0?ft+1|0:ft,Gt=Ce(Bn,de,b,Q),ft=$+ft|0,Qo=c=Gt+c|0,Yi=c>>>0<Gt>>>0?ft+1|0:ft,c=Ce(p,Z,dt,Kt),ft=$,Gt=Ce(mi,B,ui,L),ft=$+ft|0,ft=(c=Gt+c|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(Nn,H,v,we),rr=$+ft|0,rr=(c=Gt+c|0)>>>0<Gt>>>0?rr+1|0:rr,ft=Ce(ee,Ve,nr,Or),Gt=$+rr|0,Gt=(c=ft+c|0)>>>0<ft>>>0?Gt+1|0:Gt,rr=Ce(di,j,ke,Wt),ft=$+Gt|0,ft=(c=rr+c|0)>>>0<rr>>>0?ft+1|0:ft,Gt=Ce(Sr=Lr(ut,19),Ne=Sr>>31,cr,Jt),ft=$+ft|0,ft=(c=Gt+c|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(kn,re,Tn,vr),ft=$+ft|0,ft=(c=Gt+c|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(zn,bt,gr,ur),rr=$+ft|0,rr=(c=Gt+c|0)>>>0<Gt>>>0?rr+1|0:rr,ft=Ce(Jr,ye,b,Q),Gt=$+rr|0,Gt=(c=ft+c|0)>>>0<ft>>>0?Gt+1|0:Gt,rr=Ce(Bn,de,Vi,yr),ft=$+Gt|0,An=c=rr+c|0,hn=ft=c>>>0<rr>>>0?ft+1|0:ft,pn=c=c+33554432|0,En=ft=c>>>0<33554432?ft+1|0:ft,rr=(67108863&ft)<<6|c>>>26,ft=(ft>>26)+Yi|0,Qo=c=rr+Qo|0,ft=c>>>0<rr>>>0?ft+1|0:ft,Mn=c=c+16777216|0,ft=h+(Gt=(rr=c>>>0<16777216?ft+1|0:ft)>>25)|0,ft=(c=(rr=(33554431&rr)<<7|c>>>25)+rn|0)>>>0<rr>>>0?ft+1|0:ft,ro=h=(Gt=c)+33554432|0,c=ft=h>>>0<33554432?ft+1|0:ft,a[f+24>>2]=Gt-(-67108864&h),h=Ce(p,Z,nr,Or),ft=$,Gt=Ce(mi,B,Nn,H),rr=$+ft|0,rr=(h=Gt+h|0)>>>0<Gt>>>0?rr+1|0:rr,Gt=(ft=h)+(h=Ce(di,j,v,we))|0,ft=$+rr|0,ft=h>>>0>Gt>>>0?ft+1|0:ft,rr=Ce(h=Lr(ee,19),Ao=h>>31,cr,Jt),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,rr=(rn=Ce(kn,re,Yi=Lr(ke,19),nt=Yi>>31))+Gt|0,Gt=$+ft|0,Gt=rr>>>0<rn>>>0?Gt+1|0:Gt,rn=Ce(gr,ur,Sr,Ne),ft=$+Gt|0,ft=(rr=rn+rr|0)>>>0<rn>>>0?ft+1|0:ft,Gt=(rn=Ce(b,Q,Tn,vr))+rr|0,rr=$+ft|0,rr=Gt>>>0<rn>>>0?rr+1|0:rr,rn=Ce(zn,bt,Vi,yr),ft=$+rr|0,ft=(Gt=rn+Gt|0)>>>0<rn>>>0?ft+1|0:ft,rr=Ce(Jr,ye,ui,L),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,rr=(rn=Ce(Bn,de,dt,Kt))+Gt|0,Gt=$+ft|0,Kn=rr,Yo=rr>>>0<rn>>>0?Gt+1|0:Gt,ft=Ce(di,j,p,Z),Gt=$,rr=(rn=Ce(mi,B,pt,jr))+ft|0,ft=$+Gt|0,ft=rr>>>0<rn>>>0?ft+1|0:ft,rn=Gt=Lr(v,19),Gt=(_n=Ce(Gt,xo=Gt>>31,Ye,nn))+rr|0,rr=$+ft|0,rr=Gt>>>0<_n>>>0?rr+1|0:rr,_n=Ce(kn,re,h,Ao),ft=$+rr|0,ft=(Gt=_n+Gt|0)>>>0<_n>>>0?ft+1|0:ft,rr=Ce(Yi,nt,it,fn),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,rr=(_n=Ce(b,Q,Sr,Ne))+Gt|0,Gt=$+ft|0,Gt=rr>>>0<_n>>>0?Gt+1|0:Gt,_n=Ce(Tn,vr,Me,Mr),ft=$+Gt|0,ft=(rr=_n+rr|0)>>>0<_n>>>0?ft+1|0:ft,Gt=(_n=Ce(ui,L,zn,bt))+rr|0,rr=$+ft|0,rr=Gt>>>0<_n>>>0?rr+1|0:rr,_n=Ce(Jr,ye,We,Gr),ft=$+rr|0,ft=(Gt=_n+Gt|0)>>>0<_n>>>0?ft+1|0:ft,rr=Ce(Bn,de,Nn,H),ft=$+ft|0,ss=Gt=rr+Gt|0,_n=Gt>>>0<rr>>>0?ft+1|0:ft,ft=Ce(ft=Lr(p,19),ft>>31,cr,Jt),Gt=$,rr=Ce(mi,B,di,j),Gt=$+Gt|0,Gt=(ft=rr+ft|0)>>>0<rr>>>0?Gt+1|0:Gt,rr=(rn=Ce(kn,re,rn,xo))+ft|0,ft=$+Gt|0,h=(Gt=Ce(h,Ao,gr,ur))+rr|0,rr=$+(rr>>>0<rn>>>0?ft+1|0:ft)|0,rr=h>>>0<Gt>>>0?rr+1|0:rr,Gt=Ce(b,Q,Yi,nt),ft=$+rr|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(Vi,yr,Sr,Ne),ft=$+ft|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,rr=Ce(ui,L,Tn,vr),Gt=$+ft|0,Gt=(h=rr+h|0)>>>0<rr>>>0?Gt+1|0:Gt,rr=Ce(zn,bt,dt,Kt),ft=$+Gt|0,ft=(h=rr+h|0)>>>0<rr>>>0?ft+1|0:ft,Gt=Ce(Jr,ye,Nn,H),rr=$+ft|0,rr=(h=Gt+h|0)>>>0<Gt>>>0?rr+1|0:rr,Gt=Ce(Bn,de,nr,Or),ft=$+rr|0,rn=h=Gt+h|0,Ao=ft=h>>>0<Gt>>>0?ft+1|0:ft,xo=h=h+33554432|0,Nr=ft=h>>>0<33554432?ft+1|0:ft,Gt=(rr=ft>>26)+_n|0,_n=h=(ft=(67108863&ft)<<6|h>>>26)+ss|0,ft=h>>>0<ft>>>0?Gt+1|0:Gt,ss=h=h+16777216|0,Gt=(33554431&(ft=h>>>0<16777216?ft+1|0:ft))<<7|h>>>25,ft=(ft>>25)+Yo|0,ft=(h=Gt+Kn|0)>>>0<Gt>>>0?ft+1|0:ft,Yo=Gt=(rr=h)+33554432|0,h=ft=Gt>>>0<33554432?ft+1|0:ft,a[f+8>>2]=rr-(-67108864&Gt),ft=Ce(b,Q,p,Z),rr=$,Gt=(Kn=Ce(mi,B,it,fn))+ft|0,ft=$+rr|0,ft=Gt>>>0<Kn>>>0?ft+1|0:ft,rr=Ce(v,we,Me,Mr),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,rr=Ce(ui,L,ee,Ve),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,Kn=Ce(ke,Wt,We,Gr),rr=$+ft|0,rr=(Gt=Kn+Gt|0)>>>0<Kn>>>0?rr+1|0:rr,ft=(Kn=Ce(Nn,H,ut,or))+Gt|0,Gt=$+rr|0,Gt=ft>>>0<Kn>>>0?Gt+1|0:Gt,rr=(Kn=Ce(pt,jr,Cr,xe))+ft|0,ft=$+Gt|0,ft=rr>>>0<Kn>>>0?ft+1|0:ft,Gt=rr,rr=Ce(di,j,kr,Kn=kr>>31),ft=$+ft|0,ft=(Gt=Gt+rr|0)>>>0<rr>>>0?ft+1|0:ft,rr=Ce(Jr,ye,Ye,nn),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,Ci=Ce(Bn,de,kn,re),rr=$+ft|0,ft=c>>26,c=(ro=(67108863&c)<<6|ro>>>26)+(Gt=Ci+Gt|0)|0,Gt=ft+(Gt>>>0<Ci>>>0?rr+1|0:rr)|0,ft=(rr=c)>>>0<ro>>>0?Gt+1|0:Gt,ro=Gt=rr+16777216|0,c=ft=Gt>>>0<16777216?ft+1|0:ft,a[f+28>>2]=rr-(-33554432&Gt),ft=Ce(Nn,H,p,Z),Gt=$,Ci=Ce(mi,B,We,Gr),rr=$+Gt|0,rr=(ft=Ci+ft|0)>>>0<Ci>>>0?rr+1|0:rr,Ci=Ce(v,we,pt,jr),Gt=$+rr|0,Gt=(ft=Ci+ft|0)>>>0<Ci>>>0?Gt+1|0:Gt,rr=(Ci=Ce(di,j,ee,Ve))+ft|0,ft=$+Gt|0,ft=rr>>>0<Ci>>>0?ft+1|0:ft,Gt=rr,rr=Ce(Yi,nt,Ye,nn),ft=$+ft|0,ft=(Gt=Gt+rr|0)>>>0<rr>>>0?ft+1|0:ft,rr=Ce(kn,re,Sr,Ne),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,Gt=(Tn=Ce(Tn,vr,it,fn))+Gt|0,rr=$+ft|0,ft=(zn=Ce(b,Q,zn,bt))+Gt|0,Gt=$+(Gt>>>0<Tn>>>0?rr+1|0:rr)|0,rr=(Jr=Ce(Jr,ye,Me,Mr))+ft|0,ft=$+(ft>>>0<zn>>>0?Gt+1|0:Gt)|0,ft=rr>>>0<Jr>>>0?ft+1|0:ft,Gt=rr,rr=Ce(Bn,de,ui,L),ft=$+ft|0,Jr=Gt=Gt+rr|0,ft=(ft=Gt>>>0<rr>>>0?ft+1|0:ft)+(Gt=h>>26)|0,Jr=h=Jr+(rr=(67108863&h)<<6|Yo>>>26)|0,ft=h>>>0<rr>>>0?ft+1|0:ft,zn=Gt=h+16777216|0,h=rr=Gt>>>0<16777216?ft+1|0:ft,a[f+12>>2]=Jr-(-33554432&Gt),ft=Ce(p,Z,gr,ur),rr=$,Gt=(Jr=Ce(mi,B,kn,re))+ft|0,ft=$+rr|0,ft=Gt>>>0<Jr>>>0?ft+1|0:ft,rr=Ce(b,Q,v,we),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,Jr=Ce(ee,Ve,Vi,yr),rr=$+ft|0,rr=(Gt=Jr+Gt|0)>>>0<Jr>>>0?rr+1|0:rr,ft=(Jr=Ce(ui,L,ke,Wt))+Gt|0,Gt=$+rr|0,Gt=ft>>>0<Jr>>>0?Gt+1|0:Gt,rr=(Jr=Ce(dt,Kt,ut,or))+ft|0,ft=$+Gt|0,ft=rr>>>0<Jr>>>0?ft+1|0:ft,Gt=rr,rr=Ce(Nn,H,Cr,xe),ft=$+ft|0,ft=(Gt=Gt+rr|0)>>>0<rr>>>0?ft+1|0:ft,rr=Ce(kr,Kn,nr,Or),ft=$+ft|0,ft=(Gt=rr+Gt|0)>>>0<rr>>>0?ft+1|0:ft,Gt=(Vi=Ce(di,j,Jr=Oo,Tn=Jr>>31))+Gt|0,rr=$+ft|0,ft=(Bn=Ce(Bn,de,cr,Jt))+Gt|0,Gt=$+(Gt>>>0<Vi>>>0?rr+1|0:rr)|0,Gt=ft>>>0<Bn>>>0?Gt+1|0:Gt,Oo=ft,ft=(ft=c>>25)+Gt|0,ft=(c=Oo+(rr=(33554431&c)<<7|ro>>>25)|0)>>>0<rr>>>0?ft+1|0:ft,Bn=Gt=(rr=c)+33554432|0,c=ft=Gt>>>0<33554432?ft+1|0:ft,a[f+32>>2]=rr-(-67108864&Gt),Gt=h>>25,h=(zn=(33554431&h)<<7|zn>>>25)+(An-(ft=-67108864&pn)|0)|0,ft=Gt+(hn-((ft>>>0>An>>>0)+En|0)|0)|0,ft=h>>>0<zn>>>0?ft+1|0:ft,ft=((67108863&(ft=(h=(Gt=h)+33554432|0)>>>0<33554432?ft+1|0:ft))<<6|h>>>26)+(rr=Qo-(-33554432&Mn)|0)|0,a[f+20>>2]=ft,a[f+16>>2]=Gt-(-67108864&h),h=Ce(kn,re,p,Z),ft=$,Gt=Ce(mi,B,Ye,nn),ft=$+ft|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,rr=Ce(v,we,it,fn),Gt=$+ft|0,Gt=(h=rr+h|0)>>>0<rr>>>0?Gt+1|0:Gt,ft=Ce(b,Q,ee,Ve),rr=$+Gt|0,rr=(h=ft+h|0)>>>0<ft>>>0?rr+1|0:rr,Gt=Ce(ke,Wt,Me,Mr),ft=$+rr|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(ui,L,ut,or),ft=$+ft|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,Gt=Ce(We,Gr,Cr,xe),ft=$+ft|0,ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft,rr=Ce(Nn,H,kr,Kn),Gt=$+ft|0,Gt=(h=rr+h|0)>>>0<rr>>>0?Gt+1|0:Gt,ft=Ce(Jr,Tn,pt,jr),rr=$+Gt|0,rr=(h=ft+h|0)>>>0<ft>>>0?rr+1|0:rr,Gt=Ce(di,j,Yr,Yr>>31),ft=$+rr|0,ft=(ft=(h=Gt+h|0)>>>0<Gt>>>0?ft+1|0:ft)+(Gt=c>>26)|0,ft=(c=(rr=h)+(h=(67108863&c)<<6|Bn>>>26)|0)>>>0<h>>>0?ft+1|0:ft,ft=(c=(h=c)+16777216|0)>>>0<16777216?ft+1|0:ft,a[f+36>>2]=h-(-33554432&c),rr=_n-(-33554432&ss)|0,Gt=rn-(h=-67108864&xo)|0,mi=Ao-((h>>>0>rn>>>0)+Nr|0)|0,c=(h=Ce((33554431&(h=ft))<<7|c>>>25,ft>>=25,19,0))+Gt|0,Gt=$+mi|0,ft=c>>>0<h>>>0?Gt+1|0:Gt,ft=((67108863&(ft=(c=(h=c)+33554432|0)>>>0<33554432?ft+1|0:ft))<<6|c>>>26)+rr|0,a[f+4>>2]=ft,a[f>>2]=h-(-67108864&c)}function Pa(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me=0,Ve=0,We=0;Ie=h=Ie-544|0,p=S[f+60|0]|S[f+61|0]<<8|S[f+62|0]<<16|S[f+63|0]<<24,b=S[f+56|0]|S[f+57|0]<<8|S[f+58|0]<<16|S[f+59|0]<<24,B=S[f+52|0]|S[f+53|0]<<8|S[f+54|0]<<16|S[f+55|0]<<24,Q=S[f+48|0]|S[f+49|0]<<8|S[f+50|0]<<16|S[f+51|0]<<24,v=S[f+32|0]|S[f+33|0]<<8|S[f+34|0]<<16|S[f+35|0]<<24,L=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,H=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24,j=S[f+44|0]|S[f+45|0]<<8|S[f+46|0]<<16|S[f+47|0]<<24,Me=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,re=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,Z=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,ee=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,de=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,we=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,ke=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,ye=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,f=a[c+124>>2],a[h+536>>2]=a[c+120>>2],a[h+540>>2]=f,f=a[c+116>>2],a[h+528>>2]=a[c+112>>2],a[h+532>>2]=f,f=a[c+108>>2],a[h+504>>2]=a[c+104>>2],a[h+508>>2]=f,f=a[c+100>>2],a[h+496>>2]=a[c+96>>2],a[h+500>>2]=f,f=a[c+124>>2],a[h+488>>2]=a[c+120>>2],a[h+492>>2]=f,f=a[c+116>>2],a[h+480>>2]=a[c+112>>2],a[h+484>>2]=f,un(We=h+512|0,h+496|0,h+480|0),f=a[h+524>>2],a[c+120>>2]=a[h+520>>2],a[c+124>>2]=f,f=a[h+516>>2],a[c+112>>2]=a[h+512>>2],a[c+116>>2]=f,f=a[c+92>>2],a[h+472>>2]=a[c+88>>2],a[h+476>>2]=f,f=a[c+84>>2],a[h+464>>2]=a[c+80>>2],a[h+468>>2]=f,f=a[c+108>>2],a[h+456>>2]=a[c+104>>2],a[h+460>>2]=f,f=a[c+100>>2],a[h+448>>2]=a[c+96>>2],a[h+452>>2]=f,un(We,h+464|0,h+448|0),f=a[h+524>>2],a[c+104>>2]=a[h+520>>2],a[c+108>>2]=f,f=a[h+516>>2],a[c+96>>2]=a[h+512>>2],a[c+100>>2]=f,f=a[c+76>>2],a[h+440>>2]=a[c+72>>2],a[h+444>>2]=f,Ve=a[4+(f=c- -64|0)>>2],a[h+432>>2]=a[f>>2],a[h+436>>2]=Ve,Ve=a[c+92>>2],a[h+424>>2]=a[c+88>>2],a[h+428>>2]=Ve,Ve=a[c+84>>2],a[h+416>>2]=a[c+80>>2],a[h+420>>2]=Ve,un(We,h+432|0,h+416|0),Ve=a[h+524>>2],a[c+88>>2]=a[h+520>>2],a[c+92>>2]=Ve,Ve=a[h+516>>2],a[c+80>>2]=a[h+512>>2],a[c+84>>2]=Ve,Ve=a[c+60>>2],a[h+408>>2]=a[c+56>>2],a[h+412>>2]=Ve,Ve=a[c+52>>2],a[h+400>>2]=a[c+48>>2],a[h+404>>2]=Ve,Ve=a[c+76>>2],a[h+392>>2]=a[c+72>>2],a[h+396>>2]=Ve,Ve=a[f+4>>2],a[h+384>>2]=a[f>>2],a[h+388>>2]=Ve,un(We,h+400|0,h+384|0),Ve=a[h+524>>2],a[c+72>>2]=a[h+520>>2],a[c+76>>2]=Ve,Ve=a[h+516>>2],a[f>>2]=a[h+512>>2],a[f+4>>2]=Ve,Ve=a[c+44>>2],a[h+376>>2]=a[c+40>>2],a[h+380>>2]=Ve,Ve=a[c+36>>2],a[h+368>>2]=a[c+32>>2],a[h+372>>2]=Ve,Ve=a[c+60>>2],a[h+360>>2]=a[c+56>>2],a[h+364>>2]=Ve,Ve=a[c+52>>2],a[h+352>>2]=a[c+48>>2],a[h+356>>2]=Ve,un(We,h+368|0,h+352|0),Ve=a[h+524>>2],a[c+56>>2]=a[h+520>>2],a[c+60>>2]=Ve,Ve=a[h+516>>2],a[c+48>>2]=a[h+512>>2],a[c+52>>2]=Ve,Ve=a[c+28>>2],a[h+344>>2]=a[c+24>>2],a[h+348>>2]=Ve,Ve=a[c+20>>2],a[h+336>>2]=a[c+16>>2],a[h+340>>2]=Ve,Ve=a[c+44>>2],a[h+328>>2]=a[c+40>>2],a[h+332>>2]=Ve,Ve=a[c+36>>2],a[h+320>>2]=a[c+32>>2],a[h+324>>2]=Ve,un(We,h+336|0,h+320|0),Ve=a[h+524>>2],a[c+40>>2]=a[h+520>>2],a[c+44>>2]=Ve,Ve=a[h+516>>2],a[c+32>>2]=a[h+512>>2],a[c+36>>2]=Ve,Ve=a[c+12>>2],a[h+312>>2]=a[c+8>>2],a[h+316>>2]=Ve,Ve=a[c+4>>2],a[h+304>>2]=a[c>>2],a[h+308>>2]=Ve,Ve=a[c+28>>2],a[h+296>>2]=a[c+24>>2],a[h+300>>2]=Ve,Ve=a[c+20>>2],a[h+288>>2]=a[c+16>>2],a[h+292>>2]=Ve,un(We,h+304|0,h+288|0),Ve=a[h+524>>2],a[c+24>>2]=a[h+520>>2],a[c+28>>2]=Ve,Ve=a[h+516>>2],a[c+16>>2]=a[h+512>>2],a[c+20>>2]=Ve,Ve=a[h+540>>2],a[h+280>>2]=a[h+536>>2],a[h+284>>2]=Ve,Ve=a[h+532>>2],a[h+272>>2]=a[h+528>>2],a[h+276>>2]=Ve,Ve=a[c+12>>2],a[h+264>>2]=a[c+8>>2],a[h+268>>2]=Ve,Ve=a[c+4>>2],a[h+256>>2]=a[c>>2],a[h+260>>2]=Ve,un(We,h+272|0,h+256|0),Ve=a[h+524>>2],a[c+8>>2]=a[h+520>>2],a[c+12>>2]=Ve,Ve=a[h+516>>2],a[c>>2]=a[h+512>>2],a[c+4>>2]=Ve,a[c+12>>2]=(S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24)^ke,a[c+8>>2]=(S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24)^we,a[c+4>>2]=(S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24)^de,a[c>>2]=(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24)^ye,a[f>>2]=(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24)^ee,a[c+68>>2]=(S[c+68|0]|S[c+69|0]<<8|S[c+70|0]<<16|S[c+71|0]<<24)^Z,a[c+72>>2]=(S[c+72|0]|S[c+73|0]<<8|S[c+74|0]<<16|S[c+75|0]<<24)^re,a[c+76>>2]=(S[c+76|0]|S[c+77|0]<<8|S[c+78|0]<<16|S[c+79|0]<<24)^Me,Me=a[c+124>>2],a[h+536>>2]=a[c+120>>2],a[h+540>>2]=Me,Me=a[c+116>>2],a[h+528>>2]=a[c+112>>2],a[h+532>>2]=Me,Me=a[c+108>>2],a[h+248>>2]=a[c+104>>2],a[h+252>>2]=Me,Me=a[c+100>>2],a[h+240>>2]=a[c+96>>2],a[h+244>>2]=Me,Me=a[c+124>>2],a[h+232>>2]=a[c+120>>2],a[h+236>>2]=Me,Me=a[c+116>>2],a[h+224>>2]=a[c+112>>2],a[h+228>>2]=Me,un(We,h+240|0,h+224|0),Me=a[h+524>>2],a[c+120>>2]=a[h+520>>2],a[c+124>>2]=Me,Me=a[h+516>>2],a[c+112>>2]=a[h+512>>2],a[c+116>>2]=Me,Me=a[c+92>>2],a[h+216>>2]=a[c+88>>2],a[h+220>>2]=Me,Me=a[c+84>>2],a[h+208>>2]=a[c+80>>2],a[h+212>>2]=Me,Me=a[c+108>>2],a[h+200>>2]=a[c+104>>2],a[h+204>>2]=Me,Me=a[c+100>>2],a[h+192>>2]=a[c+96>>2],a[h+196>>2]=Me,un(We,h+208|0,h+192|0),Me=a[h+524>>2],a[c+104>>2]=a[h+520>>2],a[c+108>>2]=Me,Me=a[h+516>>2],a[c+96>>2]=a[h+512>>2],a[c+100>>2]=Me,Me=a[c+76>>2],a[h+184>>2]=a[c+72>>2],a[h+188>>2]=Me,Me=a[f+4>>2],a[h+176>>2]=a[f>>2],a[h+180>>2]=Me,Me=a[c+92>>2],a[h+168>>2]=a[c+88>>2],a[h+172>>2]=Me,Me=a[c+84>>2],a[h+160>>2]=a[c+80>>2],a[h+164>>2]=Me,un(We,h+176|0,h+160|0),Me=a[h+524>>2],a[c+88>>2]=a[h+520>>2],a[c+92>>2]=Me,Me=a[h+516>>2],a[c+80>>2]=a[h+512>>2],a[c+84>>2]=Me,Me=a[c+60>>2],a[h+152>>2]=a[c+56>>2],a[h+156>>2]=Me,Me=a[c+52>>2],a[h+144>>2]=a[c+48>>2],a[h+148>>2]=Me,Me=a[c+76>>2],a[h+136>>2]=a[c+72>>2],a[h+140>>2]=Me,Me=a[f+4>>2],a[h+128>>2]=a[f>>2],a[h+132>>2]=Me,un(We,h+144|0,h+128|0),Me=a[h+524>>2],a[c+72>>2]=a[h+520>>2],a[c+76>>2]=Me,Me=a[h+516>>2],a[f>>2]=a[h+512>>2],a[f+4>>2]=Me,Me=a[c+44>>2],a[h+120>>2]=a[c+40>>2],a[h+124>>2]=Me,Me=a[c+36>>2],a[h+112>>2]=a[c+32>>2],a[h+116>>2]=Me,Me=a[c+60>>2],a[h+104>>2]=a[c+56>>2],a[h+108>>2]=Me,Me=a[c+52>>2],a[h+96>>2]=a[c+48>>2],a[h+100>>2]=Me,un(We,h+112|0,h+96|0),Me=a[h+524>>2],a[c+56>>2]=a[h+520>>2],a[c+60>>2]=Me,Me=a[h+516>>2],a[c+48>>2]=a[h+512>>2],a[c+52>>2]=Me,Me=a[c+28>>2],a[h+88>>2]=a[c+24>>2],a[h+92>>2]=Me,Me=a[c+20>>2],a[h+80>>2]=a[c+16>>2],a[h+84>>2]=Me,Me=a[c+44>>2],a[h+72>>2]=a[c+40>>2],a[h+76>>2]=Me,Me=a[c+36>>2],a[h+64>>2]=a[c+32>>2],a[h+68>>2]=Me,un(We,h+80|0,h- -64|0),Me=a[h+524>>2],a[c+40>>2]=a[h+520>>2],a[c+44>>2]=Me,Me=a[h+516>>2],a[c+32>>2]=a[h+512>>2],a[c+36>>2]=Me,Me=a[c+12>>2],a[h+56>>2]=a[c+8>>2],a[h+60>>2]=Me,Me=a[c+4>>2],a[h+48>>2]=a[c>>2],a[h+52>>2]=Me,Me=a[c+28>>2],a[h+40>>2]=a[c+24>>2],a[h+44>>2]=Me,Me=a[c+20>>2],a[h+32>>2]=a[c+16>>2],a[h+36>>2]=Me,un(We,h+48|0,h+32|0),Me=a[h+524>>2],a[c+24>>2]=a[h+520>>2],a[c+28>>2]=Me,Me=a[h+516>>2],a[c+16>>2]=a[h+512>>2],a[c+20>>2]=Me,Me=a[h+540>>2],a[h+24>>2]=a[h+536>>2],a[h+28>>2]=Me,Me=a[h+532>>2],a[h+16>>2]=a[h+528>>2],a[h+20>>2]=Me,Me=a[c+12>>2],a[h+8>>2]=a[c+8>>2],a[h+12>>2]=Me,Me=a[c+4>>2],a[h>>2]=a[c>>2],a[h+4>>2]=Me,un(We,h+16|0,h),We=a[h+524>>2],a[c+8>>2]=a[h+520>>2],a[c+12>>2]=We,We=a[h+516>>2],a[c>>2]=a[h+512>>2],a[c+4>>2]=We,a[c+12>>2]=(S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24)^j,a[c+8>>2]=(S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24)^H,a[c+4>>2]=(S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24)^L,a[c>>2]=(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24)^v,a[f>>2]=(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24)^Q,a[c+68>>2]=(S[c+68|0]|S[c+69|0]<<8|S[c+70|0]<<16|S[c+71|0]<<24)^B,a[c+72>>2]=(S[c+72|0]|S[c+73|0]<<8|S[c+74|0]<<16|S[c+75|0]<<24)^b,a[c+76>>2]=(S[c+76|0]|S[c+77|0]<<8|S[c+78|0]<<16|S[c+79|0]<<24)^p,Ie=h+544|0}function Hu(f,c,h,p,b){var B,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0;for(Ie=B=Ie-288|0,de=(S[b+44|0]|S[b+45|0]<<8|S[b+46|0]<<16|S[b+47|0]<<24)^p>>>29,we=(S[b+40|0]|S[b+41|0]<<8|S[b+42|0]<<16|S[b+43|0]<<24)^p<<3,ke=(S[b+36|0]|S[b+37|0]<<8|S[b+38|0]<<16|S[b+39|0]<<24)^h>>>29,p=(S[0|(L=b+32|0)]|S[L+1|0]<<8|S[L+2|0]<<16|S[L+3|0]<<24)^h<<3,Z=b+16|0,j=b+48|0,v=b- -64|0,re=b+80|0,Q=b+96|0,H=b+112|0;h=a[H+12>>2],a[B+280>>2]=a[H+8>>2],a[B+284>>2]=h,h=a[H+4>>2],a[B+272>>2]=a[H>>2],a[B+276>>2]=h,h=a[Q+12>>2],a[B+248>>2]=a[Q+8>>2],a[B+252>>2]=h,h=a[Q+4>>2],a[B+240>>2]=a[Q>>2],a[B+244>>2]=h,h=a[H+12>>2],a[B+232>>2]=a[H+8>>2],a[B+236>>2]=h,h=a[H+4>>2],a[B+224>>2]=a[H>>2],a[B+228>>2]=h,un(ee=B+256|0,B+240|0,B+224|0),h=a[B+268>>2],a[H+8>>2]=a[B+264>>2],a[H+12>>2]=h,h=a[B+260>>2],a[H>>2]=a[B+256>>2],a[H+4>>2]=h,h=a[re+12>>2],a[B+216>>2]=a[re+8>>2],a[B+220>>2]=h,h=a[re+4>>2],a[B+208>>2]=a[re>>2],a[B+212>>2]=h,h=a[Q+12>>2],a[B+200>>2]=a[Q+8>>2],a[B+204>>2]=h,h=a[Q+4>>2],a[B+192>>2]=a[Q>>2],a[B+196>>2]=h,un(ee,B+208|0,B+192|0),h=a[B+268>>2],a[Q+8>>2]=a[B+264>>2],a[Q+12>>2]=h,h=a[B+260>>2],a[Q>>2]=a[B+256>>2],a[Q+4>>2]=h,h=a[v+12>>2],a[B+184>>2]=a[v+8>>2],a[B+188>>2]=h,h=a[v+4>>2],a[B+176>>2]=a[v>>2],a[B+180>>2]=h,h=a[re+12>>2],a[B+168>>2]=a[re+8>>2],a[B+172>>2]=h,h=a[re+4>>2],a[B+160>>2]=a[re>>2],a[B+164>>2]=h,un(ee,B+176|0,B+160|0),h=a[B+268>>2],a[re+8>>2]=a[B+264>>2],a[re+12>>2]=h,h=a[B+260>>2],a[re>>2]=a[B+256>>2],a[re+4>>2]=h,h=a[j+12>>2],a[B+152>>2]=a[j+8>>2],a[B+156>>2]=h,h=a[j+4>>2],a[B+144>>2]=a[j>>2],a[B+148>>2]=h,h=a[v+12>>2],a[B+136>>2]=a[v+8>>2],a[B+140>>2]=h,h=a[v+4>>2],a[B+128>>2]=a[v>>2],a[B+132>>2]=h,un(ee,B+144|0,B+128|0),h=a[B+268>>2],a[v+8>>2]=a[B+264>>2],a[v+12>>2]=h,h=a[B+260>>2],a[v>>2]=a[B+256>>2],a[v+4>>2]=h,h=a[L+12>>2],a[B+120>>2]=a[L+8>>2],a[B+124>>2]=h,h=a[L+4>>2],a[B+112>>2]=a[L>>2],a[B+116>>2]=h,h=a[j+12>>2],a[B+104>>2]=a[j+8>>2],a[B+108>>2]=h,h=a[j+4>>2],a[B+96>>2]=a[j>>2],a[B+100>>2]=h,un(ee,B+112|0,B+96|0),h=a[B+268>>2],a[j+8>>2]=a[B+264>>2],a[j+12>>2]=h,h=a[B+260>>2],a[j>>2]=a[B+256>>2],a[j+4>>2]=h,h=a[Z+12>>2],a[B+88>>2]=a[Z+8>>2],a[B+92>>2]=h,h=a[Z+4>>2],a[B+80>>2]=a[Z>>2],a[B+84>>2]=h,h=a[L+12>>2],a[B+72>>2]=a[L+8>>2],a[B+76>>2]=h,h=a[L+4>>2],a[B+64>>2]=a[L>>2],a[B+68>>2]=h,un(ee,B+80|0,B- -64|0),h=a[B+268>>2],a[L+8>>2]=a[B+264>>2],a[L+12>>2]=h,h=a[B+260>>2],a[L>>2]=a[B+256>>2],a[L+4>>2]=h,h=a[b+12>>2],a[B+56>>2]=a[b+8>>2],a[B+60>>2]=h,h=a[b+4>>2],a[B+48>>2]=a[b>>2],a[B+52>>2]=h,h=a[Z+12>>2],a[B+40>>2]=a[Z+8>>2],a[B+44>>2]=h,h=a[Z+4>>2],a[B+32>>2]=a[Z>>2],a[B+36>>2]=h,un(ee,B+48|0,B+32|0),h=a[B+268>>2],a[Z+8>>2]=a[B+264>>2],a[Z+12>>2]=h,h=a[B+260>>2],a[Z>>2]=a[B+256>>2],a[Z+4>>2]=h,h=a[B+284>>2],a[B+24>>2]=a[B+280>>2],a[B+28>>2]=h,h=a[B+276>>2],a[B+16>>2]=a[B+272>>2],a[B+20>>2]=h,h=a[b+12>>2],a[B+8>>2]=a[b+8>>2],a[B+12>>2]=h,h=a[b+4>>2],a[B>>2]=a[b>>2],a[B+4>>2]=h,un(ee,B+16|0,B),h=a[B+268>>2],a[b+8>>2]=a[B+264>>2],a[b+12>>2]=h,h=a[B+260>>2],a[b>>2]=a[B+256>>2],a[b+4>>2]=h,Me=de^(S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24),a[b+12>>2]=Me,Ve=we^(S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24),a[b+8>>2]=Ve,We=ke^(S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24),a[b+4>>2]=We,ut=p^(S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),a[b>>2]=ut,pt=p^(S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24),a[v>>2]=pt,bt=ke^(S[b+68|0]|S[b+69|0]<<8|S[b+70|0]<<16|S[b+71|0]<<24),a[b+68>>2]=bt,Ye=we^(S[b+72|0]|S[b+73|0]<<8|S[b+74|0]<<16|S[b+75|0]<<24),a[b+72>>2]=Ye,it=de^(S[b+76|0]|S[b+77|0]<<8|S[b+78|0]<<16|S[b+79|0]<<24),a[b+76>>2]=it,(0|(ye=ye+1|0))!=7;);e:{t:{r:{if(h=c-16|0){if((0|h)==16)break r;break t}v=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,L=S[b+48|0]|S[b+49|0]<<8|S[b+50|0]<<16|S[b+51|0]<<24,Z=S[b+32|0]|S[b+33|0]<<8|S[b+34|0]<<16|S[b+35|0]<<24,j=S[b+96|0]|S[b+97|0]<<8|S[b+98|0]<<16|S[b+99|0]<<24,re=S[b+80|0]|S[b+81|0]<<8|S[b+82|0]<<16|S[b+83|0]<<24,Q=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,H=S[b+52|0]|S[b+53|0]<<8|S[b+54|0]<<16|S[b+55|0]<<24,ee=S[b+36|0]|S[b+37|0]<<8|S[b+38|0]<<16|S[b+39|0]<<24,de=S[b+100|0]|S[b+101|0]<<8|S[b+102|0]<<16|S[b+103|0]<<24,we=S[b+84|0]|S[b+85|0]<<8|S[b+86|0]<<16|S[b+87|0]<<24,ke=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,ye=S[b+56|0]|S[b+57|0]<<8|S[b+58|0]<<16|S[b+59|0]<<24,p=S[b+40|0]|S[b+41|0]<<8|S[b+42|0]<<16|S[b+43|0]<<24,h=S[b+104|0]|S[b+105|0]<<8|S[b+106|0]<<16|S[b+107|0]<<24,c=S[b+88|0]|S[b+89|0]<<8|S[b+90|0]<<16|S[b+91|0]<<24,b=Me^(S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24)^(S[b+60|0]|S[b+61|0]<<8|S[b+62|0]<<16|S[b+63|0]<<24)^(S[b+44|0]|S[b+45|0]<<8|S[b+46|0]<<16|S[b+47|0]<<24)^(S[b+92|0]|S[b+93|0]<<8|S[b+94|0]<<16|S[b+95|0]<<24)^(S[b+108|0]|S[b+109|0]<<8|S[b+110|0]<<16|S[b+111|0]<<24)^it,k[f+12|0]=b,k[f+13|0]=b>>>8,k[f+14|0]=b>>>16,k[f+15|0]=b>>>24,c=ke^ye^p^c^h^Ye^Ve,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=Q^H^ee^de^we^bt^We,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=v^L^Z^j^re^pt^ut,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24;break e}H=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,ee=S[b+48|0]|S[b+49|0]<<8|S[b+50|0]<<16|S[b+51|0]<<24,de=S[b+32|0]|S[b+33|0]<<8|S[b+34|0]<<16|S[b+35|0]<<24,we=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,ke=S[b+52|0]|S[b+53|0]<<8|S[b+54|0]<<16|S[b+55|0]<<24,ye=S[b+36|0]|S[b+37|0]<<8|S[b+38|0]<<16|S[b+39|0]<<24,p=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,h=S[b+56|0]|S[b+57|0]<<8|S[b+58|0]<<16|S[b+59|0]<<24,c=S[b+40|0]|S[b+41|0]<<8|S[b+42|0]<<16|S[b+43|0]<<24,Q=Me^(S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24)^(S[b+60|0]|S[b+61|0]<<8|S[b+62|0]<<16|S[b+63|0]<<24)^(S[b+44|0]|S[b+45|0]<<8|S[b+46|0]<<16|S[b+47|0]<<24),k[f+12|0]=Q,k[f+13|0]=Q>>>8,k[f+14|0]=Q>>>16,k[f+15|0]=Q>>>24,c=p^c^h^Ve,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=we^ke^ye^We,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=H^ee^de^ut,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,j=S[b+80|0]|S[b+81|0]<<8|S[b+82|0]<<16|S[b+83|0]<<24,re=S[0|(c=b- -64|0)]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,Q=S[b+112|0]|S[b+113|0]<<8|S[b+114|0]<<16|S[b+115|0]<<24,H=S[b+96|0]|S[b+97|0]<<8|S[b+98|0]<<16|S[b+99|0]<<24,ee=S[b+84|0]|S[b+85|0]<<8|S[b+86|0]<<16|S[b+87|0]<<24,de=S[b+68|0]|S[b+69|0]<<8|S[b+70|0]<<16|S[b+71|0]<<24,we=S[b+116|0]|S[b+117|0]<<8|S[b+118|0]<<16|S[b+119|0]<<24,ke=S[b+100|0]|S[b+101|0]<<8|S[b+102|0]<<16|S[b+103|0]<<24,ye=S[b+88|0]|S[b+89|0]<<8|S[b+90|0]<<16|S[b+91|0]<<24,p=S[b+72|0]|S[b+73|0]<<8|S[b+74|0]<<16|S[b+75|0]<<24,h=S[b+120|0]|S[b+121|0]<<8|S[b+122|0]<<16|S[b+123|0]<<24,c=S[b+104|0]|S[b+105|0]<<8|S[b+106|0]<<16|S[b+107|0]<<24,b=(S[b+92|0]|S[b+93|0]<<8|S[b+94|0]<<16|S[b+95|0]<<24)^(S[b+76|0]|S[b+77|0]<<8|S[b+78|0]<<16|S[b+79|0]<<24)^(S[b+124|0]|S[b+125|0]<<8|S[b+126|0]<<16|S[b+127|0]<<24)^(S[b+108|0]|S[b+109|0]<<8|S[b+110|0]<<16|S[b+111|0]<<24),k[f+28|0]=b,k[f+29|0]=b>>>8,k[f+30|0]=b>>>16,k[f+31|0]=b>>>24,c=ye^p^c^h,k[f+24|0]=c,k[f+25|0]=c>>>8,k[f+26|0]=c>>>16,k[f+27|0]=c>>>24,c=ee^de^we^ke,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=j^re^Q^H,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24;break e}yo(f,0,c)}Ie=B+288|0}function vs(f,c,h,p){var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0;for(b=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,a[h>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[h+4>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,a[h+8>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,a[h+12>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[h+16>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[h+20>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[h+24>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[h+28>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+32|0]|S[c+33|0]<<8|S[c+34|0]<<16|S[c+35|0]<<24,a[h+32>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+36|0]|S[c+37|0]<<8|S[c+38|0]<<16|S[c+39|0]<<24,a[h+36>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+40|0]|S[c+41|0]<<8|S[c+42|0]<<16|S[c+43|0]<<24,a[h+40>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+44|0]|S[c+45|0]<<8|S[c+46|0]<<16|S[c+47|0]<<24,a[h+44>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+48|0]|S[c+49|0]<<8|S[c+50|0]<<16|S[c+51|0]<<24,a[h+48>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+52|0]|S[c+53|0]<<8|S[c+54|0]<<16|S[c+55|0]<<24,a[h+52>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,b=S[c+56|0]|S[c+57|0]<<8|S[c+58|0]<<16|S[c+59|0]<<24,a[h+56>>2]=b<<24|(65280&b)<<8|b>>>8&65280|b>>>24,c=S[c+60|0]|S[c+61|0]<<8|S[c+62|0]<<16|S[c+63|0]<<24,a[h+60>>2]=c<<24|(65280&c)<<8|c>>>8&65280|c>>>24,c=a[f+28>>2],a[p+24>>2]=a[f+24>>2],a[p+28>>2]=c,c=a[f+20>>2],a[p+16>>2]=a[f+16>>2],a[p+20>>2]=c,c=a[f+12>>2],a[p+8>>2]=a[f+8>>2],a[p+12>>2]=c,c=a[f+4>>2],a[p>>2]=a[f>>2],a[p+4>>2]=c;L=a[p+28>>2],b=(c=We<<2)+h|0,Q=a[p+16>>2],H=a[b>>2]+(lr(Q,26)^lr(Q,21)^lr(Q,7))|0,re=(L=((B=a[c+35264>>2]+H|0)+(Q&((H=a[p+24>>2])^(Z=a[p+20>>2]))^H)|0)+L|0)+a[p+12>>2]|0,a[p+12>>2]=re,L=(de=L+(lr(j=a[p>>2],30)^lr(j,19)^lr(j,10))|0)+(j&((B=a[p+8>>2])|(v=a[p+4>>2]))|B&v)|0,a[p+28>>2]=L,B=(de=B)+(H=(a[(ke=(B=4|c)+h|0)>>2]+((H+(Z^re&(Q^Z))|0)+(lr(re,26)^lr(re,21)^lr(re,7))|0)|0)+a[B+35264>>2]|0)|0,a[p+8>>2]=B,H=(H+(L&(v|j)|v&j)|0)+(lr(L,30)^lr(L,19)^lr(L,10))|0,a[p+24>>2]=H,Z=(de=v)+(v=(((Z+a[(Ve=(v=8|c)+h|0)>>2]|0)+a[v+35264>>2]|0)+(Q^B&(Q^re))|0)+(lr(B,26)^lr(B,21)^lr(B,7))|0)|0,a[p+4>>2]=Z,v=v+((H&(L|j)|L&j)+(lr(H,30)^lr(H,19)^lr(H,10))|0)|0,a[p+20>>2]=v,Q=(de=j)+(j=(((Q+a[(ut=(j=12|c)+h|0)>>2]|0)+a[j+35264>>2]|0)+(re^Z&(B^re))|0)+(lr(Z,26)^lr(Z,21)^lr(Z,7))|0)|0,a[p>>2]=Q,j=j+((v&(L|H)|L&H)+(lr(v,30)^lr(v,19)^lr(v,10))|0)|0,a[p+16>>2]=j,re=(ee=((((de=re)+a[(pt=(re=16|c)+h|0)>>2]|0)+a[re+35264>>2]|0)+(B^Q&(B^Z))|0)+(lr(Q,26)^lr(Q,21)^lr(Q,7))|0)+((j&(v|H)|v&H)+(lr(j,30)^lr(j,19)^lr(j,10))|0)|0,a[p+12>>2]=re,ee=L+ee|0,a[p+28>>2]=ee,L=(B=(((B+a[(bt=(L=20|c)+h|0)>>2]|0)+a[L+35264>>2]|0)+(Z^ee&(Q^Z))|0)+(lr(ee,26)^lr(ee,21)^lr(ee,7))|0)+((re&(v|j)|v&j)+(lr(re,30)^lr(re,19)^lr(re,10))|0)|0,a[p+8>>2]=L,B=B+H|0,a[p+24>>2]=B,H=(Z=(((Z+a[(Ye=(H=24|c)+h|0)>>2]|0)+a[H+35264>>2]|0)+(Q^B&(Q^ee))|0)+(lr(B,26)^lr(B,21)^lr(B,7))|0)+((L&(j|re)|j&re)+(lr(L,30)^lr(L,19)^lr(L,10))|0)|0,a[p+4>>2]=H,Z=v+Z|0,a[p+20>>2]=Z,v=(Q=(((Q+a[(it=(v=28|c)+h|0)>>2]|0)+a[v+35264>>2]|0)+(ee^Z&(B^ee))|0)+(lr(Z,26)^lr(Z,21)^lr(Z,7))|0)+((H&(L|re)|L&re)+(lr(H,30)^lr(H,19)^lr(H,10))|0)|0,a[p>>2]=v,Q=Q+j|0,a[p+16>>2]=Q,j=(ee=(((ee+a[(dt=(j=32|c)+h|0)>>2]|0)+a[j+35264>>2]|0)+(B^Q&(B^Z))|0)+(lr(Q,26)^lr(Q,21)^lr(Q,7))|0)+((v&(L|H)|L&H)+(lr(v,30)^lr(v,19)^lr(v,10))|0)|0,a[p+28>>2]=j,ee=re+ee|0,a[p+12>>2]=ee,re=(B=(((B+a[(Wt=(re=36|c)+h|0)>>2]|0)+a[re+35264>>2]|0)+(Z^ee&(Q^Z))|0)+(lr(ee,26)^lr(ee,21)^lr(ee,7))|0)+((j&(v|H)|v&H)+(lr(j,30)^lr(j,19)^lr(j,10))|0)|0,a[p+24>>2]=re,B=B+L|0,a[p+8>>2]=B,L=(Z=(((Z+a[(nr=(L=40|c)+h|0)>>2]|0)+a[L+35264>>2]|0)+(Q^B&(Q^ee))|0)+(lr(B,26)^lr(B,21)^lr(B,7))|0)+((re&(v|j)|v&j)+(lr(re,30)^lr(re,19)^lr(re,10))|0)|0,a[p+20>>2]=L,Z=H+Z|0,a[p+4>>2]=Z,de=(H=44|c)+h|0,H=(Q=((Q+(a[H+35264>>2]+a[de>>2]|0)|0)+(ee^Z&(B^ee))|0)+(lr(Z,26)^lr(Z,21)^lr(Z,7))|0)+((L&(j|re)|j&re)+(lr(L,30)^lr(L,19)^lr(L,10))|0)|0,a[p+16>>2]=H,v=v+Q|0,a[p>>2]=v,Me=(Q=48|c)+h|0,Q=(ee=((ee+(a[Q+35264>>2]+a[Me>>2]|0)|0)+(B^v&(B^Z))|0)+(lr(v,26)^lr(v,21)^lr(v,7))|0)+((H&(L|re)|L&re)+(lr(H,30)^lr(H,19)^lr(H,10))|0)|0,a[p+12>>2]=Q,j=j+ee|0,a[p+28>>2]=j,ye=(ee=52|c)+h|0,B=(ee=(((a[ee+35264>>2]+a[ye>>2]|0)+B|0)+(Z^j&(v^Z))|0)+(lr(j,26)^lr(j,21)^lr(j,7))|0)+((Q&(L|H)|L&H)+(lr(Q,30)^lr(Q,19)^lr(Q,10))|0)|0,a[p+8>>2]=B,re=re+ee|0,a[p+24>>2]=re,ee=(we=56|c)+h|0,Z=(we=(((a[we+35264>>2]+a[ee>>2]|0)+Z|0)+(v^re&(v^j))|0)+(lr(re,26)^lr(re,21)^lr(re,7))|0)+((B&(H|Q)|H&Q)+(lr(B,30)^lr(B,19)^lr(B,10))|0)|0,a[p+4>>2]=Z,L=L+we|0,a[p+20>>2]=L,we=(c|=60)+h|0,L=(c=((v+(a[c+35264>>2]+a[we>>2]|0)|0)+(j^L&(j^re))|0)+(lr(L,26)^lr(L,21)^lr(L,7))|0)+((Z&(B|Q)|B&Q)+(lr(Z,30)^lr(Z,19)^lr(Z,10))|0)|0,a[p>>2]=L,a[p+16>>2]=c+H,(0|We)!=48;)v=a[Wt>>2],We=We+16|0,c=a[ee>>2],L=(B=a[b>>2]+(v+(lr(c,15)^lr(c,13)^c>>>10)|0)|0)+(lr(H=a[ke>>2],25)^lr(H,14)^H>>>3)|0,a[(We<<2)+h>>2]=L,re=(Q=(B=(j=a[nr>>2])+H|0)+(lr(H=a[we>>2],15)^lr(H,13)^H>>>10)|0)+(lr(B=a[Ve>>2],25)^lr(B,14)^B>>>3)|0,a[b+68>>2]=re,Z=(de=((Q=B)+(B=a[de>>2])|0)+(lr(L,15)^lr(L,13)^L>>>10)|0)+(lr(Q=a[ut>>2],25)^lr(Q,14)^Q>>>3)|0,a[b+72>>2]=Z,ee=(we=((de=Q)+(Q=a[Me>>2])|0)+(lr(re,15)^lr(re,13)^re>>>10)|0)+(lr(de=a[pt>>2],25)^lr(de,14)^de>>>3)|0,a[b+76>>2]=ee,Me=(we=((we=de)+(de=a[ye>>2])|0)+(lr(Z,15)^lr(Z,13)^Z>>>10)|0)+(lr(ye=a[bt>>2],25)^lr(ye,14)^ye>>>3)|0,a[b+80>>2]=Me,ye=(ke=(c+ye|0)+(lr(ee,15)^lr(ee,13)^ee>>>10)|0)+(lr(we=a[Ye>>2],25)^lr(we,14)^we>>>3)|0,a[b+84>>2]=ye,we=((H+we|0)+(lr(Ve=a[it>>2],25)^lr(Ve,14)^Ve>>>3)|0)+(lr(Me,15)^lr(Me,13)^Me>>>10)|0,a[b+88>>2]=we,re=((ke=a[dt>>2])+(re+(lr(v,25)^lr(v,14)^v>>>3)|0)|0)+(lr(we,15)^lr(we,13)^we>>>10)|0,a[b+96>>2]=re,ke=((L+Ve|0)+(lr(ke,25)^lr(ke,14)^ke>>>3)|0)+(lr(ye,15)^lr(ye,13)^ye>>>10)|0,a[b+92>>2]=ke,ee=(ee+(j+(lr(B,25)^lr(B,14)^B>>>3)|0)|0)+(lr(re,15)^lr(re,13)^re>>>10)|0,a[b+104>>2]=ee,v=(Z+(v+(lr(j,25)^lr(j,14)^j>>>3)|0)|0)+(lr(ke,15)^lr(ke,13)^ke>>>10)|0,a[b+100>>2]=v,j=(ye+(Q+(lr(de,25)^lr(de,14)^de>>>3)|0)|0)+(lr(ee,15)^lr(ee,13)^ee>>>10)|0,a[b+112>>2]=j,v=(Me+(B+(lr(Q,25)^lr(Q,14)^Q>>>3)|0)|0)+(lr(v,15)^lr(v,13)^v>>>10)|0,a[b+108>>2]=v,cr=b,gr=(ke+(c+(lr(H,25)^lr(H,14)^H>>>3)|0)|0)+(lr(j,15)^lr(j,13)^j>>>10)|0,a[cr+120>>2]=gr,c=(we+(de+(lr(c,25)^lr(c,14)^c>>>3)|0)|0)+(lr(v,15)^lr(v,13)^v>>>10)|0,a[b+116>>2]=c,cr=b,gr=(re+(H+(lr(L,25)^lr(L,14)^L>>>3)|0)|0)+(lr(c,15)^lr(c,13)^c>>>10)|0,a[cr+124>>2]=gr;a[f>>2]=L+a[f>>2],a[f+4>>2]=a[f+4>>2]+a[p+4>>2],a[f+8>>2]=a[f+8>>2]+a[p+8>>2],a[f+12>>2]=a[f+12>>2]+a[p+12>>2],a[f+16>>2]=a[f+16>>2]+a[p+16>>2],a[f+20>>2]=a[f+20>>2]+a[p+20>>2],a[f+24>>2]=a[f+24>>2]+a[p+24>>2],a[f+28>>2]=a[f+28>>2]+a[p+28>>2]}function Iu(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0;Ie=p=Ie-288|0,H=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,j=S[h+48|0]|S[h+49|0]<<8|S[h+50|0]<<16|S[h+51|0]<<24,re=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,Z=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,ee=S[h+52|0]|S[h+53|0]<<8|S[h+54|0]<<16|S[h+55|0]<<24,de=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,we=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,ke=S[h+56|0]|S[h+57|0]<<8|S[h+58|0]<<16|S[h+59|0]<<24,gr=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,ye=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,Me=S[h+60|0]|S[h+61|0]<<8|S[h+62|0]<<16|S[h+63|0]<<24,Wt=S[h+32|0]|S[h+33|0]<<8|S[h+34|0]<<16|S[h+35|0]<<24,vr=S[h+80|0]|S[h+81|0]<<8|S[h+82|0]<<16|S[h+83|0]<<24,Ve=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,We=S[h+112|0]|S[h+113|0]<<8|S[h+114|0]<<16|S[h+115|0]<<24,dt=S[h+96|0]|S[h+97|0]<<8|S[h+98|0]<<16|S[h+99|0]<<24,nr=S[h+36|0]|S[h+37|0]<<8|S[h+38|0]<<16|S[h+39|0]<<24,Sr=S[h+84|0]|S[h+85|0]<<8|S[h+86|0]<<16|S[h+87|0]<<24,ut=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,pt=S[h+116|0]|S[h+117|0]<<8|S[h+118|0]<<16|S[h+119|0]<<24,B=S[h+100|0]|S[h+101|0]<<8|S[h+102|0]<<16|S[h+103|0]<<24,cr=S[h+40|0]|S[h+41|0]<<8|S[h+42|0]<<16|S[h+43|0]<<24,yr=S[h+88|0]|S[h+89|0]<<8|S[h+90|0]<<16|S[h+91|0]<<24,bt=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,Ye=S[h+120|0]|S[h+121|0]<<8|S[h+122|0]<<16|S[h+123|0]<<24,Q=S[h+104|0]|S[h+105|0]<<8|S[h+106|0]<<16|S[h+107|0]<<24,it=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,b=(v=S[h+44|0]|S[h+45|0]<<8|S[h+46|0]<<16|S[h+47|0]<<24)^(L=S[h+108|0]|S[h+109|0]<<8|S[h+110|0]<<16|S[h+111|0]<<24)&(S[h+124|0]|S[h+125|0]<<8|S[h+126|0]<<16|S[h+127|0]<<24)^(S[h+92|0]|S[h+93|0]<<8|S[h+94|0]<<16|S[h+95|0]<<24)^(S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24),k[f+28|0]=b,k[f+29|0]=b>>>8,k[f+30|0]=b>>>16,k[f+31|0]=b>>>24,yr=cr^Q&Ye^yr^bt,k[f+24|0]=yr,k[f+25|0]=yr>>>8,k[f+26|0]=yr>>>16,k[f+27|0]=yr>>>24,Sr=nr^B&pt^Sr^ut,k[f+20|0]=Sr,k[f+21|0]=Sr>>>8,k[f+22|0]=Sr>>>16,k[f+23|0]=Sr>>>24,vr=Wt^dt&We^vr^Ve,k[f+16|0]=vr,k[f+17|0]=vr>>>8,k[f+18|0]=vr>>>16,k[f+19|0]=vr>>>24,gr=Me&v^gr^ye^L,k[f+12|0]=gr,k[f+13|0]=gr>>>8,k[f+14|0]=gr>>>16,k[f+15|0]=gr>>>24,cr=cr&ke^de^we^Q,k[f+8|0]=cr,k[f+9|0]=cr>>>8,k[f+10|0]=cr>>>16,k[f+11|0]=cr>>>24,nr=nr&ee^re^Z^B,k[f+4|0]=nr,k[f+5|0]=nr>>>8,k[f+6|0]=nr>>>16,k[f+7|0]=nr>>>24,Wt=dt^Wt&j^H^it,k[0|f]=Wt,k[f+1|0]=Wt>>>8,k[f+2|0]=Wt>>>16,k[f+3|0]=Wt>>>24,f=a[h+124>>2],a[p+280>>2]=a[h+120>>2],a[p+284>>2]=f,f=a[h+116>>2],a[p+272>>2]=a[h+112>>2],a[p+276>>2]=f,f=a[h+108>>2],a[p+248>>2]=a[h+104>>2],a[p+252>>2]=f,f=a[h+100>>2],a[p+240>>2]=a[h+96>>2],a[p+244>>2]=f,f=a[h+124>>2],a[p+232>>2]=a[h+120>>2],a[p+236>>2]=f,f=a[h+116>>2],a[p+224>>2]=a[h+112>>2],a[p+228>>2]=f,un(c=p+256|0,p+240|0,p+224|0),f=a[p+268>>2],a[h+120>>2]=a[p+264>>2],a[h+124>>2]=f,f=a[p+260>>2],a[h+112>>2]=a[p+256>>2],a[h+116>>2]=f,f=a[h+92>>2],a[p+216>>2]=a[h+88>>2],a[p+220>>2]=f,f=a[h+84>>2],a[p+208>>2]=a[h+80>>2],a[p+212>>2]=f,f=a[h+108>>2],a[p+200>>2]=a[h+104>>2],a[p+204>>2]=f,f=a[h+100>>2],a[p+192>>2]=a[h+96>>2],a[p+196>>2]=f,un(c,p+208|0,p+192|0),f=a[p+268>>2],a[h+104>>2]=a[p+264>>2],a[h+108>>2]=f,f=a[p+260>>2],a[h+96>>2]=a[p+256>>2],a[h+100>>2]=f,f=a[h+76>>2],a[p+184>>2]=a[h+72>>2],a[p+188>>2]=f,dt=a[4+(f=h- -64|0)>>2],a[p+176>>2]=a[f>>2],a[p+180>>2]=dt,dt=a[h+92>>2],a[p+168>>2]=a[h+88>>2],a[p+172>>2]=dt,dt=a[h+84>>2],a[p+160>>2]=a[h+80>>2],a[p+164>>2]=dt,un(c,p+176|0,p+160|0),dt=a[p+268>>2],a[h+88>>2]=a[p+264>>2],a[h+92>>2]=dt,dt=a[p+260>>2],a[h+80>>2]=a[p+256>>2],a[h+84>>2]=dt,dt=a[h+60>>2],a[p+152>>2]=a[h+56>>2],a[p+156>>2]=dt,dt=a[h+52>>2],a[p+144>>2]=a[h+48>>2],a[p+148>>2]=dt,dt=a[h+76>>2],a[p+136>>2]=a[h+72>>2],a[p+140>>2]=dt,dt=a[f+4>>2],a[p+128>>2]=a[f>>2],a[p+132>>2]=dt,un(c,p+144|0,p+128|0),dt=a[p+268>>2],a[h+72>>2]=a[p+264>>2],a[h+76>>2]=dt,dt=a[p+260>>2],a[f>>2]=a[p+256>>2],a[f+4>>2]=dt,dt=a[h+44>>2],a[p+120>>2]=a[h+40>>2],a[p+124>>2]=dt,dt=a[h+36>>2],a[p+112>>2]=a[h+32>>2],a[p+116>>2]=dt,dt=a[h+60>>2],a[p+104>>2]=a[h+56>>2],a[p+108>>2]=dt,dt=a[h+52>>2],a[p+96>>2]=a[h+48>>2],a[p+100>>2]=dt,un(c,p+112|0,p+96|0),dt=a[p+268>>2],a[h+56>>2]=a[p+264>>2],a[h+60>>2]=dt,dt=a[p+260>>2],a[h+48>>2]=a[p+256>>2],a[h+52>>2]=dt,dt=a[h+28>>2],a[p+88>>2]=a[h+24>>2],a[p+92>>2]=dt,dt=a[h+20>>2],a[p+80>>2]=a[h+16>>2],a[p+84>>2]=dt,dt=a[h+44>>2],a[p+72>>2]=a[h+40>>2],a[p+76>>2]=dt,dt=a[h+36>>2],a[p+64>>2]=a[h+32>>2],a[p+68>>2]=dt,un(c,p+80|0,p- -64|0),dt=a[p+268>>2],a[h+40>>2]=a[p+264>>2],a[h+44>>2]=dt,dt=a[p+260>>2],a[h+32>>2]=a[p+256>>2],a[h+36>>2]=dt,dt=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=dt,dt=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=dt,dt=a[h+28>>2],a[p+40>>2]=a[h+24>>2],a[p+44>>2]=dt,dt=a[h+20>>2],a[p+32>>2]=a[h+16>>2],a[p+36>>2]=dt,un(c,p+48|0,p+32|0),dt=a[p+268>>2],a[h+24>>2]=a[p+264>>2],a[h+28>>2]=dt,dt=a[p+260>>2],a[h+16>>2]=a[p+256>>2],a[h+20>>2]=dt,dt=a[p+284>>2],a[p+24>>2]=a[p+280>>2],a[p+28>>2]=dt,dt=a[p+276>>2],a[p+16>>2]=a[p+272>>2],a[p+20>>2]=dt,dt=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=dt,dt=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=dt,un(c,p+16|0,p),c=a[p+268>>2],a[h+8>>2]=a[p+264>>2],a[h+12>>2]=c,c=a[p+260>>2],a[h>>2]=a[p+256>>2],a[h+4>>2]=c,a[h+12>>2]=gr^(S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24),a[h+8>>2]=cr^(S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24),a[h+4>>2]=nr^(S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24),a[h>>2]=Wt^(S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24),a[f>>2]=vr^(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24),a[h+68>>2]=Sr^(S[h+68|0]|S[h+69|0]<<8|S[h+70|0]<<16|S[h+71|0]<<24),a[h+72>>2]=yr^(S[h+72|0]|S[h+73|0]<<8|S[h+74|0]<<16|S[h+75|0]<<24),a[h+76>>2]=b^(S[h+76|0]|S[h+77|0]<<8|S[h+78|0]<<16|S[h+79|0]<<24),Ie=p+288|0}function Cu(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr=0;Ie=p=Ie-288|0,Ve=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,We=S[h+48|0]|S[h+49|0]<<8|S[h+50|0]<<16|S[h+51|0]<<24,b=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,ut=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,pt=S[h+52|0]|S[h+53|0]<<8|S[h+54|0]<<16|S[h+55|0]<<24,B=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,bt=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,Ye=S[h+56|0]|S[h+57|0]<<8|S[h+58|0]<<16|S[h+59|0]<<24,Q=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,it=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,dt=S[h+60|0]|S[h+61|0]<<8|S[h+62|0]<<16|S[h+63|0]<<24,yr=S[h+32|0]|S[h+33|0]<<8|S[h+34|0]<<16|S[h+35|0]<<24,v=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,Wt=S[h+80|0]|S[h+81|0]<<8|S[h+82|0]<<16|S[h+83|0]<<24,nr=S[h+112|0]|S[h+113|0]<<8|S[h+114|0]<<16|S[h+115|0]<<24,L=S[h+96|0]|S[h+97|0]<<8|S[h+98|0]<<16|S[h+99|0]<<24,H=S[h+36|0]|S[h+37|0]<<8|S[h+38|0]<<16|S[h+39|0]<<24,j=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,cr=S[h+84|0]|S[h+85|0]<<8|S[h+86|0]<<16|S[h+87|0]<<24,gr=S[h+116|0]|S[h+117|0]<<8|S[h+118|0]<<16|S[h+119|0]<<24,re=S[h+100|0]|S[h+101|0]<<8|S[h+102|0]<<16|S[h+103|0]<<24,Z=S[h+40|0]|S[h+41|0]<<8|S[h+42|0]<<16|S[h+43|0]<<24,ee=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,vr=S[h+88|0]|S[h+89|0]<<8|S[h+90|0]<<16|S[h+91|0]<<24,Sr=S[h+120|0]|S[h+121|0]<<8|S[h+122|0]<<16|S[h+123|0]<<24,de=S[h+104|0]|S[h+105|0]<<8|S[h+106|0]<<16|S[h+107|0]<<24,we=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=(ke=S[h+44|0]|S[h+45|0]<<8|S[h+46|0]<<16|S[h+47|0]<<24)^(ye=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24)^(Me=S[h+108|0]|S[h+109|0]<<8|S[h+110|0]<<16|S[h+111|0]<<24)&(S[h+124|0]|S[h+125|0]<<8|S[h+126|0]<<16|S[h+127|0]<<24)^(S[h+92|0]|S[h+93|0]<<8|S[h+94|0]<<16|S[h+95|0]<<24),k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=de&Sr^vr^ee^Z,k[f+24|0]=c,k[f+25|0]=c>>>8,k[f+26|0]=c>>>16,k[f+27|0]=c>>>24,c=re&gr^cr^j^H,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=yr^L&nr^Wt^v,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24,c=dt&ke^it^Q^Me,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=Z&Ye^bt^B^de,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=H&pt^ut^b^re,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=yr&We^Ve^we^L,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,f=a[h+124>>2],a[p+280>>2]=a[h+120>>2],a[p+284>>2]=f,f=a[h+116>>2],a[p+272>>2]=a[h+112>>2],a[p+276>>2]=f,f=a[h+108>>2],a[p+248>>2]=a[h+104>>2],a[p+252>>2]=f,f=a[h+100>>2],a[p+240>>2]=a[h+96>>2],a[p+244>>2]=f,f=a[h+124>>2],a[p+232>>2]=a[h+120>>2],a[p+236>>2]=f,f=a[h+116>>2],a[p+224>>2]=a[h+112>>2],a[p+228>>2]=f,un(c=p+256|0,p+240|0,p+224|0),f=a[p+268>>2],a[h+120>>2]=a[p+264>>2],a[h+124>>2]=f,f=a[p+260>>2],a[h+112>>2]=a[p+256>>2],a[h+116>>2]=f,f=a[h+92>>2],a[p+216>>2]=a[h+88>>2],a[p+220>>2]=f,f=a[h+84>>2],a[p+208>>2]=a[h+80>>2],a[p+212>>2]=f,f=a[h+108>>2],a[p+200>>2]=a[h+104>>2],a[p+204>>2]=f,f=a[h+100>>2],a[p+192>>2]=a[h+96>>2],a[p+196>>2]=f,un(c,p+208|0,p+192|0),f=a[p+268>>2],a[h+104>>2]=a[p+264>>2],a[h+108>>2]=f,f=a[p+260>>2],a[h+96>>2]=a[p+256>>2],a[h+100>>2]=f,f=a[h+76>>2],a[p+184>>2]=a[h+72>>2],a[p+188>>2]=f,yr=a[4+(f=h- -64|0)>>2],a[p+176>>2]=a[f>>2],a[p+180>>2]=yr,yr=a[h+92>>2],a[p+168>>2]=a[h+88>>2],a[p+172>>2]=yr,yr=a[h+84>>2],a[p+160>>2]=a[h+80>>2],a[p+164>>2]=yr,un(c,p+176|0,p+160|0),yr=a[p+268>>2],a[h+88>>2]=a[p+264>>2],a[h+92>>2]=yr,yr=a[p+260>>2],a[h+80>>2]=a[p+256>>2],a[h+84>>2]=yr,yr=a[h+60>>2],a[p+152>>2]=a[h+56>>2],a[p+156>>2]=yr,yr=a[h+52>>2],a[p+144>>2]=a[h+48>>2],a[p+148>>2]=yr,yr=a[h+76>>2],a[p+136>>2]=a[h+72>>2],a[p+140>>2]=yr,yr=a[f+4>>2],a[p+128>>2]=a[f>>2],a[p+132>>2]=yr,un(c,p+144|0,p+128|0),yr=a[p+268>>2],a[h+72>>2]=a[p+264>>2],a[h+76>>2]=yr,yr=a[p+260>>2],a[f>>2]=a[p+256>>2],a[f+4>>2]=yr,yr=a[h+44>>2],a[p+120>>2]=a[h+40>>2],a[p+124>>2]=yr,yr=a[h+36>>2],a[p+112>>2]=a[h+32>>2],a[p+116>>2]=yr,yr=a[h+60>>2],a[p+104>>2]=a[h+56>>2],a[p+108>>2]=yr,yr=a[h+52>>2],a[p+96>>2]=a[h+48>>2],a[p+100>>2]=yr,un(c,p+112|0,p+96|0),yr=a[p+268>>2],a[h+56>>2]=a[p+264>>2],a[h+60>>2]=yr,yr=a[p+260>>2],a[h+48>>2]=a[p+256>>2],a[h+52>>2]=yr,yr=a[h+28>>2],a[p+88>>2]=a[h+24>>2],a[p+92>>2]=yr,yr=a[h+20>>2],a[p+80>>2]=a[h+16>>2],a[p+84>>2]=yr,yr=a[h+44>>2],a[p+72>>2]=a[h+40>>2],a[p+76>>2]=yr,yr=a[h+36>>2],a[p+64>>2]=a[h+32>>2],a[p+68>>2]=yr,un(c,p+80|0,p- -64|0),yr=a[p+268>>2],a[h+40>>2]=a[p+264>>2],a[h+44>>2]=yr,yr=a[p+260>>2],a[h+32>>2]=a[p+256>>2],a[h+36>>2]=yr,yr=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=yr,yr=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=yr,yr=a[h+28>>2],a[p+40>>2]=a[h+24>>2],a[p+44>>2]=yr,yr=a[h+20>>2],a[p+32>>2]=a[h+16>>2],a[p+36>>2]=yr,un(c,p+48|0,p+32|0),yr=a[p+268>>2],a[h+24>>2]=a[p+264>>2],a[h+28>>2]=yr,yr=a[p+260>>2],a[h+16>>2]=a[p+256>>2],a[h+20>>2]=yr,yr=a[p+284>>2],a[p+24>>2]=a[p+280>>2],a[p+28>>2]=yr,yr=a[p+276>>2],a[p+16>>2]=a[p+272>>2],a[p+20>>2]=yr,yr=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=yr,yr=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=yr,un(c,p+16|0,p),c=a[p+268>>2],a[h+8>>2]=a[p+264>>2],a[h+12>>2]=c,c=a[p+260>>2],a[h>>2]=a[p+256>>2],a[h+4>>2]=c,a[h+12>>2]=(S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24)^Q,a[h+8>>2]=(S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24)^B,a[h+4>>2]=(S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24)^b,a[h>>2]=(S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24)^we,a[f>>2]=(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24)^v,a[h+68>>2]=(S[h+68|0]|S[h+69|0]<<8|S[h+70|0]<<16|S[h+71|0]<<24)^j,a[h+72>>2]=(S[h+72|0]|S[h+73|0]<<8|S[h+74|0]<<16|S[h+75|0]<<24)^ee,a[h+76>>2]=ye^(S[h+76|0]|S[h+77|0]<<8|S[h+78|0]<<16|S[h+79|0]<<24),Ie=p+288|0}function wu(f,c,h,p,b){var B,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0;for(Ie=B=Ie-224|0,we=(S[b+60|0]|S[b+61|0]<<8|S[b+62|0]<<16|S[b+63|0]<<24)^p>>>29,ke=(S[b+56|0]|S[b+57|0]<<8|S[b+58|0]<<16|S[b+59|0]<<24)^p<<3,re=(S[b+52|0]|S[b+53|0]<<8|S[b+54|0]<<16|S[b+55|0]<<24)^h>>>29,ee=(S[0|(Q=b+48|0)]|S[Q+1|0]<<8|S[Q+2|0]<<16|S[Q+3|0]<<24)^h<<3,v=b+16|0,L=b+32|0,H=b- -64|0,j=b+80|0;h=a[j+12>>2],a[B+216>>2]=a[j+8>>2],a[B+220>>2]=h,h=a[j+4>>2],a[B+208>>2]=a[j>>2],a[B+212>>2]=h,h=a[H+12>>2],a[B+184>>2]=a[H+8>>2],a[B+188>>2]=h,h=a[H+4>>2],a[B+176>>2]=a[H>>2],a[B+180>>2]=h,h=a[j+12>>2],a[B+168>>2]=a[j+8>>2],a[B+172>>2]=h,h=a[j+4>>2],a[B+160>>2]=a[j>>2],a[B+164>>2]=h,un(p=B+192|0,B+176|0,B+160|0),h=a[B+204>>2],a[j+8>>2]=a[B+200>>2],a[j+12>>2]=h,h=a[B+196>>2],a[j>>2]=a[B+192>>2],a[j+4>>2]=h,h=a[Q+12>>2],a[B+152>>2]=a[Q+8>>2],a[B+156>>2]=h,h=a[Q+4>>2],a[B+144>>2]=a[Q>>2],a[B+148>>2]=h,h=a[H+12>>2],a[B+136>>2]=a[H+8>>2],a[B+140>>2]=h,h=a[H+4>>2],a[B+128>>2]=a[H>>2],a[B+132>>2]=h,un(p,B+144|0,B+128|0),h=a[B+204>>2],a[H+8>>2]=a[B+200>>2],a[H+12>>2]=h,h=a[B+196>>2],a[H>>2]=a[B+192>>2],a[H+4>>2]=h,h=a[L+12>>2],a[B+120>>2]=a[L+8>>2],a[B+124>>2]=h,h=a[L+4>>2],a[B+112>>2]=a[L>>2],a[B+116>>2]=h,h=a[Q+12>>2],a[B+104>>2]=a[Q+8>>2],a[B+108>>2]=h,h=a[Q+4>>2],a[B+96>>2]=a[Q>>2],a[B+100>>2]=h,un(p,B+112|0,B+96|0),h=a[B+204>>2],a[Q+8>>2]=a[B+200>>2],a[Q+12>>2]=h,h=a[B+196>>2],a[Q>>2]=a[B+192>>2],a[Q+4>>2]=h,h=a[v+12>>2],a[B+88>>2]=a[v+8>>2],a[B+92>>2]=h,h=a[v+4>>2],a[B+80>>2]=a[v>>2],a[B+84>>2]=h,h=a[L+12>>2],a[B+72>>2]=a[L+8>>2],a[B+76>>2]=h,h=a[L+4>>2],a[B+64>>2]=a[L>>2],a[B+68>>2]=h,un(p,B+80|0,B- -64|0),h=a[B+204>>2],a[L+8>>2]=a[B+200>>2],a[L+12>>2]=h,h=a[B+196>>2],a[L>>2]=a[B+192>>2],a[L+4>>2]=h,h=a[b+12>>2],a[B+56>>2]=a[b+8>>2],a[B+60>>2]=h,h=a[b+4>>2],a[B+48>>2]=a[b>>2],a[B+52>>2]=h,h=a[v+12>>2],a[B+40>>2]=a[v+8>>2],a[B+44>>2]=h,h=a[v+4>>2],a[B+32>>2]=a[v>>2],a[B+36>>2]=h,un(p,B+48|0,B+32|0),h=a[B+204>>2],a[v+8>>2]=a[B+200>>2],a[v+12>>2]=h,h=a[B+196>>2],a[v>>2]=a[B+192>>2],a[v+4>>2]=h,h=a[B+220>>2],a[B+24>>2]=a[B+216>>2],a[B+28>>2]=h,h=a[B+212>>2],a[B+16>>2]=a[B+208>>2],a[B+20>>2]=h,h=a[b+12>>2],a[B+8>>2]=a[b+8>>2],a[B+12>>2]=h,h=a[b+4>>2],a[B>>2]=a[b>>2],a[B+4>>2]=h,un(p,B+16|0,B),de=a[B+192>>2],p=a[B+196>>2],h=a[B+200>>2],ye=we^a[B+204>>2],a[b+12>>2]=ye,Me=h^ke,a[b+8>>2]=Me,Ve=p^re,a[b+4>>2]=Ve,We=ee^de,a[b>>2]=We,(0|(Z=Z+1|0))!=7;);e:{t:{r:{if(h=c-16|0){if((0|h)==16)break r;break t}ut=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,Q=S[b+48|0]|S[b+49|0]<<8|S[b+50|0]<<16|S[b+51|0]<<24,v=S[b+32|0]|S[b+33|0]<<8|S[b+34|0]<<16|S[b+35|0]<<24,L=S[b+80|0]|S[b+81|0]<<8|S[b+82|0]<<16|S[b+83|0]<<24,H=S[0|(c=b- -64|0)]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,j=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,we=S[b+52|0]|S[b+53|0]<<8|S[b+54|0]<<16|S[b+55|0]<<24,ke=S[b+36|0]|S[b+37|0]<<8|S[b+38|0]<<16|S[b+39|0]<<24,re=S[b+84|0]|S[b+85|0]<<8|S[b+86|0]<<16|S[b+87|0]<<24,ee=S[b+68|0]|S[b+69|0]<<8|S[b+70|0]<<16|S[b+71|0]<<24,de=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,Z=S[b+56|0]|S[b+57|0]<<8|S[b+58|0]<<16|S[b+59|0]<<24,p=S[b+40|0]|S[b+41|0]<<8|S[b+42|0]<<16|S[b+43|0]<<24,h=S[b+88|0]|S[b+89|0]<<8|S[b+90|0]<<16|S[b+91|0]<<24,c=S[b+72|0]|S[b+73|0]<<8|S[b+74|0]<<16|S[b+75|0]<<24,b=ye^(S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24)^(S[b+60|0]|S[b+61|0]<<8|S[b+62|0]<<16|S[b+63|0]<<24)^(S[b+44|0]|S[b+45|0]<<8|S[b+46|0]<<16|S[b+47|0]<<24)^(S[b+92|0]|S[b+93|0]<<8|S[b+94|0]<<16|S[b+95|0]<<24)^(S[b+76|0]|S[b+77|0]<<8|S[b+78|0]<<16|S[b+79|0]<<24),k[f+12|0]=b,k[f+13|0]=b>>>8,k[f+14|0]=b>>>16,k[f+15|0]=b>>>24,c=Me^de^c^h^p^Z,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=Ve^j^we^ke^re^ee,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=We^ut^Q^v^L^H,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24;break e}ee=S[b+32|0]|S[b+33|0]<<8|S[b+34|0]<<16|S[b+35|0]<<24,de=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,Z=S[b+36|0]|S[b+37|0]<<8|S[b+38|0]<<16|S[b+39|0]<<24,p=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,h=S[b+40|0]|S[b+41|0]<<8|S[b+42|0]<<16|S[b+43|0]<<24,c=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,re=ye^(S[b+44|0]|S[b+45|0]<<8|S[b+46|0]<<16|S[b+47|0]<<24)^(S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24),k[f+12|0]=re,k[f+13|0]=re>>>8,k[f+14|0]=re>>>16,k[f+15|0]=re>>>24,c=Me^c^h,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=Ve^p^Z,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=We^ee^de,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,we=S[b+48|0]|S[b+49|0]<<8|S[b+50|0]<<16|S[b+51|0]<<24,ke=S[b+80|0]|S[b+81|0]<<8|S[b+82|0]<<16|S[b+83|0]<<24,re=S[0|(c=b- -64|0)]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,ee=S[b+52|0]|S[b+53|0]<<8|S[b+54|0]<<16|S[b+55|0]<<24,de=S[b+84|0]|S[b+85|0]<<8|S[b+86|0]<<16|S[b+87|0]<<24,Z=S[b+68|0]|S[b+69|0]<<8|S[b+70|0]<<16|S[b+71|0]<<24,p=S[b+56|0]|S[b+57|0]<<8|S[b+58|0]<<16|S[b+59|0]<<24,h=S[b+88|0]|S[b+89|0]<<8|S[b+90|0]<<16|S[b+91|0]<<24,c=S[b+72|0]|S[b+73|0]<<8|S[b+74|0]<<16|S[b+75|0]<<24,b=(S[b+60|0]|S[b+61|0]<<8|S[b+62|0]<<16|S[b+63|0]<<24)^(S[b+92|0]|S[b+93|0]<<8|S[b+94|0]<<16|S[b+95|0]<<24)^(S[b+76|0]|S[b+77|0]<<8|S[b+78|0]<<16|S[b+79|0]<<24),k[f+28|0]=b,k[f+29|0]=b>>>8,k[f+30|0]=b>>>16,k[f+31|0]=b>>>24,c=p^c^h,k[f+24|0]=c,k[f+25|0]=c>>>8,k[f+26|0]=c>>>16,k[f+27|0]=c>>>24,c=ee^de^Z,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=we^re^ke,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24;break e}yo(f,0,c)}Ie=B+224|0}function l0(f,c,h){var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0;for(Ie=p=Ie-4032|0,mc(p+160|0,h),v=a[h+36>>2],a[(Q=p+3840|0)>>2]=a[h+32>>2],a[Q+4>>2]=v,L=a[h+28>>2],a[(v=p+3832|0)>>2]=a[h+24>>2],a[v+4>>2]=L,j=a[h+20>>2],a[(L=p+3824|0)>>2]=a[h+16>>2],a[L+4>>2]=j,re=a[h+12>>2],a[(j=p+3816|0)>>2]=a[h+8>>2],a[j+4>>2]=re,re=a[h+4>>2],a[p+3808>>2]=a[h>>2],a[p+3812>>2]=re,de=a[h+52>>2],a[(re=p+3856|0)>>2]=a[h+48>>2],a[re+4>>2]=de,ye=a[h+60>>2],a[(de=p+3864|0)>>2]=a[h+56>>2],a[de+4>>2]=ye,Z=a[4+(we=h- -64|0)>>2],a[(ye=p+3872|0)>>2]=a[we>>2],a[ye+4>>2]=Z,Z=a[h+76>>2],a[(we=p+3880|0)>>2]=a[h+72>>2],a[we+4>>2]=Z,Z=a[h+44>>2],a[p+3848>>2]=a[h+40>>2],a[p+3852>>2]=Z,Me=a[h+92>>2],a[(Z=p+3896|0)>>2]=a[h+88>>2],a[Z+4>>2]=Me,Ve=a[h+100>>2],a[(Me=p+3904|0)>>2]=a[h+96>>2],a[Me+4>>2]=Ve,We=a[h+108>>2],a[(Ve=p+3912|0)>>2]=a[h+104>>2],a[Ve+4>>2]=We,ut=a[h+116>>2],a[(We=p+3920|0)>>2]=a[h+112>>2],a[We+4>>2]=ut,ut=a[h+84>>2],a[p+3888>>2]=a[h+80>>2],a[p+3892>>2]=ut,Rd(b=p+3528|0,ut=p+3808|0),Ar(B=p+2408|0,b,H=p+3648|0),Ar(p+2448|0,ee=p+3568|0,ke=p+3608|0),Ar(p+2488|0,ke,H),Ar(p+2528|0,b,ee),mc(H=p+320|0,B),Gu(b=p+3368|0,h,H),Ar(B=p+2248|0,b,H=p+3488|0),Ar(p+2288|0,ee=p+3408|0,ke=p+3448|0),Ar(p+2328|0,ke,H),Ar(p+2368|0,b,ee),mc(p+480|0,B),B=a[4+(b=p+2440|0)>>2],a[Q>>2]=a[b>>2],a[Q+4>>2]=B,B=a[4+(b=p+2432|0)>>2],a[v>>2]=a[b>>2],a[v+4>>2]=B,B=a[4+(b=p+2424|0)>>2],a[L>>2]=a[b>>2],a[L+4>>2]=B,B=a[4+(b=p+2416|0)>>2],a[j>>2]=a[b>>2],a[j+4>>2]=B,B=a[4+(b=p+2456|0)>>2],a[re>>2]=a[b>>2],a[re+4>>2]=B,B=a[4+(b=p+2464|0)>>2],a[de>>2]=a[b>>2],a[de+4>>2]=B,B=a[4+(b=p+2472|0)>>2],a[ye>>2]=a[b>>2],a[ye+4>>2]=B,B=a[4+(b=p+2480|0)>>2],a[we>>2]=a[b>>2],a[we+4>>2]=B,b=a[p+2412>>2],a[p+3808>>2]=a[p+2408>>2],a[p+3812>>2]=b,b=a[p+2452>>2],a[p+3848>>2]=a[p+2448>>2],a[p+3852>>2]=b,B=a[4+(b=p+2520|0)>>2],a[We>>2]=a[b>>2],a[We+4>>2]=B,B=a[4+(b=p+2512|0)>>2],a[Ve>>2]=a[b>>2],a[Ve+4>>2]=B,B=a[4+(b=p+2504|0)>>2],a[Me>>2]=a[b>>2],a[Me+4>>2]=B,B=a[4+(b=p+2496|0)>>2],a[Z>>2]=a[b>>2],a[Z+4>>2]=B,b=a[p+2492>>2],a[p+3888>>2]=a[p+2488>>2],a[p+3892>>2]=b,Rd(b=p+3208|0,ut),Ar(B=p+2088|0,b,H=p+3328|0),Ar(p+2128|0,ee=p+3248|0,ke=p+3288|0),Ar(p+2168|0,ke,H),Ar(p+2208|0,b,ee),mc(H=p+640|0,B),Gu(b=p+3048|0,h,H),Ar(B=p+1928|0,b,H=p+3168|0),Ar(p+1968|0,ee=p+3088|0,ke=p+3128|0),Ar(p+2008|0,ke,H),Ar(p+2048|0,b,ee),mc(p+800|0,B),B=a[4+(b=p+2280|0)>>2],a[Q>>2]=a[b>>2],a[Q+4>>2]=B,B=a[4+(b=p+2272|0)>>2],a[v>>2]=a[b>>2],a[v+4>>2]=B,B=a[4+(b=p+2264|0)>>2],a[L>>2]=a[b>>2],a[L+4>>2]=B,B=a[4+(b=p+2256|0)>>2],a[j>>2]=a[b>>2],a[j+4>>2]=B,B=a[4+(b=p+2296|0)>>2],a[re>>2]=a[b>>2],a[re+4>>2]=B,B=a[4+(b=p+2304|0)>>2],a[de>>2]=a[b>>2],a[de+4>>2]=B,B=a[4+(b=p+2312|0)>>2],a[ye>>2]=a[b>>2],a[ye+4>>2]=B,B=a[4+(b=p+2320|0)>>2],a[we>>2]=a[b>>2],a[we+4>>2]=B,b=a[p+2252>>2],a[p+3808>>2]=a[p+2248>>2],a[p+3812>>2]=b,b=a[p+2292>>2],a[p+3848>>2]=a[p+2288>>2],a[p+3852>>2]=b,B=a[4+(b=p+2360|0)>>2],a[We>>2]=a[b>>2],a[We+4>>2]=B,B=a[4+(b=p+2352|0)>>2],a[Ve>>2]=a[b>>2],a[Ve+4>>2]=B,B=a[4+(b=p+2344|0)>>2],a[Me>>2]=a[b>>2],a[Me+4>>2]=B,B=a[4+(b=p+2336|0)>>2],a[Z>>2]=a[b>>2],a[Z+4>>2]=B,b=a[p+2332>>2],a[p+3888>>2]=a[p+2328>>2],a[p+3892>>2]=b,Rd(b=p+2888|0,ut),Ar(B=p+1768|0,b,H=p+3008|0),Ar(p+1808|0,ee=p+2928|0,ke=p+2968|0),Ar(p+1848|0,ke,H),Ar(p+1888|0,b,ee),mc(H=p+960|0,B),Gu(b=p+2728|0,h,H),Ar(h=p+1608|0,b,B=p+2848|0),Ar(p+1648|0,H=p+2768|0,ee=p+2808|0),Ar(p+1688|0,ee,B),Ar(p+1728|0,b,H),mc(p+1120|0,h),b=a[4+(h=p+2120|0)>>2],a[Q>>2]=a[h>>2],a[Q+4>>2]=b,Q=a[4+(h=p+2112|0)>>2],a[v>>2]=a[h>>2],a[v+4>>2]=Q,Q=a[4+(h=p+2104|0)>>2],a[L>>2]=a[h>>2],a[L+4>>2]=Q,Q=a[4+(h=p+2096|0)>>2],a[j>>2]=a[h>>2],a[j+4>>2]=Q,Q=a[4+(h=p+2136|0)>>2],a[re>>2]=a[h>>2],a[re+4>>2]=Q,Q=a[4+(h=p+2144|0)>>2],a[de>>2]=a[h>>2],a[de+4>>2]=Q,Q=a[4+(h=p+2152|0)>>2],a[ye>>2]=a[h>>2],a[ye+4>>2]=Q,Q=a[4+(h=p+2160|0)>>2],a[we>>2]=a[h>>2],a[we+4>>2]=Q,h=a[p+2092>>2],a[p+3808>>2]=a[p+2088>>2],a[p+3812>>2]=h,h=a[p+2132>>2],a[p+3848>>2]=a[p+2128>>2],a[p+3852>>2]=h,Q=a[4+(h=p+2200|0)>>2],a[We>>2]=a[h>>2],a[We+4>>2]=Q,Q=a[4+(h=p+2192|0)>>2],a[Ve>>2]=a[h>>2],a[Ve+4>>2]=Q,Q=a[4+(h=p+2184|0)>>2],a[Me>>2]=a[h>>2],a[Me+4>>2]=Q,Q=a[4+(h=p+2176|0)>>2],a[Z>>2]=a[h>>2],a[Z+4>>2]=Q,h=a[p+2172>>2],a[p+3888>>2]=a[p+2168>>2],a[p+3892>>2]=h,Rd(h=p+2568|0,ut),Ar(Q=p+1448|0,h,v=p+2688|0),Ar(p+1488|0,L=p+2608|0,j=p+2648|0),Ar(p+1528|0,j,v),Ar(p+1568|0,h,L),mc(p+1280|0,Q),Q=0,h=0;L=(v=p+3968|0)+(h<<1)|0,j=S[c+h|0],k[L+1|0]=j>>>4,k[0|L]=15&j,v=v+((L=1|h)<<1)|0,L=S[c+L|0],k[v+1|0]=L>>>4,k[0|v]=15&L,(0|(h=h+2|0))!=32;);for(c=0;h=8+(v=(h=c)+S[0|(c=(p+3968|0)+Q|0)]|0)|0,k[0|c]=v-(240&h),h=8+(v=S[c+1|0]+(h<<24>>24>>4)|0)|0,k[c+1|0]=v-(240&h),h=8+(v=S[c+2|0]+(h<<24>>24>>4)|0)|0,k[c+2|0]=v-(240&h),c=h<<24>>24>>4,(0|(Q=Q+3|0))!=63;);for(k[p+4031|0]=S[p+4031|0]+c,a[f+32>>2]=0,a[f+36>>2]=0,a[f+24>>2]=0,a[f+28>>2]=0,a[f+16>>2]=0,a[f+20>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[f>>2]=0,a[f+4>>2]=0,a[f+44>>2]=0,a[f+48>>2]=0,a[f+40>>2]=1,a[f+52>>2]=0,a[f+56>>2]=0,a[f+60>>2]=0,a[f+64>>2]=0,a[f+68>>2]=0,a[f+72>>2]=0,a[f+76>>2]=0,a[f+80>>2]=1,yo(f+84|0,0,76),ye=f+120|0,we=f+80|0,Z=f+40|0,j=p+3768|0,h=p+3888|0,v=p+3848|0,re=p+3728|0,Q=p+3928|0,de=63;lH(p,Me=p+160|0,k[(p+3968|0)+de|0]),Gu(c=p+3808|0,f,p),Ar(L=p+3688|0,c,Q),Ar(re,v,h),Ar(j,h,Q),Rd(c,L),Ar(L,c,Q),Ar(re,v,h),Ar(j,h,Q),Rd(c,L),Ar(L,c,Q),Ar(re,v,h),Ar(j,h,Q),Rd(c,L),Ar(L,c,Q),Ar(re,v,h),Ar(j,h,Q),Rd(c,L),Ar(f,c,Q),Ar(Z,v,h),Ar(we,h,Q),Ar(ye,c,v),de=de-1|0;);lH(p,Me,k[p+3968|0]),Gu(c,f,p),Ar(f,c,Q),Ar(Z,v,h),Ar(we,h,Q),Ar(ye,c,v),Ie=p+4032|0}function Ed(f,c,h,p){var b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0;Ie=b=Ie-320|0,a[b+280>>2]=0,a[b+284>>2]=0,a[b+272>>2]=0,a[b+276>>2]=0,a[b+264>>2]=0,a[b+268>>2]=0,a[b+256>>2]=0,a[b+260>>2]=0,Di(Wt=b+256|0,c,h),yr=S[p+16|0]|S[p+17|0]<<8|S[p+18|0]<<16|S[p+19|0]<<24,dt=S[p+48|0]|S[p+49|0]<<8|S[p+50|0]<<16|S[p+51|0]<<24,v=S[p+20|0]|S[p+21|0]<<8|S[p+22|0]<<16|S[p+23|0]<<24,L=S[p+52|0]|S[p+53|0]<<8|S[p+54|0]<<16|S[p+55|0]<<24,H=S[p+24|0]|S[p+25|0]<<8|S[p+26|0]<<16|S[p+27|0]<<24,j=S[p+56|0]|S[p+57|0]<<8|S[p+58|0]<<16|S[p+59|0]<<24,re=S[p+28|0]|S[p+29|0]<<8|S[p+30|0]<<16|S[p+31|0]<<24,Z=S[p+60|0]|S[p+61|0]<<8|S[p+62|0]<<16|S[p+63|0]<<24,c=S[p+36|0]|S[p+37|0]<<8|S[p+38|0]<<16|S[p+39|0]<<24,ee=S[p+84|0]|S[p+85|0]<<8|S[p+86|0]<<16|S[p+87|0]<<24,de=S[p+116|0]|S[p+117|0]<<8|S[p+118|0]<<16|S[p+119|0]<<24,nr=S[p+100|0]|S[p+101|0]<<8|S[p+102|0]<<16|S[p+103|0]<<24,cr=S[p+44|0]|S[p+45|0]<<8|S[p+46|0]<<16|S[p+47|0]<<24,we=S[p+92|0]|S[p+93|0]<<8|S[p+94|0]<<16|S[p+95|0]<<24,ke=S[p+124|0]|S[p+125|0]<<8|S[p+126|0]<<16|S[p+127|0]<<24,gr=S[p+108|0]|S[p+109|0]<<8|S[p+110|0]<<16|S[p+111|0]<<24,vr=S[p+32|0]|S[p+33|0]<<8|S[p+34|0]<<16|S[p+35|0]<<24,ye=S[p+80|0]|S[p+81|0]<<8|S[p+82|0]<<16|S[p+83|0]<<24,Me=S[p+112|0]|S[p+113|0]<<8|S[p+114|0]<<16|S[p+115|0]<<24,Sr=S[p+96|0]|S[p+97|0]<<8|S[p+98|0]<<16|S[p+99|0]<<24,Ve=a[b+272>>2],We=a[b+256>>2],ut=a[b+260>>2],pt=a[b+264>>2],bt=a[b+268>>2],Ye=a[b+276>>2],it=a[b+284>>2],B=S[p+40|0]|S[p+41|0]<<8|S[p+42|0]<<16|S[p+43|0]<<24,Q=S[p+104|0]|S[p+105|0]<<8|S[p+106|0]<<16|S[p+107|0]<<24,a[b+280>>2]=B^Q&(S[p+120|0]|S[p+121|0]<<8|S[p+122|0]<<16|S[p+123|0]<<24)^a[b+280>>2]^(S[p+88|0]|S[p+89|0]<<8|S[p+90|0]<<16|S[p+91|0]<<24),a[b+272>>2]=vr^Sr&Me^ye^Ve,a[b+284>>2]=cr^gr&ke^we^it,a[b+276>>2]=c^nr&de^ee^Ye,a[b+268>>2]=gr^cr&Z^re^bt,a[b+264>>2]=j&B^H^pt^Q,a[b+260>>2]=nr^c&L^v^ut,a[b+256>>2]=Sr^dt&vr^yr^We,yo(h+Wt|0,0,32-h|0),Di(f,Wt,h),h=a[b+280>>2],Wt=a[b+272>>2],nr=a[b+284>>2],cr=a[b+276>>2],gr=a[b+256>>2],vr=a[b+260>>2],Sr=a[b+264>>2],yr=a[b+268>>2],f=a[p+124>>2],a[b+312>>2]=a[p+120>>2],a[b+316>>2]=f,f=a[p+116>>2],a[b+304>>2]=a[p+112>>2],a[b+308>>2]=f,f=a[p+108>>2],a[b+248>>2]=a[p+104>>2],a[b+252>>2]=f,f=a[p+100>>2],a[b+240>>2]=a[p+96>>2],a[b+244>>2]=f,f=a[p+124>>2],a[b+232>>2]=a[p+120>>2],a[b+236>>2]=f,f=a[p+116>>2],a[b+224>>2]=a[p+112>>2],a[b+228>>2]=f,un(c=b+288|0,b+240|0,b+224|0),f=a[b+300>>2],a[p+120>>2]=a[b+296>>2],a[p+124>>2]=f,f=a[b+292>>2],a[p+112>>2]=a[b+288>>2],a[p+116>>2]=f,f=a[p+92>>2],a[b+216>>2]=a[p+88>>2],a[b+220>>2]=f,f=a[p+84>>2],a[b+208>>2]=a[p+80>>2],a[b+212>>2]=f,f=a[p+108>>2],a[b+200>>2]=a[p+104>>2],a[b+204>>2]=f,f=a[p+100>>2],a[b+192>>2]=a[p+96>>2],a[b+196>>2]=f,un(c,b+208|0,b+192|0),f=a[b+300>>2],a[p+104>>2]=a[b+296>>2],a[p+108>>2]=f,f=a[b+292>>2],a[p+96>>2]=a[b+288>>2],a[p+100>>2]=f,f=a[p+76>>2],a[b+184>>2]=a[p+72>>2],a[b+188>>2]=f,dt=a[4+(f=p- -64|0)>>2],a[b+176>>2]=a[f>>2],a[b+180>>2]=dt,dt=a[p+92>>2],a[b+168>>2]=a[p+88>>2],a[b+172>>2]=dt,dt=a[p+84>>2],a[b+160>>2]=a[p+80>>2],a[b+164>>2]=dt,un(c,b+176|0,b+160|0),dt=a[b+300>>2],a[p+88>>2]=a[b+296>>2],a[p+92>>2]=dt,dt=a[b+292>>2],a[p+80>>2]=a[b+288>>2],a[p+84>>2]=dt,dt=a[p+60>>2],a[b+152>>2]=a[p+56>>2],a[b+156>>2]=dt,dt=a[p+52>>2],a[b+144>>2]=a[p+48>>2],a[b+148>>2]=dt,dt=a[p+76>>2],a[b+136>>2]=a[p+72>>2],a[b+140>>2]=dt,dt=a[f+4>>2],a[b+128>>2]=a[f>>2],a[b+132>>2]=dt,un(c,b+144|0,b+128|0),dt=a[b+300>>2],a[p+72>>2]=a[b+296>>2],a[p+76>>2]=dt,dt=a[b+292>>2],a[f>>2]=a[b+288>>2],a[f+4>>2]=dt,dt=a[p+44>>2],a[b+120>>2]=a[p+40>>2],a[b+124>>2]=dt,dt=a[p+36>>2],a[b+112>>2]=a[p+32>>2],a[b+116>>2]=dt,dt=a[p+60>>2],a[b+104>>2]=a[p+56>>2],a[b+108>>2]=dt,dt=a[p+52>>2],a[b+96>>2]=a[p+48>>2],a[b+100>>2]=dt,un(c,b+112|0,b+96|0),dt=a[b+300>>2],a[p+56>>2]=a[b+296>>2],a[p+60>>2]=dt,dt=a[b+292>>2],a[p+48>>2]=a[b+288>>2],a[p+52>>2]=dt,dt=a[p+28>>2],a[b+88>>2]=a[p+24>>2],a[b+92>>2]=dt,dt=a[p+20>>2],a[b+80>>2]=a[p+16>>2],a[b+84>>2]=dt,dt=a[p+44>>2],a[b+72>>2]=a[p+40>>2],a[b+76>>2]=dt,dt=a[p+36>>2],a[b+64>>2]=a[p+32>>2],a[b+68>>2]=dt,un(c,b+80|0,b- -64|0),dt=a[b+300>>2],a[p+40>>2]=a[b+296>>2],a[p+44>>2]=dt,dt=a[b+292>>2],a[p+32>>2]=a[b+288>>2],a[p+36>>2]=dt,dt=a[p+12>>2],a[b+56>>2]=a[p+8>>2],a[b+60>>2]=dt,dt=a[p+4>>2],a[b+48>>2]=a[p>>2],a[b+52>>2]=dt,dt=a[p+28>>2],a[b+40>>2]=a[p+24>>2],a[b+44>>2]=dt,dt=a[p+20>>2],a[b+32>>2]=a[p+16>>2],a[b+36>>2]=dt,un(c,b+48|0,b+32|0),dt=a[b+300>>2],a[p+24>>2]=a[b+296>>2],a[p+28>>2]=dt,dt=a[b+292>>2],a[p+16>>2]=a[b+288>>2],a[p+20>>2]=dt,dt=a[b+316>>2],a[b+24>>2]=a[b+312>>2],a[b+28>>2]=dt,dt=a[b+308>>2],a[b+16>>2]=a[b+304>>2],a[b+20>>2]=dt,dt=a[p+12>>2],a[b+8>>2]=a[p+8>>2],a[b+12>>2]=dt,dt=a[p+4>>2],a[b>>2]=a[p>>2],a[b+4>>2]=dt,un(c,b+16|0,b),c=a[b+300>>2],a[p+8>>2]=a[b+296>>2],a[p+12>>2]=c,c=a[b+292>>2],a[p>>2]=a[b+288>>2],a[p+4>>2]=c,a[p+12>>2]=yr^(S[p+12|0]|S[p+13|0]<<8|S[p+14|0]<<16|S[p+15|0]<<24),a[p+8>>2]=Sr^(S[p+8|0]|S[p+9|0]<<8|S[p+10|0]<<16|S[p+11|0]<<24),a[p+4>>2]=vr^(S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24),a[p>>2]=gr^(S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24),a[f>>2]=Wt^(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24),a[p+68>>2]=cr^(S[p+68|0]|S[p+69|0]<<8|S[p+70|0]<<16|S[p+71|0]<<24),a[p+72>>2]=h^(S[p+72|0]|S[p+73|0]<<8|S[p+74|0]<<16|S[p+75|0]<<24),a[p+76>>2]=nr^(S[p+76|0]|S[p+77|0]<<8|S[p+78|0]<<16|S[p+79|0]<<24),Ie=b+320|0}function vd(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr,Kt,or,Or,kr,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0;Jt=Ce(p=(ke=a[c+12>>2])<<1,v=p>>31,An=(Gr=a[c+4>>2])<<1,b=An>>31),Mr=$,ut=nt=a[c+8>>2],ur=(Cr=Ce(nt,ye=nt>>31,nt,ye))+Jt|0,Jt=$+Mr|0,Jt=ur>>>0<Cr>>>0?Jt+1|0:Jt,Mr=Ce(nn=a[c+16>>2],L=nn>>31,Cr=(jr=a[c>>2])<<1,B=Cr>>31),Jt=$+Jt|0,Jt=(ur=Mr+ur|0)>>>0<Mr>>>0?Jt+1|0:Jt,Z=a[c+28>>2],Mr=Ce(Nr=Lr(Z,38),Me=Nr>>31,Z,pt=Z>>31),Jt=$+Jt|0,Jt=(ur=Mr+ur|0)>>>0<Mr>>>0?Jt+1|0:Jt,Mr=ur,ee=a[c+32>>2],fn=Ce(Ne=Lr(ee,19),H=Ne>>31,ur=(h=a[c+24>>2])<<1,ur>>31),ur=$+Jt|0,ur=(Mr=Mr+fn|0)>>>0<fn>>>0?ur+1|0:ur,cr=a[c+36>>2],Jt=Ce(fn=Lr(cr,38),Q=fn>>31,hn=(j=a[c+20>>2])<<1,de=hn>>31),c=$+ur|0,vr=Jt=(Jt>>>0>(Mr=Jt+Mr|0)>>>0?c+1:c)<<1|Mr>>>31,Sr=ur=33554432+(bt=Mr<<1)|0,yr=Jt=ur>>>0<33554432?Jt+1|0:Jt,c=Jt>>26,Yr=(67108863&Jt)<<6|ur>>>26,Jt=Ce(An,b,nn,L),Mr=$,ur=(pn=Ce(nt<<=1,we=nt>>31,ke,Ye=ke>>31))+Jt|0,Jt=$+Mr|0,Jt=ur>>>0<pn>>>0?Jt+1|0:Jt,Mr=(pn=Ce(j,Ve=j>>31,Cr,B))+ur|0,ur=$+Jt|0,ur=Mr>>>0<pn>>>0?ur+1|0:ur,Gt=Ce(Ne,H,pn=Z<<1,it=pn>>31),Jt=$+ur|0,Jt=(Mr=Gt+Mr|0)>>>0<Gt>>>0?Jt+1|0:Jt,ur=Ce(fn,Q,h,re=h>>31),Jt=$+Jt|0,c=c+(ur=(ur>>>0>(Mr=ur+Mr|0)>>>0?Jt+1:Jt)<<1|Mr>>>31)|0,Gt=Mr=(Jt=Mr<<1)+Yr|0,Jt=c=Jt>>>0>Mr>>>0?c+1|0:c,Kt=Mr=Mr+16777216|0,Yr=(33554431&(Jt=Mr>>>0<16777216?Jt+1|0:Jt))<<7|Mr>>>25,Mr=Jt>>25,c=Ce(p,v,ke,Ye),Jt=$,ur=Ce(nn,L,nt,we),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=Ce(An,b,hn,de),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(En=Ce(Cr,B,h,re))+c|0,c=$+Jt|0,c=ur>>>0<En>>>0?c+1|0:c,En=Ce(Ne,H,ee,We=ee>>31),Jt=$+c|0,Jt=(ur=En+ur|0)>>>0<En>>>0?Jt+1|0:Jt,c=(En=Ce(fn,Q,pn,it))+ur|0,ur=$+Jt|0,c=((Jt=c)>>>0<En>>>0?ur+1:ur)<<1|Jt>>>31,ur=Yr,Yr=Jt<<1,Jt=c+Mr|0,Jt=(ur=ur+Yr|0)>>>0<Yr>>>0?Jt+1|0:Jt,En=c=ur+33554432|0,Mr=Jt=c>>>0<33554432?Jt+1|0:Jt,a[f+24>>2]=ur-(-67108864&c),ur=Ce(c=Lr(j,38),c>>31,j,Ve),Yr=$,c=(Jt=Ce(c=jr,Jt=c>>31,c,Jt))+ur|0,ur=$+Yr|0,ur=c>>>0<Jt>>>0?ur+1|0:ur,Mn=Ce(jr=Lr(h,19),dt=jr>>31,Yr=nn<<1,Wt=Yr>>31),Jt=$+ur|0,Jt=(c=Mn+c|0)>>>0<Mn>>>0?Jt+1|0:Jt,ur=Ce(p,v,Nr,Me),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(Mn=Ce(Ne,H,nt,we))+c|0,c=$+Jt|0,c=ur>>>0<Mn>>>0?c+1|0:c,Mn=Ce(An,b,fn,Q),Jt=$+c|0,Mn=Jt=((ur=Mn+ur|0)>>>0<Mn>>>0?Jt+1:Jt)<<1|ur>>>31,or=c=33554432+(nr=ur<<1)|0,Or=ur=c>>>0<33554432?Jt+1|0:Jt,ft=(67108863&ur)<<6|c>>>26,rr=ur>>26,c=Ce(jr,dt,hn,de),Jt=$,ur=Ce(Cr,B,Gr,gr=Gr>>31),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(xe=Ce(nn,L,Nr,Me))+c|0,c=$+Jt|0,c=ur>>>0<xe>>>0?c+1|0:c,xe=Ce(Ne,H,p,v),Jt=$+c|0,Jt=(ur=xe+ur|0)>>>0<xe>>>0?Jt+1|0:Jt,xe=(c=Ce(fn,Q,ut,ye))+ur|0,ur=$+Jt|0,Jt=(c=(c>>>0>xe>>>0?ur+1:ur)<<1|xe>>>31)+rr|0,Jt=(ur=(xe<<=1)+ft|0)>>>0<xe>>>0?Jt+1|0:Jt,rr=ur,xe=ur=ur+16777216|0,kr=(33554431&(Jt=ur>>>0<16777216?Jt+1|0:Jt))<<7|ur>>>25,ft=Jt>>25,c=Ce(Cr,B,ut,ye),Jt=$,ur=Ce(An,b,Gr,gr),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,Gr=Ce(jr,dt,h,re),ur=$+Jt|0,ur=(c=Gr+c|0)>>>0<Gr>>>0?ur+1|0:ur,Gr=Ce(hn,de,Nr,Me),Jt=$+ur|0,Jt=(c=Gr+c|0)>>>0<Gr>>>0?Jt+1|0:Jt,ur=Ce(Ne,H,Yr,Wt),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(Gr=Ce(fn,Q,p,v))+c|0,c=$+Jt|0,Jt=(Jt=(ur>>>0<Gr>>>0?c+1:c)<<1|ur>>>31)+ft|0,jr=c=(ur<<=1)+kr|0,Jt=c>>>0<ur>>>0?Jt+1|0:Jt,ft=c=c+33554432|0,Gr=ur=c>>>0<33554432?Jt+1|0:Jt,a[f+8>>2]=jr-(-67108864&c),c=Ce(nt,we,j,Ve),ur=$,Jt=(jr=Ce(nn,L,p,v))+c|0,c=$+ur|0,c=Jt>>>0<jr>>>0?c+1|0:c,ur=(jr=Ce(An,b,h,re))+Jt|0,Jt=$+c|0,Jt=ur>>>0<jr>>>0?Jt+1|0:Jt,c=(jr=Ce(Cr,B,Z,pt))+ur|0,ur=$+Jt|0,ur=c>>>0<jr>>>0?ur+1|0:ur,jr=Ce(fn,Q,ee,We),Jt=$+ur|0,Jt=(Jt=((c=jr+c|0)>>>0<jr>>>0?Jt+1:Jt)<<1|c>>>31)+(ur=Mr>>26)|0,c=(ur=Mr=(jr=c<<1)+(c=(67108863&Mr)<<6|En>>>26)|0)>>>0<c>>>0?Jt+1|0:Jt,jr=Jt=ur+16777216|0,Mr=c=Jt>>>0<16777216?c+1|0:c,a[f+28>>2]=ur-(-33554432&Jt),c=Ce(Cr,B,ke,Ye),Jt=$,ur=Ce(An,b,ut,ye),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=Ce(h,re,Nr,Me),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(Ne=Ce(Ne,H,hn,de))+c|0,c=$+Jt|0,c=ur>>>0<Ne>>>0?c+1|0:c,Jt=(Ne=Ce(fn,Q,nn,L))+ur|0,ur=$+c|0,c=Jt,Jt=(Jt>>>0<Ne>>>0?ur+1:ur)<<1|Jt>>>31,ur=c<<1,Jt=(c=Gr>>26)+Jt|0,Jt=(ur=ur+(Gr=(67108863&Gr)<<6|ft>>>26)|0)>>>0<Gr>>>0?Jt+1|0:Jt,Ne=c=ur+16777216|0,Gr=Jt=c>>>0<16777216?Jt+1|0:Jt,a[f+12>>2]=ur-(-33554432&c),c=Ce(h,re,nt,we),Jt=$,ur=Ce(nn,L,nn,L),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=Ce(p,v,hn,de),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=Ce(An,b,pn,it),Jt=$+Jt|0,Jt=(c=ur+c|0)>>>0<ur>>>0?Jt+1|0:Jt,ur=(nn=Ce(Cr,B,ee,We))+c|0,c=$+Jt|0,c=ur>>>0<nn>>>0?c+1|0:c,Jt=(nn=Ce(Jt=fn,Q,fn=cr,hn=fn>>31))+ur|0,ur=$+c|0,c=Jt,Jt=(Jt>>>0<nn>>>0?ur+1:ur)<<1|Jt>>>31,ur=c<<1,Jt=(c=Mr>>25)+Jt|0,Jt=(ur=ur+(Mr=(33554431&Mr)<<7|jr>>>25)|0)>>>0<Mr>>>0?Jt+1|0:Jt,nn=c=ur+33554432|0,Mr=Jt=c>>>0<33554432?Jt+1|0:Jt,a[f+32>>2]=ur-(-67108864&c),Jt=Gr>>25,ur=(Gr=(33554431&Gr)<<7|Ne>>>25)+(bt-(c=-67108864&Sr)|0)|0,c=Jt+(vr-((c>>>0>bt>>>0)+yr|0)|0)|0,c=ur>>>0<Gr>>>0?c+1|0:c,Gr=ur,Jt=c,c=((67108863&(Jt=(ur=ur+33554432|0)>>>0<33554432?Jt+1|0:Jt))<<6|ur>>>26)+(Nr=Gt-(-33554432&Kt)|0)|0,a[f+20>>2]=c,a[f+16>>2]=Gr-(-67108864&ur),c=Ce(p,v,h,re),ur=$,Jt=(Gr=Ce(j,Ve,Yr,Wt))+c|0,c=$+ur|0,c=Jt>>>0<Gr>>>0?c+1|0:c,ur=(Gr=Ce(nt,we,Z,pt))+Jt|0,Jt=$+c|0,Jt=ur>>>0<Gr>>>0?Jt+1|0:Jt,c=(Gr=Ce(An,b,ee,We))+ur|0,ur=$+Jt|0,ur=c>>>0<Gr>>>0?ur+1|0:ur,Gr=Ce(Cr,B,fn,hn),Jt=$+ur|0,Jt=((c=Gr+c|0)>>>0<Gr>>>0?Jt+1:Jt)<<1|c>>>31,Gr=c<<1,Jt=Jt+(ur=Mr>>26)|0,c=(c=(67108863&Mr)<<6|nn>>>26)>>>0>(Mr=Gr+c|0)>>>0?Jt+1|0:Jt,c=(Jt=Mr+16777216|0)>>>0<16777216?c+1|0:c,a[f+36>>2]=Mr-(-33554432&Jt),Gr=rr-(-33554432&xe)|0,Mr=nr-(ur=-67108864&or)|0,An=Mn-((ur>>>0>nr>>>0)+Or|0)|0,c=Ce((33554431&c)<<7|Jt>>>25,c>>25,19,0),ur=$+An|0,Mr=Jt=c+Mr|0,c=c>>>0>Jt>>>0?ur+1|0:ur,c=((67108863&(c=(Jt=Jt+33554432|0)>>>0<33554432?c+1|0:c))<<6|Jt>>>26)+Gr|0,a[f+4>>2]=c,a[f>>2]=Mr-(-67108864&Jt)}function Et(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt,Ye,it,dt,Wt,nr,cr,gr,vr,Sr,yr,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0;Kt=Ce(p=(ye=a[c+12>>2])<<1,v=p>>31,ye,pt=ye>>31),Or=$,or=(jr=Ce(Jt=a[c+16>>2],L=Jt>>31,H=(kr=a[c+8>>2])<<1,ee=H>>31))+Kt|0,Kt=$+Or|0,Kt=or>>>0<jr>>>0?Kt+1|0:Kt,Or=(nn=Ce(xe=(j=a[c+20>>2])<<1,de=xe>>31,jr=(ur=a[c+4>>2])<<1,b=jr>>31))+or|0,or=$+Kt|0,or=Or>>>0<nn>>>0?or+1|0:or,Mr=Ce(h=a[c+24>>2],re=h>>31,nn=(Yr=a[c>>2])<<1,B=nn>>31),Kt=$+or|0,Kt=(Or=Mr+Or|0)>>>0<Mr>>>0?Kt+1|0:Kt,or=Or,we=a[c+32>>2],Or=Ce(fn=Lr(we,19),Z=fn>>31,we,Ve=we>>31),Kt=$+Kt|0,Kt=(or=or+Or|0)>>>0<Or>>>0?Kt+1|0:Kt,Wt=a[c+36>>2],Or=Ce(Mr=Lr(Wt,38),Q=Mr>>31,We=(ke=a[c+28>>2])<<1,bt=We>>31),c=$+Kt|0,Cr=or=Or+or|0,Or=or>>>0<Or>>>0?c+1|0:c,c=Ce(jr,b,Jt,L),Kt=$,or=Ce(H,ee,ye,pt),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,Gr=Ce(j,ut=j>>31,nn,B),or=$+Kt|0,or=(c=Gr+c|0)>>>0<Gr>>>0?or+1|0:or,Gr=Ce(fn,Z,We,bt),Kt=$+or|0,Kt=(c=Gr+c|0)>>>0<Gr>>>0?Kt+1|0:Kt,or=Ce(Mr,Q,h,re),Kt=$+Kt|0,Mn=c=or+c|0,Ne=c>>>0<or>>>0?Kt+1|0:Kt,Kt=Ce(jr,b,p,v),or=$,Ye=c=kr,kr=Ce(c,nt=c>>31,c,nt),c=$+or|0,c=(Kt=kr+Kt|0)>>>0<kr>>>0?c+1|0:c,or=(kr=Ce(nn,B,Jt,L))+Kt|0,Kt=$+c|0,Kt=or>>>0<kr>>>0?Kt+1|0:Kt,c=(kr=Ce(Gr=Lr(ke,38),Me=Gr>>31,ke,it=ke>>31))+or|0,or=$+Kt|0,or=c>>>0<kr>>>0?or+1|0:or,c=(Kt=c)+(kr=Ce(fn,Z,c=h<<1,c>>31))|0,Kt=$+or|0,Kt=c>>>0<kr>>>0?Kt+1|0:Kt,or=c,c=Ce(Mr,Q,xe,de),Kt=$+Kt|0,nr=or=or+c|0,cr=Kt=c>>>0>or>>>0?Kt+1|0:Kt,c=Kt,gr=or=or+33554432|0,vr=c=or>>>0<33554432?c+1|0:c,Kt=(Kt=c>>26)+Ne|0,Mn=c=(or=(67108863&c)<<6|or>>>26)+Mn|0,Kt=c>>>0<or>>>0?Kt+1|0:Kt,Sr=c=c+16777216|0,Kt=(Kt=(or=c>>>0<16777216?Kt+1|0:Kt)>>25)+Or|0,c=(c=(33554431&or)<<7|c>>>25)>>>0>(or=c+Cr|0)>>>0?Kt+1|0:Kt,Cr=Kt=or+33554432|0,kr=c=Kt>>>0<33554432?c+1|0:c,a[f+24>>2]=or-(-67108864&Kt),c=Ce(nn,B,Ye,nt),Kt=$,Or=Ce(jr,b,ur,An=ur>>31),or=$+Kt|0,or=(c=Or+c|0)>>>0<Or>>>0?or+1|0:or,Ne=Ce(Or=Lr(h,19),En=Or>>31,h,re),Kt=$+or|0,Kt=(c=Ne+c|0)>>>0<Ne>>>0?Kt+1|0:Kt,or=(Ne=Ce(xe,de,Gr,Me))+c|0,c=$+Kt|0,c=or>>>0<Ne>>>0?c+1|0:c,hn=Ce(fn,Z,Ne=Jt<<1,dt=Ne>>31),Kt=$+c|0,Kt=(or=hn+or|0)>>>0<hn>>>0?Kt+1|0:Kt,c=or,or=Ce(Mr,Q,p,v),Kt=$+Kt|0,pn=c=c+or|0,hn=c>>>0<or>>>0?Kt+1|0:Kt,c=Ce(xe,de,Or,En),Kt=$,ur=Ce(nn,B,ur,An),or=$+Kt|0,or=(c=ur+c|0)>>>0<ur>>>0?or+1|0:or,ur=Ce(Jt,L,Gr,Me),Kt=$+or|0,Kt=(c=ur+c|0)>>>0<ur>>>0?Kt+1|0:Kt,or=(ur=Ce(fn,Z,p,v))+c|0,c=$+Kt|0,c=or>>>0<ur>>>0?c+1|0:c,ur=Ce(Mr,Q,Ye,nt),Kt=$+c|0,Nr=or=ur+or|0,An=or>>>0<ur>>>0?Kt+1|0:Kt,or=Ce(c=Lr(j,38),c>>31,j,ut),ur=$,c=Yr,Yr=or,or=Ce(c,Kt=c>>31,c,Kt),Kt=$+ur|0,Kt=(c=Yr+or|0)>>>0<or>>>0?Kt+1|0:Kt,Or=Ce(Or,En,Ne,dt),or=$+Kt|0,or=(c=Or+c|0)>>>0<Or>>>0?or+1|0:or,Or=Ce(p,v,Gr,Me),Kt=$+or|0,Kt=(c=Or+c|0)>>>0<Or>>>0?Kt+1|0:Kt,or=(Or=Ce(fn,Z,H,ee))+c|0,c=$+Kt|0,c=or>>>0<Or>>>0?c+1|0:c,Or=Ce(jr,b,Mr,Q),Kt=$+c|0,ur=or=Or+or|0,Yr=Kt=or>>>0<Or>>>0?Kt+1|0:Kt,En=or=or+33554432|0,yr=Kt=or>>>0<33554432?Kt+1|0:Kt,c=Kt>>26,Kt=(67108863&Kt)<<6|or>>>26,or=c+An|0,An=Or=Kt+Nr|0,Kt=Kt>>>0>Or>>>0?or+1|0:or,Nr=or=Or+16777216|0,Or=(33554431&(Kt=or>>>0<16777216?Kt+1|0:Kt))<<7|or>>>25,Kt=(Kt>>25)+hn|0,Kt=(or=Or+pn|0)>>>0<Or>>>0?Kt+1|0:Kt,hn=c=or+33554432|0,Or=Kt=c>>>0<33554432?Kt+1|0:Kt,a[f+8>>2]=or-(-67108864&c),c=Ce(H,ee,j,ut),Kt=$,or=Ce(Jt,L,p,v),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,or=Ce(jr,b,h,re),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,or=Ce(nn,B,ke,it),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,pn=(or=Ce(Mr,Q,we,Ve))+c|0,c=$+Kt|0,or=(Kt=kr>>26)+(or=or>>>0>pn>>>0?c+1|0:c)|0,Cr=c=(kr=(67108863&kr)<<6|Cr>>>26)+pn|0,Kt=c>>>0<kr>>>0?or+1|0:or,pn=c=c+16777216|0,kr=Kt=c>>>0<16777216?Kt+1|0:Kt,a[f+28>>2]=Cr-(-33554432&c),c=Ce(nn,B,ye,pt),or=$,Kt=(nt=Ce(jr,b,Ye,nt))+c|0,c=$+or|0,c=Kt>>>0<nt>>>0?c+1|0:c,Kt=(Gr=Ce(h,re,Gr,Me))+Kt|0,or=$+c|0,c=(fn=Ce(fn,Z,xe,de))+Kt|0,Kt=$+(Kt>>>0<Gr>>>0?or+1|0:or)|0,Kt=c>>>0<fn>>>0?Kt+1|0:Kt,or=Ce(Mr,Q,Jt,L),Kt=$+Kt|0,Kt=(Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt)+(or=Or>>26)|0,c=(or=Or=(Cr=c)+(c=(67108863&Or)<<6|hn>>>26)|0)>>>0<c>>>0?Kt+1|0:Kt,fn=Kt=or+16777216|0,Or=c=Kt>>>0<16777216?c+1|0:c,a[f+12>>2]=or-(-33554432&Kt),c=Ce(h,re,H,ee),Kt=$,or=Ce(Jt,L,Jt,L),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,or=Ce(p,v,xe,de),Kt=$+Kt|0,Kt=(c=or+c|0)>>>0<or>>>0?Kt+1|0:Kt,or=(Jt=Ce(jr,b,We,bt))+c|0,c=$+Kt|0,c=or>>>0<Jt>>>0?c+1|0:c,Kt=(Jt=Ce(nn,B,we,Ve))+or|0,or=$+c|0,or=Kt>>>0<Jt>>>0?or+1|0:or,c=(Jt=Ce(c=Mr,Q,Mr=Wt,xe=Mr>>31))+Kt|0,Kt=$+or|0,Kt=c>>>0<Jt>>>0?Kt+1|0:Kt,or=c,Kt=(c=kr>>25)+Kt|0,Kt=(or=or+(kr=(33554431&kr)<<7|pn>>>25)|0)>>>0<kr>>>0?Kt+1|0:Kt,Jt=c=or+33554432|0,kr=Kt=c>>>0<33554432?Kt+1|0:Kt,a[f+32>>2]=or-(-67108864&c),Kt=Or>>25,or=(Or=(33554431&Or)<<7|fn>>>25)+(nr-(c=-67108864&gr)|0)|0,c=Kt+(cr-((c>>>0>nr>>>0)+vr|0)|0)|0,c=or>>>0<Or>>>0?c+1|0:c,Or=or,c=((67108863&(Kt=(or=or+33554432|0)>>>0<33554432?c+1|0:c))<<6|or>>>26)+(Gr=Mn-(-33554432&Sr)|0)|0,a[f+20>>2]=c,a[f+16>>2]=Or-(-67108864&or),c=Ce(p,v,h,re),or=$,Kt=(Or=Ce(j,ut,Ne,dt))+c|0,c=$+or|0,c=Kt>>>0<Or>>>0?c+1|0:c,or=(Or=Ce(H,ee,ke,it))+Kt|0,Kt=$+c|0,Kt=or>>>0<Or>>>0?Kt+1|0:Kt,c=(Or=Ce(jr,b,we,Ve))+or|0,or=$+Kt|0,or=c>>>0<Or>>>0?or+1|0:or,Or=(Kt=c)+(c=Ce(nn,B,Mr,xe))|0,Kt=$+or|0,Kt=(c=c>>>0>Or>>>0?Kt+1|0:Kt)+(Kt=kr>>26)|0,c=(or=(kr=(67108863&kr)<<6|Jt>>>26)+Or|0)>>>0<kr>>>0?Kt+1|0:Kt,c=(Kt=or+16777216|0)>>>0<16777216?c+1|0:c,a[f+36>>2]=or-(-33554432&Kt),kr=An-(-33554432&Nr)|0,Or=ur-(or=-67108864&En)|0,jr=Yr-((or>>>0>ur>>>0)+yr|0)|0,c=Ce((33554431&c)<<7|Kt>>>25,c>>25,19,0),Kt=$+jr|0,c=c>>>0>(or=c+Or|0)>>>0?Kt+1|0:Kt,c=((67108863&(c=(Kt=or+33554432|0)>>>0<33554432?c+1|0:c))<<6|Kt>>>26)+kr|0,a[f+4>>2]=c,a[f>>2]=or-(-67108864&Kt)}function XQ(f,c){var h,p,b,B,Q,v,L,H,j,re,Z=0,ee=0,de=0;Ie=h=Ie-416|0,p=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,b=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,B=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,Q=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,de=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,v=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,L=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,H=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,f=a[c+92>>2],a[h+408>>2]=a[c+88>>2],a[h+412>>2]=f,f=a[c+84>>2],a[h+400>>2]=a[c+80>>2],a[h+404>>2]=f,f=a[c+76>>2],a[h+376>>2]=a[c+72>>2],a[h+380>>2]=f,Z=a[4+(f=ee=c- -64|0)>>2],a[h+368>>2]=a[f>>2],a[h+372>>2]=Z,f=a[c+92>>2],a[h+360>>2]=a[c+88>>2],a[h+364>>2]=f,f=a[c+84>>2],a[h+352>>2]=a[c+80>>2],a[h+356>>2]=f,un(f=h+384|0,h+368|0,h+352|0),Z=a[h+396>>2],a[c+88>>2]=a[h+392>>2],a[c+92>>2]=Z,Z=a[h+388>>2],a[c+80>>2]=a[h+384>>2],a[c+84>>2]=Z,Z=a[c+60>>2],a[h+344>>2]=a[c+56>>2],a[h+348>>2]=Z,Z=a[c+52>>2],a[h+336>>2]=a[c+48>>2],a[h+340>>2]=Z,Z=a[c+76>>2],a[h+328>>2]=a[c+72>>2],a[h+332>>2]=Z,Z=a[ee+4>>2],a[h+320>>2]=a[ee>>2],a[h+324>>2]=Z,un(f,h+336|0,h+320|0),Z=a[h+396>>2],a[c+72>>2]=a[h+392>>2],a[c+76>>2]=Z,Z=a[h+388>>2],a[ee>>2]=a[h+384>>2],a[ee+4>>2]=Z,Z=a[c+44>>2],a[h+312>>2]=a[c+40>>2],a[h+316>>2]=Z,Z=a[c+36>>2],a[h+304>>2]=a[c+32>>2],a[h+308>>2]=Z,Z=a[c+60>>2],a[h+296>>2]=a[c+56>>2],a[h+300>>2]=Z,Z=a[c+52>>2],a[h+288>>2]=a[c+48>>2],a[h+292>>2]=Z,un(f,h+304|0,h+288|0),Z=a[h+396>>2],a[c+56>>2]=a[h+392>>2],a[c+60>>2]=Z,Z=a[h+388>>2],a[c+48>>2]=a[h+384>>2],a[c+52>>2]=Z,Z=a[c+28>>2],a[h+280>>2]=a[c+24>>2],a[h+284>>2]=Z,Z=a[c+20>>2],a[h+272>>2]=a[c+16>>2],a[h+276>>2]=Z,Z=a[c+44>>2],a[h+264>>2]=a[c+40>>2],a[h+268>>2]=Z,Z=a[c+36>>2],a[h+256>>2]=a[c+32>>2],a[h+260>>2]=Z,un(f,h+272|0,h+256|0),Z=a[h+396>>2],a[c+40>>2]=a[h+392>>2],a[c+44>>2]=Z,Z=a[h+388>>2],a[c+32>>2]=a[h+384>>2],a[c+36>>2]=Z,Z=a[c+12>>2],a[h+248>>2]=a[c+8>>2],a[h+252>>2]=Z,Z=a[c+4>>2],a[h+240>>2]=a[c>>2],a[h+244>>2]=Z,Z=a[c+28>>2],a[h+232>>2]=a[c+24>>2],a[h+236>>2]=Z,Z=a[c+20>>2],a[h+224>>2]=a[c+16>>2],a[h+228>>2]=Z,un(f,h+240|0,h+224|0),Z=a[h+396>>2],a[c+24>>2]=a[h+392>>2],a[c+28>>2]=Z,Z=a[h+388>>2],a[c+16>>2]=a[h+384>>2],a[c+20>>2]=Z,Z=a[h+412>>2],a[h+216>>2]=a[h+408>>2],a[h+220>>2]=Z,Z=a[h+404>>2],a[h+208>>2]=a[h+400>>2],a[h+212>>2]=Z,Z=a[c+12>>2],a[h+200>>2]=a[c+8>>2],a[h+204>>2]=Z,Z=a[c+4>>2],a[h+192>>2]=a[c>>2],a[h+196>>2]=Z,un(f,h+208|0,h+192|0),Z=a[h+384>>2],j=a[h+388>>2],re=a[h+392>>2],a[c+12>>2]=a[h+396>>2]^L,a[c+8>>2]=v^re,a[c+4>>2]=de^j,a[c>>2]=Z^H,de=a[c+92>>2],a[h+408>>2]=a[c+88>>2],a[h+412>>2]=de,de=a[c+84>>2],a[h+400>>2]=a[c+80>>2],a[h+404>>2]=de,de=a[c+76>>2],a[h+184>>2]=a[c+72>>2],a[h+188>>2]=de,de=a[ee+4>>2],a[h+176>>2]=a[ee>>2],a[h+180>>2]=de,de=a[c+92>>2],a[h+168>>2]=a[c+88>>2],a[h+172>>2]=de,de=a[c+84>>2],a[h+160>>2]=a[c+80>>2],a[h+164>>2]=de,un(f,h+176|0,h+160|0),de=a[h+396>>2],a[c+88>>2]=a[h+392>>2],a[c+92>>2]=de,de=a[h+388>>2],a[c+80>>2]=a[h+384>>2],a[c+84>>2]=de,de=a[c+60>>2],a[h+152>>2]=a[c+56>>2],a[h+156>>2]=de,de=a[c+52>>2],a[h+144>>2]=a[c+48>>2],a[h+148>>2]=de,de=a[c+76>>2],a[h+136>>2]=a[c+72>>2],a[h+140>>2]=de,de=a[ee+4>>2],a[h+128>>2]=a[ee>>2],a[h+132>>2]=de,un(f,h+144|0,h+128|0),de=a[h+396>>2],a[c+72>>2]=a[h+392>>2],a[c+76>>2]=de,de=a[h+388>>2],a[ee>>2]=a[h+384>>2],a[ee+4>>2]=de,ee=a[c+44>>2],a[h+120>>2]=a[c+40>>2],a[h+124>>2]=ee,ee=a[c+36>>2],a[h+112>>2]=a[c+32>>2],a[h+116>>2]=ee,ee=a[c+60>>2],a[h+104>>2]=a[c+56>>2],a[h+108>>2]=ee,ee=a[c+52>>2],a[h+96>>2]=a[c+48>>2],a[h+100>>2]=ee,un(f,h+112|0,h+96|0),ee=a[h+396>>2],a[c+56>>2]=a[h+392>>2],a[c+60>>2]=ee,ee=a[h+388>>2],a[c+48>>2]=a[h+384>>2],a[c+52>>2]=ee,ee=a[c+28>>2],a[h+88>>2]=a[c+24>>2],a[h+92>>2]=ee,ee=a[c+20>>2],a[h+80>>2]=a[c+16>>2],a[h+84>>2]=ee,ee=a[c+44>>2],a[h+72>>2]=a[c+40>>2],a[h+76>>2]=ee,ee=a[c+36>>2],a[h+64>>2]=a[c+32>>2],a[h+68>>2]=ee,un(f,h+80|0,h- -64|0),ee=a[h+396>>2],a[c+40>>2]=a[h+392>>2],a[c+44>>2]=ee,ee=a[h+388>>2],a[c+32>>2]=a[h+384>>2],a[c+36>>2]=ee,ee=a[c+12>>2],a[h+56>>2]=a[c+8>>2],a[h+60>>2]=ee,ee=a[c+4>>2],a[h+48>>2]=a[c>>2],a[h+52>>2]=ee,ee=a[c+28>>2],a[h+40>>2]=a[c+24>>2],a[h+44>>2]=ee,ee=a[c+20>>2],a[h+32>>2]=a[c+16>>2],a[h+36>>2]=ee,un(f,h+48|0,h+32|0),ee=a[h+396>>2],a[c+24>>2]=a[h+392>>2],a[c+28>>2]=ee,ee=a[h+388>>2],a[c+16>>2]=a[h+384>>2],a[c+20>>2]=ee,ee=a[h+412>>2],a[h+24>>2]=a[h+408>>2],a[h+28>>2]=ee,ee=a[h+404>>2],a[h+16>>2]=a[h+400>>2],a[h+20>>2]=ee,ee=a[c+12>>2],a[h+8>>2]=a[c+8>>2],a[h+12>>2]=ee,ee=a[c+4>>2],a[h>>2]=a[c>>2],a[h+4>>2]=ee,un(f,h+16|0,h),f=a[h+384>>2],ee=a[h+388>>2],de=a[h+392>>2],a[c+12>>2]=a[h+396>>2]^Q,a[c+8>>2]=de^B,a[c+4>>2]=ee^b,a[c>>2]=f^p,Ie=h+416|0}function ZQ(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye=0,Me=0,Ve=0;for(Ie=p=Ie-288|0,ee=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,de=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,we=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,H=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,j=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,re=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,ke=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=h+112|0,f=33620224^(Z=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24),a[c>>2]=f,a[(v=h+96|0)>>2]=1427652059^Z,a[(L=h+80|0)>>2]=f,Me=Z^ke,a[(f=h- -64|0)>>2]=Me,a[h+56>>2]=1110511904,a[h+60>>2]=-584534669,a[(b=h+48|0)>>2]=1427652059,a[b+4>>2]=-248528275,a[h+40>>2]=1496785429,a[h+44>>2]=1652156816,a[(B=h+32|0)>>2]=33620224,a[B+4>>2]=218629379,a[h+24>>2]=1110511904,a[h+28>>2]=-584534669,a[(Q=h+16|0)>>2]=1427652059,a[Q+4>>2]=-248528275,a[h>>2]=Me,Me=1652156816^re,a[h+124>>2]=Me,Ve=1496785429^j,a[h+120>>2]=Ve,ye=218629379^H,a[h+116>>2]=ye,a[h+108>>2]=-584534669^re,a[h+104>>2]=1110511904^j,a[h+100>>2]=-248528275^H,a[h+92>>2]=Me,a[h+88>>2]=Ve,a[h+84>>2]=ye,Me=re^we,a[h+76>>2]=Me,Ve=j^de,a[h+72>>2]=Ve,ye=H^ee,a[h+68>>2]=ye,a[h+12>>2]=Me,a[h+8>>2]=Ve,a[h+4>>2]=ye,Ve=0;Me=a[c+12>>2],a[p+280>>2]=a[c+8>>2],a[p+284>>2]=Me,Me=a[c+4>>2],a[p+272>>2]=a[c>>2],a[p+276>>2]=Me,Me=a[v+12>>2],a[p+248>>2]=a[v+8>>2],a[p+252>>2]=Me,Me=a[v+4>>2],a[p+240>>2]=a[v>>2],a[p+244>>2]=Me,Me=a[c+12>>2],a[p+232>>2]=a[c+8>>2],a[p+236>>2]=Me,Me=a[c+4>>2],a[p+224>>2]=a[c>>2],a[p+228>>2]=Me,un(Me=p+256|0,p+240|0,p+224|0),ye=a[p+268>>2],a[c+8>>2]=a[p+264>>2],a[c+12>>2]=ye,ye=a[p+260>>2],a[c>>2]=a[p+256>>2],a[c+4>>2]=ye,ye=a[L+12>>2],a[p+216>>2]=a[L+8>>2],a[p+220>>2]=ye,ye=a[L+4>>2],a[p+208>>2]=a[L>>2],a[p+212>>2]=ye,ye=a[v+12>>2],a[p+200>>2]=a[v+8>>2],a[p+204>>2]=ye,ye=a[v+4>>2],a[p+192>>2]=a[v>>2],a[p+196>>2]=ye,un(Me,p+208|0,p+192|0),ye=a[p+268>>2],a[v+8>>2]=a[p+264>>2],a[v+12>>2]=ye,ye=a[p+260>>2],a[v>>2]=a[p+256>>2],a[v+4>>2]=ye,ye=a[f+12>>2],a[p+184>>2]=a[f+8>>2],a[p+188>>2]=ye,ye=a[f+4>>2],a[p+176>>2]=a[f>>2],a[p+180>>2]=ye,ye=a[L+12>>2],a[p+168>>2]=a[L+8>>2],a[p+172>>2]=ye,ye=a[L+4>>2],a[p+160>>2]=a[L>>2],a[p+164>>2]=ye,un(Me,p+176|0,p+160|0),ye=a[p+268>>2],a[L+8>>2]=a[p+264>>2],a[L+12>>2]=ye,ye=a[p+260>>2],a[L>>2]=a[p+256>>2],a[L+4>>2]=ye,ye=a[b+12>>2],a[p+152>>2]=a[b+8>>2],a[p+156>>2]=ye,ye=a[b+4>>2],a[p+144>>2]=a[b>>2],a[p+148>>2]=ye,ye=a[f+12>>2],a[p+136>>2]=a[f+8>>2],a[p+140>>2]=ye,ye=a[f+4>>2],a[p+128>>2]=a[f>>2],a[p+132>>2]=ye,un(Me,p+144|0,p+128|0),ye=a[p+268>>2],a[f+8>>2]=a[p+264>>2],a[f+12>>2]=ye,ye=a[p+260>>2],a[f>>2]=a[p+256>>2],a[f+4>>2]=ye,ye=a[B+12>>2],a[p+120>>2]=a[B+8>>2],a[p+124>>2]=ye,ye=a[B+4>>2],a[p+112>>2]=a[B>>2],a[p+116>>2]=ye,ye=a[b+12>>2],a[p+104>>2]=a[b+8>>2],a[p+108>>2]=ye,ye=a[b+4>>2],a[p+96>>2]=a[b>>2],a[p+100>>2]=ye,un(Me,p+112|0,p+96|0),ye=a[p+268>>2],a[b+8>>2]=a[p+264>>2],a[b+12>>2]=ye,ye=a[p+260>>2],a[b>>2]=a[p+256>>2],a[b+4>>2]=ye,ye=a[Q+12>>2],a[p+88>>2]=a[Q+8>>2],a[p+92>>2]=ye,ye=a[Q+4>>2],a[p+80>>2]=a[Q>>2],a[p+84>>2]=ye,ye=a[B+12>>2],a[p+72>>2]=a[B+8>>2],a[p+76>>2]=ye,ye=a[B+4>>2],a[p+64>>2]=a[B>>2],a[p+68>>2]=ye,un(Me,p+80|0,p- -64|0),ye=a[p+268>>2],a[B+8>>2]=a[p+264>>2],a[B+12>>2]=ye,ye=a[p+260>>2],a[B>>2]=a[p+256>>2],a[B+4>>2]=ye,ye=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=ye,ye=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=ye,ye=a[Q+12>>2],a[p+40>>2]=a[Q+8>>2],a[p+44>>2]=ye,ye=a[Q+4>>2],a[p+32>>2]=a[Q>>2],a[p+36>>2]=ye,un(Me,p+48|0,p+32|0),ye=a[p+268>>2],a[Q+8>>2]=a[p+264>>2],a[Q+12>>2]=ye,ye=a[p+260>>2],a[Q>>2]=a[p+256>>2],a[Q+4>>2]=ye,ye=a[p+284>>2],a[p+24>>2]=a[p+280>>2],a[p+28>>2]=ye,ye=a[p+276>>2],a[p+16>>2]=a[p+272>>2],a[p+20>>2]=ye,ye=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=ye,ye=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=ye,un(Me,p+16|0,p),Me=a[p+268>>2],a[h+8>>2]=a[p+264>>2],a[h+12>>2]=Me,Me=a[p+260>>2],a[h>>2]=a[p+256>>2],a[h+4>>2]=Me,a[h+12>>2]=(S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24)^we,a[h+8>>2]=(S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24)^de,a[h+4>>2]=(S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24)^ee,a[h>>2]=(S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24)^ke,a[f>>2]=(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24)^Z,a[h+68>>2]=(S[h+68|0]|S[h+69|0]<<8|S[h+70|0]<<16|S[h+71|0]<<24)^H,a[h+72>>2]=(S[h+72|0]|S[h+73|0]<<8|S[h+74|0]<<16|S[h+75|0]<<24)^j,a[h+76>>2]=(S[h+76|0]|S[h+77|0]<<8|S[h+78|0]<<16|S[h+79|0]<<24)^re,(0|(Ve=Ve+1|0))!=10;);Ie=p+288|0}function J5(f,c){var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0;if(Ie=h=Ie-48|0,!((p=Qn(f))||(p=-26,c-3>>>0<4294967294))){B=a[f+44>>2],p=a[f+48>>2],a[h+4>>2]=0,b=a[f+40>>2],a[h+32>>2]=p,a[h+16>>2]=-1,a[h+12>>2]=b,p=((H=(b=p<<3)>>>0<B>>>0?B:b)>>>0)/((B=p<<2)>>>0)|0,a[h+24>>2]=p,a[h+28>>2]=p<<2,a[h+20>>2]=Lr(p,B),p=a[f+52>>2],a[h+40>>2]=c,a[h+36>>2]=p,re=c=Ie,Ie=p=c-1152&-64,c=-25;e:{if(!(!(B=h+4|0)|!f)&&(b=wo(a[B+20>>2]<<3),a[B+4>>2]=b,c=-22,b)){t:{if((c=a[B+16>>2])&&(((b=c<<10)>>>0)/(c>>>0)|0)==1024&&(c=wo(12),a[B>>2]=c,c)){if(a[c>>2]=0,a[c+4>>2]=0,c=st(p+128|0,b),a[9404]=c,c)a[p+128>>2]=0;else if(c=a[p+128>>2])break t;h0(a[B>>2]),a[B>>2]=0}xTe(B,a[f+56>>2]),Ie=re,c=-22;break e}if(a[a[B>>2]>>2]=c,a[a[B>>2]+4>>2]=c,a[a[B>>2]+8>>2]=b,Z=a[B+36>>2],C8(c=p+128|0,0,0,64),a[p+124>>2]=a[f+48>>2],Sd(c,b=p+124|0,4,0),a[p+124>>2]=a[f+4>>2],Sd(c,b,4,0),a[p+124>>2]=a[f+44>>2],Sd(c,b,4,0),a[p+124>>2]=a[f+40>>2],Sd(c,b,4,0),a[p+124>>2]=19,Sd(c,b,4,0),a[p+124>>2]=Z,Sd(c,b,4,0),a[p+124>>2]=a[f+12>>2],Sd(c,b,4,0),(b=a[f+8>>2])&&(Sd(c,b,a[f+12>>2],0),1&k[f+56|0]&&(bn(a[f+8>>2],a[f+12>>2]),a[f+12>>2]=0)),a[p+124>>2]=a[f+20>>2],Sd(c=p+128|0,p+124|0,4,0),(b=a[f+16>>2])&&Sd(c,b,a[f+20>>2],0),a[p+124>>2]=a[f+28>>2],Sd(c=p+128|0,p+124|0,4,0),(b=a[f+24>>2])&&(Sd(c,b,a[f+28>>2],0),2&S[f+56|0]&&(bn(a[f+24>>2],a[f+28>>2]),a[f+28>>2]=0)),a[p+124>>2]=a[f+36>>2],Sd(c=p+128|0,p+124|0,4,0),(b=a[f+32>>2])&&Sd(c,b,a[f+36>>2],0),vM(p+128|0,p+48|0,64),bn(p+112|0,8),a[B+28>>2])for(b=0;;){for(a[p+112>>2]=0,a[p+116>>2]=b,dM(p+128|0,1024,p+48|0,72),Z=a[a[B>>2]+4>>2]+(Lr(a[B+24>>2],b)<<10)|0,c=0;Q=(L=c<<3)+Z|0,v=a[4+(j=(H=p+128|0)+L|0)>>2],a[Q>>2]=a[j>>2],a[Q+4>>2]=v,j=(Q=8|L)+Z|0,v=a[4+(Q=Q+H|0)>>2],a[j>>2]=a[Q>>2],a[j+4>>2]=v,j=(Q=16|L)+Z|0,v=a[4+(Q=Q+H|0)>>2],a[j>>2]=a[Q>>2],a[j+4>>2]=v,Q=(L|=24)+Z|0,j=a[4+(L=L+H|0)>>2],a[Q>>2]=a[L>>2],a[Q+4>>2]=j,(0|(c=c+4|0))!=128;);for(a[p+112>>2]=1,dM(H,1024,p+48|0,72),Z=1024+(a[a[B>>2]+4>>2]+(Lr(a[B+24>>2],b)<<10)|0)|0,c=0;Q=(L=c<<3)+Z|0,v=a[4+(j=(H=p+128|0)+L|0)>>2],a[Q>>2]=a[j>>2],a[Q+4>>2]=v,j=(Q=8|L)+Z|0,v=a[4+(Q=Q+H|0)>>2],a[j>>2]=a[Q>>2],a[j+4>>2]=v,j=(Q=16|L)+Z|0,v=a[4+(Q=Q+H|0)>>2],a[j>>2]=a[Q>>2],a[j+4>>2]=v,Q=(L|=24)+Z|0,H=a[4+(L=L+H|0)>>2],a[Q>>2]=a[L>>2],a[Q+4>>2]=H,(0|(c=c+4|0))!=128;);if(!((b=b+1|0)>>>0<sn[B+28>>2]))break}bn(p+128|0,1024),bn(p+48|0,72),c=0}Ie=re}if(p=c,!c){if(a[h+12>>2])for(;;){if(Ie=c=Ie-80|0,!(!(B=h+4|0)|!a[B+28>>2])){for(k[c+72|0]=0,a[c+64>>2]=de,p=0;a[c+76>>2]=0,b=a[c+76>>2],a[c+56>>2]=a[c+72>>2],a[c+60>>2]=b,a[c+68>>2]=p,b=a[c+68>>2],a[c+48>>2]=a[c+64>>2],a[c+52>>2]=b,oo(B,c+48|0),(p=p+1|0)>>>0<(b=a[B+28>>2])>>>0;);if(k[c+72|0]=1,b){for(p=0;a[c+76>>2]=0,b=a[c+76>>2],a[c+40>>2]=a[c+72>>2],a[c+44>>2]=b,a[c+68>>2]=p,b=a[c+68>>2],a[c+32>>2]=a[c+64>>2],a[c+36>>2]=b,oo(B,c+32|0),(p=p+1|0)>>>0<(b=a[B+28>>2])>>>0;);if(k[c+72|0]=2,b){for(p=0;a[c+76>>2]=0,b=a[c+76>>2],a[c+24>>2]=a[c+72>>2],a[c+28>>2]=b,a[c+68>>2]=p,b=a[c+68>>2],a[c+16>>2]=a[c+64>>2],a[c+20>>2]=b,oo(B,c+16|0),(p=p+1|0)>>>0<(b=a[B+28>>2])>>>0;);if(k[c+72|0]=3,b)for(p=0;a[c+76>>2]=0,b=a[c+76>>2],a[c+8>>2]=a[c+72>>2],a[c+12>>2]=b,a[c+68>>2]=p,b=a[c+68>>2],a[c>>2]=a[c+64>>2],a[c+4>>2]=b,oo(B,c),(p=p+1|0)>>>0<sn[B+28>>2];);}}}if(Ie=c+80|0,!((de=de+1|0)>>>0<sn[h+12>>2]))break}if(Ie=c=Ie-2048|0,!(!f|!(p=h+4|0))){if(de=a[p+24>>2],Di(c+1024|0,Q=(a[a[p>>2]+4>>2]+(de<<10)|0)-1024|0,1024),(j=a[p+28>>2])>>>0>=2)for(Z=1;;){for(B=Q+(Lr(Z,de)<<10)|0,L=0;v=a[(re=(b=L<<3)+(H=c+1024|0)|0)>>2],we=a[(ee=b+B|0)>>2],ee=a[re+4>>2]^a[ee+4>>2],a[re>>2]=v^we,a[re+4>>2]=ee,ee=a[(re=(v=8|b)+H|0)>>2],we=a[(v=B+v|0)>>2],v=a[re+4>>2]^a[v+4>>2],a[re>>2]=ee^we,a[re+4>>2]=v,ee=a[(re=(v=16|b)+H|0)>>2],we=a[(v=B+v|0)>>2],v=a[re+4>>2]^a[v+4>>2],a[re>>2]=ee^we,a[re+4>>2]=v,re=a[(b=(re=H)+(H=24|b)|0)>>2],v=a[(H=B+H|0)>>2],H=a[b+4>>2]^a[H+4>>2],a[b>>2]=v^re,a[b+4>>2]=H,(0|(L=L+4|0))!=128;);if((0|j)==(0|(Z=Z+1|0)))break}B=Di(c,c+1024|0,1024),dM(a[f>>2],a[f+4>>2],B,1024),bn(B+1024|0,1024),bn(B,1024),xTe(p,a[f+56>>2])}Ie=c+2048|0,p=0}}return Ie=h+48|0,p}function z5(f,c,h,p,b){var B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0;for(B=Ie+-64|0,Q=a[f+60>>2],v=a[f+56>>2],ur=a[f+52>>2],Jt=a[f+48>>2],L=a[f+44>>2],H=a[f+40>>2],j=a[f+36>>2],re=a[f+32>>2],Z=a[f+28>>2],ee=a[f+24>>2],de=a[f+20>>2],we=a[f+16>>2],ke=a[f+12>>2],ye=a[f+8>>2],Me=a[f+4>>2],Ve=a[f>>2];;){if(!b&p>>>0>63|b)We=h;else{if(a[B+56>>2]=0,a[B+60>>2]=0,a[B+48>>2]=0,a[B+52>>2]=0,a[B+40>>2]=0,a[B+44>>2]=0,a[B+32>>2]=0,a[B+36>>2]=0,a[B+24>>2]=0,a[B+28>>2]=0,a[B+16>>2]=0,a[B+20>>2]=0,a[B+8>>2]=0,a[B+12>>2]=0,a[B>>2]=0,a[B+4>>2]=0,pt=0,p|b)for(;k[pt+B|0]=S[c+pt|0],!b&(pt=pt+1|0)>>>0<p>>>0|b;);c=We=B,fn=h}for(Mr=20,ut=Ve,cr=Me,gr=ye,yr=ke,pt=we,h=de,Ye=ee,it=Z,dt=re,or=j,vr=H,bt=Q,Or=v,Kt=ur,Sr=Jt,Wt=L;nr=pt,ut=lr((pt=ut+pt|0)^Sr,16),nr=Sr=lr(nr^(dt=ut+dt|0),12),Sr=lr((kr=pt+Sr|0)^ut,8),pt=lr(nr^(dt=Sr+dt|0),7),bt=lr((ut=it+yr|0)^bt,16),it=lr((Wt=bt+Wt|0)^it,12),yr=lr((gr=Ye+gr|0)^Or,16),Ye=lr((vr=yr+vr|0)^Ye,12),Or=(Gr=ut+it|0)+pt|0,jr=lr((gr=Ye+gr|0)^yr,8),ut=lr(Or^jr,16),yr=lr((cr=h+cr|0)^Kt,16),h=lr((or=yr+or|0)^h,12),nr=pt,Kt=lr((cr=h+cr|0)^yr,8),nr=lr(nr^(pt=(nn=Kt+or|0)+ut|0),12),Or=lr(ut^(yr=nr+Or|0),8),pt=lr((or=Or+pt|0)^nr,7),nr=dt,dt=gr,ut=lr(bt^Gr,8),gr=lr((bt=ut+Wt|0)^it,7),Kt=lr((dt=dt+gr|0)^Kt,16),Wt=lr((it=nr+Kt|0)^gr,12),Kt=lr(Kt^(gr=Wt+dt|0),8),it=lr((dt=it+Kt|0)^Wt,7),Wt=bt,bt=cr,cr=lr((vr=vr+jr|0)^Ye,7),Ye=Wt+(Sr=lr((bt=bt+cr|0)^Sr,16))|0,Wt=bt,bt=lr(Ye^cr,12),Sr=lr(Sr^(cr=Wt+bt|0),8),Ye=lr((Wt=Ye+Sr|0)^bt,7),nr=vr,bt=ut,ut=lr(h^nn,7),bt=lr(bt^(vr=ut+kr|0),16),kr=lr((h=nr+bt|0)^ut,12),bt=lr(bt^(ut=kr+vr|0),8),h=lr((vr=h+bt|0)^kr,7),Mr=Mr-2|0;);if(Mr=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,kr=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,Gr=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,jr=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,nn=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,nr=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,Ne=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,xe=S[c+32|0]|S[c+33|0]<<8|S[c+34|0]<<16|S[c+35|0]<<24,nt=S[c+36|0]|S[c+37|0]<<8|S[c+38|0]<<16|S[c+39|0]<<24,Cr=S[c+40|0]|S[c+41|0]<<8|S[c+42|0]<<16|S[c+43|0]<<24,Yr=S[c+44|0]|S[c+45|0]<<8|S[c+46|0]<<16|S[c+47|0]<<24,An=S[c+48|0]|S[c+49|0]<<8|S[c+50|0]<<16|S[c+51|0]<<24,hn=S[c+52|0]|S[c+53|0]<<8|S[c+54|0]<<16|S[c+55|0]<<24,pn=S[c+56|0]|S[c+57|0]<<8|S[c+58|0]<<16|S[c+59|0]<<24,En=S[c+60|0]|S[c+61|0]<<8|S[c+62|0]<<16|S[c+63|0]<<24,ut=ut+Ve^(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24),k[0|We]=ut,k[We+1|0]=ut>>>8,k[We+2|0]=ut>>>16,k[We+3|0]=ut>>>24,ut=bt+Q^En,k[We+60|0]=ut,k[We+61|0]=ut>>>8,k[We+62|0]=ut>>>16,k[We+63|0]=ut>>>24,ut=Or+v^pn,k[We+56|0]=ut,k[We+57|0]=ut>>>8,k[We+58|0]=ut>>>16,k[We+59|0]=ut>>>24,ut=Kt+ur^hn,k[We+52|0]=ut,k[We+53|0]=ut>>>8,k[We+54|0]=ut>>>16,k[We+55|0]=ut>>>24,ut=Sr+Jt^An,k[We+48|0]=ut,k[We+49|0]=ut>>>8,k[We+50|0]=ut>>>16,k[We+51|0]=ut>>>24,ut=Wt+L^Yr,k[We+44|0]=ut,k[We+45|0]=ut>>>8,k[We+46|0]=ut>>>16,k[We+47|0]=ut>>>24,ut=vr+H^Cr,k[We+40|0]=ut,k[We+41|0]=ut>>>8,k[We+42|0]=ut>>>16,k[We+43|0]=ut>>>24,ut=or+j^nt,k[We+36|0]=ut,k[We+37|0]=ut>>>8,k[We+38|0]=ut>>>16,k[We+39|0]=ut>>>24,ut=dt+re^xe,k[We+32|0]=ut,k[We+33|0]=ut>>>8,k[We+34|0]=ut>>>16,k[We+35|0]=ut>>>24,it=it+Z^Ne,k[We+28|0]=it,k[We+29|0]=it>>>8,k[We+30|0]=it>>>16,k[We+31|0]=it>>>24,Ye=nr^Ye+ee,k[We+24|0]=Ye,k[We+25|0]=Ye>>>8,k[We+26|0]=Ye>>>16,k[We+27|0]=Ye>>>24,h=nn^h+de,k[We+20|0]=h,k[We+21|0]=h>>>8,k[We+22|0]=h>>>16,k[We+23|0]=h>>>24,h=jr^pt+we,k[We+16|0]=h,k[We+17|0]=h>>>8,k[We+18|0]=h>>>16,k[We+19|0]=h>>>24,h=Gr^yr+ke,k[We+12|0]=h,k[We+13|0]=h>>>8,k[We+14|0]=h>>>16,k[We+15|0]=h>>>24,h=kr^gr+ye,k[We+8|0]=h,k[We+9|0]=h>>>8,k[We+10|0]=h>>>16,k[We+11|0]=h>>>24,h=Mr^cr+Me,k[We+4|0]=h,k[We+5|0]=h>>>8,k[We+6|0]=h>>>16,k[We+7|0]=h>>>24,ur=!(Jt=Jt+1|0)+ur|0,!b&p>>>0<=64){if(!(!(p|b)|!b&p>>>0>63|!!(0|b)))for(pt=0;k[pt+fn|0]=S[We+pt|0],p>>>0>(pt=pt+1|0)>>>0;);a[f+52>>2]=ur,a[f+48>>2]=Jt;break}c=c- -64|0,h=We- -64|0,b=b-1|0,b=(p=p+-64|0)>>>0<4294967232?b+1|0:b}}function Ah(f,c){c|=0;var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0;return Ie=h=Ie-704|0,p=80+((b=a[72+(f|=0)>>2]>>>3&127)+f|0)|0,b>>>0>=112?(Di(p,35056,128-b|0),Mi(f,b=f+80|0,h,h+640|0),yo(b,0,112)):Di(p,35056,112-b|0),L=(B=a[f+64>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+68>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[f+192|0]=p,k[f+193|0]=p>>>8,k[f+194|0]=p>>>16,k[f+195|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[f+196|0]=b,k[f+197|0]=b>>>8,k[f+198|0]=b>>>16,k[f+199|0]=b>>>24,L=(B=a[f+72>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+76>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[f+200|0]=p,k[f+201|0]=p>>>8,k[f+202|0]=p>>>16,k[f+203|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[f+204|0]=b,k[f+205|0]=b>>>8,k[f+206|0]=b>>>16,k[f+207|0]=b>>>24,Mi(f,f+80|0,h,h+640|0),L=(B=a[f>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+4>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[0|c]=p,k[c+1|0]=p>>>8,k[c+2|0]=p>>>16,k[c+3|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+4|0]=b,k[c+5|0]=b>>>8,k[c+6|0]=b>>>16,k[c+7|0]=b>>>24,L=(B=a[f+8>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+12>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+8|0]=p,k[c+9|0]=p>>>8,k[c+10|0]=p>>>16,k[c+11|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+12|0]=b,k[c+13|0]=b>>>8,k[c+14|0]=b>>>16,k[c+15|0]=b>>>24,L=(B=a[f+16>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+20>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+16|0]=p,k[c+17|0]=p>>>8,k[c+18|0]=p>>>16,k[c+19|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+20|0]=b,k[c+21|0]=b>>>8,k[c+22|0]=b>>>16,k[c+23|0]=b>>>24,L=(B=a[f+24>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+28>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+24|0]=p,k[c+25|0]=p>>>8,k[c+26|0]=p>>>16,k[c+27|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+28|0]=b,k[c+29|0]=b>>>8,k[c+30|0]=b>>>16,k[c+31|0]=b>>>24,L=(B=a[f+32>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+36>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+32|0]=p,k[c+33|0]=p>>>8,k[c+34|0]=p>>>16,k[c+35|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+36|0]=b,k[c+37|0]=b>>>8,k[c+38|0]=b>>>16,k[c+39|0]=b>>>24,L=(B=a[f+40>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+44>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+40|0]=p,k[c+41|0]=p>>>8,k[c+42|0]=p>>>16,k[c+43|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+44|0]=b,k[c+45|0]=b>>>8,k[c+46|0]=b>>>16,k[c+47|0]=b>>>24,L=(B=a[f+48>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,H=Q<<24,Q=(v=-16777216&B)>>>24|0,p=H|v<<8|-16777216&((255&(p=a[f+52>>2]))<<24|B>>>8)|16711680&((16777215&p)<<8|B>>>24)|p>>>8&65280|p>>>24,k[c+48|0]=p,k[c+49|0]=p>>>8,k[c+50|0]=p>>>16,k[c+51|0]=p>>>24,p=b|Q|L,b=0,b|=p,k[c+52|0]=b,k[c+53|0]=b>>>8,k[c+54|0]=b>>>16,k[c+55|0]=b>>>24,L=(B=a[f+56>>2])<<24|(65280&B)<<8,b=(Q=16711680&B)>>>8|0,p=c,H=Q<<24,Q=(v=-16777216&B)>>>24|0,c=H|v<<8|-16777216&((255&(c=a[f+60>>2]))<<24|B>>>8)|16711680&((16777215&c)<<8|B>>>24)|c>>>8&65280|c>>>24,k[p+56|0]=c,k[p+57|0]=c>>>8,k[p+58|0]=c>>>16,k[p+59|0]=c>>>24,c=b|Q|L,c|=b=0,k[p+60|0]=c,k[p+61|0]=c>>>8,k[p+62|0]=c>>>16,k[p+63|0]=c>>>24,bn(h,704),bn(f,208),Ie=h+704|0,0}function jQ(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut,pt,bt=0;Ie=p=Ie-224|0,L=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,H=S[0|(bt=h- -64|0)]|S[bt+1|0]<<8|S[bt+2|0]<<16|S[bt+3|0]<<24,j=S[h+80|0]|S[h+81|0]<<8|S[h+82|0]<<16|S[h+83|0]<<24,re=S[h+32|0]|S[h+33|0]<<8|S[h+34|0]<<16|S[h+35|0]<<24,Z=S[h+48|0]|S[h+49|0]<<8|S[h+50|0]<<16|S[h+51|0]<<24,b=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,ee=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,de=S[h+68|0]|S[h+69|0]<<8|S[h+70|0]<<16|S[h+71|0]<<24,we=S[h+84|0]|S[h+85|0]<<8|S[h+86|0]<<16|S[h+87|0]<<24,ke=S[h+36|0]|S[h+37|0]<<8|S[h+38|0]<<16|S[h+39|0]<<24,ye=S[h+52|0]|S[h+53|0]<<8|S[h+54|0]<<16|S[h+55|0]<<24,B=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,Me=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,Ve=S[h+72|0]|S[h+73|0]<<8|S[h+74|0]<<16|S[h+75|0]<<24,We=S[h+88|0]|S[h+89|0]<<8|S[h+90|0]<<16|S[h+91|0]<<24,ut=S[h+40|0]|S[h+41|0]<<8|S[h+42|0]<<16|S[h+43|0]<<24,pt=S[h+56|0]|S[h+57|0]<<8|S[h+58|0]<<16|S[h+59|0]<<24,Q=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=(v=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24)^(S[h+44|0]|S[h+45|0]<<8|S[h+46|0]<<16|S[h+47|0]<<24)&(S[h+60|0]|S[h+61|0]<<8|S[h+62|0]<<16|S[h+63|0]<<24)^(S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24)^(S[h+92|0]|S[h+93|0]<<8|S[h+94|0]<<16|S[h+95|0]<<24)^(S[h+76|0]|S[h+77|0]<<8|S[h+78|0]<<16|S[h+79|0]<<24),k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=ut&pt^Ve^We^Me^B,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=ke&ye^de^we^ee^b,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=re&Z^L^H^j^Q,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,f=a[h+92>>2],a[p+216>>2]=a[h+88>>2],a[p+220>>2]=f,f=a[h+84>>2],a[p+208>>2]=a[h+80>>2],a[p+212>>2]=f,f=a[h+76>>2],a[p+184>>2]=a[h+72>>2],a[p+188>>2]=f,f=a[bt+4>>2],a[p+176>>2]=a[bt>>2],a[p+180>>2]=f,f=a[h+92>>2],a[p+168>>2]=a[h+88>>2],a[p+172>>2]=f,f=a[h+84>>2],a[p+160>>2]=a[h+80>>2],a[p+164>>2]=f,un(f=p+192|0,p+176|0,p+160|0),c=a[p+204>>2],a[h+88>>2]=a[p+200>>2],a[h+92>>2]=c,c=a[p+196>>2],a[h+80>>2]=a[p+192>>2],a[h+84>>2]=c,c=a[h+60>>2],a[p+152>>2]=a[h+56>>2],a[p+156>>2]=c,c=a[h+52>>2],a[p+144>>2]=a[h+48>>2],a[p+148>>2]=c,c=a[h+76>>2],a[p+136>>2]=a[h+72>>2],a[p+140>>2]=c,c=a[bt+4>>2],a[p+128>>2]=a[bt>>2],a[p+132>>2]=c,un(f,p+144|0,p+128|0),c=a[p+204>>2],a[h+72>>2]=a[p+200>>2],a[h+76>>2]=c,c=a[p+196>>2],a[bt>>2]=a[p+192>>2],a[bt+4>>2]=c,c=a[h+44>>2],a[p+120>>2]=a[h+40>>2],a[p+124>>2]=c,c=a[h+36>>2],a[p+112>>2]=a[h+32>>2],a[p+116>>2]=c,c=a[h+60>>2],a[p+104>>2]=a[h+56>>2],a[p+108>>2]=c,c=a[h+52>>2],a[p+96>>2]=a[h+48>>2],a[p+100>>2]=c,un(f,p+112|0,p+96|0),c=a[p+204>>2],a[h+56>>2]=a[p+200>>2],a[h+60>>2]=c,c=a[p+196>>2],a[h+48>>2]=a[p+192>>2],a[h+52>>2]=c,c=a[h+28>>2],a[p+88>>2]=a[h+24>>2],a[p+92>>2]=c,c=a[h+20>>2],a[p+80>>2]=a[h+16>>2],a[p+84>>2]=c,c=a[h+44>>2],a[p+72>>2]=a[h+40>>2],a[p+76>>2]=c,c=a[h+36>>2],a[p+64>>2]=a[h+32>>2],a[p+68>>2]=c,un(f,p+80|0,p- -64|0),c=a[p+204>>2],a[h+40>>2]=a[p+200>>2],a[h+44>>2]=c,c=a[p+196>>2],a[h+32>>2]=a[p+192>>2],a[h+36>>2]=c,c=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=c,c=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=c,c=a[h+28>>2],a[p+40>>2]=a[h+24>>2],a[p+44>>2]=c,c=a[h+20>>2],a[p+32>>2]=a[h+16>>2],a[p+36>>2]=c,un(f,p+48|0,p+32|0),c=a[p+204>>2],a[h+24>>2]=a[p+200>>2],a[h+28>>2]=c,c=a[p+196>>2],a[h+16>>2]=a[p+192>>2],a[h+20>>2]=c,c=a[p+220>>2],a[p+24>>2]=a[p+216>>2],a[p+28>>2]=c,c=a[p+212>>2],a[p+16>>2]=a[p+208>>2],a[p+20>>2]=c,c=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=c,c=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=c,un(f,p+16|0,p),f=a[p+192>>2],c=a[p+196>>2],bt=a[p+200>>2],a[h+12>>2]=v^a[p+204>>2],a[h+8>>2]=bt^B,a[h+4>>2]=c^b,a[h>>2]=f^Q,Ie=p+224|0}function eH(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me=0,Ve=0,We=0,ut=0,pt=0;Ie=p=Ie-224|0,We=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,Ve=S[0|(Me=h- -64|0)]|S[Me+1|0]<<8|S[Me+2|0]<<16|S[Me+3|0]<<24,b=S[h+80|0]|S[h+81|0]<<8|S[h+82|0]<<16|S[h+83|0]<<24,B=S[h+32|0]|S[h+33|0]<<8|S[h+34|0]<<16|S[h+35|0]<<24,Q=S[h+48|0]|S[h+49|0]<<8|S[h+50|0]<<16|S[h+51|0]<<24,ut=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,v=S[h+68|0]|S[h+69|0]<<8|S[h+70|0]<<16|S[h+71|0]<<24,L=S[h+84|0]|S[h+85|0]<<8|S[h+86|0]<<16|S[h+87|0]<<24,H=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,j=S[h+36|0]|S[h+37|0]<<8|S[h+38|0]<<16|S[h+39|0]<<24,re=S[h+52|0]|S[h+53|0]<<8|S[h+54|0]<<16|S[h+55|0]<<24,pt=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,Z=S[h+72|0]|S[h+73|0]<<8|S[h+74|0]<<16|S[h+75|0]<<24,ee=S[h+88|0]|S[h+89|0]<<8|S[h+90|0]<<16|S[h+91|0]<<24,de=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,we=S[h+40|0]|S[h+41|0]<<8|S[h+42|0]<<16|S[h+43|0]<<24,ke=S[h+56|0]|S[h+57|0]<<8|S[h+58|0]<<16|S[h+59|0]<<24,ye=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=(S[h+44|0]|S[h+45|0]<<8|S[h+46|0]<<16|S[h+47|0]<<24)&(S[h+60|0]|S[h+61|0]<<8|S[h+62|0]<<16|S[h+63|0]<<24)^(S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24)^(S[h+76|0]|S[h+77|0]<<8|S[h+78|0]<<16|S[h+79|0]<<24)^(S[h+92|0]|S[h+93|0]<<8|S[h+94|0]<<16|S[h+95|0]<<24)^(S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24),k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,pt=we&ke^pt^ee^de^Z,k[f+8|0]=pt,k[f+9|0]=pt>>>8,k[f+10|0]=pt>>>16,k[f+11|0]=pt>>>24,ut=j&re^ut^L^H^v,k[f+4|0]=ut,k[f+5|0]=ut>>>8,k[f+6|0]=ut>>>16,k[f+7|0]=ut>>>24,We=B&Q^We^Ve^b^ye,k[0|f]=We,k[f+1|0]=We>>>8,k[f+2|0]=We>>>16,k[f+3|0]=We>>>24,f=a[h+92>>2],a[p+216>>2]=a[h+88>>2],a[p+220>>2]=f,f=a[h+84>>2],a[p+208>>2]=a[h+80>>2],a[p+212>>2]=f,f=a[h+76>>2],a[p+184>>2]=a[h+72>>2],a[p+188>>2]=f,f=a[Me+4>>2],a[p+176>>2]=a[Me>>2],a[p+180>>2]=f,f=a[h+92>>2],a[p+168>>2]=a[h+88>>2],a[p+172>>2]=f,f=a[h+84>>2],a[p+160>>2]=a[h+80>>2],a[p+164>>2]=f,un(f=p+192|0,p+176|0,p+160|0),Ve=a[p+204>>2],a[h+88>>2]=a[p+200>>2],a[h+92>>2]=Ve,Ve=a[p+196>>2],a[h+80>>2]=a[p+192>>2],a[h+84>>2]=Ve,Ve=a[h+60>>2],a[p+152>>2]=a[h+56>>2],a[p+156>>2]=Ve,Ve=a[h+52>>2],a[p+144>>2]=a[h+48>>2],a[p+148>>2]=Ve,Ve=a[h+76>>2],a[p+136>>2]=a[h+72>>2],a[p+140>>2]=Ve,Ve=a[Me+4>>2],a[p+128>>2]=a[Me>>2],a[p+132>>2]=Ve,un(f,p+144|0,p+128|0),Ve=a[p+204>>2],a[h+72>>2]=a[p+200>>2],a[h+76>>2]=Ve,Ve=a[p+196>>2],a[Me>>2]=a[p+192>>2],a[Me+4>>2]=Ve,Me=a[h+44>>2],a[p+120>>2]=a[h+40>>2],a[p+124>>2]=Me,Me=a[h+36>>2],a[p+112>>2]=a[h+32>>2],a[p+116>>2]=Me,Me=a[h+60>>2],a[p+104>>2]=a[h+56>>2],a[p+108>>2]=Me,Me=a[h+52>>2],a[p+96>>2]=a[h+48>>2],a[p+100>>2]=Me,un(f,p+112|0,p+96|0),Me=a[p+204>>2],a[h+56>>2]=a[p+200>>2],a[h+60>>2]=Me,Me=a[p+196>>2],a[h+48>>2]=a[p+192>>2],a[h+52>>2]=Me,Me=a[h+28>>2],a[p+88>>2]=a[h+24>>2],a[p+92>>2]=Me,Me=a[h+20>>2],a[p+80>>2]=a[h+16>>2],a[p+84>>2]=Me,Me=a[h+44>>2],a[p+72>>2]=a[h+40>>2],a[p+76>>2]=Me,Me=a[h+36>>2],a[p+64>>2]=a[h+32>>2],a[p+68>>2]=Me,un(f,p+80|0,p- -64|0),Me=a[p+204>>2],a[h+40>>2]=a[p+200>>2],a[h+44>>2]=Me,Me=a[p+196>>2],a[h+32>>2]=a[p+192>>2],a[h+36>>2]=Me,Me=a[h+12>>2],a[p+56>>2]=a[h+8>>2],a[p+60>>2]=Me,Me=a[h+4>>2],a[p+48>>2]=a[h>>2],a[p+52>>2]=Me,Me=a[h+28>>2],a[p+40>>2]=a[h+24>>2],a[p+44>>2]=Me,Me=a[h+20>>2],a[p+32>>2]=a[h+16>>2],a[p+36>>2]=Me,un(f,p+48|0,p+32|0),Me=a[p+204>>2],a[h+24>>2]=a[p+200>>2],a[h+28>>2]=Me,Me=a[p+196>>2],a[h+16>>2]=a[p+192>>2],a[h+20>>2]=Me,Me=a[p+220>>2],a[p+24>>2]=a[p+216>>2],a[p+28>>2]=Me,Me=a[p+212>>2],a[p+16>>2]=a[p+208>>2],a[p+20>>2]=Me,Me=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=Me,Me=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=Me,un(f,p+16|0,p),f=a[p+192>>2],Me=a[p+196>>2],Ve=a[p+200>>2],a[h+12>>2]=c^a[p+204>>2],a[h+8>>2]=Ve^pt,a[h+4>>2]=Me^ut,a[h>>2]=f^We,Ie=p+224|0}function I8(f,c){var h,p,b,B,Q,v,L,H,j,re,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0;Ie=h=Ie-800|0,Z=a[c+44>>2],de=a[c+84>>2],we=a[c+48>>2],ke=a[c+88>>2],ye=a[c+52>>2],ee=a[c+92>>2],ut=a[c+56>>2],Me=a[c+96>>2],it=a[c+60>>2],pt=a[c+100>>2],Wt=a[(dt=c- -64|0)>>2],nr=a[c+104>>2],cr=a[c+68>>2],gr=a[c+108>>2],vr=a[c+72>>2],Sr=a[c+112>>2],yr=a[c+40>>2],Kt=a[c+80>>2],Ve=a[c+76>>2],We=a[c+116>>2],a[h+324>>2]=Ve+We,a[h+320>>2]=vr+Sr,a[h+316>>2]=cr+gr,a[h+312>>2]=Wt+nr,a[h+308>>2]=pt+it,a[h+304>>2]=Me+ut,a[h+300>>2]=ee+ye,a[h+296>>2]=we+ke,a[h+292>>2]=Z+de,a[h+288>>2]=yr+Kt,a[h+36>>2]=We-Ve,a[h+32>>2]=Sr-vr,a[h+28>>2]=gr-cr,a[h+24>>2]=nr-Wt,a[h+20>>2]=pt-it,a[h+16>>2]=Me-ut,a[h+12>>2]=ee-ye,a[h+8>>2]=ke-we,a[h+4>>2]=de-Z,a[h>>2]=Kt-yr,Ar(Z=h+288|0,Z,h),Ar(we=h+240|0,c,ye=c+40|0),Et(de=h+192|0,we),Ar(de,Z,de),a[h+452>>2]=0,a[h+456>>2]=0,a[h+460>>2]=0,a[h+464>>2]=0,a[h+468>>2]=0,a[h+436>>2]=0,a[h+440>>2]=0,a[h+444>>2]=0,a[h+448>>2]=0,a[h+432>>2]=1,AM(ke=h+576|0,h+432|0,de),Ar(de=h+720|0,ke,Z),Ar(it=h+672|0,ke,we),Ar(Me=h+48|0,de,it),Ar(Me,Me,Z=c+120|0),Ar(h+528|0,c,1632),Ar(h+480|0,ye,1632),Ar(h+624|0,de,2944),Ar(de=h+336|0,Z,Me),yc(ut=h+384|0,de),ee=S[h+384|0],de=a[c+36>>2],Z=a[c+32>>2],a[h+176>>2]=Z,a[h+180>>2]=de,we=a[c+28>>2],de=a[c+24>>2],a[h+168>>2]=de,a[h+172>>2]=we,ke=a[c+20>>2],we=a[c+16>>2],a[h+160>>2]=we,a[h+164>>2]=ke,ye=a[c+12>>2],ke=a[c+8>>2],a[h+152>>2]=ke,a[h+156>>2]=ye,pt=a[c+4>>2],ye=a[c>>2],a[h+144>>2]=ye,a[h+148>>2]=pt,pt=a[c+44>>2],Wt=a[c+48>>2],nr=a[c+52>>2],cr=a[c+56>>2],gr=a[c+60>>2],vr=a[dt>>2],Sr=a[c+68>>2],yr=a[c+72>>2],Kt=a[c+76>>2],dt=a[c+40>>2],kr=a[h+484>>2],Ve=a[h+148>>2],Jt=a[h+492>>2],We=a[h+156>>2],ur=a[h+500>>2],bt=a[h+164>>2],Mr=a[h+508>>2],Ye=a[h+172>>2],Gr=a[h+516>>2],or=a[h+180>>2],jr=a[h+480>>2],nn=a[h+488>>2],fn=a[h+496>>2],Ne=a[h+504>>2],ee=0-(1&ee)|0,a[h+176>>2]=Z^ee&(Z^a[h+512>>2]),a[h+168>>2]=de^ee&(de^Ne),a[h+160>>2]=we^ee&(we^fn),a[h+152>>2]=ke^ee&(ke^nn),a[h+144>>2]=ye^ee&(ye^jr),a[h+180>>2]=or^ee&(or^Gr),a[h+172>>2]=Ye^ee&(Ye^Mr),a[h+164>>2]=bt^ee&(bt^ur),a[h+156>>2]=We^ee&(We^Jt),a[h+148>>2]=Ve^ee&(Ve^kr),or=a[h+528>>2],kr=a[h+532>>2],Jt=a[h+536>>2],ur=a[h+540>>2],Mr=a[h+544>>2],Gr=a[h+548>>2],jr=a[h+552>>2],nn=a[h+556>>2],fn=a[h+560>>2],Ne=a[h+564>>2],Z=a[h+672>>2],p=a[h+624>>2],de=a[h+676>>2],b=a[h+628>>2],we=a[h+680>>2],B=a[h+632>>2],ke=a[h+684>>2],Q=a[h+636>>2],ye=a[h+688>>2],v=a[h+640>>2],Ve=a[h+692>>2],L=a[h+644>>2],We=a[h+696>>2],H=a[h+648>>2],bt=a[h+700>>2],j=a[h+652>>2],Ye=a[h+704>>2],re=a[h+656>>2],Or=a[h+708>>2],a[h+708>>2]=Or^ee&(a[h+660>>2]^Or),a[h+704>>2]=Ye^ee&(Ye^re),a[h+700>>2]=bt^ee&(bt^j),a[h+696>>2]=We^ee&(We^H),a[h+692>>2]=Ve^ee&(Ve^L),a[h+688>>2]=ye^ee&(ye^v),a[h+684>>2]=ke^ee&(ke^Q),a[h+680>>2]=we^ee&(we^B),a[h+676>>2]=de^ee&(de^b),a[h+672>>2]=Z^ee&(Z^p),Ar(Z=h+96|0,h+144|0,Me),yc(ut,Z),de=a[c+84>>2],we=a[c+88>>2],ke=a[c+92>>2],ye=a[c+96>>2],Me=a[c+100>>2],Ve=a[c+104>>2],We=a[c+108>>2],bt=a[c+112>>2],Ye=a[c+80>>2],Or=a[c+116>>2],c=0-(1&k[h+384|0])|0,Z=Kt^ee&(Kt^Ne),a[h+420>>2]=Or-(c&(0-Z^Z)^Z),Z=yr^ee&(yr^fn),a[h+416>>2]=bt-(c&(0-Z^Z)^Z),Z=Sr^ee&(Sr^nn),a[h+412>>2]=We-(c&(0-Z^Z)^Z),Z=vr^ee&(vr^jr),a[h+408>>2]=Ve-(c&(0-Z^Z)^Z),Z=gr^ee&(gr^Gr),a[h+404>>2]=Me-(c&(0-Z^Z)^Z),Z=cr^ee&(cr^Mr),a[h+400>>2]=ye-(c&(0-Z^Z)^Z),Z=nr^ee&(nr^ur),a[h+396>>2]=ke-(c&(0-Z^Z)^Z),Z=Wt^ee&(Wt^Jt),a[h+392>>2]=we-(c&(0-Z^Z)^Z),Z=pt^ee&(pt^kr),a[h+388>>2]=de-(c&(0-Z^Z)^Z),Z=c,c=dt^ee&(dt^or),a[h+384>>2]=Ye-(Z&(0-c^c)^c),Ar(ut,it,ut),yc(h+768|0,ut),c=0-(1&k[h+768|0])|0,Z=a[h+384>>2],a[h+384>>2]=c&(0-Z^Z)^Z,Z=a[h+388>>2],a[h+388>>2]=c&(0-Z^Z)^Z,Z=a[h+392>>2],a[h+392>>2]=c&(0-Z^Z)^Z,Z=a[h+396>>2],a[h+396>>2]=c&(0-Z^Z)^Z,Z=a[h+400>>2],a[h+400>>2]=c&(0-Z^Z)^Z,Z=a[h+404>>2],a[h+404>>2]=c&(0-Z^Z)^Z,Z=a[h+408>>2],a[h+408>>2]=c&(0-Z^Z)^Z,Z=a[h+412>>2],a[h+412>>2]=c&(0-Z^Z)^Z,Z=a[h+416>>2],a[h+416>>2]=c&(0-Z^Z)^Z,Z=c,c=a[h+420>>2],a[h+420>>2]=Z&(0-c^c)^c,yc(f,ut),Ie=h+800|0}function K5(f,c){var h,p,b,B,Q,v,L,H,j,re=0,Z=0;Ie=h=Ie-288|0,p=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,b=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,B=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,Q=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,v=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,L=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,H=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,j=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,f=a[c+124>>2],a[h+280>>2]=a[c+120>>2],a[h+284>>2]=f,f=a[c+116>>2],a[h+272>>2]=a[c+112>>2],a[h+276>>2]=f,f=a[c+108>>2],a[h+248>>2]=a[c+104>>2],a[h+252>>2]=f,f=a[c+100>>2],a[h+240>>2]=a[c+96>>2],a[h+244>>2]=f,f=a[c+124>>2],a[h+232>>2]=a[c+120>>2],a[h+236>>2]=f,f=a[c+116>>2],a[h+224>>2]=a[c+112>>2],a[h+228>>2]=f,un(Z=h+256|0,h+240|0,h+224|0),f=a[h+268>>2],a[c+120>>2]=a[h+264>>2],a[c+124>>2]=f,f=a[h+260>>2],a[c+112>>2]=a[h+256>>2],a[c+116>>2]=f,f=a[c+92>>2],a[h+216>>2]=a[c+88>>2],a[h+220>>2]=f,f=a[c+84>>2],a[h+208>>2]=a[c+80>>2],a[h+212>>2]=f,f=a[c+108>>2],a[h+200>>2]=a[c+104>>2],a[h+204>>2]=f,f=a[c+100>>2],a[h+192>>2]=a[c+96>>2],a[h+196>>2]=f,un(Z,h+208|0,h+192|0),f=a[h+268>>2],a[c+104>>2]=a[h+264>>2],a[c+108>>2]=f,f=a[h+260>>2],a[c+96>>2]=a[h+256>>2],a[c+100>>2]=f,f=a[c+76>>2],a[h+184>>2]=a[c+72>>2],a[h+188>>2]=f,re=a[4+(f=c- -64|0)>>2],a[h+176>>2]=a[f>>2],a[h+180>>2]=re,re=a[c+92>>2],a[h+168>>2]=a[c+88>>2],a[h+172>>2]=re,re=a[c+84>>2],a[h+160>>2]=a[c+80>>2],a[h+164>>2]=re,un(Z,h+176|0,h+160|0),re=a[h+268>>2],a[c+88>>2]=a[h+264>>2],a[c+92>>2]=re,re=a[h+260>>2],a[c+80>>2]=a[h+256>>2],a[c+84>>2]=re,re=a[c+60>>2],a[h+152>>2]=a[c+56>>2],a[h+156>>2]=re,re=a[c+52>>2],a[h+144>>2]=a[c+48>>2],a[h+148>>2]=re,re=a[c+76>>2],a[h+136>>2]=a[c+72>>2],a[h+140>>2]=re,re=a[f+4>>2],a[h+128>>2]=a[f>>2],a[h+132>>2]=re,un(Z,h+144|0,h+128|0),re=a[h+268>>2],a[c+72>>2]=a[h+264>>2],a[c+76>>2]=re,re=a[h+260>>2],a[f>>2]=a[h+256>>2],a[f+4>>2]=re,re=a[c+44>>2],a[h+120>>2]=a[c+40>>2],a[h+124>>2]=re,re=a[c+36>>2],a[h+112>>2]=a[c+32>>2],a[h+116>>2]=re,re=a[c+60>>2],a[h+104>>2]=a[c+56>>2],a[h+108>>2]=re,re=a[c+52>>2],a[h+96>>2]=a[c+48>>2],a[h+100>>2]=re,un(Z,h+112|0,h+96|0),re=a[h+268>>2],a[c+56>>2]=a[h+264>>2],a[c+60>>2]=re,re=a[h+260>>2],a[c+48>>2]=a[h+256>>2],a[c+52>>2]=re,re=a[c+28>>2],a[h+88>>2]=a[c+24>>2],a[h+92>>2]=re,re=a[c+20>>2],a[h+80>>2]=a[c+16>>2],a[h+84>>2]=re,re=a[c+44>>2],a[h+72>>2]=a[c+40>>2],a[h+76>>2]=re,re=a[c+36>>2],a[h+64>>2]=a[c+32>>2],a[h+68>>2]=re,un(Z,h+80|0,h- -64|0),re=a[h+268>>2],a[c+40>>2]=a[h+264>>2],a[c+44>>2]=re,re=a[h+260>>2],a[c+32>>2]=a[h+256>>2],a[c+36>>2]=re,re=a[c+12>>2],a[h+56>>2]=a[c+8>>2],a[h+60>>2]=re,re=a[c+4>>2],a[h+48>>2]=a[c>>2],a[h+52>>2]=re,re=a[c+28>>2],a[h+40>>2]=a[c+24>>2],a[h+44>>2]=re,re=a[c+20>>2],a[h+32>>2]=a[c+16>>2],a[h+36>>2]=re,un(Z,h+48|0,h+32|0),re=a[h+268>>2],a[c+24>>2]=a[h+264>>2],a[c+28>>2]=re,re=a[h+260>>2],a[c+16>>2]=a[h+256>>2],a[c+20>>2]=re,re=a[h+284>>2],a[h+24>>2]=a[h+280>>2],a[h+28>>2]=re,re=a[h+276>>2],a[h+16>>2]=a[h+272>>2],a[h+20>>2]=re,re=a[c+12>>2],a[h+8>>2]=a[c+8>>2],a[h+12>>2]=re,re=a[c+4>>2],a[h>>2]=a[c>>2],a[h+4>>2]=re,un(Z,h+16|0,h),Z=a[h+268>>2],a[c+8>>2]=a[h+264>>2],a[c+12>>2]=Z,Z=a[h+260>>2],a[c>>2]=a[h+256>>2],a[c+4>>2]=Z,a[c+12>>2]=(S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24)^H,a[c+8>>2]=(S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24)^L,a[c+4>>2]=(S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24)^v,a[c>>2]=(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24)^j,a[f>>2]=(S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24)^Q,a[c+68>>2]=(S[c+68|0]|S[c+69|0]<<8|S[c+70|0]<<16|S[c+71|0]<<24)^B,a[c+72>>2]=(S[c+72|0]|S[c+73|0]<<8|S[c+74|0]<<16|S[c+75|0]<<24)^b,a[c+76>>2]=(S[c+76|0]|S[c+77|0]<<8|S[c+78|0]<<16|S[c+79|0]<<24)^p,Ie=h+288|0}function tH(f,c,h,p){var b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We=0,ut=0,pt=0,bt=0;Ie=b=Ie-240|0,a[b+200>>2]=0,a[b+204>>2]=0,a[b+192>>2]=0,a[b+196>>2]=0,Di(ut=b+192|0,c,h),pt=S[p+16|0]|S[p+17|0]<<8|S[p+18|0]<<16|S[p+19|0]<<24,bt=S[0|(c=p- -64|0)]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,We=S[p+80|0]|S[p+81|0]<<8|S[p+82|0]<<16|S[p+83|0]<<24,B=S[p+32|0]|S[p+33|0]<<8|S[p+34|0]<<16|S[p+35|0]<<24,Q=S[p+48|0]|S[p+49|0]<<8|S[p+50|0]<<16|S[p+51|0]<<24,v=S[p+20|0]|S[p+21|0]<<8|S[p+22|0]<<16|S[p+23|0]<<24,L=S[p+68|0]|S[p+69|0]<<8|S[p+70|0]<<16|S[p+71|0]<<24,H=S[p+84|0]|S[p+85|0]<<8|S[p+86|0]<<16|S[p+87|0]<<24,j=S[p+36|0]|S[p+37|0]<<8|S[p+38|0]<<16|S[p+39|0]<<24,re=S[p+52|0]|S[p+53|0]<<8|S[p+54|0]<<16|S[p+55|0]<<24,Z=S[p+24|0]|S[p+25|0]<<8|S[p+26|0]<<16|S[p+27|0]<<24,ee=S[p+72|0]|S[p+73|0]<<8|S[p+74|0]<<16|S[p+75|0]<<24,de=S[p+88|0]|S[p+89|0]<<8|S[p+90|0]<<16|S[p+91|0]<<24,we=S[p+40|0]|S[p+41|0]<<8|S[p+42|0]<<16|S[p+43|0]<<24,ke=S[p+56|0]|S[p+57|0]<<8|S[p+58|0]<<16|S[p+59|0]<<24,ye=a[b+192>>2],Me=a[b+196>>2],Ve=a[b+200>>2],a[b+204>>2]=(S[p+44|0]|S[p+45|0]<<8|S[p+46|0]<<16|S[p+47|0]<<24)&(S[p+60|0]|S[p+61|0]<<8|S[p+62|0]<<16|S[p+63|0]<<24)^(S[p+28|0]|S[p+29|0]<<8|S[p+30|0]<<16|S[p+31|0]<<24)^(S[p+76|0]|S[p+77|0]<<8|S[p+78|0]<<16|S[p+79|0]<<24)^a[b+204>>2]^(S[p+92|0]|S[p+93|0]<<8|S[p+94|0]<<16|S[p+95|0]<<24),a[b+200>>2]=we&ke^de^Ve^ee^Z,a[b+196>>2]=j&re^H^Me^L^v,a[b+192>>2]=B&Q^pt^bt^We^ye,yo(h+ut|0,0,16-h|0),Di(f,ut,h),h=a[b+192>>2],ut=a[b+196>>2],pt=a[b+200>>2],bt=a[b+204>>2],f=a[p+92>>2],a[b+232>>2]=a[p+88>>2],a[b+236>>2]=f,f=a[p+84>>2],a[b+224>>2]=a[p+80>>2],a[b+228>>2]=f,f=a[p+76>>2],a[b+184>>2]=a[p+72>>2],a[b+188>>2]=f,f=a[c+4>>2],a[b+176>>2]=a[c>>2],a[b+180>>2]=f,f=a[p+92>>2],a[b+168>>2]=a[p+88>>2],a[b+172>>2]=f,f=a[p+84>>2],a[b+160>>2]=a[p+80>>2],a[b+164>>2]=f,un(f=b+208|0,b+176|0,b+160|0),We=a[b+220>>2],a[p+88>>2]=a[b+216>>2],a[p+92>>2]=We,We=a[b+212>>2],a[p+80>>2]=a[b+208>>2],a[p+84>>2]=We,We=a[p+60>>2],a[b+152>>2]=a[p+56>>2],a[b+156>>2]=We,We=a[p+52>>2],a[b+144>>2]=a[p+48>>2],a[b+148>>2]=We,We=a[p+76>>2],a[b+136>>2]=a[p+72>>2],a[b+140>>2]=We,We=a[c+4>>2],a[b+128>>2]=a[c>>2],a[b+132>>2]=We,un(f,b+144|0,b+128|0),We=a[b+220>>2],a[p+72>>2]=a[b+216>>2],a[p+76>>2]=We,We=a[b+212>>2],a[c>>2]=a[b+208>>2],a[c+4>>2]=We,c=a[p+44>>2],a[b+120>>2]=a[p+40>>2],a[b+124>>2]=c,c=a[p+36>>2],a[b+112>>2]=a[p+32>>2],a[b+116>>2]=c,c=a[p+60>>2],a[b+104>>2]=a[p+56>>2],a[b+108>>2]=c,c=a[p+52>>2],a[b+96>>2]=a[p+48>>2],a[b+100>>2]=c,un(f,b+112|0,b+96|0),c=a[b+220>>2],a[p+56>>2]=a[b+216>>2],a[p+60>>2]=c,c=a[b+212>>2],a[p+48>>2]=a[b+208>>2],a[p+52>>2]=c,c=a[p+28>>2],a[b+88>>2]=a[p+24>>2],a[b+92>>2]=c,c=a[p+20>>2],a[b+80>>2]=a[p+16>>2],a[b+84>>2]=c,c=a[p+44>>2],a[b+72>>2]=a[p+40>>2],a[b+76>>2]=c,c=a[p+36>>2],a[b+64>>2]=a[p+32>>2],a[b+68>>2]=c,un(f,b+80|0,b- -64|0),c=a[b+220>>2],a[p+40>>2]=a[b+216>>2],a[p+44>>2]=c,c=a[b+212>>2],a[p+32>>2]=a[b+208>>2],a[p+36>>2]=c,c=a[p+12>>2],a[b+56>>2]=a[p+8>>2],a[b+60>>2]=c,c=a[p+4>>2],a[b+48>>2]=a[p>>2],a[b+52>>2]=c,c=a[p+28>>2],a[b+40>>2]=a[p+24>>2],a[b+44>>2]=c,c=a[p+20>>2],a[b+32>>2]=a[p+16>>2],a[b+36>>2]=c,un(f,b+48|0,b+32|0),c=a[b+220>>2],a[p+24>>2]=a[b+216>>2],a[p+28>>2]=c,c=a[b+212>>2],a[p+16>>2]=a[b+208>>2],a[p+20>>2]=c,c=a[b+236>>2],a[b+24>>2]=a[b+232>>2],a[b+28>>2]=c,c=a[b+228>>2],a[b+16>>2]=a[b+224>>2],a[b+20>>2]=c,c=a[p+12>>2],a[b+8>>2]=a[p+8>>2],a[b+12>>2]=c,c=a[p+4>>2],a[b>>2]=a[p>>2],a[b+4>>2]=c,un(f,b+16|0,b),f=a[b+208>>2],c=a[b+212>>2],We=a[b+216>>2],a[p+12>>2]=bt^a[b+220>>2],a[p+8>>2]=We^pt,a[p+4>>2]=c^ut,a[p>>2]=f^h,Ie=b+240|0}function rH(f,c,h,p,b){f|=0,c|=0,h|=0,p|=0;var B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0;if(v=1886610805^(p=S[0|(b|=0)]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),Q=1936682341^(B=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24),H=1852142177^p,L=1819895653^B,B=1852075885^(p=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24),b=1685025377^(re=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24),j=2037671283^p,re^=1952801890,(0|(we=(c+h|0)-(ee=7&h)|0))!=(0|c))for(;j=H=H+(p=j^(Me=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24))|0,L=L+(re^=Ve=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24)|0,L=p>>>0>H>>>0?L+1|0:L,Q=b+Q|0,Q=(de=v)>>>0>(v=B+v|0)>>>0?Q+1|0:Q,b=H+(B=Ke(B,b,13)^v)|0,H=L+(Z=$^Q)|0,Z=Ke(B,Z,17)^b,ke=Ke(Z,H=(de=b>>>0<B>>>0?H+1|0:H)^$,13),ye=$,p=Ke(p,re,16),B=L^$,L=p^j,v=Ke(v,Q,32),j=H,H=$+B|0,j=1+(v=j+(Q=(p=L+v|0)>>>0<v>>>0?H+1|0:H)|0)|0,H=v,H=(v=p+Z|0)>>>0<p>>>0?j:H,ke=Ke(j=v^ke,re=H^ye,17),ye=$,B=Ke(L,B,21),Q^=$,We=p^B,b=Ke(b,de,32),B=$+Q|0,b=re+(de=(p=We+b|0)>>>0<b>>>0?B+1|0:B)|0,B=(L=p+j|0)^ke,b=(Z=L>>>0<p>>>0?b+1|0:b)^ye,Q=Ke(We,Q,16),re=j=de^$,Q=Ke(p^=Q,j,21),de=$,j=(p=(v=Ke(v,H,32))+p|0)^Q,H=$+re|0,re=(Q=p>>>0<v>>>0?H+1|0:H)^de,H=Ke(L,Z,32),L=$,v=p^Me,Q^=Ve,(0|we)!=(0|(c=c+8|0)););switch(h<<=24,p=0,ee-1|0){case 6:h|=S[c+6|0]<<16;case 5:h|=S[c+5|0]<<8;case 4:h|=S[c+4|0];case 3:Z=(p=S[c+3|0])>>>8|0,p<<=24,h|=Z;case 2:p|=(Z=S[c+2|0])<<16,h|=ee=Z>>>16|0;case 1:p|=(Z=S[c+1|0])<<8,h|=ee=Z>>>24|0;case 0:p=S[0|c]|p}return re=Ke(c=p^j,j=h^re,16),L=L+j|0,H=(c=c+H|0)>>>0<H>>>0?L+1|0:L,re=Ke(L=c^re,j=H^$,21),Z=$,de=1+(Q=b+Q|0)|0,ee=Q,ee=v=v>>>0>(Q=B+v|0)>>>0?de:ee,we=Ke(Q,v,32),j=$+j|0,Z=Ke(L=re^(v=L+we|0),re=Z^(j=v>>>0<we>>>0?j+1|0:j),16),we=$,b=Ke(B,b,13)^Q,B=(B=H)+(H=$^ee)|0,ee=Ke(c=c+b|0,Q=c>>>0<b>>>0?B+1|0:B,32),re=$+re|0,ee=Ke(L=Z^(B=L+ee|0),Z=(re=B>>>0<ee>>>0?re+1|0:re)^we,21),we=$,c=v+(b=H=Ke(b,H,17)^c)|0,v=(Q^=$)+j|0,j=b=c>>>0<b>>>0?v+1|0:v,de=ee,v=L+(ee=Ke(c,b,32))|0,L=$+Z|0,ee=Ke(b=de^v,Z=(L=v>>>0<ee>>>0?L+1|0:L)^we,16),we=$,de=B,Q=Ke(H,Q,13)^c,H=(j^=$)+re|0,re=B=(c=de+(B=Q)|0)>>>0<B>>>0?H+1|0:H,B=Ke(c,B,32),H=Z+$|0,Z=(de=b)>>>0>(b=b+(255^B)|0)>>>0?H+1|0:H,ee=Ke(H=b^ee,B=we^Z,21),we=$,Q=Ke(Q,j,17)^c,h=(j=re^$)+(h^L)|0,L=h=(c=Q+(p^=v)|0)>>>0<p>>>0?h+1|0:h,h=Ke(c,h,32),p=B+$|0,H=Ke(v=(h=h+H|0)^ee,p=(B=h>>>0<H>>>0?p+1|0:p)^we,16),re=$,Q=Ke(Q,j,13)^c,j=Z+(L^=$)|0,j=b=(c=b+Q|0)>>>0<b>>>0?j+1|0:j,b=Ke(c,b,32),ee=re,de=1+(p=p+$|0)|0,re=p,re=(p=b+v|0)>>>0<v>>>0?de:re,H=Ke(v=p^H,b=ee^re,21),Z=$,Q=Ke(Q,L,17),de=1+(B=B+(L=j^$)|0)|0,j=B,Q=c=(ee=h)>>>0>(h=h+(B=c^Q)|0)>>>0?de:j,c=Ke(h,c,32),b=b+$|0,j=(c=c+v|0)>>>0<v>>>0?b+1|0:b,H=Ke(v=c^H,b=j^Z,16),Z=$,B=Ke(B,L,13),L=re+(Q^=$)|0,L=h=(re=p)>>>0>(p=p+(B^=h)|0)>>>0?L+1|0:L,h=Ke(p,h,32),b=b+$|0,re=(h=h+v|0)>>>0<v>>>0?b+1|0:b,H=Ke(v=h^H,b=re^Z,21),Z=$,B=Ke(B,Q,17),ee=1+(L=j+(Q=L^$)|0)|0,j=L,c=Ke(p=c+(L=p^B)|0,B=p>>>0<c>>>0?ee:j,32),b=b+$|0,j=(c=c+v|0)>>>0<v>>>0?b+1|0:b,H=Ke(v=c^H,b=j^Z,16),Z=$,Q=Ke(L,Q,13),L=re+(B^=$)|0,L=h=(p=h+(Q^=p)|0)>>>0<h>>>0?L+1|0:L,h=Ke(p,h,32),b=b+$|0,v=Ke((h=h+v|0)^H,(b=h>>>0<v>>>0?b+1|0:b)^Z,21),H=$,p=Ke(Q,B,17)^p,Q=Ke(p,B=L^$,13),B=B+j|0,c=$^(c>>>0>(p=c+p|0)>>>0?B+1:B),v=Ke(p^=Q,c,17)^v,B=$^H,L=1+(c=c+b|0)|0,b=c,c=Ke(c=h+p|0,h=h>>>0>c>>>0?L:b,32)^v^c,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,c=h^$^B,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,0}function nH(f,c){var h,p,b,B,Q,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0;Ie=h=Ie-624|0,Et(v=h+480|0,c),Ar(v,1632,v),H=a[h+516>>2],a[h+276>>2]=H,j=a[h+512>>2],a[h+272>>2]=j,re=a[h+508>>2],a[h+268>>2]=re,Z=a[h+504>>2],a[h+264>>2]=Z,ee=a[h+500>>2],a[h+260>>2]=ee,de=a[h+496>>2],a[h+256>>2]=de,we=a[h+492>>2],a[h+252>>2]=we,ke=a[h+488>>2],a[h+248>>2]=ke,ye=a[h+484>>2],a[h+244>>2]=ye,Ve=a[h+480>>2],a[h+240>>2]=Ve+1,Ar(L=h+240|0,L,33968),a[h+468>>2]=H-12055116,a[h+464>>2]=j-18696448,a[h+460>>2]=re-3247719,a[h+456>>2]=Z-6275908,a[h+452>>2]=ee-8787816,a[h+448>>2]=de+114729,a[h+444>>2]=we+6949391,a[h+440>>2]=ke-15372611,a[h+436>>2]=ye+13857413,a[h+432>>2]=Ve-10913610,Ar(Me=h+192|0,v,1584),a[h+228>>2]=0-a[h+228>>2],a[h+224>>2]=0-a[h+224>>2],a[h+220>>2]=0-a[h+220>>2],a[h+216>>2]=0-a[h+216>>2],a[h+212>>2]=0-a[h+212>>2],a[h+208>>2]=0-a[h+208>>2],a[h+204>>2]=0-a[h+204>>2],a[h+200>>2]=0-a[h+200>>2],a[h+196>>2]=0-a[h+196>>2],a[h+192>>2]=~a[h+192>>2],Ar(Me,Me,h+432|0),v=AM(p=h+384|0,L,Me),Ar(L=h+336|0,p,c),yc(b=h+576|0,L),Q=S[h+576|0],cr=a[h+420>>2],L=a[h+372>>2],gr=a[h+416>>2],We=a[h+368>>2],vr=a[h+412>>2],ut=a[h+364>>2],Sr=a[h+408>>2],pt=a[h+360>>2],yr=a[h+404>>2],bt=a[h+356>>2],Kt=a[h+400>>2],Ye=a[h+352>>2],or=a[h+396>>2],it=a[h+348>>2],Or=a[h+392>>2],dt=a[h+344>>2],kr=a[h+388>>2],Wt=a[h+340>>2],B=a[h+384>>2],nr=a[h+336>>2],c=v-1|0,a[h+612>>2]=c&H,a[h+608>>2]=c&j,a[h+604>>2]=c&re,a[h+600>>2]=c&Z,a[h+596>>2]=c&ee,a[h+592>>2]=c&de,a[h+588>>2]=c&we,a[h+584>>2]=c&ke,a[h+580>>2]=c&ye,a[h+576>>2]=Ve|0-v,nr=c&(0-(nr^(v=0-(1&Q)|0)&(nr^0-nr))^B)^B,a[h+384>>2]=nr,Wt=kr^c&(kr^0-(Wt^v&(Wt^0-Wt))),a[h+388>>2]=Wt,dt=Or^c&(Or^0-(dt^v&(dt^0-dt))),a[h+392>>2]=dt,it=or^c&(or^0-(it^v&(it^0-it))),a[h+396>>2]=it,Ye=Kt^c&(Kt^0-(Ye^v&(Ye^0-Ye))),a[h+400>>2]=Ye,bt=yr^c&(yr^0-(bt^v&(bt^0-bt))),a[h+404>>2]=bt,pt=Sr^c&(Sr^0-(pt^v&(pt^0-pt))),a[h+408>>2]=pt,ut=vr^c&(vr^0-(ut^v&(ut^0-ut))),a[h+412>>2]=ut,We=gr^c&(gr^0-(We^v&(We^0-We))),a[h+416>>2]=We,v=cr^c&(cr^0-(L^v&(L^0-L))),a[h+420>>2]=v,a[h+564>>2]=H,a[h+560>>2]=j,a[h+556>>2]=re,a[h+552>>2]=Z,a[h+548>>2]=ee,a[h+544>>2]=de,a[h+540>>2]=we,a[h+536>>2]=ke,a[h+532>>2]=ye,a[h+528>>2]=Ve-1,Ar(c=h+528|0,c,b),Ar(c,c,34016),H=a[h+192>>2],j=a[h+528>>2],re=a[h+196>>2],Z=a[h+532>>2],ee=a[h+200>>2],de=a[h+536>>2],we=a[h+204>>2],ke=a[h+540>>2],ye=a[h+208>>2],Ve=a[h+544>>2],L=a[h+212>>2],cr=a[h+548>>2],gr=a[h+216>>2],vr=a[h+552>>2],Sr=a[h+220>>2],yr=a[h+556>>2],Kt=a[h+224>>2],or=a[h+560>>2],Or=a[h+228>>2],kr=a[h+564>>2],a[h+180>>2]=v<<1,a[h+176>>2]=We<<1,a[h+172>>2]=ut<<1,a[h+168>>2]=pt<<1,a[h+164>>2]=bt<<1,a[h+160>>2]=Ye<<1,a[h+156>>2]=it<<1,a[h+152>>2]=dt<<1,a[h+148>>2]=Wt<<1,a[h+144>>2]=nr<<1,a[h+564>>2]=kr-Or,a[h+560>>2]=or-Kt,a[h+556>>2]=yr-Sr,a[h+552>>2]=vr-gr,a[h+548>>2]=cr-L,a[h+544>>2]=Ve-ye,a[h+540>>2]=ke-we,a[h+536>>2]=de-ee,a[h+532>>2]=Z-re,a[h+528>>2]=j-H,Ar(v=h+144|0,v,Me),Ar(Me=h+96|0,c,34064),Et(h+288|0,p),c=a[h+324>>2],a[h+84>>2]=0-c,H=a[h+320>>2],a[h+80>>2]=0-H,j=a[h+316>>2],a[h+76>>2]=0-j,re=a[h+312>>2],a[h+72>>2]=0-re,Z=a[h+308>>2],a[h+68>>2]=0-Z,ee=a[h+304>>2],a[h+64>>2]=0-ee,de=a[h+300>>2],a[h+60>>2]=0-de,we=a[h+296>>2],a[h+56>>2]=0-we,ke=a[h+292>>2],a[h+52>>2]=0-ke,ye=a[h+288>>2],a[h+48>>2]=1-ye,a[h+36>>2]=c,a[h+32>>2]=H,a[h+28>>2]=j,a[h+24>>2]=re,a[h+20>>2]=Z,a[h+16>>2]=ee,a[h+12>>2]=de,a[h+8>>2]=we,a[h+4>>2]=ke,a[h>>2]=ye+1,Ar(f,v,h),Ar(f+40|0,c=h+48|0,Me),Ar(f+80|0,Me,h),Ar(f+120|0,v,c),Ie=h+624|0}function sM(f,c,h){var p,b=0,B=0,Q=0,v=0,L=0;Ie=p=Ie+-64|0;e:{if((h-65&255)>>>0>191){if(B=-1,!(S[f+80|0]|S[f+81|0]<<8|S[f+82|0]<<16|S[f+83|0]<<24|S[f+84|0]|S[f+85|0]<<8|S[f+86|0]<<16|S[f+87|0]<<24)){if((Q=S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)>>>0>=129){if(v=b=S[f+68|0]|S[f+69|0]<<8|S[f+70|0]<<16|S[f+71|0]<<24,b=(Q=128+(B=S[f+64|0]|S[f+65|0]<<8|S[f+66|0]<<16|S[f+67|0]<<24)|0)>>>0<128?b+1|0:b,k[f+64|0]=Q,k[f+65|0]=Q>>>8,k[f+66|0]=Q>>>16,k[f+67|0]=Q>>>24,k[f+68|0]=b,k[f+69|0]=b>>>8,k[f+70|0]=b>>>16,k[f+71|0]=b>>>24,b=S[f+76|0]|S[f+77|0]<<8|S[f+78|0]<<16|S[f+79|0]<<24,b=(L=B=(0|v)==-1&B>>>0>4294967167)>>>0>(B=B+(S[f+72|0]|S[f+73|0]<<8|S[f+74|0]<<16|S[f+75|0]<<24)|0)>>>0?b+1|0:b,k[f+72|0]=B,k[f+73|0]=B>>>8,k[f+74|0]=B>>>16,k[f+75|0]=B>>>24,k[f+76|0]=b,k[f+77|0]=b>>>8,k[f+78|0]=b>>>16,k[f+79|0]=b>>>24,Qr(f,b=f+96|0),B=(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)-128|0,k[f+352|0]=B,k[f+353|0]=B>>>8,k[f+354|0]=B>>>16,k[f+355|0]=B>>>24,B>>>0>=129)break e;Di(b,f+224|0,B),Q=S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24}B=L=S[f+68|0]|S[f+69|0]<<8|S[f+70|0]<<16|S[f+71|0]<<24,B=(v=Q+(b=S[f+64|0]|S[f+65|0]<<8|S[f+66|0]<<16|S[f+67|0]<<24)|0)>>>0<Q>>>0?B+1|0:B,k[f+64|0]=v,k[f+65|0]=v>>>8,k[f+66|0]=v>>>16,k[f+67|0]=v>>>24,k[f+68|0]=B,k[f+69|0]=B>>>8,k[f+70|0]=B>>>16,k[f+71|0]=B>>>24,B=(0|B)==(0|L)&b>>>0>v>>>0|B>>>0<L>>>0,b=S[f+76|0]|S[f+77|0]<<8|S[f+78|0]<<16|S[f+79|0]<<24,b=(L=B)>>>0>(B=B+(S[f+72|0]|S[f+73|0]<<8|S[f+74|0]<<16|S[f+75|0]<<24)|0)>>>0?b+1|0:b,k[f+72|0]=B,k[f+73|0]=B>>>8,k[f+74|0]=B>>>16,k[f+75|0]=B>>>24,k[f+76|0]=b,k[f+77|0]=b>>>8,k[f+78|0]=b>>>16,k[f+79|0]=b>>>24,S[f+356|0]&&(k[f+88|0]=255,k[f+89|0]=255,k[f+90|0]=255,k[f+91|0]=255,k[f+92|0]=255,k[f+93|0]=255,k[f+94|0]=255,k[f+95|0]=255),k[f+80|0]=255,k[f+81|0]=255,k[f+82|0]=255,k[f+83|0]=255,k[f+84|0]=255,k[f+85|0]=255,k[f+86|0]=255,k[f+87|0]=255,yo((B=f+96|0)+Q|0,0,256-Q|0),Qr(f,B),b=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,a[p>>2]=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,a[p+4>>2]=b,b=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,a[p+8>>2]=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,a[p+12>>2]=b,b=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,a[p+16>>2]=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,a[p+20>>2]=b,b=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,a[p+24>>2]=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,a[p+28>>2]=b,b=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,a[p+32>>2]=S[f+32|0]|S[f+33|0]<<8|S[f+34|0]<<16|S[f+35|0]<<24,a[p+36>>2]=b,b=S[f+44|0]|S[f+45|0]<<8|S[f+46|0]<<16|S[f+47|0]<<24,a[p+40>>2]=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24,a[p+44>>2]=b,b=S[f+52|0]|S[f+53|0]<<8|S[f+54|0]<<16|S[f+55|0]<<24,a[p+48>>2]=S[f+48|0]|S[f+49|0]<<8|S[f+50|0]<<16|S[f+51|0]<<24,a[p+52>>2]=b,b=S[f+60|0]|S[f+61|0]<<8|S[f+62|0]<<16|S[f+63|0]<<24,a[p+56>>2]=S[f+56|0]|S[f+57|0]<<8|S[f+58|0]<<16|S[f+59|0]<<24,a[p+60>>2]=b,Di(c,p,h),bn(f,64),bn(B,256),B=0}return Ie=p- -64|0,B}Bs(),Rr()}ot(1386,1234,306,1142),Rr()}function iH(f,c,h){f|=0,c|=0,h|=0;var p,b,B,Q=0,v=0;Ie=p=Ie-192|0,a[p+144>>2]=0,a[p+148>>2]=0,a[p+152>>2]=0,a[p+156>>2]=0,a[p+104>>2]=0,a[p+108>>2]=0,a[p+112>>2]=0,a[p+116>>2]=0,a[p+120>>2]=0,a[p+124>>2]=0,Q=a[8799],a[p+168>>2]=a[8798],a[p+172>>2]=Q,Q=a[8801],a[p+176>>2]=a[8800],a[p+180>>2]=Q,Q=a[8803],a[p+184>>2]=a[8802],a[p+188>>2]=Q,a[p+128>>2]=0,a[p+132>>2]=0,a[p+136>>2]=0,a[p+140>>2]=0,a[p+96>>2]=0,a[p+100>>2]=0,Q=a[8797],a[p+160>>2]=a[8796],a[p+164>>2]=Q,Q=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,a[p+80>>2]=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,a[p+84>>2]=Q,Q=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,a[p+88>>2]=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,a[p+92>>2]=Q,Q=S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24,a[p+64>>2]=S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24,a[p+68>>2]=Q,Q=S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24,a[p+72>>2]=S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24,a[p+76>>2]=Q,Qre(h=p+128|0,Q=p- -64|0),ho(h),v=a[p+156>>2],a[p+24>>2]=a[p+152>>2],a[p+28>>2]=v,v=a[p+148>>2],a[p+16>>2]=a[p+144>>2],a[p+20>>2]=v,v=a[p+140>>2],a[p+8>>2]=a[p+136>>2],a[p+12>>2]=v,v=a[p+132>>2],a[p>>2]=a[p+128>>2],a[p+4>>2]=v,a[p+120>>2]=0,a[p+124>>2]=0,a[p+112>>2]=0,a[p+116>>2]=0,a[p+104>>2]=0,a[p+108>>2]=0,a[p+96>>2]=0,a[p+100>>2]=0,v=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[p+80>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[p+84>>2]=v,v=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[p+88>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[p+92>>2]=v,v=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,b=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,B=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[p+56>>2]=0,a[p+60>>2]=0,a[p+48>>2]=0,a[p+52>>2]=0,a[p+40>>2]=0,a[p+44>>2]=0,a[p+64>>2]=B,a[p+68>>2]=c,a[p+72>>2]=v,a[p+76>>2]=b,a[p+32>>2]=0,a[p+36>>2]=0,UTe(Q,p),c=a[p+124>>2],a[p+184>>2]=a[p+120>>2],a[p+188>>2]=c,c=a[p+116>>2],a[p+176>>2]=a[p+112>>2],a[p+180>>2]=c,c=a[p+108>>2],a[p+168>>2]=a[p+104>>2],a[p+172>>2]=c,c=a[p+100>>2],a[p+160>>2]=a[p+96>>2],a[p+164>>2]=c,c=a[p+92>>2],a[p+152>>2]=a[p+88>>2],a[p+156>>2]=c,c=a[p+84>>2],a[p+144>>2]=a[p+80>>2],a[p+148>>2]=c,c=a[p+76>>2],a[p+136>>2]=a[p+72>>2],a[p+140>>2]=c,c=a[p+68>>2],a[p+128>>2]=a[p+64>>2],a[p+132>>2]=c,ho(h),c=a[p+156>>2],Q=a[p+152>>2],k[f+24|0]=Q,k[f+25|0]=Q>>>8,k[f+26|0]=Q>>>16,k[f+27|0]=Q>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[p+148>>2],Q=a[p+144>>2],k[f+16|0]=Q,k[f+17|0]=Q>>>8,k[f+18|0]=Q>>>16,k[f+19|0]=Q>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[p+140>>2],Q=a[p+136>>2],k[f+8|0]=Q,k[f+9|0]=Q>>>8,k[f+10|0]=Q>>>16,k[f+11|0]=Q>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[p+132>>2],Q=a[p+128>>2],k[0|f]=Q,k[f+1|0]=Q>>>8,k[f+2|0]=Q>>>16,k[f+3|0]=Q>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,bn(h,64),Ie=p+192|0}function cM(f){var c,h,p,b,B,Q,v,L,H,j,re=0,Z=0,ee=0,de=0,we=0;for(Ie=c=Ie-2048|0,mc(de=c+640|0,f),re=a[f+36>>2],a[c+352>>2]=a[f+32>>2],a[c+356>>2]=re,re=a[f+28>>2],a[c+344>>2]=a[f+24>>2],a[c+348>>2]=re,re=a[f+20>>2],a[c+336>>2]=a[f+16>>2],a[c+340>>2]=re,re=a[f+12>>2],a[c+328>>2]=a[f+8>>2],a[c+332>>2]=re,re=a[f+4>>2],a[c+320>>2]=a[f>>2],a[c+324>>2]=re,re=a[f+52>>2],a[c+368>>2]=a[f+48>>2],a[c+372>>2]=re,re=a[f+60>>2],a[c+376>>2]=a[f+56>>2],a[c+380>>2]=re,re=a[4+(ee=f- -64|0)>>2],a[c+384>>2]=a[ee>>2],a[c+388>>2]=re,re=a[f+76>>2],a[c+392>>2]=a[f+72>>2],a[c+396>>2]=re,re=a[f+44>>2],a[c+360>>2]=a[f+40>>2],a[c+364>>2]=re,re=a[f+92>>2],a[c+408>>2]=a[f+88>>2],a[c+412>>2]=re,re=a[f+100>>2],a[c+416>>2]=a[f+96>>2],a[c+420>>2]=re,re=a[f+108>>2],a[c+424>>2]=a[f+104>>2],a[c+428>>2]=re,re=a[f+116>>2],a[c+432>>2]=a[f+112>>2],a[c+436>>2]=re,re=a[f+84>>2],a[c+400>>2]=a[f+80>>2],a[c+404>>2]=re,Rd(Z=c+480|0,ee=c+320|0),Ar(re=c+160|0,Z,h=c+600|0),Ar(c+200|0,p=c+520|0,b=c+560|0),Ar(c+240|0,b,h),Ar(c+280|0,Z,p),Gu(Z,re,de),Ar(ee,Z,h),Ar(v=c+360|0,p,b),Ar(L=c+400|0,b,h),Ar(H=c+440|0,Z,p),mc(f=c+800|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(f=c+960|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(f=c+1120|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(f=c+1280|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(f=c+1440|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(f=c+1600|0,ee),Gu(Z,re,f),Ar(ee,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),mc(c+1760|0,ee),a[c+32>>2]=0,a[c+36>>2]=0,a[c+24>>2]=0,a[c+28>>2]=0,a[c+16>>2]=0,a[c+20>>2]=0,a[c+8>>2]=0,a[c+12>>2]=0,a[c+52>>2]=0,a[c+56>>2]=0,a[c+60>>2]=0,a[c+64>>2]=0,a[c+68>>2]=0,a[c+72>>2]=0,a[c+76>>2]=0,a[c+80>>2]=1,a[c>>2]=0,a[c+4>>2]=0,a[c+44>>2]=0,a[c+48>>2]=0,a[c+40>>2]=1,yo(c+84|0,0,76),j=c+120|0,B=c+2008|0,Q=c+1968|0,de=c+80|0,ee=c+40|0,f=252;re=a[c+36>>2],a[(Z=c+1960|0)>>2]=a[c+32>>2],a[Z+4>>2]=re,re=a[c+28>>2],a[(Z=c+1952|0)>>2]=a[c+24>>2],a[Z+4>>2]=re,re=a[c+20>>2],a[(Z=c+1944|0)>>2]=a[c+16>>2],a[Z+4>>2]=re,re=a[c+12>>2],a[(Z=c+1936|0)>>2]=a[c+8>>2],a[Z+4>>2]=re,re=a[c+4>>2],a[c+1928>>2]=a[c>>2],a[c+1932>>2]=re,re=a[ee+36>>2],a[Q+32>>2]=a[ee+32>>2],a[Q+36>>2]=re,re=a[ee+28>>2],a[Q+24>>2]=a[ee+24>>2],a[Q+28>>2]=re,re=a[ee+20>>2],a[Q+16>>2]=a[ee+16>>2],a[Q+20>>2]=re,re=a[ee+12>>2],a[Q+8>>2]=a[ee+8>>2],a[Q+12>>2]=re,re=a[ee+4>>2],a[Q>>2]=a[ee>>2],a[Q+4>>2]=re,re=a[de+36>>2],a[B+32>>2]=a[de+32>>2],a[B+36>>2]=re,re=a[de+28>>2],a[B+24>>2]=a[de+24>>2],a[B+28>>2]=re,re=a[de+20>>2],a[B+16>>2]=a[de+16>>2],a[B+20>>2]=re,re=a[de+12>>2],a[B+8>>2]=a[de+8>>2],a[B+12>>2]=re,re=a[de+4>>2],a[B>>2]=a[de>>2],a[B+4>>2]=re,re=f,we=k[f+33712|0],Rd(Z=c+480|0,c+1928|0),(0|we)>0?(Ar(f=c+320|0,Z,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),Gu(Z,f,(c+640|0)+Lr((254&we)>>>1|0,160)|0)):(0|we)>=0||(Ar(f=c+320|0,Z=c+480|0,h),Ar(v,p,b),Ar(L,b,h),Ar(H,Z,p),Y5(Z,f,(c+640|0)+Lr((0-we&254)>>>1|0,160)|0)),Ar(c,f=c+480|0,h),Ar(ee,p,b),Ar(de,b,h),Ar(j,f,p),f=re-1|0,re;);return yc(f=c+640|0,c),f=ya(f,32),Ie=c+2048|0,f}function uM(f,c,h,p,b){var B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0;if(p?(yr=S[p+12|0]|S[p+13|0]<<8|S[p+14|0]<<16|S[p+15|0]<<24,or=S[p+8|0]|S[p+9|0]<<8|S[p+10|0]<<16|S[p+11|0]<<24,Kt=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,Or=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24):(yr=1797285236,Kt=1634760805,or=2036477234,Or=857760878),p=B=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,Ye=Q=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,nr=v=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,Ve=yr,bt=L=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,it=or,cr=H=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,dt=j=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,We=re=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,c=Z=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,Wt=Or,ye=ee=S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24,Me=de=S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24,ut=we=S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24,h=ke=S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24,pt=Kt,(0|b)>0)for(;gr=lr(h+Wt|0,7)^cr,kr=lr(gr+Wt|0,9)^Ye,vr=lr(p+pt|0,7)^ye,Jt=lr(vr+pt|0,9)^dt,ur=lr(vr+Jt|0,13)^p,Sr=lr(Ve+bt|0,7)^Me,We=lr(Sr+Ve|0,9)^We,Me=lr(We+Sr|0,13)^bt,Ve=lr(We+Me|0,18)^Ve,ye=lr(c+it|0,7)^nr,p=ur^lr(Ve+ye|0,7),Ye=lr(p+Ve|0,9)^kr,nr=lr(p+Ye|0,13)^ye,Ve=lr(Ye+nr|0,18)^Ve,ut=lr(ye+it|0,9)^ut,ye=lr(ut+ye|0,13)^c,c=lr(ye+ut|0,18)^it,bt=lr(c+gr|0,7)^Me,dt=lr(bt+c|0,9)^Jt,cr=lr(bt+dt|0,13)^gr,it=lr(dt+cr|0,18)^c,h=lr(gr+kr|0,13)^h,Me=lr(h+kr|0,18)^Wt,c=lr(Me+vr|0,7)^ye,We=lr(c+Me|0,9)^We,ye=lr(c+We|0,13)^vr,Wt=lr(We+ye|0,18)^Me,pt=lr(Jt+ur|0,18)^pt,h=lr(pt+Sr|0,7)^h,ut=lr(h+pt|0,9)^ut,Me=lr(h+ut|0,13)^Sr,pt=lr(ut+Me|0,18)^pt,(0|(Mr=Mr+2|0))<(0|b););b=Ve+yr|0,k[f+60|0]=b,k[f+61|0]=b>>>8,k[f+62|0]=b>>>16,k[f+63|0]=b>>>24,b=nr+v|0,k[f+56|0]=b,k[f+57|0]=b>>>8,k[f+58|0]=b>>>16,k[f+59|0]=b>>>24,b=Ye+Q|0,k[f+52|0]=b,k[f+53|0]=b>>>8,k[f+54|0]=b>>>16,k[f+55|0]=b>>>24,p=p+B|0,k[f+48|0]=p,k[f+49|0]=p>>>8,k[f+50|0]=p>>>16,k[f+51|0]=p>>>24,p=bt+L|0,k[f+44|0]=p,k[f+45|0]=p>>>8,k[f+46|0]=p>>>16,k[f+47|0]=p>>>24,p=it+or|0,k[f+40|0]=p,k[f+41|0]=p>>>8,k[f+42|0]=p>>>16,k[f+43|0]=p>>>24,p=cr+H|0,k[f+36|0]=p,k[f+37|0]=p>>>8,k[f+38|0]=p>>>16,k[f+39|0]=p>>>24,p=dt+j|0,k[f+32|0]=p,k[f+33|0]=p>>>8,k[f+34|0]=p>>>16,k[f+35|0]=p>>>24,p=We+re|0,k[f+28|0]=p,k[f+29|0]=p>>>8,k[f+30|0]=p>>>16,k[f+31|0]=p>>>24,c=c+Z|0,k[f+24|0]=c,k[f+25|0]=c>>>8,k[f+26|0]=c>>>16,k[f+27|0]=c>>>24,c=Wt+Or|0,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=ye+ee|0,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24,c=Me+de|0,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=ut+we|0,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=h+ke|0,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=pt+Kt|0,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24}function h0(f){var c=0,h=0,p=0,b=0,B=0,Q=0,v=0,L=0,H=0;e:if(f|=0){B=(p=f-8|0)+(f=-8&(c=a[f-4>>2]))|0;t:if(!(1&c)){if(!(2&c)||(p=p-(c=a[p>>2])|0)>>>0<sn[9409])break e;f=f+c|0;r:{n:{i:{if(a[9410]!=(0|p)){if(h=a[p+12>>2],c>>>0<=255){if((0|(b=a[p+8>>2]))!=(0|h))break i;L=37620,H=a[9405]&lr(-2,c>>>3|0),a[L>>2]=H;break t}if(v=a[p+24>>2],(0|h)!=(0|p)){c=a[p+8>>2],a[c+12>>2]=h,a[h+8>>2]=c;break r}if(b=a[p+20>>2])c=p+20|0;else{if(!(b=a[p+16>>2]))break n;c=p+16|0}for(;Q=c,c=(h=b)+20|0,(b=a[h+20>>2])||(c=h+16|0,b=a[h+16>>2]););a[Q>>2]=0;break r}if(3&~(c=a[B+4>>2]))break t;return a[9407]=f,a[B+4>>2]=-2&c,a[p+4>>2]=1|f,void(a[B>>2]=f)}a[b+12>>2]=h,a[h+8>>2]=b;break t}h=0}if(v){c=a[p+28>>2];r:{if(a[(b=37924+(c<<2)|0)>>2]==(0|p)){if(a[b>>2]=h,h)break r;L=37624,H=a[9406]&lr(-2,c),a[L>>2]=H;break t}if(a[v+(a[v+16>>2]==(0|p)?16:20)>>2]=h,!h)break t}a[h+24>>2]=v,(c=a[p+16>>2])&&(a[h+16>>2]=c,a[c+24>>2]=h),(c=a[p+20>>2])&&(a[h+20>>2]=c,a[c+24>>2]=h)}}if(!(p>>>0>=B>>>0)&&1&(c=a[B+4>>2])){t:{r:{n:{i:{if(!(2&c)){if((0|B)==a[9411]){if(a[9411]=p,f=a[9408]+f|0,a[9408]=f,a[p+4>>2]=1|f,a[9410]!=(0|p))break e;return a[9407]=0,void(a[9410]=0)}if((0|B)==a[9410])return a[9410]=p,f=a[9407]+f|0,a[9407]=f,a[p+4>>2]=1|f,void(a[f+p>>2]=f);if(f=(-8&c)+f|0,h=a[B+12>>2],c>>>0<=255){if((0|(b=a[B+8>>2]))==(0|h)){L=37620,H=a[9405]&lr(-2,c>>>3|0),a[L>>2]=H;break r}a[b+12>>2]=h,a[h+8>>2]=b;break r}if(v=a[B+24>>2],(0|h)!=(0|B)){c=a[B+8>>2],a[c+12>>2]=h,a[h+8>>2]=c;break n}if(b=a[B+20>>2])c=B+20|0;else{if(!(b=a[B+16>>2]))break i;c=B+16|0}for(;Q=c,c=(h=b)+20|0,(b=a[h+20>>2])||(c=h+16|0,b=a[h+16>>2]););a[Q>>2]=0;break n}a[B+4>>2]=-2&c,a[p+4>>2]=1|f,a[f+p>>2]=f;break t}h=0}if(v){c=a[B+28>>2];n:{if((0|B)==a[(b=37924+(c<<2)|0)>>2]){if(a[b>>2]=h,h)break n;L=37624,H=a[9406]&lr(-2,c),a[L>>2]=H;break r}if(a[v+((0|B)==a[v+16>>2]?16:20)>>2]=h,!h)break r}a[h+24>>2]=v,(c=a[B+16>>2])&&(a[h+16>>2]=c,a[c+24>>2]=h),(c=a[B+20>>2])&&(a[h+20>>2]=c,a[c+24>>2]=h)}}if(a[p+4>>2]=1|f,a[f+p>>2]=f,a[9410]==(0|p))return void(a[9407]=f)}if(f>>>0<=255)return c=37660+(-8&f)|0,(b=a[9405])&(f=1<<(f>>>3))?f=a[c+8>>2]:(a[9405]=f|b,f=c),a[c+8>>2]=p,a[f+12>>2]=p,a[p+12>>2]=c,void(a[p+8>>2]=f);h=31,f>>>0<=16777215&&(h=62+((f>>>38-(c=Wr(f>>>8|0))&1)-(c<<1)|0)|0),a[p+28>>2]=h,a[p+16>>2]=0,a[p+20>>2]=0,Q=37924+(h<<2)|0;t:{r:{if((c=a[9406])&(b=1<<h)){for(h=f<<((0|h)!=31?25-(h>>>1|0):0),c=a[Q>>2];;){if(b=c,(-8&a[c+4>>2])==(0|f))break r;if(c=h>>>29|0,h<<=1,!(c=a[(Q=16+((4&c)+b|0)|0)>>2]))break}h=24,c=b}else a[9406]=c|b,h=24,c=Q;b=p,B=p,f=8;break t}c=a[b+8>>2],a[c+12>>2]=p,h=8,Q=b+8|0,B=0,f=24}a[Q>>2]=p,a[h+p>>2]=c,a[p+12>>2]=b,a[f+p>>2]=B,f=a[9413]-1|0,a[9413]=f||-1}}}function oH(f,c,h,p,b,B,Q,v,L){var H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0;if(c-65>>>0<4294967232|Q>>>0>64)f=-1;else{ke=H=Ie,Ie=H=H-512&-64;e:{t:if(!(!(!(p|b)|h)|!f|((de=255&c)-65&255)>>>0<=191|!(!(c=255&Q)||B)|c>>>0>=65)){if(c){if(!B)break t;v?(j=725511199^(S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24),re=-1694144372^(S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24),Q=-1377402159^(S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24),v=1359893119^(S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24)):(j=725511199,re=-1694144372,Q=-1377402159,v=1359893119),L?(Z=327033209^(S[L+8|0]|S[L+9|0]<<8|S[L+10|0]<<16|S[L+11|0]<<24),ee=1541459225^(S[L+12|0]|S[L+13|0]<<8|S[L+14|0]<<16|S[L+15|0]<<24),we=-79577749^(S[0|L]|S[L+1|0]<<8|S[L+2|0]<<16|S[L+3|0]<<24),L=528734635^(S[L+4|0]|S[L+5|0]<<8|S[L+6|0]<<16|S[L+7|0]<<24)):(Z=327033209,ee=1541459225,we=-79577749,L=528734635),yo(H- -64|0,0,293),a[H+56>>2]=Z,a[H+60>>2]=ee,a[H+48>>2]=we,a[H+52>>2]=L,a[H+40>>2]=j,a[H+44>>2]=re,a[H+32>>2]=Q,a[H+36>>2]=v,a[H+24>>2]=1595750129,a[H+28>>2]=-1521486534,a[H+16>>2]=-23791573,a[H+20>>2]=1013904242,a[H+8>>2]=-2067093701,a[H+12>>2]=-1150833019,a[H>>2]=-222443256^(c<<8|de),a[H+4>>2]=c>>>24^1779033703,yo((Q=H+384|0)+c|0,0,128-c|0),Di(Q,B,c),Di(H+96|0,Q,128),a[H+352>>2]=128,bn(Q,128),c=128}else v?(j=725511199^(S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24),re=-1694144372^(S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24),B=1359893119^(S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24),c=-1377402159^(S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24)):(j=725511199,re=-1694144372,B=1359893119,c=-1377402159),L?(Z=327033209^(S[L+8|0]|S[L+9|0]<<8|S[L+10|0]<<16|S[L+11|0]<<24),ee=1541459225^(S[L+12|0]|S[L+13|0]<<8|S[L+14|0]<<16|S[L+15|0]<<24),v=528734635^(S[L+4|0]|S[L+5|0]<<8|S[L+6|0]<<16|S[L+7|0]<<24),Q=-79577749^(S[0|L]|S[L+1|0]<<8|S[L+2|0]<<16|S[L+3|0]<<24)):(Z=327033209,ee=1541459225,v=528734635,Q=-79577749),yo(H- -64|0,0,293),a[H+56>>2]=Z,a[H+60>>2]=ee,a[H+48>>2]=Q,a[H+52>>2]=v,a[H+40>>2]=j,a[H+44>>2]=re,a[H+32>>2]=c,a[H+36>>2]=B,a[H+24>>2]=1595750129,a[H+28>>2]=-1521486534,a[H+16>>2]=-23791573,a[H+20>>2]=1013904242,a[H+8>>2]=-2067093701,a[H+12>>2]=-1150833019,a[H>>2]=-222443256^de,a[H+4>>2]=1779033703,c=0;r:if(p|b)for(L=H+224|0,v=H+96|0;;){if(Q=c+v|0,!b&p>>>0<=(B=256-c|0)>>>0){Di(Q,h,p),a[H+352>>2]=p+a[H+352>>2];break r}if(Di(Q,h,B),a[H+352>>2]=B+a[H+352>>2],j=c=a[H+68>>2],c=(re=(Q=a[H+64>>2])+128|0)>>>0<128?c+1|0:c,a[H+64>>2]=re,a[H+68>>2]=c,c=a[H+76>>2],c=(j=Q=(0|j)==-1&Q>>>0>4294967167)>>>0>(Q=Q+a[H+72>>2]|0)>>>0?c+1|0:c,a[H+72>>2]=Q,a[H+76>>2]=c,Qr(H,v),Di(v,L,128),c=a[H+352>>2]-128|0,a[H+352>>2]=c,h=h+B|0,!((b=b-(p>>>0<B>>>0)|0)|(p=p-B|0)))break}sM(H,f,de),Ie=ke;break e}Bs(),Rr()}f=0}return f}function aH(f,c,h,p,b,B,Q){var v,L,H=0,j=0,re=0;if(Ie=v=Ie+-64|0,L=wo(32)){a[v+36>>2]=0,a[v+40>>2]=0,a[v+28>>2]=0,a[v+32>>2]=0,a[v+24>>2]=16,a[v+20>>2]=b,a[v+16>>2]=p,a[v+12>>2]=h,a[v+8>>2]=32,a[v+4>>2]=L,a[v+60>>2]=0,a[v+56>>2]=1,a[v+52>>2]=1,a[v+48>>2]=c,a[v+44>>2]=f;e:if(f=J5(v+4|0,Q))bn(L,32);else{if(B){H=v+4|0,Ie=b=Ie-32|0,f=-31;t:{r:{n:switch(Q-1|0){case 1:f=S[1434]|S[1435]<<8|S[1436]<<16|S[1437]<<24,c=S[1430]|S[1431]<<8|S[1432]<<16|S[1433]<<24,k[0|B]=c,k[B+1|0]=c>>>8,k[B+2|0]=c>>>16,k[B+3|0]=c>>>24,k[B+4|0]=f,k[B+5|0]=f>>>8,k[B+6|0]=f>>>16,k[B+7|0]=f>>>24,f=S[1439]|S[1440]<<8|S[1441]<<16|S[1442]<<24,c=S[1435]|S[1436]<<8|S[1437]<<16|S[1438]<<24,k[B+5|0]=c,k[B+6|0]=c>>>8,k[B+7|0]=c>>>16,k[B+8|0]=c>>>24,k[B+9|0]=f,k[B+10|0]=f>>>8,k[B+11|0]=f>>>16,k[B+12|0]=f>>>24,h=-12,c=12;break r;case 0:break n;default:break t}f=S[1422]|S[1423]<<8|S[1424]<<16|S[1425]<<24,c=S[1418]|S[1419]<<8|S[1420]<<16|S[1421]<<24,k[0|B]=c,k[B+1|0]=c>>>8,k[B+2|0]=c>>>16,k[B+3|0]=c>>>24,k[B+4|0]=f,k[B+5|0]=f>>>8,k[B+6|0]=f>>>16,k[B+7|0]=f>>>24,f=S[1426]|S[1427]<<8|S[1428]<<16|S[1429]<<24,k[B+8|0]=f,k[B+9|0]=f>>>8,k[B+10|0]=f>>>16,k[B+11|0]=f>>>24,h=-11,c=11}if(!(f=Qn(H)))if(k[b+13|0]=0,k[b+11|0]=49,k[b+12|0]=57,(h=h+128|0)>>>0<=(f=Rg(b+11|0))>>>0)f=-31;else if(c=Di(c+B|0,b+11|0,f+1|0),(j=h-f|0)>>>0<4)f=-31;else{for(k[0|(Q=f+c|0)]=36,k[Q+1|0]=109,k[Q+2|0]=61,k[Q+3|0]=0,f=a[H+44>>2],c=10;h=c,p=(f>>>0)/10|0,k[0|(re=(c=c-1|0)+(b+22|0)|0)]=f-Lr(p,10)|48,!(f>>>0<10)&&(f=p,c););if(Di(f=b+11|0,re,c=11-h|0),k[f+c|0]=0,(c=j-3|0)>>>0<=(f=Rg(f))>>>0)f=-31;else if(h=Di(Q+3|0,b+11|0,f+1|0),(j=c-f|0)>>>0<4)f=-31;else{for(k[0|(Q=f+h|0)]=44,k[Q+1|0]=116,k[Q+2|0]=61,k[Q+3|0]=0,f=a[H+40>>2],c=10;h=c,p=(f>>>0)/10|0,k[0|(re=(c=c-1|0)+(b+22|0)|0)]=f-Lr(p,10)|48,!(f>>>0<10)&&(f=p,c););if(Di(f=b+11|0,re,c=11-h|0),k[f+c|0]=0,(c=j-3|0)>>>0<=(f=Rg(f))>>>0)f=-31;else if(h=Di(Q+3|0,b+11|0,f+1|0),(j=c-f|0)>>>0<4)f=-31;else{for(k[0|(Q=f+h|0)]=44,k[Q+1|0]=112,k[Q+2|0]=61,k[Q+3|0]=0,f=a[H+48>>2],c=10;h=c,p=(f>>>0)/10|0,k[0|(re=(c=c-1|0)+(b+22|0)|0)]=f-Lr(p,10)|48,!(f>>>0<10)&&(f=p,c););Di(f=b+11|0,re,c=11-h|0),k[f+c|0]=0,(c=j-3|0)>>>0<=(f=Rg(f))>>>0?f=-31:(h=Di(Q+3|0,b+11|0,f+1|0),(p=c-f|0)>>>0<2?f=-31:(k[0|(f=f+h|0)]=36,k[f+1|0]=0,yM(c=f+1|0,h=p-1|0,a[H+16>>2],a[H+20>>2],3)?(f=-31,(p=(p=h)-(h=Rg(c))|0)>>>0<2||(k[0|(f=c+h|0)]=36,k[f+1|0]=0,f=yM(f+1|0,p-1|0,a[H>>2],a[H+4>>2],3)?0:-31)):f=-31))}}}}if(Ie=b+32|0,f){bn(L,32),bn(B,128),f=-31;break e}}bn(L,32),f=0}h0(L)}else f=-22;return Ie=v- -64|0,f}function sH(f,c){var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0;h=f+c|0;e:{t:if(!(1&(p=a[f+4>>2]))){if(!(2&p))break e;c=(p=a[f>>2])+c|0;r:{n:{i:{if((0|(f=f-p|0))!=a[9410]){if(b=a[f+12>>2],p>>>0<=255){if((0|(B=a[f+8>>2]))!=(0|b))break i;L=37620,H=a[9405]&lr(-2,p>>>3|0),a[L>>2]=H;break t}if(Q=a[f+24>>2],(0|f)!=(0|b)){p=a[f+8>>2],a[p+12>>2]=b,a[b+8>>2]=p;break r}if(B=a[f+20>>2])p=f+20|0;else{if(!(B=a[f+16>>2]))break n;p=f+16|0}for(;v=p,p=(b=B)+20|0,(B=a[b+20>>2])||(p=b+16|0,B=a[b+16>>2]););a[v>>2]=0;break r}if(3&~(p=a[h+4>>2]))break t;return a[9407]=c,a[h+4>>2]=-2&p,a[f+4>>2]=1|c,void(a[h>>2]=c)}a[B+12>>2]=b,a[b+8>>2]=B;break t}b=0}if(Q){p=a[f+28>>2];r:{if(a[(B=37924+(p<<2)|0)>>2]==(0|f)){if(a[B>>2]=b,b)break r;L=37624,H=a[9406]&lr(-2,p),a[L>>2]=H;break t}if(a[Q+(a[Q+16>>2]==(0|f)?16:20)>>2]=b,!b)break t}a[b+24>>2]=Q,(p=a[f+16>>2])&&(a[b+16>>2]=p,a[p+24>>2]=b),(p=a[f+20>>2])&&(a[b+20>>2]=p,a[p+24>>2]=b)}}t:{r:{n:{i:{if(!(2&(p=a[h+4>>2]))){if(a[9411]==(0|h)){if(a[9411]=f,c=a[9408]+c|0,a[9408]=c,a[f+4>>2]=1|c,a[9410]!=(0|f))break e;return a[9407]=0,void(a[9410]=0)}if(a[9410]==(0|h))return a[9410]=f,c=a[9407]+c|0,a[9407]=c,a[f+4>>2]=1|c,void(a[f+c>>2]=c);if(c=(-8&p)+c|0,b=a[h+12>>2],p>>>0<=255){if((0|(B=a[h+8>>2]))==(0|b)){L=37620,H=a[9405]&lr(-2,p>>>3|0),a[L>>2]=H;break r}a[B+12>>2]=b,a[b+8>>2]=B;break r}if(Q=a[h+24>>2],(0|b)!=(0|h)){p=a[h+8>>2],a[p+12>>2]=b,a[b+8>>2]=p;break n}if(B=a[h+20>>2])p=h+20|0;else{if(!(B=a[h+16>>2]))break i;p=h+16|0}for(;v=p,p=(b=B)+20|0,(B=a[b+20>>2])||(p=b+16|0,B=a[b+16>>2]););a[v>>2]=0;break n}a[h+4>>2]=-2&p,a[f+4>>2]=1|c,a[f+c>>2]=c;break t}b=0}if(Q){p=a[h+28>>2];n:{if(a[(B=37924+(p<<2)|0)>>2]==(0|h)){if(a[B>>2]=b,b)break n;L=37624,H=a[9406]&lr(-2,p),a[L>>2]=H;break r}if(a[Q+(a[Q+16>>2]==(0|h)?16:20)>>2]=b,!b)break r}a[b+24>>2]=Q,(p=a[h+16>>2])&&(a[b+16>>2]=p,a[p+24>>2]=b),(p=a[h+20>>2])&&(a[b+20>>2]=p,a[p+24>>2]=b)}}if(a[f+4>>2]=1|c,a[f+c>>2]=c,a[9410]==(0|f))return void(a[9407]=c)}if(c>>>0<=255)return p=37660+(-8&c)|0,(b=a[9405])&(c=1<<(c>>>3))?c=a[p+8>>2]:(a[9405]=c|b,c=p),a[p+8>>2]=f,a[c+12>>2]=f,a[f+12>>2]=p,void(a[f+8>>2]=c);b=31,c>>>0<=16777215&&(b=62+((c>>>38-(p=Wr(c>>>8|0))&1)-(p<<1)|0)|0),a[f+28>>2]=b,a[f+16>>2]=0,a[f+20>>2]=0,p=37924+(b<<2)|0;t:{if((B=a[9406])&(v=1<<b)){for(b=c<<((0|b)!=31?25-(b>>>1|0):0),p=a[p>>2];;){if(B=p,(-8&a[p+4>>2])==(0|c))break t;if(p=b>>>29|0,b<<=1,!(p=a[16+(v=B+(4&p)|0)>>2]))break}a[v+16>>2]=f,a[f+24>>2]=B}else a[9406]=B|v,a[p>>2]=f,a[f+24>>2]=p;return a[f+12>>2]=f,void(a[f+8>>2]=f)}c=a[B+8>>2],a[c+12>>2]=f,a[B+8>>2]=f,a[f+24>>2]=0,a[f+12>>2]=B,a[f+8>>2]=c}}function GS(f,c){var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0;return Ie=h=Ie-512|0,p=-1,B=S[c+31|0],b=S[0|c],1&(((255&(127&~B|~(S[c+1|0]&S[c+2|0]&S[c+3|0]&S[c+4|0]&S[c+5|0]&S[c+6|0]&S[c+7|0]&S[c+8|0]&S[c+9|0]&S[c+10|0]&S[c+11|0]&S[c+12|0]&S[c+13|0]&S[c+14|0]&S[c+15|0]&S[c+16|0]&S[c+17|0]&S[c+18|0]&S[c+19|0]&S[c+20|0]&S[c+21|0]&S[c+22|0]&S[c+23|0]&S[c+24|0]&S[c+25|0]&S[c+26|0]&S[c+27|0]&S[c+28|0]&S[c+29|0]&S[c+30|0])))-1&236-b)>>>8|b|B>>>7)||(dv(B=h+336|0,c),Et(h+288|0,B),c=a[h+324>>2],a[h+276>>2]=0-c,p=a[h+320>>2],a[h+272>>2]=0-p,b=a[h+316>>2],a[h+268>>2]=0-b,Q=a[h+312>>2],a[h+264>>2]=0-Q,v=a[h+308>>2],a[h+260>>2]=0-v,L=a[h+304>>2],a[h+256>>2]=0-L,H=a[h+300>>2],a[h+252>>2]=0-H,j=a[h+296>>2],a[h+248>>2]=0-j,re=a[h+292>>2],a[h+244>>2]=0-re,Z=a[h+288>>2],a[h+240>>2]=1-Z,Et(ee=h+144|0,ke=h+240|0),a[h+228>>2]=c,a[h+224>>2]=p,a[h+220>>2]=b,a[h+216>>2]=Q,a[h+212>>2]=v,a[h+208>>2]=L,a[h+204>>2]=H,a[h+200>>2]=j,a[h+196>>2]=re,a[h+192>>2]=Z+1,Et(p=h+96|0,Q=h+192|0),Ar(c=h+48|0,1584,ee),b=a[h+96>>2],v=a[h+48>>2],L=a[h+100>>2],H=a[h+52>>2],j=a[h+104>>2],re=a[h+56>>2],Z=a[h+108>>2],ee=a[h+60>>2],de=a[h+112>>2],we=a[h+64>>2],ye=a[h+116>>2],Me=a[h+68>>2],Ve=a[h+120>>2],We=a[h+72>>2],ut=a[h+124>>2],pt=a[h+76>>2],bt=a[h+128>>2],Ye=a[h+80>>2],a[h+84>>2]=0-(a[h+84>>2]+a[h+132>>2]|0),a[h+80>>2]=0-(bt+Ye|0),a[h+76>>2]=0-(ut+pt|0),a[h+72>>2]=0-(Ve+We|0),a[h+68>>2]=0-(ye+Me|0),a[h+64>>2]=0-(de+we|0),a[h+60>>2]=0-(Z+ee|0),a[h+56>>2]=0-(j+re|0),a[h+52>>2]=0-(L+H|0),a[h+48>>2]=0-(b+v|0),Ar(h,c,p),a[h+404>>2]=0,a[h+408>>2]=0,a[h+412>>2]=0,a[h+416>>2]=0,a[h+420>>2]=0,a[h+388>>2]=0,a[h+392>>2]=0,a[h+384>>2]=1,a[h+396>>2]=0,a[h+400>>2]=0,we=AM(b=h+432|0,h+384|0,h),Ar(f,b,Q),Ar(p=f+40|0,b,f),Ar(p,p,c),Ar(f,f,B),B=a[f+36>>2]<<1,a[f+36>>2]=B,b=a[f+32>>2]<<1,a[f+32>>2]=b,Q=a[f+28>>2]<<1,a[f+28>>2]=Q,v=a[f+24>>2]<<1,a[f+24>>2]=v,L=a[f+20>>2]<<1,a[f+20>>2]=L,H=a[f+16>>2]<<1,a[f+16>>2]=H,j=a[f+12>>2]<<1,a[f+12>>2]=j,re=a[f+8>>2]<<1,a[f+8>>2]=re,Z=a[f+4>>2]<<1,a[f+4>>2]=Z,ee=a[f>>2]<<1,a[f>>2]=ee,yc(de=h+480|0,f),c=0-(1&k[h+480|0])|0,a[f+36>>2]=B^c&(B^0-B),a[f+32>>2]=b^c&(b^0-b),a[f+28>>2]=Q^c&(Q^0-Q),a[f+24>>2]=v^c&(v^0-v),a[f+20>>2]=L^c&(L^0-L),a[f+16>>2]=H^c&(H^0-H),a[f+12>>2]=j^c&(j^0-j),a[f+8>>2]=re^c&(re^0-re),a[f+4>>2]=Z^c&(Z^0-Z),a[f>>2]=ee^c&(ee^0-ee),Ar(p,ke,p),a[f+84>>2]=0,a[f+88>>2]=0,a[f+80>>2]=1,a[f+92>>2]=0,a[f+96>>2]=0,a[f+100>>2]=0,a[f+104>>2]=0,a[f+108>>2]=0,a[f+112>>2]=0,a[f+116>>2]=0,Ar(c=f+120|0,f,p),yc(de,c),f=S[h+480|0],yc(de,p),p=0-(ya(de,32)|1-we|1&f)|0),Ie=h+512|0,p}function dM(f,c,h,p){var b,B=0,Q=0;b=B=Ie,Ie=B=B-576&-64,a[B+188>>2]=c;e:if(c>>>0<=64){if((0|C8(Q=B+192|0,0,0,c))<0||(0|Sd(Q,B+188|0,4,0))<0||(0|Sd(Q,h,p,0))<0)break e;vM(Q,f,c)}else if(!((0|C8(Q=B+192|0,0,0,64))<0||(0|Sd(Q,B+188|0,4,0))<0||(0|Sd(Q,h,p,0))<0||(0|vM(Q,B+112|0,64))<0)){if(h=a[B+116>>2],p=a[B+112>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=h,k[f+5|0]=h>>>8,k[f+6|0]=h>>>16,k[f+7|0]=h>>>24,h=a[B+124>>2],p=a[B+120>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=h,k[f+13|0]=h>>>8,k[f+14|0]=h>>>16,k[f+15|0]=h>>>24,h=a[B+140>>2],p=a[B+136>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=h,k[f+29|0]=h>>>8,k[f+30|0]=h>>>16,k[f+31|0]=h>>>24,h=a[B+132>>2],p=a[B+128>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=h,k[f+21|0]=h>>>8,k[f+22|0]=h>>>16,k[f+23|0]=h>>>24,f=f+32|0,(c=c-32|0)>>>0>=65)for(;;){if(h=a[B+172>>2],a[B+104>>2]=a[B+168>>2],a[B+108>>2]=h,h=a[B+164>>2],a[B+96>>2]=a[B+160>>2],a[B+100>>2]=h,h=a[B+156>>2],a[B+88>>2]=a[B+152>>2],a[B+92>>2]=h,h=a[B+148>>2],a[B+80>>2]=a[B+144>>2],a[B+84>>2]=h,h=a[B+140>>2],a[B+72>>2]=a[B+136>>2],a[B+76>>2]=h,p=a[B+132>>2],a[(h=B- -64|0)>>2]=a[B+128>>2],a[h+4>>2]=p,h=a[B+124>>2],a[B+56>>2]=a[B+120>>2],a[B+60>>2]=h,h=a[B+116>>2],a[B+48>>2]=a[B+112>>2],a[B+52>>2]=h,(0|gM(B+112|0,64,B+48|0,64,0,0,0))<0)break e;if(h=a[B+116>>2],p=a[B+112>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=h,k[f+5|0]=h>>>8,k[f+6|0]=h>>>16,k[f+7|0]=h>>>24,h=a[B+124>>2],p=a[B+120>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=h,k[f+13|0]=h>>>8,k[f+14|0]=h>>>16,k[f+15|0]=h>>>24,h=a[B+140>>2],p=a[B+136>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=h,k[f+29|0]=h>>>8,k[f+30|0]=h>>>16,k[f+31|0]=h>>>24,h=a[B+132>>2],p=a[B+128>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=h,k[f+21|0]=h>>>8,k[f+22|0]=h>>>16,k[f+23|0]=h>>>24,f=f+32|0,!((c=c-32|0)>>>0>64))break}h=a[B+172>>2],a[B+104>>2]=a[B+168>>2],a[B+108>>2]=h,h=a[B+164>>2],a[B+96>>2]=a[B+160>>2],a[B+100>>2]=h,h=a[B+156>>2],a[B+88>>2]=a[B+152>>2],a[B+92>>2]=h,h=a[B+148>>2],a[B+80>>2]=a[B+144>>2],a[B+84>>2]=h,h=a[B+140>>2],a[B+72>>2]=a[B+136>>2],a[B+76>>2]=h,p=a[B+132>>2],a[(h=B- -64|0)>>2]=a[B+128>>2],a[h+4>>2]=p,h=a[B+124>>2],a[B+56>>2]=a[B+120>>2],a[B+60>>2]=h,h=a[B+116>>2],a[B+48>>2]=a[B+112>>2],a[B+52>>2]=h,(0|gM(h=B+112|0,c,B+48|0,64,0,0,0))<0||Di(f,h,c)}bn(B+192|0,384),Ie=b}function cH(f,c,h,p,b,B,Q,v,L,H,j){var re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0;if(re=Ce(L,0,v,0),!(we=$)&re>>>0>=1073741824|we||(0|Q)==1|Q>>>0>1)return a[9404]=22,-1;if(re=Q,!(!(B&(we=B-1|0)|Q&(re=(0|we)!=-1?re+1|0:re))&(!Q&B>>>0>=2|!!(0|Q)))||!L||!v)return a[9404]=28,-1;if(!(33554431/(L>>>0)>>>0<v>>>0|v>>>0>16777215)&&!Q&33554431/(v>>>0)>>>0>=B>>>0&&!((ut=Lr(We=v<<7,L))>>>0>(re=(ke=Lr(B,We))+ut|0)>>>0||(Z=re)>>>0>(re=((ye=v<<8)+re|0)- -64|0)>>>0)){e:{if(re>>>0>sn[f+8>>2]&&(de=-1,xH(f)||(Ie=we=Ie-16|0,Z=st(we+12|0,re),a[9404]=Z,Z=Z?0:a[we+12>>2],a[f+4>>2]=Z,a[f>>2]=Z,a[f+8>>2]=Z?re:0,Ie=we+16|0,!Z)))break e;for(Fr(c,h,p,b,bt=a[f+4>>2],ut),dt=((ke=(Z=(pt=ut+bt|0)+ke|0)+(v<<7)|0)+We|0)-64|0,b=B-1|0,Ve=v<<5,Ye=Z+ye|0,Wt=(Z+We|0)-64|0;;){for(ye=Lr(We,it)+bt|0,de=0;p=(f=de<<2)+ye|0,a[f+Z>>2]=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,re=(p=4|f)+Z|0,p=p+ye|0,a[re>>2]=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,re=(p=8|f)+Z|0,p=p+ye|0,a[re>>2]=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,p=(f|=12)+Z|0,f=f+ye|0,a[p>>2]=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,we=0,re=0,(0|Ve)!=(0|(de=de+4|0)););for(p=0,f=0;Di(pt+(Lr(p,Ve)<<2)|0,Z,We),$5(Z,ke,Ye,v),Di(pt+(Lr(Ve,1|p)<<2)|0,ke,We),$5(ke,Z,Ye,v),(0|Q)==(0|(f=(p=p+2|0)>>>0<2?f+1|0:f))&p>>>0<B>>>0|f>>>0<Q>>>0;);for(;;){for(f=pt+(Lr(Ve,b&a[Wt>>2])<<2)|0,de=0;a[(ee=(p=de<<2)+Z|0)>>2]=a[ee>>2]^a[f+p>>2],a[(Me=(ee=4|p)+Z|0)>>2]=a[Me>>2]^a[f+ee>>2],a[(Me=(ee=8|p)+Z|0)>>2]=a[Me>>2]^a[f+ee>>2],a[(ee=(p|=12)+Z|0)>>2]=a[ee>>2]^a[f+p>>2],(0|Ve)!=(0|(de=de+4|0)););for($5(Z,ke,Ye,v),f=pt+(Lr(Ve,b&a[dt>>2])<<2)|0,de=0;a[(ee=(p=de<<2)+ke|0)>>2]=a[ee>>2]^a[f+p>>2],a[(Me=(ee=4|p)+ke|0)>>2]=a[Me>>2]^a[f+ee>>2],a[(Me=(ee=8|p)+ke|0)>>2]=a[Me>>2]^a[f+ee>>2],a[(ee=(p|=12)+ke|0)>>2]=a[ee>>2]^a[f+p>>2],(0|Ve)!=(0|(de=de+4|0)););if($5(ke,Z,Ye,v),de=0,!((0|Q)==(0|(re=(we=we+2|0)>>>0<2?re+1|0:re))&B>>>0>we>>>0|Q>>>0>re>>>0))break}for(;p=(f=de<<2)+ye|0,re=a[f+Z>>2],k[0|p]=re,k[p+1|0]=re>>>8,k[p+2|0]=re>>>16,k[p+3|0]=re>>>24,p=(re=4|f)+ye|0,re=a[re+Z>>2],k[0|p]=re,k[p+1|0]=re>>>8,k[p+2|0]=re>>>16,k[p+3|0]=re>>>24,p=(re=8|f)+ye|0,re=a[re+Z>>2],k[0|p]=re,k[p+1|0]=re>>>8,k[p+2|0]=re>>>16,k[p+3|0]=re>>>24,f=(p=12|f)+ye|0,p=a[p+Z>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,(0|Ve)!=(0|(de=de+4|0)););if((0|(it=it+1|0))==(0|L))break}Fr(c,h,bt,ut,H,j),de=0}return de}return a[9404]=48,-1}function uH(f,c,h){f|=0,c|=0,h|=0;var p,b,B,Q=0;Ie=p=Ie-192|0,a[p+96>>2]=0,a[p+100>>2]=0,a[p+104>>2]=0,a[p+108>>2]=0,a[p+112>>2]=0,a[p+116>>2]=0,a[p+120>>2]=0,a[p+124>>2]=0,Q=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[p+80>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[p+84>>2]=Q,Q=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[p+88>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[p+92>>2]=Q,b=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,B=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,Q=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,c=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[p+40>>2]=0,a[p+44>>2]=0,a[p+48>>2]=0,a[p+52>>2]=0,a[p+56>>2]=0,a[p+60>>2]=0,a[p+64>>2]=Q,a[p+68>>2]=c,a[p+72>>2]=b,a[p+76>>2]=B,a[p+32>>2]=0,a[p+36>>2]=0,c=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,a[p+16>>2]=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,a[p+20>>2]=c,c=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,a[p+24>>2]=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,a[p+28>>2]=c,c=S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24,a[p>>2]=S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24,a[p+4>>2]=c,c=S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24,a[p+8>>2]=S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24,a[p+12>>2]=c,UTe(p- -64|0,p),h=a[p+124>>2],a[p+184>>2]=a[p+120>>2],a[p+188>>2]=h,c=a[p+116>>2],a[p+176>>2]=a[p+112>>2],a[p+180>>2]=c,c=a[p+108>>2],a[p+168>>2]=a[p+104>>2],a[p+172>>2]=c,c=a[p+100>>2],a[p+160>>2]=a[p+96>>2],a[p+164>>2]=c,c=a[p+92>>2],a[p+152>>2]=a[p+88>>2],a[p+156>>2]=c,c=a[p+84>>2],a[p+144>>2]=a[p+80>>2],a[p+148>>2]=c,c=a[p+76>>2],a[p+136>>2]=a[p+72>>2],a[p+140>>2]=c,c=a[p+68>>2],a[p+128>>2]=a[p+64>>2],a[p+132>>2]=c,ho(c=p+128|0),Q=a[p+156>>2],h=a[p+152>>2],k[f+24|0]=h,k[f+25|0]=h>>>8,k[f+26|0]=h>>>16,k[f+27|0]=h>>>24,k[f+28|0]=Q,k[f+29|0]=Q>>>8,k[f+30|0]=Q>>>16,k[f+31|0]=Q>>>24,Q=a[p+148>>2],h=a[p+144>>2],k[f+16|0]=h,k[f+17|0]=h>>>8,k[f+18|0]=h>>>16,k[f+19|0]=h>>>24,k[f+20|0]=Q,k[f+21|0]=Q>>>8,k[f+22|0]=Q>>>16,k[f+23|0]=Q>>>24,Q=a[p+140>>2],h=a[p+136>>2],k[f+8|0]=h,k[f+9|0]=h>>>8,k[f+10|0]=h>>>16,k[f+11|0]=h>>>24,k[f+12|0]=Q,k[f+13|0]=Q>>>8,k[f+14|0]=Q>>>16,k[f+15|0]=Q>>>24,Q=a[p+132>>2],h=a[p+128>>2],k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,k[f+4|0]=Q,k[f+5|0]=Q>>>8,k[f+6|0]=Q>>>16,k[f+7|0]=Q>>>24,bn(c,64),Ie=p+192|0}function $5(f,c,h,p){var b=0,B=0,Q=0,v=0,L=0;if(B=a[4+(b=((p<<7)+f|0)-64|0)>>2],a[h>>2]=a[b>>2],a[h+4>>2]=B,B=a[b+60>>2],a[h+56>>2]=a[b+56>>2],a[h+60>>2]=B,B=a[b+52>>2],a[h+48>>2]=a[b+48>>2],a[h+52>>2]=B,B=a[b+44>>2],a[h+40>>2]=a[b+40>>2],a[h+44>>2]=B,B=a[b+36>>2],a[h+32>>2]=a[b+32>>2],a[h+36>>2]=B,B=a[b+28>>2],a[h+24>>2]=a[b+24>>2],a[h+28>>2]=B,B=a[b+20>>2],a[h+16>>2]=a[b+16>>2],a[h+20>>2]=B,B=a[b+12>>2],a[h+8>>2]=a[b+8>>2],a[h+12>>2]=B,p)for(B=p<<1,L=p<<6;p=(v<<6)+f|0,a[h>>2]=a[h>>2]^a[p>>2],a[h+4>>2]=a[h+4>>2]^a[p+4>>2],a[h+8>>2]=a[h+8>>2]^a[p+8>>2],a[h+12>>2]=a[h+12>>2]^a[p+12>>2],a[h+16>>2]=a[h+16>>2]^a[p+16>>2],a[h+20>>2]=a[h+20>>2]^a[p+20>>2],a[h+24>>2]=a[h+24>>2]^a[p+24>>2],a[h+28>>2]=a[h+28>>2]^a[p+28>>2],a[h+32>>2]=a[h+32>>2]^a[p+32>>2],a[h+36>>2]=a[h+36>>2]^a[p+36>>2],a[h+40>>2]=a[h+40>>2]^a[p+40>>2],a[h+44>>2]=a[h+44>>2]^a[p+44>>2],a[h+48>>2]=a[h+48>>2]^a[p+48>>2],a[h+52>>2]=a[h+52>>2]^a[p+52>>2],a[h+56>>2]=a[h+56>>2]^a[p+56>>2],a[h+60>>2]=a[h+60>>2]^a[p+60>>2],bH(h),Q=a[h+60>>2],a[56+(b=(v<<5)+c|0)>>2]=a[h+56>>2],a[b+60>>2]=Q,Q=a[h+52>>2],a[b+48>>2]=a[h+48>>2],a[b+52>>2]=Q,Q=a[h+44>>2],a[b+40>>2]=a[h+40>>2],a[b+44>>2]=Q,Q=a[h+36>>2],a[b+32>>2]=a[h+32>>2],a[b+36>>2]=Q,Q=a[h+28>>2],a[b+24>>2]=a[h+24>>2],a[b+28>>2]=Q,Q=a[h+20>>2],a[b+16>>2]=a[h+16>>2],a[b+20>>2]=Q,Q=a[h+12>>2],a[b+8>>2]=a[h+8>>2],a[b+12>>2]=Q,Q=a[h+4>>2],a[b>>2]=a[h>>2],a[b+4>>2]=Q,a[h>>2]=a[h>>2]^a[p- -64>>2],a[h+4>>2]=a[h+4>>2]^a[p+68>>2],a[h+8>>2]=a[h+8>>2]^a[p+72>>2],a[h+12>>2]=a[h+12>>2]^a[p+76>>2],a[h+16>>2]=a[h+16>>2]^a[p+80>>2],a[h+20>>2]=a[h+20>>2]^a[p+84>>2],a[h+24>>2]=a[h+24>>2]^a[p+88>>2],a[h+28>>2]=a[h+28>>2]^a[p+92>>2],a[h+32>>2]=a[h+32>>2]^a[p+96>>2],a[h+36>>2]=a[h+36>>2]^a[p+100>>2],a[h+40>>2]=a[h+40>>2]^a[p+104>>2],a[h+44>>2]=a[h+44>>2]^a[p+108>>2],a[h+48>>2]=a[h+48>>2]^a[p+112>>2],a[h+52>>2]=a[h+52>>2]^a[p+116>>2],a[h+56>>2]=a[h+56>>2]^a[p+120>>2],a[h+60>>2]=a[h+60>>2]^a[p+124>>2],bH(h),p=b+L|0,b=a[h+60>>2],a[p+56>>2]=a[h+56>>2],a[p+60>>2]=b,b=a[h+52>>2],a[p+48>>2]=a[h+48>>2],a[p+52>>2]=b,b=a[h+44>>2],a[p+40>>2]=a[h+40>>2],a[p+44>>2]=b,b=a[h+36>>2],a[p+32>>2]=a[h+32>>2],a[p+36>>2]=b,b=a[h+28>>2],a[p+24>>2]=a[h+24>>2],a[p+28>>2]=b,b=a[h+20>>2],a[p+16>>2]=a[h+16>>2],a[p+20>>2]=b,b=a[h+12>>2],a[p+8>>2]=a[h+8>>2],a[p+12>>2]=b,b=a[h+4>>2],a[p>>2]=a[h>>2],a[p+4>>2]=b,B>>>0>(v=v+2|0)>>>0;);}function fM(f,c,h,p){var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0;if(de=a[f+36>>2],Z=a[f+32>>2],ee=a[f+28>>2],j=a[f+24>>2],re=a[f+20>>2],!p&h>>>0>=16|p)for(Ye=!S[f+80|0]<<24,ke=a[f+4>>2],it=Lr(ke,5),Me=a[f+8>>2],pt=Lr(Me,5),We=a[f+12>>2],ut=Lr(We,5),bt=a[f+16>>2],Ve=Lr(bt,5),ye=a[f>>2];b=Ce(Q=((S[c+3|0]|S[c+4|0]<<8|S[c+5|0]<<16|S[c+6|0]<<24)>>>2&67108863)+j|0,0,We,0),L=$,re=(v=Ce(j=(67108863&(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24))+re|0,0,bt,0))+b|0,b=$+L|0,b=v>>>0>re>>>0?b+1|0:b,L=Ce(ee=((S[c+6|0]|S[c+7|0]<<8|S[c+8|0]<<16|S[c+9|0]<<24)>>>4&67108863)+ee|0,0,Me,0),b=$+b|0,b=L>>>0>(re=L+re|0)>>>0?b+1|0:b,L=Ce(Z=((S[c+9|0]|S[c+10|0]<<8|S[c+11|0]<<16|S[c+12|0]<<24)>>>6|0)+Z|0,0,ke,0),b=$+b|0,b=L>>>0>(re=L+re|0)>>>0?b+1|0:b,L=Ce(de=de+Ye+((S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24)>>>8)|0,0,ye,0),b=$+b|0,dt=re=L+re|0,re=L>>>0>re>>>0?b+1|0:b,b=Ce(Q,0,Me,0),L=$,v=Ce(j,0,We,0),B=$+L|0,B=(b=v+b|0)>>>0<v>>>0?B+1|0:B,L=(v=Ce(ee,0,ke,0))+b|0,b=$+B|0,b=v>>>0>L>>>0?b+1|0:b,v=Ce(Z,0,ye,0),b=$+b|0,b=v>>>0>(L=v+L|0)>>>0?b+1|0:b,v=Ce(de,0,Ve,0),b=$+b|0,Wt=L=v+L|0,L=v>>>0>L>>>0?b+1|0:b,b=Ce(Q,0,ke,0),H=$,v=(B=Ce(j,0,Me,0))+b|0,b=$+H|0,b=B>>>0>v>>>0?b+1|0:b,H=Ce(ee,0,ye,0),B=$+b|0,B=(v=H+v|0)>>>0<H>>>0?B+1|0:B,H=Ce(Z,0,Ve,0),b=$+B|0,b=(v=H+v|0)>>>0<H>>>0?b+1|0:b,H=Ce(de,0,ut,0),b=$+b|0,nr=v=H+v|0,v=v>>>0<H>>>0?b+1|0:b,b=Ce(Q,0,ye,0),B=$,H=(we=Ce(j,0,ke,0))+b|0,b=$+B|0,b=H>>>0<we>>>0?b+1|0:b,B=Ce(ee,0,Ve,0),b=$+b|0,b=B>>>0>(H=B+H|0)>>>0?b+1|0:b,we=Ce(Z,0,ut,0),B=$+b|0,B=(H=we+H|0)>>>0<we>>>0?B+1|0:B,we=Ce(de,0,pt,0),b=$+B|0,b=(H=we+H|0)>>>0<we>>>0?b+1|0:b,we=H,H=b,b=Ce(Q,0,Ve,0),B=$,Q=(j=Ce(j,0,ye,0))+b|0,b=$+B|0,b=Q>>>0<j>>>0?b+1|0:b,j=Ce(ee,0,ut,0),b=$+b|0,b=(Q=j+Q|0)>>>0<j>>>0?b+1|0:b,j=Ce(Z,0,pt,0),b=$+b|0,b=(Q=j+Q|0)>>>0<j>>>0?b+1|0:b,j=Ce(de,0,it,0),B=$+b|0,B=(Q=j+Q|0)>>>0<j>>>0?B+1|0:B,j=Q,b=H,b=(Q=(ee=(67108863&B)<<6|Q>>>26)+we|0)>>>0<ee>>>0?b+1|0:b,ee=Q,Z=(67108863&b)<<6|Q>>>26,b=v,b=(Q=Z+nr|0)>>>0<Z>>>0?b+1|0:b,Z=Q,B=L,de=b=(Q=(67108863&b)<<6|Q>>>26)+Wt|0,L=(67108863&(B=b>>>0<Q>>>0?B+1|0:B))<<6|b>>>26,b=re,j=(67108863&ee)+((b=Lr((67108863&((Q=L+dt|0)>>>0<L>>>0?b+1:b))<<6|Q>>>26,5)+(67108863&j)|0)>>>26|0)|0,ee=67108863&Z,Z=67108863&de,de=67108863&Q,re=67108863&b,c=c+16|0,!(p=p-(h>>>0<16)|0)&(h=h-16|0)>>>0>15|p;);a[f+20>>2]=re,a[f+36>>2]=de,a[f+32>>2]=Z,a[f+28>>2]=ee,a[f+24>>2]=j}function C8(f,c,h,p){f|=0,c|=0;var b=0;return b=-1,(p|=0)-65>>>0<4294967232|(h|=0)>>>0>64||(h&&c?(Ie=b=Ie-128|0,!c|((p&=255)-65&255)>>>0<=191|((h&=255)-65&255)>>>0<=191?(Bs(),Rr()):(yo(f- -64|0,0,293),k[f+56|0]=121,k[f+57|0]=33,k[f+58|0]=126,k[f+59|0]=19,k[f+60|0]=25,k[f+61|0]=205,k[f+62|0]=224,k[f+63|0]=91,k[f+48|0]=107,k[f+49|0]=189,k[f+50|0]=65,k[f+51|0]=251,k[f+52|0]=171,k[f+53|0]=217,k[f+54|0]=131,k[f+55|0]=31,k[f+40|0]=31,k[f+41|0]=108,k[f+42|0]=62,k[f+43|0]=43,k[f+44|0]=140,k[f+45|0]=104,k[f+46|0]=5,k[f+47|0]=155,k[f+32|0]=209,k[f+33|0]=130,k[f+34|0]=230,k[f+35|0]=173,k[f+36|0]=127,k[f+37|0]=82,k[f+38|0]=14,k[f+39|0]=81,k[f+24|0]=241,k[f+25|0]=54,k[f+26|0]=29,k[f+27|0]=95,k[f+28|0]=58,k[f+29|0]=245,k[f+30|0]=79,k[f+31|0]=165,k[f+16|0]=43,k[f+17|0]=248,k[f+18|0]=148,k[f+19|0]=254,k[f+20|0]=114,k[f+21|0]=243,k[f+22|0]=110,k[f+23|0]=60,k[f+8|0]=59,k[f+9|0]=167,k[f+10|0]=202,k[f+11|0]=132,k[f+12|0]=133,k[f+13|0]=174,k[f+14|0]=103,k[f+15|0]=187,p=-222443256^(h<<8|p),k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,p=h>>>24^1779033703,k[f+4|0]=p,k[f+5|0]=p>>>8,k[f+6|0]=p>>>16,k[f+7|0]=p>>>24,h=Di(yo(b,0,128),c,h),Di(f+96|0,h,128),c=128+(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)|0,k[f+352|0]=c,k[f+353|0]=c>>>8,k[f+354|0]=c>>>16,k[f+355|0]=c>>>24,bn(h,128),Ie=h+128|0)):(((c=255&p)-65&255)>>>0<=191&&(Bs(),Rr()),yo(f- -64|0,0,293),k[f+56|0]=121,k[f+57|0]=33,k[f+58|0]=126,k[f+59|0]=19,k[f+60|0]=25,k[f+61|0]=205,k[f+62|0]=224,k[f+63|0]=91,k[f+48|0]=107,k[f+49|0]=189,k[f+50|0]=65,k[f+51|0]=251,k[f+52|0]=171,k[f+53|0]=217,k[f+54|0]=131,k[f+55|0]=31,k[f+40|0]=31,k[f+41|0]=108,k[f+42|0]=62,k[f+43|0]=43,k[f+44|0]=140,k[f+45|0]=104,k[f+46|0]=5,k[f+47|0]=155,k[f+32|0]=209,k[f+33|0]=130,k[f+34|0]=230,k[f+35|0]=173,k[f+36|0]=127,k[f+37|0]=82,k[f+38|0]=14,k[f+39|0]=81,k[f+24|0]=241,k[f+25|0]=54,k[f+26|0]=29,k[f+27|0]=95,k[f+28|0]=58,k[f+29|0]=245,k[f+30|0]=79,k[f+31|0]=165,k[f+16|0]=43,k[f+17|0]=248,k[f+18|0]=148,k[f+19|0]=254,k[f+20|0]=114,k[f+21|0]=243,k[f+22|0]=110,k[f+23|0]=60,k[f+8|0]=59,k[f+9|0]=167,k[f+10|0]=202,k[f+11|0]=132,k[f+12|0]=133,k[f+13|0]=174,k[f+14|0]=103,k[f+15|0]=187,c^=-222443256,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,k[f+4|0]=103,k[f+5|0]=230,k[f+6|0]=9,k[f+7|0]=106),b=0),0|b}function Ll(f,c,h,p){f|=0,c|=0,h|=0;var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0;for((p|=0)?(B=S[p+8|0]|S[p+9|0]<<8|S[p+10|0]<<16|S[p+11|0]<<24,Q=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,b=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,j=S[p+12|0]|S[p+13|0]<<8|S[p+14|0]<<16|S[p+15|0]<<24):(B=2036477234,Q=857760878,b=1634760805,j=1797285236),v=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,Z=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,L=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,ee=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,H=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,Ve=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,de=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,p=S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24,we=S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24,ke=S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24,c=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,h=S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24;re=h,h=lr((ye=c)^(c=h+b|0),16),re=de=lr(re^(b=h+de|0),12),Me=lr((ye=c+de|0)^h,8),c=lr(re^(de=Me+b|0),7),v=lr((h=p+j|0)^v,16),p=lr((ee=v+ee|0)^p,12),re=we,B=lr((j=B+we|0)^Z,16),b=lr(re^(we=B+H|0),12),H=lr((H=B)^(B=b+j|0),8),h=lr(H^(j=(We=h+p|0)+c|0),16),Z=lr((Q=Q+ke|0)^L,16),ke=lr((L=Z+Ve|0)^ke,12),re=c,c=lr((Q=ke+Q|0)^Z,8),re=lr(re^(L=(ut=c+L|0)+h|0),12),Z=lr(h^(j=re+j|0),8),h=lr((Ve=Z+L|0)^re,7),v=lr(v^We,8),p=lr((ee=v+ee|0)^p,7),L=lr((B=p+B|0)^c,16),p=lr((c=L+de|0)^p,12),L=lr(L^(B=p+B|0),8),p=lr((de=c+L|0)^p,7),c=lr((H=H+we|0)^b,7),we=lr((Q=c+Q|0)^Me,16),Me=lr(c^(b=we+ee|0),12),c=lr(we^(Q=Me+Q|0),8),we=lr((ee=b+c|0)^Me,7),re=H,H=v,b=lr(ke^ut,7),H=lr(H^(v=b+ye|0),16),ye=lr(b^(ke=re+H|0),12),v=lr(H^(b=ye+v|0),8),ke=lr((H=ke+v|0)^ye,7),(0|(pt=pt+1|0))!=10;);return k[0|f]=b,k[f+1|0]=b>>>8,k[f+2|0]=b>>>16,k[f+3|0]=b>>>24,k[f+28|0]=v,k[f+29|0]=v>>>8,k[f+30|0]=v>>>16,k[f+31|0]=v>>>24,k[f+24|0]=Z,k[f+25|0]=Z>>>8,k[f+26|0]=Z>>>16,k[f+27|0]=Z>>>24,k[f+20|0]=L,k[f+21|0]=L>>>8,k[f+22|0]=L>>>16,k[f+23|0]=L>>>24,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24,k[f+12|0]=j,k[f+13|0]=j>>>8,k[f+14|0]=j>>>16,k[f+15|0]=j>>>24,k[f+8|0]=B,k[f+9|0]=B>>>8,k[f+10|0]=B>>>16,k[f+11|0]=B>>>24,k[f+4|0]=Q,k[f+5|0]=Q>>>8,k[f+6|0]=Q>>>16,k[f+7|0]=Q>>>24,0}function Gu(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0;de=a[c+4>>2],ee=a[c+44>>2],ke=a[c+8>>2],ye=a[c+48>>2],Me=a[c+12>>2],Ve=a[c+52>>2],We=a[c+16>>2],ut=a[c+56>>2],pt=a[c+20>>2],bt=a[c+60>>2],Ye=a[c+24>>2],it=a[(we=c- -64|0)>>2],dt=a[c+28>>2],Wt=a[c+68>>2],nr=a[c+32>>2],cr=a[c+72>>2],gr=a[c+36>>2],vr=a[c+76>>2],a[f>>2]=a[c>>2]+a[c+40>>2],a[f+36>>2]=gr+vr,a[f+32>>2]=nr+cr,a[f+28>>2]=dt+Wt,a[f+24>>2]=Ye+it,a[f+20>>2]=pt+bt,a[f+16>>2]=We+ut,a[f+12>>2]=Me+Ve,a[f+8>>2]=ke+ye,a[f+4>>2]=ee+de,ee=a[c+4>>2],ke=a[c+44>>2],ye=a[c+8>>2],Me=a[c+48>>2],Ve=a[c+12>>2],We=a[c+52>>2],ut=a[c+16>>2],pt=a[c+56>>2],bt=a[c+20>>2],Ye=a[c+60>>2],it=a[c+24>>2],we=a[we>>2],de=a[c+28>>2],dt=a[c+68>>2],Wt=a[c+32>>2],nr=a[c+72>>2],cr=a[c>>2],gr=a[c+40>>2],a[f+76>>2]=a[c+76>>2]-a[c+36>>2],a[f+72>>2]=nr-Wt,a[f+68>>2]=dt-de,a[(de=f- -64|0)>>2]=we-it,a[f+60>>2]=Ye-bt,a[f+56>>2]=pt-ut,a[f+52>>2]=We-Ve,a[f+48>>2]=Me-ye,a[f+44>>2]=ke-ee,a[f+40>>2]=gr-cr,Ar(f+80|0,f,h),Ar(ee=f+40|0,ee,h+40|0),Ar(f+120|0,h+120|0,c+120|0),Ar(f,c+80|0,h+80|0),gr=a[f+4>>2],vr=a[f+8>>2],B=a[f+12>>2],Q=a[f+16>>2],v=a[f+20>>2],L=a[f+24>>2],H=a[f+28>>2],j=a[f+32>>2],re=a[f+36>>2],c=a[f+44>>2],h=a[f+84>>2],ee=a[f+48>>2],ke=a[f+88>>2],ye=a[f+52>>2],Me=a[f+92>>2],Ve=a[f+56>>2],We=a[f+96>>2],ut=a[f+60>>2],pt=a[f+100>>2],bt=a[de>>2],Ye=a[f+104>>2],we=a[f+68>>2],it=a[f+108>>2],dt=a[f+72>>2],Wt=a[f+112>>2],Z=a[f>>2],nr=a[f+40>>2],cr=a[f+80>>2],p=a[f+76>>2],b=a[f+116>>2],a[f+76>>2]=p+b,a[f+72>>2]=dt+Wt,a[f+68>>2]=we+it,a[de>>2]=bt+Ye,a[f+60>>2]=ut+pt,a[f+56>>2]=Ve+We,a[f+52>>2]=ye+Me,a[f+48>>2]=ee+ke,a[f+44>>2]=c+h,a[f+40>>2]=nr+cr,a[f+36>>2]=b-p,a[f+32>>2]=Wt-dt,a[f+28>>2]=it-we,a[f+24>>2]=Ye-bt,a[f+20>>2]=pt-ut,a[f+16>>2]=We-Ve,a[f+12>>2]=Me-ye,a[f+8>>2]=ke-ee,a[f+4>>2]=h-c,a[f>>2]=cr-nr,c=re<<1,h=a[f+156>>2],a[f+156>>2]=c-h,de=j<<1,ee=a[f+152>>2],a[f+152>>2]=de-ee,ke=H<<1,ye=a[f+148>>2],a[f+148>>2]=ke-ye,Me=L<<1,Ve=a[f+144>>2],a[f+144>>2]=Me-Ve,We=v<<1,ut=a[f+140>>2],a[f+140>>2]=We-ut,pt=Q<<1,bt=a[f+136>>2],a[f+136>>2]=pt-bt,Ye=B<<1,we=a[f+132>>2],a[f+132>>2]=Ye-we,it=vr<<1,dt=a[f+128>>2],a[f+128>>2]=it-dt,Wt=gr<<1,nr=a[f+124>>2],a[f+124>>2]=Wt-nr,cr=Z<<1,gr=a[f+120>>2],a[f+120>>2]=cr-gr,a[f+112>>2]=ee+de,a[f+108>>2]=ke+ye,a[f+104>>2]=Me+Ve,a[f+100>>2]=We+ut,a[f+96>>2]=pt+bt,a[f+92>>2]=Ye+we,a[f+88>>2]=it+dt,a[f+84>>2]=Wt+nr,a[f+80>>2]=cr+gr,a[f+116>>2]=c+h}function Y5(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0;de=a[c+4>>2],ee=a[c+44>>2],ke=a[c+8>>2],ye=a[c+48>>2],Me=a[c+12>>2],Ve=a[c+52>>2],We=a[c+16>>2],ut=a[c+56>>2],pt=a[c+20>>2],bt=a[c+60>>2],Ye=a[c+24>>2],it=a[(we=c- -64|0)>>2],dt=a[c+28>>2],Wt=a[c+68>>2],nr=a[c+32>>2],cr=a[c+72>>2],gr=a[c+36>>2],vr=a[c+76>>2],a[f>>2]=a[c>>2]+a[c+40>>2],a[f+36>>2]=gr+vr,a[f+32>>2]=nr+cr,a[f+28>>2]=dt+Wt,a[f+24>>2]=Ye+it,a[f+20>>2]=pt+bt,a[f+16>>2]=We+ut,a[f+12>>2]=Me+Ve,a[f+8>>2]=ke+ye,a[f+4>>2]=ee+de,ee=a[c+4>>2],ke=a[c+44>>2],ye=a[c+8>>2],Me=a[c+48>>2],Ve=a[c+12>>2],We=a[c+52>>2],ut=a[c+16>>2],pt=a[c+56>>2],bt=a[c+20>>2],Ye=a[c+60>>2],it=a[c+24>>2],we=a[we>>2],de=a[c+28>>2],dt=a[c+68>>2],Wt=a[c+32>>2],nr=a[c+72>>2],cr=a[c>>2],gr=a[c+40>>2],a[f+76>>2]=a[c+76>>2]-a[c+36>>2],a[f+72>>2]=nr-Wt,a[f+68>>2]=dt-de,a[(de=f- -64|0)>>2]=we-it,a[f+60>>2]=Ye-bt,a[f+56>>2]=pt-ut,a[f+52>>2]=We-Ve,a[f+48>>2]=Me-ye,a[f+44>>2]=ke-ee,a[f+40>>2]=gr-cr,Ar(f+80|0,f,h+40|0),Ar(ee=f+40|0,ee,h),Ar(f+120|0,h+120|0,c+120|0),Ar(f,c+80|0,h+80|0),gr=a[f+4>>2],vr=a[f+8>>2],B=a[f+12>>2],Q=a[f+16>>2],v=a[f+20>>2],L=a[f+24>>2],H=a[f+28>>2],j=a[f+32>>2],re=a[f+36>>2],c=a[f+44>>2],h=a[f+84>>2],ee=a[f+48>>2],ke=a[f+88>>2],ye=a[f+52>>2],Me=a[f+92>>2],Ve=a[f+56>>2],We=a[f+96>>2],ut=a[f+60>>2],pt=a[f+100>>2],bt=a[de>>2],Ye=a[f+104>>2],we=a[f+68>>2],it=a[f+108>>2],dt=a[f+72>>2],Wt=a[f+112>>2],Z=a[f>>2],nr=a[f+40>>2],cr=a[f+80>>2],p=a[f+76>>2],b=a[f+116>>2],a[f+76>>2]=p+b,a[f+72>>2]=dt+Wt,a[f+68>>2]=we+it,a[de>>2]=bt+Ye,a[f+60>>2]=ut+pt,a[f+56>>2]=Ve+We,a[f+52>>2]=ye+Me,a[f+48>>2]=ee+ke,a[f+44>>2]=c+h,a[f+40>>2]=nr+cr,a[f+36>>2]=b-p,a[f+32>>2]=Wt-dt,a[f+28>>2]=it-we,a[f+24>>2]=Ye-bt,a[f+20>>2]=pt-ut,a[f+16>>2]=We-Ve,a[f+12>>2]=Me-ye,a[f+8>>2]=ke-ee,a[f+4>>2]=h-c,a[f>>2]=cr-nr,c=a[f+156>>2],h=re<<1,a[f+156>>2]=c+h,de=a[f+152>>2],ee=j<<1,a[f+152>>2]=de+ee,ke=a[f+148>>2],ye=H<<1,a[f+148>>2]=ke+ye,Me=a[f+144>>2],Ve=L<<1,a[f+144>>2]=Me+Ve,We=a[f+140>>2],ut=v<<1,a[f+140>>2]=We+ut,pt=a[f+136>>2],bt=Q<<1,a[f+136>>2]=pt+bt,Ye=a[f+132>>2],we=B<<1,a[f+132>>2]=Ye+we,it=a[f+128>>2],dt=vr<<1,a[f+128>>2]=it+dt,Wt=a[f+124>>2],nr=gr<<1,a[f+124>>2]=Wt+nr,cr=a[f+120>>2],gr=Z<<1,a[f+120>>2]=cr+gr,a[f+112>>2]=ee-de,a[f+108>>2]=ye-ke,a[f+104>>2]=Ve-Me,a[f+100>>2]=ut-We,a[f+96>>2]=bt-pt,a[f+92>>2]=we-Ye,a[f+88>>2]=dt-it,a[f+84>>2]=nr-Wt,a[f+80>>2]=gr-cr,a[f+116>>2]=h-c}function lM(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0;de=a[c+4>>2],ee=a[c+44>>2],ke=a[c+8>>2],ye=a[c+48>>2],Me=a[c+12>>2],Ve=a[c+52>>2],We=a[c+16>>2],ut=a[c+56>>2],pt=a[c+20>>2],bt=a[c+60>>2],Ye=a[c+24>>2],it=a[(we=c- -64|0)>>2],dt=a[c+28>>2],Wt=a[c+68>>2],nr=a[c+32>>2],cr=a[c+72>>2],gr=a[c+36>>2],vr=a[c+76>>2],a[f>>2]=a[c>>2]+a[c+40>>2],a[f+36>>2]=gr+vr,a[f+32>>2]=nr+cr,a[f+28>>2]=dt+Wt,a[f+24>>2]=Ye+it,a[f+20>>2]=pt+bt,a[f+16>>2]=We+ut,a[f+12>>2]=Me+Ve,a[f+8>>2]=ke+ye,a[f+4>>2]=ee+de,ee=a[c+4>>2],ke=a[c+44>>2],ye=a[c+8>>2],Me=a[c+48>>2],Ve=a[c+12>>2],We=a[c+52>>2],ut=a[c+16>>2],pt=a[c+56>>2],bt=a[c+20>>2],Ye=a[c+60>>2],it=a[c+24>>2],we=a[we>>2],de=a[c+28>>2],dt=a[c+68>>2],Wt=a[c+32>>2],nr=a[c+72>>2],cr=a[c>>2],gr=a[c+40>>2],a[f+76>>2]=a[c+76>>2]-a[c+36>>2],a[f+72>>2]=nr-Wt,a[f+68>>2]=dt-de,a[(de=f- -64|0)>>2]=we-it,a[f+60>>2]=Ye-bt,a[f+56>>2]=pt-ut,a[f+52>>2]=We-Ve,a[f+48>>2]=Me-ye,a[f+44>>2]=ke-ee,a[f+40>>2]=gr-cr,Ar(f+80|0,f,h),Ar(ee=f+40|0,ee,h+40|0),Ar(f+120|0,h+80|0,c+120|0),gr=a[c+84>>2],vr=a[c+88>>2],B=a[c+92>>2],Q=a[c+96>>2],v=a[c+100>>2],L=a[c+104>>2],H=a[c+108>>2],j=a[c+112>>2],re=a[c+116>>2],h=a[f+44>>2],ee=a[f+84>>2],ke=a[f+48>>2],ye=a[f+88>>2],Me=a[f+52>>2],Ve=a[f+92>>2],We=a[f+56>>2],ut=a[f+96>>2],pt=a[f+60>>2],bt=a[f+100>>2],Ye=a[de>>2],we=a[f+104>>2],it=a[f+68>>2],dt=a[f+108>>2],Wt=a[f+72>>2],nr=a[f+112>>2],Z=a[c+80>>2],c=a[f+40>>2],cr=a[f+80>>2],p=a[f+76>>2],b=a[f+116>>2],a[f+76>>2]=p+b,a[f+72>>2]=Wt+nr,a[f+68>>2]=it+dt,a[de>>2]=Ye+we,a[f+60>>2]=pt+bt,a[f+56>>2]=We+ut,a[f+52>>2]=Me+Ve,a[f+48>>2]=ke+ye,a[f+44>>2]=h+ee,a[f+40>>2]=c+cr,a[f+36>>2]=b-p,a[f+32>>2]=nr-Wt,a[f+28>>2]=dt-it,a[f+24>>2]=we-Ye,a[f+20>>2]=bt-pt,a[f+16>>2]=ut-We,a[f+12>>2]=Ve-Me,a[f+8>>2]=ye-ke,a[f+4>>2]=ee-h,a[f>>2]=cr-c,c=re<<1,h=a[f+156>>2],a[f+156>>2]=c-h,de=j<<1,ee=a[f+152>>2],a[f+152>>2]=de-ee,ke=H<<1,ye=a[f+148>>2],a[f+148>>2]=ke-ye,Me=L<<1,Ve=a[f+144>>2],a[f+144>>2]=Me-Ve,We=v<<1,ut=a[f+140>>2],a[f+140>>2]=We-ut,pt=Q<<1,bt=a[f+136>>2],a[f+136>>2]=pt-bt,Ye=B<<1,we=a[f+132>>2],a[f+132>>2]=Ye-we,it=vr<<1,dt=a[f+128>>2],a[f+128>>2]=it-dt,Wt=gr<<1,nr=a[f+124>>2],a[f+124>>2]=Wt-nr,cr=Z<<1,gr=a[f+120>>2],a[f+120>>2]=cr-gr,a[f+112>>2]=ee+de,a[f+108>>2]=ke+ye,a[f+104>>2]=Me+Ve,a[f+100>>2]=We+ut,a[f+96>>2]=pt+bt,a[f+92>>2]=Ye+we,a[f+88>>2]=it+dt,a[f+84>>2]=Wt+nr,a[f+80>>2]=cr+gr,a[f+116>>2]=c+h}function dv(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0;de=S[c+31|0],h=S[c+30|0],p=S[c+29|0],b=S[c+6|0],B=S[c+5|0],Q=S[c+4|0],v=S[c+9|0],L=S[c+8|0],H=S[c+7|0],j=S[c+12|0],dt=S[c+11|0],Wt=S[c+10|0],re=S[c+15|0],nr=S[c+14|0],Z=S[c+13|0],pt=S[c+28|0],it=S[c+27|0],bt=S[c+26|0],ut=S[c+25|0],Ve=S[c+24|0],Me=S[c+23|0],we=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,We=(ye=S[c+21|0])<<15,ye=ke=ye>>>17|0,Ye=We,Ye|=(We=S[c+20|0])<<7,We=(ke=We>>>25|0)|ye,ye=(ke=S[c+22|0])>>>9|0,ke=ke<<23|Ye,ye|=We,ee=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,c=0,We=ke,ke=(33554431&(c=(Ye=ee+16777216|0)>>>0<16777216?1:c))<<7|Ye>>>25,c=(c>>>25|0)+ye|0,ke=(ye=We=We+ke|0)>>>0<ke>>>0?c+1|0:c,c=(We=ye+33554432|0)>>>0<33554432?ke+1|0:ke,a[f+24>>2]=ye-(-67108864&We),ke=(ye=Me>>>27|0)|Ve>>>19|ut>>>11,ye=Me=(Ve=ut<<21|(Me=Ve<<13|Me<<5))+(ye=(67108863&(ye=c))<<6|We>>>26)|0,c=ke,ke=(Me=Ve+16777216|0)>>>0<16777216?c+1|0:c,a[f+28>>2]=ye-(1040187392&Me),ye=(ke=(c=ke)>>>25|0)+(ye=it>>>20|bt>>>28|pt>>>12)|0,c=ye=(ke=Me=(c=(33554431&c)<<7|Me>>>25)+(it<<12|bt<<4|pt<<20)|0)>>>0<c>>>0?ye+1|0:ye,Me=(pt=ke+33554432|0)>>>0<33554432?c+1|0:c,a[f+32>>2]=ke-(-67108864&pt),ye=j>>>13|(ke=dt>>>21|Wt>>>29),c=(ye=(it=16777216+(dt=dt<<11|Wt<<3|j<<19)|0)>>>0<16777216?ye+1|0:ye)>>>25|0,ye=(ke=Ve=nr<<10|Z<<2|re<<18)+(Ve=(33554431&ye)<<7|it>>>25)|0,ke=c+(ut=nr>>>22|Z>>>30|re>>>14)|0,c=ke=ye>>>0<Ve>>>0?ke+1|0:ke,Ve=((67108863&(c=(Ve=ye+33554432|0)>>>0<33554432?c+1|0:c))<<6|(ke=Ve)>>>26)+(bt=ee-(-33554432&Ye)|0)|0,a[f+20>>2]=Ve,a[f+16>>2]=ye-(-67108864&ke),ke=B>>>18|Q>>>26|b>>>10,ye=(ke=(bt=16777216+(Wt=B<<14|Q<<6|b<<22)|0)>>>0<16777216?ke+1|0:ke)>>>25|0,ke=(c=Ve=L<<13|H<<5|v<<21)+(Ve=(33554431&ke)<<7|bt>>>25)|0,c=ye+(ut=L>>>19|H>>>27|v>>>11)|0,c=ke>>>0<Ve>>>0?c+1|0:c,ye=(ut=ke+33554432|0)>>>0<33554432?c+1|0:c,a[f+8>>2]=ke-(-67108864&ut),pt=(Me=(67108863&Me)<<6|pt>>>26)+(nr=de<<18&33292288|h<<10|p<<2)|0,c=ke=h>>>22|p>>>30,ke=(Me=nr+16777216|0)>>>0<16777216?c+1|0:c,a[f+36>>2]=pt-(33554432&Me),ye=dt+((67108863&ye)<<6|ut>>>26)|0,a[f+12>>2]=ye-(234881024&it),Ve=Wt-(2113929216&bt)|0,ye=Ce((33554431&(c=ke))<<7|Me>>>25,ke=c>>>25|0,19,0),c=$,ye=(ke=ye+we|0)>>>0<ye>>>0?c+1|0:c,Me=((67108863&(ye=(c=ke+33554432|0)>>>0<33554432?ye+1|0:ye))<<6|c>>>26)+Ve|0,a[f+4>>2]=Me,a[f>>2]=ke-(-67108864&c)}function hM(f,c,h,p,b,B,Q,v){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0;var L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0;if((-7&(v|=0))==1){e:{t:{r:{n:{i:{c:{s:{if(p){o:{d:{if(v>>>0<=3){for(;;){re=H;a:{u:{f:{l:{for(;;){if(L=(L=(j=k[h+re|0])-65|0)&(~(90-j)&~L)>>>8&255|j+4&(~(j+65488)&~(57-j))>>>8&255|j+185&(~(j+65439)&~(122-j))>>>8&255|~(1+(16336^j))>>>8&63|~(1+(16340^j))>>>8&62,(0|(L|=(L-1&1+(65470^j))>>>8&255))!=255)break l;if(L=0,!b)break o;if(!bi(b,j))break;if((re=re+1|0)>>>0>=p>>>0)break f}H=re;break o}if(de=L+(de<<6)|0,Z>>>0>1)break u;Z=Z+6|0;break a}H=(f=H+1|0)>>>0<p>>>0?p:f;break o}if(Z=Z-2|0,c>>>0<=ee>>>0)break d;k[f+ee|0]=de>>>Z,ee=ee+1|0}if(L=0,!((H=re+1|0)>>>0<p>>>0))break}break o}for(;;){a:{if(L=(L=(j=k[h+re|0])-65|0)&(~(90-j)&~L)>>>8&255|j+4&(~(j+65488)&~(57-j))>>>8&255|j+185&(~(j+65439)&~(122-j))>>>8&255|~(1+(16288^j))>>>8&63|~(1+(16338^j))>>>8&62,(0|(L|=(L-1&1+(65470^j))>>>8&255))==255){if(L=0,!b)break o;if(bi(b,j)){if((re=re+1|0)>>>0>=p>>>0)break a;continue}H=re;break o}if(de=L+(de<<6)|0,Z>>>0<2)Z=Z+6|0;else{if(Z=Z-2|0,c>>>0<=ee>>>0)break d;k[f+ee|0]=de>>>Z,ee=ee+1|0}if(L=0,(H=re+1|0)>>>0>=p>>>0)break o;re=H;continue}break}H=(f=H+1|0)>>>0<p>>>0?p:f;break o}H=re,a[9404]=68,L=1}if(Z>>>0>4)break s;f=H}else f=0;if(c=-1,L){H=f;break e}if(~(-1<<Z)&de){H=f;break e}if(2&v){v=f;break i}if(Z>>>0<2){v=f;break i}if(H=f>>>0>p>>>0?f:p,re=Z>>>1|0,!b)break c;for(v=f;;){if((0|v)==(0|H)){L=68;break n}if((0|(f=k[h+v|0]))!=61){if(!bi(b,f)){L=28,H=v;break n}}else re=re-1|0;if(v=v+1|0,!re)break}break i}c=-1;break e}if(L=68,f>>>0>=p>>>0)break n;if(S[f+h|0]!=61){H=f,L=28;break n}if(v=f+re|0,(0|re)!=1){if((0|(Z=f+1|0))==(0|H))break n;if(S[h+Z|0]!=61){H=Z,L=28;break n}if((0|re)!=2&&((0|(f=f+2|0))==(0|H)||(L=28,H=f,S[f+h|0]!=61)))break n}}if(c=0,b)break r;break t}a[9404]=L;break e}if(!(p>>>0<=v>>>0)){for(;;){if(!bi(b,k[h+v|0]))break t;if((0|(v=v+1|0))==(0|p))break}v=p}}H=v,we=ee}return Q?a[Q>>2]=h+H:(0|p)!=(0|H)&&(a[9404]=28,c=-1),B&&(a[B>>2]=we),0|c}Bs(),Rr()}function $2(f,c,h,p){f|=0,c|=0,h|=0;var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0;for((p|=0)?(b=S[p+12|0]|S[p+13|0]<<8|S[p+14|0]<<16|S[p+15|0]<<24,L=S[p+8|0]|S[p+9|0]<<8|S[p+10|0]<<16|S[p+11|0]<<24,H=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,p=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24):(b=1797285236,L=2036477234,H=857760878,p=1634760805),B=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,v=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,Q=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,ye=S[h+28|0]|S[h+29|0]<<8|S[h+30|0]<<16|S[h+31|0]<<24,ke=S[h+24|0]|S[h+25|0]<<8|S[h+26|0]<<16|S[h+27|0]<<24,Me=20,de=S[h+20|0]|S[h+21|0]<<8|S[h+22|0]<<16|S[h+23|0]<<24,we=S[h+16|0]|S[h+17|0]<<8|S[h+18|0]<<16|S[h+19|0]<<24,re=S[h+12|0]|S[h+13|0]<<8|S[h+14|0]<<16|S[h+15|0]<<24,Z=S[h+8|0]|S[h+9|0]<<8|S[h+10|0]<<16|S[h+11|0]<<24,ee=S[h+4|0]|S[h+5|0]<<8|S[h+6|0]<<16|S[h+7|0]<<24,c=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,h=S[0|h]|S[h+1|0]<<8|S[h+2|0]<<16|S[h+3|0]<<24;j=lr(h+H|0,7)^B,Ve=lr(j+H|0,9)^ke,re=lr(p+de|0,7)^re,We=lr(re+p|0,9)^v,ut=lr(We+re|0,13)^de,Z=lr(b+we|0,7)^Z,Q=lr(Z+b|0,9)^Q,v=lr(Q+Z|0,13)^we,b=lr(Q+v|0,18)^b,B=lr(c+L|0,7)^ye,de=ut^lr(b+B|0,7),ke=Ve^lr(de+b|0,9),ye=lr(de+ke|0,13)^B,b=lr(ke+ye|0,18)^b,ee=lr(B+L|0,9)^ee,pt=lr(ee+B|0,13)^c,c=lr(pt+ee|0,18)^L,we=lr(c+j|0,7)^v,v=lr(we+c|0,9)^We,B=lr(v+we|0,13)^j,L=lr(B+v|0,18)^c,j=lr(j+Ve|0,13)^h,h=lr(j+Ve|0,18)^H,c=lr(h+re|0,7)^pt,Q=lr(c+h|0,9)^Q,re=lr(c+Q|0,13)^re,H=lr(Q+re|0,18)^h,p=lr(We+ut|0,18)^p,h=lr(p+Z|0,7)^j,ee=lr(h+p|0,9)^ee,Z=lr(h+ee|0,13)^Z,p=lr(ee+Z|0,18)^p,j=Me>>>0>2,Me=Me-2|0,j;);return k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+28|0]=B,k[f+29|0]=B>>>8,k[f+30|0]=B>>>16,k[f+31|0]=B>>>24,k[f+24|0]=v,k[f+25|0]=v>>>8,k[f+26|0]=v>>>16,k[f+27|0]=v>>>24,k[f+20|0]=Q,k[f+21|0]=Q>>>8,k[f+22|0]=Q>>>16,k[f+23|0]=Q>>>24,k[f+16|0]=c,k[f+17|0]=c>>>8,k[f+18|0]=c>>>16,k[f+19|0]=c>>>24,k[f+12|0]=b,k[f+13|0]=b>>>8,k[f+14|0]=b>>>16,k[f+15|0]=b>>>24,k[f+8|0]=L,k[f+9|0]=L>>>8,k[f+10|0]=L>>>16,k[f+11|0]=L>>>24,k[f+4|0]=H,k[f+5|0]=H>>>8,k[f+6|0]=H>>>16,k[f+7|0]=H>>>24,0}function qS(f,c){var h,p,b,B,Q=0,v=0,L=0,H=0,j=0,re=0;for(Ie=h=Ie-480|0;L=(v=h+288|0)+(Q<<1)|0,H=S[c+Q|0],k[L+1|0]=H>>>4,k[0|L]=15&H,v=v+((L=1|Q)<<1)|0,L=S[c+L|0],k[v+1|0]=L>>>4,k[0|v]=15&L,(0|(Q=Q+2|0))!=32;);for(c=0;Q=8+(v=(Q=c)+S[0|(c=(h+288|0)+j|0)]|0)|0,k[0|c]=v-(240&Q),Q=8+(v=S[c+1|0]+(Q<<24>>24>>4)|0)|0,k[c+1|0]=v-(240&Q),Q=8+(v=S[c+2|0]+(Q<<24>>24>>4)|0)|0,k[c+2|0]=v-(240&Q),c=Q<<24>>24>>4,(0|(j=j+3|0))!=63;);for(k[h+351|0]=S[h+351|0]+c,a[f+32>>2]=0,a[f+36>>2]=0,a[f+24>>2]=0,a[f+28>>2]=0,a[f+16>>2]=0,a[f+20>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[f>>2]=0,a[f+4>>2]=0,a[f+44>>2]=0,a[f+48>>2]=0,a[f+40>>2]=1,a[f+52>>2]=0,a[f+56>>2]=0,a[f+60>>2]=0,a[f+64>>2]=0,a[f+68>>2]=0,a[f+72>>2]=0,a[f+76>>2]=0,a[f+80>>2]=1,yo(f+84|0,0,76),b=f+120|0,j=f+80|0,c=f+40|0,v=h+208|0,p=h+168|0,L=h+248|0,Q=1;mH(re=h+8|0,Q>>>1|0,k[(h+288|0)+Q|0]),lM(H=h+128|0,f,re),Ar(f,H,L),Ar(c,p,v),Ar(j,v,L),Ar(b,H,p),re=Q>>>0<62,Q=Q+2|0,re;);for(Q=a[f+36>>2],a[h+392>>2]=a[f+32>>2],a[h+396>>2]=Q,Q=a[f+28>>2],a[h+384>>2]=a[f+24>>2],a[h+388>>2]=Q,Q=a[f+20>>2],a[h+376>>2]=a[f+16>>2],a[h+380>>2]=Q,Q=a[f+12>>2],a[h+368>>2]=a[f+8>>2],a[h+372>>2]=Q,Q=a[f+4>>2],a[h+360>>2]=a[f>>2],a[h+364>>2]=Q,Q=a[c+12>>2],a[h+408>>2]=a[c+8>>2],a[h+412>>2]=Q,Q=a[c+20>>2],a[h+416>>2]=a[c+16>>2],a[h+420>>2]=Q,Q=a[c+28>>2],a[h+424>>2]=a[c+24>>2],a[h+428>>2]=Q,Q=a[c+36>>2],a[h+432>>2]=a[c+32>>2],a[h+436>>2]=Q,Q=a[c+4>>2],a[h+400>>2]=a[c>>2],a[h+404>>2]=Q,Q=a[j+12>>2],a[h+448>>2]=a[j+8>>2],a[h+452>>2]=Q,Q=a[j+20>>2],a[h+456>>2]=a[j+16>>2],a[h+460>>2]=Q,Q=a[j+28>>2],a[h+464>>2]=a[j+24>>2],a[h+468>>2]=Q,Q=a[j+36>>2],a[h+472>>2]=a[j+32>>2],a[h+476>>2]=Q,Q=a[j+4>>2],a[h+440>>2]=a[j>>2],a[h+444>>2]=Q,Rd(H,Q=h+360|0),Ar(Q,H,L),Ar(re=h+400|0,p,v),Ar(B=h+440|0,v,L),Rd(H,Q),Ar(Q,H,L),Ar(re,p,v),Ar(B,v,L),Rd(H,Q),Ar(Q,H,L),Ar(re,p,v),Ar(B,v,L),Rd(H,Q),Ar(f,H,L),Ar(c,p,v),Ar(j,v,L),Ar(b,H,p),Q=0;mH(re=h+8|0,Q>>>1|0,k[(h+288|0)+Q|0]),lM(H=h+128|0,f,re),Ar(f,H,L),Ar(c,p,v),Ar(j,v,L),Ar(b,H,p),H=Q>>>0<62,Q=Q+2|0,H;);Ie=h+480|0}function dH(f,c){f|=0;var h,p,b,B,Q,v=0,L=0,H=0,j=0,re=0,Z=0;for(Ie=h=Ie-736|0,xr(re=h+704|0,c|=0,c),xr(L=h+224|0,c,re),xr(j=h+672|0,c,L),xr(H=h+640|0,j,j),xr(p=h+416|0,re,H),xr(re=h+320|0,c,p),xr(v=h+608|0,H,H),xr(H=h+288|0,re,re),xr(Z=h+576|0,p,H),xr(Q=h+448|0,v,H),xr(b=h+544|0,Z,Z),xr(Z=h+384|0,v,b),xr(B=h+352|0,L,Z),xr(L=h+192|0,v,B),xr(v=h+160|0,j,L),xr(h+96|0,j,v),xr(L=h+512|0,b,B),xr(v=h+480|0,j,L),xr(L=h+256|0,Q,v),xr(h+128|0,H,L),xr(H=h- -64|0,Z,v),xr(v=h+32|0,j,H),xr(h,p,v),xr(f,re,h),j=0;xr(f,f,f),(0|(j=j+1|0))!=126;);return xr(f,f,h+352|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+704|0),xr(f,f,h),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+160|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+256|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h- -64|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+96|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+320|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+512|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+192|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+480|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+128|0),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,f),xr(f,f,h+32|0),Ie=h+736|0,0-ya(c,32)|0}function fH(f,c,h){f|=0;var p,b,B,Q,v=0,L=0,H=0,j=0,re=0;return Ie=B=Ie-160|0,ci(c|=0,h|=0,32,0),k[0|c]=248&S[0|c],k[c+31|0]=63&S[c+31|0]|64,qS(B,c),VS(f,B),L=S[(b=h)+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,v=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,H=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,j=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,re=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,h=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,Q=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,p=c,c=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,k[p+24|0]=c,k[p+25|0]=c>>>8,k[p+26|0]=c>>>16,k[p+27|0]=c>>>24,k[p+28|0]=Q,k[p+29|0]=Q>>>8,k[p+30|0]=Q>>>16,k[p+31|0]=Q>>>24,k[p+16|0]=H,k[p+17|0]=H>>>8,k[p+18|0]=H>>>16,k[p+19|0]=H>>>24,k[p+20|0]=j,k[p+21|0]=j>>>8,k[p+22|0]=j>>>16,k[p+23|0]=j>>>24,k[p+8|0]=L,k[p+9|0]=L>>>8,k[p+10|0]=L>>>16,k[p+11|0]=L>>>24,k[p+12|0]=v,k[p+13|0]=v>>>8,k[p+14|0]=v>>>16,k[p+15|0]=v>>>24,k[0|p]=re,k[p+1|0]=re>>>8,k[p+2|0]=re>>>16,k[p+3|0]=re>>>24,k[p+4|0]=h,k[p+5|0]=h>>>8,k[p+6|0]=h>>>16,k[p+7|0]=h>>>24,H=S[(v=f)+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,j=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,re=S[v+16|0]|S[v+17|0]<<8|S[v+18|0]<<16|S[v+19|0]<<24,h=S[v+20|0]|S[v+21|0]<<8|S[v+22|0]<<16|S[v+23|0]<<24,c=S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,f=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,L=S[v+28|0]|S[v+29|0]<<8|S[v+30|0]<<16|S[v+31|0]<<24,v=S[v+24|0]|S[v+25|0]<<8|S[v+26|0]<<16|S[v+27|0]<<24,k[p+56|0]=v,k[p+57|0]=v>>>8,k[p+58|0]=v>>>16,k[p+59|0]=v>>>24,k[p+60|0]=L,k[p+61|0]=L>>>8,k[p+62|0]=L>>>16,k[p+63|0]=L>>>24,k[p+48|0]=re,k[p+49|0]=re>>>8,k[p+50|0]=re>>>16,k[p+51|0]=re>>>24,k[p+52|0]=h,k[p+53|0]=h>>>8,k[p+54|0]=h>>>16,k[p+55|0]=h>>>24,k[p+40|0]=H,k[p+41|0]=H>>>8,k[p+42|0]=H>>>16,k[p+43|0]=H>>>24,k[p+44|0]=j,k[p+45|0]=j>>>8,k[p+46|0]=j>>>16,k[p+47|0]=j>>>24,k[p+32|0]=c,k[p+33|0]=c>>>8,k[p+34|0]=c>>>16,k[p+35|0]=c>>>24,k[p+36|0]=f,k[p+37|0]=f>>>8,k[p+38|0]=f>>>16,k[p+39|0]=f>>>24,Ie=B+160|0,0}function L0(f,c,h,p){var b,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0;if(Ie=b=Ie-704|0,h|p)if(B=(p<<3|h>>>29)+(Q=L=a[f+76>>2])|0,v=(j=a[f+72>>2])+(H=h<<3)|0,a[f+72>>2]=v,B=v>>>0<H>>>0?B+1|0:B,a[f+76>>2]=B,L=a[f+68>>2],B=(B=v=(0|B)==(0|Q)&v>>>0<j>>>0|B>>>0<Q>>>0)>>>0>(v=v+a[f+64>>2]|0)>>>0?L+1|0:L,v=(H=p>>>29|0)+v|0,a[f+64>>2]=v,a[f+68>>2]=v>>>0<H>>>0?B+1|0:B,v=f+80|0,(0|p)==(0|(L=we=0-((B=0)+((H=127&((7&Q)<<29|j>>>3))>>>0>128)|0)|0))&h>>>0>=(j=128-H|0)>>>0|p>>>0>L>>>0){if(Q=0,L=0,!B&(127^H)>>>0>=3|B)for(ke=252&j;k[(B=Q+H|0)+v|0]=S[c+Q|0],k[v+(H+(B=1|Q)|0)|0]=S[c+B|0],k[v+(H+(B=2|Q)|0)|0]=S[c+B|0],k[v+(H+(B=3|Q)|0)|0]=S[c+B|0],B=L,L=(Q=Q+4|0)>>>0<4?B+1|0:B,B=ee,ee=B=(re=re+4|0)>>>0<4?B+1|0:B,(0|re)!=(0|ke)|(0|de)!=(0|B););if(ee=B=0,B|(re=3&j))for(;k[(B=Q+H|0)+v|0]=S[c+Q|0],B=L,L=(Q=Q+1|0)?B:B+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|re)!=(0|Z)|(0|ee)!=(0|B););if(Mi(f,v,b,Q=b+640|0),c=c+j|0,!(p=p-((h>>>0<j>>>0)+we|0)|0)&(h=h-j|0)>>>0>127|p)for(;Mi(f,c,b,Q),c=c+128|0,!(p=p-(h>>>0<128)|0)&(h=h-128|0)>>>0>127|p;);if(h|p){if(f=3&h,Z=0,de=0,Q=0,L=0,!p&h>>>0>=4|p)for(re=124&h,j=0,h=0,p=0;k[Q+v|0]=S[c+Q|0],k[(B=1|Q)+v|0]=S[c+B|0],k[(B=2|Q)+v|0]=S[c+B|0],k[(B=3|Q)+v|0]=S[c+B|0],B=L,L=(Q=Q+4|0)>>>0<4?B+1|0:B,B=p,p=B=(h=h+4|0)>>>0<4?B+1|0:B,(0|h)!=(0|re)|(0|j)!=(0|B););if(f|ee)for(;k[Q+v|0]=S[c+Q|0],L=(Q=Q+1|0)?L:L+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|f)!=(0|Z)|(0|ee)!=(0|B););}bn(b,704)}else{if(Q=0,L=0,!p&h>>>0>=4|p)for(f=-4&h;k[(B=Q+H|0)+v|0]=S[c+Q|0],k[v+(j=H+(B=1|Q)|0)|0]=S[c+B|0],k[v+(j=H+(B=2|Q)|0)|0]=S[c+B|0],k[v+(j=H+(B=3|Q)|0)|0]=S[c+B|0],B=L,L=(Q=Q+4|0)>>>0<4?B+1|0:B,B=ee,ee=B=(re=re+4|0)>>>0<4?B+1|0:B,(0|f)!=(0|re)|(0|p)!=(0|B););if((h&=3)|(f=0))for(;k[(p=Q+H|0)+v|0]=S[c+Q|0],L=(Q=Q+1|0)?L:L+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|h)!=(0|Z)|(0|f)!=(0|B););}return Ie=b+704|0,0}function Y2(f,c,h){var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0;we=a[c+4>>2],b=a[f+4>>2],ke=a[c+8>>2],B=a[f+8>>2],ye=a[c+12>>2],Q=a[f+12>>2],Me=a[c+16>>2],v=a[f+16>>2],Ve=a[c+20>>2],L=a[f+20>>2],de=a[c+24>>2],H=a[f+24>>2],We=a[c+28>>2],j=a[f+28>>2],ut=a[c+32>>2],re=a[f+32>>2],pt=a[c+36>>2],Z=a[f+36>>2],h=0-h|0,ee=a[f>>2],a[f>>2]=h&(ee^a[c>>2])^ee,a[f+36>>2]=Z^h&(Z^pt),a[f+32>>2]=re^h&(re^ut),a[f+28>>2]=j^h&(j^We),a[f+24>>2]=H^h&(H^de),a[f+20>>2]=L^h&(L^Ve),a[f+16>>2]=v^h&(v^Me),a[f+12>>2]=Q^h&(Q^ye),a[f+8>>2]=B^h&(B^ke),a[f+4>>2]=b^h&(b^we),b=a[f+44>>2],we=a[c+44>>2],B=a[f+48>>2],ke=a[c+48>>2],Q=a[f+52>>2],ye=a[c+52>>2],v=a[f+56>>2],Me=a[c+56>>2],L=a[f+60>>2],Ve=a[c+60>>2],H=a[(de=f- -64|0)>>2],We=a[c- -64>>2],j=a[f+68>>2],ut=a[c+68>>2],re=a[f+72>>2],pt=a[c+72>>2],Z=a[f+40>>2],ee=a[c+40>>2],p=a[f+76>>2],a[f+76>>2]=p^h&(a[c+76>>2]^p),a[f+72>>2]=re^h&(re^pt),a[f+68>>2]=j^h&(j^ut),a[de>>2]=H^h&(H^We),a[f+60>>2]=L^h&(L^Ve),a[f+56>>2]=v^h&(v^Me),a[f+52>>2]=Q^h&(Q^ye),a[f+48>>2]=B^h&(B^ke),a[f+44>>2]=b^h&(b^we),a[f+40>>2]=Z^h&(Z^ee),b=a[f+84>>2],we=a[c+84>>2],B=a[f+88>>2],ke=a[c+88>>2],Q=a[f+92>>2],ye=a[c+92>>2],v=a[f+96>>2],Me=a[c+96>>2],L=a[f+100>>2],Ve=a[c+100>>2],H=a[f+104>>2],de=a[c+104>>2],j=a[f+108>>2],We=a[c+108>>2],re=a[f+112>>2],ut=a[c+112>>2],Z=a[f+80>>2],pt=a[c+80>>2],ee=a[f+116>>2],a[f+116>>2]=h&(ee^a[c+116>>2])^ee,a[f+112>>2]=re^h&(re^ut),a[f+108>>2]=j^h&(j^We),a[f+104>>2]=H^h&(H^de),a[f+100>>2]=L^h&(L^Ve),a[f+96>>2]=v^h&(v^Me),a[f+92>>2]=Q^h&(Q^ye),a[f+88>>2]=B^h&(B^ke),a[f+84>>2]=b^h&(b^we),a[f+80>>2]=Z^h&(Z^pt),b=a[f+124>>2],we=a[c+124>>2],B=a[f+128>>2],ke=a[c+128>>2],Q=a[f+132>>2],ye=a[c+132>>2],v=a[f+136>>2],Me=a[c+136>>2],L=a[f+140>>2],Ve=a[c+140>>2],H=a[f+144>>2],de=a[c+144>>2],j=a[f+148>>2],We=a[c+148>>2],re=a[f+152>>2],ut=a[c+152>>2],Z=a[f+120>>2],pt=a[c+120>>2],ee=a[c+156>>2],c=a[f+156>>2],a[f+156>>2]=h&(ee^c)^c,a[f+152>>2]=re^h&(re^ut),a[f+148>>2]=j^h&(j^We),a[f+144>>2]=H^h&(H^de),a[f+140>>2]=L^h&(L^Ve),a[f+136>>2]=v^h&(v^Me),a[f+132>>2]=Q^h&(Q^ye),a[f+128>>2]=B^h&(B^ke),a[f+124>>2]=b^h&(b^we),a[f+120>>2]=Z^h&(Z^pt)}function AM(f,c,h){var p,b,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0;return Ie=p=Ie-320|0,Et(B=p+240|0,h),Ar(B,B,h),Et(f,B),Ar(f,f,h),Ar(f,f,c),mM(f,f),Ar(f,f,B),Ar(f,f,c),Et(B=p+192|0,f),Ar(B,B,h),Q=a[c+4>>2],de=a[c+8>>2],ke=a[c+12>>2],ye=a[c+16>>2],Me=a[c+20>>2],Ve=a[c+24>>2],We=a[c+28>>2],ut=a[c+32>>2],pt=a[c>>2],h=a[p+192>>2],B=a[p+196>>2],v=a[p+200>>2],L=a[p+204>>2],H=a[p+208>>2],j=a[p+212>>2],re=a[p+216>>2],Z=a[p+220>>2],ee=a[p+224>>2],we=a[p+228>>2],bt=a[c+36>>2],a[p+180>>2]=we-bt,a[p+176>>2]=ee-ut,a[p+172>>2]=Z-We,a[p+168>>2]=re-Ve,a[p+164>>2]=j-Me,a[p+160>>2]=H-ye,a[p+156>>2]=L-ke,a[p+152>>2]=v-de,a[p+148>>2]=B-Q,a[p+144>>2]=h-pt,a[p+132>>2]=we+bt,a[p+128>>2]=ee+ut,a[p+124>>2]=Z+We,a[p+120>>2]=re+Ve,a[p+116>>2]=j+Me,a[p+112>>2]=H+ye,a[p+108>>2]=L+ke,a[p+104>>2]=v+de,a[p+100>>2]=B+Q,a[p+96>>2]=h+pt,Ar(Q=p+48|0,c,1632),a[p+84>>2]=we+a[p+84>>2],a[p+80>>2]=ee+a[p+80>>2],a[p+76>>2]=Z+a[p+76>>2],a[p+72>>2]=re+a[p+72>>2],a[p+68>>2]=j+a[p+68>>2],a[p+64>>2]=H+a[p+64>>2],a[p+60>>2]=L+a[p+60>>2],a[p+56>>2]=v+a[p+56>>2],a[p+52>>2]=B+a[p+52>>2],a[p+48>>2]=h+a[p+48>>2],yc(p,p+144|0),ke=ya(p,32),yc(p,p+96|0),de=ya(p,32),yc(p,Q),c=ya(p,32),Ar(p,f,1632),ee=a[f+4>>2],Z=a[f+8>>2],re=a[f+12>>2],j=a[f+16>>2],H=a[f+20>>2],L=a[f+24>>2],v=a[f+28>>2],B=a[f+32>>2],Q=a[f>>2],ye=a[p>>2],Me=a[p+4>>2],Ve=a[p+8>>2],We=a[p+12>>2],ut=a[p+16>>2],pt=a[p+20>>2],we=a[p+24>>2],bt=a[p+28>>2],b=a[p+32>>2],h=(c=0-(c|de)|0)&((h=a[f+36>>2])^a[p+36>>2])^h,a[f+36>>2]=h,B^=c&(B^b),a[f+32>>2]=B,v^=c&(v^bt),a[f+28>>2]=v,L^=c&(L^we),a[f+24>>2]=L,H^=c&(H^pt),a[f+20>>2]=H,j^=c&(j^ut),a[f+16>>2]=j,re^=c&(re^We),a[f+12>>2]=re,Z^=c&(Z^Ve),a[f+8>>2]=Z,ee^=c&(ee^Me),a[f+4>>2]=ee,Q^=c&(Q^ye),a[f>>2]=Q,yc(p+288|0,f),c=0-(1&k[p+288|0])|0,a[f+36>>2]=h^c&(h^0-h),a[f+32>>2]=B^c&(B^0-B),a[f+28>>2]=v^c&(v^0-v),a[f+24>>2]=L^c&(L^0-L),a[f+20>>2]=H^c&(H^0-H),a[f+16>>2]=j^c&(j^0-j),a[f+12>>2]=re^c&(re^0-re),a[f+8>>2]=Z^c&(Z^0-Z),a[f+4>>2]=ee^c&(ee^0-ee),a[f>>2]=Q^c&(Q^0-Q),Ie=p+320|0,de|ke}function fv(f,c){var h,p,b,B,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0;return Ie=h=Ie-320|0,dv(p=f+40|0,c),a[f+84>>2]=0,a[f+88>>2]=0,a[f+80>>2]=1,a[f+92>>2]=0,a[f+96>>2]=0,a[f+100>>2]=0,a[f+104>>2]=0,a[f+108>>2]=0,a[f+112>>2]=0,a[f+116>>2]=0,Et(Q=h+240|0,p),Ar(v=h+192|0,Q,1584),a[h+192>>2]=a[h+192>>2]+1,L=a[h+240>>2]-1|0,a[h+240>>2]=L,H=a[h+244>>2],j=a[h+248>>2],re=a[h+252>>2],Z=a[h+256>>2],ee=a[h+260>>2],de=a[h+264>>2],we=a[h+268>>2],ke=a[h+272>>2],ye=a[h+276>>2],Ar(f,Q,v),mM(f,f),Ar(f,Q,f),Et(Q=h+144|0,f),Ar(Q,Q,v),Q=a[h+180>>2],a[h+132>>2]=Q-ye,v=a[h+176>>2],a[h+128>>2]=v-ke,Me=a[h+172>>2],a[h+124>>2]=Me-we,Ve=a[h+168>>2],a[h+120>>2]=Ve-de,We=a[h+164>>2],a[h+116>>2]=We-ee,ut=a[h+160>>2],a[h+112>>2]=ut-Z,pt=a[h+156>>2],a[h+108>>2]=pt-re,bt=a[h+152>>2],a[h+104>>2]=bt-j,Ye=a[h+148>>2],a[h+100>>2]=Ye-H,it=a[h+144>>2],a[h+96>>2]=it-L,a[h+84>>2]=Q+ye,a[h+80>>2]=v+ke,a[h+76>>2]=we+Me,a[h+72>>2]=de+Ve,a[h+68>>2]=ee+We,a[h+64>>2]=Z+ut,a[h+60>>2]=re+pt,a[h+56>>2]=j+bt,a[h+52>>2]=H+Ye,a[h+48>>2]=L+it,yc(h,h+96|0),ke=ya(h,32),yc(h,h+48|0),Me=ya(h,32),Ar(h,f,1632),we=a[f+4>>2],de=a[f+8>>2],ee=a[f+12>>2],Z=a[f+16>>2],re=a[f+20>>2],j=a[f+24>>2],H=a[f+28>>2],L=a[f+32>>2],ye=a[f>>2],Ve=a[h>>2],We=a[h+4>>2],ut=a[h+8>>2],pt=a[h+12>>2],bt=a[h+16>>2],Ye=a[h+20>>2],it=a[h+24>>2],b=a[h+28>>2],B=a[h+32>>2],v=(Q=ke-1|0)&((v=a[f+36>>2])^a[h+36>>2])^v,a[f+36>>2]=v,L^=Q&(L^B),a[f+32>>2]=L,H^=Q&(H^b),a[f+28>>2]=H,j^=Q&(j^it),a[f+24>>2]=j,re^=Q&(re^Ye),a[f+20>>2]=re,Z^=Q&(Z^bt),a[f+16>>2]=Z,ee^=Q&(ee^pt),a[f+12>>2]=ee,de^=Q&(de^ut),a[f+8>>2]=de,we^=Q&(we^We),a[f+4>>2]=we,Q=ye^Q&(ye^Ve),a[f>>2]=Q,yc(h+288|0,f),c=0-(1&k[h+288|0]^S[c+31|0]>>>7^S[38144]>>>2)|0,a[f+36>>2]=v^c&(v^0-v),a[f+32>>2]=L^c&(L^0-L),a[f+28>>2]=H^c&(H^0-H),a[f+24>>2]=j^c&(j^0-j),a[f+20>>2]=re^c&(re^0-re),a[f+16>>2]=Z^c&(Z^0-Z),a[f+12>>2]=ee^c&(ee^0-ee),a[f+8>>2]=de^c&(de^0-de),a[f+4>>2]=we^c&(we^0-we),a[f>>2]=Q^c&(Q^0-Q),Ar(f+120|0,f,p),Ie=h+320|0,(ke|Me)-1|0}function Rd(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0;Ie=h=Ie-48|0,Et(f,c),Et(f+80|0,c+40|0),vd(f+120|0,c+80|0),we=a[c+44>>2],ke=a[c+4>>2],We=a[c+48>>2],ye=a[c+8>>2],ut=a[c+52>>2],Me=a[c+12>>2],pt=a[c+56>>2],Ve=a[c+16>>2],Wt=a[c+60>>2],bt=a[c+20>>2],nr=a[c- -64>>2],Ye=a[c+24>>2],cr=a[c+68>>2],it=a[c+28>>2],gr=a[c+72>>2],vr=a[c+32>>2],Sr=a[c+40>>2],dt=a[c>>2],a[f+76>>2]=a[c+76>>2]+a[c+36>>2],a[f+72>>2]=gr+vr,a[f+68>>2]=cr+it,a[(p=f- -64|0)>>2]=nr+Ye,a[f+60>>2]=Wt+bt,a[f+56>>2]=pt+Ve,a[f+52>>2]=ut+Me,a[f+48>>2]=We+ye,a[f+44>>2]=we+ke,a[f+40>>2]=Sr+dt,Et(h,f+40|0),c=a[f+4>>2],we=a[f+84>>2],ke=a[f+8>>2],We=a[f+88>>2],ye=a[f+12>>2],ut=a[f+92>>2],Me=a[f+16>>2],pt=a[f+96>>2],Ve=a[f+20>>2],Wt=a[f+100>>2],bt=a[f+24>>2],nr=a[f+104>>2],Ye=a[f+28>>2],cr=a[f+108>>2],it=a[f+32>>2],gr=a[f+112>>2],vr=a[f>>2],Sr=a[f+80>>2],B=(dt=a[f+116>>2])-(b=a[f+36>>2])|0,a[f+116>>2]=B,Q=gr-it|0,a[f+112>>2]=Q,v=cr-Ye|0,a[f+108>>2]=v,L=nr-bt|0,a[f+104>>2]=L,H=Wt-Ve|0,a[f+100>>2]=H,j=pt-Me|0,a[f+96>>2]=j,re=ut-ye|0,a[f+92>>2]=re,Z=We-ke|0,a[f+88>>2]=Z,ee=we-c|0,a[f+84>>2]=ee,de=Sr-vr|0,a[f+80>>2]=de,dt=dt+b|0,a[f+76>>2]=dt,it=it+gr|0,a[f+72>>2]=it,Ye=Ye+cr|0,a[f+68>>2]=Ye,bt=bt+nr|0,a[p>>2]=bt,Ve=Ve+Wt|0,a[f+60>>2]=Ve,Me=Me+pt|0,a[f+56>>2]=Me,ye=ye+ut|0,a[f+52>>2]=ye,ke=ke+We|0,a[f+48>>2]=ke,c=c+we|0,a[f+44>>2]=c,we=vr+Sr|0,a[f+40>>2]=we,We=a[h>>2],ut=a[h+4>>2],pt=a[h+8>>2],Wt=a[h+12>>2],nr=a[h+16>>2],cr=a[h+20>>2],gr=a[h+24>>2],vr=a[h+28>>2],Sr=a[h+32>>2],a[f+36>>2]=a[h+36>>2]-dt,a[f+32>>2]=Sr-it,a[f+28>>2]=vr-Ye,a[f+24>>2]=gr-bt,a[f+20>>2]=cr-Ve,a[f+16>>2]=nr-Me,a[f+12>>2]=Wt-ye,a[f+8>>2]=pt-ke,a[f+4>>2]=ut-c,a[f>>2]=We-we,c=a[f+124>>2],we=a[f+128>>2],ke=a[f+132>>2],We=a[f+136>>2],ye=a[f+140>>2],ut=a[f+144>>2],Me=a[f+148>>2],pt=a[f+152>>2],Ve=a[f+120>>2],a[f+156>>2]=a[f+156>>2]-B,a[f+152>>2]=pt-Q,a[f+148>>2]=Me-v,a[f+144>>2]=ut-L,a[f+140>>2]=ye-H,a[f+136>>2]=We-j,a[f+132>>2]=ke-re,a[f+128>>2]=we-Z,a[f+124>>2]=c-ee,a[f+120>>2]=Ve-de,Ie=h+48|0}function w1(f,c,h,p){var b,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0;if(Ie=b=Ie-288|0,h|p)if(B=(p<<3|h>>>29)+(Q=L=a[f+36>>2])|0,v=(H=a[f+32>>2])+(j=h<<3)|0,a[f+32>>2]=v,a[f+36>>2]=v>>>0<j>>>0?B+1|0:B,L=f+40|0,(0|p)==(0|(v=we=0-((B=0)+((j=63&((7&Q)<<29|H>>>3))>>>0>64)|0)|0))&h>>>0>=(H=64-j|0)>>>0|p>>>0>v>>>0){if(Q=0,v=0,!B&(63^j)>>>0>=3|B)for(ke=124&H;k[(B=Q+j|0)+L|0]=S[c+Q|0],k[L+(j+(B=1|Q)|0)|0]=S[c+B|0],k[L+(j+(B=2|Q)|0)|0]=S[c+B|0],k[L+(j+(B=3|Q)|0)|0]=S[c+B|0],B=v,v=(Q=Q+4|0)>>>0<4?B+1|0:B,B=ee,ee=B=(re=re+4|0)>>>0<4?B+1|0:B,(0|re)!=(0|ke)|(0|de)!=(0|B););if(ee=B=0,B|(re=3&H))for(;k[(B=Q+j|0)+L|0]=S[c+Q|0],B=v,v=(Q=Q+1|0)?B:B+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|re)!=(0|Z)|(0|ee)!=(0|B););if(vs(f,L,b,Q=b+256|0),c=c+H|0,!(p=p-((h>>>0<H>>>0)+we|0)|0)&(h=h-H|0)>>>0>63|p)for(;vs(f,c,b,Q),c=c- -64|0,B=p-1|0,!(p=(h=h+-64|0)>>>0<4294967232?B+1|0:B)&h>>>0>63|p;);if(h|p){if(f=3&h,Z=0,de=0,Q=0,v=0,!p&h>>>0>=4|p)for(re=60&h,H=0,h=0,p=0;k[Q+L|0]=S[c+Q|0],k[(B=1|Q)+L|0]=S[c+B|0],k[(B=2|Q)+L|0]=S[c+B|0],k[(B=3|Q)+L|0]=S[c+B|0],B=v,v=(Q=Q+4|0)>>>0<4?B+1|0:B,B=p,p=B=(h=h+4|0)>>>0<4?B+1|0:B,(0|h)!=(0|re)|(0|H)!=(0|B););if(f|ee)for(;k[Q+L|0]=S[c+Q|0],v=(Q=Q+1|0)?v:v+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|f)!=(0|Z)|(0|ee)!=(0|B););}bn(b,288)}else{if(Q=0,v=0,!p&h>>>0>=4|p)for(f=-4&h;k[(B=Q+j|0)+L|0]=S[c+Q|0],k[L+(H=j+(B=1|Q)|0)|0]=S[c+B|0],k[L+(H=j+(B=2|Q)|0)|0]=S[c+B|0],k[L+(H=j+(B=3|Q)|0)|0]=S[c+B|0],B=v,v=(Q=Q+4|0)>>>0<4?B+1|0:B,B=ee,ee=B=(re=re+4|0)>>>0<4?B+1|0:B,(0|f)!=(0|re)|(0|p)!=(0|B););if((h&=3)|(f=0))for(;k[(p=Q+j|0)+L|0]=S[c+Q|0],v=(Q=Q+1|0)?v:v+1|0,B=de,de=B=(Z=Z+1|0)?B:B+1|0,(0|h)!=(0|Z)|(0|f)!=(0|B););}return Ie=b+288|0,0}function pM(f,c,h,p,b,B){var Q=0;a[B>>2]=8;e:{t:{Q=f,Q=(f=!c&f>>>0<=32768)?32768:Q;r:{n:{if(!(f=f?0:c)&h>>>5>>>0<=Q>>>0|f){if(h>>>0>=4096)break n;c=1;break r}if(a[b>>2]=1,f=1,(c=(Q>>>0)/(a[B>>2]<<2>>>0)|0)>>>0<4||(f=2,c>>>0<8))break e;if(c>>>0<16)return void(a[p>>2]=3);if(c>>>0<32)return void(a[p>>2]=4);if(c>>>0<64)return void(a[p>>2]=5);if(c>>>0<128)return void(a[p>>2]=6);if(c>>>0<256)return void(a[p>>2]=7);if(c>>>0<512)return void(a[p>>2]=8);if(c>>>0<1024)return void(a[p>>2]=9);if(c>>>0<2048)return void(a[p>>2]=10);if(c>>>0<4096)return void(a[p>>2]=11);if(c>>>0<8192)return void(a[p>>2]=12);if(c>>>0<16384)return void(a[p>>2]=13);if(c>>>0<32768)return void(a[p>>2]=14);if(c>>>0<65536)return void(a[p>>2]=15);if(c>>>0<131072)return void(a[p>>2]=16);if(c>>>0<262144)return void(a[p>>2]=17);if(c>>>0<524288)return void(a[p>>2]=18);if(c>>>0<1048576)return void(a[p>>2]=19);if(c>>>0<2097152)return void(a[p>>2]=20);if(c>>>0<4194304)return void(a[p>>2]=21);if(c>>>0<8388608)return void(a[p>>2]=22);if(c>>>0<16777216)return void(a[p>>2]=23);if(c>>>0>=33554432)break t;return void(a[p>>2]=24)}c=2,h>>>0<8192||(c=3,h>>>0<16384||(c=4,h>>>0<32768||(c=5,h>>>0<65536||(c=6,h>>>0<131072||(c=7,h>>>0<262144||(c=8,h>>>0<524288||(c=9,h>>>0<1048576||(c=10,h>>>0<2097152||(c=11,h>>>0<4194304||(c=12,h>>>0<8388608||(c=13,h>>>0<16777216||(c=14,h>>>0<33554432||(c=15,h>>>0<67108864||(c=16,h>>>0<134217728||(c=17,h>>>0<268435456||(c=18,h>>>0<536870912||(c=19,h>>>0<1073741824||(c=(0|h)>=0?20:21))))))))))))))))))}return h=c,a[p>>2]=h,f=(c=f)>>>2|0,c=(3&c)<<30|Q>>>2,p=31&h,(63&h)>>>0>=32?(h=0,f=f>>>p|0):(h=f>>>p|0,f=((1<<p)-1&f)<<32-p|c>>>p),void(a[b>>2]=((!h&f>>>0>=1073741823|h?1073741823:f)>>>0)/sn[B>>2])}f=c>>>0<67108864?25:26}a[p>>2]=f}function lH(f,c,h){var p,b,B,Q,v,L,H,j,re=0;Ie=p=Ie-160|0,a[f>>2]=1,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[f+16>>2]=0,a[f+20>>2]=0,a[f+24>>2]=0,a[f+28>>2]=0,a[f+32>>2]=0,a[f+44>>2]=0,a[f+48>>2]=0,a[f+36>>2]=0,a[f+40>>2]=1,a[f+52>>2]=0,a[f+56>>2]=0,a[f+60>>2]=0,a[f+64>>2]=0,a[f+68>>2]=0,a[f+72>>2]=0,a[f+76>>2]=0,a[f+80>>2]=1,yo(f+84|0,0,76),Y2(f,c,(255&(1^(re=h-((h>>31&h)<<1)|0)))-1>>>31|0),Y2(f,c+160|0,(255&(2^re))-1>>>31|0),Y2(f,c+320|0,(255&(3^re))-1>>>31|0),Y2(f,c+480|0,(255&(4^re))-1>>>31|0),Y2(f,c+640|0,(255&(5^re))-1>>>31|0),Y2(f,c+800|0,(255&(6^re))-1>>>31|0),Y2(f,c+960|0,(255&(7^re))-1>>>31|0),Y2(f,c+1120|0,(255&(8^re))-1>>>31|0),c=a[f+76>>2],a[p+32>>2]=a[f+72>>2],a[p+36>>2]=c,re=a[4+(c=f- -64|0)>>2],a[p+24>>2]=a[c>>2],a[p+28>>2]=re,c=a[f+60>>2],a[p+16>>2]=a[f+56>>2],a[p+20>>2]=c,c=a[f+52>>2],a[p+8>>2]=a[f+48>>2],a[p+12>>2]=c,c=a[f+44>>2],a[p>>2]=a[f+40>>2],a[p+4>>2]=c,c=a[f+36>>2],a[p+72>>2]=a[f+32>>2],a[p+76>>2]=c,re=a[f+28>>2],a[(c=p- -64|0)>>2]=a[f+24>>2],a[c+4>>2]=re,c=a[f+20>>2],a[p+56>>2]=a[f+16>>2],a[p+60>>2]=c,c=a[f+12>>2],a[p+48>>2]=a[f+8>>2],a[p+52>>2]=c,c=a[f+4>>2],a[p+40>>2]=a[f>>2],a[p+44>>2]=c,c=a[f+92>>2],a[p+88>>2]=a[f+88>>2],a[p+92>>2]=c,c=a[f+100>>2],a[p+96>>2]=a[f+96>>2],a[p+100>>2]=c,c=a[f+108>>2],a[p+104>>2]=a[f+104>>2],a[p+108>>2]=c,c=a[f+116>>2],a[p+112>>2]=a[f+112>>2],a[p+116>>2]=c,c=a[f+84>>2],a[p+80>>2]=a[f+80>>2],a[p+84>>2]=c,c=a[f+124>>2],re=a[f+128>>2],b=a[f+132>>2],B=a[f+136>>2],Q=a[f+140>>2],v=a[f+144>>2],L=a[f+148>>2],H=a[f+152>>2],j=a[f+120>>2],a[p+156>>2]=0-a[f+156>>2],a[p+152>>2]=0-H,a[p+148>>2]=0-L,a[p+144>>2]=0-v,a[p+140>>2]=0-Q,a[p+136>>2]=0-B,a[p+132>>2]=0-b,a[p+128>>2]=0-re,a[p+124>>2]=0-c,a[p+120>>2]=0-j,Y2(f,p,(128&h)>>>7|0),Ie=p+160|0}function hH(f,c){f|=0,c|=0;var h,p,b,B,Q,v=0,L=0,H=0;return Ie=L=Ie-192|0,wf(L,32),ci(c,L,32,0),k[0|c]=248&S[0|c],k[c+31|0]=63&S[c+31|0]|64,qS(H=L+32|0,c),VS(f,H),h=L,H=a[L+28>>2],L=a[L+24>>2],k[c+24|0]=L,k[c+25|0]=L>>>8,k[c+26|0]=L>>>16,k[c+27|0]=L>>>24,k[c+28|0]=H,k[c+29|0]=H>>>8,k[c+30|0]=H>>>16,k[c+31|0]=H>>>24,H=a[h+20>>2],L=a[h+16>>2],k[c+16|0]=L,k[c+17|0]=L>>>8,k[c+18|0]=L>>>16,k[c+19|0]=L>>>24,k[c+20|0]=H,k[c+21|0]=H>>>8,k[c+22|0]=H>>>16,k[c+23|0]=H>>>24,H=a[h+12>>2],L=a[h+8>>2],k[c+8|0]=L,k[c+9|0]=L>>>8,k[c+10|0]=L>>>16,k[c+11|0]=L>>>24,k[c+12|0]=H,k[c+13|0]=H>>>8,k[c+14|0]=H>>>16,k[c+15|0]=H>>>24,H=a[h+4>>2],L=a[h>>2],k[0|c]=L,k[c+1|0]=L>>>8,k[c+2|0]=L>>>16,k[c+3|0]=L>>>24,k[c+4|0]=H,k[c+5|0]=H>>>8,k[c+6|0]=H>>>16,k[c+7|0]=H>>>24,p=S[(v=f)+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,b=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,B=S[v+16|0]|S[v+17|0]<<8|S[v+18|0]<<16|S[v+19|0]<<24,H=S[v+20|0]|S[v+21|0]<<8|S[v+22|0]<<16|S[v+23|0]<<24,L=S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,f=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,Q=S[v+28|0]|S[v+29|0]<<8|S[v+30|0]<<16|S[v+31|0]<<24,v=S[v+24|0]|S[v+25|0]<<8|S[v+26|0]<<16|S[v+27|0]<<24,k[c+56|0]=v,k[c+57|0]=v>>>8,k[c+58|0]=v>>>16,k[c+59|0]=v>>>24,k[c+60|0]=Q,k[c+61|0]=Q>>>8,k[c+62|0]=Q>>>16,k[c+63|0]=Q>>>24,k[c+48|0]=B,k[c+49|0]=B>>>8,k[c+50|0]=B>>>16,k[c+51|0]=B>>>24,k[c+52|0]=H,k[c+53|0]=H>>>8,k[c+54|0]=H>>>16,k[c+55|0]=H>>>24,k[c+40|0]=p,k[c+41|0]=p>>>8,k[c+42|0]=p>>>16,k[c+43|0]=p>>>24,k[c+44|0]=b,k[c+45|0]=b>>>8,k[c+46|0]=b>>>16,k[c+47|0]=b>>>24,k[c+32|0]=L,k[c+33|0]=L>>>8,k[c+34|0]=L>>>16,k[c+35|0]=L>>>24,k[c+36|0]=f,k[c+37|0]=f>>>8,k[c+38|0]=f>>>16,k[c+39|0]=f>>>24,bn(h,32),Ie=h+192|0,0}function W2(f,c){c|=0;var h,p,b=0,B=0,Q=0,v=0;return Ie=h=Ie-288|0,B=40+((b=a[32+(f|=0)>>2]>>>3&63)+f|0)|0,b>>>0>=56?(Di(B,35520,64-b|0),vs(f,f+40|0,h,h+256|0),a[f+88>>2]=0,a[f+92>>2]=0,a[f+80>>2]=0,a[f+84>>2]=0,a[f+72>>2]=0,a[f+76>>2]=0,a[(b=f- -64|0)>>2]=0,a[b+4>>2]=0,a[f+56>>2]=0,a[f+60>>2]=0,a[f+48>>2]=0,a[f+52>>2]=0,a[f+40>>2]=0,a[f+44>>2]=0):Di(B,35520,56-b|0),Q=(b=16711680&(B=a[f+32>>2]))>>>8|0,v=b<<24,p=(b=-16777216&B)>>>24|0,b=(v|=b<<8)|-16777216&((255&(b=a[f+36>>2]))<<24|B>>>8)|16711680&((16777215&b)<<8|B>>>24)|b>>>8&65280|b>>>24,k[f+96|0]=b,k[f+97|0]=b>>>8,k[f+98|0]=b>>>16,k[f+99|0]=b>>>24,b=Q|p|B<<24|(65280&B)<<8,b|=Q=0,k[f+100|0]=b,k[f+101|0]=b>>>8,k[f+102|0]=b>>>16,k[f+103|0]=b>>>24,vs(f,f+40|0,h,h+256|0),b=(b=a[f>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[0|c]=b,k[c+1|0]=b>>>8,k[c+2|0]=b>>>16,k[c+3|0]=b>>>24,b=(b=a[f+4>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+4|0]=b,k[c+5|0]=b>>>8,k[c+6|0]=b>>>16,k[c+7|0]=b>>>24,b=(b=a[f+8>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+8|0]=b,k[c+9|0]=b>>>8,k[c+10|0]=b>>>16,k[c+11|0]=b>>>24,b=(b=a[f+12>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+12|0]=b,k[c+13|0]=b>>>8,k[c+14|0]=b>>>16,k[c+15|0]=b>>>24,b=(b=a[f+16>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+16|0]=b,k[c+17|0]=b>>>8,k[c+18|0]=b>>>16,k[c+19|0]=b>>>24,b=(b=a[f+20>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+20|0]=b,k[c+21|0]=b>>>8,k[c+22|0]=b>>>16,k[c+23|0]=b>>>24,b=(b=a[f+24>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+24|0]=b,k[c+25|0]=b>>>8,k[c+26|0]=b>>>16,k[c+27|0]=b>>>24,b=(b=a[f+28>>2])<<24|(65280&b)<<8|b>>>8&65280|b>>>24,k[c+28|0]=b,k[c+29|0]=b>>>8,k[c+30|0]=b>>>16,k[c+31|0]=b>>>24,bn(h,288),bn(f,104),Ie=h+288|0,0}function AH(f,c){f|=0;var h,p=0;Ie=h=Ie+-64|0,p=S[60+(c|=0)|0]|S[c+61|0]<<8|S[c+62|0]<<16|S[c+63|0]<<24,a[h+56>>2]=S[c+56|0]|S[c+57|0]<<8|S[c+58|0]<<16|S[c+59|0]<<24,a[h+60>>2]=p,p=S[c+52|0]|S[c+53|0]<<8|S[c+54|0]<<16|S[c+55|0]<<24,a[h+48>>2]=S[c+48|0]|S[c+49|0]<<8|S[c+50|0]<<16|S[c+51|0]<<24,a[h+52>>2]=p,p=S[c+44|0]|S[c+45|0]<<8|S[c+46|0]<<16|S[c+47|0]<<24,a[h+40>>2]=S[c+40|0]|S[c+41|0]<<8|S[c+42|0]<<16|S[c+43|0]<<24,a[h+44>>2]=p,p=S[c+36|0]|S[c+37|0]<<8|S[c+38|0]<<16|S[c+39|0]<<24,a[h+32>>2]=S[c+32|0]|S[c+33|0]<<8|S[c+34|0]<<16|S[c+35|0]<<24,a[h+36>>2]=p,p=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[h+24>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[h+28>>2]=p,p=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[h+16>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[h+20>>2]=p,p=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[h>>2]=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,a[h+4>>2]=p,p=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,a[h+8>>2]=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,a[h+12>>2]=p,ho(h),c=a[h+28>>2],p=a[h+24>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[h+20>>2],p=a[h+16>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[h+12>>2],p=a[h+8>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[h+4>>2],p=a[h>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,bn(h,64),Ie=h- -64|0}function My(f,c,h){f|=0,c|=0;var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0;if(Ie=p=Ie-96|0,(h|=0)>>>0>=65&&(CH(f),w1(f,c,h,0),W2(f,p),h=32,c=p),CH(f),a[p+88>>2]=909522486,a[p+92>>2]=909522486,a[p+80>>2]=909522486,a[p+84>>2]=909522486,a[p+72>>2]=909522486,a[p+76>>2]=909522486,a[(Q=j=p- -64|0)>>2]=909522486,a[Q+4>>2]=909522486,a[p+56>>2]=909522486,a[p+60>>2]=909522486,a[p+48>>2]=909522486,a[p+52>>2]=909522486,a[p+40>>2]=909522486,a[p+44>>2]=909522486,a[p+32>>2]=909522486,a[p+36>>2]=909522486,h){if(h>>>0>=4)for(v=124&h;k[0|(B=(Q=p+32|0)+b|0)]=S[0|B]^S[c+b|0],k[0|(re=(B=1|b)+Q|0)]=S[0|re]^S[c+B|0],k[0|(re=(B=2|b)+Q|0)]=S[0|re]^S[c+B|0],k[0|(B=(B=Q)+(Q=3|b)|0)]=S[0|B]^S[c+Q|0],b=b+4|0,(0|v)!=(0|(L=L+4|0)););if(L=3&h)for(;k[0|(Q=(p+32|0)+b|0)]=S[0|Q]^S[c+b|0],b=b+1|0,(0|L)!=(0|(H=H+1|0)););}if(w1(f,p+32|0,64,0),CH(Q=f+104|0),a[p+88>>2]=1549556828,a[p+92>>2]=1549556828,a[p+80>>2]=1549556828,a[p+84>>2]=1549556828,a[p+72>>2]=1549556828,a[p+76>>2]=1549556828,a[j>>2]=1549556828,a[j+4>>2]=1549556828,a[p+56>>2]=1549556828,a[p+60>>2]=1549556828,a[p+48>>2]=1549556828,a[p+52>>2]=1549556828,a[p+40>>2]=1549556828,a[p+44>>2]=1549556828,a[p+32>>2]=1549556828,a[p+36>>2]=1549556828,h){if(H=0,b=0,h>>>0>=4)for(j=124&h,L=0;k[0|(v=(f=p+32|0)+b|0)]=S[0|v]^S[c+b|0],k[0|(B=(v=1|b)+f|0)]=S[0|B]^S[c+v|0],k[0|(B=(v=2|b)+f|0)]=S[0|B]^S[c+v|0],k[0|(v=(B=f)+(f=3|b)|0)]=S[0|v]^S[f+c|0],b=b+4|0,(0|j)!=(0|(L=L+4|0)););if(f=3&h)for(;k[0|(h=(p+32|0)+b|0)]=S[0|h]^S[c+b|0],b=b+1|0,(0|f)!=(0|(H=H+1|0)););}return w1(Q,f=p+32|0,64,0),bn(f,64),bn(p,32),Ie=p+96|0,0}function gM(f,c,h,p,b,B,Q){var v=0,L=0,H=0,j=0,re=0,Z=0,ee=0;if(c-65>>>0<4294967232|Q>>>0>64)f=-1;else{Z=v=Ie,Ie=v=v-512&-64;e:{t:if(!(!(!(p|b)|h)|!f|((L=255&c)-65&255)>>>0<=191|!(!(c=255&Q)||B)|c>>>0>=65)){if(c){if(!B)break t;yo(v- -64|0,0,293),a[v+56>>2]=327033209,a[v+60>>2]=1541459225,a[v+48>>2]=-79577749,a[v+52>>2]=528734635,a[v+40>>2]=725511199,a[v+44>>2]=-1694144372,a[v+32>>2]=-1377402159,a[v+36>>2]=1359893119,a[v+24>>2]=1595750129,a[v+28>>2]=-1521486534,a[v+16>>2]=-23791573,a[v+20>>2]=1013904242,a[v+8>>2]=-2067093701,a[v+12>>2]=-1150833019,a[v>>2]=-222443256^(c<<8|L),a[v+4>>2]=c>>>24^1779033703,yo((Q=v+384|0)+c|0,0,128-c|0),Di(Q,B,c),Di(v+96|0,Q,128),a[v+352>>2]=128,bn(Q,128),c=128}else yo(v- -64|0,0,293),a[v+56>>2]=327033209,a[v+60>>2]=1541459225,a[v+48>>2]=-79577749,a[v+52>>2]=528734635,a[v+40>>2]=725511199,a[v+44>>2]=-1694144372,a[v+32>>2]=-1377402159,a[v+36>>2]=1359893119,a[v+24>>2]=1595750129,a[v+28>>2]=-1521486534,a[v+16>>2]=-23791573,a[v+20>>2]=1013904242,a[v+8>>2]=-2067093701,a[v+12>>2]=-1150833019,a[v>>2]=-222443256^L,a[v+4>>2]=1779033703,c=0;r:if(p|b)for(ee=v+224|0,H=v+96|0;;){if(Q=c+H|0,!b&p>>>0<=(B=256-c|0)>>>0){Di(Q,h,p),a[v+352>>2]=p+a[v+352>>2];break r}if(Di(Q,h,B),a[v+352>>2]=B+a[v+352>>2],j=c=a[v+68>>2],c=(re=(Q=a[v+64>>2])+128|0)>>>0<128?c+1|0:c,a[v+64>>2]=re,a[v+68>>2]=c,c=a[v+76>>2],c=(j=Q=(0|j)==-1&Q>>>0>4294967167)>>>0>(Q=Q+a[v+72>>2]|0)>>>0?c+1|0:c,a[v+72>>2]=Q,a[v+76>>2]=c,Qr(v,H),Di(H,ee,128),c=a[v+352>>2]-128|0,a[v+352>>2]=c,h=h+B|0,!((b=b-(p>>>0<B>>>0)|0)|(p=p-B|0)))break}sM(v,f,L),Ie=Z;break e}Bs(),Rr()}f=0}return f}function pH(f,c){f|=0,c|=0;var h,p=0;Ie=h=Ie-128|0,a[h+80>>2]=0,a[h+84>>2]=0,a[h+88>>2]=0,a[h+92>>2]=0,a[h+40>>2]=0,a[h+44>>2]=0,a[h+48>>2]=0,a[h+52>>2]=0,a[h+56>>2]=0,a[h+60>>2]=0,p=a[8799],a[h+104>>2]=a[8798],a[h+108>>2]=p,p=a[8801],a[h+112>>2]=a[8800],a[h+116>>2]=p,p=a[8803],a[h+120>>2]=a[8802],a[h+124>>2]=p,a[h+64>>2]=0,a[h+68>>2]=0,a[h+72>>2]=0,a[h+76>>2]=0,k[h+64|0]=1,a[h+32>>2]=0,a[h+36>>2]=0,p=a[8797],a[h+96>>2]=a[8796],a[h+100>>2]=p,p=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[h+24>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[h+28>>2]=p,p=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[h+16>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[h+20>>2]=p,p=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,a[h+8>>2]=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,a[h+12>>2]=p,p=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[h>>2]=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,a[h+4>>2]=p,Qre(c=h- -64|0,h),ho(c),c=a[h+92>>2],p=a[h+88>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[h+84>>2],p=a[h+80>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[h+76>>2],p=a[h+72>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[h+68>>2],p=a[h+64>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,Ie=h+128|0}function gH(f,c){f|=0,c|=0;var h,p=0;Ie=h=Ie-128|0,a[h+80>>2]=0,a[h+84>>2]=0,a[h+88>>2]=0,a[h+92>>2]=0,a[h+40>>2]=0,a[h+44>>2]=0,a[h+48>>2]=0,a[h+52>>2]=0,a[h+56>>2]=0,a[h+60>>2]=0,p=a[8799],a[h+104>>2]=a[8798],a[h+108>>2]=p,p=a[8801],a[h+112>>2]=a[8800],a[h+116>>2]=p,p=a[8803],a[h+120>>2]=a[8802],a[h+124>>2]=p,a[h+64>>2]=0,a[h+68>>2]=0,a[h+72>>2]=0,a[h+76>>2]=0,a[h+32>>2]=0,a[h+36>>2]=0,p=a[8797],a[h+96>>2]=a[8796],a[h+100>>2]=p,p=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[h+16>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[h+20>>2]=p,p=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[h+24>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,a[h+28>>2]=p,p=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24,a[h>>2]=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24,a[h+4>>2]=p,p=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,a[h+8>>2]=S[c+8|0]|S[c+9|0]<<8|S[c+10|0]<<16|S[c+11|0]<<24,a[h+12>>2]=p,Qre(c=h- -64|0,h),ho(c),c=a[h+92>>2],p=a[h+88>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[h+84>>2],p=a[h+80>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[h+76>>2],p=a[h+72>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[h+68>>2],p=a[h+64>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,Ie=h+128|0}function _M(f,c,h,p){var b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0;e:{if((B=a[f+56>>2])|(b=a[f+60>>2])){if(re=v=16-B|0,H=(v=(0|(Q=0-((B>>>0>16)+b|0)|0))==(0|p)&h>>>0>v>>>0|p>>>0>Q>>>0)?re:h,re=v=v?Q:p,v|H){if(v=f- -64|0,Q=0,B=0,!re&H>>>0>=4|re)for(j=-4&H;b=Q+a[f+56>>2]|0,k[b+v|0]=S[c+Q|0],b=(Z=1|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+Z|0],b=(Z=2|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+Z|0],b=(Z=3|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+Z|0],b=B,B=(Q=Q+4|0)>>>0<4?b+1|0:b,b=de,de=b=(L=L+4|0)>>>0<4?b+1|0:b,(0|L)!=(0|j)|(0|re)!=(0|b););if(de=b=0,b|(L=3&H))for(;b=Q+a[f+56>>2]|0,k[b+v|0]=S[c+Q|0],B=(Q=Q+1|0)?B:B+1|0,b=we,we=b=(ee=ee+1|0)?b:b+1|0,(0|L)!=(0|ee)|(0|de)!=(0|b););B=a[f+56>>2],b=a[f+60>>2]}if(b=b+re|0,b=(B=B+H|0)>>>0<H>>>0?b+1|0:b,a[f+56>>2]=B,a[f+60>>2]=b,!b&B>>>0<16)break e;fM(f,f- -64|0,16,0),a[f+56>>2]=0,a[f+60>>2]=0,h=(B=h)-H|0,p=p-((B>>>0<H>>>0)+re|0)|0,c=c+H|0}if(!p&h>>>0>=16|p&&(fM(f,c,B=-16&h,p),h&=15,p=0,c=c+B|0),h|p){if(v=f- -64|0,ee=0,we=0,Q=0,B=0,!p&h>>>0>=4|p)for(H=12&h,re=0,L=0;b=Q+a[f+56>>2]|0,k[b+v|0]=S[c+Q|0],b=(j=1|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+j|0],b=(j=2|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+j|0],b=(j=3|Q)+a[f+56>>2]|0,k[b+v|0]=S[c+j|0],B=(Q=Q+4|0)>>>0<4?B+1|0:B,b=de,de=b=(L=L+4|0)>>>0<4?b+1|0:b,(0|H)!=(0|L)|(0|re)!=(0|b););if(de=b=0,b|(L=3&h))for(;b=Q+a[f+56>>2]|0,k[b+v|0]=S[c+Q|0],B=(Q=Q+1|0)?B:B+1|0,b=we,we=b=(ee=ee+1|0)?b:b+1|0,(0|L)!=(0|ee)|(0|de)!=(0|b););B=p+a[f+60>>2]|0,B=(c=h+a[f+56>>2]|0)>>>0<h>>>0?B+1|0:B,a[f+56>>2]=c,a[f+60>>2]=B}}}function X2(f,c,h){var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0;we=a[c+4>>2],b=a[f+4>>2],ke=a[c+8>>2],B=a[f+8>>2],ye=a[c+12>>2],Q=a[f+12>>2],Me=a[c+16>>2],v=a[f+16>>2],Ve=a[c+20>>2],L=a[f+20>>2],ee=a[c+24>>2],H=a[f+24>>2],We=a[c+28>>2],j=a[f+28>>2],ut=a[c+32>>2],re=a[f+32>>2],pt=a[c+36>>2],Z=a[f+36>>2],h=0-h|0,de=a[f>>2],a[f>>2]=h&(de^a[c>>2])^de,a[f+36>>2]=Z^h&(Z^pt),a[f+32>>2]=re^h&(re^ut),a[f+28>>2]=j^h&(j^We),a[f+24>>2]=H^h&(H^ee),a[f+20>>2]=L^h&(L^Ve),a[f+16>>2]=v^h&(v^Me),a[f+12>>2]=Q^h&(Q^ye),a[f+8>>2]=B^h&(B^ke),a[f+4>>2]=b^h&(b^we),b=a[f+44>>2],we=a[c+44>>2],B=a[f+48>>2],ke=a[c+48>>2],Q=a[f+52>>2],ye=a[c+52>>2],v=a[f+56>>2],Me=a[c+56>>2],L=a[f+60>>2],Ve=a[c+60>>2],H=a[(ee=f- -64|0)>>2],We=a[c- -64>>2],j=a[f+68>>2],ut=a[c+68>>2],re=a[f+72>>2],pt=a[c+72>>2],Z=a[f+40>>2],de=a[c+40>>2],p=a[f+76>>2],a[f+76>>2]=p^h&(a[c+76>>2]^p),a[f+72>>2]=re^h&(re^pt),a[f+68>>2]=j^h&(j^ut),a[ee>>2]=H^h&(H^We),a[f+60>>2]=L^h&(L^Ve),a[f+56>>2]=v^h&(v^Me),a[f+52>>2]=Q^h&(Q^ye),a[f+48>>2]=B^h&(B^ke),a[f+44>>2]=b^h&(b^we),a[f+40>>2]=Z^h&(Z^de),b=a[f+84>>2],we=a[c+84>>2],B=a[f+88>>2],ke=a[c+88>>2],Q=a[f+92>>2],ye=a[c+92>>2],v=a[f+96>>2],Me=a[c+96>>2],L=a[f+100>>2],Ve=a[c+100>>2],H=a[f+104>>2],ee=a[c+104>>2],j=a[f+108>>2],We=a[c+108>>2],re=a[f+112>>2],ut=a[c+112>>2],Z=a[f+80>>2],pt=a[c+80>>2],de=a[c+116>>2],c=a[f+116>>2],a[f+116>>2]=h&(de^c)^c,a[f+112>>2]=re^h&(re^ut),a[f+108>>2]=j^h&(j^We),a[f+104>>2]=H^h&(H^ee),a[f+100>>2]=L^h&(L^Ve),a[f+96>>2]=v^h&(v^Me),a[f+92>>2]=Q^h&(Q^ye),a[f+88>>2]=B^h&(B^ke),a[f+84>>2]=b^h&(b^we),a[f+80>>2]=Z^h&(Z^pt)}function lv(f,c){var h,p,b=0;for(Ie=h=Ie-192|0,Et(p=h+144|0,c),Et(b=h+96|0,p),Et(b,b),Ar(b,c,b),Ar(p,p,b),Et(c=h+48|0,p),Ar(b,b,c),Et(c,b),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Ar(b,c,b),Et(c,b),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Ar(c,c,b),Et(h,c),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Ar(c,h,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Ar(b,c,b),Et(c,b),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Ar(c,c,b),Et(h,c),c=1;Et(h,h),(0|(c=c+1|0))!=100;);Ar(c=h+48|0,h,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Et(c,c),Ar(b=h+96|0,c,b),Et(b,b),Et(b,b),Et(b,b),Et(b,b),Et(b,b),Ar(f,b,h+144|0),Ie=h+192|0}function mM(f,c){var h,p=0,b=0;for(Ie=h=Ie-144|0,Et(b=h+96|0,c),Et(p=h+48|0,b),Et(p,p),Ar(p,c,p),Ar(b,b,p),Et(b,b),Ar(b,p,b),Et(p,b),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Ar(b,p,b),Et(p,b),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Ar(p,p,b),Et(h,p),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Et(h,h),Ar(p,h,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Ar(b,p,b),Et(p,b),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Ar(p,p,b),Et(h,p),p=1;Et(h,h),(0|(p=p+1|0))!=100;);Ar(p=h+48|0,h,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Et(p,p),Ar(b=h+96|0,p,b),Et(b,b),Et(b,b),Ar(f,b,c),Ie=h+144|0}function _H(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut=0,pt=0,bt=0,Ye=0;Ie=h=Ie-320|0,dv(p=f+40|0,c),a[f+84>>2]=0,a[f+88>>2]=0,a[f+80>>2]=1,a[f+92>>2]=0,a[f+96>>2]=0,a[f+100>>2]=0,a[f+104>>2]=0,a[f+108>>2]=0,a[f+112>>2]=0,a[f+116>>2]=0,Et(bt=h+240|0,p),Ar(pt=h+192|0,bt,1584),Ye=-1,b=a[h+240>>2]-1|0,a[h+240>>2]=b,a[h+192>>2]=a[h+192>>2]+1,B=a[h+244>>2],Q=a[h+248>>2],v=a[h+252>>2],L=a[h+256>>2],H=a[h+260>>2],j=a[h+264>>2],re=a[h+268>>2],Z=a[h+272>>2],ee=a[h+276>>2],Et(ut=h+144|0,pt),Ar(ut,ut,pt),Et(f,ut),Ar(f,f,pt),Ar(f,f,bt),mM(f,f),Ar(f,f,ut),Ar(f,f,bt),Et(ut=h+96|0,f),Ar(ut,ut,pt),pt=a[h+132>>2],a[h+84>>2]=pt-ee,ut=a[h+128>>2],a[h+80>>2]=ut-Z,bt=a[h+124>>2],a[h+76>>2]=bt-re,de=a[h+120>>2],a[h+72>>2]=de-j,we=a[h+116>>2],a[h+68>>2]=we-H,ke=a[h+112>>2],a[h+64>>2]=ke-L,ye=a[h+108>>2],a[h+60>>2]=ye-v,Me=a[h+104>>2],a[h+56>>2]=Me-Q,Ve=a[h+100>>2],a[h+52>>2]=Ve-B,We=a[h+96>>2],a[h+48>>2]=We-b,yc(h,h+48|0);e:{if(!ya(h,32)){if(a[h+36>>2]=pt+ee,a[h+32>>2]=ut+Z,a[h+28>>2]=bt+re,a[h+24>>2]=j+de,a[h+20>>2]=H+we,a[h+16>>2]=L+ke,a[h+12>>2]=v+ye,a[h+8>>2]=Q+Me,a[h+4>>2]=B+Ve,a[h>>2]=b+We,yc(pt=h+288|0,h),!ya(pt,32))break e;Ar(f,f,1632)}yc(h+288|0,f),(1&k[h+288|0])==(S[c+31|0]>>>7|0)&&(a[f>>2]=0-a[f>>2],a[f+36>>2]=0-a[f+36>>2],a[f+32>>2]=0-a[f+32>>2],a[f+28>>2]=0-a[f+28>>2],a[f+24>>2]=0-a[f+24>>2],a[f+20>>2]=0-a[f+20>>2],a[f+16>>2]=0-a[f+16>>2],a[f+12>>2]=0-a[f+12>>2],a[f+8>>2]=0-a[f+8>>2],a[f+4>>2]=0-a[f+4>>2]),Ar(f+120|0,f,p),Ye=0}return Ie=h+320|0,Ye}function mH(f,c,h){var p,b,B,Q,v,L,H,j,re=0;Ie=p=Ie-128|0,a[f>>2]=1,a[f+4>>2]=0,a[f+8>>2]=0,a[f+12>>2]=0,a[f+16>>2]=0,a[f+20>>2]=0,a[f+24>>2]=0,a[f+28>>2]=0,a[f+32>>2]=0,a[f+36>>2]=0,a[f+40>>2]=1,yo(f+44|0,0,76),X2(f,c=Lr(c,960)+2992|0,(255&(1^(re=h-((h>>31&h)<<1)|0)))-1>>>31|0),X2(f,c+120|0,(255&(2^re))-1>>>31|0),X2(f,c+240|0,(255&(3^re))-1>>>31|0),X2(f,c+360|0,(255&(4^re))-1>>>31|0),X2(f,c+480|0,(255&(5^re))-1>>>31|0),X2(f,c+600|0,(255&(6^re))-1>>>31|0),X2(f,c+720|0,(255&(7^re))-1>>>31|0),X2(f,c+840|0,(255&(8^re))-1>>>31|0),c=a[f+76>>2],a[p+40>>2]=a[f+72>>2],a[p+44>>2]=c,re=a[4+(c=f- -64|0)>>2],a[p+32>>2]=a[c>>2],a[p+36>>2]=re,c=a[f+60>>2],a[p+24>>2]=a[f+56>>2],a[p+28>>2]=c,c=a[f+52>>2],a[p+16>>2]=a[f+48>>2],a[p+20>>2]=c,c=a[f+44>>2],a[p+8>>2]=a[f+40>>2],a[p+12>>2]=c,c=a[f+12>>2],a[p+56>>2]=a[f+8>>2],a[p+60>>2]=c,re=a[f+20>>2],a[(c=p- -64|0)>>2]=a[f+16>>2],a[c+4>>2]=re,c=a[f+28>>2],a[p+72>>2]=a[f+24>>2],a[p+76>>2]=c,c=a[f+36>>2],a[p+80>>2]=a[f+32>>2],a[p+84>>2]=c,c=a[f+4>>2],a[p+48>>2]=a[f>>2],a[p+52>>2]=c,c=a[f+84>>2],re=a[f+88>>2],b=a[f+92>>2],B=a[f+96>>2],Q=a[f+100>>2],v=a[f+104>>2],L=a[f+108>>2],H=a[f+112>>2],j=a[f+80>>2],a[p+124>>2]=0-a[f+116>>2],a[p+120>>2]=0-H,a[p+116>>2]=0-L,a[p+112>>2]=0-v,a[p+108>>2]=0-Q,a[p+104>>2]=0-B,a[p+100>>2]=0-b,a[p+96>>2]=0-re,a[p+92>>2]=0-c,a[p+88>>2]=0-j,X2(f,p+8|0,(128&h)>>>7|0),Ie=p+128|0}function w8(f){var c,h,p,b,B,Q,v,L,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0;return Ie=c=Ie-320|0,Et(j=c+240|0,f),Et(re=c+192|0,f+40|0),Et(H=c+144|0,f+80|0),f=a[c+240>>2],Z=a[c+192>>2],ee=a[c+244>>2],de=a[c+196>>2],we=a[c+248>>2],ke=a[c+200>>2],ye=a[c+252>>2],Me=a[c+204>>2],Ve=a[c+256>>2],We=a[c+208>>2],ut=a[c+260>>2],pt=a[c+212>>2],bt=a[c+264>>2],Ye=a[c+216>>2],it=a[c+268>>2],dt=a[c+220>>2],Wt=a[c+272>>2],nr=a[c+224>>2],a[c+84>>2]=a[c+228>>2]-a[c+276>>2],a[c+80>>2]=nr-Wt,a[c+76>>2]=dt-it,a[c+72>>2]=Ye-bt,a[c+68>>2]=pt-ut,a[c+64>>2]=We-Ve,a[c+60>>2]=Me-ye,a[c+56>>2]=ke-we,a[c+52>>2]=de-ee,a[c+48>>2]=Z-f,Ar(f=c+48|0,f,H),Ar(c,j,re),Ar(c,c,1584),Et(c+96|0,H),H=a[c+48>>2],j=a[c+96>>2],re=a[c>>2],Z=a[c+52>>2],ee=a[c+100>>2],de=a[c+4>>2],we=a[c+56>>2],ke=a[c+104>>2],ye=a[c+8>>2],Me=a[c+60>>2],Ve=a[c+108>>2],We=a[c+12>>2],ut=a[c+64>>2],pt=a[c+112>>2],bt=a[c+16>>2],Ye=a[c+68>>2],it=a[c+116>>2],dt=a[c+20>>2],Wt=a[c+72>>2],nr=a[c+120>>2],h=a[c+24>>2],p=a[c+76>>2],b=a[c+124>>2],B=a[c+28>>2],Q=a[c+80>>2],v=a[c+128>>2],L=a[c+32>>2],a[c+84>>2]=a[c+84>>2]-(a[c+132>>2]+a[c+36>>2]|0),a[c+80>>2]=Q-(v+L|0),a[c+76>>2]=p-(b+B|0),a[c+72>>2]=Wt-(nr+h|0),a[c+68>>2]=Ye-(it+dt|0),a[c+64>>2]=ut-(pt+bt|0),a[c+60>>2]=Me-(Ve+We|0),a[c+56>>2]=we-(ke+ye|0),a[c+52>>2]=Z-(ee+de|0),a[c+48>>2]=H-(j+re|0),yc(H=c+288|0,f),f=ya(H,32),Ie=c+320|0,f}function yM(f,c,h,p,b){f|=0,c|=0,h|=0,p|=0;var B=0,Q=0,v=0,L=0,H=0,j=0,re=0;e:{t:{r:{n:{i:{c:{s:{if((-7&(b|=0))==1&&(v=(B=(p>>>0)/3|0)<<2,(B=Lr(B,-3)+p|0)&&(v=2&b?2+((B>>>1|0)+v|0)|0:v+4|0),!(c>>>0<=v>>>0))){if(!(b>>>0>=4)){if(!p){b=0;break n}B=0,b=0;break s}if(!p){b=0;break n}for(B=0,b=0;;){for(H=S[h+L|0]|H<<8,B|=8;j=65510+(Q=H>>>(B=B-6|0)&63)>>>8|0,re=Q+65484>>>8|0,k[f+b|0]=~(1+(16321^Q))>>>8&45|Q+252&Q+65474>>>8&~re|~(Q+32705)>>>8&95|j&Q+65|re&Q+71&~j,b=b+1|0,B>>>0>5;);if((0|(L=L+1|0))==(0|p))break}if(!B)break i;L=45,Q=32705,p=95;break c}Bs(),Rr()}for(;;){for(H=S[h+L|0]|H<<8,B|=8;j=65510+(Q=H>>>(B=B-6|0)&63)>>>8|0,re=Q+65484>>>8|0,k[f+b|0]=~(1+(16321^Q))>>>8&43|Q+252&Q+65474>>>8&~re|~(Q+16321)>>>8&47|j&Q+65|re&Q+71&~j,b=b+1|0,B>>>0>5;);if((0|(L=L+1|0))==(0|p))break}if(!B)break i;L=43,Q=16321,p=47}Q=~((h=H<<6-B&63)+Q)>>>8&p|(B=h+65510>>>8|0)&h+65,p=h+65484>>>8|0,k[f+b|0]=~(1+(16321^h))>>>8&L|Q|h+252&h+65474>>>8&~p|p&h+71&~B,b=b+1|0}if(b>>>0>v>>>0)break r}if(b>>>0<v>>>0)break t;v=b;break e}ot(1104,1218,231,1503),Rr()}yo(f+b|0,61,v-b|0)}return yo(f+v|0,0,(c>>>0>(h=v+1|0)>>>0?c:h)-v|0),0|f}function yH(f,c,h){var p,b,B,Q=0,v=0,L=0,H=0,j=0;Ie=p=Ie-16|0,b=a[f+20>>2],a[f+20>>2]=0,B=a[f+4>>2],a[f+4>>2]=0,L=-26;e:{t:{r:{n:switch(h-1|0){case 1:if(W5(c,1182,9))break t;c=c+9|0;break r;case 0:break n;default:break e}if(W5(c,1173,8))break t;c=c+8|0}if(S[0|c]!=36|S[c+1|0]!=118||(Q=S[c+2|0]==61),Q&&!(((H=S[0|(h=c+3|0)])-58&255)>>>0<246)){for(j=Q?h:c,c=0,Q=H;;){if(v=h,c>>>0>429496729||(h=(255&Q)-48|0)>>>0>~(c=Lr(c,10))>>>0)break t;if(c=c+h|0,!(((Q=S[0|(h=v+1|0)])-58&255)>>>0>245))break}if(!((0|H)==48&(0|v)!=(0|j)|(0|h)==(0|j))){if((0|c)!=19)break e;if(!((255&Q)!=36|S[v+2|0]!=109|S[v+3|0]!=61)&&(h=Fre(v+4|0,c=p+12|0))&&(a[f+44>>2]=a[p+12>>2],!(S[0|h]!=44|S[h+1|0]!=116|S[h+2|0]!=61)&&(h=Fre(h+3|0,c))&&(a[f+40>>2]=a[p+12>>2],!(S[0|h]!=44|S[h+1|0]!=112|S[h+2|0]!=61)&&(h=Fre(h+3|0,c))&&(Q=a[p+12>>2],a[f+48>>2]=Q,a[f+52>>2]=Q,S[0|h]==36&&(a[p+12>>2]=b,!hM(v=a[f+16>>2],b,Q=h=h+1|0,H=Rg(h),0,c,h=p+8|0,3)&&(a[f+20>>2]=a[p+12>>2],Q=a[p+8>>2],S[0|Q]==36&&(a[p+12>>2]=B,Q=Q+1|0,!hM(a[f>>2],B,Q,Rg(Q),0,c,h,3)))))))){if(a[f+4>>2]=a[p+12>>2],c=a[p+8>>2],L=Qn(f))break e;L=S[0|c]?-32:0;break e}}}}L=-32}return Ie=p+16|0,L}function Sd(f,c,h,p){var b=0,B=0,Q=0,v=0,L=0,H=0,j=0;if(h|p)e:for(j=f+224|0,L=f+96|0,B=S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24;;){if(b=B+L|0,!p&h>>>0<=(Q=256-B|0)>>>0){Di(b,c,h),c=h+(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)|0,k[f+352|0]=c,k[f+353|0]=c>>>8,k[f+354|0]=c>>>16,k[f+355|0]=c>>>24;break e}if(Di(b,c,Q),b=(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)+Q|0,k[f+352|0]=b,k[f+353|0]=b>>>8,k[f+354|0]=b>>>16,k[f+355|0]=b>>>24,H=B=S[f+68|0]|S[f+69|0]<<8|S[f+70|0]<<16|S[f+71|0]<<24,B=(v=128+(b=S[f+64|0]|S[f+65|0]<<8|S[f+66|0]<<16|S[f+67|0]<<24)|0)>>>0<128?B+1|0:B,k[f+64|0]=v,k[f+65|0]=v>>>8,k[f+66|0]=v>>>16,k[f+67|0]=v>>>24,k[f+68|0]=B,k[f+69|0]=B>>>8,k[f+70|0]=B>>>16,k[f+71|0]=B>>>24,B=S[f+76|0]|S[f+77|0]<<8|S[f+78|0]<<16|S[f+79|0]<<24,B=(H=b=(0|H)==-1&b>>>0>4294967167)>>>0>(b=b+(S[f+72|0]|S[f+73|0]<<8|S[f+74|0]<<16|S[f+75|0]<<24)|0)>>>0?B+1|0:B,k[f+72|0]=b,k[f+73|0]=b>>>8,k[f+74|0]=b>>>16,k[f+75|0]=b>>>24,k[f+76|0]=B,k[f+77|0]=B>>>8,k[f+78|0]=B>>>16,k[f+79|0]=B>>>24,Qr(f,L),Di(L,j,128),b=B=(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)-128|0,k[f+352|0]=b,k[f+353|0]=b>>>8,k[f+354|0]=b>>>16,k[f+355|0]=b>>>24,c=c+Q|0,!((p=p-(h>>>0<Q>>>0)|0)|(h=h-Q|0)))break}return 0}function bH(f){var c=0,h=0,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0;for(h=a[f+60>>2],ke=a[f+56>>2],we=a[f+52>>2],ee=a[f+48>>2],c=a[f+44>>2],p=a[f+40>>2],ye=a[f+36>>2],Z=a[f+32>>2],b=a[f+28>>2],B=a[f+24>>2],Q=a[f+20>>2],v=a[f+16>>2],L=a[f+12>>2],H=a[f+8>>2],j=a[f+4>>2],re=a[f>>2];de=lr(Q+j|0,7)^ye,Me=lr(de+Q|0,9)^we,v=lr(re+ee|0,7)^v,Ve=lr(v+re|0,9)^Z,We=lr(Ve+v|0,13)^ee,L=lr(c+h|0,7)^L,b=lr(L+h|0,9)^b,Z=lr(b+L|0,13)^c,h=lr(b+Z|0,18)^h,c=lr(p+B|0,7)^ke,ee=We^lr(h+c|0,7),we=Me^lr(ee+h|0,9),ke=lr(ee+we|0,13)^c,h=lr(we+ke|0,18)^h,H=lr(c+p|0,9)^H,B=lr(H+c|0,13)^B,p=lr(B+H|0,18)^p,c=lr(p+de|0,7)^Z,Z=lr(c+p|0,9)^Ve,ye=lr(c+Z|0,13)^de,p=lr(Z+ye|0,18)^p,j=lr(de+Me|0,13)^j,Q=lr(j+Me|0,18)^Q,B=lr(Q+v|0,7)^B,b=lr(B+Q|0,9)^b,v=lr(b+B|0,13)^v,Q=lr(v+b|0,18)^Q,re=lr(Ve+We|0,18)^re,j=lr(re+L|0,7)^j,H=lr(j+re|0,9)^H,L=lr(H+j|0,13)^L,re=lr(L+H|0,18)^re,de=ut>>>0<6,ut=ut+2|0,de;);a[f>>2]=a[f>>2]+re,a[f+4>>2]=a[f+4>>2]+j,a[f+8>>2]=a[f+8>>2]+H,a[f+12>>2]=a[f+12>>2]+L,a[f+16>>2]=a[f+16>>2]+v,a[f+20>>2]=a[f+20>>2]+Q,a[f+24>>2]=a[f+24>>2]+B,a[f+28>>2]=a[f+28>>2]+b,a[f+32>>2]=a[f+32>>2]+Z,a[f+36>>2]=a[f+36>>2]+ye,a[f+40>>2]=a[f+40>>2]+p,a[f+44>>2]=a[f+44>>2]+c,a[f+48>>2]=a[f+48>>2]+ee,a[f+52>>2]=a[f+52>>2]+we,a[f+56>>2]=a[f+56>>2]+ke,a[f+60>>2]=a[f+60>>2]+h}function EH(f,c,h,p){var b,B=0;return Ie=b=Ie-320|0,B=-1,ea(h)&&(EM(h)||fv(b,h)||cM(b)&&(k[0|f]=S[0|c],k[f+1|0]=S[c+1|0],k[f+2|0]=S[c+2|0],k[f+3|0]=S[c+3|0],k[f+4|0]=S[c+4|0],k[f+5|0]=S[c+5|0],k[f+6|0]=S[c+6|0],k[f+7|0]=S[c+7|0],k[f+8|0]=S[c+8|0],k[f+9|0]=S[c+9|0],k[f+10|0]=S[c+10|0],k[f+11|0]=S[c+11|0],k[f+12|0]=S[c+12|0],k[f+13|0]=S[c+13|0],k[f+14|0]=S[c+14|0],k[f+15|0]=S[c+15|0],k[f+16|0]=S[c+16|0],k[f+17|0]=S[c+17|0],k[f+18|0]=S[c+18|0],k[f+19|0]=S[c+19|0],k[f+20|0]=S[c+20|0],k[f+21|0]=S[c+21|0],k[f+22|0]=S[c+22|0],k[f+23|0]=S[c+23|0],k[f+24|0]=S[c+24|0],k[f+25|0]=S[c+25|0],k[f+26|0]=S[c+26|0],k[f+27|0]=S[c+27|0],k[f+28|0]=S[c+28|0],k[f+29|0]=S[c+29|0],k[f+30|0]=S[c+30|0],h=S[c+31|0],p&&(k[0|f]=248&S[0|f],h|=64),k[f+31|0]=127&h,l0(h=b+160|0,f,b),VS(f,h),(127&S[f+31|0]|S[f+30|0]|S[f+29|0]|S[f+28|0]|S[f+27|0]|S[f+26|0]|S[f+25|0]|S[f+24|0]|S[f+23|0]|S[f+22|0]|S[f+21|0]|S[f+20|0]|S[f+19|0]|S[f+18|0]|S[f+17|0]|S[f+16|0]|S[f+15|0]|S[f+14|0]|S[f+13|0]|S[f+12|0]|S[f+11|0]|S[f+10|0]|S[f+9|0]|S[f+8|0]|S[f+7|0]|S[f+6|0]|S[f+5|0]|S[f+4|0]|S[f+3|0]|S[f+2|0]|S[f+1|0]|1^S[0|f])-1&256||(B=ya(c,32)?-1:0))),Ie=b+320|0,B}function vH(f,c,h,p,b){var B,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0;if(Ie=B=Ie-48|0,b&&wf(b,102),!(S[0|p]!=36|S[p+1|0]!=55|S[p+2|0]!=36)&&(j=O8(S[p+3|0]))&&(Q=IH(B+12|0,p+4|0))&&(H=IH(B+8|0,Q))){for(v=Rg(H)+1|0;Q=0,v&&S[0|(Q=H+(v=v-1|0)|0)]!=36;);if(L=Q-H|0,Q||(L=Rg(H)),!((L=45+(v=(Q=L)+(H-p|0)|0)|0)>>>0>102|Q>>>0>L>>>0||(L=f,Z=c,ee=h,f=31&(j=j-1024|0),(63&j)>>>0>=32?(c=1<<f,h=0):c=(h=1<<f)-1&1>>>32-f,cH(L,Z,ee,H,Q,h,c,a[B+12>>2],a[B+8>>2],B+16|0,32)))){for(Q=Di(b,p,v),k[0|(f=Q+v|0)]=36,re=(L=Q+102|0)-(b=f+1|0)|0,h=0;;){e:if((c=h)>>>0>31)p=b;else if(f=b,h=(v=c+1|0)+(Z=(h=31-c|0)>>>0>=2?2:h)|0,p=0,H=0,b=S[(j=B+16|0)+c|0],Z&&(b=S[v+j|0]<<8|b,(0|(c=c+2|0))!=(0|h)&&(H=1,b=S[c+j|0]<<16|b)),re&&(k[0|f]=S[1024+(63&b)|0],(0|re)!=1)){if(k[f+1|0]=S[1024+(b>>>6&63)|0],Z=f+re|0,c=f+2|0,(0|h)!=(0|v)){if((0|re)==2)break e;if(k[f+2|0]=S[1024+(b>>>12&63)|0],c=f+3|0,H){if((0|re)==3)break e;k[f+3|0]=S[1024+(b>>>18|0)|0],c=f+4|0}}if(re=Z-(b=c)|0,b)continue}break}bn(B+16|0,32),re=0,!p|p>>>0>=L>>>0||(k[0|p]=0,re=Q)}}return Ie=B+48|0,re}function mc(f,c){var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0;p=a[c+4>>2],B=a[c+44>>2],Q=a[c+8>>2],v=a[c+48>>2],L=a[c+12>>2],H=a[c+52>>2],j=a[c+16>>2],re=a[c+56>>2],Z=a[c+20>>2],ee=a[c+60>>2],de=a[c+24>>2],we=a[(b=c- -64|0)>>2],ke=a[c+28>>2],ye=a[c+68>>2],Me=a[c+32>>2],Ve=a[c+72>>2],We=a[c+36>>2],h=a[c+76>>2],a[f>>2]=a[c>>2]+a[c+40>>2],a[f+36>>2]=We+h,a[f+32>>2]=Me+Ve,a[f+28>>2]=ke+ye,a[f+24>>2]=de+we,a[f+20>>2]=Z+ee,a[f+16>>2]=j+re,a[f+12>>2]=L+H,a[f+8>>2]=Q+v,a[f+4>>2]=p+B,p=a[c+4>>2],B=a[c+44>>2],Q=a[c+8>>2],v=a[c+48>>2],L=a[c+12>>2],H=a[c+52>>2],j=a[c+16>>2],re=a[c+56>>2],Z=a[c+20>>2],ee=a[c+60>>2],de=a[c+24>>2],b=a[b>>2],we=a[c+28>>2],ke=a[c+68>>2],ye=a[c+32>>2],Me=a[c+72>>2],Ve=a[c>>2],We=a[c+40>>2],a[f+76>>2]=a[c+76>>2]-a[c+36>>2],a[f+72>>2]=Me-ye,a[f+68>>2]=ke-we,a[f- -64>>2]=b-de,a[f+60>>2]=ee-Z,a[f+56>>2]=re-j,a[f+52>>2]=H-L,a[f+48>>2]=v-Q,a[f+44>>2]=B-p,a[f+40>>2]=We-Ve,p=a[c+84>>2],a[f+80>>2]=a[c+80>>2],a[f+84>>2]=p,p=a[c+92>>2],a[f+88>>2]=a[c+88>>2],a[f+92>>2]=p,p=a[c+100>>2],a[f+96>>2]=a[c+96>>2],a[f+100>>2]=p,p=a[c+108>>2],a[f+104>>2]=a[c+104>>2],a[f+108>>2]=p,p=a[c+116>>2],a[f+112>>2]=a[c+112>>2],a[f+116>>2]=p,Ar(f+120|0,c+120|0,1680)}function un(f,c,h){var p,b,B,Q,v,L,H,j,re,Z,ee,de,we=0,ke=0,ye=0,Me=0,Ve=0;we=a[c+12>>2],ke=a[c+8>>2],ye=a[c+4>>2],p=Ie+-64&-64,c=a[c>>2],a[p>>2]=a[35744+((255&c)<<2)>>2],a[p+4>>2]=a[35744+(ye>>>6&1020)>>2],a[p+8>>2]=a[35744+(ke>>>14&1020)>>2],a[p+12>>2]=a[35744+(we>>>22&1020)>>2],a[p+16>>2]=a[35744+((255&ye)<<2)>>2],a[p+20>>2]=a[35744+(ke>>>6&1020)>>2],a[p+24>>2]=a[35744+(we>>>14&1020)>>2],a[p+28>>2]=a[35744+(c>>>22&1020)>>2],a[p+32>>2]=a[35744+((255&ke)<<2)>>2],a[p+36>>2]=a[35744+(we>>>6&1020)>>2],a[p+40>>2]=a[35744+(c>>>14&1020)>>2],a[p+44>>2]=a[35744+(ye>>>22&1020)>>2],a[p+48>>2]=a[35744+((255&we)<<2)>>2],a[p+52>>2]=a[35744+(c>>>6&1020)>>2],a[p+56>>2]=a[35744+(ye>>>14&1020)>>2],a[p+60>>2]=a[35744+(ke>>>22&1020)>>2],c=a[p+12>>2],we=a[p>>2],ke=a[p+4>>2],ye=a[p+8>>2],b=a[p+28>>2],B=a[p+16>>2],Q=a[p+20>>2],v=a[p+24>>2],L=a[p+44>>2],H=a[p+32>>2],j=a[p+36>>2],re=a[p+40>>2],Z=a[h>>2],ee=a[h+4>>2],de=a[h+8>>2],Me=f,Ve=a[h+12>>2]^a[p+48>>2]^lr(a[p+52>>2],8)^lr(a[p+56>>2],16)^lr(a[p+60>>2],24),a[Me+12>>2]=Ve,Me=f,Ve=lr(j,8)^H^lr(re,16)^lr(L,24)^de,a[Me+8>>2]=Ve,Me=f,Ve=lr(Q,8)^B^lr(v,16)^lr(b,24)^ee,a[Me+4>>2]=Ve,Me=f,Ve=lr(ke,8)^we^lr(ye,16)^lr(c,24)^Z,a[Me>>2]=Ve}function RH(f,c,h){var p,b=0;return Ie=p=Ie-160|0,k[0|f]=S[0|c],k[f+1|0]=S[c+1|0],k[f+2|0]=S[c+2|0],k[f+3|0]=S[c+3|0],k[f+4|0]=S[c+4|0],k[f+5|0]=S[c+5|0],k[f+6|0]=S[c+6|0],k[f+7|0]=S[c+7|0],k[f+8|0]=S[c+8|0],k[f+9|0]=S[c+9|0],k[f+10|0]=S[c+10|0],k[f+11|0]=S[c+11|0],k[f+12|0]=S[c+12|0],k[f+13|0]=S[c+13|0],k[f+14|0]=S[c+14|0],k[f+15|0]=S[c+15|0],k[f+16|0]=S[c+16|0],k[f+17|0]=S[c+17|0],k[f+18|0]=S[c+18|0],k[f+19|0]=S[c+19|0],k[f+20|0]=S[c+20|0],k[f+21|0]=S[c+21|0],k[f+22|0]=S[c+22|0],k[f+23|0]=S[c+23|0],k[f+24|0]=S[c+24|0],k[f+25|0]=S[c+25|0],k[f+26|0]=S[c+26|0],k[f+27|0]=S[c+27|0],k[f+28|0]=S[c+28|0],k[f+29|0]=S[c+29|0],k[f+30|0]=S[c+30|0],b=S[c+31|0],h&&(k[0|f]=248&S[0|f],b|=64),k[f+31|0]=127&b,qS(p,f),VS(f,p),h=-1,(127&S[f+31|0]|S[f+30|0]|S[f+29|0]|S[f+28|0]|S[f+27|0]|S[f+26|0]|S[f+25|0]|S[f+24|0]|S[f+23|0]|S[f+22|0]|S[f+21|0]|S[f+20|0]|S[f+19|0]|S[f+18|0]|S[f+17|0]|S[f+16|0]|S[f+15|0]|S[f+14|0]|S[f+13|0]|S[f+12|0]|S[f+11|0]|S[f+10|0]|S[f+9|0]|S[f+8|0]|S[f+7|0]|S[f+6|0]|S[f+5|0]|S[f+4|0]|S[f+3|0]|S[f+2|0]|S[f+1|0]|1^S[0|f])-1&256||(h=ya(c,32)?-1:0),Ie=p+160|0,h}function bM(f,c){var h,p,b,B,Q,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0;(v=a[f+56>>2])|(L=a[f+60>>2])&&(k[(j=f- -64|0)+v|0]=1,!((ke=v+1|0)?L:L+1|0)&ke>>>0<=15&&yo(65+(f+v|0)|0,0,15-v|0),k[f+80|0]=1,fM(f,j,16,0)),ke=a[f+52>>2],de=a[f+48>>2],j=a[f+44>>2],v=a[f+24>>2],re=a[f+28>>2]+(v>>>26|0)|0,H=a[f+32>>2]+(re>>>26|0)|0,h=a[f+36>>2]+(H>>>26|0)|0,L=(ee=(v=(v=(67108863&v)+((Z=a[f+20>>2]+Lr(h>>>26|0,5)|0)>>>26|0)|0)&(re=(H=(Q=(67108863&h)+((B=(p=67108863&H)+((b=(we=67108863&re)+((Z=v+((L=5+(ee=67108863&Z)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)-67108864|0)>>31)|Z&(H=67108863&(Z=(H>>>31|0)-1|0)))<<26|L&H|re&ee)+a[f+40>>2]|0,k[0|c]=L,k[c+1|0]=L>>>8,k[c+2|0]=L>>>16,k[c+3|0]=L>>>24,ee=L>>>0<ee>>>0,L=0,L=(v=(we=re&we|H&b)<<20|v>>>6)>>>0>(v=v+j|0)>>>0?1:L,L=(j=v)>>>0>(v=v+ee|0)>>>0?L+1|0:L,k[c+4|0]=v,k[c+5|0]=v>>>8,k[c+6|0]=v>>>16,k[c+7|0]=v>>>24,v=0,j=(j=(H=re&p|H&B)<<14|we>>>12)>>>0>(de=j+de|0)>>>0?1:v,v=de,de=L,v=v+L|0,L=j,L=v>>>0<de>>>0?L+1|0:L,k[c+8|0]=v,k[c+9|0]=v>>>8,k[c+10|0]=v>>>16,k[c+11|0]=v>>>24,L=(v=(v=(Z&Q|re&h)<<8|H>>>18)+ke|0)+L|0,k[c+12|0]=L,k[c+13|0]=L>>>8,k[c+14|0]=L>>>16,k[c+15|0]=L>>>24,bn(f,88)}function vg(f,c,h){f|=0,c|=0,h|=0;var p,b=0;return Ie=p=Ie-16|0,k[p+15|0]=0,b=-1,0|A0[a[8930]](f,c,h)||(k[p+15|0]=S[0|f]|S[p+15|0],k[p+15|0]=S[f+1|0]|S[p+15|0],k[p+15|0]=S[f+2|0]|S[p+15|0],k[p+15|0]=S[f+3|0]|S[p+15|0],k[p+15|0]=S[f+4|0]|S[p+15|0],k[p+15|0]=S[f+5|0]|S[p+15|0],k[p+15|0]=S[f+6|0]|S[p+15|0],k[p+15|0]=S[f+7|0]|S[p+15|0],k[p+15|0]=S[f+8|0]|S[p+15|0],k[p+15|0]=S[f+9|0]|S[p+15|0],k[p+15|0]=S[f+10|0]|S[p+15|0],k[p+15|0]=S[f+11|0]|S[p+15|0],k[p+15|0]=S[f+12|0]|S[p+15|0],k[p+15|0]=S[f+13|0]|S[p+15|0],k[p+15|0]=S[f+14|0]|S[p+15|0],k[p+15|0]=S[f+15|0]|S[p+15|0],k[p+15|0]=S[f+16|0]|S[p+15|0],k[p+15|0]=S[f+17|0]|S[p+15|0],k[p+15|0]=S[f+18|0]|S[p+15|0],k[p+15|0]=S[f+19|0]|S[p+15|0],k[p+15|0]=S[f+20|0]|S[p+15|0],k[p+15|0]=S[f+21|0]|S[p+15|0],k[p+15|0]=S[f+22|0]|S[p+15|0],k[p+15|0]=S[f+23|0]|S[p+15|0],k[p+15|0]=S[f+24|0]|S[p+15|0],k[p+15|0]=S[f+25|0]|S[p+15|0],k[p+15|0]=S[f+26|0]|S[p+15|0],k[p+15|0]=S[f+27|0]|S[p+15|0],k[p+15|0]=S[f+28|0]|S[p+15|0],k[p+15|0]=S[f+29|0]|S[p+15|0],k[p+15|0]=S[f+30|0]|S[p+15|0],k[p+15|0]=S[f+31|0]|S[p+15|0],b=(S[p+15|0]<<23)-8388608>>31),Ie=p+16|0,0|b}function SH(f,c,h,p,b){var B=0,Q=0,v=0,L=0,H=0,j=0,re=0;e:{if((0|p)==1|p>>>0>1)a[9404]=22;else{Ie=p=Ie-128|0,a[p- -64>>2]=0,a[p+56>>2]=0,a[p+60>>2]=0,a[p+48>>2]=0,a[p+52>>2]=0,a[p+40>>2]=0,a[p+44>>2]=0,a[p+32>>2]=0,a[p+36>>2]=0,a[p+24>>2]=0,a[p+28>>2]=0,a[p+16>>2]=0,a[p+20>>2]=0,B=Rg(f),a[p+28>>2]=B,a[p+44>>2]=B,a[p+12>>2]=B,Q=wo(B),a[p+40>>2]=Q,v=wo(B),a[p+24>>2]=v,L=wo(B),a[p+8>>2]=L;t:if(!L|!Q|!v||!(B=wo(B)))h0(Q),h0(v),h0(L),f=-22;else{if(f=yH(p+8|0,f,b)){h0(a[p+40>>2]),h0(a[p+24>>2]),h0(a[p+8>>2]),h0(B);break t}L=a[p+28>>2],H=a[p+24>>2],f=a[p+60>>2],j=a[p+52>>2],re=a[p+48>>2],wf(B,Q=a[p+12>>2]),(v=wo(Q))?(a[p+100>>2]=0,a[p+104>>2]=0,a[p+92>>2]=0,a[p+96>>2]=0,a[p+88>>2]=L,a[p+84>>2]=H,a[p+80>>2]=h,a[p+76>>2]=c,a[p+72>>2]=Q,a[p+68>>2]=v,a[p+124>>2]=0,a[p+120>>2]=f,a[p+116>>2]=f,a[p+112>>2]=j,a[p+108>>2]=re,(f=J5(p+68|0,b))||Di(B,v,Q),bn(v,Q),h0(v)):f=-22,h0(a[p+40>>2]),h0(a[p+24>>2]),f||(f=Ul(B,a[p+8>>2],a[p+12>>2])?-35:0),h0(B),h0(a[p+8>>2])}if(Ie=p+128|0,c=f,!f)break e;(0|f)==-35&&(a[9404]=28)}c=-1}return c}function yc(f,c){var h,p,b,B,Q,v,L,H=0,j=0;p=a[c+32>>2],b=a[c+28>>2],B=a[c+24>>2],Q=a[c+20>>2],v=a[c+16>>2],L=a[c+12>>2],H=a[c+4>>2],j=a[c>>2],h=a[c+36>>2],c=a[c+8>>2],j=Lr((p+(b+(B+(Q+(v+(L+((H+(j+(Lr(h,19)+16777216>>>25|0)>>26)>>25)+c>>26)>>25)>>26)>>25)>>26)>>25)>>26)+h>>25,19)+j|0,k[0|f]=j,k[f+2|0]=j>>>16,k[f+1|0]=j>>>8,H=H+(j>>26)|0,k[f+5|0]=H>>>14,k[f+4|0]=H>>>6,k[f+3|0]=j>>>24&3|H<<2,c=c+(H>>25)|0,k[f+8|0]=c>>>13,k[f+7|0]=c>>>5,k[f+6|0]=c<<3|(29360128&H)>>>22,j=(c>>26)+L|0,k[f+11|0]=j>>>11,k[f+10|0]=j>>>3,k[f+9|0]=j<<5|(65011712&c)>>>21,H=(j>>25)+v|0,k[f+15|0]=H>>>18,k[f+14|0]=H>>>10,k[f+13|0]=H>>>2,c=(H>>26)+Q|0,k[f+16|0]=c,k[f+12|0]=H<<6|(33030144&j)>>>19,k[f+18|0]=c>>>16,k[f+17|0]=c>>>8,H=(c>>25)+B|0,k[f+21|0]=H>>>15,k[f+20|0]=H>>>7,k[f+19|0]=c>>>24&1|H<<1,c=(H>>26)+b|0,k[f+24|0]=c>>>13,k[f+23|0]=c>>>5,k[f+22|0]=c<<3|(58720256&H)>>>23,H=(c>>25)+p|0,k[f+27|0]=H>>>12,k[f+26|0]=H>>>4,k[f+25|0]=H<<4|(31457280&c)>>>21,c=h+(H>>26)|0,k[f+30|0]=c>>>10,k[f+29|0]=c>>>2,k[f+31|0]=(33292288&c)>>>18,k[f+28|0]=c<<6|(66060288&H)>>>20}function Z2(f,c,h){f|=0,c|=0;var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0;if(Ie=p=Ie-192|0,(h|=0)>>>0>=129&&(qi(f),L0(f,c,h,0),Ah(f,p),h=64,c=p),qi(f),yo(p- -64|0,54,128),h){if(h>>>0>=4)for(j=252&h;k[0|(b=(Q=p- -64|0)+B|0)]=S[0|b]^S[c+B|0],k[0|(v=(b=1|B)+Q|0)]=S[0|v]^S[c+b|0],k[0|(v=(b=2|B)+Q|0)]=S[0|v]^S[c+b|0],k[0|(b=(b=Q)+(Q=3|B)|0)]=S[0|b]^S[c+Q|0],B=B+4|0,(0|j)!=(0|(L=L+4|0)););if(L=3&h)for(;k[0|(Q=(p- -64|0)+B|0)]=S[0|Q]^S[c+B|0],B=B+1|0,(0|L)!=(0|(H=H+1|0)););}if(L0(f,B=p- -64|0,128,0),qi(Q=f+208|0),yo(B,92,128),h){if(H=0,B=0,h>>>0>=4)for(j=252&h,L=0;k[0|(b=(f=p- -64|0)+B|0)]=S[0|b]^S[c+B|0],k[0|(v=(b=1|B)+f|0)]=S[0|v]^S[c+b|0],k[0|(v=(b=2|B)+f|0)]=S[0|v]^S[c+b|0],k[0|(b=(b=f)+(f=3|B)|0)]=S[0|b]^S[f+c|0],B=B+4|0,(0|j)!=(0|(L=L+4|0)););if(f=3&h)for(;k[0|(h=(p- -64|0)+B|0)]=S[0|h]^S[c+B|0],B=B+1|0,(0|f)!=(0|(H=H+1|0)););}return L0(Q,f=p- -64|0,128,0),bn(f,128),bn(p,64),Ie=p+192|0,0}function Te(f,c){var h;return f|=0,c|=0,a[12+(h=Ie-16|0)>>2]=f,a[h+8>>2]=c,a[h+4>>2]=0,a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]]^S[a[h+8>>2]],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+1|0]^S[a[h+8>>2]+1|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+2|0]^S[a[h+8>>2]+2|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+3|0]^S[a[h+8>>2]+3|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+4|0]^S[a[h+8>>2]+4|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+5|0]^S[a[h+8>>2]+5|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+6|0]^S[a[h+8>>2]+6|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+7|0]^S[a[h+8>>2]+7|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+8|0]^S[a[h+8>>2]+8|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+9|0]^S[a[h+8>>2]+9|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+10|0]^S[a[h+8>>2]+10|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+11|0]^S[a[h+8>>2]+11|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+12|0]^S[a[h+8>>2]+12|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+13|0]^S[a[h+8>>2]+13|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+14|0]^S[a[h+8>>2]+14|0],a[h+4>>2]=a[h+4>>2]|S[a[h+12>>2]+15|0]^S[a[h+8>>2]+15|0],(a[h+4>>2]-1>>>8&1)-1|0}function Fe(f,c,h,p,b,B,Q){var v,L,H,j=0,re=0,Z=0,ee=0;Ie=v=Ie-352|0,Ll(v,B,Q,0);e:{if(!(((j=!!(0|b))|!b&p>>>0>f-h>>>0)&f>>>0>h>>>0)&(!b&h-f>>>0>=p>>>0|f>>>0>=h>>>0)){if(a[v+56>>2]=0,a[v+60>>2]=0,a[v+48>>2]=0,a[v+52>>2]=0,a[v+40>>2]=0,a[v+44>>2]=0,a[v+32>>2]=0,a[v+36>>2]=0,re=(Q=(j=!!(0|b))|!b&p>>>0>=32)?32:p,Z=Q?0:b,Q=j|!b&p>>>0>32,!(p|b)){ee=1;break e}}else h=Z5(f,h,p),a[v+56>>2]=0,a[v+60>>2]=0,a[v+48>>2]=0,a[v+52>>2]=0,a[v+40>>2]=0,a[v+44>>2]=0,a[v+32>>2]=0,a[v+36>>2]=0,re=(Q=j|!b&p>>>0>=32)?32:p,Z=Q?0:b,Q=j|!b&p>>>0>32;Di(v- -64|0,h,re),ee=0}return j=Z,OH(L=v+32|0,L,H=re+32|0,j=H>>>0<32?j+1|0:j,j=B+16|0,v),Sg(v+96|0,L),ee||Di(f,v- -64|0,re),bn(v+32|0,64),Q&&x8(f+re|0,h+re|0,p-re|0,b-((p>>>0<re>>>0)+Z|0)|0,j,1,0,v),bn(v,32),qo(h=v+96|0,f,p,b),Ig(h,c),bn(h,256),Ie=v+352|0,0}function Pe(f,c,h,p,b,B,Q){var v,L,H,j=0,re=0,Z=0,ee=0;Ie=v=Ie-352|0,$2(v,B,Q,0);e:{if(!(((j=!!(0|b))|!b&p>>>0>f-h>>>0)&f>>>0>h>>>0)&(!b&h-f>>>0>=p>>>0|f>>>0>=h>>>0)){if(a[v+56>>2]=0,a[v+60>>2]=0,a[v+48>>2]=0,a[v+52>>2]=0,a[v+40>>2]=0,a[v+44>>2]=0,a[v+32>>2]=0,a[v+36>>2]=0,re=(Q=(j=!!(0|b))|!b&p>>>0>=32)?32:p,Z=Q?0:b,Q=j|!b&p>>>0>32,!(p|b)){ee=1;break e}}else h=Z5(f,h,p),a[v+56>>2]=0,a[v+60>>2]=0,a[v+48>>2]=0,a[v+52>>2]=0,a[v+40>>2]=0,a[v+44>>2]=0,a[v+32>>2]=0,a[v+36>>2]=0,re=(Q=j|!b&p>>>0>=32)?32:p,Z=Q?0:b,Q=j|!b&p>>>0>32;Di(v- -64|0,h,re),ee=0}return j=Z,MH(L=v+32|0,L,H=re+32|0,j=H>>>0<32?j+1|0:j,j=B+16|0,v),Sg(v+96|0,L),ee||Di(f,v- -64|0,re),bn(v+32|0,64),Q&&wM(f+re|0,h+re|0,p-re|0,b-((p>>>0<re>>>0)+Z|0)|0,j,1,0,v),bn(v,32),qo(h=v+96|0,f,p,b),Ig(h,c),bn(h,256),Ie=v+352|0,0}function Oe(f,c,h,p,b){var B;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-480|0,Z2(B,b|=0,32),j2(B,c,h,p),JS(B,B+416|0),c=a[B+444>>2],h=a[B+440>>2],k[f+24|0]=h,k[f+25|0]=h>>>8,k[f+26|0]=h>>>16,k[f+27|0]=h>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[B+436>>2],h=a[B+432>>2],k[f+16|0]=h,k[f+17|0]=h>>>8,k[f+18|0]=h>>>16,k[f+19|0]=h>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[B+428>>2],h=a[B+424>>2],k[f+8|0]=h,k[f+9|0]=h>>>8,k[f+10|0]=h>>>16,k[f+11|0]=h>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[B+420>>2],h=a[B+416>>2],k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,Ie=B+480|0,0}function He(f,c,h){f|=0,c|=0;var p,b=0;return Ie=p=Ie+-64|0,ci(p,h|=0,32,0),h=a[p+28>>2],b=a[p+24>>2],k[c+24|0]=b,k[c+25|0]=b>>>8,k[c+26|0]=b>>>16,k[c+27|0]=b>>>24,k[c+28|0]=h,k[c+29|0]=h>>>8,k[c+30|0]=h>>>16,k[c+31|0]=h>>>24,h=a[p+20>>2],b=a[p+16>>2],k[c+16|0]=b,k[c+17|0]=b>>>8,k[c+18|0]=b>>>16,k[c+19|0]=b>>>24,k[c+20|0]=h,k[c+21|0]=h>>>8,k[c+22|0]=h>>>16,k[c+23|0]=h>>>24,h=a[p+12>>2],b=a[p+8>>2],k[c+8|0]=b,k[c+9|0]=b>>>8,k[c+10|0]=b>>>16,k[c+11|0]=b>>>24,k[c+12|0]=h,k[c+13|0]=h>>>8,k[c+14|0]=h>>>16,k[c+15|0]=h>>>24,h=a[p+4>>2],b=a[p>>2],k[0|c]=b,k[c+1|0]=b>>>8,k[c+2|0]=b>>>16,k[c+3|0]=b>>>24,k[c+4|0]=h,k[c+5|0]=h>>>8,k[c+6|0]=h>>>16,k[c+7|0]=h>>>24,bn(p,64),f=PH(f,c),Ie=p- -64|0,0|f}function st(f,c){var h=0,p=0,b=0,B=0,Q=0,v=0;return c>>>0>4294967168?48:(c>>>0>=4294967168?(a[9404]=48,h=0):(h=0,(c=wo(76+(B=c>>>0<11?16:c+11&-8)|0))&&(h=c-8|0,63&c?(b=(-8&(v=a[(Q=c-4|0)>>2]))-(p=(c=((c=(c+63&-64)-8|0)-h>>>0<=15?64:0)+c|0)-h|0)|0,3&v?(a[c+4>>2]=b|1&a[c+4>>2]|2,a[4+(b=c+b|0)>>2]=1|a[b+4>>2],a[Q>>2]=p|1&a[Q>>2]|2,a[4+(b=h+p|0)>>2]=1|a[b+4>>2],sH(h,p)):(h=a[h>>2],a[c+4>>2]=b,a[c>>2]=h+p)):c=h,3&(h=a[c+4>>2])&&((p=-8&h)>>>0<=B+16>>>0||(a[c+4>>2]=B|1&h|2,h=c+B|0,B=p-B|0,a[h+4>>2]=3|B,a[4+(p=c+p|0)>>2]=1|a[p+4>>2],sH(h,B))),h=c+8|0)),h?(a[f>>2]=h,0):48)}function tt(f,c,h,p,b,B,Q,v,L,H,j){var re;if(re=yo(f,0,c),(0|h)==1|h>>>0>1)return a[9404]=22,-1;if(!(!h&c>>>0<=15)){if(!(!(B|L)&H>>>0<2147483649))return a[9404]=22,-1;if(!(!((!L&v>>>0>=3|!!(0|L))&H>>>0>8191)|(0|p)==(0|re)))return(0|j)==1?(B=H>>>10|0,Ie=f=Ie+-64|0,re&&wf(re,c),(h=wo(c))?(a[f+36>>2]=0,a[f+40>>2]=0,a[f+28>>2]=0,a[f+32>>2]=0,a[f+24>>2]=16,a[f+20>>2]=Q,a[f+16>>2]=b,a[f+12>>2]=p,a[f+8>>2]=c,a[f+4>>2]=h,a[f+60>>2]=0,a[f+56>>2]=1,a[f+52>>2]=1,a[f+48>>2]=B,a[f+44>>2]=v,(p=J5(f+4|0,1))|!re||Di(re,h,c),bn(h,c),h0(h)):p=-22,Ie=f- -64|0,p?-1:0):(a[9404]=28,-1)}return a[9404]=28,-1}function vt(f,c,h,p,b,B,Q){var v,L,H=0,j=0,re=0;Ie=v=Ie-96|0,$2(v,B,Q,0),Jre(Q=v+32|0,32,0,L=B+16|0,v),B=-1;e:{t:if(!kH(h,c,p,b,Q)){if(B=0,!f)break e;r:{if(!(((h=!!(0|b))|!b&p>>>0>c-f>>>0)&f>>>0<c>>>0)&(!b&p>>>0<=f-c>>>0|f>>>0<=c>>>0)){if(!(p|b))break r;h=(B=!b&p>>>0>=32|!!(0|b))?32:p,H=B?0:b}else c=Z5(f,c,p),h=(B=h|!b&p>>>0>=32)?32:p,H=B?0:b;if(B=H,re=Di(v- -64|0,c,h),MH(Q=v+32|0,Q,j=h+32|0,B=j>>>0<32?B+1|0:B,L,v),f=Di(f,re,h),bn(Q,64),B=0,!b&p>>>0<33)break t;wM(f+h|0,c+h|0,p-h|0,b-(H+(h>>>0>p>>>0)|0)|0,L,1,0,v);break t}MH(f=v+32|0,f,32,0,L,v),bn(f,64)}bn(v,32)}return Ie=v+96|0,B}function sr(f,c,h,p,b,B,Q,v,L,H,j){var re;if(re=yo(f,0,c),(0|h)==1|h>>>0>1)return a[9404]=22,-1;if(!(!h&c>>>0<=15)){if(!(!(B|L)&H>>>0<2147483649))return a[9404]=22,-1;if(!(!(!!(v|L)&H>>>0>8191)|(0|p)==(0|re)))return(0|j)==2?(B=H>>>10|0,Ie=f=Ie+-64|0,re&&wf(re,c),(h=wo(c))?(a[f+36>>2]=0,a[f+40>>2]=0,a[f+28>>2]=0,a[f+32>>2]=0,a[f+24>>2]=16,a[f+20>>2]=Q,a[f+16>>2]=b,a[f+12>>2]=p,a[f+8>>2]=c,a[f+4>>2]=h,a[f+60>>2]=0,a[f+56>>2]=1,a[f+52>>2]=1,a[f+48>>2]=B,a[f+44>>2]=v,(p=J5(f+4|0,2))|!re||Di(re,h,c),bn(h,c),h0(h)):p=-22,Ie=f- -64|0,p?-1:0):(a[9404]=28,-1)}return a[9404]=28,-1}function mr(f,c,h,p,b,B,Q){var v,L,H=0,j=0;Ie=v=Ie-96|0,Ll(v,B,Q,0),RM(Q=v+32|0,32,0,L=B+16|0,v),B=-1;e:{t:if(!kH(h,c,p,b,Q)){if(B=0,!f)break e;r:{if(!(((h=!!(0|b))|!b&p>>>0>c-f>>>0)&f>>>0<c>>>0)&(!b&p>>>0<=f-c>>>0|f>>>0<=c>>>0)){if(!(p|b))break r;h=(B=!b&p>>>0>=32|!!(0|b))?32:p,Q=B?0:b}else c=Z5(f,c,p),h=(B=h|!b&p>>>0>=32)?32:p,Q=B?0:b;if(H=h,j=Di(v- -64|0,c,h),OH(h=v+32|0,h,B=H+32|0,B>>>0<32?Q+1|0:Q,L,v),h=Di(f,j,H),B=0,!b&p>>>0<33)break t;x8(h+H|0,c+H|0,p-H|0,b-(Q+(p>>>0<H>>>0)|0)|0,L,1,0,v);break t}OH(f=v+32|0,f,32,0,L,v)}bn(v,32)}return Ie=v+96|0,B}function wr(f,c,h,p,b,B,Q,v,L,H){var j,re;return Ie=j=Ie-400|0,a[j+4>>2]=0,Ll(re=j+16|0,L,H,0),H=S[L+20|0]|S[L+21|0]<<8|S[L+22|0]<<16|S[L+23|0]<<24,a[j+8>>2]=S[L+16|0]|S[L+17|0]<<8|S[L+18|0]<<16|S[L+19|0]<<24,a[j+12>>2]=H,zS(H=j+80|0,64,0,j+4|0,re),Sg(L=j+144|0,H),bn(H,64),qo(L,B,Q,v),qo(L,35680,0-Q&15,0),qo(L,c,h,p),qo(L,35680,0-h&15,0),a[j+72>>2]=Q,a[j+76>>2]=v,qo(L,B=j+72|0,8,0),a[j+72>>2]=h,a[j+76>>2]=p,qo(L,B,8,0),Ig(L,B=j+48|0),bn(L,256),L=Te(B,b),bn(B,16),f&&(L?(yo(f,0,h),L=-1):(iBe(f,c,h,p,j+4|0,j+16|0),L=0)),bn(j+16|0,32),Ie=j+400|0,L}function Fr(f,c,h,p,b,B){var Q,v;if(Ie=Q=Ie-496|0,My(v=Q+288|0,f,c),em(v,h,p,0),B)for(f=0,c=0;h=(c=c+1|0)<<24|(65280&c)<<8|c>>>8&65280|c>>>24,k[Q+76|0]=h,k[Q+77|0]=h>>>8,k[Q+78|0]=h>>>16,k[Q+79|0]=h>>>24,Di(h=Q+80|0,Q+288|0,208),em(h,Q+76|0,4,0),j5(h,Q+32|0),h=a[Q+60>>2],a[Q+24>>2]=a[Q+56>>2],a[Q+28>>2]=h,h=a[Q+52>>2],a[Q+16>>2]=a[Q+48>>2],a[Q+20>>2]=h,h=a[Q+44>>2],a[Q+8>>2]=a[Q+40>>2],a[Q+12>>2]=h,h=a[Q+36>>2],a[Q>>2]=a[Q+32>>2],a[Q+4>>2]=h,Di(h=f+b|0,Q,(f=B-f|0)>>>0>=32?32:f),B>>>0>(f=c<<5)>>>0;);bn(Q+288|0,208),Ie=Q+496|0}function Vr(f,c,h,p,b,B){var Q,v,L=0;return Ie=Q=Ie-32|0,L=-1,(v=h>>>0<32)&!p||(XTe(Q,32,0,b,B),kH(c+16|0,c+32|0,h-32|0,p-v|0,Q)||(Hre(f,c,h,p,b,B),k[f+24|0]=0,k[f+25|0]=0,k[f+26|0]=0,k[f+27|0]=0,k[f+28|0]=0,k[f+29|0]=0,k[f+30|0]=0,k[f+31|0]=0,k[f+16|0]=0,k[f+17|0]=0,k[f+18|0]=0,k[f+19|0]=0,k[f+20|0]=0,k[f+21|0]=0,k[f+22|0]=0,k[f+23|0]=0,k[f+8|0]=0,k[f+9|0]=0,k[f+10|0]=0,k[f+11|0]=0,k[f+12|0]=0,k[f+13|0]=0,k[f+14|0]=0,k[f+15|0]=0,k[0|f]=0,k[f+1|0]=0,k[f+2|0]=0,k[f+3|0]=0,k[f+4|0]=0,k[f+5|0]=0,k[f+6|0]=0,k[f+7|0]=0,L=0)),Ie=Q+32|0,L}function on(f,c,h,p,b,B,Q,v,L,H,j){var re,Z,ee;return Ie=re=Ie-384|0,a[re+4>>2]=0,Ll(Z=re+16|0,H,j,0),j=S[H+20|0]|S[H+21|0]<<8|S[H+22|0]<<16|S[H+23|0]<<24,a[re+8>>2]=S[H+16|0]|S[H+17|0]<<8|S[H+18|0]<<16|S[H+19|0]<<24,a[re+12>>2]=j,zS(j=re- -64|0,64,0,ee=re+4|0,Z),Sg(H=re+128|0,j),bn(j,64),qo(H,Q,v,L),qo(H,35680,0-v&15,0),iBe(f,p,b,B,ee,Z),qo(H,f,b,B),qo(H,35680,0-b&15,0),a[re+56>>2]=v,a[re+60>>2]=L,qo(H,f=re+56|0,8,0),a[re+56>>2]=b,a[re+60>>2]=B,qo(H,f,8,0),Ig(H,c),bn(H,256),h&&(a[h>>2]=16,a[h+4>>2]=0),bn(re+16|0,32),Ie=re+384|0,0}function On(f,c,h,p,b){var B,Q,v=0;return Ie=B=Ie+-64|0,!h&(Q=Rg(f))>>>0<128?(a[B+60>>2]=0,a[B+52>>2]=0,a[B+56>>2]=0,a[B+44>>2]=0,a[B+48>>2]=0,h=0,Q&&(h=Q,(1|Q)>>>0<65536||(h=Q)),!(v=wo(h))|!(3&S[v-4|0])||yo(v,0,h),v?(a[B+36>>2]=0,a[B+40>>2]=0,a[B+12>>2]=v,a[B+20>>2]=v,a[B+24>>2]=Q,a[B+4>>2]=v,a[B+16>>2]=Q,a[B+28>>2]=0,a[B+32>>2]=0,a[B+8>>2]=Q,yH(B+4|0,f,b)?(a[9404]=28,f=-1):f=a[B+44>>2]!=(0|c)|a[B+48>>2]!=(p>>>10|0),h0(v)):f=-1):(a[9404]=28,f=-1),Ie=B- -64|0,f}function Qn(f){var c,h=0,p=0;if(!f)return-25;if(!a[f>>2])return-1;if(sn[f+4>>2]<16)return-2;if(!(a[f+8>>2]|!a[f+12>>2]))return-18;if(h=a[f+20>>2],!a[f+16>>2])return h?-19:-6;if(h>>>0<8)return-6;if(!(a[f+24>>2]|!a[f+28>>2]))return-20;if(!(a[f+32>>2]|!a[f+36>>2]))return-21;if(!(h=a[f+48>>2]))return-16;if(h>>>0>16777215)return-17;if(p=-14,!((c=a[f+44>>2])>>>0<8)){if(c>>>0>2097152)return-15;if(!(h<<3>>>0>c>>>0)){if(!a[f+40>>2])return-12;if(!(f=a[f+52>>2]))return-28;p=f>>>0>16777215?-29:0}}return p}function bi(f,c){var h,p=0,b=0;h=c;e:{t:{r:{if(c&=255){if(3&f)for(;;){if(!(p=S[0|f])|(0|c)==(0|p))break e;if(!(3&(f=f+1|0)))break}if((-2139062144&((p=a[f>>2])|16843008-p))!=-2139062144)break r;for(b=Lr(c,16843009);;){if((-2139062144&(16843008-(c=p^b)|c))!=-2139062144)break r;if(p=a[f+4>>2],f=c=f+4|0,(-2139062144&(16843008-p|p))!=-2139062144)break}break t}f=Rg(f)+f|0;break e}c=f}for(;;){if(!(p=S[0|(f=c)]))break e;if(c=f+1|0,(0|p)==(255&h))break}}return S[0|f]==(255&h)?f:0}function ci(f,c,h,p){var b,B=0;return Ie=b=Ie-208|0,a[b+72>>2]=0,a[b+76>>2]=0,B=a[8591],a[b+8>>2]=a[8590],a[b+12>>2]=B,B=a[8593],a[b+16>>2]=a[8592],a[b+20>>2]=B,B=a[8595],a[b+24>>2]=a[8594],a[b+28>>2]=B,B=a[8597],a[b+32>>2]=a[8596],a[b+36>>2]=B,B=a[8599],a[b+40>>2]=a[8598],a[b+44>>2]=B,B=a[8601],a[b+48>>2]=a[8600],a[b+52>>2]=B,B=a[8603],a[b+56>>2]=a[8602],a[b+60>>2]=B,a[b+64>>2]=0,a[b+68>>2]=0,B=a[8589],a[b>>2]=a[8588],a[b+4>>2]=B,L0(b,c,h,p),Ah(b,f),Ie=b+208|0,0}function qi(f){var c=0;return a[64+(f|=0)>>2]=0,a[f+68>>2]=0,a[f+72>>2]=0,a[f+76>>2]=0,c=a[8589],a[f>>2]=a[8588],a[f+4>>2]=c,c=a[8591],a[f+8>>2]=a[8590],a[f+12>>2]=c,c=a[8593],a[f+16>>2]=a[8592],a[f+20>>2]=c,c=a[8595],a[f+24>>2]=a[8594],a[f+28>>2]=c,c=a[8597],a[f+32>>2]=a[8596],a[f+36>>2]=c,c=a[8599],a[f+40>>2]=a[8598],a[f+44>>2]=c,c=a[8601],a[f+48>>2]=a[8600],a[f+52>>2]=c,c=a[8603],a[f+56>>2]=a[8602],a[f+60>>2]=c,0}function ea(f){return~((127&~S[f+31|0]|S[f+1|0]&S[f+2|0]&S[f+3|0]&S[f+4|0]&S[f+5|0]&S[f+6|0]&S[f+7|0]&S[f+8|0]&S[f+9|0]&S[f+10|0]&S[f+11|0]&S[f+12|0]&S[f+13|0]&S[f+14|0]&S[f+15|0]&S[f+16|0]&S[f+17|0]&S[f+18|0]&S[f+19|0]&S[f+20|0]&S[f+21|0]&S[f+22|0]&S[f+23|0]&S[f+24|0]&S[f+25|0]&S[f+26|0]&S[f+27|0]&S[f+28|0]&S[f+30|0]&S[f+29|0]^255)-1&236-S[0|f])>>>8&1}function ya(f,c){var h,p=0,b=0,B=0,Q=0;if(k[15+(h=Ie-16|0)|0]=0,c){if(c>>>0>=4)for(Q=-4&c;p=f+b|0,k[h+15|0]=S[0|p]|S[h+15|0],k[h+15|0]=S[p+1|0]|S[h+15|0],k[h+15|0]=S[p+2|0]|S[h+15|0],k[h+15|0]=S[p+3|0]|S[h+15|0],b=b+4|0,(0|Q)!=(0|(B=B+4|0)););if(p=3&c)for(c=0;k[h+15|0]=S[f+b|0]|S[h+15|0],b=b+1|0,(0|p)!=(0|(c=c+1|0)););}return S[h+15|0]-1>>>8&1}function Ul(f,c,h){var p,b=0,B=0;if(a[12+(p=Ie-16|0)>>2]=f,a[p+8>>2]=c,f=0,k[p+7|0]=0,h){if(c=1&h,(0|h)!=1)for(B=-2&h,h=0;k[p+7|0]=S[p+7|0]|S[a[p+12>>2]+f|0]^S[a[p+8>>2]+f|0],b=1|f,k[p+7|0]=S[p+7|0]|S[b+a[p+12>>2]|0]^S[a[p+8>>2]+b|0],f=f+2|0,(0|B)!=(0|(h=h+2|0)););c&&(k[p+7|0]=S[p+7|0]|S[a[p+12>>2]+f|0]^S[a[p+8>>2]+f|0])}return(S[p+7|0]-1>>>8&1)-1|0}function EM(f){for(var c=0,h=0,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0;b=(h=S[f+p|0])^S[0|(c=p+2688|0)]|b,B=h^S[c+192|0]|B,Q=h^S[c+160|0]|Q,v=h^S[c+128|0]|v,L=h^S[c+96|0]|L,H=h^S[c- -64|0]|H,j=h^S[c+32|0]|j,(0|(p=p+1|0))!=31;);return((255&((c=127^(f=127&S[f+31|0]))|B))-1|(255&(c|Q))-1|(255&(c|v))-1|(255&(122^f|L))-1|(255&(5^f|H))-1|(255&(f|j))-1|(255&(f|b))-1)>>>8&1}function Ke(f,c,h){var p=0,b=0,B=0,Q=0;return b=31&(B=Q=63&h),B=B>>>0>=32?-1>>>b|0:(p=-1>>>b|0)|(1<<b)-1<<32-b,B&=f,p&=c,b=31&Q,Q>>>0>=32?(p=B<<b,Q=0):(p=(1<<b)-1&B>>>32-b|p<<b,Q=B<<b),B=p,p=31&(b=0-h&63),b>>>0>=32?(p=-1<<p,h=0):p=(h=-1<<p)|(1<<p)-1&-1>>>32-p,f&=h,c&=p,p=31&b,b>>>0>=32?(h=0,f=c>>>p|0):(h=c>>>p|0,f=((1<<p)-1&c)<<32-p|f>>>p),$=h|B,f|Q}function gTe(f,c,h,p,b,B){f|=0,c|=0,h|=0;var Q=0,v=0;e:t:{r:{if(!(!(b|=0)&(p|=0)>>>0<64||(v=1+(b=b-1|0)|0,Q=b,!(p=(b=p+-64|0)>>>0<4294967232?v:Q)&b>>>0>4294967231|p))){if(!Fo(Q=h,h=h- -64|0,b,p,B|=0,0))break r;f&&yo(f,0,b)}if(p=-1,!c)break t;a[c>>2]=0,a[c+4>>2]=0,p=-1;break e}c&&(a[c>>2]=b,a[c+4>>2]=p),p=0,f&&Z5(f,h,b)}return 0|p}function _Te(f,c,h,p,b,B,Q,v,L,H){var j,re,Z;return Ie=j=Ie-352|0,zS(Z=j+32|0,64,0,L,H),Sg(re=j+96|0,Z),bn(Z,64),qo(re,B,Q,v),qo(re,35648,0-Q&15,0),qo(re,c,h,p),qo(re,35648,0-h&15,0),a[j+24>>2]=Q,a[j+28>>2]=v,qo(re,B=j+24|0,8,0),a[j+24>>2]=h,a[j+28>>2]=p,qo(re,B,8,0),Ig(re,j),bn(re,256),B=Te(j,b),bn(j,16),f&&(B?(yo(f,0,h),B=-1):(N8(f,c,h,p,L,1,H),B=0)),Ie=j+352|0,B}function mTe(f,c,h,p,b,B){var Q,v;return f|=0,c|=0,h|=0,p|=0,B|=0,Ie=Q=Ie-32|0,v=S[0|(b|=0)]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,b=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[Q+24>>2]=0,a[Q+28>>2]=0,a[Q+16>>2]=v,a[Q+20>>2]=b,a[Q+8>>2]=0,a[Q+12>>2]=0,a[Q>>2]=h,a[Q+4>>2]=p,c-65>>>0<=4294967246?(a[9404]=28,f=-1):f=oH(f,c,0,0,0,B,32,Q,Q+16|0),Ie=Q+32|0,0|f}function yTe(f,c,h,p,b){var B,Q;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-512|0,Z2(Q=B+32|0,b|=0,32),j2(Q,c,h,p),JS(Q,B+448|0),c=a[B+476>>2],a[B+24>>2]=a[B+472>>2],a[B+28>>2]=c,c=a[B+468>>2],a[B+16>>2]=a[B+464>>2],a[B+20>>2]=c,c=a[B+460>>2],a[B+8>>2]=a[B+456>>2],a[B+12>>2]=c,c=a[B+452>>2],a[B>>2]=a[B+448>>2],a[B+4>>2]=c,c=eO(f,B),h=Ul(B,f,32),Ie=B+512|0,((0|f)==(0|B)?-1:c)|h}function bTe(f,c,h,p,b,B,Q,v,L,H){var j,re,Z;return Ie=j=Ie-352|0,RM(Z=j+32|0,64,0,L,H),Sg(re=j+96|0,Z),bn(Z,64),qo(re,B,Q,v),a[j+24>>2]=Q,a[j+28>>2]=v,qo(re,B=j+24|0,8,0),qo(re,c,h,p),a[j+24>>2]=h,a[j+28>>2]=p,qo(re,B,8,0),Ig(re,j),bn(re,256),B=Te(j,b),bn(j,16),f&&(B?(yo(f,0,h),B=-1):(x8(f,c,h,p,L,1,0,H),B=0)),Ie=j+352|0,B}function ETe(f,c,h,p,b,B,Q,v,L,H,j){var re,Z,ee;return Ie=re=Ie-336|0,zS(ee=re+16|0,64,0,H,j),Sg(Z=re+80|0,ee),bn(ee,64),qo(Z,Q,v,L),qo(Z,35648,0-v&15,0),N8(f,p,b,B,H,1,j),qo(Z,f,b,B),qo(Z,35648,0-b&15,0),a[re+8>>2]=v,a[re+12>>2]=L,qo(Z,f=re+8|0,8,0),a[re+8>>2]=b,a[re+12>>2]=B,qo(Z,f,8,0),Ig(Z,c),bn(Z,256),h&&(a[h>>2]=16,a[h+4>>2]=0),Ie=re+336|0,0}function Fre(f,c){var h,p=0,b=0,B=0,Q=0,v=0;e:if(!(((h=S[0|f])-58&255)>>>0<246)){for(p=h,b=f;;){if(Q=b,B>>>0>429496729||(p=(255&p)-48|0)>>>0>~(B=Lr(B,10))>>>0)break e;if(B=B+p|0,!(((p=S[0|(b=b+1|0)])-58&255)>>>0>245))break}(0|h)==48&(0|f)!=(0|Q)|(0|f)==(0|b)||(a[c>>2]=B,v=b)}return v}function O8(f){var c=0,h=0,p=0,b=0;c=65,h=1024;e:{t:{if((0|(p=255&f))!=S[1024])for(p=Lr(p,16843009);;){if((-2139062144&((b=p^a[h>>2])|16843008-b))!=-2139062144)break t;if(h=h+4|0,!((c=c-4|0)>>>0>3))break}if(!c)break e}for(f&=255;;){if((0|f)==S[0|h])return h;if(h=h+1|0,!(c=c-1|0))break}}return 0}function vTe(f,c,h,p,b,B,Q,v,L,H,j){var re,Z,ee;return Ie=re=Ie-336|0,RM(ee=re+16|0,64,0,H,j),Sg(Z=re+80|0,ee),bn(ee,64),qo(Z,Q,v,L),a[re+8>>2]=v,a[re+12>>2]=L,qo(Z,Q=re+8|0,8,0),x8(f,p,b,B,H,1,0,j),qo(Z,f,b,B),a[re+8>>2]=b,a[re+12>>2]=B,qo(Z,Q,8,0),Ig(Z,c),bn(Z,256),h&&(a[h>>2]=16,a[h+4>>2]=0),Ie=re+336|0,0}function RTe(f,c,h,p,b,B){return!p&h>>>0>=32|p?(Hre(f,c,h,p,b,B),ABe(f+16|0,f+32|0,h-32|0,p-(h>>>0<32)|0,f),k[f+8|0]=0,k[f+9|0]=0,k[f+10|0]=0,k[f+11|0]=0,k[f+12|0]=0,k[f+13|0]=0,k[f+14|0]=0,k[f+15|0]=0,k[0|f]=0,k[f+1|0]=0,k[f+2|0]=0,k[f+3|0]=0,k[f+4|0]=0,k[f+5|0]=0,k[f+6|0]=0,k[f+7|0]=0,f=0):f=-1,f}function Rg(f){var c=0,h=0,p=0;e:{t:if(3&(c=f)){if(!S[0|c])return 0;for(;;){if(!(3&(c=c+1|0)))break t;if(!S[0|c])break}break e}for(;h=c,c=c+4|0,(-2139062144&((p=a[h>>2])|16843008-p))==-2139062144;);for(;h=(c=h)+1|0,S[0|c];);}return c-f|0}function STe(f,c,h,p,b,B){c|=0,b|=0,B|=0;var Q,v=0;return Ie=Q=Ie-16|0,en(f|=0,Q+8|0,Z5(f- -64|0,h|=0,p|=0),p,b,B,0),a[Q+12>>2]|a[Q+8>>2]!=64?(c&&(a[c>>2]=0,a[c+4>>2]=0),yo(f,0,p- -64|0),v=-1):c&&(a[c>>2]=p- -64,a[c+4>>2]=b-((p>>>0<4294967232)-1|0)),Ie=Q+16|0,0|v}function IH(f,c){var h,p=0,b=0,B=0,Q=0;return(h=O8(S[0|c]))&&(p=O8(S[c+1|0]))&&(b=O8(S[c+2|0]))&&(B=O8(S[c+3|0]))&&(Q=O8(S[c+4|0]))?(a[f>>2]=h-1024|p-1024<<6|b-1024<<12|B-1024<<18|Q-1024<<24,c+5|0):(a[f>>2]=0,0)}function ITe(f,c,h){var p;for(a[12+(p=Ie-16|0)>>2]=f,a[p+8>>2]=c,f=0,a[p+4>>2]=0;a[p+4>>2]=a[p+4>>2]|S[a[p+12>>2]+f|0]^S[a[p+8>>2]+f|0],c=1|f,a[p+4>>2]=a[p+4>>2]|S[c+a[p+12>>2]|0]^S[c+a[p+8>>2]|0],(0|h)!=(0|(f=f+2|0)););return(a[p+4>>2]-1>>>8&1)-1|0}function CTe(f,c,h,p,b,B,Q,v,L,H,j){var re=0,Z=0,ee=0;return Z=-1,(re=p>>>0<32)&!b||!(re=b-re|0)&(ee=p-32|0)>>>0>4294967263|re|!v&Q>>>0>4294967263|v||(Z=0|A0[a[j>>2]](f,h,ee,(h+p|0)-32|0,32,B,Q,L,H)),c&&(a[c>>2]=Z?0:p-32|0,a[c+4>>2]=Z?0:b-(p>>>0<32)|0),Z}function wTe(f,c){var h,p=0,b=0,B=0;Ie=h=Ie-896|0,dv(p=h+848|0,c),dv(b=h+800|0,c+32|0),nH(B=h+320|0,p),nH(c=h+160|0,b),mc(p=h+640|0,c),Gu(c=h+480|0,B,p),Ar(h,c,p=h+600|0),Ar(h+40|0,b=h+520|0,B=h+560|0),Ar(h+80|0,B,p),Ar(h+120|0,c,b),I8(f,h),Ie=h+896|0}function OTe(f){var c=0,h=0,p=0,b=0,B=0;for(c=1;h=(p=c)+S[0|(c=f+b|0)]|0,k[0|c]=h,h=S[c+1|0]+(h>>>8|0)|0,k[c+1|0]=h,h=S[c+2|0]+(h>>>8|0)|0,k[c+2|0]=h,p=c,c=S[c+3|0]+(h>>>8|0)|0,k[p+3|0]=c,c=c>>>8|0,b=b+4|0,(0|(B=B+4|0))!=4;);}function NTe(f,c,h,p,b,B,Q){var v;return Ie=v=Ie-16|0,f=yo(f,0,128),!(p|B)&Q>>>0<2147483649?(!B&b>>>0>=3|!!(0|B))&Q>>>0>8191?(wf(v,16),f=aH(b,Q>>>10|0,c,h,v,f,1)?-1:0):(a[9404]=28,f=-1):(a[9404]=22,f=-1),Ie=v+16|0,f}function xTe(f,c){var h=0;4&c&&((c=a[f>>2])&&bn(a[c+4>>2],a[f+16>>2]<<10),(c=a[f+4>>2])&&bn(c,a[f+20>>2]<<3)),h0(a[f+4>>2]),a[f+4>>2]=0,(c=a[f>>2])&&(h=a[c>>2])&&h0(h),h0(c),a[f>>2]=0}function TTe(f,c,h,p,b,B,Q,v,L,H,j){return!b&p>>>0>4294967263|!!(0|b)|!v&Q>>>0>=4294967264|!!(0|v)?(Bs(),Rr()):(f=0|A0[a[j>>2]](f,f+p|0,32,h,p,B,Q,L,H),c&&(p=(h=p+32|0)>>>0<32?b+1|0:b,a[c>>2]=f?0:h,a[c+4>>2]=f?0:p)),f}function BTe(f){var c=0,h=0,p=0,b=0,B=0,Q=0,v=0,L=0;for(c=32,h=1;L|=(b=S[(p=c-2|0)+f|0])-(B=S[p+2912|0])>>8&(c=((Q=S[2912+(c=c-1|0)|0])^(v=S[f+c|0]))-1>>8&h)|v-Q>>8&h,h=c&(b^B)-1>>8,c=p;);return!!(255&L)}function MTe(f,c,h,p,b,B,Q){var v;return Ie=v=Ie-16|0,f=yo(f,0,128),!(p|B)&Q>>>0<2147483649?!!(b|B)&Q>>>0>8191?(wf(v,16),f=aH(b,Q>>>10|0,c,h,v,f,2)?-1:0):(a[9404]=28,f=-1):(a[9404]=22,f=-1),Ie=v+16|0,f}function CH(f){var c=0;return a[32+(f|=0)>>2]=0,a[f+36>>2]=0,c=a[8809],a[f>>2]=a[8808],a[f+4>>2]=c,c=a[8811],a[f+8>>2]=a[8810],a[f+12>>2]=c,c=a[8813],a[f+16>>2]=a[8812],a[f+20>>2]=c,c=a[8815],a[f+24>>2]=a[8814],a[f+28>>2]=c,0}function DTe(f,c,h,p,b,B,Q){var v,L,H=0,j=0;return Ie=v=Ie+-64|0,H=-1,(L=h>>>0<16)&!p||vg(j=v+32|0,Q,B)||Ll(v,35584,j,0)||(H=mr(f,c+16|0,c,h-16|0,p-L|0,b,v),bn(v,32)),Ie=v- -64|0,H}function Ce(f,c,h,p){var b,B,Q,v,L=0,H=0;return v=Lr(L=h>>>16|0,H=f>>>16|0),L=(65535&(H=((Q=Lr(b=65535&h,B=65535&f))>>>16|0)+Lr(H,b)|0))+Lr(L,B)|0,$=(Lr(c,h)+v|0)+Lr(f,p)+(H>>>16)+(L>>>16)|0,65535&Q|L<<16}function W5(f,c,h){var p=0,b=0;if(!h)return 0;if(p=S[0|f])e:{for(;;){if((0|(b=S[0|c]))!=(0|p)|!b||!(h=h-1|0))break e;if(c=c+1|0,p=S[f+1|0],f=f+1|0,!p)break}p=0}else p=0;return p-S[0|c]|0}function N8(f,c,h,p,b,B,Q){var v=0,L=0;if(v=p,!((((v=(L=h+63|0)>>>0<63?v+1|0:v)>>>6|0)+!!(0|(v=(63&v)<<26|L>>>6))|0)==1&B>>>0>(L=0-v|0)>>>0|(0|p)==1|p>>>0>1))return 0|A0[a[9199]](f,c,h,p,b,B,Q);Bs(),Rr()}function kTe(f,c,h,p,b,B,Q){var v;return f|=0,c|=0,h|=0,p|=0,b|=0,Ie=v=Ie+-64|0,vg(v+32|0,Q|=0,B|=0)?B=-1:(B=-1,$2(v,35664,v+32|0,0)||(B=RTe(f,c,h,p,b,v),bn(v,32))),Ie=v- -64|0,0|B}function PTe(f,c,h,p,b,B,Q){var v;return f|=0,c|=0,h|=0,p|=0,b|=0,Ie=v=Ie+-64|0,vg(v+32|0,Q|=0,B|=0)?B=-1:(B=-1,$2(v,35664,v+32|0,0)||(B=Vr(f,c,h,p,b,v),bn(v,32))),Ie=v- -64|0,0|B}function LTe(f,c,h,p,b,B,Q){var v;if(Ie=v=Ie+-64|0,!p&h>>>0<4294967280)return vg(v+32|0,Q,B)?Q=-1:(Q=-1,Ll(v,35584,v+32|0,0)||(Q=Fe(f+16|0,f,c,h,p,b,v),bn(v,32))),Ie=v- -64|0,Q;Bs(),Rr()}function UTe(f,c){for(var h=0,p=0,b=0,B=0,Q=0;p=f+b|0,h=S[c+b|0]+(S[0|p]+h|0)|0,k[0|p]=h,B=(p=1|b)+f|0,h=S[c+p|0]+(S[0|B]+(h>>>8|0)|0)|0,k[0|B]=h,h=h>>>8|0,b=b+2|0,(0|(Q=Q+2|0))!=32;);}function Qre(f,c){for(var h=0,p=0,b=0,B=0,Q=0;h=(S[0|(p=f+b|0)]-S[c+b|0]|0)+h|0,k[0|p]=h,h=(S[0|(B=(p=1|b)+f|0)]-S[c+p|0]|0)+(h>>8)|0,k[0|B]=h,h>>=8,b=b+2|0,(0|(Q=Q+2|0))!=64;);}function wf(f,c){f|=0;var h,p=0,b=0,B=0;if(Ie=h=Ie-16|0,c|=0)for(;k[h+15|0]=0,b=f+p|0,B=0|yt(36800,h+15|0,0),k[0|b]=B,(0|(p=p+1|0))!=(0|c););Ie=h+16|0}function FTe(f,c,h,p,b,B,Q){var v,L,H=0;return Ie=v=Ie-32|0,H=-1,(L=h>>>0<16)&!p||OM(v,B,Q)||(H=vt(f,c+16|0,c,h-16|0,p-L|0,b,v),bn(v,32)),Ie=v+32|0,H}function X5(f){var c,h;e:{if(!((f=(c=a[8924])+(h=f+7&-8)|0)>>>0<=c>>>0&&h)&&(f>>>0<=LBe()<<16>>>0||0|gt(0|f)))break e;return a[9404]=48,-1}return a[8924]=f,c}function VS(f,c){var h,p,b;Ie=h=Ie-176|0,lv(p=h+96|0,c+80|0),Ar(b=h+48|0,c,p),Ar(h,c+40|0,p),yc(f,h),yc(h+144|0,b),k[f+31|0]=S[f+31|0]^S[h+144|0]<<7,Ie=h+176|0}function QTe(f,c,h,p,b,B,Q,v,L,H){var j,re,Z=0,ee=0,de=0;return Ie=j=Ie-16|0,Z=-1,qre(re=j+4|0)||(ee=-1,de=cH(re,f,c,h,p,b,B,Q,v,L,H),Z=xH(re)?ee:de),Ie=j+16|0,Z}function HTe(f,c,h,p,b,B,Q,v,L,H,j,re){return h&&(a[h>>2]=32,a[h+4>>2]=0),!L&v>>>0<4294967264&!B&b>>>0<=4294967263||(Bs(),Rr()),0|A0[a[re>>2]](f,c,32,p,b,Q,v,H,j)}function Z5(f,c,h){var p=0;if(f>>>0<c>>>0)return Di(f,c,h);if(h)for(p=f+h|0,c=c+h|0;c=c-1|0,k[0|(p=p-1|0)]=S[0|c],h=h-1|0;);return f}function GTe(f,c,h,p,b,B,Q){var v,L=0;if(Ie=v=Ie-32|0,!p&h>>>0<4294967280)return L=-1,OM(v,B,Q)||(L=Pe(f+16|0,f,c,h,p,b,v),bn(v,32)),Ie=v+32|0,L;Bs(),Rr()}function qTe(f,c,h,p,b,B){return c|=0,0|(!(p|=0)&(h|=0)>>>0>=16|p?vt(f|=0,c+16|0,c,h-16|0,p-(h>>>0<16)|0,b|=0,B|=0):-1)}function VTe(f,c,h,p,b,B){return c|=0,0|(!(p|=0)&(h|=0)>>>0>=16|p?mr(f|=0,c+16|0,c,h-16|0,p-(h>>>0<16)|0,b|=0,B|=0):-1)}function JTe(f,c,h,p,b,B,Q,v,L,H,j){return!p&h>>>0>4294967263|p|!v&Q>>>0>4294967263|v?-1:0|A0[a[j>>2]](f,c,h,b,32,B,Q,L,H)}function zTe(f,c,h){f|=0;var p,b=0;return Ie=p=Ie-32|0,b=-1,vg(p,h|=0,c|=0)||(b=$2(f,35664,p,0)),Ie=p+32|0,0|b}function JS(f,c){var h;return c|=0,Ie=h=Ie+-64|0,Ah(f|=0,h),L0(f=f+208|0,h,64,0),Ah(f,c),bn(h,64),Ie=h- -64|0,0}function KTe(f,c,h,p){var b;return c|=0,h|=0,p|=0,Ie=b=Ie+-64|0,Ah(f|=0,b),f=en(c,h,b,64,0,p,1),Ie=b- -64|0,0|f}function wH(f,c){var h,p,b;Ar(f,c,h=c+120|0),Ar(f+40|0,p=c+40|0,b=c+80|0),Ar(f+80|0,b,h),Ar(f+120|0,c,p)}function $Te(f,c,h,p,b,B,Q){return 0|MTe(f|=0,c|=0,(f=0)|(h|=0),p|=0,f|(b|=0),B|=0,Q|=0)}function j5(f,c){var h;return c|=0,Ie=h=Ie-32|0,W2(f|=0,h),w1(f=f+104|0,h,32,0),W2(f,c),bn(h,32),Ie=h+32|0,0}function Di(f,c,h){var p=0;if(h)for(p=f;k[0|p]=S[0|c],p=p+1|0,c=c+1|0,h=h-1|0;);return f}function Hre(f,c,h,p,b,B){var Q;return Ie=Q=Ie-32|0,$2(Q,b,B,0),f=wM(f,c,h,p,b+16|0,0,0,Q),bn(Q,32),Ie=Q+32|0,f}function YTe(f){for(f|=0;wf(f,32),k[f+31|0]=31&S[f+31|0],!BTe(f)||ya(f,32););}function WTe(f,c,h){var p;return c|=0,h|=0,Ie=p=Ie+-64|0,Ah(f|=0,p),f=Fo(c,p,64,0,h,1),Ie=p- -64|0,0|f}function XTe(f,c,h,p,b){var B;return Ie=B=Ie-32|0,$2(B,p,b,0),f=Jre(f,c,h,p+16|0,B),bn(B,32),Ie=B+32|0,f}function yo(f,c,h){var p=0;if(h)for(p=f;k[0|p]=c,p=p+1|0,h=h-1|0;);return f}function vM(f,c,h){return f|=0,c|=0,(h|=0)>>>0>=256&&(ot(1366,1279,107,1123),Rr()),0|sM(f,c,255&h)}function ZTe(f,c,h,p,b,B,Q){return 0|Pe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)}function jTe(f,c,h,p,b,B,Q){return 0|vt(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)}function eBe(f,c,h,p,b,B,Q){return 0|Fe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)}function x8(f,c,h,p,b,B,Q,v){return(0|p)==1|p>>>0>1&&(Bs(),Rr()),0|A0[a[9198]](f,c,h,p,b,B,Q,v)}function tBe(f,c,h,p,b,B,Q){return 0|mr(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)}function OH(f,c,h,p,b,B){return(0|p)==1|p>>>0>1&&(Bs(),Rr()),0|A0[a[9198]](f,c,h,p,b,0,0,B)}function NH(f,c,h,p,b,B){return(0|p)==1|p>>>0>1&&(Bs(),Rr()),0|A0[a[9199]](f,c,h,p,b,0,B)}function rBe(f,c,h,p,b,B){return en(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,0),0}function xH(f){var c;return(c=a[f>>2])&&h0(c),a[f+8>>2]=0,a[f>>2]=0,a[f+4>>2]=0,0}function lr(f,c){var h=0;return(-1>>>(h=31&c)&f)<<h|((h=f)&-1<<(f=0-c&31))>>>f}function TH(f,c,h,p,b,B){return 0|RTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)}function BH(f,c,h,p,b,B){return 0|Vr(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)}function nBe(f,c,h,p,b,B){return 0|Hre(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)}function zS(f,c,h,p,b){return(0|h)==1|h>>>0>1&&(Bs(),Rr()),0|A0[a[9197]](f,c,h,p,b)}function RM(f,c,h,p,b){return(0|h)==1|h>>>0>1&&(Bs(),Rr()),0|A0[a[9196]](f,c,h,p,b)}function iBe(f,c,h,p,b,B){(0|p)==1|p>>>0>1&&(Bs(),Rr()),A0[a[9199]](f,c,h,p,b,1,B)}function oBe(f,c,h,p,b){return 0|Fo(f|=0,c|=0,h|=0,p|=0,b|=0,0)}function aBe(f,c,h,p,b){return 0|ABe(f|=0,c|=0,h|=0,p|=0,b|=0)}function sBe(f,c,h,p,b){return 0|kH(f|=0,c|=0,h|=0,p|=0,b|=0)}function cBe(f,c,h,p,b){return 0|XTe(f|=0,c|=0,h|=0,p|=0,b|=0)}function uBe(){var f;Ie=f=Ie-16|0,k[f+15|0]=0,yt(36836,f+15|0,0),Ie=f+16|0}function SM(f,c,h,p){return uM(f|=0,c|=0,h|=0,p|=0,20),0}function IM(f,c,h,p){return uM(f|=0,c|=0,h|=0,p|=0,12),0}function CM(f,c,h,p){return uM(f|=0,c|=0,h|=0,p|=0,8),0}function dBe(f,c,h,p){return 0|ci(f|=0,c|=0,h|=0,p|=0)}function fBe(f,c,h,p){return 0|qo(f|=0,c|=0,h|=0,p|=0)}function Gre(f,c,h,p){return 0|L0(f|=0,c|=0,h|=0,p|=0)}function T8(f,c,h,p){return 0|C8(f|=0,c|=0,h|=0,p|=0)}function wM(f,c,h,p,b,B,Q,v){return 0|A0[a[8933]](f,c,h,p,b,B,Q,v)}function lBe(f,c,h,p){return 0|j2(f|=0,c|=0,h|=0,p|=0)}function MH(f,c,h,p,b,B){return 0|A0[a[8933]](f,c,h,p,b,0,0,B)}function qre(f){return a[f+8>>2]=0,a[f>>2]=0,a[f+4>>2]=0,0}function OM(f,c,h){return 0|zTe(f|=0,c|=0,h|=0)}function Vre(f,c,h){return 0|vg(f|=0,c|=0,h|=0)}function Bs(){var f;(f=a[9538])&&A0[0|f](),PBe(),Rr()}function B8(f,c,h){return 0|vM(f|=0,c|=0,h|=0)}function hBe(f,c,h){return 0|Z2(f|=0,c|=0,h|=0)}function DH(f,c){return f|=0,wf(c|=0,32),0|PH(f,c)}function ABe(f,c,h,p,b){return 0|A0[a[8925]](f,c,h,p,b)}function Jre(f,c,h,p,b){return 0|A0[a[8932]](f,c,h,p,b)}function kH(f,c,h,p,b){return 0|A0[a[8926]](f,c,h,p,b)}function PH(f,c){return f|=0,c|=0,0|A0[a[8931]](f,c)}function Sg(f,c){return f|=0,c|=0,0|A0[a[8927]](f,c)}function Ig(f,c){return f|=0,c|=0,0|A0[a[8929]](f,c)}function zre(f,c,h,p,b,B,Q){return gM(f,c,h,p,b,B,Q)}function LH(f){return f?31-Wr(f-1^f)|0:32}function qo(f,c,h,p){return 0|A0[a[8928]](f,c,h,p)}function eO(f,c){return 0|ITe(f|=0,c|=0,32)}function pBe(f,c){return 0|ITe(f|=0,c|=0,64)}function gBe(f,c,h){xr(f|=0,c|=0,h|=0)}function Kre(f,c){return 0|PH(f|=0,c|=0)}function _Be(f,c){return 0|DH(f|=0,c|=0)}function mBe(f,c,h,p){return SH(f,c,h,p,1)}function yBe(f,c,h,p){return On(f,c,h,p,1)}function bBe(f,c,h,p){return On(f,c,h,p,2)}function EBe(f,c,h,p){return SH(f,c,h,p,2)}function j2(f,c,h,p){return L0(f,c,h,p),0}function em(f,c,h,p){return w1(f,c,h,p),0}function ph(f,c,h,p){return Sd(f,c,h,p)}function vBe(f){return qi(f|=0),0}function $re(){return-2147483648}function Yre(){return 1073741824}function RBe(){return 268435456}function SBe(){return 33554432}function Wu(f){wf(f|=0,32)}function IBe(){return 67108864}function CBe(f){wf(f|=0,16)}function wBe(){return 16777216}function bn(f,c){yo(f,0,c)}function OBe(){return 1564}function NBe(){return 1338}function Wre(){return 8192}function xBe(){return 384}function TBe(){return 256}function Xre(){return 416}function Zre(){return 128}function NM(){return 208}function ed(){return 64}function ta(){return 16}function Ai(){return 32}function BBe(){return-65}function MBe(){return-33}function DBe(){return 48}function hv(){return-17}function kBe(){return 12}function tm(){return 24}function Id(){return-1}function M8(){return 2}function UH(){return 3}function Dy(){return 8}function xM(){return 1}function jre(){return 4}function pp(){return 0}function PBe(){lt(),Rr()}br(Je=S,1024,"Li8wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egBqcwByYW5kb21ieXRlcwBiNjRfcG9zIDw9IGI2NF9sZW4AY3J5cHRvX2dlbmVyaWNoYXNoX2JsYWtlMmJfZmluYWwAYXJnb24yaWQsYXJnb24yaQAkYXJnb24yaQAkYXJnb24yaWQAcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBzb2RpdW0vY29kZWNzLmMAY3J5cHRvX2dlbmVyaWNoYXNoL2JsYWtlMmIvcmVmL2JsYWtlMmItcmVmLmMAY3J5cHRvX2dlbmVyaWNoYXNoL2JsYWtlMmIvcmVmL2dlbmVyaWNoYXNoX2JsYWtlMmIuYwB4MjU1MTlibGFrZTJiAGJ1Zl9sZW4gPD0gU0laRV9NQVgAb3V0bGVuIDw9IFVJTlQ4X01BWABTLT5idWZsZW4gPD0gQkxBS0UyQl9CTE9DS0JZVEVTACRhcmdvbjJpJHY9ACRhcmdvbjJpZCR2PQBjdXJ2ZTI1NTE5AGVkMjU1MTkAaG1hY3NoYTUxMjI1NgBjdXJ2ZTI1NTE5eHNhbHNhMjBwb2x5MTMwNQBzb2RpdW1fYmluMmJhc2U2NABzaXBoYXNoMjQAc2hhNTEyAHhzYWxzYTIwADEuMC4yMAAkYXJnb24yaSQAJGFyZ29uMmlkJAAkNyQAAAAAAAC2eFn/hXLTAL1uFf8PCmoAKcABAJjoef+8PKD/mXHO/wC34v60DUj/AAAAAAAAAACwoA7+08mG/54YjwB/aTUAYAy9AKfX+/+fTID+amXh/x78BACSDK4="),br(Je,1680,"WfGy/grlpv973Sr+HhTUAFKAAwAw0fMAd3lA/zLjnP8AbsUBZxuQ"),br(Je,1728,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/"),br(Je,2720,"AQ=="),br(Je,2752,"JuiVj8KyJ7BFw/SJ8u+Y8NXfrAXTxjM5sTgCiG1T/AXHF2pwPU3YT7o8C3YNEGcPKiBT+iw5zMZOx/13kqwDeuz///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f+3T9VwaYxJY1pz3ot753hQ="),br(Je,2943,"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"),br(Je,33964,"AQAAAHbBXwBlcAL/UPyh/vJqxv+FBrIA5N9wAN/uVf4z8xoAPiuL/stBCg=="),br(Je,34016,"M03tAJGqVv82JjP/8YBl/yl5Sv/sTpsAqZdp/pwpSADCZq//zqJl/wAAAAAAAAAAGy57ARKo/f/Tr5f+w9tgADh2vv7+0fX/mWR+/uiBFf81uPL/x6Td"),br(Je,34144,"AQ=="),br(Je,34176,"4Ot6fDtBuK4WVuP68Z/EatoJjeucMrH9hmIFFl9JuABfnJW8o1CMJLHQsVWcg+9bBERcxFgcjobYIk7d0J8RV+z///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f0xpYnNvZGl1bURSRwAAAAAIybzzZ+YJajunyoSFrme7K/iU/nLzbjzxNh1fOvVPpdGC5q1/Ug5RH2w+K4xoBZtrvUH7q9mDH3khfhMZzeBbIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbIA="),br(Je,35184,"7dP1XBpjEljWnPei3vneFA=="),br(Je,35215,"EA=="),br(Je,35232,"Z+YJaoWuZ7ty8248OvVPpX9SDlGMaAWbq9mDHxnN4FuYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGgA=="),br(Je,35600,"U2lnRWQyNTUxOSBubyBFZDI1NTE5IGNvbGxpc2lvbnMB"),br(Je,35696,"EJUBAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQ=="),br(Je,35744,"xmNjpfh8fITud3eZ9nt7jf/y8g3Wa2u93m9vsZHFxVRgMDBQAgEBA85nZ6lWKyt95/7+GbXX12JNq6vm7HZ2mo/KykUfgoKdicnJQPp9fYfv+voVsllZ645HR8n78PALQa2t7LPU1GdfoqL9Ra+v6iOcnL9TpKT35HJylpvAwFt1t7fC4f39HD2Tk65MJiZqbDY2Wn4/P0H19/cCg8zMT2g0NFxRpaX00eXlNPnx8QjicXGTq9jYc2IxMVMqFRU/CAQEDJXHx1JGIyNlncPDXjAYGCg3lpahCgUFDy+amrUOBwcJJBISNhuAgJvf4uI9zevrJk4nJ2l/srLN6nV1nxIJCRsdg4OeWCwsdDQaGi42Gxst3G5usrRaWu5boKD7pFJS9nY7O0231tZhfbOzzlIpKXvd4+M+Xi8vcROEhJemU1P1udHRaAAAAADB7e0sQCAgYOP8/B95sbHItltb7dRqar6Ny8tGZ76+2XI5OUuUSkremExM1LBYWOiFz89Ku9DQa8Xv7ypPqqrl7fv7FoZDQ8WaTU3XZjMzVRGFhZSKRUXP6fn5EAQCAgb+f3+BoFBQ8Hg8PEQln5+6S6io46JRUfNdo6P+gEBAwAWPj4o/kpKtIZ2dvHA4OEjx9fUEY7y833e2tsGv2tp1QiEhYyAQEDDl//8a/fPzDr/S0m2Bzc1MGAwMFCYTEzXD7Owvvl9f4TWXl6KIRETMLhcXOZPExFdVp6fy/H5+gno9PUfIZGSsul1d5zIZGSvmc3OVwGBgoBmBgZieT0/Ro9zcf0QiImZUKip+O5CQqwuIiIOMRkbKx+7uKWu4uNMoFBQ8p97eebxeXuIWCwsdrdvbdtvg4DtkMjJWdDo6ThQKCh6SSUnbDAYGCkgkJGy4XFzkn8LCXb3T025DrKzvxGJipjmRkagxlZWk0+TkN/J5eYvV5+cyi8jIQ243N1nabW23AY2NjLHV1WScTk7SSamp4NhsbLSsVlb68/T0B8/q6iXKZWWv9Hp6jkeurukQCAgYb7q61fB4eIhKJSVvXC4ucjgcHCRXpqbxc7S0x5fGxlHL6Ogjod3dfOh0dJw+Hx8hlktL3WG9vdwNi4uGD4qKheBwcJB8Pj5CcbW1xMxmZqqQSEjYBgMDBff29gEcDg4SwmFho2o1NV+uV1f5abm50BeGhpGZwcFYOh0dJyeenrnZ4eE46/j4EyuYmLMiEREz0mlpu6nZ2XAHjo6JM5SUpy2bm7Y8Hh4iFYeHksnp6SCHzs5JqlVV/1AoKHil3996A4yMj1mhofgJiYmAGg0NF2W/v9rX5uYxhEJCxtBoaLiCQUHDKZmZsFotLXceDw8Re7Cwy6hUVPxtu7vWLBYWOgoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAAR");var TM,A0=(TM=[null,function(f,c,h,p,b){var B,Q,v;return f|=0,c|=0,h|=0,p|=0,b|=0,Ie=B=(Q=Ie)-128&-64,a[B>>2]=67108863&(S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),a[B+4>>2]=(S[b+3|0]|S[b+4|0]<<8|S[b+5|0]<<16|S[b+6|0]<<24)>>>2&67108611,a[B+8>>2]=(S[b+6|0]|S[b+7|0]<<8|S[b+8|0]<<16|S[b+9|0]<<24)>>>4&67092735,a[B+12>>2]=(S[b+9|0]|S[b+10|0]<<8|S[b+11|0]<<16|S[b+12|0]<<24)>>>6&66076671,v=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+20>>2]=0,a[B+24>>2]=0,a[B+28>>2]=0,a[B+32>>2]=0,a[B+36>>2]=0,a[B+16>>2]=v>>>8&1048575,a[B+40>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+44>>2]=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+48>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,b=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,k[B+80|0]=0,a[B+56>>2]=0,a[B+60>>2]=0,a[B+52>>2]=b,_M(B,c,h,p),bM(B,f),Ie=Q,0},function(f,c,h,p,b){var B,Q,v;return f|=0,c|=0,h|=0,p|=0,b|=0,Ie=B=(Q=Ie)-192&-64,a[B+64>>2]=67108863&(S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),a[B+68>>2]=(S[b+3|0]|S[b+4|0]<<8|S[b+5|0]<<16|S[b+6|0]<<24)>>>2&67108611,a[B+72>>2]=(S[b+6|0]|S[b+7|0]<<8|S[b+8|0]<<16|S[b+9|0]<<24)>>>4&67092735,a[B+76>>2]=(S[b+9|0]|S[b+10|0]<<8|S[b+11|0]<<16|S[b+12|0]<<24)>>>6&66076671,v=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+84>>2]=0,a[B+88>>2]=0,a[B+92>>2]=0,a[B+96>>2]=0,a[B+100>>2]=0,a[B+80>>2]=v>>>8&1048575,a[B+104>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+108>>2]=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+112>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,b=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,k[B+144|0]=0,a[B+120>>2]=0,a[B+124>>2]=0,a[B+116>>2]=b,_M(b=B- -64|0,c,h,p),bM(b,c=B+48|0),f=Te(f,c),Ie=Q,0|f},function(f,c){var h;return c|=0,a[(f|=0)>>2]=67108863&(S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24),a[f+4>>2]=(S[c+3|0]|S[c+4|0]<<8|S[c+5|0]<<16|S[c+6|0]<<24)>>>2&67108611,a[f+8>>2]=(S[c+6|0]|S[c+7|0]<<8|S[c+8|0]<<16|S[c+9|0]<<24)>>>4&67092735,a[f+12>>2]=(S[c+9|0]|S[c+10|0]<<8|S[c+11|0]<<16|S[c+12|0]<<24)>>>6&66076671,h=S[c+12|0]|S[c+13|0]<<8|S[c+14|0]<<16|S[c+15|0]<<24,a[f+20>>2]=0,a[f+24>>2]=0,a[f+28>>2]=0,a[f+32>>2]=0,a[f+36>>2]=0,a[f+16>>2]=h>>>8&1048575,a[f+40>>2]=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,a[f+44>>2]=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,a[f+48>>2]=S[c+24|0]|S[c+25|0]<<8|S[c+26|0]<<16|S[c+27|0]<<24,c=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,k[f+80|0]=0,a[f+56>>2]=0,a[f+60>>2]=0,a[f+52>>2]=c,0},function(f,c,h,p){return _M(f|=0,c|=0,h|=0,p|=0),0},function(f,c){return bM(f|=0,c|=0),0},function(f,c,h){f|=0,c|=0,h|=0;var p,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0;for(Ie=p=Ie-368|0;de=(Q=S[h+b|0])^S[0|(L=b+34112|0)]|de,ee=Q^S[L+192|0]|ee,Z=Q^S[L+160|0]|Z,re=Q^S[L+128|0]|re,v=Q^S[L+96|0]|v,H=Q^S[L- -64|0]|H,B=Q^S[L+32|0]|B,(0|(b=b+1|0))!=31;);if(b=-1,!(256&((255&((Q=127^(L=127&S[h+31|0]))|ee))-1|(255&(Q|Z))-1|(255&(Q|re))-1|(255&(87^L|v))-1|(255&(H|L))-1|(255&(B|L))-1|(255&(L|de))-1))){for(b=c,c=S[c+28|0]|S[c+29|0]<<8|S[c+30|0]<<16|S[c+31|0]<<24,a[p+360>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,a[p+364>>2]=c,c=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[p+352>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[p+356>>2]=c,B=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,c=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[p+336>>2]=c,a[p+340>>2]=B,B=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[p+344>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[p+348>>2]=B,k[p+336|0]=248&c,k[p+367|0]=63&S[p+367|0]|64,dv(p+288|0,h),a[p+260>>2]=0,a[p+264>>2]=0,a[p+268>>2]=0,a[p+272>>2]=0,a[p+276>>2]=0,a[p+208>>2]=0,a[p+212>>2]=0,a[p+216>>2]=0,a[p+220>>2]=0,a[p+224>>2]=0,a[p+228>>2]=0,c=a[p+308>>2],a[p+160>>2]=a[p+304>>2],a[p+164>>2]=c,c=a[p+316>>2],a[p+168>>2]=a[p+312>>2],a[p+172>>2]=c,c=a[p+324>>2],a[p+176>>2]=a[p+320>>2],a[p+180>>2]=c,a[p+244>>2]=0,a[p+248>>2]=0,a[p+240>>2]=1,a[p+252>>2]=0,a[p+256>>2]=0,a[p+192>>2]=0,a[p+196>>2]=0,a[p+200>>2]=0,a[p+204>>2]=0,c=a[p+292>>2],a[p+144>>2]=a[p+288>>2],a[p+148>>2]=c,c=a[p+300>>2],a[p+152>>2]=a[p+296>>2],a[p+156>>2]=c,a[p+116>>2]=0,a[p+120>>2]=0,a[p+124>>2]=0,a[p+128>>2]=0,a[p+132>>2]=0,a[p+100>>2]=0,a[p+104>>2]=0,a[p+96>>2]=1,a[p+108>>2]=0,a[p+112>>2]=0,h=254;fn=a[p+276>>2],Q=a[p+180>>2],Ne=a[p+96>>2],xe=a[p+192>>2],nt=a[p+144>>2],Cr=a[p+240>>2],Yr=a[p+100>>2],An=a[p+196>>2],hn=a[p+148>>2],pn=a[p+244>>2],it=a[p+104>>2],En=a[p+200>>2],dt=a[p+152>>2],Mn=a[p+248>>2],cr=a[p+108>>2],Nr=a[p+204>>2],gr=a[p+156>>2],ft=a[p+252>>2],Wt=a[p+112>>2],Gt=a[p+208>>2],bt=a[p+160>>2],rr=a[p+256>>2],de=a[p+116>>2],Jr=a[p+212>>2],j=a[p+164>>2],rn=a[p+260>>2],ee=a[p+120>>2],_n=a[p+216>>2],Z=a[p+168>>2],Tn=a[p+264>>2],re=a[p+124>>2],Bn=a[p+220>>2],v=a[p+172>>2],Nn=a[p+268>>2],H=a[p+128>>2],kn=a[p+224>>2],B=a[p+176>>2],pt=a[p+272>>2],Kn=h,Ye=(Ve=(c=0-((c=nn)^(nn=S[(zn=p+336|0)+(h>>>3|0)|0]>>>(7&h)&1))|0)&((b=a[p+132>>2])^(ur=a[p+228>>2])))^b,a[p+132>>2]=Ye,Mr=Q^(We=c&(Q^fn)),a[p+84>>2]=Mr-Ye,nr=H^(ke=c&(H^kn)),a[p+128>>2]=nr,Gr=(ut=c&(B^pt))^B,a[p+80>>2]=Gr-nr,Sr=re^(ye=c&(re^Bn)),a[p+124>>2]=Sr,ui=v^(Me=c&(v^Nn)),a[p+76>>2]=ui-Sr,yr=ee^(we=c&(ee^_n)),a[p+120>>2]=yr,di=Z^(L=c&(Z^Tn)),a[p+72>>2]=di-yr,Kt=de^(Q=c&(de^Jr)),a[p+116>>2]=Kt,or=j^(de=c&(j^rn)),a[p+68>>2]=or-Kt,Or=Wt^(ee=c&(Wt^Gt)),a[p+112>>2]=Or,vr=bt^(Z=c&(bt^rr)),a[p+64>>2]=vr-Or,kr=cr^(re=c&(cr^Nr)),a[p+108>>2]=kr,jr=gr^(v=c&(gr^ft)),a[p+60>>2]=jr-kr,Jt=it^(H=c&(it^En)),a[p+104>>2]=Jt,cr=dt^(B=c&(dt^Mn)),a[p+56>>2]=cr-Jt,it=Yr^(b=c&(Yr^An)),a[p+100>>2]=it,gr=hn^(h=c&(hn^pn)),a[p+52>>2]=gr-it,dt=Ne^(Wt=c&(Ne^xe)),a[p+96>>2]=dt,bt=(c&=nt^Cr)^nt,a[p+48>>2]=bt-dt,j=We^fn,Ve^=ur,a[p+36>>2]=j-Ve,We=ut^pt,ke^=kn,a[p+32>>2]=We-ke,ut=Me^Nn,ye^=Bn,a[p+28>>2]=ut-ye,Me=L^Tn,we^=_n,a[p+24>>2]=Me-we,L=de^rn,Q^=Jr,a[p+20>>2]=L-Q,de=Z^rr,ee^=Gt,a[p+16>>2]=de-ee,Z=v^ft,re^=Nr,a[p+12>>2]=Z-re,v=B^Mn,H^=En,a[p+8>>2]=v-H,B=h^pn,b^=An,a[p+4>>2]=B-b,h=c^Cr,c=Wt^xe,a[p>>2]=h-c,a[p+276>>2]=j+Ve,a[p+272>>2]=We+ke,a[p+268>>2]=ye+ut,a[p+264>>2]=we+Me,a[p+260>>2]=Q+L,a[p+256>>2]=ee+de,a[p+248>>2]=v+H,a[p+244>>2]=b+B,a[p+240>>2]=c+h,a[p+252>>2]=re+Z,a[p+228>>2]=Ye+Mr,a[p+224>>2]=nr+Gr,a[p+220>>2]=Sr+ui,a[p+216>>2]=yr+di,a[p+212>>2]=Kt+or,a[p+208>>2]=vr+Or,a[p+204>>2]=kr+jr,a[p+200>>2]=cr+Jt,a[p+196>>2]=it+gr,a[p+192>>2]=bt+dt,Ar(Mr=p+96|0,nr=p+48|0,Ye=p+240|0),Ar(pt=p+192|0,pt,p),Et(nr,p),Et(p,Ye),j=a[p+192>>2],Ve=a[p+96>>2],We=a[p+196>>2],ke=a[p+100>>2],ut=a[p+200>>2],ye=a[p+104>>2],Me=a[p+204>>2],we=a[p+108>>2],L=a[p+208>>2],Q=a[p+112>>2],de=a[p+212>>2],ee=a[p+116>>2],Z=a[p+216>>2],re=a[p+120>>2],v=a[p+220>>2],H=a[p+124>>2],B=a[p+224>>2],b=a[p+128>>2],h=a[p+228>>2],c=a[p+132>>2],a[p+180>>2]=h+c,a[p+176>>2]=b+B,a[p+172>>2]=v+H,a[p+168>>2]=re+Z,a[p+164>>2]=ee+de,a[p+160>>2]=Q+L,a[p+156>>2]=we+Me,a[p+152>>2]=ye+ut,a[p+148>>2]=We+ke,a[p+144>>2]=j+Ve,a[p+228>>2]=c-h,a[p+224>>2]=b-B,a[p+220>>2]=H-v,a[p+216>>2]=re-Z,a[p+212>>2]=ee-de,a[p+208>>2]=Q-L,a[p+204>>2]=we-Me,a[p+200>>2]=ye-ut,a[p+196>>2]=ke-We,a[p+192>>2]=Ve-j,Ar(Ye,p,nr),Sr=a[p+52>>2],we=a[p+4>>2],yr=a[p+56>>2],L=a[p+8>>2],Kt=a[p+64>>2],Z=a[p+16>>2],Or=a[p+60>>2],re=a[p+12>>2],kr=a[p+72>>2],v=a[p+24>>2],Jt=a[p+68>>2],H=a[p+20>>2],it=a[p+80>>2],B=a[p+32>>2],dt=a[p+76>>2],b=a[p+28>>2],ur=a[p+84>>2],c=a[p+36>>2],Gr=a[p+48>>2],h=a[p>>2]-Gr|0,a[p>>2]=h,c=c-ur|0,a[p+36>>2]=c,Wt=b-dt|0,a[p+28>>2]=Wt,bt=B-it|0,a[p+32>>2]=bt,Q=H-Jt|0,a[p+20>>2]=Q,de=v-kr|0,a[p+24>>2]=de,ee=re-Or|0,a[p+12>>2]=ee,Z=Z-Kt|0,a[p+16>>2]=Z,re=L-yr|0,a[p+8>>2]=re,B=we-Sr|0,a[p+4>>2]=B,Et(pt,pt),c=Ce(c,c>>31,121666,0),b=$,jr=c,c=Ce((33554431&(b=(j=c+16777216|0)>>>0<16777216?b+1|0:b))<<7|j>>>25,b>>25,19,0),H=$,b=c,c=Ce(h,h>>31,121666,0),vr=$+H|0,c=c>>>0>(b=b+c|0)>>>0?vr+1|0:vr,h=(v=b+33554432|0)>>>0<33554432?c+1|0:c,Ve=b-(-67108864&v)|0,a[p+96>>2]=Ve,H=Ce(B,B>>31,121666,0),b=$,b=(B=H+16777216|0)>>>0<16777216?b+1|0:b,We=(H-(-33554432&B)|0)+((67108863&h)<<6|v>>>26)|0,a[p+100>>2]=We,vr=(c=b)>>25,b=(33554431&c)<<7|B>>>25,h=Ce(re,re>>31,121666,0)+b|0,c=vr+$|0,c=h>>>0<b>>>0?c+1|0:c,H=(ke=h+33554432|0)>>>0<33554432?c+1|0:c,ut=h-(-67108864&ke)|0,a[p+104>>2]=ut,b=Ce(Z,Z>>31,121666,0),B=$,h=Ce(ee,ee>>31,121666,0),c=$,or=b,cr=h,b=(33554431&(c=(ye=h+16777216|0)>>>0<16777216?c+1|0:c))<<7|ye>>>25,c=(c>>25)+B|0,c=(h=or+b|0)>>>0<b>>>0?c+1|0:c,B=(Me=h+33554432|0)>>>0<33554432?c+1|0:c,we=h-(-67108864&Me)|0,a[p+112>>2]=we,b=Ce(de,de>>31,121666,0),v=$,h=Ce(Q,Q>>31,121666,0),c=$,or=b,gr=h,b=(33554431&(c=(L=h+16777216|0)>>>0<16777216?c+1|0:c))<<7|L>>>25,c=(c>>25)+v|0,c=(h=or+b|0)>>>0<b>>>0?c+1|0:c,b=(Q=h+33554432|0)>>>0<33554432?c+1|0:c,de=h-(-67108864&Q)|0,a[p+120>>2]=de,v=Ce(bt,bt>>31,121666,0),re=$,h=Ce(Wt,Wt>>31,121666,0),c=$,bt=h,h=(33554431&(c=(ee=h+16777216|0)>>>0<16777216?c+1|0:c))<<7|ee>>>25,c=(c>>25)+re|0,c=h>>>0>(v=h+v|0)>>>0?c+1|0:c,h=(Z=v+33554432|0)>>>0<33554432?c+1|0:c,re=v-(-67108864&Z)|0,a[p+128>>2]=re,v=(H=cr+((67108863&H)<<6|ke>>>26)|0)-(-33554432&ye)|0,a[p+108>>2]=v,H=(B=gr+((67108863&B)<<6|Me>>>26)|0)-(-33554432&L)|0,a[p+116>>2]=H,B=(c=bt+((67108863&b)<<6|Q>>>26)|0)-(-33554432&ee)|0,a[p+124>>2]=B,h=(h=jr+((67108863&h)<<6|Z>>>26)|0)-(-33554432&j)|0,a[p+132>>2]=h,Et(c=p+144|0,c),a[p+84>>2]=h+ur,a[p+80>>2]=re+it,a[p+76>>2]=B+dt,a[p+72>>2]=de+kr,a[p+68>>2]=H+Jt,a[p+64>>2]=we+Kt,a[p+60>>2]=v+Or,a[p+56>>2]=ut+yr,a[p+52>>2]=We+Sr,a[p+48>>2]=Ve+Gr,h=Kn-1|0,Ar(Mr,p+288|0,pt),Ar(pt,p,nr),Kn;);de=a[p+144>>2],Ve=a[p+240>>2],ee=a[p+148>>2],We=a[p+244>>2],Z=a[p+152>>2],ke=a[p+248>>2],re=a[p+156>>2],ut=a[p+252>>2],v=a[p+160>>2],ye=a[p+256>>2],H=a[p+164>>2],Me=a[p+260>>2],B=a[p+168>>2],we=a[p+264>>2],b=a[p+172>>2],L=a[p+268>>2],h=a[p+176>>2],Q=a[p+272>>2],j=0-nn|0,c=a[p+276>>2],a[p+276>>2]=j&(c^a[p+180>>2])^c,a[p+272>>2]=Q^j&(h^Q),a[p+268>>2]=L^j&(b^L),a[p+264>>2]=we^j&(B^we),a[p+260>>2]=Me^j&(H^Me),a[p+256>>2]=ye^j&(v^ye),a[p+252>>2]=ut^j&(re^ut),a[p+248>>2]=ke^j&(Z^ke),a[p+244>>2]=We^j&(ee^We),a[p+240>>2]=Ve^j&(de^Ve),Ve=a[p+192>>2],de=a[p+96>>2],We=a[p+196>>2],ee=a[p+100>>2],ke=a[p+200>>2],Z=a[p+104>>2],ut=a[p+204>>2],re=a[p+108>>2],ye=a[p+208>>2],v=a[p+112>>2],Me=a[p+212>>2],H=a[p+116>>2],we=a[p+216>>2],B=a[p+120>>2],L=a[p+220>>2],b=a[p+124>>2],Q=a[p+224>>2],h=a[p+128>>2],c=a[p+228>>2],a[p+228>>2]=j&(c^a[p+132>>2])^c,a[p+224>>2]=Q^j&(h^Q),a[p+220>>2]=L^j&(b^L),a[p+216>>2]=we^j&(B^we),a[p+212>>2]=Me^j&(H^Me),a[p+208>>2]=ye^j&(v^ye),a[p+204>>2]=ut^j&(re^ut),a[p+200>>2]=ke^j&(Z^ke),a[p+196>>2]=We^j&(ee^We),a[p+192>>2]=Ve^j&(de^Ve),lv(pt,pt),Ar(Ye,Ye,pt),yc(f,Ye),bn(zn,32),b=0}return Ie=p+368|0,0|b},function(f,c){var h,p,b,B,Q,v,L,H,j,re,Z,ee,de,we,ke,ye,Me,Ve,We,ut;return c|=0,Ie=h=Ie-304|0,k[0|(f|=0)]=S[0|c],k[f+1|0]=S[c+1|0],k[f+2|0]=S[c+2|0],k[f+3|0]=S[c+3|0],k[f+4|0]=S[c+4|0],k[f+5|0]=S[c+5|0],k[f+6|0]=S[c+6|0],k[f+7|0]=S[c+7|0],k[f+8|0]=S[c+8|0],k[f+9|0]=S[c+9|0],k[f+10|0]=S[c+10|0],k[f+11|0]=S[c+11|0],k[f+12|0]=S[c+12|0],k[f+13|0]=S[c+13|0],k[f+14|0]=S[c+14|0],k[f+15|0]=S[c+15|0],k[f+16|0]=S[c+16|0],k[f+17|0]=S[c+17|0],k[f+18|0]=S[c+18|0],k[f+19|0]=S[c+19|0],k[f+20|0]=S[c+20|0],k[f+21|0]=S[c+21|0],k[f+22|0]=S[c+22|0],k[f+23|0]=S[c+23|0],k[f+24|0]=S[c+24|0],k[f+25|0]=S[c+25|0],k[f+26|0]=S[c+26|0],k[f+27|0]=S[c+27|0],k[f+28|0]=S[c+28|0],k[f+29|0]=S[c+29|0],k[f+30|0]=S[c+30|0],c=S[c+31|0],k[0|f]=248&S[0|f],k[f+31|0]=63&c|64,qS(h+48|0,f),c=a[h+128>>2],p=a[h+88>>2],b=a[h+132>>2],B=a[h+92>>2],Q=a[h+136>>2],v=a[h+96>>2],L=a[h+140>>2],H=a[h+100>>2],j=a[h+144>>2],re=a[h+104>>2],Z=a[h+148>>2],ee=a[h+108>>2],de=a[h+152>>2],we=a[h+112>>2],ke=a[h+156>>2],ye=a[h+116>>2],Me=a[h+160>>2],Ve=a[h+120>>2],We=a[h+124>>2],ut=a[h+164>>2],a[h+292>>2]=We+ut,a[h+288>>2]=Me+Ve,a[h+284>>2]=ke+ye,a[h+280>>2]=de+we,a[h+276>>2]=Z+ee,a[h+272>>2]=j+re,a[h+268>>2]=L+H,a[h+264>>2]=Q+v,a[h+260>>2]=b+B,a[h+256>>2]=c+p,a[h+244>>2]=ut-We,a[h+240>>2]=Me-Ve,a[h+236>>2]=ke-ye,a[h+232>>2]=de-we,a[h+228>>2]=Z-ee,a[h+224>>2]=j-re,a[h+220>>2]=L-H,a[h+216>>2]=Q-v,a[h+212>>2]=b-B,a[h+208>>2]=c-p,lv(c=h+208|0,c),Ar(h,h+256|0,c),yc(f,h),Ie=h+304|0,0},function(f,c,h,p,b){f|=0,p|=0,b|=0;var B,Q=0,v=0,L=0,H=0;if(Ie=B=Ie-112|0,(c|=0)|(h|=0)){Q=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,a[B+24>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,a[B+28>>2]=Q,Q=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+16>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+20>>2]=Q,Q=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[B>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[B+4>>2]=Q,Q=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+8>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[B+12>>2]=Q,b=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,p=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,a[B+104>>2]=0,a[B+108>>2]=0,a[B+96>>2]=b,a[B+100>>2]=p;e:{if(!h&c>>>0>=64|h){for(;SM(f,B+96|0,B,0),p=S[B+104|0]+1|0,k[B+104|0]=p,p=S[B+105|0]+(p>>>8|0)|0,k[B+105|0]=p,p=S[B+106|0]+(p>>>8|0)|0,k[B+106|0]=p,p=S[B+107|0]+(p>>>8|0)|0,k[B+107|0]=p,p=S[B+108|0]+(p>>>8|0)|0,k[B+108|0]=p,p=S[B+109|0]+(p>>>8|0)|0,k[B+109|0]=p,p=S[B+110|0]+(p>>>8|0)|0,k[B+110|0]=p,k[B+111|0]=S[B+111|0]+(p>>>8|0),f=f- -64|0,h=h-1|0,!(h=(c=c+-64|0)>>>0<4294967232?h+1|0:h)&c>>>0>63|h;);if(!(c|h))break e}if(p=0,SM(B+32|0,B+96|0,B,0),Q=3&c,b=0,!h&c>>>0>=4|h)for(h=60&c,c=0;v=L=B+32|0,k[f+b|0]=S[v+b|0],k[(H=1|b)+f|0]=S[v+H|0],k[(v=2|b)+f|0]=S[v+L|0],k[(v=3|b)+f|0]=S[v+(B+32|0)|0],b=b+4|0,(0|h)!=(0|(c=c+4|0)););if(Q)for(;k[f+b|0]=S[(B+32|0)+b|0],b=b+1|0,(0|Q)!=(0|(p=p+1|0)););}bn(B+32|0,64),bn(B,32)}return Ie=B+112|0,0},function(f,c,h,p,b,B,Q,v){f|=0,c|=0,b|=0,B|=0,Q|=0,v|=0;var L,H=0;if(Ie=L=Ie-112|0,(h|=0)|(p|=0)){H=S[v+28|0]|S[v+29|0]<<8|S[v+30|0]<<16|S[v+31|0]<<24,a[L+24>>2]=S[v+24|0]|S[v+25|0]<<8|S[v+26|0]<<16|S[v+27|0]<<24,a[L+28>>2]=H,H=S[v+20|0]|S[v+21|0]<<8|S[v+22|0]<<16|S[v+23|0]<<24,a[L+16>>2]=S[v+16|0]|S[v+17|0]<<8|S[v+18|0]<<16|S[v+19|0]<<24,a[L+20>>2]=H,H=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,a[L>>2]=S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,a[L+4>>2]=H,H=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,a[L+8>>2]=S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,a[L+12>>2]=H,v=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[L+96>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[L+100>>2]=v,k[L+104|0]=B,k[L+111|0]=Q>>>24,k[L+110|0]=Q>>>16,k[L+109|0]=Q>>>8,k[L+108|0]=Q,k[L+107|0]=(16777215&Q)<<8|B>>>24,k[L+106|0]=(65535&Q)<<16|B>>>16,k[L+105|0]=(255&Q)<<24|B>>>8;e:{if(!p&h>>>0>=64|p){for(;;){for(v=0,SM(L+32|0,L+96|0,L,0);B=L+32|0,k[f+v|0]=S[B+v|0]^S[c+v|0],k[(b=1|v)+f|0]=S[b+B|0]^S[c+b|0],(0|(v=v+2|0))!=64;);if(b=S[L+104|0]+1|0,k[L+104|0]=b,b=S[L+105|0]+(b>>>8|0)|0,k[L+105|0]=b,b=S[L+106|0]+(b>>>8|0)|0,k[L+106|0]=b,b=S[L+107|0]+(b>>>8|0)|0,k[L+107|0]=b,b=S[L+108|0]+(b>>>8|0)|0,k[L+108|0]=b,b=S[L+109|0]+(b>>>8|0)|0,k[L+109|0]=b,b=S[L+110|0]+(b>>>8|0)|0,k[L+110|0]=b,k[L+111|0]=S[L+111|0]+(b>>>8|0),c=c- -64|0,f=f- -64|0,p=p-1|0,!(!(p=(h=h+-64|0)>>>0<4294967232?p+1|0:p)&h>>>0>63|p))break}if(!(h|p))break e}if(v=0,SM(L+32|0,L+96|0,L,0),B=1&h,(0|h)!=1|p)for(p=62&h,b=0;Q=L+32|0,k[f+v|0]=S[Q+v|0]^S[c+v|0],k[(h=1|v)+f|0]=S[h+Q|0]^S[c+h|0],v=v+2|0,(0|p)!=(0|(b=b+2|0)););B&&(k[f+v|0]=S[(L+32|0)+v|0]^S[c+v|0])}bn(L+32|0,64),bn(L,32)}return Ie=L+112|0,0},function(f,c,h,p,b,B,Q,v,L){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0;var H,j,re=0;if(j=re=Ie,Ie=H=re-192&-32,ZQ(L|=0,v|=0,H- -64|0),L=0,Q>>>0<=63)v=0;else for(re=64;Pa(B+L|0,H- -64|0),L=v=re,(re=v- -64|0)>>>0<=Q>>>0;);if((re=32|v)>>>0>Q>>>0)L=v;else for(;K5(B+v|0,H- -64|0),L=re,(re=(v=re)+32|0)>>>0<=Q>>>0;);if((v=31&Q)&&(yo((re=H+32|0)|v,0,32-v|0),Di(re,B+L|0,v),K5(re,H- -64|0)),L=32,v=0,b>>>0<32)B=0;else for(;Cu(f+v|0,p+v|0,H- -64|0),B=L,(L=(v=L)+32|0)>>>0<=b>>>0;);return(v=31&b)&&(yo((L=H+32|0)|v,0,32-v|0),Di(L,p+B|0,v),Cu(H,L,H- -64|0),Di(f+B|0,H,v)),Hu(c,h,Q,b,H- -64|0),Ie=j,0},function(f,c,h,p,b,B,Q,v,L){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0;var H,j,re=0;if(j=re=Ie,Ie=H=re-224&-32,ZQ(L|=0,v|=0,H+96|0),L=0,Q>>>0<=63)v=0;else for(re=64;Pa(B+L|0,H+96|0),L=v=re,(re=v- -64|0)>>>0<=Q>>>0;);if((re=32|v)>>>0>Q>>>0)L=v;else for(;K5(B+v|0,H+96|0),L=re,(re=(v=re)+32|0)>>>0<=Q>>>0;);(v=31&Q)&&(yo((re=H- -64|0)|v,0,32-v|0),Di(re,B+L|0,v),K5(re,H+96|0));e:{t:{r:{n:{i:{if(f){if(L=32,h>>>0<32)break i;for(B=0;Iu(f+B|0,c+B|0,H+96|0),B=v=L,(L=v+32|0)>>>0<=h>>>0;);}else{if(B=32,h>>>0<32)break r;for(L=0;Iu(H+32|0,c+L|0,H+96|0),L=v=B,(B=v+32|0)>>>0<=h>>>0;);}if(!(B=31&h))break e;if(f)break n;break t}if(v=0,B=h,!h)break e}Ed(f+v|0,c+v|0,B,H+96|0);break e}if(v=0,B=h,!h)break e}Ed(H+32|0,c+v|0,B,H+96|0)}Hu(H,b,Q,h,H+96|0),v=-1;e:{t:{if(c=b-16|0){if((0|c)==16)break t;break e}v=Te(H,p);break e}v=eO(H,p)}return!f|!v||yo(f,0,h),Ie=j,0|v},function(f,c,h,p,b,B,Q,v,L){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0;var H,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0;if(Ie=H=Ie-528|0,jo(L|=0,v|=0,H+400|0),L=0,Q>>>0<=31)v=0;else for(re=32;XQ(B+L|0,H+400|0),L=v=re,(re=v+32|0)>>>0<=Q>>>0;);if((L=16|v)>>>0<=Q>>>0)for(re=H+416|0,ee=H+432|0,de=H+448|0,Z=H+464|0,we=H+480|0;ke=S[0|(v=B+v|0)]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,ye=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,Me=S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,Ve=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,v=a[we+12>>2],a[H+520>>2]=a[we+8>>2],a[H+524>>2]=v,v=a[we+4>>2],a[H+512>>2]=a[we>>2],a[H+516>>2]=v,v=a[Z+12>>2],a[H+376>>2]=a[Z+8>>2],a[H+380>>2]=v,v=a[Z+4>>2],a[H+368>>2]=a[Z>>2],a[H+372>>2]=v,v=a[we+12>>2],a[H+360>>2]=a[we+8>>2],a[H+364>>2]=v,v=a[we+4>>2],a[H+352>>2]=a[we>>2],a[H+356>>2]=v,un(v=H+496|0,H+368|0,H+352|0),j=a[H+508>>2],a[we+8>>2]=a[H+504>>2],a[we+12>>2]=j,j=a[H+500>>2],a[we>>2]=a[H+496>>2],a[we+4>>2]=j,j=a[de+12>>2],a[H+344>>2]=a[de+8>>2],a[H+348>>2]=j,j=a[de+4>>2],a[H+336>>2]=a[de>>2],a[H+340>>2]=j,j=a[Z+12>>2],a[H+328>>2]=a[Z+8>>2],a[H+332>>2]=j,j=a[Z+4>>2],a[H+320>>2]=a[Z>>2],a[H+324>>2]=j,un(v,H+336|0,H+320|0),j=a[H+508>>2],a[Z+8>>2]=a[H+504>>2],a[Z+12>>2]=j,j=a[H+500>>2],a[Z>>2]=a[H+496>>2],a[Z+4>>2]=j,j=a[ee+12>>2],a[H+312>>2]=a[ee+8>>2],a[H+316>>2]=j,j=a[ee+4>>2],a[H+304>>2]=a[ee>>2],a[H+308>>2]=j,j=a[de+12>>2],a[H+296>>2]=a[de+8>>2],a[H+300>>2]=j,j=a[de+4>>2],a[H+288>>2]=a[de>>2],a[H+292>>2]=j,un(v,H+304|0,H+288|0),j=a[H+508>>2],a[de+8>>2]=a[H+504>>2],a[de+12>>2]=j,j=a[H+500>>2],a[de>>2]=a[H+496>>2],a[de+4>>2]=j,j=a[re+12>>2],a[H+280>>2]=a[re+8>>2],a[H+284>>2]=j,j=a[re+4>>2],a[H+272>>2]=a[re>>2],a[H+276>>2]=j,j=a[ee+12>>2],a[H+264>>2]=a[ee+8>>2],a[H+268>>2]=j,j=a[ee+4>>2],a[H+256>>2]=a[ee>>2],a[H+260>>2]=j,un(v,H+272|0,H+256|0),j=a[H+508>>2],a[ee+8>>2]=a[H+504>>2],a[ee+12>>2]=j,j=a[H+500>>2],a[ee>>2]=a[H+496>>2],a[ee+4>>2]=j,j=a[H+412>>2],a[H+248>>2]=a[H+408>>2],a[H+252>>2]=j,j=a[H+404>>2],a[H+240>>2]=a[H+400>>2],a[H+244>>2]=j,j=a[re+12>>2],a[H+232>>2]=a[re+8>>2],a[H+236>>2]=j,j=a[re+4>>2],a[H+224>>2]=a[re>>2],a[H+228>>2]=j,un(v,H+240|0,H+224|0),j=a[H+508>>2],a[re+8>>2]=a[H+504>>2],a[re+12>>2]=j,j=a[H+500>>2],a[re>>2]=a[H+496>>2],a[re+4>>2]=j,j=a[H+524>>2],a[H+216>>2]=a[H+520>>2],a[H+220>>2]=j,j=a[H+412>>2],a[H+200>>2]=a[H+408>>2],a[H+204>>2]=j,j=a[H+516>>2],a[H+208>>2]=a[H+512>>2],a[H+212>>2]=j,j=a[H+404>>2],a[H+192>>2]=a[H+400>>2],a[H+196>>2]=j,un(v,H+208|0,H+192|0),a[H+412>>2]=Ve^a[H+508>>2],a[H+408>>2]=a[H+504>>2]^Me,a[H+404>>2]=a[H+500>>2]^ye,a[H+400>>2]=a[H+496>>2]^ke,(L=(v=L)+16|0)>>>0<=Q>>>0;);if((L=15&Q)&&(yo((re=H+384|0)|L,0,16-L|0),Di(re,B+v|0,L),L=a[H+384>>2],re=a[H+388>>2],ee=a[H+392>>2],de=a[H+396>>2],v=a[H+492>>2],B=a[H+488>>2],a[H+520>>2]=B,a[H+524>>2]=v,Z=a[H+476>>2],a[H+184>>2]=a[H+472>>2],a[H+188>>2]=Z,a[H+168>>2]=B,a[H+172>>2]=v,v=a[H+484>>2],B=a[H+480>>2],a[H+512>>2]=B,a[H+516>>2]=v,Z=a[H+468>>2],a[H+176>>2]=a[H+464>>2],a[H+180>>2]=Z,a[H+160>>2]=B,a[H+164>>2]=v,un(B=H+496|0,H+176|0,H+160|0),v=a[H+508>>2],a[H+488>>2]=a[H+504>>2],a[H+492>>2]=v,v=a[H+460>>2],a[H+152>>2]=a[H+456>>2],a[H+156>>2]=v,v=a[H+476>>2],a[H+136>>2]=a[H+472>>2],a[H+140>>2]=v,v=a[H+500>>2],a[H+480>>2]=a[H+496>>2],a[H+484>>2]=v,v=a[H+452>>2],a[H+144>>2]=a[H+448>>2],a[H+148>>2]=v,v=a[H+468>>2],a[H+128>>2]=a[H+464>>2],a[H+132>>2]=v,un(B,H+144|0,H+128|0),v=a[H+508>>2],a[H+472>>2]=a[H+504>>2],a[H+476>>2]=v,v=a[H+444>>2],a[H+120>>2]=a[H+440>>2],a[H+124>>2]=v,v=a[H+460>>2],a[H+104>>2]=a[H+456>>2],a[H+108>>2]=v,v=a[H+500>>2],a[H+464>>2]=a[H+496>>2],a[H+468>>2]=v,v=a[H+436>>2],a[H+112>>2]=a[H+432>>2],a[H+116>>2]=v,v=a[H+452>>2],a[H+96>>2]=a[H+448>>2],a[H+100>>2]=v,un(B,H+112|0,H+96|0),v=a[H+508>>2],a[H+456>>2]=a[H+504>>2],a[H+460>>2]=v,v=a[H+428>>2],a[H+88>>2]=a[H+424>>2],a[H+92>>2]=v,v=a[H+444>>2],a[H+72>>2]=a[H+440>>2],a[H+76>>2]=v,v=a[H+500>>2],a[H+448>>2]=a[H+496>>2],a[H+452>>2]=v,v=a[H+420>>2],a[H+80>>2]=a[H+416>>2],a[H+84>>2]=v,v=a[H+436>>2],a[H+64>>2]=a[H+432>>2],a[H+68>>2]=v,un(B,H+80|0,H- -64|0),v=a[H+508>>2],a[H+440>>2]=a[H+504>>2],a[H+444>>2]=v,v=a[H+412>>2],a[H+56>>2]=a[H+408>>2],a[H+60>>2]=v,v=a[H+428>>2],a[H+40>>2]=a[H+424>>2],a[H+44>>2]=v,v=a[H+500>>2],a[H+432>>2]=a[H+496>>2],a[H+436>>2]=v,v=a[H+404>>2],a[H+48>>2]=a[H+400>>2],a[H+52>>2]=v,v=a[H+420>>2],a[H+32>>2]=a[H+416>>2],a[H+36>>2]=v,un(B,H+48|0,H+32|0),v=a[H+508>>2],a[H+424>>2]=a[H+504>>2],a[H+428>>2]=v,v=a[H+524>>2],a[H+24>>2]=a[H+520>>2],a[H+28>>2]=v,v=a[H+412>>2],a[H+8>>2]=a[H+408>>2],a[H+12>>2]=v,v=a[H+500>>2],a[H+416>>2]=a[H+496>>2],a[H+420>>2]=v,v=a[H+516>>2],a[H+16>>2]=a[H+512>>2],a[H+20>>2]=v,v=a[H+404>>2],a[H>>2]=a[H+400>>2],a[H+4>>2]=v,un(B,H+16|0,H),a[H+412>>2]=de^a[H+508>>2],a[H+408>>2]=ee^a[H+504>>2],a[H+404>>2]=re^a[H+500>>2],a[H+400>>2]=L^a[H+496>>2]),re=16,v=0,b>>>0<16)L=0;else for(;jQ(f+v|0,p+v|0,H+400|0),L=re,(re=(v=re)+16|0)>>>0<=b>>>0;);return(B=15&b)&&(yo((v=H+384|0)|B,0,16-B|0),Di(v,p+L|0,B),jQ(p=H+512|0,v,H+400|0),Di(f+L|0,p,B)),wu(c,h,Q,b,H+400|0),Ie=H+528|0,0},function(f,c,h,p,b,B,Q,v,L){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0;var H,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0;if(Ie=H=Ie-544|0,jo(L|=0,v|=0,H+432|0),L=0,Q>>>0<=31)v=0;else for(re=32;XQ(B+L|0,H+432|0),L=v=re,(re=v+32|0)>>>0<=Q>>>0;);if((L=16|v)>>>0<=Q>>>0)for(re=H+448|0,ee=H+464|0,de=H+480|0,Z=H+496|0,we=H+512|0;ke=S[0|(v=B+v|0)]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,ye=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,Me=S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,Ve=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,v=a[we+12>>2],a[H+392>>2]=a[we+8>>2],a[H+396>>2]=v,v=a[we+4>>2],a[H+384>>2]=a[we>>2],a[H+388>>2]=v,v=a[Z+12>>2],a[H+376>>2]=a[Z+8>>2],a[H+380>>2]=v,v=a[Z+4>>2],a[H+368>>2]=a[Z>>2],a[H+372>>2]=v,v=a[we+12>>2],a[H+360>>2]=a[we+8>>2],a[H+364>>2]=v,v=a[we+4>>2],a[H+352>>2]=a[we>>2],a[H+356>>2]=v,un(v=H+528|0,H+368|0,H+352|0),j=a[H+540>>2],a[we+8>>2]=a[H+536>>2],a[we+12>>2]=j,j=a[H+532>>2],a[we>>2]=a[H+528>>2],a[we+4>>2]=j,j=a[de+12>>2],a[H+344>>2]=a[de+8>>2],a[H+348>>2]=j,j=a[de+4>>2],a[H+336>>2]=a[de>>2],a[H+340>>2]=j,j=a[Z+12>>2],a[H+328>>2]=a[Z+8>>2],a[H+332>>2]=j,j=a[Z+4>>2],a[H+320>>2]=a[Z>>2],a[H+324>>2]=j,un(v,H+336|0,H+320|0),j=a[H+540>>2],a[Z+8>>2]=a[H+536>>2],a[Z+12>>2]=j,j=a[H+532>>2],a[Z>>2]=a[H+528>>2],a[Z+4>>2]=j,j=a[ee+12>>2],a[H+312>>2]=a[ee+8>>2],a[H+316>>2]=j,j=a[ee+4>>2],a[H+304>>2]=a[ee>>2],a[H+308>>2]=j,j=a[de+12>>2],a[H+296>>2]=a[de+8>>2],a[H+300>>2]=j,j=a[de+4>>2],a[H+288>>2]=a[de>>2],a[H+292>>2]=j,un(v,H+304|0,H+288|0),j=a[H+540>>2],a[de+8>>2]=a[H+536>>2],a[de+12>>2]=j,j=a[H+532>>2],a[de>>2]=a[H+528>>2],a[de+4>>2]=j,j=a[re+12>>2],a[H+280>>2]=a[re+8>>2],a[H+284>>2]=j,j=a[re+4>>2],a[H+272>>2]=a[re>>2],a[H+276>>2]=j,j=a[ee+12>>2],a[H+264>>2]=a[ee+8>>2],a[H+268>>2]=j,j=a[ee+4>>2],a[H+256>>2]=a[ee>>2],a[H+260>>2]=j,un(v,H+272|0,H+256|0),j=a[H+540>>2],a[ee+8>>2]=a[H+536>>2],a[ee+12>>2]=j,j=a[H+532>>2],a[ee>>2]=a[H+528>>2],a[ee+4>>2]=j,j=a[H+444>>2],a[H+248>>2]=a[H+440>>2],a[H+252>>2]=j,j=a[H+436>>2],a[H+240>>2]=a[H+432>>2],a[H+244>>2]=j,j=a[re+12>>2],a[H+232>>2]=a[re+8>>2],a[H+236>>2]=j,j=a[re+4>>2],a[H+224>>2]=a[re>>2],a[H+228>>2]=j,un(v,H+240|0,H+224|0),j=a[H+540>>2],a[re+8>>2]=a[H+536>>2],a[re+12>>2]=j,j=a[H+532>>2],a[re>>2]=a[H+528>>2],a[re+4>>2]=j,j=a[H+396>>2],a[H+216>>2]=a[H+392>>2],a[H+220>>2]=j,j=a[H+444>>2],a[H+200>>2]=a[H+440>>2],a[H+204>>2]=j,j=a[H+388>>2],a[H+208>>2]=a[H+384>>2],a[H+212>>2]=j,j=a[H+436>>2],a[H+192>>2]=a[H+432>>2],a[H+196>>2]=j,un(v,H+208|0,H+192|0),a[H+444>>2]=Ve^a[H+540>>2],a[H+440>>2]=a[H+536>>2]^Me,a[H+436>>2]=a[H+532>>2]^ye,a[H+432>>2]=a[H+528>>2]^ke,(L=(v=L)+16|0)>>>0<=Q>>>0;);(L=15&Q)&&(yo((re=H+416|0)|L,0,16-L|0),Di(re,B+v|0,L),L=a[H+416>>2],re=a[H+420>>2],ee=a[H+424>>2],de=a[H+428>>2],v=a[H+524>>2],B=a[H+520>>2],a[H+392>>2]=B,a[H+396>>2]=v,Z=a[H+508>>2],a[H+184>>2]=a[H+504>>2],a[H+188>>2]=Z,a[H+168>>2]=B,a[H+172>>2]=v,v=a[H+516>>2],B=a[H+512>>2],a[H+384>>2]=B,a[H+388>>2]=v,Z=a[H+500>>2],a[H+176>>2]=a[H+496>>2],a[H+180>>2]=Z,a[H+160>>2]=B,a[H+164>>2]=v,un(B=H+528|0,H+176|0,H+160|0),v=a[H+540>>2],a[H+520>>2]=a[H+536>>2],a[H+524>>2]=v,v=a[H+492>>2],a[H+152>>2]=a[H+488>>2],a[H+156>>2]=v,v=a[H+508>>2],a[H+136>>2]=a[H+504>>2],a[H+140>>2]=v,v=a[H+532>>2],a[H+512>>2]=a[H+528>>2],a[H+516>>2]=v,v=a[H+484>>2],a[H+144>>2]=a[H+480>>2],a[H+148>>2]=v,v=a[H+500>>2],a[H+128>>2]=a[H+496>>2],a[H+132>>2]=v,un(B,H+144|0,H+128|0),v=a[H+540>>2],a[H+504>>2]=a[H+536>>2],a[H+508>>2]=v,v=a[H+476>>2],a[H+120>>2]=a[H+472>>2],a[H+124>>2]=v,v=a[H+492>>2],a[H+104>>2]=a[H+488>>2],a[H+108>>2]=v,v=a[H+532>>2],a[H+496>>2]=a[H+528>>2],a[H+500>>2]=v,v=a[H+468>>2],a[H+112>>2]=a[H+464>>2],a[H+116>>2]=v,v=a[H+484>>2],a[H+96>>2]=a[H+480>>2],a[H+100>>2]=v,un(B,H+112|0,H+96|0),v=a[H+540>>2],a[H+488>>2]=a[H+536>>2],a[H+492>>2]=v,v=a[H+460>>2],a[H+88>>2]=a[H+456>>2],a[H+92>>2]=v,v=a[H+476>>2],a[H+72>>2]=a[H+472>>2],a[H+76>>2]=v,v=a[H+532>>2],a[H+480>>2]=a[H+528>>2],a[H+484>>2]=v,v=a[H+452>>2],a[H+80>>2]=a[H+448>>2],a[H+84>>2]=v,v=a[H+468>>2],a[H+64>>2]=a[H+464>>2],a[H+68>>2]=v,un(B,H+80|0,H- -64|0),v=a[H+540>>2],a[H+472>>2]=a[H+536>>2],a[H+476>>2]=v,v=a[H+444>>2],a[H+56>>2]=a[H+440>>2],a[H+60>>2]=v,v=a[H+460>>2],a[H+40>>2]=a[H+456>>2],a[H+44>>2]=v,v=a[H+532>>2],a[H+464>>2]=a[H+528>>2],a[H+468>>2]=v,v=a[H+436>>2],a[H+48>>2]=a[H+432>>2],a[H+52>>2]=v,v=a[H+452>>2],a[H+32>>2]=a[H+448>>2],a[H+36>>2]=v,un(B,H+48|0,H+32|0),v=a[H+540>>2],a[H+456>>2]=a[H+536>>2],a[H+460>>2]=v,v=a[H+396>>2],a[H+24>>2]=a[H+392>>2],a[H+28>>2]=v,v=a[H+444>>2],a[H+8>>2]=a[H+440>>2],a[H+12>>2]=v,v=a[H+532>>2],a[H+448>>2]=a[H+528>>2],a[H+452>>2]=v,v=a[H+388>>2],a[H+16>>2]=a[H+384>>2],a[H+20>>2]=v,v=a[H+436>>2],a[H>>2]=a[H+432>>2],a[H+4>>2]=v,un(B,H+16|0,H),a[H+444>>2]=de^a[H+540>>2],a[H+440>>2]=ee^a[H+536>>2],a[H+436>>2]=re^a[H+532>>2],a[H+432>>2]=L^a[H+528>>2]);e:{t:{r:{n:{i:{if(f){if(re=16,h>>>0<16)break i;for(L=0;eH(f+L|0,c+L|0,H+432|0),L=v=re,(re=v+16|0)>>>0<=h>>>0;);}else{if(L=16,h>>>0<16)break r;for(re=0;eH(H+528|0,c+re|0,H+432|0),re=v=L,(L=v+16|0)>>>0<=h>>>0;);}if(!(L=15&h))break e;if(f)break n;break t}if(v=0,!(L=h))break e}tH(f+v|0,c+v|0,L,H+432|0);break e}if(v=0,!(L=h))break e}tH(H+528|0,c+v|0,L,H+432|0)}wu(H+384|0,b,Q,h,H+432|0),v=-1;e:{t:{if(c=b-16|0){if((0|c)==16)break t;break e}v=Te(H+384|0,p);break e}v=eO(H+384|0,p)}return!f|!v||yo(f,0,h),Ie=H+544|0,0|v},function(f,c,h,p,b){var B;return f|=0,p|=0,b|=0,Ie=B=Ie+-64|0,(c|=0)|(h|=0)&&(a[B+8>>2]=2036477234,a[B+12>>2]=1797285236,a[B>>2]=1634760805,a[B+4>>2]=857760878,a[B+16>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[B+20>>2]=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[B+24>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[B+28>>2]=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+32>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+36>>2]=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+40>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,b=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,a[B+48>>2]=0,a[B+52>>2]=0,a[B+44>>2]=b,a[B+56>>2]=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,a[B+60>>2]=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,z5(B,f=yo(f,0,c),f,c,h),bn(B,64)),Ie=B- -64|0,0},function(f,c,h,p,b){var B;return f|=0,p|=0,b|=0,Ie=B=Ie+-64|0,(c|=0)|(h|=0)&&(a[B+8>>2]=2036477234,a[B+12>>2]=1797285236,a[B>>2]=1634760805,a[B+4>>2]=857760878,a[B+16>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[B+20>>2]=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[B+24>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[B+28>>2]=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+32>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+36>>2]=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+40>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,b=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,a[B+48>>2]=0,a[B+44>>2]=b,a[B+52>>2]=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,a[B+56>>2]=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,a[B+60>>2]=S[p+8|0]|S[p+9|0]<<8|S[p+10|0]<<16|S[p+11|0]<<24,z5(B,f=yo(f,0,c),f,c,h),bn(B,64)),Ie=B- -64|0,0},function(f,c,h,p,b,B,Q,v){var L;return f|=0,c|=0,b|=0,B|=0,Q|=0,v|=0,Ie=L=Ie+-64|0,(h|=0)|(p|=0)&&(a[L+8>>2]=2036477234,a[L+12>>2]=1797285236,a[L>>2]=1634760805,a[L+4>>2]=857760878,a[L+16>>2]=S[0|v]|S[v+1|0]<<8|S[v+2|0]<<16|S[v+3|0]<<24,a[L+20>>2]=S[v+4|0]|S[v+5|0]<<8|S[v+6|0]<<16|S[v+7|0]<<24,a[L+24>>2]=S[v+8|0]|S[v+9|0]<<8|S[v+10|0]<<16|S[v+11|0]<<24,a[L+28>>2]=S[v+12|0]|S[v+13|0]<<8|S[v+14|0]<<16|S[v+15|0]<<24,a[L+32>>2]=S[v+16|0]|S[v+17|0]<<8|S[v+18|0]<<16|S[v+19|0]<<24,a[L+36>>2]=S[v+20|0]|S[v+21|0]<<8|S[v+22|0]<<16|S[v+23|0]<<24,a[L+40>>2]=S[v+24|0]|S[v+25|0]<<8|S[v+26|0]<<16|S[v+27|0]<<24,a[L+44>>2]=S[v+28|0]|S[v+29|0]<<8|S[v+30|0]<<16|S[v+31|0]<<24,a[L+48>>2]=B,a[L+52>>2]=Q,a[L+56>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[L+60>>2]=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,z5(L,c,f,h,p),bn(L,64)),Ie=L- -64|0,0},function(f,c,h,p,b,B,Q){var v;return f|=0,c|=0,b|=0,B|=0,Q|=0,Ie=v=Ie+-64|0,(h|=0)|(p|=0)&&(a[v+8>>2]=2036477234,a[v+12>>2]=1797285236,a[v>>2]=1634760805,a[v+4>>2]=857760878,a[v+16>>2]=S[0|Q]|S[Q+1|0]<<8|S[Q+2|0]<<16|S[Q+3|0]<<24,a[v+20>>2]=S[Q+4|0]|S[Q+5|0]<<8|S[Q+6|0]<<16|S[Q+7|0]<<24,a[v+24>>2]=S[Q+8|0]|S[Q+9|0]<<8|S[Q+10|0]<<16|S[Q+11|0]<<24,a[v+28>>2]=S[Q+12|0]|S[Q+13|0]<<8|S[Q+14|0]<<16|S[Q+15|0]<<24,a[v+32>>2]=S[Q+16|0]|S[Q+17|0]<<8|S[Q+18|0]<<16|S[Q+19|0]<<24,a[v+36>>2]=S[Q+20|0]|S[Q+21|0]<<8|S[Q+22|0]<<16|S[Q+23|0]<<24,a[v+40>>2]=S[Q+24|0]|S[Q+25|0]<<8|S[Q+26|0]<<16|S[Q+27|0]<<24,Q=S[Q+28|0]|S[Q+29|0]<<8|S[Q+30|0]<<16|S[Q+31|0]<<24,a[v+48>>2]=B,a[v+44>>2]=Q,a[v+52>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[v+56>>2]=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[v+60>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,z5(v,c,f,h,p),bn(v,64)),Ie=v- -64|0,0}],TM.grow=function(f){var c=this.length;return this.length=this.length+f,c},TM.set=function(f,c){this[f]=c},TM.get=function(f){return this[f]},TM);function LBe(){return Pr.byteLength/65536|0}return{e:Object.create(Object.prototype,{grow:{value:function(f){f|=0;var c=0|LBe(),h=c+f|0;if(c<h&&h<65536){var p=new ArrayBuffer(Lr(h,65536));new Int8Array(p).set(k),k=new Int8Array(p),new Int16Array(p),a=new Int32Array(p),S=new Uint8Array(p),new Uint16Array(p),sn=new Uint32Array(p),new Float32Array(p),new Float64Array(p),Pr=p,Je=S}return c}},buffer:{get:function(){return Pr}}}),f:function(){},g:ta,h:pp,i:ta,j:Ai,k:MBe,l:CBe,m:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|TTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,H|=0,j|=0,36768)},n:function(f,c,h,p,b,B,Q,v,L,H,j,re){return 0|HTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,j|=0,re|=0,36768)},o:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|CTe(f|=0,c|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0,j|=0,36772)},p:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|JTe(f|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0,j|=0,36772)},q:Ai,r:pp,s:Ai,t:Ai,u:MBe,v:Wu,w:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|TTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,H|=0,j|=0,36776)},x:function(f,c,h,p,b,B,Q,v,L,H,j,re){return 0|HTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,j|=0,re|=0,36776)},y:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|CTe(f|=0,c|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0,j|=0,36780)},z:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|JTe(f|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0,j|=0,36780)},A:pp,B:function(f,c,h,p,b,B,Q,v,L,H,j,re){return 0|vTe(f|=0,c|=0,h|=0,p|=0,(f=0)|(b|=0),B|=0,Q|=0,f|(v|=0),L|=0,j|=0,re|=0)},C:function(f,c,h,p,b,B,Q,v,L,H,j){return f|=0,c|=0,p|=0,Q|=0,L|=0,Q|=L=0,!(b|=0)&(p|=L)>>>0<4294967280?(vTe(f,f+p|0,0,h|=0,p,b,B|=0,Q,v|=0,H|=0,j|=0),c&&(b=(f=p+16|0)>>>0<16?b+1|0:b,a[c>>2]=f,a[c+4>>2]=b)):(Bs(),Rr()),0},D:function(f,c,h,p,b,B,Q,v,L,H,j,re){return 0|ETe(f|=0,c|=0,h|=0,p|=0,(f=0)|(b|=0),B|=0,Q|=0,f|(v|=0),L|=0,j|=0,re|=0)},E:function(f,c,h,p,b,B,Q,v,L,H,j){return f|=0,c|=0,p|=0,Q|=0,L|=0,Q|=L=0,!(b|=0)&(p|=L)>>>0<4294967280?(ETe(f,f+p|0,0,h|=0,p,b,B|=0,Q,v|=0,H|=0,j|=0),c&&(b=(f=p+16|0)>>>0<16?b+1|0:b,a[c>>2]=f,a[c+4>>2]=b)):(Bs(),Rr()),0},F:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|bTe(f|=0,h|=0,(f=0)|(p|=0),b|=0,B|=0,Q|=0,f|(v|=0),L|=0,H|=0,j|=0)},G:function(f,c,h,p,b,B,Q,v,L,H,j){return c|=0,h|=0,p|=0,b|=0,v|=0,v|=0,h=-1,!(B|=0)&(b|=0)>>>0>=16|B&&(h=bTe(f|=0,p,b-16|0,B-(b>>>0<16)|0,(p+b|0)-16|0,Q|=0,v,L|=0,H|=0,j|=0)),c&&(a[c>>2]=h?0:b-16|0,a[c+4>>2]=h?0:B-(b>>>0<16)|0),0|h},H:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|_Te(f|=0,h|=0,(f=0)|(p|=0),b|=0,B|=0,Q|=0,f|(v|=0),L|=0,H|=0,j|=0)},I:function(f,c,h,p,b,B,Q,v,L,H,j){return c|=0,h|=0,p|=0,b|=0,v|=0,v|=0,h=-1,!(B|=0)&(b|=0)>>>0>=16|B&&(h=_Te(f|=0,p,b-16|0,B-(b>>>0<16)|0,(p+b|0)-16|0,Q|=0,v,L|=0,H|=0,j|=0)),c&&(a[c>>2]=h?0:b-16|0,a[c+4>>2]=h?0:B-(b>>>0<16)|0),0|h},J:Ai,K:kBe,L:pp,M:ta,N:hv,O:Wu,P:Ai,Q:Dy,R:pp,S:ta,T:hv,U:Wu,V:function(f,c,h,p,b,B,Q,v,L,H,j,re){return 0|on(f|=0,c|=0,h|=0,p|=0,(f=0)|(b|=0),B|=0,Q|=0,f|(v|=0),L|=0,j|=0,re|=0)},W:function(f,c,h,p,b,B,Q,v,L,H,j){return f|=0,c|=0,p|=0,Q|=0,L|=0,Q|=L=0,!(b|=0)&(p|=L)>>>0<4294967280?(on(f,f+p|0,0,h|=0,p,b,B|=0,Q,v|=0,H|=0,j|=0),c&&(b=(f=p+16|0)>>>0<16?b+1|0:b,a[c>>2]=f,a[c+4>>2]=b)):(Bs(),Rr()),0},X:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|wr(f|=0,h|=0,(f=0)|(p|=0),b|=0,B|=0,Q|=0,f|(v|=0),L|=0,H|=0,j|=0)},Y:function(f,c,h,p,b,B,Q,v,L,H,j){return c|=0,h|=0,p|=0,b|=0,v|=0,v|=0,h=-1,!(B|=0)&(b|=0)>>>0>=16|B&&(h=wr(f|=0,p,b-16|0,B-(b>>>0<16)|0,(p+b|0)-16|0,Q|=0,v,L|=0,H|=0,j|=0)),c&&(a[c>>2]=h?0:b-16|0,a[c+4>>2]=h?0:B-(b>>>0<16)|0),0|h},Z:Ai,_:tm,$:pp,aa:ta,ba:hv,ca:Wu,da:Ai,ea:Ai,fa:function(){return 1462},ga:Oe,ha:yTe,ia:Wu,ja:Ai,ka:Ai,la:NM,ma:Wu,na:My,oa:function(f,c,h,p){return 0|em(f|=0,c|=0,h|=0,p|=0)},pa:j5,qa:function(f,c,h,p,b){var B;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-240|0,My(B,b|=0,32),w1(B,c,h,p),W2(B,c=B+208|0),w1(h=B+104|0,c,32,0),W2(h,f),bn(c,32),Ie=B+240|0,0},ra:function(f,c,h,p,b){var B,Q;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-272|0,My(Q=B+32|0,b|=0,32),w1(Q,c,h,p),W2(Q,c=B+240|0),w1(h=B+136|0,c,32,0),W2(h,B),bn(c,32),c=eO(f,B),h=Ul(B,f,32),Ie=B+272|0,((0|f)==(0|B)?-1:c)|h},sa:ed,ta:Ai,ua:Xre,va:Wu,wa:Z2,xa:lBe,ya:JS,za:function(f,c,h,p,b){var B;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-480|0,Z2(B,b|=0,32),L0(B,c,h,p),Ah(B,c=B+416|0),L0(h=B+208|0,c,64,0),Ah(h,f),bn(c,64),Ie=B+480|0,0},Aa:function(f,c,h,p,b){var B,Q;return f|=0,c|=0,h|=0,p|=0,Ie=B=Ie-544|0,Z2(Q=B- -64|0,b|=0,32),L0(Q,c,h,p),Ah(Q,c=B+480|0),L0(h=B+272|0,c,64,0),Ah(h,B),bn(c,64),c=pBe(f,B),h=Ul(B,f,64),Ie=B+544|0,((0|f)==(0|B)?-1:c)|h},Ba:Ai,Ca:Ai,Da:Xre,Ea:Wu,Fa:hBe,Ga:lBe,Ha:function(f,c){c|=0;var h,p=0;return Ie=h=Ie+-64|0,JS(f|=0,h),p=a[h+28>>2],f=a[h+24>>2],k[c+24|0]=f,k[c+25|0]=f>>>8,k[c+26|0]=f>>>16,k[c+27|0]=f>>>24,k[c+28|0]=p,k[c+29|0]=p>>>8,k[c+30|0]=p>>>16,k[c+31|0]=p>>>24,p=a[h+20>>2],f=a[h+16>>2],k[c+16|0]=f,k[c+17|0]=f>>>8,k[c+18|0]=f>>>16,k[c+19|0]=f>>>24,k[c+20|0]=p,k[c+21|0]=p>>>8,k[c+22|0]=p>>>16,k[c+23|0]=p>>>24,p=a[h+12>>2],f=a[h+8>>2],k[c+8|0]=f,k[c+9|0]=f>>>8,k[c+10|0]=f>>>16,k[c+11|0]=f>>>24,k[c+12|0]=p,k[c+13|0]=p>>>8,k[c+14|0]=p>>>16,k[c+15|0]=p>>>24,p=a[h+4>>2],f=a[h>>2],k[0|c]=f,k[c+1|0]=f>>>8,k[c+2|0]=f>>>16,k[c+3|0]=f>>>24,k[c+4|0]=p,k[c+5|0]=p>>>8,k[c+6|0]=p>>>16,k[c+7|0]=p>>>24,Ie=h- -64|0,0},Ia:Oe,Ja:yTe,Ka:Ai,La:Ai,Ma:Ai,Na:Ai,Oa:tm,Pa:Ai,Qa:ta,Ra:ta,Sa:hv,Ta:function(){return 1476},Ua:function(f,c,h){return 0|He(f|=0,c|=0,h|=0)},Va:_Be,Wa:OM,Xa:TH,Ya:BH,Za:kTe,_a:PTe,$a:ZTe,ab:function(f,c,h,p,b,B,Q,v){f|=0,c|=0,h|=0,B|=0;var L,H=0;return H=p|=0,p=b|=0,L=0|H,Ie=H=Ie-32|0,b=-1,OM(H,Q|=0,v|=0)||(b=Pe(f,c,h,L,p,B,H),bn(H,32)),Ie=H+32|0,0|b},bb:function(f,c,h,p,b,B){return f|=0,c|=0,b|=0,B|=0,!(p|=0)&(h|=0)>>>0>=4294967280|p&&(Bs(),Rr()),0|Pe(f+16|0,f,c,h,p,b,B)},cb:function(f,c,h,p,b,B,Q){return 0|GTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},db:jTe,eb:function(f,c,h,p,b,B,Q,v){f|=0,c|=0,h|=0,B|=0;var L,H=0;return H=p|=0,p=b|=0,L=0|H,Ie=H=Ie-32|0,b=-1,OM(H,Q|=0,v|=0)||(b=vt(f,c,h,L,p,B,H),bn(H,32)),Ie=H+32|0,0|b},fb:qTe,gb:function(f,c,h,p,b,B,Q){return 0|FTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},hb:function(f,c,h,p,b){f|=0,c|=0,b|=0;var B,Q,v,L,H=0,j=0;return H=h|=0,h=p|=0,L=0|H,H=p=Ie,Ie=B=p-512&-64,p=-1,_Be(Q=B- -64|0,v=B+32|0)||(T8(p=B+128|0,0,0,24),ph(p,Q,32,0),ph(p,b,32,0),B8(p,j=B+96|0,24),p=GTe(f+32|0,c,L,h,j,b,v),c=a[B+92>>2],h=a[B+88>>2],k[f+24|0]=h,k[f+25|0]=h>>>8,k[f+26|0]=h>>>16,k[f+27|0]=h>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[B+84>>2],h=a[B+80>>2],k[f+16|0]=h,k[f+17|0]=h>>>8,k[f+18|0]=h>>>16,k[f+19|0]=h>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[B+76>>2],h=a[B+72>>2],k[f+8|0]=h,k[f+9|0]=h>>>8,k[f+10|0]=h>>>16,k[f+11|0]=h>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[B+68>>2],h=a[B+64>>2],k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,bn(v,32),bn(Q,32),bn(j,24)),Ie=H,0|p},ib:function(f,c,h,p,b,B){f|=0,c|=0,b|=0,B|=0;var Q,v,L=0;return v=L=Ie,Ie=Q=L-448&-64,L=-1,!(p|=0)&(h|=0)>>>0>=48|p&&(T8(L=Q- -64|0,0,0,24),ph(L,c,32,0),ph(L,b,32,0),B8(L,b=Q+32|0,24),L=FTe(f,c+32|0,h-32|0,p-(h>>>0<32)|0,b,c,B)),Ie=v,0|L},jb:DBe,kb:He,lb:DH,mb:zTe,nb:TH,ob:BH,pb:kTe,qb:PTe,rb:Ai,sb:Ai,tb:Ai,ub:Ai,vb:tm,wb:Ai,xb:ta,yb:ta,zb:hv,Ab:Ll,Bb:Ai,Cb:ta,Db:Ai,Eb:ta,Fb:$2,Gb:Ai,Hb:ta,Ib:Ai,Jb:ta,Kb:SM,Lb:ed,Mb:ta,Nb:Ai,Ob:ta,Pb:IM,Qb:ed,Rb:ta,Sb:Ai,Tb:ta,Ub:CM,Vb:ed,Wb:ta,Xb:Ai,Yb:ta,Zb:ta,_b:ed,$b:Ai,ac:ta,bc:ed,cc:Ai,dc:NBe,ec:xBe,fc:function(f,c,h,p,b,B,Q){return 0|zre(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},gc:T8,hc:function(f,c,h,p){return 0|ph(f|=0,c|=0,h|=0,p|=0)},ic:B8,jc:Wu,kc:ta,lc:ed,mc:Ai,nc:ta,oc:ed,pc:Ai,qc:ta,rc:ta,sc:xBe,tc:Wu,uc:zre,vc:function(f,c,h,p,b,B,Q,v,L){return 0|oH(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0)},wc:C8,xc:function(f,c,h,p,b,B){f|=0,c|=0,b|=0,B|=0;var Q=0,v=0,L=0,H=0,j=0,re=0,Z=0;if(Q=-1,!((p|=0)-65>>>0<4294967232|(h|=0)>>>0>64)){e:{if(!h||!c){if(((H=255&p)-65&255)>>>0>191){b?(v=725511199^(S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24),h=-1694144372^(S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24),c=-1377402159^(S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),b=1359893119^(S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24)):(v=725511199,h=-1694144372,c=-1377402159,b=1359893119),B?(L=327033209^(S[B+8|0]|S[B+9|0]<<8|S[B+10|0]<<16|S[B+11|0]<<24),p=1541459225^(S[B+12|0]|S[B+13|0]<<8|S[B+14|0]<<16|S[B+15|0]<<24),Q=-79577749^(S[0|B]|S[B+1|0]<<8|S[B+2|0]<<16|S[B+3|0]<<24),B=528734635^(S[B+4|0]|S[B+5|0]<<8|S[B+6|0]<<16|S[B+7|0]<<24)):(L=327033209,p=1541459225,Q=-79577749,B=528734635),yo(f- -64|0,0,293),k[f+56|0]=L,k[f+57|0]=L>>>8,k[f+58|0]=L>>>16,k[f+59|0]=L>>>24,k[f+60|0]=p,k[f+61|0]=p>>>8,k[f+62|0]=p>>>16,k[f+63|0]=p>>>24,k[f+48|0]=Q,k[f+49|0]=Q>>>8,k[f+50|0]=Q>>>16,k[f+51|0]=Q>>>24,k[f+52|0]=B,k[f+53|0]=B>>>8,k[f+54|0]=B>>>16,k[f+55|0]=B>>>24,k[f+40|0]=v,k[f+41|0]=v>>>8,k[f+42|0]=v>>>16,k[f+43|0]=v>>>24,k[f+44|0]=h,k[f+45|0]=h>>>8,k[f+46|0]=h>>>16,k[f+47|0]=h>>>24,k[f+32|0]=c,k[f+33|0]=c>>>8,k[f+34|0]=c>>>16,k[f+35|0]=c>>>24,k[f+36|0]=b,k[f+37|0]=b>>>8,k[f+38|0]=b>>>16,k[f+39|0]=b>>>24,k[f+24|0]=241,k[f+25|0]=54,k[f+26|0]=29,k[f+27|0]=95,k[f+28|0]=58,k[f+29|0]=245,k[f+30|0]=79,k[f+31|0]=165,k[f+16|0]=43,k[f+17|0]=248,k[f+18|0]=148,k[f+19|0]=254,k[f+20|0]=114,k[f+21|0]=243,k[f+22|0]=110,k[f+23|0]=60,k[f+8|0]=59,k[f+9|0]=167,k[f+10|0]=202,k[f+11|0]=132,k[f+12|0]=133,k[f+13|0]=174,k[f+14|0]=103,k[f+15|0]=187,c=-222443256^H,k[0|f]=c,k[f+1|0]=c>>>8,k[f+2|0]=c>>>16,k[f+3|0]=c>>>24,k[f+4|0]=103,k[f+5|0]=230,k[f+6|0]=9,k[f+7|0]=106;break e}Bs(),Rr()}Ie=re=Ie-128|0,!c|((Z=255&p)-65&255)>>>0<=191|((H=255&h)-65&255)>>>0<=191?(Bs(),Rr()):(b?(v=725511199^(S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24),h=-1694144372^(S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24),Q=-1377402159^(S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),b=1359893119^(S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24)):(v=725511199,h=-1694144372,Q=-1377402159,b=1359893119),B?(L=327033209^(S[B+8|0]|S[B+9|0]<<8|S[B+10|0]<<16|S[B+11|0]<<24),p=1541459225^(S[B+12|0]|S[B+13|0]<<8|S[B+14|0]<<16|S[B+15|0]<<24),j=-79577749^(S[0|B]|S[B+1|0]<<8|S[B+2|0]<<16|S[B+3|0]<<24),B=528734635^(S[B+4|0]|S[B+5|0]<<8|S[B+6|0]<<16|S[B+7|0]<<24)):(L=327033209,p=1541459225,j=-79577749,B=528734635),yo(f- -64|0,0,293),k[f+56|0]=L,k[f+57|0]=L>>>8,k[f+58|0]=L>>>16,k[f+59|0]=L>>>24,k[f+60|0]=p,k[f+61|0]=p>>>8,k[f+62|0]=p>>>16,k[f+63|0]=p>>>24,k[f+48|0]=j,k[f+49|0]=j>>>8,k[f+50|0]=j>>>16,k[f+51|0]=j>>>24,k[f+52|0]=B,k[f+53|0]=B>>>8,k[f+54|0]=B>>>16,k[f+55|0]=B>>>24,k[f+40|0]=v,k[f+41|0]=v>>>8,k[f+42|0]=v>>>16,k[f+43|0]=v>>>24,k[f+44|0]=h,k[f+45|0]=h>>>8,k[f+46|0]=h>>>16,k[f+47|0]=h>>>24,k[f+32|0]=Q,k[f+33|0]=Q>>>8,k[f+34|0]=Q>>>16,k[f+35|0]=Q>>>24,k[f+36|0]=b,k[f+37|0]=b>>>8,k[f+38|0]=b>>>16,k[f+39|0]=b>>>24,k[f+24|0]=241,k[f+25|0]=54,k[f+26|0]=29,k[f+27|0]=95,k[f+28|0]=58,k[f+29|0]=245,k[f+30|0]=79,k[f+31|0]=165,k[f+16|0]=43,k[f+17|0]=248,k[f+18|0]=148,k[f+19|0]=254,k[f+20|0]=114,k[f+21|0]=243,k[f+22|0]=110,k[f+23|0]=60,k[f+8|0]=59,k[f+9|0]=167,k[f+10|0]=202,k[f+11|0]=132,k[f+12|0]=133,k[f+13|0]=174,k[f+14|0]=103,k[f+15|0]=187,h=-222443256^(H<<8|Z),k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,h=H>>>24^1779033703,k[f+4|0]=h,k[f+5|0]=h>>>8,k[f+6|0]=h>>>16,k[f+7|0]=h>>>24,h=Di(yo(re,0,128),c,H),Di(f+96|0,h,128),c=128+(S[f+352|0]|S[f+353|0]<<8|S[f+354|0]<<16|S[f+355|0]<<24)|0,k[f+352|0]=c,k[f+353|0]=c>>>8,k[f+354|0]=c>>>16,k[f+355|0]=c>>>24,bn(h,128),Ie=h+128|0)}Q=0}return 0|Q},yc:ph,zc:vM,Ac:ed,Bc:dBe,Cc:function(){return 1531},Dc:Ai,Ec:function(){return 104},Fc:CH,Gc:function(f,c,h,p){return 0|w1(f|=0,c|=0,h|=0,p|=0)},Hc:W2,Ic:function(f,c,h,p){f|=0,c|=0,h|=0,p|=0;var b,B=0;return Ie=b=Ie-112|0,B=a[8811],a[b+16>>2]=a[8810],a[b+20>>2]=B,B=a[8813],a[b+24>>2]=a[8812],a[b+28>>2]=B,B=a[8815],a[b+32>>2]=a[8814],a[b+36>>2]=B,a[b+40>>2]=0,a[b+44>>2]=0,B=a[8809],a[b+8>>2]=a[8808],a[b+12>>2]=B,w1(B=b+8|0,c,h,p),W2(B,f),Ie=b+112|0,0},Jc:ed,Kc:NM,Lc:qi,Mc:Gre,Nc:Ah,Oc:dBe,Pc:ta,Qc:ed,Rc:Dy,Sc:Ai,Tc:mTe,Uc:NBe,Vc:ta,Wc:ed,Xc:Dy,Yc:Ai,Zc:mTe,_c:Wu,$c:function(f,c,h){return 0|My(f|=0,c|=0,h|=0)},ad:function(f,c,h){return 0|em(f|=0,c|=0,h|=0,0)},bd:function(f,c){return j5(f|=0,c|=0),bn(f,4),0},cd:function(f,c,h,p,b){var B;return f|=0,p|=0,b|=0,Ie=B=Ie-208|0,My(B,c|=0,h|=0),em(B,p,b,0),j5(B,f),bn(B,4),Ie=B+208|0,0},dd:Wu,ed:function(f,c,h,p,b){f|=0,c|=0,h|=0,p|=0,b|=0;var B,Q=0,v=0,L=0,H=0;if(Ie=B=Ie-256|0,k[B+15|0]=1,c>>>0<=8160){if(c>>>0>=32)for(H=f-32|0,Q=32;L=Q,My(Q=B+48|0,b,32),v&&em(Q,v+H|0,32,0),em(Q=B+48|0,h,p,0),em(Q,B+15|0,1,0),j5(Q,f+v|0),k[B+15|0]=S[B+15|0]+1,(Q=(v=L)+32|0)>>>0<=c>>>0;);(v=31&c)&&(My(c=B+48|0,b,32),L&&em(c,(f+L|0)-32|0,32,0),em(c=B+48|0,h,p,0),em(c,B+15|0,1,0),j5(h=c,c=B+16|0),Di(f+L|0,c,v),bn(c,32)),bn(B+48|0,208),f=0}else a[9404]=28,f=-1;return Ie=B+256|0,0|f},fd:Ai,gd:pp,hd:function(){return 8160},id:NM,jd:hBe,kd:function(f,c,h){return 0|j2(f|=0,c|=0,h|=0,0)},ld:function(f,c){return JS(f|=0,c|=0),bn(f,4),0},md:function(f,c,h,p,b){var B;return f|=0,p|=0,b|=0,Ie=B=Ie-416|0,Z2(B,c|=0,h|=0),j2(B,p,b,0),JS(B,f),bn(B,4),Ie=B+416|0,0},nd:function(f){wf(f|=0,64)},od:function(f,c,h,p,b){f|=0,c|=0,h|=0,p|=0,b|=0;var B,Q=0,v=0,L=0,H=0;if(Ie=B=Ie-496|0,k[B+15|0]=1,c>>>0<=16320){if(c>>>0>=64)for(H=f+-64|0,Q=64;L=Q,Z2(Q=B+80|0,b,64),v&&j2(Q,v+H|0,64,0),j2(Q=B+80|0,h,p,0),j2(Q,B+15|0,1,0),JS(Q,f+v|0),k[B+15|0]=S[B+15|0]+1,(Q=(v=L)- -64|0)>>>0<=c>>>0;);(v=63&c)&&(Z2(c=B+80|0,b,64),L&&j2(c,(f+L|0)-64|0,64,0),j2(c=B+80|0,h,p,0),j2(c,B+15|0,1,0),JS(h=c,c=B+16|0),Di(f+L|0,c,v),bn(c,64)),bn(B+80|0,416),f=0}else a[9404]=28,f=-1;return Ie=B+496|0,0|f},pd:ed,qd:pp,rd:function(){return 16320},sd:Xre,td:function(f,c,h){return f|=0,zre(c|=0,32,h|=0,32,0,0,0),0|Kre(f,c)},ud:function(f,c){return f|=0,wf(c|=0,32),0|Kre(f,c)},vd:function(f,c,h,p,b){c|=0,h|=0,p|=0,b|=0;var B,Q,v=0,L=0,H=0;if(Q=v=Ie,Ie=v=v-512&-64,B=(f|=0)||c){if(H=-1,!Vre(L=v+96|0,p,b)){for(p=c||f,f=0,T8(c=v+128|0,0,0,64),ph(c,L,32,0),bn(L,32),ph(c,h,32,0),ph(c,b,32,0),B8(c,v+32|0,64),bn(c,384);h=(c=v+32|0)+f|0,k[f+B|0]=S[0|h],k[f+p|0]=S[h+32|0],k[(h=1|f)+B|0]=S[c+h|0],k[h+p|0]=S[c+(33|f)|0],(0|(f=f+2|0))!=32;);bn(c,64),H=0}return Ie=Q,0|H}Bs(),Rr()},wd:function(f,c,h,p,b){c|=0,h|=0,p|=0,b|=0;var B,Q,v=0,L=0,H=0;if(Q=v=Ie,Ie=v=v-512&-64,B=(f|=0)||c){if(H=-1,!Vre(L=v+96|0,p,b)){for(p=c||f,f=0,T8(c=v+128|0,0,0,64),ph(c,L,32,0),bn(L,32),ph(c,b,32,0),ph(c,h,32,0),B8(c,v+32|0,64),bn(c,384);h=(c=v+32|0)+f|0,k[f+p|0]=S[0|h],k[f+B|0]=S[h+32|0],k[(h=1|f)+p|0]=S[c+h|0],k[h+B|0]=S[c+(33|f)|0],(0|(f=f+2|0))!=32;);bn(c,64),H=0}return Ie=Q,0|H}Bs(),Rr()},xd:Ai,yd:Ai,zd:Ai,Ad:Ai,Bd:function(){return 1332},Cd:TBe,Dd:ta,Ed:Ai,Fd:aBe,Gd:sBe,Hd:function(f,c){return 0|Sg(f|=0,c|=0)},Id:fBe,Jd:function(f,c){return 0|Ig(f|=0,c|=0)},Kd:function(){return 1494},Ld:Wu,Md:aBe,Nd:sBe,Od:Sg,Pd:fBe,Qd:Ig,Rd:ta,Sd:Ai,Td:TBe,Ud:Wu,Vd:xM,Wd:ta,Xd:Id,Yd:pp,Zd:Id,_d:ta,$d:Zre,ae:function(){return 1554},be:UH,ce:Id,de:Wre,ee:$re,fe:jre,ge:SBe,he:function(){return 6},ie:function(){return 134217728},je:Dy,ke:function(){return 536870912},le:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|tt(f|=0,(f=0)|(c|=0),h|=0,p|=0,f|(b|=0),B|=0,Q|=0,f|(v|=0),L|=0,H|=0,j|=0)},me:function(f,c,h,p,b,B,Q){return 0|NTe(f|=0,c|=0,(f=0)|(h|=0),p|=0,f|(b|=0),B|=0,Q|=0)},ne:function(f,c,h,p){return 0|mBe(f|=0,c|=0,h|=0,p|=0)},oe:function(f,c,h,p){return 0|yBe(f|=0,c|=0,h|=0,p|=0)},pe:function(f,c,h,p){return 0|bBe(f|=0,c|=0,h|=0,p|=0)},qe:M8,re:ta,se:Id,te:pp,ue:Id,ve:ta,we:Zre,xe:OBe,ye:xM,ze:Id,Ae:Wre,Be:$re,Ce:M8,De:IBe,Ee:UH,Fe:RBe,Ge:jre,He:Yre,Ie:function(f,c,h,p,b,B,Q,v,L,H,j){return 0|sr(f|=0,(f=0)|(c|=0),h|=0,p|=0,f|(b|=0),B|=0,Q|=0,f|(v|=0),L|=0,H|=0,j|=0)},Je:$Te,Ke:function(f,c,h,p){return 0|EBe(f|=0,c|=0,h|=0,p|=0)},Le:xM,Me:M8,Ne:M8,Oe:ta,Pe:Id,Qe:pp,Re:Id,Se:ta,Te:Zre,Ue:OBe,Ve:xM,We:Id,Xe:Wre,Ye:$re,Ze:M8,_e:IBe,$e:UH,af:RBe,bf:jre,cf:Yre,df:function(f,c,h,p,b,B,Q,v,L,H,j){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0,c|=0,b|=0,v|=0;e:{switch((j|=0)-1|0){case 0:f=tt(f,c,h,p,b,B,Q,v,L,H,1);break e;case 1:f=sr(f,c,h,p,b,B,Q,v,L,H,2);break e}a[9404]=28,f=-1}return 0|f},ef:$Te,ff:function(f,c,h,p,b,B,Q,v){f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,h|=0,b|=0;e:{switch((v|=0)-1|0){case 1:f=MTe(f,c,h,p,b,B,Q);break e;default:Bs(),Rr();case 0:}f=NTe(f,c,h,p,b,B,Q)}return 0|f},gf:function(f,c,h,p){return c|=0,h|=0,p|=0,W5(f|=0,1564,10)?W5(f,1554,9)?(a[9404]=28,f=-1):f=mBe(f,c,h,p):f=EBe(f,c,h,p),0|f},hf:function(f,c,h,p){return c|=0,h|=0,p|=0,W5(f|=0,1564,10)?W5(f,1554,9)?(a[9404]=28,f=-1):f=yBe(f,c,h,p):f=bBe(f,c,h,p),0|f},jf:function(){return 1156},kf:function(){return 1443},lf:Kre,mf:Vre,nf:Ai,of:Ai,pf:vg,qf:PH,rf:Ai,sf:Ai,tf:Ai,uf:tm,vf:Ai,wf:ta,xf:ta,yf:hv,zf:function(){return 1486},Af:TH,Bf:BH,Cf:Wu,Df:ZTe,Ef:function(f,c,h,p,b,B){return f|=0,c|=0,b|=0,B|=0,!(p|=0)&(h|=0)>>>0>=4294967280|p&&(Bs(),Rr()),Pe(f+16|0,f,c,h,p,b,B),0},Ff:jTe,Gf:qTe,Hf:TH,If:BH,Jf:Ai,Kf:tm,Lf:Ai,Mf:ta,Nf:ta,Of:hv,Pf:Wu,Qf:Wu,Rf:function(f,c,h){return f|=0,h|=0,wf(c|=0,24),Ll(f,c,h,0),k[f+32|0]=1,k[f+33|0]=0,k[f+34|0]=0,k[f+35|0]=0,h=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,c=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,k[f+44|0]=0,k[f+45|0]=0,k[f+46|0]=0,k[f+47|0]=0,k[f+48|0]=0,k[f+49|0]=0,k[f+50|0]=0,k[f+51|0]=0,k[f+36|0]=h,k[f+37|0]=h>>>8,k[f+38|0]=h>>>16,k[f+39|0]=h>>>24,k[f+40|0]=c,k[f+41|0]=c>>>8,k[f+42|0]=c>>>16,k[f+43|0]=c>>>24,0},Sf:function(f,c,h){return Ll(f|=0,c|=0,h|=0,0),k[f+32|0]=1,k[f+33|0]=0,k[f+34|0]=0,k[f+35|0]=0,h=S[c+16|0]|S[c+17|0]<<8|S[c+18|0]<<16|S[c+19|0]<<24,c=S[c+20|0]|S[c+21|0]<<8|S[c+22|0]<<16|S[c+23|0]<<24,k[f+44|0]=0,k[f+45|0]=0,k[f+46|0]=0,k[f+47|0]=0,k[f+48|0]=0,k[f+49|0]=0,k[f+50|0]=0,k[f+51|0]=0,k[f+36|0]=h,k[f+37|0]=h>>>8,k[f+38|0]=h>>>16,k[f+39|0]=h>>>24,k[f+40|0]=c,k[f+41|0]=c>>>8,k[f+42|0]=c>>>16,k[f+43|0]=c>>>24,0},Tf:function(f){var c,h=0,p=0;Ie=c=Ie-48|0,h=S[28+(f|=0)|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,a[c+24>>2]=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,a[c+28>>2]=h,h=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,a[c+16>>2]=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,a[c+20>>2]=h,h=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,a[c>>2]=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,a[c+4>>2]=h,h=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,a[c+8>>2]=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,a[c+12>>2]=h,h=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24,a[c+32>>2]=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,a[c+36>>2]=h,NH(c,c,40,0,f+32|0,f),h=a[c+28>>2],p=a[c+24>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=h,k[f+29|0]=h>>>8,k[f+30|0]=h>>>16,k[f+31|0]=h>>>24,h=a[c+20>>2],p=a[c+16>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=h,k[f+21|0]=h>>>8,k[f+22|0]=h>>>16,k[f+23|0]=h>>>24,h=a[c+12>>2],p=a[c+8>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=h,k[f+13|0]=h>>>8,k[f+14|0]=h>>>16,k[f+15|0]=h>>>24,h=a[c+4>>2],p=a[c>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=h,k[f+5|0]=h>>>8,k[f+6|0]=h>>>16,k[f+7|0]=h>>>24,p=a[c+36>>2],h=a[c+32>>2],k[f+32|0]=1,k[f+33|0]=0,k[f+34|0]=0,k[f+35|0]=0,k[f+36|0]=h,k[f+37|0]=h>>>8,k[f+38|0]=h>>>16,k[f+39|0]=h>>>24,k[f+40|0]=p,k[f+41|0]=p>>>8,k[f+42|0]=p>>>16,k[f+43|0]=p>>>24,Ie=c+48|0},Uf:function(f,c,h,p,b,B,Q,v,L,H){f|=0,c|=0,p|=0,B|=0,Q|=0,L|=0,H|=0;var j,re=0,Z=0,ee=0;return re=b|=0,re|=b=0,j=b|(v|=0),Ie=b=Ie-384|0,(h|=0)&&(a[h>>2]=0,a[h+4>>2]=0),!B&re>>>0<4294967279?(zS(Z=b+16|0,64,0,ee=f+32|0,f),Sg(v=b+80|0,Z),bn(Z,64),qo(v,Q,j,L),qo(v,35216,0-j&15,0),a[b+72>>2]=0,a[b+76>>2]=0,a[(Q=b- -64|0)>>2]=0,a[Q+4>>2]=0,a[b+56>>2]=0,a[b+60>>2]=0,a[b+48>>2]=0,a[b+52>>2]=0,a[b+40>>2]=0,a[b+44>>2]=0,a[b+32>>2]=0,a[b+36>>2]=0,a[b+16>>2]=0,a[b+20>>2]=0,a[b+24>>2]=0,a[b+28>>2]=0,k[b+16|0]=H,N8(Z,Z,64,0,ee,1,f),qo(v,Z,64,0),k[0|c]=S[b+16|0],N8(c=c+1|0,p,re,B,ee,2,f),qo(v,c,re,B),qo(v,35216,15&re,0),a[b+8>>2]=j,a[b+12>>2]=L,qo(v,p=b+8|0,8,0),a[b+8>>2]=re- -64,a[b+12>>2]=B-((re>>>0<4294967232)-1|0),qo(v,p,8,0),Ig(v,c=c+re|0),bn(v,256),k[f+36|0]=S[f+36|0]^S[0|c],k[f+37|0]=S[f+37|0]^S[c+1|0],k[f+38|0]=S[f+38|0]^S[c+2|0],k[f+39|0]=S[f+39|0]^S[c+3|0],k[f+40|0]=S[f+40|0]^S[c+4|0],k[f+41|0]=S[f+41|0]^S[c+5|0],k[f+42|0]=S[f+42|0]^S[c+6|0],k[f+43|0]=S[f+43|0]^S[c+7|0],OTe(ee),(2&H||ya(ee,4))&&(c=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,a[b+360>>2]=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,a[b+364>>2]=c,c=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,a[b+352>>2]=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,a[b+356>>2]=c,c=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,a[b+336>>2]=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,a[b+340>>2]=c,c=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,a[b+344>>2]=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,a[b+348>>2]=c,c=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24,a[b+368>>2]=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,a[b+372>>2]=c,NH(c=b+336|0,c,40,0,ee,f),c=a[b+364>>2],p=a[b+360>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[b+356>>2],p=a[b+352>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[b+348>>2],p=a[b+344>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[b+340>>2],p=a[b+336>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=a[b+368>>2],p=a[b+372>>2],k[f+32|0]=1,k[f+33|0]=0,k[f+34|0]=0,k[f+35|0]=0,k[f+36|0]=c,k[f+37|0]=c>>>8,k[f+38|0]=c>>>16,k[f+39|0]=c>>>24,k[f+40|0]=p,k[f+41|0]=p>>>8,k[f+42|0]=p>>>16,k[f+43|0]=p>>>24),h&&(B=(f=re+17|0)>>>0<17?B+1|0:B,a[h>>2]=f,a[h+4>>2]=B),Ie=b+384|0):(Bs(),Rr()),0},Vf:function(f,c,h,p,b,B,Q,v,L,H){f|=0,c|=0,p|=0,b|=0,v|=0,H|=0;var j,re=0,Z=0,ee=0,de=0,we=0,ke=0;re=B|=0,B=Q|=0,Z=0|re,j=L|=0,Ie=Q=Ie-400|0,(h|=0)&&(a[h>>2]=0,a[h+4>>2]=0),p&&(k[0|p]=255),ke=-1;e:{t:{if(!((L=Z>>>0<17)&!B)){if(we=re=B-L|0,!re&(L=Z-17|0)>>>0>=4294967279|re)break t;zS(ee=Q+32|0,64,0,de=f+32|0,f),Sg(re=Q+96|0,ee),bn(ee,64),qo(re,v,j,H),qo(re,35216,0-j&15,0),a[Q+88>>2]=0,a[Q+92>>2]=0,a[Q+80>>2]=0,a[Q+84>>2]=0,a[Q+72>>2]=0,a[Q+76>>2]=0,a[(v=Q- -64|0)>>2]=0,a[v+4>>2]=0,a[Q+56>>2]=0,a[Q+60>>2]=0,a[Q+48>>2]=0,a[Q+52>>2]=0,a[Q+40>>2]=0,a[Q+44>>2]=0,a[Q+32>>2]=0,a[Q+36>>2]=0,k[Q+32|0]=S[0|b],N8(ee,ee,64,0,de,1,f),v=S[Q+32|0],k[Q+32|0]=S[0|b],qo(re,ee,64,0),qo(re,b=b+1|0,L,we),qo(re,35216,Z-1&15,0),a[Q+24>>2]=j,a[Q+28>>2]=H,qo(re,H=Q+24|0,8,0),B=(Z=Z+47|0)>>>0<47?B+1|0:B,a[Q+24>>2]=Z,a[Q+28>>2]=B,qo(re,H,8,0),Ig(re,Q),bn(re,256),Ul(Q,b+L|0,16)?bn(Q,16):(N8(c,b,L,we,de,2,f),k[f+36|0]=S[f+36|0]^S[0|Q],k[f+37|0]=S[f+37|0]^S[Q+1|0],k[f+38|0]=S[f+38|0]^S[Q+2|0],k[f+39|0]=S[f+39|0]^S[Q+3|0],k[f+40|0]=S[f+40|0]^S[Q+4|0],k[f+41|0]=S[f+41|0]^S[Q+5|0],k[f+42|0]=S[f+42|0]^S[Q+6|0],k[f+43|0]=S[f+43|0]^S[Q+7|0],OTe(de),(2&v||ya(de,4))&&(c=S[f+28|0]|S[f+29|0]<<8|S[f+30|0]<<16|S[f+31|0]<<24,a[Q+376>>2]=S[f+24|0]|S[f+25|0]<<8|S[f+26|0]<<16|S[f+27|0]<<24,a[Q+380>>2]=c,c=S[f+20|0]|S[f+21|0]<<8|S[f+22|0]<<16|S[f+23|0]<<24,a[Q+368>>2]=S[f+16|0]|S[f+17|0]<<8|S[f+18|0]<<16|S[f+19|0]<<24,a[Q+372>>2]=c,c=S[f+4|0]|S[f+5|0]<<8|S[f+6|0]<<16|S[f+7|0]<<24,a[Q+352>>2]=S[0|f]|S[f+1|0]<<8|S[f+2|0]<<16|S[f+3|0]<<24,a[Q+356>>2]=c,c=S[f+12|0]|S[f+13|0]<<8|S[f+14|0]<<16|S[f+15|0]<<24,a[Q+360>>2]=S[f+8|0]|S[f+9|0]<<8|S[f+10|0]<<16|S[f+11|0]<<24,a[Q+364>>2]=c,c=S[f+40|0]|S[f+41|0]<<8|S[f+42|0]<<16|S[f+43|0]<<24,a[Q+384>>2]=S[f+36|0]|S[f+37|0]<<8|S[f+38|0]<<16|S[f+39|0]<<24,a[Q+388>>2]=c,NH(c=Q+352|0,c,40,0,de,f),c=a[Q+380>>2],b=a[Q+376>>2],k[f+24|0]=b,k[f+25|0]=b>>>8,k[f+26|0]=b>>>16,k[f+27|0]=b>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[Q+372>>2],b=a[Q+368>>2],k[f+16|0]=b,k[f+17|0]=b>>>8,k[f+18|0]=b>>>16,k[f+19|0]=b>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[Q+364>>2],b=a[Q+360>>2],k[f+8|0]=b,k[f+9|0]=b>>>8,k[f+10|0]=b>>>16,k[f+11|0]=b>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[Q+356>>2],b=a[Q+352>>2],k[0|f]=b,k[f+1|0]=b>>>8,k[f+2|0]=b>>>16,k[f+3|0]=b>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=a[Q+384>>2],b=a[Q+388>>2],k[f+32|0]=1,k[f+33|0]=0,k[f+34|0]=0,k[f+35|0]=0,k[f+36|0]=c,k[f+37|0]=c>>>8,k[f+38|0]=c>>>16,k[f+39|0]=c>>>24,k[f+40|0]=b,k[f+41|0]=b>>>8,k[f+42|0]=b>>>16,k[f+43|0]=b>>>24),h&&(a[h>>2]=L,a[h+4>>2]=we),ke=0,p&&(k[0|p]=v))}Ie=Q+400|0;break e}Bs(),Rr()}return 0|ke},Wf:function(){return 52},Xf:function(){return 17},Yf:tm,Zf:Ai,_f:function(){return-18},$f:pp,ag:xM,bg:M8,cg:UH,dg:Dy,eg:ta,fg:function(){return 1521},gg:rH,hg:CBe,ig:Dy,jg:ta,kg:rH,lg:NM,mg:ed,ng:Ai,og:Ai,pg:ed,qg:BBe,rg:function(){return 1454},sg:function(f,c,h){return 0|fH(f|=0,c|=0,h|=0)},tg:function(f,c){return 0|hH(f|=0,c|=0)},ug:STe,vg:gTe,wg:rBe,xg:oBe,yg:function(f){return 0|vBe(f|=0)},zg:Gre,Ag:function(f,c,h,p){return 0|KTe(f|=0,c|=0,h|=0,p|=0)},Bg:function(f,c,h){return 0|WTe(f|=0,c|=0,h|=0)},Cg:NM,Dg:ed,Eg:Ai,Fg:Ai,Gg:ed,Hg:BBe,Ig:function(f,c){f|=0;var h,p,b,B,Q,v,L=0;return h=S[8+(L=c|=0)|0]|S[L+9|0]<<8|S[L+10|0]<<16|S[L+11|0]<<24,p=S[L+12|0]|S[L+13|0]<<8|S[L+14|0]<<16|S[L+15|0]<<24,b=S[L+16|0]|S[L+17|0]<<8|S[L+18|0]<<16|S[L+19|0]<<24,B=S[L+20|0]|S[L+21|0]<<8|S[L+22|0]<<16|S[L+23|0]<<24,Q=S[0|L]|S[L+1|0]<<8|S[L+2|0]<<16|S[L+3|0]<<24,c=S[L+4|0]|S[L+5|0]<<8|S[L+6|0]<<16|S[L+7|0]<<24,v=S[L+28|0]|S[L+29|0]<<8|S[L+30|0]<<16|S[L+31|0]<<24,L=S[L+24|0]|S[L+25|0]<<8|S[L+26|0]<<16|S[L+27|0]<<24,k[f+24|0]=L,k[f+25|0]=L>>>8,k[f+26|0]=L>>>16,k[f+27|0]=L>>>24,k[f+28|0]=v,k[f+29|0]=v>>>8,k[f+30|0]=v>>>16,k[f+31|0]=v>>>24,k[f+16|0]=b,k[f+17|0]=b>>>8,k[f+18|0]=b>>>16,k[f+19|0]=b>>>24,k[f+20|0]=B,k[f+21|0]=B>>>8,k[f+22|0]=B>>>16,k[f+23|0]=B>>>24,k[f+8|0]=h,k[f+9|0]=h>>>8,k[f+10|0]=h>>>16,k[f+11|0]=h>>>24,k[f+12|0]=p,k[f+13|0]=p>>>8,k[f+14|0]=p>>>16,k[f+15|0]=p>>>24,k[0|f]=Q,k[f+1|0]=Q>>>8,k[f+2|0]=Q>>>16,k[f+3|0]=Q>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,0},Jg:function(f,c){f|=0;var h,p,b,B,Q,v,L=0;return h=S[32+(L=c|=0)|0]|S[L+33|0]<<8|S[L+34|0]<<16|S[L+35|0]<<24,p=S[L+36|0]|S[L+37|0]<<8|S[L+38|0]<<16|S[L+39|0]<<24,b=S[L+40|0]|S[L+41|0]<<8|S[L+42|0]<<16|S[L+43|0]<<24,B=S[L+44|0]|S[L+45|0]<<8|S[L+46|0]<<16|S[L+47|0]<<24,Q=S[L+48|0]|S[L+49|0]<<8|S[L+50|0]<<16|S[L+51|0]<<24,c=S[L+52|0]|S[L+53|0]<<8|S[L+54|0]<<16|S[L+55|0]<<24,v=S[L+60|0]|S[L+61|0]<<8|S[L+62|0]<<16|S[L+63|0]<<24,L=S[L+56|0]|S[L+57|0]<<8|S[L+58|0]<<16|S[L+59|0]<<24,k[f+24|0]=L,k[f+25|0]=L>>>8,k[f+26|0]=L>>>16,k[f+27|0]=L>>>24,k[f+28|0]=v,k[f+29|0]=v>>>8,k[f+30|0]=v>>>16,k[f+31|0]=v>>>24,k[f+16|0]=Q,k[f+17|0]=Q>>>8,k[f+18|0]=Q>>>16,k[f+19|0]=Q>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,k[f+8|0]=b,k[f+9|0]=b>>>8,k[f+10|0]=b>>>16,k[f+11|0]=b>>>24,k[f+12|0]=B,k[f+13|0]=B>>>8,k[f+14|0]=B>>>16,k[f+15|0]=B>>>24,k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,k[f+4|0]=p,k[f+5|0]=p>>>8,k[f+6|0]=p>>>16,k[f+7|0]=p>>>24,0},Kg:vBe,Lg:Gre,Mg:KTe,Ng:WTe,Og:fH,Pg:hH,Qg:function(f,c){f|=0;var h,p=0,b=0,B=0,Q=0,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0,ut=0,pt=0,bt=0,Ye=0,it=0,dt=0,Wt=0,nr=0,cr=0,gr=0,vr=0,Sr=0,yr=0,Kt=0,or=0,Or=0,kr=0,Jt=0,ur=0,Mr=0,Gr=0,jr=0,nn=0,fn=0,Ne=0,xe=0,nt=0,Cr=0,Yr=0,An=0,hn=0,pn=0,En=0,Mn=0,Nr=0,ft=0,Gt=0,rr=0,Jr=0,rn=0,_n=0,Tn=0,Bn=0,Nn=0,kn=0,Kn=0,zn=0,ui=0,di=0,mi=0,Ci=0,Vi=0,Yi=0,ro=0,Ao=0,Oo=0,xo=0,Qo=0,Yo=0,ss=0,zc=0,Ou=0;return Ie=h=Ie-256|0,ro=-1,EM(c|=0)||_H(p=h+96|0,c)||cM(p)&&(ro=0,Kt=a[h+172>>2],a[h+36>>2]=0-Kt,Me=a[h+168>>2],a[h+32>>2]=0-Me,or=a[h+164>>2],a[h+28>>2]=0-or,Ve=a[h+160>>2],a[h+24>>2]=0-Ve,Or=a[h+156>>2],a[h+20>>2]=0-Or,We=a[h+152>>2],a[h+16>>2]=0-We,kr=a[h+148>>2],a[h+12>>2]=0-kr,ut=a[h+144>>2],a[h+8>>2]=0-ut,Jt=a[h+140>>2],a[h+4>>2]=0-Jt,B=a[h+136>>2],a[h>>2]=1-B,lv(h,h),c=Ce(pt=a[h+4>>2],vr=pt>>31,bt=Or<<1,hn=bt>>31),p=$,b=Ce(ke=a[h>>2],Ye=ke>>31,Ve,it=Ve>>31),p=$+p|0,p=(c=b+c|0)>>>0<b>>>0?p+1|0:p,b=(Q=Ce(dt=a[h+8>>2],ur=dt>>31,We,Wt=We>>31))+c|0,c=$+p|0,c=b>>>0<Q>>>0?c+1|0:c,p=b,b=Ce(Sr=a[h+12>>2],jr=Sr>>31,Ne=kr<<1,pn=Ne>>31),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=Ce(Mr=a[h+16>>2],xe=Mr>>31,ut,nr=ut>>31),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,ui=Q=a[h+20>>2],de=Ce(Q,En=Q>>31,nt=Jt<<1,Mn=nt>>31),b=$+c|0,b=(p=de+p|0)>>>0<de>>>0?b+1|0:b,di=re=a[h+24>>2],c=(B=Ce(re,kn=re>>31,de=B+1|0,cr=de>>31))+p|0,p=$+b|0,p=c>>>0<B>>>0?p+1|0:p,Nr=a[h+28>>2],b=(B=Ce(ye=Lr(Nr,19),nn=ye>>31,Cr=Kt<<1,ft=Cr>>31))+c|0,c=$+p|0,c=b>>>0<B>>>0?c+1|0:c,p=b,Ao=a[h+32>>2],b=Ce(L=Lr(Ao,19),Gr=L>>31,Me,gr=Me>>31),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,Oo=a[h+36>>2],b=Ce(ee=Lr(Oo,19),yr=ee>>31,Yr=or<<1,Gt=Yr>>31),c=$+c|0,H=p=b+p|0,B=p>>>0<b>>>0?c+1|0:c,c=Ce(We,Wt,pt,vr),p=$,v=Ce(ke,Ye,Or,rr=Or>>31),b=$+p|0,b=(c=v+c|0)>>>0<v>>>0?b+1|0:b,v=Ce(dt,ur,kr,Jr=kr>>31),p=$+b|0,p=(c=v+c|0)>>>0<v>>>0?p+1|0:p,b=(v=Ce(ut,nr,Sr,jr))+c|0,c=$+p|0,c=b>>>0<v>>>0?c+1|0:c,p=b,b=Ce(Mr,xe,Jt,rn=Jt>>31),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=Ce(de,cr,Q,En),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,v=Ce(re=Lr(re,19),An=re>>31,Kt,_n=Kt>>31),b=$+c|0,b=(p=v+p|0)>>>0<v>>>0?b+1|0:b,c=(v=Ce(Me,gr,ye,nn))+p|0,p=$+b|0,p=c>>>0<v>>>0?p+1|0:p,b=(v=Ce(L,Gr,or,Tn=or>>31))+c|0,c=$+p|0,c=b>>>0<v>>>0?c+1|0:c,p=b,b=Ce(ee,yr,Ve,it),c=$+c|0,mi=p=p+b|0,fn=p>>>0<b>>>0?c+1|0:c,c=Ce(pt,vr,Ne,pn),b=$,p=(v=Ce(ke,Ye,We,Wt))+c|0,c=$+b|0,c=p>>>0<v>>>0?c+1|0:c,v=Ce(ut,nr,dt,ur),b=$+c|0,b=(p=v+p|0)>>>0<v>>>0?b+1|0:b,c=(v=Ce(Sr,jr,nt,Mn))+p|0,p=$+b|0,p=c>>>0<v>>>0?p+1|0:p,b=(v=Ce(de,cr,Mr,xe))+c|0,c=$+p|0,c=b>>>0<v>>>0?c+1|0:c,p=b,b=Ce(v=Lr(Q,19),Bn=v>>31,Cr,ft),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=Ce(Me,gr,re,An),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,Q=Ce(ye,nn,Yr,Gt),b=$+c|0,b=(p=Q+p|0)>>>0<Q>>>0?b+1|0:b,c=(Q=Ce(L,Gr,Ve,it))+p|0,p=$+b|0,p=c>>>0<Q>>>0?p+1|0:p,b=(Q=Ce(ee,yr,bt,hn))+c|0,c=$+p|0,xo=b,Qo=c=b>>>0<Q>>>0?c+1|0:c,Yo=b=b+33554432|0,ss=c=b>>>0<33554432?c+1|0:c,b=(67108863&c)<<6|b>>>26,c=(c>>26)+fn|0,mi=Q=b+mi|0,c=b>>>0>Q>>>0?c+1|0:c,zc=Q=Q+16777216|0,c=(p=(b=Q>>>0<16777216?c+1|0:c)>>25)+B|0,c=(b=(Q=(33554431&b)<<7|Q>>>25)+H|0)>>>0<Q>>>0?c+1|0:c,we=p=b+33554432|0,Q=c=p>>>0<33554432?c+1|0:c,a[h+72>>2]=b-(-67108864&p),c=Ce(pt,vr,nt,Mn),p=$,B=Ce(ke,Ye,ut,nr),b=$+p|0,b=(c=B+c|0)>>>0<B>>>0?b+1|0:b,p=(B=Ce(de,cr,dt,ur))+c|0,c=$+b|0,c=p>>>0<B>>>0?c+1|0:c,b=Ce(B=Lr(Sr,19),Nn=B>>31,Cr,ft),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=(H=Ce(fn=Lr(Mr,19),Kn=fn>>31,Me,gr))+p|0,p=$+c|0,p=b>>>0<H>>>0?p+1|0:p,H=Ce(Yr,Gt,v,Bn),c=$+p|0,c=(b=H+b|0)>>>0<H>>>0?c+1|0:c,p=(H=Ce(Ve,it,re,An))+b|0,b=$+c|0,b=p>>>0<H>>>0?b+1|0:b,H=Ce(ye,nn,bt,hn),c=$+b|0,c=(p=H+p|0)>>>0<H>>>0?c+1|0:c,b=Ce(L,Gr,We,Wt),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=(H=Ce(ee,yr,Ne,pn))+p|0,p=$+c|0,Z=b,Ci=b>>>0<H>>>0?p+1|0:p,c=Ce(de,cr,pt,vr),p=$,b=(H=Ce(ke,Ye,Jt,rn))+c|0,c=$+p|0,c=b>>>0<H>>>0?c+1|0:c,H=p=Lr(dt,19),p=(j=Ce(p,zn=p>>31,Kt,_n))+b|0,b=$+c|0,b=p>>>0<j>>>0?b+1|0:b,j=Ce(Me,gr,B,Nn),c=$+b|0,c=(p=j+p|0)>>>0<j>>>0?c+1|0:c,b=Ce(fn,Kn,or,Tn),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=(j=Ce(Ve,it,v,Bn))+p|0,p=$+c|0,p=b>>>0<j>>>0?p+1|0:p,j=Ce(re,An,Or,rr),c=$+p|0,c=(b=j+b|0)>>>0<j>>>0?c+1|0:c,p=(j=Ce(We,Wt,ye,nn))+b|0,b=$+c|0,b=p>>>0<j>>>0?b+1|0:b,j=Ce(L,Gr,kr,Jr),c=$+b|0,c=(p=j+p|0)>>>0<j>>>0?c+1|0:c,b=Ce(ee,yr,ut,nr),c=$+c|0,Vi=p=b+p|0,j=p>>>0<b>>>0?c+1|0:c,c=Ce(c=Lr(pt,19),c>>31,Cr,ft),p=$,b=Ce(ke,Ye,de,cr),p=$+p|0,p=(c=b+c|0)>>>0<b>>>0?p+1|0:p,b=(H=Ce(Me,gr,H,zn))+c|0,c=$+p|0,p=(B=Ce(B,Nn,Yr,Gt))+b|0,b=$+(b>>>0<H>>>0?c+1|0:c)|0,b=p>>>0<B>>>0?b+1|0:b,B=Ce(Ve,it,fn,Kn),c=$+b|0,c=(p=B+p|0)>>>0<B>>>0?c+1|0:c,b=Ce(bt,hn,v,Bn),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=(B=Ce(We,Wt,re,An))+p|0,p=$+c|0,p=b>>>0<B>>>0?p+1|0:p,B=Ce(ye,nn,Ne,pn),c=$+p|0,c=(b=B+b|0)>>>0<B>>>0?c+1|0:c,p=(B=Ce(L,Gr,ut,nr))+b|0,b=$+c|0,b=p>>>0<B>>>0?b+1|0:b,B=Ce(ee,yr,nt,Mn),c=$+b|0,H=p=B+p|0,Nn=c=p>>>0<B>>>0?c+1|0:c,zn=p=p+33554432|0,Ou=c=p>>>0<33554432?c+1|0:c,b=c>>26,c=(67108863&c)<<6|p>>>26,p=b+j|0,j=B=c+Vi|0,c=p=c>>>0>B>>>0?p+1|0:p,Vi=B=B+16777216|0,B=(33554431&(c=B>>>0<16777216?c+1|0:c))<<7|B>>>25,c=(c>>25)+Ci|0,c=(p=B+Z|0)>>>0<B>>>0?c+1|0:c,b=p,Ci=p=p+33554432|0,B=c=p>>>0<33554432?c+1|0:c,a[h+56>>2]=b-(-67108864&p),c=Ce(Ve,it,pt,vr),b=$,p=(Z=Ce(ke,Ye,or,Tn))+c|0,c=$+b|0,c=p>>>0<Z>>>0?c+1|0:c,b=Ce(dt,ur,Or,rr),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=Ce(We,Wt,Sr,jr),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,Z=Ce(Mr,xe,kr,Jr),b=$+c|0,b=(p=Z+p|0)>>>0<Z>>>0?b+1|0:b,c=(Z=Ce(ut,nr,ui,En))+p|0,p=$+b|0,p=c>>>0<Z>>>0?p+1|0:p,b=(Z=Ce(Jt,rn,di,kn))+c|0,c=$+p|0,c=b>>>0<Z>>>0?c+1|0:c,p=b,b=Ce(Nr,Yi=Nr>>31,de,cr),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=Ce(L,Gr,Kt,_n),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,Z=(b=p)+(p=Ce(ee,yr,Me,gr))|0,b=$+c|0,p=(c=Q>>26)+(p=p>>>0>Z>>>0?b+1|0:b)|0,we=b=(Q=(67108863&Q)<<6|we>>>26)+Z|0,c=p=b>>>0<Q>>>0?p+1|0:p,Z=b=b+16777216|0,Q=c=b>>>0<16777216?c+1|0:c,a[h+76>>2]=we-(-33554432&b),c=Ce(ut,nr,pt,vr),p=$,we=Ce(ke,Ye,kr,Jr),b=$+p|0,b=(c=we+c|0)>>>0<we>>>0?b+1|0:b,we=Ce(dt,ur,Jt,rn),p=$+b|0,p=(c=we+c|0)>>>0<we>>>0?p+1|0:p,b=(we=Ce(de,cr,Sr,jr))+c|0,c=$+p|0,c=b>>>0<we>>>0?c+1|0:c,p=b,b=Ce(fn,Kn,Kt,_n),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=Ce(Me,gr,v,Bn),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,p=(re=Ce(re,An,or,Tn))+p|0,b=$+c|0,c=(ye=Ce(Ve,it,ye,nn))+p|0,p=$+(p>>>0<re>>>0?b+1|0:b)|0,b=(L=Ce(L,Gr,Or,rr))+c|0,c=$+(c>>>0<ye>>>0?p+1|0:p)|0,c=b>>>0<L>>>0?c+1|0:c,p=b,b=Ce(ee,yr,We,Wt),c=$+c|0,we=p=p+b|0,c=(c=p>>>0<b>>>0?c+1|0:c)+(p=B>>26)|0,L=B=we+(b=(67108863&B)<<6|Ci>>>26)|0,c=b>>>0>B>>>0?c+1|0:c,ye=p=B+16777216|0,B=b=p>>>0<16777216?c+1|0:c,a[h+60>>2]=L-(-33554432&p),c=Ce(pt,vr,Yr,Gt),b=$,p=(L=Ce(ke,Ye,Me,gr))+c|0,c=$+b|0,c=p>>>0<L>>>0?c+1|0:c,b=Ce(Ve,it,dt,ur),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,L=Ce(Sr,jr,bt,hn),b=$+c|0,b=(p=L+p|0)>>>0<L>>>0?b+1|0:b,c=(L=Ce(We,Wt,Mr,xe))+p|0,p=$+b|0,p=c>>>0<L>>>0?p+1|0:p,b=(L=Ce(Ne,pn,ui,En))+c|0,c=$+p|0,c=b>>>0<L>>>0?c+1|0:c,p=b,b=Ce(ut,nr,di,kn),c=$+c|0,c=(p=p+b|0)>>>0<b>>>0?c+1|0:c,b=p,p=Ce(Nr,Yi,nt,Mn),c=$+c|0,c=p>>>0>(b=b+p|0)>>>0?c+1|0:c,L=p=Ao,p=(bt=Ce(p,re=p>>31,de,cr))+b|0,b=$+c|0,c=(ee=Ce(ee,yr,Cr,ft))+p|0,p=$+(p>>>0<bt>>>0?b+1|0:b)|0,b=c>>>0<ee>>>0?p+1|0:p,p=c,c=(c=Q>>25)+b|0,c=(p=p+(Q=(33554431&Q)<<7|Z>>>25)|0)>>>0<Q>>>0?c+1|0:c,b=p,ee=p=p+33554432|0,Q=c=p>>>0<33554432?c+1|0:c,a[h+80>>2]=b-(-67108864&p),p=B>>25,b=(B=(33554431&B)<<7|ye>>>25)+(xo-(c=-67108864&Yo)|0)|0,c=p+(Qo-((c>>>0>xo>>>0)+ss|0)|0)|0,c=b>>>0<B>>>0?c+1|0:c,c=((67108863&(c=(p=b+33554432|0)>>>0<33554432?c+1|0:c))<<6|p>>>26)+(bt=mi-(-33554432&zc)|0)|0,a[h+68>>2]=c,a[h+64>>2]=b-(-67108864&p),c=Ce(Me,gr,pt,vr),b=$,p=(B=Ce(ke,Ye,Kt,_n))+c|0,c=$+b|0,c=p>>>0<B>>>0?c+1|0:c,b=(B=Ce(dt,ur,or,Tn))+p|0,p=$+c|0,p=b>>>0<B>>>0?p+1|0:p,c=(B=Ce(Ve,it,Sr,jr))+b|0,b=$+p|0,b=c>>>0<B>>>0?b+1|0:b,p=(B=Ce(Mr,xe,Or,rr))+c|0,c=$+b|0,c=p>>>0<B>>>0?c+1|0:c,b=Ce(We,Wt,ui,En),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=Ce(kr,Jr,di,kn),c=$+c|0,c=(p=b+p|0)>>>0<b>>>0?c+1|0:c,b=(B=Ce(ut,nr,Nr,Yi))+p|0,p=$+c|0,p=b>>>0<B>>>0?p+1|0:p,B=(c=Ce(L,re,Jt,rn))+b|0,b=$+p|0,b=c>>>0>B>>>0?b+1|0:b,p=B,B=Ce(c=Oo,c>>31,de,cr),c=$+b|0,b=p=p+B|0,c=(c=p>>>0<B>>>0?c+1|0:c)+(p=Q>>26)|0,c=(b=b+(Q=(67108863&Q)<<6|ee>>>26)|0)>>>0<Q>>>0?c+1|0:c,c=(p=b+16777216|0)>>>0<16777216?c+1|0:c,a[h+84>>2]=b-(-33554432&p),Q=j-(-33554432&Vi)|0,B=H-(b=-67108864&zn)|0,ke=Nn-((b>>>0>H>>>0)+Ou|0)|0,c=Ce((33554431&(b=c))<<7|p>>>25,c>>=25,19,0),p=$+ke|0,c=c>>>0>(b=c+B|0)>>>0?p+1|0:p,c=((67108863&(c=(p=b+33554432|0)>>>0<33554432?c+1|0:c))<<6|p>>>26)+Q|0,a[h+52>>2]=c,a[h+48>>2]=b-(-67108864&p),yc(f,h+48|0)),Ie=h+256|0,0|ro},Rg:function(f,c){f|=0;var h,p=0;return Ie=h=Ie+-64|0,ci(h,c|=0,32,0),k[0|h]=248&S[0|h],k[h+31|0]=63&S[h+31|0]|64,c=a[h+20>>2],p=a[h+16>>2],k[f+16|0]=p,k[f+17|0]=p>>>8,k[f+18|0]=p>>>16,k[f+19|0]=p>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[h+12>>2],p=a[h+8>>2],k[f+8|0]=p,k[f+9|0]=p>>>8,k[f+10|0]=p>>>16,k[f+11|0]=p>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[h+4>>2],p=a[h>>2],k[0|f]=p,k[f+1|0]=p>>>8,k[f+2|0]=p>>>16,k[f+3|0]=p>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,c=a[h+28>>2],p=a[h+24>>2],k[f+24|0]=p,k[f+25|0]=p>>>8,k[f+26|0]=p>>>16,k[f+27|0]=p>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,bn(h,64),Ie=h- -64|0,0},Sg:oBe,Tg:gTe,Ug:rBe,Vg:STe,Wg:Ai,Xg:Dy,Yg:Id,Zg:Ai,_g:kBe,$g:Id,ah:function(f,c,h,p,b){return 0|RM(f|=0,c|=0,h|=0,p|=0,b|=0)},bh:function(f,c,h,p,b,B,Q,v){return 0|x8(f|=0,c|=0,(f=0)|(h|=0),p|=0,b|=0,f|(B|=0),Q|=0,v|=0)},ch:function(f,c,h,p,b,B){return 0|OH(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)},dh:function(f,c,h,p,b){return 0|zS(f|=0,c|=0,h|=0,p|=0,b|=0)},eh:function(f,c,h,p,b,B,Q){return 0|N8(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},fh:function(f,c,h,p,b,B){return 0|NH(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)},gh:Wu,hh:Wu,ih:Ai,jh:tm,kh:Id,lh:function(){return 1538},mh:cBe,nh:nBe,oh:Wu,ph:Ai,qh:Dy,rh:Id,sh:function(f,c,h,p,b){return 0|Jre(f|=0,c|=0,h|=0,p|=0,b|=0)},th:function(f,c,h,p,b,B,Q,v){return 0|wM(f|=0,c|=0,(f=0)|(h|=0),p|=0,b|=0,f|(B|=0),Q|=0,v|=0)},uh:function(f,c,h,p,b,B){return 0|MH(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0)},vh:Wu,wh:cBe,xh:function(f,c,h,p,b,B,Q,v){var L;return f|=0,c|=0,h|=0,p|=0,B|=0,Q|=0,Ie=L=Ie-32|0,$2(L,b|=0,v|=0,0),f=wM(v=f,c,(f=0)|h,p,b+16|0,f|B,Q,L),bn(L,32),Ie=L+32|0,0|f},yh:nBe,zh:Ai,Ah:tm,Bh:Id,Ch:Wu,Dh:ta,Eh:Ai,Fh:ed,Gh:Te,Hh:eO,Ih:pBe,Jh:function(){return 1089},Kh:function(){var f,c;return Ie=f=Ie-16|0,k[f+15|0]=0,c=0|yt(36800,f+15|0,0),Ie=f+16|0,0|c},Lh:uBe,Mh:function(f){var c,h=0,p=0;if(Ie=c=Ie-16|0,(f|=0)>>>0>=2){for(h=(0-f>>>0)%(f>>>0)|0;k[c+15|0]=0,h>>>0>(p=0|yt(36800,c+15|0,0))>>>0;);h=(p>>>0)%(f>>>0)|0}return Ie=c+16|0,0|h},Nh:wf,Oh:function(f,c,h){zS(f|=0,c|=0,0,34336,h|=0)},Ph:Ai,Qh:function(){var f=0,c=0;return(f=a[9539])&&(f=a[f+20>>2])&&(c=0|A0[0|f]()),0|c},Rh:function(f,c,h){f|=0,c|=0;var p,b=0,B=0,Q=0;if(Ie=p=Ie-16|0,h|=0)ot(1346,1192,198,1092),Rr();else{if(c|h)for(;k[p+15|0]=0,B=f+b|0,Q=0|yt(36800,p+15|0,0),k[0|B]=Q,(0|c)!=(0|(b=b+1|0)););Ie=p+16|0}},Sh:function(f,c,h,p){f|=0,h|=0;var b=0,B=0,Q=0;if(!((p|=0)>>>0>2147483646|p<<1>>>0>=(c|=0)>>>0)){if(c=0,p){for(;b=(c<<1)+f|0,B=15&(Q=S[c+h|0]),k[b+1|0]=22272+((B<<8)+(B+65526&55552)|0)>>>8,B=b,b=Q>>>4|0,k[0|B]=87+((b+65526>>>8&217)+b|0),(0|p)!=(0|(c=c+1|0)););c=p<<1}else c=0;return k[c+f|0]=0,0|f}Bs(),Rr()},Th:function(f,c,h,p,b,B,Q){f|=0,c|=0,h|=0,b|=0,B|=0,Q|=0;var v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0;e:{t:{r:{n:{i:{c:{s:{o:{d:{if(p|=0){if(b)break d;for(L=1,b=0;;){if(!(255&((ee=(65526+(H=(223&(re=S[h+v|0]))-55&255)^H+65520)>>>8|0)|(de=65526+(re^=48)>>>8|0))))break s;if(c>>>0<=Z>>>0)break o;if(H=H&ee|re&de,255&j?(k[f+Z|0]=b|H,Z=Z+1|0):b=H<<4,j=~j,(0|(v=v+1|0))==(0|p))break}v=p;break s}if(f=0,!Q)break e;break r}for(;;){d:{a:{u:{f:{l:{if(!(255&((re=(65526+(L=(223&(H=S[h+v|0]))-55&255)^L+65520)>>>8|0)|(de=65526+(ee=48^H)>>>8|0)))){if(255&j)break c;if(L=0,!bi(b,H))break n;if((v=j=v+1|0)>>>0<p>>>0)break l;break n}if(c>>>0<=Z>>>0)break o;if(L=L&re|ee&de,!(255&j))break f;k[f+Z|0]=L|we,Z=Z+1|0;break d}for(;;){if(!(255&((ee=(65526+(re=(223&(H=S[h+v|0]))-55&255)^re+65520)>>>8|0)|(we=65526+(de=48^H)>>>8|0)))){if(!bi(b,H))break n;if((v=v+1|0)>>>0<p>>>0)continue;break u}break}if(c>>>0<=Z>>>0)break a;L=re&ee|de&we}we=L<<4,j=0;break d}v=p>>>0>j>>>0?p:j;break n}j=0;break o}if(j=~j,L=1,!((v=v+1|0)>>>0<p>>>0))break}break s}a[9404]=68,L=0}if(!(255&j))break i}a[9404]=28,L=-1,v=v-1|0,Z=0;break n}Z=L?Z:0,L=L-1|0}if(!Q){if((0|p)!=(0|v))break t;f=L;break e}}a[Q>>2]=h+v,f=L;break e}a[9404]=28,f=-1}return B&&(a[B>>2]=Z),0|f},Uh:function(f,c){f|=0;var h=0;return(-7&(c|=0))!=1&&(Bs(),Rr()),1+((3&(h=(h=f)+Lr(f=(f>>>0)/3|0,-3)|0)?2&c?h+1|0:4:0)+(f<<2)|0)|0},Vh:yM,Wh:hM,Xh:function(){var f=0;return a[9537]?f=1:(uBe(),wf(38128,16),a[9537]=1,f=0),0|f},Yh:function(f,c,h,p,b){f|=0,c|=0,h|=0,b|=0;var B,Q=0,v=0,L=0;Ie=B=Ie-16|0;e:{if(p|=0){if((Q=p-1|0)&p?(v=~h,Q=Q-((h>>>0)%(p>>>0)|0)|0):Q&=v=~h,Q>>>0>=v>>>0)break e;if((h=h+Q|0)>>>0>=b>>>0)c=-1;else for(f&&(a[f>>2]=h+1),f=c+h|0,c=0,k[B+15|0]=0,h=0;v=b=f-h|0,L=S[0|b]&S[B+15|0],b=(h^Q)-1>>>24|0,k[0|v]=L|128&b,k[B+15|0]=b|S[B+15|0],(0|p)!=(0|(h=h+1|0)););}else c=-1;return Ie=B+16|0,0|c}Bs(),Rr()},Zh:function(f,c,h,p){f|=0,c|=0,h|=0,p|=0;var b,B=0,Q=0,v=0,L=0,H=0;if(a[12+(b=Ie-16|0)>>2]=0,p-1>>>0<h>>>0){for(H=(B=h-1|0)+c|0,h=0,c=0;L=((128^(Q=S[H-h|0]))-1&a[b+12>>2]-1&v-1)>>>8&1,a[b+12>>2]=a[b+12>>2]|0-L&h,c|=L,v|=Q,(0|p)!=(0|(h=h+1|0)););a[f>>2]=B-a[b+12>>2],f=(255&c)-1|0}else f=-1;return 0|f},_h:function(){return 1547},$h:function(){return 26},ai:M8,bi:pp,ci:He,di:DH,ei:function(f,c,h){f|=0;var p,b=0;return Ie=p=Ie-32|0,b=-1,vg(p,h|=0,c|=0)||(b=Ll(f,35584,p,0)),Ie=p+32|0,0|b},fi:eBe,gi:function(f,c,h,p,b,B,Q,v){var L,H;return f|=0,c|=0,h|=0,B|=0,H=p|=0,p=b|=0,Ie=L=Ie+-64|0,vg(L+32|0,v|=0,Q|=0)?b=-1:(b=-1,Ll(L,35584,L+32|0,0)||(b=Fe(f,c,h,H,p,B,L),bn(L,32))),Ie=L- -64|0,0|b},hi:function(f,c,h,p,b,B){return f|=0,c|=0,b|=0,B|=0,!(p|=0)&(h|=0)>>>0>=4294967280|p&&(Bs(),Rr()),0|Fe(f+16|0,f,c,h,p,b,B)},ii:function(f,c,h,p,b,B,Q){return 0|LTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},ji:tBe,ki:function(f,c,h,p,b,B,Q,v){var L,H;return f|=0,c|=0,h|=0,B|=0,H=p|=0,p=b|=0,Ie=L=Ie+-64|0,vg(L+32|0,v|=0,Q|=0)?b=-1:(b=-1,Ll(L,35584,L+32|0,0)||(b=mr(f,c,h,H,p,B,L),bn(L,32))),Ie=L- -64|0,0|b},li:VTe,mi:function(f,c,h,p,b,B,Q){return 0|DTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0)},ni:Ai,oi:Ai,pi:Ai,qi:Ai,ri:tm,si:ta,ti:hv,ui:function(f,c,h,p,b){f|=0,c|=0,b|=0;var B,Q,v,L,H=0,j=0;return H=h|=0,h=p|=0,L=0|H,H=p=Ie,Ie=B=p-512&-64,p=-1,DH(Q=B- -64|0,v=B+32|0)||(T8(p=B+128|0,0,0,24),ph(p,Q,32,0),ph(p,b,32,0),B8(p,j=B+96|0,24),p=LTe(f+32|0,c,L,h,j,b,v),c=a[B+92>>2],h=a[B+88>>2],k[f+24|0]=h,k[f+25|0]=h>>>8,k[f+26|0]=h>>>16,k[f+27|0]=h>>>24,k[f+28|0]=c,k[f+29|0]=c>>>8,k[f+30|0]=c>>>16,k[f+31|0]=c>>>24,c=a[B+84>>2],h=a[B+80>>2],k[f+16|0]=h,k[f+17|0]=h>>>8,k[f+18|0]=h>>>16,k[f+19|0]=h>>>24,k[f+20|0]=c,k[f+21|0]=c>>>8,k[f+22|0]=c>>>16,k[f+23|0]=c>>>24,c=a[B+76>>2],h=a[B+72>>2],k[f+8|0]=h,k[f+9|0]=h>>>8,k[f+10|0]=h>>>16,k[f+11|0]=h>>>24,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,c=a[B+68>>2],h=a[B+64>>2],k[0|f]=h,k[f+1|0]=h>>>8,k[f+2|0]=h>>>16,k[f+3|0]=h>>>24,k[f+4|0]=c,k[f+5|0]=c>>>8,k[f+6|0]=c>>>16,k[f+7|0]=c>>>24,bn(v,32),bn(Q,32),bn(j,24)),Ie=H,0|p},vi:function(f,c,h,p,b,B){f|=0,c|=0,b|=0,B|=0;var Q,v,L=0;return v=L=Ie,Ie=Q=L-448&-64,L=-1,!(p|=0)&(h|=0)>>>0>=48|p&&(T8(L=Q- -64|0,0,0,24),ph(L,c,32,0),ph(L,b,32,0),B8(L,b=Q+32|0,24),L=DTe(f,c+32|0,h-32|0,p-(h>>>0<32)|0,b,c,B)),Ie=v,0|L},wi:DBe,xi:function(f){var c,h=0;return Ie=c=Ie-160|0,ea(f|=0)&&(EM(f)||fv(c,f)||w8(c)&&(h=!!(0|cM(c)))),Ie=c+160|0,0|h},yi:function(f,c,h){f|=0,h|=0;var p,b,B=0;return Ie=p=Ie-800|0,B=-1,fv(b=p+640|0,c|=0)||w8(b)&&(fv(c=p+480|0,h)||w8(c)&&(mc(p,c),Gu(c=p+160|0,b,p),wH(h=p+320|0,c),VS(f,h),B=0)),Ie=p+800|0,0|B},zi:function(f,c,h){f|=0,h|=0;var p,b,B=0;return Ie=p=Ie-800|0,B=-1,fv(b=p+640|0,c|=0)||w8(b)&&(fv(c=p+480|0,h)||w8(c)&&(mc(p,c),Y5(c=p+160|0,b,p),wH(h=p+320|0,c),VS(f,h),B=0)),Ie=p+800|0,0|B},Ai:function(f,c){return ka(f|=0,c|=0),0},Bi:function(f){var c;f|=0,Ie=c=Ie-32|0,wf(c,32),ka(f,c),Ie=c+32|0},Ci:YTe,Di:dH,Ei:gH,Fi:pH,Gi:uH,Hi:AH,Ii:iH,Ji:gBe,Ki:Ai,Li:ed,Mi:Ai,Ni:ed,Oi:Ai,Pi:function(f){var c;return Ie=c=Ie-160|0,f=GS(c,f|=0),Ie=c+160|0,0|!f},Qi:function(f,c,h){f|=0,h|=0;var p,b,B=0;return Ie=p=Ie-800|0,B=-1,GS(b=p+640|0,c|=0)||GS(c=p+480|0,h)||(mc(p,c),Gu(c=p+160|0,b,p),wH(h=p+320|0,c),I8(f,h),B=0),Ie=p+800|0,0|B},Ri:function(f,c,h){f|=0,h|=0;var p,b,B=0;return Ie=p=Ie-800|0,B=-1,GS(b=p+640|0,c|=0)||GS(c=p+480|0,h)||(mc(p,c),Y5(c=p+160|0,b,p),wH(h=p+320|0,c),I8(f,h),B=0),Ie=p+800|0,0|B},Si:function(f,c){return wTe(f|=0,c|=0),0},Ti:function(f){var c;f|=0,Ie=c=Ie+-64|0,wf(c,64),wTe(f,c),Ie=c- -64|0},Ui:function(f){YTe(f|=0)},Vi:function(f,c){return 0|dH(f|=0,c|=0)},Wi:function(f,c){gH(f|=0,c|=0)},Xi:function(f,c){pH(f|=0,c|=0)},Yi:function(f,c,h){uH(f|=0,c|=0,h|=0)},Zi:function(f,c,h){iH(f|=0,c|=0,h|=0)},_i:gBe,$i:function(f,c){AH(f|=0,c|=0)},aj:Ai,bj:ed,cj:ed,dj:Ai,ej:function(f,c,h,p,b,B,Q,v,L,H){return 0|QTe(f|=0,c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,v|=0,L|=0,H|=0)},fj:ta,gj:Id,hj:pp,ij:Id,jj:Ai,kj:function(){return 102},lj:function(){return 1575},mj:function(){return 32768},nj:Id,oj:wBe,pj:Id,qj:function(){return 524288},rj:wBe,sj:SBe,tj:Yre,uj:function(f,c,h,p,b,B,Q,v,L,H){var j,re,Z;c|=0,h|=0,p|=0,b|=0,B|=0,Q|=0,L|=0,H|=0,re=0|(v|=0),Ie=v=Ie-16|0,Z=c|=0,j=yo(f|=0,0,c),f=0|b;e:if((0|(b=h|B))==1|b>>>0>1)a[9404]=22,f=-1;else if(!h&c>>>0>=16|h){if(pM(re,L,H,v+12|0,v+8|0,v+4|0),(0|p)==(0|j)){a[9404]=28,f=-1;break e}b=f,f=31&(c=a[v+12>>2]),(63&c)>>>0>=32?(c=1<<f,h=0):c=(h=1<<f)-1&1>>>32-f,f=QTe(p,b,Q,32,h,c,a[v+4>>2],a[v+8>>2],j,Z)}else a[9404]=28,f=-1;return Ie=v+16|0,0|f},vj:function(f,c,h,p,b,B,Q){c|=0,h|=0,p|=0,B|=0,Q|=0;var v,L,H,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0;j=b|=0,j|=b=0,Ie=v=Ie-128|0,L=yo(f|=0,0,102),de=22,H=h|b;e:{t:{if(!p){pM(j,B,Q,v+16|0,v+12|0,v+8|0),wf(re=v+96|0,32),de=28,h=v+32|0,B=a[v+16>>2],Q=Ce(f=a[v+12>>2],0,p=a[v+8>>2],0);r:if(!(!(j=$)&Q>>>0>1073741823|j|B>>>0>63)&&(k[0|h]=36,k[h+1|0]=55,k[h+2|0]=36,k[h+4|0]=S[1024+(63&p)|0],k[h+3|0]=S[B+1024|0],k[h+8|0]=S[1024+(p>>>24&63)|0],k[h+7|0]=S[1024+(p>>>18&63)|0],k[h+6|0]=S[1024+(p>>>12&63)|0],k[h+5|0]=S[1024+(p>>>6&63)|0],(p=h+9|0)&&(0|p)!=(0|(Z=h+58|0))&&(k[0|p]=S[1024+(63&f)|0],(0|(p=Z-p|0))!=1&&(k[h+10|0]=S[1024+(f>>>6&63)|0],(0|p)!=2&&(k[h+11|0]=S[1024+(f>>>12&63)|0],(0|p)!=3&&(k[h+12|0]=S[1024+(f>>>18&63)|0],(0|p)!=4&&(k[h+13|0]=S[1024+(f>>>24&63)|0],B=h+14|0))))))){for(j=Z-B|0,f=0;;){if(p=B,!(f>>>0>=32)){if(B=S[f+re|0],(we=(Q=f+1|0)>>>0>=32)?ee=0:(B=S[Q+re|0]<<8|B,(Q=f+2|0)>>>0>=32?ee=0:(B=S[Q+re|0]<<16|B,ee=1,Q=f+3|0)),f=Q,!j||(k[0|p]=S[1024+(63&B)|0],(0|j)==1))break r;if(k[p+1|0]=S[1024+(B>>>6&63)|0],ke=p+j|0,Q=p+2|0,!we){if((0|j)==2)break r;if(k[p+2|0]=S[1024+(B>>>12&63)|0],Q=p+3|0,ee){if((0|j)==3)break r;k[p+3|0]=S[1024+(B>>>18|0)|0],Q=p+4|0}}if(j=ke-(B=Q)|0,B)continue;break r}break}p>>>0>=Z>>>0||(k[0|p]=0,b=h)}if(b){if(qre(f=v+20|0))break t;if(c=vH(f,c,H,h,L),xH(f),c){f=0;break e}}}a[9404]=de}f=-1}return Ie=v+128|0,0|f},wj:function(f,c,h,p){c|=0,p|=0;var b,B,Q=0;b=f|=0,B=h|=0,h=0,Ie=p=Ie-128|0;e:{t:{for(;;){if(!S[h+b|0]){f=h;break t}if(!S[b+(f=h+1|0)|0]||!S[b+(f=h+2|0)|0])break t;if((0|(h=h+3|0))==102)break}h=-1;break e}h=-1,(0|f)==101&&(qre(Q=p+4|0)||(yo(f=p+16|0,0,102),c=vH(Q,c,B,b,f),xH(Q),c&&(h=Ul(f,b,102),bn(f,102))))}return Ie=p+128|0,0|h},xj:function(f,c,h,p){var b,B;B=f|=0,Ie=b=Ie-32|0,pM(c|=0,h|=0,p|=0,b+28|0,b+20|0,b+12|0),f=0;e:{t:{r:{for(;;){if(S[f+B|0]){if(S[B+(c=f+1|0)|0]&&S[B+(c=f+2|0)|0]){if((0|(f=f+3|0))!=102)continue;break r}}else c=f;break}if((0|c)==101){if(h=b+8|0,p=b+16|0,f=0,S[0|B]!=36|S[B+1|0]!=55|S[B+2|0]!=36||(c=O8(S[B+3|0]),a[b+24>>2]=c?c-1024|0:0,c&&(c=IH(h,B+4|0))&&(f=IH(p,c))),f)break t;a[9404]=28,f=-1;break e}}a[9404]=28,f=-1;break e}f=1,a[b+28>>2]!=a[b+24>>2]|a[b+12>>2]!=a[b+8>>2]||(f=a[b+20>>2]!=a[b+16>>2])}return Ie=b+32|0,0|f},yj:function(f,c,h){return 0|EH(f|=0,c|=0,h|=0,1)},zj:function(f,c,h){return 0|EH(f|=0,c|=0,h|=0,0)},Aj:function(f,c){return 0|RH(f|=0,c|=0,1)},Bj:function(f,c){return 0|RH(f|=0,c|=0,0)},Cj:Ai,Dj:Ai,Ej:function(f,c,h){f|=0,c|=0;var p,b=0;return Ie=p=Ie-320|0,b=-1,GS(p,h|=0)||(k[0|f]=S[0|c],k[f+1|0]=S[c+1|0],k[f+2|0]=S[c+2|0],k[f+3|0]=S[c+3|0],k[f+4|0]=S[c+4|0],k[f+5|0]=S[c+5|0],k[f+6|0]=S[c+6|0],k[f+7|0]=S[c+7|0],k[f+8|0]=S[c+8|0],k[f+9|0]=S[c+9|0],k[f+10|0]=S[c+10|0],k[f+11|0]=S[c+11|0],k[f+12|0]=S[c+12|0],k[f+13|0]=S[c+13|0],k[f+14|0]=S[c+14|0],k[f+15|0]=S[c+15|0],k[f+16|0]=S[c+16|0],k[f+17|0]=S[c+17|0],k[f+18|0]=S[c+18|0],k[f+19|0]=S[c+19|0],k[f+20|0]=S[c+20|0],k[f+21|0]=S[c+21|0],k[f+22|0]=S[c+22|0],k[f+23|0]=S[c+23|0],k[f+24|0]=S[c+24|0],k[f+25|0]=S[c+25|0],k[f+26|0]=S[c+26|0],k[f+27|0]=S[c+27|0],k[f+28|0]=S[c+28|0],k[f+29|0]=S[c+29|0],k[f+30|0]=S[c+30|0],k[f+31|0]=127&S[c+31|0],l0(c=p+160|0,f,p),I8(f,c),b=ya(f,32)?-1:0),Ie=p+320|0,0|b},Fj:function(f,c){var h;return c|=0,Ie=h=Ie-160|0,k[0|(f|=0)]=S[0|c],k[f+1|0]=S[c+1|0],k[f+2|0]=S[c+2|0],k[f+3|0]=S[c+3|0],k[f+4|0]=S[c+4|0],k[f+5|0]=S[c+5|0],k[f+6|0]=S[c+6|0],k[f+7|0]=S[c+7|0],k[f+8|0]=S[c+8|0],k[f+9|0]=S[c+9|0],k[f+10|0]=S[c+10|0],k[f+11|0]=S[c+11|0],k[f+12|0]=S[c+12|0],k[f+13|0]=S[c+13|0],k[f+14|0]=S[c+14|0],k[f+15|0]=S[c+15|0],k[f+16|0]=S[c+16|0],k[f+17|0]=S[c+17|0],k[f+18|0]=S[c+18|0],k[f+19|0]=S[c+19|0],k[f+20|0]=S[c+20|0],k[f+21|0]=S[c+21|0],k[f+22|0]=S[c+22|0],k[f+23|0]=S[c+23|0],k[f+24|0]=S[c+24|0],k[f+25|0]=S[c+25|0],k[f+26|0]=S[c+26|0],k[f+27|0]=S[c+27|0],k[f+28|0]=S[c+28|0],k[f+29|0]=S[c+29|0],k[f+30|0]=S[c+30|0],k[f+31|0]=127&S[c+31|0],qS(h,f),I8(f,h),f=ya(f,32),Ie=h+160|0,0|(f?-1:0)},Gj:Ai,Hj:Ai,Ij:eBe,Jj:function(f,c,h,p,b,B){return f|=0,c|=0,b|=0,B|=0,!(p|=0)&(h|=0)>>>0>=4294967280|p&&(Bs(),Rr()),Fe(f+16|0,f,c,h,p,b,B),0},Kj:tBe,Lj:VTe,Mj:Ai,Nj:tm,Oj:ta,Pj:hv,Qj:ta,Rj:ta,Sj:function(f,c,h,p,b){f|=0,c|=0,h|=0,p|=0;var B,Q,v=0,L=0,H=0,j=0,re=0,Z=0,ee=0,de=0,we=0,ke=0,ye=0,Me=0,Ve=0,We=0;if(ye=1886610805^(v=S[0|(b|=0)]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24),ke=1936682341^(L=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24),v^=1852142177,H=1819895653^L,Me=1852075907^(L=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24),Ve=1685025377^(b=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24),j=2037671283^L,L=1952801890^b,de=h,(0|(Q=(h+c|0)-(B=7&h)|0))!=(0|c))for(;h=(Z=L^(We=S[c+4|0]|S[c+5|0]<<8|S[c+6|0]<<16|S[c+7|0]<<24))+H|0,j=p=v+(b=j^(ee=S[0|c]|S[c+1|0]<<8|S[c+2|0]<<16|S[c+3|0]<<24))|0,re=h=p>>>0<b>>>0?h+1|0:h,v=p,p=h,h=ke+Ve|0,h=(L=ye+Me|0)>>>0<ye>>>0?h+1|0:h,we=(H=Ke(Me,Ve,13)^L)+v|0,p=(v=$^h)+p|0,v=Ke(H,v,17)^we,ye=Ke(v,p=(H=H>>>0>we>>>0?p+1|0:p)^$,13),ke=$,Z=Ke(b,Z,16),b=re^$,Z^=j,re=Ke(L,h,32),h=$+b|0,h=(j=p)+(p=(L=Z+re|0)>>>0<re>>>0?h+1|0:h)|0,re=h=(j=v+L|0)>>>0<L>>>0?h+1|0:h,ye=Ke(v=j^ye,h^=ke,17),ke=$,Z=Ke(Z,b,21),b=p^$,Z^=L,L=Ke(we,H,32),p=$+b|0,h=(L=(H=Z+L|0)>>>0<L>>>0?p+1|0:p)+h|0,Me=(v=v+H|0)^ye,p=h=v>>>0<H>>>0?h+1|0:h,Ve=h^ke,h=Ke(Z,b,16),Z=L^=$,we=Ke(h^=H,L,21),H=$,re=(L=Ke(j,re,32))+h|0,h=$+Z|0,j=re^we,L=(h=L>>>0>re>>>0?h+1|0:h)^H,v=Ke(v,p,32),H=$,ye=ee^re,ke=h^We,(0|Q)!=(0|(c=c+8|0)););switch(ee=0,b=de<<24,B-1|0){case 6:b|=S[c+6|0]<<16;case 5:b|=S[c+5|0]<<8;case 4:b|=S[c+4|0];case 3:ee|=(h=S[c+3|0])<<24,b|=p=h>>>8|0;case 2:ee|=(p=S[c+2|0])<<16,b|=h=p>>>16|0;case 1:ee|=(h=S[c+1|0])<<8,b|=p=h>>>24|0;case 0:ee=S[0|c]|ee}return we=b,c=b^L,p=Ke(b=j^ee,c,16),c=c+H|0,re=c=(j=b+v|0)>>>0<v>>>0?c+1|0:c,de=Ke(b=p^j,c^=h=$,21),L=$,h=ke+Ve|0,p=h=(v=ye+Me|0)>>>0<ye>>>0?h+1|0:h,H=b,b=Ke(v,h,32),h=$+c|0,c=L,L=h=b>>>0>(H=H+b|0)>>>0?h+1|0:h,ye=Ke(b=H^de,c^=h,16),ke=$,h=(v=Z=Ke(Me,Ve,13)^v)+j|0,p=(j=$^p)+re|0,re=b,b=Ke(h,p=h>>>0<v>>>0?p+1|0:p,32),c=$+c|0,We=b=(v=b>>>0>(de=re+b|0)>>>0?c+1|0:c)^ke,re=ye^=de,ke=Ke(Z,j,17)^h,h=(Z=$^p)+L|0,c=h=(p=H=(c=ke)+H|0)>>>0<c>>>0?h+1|0:h,L=Ke(p,h,32),h=$+b|0,H=(j=L+re|0)^ee,we^=re=L>>>0>j>>>0?h+1|0:h,b=Ke(ke,Z,13)^p,p=Ke(b,c^=$,17),c=c+v|0,b=p^(L=b+de|0),p=c=L>>>0<de>>>0?c+1|0:c,h=(c^=h=$)+we|0,h=b>>>0>(H=b+H|0)>>>0?h+1|0:h,b=Ke(b,c,13)^H,v=h,de=Ke(b,c=h^$,17),ee=$,we=Ke(ye,We,21),Z=re^$,re=j^we,L=238^Ke(L,p,32),h=$+Z|0,h=(we=c)+(c=(p=re+L|0)>>>0<L>>>0?h+1|0:h)|0,L=h=(j=p+b|0)>>>0<p>>>0?h+1|0:h,ee=Ke(b=j^de,h^=ee,13),we=$,re=Ke(re,Z,16),Z=c^$,de=p^re,p=Ke(H,v,32),c=$+Z|0,p=(H=h)+(h=p>>>0>(v=de+p|0)>>>0?c+1|0:c)|0,H=p=(re=b+v|0)>>>0<v>>>0?p+1|0:p,ee=Ke(b=ee^re,c=p^we,17),we=$,p=Ke(de,Z,21),Z=h^$,de=p^v,p=Ke(j,L,32),h=$+Z|0,h=(p=p>>>0>(v=de+p|0)>>>0?h+1|0:h)+c|0,L=h=(j=b+v|0)>>>0<v>>>0?h+1|0:h,ee=Ke(b=j^ee,c=h^we,13),we=$,h=Ke(de,Z,16),Z=p^$,de=h^v,h=Ke(re,H,32),p=$+Z|0,h=(p=h>>>0>(v=de+h|0)>>>0?p+1|0:p)+c|0,H=h=(re=b+v|0)>>>0<v>>>0?h+1|0:h,ee=Ke(b=ee^re,c=h^we,17),we=$,h=Ke(de,Z,21),Z=p^$,de=h^v,v=Ke(j,L,32),h=$+Z|0,c=(h=(p=de+v|0)>>>0<v>>>0?h+1|0:h)+c|0,v=c=(L=p+b|0)>>>0<p>>>0?c+1|0:c,ee=Ke(b=L^ee,c^=we,13),we=$,j=Ke(de,Z,16),de=h^$,j^=p,H=Ke(re,H,32),h=$+de|0,h=(re=c)+(c=(p=j+H|0)>>>0<H>>>0?h+1|0:h)|0,H=h=(re=p+b|0)>>>0<p>>>0?h+1|0:h,ee=Ke(b=ee^re,h^=we,17),we=$,j=Ke(j,de,21),de=c^$,j^=p,p=Ke(L,v,32),c=$+de|0,p=(L=h)+(h=p>>>0>(v=j+p|0)>>>0?c+1|0:c)|0,L=b=(p=(c=b+v|0)>>>0<v>>>0?p+1|0:p)^we,ee^=c,j=Ke(j,de,16),Z=h^$,v=(j^=v)+(H=Ke(re,H,32))|0,h=$+Z|0,c=Ke(c,p,32),de=$,p=h=v>>>0<H>>>0?h+1|0:h,H=f,j=(re=Ke(j,Z,21)^v)^c^v^ee,k[0|H]=j,k[H+1|0]=j>>>8,k[H+2|0]=j>>>16,k[H+3|0]=j>>>24,h=(Z=de^h^b)^(b=h^$),k[H+4|0]=h,k[H+5|0]=h>>>8,k[H+6|0]=h>>>16,k[H+7|0]=h>>>24,h=b+de|0,h=(H=c)>>>0>(c=c+re|0)>>>0?h+1|0:h,we=c,b=Ke(re,b,16)^c,re=h,de=c=h^$,p=(h=L)+p|0,L=v=(H=ee^=221)+v|0,v=Ke(v,p=v>>>0<H>>>0?p+1|0:p,32),c=$+c|0,c=v>>>0>(j=v+b|0)>>>0?c+1|0:c,v=Ke(b,de,21)^j,H=c,ke=Ke(v,b=c^$,16),Z=$,c=Ke(ee,h,13),h=re+(de=p^$)|0,c=h=(p=we+(ee=c^L)|0)>>>0<we>>>0?h+1|0:h,L=v,v=Ke(p,h,32),h=$+b|0,Z=h=(L=v>>>0>(re=L+v|0)>>>0?h+1|0:h)^Z,we=Ke(ke^=re,h,21),v=$,h=Ke(ee,de,17),c=H+(de=c^$)|0,p=c=(b=j+(ee=h^p)|0)>>>0<j>>>0?c+1|0:c,c=Ke(b,c,32),h=Z+$|0,Z=h=(H=v)^(v=(c=c+ke|0)>>>0<ke>>>0?h+1|0:h),H=c,we=Ke(ke=we^c,h,16),j=$,c=Ke(ee,de,13),h=L+(de=p^$)|0,c=Ke(b=re+(ee=c^b)|0,h=b>>>0<re>>>0?h+1|0:h,32),p=Z+$|0,Z=p=(L=(c=c+ke|0)>>>0<ke>>>0?p+1|0:p)^j,re=c,we=Ke(ke=we^c,p,21),j=$,c=Ke(ee,de,17),h=v+(de=h^$)|0,p=h=(b=H+(ee=c^b)|0)>>>0<H>>>0?h+1|0:h,c=Ke(b,h,32),h=Z+$|0,Z=h=(v=(c=c+ke|0)>>>0<ke>>>0?h+1|0:h)^j,H=c,we=Ke(ke=we^c,h,16),j=$,c=Ke(ee,de,13),p=L+(de=p^$)|0,h=Ke(b=re+(ee=c^b)|0,p=b>>>0<re>>>0?p+1|0:p,32),c=Z+$|0,L=h=h+ke|0,we=Ke(we^h,(c=h>>>0<ke>>>0?c+1|0:c)^j,21),j=$,re=Ke(ee,de,17),h=p^$,re=Ke(p=b^re,h,13),h=h+v|0,h=(p=p+H|0)>>>0<H>>>0?h+1|0:h,b=Ke(v=p^re,h^=b=$,17)^we,p=$^j,h=c+h|0,c=Ke(c=v+L|0,h=c>>>0<L>>>0?h+1|0:h,32)^b^c,k[f+8|0]=c,k[f+9|0]=c>>>8,k[f+10|0]=c>>>16,k[f+11|0]=c>>>24,c=h^$^p,k[f+12|0]=c,k[f+13|0]=c>>>8,k[f+14|0]=c>>>16,k[f+15|0]=c>>>24,0},Tj:function(f,c,h,p,b){f|=0,p|=0,b|=0;var B,Q=0,v=0,L=0,H=0;if(Ie=B=Ie-112|0,Q=c|=0,c|(v=h|=0)){c=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,a[B+24>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,a[B+28>>2]=c,c=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+16>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+20>>2]=c,c=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[B>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[B+4>>2]=c,c=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+8>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[B+12>>2]=c,c=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,h=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,a[B+104>>2]=0,a[B+108>>2]=0,a[B+96>>2]=c,a[B+100>>2]=h;e:{if(!v&Q>>>0>=64|v){for(;IM(f,B+96|0,B,0),c=S[B+104|0]+1|0,k[B+104|0]=c,c=S[B+105|0]+(c>>>8|0)|0,k[B+105|0]=c,c=S[B+106|0]+(c>>>8|0)|0,k[B+106|0]=c,c=S[B+107|0]+(c>>>8|0)|0,k[B+107|0]=c,c=S[B+108|0]+(c>>>8|0)|0,k[B+108|0]=c,c=S[B+109|0]+(c>>>8|0)|0,k[B+109|0]=c,c=S[B+110|0]+(c>>>8|0)|0,k[B+110|0]=c,k[B+111|0]=S[B+111|0]+(c>>>8|0),f=f- -64|0,v=v-1|0,!(v=(Q=Q+-64|0)>>>0<4294967232?v+1|0:v)&Q>>>0>63|v;);if(!(Q|v))break e}if(h=0,IM(B+32|0,B+96|0,B,0),p=3&Q,c=0,!v&Q>>>0>=4|v)for(v=60&Q,b=0;Q=H=B+32|0,k[f+c|0]=S[Q+c|0],k[(L=1|c)+f|0]=S[Q+L|0],k[(L=2|c)+f|0]=S[Q+L|0],k[(Q=3|c)+f|0]=S[Q+H|0],c=c+4|0,(0|v)!=(0|(b=b+4|0)););if(p)for(;k[f+c|0]=S[(B+32|0)+c|0],c=c+1|0,(0|p)!=(0|(h=h+1|0)););}bn(B+32|0,64),bn(B,32)}return Ie=B+112|0,0},Uj:function(f,c,h,p,b,B){f|=0,c|=0,b|=0,B|=0;var Q,v=0,L=0;if(Ie=Q=Ie-112|0,v=h|=0,(p|=0)|h){h=S[B+28|0]|S[B+29|0]<<8|S[B+30|0]<<16|S[B+31|0]<<24,a[Q+24>>2]=S[B+24|0]|S[B+25|0]<<8|S[B+26|0]<<16|S[B+27|0]<<24,a[Q+28>>2]=h,h=S[B+20|0]|S[B+21|0]<<8|S[B+22|0]<<16|S[B+23|0]<<24,a[Q+16>>2]=S[B+16|0]|S[B+17|0]<<8|S[B+18|0]<<16|S[B+19|0]<<24,a[Q+20>>2]=h,h=S[B+4|0]|S[B+5|0]<<8|S[B+6|0]<<16|S[B+7|0]<<24,a[Q>>2]=S[0|B]|S[B+1|0]<<8|S[B+2|0]<<16|S[B+3|0]<<24,a[Q+4>>2]=h,h=S[B+12|0]|S[B+13|0]<<8|S[B+14|0]<<16|S[B+15|0]<<24,a[Q+8>>2]=S[B+8|0]|S[B+9|0]<<8|S[B+10|0]<<16|S[B+11|0]<<24,a[Q+12>>2]=h,h=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,b=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[Q+104>>2]=0,a[Q+108>>2]=0,a[Q+96>>2]=h,a[Q+100>>2]=b;e:{if(!p&v>>>0>=64|p){for(;;){for(h=0,IM(Q+32|0,Q+96|0,Q,0);B=Q+32|0,k[f+h|0]=S[B+h|0]^S[c+h|0],k[(b=1|h)+f|0]=S[b+B|0]^S[c+b|0],(0|(h=h+2|0))!=64;);if(h=S[Q+104|0]+1|0,k[Q+104|0]=h,h=S[Q+105|0]+(h>>>8|0)|0,k[Q+105|0]=h,h=S[Q+106|0]+(h>>>8|0)|0,k[Q+106|0]=h,h=S[Q+107|0]+(h>>>8|0)|0,k[Q+107|0]=h,h=S[Q+108|0]+(h>>>8|0)|0,k[Q+108|0]=h,h=S[Q+109|0]+(h>>>8|0)|0,k[Q+109|0]=h,h=S[Q+110|0]+(h>>>8|0)|0,k[Q+110|0]=h,k[Q+111|0]=S[Q+111|0]+(h>>>8|0),c=c- -64|0,f=f- -64|0,p=p-1|0,!(!(p=(v=v+-64|0)>>>0<4294967232?p+1|0:p)&v>>>0>63|p))break}if(!(p|v))break e}if(h=0,IM(Q+32|0,Q+96|0,Q,0),B=1&v,(0|v)!=1|p)for(v&=62,p=0;L=Q+32|0,k[f+h|0]=S[L+h|0]^S[c+h|0],k[(b=1|h)+f|0]=S[b+L|0]^S[c+b|0],h=h+2|0,(0|v)!=(0|(p=p+2|0)););B&&(k[f+h|0]=S[(Q+32|0)+h|0]^S[c+h|0])}bn(Q+32|0,64),bn(Q,32)}return Ie=Q+112|0,0},Vj:Ai,Wj:Dy,Xj:Id,Yj:Wu,Zj:function(f,c,h,p,b){f|=0,p|=0,b|=0;var B,Q=0,v=0,L=0,H=0;if(Ie=B=Ie-112|0,Q=c|=0,c|(v=h|=0)){c=S[b+28|0]|S[b+29|0]<<8|S[b+30|0]<<16|S[b+31|0]<<24,a[B+24>>2]=S[b+24|0]|S[b+25|0]<<8|S[b+26|0]<<16|S[b+27|0]<<24,a[B+28>>2]=c,c=S[b+20|0]|S[b+21|0]<<8|S[b+22|0]<<16|S[b+23|0]<<24,a[B+16>>2]=S[b+16|0]|S[b+17|0]<<8|S[b+18|0]<<16|S[b+19|0]<<24,a[B+20>>2]=c,c=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[B>>2]=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,a[B+4>>2]=c,c=S[b+12|0]|S[b+13|0]<<8|S[b+14|0]<<16|S[b+15|0]<<24,a[B+8>>2]=S[b+8|0]|S[b+9|0]<<8|S[b+10|0]<<16|S[b+11|0]<<24,a[B+12>>2]=c,c=S[0|p]|S[p+1|0]<<8|S[p+2|0]<<16|S[p+3|0]<<24,h=S[p+4|0]|S[p+5|0]<<8|S[p+6|0]<<16|S[p+7|0]<<24,a[B+104>>2]=0,a[B+108>>2]=0,a[B+96>>2]=c,a[B+100>>2]=h;e:{if(!v&Q>>>0>=64|v){for(;CM(f,B+96|0,B,0),c=S[B+104|0]+1|0,k[B+104|0]=c,c=S[B+105|0]+(c>>>8|0)|0,k[B+105|0]=c,c=S[B+106|0]+(c>>>8|0)|0,k[B+106|0]=c,c=S[B+107|0]+(c>>>8|0)|0,k[B+107|0]=c,c=S[B+108|0]+(c>>>8|0)|0,k[B+108|0]=c,c=S[B+109|0]+(c>>>8|0)|0,k[B+109|0]=c,c=S[B+110|0]+(c>>>8|0)|0,k[B+110|0]=c,k[B+111|0]=S[B+111|0]+(c>>>8|0),f=f- -64|0,v=v-1|0,!(v=(Q=Q+-64|0)>>>0<4294967232?v+1|0:v)&Q>>>0>63|v;);if(!(Q|v))break e}if(h=0,CM(B+32|0,B+96|0,B,0),p=3&Q,c=0,!v&Q>>>0>=4|v)for(v=60&Q,b=0;Q=H=B+32|0,k[f+c|0]=S[Q+c|0],k[(L=1|c)+f|0]=S[Q+L|0],k[(L=2|c)+f|0]=S[Q+L|0],k[(Q=3|c)+f|0]=S[Q+H|0],c=c+4|0,(0|v)!=(0|(b=b+4|0)););if(p)for(;k[f+c|0]=S[(B+32|0)+c|0],c=c+1|0,(0|p)!=(0|(h=h+1|0)););}bn(B+32|0,64),bn(B,32)}return Ie=B+112|0,0},_j:function(f,c,h,p,b,B){f|=0,c|=0,b|=0,B|=0;var Q,v=0,L=0;if(Ie=Q=Ie-112|0,v=h|=0,(p|=0)|h){h=S[B+28|0]|S[B+29|0]<<8|S[B+30|0]<<16|S[B+31|0]<<24,a[Q+24>>2]=S[B+24|0]|S[B+25|0]<<8|S[B+26|0]<<16|S[B+27|0]<<24,a[Q+28>>2]=h,h=S[B+20|0]|S[B+21|0]<<8|S[B+22|0]<<16|S[B+23|0]<<24,a[Q+16>>2]=S[B+16|0]|S[B+17|0]<<8|S[B+18|0]<<16|S[B+19|0]<<24,a[Q+20>>2]=h,h=S[B+4|0]|S[B+5|0]<<8|S[B+6|0]<<16|S[B+7|0]<<24,a[Q>>2]=S[0|B]|S[B+1|0]<<8|S[B+2|0]<<16|S[B+3|0]<<24,a[Q+4>>2]=h,h=S[B+12|0]|S[B+13|0]<<8|S[B+14|0]<<16|S[B+15|0]<<24,a[Q+8>>2]=S[B+8|0]|S[B+9|0]<<8|S[B+10|0]<<16|S[B+11|0]<<24,a[Q+12>>2]=h,h=S[0|b]|S[b+1|0]<<8|S[b+2|0]<<16|S[b+3|0]<<24,b=S[b+4|0]|S[b+5|0]<<8|S[b+6|0]<<16|S[b+7|0]<<24,a[Q+104>>2]=0,a[Q+108>>2]=0,a[Q+96>>2]=h,a[Q+100>>2]=b;e:{if(!p&v>>>0>=64|p){for(;;){for(h=0,CM(Q+32|0,Q+96|0,Q,0);B=Q+32|0,k[f+h|0]=S[B+h|0]^S[c+h|0],k[(b=1|h)+f|0]=S[b+B|0]^S[c+b|0],(0|(h=h+2|0))!=64;);if(h=S[Q+104|0]+1|0,k[Q+104|0]=h,h=S[Q+105|0]+(h>>>8|0)|0,k[Q+105|0]=h,h=S[Q+106|0]+(h>>>8|0)|0,k[Q+106|0]=h,h=S[Q+107|0]+(h>>>8|0)|0,k[Q+107|0]=h,h=S[Q+108|0]+(h>>>8|0)|0,k[Q+108|0]=h,h=S[Q+109|0]+(h>>>8|0)|0,k[Q+109|0]=h,h=S[Q+110|0]+(h>>>8|0)|0,k[Q+110|0]=h,k[Q+111|0]=S[Q+111|0]+(h>>>8|0),c=c- -64|0,f=f- -64|0,p=p-1|0,!(!(p=(v=v+-64|0)>>>0<4294967232?p+1|0:p)&v>>>0>63|p))break}if(!(p|v))break e}if(h=0,CM(Q+32|0,Q+96|0,Q,0),B=1&v,(0|v)!=1|p)for(v&=62,p=0;L=Q+32|0,k[f+h|0]=S[L+h|0]^S[c+h|0],k[(b=1|h)+f|0]=S[b+L|0]^S[c+b|0],h=h+2|0,(0|v)!=(0|(p=p+2|0)););B&&(k[f+h|0]=S[(Q+32|0)+h|0]^S[c+h|0])}bn(Q+32|0,64),bn(Q,32)}return Ie=Q+112|0,0},$j:Ai,ak:Dy,bk:Id,ck:Wu,dk:Ai,ek:tm,fk:Id,gk:function(f,c,h,p,b){var B;return f|=0,c|=0,h|=0,Ie=B=Ie-32|0,Ll(B,p|=0,b|=0,0),f=RM(f,c,h,p+16|0,B),Ie=B+32|0,0|f},hk:function(f,c,h,p,b,B,Q,v){var L;return f|=0,c|=0,h|=0,p|=0,B|=0,Q|=0,Ie=L=Ie-32|0,Ll(L,b|=0,v|=0,0),f=x8(v=f,c,(f=0)|h,p,b+16|0,f|B,Q,L),Ie=L+32|0,0|f},ik:function(f,c,h,p,b,B){var Q;return f|=0,c|=0,h|=0,p|=0,Ie=Q=Ie-32|0,Ll(Q,b|=0,B|=0,0),f=x8(f,c,h,p,b+16|0,0,0,Q),Ie=Q+32|0,0|f},jk:Wu,kk:wo,lk:h0,mk:A0}})(De)})(qe)},instantiate:function(be,qe){return{then:function(De){var Je=new _e.Module(be);De({instance:new _e.Instance(Je,qe)})}}},RuntimeError:Error};zr=[];var Be,Ze,$t,at,zt,Hr,St,Yt=!1;function qr(){var be=ie.buffer;V.HEAP8=Be=new Int8Array(be),V.HEAP16=$t=new Int16Array(be),V.HEAPU8=Ze=new Uint8Array(be),V.HEAPU16=new Uint16Array(be),V.HEAP32=at=new Int32Array(be),V.HEAPU32=zt=new Uint32Array(be),V.HEAPF32=Hr=new Float32Array(be),V.HEAPF64=St=new Float64Array(be)}var tr=[],hr=[],Cn=[],er=0,pr=null,mn=null;function Xt(be){throw V.onAbort?.(be),ve(be="Aborted("+be+")"),Yt=!0,be+=". Build with -sASSERTIONS for more info.",new _e.RuntimeError(be)}var dr,wn=be=>be.startsWith("file://"),Qt={36800:()=>V.getRandomValue(),36836:()=>{if(V.getRandomValue===void 0)try{var be=typeof window=="object"?window:self,qe=be.crypto!==void 0?be.crypto:be.msCrypto;qe=qe===void 0?Je:qe;var De=function(){var Vt=new Uint32Array(1);return qe.getRandomValues(Vt),Vt[0]>>>0};De(),V.getRandomValue=De}catch{try{var Je=(IA(),Zu(Lv)),Rt=function(){var br=Je.randomBytes(4);return(br[0]<<24|br[1]<<16|br[2]<<8|br[3])>>>0};Rt(),V.getRandomValue=Rt}catch{throw"No secure random number generator found"}}}},fr=be=>{for(;be.length>0;)be.shift()(V)};V.noExitRuntime;var In,jt=typeof TextDecoder<"u"?new TextDecoder:void 0,ar=(be,qe)=>be?((De,Je,Rt)=>{for(var Vt=Je+Rt,br=Je;De[br]&&!(br>=Vt);)++br;if(br-Je>16&&De.buffer&&jt)return jt.decode(De.subarray(Je,br));for(var Rr="";Je<br;){var Dr=De[Je++];if(128&Dr){var Pr=63&De[Je++];if((224&Dr)!=192){var k=63&De[Je++];if((Dr=(240&Dr)==224?(15&Dr)<<12|Pr<<6|k:(7&Dr)<<18|Pr<<12|k<<6|63&De[Je++])<65536)Rr+=String.fromCharCode(Dr);else{var a=Dr-65536;Rr+=String.fromCharCode(55296|a>>10,56320|1023&a)}}else Rr+=String.fromCharCode((31&Dr)<<6|Pr)}else Rr+=String.fromCharCode(Dr)}return Rr})(Ze,be,qe):"",ht=[],Xe=be=>{var qe=(be-ie.buffer.byteLength+65535)/65536;try{return ie.grow(qe),qr(),1}catch{}},et={b:(be,qe,De,Je)=>{Xt(`Assertion failed: ${ar(be)}, at: `+[qe?ar(qe):"unknown filename",De,Je?ar(Je):"unknown function"])},c:()=>{Xt("")},a:(be,qe,De)=>((Je,Rt,Vt)=>{var br=((Rr,Dr)=>{var Pr;for(ht.length=0;Pr=Ze[Rr++];){var k=Pr!=105;Dr+=(k&=Pr!=112)&&Dr%8?4:0,ht.push(Pr==112?zt[Dr>>2]:Pr==105?at[Dr>>2]:St[Dr>>3]),Dr+=k?8:4}return ht})(Rt,Vt);return Qt[Je](...br)})(be,qe,De),d:be=>{var qe=Ze.length,De=2147483648;if((be>>>=0)>De)return!1;for(var Je,Rt=1;Rt<=4;Rt*=2){var Vt=qe*(1+.2/Rt);Vt=Math.min(Vt,be+100663296);var br=Math.min(De,(Je=Math.max(be,Vt))+(65536-Je%65536)%65536);if(Xe(br))return!0}return!1}},ue=(function(){var be={a:et};function qe(De,Je){var Rt;return ue=De.exports,ie=ue.e,qr(),Rt=ue.f,hr.unshift(Rt),(function(Vt){if(er--,V.monitorRunDependencies?.(er),er==0&&(pr!==null&&(clearInterval(pr),pr=null),mn)){var br=mn;mn=null,br()}})(),ue}if(er++,V.monitorRunDependencies?.(er),V.instantiateWasm)try{return V.instantiateWasm(be,qe)}catch(De){return ve(`Module.instantiateWasm callback failed with error: ${De}`),!1}return dr||(dr="<<< WASM_BINARY_FILE >>>"),(function(De,Je,Rt){(function(Vt){return Promise.resolve().then((()=>(function(br){if(br==dr&&zr)return new Uint8Array(zr);if(Le)return Le(br);throw"both async and sync fetching of the wasm failed"})(Vt)))})(De).then((Vt=>_e.instantiate(Vt,Je))).then(Rt,(Vt=>{ve(`failed to asynchronously prepare wasm: ${Vt}`),Xt(Vt)}))})(dr,be,(function(De){qe(De.instance)})),{}})();function je(){function be(){In||(In=!0,V.calledRun=!0,Yt||(fr(hr),V.onRuntimeInitialized?.(),(function(){if(V.postRun)for(typeof V.postRun=="function"&&(V.postRun=[V.postRun]);V.postRun.length;)qe=V.postRun.shift(),Cn.unshift(qe);var qe;fr(Cn)})()))}er>0||((function(){if(V.preRun)for(typeof V.preRun=="function"&&(V.preRun=[V.preRun]);V.preRun.length;)qe=V.preRun.shift(),tr.unshift(qe);var qe;fr(tr)})(),er>0||(V.setStatus?(V.setStatus("Running..."),setTimeout((function(){setTimeout((function(){V.setStatus("")}),1),be()}),1)):be()))}if(V._crypto_aead_aegis128l_keybytes=()=>(V._crypto_aead_aegis128l_keybytes=ue.g)(),V._crypto_aead_aegis128l_nsecbytes=()=>(V._crypto_aead_aegis128l_nsecbytes=ue.h)(),V._crypto_aead_aegis128l_npubbytes=()=>(V._crypto_aead_aegis128l_npubbytes=ue.i)(),V._crypto_aead_aegis128l_abytes=()=>(V._crypto_aead_aegis128l_abytes=ue.j)(),V._crypto_aead_aegis128l_messagebytes_max=()=>(V._crypto_aead_aegis128l_messagebytes_max=ue.k)(),V._crypto_aead_aegis128l_keygen=be=>(V._crypto_aead_aegis128l_keygen=ue.l)(be),V._crypto_aead_aegis128l_encrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis128l_encrypt=ue.m)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aegis128l_encrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a)=>(V._crypto_aead_aegis128l_encrypt_detached=ue.n)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a),V._crypto_aead_aegis128l_decrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis128l_decrypt=ue.o)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aegis128l_decrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis128l_decrypt_detached=ue.p)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aegis256_keybytes=()=>(V._crypto_aead_aegis256_keybytes=ue.q)(),V._crypto_aead_aegis256_nsecbytes=()=>(V._crypto_aead_aegis256_nsecbytes=ue.r)(),V._crypto_aead_aegis256_npubbytes=()=>(V._crypto_aead_aegis256_npubbytes=ue.s)(),V._crypto_aead_aegis256_abytes=()=>(V._crypto_aead_aegis256_abytes=ue.t)(),V._crypto_aead_aegis256_messagebytes_max=()=>(V._crypto_aead_aegis256_messagebytes_max=ue.u)(),V._crypto_aead_aegis256_keygen=be=>(V._crypto_aead_aegis256_keygen=ue.v)(be),V._crypto_aead_aegis256_encrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis256_encrypt=ue.w)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aegis256_encrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a)=>(V._crypto_aead_aegis256_encrypt_detached=ue.x)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a),V._crypto_aead_aegis256_decrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis256_decrypt=ue.y)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aegis256_decrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_aegis256_decrypt_detached=ue.z)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_aes256gcm_is_available=()=>(V._crypto_aead_aes256gcm_is_available=ue.A)(),V._crypto_aead_chacha20poly1305_encrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a)=>(V._crypto_aead_chacha20poly1305_encrypt_detached=ue.B)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a),V._crypto_aead_chacha20poly1305_encrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_encrypt=ue.C)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_ietf_encrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a)=>(V._crypto_aead_chacha20poly1305_ietf_encrypt_detached=ue.D)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a),V._crypto_aead_chacha20poly1305_ietf_encrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_ietf_encrypt=ue.E)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_decrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_decrypt_detached=ue.F)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_decrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_decrypt=ue.G)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_ietf_decrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_ietf_decrypt_detached=ue.H)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_ietf_decrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_chacha20poly1305_ietf_decrypt=ue.I)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_chacha20poly1305_ietf_keybytes=()=>(V._crypto_aead_chacha20poly1305_ietf_keybytes=ue.J)(),V._crypto_aead_chacha20poly1305_ietf_npubbytes=()=>(V._crypto_aead_chacha20poly1305_ietf_npubbytes=ue.K)(),V._crypto_aead_chacha20poly1305_ietf_nsecbytes=()=>(V._crypto_aead_chacha20poly1305_ietf_nsecbytes=ue.L)(),V._crypto_aead_chacha20poly1305_ietf_abytes=()=>(V._crypto_aead_chacha20poly1305_ietf_abytes=ue.M)(),V._crypto_aead_chacha20poly1305_ietf_messagebytes_max=()=>(V._crypto_aead_chacha20poly1305_ietf_messagebytes_max=ue.N)(),V._crypto_aead_chacha20poly1305_ietf_keygen=be=>(V._crypto_aead_chacha20poly1305_ietf_keygen=ue.O)(be),V._crypto_aead_chacha20poly1305_keybytes=()=>(V._crypto_aead_chacha20poly1305_keybytes=ue.P)(),V._crypto_aead_chacha20poly1305_npubbytes=()=>(V._crypto_aead_chacha20poly1305_npubbytes=ue.Q)(),V._crypto_aead_chacha20poly1305_nsecbytes=()=>(V._crypto_aead_chacha20poly1305_nsecbytes=ue.R)(),V._crypto_aead_chacha20poly1305_abytes=()=>(V._crypto_aead_chacha20poly1305_abytes=ue.S)(),V._crypto_aead_chacha20poly1305_messagebytes_max=()=>(V._crypto_aead_chacha20poly1305_messagebytes_max=ue.T)(),V._crypto_aead_chacha20poly1305_keygen=be=>(V._crypto_aead_chacha20poly1305_keygen=ue.U)(be),V._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a)=>(V._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=ue.V)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a),V._crypto_aead_xchacha20poly1305_ietf_encrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_xchacha20poly1305_ietf_encrypt=ue.W)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=ue.X)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_xchacha20poly1305_ietf_decrypt=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_aead_xchacha20poly1305_ietf_decrypt=ue.Y)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_aead_xchacha20poly1305_ietf_keybytes=()=>(V._crypto_aead_xchacha20poly1305_ietf_keybytes=ue.Z)(),V._crypto_aead_xchacha20poly1305_ietf_npubbytes=()=>(V._crypto_aead_xchacha20poly1305_ietf_npubbytes=ue._)(),V._crypto_aead_xchacha20poly1305_ietf_nsecbytes=()=>(V._crypto_aead_xchacha20poly1305_ietf_nsecbytes=ue.$)(),V._crypto_aead_xchacha20poly1305_ietf_abytes=()=>(V._crypto_aead_xchacha20poly1305_ietf_abytes=ue.aa)(),V._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=()=>(V._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=ue.ba)(),V._crypto_aead_xchacha20poly1305_ietf_keygen=be=>(V._crypto_aead_xchacha20poly1305_ietf_keygen=ue.ca)(be),V._crypto_auth_bytes=()=>(V._crypto_auth_bytes=ue.da)(),V._crypto_auth_keybytes=()=>(V._crypto_auth_keybytes=ue.ea)(),V._crypto_auth_primitive=()=>(V._crypto_auth_primitive=ue.fa)(),V._crypto_auth=(be,qe,De,Je,Rt)=>(V._crypto_auth=ue.ga)(be,qe,De,Je,Rt),V._crypto_auth_verify=(be,qe,De,Je,Rt)=>(V._crypto_auth_verify=ue.ha)(be,qe,De,Je,Rt),V._crypto_auth_keygen=be=>(V._crypto_auth_keygen=ue.ia)(be),V._crypto_auth_hmacsha256_bytes=()=>(V._crypto_auth_hmacsha256_bytes=ue.ja)(),V._crypto_auth_hmacsha256_keybytes=()=>(V._crypto_auth_hmacsha256_keybytes=ue.ka)(),V._crypto_auth_hmacsha256_statebytes=()=>(V._crypto_auth_hmacsha256_statebytes=ue.la)(),V._crypto_auth_hmacsha256_keygen=be=>(V._crypto_auth_hmacsha256_keygen=ue.ma)(be),V._crypto_auth_hmacsha256_init=(be,qe,De)=>(V._crypto_auth_hmacsha256_init=ue.na)(be,qe,De),V._crypto_auth_hmacsha256_update=(be,qe,De,Je)=>(V._crypto_auth_hmacsha256_update=ue.oa)(be,qe,De,Je),V._crypto_auth_hmacsha256_final=(be,qe)=>(V._crypto_auth_hmacsha256_final=ue.pa)(be,qe),V._crypto_auth_hmacsha256=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha256=ue.qa)(be,qe,De,Je,Rt),V._crypto_auth_hmacsha256_verify=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha256_verify=ue.ra)(be,qe,De,Je,Rt),V._crypto_auth_hmacsha512_bytes=()=>(V._crypto_auth_hmacsha512_bytes=ue.sa)(),V._crypto_auth_hmacsha512_keybytes=()=>(V._crypto_auth_hmacsha512_keybytes=ue.ta)(),V._crypto_auth_hmacsha512_statebytes=()=>(V._crypto_auth_hmacsha512_statebytes=ue.ua)(),V._crypto_auth_hmacsha512_keygen=be=>(V._crypto_auth_hmacsha512_keygen=ue.va)(be),V._crypto_auth_hmacsha512_init=(be,qe,De)=>(V._crypto_auth_hmacsha512_init=ue.wa)(be,qe,De),V._crypto_auth_hmacsha512_update=(be,qe,De,Je)=>(V._crypto_auth_hmacsha512_update=ue.xa)(be,qe,De,Je),V._crypto_auth_hmacsha512_final=(be,qe)=>(V._crypto_auth_hmacsha512_final=ue.ya)(be,qe),V._crypto_auth_hmacsha512=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha512=ue.za)(be,qe,De,Je,Rt),V._crypto_auth_hmacsha512_verify=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha512_verify=ue.Aa)(be,qe,De,Je,Rt),V._crypto_auth_hmacsha512256_bytes=()=>(V._crypto_auth_hmacsha512256_bytes=ue.Ba)(),V._crypto_auth_hmacsha512256_keybytes=()=>(V._crypto_auth_hmacsha512256_keybytes=ue.Ca)(),V._crypto_auth_hmacsha512256_statebytes=()=>(V._crypto_auth_hmacsha512256_statebytes=ue.Da)(),V._crypto_auth_hmacsha512256_keygen=be=>(V._crypto_auth_hmacsha512256_keygen=ue.Ea)(be),V._crypto_auth_hmacsha512256_init=(be,qe,De)=>(V._crypto_auth_hmacsha512256_init=ue.Fa)(be,qe,De),V._crypto_auth_hmacsha512256_update=(be,qe,De,Je)=>(V._crypto_auth_hmacsha512256_update=ue.Ga)(be,qe,De,Je),V._crypto_auth_hmacsha512256_final=(be,qe)=>(V._crypto_auth_hmacsha512256_final=ue.Ha)(be,qe),V._crypto_auth_hmacsha512256=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha512256=ue.Ia)(be,qe,De,Je,Rt),V._crypto_auth_hmacsha512256_verify=(be,qe,De,Je,Rt)=>(V._crypto_auth_hmacsha512256_verify=ue.Ja)(be,qe,De,Je,Rt),V._crypto_box_seedbytes=()=>(V._crypto_box_seedbytes=ue.Ka)(),V._crypto_box_publickeybytes=()=>(V._crypto_box_publickeybytes=ue.La)(),V._crypto_box_secretkeybytes=()=>(V._crypto_box_secretkeybytes=ue.Ma)(),V._crypto_box_beforenmbytes=()=>(V._crypto_box_beforenmbytes=ue.Na)(),V._crypto_box_noncebytes=()=>(V._crypto_box_noncebytes=ue.Oa)(),V._crypto_box_zerobytes=()=>(V._crypto_box_zerobytes=ue.Pa)(),V._crypto_box_boxzerobytes=()=>(V._crypto_box_boxzerobytes=ue.Qa)(),V._crypto_box_macbytes=()=>(V._crypto_box_macbytes=ue.Ra)(),V._crypto_box_messagebytes_max=()=>(V._crypto_box_messagebytes_max=ue.Sa)(),V._crypto_box_primitive=()=>(V._crypto_box_primitive=ue.Ta)(),V._crypto_box_seed_keypair=(be,qe,De)=>(V._crypto_box_seed_keypair=ue.Ua)(be,qe,De),V._crypto_box_keypair=(be,qe)=>(V._crypto_box_keypair=ue.Va)(be,qe),V._crypto_box_beforenm=(be,qe,De)=>(V._crypto_box_beforenm=ue.Wa)(be,qe,De),V._crypto_box_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_afternm=ue.Xa)(be,qe,De,Je,Rt,Vt),V._crypto_box_open_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_open_afternm=ue.Ya)(be,qe,De,Je,Rt,Vt),V._crypto_box=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box=ue.Za)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_open=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_open=ue._a)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_detached_afternm=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_detached_afternm=ue.$a)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_detached=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_box_detached=ue.ab)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_box_easy_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_easy_afternm=ue.bb)(be,qe,De,Je,Rt,Vt),V._crypto_box_easy=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_easy=ue.cb)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_open_detached_afternm=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_open_detached_afternm=ue.db)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_open_detached=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_box_open_detached=ue.eb)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_box_open_easy_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_open_easy_afternm=ue.fb)(be,qe,De,Je,Rt,Vt),V._crypto_box_open_easy=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_open_easy=ue.gb)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_seal=(be,qe,De,Je,Rt)=>(V._crypto_box_seal=ue.hb)(be,qe,De,Je,Rt),V._crypto_box_seal_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_seal_open=ue.ib)(be,qe,De,Je,Rt,Vt),V._crypto_box_sealbytes=()=>(V._crypto_box_sealbytes=ue.jb)(),V._crypto_box_curve25519xsalsa20poly1305_seed_keypair=(be,qe,De)=>(V._crypto_box_curve25519xsalsa20poly1305_seed_keypair=ue.kb)(be,qe,De),V._crypto_box_curve25519xsalsa20poly1305_keypair=(be,qe)=>(V._crypto_box_curve25519xsalsa20poly1305_keypair=ue.lb)(be,qe),V._crypto_box_curve25519xsalsa20poly1305_beforenm=(be,qe,De)=>(V._crypto_box_curve25519xsalsa20poly1305_beforenm=ue.mb)(be,qe,De),V._crypto_box_curve25519xsalsa20poly1305_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_curve25519xsalsa20poly1305_afternm=ue.nb)(be,qe,De,Je,Rt,Vt),V._crypto_box_curve25519xsalsa20poly1305_open_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_curve25519xsalsa20poly1305_open_afternm=ue.ob)(be,qe,De,Je,Rt,Vt),V._crypto_box_curve25519xsalsa20poly1305=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xsalsa20poly1305=ue.pb)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xsalsa20poly1305_open=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xsalsa20poly1305_open=ue.qb)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xsalsa20poly1305_seedbytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_seedbytes=ue.rb)(),V._crypto_box_curve25519xsalsa20poly1305_publickeybytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_publickeybytes=ue.sb)(),V._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=ue.tb)(),V._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=ue.ub)(),V._crypto_box_curve25519xsalsa20poly1305_noncebytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_noncebytes=ue.vb)(),V._crypto_box_curve25519xsalsa20poly1305_zerobytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_zerobytes=ue.wb)(),V._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=ue.xb)(),V._crypto_box_curve25519xsalsa20poly1305_macbytes=()=>(V._crypto_box_curve25519xsalsa20poly1305_macbytes=ue.yb)(),V._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=()=>(V._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=ue.zb)(),V._crypto_core_hchacha20=(be,qe,De,Je)=>(V._crypto_core_hchacha20=ue.Ab)(be,qe,De,Je),V._crypto_core_hchacha20_outputbytes=()=>(V._crypto_core_hchacha20_outputbytes=ue.Bb)(),V._crypto_core_hchacha20_inputbytes=()=>(V._crypto_core_hchacha20_inputbytes=ue.Cb)(),V._crypto_core_hchacha20_keybytes=()=>(V._crypto_core_hchacha20_keybytes=ue.Db)(),V._crypto_core_hchacha20_constbytes=()=>(V._crypto_core_hchacha20_constbytes=ue.Eb)(),V._crypto_core_hsalsa20=(be,qe,De,Je)=>(V._crypto_core_hsalsa20=ue.Fb)(be,qe,De,Je),V._crypto_core_hsalsa20_outputbytes=()=>(V._crypto_core_hsalsa20_outputbytes=ue.Gb)(),V._crypto_core_hsalsa20_inputbytes=()=>(V._crypto_core_hsalsa20_inputbytes=ue.Hb)(),V._crypto_core_hsalsa20_keybytes=()=>(V._crypto_core_hsalsa20_keybytes=ue.Ib)(),V._crypto_core_hsalsa20_constbytes=()=>(V._crypto_core_hsalsa20_constbytes=ue.Jb)(),V._crypto_core_salsa20=(be,qe,De,Je)=>(V._crypto_core_salsa20=ue.Kb)(be,qe,De,Je),V._crypto_core_salsa20_outputbytes=()=>(V._crypto_core_salsa20_outputbytes=ue.Lb)(),V._crypto_core_salsa20_inputbytes=()=>(V._crypto_core_salsa20_inputbytes=ue.Mb)(),V._crypto_core_salsa20_keybytes=()=>(V._crypto_core_salsa20_keybytes=ue.Nb)(),V._crypto_core_salsa20_constbytes=()=>(V._crypto_core_salsa20_constbytes=ue.Ob)(),V._crypto_core_salsa2012=(be,qe,De,Je)=>(V._crypto_core_salsa2012=ue.Pb)(be,qe,De,Je),V._crypto_core_salsa2012_outputbytes=()=>(V._crypto_core_salsa2012_outputbytes=ue.Qb)(),V._crypto_core_salsa2012_inputbytes=()=>(V._crypto_core_salsa2012_inputbytes=ue.Rb)(),V._crypto_core_salsa2012_keybytes=()=>(V._crypto_core_salsa2012_keybytes=ue.Sb)(),V._crypto_core_salsa2012_constbytes=()=>(V._crypto_core_salsa2012_constbytes=ue.Tb)(),V._crypto_core_salsa208=(be,qe,De,Je)=>(V._crypto_core_salsa208=ue.Ub)(be,qe,De,Je),V._crypto_core_salsa208_outputbytes=()=>(V._crypto_core_salsa208_outputbytes=ue.Vb)(),V._crypto_core_salsa208_inputbytes=()=>(V._crypto_core_salsa208_inputbytes=ue.Wb)(),V._crypto_core_salsa208_keybytes=()=>(V._crypto_core_salsa208_keybytes=ue.Xb)(),V._crypto_core_salsa208_constbytes=()=>(V._crypto_core_salsa208_constbytes=ue.Yb)(),V._crypto_generichash_bytes_min=()=>(V._crypto_generichash_bytes_min=ue.Zb)(),V._crypto_generichash_bytes_max=()=>(V._crypto_generichash_bytes_max=ue._b)(),V._crypto_generichash_bytes=()=>(V._crypto_generichash_bytes=ue.$b)(),V._crypto_generichash_keybytes_min=()=>(V._crypto_generichash_keybytes_min=ue.ac)(),V._crypto_generichash_keybytes_max=()=>(V._crypto_generichash_keybytes_max=ue.bc)(),V._crypto_generichash_keybytes=()=>(V._crypto_generichash_keybytes=ue.cc)(),V._crypto_generichash_primitive=()=>(V._crypto_generichash_primitive=ue.dc)(),V._crypto_generichash_statebytes=()=>(V._crypto_generichash_statebytes=ue.ec)(),V._crypto_generichash=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_generichash=ue.fc)(be,qe,De,Je,Rt,Vt,br),V._crypto_generichash_init=(be,qe,De,Je)=>(V._crypto_generichash_init=ue.gc)(be,qe,De,Je),V._crypto_generichash_update=(be,qe,De,Je)=>(V._crypto_generichash_update=ue.hc)(be,qe,De,Je),V._crypto_generichash_final=(be,qe,De)=>(V._crypto_generichash_final=ue.ic)(be,qe,De),V._crypto_generichash_keygen=be=>(V._crypto_generichash_keygen=ue.jc)(be),V._crypto_generichash_blake2b_bytes_min=()=>(V._crypto_generichash_blake2b_bytes_min=ue.kc)(),V._crypto_generichash_blake2b_bytes_max=()=>(V._crypto_generichash_blake2b_bytes_max=ue.lc)(),V._crypto_generichash_blake2b_bytes=()=>(V._crypto_generichash_blake2b_bytes=ue.mc)(),V._crypto_generichash_blake2b_keybytes_min=()=>(V._crypto_generichash_blake2b_keybytes_min=ue.nc)(),V._crypto_generichash_blake2b_keybytes_max=()=>(V._crypto_generichash_blake2b_keybytes_max=ue.oc)(),V._crypto_generichash_blake2b_keybytes=()=>(V._crypto_generichash_blake2b_keybytes=ue.pc)(),V._crypto_generichash_blake2b_saltbytes=()=>(V._crypto_generichash_blake2b_saltbytes=ue.qc)(),V._crypto_generichash_blake2b_personalbytes=()=>(V._crypto_generichash_blake2b_personalbytes=ue.rc)(),V._crypto_generichash_blake2b_statebytes=()=>(V._crypto_generichash_blake2b_statebytes=ue.sc)(),V._crypto_generichash_blake2b_keygen=be=>(V._crypto_generichash_blake2b_keygen=ue.tc)(be),V._crypto_generichash_blake2b=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_generichash_blake2b=ue.uc)(be,qe,De,Je,Rt,Vt,br),V._crypto_generichash_blake2b_salt_personal=(be,qe,De,Je,Rt,Vt,br,Rr,Dr)=>(V._crypto_generichash_blake2b_salt_personal=ue.vc)(be,qe,De,Je,Rt,Vt,br,Rr,Dr),V._crypto_generichash_blake2b_init=(be,qe,De,Je)=>(V._crypto_generichash_blake2b_init=ue.wc)(be,qe,De,Je),V._crypto_generichash_blake2b_init_salt_personal=(be,qe,De,Je,Rt,Vt)=>(V._crypto_generichash_blake2b_init_salt_personal=ue.xc)(be,qe,De,Je,Rt,Vt),V._crypto_generichash_blake2b_update=(be,qe,De,Je)=>(V._crypto_generichash_blake2b_update=ue.yc)(be,qe,De,Je),V._crypto_generichash_blake2b_final=(be,qe,De)=>(V._crypto_generichash_blake2b_final=ue.zc)(be,qe,De),V._crypto_hash_bytes=()=>(V._crypto_hash_bytes=ue.Ac)(),V._crypto_hash=(be,qe,De,Je)=>(V._crypto_hash=ue.Bc)(be,qe,De,Je),V._crypto_hash_primitive=()=>(V._crypto_hash_primitive=ue.Cc)(),V._crypto_hash_sha256_bytes=()=>(V._crypto_hash_sha256_bytes=ue.Dc)(),V._crypto_hash_sha256_statebytes=()=>(V._crypto_hash_sha256_statebytes=ue.Ec)(),V._crypto_hash_sha256_init=be=>(V._crypto_hash_sha256_init=ue.Fc)(be),V._crypto_hash_sha256_update=(be,qe,De,Je)=>(V._crypto_hash_sha256_update=ue.Gc)(be,qe,De,Je),V._crypto_hash_sha256_final=(be,qe)=>(V._crypto_hash_sha256_final=ue.Hc)(be,qe),V._crypto_hash_sha256=(be,qe,De,Je)=>(V._crypto_hash_sha256=ue.Ic)(be,qe,De,Je),V._crypto_hash_sha512_bytes=()=>(V._crypto_hash_sha512_bytes=ue.Jc)(),V._crypto_hash_sha512_statebytes=()=>(V._crypto_hash_sha512_statebytes=ue.Kc)(),V._crypto_hash_sha512_init=be=>(V._crypto_hash_sha512_init=ue.Lc)(be),V._crypto_hash_sha512_update=(be,qe,De,Je)=>(V._crypto_hash_sha512_update=ue.Mc)(be,qe,De,Je),V._crypto_hash_sha512_final=(be,qe)=>(V._crypto_hash_sha512_final=ue.Nc)(be,qe),V._crypto_hash_sha512=(be,qe,De,Je)=>(V._crypto_hash_sha512=ue.Oc)(be,qe,De,Je),V._crypto_kdf_blake2b_bytes_min=()=>(V._crypto_kdf_blake2b_bytes_min=ue.Pc)(),V._crypto_kdf_blake2b_bytes_max=()=>(V._crypto_kdf_blake2b_bytes_max=ue.Qc)(),V._crypto_kdf_blake2b_contextbytes=()=>(V._crypto_kdf_blake2b_contextbytes=ue.Rc)(),V._crypto_kdf_blake2b_keybytes=()=>(V._crypto_kdf_blake2b_keybytes=ue.Sc)(),V._crypto_kdf_blake2b_derive_from_key=(be,qe,De,Je,Rt,Vt)=>(V._crypto_kdf_blake2b_derive_from_key=ue.Tc)(be,qe,De,Je,Rt,Vt),V._crypto_kdf_primitive=()=>(V._crypto_kdf_primitive=ue.Uc)(),V._crypto_kdf_bytes_min=()=>(V._crypto_kdf_bytes_min=ue.Vc)(),V._crypto_kdf_bytes_max=()=>(V._crypto_kdf_bytes_max=ue.Wc)(),V._crypto_kdf_contextbytes=()=>(V._crypto_kdf_contextbytes=ue.Xc)(),V._crypto_kdf_keybytes=()=>(V._crypto_kdf_keybytes=ue.Yc)(),V._crypto_kdf_derive_from_key=(be,qe,De,Je,Rt,Vt)=>(V._crypto_kdf_derive_from_key=ue.Zc)(be,qe,De,Je,Rt,Vt),V._crypto_kdf_keygen=be=>(V._crypto_kdf_keygen=ue._c)(be),V._crypto_kdf_hkdf_sha256_extract_init=(be,qe,De)=>(V._crypto_kdf_hkdf_sha256_extract_init=ue.$c)(be,qe,De),V._crypto_kdf_hkdf_sha256_extract_update=(be,qe,De)=>(V._crypto_kdf_hkdf_sha256_extract_update=ue.ad)(be,qe,De),V._crypto_kdf_hkdf_sha256_extract_final=(be,qe)=>(V._crypto_kdf_hkdf_sha256_extract_final=ue.bd)(be,qe),V._crypto_kdf_hkdf_sha256_extract=(be,qe,De,Je,Rt)=>(V._crypto_kdf_hkdf_sha256_extract=ue.cd)(be,qe,De,Je,Rt),V._crypto_kdf_hkdf_sha256_keygen=be=>(V._crypto_kdf_hkdf_sha256_keygen=ue.dd)(be),V._crypto_kdf_hkdf_sha256_expand=(be,qe,De,Je,Rt)=>(V._crypto_kdf_hkdf_sha256_expand=ue.ed)(be,qe,De,Je,Rt),V._crypto_kdf_hkdf_sha256_keybytes=()=>(V._crypto_kdf_hkdf_sha256_keybytes=ue.fd)(),V._crypto_kdf_hkdf_sha256_bytes_min=()=>(V._crypto_kdf_hkdf_sha256_bytes_min=ue.gd)(),V._crypto_kdf_hkdf_sha256_bytes_max=()=>(V._crypto_kdf_hkdf_sha256_bytes_max=ue.hd)(),V._crypto_kdf_hkdf_sha256_statebytes=()=>(V._crypto_kdf_hkdf_sha256_statebytes=ue.id)(),V._crypto_kdf_hkdf_sha512_extract_init=(be,qe,De)=>(V._crypto_kdf_hkdf_sha512_extract_init=ue.jd)(be,qe,De),V._crypto_kdf_hkdf_sha512_extract_update=(be,qe,De)=>(V._crypto_kdf_hkdf_sha512_extract_update=ue.kd)(be,qe,De),V._crypto_kdf_hkdf_sha512_extract_final=(be,qe)=>(V._crypto_kdf_hkdf_sha512_extract_final=ue.ld)(be,qe),V._crypto_kdf_hkdf_sha512_extract=(be,qe,De,Je,Rt)=>(V._crypto_kdf_hkdf_sha512_extract=ue.md)(be,qe,De,Je,Rt),V._crypto_kdf_hkdf_sha512_keygen=be=>(V._crypto_kdf_hkdf_sha512_keygen=ue.nd)(be),V._crypto_kdf_hkdf_sha512_expand=(be,qe,De,Je,Rt)=>(V._crypto_kdf_hkdf_sha512_expand=ue.od)(be,qe,De,Je,Rt),V._crypto_kdf_hkdf_sha512_keybytes=()=>(V._crypto_kdf_hkdf_sha512_keybytes=ue.pd)(),V._crypto_kdf_hkdf_sha512_bytes_min=()=>(V._crypto_kdf_hkdf_sha512_bytes_min=ue.qd)(),V._crypto_kdf_hkdf_sha512_bytes_max=()=>(V._crypto_kdf_hkdf_sha512_bytes_max=ue.rd)(),V._crypto_kdf_hkdf_sha512_statebytes=()=>(V._crypto_kdf_hkdf_sha512_statebytes=ue.sd)(),V._crypto_kx_seed_keypair=(be,qe,De)=>(V._crypto_kx_seed_keypair=ue.td)(be,qe,De),V._crypto_kx_keypair=(be,qe)=>(V._crypto_kx_keypair=ue.ud)(be,qe),V._crypto_kx_client_session_keys=(be,qe,De,Je,Rt)=>(V._crypto_kx_client_session_keys=ue.vd)(be,qe,De,Je,Rt),V._crypto_kx_server_session_keys=(be,qe,De,Je,Rt)=>(V._crypto_kx_server_session_keys=ue.wd)(be,qe,De,Je,Rt),V._crypto_kx_publickeybytes=()=>(V._crypto_kx_publickeybytes=ue.xd)(),V._crypto_kx_secretkeybytes=()=>(V._crypto_kx_secretkeybytes=ue.yd)(),V._crypto_kx_seedbytes=()=>(V._crypto_kx_seedbytes=ue.zd)(),V._crypto_kx_sessionkeybytes=()=>(V._crypto_kx_sessionkeybytes=ue.Ad)(),V._crypto_kx_primitive=()=>(V._crypto_kx_primitive=ue.Bd)(),V._crypto_onetimeauth_statebytes=()=>(V._crypto_onetimeauth_statebytes=ue.Cd)(),V._crypto_onetimeauth_bytes=()=>(V._crypto_onetimeauth_bytes=ue.Dd)(),V._crypto_onetimeauth_keybytes=()=>(V._crypto_onetimeauth_keybytes=ue.Ed)(),V._crypto_onetimeauth=(be,qe,De,Je,Rt)=>(V._crypto_onetimeauth=ue.Fd)(be,qe,De,Je,Rt),V._crypto_onetimeauth_verify=(be,qe,De,Je,Rt)=>(V._crypto_onetimeauth_verify=ue.Gd)(be,qe,De,Je,Rt),V._crypto_onetimeauth_init=(be,qe)=>(V._crypto_onetimeauth_init=ue.Hd)(be,qe),V._crypto_onetimeauth_update=(be,qe,De,Je)=>(V._crypto_onetimeauth_update=ue.Id)(be,qe,De,Je),V._crypto_onetimeauth_final=(be,qe)=>(V._crypto_onetimeauth_final=ue.Jd)(be,qe),V._crypto_onetimeauth_primitive=()=>(V._crypto_onetimeauth_primitive=ue.Kd)(),V._crypto_onetimeauth_keygen=be=>(V._crypto_onetimeauth_keygen=ue.Ld)(be),V._crypto_onetimeauth_poly1305=(be,qe,De,Je,Rt)=>(V._crypto_onetimeauth_poly1305=ue.Md)(be,qe,De,Je,Rt),V._crypto_onetimeauth_poly1305_verify=(be,qe,De,Je,Rt)=>(V._crypto_onetimeauth_poly1305_verify=ue.Nd)(be,qe,De,Je,Rt),V._crypto_onetimeauth_poly1305_init=(be,qe)=>(V._crypto_onetimeauth_poly1305_init=ue.Od)(be,qe),V._crypto_onetimeauth_poly1305_update=(be,qe,De,Je)=>(V._crypto_onetimeauth_poly1305_update=ue.Pd)(be,qe,De,Je),V._crypto_onetimeauth_poly1305_final=(be,qe)=>(V._crypto_onetimeauth_poly1305_final=ue.Qd)(be,qe),V._crypto_onetimeauth_poly1305_bytes=()=>(V._crypto_onetimeauth_poly1305_bytes=ue.Rd)(),V._crypto_onetimeauth_poly1305_keybytes=()=>(V._crypto_onetimeauth_poly1305_keybytes=ue.Sd)(),V._crypto_onetimeauth_poly1305_statebytes=()=>(V._crypto_onetimeauth_poly1305_statebytes=ue.Td)(),V._crypto_onetimeauth_poly1305_keygen=be=>(V._crypto_onetimeauth_poly1305_keygen=ue.Ud)(be),V._crypto_pwhash_argon2i_alg_argon2i13=()=>(V._crypto_pwhash_argon2i_alg_argon2i13=ue.Vd)(),V._crypto_pwhash_argon2i_bytes_min=()=>(V._crypto_pwhash_argon2i_bytes_min=ue.Wd)(),V._crypto_pwhash_argon2i_bytes_max=()=>(V._crypto_pwhash_argon2i_bytes_max=ue.Xd)(),V._crypto_pwhash_argon2i_passwd_min=()=>(V._crypto_pwhash_argon2i_passwd_min=ue.Yd)(),V._crypto_pwhash_argon2i_passwd_max=()=>(V._crypto_pwhash_argon2i_passwd_max=ue.Zd)(),V._crypto_pwhash_argon2i_saltbytes=()=>(V._crypto_pwhash_argon2i_saltbytes=ue._d)(),V._crypto_pwhash_argon2i_strbytes=()=>(V._crypto_pwhash_argon2i_strbytes=ue.$d)(),V._crypto_pwhash_argon2i_strprefix=()=>(V._crypto_pwhash_argon2i_strprefix=ue.ae)(),V._crypto_pwhash_argon2i_opslimit_min=()=>(V._crypto_pwhash_argon2i_opslimit_min=ue.be)(),V._crypto_pwhash_argon2i_opslimit_max=()=>(V._crypto_pwhash_argon2i_opslimit_max=ue.ce)(),V._crypto_pwhash_argon2i_memlimit_min=()=>(V._crypto_pwhash_argon2i_memlimit_min=ue.de)(),V._crypto_pwhash_argon2i_memlimit_max=()=>(V._crypto_pwhash_argon2i_memlimit_max=ue.ee)(),V._crypto_pwhash_argon2i_opslimit_interactive=()=>(V._crypto_pwhash_argon2i_opslimit_interactive=ue.fe)(),V._crypto_pwhash_argon2i_memlimit_interactive=()=>(V._crypto_pwhash_argon2i_memlimit_interactive=ue.ge)(),V._crypto_pwhash_argon2i_opslimit_moderate=()=>(V._crypto_pwhash_argon2i_opslimit_moderate=ue.he)(),V._crypto_pwhash_argon2i_memlimit_moderate=()=>(V._crypto_pwhash_argon2i_memlimit_moderate=ue.ie)(),V._crypto_pwhash_argon2i_opslimit_sensitive=()=>(V._crypto_pwhash_argon2i_opslimit_sensitive=ue.je)(),V._crypto_pwhash_argon2i_memlimit_sensitive=()=>(V._crypto_pwhash_argon2i_memlimit_sensitive=ue.ke)(),V._crypto_pwhash_argon2i=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_pwhash_argon2i=ue.le)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_pwhash_argon2i_str=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_pwhash_argon2i_str=ue.me)(be,qe,De,Je,Rt,Vt,br),V._crypto_pwhash_argon2i_str_verify=(be,qe,De,Je)=>(V._crypto_pwhash_argon2i_str_verify=ue.ne)(be,qe,De,Je),V._crypto_pwhash_argon2i_str_needs_rehash=(be,qe,De,Je)=>(V._crypto_pwhash_argon2i_str_needs_rehash=ue.oe)(be,qe,De,Je),V._crypto_pwhash_argon2id_str_needs_rehash=(be,qe,De,Je)=>(V._crypto_pwhash_argon2id_str_needs_rehash=ue.pe)(be,qe,De,Je),V._crypto_pwhash_argon2id_alg_argon2id13=()=>(V._crypto_pwhash_argon2id_alg_argon2id13=ue.qe)(),V._crypto_pwhash_argon2id_bytes_min=()=>(V._crypto_pwhash_argon2id_bytes_min=ue.re)(),V._crypto_pwhash_argon2id_bytes_max=()=>(V._crypto_pwhash_argon2id_bytes_max=ue.se)(),V._crypto_pwhash_argon2id_passwd_min=()=>(V._crypto_pwhash_argon2id_passwd_min=ue.te)(),V._crypto_pwhash_argon2id_passwd_max=()=>(V._crypto_pwhash_argon2id_passwd_max=ue.ue)(),V._crypto_pwhash_argon2id_saltbytes=()=>(V._crypto_pwhash_argon2id_saltbytes=ue.ve)(),V._crypto_pwhash_argon2id_strbytes=()=>(V._crypto_pwhash_argon2id_strbytes=ue.we)(),V._crypto_pwhash_argon2id_strprefix=()=>(V._crypto_pwhash_argon2id_strprefix=ue.xe)(),V._crypto_pwhash_argon2id_opslimit_min=()=>(V._crypto_pwhash_argon2id_opslimit_min=ue.ye)(),V._crypto_pwhash_argon2id_opslimit_max=()=>(V._crypto_pwhash_argon2id_opslimit_max=ue.ze)(),V._crypto_pwhash_argon2id_memlimit_min=()=>(V._crypto_pwhash_argon2id_memlimit_min=ue.Ae)(),V._crypto_pwhash_argon2id_memlimit_max=()=>(V._crypto_pwhash_argon2id_memlimit_max=ue.Be)(),V._crypto_pwhash_argon2id_opslimit_interactive=()=>(V._crypto_pwhash_argon2id_opslimit_interactive=ue.Ce)(),V._crypto_pwhash_argon2id_memlimit_interactive=()=>(V._crypto_pwhash_argon2id_memlimit_interactive=ue.De)(),V._crypto_pwhash_argon2id_opslimit_moderate=()=>(V._crypto_pwhash_argon2id_opslimit_moderate=ue.Ee)(),V._crypto_pwhash_argon2id_memlimit_moderate=()=>(V._crypto_pwhash_argon2id_memlimit_moderate=ue.Fe)(),V._crypto_pwhash_argon2id_opslimit_sensitive=()=>(V._crypto_pwhash_argon2id_opslimit_sensitive=ue.Ge)(),V._crypto_pwhash_argon2id_memlimit_sensitive=()=>(V._crypto_pwhash_argon2id_memlimit_sensitive=ue.He)(),V._crypto_pwhash_argon2id=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_pwhash_argon2id=ue.Ie)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_pwhash_argon2id_str=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_pwhash_argon2id_str=ue.Je)(be,qe,De,Je,Rt,Vt,br),V._crypto_pwhash_argon2id_str_verify=(be,qe,De,Je)=>(V._crypto_pwhash_argon2id_str_verify=ue.Ke)(be,qe,De,Je),V._crypto_pwhash_alg_argon2i13=()=>(V._crypto_pwhash_alg_argon2i13=ue.Le)(),V._crypto_pwhash_alg_argon2id13=()=>(V._crypto_pwhash_alg_argon2id13=ue.Me)(),V._crypto_pwhash_alg_default=()=>(V._crypto_pwhash_alg_default=ue.Ne)(),V._crypto_pwhash_bytes_min=()=>(V._crypto_pwhash_bytes_min=ue.Oe)(),V._crypto_pwhash_bytes_max=()=>(V._crypto_pwhash_bytes_max=ue.Pe)(),V._crypto_pwhash_passwd_min=()=>(V._crypto_pwhash_passwd_min=ue.Qe)(),V._crypto_pwhash_passwd_max=()=>(V._crypto_pwhash_passwd_max=ue.Re)(),V._crypto_pwhash_saltbytes=()=>(V._crypto_pwhash_saltbytes=ue.Se)(),V._crypto_pwhash_strbytes=()=>(V._crypto_pwhash_strbytes=ue.Te)(),V._crypto_pwhash_strprefix=()=>(V._crypto_pwhash_strprefix=ue.Ue)(),V._crypto_pwhash_opslimit_min=()=>(V._crypto_pwhash_opslimit_min=ue.Ve)(),V._crypto_pwhash_opslimit_max=()=>(V._crypto_pwhash_opslimit_max=ue.We)(),V._crypto_pwhash_memlimit_min=()=>(V._crypto_pwhash_memlimit_min=ue.Xe)(),V._crypto_pwhash_memlimit_max=()=>(V._crypto_pwhash_memlimit_max=ue.Ye)(),V._crypto_pwhash_opslimit_interactive=()=>(V._crypto_pwhash_opslimit_interactive=ue.Ze)(),V._crypto_pwhash_memlimit_interactive=()=>(V._crypto_pwhash_memlimit_interactive=ue._e)(),V._crypto_pwhash_opslimit_moderate=()=>(V._crypto_pwhash_opslimit_moderate=ue.$e)(),V._crypto_pwhash_memlimit_moderate=()=>(V._crypto_pwhash_memlimit_moderate=ue.af)(),V._crypto_pwhash_opslimit_sensitive=()=>(V._crypto_pwhash_opslimit_sensitive=ue.bf)(),V._crypto_pwhash_memlimit_sensitive=()=>(V._crypto_pwhash_memlimit_sensitive=ue.cf)(),V._crypto_pwhash=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k)=>(V._crypto_pwhash=ue.df)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k),V._crypto_pwhash_str=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_pwhash_str=ue.ef)(be,qe,De,Je,Rt,Vt,br),V._crypto_pwhash_str_alg=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_pwhash_str_alg=ue.ff)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_pwhash_str_verify=(be,qe,De,Je)=>(V._crypto_pwhash_str_verify=ue.gf)(be,qe,De,Je),V._crypto_pwhash_str_needs_rehash=(be,qe,De,Je)=>(V._crypto_pwhash_str_needs_rehash=ue.hf)(be,qe,De,Je),V._crypto_pwhash_primitive=()=>(V._crypto_pwhash_primitive=ue.jf)(),V._crypto_scalarmult_primitive=()=>(V._crypto_scalarmult_primitive=ue.kf)(),V._crypto_scalarmult_base=(be,qe)=>(V._crypto_scalarmult_base=ue.lf)(be,qe),V._crypto_scalarmult=(be,qe,De)=>(V._crypto_scalarmult=ue.mf)(be,qe,De),V._crypto_scalarmult_bytes=()=>(V._crypto_scalarmult_bytes=ue.nf)(),V._crypto_scalarmult_scalarbytes=()=>(V._crypto_scalarmult_scalarbytes=ue.of)(),V._crypto_scalarmult_curve25519=(be,qe,De)=>(V._crypto_scalarmult_curve25519=ue.pf)(be,qe,De),V._crypto_scalarmult_curve25519_base=(be,qe)=>(V._crypto_scalarmult_curve25519_base=ue.qf)(be,qe),V._crypto_scalarmult_curve25519_bytes=()=>(V._crypto_scalarmult_curve25519_bytes=ue.rf)(),V._crypto_scalarmult_curve25519_scalarbytes=()=>(V._crypto_scalarmult_curve25519_scalarbytes=ue.sf)(),V._crypto_secretbox_keybytes=()=>(V._crypto_secretbox_keybytes=ue.tf)(),V._crypto_secretbox_noncebytes=()=>(V._crypto_secretbox_noncebytes=ue.uf)(),V._crypto_secretbox_zerobytes=()=>(V._crypto_secretbox_zerobytes=ue.vf)(),V._crypto_secretbox_boxzerobytes=()=>(V._crypto_secretbox_boxzerobytes=ue.wf)(),V._crypto_secretbox_macbytes=()=>(V._crypto_secretbox_macbytes=ue.xf)(),V._crypto_secretbox_messagebytes_max=()=>(V._crypto_secretbox_messagebytes_max=ue.yf)(),V._crypto_secretbox_primitive=()=>(V._crypto_secretbox_primitive=ue.zf)(),V._crypto_secretbox=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox=ue.Af)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_open=ue.Bf)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_keygen=be=>(V._crypto_secretbox_keygen=ue.Cf)(be),V._crypto_secretbox_detached=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_secretbox_detached=ue.Df)(be,qe,De,Je,Rt,Vt,br),V._crypto_secretbox_easy=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_easy=ue.Ef)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_open_detached=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_secretbox_open_detached=ue.Ff)(be,qe,De,Je,Rt,Vt,br),V._crypto_secretbox_open_easy=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_open_easy=ue.Gf)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_xsalsa20poly1305=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_xsalsa20poly1305=ue.Hf)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_xsalsa20poly1305_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_xsalsa20poly1305_open=ue.If)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_xsalsa20poly1305_keybytes=()=>(V._crypto_secretbox_xsalsa20poly1305_keybytes=ue.Jf)(),V._crypto_secretbox_xsalsa20poly1305_noncebytes=()=>(V._crypto_secretbox_xsalsa20poly1305_noncebytes=ue.Kf)(),V._crypto_secretbox_xsalsa20poly1305_zerobytes=()=>(V._crypto_secretbox_xsalsa20poly1305_zerobytes=ue.Lf)(),V._crypto_secretbox_xsalsa20poly1305_boxzerobytes=()=>(V._crypto_secretbox_xsalsa20poly1305_boxzerobytes=ue.Mf)(),V._crypto_secretbox_xsalsa20poly1305_macbytes=()=>(V._crypto_secretbox_xsalsa20poly1305_macbytes=ue.Nf)(),V._crypto_secretbox_xsalsa20poly1305_messagebytes_max=()=>(V._crypto_secretbox_xsalsa20poly1305_messagebytes_max=ue.Of)(),V._crypto_secretbox_xsalsa20poly1305_keygen=be=>(V._crypto_secretbox_xsalsa20poly1305_keygen=ue.Pf)(be),V._crypto_secretstream_xchacha20poly1305_keygen=be=>(V._crypto_secretstream_xchacha20poly1305_keygen=ue.Qf)(be),V._crypto_secretstream_xchacha20poly1305_init_push=(be,qe,De)=>(V._crypto_secretstream_xchacha20poly1305_init_push=ue.Rf)(be,qe,De),V._crypto_secretstream_xchacha20poly1305_init_pull=(be,qe,De)=>(V._crypto_secretstream_xchacha20poly1305_init_pull=ue.Sf)(be,qe,De),V._crypto_secretstream_xchacha20poly1305_rekey=be=>(V._crypto_secretstream_xchacha20poly1305_rekey=ue.Tf)(be),V._crypto_secretstream_xchacha20poly1305_push=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr)=>(V._crypto_secretstream_xchacha20poly1305_push=ue.Uf)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr),V._crypto_secretstream_xchacha20poly1305_pull=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr)=>(V._crypto_secretstream_xchacha20poly1305_pull=ue.Vf)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr),V._crypto_secretstream_xchacha20poly1305_statebytes=()=>(V._crypto_secretstream_xchacha20poly1305_statebytes=ue.Wf)(),V._crypto_secretstream_xchacha20poly1305_abytes=()=>(V._crypto_secretstream_xchacha20poly1305_abytes=ue.Xf)(),V._crypto_secretstream_xchacha20poly1305_headerbytes=()=>(V._crypto_secretstream_xchacha20poly1305_headerbytes=ue.Yf)(),V._crypto_secretstream_xchacha20poly1305_keybytes=()=>(V._crypto_secretstream_xchacha20poly1305_keybytes=ue.Zf)(),V._crypto_secretstream_xchacha20poly1305_messagebytes_max=()=>(V._crypto_secretstream_xchacha20poly1305_messagebytes_max=ue._f)(),V._crypto_secretstream_xchacha20poly1305_tag_message=()=>(V._crypto_secretstream_xchacha20poly1305_tag_message=ue.$f)(),V._crypto_secretstream_xchacha20poly1305_tag_push=()=>(V._crypto_secretstream_xchacha20poly1305_tag_push=ue.ag)(),V._crypto_secretstream_xchacha20poly1305_tag_rekey=()=>(V._crypto_secretstream_xchacha20poly1305_tag_rekey=ue.bg)(),V._crypto_secretstream_xchacha20poly1305_tag_final=()=>(V._crypto_secretstream_xchacha20poly1305_tag_final=ue.cg)(),V._crypto_shorthash_bytes=()=>(V._crypto_shorthash_bytes=ue.dg)(),V._crypto_shorthash_keybytes=()=>(V._crypto_shorthash_keybytes=ue.eg)(),V._crypto_shorthash_primitive=()=>(V._crypto_shorthash_primitive=ue.fg)(),V._crypto_shorthash=(be,qe,De,Je,Rt)=>(V._crypto_shorthash=ue.gg)(be,qe,De,Je,Rt),V._crypto_shorthash_keygen=be=>(V._crypto_shorthash_keygen=ue.hg)(be),V._crypto_shorthash_siphash24_bytes=()=>(V._crypto_shorthash_siphash24_bytes=ue.ig)(),V._crypto_shorthash_siphash24_keybytes=()=>(V._crypto_shorthash_siphash24_keybytes=ue.jg)(),V._crypto_shorthash_siphash24=(be,qe,De,Je,Rt)=>(V._crypto_shorthash_siphash24=ue.kg)(be,qe,De,Je,Rt),V._crypto_sign_statebytes=()=>(V._crypto_sign_statebytes=ue.lg)(),V._crypto_sign_bytes=()=>(V._crypto_sign_bytes=ue.mg)(),V._crypto_sign_seedbytes=()=>(V._crypto_sign_seedbytes=ue.ng)(),V._crypto_sign_publickeybytes=()=>(V._crypto_sign_publickeybytes=ue.og)(),V._crypto_sign_secretkeybytes=()=>(V._crypto_sign_secretkeybytes=ue.pg)(),V._crypto_sign_messagebytes_max=()=>(V._crypto_sign_messagebytes_max=ue.qg)(),V._crypto_sign_primitive=()=>(V._crypto_sign_primitive=ue.rg)(),V._crypto_sign_seed_keypair=(be,qe,De)=>(V._crypto_sign_seed_keypair=ue.sg)(be,qe,De),V._crypto_sign_keypair=(be,qe)=>(V._crypto_sign_keypair=ue.tg)(be,qe),V._crypto_sign=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign=ue.ug)(be,qe,De,Je,Rt,Vt),V._crypto_sign_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign_open=ue.vg)(be,qe,De,Je,Rt,Vt),V._crypto_sign_detached=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign_detached=ue.wg)(be,qe,De,Je,Rt,Vt),V._crypto_sign_verify_detached=(be,qe,De,Je,Rt)=>(V._crypto_sign_verify_detached=ue.xg)(be,qe,De,Je,Rt),V._crypto_sign_init=be=>(V._crypto_sign_init=ue.yg)(be),V._crypto_sign_update=(be,qe,De,Je)=>(V._crypto_sign_update=ue.zg)(be,qe,De,Je),V._crypto_sign_final_create=(be,qe,De,Je)=>(V._crypto_sign_final_create=ue.Ag)(be,qe,De,Je),V._crypto_sign_final_verify=(be,qe,De)=>(V._crypto_sign_final_verify=ue.Bg)(be,qe,De),V._crypto_sign_ed25519ph_statebytes=()=>(V._crypto_sign_ed25519ph_statebytes=ue.Cg)(),V._crypto_sign_ed25519_bytes=()=>(V._crypto_sign_ed25519_bytes=ue.Dg)(),V._crypto_sign_ed25519_seedbytes=()=>(V._crypto_sign_ed25519_seedbytes=ue.Eg)(),V._crypto_sign_ed25519_publickeybytes=()=>(V._crypto_sign_ed25519_publickeybytes=ue.Fg)(),V._crypto_sign_ed25519_secretkeybytes=()=>(V._crypto_sign_ed25519_secretkeybytes=ue.Gg)(),V._crypto_sign_ed25519_messagebytes_max=()=>(V._crypto_sign_ed25519_messagebytes_max=ue.Hg)(),V._crypto_sign_ed25519_sk_to_seed=(be,qe)=>(V._crypto_sign_ed25519_sk_to_seed=ue.Ig)(be,qe),V._crypto_sign_ed25519_sk_to_pk=(be,qe)=>(V._crypto_sign_ed25519_sk_to_pk=ue.Jg)(be,qe),V._crypto_sign_ed25519ph_init=be=>(V._crypto_sign_ed25519ph_init=ue.Kg)(be),V._crypto_sign_ed25519ph_update=(be,qe,De,Je)=>(V._crypto_sign_ed25519ph_update=ue.Lg)(be,qe,De,Je),V._crypto_sign_ed25519ph_final_create=(be,qe,De,Je)=>(V._crypto_sign_ed25519ph_final_create=ue.Mg)(be,qe,De,Je),V._crypto_sign_ed25519ph_final_verify=(be,qe,De)=>(V._crypto_sign_ed25519ph_final_verify=ue.Ng)(be,qe,De),V._crypto_sign_ed25519_seed_keypair=(be,qe,De)=>(V._crypto_sign_ed25519_seed_keypair=ue.Og)(be,qe,De),V._crypto_sign_ed25519_keypair=(be,qe)=>(V._crypto_sign_ed25519_keypair=ue.Pg)(be,qe),V._crypto_sign_ed25519_pk_to_curve25519=(be,qe)=>(V._crypto_sign_ed25519_pk_to_curve25519=ue.Qg)(be,qe),V._crypto_sign_ed25519_sk_to_curve25519=(be,qe)=>(V._crypto_sign_ed25519_sk_to_curve25519=ue.Rg)(be,qe),V._crypto_sign_ed25519_verify_detached=(be,qe,De,Je,Rt)=>(V._crypto_sign_ed25519_verify_detached=ue.Sg)(be,qe,De,Je,Rt),V._crypto_sign_ed25519_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign_ed25519_open=ue.Tg)(be,qe,De,Je,Rt,Vt),V._crypto_sign_ed25519_detached=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign_ed25519_detached=ue.Ug)(be,qe,De,Je,Rt,Vt),V._crypto_sign_ed25519=(be,qe,De,Je,Rt,Vt)=>(V._crypto_sign_ed25519=ue.Vg)(be,qe,De,Je,Rt,Vt),V._crypto_stream_chacha20_keybytes=()=>(V._crypto_stream_chacha20_keybytes=ue.Wg)(),V._crypto_stream_chacha20_noncebytes=()=>(V._crypto_stream_chacha20_noncebytes=ue.Xg)(),V._crypto_stream_chacha20_messagebytes_max=()=>(V._crypto_stream_chacha20_messagebytes_max=ue.Yg)(),V._crypto_stream_chacha20_ietf_keybytes=()=>(V._crypto_stream_chacha20_ietf_keybytes=ue.Zg)(),V._crypto_stream_chacha20_ietf_noncebytes=()=>(V._crypto_stream_chacha20_ietf_noncebytes=ue._g)(),V._crypto_stream_chacha20_ietf_messagebytes_max=()=>(V._crypto_stream_chacha20_ietf_messagebytes_max=ue.$g)(),V._crypto_stream_chacha20=(be,qe,De,Je,Rt)=>(V._crypto_stream_chacha20=ue.ah)(be,qe,De,Je,Rt),V._crypto_stream_chacha20_xor_ic=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_stream_chacha20_xor_ic=ue.bh)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_stream_chacha20_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_chacha20_xor=ue.ch)(be,qe,De,Je,Rt,Vt),V._crypto_stream_chacha20_ietf=(be,qe,De,Je,Rt)=>(V._crypto_stream_chacha20_ietf=ue.dh)(be,qe,De,Je,Rt),V._crypto_stream_chacha20_ietf_xor_ic=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_stream_chacha20_ietf_xor_ic=ue.eh)(be,qe,De,Je,Rt,Vt,br),V._crypto_stream_chacha20_ietf_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_chacha20_ietf_xor=ue.fh)(be,qe,De,Je,Rt,Vt),V._crypto_stream_chacha20_ietf_keygen=be=>(V._crypto_stream_chacha20_ietf_keygen=ue.gh)(be),V._crypto_stream_chacha20_keygen=be=>(V._crypto_stream_chacha20_keygen=ue.hh)(be),V._crypto_stream_keybytes=()=>(V._crypto_stream_keybytes=ue.ih)(),V._crypto_stream_noncebytes=()=>(V._crypto_stream_noncebytes=ue.jh)(),V._crypto_stream_messagebytes_max=()=>(V._crypto_stream_messagebytes_max=ue.kh)(),V._crypto_stream_primitive=()=>(V._crypto_stream_primitive=ue.lh)(),V._crypto_stream=(be,qe,De,Je,Rt)=>(V._crypto_stream=ue.mh)(be,qe,De,Je,Rt),V._crypto_stream_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_xor=ue.nh)(be,qe,De,Je,Rt,Vt),V._crypto_stream_keygen=be=>(V._crypto_stream_keygen=ue.oh)(be),V._crypto_stream_salsa20_keybytes=()=>(V._crypto_stream_salsa20_keybytes=ue.ph)(),V._crypto_stream_salsa20_noncebytes=()=>(V._crypto_stream_salsa20_noncebytes=ue.qh)(),V._crypto_stream_salsa20_messagebytes_max=()=>(V._crypto_stream_salsa20_messagebytes_max=ue.rh)(),V._crypto_stream_salsa20=(be,qe,De,Je,Rt)=>(V._crypto_stream_salsa20=ue.sh)(be,qe,De,Je,Rt),V._crypto_stream_salsa20_xor_ic=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_stream_salsa20_xor_ic=ue.th)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_stream_salsa20_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_salsa20_xor=ue.uh)(be,qe,De,Je,Rt,Vt),V._crypto_stream_salsa20_keygen=be=>(V._crypto_stream_salsa20_keygen=ue.vh)(be),V._crypto_stream_xsalsa20=(be,qe,De,Je,Rt)=>(V._crypto_stream_xsalsa20=ue.wh)(be,qe,De,Je,Rt),V._crypto_stream_xsalsa20_xor_ic=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_stream_xsalsa20_xor_ic=ue.xh)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_stream_xsalsa20_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_xsalsa20_xor=ue.yh)(be,qe,De,Je,Rt,Vt),V._crypto_stream_xsalsa20_keybytes=()=>(V._crypto_stream_xsalsa20_keybytes=ue.zh)(),V._crypto_stream_xsalsa20_noncebytes=()=>(V._crypto_stream_xsalsa20_noncebytes=ue.Ah)(),V._crypto_stream_xsalsa20_messagebytes_max=()=>(V._crypto_stream_xsalsa20_messagebytes_max=ue.Bh)(),V._crypto_stream_xsalsa20_keygen=be=>(V._crypto_stream_xsalsa20_keygen=ue.Ch)(be),V._crypto_verify_16_bytes=()=>(V._crypto_verify_16_bytes=ue.Dh)(),V._crypto_verify_32_bytes=()=>(V._crypto_verify_32_bytes=ue.Eh)(),V._crypto_verify_64_bytes=()=>(V._crypto_verify_64_bytes=ue.Fh)(),V._crypto_verify_16=(be,qe)=>(V._crypto_verify_16=ue.Gh)(be,qe),V._crypto_verify_32=(be,qe)=>(V._crypto_verify_32=ue.Hh)(be,qe),V._crypto_verify_64=(be,qe)=>(V._crypto_verify_64=ue.Ih)(be,qe),V._randombytes_implementation_name=()=>(V._randombytes_implementation_name=ue.Jh)(),V._randombytes_random=()=>(V._randombytes_random=ue.Kh)(),V._randombytes_stir=()=>(V._randombytes_stir=ue.Lh)(),V._randombytes_uniform=be=>(V._randombytes_uniform=ue.Mh)(be),V._randombytes_buf=(be,qe)=>(V._randombytes_buf=ue.Nh)(be,qe),V._randombytes_buf_deterministic=(be,qe,De)=>(V._randombytes_buf_deterministic=ue.Oh)(be,qe,De),V._randombytes_seedbytes=()=>(V._randombytes_seedbytes=ue.Ph)(),V._randombytes_close=()=>(V._randombytes_close=ue.Qh)(),V._randombytes=(be,qe,De)=>(V._randombytes=ue.Rh)(be,qe,De),V._sodium_bin2hex=(be,qe,De,Je)=>(V._sodium_bin2hex=ue.Sh)(be,qe,De,Je),V._sodium_hex2bin=(be,qe,De,Je,Rt,Vt,br)=>(V._sodium_hex2bin=ue.Th)(be,qe,De,Je,Rt,Vt,br),V._sodium_base64_encoded_len=(be,qe)=>(V._sodium_base64_encoded_len=ue.Uh)(be,qe),V._sodium_bin2base64=(be,qe,De,Je,Rt)=>(V._sodium_bin2base64=ue.Vh)(be,qe,De,Je,Rt),V._sodium_base642bin=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._sodium_base642bin=ue.Wh)(be,qe,De,Je,Rt,Vt,br,Rr),V._sodium_init=()=>(V._sodium_init=ue.Xh)(),V._sodium_pad=(be,qe,De,Je,Rt)=>(V._sodium_pad=ue.Yh)(be,qe,De,Je,Rt),V._sodium_unpad=(be,qe,De,Je)=>(V._sodium_unpad=ue.Zh)(be,qe,De,Je),V._sodium_version_string=()=>(V._sodium_version_string=ue._h)(),V._sodium_library_version_major=()=>(V._sodium_library_version_major=ue.$h)(),V._sodium_library_version_minor=()=>(V._sodium_library_version_minor=ue.ai)(),V._sodium_library_minimal=()=>(V._sodium_library_minimal=ue.bi)(),V._crypto_box_curve25519xchacha20poly1305_seed_keypair=(be,qe,De)=>(V._crypto_box_curve25519xchacha20poly1305_seed_keypair=ue.ci)(be,qe,De),V._crypto_box_curve25519xchacha20poly1305_keypair=(be,qe)=>(V._crypto_box_curve25519xchacha20poly1305_keypair=ue.di)(be,qe),V._crypto_box_curve25519xchacha20poly1305_beforenm=(be,qe,De)=>(V._crypto_box_curve25519xchacha20poly1305_beforenm=ue.ei)(be,qe,De),V._crypto_box_curve25519xchacha20poly1305_detached_afternm=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xchacha20poly1305_detached_afternm=ue.fi)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xchacha20poly1305_detached=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_box_curve25519xchacha20poly1305_detached=ue.gi)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_box_curve25519xchacha20poly1305_easy_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_curve25519xchacha20poly1305_easy_afternm=ue.hi)(be,qe,De,Je,Rt,Vt),V._crypto_box_curve25519xchacha20poly1305_easy=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xchacha20poly1305_easy=ue.ii)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=ue.ji)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xchacha20poly1305_open_detached=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_box_curve25519xchacha20poly1305_open_detached=ue.ki)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=ue.li)(be,qe,De,Je,Rt,Vt),V._crypto_box_curve25519xchacha20poly1305_open_easy=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_box_curve25519xchacha20poly1305_open_easy=ue.mi)(be,qe,De,Je,Rt,Vt,br),V._crypto_box_curve25519xchacha20poly1305_seedbytes=()=>(V._crypto_box_curve25519xchacha20poly1305_seedbytes=ue.ni)(),V._crypto_box_curve25519xchacha20poly1305_publickeybytes=()=>(V._crypto_box_curve25519xchacha20poly1305_publickeybytes=ue.oi)(),V._crypto_box_curve25519xchacha20poly1305_secretkeybytes=()=>(V._crypto_box_curve25519xchacha20poly1305_secretkeybytes=ue.pi)(),V._crypto_box_curve25519xchacha20poly1305_beforenmbytes=()=>(V._crypto_box_curve25519xchacha20poly1305_beforenmbytes=ue.qi)(),V._crypto_box_curve25519xchacha20poly1305_noncebytes=()=>(V._crypto_box_curve25519xchacha20poly1305_noncebytes=ue.ri)(),V._crypto_box_curve25519xchacha20poly1305_macbytes=()=>(V._crypto_box_curve25519xchacha20poly1305_macbytes=ue.si)(),V._crypto_box_curve25519xchacha20poly1305_messagebytes_max=()=>(V._crypto_box_curve25519xchacha20poly1305_messagebytes_max=ue.ti)(),V._crypto_box_curve25519xchacha20poly1305_seal=(be,qe,De,Je,Rt)=>(V._crypto_box_curve25519xchacha20poly1305_seal=ue.ui)(be,qe,De,Je,Rt),V._crypto_box_curve25519xchacha20poly1305_seal_open=(be,qe,De,Je,Rt,Vt)=>(V._crypto_box_curve25519xchacha20poly1305_seal_open=ue.vi)(be,qe,De,Je,Rt,Vt),V._crypto_box_curve25519xchacha20poly1305_sealbytes=()=>(V._crypto_box_curve25519xchacha20poly1305_sealbytes=ue.wi)(),V._crypto_core_ed25519_is_valid_point=be=>(V._crypto_core_ed25519_is_valid_point=ue.xi)(be),V._crypto_core_ed25519_add=(be,qe,De)=>(V._crypto_core_ed25519_add=ue.yi)(be,qe,De),V._crypto_core_ed25519_sub=(be,qe,De)=>(V._crypto_core_ed25519_sub=ue.zi)(be,qe,De),V._crypto_core_ed25519_from_uniform=(be,qe)=>(V._crypto_core_ed25519_from_uniform=ue.Ai)(be,qe),V._crypto_core_ed25519_random=be=>(V._crypto_core_ed25519_random=ue.Bi)(be),V._crypto_core_ed25519_scalar_random=be=>(V._crypto_core_ed25519_scalar_random=ue.Ci)(be),V._crypto_core_ed25519_scalar_invert=(be,qe)=>(V._crypto_core_ed25519_scalar_invert=ue.Di)(be,qe),V._crypto_core_ed25519_scalar_negate=(be,qe)=>(V._crypto_core_ed25519_scalar_negate=ue.Ei)(be,qe),V._crypto_core_ed25519_scalar_complement=(be,qe)=>(V._crypto_core_ed25519_scalar_complement=ue.Fi)(be,qe),V._crypto_core_ed25519_scalar_add=(be,qe,De)=>(V._crypto_core_ed25519_scalar_add=ue.Gi)(be,qe,De),V._crypto_core_ed25519_scalar_reduce=(be,qe)=>(V._crypto_core_ed25519_scalar_reduce=ue.Hi)(be,qe),V._crypto_core_ed25519_scalar_sub=(be,qe,De)=>(V._crypto_core_ed25519_scalar_sub=ue.Ii)(be,qe,De),V._crypto_core_ed25519_scalar_mul=(be,qe,De)=>(V._crypto_core_ed25519_scalar_mul=ue.Ji)(be,qe,De),V._crypto_core_ed25519_bytes=()=>(V._crypto_core_ed25519_bytes=ue.Ki)(),V._crypto_core_ed25519_nonreducedscalarbytes=()=>(V._crypto_core_ed25519_nonreducedscalarbytes=ue.Li)(),V._crypto_core_ed25519_uniformbytes=()=>(V._crypto_core_ed25519_uniformbytes=ue.Mi)(),V._crypto_core_ed25519_hashbytes=()=>(V._crypto_core_ed25519_hashbytes=ue.Ni)(),V._crypto_core_ed25519_scalarbytes=()=>(V._crypto_core_ed25519_scalarbytes=ue.Oi)(),V._crypto_core_ristretto255_is_valid_point=be=>(V._crypto_core_ristretto255_is_valid_point=ue.Pi)(be),V._crypto_core_ristretto255_add=(be,qe,De)=>(V._crypto_core_ristretto255_add=ue.Qi)(be,qe,De),V._crypto_core_ristretto255_sub=(be,qe,De)=>(V._crypto_core_ristretto255_sub=ue.Ri)(be,qe,De),V._crypto_core_ristretto255_from_hash=(be,qe)=>(V._crypto_core_ristretto255_from_hash=ue.Si)(be,qe),V._crypto_core_ristretto255_random=be=>(V._crypto_core_ristretto255_random=ue.Ti)(be),V._crypto_core_ristretto255_scalar_random=be=>(V._crypto_core_ristretto255_scalar_random=ue.Ui)(be),V._crypto_core_ristretto255_scalar_invert=(be,qe)=>(V._crypto_core_ristretto255_scalar_invert=ue.Vi)(be,qe),V._crypto_core_ristretto255_scalar_negate=(be,qe)=>(V._crypto_core_ristretto255_scalar_negate=ue.Wi)(be,qe),V._crypto_core_ristretto255_scalar_complement=(be,qe)=>(V._crypto_core_ristretto255_scalar_complement=ue.Xi)(be,qe),V._crypto_core_ristretto255_scalar_add=(be,qe,De)=>(V._crypto_core_ristretto255_scalar_add=ue.Yi)(be,qe,De),V._crypto_core_ristretto255_scalar_sub=(be,qe,De)=>(V._crypto_core_ristretto255_scalar_sub=ue.Zi)(be,qe,De),V._crypto_core_ristretto255_scalar_mul=(be,qe,De)=>(V._crypto_core_ristretto255_scalar_mul=ue._i)(be,qe,De),V._crypto_core_ristretto255_scalar_reduce=(be,qe)=>(V._crypto_core_ristretto255_scalar_reduce=ue.$i)(be,qe),V._crypto_core_ristretto255_bytes=()=>(V._crypto_core_ristretto255_bytes=ue.aj)(),V._crypto_core_ristretto255_nonreducedscalarbytes=()=>(V._crypto_core_ristretto255_nonreducedscalarbytes=ue.bj)(),V._crypto_core_ristretto255_hashbytes=()=>(V._crypto_core_ristretto255_hashbytes=ue.cj)(),V._crypto_core_ristretto255_scalarbytes=()=>(V._crypto_core_ristretto255_scalarbytes=ue.dj)(),V._crypto_pwhash_scryptsalsa208sha256_ll=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr)=>(V._crypto_pwhash_scryptsalsa208sha256_ll=ue.ej)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr),V._crypto_pwhash_scryptsalsa208sha256_bytes_min=()=>(V._crypto_pwhash_scryptsalsa208sha256_bytes_min=ue.fj)(),V._crypto_pwhash_scryptsalsa208sha256_bytes_max=()=>(V._crypto_pwhash_scryptsalsa208sha256_bytes_max=ue.gj)(),V._crypto_pwhash_scryptsalsa208sha256_passwd_min=()=>(V._crypto_pwhash_scryptsalsa208sha256_passwd_min=ue.hj)(),V._crypto_pwhash_scryptsalsa208sha256_passwd_max=()=>(V._crypto_pwhash_scryptsalsa208sha256_passwd_max=ue.ij)(),V._crypto_pwhash_scryptsalsa208sha256_saltbytes=()=>(V._crypto_pwhash_scryptsalsa208sha256_saltbytes=ue.jj)(),V._crypto_pwhash_scryptsalsa208sha256_strbytes=()=>(V._crypto_pwhash_scryptsalsa208sha256_strbytes=ue.kj)(),V._crypto_pwhash_scryptsalsa208sha256_strprefix=()=>(V._crypto_pwhash_scryptsalsa208sha256_strprefix=ue.lj)(),V._crypto_pwhash_scryptsalsa208sha256_opslimit_min=()=>(V._crypto_pwhash_scryptsalsa208sha256_opslimit_min=ue.mj)(),V._crypto_pwhash_scryptsalsa208sha256_opslimit_max=()=>(V._crypto_pwhash_scryptsalsa208sha256_opslimit_max=ue.nj)(),V._crypto_pwhash_scryptsalsa208sha256_memlimit_min=()=>(V._crypto_pwhash_scryptsalsa208sha256_memlimit_min=ue.oj)(),V._crypto_pwhash_scryptsalsa208sha256_memlimit_max=()=>(V._crypto_pwhash_scryptsalsa208sha256_memlimit_max=ue.pj)(),V._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=()=>(V._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=ue.qj)(),V._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=()=>(V._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=ue.rj)(),V._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=()=>(V._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=ue.sj)(),V._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=()=>(V._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=ue.tj)(),V._crypto_pwhash_scryptsalsa208sha256=(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr)=>(V._crypto_pwhash_scryptsalsa208sha256=ue.uj)(be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr),V._crypto_pwhash_scryptsalsa208sha256_str=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_pwhash_scryptsalsa208sha256_str=ue.vj)(be,qe,De,Je,Rt,Vt,br),V._crypto_pwhash_scryptsalsa208sha256_str_verify=(be,qe,De,Je)=>(V._crypto_pwhash_scryptsalsa208sha256_str_verify=ue.wj)(be,qe,De,Je),V._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=(be,qe,De,Je)=>(V._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=ue.xj)(be,qe,De,Je),V._crypto_scalarmult_ed25519=(be,qe,De)=>(V._crypto_scalarmult_ed25519=ue.yj)(be,qe,De),V._crypto_scalarmult_ed25519_noclamp=(be,qe,De)=>(V._crypto_scalarmult_ed25519_noclamp=ue.zj)(be,qe,De),V._crypto_scalarmult_ed25519_base=(be,qe)=>(V._crypto_scalarmult_ed25519_base=ue.Aj)(be,qe),V._crypto_scalarmult_ed25519_base_noclamp=(be,qe)=>(V._crypto_scalarmult_ed25519_base_noclamp=ue.Bj)(be,qe),V._crypto_scalarmult_ed25519_bytes=()=>(V._crypto_scalarmult_ed25519_bytes=ue.Cj)(),V._crypto_scalarmult_ed25519_scalarbytes=()=>(V._crypto_scalarmult_ed25519_scalarbytes=ue.Dj)(),V._crypto_scalarmult_ristretto255=(be,qe,De)=>(V._crypto_scalarmult_ristretto255=ue.Ej)(be,qe,De),V._crypto_scalarmult_ristretto255_base=(be,qe)=>(V._crypto_scalarmult_ristretto255_base=ue.Fj)(be,qe),V._crypto_scalarmult_ristretto255_bytes=()=>(V._crypto_scalarmult_ristretto255_bytes=ue.Gj)(),V._crypto_scalarmult_ristretto255_scalarbytes=()=>(V._crypto_scalarmult_ristretto255_scalarbytes=ue.Hj)(),V._crypto_secretbox_xchacha20poly1305_detached=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_secretbox_xchacha20poly1305_detached=ue.Ij)(be,qe,De,Je,Rt,Vt,br),V._crypto_secretbox_xchacha20poly1305_easy=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_xchacha20poly1305_easy=ue.Jj)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_xchacha20poly1305_open_detached=(be,qe,De,Je,Rt,Vt,br)=>(V._crypto_secretbox_xchacha20poly1305_open_detached=ue.Kj)(be,qe,De,Je,Rt,Vt,br),V._crypto_secretbox_xchacha20poly1305_open_easy=(be,qe,De,Je,Rt,Vt)=>(V._crypto_secretbox_xchacha20poly1305_open_easy=ue.Lj)(be,qe,De,Je,Rt,Vt),V._crypto_secretbox_xchacha20poly1305_keybytes=()=>(V._crypto_secretbox_xchacha20poly1305_keybytes=ue.Mj)(),V._crypto_secretbox_xchacha20poly1305_noncebytes=()=>(V._crypto_secretbox_xchacha20poly1305_noncebytes=ue.Nj)(),V._crypto_secretbox_xchacha20poly1305_macbytes=()=>(V._crypto_secretbox_xchacha20poly1305_macbytes=ue.Oj)(),V._crypto_secretbox_xchacha20poly1305_messagebytes_max=()=>(V._crypto_secretbox_xchacha20poly1305_messagebytes_max=ue.Pj)(),V._crypto_shorthash_siphashx24_bytes=()=>(V._crypto_shorthash_siphashx24_bytes=ue.Qj)(),V._crypto_shorthash_siphashx24_keybytes=()=>(V._crypto_shorthash_siphashx24_keybytes=ue.Rj)(),V._crypto_shorthash_siphashx24=(be,qe,De,Je,Rt)=>(V._crypto_shorthash_siphashx24=ue.Sj)(be,qe,De,Je,Rt),V._crypto_stream_salsa2012=(be,qe,De,Je,Rt)=>(V._crypto_stream_salsa2012=ue.Tj)(be,qe,De,Je,Rt),V._crypto_stream_salsa2012_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_salsa2012_xor=ue.Uj)(be,qe,De,Je,Rt,Vt),V._crypto_stream_salsa2012_keybytes=()=>(V._crypto_stream_salsa2012_keybytes=ue.Vj)(),V._crypto_stream_salsa2012_noncebytes=()=>(V._crypto_stream_salsa2012_noncebytes=ue.Wj)(),V._crypto_stream_salsa2012_messagebytes_max=()=>(V._crypto_stream_salsa2012_messagebytes_max=ue.Xj)(),V._crypto_stream_salsa2012_keygen=be=>(V._crypto_stream_salsa2012_keygen=ue.Yj)(be),V._crypto_stream_salsa208=(be,qe,De,Je,Rt)=>(V._crypto_stream_salsa208=ue.Zj)(be,qe,De,Je,Rt),V._crypto_stream_salsa208_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_salsa208_xor=ue._j)(be,qe,De,Je,Rt,Vt),V._crypto_stream_salsa208_keybytes=()=>(V._crypto_stream_salsa208_keybytes=ue.$j)(),V._crypto_stream_salsa208_noncebytes=()=>(V._crypto_stream_salsa208_noncebytes=ue.ak)(),V._crypto_stream_salsa208_messagebytes_max=()=>(V._crypto_stream_salsa208_messagebytes_max=ue.bk)(),V._crypto_stream_salsa208_keygen=be=>(V._crypto_stream_salsa208_keygen=ue.ck)(be),V._crypto_stream_xchacha20_keybytes=()=>(V._crypto_stream_xchacha20_keybytes=ue.dk)(),V._crypto_stream_xchacha20_noncebytes=()=>(V._crypto_stream_xchacha20_noncebytes=ue.ek)(),V._crypto_stream_xchacha20_messagebytes_max=()=>(V._crypto_stream_xchacha20_messagebytes_max=ue.fk)(),V._crypto_stream_xchacha20=(be,qe,De,Je,Rt)=>(V._crypto_stream_xchacha20=ue.gk)(be,qe,De,Je,Rt),V._crypto_stream_xchacha20_xor_ic=(be,qe,De,Je,Rt,Vt,br,Rr)=>(V._crypto_stream_xchacha20_xor_ic=ue.hk)(be,qe,De,Je,Rt,Vt,br,Rr),V._crypto_stream_xchacha20_xor=(be,qe,De,Je,Rt,Vt)=>(V._crypto_stream_xchacha20_xor=ue.ik)(be,qe,De,Je,Rt,Vt),V._crypto_stream_xchacha20_keygen=be=>(V._crypto_stream_xchacha20_keygen=ue.jk)(be),V._malloc=be=>(V._malloc=ue.kk)(be),V._free=be=>(V._free=ue.lk)(be),V.setValue=function(be,qe,De="i8"){switch(De.endsWith("*")&&(De="*"),De){case"i1":case"i8":Be[be]=qe;break;case"i16":$t[be>>1]=qe;break;case"i32":at[be>>2]=qe;break;case"i64":Xt("to do setValue(i64) use WASM_BIGINT");case"float":Hr[be>>2]=qe;break;case"double":St[be>>3]=qe;break;case"*":zt[be>>2]=qe;break;default:Xt(`invalid type for setValue: ${De}`)}},V.getValue=function(be,qe="i8"){switch(qe.endsWith("*")&&(qe="*"),qe){case"i1":case"i8":return Be[be];case"i16":return $t[be>>1];case"i32":return at[be>>2];case"i64":Xt("to do getValue(i64) use WASM_BIGINT");case"float":return Hr[be>>2];case"double":return St[be>>3];case"*":return zt[be>>2];default:Xt(`invalid type for getValue: ${qe}`)}},V.UTF8ToString=ar,mn=function be(){In||je(),In||(mn=be)},V.preInit)for(typeof V.preInit=="function"&&(V.preInit=[V.preInit]);V.preInit.length>0;)V.preInit.pop()();je()}))};var y,_=_!==void 0?_:{},I=typeof window=="object",N=typeof importScripts=="function",T=typeof me=="object"&&typeof me.versions=="object"&&typeof me.versions.node=="string",M=Object.assign({},_),D="";if(T){var P=(bhe(),Zu(yhe)),G=(Iz(),Zu(ohe));D="//",y=oe=>(oe=F(oe)?new URL(oe):G.normalize(oe),P.readFileSync(oe)),!_.thisProgram&&me.argv.length>1&&me.argv[1].replace(/\\/g,"/"),me.argv.slice(2),typeof fP<"u"&&(fP.exports=_)}else(I||N)&&(N?D=self.location.href:typeof document<"u"&&document.currentScript&&(D=document.currentScript.src),D=D.startsWith("blob:")?"":D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1),N&&(y=oe=>{var ge=new XMLHttpRequest;return ge.open("GET",oe,!1),ge.responseType="arraybuffer",ge.send(null),new Uint8Array(ge.response)}));_.print;var q,Y,ne=_.printErr||void 0;Object.assign(_,M),M=null,_.arguments&&_.arguments,_.thisProgram&&_.thisProgram,_.quit&&_.quit,_.wasmBinary&&(q=_.wasmBinary);var ce,le,pe,ae,W,se,O,s=!1;function l(){var oe=Y.buffer;_.HEAP8=ce=new Int8Array(oe),_.HEAP16=pe=new Int16Array(oe),_.HEAPU8=le=new Uint8Array(oe),_.HEAPU16=new Uint16Array(oe),_.HEAP32=ae=new Int32Array(oe),_.HEAPU32=W=new Uint32Array(oe),_.HEAPF32=se=new Float32Array(oe),_.HEAPF64=O=new Float64Array(oe)}var A=[],m=[],E=[],w=0,x=null,R=null;function u(oe){throw _.onAbort?.(oe),ne(oe="Aborted("+oe+")"),s=!0,oe+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(oe)}var C,U="data:application/octet-stream;base64,",F=oe=>oe.startsWith("file://");function X(oe){return Promise.resolve().then((()=>(function(ge){if(ge==C&&q)return new Uint8Array(q);var Le=(function(V){if((Qe=>Qe.startsWith(U))(V))return(function(Qe){if(T!==void 0&&T){var _t=fe.from(Qe,"base64");return new Uint8Array(_t.buffer,_t.byteOffset,_t.length)}for(var rt=atob(Qe),At=new Uint8Array(rt.length),Er=0;Er<rt.length;++Er)At[Er]=rt.charCodeAt(Er);return At})(V.slice(37))})(ge);if(Le)return Le;if(y)return y(ge);throw"both async and sync fetching of the wasm failed"})(oe)))}var Ae={36800:()=>_.getRandomValue(),36836:()=>{if(_.getRandomValue===void 0)try{var oe=typeof window=="object"?window:self,ge=oe.crypto!==void 0?oe.crypto:oe.msCrypto;ge=ge===void 0?V:ge;var Le=function(){var _t=new Uint32Array(1);return ge.getRandomValues(_t),_t[0]>>>0};Le(),_.getRandomValue=Le}catch{try{var V=(IA(),Zu(Lv)),Qe=function(){var rt=V.randomBytes(4);return(rt[0]<<24|rt[1]<<16|rt[2]<<8|rt[3])>>>0};Qe(),_.getRandomValue=Qe}catch{throw"No secure random number generator found"}}}},he=oe=>{for(;oe.length>0;)oe.shift()(_)};_.noExitRuntime;var $e,Ge=typeof TextDecoder<"u"?new TextDecoder:void 0,Re=(oe,ge)=>oe?((Le,V,Qe)=>{for(var _t=V+Qe,rt=V;Le[rt]&&!(rt>=_t);)++rt;if(rt-V>16&&Le.buffer&&Ge)return Ge.decode(Le.subarray(V,rt));for(var At="";V<rt;){var Er=Le[V++];if(128&Er){var mt=63&Le[V++];if((224&Er)!=192){var Ht=63&Le[V++];if((Er=(240&Er)==224?(15&Er)<<12|mt<<6|Ht:(7&Er)<<18|mt<<12|Ht<<6|63&Le[V++])<65536)At+=String.fromCharCode(Er);else{var zr=Er-65536;At+=String.fromCharCode(55296|zr>>10,56320|1023&zr)}}else At+=String.fromCharCode((31&Er)<<6|mt)}else At+=String.fromCharCode(Er)}return At})(le,oe,ge):"",Se=[],ct=oe=>{var ge=(oe-Y.buffer.byteLength+65535)/65536;try{return Y.grow(ge),l(),1}catch{}},ze={b:(oe,ge,Le,V)=>{u(`Assertion failed: ${Re(oe)}, at: `+[ge?Re(ge):"unknown filename",Le,V?Re(V):"unknown function"])},c:()=>{u("")},d:(oe,ge,Le)=>le.copyWithin(oe,ge,ge+Le),a:(oe,ge,Le)=>((V,Qe,_t)=>{var rt=((At,Er)=>{var mt;for(Se.length=0;mt=le[At++];){var Ht=mt!=105;Er+=(Ht&=mt!=112)&&Er%8?4:0,Se.push(mt==112?W[Er>>2]:mt==105?ae[Er>>2]:O[Er>>3]),Er+=Ht?8:4}return Se})(Qe,_t);return Ae[V](...rt)})(oe,ge,Le),e:oe=>{var ge=le.length,Le=2147483648;if((oe>>>=0)>Le)return!1;for(var V,Qe=1;Qe<=4;Qe*=2){var _t=ge*(1+.2/Qe);_t=Math.min(_t,oe+100663296);var rt=Math.min(Le,(V=Math.max(oe,_t))+(65536-V%65536)%65536);if(ct(rt))return!0}return!1}},te=(function(){var oe,ge={a:ze};function Le(V,Qe){return te=V.exports,Y=te.f,l(),(function(_t){if(w--,_.monitorRunDependencies?.(w),w==0&&(x!==null&&(clearInterval(x),x=null),R)){var rt=R;R=null,rt()}})(),te}if(w++,_.monitorRunDependencies?.(w),_.instantiateWasm)try{return _.instantiateWasm(ge,Le)}catch(V){return ne(`Module.instantiateWasm callback failed with error: ${V}`),!1}return C||(C="data:application/octet-stream;base64,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AkJmAFcCQ2YAEgJEZgCrAQJFZgCjAgJGZgCqAQJHZgCpAQJIZgBYAklmAFcCSmYACgJLZgAlAkxmAAoCTWYADQJOZgANAk9mACwCUGYAEgJRZgASAlJmAJ4DAlNmAJ0DAlRmAJwDAlVmAKICAlZmAKECAldmAJsDAlhmAJoDAllmACUCWmYACgJfZgCZAwIkZgAcAmFnAFECYmcAOQJjZwBkAmRnACcCZWcADQJmZwDoAgJnZwChAQJoZwDzAQJpZwAnAmpnAA0Ca2cAoQECbGcAUAJtZwAWAm5nAAoCb2cACgJwZwAWAnFnAMoBAnJnAIADAnNnAP8CAnRnAP4CAnVnAKABAnZnAJ8BAndnAJ4BAnhnAJ0BAnlnAP0CAnpnAHECQWcA/AICQmcA+wICQ2cAUAJEZwAWAkVnAAoCRmcACgJHZwAWAkhnAMoBAklnAIIDAkpnAIEDAktnAMkBAkxnAHECTWcAyAECTmcAxwECT2cAzAECUGcAywECUWcAhwMCUmcAhgMCU2cAnQECVGcAnwECVWcAngECVmcAoAECV2cACgJYZwAnAllnABQCWmcACgJfZwDrAQIkZwAUAmFoAJ8CAmJoAJ4CAmNoAJ0CAmRoAJwCAmVoAJsCAmZoAJoCAmdoABICaGgAEgJpaAAKAmpoACUCa2gAFAJsaACIAwJtaACcAQJuaACbAQJvaAASAnBoAAoCcWgAJwJyaAAUAnNoAJgCAnRoAJcCAnVoAJYCAnZoABICd2gAnAECeGgAlQICeWgAmwECemgACgJBaAAlAkJoABQCQ2gAEgJEaAANAkVoAAoCRmgAFgJHaAA3AkhoAD8CSWgAsQECSmgAvAMCS2gAuwMCTGgA6AECTWgAugMCTmgAGQJPaAC5AwJQaAAKAlFoALgDAlJoAJQCAlNoAJIDAlRoAJEDAlVoAJADAlZoAIIBAldoAIEBAlhoAMEDAlloALQDAlpoAKsDAl9oANgCAiRoANcCAmFpADkCYmkAHAJjaQB6AmRpAEECZWkAiQMCZmkAmgECZ2kAkwICaGkAkgICaWkAkAICamkAmQECa2kAjwICbGkAmAECbWkAjgICbmkACgJvaQAKAnBpAAoCcWkACgJyaQAlAnNpAA0CdGkALAJ1aQCNAgJ2aQCMAgJ3aQDBAQJ4aQCwAwJ5aQCvAwJ6aQCuAwJBaQCt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iEL///8AgyIIIAEoAA8iO0EGdkH///8Aca0iBn58IAEoAAoiPEEYdq0gATEADkIIhoQgATEAD0IQhoRCAYhC////AIMiDCACKAAKIj1BBHZB////AHGtIg1+fCA5QRh2rSACMQAGQgiGhCACMQAHQhCGhEICiEL///8AgyIOIDtBGHatIAExABNCCIaEIAExABRCEIaEQgOIIgl+fCACKAAPIjlBBnZB////AHGtIgcgATUAB0IHiEL///8AgyIPfnwgPUEYdq0gAjEADkIIhoQgAjEAD0IQhoRCAYhC////AIMiCiA8QQR2Qf///wBxrSIQfnwgOUEYdq0gAjEAE0IIhoQgAjEAFEIQhoRCA4giESABKAACIjlBGHatIAExAAZCCIaEIAExAAdCEIaEQgKIQv///wCDIhJ+fCACMwAVIAIxABdCEIZCgID8AIOEIhUgOUEFdkH///8Aca0iFn58IAEzAAAgATEAAkIQhkKAgPwAg4QiFyACKAAXIjlBBXZB////AHGtIhh+fCAEIAV+IAkgC358IAggDH58IA0gEH58IAYgDn58IAcgEn58IAogD358IBEgFn58IBUgF358Ih1CgIBAfSIeQhWIfCITIBNCgIBAfSIgQoCAgH+DfSA5QRh2rSACMQAbQgiGhCACMQAcQhCGhEICiEL///8AgyITIAEoABxBB3atIhl+IDpBGHatIAExABtCCIaEIAExABxCEIaEQgKIQv///wCDIhogAigAHEEHdq0iG358IAMgG34gGCAZfnwgEyAafnwiIUKAgEB9Ih9CFYh8IiIgIkKAgEB9IhxCgICA/////wCDfSIiQpPYKH58ICEgH0KAgID/////AIN9IBUgGX4gGCAafnwgBCAbfnwgAyATfnwgAyAYfiARIBl+fCAVIBp+fCAJIBt+fCAEIBN+fCIjQoCAQH0iFEIViHwiH0KAgEB9IiRCFYh8IiFCmNocfnwgHyAkQoCAgH+DfSIfQuf2J358ICMgFEKAgIB/g30gESAafiAHIBl+fCAEIBh+fCADIBV+fCAGIBt+fCAJIBN+fCAKIBl+IAcgGn58IAMgEX58IAkgGH58IAQgFX58IAwgG358IAYgE358IhRCgIBAfSIkQhWIfCIlQoCAQH0iJkIViHwiI0LTjEN+fCAdIAUgCX4gBiALfnwgCCAQfnwgDSAP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SQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBCGsgATYCACACQQxrIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQRBrIAE2AgAgAkEUayABNgIAIAJBGGsgATYCACACQRxrIAE2AgAgBCADQQRxQRhyIgRrIgJBIEkNACABrUKBgICAEH4hBSADIARqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsgAAsEAEEQCxkBAX9BiKoCKAIAIgAEQCAAERYACxCLAQAL1AECBX8CfgJ/IAJCAFIEQCAAQeABaiEHIABB4ABqIQMgACgA4AIhBANAIAMgBGohBkGAAiAEayIFrSIIIAJaBEAgBiABIAKnIgEQCxogACAAKADgAiABajYA4AJBAAwDCyAGIAEgBRALGiAAIAAoAOACIAVqNgDgAiAAIAApAEAiCUKAAXw3AEAgACAAKQBIIAlC/35WrXw3AEggACADEFIgAyAHQYABEAsaIAAgACgA4AJBgAFrIgQ2AOACIAEgBWohASACIAh9IgJCAFINAAsLQQALC58EARN/IAEoAgQhAiABKAIsIQMgASgCCCEEIAEoAjAhBSABKAIMIQYgASgCNCEHIAEoAhAhCCABKAI4IQkgASgCFCEKIAEoAjwhCyABKAIYIQwgAUFAayINKAIAIQ4gASgCHCEPIAEoAkQhECABKAIgIREgASgCSCESIAEoAiQhEyABKAJMIRQgACABKAIAIAEoAihqNgIAIAAgEyAUajYCJCAAIBEgEmo2AiAgACAPIBBqNgIcIAAgDCAOajYCGCAAIAogC2o2AhQgACAIIAlqNgIQIAAgBiAHajYCDCAAIAQgBWo2AgggACACIANqNgIEIAEoAgQhAiABKAIsIQMgASgCCCEEIAEoAjAhBSABKAIMIQYgASgCNCEHIAEoAhAhCCABKAI4IQkgASgCFCEKIAEoAjwhCyABKAIYIQwgDSgCACENIAEoAhwhDiABKAJEIQ8gASgCICEQIAEoAkghESABKAIAIRIgASgCKCETIAAgASgCTCABKAIkazYCTCAAIBEgEGs2AkggACAPIA5rNgJEIABBQGsgDSAMazYCACAAIAsgCms2AjwgACAJIAhrNgI4IAAgByAGazYCNCAAIAUgBGs2AjAgACADIAJrNgIsIAAgEyASazYCKCAAIAEpAlA3AlAgACABKQJYNwJYIAAgASkCYDcCYCAAIAEpAmg3AmggACABKQJwNwJwIABB+ABqIAFB+ABqQZANEAYL6AQBCX8gACABKAIgIgUgASgCHCIGIAEoAhgiByABKAIUIgggASgCECIJIAEoAgwiCiABKAIIIgQgASgCBCIDIAEoAgAiAiABKAIkIgFBE2xBgICACGpBGXZqQRp1akEZdWpBGnVqQRl1akEadWpBGXVqQRp1akEZdWpBGnUgAWpBGXVBE2wgAmoiAjoAACAAIAJBEHY6AAIgACACQQh2OgABIAAgAyACQRp1aiIDQQ52OgAFIAAgA0EGdjoABCAAIAJBGHZBA3EgA0ECdHI6AAMgACAEIANBGXVqIgJBDXY6AAggACACQQV2OgAHIAAgAkEDdCADQYCAgA5xQRZ2cjoABiAAIAogAkEadWoiBEELdjoACyAAIARBA3Y6AAogACAEQQV0IAJBgICAH3FBFXZyOgAJIAAgCSAEQRl1aiICQRJ2OgAPIAAgAkEKdjoADiAAIAJBAnY6AA0gACAIIAJBGnVqIgM6ABAgACACQQZ0IARBgIDgD3FBE3ZyOgAMIAAgA0EQdjoAEiAAIANBCHY6ABEgACAHIANBGXVqIgJBD3Y6ABUgACACQQd2OgAUIAAgA0EYdkEBcSACQQF0cjoAEyAAIAYgAkEadWoiA0ENdjoAGCAAIANBBXY6ABcgACADQQN0IAJBgICAHHFBF3ZyOgAWIAAgBSADQRl1aiICQQx2OgAbIAAgAkEEdjoAGiAAIAJBBHQgA0GAgIAPcUEVdnI6ABkgACABIAJBGnVqIgFBCnY6AB4gACABQQJ2OgAdIAAgAUGAgPAPcUESdjoAHyAAIAFBBnQgAkGAgMAfcUEUdnI6ABwLCAAgAEEgEBkL8AkBHX8gASgCBCEEIAEoAiwhAyABKAIIIQUgASgCMCEGIAEoAgwhByABKAI0IQggASgCECEJIAEoAjghCiABKAIUIQsgASgCPCEMIAEoAhghDSABQUBrIg4oAgAhDyABKAIcIRAgASgCRCERIAEoAiAhEiABKAJIIRMgASgCJCEUIAEoAkwhFSAAIAEoAgAgASgCKGo2AgAgACAUIBVqNgIkIAAgEiATajYCICAAIBAgEWo2AhwgACANIA9qNgIYIAAgCyAMajYCFCAAIAkgCmo2AhAgACAHIAhqNgIMIAAgBSAGajYCCCAAIAMgBGo2AgQgASgCBCEDIAEoAiwhBSABKAIIIQYgASgCMCEHIAEoAgwhCCABKAI0IQkgASgCECEKIAEoAjghCyABKAIUIQwgASgCPCENIAEoAhghDyAOKAIAIQ4gASgCHCEEIAEoAkQhECABKAIgIREgASgCSCESIAEoAgAhEyABKAIoIRQgACABKAJMIAEoAiRrNgJMIAAgEiARazYCSCAAIBAgBGs2AkQgAEFAayIEIA4gD2s2AgAgACANIAxrNgI8IAAgCyAKazYCOCAAIAkgCGs2AjQgACAHIAZrNgIwIAAgBSADazYCLCAAIBQgE2s2AiggAEHQAGogACACEAYgAEEoaiIDIAMgAkEoahAGIABB+ABqIAJB+ABqIAFB+ABqEAYgACABQdAAaiACQdAAahAGIAAoAgQhFCAAKAIIIRUgACgCDCEWIAAoAhAhFyAAKAIUIRggACgCGCEZIAAoAhwhGiAAKAIgIRsgACgCJCEcIAAoAiwhASAAKAJUIQIgACgCMCEDIAAoAlghBSAAKAI0IQYgACgCXCEHIAAoAjghCCAAKAJgIQkgACgCPCEKIAAoAmQhCyAEKAIAIQwgACgCaCENIAAoAkQhDiAAKAJsIQ8gACgCSCEQIAAoAnAhESAAKAIAIR0gACgCKCESIAAoAlAhEyAAIAAoAkwiHiAAKAJ0Ih9qNgJMIAAgECARajYCSCAAIA4gD2o2AkQgBCAMIA1qNgIAIAAgCiALajYCPCAAIAggCWo2AjggACAGIAdqNgI0IAAgAyAFajYCMCAAIAEgAmo2AiwgACASIBNqNgIoIAAgHyAeazYCJCAAIBEgEGs2AiAgACAPIA5rNgIcIAAgDSAMazYCGCAAIAsgCms2AhQgACAJIAhrNgIQIAAgByAGazYCDCAAIAUgA2s2AgggACACIAFrNgIEIAAgEyASazYCACAAIBxBAXQiASAAKAKcASICazYCnAEgACAbQQF0IgQgACgCmAEiA2s2ApgBIAAgGkEBdCIFIAAoApQBIgZrNgKUASAAIBlBAXQiByAAKAKQASIIazYCkAEgACAYQQF0IgkgACgCjAEiCms2AowBIAAgF0EBdCILIAAoAogBIgxrNgKIASAAIBZBAXQiDSAAKAKEASIOazYChAEgACAVQQF0Ig8gACgCgAEiEGs2AoABIAAgFEEBdCIRIAAoAnwiEms2AnwgACAdQQF0IhMgACgCeCIUazYCeCAAIAMgBGo2AnAgACAFIAZqNgJsIAAgByAIajYCaCAAIAkgCmo2AmQgACALIAxqNgJgIAAgDSAOajYCXCAAIA8gEGo2AlggACARIBJqNgJUIAAgEyAUajYCUCAAIAEgAmo2AnQLBABBfwvuCwEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBAnFFDQEgAyADKAIAIgFrIgNBhKYCKAIASQ0BIAAgAWohAAJAAkACQEGIpgIoAgAgA0cEQCADKAIMIQIgAUH/AU0EQCACIAMoAggiBEcNAkH0pQJB9KUCKAIAQX4gAUEDdndxNgIADAULIAMoAhghBiACIANHBEAgAygCCCIBIAI2AgwgAiABNgIIDAQLIAMoAhQiAQR/IANBFGoFIAMoAhAiAUUNAyADQRBqCyEEA0AgBCEHIAEiAkEUaiEEIAIoAhQiAQ0AIAJBEGohBCACKAIQIgENAAsgB0EANgIADAMLIAUoAgQiAUEDcUEDRw0DQfylAiAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgBSAANgIADwsgBCACNgIMIAIgBDYCCAwCC0EAIQILIAZFDQACQCADKAIcIgFBAnRBpKgCaiIEKAIAIANGBEAgBCACNgIAIAINAUH4pQJB+KUCKAIAQX4gAXdxNgIADAILIAZBEEEUIAYoAhAgA0YbaiACNgIAIAJFDQELIAIgBjYCGCADKAIQIgEEQCACIAE2AhAgASACNgIYCyADKAIUIgFFDQAgAiABNgIUIAEgAjYCGAsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAAkACQAJAIAFBAnFFBEBBjKYCKAIAIAVGBEBBjKYCIAM2AgBBgKYCQYCmAigCACAAaiIANgIAIAMgAEEBcjYCBCADQYimAigCAEcNBkH8pQJBADYCAEGIpgJBADYCAA8LQYimAigCACAFRgRAQYimAiADNgIAQfylAkH8pQIoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAIAUoAgwhAiABQf8BTQRAIAUoAggiBCACRgRAQfSlAkH0pQIoAgBBfiABQQN2d3E2AgAMBQsgBCACNgIMIAIgBDYCCAwECyAFKAIYIQYgAiAFRwRAIAUoAggiASACNgIMIAIgATYCCAwDCyAFKAIUIgEEfyAFQRRqBSAFKAIQIgFFDQIgBUEQagshBANAIAQhByABIgJBFGohBCACKAIUIgENACACQRBqIQQgAigCECIBDQALIAdBADYCAAwCCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAwDC0EAIQILIAZFDQACQCAFKAIcIgFBAnRBpKgCaiIEKAIAIAVGBEAgBCACNgIAIAINAUH4pQJB+KUCKAIAQX4gAXdxNgIADAILIAZBEEEUIAYoAhAgBUYbaiACNgIAIAJFDQELIAIgBjYCGCAFKAIQIgEEQCACIAE2AhAgASACNgIYCyAFKAIUIgFFDQAgAiABNgIUIAEgAjYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQYimAigCAEcNAEH8pQIgADYCAA8LIABB/wFNBEAgAEF4cUGcpgJqIQECf0H0pQIoAgAiBEEBIABBA3Z0IgBxRQRAQfSlAiAAIARyNgIAIAEMAQsgASgCCAshACABIAM2AgggACADNgIMIAMgATYCDCADIAA2AggPC0EfIQIgAEH///8HTQRAIABBJiAAQQh2ZyIBa3ZBAXEgAUEBdGtBPmohAgsgAyACNgIcIANCADcCECACQQJ0QaSoAmohBwJ/AkACf0H4pQIoAgAiAUEBIAJ0IgRxRQRAQfilAiABIARyNgIAQRghAiAHIQRBCAwBCyAAQRkgAkEBdmtBACACQR9HG3QhAiAHKAIAIQQDQCAEIgEoAgRBeHEgAEYNAiACQR12IQQgAkEBdCECIAEgBEEEcWpBEGoiBygCACIEDQALQRghAiABIQRBCAshACADIgEMAQsgASgCCCIEIAM2AgxBCCECIAFBCGohB0EYIQBBAAshBSAHIAM2AgAgAiADaiAENgIAIAMgATYCDCAAIANqIAU2AgBBlKYCQZSmAigCAEEBayIAQX8gABs2AgALCwUAQcAAC4kGAgd+A38jAEHABWsiCyQAAkAgAlANACAAIAApA0giAyACQgOGfCIENwNIIAAgACkDQCADIARWrXwgAkI9iHw3A0AgAEHQAGohCkKAASADQgOIQv8AgyIEfSIIIAJYBEBCACEDIARC/wCFQgNaBEAgCEL8AYMhBwNAIAogAyAEfKdqIAEgA6dqLQAAOgAAIAogA0IBhCIJIAR8p2ogASAJp2otAAA6AAAgCiADQgKEIgkgBHynaiABIAmnai0AADoAACAKIANCA4QiCSAEfKdqIAEgCadqLQAAOgAAIANCBHwhAyAFQgR8IgUgB1INAAsLIAhCA4MiBUIAUgRAA0AgCiADIAR8p2ogASADp2otAAA6AAAgA0IBfCEDIAZCAXwiBiAFUg0ACwsgACAKIAsgC0GABWoiDBBlIAEgCKdqIQEgAiAIfSICQv8AVgRAA0AgACABIAsgDBBlIAFBgAFqIQEgAkKAAX0iAkL/AFYNAAsLAkAgAlANACACQgODIQRCACEGQgAhAyACQgRaBEAgAkL8AIMhBUIAIQIDQCAKIAOnIgBqIAAgAWotAAA6AAAgCiAAQQFyIgxqIAEgDGotAAA6AAAgCiAAQQJyIgxqIAEgDGotAAA6AAAgCiAAQQNyIgBqIAAgAWotAAA6AAAgA0IEfCEDIAJCBHwiAiAFUg0ACwsgBFANAANAIAogA6ciAGogACABai0AADoAACADQgF8IQMgBkIBfCIGIARSDQALCyALQcAFEAkMAQtCACEDIAJCBFoEQCACQnyDIQgDQCAKIAMgBHynaiABIAOnai0AADoAACAKIANCAYQiByAEfKdqIAEgB6dqLQAAOgAAIAogA0IChCIHIAR8p2ogASAHp2otAAA6AAAgCiADQgOEIgcgBHynaiABIAenai0AADoAACADQgR8IQMgBUIEfCIFIAhSDQALCyACQgODIgJQDQADQCAKIAMgBHynaiABIAOnai0AADoAACADQgF8IQMgBkIBfCIGIAJSDQALCyALQcAFaiQAQQALgwgBH38jAEEwayICJAAgACABEAUgAEHQAGogAUEoahAFIABB+ABqIAFB0ABqEJIBIAEoAiwhAyABKAIEIQQgASgCMCEFIAEoAgghBiABKAI0IQcgASgCDCEIIAEoAjghCSABKAIQIQogASgCPCELIAEoAhQhDCABQUBrKAIAIQ0gASgCGCEOIAEoAkQhDyABKAIcIRAgASgCSCERIAEoAiAhEiABKAIoIRMgASgCACEUIAAgASgCTCABKAIkajYCTCAAIBEgEmo2AkggACAPIBBqNgJEIABBQGsiFSANIA5qNgIAIAAgCyAMajYCPCAAIAkgCmo2AjggACAHIAhqNgI0IAAgBSAGajYCMCAAIAMgBGo2AiwgACATIBRqNgIoIAIgAEEoahAFIAAoAgQhASAAKAJUIQMgACgCCCEEIAAoAlghBSAAKAIMIQYgACgCXCEHIAAoAhAhCCAAKAJgIQkgACgCFCEKIAAoAmQhCyAAKAIYIQwgACgCaCENIAAoAhwhDiAAKAJsIQ8gACgCICEQIAAoAnAhESAAKAIAIRIgACgCUCETIAAgACgCdCIUIAAoAiQiFmsiFzYCdCAAIBEgEGsiGDYCcCAAIA8gDmsiGTYCbCAAIA0gDGsiGjYCaCAAIAsgCmsiGzYCZCAAIAkgCGsiHDYCYCAAIAcgBmsiHTYCXCAAIAUgBGsiHjYCWCAAIAMgAWsiHzYCVCAAIBMgEmsiIDYCUCAAIBQgFmoiFDYCTCAAIBAgEWoiEDYCSCAAIA4gD2oiDjYCRCAVIAwgDWoiDDYCACAAIAogC2oiCjYCPCAAIAggCWoiCDYCOCAAIAYgB2oiBjYCNCAAIAQgBWoiBDYCMCAAIAEgA2oiATYCLCAAIBIgE2oiAzYCKCACKAIAIQUgAigCBCEHIAIoAgghCSACKAIMIQsgAigCECENIAIoAhQhDyACKAIYIREgAigCHCESIAIoAiAhEyAAIAIoAiQgFGs2AiQgACATIBBrNgIgIAAgEiAOazYCHCAAIBEgDGs2AhggACAPIAprNgIUIAAgDSAIazYCECAAIAsgBms2AgwgACAJIARrNgIIIAAgByABazYCBCAAIAUgA2s2AgAgACgCfCEBIAAoAoABIQMgACgChAEhBCAAKAKIASEFIAAoAowBIQYgACgCkAEhByAAKAKUASEIIAAoApgBIQkgACgCeCEKIAAgACgCnAEgF2s2ApwBIAAgCSAYazYCmAEgACAIIBlrNgKUASAAIAcgGms2ApABIAAgBiAbazYCjAEgACAFIBxrNgKIASAAIAQgHWs2AoQBIAAgAyAeazYCgAEgACABIB9rNgJ8IAAgCiAgazYCeCACQTBqJAALRAECfyMAQRBrIgIkACABBEADQCACQQA6AA8gACADakHAnwIgAkEPakEAEAA6AAAgA0EBaiIDIAFHDQALCyACQRBqJAALxwEBBX8jAEEQayICQQA6AA8CQCABRQ0AIAFBBE8EQCABQXxxIQYDQCACIAAgA2oiBC0AACACLQAPcjoADyACIAQtAAEgAi0AD3I6AA8gAiAELQACIAItAA9yOgAPIAIgBC0AAyACLQAPcjoADyADQQRqIQMgBUEEaiIFIAZHDQALCyABQQNxIgRFDQBBACEBA0AgAiAAIANqLQAAIAItAA9yOgAPIANBAWohAyABQQFqIgEgBEcNAAsLIAItAA9BAWtBCHZBAXELjgUBEX8CfyADRQRAQbLaiMsHIQZB7siBmQMhB0Hl8MGLBiEEQfTKgdkGDAELIAMoAAghBiADKAAEIQcgAygAACEEIAMoAAwLIQ8gASgADCEFIAEoAAghDCABKAAEIQggAigAHCEKIAIoABghCyACKAAUIRAgAigAECEOIAIoAAwhAyACKAAIIQ0gAigABCEJIAEoAAAhASACKAAAIQIDQCACIAEgAiAEaiICc0EQdyIBIA5qIgRzQQx3Ig4gAmoiESABc0EIdyIBIARqIgQgDnNBB3ciAiADIAUgAyAPaiIDc0EQdyIFIApqIgpzQQx3Ig4gA2oiA2oiDyANIAwgBiANaiIGc0EQdyIMIAtqIg1zQQx3IgsgBmoiBiAMc0EIdyITc0EQdyIMIAkgCCAHIAlqIgdzQRB3IgggEGoiCXNBDHciFCAHaiIHIAhzQQh3IgggCWoiCWoiECACc0EMdyICIA9qIg8gDHNBCHciDCAQaiIQIAJzQQd3IQIgBCADIAVzQQh3IgQgCmoiBSAOc0EHdyIDIAZqIgYgCHNBEHciCGoiCiADc0EMdyIDIAZqIgYgCHNBCHciCCAKaiIOIANzQQd3IQMgBSABIA0gE2oiBSALc0EHdyIBIAdqIgdzQRB3Ig1qIgogAXNBDHciCyAHaiIHIA1zQQh3IgEgCmoiCiALc0EHdyENIAUgBCAJIBRzQQd3IgQgEWoiBXNBEHciCWoiCyAEc0EMdyIRIAVqIgQgCXNBCHciBSALaiILIBFzQQd3IQkgEkEBaiISQQpHDQALIAAgBDYAACAAIAU2ABwgACAMNgAYIAAgCDYAFCAAIAE2ABAgACAPNgAMIAAgBjYACCAAIAc2AARBAAsEAEEAC78IAgF+A38jAEHABWsiAyQAIAAgACgCSEEDdkH/AHEiBGpB0ABqIQUCQCAEQfAATwRAIAVB8JECQYABIARrEAsaIAAgAEHQAGoiBCADIANBgAVqEGUgBEEAQfAAEAwaDAELIAVB8JECQfAAIARrEAsaCyAAIAApA0AiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAwAEgACAAKQNIIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AMgBIAAgAEHQAGogAyADQYAFahBlIAEgACkDACICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAAIAEgACkDCCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAIIAEgACkDECICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAQIAEgACkDGCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAYIAEgACkDICICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAgIAEgACkDKCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAoIAEgACkDMCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAwIAEgACkDOCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwA4IANBwAUQCSAAQdABEAkgA0HABWokAEEAC8AoAQt/IwBBEGsiCiQAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEH0pQIoAgAiBEEQIABBC2pB+ANxIABBC0kbIgZBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiICQQN0IgFBnKYCaiIAIAFBpKYCaigCACIBKAIIIgVGBEBB9KUCIARBfiACd3E2AgAMAQsgBSAANgIMIAAgBTYCCAsgAUEIaiEAIAEgAkEDdCICQQNyNgIEIAEgAmoiASABKAIEQQFyNgIEDAsLIAZB/KUCKAIAIghNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIBQQN0IgBBnKYCaiICIABBpKYCaigCACIAKAIIIgVGBEBB9KUCIARBfiABd3EiBDYCAAwBCyAFIAI2AgwgAiAFNgIICyAAIAZBA3I2AgQgACAGaiIHIAFBA3QiASAGayIFQQFyNgIEIAAgAWogBTYCACAIBEAgCEF4cUGcpgJqIQFBiKYCKAIAIQICfyAEQQEgCEEDdnQiA3FFBEBB9KUCIAMgBHI2AgAgAQwBCyABKAIICyEDIAEgAjYCCCADIAI2AgwgAiABNgIMIAIgAzYCCAsgAEEIaiEAQYimAiAHNgIAQfylAiAFNgIADAsLQfilAigCACILRQ0BIAtoQQJ0QaSoAmooAgAiAigCBEF4cSAGayEDIAIhAQNAAkAgASgCECIARQRAIAEoAhQiAEUNAQsgACgCBEF4cSAGayIBIAMgASADSSIBGyEDIAAgAiABGyECIAAhAQwBCwsgAigCGCEJIAIgAigCDCIARwRAIAIoAggiASAANgIMIAAgATYCCAwKCyACKAIUIgEEfyACQRRqBSACKAIQIgFFDQMgAkEQagshBQNAIAUhByABIgBBFGohBSAAKAIUIgENACAAQRBqIQUgACgCECIBDQALIAdBADYCAAwJC0F/IQYgAEG/f0sNACAAQQtqIgFBeHEhBkH4pQIoAgAiB0UNAEEfIQhBACAGayEDIABB9P//B00EQCAGQSYgAUEIdmciAGt2QQFxIABBAXRrQT5qIQgLAkACQAJAIAhBAnRBpKgCaigCACIBRQRAQQAhAAwBC0EAIQAgBkEZIAhBAXZrQQAgCEEfRxt0IQIDQAJAIAEoAgRBeHEgBmsiBCADTw0AIAEhBSAEIgMNAEEAIQMgASEADAMLIAAgASgCFCIEIAQgASACQR12QQRxaigCECIBRhsgACAEGyEAIAJBAXQhAiABDQALCyAAIAVyRQRAQQAhBUECIAh0IgBBACAAa3IgB3EiAEUNAyAAaEECdEGkqAJqKAIAIQALIABFDQELA0AgACgCBEF4cSAGayICIANJIQEgAiADIAEbIQMgACAFIAEbIQUgACgCECIBBH8gAQUgACgCFAsiAA0ACwsgBUUNACADQfylAigCACAGa08NACAFKAIYIQggBSAFKAIMIgBHBEAgBSgCCCIBIAA2AgwgACABNgIIDAgLIAUoAhQiAQR/IAVBFGoFIAUoAhAiAUUNAyAFQRBqCyECA0AgAiEEIAEiAEEUaiECIAAoAhQiAQ0AIABBEGohAiAAKAIQIgENAAsgBEEANgIADAcLIAZB/KUCKAIAIgVNBEBBiKYCKAIAIQACQCAFIAZrIgFBEE8EQCAAIAZqIgIgAUEBcjYCBCAAIAVqIAE2AgAgACAGQQNyNgIEDAELIAAgBUEDcjYCBCAAIAVqIgEgASgCBEEBcjYCBEEAIQJBACEBC0H8pQIgATYCAEGIpgIgAjYCACAAQQhqIQAMCQsgBkGApgIoAgAiAkkEQEGApgIgAiAGayIBNgIAQYymAkGMpgIoAgAiACAGaiICNgIAIAIgAUEBcjYCBCAAIAZBA3I2AgQgAEEIaiEADAkLQQAhACAGQS9qIgMCf0HMqQIoAgAEQEHUqQIoAgAMAQtB2KkCQn83AgBB0KkCQoCggICAgAQ3AgBBzKkCIApBDGpBcHFB2KrVqgVzNgIAQeCpAkEANgIAQbCpAkEANgIAQYAgCyIBaiIEQQAgAWsiB3EiASAGTQ0IQaypAigCACIFBEBBpKkCKAIAIgggAWoiCSAITQ0JIAUgCUkNCQsCQEGwqQItAABBBHFFBEACQAJAAkACQEGMpgIoAgAiBQRAQbSpAiEAA0AgBSAAKAIAIghPBEAgCCAAKAIEaiAFSw0DCyAAKAIIIgANAAsLQQAQRSICQX9GDQMgASEEQdCpAigCACIAQQFrIgUgAnEEQCABIAJrIAIgBWpBACAAa3FqIQQLIAQgBk0NA0GsqQIoAgAiAARAQaSpAigCACIFIARqIgcgBU0NBCAAIAdJDQQLIAQQRSIAIAJHDQEMBQsgBCACayAHcSIEEEUiAiAAKAIAIAAoAgRqRg0BIAIhAAsgAEF/Rg0BIAZBMGogBE0EQCAAIQIMBAtB1KkCKAIAIgIgAyAEa2pBACACa3EiAhBFQX9GDQEgAiAEaiEEIAAhAgwDCyACQX9HDQILQbCpAkGwqQIoAgBBBHI2AgALIAEQRSECQQAQRSEAIAJBf0YNBSAAQX9GDQUgACACTQ0FIAAgAmsiBCAGQShqTQ0FC0GkqQJBpKkCKAIAIARqIgA2AgBBqKkCKAIAIABJBEBBqKkCIAA2AgALAkBBjKYCKAIAIgMEQEG0qQIhAANAIAIgACgCACIBIAAoAgQiBWpGDQIgACgCCCIADQALDAQLQYSmAigCACIAQQAgACACTRtFBEBBhKYCIAI2AgALQQAhAEG4qQIgBDYCAEG0qQIgAjYCAEGUpgJBfzYCAEGYpgJBzKkCKAIANgIAQcCpAkEANgIAA0AgAEEDdCIBQaSmAmogAUGcpgJqIgU2AgAgAUGopgJqIAU2AgAgAEEBaiIAQSBHDQALQYCmAiAEQShrIgBBeCACa0EHcSIBayIFNgIAQYymAiABIAJqIgE2AgAgASAFQQFyNgIEIAAgAmpBKDYCBEGQpgJB3KkCKAIANgIADAQLIAIgA00NAiABIANLDQIgACgCDEEIcQ0CIAAgBCAFajYCBEGMpgIgA0F4IANrQQdxIgBqIgE2AgBBgKYCQYCmAigCACAEaiICIABrIgA2AgAgASAAQQFyNgIEIAIgA2pBKDYCBEGQpgJB3KkCKAIANgIADAMLQQAhAAwGC0EAIQAMBAtBhKYCKAIAIAJLBEBBhKYCIAI2AgALIAIgBGohBUG0qQIhAAJAA0AgBSAAKAIAIgFHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQMLQbSpAiEAA0ACQCADIAAoAgAiAU8EQCABIAAoAgRqIgUgA0sNAQsgACgCCCEADAELC0GApgIgBEEoayIAQXggAmtBB3EiAWsiBzYCAEGMpgIgASACaiIBNgIAIAEgB0EBcjYCBCAAIAJqQSg2AgRBkKYCQdypAigCADYCACADIAVBJyAFa0EHcWpBL2siACAAIANBEGpJGyIBQRs2AgQgAUG8qQIpAgA3AhAgAUG0qQIpAgA3AghBvKkCIAFBCGo2AgBBuKkCIAQ2AgBBtKkCIAI2AgBBwKkCQQA2AgAgAUEYaiEAA0AgAEEHNgIEIABBCGogAEEEaiEAIAVJDQALIAEgA0YNACABIAEoAgRBfnE2AgQgAyABIANrIgJBAXI2AgQgASACNgIAAn8gAkH/AU0EQCACQXhxQZymAmohAAJ/QfSlAigCACIBQQEgAkEDdnQiAnFFBEBB9KUCIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgxBDCECQQgMAQtBHyEAIAJB////B00EQCACQSYgAkEIdmciAGt2QQFxIABBAXRrQT5qIQALIAMgADYCHCADQgA3AhAgAEECdEGkqAJqIQECQAJAQfilAigCACIFQQEgAHQiBHFFBEBB+KUCIAQgBXI2AgAgASADNgIADAELIAJBGSAAQQF2a0EAIABBH0cbdCEAIAEoAgAhBQNAIAUiASgCBEF4cSACRg0CIABBHXYhBSAAQQF0IQAgASAFQQRxaiIEKAIQIgUNAAsgBCADNgIQCyADIAE2AhhBCCECIAMiASEAQQwMAQsgASgCCCIAIAM2AgwgASADNgIIIAMgADYCCEEAIQBBGCECQQwLIANqIAE2AgAgAiADaiAANgIAC0GApgIoAgAiACAGTQ0AQYCmAiAAIAZrIgE2AgBBjKYCQYymAigCACIAIAZqIgI2AgAgAiABQQFyNgIEIAAgBkEDcjYCBCAAQQhqIQAMBAtB8KUCQTA2AgBBACEADAMLIAAgAjYCACAAIAAoAgQgBGo2AgQgAkF4IAJrQQdxaiIIIAZBA3I2AgQgAUF4IAFrQQdxaiIEIAYgCGoiA2shBwJAQYymAigCACAERgRAQYymAiADNgIAQYCmAkGApgIoAgAgB2oiADYCACADIABBAXI2AgQMAQtBiKYCKAIAIARGBEBBiKYCIAM2AgBB/KUCQfylAigCACAHaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAMAQsgBCgCBCIAQQNxQQFGBEAgAEF4cSEJIAQoAgwhAgJAIABB/wFNBEAgBCgCCCIBIAJGBEBB9KUCQfSlAigCAEF+IABBA3Z3cTYCAAwCCyABIAI2AgwgAiABNgIIDAELIAQoAhghBgJAIAIgBEcEQCAEKAIIIgAgAjYCDCACIAA2AggMAQsCQCAEKAIUIgAEfyAEQRRqBSAEKAIQIgBFDQEgBEEQagshAQNAIAEhBSAAIgJBFGohASAAKAIUIgANACACQRBqIQEgAigCECIADQALIAVBADYCAAwBC0EAIQILIAZFDQACQCAEKAIcIgBBAnRBpKgCaiIBKAIAIARGBEAgASACNgIAIAINAUH4pQJB+KUCKAIAQX4gAHdxNgIADAILIAZBEEEUIAYoAhAgBEYbaiACNgIAIAJFDQELIAIgBjYCGCAEKAIQIgAEQCACIAA2AhAgACACNgIYCyAEKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsgByAJaiEHIAQgCWoiBCgCBCEACyAEIABBfnE2AgQgAyAHQQFyNgIEIAMgB2ogBzYCACAHQf8BTQRAIAdBeHFBnKYCaiEAAn9B9KUCKAIAIgFBASAHQQN2dCICcUUEQEH0pQIgASACcjYCACAADAELIAAoAggLIQEgACADNgIIIAEgAzYCDCADIAA2AgwgAyABNgIIDAELQR8hAiAHQf///wdNBEAgB0EmIAdBCHZnIgBrdkEBcSAAQQF0a0E+aiECCyADIAI2AhwgA0IANwIQIAJBAnRBpKgCaiEAAkACQEH4pQIoAgAiAUEBIAJ0IgVxRQRAQfilAiABIAVyNgIAIAAgAzYCAAwBCyAHQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQEDQCABIgAoAgRBeHEgB0YNAiACQR12IQEgAkEBdCECIAAgAUEEcWoiBSgCECIBDQALIAUgAzYCEAsgAyAANgIYIAMgAzYCDCADIAM2AggMAQsgACgCCCIBIAM2AgwgACADNgIIIANBADYCGCADIAA2AgwgAyABNgIICyAIQQhqIQAMAgsCQCAIRQ0AAkAgBSgCHCIBQQJ0QaSoAmoiAigCACAFRgRAIAIgADYCACAADQFB+KUCIAdBfiABd3EiBzYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogADYCACAARQ0BCyAAIAg2AhggBSgCECIBBEAgACABNgIQIAEgADYCGAsgBSgCFCIBRQ0AIAAgATYCFCABIAA2AhgLAkAgA0EPTQRAIAUgAyAGaiIAQQNyNgIEIAAgBWoiACAAKAIEQQFyNgIEDAELIAUgBkEDcjYCBCAFIAZqIgQgA0EBcjYCBCADIARqIAM2AgAgA0H/AU0EQCADQXhxQZymAmohAAJ/QfSlAigCACIBQQEgA0EDdnQiAnFFBEBB9KUCIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgBDYCCCABIAQ2AgwgBCAANgIMIAQgATYCCAwBC0EfIQAgA0H///8HTQRAIANBJiADQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAAsgBCAANgIcIARCADcCECAAQQJ0QaSoAmohAQJAAkAgB0EBIAB0IgJxRQRAQfilAiACIAdyNgIAIAEgBDYCACAEIAE2AhgMAQsgA0EZIABBAXZrQQAgAEEfRxt0IQAgASgCACEBA0AgASICKAIEQXhxIANGDQIgAEEddiEBIABBAXQhACACIAFBBHFqIgcoAhAiAQ0ACyAHIAQ2AhAgBCACNgIYCyAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgBUEIaiEADAELAkAgCUUNAAJAIAIoAhwiAUECdEGkqAJqIgUoAgAgAkYEQCAFIAA2AgAgAA0BQfilAiALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAkYbaiAANgIAIABFDQELIAAgCTYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQAgACABNgIUIAEgADYCGAsCQCADQQ9NBEAgAiADIAZqIgBBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMAQsgAiAGQQNyNgIEIAIgBmoiBSADQQFyNgIEIAMgBWogAzYCACAIBEAgCEF4cUGcpgJqIQBBiKYCKAIAIQECf0EBIAhBA3Z0IgcgBHFFBEBB9KUCIAQgB3I2AgAgAAwBCyAAKAIICyEEIAAgATYCCCAEIAE2AgwgASAANgIMIAEgBDYCCAtBiKYCIAU2AgBB/KUCIAM2AgALIAJBCGohAAsgCkEQaiQAIAALyAQBAn8jAEEQayIDJAAgA0EAOgAPQX8hBCAAIAEgAkGIlwIoAgARAwBFBEAgAyAALQAAIAMtAA9yOgAPIAMgAC0AASADLQAPcjoADyADIAAtAAIgAy0AD3I6AA8gAyAALQADIAMtAA9yOgAPIAMgAC0ABCADLQAPcjoADyADIAAtAAUgAy0AD3I6AA8gAyAALQAGIAMtAA9yOgAPIAMgAC0AByADLQAPcjoADyADIAAtAAggAy0AD3I6AA8gAyAALQAJIAMtAA9yOgAPIAMgAC0ACiADLQAPcjoADyADIAAtAAsgAy0AD3I6AA8gAyAALQAMIAMtAA9yOgAPIAMgAC0ADSADLQAPcjoADyADIAAtAA4gAy0AD3I6AA8gAyAALQAPIAMtAA9yOgAPIAMgAC0AECADLQAPcjoADyADIAAtABEgAy0AD3I6AA8gAyAALQASIAMtAA9yOgAPIAMgAC0AEyADLQAPcjoADyADIAAtABQgAy0AD3I6AA8gAyAALQAVIAMtAA9yOgAPIAMgAC0AFiADLQAPcjoADyADIAAtABcgAy0AD3I6AA8gAyAALQAYIAMtAA9yOgAPIAMgAC0AGSADLQAPcjoADyADIAAtABogAy0AD3I6AA8gAyAALQAbIAMtAA9yOgAPIAMgAC0AHCADLQAPcjoADyADIAAtAB0gAy0AD3I6AA8gAyAALQAeIAMtAA9yOgAPIAMgAC0AHyADLQAPcjoADyADLQAPQRd0QYCAgARrQR91IQQLIANBEGokACAEC30BA38CQAJAIAAiAUEDcUUNACABLQAARQRAQQAPCwNAIAFBAWoiAUEDcUUNASABLQAADQALDAELA0AgASICQQRqIQFBgIKECCACKAIAIgNrIANyQYCBgoR4cUGAgYKEeEYNAAsDQCACIgFBAWohAiABLQAADQALCyABIABrCycAIAJBgAJPBEBB1gpB/wlB6wBB4wgQAQALIAAgASACQf8BcRCDAQv7AwECf0F/IQQCQCACQcAASw0AIANBwQBrQUBJDQACQCABQQAgAhtFBEAgA0H/AXEiAUHBAGtB/wFxQb8BTQRAEA4ACyAAQUBrQQBBpQIQDBogAEL5wvibkaOz8NsANwA4IABC6/qG2r+19sEfNwAwIABCn9j52cKR2oKbfzcAKCAAQtGFmu/6z5SH0QA3ACAgAELx7fT4paf9p6V/NwAYIABCq/DT9K/uvLc8NwAQIABCu86qptjQ67O7fzcACCAAIAGtQoiS95X/zPmE6gCFNwAADAELAn8gAkH/AXEhAiMAQYABayIFJAACQCADQf8BcSIDQcEAa0H/AXFBvwFNDQAgAUUNACACQcEAa0H/AXFBvwFNDQAgAEFAa0EAQaUCEAwaIABC+cL4m5Gjs/DbADcAOCAAQuv6htq/tfbBHzcAMCAAQp/Y+dnCkdqCm383ACggAELRhZrv+s+Uh9EANwAgIABC8e30+KWn/aelfzcAGCAAQqvw0/Sv7ry3PDcAECAAQrvOqqbY0Ouzu383AAggACADrSACrUIIhoRCiJL3lf/M+YTqAIU3AAAgAEHgAGogBUEAQYABEAwgASACEAsiAUGAARALGiAAIAAoAOACQYABajYA4AIgAUGAARAJIAFBgAFqJABBAAwBCxAOAAsNAQtBACEECyAECw0AIAAgASACECQaQQAL6AUCB34DfyMAQaACayILJAACQCACUA0AIAAgACkDICIDIAJCA4Z8NwMgIABBKGohCkLAACADQgOIQj+DIgR9IgggAlgEQEIAIQMgBEI/hUIDWgRAIAhC/ACDIQcDQCAKIAMgBHynaiABIAOnai0AADoAACAKIANCAYQiCSAEfKdqIAEgCadqLQAAOgAAIAogA0IChCIJIAR8p2ogASAJp2otAAA6AAAgCiADQgOEIgkgBHynaiABIAmnai0AADoAACADQgR8IQMgBUIEfCIFIAdSDQALCyAIQgODIgVCAFIEQANAIAogAyAEfKdqIAEgA6dqLQAAOgAAIANCAXwhAyAGQgF8IgYgBVINAAsLIAAgCiALIAtBgAJqIgwQYiABIAinaiEBIAIgCH0iAkI/VgRAA0AgACABIAsgDBBiIAFBQGshASACQkB8IgJCP1YNAAsLAkAgAlANACACQgODIQRCACEGQgAhAyACQgRaBEAgAkI8gyEFQgAhAgNAIAogA6ciAGogACABai0AADoAACAKIABBAXIiDGogASAMai0AADoAACAKIABBAnIiDGogASAMai0AADoAACAKIABBA3IiAGogACABai0AADoAACADQgR8IQMgAkIEfCICIAVSDQALCyAEUA0AA0AgCiADpyIAaiAAIAFqLQAAOgAAIANCAXwhAyAGQgF8IgYgBFINAAsLIAtBoAIQCQwBC0IAIQMgAkIEWgRAIAJCfIMhCANAIAogAyAEfKdqIAEgA6dqLQAAOgAAIAogA0IBhCIHIAR8p2ogASAHp2otAAA6AAAgCiADQgKEIgcgBHynaiABIAenai0AADoAACAKIANCA4QiByAEfKdqIAEgB6dqLQAAOgAAIANCBHwhAyAFQgR8IgUgCFINAAsLIAJCA4MiAlANAANAIAogAyAEfKdqIAEgA6dqLQAAOgAAIANCAXwhAyAGQgF8IgYgAlINAAsLIAtBoAJqJABBAAsEAEEYCw0AIAAgASACEBcaQQALBABBCAv3EgIVfgN/IAAgACgALCIWQQV2Qf///wBxrSAAKAA8QQN2rSICQoOhVn4gADMAKiAAMQAsQhCGQoCA/ACDhHwiC0KAgEB9IghCFYd8IgFCg6FWfiAANQAxQgeIQv///wCDIgNC04xDfiAAKAAXIhdBGHatIAAxABtCCIaEIAAxABxCEIaEQgKIQv///wCDfCAAKAA0IhhBBHZB////AHGtIgRC5/YnfnwgFkEY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QbABaiQAC7sGAQl/IwBB4ABrIgMkACACQcEATwRAIAAQYxogACABIAKtECQaIAAgAxAtGkEgIQIgAyEBCyAAEGMaIANCtuzYsePGjZs2NwNYIANCtuzYsePGjZs2NwNQIANCtuzYsePGjZs2NwNIIANBQGsiCkK27Nix48aNmzY3AwAgA0K27Nix48aNmzY3AzggA0K27Nix48aNmzY3AzAgA0K27Nix48aNmzY3AyggA0K27Nix48aNmzY3AyACQCACRQ0AIAJBBE8EQCACQfwAcSEGA0AgA0EgaiILIARqIgUgBS0AACABIARqLQAAczoAACALIARBAXIiBWoiCCAILQAAIAEgBWotAABzOgAAIAsgBEECciIFaiIIIAgtAAAgASAFai0AAHM6AAAgCyAEQQNyIgVqIgggCC0AACABIAVqLQAAczoAACAEQQRqIQQgB0EEaiIHIAZHDQALCyACQQNxIgdFDQADQCADQSBqIARqIgYgBi0AACABIARqLQAAczoAACAEQQFqIQQgCUEBaiIJIAdHDQALCyAAIANBIGpCwAAQJBogAEHoAGoiABBjGiADQty48eLFi5eu3AA3A1ggA0LcuPHixYuXrtwANwNQIANC3Ljx4sWLl67cADcDSCAKQty48eLFi5eu3AA3AwAgA0LcuPHixYuXrtwANwM4IANC3Ljx4sWLl67cADcDMCADQty48eLFi5eu3AA3AyggA0LcuPHixYuXrtwANwMgAkAgAkUNAEEAIQlBACEEIAJBBE8EQCACQfwAcSEKQQAhBwNAIANBIGoiCCAEaiIGIAYtAAAgASAEai0AAHM6AAAgCCAEQQFyIgZqIgUgBS0AACABIAZqLQAAczoAACAIIARBAnIiBmoiBSAFLQAAIAEgBmotAABzOgAAIAggBEEDciIGaiIFIAUtAAAgASAGai0AAHM6AAAgBEEEaiEEIAdBBGoiByAKRw0ACwsgAkEDcSICRQ0AA0AgA0EgaiAEaiIHIActAAAgASAEai0AAHM6AAAgBEEBaiEEIAlBAWoiCSACRw0ACwsgACADQSBqIgBCwAAQJBogAEHAABAJIANBIBAJIANB4ABqJABBAAs7AQF/IwBBQGoiAiQAIAAgAhAdGiAAQdABaiIAIAJCwAAQFxogACABEB0aIAJBwAAQCSACQUBrJABBAAtyACAAQgA3A0AgAEIANwNIIABBsIwCKQMANwMAIABBuIwCKQMANwMIIABBwIwCKQMANwMQIABByIwCKQMANwMYIABB0IwCKQMANwMgIABB2IwCKQMANwMoIABB4IwCKQMANwMwIABB6IwCKQMANwM4QQALIwAgAUKAgICAEFoEQBAOAAsgACABIAIgA0G0nwIoAgARDwAL5QgBGH8jAEHAAmsiAiQAIABBKGoiFyABEDYgAEIANwJUIABBATYCUCAAQgA3AlwgAEIANwJkIABCADcCbCAAQQA2AnQgAkHwAWoiBCAXEAUgAkHAAWoiDiAEQbAMEAYgAiACKALAAUEBajYCwAEgAiACKALwAUEBayIDNgLwASACKAL0ASENIAIoAvgBIQUgAigC/AEhBiACKAKAAiEHIAIoAoQCIQggAigCiAIhCSACKAKMAiEKIAIoApACIQsgAigClAIhDCAAIAQgDhAGIAAgABBuIAAgBCAAEAYgAkGQAWoiBCAAEAUgBCAEIA4QBiACIAIoArQBIgQgDGs2AoQBIAIgAigCsAEiDiALazYCgAEgAiACKAKsASIPIAprNgJ8IAIgAigCqAEiECAJazYCeCACIAIoAqQBIhEgCGs2AnQgAiACKAKgASISIAdrNgJwIAIgAigCnAEiEyAGazYCbCACIAIoApgBIhQgBWs2AmggAiACKAKUASIVIA1rNgJkIAIgAigCkAEiFiADazYCYCACIAQgDGo2AlQgAiALIA5qNgJQIAIgCiAPajYCTCACIAkgEGo2AkggAiAIIBFqNgJEIAIgByASajYCQCACIAYgE2o2AjwgAiAFIBRqNgI4IAIgDSAVajYCNCACIAMgFmo2AjAgAiACQeAAahARIAJBIBAaIQQgAiACQTBqEBEgAkEgEBohDyACIABB4AwQBiAAKAIEIQwgACgCCCELIAAoAgwhCiAAKAIQIQkgACgCFCEIIAAoAhghByAAKAIcIQYgACgCICEFIAAoAgAhDiACKAIAIRAgAigCBCERIAIoAgghEiACKAIMIRMgAigCECEUIAIoAhQhFSACKAIYIRYgAigCHCEYIAIoAiAhGSAAIARBAWsiAyAAKAIkIg0gAigCJHNxIA1zIg02AiQgACAFIAUgGXMgA3FzIgU2AiAgACAGIAYgGHMgA3FzIgY2AhwgACAHIAcgFnMgA3FzIgc2AhggACAIIAggFXMgA3FzIgg2AhQgACAJIAkgFHMgA3FzIgk2AhAgACAKIAogE3MgA3FzIgo2AgwgACALIAsgEnMgA3FzIgs2AgggACAMIAwgEXMgA3FzIgw2AgQgACAOIA4gEHMgA3FzIgM2AgAgAkGgAmogABARIABBACACLQCgAkEBcSABLQAfQQd2c0GAqgItAABBAnZzayIBIA1BACANa3NxIA1zNgIkIAAgBUEAIAVrcyABcSAFczYCICAAIAZBACAGa3MgAXEgBnM2AhwgACAHQQAgB2tzIAFxIAdzNgIYIAAgCEEAIAhrcyABcSAIczYCFCAAIAlBACAJa3MgAXEgCXM2AhAgACAKQQAgCmtzIAFxIApzNgIMIAAgC0EAIAtrcyABcSALczYCCCAAIAxBACAMa3MgAXEgDHM2AgQgACADQQAgA2tzIAFxIANzNgIAIABB+ABqIAAgFxAGIAJBwAJqJAAgBCAPckEBawvKCAEDfyMAQcABayICJAAgAkGQAWoiBCABEAUgAkHgAGoiAyAEEAUgAyADEAUgAyABIAMQBiAEIAQgAxAGIAJBMGoiASAEEAUgAyADIAEQBiABIAMQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSADIAEgAxAGIAEgAxAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgASADEAYgAiABEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgASACIAEQBiABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSADIAEgAxAGIAEgAxAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgASADEAYgAiABEAVBASEBA0AgAiACEAUgAUEBaiIBQeQARw0ACyACQTBqIgEgAiABEAYgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgAkHgAGoiAyABIAMQBiADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSAAIAMgAkGQAWoQBiACQcABaiQAC/QEARl+IAExAB8hAiABMQAeIQYgATEAHSEOIAExAAYhByABMQAFIQggATEABCEDIAExAAkhDyABMQAIIRAgATEAByERIAExAAwhCSABMQALIQogATEACiELIAExAA8hDCABMQAOIRIgATEADSETIAExABwhBCABMQAbIRQgATEAGiEVIAExABkhBSABMQAYIRYgATEAFyEXIAE1AAAhGCAAIAExABVCD4YgATEAFEIHhoQgATEAFkIXhoQgATUAECIZQoCAgAh8IhpCGYh8Ig0gDUKAgIAQfCINQoCAgOAPg30+AhggACAWQg2GIBdCBYaEIAVCFYaEIgUgDUIaiHwgBUKAgIAIfCIFQoCAgPADg30+AhwgACAUQgyGIBVCBIaEIARCFIaEIAVCGYh8IgQgBEKAgIAQfCIEQoCAgOAPg30+AiAg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ASACIAk2AsgBIAIgCjYCxAEgAiALQQFqNgLAASACQeAAaiISIAJBwAFqIhMQBSACQTBqIhBBsAwgDBAGIAIoAmAhASACKAIwIQMgAigCZCEEIAIoAjQhBSACKAJoIQYgAigCOCEHIAIoAmwhCCACKAI8IQkgAigCcCEKIAIoAkAhCyACKAJ0IQwgAigCRCEOIAIoAnghDyACKAJIIRQgAigCfCEVIAIoAkwhFiACKAKAASEXIAIoAlAhGCACQQAgAigCVCACKAKEAWprNgJUIAJBACAXIBhqazYCUCACQQAgFSAWams2AkwgAkEAIA8gFGprNgJIIAJBACAMIA5qazYCRCACQQAgCiALams2AkAgAkEAIAggCWprNgI8IAJBACAGIAdqazYCOCACQQAgBCAFams2AjQgAkEAIAEgA2prNgIwIAIgECASEAYgAkIANwKUAyACQgA3ApwDIAJBADYCpAMgAkIANwKEAyACQQE2AoADIAJCADcCjAMgAkGwA2oiASACQYADaiACEGohDyAAIAEgExAGIABBKGoiAyABIAAQBiADIAMgEBAGIAAgACANEAYgACAAKAIkQQF0IgQ2AiQgACAAKAIgQQF0IgU2AiAgACAAKAIcQQF0IgY2AhwgACAAKAIYQQF0Igc2AhggACAAKAIUQQF0Igg2AhQgACAAKAIQQQF0Igk2AhAgACAAKAIMQQF0Igo2AgwgACAAKAIIQQF0Igs2AgggACAAKAIEQQF0Igw2AgQgACAAKAIAQQF0Ig42AgAgAkHgA2oiDSAAEBEgAEEAIAItAOADQQFxayIBIARBACAEa3NxIARzNgIkIAAgBUEAIAVrcyABcSAFczYCICAAIAZBACAGa3MgAXEgBnM2AhwgACAHQQAgB2tzIAFxIAdzNgIYIAAgCEEAIAhrcyABcSAIczYCFCAAIAlBACAJa3MgAXEgCXM2AhAgACAKQQAgCmtzIAFxIApzNgIMIAAgC0EAIAtrcyABcSALczYCCCAAIAxBACAMa3MgAXEgDHM2AgQgACAOQQAgDmtzIAFxIA5zNgIAIAMgESADEAYgAEIANwJUIABBATYCUCAAQgA3AlwgAEIANwJkIABCADcCbCAAQQA2AnQgAEH4AGoiASAAIAMQBiANIAEQESACLQDgAyEAIA0gAxARQQAgDUEgEBpBASAPayAA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RQ0BIAJBAWsiAkUNASABQQFqIQEgAC0AASEDIABBAWohACADDQALQQAhAwsgAwVBAAsgAS0AAGsLUgECf0HwlgIoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQBA0BC0HwpQJBMDYCAEF/DwtB8JYCIAA2AgAgAQs5AQF/IwBBIGsiAiQAIAAgAhAtGiAAQegAaiIAIAJCIBAkGiAAIAEQLRogAkEgEAkgAkEgaiQAQQALlgEBAX8jAEHQAWsiAyQAIANCADcDSCADQbiMAikDADcDCCADQcCMAikDADcDECADQciMAikDADcDGCADQdCMAikDADcDICADQdiMAikDADcDKCADQeCMAikDADcDMCADQeiMAikDADcDOCADQgA3A0AgA0GwjAIpAwA3AwAgAyABIAIQFxogAyAAEB0aIANB0AFqJABBAAsQACAAIAEgAiADQQgQaUEACxAAIAAgASACIANBDBBpQQALEAAgACABIAIgA0EUEGlBAAuhEQIsfwV+IwBBoAZrIgIkACABKAIsIQMgASgCVCEFIAEoAjAhDCABKAJYIQ0gASgCNCEOIAEoAlwhDyABKAI4IRAgASgCYCERIAEoAjwhEiABKAJkIRMgAUFAayIUKAIAIRYgASgCaCEEIAEoAkQhBiABKAJsIQcgASgCSCEIIAEoAnAhCSABKAIoIQogASgCUCELIAIgASgCTCIVIAEoAnQiF2o2AsQCIAIgCCAJajYCwAIgAiAGIAdqNgK8AiACIAQgFmo2ArgCIAIgEiATajYCtAIgAiAQIBFqNgKwAiACIA4gD2o2AqwCIAIgDCANajYCqAIgAiADIAVqNgKkAiACIAogC2o2AqACIAIgFyAVazYCJCACIAkgCGs2AiAgAiAHIAZrNgIcIAIgBCAWazYCGCACIBMgEms2AhQgAiARIBBrNgIQIAIgDyAOazYCDCACIA0gDGs2AgggAiAFIANrNgIEIAIgCyAKazYCACACQaACaiIFIAUgAhAGIAJB8AFqIgYgASABQShqIgMQBiACQcABaiIEIAYQBSAEIAUgBBAGIAJCADcCxAMgAkIANwLMAyACQQA2AtQDIAJCADcCtAMgAkIANwK8AyACQQE2ArADIAJBwARqIgcgAkGwA2ogBBBqGiACQdAFaiIEIAcgBRAGIAJBoAVqIh8gByAGEAYgAkEwaiIdIAQgHxAGIB0gHSABQfgAaiIFEAYgAkGQBGogAUHgDBAGIAJB4ANqIANB4AwQBiACQfAEaiAEQYAXEAYgAkHQAmoiAyAFIB0QBiACQYADaiIYIAMQESACLQCAAyEDIAIgASkCICIuNwOwASACIAEpAhgiLzcDqAEgAiABKQIQIjA3A6ABIAIgASkCCCIxNwOYASACIAEpAgAiMjcDkAEgASgCLCEFIAEoAjAhDCABKAI0IQ0gASgCOCEOIAEoAjwhDyAUKAIAIRAgASgCRCERIAEoAkghEiABKAJMIRMgASgCKCEWIAIoAuQDIQogAigClAEhBCACKALsAyELIAIoApwBIQYgAigC9AMhFCACKAKkASEHIAIoAvwDIRUgAigCrAEhCCACKAKEBCEXIAIoArQBIQkgAigC4AMhHiACKALoAyEZIAIoAvADIRogAigC+AMhGyACQQAgA0EBcWsiAyAupyIcIAIoAoAEc3EgHHM2ArABIAIgGyAvpyIccyADcSAcczYCqAEgAiAaIDCnIhtzIANxIBtzNgKgASACIBkgMaciGnMgA3EgGnM2ApgBIAIgHiAypyIZcyADcSAZczYCkAEgAiAJIAkgF3MgA3FzNgK0ASACIAggCCAVcyADcXM2AqwBIAIgByAHIBRzIANxczYCpAEgAiAGIAYgC3MgA3FzNgKcASACIAQgBCAKcyADcXM2ApQBIAIoApAEIRcgAigClAQhHiACKAKYBCEZIAIoApwEIRogAigCoAQhGyACKAKkBCEcIAIoAqgEISAgAigCrAQhISACKAKwBCEiIAIoArQEISMgAigCoAUhBCACKALwBCEkIAIoAqQFIQYgAigC9AQhJSACKAKoBSEHIAIoAvgEISYgAigCrAUhCCACKAL8BCEnIAIoArAFIQkgAigCgAUhKCACKAK0BSEKIAIoAoQFISkgAigCuAUhCyACKAKIBSEqIAIoArwFIRQgAigCjAUhKyACKALABSEVIAIoApAFISwgAiACKALEBSItIAIoApQFcyADcSAtczYCxAUgAiAVIBUgLHMgA3FzNgLABSACIBQgFCArcyADcXM2ArwFIAIgCyALICpzIANxczYCuAUgAiAKIAogKXMgA3FzNgK0BSACIAkgCSAocyADcXM2ArAFIAIgCCAIICdzIANxczYCrAUgAiAHIAcgJnMgA3FzNgKoBSACIAYgBiAlcyADcXM2AqQFIAIgBCAEICRzIANxczYCoAUgAkHgAGoiBCACQZABaiAdEAYgGCAEEBEgASgCVCEEIAEoAlghBiABKAJcIQcgASgCYCEIIAEoAmQhCSABKAJoIQogASgCbCELIAEoAnAhFCABKAJQIRUgAiABKAJ0QQAgAi0AgANBAXFrIgEgEyATICNzIANxcyITQQAgE2tzcSATc2s2AqQDIAIgFCASIBIgInMgA3FzIhJBACASa3MgAXEgEnNrNgKgAyACIAsgESARICFzIANxcyIRQQAgEWtzIAFxIBFzazYCnAMgAiAKIBAgECAgcyADcXMiEEEAIBBrcyABcSAQc2s2ApgDIAIgCSAPIA8gHHMgA3FzIg9BACAPa3MgAXEgD3NrNgKUAyACIAggDiAOIBtzIANxcyIOQQAgDmtzIAFxIA5zazYCkAMgAiAHIA0gDSAacyADcXMiDUEAIA1rcyABcSANc2s2AowDIAIgBiAMIAwgGXMgA3FzIgxBACAMa3MgAXEgDHNrNgKIAyACIAQgBSAFIB5zIANxcyIFQQAgBWtzIAFxIAVzazYChAMgAiAVIAEgFiAWIBdzIANxcyIBQQAgAWtzcSABc2s2AoADIBggHyAYEAYgAkGABmogGBARIAJBACACLQCABkEBcWsiASACKAKAAyIDQQAgA2tzcSADczYCgAMgAiACKAKEAyIDQQAgA2tzIAFxIANzNgKEAyACIAIoAogDIgNBACADa3MgAXEgA3M2AogDIAIgAigCjAMiA0EAIANrcyABcSADczYCjAMgAiACKAKQAyIDQQAgA2tzIAFxIANzNgKQAyACIAIoApQDIgNBACADa3MgAXEgA3M2ApQDIAIgAigCmAMiA0EAIANrcyABcSADczYCmAMgAiACKAKcAyIDQQAgA2tzIAFxIANzNgKcAyACIAIoAqADIgNBACADa3MgAXEgA3M2AqADIAIgASACKAKkAyIBQQAgAWtzcSABczYCpAMgACAYEBEgAkGgBmokAAv4AQEKfwNAIAQgACADai0AACIBIANBgBVqIgItAABzciEEIAogASACLQDAAXNyIQogCSABIAItAKABc3IhCSAIIAEgAi0AgAFzciEIIAcgASACLQBgc3IhByAGIAEgAkFAay0AAHNyIQYgBSABIAItACBzciEFIANBAWoiA0EfRw0ACyAKIAAtAB9B/wBxIgBB/wBzIgFyQf8BcUEBayABIAlyQf8BcUEBayABIAhyQf8BcUEBayAHIABB+gBzckH/AXFBAWsgBiAAQQVzckH/AXFBAWsgACAFckH/AXFBAWsgACAEckH/AXFBAWtycnJycnJBCHZBAXELwQUBHH8jAEHAAmsiASQAIAFB8AFqIgMgABAFIAFBwAFqIgQgAEEoahAFIAFBkAFqIgIgAEHQAGoQBSABKALwASEAIAEoAsABIQUgASgC9AEhBiABKALEASEHIAEoAvgBIQggASgCyAEhCSABKAL8ASEKIAEoAswBIQsgASgCgAIhDCABKALQASENIAEoAoQCIQ4gASgC1AEhDyABKAKIAiEQIAEoAtgBIREgASgCjAIhEiABKALcASETIAEoApACIRQgASgC4AEhFSABIAEoAuQBIAEoApQCazYCVCABIBUgFGs2AlAgASATIBJrNgJMIAEgESAQazYCSCABIA8gDms2AkQgASANIAxrNgJAIAEgCyAKazYCPCABIAkgCGs2AjggASAHIAZrNgI0IAEgBSAAazYCMCABQTBqIhYgFiACEAYgASADIAQQBiABIAFBsAwQBiABQeAAaiACEAUgASgCMCEAIAEoAmAhBSABKAIAIQYgASgCNCEHIAEoAmQhCCABKAIEIQkgASgCOCEKIAEoAmghCyABKAIIIQwgASgCPCENIAEoAmwhDiABKAIMIQ8gASgCQCEQIAEoAnAhESABKAIQIRIgASgCRCETIAEoAnQhFCABKAIUIRUgASgCSCECIAEoAnghAyABKAIYIQQgASgCTCEXIAEoAnwhGCABKAIcIRkgASgCUCEaIAEoAoABIRsgASgCICEcIAEgASgCVCABKAKEASABKAIkams2AlQgASAaIBsgHGprNgJQIAEgFyAYIBlqazYCTCABIAIgAyAEams2AkggASATIBQgFWprNgJEIAEgECARIBJqazYCQCABIA0gDiAPams2AjwgASAKIAsgDGprNgI4IAEgByAIIAlqazYCNCABIAAgBSAGams2AjAgAUGgAmoiACAWEBEgAEEgEBogAUHAAmokAAuFAwIDfwF+IwBB4AJrIgYkACAGIAQgBUEAECsaAn8C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IAEpAhA3A1AgAiABKQIoNwNIIAIgASkCIDcDQCADIAJB0ABqIAJBQGsQCCABIAIpAogCNwIoIAEgAikCgAI3AiAgAiABKQIINwM4IAIgASkCADcDMCACIAEpAhg3AyggAiABKQIQNwMgIAMgAkEwaiACQSBqEAggASACKQKIAjcCGCABIAIpAoACNwIQIAIgAikDmAI3AxggAiACKQOQAjcDECACIAEpAgg3AwggAiABKQIANwMAIAMgAkEQaiACEAggASACKQKIAjcCCCABIAIpAoACNwIAIAEgCiABKAAMczYCDCABIAkgASgACHM2AgggASAIIAEoAARzNgIEIAEgCyABKAAAczYCACAAIAcgACgAAHM2AgAgASAGIAEoAERzNgJEIAEgBSABKABIczYCSCABIAQgASgATHM2AkwgAkGgAmokAAvwCQEdfyABKAIEIQQgASgCLCEDIAEoAgghBSABKAIwIQYgASgCDCEHIAEoAjQhCCABKAIQIQkgASgCOCEKIAEoAhQhCyABKAI8IQwgASgCGCENIAFBQGsiDigCACEPIAEoAhwhECABKAJEIREgASgCICESIAEoAkghEyABKAIkIRQgASgCTCEVIAAgASgCACABKAIoajYCACAAIBQgFWo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCABKAIEIQMgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEPIA4oAgAhDiABKAIcIQQgASgCRCEQIAEoAiAhESABKAJIIRIgASgCACETIAEoAighFCAAIAEoAkwgASgCJGs2AkwgACASIBFrNgJIIAAgECAEazYCRCAAQUBrIgQgDiAPazYCACAAIA0gDGs2AjwgACALIAprNgI4IAAgCSAIazYCNCAAIAcgBms2AjAgACAFIANrNgIsIAAgFCATazYCKCAAQdAAaiAAIAJBKGoQBiAAQShqIgMgAyACEAYgAEH4AGogAkH4AGogAUH4AGoQBiAAIAFB0ABqIAJB0ABqEAYgACgCBCEUIAAoAgghFSAAKAIMIRYgACgCECEXIAAoAhQhGCAAKAIYIRkgACgCHCEaIAAoAiAhGyAAKAIkIRwgACgCLCEBIAAoAlQhAiAAKAIwIQMgACgCWCEFIAAoAjQhBiAAKAJcIQcgACgCOCEIIAAoAmAhCSAAKAI8IQogACgCZCELIAQoAgAhDCAAKAJoIQ0gACgCRCEOIAAoAmwhDyAAKAJIIRAgACgCcCERIAAoAgAhHSAAKAIoIRIgACgCUCETIAAgACgCTCIeIAAoAnQiH2o2AkwgACAQIBFqNgJIIAAgDiAPajYCRCAEIAwgDWo2AgAgACAKIAtqNgI8IAAgCCAJajYCOCAAIAYgB2o2AjQgACADIAVqNgIwIAAgASACajYCLCAAIBIgE2o2AiggACAfIB5rNgIkIAAgESAQazYCICAAIA8gDms2AhwgACANIAxrNgIYIAAgCyAKazYCFCAAIAkgCGs2AhAgACAHIAZrNgIMIAAgBSADazYCCCAAIAIgAWs2AgQgACATIBJrNgIAIAAgACgCnAEiASAcQQF0IgJqNgKcASAAIAAoApgBIgQgG0EBdCIDajYCmAEgACAAKAKUASIFIBpBAXQiBmo2ApQBIAAgACgCkAEiByAZQQF0IghqNgKQASAAIAAoAowBIgkgGEEBdCIKajYCjAEgACAAKAKIASILIBdBAXQiDGo2AogBIAAgACgChAEiDSAWQQF0Ig5qNgKEASAAIAAoAoABIg8gFUEBdCIQajYCgAEgACAAKAJ8IhEgFEEBdCISajYCfCAAIAAoAngiEyAdQQF0IhRqNgJ4IAAgAyAEazYCcCAAIAYgBWs2AmwgACAIIAdrNgJoIAAgCiAJazYCZCAAIAwgC2s2AmAgACAOIA1rNgJcIAAgECAPazYCWCAAIBIgEWs2AlQgACAUIBNrNgJQIAAgAiABazYCdAtAAQN/IAAgASABQfgAaiICEAYgAEEoaiABQShqIgMgAUHQAGoiBBAGIABB0ABqIAQgAhAGIABB+ABqIAEgAxAGCxcAIAAgASACrSADrUIghoQgBCAFEL8BCxcAIAAgASACrSADrUIghoQgBCAFEMABC4UBAQV/AkAgAS0AABA4IgJFDQAgAS0AARA4IgNFDQAgAS0AAhA4IgRFDQAgAS0AAxA4IgVFDQAgAS0ABBA4IgZFDQAgACACQYAIayADQYAIa0EGdHIgBEGACGtBDHRyIAVBgAhrQRJ0ciAGQYAIa0EYdHI2AgAgAUEFag8LIABBADYCAEEAC8MGAQR/IAIgACADQQd0akFAaiIEKQIANwIAIAIgBCkCODcCOCACIAQpAjA3AjAgAiAEKQIoNwIoIAIgBCkCIDcCICACIAQpAhg3AhggAiAEKQIQNwIQIAIgBCkCCDcCCCADBEAgA0EBdCEGIANBBnQhBwNAIAIgAigCACAAIAVBBnRqIgMoAgBzNgIAIAIgAigCBCADKAIEczYCBCACIAIoAgggAygCCHM2AgggAiACKAIMIAMoAgxzNgIMIAIgAigCECADKAIQczYCECACIAIoAhQgAygCFHM2AhQgAiACKAIYIAMoAhhzNgIYIAIgAigCHCADKAIcczYCHCACIAIoAiAgAygCIHM2AiAgAiACKAIkIAMoAiRzNgIkIAIgAigCKCADKAIoczYCKCACIAIoAiwgAygCLHM2AiwgAiACKAIwIAMoAjBzNgIwIAIgAigCNCADKAI0czYCNCACIAIoAjggAygCOHM2AjggAiACKAI8IAMoAjxzNgI8IAIQuwEgASAFQQV0aiIEIAIpAjg3AjggBCACKQIwNwIwIAQgAikCKDcCKCAEIAIpAiA3AiAgBCACKQIYNwIYIAQgAikCEDcCECAEIAIpAgg3AgggBCACKQIANwIAIAIgAigCACADQUBrKAIAczYCACACIAIoAgQgAygCRHM2AgQgAiACKAIIIAMoAkhzNgIIIAIgAigCDCADKAJMczYCDCACIAIoAhAgAygCUHM2AhAgAiACKAIUIAMoAlRzNgIUIAIgAigCGCADKAJYczYCGCACIAIoAhwgAygCXHM2AhwgAiACKAIgIAMoAmBzNgIgIAIgAigCJCADKAJkczYCJCACIAIoAiggAygCaHM2AiggAiACKAIsIAMoAmxzNgIsIAIgAigCMCADKAJwczYCMCACIAIoAjQgAygCdHM2AjQgAiACKAI4IAMoAnhzNgI4IAIgAigCPCADKAJ8czYCPCACELsBIAQgB2oiAyACKQI4NwI4IAMgAikCMDcCMCADIAIpAig3AiggAyACKQIgNwIgIAMgAikCGDcCGCADIAIpAhA3AhAgAyACKQIINwIIIAMgAikCADcCACAFQQJqIgUgBkkNAAsLCyIBAX8gACgCACIBBEAgARAVCyAAQQA2AgggAEIANwIAQQALkR4CEX8UfiMAQYAgayIFJAACQCAARQ0AAkACQAJ/IAAoAiQiAkECRwRAIAEtAAghCSAAKAIEIQ4gASgCAAwBCyAAKAIEIQ4gAS0ACCEJIAEoAgAiDA0BIAlBAk8NAUEACyEMIAVBgBhqQQBBgAgQDBogBUG4EGpBAEHIBxAMGiAFIAytNwOAECABNQIEIRcgBSAJrUL/AYM3A5AQIAUgFzcDiBAgBSAANQIQNwOYECAANQIIIRcgBSACrTcDqBAgBSAXNwOgECAAKAIURQ0BQgAhFwNAIARB/wBxIgNFBEAgBSAXQgF8Ihc3A7AQIAVBAEGACBAMIgJBgAhqQQBBgAgQDBogAkGAGGoiBiACQYAQaiACEHUgBiACIAJBgAhqEHULIA4gBEEDdGogBUGACGogA0EDdGopAwA3AwAgBEEBaiIEIAAoAhQiA0kNAAsMAQsgACgCFCEDQQEhEAsgCSAMckUiEUEBdCIIIANPDQBBfyAAKAIYIgJBAWsgCCACIAEoAgQiDWxqIAMgCWxqIgogAnAbIApqIQQgCUEBaiESIA2tISYDQCAKQQFrIAQgCiAAKAIYIgJwQQFGGyENIAAoAhwhByAQBH8gACgCACgCBCANQQp0agUgDiAIQQN0agspAwAhEyABIAg2AgwgJiATQiCIpyAHcK0gERshGAJ+IAxFBEAgCUUEQCAIQQFrIQRCAAwCCyADIAlsIQQgGCAmUQRAIAQgCGpBAWshBEIADAILIAQgCEVrIQRCAAwBCyAYICZRBH8gCCADQX9zagVBAEF/IAgbIANrCyACaiEEQgAgCUEDRg0AGiADIBJsrQshFyAAKAIAKAIEIgMgAiAYp2xBCnRqIBcgBEEBa618IAStIBNC/////w+DIhcgF35CIIh+QiCIfSACrYKnQQp0aiEEIAMgDUEKdGohAiADIApBCnRqIQcCQCAMBEAgAiAEIAcQdQwBCyAFQYAYaiAEQYAIEAsaQQAhBANAIARBA3QiAyAFQYAYaiILaiIGIAYpAwAgAiADaikDAIU3AwAgCyADQQhyIgZqIg8gDykDACACIAZqKQMAhTcDACALIANBEHIiBmoiDyAPKQMAIAIgBmopAwCFNwMAIAsgA0EYciIDaiIGIAYpAwAgAiADaikDAIU3AwAgBEEEaiIEQYABRw0ACyAFQYAQaiALQYAIEAsaQQAhA0EAIQQDQCAFQYAYaiAEQQd0aiICIAIpAzgiFyACKQMYIhh8IBhCAYZC/v///x+DIBdC/////w+DfnwiGCACKQN4hUIgiSITIAIpA1giFnwgE0L/////D4MgFkIBhkL+////H4N+fCIWIBeFQiiJIhcgGHwgF0L/////D4MgGEIBhkL+////H4N+fCIYIBOFQjCJIhMgAikDKCIUIAIpAwgiFXwgFUIBhkL+////H4MgFEL/////D4N+fCIVIAIpA2iFQiCJIhsgAikDSCIcfCAbQv////8PgyAcQgGGQv7///8fg358IhwgFIVCKIkiFCAVfCAUQv////8PgyAVQgGGQv7///8fg358IhUgG4VCMIkiGyAcfCAbQv////8PgyAcQgGGQv7///8fg358IhwgFIVCAYkiFCACKQMgIh8gAikDACIafCAaQgGGQv7///8fgyAfQv////8Pg358IhogAikDYIVCIIkiICACQUBrIgYpAwAiI3wgIEL/////D4MgI0IBhkL+////H4N+fCIjIB+FQiiJIh8gGnwgH0L/////D4MgGkIBhkL+////H4N+fCIafCAUQv////8PgyAaQgGGQv7///8fg358IhmFQiCJIiQgAikDMCIhIAIpAxAiHXwgHUIBhkL+////H4MgIUL/////D4N+fCIdIAIpA3CFQiCJIiIgAikDUCIefCAiQv////8PgyAeQgGGQv7///8fg358Ih4gIYVCKIkiISAdfCAhQv////8PgyAdQgGGQv7///8fg358Ih0gIoVCMIkiIiAefCAiQv////8PgyAeQgGGQv7///8fg358Ih58ICRC/////w+DIB5CAYZC/v///x+DfnwiJSAUhUIoiSIUIBl8IBRC/////w+DIBlCAYZC/v///x+DfnwiGTcDACACIBkgJIVCMIkiGTcDeCACIBkgJXwgGUL/////D4MgJUIBhkL+////H4N+fCIZNwNQIAIgFCAZhUIBiTcDKCACIB4gIYVCAYkiFCAVfCAUQv////8PgyAVQgGGQv7///8fg358IhUgGiAghUIwiSIahUIgiSIgIBMgFnwgE0L/////D4MgFkIBhkL+////H4N+fCITfCAgQv////8PgyATQgGGQv7///8fg358IhYgFIVCKIkiFCAVfCAUQv////8PgyAVQgGGQv7///8fg358IhkgIIVCMIkiFTcDYCACIBk3AwggAiAVIBZ8IBVC/////w+DIBZCAYZC/v///x+DfnwiFiAUhUIBiTcDMCACIBY3A1ggAiATIBeFQgGJIhcgHXwgF0L/////D4MgHUIBhkL+////H4N+fCITIBuFQiCJIhYgGiAjfCAaQv////8PgyAjQgGGQv7///8fg358IhR8IBZC/////w+DIBRCAYZC/v///x+DfnwiFSAXhUIoiSIXIBN8IBdC/////w+DIBNCAYZC/v///x+DfnwiEzcDECACIBMgFoVCMIkiEzcDaCAGIBMgFXwgE0L/////D4MgFUIBhkL+////H4N+fCIVNwMAIAIgGCAUIB+FQgGJIhN8IBhCAYZC/v///x+DIBNC/////w+DfnwiGCAihUIgiSIWIBx8IBZC/////w+DIBxCAYZC/v///x+DfnwiFCAThUIoiSITIBh8IBNC/////w+DIBhCAYZC/v///x+DfnwiGyAWhUIwiSIYIBR8IBhC/////w+DIBRCAYZC/v///x+DfnwiFjcDSCACIBg3A3AgAiAbNwMYIAIgFSAXhUIBiTcDOCACIBMgFoVCAYk3AyAgBEEBaiIEQQhHDQALA0AgBUGAGGogA0EEdGoiAiACKQOIAyIXIAIpA4gBIhh8IBhCAYZC/v///x+DIBdC/////w+DfnwiGCACKQOIB4VCIIkiEyACKQOIBSIWfCATQv////8PgyAWQgGGQv7///8fg358IhYgF4VCKIkiFyAYfCAXQv////8PgyAYQgGGQv7///8fg358IhggE4VCMIkiEyACKQOIAiIUIAIpAwgiFXwgFUIBhkL+////H4MgFEL/////D4N+fCIVIAIpA4gGhUIgiSIbIAIpA4gEIhx8IBtC/////w+DIBxCAYZC/v///x+DfnwiHCAUhUIoiSIUIBV8IBRC/////w+DIBVCAYZC/v///x+DfnwiFSAbhUIwiSIbIBx8IBtC/////w+DIBxCAYZC/v///x+DfnwiHCAUhUIBiSIUIAIpA4ACIh8gAikDACIafCAaQgGGQv7///8fgyAfQv////8Pg358IhogAikDgAaFQiCJIiAgAikDgAQiI3wgIEL/////D4MgI0IBhkL+////H4N+fCIjIB+FQiiJIh8gGnwgH0L/////D4MgGkIBhkL+////H4N+fCIafCAUQv////8PgyAaQgGGQv7///8fg358IhmFQiCJIiQgAikDgAMiISACKQOAASIdfCAdQgGGQv7///8fgyAhQv////8Pg358Ih0gAikDgAeFQiCJIiIgAikDgAUiHnwgIkL/////D4MgHkIBhkL+////H4N+fCIeICGFQiiJIiEgHXwgIUL/////D4MgHUIBhkL+////H4N+fCIdICKFQjCJIiIgHnwgIkL/////D4MgHkIBhkL+////H4N+fCIefCAkQv////8PgyAeQgGGQv7///8fg358IiUgFIVCKIkiFCAZfCAUQv////8PgyAZQgGGQv7///8fg358Ihk3AwAgAiAZICSFQjCJIhk3A4gHIAIgGSAlfCAZQv////8PgyAlQgGGQv7///8fg358Ihk3A4AFIAIgFCAZhUIBiTcDiAIgAiAeICGFQgGJIhQgFXwgFEL/////D4MgFUIBhkL+////H4N+fCIVIBogIIVCMIkiGoVCIIkiICATIBZ8IBNC/////w+DIBZCAYZC/v///x+DfnwiE3wgIEL/////D4MgE0IBhkL+////H4N+fCIWIBSFQiiJIhQgFXwgFEL/////D4MgFUIBhkL+////H4N+fCIZICCFQjCJIhU3A4AGIAIgGTcDCCACIBUgFnwgFUL/////D4MgFkIBhkL+////H4N+fCIWIBSFQgGJNwOAAyACIBY3A4gFIAIgEyAXhUIBiSIXIB18IBdC/////w+DIB1CAYZC/v///x+DfnwiEyAbhUIgiSIWIBogI3wgGkL/////D4MgI0IBhkL+////H4N+fCIUfCAWQv////8PgyAUQgGGQv7///8fg358IhUgF4VCKIkiFyATfCAXQv////8PgyATQgGGQv7///8fg358IhM3A4ABIAIgEyAWhUIwiSITNwOIBiACIBMgFXwgE0L/////D4MgFUIBhkL+////H4N+fCIVNwOABCACIBggFCAfhUIBiSITfCAYQgGGQv7///8fgyATQv////8Pg358IhggIoVCIIkiFiAcfCAWQv////8PgyAcQgGGQv7///8fg358IhQgE4VCKIkiEyAYfCATQv////8PgyAYQgGGQv7///8fg358IhsgFoVCMIkiGCAUfCAYQv////8PgyAUQgGGQv7///8f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IAAgARAGIAAgABBuIAAgACAEEAYgACAAIAEQBiADQcABaiIEIAAQBSAEIAQgAhAGIAEoAgQhBSABKAIIIQ0gASgCDCEOIAEoAhAhDyABKAIUIRAgASgCGCERIAEoAhwhEiABKAIgIRMgASgCACEUIAMoAsABIQIgAygCxAEhBCADKALIASEGIAMoAswBIQcgAygC0AEhCCADKALUASEJIAMoAtgBIQogAygC3AEhCyADKALgASEMIAMgAygC5AEiFSABKAIkIhZrNgK0ASADIAwgE2s2ArABIAMgCyASazYCrAEgAyAKIBFrNgKoASADIAkgEGs2AqQBIAMgCCAPazYCoAEgAyAHIA5rNgKcASADIAYgDWs2ApgBIAMgBCAFazYClAEgAyACIBRrNgKQASADIBUgFmo2AoQBIAMgDCATajYCgAEgAyALIBJqNgJ8IAMgCiARajYCeCADIAkgEGo2AnQgAyAIIA9qNgJwIAMgByAOajYCbCADIAYgDWo2AmggAyAEIAVqNgJkIAMgAiAUajYCYCADQTBqIgUgAUHgDBAGIAMgFSADKAJUajYCVCADIAwgAygCUGo2AlAgAyALIAMoAkxqNgJMIAMgCiADKAJIajYCSCADIAkgAygCRGo2AkQgAyAIIAMoAkBqNgJAIAMgByADKAI8ajYCPCADIAYgAygCOGo2AjggAyAEIAMoAjRqNgI0IAMgAiADKAIwajYCMCADIANBkAFqEBEgA0EgEBohDiADIANB4ABqEBEgA0EgEBohDSADIAUQESADQSAQGiEBIAMgAEHgDBAGIAAoAgQhDCAAKAIIIQsgACgCDCEKIAAoAhAhCSAAKAIUIQggACgCGCEHIAAoAhwhBiAAKAIgIQQgACgCACEFIAMoAgAhDyADKAIEIRAgAygCCCERIAMoAgwhEiADKAIQIRMgAygCFCEUIAMoAhghFSADKAIcIRYgAygCICEXIABBACABIA1yayIBIAAoAiQiAiADKAIkc3EgAnMiAjYCJCAAIAQgBCAXcyABcXMiBDYCICAAIAYgBiAWcyABcXMiBjYCHCAAIAcgByAVcyABcXMiBzYCGCAAIAggCCAUcyABcXMiCDYCFCAAIAkgCSATcyABcXMiCTYCECAAIAogCiAScyABcXMiCjYCDCAAIAsgCyARcyABcXMiCzYCCCAAIAwg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DigCACEPIAEoAhwhECABKAJEIREgASgCICESIAEoAkghEyABKAIkIRQgASgCTCEVIAAgASgCACABKAIoajYCACAAIBQgFWo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCABKAIEIQMgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEPIA4oAgAhDiABKAIcIQQgASgCRCEQIAEoAiAhESABKAJIIRIgASgCACETIAEoAighFCAAIAEoAkwgASgCJGs2AkwgACASIBFrNgJIIAAgECAEazYCRCAAQUBrIgQgDiAPazYCACAAIA0gDGs2AjwgACALIAprNgI4IAAgCSAIazYCNCAAIAcgBms2AjAgACAFIANrNgIsIAAgFCATazYCKCAAQdAAaiAAIAIQBiAAQShqIgMgAyACQShqEAYgAEH4AGogAkHQAGogAUH4AGoQBiABKAJUIRQgASgCWCEVIAEoAlwhFiABKAJgIRcgASgCZCEYIAEoAmghGSABKAJsIRogASgCcCEbIAEoAnQhHCAAKAIsIQIgACgCVCEDIAAoAjAhBSAAKAJYIQYgACgCNCEHIAAoAlwhCCAAKAI4IQkgACgCYCEKIAAoAjwhCyAAKAJkIQwgBCgCACENIAAoAmghDiAAKAJEIQ8gACgCbCEQIAAoAkghESAAKAJwIRIgASgCUCEdIAAoAighASAAKAJQIRMgACAAKAJMIh4gACgCdCIfajYCTCAAIBEgEmo2AkggACAPIBBqNgJEIAQgDSAOajYCACAAIAsgDGo2AjwgACAJIApqNgI4IAAgByAIajYCNCAAIAUgBmo2AjAgACACIANqNgIsIAAgASATajYCKCAAIB8gHms2AiQgACASIBFrNgIgIAAgECAPazYCHCAAIA4gDWs2AhggACAMIAtrNgIUIAAgCiAJazYCECAAIAggB2s2AgwgACAGIAVrNgIIIAAgAyACazYCBCAAIBMgAWs2AgAgACAcQQF0IgEgACgCnAEiAms2ApwBIAAgG0EBdCIEIAAoApgBIgNrNgKYASAAIBpBAXQiBSAAKAKUASIGazYClAEgACAZQQF0IgcgACgCkAEiCGs2ApABIAAgGEEBdCIJIAAoAowBIgprNgKMASAAIBdBAXQiCyAAKAKIASIMazYCiAEgACAWQQF0Ig0gACgChAEiDms2AoQBIAAgFUEBdCIPIAAoAoABIhBrNgKAASAAIBRBAXQiESAAKAJ8IhJrNgJ8IAAgHUEBdCITIAAoAngiFGs2AnggACADIARqNgJwIAAgBSAGajYCbCAAIAcgCGo2AmggACAJIApqNgJkIAAgCyAMajYCYCAAIA0gDmo2AlwgACAPIBBqNgJYIAAgESASajYCVCAAIBMgFGo2AlAgACABIAJqNgJ0C64IAQN/IwBBkAFrIgMkACADQeAAaiIEIAEQBSADQTBqIgIgBBAFIAIgAhAFIAIgASACEAYgBCAEIAIQBiAEIAQQBSAEIAIgBBAGIAIgBBAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAQgAiAEEAYgAiAEEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACIAQQBiADIAIQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSADIAMQBSACIAMgAhAGIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAQgAiAEEAYgAiAEEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACIAQQBiADIAIQBUEBIQIDQCADIAMQBSACQQFqIgJB5ABHDQALIANBMGoiAiADIAIQBiACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSADQeAAaiIEIAIgBBAGIAQgBBAFIAQgBBAFIAAgBCABEAYgA0GQAWokAAumBAIOfgp/IAAoAiQhEiAAKAIgIRMgACgCHCEUIAAoAhghFSAAKAIUIREgAkIQWgRAIAAtAFBFQRh0IRYgACgCECIXrSEPIAAoAgwiGK0hDSAAKAIIIhmtIQsgACgCBCIarSEJIBpBBWytIRAgGUEFbK0hDiAYQQVsrSEMIBdBBWytIQogADUCACEIA0AgASgAA0ECdkH///8fcSAVaq0iAyANfiABKAAAQf///x9xIBFqrSIEIA9+fCABKAAGQQR2Qf///x9xIBRqrSIFIAt+fCABKAAJQQZ2IBNqrSIGIAl+fCASIBZqIAEoAAxBCHZqrSIHIAh+fCADIAt+IAQgDX58IAUgCX58IAYgCH58IAcgCn58IAMgCX4gBCALfnwgBSAIfnwgBiAKfnwgByAMfnwgAyAIfiAEIAl+fCAFIAp+fCAGIAx+fCAHIA5+fCADIAp+IAQgCH58IAUgDH58IAYgDn58IAcgEH58IgNCGohC/////w+DfCIEQhqIQv////8Pg3wiBUIaiEL/////D4N8IgZCGohC/////w+DfCIHQhqIp0EFbCADp0H///8fcWoiEUEadiAEp0H///8fcWohFSAFp0H///8fcSEUIAan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aIVCIIkiCyABKQNIIgx8IAxCAYZC/v///x+DIAtC/////w+DfnwiDCADhUIoiSIDIAZ8IANC/////w+DIAZCAYZC/v///x+DfnwiBiALhUIwiSILIAx8IAtC/////w+DIAxCAYZC/v///x+DfnwiDCADhUIBiSIDIAEpAyAiDyABKQMAIgp8IApCAYZC/v///x+DIA9C/////w+DfnwiCiABKQNghUIgiSIQIAFBQGsiFikDACITfCATQgGGQv7///8fgyAQQv////8Pg358IhMgD4VCKIkiDyAKfCAPQv////8PgyAKQgGGQv7///8fg358Igp8IANC/////w+DIApCAYZC/v///x+DfnwiCYVCIIkiFCABKQMwIhEgASkDECINfCANQgGGQv7///8fgyARQv////8Pg358Ig0gASkDcIVCIIkiEiABKQNQIg58IA5CAYZC/v///x+DIBJC/////w+DfnwiDiARhUIoiSIRIA18IBFC/////w+DIA1CAYZC/v///x+DfnwiDSAShUIwiSISIA58IBJC/////w+DIA5CAYZC/v///x+DfnwiDnwgFEL/////D4MgDkIBhkL+////H4N+fCIVIAOFQiiJIgMgCXwgA0L/////D4MgCUIBhkL+////H4N+fCIJNwMAIAEgCSAUhUIwiSIJNwN4IAEgCSAVfCAJQv////8PgyAVQgGGQv7///8fg358Igk3A1AgASADIAmFQgGJNwMoIAEgBCAFfCAEQv////8PgyAFQgGGQv7///8fg358IgQgDiARhUIBiSIFIAZ8IAVC/////w+DIAZCAYZC/v///x+DfnwiAyAKIBCFQjCJIgaFQiCJIgp8IARCAYZC/v///x+DIApC/////w+DfnwiECAFhUIoiSIFIAN8IAVC/////w+DIANCAYZC/v///x+DfnwiCSAKhUIwiSIDNwNgIAEgCTcDCCABIAUgAyAQfCADQv////8PgyAQQgGGQv7///8fg358IgWFQgGJNwMwIAEgBTcDWCABIAQgCIVCAYkiCCANfCAIQv////8PgyANQgGGQv7///8fg358IgQgC4VCIIkiBSAGIBN8IAZC/////w+DIBNCAYZC/v///x+DfnwiA3wgBUL/////D4MgA0IBhkL+////H4N+fCIGIAiFQiiJIgggBHwgCEL/////D4MgBEIBhkL+////H4N+fCIENwMQIAEgBCAFhUIwiSIENwNoIBYgBCAGfCAEQv////8PgyAGQgGGQv7///8fg358IgY3AwAgASAHIAMgD4VCAYkiBHwgB0IBhkL+////H4MgBEL/////D4N+fCIHIBKFQiCJIgUgDHwgBUL/////D4MgDEIBhkL+////H4N+fCIDIASFQiiJIgQgB3wgBEL/////D4MgB0IBhkL+////H4N+fCILIAWFQjCJIgcgA3wgB0L/////D4MgA0IBhkL+////H4N+fCIFNwNIIAEgBzcDcCABIAs3AxggASAGIAiFQgGJNwM4IAEgBCAFhUIBiTcDICAAQQFqIgBBCEcNAAtBACEAA0AgGEGACGogAEEEdGoiASABKQOIAyIIIAEpA4gBIgd8IAdCAYZC/v///x+DIAhC/////w+DfnwiByABKQOIB4VCIIkiBCABKQOIBSIFfCAFQgGGQv7///8fgyAEQv////8Pg358IgUgCIVCKIkiCCAHfCAIQv////8PgyAHQgGGQv7///8fg358IgcgBIVCMIkiBCABKQOIAiIDIAEpAwgiBnwgBkIBhkL+////H4MgA0L/////D4N+fCIGIAEpA4gGhUIgiSILIAEpA4gEIgx8IAxCAYZC/v///x+DIAtC/////w+DfnwiDCADhUIoiSIDIAZ8IANC/////w+DIAZCAYZC/v///x+DfnwiBiALhUIwiSILIAx8IAtC/////w+DIAxCAYZC/v///x+DfnwiDCADhUIBiSIDIAEpA4ACIg8gASkDACIKfCAKQgGGQv7///8fgyAPQv////8Pg358IgogASkDgAaFQiCJIhAgASkDgAQiE3wgE0IBhkL+////H4MgEEL/////D4N+fCITIA+FQiiJIg8gCnwgD0L/////D4MgCkIBhkL+////H4N+fCIKfCADQv////8PgyAKQgGGQv7///8fg358IgmFQiCJIhQgASkDgAMiESABKQOAASINfCANQgGGQv7///8fgyARQv////8Pg358Ig0gASkDgAeFQiCJIhIgASkDgAUiDnwgDkIBhkL+////H4MgEkL/////D4N+fCIOIBGFQiiJIhEgDXwgEUL/////D4MgDUIBhkL+////H4N+fCINIBKFQjCJIhIgDnwgEkL/////D4MgDkIBhkL+////H4N+fCIOfCAUQv////8PgyAOQgGGQv7///8fg358IhUgA4VCKIkiAyAJfCADQv////8PgyAJQgGGQv7///8fg358Igk3AwAgASAJIBSFQjCJIgk3A4gHIAEgCSAVfCAJQv////8PgyAVQgGGQv7///8fg358Igk3A4AFIAEgAyAJhUIBiTcDiAIgASAEIAV8IARC/////w+DIAVCAYZC/v///x+DfnwiBCAOIBGFQgGJIgUgBnwgBUL/////D4MgBkIBhkL+////H4N+fCIDIAogEIVCMIkiBoVCIIkiCnwgBEIBhkL+////H4MgCkL/////D4N+fCIQIAWFQiiJIgUgA3wgBUL/////D4MgA0IBhkL+////H4N+fCIJIAqFQjCJIgM3A4AGIAEgCTcDCCABIAUgAyAQfCADQv////8PgyAQQgGGQv7///8fg358IgWFQgGJNwOAAyABIAU3A4gFIAEgBCAIhUIBiSIIIA18IAhC/////w+DIA1CAYZC/v///x+DfnwiBCALhUIgiSIFIAYgE3wgBkL/////D4MgE0IBhkL+////H4N+fCIDfCAFQv////8PgyADQgGGQv7///8fg358IgYgCIVCKIkiCCAEfCAIQv////8PgyAEQgGGQv7///8fg358IgQ3A4ABIAEgBCAFhUIwiSIENwOIBiABIAQgBnwgBEL/////D4MgBkIBhkL+////H4N+fCIGNwOABCABIAcgAyAPhUIBiSIEfCAHQgGGQv7///8fgyAEQv////8Pg358IgcgEoVCIIkiBSAMfCAFQv////8PgyAMQgGGQv7///8fg358IgMgBIVCKIkiBCAHfCAEQv////8PgyAHQgGGQv7///8fg358IgsgBYVCMIkiByADfCAHQv////8PgyADQgGGQv7///8fg358IgU3A4gEIAEgBzcDgAcgASALNwOIASABIAYgCIVCAYk3A4gDIAEgBCAFhUIBiTcDgAIgAEEBaiIAQQhHDQALIAIgGEGACBALIQFBACEAA0AgASAAQQN0IgJqIhYgFikDACAYQYAIaiIZIAJqKQMAhTcDACABIAJBCHIiFmoiFyAXKQMAIBYgGWopAwCFNwMAIAEgAkEQciIWaiIXIBcpAwAgGEGACGogFmopAwCFNwMAIAEgAkEYciICaiIWIBYpAwAgGEGACGogAmop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AnA3A+ADIAJBgARqIgMgAkHwA2ogAkHgA2oQCCABIAIpAogENwJ4IAEgAikCgAQ3AnAgAiABKQJYNwPYAyACIAEpAlA3A9ADIAIgASkCaDcDyAMgAiABKQJgNwPAAyADIAJB0ANqIAJBwANqEAggASACKQKIBDcCaCABIAIpAoAENwJgIAIgASkCSDcDuAMgAiABQUBrIgApAgA3A7ADIAIgASkCWDcDqAMgAiABKQJQNwOgAyADIAJBsANqIAJBoANqEAggASACKQKIBDcCWCABIAIpAoAENwJQIAIgASkCODcDmAMgAiABKQIwNwOQAyACIAEpAkg3A4gDIAIgACkCADcDgAMgAyACQZADaiACQYADahAIIAEgAikCiAQ3AkggACACKQKABDcCACACIAEpAig3A/gCIAIgASkCIDcD8AIgAiABKQI4NwPoAiACIAEpAjA3A+ACIAMgAkHwAmogAkHgAmoQCCABIAIpAogENwI4IAEgAikCgAQ3AjAgAiABKQIYNwPYAiACIAEpAhA3A9ACIAIgASkCKDcDyAIgAiABKQIgNwPAAiADIAJB0AJqIAJBwAJqEAggASACKQKIBDcCKCABIAIpAoAENwIgIAIgASkCCDcDuAIgAiABKQIANwOwAiACIAEpAhg3A6gCIAIgASkCEDcDoAIgAyACQbACaiACQaACahAIIAEgAikCiAQ3AhggASACKQKABDcCECACIAIpA5gENwOYAiACIAIpA5AENwOQAiACIAEpAgg3A4gCIAIgASkCADcDgAIgAyACQZACaiACQYACahAIIAEgAikCiAQ3AgggASACKQKABDcCACABIBIgASgADHM2AgwgASARIAEoAAhzNgIIIAEgECABKAAEczYCBCABIBMgASgAAHM2AgAgACAPIAAoAABzNgIAIAEgDiABKABEczYCRCABIA0gASgASHM2AkggASAMIAEoAExzNgJMIAIgASkCeDcDmAQgAiABKQJwNwOQBCACIAEpAmg3A/gBIAIgASkCYDcD8AEgAiABKQJ4NwPoASACIAEpAnA3A+ABIAMgAkHwAWogAkHgAWoQCCABIAIpAogENwJ4IAEgAikCgAQ3AnAgAiABKQJYNwPYASACIAEpAlA3A9ABIAIgASkCaDcDyAEgAiABKQJgNwPAASADIAJB0AFqIAJBwAFqEAggASACKQKIBDcCaCABIAIpAoAENwJgIAIgASkCSDcDuAEgAiAAKQIANwOwASACIAEpAlg3A6gBIAIgASkCUDcDoAEgAyACQbABaiACQaABahAIIAEgAikCiAQ3AlggASACKQKABDcCUCACIAEpAjg3A5gBIAIgASkCMDcDkAEgAiABKQJINwOIASACIAApAgA3A4ABIAMgAkGQAWogAkGAAWoQCCABIAIpAogENwJIIAAgAikCgAQ3AgAgAiABKQIoNwN4IAIgASkCIDcDcCACIAEpAjg3A2ggAiABKQIwNwNgIAMgAkHwAGogAkHgAGoQCCABIAIpAogENwI4IAEgAikCgAQ3AjAgAiABKQIYNwNYIAIgASkCEDcDUCACIAEpAig3A0ggAiABKQIgNwNAIAMgAkHQAGogAkFAaxAIIAEgAikCiAQ3AiggASACKQKABDcCICACIAEpAgg3AzggAiABKQIANwMwIAIgASkCGDcDKCACIAEpAhA3AyAgAyACQTBqIAJBIGoQCCABIAIpAogENwIYIAEgAikCgAQ3AhAgAiACKQOYBDcDGCACIAIpA5AENwMQIAIgASkCCDcDCCACIAEpAgA3AwAgAyACQRBqIAIQCCABIAIpAogENwIIIAEgAikCgAQ3AgAgASALIAEoAAxzNgIMIAEgCiABKAAIczYCCCABIAkgASgABHM2AgQgASAIIAEoAABzNgIAIAAgByAAKAAAczYCACABIAYgASgARHM2AkQgASAFIAEoAEhzNgJIIAEgBCABKABMczYCTCACQaAEaiQAC70JARF/IwBBoAJrIgMkACABKAAEIRAgASgACCERIAEoAAwhEiAAKAAEIQsgACgACCEMIAAoAAwhDSABKAAAIRMgAkHwAGoiASAAKAAAIg5BgIKEEHMiADYCACACQeAAaiIGIA5B2/vgqAVzNgIAIAJB0ABqIgcgADYCACACQUBrIgAgDiATcyIFNgIAIAJCoKLEkbSurZRdNwI4IAJBMGoiCELb++Co1c3wl3E3AgAgAkKVxNzJhbL6vOIANwIoIAJBIGoiCUKAgoSQsKCBhA03AgAgAkKgosSRtK6tlF03AhggAkEQaiIKQtv74KjVzfCXcTcCACACIAU2AgAgAiANQZDT55MGcyIFNgJ8IAIgDEGVxNzJBXMiBDYCeCACIAtBg4qg6ABzIg82AnQgAiANQfPqoul9czYCbCACIAxBoKLEkQRzNgJoIAIgC0HthL+Jf3M2AmQgAiAFNgJcIAIgBDYCWCACIA82AlQgAiANIBJzIgU2AkwgAiAMIBFzIgQ2AkggAiALIBBzIg82AkQgAiAFNgIMIAIgBDYCCCACIA82AgRBACEFA0AgAyABKQIINwOYAiADIAEpAgA3A5ACIAMgBikCCDcD+AEgAyAGKQIANwPwASADIAEpAgg3A+gBIAMgASkCADcD4AEgA0GAAmoiBCADQfABaiADQeABahAIIAEgAykCiAI3AgggASADKQKAAjcCACADIAcpAgg3A9gBIAMgBykCADcD0AEgAyAGKQIINwPIASADIAYpAgA3A8ABIAQgA0HQAWogA0HAAWoQCCAGIAMpAogCNwIIIAYgAykCgAI3AgAgAyAAKQIINwO4ASADIAApAgA3A7ABIAMgBykCCDcDqAEgAyAHKQIANwOgASAEIANBsAFqIANBoAFqEAggByADKQKIAjcCCCAHIAMpAoACNwIAIAMgCCkCCDcDmAEgAyAIKQIANwOQASADIAApAgg3A4gBIAMgACkCADcDgAEgBCADQZABaiADQYABahAIIAAgAykCiAI3AgggACADKQKAAjcCACADIAkpAgg3A3ggAyAJKQIANwNwIAMgCCkCCDcDaCADIAgpAgA3A2AgBCADQfAAaiADQeAAahAIIAggAykCiAI3AgggCCADKQKAAjcCACADIAopAgg3A1ggAyAKKQIANwNQIAMgCSkCCDcDSCADIAkpAgA3A0AgBCADQdAAaiADQUBrEAggCSADKQKIAjcCCCAJIAMpAoACNwIAIAMgAikCCDcDOCADIAIpAgA3AzAgAyAKKQIINwMoIAMgCikCADcDICAEIANBMGogA0EgahAIIAogAykCiAI3AgggCiADKQKAAjcCACADIAMpA5gCNwMYIAMgAykDkAI3AxAgAyACKQIINwMIIAMgAikCADcDACAEIANBEGogAxAIIAIgAykCiAI3AgggAiADKQKAAjcCACACIAIoAAwgEnM2AgwgAiACKAAIIBFzNgIIIAIgAigABCAQczYCBCACIAIoAAAgE3M2AgAgACAAKAAAIA5zNgIAIAIgAigARCALczYCRCACIAIoAEggDHM2AkggAiACKABMIA1zNgJMIAVBAWoiBUEKRw0ACyADQaACaiQACxAAIAAgAUGMlwIoAgARAAAL0g8BJH8jAEHwBGsiAiQAIAJB4ANqIgMgARAFIANB4AwgAxAGIAIgAigChAQiBzYClAIgAiACKAKABCIINgKQAiACIAIoAvwDIgk2AowCIAIgAigC+AMiCjYCiAIgAiACKAL0AyILNgKEAiACIAIoAvADIgw2AoACIAIgAigC7AMiDTYC/AEgAiACKALoAyIONgL4ASACIAIoAuQDIgU2AvQBIAIgAigC4AMiBkEBajYC8AEgAkHwAWoiBCAEQbCJAhAGIAIgB0HM5N8FazYC1AMgAiAIQYCS9QhrNgLQAyACIAlB55zGAWs2AswDIAIgCkHEhv8CazYCyAMgAiALQeiumARrNgLEAyACIAxBqYAHajYCwAMgAiANQY+UqANqNgK8AyACIA5Bw6KqB2s2ArgDIAIgBUGF5c0GajYCtAMgAiAGQcqOmgVrNgKwAyACQcABaiIZIANBsAwQBiACQQAgAigC5AFrNgLkASACQQAgAigC4AFrNgLgASACQQAgAigC3AFrNgLcASACQQAgAigC2AFrNgLYASACQQAgAigC1AFrNgLUASACQQAgAigC0AFrNgLQASACQQAgAigCzAFrNgLMASACQQAgAigCyAFrNgLIASACQQAgAigCxAFrNgLEASACIAIoAsABQX9zNgLAASAZIBkgAkGwA2oQBiACQYADaiIiIAQgGRBqIQMgAkHQAmoiBCAiIAEQBiACQcAEaiIkIAQQESACLQDABCElIAIoAqQDIRogAigC9AIhBCACKAKgAyEbIAIoAvACIRAgAigCnAMhHCACKALsAiERIAIoApgDIR0gAigC6AIhEiACKAKUAyEeIAIoAuQCIRMgAigCkAMhHyACKALgAiEUIAIoAowDISAgAigC3AIhFSACKAKIAyEhIAIoAtgCIRYgAigChAMhDyACKALUAiEXIAIoAoADISMgAigC0AIhGCACIAcgA0EBayIBcTYC5AQgAiABIAhxNgLgBCACIAEgCXE2AtwEIAIgASAKcTYC2AQgAiABIAtxNgLUBCACIAEgDHE2AtAEIAIgASANcTYCzAQgAiABIA5xNgLIBCACIAEgBXE2AsQEIAIgBkEAIANrcjYCwAQgAiAjICNBACAYQQAgJUEBcWsiAyAYQQAg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IAIgASADEAYgAkGQBmoiASACEAUgASABEAUgAkGQB2oiBSACIAEQBiACQcAEaiIDIAUQBSADIAMQBSADIAMQBSADIAMQBSACQZAEaiIBIAUgAxAGIAEgARAFIAEgARAFIAEgASACEAYgAiACKQOwBDcDgAQgAiACKQOoBDcD+AMgAiACKQOgBDcD8AMgAiACKQOYBDcD6AMgAiACKQOQBDcD4AMgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIAJB4ANqIgMQBiABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEgAxAGIAIgAikDsAQ3A9ADIAIgAikDqAQ3A8gDIAIgAikDoAQ3A8ADIAIgAikDmAQ3A7gDIAIgAikDkAQ3A7ADIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgASACQbADaiIDEAYgAiACKQOwBDcD0AMgAiACKQOoBDcDyAMgAiACKQOgBDcDwAMgAiACKQOYBDcDuAMgAiACKQOQBDcDsAMgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIAMQBiACIAIpA7AENwPQAyACIAIpA6gENwPIAyACIAIpA6AENwPAAyACIAIpA5gENwO4AyACIAIpA5AENwOwAwNAIAJBkARqIgEgARAFIARBAWoiBEH4AEcNAAsgASABIAJBsANqEAYgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABIAJB4ANqEAYgASABEAUgASABEAUgASABEAUgASABIAIQBiABIAEQBSACQZADaiABEBEgAigCgAIhAyACKAKEAiEEIAIoAogCIQUgAigCjAIhBiACKAKQAiEHIAIoApQCIQggAigCmAIhCSACKAKcAiEKIAIoAqACIQsgAkEAIAItAJEDQQFxayIBIAIoAqQCIgxBACAMa3NxIAxzIgw2ApQFIAIgCyALQQAgC2tzIAFxcyILNgKQBSACIAogCkEAIAprcyABcXMiCjYCjAUgAiAJIAlBACAJa3MgAXFzIgk2AogFIAIgCCAIQQAgCGtzIAFxcyIINgKEBSACIAcgB0EAIAdrcyABcXMiBzYCgAUgAiAGIAZBACAGa3MgAXFzIgY2AvwEIAIgBSAFQQAgBWtzIAFxcyIFNgL4BCACIAQgBEEAIARrcyABcXMiBDYC9AQgAiADIANBACADa3MgAXFzIAFBhtodcWsiAUEBajYC8AQgAiAMNgK0BiACIAs2ArAGIAIgCjYCrAYgAiAJNgKoBiACIAg2AqQGIAIgBzYCoAYgAiAGNgKcBiACIAU2ApgGIAIgBDYClAYgAiABQQFrNgKQBiACIAJB8ARqEDUgAkGQB2oiASACQZAGaiACEAYgACABEBEgACAALQAfIBByOgAfIAIgABA0BEAQiwEACyACIAIpAiA3A7AGIAIgAikCGDcDqAYgAiACKQIQNwOgBiACIAIpAgg3A5gGIAIgAikCMDcDwAYgAiACKQI4NwPIBiACIAJBQGspAgA3A9AGIAIgAikCSDcD2AYgAiACKQIANwOQBiACIAIpAig3A7gGIAIgAikCcDcDgAcgAiACKQJoNwP4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QQFrQR92ECogACABQcAHaiAEQQdzQf8BcUEBa0EfdhAqIAAgAUHgCGogBEEIc0H/AXFBAWtBH3YQKiADIAApAkg3AyAgAyAAQUBrKQIANwMYIAMgACkCODcDECADIAApAjA3AwggAyAAKQIoNwMAIAMgACkCIDcDSCADQUBrIAApAhg3AwAgAyAAKQIQNwM4IAMgACkCCDcDMCADIAApAgA3AyggAyAAKQJYNwNYIAMgACkCYDcDYCADIAApAmg3A2ggAyAAKQJwNwNwIAMgACkCUDcDUCAAKAJ8IQEgACgCgAEhBCAAKAKEASEFIAAoAogBIQYgACgCjAEhByAAKAKQASEIIAAoApQBIQkgACgCmAEhCiAAKAJ4IQsgA0EAIAAoApwBazYCnAEgA0EAIAprNgKYASADQQAgCWs2ApQBIANBACAIazYCkAEgA0EAIAdrNgKMASADQQAgBms2AogBIANBACAFazYChAEgA0EAIARrNgKAASADQQAgAWs2AnwgA0EAIAtrNgJ4IAAgAyACQYABcUEHdhAqIANBoAFqJAALjhEBE38jAEHAH2siAyQAIANBoAFqIAIQECADQYAeaiIGIAIpAiA3AwAgA0H4HWoiByACKQIYNwMAIANB8B1qIgkgAikCEDcDACADQegdaiIMIAIpAgg3AwAgAyACKQIANwPgHSADQZAeaiINIAIpAjA3AwAgA0GYHmoiDiACKQI4NwMAIANBoB5qIg8gAkFAaykCADcDACADQageaiIQIAIpAkg3AwAgAyACKQIoNwOIHiADQbgeaiIRIAIpAlg3AwAgA0HAHmoiEiACKQJgNwMAIANByB5qIhMgAikCaDcDACADQdAeaiIUIAIpAnA3AwAgAyACKQJQNwOwHiADQcgbaiIIIANB4B1qIhUQGCADQegSaiILIAggA0HAHGoiBBAGIANBkBNqIANB8BtqIgUgA0GYHGoiChAGIANBuBNqIAogBBAGIANB4BNqIAggBRAGIANBwAJqIgQgCxAQIANBqBpqIgggAiAEEBMgA0HIEWoiCyAIIANBoBtqIgQQBiADQfARaiADQdAaaiIFIANB+BpqIgoQBiADQZgSaiAKIAQQBiADQcASaiAIIAUQBiADQeADaiALEBAgBiADQYgTaikCADcDACAHIANBgBNqKQIANwMAIAkgA0H4EmopAgA3AwAgDCADQfASaikCADcDACANIANBmBNqKQIANwMAIA4gA0GgE2opAgA3AwAgDyADQagTaikCADcDACAQIANBsBNqKQIANwMAIAMgAykC6BI3A+AdIAMgAykCkBM3A4geIBQgA0HYE2opAgA3AwAgEyADQdATaikCADcDACASIANByBNqKQIANwMAIBEgA0HAE2opAgA3AwAgAyADKQK4EzcDsB4gA0GIGWoiCCAVEBggA0GoEGoiCyAIIANBgBpqIgQQBiADQdAQaiADQbAZaiIFIANB2BlqIgoQBiADQfgQaiAKIAQQBiADQaARaiAIIAUQBiADQYAFaiIEIAsQECADQegXaiIIIAIgBBATIANBiA9qIgsgCCADQeAYaiIEEAYgA0GwD2ogA0GQGGoiBSADQbgYaiIKEAYgA0HYD2ogCiAEEAYgA0GAEGogCCAFEAYgA0GgBmogCxAQIAYgA0HoEWopAgA3AwAgByADQeARaikCADcDACAJIANB2BFqKQIANwMAIAwgA0HQEWopAgA3AwAgDSADQfgRaikCADcDACAOIANBgBJqKQIANwMAIA8gA0GIEmopAgA3AwAgECADQZASaikCADcDACADIAMpAsgRNwPgHSADIAMpAvARNwOIHiAUIANBuBJqKQIANwMAIBMgA0GwEmopAgA3AwAgEiADQagSaikCADcDACARIANBoBJqKQIANwMAIAMgAykCmBI3A7AeIANByBZqIgggFRAYIANB6A1qIgsgCCADQcAXaiIEEAYgA0GQDmogA0HwFmoiBSADQZgXaiIKEAYgA0G4DmogCiAEEAYgA0HgDmogCCAFEAYgA0HAB2oiBCALEBAgA0GoFWoiCiACIAQQEyADQcgMaiIIIAogA0GgFmoiAhAGIANB8AxqIANB0BVqIgQgA0H4FWoiBRAGIANBmA1qIAUgAhAGIANBwA1qIAogBBAGIANB4AhqIAgQECAGIANByBBqKQIANwMAIAcgA0HAEGopAgA3AwAgCSADQbgQaikCADcDACAMIANBsBBqKQIANwMAIA0gA0HYEGopAgA3AwAgDiADQeAQaikCADcDACAPIANB6BBqKQIANwMAIBAgA0HwEGopAgA3AwAgAyADKQKoEDcD4B0gAyADKQLQEDcDiB4gFCADQZgRaikCADcDACATIANBkBFqKQIA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azYCACAAQQAgACgCJGs2AiQgAEEAIAAoAiBrNgIgIABBACAAKAIcazYCHCAAQQAgACgCGGs2AhggAEEAIAAoAhRrNgIUIABBACAAKAIQazYCECAAQQAgACgCDGs2AgwgAEEAIAAoAghrNgIIIABBACAAKAIEazYCBAsgAEH4AGogACAGEAZBACEHCyACQcACaiQAIAcLBQBBgAILEAAgACABQYSXAigCABEAAAsQACAAIAFB/JYCKAIAEQAACy0BAX4gAq0gA61CIIaEIgZCEFoEfyAAIAFBEGogASAGQhB9IAQgBRBeBUF/CwsYACAAIAEgAiADrSAErUIghoQgBSAGEF4LGAAgACABIAIgA60gBK1CIIaEIAUgBhBPCxYAIAAgASACrSADrUIghoQgBCAFEHkLFQAgACABrSACrUIghoQgAyAEEM0BCxYAIAAgASACrSADrUIghoQgBEEAEHYLFwAgACABIAIgA60gBK1CIIaEIAUQhQMLFwAgACABIAIgA60gBK1CIIaEIAUQgwMLFwAgACABIAIgA60gBK1CIIaEIAUQhAMLFQAgACABIAKtIAOtQiCGhCAEEOkCCx8AIAAgASACrSADrUIghoQgBK0gBa1CIIaEIAYQ0QELGgAgACABIAKtIAOtQiCGhEGAlwIoAgARAgALHAAgACABIAKtIAOtQiCGhCAEQfiWAigCABERAAscACAAIAEgAq0gA61CIIaEIARB9JYCKAIAEREACxcAIAAgASACrSADrUIghoQgBCAFEOoCCxIAIAAgASACrSADrUIghoQQRwsYACAAIAEgAiADrSAErUIghoQgBSAGEGELLQEBfiACrSADrUIghoQiBkIQWgR/IAAgAUEQaiABIAZCEH0gBCAFEF0FQX8LCxgAIAAgASACIAOtIAStQiCGhCAFIAYQXQsYACAAIAEgAiADrSAErUIghoQgBSAGEE4LGQAgACABIAKtIAOtQiCGhCAEIAUgBhD3AgsZACAAIAEgAq0gA61CIIaEIAQgBSAGEPgCCxIAIAAgASACrSADrUIghoQQJgsVACAAIAEgAq0gA61CIIaEIAQQ4gILFQAgACABIAKtIAOtQiCGhCAEEOMCC4wBAQF/IwBBEGsiAiAANgIMIAIgATYCCEEAIQAgAkEANgIEA0AgAiACKAIEIAIoAgwgAGotAAAgAigCCCAAai0AAHNyNgIEIAIgAigCBCAAQQFyIgEgAigCDGotAAAgAigCCCABai0AAHNyNgIEIABBAmoiAEHAAEcNAAsgAigCBEEBa0EIdkEBcUEBawvaAgECfyMAQZADayIIJAAgCEEANgIEIAhBEGoiCSAGIAdBABAbGiAIIAYpABA3AgggCEHQAGoiB0LAACAIQQRqIAkQMxogCEGQAWoiBiAHQfyWAigCABEAABogB0HAABAJIAYgBCAFQYCXAigCABECABogBkHglgJCACAFfUIPg0GAlwIoAgARAgAaIAYgASACQYCXAigCABECABogBkHglgJCACACfUIPg0GAlwIoAgARAgAaIAggBTcDSCAGIAhByABqIgRCCEGAlwIoAgARAgAaIAggAjcDSCAGIARCCEGAlwIoAgARAgAaIAYgCEEwaiIEQYSXAigCABEAABogBkGAAhAJIAQgAxA3IQYgBEEQEAkCQCAARQ0AIAYEQCAAQQAgAqcQDBpBfyEGDAELIAAgASACIAhBBGogCEEQahDqAUEAIQYLIAhBEGpBIBAJIAhBkANqJAAgBgusAgEDfyMAQYADayIJJAAgCUEANgIEIAlBEGoiCiAHIAhBABAbGiAJIAcpABA3AgggCUFAayIIQsAAIAlBBGoiCyAKEDMaIAlBgAFqIgcgCEH8lgIoAgARAAAaIAhBwAAQCSAHIAUgBkGAlwIoAgARAgAaIAdB4JYCQgAgBn1CD4NBgJcCKAIAEQIAGiAAIAMgBCALIAoQ6gEgByAAIARBgJcCKAIAEQIAGiAHQeCWAkIAIAR9Qg+DQYCXAigCABECABogCSAGNwM4IAcgCUE4aiIAQghBgJcCKAIAEQIAGiAJIAQ3AzggByAAQghBgJcCKAIAEQIAGiAHIAFBhJcCKAIAEQAAGiAHQYACEAkgAgRAIAJCEDcDAAsgCUEQakEgEAkgCUGAA2okAEEAC0oBAn8jAEEgayIGJABBfyEHAkAgAkIQVA0AIAYgBCAFEEANACAAIAFBEGogASACQhB9IAMgBhBdIQcgBkEgEAkLIAZBIGokACAHC08BAn8jAEEgayIGJAAgAkLw////D1QEQEF/IQcgBiAEIAUQQEUEQCAAQRBqIAAgASACIAMgBhBOIQcgBkEgEAkLIAZBIGokACAHDwsQDgAL6AQBAn8jAEGgAWsiBCQAIAAgAS0AADoAACAAIAEtAAE6AAEgACABLQACOgACIAAgAS0AAzoAAyAAIAEtAAQ6AAQgACABLQAFOgAFIAAgAS0ABjoABiAAIAEtAAc6AAcgACABLQAIOgAIIAAgAS0ACToACSAAIAEtAAo6AAogACABLQALOgALIAAgAS0ADDoADCAAIAEtAA06AA0gACABLQAOOgAOIAAgAS0ADzoADyAAIAEtABA6ABAgACABLQAROgARIAAgAS0AEjoAEiAAIAEtABM6ABMgACABLQAUOgAUIAAgAS0AFToAFSAAIAEtABY6ABYgACABLQAXOgAXIAAgAS0AGDoAGCAAIAEtABk6ABkgACABLQAaOgAaIAAgAS0AGzoAGyAAIAEtABw6ABwgACABLQAdOgAdIAAgAS0AHjoAHiABLQAfIQMgACACBH8gACAALQAAQfgBcToAACADQcAAcgUgAwtB/wBxOgAfIAQgABA+IAAgBBAvQX8hAyAALQAfQf8AcSAALQAeIAAtAB0gAC0AHCAALQAbIAAtABogAC0AGSAALQAYIAAtABcgAC0AFiAALQAVIAAtABQgAC0AEyAALQASIAAtABEgAC0AECAALQAPIAAtAA4gAC0ADSAALQAMIAAtAAsgAC0ACiAALQAJIAAtAAggAC0AByAALQAGIAAtAAUgAC0ABCAALQADIAAtAAIgAC0AASAALQAAQQFzcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyckEBa0GAAnFFBEBBf0EAIAFBIBAaGyEDCyAEQaABaiQAIAMLjgUBAn8jAEHAAmsiBCQAQX8hBQJAIAIQa0UNACACEEwNACAEIAIQNA0AIAQQbEUNACAAIAEtAAA6AAAgACABLQABOgABIAAgAS0AAjoAAiAAIAEtAAM6AAMgACABLQAEOgAEIAAgAS0ABToABSAAIAEtAAY6AAYgACABLQAHOgAHIAAgAS0ACDoACCAAIAEtAAk6AAkgACABLQAKOgAKIAAgAS0ACzoACyAAIAEtAAw6AAwgACABLQANOgANIAAgAS0ADjoADiAAIAEtAA86AA8gACABLQAQOgAQIAAgAS0AEToAESAAIAEtABI6ABIgACABLQATOgATIAAgAS0AFDoAFCAAIAEtABU6ABUgACABLQAWOgAWIAAgAS0AFzoAFyAA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DCAHKQAAQuv6htq/tfbBH4ULIQ4gAUFAa0EAQaUCEAwaIAEgDDcDOCABIA43AzAgASALNwMoIAEgDTcDICABQvHt9Pilp/2npX83AxggAUKr8NP0r+68tzw3AxAgAUK7zqqm2NDrs7t/NwMIIAEgCK1CiJL3lf/M+YTqAIU3AwBBAAshBAJAIANQDQAgAUHgAWohCSABQeAAaiEFA0AgBCAFaiEHQYACIARrIgatIgsgA1oEQCAHIAIgA6ciAhALGiABIAEoAuACIAJqNgLgAgwCCyAHIAIgBhALGiABIAEoAuACIAZqNgLgAiABIAEpA0AiDEKAAXw3A0AgASABKQNIIAxC/35WrXw3A0ggASAFEFIgBSAJQYABEAsaIAEgASgC4AJBgAFrIgQ2AuACIAIgBmohAiADIAt9IgNCAFINAAsLIAEgACAIEIMBGiAKJABBAAwBCxAOAAshCAsgCAsFAEGAAwsKACAAIAEgAhAHC/ADAgJ/An4jAEHAAWsiAyQAIANCADcDkAEgA0IANwOYASADQgA3A2ggA0IANwNwIANCADcDeCADQfiSAikDADcDqAEgA0GAkwIpAwA3A7ABIANBiJMCKQMANwO4ASADQgA3A4ABIANCADcDiAEgA0IANwNgIANB8JICKQMANwOgASADIAIpABA3A1AgAyACKQAYNwNYIAMgAikAADcDQCADIAIpAAg3A0ggA0GAAWoiAiADQUBrIgQQhQEgAhAoIAMgAykDmAE3AxggAyADKQOQATcDECADIAMpA4gBNwMIIAMgAykDgAE3AwAgA0IANwN4IANCADcDcCADQgA3A2ggA0IANwNgIAMgASkAEDcDUCADIAEpABg3A1ggASkACCEFIAEpAAAhBiADQgA3AzggA0IANwMwIANCADcDKCADIAY3A0AgAyAFNwNIIANCADcDICAEIAMQ6QEgAyADKQN4NwO4ASADIAMpA3A3A7ABIAMgAykDaDcDqAEgAyADKQNgNwOgASADIAMpA1g3A5gBIAMgAykDUDcDkAEgAyADKQNINwOIASADIAMpA0A3A4ABIAIQKCAAIAMpA5gBNwAYIAAgAykDkAE3ABAgACADKQOIATcACCAAIAMpA4ABNwAAIAJBwAAQCSADQcABaiQAC5cBAQF/IwBBQGoiAiQAIAIgASkAODcDOCACIAEpADA3AzAgAiABKQAoNwMoIAIgASkAIDcDICACIAEpABg3AxggAiABKQAQNwMQIAIgASkAADcDACACIAEpAAg3AwggAhAoIAAgAikDGDcAGCAAIAIpAxA3ABAgACACKQMINwAIIAAgAikDADcAACACQcAAEAkgAkFAayQAC8cCAgF/An4jAEHAAWsiAyQAIANCADcDYCADQgA3A2ggA0IANwNwIANCADcDeCADIAEpABA3A1AgAyABKQAYNwNYIAEpAAghBCABKQAAIQUgA0IANwMoIANCADcDMCADQgA3AzggAyAFNwNAIAMgBDcDSCADQgA3AyAgAyACKQAQNwMQIAMgAikAGDcDGCADIAIpAAA3AwAgAyACKQAINwMIIANBQGsgAxDpASADIAMpA3g3A7gBIAMgAykDcDcDsAEgAyADKQNoNwOoASADIAMpA2A3A6ABIAMgAykDWDcDmAEgAyADKQNQNwOQASADIAMpA0g3A4gBIAMgAykDQDcDgAEgA0GAAWoiARAoIAAgAykDmAE3ABggACADKQOQATcAECAAIAMpA4gBNwAIIAAgAykDgAE3AAAgAUHAABAJIANBwAFqJAAL5QEBAX8jAEGAAWsiAiQAIAJCADcDUCACQgA3A1ggAkIANwMoIAJCADcDMCACQgA3AzggAkH4kgIpAwA3A2ggAkGAkwIpAwA3A3AgAkGIkwIpAwA3A3ggAkIANwNAIAJCADcDSCACQQE6AEAgAkIANwMgIAJB8JICKQMANwNgIAIgASkAGDcDGCACIAEpABA3AxAgAiABKQAINwMIIAIgASkAADcDACACQUBrIgEgAhCFASABECggACACKQNYNwAYIAAgAikDUDcAECAAIAIpA0g3AAggACACKQNANwAAIAJBgAFqJAAL3gEBAX8jAEGAAWsiAiQAIAJCADcDUCACQgA3A1ggAkIANwMoIAJCADcDMCACQgA3AzggAkH4kgIpAwA3A2ggAkGAkwIpAwA3A3AgAkGIkwIpAwA3A3ggAkIANwNAIAJCADcDSCACQgA3AyAgAkHwkgIpAwA3A2AgAiABKQAQNwMQIAIgASkAGDcDGCACIAEpAAA3AwAgAiABKQAINwMIIAJBQGsiASACEIUBIAEQKCAAIAIpA1g3ABggACACKQNQNwAQIAAgAikDSDcACCAAIAIpA0A3AAAgAkGAAWokAAvPCwELfyMAQeAFayICJAAgAkHABWoiByABIAEQByACQeABaiIGIAEgBxAHIAJBoAVqIgQgASAGEAcgAkGABWoiBSAEIAQQByACQaADaiIJIAcgBRAHIAJBwAJqIgcgASAJEAcgAkHgBGoiAyAFIAUQByACQaACaiIFIAcgBxAHIAJBwARqIgggCSAFEAcgAkHAA2oiDCADIAUQByACQaAEaiIKIAggCBAHIAJBgANqIgggAyAKEAcgAkHgAmoiCyAGIAgQByACQcABaiIGIAMgCxAHIAJBoAFqIgMgBCAGEAcgAkHgAGogBCADEAcgAkGABGoiBiAKIAsQByACQeADaiIDIAQgBhAHIAJBgAJqIgYgDCADEAcgAkGAAWogBSAGEAcgAkFAayIFIAggAxAHIAJBIGoiAyAEIAUQByACIAkgAxAHIAAgByACEAdBACEEA0AgACAAIAAQByAEQQFqIgRB/gBHDQALIAAgACACQeACahAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACQcAFahAHIAAgACACEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkGgAWoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAhAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkGAAmoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAJBQGsQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHgAGoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHAAmoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAJBgARqEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHAAWoQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkHgA2oQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACACQYABahAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgABAHIAAgACAAEAcgACAAIAAQByAAIAAgAkEgahAHIAJB4AVqJABBACABQSAQGmsLKAADQCAAQSAQGSAAIAAtAB9BH3E6AB8gABCNAUUNACAAQSAQGg0ACwsKACAAIAEgAhAuCykBAX8jAEEQayIAJAAgAEEAOgAPQeSfAiAAQQ9qQQAQABogAEEQaiQAC2MBBX8DQCAAIANqIgIgASADai0AACAEIAItAABqaiICOgAAIAAgA0EBciIEaiIGIAEgBGotAAAgBi0AACACQQh2amoiAjoAACACQQh2IQQgA0ECaiEDIAVBAmoiBUEgRw0ACwsoACACQoCAgIAQWgRAEA4ACyAAIAEgAiADQQEgBEG8nwIoAgAREAAaCwQAQQwLdAEFfwJAQQEhAgNAIAAgA2oiASACIAEtAABqIgI6AAAgASABLQABIAJBCHZqIgI6AAEgASABLQACIAJBCHZqIgI6AAIgASABLQADIAJBCHZqIgE6AAMgAUEIdiECIANBBGohAyAEQQRqIgRBBEcNAAsMAAsLggcBFH8jAEHwAWsiBCQAIARCADcDyAEgBEIANwPAASAEQcABaiIJIAEgAhALGiADKAAQIQYgA0FAayIBKAAAIQcgAygAUCEFIAMoACAhCCADKAAwIQogAygAFCELIAMoAEQhDCADKABUIQ0gAygAJCEOIAMoADQhDyADKAAYIRAgAygASCERIAMoAFghEiADKAAoIRMgAygAOCEUIAQoAsABIRUgBCgCxAEhFiAEKALIASEXIAQgAygALCADKAA8cSADKAAcIAMoAEwgAygAXCAEKALMAXNzc3M2AswBIAQgEyAUcSAQIBEgEiAXc3NzczYCyAEgBCAOIA9xIAsgDCANIBZzc3NzNgLEASAEIAggCnEgBiAHIAUgFXNzc3M2AsABIAIgCWpBAEEQIAJrEAwaIAAgCSACEAsaIAQoAsABIQAgBCgCxAEhAiAEKALIASEGIAQoAswBIQcgBCADKQJYNwPoASAEIAMpAlA3A+ABIAQgAykCSDcDuAEgBCABKQIANwOwASAEIAMpAlg3A6gBIAQgAykCUDcDoAEgBEHQAWoiBSAEQbABaiAEQaABahAIIAMgBCkC2AE3AlggAyAEKQLQATcCUCAEIAMpAjg3A5gBIAQgAykCMDcDkAEgBCADKQJINwOIASAEIAEpAgA3A4ABIAUgBEGQAWogBEGAAWoQCCADIAQpAtgBNwJIIAEgBCkC0AE3AgAgBCADKQIoNwN4IAQgAykCIDcDcCAEIAMpAjg3A2ggBCADKQIwNwNgIAUgBEHwAGogBEHgAGoQCCADIAQpAtgBNwI4IAMgBCkC0AE3AjAgBCADKQIYNwNYIAQgAykCEDcDUCAEIAMpAig3A0ggBCADKQIgNwNAIAUgBEHQAGogBEFAaxAIIAMgBCkC2AE3AiggAyAEKQLQATcCICAEIAMpAgg3AzggBCADKQIANwMwIAQgAykCGDcDKCAEIAMpAhA3AyAgBSAEQTBqIARBIGoQCCADIAQpAtgBNwIYIAMgBCkC0AE3AhAgBCAEKQPoATcDGCAEIAQpA+ABNwMQIAQgAykCCDcDCCAEIAMpAgA3AwAgBSAEQRBqIAQQCCAEKALQASEBIAQoAtQBIQUgBCgC2AEhCCADIAcgBCgC3AFzNgIMIAMgBiAIczYCCCADIAIgBXM2AgQgAyAAIAFzNgIAIARB8AFqJAALqwYBFH8jAEHgAWsiAyQAIAIoABAhBCACQUBrIgUoAAAhBiACKABQIQkgAigAICEKIAIoADAhCyACKAAUIQcgAigARCEMIAIoAFQhDSABKAAEIQ4gAigAJCEPIAIoADQhECACKAAYIQggAigASCERIAIoAFghEiABKAAIIRMgAigAKCEUIAIoADghFSABKAAAIRYgACACKAAsIAIoADxxIAIoABwgAigATCACKABcIAEoAAxzc3NzIgE2AAwgACAUIBVxIAggESASIBNzc3NzIgg2AAggACAPIBBxIAcgDCANIA5zc3NzIgc2AAQgACAKIAtxIAQgBiAJIBZzc3NzIgA2AAAgAyACKQJYNwPYASADIAIpAlA3A9ABIAMgAikCSDcDuAEgAyAFKQIANwOwASADIAIpAlg3A6gBIAMgAikCUDcDoAEgA0HAAWoiBCADQbABaiADQaABahAIIAIgAykCyAE3AlggAiADKQLAATcCUCADIAIpAjg3A5gBIAMgAikCMDcDkAEgAyACKQJINwOIASADIAUpAgA3A4ABIAQgA0GQAWogA0GAAWoQCCACIAMpAsgBNwJIIAUgAykCwAE3AgAgAyACKQIoNwN4IAMgAikCIDcDcCADIAIpAjg3A2ggAyACKQIwNwNgIAQgA0HwAGogA0HgAGoQCCACIAMpAsgBNwI4IAIgAykCwAE3AjAgAyACKQIYNwNYIAMgAikCEDcDUCADIAIpAig3A0ggAyACKQIgNwNAIAQgA0HQAGogA0FAaxAIIAIgAykCyAE3AiggAiADKQLAATcCICADIAIpAgg3AzggAyACKQIANwMwIAMgAikCGDcDKCADIAIpAhA3AyAgBCADQTBqIANBIGoQCCACIAMpAsgBNwIYIAIgAykCwAE3AhAgAyADKQPYATcDGCADIAMpA9ABNwMQIAMgAikCCDcDCCADIAIpAgA3AwAgBCADQRBqIAMQCCADKALAASEFIAMoAsQBIQQgAygCyAEhBiACIAMoAswBIAFzNgIMIAIgBiAIczYCCCACIAQgB3M2AgQgAiAAIAVzNgIAIANB4AFqJAALiwkBEX8jAEHgAWsiBSQAIAQoADwgA0EddnMhDiAEKAA4IANBA3RzIQ8gBCgANCACQR12cyEQIARBMGoiAygAACACQQN0cyERIARBEGohAiAEQSBqIQYgBEFAayEHIARB0ABqIQgDQCAFIAgpAgg3A9gBIAUgCCkCADcD0AEgBSAHKQIINwO4ASAFIAcpAgA3A7ABIAUgCCkCCDcDqAEgBSAIKQIANwOgASAFQcABaiIJIAVBsAFqIAVBoAFqEAggCCAFKQLIATcCCCAIIAUpAsABNwIAIAUgAykCCDcDmAEgBSADKQIANwOQASAFIAcpAgg3A4gBIAUgBykCADcDgAEgCSAFQZABaiAFQYABahAIIAcgBSkCyAE3AgggByAFKQLAATcCACAFIAYpAgg3A3ggBSAGKQIANwNwIAUgAykCCDcDaCAFIAMpAgA3A2AgCSAFQfAAaiAFQeAAahAIIAMgBSkCyAE3AgggAyAFKQLAATcCACAFIAIpAgg3A1ggBSACKQIANwNQIAUgBikCCDcDSCAFIAYpAgA3A0AgCSAFQdAAaiAFQUBrEAggBiAFKQLIATcCCCAGIAUpAsABNwIAIAUgBCkCCDcDOCAFIAQpAgA3AzAgBSACKQIINwMoIAUgAikCADcDICAJIAVBMGogBUEgahAIIAIgBSkCyAE3AgggAiAFKQLAATcCACAFIAUpA9gBNwMYIAUgBSkD0AE3AxAgBSAEKQIINwMIIAUgBCkCADcDACAJIAVBEGogBRAIIAUoAsABIQsgBSgCxAEhDCAFKALIASEJIAQgDiAFKALMAXMiDTYCDCAEIAkgD3MiCTYCCCAEIAwgEHMiDDYCBCAEIAsgEXMiCzYCACAKQQFqIgpBB0cNAAsCQAJAAkACQCABQRBrDhEAAgICAgICAgICAgICAgICAQILIAQoABAhASAEKAAwIQIgBCgAICEDIAQoAFAhBiAEQUBrKAAAIQcgBCgAFCEIIAQoADQhCiAEKAAkIQ4gBCgAVCEPIAQoAEQhECAEKAAYIREgBCgAOCESIAQoACghEyAEKABYIRQgBCgASCEVIAAgBCgAHCAEKAA8IAQoACwgBCgAXCAEKABMc3NzcyANczYADCAAIBEgEiATIBQgFXNzc3MgCXM2AAggACAIIAogDiAPIBBzc3NzIAxzNgAEIAAgASACIAMgBiAHc3NzcyALczYAAAwCCyAEKAAgIQEgBCgAECECIAQoACQhAyAEKAAUIQYgBCgAKCEHIAQoABghCCAAIAQoACwgBCgAHHMgDXM2AAwgACAHIAhzIAlzNgAIIAAgAyAGcyAMczYABCAAIAEgAnMgC3M2AAAgBCgAMCEBIAQoAFAhAiAEQUBrKAAAIQMgBCgANCEGIAQoAFQhByAEKABEIQggBCgAOCEKIAQoAFghDSAEKABIIQkgACAEKAA8IAQoAFwgBCgATHNzNgAcIAAgCiAJIA1zczYAGCAAIAYgByAIc3M2ABQgACABIAIgA3NzNgAQDAELIABBACABEAwaCyAFQeABaiQAC6UGARR/IwBB4AFrIgMkACACKAAQIQUgAkFAayIEKAAAIQkgAigAUCEKIAIoACAhCyACKAAwIQwgASgABCEGIAIoABQhDSACKABEIQ4gAigAVCEPIAIoACQhECACKAA0IREgASgACCEHIAIoABghEiACKABIIRMgAigAWCEUIAIoACghFSACKAA4IRYgASgAACEIIAAgASgADCIBIAIoACwgAigAPHEgAigAHCACKABcIAIoAExzc3NzNgAMIAAgByAVIBZxIBIgEyAUc3NzczYACCAAIAYgECARcSANIA4gD3Nzc3M2AAQgACAIIAsgDHEgBSAJIApzc3NzNgAAIAMgAikCWDcD2AEgAyACKQJQNwPQASADIAIpAkg3A7gBIAMgBCkCADcDsAEgAyACKQJYNwOoASADIAIpAlA3A6ABIANBwAFqIgAgA0GwAWogA0GgAWoQCCACIAMpAsgBNwJYIAIgAykCwAE3AlAgAyACKQI4NwOYASADIAIpAjA3A5ABIAMgAikCSDcDiAEgAyAEKQIANwOAASAAIANBkAFqIANBgAFqEAggAiADKQLIATcCSCAEIAMpAsABNwIAIAMgAikCKDcDeCADIAIpAiA3A3AgAyACKQI4NwNoIAMgAikCMDcDYCAAIANB8ABqIANB4ABqEAggAiADKQLIATcCOCACIAMpAsABNwIwIAMgAikCGDcDWCADIAIpAhA3A1AgAyACKQIoNwNIIAMgAikCIDcDQCAAIANB0ABqIANBQGsQCCACIAMpAsgBNwIoIAIgAykCwAE3AiAgAyACKQIINwM4IAMgAikCADcDMCADIAIpAhg3AyggAyACKQIQNwMgIAAgA0EwaiADQSBqEAggAiADKQLIATcCGCACIAMpAsABNwIQIAMgAykD2AE3AxggAyADKQPQATcDECADIAIpAgg3AwggAyACKQIANwMAIAAgA0EQaiADEAggAygCwAEhACADKALEASEEIAMoAsgBIQUgAiABIAMoAswBczYCDCACIAUgB3M2AgggAiAEIAZzNgIEIAIgACAIczYCACADQeABaiQAC6UJAQ1/IwBBoANrIgIkACAAKAAQIQYgACgAFCEHIAAoABghCCAAKAAcIQkgACgABCEEIAAoAAghBSAAKAAMIQogACgAACELIAIgASkCWDcDmAMgAiABKQJQNwOQAyACIAEpAkg3A/gCIAIgAUFAayIAKQIANwPwAiACIAEpAlg3A+gCIAIgASkCUDcD4AIgAkGAA2oiAyACQfACaiACQeACahAIIAEgAikCiAM3AlggASACKQKAAzcCUCACIAEpAjg3A9gCIAIgASkCMDcD0AIgAiABKQJINwPIAiACIAApAgA3A8ACIAMgAkHQAmogAkHAAmoQCCABIAIpAogDNwJIIAAgAikCgAM3AgAgAiABKQIoNwO4AiACIAEpAiA3A7ACIAIgASkCODcDqAIgAiABKQIwNwOgAiADIAJBsAJqIAJBoAJqEAggASACKQKIAzcCOCABIAIpAoADNwIwIAIgASkCGDcDmAIgAiABKQIQNwOQAiACIAEpAig3A4gCIAIgASkCIDcDgAIgAyACQZACaiACQYACahAIIAEgAikCiAM3AiggASACKQKAAzcCICACIAEpAgg3A/gBIAIgASkCADcD8AEgAiABKQIYNwPoASACIAEpAhA3A+ABIAMgAkHwAWogAkHgAWoQCCABIAIpAogDNwIYIAEgAikCgAM3AhAgAiACKQOYAzcD2AEgAiACKQOQAzcD0AEgAiABKQIINwPIASACIAEpAgA3A8ABIAMgAkHQAWogAkHAAWoQCCACKAKAAyEMIAIoAoQDIQ0gAigCiAMhDiABIAogAigCjANzNgIMIAEgBSAOczYCCCABIAQgDXM2AgQgASALIAxzNgIAIAIgASkCWDcDmAMgAiABKQJQNwOQAyACIAEpAkg3A7gBIAIgACkCADcDsAEgAiABKQJYNwOoASACIAEpAlA3A6ABIAMgAkGwAWogAkGgAWoQCCABIAIpAogDNwJYIAEgAikCgAM3AlAgAiABKQI4NwOYASACIAEpAjA3A5ABIAIgASkCSDcDiAEgAiAAKQIANwOAASADIAJBkAFqIAJBgAFqEAggASACKQKIAzcCSCAAIAIpAoADNwIAIAIgASkCKDcDeCACIAEpAiA3A3AgAiABKQI4NwNoIAIgASkCMDcDYCADIAJB8ABqIAJB4ABqEAggASACKQKIAzcCOCABIAIpAoADNwIwIAIgASkCGDcDWCACIAEpAhA3A1AgAiABKQIoNwNIIAIgASkCIDcDQCADIAJB0ABqIAJBQGsQCCABIAIpAogDNwIoIAEgAikCgAM3AiAgAiABKQIINwM4IAIgASkCADcDMCACIAEpAhg3AyggAiABKQIQNwMgIAMgAkEwaiACQSBqEAggASACKQKIAzcCGCABIAIpAoADNwIQIAIgAikDmAM3AxggAiACKQOQAzcDECACIAEpAgg3AwggAiABKQIANwMAIAMgAkEQaiACEAggAigCgAMhACACKAKEAyEEIAIoAogDIQUgASAJIAIoAowDczYCDCABIAUgCHM2AgggASAEIAdzNgIEIAEgACAGczYCACACQaADaiQAC/MUARl/IwBBoAZrIgMkACABKAAEIQsgASgACCEMIAEoAAwhDSABKAAQIQ4gASgAFCEEIAEoABghDyABKAAcIRAgACgABCERIAAoAAghEiAAKAAMIRMgACgAECEUIAAoABQhFSAAKAAYIRYgACgAHCEXIAEoAAAhBSACQUBrIgEgACgAACIYQYCChBBzNgIAIAJClcTcyYWy+rziADcCOCACQTBqIgBCgIKEkLCggYQNNwIAIAJCoKLEkbSurZRdNwIoIAJBIGoiBkLb++Co1c3wl3E3AgAgAiAFIBhzIhk2AgAgAiAXQfPqoul9czYCXCACIBZBoKLEkQRzNgJYIAIgFUHthL+Jf3M2AlQgAkHQAGoiBSAUQdv74KgFczYCACACIBNBkNPnkwZzNgJMIAIgEkGVxNzJBXM2AkggAiARQYOKoOgAczYCRCACIBAgF3MiEDYCHCACIA8gFnMiDzYCGCACIAQgFXMiGjYCFCACQRBqIgQgDiAUcyIONgIAIAIgDSATcyINNgIMIAIgDCAScyIMNgIIIAIgCyARcyIbNgIEQQAhCwNAIAMgBSkCCDcDmAYgAyAFKQIANwOQBiADIAEpAgg3A/gFIAMgASkCADcD8AUgAyAFKQIINwPoBSADIAUpAgA3A+AFIANBgAZqIgcgA0HwBWogA0HgBWoQCCAFIAMpAogGNwIIIAUgAykCgAY3AgAgAyAAKQIINwPYBSADIAApAgA3A9AFIAMgASkCCDcDyAUgAyABKQIANwPABSAHIANB0AVqIANBwAVqEAggASADKQKIBjcCCCABIAMpAoAGNwIAIAMgBikCCDcDuAUgAyAGKQIANwOwBSADIAApAgg3A6gFIAMgACkCADcDoAUgByADQbAFaiADQaAFahAIIAAgAykCiAY3AgggACADKQKABjcCACADIAQpAgg3A5gFIAMgBCkCADcDkAUgAyAGKQIINwOIBSADIAYpAgA3A4AFIAcgA0GQBWogA0GABWoQCCAGIAMpAogGNwIIIAYgAykCgAY3AgAgAyACKQIINwP4BCADIAIpAgA3A/AEIAMgBCkCCDcD6AQgAyAEKQIANwPgBCAHIANB8ARqIANB4ARqEAggBCADKQKIBjcCCCAEIAMpAoAGNwIAIAMgAykDmAY3A9gEIAMgAykDkAY3A9AEIAMgAikCCDcDyAQgAyACKQIANwPABCAHIANB0ARqIANBwARqEAggAygCgAYhCCADKAKEBiEJIAMoAogGIQogAiADKAKMBiATczYCDCACIAogEnM2AgggAiAJIBFzNgIEIAIgCCAYczYCACADIAUpAgg3A5gGIAMgBSkCADcDkAYgAyABKQIINwO4BCADIAEpAgA3A7AEIAMgBSkCCDcDqAQgAyAFKQIANwOgBCAHIANBsARqIANBoARqEAggBSADKQKIBjcCCCAFIAMpAoAGNwIAIAMgACkCCDcDmAQgAyAAKQIANwOQBCADIAEpAgg3A4gEIAMgASkCADcDgAQgByADQZAEaiADQYAEahAIIAEgAykCiAY3AgggASADKQKABjcCACADIAYpAgg3A/gDIAMgBikCADcD8AMgAyAAKQIINwPoAyADIAApAgA3A+ADIAcgA0HwA2ogA0HgA2oQCCAAIAMpAogGNwIIIAAgAykCgAY3AgAgAyAEKQIINwPYAyADIAQpAgA3A9ADIAMgBikCCDcDyAMgAyAGKQIANwPAAyAHIANB0ANqIANBwANqEAggBiADKQKIBjcCCCAGIAMpAoAGNwIAIAMgAikCCDcDuAMgAyACKQIANwOwAyADIAQpAgg3A6gDIAMgBCkCADcDoAMgByADQbADaiADQaADahAIIAQgAykCiAY3AgggBCADKQKABjcCACADIAMpA5gGNwOYAyADIAMpA5AGNwOQAyADIAIpAgg3A4gDIAMgAikCADcDgAMgByADQZADaiADQYADahAIIAMoAoAGIQggAygChAYhCSADKAKIBiEKIAIgAygCjAYgF3M2AgwgAiAKIBZzNgIIIAIgCSAVczYCBCACIAggFHM2AgAgAyAFKQIINwOYBiADIAUpAgA3A5AGIAMgASkCCDcD+AIgAyABKQIANwPwAiADIAUpAgg3A+gCIAMgBSkCADcD4AIgByADQfACaiADQeACahAIIAUgAykCiAY3AgggBSADKQKABjcCACADIAApAgg3A9gCIAMgACkCADcD0AIgAyABKQIINwPIAiADIAEpAgA3A8ACIAcgA0HQAmogA0HAAmoQCCABIAMpAogGNwIIIAEgAykCgAY3AgAgAyAGKQIINwO4AiADIAYpAgA3A7ACIAMgACkCCDcDqAIgAyAAKQIANwOgAiAHIANBsAJqIANBoAJqEAggACADKQKIBjcCCCAAIAMpAoAGNwIAIAMgBCkCCDcDmAIgAyAEKQIANwOQAiADIAYpAgg3A4gCIAMgBikCADcDgAIgByADQZACaiADQYACahAIIAYgAykCiAY3AgggBiADKQKABjcCACADIAIpAgg3A/gBIAMgAikCADcD8AEgAyAEKQIINwPoASADIAQpAgA3A+ABIAcgA0HwAWogA0HgAWoQCCAEIAMpAogGNwIIIAQgAykCgAY3AgAgAyADKQOYBjcD2AEgAyADKQOQBjcD0AEgAyACKQIINwPIASADIAIpAgA3A8ABIAcgA0HQAWogA0HAAWoQCCADKAKABiEIIAMoAoQGIQkgAygCiAYhCiACIAMoAowGIA1zNgIMIAIgCiAMczYCCCACIAkgG3M2AgQgAiAIIBlzNgIAIAMgBSkCCDcDmAYgAyAFKQIANwOQBiADIAEpAgg3A7gBIAMgASkCADcDsAEgAyAFKQIINwOoASADIAUpAgA3A6ABIAcgA0GwAWogA0GgAWoQCCAFIAMpAogGNwIIIAUgAykCgAY3AgAgAyAAKQIINwOYASADIAApAgA3A5ABIAMgASkCCDcDiAEgAyABKQIANwOAASAHIANBkAFqIANBgAFqEAggASADKQKIBjcCCCABIAMpAoAGNwIAIAMgBikCCDcDeCADIAYpAgA3A3AgAyAAKQIINwNoIAMgACkCADcDYCAHIANB8ABqIANB4ABqEAggACADKQKIBjcCCCAAIAMpAoAGNwIAIAMgBCkCCDcDWCADIAQpAgA3A1AgAyAGKQIINwNIIAMgBikCADcDQCAHIANB0ABqIANBQGsQCCAGIAMpAogGNwIIIAYgAykCgAY3AgAgAyACKQIINwM4IAMgAikCADcDMCADIAQpAgg3AyggAyAEKQIANwMgIAcgA0EwaiADQSBqEAggBCADKQKIBjcCCCAEIAMpAoAGNwIAIAMgAykDmAY3AxggAyADKQOQBjcDECADIAIpAgg3AwggAyACKQIANwMAIAcgA0EQaiADEAggAygCgAYhCCADKAKEBiEJIAMoAogGIQogAiADKAKMBiAQczYCDCACIAogD3M2AgggAiAJIBpzNgIEIAIgCCAOczYCACALQQFqIgtBBEcNAAsgA0GgBmokAAsIACAAQRAQGQsEAEFfC5gKAR5/IwBBwAJrIgQkACAEQgA3A5gCIARCADcDkAIgBEIANwOIAiAEQgA3A4ACIARBgAJqIgUgASACEAsaIAMoABAhCyADKAAwIQwgAygAFCENIAMoADQhDiADKAAYIQ8gAygAOCEQIAMoABwhESADKAA8IRIgAygAJCEBIAMoAFQhEyADKAB0IRQgAygAZCEGIAMoACwhByADKABcIRUgAygAfCEWIAMoAGwhCCADKAAgIQkgAygAUCEXIAMoAHAhGCADKABgIQogBCgCkAIhGSAEKAKAAiEaIAQoAoQCIRsgBCgCiAIhHCAEKAKMAiEdIAQoApQCIR4gBCgCnAIhHyAEIAMoACgiICADKABoIiEgAygAeHEgAygAWCAEKAKYAnNzczYCmAIgBCAJIAogGHEgFyAZc3NzNgKQAiAEIAcgCCAWcSAVIB9zc3M2ApwCIAQgASAGIBRxIBMgHnNzczYClAIgBCAIIAcgEnEgESAdc3NzNgKMAiAEICEgECAgcSAPIBxzc3M2AogCIAQgBiABIA5xIA0gG3NzczYChAIgBCAKIAkgDHEgCyAac3NzNgKAAiACIAVqQQBBICACaxAMGiAAIAUgAhALGiAEKAKYAiEBIAQoApACIQIgBCgCnAIhBiAEKAKUAiEHIAQoAoACIQggBCgChAIhCSAEKAKIAiEKIAQoAowCIQsgBCADKQJ4NwO4AiAEIAMpAnA3A7ACIAQgAykCaDcD+AEgBCADKQJgNwPwASAEIAMpAng3A+gBIAQgAykCcDcD4AEgBEGgAmoiBSAEQfABaiAEQeABahAIIAMgBCkCqAI3AnggAyAEKQKgAjcCcCAEIAMpAlg3A9gBIAQgAykCUDcD0AEgBCADKQJoNwPIASAEIAMpAmA3A8ABIAUgBEHQAWogBEHAAWoQCCADIAQpAqgCNwJoIAMgBCkCoAI3AmAgBCADKQJINwO4ASAEIANBQGsiACkCADcDsAEgBCADKQJYNwOoASAEIAMpAlA3A6ABIAUgBEGwAWogBEGgAWoQCCADIAQpAqgCNwJYIAMgBCkCoAI3AlAgBCADKQI4NwOYASAEIAMpAjA3A5ABIAQgAykCSDcDiAEgBCAAKQIANwOAASAFIARBkAFqIARBgAFqEAggAyAEKQKoAjcCSCAAIAQpAqACNwIAIAQgAykCKDcDeCAEIAMpAiA3A3AgBCADKQI4NwNoIAQgAykCMDcDYCAFIARB8ABqIARB4ABqEAggAyAEKQKoAjcCOCADIAQpAqACNwIwIAQgAykCGDcDWCAEIAMpAhA3A1AgBCADKQIoNwNIIAQgAykCIDcDQCAFIARB0ABqIARBQGsQCCADIAQpAqgCNwIoIAMgBCkCoAI3AiAgBCADKQIINwM4IAQgAykCADcDMCAEIAMpAhg3AyggBCADKQIQNwMgIAUgBEEwaiAEQSBqEAggAyAEKQKoAjcCGCADIAQpAqACNwIQIAQgBCkDuAI3AxggBCAEKQOwAjcDECAEIAMpAgg3AwggBCADKQIANwMAIAUgBEEQaiAEEAggAyAEKQKoAjcCCCADIAQpAqACNwIAIAMgCyADKAAMczYCDCADIAogAygACHM2AgggAyAJIAMoAARzNgIEIAMgCCADKAAAczYCACAAIAIgACgAAHM2AgAgAyAHIAMoAERzNgJEIAMgASADKABIczYCSCADIAYgAygATHM2AkwgBEHAAmokAAuRCQEefyMAQaACayIDJAAgAigAECEOIAIoADAhDyACKAAUIRAgASgABCERIAIoADQhEiACKAAYIRMgASgACCEUIAIoADghFSACKAAcIQggASgADCEWIAIoADwhFyACKAAgIQUgAigAUCEJIAEoABAhGCACKABwIRkgAigAYCEEIAIoACQhBiACKABUIQogASgAFCEaIAIoAHQhGyACKABkIQwgAigAKCEHIAIoAFghCyABKAAYIRwgAigAeCEdIAIoAGghDSABKAAAIR4gACACKAAsIh8gAigAbCIgIAIoAHxxIAIoAFwgASgAHHNzcyIBNgAcIAAgByANIB1xIAsgHHNzcyILNgAYIAAgBiAMIBtxIAogGnNzcyIKNgAUIAAgBSAEIBlxIAkgGHNzcyIJNgAQIAAgICAXIB9xIAggFnNzcyIINgAMIAAgDSAHIBVxIBMgFHNzcyIHNgAIIAAgDCAGIBJxIBAgEXNzcyIGNgAEIAAgBCAFIA9xIA4gHnNzcyIFNgAAIAMgAikCeDcDmAIgAyACKQJwNwOQAiADIAIpAmg3A/gBIAMgAikCYDcD8AEgAyACKQJ4NwPoASADIAIpAnA3A+ABIANBgAJqIgQgA0HwAWogA0HgAWoQCCACIAMpAogCNwJ4IAIgAykCgAI3AnAgAyACKQJYNwPYASADIAIpAlA3A9ABIAMgAikCaDcDyAEgAyACKQJgNwPAASAEIANB0AFqIANBwAFqEAggAiADKQKIAjcCaCACIAMpAoACNwJgIAMgAikCSDcDuAEgAyACQUBrIgApAgA3A7ABIAMgAikCWDcDqAEgAyACKQJQNwOgASAEIANBsAFqIANBoAFqEAggAiADKQKIAjcCWCACIAMpAoACNwJQIAMgAikCODcDmAEgAyACKQIwNwOQASADIAIpAkg3A4gBIAMgACkCADcDgAEgBCADQZABaiADQYABahAIIAIgAykCiAI3AkggACADKQKAAjcCACADIAIpAig3A3ggAyACKQIgNwNwIAMgAikCODcDaCADIAIpAjA3A2AgBCADQfAAaiADQeAAahAIIAIgAykCiAI3AjggAiADKQKAAjcCMCADIAIpAhg3A1ggAyACKQIQNwNQIAMgAikCKDcDSCADIAIpAiA3A0AgBCADQdAAaiADQUBrEAggAiADKQKIAjcCKCACIAMpAoACNwIgIAMgAikCCDcDOCADIAIpAgA3AzAgAyACKQIYNwMoIAMgAikCEDcDICAEIANBMGogA0EgahAIIAIgAykCiAI3AhggAiAD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IAIoAHAhGiACKABgIQkgAigAJCEKIAEoABQhCyACKABUIRsgAigAdCEcIAIoAGQhDCACKAAoIQ0gASgAGCEOIAIoAFghHSACKAB4IR4gAigAaCEPIAEoAAAhECAAIAIoACwiHyABKAAcIgEgAigAXCACKABsIiAgAigAfHFzc3M2ABwgACANIA4gHSAPIB5xc3NzNgAYIAAgCiALIBsgDCAccXNzczYAFCAAIAQgCCAZIAkgGnFzc3M2ABAgACAgIAcgFyAYIB9xc3NzNgAMIAAgDyAGIBUgDSAWcXNzczYACCAAIAwgBSATIAogFHFzc3M2AAQgACAJIBAgESAEIBJxc3NzNgAAIAMgAikCeDcDmAIgAyACKQJwNwOQAiADIAIpAmg3A/gBIAMgAikCYDcD8AEgAyACKQJ4NwPoASADIAIpAnA3A+ABIANBgAJqIgQgA0HwAWogA0HgAWoQCCACIAMpAogCNwJ4IAIgAykCgAI3AnAgAyACKQJYNwPYASADIAIpAlA3A9ABIAMgAikCaDcDyAEgAyACKQJgNwPAASAEIANB0AFqIANBwAFqEAggAiADKQKIAjcCaCACIAMpAoACNwJgIAMgAikCSDcDuAEgAyACQUBrIgApAgA3A7ABIAMgAikCWDcDqAEgAyACKQJQNwOgASAEIANBsAFqIANBoAFqEAggAiADKQKIAjcCWCACIAMpAoACNwJQIAMgAikCODcDmAEgAyACKQIwNwOQASADIAIpAkg3A4gBIAMgACkCADcDgAEgBCADQZABaiADQYABahAIIAIgAykCiAI3AkggACADKQKAAjcCACADIAIpAig3A3ggAyACKQIgNwNwIAMgAikCODcDaCADIAIpAjA3A2AgBCADQfAAaiADQeAAahAIIAIgAykCiAI3AjggAiADKQKAAjcCMCADIAIpAhg3A1ggAyACKQIQNwNQIAMgAikCKDcDSCADIAIpAiA3A0AgBCADQdAAaiADQUBrEAggAiADKQKIAjcCKCACIAMpAoACNwIgIAMgAikCCDcDOCADIAIpAgA3AzAgAyACKQIYNwMoIAMgAikCEDcDICAEIANBMGogA0EgahAIIAIgAykCiAI3AhggAiADKQKAAjcCECADIAMpA5gCNwMYIAMgAykDkAI3AxAgAyACKQIINwMIIAMgAikCADcDACAE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ACJDNwPQAiADIAEpAAg3A9gCIAMgQ6dB+AFxOgDQAiADIAMtAO8CQT9xQcAAcjoA7wIgA0GgAmogAhA2IANCADcChAIgA0IANwKMAiADQQA2ApQCIANCADcD0AEgA0IANwPYASADQgA3A+ABIAMgAykDsAI3A6ABIAMgAykDuAI3A6gBIAMgAykDwAI3A7ABIANCADcC9AEgA0EBNgLwASADQgA3AvwBIANCADcDwAEgA0IANwPIASADIAMpA6ACNwOQASADIAMpA6gCNwOYASADQgA3AnQgA0IANwJ8IANBADYChAEgA0IANwJkIANBATYCYCADQgA3AmxB/gEhAkEAIQQDQCADKAKUAiEJIAMoArQBIQYgAygCYCEHIAMoAsABIQogAygCkAEhCyADKALwASENIAMoAmQhCCADKALEASEMIAMoApQBIQUgAygC9AEhECADKAJoIQ4gAygCyAEhESADKAKYASESIAMoAvgBIRMgAygCbCEPIAMoAswBIRQgAygCnAEhFSADKAL8ASEXIAMoAnAhGCADKALQASEcIAMoAqABIR0gAygCgAIhHiADKAJ0IRkgAygC1AEhHyADKAKkASEgIAMoAoQCISEgAygCeCEaIAMoAtgBISIgAygCqAEhIyADKAKIAiEkIAMoAnwhGyADKALcASElIAMoAqwBISYgAygCjAIhJyADKAKAASEWIAMoAuABISggAygCsAEhKSADKAKQAiEsIANBACAEIANB0AJqIi0gAiIBQQN2ai0AACACQQdxdkEBcSIEc2siAiADKAKEASIqIAMoAuQBIitzcSIuICpzIio2AoQBIAMgBiAGIAlzIAJxIi9zIjAgKms2AlQgAyAWIBYgKHMgAnEiMXMiBjYCgAEgAyApICkgLHMgAnEiFnMiKSAGazYCUCADIBsgGyAlcyACcSIycyIbNgJ8IAMgJiAmICdzIAJxIjNzIiYgG2s2AkwgAyAaIBogInMgAnEiNHMiGjYCeCADICMgIyAkcyACcSI1cyIjIBprNgJIIAMgGSAZIB9zIAJxIjZzIhk2AnQgAyAgICAgIXMgAnEiN3MiICAZazYCRCADIBggGCAccyACcSI4cyIYNgJwIAMgHSAdIB5zIAJxIjlzIh0gGGs2AkAgAyAPIA8gFHMgAnEiOnMiDzYCbCADIBUgFSAXcyACcSI7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BiAWIAMgGhAGIAENAAsgAygCkAEhECADKALwASECIAMoApQBIQ4gAygC9AEhBiADKAKYASERIAMoAvgBIQcgAygCnAEhEiADKAL8ASEKIAMoAqABIRMgAygCgAIhCyADKAKkASEPIAMoAoQCIQ0gAygCqAEhFCADKAKIAiEIIAMoAqwBIRUgAygCjAIhDCADKAKwASEXIAMoApACIQUgA0EAIARrIgEgAygClAIiBCADKAK0AXNxIARzNgKUAiADIAUgBSAXcyABcXM2ApACIAMgDCAMIBVzIAFxczYCjAIgAyAIIAggFHMgAXFzNgKIAiADIA0gDSAPcyABcXM2AoQCIAMgCyALIBNzIAFxczYCgAIgAyAKIAogEnMgAXFzNgL8ASADIAcgByARcyABcXM2AvgBIAMgBiAGIA5zIAFxczYC9AEgAyACIAIgEHMgAXFzNgLwASADKALAASECIAMoAmAhBSADKALEASEEIAMoAmQhECADKALIASEGIAMoAmghDiADKALMASEHIAMoAmwhESADKALQASEKIAMoAnAhEiADKALUASELIAMoAnQhEyADKALYASENIAMoAnghDyADKALcASEIIAMoAnwhFCADKALgASEMIAMoAoABIRUgAyADKALkASIXIAMoAoQBcyABcSAXczYC5AEgAyAMIAwgFXMgAXFzNgLgASADIAggCCAUcyABcXM2AtwBIAMgDSANIA9zIAFxczYC2AEgAyALIAsgE3MgAXFzNgLUASADIAogCiAScyABcXM2AtABIAMgByAHIBFzIAFxczYCzAEgAyAGIAYgDnMgAXFzNgLIASADIAQgBCAQcyABcXM2AsQBIAMgAiACIAVzIAFxczYCwAEgFiAWEDUgGSAZIBYQBiAAIBkQESAtQSAQCUEAIQkLIANB8AJqJAAgCQs4AQF/IwBBIGsiBiQAIAYgBCAFQQAQGxogACABIAKtIAOtQiCGhCAEQRBqQgAgBhA7IAZBIGokAAtAAQF/IwBBIGsiCCQAIAggBCAHQQAQGxogACABIAKtIAOtQiCGhCAEQRBqIAWtIAatQiCGhCAIEDsgCEEgaiQACzQBAX8jAEEgayIFJAAgBSADIARBABAbGiAAIAGtIAKtQiCGhCADQRBqIAUQUyAFQSBqJAALtgQCA38CfiMAQfAAayIGJAAgAq0gA61C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IwtbAQJ+IAetIAitQiCGhCEMQX8hAiAErSAFrUIghoQiC0IQWgRAIAAgAyALQhB9IAMgC6dqQRBrIAYgDCAJIAoQsgEhAgsgAQRAIAFCACALQhB9IAIbNwMACyACCyUAIAAgAiADrSAErUIghoQgBSAGIAetIAitQiCGhCAJIAoQsgELWQECfgJ/IAatIAetQiCGhCEMIAOtIAStQiCGhCILQvD///8PVARAIAAgACALp2pBACACIAsgBSAMIAkgChCzARogAQRAIAEgC0IQfDcDAAtBAAwBCxAOAAsLJwAgACABIAIgAyAErSAFrUIghoQgBiAHrSAIrUIghoQgCiALELMBC1sBAn4gB60gCK1CIIaEIQxBfyECIAStIAWtQiCGhCILQhBaBEAgACADIAtCEH0gAyALp2pBEGsgBiAMIAkgChDDASECCyABBEAgAUIAIAtCEH0gAhs3AwALIAILJQAgACACIAOtIAStQiCGhCAFIAYgB60gCK1CIIaEIAkgChDDAQtbAQJ+IAetIAitQiCGhCEMQX8hAiAErSAFrUIghoQiC0IQWgRAIAAgAyALQhB9IAMgC6dqQRBrIAYgDCAJIAoQxAEhAgsgAQRAIAFCACALQhB9IAIbNwMACyACCyUAIAAgAiADrSAErUIghoQgBSAGIAetIAitQiCGhCAJIAoQxAELWQECfgJ/IAatIAetQiCGhCEMIAOtIAStQiCGhCILQvD///8PVARAIAAgACALp2pBACACIAsgBSAMIAkgChDFARogAQRAIAEgC0IQfDcDAAtBAAwBCxAOAAsLJwAgACABIAIgAyAErSAFrUIghoQgBiAHrSAIrUIghoQgCiALEMUBC1kBAn4CfyAGrSAHrUIghoQhDCADrSAErUIghoQiC0Lw////D1QEQCAAIAAgC6dqQQAgAiALIAUgDCAJIAoQxgEaIAEEQCABIAtCEHw3AwALQQAMAQsQDgALCycAIAAgASACIAMgBK0gBa1CIIaEIAYgB60gCK1CIIaEIAogCxDGAQtZAQJ+IAetIAitQiCGhCELQX8hAQJAIAOtIAStQiCGhCIMQt////8PVg0AIAtC3////w9WDQAgACACIAynIAVBICAGIAunIAkgCkGsnwIoAgARDQAhAQsgAQuAAQEDfiAHrSAIrUIghoQhDEF/IQICQCAErSAFrUIghoQiC0IgVA0AIAtCIH0iDULf////D1YNACAMQt////8PVg0AIAAgAyANpyADIAunakEga0EgIAYgDKcgCSAKQayfAigCABENACECCyABBEAgAUIAIAtCIH0gAhs3AwALIAILYAECfiAErSAFrUIghoQhDCAHrSAIrUIghoQhDSACBEAgAkIgNwMACyANQuD///8PVCAMQt////8PWHFFBEAQDgALIAAgAUEgIAMgDKcgBiANpyAKIAtBqJ8CKAIAEQ0AC3YBAn4CfyAGrSAHrUIghoQhCwJAIAOtIAStQiCGhCIMQt////8PVg0AIAtC4P///w9aDQAgACAAIAynIgNqQSAgAiADIAUgC6cgCSAKQaifAigCABENACEAIAEEQCABQgAgDEIgfCAAGzcDAAsgAAwBCxAOAAsLWQECfiAHrSAIrUIghoQhC0F/IQECQCADrSAErUIghoQiDELf////D1YNACALQt////8PVg0AIAAgAiAMpyAFQSAgBiALpyAJIApBpJ8CKAIAEQ0AIQELIAELgAEBA34gB60gCK1CIIaEIQxBfyECAkAgBK0gBa1CIIaEIgtCIFQNACALQiB9Ig1C3////w9WDQAgDELf////D1YNACAAIAMgDacgAyALp2pBIGtBICAGIAynIAkgCkGknwIoAgARDQAhAgsgAQRAIAFCACALQiB9IAIbNwMACyACC2ABAn4gBK0gBa1CIIaEIQwgB60gCK1CIIaEIQ0gAgRAIAJCIDcDAAsgDULg////D1QgDELf////D1hxRQRAEA4ACyAAIAFBICADIAynIAYgDacgCiALQaCfAigCABENAAt2AQJ+An8gBq0gB61CIIaEIQsCQCADrSAErUIghoQiDELf////D1YNACALQuD///8PWg0AIAAgACAMpyIDakEgIAIgAyAFIAunIAkgCkGgnwIoAgARDQAhACABBEAgAUIAIAxCIHwgABs3AwALIAAMAQsQDgALCwUAQegACwQAQRoLBQBBiwwLBQBBtAoL/QEBBX8jACIFIQkgBUGABGtBQHEiBSQAIAAgASAAGyIHBEBBfyEGIAVB4ABqIgggAyAEEB9FBEAgASAAIAEbIQNBACEAIAVBgAFqIgFBAEEAQcAAECIaIAEgCEIgEA8aIAhBIBAJIAEgBEIgEA8aIAEgAkIgEA8aIAEgBUEgakHAABAhGiABQYADEAkDQCAAIANqIAVBIGoiASAAaiICLQAAOgAAIAAgB2ogAi0AIDoAACADIABBAXIiAmogASACai0AADoAACACIAdqIABBIXIgAWotAAA6AAAgAEECaiIAQSBHDQALIAFBwAAQCUEAIQYLIAkkACAGDwsQDgAL/QEBBX8jACIFIQkgBUGABGtBQHEiBSQAIAAgASAAGyIHBEBBfyEGIAVB4ABqIgggAyAEEB9FBEAgASAAIAEbIQNBACEAIAVBgAFqIgFBAEEAQcAAECIaIAEgCEIgEA8aIAhBIBAJIAEgAkIgEA8aIAEgBEIgEA8aIAEgBUEgakHAABAhGiABQYADEAkDQCAAIAdqIAVBIGoiASAAaiICLQAAOgAAIAAgA2ogAi0AIDoAACAHIABBAXIiAmogASACai0AADoAACACIANqIABBIXIgAWotAAA6AAAgAEECaiIAQSBHDQALIAFBwAAQCUEAIQYLIAkkACAGDwsQDgALHwAgAUEgIAJCIEEAQQAQYRogACABQYyXAigCABEAAAsKACAAIAEgAhAfCwUAQaMLCwUAQbYLCwUAQfsLCwUAQc4LC38BAn8jAEGABGsiBCQAIARBIGoiBSADQSAQLhogBSABIAIQJhogBSAEQcADahAxGiAEIAQpA9gDNwMYIAQgBCkD0AM3AxAgBCAEKQPIAzcDCCAEIAQpA8ADNwMAIAAgBBA/IQEgBCAAQSAQPCAEQYAEaiQAQX8gASAAIARGG3ILYQEBfyMAQeADayIEJAAgBCADQSAQLhogBCABIAIQJhogBCAEQaADahAxGiAAIAQpA7gDNwAYIAAgBCkDsAM3ABAgACAEKQOoAzcACCAAIAQpA6ADNwAAIARB4ANqJABBAAtFAQF/IwBBQGoiAiQAIAAgAhAxGiABIAIpAxg3ABggASACKQMQNwAQIAEgAikDCDcACCABIAIpAwA3AAAgAkFAayQAQQAL9QIBAX8jAEGgAWsiAiQAIAAgAS0AADoAACAAIAEtAAE6AAEgACABLQACOgACIAAgAS0AAzoAAyAAIAEtAAQ6AAQgACABLQAFOgAFIAAgAS0ABjoABiAAIAEtAAc6AAcgACABLQAIOgAIIAAgAS0ACToACSAAIAEtAAo6AAogACABLQALOgALIAAgAS0ADDoADCAAIAEtAA06AA0gACABLQAOOgAOIAAgAS0ADzoADyAAIAEtABA6ABAgACABLQAROgARIAAgAS0AEjoAEiAAIAEtABM6ABMgACABLQAUOgAUIAAgAS0AFToAFSAAIAEtABY6ABYgACABLQAXOgAXIAAgAS0AGDoAGCAAIAEtABk6ABkgACABLQAaOgAaIAAgAS0AGzoAGyAAIAEtABw6ABwgACABLQAdOgAdIAAgAS0AHjoAHiAAIAEtAB9B/wBxOgAfIAIgABA+IAAgAhBLIABBIBAaIQAgAkGgAWokAEF/QQAgABsLjAMBAn8jAEHAAmsiAyQAQX8hBCADIAIQPUUEQCAAIAEtAAA6AAAgACABLQABOgABIAAgAS0AAjoAAiAAIAEtAAM6AAMgACABLQAEOgAEIAAgAS0ABToABSAAIAEtAAY6AAYgACABLQAHOgAHIAAgAS0ACDoACCAAIAEtAAk6AAkgACABLQAKOgAKIAAgAS0ACzoACyAAIAEtAAw6AAwgACABLQANOgANIAAgAS0ADjoADiAAIAEtAA86AA8gACABLQAQOgAQIAAgAS0AEToAESAAIAEtABI6ABIgACABLQATOgATIAAgAS0AFDoAFCAAIAEtABU6ABUgACABLQAWOgAWIAAgAS0AFzoAFyAAIAEtABg6ABggACABLQAZOgAZIAAgAS0AGjoAGiAAIAEtABs6ABsgACABLQAcOgAcIAAgAS0AHToAHSAAIAEtAB46AB4gACABLQAfQf8AcToAHyADQaABaiIBIAAgAxCRASAAIAEQS0F/QQAgAEEgEBobIQQLIANBwAJqJAAgBAsFAEHWCwsFAEHxCwvuBQIGfgF/IAMpAAAiBEL1ys2D16zbt/MAhSEGIARC4eSV89bs2bzsAIUhByADKQAIIgVC7d6R85bM3LfkAIUhBCAFQvPK0cunjNmy9ACFIQUgASABIAKnIgNqIANBB3EiA2siCkcEQANAIAcgASkAACIIIAWFIgd8IgUgBCAGfCIGIARCDYmFIgR8IgkgBEIRiYUiBEINiSAEIAdCEIkgBYUiBCAGQiCJfCIGfCIHhSIFQhGJIAUgBEIViSAGhSIGIAlCIIl8IgV8IgmFIQQgBkIQiSAFhSIGQhWJIAYgB0IgiXwiBoUhBSAJQiCJIQcgBiAIhSEGIAFBCGoiASAKRw0ACwsgAkI4hiECAkACQAJAAkACQAJAAkACQCADQQFrDgcGBQQDAgEABwsgATEABkIwhiAChCECCyABMQAFQiiGIAKEIQILIAExAARCIIYgAoQhAgsgATEAA0IYhiAChCECCyABMQACQhCGIAKEIQILIAExAAFCCIYgAoQhAgsgAiABMQAAhCECCyAAIAIgBYUiBUIQiSAFIAd8IgeFIgVCFYkgBSAEIAZ8IgZCIIl8IgWFIghCEIkgCCAHIAYgBEINiYUiBHwiBkIgiXwiB4UiCEIViSAIIAUgBiAEQhGJhSIEfCIGQiCJfCIFhSIIQhCJIAcgBEINiSAGhSIEfCIGQiCJQv8BhSAIfCIHhSIIQhWJIARCEYkgBoUiBCACIAWFfCICQiCJIAh8IgaFIgVCEIkgAiAEQg2JhSICIAd8IgRCIIkgBXwiB4UiBUIViSACQhGJIASFIgIgBnwiBEIgiSAFfCIGhSIFQhCJIAJCDYkgBIUiAiAHfCIEQiCJIAV8IgeFIgVCFYkgAkIRiSAEhSICIAZ8IgRCIIkgBXwiBoUiBUIQiSACQg2JIASFIgIgB3wiBEIgiSAFfCIHhUIViSACQhGJIASFIgJCDYkgAiAGfIUiAkIRiYUgAiAHfCICQiCJhSAChTcAAEEAC2sCAX8BfiMAQSBrIgUkACADKQAAIQYgBUIANwMYIAUgBjcDECAFQgA3AwggBSACNwMAAn8gAUHBAGtBTk0EQEHwpQJBHDYCAEF/DAELIAAgAUEAQgAgBEEgIAUgBUEQahDdAQsgBUEgaiQACwsAIAAgAUEAELYBCwsAIAAgAUEBELYBCw0AIAAgASACQQAQtwELDQAgACABIAJBARC3AQsGAEGAgCALBgBBgIACCwUAQacMCwUAQeYACwoAIAAgASACEEALCAAgACABEEELCgAgACABIAIQegsFAEHECwtXAQF/IwBBQGoiBiQAAkAgBkEgaiAFIAQQHwRAQX8hBAwBC0F/IQQgBkHQlgIgBkEgakEAECsNACAAIAEgAiADIAYQvwEhBCAGQSAQCQsgBkFAayQAIAQLVwEBfyMAQUBqIgYkAAJAIAZBIGogBSAEEB8EQEF/IQQMAQtBfyEEIAZB0JYCIAZBIGpBABArDQAgACABIAIgAyAGEMABIQQgBkEgEAkLIAZBQGskACAECwoAIAAgASACECELDAAgACABIAIgAxAiCwsAIAAgASACEMcBCw0AIAAgASACIAMQyAELBwAgABDJAQsJACAAIAEQywELCwAgACABIAIQzAELBQBBrgsLOgEDfiABKQAgIQIgASkAKCEDIAEpADAhBCAAIAEpADg3ABggACAENwAQIAAgAzcACCAAIAI3AABBAAs6AQN+IAEpAAghAiABKQAQIQMgASkAACEEIAAgASkAGDcAGCAAIAM3ABAgACACNwAIIAAgBDcAAEEAC3wBAX8CQAJAAkAgA0LAAFQNACADQkB8IgNCv////w9WDQAgAiACQUBrIgUgAyAEQQAQdkUNASAARQ0AIABBACADpxAMGgtBfyECIAFFDQEgAUIANwMAQX8PCyABBEAgASADNwMAC0EAIQIgAEUNACAAIAUgA6cQQhoLIAILcAECfyMAQRBrIgUkACAAIAVBCGogAEFAayACIAOnIgIQQiADIARBABB4GgJAIAUpAwhCwABSBEAgAQRAIAFCADcDAAsgAEEAIAJBQGsQDBpBfyEGDAELIAFFDQAgASADQkB9NwMACyAFQRBqJAAgBgsTACAAIAEgAiADIARBABB4GkEAC20BAX8jAEFAaiICJAAgAiABQiAQRxogAiACLQAAQfgBcToAACACIAItAB9BP3FBwAByOgAfIAAgAikDEDcAECAAIAIpAwg3AAggACACKQMANwAAIAAgAikDGDcAGCACQcAAEAkgAkFAayQAQQAL5woCD38nfiMAQYACayICJABBfyEIAkAgARBMDQAgAkHgAGoiAyABEJQBDQAgAxBsRQ0AQQAhCCACQQAgAigCrAEiAWs2AiQgAkEAIAIoAqgBIgNrNgIgIAJBACACKAKkASIJazYCHCACQQAgAigCoAEiBGs2AhggAkEAIAIoApwBIgprNgIUIAJBACACKAKYASIFazYCECACQQAgAigClAEiC2s2AgwgAkEAIAIoApABIgZrNgIIIAJBACACKAKMASIMazYCBCACQQEgAigCiAEiB2s2AgAgAiACEDUgAiACKAIEIg2sIhkgCkEBdKwiIn4gAjQCACIRIASsIhR+fCACKAIIIgSsIhsgBawiFX58IAIoAgwiBawiHiALQQF0rCIjfnwgAigCECIOrCIfIAasIhZ+fCACKAIUIgasIiQgDEEBdKwiJX58IAIoAhgiD6wiLiAH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IAIQPQ0AIAMgARAQIANBoAFqIgEgBSADEFUgA0HAAmoiAiABEFYgACACEEtBACEECyADQaAGaiQAIAQLZQEDfyMAQaAGayIDJABBfyEEAkAgA0GABWoiBSABED0NACADQeADaiIBIAIQPQ0AIAMgARAQIANBoAFqIgEgBSADEBMgA0HAAmoiAiABEFYgACACEEtBACEECyADQaAGaiQAIAQLHQEBfyMAQaABayIBJAAgASAAED0gAUGgAWokAEULpQEBBn8jAEEQayIFQQA2AgxBfyEEIAIgA0EBa0sEfyABIAJBAWsiB2ohCEEAIQJBACEBQQAhBANAIAUgBSgCDCIGQQAgCCACay0AACIJQYABc0EBayAGQQFrIARBAWtxcUEIdkEBcSIGayACcXI2AgwgASAGciEBIAQgCXIhBCACQQFqIgIgA0cNAAsgACAHIAUoAgxrNgIAIAFB/wFxQQFrBUF/CwshAQF/IwBBIGsiASQAIAFBIBAZIAAgARCMASABQSBqJAALCwAgACABEIwBQQALcwEDfyMAQaAGayIDJABBfyEEAkAgA0GABWoiBSABEDQNACAFEE1FDQAgA0HgA2oiASACEDQNACABEE1FDQAgAyABEBAgA0GgAWoiASAFIAMQVSADQcACaiICIAEQViAAIAIQL0EAIQQLIANBoAZqJAAgBAtzAQN/IwBBoAZrIgMkAEF/IQQCQCADQYAFaiIFIAEQNA0AIAUQTUUNACADQeADaiIBIAIQNA0AIAEQTUUNACADIAEQECADQaABaiIBIAUgAxATIANBwAJqIgIgARBWIAAgAhAvQQAhBAsgA0GgBmokACAEC0ABAn8jAEGgAWsiASQAAkAgABBrRQ0AIAAQTA0AIAEgABA0DQAgARBNRQ0AIAEQbEEARyECCyABQaABaiQAIAILBgBBwP8AC7UCAgV/AX4jAEHwA2siBSQAIAVBAToADwJ/IAFBwP8ATQRAIAFBwABPBEAgAEFAaiEJIAOtIQpBwAAhBgNAIAYhByAFQdAAaiIGIARBwAAQLhogCARAIAYgCCAJakLAABAmGgsgBUHQAGoiBiACIAoQJhogBiAFQQ9qQgEQJhogBiAAIAhqEDEaIAUgBS0AD0EBajoADyAHIQggB0FAayIGIAFNDQALCyABQT9xIggEQCAFQdAAaiIBIARBwAAQ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ZABcjnj+aHy+ALWxPv/6KVUAmIIqAWD89gCXlz/+74U+ACA4nAAtp73/joWzAYNW0wC7s5b++qoO/9KjTgAlNJcAY00aAO6c1f/VwNEBSS5UABRBKQE2zk8AyYOS/qpvGP+xITL+qybL/073dADR3ZkAhYCyATosGQDJJzsBvRP8ADHl0gF1u3UAtbO4AQBy2wAwXpMA9Sk4AH0NzP70rXcALN0g/lTqFAD5oMYB7H7q/y9jqP6q4pn/ZrPYAOKNev96Qpn+tvWGAOPkGQHWOev/2K04/7Xn0gB3gJ3/gV+I/25+MwACqbf/B4Ji/kWwXv90BOMB2fKR/8qtHwFpASf/Lq9FAOQvOv/X4EX+zzhF/xD+i/8Xz9T/yhR+/1/VYP8JsCEAyAXP//EqgP4jIcD/+OXEAYEReAD7Z5f/BzRw/4w4Qv8o4vX/2UYl/qzWCf9IQ4YBksDW/ywmcABEuEv/zlr7AJXrjQC1qjoAdPTvAFydAgBmrWIA6YlgAX8xywAFm5QAF5QJ/9N6DAAihhr/28yIAIYIKf/gUyv+VRn3AG1/AP6piDAA7nfb/+et1QDOEv7+CLoH/34JBwFvKkgAbzTs/mA/jQCTv3/+zU7A/w5q7QG720wAr/O7/mlZrQBVGVkBovOUAAJ20f4hngkAi6Mu/11GKABsKo7+b/yO/5vfkAAz5af/Sfyb/150DP+YoNr/nO4l/7Pqz//FALP/mqSNAOHEaAAKIxn+0dTy/2H93v64ZeUA3hJ/AaSIh/8ez4z+kmHzAIHAGv7JVCH/bwpO/5NRsv8EBBgAoe7X/waNIQA11w7/KbXQ/+eLnQCzy93//7lxAL3irP9xQtb/yj4t/2ZACP9OrhD+hXVE/wBBoBULAQEAQcAVC7ABJuiVj8KyJ7BFw/SJ8u+Y8NXfrAXTxjM5sTgCiG1T/AXHF2pwPU3YT7o8C3YNEGcPKiBT+iw5zMZOx/13kqwDeuz///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f+3T9VwaYxJY1pz3ot753hQAQf8WC6zxARD9QF0AoGo/ADnTV/4M0roAWLx0/kHYAQD/yD0B2EKU/wD7XAAksuH/AAAA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AZGInAD8dan+keLuAO8XawBttbz/5nAx/kmq7f/nt+P/UNwUAMJrfwF/zWUALjTFAdKrJP9YA1r/OJeNAGC7//8qTsgA/kZGAfR9qADMRIoBfNdGAGZCyP4RNOQAddyP/sv4ewA4Eq7/upek/zPo0AGg5Cv/+R0ZAUS+PwANAAAAAP8AAAAA9QAAAAAAAPsAAAAAAAD9AAAAAPMAAAAABwAAAAAAAwAAAADzAAAAAAUAAAAAAAAAAAsAAAAAAAsAAAAA8wAAAAAAAP0AAAAAAP8AAAAAAwAAAAD1AAAAAAAAAA8AAAAAAP8AAAAA/wAAAAAHAAAAAAUAQayJAgsrAQAAAHbBXwBlcAL/UPyh/vJqxv+FBrIA5N9wAN/uVf4z8xoAPiuL/stBCgBB4IkCC1czTe0AkapW/zYmM//xgGX/KXlK/+xOmwCpl2n+nClIAMJmr//OomX/AAAAAAAAAAAbLnsBEqj9/9Ovl/7D22AAOHa+/v7R9f+ZZH7+6IEV/zW48v/HpN0AQeCKAgsBAQBBgIsCC/EG4Ot6fDtBuK4WVuP68Z/EatoJjeucMrH9hmIFFl9JuABfnJW8o1CMJLHQsVWcg+9bBERcxFgcjobYIk7d0J8RV+z///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f0xpYnNvZGl1bURSRwAAAAAIybzzZ+YJajunyoSFrme7K/iU/nLzbjzxNh1fOvVPpdGC5q1/Ug5RH2w+K4xoBZtrvUH7q9mDH3khfhMZzeBbIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4K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"),oe=ge,X(C).then((V=>WebAssembly.instantiate(V,oe))).then((function(V){Le(V.instance)}),(V=>{ne(`failed to asynchronously prepare wasm: ${V}`),u(V)})),{}})();function Ue(){function oe(){$e||($e=!0,_.calledRun=!0,s||(he(m),_.onRuntimeInitialized?.(),(function(){if(_.postRun)for(typeof _.postRun=="function"&&(_.postRun=[_.postRun]);_.postRun.length;)ge=_.postRun.shift(),E.unshift(ge);var ge;he(E)})()))}w>0||((function(){if(_.preRun)for(typeof _.preRun=="function"&&(_.preRun=[_.preRun]);_.preRun.length;)ge=_.preRun.shift(),A.unshift(ge);var ge;he(A)})(),w>0||(_.setStatus?(_.setStatus("Running..."),setTimeout((function(){setTimeout((function(){_.setStatus("")}),1),oe()}),1)):oe()))}if(_._crypto_aead_aegis128l_keybytes=()=>(_._crypto_aead_aegis128l_keybytes=te.g)(),_._crypto_aead_aegis128l_nsecbytes=()=>(_._crypto_aead_aegis128l_nsecbytes=te.h)(),_._crypto_aead_aegis128l_npubbytes=()=>(_._crypto_aead_aegis128l_npubbytes=te.i)(),_._crypto_aead_aegis128l_abytes=()=>(_._crypto_aead_aegis128l_abytes=te.j)(),_._crypto_aead_aegis128l_messagebytes_max=()=>(_._crypto_aead_aegis128l_messagebytes_max=te.k)(),_._crypto_aead_aegis128l_keygen=oe=>(_._crypto_aead_aegis128l_keygen=te.l)(oe),_._crypto_aead_aegis128l_encrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis128l_encrypt=te.m)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aegis128l_encrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr)=>(_._crypto_aead_aegis128l_encrypt_detached=te.n)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr),_._crypto_aead_aegis128l_decrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis128l_decrypt=te.o)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aegis128l_decrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis128l_decrypt_detached=te.p)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aegis256_keybytes=()=>(_._crypto_aead_aegis256_keybytes=te.q)(),_._crypto_aead_aegis256_nsecbytes=()=>(_._crypto_aead_aegis256_nsecbytes=te.r)(),_._crypto_aead_aegis256_npubbytes=()=>(_._crypto_aead_aegis256_npubbytes=te.s)(),_._crypto_aead_aegis256_abytes=()=>(_._crypto_aead_aegis256_abytes=te.t)(),_._crypto_aead_aegis256_messagebytes_max=()=>(_._crypto_aead_aegis256_messagebytes_max=te.u)(),_._crypto_aead_aegis256_keygen=oe=>(_._crypto_aead_aegis256_keygen=te.v)(oe),_._crypto_aead_aegis256_encrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis256_encrypt=te.w)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aegis256_encrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr)=>(_._crypto_aead_aegis256_encrypt_detached=te.x)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr),_._crypto_aead_aegis256_decrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis256_decrypt=te.y)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aegis256_decrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_aegis256_decrypt_detached=te.z)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_aes256gcm_is_available=()=>(_._crypto_aead_aes256gcm_is_available=te.A)(),_._crypto_aead_chacha20poly1305_encrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr)=>(_._crypto_aead_chacha20poly1305_encrypt_detached=te.B)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr),_._crypto_aead_chacha20poly1305_encrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_encrypt=te.C)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_ietf_encrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr)=>(_._crypto_aead_chacha20poly1305_ietf_encrypt_detached=te.D)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr),_._crypto_aead_chacha20poly1305_ietf_encrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_ietf_encrypt=te.E)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_decrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_decrypt_detached=te.F)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_decrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_decrypt=te.G)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_ietf_decrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_ietf_decrypt_detached=te.H)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_ietf_decrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_chacha20poly1305_ietf_decrypt=te.I)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_chacha20poly1305_ietf_keybytes=()=>(_._crypto_aead_chacha20poly1305_ietf_keybytes=te.J)(),_._crypto_aead_chacha20poly1305_ietf_npubbytes=()=>(_._crypto_aead_chacha20poly1305_ietf_npubbytes=te.K)(),_._crypto_aead_chacha20poly1305_ietf_nsecbytes=()=>(_._crypto_aead_chacha20poly1305_ietf_nsecbytes=te.L)(),_._crypto_aead_chacha20poly1305_ietf_abytes=()=>(_._crypto_aead_chacha20poly1305_ietf_abytes=te.M)(),_._crypto_aead_chacha20poly1305_ietf_messagebytes_max=()=>(_._crypto_aead_chacha20poly1305_ietf_messagebytes_max=te.N)(),_._crypto_aead_chacha20poly1305_ietf_keygen=oe=>(_._crypto_aead_chacha20poly1305_ietf_keygen=te.O)(oe),_._crypto_aead_chacha20poly1305_keybytes=()=>(_._crypto_aead_chacha20poly1305_keybytes=te.P)(),_._crypto_aead_chacha20poly1305_npubbytes=()=>(_._crypto_aead_chacha20poly1305_npubbytes=te.Q)(),_._crypto_aead_chacha20poly1305_nsecbytes=()=>(_._crypto_aead_chacha20poly1305_nsecbytes=te.R)(),_._crypto_aead_chacha20poly1305_abytes=()=>(_._crypto_aead_chacha20poly1305_abytes=te.S)(),_._crypto_aead_chacha20poly1305_messagebytes_max=()=>(_._crypto_aead_chacha20poly1305_messagebytes_max=te.T)(),_._crypto_aead_chacha20poly1305_keygen=oe=>(_._crypto_aead_chacha20poly1305_keygen=te.U)(oe),_._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr)=>(_._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=te.V)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr),_._crypto_aead_xchacha20poly1305_ietf_encrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_xchacha20poly1305_ietf_encrypt=te.W)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=te.X)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_xchacha20poly1305_ietf_decrypt=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_aead_xchacha20poly1305_ietf_decrypt=te.Y)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_aead_xchacha20poly1305_ietf_keybytes=()=>(_._crypto_aead_xchacha20poly1305_ietf_keybytes=te.Z)(),_._crypto_aead_xchacha20poly1305_ietf_npubbytes=()=>(_._crypto_aead_xchacha20poly1305_ietf_npubbytes=te._)(),_._crypto_aead_xchacha20poly1305_ietf_nsecbytes=()=>(_._crypto_aead_xchacha20poly1305_ietf_nsecbytes=te.$)(),_._crypto_aead_xchacha20poly1305_ietf_abytes=()=>(_._crypto_aead_xchacha20poly1305_ietf_abytes=te.aa)(),_._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=()=>(_._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=te.ba)(),_._crypto_aead_xchacha20poly1305_ietf_keygen=oe=>(_._crypto_aead_xchacha20poly1305_ietf_keygen=te.ca)(oe),_._crypto_auth_bytes=()=>(_._crypto_auth_bytes=te.da)(),_._crypto_auth_keybytes=()=>(_._crypto_auth_keybytes=te.ea)(),_._crypto_auth_primitive=()=>(_._crypto_auth_primitive=te.fa)(),_._crypto_auth=(oe,ge,Le,V,Qe)=>(_._crypto_auth=te.ga)(oe,ge,Le,V,Qe),_._crypto_auth_verify=(oe,ge,Le,V,Qe)=>(_._crypto_auth_verify=te.ha)(oe,ge,Le,V,Qe),_._crypto_auth_keygen=oe=>(_._crypto_auth_keygen=te.ia)(oe),_._crypto_auth_hmacsha256_bytes=()=>(_._crypto_auth_hmacsha256_bytes=te.ja)(),_._crypto_auth_hmacsha256_keybytes=()=>(_._crypto_auth_hmacsha256_keybytes=te.ka)(),_._crypto_auth_hmacsha256_statebytes=()=>(_._crypto_auth_hmacsha256_statebytes=te.la)(),_._crypto_auth_hmacsha256_keygen=oe=>(_._crypto_auth_hmacsha256_keygen=te.ma)(oe),_._crypto_auth_hmacsha256_init=(oe,ge,Le)=>(_._crypto_auth_hmacsha256_init=te.na)(oe,ge,Le),_._crypto_auth_hmacsha256_update=(oe,ge,Le,V)=>(_._crypto_auth_hmacsha256_update=te.oa)(oe,ge,Le,V),_._crypto_auth_hmacsha256_final=(oe,ge)=>(_._crypto_auth_hmacsha256_final=te.pa)(oe,ge),_._crypto_auth_hmacsha256=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha256=te.qa)(oe,ge,Le,V,Qe),_._crypto_auth_hmacsha256_verify=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha256_verify=te.ra)(oe,ge,Le,V,Qe),_._crypto_auth_hmacsha512_bytes=()=>(_._crypto_auth_hmacsha512_bytes=te.sa)(),_._crypto_auth_hmacsha512_keybytes=()=>(_._crypto_auth_hmacsha512_keybytes=te.ta)(),_._crypto_auth_hmacsha512_statebytes=()=>(_._crypto_auth_hmacsha512_statebytes=te.ua)(),_._crypto_auth_hmacsha512_keygen=oe=>(_._crypto_auth_hmacsha512_keygen=te.va)(oe),_._crypto_auth_hmacsha512_init=(oe,ge,Le)=>(_._crypto_auth_hmacsha512_init=te.wa)(oe,ge,Le),_._crypto_auth_hmacsha512_update=(oe,ge,Le,V)=>(_._crypto_auth_hmacsha512_update=te.xa)(oe,ge,Le,V),_._crypto_auth_hmacsha512_final=(oe,ge)=>(_._crypto_auth_hmacsha512_final=te.ya)(oe,ge),_._crypto_auth_hmacsha512=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha512=te.za)(oe,ge,Le,V,Qe),_._crypto_auth_hmacsha512_verify=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha512_verify=te.Aa)(oe,ge,Le,V,Qe),_._crypto_auth_hmacsha512256_bytes=()=>(_._crypto_auth_hmacsha512256_bytes=te.Ba)(),_._crypto_auth_hmacsha512256_keybytes=()=>(_._crypto_auth_hmacsha512256_keybytes=te.Ca)(),_._crypto_auth_hmacsha512256_statebytes=()=>(_._crypto_auth_hmacsha512256_statebytes=te.Da)(),_._crypto_auth_hmacsha512256_keygen=oe=>(_._crypto_auth_hmacsha512256_keygen=te.Ea)(oe),_._crypto_auth_hmacsha512256_init=(oe,ge,Le)=>(_._crypto_auth_hmacsha512256_init=te.Fa)(oe,ge,Le),_._crypto_auth_hmacsha512256_update=(oe,ge,Le,V)=>(_._crypto_auth_hmacsha512256_update=te.Ga)(oe,ge,Le,V),_._crypto_auth_hmacsha512256_final=(oe,ge)=>(_._crypto_auth_hmacsha512256_final=te.Ha)(oe,ge),_._crypto_auth_hmacsha512256=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha512256=te.Ia)(oe,ge,Le,V,Qe),_._crypto_auth_hmacsha512256_verify=(oe,ge,Le,V,Qe)=>(_._crypto_auth_hmacsha512256_verify=te.Ja)(oe,ge,Le,V,Qe),_._crypto_box_seedbytes=()=>(_._crypto_box_seedbytes=te.Ka)(),_._crypto_box_publickeybytes=()=>(_._crypto_box_publickeybytes=te.La)(),_._crypto_box_secretkeybytes=()=>(_._crypto_box_secretkeybytes=te.Ma)(),_._crypto_box_beforenmbytes=()=>(_._crypto_box_beforenmbytes=te.Na)(),_._crypto_box_noncebytes=()=>(_._crypto_box_noncebytes=te.Oa)(),_._crypto_box_zerobytes=()=>(_._crypto_box_zerobytes=te.Pa)(),_._crypto_box_boxzerobytes=()=>(_._crypto_box_boxzerobytes=te.Qa)(),_._crypto_box_macbytes=()=>(_._crypto_box_macbytes=te.Ra)(),_._crypto_box_messagebytes_max=()=>(_._crypto_box_messagebytes_max=te.Sa)(),_._crypto_box_primitive=()=>(_._crypto_box_primitive=te.Ta)(),_._crypto_box_seed_keypair=(oe,ge,Le)=>(_._crypto_box_seed_keypair=te.Ua)(oe,ge,Le),_._crypto_box_keypair=(oe,ge)=>(_._crypto_box_keypair=te.Va)(oe,ge),_._crypto_box_beforenm=(oe,ge,Le)=>(_._crypto_box_beforenm=te.Wa)(oe,ge,Le),_._crypto_box_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_afternm=te.Xa)(oe,ge,Le,V,Qe,_t),_._crypto_box_open_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_open_afternm=te.Ya)(oe,ge,Le,V,Qe,_t),_._crypto_box=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box=te.Za)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_open=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_open=te._a)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_detached_afternm=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_detached_afternm=te.$a)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_detached=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_box_detached=te.ab)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_box_easy_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_easy_afternm=te.bb)(oe,ge,Le,V,Qe,_t),_._crypto_box_easy=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_easy=te.cb)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_open_detached_afternm=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_open_detached_afternm=te.db)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_open_detached=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_box_open_detached=te.eb)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_box_open_easy_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_open_easy_afternm=te.fb)(oe,ge,Le,V,Qe,_t),_._crypto_box_open_easy=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_open_easy=te.gb)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_seal=(oe,ge,Le,V,Qe)=>(_._crypto_box_seal=te.hb)(oe,ge,Le,V,Qe),_._crypto_box_seal_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_seal_open=te.ib)(oe,ge,Le,V,Qe,_t),_._crypto_box_sealbytes=()=>(_._crypto_box_sealbytes=te.jb)(),_._crypto_box_curve25519xsalsa20poly1305_seed_keypair=(oe,ge,Le)=>(_._crypto_box_curve25519xsalsa20poly1305_seed_keypair=te.kb)(oe,ge,Le),_._crypto_box_curve25519xsalsa20poly1305_keypair=(oe,ge)=>(_._crypto_box_curve25519xsalsa20poly1305_keypair=te.lb)(oe,ge),_._crypto_box_curve25519xsalsa20poly1305_beforenm=(oe,ge,Le)=>(_._crypto_box_curve25519xsalsa20poly1305_beforenm=te.mb)(oe,ge,Le),_._crypto_box_curve25519xsalsa20poly1305_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_curve25519xsalsa20poly1305_afternm=te.nb)(oe,ge,Le,V,Qe,_t),_._crypto_box_curve25519xsalsa20poly1305_open_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_curve25519xsalsa20poly1305_open_afternm=te.ob)(oe,ge,Le,V,Qe,_t),_._crypto_box_curve25519xsalsa20poly1305=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xsalsa20poly1305=te.pb)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xsalsa20poly1305_open=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xsalsa20poly1305_open=te.qb)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xsalsa20poly1305_seedbytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_seedbytes=te.rb)(),_._crypto_box_curve25519xsalsa20poly1305_publickeybytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_publickeybytes=te.sb)(),_._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_secretkeybytes=te.tb)(),_._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_beforenmbytes=te.ub)(),_._crypto_box_curve25519xsalsa20poly1305_noncebytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_noncebytes=te.vb)(),_._crypto_box_curve25519xsalsa20poly1305_zerobytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_zerobytes=te.wb)(),_._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_boxzerobytes=te.xb)(),_._crypto_box_curve25519xsalsa20poly1305_macbytes=()=>(_._crypto_box_curve25519xsalsa20poly1305_macbytes=te.yb)(),_._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=()=>(_._crypto_box_curve25519xsalsa20poly1305_messagebytes_max=te.zb)(),_._crypto_core_hchacha20=(oe,ge,Le,V)=>(_._crypto_core_hchacha20=te.Ab)(oe,ge,Le,V),_._crypto_core_hchacha20_outputbytes=()=>(_._crypto_core_hchacha20_outputbytes=te.Bb)(),_._crypto_core_hchacha20_inputbytes=()=>(_._crypto_core_hchacha20_inputbytes=te.Cb)(),_._crypto_core_hchacha20_keybytes=()=>(_._crypto_core_hchacha20_keybytes=te.Db)(),_._crypto_core_hchacha20_constbytes=()=>(_._crypto_core_hchacha20_constbytes=te.Eb)(),_._crypto_core_hsalsa20=(oe,ge,Le,V)=>(_._crypto_core_hsalsa20=te.Fb)(oe,ge,Le,V),_._crypto_core_hsalsa20_outputbytes=()=>(_._crypto_core_hsalsa20_outputbytes=te.Gb)(),_._crypto_core_hsalsa20_inputbytes=()=>(_._crypto_core_hsalsa20_inputbytes=te.Hb)(),_._crypto_core_hsalsa20_keybytes=()=>(_._crypto_core_hsalsa20_keybytes=te.Ib)(),_._crypto_core_hsalsa20_constbytes=()=>(_._crypto_core_hsalsa20_constbytes=te.Jb)(),_._crypto_core_salsa20=(oe,ge,Le,V)=>(_._crypto_core_salsa20=te.Kb)(oe,ge,Le,V),_._crypto_core_salsa20_outputbytes=()=>(_._crypto_core_salsa20_outputbytes=te.Lb)(),_._crypto_core_salsa20_inputbytes=()=>(_._crypto_core_salsa20_inputbytes=te.Mb)(),_._crypto_core_salsa20_keybytes=()=>(_._crypto_core_salsa20_keybytes=te.Nb)(),_._crypto_core_salsa20_constbytes=()=>(_._crypto_core_salsa20_constbytes=te.Ob)(),_._crypto_core_salsa2012=(oe,ge,Le,V)=>(_._crypto_core_salsa2012=te.Pb)(oe,ge,Le,V),_._crypto_core_salsa2012_outputbytes=()=>(_._crypto_core_salsa2012_outputbytes=te.Qb)(),_._crypto_core_salsa2012_inputbytes=()=>(_._crypto_core_salsa2012_inputbytes=te.Rb)(),_._crypto_core_salsa2012_keybytes=()=>(_._crypto_core_salsa2012_keybytes=te.Sb)(),_._crypto_core_salsa2012_constbytes=()=>(_._crypto_core_salsa2012_constbytes=te.Tb)(),_._crypto_core_salsa208=(oe,ge,Le,V)=>(_._crypto_core_salsa208=te.Ub)(oe,ge,Le,V),_._crypto_core_salsa208_outputbytes=()=>(_._crypto_core_salsa208_outputbytes=te.Vb)(),_._crypto_core_salsa208_inputbytes=()=>(_._crypto_core_salsa208_inputbytes=te.Wb)(),_._crypto_core_salsa208_keybytes=()=>(_._crypto_core_salsa208_keybytes=te.Xb)(),_._crypto_core_salsa208_constbytes=()=>(_._crypto_core_salsa208_constbytes=te.Yb)(),_._crypto_generichash_bytes_min=()=>(_._crypto_generichash_bytes_min=te.Zb)(),_._crypto_generichash_bytes_max=()=>(_._crypto_generichash_bytes_max=te._b)(),_._crypto_generichash_bytes=()=>(_._crypto_generichash_bytes=te.$b)(),_._crypto_generichash_keybytes_min=()=>(_._crypto_generichash_keybytes_min=te.ac)(),_._crypto_generichash_keybytes_max=()=>(_._crypto_generichash_keybytes_max=te.bc)(),_._crypto_generichash_keybytes=()=>(_._crypto_generichash_keybytes=te.cc)(),_._crypto_generichash_primitive=()=>(_._crypto_generichash_primitive=te.dc)(),_._crypto_generichash_statebytes=()=>(_._crypto_generichash_statebytes=te.ec)(),_._crypto_generichash=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_generichash=te.fc)(oe,ge,Le,V,Qe,_t,rt),_._crypto_generichash_init=(oe,ge,Le,V)=>(_._crypto_generichash_init=te.gc)(oe,ge,Le,V),_._crypto_generichash_update=(oe,ge,Le,V)=>(_._crypto_generichash_update=te.hc)(oe,ge,Le,V),_._crypto_generichash_final=(oe,ge,Le)=>(_._crypto_generichash_final=te.ic)(oe,ge,Le),_._crypto_generichash_keygen=oe=>(_._crypto_generichash_keygen=te.jc)(oe),_._crypto_generichash_blake2b_bytes_min=()=>(_._crypto_generichash_blake2b_bytes_min=te.kc)(),_._crypto_generichash_blake2b_bytes_max=()=>(_._crypto_generichash_blake2b_bytes_max=te.lc)(),_._crypto_generichash_blake2b_bytes=()=>(_._crypto_generichash_blake2b_bytes=te.mc)(),_._crypto_generichash_blake2b_keybytes_min=()=>(_._crypto_generichash_blake2b_keybytes_min=te.nc)(),_._crypto_generichash_blake2b_keybytes_max=()=>(_._crypto_generichash_blake2b_keybytes_max=te.oc)(),_._crypto_generichash_blake2b_keybytes=()=>(_._crypto_generichash_blake2b_keybytes=te.pc)(),_._crypto_generichash_blake2b_saltbytes=()=>(_._crypto_generichash_blake2b_saltbytes=te.qc)(),_._crypto_generichash_blake2b_personalbytes=()=>(_._crypto_generichash_blake2b_personalbytes=te.rc)(),_._crypto_generichash_blake2b_statebytes=()=>(_._crypto_generichash_blake2b_statebytes=te.sc)(),_._crypto_generichash_blake2b_keygen=oe=>(_._crypto_generichash_blake2b_keygen=te.tc)(oe),_._crypto_generichash_blake2b=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_generichash_blake2b=te.uc)(oe,ge,Le,V,Qe,_t,rt),_._crypto_generichash_blake2b_salt_personal=(oe,ge,Le,V,Qe,_t,rt,At,Er)=>(_._crypto_generichash_blake2b_salt_personal=te.vc)(oe,ge,Le,V,Qe,_t,rt,At,Er),_._crypto_generichash_blake2b_init=(oe,ge,Le,V)=>(_._crypto_generichash_blake2b_init=te.wc)(oe,ge,Le,V),_._crypto_generichash_blake2b_init_salt_personal=(oe,ge,Le,V,Qe,_t)=>(_._crypto_generichash_blake2b_init_salt_personal=te.xc)(oe,ge,Le,V,Qe,_t),_._crypto_generichash_blake2b_update=(oe,ge,Le,V)=>(_._crypto_generichash_blake2b_update=te.yc)(oe,ge,Le,V),_._crypto_generichash_blake2b_final=(oe,ge,Le)=>(_._crypto_generichash_blake2b_final=te.zc)(oe,ge,Le),_._crypto_hash_bytes=()=>(_._crypto_hash_bytes=te.Ac)(),_._crypto_hash=(oe,ge,Le,V)=>(_._crypto_hash=te.Bc)(oe,ge,Le,V),_._crypto_hash_primitive=()=>(_._crypto_hash_primitive=te.Cc)(),_._crypto_hash_sha256_bytes=()=>(_._crypto_hash_sha256_bytes=te.Dc)(),_._crypto_hash_sha256_statebytes=()=>(_._crypto_hash_sha256_statebytes=te.Ec)(),_._crypto_hash_sha256_init=oe=>(_._crypto_hash_sha256_init=te.Fc)(oe),_._crypto_hash_sha256_update=(oe,ge,Le,V)=>(_._crypto_hash_sha256_update=te.Gc)(oe,ge,Le,V),_._crypto_hash_sha256_final=(oe,ge)=>(_._crypto_hash_sha256_final=te.Hc)(oe,ge),_._crypto_hash_sha256=(oe,ge,Le,V)=>(_._crypto_hash_sha256=te.Ic)(oe,ge,Le,V),_._crypto_hash_sha512_bytes=()=>(_._crypto_hash_sha512_bytes=te.Jc)(),_._crypto_hash_sha512_statebytes=()=>(_._crypto_hash_sha512_statebytes=te.Kc)(),_._crypto_hash_sha512_init=oe=>(_._crypto_hash_sha512_init=te.Lc)(oe),_._crypto_hash_sha512_update=(oe,ge,Le,V)=>(_._crypto_hash_sha512_update=te.Mc)(oe,ge,Le,V),_._crypto_hash_sha512_final=(oe,ge)=>(_._crypto_hash_sha512_final=te.Nc)(oe,ge),_._crypto_hash_sha512=(oe,ge,Le,V)=>(_._crypto_hash_sha512=te.Oc)(oe,ge,Le,V),_._crypto_kdf_blake2b_bytes_min=()=>(_._crypto_kdf_blake2b_bytes_min=te.Pc)(),_._crypto_kdf_blake2b_bytes_max=()=>(_._crypto_kdf_blake2b_bytes_max=te.Qc)(),_._crypto_kdf_blake2b_contextbytes=()=>(_._crypto_kdf_blake2b_contextbytes=te.Rc)(),_._crypto_kdf_blake2b_keybytes=()=>(_._crypto_kdf_blake2b_keybytes=te.Sc)(),_._crypto_kdf_blake2b_derive_from_key=(oe,ge,Le,V,Qe,_t)=>(_._crypto_kdf_blake2b_derive_from_key=te.Tc)(oe,ge,Le,V,Qe,_t),_._crypto_kdf_primitive=()=>(_._crypto_kdf_primitive=te.Uc)(),_._crypto_kdf_bytes_min=()=>(_._crypto_kdf_bytes_min=te.Vc)(),_._crypto_kdf_bytes_max=()=>(_._crypto_kdf_bytes_max=te.Wc)(),_._crypto_kdf_contextbytes=()=>(_._crypto_kdf_contextbytes=te.Xc)(),_._crypto_kdf_keybytes=()=>(_._crypto_kdf_keybytes=te.Yc)(),_._crypto_kdf_derive_from_key=(oe,ge,Le,V,Qe,_t)=>(_._crypto_kdf_derive_from_key=te.Zc)(oe,ge,Le,V,Qe,_t),_._crypto_kdf_keygen=oe=>(_._crypto_kdf_keygen=te._c)(oe),_._crypto_kdf_hkdf_sha256_extract_init=(oe,ge,Le)=>(_._crypto_kdf_hkdf_sha256_extract_init=te.$c)(oe,ge,Le),_._crypto_kdf_hkdf_sha256_extract_update=(oe,ge,Le)=>(_._crypto_kdf_hkdf_sha256_extract_update=te.ad)(oe,ge,Le),_._crypto_kdf_hkdf_sha256_extract_final=(oe,ge)=>(_._crypto_kdf_hkdf_sha256_extract_final=te.bd)(oe,ge),_._crypto_kdf_hkdf_sha256_extract=(oe,ge,Le,V,Qe)=>(_._crypto_kdf_hkdf_sha256_extract=te.cd)(oe,ge,Le,V,Qe),_._crypto_kdf_hkdf_sha256_keygen=oe=>(_._crypto_kdf_hkdf_sha256_keygen=te.dd)(oe),_._crypto_kdf_hkdf_sha256_expand=(oe,ge,Le,V,Qe)=>(_._crypto_kdf_hkdf_sha256_expand=te.ed)(oe,ge,Le,V,Qe),_._crypto_kdf_hkdf_sha256_keybytes=()=>(_._crypto_kdf_hkdf_sha256_keybytes=te.fd)(),_._crypto_kdf_hkdf_sha256_bytes_min=()=>(_._crypto_kdf_hkdf_sha256_bytes_min=te.gd)(),_._crypto_kdf_hkdf_sha256_bytes_max=()=>(_._crypto_kdf_hkdf_sha256_bytes_max=te.hd)(),_._crypto_kdf_hkdf_sha256_statebytes=()=>(_._crypto_kdf_hkdf_sha256_statebytes=te.id)(),_._crypto_kdf_hkdf_sha512_extract_init=(oe,ge,Le)=>(_._crypto_kdf_hkdf_sha512_extract_init=te.jd)(oe,ge,Le),_._crypto_kdf_hkdf_sha512_extract_update=(oe,ge,Le)=>(_._crypto_kdf_hkdf_sha512_extract_update=te.kd)(oe,ge,Le),_._crypto_kdf_hkdf_sha512_extract_final=(oe,ge)=>(_._crypto_kdf_hkdf_sha512_extract_final=te.ld)(oe,ge),_._crypto_kdf_hkdf_sha512_extract=(oe,ge,Le,V,Qe)=>(_._crypto_kdf_hkdf_sha512_extract=te.md)(oe,ge,Le,V,Qe),_._crypto_kdf_hkdf_sha512_keygen=oe=>(_._crypto_kdf_hkdf_sha512_keygen=te.nd)(oe),_._crypto_kdf_hkdf_sha512_expand=(oe,ge,Le,V,Qe)=>(_._crypto_kdf_hkdf_sha512_expand=te.od)(oe,ge,Le,V,Qe),_._crypto_kdf_hkdf_sha512_keybytes=()=>(_._crypto_kdf_hkdf_sha512_keybytes=te.pd)(),_._crypto_kdf_hkdf_sha512_bytes_min=()=>(_._crypto_kdf_hkdf_sha512_bytes_min=te.qd)(),_._crypto_kdf_hkdf_sha512_bytes_max=()=>(_._crypto_kdf_hkdf_sha512_bytes_max=te.rd)(),_._crypto_kdf_hkdf_sha512_statebytes=()=>(_._crypto_kdf_hkdf_sha512_statebytes=te.sd)(),_._crypto_kx_seed_keypair=(oe,ge,Le)=>(_._crypto_kx_seed_keypair=te.td)(oe,ge,Le),_._crypto_kx_keypair=(oe,ge)=>(_._crypto_kx_keypair=te.ud)(oe,ge),_._crypto_kx_client_session_keys=(oe,ge,Le,V,Qe)=>(_._crypto_kx_client_session_keys=te.vd)(oe,ge,Le,V,Qe),_._crypto_kx_server_session_keys=(oe,ge,Le,V,Qe)=>(_._crypto_kx_server_session_keys=te.wd)(oe,ge,Le,V,Qe),_._crypto_kx_publickeybytes=()=>(_._crypto_kx_publickeybytes=te.xd)(),_._crypto_kx_secretkeybytes=()=>(_._crypto_kx_secretkeybytes=te.yd)(),_._crypto_kx_seedbytes=()=>(_._crypto_kx_seedbytes=te.zd)(),_._crypto_kx_sessionkeybytes=()=>(_._crypto_kx_sessionkeybytes=te.Ad)(),_._crypto_kx_primitive=()=>(_._crypto_kx_primitive=te.Bd)(),_._crypto_onetimeauth_statebytes=()=>(_._crypto_onetimeauth_statebytes=te.Cd)(),_._crypto_onetimeauth_bytes=()=>(_._crypto_onetimeauth_bytes=te.Dd)(),_._crypto_onetimeauth_keybytes=()=>(_._crypto_onetimeauth_keybytes=te.Ed)(),_._crypto_onetimeauth=(oe,ge,Le,V,Qe)=>(_._crypto_onetimeauth=te.Fd)(oe,ge,Le,V,Qe),_._crypto_onetimeauth_verify=(oe,ge,Le,V,Qe)=>(_._crypto_onetimeauth_verify=te.Gd)(oe,ge,Le,V,Qe),_._crypto_onetimeauth_init=(oe,ge)=>(_._crypto_onetimeauth_init=te.Hd)(oe,ge),_._crypto_onetimeauth_update=(oe,ge,Le,V)=>(_._crypto_onetimeauth_update=te.Id)(oe,ge,Le,V),_._crypto_onetimeauth_final=(oe,ge)=>(_._crypto_onetimeauth_final=te.Jd)(oe,ge),_._crypto_onetimeauth_primitive=()=>(_._crypto_onetimeauth_primitive=te.Kd)(),_._crypto_onetimeauth_keygen=oe=>(_._crypto_onetimeauth_keygen=te.Ld)(oe),_._crypto_onetimeauth_poly1305=(oe,ge,Le,V,Qe)=>(_._crypto_onetimeauth_poly1305=te.Md)(oe,ge,Le,V,Qe),_._crypto_onetimeauth_poly1305_verify=(oe,ge,Le,V,Qe)=>(_._crypto_onetimeauth_poly1305_verify=te.Nd)(oe,ge,Le,V,Qe),_._crypto_onetimeauth_poly1305_init=(oe,ge)=>(_._crypto_onetimeauth_poly1305_init=te.Od)(oe,ge),_._crypto_onetimeauth_poly1305_update=(oe,ge,Le,V)=>(_._crypto_onetimeauth_poly1305_update=te.Pd)(oe,ge,Le,V),_._crypto_onetimeauth_poly1305_final=(oe,ge)=>(_._crypto_onetimeauth_poly1305_final=te.Qd)(oe,ge),_._crypto_onetimeauth_poly1305_bytes=()=>(_._crypto_onetimeauth_poly1305_bytes=te.Rd)(),_._crypto_onetimeauth_poly1305_keybytes=()=>(_._crypto_onetimeauth_poly1305_keybytes=te.Sd)(),_._crypto_onetimeauth_poly1305_statebytes=()=>(_._crypto_onetimeauth_poly1305_statebytes=te.Td)(),_._crypto_onetimeauth_poly1305_keygen=oe=>(_._crypto_onetimeauth_poly1305_keygen=te.Ud)(oe),_._crypto_pwhash_argon2i_alg_argon2i13=()=>(_._crypto_pwhash_argon2i_alg_argon2i13=te.Vd)(),_._crypto_pwhash_argon2i_bytes_min=()=>(_._crypto_pwhash_argon2i_bytes_min=te.Wd)(),_._crypto_pwhash_argon2i_bytes_max=()=>(_._crypto_pwhash_argon2i_bytes_max=te.Xd)(),_._crypto_pwhash_argon2i_passwd_min=()=>(_._crypto_pwhash_argon2i_passwd_min=te.Yd)(),_._crypto_pwhash_argon2i_passwd_max=()=>(_._crypto_pwhash_argon2i_passwd_max=te.Zd)(),_._crypto_pwhash_argon2i_saltbytes=()=>(_._crypto_pwhash_argon2i_saltbytes=te._d)(),_._crypto_pwhash_argon2i_strbytes=()=>(_._crypto_pwhash_argon2i_strbytes=te.$d)(),_._crypto_pwhash_argon2i_strprefix=()=>(_._crypto_pwhash_argon2i_strprefix=te.ae)(),_._crypto_pwhash_argon2i_opslimit_min=()=>(_._crypto_pwhash_argon2i_opslimit_min=te.be)(),_._crypto_pwhash_argon2i_opslimit_max=()=>(_._crypto_pwhash_argon2i_opslimit_max=te.ce)(),_._crypto_pwhash_argon2i_memlimit_min=()=>(_._crypto_pwhash_argon2i_memlimit_min=te.de)(),_._crypto_pwhash_argon2i_memlimit_max=()=>(_._crypto_pwhash_argon2i_memlimit_max=te.ee)(),_._crypto_pwhash_argon2i_opslimit_interactive=()=>(_._crypto_pwhash_argon2i_opslimit_interactive=te.fe)(),_._crypto_pwhash_argon2i_memlimit_interactive=()=>(_._crypto_pwhash_argon2i_memlimit_interactive=te.ge)(),_._crypto_pwhash_argon2i_opslimit_moderate=()=>(_._crypto_pwhash_argon2i_opslimit_moderate=te.he)(),_._crypto_pwhash_argon2i_memlimit_moderate=()=>(_._crypto_pwhash_argon2i_memlimit_moderate=te.ie)(),_._crypto_pwhash_argon2i_opslimit_sensitive=()=>(_._crypto_pwhash_argon2i_opslimit_sensitive=te.je)(),_._crypto_pwhash_argon2i_memlimit_sensitive=()=>(_._crypto_pwhash_argon2i_memlimit_sensitive=te.ke)(),_._crypto_pwhash_argon2i=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_pwhash_argon2i=te.le)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_pwhash_argon2i_str=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_pwhash_argon2i_str=te.me)(oe,ge,Le,V,Qe,_t,rt),_._crypto_pwhash_argon2i_str_verify=(oe,ge,Le,V)=>(_._crypto_pwhash_argon2i_str_verify=te.ne)(oe,ge,Le,V),_._crypto_pwhash_argon2i_str_needs_rehash=(oe,ge,Le,V)=>(_._crypto_pwhash_argon2i_str_needs_rehash=te.oe)(oe,ge,Le,V),_._crypto_pwhash_argon2id_str_needs_rehash=(oe,ge,Le,V)=>(_._crypto_pwhash_argon2id_str_needs_rehash=te.pe)(oe,ge,Le,V),_._crypto_pwhash_argon2id_alg_argon2id13=()=>(_._crypto_pwhash_argon2id_alg_argon2id13=te.qe)(),_._crypto_pwhash_argon2id_bytes_min=()=>(_._crypto_pwhash_argon2id_bytes_min=te.re)(),_._crypto_pwhash_argon2id_bytes_max=()=>(_._crypto_pwhash_argon2id_bytes_max=te.se)(),_._crypto_pwhash_argon2id_passwd_min=()=>(_._crypto_pwhash_argon2id_passwd_min=te.te)(),_._crypto_pwhash_argon2id_passwd_max=()=>(_._crypto_pwhash_argon2id_passwd_max=te.ue)(),_._crypto_pwhash_argon2id_saltbytes=()=>(_._crypto_pwhash_argon2id_saltbytes=te.ve)(),_._crypto_pwhash_argon2id_strbytes=()=>(_._crypto_pwhash_argon2id_strbytes=te.we)(),_._crypto_pwhash_argon2id_strprefix=()=>(_._crypto_pwhash_argon2id_strprefix=te.xe)(),_._crypto_pwhash_argon2id_opslimit_min=()=>(_._crypto_pwhash_argon2id_opslimit_min=te.ye)(),_._crypto_pwhash_argon2id_opslimit_max=()=>(_._crypto_pwhash_argon2id_opslimit_max=te.ze)(),_._crypto_pwhash_argon2id_memlimit_min=()=>(_._crypto_pwhash_argon2id_memlimit_min=te.Ae)(),_._crypto_pwhash_argon2id_memlimit_max=()=>(_._crypto_pwhash_argon2id_memlimit_max=te.Be)(),_._crypto_pwhash_argon2id_opslimit_interactive=()=>(_._crypto_pwhash_argon2id_opslimit_interactive=te.Ce)(),_._crypto_pwhash_argon2id_memlimit_interactive=()=>(_._crypto_pwhash_argon2id_memlimit_interactive=te.De)(),_._crypto_pwhash_argon2id_opslimit_moderate=()=>(_._crypto_pwhash_argon2id_opslimit_moderate=te.Ee)(),_._crypto_pwhash_argon2id_memlimit_moderate=()=>(_._crypto_pwhash_argon2id_memlimit_moderate=te.Fe)(),_._crypto_pwhash_argon2id_opslimit_sensitive=()=>(_._crypto_pwhash_argon2id_opslimit_sensitive=te.Ge)(),_._crypto_pwhash_argon2id_memlimit_sensitive=()=>(_._crypto_pwhash_argon2id_memlimit_sensitive=te.He)(),_._crypto_pwhash_argon2id=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_pwhash_argon2id=te.Ie)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_pwhash_argon2id_str=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_pwhash_argon2id_str=te.Je)(oe,ge,Le,V,Qe,_t,rt),_._crypto_pwhash_argon2id_str_verify=(oe,ge,Le,V)=>(_._crypto_pwhash_argon2id_str_verify=te.Ke)(oe,ge,Le,V),_._crypto_pwhash_alg_argon2i13=()=>(_._crypto_pwhash_alg_argon2i13=te.Le)(),_._crypto_pwhash_alg_argon2id13=()=>(_._crypto_pwhash_alg_argon2id13=te.Me)(),_._crypto_pwhash_alg_default=()=>(_._crypto_pwhash_alg_default=te.Ne)(),_._crypto_pwhash_bytes_min=()=>(_._crypto_pwhash_bytes_min=te.Oe)(),_._crypto_pwhash_bytes_max=()=>(_._crypto_pwhash_bytes_max=te.Pe)(),_._crypto_pwhash_passwd_min=()=>(_._crypto_pwhash_passwd_min=te.Qe)(),_._crypto_pwhash_passwd_max=()=>(_._crypto_pwhash_passwd_max=te.Re)(),_._crypto_pwhash_saltbytes=()=>(_._crypto_pwhash_saltbytes=te.Se)(),_._crypto_pwhash_strbytes=()=>(_._crypto_pwhash_strbytes=te.Te)(),_._crypto_pwhash_strprefix=()=>(_._crypto_pwhash_strprefix=te.Ue)(),_._crypto_pwhash_opslimit_min=()=>(_._crypto_pwhash_opslimit_min=te.Ve)(),_._crypto_pwhash_opslimit_max=()=>(_._crypto_pwhash_opslimit_max=te.We)(),_._crypto_pwhash_memlimit_min=()=>(_._crypto_pwhash_memlimit_min=te.Xe)(),_._crypto_pwhash_memlimit_max=()=>(_._crypto_pwhash_memlimit_max=te.Ye)(),_._crypto_pwhash_opslimit_interactive=()=>(_._crypto_pwhash_opslimit_interactive=te.Ze)(),_._crypto_pwhash_memlimit_interactive=()=>(_._crypto_pwhash_memlimit_interactive=te._e)(),_._crypto_pwhash_opslimit_moderate=()=>(_._crypto_pwhash_opslimit_moderate=te.$e)(),_._crypto_pwhash_memlimit_moderate=()=>(_._crypto_pwhash_memlimit_moderate=te.af)(),_._crypto_pwhash_opslimit_sensitive=()=>(_._crypto_pwhash_opslimit_sensitive=te.bf)(),_._crypto_pwhash_memlimit_sensitive=()=>(_._crypto_pwhash_memlimit_sensitive=te.cf)(),_._crypto_pwhash=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht)=>(_._crypto_pwhash=te.df)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht),_._crypto_pwhash_str=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_pwhash_str=te.ef)(oe,ge,Le,V,Qe,_t,rt),_._crypto_pwhash_str_alg=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_pwhash_str_alg=te.ff)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_pwhash_str_verify=(oe,ge,Le,V)=>(_._crypto_pwhash_str_verify=te.gf)(oe,ge,Le,V),_._crypto_pwhash_str_needs_rehash=(oe,ge,Le,V)=>(_._crypto_pwhash_str_needs_rehash=te.hf)(oe,ge,Le,V),_._crypto_pwhash_primitive=()=>(_._crypto_pwhash_primitive=te.jf)(),_._crypto_scalarmult_primitive=()=>(_._crypto_scalarmult_primitive=te.kf)(),_._crypto_scalarmult_base=(oe,ge)=>(_._crypto_scalarmult_base=te.lf)(oe,ge),_._crypto_scalarmult=(oe,ge,Le)=>(_._crypto_scalarmult=te.mf)(oe,ge,Le),_._crypto_scalarmult_bytes=()=>(_._crypto_scalarmult_bytes=te.nf)(),_._crypto_scalarmult_scalarbytes=()=>(_._crypto_scalarmult_scalarbytes=te.of)(),_._crypto_scalarmult_curve25519=(oe,ge,Le)=>(_._crypto_scalarmult_curve25519=te.pf)(oe,ge,Le),_._crypto_scalarmult_curve25519_base=(oe,ge)=>(_._crypto_scalarmult_curve25519_base=te.qf)(oe,ge),_._crypto_scalarmult_curve25519_bytes=()=>(_._crypto_scalarmult_curve25519_bytes=te.rf)(),_._crypto_scalarmult_curve25519_scalarbytes=()=>(_._crypto_scalarmult_curve25519_scalarbytes=te.sf)(),_._crypto_secretbox_keybytes=()=>(_._crypto_secretbox_keybytes=te.tf)(),_._crypto_secretbox_noncebytes=()=>(_._crypto_secretbox_noncebytes=te.uf)(),_._crypto_secretbox_zerobytes=()=>(_._crypto_secretbox_zerobytes=te.vf)(),_._crypto_secretbox_boxzerobytes=()=>(_._crypto_secretbox_boxzerobytes=te.wf)(),_._crypto_secretbox_macbytes=()=>(_._crypto_secretbox_macbytes=te.xf)(),_._crypto_secretbox_messagebytes_max=()=>(_._crypto_secretbox_messagebytes_max=te.yf)(),_._crypto_secretbox_primitive=()=>(_._crypto_secretbox_primitive=te.zf)(),_._crypto_secretbox=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox=te.Af)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_open=te.Bf)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_keygen=oe=>(_._crypto_secretbox_keygen=te.Cf)(oe),_._crypto_secretbox_detached=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_secretbox_detached=te.Df)(oe,ge,Le,V,Qe,_t,rt),_._crypto_secretbox_easy=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_easy=te.Ef)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_open_detached=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_secretbox_open_detached=te.Ff)(oe,ge,Le,V,Qe,_t,rt),_._crypto_secretbox_open_easy=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_open_easy=te.Gf)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_xsalsa20poly1305=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_xsalsa20poly1305=te.Hf)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_xsalsa20poly1305_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_xsalsa20poly1305_open=te.If)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_xsalsa20poly1305_keybytes=()=>(_._crypto_secretbox_xsalsa20poly1305_keybytes=te.Jf)(),_._crypto_secretbox_xsalsa20poly1305_noncebytes=()=>(_._crypto_secretbox_xsalsa20poly1305_noncebytes=te.Kf)(),_._crypto_secretbox_xsalsa20poly1305_zerobytes=()=>(_._crypto_secretbox_xsalsa20poly1305_zerobytes=te.Lf)(),_._crypto_secretbox_xsalsa20poly1305_boxzerobytes=()=>(_._crypto_secretbox_xsalsa20poly1305_boxzerobytes=te.Mf)(),_._crypto_secretbox_xsalsa20poly1305_macbytes=()=>(_._crypto_secretbox_xsalsa20poly1305_macbytes=te.Nf)(),_._crypto_secretbox_xsalsa20poly1305_messagebytes_max=()=>(_._crypto_secretbox_xsalsa20poly1305_messagebytes_max=te.Of)(),_._crypto_secretbox_xsalsa20poly1305_keygen=oe=>(_._crypto_secretbox_xsalsa20poly1305_keygen=te.Pf)(oe),_._crypto_secretstream_xchacha20poly1305_keygen=oe=>(_._crypto_secretstream_xchacha20poly1305_keygen=te.Qf)(oe),_._crypto_secretstream_xchacha20poly1305_init_push=(oe,ge,Le)=>(_._crypto_secretstream_xchacha20poly1305_init_push=te.Rf)(oe,ge,Le),_._crypto_secretstream_xchacha20poly1305_init_pull=(oe,ge,Le)=>(_._crypto_secretstream_xchacha20poly1305_init_pull=te.Sf)(oe,ge,Le),_._crypto_secretstream_xchacha20poly1305_rekey=oe=>(_._crypto_secretstream_xchacha20poly1305_rekey=te.Tf)(oe),_._crypto_secretstream_xchacha20poly1305_push=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt)=>(_._crypto_secretstream_xchacha20poly1305_push=te.Uf)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt),_._crypto_secretstream_xchacha20poly1305_pull=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt)=>(_._crypto_secretstream_xchacha20poly1305_pull=te.Vf)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt),_._crypto_secretstream_xchacha20poly1305_statebytes=()=>(_._crypto_secretstream_xchacha20poly1305_statebytes=te.Wf)(),_._crypto_secretstream_xchacha20poly1305_abytes=()=>(_._crypto_secretstream_xchacha20poly1305_abytes=te.Xf)(),_._crypto_secretstream_xchacha20poly1305_headerbytes=()=>(_._crypto_secretstream_xchacha20poly1305_headerbytes=te.Yf)(),_._crypto_secretstream_xchacha20poly1305_keybytes=()=>(_._crypto_secretstream_xchacha20poly1305_keybytes=te.Zf)(),_._crypto_secretstream_xchacha20poly1305_messagebytes_max=()=>(_._crypto_secretstream_xchacha20poly1305_messagebytes_max=te._f)(),_._crypto_secretstream_xchacha20poly1305_tag_message=()=>(_._crypto_secretstream_xchacha20poly1305_tag_message=te.$f)(),_._crypto_secretstream_xchacha20poly1305_tag_push=()=>(_._crypto_secretstream_xchacha20poly1305_tag_push=te.ag)(),_._crypto_secretstream_xchacha20poly1305_tag_rekey=()=>(_._crypto_secretstream_xchacha20poly1305_tag_rekey=te.bg)(),_._crypto_secretstream_xchacha20poly1305_tag_final=()=>(_._crypto_secretstream_xchacha20poly1305_tag_final=te.cg)(),_._crypto_shorthash_bytes=()=>(_._crypto_shorthash_bytes=te.dg)(),_._crypto_shorthash_keybytes=()=>(_._crypto_shorthash_keybytes=te.eg)(),_._crypto_shorthash_primitive=()=>(_._crypto_shorthash_primitive=te.fg)(),_._crypto_shorthash=(oe,ge,Le,V,Qe)=>(_._crypto_shorthash=te.gg)(oe,ge,Le,V,Qe),_._crypto_shorthash_keygen=oe=>(_._crypto_shorthash_keygen=te.hg)(oe),_._crypto_shorthash_siphash24_bytes=()=>(_._crypto_shorthash_siphash24_bytes=te.ig)(),_._crypto_shorthash_siphash24_keybytes=()=>(_._crypto_shorthash_siphash24_keybytes=te.jg)(),_._crypto_shorthash_siphash24=(oe,ge,Le,V,Qe)=>(_._crypto_shorthash_siphash24=te.kg)(oe,ge,Le,V,Qe),_._crypto_sign_statebytes=()=>(_._crypto_sign_statebytes=te.lg)(),_._crypto_sign_bytes=()=>(_._crypto_sign_bytes=te.mg)(),_._crypto_sign_seedbytes=()=>(_._crypto_sign_seedbytes=te.ng)(),_._crypto_sign_publickeybytes=()=>(_._crypto_sign_publickeybytes=te.og)(),_._crypto_sign_secretkeybytes=()=>(_._crypto_sign_secretkeybytes=te.pg)(),_._crypto_sign_messagebytes_max=()=>(_._crypto_sign_messagebytes_max=te.qg)(),_._crypto_sign_primitive=()=>(_._crypto_sign_primitive=te.rg)(),_._crypto_sign_seed_keypair=(oe,ge,Le)=>(_._crypto_sign_seed_keypair=te.sg)(oe,ge,Le),_._crypto_sign_keypair=(oe,ge)=>(_._crypto_sign_keypair=te.tg)(oe,ge),_._crypto_sign=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign=te.ug)(oe,ge,Le,V,Qe,_t),_._crypto_sign_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign_open=te.vg)(oe,ge,Le,V,Qe,_t),_._crypto_sign_detached=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign_detached=te.wg)(oe,ge,Le,V,Qe,_t),_._crypto_sign_verify_detached=(oe,ge,Le,V,Qe)=>(_._crypto_sign_verify_detached=te.xg)(oe,ge,Le,V,Qe),_._crypto_sign_init=oe=>(_._crypto_sign_init=te.yg)(oe),_._crypto_sign_update=(oe,ge,Le,V)=>(_._crypto_sign_update=te.zg)(oe,ge,Le,V),_._crypto_sign_final_create=(oe,ge,Le,V)=>(_._crypto_sign_final_create=te.Ag)(oe,ge,Le,V),_._crypto_sign_final_verify=(oe,ge,Le)=>(_._crypto_sign_final_verify=te.Bg)(oe,ge,Le),_._crypto_sign_ed25519ph_statebytes=()=>(_._crypto_sign_ed25519ph_statebytes=te.Cg)(),_._crypto_sign_ed25519_bytes=()=>(_._crypto_sign_ed25519_bytes=te.Dg)(),_._crypto_sign_ed25519_seedbytes=()=>(_._crypto_sign_ed25519_seedbytes=te.Eg)(),_._crypto_sign_ed25519_publickeybytes=()=>(_._crypto_sign_ed25519_publickeybytes=te.Fg)(),_._crypto_sign_ed25519_secretkeybytes=()=>(_._crypto_sign_ed25519_secretkeybytes=te.Gg)(),_._crypto_sign_ed25519_messagebytes_max=()=>(_._crypto_sign_ed25519_messagebytes_max=te.Hg)(),_._crypto_sign_ed25519_sk_to_seed=(oe,ge)=>(_._crypto_sign_ed25519_sk_to_seed=te.Ig)(oe,ge),_._crypto_sign_ed25519_sk_to_pk=(oe,ge)=>(_._crypto_sign_ed25519_sk_to_pk=te.Jg)(oe,ge),_._crypto_sign_ed25519ph_init=oe=>(_._crypto_sign_ed25519ph_init=te.Kg)(oe),_._crypto_sign_ed25519ph_update=(oe,ge,Le,V)=>(_._crypto_sign_ed25519ph_update=te.Lg)(oe,ge,Le,V),_._crypto_sign_ed25519ph_final_create=(oe,ge,Le,V)=>(_._crypto_sign_ed25519ph_final_create=te.Mg)(oe,ge,Le,V),_._crypto_sign_ed25519ph_final_verify=(oe,ge,Le)=>(_._crypto_sign_ed25519ph_final_verify=te.Ng)(oe,ge,Le),_._crypto_sign_ed25519_seed_keypair=(oe,ge,Le)=>(_._crypto_sign_ed25519_seed_keypair=te.Og)(oe,ge,Le),_._crypto_sign_ed25519_keypair=(oe,ge)=>(_._crypto_sign_ed25519_keypair=te.Pg)(oe,ge),_._crypto_sign_ed25519_pk_to_curve25519=(oe,ge)=>(_._crypto_sign_ed25519_pk_to_curve25519=te.Qg)(oe,ge),_._crypto_sign_ed25519_sk_to_curve25519=(oe,ge)=>(_._crypto_sign_ed25519_sk_to_curve25519=te.Rg)(oe,ge),_._crypto_sign_ed25519_verify_detached=(oe,ge,Le,V,Qe)=>(_._crypto_sign_ed25519_verify_detached=te.Sg)(oe,ge,Le,V,Qe),_._crypto_sign_ed25519_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign_ed25519_open=te.Tg)(oe,ge,Le,V,Qe,_t),_._crypto_sign_ed25519_detached=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign_ed25519_detached=te.Ug)(oe,ge,Le,V,Qe,_t),_._crypto_sign_ed25519=(oe,ge,Le,V,Qe,_t)=>(_._crypto_sign_ed25519=te.Vg)(oe,ge,Le,V,Qe,_t),_._crypto_stream_chacha20_keybytes=()=>(_._crypto_stream_chacha20_keybytes=te.Wg)(),_._crypto_stream_chacha20_noncebytes=()=>(_._crypto_stream_chacha20_noncebytes=te.Xg)(),_._crypto_stream_chacha20_messagebytes_max=()=>(_._crypto_stream_chacha20_messagebytes_max=te.Yg)(),_._crypto_stream_chacha20_ietf_keybytes=()=>(_._crypto_stream_chacha20_ietf_keybytes=te.Zg)(),_._crypto_stream_chacha20_ietf_noncebytes=()=>(_._crypto_stream_chacha20_ietf_noncebytes=te._g)(),_._crypto_stream_chacha20_ietf_messagebytes_max=()=>(_._crypto_stream_chacha20_ietf_messagebytes_max=te.$g)(),_._crypto_stream_chacha20=(oe,ge,Le,V,Qe)=>(_._crypto_stream_chacha20=te.ah)(oe,ge,Le,V,Qe),_._crypto_stream_chacha20_xor_ic=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_stream_chacha20_xor_ic=te.bh)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_stream_chacha20_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_chacha20_xor=te.ch)(oe,ge,Le,V,Qe,_t),_._crypto_stream_chacha20_ietf=(oe,ge,Le,V,Qe)=>(_._crypto_stream_chacha20_ietf=te.dh)(oe,ge,Le,V,Qe),_._crypto_stream_chacha20_ietf_xor_ic=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_stream_chacha20_ietf_xor_ic=te.eh)(oe,ge,Le,V,Qe,_t,rt),_._crypto_stream_chacha20_ietf_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_chacha20_ietf_xor=te.fh)(oe,ge,Le,V,Qe,_t),_._crypto_stream_chacha20_ietf_keygen=oe=>(_._crypto_stream_chacha20_ietf_keygen=te.gh)(oe),_._crypto_stream_chacha20_keygen=oe=>(_._crypto_stream_chacha20_keygen=te.hh)(oe),_._crypto_stream_keybytes=()=>(_._crypto_stream_keybytes=te.ih)(),_._crypto_stream_noncebytes=()=>(_._crypto_stream_noncebytes=te.jh)(),_._crypto_stream_messagebytes_max=()=>(_._crypto_stream_messagebytes_max=te.kh)(),_._crypto_stream_primitive=()=>(_._crypto_stream_primitive=te.lh)(),_._crypto_stream=(oe,ge,Le,V,Qe)=>(_._crypto_stream=te.mh)(oe,ge,Le,V,Qe),_._crypto_stream_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_xor=te.nh)(oe,ge,Le,V,Qe,_t),_._crypto_stream_keygen=oe=>(_._crypto_stream_keygen=te.oh)(oe),_._crypto_stream_salsa20_keybytes=()=>(_._crypto_stream_salsa20_keybytes=te.ph)(),_._crypto_stream_salsa20_noncebytes=()=>(_._crypto_stream_salsa20_noncebytes=te.qh)(),_._crypto_stream_salsa20_messagebytes_max=()=>(_._crypto_stream_salsa20_messagebytes_max=te.rh)(),_._crypto_stream_salsa20=(oe,ge,Le,V,Qe)=>(_._crypto_stream_salsa20=te.sh)(oe,ge,Le,V,Qe),_._crypto_stream_salsa20_xor_ic=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_stream_salsa20_xor_ic=te.th)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_stream_salsa20_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_salsa20_xor=te.uh)(oe,ge,Le,V,Qe,_t),_._crypto_stream_salsa20_keygen=oe=>(_._crypto_stream_salsa20_keygen=te.vh)(oe),_._crypto_stream_xsalsa20=(oe,ge,Le,V,Qe)=>(_._crypto_stream_xsalsa20=te.wh)(oe,ge,Le,V,Qe),_._crypto_stream_xsalsa20_xor_ic=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_stream_xsalsa20_xor_ic=te.xh)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_stream_xsalsa20_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_xsalsa20_xor=te.yh)(oe,ge,Le,V,Qe,_t),_._crypto_stream_xsalsa20_keybytes=()=>(_._crypto_stream_xsalsa20_keybytes=te.zh)(),_._crypto_stream_xsalsa20_noncebytes=()=>(_._crypto_stream_xsalsa20_noncebytes=te.Ah)(),_._crypto_stream_xsalsa20_messagebytes_max=()=>(_._crypto_stream_xsalsa20_messagebytes_max=te.Bh)(),_._crypto_stream_xsalsa20_keygen=oe=>(_._crypto_stream_xsalsa20_keygen=te.Ch)(oe),_._crypto_verify_16_bytes=()=>(_._crypto_verify_16_bytes=te.Dh)(),_._crypto_verify_32_bytes=()=>(_._crypto_verify_32_bytes=te.Eh)(),_._crypto_verify_64_bytes=()=>(_._crypto_verify_64_bytes=te.Fh)(),_._crypto_verify_16=(oe,ge)=>(_._crypto_verify_16=te.Gh)(oe,ge),_._crypto_verify_32=(oe,ge)=>(_._crypto_verify_32=te.Hh)(oe,ge),_._crypto_verify_64=(oe,ge)=>(_._crypto_verify_64=te.Ih)(oe,ge),_._randombytes_implementation_name=()=>(_._randombytes_implementation_name=te.Jh)(),_._randombytes_random=()=>(_._randombytes_random=te.Kh)(),_._randombytes_stir=()=>(_._randombytes_stir=te.Lh)(),_._randombytes_uniform=oe=>(_._randombytes_uniform=te.Mh)(oe),_._randombytes_buf=(oe,ge)=>(_._randombytes_buf=te.Nh)(oe,ge),_._randombytes_buf_deterministic=(oe,ge,Le)=>(_._randombytes_buf_deterministic=te.Oh)(oe,ge,Le),_._randombytes_seedbytes=()=>(_._randombytes_seedbytes=te.Ph)(),_._randombytes_close=()=>(_._randombytes_close=te.Qh)(),_._randombytes=(oe,ge,Le)=>(_._randombytes=te.Rh)(oe,ge,Le),_._sodium_bin2hex=(oe,ge,Le,V)=>(_._sodium_bin2hex=te.Sh)(oe,ge,Le,V),_._sodium_hex2bin=(oe,ge,Le,V,Qe,_t,rt)=>(_._sodium_hex2bin=te.Th)(oe,ge,Le,V,Qe,_t,rt),_._sodium_base64_encoded_len=(oe,ge)=>(_._sodium_base64_encoded_len=te.Uh)(oe,ge),_._sodium_bin2base64=(oe,ge,Le,V,Qe)=>(_._sodium_bin2base64=te.Vh)(oe,ge,Le,V,Qe),_._sodium_base642bin=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._sodium_base642bin=te.Wh)(oe,ge,Le,V,Qe,_t,rt,At),_._sodium_init=()=>(_._sodium_init=te.Xh)(),_._sodium_pad=(oe,ge,Le,V,Qe)=>(_._sodium_pad=te.Yh)(oe,ge,Le,V,Qe),_._sodium_unpad=(oe,ge,Le,V)=>(_._sodium_unpad=te.Zh)(oe,ge,Le,V),_._sodium_version_string=()=>(_._sodium_version_string=te._h)(),_._sodium_library_version_major=()=>(_._sodium_library_version_major=te.$h)(),_._sodium_library_version_minor=()=>(_._sodium_library_version_minor=te.ai)(),_._sodium_library_minimal=()=>(_._sodium_library_minimal=te.bi)(),_._crypto_box_curve25519xchacha20poly1305_seed_keypair=(oe,ge,Le)=>(_._crypto_box_curve25519xchacha20poly1305_seed_keypair=te.ci)(oe,ge,Le),_._crypto_box_curve25519xchacha20poly1305_keypair=(oe,ge)=>(_._crypto_box_curve25519xchacha20poly1305_keypair=te.di)(oe,ge),_._crypto_box_curve25519xchacha20poly1305_beforenm=(oe,ge,Le)=>(_._crypto_box_curve25519xchacha20poly1305_beforenm=te.ei)(oe,ge,Le),_._crypto_box_curve25519xchacha20poly1305_detached_afternm=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xchacha20poly1305_detached_afternm=te.fi)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xchacha20poly1305_detached=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_box_curve25519xchacha20poly1305_detached=te.gi)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_box_curve25519xchacha20poly1305_easy_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_curve25519xchacha20poly1305_easy_afternm=te.hi)(oe,ge,Le,V,Qe,_t),_._crypto_box_curve25519xchacha20poly1305_easy=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xchacha20poly1305_easy=te.ii)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xchacha20poly1305_open_detached_afternm=te.ji)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xchacha20poly1305_open_detached=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_box_curve25519xchacha20poly1305_open_detached=te.ki)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_curve25519xchacha20poly1305_open_easy_afternm=te.li)(oe,ge,Le,V,Qe,_t),_._crypto_box_curve25519xchacha20poly1305_open_easy=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_box_curve25519xchacha20poly1305_open_easy=te.mi)(oe,ge,Le,V,Qe,_t,rt),_._crypto_box_curve25519xchacha20poly1305_seedbytes=()=>(_._crypto_box_curve25519xchacha20poly1305_seedbytes=te.ni)(),_._crypto_box_curve25519xchacha20poly1305_publickeybytes=()=>(_._crypto_box_curve25519xchacha20poly1305_publickeybytes=te.oi)(),_._crypto_box_curve25519xchacha20poly1305_secretkeybytes=()=>(_._crypto_box_curve25519xchacha20poly1305_secretkeybytes=te.pi)(),_._crypto_box_curve25519xchacha20poly1305_beforenmbytes=()=>(_._crypto_box_curve25519xchacha20poly1305_beforenmbytes=te.qi)(),_._crypto_box_curve25519xchacha20poly1305_noncebytes=()=>(_._crypto_box_curve25519xchacha20poly1305_noncebytes=te.ri)(),_._crypto_box_curve25519xchacha20poly1305_macbytes=()=>(_._crypto_box_curve25519xchacha20poly1305_macbytes=te.si)(),_._crypto_box_curve25519xchacha20poly1305_messagebytes_max=()=>(_._crypto_box_curve25519xchacha20poly1305_messagebytes_max=te.ti)(),_._crypto_box_curve25519xchacha20poly1305_seal=(oe,ge,Le,V,Qe)=>(_._crypto_box_curve25519xchacha20poly1305_seal=te.ui)(oe,ge,Le,V,Qe),_._crypto_box_curve25519xchacha20poly1305_seal_open=(oe,ge,Le,V,Qe,_t)=>(_._crypto_box_curve25519xchacha20poly1305_seal_open=te.vi)(oe,ge,Le,V,Qe,_t),_._crypto_box_curve25519xchacha20poly1305_sealbytes=()=>(_._crypto_box_curve25519xchacha20poly1305_sealbytes=te.wi)(),_._crypto_core_ed25519_is_valid_point=oe=>(_._crypto_core_ed25519_is_valid_point=te.xi)(oe),_._crypto_core_ed25519_add=(oe,ge,Le)=>(_._crypto_core_ed25519_add=te.yi)(oe,ge,Le),_._crypto_core_ed25519_sub=(oe,ge,Le)=>(_._crypto_core_ed25519_sub=te.zi)(oe,ge,Le),_._crypto_core_ed25519_from_uniform=(oe,ge)=>(_._crypto_core_ed25519_from_uniform=te.Ai)(oe,ge),_._crypto_core_ed25519_random=oe=>(_._crypto_core_ed25519_random=te.Bi)(oe),_._crypto_core_ed25519_scalar_random=oe=>(_._crypto_core_ed25519_scalar_random=te.Ci)(oe),_._crypto_core_ed25519_scalar_invert=(oe,ge)=>(_._crypto_core_ed25519_scalar_invert=te.Di)(oe,ge),_._crypto_core_ed25519_scalar_negate=(oe,ge)=>(_._crypto_core_ed25519_scalar_negate=te.Ei)(oe,ge),_._crypto_core_ed25519_scalar_complement=(oe,ge)=>(_._crypto_core_ed25519_scalar_complement=te.Fi)(oe,ge),_._crypto_core_ed25519_scalar_add=(oe,ge,Le)=>(_._crypto_core_ed25519_scalar_add=te.Gi)(oe,ge,Le),_._crypto_core_ed25519_scalar_reduce=(oe,ge)=>(_._crypto_core_ed25519_scalar_reduce=te.Hi)(oe,ge),_._crypto_core_ed25519_scalar_sub=(oe,ge,Le)=>(_._crypto_core_ed25519_scalar_sub=te.Ii)(oe,ge,Le),_._crypto_core_ed25519_scalar_mul=(oe,ge,Le)=>(_._crypto_core_ed25519_scalar_mul=te.Ji)(oe,ge,Le),_._crypto_core_ed25519_bytes=()=>(_._crypto_core_ed25519_bytes=te.Ki)(),_._crypto_core_ed25519_nonreducedscalarbytes=()=>(_._crypto_core_ed25519_nonreducedscalarbytes=te.Li)(),_._crypto_core_ed25519_uniformbytes=()=>(_._crypto_core_ed25519_uniformbytes=te.Mi)(),_._crypto_core_ed25519_hashbytes=()=>(_._crypto_core_ed25519_hashbytes=te.Ni)(),_._crypto_core_ed25519_scalarbytes=()=>(_._crypto_core_ed25519_scalarbytes=te.Oi)(),_._crypto_core_ristretto255_is_valid_point=oe=>(_._crypto_core_ristretto255_is_valid_point=te.Pi)(oe),_._crypto_core_ristretto255_add=(oe,ge,Le)=>(_._crypto_core_ristretto255_add=te.Qi)(oe,ge,Le),_._crypto_core_ristretto255_sub=(oe,ge,Le)=>(_._crypto_core_ristretto255_sub=te.Ri)(oe,ge,Le),_._crypto_core_ristretto255_from_hash=(oe,ge)=>(_._crypto_core_ristretto255_from_hash=te.Si)(oe,ge),_._crypto_core_ristretto255_random=oe=>(_._crypto_core_ristretto255_random=te.Ti)(oe),_._crypto_core_ristretto255_scalar_random=oe=>(_._crypto_core_ristretto255_scalar_random=te.Ui)(oe),_._crypto_core_ristretto255_scalar_invert=(oe,ge)=>(_._crypto_core_ristretto255_scalar_invert=te.Vi)(oe,ge),_._crypto_core_ristretto255_scalar_negate=(oe,ge)=>(_._crypto_core_ristretto255_scalar_negate=te.Wi)(oe,ge),_._crypto_core_ristretto255_scalar_complement=(oe,ge)=>(_._crypto_core_ristretto255_scalar_complement=te.Xi)(oe,ge),_._crypto_core_ristretto255_scalar_add=(oe,ge,Le)=>(_._crypto_core_ristretto255_scalar_add=te.Yi)(oe,ge,Le),_._crypto_core_ristretto255_scalar_sub=(oe,ge,Le)=>(_._crypto_core_ristretto255_scalar_sub=te.Zi)(oe,ge,Le),_._crypto_core_ristretto255_scalar_mul=(oe,ge,Le)=>(_._crypto_core_ristretto255_scalar_mul=te._i)(oe,ge,Le),_._crypto_core_ristretto255_scalar_reduce=(oe,ge)=>(_._crypto_core_ristretto255_scalar_reduce=te.$i)(oe,ge),_._crypto_core_ristretto255_bytes=()=>(_._crypto_core_ristretto255_bytes=te.aj)(),_._crypto_core_ristretto255_nonreducedscalarbytes=()=>(_._crypto_core_ristretto255_nonreducedscalarbytes=te.bj)(),_._crypto_core_ristretto255_hashbytes=()=>(_._crypto_core_ristretto255_hashbytes=te.cj)(),_._crypto_core_ristretto255_scalarbytes=()=>(_._crypto_core_ristretto255_scalarbytes=te.dj)(),_._crypto_pwhash_scryptsalsa208sha256_ll=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt)=>(_._crypto_pwhash_scryptsalsa208sha256_ll=te.ej)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt),_._crypto_pwhash_scryptsalsa208sha256_bytes_min=()=>(_._crypto_pwhash_scryptsalsa208sha256_bytes_min=te.fj)(),_._crypto_pwhash_scryptsalsa208sha256_bytes_max=()=>(_._crypto_pwhash_scryptsalsa208sha256_bytes_max=te.gj)(),_._crypto_pwhash_scryptsalsa208sha256_passwd_min=()=>(_._crypto_pwhash_scryptsalsa208sha256_passwd_min=te.hj)(),_._crypto_pwhash_scryptsalsa208sha256_passwd_max=()=>(_._crypto_pwhash_scryptsalsa208sha256_passwd_max=te.ij)(),_._crypto_pwhash_scryptsalsa208sha256_saltbytes=()=>(_._crypto_pwhash_scryptsalsa208sha256_saltbytes=te.jj)(),_._crypto_pwhash_scryptsalsa208sha256_strbytes=()=>(_._crypto_pwhash_scryptsalsa208sha256_strbytes=te.kj)(),_._crypto_pwhash_scryptsalsa208sha256_strprefix=()=>(_._crypto_pwhash_scryptsalsa208sha256_strprefix=te.lj)(),_._crypto_pwhash_scryptsalsa208sha256_opslimit_min=()=>(_._crypto_pwhash_scryptsalsa208sha256_opslimit_min=te.mj)(),_._crypto_pwhash_scryptsalsa208sha256_opslimit_max=()=>(_._crypto_pwhash_scryptsalsa208sha256_opslimit_max=te.nj)(),_._crypto_pwhash_scryptsalsa208sha256_memlimit_min=()=>(_._crypto_pwhash_scryptsalsa208sha256_memlimit_min=te.oj)(),_._crypto_pwhash_scryptsalsa208sha256_memlimit_max=()=>(_._crypto_pwhash_scryptsalsa208sha256_memlimit_max=te.pj)(),_._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=()=>(_._crypto_pwhash_scryptsalsa208sha256_opslimit_interactive=te.qj)(),_._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=()=>(_._crypto_pwhash_scryptsalsa208sha256_memlimit_interactive=te.rj)(),_._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=()=>(_._crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive=te.sj)(),_._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=()=>(_._crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive=te.tj)(),_._crypto_pwhash_scryptsalsa208sha256=(oe,ge,Le,V,Qe,_t,rt,At,Er,mt)=>(_._crypto_pwhash_scryptsalsa208sha256=te.uj)(oe,ge,Le,V,Qe,_t,rt,At,Er,mt),_._crypto_pwhash_scryptsalsa208sha256_str=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_pwhash_scryptsalsa208sha256_str=te.vj)(oe,ge,Le,V,Qe,_t,rt),_._crypto_pwhash_scryptsalsa208sha256_str_verify=(oe,ge,Le,V)=>(_._crypto_pwhash_scryptsalsa208sha256_str_verify=te.wj)(oe,ge,Le,V),_._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=(oe,ge,Le,V)=>(_._crypto_pwhash_scryptsalsa208sha256_str_needs_rehash=te.xj)(oe,ge,Le,V),_._crypto_scalarmult_ed25519=(oe,ge,Le)=>(_._crypto_scalarmult_ed25519=te.yj)(oe,ge,Le),_._crypto_scalarmult_ed25519_noclamp=(oe,ge,Le)=>(_._crypto_scalarmult_ed25519_noclamp=te.zj)(oe,ge,Le),_._crypto_scalarmult_ed25519_base=(oe,ge)=>(_._crypto_scalarmult_ed25519_base=te.Aj)(oe,ge),_._crypto_scalarmult_ed25519_base_noclamp=(oe,ge)=>(_._crypto_scalarmult_ed25519_base_noclamp=te.Bj)(oe,ge),_._crypto_scalarmult_ed25519_bytes=()=>(_._crypto_scalarmult_ed25519_bytes=te.Cj)(),_._crypto_scalarmult_ed25519_scalarbytes=()=>(_._crypto_scalarmult_ed25519_scalarbytes=te.Dj)(),_._crypto_scalarmult_ristretto255=(oe,ge,Le)=>(_._crypto_scalarmult_ristretto255=te.Ej)(oe,ge,Le),_._crypto_scalarmult_ristretto255_base=(oe,ge)=>(_._crypto_scalarmult_ristretto255_base=te.Fj)(oe,ge),_._crypto_scalarmult_ristretto255_bytes=()=>(_._crypto_scalarmult_ristretto255_bytes=te.Gj)(),_._crypto_scalarmult_ristretto255_scalarbytes=()=>(_._crypto_scalarmult_ristretto255_scalarbytes=te.Hj)(),_._crypto_secretbox_xchacha20poly1305_detached=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_secretbox_xchacha20poly1305_detached=te.Ij)(oe,ge,Le,V,Qe,_t,rt),_._crypto_secretbox_xchacha20poly1305_easy=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_xchacha20poly1305_easy=te.Jj)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_xchacha20poly1305_open_detached=(oe,ge,Le,V,Qe,_t,rt)=>(_._crypto_secretbox_xchacha20poly1305_open_detached=te.Kj)(oe,ge,Le,V,Qe,_t,rt),_._crypto_secretbox_xchacha20poly1305_open_easy=(oe,ge,Le,V,Qe,_t)=>(_._crypto_secretbox_xchacha20poly1305_open_easy=te.Lj)(oe,ge,Le,V,Qe,_t),_._crypto_secretbox_xchacha20poly1305_keybytes=()=>(_._crypto_secretbox_xchacha20poly1305_keybytes=te.Mj)(),_._crypto_secretbox_xchacha20poly1305_noncebytes=()=>(_._crypto_secretbox_xchacha20poly1305_noncebytes=te.Nj)(),_._crypto_secretbox_xchacha20poly1305_macbytes=()=>(_._crypto_secretbox_xchacha20poly1305_macbytes=te.Oj)(),_._crypto_secretbox_xchacha20poly1305_messagebytes_max=()=>(_._crypto_secretbox_xchacha20poly1305_messagebytes_max=te.Pj)(),_._crypto_shorthash_siphashx24_bytes=()=>(_._crypto_shorthash_siphashx24_bytes=te.Qj)(),_._crypto_shorthash_siphashx24_keybytes=()=>(_._crypto_shorthash_siphashx24_keybytes=te.Rj)(),_._crypto_shorthash_siphashx24=(oe,ge,Le,V,Qe)=>(_._crypto_shorthash_siphashx24=te.Sj)(oe,ge,Le,V,Qe),_._crypto_stream_salsa2012=(oe,ge,Le,V,Qe)=>(_._crypto_stream_salsa2012=te.Tj)(oe,ge,Le,V,Qe),_._crypto_stream_salsa2012_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_salsa2012_xor=te.Uj)(oe,ge,Le,V,Qe,_t),_._crypto_stream_salsa2012_keybytes=()=>(_._crypto_stream_salsa2012_keybytes=te.Vj)(),_._crypto_stream_salsa2012_noncebytes=()=>(_._crypto_stream_salsa2012_noncebytes=te.Wj)(),_._crypto_stream_salsa2012_messagebytes_max=()=>(_._crypto_stream_salsa2012_messagebytes_max=te.Xj)(),_._crypto_stream_salsa2012_keygen=oe=>(_._crypto_stream_salsa2012_keygen=te.Yj)(oe),_._crypto_stream_salsa208=(oe,ge,Le,V,Qe)=>(_._crypto_stream_salsa208=te.Zj)(oe,ge,Le,V,Qe),_._crypto_stream_salsa208_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_salsa208_xor=te._j)(oe,ge,Le,V,Qe,_t),_._crypto_stream_salsa208_keybytes=()=>(_._crypto_stream_salsa208_keybytes=te.$j)(),_._crypto_stream_salsa208_noncebytes=()=>(_._crypto_stream_salsa208_noncebytes=te.ak)(),_._crypto_stream_salsa208_messagebytes_max=()=>(_._crypto_stream_salsa208_messagebytes_max=te.bk)(),_._crypto_stream_salsa208_keygen=oe=>(_._crypto_stream_salsa208_keygen=te.ck)(oe),_._crypto_stream_xchacha20_keybytes=()=>(_._crypto_stream_xchacha20_keybytes=te.dk)(),_._crypto_stream_xchacha20_noncebytes=()=>(_._crypto_stream_xchacha20_noncebytes=te.ek)(),_._crypto_stream_xchacha20_messagebytes_max=()=>(_._crypto_stream_xchacha20_messagebytes_max=te.fk)(),_._crypto_stream_xchacha20=(oe,ge,Le,V,Qe)=>(_._crypto_stream_xchacha20=te.gk)(oe,ge,Le,V,Qe),_._crypto_stream_xchacha20_xor_ic=(oe,ge,Le,V,Qe,_t,rt,At)=>(_._crypto_stream_xchacha20_xor_ic=te.hk)(oe,ge,Le,V,Qe,_t,rt,At),_._crypto_stream_xchacha20_xor=(oe,ge,Le,V,Qe,_t)=>(_._crypto_stream_xchacha20_xor=te.ik)(oe,ge,Le,V,Qe,_t),_._crypto_stream_xchacha20_keygen=oe=>(_._crypto_stream_xchacha20_keygen=te.jk)(oe),_._malloc=oe=>(_._malloc=te.kk)(oe),_._free=oe=>(_._free=te.lk)(oe),_.setValue=function(oe,ge,Le="i8"){switch(Le.endsWith("*")&&(Le="*"),Le){case"i1":case"i8":ce[oe]=ge;break;case"i16":pe[oe>>1]=ge;break;case"i32":ae[oe>>2]=ge;break;case"i64":u("to do setValue(i64) use WASM_BIGINT");case"float":se[oe>>2]=ge;break;case"double":O[oe>>3]=ge;break;case"*":W[oe>>2]=ge;break;default:u(`invalid type for setValue: ${Le}`)}},_.getValue=function(oe,ge="i8"){switch(ge.endsWith("*")&&(ge="*"),ge){case"i1":case"i8":return ce[oe];case"i16":return pe[oe>>1];case"i32":return ae[oe>>2];case"i64":u("to do getValue(i64) use WASM_BIGINT");case"float":return se[oe>>2];case"double":return O[oe>>3];case"*":return W[oe>>2];default:u(`invalid type for getValue: ${ge}`)}},_.UTF8ToString=Re,R=function oe(){$e||Ue(),$e||(R=oe)},_.preInit)for(typeof _.preInit=="function"&&(_.preInit=[_.preInit]);_.preInit.length>0;)_.preInit.pop()();Ue()})).catch((function(){return o.useBackupModule()})),i}typeof define=="function"&&define.amd?define(["exports"],t):typeof dP=="object"&&typeof dP.nodeName!="string"?t(dP):e.libsodium=t(e.libsodium_mod||(e.commonJsStrict={}))})(dP)});var Oet=ir(lP=>{"use strict";J();K();z();(function(e){function t(i,n){"use strict";var o,d="uint8array",g=n.ready.then((function(){function Te(){if(o._sodium_init()!==0)throw new Error("libsodium was not correctly initialized.");for(var tt=["crypto_aead_aegis128l_decrypt","crypto_aead_aegis128l_decrypt_detached","crypto_aead_aegis128l_encrypt","crypto_aead_aegis128l_encrypt_detached","crypto_aead_aegis128l_keygen","crypto_aead_aegis256_decrypt","crypto_aead_aegis256_decrypt_detached","crypto_aead_aegis256_encrypt","crypto_aead_aegis256_encrypt_detached","crypto_aead_aegis256_keygen","crypto_aead_chacha20poly1305_decrypt","crypto_aead_chacha20poly1305_decrypt_detached","crypto_aead_chacha20poly1305_encrypt","crypto_aead_chacha20poly1305_encrypt_detached","crypto_aead_chacha20poly1305_ietf_decrypt","crypto_aead_chacha20poly1305_ietf_decrypt_detached","crypto_aead_chacha20poly1305_ietf_encrypt","crypto_aead_chacha20poly1305_ietf_encrypt_detached","crypto_aead_chacha20poly1305_ietf_keygen","crypto_aead_chacha20poly1305_keygen","crypto_aead_xchacha20poly1305_ietf_decrypt","crypto_aead_xchacha20poly1305_ietf_decrypt_detached","crypto_aead_xchacha20poly1305_ietf_encrypt","crypto_aead_xchacha20poly1305_ietf_encrypt_detached","crypto_aead_xchacha20poly1305_ietf_keygen","crypto_auth","crypto_auth_hmacsha256","crypto_auth_hmacsha256_final","crypto_auth_hmacsha256_init","crypto_auth_hmacsha256_keygen","crypto_auth_hmacsha256_update","crypto_auth_hmacsha256_verify","crypto_auth_hmacsha512","crypto_auth_hmacsha512256","crypto_auth_hmacsha512256_final","crypto_auth_hmacsha512256_init","crypto_auth_hmacsha512256_keygen","crypto_auth_hmacsha512256_update","crypto_auth_hmacsha512256_verify","crypto_auth_hmacsha512_final","crypto_auth_hmacsha512_init","crypto_auth_hmacsha512_keygen","crypto_auth_hmacsha512_update","crypto_auth_hmacsha512_verify","crypto_auth_keygen","crypto_auth_verify","crypto_box_beforenm","crypto_box_curve25519xchacha20poly1305_beforenm","crypto_box_curve25519xchacha20poly1305_detached","crypto_box_curve25519xchacha20poly1305_detached_afternm","crypto_box_curve25519xchacha20poly1305_easy","crypto_box_curve25519xchacha20poly1305_easy_afternm","crypto_box_curve25519xchacha20poly1305_keypair","crypto_box_curve25519xchacha20poly1305_open_detached","crypto_box_curve25519xchacha20poly1305_open_detached_afternm","crypto_box_curve25519xchacha20poly1305_open_easy","crypto_box_curve25519xchacha20poly1305_open_easy_afternm","crypto_box_curve25519xchacha20poly1305_seal","crypto_box_curve25519xchacha20poly1305_seal_open","crypto_box_curve25519xchacha20poly1305_seed_keypair","crypto_box_detached","crypto_box_easy","crypto_box_easy_afternm","crypto_box_keypair","crypto_box_open_detached","crypto_box_open_easy","crypto_box_open_easy_afternm","crypto_box_seal","crypto_box_seal_open","crypto_box_seed_keypair","crypto_core_ed25519_add","crypto_core_ed25519_from_hash","crypto_core_ed25519_from_uniform","crypto_core_ed25519_is_valid_point","crypto_core_ed25519_random","crypto_core_ed25519_scalar_add","crypto_core_ed25519_scalar_complement","crypto_core_ed25519_scalar_invert","crypto_core_ed25519_scalar_mul","crypto_core_ed25519_scalar_negate","crypto_core_ed25519_scalar_random","crypto_core_ed25519_scalar_reduce","crypto_core_ed25519_scalar_sub","crypto_core_ed25519_sub","crypto_core_hchacha20","crypto_core_hsalsa20","crypto_core_ristretto255_add","crypto_core_ristretto255_from_hash","crypto_core_ristretto255_is_valid_point","crypto_core_ristretto255_random","crypto_core_ristretto255_scalar_add","crypto_core_ristretto255_scalar_complement","crypto_core_ristretto255_scalar_invert","crypto_core_ristretto255_scalar_mul","crypto_core_ristretto255_scalar_negate","crypto_core_ristretto255_scalar_random","crypto_core_ristretto255_scalar_reduce","crypto_core_ristretto255_scalar_sub","crypto_core_ristretto255_sub","crypto_generichash","crypto_generichash_blake2b_salt_personal","crypto_generichash_final","crypto_generichash_init","crypto_generichash_keygen","crypto_generichash_update","crypto_hash","crypto_hash_sha256","crypto_hash_sha256_final","crypto_hash_sha256_init","crypto_hash_sha256_update","crypto_hash_sha512","crypto_hash_sha512_final","crypto_hash_sha512_init","crypto_hash_sha512_update","crypto_kdf_derive_from_key","crypto_kdf_keygen","crypto_kx_client_session_keys","crypto_kx_keypair","crypto_kx_seed_keypair","crypto_kx_server_session_keys","crypto_onetimeauth","crypto_onetimeauth_final","crypto_onetimeauth_init","crypto_onetimeauth_keygen","crypto_onetimeauth_update","crypto_onetimeauth_verify","crypto_pwhash","crypto_pwhash_scryptsalsa208sha256","crypto_pwhash_scryptsalsa208sha256_ll","crypto_pwhash_scryptsalsa208sha256_str","crypto_pwhash_scryptsalsa208sha256_str_verify","crypto_pwhash_str","crypto_pwhash_str_needs_rehash","crypto_pwhash_str_verify","crypto_scalarmult","crypto_scalarmult_base","crypto_scalarmult_ed25519","crypto_scalarmult_ed25519_base","crypto_scalarmult_ed25519_base_noclamp","crypto_scalarmult_ed25519_noclamp","crypto_scalarmult_ristretto255","crypto_scalarmult_ristretto255_base","crypto_secretbox_detached","crypto_secretbox_easy","crypto_secretbox_keygen","crypto_secretbox_open_detached","crypto_secretbox_open_easy","crypto_secretstream_xchacha20poly1305_init_pull","crypto_secretstream_xchacha20poly1305_init_push","crypto_secretstream_xchacha20poly1305_keygen","crypto_secretstream_xchacha20poly1305_pull","crypto_secretstream_xchacha20poly1305_push","crypto_secretstream_xchacha20poly1305_rekey","crypto_shorthash","crypto_shorthash_keygen","crypto_shorthash_siphashx24","crypto_sign","crypto_sign_detached","crypto_sign_ed25519_pk_to_curve25519","crypto_sign_ed25519_sk_to_curve25519","crypto_sign_ed25519_sk_to_pk","crypto_sign_ed25519_sk_to_seed","crypto_sign_final_create","crypto_sign_final_verify","crypto_sign_init","crypto_sign_keypair","crypto_sign_open","crypto_sign_seed_keypair","crypto_sign_update","crypto_sign_verify_detached","crypto_stream_chacha20","crypto_stream_chacha20_ietf_xor","crypto_stream_chacha20_ietf_xor_ic","crypto_stream_chacha20_keygen","crypto_stream_chacha20_xor","crypto_stream_chacha20_xor_ic","crypto_stream_keygen","crypto_stream_xchacha20_keygen","crypto_stream_xchacha20_xor","crypto_stream_xchacha20_xor_ic","randombytes_buf","randombytes_buf_deterministic","randombytes_close","randombytes_random","randombytes_set_implementation","randombytes_stir","randombytes_uniform","sodium_version_string"],vt=[se,O,s,l,A,m,E,w,x,R,u,C,U,F,X,Ae,he,$e,Ge,Re,Se,ct,ze,te,Ue,oe,ge,Le,V,Qe,_t,rt,At,Er,mt,Ht,zr,ve,ie,_e,Be,Ze,$t,at,zt,Hr,St,Yt,qr,tr,hr,Cn,er,pr,mn,Xt,dr,wn,Qt,fr,In,jt,ar,ht,Xe,et,ue,je,be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a,S,sn,Lr,Wr,ln,yt,ot,lt,gt,Ie,Zt,Ir,$,Qr,en,xr,Mi,oo,ho,Tr,jo,ka,wo,Fo,Ar,Pa,Hu,vs,Iu,Cu,wu,l0,Ed,vd,Et,XQ,ZQ,J5,z5,Ah,jQ,eH,I8,K5,tH,rH,nH,sM,iH,cM,uM,h0,oH,aH,sH,GS,dM,cH,uH,$5,fM,C8,Ll,Gu,Y5,lM,dv,hM,$2,qS,dH,fH,L0,Y2,AM,fv,Rd,w1,pM,lH,hH,W2,AH,My,gM,pH,gH,_M,X2,lv,mM,_H,mH,w8,yM,yH,Sd,bH,EH,vH,mc,un,RH,bM,vg,SH,yc,Z2],sr=0;sr<vt.length;sr++)typeof o["_"+tt[sr]]=="function"&&(i[tt[sr]]=vt[sr]);var mr=["SODIUM_LIBRARY_VERSION_MAJOR","SODIUM_LIBRARY_VERSION_MINOR","crypto_aead_aegis128l_ABYTES","crypto_aead_aegis128l_KEYBYTES","crypto_aead_aegis128l_MESSAGEBYTES_MAX","crypto_aead_aegis128l_NPUBBYTES","crypto_aead_aegis128l_NSECBYTES","crypto_aead_aegis256_ABYTES","crypto_aead_aegis256_KEYBYTES","crypto_aead_aegis256_MESSAGEBYTES_MAX","crypto_aead_aegis256_NPUBBYTES","crypto_aead_aegis256_NSECBYTES","crypto_aead_aes256gcm_ABYTES","crypto_aead_aes256gcm_KEYBYTES","crypto_aead_aes256gcm_MESSAGEBYTES_MAX","crypto_aead_aes256gcm_NPUBBYTES","crypto_aead_aes256gcm_NSECBYTES","crypto_aead_chacha20poly1305_ABYTES","crypto_aead_chacha20poly1305_IETF_ABYTES","crypto_aead_chacha20poly1305_IETF_KEYBYTES","crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_IETF_NPUBBYTES","crypto_aead_chacha20poly1305_IETF_NSECBYTES","crypto_aead_chacha20poly1305_KEYBYTES","crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_NPUBBYTES","crypto_aead_chacha20poly1305_NSECBYTES","crypto_aead_chacha20poly1305_ietf_ABYTES","crypto_aead_chacha20poly1305_ietf_KEYBYTES","crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_ietf_NPUBBYTES","crypto_aead_chacha20poly1305_ietf_NSECBYTES","crypto_aead_xchacha20poly1305_IETF_ABYTES","crypto_aead_xchacha20poly1305_IETF_KEYBYTES","crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_IETF_NPUBBYTES","crypto_aead_xchacha20poly1305_IETF_NSECBYTES","crypto_aead_xchacha20poly1305_ietf_ABYTES","crypto_aead_xchacha20poly1305_ietf_KEYBYTES","crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_ietf_NPUBBYTES","crypto_aead_xchacha20poly1305_ietf_NSECBYTES","crypto_auth_BYTES","crypto_auth_KEYBYTES","crypto_auth_hmacsha256_BYTES","crypto_auth_hmacsha256_KEYBYTES","crypto_auth_hmacsha512256_BYTES","crypto_auth_hmacsha512256_KEYBYTES","crypto_auth_hmacsha512_BYTES","crypto_auth_hmacsha512_KEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_MACBYTES","crypto_box_MESSAGEBYTES_MAX","crypto_box_NONCEBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SEALBYTES","crypto_box_SECRETKEYBYTES","crypto_box_SEEDBYTES","crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES","crypto_box_curve25519xchacha20poly1305_MACBYTES","crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xchacha20poly1305_NONCEBYTES","crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEALBYTES","crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEEDBYTES","crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES","crypto_box_curve25519xsalsa20poly1305_MACBYTES","crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xsalsa20poly1305_NONCEBYTES","crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SEEDBYTES","crypto_core_ed25519_BYTES","crypto_core_ed25519_HASHBYTES","crypto_core_ed25519_NONREDUCEDSCALARBYTES","crypto_core_ed25519_SCALARBYTES","crypto_core_ed25519_UNIFORMBYTES","crypto_core_hchacha20_CONSTBYTES","crypto_core_hchacha20_INPUTBYTES","crypto_core_hchacha20_KEYBYTES","crypto_core_hchacha20_OUTPUTBYTES","crypto_core_hsalsa20_CONSTBYTES","crypto_core_hsalsa20_INPUTBYTES","crypto_core_hsalsa20_KEYBYTES","crypto_core_hsalsa20_OUTPUTBYTES","crypto_core_ristretto255_BYTES","crypto_core_ristretto255_HASHBYTES","crypto_core_ristretto255_NONREDUCEDSCALARBYTES","crypto_core_ristretto255_SCALARBYTES","crypto_core_salsa2012_CONSTBYTES","crypto_core_salsa2012_INPUTBYTES","crypto_core_salsa2012_KEYBYTES","crypto_core_salsa2012_OUTPUTBYTES","crypto_core_salsa208_CONSTBYTES","crypto_core_salsa208_INPUTBYTES","crypto_core_salsa208_KEYBYTES","crypto_core_salsa208_OUTPUTBYTES","crypto_core_salsa20_CONSTBYTES","crypto_core_salsa20_INPUTBYTES","crypto_core_salsa20_KEYBYTES","crypto_core_salsa20_OUTPUTBYTES","crypto_generichash_BYTES","crypto_generichash_BYTES_MAX","crypto_generichash_BYTES_MIN","crypto_generichash_KEYBYTES","crypto_generichash_KEYBYTES_MAX","crypto_generichash_KEYBYTES_MIN","crypto_generichash_blake2b_BYTES","crypto_generichash_blake2b_BYTES_MAX","crypto_generichash_blake2b_BYTES_MIN","crypto_generichash_blake2b_KEYBYTES","crypto_generichash_blake2b_KEYBYTES_MAX","crypto_generichash_blake2b_KEYBYTES_MIN","crypto_generichash_blake2b_PERSONALBYTES","crypto_generichash_blake2b_SALTBYTES","crypto_hash_BYTES","crypto_hash_sha256_BYTES","crypto_hash_sha512_BYTES","crypto_kdf_BYTES_MAX","crypto_kdf_BYTES_MIN","crypto_kdf_CONTEXTBYTES","crypto_kdf_KEYBYTES","crypto_kdf_blake2b_BYTES_MAX","crypto_kdf_blake2b_BYTES_MIN","crypto_kdf_blake2b_CONTEXTBYTES","crypto_kdf_blake2b_KEYBYTES","crypto_kdf_hkdf_sha256_BYTES_MAX","crypto_kdf_hkdf_sha256_BYTES_MIN","crypto_kdf_hkdf_sha256_KEYBYTES","crypto_kdf_hkdf_sha512_BYTES_MAX","crypto_kdf_hkdf_sha512_BYTES_MIN","crypto_kdf_hkdf_sha512_KEYBYTES","crypto_kx_PUBLICKEYBYTES","crypto_kx_SECRETKEYBYTES","crypto_kx_SEEDBYTES","crypto_kx_SESSIONKEYBYTES","crypto_onetimeauth_BYTES","crypto_onetimeauth_KEYBYTES","crypto_onetimeauth_poly1305_BYTES","crypto_onetimeauth_poly1305_KEYBYTES","crypto_pwhash_ALG_ARGON2I13","crypto_pwhash_ALG_ARGON2ID13","crypto_pwhash_ALG_DEFAULT","crypto_pwhash_BYTES_MAX","crypto_pwhash_BYTES_MIN","crypto_pwhash_MEMLIMIT_INTERACTIVE","crypto_pwhash_MEMLIMIT_MAX","crypto_pwhash_MEMLIMIT_MIN","crypto_pwhash_MEMLIMIT_MODERATE","crypto_pwhash_MEMLIMIT_SENSITIVE","crypto_pwhash_OPSLIMIT_INTERACTIVE","crypto_pwhash_OPSLIMIT_MAX","crypto_pwhash_OPSLIMIT_MIN","crypto_pwhash_OPSLIMIT_MODERATE","crypto_pwhash_OPSLIMIT_SENSITIVE","crypto_pwhash_PASSWD_MAX","crypto_pwhash_PASSWD_MIN","crypto_pwhash_SALTBYTES","crypto_pwhash_STRBYTES","crypto_pwhash_argon2i_BYTES_MAX","crypto_pwhash_argon2i_BYTES_MIN","crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2i_MEMLIMIT_MAX","crypto_pwhash_argon2i_MEMLIMIT_MIN","crypto_pwhash_argon2i_MEMLIMIT_MODERATE","crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2i_OPSLIMIT_MAX","crypto_pwhash_argon2i_OPSLIMIT_MIN","crypto_pwhash_argon2i_OPSLIMIT_MODERATE","crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2i_PASSWD_MAX","crypto_pwhash_argon2i_PASSWD_MIN","crypto_pwhash_argon2i_SALTBYTES","crypto_pwhash_argon2i_STRBYTES","crypto_pwhash_argon2id_BYTES_MAX","crypto_pwhash_argon2id_BYTES_MIN","crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2id_MEMLIMIT_MAX","crypto_pwhash_argon2id_MEMLIMIT_MIN","crypto_pwhash_argon2id_MEMLIMIT_MODERATE","crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2id_OPSLIMIT_MAX","crypto_pwhash_argon2id_OPSLIMIT_MIN","crypto_pwhash_argon2id_OPSLIMIT_MODERATE","crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2id_PASSWD_MAX","crypto_pwhash_argon2id_PASSWD_MIN","crypto_pwhash_argon2id_SALTBYTES","crypto_pwhash_argon2id_STRBYTES","crypto_pwhash_scryptsalsa208sha256_BYTES_MAX","crypto_pwhash_scryptsalsa208sha256_BYTES_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX","crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN","crypto_pwhash_scryptsalsa208sha256_SALTBYTES","crypto_pwhash_scryptsalsa208sha256_STRBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_scalarmult_curve25519_BYTES","crypto_scalarmult_curve25519_SCALARBYTES","crypto_scalarmult_ed25519_BYTES","crypto_scalarmult_ed25519_SCALARBYTES","crypto_scalarmult_ristretto255_BYTES","crypto_scalarmult_ristretto255_SCALARBYTES","crypto_secretbox_KEYBYTES","crypto_secretbox_MACBYTES","crypto_secretbox_MESSAGEBYTES_MAX","crypto_secretbox_NONCEBYTES","crypto_secretbox_xchacha20poly1305_KEYBYTES","crypto_secretbox_xchacha20poly1305_MACBYTES","crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xchacha20poly1305_NONCEBYTES","crypto_secretbox_xsalsa20poly1305_KEYBYTES","crypto_secretbox_xsalsa20poly1305_MACBYTES","crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xsalsa20poly1305_NONCEBYTES","crypto_secretstream_xchacha20poly1305_ABYTES","crypto_secretstream_xchacha20poly1305_HEADERBYTES","crypto_secretstream_xchacha20poly1305_KEYBYTES","crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretstream_xchacha20poly1305_TAG_FINAL","crypto_secretstream_xchacha20poly1305_TAG_MESSAGE","crypto_secretstream_xchacha20poly1305_TAG_PUSH","crypto_secretstream_xchacha20poly1305_TAG_REKEY","crypto_shorthash_BYTES","crypto_shorthash_KEYBYTES","crypto_shorthash_siphash24_BYTES","crypto_shorthash_siphash24_KEYBYTES","crypto_shorthash_siphashx24_BYTES","crypto_shorthash_siphashx24_KEYBYTES","crypto_sign_BYTES","crypto_sign_MESSAGEBYTES_MAX","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","crypto_sign_SEEDBYTES","crypto_sign_ed25519_BYTES","crypto_sign_ed25519_MESSAGEBYTES_MAX","crypto_sign_ed25519_PUBLICKEYBYTES","crypto_sign_ed25519_SECRETKEYBYTES","crypto_sign_ed25519_SEEDBYTES","crypto_stream_KEYBYTES","crypto_stream_MESSAGEBYTES_MAX","crypto_stream_NONCEBYTES","crypto_stream_chacha20_IETF_KEYBYTES","crypto_stream_chacha20_IETF_MESSAGEBYTES_MAX","crypto_stream_chacha20_IETF_NONCEBYTES","crypto_stream_chacha20_KEYBYTES","crypto_stream_chacha20_MESSAGEBYTES_MAX","crypto_stream_chacha20_NONCEBYTES","crypto_stream_chacha20_ietf_KEYBYTES","crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX","crypto_stream_chacha20_ietf_NONCEBYTES","crypto_stream_salsa2012_KEYBYTES","crypto_stream_salsa2012_MESSAGEBYTES_MAX","crypto_stream_salsa2012_NONCEBYTES","crypto_stream_salsa208_KEYBYTES","crypto_stream_salsa208_MESSAGEBYTES_MAX","crypto_stream_salsa208_NONCEBYTES","crypto_stream_salsa20_KEYBYTES","crypto_stream_salsa20_MESSAGEBYTES_MAX","crypto_stream_salsa20_NONCEBYTES","crypto_stream_xchacha20_KEYBYTES","crypto_stream_xchacha20_MESSAGEBYTES_MAX","crypto_stream_xchacha20_NONCEBYTES","crypto_stream_xsalsa20_KEYBYTES","crypto_stream_xsalsa20_MESSAGEBYTES_MAX","crypto_stream_xsalsa20_NONCEBYTES","crypto_verify_16_BYTES","crypto_verify_32_BYTES","crypto_verify_64_BYTES"];for(sr=0;sr<mr.length;sr++)typeof(Fr=o["_"+mr[sr].toLowerCase()])=="function"&&(i[mr[sr]]=Fr());var wr=["SODIUM_VERSION_STRING","crypto_pwhash_STRPREFIX","crypto_pwhash_argon2i_STRPREFIX","crypto_pwhash_argon2id_STRPREFIX","crypto_pwhash_scryptsalsa208sha256_STRPREFIX"];for(sr=0;sr<wr.length;sr++){var Fr;typeof(Fr=o["_"+wr[sr].toLowerCase()])=="function"&&(i[wr[sr]]=o.UTF8ToString(Fr()))}}o=n;try{Te();var Fe=new Uint8Array([98,97,108,108,115]),Pe=i.randombytes_buf(i.crypto_secretbox_NONCEBYTES),Oe=i.randombytes_buf(i.crypto_secretbox_KEYBYTES),He=i.crypto_secretbox_easy(Fe,Pe,Oe),st=i.crypto_secretbox_open_easy(He,Pe,Oe);if(i.memcmp(Fe,st))return}catch(tt){if(o.useBackupModule==null)throw new Error("Both wasm and asm failed to load"+tt)}o.useBackupModule(),Te()}));function y(Te){if(typeof TextEncoder=="function")return new TextEncoder().encode(Te);Te=unescape(encodeURIComponent(Te));for(var Fe=new Uint8Array(Te.length),Pe=0,Oe=Te.length;Pe<Oe;Pe++)Fe[Pe]=Te.charCodeAt(Pe);return Fe}function _(Te){if(typeof TextDecoder=="function")return new TextDecoder("utf-8",{fatal:!0}).decode(Te);var Fe=8192,Pe=Math.ceil(Te.length/Fe);if(Pe<=1)try{return decodeURIComponent(escape(String.fromCharCode.apply(null,Te)))}catch{throw new TypeError("The encoded data was not valid.")}for(var Oe="",He=0,st=0;st<Pe;st++){var tt=Array.prototype.slice.call(Te,st*Fe+He,(st+1)*Fe+He);if(tt.length!=0){var vt,sr=tt.length,mr=0;do{var wr=tt[--sr];wr>=240?(mr=4,vt=!0):wr>=224?(mr=3,vt=!0):wr>=192?(mr=2,vt=!0):wr<128&&(mr=1,vt=!0)}while(!vt);for(var Fr=mr-(tt.length-sr),Vr=0;Vr<Fr;Vr++)He--,tt.pop();Oe+=_(tt)}}return Oe}function I(Te){Te=W(null,Te,"input");for(var Fe,Pe,Oe,He="",st=0;st<Te.length;st++)Oe=87+(Pe=15&Te[st])+(Pe-10>>8&-39)<<8|87+(Fe=Te[st]>>>4)+(Fe-10>>8&-39),He+=String.fromCharCode(255&Oe)+String.fromCharCode(Oe>>>8);return He}var N={ORIGINAL:1,ORIGINAL_NO_PADDING:3,URLSAFE:5,URLSAFE_NO_PADDING:7};function T(Te){if(Te==null)return N.URLSAFE_NO_PADDING;if(Te!==N.ORIGINAL&&Te!==N.ORIGINAL_NO_PADDING&&Te!==N.URLSAFE&&Te!=N.URLSAFE_NO_PADDING)throw new Error("unsupported base64 variant");return Te}function M(Te,Fe){Fe=T(Fe),Te=W(Oe,Te,"input");var Pe,Oe=[],He=0|Math.floor(Te.length/3),st=Te.length-3*He,tt=4*He+(st!==0?2&Fe?2+(st>>>1):4:0),vt=new q(tt+1),sr=Y(Te);return Oe.push(sr),Oe.push(vt.address),o._sodium_bin2base64(vt.address,vt.length,sr,Te.length,Fe)===0&&le(Oe,"conversion failed"),vt.length=tt,Pe=_(vt.to_Uint8Array()),ce(Oe),Pe}function D(Te,Fe){var Pe=Fe||d;if(!P(Pe))throw new Error(Pe+" output format is not available");if(Te instanceof q){if(Pe==="uint8array")return Te.to_Uint8Array();if(Pe==="text")return _(Te.to_Uint8Array());if(Pe==="hex")return I(Te.to_Uint8Array());if(Pe==="base64")return M(Te.to_Uint8Array(),N.URLSAFE_NO_PADDING);throw new Error('What is output format "'+Pe+'"?')}if(typeof Te=="object"){for(var Oe=Object.keys(Te),He={},st=0;st<Oe.length;st++)He[Oe[st]]=D(Te[Oe[st]],Pe);return He}if(typeof Te=="string")return Te;throw new TypeError("Cannot format output")}function P(Te){for(var Fe=["uint8array","text","hex","base64"],Pe=0;Pe<Fe.length;Pe++)if(Fe[Pe]===Te)return!0;return!1}function G(Te){if(Te){if(typeof Te!="string")throw new TypeError("When defined, the output format must be a string");if(!P(Te))throw new Error(Te+" is not a supported output format")}}function q(Te){this.length=Te,this.address=ne(Te)}function Y(Te){var Fe=ne(Te.length);return o.HEAPU8.set(Te,Fe),Fe}function ne(Te){var Fe=o._malloc(Te);if(Fe===0)throw{message:"_malloc() failed",length:Te};return Fe}function ce(Te){if(Te)for(var Fe=0;Fe<Te.length;Fe++)Pe=Te[Fe],o._free(Pe);var Pe}function le(Te,Fe){throw ce(Te),new Error(Fe)}function pe(Te,Fe){throw ce(Te),new TypeError(Fe)}function ae(Te,Fe,Pe){Fe==null&&pe(Te,Pe+" cannot be null or undefined")}function W(Te,Fe,Pe){return ae(Te,Fe,Pe),Fe instanceof Uint8Array?Fe:typeof Fe=="string"?y(Fe):void pe(Te,"unsupported input type for "+Pe)}function se(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=null;Te!=null&&(vt=Y(Te=W(tt,Te,"secret_nonce")),Te.length,tt.push(vt)),Fe=W(tt,Fe,"ciphertext");var sr,mr=o._crypto_aead_aegis128l_abytes(),wr=Fe.length;wr<mr&&pe(tt,"ciphertext is too short"),sr=Y(Fe),tt.push(sr);var Fr=null,Vr=0;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"additional_data")),Vr=Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var on,On=0|o._crypto_aead_aegis128l_npubbytes();Oe.length!==On&&pe(tt,"invalid public_nonce length"),on=Y(Oe),tt.push(on),He=W(tt,He,"key");var Qn,bi=0|o._crypto_aead_aegis128l_keybytes();He.length!==bi&&pe(tt,"invalid key length"),Qn=Y(He),tt.push(Qn);var ci=new q(wr-o._crypto_aead_aegis128l_abytes()|0),qi=ci.address;if(tt.push(qi),o._crypto_aead_aegis128l_decrypt(qi,null,vt,sr,wr,0,Fr,Vr,0,on,Qn)===0){var ea=D(ci,st);return ce(tt),ea}le(tt,"ciphertext cannot be decrypted using that key")}function O(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=null;Te!=null&&(sr=Y(Te=W(vt,Te,"secret_nonce")),Te.length,vt.push(sr));var mr=Y(Fe=W(vt,Fe,"ciphertext")),wr=Fe.length;vt.push(mr),Pe=W(vt,Pe,"mac");var Fr,Vr=0|o._crypto_box_macbytes();Pe.length!==Vr&&pe(vt,"invalid mac length"),Fr=Y(Pe),vt.push(Fr);var on=null,On=0;Oe!=null&&(on=Y(Oe=W(vt,Oe,"additional_data")),On=Oe.length,vt.push(on)),He=W(vt,He,"public_nonce");var Qn,bi=0|o._crypto_aead_aegis128l_npubbytes();He.length!==bi&&pe(vt,"invalid public_nonce length"),Qn=Y(He),vt.push(Qn),st=W(vt,st,"key");var ci,qi=0|o._crypto_aead_aegis128l_keybytes();st.length!==qi&&pe(vt,"invalid key length"),ci=Y(st),vt.push(ci);var ea=new q(0|wr),ya=ea.address;if(vt.push(ya),o._crypto_aead_aegis128l_decrypt_detached(ya,sr,mr,wr,0,Fr,on,On,0,Qn,ci)===0){var Ul=D(ea,tt);return ce(vt),Ul}le(vt,"ciphertext cannot be decrypted using that key")}function s(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_aegis128l_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_aegis128l_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(sr+o._crypto_aead_aegis128l_abytes()|0),ci=bi.address;if(tt.push(ci),o._crypto_aead_aegis128l_encrypt(ci,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var qi=D(bi,st);return ce(tt),qi}le(tt,"invalid usage")}function l(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_aegis128l_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_aegis128l_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(0|sr),ci=bi.address;tt.push(ci);var qi=new q(0|o._crypto_aead_aegis128l_abytes()),ea=qi.address;if(tt.push(ea),o._crypto_aead_aegis128l_encrypt_detached(ci,ea,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var ya=D({ciphertext:bi,mac:qi},st);return ce(tt),ya}le(tt,"invalid usage")}function A(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_aead_aegis128l_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_aead_aegis128l_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function m(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=null;Te!=null&&(vt=Y(Te=W(tt,Te,"secret_nonce")),Te.length,tt.push(vt)),Fe=W(tt,Fe,"ciphertext");var sr,mr=o._crypto_aead_aegis256_abytes(),wr=Fe.length;wr<mr&&pe(tt,"ciphertext is too short"),sr=Y(Fe),tt.push(sr);var Fr=null,Vr=0;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"additional_data")),Vr=Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var on,On=0|o._crypto_aead_aegis256_npubbytes();Oe.length!==On&&pe(tt,"invalid public_nonce length"),on=Y(Oe),tt.push(on),He=W(tt,He,"key");var Qn,bi=0|o._crypto_aead_aegis256_keybytes();He.length!==bi&&pe(tt,"invalid key length"),Qn=Y(He),tt.push(Qn);var ci=new q(wr-o._crypto_aead_aegis256_abytes()|0),qi=ci.address;if(tt.push(qi),o._crypto_aead_aegis256_decrypt(qi,null,vt,sr,wr,0,Fr,Vr,0,on,Qn)===0){var ea=D(ci,st);return ce(tt),ea}le(tt,"ciphertext cannot be decrypted using that key")}function E(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=null;Te!=null&&(sr=Y(Te=W(vt,Te,"secret_nonce")),Te.length,vt.push(sr));var mr=Y(Fe=W(vt,Fe,"ciphertext")),wr=Fe.length;vt.push(mr),Pe=W(vt,Pe,"mac");var Fr,Vr=0|o._crypto_box_macbytes();Pe.length!==Vr&&pe(vt,"invalid mac length"),Fr=Y(Pe),vt.push(Fr);var on=null,On=0;Oe!=null&&(on=Y(Oe=W(vt,Oe,"additional_data")),On=Oe.length,vt.push(on)),He=W(vt,He,"public_nonce");var Qn,bi=0|o._crypto_aead_aegis256_npubbytes();He.length!==bi&&pe(vt,"invalid public_nonce length"),Qn=Y(He),vt.push(Qn),st=W(vt,st,"key");var ci,qi=0|o._crypto_aead_aegis256_keybytes();st.length!==qi&&pe(vt,"invalid key length"),ci=Y(st),vt.push(ci);var ea=new q(0|wr),ya=ea.address;if(vt.push(ya),o._crypto_aead_aegis256_decrypt_detached(ya,sr,mr,wr,0,Fr,on,On,0,Qn,ci)===0){var Ul=D(ea,tt);return ce(vt),Ul}le(vt,"ciphertext cannot be decrypted using that key")}function w(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_aegis256_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_aegis256_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(sr+o._crypto_aead_aegis256_abytes()|0),ci=bi.address;if(tt.push(ci),o._crypto_aead_aegis256_encrypt(ci,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var qi=D(bi,st);return ce(tt),qi}le(tt,"invalid usage")}function x(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_aegis256_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_aegis256_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(0|sr),ci=bi.address;tt.push(ci);var qi=new q(0|o._crypto_aead_aegis256_abytes()),ea=qi.address;if(tt.push(ea),o._crypto_aead_aegis256_encrypt_detached(ci,ea,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var ya=D({ciphertext:bi,mac:qi},st);return ce(tt),ya}le(tt,"invalid usage")}function R(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_aead_aegis256_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_aead_aegis256_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function u(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=null;Te!=null&&(vt=Y(Te=W(tt,Te,"secret_nonce")),Te.length,tt.push(vt)),Fe=W(tt,Fe,"ciphertext");var sr,mr=o._crypto_aead_chacha20poly1305_abytes(),wr=Fe.length;wr<mr&&pe(tt,"ciphertext is too short"),sr=Y(Fe),tt.push(sr);var Fr=null,Vr=0;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"additional_data")),Vr=Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var on,On=0|o._crypto_aead_chacha20poly1305_npubbytes();Oe.length!==On&&pe(tt,"invalid public_nonce length"),on=Y(Oe),tt.push(on),He=W(tt,He,"key");var Qn,bi=0|o._crypto_aead_chacha20poly1305_keybytes();He.length!==bi&&pe(tt,"invalid key length"),Qn=Y(He),tt.push(Qn);var ci=new q(wr-o._crypto_aead_chacha20poly1305_abytes()|0),qi=ci.address;if(tt.push(qi),o._crypto_aead_chacha20poly1305_decrypt(qi,null,vt,sr,wr,0,Fr,Vr,0,on,Qn)===0){var ea=D(ci,st);return ce(tt),ea}le(tt,"ciphertext cannot be decrypted using that key")}function C(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=null;Te!=null&&(sr=Y(Te=W(vt,Te,"secret_nonce")),Te.length,vt.push(sr));var mr=Y(Fe=W(vt,Fe,"ciphertext")),wr=Fe.length;vt.push(mr),Pe=W(vt,Pe,"mac");var Fr,Vr=0|o._crypto_box_macbytes();Pe.length!==Vr&&pe(vt,"invalid mac length"),Fr=Y(Pe),vt.push(Fr);var on=null,On=0;Oe!=null&&(on=Y(Oe=W(vt,Oe,"additional_data")),On=Oe.length,vt.push(on)),He=W(vt,He,"public_nonce");var Qn,bi=0|o._crypto_aead_chacha20poly1305_npubbytes();He.length!==bi&&pe(vt,"invalid public_nonce length"),Qn=Y(He),vt.push(Qn),st=W(vt,st,"key");var ci,qi=0|o._crypto_aead_chacha20poly1305_keybytes();st.length!==qi&&pe(vt,"invalid key length"),ci=Y(st),vt.push(ci);var ea=new q(0|wr),ya=ea.address;if(vt.push(ya),o._crypto_aead_chacha20poly1305_decrypt_detached(ya,sr,mr,wr,0,Fr,on,On,0,Qn,ci)===0){var Ul=D(ea,tt);return ce(vt),Ul}le(vt,"ciphertext cannot be decrypted using that key")}function U(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_chacha20poly1305_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_chacha20poly1305_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(sr+o._crypto_aead_chacha20poly1305_abytes()|0),ci=bi.address;if(tt.push(ci),o._crypto_aead_chacha20poly1305_encrypt(ci,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var qi=D(bi,st);return ce(tt),qi}le(tt,"invalid usage")}function F(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_chacha20poly1305_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_chacha20poly1305_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(0|sr),ci=bi.address;tt.push(ci);var qi=new q(0|o._crypto_aead_chacha20poly1305_abytes()),ea=qi.address;if(tt.push(ea),o._crypto_aead_chacha20poly1305_encrypt_detached(ci,ea,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var ya=D({ciphertext:bi,mac:qi},st);return ce(tt),ya}le(tt,"invalid usage")}function X(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=null;Te!=null&&(vt=Y(Te=W(tt,Te,"secret_nonce")),Te.length,tt.push(vt)),Fe=W(tt,Fe,"ciphertext");var sr,mr=o._crypto_aead_chacha20poly1305_ietf_abytes(),wr=Fe.length;wr<mr&&pe(tt,"ciphertext is too short"),sr=Y(Fe),tt.push(sr);var Fr=null,Vr=0;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"additional_data")),Vr=Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var on,On=0|o._crypto_aead_chacha20poly1305_ietf_npubbytes();Oe.length!==On&&pe(tt,"invalid public_nonce length"),on=Y(Oe),tt.push(on),He=W(tt,He,"key");var Qn,bi=0|o._crypto_aead_chacha20poly1305_ietf_keybytes();He.length!==bi&&pe(tt,"invalid key length"),Qn=Y(He),tt.push(Qn);var ci=new q(wr-o._crypto_aead_chacha20poly1305_ietf_abytes()|0),qi=ci.address;if(tt.push(qi),o._crypto_aead_chacha20poly1305_ietf_decrypt(qi,null,vt,sr,wr,0,Fr,Vr,0,on,Qn)===0){var ea=D(ci,st);return ce(tt),ea}le(tt,"ciphertext cannot be decrypted using that key")}function Ae(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=null;Te!=null&&(sr=Y(Te=W(vt,Te,"secret_nonce")),Te.length,vt.push(sr));var mr=Y(Fe=W(vt,Fe,"ciphertext")),wr=Fe.length;vt.push(mr),Pe=W(vt,Pe,"mac");var Fr,Vr=0|o._crypto_box_macbytes();Pe.length!==Vr&&pe(vt,"invalid mac length"),Fr=Y(Pe),vt.push(Fr);var on=null,On=0;Oe!=null&&(on=Y(Oe=W(vt,Oe,"additional_data")),On=Oe.length,vt.push(on)),He=W(vt,He,"public_nonce");var Qn,bi=0|o._crypto_aead_chacha20poly1305_ietf_npubbytes();He.length!==bi&&pe(vt,"invalid public_nonce length"),Qn=Y(He),vt.push(Qn),st=W(vt,st,"key");var ci,qi=0|o._crypto_aead_chacha20poly1305_ietf_keybytes();st.length!==qi&&pe(vt,"invalid key length"),ci=Y(st),vt.push(ci);var ea=new q(0|wr),ya=ea.address;if(vt.push(ya),o._crypto_aead_chacha20poly1305_ietf_decrypt_detached(ya,sr,mr,wr,0,Fr,on,On,0,Qn,ci)===0){var Ul=D(ea,tt);return ce(vt),Ul}le(vt,"ciphertext cannot be decrypted using that key")}function he(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_chacha20poly1305_ietf_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_chacha20poly1305_ietf_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(sr+o._crypto_aead_chacha20poly1305_ietf_abytes()|0),ci=bi.address;if(tt.push(ci),o._crypto_aead_chacha20poly1305_ietf_encrypt(ci,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var qi=D(bi,st);return ce(tt),qi}le(tt,"invalid usage")}function $e(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_chacha20poly1305_ietf_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_chacha20poly1305_ietf_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(0|sr),ci=bi.address;tt.push(ci);var qi=new q(0|o._crypto_aead_chacha20poly1305_ietf_abytes()),ea=qi.address;if(tt.push(ea),o._crypto_aead_chacha20poly1305_ietf_encrypt_detached(ci,ea,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var ya=D({ciphertext:bi,mac:qi},st);return ce(tt),ya}le(tt,"invalid usage")}function Ge(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_aead_chacha20poly1305_ietf_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_aead_chacha20poly1305_ietf_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function Re(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_aead_chacha20poly1305_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_aead_chacha20poly1305_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function Se(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=null;Te!=null&&(vt=Y(Te=W(tt,Te,"secret_nonce")),Te.length,tt.push(vt)),Fe=W(tt,Fe,"ciphertext");var sr,mr=o._crypto_aead_xchacha20poly1305_ietf_abytes(),wr=Fe.length;wr<mr&&pe(tt,"ciphertext is too short"),sr=Y(Fe),tt.push(sr);var Fr=null,Vr=0;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"additional_data")),Vr=Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var on,On=0|o._crypto_aead_xchacha20poly1305_ietf_npubbytes();Oe.length!==On&&pe(tt,"invalid public_nonce length"),on=Y(Oe),tt.push(on),He=W(tt,He,"key");var Qn,bi=0|o._crypto_aead_xchacha20poly1305_ietf_keybytes();He.length!==bi&&pe(tt,"invalid key length"),Qn=Y(He),tt.push(Qn);var ci=new q(wr-o._crypto_aead_xchacha20poly1305_ietf_abytes()|0),qi=ci.address;if(tt.push(qi),o._crypto_aead_xchacha20poly1305_ietf_decrypt(qi,null,vt,sr,wr,0,Fr,Vr,0,on,Qn)===0){var ea=D(ci,st);return ce(tt),ea}le(tt,"ciphertext cannot be decrypted using that key")}function ct(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=null;Te!=null&&(sr=Y(Te=W(vt,Te,"secret_nonce")),Te.length,vt.push(sr));var mr=Y(Fe=W(vt,Fe,"ciphertext")),wr=Fe.length;vt.push(mr),Pe=W(vt,Pe,"mac");var Fr,Vr=0|o._crypto_box_macbytes();Pe.length!==Vr&&pe(vt,"invalid mac length"),Fr=Y(Pe),vt.push(Fr);var on=null,On=0;Oe!=null&&(on=Y(Oe=W(vt,Oe,"additional_data")),On=Oe.length,vt.push(on)),He=W(vt,He,"public_nonce");var Qn,bi=0|o._crypto_aead_xchacha20poly1305_ietf_npubbytes();He.length!==bi&&pe(vt,"invalid public_nonce length"),Qn=Y(He),vt.push(Qn),st=W(vt,st,"key");var ci,qi=0|o._crypto_aead_xchacha20poly1305_ietf_keybytes();st.length!==qi&&pe(vt,"invalid key length"),ci=Y(st),vt.push(ci);var ea=new q(0|wr),ya=ea.address;if(vt.push(ya),o._crypto_aead_xchacha20poly1305_ietf_decrypt_detached(ya,sr,mr,wr,0,Fr,on,On,0,Qn,ci)===0){var Ul=D(ea,tt);return ce(vt),Ul}le(vt,"ciphertext cannot be decrypted using that key")}function ze(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_xchacha20poly1305_ietf_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_xchacha20poly1305_ietf_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(sr+o._crypto_aead_xchacha20poly1305_ietf_abytes()|0),ci=bi.address;if(tt.push(ci),o._crypto_aead_xchacha20poly1305_ietf_encrypt(ci,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var qi=D(bi,st);return ce(tt),qi}le(tt,"invalid usage")}function te(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"message")),sr=Te.length;tt.push(vt);var mr=null,wr=0;Fe!=null&&(mr=Y(Fe=W(tt,Fe,"additional_data")),wr=Fe.length,tt.push(mr));var Fr=null;Pe!=null&&(Fr=Y(Pe=W(tt,Pe,"secret_nonce")),Pe.length,tt.push(Fr)),Oe=W(tt,Oe,"public_nonce");var Vr,on=0|o._crypto_aead_xchacha20poly1305_ietf_npubbytes();Oe.length!==on&&pe(tt,"invalid public_nonce length"),Vr=Y(Oe),tt.push(Vr),He=W(tt,He,"key");var On,Qn=0|o._crypto_aead_xchacha20poly1305_ietf_keybytes();He.length!==Qn&&pe(tt,"invalid key length"),On=Y(He),tt.push(On);var bi=new q(0|sr),ci=bi.address;tt.push(ci);var qi=new q(0|o._crypto_aead_xchacha20poly1305_ietf_abytes()),ea=qi.address;if(tt.push(ea),o._crypto_aead_xchacha20poly1305_ietf_encrypt_detached(ci,ea,null,vt,sr,0,mr,wr,0,Fr,Vr,On)===0){var ya=D({ciphertext:bi,mac:qi},st);return ce(tt),ya}le(tt,"invalid usage")}function Ue(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_aead_xchacha20poly1305_ietf_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_aead_xchacha20poly1305_ietf_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function oe(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_auth_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_auth_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_auth(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function ge(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_auth_hmacsha256_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_auth_hmacsha256_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_auth_hmacsha256(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function Le(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_auth_hmacsha256_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_auth_hmacsha256_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function V(Te,Fe){var Pe=[];G(Fe);var Oe=null,He=0;Te!=null&&(Oe=Y(Te=W(Pe,Te,"key")),He=Te.length,Pe.push(Oe));var st=new q(208).address;if(!(0|o._crypto_auth_hmacsha256_init(st,Oe,He))){var tt=st;return ce(Pe),tt}le(Pe,"invalid usage")}function Qe(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_auth_hmacsha256_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_auth_hmacsha256_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function _t(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_auth_hmacsha256_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function rt(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"tag");var He,st=0|o._crypto_auth_hmacsha256_bytes();Te.length!==st&&pe(Oe,"invalid tag length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"key");var sr,mr=0|o._crypto_auth_hmacsha256_keybytes();Pe.length!==mr&&pe(Oe,"invalid key length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_auth_hmacsha256_verify(He,tt,vt,0,sr));return ce(Oe),wr}function At(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_auth_hmacsha512_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_auth_hmacsha512_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_auth_hmacsha512(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function Er(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_auth_hmacsha512256_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_auth_hmacsha512256_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_auth_hmacsha512256(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function mt(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_auth_hmacsha512256_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_auth_hmacsha512256_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function Ht(Te,Fe){var Pe=[];G(Fe);var Oe=null,He=0;Te!=null&&(Oe=Y(Te=W(Pe,Te,"key")),He=Te.length,Pe.push(Oe));var st=new q(416).address;if(!(0|o._crypto_auth_hmacsha512256_init(st,Oe,He))){var tt=st;return ce(Pe),tt}le(Pe,"invalid usage")}function zr(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_auth_hmacsha512256_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_auth_hmacsha512256_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function ve(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_auth_hmacsha512256_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function ie(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"tag");var He,st=0|o._crypto_auth_hmacsha512256_bytes();Te.length!==st&&pe(Oe,"invalid tag length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"key");var sr,mr=0|o._crypto_auth_hmacsha512256_keybytes();Pe.length!==mr&&pe(Oe,"invalid key length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_auth_hmacsha512256_verify(He,tt,vt,0,sr));return ce(Oe),wr}function _e(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_auth_hmacsha512_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_auth_hmacsha512_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function Be(Te,Fe){var Pe=[];G(Fe);var Oe=null,He=0;Te!=null&&(Oe=Y(Te=W(Pe,Te,"key")),He=Te.length,Pe.push(Oe));var st=new q(416).address;if(!(0|o._crypto_auth_hmacsha512_init(st,Oe,He))){var tt=st;return ce(Pe),tt}le(Pe,"invalid usage")}function Ze(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_auth_hmacsha512_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_auth_hmacsha512_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function $t(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_auth_hmacsha512_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function at(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"tag");var He,st=0|o._crypto_auth_hmacsha512_bytes();Te.length!==st&&pe(Oe,"invalid tag length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"key");var sr,mr=0|o._crypto_auth_hmacsha512_keybytes();Pe.length!==mr&&pe(Oe,"invalid key length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_auth_hmacsha512_verify(He,tt,vt,0,sr));return ce(Oe),wr}function zt(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_auth_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_auth_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function Hr(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"tag");var He,st=0|o._crypto_auth_bytes();Te.length!==st&&pe(Oe,"invalid tag length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"key");var sr,mr=0|o._crypto_auth_keybytes();Pe.length!==mr&&pe(Oe,"invalid key length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_auth_verify(He,tt,vt,0,sr));return ce(Oe),wr}function St(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"publicKey");var He,st=0|o._crypto_box_publickeybytes();Te.length!==st&&pe(Oe,"invalid publicKey length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"privateKey");var tt,vt=0|o._crypto_box_secretkeybytes();Fe.length!==vt&&pe(Oe,"invalid privateKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_box_beforenmbytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_box_beforenm(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function Yt(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"publicKey");var He,st=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Te.length!==st&&pe(Oe,"invalid publicKey length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"privateKey");var tt,vt=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();Fe.length!==vt&&pe(Oe,"invalid privateKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_box_curve25519xchacha20poly1305_beforenmbytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_box_curve25519xchacha20poly1305_beforenm(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function qr(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"publicKey");var wr,Fr=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Pe.length!==Fr&&pe(st,"invalid publicKey length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"privateKey");var Vr,on=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();Oe.length!==on&&pe(st,"invalid privateKey length"),Vr=Y(Oe),st.push(Vr);var On=new q(0|vt),Qn=On.address;st.push(Qn);var bi=new q(0|o._crypto_box_curve25519xchacha20poly1305_macbytes()),ci=bi.address;if(st.push(ci),!(0|o._crypto_box_curve25519xchacha20poly1305_detached(Qn,ci,tt,vt,0,sr,wr,Vr))){var qi=D({ciphertext:On,mac:bi},He);return ce(st),qi}le(st,"invalid usage")}function tr(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"sharedKey");var mr,wr=0|o._crypto_box_curve25519xchacha20poly1305_beforenmbytes();Pe.length!==wr&&pe(He,"invalid sharedKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|tt),Vr=Fr.address;He.push(Vr);var on=new q(0|o._crypto_box_curve25519xchacha20poly1305_macbytes()),On=on.address;if(He.push(On),!(0|o._crypto_box_curve25519xchacha20poly1305_detached_afternm(Vr,On,st,tt,0,vt,mr))){var Qn=D({ciphertext:Fr,mac:on},Oe);return ce(He),Qn}le(He,"invalid usage")}function hr(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"publicKey");var wr,Fr=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Pe.length!==Fr&&pe(st,"invalid publicKey length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"privateKey");var Vr,on=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();Oe.length!==on&&pe(st,"invalid privateKey length"),Vr=Y(Oe),st.push(Vr);var On=new q(vt+o._crypto_box_curve25519xchacha20poly1305_macbytes()|0),Qn=On.address;if(st.push(Qn),!(0|o._crypto_box_curve25519xchacha20poly1305_easy(Qn,tt,vt,0,sr,wr,Vr))){var bi=D(On,He);return ce(st),bi}le(st,"invalid usage")}function Cn(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"sharedKey");var mr,wr=0|o._crypto_box_curve25519xchacha20poly1305_beforenmbytes();Pe.length!==wr&&pe(He,"invalid sharedKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(tt+o._crypto_box_curve25519xchacha20poly1305_macbytes()|0),Vr=Fr.address;if(He.push(Vr),!(0|o._crypto_box_curve25519xchacha20poly1305_easy_afternm(Vr,st,tt,0,vt,mr))){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function er(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes()),Oe=Pe.address;Fe.push(Oe);var He=new q(0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),st=He.address;Fe.push(st),o._crypto_box_curve25519xchacha20poly1305_keypair(Oe,st);var tt=D({publicKey:Pe,privateKey:He,keyType:"curve25519"},Te);return ce(Fe),tt}function pr(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"ciphertext")),sr=Te.length;tt.push(vt),Fe=W(tt,Fe,"mac");var mr,wr=0|o._crypto_box_curve25519xchacha20poly1305_macbytes();Fe.length!==wr&&pe(tt,"invalid mac length"),mr=Y(Fe),tt.push(mr),Pe=W(tt,Pe,"nonce");var Fr,Vr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Pe.length!==Vr&&pe(tt,"invalid nonce length"),Fr=Y(Pe),tt.push(Fr),Oe=W(tt,Oe,"publicKey");var on,On=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Oe.length!==On&&pe(tt,"invalid publicKey length"),on=Y(Oe),tt.push(on),He=W(tt,He,"privateKey");var Qn,bi=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();He.length!==bi&&pe(tt,"invalid privateKey length"),Qn=Y(He),tt.push(Qn);var ci=new q(0|sr),qi=ci.address;if(tt.push(qi),!(0|o._crypto_box_curve25519xchacha20poly1305_open_detached(qi,vt,mr,sr,0,Fr,on,Qn))){var ea=D(ci,st);return ce(tt),ea}le(tt,"incorrect key pair for the given ciphertext")}function mn(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"ciphertext")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"mac");var sr,mr=0|o._crypto_box_curve25519xchacha20poly1305_macbytes();Fe.length!==mr&&pe(st,"invalid mac length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"nonce");var wr,Fr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Pe.length!==Fr&&pe(st,"invalid nonce length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"sharedKey");var Vr,on=0|o._crypto_box_curve25519xchacha20poly1305_beforenmbytes();Oe.length!==on&&pe(st,"invalid sharedKey length"),Vr=Y(Oe),st.push(Vr);var On=new q(0|vt),Qn=On.address;if(st.push(Qn),!(0|o._crypto_box_curve25519xchacha20poly1305_open_detached_afternm(Qn,tt,sr,vt,0,wr,Vr))){var bi=D(On,He);return ce(st),bi}le(st,"incorrect secret key for the given ciphertext")}function Xt(Te,Fe,Pe,Oe,He){var st=[];G(He),Te=W(st,Te,"ciphertext");var tt,vt=o._crypto_box_curve25519xchacha20poly1305_macbytes(),sr=Te.length;sr<vt&&pe(st,"ciphertext is too short"),tt=Y(Te),st.push(tt),Fe=W(st,Fe,"nonce");var mr,wr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==wr&&pe(st,"invalid nonce length"),mr=Y(Fe),st.push(mr),Pe=W(st,Pe,"publicKey");var Fr,Vr=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Pe.length!==Vr&&pe(st,"invalid publicKey length"),Fr=Y(Pe),st.push(Fr),Oe=W(st,Oe,"privateKey");var on,On=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();Oe.length!==On&&pe(st,"invalid privateKey length"),on=Y(Oe),st.push(on);var Qn=new q(sr-o._crypto_box_curve25519xchacha20poly1305_macbytes()|0),bi=Qn.address;if(st.push(bi),!(0|o._crypto_box_curve25519xchacha20poly1305_open_easy(bi,tt,sr,0,mr,Fr,on))){var ci=D(Qn,He);return ce(st),ci}le(st,"incorrect key pair for the given ciphertext")}function dr(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"ciphertext")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_box_curve25519xchacha20poly1305_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"sharedKey");var mr,wr=0|o._crypto_box_curve25519xchacha20poly1305_beforenmbytes();Pe.length!==wr&&pe(He,"invalid sharedKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(tt-o._crypto_box_curve25519xchacha20poly1305_macbytes()|0),Vr=Fr.address;if(He.push(Vr),!(0|o._crypto_box_curve25519xchacha20poly1305_open_easy_afternm(Vr,st,tt,0,vt,mr))){var on=D(Fr,Oe);return ce(He),on}le(He,"incorrect secret key for the given ciphertext")}function wn(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"publicKey");var tt,vt=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Fe.length!==vt&&pe(Oe,"invalid publicKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(st+o._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),mr=sr.address;Oe.push(mr),o._crypto_box_curve25519xchacha20poly1305_seal(mr,He,st,0,tt);var wr=D(sr,Pe);return ce(Oe),wr}function Qt(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"ciphertext");var st,tt=o._crypto_box_curve25519xchacha20poly1305_sealbytes(),vt=Te.length;vt<tt&&pe(He,"ciphertext is too short"),st=Y(Te),He.push(st),Fe=W(He,Fe,"publicKey");var sr,mr=0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes();Fe.length!==mr&&pe(He,"invalid publicKey length"),sr=Y(Fe),He.push(sr),Pe=W(He,Pe,"secretKey");var wr,Fr=0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes();Pe.length!==Fr&&pe(He,"invalid secretKey length"),wr=Y(Pe),He.push(wr);var Vr=new q(vt-o._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),on=Vr.address;He.push(on),o._crypto_box_curve25519xchacha20poly1305_seal_open(on,st,vt,0,sr,wr);var On=D(Vr,Oe);return ce(He),On}function fr(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"seed");var Oe,He=0|o._crypto_box_curve25519xchacha20poly1305_seedbytes();Te.length!==He&&pe(Pe,"invalid seed length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_box_curve25519xchacha20poly1305_publickeybytes()),tt=st.address;Pe.push(tt);var vt=new q(0|o._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),sr=vt.address;if(Pe.push(sr),!(0|o._crypto_box_curve25519xchacha20poly1305_seed_keypair(tt,sr,Oe))){var mr={publicKey:D(st,Fe),privateKey:D(vt,Fe),keyType:"x25519"};return ce(Pe),mr}le(Pe,"invalid usage")}function In(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_box_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"publicKey");var wr,Fr=0|o._crypto_box_publickeybytes();Pe.length!==Fr&&pe(st,"invalid publicKey length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"privateKey");var Vr,on=0|o._crypto_box_secretkeybytes();Oe.length!==on&&pe(st,"invalid privateKey length"),Vr=Y(Oe),st.push(Vr);var On=new q(0|vt),Qn=On.address;st.push(Qn);var bi=new q(0|o._crypto_box_macbytes()),ci=bi.address;if(st.push(ci),!(0|o._crypto_box_detached(Qn,ci,tt,vt,0,sr,wr,Vr))){var qi=D({ciphertext:On,mac:bi},He);return ce(st),qi}le(st,"invalid usage")}function jt(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_box_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"publicKey");var wr,Fr=0|o._crypto_box_publickeybytes();Pe.length!==Fr&&pe(st,"invalid publicKey length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"privateKey");var Vr,on=0|o._crypto_box_secretkeybytes();Oe.length!==on&&pe(st,"invalid privateKey length"),Vr=Y(Oe),st.push(Vr);var On=new q(vt+o._crypto_box_macbytes()|0),Qn=On.address;if(st.push(Qn),!(0|o._crypto_box_easy(Qn,tt,vt,0,sr,wr,Vr))){var bi=D(On,He);return ce(st),bi}le(st,"invalid usage")}function ar(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_box_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"sharedKey");var mr,wr=0|o._crypto_box_beforenmbytes();Pe.length!==wr&&pe(He,"invalid sharedKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(tt+o._crypto_box_macbytes()|0),Vr=Fr.address;if(He.push(Vr),!(0|o._crypto_box_easy_afternm(Vr,st,tt,0,vt,mr))){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function ht(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_box_publickeybytes()),Oe=Pe.address;Fe.push(Oe);var He=new q(0|o._crypto_box_secretkeybytes()),st=He.address;if(Fe.push(st),!(0|o._crypto_box_keypair(Oe,st))){var tt={publicKey:D(Pe,Te),privateKey:D(He,Te),keyType:"x25519"};return ce(Fe),tt}le(Fe,"internal error")}function Xe(Te,Fe,Pe,Oe,He,st){var tt=[];G(st);var vt=Y(Te=W(tt,Te,"ciphertext")),sr=Te.length;tt.push(vt),Fe=W(tt,Fe,"mac");var mr,wr=0|o._crypto_box_macbytes();Fe.length!==wr&&pe(tt,"invalid mac length"),mr=Y(Fe),tt.push(mr),Pe=W(tt,Pe,"nonce");var Fr,Vr=0|o._crypto_box_noncebytes();Pe.length!==Vr&&pe(tt,"invalid nonce length"),Fr=Y(Pe),tt.push(Fr),Oe=W(tt,Oe,"publicKey");var on,On=0|o._crypto_box_publickeybytes();Oe.length!==On&&pe(tt,"invalid publicKey length"),on=Y(Oe),tt.push(on),He=W(tt,He,"privateKey");var Qn,bi=0|o._crypto_box_secretkeybytes();He.length!==bi&&pe(tt,"invalid privateKey length"),Qn=Y(He),tt.push(Qn);var ci=new q(0|sr),qi=ci.address;if(tt.push(qi),!(0|o._crypto_box_open_detached(qi,vt,mr,sr,0,Fr,on,Qn))){var ea=D(ci,st);return ce(tt),ea}le(tt,"incorrect key pair for the given ciphertext")}function et(Te,Fe,Pe,Oe,He){var st=[];G(He),Te=W(st,Te,"ciphertext");var tt,vt=o._crypto_box_macbytes(),sr=Te.length;sr<vt&&pe(st,"ciphertext is too short"),tt=Y(Te),st.push(tt),Fe=W(st,Fe,"nonce");var mr,wr=0|o._crypto_box_noncebytes();Fe.length!==wr&&pe(st,"invalid nonce length"),mr=Y(Fe),st.push(mr),Pe=W(st,Pe,"publicKey");var Fr,Vr=0|o._crypto_box_publickeybytes();Pe.length!==Vr&&pe(st,"invalid publicKey length"),Fr=Y(Pe),st.push(Fr),Oe=W(st,Oe,"privateKey");var on,On=0|o._crypto_box_secretkeybytes();Oe.length!==On&&pe(st,"invalid privateKey length"),on=Y(Oe),st.push(on);var Qn=new q(sr-o._crypto_box_macbytes()|0),bi=Qn.address;if(st.push(bi),!(0|o._crypto_box_open_easy(bi,tt,sr,0,mr,Fr,on))){var ci=D(Qn,He);return ce(st),ci}le(st,"incorrect key pair for the given ciphertext")}function ue(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"ciphertext")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_box_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"sharedKey");var mr,wr=0|o._crypto_box_beforenmbytes();Pe.length!==wr&&pe(He,"invalid sharedKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(tt-o._crypto_box_macbytes()|0),Vr=Fr.address;if(He.push(Vr),!(0|o._crypto_box_open_easy_afternm(Vr,st,tt,0,vt,mr))){var on=D(Fr,Oe);return ce(He),on}le(He,"incorrect secret key for the given ciphertext")}function je(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"publicKey");var tt,vt=0|o._crypto_box_publickeybytes();Fe.length!==vt&&pe(Oe,"invalid publicKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(st+o._crypto_box_sealbytes()|0),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_box_seal(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function be(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"ciphertext");var st,tt=o._crypto_box_sealbytes(),vt=Te.length;vt<tt&&pe(He,"ciphertext is too short"),st=Y(Te),He.push(st),Fe=W(He,Fe,"publicKey");var sr,mr=0|o._crypto_box_publickeybytes();Fe.length!==mr&&pe(He,"invalid publicKey length"),sr=Y(Fe),He.push(sr),Pe=W(He,Pe,"privateKey");var wr,Fr=0|o._crypto_box_secretkeybytes();Pe.length!==Fr&&pe(He,"invalid privateKey length"),wr=Y(Pe),He.push(wr);var Vr=new q(vt-o._crypto_box_sealbytes()|0),on=Vr.address;if(He.push(on),!(0|o._crypto_box_seal_open(on,st,vt,0,sr,wr))){var On=D(Vr,Oe);return ce(He),On}le(He,"incorrect key pair for the given ciphertext")}function qe(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"seed");var Oe,He=0|o._crypto_box_seedbytes();Te.length!==He&&pe(Pe,"invalid seed length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_box_publickeybytes()),tt=st.address;Pe.push(tt);var vt=new q(0|o._crypto_box_secretkeybytes()),sr=vt.address;if(Pe.push(sr),!(0|o._crypto_box_seed_keypair(tt,sr,Oe))){var mr={publicKey:D(st,Fe),privateKey:D(vt,Fe),keyType:"x25519"};return ce(Pe),mr}le(Pe,"invalid usage")}function De(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"p");var He,st=0|o._crypto_core_ed25519_bytes();Te.length!==st&&pe(Oe,"invalid p length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"q");var tt,vt=0|o._crypto_core_ed25519_bytes();Fe.length!==vt&&pe(Oe,"invalid q length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ed25519_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_core_ed25519_add(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"input is an invalid element")}function Je(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"r"));Te.length,Pe.push(Oe);var He=new q(0|o._crypto_core_ed25519_bytes()),st=He.address;if(Pe.push(st),!(0|o._crypto_core_ed25519_from_hash(st,Oe))){var tt=D(He,Fe);return ce(Pe),tt}le(Pe,"invalid usage")}function Rt(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"r"));Te.length,Pe.push(Oe);var He=new q(0|o._crypto_core_ed25519_bytes()),st=He.address;if(Pe.push(st),!(0|o._crypto_core_ed25519_from_uniform(st,Oe))){var tt=D(He,Fe);return ce(Pe),tt}le(Pe,"invalid usage")}function Vt(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"repr");var Oe,He=0|o._crypto_core_ed25519_bytes();Te.length!==He&&pe(Pe,"invalid repr length"),Oe=Y(Te),Pe.push(Oe);var st=(0|o._crypto_core_ed25519_is_valid_point(Oe))==1;return ce(Pe),st}function br(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_core_ed25519_bytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_core_ed25519_random(Oe);var He=D(Pe,Te);return ce(Fe),He}function Rr(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ed25519_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ed25519_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ed25519_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ed25519_scalar_add(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function Dr(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ed25519_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ed25519_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ed25519_scalar_complement(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function Pr(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ed25519_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ed25519_scalarbytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_core_ed25519_scalar_invert(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid reciprocate")}function k(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ed25519_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ed25519_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ed25519_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ed25519_scalar_mul(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function a(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ed25519_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ed25519_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ed25519_scalar_negate(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function S(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_core_ed25519_scalarbytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_core_ed25519_scalar_random(Oe);var He=D(Pe,Te);return ce(Fe),He}function sn(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"sample");var Oe,He=0|o._crypto_core_ed25519_nonreducedscalarbytes();Te.length!==He&&pe(Pe,"invalid sample length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ed25519_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ed25519_scalar_reduce(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function Lr(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ed25519_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ed25519_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ed25519_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ed25519_scalar_sub(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function Wr(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"p");var He,st=0|o._crypto_core_ed25519_bytes();Te.length!==st&&pe(Oe,"invalid p length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"q");var tt,vt=0|o._crypto_core_ed25519_bytes();Fe.length!==vt&&pe(Oe,"invalid q length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ed25519_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_core_ed25519_sub(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"input is an invalid element")}function ln(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"input");var st,tt=0|o._crypto_core_hchacha20_inputbytes();Te.length!==tt&&pe(He,"invalid input length"),st=Y(Te),He.push(st),Fe=W(He,Fe,"privateKey");var vt,sr=0|o._crypto_core_hchacha20_keybytes();Fe.length!==sr&&pe(He,"invalid privateKey length"),vt=Y(Fe),He.push(vt);var mr=null;Pe!=null&&(mr=Y(Pe=W(He,Pe,"constant")),Pe.length,He.push(mr));var wr=new q(0|o._crypto_core_hchacha20_outputbytes()),Fr=wr.address;if(He.push(Fr),!(0|o._crypto_core_hchacha20(Fr,st,vt,mr))){var Vr=D(wr,Oe);return ce(He),Vr}le(He,"invalid usage")}function yt(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"input");var st,tt=0|o._crypto_core_hsalsa20_inputbytes();Te.length!==tt&&pe(He,"invalid input length"),st=Y(Te),He.push(st),Fe=W(He,Fe,"privateKey");var vt,sr=0|o._crypto_core_hsalsa20_keybytes();Fe.length!==sr&&pe(He,"invalid privateKey length"),vt=Y(Fe),He.push(vt);var mr=null;Pe!=null&&(mr=Y(Pe=W(He,Pe,"constant")),Pe.length,He.push(mr));var wr=new q(0|o._crypto_core_hsalsa20_outputbytes()),Fr=wr.address;if(He.push(Fr),!(0|o._crypto_core_hsalsa20(Fr,st,vt,mr))){var Vr=D(wr,Oe);return ce(He),Vr}le(He,"invalid usage")}function ot(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"p");var He,st=0|o._crypto_core_ristretto255_bytes();Te.length!==st&&pe(Oe,"invalid p length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"q");var tt,vt=0|o._crypto_core_ristretto255_bytes();Fe.length!==vt&&pe(Oe,"invalid q length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ristretto255_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_core_ristretto255_add(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"input is an invalid element")}function lt(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"r"));Te.length,Pe.push(Oe);var He=new q(0|o._crypto_core_ristretto255_bytes()),st=He.address;if(Pe.push(st),!(0|o._crypto_core_ristretto255_from_hash(st,Oe))){var tt=D(He,Fe);return ce(Pe),tt}le(Pe,"invalid usage")}function gt(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"repr");var Oe,He=0|o._crypto_core_ristretto255_bytes();Te.length!==He&&pe(Pe,"invalid repr length"),Oe=Y(Te),Pe.push(Oe);var st=(0|o._crypto_core_ristretto255_is_valid_point(Oe))==1;return ce(Pe),st}function Ie(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_core_ristretto255_bytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_core_ristretto255_random(Oe);var He=D(Pe,Te);return ce(Fe),He}function Zt(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ristretto255_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ristretto255_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ristretto255_scalar_add(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function Ir(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ristretto255_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ristretto255_scalar_complement(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function $(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ristretto255_scalarbytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_core_ristretto255_scalar_invert(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid reciprocate")}function Qr(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ristretto255_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ristretto255_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ristretto255_scalar_mul(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function en(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"s");var Oe,He=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==He&&pe(Pe,"invalid s length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ristretto255_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ristretto255_scalar_negate(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function xr(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_core_ristretto255_scalarbytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_core_ristretto255_scalar_random(Oe);var He=D(Pe,Te);return ce(Fe),He}function Mi(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"sample");var Oe,He=0|o._crypto_core_ristretto255_nonreducedscalarbytes();Te.length!==He&&pe(Pe,"invalid sample length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ristretto255_scalarbytes()),tt=st.address;Pe.push(tt),o._crypto_core_ristretto255_scalar_reduce(tt,Oe);var vt=D(st,Fe);return ce(Pe),vt}function oo(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"x");var He,st=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==st&&pe(Oe,"invalid x length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"y");var tt,vt=0|o._crypto_core_ristretto255_scalarbytes();Fe.length!==vt&&pe(Oe,"invalid y length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ristretto255_scalarbytes()),mr=sr.address;Oe.push(mr),o._crypto_core_ristretto255_scalar_sub(mr,He,tt);var wr=D(sr,Pe);return ce(Oe),wr}function ho(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"p");var He,st=0|o._crypto_core_ristretto255_bytes();Te.length!==st&&pe(Oe,"invalid p length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"q");var tt,vt=0|o._crypto_core_ristretto255_bytes();Fe.length!==vt&&pe(Oe,"invalid q length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_core_ristretto255_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_core_ristretto255_sub(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"input is an invalid element")}function Tr(Te,Fe,Pe,Oe){var He=[];G(Oe),ae(He,Te,"hash_length"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(He,"hash_length must be an unsigned integer");var st=Y(Fe=W(He,Fe,"message")),tt=Fe.length;He.push(st);var vt=null,sr=0;Pe!=null&&(vt=Y(Pe=W(He,Pe,"key")),sr=Pe.length,He.push(vt));var mr=new q(Te|=0),wr=mr.address;if(He.push(wr),!(0|o._crypto_generichash(wr,Te,st,tt,0,vt,sr))){var Fr=D(mr,Oe);return ce(He),Fr}le(He,"invalid usage")}function jo(Te,Fe,Pe,Oe,He){var st=[];G(He),ae(st,Te,"subkey_len"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(st,"subkey_len must be an unsigned integer");var tt=null,vt=0;Fe!=null&&(tt=Y(Fe=W(st,Fe,"key")),vt=Fe.length,st.push(tt));var sr=null,mr=0;Pe!=null&&(Pe=W(st,Pe,"id"),mr=0|o._crypto_generichash_blake2b_saltbytes(),Pe.length!==mr&&pe(st,"invalid id length"),sr=Y(Pe),st.push(sr));var wr=null,Fr=0;Oe!=null&&(Oe=W(st,Oe,"ctx"),Fr=0|o._crypto_generichash_blake2b_personalbytes(),Oe.length!==Fr&&pe(st,"invalid ctx length"),wr=Y(Oe),st.push(wr));var Vr=new q(0|Te),on=Vr.address;if(st.push(on),!(0|o._crypto_generichash_blake2b_salt_personal(on,Te,null,0,0,tt,vt,sr,wr))){var On=D(Vr,He);return ce(st),On}le(st,"invalid usage")}function ka(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address"),ae(Oe,Fe,"hash_length"),(typeof Fe!="number"||(0|Fe)!==Fe||Fe<0)&&pe(Oe,"hash_length must be an unsigned integer");var He=new q(Fe|=0),st=He.address;if(Oe.push(st),!(0|o._crypto_generichash_final(Te,st,Fe))){var tt=(o._free(Te),D(He,Pe));return ce(Oe),tt}le(Oe,"invalid usage")}function wo(Te,Fe,Pe){var Oe=[];G(Pe);var He=null,st=0;Te!=null&&(He=Y(Te=W(Oe,Te,"key")),st=Te.length,Oe.push(He)),ae(Oe,Fe,"hash_length"),(typeof Fe!="number"||(0|Fe)!==Fe||Fe<0)&&pe(Oe,"hash_length must be an unsigned integer");var tt=new q(357).address;if(!(0|o._crypto_generichash_init(tt,He,st,Fe))){var vt=tt;return ce(Oe),vt}le(Oe,"invalid usage")}function Fo(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_generichash_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_generichash_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function Ar(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_generichash_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function Pa(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"message")),He=Te.length;Pe.push(Oe);var st=new q(0|o._crypto_hash_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_hash(tt,Oe,He,0))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid usage")}function Hu(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"message")),He=Te.length;Pe.push(Oe);var st=new q(0|o._crypto_hash_sha256_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_hash_sha256(tt,Oe,He,0))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid usage")}function vs(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_hash_sha256_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_hash_sha256_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function Iu(Te){var Fe=[];G(Te);var Pe=new q(104).address;if(!(0|o._crypto_hash_sha256_init(Pe))){var Oe=Pe;return ce(Fe),Oe}le(Fe,"invalid usage")}function Cu(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_hash_sha256_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function wu(Te,Fe){var Pe=[];G(Fe);var Oe=Y(Te=W(Pe,Te,"message")),He=Te.length;Pe.push(Oe);var st=new q(0|o._crypto_hash_sha512_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_hash_sha512(tt,Oe,He,0))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid usage")}function l0(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_hash_sha512_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_hash_sha512_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function Ed(Te){var Fe=[];G(Te);var Pe=new q(208).address;if(!(0|o._crypto_hash_sha512_init(Pe))){var Oe=Pe;return ce(Fe),Oe}le(Fe,"invalid usage")}function vd(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_hash_sha512_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function Et(Te,Fe,Pe,Oe,He){var st=[];G(He),ae(st,Te,"subkey_len"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(st,"subkey_len must be an unsigned integer"),ae(st,Fe,"subkey_id");var tt,vt=0;if(typeof Fe=="bigint"&&Fe>=BigInt(0)){let Qn=Fe>>BigInt(32);Qn>BigInt(4294967295)&&pe(st,"subkey_id cannot be more than 64 bits"),vt=Number(Qn),tt=Number(Fe&BigInt(4294967295))}else typeof Fe=="number"&&(0|Fe)===Fe&&Fe>=0?tt=Fe:pe(st,"subkey_id must be an unsigned integer or bigint");typeof Pe!="string"&&pe(st,"ctx must be a string"),Pe=y(Pe+"\0"),mr!=null&&Pe.length-1!==mr&&pe(st,"invalid ctx length");var sr=Y(Pe),mr=Pe.length-1;st.push(sr),Oe=W(st,Oe,"key");var wr,Fr=0|o._crypto_kdf_keybytes();Oe.length!==Fr&&pe(st,"invalid key length"),wr=Y(Oe),st.push(wr);var Vr=new q(0|Te),on=Vr.address;st.push(on),o._crypto_kdf_derive_from_key(on,Te,tt,vt,sr,wr);var On=D(Vr,He);return ce(st),On}function XQ(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_kdf_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_kdf_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function ZQ(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"clientPublicKey");var st,tt=0|o._crypto_kx_publickeybytes();Te.length!==tt&&pe(He,"invalid clientPublicKey length"),st=Y(Te),He.push(st),Fe=W(He,Fe,"clientSecretKey");var vt,sr=0|o._crypto_kx_secretkeybytes();Fe.length!==sr&&pe(He,"invalid clientSecretKey length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"serverPublicKey");var mr,wr=0|o._crypto_kx_publickeybytes();Pe.length!==wr&&pe(He,"invalid serverPublicKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|o._crypto_kx_sessionkeybytes()),Vr=Fr.address;He.push(Vr);var on=new q(0|o._crypto_kx_sessionkeybytes()),On=on.address;if(He.push(On),!(0|o._crypto_kx_client_session_keys(Vr,On,st,vt,mr))){var Qn=D({sharedRx:Fr,sharedTx:on},Oe);return ce(He),Qn}le(He,"invalid usage")}function J5(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_kx_publickeybytes()),Oe=Pe.address;Fe.push(Oe);var He=new q(0|o._crypto_kx_secretkeybytes()),st=He.address;if(Fe.push(st),!(0|o._crypto_kx_keypair(Oe,st))){var tt={publicKey:D(Pe,Te),privateKey:D(He,Te),keyType:"x25519"};return ce(Fe),tt}le(Fe,"internal error")}function z5(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"seed");var Oe,He=0|o._crypto_kx_seedbytes();Te.length!==He&&pe(Pe,"invalid seed length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_kx_publickeybytes()),tt=st.address;Pe.push(tt);var vt=new q(0|o._crypto_kx_secretkeybytes()),sr=vt.address;if(Pe.push(sr),!(0|o._crypto_kx_seed_keypair(tt,sr,Oe))){var mr={publicKey:D(st,Fe),privateKey:D(vt,Fe),keyType:"x25519"};return ce(Pe),mr}le(Pe,"internal error")}function Ah(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"serverPublicKey");var st,tt=0|o._crypto_kx_publickeybytes();Te.length!==tt&&pe(He,"invalid serverPublicKey length"),st=Y(Te),He.push(st),Fe=W(He,Fe,"serverSecretKey");var vt,sr=0|o._crypto_kx_secretkeybytes();Fe.length!==sr&&pe(He,"invalid serverSecretKey length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"clientPublicKey");var mr,wr=0|o._crypto_kx_publickeybytes();Pe.length!==wr&&pe(He,"invalid clientPublicKey length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|o._crypto_kx_sessionkeybytes()),Vr=Fr.address;He.push(Vr);var on=new q(0|o._crypto_kx_sessionkeybytes()),On=on.address;if(He.push(On),!(0|o._crypto_kx_server_session_keys(Vr,On,st,vt,mr))){var Qn=D({sharedRx:Fr,sharedTx:on},Oe);return ce(He),Qn}le(He,"invalid usage")}function jQ(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_onetimeauth_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_onetimeauth_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_onetimeauth(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function eH(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"state_address");var Oe=new q(0|o._crypto_onetimeauth_bytes()),He=Oe.address;if(Pe.push(He),!(0|o._crypto_onetimeauth_final(Te,He))){var st=(o._free(Te),D(Oe,Fe));return ce(Pe),st}le(Pe,"invalid usage")}function I8(Te,Fe){var Pe=[];G(Fe);var Oe=null;Te!=null&&(Oe=Y(Te=W(Pe,Te,"key")),Te.length,Pe.push(Oe));var He=new q(144).address;if(!(0|o._crypto_onetimeauth_init(He,Oe))){var st=He;return ce(Pe),st}le(Pe,"invalid usage")}function K5(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_onetimeauth_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_onetimeauth_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function tH(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_onetimeauth_update(Te,He,st)&&le(Oe,"invalid usage"),ce(Oe)}function rH(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"hash");var He,st=0|o._crypto_onetimeauth_bytes();Te.length!==st&&pe(Oe,"invalid hash length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"key");var sr,mr=0|o._crypto_onetimeauth_keybytes();Pe.length!==mr&&pe(Oe,"invalid key length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_onetimeauth_verify(He,tt,vt,0,sr));return ce(Oe),wr}function nH(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt),ae(vt,Te,"keyLength"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(vt,"keyLength must be an unsigned integer");var sr=Y(Fe=W(vt,Fe,"password")),mr=Fe.length;vt.push(sr),Pe=W(vt,Pe,"salt");var wr,Fr=0|o._crypto_pwhash_saltbytes();Pe.length!==Fr&&pe(vt,"invalid salt length"),wr=Y(Pe),vt.push(wr),ae(vt,Oe,"opsLimit"),(typeof Oe!="number"||(0|Oe)!==Oe||Oe<0)&&pe(vt,"opsLimit must be an unsigned integer"),ae(vt,He,"memLimit"),(typeof He!="number"||(0|He)!==He||He<0)&&pe(vt,"memLimit must be an unsigned integer"),ae(vt,st,"algorithm"),(typeof st!="number"||(0|st)!==st||st<0)&&pe(vt,"algorithm must be an unsigned integer");var Vr=new q(0|Te),on=Vr.address;if(vt.push(on),!(0|o._crypto_pwhash(on,Te,0,sr,mr,0,wr,Oe,0,He,st))){var On=D(Vr,tt);return ce(vt),On}le(vt,"invalid usage")}function sM(Te,Fe,Pe,Oe,He,st){var tt=[];G(st),ae(tt,Te,"keyLength"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(tt,"keyLength must be an unsigned integer");var vt=Y(Fe=W(tt,Fe,"password")),sr=Fe.length;tt.push(vt),Pe=W(tt,Pe,"salt");var mr,wr=0|o._crypto_pwhash_scryptsalsa208sha256_saltbytes();Pe.length!==wr&&pe(tt,"invalid salt length"),mr=Y(Pe),tt.push(mr),ae(tt,Oe,"opsLimit"),(typeof Oe!="number"||(0|Oe)!==Oe||Oe<0)&&pe(tt,"opsLimit must be an unsigned integer"),ae(tt,He,"memLimit"),(typeof He!="number"||(0|He)!==He||He<0)&&pe(tt,"memLimit must be an unsigned integer");var Fr=new q(0|Te),Vr=Fr.address;if(tt.push(Vr),!(0|o._crypto_pwhash_scryptsalsa208sha256(Vr,Te,0,vt,sr,0,mr,Oe,0,He))){var on=D(Fr,st);return ce(tt),on}le(tt,"invalid usage")}function iH(Te,Fe,Pe,Oe,He,st,tt){var vt=[];G(tt);var sr=Y(Te=W(vt,Te,"password")),mr=Te.length;vt.push(sr);var wr=Y(Fe=W(vt,Fe,"salt")),Fr=Fe.length;vt.push(wr),ae(vt,Pe,"opsLimit"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(vt,"opsLimit must be an unsigned integer"),ae(vt,Oe,"r"),(typeof Oe!="number"||(0|Oe)!==Oe||Oe<0)&&pe(vt,"r must be an unsigned integer"),ae(vt,He,"p"),(typeof He!="number"||(0|He)!==He||He<0)&&pe(vt,"p must be an unsigned integer"),ae(vt,st,"keyLength"),(typeof st!="number"||(0|st)!==st||st<0)&&pe(vt,"keyLength must be an unsigned integer");var Vr=new q(0|st),on=Vr.address;if(vt.push(on),!(0|o._crypto_pwhash_scryptsalsa208sha256_ll(sr,mr,wr,Fr,Pe,0,Oe,He,on,st))){var On=D(Vr,tt);return ce(vt),On}le(vt,"invalid usage")}function cM(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"password")),tt=Te.length;He.push(st),ae(He,Fe,"opsLimit"),(typeof Fe!="number"||(0|Fe)!==Fe||Fe<0)&&pe(He,"opsLimit must be an unsigned integer"),ae(He,Pe,"memLimit"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(He,"memLimit must be an unsigned integer");var vt=new q(0|o._crypto_pwhash_scryptsalsa208sha256_strbytes()).address;if(He.push(vt),!(0|o._crypto_pwhash_scryptsalsa208sha256_str(vt,st,tt,0,Fe,0,Pe))){var sr=o.UTF8ToString(vt);return ce(He),sr}le(He,"invalid usage")}function uM(Te,Fe,Pe){var Oe=[];G(Pe),typeof Te!="string"&&pe(Oe,"hashed_password must be a string"),Te=y(Te+"\0"),st!=null&&Te.length-1!==st&&pe(Oe,"invalid hashed_password length");var He=Y(Te),st=Te.length-1;Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"password")),vt=Fe.length;Oe.push(tt);var sr=!(0|o._crypto_pwhash_scryptsalsa208sha256_str_verify(He,tt,vt,0));return ce(Oe),sr}function h0(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"password")),tt=Te.length;He.push(st),ae(He,Fe,"opsLimit"),(typeof Fe!="number"||(0|Fe)!==Fe||Fe<0)&&pe(He,"opsLimit must be an unsigned integer"),ae(He,Pe,"memLimit"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(He,"memLimit must be an unsigned integer");var vt=new q(0|o._crypto_pwhash_strbytes()).address;if(He.push(vt),!(0|o._crypto_pwhash_str(vt,st,tt,0,Fe,0,Pe))){var sr=o.UTF8ToString(vt);return ce(He),sr}le(He,"invalid usage")}function oH(Te,Fe,Pe,Oe){var He=[];G(Oe),typeof Te!="string"&&pe(He,"hashed_password must be a string"),Te=y(Te+"\0"),tt!=null&&Te.length-1!==tt&&pe(He,"invalid hashed_password length");var st=Y(Te),tt=Te.length-1;He.push(st),ae(He,Fe,"opsLimit"),(typeof Fe!="number"||(0|Fe)!==Fe||Fe<0)&&pe(He,"opsLimit must be an unsigned integer"),ae(He,Pe,"memLimit"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(He,"memLimit must be an unsigned integer");var vt=!!(0|o._crypto_pwhash_str_needs_rehash(st,Fe,0,Pe));return ce(He),vt}function aH(Te,Fe,Pe){var Oe=[];G(Pe),typeof Te!="string"&&pe(Oe,"hashed_password must be a string"),Te=y(Te+"\0"),st!=null&&Te.length-1!==st&&pe(Oe,"invalid hashed_password length");var He=Y(Te),st=Te.length-1;Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"password")),vt=Fe.length;Oe.push(tt);var sr=!(0|o._crypto_pwhash_str_verify(He,tt,vt,0));return ce(Oe),sr}function sH(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"privateKey");var He,st=0|o._crypto_scalarmult_scalarbytes();Te.length!==st&&pe(Oe,"invalid privateKey length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"publicKey");var tt,vt=0|o._crypto_scalarmult_bytes();Fe.length!==vt&&pe(Oe,"invalid publicKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_scalarmult_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_scalarmult(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"weak public key")}function GS(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"privateKey");var Oe,He=0|o._crypto_scalarmult_scalarbytes();Te.length!==He&&pe(Pe,"invalid privateKey length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_scalarmult_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_scalarmult_base(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"unknown error")}function dM(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"n");var He,st=0|o._crypto_scalarmult_ed25519_scalarbytes();Te.length!==st&&pe(Oe,"invalid n length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"p");var tt,vt=0|o._crypto_scalarmult_ed25519_bytes();Fe.length!==vt&&pe(Oe,"invalid p length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_scalarmult_ed25519_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_scalarmult_ed25519(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid point or scalar is 0")}function cH(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"scalar");var Oe,He=0|o._crypto_scalarmult_ed25519_scalarbytes();Te.length!==He&&pe(Pe,"invalid scalar length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_scalarmult_ed25519_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_scalarmult_ed25519_base(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"scalar is 0")}function uH(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"scalar");var Oe,He=0|o._crypto_scalarmult_ed25519_scalarbytes();Te.length!==He&&pe(Pe,"invalid scalar length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_scalarmult_ed25519_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_scalarmult_ed25519_base_noclamp(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"scalar is 0")}function $5(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"n");var He,st=0|o._crypto_scalarmult_ed25519_scalarbytes();Te.length!==st&&pe(Oe,"invalid n length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"p");var tt,vt=0|o._crypto_scalarmult_ed25519_bytes();Fe.length!==vt&&pe(Oe,"invalid p length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_scalarmult_ed25519_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_scalarmult_ed25519_noclamp(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid point or scalar is 0")}function fM(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"scalar");var He,st=0|o._crypto_scalarmult_ristretto255_scalarbytes();Te.length!==st&&pe(Oe,"invalid scalar length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"element");var tt,vt=0|o._crypto_scalarmult_ristretto255_bytes();Fe.length!==vt&&pe(Oe,"invalid element length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_scalarmult_ristretto255_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_scalarmult_ristretto255(mr,He,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"result is identity element")}function C8(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"scalar");var Oe,He=0|o._crypto_core_ristretto255_scalarbytes();Te.length!==He&&pe(Pe,"invalid scalar length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_core_ristretto255_bytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_scalarmult_ristretto255_base(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"scalar is 0")}function Ll(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_secretbox_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"key");var mr,wr=0|o._crypto_secretbox_keybytes();Pe.length!==wr&&pe(He,"invalid key length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|tt),Vr=Fr.address;He.push(Vr);var on=new q(0|o._crypto_secretbox_macbytes()),On=on.address;if(He.push(On),!(0|o._crypto_secretbox_detached(Vr,On,st,tt,0,vt,mr))){var Qn=D({mac:on,cipher:Fr},Oe);return ce(He),Qn}le(He,"invalid usage")}function Gu(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_secretbox_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"key");var mr,wr=0|o._crypto_secretbox_keybytes();Pe.length!==wr&&pe(He,"invalid key length"),mr=Y(Pe),He.push(mr);var Fr=new q(tt+o._crypto_secretbox_macbytes()|0),Vr=Fr.address;if(He.push(Vr),!(0|o._crypto_secretbox_easy(Vr,st,tt,0,vt,mr))){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function Y5(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_secretbox_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_secretbox_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function lM(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"ciphertext")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"mac");var sr,mr=0|o._crypto_secretbox_macbytes();Fe.length!==mr&&pe(st,"invalid mac length"),sr=Y(Fe),st.push(sr),Pe=W(st,Pe,"nonce");var wr,Fr=0|o._crypto_secretbox_noncebytes();Pe.length!==Fr&&pe(st,"invalid nonce length"),wr=Y(Pe),st.push(wr),Oe=W(st,Oe,"key");var Vr,on=0|o._crypto_secretbox_keybytes();Oe.length!==on&&pe(st,"invalid key length"),Vr=Y(Oe),st.push(Vr);var On=new q(0|vt),Qn=On.address;if(st.push(Qn),!(0|o._crypto_secretbox_open_detached(Qn,tt,sr,vt,0,wr,Vr))){var bi=D(On,He);return ce(st),bi}le(st,"wrong secret key for the given ciphertext")}function dv(Te,Fe,Pe,Oe){var He=[];G(Oe),Te=W(He,Te,"ciphertext");var st,tt=o._crypto_secretbox_macbytes(),vt=Te.length;vt<tt&&pe(He,"ciphertext is too short"),st=Y(Te),He.push(st),Fe=W(He,Fe,"nonce");var sr,mr=0|o._crypto_secretbox_noncebytes();Fe.length!==mr&&pe(He,"invalid nonce length"),sr=Y(Fe),He.push(sr),Pe=W(He,Pe,"key");var wr,Fr=0|o._crypto_secretbox_keybytes();Pe.length!==Fr&&pe(He,"invalid key length"),wr=Y(Pe),He.push(wr);var Vr=new q(vt-o._crypto_secretbox_macbytes()|0),on=Vr.address;if(He.push(on),!(0|o._crypto_secretbox_open_easy(on,st,vt,0,sr,wr))){var On=D(Vr,Oe);return ce(He),On}le(He,"wrong secret key for the given ciphertext")}function hM(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"header");var He,st=0|o._crypto_secretstream_xchacha20poly1305_headerbytes();Te.length!==st&&pe(Oe,"invalid header length"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_secretstream_xchacha20poly1305_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(52).address;if(!(0|o._crypto_secretstream_xchacha20poly1305_init_pull(sr,He,tt))){var mr=sr;return ce(Oe),mr}le(Oe,"invalid usage")}function $2(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"key");var Oe,He=0|o._crypto_secretstream_xchacha20poly1305_keybytes();Te.length!==He&&pe(Pe,"invalid key length"),Oe=Y(Te),Pe.push(Oe);var st=new q(52).address,tt=new q(0|o._crypto_secretstream_xchacha20poly1305_headerbytes()),vt=tt.address;if(Pe.push(vt),!(0|o._crypto_secretstream_xchacha20poly1305_init_push(st,vt,Oe))){var sr={state:st,header:D(tt,Fe)};return ce(Pe),sr}le(Pe,"invalid usage")}function qS(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_secretstream_xchacha20poly1305_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_secretstream_xchacha20poly1305_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function dH(Te,Fe,Pe,Oe){var He=[];G(Oe),ae(He,Te,"state_address"),Fe=W(He,Fe,"cipher");var st,tt=o._crypto_secretstream_xchacha20poly1305_abytes(),vt=Fe.length;vt<tt&&pe(He,"cipher is too short"),st=Y(Fe),He.push(st);var sr=null,mr=0;Pe!=null&&(sr=Y(Pe=W(He,Pe,"ad")),mr=Pe.length,He.push(sr));var wr=new q(vt-o._crypto_secretstream_xchacha20poly1305_abytes()|0),Fr=wr.address;He.push(Fr);var Vr,on=(Vr=ne(1),He.push(Vr),(on=o._crypto_secretstream_xchacha20poly1305_pull(Te,Fr,0,Vr,st,vt,0,sr,mr)===0&&{tag:o.HEAPU8[Vr],message:wr})&&{message:D(on.message,Oe),tag:on.tag});return ce(He),on}function fH(Te,Fe,Pe,Oe,He){var st=[];G(He),ae(st,Te,"state_address");var tt=Y(Fe=W(st,Fe,"message_chunk")),vt=Fe.length;st.push(tt);var sr=null,mr=0;Pe!=null&&(sr=Y(Pe=W(st,Pe,"ad")),mr=Pe.length,st.push(sr)),ae(st,Oe,"tag"),(typeof Oe!="number"||(0|Oe)!==Oe||Oe<0)&&pe(st,"tag must be an unsigned integer");var wr=new q(vt+o._crypto_secretstream_xchacha20poly1305_abytes()|0),Fr=wr.address;if(st.push(Fr),!(0|o._crypto_secretstream_xchacha20poly1305_push(Te,Fr,0,tt,vt,0,sr,mr,0,Oe))){var Vr=D(wr,He);return ce(st),Vr}le(st,"invalid usage")}function L0(Te,Fe){var Pe=[];return G(Fe),ae(Pe,Te,"state_address"),o._crypto_secretstream_xchacha20poly1305_rekey(Te),ce(Pe),!0}function Y2(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_shorthash_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_shorthash_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_shorthash(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function AM(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_shorthash_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_shorthash_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function fv(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"key");var tt,vt=0|o._crypto_shorthash_siphashx24_keybytes();Fe.length!==vt&&pe(Oe,"invalid key length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_shorthash_siphashx24_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_shorthash_siphashx24(mr,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function Rd(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"privateKey");var tt,vt=0|o._crypto_sign_secretkeybytes();Fe.length!==vt&&pe(Oe,"invalid privateKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(Te.length+o._crypto_sign_bytes()|0),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_sign(mr,null,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function w1(Te,Fe,Pe){var Oe=[];G(Pe);var He=Y(Te=W(Oe,Te,"message")),st=Te.length;Oe.push(He),Fe=W(Oe,Fe,"privateKey");var tt,vt=0|o._crypto_sign_secretkeybytes();Fe.length!==vt&&pe(Oe,"invalid privateKey length"),tt=Y(Fe),Oe.push(tt);var sr=new q(0|o._crypto_sign_bytes()),mr=sr.address;if(Oe.push(mr),!(0|o._crypto_sign_detached(mr,null,He,st,0,tt))){var wr=D(sr,Pe);return ce(Oe),wr}le(Oe,"invalid usage")}function pM(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"edPk");var Oe,He=0|o._crypto_sign_publickeybytes();Te.length!==He&&pe(Pe,"invalid edPk length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_scalarmult_scalarbytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_sign_ed25519_pk_to_curve25519(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid key")}function lH(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"edSk");var Oe,He=0|o._crypto_sign_secretkeybytes();Te.length!==He&&pe(Pe,"invalid edSk length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_scalarmult_scalarbytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_sign_ed25519_sk_to_curve25519(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid key")}function hH(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"privateKey");var Oe,He=0|o._crypto_sign_secretkeybytes();Te.length!==He&&pe(Pe,"invalid privateKey length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_sign_publickeybytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_sign_ed25519_sk_to_pk(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid key")}function W2(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"privateKey");var Oe,He=0|o._crypto_sign_secretkeybytes();Te.length!==He&&pe(Pe,"invalid privateKey length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_sign_seedbytes()),tt=st.address;if(Pe.push(tt),!(0|o._crypto_sign_ed25519_sk_to_seed(tt,Oe))){var vt=D(st,Fe);return ce(Pe),vt}le(Pe,"invalid key")}function AH(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address"),Fe=W(Oe,Fe,"privateKey");var He,st=0|o._crypto_sign_secretkeybytes();Fe.length!==st&&pe(Oe,"invalid privateKey length"),He=Y(Fe),Oe.push(He);var tt=new q(0|o._crypto_sign_bytes()),vt=tt.address;if(Oe.push(vt),!(0|o._crypto_sign_final_create(Te,vt,null,He))){var sr=(o._free(Te),D(tt,Pe));return ce(Oe),sr}le(Oe,"invalid usage")}function My(Te,Fe,Pe,Oe){var He=[];G(Oe),ae(He,Te,"state_address"),Fe=W(He,Fe,"signature");var st,tt=0|o._crypto_sign_bytes();Fe.length!==tt&&pe(He,"invalid signature length"),st=Y(Fe),He.push(st),Pe=W(He,Pe,"publicKey");var vt,sr=0|o._crypto_sign_publickeybytes();Pe.length!==sr&&pe(He,"invalid publicKey length"),vt=Y(Pe),He.push(vt);var mr=!(0|o._crypto_sign_final_verify(Te,st,vt));return ce(He),mr}function gM(Te){var Fe=[];G(Te);var Pe=new q(208).address;if(!(0|o._crypto_sign_init(Pe))){var Oe=Pe;return ce(Fe),Oe}le(Fe,"internal error")}function pH(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_sign_publickeybytes()),Oe=Pe.address;Fe.push(Oe);var He=new q(0|o._crypto_sign_secretkeybytes()),st=He.address;if(Fe.push(st),!(0|o._crypto_sign_keypair(Oe,st))){var tt={publicKey:D(Pe,Te),privateKey:D(He,Te),keyType:"ed25519"};return ce(Fe),tt}le(Fe,"internal error")}function gH(Te,Fe,Pe){var Oe=[];G(Pe),Te=W(Oe,Te,"signedMessage");var He,st=o._crypto_sign_bytes(),tt=Te.length;tt<st&&pe(Oe,"signedMessage is too short"),He=Y(Te),Oe.push(He),Fe=W(Oe,Fe,"publicKey");var vt,sr=0|o._crypto_sign_publickeybytes();Fe.length!==sr&&pe(Oe,"invalid publicKey length"),vt=Y(Fe),Oe.push(vt);var mr=new q(tt-o._crypto_sign_bytes()|0),wr=mr.address;if(Oe.push(wr),!(0|o._crypto_sign_open(wr,null,He,tt,0,vt))){var Fr=D(mr,Pe);return ce(Oe),Fr}le(Oe,"incorrect signature for the given public key")}function _M(Te,Fe){var Pe=[];G(Fe),Te=W(Pe,Te,"seed");var Oe,He=0|o._crypto_sign_seedbytes();Te.length!==He&&pe(Pe,"invalid seed length"),Oe=Y(Te),Pe.push(Oe);var st=new q(0|o._crypto_sign_publickeybytes()),tt=st.address;Pe.push(tt);var vt=new q(0|o._crypto_sign_secretkeybytes()),sr=vt.address;if(Pe.push(sr),!(0|o._crypto_sign_seed_keypair(tt,sr,Oe))){var mr={publicKey:D(st,Fe),privateKey:D(vt,Fe),keyType:"ed25519"};return ce(Pe),mr}le(Pe,"invalid usage")}function X2(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"state_address");var He=Y(Fe=W(Oe,Fe,"message_chunk")),st=Fe.length;Oe.push(He),0|o._crypto_sign_update(Te,He,st,0)&&le(Oe,"invalid usage"),ce(Oe)}function lv(Te,Fe,Pe){var Oe=[];Te=W(Oe,Te,"signature");var He,st=0|o._crypto_sign_bytes();Te.length!==st&&pe(Oe,"invalid signature length"),He=Y(Te),Oe.push(He);var tt=Y(Fe=W(Oe,Fe,"message")),vt=Fe.length;Oe.push(tt),Pe=W(Oe,Pe,"publicKey");var sr,mr=0|o._crypto_sign_publickeybytes();Pe.length!==mr&&pe(Oe,"invalid publicKey length"),sr=Y(Pe),Oe.push(sr);var wr=!(0|o._crypto_sign_verify_detached(He,tt,vt,0,sr));return ce(Oe),wr}function mM(Te,Fe,Pe,Oe){var He=[];G(Oe),ae(He,Te,"outLength"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(He,"outLength must be an unsigned integer"),Fe=W(He,Fe,"key");var st,tt=0|o._crypto_stream_chacha20_keybytes();Fe.length!==tt&&pe(He,"invalid key length"),st=Y(Fe),He.push(st),Pe=W(He,Pe,"nonce");var vt,sr=0|o._crypto_stream_chacha20_noncebytes();Pe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Pe),He.push(vt);var mr=new q(0|Te),wr=mr.address;He.push(wr),o._crypto_stream_chacha20(wr,Te,0,vt,st);var Fr=D(mr,Oe);return ce(He),Fr}function _H(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"input_message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_stream_chacha20_ietf_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"key");var mr,wr=0|o._crypto_stream_chacha20_ietf_keybytes();Pe.length!==wr&&pe(He,"invalid key length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|tt),Vr=Fr.address;if(He.push(Vr),o._crypto_stream_chacha20_ietf_xor(Vr,st,tt,0,vt,mr)===0){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function mH(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"input_message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_stream_chacha20_ietf_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),ae(st,Pe,"nonce_increment"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(st,"nonce_increment must be an unsigned integer"),Oe=W(st,Oe,"key");var wr,Fr=0|o._crypto_stream_chacha20_ietf_keybytes();Oe.length!==Fr&&pe(st,"invalid key length"),wr=Y(Oe),st.push(wr);var Vr=new q(0|vt),on=Vr.address;if(st.push(on),o._crypto_stream_chacha20_ietf_xor_ic(on,tt,vt,0,sr,Pe,wr)===0){var On=D(Vr,He);return ce(st),On}le(st,"invalid usage")}function w8(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_stream_chacha20_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_stream_chacha20_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function yM(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"input_message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_stream_chacha20_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"key");var mr,wr=0|o._crypto_stream_chacha20_keybytes();Pe.length!==wr&&pe(He,"invalid key length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|tt),Vr=Fr.address;if(He.push(Vr),o._crypto_stream_chacha20_xor(Vr,st,tt,0,vt,mr)===0){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function yH(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"input_message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_stream_chacha20_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),ae(st,Pe,"nonce_increment"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(st,"nonce_increment must be an unsigned integer"),Oe=W(st,Oe,"key");var wr,Fr=0|o._crypto_stream_chacha20_keybytes();Oe.length!==Fr&&pe(st,"invalid key length"),wr=Y(Oe),st.push(wr);var Vr=new q(0|vt),on=Vr.address;if(st.push(on),o._crypto_stream_chacha20_xor_ic(on,tt,vt,0,sr,Pe,0,wr)===0){var On=D(Vr,He);return ce(st),On}le(st,"invalid usage")}function Sd(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_stream_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_stream_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function bH(Te){var Fe=[];G(Te);var Pe=new q(0|o._crypto_stream_xchacha20_keybytes()),Oe=Pe.address;Fe.push(Oe),o._crypto_stream_xchacha20_keygen(Oe);var He=D(Pe,Te);return ce(Fe),He}function EH(Te,Fe,Pe,Oe){var He=[];G(Oe);var st=Y(Te=W(He,Te,"input_message")),tt=Te.length;He.push(st),Fe=W(He,Fe,"nonce");var vt,sr=0|o._crypto_stream_xchacha20_noncebytes();Fe.length!==sr&&pe(He,"invalid nonce length"),vt=Y(Fe),He.push(vt),Pe=W(He,Pe,"key");var mr,wr=0|o._crypto_stream_xchacha20_keybytes();Pe.length!==wr&&pe(He,"invalid key length"),mr=Y(Pe),He.push(mr);var Fr=new q(0|tt),Vr=Fr.address;if(He.push(Vr),o._crypto_stream_xchacha20_xor(Vr,st,tt,0,vt,mr)===0){var on=D(Fr,Oe);return ce(He),on}le(He,"invalid usage")}function vH(Te,Fe,Pe,Oe,He){var st=[];G(He);var tt=Y(Te=W(st,Te,"input_message")),vt=Te.length;st.push(tt),Fe=W(st,Fe,"nonce");var sr,mr=0|o._crypto_stream_xchacha20_noncebytes();Fe.length!==mr&&pe(st,"invalid nonce length"),sr=Y(Fe),st.push(sr),ae(st,Pe,"nonce_increment"),(typeof Pe!="number"||(0|Pe)!==Pe||Pe<0)&&pe(st,"nonce_increment must be an unsigned integer"),Oe=W(st,Oe,"key");var wr,Fr=0|o._crypto_stream_xchacha20_keybytes();Oe.length!==Fr&&pe(st,"invalid key length"),wr=Y(Oe),st.push(wr);var Vr=new q(0|vt),on=Vr.address;if(st.push(on),o._crypto_stream_xchacha20_xor_ic(on,tt,vt,0,sr,Pe,0,wr)===0){var On=D(Vr,He);return ce(st),On}le(st,"invalid usage")}function mc(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"length"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(Pe,"length must be an unsigned integer");var Oe=new q(0|Te),He=Oe.address;Pe.push(He),o._randombytes_buf(He,Te);var st=D(Oe,Fe);return ce(Pe),st}function un(Te,Fe,Pe){var Oe=[];G(Pe),ae(Oe,Te,"length"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(Oe,"length must be an unsigned integer"),Fe=W(Oe,Fe,"seed");var He,st=0|o._randombytes_seedbytes();Fe.length!==st&&pe(Oe,"invalid seed length"),He=Y(Fe),Oe.push(He);var tt=new q(0|Te),vt=tt.address;Oe.push(vt),o._randombytes_buf_deterministic(vt,Te,He);var sr=D(tt,Pe);return ce(Oe),sr}function RH(Te){G(Te),o._randombytes_close()}function bM(Te){G(Te);var Fe=o._randombytes_random()>>>0;return ce([]),Fe}function vg(Te,Fe){var Pe=[];G(Fe);for(var Oe=o._malloc(24),He=0;He<6;He++)o.setValue(Oe+4*He,o.Runtime.addFunction(Te[["implementation_name","random","stir","uniform","buf","close"][He]]),"i32");0|o._randombytes_set_implementation(Oe)&&le(Pe,"unsupported implementation"),ce(Pe)}function SH(Te){G(Te),o._randombytes_stir()}function yc(Te,Fe){var Pe=[];G(Fe),ae(Pe,Te,"upper_bound"),(typeof Te!="number"||(0|Te)!==Te||Te<0)&&pe(Pe,"upper_bound must be an unsigned integer");var Oe=o._randombytes_uniform(Te)>>>0;return ce(Pe),Oe}function Z2(){var Te=o._sodium_version_string(),Fe=o.UTF8ToString(Te);return ce([]),Fe}return q.prototype.to_Uint8Array=function(){var Te=new Uint8Array(this.length);return Te.set(o.HEAPU8.subarray(this.address,this.address+this.length)),Te},i.add=function(Te,Fe){if(!(Te instanceof Uint8Array&&Fe instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can added");var Pe=Te.length,Oe=0,He=0;if(Fe.length!=Te.length)throw new TypeError("Arguments must have the same length");for(He=0;He<Pe;He++)Oe>>=8,Oe+=Te[He]+Fe[He],Te[He]=255&Oe},i.base64_variants=N,i.compare=function(Te,Fe){if(!(Te instanceof Uint8Array&&Fe instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(Te.length!==Fe.length)throw new TypeError("Only instances of identical length can be compared");for(var Pe=0,Oe=1,He=Te.length;He-- >0;)Pe|=Fe[He]-Te[He]>>8&Oe,Oe&=(Fe[He]^Te[He])-1>>8;return Pe+Pe+Oe-1},i.from_base64=function(Te,Fe){Fe=T(Fe);var Pe,Oe=[],He=new q(3*(Te=W(Oe,Te,"input")).length/4),st=Y(Te),tt=ne(4),vt=ne(4);return Oe.push(st),Oe.push(He.address),Oe.push(He.result_bin_len_p),Oe.push(He.b64_end_p),o._sodium_base642bin(He.address,He.length,st,Te.length,0,tt,vt,Fe)!==0&&le(Oe,"invalid input"),o.getValue(vt,"i32")-st!==Te.length&&le(Oe,"incomplete input"),He.length=o.getValue(tt,"i32"),Pe=He.to_Uint8Array(),ce(Oe),Pe},i.from_hex=function(Te){var Fe,Pe=[],Oe=new q((Te=W(Pe,Te,"input")).length/2),He=Y(Te),st=ne(4);return Pe.push(He),Pe.push(Oe.address),Pe.push(Oe.hex_end_p),o._sodium_hex2bin(Oe.address,Oe.length,He,Te.length,0,0,st)!==0&&le(Pe,"invalid input"),o.getValue(st,"i32")-He!==Te.length&&le(Pe,"incomplete input"),Fe=Oe.to_Uint8Array(),ce(Pe),Fe},i.from_string=y,i.increment=function(Te){if(!(Te instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be incremented");for(var Fe=256,Pe=0,Oe=Te.length;Pe<Oe;Pe++)Fe>>=8,Fe+=Te[Pe],Te[Pe]=255&Fe},i.is_zero=function(Te){if(!(Te instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be checked");for(var Fe=0,Pe=0,Oe=Te.length;Pe<Oe;Pe++)Fe|=Te[Pe];return Fe===0},i.libsodium=n,i.memcmp=function(Te,Fe){if(!(Te instanceof Uint8Array&&Fe instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(Te.length!==Fe.length)throw new TypeError("Only instances of identical length can be compared");for(var Pe=0,Oe=0,He=Te.length;Oe<He;Oe++)Pe|=Te[Oe]^Fe[Oe];return Pe===0},i.memzero=function(Te){if(!(Te instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be wiped");for(var Fe=0,Pe=Te.length;Fe<Pe;Fe++)Te[Fe]=0},i.output_formats=function(){return["uint8array","text","hex","base64"]},i.pad=function(Te,Fe){if(!(Te instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((Fe|=0)<=0)throw new Error("block size must be > 0");var Pe,Oe=[],He=ne(4),st=1,tt=0,vt=0|Te.length,sr=new q(vt+Fe);Oe.push(He),Oe.push(sr.address);for(var mr=sr.address,wr=sr.address+vt+Fe;mr<wr;mr++)o.HEAPU8[mr]=Te[tt],tt+=st=1&~((65535&((vt-=st)>>>48|vt>>>32|vt>>>16|vt))-1>>16);return o._sodium_pad(He,sr.address,Te.length,Fe,sr.length)!==0&&le(Oe,"internal error"),sr.length=o.getValue(He,"i32"),Pe=sr.to_Uint8Array(),ce(Oe),Pe},i.unpad=function(Te,Fe){if(!(Te instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((Fe|=0)<=0)throw new Error("block size must be > 0");var Pe=[],Oe=Y(Te),He=ne(4);return Pe.push(Oe),Pe.push(He),o._sodium_unpad(He,Oe,Te.length,Fe)!==0&&le(Pe,"unsupported/invalid padding"),Te=(Te=new Uint8Array(Te)).subarray(0,o.getValue(He,"i32")),ce(Pe),Te},i.ready=g,i.symbols=function(){return Object.keys(i).sort()},i.to_base64=M,i.to_hex=I,i.to_string=_,i}var r=typeof e.sodium=="object"&&typeof e.sodium.onload=="function"?e.sodium.onload:null;typeof define=="function"&&define.amd?define(["exports","libsodium-sumo"],t):typeof lP=="object"&&typeof lP.nodeName!="string"?t(lP,wet()):e.sodium=t(e.commonJsStrict={},e.libsodium),r&&e.sodium.ready.then((function(){r(e.sodium)}))})(lP)});var Net=ir(Lh=>{"use strict";J();K();z();var wQt=Lh&&Lh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lh,"__esModule",{value:!0});Lh.Xchacha20poly1305Ietf=Lh.xchacha20NonceLength=Lh.Ed25519=Lh.Ed25519Keypair=Lh.Argon2id=Lh.isArgon2idOptions=void 0;var OQt=Uf(),Y1=wQt(Oet());function NQt(e){return!(!(0,OQt.isNonNullObject)(e)||typeof e.outputLength!="number"||typeof e.opsLimit!="number"||typeof e.memLimitKib!="number")}Lh.isArgon2idOptions=NQt;var Ehe=class{static async execute(t,r,i){return await Y1.default.ready,Y1.default.crypto_pwhash(i.outputLength,t,r,i.opsLimit,i.memLimitKib*1024,Y1.default.crypto_pwhash_ALG_ARGON2ID13)}};Lh.Argon2id=Ehe;var Nz=class e{static fromLibsodiumPrivkey(t){if(t.length!==64)throw new Error(`Unexpected key length ${t.length}. Must be 64.`);return new e(t.slice(0,32),t.slice(32,64))}constructor(t,r){this.privkey=t,this.pubkey=r}toLibsodiumPrivkey(){return new Uint8Array([...this.privkey,...this.pubkey])}};Lh.Ed25519Keypair=Nz;var vhe=class{static async makeKeypair(t){await Y1.default.ready;let r=Y1.default.crypto_sign_seed_keypair(t);return Nz.fromLibsodiumPrivkey(r.privateKey)}static async createSignature(t,r){return await Y1.default.ready,Y1.default.crypto_sign_detached(t,r.toLibsodiumPrivkey())}static async verifySignature(t,r,i){return await Y1.default.ready,Y1.default.crypto_sign_verify_detached(t,r,i)}};Lh.Ed25519=vhe;Lh.xchacha20NonceLength=24;var Rhe=class{static async encrypt(t,r,i){return await Y1.default.ready,Y1.default.crypto_aead_xchacha20poly1305_ietf_encrypt(t,null,null,i,r)}static async decrypt(t,r,i){return await Y1.default.ready,Y1.default.crypto_aead_xchacha20poly1305_ietf_decrypt(null,t,null,i,r)}};Lh.Xchacha20poly1305Ietf=Rhe});var xet=ir(xz=>{"use strict";J();K();z();Object.defineProperty(xz,"__esModule",{value:!0});xz.Random=void 0;var She=class{static getBytes(t){try{let r=typeof window=="object"?window:self,i=typeof r.crypto<"u"?r.crypto:r.msCrypto,n=new Uint8Array(t);return i.getRandomValues(n),n}catch{try{let r=(IA(),Zu(Lv));return new Uint8Array([...r.randomBytes(t)])}catch{throw new Error("No secure random number generator found")}}}};xz.Random=She});var Let=ir(kp=>{"use strict";J();K();z();Object.defineProperty(kp,"__esModule",{value:!0});kp.ripemd160=kp.RIPEMD160=kp.md5=kp.MD5=kp.sha1=kp.SHA1=void 0;var AC=xle(),zl=iC(),VN=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),fI=new Uint32Array(80),Mz=class extends AC.HashMD{constructor(){super(64,20,8,!1),this.A=VN[0]|0,this.B=VN[1]|0,this.C=VN[2]|0,this.D=VN[3]|0,this.E=VN[4]|0}get(){let{A:t,B:r,C:i,D:n,E:o}=this;return[t,r,i,n,o]}set(t,r,i,n,o){this.A=t|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=o|0}process(t,r){for(let y=0;y<16;y++,r+=4)fI[y]=t.getUint32(r,!1);for(let y=16;y<80;y++)fI[y]=(0,zl.rotl)(fI[y-3]^fI[y-8]^fI[y-14]^fI[y-16],1);let{A:i,B:n,C:o,D:d,E:g}=this;for(let y=0;y<80;y++){let _,I;y<20?(_=(0,AC.Chi)(n,o,d),I=1518500249):y<40?(_=n^o^d,I=1859775393):y<60?(_=(0,AC.Maj)(n,o,d),I=2400959708):(_=n^o^d,I=3395469782);let N=(0,zl.rotl)(i,5)+_+g+I+fI[y]|0;g=d,d=o,o=(0,zl.rotl)(n,30),n=i,i=N}i=i+this.A|0,n=n+this.B|0,o=o+this.C|0,d=d+this.D|0,g=g+this.E|0,this.set(i,n,o,d,g)}roundClean(){(0,zl.clean)(fI)}destroy(){this.set(0,0,0,0,0),(0,zl.clean)(this.buffer)}};kp.SHA1=Mz;kp.sha1=(0,zl.createHasher)(()=>new Mz);var xQt=Math.pow(2,32),TQt=Array.from({length:64},(e,t)=>Math.floor(xQt*Math.abs(Math.sin(t+1)))),Tz=VN.slice(0,4),Ihe=new Uint32Array(16),Dz=class extends AC.HashMD{constructor(){super(64,16,8,!0),this.A=Tz[0]|0,this.B=Tz[1]|0,this.C=Tz[2]|0,this.D=Tz[3]|0}get(){let{A:t,B:r,C:i,D:n}=this;return[t,r,i,n]}set(t,r,i,n){this.A=t|0,this.B=r|0,this.C=i|0,this.D=n|0}process(t,r){for(let g=0;g<16;g++,r+=4)Ihe[g]=t.getUint32(r,!0);let{A:i,B:n,C:o,D:d}=this;for(let g=0;g<64;g++){let y,_,I;g<16?(y=(0,AC.Chi)(n,o,d),_=g,I=[7,12,17,22]):g<32?(y=(0,AC.Chi)(d,n,o),_=(5*g+1)%16,I=[5,9,14,20]):g<48?(y=n^o^d,_=(3*g+5)%16,I=[4,11,16,23]):(y=o^(n|~d),_=7*g%16,I=[6,10,15,21]),y=y+i+TQt[g]+Ihe[_],i=d,d=o,o=n,n=n+(0,zl.rotl)(y,I[g%4])}i=i+this.A|0,n=n+this.B|0,o=o+this.C|0,d=d+this.D|0,this.set(i,n,o,d)}roundClean(){(0,zl.clean)(Ihe)}destroy(){this.set(0,0,0,0),(0,zl.clean)(this.buffer)}};kp.MD5=Dz;kp.md5=(0,zl.createHasher)(()=>new Dz);var BQt=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Bet=Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)),MQt=Bet.map(e=>(9*e+5)%16),Met=(()=>{let r=[[Bet],[MQt]];for(let i=0;i<4;i++)for(let n of r)n.push(n[i].map(o=>BQt[o]));return r})(),Det=Met[0],ket=Met[1],Pet=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),DQt=Det.map((e,t)=>e.map(r=>Pet[t][r])),kQt=ket.map((e,t)=>e.map(r=>Pet[t][r])),PQt=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),LQt=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function Tet(e,t,r,i){return e===0?t^r^i:e===1?t&r|~t&i:e===2?(t|~r)^i:e===3?t&i|r&~i:t^(r|~i)}var Bz=new Uint32Array(16),kz=class extends AC.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:t,h1:r,h2:i,h3:n,h4:o}=this;return[t,r,i,n,o]}set(t,r,i,n,o){this.h0=t|0,this.h1=r|0,this.h2=i|0,this.h3=n|0,this.h4=o|0}process(t,r){for(let M=0;M<16;M++,r+=4)Bz[M]=t.getUint32(r,!0);let i=this.h0|0,n=i,o=this.h1|0,d=o,g=this.h2|0,y=g,_=this.h3|0,I=_,N=this.h4|0,T=N;for(let M=0;M<5;M++){let D=4-M,P=PQt[M],G=LQt[M],q=Det[M],Y=ket[M],ne=DQt[M],ce=kQt[M];for(let le=0;le<16;le++){let pe=(0,zl.rotl)(i+Tet(M,o,g,_)+Bz[q[le]]+P,ne[le])+N|0;i=N,N=_,_=(0,zl.rotl)(g,10)|0,g=o,o=pe}for(let le=0;le<16;le++){let pe=(0,zl.rotl)(n+Tet(D,d,y,I)+Bz[Y[le]]+G,ce[le])+T|0;n=T,T=I,I=(0,zl.rotl)(y,10)|0,y=d,d=pe}}this.set(this.h1+g+I|0,this.h2+_+T|0,this.h3+N+n|0,this.h4+i+d|0,this.h0+o+y|0)}roundClean(){(0,zl.clean)(Bz)}destroy(){this.destroyed=!0,(0,zl.clean)(this.buffer),this.set(0,0,0,0,0)}};kp.RIPEMD160=kz;kp.ripemd160=(0,zl.createHasher)(()=>new kz)});var Fet=ir(JN=>{"use strict";J();K();z();Object.defineProperty(JN,"__esModule",{value:!0});JN.ripemd160=JN.RIPEMD160=void 0;var Uet=Let();JN.RIPEMD160=Uet.RIPEMD160;JN.ripemd160=Uet.ripemd160});var Qet=ir(zN=>{"use strict";J();K();z();Object.defineProperty(zN,"__esModule",{value:!0});zN.ripemd160=zN.Ripemd160=void 0;var UQt=Fet(),FQt=dz(),Pz=class{constructor(t){this.blockSize=512/8,this.impl=UQt.ripemd160.create(),t&&this.update(t)}update(t){return this.impl.update((0,FQt.toRealUint8Array)(t)),this}digest(){return this.impl.digest()}};zN.Ripemd160=Pz;function QQt(e){return new Pz(e).digest()}zN.ripemd160=QQt});var whe=ir($N=>{"use strict";J();K();z();Object.defineProperty($N,"__esModule",{value:!0});$N.ExtendedSecp256k1Signature=$N.Secp256k1Signature=void 0;function KN(e){let t=0;for(let r of e)if(r===0)t++;else break;return e.slice(t)}var Lz=2,Uz=class e{static fromFixedLength(t){if(t.length!==64)throw new Error(`Got invalid data length: ${t.length}. Expected 2x 32 bytes for the pair (r, s)`);return new e(KN(t.slice(0,32)),KN(t.slice(32,64)))}static fromDer(t){let r=0;if(t[r++]!==48)throw new Error("Prefix 0x30 expected");let i=t[r++];if(t.length-r!==i)throw new Error("Data length mismatch detected");if(t[r++]!==Lz)throw new Error("INTEGER tag expected");let o=t[r++];if(o>=128)throw new Error("Decoding length values above 127 not supported");let d=t.slice(r,r+o);if(r+=o,t[r++]!==Lz)throw new Error("INTEGER tag expected");let y=t[r++];if(y>=128)throw new Error("Decoding length values above 127 not supported");let _=t.slice(r,r+y);return r+=y,new e(KN(d),KN(_))}constructor(t,r){if(t.length>32||t.length===0||t[0]===0)throw new Error("Unsigned integer r must be encoded as unpadded big endian.");if(r.length>32||r.length===0||r[0]===0)throw new Error("Unsigned integer s must be encoded as unpadded big endian.");this.data={r:t,s:r}}r(t){if(t===void 0)return this.data.r;{let r=t-this.data.r.length;if(r<0)throw new Error("Length too small to hold parameter r");let i=new Uint8Array(r);return new Uint8Array([...i,...this.data.r])}}s(t){if(t===void 0)return this.data.s;{let r=t-this.data.s.length;if(r<0)throw new Error("Length too small to hold parameter s");let i=new Uint8Array(r);return new Uint8Array([...i,...this.data.s])}}toFixedLength(){return new Uint8Array([...this.r(32),...this.s(32)])}toDer(){let t=this.data.r[0]>=128?new Uint8Array([0,...this.data.r]):this.data.r,r=this.data.s[0]>=128?new Uint8Array([0,...this.data.s]):this.data.s,i=t.length,n=r.length,o=new Uint8Array([Lz,i,...t,Lz,n,...r]);return new Uint8Array([48,o.length,...o])}};$N.Secp256k1Signature=Uz;var Che=class e extends Uz{static fromFixedLength(t){if(t.length!==65)throw new Error(`Got invalid data length ${t.length}. Expected 32 + 32 + 1`);return new e(KN(t.slice(0,32)),KN(t.slice(32,64)),t[64])}constructor(t,r,i){if(super(t,r),!Number.isInteger(i))throw new Error("The recovery parameter must be an integer.");if(i<0||i>4)throw new Error("The recovery parameter must be one of 0, 1, 2, 3.");this.recovery=i}toFixedLength(){return new Uint8Array([...this.r(32),...this.s(32),this.recovery])}};$N.ExtendedSecp256k1Signature=Che});var qet=ir(YN=>{"use strict";J();K();z();var Het=YN&&YN.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(YN,"__esModule",{value:!0});YN.Secp256k1=void 0;var Fz=Ps(),Get=Het(qv()),HQt=Het(_J()),GQt=whe(),pC=new HQt.default.ec("secp256k1"),qQt=new Get.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141","hex"),Ohe=class{static async makeKeypair(t){if(t.length!==32)throw new Error("input data is not a valid secp256k1 private key");let r=pC.keyFromPrivate(t);if(r.validate().result!==!0)throw new Error("input data is not a valid secp256k1 private key");if(new Get.default(t).gte(qQt))throw new Error("input data is not a valid secp256k1 private key");return{privkey:(0,Fz.fromHex)(r.getPrivate("hex")),pubkey:Uint8Array.from(r.getPublic("array"))}}static async createSignature(t,r){if(t.length===0)throw new Error("Message hash must not be empty");if(t.length>32)throw new Error("Message hash length must not exceed 32 bytes");let i=pC.keyFromPrivate(r),{r:n,s:o,recoveryParam:d}=i.sign(t,{canonical:!0});if(typeof d!="number")throw new Error("Recovery param missing");return new GQt.ExtendedSecp256k1Signature(Uint8Array.from(n.toArray()),Uint8Array.from(o.toArray()),d)}static async verifySignature(t,r,i){if(r.length===0)throw new Error("Message hash must not be empty");if(r.length>32)throw new Error("Message hash length must not exceed 32 bytes");let n=pC.keyFromPublic(i);try{return n.verify(r,t.toDer())}catch{return!1}}static recoverPubkey(t,r){let i={r:(0,Fz.toHex)(t.r()),s:(0,Fz.toHex)(t.s())},n=pC.recoverPubKey(r,i,t.recovery),o=pC.keyFromPublic(n);return(0,Fz.fromHex)(o.getPublic(!1,"hex"))}static compressPubkey(t){switch(t.length){case 33:return t;case 65:return Uint8Array.from(pC.keyFromPublic(t).getPublic(!0,"array"));default:throw new Error("Invalid pubkey length")}}static uncompressPubkey(t){switch(t.length){case 33:return Uint8Array.from(pC.keyFromPublic(t).getPublic(!1,"array"));case 65:return t;default:throw new Error("Invalid pubkey length")}}static trimRecoveryByte(t){switch(t.length){case 64:return t;case 65:return t.slice(0,64);default:throw new Error("Invalid signature length")}}};YN.Secp256k1=Ohe});var Jet=ir(WN=>{"use strict";J();K();z();var VQt=WN&&WN.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(WN,"__esModule",{value:!0});WN.Decimal=void 0;var Hm=VQt(qv()),Vet=100,Nhe=class e{static fromUserInput(t,r){e.verifyFractionalDigits(r);let i=t.match(/[^0-9.]/);if(i)throw new Error(`Invalid character at position ${i.index+1}`);let n,o;if(t==="")n="0",o="";else if(t.search(/\./)===-1)n=t,o="";else{let g=t.split(".");switch(g.length){case 0:case 1:throw new Error("Fewer than two elements in split result. This must not happen here.");case 2:if(!g[1])throw new Error("Fractional part missing");n=g[0],o=g[1].replace(/0+$/,"");break;default:throw new Error("More than one separator found")}}if(o.length>r)throw new Error("Got more fractional digits than supported");let d=`${n}${o.padEnd(r,"0")}`;return new e(d,r)}static fromAtomics(t,r){return e.verifyFractionalDigits(r),new e(t,r)}static zero(t){return e.verifyFractionalDigits(t),new e("0",t)}static one(t){return e.verifyFractionalDigits(t),new e("1"+"0".repeat(t),t)}static verifyFractionalDigits(t){if(!Number.isInteger(t))throw new Error("Fractional digits is not an integer");if(t<0)throw new Error("Fractional digits must not be negative");if(t>Vet)throw new Error(`Fractional digits must not exceed ${Vet}`)}static compare(t,r){if(t.fractionalDigits!==r.fractionalDigits)throw new Error("Fractional digits do not match");return t.data.atomics.cmp(new Hm.default(r.atomics))}get atomics(){return this.data.atomics.toString()}get fractionalDigits(){return this.data.fractionalDigits}constructor(t,r){if(!t.match(/^[0-9]+$/))throw new Error("Invalid string format. Only non-negative integers in decimal representation supported.");this.data={atomics:new Hm.default(t),fractionalDigits:r}}clone(){return new e(this.atomics,this.fractionalDigits)}floor(){let t=new Hm.default(10).pow(new Hm.default(this.data.fractionalDigits)),r=this.data.atomics.div(t);return this.data.atomics.mod(t).isZero()?this.clone():e.fromAtomics(r.mul(t).toString(),this.fractionalDigits)}ceil(){let t=new Hm.default(10).pow(new Hm.default(this.data.fractionalDigits)),r=this.data.atomics.div(t);return this.data.atomics.mod(t).isZero()?this.clone():e.fromAtomics(r.addn(1).mul(t).toString(),this.fractionalDigits)}toString(){let t=new Hm.default(10).pow(new Hm.default(this.data.fractionalDigits)),r=this.data.atomics.div(t),i=this.data.atomics.mod(t);if(i.isZero())return r.toString();{let o=i.toString().padStart(this.data.fractionalDigits,"0").replace(/0+$/,"");return`${r.toString()}.${o}`}}toFloatApproximation(){let t=Number(this.toString());if(Number.isNaN(t))throw new Error("Conversion to number failed");return t}plus(t){if(this.fractionalDigits!==t.fractionalDigits)throw new Error("Fractional digits do not match");let r=this.data.atomics.add(new Hm.default(t.atomics));return new e(r.toString(),this.fractionalDigits)}minus(t){if(this.fractionalDigits!==t.fractionalDigits)throw new Error("Fractional digits do not match");let r=this.data.atomics.sub(new Hm.default(t.atomics));if(r.ltn(0))throw new Error("Difference must not be negative");return new e(r.toString(),this.fractionalDigits)}multiply(t){let r=this.data.atomics.mul(new Hm.default(t.toString()));return new e(r.toString(),this.fractionalDigits)}equals(t){return e.compare(this,t)===0}isLessThan(t){return e.compare(this,t)<0}isLessThanOrEqual(t){return e.compare(this,t)<=0}isGreaterThan(t){return e.compare(this,t)>0}isGreaterThanOrEqual(t){return e.compare(this,t)>=0}};WN.Decimal=Nhe});var zet=ir(b_=>{"use strict";J();K();z();var JQt=b_&&b_.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b_,"__esModule",{value:!0});b_.Uint64=b_.Uint53=b_.Int53=b_.Uint32=void 0;var Qz=JQt(qv()),zQt=new Qz.default("18446744073709551615",10,"be"),xhe=class e{static fromBigEndianBytes(t){return e.fromBytes(t)}static fromBytes(t,r="be"){if(t.length!==4)throw new Error("Invalid input length. Expected 4 bytes.");for(let n=0;n<t.length;++n)if(!Number.isInteger(t[n])||t[n]>255||t[n]<0)throw new Error("Invalid value in byte. Found: "+t[n]);let i=r==="be"?t:Array.from(t).reverse();return new e(i[0]*2**24+i[1]*2**16+i[2]*2**8+i[3])}static fromString(t){if(!t.match(/^[0-9]+$/))throw new Error("Invalid string format");return new e(Number.parseInt(t,10))}constructor(t){if(Number.isNaN(t))throw new Error("Input is not a number");if(!Number.isInteger(t))throw new Error("Input is not an integer");if(t<0||t>4294967295)throw new Error("Input not in uint32 range: "+t.toString());this.data=t}toBytesBigEndian(){return new Uint8Array([Math.floor(this.data/2**24)&255,Math.floor(this.data/2**16)&255,Math.floor(this.data/2**8)&255,Math.floor(this.data/2**0)&255])}toBytesLittleEndian(){return new Uint8Array([Math.floor(this.data/2**0)&255,Math.floor(this.data/2**8)&255,Math.floor(this.data/2**16)&255,Math.floor(this.data/2**24)&255])}toNumber(){return this.data}toBigInt(){return BigInt(this.toNumber())}toString(){return this.data.toString()}};b_.Uint32=xhe;var hP=class e{static fromString(t){if(!t.match(/^-?[0-9]+$/))throw new Error("Invalid string format");return new e(Number.parseInt(t,10))}constructor(t){if(Number.isNaN(t))throw new Error("Input is not a number");if(!Number.isInteger(t))throw new Error("Input is not an integer");if(t<Number.MIN_SAFE_INTEGER||t>Number.MAX_SAFE_INTEGER)throw new Error("Input not in int53 range: "+t.toString());this.data=t}toNumber(){return this.data}toBigInt(){return BigInt(this.toNumber())}toString(){return this.data.toString()}};b_.Int53=hP;var The=class e{static fromString(t){let r=hP.fromString(t);return new e(r.toNumber())}constructor(t){let r=new hP(t);if(r.toNumber()<0)throw new Error("Input is negative");this.data=r}toNumber(){return this.data.toNumber()}toBigInt(){return BigInt(this.toNumber())}toString(){return this.data.toString()}};b_.Uint53=The;var Bhe=class e{static fromBytesBigEndian(t){return e.fromBytes(t)}static fromBytes(t,r="be"){if(t.length!==8)throw new Error("Invalid input length. Expected 8 bytes.");for(let n=0;n<t.length;++n)if(!Number.isInteger(t[n])||t[n]>255||t[n]<0)throw new Error("Invalid value in byte. Found: "+t[n]);let i=r==="be"?Array.from(t):Array.from(t).reverse();return new e(new Qz.default(i))}static fromString(t){if(!t.match(/^[0-9]+$/))throw new Error("Invalid string format");return new e(new Qz.default(t,10,"be"))}static fromNumber(t){if(Number.isNaN(t))throw new Error("Input is not a number");if(!Number.isInteger(t))throw new Error("Input is not an integer");let r;try{r=new Qz.default(t)}catch{throw new Error("Input is not a safe integer")}return new e(r)}constructor(t){if(t.isNeg())throw new Error("Input is negative");if(t.gt(zQt))throw new Error("Input exceeds uint64 range");this.data=t}toBytesBigEndian(){return Uint8Array.from(this.data.toArray("be",8))}toBytesLittleEndian(){return Uint8Array.from(this.data.toArray("le",8))}toString(){return this.data.toString(10)}toBigInt(){return BigInt(this.toString())}toNumber(){return this.data.toNumber()}};b_.Uint64=Bhe});var Uh=ir(E_=>{"use strict";J();K();z();Object.defineProperty(E_,"__esModule",{value:!0});E_.Uint64=E_.Uint53=E_.Uint32=E_.Int53=E_.Decimal=void 0;var KQt=Jet();Object.defineProperty(E_,"Decimal",{enumerable:!0,get:function(){return KQt.Decimal}});var Hz=zet();Object.defineProperty(E_,"Int53",{enumerable:!0,get:function(){return Hz.Int53}});Object.defineProperty(E_,"Uint32",{enumerable:!0,get:function(){return Hz.Uint32}});Object.defineProperty(E_,"Uint53",{enumerable:!0,get:function(){return Hz.Uint53}});Object.defineProperty(E_,"Uint64",{enumerable:!0,get:function(){return Hz.Uint64}})});var Wet=ir(Kl=>{"use strict";J();K();z();var $et=Kl&&Kl.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Kl,"__esModule",{value:!0});Kl.stringToPath=Kl.pathToString=Kl.Slip10=Kl.Slip10RawIndex=Kl.slip10CurveFromString=Kl.Slip10Curve=void 0;var Ket=Ps(),Yet=Uh(),AP=$et(qv()),$Qt=$et(_J()),Gz=Hle(),qz=hz(),xb;(function(e){e.Secp256k1="Bitcoin seed",e.Ed25519="ed25519 seed"})(xb=Kl.Slip10Curve||(Kl.Slip10Curve={}));function YQt(e){switch(e){case xb.Ed25519:return xb.Ed25519;case xb.Secp256k1:return xb.Secp256k1;default:throw new Error(`Unknown curve string: '${e}'`)}}Kl.slip10CurveFromString=YQt;var pP=class e extends Yet.Uint32{static hardened(t){return new e(t+2**31)}static normal(t){return new e(t)}isHardened(){return this.data>=2**31}};Kl.Slip10RawIndex=pP;var WQt=new $Qt.default.ec("secp256k1"),Mhe=class e{static derivePath(t,r,i){let n=this.master(t,r);for(let o of i)n=this.child(t,n.privkey,n.chainCode,o);return n}static master(t,r){let i=new Gz.Hmac(qz.Sha512,(0,Ket.toAscii)(t)).update(r).digest(),n=i.slice(0,32),o=i.slice(32,64);return t!==xb.Ed25519&&(this.isZero(n)||this.isGteN(t,n))?this.master(t,i):{chainCode:o,privkey:n}}static child(t,r,i,n){let o;if(n.isHardened()){let d=new Uint8Array([0,...r,...n.toBytesBigEndian()]);o=new Gz.Hmac(qz.Sha512,i).update(d).digest()}else{if(t===xb.Ed25519)throw new Error("Normal keys are not allowed with ed25519");{let d=new Uint8Array([...e.serializedPoint(t,new AP.default(r)),...n.toBytesBigEndian()]);o=new Gz.Hmac(qz.Sha512,i).update(d).digest()}}return this.childImpl(t,r,i,n,o)}static serializedPoint(t,r){if(t===xb.Secp256k1)return(0,Ket.fromHex)(WQt.g.mul(r).encodeCompressed("hex"));throw new Error("curve not supported")}static childImpl(t,r,i,n,o){let d=o.slice(0,32),g=o.slice(32,64),y=g;if(t===xb.Ed25519)return{chainCode:y,privkey:d};let _=this.n(t),I=new AP.default(d).add(new AP.default(r)).mod(_),N=Uint8Array.from(I.toArray("be",32));if(this.isGteN(t,d)||this.isZero(N)){let T=new Gz.Hmac(qz.Sha512,i).update(new Uint8Array([1,...g,...n.toBytesBigEndian()])).digest();return this.childImpl(t,r,i,n,T)}return{chainCode:y,privkey:N}}static isZero(t){return t.every(r=>r===0)}static isGteN(t,r){return new AP.default(r).gte(this.n(t))}static n(t){if(t===xb.Secp256k1)return new AP.default("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141",16);throw new Error("curve not supported")}};Kl.Slip10=Mhe;function XQt(e){return e.reduce((t,r)=>{let i=r.isHardened()?`${r.toNumber()-2147483648}'`:r.toString();return t+"/"+i},"m")}Kl.pathToString=XQt;function ZQt(e){if(!e.startsWith("m"))throw new Error("Path string must start with 'm'");let t=e.slice(1),r=new Array;for(;t;){let i=t.match(/^\/([0-9]+)('?)/);if(!i)throw new Error("Syntax error while reading path component");let[n,o,d]=i,g=Yet.Uint53.fromString(o).toNumber();if(g>=2**31)throw new Error("Component value too high. Must not exceed 2**31-1.");d?r.push(pP.hardened(g)):r.push(pP.normal(g)),t=t.slice(n.length)}return r}Kl.stringToPath=ZQt});var $l=ir(bo=>{"use strict";J();K();z();Object.defineProperty(bo,"__esModule",{value:!0});bo.stringToPath=bo.Slip10RawIndex=bo.slip10CurveFromString=bo.Slip10Curve=bo.Slip10=bo.pathToString=bo.sha512=bo.Sha512=bo.sha256=bo.Sha256=bo.Secp256k1Signature=bo.ExtendedSecp256k1Signature=bo.Secp256k1=bo.ripemd160=bo.Ripemd160=bo.Random=bo.Xchacha20poly1305Ietf=bo.xchacha20NonceLength=bo.isArgon2idOptions=bo.Ed25519Keypair=bo.Ed25519=bo.Argon2id=bo.keccak256=bo.Keccak256=bo.Hmac=bo.EnglishMnemonic=bo.Bip39=void 0;var Xet=PZe();Object.defineProperty(bo,"Bip39",{enumerable:!0,get:function(){return Xet.Bip39}});Object.defineProperty(bo,"EnglishMnemonic",{enumerable:!0,get:function(){return Xet.EnglishMnemonic}});var jQt=Hle();Object.defineProperty(bo,"Hmac",{enumerable:!0,get:function(){return jQt.Hmac}});var Zet=zZe();Object.defineProperty(bo,"Keccak256",{enumerable:!0,get:function(){return Zet.Keccak256}});Object.defineProperty(bo,"keccak256",{enumerable:!0,get:function(){return Zet.keccak256}});var XN=Net();Object.defineProperty(bo,"Argon2id",{enumerable:!0,get:function(){return XN.Argon2id}});Object.defineProperty(bo,"Ed25519",{enumerable:!0,get:function(){return XN.Ed25519}});Object.defineProperty(bo,"Ed25519Keypair",{enumerable:!0,get:function(){return XN.Ed25519Keypair}});Object.defineProperty(bo,"isArgon2idOptions",{enumerable:!0,get:function(){return XN.isArgon2idOptions}});Object.defineProperty(bo,"xchacha20NonceLength",{enumerable:!0,get:function(){return XN.xchacha20NonceLength}});Object.defineProperty(bo,"Xchacha20poly1305Ietf",{enumerable:!0,get:function(){return XN.Xchacha20poly1305Ietf}});var eHt=xet();Object.defineProperty(bo,"Random",{enumerable:!0,get:function(){return eHt.Random}});var jet=Qet();Object.defineProperty(bo,"Ripemd160",{enumerable:!0,get:function(){return jet.Ripemd160}});Object.defineProperty(bo,"ripemd160",{enumerable:!0,get:function(){return jet.ripemd160}});var tHt=qet();Object.defineProperty(bo,"Secp256k1",{enumerable:!0,get:function(){return tHt.Secp256k1}});var ett=whe();Object.defineProperty(bo,"ExtendedSecp256k1Signature",{enumerable:!0,get:function(){return ett.ExtendedSecp256k1Signature}});Object.defineProperty(bo,"Secp256k1Signature",{enumerable:!0,get:function(){return ett.Secp256k1Signature}});var Vz=hz();Object.defineProperty(bo,"Sha256",{enumerable:!0,get:function(){return Vz.Sha256}});Object.defineProperty(bo,"sha256",{enumerable:!0,get:function(){return Vz.sha256}});Object.defineProperty(bo,"Sha512",{enumerable:!0,get:function(){return Vz.Sha512}});Object.defineProperty(bo,"sha512",{enumerable:!0,get:function(){return Vz.sha512}});var ZN=Wet();Object.defineProperty(bo,"pathToString",{enumerable:!0,get:function(){return ZN.pathToString}});Object.defineProperty(bo,"Slip10",{enumerable:!0,get:function(){return ZN.Slip10}});Object.defineProperty(bo,"Slip10Curve",{enumerable:!0,get:function(){return ZN.Slip10Curve}});Object.defineProperty(bo,"slip10CurveFromString",{enumerable:!0,get:function(){return ZN.slip10CurveFromString}});Object.defineProperty(bo,"Slip10RawIndex",{enumerable:!0,get:function(){return ZN.Slip10RawIndex}});Object.defineProperty(bo,"stringToPath",{enumerable:!0,get:function(){return ZN.stringToPath}})});var gP=ir(BA=>{"use strict";J();K();z();Object.defineProperty(BA,"__esModule",{value:!0});BA.isMultisigThresholdPubkey=BA.isSinglePubkey=BA.pubkeyType=BA.isSecp256k1Pubkey=BA.isEd25519Pubkey=void 0;function rHt(e){return e.type==="tendermint/PubKeyEd25519"}BA.isEd25519Pubkey=rHt;function nHt(e){return e.type==="tendermint/PubKeySecp256k1"}BA.isSecp256k1Pubkey=nHt;BA.pubkeyType={secp256k1:"tendermint/PubKeySecp256k1",ed25519:"tendermint/PubKeyEd25519",sr25519:"tendermint/PubKeySr25519",multisigThreshold:"tendermint/PubKeyMultisigThreshold"};function iHt(e){return[BA.pubkeyType.ed25519,BA.pubkeyType.secp256k1,BA.pubkeyType.sr25519].includes(e.type)}BA.isSinglePubkey=iHt;function oHt(e){return e.type==="tendermint/PubKeyMultisigThreshold"}BA.isMultisigThresholdPubkey=oHt});var zz=ir(Pp=>{"use strict";J();K();z();Object.defineProperty(Pp,"__esModule",{value:!0});Pp.encodeBech32Pubkey=Pp.encodeAminoPubkey=Pp.decodeBech32Pubkey=Pp.decodeAminoPubkey=Pp.encodeEd25519Pubkey=Pp.encodeSecp256k1Pubkey=void 0;var Lp=Ps(),aHt=Uh(),_P=Uf(),oR=gP();function sHt(e){if(e.length!==33||e[0]!==2&&e[0]!==3)throw new Error("Public key must be compressed secp256k1, i.e. 33 bytes starting with 0x02 or 0x03");return{type:oR.pubkeyType.secp256k1,value:(0,Lp.toBase64)(e)}}Pp.encodeSecp256k1Pubkey=sHt;function cHt(e){if(e.length!==32)throw new Error("Ed25519 public key must be 32 bytes long");return{type:oR.pubkeyType.ed25519,value:(0,Lp.toBase64)(e)}}Pp.encodeEd25519Pubkey=cHt;var Dhe=(0,Lp.fromHex)("eb5ae98721"),khe=(0,Lp.fromHex)("1624de6420"),ttt=(0,Lp.fromHex)("0dfb100520"),Jz=(0,Lp.fromHex)("22c1f7e2");function Phe(e){if((0,_P.arrayContentStartsWith)(e,Dhe)){let t=e.slice(Dhe.length);if(t.length!==33)throw new Error("Invalid rest data length. Expected 33 bytes (compressed secp256k1 pubkey).");return{type:oR.pubkeyType.secp256k1,value:(0,Lp.toBase64)(t)}}else if((0,_P.arrayContentStartsWith)(e,khe)){let t=e.slice(khe.length);if(t.length!==32)throw new Error("Invalid rest data length. Expected 32 bytes (Ed25519 pubkey).");return{type:oR.pubkeyType.ed25519,value:(0,Lp.toBase64)(t)}}else if((0,_P.arrayContentStartsWith)(e,ttt)){let t=e.slice(ttt.length);if(t.length!==32)throw new Error("Invalid rest data length. Expected 32 bytes (Sr25519 pubkey).");return{type:oR.pubkeyType.sr25519,value:(0,Lp.toBase64)(t)}}else{if((0,_P.arrayContentStartsWith)(e,Jz))return dHt(e);throw new Error("Unsupported public key type. Amino data starts with: "+(0,Lp.toHex)(e.slice(0,5)))}}Pp.decodeAminoPubkey=Phe;function uHt(e){let{data:t}=(0,Lp.fromBech32)(e);return Phe(t)}Pp.decodeBech32Pubkey=uHt;function rtt(e){if(e.length<1)throw new Error("Can't decode varint. EOF");if(e[0]>127)throw new Error("Decoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.Varint implementation from the Go standard library and write some tests.");return[e[0],1]}function dHt(e){let t=Array.from(e),r=t.splice(0,Jz.length);if(!(0,_P.arrayContentStartsWith)(r,Jz))throw new Error("Invalid multisig prefix.");if(t.shift()!=8)throw new Error("Invalid multisig data. Expecting 0x08 prefix before threshold.");let[i,n]=rtt(t);t.splice(0,n);let o=[];for(;t.length>0;){if(t.shift()!=18)throw new Error("Invalid multisig data. Expecting 0x12 prefix before participant pubkey length.");let[d,g]=rtt(t);if(t.splice(0,g),t.length<d)throw new Error("Invalid multisig data length.");let y=t.splice(0,d),_=Phe(Uint8Array.from(y));o.push(_)}return{type:oR.pubkeyType.multisigThreshold,value:{threshold:i.toString(),pubkeys:o}}}function ntt(e){let t=aHt.Uint53.fromString(e.toString()).toNumber();if(t>127)throw new Error("Encoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to port the binary.PutUvarint implementation from the Go standard library and write some tests.");return[t]}function Lhe(e){if((0,oR.isMultisigThresholdPubkey)(e)){let t=Array.from(Jz);t.push(8),t.push(...ntt(e.value.threshold));for(let r of e.value.pubkeys.map(i=>Lhe(i)))t.push(18),t.push(...ntt(r.length)),t.push(...r);return new Uint8Array(t)}else{if((0,oR.isEd25519Pubkey)(e))return new Uint8Array([...khe,...(0,Lp.fromBase64)(e.value)]);if((0,oR.isSecp256k1Pubkey)(e))return new Uint8Array([...Dhe,...(0,Lp.fromBase64)(e.value)]);throw new Error("Unsupported pubkey type")}}Pp.encodeAminoPubkey=Lhe;function fHt(e,t){return(0,Lp.toBech32)(t,Lhe(e))}Pp.encodeBech32Pubkey=fHt});var mP=ir(Tb=>{"use strict";J();K();z();Object.defineProperty(Tb,"__esModule",{value:!0});Tb.pubkeyToAddress=Tb.pubkeyToRawAddress=Tb.rawSecp256k1PubkeyToRawAddress=Tb.rawEd25519PubkeyToRawAddress=void 0;var Kz=$l(),Fhe=Ps(),lHt=zz(),Uhe=gP();function itt(e){if(e.length!==32)throw new Error(`Invalid Ed25519 pubkey length: ${e.length}`);return(0,Kz.sha256)(e).slice(0,20)}Tb.rawEd25519PubkeyToRawAddress=itt;function ott(e){if(e.length!==33)throw new Error(`Invalid Secp256k1 pubkey length (compressed): ${e.length}`);return(0,Kz.ripemd160)((0,Kz.sha256)(e))}Tb.rawSecp256k1PubkeyToRawAddress=ott;function att(e){if((0,Uhe.isSecp256k1Pubkey)(e)){let t=(0,Fhe.fromBase64)(e.value);return ott(t)}else if((0,Uhe.isEd25519Pubkey)(e)){let t=(0,Fhe.fromBase64)(e.value);return itt(t)}else if((0,Uhe.isMultisigThresholdPubkey)(e)){let t=(0,lHt.encodeAminoPubkey)(e);return(0,Kz.sha256)(t).slice(0,20)}else throw new Error("Unsupported public key type")}Tb.pubkeyToRawAddress=att;function hHt(e,t){return(0,Fhe.toBech32)(t,att(e))}Tb.pubkeyToAddress=hHt});var ctt=ir(Bb=>{"use strict";J();K();z();Object.defineProperty(Bb,"__esModule",{value:!0});Bb.addCoins=Bb.parseCoins=Bb.coins=Bb.coin=void 0;var Qhe=Uh();function stt(e,t){let r;if(typeof e=="number")try{r=new Qhe.Uint53(e).toString()}catch{throw new Error("Given amount is not a safe integer. Consider using a string instead to overcome the limitations of JS numbers.")}else{if(!e.match(/^[0-9]+$/))throw new Error("Invalid unsigned integer string format");r=e.replace(/^0*/,"")||"0"}return{amount:r,denom:t}}Bb.coin=stt;function AHt(e,t){return[stt(e,t)]}Bb.coins=AHt;function pHt(e){return e.replace(/\s/g,"").split(",").filter(Boolean).map(t=>{let r=t.match(/^([0-9]+)([a-zA-Z][a-zA-Z0-9/]{2,127})$/);if(!r)throw new Error("Got an invalid coin string");return{amount:r[1].replace(/^0+/,"")||"0",denom:r[2]}})}Bb.parseCoins=pHt;function gHt(e,t){if(e.denom!==t.denom)throw new Error("Trying to add two coins with different denoms");return{amount:Qhe.Decimal.fromAtomics(e.amount,0).plus(Qhe.Decimal.fromAtomics(t.amount,0)).atomics,denom:e.denom}}Bb.addCoins=gHt});var ltt=ir(jN=>{"use strict";J();K();z();Object.defineProperty(jN,"__esModule",{value:!0});jN.createMultisigThresholdPubkey=jN.compareArrays=void 0;var utt=Ps(),_Ht=Uh(),dtt=mP();function ftt(e,t){let r=(0,utt.toHex)(e),i=(0,utt.toHex)(t);return r===i?0:r<i?-1:1}jN.compareArrays=ftt;function mHt(e,t,r=!1){let i=new _Ht.Uint53(t);if(i.toNumber()>e.length)throw new Error(`Threshold k = ${i.toNumber()} exceeds number of keys n = ${e.length}`);let n=r?e:Array.from(e).sort((o,d)=>{let g=(0,dtt.pubkeyToRawAddress)(o),y=(0,dtt.pubkeyToRawAddress)(d);return ftt(g,y)});return{type:"tendermint/PubKeyMultisigThreshold",value:{threshold:i.toString(),pubkeys:n}}}jN.createMultisigThresholdPubkey=mHt});var htt=ir($z=>{"use strict";J();K();z();Object.defineProperty($z,"__esModule",{value:!0});$z.omitDefault=void 0;function yHt(e){switch(typeof e){case"string":return e===""?void 0:e;case"number":return e===0?void 0:e;case"bigint":return e===BigInt(0)?void 0:e;case"boolean":return e||void 0;default:throw new Error(`Got unsupported type '${typeof e}'`)}}$z.omitDefault=yHt});var Hhe=ir(Yz=>{"use strict";J();K();z();Object.defineProperty(Yz,"__esModule",{value:!0});Yz.makeCosmoshubPath=void 0;var yP=$l();function bHt(e){return[yP.Slip10RawIndex.hardened(44),yP.Slip10RawIndex.hardened(118),yP.Slip10RawIndex.hardened(0),yP.Slip10RawIndex.normal(0),yP.Slip10RawIndex.normal(e)]}Yz.makeCosmoshubPath=bHt});var Wz=ir(ex=>{"use strict";J();K();z();Object.defineProperty(ex,"__esModule",{value:!0});ex.decodeSignature=ex.encodeSecp256k1Signature=void 0;var Ghe=Ps(),EHt=zz(),vHt=gP();function RHt(e,t){if(t.length!==64)throw new Error("Signature must be 64 bytes long. Cosmos SDK uses a 2x32 byte fixed length encoding for the secp256k1 signature integers r and s.");return{pub_key:(0,EHt.encodeSecp256k1Pubkey)(e),signature:(0,Ghe.toBase64)(t)}}ex.encodeSecp256k1Signature=RHt;function SHt(e){if(e.pub_key.type===vHt.pubkeyType.secp256k1)return{pubkey:(0,Ghe.fromBase64)(e.pub_key.value),signature:(0,Ghe.fromBase64)(e.signature)};throw new Error("Unsupported pubkey type")}ex.decodeSignature=SHt});var Xz=ir(Mb=>{"use strict";J();K();z();Object.defineProperty(Mb,"__esModule",{value:!0});Mb.serializeSignDoc=Mb.escapeCharacters=Mb.makeSignDoc=Mb.sortedJsonStringify=void 0;var IHt=Ps(),Att=Uh();function qhe(e){if(typeof e!="object"||e===null)return e;if(Array.isArray(e))return e.map(qhe);let t=Object.keys(e).sort(),r={};return t.forEach(i=>{r[i]=qhe(e[i])}),r}function ptt(e){return JSON.stringify(qhe(e))}Mb.sortedJsonStringify=ptt;function CHt(e,t,r,i,n,o,d){return{chain_id:r,account_number:Att.Uint53.fromString(n.toString()).toString(),sequence:Att.Uint53.fromString(o.toString()).toString(),fee:t,msgs:e,memo:i||"",...d&&{timeout_height:d.toString()}}}Mb.makeSignDoc=CHt;function gtt(e){let t=/&/g,r=/</g,i=/>/g;return e.replace(t,"\\u0026").replace(r,"\\u003c").replace(i,"\\u003e")}Mb.escapeCharacters=gtt;function wHt(e){let t=gtt(ptt(e));return(0,IHt.toUtf8)(t)}Mb.serializeSignDoc=wHt});var Vhe=ir(MA=>{"use strict";J();K();z();Object.defineProperty(MA,"__esModule",{value:!0});MA.decrypt=MA.encrypt=MA.supportedAlgorithms=MA.executeKdf=MA.cosmjsSalt=void 0;var lI=$l(),OHt=Ps();MA.cosmjsSalt=(0,OHt.toAscii)("The CosmJS salt.");async function NHt(e,t){switch(t.algorithm){case"argon2id":{let r=t.params;if(!(0,lI.isArgon2idOptions)(r))throw new Error("Invalid format of argon2id params");return lI.Argon2id.execute(e,MA.cosmjsSalt,r)}default:throw new Error("Unsupported KDF algorithm")}}MA.executeKdf=NHt;MA.supportedAlgorithms={xchacha20poly1305Ietf:"xchacha20poly1305-ietf"};async function xHt(e,t,r){if(r.algorithm===MA.supportedAlgorithms.xchacha20poly1305Ietf){let i=lI.Random.getBytes(lI.xchacha20NonceLength);return new Uint8Array([...i,...await lI.Xchacha20poly1305Ietf.encrypt(e,t,i)])}else throw new Error(`Unsupported encryption algorithm: '${r.algorithm}'`)}MA.encrypt=xHt;async function THt(e,t,r){if(r.algorithm===MA.supportedAlgorithms.xchacha20poly1305Ietf){let i=e.slice(0,lI.xchacha20NonceLength);return lI.Xchacha20poly1305Ietf.decrypt(e.slice(lI.xchacha20NonceLength),t,i)}else throw new Error(`Unsupported encryption algorithm: '${r.algorithm}'`)}MA.decrypt=THt});var mtt=ir(rx=>{"use strict";J();K();z();Object.defineProperty(rx,"__esModule",{value:!0});rx.Secp256k1HdWallet=rx.extractKdfConfiguration=void 0;var v_=$l(),bP=Ps(),tx=Uf(),BHt=mP(),MHt=Hhe(),DHt=Wz(),kHt=Xz(),EP=Vhe(),Zz="secp256k1wallet-v1",PHt={algorithm:"argon2id",params:{outputLength:32,opsLimit:24,memLimitKib:12*1024}};function LHt(e){return!(!(0,tx.isNonNullObject)(e)||typeof e.hdPath!="string"||typeof e.prefix!="string")}function UHt(e){return e.kdf}function FHt(e){let t=JSON.parse(e);if(!(0,tx.isNonNullObject)(t))throw new Error("Root document is not an object.");if(t.type===Zz)return UHt(t);throw new Error("Unsupported serialization type")}rx.extractKdfConfiguration=FHt;var _tt={bip39Password:"",hdPaths:[(0,MHt.makeCosmoshubPath)(0)],prefix:"cosmos"},Jhe=class e{static async fromMnemonic(t,r={}){let i=new v_.EnglishMnemonic(t),n=await v_.Bip39.mnemonicToSeed(i,r.bip39Password);return new e(i,{...r,seed:n})}static async generate(t=12,r={}){let i=4*Math.floor(11*t/33),n=v_.Random.getBytes(i),o=v_.Bip39.encode(n);return e.fromMnemonic(o.toString(),r)}static async deserialize(t,r){let i=JSON.parse(t);if(!(0,tx.isNonNullObject)(i))throw new Error("Root document is not an object.");if(i.type===Zz)return e.deserializeTypeV1(t,r);throw new Error("Unsupported serialization type")}static async deserializeWithEncryptionKey(t,r){let i=JSON.parse(t);if(!(0,tx.isNonNullObject)(i))throw new Error("Root document is not an object.");let n=i;switch(n.type){case Zz:{let o=await(0,EP.decrypt)((0,bP.fromBase64)(n.data),r,n.encryption),d=JSON.parse((0,bP.fromUtf8)(o)),{mnemonic:g,accounts:y}=d;if((0,tx.assert)(typeof g=="string"),!Array.isArray(y))throw new Error("Property 'accounts' is not an array");if(!y.every(N=>LHt(N)))throw new Error("Account is not in the correct format.");let _=y[0].prefix;if(!y.every(({prefix:N})=>N===_))throw new Error("Accounts do not all have the same prefix");let I=y.map(({hdPath:N})=>(0,v_.stringToPath)(N));return e.fromMnemonic(g,{hdPaths:I,prefix:_})}default:throw new Error("Unsupported serialization type")}}static async deserializeTypeV1(t,r){let i=JSON.parse(t);if(!(0,tx.isNonNullObject)(i))throw new Error("Root document is not an object.");let n=await(0,EP.executeKdf)(r,i.kdf);return e.deserializeWithEncryptionKey(t,n)}constructor(t,r){let i=r.hdPaths??_tt.hdPaths,n=r.prefix??_tt.prefix;this.secret=t,this.seed=r.seed,this.accounts=i.map(o=>({hdPath:o,prefix:n}))}get mnemonic(){return this.secret.toString()}async getAccounts(){return(await this.getAccountsWithPrivkeys()).map(({algo:r,pubkey:i,address:n})=>({algo:r,pubkey:i,address:n}))}async signAmino(t,r){let n=(await this.getAccountsWithPrivkeys()).find(({address:I})=>I===t);if(n===void 0)throw new Error(`Address ${t} not found in wallet`);let{privkey:o,pubkey:d}=n,g=(0,v_.sha256)((0,kHt.serializeSignDoc)(r)),y=await v_.Secp256k1.createSignature(g,o),_=new Uint8Array([...y.r(32),...y.s(32)]);return{signed:r,signature:(0,DHt.encodeSecp256k1Signature)(d,_)}}async serialize(t){let r=PHt,i=await(0,EP.executeKdf)(t,r);return this.serializeWithEncryptionKey(i,r)}async serializeWithEncryptionKey(t,r){let i={mnemonic:this.mnemonic,accounts:this.accounts.map(({hdPath:y,prefix:_})=>({hdPath:(0,v_.pathToString)(y),prefix:_}))},n=(0,bP.toUtf8)(JSON.stringify(i)),o={algorithm:EP.supportedAlgorithms.xchacha20poly1305Ietf},d=await(0,EP.encrypt)(n,t,o),g={type:Zz,kdf:r,encryption:o,data:(0,bP.toBase64)(d)};return JSON.stringify(g)}async getKeyPair(t){let{privkey:r}=v_.Slip10.derivePath(v_.Slip10Curve.Secp256k1,this.seed,t),{pubkey:i}=await v_.Secp256k1.makeKeypair(r);return{privkey:r,pubkey:v_.Secp256k1.compressPubkey(i)}}async getAccountsWithPrivkeys(){return Promise.all(this.accounts.map(async({hdPath:t,prefix:r})=>{let{privkey:i,pubkey:n}=await this.getKeyPair(t),o=(0,bP.toBech32)(r,(0,BHt.rawSecp256k1PubkeyToRawAddress)(n));return{algo:"secp256k1",privkey:i,pubkey:n,address:o}}))}};rx.Secp256k1HdWallet=Jhe});var ytt=ir(eK=>{"use strict";J();K();z();Object.defineProperty(eK,"__esModule",{value:!0});eK.Secp256k1Wallet=void 0;var jz=$l(),QHt=Ps(),HHt=mP(),GHt=Wz(),qHt=Xz(),zhe=class e{static async fromKey(t,r="cosmos"){let i=(await jz.Secp256k1.makeKeypair(t)).pubkey;return new e(t,jz.Secp256k1.compressPubkey(i),r)}constructor(t,r,i){this.privkey=t,this.pubkey=r,this.prefix=i}get address(){return(0,QHt.toBech32)(this.prefix,(0,HHt.rawSecp256k1PubkeyToRawAddress)(this.pubkey))}async getAccounts(){return[{algo:"secp256k1",address:this.address,pubkey:this.pubkey}]}async signAmino(t,r){if(t!==this.address)throw new Error(`Address ${t} not found in wallet`);let i=new jz.Sha256((0,qHt.serializeSignDoc)(r)).digest(),n=await jz.Secp256k1.createSignature(i,this.privkey),o=new Uint8Array([...n.r(32),...n.s(32)]);return{signed:r,signature:(0,GHt.encodeSecp256k1Signature)(this.pubkey,o)}}};eK.Secp256k1Wallet=zhe});var btt=ir(nx=>{"use strict";J();K();z();Object.defineProperty(nx,"__esModule",{value:!0});nx.makeStdTx=nx.isStdTx=void 0;function VHt(e){let{memo:t,msg:r,fee:i,signatures:n}=e;return typeof t=="string"&&Array.isArray(r)&&typeof i=="object"&&Array.isArray(n)}nx.isStdTx=VHt;function JHt(e,t){return{msg:e.msgs,fee:e.fee,memo:e.memo,signatures:Array.isArray(t)?t:[t]}}nx.makeStdTx=JHt});var R_=ir(Ji=>{"use strict";J();K();z();Object.defineProperty(Ji,"__esModule",{value:!0});Ji.executeKdf=Ji.makeStdTx=Ji.isStdTx=Ji.serializeSignDoc=Ji.makeSignDoc=Ji.encodeSecp256k1Signature=Ji.decodeSignature=Ji.Secp256k1Wallet=Ji.Secp256k1HdWallet=Ji.extractKdfConfiguration=Ji.pubkeyType=Ji.isSinglePubkey=Ji.isSecp256k1Pubkey=Ji.isMultisigThresholdPubkey=Ji.isEd25519Pubkey=Ji.makeCosmoshubPath=Ji.omitDefault=Ji.createMultisigThresholdPubkey=Ji.encodeSecp256k1Pubkey=Ji.encodeEd25519Pubkey=Ji.encodeBech32Pubkey=Ji.encodeAminoPubkey=Ji.decodeBech32Pubkey=Ji.decodeAminoPubkey=Ji.parseCoins=Ji.coins=Ji.coin=Ji.addCoins=Ji.rawSecp256k1PubkeyToRawAddress=Ji.rawEd25519PubkeyToRawAddress=Ji.pubkeyToRawAddress=Ji.pubkeyToAddress=void 0;var tK=mP();Object.defineProperty(Ji,"pubkeyToAddress",{enumerable:!0,get:function(){return tK.pubkeyToAddress}});Object.defineProperty(Ji,"pubkeyToRawAddress",{enumerable:!0,get:function(){return tK.pubkeyToRawAddress}});Object.defineProperty(Ji,"rawEd25519PubkeyToRawAddress",{enumerable:!0,get:function(){return tK.rawEd25519PubkeyToRawAddress}});Object.defineProperty(Ji,"rawSecp256k1PubkeyToRawAddress",{enumerable:!0,get:function(){return tK.rawSecp256k1PubkeyToRawAddress}});var rK=ctt();Object.defineProperty(Ji,"addCoins",{enumerable:!0,get:function(){return rK.addCoins}});Object.defineProperty(Ji,"coin",{enumerable:!0,get:function(){return rK.coin}});Object.defineProperty(Ji,"coins",{enumerable:!0,get:function(){return rK.coins}});Object.defineProperty(Ji,"parseCoins",{enumerable:!0,get:function(){return rK.parseCoins}});var ix=zz();Object.defineProperty(Ji,"decodeAminoPubkey",{enumerable:!0,get:function(){return ix.decodeAminoPubkey}});Object.defineProperty(Ji,"decodeBech32Pubkey",{enumerable:!0,get:function(){return ix.decodeBech32Pubkey}});Object.defineProperty(Ji,"encodeAminoPubkey",{enumerable:!0,get:function(){return ix.encodeAminoPubkey}});Object.defineProperty(Ji,"encodeBech32Pubkey",{enumerable:!0,get:function(){return ix.encodeBech32Pubkey}});Object.defineProperty(Ji,"encodeEd25519Pubkey",{enumerable:!0,get:function(){return ix.encodeEd25519Pubkey}});Object.defineProperty(Ji,"encodeSecp256k1Pubkey",{enumerable:!0,get:function(){return ix.encodeSecp256k1Pubkey}});var zHt=ltt();Object.defineProperty(Ji,"createMultisigThresholdPubkey",{enumerable:!0,get:function(){return zHt.createMultisigThresholdPubkey}});var KHt=htt();Object.defineProperty(Ji,"omitDefault",{enumerable:!0,get:function(){return KHt.omitDefault}});var $Ht=Hhe();Object.defineProperty(Ji,"makeCosmoshubPath",{enumerable:!0,get:function(){return $Ht.makeCosmoshubPath}});var vP=gP();Object.defineProperty(Ji,"isEd25519Pubkey",{enumerable:!0,get:function(){return vP.isEd25519Pubkey}});Object.defineProperty(Ji,"isMultisigThresholdPubkey",{enumerable:!0,get:function(){return vP.isMultisigThresholdPubkey}});Object.defineProperty(Ji,"isSecp256k1Pubkey",{enumerable:!0,get:function(){return vP.isSecp256k1Pubkey}});Object.defineProperty(Ji,"isSinglePubkey",{enumerable:!0,get:function(){return vP.isSinglePubkey}});Object.defineProperty(Ji,"pubkeyType",{enumerable:!0,get:function(){return vP.pubkeyType}});var Ett=mtt();Object.defineProperty(Ji,"extractKdfConfiguration",{enumerable:!0,get:function(){return Ett.extractKdfConfiguration}});Object.defineProperty(Ji,"Secp256k1HdWallet",{enumerable:!0,get:function(){return Ett.Secp256k1HdWallet}});var YHt=ytt();Object.defineProperty(Ji,"Secp256k1Wallet",{enumerable:!0,get:function(){return YHt.Secp256k1Wallet}});var vtt=Wz();Object.defineProperty(Ji,"decodeSignature",{enumerable:!0,get:function(){return vtt.decodeSignature}});Object.defineProperty(Ji,"encodeSecp256k1Signature",{enumerable:!0,get:function(){return vtt.encodeSecp256k1Signature}});var Rtt=Xz();Object.defineProperty(Ji,"makeSignDoc",{enumerable:!0,get:function(){return Rtt.makeSignDoc}});Object.defineProperty(Ji,"serializeSignDoc",{enumerable:!0,get:function(){return Rtt.serializeSignDoc}});var Stt=btt();Object.defineProperty(Ji,"isStdTx",{enumerable:!0,get:function(){return Stt.isStdTx}});Object.defineProperty(Ji,"makeStdTx",{enumerable:!0,get:function(){return Stt.makeStdTx}});var WHt=Vhe();Object.defineProperty(Ji,"executeKdf",{enumerable:!0,get:function(){return WHt.executeKdf}})});var gC,Itt=tn(()=>{"use strict";J();K();z();gC=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});function sR(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function S_(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Yl(e,...t){if(!sR(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function nK(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");S_(e.outputLen),S_(e.blockLen)}function cR(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function iK(e,t){Yl(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function wtt(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function I_(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function oK(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Gm(e,t){return e<<32-t|e>>>t}function ZHt(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function jHt(e){for(let t=0;t<e.length;t++)e[t]=ZHt(e[t]);return e}function C_(e){if(Yl(e),Ott)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=eGt[e[r]];return t}function Ctt(e){if(e>=aR._0&&e<=aR._9)return e-aR._0;if(e>=aR.A&&e<=aR.F)return e-(aR.A-10);if(e>=aR.a&&e<=aR.f)return e-(aR.a-10)}function _C(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ott)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let d=Ctt(e.charCodeAt(o)),g=Ctt(e.charCodeAt(o+1));if(d===void 0||g===void 0){let y=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+y+'" at index '+o)}i[n]=d*16+g}return i}function $he(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function mC(e){return typeof e=="string"&&(e=$he(e)),Yl(e),e}function Qf(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Yl(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function RP(e){let t=i=>e().update(mC(i)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function w_(e=32){if(gC&&typeof gC.getRandomValues=="function")return gC.getRandomValues(new Uint8Array(e));if(gC&&typeof gC.randomBytes=="function")return Uint8Array.from(gC.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}var XHt,Khe,Ott,eGt,aR,hI,Up=tn(()=>{"use strict";J();K();z();Itt();XHt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Khe=XHt?e=>e:jHt,Ott=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",eGt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));aR={_0:48,_9:57,A:65,F:70,a:97,f:102};hI=class{}});function tGt(e,t,r,i){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,i);let n=BigInt(32),o=BigInt(4294967295),d=Number(r>>n&o),g=Number(r&o),y=i?4:0,_=i?0:4;e.setUint32(t+y,d,i),e.setUint32(t+_,g,i)}function Ntt(e,t,r){return e&t^~e&r}function xtt(e,t,r){return e&t^e&r^t&r}var SP,uR,Wl,Ttt=tn(()=>{"use strict";J();K();z();Up();SP=class extends hI{constructor(t,r,i,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=i,this.isLE=n,this.buffer=new Uint8Array(t),this.view=oK(this.buffer)}update(t){cR(this),t=mC(t),Yl(t);let{view:r,buffer:i,blockLen:n}=this,o=t.length;for(let d=0;d<o;){let g=Math.min(n-this.pos,o-d);if(g===n){let y=oK(t);for(;n<=o-d;d+=n)this.process(y,d);continue}i.set(t.subarray(d,d+g),this.pos),this.pos+=g,d+=g,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){cR(this),iK(t,this),this.finished=!0;let{buffer:r,view:i,blockLen:n,isLE:o}=this,{pos:d}=this;r[d++]=128,I_(this.buffer.subarray(d)),this.padOffset>n-d&&(this.process(i,0),d=0);for(let N=d;N<n;N++)r[N]=0;tGt(i,n-8,BigInt(this.length*8),o),this.process(i,0);let g=oK(t),y=this.outputLen;if(y%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let _=y/4,I=this.get();if(_>I.length)throw new Error("_sha2: outputLen bigger than state");for(let N=0;N<_;N++)g.setUint32(4*N,I[N],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let i=t.slice(0,r);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:i,length:n,finished:o,destroyed:d,pos:g}=this;return t.destroyed=d,t.finished=o,t.length=n,t.pos=g,n%r&&t.buffer.set(i),t}clone(){return this._cloneInto()}},uR=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wl=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function rGt(e,t=!1){return t?{h:Number(e&aK),l:Number(e>>Btt&aK)}:{h:Number(e>>Btt&aK)|0,l:Number(e&aK)|0}}function sK(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:d,l:g}=rGt(e[o],t);[i[o],n[o]]=[d,g]}return[i,n]}function Db(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var aK,Btt,Yhe,Whe,yC,bC,IP,CP,Mtt,Dtt,ktt,Ptt,Ltt,Utt,Ftt,Qtt,Htt,Gtt,Xhe=tn(()=>{"use strict";J();K();z();aK=BigInt(4294967295),Btt=BigInt(32);Yhe=(e,t,r)=>e>>>r,Whe=(e,t,r)=>e<<32-r|t>>>r,yC=(e,t,r)=>e>>>r|t<<32-r,bC=(e,t,r)=>e<<32-r|t>>>r,IP=(e,t,r)=>e<<64-r|t>>>r-32,CP=(e,t,r)=>e>>>r-32|t<<64-r,Mtt=(e,t,r)=>e<<r|t>>>32-r,Dtt=(e,t,r)=>t<<r|e>>>32-r,ktt=(e,t,r)=>t<<r-32|e>>>64-r,Ptt=(e,t,r)=>e<<r-32|t>>>64-r;Ltt=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Utt=(e,t,r,i)=>t+r+i+(e/2**32|0)|0,Ftt=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),Qtt=(e,t,r,i,n)=>t+r+i+n+(e/2**32|0)|0,Htt=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),Gtt=(e,t,r,i,n,o)=>t+r+i+n+o+(e/2**32|0)|0});var iGt,AI,cK,qtt,oGt,aGt,pI,gI,Zhe,qm,Vtt,ox=tn(()=>{"use strict";J();K();z();Ttt();Xhe();Up();iGt=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),AI=new Uint32Array(64),cK=class extends SP{constructor(t=32){super(64,t,8,!1),this.A=uR[0]|0,this.B=uR[1]|0,this.C=uR[2]|0,this.D=uR[3]|0,this.E=uR[4]|0,this.F=uR[5]|0,this.G=uR[6]|0,this.H=uR[7]|0}get(){let{A:t,B:r,C:i,D:n,E:o,F:d,G:g,H:y}=this;return[t,r,i,n,o,d,g,y]}set(t,r,i,n,o,d,g,y){this.A=t|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=o|0,this.F=d|0,this.G=g|0,this.H=y|0}process(t,r){for(let N=0;N<16;N++,r+=4)AI[N]=t.getUint32(r,!1);for(let N=16;N<64;N++){let T=AI[N-15],M=AI[N-2],D=Gm(T,7)^Gm(T,18)^T>>>3,P=Gm(M,17)^Gm(M,19)^M>>>10;AI[N]=P+AI[N-7]+D+AI[N-16]|0}let{A:i,B:n,C:o,D:d,E:g,F:y,G:_,H:I}=this;for(let N=0;N<64;N++){let T=Gm(g,6)^Gm(g,11)^Gm(g,25),M=I+T+Ntt(g,y,_)+iGt[N]+AI[N]|0,P=(Gm(i,2)^Gm(i,13)^Gm(i,22))+xtt(i,n,o)|0;I=_,_=y,y=g,g=d+M|0,d=o,o=n,n=i,i=M+P|0}i=i+this.A|0,n=n+this.B|0,o=o+this.C|0,d=d+this.D|0,g=g+this.E|0,y=y+this.F|0,_=_+this.G|0,I=I+this.H|0,this.set(i,n,o,d,g,y,_,I)}roundClean(){I_(AI)}destroy(){this.set(0,0,0,0,0,0,0,0),I_(this.buffer)}},qtt=sK(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),oGt=qtt[0],aGt=qtt[1],pI=new Uint32Array(80),gI=new Uint32Array(80),Zhe=class extends SP{constructor(t=64){super(128,t,16,!1),this.Ah=Wl[0]|0,this.Al=Wl[1]|0,this.Bh=Wl[2]|0,this.Bl=Wl[3]|0,this.Ch=Wl[4]|0,this.Cl=Wl[5]|0,this.Dh=Wl[6]|0,this.Dl=Wl[7]|0,this.Eh=Wl[8]|0,this.El=Wl[9]|0,this.Fh=Wl[10]|0,this.Fl=Wl[11]|0,this.Gh=Wl[12]|0,this.Gl=Wl[13]|0,this.Hh=Wl[14]|0,this.Hl=Wl[15]|0}get(){let{Ah:t,Al:r,Bh:i,Bl:n,Ch:o,Cl:d,Dh:g,Dl:y,Eh:_,El:I,Fh:N,Fl:T,Gh:M,Gl:D,Hh:P,Hl:G}=this;return[t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G]}set(t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G){this.Ah=t|0,this.Al=r|0,this.Bh=i|0,this.Bl=n|0,this.Ch=o|0,this.Cl=d|0,this.Dh=g|0,this.Dl=y|0,this.Eh=_|0,this.El=I|0,this.Fh=N|0,this.Fl=T|0,this.Gh=M|0,this.Gl=D|0,this.Hh=P|0,this.Hl=G|0}process(t,r){for(let ne=0;ne<16;ne++,r+=4)pI[ne]=t.getUint32(r),gI[ne]=t.getUint32(r+=4);for(let ne=16;ne<80;ne++){let ce=pI[ne-15]|0,le=gI[ne-15]|0,pe=yC(ce,le,1)^yC(ce,le,8)^Yhe(ce,le,7),ae=bC(ce,le,1)^bC(ce,le,8)^Whe(ce,le,7),W=pI[ne-2]|0,se=gI[ne-2]|0,O=yC(W,se,19)^IP(W,se,61)^Yhe(W,se,6),s=bC(W,se,19)^CP(W,se,61)^Whe(W,se,6),l=Ftt(ae,s,gI[ne-7],gI[ne-16]),A=Qtt(l,pe,O,pI[ne-7],pI[ne-16]);pI[ne]=A|0,gI[ne]=l|0}let{Ah:i,Al:n,Bh:o,Bl:d,Ch:g,Cl:y,Dh:_,Dl:I,Eh:N,El:T,Fh:M,Fl:D,Gh:P,Gl:G,Hh:q,Hl:Y}=this;for(let ne=0;ne<80;ne++){let ce=yC(N,T,14)^yC(N,T,18)^IP(N,T,41),le=bC(N,T,14)^bC(N,T,18)^CP(N,T,41),pe=N&M^~N&P,ae=T&D^~T&G,W=Htt(Y,le,ae,aGt[ne],gI[ne]),se=Gtt(W,q,ce,pe,oGt[ne],pI[ne]),O=W|0,s=yC(i,n,28)^IP(i,n,34)^IP(i,n,39),l=bC(i,n,28)^CP(i,n,34)^CP(i,n,39),A=i&o^i&g^o&g,m=n&d^n&y^d&y;q=P|0,Y=G|0,P=M|0,G=D|0,M=N|0,D=T|0,{h:N,l:T}=Db(_|0,I|0,se|0,O|0),_=g|0,I=y|0,g=o|0,y=d|0,o=i|0,d=n|0;let E=Ltt(O,l,m);i=Utt(E,se,s,A),n=E|0}({h:i,l:n}=Db(this.Ah|0,this.Al|0,i|0,n|0)),{h:o,l:d}=Db(this.Bh|0,this.Bl|0,o|0,d|0),{h:g,l:y}=Db(this.Ch|0,this.Cl|0,g|0,y|0),{h:_,l:I}=Db(this.Dh|0,this.Dl|0,_|0,I|0),{h:N,l:T}=Db(this.Eh|0,this.El|0,N|0,T|0),{h:M,l:D}=Db(this.Fh|0,this.Fl|0,M|0,D|0),{h:P,l:G}=Db(this.Gh|0,this.Gl|0,P|0,G|0),{h:q,l:Y}=Db(this.Hh|0,this.Hl|0,q|0,Y|0),this.set(i,n,o,d,g,y,_,I,N,T,M,D,P,G,q,Y)}roundClean(){I_(pI,gI)}destroy(){I_(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},qm=RP(()=>new cK),Vtt=RP(()=>new Zhe)});var grt=ir((kzn,prt)=>{"use strict";J();K();z();var kGt=_k(),PGt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";prt.exports=kGt(PGt)});var mrt=ir((zzn,_rt)=>{"use strict";J();K();z();var LGt=_k(),UGt="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";_rt.exports=LGt(UGt)});var yrt=ir(yAe=>{"use strict";J();K();z();function gR(e,t,r){return t<=e&&e<=r}function mK(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function FGt(e){for(var t=String(e),r=t.length,i=0,n=[];i<r;){var o=t.charCodeAt(i);if(o<55296||o>57343)n.push(o);else if(56320<=o&&o<=57343)n.push(65533);else if(55296<=o&&o<=56319)if(i===r-1)n.push(65533);else{var d=e.charCodeAt(i+1);if(56320<=d&&d<=57343){var g=o&1023,y=d&1023;n.push(65536+(g<<10)+y),i+=1}else n.push(65533)}i+=1}return n}function QGt(e){for(var t="",r=0;r<e.length;++r){var i=e[r];i<=65535?t+=String.fromCharCode(i):(i-=65536,t+=String.fromCharCode((i>>10)+55296,(i&1023)+56320))}return t}var AK=-1;function mAe(e){this.tokens=[].slice.call(e)}mAe.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():AK},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.pop());else this.tokens.unshift(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.shift());else this.tokens.push(e)}};var lx=-1;function _Ae(e,t){if(e)throw TypeError("Decoder error");return t||65533}var pK="utf-8";function gK(e,t){if(!(this instanceof gK))return new gK(e,t);if(e=e!==void 0?String(e).toLowerCase():pK,e!==pK)throw new Error("Encoding not supported. Only utf-8 is supported");t=mK(t),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!t.fatal,this._ignoreBOM=!!t.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}gK.prototype={decode:function(t,r){var i;typeof t=="object"&&t instanceof ArrayBuffer?i=new Uint8Array(t):typeof t=="object"&&"buffer"in t&&t.buffer instanceof ArrayBuffer?i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):i=new Uint8Array(0),r=mK(r),this._streaming||(this._decoder=new HGt({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!r.stream;for(var n=new mAe(i),o=[],d;!n.endOfStream()&&(d=this._decoder.handler(n,n.read()),d!==lx);)d!==null&&(Array.isArray(d)?o.push.apply(o,d):o.push(d));if(!this._streaming){do{if(d=this._decoder.handler(n,n.read()),d===lx)break;d!==null&&(Array.isArray(d)?o.push.apply(o,d):o.push(d))}while(!n.endOfStream());this._decoder=null}return o.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(o[0]===65279?(this._BOMseen=!0,o.shift()):this._BOMseen=!0),QGt(o)}};function _K(e,t){if(!(this instanceof _K))return new _K(e,t);if(e=e!==void 0?String(e).toLowerCase():pK,e!==pK)throw new Error("Encoding not supported. Only utf-8 is supported");t=mK(t),this._streaming=!1,this._encoder=null,this._options={fatal:!!t.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}_K.prototype={encode:function(t,r){t=t?String(t):"",r=mK(r),this._streaming||(this._encoder=new GGt(this._options)),this._streaming=!!r.stream;for(var i=[],n=new mAe(FGt(t)),o;!n.endOfStream()&&(o=this._encoder.handler(n,n.read()),o!==lx);)Array.isArray(o)?i.push.apply(i,o):i.push(o);if(!this._streaming){for(;o=this._encoder.handler(n,n.read()),o!==lx;)Array.isArray(o)?i.push.apply(i,o):i.push(o);this._encoder=null}return new Uint8Array(i)}};function HGt(e){var t=e.fatal,r=0,i=0,n=0,o=128,d=191;this.handler=function(g,y){if(y===AK&&n!==0)return n=0,_Ae(t);if(y===AK)return lx;if(n===0){if(gR(y,0,127))return y;if(gR(y,194,223))n=1,r=y-192;else if(gR(y,224,239))y===224&&(o=160),y===237&&(d=159),n=2,r=y-224;else if(gR(y,240,244))y===240&&(o=144),y===244&&(d=143),n=3,r=y-240;else return _Ae(t);return r=r<<6*n,null}if(!gR(y,o,d))return r=n=i=0,o=128,d=191,g.prepend(y),_Ae(t);if(o=128,d=191,i+=1,r+=y-128<<6*(n-i),i!==n)return null;var _=r;return r=n=i=0,_}}function GGt(e){var t=e.fatal;this.handler=function(r,i){if(i===AK)return lx;if(gR(i,0,127))return i;var n,o;gR(i,128,2047)?(n=1,o=192):gR(i,2048,65535)?(n=2,o=224):gR(i,65536,1114111)&&(n=3,o=240);for(var d=[(i>>6*n)+o];n>0;){var g=i>>6*(n-1);d.push(128|g&63),n-=1}return d}}yAe.TextEncoder=_K;yAe.TextDecoder=gK});var Srt=ir(fu=>{"use strict";J();K();z();var qGt=fu&&fu.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),VGt=fu&&fu.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),kb=fu&&fu.__decorate||function(e,t,r,i){var n=arguments.length,o=n<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,r):i,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,r,i);else for(var g=e.length-1;g>=0;g--)(d=e[g])&&(o=(n<3?d(o):n>3?d(t,r,o):d(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o},JGt=fu&&fu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&qGt(t,e,r);return VGt(t,e),t},brt=fu&&fu.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fu,"__esModule",{value:!0});fu.deserializeUnchecked=fu.deserialize=fu.serialize=fu.BinaryReader=fu.BinaryWriter=fu.BorshError=fu.baseDecode=fu.baseEncode=void 0;var EI=brt(qv()),Ert=brt(mrt()),zGt=JGt(yrt()),KGt=typeof TextDecoder!="function"?zGt.TextDecoder:TextDecoder,$Gt=new KGt("utf-8",{fatal:!0});function YGt(e){return typeof e=="string"&&(e=fe.from(e,"utf8")),Ert.default.encode(fe.from(e))}fu.baseEncode=YGt;function WGt(e){return fe.from(Ert.default.decode(e))}fu.baseDecode=WGt;var bAe=1024,Xl=class extends Error{constructor(t){super(t),this.fieldPath=[],this.originalMessage=t}addToFieldPath(t){this.fieldPath.splice(0,0,t),this.message=this.originalMessage+": "+this.fieldPath.join(".")}};fu.BorshError=Xl;var yK=class{constructor(){this.buf=fe.alloc(bAe),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=fe.concat([this.buf,fe.alloc(bAe)]))}writeU8(t){this.maybeResize(),this.buf.writeUInt8(t,this.length),this.length+=1}writeU16(t){this.maybeResize(),this.buf.writeUInt16LE(t,this.length),this.length+=2}writeU32(t){this.maybeResize(),this.buf.writeUInt32LE(t,this.length),this.length+=4}writeU64(t){this.maybeResize(),this.writeBuffer(fe.from(new EI.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(fe.from(new EI.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(fe.from(new EI.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(fe.from(new EI.default(t).toArray("le",64)))}writeBuffer(t){this.buf=fe.concat([fe.from(this.buf.subarray(0,this.length)),t,fe.alloc(bAe)]),this.length+=t.length}writeString(t){this.maybeResize();let r=fe.from(t,"utf8");this.writeU32(r.length),this.writeBuffer(r)}writeFixedArray(t){this.writeBuffer(fe.from(t))}writeArray(t,r){this.maybeResize(),this.writeU32(t.length);for(let i of t)this.maybeResize(),r(i)}toArray(){return this.buf.subarray(0,this.length)}};fu.BinaryWriter=yK;function Pb(e,t,r){let i=r.value;r.value=function(...n){try{return i.apply(this,n)}catch(o){if(o instanceof RangeError){let d=o.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(d)>=0)throw new Xl("Reached the end of buffer when deserializing")}throw o}}}var kA=class{constructor(t){this.buf=t,this.offset=0}readU8(){let t=this.buf.readUInt8(this.offset);return this.offset+=1,t}readU16(){let t=this.buf.readUInt16LE(this.offset);return this.offset+=2,t}readU32(){let t=this.buf.readUInt32LE(this.offset);return this.offset+=4,t}readU64(){let t=this.readBuffer(8);return new EI.default(t,"le")}readU128(){let t=this.readBuffer(16);return new EI.default(t,"le")}readU256(){let t=this.readBuffer(32);return new EI.default(t,"le")}readU512(){let t=this.readBuffer(64);return new EI.default(t,"le")}readBuffer(t){if(this.offset+t>this.buf.length)throw new Xl(`Expected buffer length ${t} isn't within bounds`);let r=this.buf.slice(this.offset,this.offset+t);return this.offset+=t,r}readString(){let t=this.readU32(),r=this.readBuffer(t);try{return $Gt.decode(r)}catch(i){throw new Xl(`Error decoding UTF-8 string: ${i}`)}}readFixedArray(t){return new Uint8Array(this.readBuffer(t))}readArray(t){let r=this.readU32(),i=Array();for(let n=0;n<r;++n)i.push(t());return i}};kb([Pb],kA.prototype,"readU8",null);kb([Pb],kA.prototype,"readU16",null);kb([Pb],kA.prototype,"readU32",null);kb([Pb],kA.prototype,"readU64",null);kb([Pb],kA.prototype,"readU128",null);kb([Pb],kA.prototype,"readU256",null);kb([Pb],kA.prototype,"readU512",null);kb([Pb],kA.prototype,"readString",null);kb([Pb],kA.prototype,"readFixedArray",null);kb([Pb],kA.prototype,"readArray",null);fu.BinaryReader=kA;function vrt(e){return e.charAt(0).toUpperCase()+e.slice(1)}function RC(e,t,r,i,n){try{if(typeof i=="string")n[`write${vrt(i)}`](r);else if(i instanceof Array)if(typeof i[0]=="number"){if(r.length!==i[0])throw new Xl(`Expecting byte array of length ${i[0]}, but got ${r.length} bytes`);n.writeFixedArray(r)}else if(i.length===2&&typeof i[1]=="number"){if(r.length!==i[1])throw new Xl(`Expecting byte array of length ${i[1]}, but got ${r.length} bytes`);for(let o=0;o<i[1];o++)RC(e,null,r[o],i[0],n)}else n.writeArray(r,o=>{RC(e,t,o,i[0],n)});else if(i.kind!==void 0)switch(i.kind){case"option":{r==null?n.writeU8(0):(n.writeU8(1),RC(e,t,r,i.type,n));break}case"map":{n.writeU32(r.size),r.forEach((o,d)=>{RC(e,t,d,i.key,n),RC(e,t,o,i.value,n)});break}default:throw new Xl(`FieldType ${i} unrecognized`)}else Rrt(e,r,n)}catch(o){throw o instanceof Xl&&o.addToFieldPath(t),o}}function Rrt(e,t,r){if(typeof t.borshSerialize=="function"){t.borshSerialize(r);return}let i=e.get(t.constructor);if(!i)throw new Xl(`Class ${t.constructor.name} is missing in schema`);if(i.kind==="struct")i.fields.map(([n,o])=>{RC(e,n,t[n],o,r)});else if(i.kind==="enum"){let n=t[i.field];for(let o=0;o<i.values.length;++o){let[d,g]=i.values[o];if(d===n){r.writeU8(o),RC(e,d,t[d],g,r);break}}}else throw new Xl(`Unexpected schema kind: ${i.kind} for ${t.constructor.name}`)}function XGt(e,t,r=yK){let i=new r;return Rrt(e,t,i),i.toArray()}fu.serialize=XGt;function SC(e,t,r,i){try{if(typeof r=="string")return i[`read${vrt(r)}`]();if(r instanceof Array){if(typeof r[0]=="number")return i.readFixedArray(r[0]);if(typeof r[1]=="number"){let n=[];for(let o=0;o<r[1];o++)n.push(SC(e,null,r[0],i));return n}else return i.readArray(()=>SC(e,t,r[0],i))}if(r.kind==="option")return i.readU8()?SC(e,t,r.type,i):void 0;if(r.kind==="map"){let n=new Map,o=i.readU32();for(let d=0;d<o;d++){let g=SC(e,t,r.key,i),y=SC(e,t,r.value,i);n.set(g,y)}return n}return EAe(e,r,i)}catch(n){throw n instanceof Xl&&n.addToFieldPath(t),n}}function EAe(e,t,r){if(typeof t.borshDeserialize=="function")return t.borshDeserialize(r);let i=e.get(t);if(!i)throw new Xl(`Class ${t.name} is missing in schema`);if(i.kind==="struct"){let n={};for(let[o,d]of e.get(t).fields)n[o]=SC(e,o,d,r);return new t(n)}if(i.kind==="enum"){let n=r.readU8();if(n>=i.values.length)throw new Xl(`Enum index: ${n} is out of range`);let[o,d]=i.values[n],g=SC(e,o,d,r);return new t({[o]:g})}throw new Xl(`Unexpected schema kind: ${i.kind} for ${t.constructor.name}`)}function ZGt(e,t,r,i=kA){let n=new i(r),o=EAe(e,t,n);if(n.offset<r.length)throw new Xl(`Unexpected ${r.length-n.offset} bytes after deserialized data`);return o}fu.deserialize=ZGt;function jGt(e,t,r,i=kA){let n=new i(r);return EAe(e,t,n)}fu.deserializeUnchecked=jGt});var RI=ir(dn=>{"use strict";J();K();z();Object.defineProperty(dn,"__esModule",{value:!0});dn.s16=dn.s8=dn.nu64be=dn.u48be=dn.u40be=dn.u32be=dn.u24be=dn.u16be=dn.nu64=dn.u48=dn.u40=dn.u32=dn.u24=dn.u16=dn.u8=dn.offset=dn.greedy=dn.Constant=dn.UTF8=dn.CString=dn.Blob=dn.Boolean=dn.BitField=dn.BitStructure=dn.VariantLayout=dn.Union=dn.UnionLayoutDiscriminator=dn.UnionDiscriminator=dn.Structure=dn.Sequence=dn.DoubleBE=dn.Double=dn.FloatBE=dn.Float=dn.NearInt64BE=dn.NearInt64=dn.NearUInt64BE=dn.NearUInt64=dn.IntBE=dn.Int=dn.UIntBE=dn.UInt=dn.OffsetLayout=dn.GreedyCount=dn.ExternalLayout=dn.bindConstructorLayout=dn.nameWithProperty=dn.Layout=dn.uint8ArrayToBuffer=dn.checkUint8Array=void 0;dn.constant=dn.utf8=dn.cstr=dn.blob=dn.unionLayoutDiscriminator=dn.union=dn.seq=dn.bits=dn.struct=dn.f64be=dn.f64=dn.f32be=dn.f32=dn.ns64be=dn.s48be=dn.s40be=dn.s32be=dn.s24be=dn.s16be=dn.ns64=dn.s48=dn.s40=dn.s32=dn.s24=void 0;var RAe=(mh(),Zu(ky));function px(e){if(!(e instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}dn.checkUint8Array=px;function uc(e){return px(e),RAe.Buffer.from(e.buffer,e.byteOffset,e.length)}dn.uint8ArrayToBuffer=uc;var Cc=class{constructor(t,r){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=r}makeDestinationObject(){return{}}getSpan(t,r){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){let r=Object.create(this.constructor.prototype);return Object.assign(r,this),r.property=t,r}fromArray(t){}};dn.Layout=Cc;function SAe(e,t){return t.property?e+"["+t.property+"]":e}dn.nameWithProperty=SAe;function eqt(e,t){if(typeof e!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(e,"layout_"))throw new Error("Class is already bound to a layout");if(!(t&&t instanceof Cc))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(t,"boundConstructor_"))throw new Error("layout is already bound to a constructor");e.layout_=t,t.boundConstructor_=e,t.makeDestinationObject=(()=>new e),Object.defineProperty(e.prototype,"encode",{value(r,i){return t.encode(this,r,i)},writable:!0}),Object.defineProperty(e,"decode",{value(r,i){return t.decode(r,i)},writable:!0})}dn.bindConstructorLayout=eqt;var Fh=class extends Cc{isCount(){throw new Error("ExternalLayout is abstract")}};dn.ExternalLayout=Fh;var bK=class extends Fh{constructor(t=1,r){if(!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,r),this.elementSpan=t}isCount(){return!0}decode(t,r=0){px(t);let i=t.length-r;return Math.floor(i/this.elementSpan)}encode(t,r,i){return 0}};dn.GreedyCount=bK;var MP=class extends Fh{constructor(t,r=0,i){if(!(t instanceof Cc))throw new TypeError("layout must be a Layout");if(!Number.isInteger(r))throw new TypeError("offset must be integer or undefined");super(t.span,i||t.property),this.layout=t,this.offset=r}isCount(){return this.layout instanceof Qp||this.layout instanceof Z1}decode(t,r=0){return this.layout.decode(t,r+this.offset)}encode(t,r,i=0){return this.layout.encode(t,r,i+this.offset)}};dn.OffsetLayout=MP;var Qp=class extends Cc{constructor(t,r){if(super(t,r),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,r=0){return uc(t).readUIntLE(r,this.span)}encode(t,r,i=0){return uc(r).writeUIntLE(t,i,this.span),this.span}};dn.UInt=Qp;var Z1=class extends Cc{constructor(t,r){if(super(t,r),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,r=0){return uc(t).readUIntBE(r,this.span)}encode(t,r,i=0){return uc(r).writeUIntBE(t,i,this.span),this.span}};dn.UIntBE=Z1;var _R=class extends Cc{constructor(t,r){if(super(t,r),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,r=0){return uc(t).readIntLE(r,this.span)}encode(t,r,i=0){return uc(r).writeIntLE(t,i,this.span),this.span}};dn.Int=_R;var vI=class extends Cc{constructor(t,r){if(super(t,r),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,r=0){return uc(t).readIntBE(r,this.span)}encode(t,r,i=0){return uc(r).writeIntBE(t,i,this.span),this.span}};dn.IntBE=vI;var vAe=Math.pow(2,32);function LK(e){let t=Math.floor(e/vAe),r=e-t*vAe;return{hi32:t,lo32:r}}function UK(e,t){return e*vAe+t}var EK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){let i=uc(t),n=i.readUInt32LE(r),o=i.readUInt32LE(r+4);return UK(o,n)}encode(t,r,i=0){let n=LK(t),o=uc(r);return o.writeUInt32LE(n.lo32,i),o.writeUInt32LE(n.hi32,i+4),8}};dn.NearUInt64=EK;var vK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){let i=uc(t),n=i.readUInt32BE(r),o=i.readUInt32BE(r+4);return UK(n,o)}encode(t,r,i=0){let n=LK(t),o=uc(r);return o.writeUInt32BE(n.hi32,i),o.writeUInt32BE(n.lo32,i+4),8}};dn.NearUInt64BE=vK;var RK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){let i=uc(t),n=i.readUInt32LE(r),o=i.readInt32LE(r+4);return UK(o,n)}encode(t,r,i=0){let n=LK(t),o=uc(r);return o.writeUInt32LE(n.lo32,i),o.writeInt32LE(n.hi32,i+4),8}};dn.NearInt64=RK;var SK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){let i=uc(t),n=i.readInt32BE(r),o=i.readUInt32BE(r+4);return UK(n,o)}encode(t,r,i=0){let n=LK(t),o=uc(r);return o.writeInt32BE(n.hi32,i),o.writeUInt32BE(n.lo32,i+4),8}};dn.NearInt64BE=SK;var IK=class extends Cc{constructor(t){super(4,t)}decode(t,r=0){return uc(t).readFloatLE(r)}encode(t,r,i=0){return uc(r).writeFloatLE(t,i),4}};dn.Float=IK;var CK=class extends Cc{constructor(t){super(4,t)}decode(t,r=0){return uc(t).readFloatBE(r)}encode(t,r,i=0){return uc(r).writeFloatBE(t,i),4}};dn.FloatBE=CK;var wK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){return uc(t).readDoubleLE(r)}encode(t,r,i=0){return uc(r).writeDoubleLE(t,i),8}};dn.Double=wK;var OK=class extends Cc{constructor(t){super(8,t)}decode(t,r=0){return uc(t).readDoubleBE(r)}encode(t,r,i=0){return uc(r).writeDoubleBE(t,i),8}};dn.DoubleBE=OK;var NK=class extends Cc{constructor(t,r,i){if(!(t instanceof Cc))throw new TypeError("elementLayout must be a Layout");if(!(r instanceof Fh&&r.isCount()||Number.isInteger(r)&&0<=r))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let n=-1;!(r instanceof Fh)&&0<t.span&&(n=r*t.span),super(n,i),this.elementLayout=t,this.count=r}getSpan(t,r=0){if(0<=this.span)return this.span;let i=0,n=this.count;if(n instanceof Fh&&(n=n.decode(t,r)),0<this.elementLayout.span)i=n*this.elementLayout.span;else{let o=0;for(;o<n;)i+=this.elementLayout.getSpan(t,r+i),++o}return i}decode(t,r=0){let i=[],n=0,o=this.count;for(o instanceof Fh&&(o=o.decode(t,r));n<o;)i.push(this.elementLayout.decode(t,r)),r+=this.elementLayout.getSpan(t,r),n+=1;return i}encode(t,r,i=0){let n=this.elementLayout,o=t.reduce((d,g)=>d+n.encode(g,r,i+d),0);return this.count instanceof Fh&&this.count.encode(t.length,r,i),o}};dn.Sequence=NK;var xK=class extends Cc{constructor(t,r,i){if(!(Array.isArray(t)&&t.reduce((o,d)=>o&&d instanceof Cc,!0)))throw new TypeError("fields must be array of Layout instances");typeof r=="boolean"&&i===void 0&&(i=r,r=void 0);for(let o of t)if(0>o.span&&o.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let n=-1;try{n=t.reduce((o,d)=>o+d.getSpan(),0)}catch{}super(n,r),this.fields=t,this.decodePrefixes=!!i}getSpan(t,r=0){if(0<=this.span)return this.span;let i=0;try{i=this.fields.reduce((n,o)=>{let d=o.getSpan(t,r);return r+=d,n+d},0)}catch{throw new RangeError("indeterminate span")}return i}decode(t,r=0){px(t);let i=this.makeDestinationObject();for(let n of this.fields)if(n.property!==void 0&&(i[n.property]=n.decode(t,r)),r+=n.getSpan(t,r),this.decodePrefixes&&t.length===r)break;return i}encode(t,r,i=0){let n=i,o=0,d=0;for(let g of this.fields){let y=g.span;if(d=0<y?y:0,g.property!==void 0){let _=t[g.property];_!==void 0&&(d=g.encode(_,r,i),0>y&&(y=g.getSpan(r,i)))}o=i,i+=y}return o+d-n}fromArray(t){let r=this.makeDestinationObject();for(let i of this.fields)i.property!==void 0&&0<t.length&&(r[i.property]=t.shift());return r}layoutFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(let r of this.fields)if(r.property===t)return r}offsetOf(t){if(typeof t!="string")throw new TypeError("property must be string");let r=0;for(let i of this.fields){if(i.property===t)return r;0>i.span?r=-1:0<=r&&(r+=i.span)}}};dn.Structure=xK;var DP=class{constructor(t){this.property=t}decode(t,r){throw new Error("UnionDiscriminator is abstract")}encode(t,r,i){throw new Error("UnionDiscriminator is abstract")}};dn.UnionDiscriminator=DP;var Ax=class extends DP{constructor(t,r){if(!(t instanceof Fh&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(r||t.property||"variant"),this.layout=t}decode(t,r){return this.layout.decode(t,r)}encode(t,r,i){return this.layout.encode(t,r,i)}};dn.UnionLayoutDiscriminator=Ax;var kP=class extends Cc{constructor(t,r,i){let n;if(t instanceof Qp||t instanceof Z1)n=new Ax(new MP(t));else if(t instanceof Fh&&t.isCount())n=new Ax(t);else if(t instanceof DP)n=t;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(r===void 0&&(r=null),!(r===null||r instanceof Cc))throw new TypeError("defaultLayout must be null or a Layout");if(r!==null){if(0>r.span)throw new Error("defaultLayout must have constant span");r.property===void 0&&(r=r.replicate("content"))}let o=-1;r&&(o=r.span,0<=o&&(t instanceof Qp||t instanceof Z1)&&(o+=n.layout.span)),super(o,i),this.discriminator=n,this.usesPrefixDiscriminator=t instanceof Qp||t instanceof Z1,this.defaultLayout=r,this.registry={};let d=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(g){return d(g)},this.configGetSourceVariant=function(g){d=g.bind(this)}}getSpan(t,r=0){if(0<=this.span)return this.span;let i=this.getVariant(t,r);if(!i)throw new Error("unable to determine span for unrecognized variant");return i.getSpan(t,r)}defaultGetSourceVariant(t){if(Object.prototype.hasOwnProperty.call(t,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(t,this.defaultLayout.property))return;let r=this.registry[t[this.discriminator.property]];if(r&&(!r.layout||r.property&&Object.prototype.hasOwnProperty.call(t,r.property)))return r}else for(let r in this.registry){let i=this.registry[r];if(i.property&&Object.prototype.hasOwnProperty.call(t,i.property))return i}throw new Error("unable to infer src variant")}decode(t,r=0){let i,n=this.discriminator,o=n.decode(t,r),d=this.registry[o];if(d===void 0){let g=this.defaultLayout,y=0;this.usesPrefixDiscriminator&&(y=n.layout.span),i=this.makeDestinationObject(),i[n.property]=o,i[g.property]=g.decode(t,r+y)}else i=d.decode(t,r);return i}encode(t,r,i=0){let n=this.getSourceVariant(t);if(n===void 0){let o=this.discriminator,d=this.defaultLayout,g=0;return this.usesPrefixDiscriminator&&(g=o.layout.span),o.encode(t[o.property],r,i),g+d.encode(t[d.property],r,i+g)}return n.encode(t,r,i)}addVariant(t,r,i){let n=new TK(this,t,r,i);return this.registry[t]=n,n}getVariant(t,r=0){let i;return t instanceof Uint8Array?i=this.discriminator.decode(t,r):i=t,this.registry[i]}};dn.Union=kP;var TK=class extends Cc{constructor(t,r,i,n){if(!(t instanceof kP))throw new TypeError("union must be a Union");if(!Number.isInteger(r)||0>r)throw new TypeError("variant must be a (non-negative) integer");if(typeof i=="string"&&n===void 0&&(n=i,i=null),i){if(!(i instanceof Cc))throw new TypeError("layout must be a Layout");if(t.defaultLayout!==null&&0<=i.span&&i.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof n!="string")throw new TypeError("variant must have a String property")}let o=t.span;0>t.span&&(o=i?i.span:0,0<=o&&t.usesPrefixDiscriminator&&(o+=t.discriminator.layout.span)),super(o,n),this.union=t,this.variant=r,this.layout=i||null}getSpan(t,r=0){if(0<=this.span)return this.span;let i=0;this.union.usesPrefixDiscriminator&&(i=this.union.discriminator.layout.span);let n=0;return this.layout&&(n=this.layout.getSpan(t,r+i)),i+n}decode(t,r=0){let i=this.makeDestinationObject();if(this!==this.union.getVariant(t,r))throw new Error("variant mismatch");let n=0;return this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout?i[this.property]=this.layout.decode(t,r+n):this.property?i[this.property]=!0:this.union.usesPrefixDiscriminator&&(i[this.union.discriminator.property]=this.variant),i}encode(t,r,i=0){let n=0;if(this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(t,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,r,i);let o=n;if(this.layout&&(this.layout.encode(t[this.property],r,i+n),o+=this.layout.getSpan(r,i+n),0<=this.union.span&&o>this.union.span))throw new Error("encoded variant overruns containing union");return o}fromArray(t){if(this.layout)return this.layout.fromArray(t)}};dn.VariantLayout=TK;function hx(e){return 0>e&&(e+=4294967296),e}var PP=class extends Cc{constructor(t,r,i){if(!(t instanceof Qp||t instanceof Z1))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof r=="string"&&i===void 0&&(i=r,r=!1),4<t.span)throw new RangeError("word cannot exceed 32 bits");super(t.span,i),this.word=t,this.msb=!!r,this.fields=[];let n=0;this._packedSetValue=function(o){return n=hx(o),this},this._packedGetValue=function(){return n}}decode(t,r=0){let i=this.makeDestinationObject(),n=this.word.decode(t,r);this._packedSetValue(n);for(let o of this.fields)o.property!==void 0&&(i[o.property]=o.decode(t));return i}encode(t,r,i=0){let n=this.word.decode(r,i);this._packedSetValue(n);for(let o of this.fields)if(o.property!==void 0){let d=t[o.property];d!==void 0&&o.encode(d)}return this.word.encode(this._packedGetValue(),r,i)}addField(t,r){let i=new LP(this,t,r);return this.fields.push(i),i}addBoolean(t){let r=new BK(this,t);return this.fields.push(r),r}fieldFor(t){if(typeof t!="string")throw new TypeError("property must be string");for(let r of this.fields)if(r.property===t)return r}};dn.BitStructure=PP;var LP=class{constructor(t,r,i){if(!(t instanceof PP))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(r)||0>=r)throw new TypeError("bits must be positive integer");let n=8*t.span,o=t.fields.reduce((d,g)=>d+g.bits,0);if(r+o>n)throw new Error("bits too long for span remainder ("+(n-o)+" of "+n+" remain)");this.container=t,this.bits=r,this.valueMask=(1<<r)-1,r===32&&(this.valueMask=4294967295),this.start=o,this.container.msb&&(this.start=n-o-r),this.wordMask=hx(this.valueMask<<this.start),this.property=i}decode(t,r){let i=this.container._packedGetValue();return hx(i&this.wordMask)>>>this.start}encode(t){if(typeof t!="number"||!Number.isInteger(t)||t!==hx(t&this.valueMask))throw new TypeError(SAe("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);let r=this.container._packedGetValue(),i=hx(t<<this.start);this.container._packedSetValue(hx(r&~this.wordMask)|i)}};dn.BitField=LP;var BK=class extends LP{constructor(t,r){super(t,1,r)}decode(t,r){return!!super.decode(t,r)}encode(t){typeof t=="boolean"&&(t=+t),super.encode(t)}};dn.Boolean=BK;var MK=class extends Cc{constructor(t,r){if(!(t instanceof Fh&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let i=-1;t instanceof Fh||(i=t),super(i,r),this.length=t}getSpan(t,r){let i=this.span;return 0>i&&(i=this.length.decode(t,r)),i}decode(t,r=0){let i=this.span;return 0>i&&(i=this.length.decode(t,r)),uc(t).slice(r,r+i)}encode(t,r,i){let n=this.length;if(this.length instanceof Fh&&(n=t.length),!(t instanceof Uint8Array&&n===t.length))throw new TypeError(SAe("Blob.encode",this)+" requires (length "+n+") Uint8Array as src");if(i+n>r.length)throw new RangeError("encoding overruns Uint8Array");let o=uc(t);return uc(r).write(o.toString("hex"),i,n,"hex"),this.length instanceof Fh&&this.length.encode(n,r,i),n}};dn.Blob=MK;var DK=class extends Cc{constructor(t){super(-1,t)}getSpan(t,r=0){px(t);let i=r;for(;i<t.length&&t[i]!==0;)i+=1;return 1+i-r}decode(t,r=0){let i=this.getSpan(t,r);return uc(t).slice(r,r+i-1).toString("utf-8")}encode(t,r,i=0){typeof t!="string"&&(t=String(t));let n=RAe.Buffer.from(t,"utf8"),o=n.length;if(i+o>r.length)throw new RangeError("encoding overruns Buffer");let d=uc(r);return n.copy(d,i),d[i+o]=0,o+1}};dn.CString=DK;var kK=class extends Cc{constructor(t,r){if(typeof t=="string"&&r===void 0&&(r=t,t=void 0),t===void 0)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,r),this.maxSpan=t}getSpan(t,r=0){return px(t),t.length-r}decode(t,r=0){let i=this.getSpan(t,r);if(0<=this.maxSpan&&this.maxSpan<i)throw new RangeError("text length exceeds maxSpan");return uc(t).slice(r,r+i).toString("utf-8")}encode(t,r,i=0){typeof t!="string"&&(t=String(t));let n=RAe.Buffer.from(t,"utf8"),o=n.length;if(0<=this.maxSpan&&this.maxSpan<o)throw new RangeError("text length exceeds maxSpan");if(i+o>r.length)throw new RangeError("encoding overruns Buffer");return n.copy(uc(r),i),o}};dn.UTF8=kK;var PK=class extends Cc{constructor(t,r){super(0,r),this.value=t}decode(t,r){return this.value}encode(t,r,i){return 0}};dn.Constant=PK;dn.greedy=((e,t)=>new bK(e,t));dn.offset=((e,t,r)=>new MP(e,t,r));dn.u8=(e=>new Qp(1,e));dn.u16=(e=>new Qp(2,e));dn.u24=(e=>new Qp(3,e));dn.u32=(e=>new Qp(4,e));dn.u40=(e=>new Qp(5,e));dn.u48=(e=>new Qp(6,e));dn.nu64=(e=>new EK(e));dn.u16be=(e=>new Z1(2,e));dn.u24be=(e=>new Z1(3,e));dn.u32be=(e=>new Z1(4,e));dn.u40be=(e=>new Z1(5,e));dn.u48be=(e=>new Z1(6,e));dn.nu64be=(e=>new vK(e));dn.s8=(e=>new _R(1,e));dn.s16=(e=>new _R(2,e));dn.s24=(e=>new _R(3,e));dn.s32=(e=>new _R(4,e));dn.s40=(e=>new _R(5,e));dn.s48=(e=>new _R(6,e));dn.ns64=(e=>new RK(e));dn.s16be=(e=>new vI(2,e));dn.s24be=(e=>new vI(3,e));dn.s32be=(e=>new vI(4,e));dn.s40be=(e=>new vI(5,e));dn.s48be=(e=>new vI(6,e));dn.ns64be=(e=>new SK(e));dn.f32=(e=>new IK(e));dn.f32be=(e=>new CK(e));dn.f64=(e=>new wK(e));dn.f64be=(e=>new OK(e));dn.struct=((e,t,r)=>new xK(e,t,r));dn.bits=((e,t,r)=>new PP(e,t,r));dn.seq=((e,t,r)=>new NK(e,t,r));dn.union=((e,t,r)=>new kP(e,t,r));dn.unionLayoutDiscriminator=((e,t)=>new Ax(e,t));dn.blob=((e,t)=>new MK(e,t));dn.cstr=(e=>new DK(e));dn.utf8=((e,t)=>new kK(e,t));dn.constant=((e,t)=>new PK(e,t))});function QP(){if(!GK&&(GK=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!GK))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return GK(AKt)}var GK,AKt,kAe=tn(()=>{"use strict";J();K();z();AKt=new Uint8Array(16)});var qrt,Vrt=tn(()=>{"use strict";J();K();z();qrt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function pKt(e){return typeof e=="string"&&qrt.test(e)}var II,HP=tn(()=>{"use strict";J();K();z();Vrt();II=pKt});function gKt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=(Zl[e[t+0]]+Zl[e[t+1]]+Zl[e[t+2]]+Zl[e[t+3]]+"-"+Zl[e[t+4]]+Zl[e[t+5]]+"-"+Zl[e[t+6]]+Zl[e[t+7]]+"-"+Zl[e[t+8]]+Zl[e[t+9]]+"-"+Zl[e[t+10]]+Zl[e[t+11]]+Zl[e[t+12]]+Zl[e[t+13]]+Zl[e[t+14]]+Zl[e[t+15]]).toLowerCase();if(!II(r))throw TypeError("Stringified UUID is invalid");return r}var Zl,qK,CI,GP=tn(()=>{"use strict";J();K();z();HP();Zl=[];for(qK=0;qK<256;++qK)Zl.push((qK+256).toString(16).substr(1));CI=gKt});function _Kt(e,t,r){var i=t&&r||0,n=t||new Array(16);e=e||{};var o=e.node||Jrt,d=e.clockseq!==void 0?e.clockseq:PAe;if(o==null||d==null){var g=e.random||(e.rng||QP)();o==null&&(o=Jrt=[g[0]|1,g[1],g[2],g[3],g[4],g[5]]),d==null&&(d=PAe=(g[6]<<8|g[7])&16383)}var y=e.msecs!==void 0?e.msecs:Date.now(),_=e.nsecs!==void 0?e.nsecs:UAe+1,I=y-LAe+(_-UAe)/1e4;if(I<0&&e.clockseq===void 0&&(d=d+1&16383),(I<0||y>LAe)&&e.nsecs===void 0&&(_=0),_>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");LAe=y,UAe=_,PAe=d,y+=122192928e5;var N=((y&268435455)*1e4+_)%4294967296;n[i++]=N>>>24&255,n[i++]=N>>>16&255,n[i++]=N>>>8&255,n[i++]=N&255;var T=y/4294967296*1e4&268435455;n[i++]=T>>>8&255,n[i++]=T&255,n[i++]=T>>>24&15|16,n[i++]=T>>>16&255,n[i++]=d>>>8|128,n[i++]=d&255;for(var M=0;M<6;++M)n[i+M]=o[M];return t||CI(n)}var Jrt,PAe,LAe,UAe,zrt,Krt=tn(()=>{"use strict";J();K();z();kAe();GP();LAe=0,UAe=0;zrt=_Kt});function mKt(e){if(!II(e))throw TypeError("Invalid UUID");var t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var VK,FAe=tn(()=>{"use strict";J();K();z();HP();VK=mKt});function yKt(e){e=unescape(encodeURIComponent(e));for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}function JK(e,t,r){function i(n,o,d,g){if(typeof n=="string"&&(n=yKt(n)),typeof o=="string"&&(o=VK(o)),o.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var y=new Uint8Array(16+n.length);if(y.set(o),y.set(n,o.length),y=r(y),y[6]=y[6]&15|t,y[8]=y[8]&63|128,d){g=g||0;for(var _=0;_<16;++_)d[g+_]=y[_];return d}return CI(y)}try{i.name=e}catch{}return i.DNS=bKt,i.URL=EKt,i}var bKt,EKt,QAe=tn(()=>{"use strict";J();K();z();GP();FAe();bKt="6ba7b810-9dad-11d1-80b4-00c04fd430c8",EKt="6ba7b811-9dad-11d1-80b4-00c04fd430c8"});function vKt(e){if(typeof e=="string"){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var r=0;r<t.length;++r)e[r]=t.charCodeAt(r)}return RKt(SKt(IKt(e),e.length*8))}function RKt(e){for(var t=[],r=e.length*32,i="0123456789abcdef",n=0;n<r;n+=8){var o=e[n>>5]>>>n%32&255,d=parseInt(i.charAt(o>>>4&15)+i.charAt(o&15),16);t.push(d)}return t}function $rt(e){return(e+64>>>9<<4)+14+1}function SKt(e,t){e[t>>5]|=128<<t%32,e[$rt(t)-1]=t;for(var r=1732584193,i=-271733879,n=-1732584194,o=271733878,d=0;d<e.length;d+=16){var g=r,y=i,_=n,I=o;r=Hh(r,i,n,o,e[d],7,-680876936),o=Hh(o,r,i,n,e[d+1],12,-389564586),n=Hh(n,o,r,i,e[d+2],17,606105819),i=Hh(i,n,o,r,e[d+3],22,-1044525330),r=Hh(r,i,n,o,e[d+4],7,-176418897),o=Hh(o,r,i,n,e[d+5],12,1200080426),n=Hh(n,o,r,i,e[d+6],17,-1473231341),i=Hh(i,n,o,r,e[d+7],22,-45705983),r=Hh(r,i,n,o,e[d+8],7,1770035416),o=Hh(o,r,i,n,e[d+9],12,-1958414417),n=Hh(n,o,r,i,e[d+10],17,-42063),i=Hh(i,n,o,r,e[d+11],22,-1990404162),r=Hh(r,i,n,o,e[d+12],7,1804603682),o=Hh(o,r,i,n,e[d+13],12,-40341101),n=Hh(n,o,r,i,e[d+14],17,-1502002290),i=Hh(i,n,o,r,e[d+15],22,1236535329),r=Gh(r,i,n,o,e[d+1],5,-165796510),o=Gh(o,r,i,n,e[d+6],9,-1069501632),n=Gh(n,o,r,i,e[d+11],14,643717713),i=Gh(i,n,o,r,e[d],20,-373897302),r=Gh(r,i,n,o,e[d+5],5,-701558691),o=Gh(o,r,i,n,e[d+10],9,38016083),n=Gh(n,o,r,i,e[d+15],14,-660478335),i=Gh(i,n,o,r,e[d+4],20,-405537848),r=Gh(r,i,n,o,e[d+9],5,568446438),o=Gh(o,r,i,n,e[d+14],9,-1019803690),n=Gh(n,o,r,i,e[d+3],14,-187363961),i=Gh(i,n,o,r,e[d+8],20,1163531501),r=Gh(r,i,n,o,e[d+13],5,-1444681467),o=Gh(o,r,i,n,e[d+2],9,-51403784),n=Gh(n,o,r,i,e[d+7],14,1735328473),i=Gh(i,n,o,r,e[d+12],20,-1926607734),r=qh(r,i,n,o,e[d+5],4,-378558),o=qh(o,r,i,n,e[d+8],11,-2022574463),n=qh(n,o,r,i,e[d+11],16,1839030562),i=qh(i,n,o,r,e[d+14],23,-35309556),r=qh(r,i,n,o,e[d+1],4,-1530992060),o=qh(o,r,i,n,e[d+4],11,1272893353),n=qh(n,o,r,i,e[d+7],16,-155497632),i=qh(i,n,o,r,e[d+10],23,-1094730640),r=qh(r,i,n,o,e[d+13],4,681279174),o=qh(o,r,i,n,e[d],11,-358537222),n=qh(n,o,r,i,e[d+3],16,-722521979),i=qh(i,n,o,r,e[d+6],23,76029189),r=qh(r,i,n,o,e[d+9],4,-640364487),o=qh(o,r,i,n,e[d+12],11,-421815835),n=qh(n,o,r,i,e[d+15],16,530742520),i=qh(i,n,o,r,e[d+2],23,-995338651),r=Vh(r,i,n,o,e[d],6,-198630844),o=Vh(o,r,i,n,e[d+7],10,1126891415),n=Vh(n,o,r,i,e[d+14],15,-1416354905),i=Vh(i,n,o,r,e[d+5],21,-57434055),r=Vh(r,i,n,o,e[d+12],6,1700485571),o=Vh(o,r,i,n,e[d+3],10,-1894986606),n=Vh(n,o,r,i,e[d+10],15,-1051523),i=Vh(i,n,o,r,e[d+1],21,-2054922799),r=Vh(r,i,n,o,e[d+8],6,1873313359),o=Vh(o,r,i,n,e[d+15],10,-30611744),n=Vh(n,o,r,i,e[d+6],15,-1560198380),i=Vh(i,n,o,r,e[d+13],21,1309151649),r=Vh(r,i,n,o,e[d+4],6,-145523070),o=Vh(o,r,i,n,e[d+11],10,-1120210379),n=Vh(n,o,r,i,e[d+2],15,718787259),i=Vh(i,n,o,r,e[d+9],21,-343485551),r=wI(r,g),i=wI(i,y),n=wI(n,_),o=wI(o,I)}return[r,i,n,o]}function IKt(e){if(e.length===0)return[];for(var t=e.length*8,r=new Uint32Array($rt(t)),i=0;i<t;i+=8)r[i>>5]|=(e[i/8]&255)<<i%32;return r}function wI(e,t){var r=(e&65535)+(t&65535),i=(e>>16)+(t>>16)+(r>>16);return i<<16|r&65535}function CKt(e,t){return e<<t|e>>>32-t}function zK(e,t,r,i,n,o){return wI(CKt(wI(wI(t,e),wI(i,o)),n),r)}function Hh(e,t,r,i,n,o,d){return zK(t&r|~t&i,e,t,n,o,d)}function Gh(e,t,r,i,n,o,d){return zK(t&i|r&~i,e,t,n,o,d)}function qh(e,t,r,i,n,o,d){return zK(t^r^i,e,t,n,o,d)}function Vh(e,t,r,i,n,o,d){return zK(r^(t|~i),e,t,n,o,d)}var Yrt,Wrt=tn(()=>{"use strict";J();K();z();Yrt=vKt});var wKt,Xrt,Zrt=tn(()=>{"use strict";J();K();z();QAe();Wrt();wKt=JK("v3",48,Yrt),Xrt=wKt});function OKt(e,t,r){e=e||{};var i=e.random||(e.rng||QP)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(var n=0;n<16;++n)t[r+n]=i[n];return t}return CI(i)}var jrt,ent=tn(()=>{"use strict";J();K();z();kAe();GP();jrt=OKt});function NKt(e,t,r,i){switch(e){case 0:return t&r^~t&i;case 1:return t^r^i;case 2:return t&r^t&i^r&i;case 3:return t^r^i}}function HAe(e,t){return e<<t|e>>>32-t}function xKt(e){var t=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var i=unescape(encodeURIComponent(e));e=[];for(var n=0;n<i.length;++n)e.push(i.charCodeAt(n))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var o=e.length/4+2,d=Math.ceil(o/16),g=new Array(d),y=0;y<d;++y){for(var _=new Uint32Array(16),I=0;I<16;++I)_[I]=e[y*64+I*4]<<24|e[y*64+I*4+1]<<16|e[y*64+I*4+2]<<8|e[y*64+I*4+3];g[y]=_}g[d-1][14]=(e.length-1)*8/Math.pow(2,32),g[d-1][14]=Math.floor(g[d-1][14]),g[d-1][15]=(e.length-1)*8&4294967295;for(var N=0;N<d;++N){for(var T=new Uint32Array(80),M=0;M<16;++M)T[M]=g[N][M];for(var D=16;D<80;++D)T[D]=HAe(T[D-3]^T[D-8]^T[D-14]^T[D-16],1);for(var P=r[0],G=r[1],q=r[2],Y=r[3],ne=r[4],ce=0;ce<80;++ce){var le=Math.floor(ce/20),pe=HAe(P,5)+NKt(le,G,q,Y)+ne+t[le]+T[ce]>>>0;ne=Y,Y=q,q=HAe(G,30)>>>0,G=P,P=pe}r[0]=r[0]+P>>>0,r[1]=r[1]+G>>>0,r[2]=r[2]+q>>>0,r[3]=r[3]+Y>>>0,r[4]=r[4]+ne>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var tnt,rnt=tn(()=>{"use strict";J();K();z();tnt=xKt});var TKt,nnt,int=tn(()=>{"use strict";J();K();z();QAe();rnt();TKt=JK("v5",80,tnt),nnt=TKt});var ont,ant=tn(()=>{"use strict";J();K();z();ont="00000000-0000-0000-0000-000000000000"});function BKt(e){if(!II(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}var snt,cnt=tn(()=>{"use strict";J();K();z();HP();snt=BKt});var GAe={};gh(GAe,{NIL:()=>ont,parse:()=>VK,stringify:()=>CI,v1:()=>zrt,v3:()=>Xrt,v4:()=>jrt,v5:()=>nnt,validate:()=>II,version:()=>snt});var qAe=tn(()=>{"use strict";J();K();z();Krt();Zrt();ent();int();ant();cnt();HP();GP();FAe()});var dnt=ir((nYn,unt)=>{"use strict";J();K();z();var MKt=(qAe(),Zu(GAe)).v4,DKt=function(e,t,r,i){if(typeof e!="string")throw new TypeError(e+" must be a string");i=i||{};let n=typeof i.version=="number"?i.version:2;if(n!==1&&n!==2)throw new TypeError(n+" must be 1 or 2");let o={method:e};if(n===2&&(o.jsonrpc="2.0"),t){if(typeof t!="object"&&!Array.isArray(t))throw new TypeError(t+" must be an object, array or omitted");o.params=t}if(typeof r>"u"){let d=typeof i.generator=="function"?i.generator:function(){return MKt()};o.id=d(o,i)}else n===2&&r===null?i.notificationIdNull&&(o.id=null):o.id=r;return o};unt.exports=DKt});var lnt=ir((sYn,fnt)=>{"use strict";J();K();z();var kKt=(qAe(),Zu(GAe)).v4,PKt=dnt(),qP=function(e,t){if(!(this instanceof qP))return new qP(e,t);t||(t={}),this.options={reviver:typeof t.reviver<"u"?t.reviver:null,replacer:typeof t.replacer<"u"?t.replacer:null,generator:typeof t.generator<"u"?t.generator:function(){return kKt()},version:typeof t.version<"u"?t.version:2,notificationIdNull:typeof t.notificationIdNull=="boolean"?t.notificationIdNull:!1},this.callServer=e};fnt.exports=qP;qP.prototype.request=function(e,t,r,i){let n=this,o=null,d=Array.isArray(e)&&typeof t=="function";if(this.options.version===1&&d)throw new TypeError("JSON-RPC 1.0 does not support batching");if(d||!d&&e&&typeof e=="object"&&typeof t=="function")i=t,o=e;else{typeof r=="function"&&(i=r,r=void 0);let _=typeof i=="function";try{o=PKt(e,t,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(I){if(_)return i(I);throw I}if(!_)return o}let y;try{y=JSON.stringify(o,this.options.replacer)}catch(_){return i(_)}return this.callServer(y,function(_,I){n._parseResponse(_,I,i)}),o};qP.prototype._parseResponse=function(e,t,r){if(e){r(e);return}if(!t)return r();let i;try{i=JSON.parse(t,this.options.reviver)}catch(n){return r(n)}if(r.length===3)if(Array.isArray(i)){let n=function(d){return typeof d.error<"u"},o=function(d){return!n(d)};return r(null,i.filter(n),i.filter(o))}else return r(null,i.error,i.result);r(null,i)}});var Ant=ir((fYn,VAe)=>{"use strict";J();K();z();var LKt=Object.prototype.hasOwnProperty,PA="~";function VP(){}Object.create&&(VP.prototype=Object.create(null),new VP().__proto__||(PA=!1));function UKt(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function hnt(e,t,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UKt(r,i||e,n),d=PA?PA+t:t;return e._events[d]?e._events[d].fn?e._events[d]=[e._events[d],o]:e._events[d].push(o):(e._events[d]=o,e._eventsCount++),e}function KK(e,t){--e._eventsCount===0?e._events=new VP:delete e._events[t]}function Jh(){this._events=new VP,this._eventsCount=0}Jh.prototype.eventNames=function(){var t=[],r,i;if(this._eventsCount===0)return t;for(i in r=this._events)LKt.call(r,i)&&t.push(PA?i.slice(1):i);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Jh.prototype.listeners=function(t){var r=PA?PA+t:t,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,o=i.length,d=new Array(o);n<o;n++)d[n]=i[n].fn;return d};Jh.prototype.listenerCount=function(t){var r=PA?PA+t:t,i=this._events[r];return i?i.fn?1:i.length:0};Jh.prototype.emit=function(t,r,i,n,o,d){var g=PA?PA+t:t;if(!this._events[g])return!1;var y=this._events[g],_=arguments.length,I,N;if(y.fn){switch(y.once&&this.removeListener(t,y.fn,void 0,!0),_){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,r),!0;case 3:return y.fn.call(y.context,r,i),!0;case 4:return y.fn.call(y.context,r,i,n),!0;case 5:return y.fn.call(y.context,r,i,n,o),!0;case 6:return y.fn.call(y.context,r,i,n,o,d),!0}for(N=1,I=new Array(_-1);N<_;N++)I[N-1]=arguments[N];y.fn.apply(y.context,I)}else{var T=y.length,M;for(N=0;N<T;N++)switch(y[N].once&&this.removeListener(t,y[N].fn,void 0,!0),_){case 1:y[N].fn.call(y[N].context);break;case 2:y[N].fn.call(y[N].context,r);break;case 3:y[N].fn.call(y[N].context,r,i);break;case 4:y[N].fn.call(y[N].context,r,i,n);break;default:if(!I)for(M=1,I=new Array(_-1);M<_;M++)I[M-1]=arguments[M];y[N].fn.apply(y[N].context,I)}}return!0};Jh.prototype.on=function(t,r,i){return hnt(this,t,r,i,!1)};Jh.prototype.once=function(t,r,i){return hnt(this,t,r,i,!0)};Jh.prototype.removeListener=function(t,r,i,n){var o=PA?PA+t:t;if(!this._events[o])return this;if(!r)return KK(this,o),this;var d=this._events[o];if(d.fn)d.fn===r&&(!n||d.once)&&(!i||d.context===i)&&KK(this,o);else{for(var g=0,y=[],_=d.length;g<_;g++)(d[g].fn!==r||n&&!d[g].once||i&&d[g].context!==i)&&y.push(d[g]);y.length?this._events[o]=y.length===1?y[0]:y:KK(this,o)}return this};Jh.prototype.removeAllListeners=function(t){var r;return t?(r=PA?PA+t:t,this._events[r]&&KK(this,r)):(this._events=new VP,this._eventsCount=0),this};Jh.prototype.off=Jh.prototype.removeListener;Jh.prototype.addListener=Jh.prototype.on;Jh.prefixed=PA;Jh.EventEmitter=Jh;typeof VAe<"u"&&(VAe.exports=Jh)});function $Kt(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let d=0;d<10;d++)r[d]=e[d]^e[d+10]^e[d+20]^e[d+30]^e[d+40];for(let d=0;d<10;d+=2){let g=(d+8)%10,y=(d+2)%10,_=r[y],I=r[y+1],N=_nt(_,I,1)^r[g],T=mnt(_,I,1)^r[g+1];for(let M=0;M<50;M+=10)e[d+M]^=N,e[d+M+1]^=T}let n=e[2],o=e[3];for(let d=0;d<24;d++){let g=bnt[d],y=_nt(n,o,g),_=mnt(n,o,g),I=ynt[d];n=e[I],o=e[I+1],e[I]=y,e[I+1]=_}for(let d=0;d<50;d+=10){for(let g=0;g<10;g++)r[g]=e[d+g];for(let g=0;g<10;g++)e[d+g]^=~r[(g+2)%10]&r[(g+4)%10]}e[0]^=zKt[i],e[1]^=KKt[i]}I_(r)}var HKt,JP,GKt,qKt,VKt,JKt,ynt,bnt,Ent,vnt,zKt,KKt,_nt,mnt,JAe,YKt,wC,$K=tn(()=>{"use strict";J();K();z();Xhe();Up();HKt=BigInt(0),JP=BigInt(1),GKt=BigInt(2),qKt=BigInt(7),VKt=BigInt(256),JKt=BigInt(113),ynt=[],bnt=[],Ent=[];for(let e=0,t=JP,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],ynt.push(2*(5*i+r)),bnt.push((e+1)*(e+2)/2%64);let n=HKt;for(let o=0;o<7;o++)t=(t<<JP^(t>>qKt)*JKt)%VKt,t&GKt&&(n^=JP<<(JP<<BigInt(o))-JP);Ent.push(n)}vnt=sK(Ent,!0),zKt=vnt[0],KKt=vnt[1],_nt=(e,t,r)=>r>32?ktt(e,t,r):Mtt(e,t,r),mnt=(e,t,r)=>r>32?Ptt(e,t,r):Dtt(e,t,r);JAe=class e extends hI{constructor(t,r,i,n=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=r,this.outputLen=i,this.enableXOF=n,this.rounds=o,S_(i),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=wtt(this.state)}clone(){return this._cloneInto()}keccak(){Khe(this.state32),$Kt(this.state32,this.rounds),Khe(this.state32),this.posOut=0,this.pos=0}update(t){cR(this),t=mC(t),Yl(t);let{blockLen:r,state:i}=this,n=t.length;for(let o=0;o<n;){let d=Math.min(r-this.pos,n-o);for(let g=0;g<d;g++)i[this.pos++]^=t[o++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:i,blockLen:n}=this;t[i]^=r,(r&128)!==0&&i===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){cR(this,!1),Yl(t),this.finish();let r=this.state,{blockLen:i}=this;for(let n=0,o=t.length;n<o;){this.posOut>=i&&this.keccak();let d=Math.min(i-this.posOut,o-n);t.set(r.subarray(this.posOut,this.posOut+d),n),this.posOut+=d,n+=d}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return S_(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(iK(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,I_(this.state)}_cloneInto(t){let{blockLen:r,suffix:i,outputLen:n,rounds:o,enableXOF:d}=this;return t||(t=new e(r,i,n,d,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=i,t.outputLen=n,t.enableXOF=d,t.destroyed=this.destroyed,t}},YKt=(e,t,r)=>RP(()=>new JAe(t,e,r)),wC=YKt(1,136,256/8)});var YK,OC,WK=tn(()=>{"use strict";J();K();z();Up();YK=class extends hI{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,nK(t);let i=mC(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(i.length>n?t.create().update(i).digest():i);for(let d=0;d<o.length;d++)o[d]^=54;this.iHash.update(o),this.oHash=t.create();for(let d=0;d<o.length;d++)o[d]^=106;this.oHash.update(o),I_(o)}update(t){return cR(this),this.iHash.update(t),this}digestInto(t){cR(this),Yl(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:i,finished:n,destroyed:o,blockLen:d,outputLen:g}=this;return t=t,t.finished=n,t.destroyed=o,t.blockLen=d,t.outputLen=g,t.oHash=r._cloneInto(t.oHash),t.iHash=i._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},OC=(e,t,r)=>new YK(e,t).update(r).digest();OC.create=(e,t)=>new YK(e,t)});var Act,pct=tn(()=>{"use strict";J();K();z();Act="1.1.0"});var kd,yT=tn(()=>{"use strict";J();K();z();pct();kd=class e extends Error{constructor(t,r={}){let i=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...i?[`Details: ${i}`]:[],`Version: abitype@${Act}`].join(` +`);super(o),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),r.cause&&(this.cause=r.cause),this.details=i,this.docsPath=n,this.metaMessages=r.metaMessages,this.shortMessage=t}}});function cg(e,t){return e.exec(t)?.groups}var Nge,xge,JY,zL=tn(()=>{"use strict";J();K();z();Nge=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xge=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,JY=/^\(.+?\).*?$/});function zY(e){let t=e.type;if(gct.test(e.type)&&"components"in e){t="(";let r=e.components.length;for(let n=0;n<r;n++){let o=e.components[n];t+=zY(o),n<r-1&&(t+=", ")}let i=cg(gct,e.type);return t+=`)${i?.array??""}`,zY({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var gct,_ct=tn(()=>{"use strict";J();K();z();zL();gct=/^tuple(?<array>(\[(\d*)\])*)$/});function XR(e){let t="",r=e.length;for(let i=0;i<r;i++){let n=e[i];t+=zY(n),i!==r-1&&(t+=", ")}return t}var Tge=tn(()=>{"use strict";J();K();z();_ct()});function Pw(e){return e.type==="function"?`function ${e.name}(${XR(e.inputs)})${e.stateMutability&&e.stateMutability!=="nonpayable"?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${XR(e.outputs)})`:""}`:e.type==="event"?`event ${e.name}(${XR(e.inputs)})`:e.type==="error"?`error ${e.name}(${XR(e.inputs)})`:e.type==="constructor"?`constructor(${XR(e.inputs)})${e.stateMutability==="payable"?" payable":""}`:e.type==="fallback"?`fallback() external${e.stateMutability==="payable"?" payable":""}`:"receive() external payable"}var mct=tn(()=>{"use strict";J();K();z();Tge()});function bct(e){return yct.test(e)}function Ect(e){return cg(yct,e)}function Rct(e){return vct.test(e)}function Sct(e){return cg(vct,e)}function Cct(e){return Ict.test(e)}function wct(e){return cg(Ict,e)}function f3(e){return Oct.test(e)}function Nct(e){return cg(Oct,e)}function Tct(e){return xct.test(e)}function Bct(e){return cg(xct,e)}function Dct(e){return Mct.test(e)}function kct(e){return cg(Mct,e)}function Pct(e){return Jtr.test(e)}var yct,vct,Ict,Oct,xct,Mct,Jtr,Bge,Lct,KY,bT=tn(()=>{"use strict";J();K();z();zL();yct=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;vct=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;Ict=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;Oct=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;xct=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;Mct=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;Jtr=/^receive\(\) external payable$/;Bge=new Set(["memory","indexed","storage","calldata"]),Lct=new Set(["indexed"]),KY=new Set(["calldata","memory","storage"])});var $Y,YY,WY,XY=tn(()=>{"use strict";J();K();z();yT();$Y=class extends kd{constructor({signature:t}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}},YY=class extends kd{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}},WY=class extends kd{constructor({type:t}){super("Unknown type.",{metaMessages:[`Type "${t}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}});var ZY,jY,eW,tW,rW,nW,iW=tn(()=>{"use strict";J();K();z();yT();ZY=class extends kd{constructor({params:t}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(t,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}},jY=class extends kd{constructor({param:t}){super("Invalid ABI parameter.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}},eW=class extends kd{constructor({param:t,name:r}){super("Invalid ABI parameter.",{details:t,metaMessages:[`"${r}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}},tW=class extends kd{constructor({param:t,type:r,modifier:i}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${i}" not allowed${r?` in "${r}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}},rW=class extends kd{constructor({param:t,type:r,modifier:i}){super("Invalid ABI parameter.",{details:t,metaMessages:[`Modifier "${i}" not allowed${r?` in "${r}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${i}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}},nW=class extends kd{constructor({abiParameter:t}){super("Invalid ABI parameter.",{details:JSON.stringify(t,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}});var Wb,oW,aW,Mge=tn(()=>{"use strict";J();K();z();yT();Wb=class extends kd{constructor({signature:t,type:r}){super(`Invalid ${r} signature.`,{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}},oW=class extends kd{constructor({signature:t}){super("Unknown signature.",{details:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}},aW=class extends kd{constructor({signature:t}){super("Invalid struct signature.",{details:t,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}});var sW,Uct=tn(()=>{"use strict";J();K();z();yT();sW=class extends kd{constructor({type:t}){super("Circular reference detected.",{metaMessages:[`Struct "${t}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}});var cW,Fct=tn(()=>{"use strict";J();K();z();yT();cW=class extends kd{constructor({current:t,depth:r}){super("Unbalanced parentheses.",{metaMessages:[`"${t.trim()}" has too many ${r>0?"opening":"closing"} parentheses.`],details:`Depth "${r}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}});function Qct(e,t,r){let i="";if(r)for(let n of Object.entries(r)){if(!n)continue;let o="";for(let d of n[1])o+=`[${d.type}${d.name?`:${d.name}`:""}]`;i+=`(${n[0]}{${o}})`}return t?`${t}:${e}${i}`:e}var uW,Hct=tn(()=>{"use strict";J();K();z();uW=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]])});function KL(e,t={}){if(Cct(e))return ztr(e,t);if(Rct(e))return Ktr(e,t);if(bct(e))return $tr(e,t);if(Tct(e))return Ytr(e,t);if(Dct(e))return Wtr(e);if(Pct(e))return{type:"receive",stateMutability:"payable"};throw new oW({signature:e})}function ztr(e,t={}){let r=wct(e);if(!r)throw new Wb({signature:e,type:"function"});let i=Kp(r.parameters),n=[],o=i.length;for(let g=0;g<o;g++)n.push(uy(i[g],{modifiers:KY,structs:t,type:"function"}));let d=[];if(r.returns){let g=Kp(r.returns),y=g.length;for(let _=0;_<y;_++)d.push(uy(g[_],{modifiers:KY,structs:t,type:"function"}))}return{name:r.name,type:"function",stateMutability:r.stateMutability??"nonpayable",inputs:n,outputs:d}}function Ktr(e,t={}){let r=Sct(e);if(!r)throw new Wb({signature:e,type:"event"});let i=Kp(r.parameters),n=[],o=i.length;for(let d=0;d<o;d++)n.push(uy(i[d],{modifiers:Lct,structs:t,type:"event"}));return{name:r.name,type:"event",inputs:n}}function $tr(e,t={}){let r=Ect(e);if(!r)throw new Wb({signature:e,type:"error"});let i=Kp(r.parameters),n=[],o=i.length;for(let d=0;d<o;d++)n.push(uy(i[d],{structs:t,type:"error"}));return{name:r.name,type:"error",inputs:n}}function Ytr(e,t={}){let r=Bct(e);if(!r)throw new Wb({signature:e,type:"constructor"});let i=Kp(r.parameters),n=[],o=i.length;for(let d=0;d<o;d++)n.push(uy(i[d],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:r.stateMutability??"nonpayable",inputs:n}}function Wtr(e){let t=kct(e);if(!t)throw new Wb({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}function uy(e,t){let r=Qct(e,t?.type,t?.structs);if(uW.has(r))return uW.get(r);let i=JY.test(e),n=cg(i?Ztr:Xtr,e);if(!n)throw new jY({param:e});if(n.name&&trr(n.name))throw new eW({param:e,name:n.name});let o=n.name?{name:n.name}:{},d=n.modifier==="indexed"?{indexed:!0}:{},g=t?.structs??{},y,_={};if(i){y="tuple";let N=Kp(n.type),T=[],M=N.length;for(let D=0;D<M;D++)T.push(uy(N[D],{structs:g}));_={components:T}}else if(n.type in g)y="tuple",_={components:g[n.type]};else if(jtr.test(n.type))y=`${n.type}256`;else if(n.type==="address payable")y="address";else if(y=n.type,t?.type!=="struct"&&!Dge(y))throw new WY({type:y});if(n.modifier){if(!t?.modifiers?.has?.(n.modifier))throw new tW({param:e,type:t?.type,modifier:n.modifier});if(KY.has(n.modifier)&&!rrr(y,!!n.array))throw new rW({param:e,type:t?.type,modifier:n.modifier})}let I={type:`${y}${n.array??""}`,...o,...d,..._};return uW.set(r,I),I}function Kp(e,t=[],r="",i=0){let n=e.trim().length;for(let o=0;o<n;o++){let d=e[o],g=e.slice(o+1);switch(d){case",":return i===0?Kp(g,[...t,r.trim()]):Kp(g,t,`${r}${d}`,i);case"(":return Kp(g,t,`${r}${d}`,i+1);case")":return Kp(g,t,`${r}${d}`,i-1);default:return Kp(g,t,`${r}${d}`,i)}}if(r==="")return t;if(i!==0)throw new cW({current:r,depth:i});return t.push(r.trim()),t}function Dge(e){return e==="address"||e==="bool"||e==="function"||e==="string"||Nge.test(e)||xge.test(e)}function trr(e){return e==="address"||e==="bool"||e==="function"||e==="string"||e==="tuple"||Nge.test(e)||xge.test(e)||err.test(e)}function rrr(e,t){return t||e==="bytes"||e==="string"||e==="tuple"}var Xtr,Ztr,jtr,err,ET=tn(()=>{"use strict";J();K();z();zL();XY();iW();Mge();Fct();Hct();bT();Xtr=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ztr=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,jtr=/^u?int$/;err=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/});function vT(e){let t={},r=e.length;for(let d=0;d<r;d++){let g=e[d];if(!f3(g))continue;let y=Nct(g);if(!y)throw new Wb({signature:g,type:"struct"});let _=y.properties.split(";"),I=[],N=_.length;for(let T=0;T<N;T++){let D=_[T].trim();if(!D)continue;let P=uy(D,{type:"struct"});I.push(P)}if(!I.length)throw new aW({signature:g});t[y.name]=I}let i={},n=Object.entries(t),o=n.length;for(let d=0;d<o;d++){let[g,y]=n[d];i[g]=Gct(y,t)}return i}function Gct(e,t,r=new Set){let i=[],n=e.length;for(let o=0;o<n;o++){let d=e[o];if(JY.test(d.type))i.push(d);else{let y=cg(nrr,d.type);if(!y?.type)throw new nW({abiParameter:d});let{array:_,type:I}=y;if(I in t){if(r.has(I))throw new sW({type:I});i.push({...d,type:`tuple${_??""}`,components:Gct(t[I]??[],t,new Set([...r,I]))})}else if(Dge(I))i.push(d);else throw new YY({type:I})}}return i}var nrr,dW=tn(()=>{"use strict";J();K();z();zL();XY();iW();Mge();Uct();bT();ET();nrr=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/});function fW(e){let t=vT(e),r=[],i=e.length;for(let n=0;n<i;n++){let o=e[n];f3(o)||r.push(KL(o,t))}return r}var qct=tn(()=>{"use strict";J();K();z();bT();dW();ET()});function lW(e){let t;if(typeof e=="string")t=KL(e);else{let r=vT(e),i=e.length;for(let n=0;n<i;n++){let o=e[n];if(!f3(o)){t=KL(o,r);break}}}if(!t)throw new $Y({signature:e});return t}var Vct=tn(()=>{"use strict";J();K();z();XY();bT();dW();ET()});function hW(e){let t=[];if(typeof e=="string"){let r=Kp(e),i=r.length;for(let n=0;n<i;n++)t.push(uy(r[n],{modifiers:Bge}))}else{let r=vT(e),i=e.length;for(let n=0;n<i;n++){let o=e[n];if(f3(o))continue;let d=Kp(o),g=d.length;for(let y=0;y<g;y++)t.push(uy(d[y],{modifiers:Bge,structs:r}))}}if(t.length===0)throw new ZY({params:e});return t}var Jct=tn(()=>{"use strict";J();K();z();iW();bT();dW();ET();ET()});var $L=tn(()=>{"use strict";J();K();z();mct();Tge();qct();Vct();Jct()});function Vf(e,{includeName:t=!1}={}){if(e.type!=="function"&&e.type!=="event"&&e.type!=="error")throw new AW(e.type);return`${e.name}(${YL(e.inputs,{includeName:t})})`}function YL(e,{includeName:t=!1}={}){return e?e.map(r=>irr(r,{includeName:t})).join(t?", ":","):""}function irr(e,{includeName:t}){return e.type.startsWith("tuple")?`(${YL(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:"")}var ZR=tn(()=>{"use strict";J();K();z();W0()});function X0(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}var z_=tn(()=>{"use strict";J();K();z()});function Xs(e){return X0(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var K_=tn(()=>{"use strict";J();K();z();z_()});var kge,Kct=tn(()=>{"use strict";J();K();z();kge="2.39.3"});function $ct(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?$ct(e.cause,t):t?null:e}var Pge,Kr,ia=tn(()=>{"use strict";J();K();z();Kct();Pge={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${kge}`},Kr=class e extends Error{constructor(t,r={}){let i=r.cause instanceof e?r.cause.details:r.cause?.message?r.cause.message:r.details,n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,o=Pge.getDocsUrl?.({...r,docsPath:n}),d=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...o?[`Docs: ${o}`]:[],...i?[`Details: ${i}`]:[],...Pge.version?[`Version: ${Pge.version}`]:[]].join(` +`);super(d,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=i,this.docsPath=n,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=kge}walk(t){return $ct(this,t)}}});var RT,l3,ST,$_,pW,gW,_W,mW,WL,IT,yW,CT,XL,dy,wT,bW,EW,vW,fy,Xb,RW,SW,OT,AW,W0=tn(()=>{"use strict";J();K();z();ZR();K_();ia();RT=class extends Kr{constructor({docsPath:t}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(` +`),{docsPath:t,name:"AbiConstructorNotFoundError"})}},l3=class extends Kr{constructor({docsPath:t}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(` +`),{docsPath:t,name:"AbiConstructorParamsNotFoundError"})}},ST=class extends Kr{constructor({data:t,params:r,size:i}){super([`Data size of ${i} bytes is too small for given parameters.`].join(` +`),{metaMessages:[`Params: (${YL(r,{includeName:!0})})`,`Data: ${t} (${i} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t,this.params=r,this.size=i}},$_=class extends Kr{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}},pW=class extends Kr{constructor({expectedLength:t,givenLength:r,type:i}){super([`ABI encoding array length mismatch for type ${i}.`,`Expected length: ${t}`,`Given length: ${r}`].join(` +`),{name:"AbiEncodingArrayLengthMismatchError"})}},gW=class extends Kr{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${Xs(r)}) does not match expected size (bytes${t}).`,{name:"AbiEncodingBytesSizeMismatchError"})}},_W=class extends Kr{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${t}`,`Given length (values): ${r}`].join(` +`),{name:"AbiEncodingLengthMismatchError"})}},mW=class extends Kr{constructor(t,{docsPath:r}){super([`Arguments (\`args\`) were provided to "${t}", but "${t}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join(` +`),{docsPath:r,name:"AbiErrorInputsNotFoundError"})}},WL=class extends Kr{constructor(t,{docsPath:r}={}){super([`Error ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join(` +`),{docsPath:r,name:"AbiErrorNotFoundError"})}},IT=class extends Kr{constructor(t,{docsPath:r}){super([`Encoded error signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${t}.`].join(` +`),{docsPath:r,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=t}},yW=class extends Kr{constructor({docsPath:t}){super("Cannot extract event signature from empty topics.",{docsPath:t,name:"AbiEventSignatureEmptyTopicsError"})}},CT=class extends Kr{constructor(t,{docsPath:r}){super([`Encoded event signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(` +`),{docsPath:r,name:"AbiEventSignatureNotFoundError"})}},XL=class extends Kr{constructor(t,{docsPath:r}={}){super([`Event ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(` +`),{docsPath:r,name:"AbiEventNotFoundError"})}},dy=class extends Kr{constructor(t,{docsPath:r}={}){super([`Function ${t?`"${t}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:r,name:"AbiFunctionNotFoundError"})}},wT=class extends Kr{constructor(t,{docsPath:r}){super([`Function "${t}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:r,name:"AbiFunctionOutputsNotFoundError"})}},bW=class extends Kr{constructor(t,{docsPath:r}){super([`Encoded function signature "${t}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${t}.`].join(` +`),{docsPath:r,name:"AbiFunctionSignatureNotFoundError"})}},EW=class extends Kr{constructor(t,r){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${t.type}\` in \`${Vf(t.abiItem)}\`, and`,`\`${r.type}\` in \`${Vf(r.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}},vW=class extends Kr{constructor({expectedSize:t,givenSize:r}){super(`Expected bytes${t}, got bytes${r}.`,{name:"BytesSizeMismatchError"})}},fy=class extends Kr{constructor({abiItem:t,data:r,params:i,size:n}){super([`Data size of ${n} bytes is too small for non-indexed event parameters.`].join(` +`),{metaMessages:[`Params: (${YL(i,{includeName:!0})})`,`Data: ${r} (${n} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t,this.data=r,this.params=i,this.size=n}},Xb=class extends Kr{constructor({abiItem:t,param:r}){super([`Expected a topic for indexed event parameter${r.name?` "${r.name}"`:""} on event "${Vf(t,{includeName:!0})}".`].join(` +`),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=t}},RW=class extends Kr{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:r,name:"InvalidAbiEncodingType"})}},SW=class extends Kr{constructor(t,{docsPath:r}){super([`Type "${t}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:r,name:"InvalidAbiDecodingType"})}},OT=class extends Kr{constructor(t){super([`Value "${t}" is not a valid array.`].join(` +`),{name:"InvalidArrayError"})}},AW=class extends Kr{constructor(t){super([`"${t}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(` +`),{name:"InvalidDefinitionTypeError"})}}});var ZL,jL,eU,CW=tn(()=>{"use strict";J();K();z();ia();ZL=class extends Kr{constructor({offset:t,position:r,size:i}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${i}).`,{name:"SliceOffsetOutOfBoundsError"})}},jL=class extends Kr{constructor({size:t,targetSize:r,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}},eU=class extends Kr{constructor({size:t,targetSize:r,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} is expected to be ${r} ${i} long, but is ${t} ${i} long.`,{name:"InvalidBytesLengthError"})}}});function Zb(e,{dir:t,size:r=32}={}){return typeof e=="string"?jR(e,{dir:t,size:r}):orr(e,{dir:t,size:r})}function jR(e,{dir:t,size:r=32}={}){if(r===null)return e;let i=e.replace("0x","");if(i.length>r*2)throw new jL({size:Math.ceil(i.length/2),targetSize:r,type:"hex"});return`0x${i[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function orr(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new jL({size:e.length,targetSize:r,type:"bytes"});let i=new Uint8Array(r);for(let n=0;n<r;n++){let o=t==="right";i[o?n:r-n-1]=e[o?n:e.length-n-1]}return i}var tU=tn(()=>{"use strict";J();K();z();CW()});var NT,wW,OW,NW,rU=tn(()=>{"use strict";J();K();z();ia();NT=class extends Kr{constructor({max:t,min:r,signed:i,size:n,value:o}){super(`Number "${o}" is not in safe ${n?`${n*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}},wW=class extends Kr{constructor(t){super(`Bytes value "${t}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}},OW=class extends Kr{constructor(t){super(`Hex value "${t}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}},NW=class extends Kr{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}});function ml(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,i=0;for(let n=0;n<r.length-1&&r[t==="left"?n:r.length-n-1].toString()==="0";n++)i++;return r=t==="left"?r.slice(i):r.slice(0,r.length-i),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}var Lw=tn(()=>{"use strict";J();K();z()});function $p(e,{size:t}){if(Xs(e)>t)throw new NW({givenSize:Xs(e),maxSize:t})}function Ga(e,t={}){let{signed:r}=t;t.size&&$p(e,{size:t.size});let i=BigInt(e);if(!r)return i;let n=(e.length-2)/2,o=(1n<<BigInt(n)*8n-1n)-1n;return i<=o?i:i-BigInt(`0x${"f".padStart(n*2,"f")}`)-1n}function Lge(e,t={}){let r=e;if(t.size&&($p(r,{size:t.size}),r=ml(r)),ml(r)==="0x00")return!1;if(ml(r)==="0x01")return!0;throw new OW(r)}function o0(e,t={}){return Number(Ga(e,t))}var sf=tn(()=>{"use strict";J();K();z();rU();K_();Lw()});function Uo(e,t={}){return typeof e=="number"||typeof e=="bigint"?Sn(e,t):typeof e=="string"?Y_(e,t):typeof e=="boolean"?nU(e,t):Qs(e,t)}function nU(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?($p(r,{size:t.size}),Zb(r,{size:t.size})):r}function Qs(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=arr[e[n]];let i=`0x${r}`;return typeof t.size=="number"?($p(i,{size:t.size}),Zb(i,{dir:"right",size:t.size})):i}function Sn(e,t={}){let{signed:r,size:i}=t,n=BigInt(e),o;i?r?o=(1n<<BigInt(i)*8n-1n)-1n:o=2n**(BigInt(i)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));let d=typeof o=="bigint"&&r?-o-1n:0;if(o&&n>o||n<d){let y=typeof e=="bigint"?"n":"";throw new NT({max:o?`${o}${y}`:void 0,min:`${d}${y}`,signed:r,size:i,value:`${e}${y}`})}let g=`0x${(r&&n<0?(1n<<BigInt(i*8))+BigInt(n):n).toString(16)}`;return i?Zb(g,{size:i}):g}function Y_(e,t={}){let r=srr.encode(e);return Qs(r,t)}var arr,srr,fo=tn(()=>{"use strict";J();K();z();rU();tU();sf();arr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));srr=new TextEncoder});function Wh(e,t={}){return typeof e=="number"||typeof e=="bigint"?drr(e,t):typeof e=="boolean"?urr(e,t):X0(e)?Z0(e,t):ly(e,t)}function urr(e,t={}){let r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?($p(r,{size:t.size}),Zb(r,{size:t.size})):r}function Yct(e){if(e>=eS.zero&&e<=eS.nine)return e-eS.zero;if(e>=eS.A&&e<=eS.F)return e-(eS.A-10);if(e>=eS.a&&e<=eS.f)return e-(eS.a-10)}function Z0(e,t={}){let r=e;t.size&&($p(r,{size:t.size}),r=Zb(r,{dir:"right",size:t.size}));let i=r.slice(2);i.length%2&&(i=`0${i}`);let n=i.length/2,o=new Uint8Array(n);for(let d=0,g=0;d<n;d++){let y=Yct(i.charCodeAt(g++)),_=Yct(i.charCodeAt(g++));if(y===void 0||_===void 0)throw new Kr(`Invalid byte sequence ("${i[g-2]}${i[g-1]}" in "${i}").`);o[d]=y*16+_}return o}function drr(e,t){let r=Sn(e,t);return Z0(r)}function ly(e,t={}){let r=crr.encode(e);return typeof t.size=="number"?($p(r,{size:t.size}),Zb(r,{dir:"right",size:t.size})):r}var crr,eS,cf=tn(()=>{"use strict";J();K();z();ia();z_();tU();sf();fo();crr=new TextEncoder;eS={zero:48,nine:57,A:65,F:70,a:97,f:102}});function eu(e,t){let r=t||"hex",i=wC(X0(e,{strict:!1})?Wh(e):e);return r==="bytes"?i:Uo(i)}var W_=tn(()=>{"use strict";J();K();z();$K();z_();cf();fo()});function Wct(e){return frr(e)}var frr,Xct=tn(()=>{"use strict";J();K();z();cf();W_();frr=e=>eu(Wh(e))});function Zct(e){let t=!0,r="",i=0,n="",o=!1;for(let d=0;d<e.length;d++){let g=e[d];if(["(",")",","].includes(g)&&(t=!0),g==="("&&i++,g===")"&&i--,!!t){if(i===0){if(g===" "&&["event","function",""].includes(n))n="";else if(n+=g,g===")"){o=!0;break}continue}if(g===" "){e[d-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=g,r+=g}}if(!o)throw new Kr("Unable to normalize signature.");return n}var jct=tn(()=>{"use strict";J();K();z();ia()});var eut,tut=tn(()=>{"use strict";J();K();z();$L();jct();eut=e=>{let t=typeof e=="string"?e:Pw(e);return Zct(t)}});function xW(e){return Wct(eut(e))}var Uge=tn(()=>{"use strict";J();K();z();Xct();tut()});var h3,iU=tn(()=>{"use strict";J();K();z();Uge();h3=xW});var nc,X_=tn(()=>{"use strict";J();K();z();ia();nc=class extends Kr{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}});var Z_,xT=tn(()=>{"use strict";J();K();z();Z_=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let i=this.keys().next().value;i&&this.delete(i)}return this}}});function jb(e,t){if(Fge.has(`${e}.${t}`))return Fge.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),i=eu(ly(r),"bytes"),n=(t?r.substring(`${t}0x`.length):r).split("");for(let d=0;d<40;d+=2)i[d>>1]>>4>=8&&n[d]&&(n[d]=n[d].toUpperCase()),(i[d>>1]&15)>=8&&n[d+1]&&(n[d+1]=n[d+1].toUpperCase());let o=`0x${n.join("")}`;return Fge.set(`${e}.${t}`,o),o}function hy(e,t){if(!ys(e,{strict:!1}))throw new nc({address:e});return jb(e,t)}var Fge,tS=tn(()=>{"use strict";J();K();z();X_();cf();W_();xT();Yp();Fge=new Z_(8192)});function ys(e,t){let{strict:r=!0}=t??{},i=`${e}.${r}`;if(Qge.has(i))return Qge.get(i);let n=lrr.test(e)?e.toLowerCase()===e?!0:r?jb(e)===e:!0:!1;return Qge.set(i,n),n}var lrr,Qge,Yp=tn(()=>{"use strict";J();K();z();xT();tS();lrr=/^0x[a-fA-F0-9]{40}$/,Qge=new Z_(8192)});function uf(e){return typeof e[0]=="string"?df(e):hrr(e)}function hrr(e){let t=0;for(let n of e)t+=n.length;let r=new Uint8Array(t),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}function df(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}var Xh=tn(()=>{"use strict";J();K();z()});function j_(e,t,r,{strict:i}={}){return X0(e,{strict:!1})?TW(e,t,r,{strict:i}):Hge(e,t,r,{strict:i})}function rut(e,t){if(typeof t=="number"&&t>0&&t>Xs(e)-1)throw new ZL({offset:t,position:"start",size:Xs(e)})}function nut(e,t,r){if(typeof t=="number"&&typeof r=="number"&&Xs(e)!==r-t)throw new ZL({offset:r,position:"end",size:Xs(e)})}function Hge(e,t,r,{strict:i}={}){rut(e,t);let n=e.slice(t,r);return i&&nut(n,t,r),n}function TW(e,t,r,{strict:i}={}){rut(e,t);let n=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return i&&nut(n,t,r),n}var A3=tn(()=>{"use strict";J();K();z();CW();z_();K_()});var iut,BW,Gge=tn(()=>{"use strict";J();K();z();iut=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,BW=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/});function ch(e,t){if(e.length!==t.length)throw new _W({expectedLength:e.length,givenLength:t.length});let r=Arr({params:e,values:t}),i=Vge(r);return i.length===0?"0x":i}function Arr({params:e,values:t}){let r=[];for(let i=0;i<e.length;i++)r.push(qge({param:e[i],value:t[i]}));return r}function qge({param:e,value:t}){let r=MW(e.type);if(r){let[i,n]=r;return grr(t,{length:i,param:{...e,type:n}})}if(e.type==="tuple")return Err(t,{param:e});if(e.type==="address")return prr(t);if(e.type==="bool")return mrr(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){let i=e.type.startsWith("int"),[,,n="256"]=BW.exec(e.type)??[];return yrr(t,{signed:i,size:Number(n)})}if(e.type.startsWith("bytes"))return _rr(t,{param:e});if(e.type==="string")return brr(t);throw new RW(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function Vge(e){let t=0;for(let o=0;o<e.length;o++){let{dynamic:d,encoded:g}=e[o];d?t+=32:t+=Xs(g)}let r=[],i=[],n=0;for(let o=0;o<e.length;o++){let{dynamic:d,encoded:g}=e[o];d?(r.push(Sn(t+n,{size:32})),i.push(g),n+=Xs(g)):r.push(g)}return uf([...r,...i])}function prr(e){if(!ys(e))throw new nc({address:e});return{dynamic:!1,encoded:jR(e.toLowerCase())}}function grr(e,{length:t,param:r}){let i=t===null;if(!Array.isArray(e))throw new OT(e);if(!i&&e.length!==t)throw new pW({expectedLength:t,givenLength:e.length,type:`${r.type}[${t}]`});let n=!1,o=[];for(let d=0;d<e.length;d++){let g=qge({param:r,value:e[d]});g.dynamic&&(n=!0),o.push(g)}if(i||n){let d=Vge(o);if(i){let g=Sn(o.length,{size:32});return{dynamic:!0,encoded:o.length>0?uf([g,d]):g}}if(n)return{dynamic:!0,encoded:d}}return{dynamic:!1,encoded:uf(o.map(({encoded:d})=>d))}}function _rr(e,{param:t}){let[,r]=t.type.split("bytes"),i=Xs(e);if(!r){let n=e;return i%32!==0&&(n=jR(n,{dir:"right",size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:uf([jR(Sn(i,{size:32})),n])}}if(i!==Number.parseInt(r,10))throw new gW({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:jR(e,{dir:"right"})}}function mrr(e){if(typeof e!="boolean")throw new Kr(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:jR(nU(e))}}function yrr(e,{signed:t,size:r=256}){if(typeof r=="number"){let i=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-i-1n:0n;if(e>i||e<n)throw new NT({max:i.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:Sn(e,{size:32,signed:t})}}function brr(e){let t=Y_(e),r=Math.ceil(Xs(t)/32),i=[];for(let n=0;n<r;n++)i.push(jR(j_(t,n*32,(n+1)*32),{dir:"right"}));return{dynamic:!0,encoded:uf([jR(Sn(Xs(t),{size:32})),...i])}}function Err(e,{param:t}){let r=!1,i=[];for(let n=0;n<t.components.length;n++){let o=t.components[n],d=Array.isArray(e)?n:o.name,g=qge({param:o,value:e[d]});i.push(g),g.dynamic&&(r=!0)}return{dynamic:r,encoded:r?Vge(i):uf(i.map(({encoded:n})=>n))}}function MW(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var eE=tn(()=>{"use strict";J();K();z();W0();X_();ia();rU();Yp();Xh();tU();K_();A3();fo();Gge()});var tE,TT=tn(()=>{"use strict";J();K();z();A3();Uge();tE=e=>j_(xW(e),0,4)});function Wp(e){let{abi:t,args:r=[],name:i}=e,n=X0(i,{strict:!1}),o=t.filter(g=>n?g.type==="function"?tE(g)===i:g.type==="event"?h3(g)===i:!1:"name"in g&&g.name===i);if(o.length===0)return;if(o.length===1)return o[0];let d;for(let g of o){if(!("inputs"in g))continue;if(!r||r.length===0){if(!g.inputs||g.inputs.length===0)return g;continue}if(!g.inputs||g.inputs.length===0||g.inputs.length!==r.length)continue;if(r.every((_,I)=>{let N="inputs"in g&&g.inputs[I];return N?Jge(_,N):!1})){if(d&&"inputs"in d&&d.inputs){let _=out(g.inputs,d.inputs,r);if(_)throw new EW({abiItem:g,type:_[0]},{abiItem:d,type:_[1]})}d=g}}return d||o[0]}function Jge(e,t){let r=typeof e,i=t.type;switch(i){case"address":return ys(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return i==="tuple"&&"components"in t?Object.values(t.components).every((n,o)=>Jge(Object.values(e)[o],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(i)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(i)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(i)?Array.isArray(e)&&e.every(n=>Jge(n,{...t,type:i.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function out(e,t,r){for(let i in e){let n=e[i],o=t[i];if(n.type==="tuple"&&o.type==="tuple"&&"components"in n&&"components"in o)return out(n.components,o.components,r[i]);let d=[n.type,o.type];if(d.includes("address")&&d.includes("bytes20")?!0:d.includes("address")&&d.includes("string")?ys(r[i],{strict:!1}):d.includes("address")&&d.includes("bytes")?ys(r[i],{strict:!1}):!1)return d}}var p3=tn(()=>{"use strict";J();K();z();W0();z_();Yp();iU();TT()});function na(e){return typeof e=="string"?{address:e,type:"json-rpc"}:e}var E0=tn(()=>{"use strict";J();K();z()});function uut(e){let{abi:t,args:r,functionName:i}=e,n=t[0];if(i){let o=Wp({abi:t,args:r,name:i});if(!o)throw new dy(i,{docsPath:cut});n=o}if(n.type!=="function")throw new dy(void 0,{docsPath:cut});return{abi:[n],functionName:tE(Vf(n))}}var cut,dut=tn(()=>{"use strict";J();K();z();W0();TT();ZR();p3();cut="/docs/contract/encodeFunctionData"});function hu(e){let{args:t}=e,{abi:r,functionName:i}=e.abi.length===1&&e.functionName?.startsWith("0x")?e:uut(e),n=r[0],o=i,d="inputs"in n&&n.inputs?ch(n.inputs,t??[]):void 0;return df([o,d??"0x"])}var Xp=tn(()=>{"use strict";J();K();z();Xh();eE();dut()});var fut,kW,lut,PW=tn(()=>{"use strict";J();K();z();fut={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},kW={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},lut={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"}});var oU,BT,LW,zge=tn(()=>{"use strict";J();K();z();ia();oU=class extends Kr{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}},BT=class extends Kr{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}},LW=class extends Kr{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}});function MT(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(vrr);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var vrr,UW=tn(()=>{"use strict";J();K();z();zge();vrr={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new LW({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new BT({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new oU({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new oU({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}});function hut(e,t={}){typeof t.size<"u"&&$p(e,{size:t.size});let r=Qs(e,t);return Ga(r,t)}function Aut(e,t={}){let r=e;if(typeof t.size<"u"&&($p(r,{size:t.size}),r=ml(r)),r.length>1||r[0]>1)throw new wW(r);return!!r[0]}function nE(e,t={}){typeof t.size<"u"&&$p(e,{size:t.size});let r=Qs(e,t);return o0(r,t)}function put(e,t={}){let r=e;return typeof t.size<"u"&&($p(r,{size:t.size}),r=ml(r,{dir:"right"})),new TextDecoder().decode(r)}var gut=tn(()=>{"use strict";J();K();z();rU();Lw();sf();fo()});function rS(e,t){let r=typeof t=="string"?Z0(t):t,i=MT(r);if(Xs(r)===0&&e.length>0)throw new $_;if(Xs(t)&&Xs(t)<32)throw new ST({data:typeof t=="string"?t:Qs(t),params:e,size:Xs(t)});let n=0,o=[];for(let d=0;d<e.length;++d){let g=e[d];i.setPosition(n);let[y,_]=DT(i,g,{staticPosition:0});n+=_,o.push(y)}return o}function DT(e,t,{staticPosition:r}){let i=MW(t.type);if(i){let[n,o]=i;return Srr(e,{...t,type:o},{length:n,staticPosition:r})}if(t.type==="tuple")return Orr(e,t,{staticPosition:r});if(t.type==="address")return Rrr(e);if(t.type==="bool")return Irr(e);if(t.type.startsWith("bytes"))return Crr(e,t,{staticPosition:r});if(t.type.startsWith("uint")||t.type.startsWith("int"))return wrr(e,t);if(t.type==="string")return Nrr(e,{staticPosition:r});throw new SW(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function Rrr(e){let t=e.readBytes(32);return[jb(Qs(Hge(t,-20))),32]}function Srr(e,t,{length:r,staticPosition:i}){if(!r){let d=nE(e.readBytes(Kge)),g=i+d,y=g+_ut;e.setPosition(g);let _=nE(e.readBytes(_ut)),I=aU(t),N=0,T=[];for(let M=0;M<_;++M){e.setPosition(y+(I?M*32:N));let[D,P]=DT(e,t,{staticPosition:y});N+=P,T.push(D)}return e.setPosition(i+32),[T,32]}if(aU(t)){let d=nE(e.readBytes(Kge)),g=i+d,y=[];for(let _=0;_<r;++_){e.setPosition(g+_*32);let[I]=DT(e,t,{staticPosition:g});y.push(I)}return e.setPosition(i+32),[y,32]}let n=0,o=[];for(let d=0;d<r;++d){let[g,y]=DT(e,t,{staticPosition:i+n});n+=y,o.push(g)}return[o,n]}function Irr(e){return[Aut(e.readBytes(32),{size:32}),32]}function Crr(e,t,{staticPosition:r}){let[i,n]=t.type.split("bytes");if(!n){let d=nE(e.readBytes(32));e.setPosition(r+d);let g=nE(e.readBytes(32));if(g===0)return e.setPosition(r+32),["0x",32];let y=e.readBytes(g);return e.setPosition(r+32),[Qs(y),32]}return[Qs(e.readBytes(Number.parseInt(n,10),32)),32]}function wrr(e,t){let r=t.type.startsWith("int"),i=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[i>48?hut(n,{signed:r}):nE(n,{signed:r}),32]}function Orr(e,t,{staticPosition:r}){let i=t.components.length===0||t.components.some(({name:d})=>!d),n=i?[]:{},o=0;if(aU(t)){let d=nE(e.readBytes(Kge)),g=r+d;for(let y=0;y<t.components.length;++y){let _=t.components[y];e.setPosition(g+o);let[I,N]=DT(e,_,{staticPosition:g});o+=N,n[i?y:_?.name]=I}return e.setPosition(r+32),[n,32]}for(let d=0;d<t.components.length;++d){let g=t.components[d],[y,_]=DT(e,g,{staticPosition:r});n[i?d:g?.name]=y,o+=_}return[n,o]}function Nrr(e,{staticPosition:t}){let r=nE(e.readBytes(32)),i=t+r;e.setPosition(i);let n=nE(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let o=e.readBytes(n,32),d=put(ml(o));return e.setPosition(t+32),[d,32]}function aU(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(aU);let r=MW(e.type);return!!(r&&aU({...e,type:r[1]}))}var _ut,Kge,sU=tn(()=>{"use strict";J();K();z();W0();tS();UW();K_();A3();Lw();gut();cf();fo();eE();_ut=32,Kge=32});function FW(e){let{abi:t,data:r}=e,i=j_(r,0,4);if(i==="0x")throw new $_;let o=[...t||[],kW,lut].find(d=>d.type==="error"&&i===tE(Vf(d)));if(!o)throw new IT(i,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:o,args:"inputs"in o&&o.inputs&&o.inputs.length>0?rS(o.inputs,j_(r,4)):void 0,errorName:o.name}}var $ge=tn(()=>{"use strict";J();K();z();PW();W0();A3();TT();sU();ZR()});var ws,Zh=tn(()=>{"use strict";J();K();z();ws=(e,t,r)=>JSON.stringify(e,(i,n)=>{let o=typeof n=="bigint"?n.toString():n;return typeof t=="function"?t(i,o):o},r)});function Yge({abiItem:e,args:t,includeFunctionName:r=!0,includeName:i=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${r?e.name:""}(${e.inputs.map((n,o)=>`${i&&n.name?`${n.name}: `:""}${typeof t[o]=="object"?ws(t[o]):t[o]}`).join(", ")})`}var mut=tn(()=>{"use strict";J();K();z();Zh()});var yut,but,Wge=tn(()=>{"use strict";J();K();z();yut={gwei:9,wei:18},but={ether:-9,wei:9}});function QW(e,t){let r=e.toString(),i=r.startsWith("-");i&&(r=r.slice(1)),r=r.padStart(t,"0");let[n,o]=[r.slice(0,r.length-t),r.slice(r.length-t)];return o=o.replace(/(0+)$/,""),`${i?"-":""}${n||"0"}${o?`.${o}`:""}`}var Xge=tn(()=>{"use strict";J();K();z()});function kT(e,t="wei"){return QW(e,yut[t])}var HW=tn(()=>{"use strict";J();K();z();Wge();Xge()});function Jf(e,t="wei"){return QW(e,but[t])}var PT=tn(()=>{"use strict";J();K();z();Wge();Xge()});function Eut(e){return e.reduce((t,{slot:r,value:i})=>`${t} ${r}: ${i} +`,"")}function vut(e){return e.reduce((t,{address:r,...i})=>{let n=`${t} ${r}: +`;return i.nonce&&(n+=` nonce: ${i.nonce} +`),i.balance&&(n+=` balance: ${i.balance} +`),i.code&&(n+=` code: ${i.code} +`),i.state&&(n+=` state: +`,n+=Eut(i.state)),i.stateDiff&&(n+=` stateDiff: +`,n+=Eut(i.stateDiff)),n},` State Override: +`).slice(0,-1)}var GW,qW,Zge=tn(()=>{"use strict";J();K();z();ia();GW=class extends Kr{constructor({address:t}){super(`State for account "${t}" is set multiple times.`,{name:"AccountStateConflictError"})}},qW=class extends Kr{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}});function Uw(e){let t=Object.entries(e).map(([i,n])=>n===void 0||n===!1?null:[i,n]).filter(Boolean),r=t.reduce((i,[n])=>Math.max(i,n.length),0);return t.map(([i,n])=>` ${`${i}:`.padEnd(r+1)} ${n}`).join(` +`)}var VW,JW,zW,KW,$W,LT,UT,FT,YW,ug=tn(()=>{"use strict";J();K();z();HW();PT();ia();VW=class extends Kr{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(` +`),{name:"FeeConflictError"})}},JW=class extends Kr{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}},zW=class extends Kr{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Uw(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}},KW=class extends Kr{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}},$W=class extends Kr{constructor(t,{account:r,docsPath:i,chain:n,data:o,gas:d,gasPrice:g,maxFeePerGas:y,maxPriorityFeePerGas:_,nonce:I,to:N,value:T}){let M=Uw({chain:n&&`${n?.name} (id: ${n?.id})`,from:r?.address,to:N,value:typeof T<"u"&&`${kT(T)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:d,gasPrice:typeof g<"u"&&`${Jf(g)} gwei`,maxFeePerGas:typeof y<"u"&&`${Jf(y)} gwei`,maxPriorityFeePerGas:typeof _<"u"&&`${Jf(_)} gwei`,nonce:I});super(t.shortMessage,{cause:t,docsPath:i,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Request Arguments:",M].filter(Boolean),name:"TransactionExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},LT=class extends Kr{constructor({blockHash:t,blockNumber:r,blockTag:i,hash:n,index:o}){let d="Transaction";i&&o!==void 0&&(d=`Transaction at block time "${i}" at index "${o}"`),t&&o!==void 0&&(d=`Transaction at block hash "${t}" at index "${o}"`),r&&o!==void 0&&(d=`Transaction at block number "${r}" at index "${o}"`),n&&(d=`Transaction with hash "${n}"`),super(`${d} could not be found.`,{name:"TransactionNotFoundError"})}},UT=class extends Kr{constructor({hash:t}){super(`Transaction receipt with hash "${t}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}},FT=class extends Kr{constructor({receipt:t}){super(`Transaction with hash "${t.transactionHash}" reverted.`,{metaMessages:['The receipt marked the transaction as "reverted". This could mean that the function on the contract you are trying to call threw an error.'," ","You can attempt to extract the revert reason by:","- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract","- using the `call` Action with raw `data`"],name:"TransactionReceiptRevertedError"}),Object.defineProperty(this,"receipt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=t}},YW=class extends Kr{constructor({hash:t}){super(`Timed out while waiting for transaction with hash "${t}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}});var Rut,Fw,WW=tn(()=>{"use strict";J();K();z();Rut=e=>e,Fw=e=>e});var QT,HT,Qw,XW,ZW,iE,_3=tn(()=>{"use strict";J();K();z();E0();PW();$ge();ZR();mut();p3();HW();PT();W0();ia();Zge();ug();WW();QT=class extends Kr{constructor(t,{account:r,docsPath:i,chain:n,data:o,gas:d,gasPrice:g,maxFeePerGas:y,maxPriorityFeePerGas:_,nonce:I,to:N,value:T,stateOverride:M}){let D=r?na(r):void 0,P=Uw({from:D?.address,to:N,value:typeof T<"u"&&`${kT(T)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:d,gasPrice:typeof g<"u"&&`${Jf(g)} gwei`,maxFeePerGas:typeof y<"u"&&`${Jf(y)} gwei`,maxPriorityFeePerGas:typeof _<"u"&&`${Jf(_)} gwei`,nonce:I});M&&(P+=` +${vut(M)}`),super(t.shortMessage,{cause:t,docsPath:i,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Raw Call Arguments:",P].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}},HT=class extends Kr{constructor(t,{abi:r,args:i,contractAddress:n,docsPath:o,functionName:d,sender:g}){let y=Wp({abi:r,args:i,name:d}),_=y?Yge({abiItem:y,args:i,includeFunctionName:!1,includeName:!1}):void 0,I=y?Vf(y,{includeName:!0}):void 0,N=Uw({address:n&&Rut(n),function:I,args:_&&_!=="()"&&`${[...Array(d?.length??0).keys()].map(()=>" ").join("")}${_}`,sender:g});super(t.shortMessage||`An unknown error occurred while executing the contract function "${d}".`,{cause:t,docsPath:o,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],N&&"Contract Call:",N].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=r,this.args=i,this.cause=t,this.contractAddress=n,this.functionName=d,this.sender=g}},Qw=class extends Kr{constructor({abi:t,data:r,functionName:i,message:n}){let o,d,g,y;if(r&&r!=="0x")try{d=FW({abi:t,data:r});let{abiItem:I,errorName:N,args:T}=d;if(N==="Error")y=T[0];else if(N==="Panic"){let[M]=T;y=fut[M]}else{let M=I?Vf(I,{includeName:!0}):void 0,D=I&&T?Yge({abiItem:I,args:T,includeFunctionName:!1,includeName:!1}):void 0;g=[M?`Error: ${M}`:"",D&&D!=="()"?` ${[...Array(N?.length??0).keys()].map(()=>" ").join("")}${D}`:""]}}catch(I){o=I}else n&&(y=n);let _;o instanceof IT&&(_=o.signature,g=[`Unable to decode signature "${_}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${_}.`]),super(y&&y!=="execution reverted"||_?[`The contract function "${i}" reverted with the following ${_?"signature":"reason"}:`,y||_].join(` +`):`The contract function "${i}" reverted.`,{cause:o,metaMessages:g,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=d,this.raw=r,this.reason=y,this.signature=_}},XW=class extends Kr{constructor({functionName:t}){super(`The contract function "${t}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${t}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}},ZW=class extends Kr{constructor({factory:t}){super(`Deployment for counterfactual contract call failed${t?` for factory "${t}".`:""}`,{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}},iE=class extends Kr{constructor({data:t,message:r}){super(r||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t}}});var e2,m3,cU,Hw=tn(()=>{"use strict";J();K();z();Zh();ia();WW();e2=class extends Kr{constructor({body:t,cause:r,details:i,headers:n,status:o,url:d}){super("HTTP request failed.",{cause:r,details:i,metaMessages:[o&&`Status: ${o}`,`URL: ${Fw(d)}`,t&&`Request body: ${ws(t)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=t,this.headers=n,this.status=o,this.url=d}},m3=class extends Kr{constructor({body:t,error:r,url:i}){super("RPC Request failed.",{cause:r,details:r.message,metaMessages:[`URL: ${Fw(i)}`,`Request body: ${ws(t)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=r.code,this.data=r.data}},cU=class extends Kr{constructor({body:t,url:r}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${Fw(r)}`,`Request body: ${ws(t)}`],name:"TimeoutError"})}}});var xrr,jh,GA,GT,qT,VT,JT,nS,t2,zT,KT,$T,y3,Gw,YT,qw,WT,XT,ZT,jT,eB,b3,tB,rB,nB,iB,oB,E3,jW,aB=tn(()=>{"use strict";J();K();z();ia();Hw();xrr=-1,jh=class extends Kr{constructor(t,{code:r,docsPath:i,metaMessages:n,name:o,shortMessage:d}){super(d,{cause:t,docsPath:i,metaMessages:n||t?.metaMessages,name:o||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=o||t.name,this.code=t instanceof m3?t.code:r??xrr}},GA=class extends jh{constructor(t,r){super(t,r),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=r.data}},GT=class e extends jh{constructor(t){super(t,{code:e.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}};Object.defineProperty(GT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});qT=class e extends jh{constructor(t){super(t,{code:e.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}};Object.defineProperty(qT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});VT=class e extends jh{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotFoundRpcError",shortMessage:`The method${r?` "${r}"`:""} does not exist / is not available.`})}};Object.defineProperty(VT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});JT=class e extends jh{constructor(t){super(t,{code:e.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(` +`)})}};Object.defineProperty(JT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});nS=class e extends jh{constructor(t){super(t,{code:e.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}};Object.defineProperty(nS,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});t2=class e extends jh{constructor(t){super(t,{code:e.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(` +`)})}};Object.defineProperty(t2,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});zT=class e extends jh{constructor(t){super(t,{code:e.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}};Object.defineProperty(zT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});KT=class e extends jh{constructor(t){super(t,{code:e.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}};Object.defineProperty(KT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});$T=class e extends jh{constructor(t){super(t,{code:e.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}};Object.defineProperty($T,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});y3=class e extends jh{constructor(t,{method:r}={}){super(t,{code:e.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${r?` "${r}"`:""} is not supported.`})}};Object.defineProperty(y3,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});Gw=class e extends jh{constructor(t){super(t,{code:e.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}};Object.defineProperty(Gw,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});YT=class e extends jh{constructor(t){super(t,{code:e.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}};Object.defineProperty(YT,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});qw=class e extends GA{constructor(t){super(t,{code:e.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}};Object.defineProperty(qw,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});WT=class e extends GA{constructor(t){super(t,{code:e.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}};Object.defineProperty(WT,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});XT=class e extends GA{constructor(t,{method:r}={}){super(t,{code:e.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${r?` " ${r}"`:""}.`})}};Object.defineProperty(XT,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});ZT=class e extends GA{constructor(t){super(t,{code:e.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}};Object.defineProperty(ZT,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});jT=class e extends GA{constructor(t){super(t,{code:e.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}};Object.defineProperty(jT,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});eB=class e extends GA{constructor(t){super(t,{code:e.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}};Object.defineProperty(eB,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});b3=class e extends GA{constructor(t){super(t,{code:e.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}};Object.defineProperty(b3,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});tB=class e extends GA{constructor(t){super(t,{code:e.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}};Object.defineProperty(tB,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});rB=class e extends GA{constructor(t){super(t,{code:e.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}};Object.defineProperty(rB,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});nB=class e extends GA{constructor(t){super(t,{code:e.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}};Object.defineProperty(nB,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});iB=class e extends GA{constructor(t){super(t,{code:e.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}};Object.defineProperty(iB,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});oB=class e extends GA{constructor(t){super(t,{code:e.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}};Object.defineProperty(oB,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});E3=class e extends GA{constructor(t){super(t,{code:e.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}};Object.defineProperty(E3,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});jW=class extends jh{constructor(t){super(t,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}});function sB(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function oS(e){if(!sB(e))throw new Error("Uint8Array expected")}function cB(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function uU(e){let t=e.toString(16);return t.length&1?"0"+t:t}function Cut(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?r_e:BigInt("0x"+e)}function uB(e){if(oS(e),wut)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Brr[e[r]];return t}function Sut(e){if(e>=iS._0&&e<=iS._9)return e-iS._0;if(e>=iS.A&&e<=iS.F)return e-(iS.A-10);if(e>=iS.a&&e<=iS.f)return e-(iS.a-10)}function dU(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(wut)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let d=Sut(e.charCodeAt(o)),g=Sut(e.charCodeAt(o+1));if(d===void 0||g===void 0){let y=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+y+'" at index '+o)}i[n]=d*16+g}return i}function Zp(e){return Cut(uB(e))}function n_e(e){return oS(e),Cut(uB(Uint8Array.from(e).reverse()))}function oE(e,t){return dU(e.toString(16).padStart(t*2,"0"))}function i_e(e,t){return oE(e,t).reverse()}function ff(e,t,r){let i;if(typeof t=="string")try{i=dU(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(sB(t))i=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let n=i.length;if(typeof r=="number"&&n!==r)throw new Error(e+" of length "+r+" expected, got "+n);return i}function qA(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];oS(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function tX(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Vw(e,t,r){return jge(e)&&jge(t)&&jge(r)&&t<=e&&e<r}function aS(e,t,r,i){if(!Vw(t,r,i))throw new Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function Out(e){let t;for(t=0;e>r_e;e>>=t_e,t+=1);return t}function Nut(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let i=e_e(e),n=e_e(e),o=0,d=()=>{i.fill(1),n.fill(0),o=0},g=(...N)=>r(n,i,...N),y=(N=e_e(0))=>{n=g(Iut([0]),N),i=g(),N.length!==0&&(n=g(Iut([1]),N),i=g())},_=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let N=0,T=[];for(;N<t;){i=g();let M=i.slice();T.push(M),N+=i.length}return qA(...T)};return(N,T)=>{d(),y(N);let M;for(;!(M=T(_()));)y();return d(),M}}function sS(e,t,r={}){let i=(n,o,d)=>{let g=Mrr[o];if(typeof g!="function")throw new Error("invalid validator function");let y=e[n];if(!(d&&y===void 0)&&!g(y,e))throw new Error("param "+String(n)+" is invalid. Expected "+o+", got "+y)};for(let[n,o]of Object.entries(t))i(n,o,!1);for(let[n,o]of Object.entries(r))i(n,o,!0);return e}function o_e(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}var r_e,t_e,wut,Brr,iS,jge,Jw,e_e,Iut,Mrr,dB=tn(()=>{"use strict";J();K();z();r_e=BigInt(0),t_e=BigInt(1);wut=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Brr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));iS={_0:48,_9:57,A:65,F:70,a:97,f:102};jge=e=>typeof e=="bigint"&&r_e<=e;Jw=e=>(t_e<<BigInt(e))-t_e,e_e=e=>new Uint8Array(e),Iut=e=>Uint8Array.from(e);Mrr={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||sB(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)}});function Pd(e,t){let r=e%t;return r>=VA?r:t+r}function fg(e,t,r){let i=e;for(;t-- >VA;)i*=i,i%=r;return i}function rX(e,t){if(e===VA)throw new Error("invert: expected non-zero number");if(t<=VA)throw new Error("invert: expected positive modulus, got "+t);let r=Pd(e,t),i=t,n=VA,o=eA,d=eA,g=VA;for(;r!==VA;){let _=i/r,I=i%r,N=n-d*_,T=o-g*_;i=r,r=I,n=d,o=g,d=N,g=T}if(i!==eA)throw new Error("invert: does not exist");return Pd(n,t)}function Dut(e,t){let r=(e.ORDER+eA)/Tut,i=e.pow(t,r);if(!e.eql(e.sqr(i),t))throw new Error("Cannot find square root");return i}function krr(e,t){let r=(e.ORDER-But)/Mut,i=e.mul(t,zw),n=e.pow(i,r),o=e.mul(t,n),d=e.mul(e.mul(o,zw),n),g=e.mul(o,e.sub(d,e.ONE));if(!e.eql(e.sqr(g),t))throw new Error("Cannot find square root");return g}function Prr(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-eA,r=0;for(;t%zw===VA;)t/=zw,r++;let i=zw,n=fU(e);for(;xut(n,i)===1;)if(i++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Dut;let o=n.pow(i,t),d=(t+eA)/zw;return function(y,_){if(y.is0(_))return _;if(xut(y,_)!==1)throw new Error("Cannot find square root");let I=r,N=y.mul(y.ONE,o),T=y.pow(_,t),M=y.pow(_,d);for(;!y.eql(T,y.ONE);){if(y.is0(T))return y.ZERO;let D=1,P=y.sqr(T);for(;!y.eql(P,y.ONE);)if(D++,P=y.sqr(P),D===I)throw new Error("Cannot find square root");let G=eA<<BigInt(I-D-1),q=y.pow(N,G);I=D,N=y.sqr(q),T=y.mul(T,N),M=y.mul(M,q)}return M}}function Lrr(e){return e%Tut===Drr?Dut:e%Mut===But?krr:Prr(e)}function nX(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Urr.reduce((i,n)=>(i[n]="function",i),t);return sS(e,r)}function Frr(e,t,r){if(r<VA)throw new Error("invalid exponent, negatives unsupported");if(r===VA)return e.ONE;if(r===eA)return t;let i=e.ONE,n=t;for(;r>VA;)r&eA&&(i=e.mul(i,n)),n=e.sqr(n),r>>=eA;return i}function fB(e,t,r=!1){let i=new Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((d,g,y)=>e.is0(g)?d:(i[y]=d,e.mul(d,g)),e.ONE),o=e.inv(n);return t.reduceRight((d,g,y)=>e.is0(g)?d:(i[y]=e.mul(d,i[y]),e.mul(d,g)),o),i}function xut(e,t){let r=(e.ORDER-eA)/zw,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),d=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!d)throw new Error("invalid Legendre symbol result");return n?1:o?0:-1}function a_e(e,t){t!==void 0&&S_(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function fU(e,t,r=!1,i={}){if(e<=VA)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=a_e(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,g=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:Jw(n),ZERO:VA,ONE:eA,create:y=>Pd(y,e),isValid:y=>{if(typeof y!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof y);return VA<=y&&y<e},is0:y=>y===VA,isOdd:y=>(y&eA)===eA,neg:y=>Pd(-y,e),eql:(y,_)=>y===_,sqr:y=>Pd(y*y,e),add:(y,_)=>Pd(y+_,e),sub:(y,_)=>Pd(y-_,e),mul:(y,_)=>Pd(y*_,e),pow:(y,_)=>Frr(g,y,_),div:(y,_)=>Pd(y*rX(_,e),e),sqrN:y=>y*y,addN:(y,_)=>y+_,subN:(y,_)=>y-_,mulN:(y,_)=>y*_,inv:y=>rX(y,e),sqrt:i.sqrt||(y=>(d||(d=Lrr(e)),d(g,y))),toBytes:y=>r?i_e(y,o):oE(y,o),fromBytes:y=>{if(y.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+y.length);return r?n_e(y):Zp(y)},invertBatch:y=>fB(g,y),cmov:(y,_,I)=>I?_:y});return Object.freeze(g)}function kut(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function s_e(e){let t=kut(e);return t+Math.ceil(t/2)}function Put(e,t,r=!1){let i=e.length,n=kut(t),o=s_e(t);if(i<16||i<o||i>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+i);let d=r?n_e(e):Zp(e),g=Pd(d,t-eA)+eA;return r?i_e(g,n):oE(g,n)}var VA,eA,zw,Drr,Tut,But,Mut,Urr,lU=tn(()=>{"use strict";J();K();z();Up();dB();VA=BigInt(0),eA=BigInt(1),zw=BigInt(2),Drr=BigInt(3),Tut=BigInt(4),But=BigInt(5),Mut=BigInt(8);Urr=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"]});function c_e(e,t){let r=t.negate();return e?r:t}function Fut(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function u_e(e,t){Fut(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Jw(e),d=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:d}}function Uut(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:d}=r,g=Number(e&n),y=e>>d;g>i&&(g-=o,y+=l_e);let _=t*i,I=_+Math.abs(g)-1,N=g===0,T=g<0,M=t%2!==0;return{nextN:y,offset:I,isZero:N,isNeg:T,isNegF:M,offsetF:_}}function Qrr(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,i)=>{if(!(r instanceof t))throw new Error("invalid point at index "+i)})}function Hrr(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,i)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+i)})}function f_e(e){return Qut.get(e)||1}function Hut(e,t){return{constTimeNegate:c_e,hasPrecomputes(r){return f_e(r)!==1},unsafeLadder(r,i,n=e.ZERO){let o=r;for(;i>Lut;)i&l_e&&(n=n.add(o)),o=o.double(),i>>=l_e;return n},precomputeWindow(r,i){let{windows:n,windowSize:o}=u_e(i,t),d=[],g=r,y=g;for(let _=0;_<n;_++){y=g,d.push(y);for(let I=1;I<o;I++)y=y.add(g),d.push(y);g=y.double()}return d},wNAF(r,i,n){let o=e.ZERO,d=e.BASE,g=u_e(r,t);for(let y=0;y<g.windows;y++){let{nextN:_,offset:I,isZero:N,isNeg:T,isNegF:M,offsetF:D}=Uut(n,y,g);n=_,N?d=d.add(c_e(M,i[D])):o=o.add(c_e(T,i[I]))}return{p:o,f:d}},wNAFUnsafe(r,i,n,o=e.ZERO){let d=u_e(r,t);for(let g=0;g<d.windows&&n!==Lut;g++){let{nextN:y,offset:_,isZero:I,isNeg:N}=Uut(n,g,d);if(n=y,!I){let T=i[_];o=o.add(N?T.negate():T)}}return o},getPrecomputes(r,i,n){let o=d_e.get(i);return o||(o=this.precomputeWindow(i,r),r!==1&&d_e.set(i,n(o))),o},wNAFCached(r,i,n){let o=f_e(r);return this.wNAF(o,this.getPrecomputes(o,r,n),i)},wNAFCachedUnsafe(r,i,n,o){let d=f_e(r);return d===1?this.unsafeLadder(r,i,o):this.wNAFUnsafe(d,this.getPrecomputes(d,r,n),i,o)},setWindowSize(r,i){Fut(i,t),Qut.set(r,i),d_e.delete(r)}}}function Gut(e,t,r,i){Qrr(r,e),Hrr(i,t);let n=r.length,o=i.length;if(n!==o)throw new Error("arrays of points and scalars must have equal length");let d=e.ZERO,g=Out(BigInt(n)),y=1;g>12?y=g-3:g>4?y=g-2:g>0&&(y=2);let _=Jw(y),I=new Array(Number(_)+1).fill(d),N=Math.floor((t.BITS-1)/y)*y,T=d;for(let M=N;M>=0;M-=y){I.fill(d);for(let P=0;P<o;P++){let G=i[P],q=Number(G>>BigInt(M)&_);I[q]=I[q].add(r[P])}let D=d;for(let P=I.length-1,G=d;P>0;P--)G=G.add(I[P]),D=D.add(G);if(T=T.add(D),M!==0)for(let P=0;P<y;P++)T=T.double()}return T}function h_e(e){return nX(e.Fp),sS(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...a_e(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Lut,l_e,d_e,Qut,qut=tn(()=>{"use strict";J();K();z();lU();dB();Lut=BigInt(0),l_e=BigInt(1);d_e=new WeakMap,Qut=new WeakMap});function Vut(e){e.lowS!==void 0&&cB("lowS",e.lowS),e.prehash!==void 0&&cB("prehash",e.prehash)}function Grr(e){let t=h_e(e);sS(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:r,Fp:i,a:n}=t;if(r){if(!i.eql(n,i.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}function A_e(e,t){return uB(oE(e,t))}function qrr(e){let t=Grr(e),{Fp:r}=t,i=fU(t.n,t.nBitLength),n=t.toBytes||((ne,ce,le)=>{let pe=ce.toAffine();return qA(Uint8Array.from([4]),r.toBytes(pe.x),r.toBytes(pe.y))}),o=t.fromBytes||(ne=>{let ce=ne.subarray(1),le=r.fromBytes(ce.subarray(0,r.BYTES)),pe=r.fromBytes(ce.subarray(r.BYTES,2*r.BYTES));return{x:le,y:pe}});function d(ne){let{a:ce,b:le}=t,pe=r.sqr(ne),ae=r.mul(pe,ne);return r.add(r.add(ae,r.mul(ne,ce)),le)}function g(ne,ce){let le=r.sqr(ce),pe=d(ne);return r.eql(le,pe)}if(!g(t.Gx,t.Gy))throw new Error("bad curve params: generator point");let y=r.mul(r.pow(t.a,hU),g_e),_=r.mul(r.sqr(t.b),BigInt(27));if(r.is0(r.add(y,_)))throw new Error("bad curve params: a or b");function I(ne){return Vw(ne,Au,t.n)}function N(ne){let{allowedPrivateKeyLengths:ce,nByteLength:le,wrapPrivateKey:pe,n:ae}=t;if(ce&&typeof ne!="bigint"){if(sB(ne)&&(ne=uB(ne)),typeof ne!="string"||!ce.includes(ne.length))throw new Error("invalid private key");ne=ne.padStart(le*2,"0")}let W;try{W=typeof ne=="bigint"?ne:Zp(ff("private key",ne,le))}catch{throw new Error("invalid private key, expected hex or "+le+" bytes, got "+typeof ne)}return pe&&(W=Pd(W,ae)),aS("private key",W,Au,ae),W}function T(ne){if(!(ne instanceof P))throw new Error("ProjectivePoint expected")}let M=o_e((ne,ce)=>{let{px:le,py:pe,pz:ae}=ne;if(r.eql(ae,r.ONE))return{x:le,y:pe};let W=ne.is0();ce==null&&(ce=W?r.ONE:r.inv(ae));let se=r.mul(le,ce),O=r.mul(pe,ce),s=r.mul(ae,ce);if(W)return{x:r.ZERO,y:r.ZERO};if(!r.eql(s,r.ONE))throw new Error("invZ was invalid");return{x:se,y:O}}),D=o_e(ne=>{if(ne.is0()){if(t.allowInfinityPoint&&!r.is0(ne.py))return;throw new Error("bad point: ZERO")}let{x:ce,y:le}=ne.toAffine();if(!r.isValid(ce)||!r.isValid(le))throw new Error("bad point: x or y not FE");if(!g(ce,le))throw new Error("bad point: equation left != right");if(!ne.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class P{constructor(ce,le,pe){if(ce==null||!r.isValid(ce))throw new Error("x required");if(le==null||!r.isValid(le)||r.is0(le))throw new Error("y required");if(pe==null||!r.isValid(pe))throw new Error("z required");this.px=ce,this.py=le,this.pz=pe,Object.freeze(this)}static fromAffine(ce){let{x:le,y:pe}=ce||{};if(!ce||!r.isValid(le)||!r.isValid(pe))throw new Error("invalid affine point");if(ce instanceof P)throw new Error("projective point not allowed");let ae=W=>r.eql(W,r.ZERO);return ae(le)&&ae(pe)?P.ZERO:new P(le,pe,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(ce){let le=fB(r,ce.map(pe=>pe.pz));return ce.map((pe,ae)=>pe.toAffine(le[ae])).map(P.fromAffine)}static fromHex(ce){let le=P.fromAffine(o(ff("pointHex",ce)));return le.assertValidity(),le}static fromPrivateKey(ce){return P.BASE.multiply(N(ce))}static msm(ce,le){return Gut(P,i,ce,le)}_setWindowSize(ce){Y.setWindowSize(this,ce)}assertValidity(){D(this)}hasEvenY(){let{y:ce}=this.toAffine();if(r.isOdd)return!r.isOdd(ce);throw new Error("Field doesn't support isOdd")}equals(ce){T(ce);let{px:le,py:pe,pz:ae}=this,{px:W,py:se,pz:O}=ce,s=r.eql(r.mul(le,O),r.mul(W,ae)),l=r.eql(r.mul(pe,O),r.mul(se,ae));return s&&l}negate(){return new P(this.px,r.neg(this.py),this.pz)}double(){let{a:ce,b:le}=t,pe=r.mul(le,hU),{px:ae,py:W,pz:se}=this,O=r.ZERO,s=r.ZERO,l=r.ZERO,A=r.mul(ae,ae),m=r.mul(W,W),E=r.mul(se,se),w=r.mul(ae,W);return w=r.add(w,w),l=r.mul(ae,se),l=r.add(l,l),O=r.mul(ce,l),s=r.mul(pe,E),s=r.add(O,s),O=r.sub(m,s),s=r.add(m,s),s=r.mul(O,s),O=r.mul(w,O),l=r.mul(pe,l),E=r.mul(ce,E),w=r.sub(A,E),w=r.mul(ce,w),w=r.add(w,l),l=r.add(A,A),A=r.add(l,A),A=r.add(A,E),A=r.mul(A,w),s=r.add(s,A),E=r.mul(W,se),E=r.add(E,E),A=r.mul(E,w),O=r.sub(O,A),l=r.mul(E,m),l=r.add(l,l),l=r.add(l,l),new P(O,s,l)}add(ce){T(ce);let{px:le,py:pe,pz:ae}=this,{px:W,py:se,pz:O}=ce,s=r.ZERO,l=r.ZERO,A=r.ZERO,m=t.a,E=r.mul(t.b,hU),w=r.mul(le,W),x=r.mul(pe,se),R=r.mul(ae,O),u=r.add(le,pe),C=r.add(W,se);u=r.mul(u,C),C=r.add(w,x),u=r.sub(u,C),C=r.add(le,ae);let U=r.add(W,O);return C=r.mul(C,U),U=r.add(w,R),C=r.sub(C,U),U=r.add(pe,ae),s=r.add(se,O),U=r.mul(U,s),s=r.add(x,R),U=r.sub(U,s),A=r.mul(m,C),s=r.mul(E,R),A=r.add(s,A),s=r.sub(x,A),A=r.add(x,A),l=r.mul(s,A),x=r.add(w,w),x=r.add(x,w),R=r.mul(m,R),C=r.mul(E,C),x=r.add(x,R),R=r.sub(w,R),R=r.mul(m,R),C=r.add(C,R),w=r.mul(x,C),l=r.add(l,w),w=r.mul(U,C),s=r.mul(u,s),s=r.sub(s,w),w=r.mul(u,x),A=r.mul(U,A),A=r.add(A,w),new P(s,l,A)}subtract(ce){return this.add(ce.negate())}is0(){return this.equals(P.ZERO)}wNAF(ce){return Y.wNAFCached(this,ce,P.normalizeZ)}multiplyUnsafe(ce){let{endo:le,n:pe}=t;aS("scalar",ce,Ay,pe);let ae=P.ZERO;if(ce===Ay)return ae;if(this.is0()||ce===Au)return this;if(!le||Y.hasPrecomputes(this))return Y.wNAFCachedUnsafe(this,ce,P.normalizeZ);let{k1neg:W,k1:se,k2neg:O,k2:s}=le.splitScalar(ce),l=ae,A=ae,m=this;for(;se>Ay||s>Ay;)se&Au&&(l=l.add(m)),s&Au&&(A=A.add(m)),m=m.double(),se>>=Au,s>>=Au;return W&&(l=l.negate()),O&&(A=A.negate()),A=new P(r.mul(A.px,le.beta),A.py,A.pz),l.add(A)}multiply(ce){let{endo:le,n:pe}=t;aS("scalar",ce,Au,pe);let ae,W;if(le){let{k1neg:se,k1:O,k2neg:s,k2:l}=le.splitScalar(ce),{p:A,f:m}=this.wNAF(O),{p:E,f:w}=this.wNAF(l);A=Y.constTimeNegate(se,A),E=Y.constTimeNegate(s,E),E=new P(r.mul(E.px,le.beta),E.py,E.pz),ae=A.add(E),W=m.add(w)}else{let{p:se,f:O}=this.wNAF(ce);ae=se,W=O}return P.normalizeZ([ae,W])[0]}multiplyAndAddUnsafe(ce,le,pe){let ae=P.BASE,W=(O,s)=>s===Ay||s===Au||!O.equals(ae)?O.multiplyUnsafe(s):O.multiply(s),se=W(this,le).add(W(ce,pe));return se.is0()?void 0:se}toAffine(ce){return M(this,ce)}isTorsionFree(){let{h:ce,isTorsionFree:le}=t;if(ce===Au)return!0;if(le)return le(P,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:ce,clearCofactor:le}=t;return ce===Au?this:le?le(P,this):this.multiplyUnsafe(t.h)}toRawBytes(ce=!0){return cB("isCompressed",ce),this.assertValidity(),n(P,this,ce)}toHex(ce=!0){return cB("isCompressed",ce),uB(this.toRawBytes(ce))}}P.BASE=new P(t.Gx,t.Gy,r.ONE),P.ZERO=new P(r.ZERO,r.ONE,r.ZERO);let{endo:G,nBitLength:q}=t,Y=Hut(P,G?Math.ceil(q/2):q);return{CURVE:t,ProjectivePoint:P,normPrivateKeyToScalar:N,weierstrassEquation:d,isWithinCurveOrder:I}}function Vrr(e){let t=h_e(e);return sS(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Jut(e){let t=Vrr(e),{Fp:r,n:i,nByteLength:n,nBitLength:o}=t,d=r.BYTES+1,g=2*r.BYTES+1;function y(E){return Pd(E,i)}function _(E){return rX(E,i)}let{ProjectivePoint:I,normPrivateKeyToScalar:N,weierstrassEquation:T,isWithinCurveOrder:M}=qrr({...t,toBytes(E,w,x){let R=w.toAffine(),u=r.toBytes(R.x),C=qA;return cB("isCompressed",x),x?C(Uint8Array.from([w.hasEvenY()?2:3]),u):C(Uint8Array.from([4]),u,r.toBytes(R.y))},fromBytes(E){let w=E.length,x=E[0],R=E.subarray(1);if(w===d&&(x===2||x===3)){let u=Zp(R);if(!Vw(u,Au,r.ORDER))throw new Error("Point is not on curve");let C=T(u),U;try{U=r.sqrt(C)}catch(Ae){let he=Ae instanceof Error?": "+Ae.message:"";throw new Error("Point is not on curve"+he)}let F=(U&Au)===Au;return(x&1)===1!==F&&(U=r.neg(U)),{x:u,y:U}}else if(w===g&&x===4){let u=r.fromBytes(R.subarray(0,r.BYTES)),C=r.fromBytes(R.subarray(r.BYTES,2*r.BYTES));return{x:u,y:C}}else{let u=d,C=g;throw new Error("invalid Point, expected length of "+u+", or uncompressed "+C+", got "+w)}}});function D(E){let w=i>>Au;return E>w}function P(E){return D(E)?y(-E):E}let G=(E,w,x)=>Zp(E.slice(w,x));class q{constructor(w,x,R){aS("r",w,Au,i),aS("s",x,Au,i),this.r=w,this.s=x,R!=null&&(this.recovery=R),Object.freeze(this)}static fromCompact(w){let x=n;return w=ff("compactSignature",w,x*2),new q(G(w,0,x),G(w,x,2*x))}static fromDER(w){let{r:x,s:R}=cS.toSig(ff("DER",w));return new q(x,R)}assertValidity(){}addRecoveryBit(w){return new q(this.r,this.s,w)}recoverPublicKey(w){let{r:x,s:R,recovery:u}=this,C=ae(ff("msgHash",w));if(u==null||![0,1,2,3].includes(u))throw new Error("recovery id invalid");let U=u===2||u===3?x+t.n:x;if(U>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let F=(u&1)===0?"02":"03",X=I.fromHex(F+A_e(U,r.BYTES)),Ae=_(U),he=y(-C*Ae),$e=y(R*Ae),Ge=I.BASE.multiplyAndAddUnsafe(X,he,$e);if(!Ge)throw new Error("point at infinify");return Ge.assertValidity(),Ge}hasHighS(){return D(this.s)}normalizeS(){return this.hasHighS()?new q(this.r,y(-this.s),this.recovery):this}toDERRawBytes(){return dU(this.toDERHex())}toDERHex(){return cS.hexFromSig(this)}toCompactRawBytes(){return dU(this.toCompactHex())}toCompactHex(){let w=n;return A_e(this.r,w)+A_e(this.s,w)}}let Y={isValidPrivateKey(E){try{return N(E),!0}catch{return!1}},normPrivateKeyToScalar:N,randomPrivateKey:()=>{let E=s_e(t.n);return Put(t.randomBytes(E),t.n)},precompute(E=8,w=I.BASE){return w._setWindowSize(E),w.multiply(BigInt(3)),w}};function ne(E,w=!0){return I.fromPrivateKey(E).toRawBytes(w)}function ce(E){if(typeof E=="bigint")return!1;if(E instanceof I)return!0;let x=ff("key",E).length,R=r.BYTES,u=R+1,C=2*R+1;if(!(t.allowedPrivateKeyLengths||n===u))return x===u||x===C}function le(E,w,x=!0){if(ce(E)===!0)throw new Error("first arg must be private key");if(ce(w)===!1)throw new Error("second arg must be public key");return I.fromHex(w).multiply(N(E)).toRawBytes(x)}let pe=t.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let w=Zp(E),x=E.length*8-o;return x>0?w>>BigInt(x):w},ae=t.bits2int_modN||function(E){return y(pe(E))},W=Jw(o);function se(E){return aS("num < 2^"+o,E,Ay,W),oE(E,n)}function O(E,w,x=s){if(["recovered","canonical"].some(Se=>Se in x))throw new Error("sign() legacy options not supported");let{hash:R,randomBytes:u}=t,{lowS:C,prehash:U,extraEntropy:F}=x;C==null&&(C=!0),E=ff("msgHash",E),Vut(x),U&&(E=ff("prehashed msgHash",R(E)));let X=ae(E),Ae=N(w),he=[se(Ae),se(X)];if(F!=null&&F!==!1){let Se=F===!0?u(r.BYTES):F;he.push(ff("extraEntropy",Se))}let $e=qA(...he),Ge=X;function Re(Se){let ct=pe(Se);if(!M(ct))return;let ze=_(ct),te=I.BASE.multiply(ct).toAffine(),Ue=y(te.x);if(Ue===Ay)return;let oe=y(ze*y(Ge+Ue*Ae));if(oe===Ay)return;let ge=(te.x===Ue?0:2)|Number(te.y&Au),Le=oe;return C&&D(oe)&&(Le=P(oe),ge^=1),new q(Ue,Le,ge)}return{seed:$e,k2sig:Re}}let s={lowS:t.lowS,prehash:!1},l={lowS:t.lowS,prehash:!1};function A(E,w,x=s){let{seed:R,k2sig:u}=O(E,w,x),C=t;return Nut(C.hash.outputLen,C.nByteLength,C.hmac)(R,u)}I.BASE._setWindowSize(8);function m(E,w,x,R=l){let u=E;w=ff("msgHash",w),x=ff("publicKey",x);let{lowS:C,prehash:U,format:F}=R;if(Vut(R),"strict"in R)throw new Error("options.strict was renamed to lowS");if(F!==void 0&&F!=="compact"&&F!=="der")throw new Error("format must be compact or der");let X=typeof u=="string"||sB(u),Ae=!X&&!F&&typeof u=="object"&&u!==null&&typeof u.r=="bigint"&&typeof u.s=="bigint";if(!X&&!Ae)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let he,$e;try{if(Ae&&(he=new q(u.r,u.s)),X){try{F!=="compact"&&(he=q.fromDER(u))}catch(ge){if(!(ge instanceof cS.Err))throw ge}!he&&F!=="der"&&(he=q.fromCompact(u))}$e=I.fromHex(x)}catch{return!1}if(!he||C&&he.hasHighS())return!1;U&&(w=t.hash(w));let{r:Ge,s:Re}=he,Se=ae(w),ct=_(Re),ze=y(Se*ct),te=y(Ge*ct),Ue=I.BASE.multiplyAndAddUnsafe($e,ze,te)?.toAffine();return Ue?y(Ue.x)===Ge:!1}return{CURVE:t,getPublicKey:ne,getSharedSecret:le,sign:A,verify:m,ProjectivePoint:I,Signature:q,utils:Y}}function Jrr(e,t){let r=e.ORDER,i=Ay;for(let D=r-Au;D%v3===Ay;D/=v3)i+=Au;let n=i,o=v3<<n-Au-Au,d=o*v3,g=(r-Au)/d,y=(g-Au)/v3,_=d-Au,I=o,N=e.pow(t,g),T=e.pow(t,(g+Au)/v3),M=(D,P)=>{let G=N,q=e.pow(P,_),Y=e.sqr(q);Y=e.mul(Y,P);let ne=e.mul(D,Y);ne=e.pow(ne,y),ne=e.mul(ne,q),q=e.mul(ne,P),Y=e.mul(ne,D);let ce=e.mul(Y,q);ne=e.pow(ce,I);let le=e.eql(ne,e.ONE);q=e.mul(Y,T),ne=e.mul(ce,G),Y=e.cmov(q,Y,le),ce=e.cmov(ne,ce,le);for(let pe=n;pe>Au;pe--){let ae=pe-v3;ae=v3<<ae-Au;let W=e.pow(ce,ae),se=e.eql(W,e.ONE);q=e.mul(Y,G),G=e.mul(G,G),W=e.mul(ce,G),Y=e.cmov(q,Y,se),ce=e.cmov(W,ce,se)}return{isValid:le,value:Y}};if(e.ORDER%g_e===hU){let D=(e.ORDER-hU)/g_e,P=e.sqrt(e.neg(t));M=(G,q)=>{let Y=e.sqr(q),ne=e.mul(G,q);Y=e.mul(Y,ne);let ce=e.pow(Y,D);ce=e.mul(ce,ne);let le=e.mul(ce,P),pe=e.mul(e.sqr(ce),q),ae=e.eql(pe,G),W=e.cmov(le,ce,ae);return{isValid:ae,value:W}}}return M}function zut(e,t){if(nX(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");let r=Jrr(e,t.Z);if(!e.isOdd)throw new Error("Fp.isOdd is not implemented!");return i=>{let n,o,d,g,y,_,I,N;n=e.sqr(i),n=e.mul(n,t.Z),o=e.sqr(n),o=e.add(o,n),d=e.add(o,e.ONE),d=e.mul(d,t.B),g=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),g=e.mul(g,t.A),o=e.sqr(d),_=e.sqr(g),y=e.mul(_,t.A),o=e.add(o,y),o=e.mul(o,d),_=e.mul(_,g),y=e.mul(_,t.B),o=e.add(o,y),I=e.mul(n,d);let{isValid:T,value:M}=r(o,_);N=e.mul(n,i),N=e.mul(N,M),I=e.cmov(I,d,T),N=e.cmov(N,M,T);let D=e.isOdd(i)===e.isOdd(N);N=e.cmov(e.neg(N),N,D);let P=fB(e,[g],!0)[0];return I=e.mul(I,P),{x:I,y:N}}}var p_e,cS,Ay,Au,v3,hU,g_e,__e=tn(()=>{"use strict";J();K();z();qut();lU();dB();p_e=class extends Error{constructor(t=""){super(t)}},cS={Err:p_e,_tlv:{encode:(e,t)=>{let{Err:r}=cS;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=uU(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?uU(n.length/2|128):"";return uU(e)+o+n+t},decode(e,t){let{Err:r}=cS,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),d=0;if(!o)d=n;else{let y=n&127;if(!y)throw new r("tlv.decode(long): indefinite length not supported");if(y>4)throw new r("tlv.decode(long): byte length is too big");let _=t.subarray(i,i+y);if(_.length!==y)throw new r("tlv.decode: length bytes not complete");if(_[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let I of _)d=d<<8|I;if(i+=y,d<128)throw new r("tlv.decode(long): not minimal encoding")}let g=t.subarray(i,i+d);if(g.length!==d)throw new r("tlv.decode: wrong value length");return{v:g,l:t.subarray(i+d)}}},_int:{encode(e){let{Err:t}=cS;if(e<Ay)throw new t("integer: negative integers are not allowed");let r=uU(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=cS;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Zp(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=cS,n=ff("signature",e),{v:o,l:d}=i.decode(48,n);if(d.length)throw new t("invalid signature: left bytes after parsing");let{v:g,l:y}=i.decode(2,o),{v:_,l:I}=i.decode(2,y);if(I.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(g),s:r.decode(_)}},hexFromSig(e){let{_tlv:t,_int:r}=cS,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};Ay=BigInt(0),Au=BigInt(1),v3=BigInt(2),hU=BigInt(3),g_e=BigInt(4)});function zrr(e){return{hash:e,hmac:(t,...r)=>OC(e,t,Qf(...r)),randomBytes:w_}}function Kut(e,t){let r=i=>Jut({...e,...zrr(i)});return{...r(t),create:r}}var $ut=tn(()=>{"use strict";J();K();z();WK();Up();__e();});function R3(e,t){if(AU(e),AU(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let i=t-1;i>=0;i--)r[i]=e&255,e>>>=8;return new Uint8Array(r)}function $rr(e,t){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e[i]^t[i];return r}function AU(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Yrr(e,t,r,i){oS(e),oS(t),AU(r),t.length>255&&(t=i(qA(tX("H2C-OVERSIZE-DST-"),t)));let{outputLen:n,blockLen:o}=i,d=Math.ceil(r/n);if(r>65535||d>255)throw new Error("expand_message_xmd: invalid lenInBytes");let g=qA(t,R3(t.length,1)),y=R3(0,o),_=R3(r,2),I=new Array(d),N=i(qA(y,e,_,R3(0,1),g));I[0]=i(qA(N,R3(1,1),g));for(let M=1;M<=d;M++){let D=[$rr(N,I[M-1]),R3(M+1,1),g];I[M]=i(qA(...D))}return qA(...I).slice(0,r)}function Wrr(e,t,r,i,n){if(oS(e),oS(t),AU(r),t.length>255){let o=Math.ceil(2*i/8);t=n.create({dkLen:o}).update(tX("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return n.create({dkLen:r}).update(e).update(R3(r,2)).update(t).update(R3(t.length,1)).digest()}function Yut(e,t,r){sS(r,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:i,k:n,m:o,hash:d,expand:g,DST:y}=r;oS(e),AU(t);let _=typeof y=="string"?tX(y):y,I=i.toString(2).length,N=Math.ceil((I+n)/8),T=t*o*N,M;if(g==="xmd")M=Yrr(e,_,T,d);else if(g==="xof")M=Wrr(e,_,T,n,d);else if(g==="_internal_pass")M=e;else throw new Error('expand must be "xmd" or "xof"');let D=new Array(t);for(let P=0;P<t;P++){let G=new Array(o);for(let q=0;q<o;q++){let Y=N*(q+P*o),ne=M.subarray(Y,Y+N);G[q]=Pd(Krr(ne),i)}D[P]=G}return D}function Wut(e,t){let r=t.map(i=>Array.from(i).reverse());return(i,n)=>{let[o,d,g,y]=r.map(N=>N.reduce((T,M)=>e.add(e.mul(T,i),M))),[_,I]=fB(e,[d,y],!0);return i=e.mul(o,_),n=e.mul(n,e.mul(g,I)),{x:i,y:n}}}function Xut(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function i(o){return e.fromAffine(t(o))}function n(o){let d=o.clearCofactor();return d.equals(e.ZERO)?e.ZERO:(d.assertValidity(),d)}return{defaults:r,hashToCurve(o,d){let g=Yut(o,2,{...r,DST:r.DST,...d}),y=i(g[0]),_=i(g[1]);return n(y.add(_))},encodeToCurve(o,d){let g=Yut(o,1,{...r,DST:r.encodeDST,...d});return n(i(g[0]))},mapToCurve(o){if(!Array.isArray(o))throw new Error("expected array of bigints");for(let d of o)if(typeof d!="bigint")throw new Error("expected array of bigints");return n(i(o))}}}var Krr,Zut=tn(()=>{"use strict";J();K();z();lU();dB();Krr=Zp});var o0t={};gh(o0t,{encodeToCurve:()=>inr,hashToCurve:()=>nnr,schnorr:()=>enr,secp256k1:()=>py,secp256k1_hasher:()=>S_e});function t0t(e){let t=_U,r=BigInt(3),i=BigInt(6),n=BigInt(11),o=BigInt(22),d=BigInt(23),g=BigInt(44),y=BigInt(88),_=e*e*e%t,I=_*_*e%t,N=fg(I,r,t)*I%t,T=fg(N,r,t)*I%t,M=fg(T,oX,t)*_%t,D=fg(M,n,t)*M%t,P=fg(D,o,t)*D%t,G=fg(P,g,t)*P%t,q=fg(G,y,t)*G%t,Y=fg(q,g,t)*P%t,ne=fg(Y,r,t)*I%t,ce=fg(ne,d,t)*D%t,le=fg(ce,i,t)*_%t,pe=fg(le,oX,t);if(!S3.eql(S3.sqr(pe),e))throw new Error("Cannot find square root");return pe}function aX(e,...t){let r=e0t[e];if(r===void 0){let i=qm(Uint8Array.from(e,n=>n.charCodeAt(0)));r=qA(i,i),e0t[e]=r}return qm(qA(r,...t))}function b_e(e){let t=py.utils.normPrivateKeyToScalar(e),r=R_e.fromPrivateKey(t);return{scalar:r.hasEvenY()?t:gU(-t),bytes:v_e(r)}}function r0t(e){aS("x",e,pU,_U);let t=m_e(e*e),r=m_e(t*e+BigInt(7)),i=t0t(r);i%oX!==E_e&&(i=m_e(-i));let n=new R_e(e,i,pU);return n.assertValidity(),n}function n0t(...e){return gU(lB(aX("BIP0340/challenge",...e)))}function Zrr(e){return b_e(e).bytes}function jrr(e,t,r=w_(32)){let i=ff("message",e),{bytes:n,scalar:o}=b_e(t),d=ff("auxRand",r,32),g=y_e(o^lB(aX("BIP0340/aux",d))),y=aX("BIP0340/nonce",g,n,i),_=gU(lB(y));if(_===E_e)throw new Error("sign failed: k is zero");let{bytes:I,scalar:N}=b_e(_),T=n0t(I,n,i),M=new Uint8Array(64);if(M.set(I,0),M.set(y_e(gU(N+T*o)),32),!i0t(M,i,n))throw new Error("sign: Invalid signature produced");return M}function i0t(e,t,r){let i=ff("signature",e,64),n=ff("message",t),o=ff("publicKey",r,32);try{let d=r0t(lB(o)),g=lB(i.subarray(0,32));if(!Vw(g,pU,_U))return!1;let y=lB(i.subarray(32,64));if(!Vw(y,pU,iX))return!1;let _=n0t(y_e(g),v_e(d),n),I=Xrr(d,y,gU(-_));return!(!I||!I.hasEvenY()||I.toAffine().x!==g)}catch{return!1}}var _U,iX,E_e,pU,oX,jut,S3,py,e0t,v_e,y_e,m_e,gU,R_e,Xrr,lB,enr,tnr,rnr,S_e,nnr,inr,mU=tn(()=>{"use strict";J();K();z();ox();Up();$ut();Zut();lU();dB();__e();_U=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),iX=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),E_e=BigInt(0),pU=BigInt(1),oX=BigInt(2),jut=(e,t)=>(e+t/oX)/t;S3=fU(_U,void 0,void 0,{sqrt:t0t}),py=Kut({a:E_e,b:BigInt(7),Fp:S3,n:iX,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=iX,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),i=-pU*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,d=BigInt("0x100000000000000000000000000000000"),g=jut(o*e,t),y=jut(-i*e,t),_=Pd(e-g*r-y*n,t),I=Pd(-g*i-y*o,t),N=_>d,T=I>d;if(N&&(_=t-_),T&&(I=t-I),_>d||I>d)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:N,k1:_,k2neg:T,k2:I}}}},qm),e0t={};v_e=e=>e.toRawBytes(!0).slice(1),y_e=e=>oE(e,32),m_e=e=>Pd(e,_U),gU=e=>Pd(e,iX),R_e=py.ProjectivePoint,Xrr=(e,t,r)=>R_e.BASE.multiplyAndAddUnsafe(e,t,r);lB=Zp;enr={getPublicKey:Zrr,sign:jrr,verify:i0t,utils:{randomPrivateKey:py.utils.randomPrivateKey,lift_x:r0t,pointToBytes:v_e,numberToBytesBE:oE,bytesToNumberBE:Zp,taggedHash:aX,mod:Pd}},tnr=Wut(S3,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),rnr=zut(S3,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:S3.create(BigInt("-11"))}),S_e=Xut(py.ProjectivePoint,e=>{let{x:t,y:r}=rnr(S3.create(e[0]));return tnr(t,r)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:S3.ORDER,m:1,k:128,expand:"xmd",hash:qm}),nnr=S_e.hashToCurve,inr=S_e.encodeToCurve});var uS,r2,hB,AB,pB,gB,_B,mB,yB,bB,aE,n2,C3=tn(()=>{"use strict";J();K();z();PT();ia();uS=class extends Kr{constructor({cause:t,message:r}={}){let i=r?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${i?`with reason: ${i}`:"for an unknown reason"}.`,{cause:t,name:"ExecutionRevertedError"})}};Object.defineProperty(uS,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(uS,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});r2=class extends Kr{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Jf(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}};Object.defineProperty(r2,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});hB=class extends Kr{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Jf(r)}`:""} gwei) cannot be lower than the block base fee.`,{cause:t,name:"FeeCapTooLowError"})}};Object.defineProperty(hB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});AB=class extends Kr{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}is higher than the next one expected.`,{cause:t,name:"NonceTooHighError"})}};Object.defineProperty(AB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});pB=class extends Kr{constructor({cause:t,nonce:r}={}){super([`Nonce provided for the transaction ${r?`(${r}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(` +`),{cause:t,name:"NonceTooLowError"})}};Object.defineProperty(pB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});gB=class extends Kr{constructor({cause:t,nonce:r}={}){super(`Nonce provided for the transaction ${r?`(${r}) `:""}exceeds the maximum allowed nonce.`,{cause:t,name:"NonceMaxValueError"})}};Object.defineProperty(gB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});_B=class extends Kr{constructor({cause:t}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(` +`),{cause:t,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}};Object.defineProperty(_B,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});mB=class extends Kr{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:t,name:"IntrinsicGasTooHighError"})}};Object.defineProperty(mB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});yB=class extends Kr{constructor({cause:t,gas:r}={}){super(`The amount of gas ${r?`(${r}) `:""}provided for the transaction is too low.`,{cause:t,name:"IntrinsicGasTooLowError"})}};Object.defineProperty(yB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});bB=class extends Kr{constructor({cause:t}){super("The transaction type is not supported for this chain.",{cause:t,name:"TransactionTypeNotSupportedError"})}};Object.defineProperty(bB,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});aE=class extends Kr{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:i}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Jf(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${i?` = ${Jf(i)} gwei`:""}).`].join(` +`),{cause:t,name:"TipAboveFeeCapError"})}};Object.defineProperty(aE,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});n2=class extends Kr{constructor({cause:t}){super(`An error occurred while executing: ${t?.shortMessage}`,{cause:t,name:"UnknownNodeError"})}}});function w3(e,t){let r=(e.details||"").toLowerCase(),i=e instanceof Kr?e.walk(n=>n?.code===uS.code):e;return i instanceof Kr?new uS({cause:e,message:i.details}):uS.nodeMessage.test(r)?new uS({cause:e,message:e.details}):r2.nodeMessage.test(r)?new r2({cause:e,maxFeePerGas:t?.maxFeePerGas}):hB.nodeMessage.test(r)?new hB({cause:e,maxFeePerGas:t?.maxFeePerGas}):AB.nodeMessage.test(r)?new AB({cause:e,nonce:t?.nonce}):pB.nodeMessage.test(r)?new pB({cause:e,nonce:t?.nonce}):gB.nodeMessage.test(r)?new gB({cause:e,nonce:t?.nonce}):_B.nodeMessage.test(r)?new _B({cause:e}):mB.nodeMessage.test(r)?new mB({cause:e,gas:t?.gas}):yB.nodeMessage.test(r)?new yB({cause:e,gas:t?.gas}):bB.nodeMessage.test(r)?new bB({cause:e}):aE.nodeMessage.test(r)?new aE({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new n2({cause:e})}var yU=tn(()=>{"use strict";J();K();z();ia();C3()});function sE(e,{format:t}){if(!t)return{};let r={};function i(o){let d=Object.keys(o);for(let g of d)g in e&&(r[g]=e[g]),o[g]&&typeof o[g]=="object"&&!Array.isArray(o[g])&&i(o[g])}let n=t(e||{});return i(n),r}var EB=tn(()=>{"use strict";J();K();z()});function O3(e,t){return({exclude:r,format:i})=>({exclude:r,format:(n,o)=>{let d=t(n,o);if(r)for(let g of r)delete d[g];return{...d,...i(n,o)}},type:e})}var bU=tn(()=>{"use strict";J();K();z()});function JA(e,t){let r={};return typeof e.authorizationList<"u"&&(r.authorizationList=cnr(e.authorizationList)),typeof e.accessList<"u"&&(r.accessList=e.accessList),typeof e.blobVersionedHashes<"u"&&(r.blobVersionedHashes=e.blobVersionedHashes),typeof e.blobs<"u"&&(typeof e.blobs[0]!="string"?r.blobs=e.blobs.map(i=>Qs(i)):r.blobs=e.blobs),typeof e.data<"u"&&(r.data=e.data),e.account&&(r.from=e.account.address),typeof e.from<"u"&&(r.from=e.from),typeof e.gas<"u"&&(r.gas=Sn(e.gas)),typeof e.gasPrice<"u"&&(r.gasPrice=Sn(e.gasPrice)),typeof e.maxFeePerBlobGas<"u"&&(r.maxFeePerBlobGas=Sn(e.maxFeePerBlobGas)),typeof e.maxFeePerGas<"u"&&(r.maxFeePerGas=Sn(e.maxFeePerGas)),typeof e.maxPriorityFeePerGas<"u"&&(r.maxPriorityFeePerGas=Sn(e.maxPriorityFeePerGas)),typeof e.nonce<"u"&&(r.nonce=Sn(e.nonce)),typeof e.to<"u"&&(r.to=e.to),typeof e.type<"u"&&(r.type=snr[e.type]),typeof e.value<"u"&&(r.value=Sn(e.value)),r}function cnr(e){return e.map(t=>({address:t.address,r:t.r?Sn(BigInt(t.r)):t.r,s:t.s?Sn(BigInt(t.s)):t.s,chainId:Sn(t.chainId),nonce:Sn(t.nonce),...typeof t.yParity<"u"?{yParity:Sn(t.yParity)}:{},...typeof t.v<"u"&&typeof t.yParity>"u"?{v:Sn(t.v)}:{}}))}var snr,f0t,dS=tn(()=>{"use strict";J();K();z();fo();bU();snr={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};f0t=O3("transactionRequest",JA)});function l0t(e){if(!(!e||e.length===0))return e.reduce((t,{slot:r,value:i})=>{if(r.length!==66)throw new eU({size:r.length,targetSize:66,type:"hex"});if(i.length!==66)throw new eU({size:i.length,targetSize:66,type:"hex"});return t[r]=i,t},{})}function unr(e){let{balance:t,nonce:r,state:i,stateDiff:n,code:o}=e,d={};if(o!==void 0&&(d.code=o),t!==void 0&&(d.balance=Sn(t)),r!==void 0&&(d.nonce=Sn(r)),i!==void 0&&(d.state=l0t(i)),n!==void 0){if(d.state)throw new qW;d.stateDiff=l0t(n)}return d}function vB(e){if(!e)return;let t={};for(let{address:r,...i}of e){if(!ys(r,{strict:!1}))throw new nc({address:r});if(t[r])throw new GW({address:r});t[r]=unr(i)}return t}var dX=tn(()=>{"use strict";J();K();z();X_();CW();Zge();Yp();fo()});var MSi,DSi,kSi,PSi,LSi,USi,FSi,QSi,HSi,GSi,qSi,VSi,JSi,zSi,KSi,$Si,YSi,WSi,XSi,ZSi,jSi,e6i,t6i,r6i,n6i,i6i,o6i,a6i,s6i,c6i,u6i,d6i,f6i,l6i,h6i,A6i,p6i,g6i,_6i,m6i,y6i,b6i,E6i,v6i,R6i,S6i,I6i,C6i,w6i,O6i,N6i,x6i,T6i,B6i,M6i,D6i,k6i,P6i,L6i,U6i,F6i,Q6i,H6i,G6i,q6i,h0t,V6i,J6i,z6i,K6i,$6i,Y6i,W6i,X6i,Z6i,j6i,eIi,tIi,rIi,nIi,iIi,oIi,aIi,sIi,cIi,uIi,dIi,fIi,lIi,hIi,AIi,pIi,gIi,_Ii,mIi,RB,fX=tn(()=>{"use strict";J();K();z();MSi=2n**(8n-1n)-1n,DSi=2n**(16n-1n)-1n,kSi=2n**(24n-1n)-1n,PSi=2n**(32n-1n)-1n,LSi=2n**(40n-1n)-1n,USi=2n**(48n-1n)-1n,FSi=2n**(56n-1n)-1n,QSi=2n**(64n-1n)-1n,HSi=2n**(72n-1n)-1n,GSi=2n**(80n-1n)-1n,qSi=2n**(88n-1n)-1n,VSi=2n**(96n-1n)-1n,JSi=2n**(104n-1n)-1n,zSi=2n**(112n-1n)-1n,KSi=2n**(120n-1n)-1n,$Si=2n**(128n-1n)-1n,YSi=2n**(136n-1n)-1n,WSi=2n**(144n-1n)-1n,XSi=2n**(152n-1n)-1n,ZSi=2n**(160n-1n)-1n,jSi=2n**(168n-1n)-1n,e6i=2n**(176n-1n)-1n,t6i=2n**(184n-1n)-1n,r6i=2n**(192n-1n)-1n,n6i=2n**(200n-1n)-1n,i6i=2n**(208n-1n)-1n,o6i=2n**(216n-1n)-1n,a6i=2n**(224n-1n)-1n,s6i=2n**(232n-1n)-1n,c6i=2n**(240n-1n)-1n,u6i=2n**(248n-1n)-1n,d6i=2n**(256n-1n)-1n,f6i=-(2n**(8n-1n)),l6i=-(2n**(16n-1n)),h6i=-(2n**(24n-1n)),A6i=-(2n**(32n-1n)),p6i=-(2n**(40n-1n)),g6i=-(2n**(48n-1n)),_6i=-(2n**(56n-1n)),m6i=-(2n**(64n-1n)),y6i=-(2n**(72n-1n)),b6i=-(2n**(80n-1n)),E6i=-(2n**(88n-1n)),v6i=-(2n**(96n-1n)),R6i=-(2n**(104n-1n)),S6i=-(2n**(112n-1n)),I6i=-(2n**(120n-1n)),C6i=-(2n**(128n-1n)),w6i=-(2n**(136n-1n)),O6i=-(2n**(144n-1n)),N6i=-(2n**(152n-1n)),x6i=-(2n**(160n-1n)),T6i=-(2n**(168n-1n)),B6i=-(2n**(176n-1n)),M6i=-(2n**(184n-1n)),D6i=-(2n**(192n-1n)),k6i=-(2n**(200n-1n)),P6i=-(2n**(208n-1n)),L6i=-(2n**(216n-1n)),U6i=-(2n**(224n-1n)),F6i=-(2n**(232n-1n)),Q6i=-(2n**(240n-1n)),H6i=-(2n**(248n-1n)),G6i=-(2n**(256n-1n)),q6i=2n**8n-1n,h0t=2n**16n-1n,V6i=2n**24n-1n,J6i=2n**32n-1n,z6i=2n**40n-1n,K6i=2n**48n-1n,$6i=2n**56n-1n,Y6i=2n**64n-1n,W6i=2n**72n-1n,X6i=2n**80n-1n,Z6i=2n**88n-1n,j6i=2n**96n-1n,eIi=2n**104n-1n,tIi=2n**112n-1n,rIi=2n**120n-1n,nIi=2n**128n-1n,iIi=2n**136n-1n,oIi=2n**144n-1n,aIi=2n**152n-1n,sIi=2n**160n-1n,cIi=2n**168n-1n,uIi=2n**176n-1n,dIi=2n**184n-1n,fIi=2n**192n-1n,lIi=2n**200n-1n,hIi=2n**208n-1n,AIi=2n**216n-1n,pIi=2n**224n-1n,gIi=2n**232n-1n,_Ii=2n**240n-1n,mIi=2n**248n-1n,RB=2n**256n-1n});function yl(e){let{account:t,gasPrice:r,maxFeePerGas:i,maxPriorityFeePerGas:n,to:o}=e,d=t?na(t):void 0;if(d&&!ys(d.address))throw new nc({address:d.address});if(o&&!ys(o))throw new nc({address:o});if(typeof r<"u"&&(typeof i<"u"||typeof n<"u"))throw new VW;if(i&&i>RB)throw new r2({maxFeePerGas:i});if(n&&i&&n>i)throw new aE({maxFeePerGas:i,maxPriorityFeePerGas:n})}var cE=tn(()=>{"use strict";J();K();z();E0();fX();X_();C3();ug();Yp()});function o2(e,t){if(!ys(e,{strict:!1}))throw new nc({address:e});if(!ys(t,{strict:!1}))throw new nc({address:t});return e.toLowerCase()===t.toLowerCase()}var $w=tn(()=>{"use strict";J();K();z();X_();Yp()});function jp(e){let{abi:t,args:r,functionName:i,data:n}=e,o=t[0];if(i){let g=Wp({abi:t,args:r,name:i});if(!g)throw new dy(i,{docsPath:w_e});o=g}if(o.type!=="function")throw new dy(void 0,{docsPath:w_e});if(!o.outputs)throw new wT(o.name,{docsPath:w_e});let d=rS(o.outputs,n);if(d&&d.length>1)return d;if(d&&d.length===1)return d[0]}var w_e,x3=tn(()=>{"use strict";J();K();z();W0();sU();p3();w_e="/docs/contract/decodeFunctionResult"});function DB(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function B_e(e){if(!DB(e))throw new Error("Uint8Array expected")}function kB(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function RU(e){let t=e.toString(16);return t.length&1?"0"+t:t}function R0t(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?T_e:BigInt("0x"+e)}function PB(e){if(B_e(e),S0t)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=pnr[e[r]];return t}function E0t(e){if(e>=fS._0&&e<=fS._9)return e-fS._0;if(e>=fS.A&&e<=fS.F)return e-(fS.A-10);if(e>=fS.a&&e<=fS.f)return e-(fS.a-10)}function SU(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(S0t)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let d=E0t(e.charCodeAt(o)),g=E0t(e.charCodeAt(o+1));if(d===void 0||g===void 0){let y=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+y+'" at index '+o)}i[n]=d*16+g}return i}function lS(e){return R0t(PB(e))}function M_e(e){return B_e(e),R0t(PB(Uint8Array.from(e).reverse()))}function Yw(e,t){return SU(e.toString(16).padStart(t*2,"0"))}function D_e(e,t){return Yw(e,t).reverse()}function e1(e,t,r){let i;if(typeof t=="string")try{i=SU(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(DB(t))i=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let n=i.length;if(typeof r=="number"&&n!==r)throw new Error(e+" of length "+r+" expected, got "+n);return i}function IU(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];B_e(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function IX(e,t,r){return O_e(e)&&O_e(t)&&O_e(r)&&t<=e&&e<r}function Ww(e,t,r,i){if(!IX(t,r,i))throw new Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function I0t(e){let t;for(t=0;e>T_e;e>>=x_e,t+=1);return t}function C0t(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let i=N_e(e),n=N_e(e),o=0,d=()=>{i.fill(1),n.fill(0),o=0},g=(...N)=>r(n,i,...N),y=(N=N_e(0))=>{n=g(v0t([0]),N),i=g(),N.length!==0&&(n=g(v0t([1]),N),i=g())},_=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let N=0,T=[];for(;N<t;){i=g();let M=i.slice();T.push(M),N+=i.length}return IU(...T)};return(N,T)=>{d(),y(N);let M;for(;!(M=T(_()));)y();return d(),M}}function Zw(e,t,r={}){let i=(n,o,d)=>{let g=gnr[o];if(typeof g!="function")throw new Error("invalid validator function");let y=e[n];if(!(d&&y===void 0)&&!g(y,e))throw new Error("param "+String(n)+" is invalid. Expected "+o+", got "+y)};for(let[n,o]of Object.entries(t))i(n,o,!1);for(let[n,o]of Object.entries(r))i(n,o,!0);return e}function k_e(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}var T_e,x_e,S0t,pnr,fS,O_e,Xw,N_e,v0t,gnr,CX=tn(()=>{"use strict";J();K();z();T_e=BigInt(0),x_e=BigInt(1);S0t=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",pnr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));fS={_0:48,_9:57,A:65,F:70,a:97,f:102};O_e=e=>typeof e=="bigint"&&T_e<=e;Xw=e=>(x_e<<BigInt(e))-x_e,N_e=e=>new Uint8Array(e),v0t=e=>Uint8Array.from(e);gnr={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||DB(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)}});var w0t,O0t=tn(()=>{"use strict";J();K();z();w0t="0.1.1"});function N0t(){return w0t}var x0t=tn(()=>{"use strict";J();K();z();O0t()});function T0t(e,t){return t?.(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause?T0t(e.cause,t):t?null:e}var _o,t1=tn(()=>{"use strict";J();K();z();x0t();_o=class e extends Error{constructor(t,r={}){let i=(()=>{if(r.cause instanceof e){if(r.cause.details)return r.cause.details;if(r.cause.shortMessage)return r.cause.shortMessage}return r.cause&&"details"in r.cause&&typeof r.cause.details=="string"?r.cause.details:r.cause?.message?r.cause.message:r.details})(),n=r.cause instanceof e&&r.cause.docsPath||r.docsPath,d=`https://oxlib.sh${n??""}`,g=[t||"An error occurred.",...r.metaMessages?["",...r.metaMessages]:[],...i||n?["",i?`Details: ${i}`:void 0,n?`See: ${d}`:void 0]:[]].filter(y=>typeof y=="string").join(` +`);super(g,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${N0t()}`}),this.cause=r.cause,this.details=i,this.docs=d,this.docsPath=n,this.shortMessage=t}walk(t){return T0t(this,t)}}});function LB(e,t){if(a2(e)>t)throw new wX({givenSize:a2(e),maxSize:t})}function B0t(e,t){if(typeof t=="number"&&t>0&&t>a2(e)-1)throw new CU({offset:t,position:"start",size:a2(e)})}function M0t(e,t,r){if(typeof t=="number"&&typeof r=="number"&&a2(e)!==r-t)throw new CU({offset:r,position:"end",size:a2(e)})}function P_e(e){if(e>=hS.zero&&e<=hS.nine)return e-hS.zero;if(e>=hS.A&&e<=hS.F)return e-(hS.A-10);if(e>=hS.a&&e<=hS.f)return e-(hS.a-10)}function D0t(e,t={}){let{dir:r,size:i=32}=t;if(i===0)return e;if(e.length>i)throw new OX({size:e.length,targetSize:i,type:"Bytes"});let n=new Uint8Array(i);for(let o=0;o<i;o++){let d=r==="right";n[d?o:i-o-1]=e[d?o:e.length-o-1]}return n}function L_e(e,t={}){let{dir:r="left"}=t,i=e,n=0;for(let o=0;o<i.length-1&&i[r==="left"?o:i.length-o-1].toString()==="0";o++)n++;return i=r==="left"?i.slice(n):i.slice(0,i.length-n),i}var hS,k0t=tn(()=>{"use strict";J();K();z();T3();hS={zero:48,nine:57,A:65,F:70,a:97,f:102}});function UB(e,t){if(v0(e)>t)throw new NX({givenSize:v0(e),maxSize:t})}function P0t(e,t){if(typeof t=="number"&&t>0&&t>v0(e)-1)throw new wU({offset:t,position:"start",size:v0(e)})}function L0t(e,t,r){if(typeof t=="number"&&typeof r=="number"&&v0(e)!==r-t)throw new wU({offset:r,position:"end",size:v0(e)})}function U_e(e,t={}){let{dir:r,size:i=32}=t;if(i===0)return e;let n=e.replace("0x","");if(n.length>i*2)throw new xX({size:Math.ceil(n.length/2),targetSize:i,type:"Hex"});return`0x${n[r==="right"?"padEnd":"padStart"](i*2,"0")}`}function U0t(e,t={}){let{dir:r="left"}=t,i=e.replace("0x",""),n=0;for(let o=0;o<i.length-1&&i[r==="left"?o:i.length-o-1].toString()==="0";o++)n++;return i=r==="left"?i.slice(n):i.slice(0,i.length-n),i==="0"?"0x":r==="right"&&i.length%2===1?`0x${i}0`:`0x${i}`}var F_e=tn(()=>{"use strict";J();K();z();vl()});function B3(e,t,r){return JSON.stringify(e,(i,n)=>typeof t=="function"?t(i,n):typeof n=="bigint"?n.toString()+mnr:n,r)}var mnr,OU=tn(()=>{"use strict";J();K();z();mnr="#__bigint"});function Enr(e){if(!(e instanceof Uint8Array)){if(!e)throw new FB(e);if(typeof e!="object")throw new FB(e);if(!("BYTES_PER_ELEMENT"in e))throw new FB(e);if(e.BYTES_PER_ELEMENT!==1||e.constructor.name!=="Uint8Array")throw new FB(e)}}function Q0t(e){return e instanceof Uint8Array?e:typeof e=="string"?QB(e):vnr(e)}function vnr(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function QB(e,t={}){let{size:r}=t,i=e;r&&(UB(e,r),i=dE(e,r));let n=i.slice(2);n.length%2&&(n=`0${n}`);let o=n.length/2,d=new Uint8Array(o);for(let g=0,y=0;g<o;g++){let _=P_e(n.charCodeAt(y++)),I=P_e(n.charCodeAt(y++));if(_===void 0||I===void 0)throw new _o(`Invalid byte sequence ("${n[y-2]}${n[y-1]}" in "${n}").`);d[g]=_*16+I}return d}function H0t(e,t={}){let{size:r}=t,i=bnr.encode(e);return typeof r=="number"?(LB(i,r),Rnr(i,r)):i}function Rnr(e,t){return D0t(e,{dir:"right",size:t})}function a2(e){return e.length}function G0t(e,t,r,i={}){let{strict:n}=i;B0t(e,t);let o=e.slice(t,r);return n&&M0t(o,t,r),o}function q0t(e,t={}){let{size:r}=t;typeof r<"u"&&LB(e,r);let i=Ld(e,t);return G_e(i,t)}function V0t(e,t={}){let{size:r}=t,i=e;if(typeof r<"u"&&(LB(i,r),i=H_e(i)),i.length>1||i[0]>1)throw new Q_e(i);return!!i[0]}function uE(e,t={}){let{size:r}=t;typeof r<"u"&&LB(e,r);let i=Ld(e,t);return BX(i,t)}function J0t(e,t={}){let{size:r}=t,i=e;return typeof r<"u"&&(LB(i,r),i=Snr(i)),ynr.decode(i)}function H_e(e){return L_e(e,{dir:"left"})}function Snr(e){return L_e(e,{dir:"right"})}function z0t(e){try{return Enr(e),!0}catch{return!1}}var ynr,bnr,Q_e,FB,wX,CU,OX,T3=tn(()=>{"use strict";J();K();z();t1();vl();k0t();F_e();OU();ynr=new TextDecoder,bnr=new TextEncoder;Q_e=class extends _o{constructor(t){super(`Bytes value \`${t}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}},FB=class extends _o{constructor(t){super(`Value \`${typeof t=="object"?B3(t):t}\` of type \`${typeof t}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"})}},wX=class extends _o{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},CU=class extends _o{constructor({offset:t,position:r,size:i}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${i}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"})}},OX=class extends _o{constructor({size:t,targetSize:r,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}}});function wnr(e,t={}){let{strict:r=!1}=t;if(!e)throw new MX(e);if(typeof e!="string")throw new MX(e);if(r&&!/^0x[0-9a-fA-F]*$/.test(e))throw new DX(e);if(!e.startsWith("0x"))throw new DX(e)}function j0(...e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}function HB(e){return e instanceof Uint8Array?Ld(e):Array.isArray(e)?Ld(new Uint8Array(e)):e}function kX(e,t={}){let r=`0x${Number(e)}`;return typeof t.size=="number"?(UB(r,t.size),AS(r,t.size)):r}function Ld(e,t={}){let r="";for(let n=0;n<e.length;n++)r+=Cnr[e[n]];let i=`0x${r}`;return typeof t.size=="number"?(UB(i,t.size),dE(i,t.size)):i}function lc(e,t={}){let{signed:r,size:i}=t,n=BigInt(e),o;i?r?o=(1n<<BigInt(i)*8n-1n)-1n:o=2n**(BigInt(i)*8n)-1n:typeof e=="number"&&(o=BigInt(Number.MAX_SAFE_INTEGER));let d=typeof o=="bigint"&&r?-o-1n:0;if(o&&n>o||n<d){let _=typeof e=="bigint"?"n":"";throw new NU({max:o?`${o}${_}`:void 0,min:`${d}${_}`,signed:r,size:i,value:`${e}${_}`})}let y=`0x${(r&&n<0?(1n<<BigInt(i*8))+BigInt(n):n).toString(16)}`;return i?AS(y,i):y}function GB(e,t={}){return Ld(Inr.encode(e),t)}function AS(e,t){return U_e(e,{dir:"left",size:t})}function dE(e,t){return U_e(e,{dir:"right",size:t})}function R0(e,t,r,i={}){let{strict:n}=i;P0t(e,t);let o=`0x${e.replace("0x","").slice((t??0)*2,(r??e.length)*2)}`;return n&&L0t(o,t,r),o}function v0(e){return Math.ceil((e.length-2)/2)}function q_e(e){return U0t(e,{dir:"left"})}function G_e(e,t={}){let{signed:r}=t;t.size&&UB(e,t.size);let i=BigInt(e);if(!r)return i;let n=(e.length-2)/2,o=(1n<<BigInt(n)*8n)-1n,d=o>>1n;return i<=d?i:i-o-1n}function BX(e,t={}){let{signed:r,size:i}=t;return Number(!r&&!i?e:G_e(e,t))}function xU(e,t={}){let{strict:r=!1}=t;try{return wnr(e,{strict:r}),!0}catch{return!1}}var Inr,Cnr,NU,MX,DX,NX,wU,xX,vl=tn(()=>{"use strict";J();K();z();t1();F_e();OU();Inr=new TextEncoder,Cnr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));NU=class extends _o{constructor({max:t,min:r,signed:i,size:n,value:o}){super(`Number \`${o}\` is not in safe${n?` ${n*8}-bit`:""}${i?" signed":" unsigned"} integer range ${t?`(\`${r}\` to \`${t}\`)`:`(above \`${r}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}},MX=class extends _o{constructor(t){super(`Value \`${typeof t=="object"?B3(t):t}\` of type \`${typeof t}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}},DX=class extends _o{constructor(t){super(`Value \`${t}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}},NX=class extends _o{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed \`${r}\` bytes. Given size: \`${t}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}},wU=class extends _o{constructor({offset:t,position:r,size:i}){super(`Slice ${r==="start"?"starting":"ending"} at offset \`${t}\` is out-of-bounds (size: \`${i}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}},xX=class extends _o{constructor({size:t,targetSize:r,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (\`${t}\`) exceeds padding size (\`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}});function K0t(e){return{address:e.address,amount:lc(e.amount),index:lc(e.index),validatorIndex:lc(e.validatorIndex)}}var $0t=tn(()=>{"use strict";J();K();z();vl()});function PX(e){return{...typeof e.baseFeePerGas=="bigint"&&{baseFeePerGas:lc(e.baseFeePerGas)},...typeof e.blobBaseFee=="bigint"&&{blobBaseFee:lc(e.blobBaseFee)},...typeof e.feeRecipient=="string"&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit=="bigint"&&{gasLimit:lc(e.gasLimit)},...typeof e.number=="bigint"&&{number:lc(e.number)},...typeof e.prevRandao=="bigint"&&{prevRandao:lc(e.prevRandao)},...typeof e.time=="bigint"&&{time:lc(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(K0t)}}}var V_e=tn(()=>{"use strict";J();K();z();vl();$0t()});var e5,LX,W0t,UX,X0t,J_e,z_e,K_e,$_e,M3=tn(()=>{"use strict";J();K();z();e5=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],LX=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],W0t=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],UX=[...W0t,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],X0t=[...W0t,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],J_e=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],z_e=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],K_e=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],$_e=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}]});var Z0t,j0t=tn(()=>{"use strict";J();K();z();Z0t="0x82ad56cb"});var FX,edt,tdt,qB,TU=tn(()=>{"use strict";J();K();z();FX="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",edt="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",tdt="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",qB="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033"});var t5,QX,HX,BU,pS,VB=tn(()=>{"use strict";J();K();z();ia();t5=class extends Kr{constructor({blockNumber:t,chain:r,contract:i}){super(`Chain "${r.name}" does not support contract "${i.name}".`,{metaMessages:["This could be due to any of the following:",...t&&i.blockCreated&&i.blockCreated>t?[`- The contract "${i.name}" was not deployed until block ${i.blockCreated} (current block ${t}).`]:[`- The chain does not have the contract "${i.name}" configured.`]],name:"ChainDoesNotSupportContract"})}},QX=class extends Kr{constructor({chain:t,currentChainId:r}){super(`The current chain of the wallet (id: ${r}) does not match the target chain for the transaction (id: ${t.id} \u2013 ${t.name}).`,{metaMessages:[`Current Chain ID: ${r}`,`Expected Chain ID: ${t.id} \u2013 ${t.name}`],name:"ChainMismatchError"})}},HX=class extends Kr{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(` +`),{name:"ChainNotFoundError"})}},BU=class extends Kr{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}},pS=class extends Kr{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}});function r5(e){let{abi:t,args:r,bytecode:i}=e;if(!r||r.length===0)return i;let n=t.find(d=>"type"in d&&d.type==="constructor");if(!n)throw new RT({docsPath:Y_e});if(!("inputs"in n))throw new l3({docsPath:Y_e});if(!n.inputs||n.inputs.length===0)throw new l3({docsPath:Y_e});let o=ch(n.inputs,r);return df([i,o])}var Y_e,GX=tn(()=>{"use strict";J();K();z();W0();Xh();eE();Y_e="/docs/contract/encodeDeployData"});function s2({blockNumber:e,chain:t,contract:r}){let i=t?.contracts?.[r];if(!i)throw new t5({chain:t,contract:{name:r}});if(e&&i.blockCreated&&i.blockCreated>e)throw new t5({blockNumber:e,chain:t,contract:{name:r,blockCreated:i.blockCreated}});return i.address}var n5=tn(()=>{"use strict";J();K();z();VB()});function qX(e,{docsPath:t,...r}){let i=(()=>{let n=w3(e,r);return n instanceof n2?e:n})();return new QT(i,{docsPath:t,...r})}var W_e=tn(()=>{"use strict";J();K();z();_3();C3();yU()});function JB(){let e=()=>{},t=()=>{};return{promise:new Promise((i,n)=>{e=i,t=n}),resolve:e,reject:t}}var VX=tn(()=>{"use strict";J();K();z()});function JX({fn:e,id:t,shouldSplitBatch:r,wait:i=0,sort:n}){let o=async()=>{let I=y();d();let N=I.map(({args:T})=>T);N.length!==0&&e(N).then(T=>{n&&Array.isArray(T)&&T.sort(n);for(let M=0;M<I.length;M++){let{resolve:D}=I[M];D?.([T[M],T])}}).catch(T=>{for(let M=0;M<I.length;M++){let{reject:D}=I[M];D?.(T)}})},d=()=>X_e.delete(t),g=()=>y().map(({args:I})=>I),y=()=>X_e.get(t)||[],_=I=>X_e.set(t,[...y(),I]);return{flush:d,async schedule(I){let{promise:N,resolve:T,reject:M}=JB();return r?.([...g(),I])&&o(),y().length>0?(_({args:I,resolve:T,reject:M}),N):(_({args:I,resolve:T,reject:M}),setTimeout(o,i),N)}}}var X_e,Z_e=tn(()=>{"use strict";J();K();z();VX();X_e=new Map});var zX,KX,$X,rdt=tn(()=>{"use strict";J();K();z();Zh();ia();WW();zX=class extends Kr{constructor({callbackSelector:t,cause:r,data:i,extraData:n,sender:o,urls:d}){super(r.shortMessage||"An error occurred while fetching for an offchain result.",{cause:r,metaMessages:[...r.metaMessages||[],r.metaMessages?.length?"":[],"Offchain Gateway Call:",d&&[" Gateway URL(s):",...d.map(g=>` ${Fw(g)}`)],` Sender: ${o}`,` Data: ${i}`,` Callback selector: ${t}`,` Extra data: ${n}`].flat(),name:"OffchainLookupError"})}},KX=class extends Kr{constructor({result:t,url:r}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${Fw(r)}`,`Response: ${ws(t)}`],name:"OffchainLookupResponseMalformedError"})}},$X=class extends Kr{constructor({sender:t,to:r}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${r}`,`OffchainLookup sender address: ${t}`],name:"OffchainLookupSenderMismatchError"})}}});function ndt(e){let{abi:t,data:r}=e,i=j_(r,0,4),n=t.find(o=>o.type==="function"&&i===tE(Vf(o)));if(!n)throw new bW(i,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:n.name,args:"inputs"in n&&n.inputs&&n.inputs.length>0?rS(n.inputs,j_(r,4)):void 0}}var idt=tn(()=>{"use strict";J();K();z();W0();A3();TT();sU();ZR()});function e2e(e){let{abi:t,errorName:r,args:i}=e,n=t[0];if(r){let y=Wp({abi:t,args:i,name:r});if(!y)throw new WL(r,{docsPath:j_e});n=y}if(n.type!=="error")throw new WL(void 0,{docsPath:j_e});let o=Vf(n),d=tE(o),g="0x";if(i&&i.length>0){if(!n.inputs)throw new mW(n.name,{docsPath:j_e});g=ch(n.inputs,i)}return df([d,g])}var j_e,odt=tn(()=>{"use strict";J();K();z();W0();Xh();TT();eE();ZR();p3();j_e="/docs/contract/encodeErrorResult"});function adt(e){let{abi:t,functionName:r,result:i}=e,n=t[0];if(r){let d=Wp({abi:t,name:r});if(!d)throw new dy(r,{docsPath:t2e});n=d}if(n.type!=="function")throw new dy(void 0,{docsPath:t2e});if(!n.outputs)throw new wT(n.name,{docsPath:t2e});let o=(()=>{if(n.outputs.length===0)return[];if(n.outputs.length===1)return[i];if(Array.isArray(i))return i;throw new OT(i)})();return ch(n.outputs,o)}var t2e,sdt=tn(()=>{"use strict";J();K();z();W0();eE();p3();t2e="/docs/contract/encodeFunctionResult"});async function r2e(e){let{data:t,ccipRequest:r}=e,{args:[i]}=ndt({abi:LX,data:t}),n=[],o=[];return await Promise.all(i.map(async(d,g)=>{try{o[g]=d.urls.includes(gS)?await r2e({data:d.data,ccipRequest:r}):await r(d),n[g]=!1}catch(y){n[g]=!0,o[g]=Nnr(y)}})),adt({abi:LX,functionName:"query",result:[n,o]})}function Nnr(e){return e.name==="HttpRequestError"&&e.status?e2e({abi:LX,errorName:"HttpError",args:[e.status,e.shortMessage]}):e2e({abi:[kW],errorName:"Error",args:["shortMessage"in e?e.shortMessage:e.message]})}var gS,MU=tn(()=>{"use strict";J();K();z();M3();PW();idt();odt();sdt();gS="x-batch-gateway:true"});var ddt={};gh(ddt,{ccipRequest:()=>udt,offchainLookup:()=>Tnr,offchainLookupAbiItem:()=>cdt,offchainLookupSignature:()=>xnr});async function Tnr(e,{blockNumber:t,blockTag:r,data:i,to:n}){let{args:o}=FW({data:i,abi:[cdt]}),[d,g,y,_,I]=o,{ccipRead:N}=e,T=N&&typeof N?.request=="function"?N.request:udt;try{if(!o2(n,d))throw new $X({sender:d,to:n});let M=g.includes(gS)?await r2e({data:y,ccipRequest:T}):await T({data:y,sender:d,urls:g}),{data:D}=await fE(e,{blockNumber:t,blockTag:r,data:uf([_,ch([{type:"bytes"},{type:"bytes"}],[M,I])]),to:n});return D}catch(M){throw new zX({callbackSelector:_,cause:M,data:i,extraData:I,sender:d,urls:g})}}async function udt({data:e,sender:t,urls:r}){let i=new Error("An unknown error occurred.");for(let n=0;n<r.length;n++){let o=r[n],d=o.includes("{data}")?"GET":"POST",g=d==="POST"?{data:e,sender:t}:void 0,y=d==="POST"?{"Content-Type":"application/json"}:{};try{let _=await fetch(o.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(g),headers:y,method:d}),I;if(_.headers.get("Content-Type")?.startsWith("application/json")?I=(await _.json()).data:I=await _.text(),!_.ok){i=new e2({body:g,details:I?.error?ws(I.error):_.statusText,headers:_.headers,status:_.status,url:o});continue}if(!X0(I)){i=new KX({result:I,url:o});continue}return I}catch(_){i=new e2({body:g,details:_.message,url:o})}}throw i}var xnr,cdt,fdt=tn(()=>{"use strict";J();K();z();zB();rdt();Hw();$ge();eE();$w();Xh();z_();MU();Zh();xnr="0x556f1830",cdt={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]}});async function fE(e,t){let{account:r=e.account,authorizationList:i,batch:n=!!e.batch?.multicall,blockNumber:o,blockTag:d=e.experimental_blockTag??"latest",accessList:g,blobs:y,blockOverrides:_,code:I,data:N,factory:T,factoryData:M,gas:D,gasPrice:P,maxFeePerBlobGas:G,maxFeePerGas:q,maxPriorityFeePerGas:Y,nonce:ne,to:ce,value:le,stateOverride:pe,...ae}=t,W=r?na(r):void 0;if(I&&(T||M))throw new Kr("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(I&&ce)throw new Kr("Cannot provide both `code` & `to` as parameters.");let se=I&&N,O=T&&M&&ce&&N,s=se||O,l=se?ldt({code:I,data:N}):O?Dnr({data:N,factory:T,factoryData:M,to:ce}):N;try{yl(t);let m=(typeof o=="bigint"?Sn(o):void 0)||d,E=_?PX(_):void 0,w=vB(pe),x=e.chain?.formatters?.transactionRequest?.format,u=(x||JA)({...sE(ae,{format:x}),accessList:g,account:W,authorizationList:i,blobs:y,data:l,gas:D,gasPrice:P,maxFeePerBlobGas:G,maxFeePerGas:q,maxPriorityFeePerGas:Y,nonce:ne,to:s?void 0:ce,value:le},"call");if(n&&Bnr({request:u})&&!w&&!E)try{return await Mnr(e,{...u,blockNumber:o,blockTag:d})}catch(F){if(!(F instanceof BU)&&!(F instanceof t5))throw F}let C=(()=>{let F=[u,m];return w&&E?[...F,w,E]:w?[...F,w]:E?[...F,{},E]:F})(),U=await e.request({method:"eth_call",params:C});return U==="0x"?{data:void 0}:{data:U}}catch(A){let m=knr(A),{offchainLookup:E,offchainLookupSignature:w}=await Promise.resolve().then(()=>(fdt(),ddt));if(e.ccipRead!==!1&&m?.slice(0,10)===w&&ce)return{data:await E(e,{data:m,to:ce})};throw s&&m?.slice(0,10)==="0x101bb98d"?new ZW({factory:T}):qX(A,{...t,account:W,chain:e.chain})}}function Bnr({request:e}){let{data:t,to:r,...i}=e;return!(!t||t.startsWith(Z0t)||!r||Object.values(i).filter(n=>typeof n<"u").length>0)}async function Mnr(e,t){let{batchSize:r=1024,deployless:i=!1,wait:n=0}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},{blockNumber:o,blockTag:d=e.experimental_blockTag??"latest",data:g,to:y}=t,_=(()=>{if(i)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return s2({blockNumber:o,chain:e.chain,contract:"multicall3"});throw new BU})(),N=(typeof o=="bigint"?Sn(o):void 0)||d,{schedule:T}=JX({id:`${e.uid}.${N}`,wait:n,shouldSplitBatch(P){return P.reduce((q,{data:Y})=>q+(Y.length-2),0)>r*2},fn:async P=>{let G=P.map(ne=>({allowFailure:!0,callData:ne.data,target:ne.to})),q=hu({abi:e5,args:[G],functionName:"aggregate3"}),Y=await e.request({method:"eth_call",params:[{..._===null?{data:ldt({code:qB,data:q})}:{to:_,data:q}},N]});return jp({abi:e5,args:[G],functionName:"aggregate3",data:Y||"0x"})}}),[{returnData:M,success:D}]=await T({data:g,to:y});if(!D)throw new iE({data:M});return M==="0x"?{data:void 0}:{data:M}}function ldt(e){let{code:t,data:r}=e;return r5({abi:fW(["constructor(bytes, bytes)"]),bytecode:FX,args:[t,r]})}function Dnr(e){let{data:t,factory:r,factoryData:i,to:n}=e;return r5({abi:fW(["constructor(address, bytes, address, bytes)"]),bytecode:edt,args:[n,t,r,i]})}function knr(e){if(!(e instanceof Kr))return;let t=e.walk();return typeof t?.data=="object"?t.data?.data:t.data}var zB=tn(()=>{"use strict";J();K();z();$L();V_e();E0();M3();j0t();TU();ia();VB();_3();x3();GX();Xp();n5();fo();W_e();EB();dS();Z_e();dX();cE()});var k_t=ir(T7=>{"use strict";J();K();z();Object.defineProperty(T7,"__esModule",{value:!0});var jj;function phn(e){{let t=fe.from(e);t.reverse();let r=t.toString("hex");return r.length===0?BigInt(0):BigInt(`0x${r}`)}return jj.toBigInt(e,!1)}T7.toBigIntLE=phn;function ghn(e){{let t=e.toString("hex");return t.length===0?BigInt(0):BigInt(`0x${t}`)}return jj.toBigInt(e,!0)}T7.toBigIntBE=ghn;function _hn(e,t){{let r=e.toString(16),i=fe.from(r.padStart(t*2,"0").slice(0,t*2),"hex");return i.reverse(),i}return jj.fromBigInt(e,fe.allocUnsafe(t),!1)}T7.toBufferLE=_hn;function mhn(e,t){{let r=e.toString(16);return fe.from(r.padStart(t*2,"0").slice(0,t*2),"hex")}return jj.fromBigInt(e,fe.allocUnsafe(t),!0)}T7.toBufferBE=mhn});var oee=ir((xfo,q_t)=>{"use strict";J();K();z();var vhn=_k(),Rhn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";q_t.exports=vhn(Rhn)});var e2t=ir(gu=>{"use strict";J();K();z();var whn=gu&&gu.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),Ohn=gu&&gu.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Nhn=gu&&gu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&whn(t,e,r);return Ohn(t,e),t};Object.defineProperty(gu,"__esModule",{value:!0});gu.b64UrlDecode=gu.b64UrlEncode=gu.bufferTob64Url=gu.bufferTob64=gu.b64UrlToBuffer=gu.stringToB64Url=gu.stringToBuffer=gu.bufferToString=gu.b64UrlToString=gu.concatBuffers=void 0;var z_t=Nhn(mV());function xhn(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].byteLength;let r=new Uint8Array(t),i=0;r.set(new Uint8Array(e[0]),i),i+=e[0].byteLength;for(let n=1;n<e.length;n++)r.set(new Uint8Array(e[n]),i),i+=e[n].byteLength;return r}gu.concatBuffers=xhn;function Thn(e){let t=Y_t(e);return K_t(t)}gu.b64UrlToString=Thn;function K_t(e){return new TextDecoder("utf-8",{fatal:!0}).decode(e)}gu.bufferToString=K_t;function $_t(e){return new TextEncoder().encode(e)}gu.stringToBuffer=$_t;function Bhn(e){return X_t($_t(e))}gu.stringToB64Url=Bhn;function Y_t(e){return new Uint8Array(z_t.toByteArray(j_t(e)))}gu.b64UrlToBuffer=Y_t;function W_t(e){return z_t.fromByteArray(new Uint8Array(e))}gu.bufferTob64=W_t;function X_t(e){return Z_t(W_t(e))}gu.bufferTob64Url=X_t;function Z_t(e){try{return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}catch(t){throw new Error("Failed to encode string",{cause:t})}}gu.b64UrlEncode=Z_t;function j_t(e){try{e=e.replace(/\-/g,"+").replace(/\_/g,"/");let t;return e.length%4==0?t=0:t=4-e.length%4,e.concat("=".repeat(t))}catch(t){throw new Error("Failed to decode string",{cause:t})}}gu.b64UrlDecode=j_t});var i2t=ir(X3=>{"use strict";J();K();z();Object.defineProperty(X3,"__esModule",{value:!0});X3.utf8Write=X3.utf8Read=X3.utf8Length=void 0;function Dhn(e){let t=0,r=0;for(let i=0;i<e.length;++i)r=e.charCodeAt(i),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,t+=4):t+=3;return t}X3.utf8Length=Dhn;function khn(e,t,r){if(r-t<1)return"";let n=[],o=[],d=0,g;for(;t<r;)g=e[t++],g<128?n[d++]=g:g>191&&g<224?n[d++]=(g&31)<<6|e[t++]&63:g>239&&g<365?(g=((g&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,n[d++]=55296+(g>>10),n[d++]=56320+(g&1023)):n[d++]=(g&15)<<12|(e[t++]&63)<<6|e[t++]&63,d>8191&&((o||(o=[])).push(String.fromCharCode(...n)),d=0);return o?(d&&o.push(String.fromCharCode(...n.slice(0,d))),o.join("")):String.fromCharCode(...n.slice(0,d))}X3.utf8Read=khn;function Phn(e,t,r){let i=r,n,o;for(let d=0;d<e.length;++d)n=e.charCodeAt(d),n<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=n&63|128):(n&64512)===55296&&((o=e.charCodeAt(d+1))&64512)===56320?(n=65536+((n&1023)<<10)+(o&1023),++d,t[r++]=n>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=n&63|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=n&63|128);return r-i}X3.utf8Write=Phn});var c2t=ir(Zs=>{"use strict";J();K();z();Object.defineProperty(Zs,"__esModule",{value:!0});Zs.writeByte=Zs.writeFixed32=Zs.int64Length=Zs.writeVarint64=Zs.writeVarint32=Zs.readInt32=Zs.readUInt32=Zs.zzDecode=Zs.zzEncode=Zs.varint32read=Zs.varint32write=Zs.uInt64ToString=Zs.int64ToString=Zs.int64FromString=Zs.varint64write=Zs.varint64read=void 0;function Lhn(){let e=0,t=0;for(let i=0;i<28;i+=7){let n=this.buf[this.pos++];if(e|=(n&127)<<i,(n&128)==0)return this.assertBounds(),[e,t]}let r=this.buf[this.pos++];if(e|=(r&15)<<28,t=(r&112)>>4,(r&128)==0)return this.assertBounds(),[e,t];for(let i=3;i<=31;i+=7){let n=this.buf[this.pos++];if(t|=(n&127)<<i,(n&128)==0)return this.assertBounds(),[e,t]}throw new Error("invalid varint")}Zs.varint64read=Lhn;function Uhn(e,t,r){for(let o=0;o<28;o=o+7){let d=e>>>o,g=!(!(d>>>7)&&t==0),y=(g?d|128:d)&255;if(r.push(y),!g)return}let i=e>>>28&15|(t&7)<<4,n=t>>3!=0;if(r.push((n?i|128:i)&255),!!n){for(let o=3;o<31;o=o+7){let d=t>>>o,g=!!(d>>>7),y=(g?d|128:d)&255;if(r.push(y),!g)return}r.push(t>>>31&1)}}Zs.varint64write=Uhn;var fee=4294967296;function Fhn(e){let t=e[0]==="-";t&&(e=e.slice(1));let r=1e6,i=0,n=0;function o(d,g){let y=Number(e.slice(d,g));n*=r,i=i*r+y,i>=fee&&(n=n+(i/fee|0),i=i%fee)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),t?s2t(i,n):AEe(i,n)}Zs.int64FromString=Fhn;function Qhn(e,t){let r=AEe(e,t),i=r.hi&2147483648;i&&(r=s2t(r.lo,r.hi));let n=a2t(r.lo,r.hi);return i?"-"+n:n}Zs.int64ToString=Qhn;function a2t(e,t){if({lo:e,hi:t}=Hhn(e,t),t<=2097151)return String(fee*t+e);let r=e&16777215,i=(e>>>24|t<<8)&16777215,n=t>>16&65535,o=r+i*6777216+n*6710656,d=i+n*8147497,g=n*2,y=1e7;return o>=y&&(d+=Math.floor(o/y),o%=y),d>=y&&(g+=Math.floor(d/y),d%=y),g.toString()+o2t(d)+o2t(o)}Zs.uInt64ToString=a2t;function Hhn(e,t){return{lo:e>>>0,hi:t>>>0}}function AEe(e,t){return{lo:e|0,hi:t|0}}function s2t(e,t){return t=~t,e?e=~e+1:t+=1,AEe(e,t)}var o2t=e=>{let t=String(e);return"0000000".slice(t.length)+t};function Ghn(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e=e>>>7;t.push(e)}else{for(let r=0;r<9;r++)t.push(e&127|128),e=e>>7;t.push(1)}}Zs.varint32write=Ghn;function qhn(){let e=this.buf[this.pos++],t=e&127;if((e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,(e&128)==0)return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let r=5;(e&128)!==0&&r<10;r++)e=this.buf[this.pos++];if((e&128)!=0)throw new Error("invalid varint");return this.assertBounds(),t>>>0}Zs.varint32read=qhn;function Vhn(e,t){let r=t>>31;return t=((t<<1|e>>>31)^r)>>>0,e=(e<<1^r)>>>0,[e,t]}Zs.zzEncode=Vhn;function Jhn(e,t){let r=-(e&1);return e=((e>>>1|t<<31)^r)>>>0,t=(t>>>1^r)>>>0,[e,t]}Zs.zzDecode=Jhn;function zhn(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+e[t+3]*16777216}Zs.readUInt32=zhn;function Khn(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}Zs.readInt32=Khn;function $hn(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}Zs.writeVarint32=$hn;function Yhn(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}Zs.writeVarint64=Yhn;function Whn(e,t){let r=e,i=(e>>>28|t<<4)>>>0,n=t>>>24;return n===0?i===0?r<16384?r<128?1:2:r<2097152?3:4:i<16384?i<128?5:6:i<2097152?7:8:n<128?9:10}Zs.int64Length=Whn;function Xhn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}Zs.writeFixed32=Xhn;function Zhn(e,t,r){t[r]=e&255}Zs.writeByte=Zhn});var Qi=ir(Z3=>{"use strict";J();K();z();Object.defineProperty(Z3,"__esModule",{value:!0});Z3.BinaryWriter=Z3.BinaryReader=Z3.WireType=void 0;var pEe=i2t(),Bc=c2t(),M7;(function(e){e[e.Varint=0]="Varint",e[e.Fixed64=1]="Fixed64",e[e.Bytes=2]="Bytes",e[e.Fixed32=5]="Fixed32"})(M7||(Z3.WireType=M7={}));var gEe=class{assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}constructor(t){this.buf=t?new Uint8Array(t):new Uint8Array(0),this.pos=0,this.type=0,this.len=this.buf.length}tag(){let t=this.uint32(),r=t>>>3,i=t&7;if(r<=0||i<0||i>5)throw new Error("illegal tag: field no "+r+" wire type "+i);return[r,i,t]}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw u2t(this,t);this.pos+=t}else do if(this.pos>=this.len)throw u2t(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case M7.Varint:this.skip();break;case M7.Fixed64:this.skip(8);break;case M7.Bytes:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case M7.Fixed32:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this}uint32(){return Bc.varint32read.bind(this)()}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t%2===1?(t+1)/-2:t/2}fixed32(){let t=(0,Bc.readUInt32)(this.buf,this.pos);return this.pos+=4,t}sfixed32(){let t=(0,Bc.readInt32)(this.buf,this.pos);return this.pos+=4,t}int64(){let[t,r]=Bc.varint64read.bind(this)();return BigInt((0,Bc.int64ToString)(t,r))}uint64(){let[t,r]=Bc.varint64read.bind(this)();return BigInt((0,Bc.uInt64ToString)(t,r))}sint64(){let[t,r]=Bc.varint64read.bind(this)();return[t,r]=(0,Bc.zzDecode)(t,r),BigInt((0,Bc.int64ToString)(t,r))}fixed64(){let t=this.sfixed32(),r=this.sfixed32();return BigInt((0,Bc.uInt64ToString)(t,r))}sfixed64(){let t=this.sfixed32(),r=this.sfixed32();return BigInt((0,Bc.int64ToString)(t,r))}float(){throw new Error("float not supported")}double(){throw new Error("double not supported")}bool(){let[t,r]=Bc.varint64read.bind(this)();return t!==0||r!==0}bytes(){let t=this.uint32(),r=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(r,r+t)}string(){let t=this.bytes();return(0,pEe.utf8Read)(t,0,t.length)}};Z3.BinaryReader=gEe;var v5=class{constructor(t,r,i){this.fn=t,this.len=r,this.val=i}proceed(t,r){this.fn&&this.fn(this.val,t,r)}},_Ee=class{constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},mEe=class e{constructor(){this.len=0,this.uint64=e.prototype.int64,this.sfixed64=e.prototype.fixed64,this.sfixed32=e.prototype.fixed32,this.head=new v5(null,0,0),this.tail=this.head,this.states=null}static create(){return new e}static alloc(t){return typeof Uint8Array<"u"?eAn(r=>new Uint8Array(r),Uint8Array.prototype.subarray)(t):new Array(t)}_push(t,r,i){return this.tail=this.tail.next=new v5(t,r,i),this.len+=r,this}finish(){let t=this.head.next,r=0,i=e.alloc(this.len);for(;t;)t.proceed(i,r),r+=t.len,t=t.next;return i}fork(){return this.states=new _Ee(this),this.head=this.tail=new v5(null,0,0),this.len=0,this}reset(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new v5(null,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=t.next,this.tail=r,this.len+=i),this}tag(t,r){return this.uint32((t<<3|r)>>>0)}uint32(t){return this.len+=(this.tail=this.tail.next=new v5(Bc.writeVarint32,(t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Bc.writeVarint64,10,(0,Bc.int64FromString)(t.toString())):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}int64(t){let{lo:r,hi:i}=(0,Bc.int64FromString)(t.toString());return this._push(Bc.writeVarint64,(0,Bc.int64Length)(r,i),{lo:r,hi:i})}sint64(t){let{lo:r,hi:i}=(0,Bc.int64FromString)(t.toString());return[r,i]=(0,Bc.zzEncode)(r,i),this._push(Bc.writeVarint64,(0,Bc.int64Length)(r,i),{lo:r,hi:i})}fixed64(t){let{lo:r,hi:i}=(0,Bc.int64FromString)(t.toString());return this._push(Bc.writeFixed32,4,r)._push(Bc.writeFixed32,4,i)}bool(t){return this._push(Bc.writeByte,1,t?1:0)}fixed32(t){return this._push(Bc.writeFixed32,4,t>>>0)}float(t){throw new Error("float not supported"+t)}double(t){throw new Error("double not supported"+t)}bytes(t){let r=t.length>>>0;return r?this.uint32(r)._push(jhn,r,t):this._push(Bc.writeByte,1,0)}string(t){let r=(0,pEe.utf8Length)(t);return r?this.uint32(r)._push(pEe.utf8Write,r,t):this._push(Bc.writeByte,1,0)}};Z3.BinaryWriter=mEe;function jhn(e,t,r){if(typeof Uint8Array<"u")t.set(e,r);else for(let i=0;i<e.length;++i)t[r+i]=e[i]}function eAn(e,t,r){let i=r||8192,n=i>>>1,o=null,d=i;return function(y){if(y<1||y>n)return e(y);d+y>i&&(o=e(i),d=0);let _=t.call(o,d,d+=y);return d&7&&(d=(d|7)+1),_}}function u2t(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}});var Hi=ir(S0=>{"use strict";J();K();z();Object.defineProperty(S0,"__esModule",{value:!0});S0.fromJsonTimestamp=S0.fromTimestamp=S0.toTimestamp=S0.setPaginationParams=S0.isObject=S0.isSet=S0.fromDuration=S0.toDuration=S0.omitDefault=S0.base64FromBytes=S0.bytesFromBase64=void 0;var D7=(()=>{if(typeof D7<"u")return D7;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw"Unable to locate global object"})(),tAn=D7.atob||(e=>D7.Buffer.from(e,"base64").toString("binary"));function rAn(e){let t=tAn(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;++i)r[i]=t.charCodeAt(i);return r}S0.bytesFromBase64=rAn;var nAn=D7.btoa||(e=>D7.Buffer.from(e,"binary").toString("base64"));function iAn(e){let t=[];return e.forEach(r=>{t.push(String.fromCharCode(r))}),nAn(t.join(""))}S0.base64FromBytes=iAn;function oAn(e){if(typeof e=="string")return e===""?void 0:e;if(typeof e=="number")return e===0?void 0:e;if(typeof e=="bigint")return e===BigInt(0)?void 0:e;throw new Error(`Got unsupported type ${typeof e}`)}S0.omitDefault=oAn;function aAn(e){return{seconds:BigInt(Math.floor(parseInt(e)/1e9)),nanos:parseInt(e)%1e9}}S0.toDuration=aAn;function sAn(e){return(parseInt(e.seconds.toString())*1e9+e.nanos).toString()}S0.fromDuration=sAn;function yEe(e){return e!=null}S0.isSet=yEe;function cAn(e){return typeof e=="object"&&e!==null}S0.isObject=cAn;var uAn=(e,t)=>(t&&(typeof t?.countTotal<"u"&&(e.params["pagination.count_total"]=t.countTotal),typeof t?.key<"u"&&(e.params["pagination.key"]=fe.from(t.key).toString("base64")),typeof t?.limit<"u"&&(e.params["pagination.limit"]=t.limit.toString()),typeof t?.offset<"u"&&(e.params["pagination.offset"]=t.offset.toString()),typeof t?.reverse<"u"&&(e.params["pagination.reverse"]=t.reverse)),e);S0.setPaginationParams=uAn;function bEe(e){let t=hAn(e.getTime()/1e3),r=e.getTime()%1e3*1e6;return{seconds:t,nanos:r}}S0.toTimestamp=bEe;function dAn(e){let t=Number(e.seconds)*1e3;return t+=e.nanos/1e6,new Date(t)}S0.fromTimestamp=dAn;var fAn=e=>({seconds:yEe(e.seconds)?BigInt(e.seconds.toString()):BigInt(0),nanos:yEe(e.nanos)?Number(e.nanos):0});function lAn(e){return e instanceof Date?bEe(e):typeof e=="string"?bEe(new Date(e)):fAn(e)}S0.fromJsonTimestamp=lAn;function hAn(e){return BigInt(Math.trunc(e))}});var ru=ir(k7=>{"use strict";J();K();z();Object.defineProperty(k7,"__esModule",{value:!0});k7.Any=k7.protobufPackage=void 0;var EEe=Qi(),lee=Hi();k7.protobufPackage="google.protobuf";function vEe(){return{typeUrl:"",value:new Uint8Array}}k7.Any={typeUrl:"/google.protobuf.Any",encode(e,t=EEe.BinaryWriter.create()){return e.typeUrl!==""&&t.uint32(10).string(e.typeUrl),e.value.length!==0&&t.uint32(18).bytes(e.value),t},decode(e,t){let r=e instanceof EEe.BinaryReader?e:new EEe.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.typeUrl=r.string();break;case 2:n.value=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vEe();return(0,lee.isSet)(e.typeUrl)&&(t.typeUrl=String(e.typeUrl)),(0,lee.isSet)(e.value)&&(t.value=(0,lee.bytesFromBase64)(e.value)),t},toJSON(e){let t={};return e.typeUrl!==void 0&&(t.typeUrl=e.typeUrl),e.value!==void 0&&(t.value=(0,lee.base64FromBytes)(e.value!==void 0?e.value:new Uint8Array)),t},fromPartial(e){let t=vEe();return t.typeUrl=e.typeUrl??"",t.value=e.value??new Uint8Array,t}}});var hee=ir(j3=>{"use strict";J();K();z();Object.defineProperty(j3,"__esModule",{value:!0});j3.CompactBitArray=j3.MultiSignature=j3.protobufPackage=void 0;var L7=Qi(),P7=Hi();j3.protobufPackage="cosmos.crypto.multisig.v1beta1";function REe(){return{signatures:[]}}j3.MultiSignature={typeUrl:"/cosmos.crypto.multisig.v1beta1.MultiSignature",encode(e,t=L7.BinaryWriter.create()){for(let r of e.signatures)t.uint32(10).bytes(r);return t},decode(e,t){let r=e instanceof L7.BinaryReader?e:new L7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=REe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.signatures.push(r.bytes()):r.skipType(o&7)}return n},fromJSON(e){let t=REe();return Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>(0,P7.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.signatures?t.signatures=e.signatures.map(r=>(0,P7.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.signatures=[],t},fromPartial(e){let t=REe();return t.signatures=e.signatures?.map(r=>r)||[],t}};function SEe(){return{extraBitsStored:0,elems:new Uint8Array}}j3.CompactBitArray={typeUrl:"/cosmos.crypto.multisig.v1beta1.CompactBitArray",encode(e,t=L7.BinaryWriter.create()){return e.extraBitsStored!==0&&t.uint32(8).uint32(e.extraBitsStored),e.elems.length!==0&&t.uint32(18).bytes(e.elems),t},decode(e,t){let r=e instanceof L7.BinaryReader?e:new L7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.extraBitsStored=r.uint32();break;case 2:n.elems=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=SEe();return(0,P7.isSet)(e.extraBitsStored)&&(t.extraBitsStored=Number(e.extraBitsStored)),(0,P7.isSet)(e.elems)&&(t.elems=(0,P7.bytesFromBase64)(e.elems)),t},toJSON(e){let t={};return e.extraBitsStored!==void 0&&(t.extraBitsStored=Math.round(e.extraBitsStored)),e.elems!==void 0&&(t.elems=(0,P7.base64FromBytes)(e.elems!==void 0?e.elems:new Uint8Array)),t},fromPartial(e){let t=SEe();return t.extraBitsStored=e.extraBitsStored??0,t.elems=e.elems??new Uint8Array,t}}});var U7=ir(aa=>{"use strict";J();K();z();Object.defineProperty(aa,"__esModule",{value:!0});aa.SignatureDescriptor_Data_Multi=aa.SignatureDescriptor_Data_Single=aa.SignatureDescriptor_Data=aa.SignatureDescriptor=aa.SignatureDescriptors=aa.signModeToJSON=aa.signModeFromJSON=aa.SignMode=aa.protobufPackage=void 0;var BF=hee(),MF=ru(),WA=Qi(),RE=Hi();aa.protobufPackage="cosmos.tx.signing.v1beta1";var sA;(function(e){e[e.SIGN_MODE_UNSPECIFIED=0]="SIGN_MODE_UNSPECIFIED",e[e.SIGN_MODE_DIRECT=1]="SIGN_MODE_DIRECT",e[e.SIGN_MODE_TEXTUAL=2]="SIGN_MODE_TEXTUAL",e[e.SIGN_MODE_DIRECT_AUX=3]="SIGN_MODE_DIRECT_AUX",e[e.SIGN_MODE_LEGACY_AMINO_JSON=127]="SIGN_MODE_LEGACY_AMINO_JSON",e[e.SIGN_MODE_EIP_191=191]="SIGN_MODE_EIP_191",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(sA||(aa.SignMode=sA={}));function d2t(e){switch(e){case 0:case"SIGN_MODE_UNSPECIFIED":return sA.SIGN_MODE_UNSPECIFIED;case 1:case"SIGN_MODE_DIRECT":return sA.SIGN_MODE_DIRECT;case 2:case"SIGN_MODE_TEXTUAL":return sA.SIGN_MODE_TEXTUAL;case 3:case"SIGN_MODE_DIRECT_AUX":return sA.SIGN_MODE_DIRECT_AUX;case 127:case"SIGN_MODE_LEGACY_AMINO_JSON":return sA.SIGN_MODE_LEGACY_AMINO_JSON;case 191:case"SIGN_MODE_EIP_191":return sA.SIGN_MODE_EIP_191;default:return sA.UNRECOGNIZED}}aa.signModeFromJSON=d2t;function f2t(e){switch(e){case sA.SIGN_MODE_UNSPECIFIED:return"SIGN_MODE_UNSPECIFIED";case sA.SIGN_MODE_DIRECT:return"SIGN_MODE_DIRECT";case sA.SIGN_MODE_TEXTUAL:return"SIGN_MODE_TEXTUAL";case sA.SIGN_MODE_DIRECT_AUX:return"SIGN_MODE_DIRECT_AUX";case sA.SIGN_MODE_LEGACY_AMINO_JSON:return"SIGN_MODE_LEGACY_AMINO_JSON";case sA.SIGN_MODE_EIP_191:return"SIGN_MODE_EIP_191";case sA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}aa.signModeToJSON=f2t;function IEe(){return{signatures:[]}}aa.SignatureDescriptors={typeUrl:"/cosmos.tx.signing.v1beta1.SignatureDescriptors",encode(e,t=WA.BinaryWriter.create()){for(let r of e.signatures)aa.SignatureDescriptor.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof WA.BinaryReader?e:new WA.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=IEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.signatures.push(aa.SignatureDescriptor.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=IEe();return Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>aa.SignatureDescriptor.fromJSON(r))),t},toJSON(e){let t={};return e.signatures?t.signatures=e.signatures.map(r=>r?aa.SignatureDescriptor.toJSON(r):void 0):t.signatures=[],t},fromPartial(e){let t=IEe();return t.signatures=e.signatures?.map(r=>aa.SignatureDescriptor.fromPartial(r))||[],t}};function CEe(){return{publicKey:void 0,data:void 0,sequence:BigInt(0)}}aa.SignatureDescriptor={typeUrl:"/cosmos.tx.signing.v1beta1.SignatureDescriptor",encode(e,t=WA.BinaryWriter.create()){return e.publicKey!==void 0&&MF.Any.encode(e.publicKey,t.uint32(10).fork()).ldelim(),e.data!==void 0&&aa.SignatureDescriptor_Data.encode(e.data,t.uint32(18).fork()).ldelim(),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof WA.BinaryReader?e:new WA.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=CEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.publicKey=MF.Any.decode(r,r.uint32());break;case 2:n.data=aa.SignatureDescriptor_Data.decode(r,r.uint32());break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=CEe();return(0,RE.isSet)(e.publicKey)&&(t.publicKey=MF.Any.fromJSON(e.publicKey)),(0,RE.isSet)(e.data)&&(t.data=aa.SignatureDescriptor_Data.fromJSON(e.data)),(0,RE.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.publicKey!==void 0&&(t.publicKey=e.publicKey?MF.Any.toJSON(e.publicKey):void 0),e.data!==void 0&&(t.data=e.data?aa.SignatureDescriptor_Data.toJSON(e.data):void 0),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=CEe();return e.publicKey!==void 0&&e.publicKey!==null&&(t.publicKey=MF.Any.fromPartial(e.publicKey)),e.data!==void 0&&e.data!==null&&(t.data=aa.SignatureDescriptor_Data.fromPartial(e.data)),e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function wEe(){return{single:void 0,multi:void 0}}aa.SignatureDescriptor_Data={typeUrl:"/cosmos.tx.signing.v1beta1.Data",encode(e,t=WA.BinaryWriter.create()){return e.single!==void 0&&aa.SignatureDescriptor_Data_Single.encode(e.single,t.uint32(10).fork()).ldelim(),e.multi!==void 0&&aa.SignatureDescriptor_Data_Multi.encode(e.multi,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof WA.BinaryReader?e:new WA.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.single=aa.SignatureDescriptor_Data_Single.decode(r,r.uint32());break;case 2:n.multi=aa.SignatureDescriptor_Data_Multi.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=wEe();return(0,RE.isSet)(e.single)&&(t.single=aa.SignatureDescriptor_Data_Single.fromJSON(e.single)),(0,RE.isSet)(e.multi)&&(t.multi=aa.SignatureDescriptor_Data_Multi.fromJSON(e.multi)),t},toJSON(e){let t={};return e.single!==void 0&&(t.single=e.single?aa.SignatureDescriptor_Data_Single.toJSON(e.single):void 0),e.multi!==void 0&&(t.multi=e.multi?aa.SignatureDescriptor_Data_Multi.toJSON(e.multi):void 0),t},fromPartial(e){let t=wEe();return e.single!==void 0&&e.single!==null&&(t.single=aa.SignatureDescriptor_Data_Single.fromPartial(e.single)),e.multi!==void 0&&e.multi!==null&&(t.multi=aa.SignatureDescriptor_Data_Multi.fromPartial(e.multi)),t}};function OEe(){return{mode:0,signature:new Uint8Array}}aa.SignatureDescriptor_Data_Single={typeUrl:"/cosmos.tx.signing.v1beta1.Single",encode(e,t=WA.BinaryWriter.create()){return e.mode!==0&&t.uint32(8).int32(e.mode),e.signature.length!==0&&t.uint32(18).bytes(e.signature),t},decode(e,t){let r=e instanceof WA.BinaryReader?e:new WA.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=OEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.mode=r.int32();break;case 2:n.signature=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=OEe();return(0,RE.isSet)(e.mode)&&(t.mode=d2t(e.mode)),(0,RE.isSet)(e.signature)&&(t.signature=(0,RE.bytesFromBase64)(e.signature)),t},toJSON(e){let t={};return e.mode!==void 0&&(t.mode=f2t(e.mode)),e.signature!==void 0&&(t.signature=(0,RE.base64FromBytes)(e.signature!==void 0?e.signature:new Uint8Array)),t},fromPartial(e){let t=OEe();return t.mode=e.mode??0,t.signature=e.signature??new Uint8Array,t}};function NEe(){return{bitarray:void 0,signatures:[]}}aa.SignatureDescriptor_Data_Multi={typeUrl:"/cosmos.tx.signing.v1beta1.Multi",encode(e,t=WA.BinaryWriter.create()){e.bitarray!==void 0&&BF.CompactBitArray.encode(e.bitarray,t.uint32(10).fork()).ldelim();for(let r of e.signatures)aa.SignatureDescriptor_Data.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof WA.BinaryReader?e:new WA.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=NEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.bitarray=BF.CompactBitArray.decode(r,r.uint32());break;case 2:n.signatures.push(aa.SignatureDescriptor_Data.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=NEe();return(0,RE.isSet)(e.bitarray)&&(t.bitarray=BF.CompactBitArray.fromJSON(e.bitarray)),Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>aa.SignatureDescriptor_Data.fromJSON(r))),t},toJSON(e){let t={};return e.bitarray!==void 0&&(t.bitarray=e.bitarray?BF.CompactBitArray.toJSON(e.bitarray):void 0),e.signatures?t.signatures=e.signatures.map(r=>r?aa.SignatureDescriptor_Data.toJSON(r):void 0):t.signatures=[],t},fromPartial(e){let t=NEe();return e.bitarray!==void 0&&e.bitarray!==null&&(t.bitarray=BF.CompactBitArray.fromPartial(e.bitarray)),t.signatures=e.signatures?.map(r=>aa.SignatureDescriptor_Data.fromPartial(r))||[],t}}});var Af=ir(l2=>{"use strict";J();K();z();Object.defineProperty(l2,"__esModule",{value:!0});l2.DecProto=l2.IntProto=l2.DecCoin=l2.Coin=l2.protobufPackage=void 0;var h2=Qi(),F7=Hi();l2.protobufPackage="cosmos.base.v1beta1";function xEe(){return{denom:"",amount:""}}l2.Coin={typeUrl:"/cosmos.base.v1beta1.Coin",encode(e,t=h2.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),e.amount!==""&&t.uint32(18).string(e.amount),t},decode(e,t){let r=e instanceof h2.BinaryReader?e:new h2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denom=r.string();break;case 2:n.amount=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=xEe();return(0,F7.isSet)(e.denom)&&(t.denom=String(e.denom)),(0,F7.isSet)(e.amount)&&(t.amount=String(e.amount)),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),e.amount!==void 0&&(t.amount=e.amount),t},fromPartial(e){let t=xEe();return t.denom=e.denom??"",t.amount=e.amount??"",t}};function TEe(){return{denom:"",amount:""}}l2.DecCoin={typeUrl:"/cosmos.base.v1beta1.DecCoin",encode(e,t=h2.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),e.amount!==""&&t.uint32(18).string(e.amount),t},decode(e,t){let r=e instanceof h2.BinaryReader?e:new h2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denom=r.string();break;case 2:n.amount=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=TEe();return(0,F7.isSet)(e.denom)&&(t.denom=String(e.denom)),(0,F7.isSet)(e.amount)&&(t.amount=String(e.amount)),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),e.amount!==void 0&&(t.amount=e.amount),t},fromPartial(e){let t=TEe();return t.denom=e.denom??"",t.amount=e.amount??"",t}};function BEe(){return{int:""}}l2.IntProto={typeUrl:"/cosmos.base.v1beta1.IntProto",encode(e,t=h2.BinaryWriter.create()){return e.int!==""&&t.uint32(10).string(e.int),t},decode(e,t){let r=e instanceof h2.BinaryReader?e:new h2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=BEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.int=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=BEe();return(0,F7.isSet)(e.int)&&(t.int=String(e.int)),t},toJSON(e){let t={};return e.int!==void 0&&(t.int=e.int),t},fromPartial(e){let t=BEe();return t.int=e.int??"",t}};function MEe(){return{dec:""}}l2.DecProto={typeUrl:"/cosmos.base.v1beta1.DecProto",encode(e,t=h2.BinaryWriter.create()){return e.dec!==""&&t.uint32(10).string(e.dec),t},decode(e,t){let r=e instanceof h2.BinaryReader?e:new h2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=MEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.dec=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=MEe();return(0,F7.isSet)(e.dec)&&(t.dec=String(e.dec)),t},toJSON(e){let t={};return e.dec!==void 0&&(t.dec=e.dec),t},fromPartial(e){let t=MEe();return t.dec=e.dec??"",t}}});var RS=ir(li=>{"use strict";J();K();z();Object.defineProperty(li,"__esModule",{value:!0});li.AuxSignerData=li.Tip=li.Fee=li.ModeInfo_Multi=li.ModeInfo_Single=li.ModeInfo=li.SignerInfo=li.AuthInfo=li.TxBody=li.SignDocDirectAux=li.SignDoc=li.TxRaw=li.Tx=li.protobufPackage=void 0;var a0=ru(),Aee=U7(),DF=hee(),SE=Af(),is=Qi(),Ko=Hi();li.protobufPackage="cosmos.tx.v1beta1";function DEe(){return{body:void 0,authInfo:void 0,signatures:[]}}li.Tx={typeUrl:"/cosmos.tx.v1beta1.Tx",encode(e,t=is.BinaryWriter.create()){e.body!==void 0&&li.TxBody.encode(e.body,t.uint32(10).fork()).ldelim(),e.authInfo!==void 0&&li.AuthInfo.encode(e.authInfo,t.uint32(18).fork()).ldelim();for(let r of e.signatures)t.uint32(26).bytes(r);return t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=DEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.body=li.TxBody.decode(r,r.uint32());break;case 2:n.authInfo=li.AuthInfo.decode(r,r.uint32());break;case 3:n.signatures.push(r.bytes());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=DEe();return(0,Ko.isSet)(e.body)&&(t.body=li.TxBody.fromJSON(e.body)),(0,Ko.isSet)(e.authInfo)&&(t.authInfo=li.AuthInfo.fromJSON(e.authInfo)),Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>(0,Ko.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.body!==void 0&&(t.body=e.body?li.TxBody.toJSON(e.body):void 0),e.authInfo!==void 0&&(t.authInfo=e.authInfo?li.AuthInfo.toJSON(e.authInfo):void 0),e.signatures?t.signatures=e.signatures.map(r=>(0,Ko.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.signatures=[],t},fromPartial(e){let t=DEe();return e.body!==void 0&&e.body!==null&&(t.body=li.TxBody.fromPartial(e.body)),e.authInfo!==void 0&&e.authInfo!==null&&(t.authInfo=li.AuthInfo.fromPartial(e.authInfo)),t.signatures=e.signatures?.map(r=>r)||[],t}};function kEe(){return{bodyBytes:new Uint8Array,authInfoBytes:new Uint8Array,signatures:[]}}li.TxRaw={typeUrl:"/cosmos.tx.v1beta1.TxRaw",encode(e,t=is.BinaryWriter.create()){e.bodyBytes.length!==0&&t.uint32(10).bytes(e.bodyBytes),e.authInfoBytes.length!==0&&t.uint32(18).bytes(e.authInfoBytes);for(let r of e.signatures)t.uint32(26).bytes(r);return t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.bodyBytes=r.bytes();break;case 2:n.authInfoBytes=r.bytes();break;case 3:n.signatures.push(r.bytes());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kEe();return(0,Ko.isSet)(e.bodyBytes)&&(t.bodyBytes=(0,Ko.bytesFromBase64)(e.bodyBytes)),(0,Ko.isSet)(e.authInfoBytes)&&(t.authInfoBytes=(0,Ko.bytesFromBase64)(e.authInfoBytes)),Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>(0,Ko.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.bodyBytes!==void 0&&(t.bodyBytes=(0,Ko.base64FromBytes)(e.bodyBytes!==void 0?e.bodyBytes:new Uint8Array)),e.authInfoBytes!==void 0&&(t.authInfoBytes=(0,Ko.base64FromBytes)(e.authInfoBytes!==void 0?e.authInfoBytes:new Uint8Array)),e.signatures?t.signatures=e.signatures.map(r=>(0,Ko.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.signatures=[],t},fromPartial(e){let t=kEe();return t.bodyBytes=e.bodyBytes??new Uint8Array,t.authInfoBytes=e.authInfoBytes??new Uint8Array,t.signatures=e.signatures?.map(r=>r)||[],t}};function PEe(){return{bodyBytes:new Uint8Array,authInfoBytes:new Uint8Array,chainId:"",accountNumber:BigInt(0)}}li.SignDoc={typeUrl:"/cosmos.tx.v1beta1.SignDoc",encode(e,t=is.BinaryWriter.create()){return e.bodyBytes.length!==0&&t.uint32(10).bytes(e.bodyBytes),e.authInfoBytes.length!==0&&t.uint32(18).bytes(e.authInfoBytes),e.chainId!==""&&t.uint32(26).string(e.chainId),e.accountNumber!==BigInt(0)&&t.uint32(32).uint64(e.accountNumber),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=PEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.bodyBytes=r.bytes();break;case 2:n.authInfoBytes=r.bytes();break;case 3:n.chainId=r.string();break;case 4:n.accountNumber=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=PEe();return(0,Ko.isSet)(e.bodyBytes)&&(t.bodyBytes=(0,Ko.bytesFromBase64)(e.bodyBytes)),(0,Ko.isSet)(e.authInfoBytes)&&(t.authInfoBytes=(0,Ko.bytesFromBase64)(e.authInfoBytes)),(0,Ko.isSet)(e.chainId)&&(t.chainId=String(e.chainId)),(0,Ko.isSet)(e.accountNumber)&&(t.accountNumber=BigInt(e.accountNumber.toString())),t},toJSON(e){let t={};return e.bodyBytes!==void 0&&(t.bodyBytes=(0,Ko.base64FromBytes)(e.bodyBytes!==void 0?e.bodyBytes:new Uint8Array)),e.authInfoBytes!==void 0&&(t.authInfoBytes=(0,Ko.base64FromBytes)(e.authInfoBytes!==void 0?e.authInfoBytes:new Uint8Array)),e.chainId!==void 0&&(t.chainId=e.chainId),e.accountNumber!==void 0&&(t.accountNumber=(e.accountNumber||BigInt(0)).toString()),t},fromPartial(e){let t=PEe();return t.bodyBytes=e.bodyBytes??new Uint8Array,t.authInfoBytes=e.authInfoBytes??new Uint8Array,t.chainId=e.chainId??"",e.accountNumber!==void 0&&e.accountNumber!==null&&(t.accountNumber=BigInt(e.accountNumber.toString())),t}};function LEe(){return{bodyBytes:new Uint8Array,publicKey:void 0,chainId:"",accountNumber:BigInt(0),sequence:BigInt(0),tip:void 0}}li.SignDocDirectAux={typeUrl:"/cosmos.tx.v1beta1.SignDocDirectAux",encode(e,t=is.BinaryWriter.create()){return e.bodyBytes.length!==0&&t.uint32(10).bytes(e.bodyBytes),e.publicKey!==void 0&&a0.Any.encode(e.publicKey,t.uint32(18).fork()).ldelim(),e.chainId!==""&&t.uint32(26).string(e.chainId),e.accountNumber!==BigInt(0)&&t.uint32(32).uint64(e.accountNumber),e.sequence!==BigInt(0)&&t.uint32(40).uint64(e.sequence),e.tip!==void 0&&li.Tip.encode(e.tip,t.uint32(50).fork()).ldelim(),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.bodyBytes=r.bytes();break;case 2:n.publicKey=a0.Any.decode(r,r.uint32());break;case 3:n.chainId=r.string();break;case 4:n.accountNumber=r.uint64();break;case 5:n.sequence=r.uint64();break;case 6:n.tip=li.Tip.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=LEe();return(0,Ko.isSet)(e.bodyBytes)&&(t.bodyBytes=(0,Ko.bytesFromBase64)(e.bodyBytes)),(0,Ko.isSet)(e.publicKey)&&(t.publicKey=a0.Any.fromJSON(e.publicKey)),(0,Ko.isSet)(e.chainId)&&(t.chainId=String(e.chainId)),(0,Ko.isSet)(e.accountNumber)&&(t.accountNumber=BigInt(e.accountNumber.toString())),(0,Ko.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),(0,Ko.isSet)(e.tip)&&(t.tip=li.Tip.fromJSON(e.tip)),t},toJSON(e){let t={};return e.bodyBytes!==void 0&&(t.bodyBytes=(0,Ko.base64FromBytes)(e.bodyBytes!==void 0?e.bodyBytes:new Uint8Array)),e.publicKey!==void 0&&(t.publicKey=e.publicKey?a0.Any.toJSON(e.publicKey):void 0),e.chainId!==void 0&&(t.chainId=e.chainId),e.accountNumber!==void 0&&(t.accountNumber=(e.accountNumber||BigInt(0)).toString()),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),e.tip!==void 0&&(t.tip=e.tip?li.Tip.toJSON(e.tip):void 0),t},fromPartial(e){let t=LEe();return t.bodyBytes=e.bodyBytes??new Uint8Array,e.publicKey!==void 0&&e.publicKey!==null&&(t.publicKey=a0.Any.fromPartial(e.publicKey)),t.chainId=e.chainId??"",e.accountNumber!==void 0&&e.accountNumber!==null&&(t.accountNumber=BigInt(e.accountNumber.toString())),e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),e.tip!==void 0&&e.tip!==null&&(t.tip=li.Tip.fromPartial(e.tip)),t}};function UEe(){return{messages:[],memo:"",timeoutHeight:BigInt(0),extensionOptions:[],nonCriticalExtensionOptions:[]}}li.TxBody={typeUrl:"/cosmos.tx.v1beta1.TxBody",encode(e,t=is.BinaryWriter.create()){for(let r of e.messages)a0.Any.encode(r,t.uint32(10).fork()).ldelim();e.memo!==""&&t.uint32(18).string(e.memo),e.timeoutHeight!==BigInt(0)&&t.uint32(24).uint64(e.timeoutHeight);for(let r of e.extensionOptions)a0.Any.encode(r,t.uint32(8186).fork()).ldelim();for(let r of e.nonCriticalExtensionOptions)a0.Any.encode(r,t.uint32(16378).fork()).ldelim();return t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=UEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.messages.push(a0.Any.decode(r,r.uint32()));break;case 2:n.memo=r.string();break;case 3:n.timeoutHeight=r.uint64();break;case 1023:n.extensionOptions.push(a0.Any.decode(r,r.uint32()));break;case 2047:n.nonCriticalExtensionOptions.push(a0.Any.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=UEe();return Array.isArray(e?.messages)&&(t.messages=e.messages.map(r=>a0.Any.fromJSON(r))),(0,Ko.isSet)(e.memo)&&(t.memo=String(e.memo)),(0,Ko.isSet)(e.timeoutHeight)&&(t.timeoutHeight=BigInt(e.timeoutHeight.toString())),Array.isArray(e?.extensionOptions)&&(t.extensionOptions=e.extensionOptions.map(r=>a0.Any.fromJSON(r))),Array.isArray(e?.nonCriticalExtensionOptions)&&(t.nonCriticalExtensionOptions=e.nonCriticalExtensionOptions.map(r=>a0.Any.fromJSON(r))),t},toJSON(e){let t={};return e.messages?t.messages=e.messages.map(r=>r?a0.Any.toJSON(r):void 0):t.messages=[],e.memo!==void 0&&(t.memo=e.memo),e.timeoutHeight!==void 0&&(t.timeoutHeight=(e.timeoutHeight||BigInt(0)).toString()),e.extensionOptions?t.extensionOptions=e.extensionOptions.map(r=>r?a0.Any.toJSON(r):void 0):t.extensionOptions=[],e.nonCriticalExtensionOptions?t.nonCriticalExtensionOptions=e.nonCriticalExtensionOptions.map(r=>r?a0.Any.toJSON(r):void 0):t.nonCriticalExtensionOptions=[],t},fromPartial(e){let t=UEe();return t.messages=e.messages?.map(r=>a0.Any.fromPartial(r))||[],t.memo=e.memo??"",e.timeoutHeight!==void 0&&e.timeoutHeight!==null&&(t.timeoutHeight=BigInt(e.timeoutHeight.toString())),t.extensionOptions=e.extensionOptions?.map(r=>a0.Any.fromPartial(r))||[],t.nonCriticalExtensionOptions=e.nonCriticalExtensionOptions?.map(r=>a0.Any.fromPartial(r))||[],t}};function FEe(){return{signerInfos:[],fee:void 0,tip:void 0}}li.AuthInfo={typeUrl:"/cosmos.tx.v1beta1.AuthInfo",encode(e,t=is.BinaryWriter.create()){for(let r of e.signerInfos)li.SignerInfo.encode(r,t.uint32(10).fork()).ldelim();return e.fee!==void 0&&li.Fee.encode(e.fee,t.uint32(18).fork()).ldelim(),e.tip!==void 0&&li.Tip.encode(e.tip,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=FEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.signerInfos.push(li.SignerInfo.decode(r,r.uint32()));break;case 2:n.fee=li.Fee.decode(r,r.uint32());break;case 3:n.tip=li.Tip.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=FEe();return Array.isArray(e?.signerInfos)&&(t.signerInfos=e.signerInfos.map(r=>li.SignerInfo.fromJSON(r))),(0,Ko.isSet)(e.fee)&&(t.fee=li.Fee.fromJSON(e.fee)),(0,Ko.isSet)(e.tip)&&(t.tip=li.Tip.fromJSON(e.tip)),t},toJSON(e){let t={};return e.signerInfos?t.signerInfos=e.signerInfos.map(r=>r?li.SignerInfo.toJSON(r):void 0):t.signerInfos=[],e.fee!==void 0&&(t.fee=e.fee?li.Fee.toJSON(e.fee):void 0),e.tip!==void 0&&(t.tip=e.tip?li.Tip.toJSON(e.tip):void 0),t},fromPartial(e){let t=FEe();return t.signerInfos=e.signerInfos?.map(r=>li.SignerInfo.fromPartial(r))||[],e.fee!==void 0&&e.fee!==null&&(t.fee=li.Fee.fromPartial(e.fee)),e.tip!==void 0&&e.tip!==null&&(t.tip=li.Tip.fromPartial(e.tip)),t}};function QEe(){return{publicKey:void 0,modeInfo:void 0,sequence:BigInt(0)}}li.SignerInfo={typeUrl:"/cosmos.tx.v1beta1.SignerInfo",encode(e,t=is.BinaryWriter.create()){return e.publicKey!==void 0&&a0.Any.encode(e.publicKey,t.uint32(10).fork()).ldelim(),e.modeInfo!==void 0&&li.ModeInfo.encode(e.modeInfo,t.uint32(18).fork()).ldelim(),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=QEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.publicKey=a0.Any.decode(r,r.uint32());break;case 2:n.modeInfo=li.ModeInfo.decode(r,r.uint32());break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=QEe();return(0,Ko.isSet)(e.publicKey)&&(t.publicKey=a0.Any.fromJSON(e.publicKey)),(0,Ko.isSet)(e.modeInfo)&&(t.modeInfo=li.ModeInfo.fromJSON(e.modeInfo)),(0,Ko.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.publicKey!==void 0&&(t.publicKey=e.publicKey?a0.Any.toJSON(e.publicKey):void 0),e.modeInfo!==void 0&&(t.modeInfo=e.modeInfo?li.ModeInfo.toJSON(e.modeInfo):void 0),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=QEe();return e.publicKey!==void 0&&e.publicKey!==null&&(t.publicKey=a0.Any.fromPartial(e.publicKey)),e.modeInfo!==void 0&&e.modeInfo!==null&&(t.modeInfo=li.ModeInfo.fromPartial(e.modeInfo)),e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function HEe(){return{single:void 0,multi:void 0}}li.ModeInfo={typeUrl:"/cosmos.tx.v1beta1.ModeInfo",encode(e,t=is.BinaryWriter.create()){return e.single!==void 0&&li.ModeInfo_Single.encode(e.single,t.uint32(10).fork()).ldelim(),e.multi!==void 0&&li.ModeInfo_Multi.encode(e.multi,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.single=li.ModeInfo_Single.decode(r,r.uint32());break;case 2:n.multi=li.ModeInfo_Multi.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=HEe();return(0,Ko.isSet)(e.single)&&(t.single=li.ModeInfo_Single.fromJSON(e.single)),(0,Ko.isSet)(e.multi)&&(t.multi=li.ModeInfo_Multi.fromJSON(e.multi)),t},toJSON(e){let t={};return e.single!==void 0&&(t.single=e.single?li.ModeInfo_Single.toJSON(e.single):void 0),e.multi!==void 0&&(t.multi=e.multi?li.ModeInfo_Multi.toJSON(e.multi):void 0),t},fromPartial(e){let t=HEe();return e.single!==void 0&&e.single!==null&&(t.single=li.ModeInfo_Single.fromPartial(e.single)),e.multi!==void 0&&e.multi!==null&&(t.multi=li.ModeInfo_Multi.fromPartial(e.multi)),t}};function GEe(){return{mode:0}}li.ModeInfo_Single={typeUrl:"/cosmos.tx.v1beta1.Single",encode(e,t=is.BinaryWriter.create()){return e.mode!==0&&t.uint32(8).int32(e.mode),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.mode=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=GEe();return(0,Ko.isSet)(e.mode)&&(t.mode=(0,Aee.signModeFromJSON)(e.mode)),t},toJSON(e){let t={};return e.mode!==void 0&&(t.mode=(0,Aee.signModeToJSON)(e.mode)),t},fromPartial(e){let t=GEe();return t.mode=e.mode??0,t}};function qEe(){return{bitarray:void 0,modeInfos:[]}}li.ModeInfo_Multi={typeUrl:"/cosmos.tx.v1beta1.Multi",encode(e,t=is.BinaryWriter.create()){e.bitarray!==void 0&&DF.CompactBitArray.encode(e.bitarray,t.uint32(10).fork()).ldelim();for(let r of e.modeInfos)li.ModeInfo.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.bitarray=DF.CompactBitArray.decode(r,r.uint32());break;case 2:n.modeInfos.push(li.ModeInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qEe();return(0,Ko.isSet)(e.bitarray)&&(t.bitarray=DF.CompactBitArray.fromJSON(e.bitarray)),Array.isArray(e?.modeInfos)&&(t.modeInfos=e.modeInfos.map(r=>li.ModeInfo.fromJSON(r))),t},toJSON(e){let t={};return e.bitarray!==void 0&&(t.bitarray=e.bitarray?DF.CompactBitArray.toJSON(e.bitarray):void 0),e.modeInfos?t.modeInfos=e.modeInfos.map(r=>r?li.ModeInfo.toJSON(r):void 0):t.modeInfos=[],t},fromPartial(e){let t=qEe();return e.bitarray!==void 0&&e.bitarray!==null&&(t.bitarray=DF.CompactBitArray.fromPartial(e.bitarray)),t.modeInfos=e.modeInfos?.map(r=>li.ModeInfo.fromPartial(r))||[],t}};function VEe(){return{amount:[],gasLimit:BigInt(0),payer:"",granter:""}}li.Fee={typeUrl:"/cosmos.tx.v1beta1.Fee",encode(e,t=is.BinaryWriter.create()){for(let r of e.amount)SE.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.gasLimit!==BigInt(0)&&t.uint32(16).uint64(e.gasLimit),e.payer!==""&&t.uint32(26).string(e.payer),e.granter!==""&&t.uint32(34).string(e.granter),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.amount.push(SE.Coin.decode(r,r.uint32()));break;case 2:n.gasLimit=r.uint64();break;case 3:n.payer=r.string();break;case 4:n.granter=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=VEe();return Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>SE.Coin.fromJSON(r))),(0,Ko.isSet)(e.gasLimit)&&(t.gasLimit=BigInt(e.gasLimit.toString())),(0,Ko.isSet)(e.payer)&&(t.payer=String(e.payer)),(0,Ko.isSet)(e.granter)&&(t.granter=String(e.granter)),t},toJSON(e){let t={};return e.amount?t.amount=e.amount.map(r=>r?SE.Coin.toJSON(r):void 0):t.amount=[],e.gasLimit!==void 0&&(t.gasLimit=(e.gasLimit||BigInt(0)).toString()),e.payer!==void 0&&(t.payer=e.payer),e.granter!==void 0&&(t.granter=e.granter),t},fromPartial(e){let t=VEe();return t.amount=e.amount?.map(r=>SE.Coin.fromPartial(r))||[],e.gasLimit!==void 0&&e.gasLimit!==null&&(t.gasLimit=BigInt(e.gasLimit.toString())),t.payer=e.payer??"",t.granter=e.granter??"",t}};function JEe(){return{amount:[],tipper:""}}li.Tip={typeUrl:"/cosmos.tx.v1beta1.Tip",encode(e,t=is.BinaryWriter.create()){for(let r of e.amount)SE.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.tipper!==""&&t.uint32(18).string(e.tipper),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=JEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.amount.push(SE.Coin.decode(r,r.uint32()));break;case 2:n.tipper=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=JEe();return Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>SE.Coin.fromJSON(r))),(0,Ko.isSet)(e.tipper)&&(t.tipper=String(e.tipper)),t},toJSON(e){let t={};return e.amount?t.amount=e.amount.map(r=>r?SE.Coin.toJSON(r):void 0):t.amount=[],e.tipper!==void 0&&(t.tipper=e.tipper),t},fromPartial(e){let t=JEe();return t.amount=e.amount?.map(r=>SE.Coin.fromPartial(r))||[],t.tipper=e.tipper??"",t}};function zEe(){return{address:"",signDoc:void 0,mode:0,sig:new Uint8Array}}li.AuxSignerData={typeUrl:"/cosmos.tx.v1beta1.AuxSignerData",encode(e,t=is.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.signDoc!==void 0&&li.SignDocDirectAux.encode(e.signDoc,t.uint32(18).fork()).ldelim(),e.mode!==0&&t.uint32(24).int32(e.mode),e.sig.length!==0&&t.uint32(34).bytes(e.sig),t},decode(e,t){let r=e instanceof is.BinaryReader?e:new is.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zEe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.signDoc=li.SignDocDirectAux.decode(r,r.uint32());break;case 3:n.mode=r.int32();break;case 4:n.sig=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=zEe();return(0,Ko.isSet)(e.address)&&(t.address=String(e.address)),(0,Ko.isSet)(e.signDoc)&&(t.signDoc=li.SignDocDirectAux.fromJSON(e.signDoc)),(0,Ko.isSet)(e.mode)&&(t.mode=(0,Aee.signModeFromJSON)(e.mode)),(0,Ko.isSet)(e.sig)&&(t.sig=(0,Ko.bytesFromBase64)(e.sig)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.signDoc!==void 0&&(t.signDoc=e.signDoc?li.SignDocDirectAux.toJSON(e.signDoc):void 0),e.mode!==void 0&&(t.mode=(0,Aee.signModeToJSON)(e.mode)),e.sig!==void 0&&(t.sig=(0,Ko.base64FromBytes)(e.sig!==void 0?e.sig:new Uint8Array)),t},fromPartial(e){let t=zEe();return t.address=e.address??"",e.signDoc!==void 0&&e.signDoc!==null&&(t.signDoc=li.SignDocDirectAux.fromPartial(e.signDoc)),t.mode=e.mode??0,t.sig=e.sig??new Uint8Array,t}}});var l2t=ir(pee=>{"use strict";J();K();z();Object.defineProperty(pee,"__esModule",{value:!0});pee.decodeTxRaw=void 0;var KEe=RS();function AAn(e){let t=KEe.TxRaw.decode(e);return{authInfo:KEe.AuthInfo.decode(t.authInfoBytes),body:KEe.TxBody.decode(t.bodyBytes),signatures:t.signatures}}pee.decodeTxRaw=AAn});var _ee=ir(e8=>{"use strict";J();K();z();Object.defineProperty(e8,"__esModule",{value:!0});e8.makeSignBytes=e8.makeSignDoc=e8.makeAuthInfoBytes=void 0;var h2t=Uf(),pAn=U7(),gee=RS();function gAn(e,t){return e.map(({pubkey:r,sequence:i})=>({publicKey:r,modeInfo:{single:{mode:t}},sequence:BigInt(i)}))}function _An(e,t,r,i,n,o=pAn.SignMode.SIGN_MODE_DIRECT){(0,h2t.assert)(i===void 0||typeof i=="string","feeGranter must be undefined or string"),(0,h2t.assert)(n===void 0||typeof n=="string","feePayer must be undefined or string");let d=gee.AuthInfo.fromPartial({signerInfos:gAn(e,o),fee:{amount:[...t],gasLimit:BigInt(r),granter:i,payer:n}});return gee.AuthInfo.encode(d).finish()}e8.makeAuthInfoBytes=_An;function mAn(e,t,r,i){return{bodyBytes:e,authInfoBytes:t,chainId:r,accountNumber:BigInt(i)}}e8.makeSignDoc=mAn;function yAn({accountNumber:e,authInfoBytes:t,bodyBytes:r,chainId:i}){let n=gee.SignDoc.fromPartial({accountNumber:e,authInfoBytes:t,bodyBytes:r,chainId:i});return gee.SignDoc.encode(n).finish()}e8.makeSignBytes=yAn});var $Ee=ir(XA=>{"use strict";J();K();z();Object.defineProperty(XA,"__esModule",{value:!0});XA.decrypt=XA.encrypt=XA.supportedAlgorithms=XA.executeKdf=XA.cosmjsSalt=void 0;var t8=$l(),bAn=Ps();XA.cosmjsSalt=(0,bAn.toAscii)("The CosmJS salt.");async function EAn(e,t){switch(t.algorithm){case"argon2id":{let r=t.params;if(!(0,t8.isArgon2idOptions)(r))throw new Error("Invalid format of argon2id params");return t8.Argon2id.execute(e,XA.cosmjsSalt,r)}default:throw new Error("Unsupported KDF algorithm")}}XA.executeKdf=EAn;XA.supportedAlgorithms={xchacha20poly1305Ietf:"xchacha20poly1305-ietf"};async function vAn(e,t,r){if(r.algorithm===XA.supportedAlgorithms.xchacha20poly1305Ietf){let i=t8.Random.getBytes(t8.xchacha20NonceLength);return new Uint8Array([...i,...await t8.Xchacha20poly1305Ietf.encrypt(e,t,i)])}else throw new Error(`Unsupported encryption algorithm: '${r.algorithm}'`)}XA.encrypt=vAn;async function RAn(e,t,r){if(r.algorithm===XA.supportedAlgorithms.xchacha20poly1305Ietf){let i=e.slice(0,t8.xchacha20NonceLength);return t8.Xchacha20poly1305Ietf.decrypt(e.slice(t8.xchacha20NonceLength),t,i)}else throw new Error(`Unsupported encryption algorithm: '${r.algorithm}'`)}XA.decrypt=RAn});var p2t=ir(H7=>{"use strict";J();K();z();Object.defineProperty(H7,"__esModule",{value:!0});H7.DirectSecp256k1HdWallet=H7.extractKdfConfiguration=void 0;var YEe=R_(),A2=$l(),kF=Ps(),Q7=Uf(),SAn=_ee(),PF=$Ee(),mee="directsecp256k1hdwallet-v1",IAn={algorithm:"argon2id",params:{outputLength:32,opsLimit:24,memLimitKib:12*1024}};function CAn(e){return!(!(0,Q7.isNonNullObject)(e)||typeof e.hdPath!="string"||typeof e.prefix!="string")}function wAn(e){return e.kdf}function OAn(e){let t=JSON.parse(e);if(!(0,Q7.isNonNullObject)(t))throw new Error("Root document is not an object.");if(t.type===mee)return wAn(t);throw new Error("Unsupported serialization type")}H7.extractKdfConfiguration=OAn;var A2t={bip39Password:"",hdPaths:[(0,YEe.makeCosmoshubPath)(0)],prefix:"cosmos"},WEe=class e{static async fromMnemonic(t,r={}){let i=new A2.EnglishMnemonic(t),n=await A2.Bip39.mnemonicToSeed(i,r.bip39Password);return new e(i,{...r,seed:n})}static async generate(t=12,r={}){let i=4*Math.floor(11*t/33),n=A2.Random.getBytes(i),o=A2.Bip39.encode(n);return e.fromMnemonic(o.toString(),r)}static async deserialize(t,r){let i=JSON.parse(t);if(!(0,Q7.isNonNullObject)(i))throw new Error("Root document is not an object.");if(i.type===mee)return e.deserializeTypeV1(t,r);throw new Error("Unsupported serialization type")}static async deserializeWithEncryptionKey(t,r){let i=JSON.parse(t);if(!(0,Q7.isNonNullObject)(i))throw new Error("Root document is not an object.");let n=i;switch(n.type){case mee:{let o=await(0,PF.decrypt)((0,kF.fromBase64)(n.data),r,n.encryption),d=JSON.parse((0,kF.fromUtf8)(o)),{mnemonic:g,accounts:y}=d;if((0,Q7.assert)(typeof g=="string"),!Array.isArray(y))throw new Error("Property 'accounts' is not an array");if(!y.every(N=>CAn(N)))throw new Error("Account is not in the correct format.");let _=y[0].prefix;if(!y.every(({prefix:N})=>N===_))throw new Error("Accounts do not all have the same prefix");let I=y.map(({hdPath:N})=>(0,A2.stringToPath)(N));return e.fromMnemonic(g,{hdPaths:I,prefix:_})}default:throw new Error("Unsupported serialization type")}}static async deserializeTypeV1(t,r){let i=JSON.parse(t);if(!(0,Q7.isNonNullObject)(i))throw new Error("Root document is not an object.");let n=await(0,PF.executeKdf)(r,i.kdf);return e.deserializeWithEncryptionKey(t,n)}constructor(t,r){let i=r.prefix??A2t.prefix,n=r.hdPaths??A2t.hdPaths;this.secret=t,this.seed=r.seed,this.accounts=n.map(o=>({hdPath:o,prefix:i}))}get mnemonic(){return this.secret.toString()}async getAccounts(){return(await this.getAccountsWithPrivkeys()).map(({algo:r,pubkey:i,address:n})=>({algo:r,pubkey:i,address:n}))}async signDirect(t,r){let n=(await this.getAccountsWithPrivkeys()).find(({address:T})=>T===t);if(n===void 0)throw new Error(`Address ${t} not found in wallet`);let{privkey:o,pubkey:d}=n,g=(0,SAn.makeSignBytes)(r),y=(0,A2.sha256)(g),_=await A2.Secp256k1.createSignature(y,o),I=new Uint8Array([..._.r(32),..._.s(32)]),N=(0,YEe.encodeSecp256k1Signature)(d,I);return{signed:r,signature:N}}async serialize(t){let r=IAn,i=await(0,PF.executeKdf)(t,r);return this.serializeWithEncryptionKey(i,r)}async serializeWithEncryptionKey(t,r){let i={mnemonic:this.mnemonic,accounts:this.accounts.map(({hdPath:y,prefix:_})=>({hdPath:(0,A2.pathToString)(y),prefix:_}))},n=(0,kF.toUtf8)(JSON.stringify(i)),o={algorithm:PF.supportedAlgorithms.xchacha20poly1305Ietf},d=await(0,PF.encrypt)(n,t,o),g={type:mee,kdf:r,encryption:o,data:(0,kF.toBase64)(d)};return JSON.stringify(g)}async getKeyPair(t){let{privkey:r}=A2.Slip10.derivePath(A2.Slip10Curve.Secp256k1,this.seed,t),{pubkey:i}=await A2.Secp256k1.makeKeypair(r);return{privkey:r,pubkey:A2.Secp256k1.compressPubkey(i)}}async getAccountsWithPrivkeys(){return Promise.all(this.accounts.map(async({hdPath:t,prefix:r})=>{let{privkey:i,pubkey:n}=await this.getKeyPair(t),o=(0,kF.toBech32)(r,(0,YEe.rawSecp256k1PubkeyToRawAddress)(n));return{algo:"secp256k1",privkey:i,pubkey:n,address:o}}))}};H7.DirectSecp256k1HdWallet=WEe});var _2t=ir(bee=>{"use strict";J();K();z();Object.defineProperty(bee,"__esModule",{value:!0});bee.DirectSecp256k1Wallet=void 0;var g2t=R_(),yee=$l(),NAn=Ps(),xAn=_ee(),XEe=class e{static async fromKey(t,r="cosmos"){let i=(await yee.Secp256k1.makeKeypair(t)).pubkey;return new e(t,yee.Secp256k1.compressPubkey(i),r)}constructor(t,r,i){this.privkey=t,this.pubkey=r,this.prefix=i}get address(){return(0,NAn.toBech32)(this.prefix,(0,g2t.rawSecp256k1PubkeyToRawAddress)(this.pubkey))}async getAccounts(){return[{algo:"secp256k1",address:this.address,pubkey:this.pubkey}]}async signDirect(t,r){let i=(0,xAn.makeSignBytes)(r);if(t!==this.address)throw new Error(`Address ${t} not found in wallet`);let n=(0,yee.sha256)(i),o=await yee.Secp256k1.createSignature(n,this.privkey),d=new Uint8Array([...o.r(32),...o.s(32)]),g=(0,g2t.encodeSecp256k1Signature)(this.pubkey,d);return{signed:r,signature:g}}};bee.DirectSecp256k1Wallet=XEe});var m2t=ir(Eee=>{"use strict";J();K();z();Object.defineProperty(Eee,"__esModule",{value:!0});Eee.makeCosmoshubPath=void 0;var LF=$l();function TAn(e){return[LF.Slip10RawIndex.hardened(44),LF.Slip10RawIndex.hardened(118),LF.Slip10RawIndex.hardened(0),LF.Slip10RawIndex.normal(0),LF.Slip10RawIndex.normal(e)]}Eee.makeCosmoshubPath=TAn});var y2t=ir(r8=>{"use strict";J();K();z();Object.defineProperty(r8,"__esModule",{value:!0});r8.PrivKey=r8.PubKey=r8.protobufPackage=void 0;var G7=Qi(),q7=Hi();r8.protobufPackage="cosmos.crypto.ed25519";function ZEe(){return{key:new Uint8Array}}r8.PubKey={typeUrl:"/cosmos.crypto.ed25519.PubKey",encode(e,t=G7.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),t},decode(e,t){let r=e instanceof G7.BinaryReader?e:new G7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.key=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=ZEe();return(0,q7.isSet)(e.key)&&(t.key=(0,q7.bytesFromBase64)(e.key)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,q7.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),t},fromPartial(e){let t=ZEe();return t.key=e.key??new Uint8Array,t}};function jEe(){return{key:new Uint8Array}}r8.PrivKey={typeUrl:"/cosmos.crypto.ed25519.PrivKey",encode(e,t=G7.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),t},decode(e,t){let r=e instanceof G7.BinaryReader?e:new G7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jEe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.key=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=jEe();return(0,q7.isSet)(e.key)&&(t.key=(0,q7.bytesFromBase64)(e.key)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,q7.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),t},fromPartial(e){let t=jEe();return t.key=e.key??new Uint8Array,t}}});var b2t=ir(V7=>{"use strict";J();K();z();Object.defineProperty(V7,"__esModule",{value:!0});V7.LegacyAminoPubKey=V7.protobufPackage=void 0;var UF=ru(),eve=Qi(),BAn=Hi();V7.protobufPackage="cosmos.crypto.multisig";function tve(){return{threshold:0,publicKeys:[]}}V7.LegacyAminoPubKey={typeUrl:"/cosmos.crypto.multisig.LegacyAminoPubKey",encode(e,t=eve.BinaryWriter.create()){e.threshold!==0&&t.uint32(8).uint32(e.threshold);for(let r of e.publicKeys)UF.Any.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof eve.BinaryReader?e:new eve.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.threshold=r.uint32();break;case 2:n.publicKeys.push(UF.Any.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=tve();return(0,BAn.isSet)(e.threshold)&&(t.threshold=Number(e.threshold)),Array.isArray(e?.publicKeys)&&(t.publicKeys=e.publicKeys.map(r=>UF.Any.fromJSON(r))),t},toJSON(e){let t={};return e.threshold!==void 0&&(t.threshold=Math.round(e.threshold)),e.publicKeys?t.publicKeys=e.publicKeys.map(r=>r?UF.Any.toJSON(r):void 0):t.publicKeys=[],t},fromPartial(e){let t=tve();return t.threshold=e.threshold??0,t.publicKeys=e.publicKeys?.map(r=>UF.Any.fromPartial(r))||[],t}}});var E2t=ir(n8=>{"use strict";J();K();z();Object.defineProperty(n8,"__esModule",{value:!0});n8.PrivKey=n8.PubKey=n8.protobufPackage=void 0;var J7=Qi(),z7=Hi();n8.protobufPackage="cosmos.crypto.secp256k1";function rve(){return{key:new Uint8Array}}n8.PubKey={typeUrl:"/cosmos.crypto.secp256k1.PubKey",encode(e,t=J7.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),t},decode(e,t){let r=e instanceof J7.BinaryReader?e:new J7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.key=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=rve();return(0,z7.isSet)(e.key)&&(t.key=(0,z7.bytesFromBase64)(e.key)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,z7.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),t},fromPartial(e){let t=rve();return t.key=e.key??new Uint8Array,t}};function nve(){return{key:new Uint8Array}}n8.PrivKey={typeUrl:"/cosmos.crypto.secp256k1.PrivKey",encode(e,t=J7.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),t},decode(e,t){let r=e instanceof J7.BinaryReader?e:new J7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.key=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=nve();return(0,z7.isSet)(e.key)&&(t.key=(0,z7.bytesFromBase64)(e.key)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,z7.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),t},fromPartial(e){let t=nve();return t.key=e.key??new Uint8Array,t}}});var I2t=ir(IE=>{"use strict";J();K();z();Object.defineProperty(IE,"__esModule",{value:!0});IE.decodeOptionalPubkey=IE.decodePubkey=IE.anyToSinglePubkey=IE.encodePubkey=void 0;var FF=R_(),v2t=Ps(),MAn=Uh(),ove=y2t(),ave=b2t(),sve=E2t(),ive=ru();function R2t(e){if((0,FF.isSecp256k1Pubkey)(e)){let t=sve.PubKey.fromPartial({key:(0,v2t.fromBase64)(e.value)});return ive.Any.fromPartial({typeUrl:"/cosmos.crypto.secp256k1.PubKey",value:Uint8Array.from(sve.PubKey.encode(t).finish())})}else if((0,FF.isEd25519Pubkey)(e)){let t=ove.PubKey.fromPartial({key:(0,v2t.fromBase64)(e.value)});return ive.Any.fromPartial({typeUrl:"/cosmos.crypto.ed25519.PubKey",value:Uint8Array.from(ove.PubKey.encode(t).finish())})}else if((0,FF.isMultisigThresholdPubkey)(e)){let t=ave.LegacyAminoPubKey.fromPartial({threshold:MAn.Uint53.fromString(e.value.threshold).toNumber(),publicKeys:e.value.pubkeys.map(R2t)});return ive.Any.fromPartial({typeUrl:"/cosmos.crypto.multisig.LegacyAminoPubKey",value:Uint8Array.from(ave.LegacyAminoPubKey.encode(t).finish())})}else throw new Error(`Pubkey type ${e.type} not recognized`)}IE.encodePubkey=R2t;function cve(e){switch(e.typeUrl){case"/cosmos.crypto.secp256k1.PubKey":{let{key:t}=sve.PubKey.decode(e.value);return(0,FF.encodeSecp256k1Pubkey)(t)}case"/cosmos.crypto.ed25519.PubKey":{let{key:t}=ove.PubKey.decode(e.value);return(0,FF.encodeEd25519Pubkey)(t)}default:throw new Error(`Pubkey type_url ${e.typeUrl} not recognized as single public key type`)}}IE.anyToSinglePubkey=cve;function S2t(e){switch(e.typeUrl){case"/cosmos.crypto.secp256k1.PubKey":case"/cosmos.crypto.ed25519.PubKey":return cve(e);case"/cosmos.crypto.multisig.LegacyAminoPubKey":{let{threshold:t,publicKeys:r}=ave.LegacyAminoPubKey.decode(e.value);return{type:"tendermint/PubKeyMultisigThreshold",value:{threshold:t.toString(),pubkeys:r.map(cve)}}}default:throw new Error(`Pubkey type URL '${e.typeUrl}' not recognized`)}}IE.decodePubkey=S2t;function DAn(e){if(!e)return null;if(e.typeUrl){if(e.value.length)return S2t(e);throw new Error(`Pubkey is an Any with type URL '${e.typeUrl}' but an empty value`)}else{if(e.value.length)throw new Error("Pubkey is an Any with an empty type URL but a value set");return null}}IE.decodeOptionalPubkey=DAn});var gve=ir(_u=>{"use strict";J();K();z();Object.defineProperty(_u,"__esModule",{value:!0});_u.Metadata=_u.DenomUnit=_u.Supply=_u.Output=_u.Input=_u.SendEnabled=_u.Params=_u.protobufPackage=void 0;var ZA=Af(),Fd=Qi(),a1=Hi();_u.protobufPackage="cosmos.bank.v1beta1";function uve(){return{sendEnabled:[],defaultSendEnabled:!1}}_u.Params={typeUrl:"/cosmos.bank.v1beta1.Params",encode(e,t=Fd.BinaryWriter.create()){for(let r of e.sendEnabled)_u.SendEnabled.encode(r,t.uint32(10).fork()).ldelim();return e.defaultSendEnabled===!0&&t.uint32(16).bool(e.defaultSendEnabled),t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.sendEnabled.push(_u.SendEnabled.decode(r,r.uint32()));break;case 2:n.defaultSendEnabled=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=uve();return Array.isArray(e?.sendEnabled)&&(t.sendEnabled=e.sendEnabled.map(r=>_u.SendEnabled.fromJSON(r))),(0,a1.isSet)(e.defaultSendEnabled)&&(t.defaultSendEnabled=!!e.defaultSendEnabled),t},toJSON(e){let t={};return e.sendEnabled?t.sendEnabled=e.sendEnabled.map(r=>r?_u.SendEnabled.toJSON(r):void 0):t.sendEnabled=[],e.defaultSendEnabled!==void 0&&(t.defaultSendEnabled=e.defaultSendEnabled),t},fromPartial(e){let t=uve();return t.sendEnabled=e.sendEnabled?.map(r=>_u.SendEnabled.fromPartial(r))||[],t.defaultSendEnabled=e.defaultSendEnabled??!1,t}};function dve(){return{denom:"",enabled:!1}}_u.SendEnabled={typeUrl:"/cosmos.bank.v1beta1.SendEnabled",encode(e,t=Fd.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),e.enabled===!0&&t.uint32(16).bool(e.enabled),t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denom=r.string();break;case 2:n.enabled=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=dve();return(0,a1.isSet)(e.denom)&&(t.denom=String(e.denom)),(0,a1.isSet)(e.enabled)&&(t.enabled=!!e.enabled),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),e.enabled!==void 0&&(t.enabled=e.enabled),t},fromPartial(e){let t=dve();return t.denom=e.denom??"",t.enabled=e.enabled??!1,t}};function fve(){return{address:"",coins:[]}}_u.Input={typeUrl:"/cosmos.bank.v1beta1.Input",encode(e,t=Fd.BinaryWriter.create()){e.address!==""&&t.uint32(10).string(e.address);for(let r of e.coins)ZA.Coin.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.coins.push(ZA.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=fve();return(0,a1.isSet)(e.address)&&(t.address=String(e.address)),Array.isArray(e?.coins)&&(t.coins=e.coins.map(r=>ZA.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.coins?t.coins=e.coins.map(r=>r?ZA.Coin.toJSON(r):void 0):t.coins=[],t},fromPartial(e){let t=fve();return t.address=e.address??"",t.coins=e.coins?.map(r=>ZA.Coin.fromPartial(r))||[],t}};function lve(){return{address:"",coins:[]}}_u.Output={typeUrl:"/cosmos.bank.v1beta1.Output",encode(e,t=Fd.BinaryWriter.create()){e.address!==""&&t.uint32(10).string(e.address);for(let r of e.coins)ZA.Coin.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=lve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.coins.push(ZA.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=lve();return(0,a1.isSet)(e.address)&&(t.address=String(e.address)),Array.isArray(e?.coins)&&(t.coins=e.coins.map(r=>ZA.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.coins?t.coins=e.coins.map(r=>r?ZA.Coin.toJSON(r):void 0):t.coins=[],t},fromPartial(e){let t=lve();return t.address=e.address??"",t.coins=e.coins?.map(r=>ZA.Coin.fromPartial(r))||[],t}};function hve(){return{total:[]}}_u.Supply={typeUrl:"/cosmos.bank.v1beta1.Supply",encode(e,t=Fd.BinaryWriter.create()){for(let r of e.total)ZA.Coin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.total.push(ZA.Coin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=hve();return Array.isArray(e?.total)&&(t.total=e.total.map(r=>ZA.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.total?t.total=e.total.map(r=>r?ZA.Coin.toJSON(r):void 0):t.total=[],t},fromPartial(e){let t=hve();return t.total=e.total?.map(r=>ZA.Coin.fromPartial(r))||[],t}};function Ave(){return{denom:"",exponent:0,aliases:[]}}_u.DenomUnit={typeUrl:"/cosmos.bank.v1beta1.DenomUnit",encode(e,t=Fd.BinaryWriter.create()){e.denom!==""&&t.uint32(10).string(e.denom),e.exponent!==0&&t.uint32(16).uint32(e.exponent);for(let r of e.aliases)t.uint32(26).string(r);return t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Ave();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denom=r.string();break;case 2:n.exponent=r.uint32();break;case 3:n.aliases.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Ave();return(0,a1.isSet)(e.denom)&&(t.denom=String(e.denom)),(0,a1.isSet)(e.exponent)&&(t.exponent=Number(e.exponent)),Array.isArray(e?.aliases)&&(t.aliases=e.aliases.map(r=>String(r))),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),e.exponent!==void 0&&(t.exponent=Math.round(e.exponent)),e.aliases?t.aliases=e.aliases.map(r=>r):t.aliases=[],t},fromPartial(e){let t=Ave();return t.denom=e.denom??"",t.exponent=e.exponent??0,t.aliases=e.aliases?.map(r=>r)||[],t}};function pve(){return{description:"",denomUnits:[],base:"",display:"",name:"",symbol:"",uri:"",uriHash:""}}_u.Metadata={typeUrl:"/cosmos.bank.v1beta1.Metadata",encode(e,t=Fd.BinaryWriter.create()){e.description!==""&&t.uint32(10).string(e.description);for(let r of e.denomUnits)_u.DenomUnit.encode(r,t.uint32(18).fork()).ldelim();return e.base!==""&&t.uint32(26).string(e.base),e.display!==""&&t.uint32(34).string(e.display),e.name!==""&&t.uint32(42).string(e.name),e.symbol!==""&&t.uint32(50).string(e.symbol),e.uri!==""&&t.uint32(58).string(e.uri),e.uriHash!==""&&t.uint32(66).string(e.uriHash),t},decode(e,t){let r=e instanceof Fd.BinaryReader?e:new Fd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.description=r.string();break;case 2:n.denomUnits.push(_u.DenomUnit.decode(r,r.uint32()));break;case 3:n.base=r.string();break;case 4:n.display=r.string();break;case 5:n.name=r.string();break;case 6:n.symbol=r.string();break;case 7:n.uri=r.string();break;case 8:n.uriHash=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=pve();return(0,a1.isSet)(e.description)&&(t.description=String(e.description)),Array.isArray(e?.denomUnits)&&(t.denomUnits=e.denomUnits.map(r=>_u.DenomUnit.fromJSON(r))),(0,a1.isSet)(e.base)&&(t.base=String(e.base)),(0,a1.isSet)(e.display)&&(t.display=String(e.display)),(0,a1.isSet)(e.name)&&(t.name=String(e.name)),(0,a1.isSet)(e.symbol)&&(t.symbol=String(e.symbol)),(0,a1.isSet)(e.uri)&&(t.uri=String(e.uri)),(0,a1.isSet)(e.uriHash)&&(t.uriHash=String(e.uriHash)),t},toJSON(e){let t={};return e.description!==void 0&&(t.description=e.description),e.denomUnits?t.denomUnits=e.denomUnits.map(r=>r?_u.DenomUnit.toJSON(r):void 0):t.denomUnits=[],e.base!==void 0&&(t.base=e.base),e.display!==void 0&&(t.display=e.display),e.name!==void 0&&(t.name=e.name),e.symbol!==void 0&&(t.symbol=e.symbol),e.uri!==void 0&&(t.uri=e.uri),e.uriHash!==void 0&&(t.uriHash=e.uriHash),t},fromPartial(e){let t=pve();return t.description=e.description??"",t.denomUnits=e.denomUnits?.map(r=>_u.DenomUnit.fromPartial(r))||[],t.base=e.base??"",t.display=e.display??"",t.name=e.name??"",t.symbol=e.symbol??"",t.uri=e.uri??"",t.uriHash=e.uriHash??"",t}}});var Cve=ir(Mc=>{"use strict";J();K();z();Object.defineProperty(Mc,"__esModule",{value:!0});Mc.MsgClientImpl=Mc.MsgSetSendEnabledResponse=Mc.MsgSetSendEnabled=Mc.MsgUpdateParamsResponse=Mc.MsgUpdateParams=Mc.MsgMultiSendResponse=Mc.MsgMultiSend=Mc.MsgSendResponse=Mc.MsgSend=Mc.protobufPackage=void 0;var QF=Af(),Qd=gve(),mu=Qi(),HF=Hi();Mc.protobufPackage="cosmos.bank.v1beta1";function _ve(){return{fromAddress:"",toAddress:"",amount:[]}}Mc.MsgSend={typeUrl:"/cosmos.bank.v1beta1.MsgSend",encode(e,t=mu.BinaryWriter.create()){e.fromAddress!==""&&t.uint32(10).string(e.fromAddress),e.toAddress!==""&&t.uint32(18).string(e.toAddress);for(let r of e.amount)QF.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_ve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.fromAddress=r.string();break;case 2:n.toAddress=r.string();break;case 3:n.amount.push(QF.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_ve();return(0,HF.isSet)(e.fromAddress)&&(t.fromAddress=String(e.fromAddress)),(0,HF.isSet)(e.toAddress)&&(t.toAddress=String(e.toAddress)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>QF.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.fromAddress!==void 0&&(t.fromAddress=e.fromAddress),e.toAddress!==void 0&&(t.toAddress=e.toAddress),e.amount?t.amount=e.amount.map(r=>r?QF.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=_ve();return t.fromAddress=e.fromAddress??"",t.toAddress=e.toAddress??"",t.amount=e.amount?.map(r=>QF.Coin.fromPartial(r))||[],t}};function mve(){return{}}Mc.MsgSendResponse={typeUrl:"/cosmos.bank.v1beta1.MsgSendResponse",encode(e,t=mu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return mve()},toJSON(e){return{}},fromPartial(e){return mve()}};function yve(){return{inputs:[],outputs:[]}}Mc.MsgMultiSend={typeUrl:"/cosmos.bank.v1beta1.MsgMultiSend",encode(e,t=mu.BinaryWriter.create()){for(let r of e.inputs)Qd.Input.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.outputs)Qd.Output.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=yve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.inputs.push(Qd.Input.decode(r,r.uint32()));break;case 2:n.outputs.push(Qd.Output.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=yve();return Array.isArray(e?.inputs)&&(t.inputs=e.inputs.map(r=>Qd.Input.fromJSON(r))),Array.isArray(e?.outputs)&&(t.outputs=e.outputs.map(r=>Qd.Output.fromJSON(r))),t},toJSON(e){let t={};return e.inputs?t.inputs=e.inputs.map(r=>r?Qd.Input.toJSON(r):void 0):t.inputs=[],e.outputs?t.outputs=e.outputs.map(r=>r?Qd.Output.toJSON(r):void 0):t.outputs=[],t},fromPartial(e){let t=yve();return t.inputs=e.inputs?.map(r=>Qd.Input.fromPartial(r))||[],t.outputs=e.outputs?.map(r=>Qd.Output.fromPartial(r))||[],t}};function bve(){return{}}Mc.MsgMultiSendResponse={typeUrl:"/cosmos.bank.v1beta1.MsgMultiSendResponse",encode(e,t=mu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return bve()},toJSON(e){return{}},fromPartial(e){return bve()}};function Eve(){return{authority:"",params:Qd.Params.fromPartial({})}}Mc.MsgUpdateParams={typeUrl:"/cosmos.bank.v1beta1.MsgUpdateParams",encode(e,t=mu.BinaryWriter.create()){return e.authority!==""&&t.uint32(10).string(e.authority),e.params!==void 0&&Qd.Params.encode(e.params,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Eve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.params=Qd.Params.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Eve();return(0,HF.isSet)(e.authority)&&(t.authority=String(e.authority)),(0,HF.isSet)(e.params)&&(t.params=Qd.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.params!==void 0&&(t.params=e.params?Qd.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=Eve();return t.authority=e.authority??"",e.params!==void 0&&e.params!==null&&(t.params=Qd.Params.fromPartial(e.params)),t}};function vve(){return{}}Mc.MsgUpdateParamsResponse={typeUrl:"/cosmos.bank.v1beta1.MsgUpdateParamsResponse",encode(e,t=mu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return vve()},toJSON(e){return{}},fromPartial(e){return vve()}};function Rve(){return{authority:"",sendEnabled:[],useDefaultFor:[]}}Mc.MsgSetSendEnabled={typeUrl:"/cosmos.bank.v1beta1.MsgSetSendEnabled",encode(e,t=mu.BinaryWriter.create()){e.authority!==""&&t.uint32(10).string(e.authority);for(let r of e.sendEnabled)Qd.SendEnabled.encode(r,t.uint32(18).fork()).ldelim();for(let r of e.useDefaultFor)t.uint32(26).string(r);return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Rve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.sendEnabled.push(Qd.SendEnabled.decode(r,r.uint32()));break;case 3:n.useDefaultFor.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Rve();return(0,HF.isSet)(e.authority)&&(t.authority=String(e.authority)),Array.isArray(e?.sendEnabled)&&(t.sendEnabled=e.sendEnabled.map(r=>Qd.SendEnabled.fromJSON(r))),Array.isArray(e?.useDefaultFor)&&(t.useDefaultFor=e.useDefaultFor.map(r=>String(r))),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.sendEnabled?t.sendEnabled=e.sendEnabled.map(r=>r?Qd.SendEnabled.toJSON(r):void 0):t.sendEnabled=[],e.useDefaultFor?t.useDefaultFor=e.useDefaultFor.map(r=>r):t.useDefaultFor=[],t},fromPartial(e){let t=Rve();return t.authority=e.authority??"",t.sendEnabled=e.sendEnabled?.map(r=>Qd.SendEnabled.fromPartial(r))||[],t.useDefaultFor=e.useDefaultFor?.map(r=>r)||[],t}};function Sve(){return{}}Mc.MsgSetSendEnabledResponse={typeUrl:"/cosmos.bank.v1beta1.MsgSetSendEnabledResponse",encode(e,t=mu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof mu.BinaryReader?e:new mu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Sve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Sve()},toJSON(e){return{}},fromPartial(e){return Sve()}};var Ive=class{constructor(t){this.rpc=t,this.Send=this.Send.bind(this),this.MultiSend=this.MultiSend.bind(this),this.UpdateParams=this.UpdateParams.bind(this),this.SetSendEnabled=this.SetSendEnabled.bind(this)}Send(t){let r=Mc.MsgSend.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Msg","Send",r).then(n=>Mc.MsgSendResponse.decode(new mu.BinaryReader(n)))}MultiSend(t){let r=Mc.MsgMultiSend.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Msg","MultiSend",r).then(n=>Mc.MsgMultiSendResponse.decode(new mu.BinaryReader(n)))}UpdateParams(t){let r=Mc.MsgUpdateParams.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Msg","UpdateParams",r).then(n=>Mc.MsgUpdateParamsResponse.decode(new mu.BinaryReader(n)))}SetSendEnabled(t){let r=Mc.MsgSetSendEnabled.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Msg","SetSendEnabled",r).then(n=>Mc.MsgSetSendEnabledResponse.decode(new mu.BinaryReader(n)))}};Mc.MsgClientImpl=Ive});var N2t=ir(p2=>{"use strict";J();K();z();Object.defineProperty(p2,"__esModule",{value:!0});p2.Registry=p2.isTxBodyEncodeObject=p2.isPbjsGeneratedType=p2.isTsProtoGeneratedType=p2.isTelescopeGeneratedType=void 0;var kAn=Cve(),PAn=Af(),wve=RS(),LAn=ru();function w2t(e){let t=e;return typeof t.fromPartial=="function"&&typeof t.typeUrl=="string"}p2.isTelescopeGeneratedType=w2t;function Nve(e){return typeof e.fromPartial=="function"}p2.isTsProtoGeneratedType=Nve;function UAn(e){return!Nve(e)}p2.isPbjsGeneratedType=UAn;var C2t={cosmosCoin:"/cosmos.base.v1beta1.Coin",cosmosMsgSend:"/cosmos.bank.v1beta1.MsgSend",cosmosTxBody:"/cosmos.tx.v1beta1.TxBody",googleAny:"/google.protobuf.Any"};function O2t(e){return e.typeUrl==="/cosmos.tx.v1beta1.TxBody"}p2.isTxBodyEncodeObject=O2t;var Ove=class{constructor(t){let{cosmosCoin:r,cosmosMsgSend:i}=C2t;this.types=t?new Map([...t]):new Map([[r,PAn.Coin],[i,kAn.MsgSend]])}register(t,r){this.types.set(t,r)}lookupType(t){return this.types.get(t)}lookupTypeWithError(t){let r=this.lookupType(t);if(!r)throw new Error(`Unregistered type url: ${t}`);return r}encode(t){let{value:r,typeUrl:i}=t;if(O2t(t))return this.encodeTxBody(r);let n=this.lookupTypeWithError(i),o=w2t(n)||Nve(n)?n.fromPartial(r):n.create(r);return n.encode(o).finish()}encodeAsAny(t){let r=this.encode(t);return LAn.Any.fromPartial({typeUrl:t.typeUrl,value:r})}encodeTxBody(t){let r=t.messages.map(n=>this.encodeAsAny(n)),i=wve.TxBody.fromPartial({...t,timeoutHeight:BigInt(t.timeoutHeight?.toString()??"0"),messages:r});return wve.TxBody.encode(i).finish()}decode({typeUrl:t,value:r}){if(t===C2t.cosmosTxBody)return this.decodeTxBody(r);let n=this.lookupTypeWithError(t).decode(r);return Object.entries(n).forEach(([o,d])=>{typeof fe<"u"&&typeof fe.isBuffer<"u"&&fe.isBuffer(d)&&(n[o]=Uint8Array.from(d))}),n}decodeTxBody(t){let r=wve.TxBody.decode(t);return{...r,messages:r.messages.map(({typeUrl:i,value:n})=>{if(!i)throw new Error("Missing type_url in Any");if(!n)throw new Error("Missing value in Any");return this.decode({typeUrl:i,value:n})})}}};p2.Registry=Ove});var x2t=ir(vee=>{"use strict";J();K();z();Object.defineProperty(vee,"__esModule",{value:!0});vee.isOfflineDirectSigner=void 0;function FAn(e){return e.signDirect!==void 0}vee.isOfflineDirectSigner=FAn});var SS=ir(ga=>{"use strict";J();K();z();Object.defineProperty(ga,"__esModule",{value:!0});ga.parseCoins=ga.coins=ga.coin=ga.executeKdf=ga.makeSignDoc=ga.makeSignBytes=ga.makeAuthInfoBytes=ga.isOfflineDirectSigner=ga.Registry=ga.isTxBodyEncodeObject=ga.isTsProtoGeneratedType=ga.isPbjsGeneratedType=ga.encodePubkey=ga.decodePubkey=ga.decodeOptionalPubkey=ga.anyToSinglePubkey=ga.makeCosmoshubPath=ga.DirectSecp256k1Wallet=ga.extractKdfConfiguration=ga.DirectSecp256k1HdWallet=ga.decodeTxRaw=void 0;var QAn=l2t();Object.defineProperty(ga,"decodeTxRaw",{enumerable:!0,get:function(){return QAn.decodeTxRaw}});var T2t=p2t();Object.defineProperty(ga,"DirectSecp256k1HdWallet",{enumerable:!0,get:function(){return T2t.DirectSecp256k1HdWallet}});Object.defineProperty(ga,"extractKdfConfiguration",{enumerable:!0,get:function(){return T2t.extractKdfConfiguration}});var HAn=_2t();Object.defineProperty(ga,"DirectSecp256k1Wallet",{enumerable:!0,get:function(){return HAn.DirectSecp256k1Wallet}});var GAn=m2t();Object.defineProperty(ga,"makeCosmoshubPath",{enumerable:!0,get:function(){return GAn.makeCosmoshubPath}});var Ree=I2t();Object.defineProperty(ga,"anyToSinglePubkey",{enumerable:!0,get:function(){return Ree.anyToSinglePubkey}});Object.defineProperty(ga,"decodeOptionalPubkey",{enumerable:!0,get:function(){return Ree.decodeOptionalPubkey}});Object.defineProperty(ga,"decodePubkey",{enumerable:!0,get:function(){return Ree.decodePubkey}});Object.defineProperty(ga,"encodePubkey",{enumerable:!0,get:function(){return Ree.encodePubkey}});var See=N2t();Object.defineProperty(ga,"isPbjsGeneratedType",{enumerable:!0,get:function(){return See.isPbjsGeneratedType}});Object.defineProperty(ga,"isTsProtoGeneratedType",{enumerable:!0,get:function(){return See.isTsProtoGeneratedType}});Object.defineProperty(ga,"isTxBodyEncodeObject",{enumerable:!0,get:function(){return See.isTxBodyEncodeObject}});Object.defineProperty(ga,"Registry",{enumerable:!0,get:function(){return See.Registry}});var qAn=x2t();Object.defineProperty(ga,"isOfflineDirectSigner",{enumerable:!0,get:function(){return qAn.isOfflineDirectSigner}});var xve=_ee();Object.defineProperty(ga,"makeAuthInfoBytes",{enumerable:!0,get:function(){return xve.makeAuthInfoBytes}});Object.defineProperty(ga,"makeSignBytes",{enumerable:!0,get:function(){return xve.makeSignBytes}});Object.defineProperty(ga,"makeSignDoc",{enumerable:!0,get:function(){return xve.makeSignDoc}});var VAn=$Ee();Object.defineProperty(ga,"executeKdf",{enumerable:!0,get:function(){return VAn.executeKdf}});var Tve=R_();Object.defineProperty(ga,"coin",{enumerable:!0,get:function(){return Tve.coin}});Object.defineProperty(ga,"coins",{enumerable:!0,get:function(){return Tve.coins}});Object.defineProperty(ga,"parseCoins",{enumerable:!0,get:function(){return Tve.parseCoins}})});var Iee=ir(fh=>{"use strict";J();K();z();Object.defineProperty(fh,"__esModule",{value:!0});fh.Params=fh.ModuleCredential=fh.ModuleAccount=fh.BaseAccount=fh.protobufPackage=void 0;var GF=ru(),g2=Qi(),s1=Hi();fh.protobufPackage="cosmos.auth.v1beta1";function Bve(){return{address:"",pubKey:void 0,accountNumber:BigInt(0),sequence:BigInt(0)}}fh.BaseAccount={typeUrl:"/cosmos.auth.v1beta1.BaseAccount",encode(e,t=g2.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.pubKey!==void 0&&GF.Any.encode(e.pubKey,t.uint32(18).fork()).ldelim(),e.accountNumber!==BigInt(0)&&t.uint32(24).uint64(e.accountNumber),e.sequence!==BigInt(0)&&t.uint32(32).uint64(e.sequence),t},decode(e,t){let r=e instanceof g2.BinaryReader?e:new g2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Bve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.pubKey=GF.Any.decode(r,r.uint32());break;case 3:n.accountNumber=r.uint64();break;case 4:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Bve();return(0,s1.isSet)(e.address)&&(t.address=String(e.address)),(0,s1.isSet)(e.pubKey)&&(t.pubKey=GF.Any.fromJSON(e.pubKey)),(0,s1.isSet)(e.accountNumber)&&(t.accountNumber=BigInt(e.accountNumber.toString())),(0,s1.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.pubKey!==void 0&&(t.pubKey=e.pubKey?GF.Any.toJSON(e.pubKey):void 0),e.accountNumber!==void 0&&(t.accountNumber=(e.accountNumber||BigInt(0)).toString()),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=Bve();return t.address=e.address??"",e.pubKey!==void 0&&e.pubKey!==null&&(t.pubKey=GF.Any.fromPartial(e.pubKey)),e.accountNumber!==void 0&&e.accountNumber!==null&&(t.accountNumber=BigInt(e.accountNumber.toString())),e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function Mve(){return{baseAccount:void 0,name:"",permissions:[]}}fh.ModuleAccount={typeUrl:"/cosmos.auth.v1beta1.ModuleAccount",encode(e,t=g2.BinaryWriter.create()){e.baseAccount!==void 0&&fh.BaseAccount.encode(e.baseAccount,t.uint32(10).fork()).ldelim(),e.name!==""&&t.uint32(18).string(e.name);for(let r of e.permissions)t.uint32(26).string(r);return t},decode(e,t){let r=e instanceof g2.BinaryReader?e:new g2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Mve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.baseAccount=fh.BaseAccount.decode(r,r.uint32());break;case 2:n.name=r.string();break;case 3:n.permissions.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Mve();return(0,s1.isSet)(e.baseAccount)&&(t.baseAccount=fh.BaseAccount.fromJSON(e.baseAccount)),(0,s1.isSet)(e.name)&&(t.name=String(e.name)),Array.isArray(e?.permissions)&&(t.permissions=e.permissions.map(r=>String(r))),t},toJSON(e){let t={};return e.baseAccount!==void 0&&(t.baseAccount=e.baseAccount?fh.BaseAccount.toJSON(e.baseAccount):void 0),e.name!==void 0&&(t.name=e.name),e.permissions?t.permissions=e.permissions.map(r=>r):t.permissions=[],t},fromPartial(e){let t=Mve();return e.baseAccount!==void 0&&e.baseAccount!==null&&(t.baseAccount=fh.BaseAccount.fromPartial(e.baseAccount)),t.name=e.name??"",t.permissions=e.permissions?.map(r=>r)||[],t}};function Dve(){return{moduleName:"",derivationKeys:[]}}fh.ModuleCredential={typeUrl:"/cosmos.auth.v1beta1.ModuleCredential",encode(e,t=g2.BinaryWriter.create()){e.moduleName!==""&&t.uint32(10).string(e.moduleName);for(let r of e.derivationKeys)t.uint32(18).bytes(r);return t},decode(e,t){let r=e instanceof g2.BinaryReader?e:new g2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Dve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.moduleName=r.string();break;case 2:n.derivationKeys.push(r.bytes());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Dve();return(0,s1.isSet)(e.moduleName)&&(t.moduleName=String(e.moduleName)),Array.isArray(e?.derivationKeys)&&(t.derivationKeys=e.derivationKeys.map(r=>(0,s1.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.moduleName!==void 0&&(t.moduleName=e.moduleName),e.derivationKeys?t.derivationKeys=e.derivationKeys.map(r=>(0,s1.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.derivationKeys=[],t},fromPartial(e){let t=Dve();return t.moduleName=e.moduleName??"",t.derivationKeys=e.derivationKeys?.map(r=>r)||[],t}};function kve(){return{maxMemoCharacters:BigInt(0),txSigLimit:BigInt(0),txSizeCostPerByte:BigInt(0),sigVerifyCostEd25519:BigInt(0),sigVerifyCostSecp256k1:BigInt(0)}}fh.Params={typeUrl:"/cosmos.auth.v1beta1.Params",encode(e,t=g2.BinaryWriter.create()){return e.maxMemoCharacters!==BigInt(0)&&t.uint32(8).uint64(e.maxMemoCharacters),e.txSigLimit!==BigInt(0)&&t.uint32(16).uint64(e.txSigLimit),e.txSizeCostPerByte!==BigInt(0)&&t.uint32(24).uint64(e.txSizeCostPerByte),e.sigVerifyCostEd25519!==BigInt(0)&&t.uint32(32).uint64(e.sigVerifyCostEd25519),e.sigVerifyCostSecp256k1!==BigInt(0)&&t.uint32(40).uint64(e.sigVerifyCostSecp256k1),t},decode(e,t){let r=e instanceof g2.BinaryReader?e:new g2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.maxMemoCharacters=r.uint64();break;case 2:n.txSigLimit=r.uint64();break;case 3:n.txSizeCostPerByte=r.uint64();break;case 4:n.sigVerifyCostEd25519=r.uint64();break;case 5:n.sigVerifyCostSecp256k1=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kve();return(0,s1.isSet)(e.maxMemoCharacters)&&(t.maxMemoCharacters=BigInt(e.maxMemoCharacters.toString())),(0,s1.isSet)(e.txSigLimit)&&(t.txSigLimit=BigInt(e.txSigLimit.toString())),(0,s1.isSet)(e.txSizeCostPerByte)&&(t.txSizeCostPerByte=BigInt(e.txSizeCostPerByte.toString())),(0,s1.isSet)(e.sigVerifyCostEd25519)&&(t.sigVerifyCostEd25519=BigInt(e.sigVerifyCostEd25519.toString())),(0,s1.isSet)(e.sigVerifyCostSecp256k1)&&(t.sigVerifyCostSecp256k1=BigInt(e.sigVerifyCostSecp256k1.toString())),t},toJSON(e){let t={};return e.maxMemoCharacters!==void 0&&(t.maxMemoCharacters=(e.maxMemoCharacters||BigInt(0)).toString()),e.txSigLimit!==void 0&&(t.txSigLimit=(e.txSigLimit||BigInt(0)).toString()),e.txSizeCostPerByte!==void 0&&(t.txSizeCostPerByte=(e.txSizeCostPerByte||BigInt(0)).toString()),e.sigVerifyCostEd25519!==void 0&&(t.sigVerifyCostEd25519=(e.sigVerifyCostEd25519||BigInt(0)).toString()),e.sigVerifyCostSecp256k1!==void 0&&(t.sigVerifyCostSecp256k1=(e.sigVerifyCostSecp256k1||BigInt(0)).toString()),t},fromPartial(e){let t=kve();return e.maxMemoCharacters!==void 0&&e.maxMemoCharacters!==null&&(t.maxMemoCharacters=BigInt(e.maxMemoCharacters.toString())),e.txSigLimit!==void 0&&e.txSigLimit!==null&&(t.txSigLimit=BigInt(e.txSigLimit.toString())),e.txSizeCostPerByte!==void 0&&e.txSizeCostPerByte!==null&&(t.txSizeCostPerByte=BigInt(e.txSizeCostPerByte.toString())),e.sigVerifyCostEd25519!==void 0&&e.sigVerifyCostEd25519!==null&&(t.sigVerifyCostEd25519=BigInt(e.sigVerifyCostEd25519.toString())),e.sigVerifyCostSecp256k1!==void 0&&e.sigVerifyCostSecp256k1!==null&&(t.sigVerifyCostSecp256k1=BigInt(e.sigVerifyCostSecp256k1.toString())),t}}});var Gve=ir(qa=>{"use strict";J();K();z();Object.defineProperty(qa,"__esModule",{value:!0});qa.PermanentLockedAccount=qa.PeriodicVestingAccount=qa.Period=qa.DelayedVestingAccount=qa.ContinuousVestingAccount=qa.BaseVestingAccount=qa.protobufPackage=void 0;var qF=Iee(),pf=Af(),Cl=Qi(),IS=Hi();qa.protobufPackage="cosmos.vesting.v1beta1";function Pve(){return{baseAccount:void 0,originalVesting:[],delegatedFree:[],delegatedVesting:[],endTime:BigInt(0)}}qa.BaseVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.BaseVestingAccount",encode(e,t=Cl.BinaryWriter.create()){e.baseAccount!==void 0&&qF.BaseAccount.encode(e.baseAccount,t.uint32(10).fork()).ldelim();for(let r of e.originalVesting)pf.Coin.encode(r,t.uint32(18).fork()).ldelim();for(let r of e.delegatedFree)pf.Coin.encode(r,t.uint32(26).fork()).ldelim();for(let r of e.delegatedVesting)pf.Coin.encode(r,t.uint32(34).fork()).ldelim();return e.endTime!==BigInt(0)&&t.uint32(40).int64(e.endTime),t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Pve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.baseAccount=qF.BaseAccount.decode(r,r.uint32());break;case 2:n.originalVesting.push(pf.Coin.decode(r,r.uint32()));break;case 3:n.delegatedFree.push(pf.Coin.decode(r,r.uint32()));break;case 4:n.delegatedVesting.push(pf.Coin.decode(r,r.uint32()));break;case 5:n.endTime=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Pve();return(0,IS.isSet)(e.baseAccount)&&(t.baseAccount=qF.BaseAccount.fromJSON(e.baseAccount)),Array.isArray(e?.originalVesting)&&(t.originalVesting=e.originalVesting.map(r=>pf.Coin.fromJSON(r))),Array.isArray(e?.delegatedFree)&&(t.delegatedFree=e.delegatedFree.map(r=>pf.Coin.fromJSON(r))),Array.isArray(e?.delegatedVesting)&&(t.delegatedVesting=e.delegatedVesting.map(r=>pf.Coin.fromJSON(r))),(0,IS.isSet)(e.endTime)&&(t.endTime=BigInt(e.endTime.toString())),t},toJSON(e){let t={};return e.baseAccount!==void 0&&(t.baseAccount=e.baseAccount?qF.BaseAccount.toJSON(e.baseAccount):void 0),e.originalVesting?t.originalVesting=e.originalVesting.map(r=>r?pf.Coin.toJSON(r):void 0):t.originalVesting=[],e.delegatedFree?t.delegatedFree=e.delegatedFree.map(r=>r?pf.Coin.toJSON(r):void 0):t.delegatedFree=[],e.delegatedVesting?t.delegatedVesting=e.delegatedVesting.map(r=>r?pf.Coin.toJSON(r):void 0):t.delegatedVesting=[],e.endTime!==void 0&&(t.endTime=(e.endTime||BigInt(0)).toString()),t},fromPartial(e){let t=Pve();return e.baseAccount!==void 0&&e.baseAccount!==null&&(t.baseAccount=qF.BaseAccount.fromPartial(e.baseAccount)),t.originalVesting=e.originalVesting?.map(r=>pf.Coin.fromPartial(r))||[],t.delegatedFree=e.delegatedFree?.map(r=>pf.Coin.fromPartial(r))||[],t.delegatedVesting=e.delegatedVesting?.map(r=>pf.Coin.fromPartial(r))||[],e.endTime!==void 0&&e.endTime!==null&&(t.endTime=BigInt(e.endTime.toString())),t}};function Lve(){return{baseVestingAccount:void 0,startTime:BigInt(0)}}qa.ContinuousVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.ContinuousVestingAccount",encode(e,t=Cl.BinaryWriter.create()){return e.baseVestingAccount!==void 0&&qa.BaseVestingAccount.encode(e.baseVestingAccount,t.uint32(10).fork()).ldelim(),e.startTime!==BigInt(0)&&t.uint32(16).int64(e.startTime),t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Lve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.baseVestingAccount=qa.BaseVestingAccount.decode(r,r.uint32());break;case 2:n.startTime=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Lve();return(0,IS.isSet)(e.baseVestingAccount)&&(t.baseVestingAccount=qa.BaseVestingAccount.fromJSON(e.baseVestingAccount)),(0,IS.isSet)(e.startTime)&&(t.startTime=BigInt(e.startTime.toString())),t},toJSON(e){let t={};return e.baseVestingAccount!==void 0&&(t.baseVestingAccount=e.baseVestingAccount?qa.BaseVestingAccount.toJSON(e.baseVestingAccount):void 0),e.startTime!==void 0&&(t.startTime=(e.startTime||BigInt(0)).toString()),t},fromPartial(e){let t=Lve();return e.baseVestingAccount!==void 0&&e.baseVestingAccount!==null&&(t.baseVestingAccount=qa.BaseVestingAccount.fromPartial(e.baseVestingAccount)),e.startTime!==void 0&&e.startTime!==null&&(t.startTime=BigInt(e.startTime.toString())),t}};function Uve(){return{baseVestingAccount:void 0}}qa.DelayedVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.DelayedVestingAccount",encode(e,t=Cl.BinaryWriter.create()){return e.baseVestingAccount!==void 0&&qa.BaseVestingAccount.encode(e.baseVestingAccount,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Uve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.baseVestingAccount=qa.BaseVestingAccount.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=Uve();return(0,IS.isSet)(e.baseVestingAccount)&&(t.baseVestingAccount=qa.BaseVestingAccount.fromJSON(e.baseVestingAccount)),t},toJSON(e){let t={};return e.baseVestingAccount!==void 0&&(t.baseVestingAccount=e.baseVestingAccount?qa.BaseVestingAccount.toJSON(e.baseVestingAccount):void 0),t},fromPartial(e){let t=Uve();return e.baseVestingAccount!==void 0&&e.baseVestingAccount!==null&&(t.baseVestingAccount=qa.BaseVestingAccount.fromPartial(e.baseVestingAccount)),t}};function Fve(){return{length:BigInt(0),amount:[]}}qa.Period={typeUrl:"/cosmos.vesting.v1beta1.Period",encode(e,t=Cl.BinaryWriter.create()){e.length!==BigInt(0)&&t.uint32(8).int64(e.length);for(let r of e.amount)pf.Coin.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Fve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.length=r.int64();break;case 2:n.amount.push(pf.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Fve();return(0,IS.isSet)(e.length)&&(t.length=BigInt(e.length.toString())),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>pf.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.length!==void 0&&(t.length=(e.length||BigInt(0)).toString()),e.amount?t.amount=e.amount.map(r=>r?pf.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=Fve();return e.length!==void 0&&e.length!==null&&(t.length=BigInt(e.length.toString())),t.amount=e.amount?.map(r=>pf.Coin.fromPartial(r))||[],t}};function Qve(){return{baseVestingAccount:void 0,startTime:BigInt(0),vestingPeriods:[]}}qa.PeriodicVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.PeriodicVestingAccount",encode(e,t=Cl.BinaryWriter.create()){e.baseVestingAccount!==void 0&&qa.BaseVestingAccount.encode(e.baseVestingAccount,t.uint32(10).fork()).ldelim(),e.startTime!==BigInt(0)&&t.uint32(16).int64(e.startTime);for(let r of e.vestingPeriods)qa.Period.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Qve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.baseVestingAccount=qa.BaseVestingAccount.decode(r,r.uint32());break;case 2:n.startTime=r.int64();break;case 3:n.vestingPeriods.push(qa.Period.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Qve();return(0,IS.isSet)(e.baseVestingAccount)&&(t.baseVestingAccount=qa.BaseVestingAccount.fromJSON(e.baseVestingAccount)),(0,IS.isSet)(e.startTime)&&(t.startTime=BigInt(e.startTime.toString())),Array.isArray(e?.vestingPeriods)&&(t.vestingPeriods=e.vestingPeriods.map(r=>qa.Period.fromJSON(r))),t},toJSON(e){let t={};return e.baseVestingAccount!==void 0&&(t.baseVestingAccount=e.baseVestingAccount?qa.BaseVestingAccount.toJSON(e.baseVestingAccount):void 0),e.startTime!==void 0&&(t.startTime=(e.startTime||BigInt(0)).toString()),e.vestingPeriods?t.vestingPeriods=e.vestingPeriods.map(r=>r?qa.Period.toJSON(r):void 0):t.vestingPeriods=[],t},fromPartial(e){let t=Qve();return e.baseVestingAccount!==void 0&&e.baseVestingAccount!==null&&(t.baseVestingAccount=qa.BaseVestingAccount.fromPartial(e.baseVestingAccount)),e.startTime!==void 0&&e.startTime!==null&&(t.startTime=BigInt(e.startTime.toString())),t.vestingPeriods=e.vestingPeriods?.map(r=>qa.Period.fromPartial(r))||[],t}};function Hve(){return{baseVestingAccount:void 0}}qa.PermanentLockedAccount={typeUrl:"/cosmos.vesting.v1beta1.PermanentLockedAccount",encode(e,t=Cl.BinaryWriter.create()){return e.baseVestingAccount!==void 0&&qa.BaseVestingAccount.encode(e.baseVestingAccount,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Cl.BinaryReader?e:new Cl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Hve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.baseVestingAccount=qa.BaseVestingAccount.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=Hve();return(0,IS.isSet)(e.baseVestingAccount)&&(t.baseVestingAccount=qa.BaseVestingAccount.fromJSON(e.baseVestingAccount)),t},toJSON(e){let t={};return e.baseVestingAccount!==void 0&&(t.baseVestingAccount=e.baseVestingAccount?qa.BaseVestingAccount.toJSON(e.baseVestingAccount):void 0),t},fromPartial(e){let t=Hve();return e.baseVestingAccount!==void 0&&e.baseVestingAccount!==null&&(t.baseVestingAccount=qa.BaseVestingAccount.fromPartial(e.baseVestingAccount)),t}}});var qve=ir(wee=>{"use strict";J();K();z();Object.defineProperty(wee,"__esModule",{value:!0});wee.accountFromAny=void 0;var JAn=Uh(),zAn=SS(),VF=Uf(),B2t=Iee(),Cee=Gve();function M2t(e){return JAn.Uint64.fromString(e.toString())}function K7(e){let{address:t,pubKey:r,accountNumber:i,sequence:n}=e,o=(0,zAn.decodeOptionalPubkey)(r);return{address:t,pubkey:o,accountNumber:M2t(i).toNumber(),sequence:M2t(n).toNumber()}}function KAn(e){let{typeUrl:t,value:r}=e;switch(t){case"/cosmos.auth.v1beta1.BaseAccount":return K7(B2t.BaseAccount.decode(r));case"/cosmos.auth.v1beta1.ModuleAccount":{let i=B2t.ModuleAccount.decode(r).baseAccount;return(0,VF.assert)(i),K7(i)}case"/cosmos.vesting.v1beta1.BaseVestingAccount":{let i=Cee.BaseVestingAccount.decode(r)?.baseAccount;return(0,VF.assert)(i),K7(i)}case"/cosmos.vesting.v1beta1.ContinuousVestingAccount":{let i=Cee.ContinuousVestingAccount.decode(r)?.baseVestingAccount?.baseAccount;return(0,VF.assert)(i),K7(i)}case"/cosmos.vesting.v1beta1.DelayedVestingAccount":{let i=Cee.DelayedVestingAccount.decode(r)?.baseVestingAccount?.baseAccount;return(0,VF.assert)(i),K7(i)}case"/cosmos.vesting.v1beta1.PeriodicVestingAccount":{let i=Cee.PeriodicVestingAccount.decode(r)?.baseVestingAccount?.baseAccount;return(0,VF.assert)(i),K7(i)}default:throw new Error(`Unsupported type: '${t}'`)}}wee.accountFromAny=KAn});var Jve=ir(Oee=>{"use strict";J();K();z();Object.defineProperty(Oee,"__esModule",{value:!0});Oee.AminoTypes=void 0;var Vve=class{constructor(t){this.register=t}toAmino({typeUrl:t,value:r}){let i=this.register[t];if(!i)throw new Error(`Type URL '${t}' does not exist in the Amino message type register. If you need support for this message type, you can pass in additional entries to the AminoTypes constructor. If you think this message type should be included by default, please open an issue at https://github.com/cosmos/cosmjs/issues.`);return{type:i.aminoType,value:i.toAmino(r)}}fromAmino({type:t,value:r}){let i=Object.entries(this.register).filter(([n,{aminoType:o}])=>o===t);switch(i.length){case 0:throw new Error(`Amino type identifier '${t}' does not exist in the Amino message type register. If you need support for this message type, you can pass in additional entries to the AminoTypes constructor. If you think this message type should be included by default, please open an issue at https://github.com/cosmos/cosmjs/issues.`);case 1:{let[n,o]=i[0];return{typeUrl:n,value:o.fromAmino(r)}}default:throw new Error(`Multiple types are registered with Amino type identifier '${t}': '`+i.map(([n,o])=>n).sort().join("', '")+"'. Thus fromAmino cannot be performed.")}}};Oee.AminoTypes=Vve});var zve=ir(Nee=>{"use strict";J();K();z();Object.defineProperty(Nee,"__esModule",{value:!0});Nee.fromTendermintEvent=void 0;var D2t=Ps();function $An(e){return{type:e.type,attributes:e.attributes.map(t=>({key:typeof t.key=="string"?t.key:(0,D2t.fromUtf8)(t.key,!0),value:typeof t.value=="string"?t.value:(0,D2t.fromUtf8)(t.value,!0)}))}}Nee.fromTendermintEvent=$An});var Kve=ir($7=>{"use strict";J();K();z();Object.defineProperty($7,"__esModule",{value:!0});$7.calculateFee=$7.GasPrice=void 0;var k2t=Uh(),YAn=SS();function WAn(e){if(e.length<3||e.length>128)throw new Error("Denom must be between 3 and 128 characters")}var xee=class e{constructor(t,r){this.amount=t,this.denom=r}static fromString(t){let r=t.match(/^([0-9.]+)([a-zA-Z][a-zA-Z0-9/:._-]*)$/);if(!r)throw new Error("Invalid gas price string");let[i,n,o]=r;WAn(o);let g=k2t.Decimal.fromUserInput(n,18);return new e(g,o)}toString(){return this.amount.toString()+this.denom}};$7.GasPrice=xee;function XAn(e,t){let r=typeof t=="string"?xee.fromString(t):t,{denom:i,amount:n}=r,o=n.multiply(new k2t.Uint53(e)).ceil().toString();return{amount:(0,YAn.coins)(o,i),gas:e.toString()}}$7.calculateFee=XAn});var Q2t=ir(c1=>{"use strict";J();K();z();Object.defineProperty(c1,"__esModule",{value:!0});c1.findAttribute=c1.parseRawLog=c1.parseLogs=c1.parseLog=c1.parseEvent=c1.parseAttribute=void 0;var $ve=Uf();function P2t(e){if(!(0,$ve.isNonNullObject)(e))throw new Error("Attribute must be a non-null object");let{key:t,value:r}=e;if(typeof t!="string"||!t)throw new Error("Attribute's key must be a non-empty string");if(typeof r!="string"&&typeof r<"u")throw new Error("Attribute's value must be a string or unset");return{key:t,value:r||""}}c1.parseAttribute=P2t;function L2t(e){if(!(0,$ve.isNonNullObject)(e))throw new Error("Event must be a non-null object");let{type:t,attributes:r}=e;if(typeof t!="string"||t==="")throw new Error("Event type must be a non-empty string");if(!Array.isArray(r))throw new Error("Event's attributes must be an array");return{type:t,attributes:r.map(P2t)}}c1.parseEvent=L2t;function U2t(e){if(!(0,$ve.isNonNullObject)(e))throw new Error("Log must be a non-null object");let{msg_index:t,log:r,events:i}=e;if(typeof t!="number")throw new Error("Log's msg_index must be a number");if(typeof r!="string")throw new Error("Log's log must be a string");if(!Array.isArray(i))throw new Error("Log's events must be an array");return{msg_index:t,log:r,events:i.map(L2t)}}c1.parseLog=U2t;function F2t(e){if(!Array.isArray(e))throw new Error("Logs must be an array");return e.map(U2t)}c1.parseLogs=F2t;function ZAn(e){if(!e)return[];let t=JSON.parse(e).map(({events:r},i)=>({msg_index:i,events:r,log:""}));return F2t(t)}c1.parseRawLog=ZAn;function jAn(e,t,r){let n=e.find(()=>!0)?.events.find(o=>o.type===t)?.attributes.find(o=>o.key===r);if(!n)throw new Error(`Could not find attribute '${r}' in first event of type '${t}' in first log.`);return n}c1.findAttribute=jAn});var jA=ir(i8=>{"use strict";J();K();z();Object.defineProperty(i8,"__esModule",{value:!0});i8.PageResponse=i8.PageRequest=i8.protobufPackage=void 0;var Y7=Qi(),my=Hi();i8.protobufPackage="cosmos.base.query.v1beta1";function Yve(){return{key:new Uint8Array,offset:BigInt(0),limit:BigInt(0),countTotal:!1,reverse:!1}}i8.PageRequest={typeUrl:"/cosmos.base.query.v1beta1.PageRequest",encode(e,t=Y7.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),e.offset!==BigInt(0)&&t.uint32(16).uint64(e.offset),e.limit!==BigInt(0)&&t.uint32(24).uint64(e.limit),e.countTotal===!0&&t.uint32(32).bool(e.countTotal),e.reverse===!0&&t.uint32(40).bool(e.reverse),t},decode(e,t){let r=e instanceof Y7.BinaryReader?e:new Y7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Yve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.offset=r.uint64();break;case 3:n.limit=r.uint64();break;case 4:n.countTotal=r.bool();break;case 5:n.reverse=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Yve();return(0,my.isSet)(e.key)&&(t.key=(0,my.bytesFromBase64)(e.key)),(0,my.isSet)(e.offset)&&(t.offset=BigInt(e.offset.toString())),(0,my.isSet)(e.limit)&&(t.limit=BigInt(e.limit.toString())),(0,my.isSet)(e.countTotal)&&(t.countTotal=!!e.countTotal),(0,my.isSet)(e.reverse)&&(t.reverse=!!e.reverse),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,my.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.offset!==void 0&&(t.offset=(e.offset||BigInt(0)).toString()),e.limit!==void 0&&(t.limit=(e.limit||BigInt(0)).toString()),e.countTotal!==void 0&&(t.countTotal=e.countTotal),e.reverse!==void 0&&(t.reverse=e.reverse),t},fromPartial(e){let t=Yve();return t.key=e.key??new Uint8Array,e.offset!==void 0&&e.offset!==null&&(t.offset=BigInt(e.offset.toString())),e.limit!==void 0&&e.limit!==null&&(t.limit=BigInt(e.limit.toString())),t.countTotal=e.countTotal??!1,t.reverse=e.reverse??!1,t}};function Wve(){return{nextKey:new Uint8Array,total:BigInt(0)}}i8.PageResponse={typeUrl:"/cosmos.base.query.v1beta1.PageResponse",encode(e,t=Y7.BinaryWriter.create()){return e.nextKey.length!==0&&t.uint32(10).bytes(e.nextKey),e.total!==BigInt(0)&&t.uint32(16).uint64(e.total),t},decode(e,t){let r=e instanceof Y7.BinaryReader?e:new Y7.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Wve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.nextKey=r.bytes();break;case 2:n.total=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Wve();return(0,my.isSet)(e.nextKey)&&(t.nextKey=(0,my.bytesFromBase64)(e.nextKey)),(0,my.isSet)(e.total)&&(t.total=BigInt(e.total.toString())),t},toJSON(e){let t={};return e.nextKey!==void 0&&(t.nextKey=(0,my.base64FromBytes)(e.nextKey!==void 0?e.nextKey:new Uint8Array)),e.total!==void 0&&(t.total=(e.total||BigInt(0)).toString()),t},fromPartial(e){let t=Wve();return t.nextKey=e.nextKey??new Uint8Array,e.total!==void 0&&e.total!==null&&(t.total=BigInt(e.total.toString())),t}}});var H2t=ir(Ki=>{"use strict";J();K();z();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.QueryClientImpl=Ki.QueryAccountInfoResponse=Ki.QueryAccountInfoRequest=Ki.QueryAccountAddressByIDResponse=Ki.QueryAccountAddressByIDRequest=Ki.AddressStringToBytesResponse=Ki.AddressStringToBytesRequest=Ki.AddressBytesToStringResponse=Ki.AddressBytesToStringRequest=Ki.Bech32PrefixResponse=Ki.Bech32PrefixRequest=Ki.QueryModuleAccountByNameResponse=Ki.QueryModuleAccountByNameRequest=Ki.QueryModuleAccountsResponse=Ki.QueryModuleAccountsRequest=Ki.QueryParamsResponse=Ki.QueryParamsRequest=Ki.QueryAccountResponse=Ki.QueryAccountRequest=Ki.QueryAccountsResponse=Ki.QueryAccountsRequest=Ki.protobufPackage=void 0;var yy=jA(),gf=ru(),by=Iee(),ki=Qi(),Hd=Hi();Ki.protobufPackage="cosmos.auth.v1beta1";function Xve(){return{pagination:void 0}}Ki.QueryAccountsRequest={typeUrl:"/cosmos.auth.v1beta1.QueryAccountsRequest",encode(e,t=ki.BinaryWriter.create()){return e.pagination!==void 0&&yy.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Xve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=yy.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=Xve();return(0,Hd.isSet)(e.pagination)&&(t.pagination=yy.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?yy.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=Xve();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yy.PageRequest.fromPartial(e.pagination)),t}};function Zve(){return{accounts:[],pagination:void 0}}Ki.QueryAccountsResponse={typeUrl:"/cosmos.auth.v1beta1.QueryAccountsResponse",encode(e,t=ki.BinaryWriter.create()){for(let r of e.accounts)gf.Any.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&yy.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Zve();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.accounts.push(gf.Any.decode(r,r.uint32()));break;case 2:n.pagination=yy.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Zve();return Array.isArray(e?.accounts)&&(t.accounts=e.accounts.map(r=>gf.Any.fromJSON(r))),(0,Hd.isSet)(e.pagination)&&(t.pagination=yy.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.accounts?t.accounts=e.accounts.map(r=>r?gf.Any.toJSON(r):void 0):t.accounts=[],e.pagination!==void 0&&(t.pagination=e.pagination?yy.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=Zve();return t.accounts=e.accounts?.map(r=>gf.Any.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yy.PageResponse.fromPartial(e.pagination)),t}};function jve(){return{address:""}}Ki.QueryAccountRequest={typeUrl:"/cosmos.auth.v1beta1.QueryAccountRequest",encode(e,t=ki.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jve();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.address=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=jve();return(0,Hd.isSet)(e.address)&&(t.address=String(e.address)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),t},fromPartial(e){let t=jve();return t.address=e.address??"",t}};function eRe(){return{account:void 0}}Ki.QueryAccountResponse={typeUrl:"/cosmos.auth.v1beta1.QueryAccountResponse",encode(e,t=ki.BinaryWriter.create()){return e.account!==void 0&&gf.Any.encode(e.account,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.account=gf.Any.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=eRe();return(0,Hd.isSet)(e.account)&&(t.account=gf.Any.fromJSON(e.account)),t},toJSON(e){let t={};return e.account!==void 0&&(t.account=e.account?gf.Any.toJSON(e.account):void 0),t},fromPartial(e){let t=eRe();return e.account!==void 0&&e.account!==null&&(t.account=gf.Any.fromPartial(e.account)),t}};function tRe(){return{}}Ki.QueryParamsRequest={typeUrl:"/cosmos.auth.v1beta1.QueryParamsRequest",encode(e,t=ki.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return tRe()},toJSON(e){return{}},fromPartial(e){return tRe()}};function rRe(){return{params:by.Params.fromPartial({})}}Ki.QueryParamsResponse={typeUrl:"/cosmos.auth.v1beta1.QueryParamsResponse",encode(e,t=ki.BinaryWriter.create()){return e.params!==void 0&&by.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=by.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=rRe();return(0,Hd.isSet)(e.params)&&(t.params=by.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?by.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=rRe();return e.params!==void 0&&e.params!==null&&(t.params=by.Params.fromPartial(e.params)),t}};function nRe(){return{}}Ki.QueryModuleAccountsRequest={typeUrl:"/cosmos.auth.v1beta1.QueryModuleAccountsRequest",encode(e,t=ki.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return nRe()},toJSON(e){return{}},fromPartial(e){return nRe()}};function iRe(){return{accounts:[]}}Ki.QueryModuleAccountsResponse={typeUrl:"/cosmos.auth.v1beta1.QueryModuleAccountsResponse",encode(e,t=ki.BinaryWriter.create()){for(let r of e.accounts)gf.Any.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.accounts.push(gf.Any.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=iRe();return Array.isArray(e?.accounts)&&(t.accounts=e.accounts.map(r=>gf.Any.fromJSON(r))),t},toJSON(e){let t={};return e.accounts?t.accounts=e.accounts.map(r=>r?gf.Any.toJSON(r):void 0):t.accounts=[],t},fromPartial(e){let t=iRe();return t.accounts=e.accounts?.map(r=>gf.Any.fromPartial(r))||[],t}};function oRe(){return{name:""}}Ki.QueryModuleAccountByNameRequest={typeUrl:"/cosmos.auth.v1beta1.QueryModuleAccountByNameRequest",encode(e,t=ki.BinaryWriter.create()){return e.name!==""&&t.uint32(10).string(e.name),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=oRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.name=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=oRe();return(0,Hd.isSet)(e.name)&&(t.name=String(e.name)),t},toJSON(e){let t={};return e.name!==void 0&&(t.name=e.name),t},fromPartial(e){let t=oRe();return t.name=e.name??"",t}};function aRe(){return{account:void 0}}Ki.QueryModuleAccountByNameResponse={typeUrl:"/cosmos.auth.v1beta1.QueryModuleAccountByNameResponse",encode(e,t=ki.BinaryWriter.create()){return e.account!==void 0&&gf.Any.encode(e.account,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.account=gf.Any.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=aRe();return(0,Hd.isSet)(e.account)&&(t.account=gf.Any.fromJSON(e.account)),t},toJSON(e){let t={};return e.account!==void 0&&(t.account=e.account?gf.Any.toJSON(e.account):void 0),t},fromPartial(e){let t=aRe();return e.account!==void 0&&e.account!==null&&(t.account=gf.Any.fromPartial(e.account)),t}};function sRe(){return{}}Ki.Bech32PrefixRequest={typeUrl:"/cosmos.auth.v1beta1.Bech32PrefixRequest",encode(e,t=ki.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return sRe()},toJSON(e){return{}},fromPartial(e){return sRe()}};function cRe(){return{bech32Prefix:""}}Ki.Bech32PrefixResponse={typeUrl:"/cosmos.auth.v1beta1.Bech32PrefixResponse",encode(e,t=ki.BinaryWriter.create()){return e.bech32Prefix!==""&&t.uint32(10).string(e.bech32Prefix),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.bech32Prefix=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=cRe();return(0,Hd.isSet)(e.bech32Prefix)&&(t.bech32Prefix=String(e.bech32Prefix)),t},toJSON(e){let t={};return e.bech32Prefix!==void 0&&(t.bech32Prefix=e.bech32Prefix),t},fromPartial(e){let t=cRe();return t.bech32Prefix=e.bech32Prefix??"",t}};function uRe(){return{addressBytes:new Uint8Array}}Ki.AddressBytesToStringRequest={typeUrl:"/cosmos.auth.v1beta1.AddressBytesToStringRequest",encode(e,t=ki.BinaryWriter.create()){return e.addressBytes.length!==0&&t.uint32(10).bytes(e.addressBytes),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.addressBytes=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=uRe();return(0,Hd.isSet)(e.addressBytes)&&(t.addressBytes=(0,Hd.bytesFromBase64)(e.addressBytes)),t},toJSON(e){let t={};return e.addressBytes!==void 0&&(t.addressBytes=(0,Hd.base64FromBytes)(e.addressBytes!==void 0?e.addressBytes:new Uint8Array)),t},fromPartial(e){let t=uRe();return t.addressBytes=e.addressBytes??new Uint8Array,t}};function dRe(){return{addressString:""}}Ki.AddressBytesToStringResponse={typeUrl:"/cosmos.auth.v1beta1.AddressBytesToStringResponse",encode(e,t=ki.BinaryWriter.create()){return e.addressString!==""&&t.uint32(10).string(e.addressString),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.addressString=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=dRe();return(0,Hd.isSet)(e.addressString)&&(t.addressString=String(e.addressString)),t},toJSON(e){let t={};return e.addressString!==void 0&&(t.addressString=e.addressString),t},fromPartial(e){let t=dRe();return t.addressString=e.addressString??"",t}};function fRe(){return{addressString:""}}Ki.AddressStringToBytesRequest={typeUrl:"/cosmos.auth.v1beta1.AddressStringToBytesRequest",encode(e,t=ki.BinaryWriter.create()){return e.addressString!==""&&t.uint32(10).string(e.addressString),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.addressString=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=fRe();return(0,Hd.isSet)(e.addressString)&&(t.addressString=String(e.addressString)),t},toJSON(e){let t={};return e.addressString!==void 0&&(t.addressString=e.addressString),t},fromPartial(e){let t=fRe();return t.addressString=e.addressString??"",t}};function lRe(){return{addressBytes:new Uint8Array}}Ki.AddressStringToBytesResponse={typeUrl:"/cosmos.auth.v1beta1.AddressStringToBytesResponse",encode(e,t=ki.BinaryWriter.create()){return e.addressBytes.length!==0&&t.uint32(10).bytes(e.addressBytes),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=lRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.addressBytes=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=lRe();return(0,Hd.isSet)(e.addressBytes)&&(t.addressBytes=(0,Hd.bytesFromBase64)(e.addressBytes)),t},toJSON(e){let t={};return e.addressBytes!==void 0&&(t.addressBytes=(0,Hd.base64FromBytes)(e.addressBytes!==void 0?e.addressBytes:new Uint8Array)),t},fromPartial(e){let t=lRe();return t.addressBytes=e.addressBytes??new Uint8Array,t}};function hRe(){return{id:BigInt(0),accountId:BigInt(0)}}Ki.QueryAccountAddressByIDRequest={typeUrl:"/cosmos.auth.v1beta1.QueryAccountAddressByIDRequest",encode(e,t=ki.BinaryWriter.create()){return e.id!==BigInt(0)&&t.uint32(8).int64(e.id),e.accountId!==BigInt(0)&&t.uint32(16).uint64(e.accountId),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.id=r.int64();break;case 2:n.accountId=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=hRe();return(0,Hd.isSet)(e.id)&&(t.id=BigInt(e.id.toString())),(0,Hd.isSet)(e.accountId)&&(t.accountId=BigInt(e.accountId.toString())),t},toJSON(e){let t={};return e.id!==void 0&&(t.id=(e.id||BigInt(0)).toString()),e.accountId!==void 0&&(t.accountId=(e.accountId||BigInt(0)).toString()),t},fromPartial(e){let t=hRe();return e.id!==void 0&&e.id!==null&&(t.id=BigInt(e.id.toString())),e.accountId!==void 0&&e.accountId!==null&&(t.accountId=BigInt(e.accountId.toString())),t}};function ARe(){return{accountAddress:""}}Ki.QueryAccountAddressByIDResponse={typeUrl:"/cosmos.auth.v1beta1.QueryAccountAddressByIDResponse",encode(e,t=ki.BinaryWriter.create()){return e.accountAddress!==""&&t.uint32(10).string(e.accountAddress),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ARe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.accountAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=ARe();return(0,Hd.isSet)(e.accountAddress)&&(t.accountAddress=String(e.accountAddress)),t},toJSON(e){let t={};return e.accountAddress!==void 0&&(t.accountAddress=e.accountAddress),t},fromPartial(e){let t=ARe();return t.accountAddress=e.accountAddress??"",t}};function pRe(){return{address:""}}Ki.QueryAccountInfoRequest={typeUrl:"/cosmos.auth.v1beta1.QueryAccountInfoRequest",encode(e,t=ki.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.address=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=pRe();return(0,Hd.isSet)(e.address)&&(t.address=String(e.address)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),t},fromPartial(e){let t=pRe();return t.address=e.address??"",t}};function gRe(){return{info:void 0}}Ki.QueryAccountInfoResponse={typeUrl:"/cosmos.auth.v1beta1.QueryAccountInfoResponse",encode(e,t=ki.BinaryWriter.create()){return e.info!==void 0&&by.BaseAccount.encode(e.info,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ki.BinaryReader?e:new ki.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.info=by.BaseAccount.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=gRe();return(0,Hd.isSet)(e.info)&&(t.info=by.BaseAccount.fromJSON(e.info)),t},toJSON(e){let t={};return e.info!==void 0&&(t.info=e.info?by.BaseAccount.toJSON(e.info):void 0),t},fromPartial(e){let t=gRe();return e.info!==void 0&&e.info!==null&&(t.info=by.BaseAccount.fromPartial(e.info)),t}};var _Re=class{constructor(t){this.rpc=t,this.Accounts=this.Accounts.bind(this),this.Account=this.Account.bind(this),this.AccountAddressByID=this.AccountAddressByID.bind(this),this.Params=this.Params.bind(this),this.ModuleAccounts=this.ModuleAccounts.bind(this),this.ModuleAccountByName=this.ModuleAccountByName.bind(this),this.Bech32Prefix=this.Bech32Prefix.bind(this),this.AddressBytesToString=this.AddressBytesToString.bind(this),this.AddressStringToBytes=this.AddressStringToBytes.bind(this),this.AccountInfo=this.AccountInfo.bind(this)}Accounts(t={pagination:yy.PageRequest.fromPartial({})}){let r=Ki.QueryAccountsRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","Accounts",r).then(n=>Ki.QueryAccountsResponse.decode(new ki.BinaryReader(n)))}Account(t){let r=Ki.QueryAccountRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","Account",r).then(n=>Ki.QueryAccountResponse.decode(new ki.BinaryReader(n)))}AccountAddressByID(t){let r=Ki.QueryAccountAddressByIDRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","AccountAddressByID",r).then(n=>Ki.QueryAccountAddressByIDResponse.decode(new ki.BinaryReader(n)))}Params(t={}){let r=Ki.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","Params",r).then(n=>Ki.QueryParamsResponse.decode(new ki.BinaryReader(n)))}ModuleAccounts(t={}){let r=Ki.QueryModuleAccountsRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","ModuleAccounts",r).then(n=>Ki.QueryModuleAccountsResponse.decode(new ki.BinaryReader(n)))}ModuleAccountByName(t){let r=Ki.QueryModuleAccountByNameRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","ModuleAccountByName",r).then(n=>Ki.QueryModuleAccountByNameResponse.decode(new ki.BinaryReader(n)))}Bech32Prefix(t={}){let r=Ki.Bech32PrefixRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","Bech32Prefix",r).then(n=>Ki.Bech32PrefixResponse.decode(new ki.BinaryReader(n)))}AddressBytesToString(t){let r=Ki.AddressBytesToStringRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","AddressBytesToString",r).then(n=>Ki.AddressBytesToStringResponse.decode(new ki.BinaryReader(n)))}AddressStringToBytes(t){let r=Ki.AddressStringToBytesRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","AddressStringToBytes",r).then(n=>Ki.AddressStringToBytesResponse.decode(new ki.BinaryReader(n)))}AccountInfo(t){let r=Ki.QueryAccountInfoRequest.encode(t).finish();return this.rpc.request("cosmos.auth.v1beta1.Query","AccountInfo",r).then(n=>Ki.QueryAccountInfoResponse.decode(new ki.BinaryReader(n)))}};Ki.QueryClientImpl=_Re});var G2t=ir(Bee=>{"use strict";J();K();z();Object.defineProperty(Bee,"__esModule",{value:!0});Bee.QueryClient=void 0;var Tee=Uf(),mRe=class e{static withExtensions(t,...r){let i=new e(t),n=r.map(o=>o(i));for(let o of n){(0,Tee.assert)((0,Tee.isNonNullObject)(o),"Extension must be a non-null object");for(let[d,g]of Object.entries(o)){(0,Tee.assert)((0,Tee.isNonNullObject)(g),`Module must be a non-null object. Found type ${typeof g} for module "${d}".`);let y=i[d]||{};i[d]={...y,...g}}}return i}constructor(t){this.cometClient=t}async queryAbci(t,r,i){let n=await this.cometClient.abciQuery({path:t,data:r,prove:!1,height:i});if(n.code)throw new Error(`Query failed with (${n.code}): ${n.log}`);if(!n.height)throw new Error("No query height returned");return{value:n.value,height:n.height}}};Bee.QueryClient=mRe});var z2t=ir(_2=>{"use strict";J();K();z();Object.defineProperty(_2,"__esModule",{value:!0});_2.decodeCosmosSdkDecFromProto=_2.longify=_2.createProtobufRpcClient=_2.createPagination=_2.toAccAddress=void 0;var V2t=Ps(),J2t=Uh(),q2t=jA();function epn(e){return(0,V2t.fromBech32)(e).data}_2.toAccAddress=epn;function tpn(e){return e?q2t.PageRequest.fromPartial({key:e}):q2t.PageRequest.fromPartial({})}_2.createPagination=tpn;function rpn(e){return{request:async(t,r,i)=>{let n=`/${t}/${r}`;return(await e.queryAbci(n,i,void 0)).value}}}_2.createProtobufRpcClient=rpn;function npn(e){let t=J2t.Uint64.fromString(e.toString());return BigInt(t.toString())}_2.longify=npn;function ipn(e){let t=typeof e=="string"?e:(0,V2t.fromAscii)(e);return J2t.Decimal.fromAtomics(t,18)}_2.decodeCosmosSdkDecFromProto=ipn});var ep=ir(m2=>{"use strict";J();K();z();Object.defineProperty(m2,"__esModule",{value:!0});m2.longify=m2.decodeCosmosSdkDecFromProto=m2.createProtobufRpcClient=m2.createPagination=m2.QueryClient=void 0;var opn=G2t();Object.defineProperty(m2,"QueryClient",{enumerable:!0,get:function(){return opn.QueryClient}});var Mee=z2t();Object.defineProperty(m2,"createPagination",{enumerable:!0,get:function(){return Mee.createPagination}});Object.defineProperty(m2,"createProtobufRpcClient",{enumerable:!0,get:function(){return Mee.createProtobufRpcClient}});Object.defineProperty(m2,"decodeCosmosSdkDecFromProto",{enumerable:!0,get:function(){return Mee.decodeCosmosSdkDecFromProto}});Object.defineProperty(m2,"longify",{enumerable:!0,get:function(){return Mee.longify}})});var K2t=ir(Dee=>{"use strict";J();K();z();Object.defineProperty(Dee,"__esModule",{value:!0});Dee.setupAuthExtension=void 0;var apn=H2t(),spn=ep();function cpn(e){let t=(0,spn.createProtobufRpcClient)(e),r=new apn.QueryClientImpl(t);return{auth:{account:async i=>{let{account:n}=await r.Account({address:i});return n??null}}}}Dee.setupAuthExtension=cpn});var $2t=ir(kee=>{"use strict";J();K();z();Object.defineProperty(kee,"__esModule",{value:!0});kee.createAuthzAminoConverters=void 0;function upn(){return{}}kee.createAuthzAminoConverters=upn});var u1=ir(W7=>{"use strict";J();K();z();Object.defineProperty(W7,"__esModule",{value:!0});W7.Timestamp=W7.protobufPackage=void 0;var yRe=Qi(),Y2t=Hi();W7.protobufPackage="google.protobuf";function bRe(){return{seconds:BigInt(0),nanos:0}}W7.Timestamp={typeUrl:"/google.protobuf.Timestamp",encode(e,t=yRe.BinaryWriter.create()){return e.seconds!==BigInt(0)&&t.uint32(8).int64(e.seconds),e.nanos!==0&&t.uint32(16).int32(e.nanos),t},decode(e,t){let r=e instanceof yRe.BinaryReader?e:new yRe.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.seconds=r.int64();break;case 2:n.nanos=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=bRe();return(0,Y2t.isSet)(e.seconds)&&(t.seconds=BigInt(e.seconds.toString())),(0,Y2t.isSet)(e.nanos)&&(t.nanos=Number(e.nanos)),t},toJSON(e){let t={};return e.seconds!==void 0&&(t.seconds=(e.seconds||BigInt(0)).toString()),e.nanos!==void 0&&(t.nanos=Math.round(e.nanos)),t},fromPartial(e){let t=bRe();return e.seconds!==void 0&&e.seconds!==null&&(t.seconds=BigInt(e.seconds.toString())),t.nanos=e.nanos??0,t}}});var IRe=ir(y2=>{"use strict";J();K();z();Object.defineProperty(y2,"__esModule",{value:!0});y2.GrantQueueItem=y2.GrantAuthorization=y2.Grant=y2.GenericAuthorization=y2.protobufPackage=void 0;var CE=ru(),X7=u1(),b2=Qi(),Ey=Hi();y2.protobufPackage="cosmos.authz.v1beta1";function ERe(){return{msg:""}}y2.GenericAuthorization={typeUrl:"/cosmos.authz.v1beta1.GenericAuthorization",encode(e,t=b2.BinaryWriter.create()){return e.msg!==""&&t.uint32(10).string(e.msg),t},decode(e,t){let r=e instanceof b2.BinaryReader?e:new b2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ERe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.msg=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=ERe();return(0,Ey.isSet)(e.msg)&&(t.msg=String(e.msg)),t},toJSON(e){let t={};return e.msg!==void 0&&(t.msg=e.msg),t},fromPartial(e){let t=ERe();return t.msg=e.msg??"",t}};function vRe(){return{authorization:void 0,expiration:void 0}}y2.Grant={typeUrl:"/cosmos.authz.v1beta1.Grant",encode(e,t=b2.BinaryWriter.create()){return e.authorization!==void 0&&CE.Any.encode(e.authorization,t.uint32(10).fork()).ldelim(),e.expiration!==void 0&&X7.Timestamp.encode(e.expiration,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof b2.BinaryReader?e:new b2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authorization=CE.Any.decode(r,r.uint32());break;case 2:n.expiration=X7.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vRe();return(0,Ey.isSet)(e.authorization)&&(t.authorization=CE.Any.fromJSON(e.authorization)),(0,Ey.isSet)(e.expiration)&&(t.expiration=(0,Ey.fromJsonTimestamp)(e.expiration)),t},toJSON(e){let t={};return e.authorization!==void 0&&(t.authorization=e.authorization?CE.Any.toJSON(e.authorization):void 0),e.expiration!==void 0&&(t.expiration=(0,Ey.fromTimestamp)(e.expiration).toISOString()),t},fromPartial(e){let t=vRe();return e.authorization!==void 0&&e.authorization!==null&&(t.authorization=CE.Any.fromPartial(e.authorization)),e.expiration!==void 0&&e.expiration!==null&&(t.expiration=X7.Timestamp.fromPartial(e.expiration)),t}};function RRe(){return{granter:"",grantee:"",authorization:void 0,expiration:void 0}}y2.GrantAuthorization={typeUrl:"/cosmos.authz.v1beta1.GrantAuthorization",encode(e,t=b2.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.authorization!==void 0&&CE.Any.encode(e.authorization,t.uint32(26).fork()).ldelim(),e.expiration!==void 0&&X7.Timestamp.encode(e.expiration,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof b2.BinaryReader?e:new b2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=RRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.authorization=CE.Any.decode(r,r.uint32());break;case 4:n.expiration=X7.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=RRe();return(0,Ey.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,Ey.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,Ey.isSet)(e.authorization)&&(t.authorization=CE.Any.fromJSON(e.authorization)),(0,Ey.isSet)(e.expiration)&&(t.expiration=(0,Ey.fromJsonTimestamp)(e.expiration)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.authorization!==void 0&&(t.authorization=e.authorization?CE.Any.toJSON(e.authorization):void 0),e.expiration!==void 0&&(t.expiration=(0,Ey.fromTimestamp)(e.expiration).toISOString()),t},fromPartial(e){let t=RRe();return t.granter=e.granter??"",t.grantee=e.grantee??"",e.authorization!==void 0&&e.authorization!==null&&(t.authorization=CE.Any.fromPartial(e.authorization)),e.expiration!==void 0&&e.expiration!==null&&(t.expiration=X7.Timestamp.fromPartial(e.expiration)),t}};function SRe(){return{msgTypeUrls:[]}}y2.GrantQueueItem={typeUrl:"/cosmos.authz.v1beta1.GrantQueueItem",encode(e,t=b2.BinaryWriter.create()){for(let r of e.msgTypeUrls)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof b2.BinaryReader?e:new b2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.msgTypeUrls.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=SRe();return Array.isArray(e?.msgTypeUrls)&&(t.msgTypeUrls=e.msgTypeUrls.map(r=>String(r))),t},toJSON(e){let t={};return e.msgTypeUrls?t.msgTypeUrls=e.msgTypeUrls.map(r=>r):t.msgTypeUrls=[],t},fromPartial(e){let t=SRe();return t.msgTypeUrls=e.msgTypeUrls?.map(r=>r)||[],t}}});var W2t=ir(I0=>{"use strict";J();K();z();Object.defineProperty(I0,"__esModule",{value:!0});I0.MsgClientImpl=I0.MsgRevokeResponse=I0.MsgRevoke=I0.MsgGrantResponse=I0.MsgExec=I0.MsgExecResponse=I0.MsgGrant=I0.protobufPackage=void 0;var Z7=IRe(),JF=ru(),Gd=Qi(),CS=Hi();I0.protobufPackage="cosmos.authz.v1beta1";function CRe(){return{granter:"",grantee:"",grant:Z7.Grant.fromPartial({})}}I0.MsgGrant={typeUrl:"/cosmos.authz.v1beta1.MsgGrant",encode(e,t=Gd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.grant!==void 0&&Z7.Grant.encode(e.grant,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=CRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.grant=Z7.Grant.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=CRe();return(0,CS.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,CS.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,CS.isSet)(e.grant)&&(t.grant=Z7.Grant.fromJSON(e.grant)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.grant!==void 0&&(t.grant=e.grant?Z7.Grant.toJSON(e.grant):void 0),t},fromPartial(e){let t=CRe();return t.granter=e.granter??"",t.grantee=e.grantee??"",e.grant!==void 0&&e.grant!==null&&(t.grant=Z7.Grant.fromPartial(e.grant)),t}};function wRe(){return{results:[]}}I0.MsgExecResponse={typeUrl:"/cosmos.authz.v1beta1.MsgExecResponse",encode(e,t=Gd.BinaryWriter.create()){for(let r of e.results)t.uint32(10).bytes(r);return t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.results.push(r.bytes()):r.skipType(o&7)}return n},fromJSON(e){let t=wRe();return Array.isArray(e?.results)&&(t.results=e.results.map(r=>(0,CS.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.results?t.results=e.results.map(r=>(0,CS.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.results=[],t},fromPartial(e){let t=wRe();return t.results=e.results?.map(r=>r)||[],t}};function ORe(){return{grantee:"",msgs:[]}}I0.MsgExec={typeUrl:"/cosmos.authz.v1beta1.MsgExec",encode(e,t=Gd.BinaryWriter.create()){e.grantee!==""&&t.uint32(10).string(e.grantee);for(let r of e.msgs)JF.Any.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ORe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grantee=r.string();break;case 2:n.msgs.push(JF.Any.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ORe();return(0,CS.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),Array.isArray(e?.msgs)&&(t.msgs=e.msgs.map(r=>JF.Any.fromJSON(r))),t},toJSON(e){let t={};return e.grantee!==void 0&&(t.grantee=e.grantee),e.msgs?t.msgs=e.msgs.map(r=>r?JF.Any.toJSON(r):void 0):t.msgs=[],t},fromPartial(e){let t=ORe();return t.grantee=e.grantee??"",t.msgs=e.msgs?.map(r=>JF.Any.fromPartial(r))||[],t}};function NRe(){return{}}I0.MsgGrantResponse={typeUrl:"/cosmos.authz.v1beta1.MsgGrantResponse",encode(e,t=Gd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=NRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return NRe()},toJSON(e){return{}},fromPartial(e){return NRe()}};function xRe(){return{granter:"",grantee:"",msgTypeUrl:""}}I0.MsgRevoke={typeUrl:"/cosmos.authz.v1beta1.MsgRevoke",encode(e,t=Gd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.msgTypeUrl!==""&&t.uint32(26).string(e.msgTypeUrl),t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.msgTypeUrl=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=xRe();return(0,CS.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,CS.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,CS.isSet)(e.msgTypeUrl)&&(t.msgTypeUrl=String(e.msgTypeUrl)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.msgTypeUrl!==void 0&&(t.msgTypeUrl=e.msgTypeUrl),t},fromPartial(e){let t=xRe();return t.granter=e.granter??"",t.grantee=e.grantee??"",t.msgTypeUrl=e.msgTypeUrl??"",t}};function TRe(){return{}}I0.MsgRevokeResponse={typeUrl:"/cosmos.authz.v1beta1.MsgRevokeResponse",encode(e,t=Gd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Gd.BinaryReader?e:new Gd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return TRe()},toJSON(e){return{}},fromPartial(e){return TRe()}};var BRe=class{constructor(t){this.rpc=t,this.Grant=this.Grant.bind(this),this.Exec=this.Exec.bind(this),this.Revoke=this.Revoke.bind(this)}Grant(t){let r=I0.MsgGrant.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Msg","Grant",r).then(n=>I0.MsgGrantResponse.decode(new Gd.BinaryReader(n)))}Exec(t){let r=I0.MsgExec.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Msg","Exec",r).then(n=>I0.MsgExecResponse.decode(new Gd.BinaryReader(n)))}Revoke(t){let r=I0.MsgRevoke.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Msg","Revoke",r).then(n=>I0.MsgRevokeResponse.decode(new Gd.BinaryReader(n)))}};I0.MsgClientImpl=BRe});var X2t=ir(Pee=>{"use strict";J();K();z();Object.defineProperty(Pee,"__esModule",{value:!0});Pee.authzTypes=void 0;var MRe=W2t();Pee.authzTypes=[["/cosmos.authz.v1beta1.MsgExec",MRe.MsgExec],["/cosmos.authz.v1beta1.MsgGrant",MRe.MsgGrant],["/cosmos.authz.v1beta1.MsgRevoke",MRe.MsgRevoke]]});var Z2t=ir(C0=>{"use strict";J();K();z();Object.defineProperty(C0,"__esModule",{value:!0});C0.QueryClientImpl=C0.QueryGranteeGrantsResponse=C0.QueryGranteeGrantsRequest=C0.QueryGranterGrantsResponse=C0.QueryGranterGrantsRequest=C0.QueryGrantsResponse=C0.QueryGrantsRequest=C0.protobufPackage=void 0;var Dc=jA(),tp=IRe(),qd=Qi(),vy=Hi();C0.protobufPackage="cosmos.authz.v1beta1";function DRe(){return{granter:"",grantee:"",msgTypeUrl:"",pagination:void 0}}C0.QueryGrantsRequest={typeUrl:"/cosmos.authz.v1beta1.QueryGrantsRequest",encode(e,t=qd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.msgTypeUrl!==""&&t.uint32(26).string(e.msgTypeUrl),e.pagination!==void 0&&Dc.PageRequest.encode(e.pagination,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=DRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.msgTypeUrl=r.string();break;case 4:n.pagination=Dc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=DRe();return(0,vy.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,vy.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,vy.isSet)(e.msgTypeUrl)&&(t.msgTypeUrl=String(e.msgTypeUrl)),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.msgTypeUrl!==void 0&&(t.msgTypeUrl=e.msgTypeUrl),e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=DRe();return t.granter=e.granter??"",t.grantee=e.grantee??"",t.msgTypeUrl=e.msgTypeUrl??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageRequest.fromPartial(e.pagination)),t}};function kRe(){return{grants:[],pagination:void 0}}C0.QueryGrantsResponse={typeUrl:"/cosmos.authz.v1beta1.QueryGrantsResponse",encode(e,t=qd.BinaryWriter.create()){for(let r of e.grants)tp.Grant.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Dc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grants.push(tp.Grant.decode(r,r.uint32()));break;case 2:n.pagination=Dc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kRe();return Array.isArray(e?.grants)&&(t.grants=e.grants.map(r=>tp.Grant.fromJSON(r))),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.grants?t.grants=e.grants.map(r=>r?tp.Grant.toJSON(r):void 0):t.grants=[],e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=kRe();return t.grants=e.grants?.map(r=>tp.Grant.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageResponse.fromPartial(e.pagination)),t}};function PRe(){return{granter:"",pagination:void 0}}C0.QueryGranterGrantsRequest={typeUrl:"/cosmos.authz.v1beta1.QueryGranterGrantsRequest",encode(e,t=qd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.pagination!==void 0&&Dc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=PRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.pagination=Dc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=PRe();return(0,vy.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=PRe();return t.granter=e.granter??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageRequest.fromPartial(e.pagination)),t}};function LRe(){return{grants:[],pagination:void 0}}C0.QueryGranterGrantsResponse={typeUrl:"/cosmos.authz.v1beta1.QueryGranterGrantsResponse",encode(e,t=qd.BinaryWriter.create()){for(let r of e.grants)tp.GrantAuthorization.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Dc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grants.push(tp.GrantAuthorization.decode(r,r.uint32()));break;case 2:n.pagination=Dc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=LRe();return Array.isArray(e?.grants)&&(t.grants=e.grants.map(r=>tp.GrantAuthorization.fromJSON(r))),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.grants?t.grants=e.grants.map(r=>r?tp.GrantAuthorization.toJSON(r):void 0):t.grants=[],e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=LRe();return t.grants=e.grants?.map(r=>tp.GrantAuthorization.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageResponse.fromPartial(e.pagination)),t}};function URe(){return{grantee:"",pagination:void 0}}C0.QueryGranteeGrantsRequest={typeUrl:"/cosmos.authz.v1beta1.QueryGranteeGrantsRequest",encode(e,t=qd.BinaryWriter.create()){return e.grantee!==""&&t.uint32(10).string(e.grantee),e.pagination!==void 0&&Dc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=URe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grantee=r.string();break;case 2:n.pagination=Dc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=URe();return(0,vy.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.grantee!==void 0&&(t.grantee=e.grantee),e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=URe();return t.grantee=e.grantee??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageRequest.fromPartial(e.pagination)),t}};function FRe(){return{grants:[],pagination:void 0}}C0.QueryGranteeGrantsResponse={typeUrl:"/cosmos.authz.v1beta1.QueryGranteeGrantsResponse",encode(e,t=qd.BinaryWriter.create()){for(let r of e.grants)tp.GrantAuthorization.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Dc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qd.BinaryReader?e:new qd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=FRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grants.push(tp.GrantAuthorization.decode(r,r.uint32()));break;case 2:n.pagination=Dc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=FRe();return Array.isArray(e?.grants)&&(t.grants=e.grants.map(r=>tp.GrantAuthorization.fromJSON(r))),(0,vy.isSet)(e.pagination)&&(t.pagination=Dc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.grants?t.grants=e.grants.map(r=>r?tp.GrantAuthorization.toJSON(r):void 0):t.grants=[],e.pagination!==void 0&&(t.pagination=e.pagination?Dc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=FRe();return t.grants=e.grants?.map(r=>tp.GrantAuthorization.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Dc.PageResponse.fromPartial(e.pagination)),t}};var QRe=class{constructor(t){this.rpc=t,this.Grants=this.Grants.bind(this),this.GranterGrants=this.GranterGrants.bind(this),this.GranteeGrants=this.GranteeGrants.bind(this)}Grants(t){let r=C0.QueryGrantsRequest.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Query","Grants",r).then(n=>C0.QueryGrantsResponse.decode(new qd.BinaryReader(n)))}GranterGrants(t){let r=C0.QueryGranterGrantsRequest.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Query","GranterGrants",r).then(n=>C0.QueryGranterGrantsResponse.decode(new qd.BinaryReader(n)))}GranteeGrants(t){let r=C0.QueryGranteeGrantsRequest.encode(t).finish();return this.rpc.request("cosmos.authz.v1beta1.Query","GranteeGrants",r).then(n=>C0.QueryGranteeGrantsResponse.decode(new qd.BinaryReader(n)))}};C0.QueryClientImpl=QRe});var j2t=ir(Uee=>{"use strict";J();K();z();Object.defineProperty(Uee,"__esModule",{value:!0});Uee.setupAuthzExtension=void 0;var dpn=Z2t(),Lee=ep();function fpn(e){let t=(0,Lee.createProtobufRpcClient)(e),r=new dpn.QueryClientImpl(t);return{authz:{grants:async(i,n,o,d)=>await r.Grants({granter:i,grantee:n,msgTypeUrl:o,pagination:(0,Lee.createPagination)(d)}),granteeGrants:async(i,n)=>await r.GranteeGrants({grantee:i,pagination:(0,Lee.createPagination)(n)}),granterGrants:async(i,n)=>await r.GranterGrants({granter:i,pagination:(0,Lee.createPagination)(n)})}}}Uee.setupAuthzExtension=fpn});var emt=ir(o8=>{"use strict";J();K();z();Object.defineProperty(o8,"__esModule",{value:!0});o8.createBankAminoConverters=o8.isAminoMsgMultiSend=o8.isAminoMsgSend=void 0;function lpn(e){return e.type==="cosmos-sdk/MsgSend"}o8.isAminoMsgSend=lpn;function hpn(e){return e.type==="cosmos-sdk/MsgMultiSend"}o8.isAminoMsgMultiSend=hpn;function Apn(){return{"/cosmos.bank.v1beta1.MsgSend":{aminoType:"cosmos-sdk/MsgSend",toAmino:({fromAddress:e,toAddress:t,amount:r})=>({from_address:e,to_address:t,amount:[...r]}),fromAmino:({from_address:e,to_address:t,amount:r})=>({fromAddress:e,toAddress:t,amount:[...r]})},"/cosmos.bank.v1beta1.MsgMultiSend":{aminoType:"cosmos-sdk/MsgMultiSend",toAmino:({inputs:e,outputs:t})=>({inputs:e.map(r=>({address:r.address,coins:[...r.coins]})),outputs:t.map(r=>({address:r.address,coins:[...r.coins]}))}),fromAmino:({inputs:e,outputs:t})=>({inputs:e.map(r=>({address:r.address,coins:[...r.coins]})),outputs:t.map(r=>({address:r.address,coins:[...r.coins]}))})}}}o8.createBankAminoConverters=Apn});var rmt=ir(j7=>{"use strict";J();K();z();Object.defineProperty(j7,"__esModule",{value:!0});j7.isMsgSendEncodeObject=j7.bankTypes=void 0;var tmt=Cve();j7.bankTypes=[["/cosmos.bank.v1beta1.MsgMultiSend",tmt.MsgMultiSend],["/cosmos.bank.v1beta1.MsgSend",tmt.MsgSend]];function ppn(e){return e.typeUrl==="/cosmos.bank.v1beta1.MsgSend"}j7.isMsgSendEncodeObject=ppn});var nmt=ir(Ri=>{"use strict";J();K();z();Object.defineProperty(Ri,"__esModule",{value:!0});Ri.QueryClientImpl=Ri.QuerySendEnabledResponse=Ri.QuerySendEnabledRequest=Ri.QueryDenomOwnersResponse=Ri.DenomOwner=Ri.QueryDenomOwnersRequest=Ri.QueryDenomMetadataResponse=Ri.QueryDenomMetadataRequest=Ri.QueryDenomsMetadataResponse=Ri.QueryDenomsMetadataRequest=Ri.QueryParamsResponse=Ri.QueryParamsRequest=Ri.QuerySupplyOfResponse=Ri.QuerySupplyOfRequest=Ri.QueryTotalSupplyResponse=Ri.QueryTotalSupplyRequest=Ri.QuerySpendableBalanceByDenomResponse=Ri.QuerySpendableBalanceByDenomRequest=Ri.QuerySpendableBalancesResponse=Ri.QuerySpendableBalancesRequest=Ri.QueryAllBalancesResponse=Ri.QueryAllBalancesRequest=Ri.QueryBalanceResponse=Ri.QueryBalanceRequest=Ri.protobufPackage=void 0;var no=jA(),Es=Af(),_d=gve(),vi=Qi(),yu=Hi();Ri.protobufPackage="cosmos.bank.v1beta1";function HRe(){return{address:"",denom:""}}Ri.QueryBalanceRequest={typeUrl:"/cosmos.bank.v1beta1.QueryBalanceRequest",encode(e,t=vi.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.denom!==""&&t.uint32(18).string(e.denom),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.denom=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=HRe();return(0,yu.isSet)(e.address)&&(t.address=String(e.address)),(0,yu.isSet)(e.denom)&&(t.denom=String(e.denom)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.denom!==void 0&&(t.denom=e.denom),t},fromPartial(e){let t=HRe();return t.address=e.address??"",t.denom=e.denom??"",t}};function GRe(){return{balance:void 0}}Ri.QueryBalanceResponse={typeUrl:"/cosmos.bank.v1beta1.QueryBalanceResponse",encode(e,t=vi.BinaryWriter.create()){return e.balance!==void 0&&Es.Coin.encode(e.balance,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.balance=Es.Coin.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=GRe();return(0,yu.isSet)(e.balance)&&(t.balance=Es.Coin.fromJSON(e.balance)),t},toJSON(e){let t={};return e.balance!==void 0&&(t.balance=e.balance?Es.Coin.toJSON(e.balance):void 0),t},fromPartial(e){let t=GRe();return e.balance!==void 0&&e.balance!==null&&(t.balance=Es.Coin.fromPartial(e.balance)),t}};function qRe(){return{address:"",pagination:void 0}}Ri.QueryAllBalancesRequest={typeUrl:"/cosmos.bank.v1beta1.QueryAllBalancesRequest",encode(e,t=vi.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.pagination=no.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qRe();return(0,yu.isSet)(e.address)&&(t.address=String(e.address)),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=qRe();return t.address=e.address??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function VRe(){return{balances:[],pagination:void 0}}Ri.QueryAllBalancesResponse={typeUrl:"/cosmos.bank.v1beta1.QueryAllBalancesResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.balances)Es.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.balances.push(Es.Coin.decode(r,r.uint32()));break;case 2:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=VRe();return Array.isArray(e?.balances)&&(t.balances=e.balances.map(r=>Es.Coin.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.balances?t.balances=e.balances.map(r=>r?Es.Coin.toJSON(r):void 0):t.balances=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=VRe();return t.balances=e.balances?.map(r=>Es.Coin.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};function JRe(){return{address:"",pagination:void 0}}Ri.QuerySpendableBalancesRequest={typeUrl:"/cosmos.bank.v1beta1.QuerySpendableBalancesRequest",encode(e,t=vi.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=JRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.pagination=no.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=JRe();return(0,yu.isSet)(e.address)&&(t.address=String(e.address)),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=JRe();return t.address=e.address??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function zRe(){return{balances:[],pagination:void 0}}Ri.QuerySpendableBalancesResponse={typeUrl:"/cosmos.bank.v1beta1.QuerySpendableBalancesResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.balances)Es.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.balances.push(Es.Coin.decode(r,r.uint32()));break;case 2:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=zRe();return Array.isArray(e?.balances)&&(t.balances=e.balances.map(r=>Es.Coin.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.balances?t.balances=e.balances.map(r=>r?Es.Coin.toJSON(r):void 0):t.balances=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=zRe();return t.balances=e.balances?.map(r=>Es.Coin.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};function KRe(){return{address:"",denom:""}}Ri.QuerySpendableBalanceByDenomRequest={typeUrl:"/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest",encode(e,t=vi.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.denom!==""&&t.uint32(18).string(e.denom),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=KRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.denom=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=KRe();return(0,yu.isSet)(e.address)&&(t.address=String(e.address)),(0,yu.isSet)(e.denom)&&(t.denom=String(e.denom)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.denom!==void 0&&(t.denom=e.denom),t},fromPartial(e){let t=KRe();return t.address=e.address??"",t.denom=e.denom??"",t}};function $Re(){return{balance:void 0}}Ri.QuerySpendableBalanceByDenomResponse={typeUrl:"/cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse",encode(e,t=vi.BinaryWriter.create()){return e.balance!==void 0&&Es.Coin.encode(e.balance,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$Re();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.balance=Es.Coin.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=$Re();return(0,yu.isSet)(e.balance)&&(t.balance=Es.Coin.fromJSON(e.balance)),t},toJSON(e){let t={};return e.balance!==void 0&&(t.balance=e.balance?Es.Coin.toJSON(e.balance):void 0),t},fromPartial(e){let t=$Re();return e.balance!==void 0&&e.balance!==null&&(t.balance=Es.Coin.fromPartial(e.balance)),t}};function YRe(){return{pagination:void 0}}Ri.QueryTotalSupplyRequest={typeUrl:"/cosmos.bank.v1beta1.QueryTotalSupplyRequest",encode(e,t=vi.BinaryWriter.create()){return e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=YRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=no.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=YRe();return(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=YRe();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function WRe(){return{supply:[],pagination:void 0}}Ri.QueryTotalSupplyResponse={typeUrl:"/cosmos.bank.v1beta1.QueryTotalSupplyResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.supply)Es.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=WRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.supply.push(Es.Coin.decode(r,r.uint32()));break;case 2:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=WRe();return Array.isArray(e?.supply)&&(t.supply=e.supply.map(r=>Es.Coin.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.supply?t.supply=e.supply.map(r=>r?Es.Coin.toJSON(r):void 0):t.supply=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=WRe();return t.supply=e.supply?.map(r=>Es.Coin.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};function XRe(){return{denom:""}}Ri.QuerySupplyOfRequest={typeUrl:"/cosmos.bank.v1beta1.QuerySupplyOfRequest",encode(e,t=vi.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=XRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.denom=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=XRe();return(0,yu.isSet)(e.denom)&&(t.denom=String(e.denom)),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),t},fromPartial(e){let t=XRe();return t.denom=e.denom??"",t}};function ZRe(){return{amount:Es.Coin.fromPartial({})}}Ri.QuerySupplyOfResponse={typeUrl:"/cosmos.bank.v1beta1.QuerySupplyOfResponse",encode(e,t=vi.BinaryWriter.create()){return e.amount!==void 0&&Es.Coin.encode(e.amount,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZRe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.amount=Es.Coin.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=ZRe();return(0,yu.isSet)(e.amount)&&(t.amount=Es.Coin.fromJSON(e.amount)),t},toJSON(e){let t={};return e.amount!==void 0&&(t.amount=e.amount?Es.Coin.toJSON(e.amount):void 0),t},fromPartial(e){let t=ZRe();return e.amount!==void 0&&e.amount!==null&&(t.amount=Es.Coin.fromPartial(e.amount)),t}};function jRe(){return{}}Ri.QueryParamsRequest={typeUrl:"/cosmos.bank.v1beta1.QueryParamsRequest",encode(e,t=vi.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jRe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return jRe()},toJSON(e){return{}},fromPartial(e){return jRe()}};function eSe(){return{params:_d.Params.fromPartial({})}}Ri.QueryParamsResponse={typeUrl:"/cosmos.bank.v1beta1.QueryParamsResponse",encode(e,t=vi.BinaryWriter.create()){return e.params!==void 0&&_d.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=_d.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=eSe();return(0,yu.isSet)(e.params)&&(t.params=_d.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?_d.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=eSe();return e.params!==void 0&&e.params!==null&&(t.params=_d.Params.fromPartial(e.params)),t}};function tSe(){return{pagination:void 0}}Ri.QueryDenomsMetadataRequest={typeUrl:"/cosmos.bank.v1beta1.QueryDenomsMetadataRequest",encode(e,t=vi.BinaryWriter.create()){return e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=no.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=tSe();return(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=tSe();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function rSe(){return{metadatas:[],pagination:void 0}}Ri.QueryDenomsMetadataResponse={typeUrl:"/cosmos.bank.v1beta1.QueryDenomsMetadataResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.metadatas)_d.Metadata.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.metadatas.push(_d.Metadata.decode(r,r.uint32()));break;case 2:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=rSe();return Array.isArray(e?.metadatas)&&(t.metadatas=e.metadatas.map(r=>_d.Metadata.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.metadatas?t.metadatas=e.metadatas.map(r=>r?_d.Metadata.toJSON(r):void 0):t.metadatas=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=rSe();return t.metadatas=e.metadatas?.map(r=>_d.Metadata.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};function nSe(){return{denom:""}}Ri.QueryDenomMetadataRequest={typeUrl:"/cosmos.bank.v1beta1.QueryDenomMetadataRequest",encode(e,t=vi.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.denom=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=nSe();return(0,yu.isSet)(e.denom)&&(t.denom=String(e.denom)),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),t},fromPartial(e){let t=nSe();return t.denom=e.denom??"",t}};function iSe(){return{metadata:_d.Metadata.fromPartial({})}}Ri.QueryDenomMetadataResponse={typeUrl:"/cosmos.bank.v1beta1.QueryDenomMetadataResponse",encode(e,t=vi.BinaryWriter.create()){return e.metadata!==void 0&&_d.Metadata.encode(e.metadata,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.metadata=_d.Metadata.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=iSe();return(0,yu.isSet)(e.metadata)&&(t.metadata=_d.Metadata.fromJSON(e.metadata)),t},toJSON(e){let t={};return e.metadata!==void 0&&(t.metadata=e.metadata?_d.Metadata.toJSON(e.metadata):void 0),t},fromPartial(e){let t=iSe();return e.metadata!==void 0&&e.metadata!==null&&(t.metadata=_d.Metadata.fromPartial(e.metadata)),t}};function oSe(){return{denom:"",pagination:void 0}}Ri.QueryDenomOwnersRequest={typeUrl:"/cosmos.bank.v1beta1.QueryDenomOwnersRequest",encode(e,t=vi.BinaryWriter.create()){return e.denom!==""&&t.uint32(10).string(e.denom),e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=oSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denom=r.string();break;case 2:n.pagination=no.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=oSe();return(0,yu.isSet)(e.denom)&&(t.denom=String(e.denom)),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.denom!==void 0&&(t.denom=e.denom),e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=oSe();return t.denom=e.denom??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function aSe(){return{address:"",balance:Es.Coin.fromPartial({})}}Ri.DenomOwner={typeUrl:"/cosmos.bank.v1beta1.DenomOwner",encode(e,t=vi.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.balance!==void 0&&Es.Coin.encode(e.balance,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.balance=Es.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=aSe();return(0,yu.isSet)(e.address)&&(t.address=String(e.address)),(0,yu.isSet)(e.balance)&&(t.balance=Es.Coin.fromJSON(e.balance)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.balance!==void 0&&(t.balance=e.balance?Es.Coin.toJSON(e.balance):void 0),t},fromPartial(e){let t=aSe();return t.address=e.address??"",e.balance!==void 0&&e.balance!==null&&(t.balance=Es.Coin.fromPartial(e.balance)),t}};function sSe(){return{denomOwners:[],pagination:void 0}}Ri.QueryDenomOwnersResponse={typeUrl:"/cosmos.bank.v1beta1.QueryDenomOwnersResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.denomOwners)Ri.DenomOwner.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denomOwners.push(Ri.DenomOwner.decode(r,r.uint32()));break;case 2:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=sSe();return Array.isArray(e?.denomOwners)&&(t.denomOwners=e.denomOwners.map(r=>Ri.DenomOwner.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.denomOwners?t.denomOwners=e.denomOwners.map(r=>r?Ri.DenomOwner.toJSON(r):void 0):t.denomOwners=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=sSe();return t.denomOwners=e.denomOwners?.map(r=>Ri.DenomOwner.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};function cSe(){return{denoms:[],pagination:void 0}}Ri.QuerySendEnabledRequest={typeUrl:"/cosmos.bank.v1beta1.QuerySendEnabledRequest",encode(e,t=vi.BinaryWriter.create()){for(let r of e.denoms)t.uint32(10).string(r);return e.pagination!==void 0&&no.PageRequest.encode(e.pagination,t.uint32(794).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denoms.push(r.string());break;case 99:n.pagination=no.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=cSe();return Array.isArray(e?.denoms)&&(t.denoms=e.denoms.map(r=>String(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.denoms?t.denoms=e.denoms.map(r=>r):t.denoms=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=cSe();return t.denoms=e.denoms?.map(r=>r)||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageRequest.fromPartial(e.pagination)),t}};function uSe(){return{sendEnabled:[],pagination:void 0}}Ri.QuerySendEnabledResponse={typeUrl:"/cosmos.bank.v1beta1.QuerySendEnabledResponse",encode(e,t=vi.BinaryWriter.create()){for(let r of e.sendEnabled)_d.SendEnabled.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&no.PageResponse.encode(e.pagination,t.uint32(794).fork()).ldelim(),t},decode(e,t){let r=e instanceof vi.BinaryReader?e:new vi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.sendEnabled.push(_d.SendEnabled.decode(r,r.uint32()));break;case 99:n.pagination=no.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=uSe();return Array.isArray(e?.sendEnabled)&&(t.sendEnabled=e.sendEnabled.map(r=>_d.SendEnabled.fromJSON(r))),(0,yu.isSet)(e.pagination)&&(t.pagination=no.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.sendEnabled?t.sendEnabled=e.sendEnabled.map(r=>r?_d.SendEnabled.toJSON(r):void 0):t.sendEnabled=[],e.pagination!==void 0&&(t.pagination=e.pagination?no.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=uSe();return t.sendEnabled=e.sendEnabled?.map(r=>_d.SendEnabled.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=no.PageResponse.fromPartial(e.pagination)),t}};var dSe=class{constructor(t){this.rpc=t,this.Balance=this.Balance.bind(this),this.AllBalances=this.AllBalances.bind(this),this.SpendableBalances=this.SpendableBalances.bind(this),this.SpendableBalanceByDenom=this.SpendableBalanceByDenom.bind(this),this.TotalSupply=this.TotalSupply.bind(this),this.SupplyOf=this.SupplyOf.bind(this),this.Params=this.Params.bind(this),this.DenomMetadata=this.DenomMetadata.bind(this),this.DenomsMetadata=this.DenomsMetadata.bind(this),this.DenomOwners=this.DenomOwners.bind(this),this.SendEnabled=this.SendEnabled.bind(this)}Balance(t){let r=Ri.QueryBalanceRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","Balance",r).then(n=>Ri.QueryBalanceResponse.decode(new vi.BinaryReader(n)))}AllBalances(t){let r=Ri.QueryAllBalancesRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","AllBalances",r).then(n=>Ri.QueryAllBalancesResponse.decode(new vi.BinaryReader(n)))}SpendableBalances(t){let r=Ri.QuerySpendableBalancesRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","SpendableBalances",r).then(n=>Ri.QuerySpendableBalancesResponse.decode(new vi.BinaryReader(n)))}SpendableBalanceByDenom(t){let r=Ri.QuerySpendableBalanceByDenomRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","SpendableBalanceByDenom",r).then(n=>Ri.QuerySpendableBalanceByDenomResponse.decode(new vi.BinaryReader(n)))}TotalSupply(t={pagination:no.PageRequest.fromPartial({})}){let r=Ri.QueryTotalSupplyRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","TotalSupply",r).then(n=>Ri.QueryTotalSupplyResponse.decode(new vi.BinaryReader(n)))}SupplyOf(t){let r=Ri.QuerySupplyOfRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","SupplyOf",r).then(n=>Ri.QuerySupplyOfResponse.decode(new vi.BinaryReader(n)))}Params(t={}){let r=Ri.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","Params",r).then(n=>Ri.QueryParamsResponse.decode(new vi.BinaryReader(n)))}DenomMetadata(t){let r=Ri.QueryDenomMetadataRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","DenomMetadata",r).then(n=>Ri.QueryDenomMetadataResponse.decode(new vi.BinaryReader(n)))}DenomsMetadata(t={pagination:no.PageRequest.fromPartial({})}){let r=Ri.QueryDenomsMetadataRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","DenomsMetadata",r).then(n=>Ri.QueryDenomsMetadataResponse.decode(new vi.BinaryReader(n)))}DenomOwners(t){let r=Ri.QueryDenomOwnersRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","DenomOwners",r).then(n=>Ri.QueryDenomOwnersResponse.decode(new vi.BinaryReader(n)))}SendEnabled(t){let r=Ri.QuerySendEnabledRequest.encode(t).finish();return this.rpc.request("cosmos.bank.v1beta1.Query","SendEnabled",r).then(n=>Ri.QuerySendEnabledResponse.decode(new vi.BinaryReader(n)))}};Ri.QueryClientImpl=dSe});var omt=ir(Fee=>{"use strict";J();K();z();Object.defineProperty(Fee,"__esModule",{value:!0});Fee.setupBankExtension=void 0;var fSe=Uf(),lSe=nmt(),imt=ep();function gpn(e){let t=(0,imt.createProtobufRpcClient)(e),r=new lSe.QueryClientImpl(t);return{bank:{balance:async(i,n)=>{let{balance:o}=await r.Balance({address:i,denom:n});return(0,fSe.assert)(o),o},allBalances:async i=>{let{balances:n}=await r.AllBalances(lSe.QueryAllBalancesRequest.fromPartial({address:i}));return n},totalSupply:async i=>await r.TotalSupply({pagination:(0,imt.createPagination)(i)}),supplyOf:async i=>{let{amount:n}=await r.SupplyOf({denom:i});return(0,fSe.assert)(n),n},denomMetadata:async i=>{let{metadata:n}=await r.DenomMetadata({denom:i});return(0,fSe.assert)(n),n},denomsMetadata:async()=>{let{metadatas:i}=await r.DenomsMetadata(lSe.QueryDenomsMetadataRequest.fromPartial({pagination:void 0}));return i}}}}Fee.setupBankExtension=gpn});var amt=ir(e9=>{"use strict";J();K();z();Object.defineProperty(e9,"__esModule",{value:!0});e9.createCrysisAminoConverters=e9.isAminoMsgVerifyInvariant=void 0;function _pn(e){return e.type==="cosmos-sdk/MsgVerifyInvariant"}e9.isAminoMsgVerifyInvariant=_pn;function mpn(){throw new Error("Not implemented")}e9.createCrysisAminoConverters=mpn});var smt=ir(E2=>{"use strict";J();K();z();Object.defineProperty(E2,"__esModule",{value:!0});E2.createDistributionAminoConverters=E2.isAminoMsgFundCommunityPool=E2.isAminoMsgWithdrawValidatorCommission=E2.isAminoMsgWithdrawDelegatorReward=E2.isAminoMsgSetWithdrawAddress=void 0;function ypn(e){return e.type==="cosmos-sdk/MsgModifyWithdrawAddress"}E2.isAminoMsgSetWithdrawAddress=ypn;function bpn(e){return e.type==="cosmos-sdk/MsgWithdrawDelegationReward"}E2.isAminoMsgWithdrawDelegatorReward=bpn;function Epn(e){return e.type==="cosmos-sdk/MsgWithdrawValidatorCommission"}E2.isAminoMsgWithdrawValidatorCommission=Epn;function vpn(e){return e.type==="cosmos-sdk/MsgFundCommunityPool"}E2.isAminoMsgFundCommunityPool=vpn;function Rpn(){return{"/cosmos.distribution.v1beta1.MsgFundCommunityPool":{aminoType:"cosmos-sdk/MsgFundCommunityPool",toAmino:({amount:e,depositor:t})=>({amount:[...e],depositor:t}),fromAmino:({amount:e,depositor:t})=>({amount:[...e],depositor:t})},"/cosmos.distribution.v1beta1.MsgSetWithdrawAddress":{aminoType:"cosmos-sdk/MsgModifyWithdrawAddress",toAmino:({delegatorAddress:e,withdrawAddress:t})=>({delegator_address:e,withdraw_address:t}),fromAmino:({delegator_address:e,withdraw_address:t})=>({delegatorAddress:e,withdrawAddress:t})},"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward":{aminoType:"cosmos-sdk/MsgWithdrawDelegationReward",toAmino:({delegatorAddress:e,validatorAddress:t})=>({delegator_address:e,validator_address:t}),fromAmino:({delegator_address:e,validator_address:t})=>({delegatorAddress:e,validatorAddress:t})},"/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission":{aminoType:"cosmos-sdk/MsgWithdrawValidatorCommission",toAmino:({validatorAddress:e})=>({validator_address:e}),fromAmino:({validator_address:e})=>({validatorAddress:e})}}}E2.createDistributionAminoConverters=Rpn});var ISe=ir(ic=>{"use strict";J();K();z();Object.defineProperty(ic,"__esModule",{value:!0});ic.CommunityPoolSpendProposalWithDeposit=ic.DelegationDelegatorReward=ic.DelegatorStartingInfo=ic.CommunityPoolSpendProposal=ic.FeePool=ic.ValidatorSlashEvents=ic.ValidatorSlashEvent=ic.ValidatorOutstandingRewards=ic.ValidatorAccumulatedCommission=ic.ValidatorCurrentRewards=ic.ValidatorHistoricalRewards=ic.Params=ic.protobufPackage=void 0;var Hs=Af(),Os=Qi(),_f=Hi();ic.protobufPackage="cosmos.distribution.v1beta1";function hSe(){return{communityTax:"",baseProposerReward:"",bonusProposerReward:"",withdrawAddrEnabled:!1}}ic.Params={typeUrl:"/cosmos.distribution.v1beta1.Params",encode(e,t=Os.BinaryWriter.create()){return e.communityTax!==""&&t.uint32(10).string(e.communityTax),e.baseProposerReward!==""&&t.uint32(18).string(e.baseProposerReward),e.bonusProposerReward!==""&&t.uint32(26).string(e.bonusProposerReward),e.withdrawAddrEnabled===!0&&t.uint32(32).bool(e.withdrawAddrEnabled),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.communityTax=r.string();break;case 2:n.baseProposerReward=r.string();break;case 3:n.bonusProposerReward=r.string();break;case 4:n.withdrawAddrEnabled=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=hSe();return(0,_f.isSet)(e.communityTax)&&(t.communityTax=String(e.communityTax)),(0,_f.isSet)(e.baseProposerReward)&&(t.baseProposerReward=String(e.baseProposerReward)),(0,_f.isSet)(e.bonusProposerReward)&&(t.bonusProposerReward=String(e.bonusProposerReward)),(0,_f.isSet)(e.withdrawAddrEnabled)&&(t.withdrawAddrEnabled=!!e.withdrawAddrEnabled),t},toJSON(e){let t={};return e.communityTax!==void 0&&(t.communityTax=e.communityTax),e.baseProposerReward!==void 0&&(t.baseProposerReward=e.baseProposerReward),e.bonusProposerReward!==void 0&&(t.bonusProposerReward=e.bonusProposerReward),e.withdrawAddrEnabled!==void 0&&(t.withdrawAddrEnabled=e.withdrawAddrEnabled),t},fromPartial(e){let t=hSe();return t.communityTax=e.communityTax??"",t.baseProposerReward=e.baseProposerReward??"",t.bonusProposerReward=e.bonusProposerReward??"",t.withdrawAddrEnabled=e.withdrawAddrEnabled??!1,t}};function ASe(){return{cumulativeRewardRatio:[],referenceCount:0}}ic.ValidatorHistoricalRewards={typeUrl:"/cosmos.distribution.v1beta1.ValidatorHistoricalRewards",encode(e,t=Os.BinaryWriter.create()){for(let r of e.cumulativeRewardRatio)Hs.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return e.referenceCount!==0&&t.uint32(16).uint32(e.referenceCount),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ASe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.cumulativeRewardRatio.push(Hs.DecCoin.decode(r,r.uint32()));break;case 2:n.referenceCount=r.uint32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ASe();return Array.isArray(e?.cumulativeRewardRatio)&&(t.cumulativeRewardRatio=e.cumulativeRewardRatio.map(r=>Hs.DecCoin.fromJSON(r))),(0,_f.isSet)(e.referenceCount)&&(t.referenceCount=Number(e.referenceCount)),t},toJSON(e){let t={};return e.cumulativeRewardRatio?t.cumulativeRewardRatio=e.cumulativeRewardRatio.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.cumulativeRewardRatio=[],e.referenceCount!==void 0&&(t.referenceCount=Math.round(e.referenceCount)),t},fromPartial(e){let t=ASe();return t.cumulativeRewardRatio=e.cumulativeRewardRatio?.map(r=>Hs.DecCoin.fromPartial(r))||[],t.referenceCount=e.referenceCount??0,t}};function pSe(){return{rewards:[],period:BigInt(0)}}ic.ValidatorCurrentRewards={typeUrl:"/cosmos.distribution.v1beta1.ValidatorCurrentRewards",encode(e,t=Os.BinaryWriter.create()){for(let r of e.rewards)Hs.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return e.period!==BigInt(0)&&t.uint32(16).uint64(e.period),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.rewards.push(Hs.DecCoin.decode(r,r.uint32()));break;case 2:n.period=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=pSe();return Array.isArray(e?.rewards)&&(t.rewards=e.rewards.map(r=>Hs.DecCoin.fromJSON(r))),(0,_f.isSet)(e.period)&&(t.period=BigInt(e.period.toString())),t},toJSON(e){let t={};return e.rewards?t.rewards=e.rewards.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.rewards=[],e.period!==void 0&&(t.period=(e.period||BigInt(0)).toString()),t},fromPartial(e){let t=pSe();return t.rewards=e.rewards?.map(r=>Hs.DecCoin.fromPartial(r))||[],e.period!==void 0&&e.period!==null&&(t.period=BigInt(e.period.toString())),t}};function gSe(){return{commission:[]}}ic.ValidatorAccumulatedCommission={typeUrl:"/cosmos.distribution.v1beta1.ValidatorAccumulatedCommission",encode(e,t=Os.BinaryWriter.create()){for(let r of e.commission)Hs.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.commission.push(Hs.DecCoin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=gSe();return Array.isArray(e?.commission)&&(t.commission=e.commission.map(r=>Hs.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.commission?t.commission=e.commission.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.commission=[],t},fromPartial(e){let t=gSe();return t.commission=e.commission?.map(r=>Hs.DecCoin.fromPartial(r))||[],t}};function _Se(){return{rewards:[]}}ic.ValidatorOutstandingRewards={typeUrl:"/cosmos.distribution.v1beta1.ValidatorOutstandingRewards",encode(e,t=Os.BinaryWriter.create()){for(let r of e.rewards)Hs.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_Se();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.rewards.push(Hs.DecCoin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=_Se();return Array.isArray(e?.rewards)&&(t.rewards=e.rewards.map(r=>Hs.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.rewards?t.rewards=e.rewards.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.rewards=[],t},fromPartial(e){let t=_Se();return t.rewards=e.rewards?.map(r=>Hs.DecCoin.fromPartial(r))||[],t}};function mSe(){return{validatorPeriod:BigInt(0),fraction:""}}ic.ValidatorSlashEvent={typeUrl:"/cosmos.distribution.v1beta1.ValidatorSlashEvent",encode(e,t=Os.BinaryWriter.create()){return e.validatorPeriod!==BigInt(0)&&t.uint32(8).uint64(e.validatorPeriod),e.fraction!==""&&t.uint32(18).string(e.fraction),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorPeriod=r.uint64();break;case 2:n.fraction=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=mSe();return(0,_f.isSet)(e.validatorPeriod)&&(t.validatorPeriod=BigInt(e.validatorPeriod.toString())),(0,_f.isSet)(e.fraction)&&(t.fraction=String(e.fraction)),t},toJSON(e){let t={};return e.validatorPeriod!==void 0&&(t.validatorPeriod=(e.validatorPeriod||BigInt(0)).toString()),e.fraction!==void 0&&(t.fraction=e.fraction),t},fromPartial(e){let t=mSe();return e.validatorPeriod!==void 0&&e.validatorPeriod!==null&&(t.validatorPeriod=BigInt(e.validatorPeriod.toString())),t.fraction=e.fraction??"",t}};function ySe(){return{validatorSlashEvents:[]}}ic.ValidatorSlashEvents={typeUrl:"/cosmos.distribution.v1beta1.ValidatorSlashEvents",encode(e,t=Os.BinaryWriter.create()){for(let r of e.validatorSlashEvents)ic.ValidatorSlashEvent.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ySe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorSlashEvents.push(ic.ValidatorSlashEvent.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=ySe();return Array.isArray(e?.validatorSlashEvents)&&(t.validatorSlashEvents=e.validatorSlashEvents.map(r=>ic.ValidatorSlashEvent.fromJSON(r))),t},toJSON(e){let t={};return e.validatorSlashEvents?t.validatorSlashEvents=e.validatorSlashEvents.map(r=>r?ic.ValidatorSlashEvent.toJSON(r):void 0):t.validatorSlashEvents=[],t},fromPartial(e){let t=ySe();return t.validatorSlashEvents=e.validatorSlashEvents?.map(r=>ic.ValidatorSlashEvent.fromPartial(r))||[],t}};function bSe(){return{communityPool:[]}}ic.FeePool={typeUrl:"/cosmos.distribution.v1beta1.FeePool",encode(e,t=Os.BinaryWriter.create()){for(let r of e.communityPool)Hs.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.communityPool.push(Hs.DecCoin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=bSe();return Array.isArray(e?.communityPool)&&(t.communityPool=e.communityPool.map(r=>Hs.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.communityPool?t.communityPool=e.communityPool.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.communityPool=[],t},fromPartial(e){let t=bSe();return t.communityPool=e.communityPool?.map(r=>Hs.DecCoin.fromPartial(r))||[],t}};function ESe(){return{title:"",description:"",recipient:"",amount:[]}}ic.CommunityPoolSpendProposal={typeUrl:"/cosmos.distribution.v1beta1.CommunityPoolSpendProposal",encode(e,t=Os.BinaryWriter.create()){e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),e.recipient!==""&&t.uint32(26).string(e.recipient);for(let r of e.amount)Hs.Coin.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ESe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;case 3:n.recipient=r.string();break;case 4:n.amount.push(Hs.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ESe();return(0,_f.isSet)(e.title)&&(t.title=String(e.title)),(0,_f.isSet)(e.description)&&(t.description=String(e.description)),(0,_f.isSet)(e.recipient)&&(t.recipient=String(e.recipient)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>Hs.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),e.recipient!==void 0&&(t.recipient=e.recipient),e.amount?t.amount=e.amount.map(r=>r?Hs.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=ESe();return t.title=e.title??"",t.description=e.description??"",t.recipient=e.recipient??"",t.amount=e.amount?.map(r=>Hs.Coin.fromPartial(r))||[],t}};function vSe(){return{previousPeriod:BigInt(0),stake:"",height:BigInt(0)}}ic.DelegatorStartingInfo={typeUrl:"/cosmos.distribution.v1beta1.DelegatorStartingInfo",encode(e,t=Os.BinaryWriter.create()){return e.previousPeriod!==BigInt(0)&&t.uint32(8).uint64(e.previousPeriod),e.stake!==""&&t.uint32(18).string(e.stake),e.height!==BigInt(0)&&t.uint32(24).uint64(e.height),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.previousPeriod=r.uint64();break;case 2:n.stake=r.string();break;case 3:n.height=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vSe();return(0,_f.isSet)(e.previousPeriod)&&(t.previousPeriod=BigInt(e.previousPeriod.toString())),(0,_f.isSet)(e.stake)&&(t.stake=String(e.stake)),(0,_f.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),t},toJSON(e){let t={};return e.previousPeriod!==void 0&&(t.previousPeriod=(e.previousPeriod||BigInt(0)).toString()),e.stake!==void 0&&(t.stake=e.stake),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),t},fromPartial(e){let t=vSe();return e.previousPeriod!==void 0&&e.previousPeriod!==null&&(t.previousPeriod=BigInt(e.previousPeriod.toString())),t.stake=e.stake??"",e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t}};function RSe(){return{validatorAddress:"",reward:[]}}ic.DelegationDelegatorReward={typeUrl:"/cosmos.distribution.v1beta1.DelegationDelegatorReward",encode(e,t=Os.BinaryWriter.create()){e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress);for(let r of e.reward)Hs.DecCoin.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=RSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorAddress=r.string();break;case 2:n.reward.push(Hs.DecCoin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=RSe();return(0,_f.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),Array.isArray(e?.reward)&&(t.reward=e.reward.map(r=>Hs.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.reward?t.reward=e.reward.map(r=>r?Hs.DecCoin.toJSON(r):void 0):t.reward=[],t},fromPartial(e){let t=RSe();return t.validatorAddress=e.validatorAddress??"",t.reward=e.reward?.map(r=>Hs.DecCoin.fromPartial(r))||[],t}};function SSe(){return{title:"",description:"",recipient:"",amount:"",deposit:""}}ic.CommunityPoolSpendProposalWithDeposit={typeUrl:"/cosmos.distribution.v1beta1.CommunityPoolSpendProposalWithDeposit",encode(e,t=Os.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),e.recipient!==""&&t.uint32(26).string(e.recipient),e.amount!==""&&t.uint32(34).string(e.amount),e.deposit!==""&&t.uint32(42).string(e.deposit),t},decode(e,t){let r=e instanceof Os.BinaryReader?e:new Os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;case 3:n.recipient=r.string();break;case 4:n.amount=r.string();break;case 5:n.deposit=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=SSe();return(0,_f.isSet)(e.title)&&(t.title=String(e.title)),(0,_f.isSet)(e.description)&&(t.description=String(e.description)),(0,_f.isSet)(e.recipient)&&(t.recipient=String(e.recipient)),(0,_f.isSet)(e.amount)&&(t.amount=String(e.amount)),(0,_f.isSet)(e.deposit)&&(t.deposit=String(e.deposit)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),e.recipient!==void 0&&(t.recipient=e.recipient),e.amount!==void 0&&(t.amount=e.amount),e.deposit!==void 0&&(t.deposit=e.deposit),t},fromPartial(e){let t=SSe();return t.title=e.title??"",t.description=e.description??"",t.recipient=e.recipient??"",t.amount=e.amount??"",t.deposit=e.deposit??"",t}}});var FSe=ir(Sa=>{"use strict";J();K();z();Object.defineProperty(Sa,"__esModule",{value:!0});Sa.MsgClientImpl=Sa.MsgCommunityPoolSpendResponse=Sa.MsgCommunityPoolSpend=Sa.MsgUpdateParamsResponse=Sa.MsgUpdateParams=Sa.MsgFundCommunityPoolResponse=Sa.MsgFundCommunityPool=Sa.MsgWithdrawValidatorCommissionResponse=Sa.MsgWithdrawValidatorCommission=Sa.MsgWithdrawDelegatorRewardResponse=Sa.MsgWithdrawDelegatorReward=Sa.MsgSetWithdrawAddressResponse=Sa.MsgSetWithdrawAddress=Sa.protobufPackage=void 0;var mf=Af(),t9=ISe(),Ia=Qi(),wE=Hi();Sa.protobufPackage="cosmos.distribution.v1beta1";function CSe(){return{delegatorAddress:"",withdrawAddress:""}}Sa.MsgSetWithdrawAddress={typeUrl:"/cosmos.distribution.v1beta1.MsgSetWithdrawAddress",encode(e,t=Ia.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.withdrawAddress!==""&&t.uint32(18).string(e.withdrawAddress),t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=CSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.withdrawAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=CSe();return(0,wE.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,wE.isSet)(e.withdrawAddress)&&(t.withdrawAddress=String(e.withdrawAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.withdrawAddress!==void 0&&(t.withdrawAddress=e.withdrawAddress),t},fromPartial(e){let t=CSe();return t.delegatorAddress=e.delegatorAddress??"",t.withdrawAddress=e.withdrawAddress??"",t}};function wSe(){return{}}Sa.MsgSetWithdrawAddressResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse",encode(e,t=Ia.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return wSe()},toJSON(e){return{}},fromPartial(e){return wSe()}};function OSe(){return{delegatorAddress:"",validatorAddress:""}}Sa.MsgWithdrawDelegatorReward={typeUrl:"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",encode(e,t=Ia.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=OSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=OSe();return(0,wE.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,wE.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=OSe();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",t}};function NSe(){return{amount:[]}}Sa.MsgWithdrawDelegatorRewardResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse",encode(e,t=Ia.BinaryWriter.create()){for(let r of e.amount)mf.Coin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=NSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.amount.push(mf.Coin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=NSe();return Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>mf.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.amount?t.amount=e.amount.map(r=>r?mf.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=NSe();return t.amount=e.amount?.map(r=>mf.Coin.fromPartial(r))||[],t}};function xSe(){return{validatorAddress:""}}Sa.MsgWithdrawValidatorCommission={typeUrl:"/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission",encode(e,t=Ia.BinaryWriter.create()){return e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=xSe();return(0,wE.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=xSe();return t.validatorAddress=e.validatorAddress??"",t}};function TSe(){return{amount:[]}}Sa.MsgWithdrawValidatorCommissionResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse",encode(e,t=Ia.BinaryWriter.create()){for(let r of e.amount)mf.Coin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.amount.push(mf.Coin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=TSe();return Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>mf.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.amount?t.amount=e.amount.map(r=>r?mf.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=TSe();return t.amount=e.amount?.map(r=>mf.Coin.fromPartial(r))||[],t}};function BSe(){return{amount:[],depositor:""}}Sa.MsgFundCommunityPool={typeUrl:"/cosmos.distribution.v1beta1.MsgFundCommunityPool",encode(e,t=Ia.BinaryWriter.create()){for(let r of e.amount)mf.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.depositor!==""&&t.uint32(18).string(e.depositor),t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=BSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.amount.push(mf.Coin.decode(r,r.uint32()));break;case 2:n.depositor=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=BSe();return Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>mf.Coin.fromJSON(r))),(0,wE.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),t},toJSON(e){let t={};return e.amount?t.amount=e.amount.map(r=>r?mf.Coin.toJSON(r):void 0):t.amount=[],e.depositor!==void 0&&(t.depositor=e.depositor),t},fromPartial(e){let t=BSe();return t.amount=e.amount?.map(r=>mf.Coin.fromPartial(r))||[],t.depositor=e.depositor??"",t}};function MSe(){return{}}Sa.MsgFundCommunityPoolResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse",encode(e,t=Ia.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=MSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return MSe()},toJSON(e){return{}},fromPartial(e){return MSe()}};function DSe(){return{authority:"",params:t9.Params.fromPartial({})}}Sa.MsgUpdateParams={typeUrl:"/cosmos.distribution.v1beta1.MsgUpdateParams",encode(e,t=Ia.BinaryWriter.create()){return e.authority!==""&&t.uint32(10).string(e.authority),e.params!==void 0&&t9.Params.encode(e.params,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=DSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.params=t9.Params.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=DSe();return(0,wE.isSet)(e.authority)&&(t.authority=String(e.authority)),(0,wE.isSet)(e.params)&&(t.params=t9.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.params!==void 0&&(t.params=e.params?t9.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=DSe();return t.authority=e.authority??"",e.params!==void 0&&e.params!==null&&(t.params=t9.Params.fromPartial(e.params)),t}};function kSe(){return{}}Sa.MsgUpdateParamsResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgUpdateParamsResponse",encode(e,t=Ia.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return kSe()},toJSON(e){return{}},fromPartial(e){return kSe()}};function PSe(){return{authority:"",recipient:"",amount:[]}}Sa.MsgCommunityPoolSpend={typeUrl:"/cosmos.distribution.v1beta1.MsgCommunityPoolSpend",encode(e,t=Ia.BinaryWriter.create()){e.authority!==""&&t.uint32(10).string(e.authority),e.recipient!==""&&t.uint32(18).string(e.recipient);for(let r of e.amount)mf.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=PSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.recipient=r.string();break;case 3:n.amount.push(mf.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=PSe();return(0,wE.isSet)(e.authority)&&(t.authority=String(e.authority)),(0,wE.isSet)(e.recipient)&&(t.recipient=String(e.recipient)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>mf.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.recipient!==void 0&&(t.recipient=e.recipient),e.amount?t.amount=e.amount.map(r=>r?mf.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=PSe();return t.authority=e.authority??"",t.recipient=e.recipient??"",t.amount=e.amount?.map(r=>mf.Coin.fromPartial(r))||[],t}};function LSe(){return{}}Sa.MsgCommunityPoolSpendResponse={typeUrl:"/cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse",encode(e,t=Ia.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ia.BinaryReader?e:new Ia.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return LSe()},toJSON(e){return{}},fromPartial(e){return LSe()}};var USe=class{constructor(t){this.rpc=t,this.SetWithdrawAddress=this.SetWithdrawAddress.bind(this),this.WithdrawDelegatorReward=this.WithdrawDelegatorReward.bind(this),this.WithdrawValidatorCommission=this.WithdrawValidatorCommission.bind(this),this.FundCommunityPool=this.FundCommunityPool.bind(this),this.UpdateParams=this.UpdateParams.bind(this),this.CommunityPoolSpend=this.CommunityPoolSpend.bind(this)}SetWithdrawAddress(t){let r=Sa.MsgSetWithdrawAddress.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","SetWithdrawAddress",r).then(n=>Sa.MsgSetWithdrawAddressResponse.decode(new Ia.BinaryReader(n)))}WithdrawDelegatorReward(t){let r=Sa.MsgWithdrawDelegatorReward.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","WithdrawDelegatorReward",r).then(n=>Sa.MsgWithdrawDelegatorRewardResponse.decode(new Ia.BinaryReader(n)))}WithdrawValidatorCommission(t){let r=Sa.MsgWithdrawValidatorCommission.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","WithdrawValidatorCommission",r).then(n=>Sa.MsgWithdrawValidatorCommissionResponse.decode(new Ia.BinaryReader(n)))}FundCommunityPool(t){let r=Sa.MsgFundCommunityPool.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","FundCommunityPool",r).then(n=>Sa.MsgFundCommunityPoolResponse.decode(new Ia.BinaryReader(n)))}UpdateParams(t){let r=Sa.MsgUpdateParams.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","UpdateParams",r).then(n=>Sa.MsgUpdateParamsResponse.decode(new Ia.BinaryReader(n)))}CommunityPoolSpend(t){let r=Sa.MsgCommunityPoolSpend.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Msg","CommunityPoolSpend",r).then(n=>Sa.MsgCommunityPoolSpendResponse.decode(new Ia.BinaryReader(n)))}};Sa.MsgClientImpl=USe});var cmt=ir(r9=>{"use strict";J();K();z();Object.defineProperty(r9,"__esModule",{value:!0});r9.isMsgWithdrawDelegatorRewardEncodeObject=r9.distributionTypes=void 0;var Qee=FSe();r9.distributionTypes=[["/cosmos.distribution.v1beta1.MsgFundCommunityPool",Qee.MsgFundCommunityPool],["/cosmos.distribution.v1beta1.MsgSetWithdrawAddress",Qee.MsgSetWithdrawAddress],["/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",Qee.MsgWithdrawDelegatorReward],["/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission",Qee.MsgWithdrawValidatorCommission]];function Spn(e){return e.typeUrl==="/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"}r9.isMsgWithdrawDelegatorRewardEncodeObject=Spn});var umt=ir($i=>{"use strict";J();K();z();Object.defineProperty($i,"__esModule",{value:!0});$i.QueryClientImpl=$i.QueryCommunityPoolResponse=$i.QueryCommunityPoolRequest=$i.QueryDelegatorWithdrawAddressResponse=$i.QueryDelegatorWithdrawAddressRequest=$i.QueryDelegatorValidatorsResponse=$i.QueryDelegatorValidatorsRequest=$i.QueryDelegationTotalRewardsResponse=$i.QueryDelegationTotalRewardsRequest=$i.QueryDelegationRewardsResponse=$i.QueryDelegationRewardsRequest=$i.QueryValidatorSlashesResponse=$i.QueryValidatorSlashesRequest=$i.QueryValidatorCommissionResponse=$i.QueryValidatorCommissionRequest=$i.QueryValidatorOutstandingRewardsResponse=$i.QueryValidatorOutstandingRewardsRequest=$i.QueryValidatorDistributionInfoResponse=$i.QueryValidatorDistributionInfoRequest=$i.QueryParamsResponse=$i.QueryParamsRequest=$i.protobufPackage=void 0;var OE=jA(),bu=ISe(),s0=Af(),Pi=Qi(),wl=Hi();$i.protobufPackage="cosmos.distribution.v1beta1";function QSe(){return{}}$i.QueryParamsRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryParamsRequest",encode(e,t=Pi.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=QSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return QSe()},toJSON(e){return{}},fromPartial(e){return QSe()}};function HSe(){return{params:bu.Params.fromPartial({})}}$i.QueryParamsResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryParamsResponse",encode(e,t=Pi.BinaryWriter.create()){return e.params!==void 0&&bu.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=bu.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=HSe();return(0,wl.isSet)(e.params)&&(t.params=bu.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?bu.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=HSe();return e.params!==void 0&&e.params!==null&&(t.params=bu.Params.fromPartial(e.params)),t}};function GSe(){return{validatorAddress:""}}$i.QueryValidatorDistributionInfoRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoRequest",encode(e,t=Pi.BinaryWriter.create()){return e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=GSe();return(0,wl.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=GSe();return t.validatorAddress=e.validatorAddress??"",t}};function qSe(){return{operatorAddress:"",selfBondRewards:[],commission:[]}}$i.QueryValidatorDistributionInfoResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse",encode(e,t=Pi.BinaryWriter.create()){e.operatorAddress!==""&&t.uint32(10).string(e.operatorAddress);for(let r of e.selfBondRewards)s0.DecCoin.encode(r,t.uint32(18).fork()).ldelim();for(let r of e.commission)s0.DecCoin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.operatorAddress=r.string();break;case 2:n.selfBondRewards.push(s0.DecCoin.decode(r,r.uint32()));break;case 3:n.commission.push(s0.DecCoin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qSe();return(0,wl.isSet)(e.operatorAddress)&&(t.operatorAddress=String(e.operatorAddress)),Array.isArray(e?.selfBondRewards)&&(t.selfBondRewards=e.selfBondRewards.map(r=>s0.DecCoin.fromJSON(r))),Array.isArray(e?.commission)&&(t.commission=e.commission.map(r=>s0.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.operatorAddress!==void 0&&(t.operatorAddress=e.operatorAddress),e.selfBondRewards?t.selfBondRewards=e.selfBondRewards.map(r=>r?s0.DecCoin.toJSON(r):void 0):t.selfBondRewards=[],e.commission?t.commission=e.commission.map(r=>r?s0.DecCoin.toJSON(r):void 0):t.commission=[],t},fromPartial(e){let t=qSe();return t.operatorAddress=e.operatorAddress??"",t.selfBondRewards=e.selfBondRewards?.map(r=>s0.DecCoin.fromPartial(r))||[],t.commission=e.commission?.map(r=>s0.DecCoin.fromPartial(r))||[],t}};function VSe(){return{validatorAddress:""}}$i.QueryValidatorOutstandingRewardsRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsRequest",encode(e,t=Pi.BinaryWriter.create()){return e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=VSe();return(0,wl.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=VSe();return t.validatorAddress=e.validatorAddress??"",t}};function JSe(){return{rewards:bu.ValidatorOutstandingRewards.fromPartial({})}}$i.QueryValidatorOutstandingRewardsResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse",encode(e,t=Pi.BinaryWriter.create()){return e.rewards!==void 0&&bu.ValidatorOutstandingRewards.encode(e.rewards,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=JSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.rewards=bu.ValidatorOutstandingRewards.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=JSe();return(0,wl.isSet)(e.rewards)&&(t.rewards=bu.ValidatorOutstandingRewards.fromJSON(e.rewards)),t},toJSON(e){let t={};return e.rewards!==void 0&&(t.rewards=e.rewards?bu.ValidatorOutstandingRewards.toJSON(e.rewards):void 0),t},fromPartial(e){let t=JSe();return e.rewards!==void 0&&e.rewards!==null&&(t.rewards=bu.ValidatorOutstandingRewards.fromPartial(e.rewards)),t}};function zSe(){return{validatorAddress:""}}$i.QueryValidatorCommissionRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorCommissionRequest",encode(e,t=Pi.BinaryWriter.create()){return e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=zSe();return(0,wl.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=zSe();return t.validatorAddress=e.validatorAddress??"",t}};function KSe(){return{commission:bu.ValidatorAccumulatedCommission.fromPartial({})}}$i.QueryValidatorCommissionResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorCommissionResponse",encode(e,t=Pi.BinaryWriter.create()){return e.commission!==void 0&&bu.ValidatorAccumulatedCommission.encode(e.commission,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=KSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.commission=bu.ValidatorAccumulatedCommission.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=KSe();return(0,wl.isSet)(e.commission)&&(t.commission=bu.ValidatorAccumulatedCommission.fromJSON(e.commission)),t},toJSON(e){let t={};return e.commission!==void 0&&(t.commission=e.commission?bu.ValidatorAccumulatedCommission.toJSON(e.commission):void 0),t},fromPartial(e){let t=KSe();return e.commission!==void 0&&e.commission!==null&&(t.commission=bu.ValidatorAccumulatedCommission.fromPartial(e.commission)),t}};function $Se(){return{validatorAddress:"",startingHeight:BigInt(0),endingHeight:BigInt(0),pagination:void 0}}$i.QueryValidatorSlashesRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorSlashesRequest",encode(e,t=Pi.BinaryWriter.create()){return e.validatorAddress!==""&&t.uint32(10).string(e.validatorAddress),e.startingHeight!==BigInt(0)&&t.uint32(16).uint64(e.startingHeight),e.endingHeight!==BigInt(0)&&t.uint32(24).uint64(e.endingHeight),e.pagination!==void 0&&OE.PageRequest.encode(e.pagination,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$Se();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorAddress=r.string();break;case 2:n.startingHeight=r.uint64();break;case 3:n.endingHeight=r.uint64();break;case 4:n.pagination=OE.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$Se();return(0,wl.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,wl.isSet)(e.startingHeight)&&(t.startingHeight=BigInt(e.startingHeight.toString())),(0,wl.isSet)(e.endingHeight)&&(t.endingHeight=BigInt(e.endingHeight.toString())),(0,wl.isSet)(e.pagination)&&(t.pagination=OE.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.startingHeight!==void 0&&(t.startingHeight=(e.startingHeight||BigInt(0)).toString()),e.endingHeight!==void 0&&(t.endingHeight=(e.endingHeight||BigInt(0)).toString()),e.pagination!==void 0&&(t.pagination=e.pagination?OE.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=$Se();return t.validatorAddress=e.validatorAddress??"",e.startingHeight!==void 0&&e.startingHeight!==null&&(t.startingHeight=BigInt(e.startingHeight.toString())),e.endingHeight!==void 0&&e.endingHeight!==null&&(t.endingHeight=BigInt(e.endingHeight.toString())),e.pagination!==void 0&&e.pagination!==null&&(t.pagination=OE.PageRequest.fromPartial(e.pagination)),t}};function YSe(){return{slashes:[],pagination:void 0}}$i.QueryValidatorSlashesResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryValidatorSlashesResponse",encode(e,t=Pi.BinaryWriter.create()){for(let r of e.slashes)bu.ValidatorSlashEvent.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&OE.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=YSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.slashes.push(bu.ValidatorSlashEvent.decode(r,r.uint32()));break;case 2:n.pagination=OE.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=YSe();return Array.isArray(e?.slashes)&&(t.slashes=e.slashes.map(r=>bu.ValidatorSlashEvent.fromJSON(r))),(0,wl.isSet)(e.pagination)&&(t.pagination=OE.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.slashes?t.slashes=e.slashes.map(r=>r?bu.ValidatorSlashEvent.toJSON(r):void 0):t.slashes=[],e.pagination!==void 0&&(t.pagination=e.pagination?OE.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=YSe();return t.slashes=e.slashes?.map(r=>bu.ValidatorSlashEvent.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=OE.PageResponse.fromPartial(e.pagination)),t}};function WSe(){return{delegatorAddress:"",validatorAddress:""}}$i.QueryDelegationRewardsRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegationRewardsRequest",encode(e,t=Pi.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=WSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=WSe();return(0,wl.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,wl.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=WSe();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",t}};function XSe(){return{rewards:[]}}$i.QueryDelegationRewardsResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegationRewardsResponse",encode(e,t=Pi.BinaryWriter.create()){for(let r of e.rewards)s0.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=XSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.rewards.push(s0.DecCoin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=XSe();return Array.isArray(e?.rewards)&&(t.rewards=e.rewards.map(r=>s0.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.rewards?t.rewards=e.rewards.map(r=>r?s0.DecCoin.toJSON(r):void 0):t.rewards=[],t},fromPartial(e){let t=XSe();return t.rewards=e.rewards?.map(r=>s0.DecCoin.fromPartial(r))||[],t}};function ZSe(){return{delegatorAddress:""}}$i.QueryDelegationTotalRewardsRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsRequest",encode(e,t=Pi.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZSe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.delegatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=ZSe();return(0,wl.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),t},fromPartial(e){let t=ZSe();return t.delegatorAddress=e.delegatorAddress??"",t}};function jSe(){return{rewards:[],total:[]}}$i.QueryDelegationTotalRewardsResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse",encode(e,t=Pi.BinaryWriter.create()){for(let r of e.rewards)bu.DelegationDelegatorReward.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.total)s0.DecCoin.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jSe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.rewards.push(bu.DelegationDelegatorReward.decode(r,r.uint32()));break;case 2:n.total.push(s0.DecCoin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=jSe();return Array.isArray(e?.rewards)&&(t.rewards=e.rewards.map(r=>bu.DelegationDelegatorReward.fromJSON(r))),Array.isArray(e?.total)&&(t.total=e.total.map(r=>s0.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.rewards?t.rewards=e.rewards.map(r=>r?bu.DelegationDelegatorReward.toJSON(r):void 0):t.rewards=[],e.total?t.total=e.total.map(r=>r?s0.DecCoin.toJSON(r):void 0):t.total=[],t},fromPartial(e){let t=jSe();return t.rewards=e.rewards?.map(r=>bu.DelegationDelegatorReward.fromPartial(r))||[],t.total=e.total?.map(r=>s0.DecCoin.fromPartial(r))||[],t}};function e6e(){return{delegatorAddress:""}}$i.QueryDelegatorValidatorsRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegatorValidatorsRequest",encode(e,t=Pi.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=e6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.delegatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=e6e();return(0,wl.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),t},fromPartial(e){let t=e6e();return t.delegatorAddress=e.delegatorAddress??"",t}};function t6e(){return{validators:[]}}$i.QueryDelegatorValidatorsResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse",encode(e,t=Pi.BinaryWriter.create()){for(let r of e.validators)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=t6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validators.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=t6e();return Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>String(r))),t},toJSON(e){let t={};return e.validators?t.validators=e.validators.map(r=>r):t.validators=[],t},fromPartial(e){let t=t6e();return t.validators=e.validators?.map(r=>r)||[],t}};function r6e(){return{delegatorAddress:""}}$i.QueryDelegatorWithdrawAddressRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressRequest",encode(e,t=Pi.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=r6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.delegatorAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=r6e();return(0,wl.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),t},fromPartial(e){let t=r6e();return t.delegatorAddress=e.delegatorAddress??"",t}};function n6e(){return{withdrawAddress:""}}$i.QueryDelegatorWithdrawAddressResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse",encode(e,t=Pi.BinaryWriter.create()){return e.withdrawAddress!==""&&t.uint32(10).string(e.withdrawAddress),t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=n6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.withdrawAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=n6e();return(0,wl.isSet)(e.withdrawAddress)&&(t.withdrawAddress=String(e.withdrawAddress)),t},toJSON(e){let t={};return e.withdrawAddress!==void 0&&(t.withdrawAddress=e.withdrawAddress),t},fromPartial(e){let t=n6e();return t.withdrawAddress=e.withdrawAddress??"",t}};function i6e(){return{}}$i.QueryCommunityPoolRequest={typeUrl:"/cosmos.distribution.v1beta1.QueryCommunityPoolRequest",encode(e,t=Pi.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=i6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return i6e()},toJSON(e){return{}},fromPartial(e){return i6e()}};function o6e(){return{pool:[]}}$i.QueryCommunityPoolResponse={typeUrl:"/cosmos.distribution.v1beta1.QueryCommunityPoolResponse",encode(e,t=Pi.BinaryWriter.create()){for(let r of e.pool)s0.DecCoin.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof Pi.BinaryReader?e:new Pi.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=o6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pool.push(s0.DecCoin.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=o6e();return Array.isArray(e?.pool)&&(t.pool=e.pool.map(r=>s0.DecCoin.fromJSON(r))),t},toJSON(e){let t={};return e.pool?t.pool=e.pool.map(r=>r?s0.DecCoin.toJSON(r):void 0):t.pool=[],t},fromPartial(e){let t=o6e();return t.pool=e.pool?.map(r=>s0.DecCoin.fromPartial(r))||[],t}};var a6e=class{constructor(t){this.rpc=t,this.Params=this.Params.bind(this),this.ValidatorDistributionInfo=this.ValidatorDistributionInfo.bind(this),this.ValidatorOutstandingRewards=this.ValidatorOutstandingRewards.bind(this),this.ValidatorCommission=this.ValidatorCommission.bind(this),this.ValidatorSlashes=this.ValidatorSlashes.bind(this),this.DelegationRewards=this.DelegationRewards.bind(this),this.DelegationTotalRewards=this.DelegationTotalRewards.bind(this),this.DelegatorValidators=this.DelegatorValidators.bind(this),this.DelegatorWithdrawAddress=this.DelegatorWithdrawAddress.bind(this),this.CommunityPool=this.CommunityPool.bind(this)}Params(t={}){let r=$i.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","Params",r).then(n=>$i.QueryParamsResponse.decode(new Pi.BinaryReader(n)))}ValidatorDistributionInfo(t){let r=$i.QueryValidatorDistributionInfoRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","ValidatorDistributionInfo",r).then(n=>$i.QueryValidatorDistributionInfoResponse.decode(new Pi.BinaryReader(n)))}ValidatorOutstandingRewards(t){let r=$i.QueryValidatorOutstandingRewardsRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","ValidatorOutstandingRewards",r).then(n=>$i.QueryValidatorOutstandingRewardsResponse.decode(new Pi.BinaryReader(n)))}ValidatorCommission(t){let r=$i.QueryValidatorCommissionRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","ValidatorCommission",r).then(n=>$i.QueryValidatorCommissionResponse.decode(new Pi.BinaryReader(n)))}ValidatorSlashes(t){let r=$i.QueryValidatorSlashesRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","ValidatorSlashes",r).then(n=>$i.QueryValidatorSlashesResponse.decode(new Pi.BinaryReader(n)))}DelegationRewards(t){let r=$i.QueryDelegationRewardsRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","DelegationRewards",r).then(n=>$i.QueryDelegationRewardsResponse.decode(new Pi.BinaryReader(n)))}DelegationTotalRewards(t){let r=$i.QueryDelegationTotalRewardsRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","DelegationTotalRewards",r).then(n=>$i.QueryDelegationTotalRewardsResponse.decode(new Pi.BinaryReader(n)))}DelegatorValidators(t){let r=$i.QueryDelegatorValidatorsRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","DelegatorValidators",r).then(n=>$i.QueryDelegatorValidatorsResponse.decode(new Pi.BinaryReader(n)))}DelegatorWithdrawAddress(t){let r=$i.QueryDelegatorWithdrawAddressRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","DelegatorWithdrawAddress",r).then(n=>$i.QueryDelegatorWithdrawAddressResponse.decode(new Pi.BinaryReader(n)))}CommunityPool(t={}){let r=$i.QueryCommunityPoolRequest.encode(t).finish();return this.rpc.request("cosmos.distribution.v1beta1.Query","CommunityPool",r).then(n=>$i.QueryCommunityPoolResponse.decode(new Pi.BinaryReader(n)))}};$i.QueryClientImpl=a6e});var fmt=ir(Hee=>{"use strict";J();K();z();Object.defineProperty(Hee,"__esModule",{value:!0});Hee.setupDistributionExtension=void 0;var Ipn=umt(),dmt=ep();function Cpn(e){let t=(0,dmt.createProtobufRpcClient)(e),r=new Ipn.QueryClientImpl(t);return{distribution:{communityPool:async()=>await r.CommunityPool({}),delegationRewards:async(i,n)=>await r.DelegationRewards({delegatorAddress:i,validatorAddress:n}),delegationTotalRewards:async i=>await r.DelegationTotalRewards({delegatorAddress:i}),delegatorValidators:async i=>await r.DelegatorValidators({delegatorAddress:i}),delegatorWithdrawAddress:async i=>await r.DelegatorWithdrawAddress({delegatorAddress:i}),params:async()=>await r.Params({}),validatorCommission:async i=>await r.ValidatorCommission({validatorAddress:i}),validatorOutstandingRewards:async i=>await r.ValidatorOutstandingRewards({validatorAddress:i}),validatorSlashes:async(i,n,o,d)=>await r.ValidatorSlashes({validatorAddress:i,startingHeight:BigInt(n),endingHeight:BigInt(o),pagination:(0,dmt.createPagination)(d)})}}}Hee.setupDistributionExtension=Cpn});var lmt=ir(n9=>{"use strict";J();K();z();Object.defineProperty(n9,"__esModule",{value:!0});n9.createEvidenceAminoConverters=n9.isAminoMsgSubmitEvidence=void 0;function wpn(e){return e.type==="cosmos-sdk/MsgSubmitEvidence"}n9.isAminoMsgSubmitEvidence=wpn;function Opn(){throw new Error("Not implemented")}n9.createEvidenceAminoConverters=Opn});var hmt=ir(Gee=>{"use strict";J();K();z();Object.defineProperty(Gee,"__esModule",{value:!0});Gee.createFeegrantAminoConverters=void 0;function Npn(){return{}}Gee.createFeegrantAminoConverters=Npn});var Amt=ir(Ol=>{"use strict";J();K();z();Object.defineProperty(Ol,"__esModule",{value:!0});Ol.MsgClientImpl=Ol.MsgRevokeAllowanceResponse=Ol.MsgRevokeAllowance=Ol.MsgGrantAllowanceResponse=Ol.MsgGrantAllowance=Ol.protobufPackage=void 0;var zF=ru(),d1=Qi(),KF=Hi();Ol.protobufPackage="cosmos.feegrant.v1beta1";function s6e(){return{granter:"",grantee:"",allowance:void 0}}Ol.MsgGrantAllowance={typeUrl:"/cosmos.feegrant.v1beta1.MsgGrantAllowance",encode(e,t=d1.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.allowance!==void 0&&zF.Any.encode(e.allowance,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof d1.BinaryReader?e:new d1.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=s6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.allowance=zF.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=s6e();return(0,KF.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,KF.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,KF.isSet)(e.allowance)&&(t.allowance=zF.Any.fromJSON(e.allowance)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.allowance!==void 0&&(t.allowance=e.allowance?zF.Any.toJSON(e.allowance):void 0),t},fromPartial(e){let t=s6e();return t.granter=e.granter??"",t.grantee=e.grantee??"",e.allowance!==void 0&&e.allowance!==null&&(t.allowance=zF.Any.fromPartial(e.allowance)),t}};function c6e(){return{}}Ol.MsgGrantAllowanceResponse={typeUrl:"/cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse",encode(e,t=d1.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof d1.BinaryReader?e:new d1.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=c6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return c6e()},toJSON(e){return{}},fromPartial(e){return c6e()}};function u6e(){return{granter:"",grantee:""}}Ol.MsgRevokeAllowance={typeUrl:"/cosmos.feegrant.v1beta1.MsgRevokeAllowance",encode(e,t=d1.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),t},decode(e,t){let r=e instanceof d1.BinaryReader?e:new d1.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=u6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=u6e();return(0,KF.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,KF.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),t},fromPartial(e){let t=u6e();return t.granter=e.granter??"",t.grantee=e.grantee??"",t}};function d6e(){return{}}Ol.MsgRevokeAllowanceResponse={typeUrl:"/cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse",encode(e,t=d1.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof d1.BinaryReader?e:new d1.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=d6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return d6e()},toJSON(e){return{}},fromPartial(e){return d6e()}};var f6e=class{constructor(t){this.rpc=t,this.GrantAllowance=this.GrantAllowance.bind(this),this.RevokeAllowance=this.RevokeAllowance.bind(this)}GrantAllowance(t){let r=Ol.MsgGrantAllowance.encode(t).finish();return this.rpc.request("cosmos.feegrant.v1beta1.Msg","GrantAllowance",r).then(n=>Ol.MsgGrantAllowanceResponse.decode(new d1.BinaryReader(n)))}RevokeAllowance(t){let r=Ol.MsgRevokeAllowance.encode(t).finish();return this.rpc.request("cosmos.feegrant.v1beta1.Msg","RevokeAllowance",r).then(n=>Ol.MsgRevokeAllowanceResponse.decode(new d1.BinaryReader(n)))}};Ol.MsgClientImpl=f6e});var gmt=ir(qee=>{"use strict";J();K();z();Object.defineProperty(qee,"__esModule",{value:!0});qee.feegrantTypes=void 0;var pmt=Amt();qee.feegrantTypes=[["/cosmos.feegrant.v1beta1.MsgGrantAllowance",pmt.MsgGrantAllowance],["/cosmos.feegrant.v1beta1.MsgRevokeAllowance",pmt.MsgRevokeAllowance]]});var wS=ir(i9=>{"use strict";J();K();z();Object.defineProperty(i9,"__esModule",{value:!0});i9.Duration=i9.protobufPackage=void 0;var l6e=Qi(),_mt=Hi();i9.protobufPackage="google.protobuf";function h6e(){return{seconds:BigInt(0),nanos:0}}i9.Duration={typeUrl:"/google.protobuf.Duration",encode(e,t=l6e.BinaryWriter.create()){return e.seconds!==BigInt(0)&&t.uint32(8).int64(e.seconds),e.nanos!==0&&t.uint32(16).int32(e.nanos),t},decode(e,t){let r=e instanceof l6e.BinaryReader?e:new l6e.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=h6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.seconds=r.int64();break;case 2:n.nanos=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=h6e();return(0,_mt.isSet)(e.seconds)&&(t.seconds=BigInt(e.seconds.toString())),(0,_mt.isSet)(e.nanos)&&(t.nanos=Number(e.nanos)),t},toJSON(e){let t={};return e.seconds!==void 0&&(t.seconds=(e.seconds||BigInt(0)).toString()),e.nanos!==void 0&&(t.nanos=Math.round(e.nanos)),t},fromPartial(e){let t=h6e();return e.seconds!==void 0&&e.seconds!==null&&(t.seconds=BigInt(e.seconds.toString())),t.nanos=e.nanos??0,t}}});var mmt=ir(Nl=>{"use strict";J();K();z();Object.defineProperty(Nl,"__esModule",{value:!0});Nl.Grant=Nl.AllowedMsgAllowance=Nl.PeriodicAllowance=Nl.BasicAllowance=Nl.protobufPackage=void 0;var rp=Af(),R5=u1(),o9=wS(),NE=ru(),R2=Qi(),v2=Hi();Nl.protobufPackage="cosmos.feegrant.v1beta1";function A6e(){return{spendLimit:[],expiration:void 0}}Nl.BasicAllowance={typeUrl:"/cosmos.feegrant.v1beta1.BasicAllowance",encode(e,t=R2.BinaryWriter.create()){for(let r of e.spendLimit)rp.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.expiration!==void 0&&R5.Timestamp.encode(e.expiration,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof R2.BinaryReader?e:new R2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=A6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.spendLimit.push(rp.Coin.decode(r,r.uint32()));break;case 2:n.expiration=R5.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=A6e();return Array.isArray(e?.spendLimit)&&(t.spendLimit=e.spendLimit.map(r=>rp.Coin.fromJSON(r))),(0,v2.isSet)(e.expiration)&&(t.expiration=(0,v2.fromJsonTimestamp)(e.expiration)),t},toJSON(e){let t={};return e.spendLimit?t.spendLimit=e.spendLimit.map(r=>r?rp.Coin.toJSON(r):void 0):t.spendLimit=[],e.expiration!==void 0&&(t.expiration=(0,v2.fromTimestamp)(e.expiration).toISOString()),t},fromPartial(e){let t=A6e();return t.spendLimit=e.spendLimit?.map(r=>rp.Coin.fromPartial(r))||[],e.expiration!==void 0&&e.expiration!==null&&(t.expiration=R5.Timestamp.fromPartial(e.expiration)),t}};function p6e(){return{basic:Nl.BasicAllowance.fromPartial({}),period:o9.Duration.fromPartial({}),periodSpendLimit:[],periodCanSpend:[],periodReset:R5.Timestamp.fromPartial({})}}Nl.PeriodicAllowance={typeUrl:"/cosmos.feegrant.v1beta1.PeriodicAllowance",encode(e,t=R2.BinaryWriter.create()){e.basic!==void 0&&Nl.BasicAllowance.encode(e.basic,t.uint32(10).fork()).ldelim(),e.period!==void 0&&o9.Duration.encode(e.period,t.uint32(18).fork()).ldelim();for(let r of e.periodSpendLimit)rp.Coin.encode(r,t.uint32(26).fork()).ldelim();for(let r of e.periodCanSpend)rp.Coin.encode(r,t.uint32(34).fork()).ldelim();return e.periodReset!==void 0&&R5.Timestamp.encode(e.periodReset,t.uint32(42).fork()).ldelim(),t},decode(e,t){let r=e instanceof R2.BinaryReader?e:new R2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=p6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.basic=Nl.BasicAllowance.decode(r,r.uint32());break;case 2:n.period=o9.Duration.decode(r,r.uint32());break;case 3:n.periodSpendLimit.push(rp.Coin.decode(r,r.uint32()));break;case 4:n.periodCanSpend.push(rp.Coin.decode(r,r.uint32()));break;case 5:n.periodReset=R5.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=p6e();return(0,v2.isSet)(e.basic)&&(t.basic=Nl.BasicAllowance.fromJSON(e.basic)),(0,v2.isSet)(e.period)&&(t.period=o9.Duration.fromJSON(e.period)),Array.isArray(e?.periodSpendLimit)&&(t.periodSpendLimit=e.periodSpendLimit.map(r=>rp.Coin.fromJSON(r))),Array.isArray(e?.periodCanSpend)&&(t.periodCanSpend=e.periodCanSpend.map(r=>rp.Coin.fromJSON(r))),(0,v2.isSet)(e.periodReset)&&(t.periodReset=(0,v2.fromJsonTimestamp)(e.periodReset)),t},toJSON(e){let t={};return e.basic!==void 0&&(t.basic=e.basic?Nl.BasicAllowance.toJSON(e.basic):void 0),e.period!==void 0&&(t.period=e.period?o9.Duration.toJSON(e.period):void 0),e.periodSpendLimit?t.periodSpendLimit=e.periodSpendLimit.map(r=>r?rp.Coin.toJSON(r):void 0):t.periodSpendLimit=[],e.periodCanSpend?t.periodCanSpend=e.periodCanSpend.map(r=>r?rp.Coin.toJSON(r):void 0):t.periodCanSpend=[],e.periodReset!==void 0&&(t.periodReset=(0,v2.fromTimestamp)(e.periodReset).toISOString()),t},fromPartial(e){let t=p6e();return e.basic!==void 0&&e.basic!==null&&(t.basic=Nl.BasicAllowance.fromPartial(e.basic)),e.period!==void 0&&e.period!==null&&(t.period=o9.Duration.fromPartial(e.period)),t.periodSpendLimit=e.periodSpendLimit?.map(r=>rp.Coin.fromPartial(r))||[],t.periodCanSpend=e.periodCanSpend?.map(r=>rp.Coin.fromPartial(r))||[],e.periodReset!==void 0&&e.periodReset!==null&&(t.periodReset=R5.Timestamp.fromPartial(e.periodReset)),t}};function g6e(){return{allowance:void 0,allowedMessages:[]}}Nl.AllowedMsgAllowance={typeUrl:"/cosmos.feegrant.v1beta1.AllowedMsgAllowance",encode(e,t=R2.BinaryWriter.create()){e.allowance!==void 0&&NE.Any.encode(e.allowance,t.uint32(10).fork()).ldelim();for(let r of e.allowedMessages)t.uint32(18).string(r);return t},decode(e,t){let r=e instanceof R2.BinaryReader?e:new R2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=g6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.allowance=NE.Any.decode(r,r.uint32());break;case 2:n.allowedMessages.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=g6e();return(0,v2.isSet)(e.allowance)&&(t.allowance=NE.Any.fromJSON(e.allowance)),Array.isArray(e?.allowedMessages)&&(t.allowedMessages=e.allowedMessages.map(r=>String(r))),t},toJSON(e){let t={};return e.allowance!==void 0&&(t.allowance=e.allowance?NE.Any.toJSON(e.allowance):void 0),e.allowedMessages?t.allowedMessages=e.allowedMessages.map(r=>r):t.allowedMessages=[],t},fromPartial(e){let t=g6e();return e.allowance!==void 0&&e.allowance!==null&&(t.allowance=NE.Any.fromPartial(e.allowance)),t.allowedMessages=e.allowedMessages?.map(r=>r)||[],t}};function _6e(){return{granter:"",grantee:"",allowance:void 0}}Nl.Grant={typeUrl:"/cosmos.feegrant.v1beta1.Grant",encode(e,t=R2.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),e.allowance!==void 0&&NE.Any.encode(e.allowance,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof R2.BinaryReader?e:new R2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;case 3:n.allowance=NE.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_6e();return(0,v2.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,v2.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,v2.isSet)(e.allowance)&&(t.allowance=NE.Any.fromJSON(e.allowance)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),e.allowance!==void 0&&(t.allowance=e.allowance?NE.Any.toJSON(e.allowance):void 0),t},fromPartial(e){let t=_6e();return t.granter=e.granter??"",t.grantee=e.grantee??"",e.allowance!==void 0&&e.allowance!==null&&(t.allowance=NE.Any.fromPartial(e.allowance)),t}}});var ymt=ir(w0=>{"use strict";J();K();z();Object.defineProperty(w0,"__esModule",{value:!0});w0.QueryClientImpl=w0.QueryAllowancesByGranterResponse=w0.QueryAllowancesByGranterRequest=w0.QueryAllowancesResponse=w0.QueryAllowancesRequest=w0.QueryAllowanceResponse=w0.QueryAllowanceRequest=w0.protobufPackage=void 0;var yf=jA(),np=mmt(),Vd=Qi(),OS=Hi();w0.protobufPackage="cosmos.feegrant.v1beta1";function m6e(){return{granter:"",grantee:""}}w0.QueryAllowanceRequest={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowanceRequest",encode(e,t=Vd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.grantee!==""&&t.uint32(18).string(e.grantee),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=m6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.grantee=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=m6e();return(0,OS.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,OS.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.grantee!==void 0&&(t.grantee=e.grantee),t},fromPartial(e){let t=m6e();return t.granter=e.granter??"",t.grantee=e.grantee??"",t}};function y6e(){return{allowance:void 0}}w0.QueryAllowanceResponse={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowanceResponse",encode(e,t=Vd.BinaryWriter.create()){return e.allowance!==void 0&&np.Grant.encode(e.allowance,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=y6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.allowance=np.Grant.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=y6e();return(0,OS.isSet)(e.allowance)&&(t.allowance=np.Grant.fromJSON(e.allowance)),t},toJSON(e){let t={};return e.allowance!==void 0&&(t.allowance=e.allowance?np.Grant.toJSON(e.allowance):void 0),t},fromPartial(e){let t=y6e();return e.allowance!==void 0&&e.allowance!==null&&(t.allowance=np.Grant.fromPartial(e.allowance)),t}};function b6e(){return{grantee:"",pagination:void 0}}w0.QueryAllowancesRequest={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowancesRequest",encode(e,t=Vd.BinaryWriter.create()){return e.grantee!==""&&t.uint32(10).string(e.grantee),e.pagination!==void 0&&yf.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=b6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.grantee=r.string();break;case 2:n.pagination=yf.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=b6e();return(0,OS.isSet)(e.grantee)&&(t.grantee=String(e.grantee)),(0,OS.isSet)(e.pagination)&&(t.pagination=yf.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.grantee!==void 0&&(t.grantee=e.grantee),e.pagination!==void 0&&(t.pagination=e.pagination?yf.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=b6e();return t.grantee=e.grantee??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yf.PageRequest.fromPartial(e.pagination)),t}};function E6e(){return{allowances:[],pagination:void 0}}w0.QueryAllowancesResponse={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowancesResponse",encode(e,t=Vd.BinaryWriter.create()){for(let r of e.allowances)np.Grant.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&yf.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=E6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.allowances.push(np.Grant.decode(r,r.uint32()));break;case 2:n.pagination=yf.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=E6e();return Array.isArray(e?.allowances)&&(t.allowances=e.allowances.map(r=>np.Grant.fromJSON(r))),(0,OS.isSet)(e.pagination)&&(t.pagination=yf.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.allowances?t.allowances=e.allowances.map(r=>r?np.Grant.toJSON(r):void 0):t.allowances=[],e.pagination!==void 0&&(t.pagination=e.pagination?yf.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=E6e();return t.allowances=e.allowances?.map(r=>np.Grant.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yf.PageResponse.fromPartial(e.pagination)),t}};function v6e(){return{granter:"",pagination:void 0}}w0.QueryAllowancesByGranterRequest={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowancesByGranterRequest",encode(e,t=Vd.BinaryWriter.create()){return e.granter!==""&&t.uint32(10).string(e.granter),e.pagination!==void 0&&yf.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=v6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.granter=r.string();break;case 2:n.pagination=yf.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=v6e();return(0,OS.isSet)(e.granter)&&(t.granter=String(e.granter)),(0,OS.isSet)(e.pagination)&&(t.pagination=yf.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.granter!==void 0&&(t.granter=e.granter),e.pagination!==void 0&&(t.pagination=e.pagination?yf.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=v6e();return t.granter=e.granter??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yf.PageRequest.fromPartial(e.pagination)),t}};function R6e(){return{allowances:[],pagination:void 0}}w0.QueryAllowancesByGranterResponse={typeUrl:"/cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse",encode(e,t=Vd.BinaryWriter.create()){for(let r of e.allowances)np.Grant.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&yf.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vd.BinaryReader?e:new Vd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=R6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.allowances.push(np.Grant.decode(r,r.uint32()));break;case 2:n.pagination=yf.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=R6e();return Array.isArray(e?.allowances)&&(t.allowances=e.allowances.map(r=>np.Grant.fromJSON(r))),(0,OS.isSet)(e.pagination)&&(t.pagination=yf.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.allowances?t.allowances=e.allowances.map(r=>r?np.Grant.toJSON(r):void 0):t.allowances=[],e.pagination!==void 0&&(t.pagination=e.pagination?yf.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=R6e();return t.allowances=e.allowances?.map(r=>np.Grant.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=yf.PageResponse.fromPartial(e.pagination)),t}};var S6e=class{constructor(t){this.rpc=t,this.Allowance=this.Allowance.bind(this),this.Allowances=this.Allowances.bind(this),this.AllowancesByGranter=this.AllowancesByGranter.bind(this)}Allowance(t){let r=w0.QueryAllowanceRequest.encode(t).finish();return this.rpc.request("cosmos.feegrant.v1beta1.Query","Allowance",r).then(n=>w0.QueryAllowanceResponse.decode(new Vd.BinaryReader(n)))}Allowances(t){let r=w0.QueryAllowancesRequest.encode(t).finish();return this.rpc.request("cosmos.feegrant.v1beta1.Query","Allowances",r).then(n=>w0.QueryAllowancesResponse.decode(new Vd.BinaryReader(n)))}AllowancesByGranter(t){let r=w0.QueryAllowancesByGranterRequest.encode(t).finish();return this.rpc.request("cosmos.feegrant.v1beta1.Query","AllowancesByGranter",r).then(n=>w0.QueryAllowancesByGranterResponse.decode(new Vd.BinaryReader(n)))}};w0.QueryClientImpl=S6e});var Emt=ir(Vee=>{"use strict";J();K();z();Object.defineProperty(Vee,"__esModule",{value:!0});Vee.setupFeegrantExtension=void 0;var xpn=ymt(),bmt=ep();function Tpn(e){let t=(0,bmt.createProtobufRpcClient)(e),r=new xpn.QueryClientImpl(t);return{feegrant:{allowance:async(i,n)=>await r.Allowance({granter:i,grantee:n}),allowances:async(i,n)=>await r.Allowances({grantee:i,pagination:(0,bmt.createPagination)(n)})}}}Vee.setupFeegrantExtension=Tpn});var Jee=ir(sa=>{"use strict";J();K();z();Object.defineProperty(sa,"__esModule",{value:!0});sa.TallyParams=sa.VotingParams=sa.DepositParams=sa.Vote=sa.TallyResult=sa.Proposal=sa.Deposit=sa.TextProposal=sa.WeightedVoteOption=sa.proposalStatusToJSON=sa.proposalStatusFromJSON=sa.ProposalStatus=sa.voteOptionToJSON=sa.voteOptionFromJSON=sa.VoteOption=sa.protobufPackage=void 0;var ip=Af(),$F=ru(),cA=u1(),S2=wS(),Lu=Qi(),Za=Hi();sa.protobufPackage="cosmos.gov.v1beta1";var f1;(function(e){e[e.VOTE_OPTION_UNSPECIFIED=0]="VOTE_OPTION_UNSPECIFIED",e[e.VOTE_OPTION_YES=1]="VOTE_OPTION_YES",e[e.VOTE_OPTION_ABSTAIN=2]="VOTE_OPTION_ABSTAIN",e[e.VOTE_OPTION_NO=3]="VOTE_OPTION_NO",e[e.VOTE_OPTION_NO_WITH_VETO=4]="VOTE_OPTION_NO_WITH_VETO",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(f1||(sa.VoteOption=f1={}));function D6e(e){switch(e){case 0:case"VOTE_OPTION_UNSPECIFIED":return f1.VOTE_OPTION_UNSPECIFIED;case 1:case"VOTE_OPTION_YES":return f1.VOTE_OPTION_YES;case 2:case"VOTE_OPTION_ABSTAIN":return f1.VOTE_OPTION_ABSTAIN;case 3:case"VOTE_OPTION_NO":return f1.VOTE_OPTION_NO;case 4:case"VOTE_OPTION_NO_WITH_VETO":return f1.VOTE_OPTION_NO_WITH_VETO;default:return f1.UNRECOGNIZED}}sa.voteOptionFromJSON=D6e;function k6e(e){switch(e){case f1.VOTE_OPTION_UNSPECIFIED:return"VOTE_OPTION_UNSPECIFIED";case f1.VOTE_OPTION_YES:return"VOTE_OPTION_YES";case f1.VOTE_OPTION_ABSTAIN:return"VOTE_OPTION_ABSTAIN";case f1.VOTE_OPTION_NO:return"VOTE_OPTION_NO";case f1.VOTE_OPTION_NO_WITH_VETO:return"VOTE_OPTION_NO_WITH_VETO";case f1.UNRECOGNIZED:default:return"UNRECOGNIZED"}}sa.voteOptionToJSON=k6e;var uA;(function(e){e[e.PROPOSAL_STATUS_UNSPECIFIED=0]="PROPOSAL_STATUS_UNSPECIFIED",e[e.PROPOSAL_STATUS_DEPOSIT_PERIOD=1]="PROPOSAL_STATUS_DEPOSIT_PERIOD",e[e.PROPOSAL_STATUS_VOTING_PERIOD=2]="PROPOSAL_STATUS_VOTING_PERIOD",e[e.PROPOSAL_STATUS_PASSED=3]="PROPOSAL_STATUS_PASSED",e[e.PROPOSAL_STATUS_REJECTED=4]="PROPOSAL_STATUS_REJECTED",e[e.PROPOSAL_STATUS_FAILED=5]="PROPOSAL_STATUS_FAILED",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(uA||(sa.ProposalStatus=uA={}));function vmt(e){switch(e){case 0:case"PROPOSAL_STATUS_UNSPECIFIED":return uA.PROPOSAL_STATUS_UNSPECIFIED;case 1:case"PROPOSAL_STATUS_DEPOSIT_PERIOD":return uA.PROPOSAL_STATUS_DEPOSIT_PERIOD;case 2:case"PROPOSAL_STATUS_VOTING_PERIOD":return uA.PROPOSAL_STATUS_VOTING_PERIOD;case 3:case"PROPOSAL_STATUS_PASSED":return uA.PROPOSAL_STATUS_PASSED;case 4:case"PROPOSAL_STATUS_REJECTED":return uA.PROPOSAL_STATUS_REJECTED;case 5:case"PROPOSAL_STATUS_FAILED":return uA.PROPOSAL_STATUS_FAILED;default:return uA.UNRECOGNIZED}}sa.proposalStatusFromJSON=vmt;function Rmt(e){switch(e){case uA.PROPOSAL_STATUS_UNSPECIFIED:return"PROPOSAL_STATUS_UNSPECIFIED";case uA.PROPOSAL_STATUS_DEPOSIT_PERIOD:return"PROPOSAL_STATUS_DEPOSIT_PERIOD";case uA.PROPOSAL_STATUS_VOTING_PERIOD:return"PROPOSAL_STATUS_VOTING_PERIOD";case uA.PROPOSAL_STATUS_PASSED:return"PROPOSAL_STATUS_PASSED";case uA.PROPOSAL_STATUS_REJECTED:return"PROPOSAL_STATUS_REJECTED";case uA.PROPOSAL_STATUS_FAILED:return"PROPOSAL_STATUS_FAILED";case uA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}sa.proposalStatusToJSON=Rmt;function I6e(){return{option:0,weight:""}}sa.WeightedVoteOption={typeUrl:"/cosmos.gov.v1beta1.WeightedVoteOption",encode(e,t=Lu.BinaryWriter.create()){return e.option!==0&&t.uint32(8).int32(e.option),e.weight!==""&&t.uint32(18).string(e.weight),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=I6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.option=r.int32();break;case 2:n.weight=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=I6e();return(0,Za.isSet)(e.option)&&(t.option=D6e(e.option)),(0,Za.isSet)(e.weight)&&(t.weight=String(e.weight)),t},toJSON(e){let t={};return e.option!==void 0&&(t.option=k6e(e.option)),e.weight!==void 0&&(t.weight=e.weight),t},fromPartial(e){let t=I6e();return t.option=e.option??0,t.weight=e.weight??"",t}};function C6e(){return{title:"",description:""}}sa.TextProposal={typeUrl:"/cosmos.gov.v1beta1.TextProposal",encode(e,t=Lu.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=C6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=C6e();return(0,Za.isSet)(e.title)&&(t.title=String(e.title)),(0,Za.isSet)(e.description)&&(t.description=String(e.description)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),t},fromPartial(e){let t=C6e();return t.title=e.title??"",t.description=e.description??"",t}};function w6e(){return{proposalId:BigInt(0),depositor:"",amount:[]}}sa.Deposit={typeUrl:"/cosmos.gov.v1beta1.Deposit",encode(e,t=Lu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.depositor!==""&&t.uint32(18).string(e.depositor);for(let r of e.amount)ip.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=w6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.depositor=r.string();break;case 3:n.amount.push(ip.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=w6e();return(0,Za.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Za.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>ip.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.depositor!==void 0&&(t.depositor=e.depositor),e.amount?t.amount=e.amount.map(r=>r?ip.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=w6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.depositor=e.depositor??"",t.amount=e.amount?.map(r=>ip.Coin.fromPartial(r))||[],t}};function O6e(){return{proposalId:BigInt(0),content:void 0,status:0,finalTallyResult:sa.TallyResult.fromPartial({}),submitTime:cA.Timestamp.fromPartial({}),depositEndTime:cA.Timestamp.fromPartial({}),totalDeposit:[],votingStartTime:cA.Timestamp.fromPartial({}),votingEndTime:cA.Timestamp.fromPartial({})}}sa.Proposal={typeUrl:"/cosmos.gov.v1beta1.Proposal",encode(e,t=Lu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.content!==void 0&&$F.Any.encode(e.content,t.uint32(18).fork()).ldelim(),e.status!==0&&t.uint32(24).int32(e.status),e.finalTallyResult!==void 0&&sa.TallyResult.encode(e.finalTallyResult,t.uint32(34).fork()).ldelim(),e.submitTime!==void 0&&cA.Timestamp.encode(e.submitTime,t.uint32(42).fork()).ldelim(),e.depositEndTime!==void 0&&cA.Timestamp.encode(e.depositEndTime,t.uint32(50).fork()).ldelim();for(let r of e.totalDeposit)ip.Coin.encode(r,t.uint32(58).fork()).ldelim();return e.votingStartTime!==void 0&&cA.Timestamp.encode(e.votingStartTime,t.uint32(66).fork()).ldelim(),e.votingEndTime!==void 0&&cA.Timestamp.encode(e.votingEndTime,t.uint32(74).fork()).ldelim(),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=O6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.content=$F.Any.decode(r,r.uint32());break;case 3:n.status=r.int32();break;case 4:n.finalTallyResult=sa.TallyResult.decode(r,r.uint32());break;case 5:n.submitTime=cA.Timestamp.decode(r,r.uint32());break;case 6:n.depositEndTime=cA.Timestamp.decode(r,r.uint32());break;case 7:n.totalDeposit.push(ip.Coin.decode(r,r.uint32()));break;case 8:n.votingStartTime=cA.Timestamp.decode(r,r.uint32());break;case 9:n.votingEndTime=cA.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=O6e();return(0,Za.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Za.isSet)(e.content)&&(t.content=$F.Any.fromJSON(e.content)),(0,Za.isSet)(e.status)&&(t.status=vmt(e.status)),(0,Za.isSet)(e.finalTallyResult)&&(t.finalTallyResult=sa.TallyResult.fromJSON(e.finalTallyResult)),(0,Za.isSet)(e.submitTime)&&(t.submitTime=(0,Za.fromJsonTimestamp)(e.submitTime)),(0,Za.isSet)(e.depositEndTime)&&(t.depositEndTime=(0,Za.fromJsonTimestamp)(e.depositEndTime)),Array.isArray(e?.totalDeposit)&&(t.totalDeposit=e.totalDeposit.map(r=>ip.Coin.fromJSON(r))),(0,Za.isSet)(e.votingStartTime)&&(t.votingStartTime=(0,Za.fromJsonTimestamp)(e.votingStartTime)),(0,Za.isSet)(e.votingEndTime)&&(t.votingEndTime=(0,Za.fromJsonTimestamp)(e.votingEndTime)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.content!==void 0&&(t.content=e.content?$F.Any.toJSON(e.content):void 0),e.status!==void 0&&(t.status=Rmt(e.status)),e.finalTallyResult!==void 0&&(t.finalTallyResult=e.finalTallyResult?sa.TallyResult.toJSON(e.finalTallyResult):void 0),e.submitTime!==void 0&&(t.submitTime=(0,Za.fromTimestamp)(e.submitTime).toISOString()),e.depositEndTime!==void 0&&(t.depositEndTime=(0,Za.fromTimestamp)(e.depositEndTime).toISOString()),e.totalDeposit?t.totalDeposit=e.totalDeposit.map(r=>r?ip.Coin.toJSON(r):void 0):t.totalDeposit=[],e.votingStartTime!==void 0&&(t.votingStartTime=(0,Za.fromTimestamp)(e.votingStartTime).toISOString()),e.votingEndTime!==void 0&&(t.votingEndTime=(0,Za.fromTimestamp)(e.votingEndTime).toISOString()),t},fromPartial(e){let t=O6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),e.content!==void 0&&e.content!==null&&(t.content=$F.Any.fromPartial(e.content)),t.status=e.status??0,e.finalTallyResult!==void 0&&e.finalTallyResult!==null&&(t.finalTallyResult=sa.TallyResult.fromPartial(e.finalTallyResult)),e.submitTime!==void 0&&e.submitTime!==null&&(t.submitTime=cA.Timestamp.fromPartial(e.submitTime)),e.depositEndTime!==void 0&&e.depositEndTime!==null&&(t.depositEndTime=cA.Timestamp.fromPartial(e.depositEndTime)),t.totalDeposit=e.totalDeposit?.map(r=>ip.Coin.fromPartial(r))||[],e.votingStartTime!==void 0&&e.votingStartTime!==null&&(t.votingStartTime=cA.Timestamp.fromPartial(e.votingStartTime)),e.votingEndTime!==void 0&&e.votingEndTime!==null&&(t.votingEndTime=cA.Timestamp.fromPartial(e.votingEndTime)),t}};function N6e(){return{yes:"",abstain:"",no:"",noWithVeto:""}}sa.TallyResult={typeUrl:"/cosmos.gov.v1beta1.TallyResult",encode(e,t=Lu.BinaryWriter.create()){return e.yes!==""&&t.uint32(10).string(e.yes),e.abstain!==""&&t.uint32(18).string(e.abstain),e.no!==""&&t.uint32(26).string(e.no),e.noWithVeto!==""&&t.uint32(34).string(e.noWithVeto),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=N6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.yes=r.string();break;case 2:n.abstain=r.string();break;case 3:n.no=r.string();break;case 4:n.noWithVeto=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=N6e();return(0,Za.isSet)(e.yes)&&(t.yes=String(e.yes)),(0,Za.isSet)(e.abstain)&&(t.abstain=String(e.abstain)),(0,Za.isSet)(e.no)&&(t.no=String(e.no)),(0,Za.isSet)(e.noWithVeto)&&(t.noWithVeto=String(e.noWithVeto)),t},toJSON(e){let t={};return e.yes!==void 0&&(t.yes=e.yes),e.abstain!==void 0&&(t.abstain=e.abstain),e.no!==void 0&&(t.no=e.no),e.noWithVeto!==void 0&&(t.noWithVeto=e.noWithVeto),t},fromPartial(e){let t=N6e();return t.yes=e.yes??"",t.abstain=e.abstain??"",t.no=e.no??"",t.noWithVeto=e.noWithVeto??"",t}};function x6e(){return{proposalId:BigInt(0),voter:"",option:0,options:[]}}sa.Vote={typeUrl:"/cosmos.gov.v1beta1.Vote",encode(e,t=Lu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),e.option!==0&&t.uint32(24).int32(e.option);for(let r of e.options)sa.WeightedVoteOption.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=x6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.option=r.int32();break;case 4:n.options.push(sa.WeightedVoteOption.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=x6e();return(0,Za.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Za.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,Za.isSet)(e.option)&&(t.option=D6e(e.option)),Array.isArray(e?.options)&&(t.options=e.options.map(r=>sa.WeightedVoteOption.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.option!==void 0&&(t.option=k6e(e.option)),e.options?t.options=e.options.map(r=>r?sa.WeightedVoteOption.toJSON(r):void 0):t.options=[],t},fromPartial(e){let t=x6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.option=e.option??0,t.options=e.options?.map(r=>sa.WeightedVoteOption.fromPartial(r))||[],t}};function T6e(){return{minDeposit:[],maxDepositPeriod:S2.Duration.fromPartial({})}}sa.DepositParams={typeUrl:"/cosmos.gov.v1beta1.DepositParams",encode(e,t=Lu.BinaryWriter.create()){for(let r of e.minDeposit)ip.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.maxDepositPeriod!==void 0&&S2.Duration.encode(e.maxDepositPeriod,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=T6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.minDeposit.push(ip.Coin.decode(r,r.uint32()));break;case 2:n.maxDepositPeriod=S2.Duration.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=T6e();return Array.isArray(e?.minDeposit)&&(t.minDeposit=e.minDeposit.map(r=>ip.Coin.fromJSON(r))),(0,Za.isSet)(e.maxDepositPeriod)&&(t.maxDepositPeriod=S2.Duration.fromJSON(e.maxDepositPeriod)),t},toJSON(e){let t={};return e.minDeposit?t.minDeposit=e.minDeposit.map(r=>r?ip.Coin.toJSON(r):void 0):t.minDeposit=[],e.maxDepositPeriod!==void 0&&(t.maxDepositPeriod=e.maxDepositPeriod?S2.Duration.toJSON(e.maxDepositPeriod):void 0),t},fromPartial(e){let t=T6e();return t.minDeposit=e.minDeposit?.map(r=>ip.Coin.fromPartial(r))||[],e.maxDepositPeriod!==void 0&&e.maxDepositPeriod!==null&&(t.maxDepositPeriod=S2.Duration.fromPartial(e.maxDepositPeriod)),t}};function B6e(){return{votingPeriod:S2.Duration.fromPartial({})}}sa.VotingParams={typeUrl:"/cosmos.gov.v1beta1.VotingParams",encode(e,t=Lu.BinaryWriter.create()){return e.votingPeriod!==void 0&&S2.Duration.encode(e.votingPeriod,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=B6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.votingPeriod=S2.Duration.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=B6e();return(0,Za.isSet)(e.votingPeriod)&&(t.votingPeriod=S2.Duration.fromJSON(e.votingPeriod)),t},toJSON(e){let t={};return e.votingPeriod!==void 0&&(t.votingPeriod=e.votingPeriod?S2.Duration.toJSON(e.votingPeriod):void 0),t},fromPartial(e){let t=B6e();return e.votingPeriod!==void 0&&e.votingPeriod!==null&&(t.votingPeriod=S2.Duration.fromPartial(e.votingPeriod)),t}};function M6e(){return{quorum:new Uint8Array,threshold:new Uint8Array,vetoThreshold:new Uint8Array}}sa.TallyParams={typeUrl:"/cosmos.gov.v1beta1.TallyParams",encode(e,t=Lu.BinaryWriter.create()){return e.quorum.length!==0&&t.uint32(10).bytes(e.quorum),e.threshold.length!==0&&t.uint32(18).bytes(e.threshold),e.vetoThreshold.length!==0&&t.uint32(26).bytes(e.vetoThreshold),t},decode(e,t){let r=e instanceof Lu.BinaryReader?e:new Lu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=M6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.quorum=r.bytes();break;case 2:n.threshold=r.bytes();break;case 3:n.vetoThreshold=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=M6e();return(0,Za.isSet)(e.quorum)&&(t.quorum=(0,Za.bytesFromBase64)(e.quorum)),(0,Za.isSet)(e.threshold)&&(t.threshold=(0,Za.bytesFromBase64)(e.threshold)),(0,Za.isSet)(e.vetoThreshold)&&(t.vetoThreshold=(0,Za.bytesFromBase64)(e.vetoThreshold)),t},toJSON(e){let t={};return e.quorum!==void 0&&(t.quorum=(0,Za.base64FromBytes)(e.quorum!==void 0?e.quorum:new Uint8Array)),e.threshold!==void 0&&(t.threshold=(0,Za.base64FromBytes)(e.threshold!==void 0?e.threshold:new Uint8Array)),e.vetoThreshold!==void 0&&(t.vetoThreshold=(0,Za.base64FromBytes)(e.vetoThreshold!==void 0?e.vetoThreshold:new Uint8Array)),t},fromPartial(e){let t=M6e();return t.quorum=e.quorum??new Uint8Array,t.threshold=e.threshold??new Uint8Array,t.vetoThreshold=e.vetoThreshold??new Uint8Array,t}}});var Smt=ir(I2=>{"use strict";J();K();z();Object.defineProperty(I2,"__esModule",{value:!0});I2.createGovAminoConverters=I2.isAminoMsgDeposit=I2.isAminoMsgVoteWeighted=I2.isAminoMsgVote=I2.isAminoMsgSubmitProposal=void 0;var Bpn=Uh(),YF=Uf(),WF=Jee(),Mpn=ru(),Dpn=ep();function kpn(e){return e.type==="cosmos-sdk/MsgSubmitProposal"}I2.isAminoMsgSubmitProposal=kpn;function Ppn(e){return e.type==="cosmos-sdk/MsgVote"}I2.isAminoMsgVote=Ppn;function Lpn(e){return e.type==="cosmos-sdk/MsgVoteWeighted"}I2.isAminoMsgVoteWeighted=Lpn;function Upn(e){return e.type==="cosmos-sdk/MsgDeposit"}I2.isAminoMsgDeposit=Upn;function Fpn(){return{"/cosmos.gov.v1beta1.MsgDeposit":{aminoType:"cosmos-sdk/MsgDeposit",toAmino:({amount:e,depositor:t,proposalId:r})=>({amount:e,depositor:t,proposal_id:r.toString()}),fromAmino:({amount:e,depositor:t,proposal_id:r})=>({amount:Array.from(e),depositor:t,proposalId:BigInt(r)})},"/cosmos.gov.v1beta1.MsgVote":{aminoType:"cosmos-sdk/MsgVote",toAmino:({option:e,proposalId:t,voter:r})=>({option:e,proposal_id:t.toString(),voter:r}),fromAmino:({option:e,proposal_id:t,voter:r})=>({option:(0,WF.voteOptionFromJSON)(e),proposalId:BigInt(t),voter:r})},"/cosmos.gov.v1beta1.MsgVoteWeighted":{aminoType:"cosmos-sdk/MsgVoteWeighted",toAmino:({options:e,proposalId:t,voter:r})=>({options:e.map(i=>({option:i.option,weight:(0,Dpn.decodeCosmosSdkDecFromProto)(i.weight).toString().padEnd(20,"0")})),proposal_id:t.toString(),voter:r}),fromAmino:({options:e,proposal_id:t,voter:r})=>({proposalId:BigInt(t),voter:r,options:e.map(i=>({option:(0,WF.voteOptionFromJSON)(i.option),weight:Bpn.Decimal.fromUserInput(i.weight,18).atomics}))})},"/cosmos.gov.v1beta1.MsgSubmitProposal":{aminoType:"cosmos-sdk/MsgSubmitProposal",toAmino:({initialDeposit:e,proposer:t,content:r})=>{(0,YF.assertDefinedAndNotNull)(r);let i;if(r.typeUrl==="/cosmos.gov.v1beta1.TextProposal"){let n=WF.TextProposal.decode(r.value);i={type:"cosmos-sdk/TextProposal",value:{description:n.description,title:n.title}}}else throw new Error(`Unsupported proposal type: '${r.typeUrl}'`);return{initial_deposit:e,proposer:t,content:i}},fromAmino:({initial_deposit:e,proposer:t,content:r})=>{let i;if(r.type==="cosmos-sdk/TextProposal"){let{value:n}=r;(0,YF.assert)((0,YF.isNonNullObject)(n));let{title:o,description:d}=n;(0,YF.assert)(typeof o=="string"),(0,YF.assert)(typeof d=="string"),i=Mpn.Any.fromPartial({typeUrl:"/cosmos.gov.v1beta1.TextProposal",value:WF.TextProposal.encode(WF.TextProposal.fromPartial({title:o,description:d})).finish()})}else throw new Error(`Unsupported proposal type: '${r.type}'`);return{initialDeposit:Array.from(e),proposer:t,content:i}}}}}I2.createGovAminoConverters=Fpn});var Nmt=ir(ma=>{"use strict";J();K();z();Object.defineProperty(ma,"__esModule",{value:!0});ma.Params=ma.TallyParams=ma.VotingParams=ma.DepositParams=ma.Vote=ma.TallyResult=ma.Proposal=ma.Deposit=ma.WeightedVoteOption=ma.proposalStatusToJSON=ma.proposalStatusFromJSON=ma.ProposalStatus=ma.voteOptionToJSON=ma.voteOptionFromJSON=ma.VoteOption=ma.protobufPackage=void 0;var Ef=Af(),XF=ru(),C2=u1(),bf=wS(),Uu=Qi(),_a=Hi();ma.protobufPackage="cosmos.gov.v1";var l1;(function(e){e[e.VOTE_OPTION_UNSPECIFIED=0]="VOTE_OPTION_UNSPECIFIED",e[e.VOTE_OPTION_YES=1]="VOTE_OPTION_YES",e[e.VOTE_OPTION_ABSTAIN=2]="VOTE_OPTION_ABSTAIN",e[e.VOTE_OPTION_NO=3]="VOTE_OPTION_NO",e[e.VOTE_OPTION_NO_WITH_VETO=4]="VOTE_OPTION_NO_WITH_VETO",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(l1||(ma.VoteOption=l1={}));function Imt(e){switch(e){case 0:case"VOTE_OPTION_UNSPECIFIED":return l1.VOTE_OPTION_UNSPECIFIED;case 1:case"VOTE_OPTION_YES":return l1.VOTE_OPTION_YES;case 2:case"VOTE_OPTION_ABSTAIN":return l1.VOTE_OPTION_ABSTAIN;case 3:case"VOTE_OPTION_NO":return l1.VOTE_OPTION_NO;case 4:case"VOTE_OPTION_NO_WITH_VETO":return l1.VOTE_OPTION_NO_WITH_VETO;default:return l1.UNRECOGNIZED}}ma.voteOptionFromJSON=Imt;function Cmt(e){switch(e){case l1.VOTE_OPTION_UNSPECIFIED:return"VOTE_OPTION_UNSPECIFIED";case l1.VOTE_OPTION_YES:return"VOTE_OPTION_YES";case l1.VOTE_OPTION_ABSTAIN:return"VOTE_OPTION_ABSTAIN";case l1.VOTE_OPTION_NO:return"VOTE_OPTION_NO";case l1.VOTE_OPTION_NO_WITH_VETO:return"VOTE_OPTION_NO_WITH_VETO";case l1.UNRECOGNIZED:default:return"UNRECOGNIZED"}}ma.voteOptionToJSON=Cmt;var dA;(function(e){e[e.PROPOSAL_STATUS_UNSPECIFIED=0]="PROPOSAL_STATUS_UNSPECIFIED",e[e.PROPOSAL_STATUS_DEPOSIT_PERIOD=1]="PROPOSAL_STATUS_DEPOSIT_PERIOD",e[e.PROPOSAL_STATUS_VOTING_PERIOD=2]="PROPOSAL_STATUS_VOTING_PERIOD",e[e.PROPOSAL_STATUS_PASSED=3]="PROPOSAL_STATUS_PASSED",e[e.PROPOSAL_STATUS_REJECTED=4]="PROPOSAL_STATUS_REJECTED",e[e.PROPOSAL_STATUS_FAILED=5]="PROPOSAL_STATUS_FAILED",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(dA||(ma.ProposalStatus=dA={}));function wmt(e){switch(e){case 0:case"PROPOSAL_STATUS_UNSPECIFIED":return dA.PROPOSAL_STATUS_UNSPECIFIED;case 1:case"PROPOSAL_STATUS_DEPOSIT_PERIOD":return dA.PROPOSAL_STATUS_DEPOSIT_PERIOD;case 2:case"PROPOSAL_STATUS_VOTING_PERIOD":return dA.PROPOSAL_STATUS_VOTING_PERIOD;case 3:case"PROPOSAL_STATUS_PASSED":return dA.PROPOSAL_STATUS_PASSED;case 4:case"PROPOSAL_STATUS_REJECTED":return dA.PROPOSAL_STATUS_REJECTED;case 5:case"PROPOSAL_STATUS_FAILED":return dA.PROPOSAL_STATUS_FAILED;default:return dA.UNRECOGNIZED}}ma.proposalStatusFromJSON=wmt;function Omt(e){switch(e){case dA.PROPOSAL_STATUS_UNSPECIFIED:return"PROPOSAL_STATUS_UNSPECIFIED";case dA.PROPOSAL_STATUS_DEPOSIT_PERIOD:return"PROPOSAL_STATUS_DEPOSIT_PERIOD";case dA.PROPOSAL_STATUS_VOTING_PERIOD:return"PROPOSAL_STATUS_VOTING_PERIOD";case dA.PROPOSAL_STATUS_PASSED:return"PROPOSAL_STATUS_PASSED";case dA.PROPOSAL_STATUS_REJECTED:return"PROPOSAL_STATUS_REJECTED";case dA.PROPOSAL_STATUS_FAILED:return"PROPOSAL_STATUS_FAILED";case dA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}ma.proposalStatusToJSON=Omt;function P6e(){return{option:0,weight:""}}ma.WeightedVoteOption={typeUrl:"/cosmos.gov.v1.WeightedVoteOption",encode(e,t=Uu.BinaryWriter.create()){return e.option!==0&&t.uint32(8).int32(e.option),e.weight!==""&&t.uint32(18).string(e.weight),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=P6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.option=r.int32();break;case 2:n.weight=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=P6e();return(0,_a.isSet)(e.option)&&(t.option=Imt(e.option)),(0,_a.isSet)(e.weight)&&(t.weight=String(e.weight)),t},toJSON(e){let t={};return e.option!==void 0&&(t.option=Cmt(e.option)),e.weight!==void 0&&(t.weight=e.weight),t},fromPartial(e){let t=P6e();return t.option=e.option??0,t.weight=e.weight??"",t}};function L6e(){return{proposalId:BigInt(0),depositor:"",amount:[]}}ma.Deposit={typeUrl:"/cosmos.gov.v1.Deposit",encode(e,t=Uu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.depositor!==""&&t.uint32(18).string(e.depositor);for(let r of e.amount)Ef.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=L6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.depositor=r.string();break;case 3:n.amount.push(Ef.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=L6e();return(0,_a.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,_a.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>Ef.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.depositor!==void 0&&(t.depositor=e.depositor),e.amount?t.amount=e.amount.map(r=>r?Ef.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=L6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.depositor=e.depositor??"",t.amount=e.amount?.map(r=>Ef.Coin.fromPartial(r))||[],t}};function U6e(){return{id:BigInt(0),messages:[],status:0,finalTallyResult:void 0,submitTime:void 0,depositEndTime:void 0,totalDeposit:[],votingStartTime:void 0,votingEndTime:void 0,metadata:"",title:"",summary:"",proposer:""}}ma.Proposal={typeUrl:"/cosmos.gov.v1.Proposal",encode(e,t=Uu.BinaryWriter.create()){e.id!==BigInt(0)&&t.uint32(8).uint64(e.id);for(let r of e.messages)XF.Any.encode(r,t.uint32(18).fork()).ldelim();e.status!==0&&t.uint32(24).int32(e.status),e.finalTallyResult!==void 0&&ma.TallyResult.encode(e.finalTallyResult,t.uint32(34).fork()).ldelim(),e.submitTime!==void 0&&C2.Timestamp.encode(e.submitTime,t.uint32(42).fork()).ldelim(),e.depositEndTime!==void 0&&C2.Timestamp.encode(e.depositEndTime,t.uint32(50).fork()).ldelim();for(let r of e.totalDeposit)Ef.Coin.encode(r,t.uint32(58).fork()).ldelim();return e.votingStartTime!==void 0&&C2.Timestamp.encode(e.votingStartTime,t.uint32(66).fork()).ldelim(),e.votingEndTime!==void 0&&C2.Timestamp.encode(e.votingEndTime,t.uint32(74).fork()).ldelim(),e.metadata!==""&&t.uint32(82).string(e.metadata),e.title!==""&&t.uint32(90).string(e.title),e.summary!==""&&t.uint32(98).string(e.summary),e.proposer!==""&&t.uint32(106).string(e.proposer),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=U6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.id=r.uint64();break;case 2:n.messages.push(XF.Any.decode(r,r.uint32()));break;case 3:n.status=r.int32();break;case 4:n.finalTallyResult=ma.TallyResult.decode(r,r.uint32());break;case 5:n.submitTime=C2.Timestamp.decode(r,r.uint32());break;case 6:n.depositEndTime=C2.Timestamp.decode(r,r.uint32());break;case 7:n.totalDeposit.push(Ef.Coin.decode(r,r.uint32()));break;case 8:n.votingStartTime=C2.Timestamp.decode(r,r.uint32());break;case 9:n.votingEndTime=C2.Timestamp.decode(r,r.uint32());break;case 10:n.metadata=r.string();break;case 11:n.title=r.string();break;case 12:n.summary=r.string();break;case 13:n.proposer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=U6e();return(0,_a.isSet)(e.id)&&(t.id=BigInt(e.id.toString())),Array.isArray(e?.messages)&&(t.messages=e.messages.map(r=>XF.Any.fromJSON(r))),(0,_a.isSet)(e.status)&&(t.status=wmt(e.status)),(0,_a.isSet)(e.finalTallyResult)&&(t.finalTallyResult=ma.TallyResult.fromJSON(e.finalTallyResult)),(0,_a.isSet)(e.submitTime)&&(t.submitTime=(0,_a.fromJsonTimestamp)(e.submitTime)),(0,_a.isSet)(e.depositEndTime)&&(t.depositEndTime=(0,_a.fromJsonTimestamp)(e.depositEndTime)),Array.isArray(e?.totalDeposit)&&(t.totalDeposit=e.totalDeposit.map(r=>Ef.Coin.fromJSON(r))),(0,_a.isSet)(e.votingStartTime)&&(t.votingStartTime=(0,_a.fromJsonTimestamp)(e.votingStartTime)),(0,_a.isSet)(e.votingEndTime)&&(t.votingEndTime=(0,_a.fromJsonTimestamp)(e.votingEndTime)),(0,_a.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,_a.isSet)(e.title)&&(t.title=String(e.title)),(0,_a.isSet)(e.summary)&&(t.summary=String(e.summary)),(0,_a.isSet)(e.proposer)&&(t.proposer=String(e.proposer)),t},toJSON(e){let t={};return e.id!==void 0&&(t.id=(e.id||BigInt(0)).toString()),e.messages?t.messages=e.messages.map(r=>r?XF.Any.toJSON(r):void 0):t.messages=[],e.status!==void 0&&(t.status=Omt(e.status)),e.finalTallyResult!==void 0&&(t.finalTallyResult=e.finalTallyResult?ma.TallyResult.toJSON(e.finalTallyResult):void 0),e.submitTime!==void 0&&(t.submitTime=(0,_a.fromTimestamp)(e.submitTime).toISOString()),e.depositEndTime!==void 0&&(t.depositEndTime=(0,_a.fromTimestamp)(e.depositEndTime).toISOString()),e.totalDeposit?t.totalDeposit=e.totalDeposit.map(r=>r?Ef.Coin.toJSON(r):void 0):t.totalDeposit=[],e.votingStartTime!==void 0&&(t.votingStartTime=(0,_a.fromTimestamp)(e.votingStartTime).toISOString()),e.votingEndTime!==void 0&&(t.votingEndTime=(0,_a.fromTimestamp)(e.votingEndTime).toISOString()),e.metadata!==void 0&&(t.metadata=e.metadata),e.title!==void 0&&(t.title=e.title),e.summary!==void 0&&(t.summary=e.summary),e.proposer!==void 0&&(t.proposer=e.proposer),t},fromPartial(e){let t=U6e();return e.id!==void 0&&e.id!==null&&(t.id=BigInt(e.id.toString())),t.messages=e.messages?.map(r=>XF.Any.fromPartial(r))||[],t.status=e.status??0,e.finalTallyResult!==void 0&&e.finalTallyResult!==null&&(t.finalTallyResult=ma.TallyResult.fromPartial(e.finalTallyResult)),e.submitTime!==void 0&&e.submitTime!==null&&(t.submitTime=C2.Timestamp.fromPartial(e.submitTime)),e.depositEndTime!==void 0&&e.depositEndTime!==null&&(t.depositEndTime=C2.Timestamp.fromPartial(e.depositEndTime)),t.totalDeposit=e.totalDeposit?.map(r=>Ef.Coin.fromPartial(r))||[],e.votingStartTime!==void 0&&e.votingStartTime!==null&&(t.votingStartTime=C2.Timestamp.fromPartial(e.votingStartTime)),e.votingEndTime!==void 0&&e.votingEndTime!==null&&(t.votingEndTime=C2.Timestamp.fromPartial(e.votingEndTime)),t.metadata=e.metadata??"",t.title=e.title??"",t.summary=e.summary??"",t.proposer=e.proposer??"",t}};function F6e(){return{yesCount:"",abstainCount:"",noCount:"",noWithVetoCount:""}}ma.TallyResult={typeUrl:"/cosmos.gov.v1.TallyResult",encode(e,t=Uu.BinaryWriter.create()){return e.yesCount!==""&&t.uint32(10).string(e.yesCount),e.abstainCount!==""&&t.uint32(18).string(e.abstainCount),e.noCount!==""&&t.uint32(26).string(e.noCount),e.noWithVetoCount!==""&&t.uint32(34).string(e.noWithVetoCount),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=F6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.yesCount=r.string();break;case 2:n.abstainCount=r.string();break;case 3:n.noCount=r.string();break;case 4:n.noWithVetoCount=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=F6e();return(0,_a.isSet)(e.yesCount)&&(t.yesCount=String(e.yesCount)),(0,_a.isSet)(e.abstainCount)&&(t.abstainCount=String(e.abstainCount)),(0,_a.isSet)(e.noCount)&&(t.noCount=String(e.noCount)),(0,_a.isSet)(e.noWithVetoCount)&&(t.noWithVetoCount=String(e.noWithVetoCount)),t},toJSON(e){let t={};return e.yesCount!==void 0&&(t.yesCount=e.yesCount),e.abstainCount!==void 0&&(t.abstainCount=e.abstainCount),e.noCount!==void 0&&(t.noCount=e.noCount),e.noWithVetoCount!==void 0&&(t.noWithVetoCount=e.noWithVetoCount),t},fromPartial(e){let t=F6e();return t.yesCount=e.yesCount??"",t.abstainCount=e.abstainCount??"",t.noCount=e.noCount??"",t.noWithVetoCount=e.noWithVetoCount??"",t}};function Q6e(){return{proposalId:BigInt(0),voter:"",options:[],metadata:""}}ma.Vote={typeUrl:"/cosmos.gov.v1.Vote",encode(e,t=Uu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter);for(let r of e.options)ma.WeightedVoteOption.encode(r,t.uint32(34).fork()).ldelim();return e.metadata!==""&&t.uint32(42).string(e.metadata),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Q6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 4:n.options.push(ma.WeightedVoteOption.decode(r,r.uint32()));break;case 5:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Q6e();return(0,_a.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,_a.isSet)(e.voter)&&(t.voter=String(e.voter)),Array.isArray(e?.options)&&(t.options=e.options.map(r=>ma.WeightedVoteOption.fromJSON(r))),(0,_a.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.options?t.options=e.options.map(r=>r?ma.WeightedVoteOption.toJSON(r):void 0):t.options=[],e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=Q6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.options=e.options?.map(r=>ma.WeightedVoteOption.fromPartial(r))||[],t.metadata=e.metadata??"",t}};function H6e(){return{minDeposit:[],maxDepositPeriod:void 0}}ma.DepositParams={typeUrl:"/cosmos.gov.v1.DepositParams",encode(e,t=Uu.BinaryWriter.create()){for(let r of e.minDeposit)Ef.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.maxDepositPeriod!==void 0&&bf.Duration.encode(e.maxDepositPeriod,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=H6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.minDeposit.push(Ef.Coin.decode(r,r.uint32()));break;case 2:n.maxDepositPeriod=bf.Duration.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=H6e();return Array.isArray(e?.minDeposit)&&(t.minDeposit=e.minDeposit.map(r=>Ef.Coin.fromJSON(r))),(0,_a.isSet)(e.maxDepositPeriod)&&(t.maxDepositPeriod=bf.Duration.fromJSON(e.maxDepositPeriod)),t},toJSON(e){let t={};return e.minDeposit?t.minDeposit=e.minDeposit.map(r=>r?Ef.Coin.toJSON(r):void 0):t.minDeposit=[],e.maxDepositPeriod!==void 0&&(t.maxDepositPeriod=e.maxDepositPeriod?bf.Duration.toJSON(e.maxDepositPeriod):void 0),t},fromPartial(e){let t=H6e();return t.minDeposit=e.minDeposit?.map(r=>Ef.Coin.fromPartial(r))||[],e.maxDepositPeriod!==void 0&&e.maxDepositPeriod!==null&&(t.maxDepositPeriod=bf.Duration.fromPartial(e.maxDepositPeriod)),t}};function G6e(){return{votingPeriod:void 0}}ma.VotingParams={typeUrl:"/cosmos.gov.v1.VotingParams",encode(e,t=Uu.BinaryWriter.create()){return e.votingPeriod!==void 0&&bf.Duration.encode(e.votingPeriod,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=G6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.votingPeriod=bf.Duration.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=G6e();return(0,_a.isSet)(e.votingPeriod)&&(t.votingPeriod=bf.Duration.fromJSON(e.votingPeriod)),t},toJSON(e){let t={};return e.votingPeriod!==void 0&&(t.votingPeriod=e.votingPeriod?bf.Duration.toJSON(e.votingPeriod):void 0),t},fromPartial(e){let t=G6e();return e.votingPeriod!==void 0&&e.votingPeriod!==null&&(t.votingPeriod=bf.Duration.fromPartial(e.votingPeriod)),t}};function q6e(){return{quorum:"",threshold:"",vetoThreshold:""}}ma.TallyParams={typeUrl:"/cosmos.gov.v1.TallyParams",encode(e,t=Uu.BinaryWriter.create()){return e.quorum!==""&&t.uint32(10).string(e.quorum),e.threshold!==""&&t.uint32(18).string(e.threshold),e.vetoThreshold!==""&&t.uint32(26).string(e.vetoThreshold),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=q6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.quorum=r.string();break;case 2:n.threshold=r.string();break;case 3:n.vetoThreshold=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=q6e();return(0,_a.isSet)(e.quorum)&&(t.quorum=String(e.quorum)),(0,_a.isSet)(e.threshold)&&(t.threshold=String(e.threshold)),(0,_a.isSet)(e.vetoThreshold)&&(t.vetoThreshold=String(e.vetoThreshold)),t},toJSON(e){let t={};return e.quorum!==void 0&&(t.quorum=e.quorum),e.threshold!==void 0&&(t.threshold=e.threshold),e.vetoThreshold!==void 0&&(t.vetoThreshold=e.vetoThreshold),t},fromPartial(e){let t=q6e();return t.quorum=e.quorum??"",t.threshold=e.threshold??"",t.vetoThreshold=e.vetoThreshold??"",t}};function V6e(){return{minDeposit:[],maxDepositPeriod:void 0,votingPeriod:void 0,quorum:"",threshold:"",vetoThreshold:"",minInitialDepositRatio:"",burnVoteQuorum:!1,burnProposalDepositPrevote:!1,burnVoteVeto:!1}}ma.Params={typeUrl:"/cosmos.gov.v1.Params",encode(e,t=Uu.BinaryWriter.create()){for(let r of e.minDeposit)Ef.Coin.encode(r,t.uint32(10).fork()).ldelim();return e.maxDepositPeriod!==void 0&&bf.Duration.encode(e.maxDepositPeriod,t.uint32(18).fork()).ldelim(),e.votingPeriod!==void 0&&bf.Duration.encode(e.votingPeriod,t.uint32(26).fork()).ldelim(),e.quorum!==""&&t.uint32(34).string(e.quorum),e.threshold!==""&&t.uint32(42).string(e.threshold),e.vetoThreshold!==""&&t.uint32(50).string(e.vetoThreshold),e.minInitialDepositRatio!==""&&t.uint32(58).string(e.minInitialDepositRatio),e.burnVoteQuorum===!0&&t.uint32(104).bool(e.burnVoteQuorum),e.burnProposalDepositPrevote===!0&&t.uint32(112).bool(e.burnProposalDepositPrevote),e.burnVoteVeto===!0&&t.uint32(120).bool(e.burnVoteVeto),t},decode(e,t){let r=e instanceof Uu.BinaryReader?e:new Uu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=V6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.minDeposit.push(Ef.Coin.decode(r,r.uint32()));break;case 2:n.maxDepositPeriod=bf.Duration.decode(r,r.uint32());break;case 3:n.votingPeriod=bf.Duration.decode(r,r.uint32());break;case 4:n.quorum=r.string();break;case 5:n.threshold=r.string();break;case 6:n.vetoThreshold=r.string();break;case 7:n.minInitialDepositRatio=r.string();break;case 13:n.burnVoteQuorum=r.bool();break;case 14:n.burnProposalDepositPrevote=r.bool();break;case 15:n.burnVoteVeto=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=V6e();return Array.isArray(e?.minDeposit)&&(t.minDeposit=e.minDeposit.map(r=>Ef.Coin.fromJSON(r))),(0,_a.isSet)(e.maxDepositPeriod)&&(t.maxDepositPeriod=bf.Duration.fromJSON(e.maxDepositPeriod)),(0,_a.isSet)(e.votingPeriod)&&(t.votingPeriod=bf.Duration.fromJSON(e.votingPeriod)),(0,_a.isSet)(e.quorum)&&(t.quorum=String(e.quorum)),(0,_a.isSet)(e.threshold)&&(t.threshold=String(e.threshold)),(0,_a.isSet)(e.vetoThreshold)&&(t.vetoThreshold=String(e.vetoThreshold)),(0,_a.isSet)(e.minInitialDepositRatio)&&(t.minInitialDepositRatio=String(e.minInitialDepositRatio)),(0,_a.isSet)(e.burnVoteQuorum)&&(t.burnVoteQuorum=!!e.burnVoteQuorum),(0,_a.isSet)(e.burnProposalDepositPrevote)&&(t.burnProposalDepositPrevote=!!e.burnProposalDepositPrevote),(0,_a.isSet)(e.burnVoteVeto)&&(t.burnVoteVeto=!!e.burnVoteVeto),t},toJSON(e){let t={};return e.minDeposit?t.minDeposit=e.minDeposit.map(r=>r?Ef.Coin.toJSON(r):void 0):t.minDeposit=[],e.maxDepositPeriod!==void 0&&(t.maxDepositPeriod=e.maxDepositPeriod?bf.Duration.toJSON(e.maxDepositPeriod):void 0),e.votingPeriod!==void 0&&(t.votingPeriod=e.votingPeriod?bf.Duration.toJSON(e.votingPeriod):void 0),e.quorum!==void 0&&(t.quorum=e.quorum),e.threshold!==void 0&&(t.threshold=e.threshold),e.vetoThreshold!==void 0&&(t.vetoThreshold=e.vetoThreshold),e.minInitialDepositRatio!==void 0&&(t.minInitialDepositRatio=e.minInitialDepositRatio),e.burnVoteQuorum!==void 0&&(t.burnVoteQuorum=e.burnVoteQuorum),e.burnProposalDepositPrevote!==void 0&&(t.burnProposalDepositPrevote=e.burnProposalDepositPrevote),e.burnVoteVeto!==void 0&&(t.burnVoteVeto=e.burnVoteVeto),t},fromPartial(e){let t=V6e();return t.minDeposit=e.minDeposit?.map(r=>Ef.Coin.fromPartial(r))||[],e.maxDepositPeriod!==void 0&&e.maxDepositPeriod!==null&&(t.maxDepositPeriod=bf.Duration.fromPartial(e.maxDepositPeriod)),e.votingPeriod!==void 0&&e.votingPeriod!==null&&(t.votingPeriod=bf.Duration.fromPartial(e.votingPeriod)),t.quorum=e.quorum??"",t.threshold=e.threshold??"",t.vetoThreshold=e.vetoThreshold??"",t.minInitialDepositRatio=e.minInitialDepositRatio??"",t.burnVoteQuorum=e.burnVoteQuorum??!1,t.burnProposalDepositPrevote=e.burnProposalDepositPrevote??!1,t.burnVoteVeto=e.burnVoteVeto??!1,t}}});var xmt=ir(Ca=>{"use strict";J();K();z();Object.defineProperty(Ca,"__esModule",{value:!0});Ca.MsgClientImpl=Ca.MsgUpdateParamsResponse=Ca.MsgUpdateParams=Ca.MsgDepositResponse=Ca.MsgDeposit=Ca.MsgVoteWeightedResponse=Ca.MsgVoteWeighted=Ca.MsgVoteResponse=Ca.MsgVote=Ca.MsgExecLegacyContentResponse=Ca.MsgExecLegacyContent=Ca.MsgSubmitProposalResponse=Ca.MsgSubmitProposal=Ca.protobufPackage=void 0;var xE=ru(),TE=Af(),bg=Nmt(),wa=Qi(),xl=Hi();Ca.protobufPackage="cosmos.gov.v1";function J6e(){return{messages:[],initialDeposit:[],proposer:"",metadata:"",title:"",summary:""}}Ca.MsgSubmitProposal={typeUrl:"/cosmos.gov.v1.MsgSubmitProposal",encode(e,t=wa.BinaryWriter.create()){for(let r of e.messages)xE.Any.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.initialDeposit)TE.Coin.encode(r,t.uint32(18).fork()).ldelim();return e.proposer!==""&&t.uint32(26).string(e.proposer),e.metadata!==""&&t.uint32(34).string(e.metadata),e.title!==""&&t.uint32(42).string(e.title),e.summary!==""&&t.uint32(50).string(e.summary),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=J6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.messages.push(xE.Any.decode(r,r.uint32()));break;case 2:n.initialDeposit.push(TE.Coin.decode(r,r.uint32()));break;case 3:n.proposer=r.string();break;case 4:n.metadata=r.string();break;case 5:n.title=r.string();break;case 6:n.summary=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=J6e();return Array.isArray(e?.messages)&&(t.messages=e.messages.map(r=>xE.Any.fromJSON(r))),Array.isArray(e?.initialDeposit)&&(t.initialDeposit=e.initialDeposit.map(r=>TE.Coin.fromJSON(r))),(0,xl.isSet)(e.proposer)&&(t.proposer=String(e.proposer)),(0,xl.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,xl.isSet)(e.title)&&(t.title=String(e.title)),(0,xl.isSet)(e.summary)&&(t.summary=String(e.summary)),t},toJSON(e){let t={};return e.messages?t.messages=e.messages.map(r=>r?xE.Any.toJSON(r):void 0):t.messages=[],e.initialDeposit?t.initialDeposit=e.initialDeposit.map(r=>r?TE.Coin.toJSON(r):void 0):t.initialDeposit=[],e.proposer!==void 0&&(t.proposer=e.proposer),e.metadata!==void 0&&(t.metadata=e.metadata),e.title!==void 0&&(t.title=e.title),e.summary!==void 0&&(t.summary=e.summary),t},fromPartial(e){let t=J6e();return t.messages=e.messages?.map(r=>xE.Any.fromPartial(r))||[],t.initialDeposit=e.initialDeposit?.map(r=>TE.Coin.fromPartial(r))||[],t.proposer=e.proposer??"",t.metadata=e.metadata??"",t.title=e.title??"",t.summary=e.summary??"",t}};function z6e(){return{proposalId:BigInt(0)}}Ca.MsgSubmitProposalResponse={typeUrl:"/cosmos.gov.v1.MsgSubmitProposalResponse",encode(e,t=wa.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=z6e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposalId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=z6e();return(0,xl.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),t},fromPartial(e){let t=z6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t}};function K6e(){return{content:void 0,authority:""}}Ca.MsgExecLegacyContent={typeUrl:"/cosmos.gov.v1.MsgExecLegacyContent",encode(e,t=wa.BinaryWriter.create()){return e.content!==void 0&&xE.Any.encode(e.content,t.uint32(10).fork()).ldelim(),e.authority!==""&&t.uint32(18).string(e.authority),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=K6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.content=xE.Any.decode(r,r.uint32());break;case 2:n.authority=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=K6e();return(0,xl.isSet)(e.content)&&(t.content=xE.Any.fromJSON(e.content)),(0,xl.isSet)(e.authority)&&(t.authority=String(e.authority)),t},toJSON(e){let t={};return e.content!==void 0&&(t.content=e.content?xE.Any.toJSON(e.content):void 0),e.authority!==void 0&&(t.authority=e.authority),t},fromPartial(e){let t=K6e();return e.content!==void 0&&e.content!==null&&(t.content=xE.Any.fromPartial(e.content)),t.authority=e.authority??"",t}};function $6e(){return{}}Ca.MsgExecLegacyContentResponse={typeUrl:"/cosmos.gov.v1.MsgExecLegacyContentResponse",encode(e,t=wa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return $6e()},toJSON(e){return{}},fromPartial(e){return $6e()}};function Y6e(){return{proposalId:BigInt(0),voter:"",option:0,metadata:""}}Ca.MsgVote={typeUrl:"/cosmos.gov.v1.MsgVote",encode(e,t=wa.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),e.option!==0&&t.uint32(24).int32(e.option),e.metadata!==""&&t.uint32(34).string(e.metadata),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Y6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.option=r.int32();break;case 4:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Y6e();return(0,xl.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,xl.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,xl.isSet)(e.option)&&(t.option=(0,bg.voteOptionFromJSON)(e.option)),(0,xl.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.option!==void 0&&(t.option=(0,bg.voteOptionToJSON)(e.option)),e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=Y6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.option=e.option??0,t.metadata=e.metadata??"",t}};function W6e(){return{}}Ca.MsgVoteResponse={typeUrl:"/cosmos.gov.v1.MsgVoteResponse",encode(e,t=wa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=W6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return W6e()},toJSON(e){return{}},fromPartial(e){return W6e()}};function X6e(){return{proposalId:BigInt(0),voter:"",options:[],metadata:""}}Ca.MsgVoteWeighted={typeUrl:"/cosmos.gov.v1.MsgVoteWeighted",encode(e,t=wa.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter);for(let r of e.options)bg.WeightedVoteOption.encode(r,t.uint32(26).fork()).ldelim();return e.metadata!==""&&t.uint32(34).string(e.metadata),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=X6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.options.push(bg.WeightedVoteOption.decode(r,r.uint32()));break;case 4:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=X6e();return(0,xl.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,xl.isSet)(e.voter)&&(t.voter=String(e.voter)),Array.isArray(e?.options)&&(t.options=e.options.map(r=>bg.WeightedVoteOption.fromJSON(r))),(0,xl.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.options?t.options=e.options.map(r=>r?bg.WeightedVoteOption.toJSON(r):void 0):t.options=[],e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=X6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.options=e.options?.map(r=>bg.WeightedVoteOption.fromPartial(r))||[],t.metadata=e.metadata??"",t}};function Z6e(){return{}}Ca.MsgVoteWeightedResponse={typeUrl:"/cosmos.gov.v1.MsgVoteWeightedResponse",encode(e,t=wa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Z6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Z6e()},toJSON(e){return{}},fromPartial(e){return Z6e()}};function j6e(){return{proposalId:BigInt(0),depositor:"",amount:[]}}Ca.MsgDeposit={typeUrl:"/cosmos.gov.v1.MsgDeposit",encode(e,t=wa.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.depositor!==""&&t.uint32(18).string(e.depositor);for(let r of e.amount)TE.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=j6e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.depositor=r.string();break;case 3:n.amount.push(TE.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=j6e();return(0,xl.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,xl.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>TE.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.depositor!==void 0&&(t.depositor=e.depositor),e.amount?t.amount=e.amount.map(r=>r?TE.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=j6e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.depositor=e.depositor??"",t.amount=e.amount?.map(r=>TE.Coin.fromPartial(r))||[],t}};function eIe(){return{}}Ca.MsgDepositResponse={typeUrl:"/cosmos.gov.v1.MsgDepositResponse",encode(e,t=wa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return eIe()},toJSON(e){return{}},fromPartial(e){return eIe()}};function tIe(){return{authority:"",params:bg.Params.fromPartial({})}}Ca.MsgUpdateParams={typeUrl:"/cosmos.gov.v1.MsgUpdateParams",encode(e,t=wa.BinaryWriter.create()){return e.authority!==""&&t.uint32(10).string(e.authority),e.params!==void 0&&bg.Params.encode(e.params,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.params=bg.Params.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=tIe();return(0,xl.isSet)(e.authority)&&(t.authority=String(e.authority)),(0,xl.isSet)(e.params)&&(t.params=bg.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.params!==void 0&&(t.params=e.params?bg.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=tIe();return t.authority=e.authority??"",e.params!==void 0&&e.params!==null&&(t.params=bg.Params.fromPartial(e.params)),t}};function rIe(){return{}}Ca.MsgUpdateParamsResponse={typeUrl:"/cosmos.gov.v1.MsgUpdateParamsResponse",encode(e,t=wa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof wa.BinaryReader?e:new wa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return rIe()},toJSON(e){return{}},fromPartial(e){return rIe()}};var nIe=class{constructor(t){this.rpc=t,this.SubmitProposal=this.SubmitProposal.bind(this),this.ExecLegacyContent=this.ExecLegacyContent.bind(this),this.Vote=this.Vote.bind(this),this.VoteWeighted=this.VoteWeighted.bind(this),this.Deposit=this.Deposit.bind(this),this.UpdateParams=this.UpdateParams.bind(this)}SubmitProposal(t){let r=Ca.MsgSubmitProposal.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","SubmitProposal",r).then(n=>Ca.MsgSubmitProposalResponse.decode(new wa.BinaryReader(n)))}ExecLegacyContent(t){let r=Ca.MsgExecLegacyContent.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","ExecLegacyContent",r).then(n=>Ca.MsgExecLegacyContentResponse.decode(new wa.BinaryReader(n)))}Vote(t){let r=Ca.MsgVote.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","Vote",r).then(n=>Ca.MsgVoteResponse.decode(new wa.BinaryReader(n)))}VoteWeighted(t){let r=Ca.MsgVoteWeighted.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","VoteWeighted",r).then(n=>Ca.MsgVoteWeightedResponse.decode(new wa.BinaryReader(n)))}Deposit(t){let r=Ca.MsgDeposit.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","Deposit",r).then(n=>Ca.MsgDepositResponse.decode(new wa.BinaryReader(n)))}UpdateParams(t){let r=Ca.MsgUpdateParams.encode(t).finish();return this.rpc.request("cosmos.gov.v1.Msg","UpdateParams",r).then(n=>Ca.MsgUpdateParamsResponse.decode(new wa.BinaryReader(n)))}};Ca.MsgClientImpl=nIe});var Tmt=ir(kc=>{"use strict";J();K();z();Object.defineProperty(kc,"__esModule",{value:!0});kc.MsgClientImpl=kc.MsgDepositResponse=kc.MsgDeposit=kc.MsgVoteWeightedResponse=kc.MsgVoteWeighted=kc.MsgVoteResponse=kc.MsgVote=kc.MsgSubmitProposalResponse=kc.MsgSubmitProposal=kc.protobufPackage=void 0;var ZF=ru(),BE=Af(),S5=Jee(),Eu=Qi(),ME=Hi();kc.protobufPackage="cosmos.gov.v1beta1";function iIe(){return{content:void 0,initialDeposit:[],proposer:""}}kc.MsgSubmitProposal={typeUrl:"/cosmos.gov.v1beta1.MsgSubmitProposal",encode(e,t=Eu.BinaryWriter.create()){e.content!==void 0&&ZF.Any.encode(e.content,t.uint32(10).fork()).ldelim();for(let r of e.initialDeposit)BE.Coin.encode(r,t.uint32(18).fork()).ldelim();return e.proposer!==""&&t.uint32(26).string(e.proposer),t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.content=ZF.Any.decode(r,r.uint32());break;case 2:n.initialDeposit.push(BE.Coin.decode(r,r.uint32()));break;case 3:n.proposer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=iIe();return(0,ME.isSet)(e.content)&&(t.content=ZF.Any.fromJSON(e.content)),Array.isArray(e?.initialDeposit)&&(t.initialDeposit=e.initialDeposit.map(r=>BE.Coin.fromJSON(r))),(0,ME.isSet)(e.proposer)&&(t.proposer=String(e.proposer)),t},toJSON(e){let t={};return e.content!==void 0&&(t.content=e.content?ZF.Any.toJSON(e.content):void 0),e.initialDeposit?t.initialDeposit=e.initialDeposit.map(r=>r?BE.Coin.toJSON(r):void 0):t.initialDeposit=[],e.proposer!==void 0&&(t.proposer=e.proposer),t},fromPartial(e){let t=iIe();return e.content!==void 0&&e.content!==null&&(t.content=ZF.Any.fromPartial(e.content)),t.initialDeposit=e.initialDeposit?.map(r=>BE.Coin.fromPartial(r))||[],t.proposer=e.proposer??"",t}};function oIe(){return{proposalId:BigInt(0)}}kc.MsgSubmitProposalResponse={typeUrl:"/cosmos.gov.v1beta1.MsgSubmitProposalResponse",encode(e,t=Eu.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=oIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposalId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=oIe();return(0,ME.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),t},fromPartial(e){let t=oIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t}};function aIe(){return{proposalId:BigInt(0),voter:"",option:0}}kc.MsgVote={typeUrl:"/cosmos.gov.v1beta1.MsgVote",encode(e,t=Eu.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),e.option!==0&&t.uint32(24).int32(e.option),t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.option=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=aIe();return(0,ME.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,ME.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,ME.isSet)(e.option)&&(t.option=(0,S5.voteOptionFromJSON)(e.option)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.option!==void 0&&(t.option=(0,S5.voteOptionToJSON)(e.option)),t},fromPartial(e){let t=aIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.option=e.option??0,t}};function sIe(){return{}}kc.MsgVoteResponse={typeUrl:"/cosmos.gov.v1beta1.MsgVoteResponse",encode(e,t=Eu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return sIe()},toJSON(e){return{}},fromPartial(e){return sIe()}};function cIe(){return{proposalId:BigInt(0),voter:"",options:[]}}kc.MsgVoteWeighted={typeUrl:"/cosmos.gov.v1beta1.MsgVoteWeighted",encode(e,t=Eu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter);for(let r of e.options)S5.WeightedVoteOption.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.options.push(S5.WeightedVoteOption.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=cIe();return(0,ME.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,ME.isSet)(e.voter)&&(t.voter=String(e.voter)),Array.isArray(e?.options)&&(t.options=e.options.map(r=>S5.WeightedVoteOption.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.options?t.options=e.options.map(r=>r?S5.WeightedVoteOption.toJSON(r):void 0):t.options=[],t},fromPartial(e){let t=cIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.options=e.options?.map(r=>S5.WeightedVoteOption.fromPartial(r))||[],t}};function uIe(){return{}}kc.MsgVoteWeightedResponse={typeUrl:"/cosmos.gov.v1beta1.MsgVoteWeightedResponse",encode(e,t=Eu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return uIe()},toJSON(e){return{}},fromPartial(e){return uIe()}};function dIe(){return{proposalId:BigInt(0),depositor:"",amount:[]}}kc.MsgDeposit={typeUrl:"/cosmos.gov.v1beta1.MsgDeposit",encode(e,t=Eu.BinaryWriter.create()){e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.depositor!==""&&t.uint32(18).string(e.depositor);for(let r of e.amount)BE.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.depositor=r.string();break;case 3:n.amount.push(BE.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=dIe();return(0,ME.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,ME.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>BE.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.depositor!==void 0&&(t.depositor=e.depositor),e.amount?t.amount=e.amount.map(r=>r?BE.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=dIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.depositor=e.depositor??"",t.amount=e.amount?.map(r=>BE.Coin.fromPartial(r))||[],t}};function fIe(){return{}}kc.MsgDepositResponse={typeUrl:"/cosmos.gov.v1beta1.MsgDepositResponse",encode(e,t=Eu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Eu.BinaryReader?e:new Eu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return fIe()},toJSON(e){return{}},fromPartial(e){return fIe()}};var lIe=class{constructor(t){this.rpc=t,this.SubmitProposal=this.SubmitProposal.bind(this),this.Vote=this.Vote.bind(this),this.VoteWeighted=this.VoteWeighted.bind(this),this.Deposit=this.Deposit.bind(this)}SubmitProposal(t){let r=kc.MsgSubmitProposal.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Msg","SubmitProposal",r).then(n=>kc.MsgSubmitProposalResponse.decode(new Eu.BinaryReader(n)))}Vote(t){let r=kc.MsgVote.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Msg","Vote",r).then(n=>kc.MsgVoteResponse.decode(new Eu.BinaryReader(n)))}VoteWeighted(t){let r=kc.MsgVoteWeighted.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Msg","VoteWeighted",r).then(n=>kc.MsgVoteWeightedResponse.decode(new Eu.BinaryReader(n)))}Deposit(t){let r=kc.MsgDeposit.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Msg","Deposit",r).then(n=>kc.MsgDepositResponse.decode(new Eu.BinaryReader(n)))}};kc.MsgClientImpl=lIe});var Bmt=ir(w2=>{"use strict";J();K();z();Object.defineProperty(w2,"__esModule",{value:!0});w2.isMsgVoteWeightedEncodeObject=w2.isMsgVoteEncodeObject=w2.isMsgSubmitProposalEncodeObject=w2.isMsgDepositEncodeObject=w2.govTypes=void 0;var jF=xmt(),zee=Tmt();w2.govTypes=[["/cosmos.gov.v1.MsgDeposit",jF.MsgDeposit],["/cosmos.gov.v1.MsgSubmitProposal",jF.MsgSubmitProposal],["/cosmos.gov.v1.MsgUpdateParams",jF.MsgUpdateParams],["/cosmos.gov.v1.MsgVote",jF.MsgVote],["/cosmos.gov.v1.MsgVoteWeighted",jF.MsgVoteWeighted],["/cosmos.gov.v1beta1.MsgDeposit",zee.MsgDeposit],["/cosmos.gov.v1beta1.MsgSubmitProposal",zee.MsgSubmitProposal],["/cosmos.gov.v1beta1.MsgVote",zee.MsgVote],["/cosmos.gov.v1beta1.MsgVoteWeighted",zee.MsgVoteWeighted]];function Qpn(e){return e.typeUrl==="/cosmos.gov.v1beta1.MsgDeposit"}w2.isMsgDepositEncodeObject=Qpn;function Hpn(e){return e.typeUrl==="/cosmos.gov.v1beta1.MsgSubmitProposal"}w2.isMsgSubmitProposalEncodeObject=Hpn;function Gpn(e){return e.typeUrl==="/cosmos.gov.v1beta1.MsgVote"}w2.isMsgVoteEncodeObject=Gpn;function qpn(e){return e.typeUrl==="/cosmos.gov.v1beta1.MsgVoteWeighted"}w2.isMsgVoteWeightedEncodeObject=qpn});var Mmt=ir(No=>{"use strict";J();K();z();Object.defineProperty(No,"__esModule",{value:!0});No.QueryClientImpl=No.QueryTallyResultResponse=No.QueryTallyResultRequest=No.QueryDepositsResponse=No.QueryDepositsRequest=No.QueryDepositResponse=No.QueryDepositRequest=No.QueryParamsResponse=No.QueryParamsRequest=No.QueryVotesResponse=No.QueryVotesRequest=No.QueryVoteResponse=No.QueryVoteRequest=No.QueryProposalsResponse=No.QueryProposalsRequest=No.QueryProposalResponse=No.QueryProposalRequest=No.protobufPackage=void 0;var lo=Jee(),Pc=jA(),Eo=Qi(),c0=Hi();No.protobufPackage="cosmos.gov.v1beta1";function hIe(){return{proposalId:BigInt(0)}}No.QueryProposalRequest={typeUrl:"/cosmos.gov.v1beta1.QueryProposalRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposalId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=hIe();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),t},fromPartial(e){let t=hIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t}};function AIe(){return{proposal:lo.Proposal.fromPartial({})}}No.QueryProposalResponse={typeUrl:"/cosmos.gov.v1beta1.QueryProposalResponse",encode(e,t=Eo.BinaryWriter.create()){return e.proposal!==void 0&&lo.Proposal.encode(e.proposal,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=AIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposal=lo.Proposal.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=AIe();return(0,c0.isSet)(e.proposal)&&(t.proposal=lo.Proposal.fromJSON(e.proposal)),t},toJSON(e){let t={};return e.proposal!==void 0&&(t.proposal=e.proposal?lo.Proposal.toJSON(e.proposal):void 0),t},fromPartial(e){let t=AIe();return e.proposal!==void 0&&e.proposal!==null&&(t.proposal=lo.Proposal.fromPartial(e.proposal)),t}};function pIe(){return{proposalStatus:0,voter:"",depositor:"",pagination:void 0}}No.QueryProposalsRequest={typeUrl:"/cosmos.gov.v1beta1.QueryProposalsRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalStatus!==0&&t.uint32(8).int32(e.proposalStatus),e.voter!==""&&t.uint32(18).string(e.voter),e.depositor!==""&&t.uint32(26).string(e.depositor),e.pagination!==void 0&&Pc.PageRequest.encode(e.pagination,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalStatus=r.int32();break;case 2:n.voter=r.string();break;case 3:n.depositor=r.string();break;case 4:n.pagination=Pc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=pIe();return(0,c0.isSet)(e.proposalStatus)&&(t.proposalStatus=(0,lo.proposalStatusFromJSON)(e.proposalStatus)),(0,c0.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,c0.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.proposalStatus!==void 0&&(t.proposalStatus=(0,lo.proposalStatusToJSON)(e.proposalStatus)),e.voter!==void 0&&(t.voter=e.voter),e.depositor!==void 0&&(t.depositor=e.depositor),e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=pIe();return t.proposalStatus=e.proposalStatus??0,t.voter=e.voter??"",t.depositor=e.depositor??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageRequest.fromPartial(e.pagination)),t}};function gIe(){return{proposals:[],pagination:void 0}}No.QueryProposalsResponse={typeUrl:"/cosmos.gov.v1beta1.QueryProposalsResponse",encode(e,t=Eo.BinaryWriter.create()){for(let r of e.proposals)lo.Proposal.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Pc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposals.push(lo.Proposal.decode(r,r.uint32()));break;case 2:n.pagination=Pc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=gIe();return Array.isArray(e?.proposals)&&(t.proposals=e.proposals.map(r=>lo.Proposal.fromJSON(r))),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.proposals?t.proposals=e.proposals.map(r=>r?lo.Proposal.toJSON(r):void 0):t.proposals=[],e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=gIe();return t.proposals=e.proposals?.map(r=>lo.Proposal.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageResponse.fromPartial(e.pagination)),t}};function _Ie(){return{proposalId:BigInt(0),voter:""}}No.QueryVoteRequest={typeUrl:"/cosmos.gov.v1beta1.QueryVoteRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_Ie();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_Ie();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,c0.isSet)(e.voter)&&(t.voter=String(e.voter)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),t},fromPartial(e){let t=_Ie();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t}};function mIe(){return{vote:lo.Vote.fromPartial({})}}No.QueryVoteResponse={typeUrl:"/cosmos.gov.v1beta1.QueryVoteResponse",encode(e,t=Eo.BinaryWriter.create()){return e.vote!==void 0&&lo.Vote.encode(e.vote,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.vote=lo.Vote.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=mIe();return(0,c0.isSet)(e.vote)&&(t.vote=lo.Vote.fromJSON(e.vote)),t},toJSON(e){let t={};return e.vote!==void 0&&(t.vote=e.vote?lo.Vote.toJSON(e.vote):void 0),t},fromPartial(e){let t=mIe();return e.vote!==void 0&&e.vote!==null&&(t.vote=lo.Vote.fromPartial(e.vote)),t}};function yIe(){return{proposalId:BigInt(0),pagination:void 0}}No.QueryVotesRequest={typeUrl:"/cosmos.gov.v1beta1.QueryVotesRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.pagination!==void 0&&Pc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=yIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.pagination=Pc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=yIe();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=yIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageRequest.fromPartial(e.pagination)),t}};function bIe(){return{votes:[],pagination:void 0}}No.QueryVotesResponse={typeUrl:"/cosmos.gov.v1beta1.QueryVotesResponse",encode(e,t=Eo.BinaryWriter.create()){for(let r of e.votes)lo.Vote.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Pc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.votes.push(lo.Vote.decode(r,r.uint32()));break;case 2:n.pagination=Pc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=bIe();return Array.isArray(e?.votes)&&(t.votes=e.votes.map(r=>lo.Vote.fromJSON(r))),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.votes?t.votes=e.votes.map(r=>r?lo.Vote.toJSON(r):void 0):t.votes=[],e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=bIe();return t.votes=e.votes?.map(r=>lo.Vote.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageResponse.fromPartial(e.pagination)),t}};function EIe(){return{paramsType:""}}No.QueryParamsRequest={typeUrl:"/cosmos.gov.v1beta1.QueryParamsRequest",encode(e,t=Eo.BinaryWriter.create()){return e.paramsType!==""&&t.uint32(10).string(e.paramsType),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=EIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.paramsType=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=EIe();return(0,c0.isSet)(e.paramsType)&&(t.paramsType=String(e.paramsType)),t},toJSON(e){let t={};return e.paramsType!==void 0&&(t.paramsType=e.paramsType),t},fromPartial(e){let t=EIe();return t.paramsType=e.paramsType??"",t}};function vIe(){return{votingParams:lo.VotingParams.fromPartial({}),depositParams:lo.DepositParams.fromPartial({}),tallyParams:lo.TallyParams.fromPartial({})}}No.QueryParamsResponse={typeUrl:"/cosmos.gov.v1beta1.QueryParamsResponse",encode(e,t=Eo.BinaryWriter.create()){return e.votingParams!==void 0&&lo.VotingParams.encode(e.votingParams,t.uint32(10).fork()).ldelim(),e.depositParams!==void 0&&lo.DepositParams.encode(e.depositParams,t.uint32(18).fork()).ldelim(),e.tallyParams!==void 0&&lo.TallyParams.encode(e.tallyParams,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.votingParams=lo.VotingParams.decode(r,r.uint32());break;case 2:n.depositParams=lo.DepositParams.decode(r,r.uint32());break;case 3:n.tallyParams=lo.TallyParams.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vIe();return(0,c0.isSet)(e.votingParams)&&(t.votingParams=lo.VotingParams.fromJSON(e.votingParams)),(0,c0.isSet)(e.depositParams)&&(t.depositParams=lo.DepositParams.fromJSON(e.depositParams)),(0,c0.isSet)(e.tallyParams)&&(t.tallyParams=lo.TallyParams.fromJSON(e.tallyParams)),t},toJSON(e){let t={};return e.votingParams!==void 0&&(t.votingParams=e.votingParams?lo.VotingParams.toJSON(e.votingParams):void 0),e.depositParams!==void 0&&(t.depositParams=e.depositParams?lo.DepositParams.toJSON(e.depositParams):void 0),e.tallyParams!==void 0&&(t.tallyParams=e.tallyParams?lo.TallyParams.toJSON(e.tallyParams):void 0),t},fromPartial(e){let t=vIe();return e.votingParams!==void 0&&e.votingParams!==null&&(t.votingParams=lo.VotingParams.fromPartial(e.votingParams)),e.depositParams!==void 0&&e.depositParams!==null&&(t.depositParams=lo.DepositParams.fromPartial(e.depositParams)),e.tallyParams!==void 0&&e.tallyParams!==null&&(t.tallyParams=lo.TallyParams.fromPartial(e.tallyParams)),t}};function RIe(){return{proposalId:BigInt(0),depositor:""}}No.QueryDepositRequest={typeUrl:"/cosmos.gov.v1beta1.QueryDepositRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.depositor!==""&&t.uint32(18).string(e.depositor),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=RIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.depositor=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=RIe();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,c0.isSet)(e.depositor)&&(t.depositor=String(e.depositor)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.depositor!==void 0&&(t.depositor=e.depositor),t},fromPartial(e){let t=RIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.depositor=e.depositor??"",t}};function SIe(){return{deposit:lo.Deposit.fromPartial({})}}No.QueryDepositResponse={typeUrl:"/cosmos.gov.v1beta1.QueryDepositResponse",encode(e,t=Eo.BinaryWriter.create()){return e.deposit!==void 0&&lo.Deposit.encode(e.deposit,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.deposit=lo.Deposit.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=SIe();return(0,c0.isSet)(e.deposit)&&(t.deposit=lo.Deposit.fromJSON(e.deposit)),t},toJSON(e){let t={};return e.deposit!==void 0&&(t.deposit=e.deposit?lo.Deposit.toJSON(e.deposit):void 0),t},fromPartial(e){let t=SIe();return e.deposit!==void 0&&e.deposit!==null&&(t.deposit=lo.Deposit.fromPartial(e.deposit)),t}};function IIe(){return{proposalId:BigInt(0),pagination:void 0}}No.QueryDepositsRequest={typeUrl:"/cosmos.gov.v1beta1.QueryDepositsRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.pagination!==void 0&&Pc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=IIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.pagination=Pc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=IIe();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=IIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageRequest.fromPartial(e.pagination)),t}};function CIe(){return{deposits:[],pagination:void 0}}No.QueryDepositsResponse={typeUrl:"/cosmos.gov.v1beta1.QueryDepositsResponse",encode(e,t=Eo.BinaryWriter.create()){for(let r of e.deposits)lo.Deposit.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Pc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=CIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.deposits.push(lo.Deposit.decode(r,r.uint32()));break;case 2:n.pagination=Pc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=CIe();return Array.isArray(e?.deposits)&&(t.deposits=e.deposits.map(r=>lo.Deposit.fromJSON(r))),(0,c0.isSet)(e.pagination)&&(t.pagination=Pc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.deposits?t.deposits=e.deposits.map(r=>r?lo.Deposit.toJSON(r):void 0):t.deposits=[],e.pagination!==void 0&&(t.pagination=e.pagination?Pc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=CIe();return t.deposits=e.deposits?.map(r=>lo.Deposit.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Pc.PageResponse.fromPartial(e.pagination)),t}};function wIe(){return{proposalId:BigInt(0)}}No.QueryTallyResultRequest={typeUrl:"/cosmos.gov.v1beta1.QueryTallyResultRequest",encode(e,t=Eo.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposalId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=wIe();return(0,c0.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),t},fromPartial(e){let t=wIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t}};function OIe(){return{tally:lo.TallyResult.fromPartial({})}}No.QueryTallyResultResponse={typeUrl:"/cosmos.gov.v1beta1.QueryTallyResultResponse",encode(e,t=Eo.BinaryWriter.create()){return e.tally!==void 0&&lo.TallyResult.encode(e.tally,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Eo.BinaryReader?e:new Eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=OIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.tally=lo.TallyResult.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=OIe();return(0,c0.isSet)(e.tally)&&(t.tally=lo.TallyResult.fromJSON(e.tally)),t},toJSON(e){let t={};return e.tally!==void 0&&(t.tally=e.tally?lo.TallyResult.toJSON(e.tally):void 0),t},fromPartial(e){let t=OIe();return e.tally!==void 0&&e.tally!==null&&(t.tally=lo.TallyResult.fromPartial(e.tally)),t}};var NIe=class{constructor(t){this.rpc=t,this.Proposal=this.Proposal.bind(this),this.Proposals=this.Proposals.bind(this),this.Vote=this.Vote.bind(this),this.Votes=this.Votes.bind(this),this.Params=this.Params.bind(this),this.Deposit=this.Deposit.bind(this),this.Deposits=this.Deposits.bind(this),this.TallyResult=this.TallyResult.bind(this)}Proposal(t){let r=No.QueryProposalRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Proposal",r).then(n=>No.QueryProposalResponse.decode(new Eo.BinaryReader(n)))}Proposals(t){let r=No.QueryProposalsRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Proposals",r).then(n=>No.QueryProposalsResponse.decode(new Eo.BinaryReader(n)))}Vote(t){let r=No.QueryVoteRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Vote",r).then(n=>No.QueryVoteResponse.decode(new Eo.BinaryReader(n)))}Votes(t){let r=No.QueryVotesRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Votes",r).then(n=>No.QueryVotesResponse.decode(new Eo.BinaryReader(n)))}Params(t){let r=No.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Params",r).then(n=>No.QueryParamsResponse.decode(new Eo.BinaryReader(n)))}Deposit(t){let r=No.QueryDepositRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Deposit",r).then(n=>No.QueryDepositResponse.decode(new Eo.BinaryReader(n)))}Deposits(t){let r=No.QueryDepositsRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","Deposits",r).then(n=>No.QueryDepositsResponse.decode(new Eo.BinaryReader(n)))}TallyResult(t){let r=No.QueryTallyResultRequest.encode(t).finish();return this.rpc.request("cosmos.gov.v1beta1.Query","TallyResult",r).then(n=>No.QueryTallyResultResponse.decode(new Eo.BinaryReader(n)))}};No.QueryClientImpl=NIe});var Dmt=ir(Kee=>{"use strict";J();K();z();Object.defineProperty(Kee,"__esModule",{value:!0});Kee.setupGovExtension=void 0;var Vpn=Mmt(),DE=ep();function Jpn(e){let t=(0,DE.createProtobufRpcClient)(e),r=new Vpn.QueryClientImpl(t);return{gov:{params:async i=>await r.Params({paramsType:i}),proposals:async(i,n,o,d)=>await r.Proposals({proposalStatus:i,depositor:n,voter:o,pagination:(0,DE.createPagination)(d)}),proposal:async i=>await r.Proposal({proposalId:(0,DE.longify)(i)}),deposits:async(i,n)=>await r.Deposits({proposalId:(0,DE.longify)(i),pagination:(0,DE.createPagination)(n)}),deposit:async(i,n)=>await r.Deposit({proposalId:(0,DE.longify)(i),depositor:n}),tally:async i=>await r.TallyResult({proposalId:(0,DE.longify)(i)}),votes:async(i,n)=>await r.Votes({proposalId:(0,DE.longify)(i),pagination:(0,DE.createPagination)(n)}),vote:async(i,n)=>await r.Vote({proposalId:(0,DE.longify)(i),voter:n})}}}Kee.setupGovExtension=Jpn});var kmt=ir($ee=>{"use strict";J();K();z();Object.defineProperty($ee,"__esModule",{value:!0});$ee.createGroupAminoConverters=void 0;function zpn(){return{}}$ee.createGroupAminoConverters=zpn});var Gmt=ir(Wi=>{"use strict";J();K();z();Object.defineProperty(Wi,"__esModule",{value:!0});Wi.Vote=Wi.TallyResult=Wi.Proposal=Wi.GroupPolicyInfo=Wi.GroupMember=Wi.GroupInfo=Wi.DecisionPolicyWindows=Wi.PercentageDecisionPolicy=Wi.ThresholdDecisionPolicy=Wi.MemberRequest=Wi.Member=Wi.proposalExecutorResultToJSON=Wi.proposalExecutorResultFromJSON=Wi.ProposalExecutorResult=Wi.proposalStatusToJSON=Wi.proposalStatusFromJSON=Wi.ProposalStatus=Wi.voteOptionToJSON=Wi.voteOptionFromJSON=Wi.VoteOption=Wi.protobufPackage=void 0;var O0=u1(),O2=wS(),kE=ru(),oc=Qi(),io=Hi();Wi.protobufPackage="cosmos.group.v1";var h1;(function(e){e[e.VOTE_OPTION_UNSPECIFIED=0]="VOTE_OPTION_UNSPECIFIED",e[e.VOTE_OPTION_YES=1]="VOTE_OPTION_YES",e[e.VOTE_OPTION_ABSTAIN=2]="VOTE_OPTION_ABSTAIN",e[e.VOTE_OPTION_NO=3]="VOTE_OPTION_NO",e[e.VOTE_OPTION_NO_WITH_VETO=4]="VOTE_OPTION_NO_WITH_VETO",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(h1||(Wi.VoteOption=h1={}));function Pmt(e){switch(e){case 0:case"VOTE_OPTION_UNSPECIFIED":return h1.VOTE_OPTION_UNSPECIFIED;case 1:case"VOTE_OPTION_YES":return h1.VOTE_OPTION_YES;case 2:case"VOTE_OPTION_ABSTAIN":return h1.VOTE_OPTION_ABSTAIN;case 3:case"VOTE_OPTION_NO":return h1.VOTE_OPTION_NO;case 4:case"VOTE_OPTION_NO_WITH_VETO":return h1.VOTE_OPTION_NO_WITH_VETO;default:return h1.UNRECOGNIZED}}Wi.voteOptionFromJSON=Pmt;function Lmt(e){switch(e){case h1.VOTE_OPTION_UNSPECIFIED:return"VOTE_OPTION_UNSPECIFIED";case h1.VOTE_OPTION_YES:return"VOTE_OPTION_YES";case h1.VOTE_OPTION_ABSTAIN:return"VOTE_OPTION_ABSTAIN";case h1.VOTE_OPTION_NO:return"VOTE_OPTION_NO";case h1.VOTE_OPTION_NO_WITH_VETO:return"VOTE_OPTION_NO_WITH_VETO";case h1.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Wi.voteOptionToJSON=Lmt;var fA;(function(e){e[e.PROPOSAL_STATUS_UNSPECIFIED=0]="PROPOSAL_STATUS_UNSPECIFIED",e[e.PROPOSAL_STATUS_SUBMITTED=1]="PROPOSAL_STATUS_SUBMITTED",e[e.PROPOSAL_STATUS_ACCEPTED=2]="PROPOSAL_STATUS_ACCEPTED",e[e.PROPOSAL_STATUS_REJECTED=3]="PROPOSAL_STATUS_REJECTED",e[e.PROPOSAL_STATUS_ABORTED=4]="PROPOSAL_STATUS_ABORTED",e[e.PROPOSAL_STATUS_WITHDRAWN=5]="PROPOSAL_STATUS_WITHDRAWN",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(fA||(Wi.ProposalStatus=fA={}));function Umt(e){switch(e){case 0:case"PROPOSAL_STATUS_UNSPECIFIED":return fA.PROPOSAL_STATUS_UNSPECIFIED;case 1:case"PROPOSAL_STATUS_SUBMITTED":return fA.PROPOSAL_STATUS_SUBMITTED;case 2:case"PROPOSAL_STATUS_ACCEPTED":return fA.PROPOSAL_STATUS_ACCEPTED;case 3:case"PROPOSAL_STATUS_REJECTED":return fA.PROPOSAL_STATUS_REJECTED;case 4:case"PROPOSAL_STATUS_ABORTED":return fA.PROPOSAL_STATUS_ABORTED;case 5:case"PROPOSAL_STATUS_WITHDRAWN":return fA.PROPOSAL_STATUS_WITHDRAWN;default:return fA.UNRECOGNIZED}}Wi.proposalStatusFromJSON=Umt;function Fmt(e){switch(e){case fA.PROPOSAL_STATUS_UNSPECIFIED:return"PROPOSAL_STATUS_UNSPECIFIED";case fA.PROPOSAL_STATUS_SUBMITTED:return"PROPOSAL_STATUS_SUBMITTED";case fA.PROPOSAL_STATUS_ACCEPTED:return"PROPOSAL_STATUS_ACCEPTED";case fA.PROPOSAL_STATUS_REJECTED:return"PROPOSAL_STATUS_REJECTED";case fA.PROPOSAL_STATUS_ABORTED:return"PROPOSAL_STATUS_ABORTED";case fA.PROPOSAL_STATUS_WITHDRAWN:return"PROPOSAL_STATUS_WITHDRAWN";case fA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Wi.proposalStatusToJSON=Fmt;var N2;(function(e){e[e.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED=0]="PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED",e[e.PROPOSAL_EXECUTOR_RESULT_NOT_RUN=1]="PROPOSAL_EXECUTOR_RESULT_NOT_RUN",e[e.PROPOSAL_EXECUTOR_RESULT_SUCCESS=2]="PROPOSAL_EXECUTOR_RESULT_SUCCESS",e[e.PROPOSAL_EXECUTOR_RESULT_FAILURE=3]="PROPOSAL_EXECUTOR_RESULT_FAILURE",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(N2||(Wi.ProposalExecutorResult=N2={}));function Qmt(e){switch(e){case 0:case"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED":return N2.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED;case 1:case"PROPOSAL_EXECUTOR_RESULT_NOT_RUN":return N2.PROPOSAL_EXECUTOR_RESULT_NOT_RUN;case 2:case"PROPOSAL_EXECUTOR_RESULT_SUCCESS":return N2.PROPOSAL_EXECUTOR_RESULT_SUCCESS;case 3:case"PROPOSAL_EXECUTOR_RESULT_FAILURE":return N2.PROPOSAL_EXECUTOR_RESULT_FAILURE;default:return N2.UNRECOGNIZED}}Wi.proposalExecutorResultFromJSON=Qmt;function Hmt(e){switch(e){case N2.PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED:return"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED";case N2.PROPOSAL_EXECUTOR_RESULT_NOT_RUN:return"PROPOSAL_EXECUTOR_RESULT_NOT_RUN";case N2.PROPOSAL_EXECUTOR_RESULT_SUCCESS:return"PROPOSAL_EXECUTOR_RESULT_SUCCESS";case N2.PROPOSAL_EXECUTOR_RESULT_FAILURE:return"PROPOSAL_EXECUTOR_RESULT_FAILURE";case N2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Wi.proposalExecutorResultToJSON=Hmt;function xIe(){return{address:"",weight:"",metadata:"",addedAt:O0.Timestamp.fromPartial({})}}Wi.Member={typeUrl:"/cosmos.group.v1.Member",encode(e,t=oc.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.weight!==""&&t.uint32(18).string(e.weight),e.metadata!==""&&t.uint32(26).string(e.metadata),e.addedAt!==void 0&&O0.Timestamp.encode(e.addedAt,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.weight=r.string();break;case 3:n.metadata=r.string();break;case 4:n.addedAt=O0.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=xIe();return(0,io.isSet)(e.address)&&(t.address=String(e.address)),(0,io.isSet)(e.weight)&&(t.weight=String(e.weight)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,io.isSet)(e.addedAt)&&(t.addedAt=(0,io.fromJsonTimestamp)(e.addedAt)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.weight!==void 0&&(t.weight=e.weight),e.metadata!==void 0&&(t.metadata=e.metadata),e.addedAt!==void 0&&(t.addedAt=(0,io.fromTimestamp)(e.addedAt).toISOString()),t},fromPartial(e){let t=xIe();return t.address=e.address??"",t.weight=e.weight??"",t.metadata=e.metadata??"",e.addedAt!==void 0&&e.addedAt!==null&&(t.addedAt=O0.Timestamp.fromPartial(e.addedAt)),t}};function TIe(){return{address:"",weight:"",metadata:""}}Wi.MemberRequest={typeUrl:"/cosmos.group.v1.MemberRequest",encode(e,t=oc.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.weight!==""&&t.uint32(18).string(e.weight),e.metadata!==""&&t.uint32(26).string(e.metadata),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.weight=r.string();break;case 3:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=TIe();return(0,io.isSet)(e.address)&&(t.address=String(e.address)),(0,io.isSet)(e.weight)&&(t.weight=String(e.weight)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.weight!==void 0&&(t.weight=e.weight),e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=TIe();return t.address=e.address??"",t.weight=e.weight??"",t.metadata=e.metadata??"",t}};function BIe(){return{threshold:"",windows:void 0}}Wi.ThresholdDecisionPolicy={typeUrl:"/cosmos.group.v1.ThresholdDecisionPolicy",encode(e,t=oc.BinaryWriter.create()){return e.threshold!==""&&t.uint32(10).string(e.threshold),e.windows!==void 0&&Wi.DecisionPolicyWindows.encode(e.windows,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=BIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.threshold=r.string();break;case 2:n.windows=Wi.DecisionPolicyWindows.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=BIe();return(0,io.isSet)(e.threshold)&&(t.threshold=String(e.threshold)),(0,io.isSet)(e.windows)&&(t.windows=Wi.DecisionPolicyWindows.fromJSON(e.windows)),t},toJSON(e){let t={};return e.threshold!==void 0&&(t.threshold=e.threshold),e.windows!==void 0&&(t.windows=e.windows?Wi.DecisionPolicyWindows.toJSON(e.windows):void 0),t},fromPartial(e){let t=BIe();return t.threshold=e.threshold??"",e.windows!==void 0&&e.windows!==null&&(t.windows=Wi.DecisionPolicyWindows.fromPartial(e.windows)),t}};function MIe(){return{percentage:"",windows:void 0}}Wi.PercentageDecisionPolicy={typeUrl:"/cosmos.group.v1.PercentageDecisionPolicy",encode(e,t=oc.BinaryWriter.create()){return e.percentage!==""&&t.uint32(10).string(e.percentage),e.windows!==void 0&&Wi.DecisionPolicyWindows.encode(e.windows,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=MIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.percentage=r.string();break;case 2:n.windows=Wi.DecisionPolicyWindows.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=MIe();return(0,io.isSet)(e.percentage)&&(t.percentage=String(e.percentage)),(0,io.isSet)(e.windows)&&(t.windows=Wi.DecisionPolicyWindows.fromJSON(e.windows)),t},toJSON(e){let t={};return e.percentage!==void 0&&(t.percentage=e.percentage),e.windows!==void 0&&(t.windows=e.windows?Wi.DecisionPolicyWindows.toJSON(e.windows):void 0),t},fromPartial(e){let t=MIe();return t.percentage=e.percentage??"",e.windows!==void 0&&e.windows!==null&&(t.windows=Wi.DecisionPolicyWindows.fromPartial(e.windows)),t}};function DIe(){return{votingPeriod:O2.Duration.fromPartial({}),minExecutionPeriod:O2.Duration.fromPartial({})}}Wi.DecisionPolicyWindows={typeUrl:"/cosmos.group.v1.DecisionPolicyWindows",encode(e,t=oc.BinaryWriter.create()){return e.votingPeriod!==void 0&&O2.Duration.encode(e.votingPeriod,t.uint32(10).fork()).ldelim(),e.minExecutionPeriod!==void 0&&O2.Duration.encode(e.minExecutionPeriod,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=DIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.votingPeriod=O2.Duration.decode(r,r.uint32());break;case 2:n.minExecutionPeriod=O2.Duration.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=DIe();return(0,io.isSet)(e.votingPeriod)&&(t.votingPeriod=O2.Duration.fromJSON(e.votingPeriod)),(0,io.isSet)(e.minExecutionPeriod)&&(t.minExecutionPeriod=O2.Duration.fromJSON(e.minExecutionPeriod)),t},toJSON(e){let t={};return e.votingPeriod!==void 0&&(t.votingPeriod=e.votingPeriod?O2.Duration.toJSON(e.votingPeriod):void 0),e.minExecutionPeriod!==void 0&&(t.minExecutionPeriod=e.minExecutionPeriod?O2.Duration.toJSON(e.minExecutionPeriod):void 0),t},fromPartial(e){let t=DIe();return e.votingPeriod!==void 0&&e.votingPeriod!==null&&(t.votingPeriod=O2.Duration.fromPartial(e.votingPeriod)),e.minExecutionPeriod!==void 0&&e.minExecutionPeriod!==null&&(t.minExecutionPeriod=O2.Duration.fromPartial(e.minExecutionPeriod)),t}};function kIe(){return{id:BigInt(0),admin:"",metadata:"",version:BigInt(0),totalWeight:"",createdAt:O0.Timestamp.fromPartial({})}}Wi.GroupInfo={typeUrl:"/cosmos.group.v1.GroupInfo",encode(e,t=oc.BinaryWriter.create()){return e.id!==BigInt(0)&&t.uint32(8).uint64(e.id),e.admin!==""&&t.uint32(18).string(e.admin),e.metadata!==""&&t.uint32(26).string(e.metadata),e.version!==BigInt(0)&&t.uint32(32).uint64(e.version),e.totalWeight!==""&&t.uint32(42).string(e.totalWeight),e.createdAt!==void 0&&O0.Timestamp.encode(e.createdAt,t.uint32(50).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.id=r.uint64();break;case 2:n.admin=r.string();break;case 3:n.metadata=r.string();break;case 4:n.version=r.uint64();break;case 5:n.totalWeight=r.string();break;case 6:n.createdAt=O0.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kIe();return(0,io.isSet)(e.id)&&(t.id=BigInt(e.id.toString())),(0,io.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,io.isSet)(e.version)&&(t.version=BigInt(e.version.toString())),(0,io.isSet)(e.totalWeight)&&(t.totalWeight=String(e.totalWeight)),(0,io.isSet)(e.createdAt)&&(t.createdAt=(0,io.fromJsonTimestamp)(e.createdAt)),t},toJSON(e){let t={};return e.id!==void 0&&(t.id=(e.id||BigInt(0)).toString()),e.admin!==void 0&&(t.admin=e.admin),e.metadata!==void 0&&(t.metadata=e.metadata),e.version!==void 0&&(t.version=(e.version||BigInt(0)).toString()),e.totalWeight!==void 0&&(t.totalWeight=e.totalWeight),e.createdAt!==void 0&&(t.createdAt=(0,io.fromTimestamp)(e.createdAt).toISOString()),t},fromPartial(e){let t=kIe();return e.id!==void 0&&e.id!==null&&(t.id=BigInt(e.id.toString())),t.admin=e.admin??"",t.metadata=e.metadata??"",e.version!==void 0&&e.version!==null&&(t.version=BigInt(e.version.toString())),t.totalWeight=e.totalWeight??"",e.createdAt!==void 0&&e.createdAt!==null&&(t.createdAt=O0.Timestamp.fromPartial(e.createdAt)),t}};function PIe(){return{groupId:BigInt(0),member:void 0}}Wi.GroupMember={typeUrl:"/cosmos.group.v1.GroupMember",encode(e,t=oc.BinaryWriter.create()){return e.groupId!==BigInt(0)&&t.uint32(8).uint64(e.groupId),e.member!==void 0&&Wi.Member.encode(e.member,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=PIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.groupId=r.uint64();break;case 2:n.member=Wi.Member.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=PIe();return(0,io.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,io.isSet)(e.member)&&(t.member=Wi.Member.fromJSON(e.member)),t},toJSON(e){let t={};return e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.member!==void 0&&(t.member=e.member?Wi.Member.toJSON(e.member):void 0),t},fromPartial(e){let t=PIe();return e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),e.member!==void 0&&e.member!==null&&(t.member=Wi.Member.fromPartial(e.member)),t}};function LIe(){return{address:"",groupId:BigInt(0),admin:"",metadata:"",version:BigInt(0),decisionPolicy:void 0,createdAt:O0.Timestamp.fromPartial({})}}Wi.GroupPolicyInfo={typeUrl:"/cosmos.group.v1.GroupPolicyInfo",encode(e,t=oc.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId),e.admin!==""&&t.uint32(26).string(e.admin),e.metadata!==""&&t.uint32(34).string(e.metadata),e.version!==BigInt(0)&&t.uint32(40).uint64(e.version),e.decisionPolicy!==void 0&&kE.Any.encode(e.decisionPolicy,t.uint32(50).fork()).ldelim(),e.createdAt!==void 0&&O0.Timestamp.encode(e.createdAt,t.uint32(58).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.groupId=r.uint64();break;case 3:n.admin=r.string();break;case 4:n.metadata=r.string();break;case 5:n.version=r.uint64();break;case 6:n.decisionPolicy=kE.Any.decode(r,r.uint32());break;case 7:n.createdAt=O0.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=LIe();return(0,io.isSet)(e.address)&&(t.address=String(e.address)),(0,io.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,io.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,io.isSet)(e.version)&&(t.version=BigInt(e.version.toString())),(0,io.isSet)(e.decisionPolicy)&&(t.decisionPolicy=kE.Any.fromJSON(e.decisionPolicy)),(0,io.isSet)(e.createdAt)&&(t.createdAt=(0,io.fromJsonTimestamp)(e.createdAt)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.admin!==void 0&&(t.admin=e.admin),e.metadata!==void 0&&(t.metadata=e.metadata),e.version!==void 0&&(t.version=(e.version||BigInt(0)).toString()),e.decisionPolicy!==void 0&&(t.decisionPolicy=e.decisionPolicy?kE.Any.toJSON(e.decisionPolicy):void 0),e.createdAt!==void 0&&(t.createdAt=(0,io.fromTimestamp)(e.createdAt).toISOString()),t},fromPartial(e){let t=LIe();return t.address=e.address??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.admin=e.admin??"",t.metadata=e.metadata??"",e.version!==void 0&&e.version!==null&&(t.version=BigInt(e.version.toString())),e.decisionPolicy!==void 0&&e.decisionPolicy!==null&&(t.decisionPolicy=kE.Any.fromPartial(e.decisionPolicy)),e.createdAt!==void 0&&e.createdAt!==null&&(t.createdAt=O0.Timestamp.fromPartial(e.createdAt)),t}};function UIe(){return{id:BigInt(0),groupPolicyAddress:"",metadata:"",proposers:[],submitTime:O0.Timestamp.fromPartial({}),groupVersion:BigInt(0),groupPolicyVersion:BigInt(0),status:0,finalTallyResult:Wi.TallyResult.fromPartial({}),votingPeriodEnd:O0.Timestamp.fromPartial({}),executorResult:0,messages:[],title:"",summary:""}}Wi.Proposal={typeUrl:"/cosmos.group.v1.Proposal",encode(e,t=oc.BinaryWriter.create()){e.id!==BigInt(0)&&t.uint32(8).uint64(e.id),e.groupPolicyAddress!==""&&t.uint32(18).string(e.groupPolicyAddress),e.metadata!==""&&t.uint32(26).string(e.metadata);for(let r of e.proposers)t.uint32(34).string(r);e.submitTime!==void 0&&O0.Timestamp.encode(e.submitTime,t.uint32(42).fork()).ldelim(),e.groupVersion!==BigInt(0)&&t.uint32(48).uint64(e.groupVersion),e.groupPolicyVersion!==BigInt(0)&&t.uint32(56).uint64(e.groupPolicyVersion),e.status!==0&&t.uint32(64).int32(e.status),e.finalTallyResult!==void 0&&Wi.TallyResult.encode(e.finalTallyResult,t.uint32(74).fork()).ldelim(),e.votingPeriodEnd!==void 0&&O0.Timestamp.encode(e.votingPeriodEnd,t.uint32(82).fork()).ldelim(),e.executorResult!==0&&t.uint32(88).int32(e.executorResult);for(let r of e.messages)kE.Any.encode(r,t.uint32(98).fork()).ldelim();return e.title!==""&&t.uint32(106).string(e.title),e.summary!==""&&t.uint32(114).string(e.summary),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=UIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.id=r.uint64();break;case 2:n.groupPolicyAddress=r.string();break;case 3:n.metadata=r.string();break;case 4:n.proposers.push(r.string());break;case 5:n.submitTime=O0.Timestamp.decode(r,r.uint32());break;case 6:n.groupVersion=r.uint64();break;case 7:n.groupPolicyVersion=r.uint64();break;case 8:n.status=r.int32();break;case 9:n.finalTallyResult=Wi.TallyResult.decode(r,r.uint32());break;case 10:n.votingPeriodEnd=O0.Timestamp.decode(r,r.uint32());break;case 11:n.executorResult=r.int32();break;case 12:n.messages.push(kE.Any.decode(r,r.uint32()));break;case 13:n.title=r.string();break;case 14:n.summary=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=UIe();return(0,io.isSet)(e.id)&&(t.id=BigInt(e.id.toString())),(0,io.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),Array.isArray(e?.proposers)&&(t.proposers=e.proposers.map(r=>String(r))),(0,io.isSet)(e.submitTime)&&(t.submitTime=(0,io.fromJsonTimestamp)(e.submitTime)),(0,io.isSet)(e.groupVersion)&&(t.groupVersion=BigInt(e.groupVersion.toString())),(0,io.isSet)(e.groupPolicyVersion)&&(t.groupPolicyVersion=BigInt(e.groupPolicyVersion.toString())),(0,io.isSet)(e.status)&&(t.status=Umt(e.status)),(0,io.isSet)(e.finalTallyResult)&&(t.finalTallyResult=Wi.TallyResult.fromJSON(e.finalTallyResult)),(0,io.isSet)(e.votingPeriodEnd)&&(t.votingPeriodEnd=(0,io.fromJsonTimestamp)(e.votingPeriodEnd)),(0,io.isSet)(e.executorResult)&&(t.executorResult=Qmt(e.executorResult)),Array.isArray(e?.messages)&&(t.messages=e.messages.map(r=>kE.Any.fromJSON(r))),(0,io.isSet)(e.title)&&(t.title=String(e.title)),(0,io.isSet)(e.summary)&&(t.summary=String(e.summary)),t},toJSON(e){let t={};return e.id!==void 0&&(t.id=(e.id||BigInt(0)).toString()),e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),e.metadata!==void 0&&(t.metadata=e.metadata),e.proposers?t.proposers=e.proposers.map(r=>r):t.proposers=[],e.submitTime!==void 0&&(t.submitTime=(0,io.fromTimestamp)(e.submitTime).toISOString()),e.groupVersion!==void 0&&(t.groupVersion=(e.groupVersion||BigInt(0)).toString()),e.groupPolicyVersion!==void 0&&(t.groupPolicyVersion=(e.groupPolicyVersion||BigInt(0)).toString()),e.status!==void 0&&(t.status=Fmt(e.status)),e.finalTallyResult!==void 0&&(t.finalTallyResult=e.finalTallyResult?Wi.TallyResult.toJSON(e.finalTallyResult):void 0),e.votingPeriodEnd!==void 0&&(t.votingPeriodEnd=(0,io.fromTimestamp)(e.votingPeriodEnd).toISOString()),e.executorResult!==void 0&&(t.executorResult=Hmt(e.executorResult)),e.messages?t.messages=e.messages.map(r=>r?kE.Any.toJSON(r):void 0):t.messages=[],e.title!==void 0&&(t.title=e.title),e.summary!==void 0&&(t.summary=e.summary),t},fromPartial(e){let t=UIe();return e.id!==void 0&&e.id!==null&&(t.id=BigInt(e.id.toString())),t.groupPolicyAddress=e.groupPolicyAddress??"",t.metadata=e.metadata??"",t.proposers=e.proposers?.map(r=>r)||[],e.submitTime!==void 0&&e.submitTime!==null&&(t.submitTime=O0.Timestamp.fromPartial(e.submitTime)),e.groupVersion!==void 0&&e.groupVersion!==null&&(t.groupVersion=BigInt(e.groupVersion.toString())),e.groupPolicyVersion!==void 0&&e.groupPolicyVersion!==null&&(t.groupPolicyVersion=BigInt(e.groupPolicyVersion.toString())),t.status=e.status??0,e.finalTallyResult!==void 0&&e.finalTallyResult!==null&&(t.finalTallyResult=Wi.TallyResult.fromPartial(e.finalTallyResult)),e.votingPeriodEnd!==void 0&&e.votingPeriodEnd!==null&&(t.votingPeriodEnd=O0.Timestamp.fromPartial(e.votingPeriodEnd)),t.executorResult=e.executorResult??0,t.messages=e.messages?.map(r=>kE.Any.fromPartial(r))||[],t.title=e.title??"",t.summary=e.summary??"",t}};function FIe(){return{yesCount:"",abstainCount:"",noCount:"",noWithVetoCount:""}}Wi.TallyResult={typeUrl:"/cosmos.group.v1.TallyResult",encode(e,t=oc.BinaryWriter.create()){return e.yesCount!==""&&t.uint32(10).string(e.yesCount),e.abstainCount!==""&&t.uint32(18).string(e.abstainCount),e.noCount!==""&&t.uint32(26).string(e.noCount),e.noWithVetoCount!==""&&t.uint32(34).string(e.noWithVetoCount),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=FIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.yesCount=r.string();break;case 2:n.abstainCount=r.string();break;case 3:n.noCount=r.string();break;case 4:n.noWithVetoCount=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=FIe();return(0,io.isSet)(e.yesCount)&&(t.yesCount=String(e.yesCount)),(0,io.isSet)(e.abstainCount)&&(t.abstainCount=String(e.abstainCount)),(0,io.isSet)(e.noCount)&&(t.noCount=String(e.noCount)),(0,io.isSet)(e.noWithVetoCount)&&(t.noWithVetoCount=String(e.noWithVetoCount)),t},toJSON(e){let t={};return e.yesCount!==void 0&&(t.yesCount=e.yesCount),e.abstainCount!==void 0&&(t.abstainCount=e.abstainCount),e.noCount!==void 0&&(t.noCount=e.noCount),e.noWithVetoCount!==void 0&&(t.noWithVetoCount=e.noWithVetoCount),t},fromPartial(e){let t=FIe();return t.yesCount=e.yesCount??"",t.abstainCount=e.abstainCount??"",t.noCount=e.noCount??"",t.noWithVetoCount=e.noWithVetoCount??"",t}};function QIe(){return{proposalId:BigInt(0),voter:"",option:0,metadata:"",submitTime:O0.Timestamp.fromPartial({})}}Wi.Vote={typeUrl:"/cosmos.group.v1.Vote",encode(e,t=oc.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),e.option!==0&&t.uint32(24).int32(e.option),e.metadata!==""&&t.uint32(34).string(e.metadata),e.submitTime!==void 0&&O0.Timestamp.encode(e.submitTime,t.uint32(42).fork()).ldelim(),t},decode(e,t){let r=e instanceof oc.BinaryReader?e:new oc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=QIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.option=r.int32();break;case 4:n.metadata=r.string();break;case 5:n.submitTime=O0.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=QIe();return(0,io.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,io.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,io.isSet)(e.option)&&(t.option=Pmt(e.option)),(0,io.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,io.isSet)(e.submitTime)&&(t.submitTime=(0,io.fromJsonTimestamp)(e.submitTime)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.option!==void 0&&(t.option=Lmt(e.option)),e.metadata!==void 0&&(t.metadata=e.metadata),e.submitTime!==void 0&&(t.submitTime=(0,io.fromTimestamp)(e.submitTime).toISOString()),t},fromPartial(e){let t=QIe();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.option=e.option??0,t.metadata=e.metadata??"",e.submitTime!==void 0&&e.submitTime!==null&&(t.submitTime=O0.Timestamp.fromPartial(e.submitTime)),t}}});var qmt=ir(Xn=>{"use strict";J();K();z();Object.defineProperty(Xn,"__esModule",{value:!0});Xn.MsgClientImpl=Xn.MsgLeaveGroupResponse=Xn.MsgLeaveGroup=Xn.MsgExecResponse=Xn.MsgExec=Xn.MsgVoteResponse=Xn.MsgVote=Xn.MsgWithdrawProposalResponse=Xn.MsgWithdrawProposal=Xn.MsgSubmitProposalResponse=Xn.MsgSubmitProposal=Xn.MsgUpdateGroupPolicyMetadataResponse=Xn.MsgUpdateGroupPolicyMetadata=Xn.MsgUpdateGroupPolicyDecisionPolicyResponse=Xn.MsgUpdateGroupPolicyDecisionPolicy=Xn.MsgCreateGroupWithPolicyResponse=Xn.MsgCreateGroupWithPolicy=Xn.MsgUpdateGroupPolicyAdminResponse=Xn.MsgUpdateGroupPolicyAdmin=Xn.MsgCreateGroupPolicyResponse=Xn.MsgCreateGroupPolicy=Xn.MsgUpdateGroupMetadataResponse=Xn.MsgUpdateGroupMetadata=Xn.MsgUpdateGroupAdminResponse=Xn.MsgUpdateGroupAdmin=Xn.MsgUpdateGroupMembersResponse=Xn.MsgUpdateGroupMembers=Xn.MsgCreateGroupResponse=Xn.MsgCreateGroup=Xn.execToJSON=Xn.execFromJSON=Xn.Exec=Xn.protobufPackage=void 0;var zf=Gmt(),vf=ru(),$n=Qi(),Ho=Hi();Xn.protobufPackage="cosmos.group.v1";var a8;(function(e){e[e.EXEC_UNSPECIFIED=0]="EXEC_UNSPECIFIED",e[e.EXEC_TRY=1]="EXEC_TRY",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(a8||(Xn.Exec=a8={}));function g3e(e){switch(e){case 0:case"EXEC_UNSPECIFIED":return a8.EXEC_UNSPECIFIED;case 1:case"EXEC_TRY":return a8.EXEC_TRY;default:return a8.UNRECOGNIZED}}Xn.execFromJSON=g3e;function _3e(e){switch(e){case a8.EXEC_UNSPECIFIED:return"EXEC_UNSPECIFIED";case a8.EXEC_TRY:return"EXEC_TRY";case a8.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Xn.execToJSON=_3e;function HIe(){return{admin:"",members:[],metadata:""}}Xn.MsgCreateGroup={typeUrl:"/cosmos.group.v1.MsgCreateGroup",encode(e,t=$n.BinaryWriter.create()){e.admin!==""&&t.uint32(10).string(e.admin);for(let r of e.members)zf.MemberRequest.encode(r,t.uint32(18).fork()).ldelim();return e.metadata!==""&&t.uint32(26).string(e.metadata),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.members.push(zf.MemberRequest.decode(r,r.uint32()));break;case 3:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=HIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),Array.isArray(e?.members)&&(t.members=e.members.map(r=>zf.MemberRequest.fromJSON(r))),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.members?t.members=e.members.map(r=>r?zf.MemberRequest.toJSON(r):void 0):t.members=[],e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=HIe();return t.admin=e.admin??"",t.members=e.members?.map(r=>zf.MemberRequest.fromPartial(r))||[],t.metadata=e.metadata??"",t}};function GIe(){return{groupId:BigInt(0)}}Xn.MsgCreateGroupResponse={typeUrl:"/cosmos.group.v1.MsgCreateGroupResponse",encode(e,t=$n.BinaryWriter.create()){return e.groupId!==BigInt(0)&&t.uint32(8).uint64(e.groupId),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.groupId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=GIe();return(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),t},toJSON(e){let t={};return e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),t},fromPartial(e){let t=GIe();return e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t}};function qIe(){return{admin:"",groupId:BigInt(0),memberUpdates:[]}}Xn.MsgUpdateGroupMembers={typeUrl:"/cosmos.group.v1.MsgUpdateGroupMembers",encode(e,t=$n.BinaryWriter.create()){e.admin!==""&&t.uint32(10).string(e.admin),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId);for(let r of e.memberUpdates)zf.MemberRequest.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupId=r.uint64();break;case 3:n.memberUpdates.push(zf.MemberRequest.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),Array.isArray(e?.memberUpdates)&&(t.memberUpdates=e.memberUpdates.map(r=>zf.MemberRequest.fromJSON(r))),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.memberUpdates?t.memberUpdates=e.memberUpdates.map(r=>r?zf.MemberRequest.toJSON(r):void 0):t.memberUpdates=[],t},fromPartial(e){let t=qIe();return t.admin=e.admin??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.memberUpdates=e.memberUpdates?.map(r=>zf.MemberRequest.fromPartial(r))||[],t}};function VIe(){return{}}Xn.MsgUpdateGroupMembersResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupMembersResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return VIe()},toJSON(e){return{}},fromPartial(e){return VIe()}};function JIe(){return{admin:"",groupId:BigInt(0),newAdmin:""}}Xn.MsgUpdateGroupAdmin={typeUrl:"/cosmos.group.v1.MsgUpdateGroupAdmin",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId),e.newAdmin!==""&&t.uint32(26).string(e.newAdmin),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=JIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupId=r.uint64();break;case 3:n.newAdmin=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=JIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,Ho.isSet)(e.newAdmin)&&(t.newAdmin=String(e.newAdmin)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.newAdmin!==void 0&&(t.newAdmin=e.newAdmin),t},fromPartial(e){let t=JIe();return t.admin=e.admin??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.newAdmin=e.newAdmin??"",t}};function zIe(){return{}}Xn.MsgUpdateGroupAdminResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupAdminResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return zIe()},toJSON(e){return{}},fromPartial(e){return zIe()}};function KIe(){return{admin:"",groupId:BigInt(0),metadata:""}}Xn.MsgUpdateGroupMetadata={typeUrl:"/cosmos.group.v1.MsgUpdateGroupMetadata",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId),e.metadata!==""&&t.uint32(26).string(e.metadata),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=KIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupId=r.uint64();break;case 3:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=KIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=KIe();return t.admin=e.admin??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.metadata=e.metadata??"",t}};function $Ie(){return{}}Xn.MsgUpdateGroupMetadataResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupMetadataResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$Ie();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return $Ie()},toJSON(e){return{}},fromPartial(e){return $Ie()}};function YIe(){return{admin:"",groupId:BigInt(0),metadata:"",decisionPolicy:void 0}}Xn.MsgCreateGroupPolicy={typeUrl:"/cosmos.group.v1.MsgCreateGroupPolicy",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId),e.metadata!==""&&t.uint32(26).string(e.metadata),e.decisionPolicy!==void 0&&vf.Any.encode(e.decisionPolicy,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=YIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupId=r.uint64();break;case 3:n.metadata=r.string();break;case 4:n.decisionPolicy=vf.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=YIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,Ho.isSet)(e.decisionPolicy)&&(t.decisionPolicy=vf.Any.fromJSON(e.decisionPolicy)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.metadata!==void 0&&(t.metadata=e.metadata),e.decisionPolicy!==void 0&&(t.decisionPolicy=e.decisionPolicy?vf.Any.toJSON(e.decisionPolicy):void 0),t},fromPartial(e){let t=YIe();return t.admin=e.admin??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.metadata=e.metadata??"",e.decisionPolicy!==void 0&&e.decisionPolicy!==null&&(t.decisionPolicy=vf.Any.fromPartial(e.decisionPolicy)),t}};function WIe(){return{address:""}}Xn.MsgCreateGroupPolicyResponse={typeUrl:"/cosmos.group.v1.MsgCreateGroupPolicyResponse",encode(e,t=$n.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=WIe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.address=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=WIe();return(0,Ho.isSet)(e.address)&&(t.address=String(e.address)),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),t},fromPartial(e){let t=WIe();return t.address=e.address??"",t}};function XIe(){return{admin:"",groupPolicyAddress:"",newAdmin:""}}Xn.MsgUpdateGroupPolicyAdmin={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyAdmin",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupPolicyAddress!==""&&t.uint32(18).string(e.groupPolicyAddress),e.newAdmin!==""&&t.uint32(26).string(e.newAdmin),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=XIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupPolicyAddress=r.string();break;case 3:n.newAdmin=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=XIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),(0,Ho.isSet)(e.newAdmin)&&(t.newAdmin=String(e.newAdmin)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),e.newAdmin!==void 0&&(t.newAdmin=e.newAdmin),t},fromPartial(e){let t=XIe();return t.admin=e.admin??"",t.groupPolicyAddress=e.groupPolicyAddress??"",t.newAdmin=e.newAdmin??"",t}};function ZIe(){return{}}Xn.MsgUpdateGroupPolicyAdminResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return ZIe()},toJSON(e){return{}},fromPartial(e){return ZIe()}};function jIe(){return{admin:"",members:[],groupMetadata:"",groupPolicyMetadata:"",groupPolicyAsAdmin:!1,decisionPolicy:void 0}}Xn.MsgCreateGroupWithPolicy={typeUrl:"/cosmos.group.v1.MsgCreateGroupWithPolicy",encode(e,t=$n.BinaryWriter.create()){e.admin!==""&&t.uint32(10).string(e.admin);for(let r of e.members)zf.MemberRequest.encode(r,t.uint32(18).fork()).ldelim();return e.groupMetadata!==""&&t.uint32(26).string(e.groupMetadata),e.groupPolicyMetadata!==""&&t.uint32(34).string(e.groupPolicyMetadata),e.groupPolicyAsAdmin===!0&&t.uint32(40).bool(e.groupPolicyAsAdmin),e.decisionPolicy!==void 0&&vf.Any.encode(e.decisionPolicy,t.uint32(50).fork()).ldelim(),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jIe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.members.push(zf.MemberRequest.decode(r,r.uint32()));break;case 3:n.groupMetadata=r.string();break;case 4:n.groupPolicyMetadata=r.string();break;case 5:n.groupPolicyAsAdmin=r.bool();break;case 6:n.decisionPolicy=vf.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=jIe();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),Array.isArray(e?.members)&&(t.members=e.members.map(r=>zf.MemberRequest.fromJSON(r))),(0,Ho.isSet)(e.groupMetadata)&&(t.groupMetadata=String(e.groupMetadata)),(0,Ho.isSet)(e.groupPolicyMetadata)&&(t.groupPolicyMetadata=String(e.groupPolicyMetadata)),(0,Ho.isSet)(e.groupPolicyAsAdmin)&&(t.groupPolicyAsAdmin=!!e.groupPolicyAsAdmin),(0,Ho.isSet)(e.decisionPolicy)&&(t.decisionPolicy=vf.Any.fromJSON(e.decisionPolicy)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.members?t.members=e.members.map(r=>r?zf.MemberRequest.toJSON(r):void 0):t.members=[],e.groupMetadata!==void 0&&(t.groupMetadata=e.groupMetadata),e.groupPolicyMetadata!==void 0&&(t.groupPolicyMetadata=e.groupPolicyMetadata),e.groupPolicyAsAdmin!==void 0&&(t.groupPolicyAsAdmin=e.groupPolicyAsAdmin),e.decisionPolicy!==void 0&&(t.decisionPolicy=e.decisionPolicy?vf.Any.toJSON(e.decisionPolicy):void 0),t},fromPartial(e){let t=jIe();return t.admin=e.admin??"",t.members=e.members?.map(r=>zf.MemberRequest.fromPartial(r))||[],t.groupMetadata=e.groupMetadata??"",t.groupPolicyMetadata=e.groupPolicyMetadata??"",t.groupPolicyAsAdmin=e.groupPolicyAsAdmin??!1,e.decisionPolicy!==void 0&&e.decisionPolicy!==null&&(t.decisionPolicy=vf.Any.fromPartial(e.decisionPolicy)),t}};function e3e(){return{groupId:BigInt(0),groupPolicyAddress:""}}Xn.MsgCreateGroupWithPolicyResponse={typeUrl:"/cosmos.group.v1.MsgCreateGroupWithPolicyResponse",encode(e,t=$n.BinaryWriter.create()){return e.groupId!==BigInt(0)&&t.uint32(8).uint64(e.groupId),e.groupPolicyAddress!==""&&t.uint32(18).string(e.groupPolicyAddress),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=e3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.groupId=r.uint64();break;case 2:n.groupPolicyAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=e3e();return(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),(0,Ho.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),t},toJSON(e){let t={};return e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),t},fromPartial(e){let t=e3e();return e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t.groupPolicyAddress=e.groupPolicyAddress??"",t}};function t3e(){return{admin:"",groupPolicyAddress:"",decisionPolicy:void 0}}Xn.MsgUpdateGroupPolicyDecisionPolicy={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupPolicyAddress!==""&&t.uint32(18).string(e.groupPolicyAddress),e.decisionPolicy!==void 0&&vf.Any.encode(e.decisionPolicy,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=t3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupPolicyAddress=r.string();break;case 3:n.decisionPolicy=vf.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=t3e();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),(0,Ho.isSet)(e.decisionPolicy)&&(t.decisionPolicy=vf.Any.fromJSON(e.decisionPolicy)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),e.decisionPolicy!==void 0&&(t.decisionPolicy=e.decisionPolicy?vf.Any.toJSON(e.decisionPolicy):void 0),t},fromPartial(e){let t=t3e();return t.admin=e.admin??"",t.groupPolicyAddress=e.groupPolicyAddress??"",e.decisionPolicy!==void 0&&e.decisionPolicy!==null&&(t.decisionPolicy=vf.Any.fromPartial(e.decisionPolicy)),t}};function r3e(){return{}}Xn.MsgUpdateGroupPolicyDecisionPolicyResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=r3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return r3e()},toJSON(e){return{}},fromPartial(e){return r3e()}};function n3e(){return{admin:"",groupPolicyAddress:"",metadata:""}}Xn.MsgUpdateGroupPolicyMetadata={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyMetadata",encode(e,t=$n.BinaryWriter.create()){return e.admin!==""&&t.uint32(10).string(e.admin),e.groupPolicyAddress!==""&&t.uint32(18).string(e.groupPolicyAddress),e.metadata!==""&&t.uint32(26).string(e.metadata),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=n3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.admin=r.string();break;case 2:n.groupPolicyAddress=r.string();break;case 3:n.metadata=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=n3e();return(0,Ho.isSet)(e.admin)&&(t.admin=String(e.admin)),(0,Ho.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),t},toJSON(e){let t={};return e.admin!==void 0&&(t.admin=e.admin),e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),e.metadata!==void 0&&(t.metadata=e.metadata),t},fromPartial(e){let t=n3e();return t.admin=e.admin??"",t.groupPolicyAddress=e.groupPolicyAddress??"",t.metadata=e.metadata??"",t}};function i3e(){return{}}Xn.MsgUpdateGroupPolicyMetadataResponse={typeUrl:"/cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=i3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return i3e()},toJSON(e){return{}},fromPartial(e){return i3e()}};function o3e(){return{groupPolicyAddress:"",proposers:[],metadata:"",messages:[],exec:0,title:"",summary:""}}Xn.MsgSubmitProposal={typeUrl:"/cosmos.group.v1.MsgSubmitProposal",encode(e,t=$n.BinaryWriter.create()){e.groupPolicyAddress!==""&&t.uint32(10).string(e.groupPolicyAddress);for(let r of e.proposers)t.uint32(18).string(r);e.metadata!==""&&t.uint32(26).string(e.metadata);for(let r of e.messages)vf.Any.encode(r,t.uint32(34).fork()).ldelim();return e.exec!==0&&t.uint32(40).int32(e.exec),e.title!==""&&t.uint32(50).string(e.title),e.summary!==""&&t.uint32(58).string(e.summary),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=o3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.groupPolicyAddress=r.string();break;case 2:n.proposers.push(r.string());break;case 3:n.metadata=r.string();break;case 4:n.messages.push(vf.Any.decode(r,r.uint32()));break;case 5:n.exec=r.int32();break;case 6:n.title=r.string();break;case 7:n.summary=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=o3e();return(0,Ho.isSet)(e.groupPolicyAddress)&&(t.groupPolicyAddress=String(e.groupPolicyAddress)),Array.isArray(e?.proposers)&&(t.proposers=e.proposers.map(r=>String(r))),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),Array.isArray(e?.messages)&&(t.messages=e.messages.map(r=>vf.Any.fromJSON(r))),(0,Ho.isSet)(e.exec)&&(t.exec=g3e(e.exec)),(0,Ho.isSet)(e.title)&&(t.title=String(e.title)),(0,Ho.isSet)(e.summary)&&(t.summary=String(e.summary)),t},toJSON(e){let t={};return e.groupPolicyAddress!==void 0&&(t.groupPolicyAddress=e.groupPolicyAddress),e.proposers?t.proposers=e.proposers.map(r=>r):t.proposers=[],e.metadata!==void 0&&(t.metadata=e.metadata),e.messages?t.messages=e.messages.map(r=>r?vf.Any.toJSON(r):void 0):t.messages=[],e.exec!==void 0&&(t.exec=_3e(e.exec)),e.title!==void 0&&(t.title=e.title),e.summary!==void 0&&(t.summary=e.summary),t},fromPartial(e){let t=o3e();return t.groupPolicyAddress=e.groupPolicyAddress??"",t.proposers=e.proposers?.map(r=>r)||[],t.metadata=e.metadata??"",t.messages=e.messages?.map(r=>vf.Any.fromPartial(r))||[],t.exec=e.exec??0,t.title=e.title??"",t.summary=e.summary??"",t}};function a3e(){return{proposalId:BigInt(0)}}Xn.MsgSubmitProposalResponse={typeUrl:"/cosmos.group.v1.MsgSubmitProposalResponse",encode(e,t=$n.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=a3e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proposalId=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=a3e();return(0,Ho.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),t},fromPartial(e){let t=a3e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t}};function s3e(){return{proposalId:BigInt(0),address:""}}Xn.MsgWithdrawProposal={typeUrl:"/cosmos.group.v1.MsgWithdrawProposal",encode(e,t=$n.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.address!==""&&t.uint32(18).string(e.address),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=s3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.address=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=s3e();return(0,Ho.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Ho.isSet)(e.address)&&(t.address=String(e.address)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.address!==void 0&&(t.address=e.address),t},fromPartial(e){let t=s3e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.address=e.address??"",t}};function c3e(){return{}}Xn.MsgWithdrawProposalResponse={typeUrl:"/cosmos.group.v1.MsgWithdrawProposalResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=c3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return c3e()},toJSON(e){return{}},fromPartial(e){return c3e()}};function u3e(){return{proposalId:BigInt(0),voter:"",option:0,metadata:"",exec:0}}Xn.MsgVote={typeUrl:"/cosmos.group.v1.MsgVote",encode(e,t=$n.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.voter!==""&&t.uint32(18).string(e.voter),e.option!==0&&t.uint32(24).int32(e.option),e.metadata!==""&&t.uint32(34).string(e.metadata),e.exec!==0&&t.uint32(40).int32(e.exec),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=u3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.voter=r.string();break;case 3:n.option=r.int32();break;case 4:n.metadata=r.string();break;case 5:n.exec=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=u3e();return(0,Ho.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Ho.isSet)(e.voter)&&(t.voter=String(e.voter)),(0,Ho.isSet)(e.option)&&(t.option=(0,zf.voteOptionFromJSON)(e.option)),(0,Ho.isSet)(e.metadata)&&(t.metadata=String(e.metadata)),(0,Ho.isSet)(e.exec)&&(t.exec=g3e(e.exec)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.voter!==void 0&&(t.voter=e.voter),e.option!==void 0&&(t.option=(0,zf.voteOptionToJSON)(e.option)),e.metadata!==void 0&&(t.metadata=e.metadata),e.exec!==void 0&&(t.exec=_3e(e.exec)),t},fromPartial(e){let t=u3e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.voter=e.voter??"",t.option=e.option??0,t.metadata=e.metadata??"",t.exec=e.exec??0,t}};function d3e(){return{}}Xn.MsgVoteResponse={typeUrl:"/cosmos.group.v1.MsgVoteResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=d3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return d3e()},toJSON(e){return{}},fromPartial(e){return d3e()}};function f3e(){return{proposalId:BigInt(0),executor:""}}Xn.MsgExec={typeUrl:"/cosmos.group.v1.MsgExec",encode(e,t=$n.BinaryWriter.create()){return e.proposalId!==BigInt(0)&&t.uint32(8).uint64(e.proposalId),e.executor!==""&&t.uint32(18).string(e.executor),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=f3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.proposalId=r.uint64();break;case 2:n.executor=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=f3e();return(0,Ho.isSet)(e.proposalId)&&(t.proposalId=BigInt(e.proposalId.toString())),(0,Ho.isSet)(e.executor)&&(t.executor=String(e.executor)),t},toJSON(e){let t={};return e.proposalId!==void 0&&(t.proposalId=(e.proposalId||BigInt(0)).toString()),e.executor!==void 0&&(t.executor=e.executor),t},fromPartial(e){let t=f3e();return e.proposalId!==void 0&&e.proposalId!==null&&(t.proposalId=BigInt(e.proposalId.toString())),t.executor=e.executor??"",t}};function l3e(){return{result:0}}Xn.MsgExecResponse={typeUrl:"/cosmos.group.v1.MsgExecResponse",encode(e,t=$n.BinaryWriter.create()){return e.result!==0&&t.uint32(16).int32(e.result),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=l3e();for(;r.pos<i;){let o=r.uint32();o>>>3===2?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=l3e();return(0,Ho.isSet)(e.result)&&(t.result=(0,zf.proposalExecutorResultFromJSON)(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=(0,zf.proposalExecutorResultToJSON)(e.result)),t},fromPartial(e){let t=l3e();return t.result=e.result??0,t}};function h3e(){return{address:"",groupId:BigInt(0)}}Xn.MsgLeaveGroup={typeUrl:"/cosmos.group.v1.MsgLeaveGroup",encode(e,t=$n.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.groupId!==BigInt(0)&&t.uint32(16).uint64(e.groupId),t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=h3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.groupId=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=h3e();return(0,Ho.isSet)(e.address)&&(t.address=String(e.address)),(0,Ho.isSet)(e.groupId)&&(t.groupId=BigInt(e.groupId.toString())),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.groupId!==void 0&&(t.groupId=(e.groupId||BigInt(0)).toString()),t},fromPartial(e){let t=h3e();return t.address=e.address??"",e.groupId!==void 0&&e.groupId!==null&&(t.groupId=BigInt(e.groupId.toString())),t}};function A3e(){return{}}Xn.MsgLeaveGroupResponse={typeUrl:"/cosmos.group.v1.MsgLeaveGroupResponse",encode(e,t=$n.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $n.BinaryReader?e:new $n.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=A3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return A3e()},toJSON(e){return{}},fromPartial(e){return A3e()}};var p3e=class{constructor(t){this.rpc=t,this.CreateGroup=this.CreateGroup.bind(this),this.UpdateGroupMembers=this.UpdateGroupMembers.bind(this),this.UpdateGroupAdmin=this.UpdateGroupAdmin.bind(this),this.UpdateGroupMetadata=this.UpdateGroupMetadata.bind(this),this.CreateGroupPolicy=this.CreateGroupPolicy.bind(this),this.CreateGroupWithPolicy=this.CreateGroupWithPolicy.bind(this),this.UpdateGroupPolicyAdmin=this.UpdateGroupPolicyAdmin.bind(this),this.UpdateGroupPolicyDecisionPolicy=this.UpdateGroupPolicyDecisionPolicy.bind(this),this.UpdateGroupPolicyMetadata=this.UpdateGroupPolicyMetadata.bind(this),this.SubmitProposal=this.SubmitProposal.bind(this),this.WithdrawProposal=this.WithdrawProposal.bind(this),this.Vote=this.Vote.bind(this),this.Exec=this.Exec.bind(this),this.LeaveGroup=this.LeaveGroup.bind(this)}CreateGroup(t){let r=Xn.MsgCreateGroup.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","CreateGroup",r).then(n=>Xn.MsgCreateGroupResponse.decode(new $n.BinaryReader(n)))}UpdateGroupMembers(t){let r=Xn.MsgUpdateGroupMembers.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupMembers",r).then(n=>Xn.MsgUpdateGroupMembersResponse.decode(new $n.BinaryReader(n)))}UpdateGroupAdmin(t){let r=Xn.MsgUpdateGroupAdmin.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupAdmin",r).then(n=>Xn.MsgUpdateGroupAdminResponse.decode(new $n.BinaryReader(n)))}UpdateGroupMetadata(t){let r=Xn.MsgUpdateGroupMetadata.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupMetadata",r).then(n=>Xn.MsgUpdateGroupMetadataResponse.decode(new $n.BinaryReader(n)))}CreateGroupPolicy(t){let r=Xn.MsgCreateGroupPolicy.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","CreateGroupPolicy",r).then(n=>Xn.MsgCreateGroupPolicyResponse.decode(new $n.BinaryReader(n)))}CreateGroupWithPolicy(t){let r=Xn.MsgCreateGroupWithPolicy.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","CreateGroupWithPolicy",r).then(n=>Xn.MsgCreateGroupWithPolicyResponse.decode(new $n.BinaryReader(n)))}UpdateGroupPolicyAdmin(t){let r=Xn.MsgUpdateGroupPolicyAdmin.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupPolicyAdmin",r).then(n=>Xn.MsgUpdateGroupPolicyAdminResponse.decode(new $n.BinaryReader(n)))}UpdateGroupPolicyDecisionPolicy(t){let r=Xn.MsgUpdateGroupPolicyDecisionPolicy.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupPolicyDecisionPolicy",r).then(n=>Xn.MsgUpdateGroupPolicyDecisionPolicyResponse.decode(new $n.BinaryReader(n)))}UpdateGroupPolicyMetadata(t){let r=Xn.MsgUpdateGroupPolicyMetadata.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","UpdateGroupPolicyMetadata",r).then(n=>Xn.MsgUpdateGroupPolicyMetadataResponse.decode(new $n.BinaryReader(n)))}SubmitProposal(t){let r=Xn.MsgSubmitProposal.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","SubmitProposal",r).then(n=>Xn.MsgSubmitProposalResponse.decode(new $n.BinaryReader(n)))}WithdrawProposal(t){let r=Xn.MsgWithdrawProposal.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","WithdrawProposal",r).then(n=>Xn.MsgWithdrawProposalResponse.decode(new $n.BinaryReader(n)))}Vote(t){let r=Xn.MsgVote.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","Vote",r).then(n=>Xn.MsgVoteResponse.decode(new $n.BinaryReader(n)))}Exec(t){let r=Xn.MsgExec.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","Exec",r).then(n=>Xn.MsgExecResponse.decode(new $n.BinaryReader(n)))}LeaveGroup(t){let r=Xn.MsgLeaveGroup.encode(t).finish();return this.rpc.request("cosmos.group.v1.Msg","LeaveGroup",r).then(n=>Xn.MsgLeaveGroupResponse.decode(new $n.BinaryReader(n)))}};Xn.MsgClientImpl=p3e});var Vmt=ir(Yee=>{"use strict";J();K();z();Object.defineProperty(Yee,"__esModule",{value:!0});Yee.groupTypes=void 0;var A1=qmt();Yee.groupTypes=[["/cosmos.group.v1.MsgCreateGroup",A1.MsgCreateGroup],["/cosmos.group.v1.MsgCreateGroupPolicy",A1.MsgCreateGroupPolicy],["/cosmos.group.v1.MsgCreateGroupWithPolicy",A1.MsgCreateGroupWithPolicy],["/cosmos.group.v1.MsgExec",A1.MsgExec],["/cosmos.group.v1.MsgLeaveGroup",A1.MsgLeaveGroup],["/cosmos.group.v1.MsgSubmitProposal",A1.MsgSubmitProposal],["/cosmos.group.v1.MsgUpdateGroupAdmin",A1.MsgUpdateGroupAdmin],["/cosmos.group.v1.MsgUpdateGroupMembers",A1.MsgUpdateGroupMembers],["/cosmos.group.v1.MsgUpdateGroupMetadata",A1.MsgUpdateGroupMetadata],["/cosmos.group.v1.MsgUpdateGroupPolicyAdmin",A1.MsgUpdateGroupPolicyAdmin],["/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy",A1.MsgUpdateGroupPolicyDecisionPolicy],["/cosmos.group.v1.MsgUpdateGroupPolicyMetadata",A1.MsgUpdateGroupPolicyMetadata],["/cosmos.group.v1.MsgVote",A1.MsgVote],["/cosmos.group.v1.MsgWithdrawProposal",A1.MsgWithdrawProposal]]});var Jmt=ir(Tl=>{"use strict";J();K();z();Object.defineProperty(Tl,"__esModule",{value:!0});Tl.ModuleVersion=Tl.CancelSoftwareUpgradeProposal=Tl.SoftwareUpgradeProposal=Tl.Plan=Tl.protobufPackage=void 0;var Wee=u1(),eQ=ru(),x2=Qi(),p1=Hi();Tl.protobufPackage="cosmos.upgrade.v1beta1";function m3e(){return{name:"",time:Wee.Timestamp.fromPartial({}),height:BigInt(0),info:"",upgradedClientState:void 0}}Tl.Plan={typeUrl:"/cosmos.upgrade.v1beta1.Plan",encode(e,t=x2.BinaryWriter.create()){return e.name!==""&&t.uint32(10).string(e.name),e.time!==void 0&&Wee.Timestamp.encode(e.time,t.uint32(18).fork()).ldelim(),e.height!==BigInt(0)&&t.uint32(24).int64(e.height),e.info!==""&&t.uint32(34).string(e.info),e.upgradedClientState!==void 0&&eQ.Any.encode(e.upgradedClientState,t.uint32(42).fork()).ldelim(),t},decode(e,t){let r=e instanceof x2.BinaryReader?e:new x2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=m3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.name=r.string();break;case 2:n.time=Wee.Timestamp.decode(r,r.uint32());break;case 3:n.height=r.int64();break;case 4:n.info=r.string();break;case 5:n.upgradedClientState=eQ.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=m3e();return(0,p1.isSet)(e.name)&&(t.name=String(e.name)),(0,p1.isSet)(e.time)&&(t.time=(0,p1.fromJsonTimestamp)(e.time)),(0,p1.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,p1.isSet)(e.info)&&(t.info=String(e.info)),(0,p1.isSet)(e.upgradedClientState)&&(t.upgradedClientState=eQ.Any.fromJSON(e.upgradedClientState)),t},toJSON(e){let t={};return e.name!==void 0&&(t.name=e.name),e.time!==void 0&&(t.time=(0,p1.fromTimestamp)(e.time).toISOString()),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.info!==void 0&&(t.info=e.info),e.upgradedClientState!==void 0&&(t.upgradedClientState=e.upgradedClientState?eQ.Any.toJSON(e.upgradedClientState):void 0),t},fromPartial(e){let t=m3e();return t.name=e.name??"",e.time!==void 0&&e.time!==null&&(t.time=Wee.Timestamp.fromPartial(e.time)),e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.info=e.info??"",e.upgradedClientState!==void 0&&e.upgradedClientState!==null&&(t.upgradedClientState=eQ.Any.fromPartial(e.upgradedClientState)),t}};function y3e(){return{title:"",description:"",plan:Tl.Plan.fromPartial({})}}Tl.SoftwareUpgradeProposal={typeUrl:"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal",encode(e,t=x2.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),e.plan!==void 0&&Tl.Plan.encode(e.plan,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof x2.BinaryReader?e:new x2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=y3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;case 3:n.plan=Tl.Plan.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=y3e();return(0,p1.isSet)(e.title)&&(t.title=String(e.title)),(0,p1.isSet)(e.description)&&(t.description=String(e.description)),(0,p1.isSet)(e.plan)&&(t.plan=Tl.Plan.fromJSON(e.plan)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),e.plan!==void 0&&(t.plan=e.plan?Tl.Plan.toJSON(e.plan):void 0),t},fromPartial(e){let t=y3e();return t.title=e.title??"",t.description=e.description??"",e.plan!==void 0&&e.plan!==null&&(t.plan=Tl.Plan.fromPartial(e.plan)),t}};function b3e(){return{title:"",description:""}}Tl.CancelSoftwareUpgradeProposal={typeUrl:"/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal",encode(e,t=x2.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),t},decode(e,t){let r=e instanceof x2.BinaryReader?e:new x2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=b3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=b3e();return(0,p1.isSet)(e.title)&&(t.title=String(e.title)),(0,p1.isSet)(e.description)&&(t.description=String(e.description)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),t},fromPartial(e){let t=b3e();return t.title=e.title??"",t.description=e.description??"",t}};function E3e(){return{name:"",version:BigInt(0)}}Tl.ModuleVersion={typeUrl:"/cosmos.upgrade.v1beta1.ModuleVersion",encode(e,t=x2.BinaryWriter.create()){return e.name!==""&&t.uint32(10).string(e.name),e.version!==BigInt(0)&&t.uint32(16).uint64(e.version),t},decode(e,t){let r=e instanceof x2.BinaryReader?e:new x2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=E3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.name=r.string();break;case 2:n.version=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=E3e();return(0,p1.isSet)(e.name)&&(t.name=String(e.name)),(0,p1.isSet)(e.version)&&(t.version=BigInt(e.version.toString())),t},toJSON(e){let t={};return e.name!==void 0&&(t.name=e.name),e.version!==void 0&&(t.version=(e.version||BigInt(0)).toString()),t},fromPartial(e){let t=E3e();return t.name=e.name??"",e.version!==void 0&&e.version!==null&&(t.version=BigInt(e.version.toString())),t}}});var NS=ir(nu=>{"use strict";J();K();z();Object.defineProperty(nu,"__esModule",{value:!0});nu.Params=nu.Height=nu.UpgradeProposal=nu.ClientUpdateProposal=nu.ClientConsensusStates=nu.ConsensusStateWithHeight=nu.IdentifiedClientState=nu.protobufPackage=void 0;var op=ru(),a9=Jmt(),Jd=Qi(),ap=Hi();nu.protobufPackage="ibc.core.client.v1";function v3e(){return{clientId:"",clientState:void 0}}nu.IdentifiedClientState={typeUrl:"/ibc.core.client.v1.IdentifiedClientState",encode(e,t=Jd.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.clientState!==void 0&&op.Any.encode(e.clientState,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=v3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.clientState=op.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=v3e();return(0,ap.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,ap.isSet)(e.clientState)&&(t.clientState=op.Any.fromJSON(e.clientState)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.clientState!==void 0&&(t.clientState=e.clientState?op.Any.toJSON(e.clientState):void 0),t},fromPartial(e){let t=v3e();return t.clientId=e.clientId??"",e.clientState!==void 0&&e.clientState!==null&&(t.clientState=op.Any.fromPartial(e.clientState)),t}};function R3e(){return{height:nu.Height.fromPartial({}),consensusState:void 0}}nu.ConsensusStateWithHeight={typeUrl:"/ibc.core.client.v1.ConsensusStateWithHeight",encode(e,t=Jd.BinaryWriter.create()){return e.height!==void 0&&nu.Height.encode(e.height,t.uint32(10).fork()).ldelim(),e.consensusState!==void 0&&op.Any.encode(e.consensusState,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=R3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=nu.Height.decode(r,r.uint32());break;case 2:n.consensusState=op.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=R3e();return(0,ap.isSet)(e.height)&&(t.height=nu.Height.fromJSON(e.height)),(0,ap.isSet)(e.consensusState)&&(t.consensusState=op.Any.fromJSON(e.consensusState)),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=e.height?nu.Height.toJSON(e.height):void 0),e.consensusState!==void 0&&(t.consensusState=e.consensusState?op.Any.toJSON(e.consensusState):void 0),t},fromPartial(e){let t=R3e();return e.height!==void 0&&e.height!==null&&(t.height=nu.Height.fromPartial(e.height)),e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=op.Any.fromPartial(e.consensusState)),t}};function S3e(){return{clientId:"",consensusStates:[]}}nu.ClientConsensusStates={typeUrl:"/ibc.core.client.v1.ClientConsensusStates",encode(e,t=Jd.BinaryWriter.create()){e.clientId!==""&&t.uint32(10).string(e.clientId);for(let r of e.consensusStates)nu.ConsensusStateWithHeight.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=S3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.consensusStates.push(nu.ConsensusStateWithHeight.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=S3e();return(0,ap.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),Array.isArray(e?.consensusStates)&&(t.consensusStates=e.consensusStates.map(r=>nu.ConsensusStateWithHeight.fromJSON(r))),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.consensusStates?t.consensusStates=e.consensusStates.map(r=>r?nu.ConsensusStateWithHeight.toJSON(r):void 0):t.consensusStates=[],t},fromPartial(e){let t=S3e();return t.clientId=e.clientId??"",t.consensusStates=e.consensusStates?.map(r=>nu.ConsensusStateWithHeight.fromPartial(r))||[],t}};function I3e(){return{title:"",description:"",subjectClientId:"",substituteClientId:""}}nu.ClientUpdateProposal={typeUrl:"/ibc.core.client.v1.ClientUpdateProposal",encode(e,t=Jd.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),e.subjectClientId!==""&&t.uint32(26).string(e.subjectClientId),e.substituteClientId!==""&&t.uint32(34).string(e.substituteClientId),t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=I3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;case 3:n.subjectClientId=r.string();break;case 4:n.substituteClientId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=I3e();return(0,ap.isSet)(e.title)&&(t.title=String(e.title)),(0,ap.isSet)(e.description)&&(t.description=String(e.description)),(0,ap.isSet)(e.subjectClientId)&&(t.subjectClientId=String(e.subjectClientId)),(0,ap.isSet)(e.substituteClientId)&&(t.substituteClientId=String(e.substituteClientId)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),e.subjectClientId!==void 0&&(t.subjectClientId=e.subjectClientId),e.substituteClientId!==void 0&&(t.substituteClientId=e.substituteClientId),t},fromPartial(e){let t=I3e();return t.title=e.title??"",t.description=e.description??"",t.subjectClientId=e.subjectClientId??"",t.substituteClientId=e.substituteClientId??"",t}};function C3e(){return{title:"",description:"",plan:a9.Plan.fromPartial({}),upgradedClientState:void 0}}nu.UpgradeProposal={typeUrl:"/ibc.core.client.v1.UpgradeProposal",encode(e,t=Jd.BinaryWriter.create()){return e.title!==""&&t.uint32(10).string(e.title),e.description!==""&&t.uint32(18).string(e.description),e.plan!==void 0&&a9.Plan.encode(e.plan,t.uint32(26).fork()).ldelim(),e.upgradedClientState!==void 0&&op.Any.encode(e.upgradedClientState,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=C3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.title=r.string();break;case 2:n.description=r.string();break;case 3:n.plan=a9.Plan.decode(r,r.uint32());break;case 4:n.upgradedClientState=op.Any.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=C3e();return(0,ap.isSet)(e.title)&&(t.title=String(e.title)),(0,ap.isSet)(e.description)&&(t.description=String(e.description)),(0,ap.isSet)(e.plan)&&(t.plan=a9.Plan.fromJSON(e.plan)),(0,ap.isSet)(e.upgradedClientState)&&(t.upgradedClientState=op.Any.fromJSON(e.upgradedClientState)),t},toJSON(e){let t={};return e.title!==void 0&&(t.title=e.title),e.description!==void 0&&(t.description=e.description),e.plan!==void 0&&(t.plan=e.plan?a9.Plan.toJSON(e.plan):void 0),e.upgradedClientState!==void 0&&(t.upgradedClientState=e.upgradedClientState?op.Any.toJSON(e.upgradedClientState):void 0),t},fromPartial(e){let t=C3e();return t.title=e.title??"",t.description=e.description??"",e.plan!==void 0&&e.plan!==null&&(t.plan=a9.Plan.fromPartial(e.plan)),e.upgradedClientState!==void 0&&e.upgradedClientState!==null&&(t.upgradedClientState=op.Any.fromPartial(e.upgradedClientState)),t}};function w3e(){return{revisionNumber:BigInt(0),revisionHeight:BigInt(0)}}nu.Height={typeUrl:"/ibc.core.client.v1.Height",encode(e,t=Jd.BinaryWriter.create()){return e.revisionNumber!==BigInt(0)&&t.uint32(8).uint64(e.revisionNumber),e.revisionHeight!==BigInt(0)&&t.uint32(16).uint64(e.revisionHeight),t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=w3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.revisionNumber=r.uint64();break;case 2:n.revisionHeight=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=w3e();return(0,ap.isSet)(e.revisionNumber)&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),(0,ap.isSet)(e.revisionHeight)&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t},toJSON(e){let t={};return e.revisionNumber!==void 0&&(t.revisionNumber=(e.revisionNumber||BigInt(0)).toString()),e.revisionHeight!==void 0&&(t.revisionHeight=(e.revisionHeight||BigInt(0)).toString()),t},fromPartial(e){let t=w3e();return e.revisionNumber!==void 0&&e.revisionNumber!==null&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),e.revisionHeight!==void 0&&e.revisionHeight!==null&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t}};function O3e(){return{allowedClients:[]}}nu.Params={typeUrl:"/ibc.core.client.v1.Params",encode(e,t=Jd.BinaryWriter.create()){for(let r of e.allowedClients)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof Jd.BinaryReader?e:new Jd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=O3e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.allowedClients.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=O3e();return Array.isArray(e?.allowedClients)&&(t.allowedClients=e.allowedClients.map(r=>String(r))),t},toJSON(e){let t={};return e.allowedClients?t.allowedClients=e.allowedClients.map(r=>r):t.allowedClients=[],t},fromPartial(e){let t=O3e();return t.allowedClients=e.allowedClients?.map(r=>r)||[],t}}});var Xee=ir(T2=>{"use strict";J();K();z();Object.defineProperty(T2,"__esModule",{value:!0});T2.MsgClientImpl=T2.MsgTransferResponse=T2.MsgTransfer=T2.protobufPackage=void 0;var s9=Af(),c9=NS(),I5=Qi(),xS=Hi();T2.protobufPackage="ibc.applications.transfer.v1";function N3e(){return{sourcePort:"",sourceChannel:"",token:s9.Coin.fromPartial({}),sender:"",receiver:"",timeoutHeight:c9.Height.fromPartial({}),timeoutTimestamp:BigInt(0),memo:""}}T2.MsgTransfer={typeUrl:"/ibc.applications.transfer.v1.MsgTransfer",encode(e,t=I5.BinaryWriter.create()){return e.sourcePort!==""&&t.uint32(10).string(e.sourcePort),e.sourceChannel!==""&&t.uint32(18).string(e.sourceChannel),e.token!==void 0&&s9.Coin.encode(e.token,t.uint32(26).fork()).ldelim(),e.sender!==""&&t.uint32(34).string(e.sender),e.receiver!==""&&t.uint32(42).string(e.receiver),e.timeoutHeight!==void 0&&c9.Height.encode(e.timeoutHeight,t.uint32(50).fork()).ldelim(),e.timeoutTimestamp!==BigInt(0)&&t.uint32(56).uint64(e.timeoutTimestamp),e.memo!==""&&t.uint32(66).string(e.memo),t},decode(e,t){let r=e instanceof I5.BinaryReader?e:new I5.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=N3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.sourcePort=r.string();break;case 2:n.sourceChannel=r.string();break;case 3:n.token=s9.Coin.decode(r,r.uint32());break;case 4:n.sender=r.string();break;case 5:n.receiver=r.string();break;case 6:n.timeoutHeight=c9.Height.decode(r,r.uint32());break;case 7:n.timeoutTimestamp=r.uint64();break;case 8:n.memo=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=N3e();return(0,xS.isSet)(e.sourcePort)&&(t.sourcePort=String(e.sourcePort)),(0,xS.isSet)(e.sourceChannel)&&(t.sourceChannel=String(e.sourceChannel)),(0,xS.isSet)(e.token)&&(t.token=s9.Coin.fromJSON(e.token)),(0,xS.isSet)(e.sender)&&(t.sender=String(e.sender)),(0,xS.isSet)(e.receiver)&&(t.receiver=String(e.receiver)),(0,xS.isSet)(e.timeoutHeight)&&(t.timeoutHeight=c9.Height.fromJSON(e.timeoutHeight)),(0,xS.isSet)(e.timeoutTimestamp)&&(t.timeoutTimestamp=BigInt(e.timeoutTimestamp.toString())),(0,xS.isSet)(e.memo)&&(t.memo=String(e.memo)),t},toJSON(e){let t={};return e.sourcePort!==void 0&&(t.sourcePort=e.sourcePort),e.sourceChannel!==void 0&&(t.sourceChannel=e.sourceChannel),e.token!==void 0&&(t.token=e.token?s9.Coin.toJSON(e.token):void 0),e.sender!==void 0&&(t.sender=e.sender),e.receiver!==void 0&&(t.receiver=e.receiver),e.timeoutHeight!==void 0&&(t.timeoutHeight=e.timeoutHeight?c9.Height.toJSON(e.timeoutHeight):void 0),e.timeoutTimestamp!==void 0&&(t.timeoutTimestamp=(e.timeoutTimestamp||BigInt(0)).toString()),e.memo!==void 0&&(t.memo=e.memo),t},fromPartial(e){let t=N3e();return t.sourcePort=e.sourcePort??"",t.sourceChannel=e.sourceChannel??"",e.token!==void 0&&e.token!==null&&(t.token=s9.Coin.fromPartial(e.token)),t.sender=e.sender??"",t.receiver=e.receiver??"",e.timeoutHeight!==void 0&&e.timeoutHeight!==null&&(t.timeoutHeight=c9.Height.fromPartial(e.timeoutHeight)),e.timeoutTimestamp!==void 0&&e.timeoutTimestamp!==null&&(t.timeoutTimestamp=BigInt(e.timeoutTimestamp.toString())),t.memo=e.memo??"",t}};function x3e(){return{sequence:BigInt(0)}}T2.MsgTransferResponse={typeUrl:"/ibc.applications.transfer.v1.MsgTransferResponse",encode(e,t=I5.BinaryWriter.create()){return e.sequence!==BigInt(0)&&t.uint32(8).uint64(e.sequence),t},decode(e,t){let r=e instanceof I5.BinaryReader?e:new I5.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=x3e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.sequence=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=x3e();return(0,xS.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=x3e();return e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};var T3e=class{constructor(t){this.rpc=t,this.Transfer=this.Transfer.bind(this)}Transfer(t){let r=T2.MsgTransfer.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Msg","Transfer",r).then(n=>T2.MsgTransferResponse.decode(new I5.BinaryReader(n)))}};T2.MsgClientImpl=T3e});var zmt=ir(u9=>{"use strict";J();K();z();Object.defineProperty(u9,"__esModule",{value:!0});u9.createIbcAminoConverters=u9.isAminoMsgTransfer=void 0;var Zee=R_(),Kpn=Xee();function $pn(e){return e.type==="cosmos-sdk/MsgTransfer"}u9.isAminoMsgTransfer=$pn;function Ypn(){return{"/ibc.applications.transfer.v1.MsgTransfer":{aminoType:"cosmos-sdk/MsgTransfer",toAmino:({sourcePort:e,sourceChannel:t,token:r,sender:i,receiver:n,timeoutHeight:o,timeoutTimestamp:d,memo:g})=>({source_port:e,source_channel:t,token:r,sender:i,receiver:n,timeout_height:o?{revision_height:(0,Zee.omitDefault)(o.revisionHeight)?.toString(),revision_number:(0,Zee.omitDefault)(o.revisionNumber)?.toString()}:{},timeout_timestamp:(0,Zee.omitDefault)(d)?.toString(),memo:(0,Zee.omitDefault)(g)}),fromAmino:({source_port:e,source_channel:t,token:r,sender:i,receiver:n,timeout_height:o,timeout_timestamp:d,memo:g})=>Kpn.MsgTransfer.fromPartial({sourcePort:e,sourceChannel:t,token:r,sender:i,receiver:n,timeoutHeight:o?{revisionHeight:BigInt(o.revision_height||"0"),revisionNumber:BigInt(o.revision_number||"0")}:void 0,timeoutTimestamp:BigInt(d||"0"),memo:g??""})}}}u9.createIbcAminoConverters=Ypn});var q3e=ir(Oa=>{"use strict";J();K();z();Object.defineProperty(Oa,"__esModule",{value:!0});Oa.Acknowledgement=Oa.PacketId=Oa.PacketState=Oa.Packet=Oa.Counterparty=Oa.IdentifiedChannel=Oa.Channel=Oa.orderToJSON=Oa.orderFromJSON=Oa.Order=Oa.stateToJSON=Oa.stateFromJSON=Oa.State=Oa.protobufPackage=void 0;var d9=NS(),zd=Qi(),Gs=Hi();Oa.protobufPackage="ibc.core.channel.v1";var g1;(function(e){e[e.STATE_UNINITIALIZED_UNSPECIFIED=0]="STATE_UNINITIALIZED_UNSPECIFIED",e[e.STATE_INIT=1]="STATE_INIT",e[e.STATE_TRYOPEN=2]="STATE_TRYOPEN",e[e.STATE_OPEN=3]="STATE_OPEN",e[e.STATE_CLOSED=4]="STATE_CLOSED",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(g1||(Oa.State=g1={}));function F3e(e){switch(e){case 0:case"STATE_UNINITIALIZED_UNSPECIFIED":return g1.STATE_UNINITIALIZED_UNSPECIFIED;case 1:case"STATE_INIT":return g1.STATE_INIT;case 2:case"STATE_TRYOPEN":return g1.STATE_TRYOPEN;case 3:case"STATE_OPEN":return g1.STATE_OPEN;case 4:case"STATE_CLOSED":return g1.STATE_CLOSED;default:return g1.UNRECOGNIZED}}Oa.stateFromJSON=F3e;function Q3e(e){switch(e){case g1.STATE_UNINITIALIZED_UNSPECIFIED:return"STATE_UNINITIALIZED_UNSPECIFIED";case g1.STATE_INIT:return"STATE_INIT";case g1.STATE_TRYOPEN:return"STATE_TRYOPEN";case g1.STATE_OPEN:return"STATE_OPEN";case g1.STATE_CLOSED:return"STATE_CLOSED";case g1.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Oa.stateToJSON=Q3e;var PE;(function(e){e[e.ORDER_NONE_UNSPECIFIED=0]="ORDER_NONE_UNSPECIFIED",e[e.ORDER_UNORDERED=1]="ORDER_UNORDERED",e[e.ORDER_ORDERED=2]="ORDER_ORDERED",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(PE||(Oa.Order=PE={}));function H3e(e){switch(e){case 0:case"ORDER_NONE_UNSPECIFIED":return PE.ORDER_NONE_UNSPECIFIED;case 1:case"ORDER_UNORDERED":return PE.ORDER_UNORDERED;case 2:case"ORDER_ORDERED":return PE.ORDER_ORDERED;default:return PE.UNRECOGNIZED}}Oa.orderFromJSON=H3e;function G3e(e){switch(e){case PE.ORDER_NONE_UNSPECIFIED:return"ORDER_NONE_UNSPECIFIED";case PE.ORDER_UNORDERED:return"ORDER_UNORDERED";case PE.ORDER_ORDERED:return"ORDER_ORDERED";case PE.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Oa.orderToJSON=G3e;function B3e(){return{state:0,ordering:0,counterparty:Oa.Counterparty.fromPartial({}),connectionHops:[],version:""}}Oa.Channel={typeUrl:"/ibc.core.channel.v1.Channel",encode(e,t=zd.BinaryWriter.create()){e.state!==0&&t.uint32(8).int32(e.state),e.ordering!==0&&t.uint32(16).int32(e.ordering),e.counterparty!==void 0&&Oa.Counterparty.encode(e.counterparty,t.uint32(26).fork()).ldelim();for(let r of e.connectionHops)t.uint32(34).string(r);return e.version!==""&&t.uint32(42).string(e.version),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=B3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.state=r.int32();break;case 2:n.ordering=r.int32();break;case 3:n.counterparty=Oa.Counterparty.decode(r,r.uint32());break;case 4:n.connectionHops.push(r.string());break;case 5:n.version=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=B3e();return(0,Gs.isSet)(e.state)&&(t.state=F3e(e.state)),(0,Gs.isSet)(e.ordering)&&(t.ordering=H3e(e.ordering)),(0,Gs.isSet)(e.counterparty)&&(t.counterparty=Oa.Counterparty.fromJSON(e.counterparty)),Array.isArray(e?.connectionHops)&&(t.connectionHops=e.connectionHops.map(r=>String(r))),(0,Gs.isSet)(e.version)&&(t.version=String(e.version)),t},toJSON(e){let t={};return e.state!==void 0&&(t.state=Q3e(e.state)),e.ordering!==void 0&&(t.ordering=G3e(e.ordering)),e.counterparty!==void 0&&(t.counterparty=e.counterparty?Oa.Counterparty.toJSON(e.counterparty):void 0),e.connectionHops?t.connectionHops=e.connectionHops.map(r=>r):t.connectionHops=[],e.version!==void 0&&(t.version=e.version),t},fromPartial(e){let t=B3e();return t.state=e.state??0,t.ordering=e.ordering??0,e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=Oa.Counterparty.fromPartial(e.counterparty)),t.connectionHops=e.connectionHops?.map(r=>r)||[],t.version=e.version??"",t}};function M3e(){return{state:0,ordering:0,counterparty:Oa.Counterparty.fromPartial({}),connectionHops:[],version:"",portId:"",channelId:""}}Oa.IdentifiedChannel={typeUrl:"/ibc.core.channel.v1.IdentifiedChannel",encode(e,t=zd.BinaryWriter.create()){e.state!==0&&t.uint32(8).int32(e.state),e.ordering!==0&&t.uint32(16).int32(e.ordering),e.counterparty!==void 0&&Oa.Counterparty.encode(e.counterparty,t.uint32(26).fork()).ldelim();for(let r of e.connectionHops)t.uint32(34).string(r);return e.version!==""&&t.uint32(42).string(e.version),e.portId!==""&&t.uint32(50).string(e.portId),e.channelId!==""&&t.uint32(58).string(e.channelId),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=M3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.state=r.int32();break;case 2:n.ordering=r.int32();break;case 3:n.counterparty=Oa.Counterparty.decode(r,r.uint32());break;case 4:n.connectionHops.push(r.string());break;case 5:n.version=r.string();break;case 6:n.portId=r.string();break;case 7:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=M3e();return(0,Gs.isSet)(e.state)&&(t.state=F3e(e.state)),(0,Gs.isSet)(e.ordering)&&(t.ordering=H3e(e.ordering)),(0,Gs.isSet)(e.counterparty)&&(t.counterparty=Oa.Counterparty.fromJSON(e.counterparty)),Array.isArray(e?.connectionHops)&&(t.connectionHops=e.connectionHops.map(r=>String(r))),(0,Gs.isSet)(e.version)&&(t.version=String(e.version)),(0,Gs.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Gs.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.state!==void 0&&(t.state=Q3e(e.state)),e.ordering!==void 0&&(t.ordering=G3e(e.ordering)),e.counterparty!==void 0&&(t.counterparty=e.counterparty?Oa.Counterparty.toJSON(e.counterparty):void 0),e.connectionHops?t.connectionHops=e.connectionHops.map(r=>r):t.connectionHops=[],e.version!==void 0&&(t.version=e.version),e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=M3e();return t.state=e.state??0,t.ordering=e.ordering??0,e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=Oa.Counterparty.fromPartial(e.counterparty)),t.connectionHops=e.connectionHops?.map(r=>r)||[],t.version=e.version??"",t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function D3e(){return{portId:"",channelId:""}}Oa.Counterparty={typeUrl:"/ibc.core.channel.v1.Counterparty",encode(e,t=zd.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=D3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=D3e();return(0,Gs.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Gs.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=D3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function k3e(){return{sequence:BigInt(0),sourcePort:"",sourceChannel:"",destinationPort:"",destinationChannel:"",data:new Uint8Array,timeoutHeight:d9.Height.fromPartial({}),timeoutTimestamp:BigInt(0)}}Oa.Packet={typeUrl:"/ibc.core.channel.v1.Packet",encode(e,t=zd.BinaryWriter.create()){return e.sequence!==BigInt(0)&&t.uint32(8).uint64(e.sequence),e.sourcePort!==""&&t.uint32(18).string(e.sourcePort),e.sourceChannel!==""&&t.uint32(26).string(e.sourceChannel),e.destinationPort!==""&&t.uint32(34).string(e.destinationPort),e.destinationChannel!==""&&t.uint32(42).string(e.destinationChannel),e.data.length!==0&&t.uint32(50).bytes(e.data),e.timeoutHeight!==void 0&&d9.Height.encode(e.timeoutHeight,t.uint32(58).fork()).ldelim(),e.timeoutTimestamp!==BigInt(0)&&t.uint32(64).uint64(e.timeoutTimestamp),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=k3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.sequence=r.uint64();break;case 2:n.sourcePort=r.string();break;case 3:n.sourceChannel=r.string();break;case 4:n.destinationPort=r.string();break;case 5:n.destinationChannel=r.string();break;case 6:n.data=r.bytes();break;case 7:n.timeoutHeight=d9.Height.decode(r,r.uint32());break;case 8:n.timeoutTimestamp=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=k3e();return(0,Gs.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),(0,Gs.isSet)(e.sourcePort)&&(t.sourcePort=String(e.sourcePort)),(0,Gs.isSet)(e.sourceChannel)&&(t.sourceChannel=String(e.sourceChannel)),(0,Gs.isSet)(e.destinationPort)&&(t.destinationPort=String(e.destinationPort)),(0,Gs.isSet)(e.destinationChannel)&&(t.destinationChannel=String(e.destinationChannel)),(0,Gs.isSet)(e.data)&&(t.data=(0,Gs.bytesFromBase64)(e.data)),(0,Gs.isSet)(e.timeoutHeight)&&(t.timeoutHeight=d9.Height.fromJSON(e.timeoutHeight)),(0,Gs.isSet)(e.timeoutTimestamp)&&(t.timeoutTimestamp=BigInt(e.timeoutTimestamp.toString())),t},toJSON(e){let t={};return e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),e.sourcePort!==void 0&&(t.sourcePort=e.sourcePort),e.sourceChannel!==void 0&&(t.sourceChannel=e.sourceChannel),e.destinationPort!==void 0&&(t.destinationPort=e.destinationPort),e.destinationChannel!==void 0&&(t.destinationChannel=e.destinationChannel),e.data!==void 0&&(t.data=(0,Gs.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.timeoutHeight!==void 0&&(t.timeoutHeight=e.timeoutHeight?d9.Height.toJSON(e.timeoutHeight):void 0),e.timeoutTimestamp!==void 0&&(t.timeoutTimestamp=(e.timeoutTimestamp||BigInt(0)).toString()),t},fromPartial(e){let t=k3e();return e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t.sourcePort=e.sourcePort??"",t.sourceChannel=e.sourceChannel??"",t.destinationPort=e.destinationPort??"",t.destinationChannel=e.destinationChannel??"",t.data=e.data??new Uint8Array,e.timeoutHeight!==void 0&&e.timeoutHeight!==null&&(t.timeoutHeight=d9.Height.fromPartial(e.timeoutHeight)),e.timeoutTimestamp!==void 0&&e.timeoutTimestamp!==null&&(t.timeoutTimestamp=BigInt(e.timeoutTimestamp.toString())),t}};function P3e(){return{portId:"",channelId:"",sequence:BigInt(0),data:new Uint8Array}}Oa.PacketState={typeUrl:"/ibc.core.channel.v1.PacketState",encode(e,t=zd.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),e.data.length!==0&&t.uint32(34).bytes(e.data),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=P3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.sequence=r.uint64();break;case 4:n.data=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=P3e();return(0,Gs.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Gs.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Gs.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),(0,Gs.isSet)(e.data)&&(t.data=(0,Gs.bytesFromBase64)(e.data)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),e.data!==void 0&&(t.data=(0,Gs.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),t},fromPartial(e){let t=P3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t.data=e.data??new Uint8Array,t}};function L3e(){return{portId:"",channelId:"",sequence:BigInt(0)}}Oa.PacketId={typeUrl:"/ibc.core.channel.v1.PacketId",encode(e,t=zd.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=L3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=L3e();return(0,Gs.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Gs.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Gs.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=L3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function U3e(){return{result:void 0,error:void 0}}Oa.Acknowledgement={typeUrl:"/ibc.core.channel.v1.Acknowledgement",encode(e,t=zd.BinaryWriter.create()){return e.result!==void 0&&t.uint32(170).bytes(e.result),e.error!==void 0&&t.uint32(178).string(e.error),t},decode(e,t){let r=e instanceof zd.BinaryReader?e:new zd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=U3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 21:n.result=r.bytes();break;case 22:n.error=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=U3e();return(0,Gs.isSet)(e.result)&&(t.result=(0,Gs.bytesFromBase64)(e.result)),(0,Gs.isSet)(e.error)&&(t.error=String(e.error)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=e.result!==void 0?(0,Gs.base64FromBytes)(e.result):void 0),e.error!==void 0&&(t.error=e.error),t},fromPartial(e){let t=U3e();return t.result=e.result??void 0,t.error=e.error??void 0,t}}});var Kmt=ir(Ti=>{"use strict";J();K();z();Object.defineProperty(Ti,"__esModule",{value:!0});Ti.MsgClientImpl=Ti.MsgAcknowledgementResponse=Ti.MsgAcknowledgement=Ti.MsgTimeoutOnCloseResponse=Ti.MsgTimeoutOnClose=Ti.MsgTimeoutResponse=Ti.MsgTimeout=Ti.MsgRecvPacketResponse=Ti.MsgRecvPacket=Ti.MsgChannelCloseConfirmResponse=Ti.MsgChannelCloseConfirm=Ti.MsgChannelCloseInitResponse=Ti.MsgChannelCloseInit=Ti.MsgChannelOpenConfirmResponse=Ti.MsgChannelOpenConfirm=Ti.MsgChannelOpenAckResponse=Ti.MsgChannelOpenAck=Ti.MsgChannelOpenTryResponse=Ti.MsgChannelOpenTry=Ti.MsgChannelOpenInitResponse=Ti.MsgChannelOpenInit=Ti.responseResultTypeToJSON=Ti.responseResultTypeFromJSON=Ti.ResponseResultType=Ti.protobufPackage=void 0;var Ns=q3e(),Xo=NS(),Li=Qi(),Si=Hi();Ti.protobufPackage="ibc.core.channel.v1";var LE;(function(e){e[e.RESPONSE_RESULT_TYPE_UNSPECIFIED=0]="RESPONSE_RESULT_TYPE_UNSPECIFIED",e[e.RESPONSE_RESULT_TYPE_NOOP=1]="RESPONSE_RESULT_TYPE_NOOP",e[e.RESPONSE_RESULT_TYPE_SUCCESS=2]="RESPONSE_RESULT_TYPE_SUCCESS",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(LE||(Ti.ResponseResultType=LE={}));function tQ(e){switch(e){case 0:case"RESPONSE_RESULT_TYPE_UNSPECIFIED":return LE.RESPONSE_RESULT_TYPE_UNSPECIFIED;case 1:case"RESPONSE_RESULT_TYPE_NOOP":return LE.RESPONSE_RESULT_TYPE_NOOP;case 2:case"RESPONSE_RESULT_TYPE_SUCCESS":return LE.RESPONSE_RESULT_TYPE_SUCCESS;default:return LE.UNRECOGNIZED}}Ti.responseResultTypeFromJSON=tQ;function rQ(e){switch(e){case LE.RESPONSE_RESULT_TYPE_UNSPECIFIED:return"RESPONSE_RESULT_TYPE_UNSPECIFIED";case LE.RESPONSE_RESULT_TYPE_NOOP:return"RESPONSE_RESULT_TYPE_NOOP";case LE.RESPONSE_RESULT_TYPE_SUCCESS:return"RESPONSE_RESULT_TYPE_SUCCESS";case LE.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Ti.responseResultTypeToJSON=rQ;function V3e(){return{portId:"",channel:Ns.Channel.fromPartial({}),signer:""}}Ti.MsgChannelOpenInit={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenInit",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channel!==void 0&&Ns.Channel.encode(e.channel,t.uint32(18).fork()).ldelim(),e.signer!==""&&t.uint32(26).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=V3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channel=Ns.Channel.decode(r,r.uint32());break;case 3:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=V3e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.channel)&&(t.channel=Ns.Channel.fromJSON(e.channel)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channel!==void 0&&(t.channel=e.channel?Ns.Channel.toJSON(e.channel):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=V3e();return t.portId=e.portId??"",e.channel!==void 0&&e.channel!==null&&(t.channel=Ns.Channel.fromPartial(e.channel)),t.signer=e.signer??"",t}};function J3e(){return{channelId:"",version:""}}Ti.MsgChannelOpenInitResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenInitResponse",encode(e,t=Li.BinaryWriter.create()){return e.channelId!==""&&t.uint32(10).string(e.channelId),e.version!==""&&t.uint32(18).string(e.version),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=J3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.channelId=r.string();break;case 2:n.version=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=J3e();return(0,Si.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Si.isSet)(e.version)&&(t.version=String(e.version)),t},toJSON(e){let t={};return e.channelId!==void 0&&(t.channelId=e.channelId),e.version!==void 0&&(t.version=e.version),t},fromPartial(e){let t=J3e();return t.channelId=e.channelId??"",t.version=e.version??"",t}};function z3e(){return{portId:"",previousChannelId:"",channel:Ns.Channel.fromPartial({}),counterpartyVersion:"",proofInit:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgChannelOpenTry={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenTry",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.previousChannelId!==""&&t.uint32(18).string(e.previousChannelId),e.channel!==void 0&&Ns.Channel.encode(e.channel,t.uint32(26).fork()).ldelim(),e.counterpartyVersion!==""&&t.uint32(34).string(e.counterpartyVersion),e.proofInit.length!==0&&t.uint32(42).bytes(e.proofInit),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(50).fork()).ldelim(),e.signer!==""&&t.uint32(58).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=z3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.previousChannelId=r.string();break;case 3:n.channel=Ns.Channel.decode(r,r.uint32());break;case 4:n.counterpartyVersion=r.string();break;case 5:n.proofInit=r.bytes();break;case 6:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 7:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=z3e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.previousChannelId)&&(t.previousChannelId=String(e.previousChannelId)),(0,Si.isSet)(e.channel)&&(t.channel=Ns.Channel.fromJSON(e.channel)),(0,Si.isSet)(e.counterpartyVersion)&&(t.counterpartyVersion=String(e.counterpartyVersion)),(0,Si.isSet)(e.proofInit)&&(t.proofInit=(0,Si.bytesFromBase64)(e.proofInit)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.previousChannelId!==void 0&&(t.previousChannelId=e.previousChannelId),e.channel!==void 0&&(t.channel=e.channel?Ns.Channel.toJSON(e.channel):void 0),e.counterpartyVersion!==void 0&&(t.counterpartyVersion=e.counterpartyVersion),e.proofInit!==void 0&&(t.proofInit=(0,Si.base64FromBytes)(e.proofInit!==void 0?e.proofInit:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=z3e();return t.portId=e.portId??"",t.previousChannelId=e.previousChannelId??"",e.channel!==void 0&&e.channel!==null&&(t.channel=Ns.Channel.fromPartial(e.channel)),t.counterpartyVersion=e.counterpartyVersion??"",t.proofInit=e.proofInit??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function K3e(){return{version:""}}Ti.MsgChannelOpenTryResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenTryResponse",encode(e,t=Li.BinaryWriter.create()){return e.version!==""&&t.uint32(10).string(e.version),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=K3e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.version=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=K3e();return(0,Si.isSet)(e.version)&&(t.version=String(e.version)),t},toJSON(e){let t={};return e.version!==void 0&&(t.version=e.version),t},fromPartial(e){let t=K3e();return t.version=e.version??"",t}};function $3e(){return{portId:"",channelId:"",counterpartyChannelId:"",counterpartyVersion:"",proofTry:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgChannelOpenAck={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenAck",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.counterpartyChannelId!==""&&t.uint32(26).string(e.counterpartyChannelId),e.counterpartyVersion!==""&&t.uint32(34).string(e.counterpartyVersion),e.proofTry.length!==0&&t.uint32(42).bytes(e.proofTry),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(50).fork()).ldelim(),e.signer!==""&&t.uint32(58).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.counterpartyChannelId=r.string();break;case 4:n.counterpartyVersion=r.string();break;case 5:n.proofTry=r.bytes();break;case 6:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 7:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$3e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Si.isSet)(e.counterpartyChannelId)&&(t.counterpartyChannelId=String(e.counterpartyChannelId)),(0,Si.isSet)(e.counterpartyVersion)&&(t.counterpartyVersion=String(e.counterpartyVersion)),(0,Si.isSet)(e.proofTry)&&(t.proofTry=(0,Si.bytesFromBase64)(e.proofTry)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.counterpartyChannelId!==void 0&&(t.counterpartyChannelId=e.counterpartyChannelId),e.counterpartyVersion!==void 0&&(t.counterpartyVersion=e.counterpartyVersion),e.proofTry!==void 0&&(t.proofTry=(0,Si.base64FromBytes)(e.proofTry!==void 0?e.proofTry:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=$3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.counterpartyChannelId=e.counterpartyChannelId??"",t.counterpartyVersion=e.counterpartyVersion??"",t.proofTry=e.proofTry??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function Y3e(){return{}}Ti.MsgChannelOpenAckResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenAckResponse",encode(e,t=Li.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Y3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Y3e()},toJSON(e){return{}},fromPartial(e){return Y3e()}};function W3e(){return{portId:"",channelId:"",proofAck:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgChannelOpenConfirm={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenConfirm",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.proofAck.length!==0&&t.uint32(26).bytes(e.proofAck),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),e.signer!==""&&t.uint32(42).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=W3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.proofAck=r.bytes();break;case 4:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 5:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=W3e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Si.isSet)(e.proofAck)&&(t.proofAck=(0,Si.bytesFromBase64)(e.proofAck)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.proofAck!==void 0&&(t.proofAck=(0,Si.base64FromBytes)(e.proofAck!==void 0?e.proofAck:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=W3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.proofAck=e.proofAck??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function X3e(){return{}}Ti.MsgChannelOpenConfirmResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelOpenConfirmResponse",encode(e,t=Li.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=X3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return X3e()},toJSON(e){return{}},fromPartial(e){return X3e()}};function Z3e(){return{portId:"",channelId:"",signer:""}}Ti.MsgChannelCloseInit={typeUrl:"/ibc.core.channel.v1.MsgChannelCloseInit",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.signer!==""&&t.uint32(26).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Z3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Z3e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=Z3e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.signer=e.signer??"",t}};function j3e(){return{}}Ti.MsgChannelCloseInitResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelCloseInitResponse",encode(e,t=Li.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=j3e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return j3e()},toJSON(e){return{}},fromPartial(e){return j3e()}};function e8e(){return{portId:"",channelId:"",proofInit:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgChannelCloseConfirm={typeUrl:"/ibc.core.channel.v1.MsgChannelCloseConfirm",encode(e,t=Li.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.proofInit.length!==0&&t.uint32(26).bytes(e.proofInit),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),e.signer!==""&&t.uint32(42).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=e8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.proofInit=r.bytes();break;case 4:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 5:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=e8e();return(0,Si.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,Si.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,Si.isSet)(e.proofInit)&&(t.proofInit=(0,Si.bytesFromBase64)(e.proofInit)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.proofInit!==void 0&&(t.proofInit=(0,Si.base64FromBytes)(e.proofInit!==void 0?e.proofInit:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=e8e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.proofInit=e.proofInit??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function t8e(){return{}}Ti.MsgChannelCloseConfirmResponse={typeUrl:"/ibc.core.channel.v1.MsgChannelCloseConfirmResponse",encode(e,t=Li.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=t8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return t8e()},toJSON(e){return{}},fromPartial(e){return t8e()}};function r8e(){return{packet:Ns.Packet.fromPartial({}),proofCommitment:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgRecvPacket={typeUrl:"/ibc.core.channel.v1.MsgRecvPacket",encode(e,t=Li.BinaryWriter.create()){return e.packet!==void 0&&Ns.Packet.encode(e.packet,t.uint32(10).fork()).ldelim(),e.proofCommitment.length!==0&&t.uint32(18).bytes(e.proofCommitment),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),e.signer!==""&&t.uint32(34).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=r8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.packet=Ns.Packet.decode(r,r.uint32());break;case 2:n.proofCommitment=r.bytes();break;case 3:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 4:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=r8e();return(0,Si.isSet)(e.packet)&&(t.packet=Ns.Packet.fromJSON(e.packet)),(0,Si.isSet)(e.proofCommitment)&&(t.proofCommitment=(0,Si.bytesFromBase64)(e.proofCommitment)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.packet!==void 0&&(t.packet=e.packet?Ns.Packet.toJSON(e.packet):void 0),e.proofCommitment!==void 0&&(t.proofCommitment=(0,Si.base64FromBytes)(e.proofCommitment!==void 0?e.proofCommitment:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=r8e();return e.packet!==void 0&&e.packet!==null&&(t.packet=Ns.Packet.fromPartial(e.packet)),t.proofCommitment=e.proofCommitment??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function n8e(){return{result:0}}Ti.MsgRecvPacketResponse={typeUrl:"/ibc.core.channel.v1.MsgRecvPacketResponse",encode(e,t=Li.BinaryWriter.create()){return e.result!==0&&t.uint32(8).int32(e.result),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=n8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=n8e();return(0,Si.isSet)(e.result)&&(t.result=tQ(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=rQ(e.result)),t},fromPartial(e){let t=n8e();return t.result=e.result??0,t}};function i8e(){return{packet:Ns.Packet.fromPartial({}),proofUnreceived:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),nextSequenceRecv:BigInt(0),signer:""}}Ti.MsgTimeout={typeUrl:"/ibc.core.channel.v1.MsgTimeout",encode(e,t=Li.BinaryWriter.create()){return e.packet!==void 0&&Ns.Packet.encode(e.packet,t.uint32(10).fork()).ldelim(),e.proofUnreceived.length!==0&&t.uint32(18).bytes(e.proofUnreceived),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),e.nextSequenceRecv!==BigInt(0)&&t.uint32(32).uint64(e.nextSequenceRecv),e.signer!==""&&t.uint32(42).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=i8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.packet=Ns.Packet.decode(r,r.uint32());break;case 2:n.proofUnreceived=r.bytes();break;case 3:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 4:n.nextSequenceRecv=r.uint64();break;case 5:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=i8e();return(0,Si.isSet)(e.packet)&&(t.packet=Ns.Packet.fromJSON(e.packet)),(0,Si.isSet)(e.proofUnreceived)&&(t.proofUnreceived=(0,Si.bytesFromBase64)(e.proofUnreceived)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.nextSequenceRecv)&&(t.nextSequenceRecv=BigInt(e.nextSequenceRecv.toString())),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.packet!==void 0&&(t.packet=e.packet?Ns.Packet.toJSON(e.packet):void 0),e.proofUnreceived!==void 0&&(t.proofUnreceived=(0,Si.base64FromBytes)(e.proofUnreceived!==void 0?e.proofUnreceived:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.nextSequenceRecv!==void 0&&(t.nextSequenceRecv=(e.nextSequenceRecv||BigInt(0)).toString()),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=i8e();return e.packet!==void 0&&e.packet!==null&&(t.packet=Ns.Packet.fromPartial(e.packet)),t.proofUnreceived=e.proofUnreceived??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),e.nextSequenceRecv!==void 0&&e.nextSequenceRecv!==null&&(t.nextSequenceRecv=BigInt(e.nextSequenceRecv.toString())),t.signer=e.signer??"",t}};function o8e(){return{result:0}}Ti.MsgTimeoutResponse={typeUrl:"/ibc.core.channel.v1.MsgTimeoutResponse",encode(e,t=Li.BinaryWriter.create()){return e.result!==0&&t.uint32(8).int32(e.result),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=o8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=o8e();return(0,Si.isSet)(e.result)&&(t.result=tQ(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=rQ(e.result)),t},fromPartial(e){let t=o8e();return t.result=e.result??0,t}};function a8e(){return{packet:Ns.Packet.fromPartial({}),proofUnreceived:new Uint8Array,proofClose:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),nextSequenceRecv:BigInt(0),signer:""}}Ti.MsgTimeoutOnClose={typeUrl:"/ibc.core.channel.v1.MsgTimeoutOnClose",encode(e,t=Li.BinaryWriter.create()){return e.packet!==void 0&&Ns.Packet.encode(e.packet,t.uint32(10).fork()).ldelim(),e.proofUnreceived.length!==0&&t.uint32(18).bytes(e.proofUnreceived),e.proofClose.length!==0&&t.uint32(26).bytes(e.proofClose),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),e.nextSequenceRecv!==BigInt(0)&&t.uint32(40).uint64(e.nextSequenceRecv),e.signer!==""&&t.uint32(50).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=a8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.packet=Ns.Packet.decode(r,r.uint32());break;case 2:n.proofUnreceived=r.bytes();break;case 3:n.proofClose=r.bytes();break;case 4:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 5:n.nextSequenceRecv=r.uint64();break;case 6:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=a8e();return(0,Si.isSet)(e.packet)&&(t.packet=Ns.Packet.fromJSON(e.packet)),(0,Si.isSet)(e.proofUnreceived)&&(t.proofUnreceived=(0,Si.bytesFromBase64)(e.proofUnreceived)),(0,Si.isSet)(e.proofClose)&&(t.proofClose=(0,Si.bytesFromBase64)(e.proofClose)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.nextSequenceRecv)&&(t.nextSequenceRecv=BigInt(e.nextSequenceRecv.toString())),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.packet!==void 0&&(t.packet=e.packet?Ns.Packet.toJSON(e.packet):void 0),e.proofUnreceived!==void 0&&(t.proofUnreceived=(0,Si.base64FromBytes)(e.proofUnreceived!==void 0?e.proofUnreceived:new Uint8Array)),e.proofClose!==void 0&&(t.proofClose=(0,Si.base64FromBytes)(e.proofClose!==void 0?e.proofClose:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.nextSequenceRecv!==void 0&&(t.nextSequenceRecv=(e.nextSequenceRecv||BigInt(0)).toString()),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=a8e();return e.packet!==void 0&&e.packet!==null&&(t.packet=Ns.Packet.fromPartial(e.packet)),t.proofUnreceived=e.proofUnreceived??new Uint8Array,t.proofClose=e.proofClose??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),e.nextSequenceRecv!==void 0&&e.nextSequenceRecv!==null&&(t.nextSequenceRecv=BigInt(e.nextSequenceRecv.toString())),t.signer=e.signer??"",t}};function s8e(){return{result:0}}Ti.MsgTimeoutOnCloseResponse={typeUrl:"/ibc.core.channel.v1.MsgTimeoutOnCloseResponse",encode(e,t=Li.BinaryWriter.create()){return e.result!==0&&t.uint32(8).int32(e.result),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=s8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=s8e();return(0,Si.isSet)(e.result)&&(t.result=tQ(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=rQ(e.result)),t},fromPartial(e){let t=s8e();return t.result=e.result??0,t}};function c8e(){return{packet:Ns.Packet.fromPartial({}),acknowledgement:new Uint8Array,proofAcked:new Uint8Array,proofHeight:Xo.Height.fromPartial({}),signer:""}}Ti.MsgAcknowledgement={typeUrl:"/ibc.core.channel.v1.MsgAcknowledgement",encode(e,t=Li.BinaryWriter.create()){return e.packet!==void 0&&Ns.Packet.encode(e.packet,t.uint32(10).fork()).ldelim(),e.acknowledgement.length!==0&&t.uint32(18).bytes(e.acknowledgement),e.proofAcked.length!==0&&t.uint32(26).bytes(e.proofAcked),e.proofHeight!==void 0&&Xo.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),e.signer!==""&&t.uint32(42).string(e.signer),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=c8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.packet=Ns.Packet.decode(r,r.uint32());break;case 2:n.acknowledgement=r.bytes();break;case 3:n.proofAcked=r.bytes();break;case 4:n.proofHeight=Xo.Height.decode(r,r.uint32());break;case 5:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=c8e();return(0,Si.isSet)(e.packet)&&(t.packet=Ns.Packet.fromJSON(e.packet)),(0,Si.isSet)(e.acknowledgement)&&(t.acknowledgement=(0,Si.bytesFromBase64)(e.acknowledgement)),(0,Si.isSet)(e.proofAcked)&&(t.proofAcked=(0,Si.bytesFromBase64)(e.proofAcked)),(0,Si.isSet)(e.proofHeight)&&(t.proofHeight=Xo.Height.fromJSON(e.proofHeight)),(0,Si.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.packet!==void 0&&(t.packet=e.packet?Ns.Packet.toJSON(e.packet):void 0),e.acknowledgement!==void 0&&(t.acknowledgement=(0,Si.base64FromBytes)(e.acknowledgement!==void 0?e.acknowledgement:new Uint8Array)),e.proofAcked!==void 0&&(t.proofAcked=(0,Si.base64FromBytes)(e.proofAcked!==void 0?e.proofAcked:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Xo.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=c8e();return e.packet!==void 0&&e.packet!==null&&(t.packet=Ns.Packet.fromPartial(e.packet)),t.acknowledgement=e.acknowledgement??new Uint8Array,t.proofAcked=e.proofAcked??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Xo.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function u8e(){return{result:0}}Ti.MsgAcknowledgementResponse={typeUrl:"/ibc.core.channel.v1.MsgAcknowledgementResponse",encode(e,t=Li.BinaryWriter.create()){return e.result!==0&&t.uint32(8).int32(e.result),t},decode(e,t){let r=e instanceof Li.BinaryReader?e:new Li.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=u8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=u8e();return(0,Si.isSet)(e.result)&&(t.result=tQ(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=rQ(e.result)),t},fromPartial(e){let t=u8e();return t.result=e.result??0,t}};var d8e=class{constructor(t){this.rpc=t,this.ChannelOpenInit=this.ChannelOpenInit.bind(this),this.ChannelOpenTry=this.ChannelOpenTry.bind(this),this.ChannelOpenAck=this.ChannelOpenAck.bind(this),this.ChannelOpenConfirm=this.ChannelOpenConfirm.bind(this),this.ChannelCloseInit=this.ChannelCloseInit.bind(this),this.ChannelCloseConfirm=this.ChannelCloseConfirm.bind(this),this.RecvPacket=this.RecvPacket.bind(this),this.Timeout=this.Timeout.bind(this),this.TimeoutOnClose=this.TimeoutOnClose.bind(this),this.Acknowledgement=this.Acknowledgement.bind(this)}ChannelOpenInit(t){let r=Ti.MsgChannelOpenInit.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelOpenInit",r).then(n=>Ti.MsgChannelOpenInitResponse.decode(new Li.BinaryReader(n)))}ChannelOpenTry(t){let r=Ti.MsgChannelOpenTry.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelOpenTry",r).then(n=>Ti.MsgChannelOpenTryResponse.decode(new Li.BinaryReader(n)))}ChannelOpenAck(t){let r=Ti.MsgChannelOpenAck.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelOpenAck",r).then(n=>Ti.MsgChannelOpenAckResponse.decode(new Li.BinaryReader(n)))}ChannelOpenConfirm(t){let r=Ti.MsgChannelOpenConfirm.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelOpenConfirm",r).then(n=>Ti.MsgChannelOpenConfirmResponse.decode(new Li.BinaryReader(n)))}ChannelCloseInit(t){let r=Ti.MsgChannelCloseInit.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelCloseInit",r).then(n=>Ti.MsgChannelCloseInitResponse.decode(new Li.BinaryReader(n)))}ChannelCloseConfirm(t){let r=Ti.MsgChannelCloseConfirm.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","ChannelCloseConfirm",r).then(n=>Ti.MsgChannelCloseConfirmResponse.decode(new Li.BinaryReader(n)))}RecvPacket(t){let r=Ti.MsgRecvPacket.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","RecvPacket",r).then(n=>Ti.MsgRecvPacketResponse.decode(new Li.BinaryReader(n)))}Timeout(t){let r=Ti.MsgTimeout.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","Timeout",r).then(n=>Ti.MsgTimeoutResponse.decode(new Li.BinaryReader(n)))}TimeoutOnClose(t){let r=Ti.MsgTimeoutOnClose.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","TimeoutOnClose",r).then(n=>Ti.MsgTimeoutOnCloseResponse.decode(new Li.BinaryReader(n)))}Acknowledgement(t){let r=Ti.MsgAcknowledgement.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Msg","Acknowledgement",r).then(n=>Ti.MsgAcknowledgementResponse.decode(new Li.BinaryReader(n)))}};Ti.MsgClientImpl=d8e});var $mt=ir(Uc=>{"use strict";J();K();z();Object.defineProperty(Uc,"__esModule",{value:!0});Uc.MsgClientImpl=Uc.MsgSubmitMisbehaviourResponse=Uc.MsgSubmitMisbehaviour=Uc.MsgUpgradeClientResponse=Uc.MsgUpgradeClient=Uc.MsgUpdateClientResponse=Uc.MsgUpdateClient=Uc.MsgCreateClientResponse=Uc.MsgCreateClient=Uc.protobufPackage=void 0;var Lc=ru(),vu=Qi(),Kf=Hi();Uc.protobufPackage="ibc.core.client.v1";function f8e(){return{clientState:void 0,consensusState:void 0,signer:""}}Uc.MsgCreateClient={typeUrl:"/ibc.core.client.v1.MsgCreateClient",encode(e,t=vu.BinaryWriter.create()){return e.clientState!==void 0&&Lc.Any.encode(e.clientState,t.uint32(10).fork()).ldelim(),e.consensusState!==void 0&&Lc.Any.encode(e.consensusState,t.uint32(18).fork()).ldelim(),e.signer!==""&&t.uint32(26).string(e.signer),t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=f8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientState=Lc.Any.decode(r,r.uint32());break;case 2:n.consensusState=Lc.Any.decode(r,r.uint32());break;case 3:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=f8e();return(0,Kf.isSet)(e.clientState)&&(t.clientState=Lc.Any.fromJSON(e.clientState)),(0,Kf.isSet)(e.consensusState)&&(t.consensusState=Lc.Any.fromJSON(e.consensusState)),(0,Kf.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.clientState!==void 0&&(t.clientState=e.clientState?Lc.Any.toJSON(e.clientState):void 0),e.consensusState!==void 0&&(t.consensusState=e.consensusState?Lc.Any.toJSON(e.consensusState):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=f8e();return e.clientState!==void 0&&e.clientState!==null&&(t.clientState=Lc.Any.fromPartial(e.clientState)),e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=Lc.Any.fromPartial(e.consensusState)),t.signer=e.signer??"",t}};function l8e(){return{}}Uc.MsgCreateClientResponse={typeUrl:"/ibc.core.client.v1.MsgCreateClientResponse",encode(e,t=vu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=l8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return l8e()},toJSON(e){return{}},fromPartial(e){return l8e()}};function h8e(){return{clientId:"",clientMessage:void 0,signer:""}}Uc.MsgUpdateClient={typeUrl:"/ibc.core.client.v1.MsgUpdateClient",encode(e,t=vu.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.clientMessage!==void 0&&Lc.Any.encode(e.clientMessage,t.uint32(18).fork()).ldelim(),e.signer!==""&&t.uint32(26).string(e.signer),t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=h8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.clientMessage=Lc.Any.decode(r,r.uint32());break;case 3:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=h8e();return(0,Kf.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Kf.isSet)(e.clientMessage)&&(t.clientMessage=Lc.Any.fromJSON(e.clientMessage)),(0,Kf.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.clientMessage!==void 0&&(t.clientMessage=e.clientMessage?Lc.Any.toJSON(e.clientMessage):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=h8e();return t.clientId=e.clientId??"",e.clientMessage!==void 0&&e.clientMessage!==null&&(t.clientMessage=Lc.Any.fromPartial(e.clientMessage)),t.signer=e.signer??"",t}};function A8e(){return{}}Uc.MsgUpdateClientResponse={typeUrl:"/ibc.core.client.v1.MsgUpdateClientResponse",encode(e,t=vu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=A8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return A8e()},toJSON(e){return{}},fromPartial(e){return A8e()}};function p8e(){return{clientId:"",clientState:void 0,consensusState:void 0,proofUpgradeClient:new Uint8Array,proofUpgradeConsensusState:new Uint8Array,signer:""}}Uc.MsgUpgradeClient={typeUrl:"/ibc.core.client.v1.MsgUpgradeClient",encode(e,t=vu.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.clientState!==void 0&&Lc.Any.encode(e.clientState,t.uint32(18).fork()).ldelim(),e.consensusState!==void 0&&Lc.Any.encode(e.consensusState,t.uint32(26).fork()).ldelim(),e.proofUpgradeClient.length!==0&&t.uint32(34).bytes(e.proofUpgradeClient),e.proofUpgradeConsensusState.length!==0&&t.uint32(42).bytes(e.proofUpgradeConsensusState),e.signer!==""&&t.uint32(50).string(e.signer),t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=p8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.clientState=Lc.Any.decode(r,r.uint32());break;case 3:n.consensusState=Lc.Any.decode(r,r.uint32());break;case 4:n.proofUpgradeClient=r.bytes();break;case 5:n.proofUpgradeConsensusState=r.bytes();break;case 6:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=p8e();return(0,Kf.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Kf.isSet)(e.clientState)&&(t.clientState=Lc.Any.fromJSON(e.clientState)),(0,Kf.isSet)(e.consensusState)&&(t.consensusState=Lc.Any.fromJSON(e.consensusState)),(0,Kf.isSet)(e.proofUpgradeClient)&&(t.proofUpgradeClient=(0,Kf.bytesFromBase64)(e.proofUpgradeClient)),(0,Kf.isSet)(e.proofUpgradeConsensusState)&&(t.proofUpgradeConsensusState=(0,Kf.bytesFromBase64)(e.proofUpgradeConsensusState)),(0,Kf.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.clientState!==void 0&&(t.clientState=e.clientState?Lc.Any.toJSON(e.clientState):void 0),e.consensusState!==void 0&&(t.consensusState=e.consensusState?Lc.Any.toJSON(e.consensusState):void 0),e.proofUpgradeClient!==void 0&&(t.proofUpgradeClient=(0,Kf.base64FromBytes)(e.proofUpgradeClient!==void 0?e.proofUpgradeClient:new Uint8Array)),e.proofUpgradeConsensusState!==void 0&&(t.proofUpgradeConsensusState=(0,Kf.base64FromBytes)(e.proofUpgradeConsensusState!==void 0?e.proofUpgradeConsensusState:new Uint8Array)),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=p8e();return t.clientId=e.clientId??"",e.clientState!==void 0&&e.clientState!==null&&(t.clientState=Lc.Any.fromPartial(e.clientState)),e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=Lc.Any.fromPartial(e.consensusState)),t.proofUpgradeClient=e.proofUpgradeClient??new Uint8Array,t.proofUpgradeConsensusState=e.proofUpgradeConsensusState??new Uint8Array,t.signer=e.signer??"",t}};function g8e(){return{}}Uc.MsgUpgradeClientResponse={typeUrl:"/ibc.core.client.v1.MsgUpgradeClientResponse",encode(e,t=vu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=g8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return g8e()},toJSON(e){return{}},fromPartial(e){return g8e()}};function _8e(){return{clientId:"",misbehaviour:void 0,signer:""}}Uc.MsgSubmitMisbehaviour={typeUrl:"/ibc.core.client.v1.MsgSubmitMisbehaviour",encode(e,t=vu.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.misbehaviour!==void 0&&Lc.Any.encode(e.misbehaviour,t.uint32(18).fork()).ldelim(),e.signer!==""&&t.uint32(26).string(e.signer),t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.misbehaviour=Lc.Any.decode(r,r.uint32());break;case 3:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_8e();return(0,Kf.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Kf.isSet)(e.misbehaviour)&&(t.misbehaviour=Lc.Any.fromJSON(e.misbehaviour)),(0,Kf.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.misbehaviour!==void 0&&(t.misbehaviour=e.misbehaviour?Lc.Any.toJSON(e.misbehaviour):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=_8e();return t.clientId=e.clientId??"",e.misbehaviour!==void 0&&e.misbehaviour!==null&&(t.misbehaviour=Lc.Any.fromPartial(e.misbehaviour)),t.signer=e.signer??"",t}};function m8e(){return{}}Uc.MsgSubmitMisbehaviourResponse={typeUrl:"/ibc.core.client.v1.MsgSubmitMisbehaviourResponse",encode(e,t=vu.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof vu.BinaryReader?e:new vu.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=m8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return m8e()},toJSON(e){return{}},fromPartial(e){return m8e()}};var y8e=class{constructor(t){this.rpc=t,this.CreateClient=this.CreateClient.bind(this),this.UpdateClient=this.UpdateClient.bind(this),this.UpgradeClient=this.UpgradeClient.bind(this),this.SubmitMisbehaviour=this.SubmitMisbehaviour.bind(this)}CreateClient(t){let r=Uc.MsgCreateClient.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Msg","CreateClient",r).then(n=>Uc.MsgCreateClientResponse.decode(new vu.BinaryReader(n)))}UpdateClient(t){let r=Uc.MsgUpdateClient.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Msg","UpdateClient",r).then(n=>Uc.MsgUpdateClientResponse.decode(new vu.BinaryReader(n)))}UpgradeClient(t){let r=Uc.MsgUpgradeClient.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Msg","UpgradeClient",r).then(n=>Uc.MsgUpgradeClientResponse.decode(new vu.BinaryReader(n)))}SubmitMisbehaviour(t){let r=Uc.MsgSubmitMisbehaviour.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Msg","SubmitMisbehaviour",r).then(n=>Uc.MsgSubmitMisbehaviourResponse.decode(new vu.BinaryReader(n)))}};Uc.MsgClientImpl=y8e});var M8e=ir(gn=>{"use strict";J();K();z();Object.defineProperty(gn,"__esModule",{value:!0});gn.CompressedNonExistenceProof=gn.CompressedExistenceProof=gn.CompressedBatchEntry=gn.CompressedBatchProof=gn.BatchEntry=gn.BatchProof=gn.InnerSpec=gn.ProofSpec=gn.InnerOp=gn.LeafOp=gn.CommitmentProof=gn.NonExistenceProof=gn.ExistenceProof=gn.lengthOpToJSON=gn.lengthOpFromJSON=gn.LengthOp=gn.hashOpToJSON=gn.hashOpFromJSON=gn.HashOp=gn.protobufPackage=void 0;var os=Qi(),mo=Hi();gn.protobufPackage="cosmos.ics23.v1";var Bl;(function(e){e[e.NO_HASH=0]="NO_HASH",e[e.SHA256=1]="SHA256",e[e.SHA512=2]="SHA512",e[e.KECCAK=3]="KECCAK",e[e.RIPEMD160=4]="RIPEMD160",e[e.BITCOIN=5]="BITCOIN",e[e.SHA512_256=6]="SHA512_256",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(Bl||(gn.HashOp=Bl={}));function f9(e){switch(e){case 0:case"NO_HASH":return Bl.NO_HASH;case 1:case"SHA256":return Bl.SHA256;case 2:case"SHA512":return Bl.SHA512;case 3:case"KECCAK":return Bl.KECCAK;case 4:case"RIPEMD160":return Bl.RIPEMD160;case 5:case"BITCOIN":return Bl.BITCOIN;case 6:case"SHA512_256":return Bl.SHA512_256;default:return Bl.UNRECOGNIZED}}gn.hashOpFromJSON=f9;function l9(e){switch(e){case Bl.NO_HASH:return"NO_HASH";case Bl.SHA256:return"SHA256";case Bl.SHA512:return"SHA512";case Bl.KECCAK:return"KECCAK";case Bl.RIPEMD160:return"RIPEMD160";case Bl.BITCOIN:return"BITCOIN";case Bl.SHA512_256:return"SHA512_256";case Bl.UNRECOGNIZED:default:return"UNRECOGNIZED"}}gn.hashOpToJSON=l9;var md;(function(e){e[e.NO_PREFIX=0]="NO_PREFIX",e[e.VAR_PROTO=1]="VAR_PROTO",e[e.VAR_RLP=2]="VAR_RLP",e[e.FIXED32_BIG=3]="FIXED32_BIG",e[e.FIXED32_LITTLE=4]="FIXED32_LITTLE",e[e.FIXED64_BIG=5]="FIXED64_BIG",e[e.FIXED64_LITTLE=6]="FIXED64_LITTLE",e[e.REQUIRE_32_BYTES=7]="REQUIRE_32_BYTES",e[e.REQUIRE_64_BYTES=8]="REQUIRE_64_BYTES",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(md||(gn.LengthOp=md={}));function Ymt(e){switch(e){case 0:case"NO_PREFIX":return md.NO_PREFIX;case 1:case"VAR_PROTO":return md.VAR_PROTO;case 2:case"VAR_RLP":return md.VAR_RLP;case 3:case"FIXED32_BIG":return md.FIXED32_BIG;case 4:case"FIXED32_LITTLE":return md.FIXED32_LITTLE;case 5:case"FIXED64_BIG":return md.FIXED64_BIG;case 6:case"FIXED64_LITTLE":return md.FIXED64_LITTLE;case 7:case"REQUIRE_32_BYTES":return md.REQUIRE_32_BYTES;case 8:case"REQUIRE_64_BYTES":return md.REQUIRE_64_BYTES;default:return md.UNRECOGNIZED}}gn.lengthOpFromJSON=Ymt;function Wmt(e){switch(e){case md.NO_PREFIX:return"NO_PREFIX";case md.VAR_PROTO:return"VAR_PROTO";case md.VAR_RLP:return"VAR_RLP";case md.FIXED32_BIG:return"FIXED32_BIG";case md.FIXED32_LITTLE:return"FIXED32_LITTLE";case md.FIXED64_BIG:return"FIXED64_BIG";case md.FIXED64_LITTLE:return"FIXED64_LITTLE";case md.REQUIRE_32_BYTES:return"REQUIRE_32_BYTES";case md.REQUIRE_64_BYTES:return"REQUIRE_64_BYTES";case md.UNRECOGNIZED:default:return"UNRECOGNIZED"}}gn.lengthOpToJSON=Wmt;function b8e(){return{key:new Uint8Array,value:new Uint8Array,leaf:void 0,path:[]}}gn.ExistenceProof={typeUrl:"/cosmos.ics23.v1.ExistenceProof",encode(e,t=os.BinaryWriter.create()){e.key.length!==0&&t.uint32(10).bytes(e.key),e.value.length!==0&&t.uint32(18).bytes(e.value),e.leaf!==void 0&&gn.LeafOp.encode(e.leaf,t.uint32(26).fork()).ldelim();for(let r of e.path)gn.InnerOp.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=b8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.value=r.bytes();break;case 3:n.leaf=gn.LeafOp.decode(r,r.uint32());break;case 4:n.path.push(gn.InnerOp.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=b8e();return(0,mo.isSet)(e.key)&&(t.key=(0,mo.bytesFromBase64)(e.key)),(0,mo.isSet)(e.value)&&(t.value=(0,mo.bytesFromBase64)(e.value)),(0,mo.isSet)(e.leaf)&&(t.leaf=gn.LeafOp.fromJSON(e.leaf)),Array.isArray(e?.path)&&(t.path=e.path.map(r=>gn.InnerOp.fromJSON(r))),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,mo.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.value!==void 0&&(t.value=(0,mo.base64FromBytes)(e.value!==void 0?e.value:new Uint8Array)),e.leaf!==void 0&&(t.leaf=e.leaf?gn.LeafOp.toJSON(e.leaf):void 0),e.path?t.path=e.path.map(r=>r?gn.InnerOp.toJSON(r):void 0):t.path=[],t},fromPartial(e){let t=b8e();return t.key=e.key??new Uint8Array,t.value=e.value??new Uint8Array,e.leaf!==void 0&&e.leaf!==null&&(t.leaf=gn.LeafOp.fromPartial(e.leaf)),t.path=e.path?.map(r=>gn.InnerOp.fromPartial(r))||[],t}};function E8e(){return{key:new Uint8Array,left:void 0,right:void 0}}gn.NonExistenceProof={typeUrl:"/cosmos.ics23.v1.NonExistenceProof",encode(e,t=os.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),e.left!==void 0&&gn.ExistenceProof.encode(e.left,t.uint32(18).fork()).ldelim(),e.right!==void 0&&gn.ExistenceProof.encode(e.right,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=E8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.left=gn.ExistenceProof.decode(r,r.uint32());break;case 3:n.right=gn.ExistenceProof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=E8e();return(0,mo.isSet)(e.key)&&(t.key=(0,mo.bytesFromBase64)(e.key)),(0,mo.isSet)(e.left)&&(t.left=gn.ExistenceProof.fromJSON(e.left)),(0,mo.isSet)(e.right)&&(t.right=gn.ExistenceProof.fromJSON(e.right)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,mo.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.left!==void 0&&(t.left=e.left?gn.ExistenceProof.toJSON(e.left):void 0),e.right!==void 0&&(t.right=e.right?gn.ExistenceProof.toJSON(e.right):void 0),t},fromPartial(e){let t=E8e();return t.key=e.key??new Uint8Array,e.left!==void 0&&e.left!==null&&(t.left=gn.ExistenceProof.fromPartial(e.left)),e.right!==void 0&&e.right!==null&&(t.right=gn.ExistenceProof.fromPartial(e.right)),t}};function v8e(){return{exist:void 0,nonexist:void 0,batch:void 0,compressed:void 0}}gn.CommitmentProof={typeUrl:"/cosmos.ics23.v1.CommitmentProof",encode(e,t=os.BinaryWriter.create()){return e.exist!==void 0&&gn.ExistenceProof.encode(e.exist,t.uint32(10).fork()).ldelim(),e.nonexist!==void 0&&gn.NonExistenceProof.encode(e.nonexist,t.uint32(18).fork()).ldelim(),e.batch!==void 0&&gn.BatchProof.encode(e.batch,t.uint32(26).fork()).ldelim(),e.compressed!==void 0&&gn.CompressedBatchProof.encode(e.compressed,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=v8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.exist=gn.ExistenceProof.decode(r,r.uint32());break;case 2:n.nonexist=gn.NonExistenceProof.decode(r,r.uint32());break;case 3:n.batch=gn.BatchProof.decode(r,r.uint32());break;case 4:n.compressed=gn.CompressedBatchProof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=v8e();return(0,mo.isSet)(e.exist)&&(t.exist=gn.ExistenceProof.fromJSON(e.exist)),(0,mo.isSet)(e.nonexist)&&(t.nonexist=gn.NonExistenceProof.fromJSON(e.nonexist)),(0,mo.isSet)(e.batch)&&(t.batch=gn.BatchProof.fromJSON(e.batch)),(0,mo.isSet)(e.compressed)&&(t.compressed=gn.CompressedBatchProof.fromJSON(e.compressed)),t},toJSON(e){let t={};return e.exist!==void 0&&(t.exist=e.exist?gn.ExistenceProof.toJSON(e.exist):void 0),e.nonexist!==void 0&&(t.nonexist=e.nonexist?gn.NonExistenceProof.toJSON(e.nonexist):void 0),e.batch!==void 0&&(t.batch=e.batch?gn.BatchProof.toJSON(e.batch):void 0),e.compressed!==void 0&&(t.compressed=e.compressed?gn.CompressedBatchProof.toJSON(e.compressed):void 0),t},fromPartial(e){let t=v8e();return e.exist!==void 0&&e.exist!==null&&(t.exist=gn.ExistenceProof.fromPartial(e.exist)),e.nonexist!==void 0&&e.nonexist!==null&&(t.nonexist=gn.NonExistenceProof.fromPartial(e.nonexist)),e.batch!==void 0&&e.batch!==null&&(t.batch=gn.BatchProof.fromPartial(e.batch)),e.compressed!==void 0&&e.compressed!==null&&(t.compressed=gn.CompressedBatchProof.fromPartial(e.compressed)),t}};function R8e(){return{hash:0,prehashKey:0,prehashValue:0,length:0,prefix:new Uint8Array}}gn.LeafOp={typeUrl:"/cosmos.ics23.v1.LeafOp",encode(e,t=os.BinaryWriter.create()){return e.hash!==0&&t.uint32(8).int32(e.hash),e.prehashKey!==0&&t.uint32(16).int32(e.prehashKey),e.prehashValue!==0&&t.uint32(24).int32(e.prehashValue),e.length!==0&&t.uint32(32).int32(e.length),e.prefix.length!==0&&t.uint32(42).bytes(e.prefix),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=R8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.hash=r.int32();break;case 2:n.prehashKey=r.int32();break;case 3:n.prehashValue=r.int32();break;case 4:n.length=r.int32();break;case 5:n.prefix=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=R8e();return(0,mo.isSet)(e.hash)&&(t.hash=f9(e.hash)),(0,mo.isSet)(e.prehashKey)&&(t.prehashKey=f9(e.prehashKey)),(0,mo.isSet)(e.prehashValue)&&(t.prehashValue=f9(e.prehashValue)),(0,mo.isSet)(e.length)&&(t.length=Ymt(e.length)),(0,mo.isSet)(e.prefix)&&(t.prefix=(0,mo.bytesFromBase64)(e.prefix)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=l9(e.hash)),e.prehashKey!==void 0&&(t.prehashKey=l9(e.prehashKey)),e.prehashValue!==void 0&&(t.prehashValue=l9(e.prehashValue)),e.length!==void 0&&(t.length=Wmt(e.length)),e.prefix!==void 0&&(t.prefix=(0,mo.base64FromBytes)(e.prefix!==void 0?e.prefix:new Uint8Array)),t},fromPartial(e){let t=R8e();return t.hash=e.hash??0,t.prehashKey=e.prehashKey??0,t.prehashValue=e.prehashValue??0,t.length=e.length??0,t.prefix=e.prefix??new Uint8Array,t}};function S8e(){return{hash:0,prefix:new Uint8Array,suffix:new Uint8Array}}gn.InnerOp={typeUrl:"/cosmos.ics23.v1.InnerOp",encode(e,t=os.BinaryWriter.create()){return e.hash!==0&&t.uint32(8).int32(e.hash),e.prefix.length!==0&&t.uint32(18).bytes(e.prefix),e.suffix.length!==0&&t.uint32(26).bytes(e.suffix),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=S8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.hash=r.int32();break;case 2:n.prefix=r.bytes();break;case 3:n.suffix=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=S8e();return(0,mo.isSet)(e.hash)&&(t.hash=f9(e.hash)),(0,mo.isSet)(e.prefix)&&(t.prefix=(0,mo.bytesFromBase64)(e.prefix)),(0,mo.isSet)(e.suffix)&&(t.suffix=(0,mo.bytesFromBase64)(e.suffix)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=l9(e.hash)),e.prefix!==void 0&&(t.prefix=(0,mo.base64FromBytes)(e.prefix!==void 0?e.prefix:new Uint8Array)),e.suffix!==void 0&&(t.suffix=(0,mo.base64FromBytes)(e.suffix!==void 0?e.suffix:new Uint8Array)),t},fromPartial(e){let t=S8e();return t.hash=e.hash??0,t.prefix=e.prefix??new Uint8Array,t.suffix=e.suffix??new Uint8Array,t}};function I8e(){return{leafSpec:void 0,innerSpec:void 0,maxDepth:0,minDepth:0}}gn.ProofSpec={typeUrl:"/cosmos.ics23.v1.ProofSpec",encode(e,t=os.BinaryWriter.create()){return e.leafSpec!==void 0&&gn.LeafOp.encode(e.leafSpec,t.uint32(10).fork()).ldelim(),e.innerSpec!==void 0&&gn.InnerSpec.encode(e.innerSpec,t.uint32(18).fork()).ldelim(),e.maxDepth!==0&&t.uint32(24).int32(e.maxDepth),e.minDepth!==0&&t.uint32(32).int32(e.minDepth),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=I8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.leafSpec=gn.LeafOp.decode(r,r.uint32());break;case 2:n.innerSpec=gn.InnerSpec.decode(r,r.uint32());break;case 3:n.maxDepth=r.int32();break;case 4:n.minDepth=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=I8e();return(0,mo.isSet)(e.leafSpec)&&(t.leafSpec=gn.LeafOp.fromJSON(e.leafSpec)),(0,mo.isSet)(e.innerSpec)&&(t.innerSpec=gn.InnerSpec.fromJSON(e.innerSpec)),(0,mo.isSet)(e.maxDepth)&&(t.maxDepth=Number(e.maxDepth)),(0,mo.isSet)(e.minDepth)&&(t.minDepth=Number(e.minDepth)),t},toJSON(e){let t={};return e.leafSpec!==void 0&&(t.leafSpec=e.leafSpec?gn.LeafOp.toJSON(e.leafSpec):void 0),e.innerSpec!==void 0&&(t.innerSpec=e.innerSpec?gn.InnerSpec.toJSON(e.innerSpec):void 0),e.maxDepth!==void 0&&(t.maxDepth=Math.round(e.maxDepth)),e.minDepth!==void 0&&(t.minDepth=Math.round(e.minDepth)),t},fromPartial(e){let t=I8e();return e.leafSpec!==void 0&&e.leafSpec!==null&&(t.leafSpec=gn.LeafOp.fromPartial(e.leafSpec)),e.innerSpec!==void 0&&e.innerSpec!==null&&(t.innerSpec=gn.InnerSpec.fromPartial(e.innerSpec)),t.maxDepth=e.maxDepth??0,t.minDepth=e.minDepth??0,t}};function C8e(){return{childOrder:[],childSize:0,minPrefixLength:0,maxPrefixLength:0,emptyChild:new Uint8Array,hash:0}}gn.InnerSpec={typeUrl:"/cosmos.ics23.v1.InnerSpec",encode(e,t=os.BinaryWriter.create()){t.uint32(10).fork();for(let r of e.childOrder)t.int32(r);return t.ldelim(),e.childSize!==0&&t.uint32(16).int32(e.childSize),e.minPrefixLength!==0&&t.uint32(24).int32(e.minPrefixLength),e.maxPrefixLength!==0&&t.uint32(32).int32(e.maxPrefixLength),e.emptyChild.length!==0&&t.uint32(42).bytes(e.emptyChild),e.hash!==0&&t.uint32(48).int32(e.hash),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=C8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.childOrder.push(r.int32())}else n.childOrder.push(r.int32());break;case 2:n.childSize=r.int32();break;case 3:n.minPrefixLength=r.int32();break;case 4:n.maxPrefixLength=r.int32();break;case 5:n.emptyChild=r.bytes();break;case 6:n.hash=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=C8e();return Array.isArray(e?.childOrder)&&(t.childOrder=e.childOrder.map(r=>Number(r))),(0,mo.isSet)(e.childSize)&&(t.childSize=Number(e.childSize)),(0,mo.isSet)(e.minPrefixLength)&&(t.minPrefixLength=Number(e.minPrefixLength)),(0,mo.isSet)(e.maxPrefixLength)&&(t.maxPrefixLength=Number(e.maxPrefixLength)),(0,mo.isSet)(e.emptyChild)&&(t.emptyChild=(0,mo.bytesFromBase64)(e.emptyChild)),(0,mo.isSet)(e.hash)&&(t.hash=f9(e.hash)),t},toJSON(e){let t={};return e.childOrder?t.childOrder=e.childOrder.map(r=>Math.round(r)):t.childOrder=[],e.childSize!==void 0&&(t.childSize=Math.round(e.childSize)),e.minPrefixLength!==void 0&&(t.minPrefixLength=Math.round(e.minPrefixLength)),e.maxPrefixLength!==void 0&&(t.maxPrefixLength=Math.round(e.maxPrefixLength)),e.emptyChild!==void 0&&(t.emptyChild=(0,mo.base64FromBytes)(e.emptyChild!==void 0?e.emptyChild:new Uint8Array)),e.hash!==void 0&&(t.hash=l9(e.hash)),t},fromPartial(e){let t=C8e();return t.childOrder=e.childOrder?.map(r=>r)||[],t.childSize=e.childSize??0,t.minPrefixLength=e.minPrefixLength??0,t.maxPrefixLength=e.maxPrefixLength??0,t.emptyChild=e.emptyChild??new Uint8Array,t.hash=e.hash??0,t}};function w8e(){return{entries:[]}}gn.BatchProof={typeUrl:"/cosmos.ics23.v1.BatchProof",encode(e,t=os.BinaryWriter.create()){for(let r of e.entries)gn.BatchEntry.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=w8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.entries.push(gn.BatchEntry.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=w8e();return Array.isArray(e?.entries)&&(t.entries=e.entries.map(r=>gn.BatchEntry.fromJSON(r))),t},toJSON(e){let t={};return e.entries?t.entries=e.entries.map(r=>r?gn.BatchEntry.toJSON(r):void 0):t.entries=[],t},fromPartial(e){let t=w8e();return t.entries=e.entries?.map(r=>gn.BatchEntry.fromPartial(r))||[],t}};function O8e(){return{exist:void 0,nonexist:void 0}}gn.BatchEntry={typeUrl:"/cosmos.ics23.v1.BatchEntry",encode(e,t=os.BinaryWriter.create()){return e.exist!==void 0&&gn.ExistenceProof.encode(e.exist,t.uint32(10).fork()).ldelim(),e.nonexist!==void 0&&gn.NonExistenceProof.encode(e.nonexist,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=O8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.exist=gn.ExistenceProof.decode(r,r.uint32());break;case 2:n.nonexist=gn.NonExistenceProof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=O8e();return(0,mo.isSet)(e.exist)&&(t.exist=gn.ExistenceProof.fromJSON(e.exist)),(0,mo.isSet)(e.nonexist)&&(t.nonexist=gn.NonExistenceProof.fromJSON(e.nonexist)),t},toJSON(e){let t={};return e.exist!==void 0&&(t.exist=e.exist?gn.ExistenceProof.toJSON(e.exist):void 0),e.nonexist!==void 0&&(t.nonexist=e.nonexist?gn.NonExistenceProof.toJSON(e.nonexist):void 0),t},fromPartial(e){let t=O8e();return e.exist!==void 0&&e.exist!==null&&(t.exist=gn.ExistenceProof.fromPartial(e.exist)),e.nonexist!==void 0&&e.nonexist!==null&&(t.nonexist=gn.NonExistenceProof.fromPartial(e.nonexist)),t}};function N8e(){return{entries:[],lookupInners:[]}}gn.CompressedBatchProof={typeUrl:"/cosmos.ics23.v1.CompressedBatchProof",encode(e,t=os.BinaryWriter.create()){for(let r of e.entries)gn.CompressedBatchEntry.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.lookupInners)gn.InnerOp.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=N8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.entries.push(gn.CompressedBatchEntry.decode(r,r.uint32()));break;case 2:n.lookupInners.push(gn.InnerOp.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=N8e();return Array.isArray(e?.entries)&&(t.entries=e.entries.map(r=>gn.CompressedBatchEntry.fromJSON(r))),Array.isArray(e?.lookupInners)&&(t.lookupInners=e.lookupInners.map(r=>gn.InnerOp.fromJSON(r))),t},toJSON(e){let t={};return e.entries?t.entries=e.entries.map(r=>r?gn.CompressedBatchEntry.toJSON(r):void 0):t.entries=[],e.lookupInners?t.lookupInners=e.lookupInners.map(r=>r?gn.InnerOp.toJSON(r):void 0):t.lookupInners=[],t},fromPartial(e){let t=N8e();return t.entries=e.entries?.map(r=>gn.CompressedBatchEntry.fromPartial(r))||[],t.lookupInners=e.lookupInners?.map(r=>gn.InnerOp.fromPartial(r))||[],t}};function x8e(){return{exist:void 0,nonexist:void 0}}gn.CompressedBatchEntry={typeUrl:"/cosmos.ics23.v1.CompressedBatchEntry",encode(e,t=os.BinaryWriter.create()){return e.exist!==void 0&&gn.CompressedExistenceProof.encode(e.exist,t.uint32(10).fork()).ldelim(),e.nonexist!==void 0&&gn.CompressedNonExistenceProof.encode(e.nonexist,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=x8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.exist=gn.CompressedExistenceProof.decode(r,r.uint32());break;case 2:n.nonexist=gn.CompressedNonExistenceProof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=x8e();return(0,mo.isSet)(e.exist)&&(t.exist=gn.CompressedExistenceProof.fromJSON(e.exist)),(0,mo.isSet)(e.nonexist)&&(t.nonexist=gn.CompressedNonExistenceProof.fromJSON(e.nonexist)),t},toJSON(e){let t={};return e.exist!==void 0&&(t.exist=e.exist?gn.CompressedExistenceProof.toJSON(e.exist):void 0),e.nonexist!==void 0&&(t.nonexist=e.nonexist?gn.CompressedNonExistenceProof.toJSON(e.nonexist):void 0),t},fromPartial(e){let t=x8e();return e.exist!==void 0&&e.exist!==null&&(t.exist=gn.CompressedExistenceProof.fromPartial(e.exist)),e.nonexist!==void 0&&e.nonexist!==null&&(t.nonexist=gn.CompressedNonExistenceProof.fromPartial(e.nonexist)),t}};function T8e(){return{key:new Uint8Array,value:new Uint8Array,leaf:void 0,path:[]}}gn.CompressedExistenceProof={typeUrl:"/cosmos.ics23.v1.CompressedExistenceProof",encode(e,t=os.BinaryWriter.create()){e.key.length!==0&&t.uint32(10).bytes(e.key),e.value.length!==0&&t.uint32(18).bytes(e.value),e.leaf!==void 0&&gn.LeafOp.encode(e.leaf,t.uint32(26).fork()).ldelim(),t.uint32(34).fork();for(let r of e.path)t.int32(r);return t.ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=T8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.value=r.bytes();break;case 3:n.leaf=gn.LeafOp.decode(r,r.uint32());break;case 4:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.path.push(r.int32())}else n.path.push(r.int32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=T8e();return(0,mo.isSet)(e.key)&&(t.key=(0,mo.bytesFromBase64)(e.key)),(0,mo.isSet)(e.value)&&(t.value=(0,mo.bytesFromBase64)(e.value)),(0,mo.isSet)(e.leaf)&&(t.leaf=gn.LeafOp.fromJSON(e.leaf)),Array.isArray(e?.path)&&(t.path=e.path.map(r=>Number(r))),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,mo.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.value!==void 0&&(t.value=(0,mo.base64FromBytes)(e.value!==void 0?e.value:new Uint8Array)),e.leaf!==void 0&&(t.leaf=e.leaf?gn.LeafOp.toJSON(e.leaf):void 0),e.path?t.path=e.path.map(r=>Math.round(r)):t.path=[],t},fromPartial(e){let t=T8e();return t.key=e.key??new Uint8Array,t.value=e.value??new Uint8Array,e.leaf!==void 0&&e.leaf!==null&&(t.leaf=gn.LeafOp.fromPartial(e.leaf)),t.path=e.path?.map(r=>r)||[],t}};function B8e(){return{key:new Uint8Array,left:void 0,right:void 0}}gn.CompressedNonExistenceProof={typeUrl:"/cosmos.ics23.v1.CompressedNonExistenceProof",encode(e,t=os.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),e.left!==void 0&&gn.CompressedExistenceProof.encode(e.left,t.uint32(18).fork()).ldelim(),e.right!==void 0&&gn.CompressedExistenceProof.encode(e.right,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof os.BinaryReader?e:new os.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=B8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.left=gn.CompressedExistenceProof.decode(r,r.uint32());break;case 3:n.right=gn.CompressedExistenceProof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=B8e();return(0,mo.isSet)(e.key)&&(t.key=(0,mo.bytesFromBase64)(e.key)),(0,mo.isSet)(e.left)&&(t.left=gn.CompressedExistenceProof.fromJSON(e.left)),(0,mo.isSet)(e.right)&&(t.right=gn.CompressedExistenceProof.fromJSON(e.right)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,mo.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.left!==void 0&&(t.left=e.left?gn.CompressedExistenceProof.toJSON(e.left):void 0),e.right!==void 0&&(t.right=e.right?gn.CompressedExistenceProof.toJSON(e.right):void 0),t},fromPartial(e){let t=B8e();return t.key=e.key??new Uint8Array,e.left!==void 0&&e.left!==null&&(t.left=gn.CompressedExistenceProof.fromPartial(e.left)),e.right!==void 0&&e.right!==null&&(t.right=gn.CompressedExistenceProof.fromPartial(e.right)),t}}});var U8e=ir(B2=>{"use strict";J();K();z();Object.defineProperty(B2,"__esModule",{value:!0});B2.MerkleProof=B2.MerklePath=B2.MerklePrefix=B2.MerkleRoot=B2.protobufPackage=void 0;var nQ=M8e(),M2=Qi(),h9=Hi();B2.protobufPackage="ibc.core.commitment.v1";function D8e(){return{hash:new Uint8Array}}B2.MerkleRoot={typeUrl:"/ibc.core.commitment.v1.MerkleRoot",encode(e,t=M2.BinaryWriter.create()){return e.hash.length!==0&&t.uint32(10).bytes(e.hash),t},decode(e,t){let r=e instanceof M2.BinaryReader?e:new M2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=D8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.hash=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=D8e();return(0,h9.isSet)(e.hash)&&(t.hash=(0,h9.bytesFromBase64)(e.hash)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=(0,h9.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),t},fromPartial(e){let t=D8e();return t.hash=e.hash??new Uint8Array,t}};function k8e(){return{keyPrefix:new Uint8Array}}B2.MerklePrefix={typeUrl:"/ibc.core.commitment.v1.MerklePrefix",encode(e,t=M2.BinaryWriter.create()){return e.keyPrefix.length!==0&&t.uint32(10).bytes(e.keyPrefix),t},decode(e,t){let r=e instanceof M2.BinaryReader?e:new M2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=k8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.keyPrefix=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=k8e();return(0,h9.isSet)(e.keyPrefix)&&(t.keyPrefix=(0,h9.bytesFromBase64)(e.keyPrefix)),t},toJSON(e){let t={};return e.keyPrefix!==void 0&&(t.keyPrefix=(0,h9.base64FromBytes)(e.keyPrefix!==void 0?e.keyPrefix:new Uint8Array)),t},fromPartial(e){let t=k8e();return t.keyPrefix=e.keyPrefix??new Uint8Array,t}};function P8e(){return{keyPath:[]}}B2.MerklePath={typeUrl:"/ibc.core.commitment.v1.MerklePath",encode(e,t=M2.BinaryWriter.create()){for(let r of e.keyPath)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof M2.BinaryReader?e:new M2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=P8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.keyPath.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=P8e();return Array.isArray(e?.keyPath)&&(t.keyPath=e.keyPath.map(r=>String(r))),t},toJSON(e){let t={};return e.keyPath?t.keyPath=e.keyPath.map(r=>r):t.keyPath=[],t},fromPartial(e){let t=P8e();return t.keyPath=e.keyPath?.map(r=>r)||[],t}};function L8e(){return{proofs:[]}}B2.MerkleProof={typeUrl:"/ibc.core.commitment.v1.MerkleProof",encode(e,t=M2.BinaryWriter.create()){for(let r of e.proofs)nQ.CommitmentProof.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof M2.BinaryReader?e:new M2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=L8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.proofs.push(nQ.CommitmentProof.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=L8e();return Array.isArray(e?.proofs)&&(t.proofs=e.proofs.map(r=>nQ.CommitmentProof.fromJSON(r))),t},toJSON(e){let t={};return e.proofs?t.proofs=e.proofs.map(r=>r?nQ.CommitmentProof.toJSON(r):void 0):t.proofs=[],t},fromPartial(e){let t=L8e();return t.proofs=e.proofs?.map(r=>nQ.CommitmentProof.fromPartial(r))||[],t}}});var $8e=ir(oa=>{"use strict";J();K();z();Object.defineProperty(oa,"__esModule",{value:!0});oa.Params=oa.Version=oa.ConnectionPaths=oa.ClientPaths=oa.Counterparty=oa.IdentifiedConnection=oa.ConnectionEnd=oa.stateToJSON=oa.stateFromJSON=oa.State=oa.protobufPackage=void 0;var A9=U8e(),Kd=Qi(),sp=Hi();oa.protobufPackage="ibc.core.connection.v1";var D2;(function(e){e[e.STATE_UNINITIALIZED_UNSPECIFIED=0]="STATE_UNINITIALIZED_UNSPECIFIED",e[e.STATE_INIT=1]="STATE_INIT",e[e.STATE_TRYOPEN=2]="STATE_TRYOPEN",e[e.STATE_OPEN=3]="STATE_OPEN",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(D2||(oa.State=D2={}));function z8e(e){switch(e){case 0:case"STATE_UNINITIALIZED_UNSPECIFIED":return D2.STATE_UNINITIALIZED_UNSPECIFIED;case 1:case"STATE_INIT":return D2.STATE_INIT;case 2:case"STATE_TRYOPEN":return D2.STATE_TRYOPEN;case 3:case"STATE_OPEN":return D2.STATE_OPEN;default:return D2.UNRECOGNIZED}}oa.stateFromJSON=z8e;function K8e(e){switch(e){case D2.STATE_UNINITIALIZED_UNSPECIFIED:return"STATE_UNINITIALIZED_UNSPECIFIED";case D2.STATE_INIT:return"STATE_INIT";case D2.STATE_TRYOPEN:return"STATE_TRYOPEN";case D2.STATE_OPEN:return"STATE_OPEN";case D2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}oa.stateToJSON=K8e;function F8e(){return{clientId:"",versions:[],state:0,counterparty:oa.Counterparty.fromPartial({}),delayPeriod:BigInt(0)}}oa.ConnectionEnd={typeUrl:"/ibc.core.connection.v1.ConnectionEnd",encode(e,t=Kd.BinaryWriter.create()){e.clientId!==""&&t.uint32(10).string(e.clientId);for(let r of e.versions)oa.Version.encode(r,t.uint32(18).fork()).ldelim();return e.state!==0&&t.uint32(24).int32(e.state),e.counterparty!==void 0&&oa.Counterparty.encode(e.counterparty,t.uint32(34).fork()).ldelim(),e.delayPeriod!==BigInt(0)&&t.uint32(40).uint64(e.delayPeriod),t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=F8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.versions.push(oa.Version.decode(r,r.uint32()));break;case 3:n.state=r.int32();break;case 4:n.counterparty=oa.Counterparty.decode(r,r.uint32());break;case 5:n.delayPeriod=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=F8e();return(0,sp.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),Array.isArray(e?.versions)&&(t.versions=e.versions.map(r=>oa.Version.fromJSON(r))),(0,sp.isSet)(e.state)&&(t.state=z8e(e.state)),(0,sp.isSet)(e.counterparty)&&(t.counterparty=oa.Counterparty.fromJSON(e.counterparty)),(0,sp.isSet)(e.delayPeriod)&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.versions?t.versions=e.versions.map(r=>r?oa.Version.toJSON(r):void 0):t.versions=[],e.state!==void 0&&(t.state=K8e(e.state)),e.counterparty!==void 0&&(t.counterparty=e.counterparty?oa.Counterparty.toJSON(e.counterparty):void 0),e.delayPeriod!==void 0&&(t.delayPeriod=(e.delayPeriod||BigInt(0)).toString()),t},fromPartial(e){let t=F8e();return t.clientId=e.clientId??"",t.versions=e.versions?.map(r=>oa.Version.fromPartial(r))||[],t.state=e.state??0,e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=oa.Counterparty.fromPartial(e.counterparty)),e.delayPeriod!==void 0&&e.delayPeriod!==null&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t}};function Q8e(){return{id:"",clientId:"",versions:[],state:0,counterparty:oa.Counterparty.fromPartial({}),delayPeriod:BigInt(0)}}oa.IdentifiedConnection={typeUrl:"/ibc.core.connection.v1.IdentifiedConnection",encode(e,t=Kd.BinaryWriter.create()){e.id!==""&&t.uint32(10).string(e.id),e.clientId!==""&&t.uint32(18).string(e.clientId);for(let r of e.versions)oa.Version.encode(r,t.uint32(26).fork()).ldelim();return e.state!==0&&t.uint32(32).int32(e.state),e.counterparty!==void 0&&oa.Counterparty.encode(e.counterparty,t.uint32(42).fork()).ldelim(),e.delayPeriod!==BigInt(0)&&t.uint32(48).uint64(e.delayPeriod),t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Q8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.id=r.string();break;case 2:n.clientId=r.string();break;case 3:n.versions.push(oa.Version.decode(r,r.uint32()));break;case 4:n.state=r.int32();break;case 5:n.counterparty=oa.Counterparty.decode(r,r.uint32());break;case 6:n.delayPeriod=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Q8e();return(0,sp.isSet)(e.id)&&(t.id=String(e.id)),(0,sp.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),Array.isArray(e?.versions)&&(t.versions=e.versions.map(r=>oa.Version.fromJSON(r))),(0,sp.isSet)(e.state)&&(t.state=z8e(e.state)),(0,sp.isSet)(e.counterparty)&&(t.counterparty=oa.Counterparty.fromJSON(e.counterparty)),(0,sp.isSet)(e.delayPeriod)&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t},toJSON(e){let t={};return e.id!==void 0&&(t.id=e.id),e.clientId!==void 0&&(t.clientId=e.clientId),e.versions?t.versions=e.versions.map(r=>r?oa.Version.toJSON(r):void 0):t.versions=[],e.state!==void 0&&(t.state=K8e(e.state)),e.counterparty!==void 0&&(t.counterparty=e.counterparty?oa.Counterparty.toJSON(e.counterparty):void 0),e.delayPeriod!==void 0&&(t.delayPeriod=(e.delayPeriod||BigInt(0)).toString()),t},fromPartial(e){let t=Q8e();return t.id=e.id??"",t.clientId=e.clientId??"",t.versions=e.versions?.map(r=>oa.Version.fromPartial(r))||[],t.state=e.state??0,e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=oa.Counterparty.fromPartial(e.counterparty)),e.delayPeriod!==void 0&&e.delayPeriod!==null&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t}};function H8e(){return{clientId:"",connectionId:"",prefix:A9.MerklePrefix.fromPartial({})}}oa.Counterparty={typeUrl:"/ibc.core.connection.v1.Counterparty",encode(e,t=Kd.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.connectionId!==""&&t.uint32(18).string(e.connectionId),e.prefix!==void 0&&A9.MerklePrefix.encode(e.prefix,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=H8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.connectionId=r.string();break;case 3:n.prefix=A9.MerklePrefix.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=H8e();return(0,sp.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,sp.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),(0,sp.isSet)(e.prefix)&&(t.prefix=A9.MerklePrefix.fromJSON(e.prefix)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.connectionId!==void 0&&(t.connectionId=e.connectionId),e.prefix!==void 0&&(t.prefix=e.prefix?A9.MerklePrefix.toJSON(e.prefix):void 0),t},fromPartial(e){let t=H8e();return t.clientId=e.clientId??"",t.connectionId=e.connectionId??"",e.prefix!==void 0&&e.prefix!==null&&(t.prefix=A9.MerklePrefix.fromPartial(e.prefix)),t}};function G8e(){return{paths:[]}}oa.ClientPaths={typeUrl:"/ibc.core.connection.v1.ClientPaths",encode(e,t=Kd.BinaryWriter.create()){for(let r of e.paths)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=G8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.paths.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=G8e();return Array.isArray(e?.paths)&&(t.paths=e.paths.map(r=>String(r))),t},toJSON(e){let t={};return e.paths?t.paths=e.paths.map(r=>r):t.paths=[],t},fromPartial(e){let t=G8e();return t.paths=e.paths?.map(r=>r)||[],t}};function q8e(){return{clientId:"",paths:[]}}oa.ConnectionPaths={typeUrl:"/ibc.core.connection.v1.ConnectionPaths",encode(e,t=Kd.BinaryWriter.create()){e.clientId!==""&&t.uint32(10).string(e.clientId);for(let r of e.paths)t.uint32(18).string(r);return t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=q8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.paths.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=q8e();return(0,sp.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),Array.isArray(e?.paths)&&(t.paths=e.paths.map(r=>String(r))),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.paths?t.paths=e.paths.map(r=>r):t.paths=[],t},fromPartial(e){let t=q8e();return t.clientId=e.clientId??"",t.paths=e.paths?.map(r=>r)||[],t}};function V8e(){return{identifier:"",features:[]}}oa.Version={typeUrl:"/ibc.core.connection.v1.Version",encode(e,t=Kd.BinaryWriter.create()){e.identifier!==""&&t.uint32(10).string(e.identifier);for(let r of e.features)t.uint32(18).string(r);return t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=V8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.identifier=r.string();break;case 2:n.features.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=V8e();return(0,sp.isSet)(e.identifier)&&(t.identifier=String(e.identifier)),Array.isArray(e?.features)&&(t.features=e.features.map(r=>String(r))),t},toJSON(e){let t={};return e.identifier!==void 0&&(t.identifier=e.identifier),e.features?t.features=e.features.map(r=>r):t.features=[],t},fromPartial(e){let t=V8e();return t.identifier=e.identifier??"",t.features=e.features?.map(r=>r)||[],t}};function J8e(){return{maxExpectedTimePerBlock:BigInt(0)}}oa.Params={typeUrl:"/ibc.core.connection.v1.Params",encode(e,t=Kd.BinaryWriter.create()){return e.maxExpectedTimePerBlock!==BigInt(0)&&t.uint32(8).uint64(e.maxExpectedTimePerBlock),t},decode(e,t){let r=e instanceof Kd.BinaryReader?e:new Kd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=J8e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.maxExpectedTimePerBlock=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=J8e();return(0,sp.isSet)(e.maxExpectedTimePerBlock)&&(t.maxExpectedTimePerBlock=BigInt(e.maxExpectedTimePerBlock.toString())),t},toJSON(e){let t={};return e.maxExpectedTimePerBlock!==void 0&&(t.maxExpectedTimePerBlock=(e.maxExpectedTimePerBlock||BigInt(0)).toString()),t},fromPartial(e){let t=J8e();return e.maxExpectedTimePerBlock!==void 0&&e.maxExpectedTimePerBlock!==null&&(t.maxExpectedTimePerBlock=BigInt(e.maxExpectedTimePerBlock.toString())),t}}});var Xmt=ir(Qc=>{"use strict";J();K();z();Object.defineProperty(Qc,"__esModule",{value:!0});Qc.MsgClientImpl=Qc.MsgConnectionOpenConfirmResponse=Qc.MsgConnectionOpenConfirm=Qc.MsgConnectionOpenAckResponse=Qc.MsgConnectionOpenAck=Qc.MsgConnectionOpenTryResponse=Qc.MsgConnectionOpenTry=Qc.MsgConnectionOpenInitResponse=Qc.MsgConnectionOpenInit=Qc.protobufPackage=void 0;var Fu=$8e(),UE=ru(),Fc=NS(),Ru=Qi(),Go=Hi();Qc.protobufPackage="ibc.core.connection.v1";function Y8e(){return{clientId:"",counterparty:Fu.Counterparty.fromPartial({}),version:void 0,delayPeriod:BigInt(0),signer:""}}Qc.MsgConnectionOpenInit={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenInit",encode(e,t=Ru.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.counterparty!==void 0&&Fu.Counterparty.encode(e.counterparty,t.uint32(18).fork()).ldelim(),e.version!==void 0&&Fu.Version.encode(e.version,t.uint32(26).fork()).ldelim(),e.delayPeriod!==BigInt(0)&&t.uint32(32).uint64(e.delayPeriod),e.signer!==""&&t.uint32(42).string(e.signer),t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Y8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.counterparty=Fu.Counterparty.decode(r,r.uint32());break;case 3:n.version=Fu.Version.decode(r,r.uint32());break;case 4:n.delayPeriod=r.uint64();break;case 5:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Y8e();return(0,Go.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Go.isSet)(e.counterparty)&&(t.counterparty=Fu.Counterparty.fromJSON(e.counterparty)),(0,Go.isSet)(e.version)&&(t.version=Fu.Version.fromJSON(e.version)),(0,Go.isSet)(e.delayPeriod)&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),(0,Go.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.counterparty!==void 0&&(t.counterparty=e.counterparty?Fu.Counterparty.toJSON(e.counterparty):void 0),e.version!==void 0&&(t.version=e.version?Fu.Version.toJSON(e.version):void 0),e.delayPeriod!==void 0&&(t.delayPeriod=(e.delayPeriod||BigInt(0)).toString()),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=Y8e();return t.clientId=e.clientId??"",e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=Fu.Counterparty.fromPartial(e.counterparty)),e.version!==void 0&&e.version!==null&&(t.version=Fu.Version.fromPartial(e.version)),e.delayPeriod!==void 0&&e.delayPeriod!==null&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t.signer=e.signer??"",t}};function W8e(){return{}}Qc.MsgConnectionOpenInitResponse={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenInitResponse",encode(e,t=Ru.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=W8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return W8e()},toJSON(e){return{}},fromPartial(e){return W8e()}};function X8e(){return{clientId:"",previousConnectionId:"",clientState:void 0,counterparty:Fu.Counterparty.fromPartial({}),delayPeriod:BigInt(0),counterpartyVersions:[],proofHeight:Fc.Height.fromPartial({}),proofInit:new Uint8Array,proofClient:new Uint8Array,proofConsensus:new Uint8Array,consensusHeight:Fc.Height.fromPartial({}),signer:"",hostConsensusStateProof:new Uint8Array}}Qc.MsgConnectionOpenTry={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenTry",encode(e,t=Ru.BinaryWriter.create()){e.clientId!==""&&t.uint32(10).string(e.clientId),e.previousConnectionId!==""&&t.uint32(18).string(e.previousConnectionId),e.clientState!==void 0&&UE.Any.encode(e.clientState,t.uint32(26).fork()).ldelim(),e.counterparty!==void 0&&Fu.Counterparty.encode(e.counterparty,t.uint32(34).fork()).ldelim(),e.delayPeriod!==BigInt(0)&&t.uint32(40).uint64(e.delayPeriod);for(let r of e.counterpartyVersions)Fu.Version.encode(r,t.uint32(50).fork()).ldelim();return e.proofHeight!==void 0&&Fc.Height.encode(e.proofHeight,t.uint32(58).fork()).ldelim(),e.proofInit.length!==0&&t.uint32(66).bytes(e.proofInit),e.proofClient.length!==0&&t.uint32(74).bytes(e.proofClient),e.proofConsensus.length!==0&&t.uint32(82).bytes(e.proofConsensus),e.consensusHeight!==void 0&&Fc.Height.encode(e.consensusHeight,t.uint32(90).fork()).ldelim(),e.signer!==""&&t.uint32(98).string(e.signer),e.hostConsensusStateProof.length!==0&&t.uint32(106).bytes(e.hostConsensusStateProof),t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=X8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.previousConnectionId=r.string();break;case 3:n.clientState=UE.Any.decode(r,r.uint32());break;case 4:n.counterparty=Fu.Counterparty.decode(r,r.uint32());break;case 5:n.delayPeriod=r.uint64();break;case 6:n.counterpartyVersions.push(Fu.Version.decode(r,r.uint32()));break;case 7:n.proofHeight=Fc.Height.decode(r,r.uint32());break;case 8:n.proofInit=r.bytes();break;case 9:n.proofClient=r.bytes();break;case 10:n.proofConsensus=r.bytes();break;case 11:n.consensusHeight=Fc.Height.decode(r,r.uint32());break;case 12:n.signer=r.string();break;case 13:n.hostConsensusStateProof=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=X8e();return(0,Go.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Go.isSet)(e.previousConnectionId)&&(t.previousConnectionId=String(e.previousConnectionId)),(0,Go.isSet)(e.clientState)&&(t.clientState=UE.Any.fromJSON(e.clientState)),(0,Go.isSet)(e.counterparty)&&(t.counterparty=Fu.Counterparty.fromJSON(e.counterparty)),(0,Go.isSet)(e.delayPeriod)&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),Array.isArray(e?.counterpartyVersions)&&(t.counterpartyVersions=e.counterpartyVersions.map(r=>Fu.Version.fromJSON(r))),(0,Go.isSet)(e.proofHeight)&&(t.proofHeight=Fc.Height.fromJSON(e.proofHeight)),(0,Go.isSet)(e.proofInit)&&(t.proofInit=(0,Go.bytesFromBase64)(e.proofInit)),(0,Go.isSet)(e.proofClient)&&(t.proofClient=(0,Go.bytesFromBase64)(e.proofClient)),(0,Go.isSet)(e.proofConsensus)&&(t.proofConsensus=(0,Go.bytesFromBase64)(e.proofConsensus)),(0,Go.isSet)(e.consensusHeight)&&(t.consensusHeight=Fc.Height.fromJSON(e.consensusHeight)),(0,Go.isSet)(e.signer)&&(t.signer=String(e.signer)),(0,Go.isSet)(e.hostConsensusStateProof)&&(t.hostConsensusStateProof=(0,Go.bytesFromBase64)(e.hostConsensusStateProof)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.previousConnectionId!==void 0&&(t.previousConnectionId=e.previousConnectionId),e.clientState!==void 0&&(t.clientState=e.clientState?UE.Any.toJSON(e.clientState):void 0),e.counterparty!==void 0&&(t.counterparty=e.counterparty?Fu.Counterparty.toJSON(e.counterparty):void 0),e.delayPeriod!==void 0&&(t.delayPeriod=(e.delayPeriod||BigInt(0)).toString()),e.counterpartyVersions?t.counterpartyVersions=e.counterpartyVersions.map(r=>r?Fu.Version.toJSON(r):void 0):t.counterpartyVersions=[],e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Fc.Height.toJSON(e.proofHeight):void 0),e.proofInit!==void 0&&(t.proofInit=(0,Go.base64FromBytes)(e.proofInit!==void 0?e.proofInit:new Uint8Array)),e.proofClient!==void 0&&(t.proofClient=(0,Go.base64FromBytes)(e.proofClient!==void 0?e.proofClient:new Uint8Array)),e.proofConsensus!==void 0&&(t.proofConsensus=(0,Go.base64FromBytes)(e.proofConsensus!==void 0?e.proofConsensus:new Uint8Array)),e.consensusHeight!==void 0&&(t.consensusHeight=e.consensusHeight?Fc.Height.toJSON(e.consensusHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),e.hostConsensusStateProof!==void 0&&(t.hostConsensusStateProof=(0,Go.base64FromBytes)(e.hostConsensusStateProof!==void 0?e.hostConsensusStateProof:new Uint8Array)),t},fromPartial(e){let t=X8e();return t.clientId=e.clientId??"",t.previousConnectionId=e.previousConnectionId??"",e.clientState!==void 0&&e.clientState!==null&&(t.clientState=UE.Any.fromPartial(e.clientState)),e.counterparty!==void 0&&e.counterparty!==null&&(t.counterparty=Fu.Counterparty.fromPartial(e.counterparty)),e.delayPeriod!==void 0&&e.delayPeriod!==null&&(t.delayPeriod=BigInt(e.delayPeriod.toString())),t.counterpartyVersions=e.counterpartyVersions?.map(r=>Fu.Version.fromPartial(r))||[],e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Fc.Height.fromPartial(e.proofHeight)),t.proofInit=e.proofInit??new Uint8Array,t.proofClient=e.proofClient??new Uint8Array,t.proofConsensus=e.proofConsensus??new Uint8Array,e.consensusHeight!==void 0&&e.consensusHeight!==null&&(t.consensusHeight=Fc.Height.fromPartial(e.consensusHeight)),t.signer=e.signer??"",t.hostConsensusStateProof=e.hostConsensusStateProof??new Uint8Array,t}};function Z8e(){return{}}Qc.MsgConnectionOpenTryResponse={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenTryResponse",encode(e,t=Ru.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Z8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Z8e()},toJSON(e){return{}},fromPartial(e){return Z8e()}};function j8e(){return{connectionId:"",counterpartyConnectionId:"",version:void 0,clientState:void 0,proofHeight:Fc.Height.fromPartial({}),proofTry:new Uint8Array,proofClient:new Uint8Array,proofConsensus:new Uint8Array,consensusHeight:Fc.Height.fromPartial({}),signer:"",hostConsensusStateProof:new Uint8Array}}Qc.MsgConnectionOpenAck={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenAck",encode(e,t=Ru.BinaryWriter.create()){return e.connectionId!==""&&t.uint32(10).string(e.connectionId),e.counterpartyConnectionId!==""&&t.uint32(18).string(e.counterpartyConnectionId),e.version!==void 0&&Fu.Version.encode(e.version,t.uint32(26).fork()).ldelim(),e.clientState!==void 0&&UE.Any.encode(e.clientState,t.uint32(34).fork()).ldelim(),e.proofHeight!==void 0&&Fc.Height.encode(e.proofHeight,t.uint32(42).fork()).ldelim(),e.proofTry.length!==0&&t.uint32(50).bytes(e.proofTry),e.proofClient.length!==0&&t.uint32(58).bytes(e.proofClient),e.proofConsensus.length!==0&&t.uint32(66).bytes(e.proofConsensus),e.consensusHeight!==void 0&&Fc.Height.encode(e.consensusHeight,t.uint32(74).fork()).ldelim(),e.signer!==""&&t.uint32(82).string(e.signer),e.hostConsensusStateProof.length!==0&&t.uint32(90).bytes(e.hostConsensusStateProof),t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=j8e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connectionId=r.string();break;case 2:n.counterpartyConnectionId=r.string();break;case 3:n.version=Fu.Version.decode(r,r.uint32());break;case 4:n.clientState=UE.Any.decode(r,r.uint32());break;case 5:n.proofHeight=Fc.Height.decode(r,r.uint32());break;case 6:n.proofTry=r.bytes();break;case 7:n.proofClient=r.bytes();break;case 8:n.proofConsensus=r.bytes();break;case 9:n.consensusHeight=Fc.Height.decode(r,r.uint32());break;case 10:n.signer=r.string();break;case 11:n.hostConsensusStateProof=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=j8e();return(0,Go.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),(0,Go.isSet)(e.counterpartyConnectionId)&&(t.counterpartyConnectionId=String(e.counterpartyConnectionId)),(0,Go.isSet)(e.version)&&(t.version=Fu.Version.fromJSON(e.version)),(0,Go.isSet)(e.clientState)&&(t.clientState=UE.Any.fromJSON(e.clientState)),(0,Go.isSet)(e.proofHeight)&&(t.proofHeight=Fc.Height.fromJSON(e.proofHeight)),(0,Go.isSet)(e.proofTry)&&(t.proofTry=(0,Go.bytesFromBase64)(e.proofTry)),(0,Go.isSet)(e.proofClient)&&(t.proofClient=(0,Go.bytesFromBase64)(e.proofClient)),(0,Go.isSet)(e.proofConsensus)&&(t.proofConsensus=(0,Go.bytesFromBase64)(e.proofConsensus)),(0,Go.isSet)(e.consensusHeight)&&(t.consensusHeight=Fc.Height.fromJSON(e.consensusHeight)),(0,Go.isSet)(e.signer)&&(t.signer=String(e.signer)),(0,Go.isSet)(e.hostConsensusStateProof)&&(t.hostConsensusStateProof=(0,Go.bytesFromBase64)(e.hostConsensusStateProof)),t},toJSON(e){let t={};return e.connectionId!==void 0&&(t.connectionId=e.connectionId),e.counterpartyConnectionId!==void 0&&(t.counterpartyConnectionId=e.counterpartyConnectionId),e.version!==void 0&&(t.version=e.version?Fu.Version.toJSON(e.version):void 0),e.clientState!==void 0&&(t.clientState=e.clientState?UE.Any.toJSON(e.clientState):void 0),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Fc.Height.toJSON(e.proofHeight):void 0),e.proofTry!==void 0&&(t.proofTry=(0,Go.base64FromBytes)(e.proofTry!==void 0?e.proofTry:new Uint8Array)),e.proofClient!==void 0&&(t.proofClient=(0,Go.base64FromBytes)(e.proofClient!==void 0?e.proofClient:new Uint8Array)),e.proofConsensus!==void 0&&(t.proofConsensus=(0,Go.base64FromBytes)(e.proofConsensus!==void 0?e.proofConsensus:new Uint8Array)),e.consensusHeight!==void 0&&(t.consensusHeight=e.consensusHeight?Fc.Height.toJSON(e.consensusHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),e.hostConsensusStateProof!==void 0&&(t.hostConsensusStateProof=(0,Go.base64FromBytes)(e.hostConsensusStateProof!==void 0?e.hostConsensusStateProof:new Uint8Array)),t},fromPartial(e){let t=j8e();return t.connectionId=e.connectionId??"",t.counterpartyConnectionId=e.counterpartyConnectionId??"",e.version!==void 0&&e.version!==null&&(t.version=Fu.Version.fromPartial(e.version)),e.clientState!==void 0&&e.clientState!==null&&(t.clientState=UE.Any.fromPartial(e.clientState)),e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Fc.Height.fromPartial(e.proofHeight)),t.proofTry=e.proofTry??new Uint8Array,t.proofClient=e.proofClient??new Uint8Array,t.proofConsensus=e.proofConsensus??new Uint8Array,e.consensusHeight!==void 0&&e.consensusHeight!==null&&(t.consensusHeight=Fc.Height.fromPartial(e.consensusHeight)),t.signer=e.signer??"",t.hostConsensusStateProof=e.hostConsensusStateProof??new Uint8Array,t}};function e4e(){return{}}Qc.MsgConnectionOpenAckResponse={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenAckResponse",encode(e,t=Ru.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=e4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return e4e()},toJSON(e){return{}},fromPartial(e){return e4e()}};function t4e(){return{connectionId:"",proofAck:new Uint8Array,proofHeight:Fc.Height.fromPartial({}),signer:""}}Qc.MsgConnectionOpenConfirm={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenConfirm",encode(e,t=Ru.BinaryWriter.create()){return e.connectionId!==""&&t.uint32(10).string(e.connectionId),e.proofAck.length!==0&&t.uint32(18).bytes(e.proofAck),e.proofHeight!==void 0&&Fc.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),e.signer!==""&&t.uint32(34).string(e.signer),t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=t4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connectionId=r.string();break;case 2:n.proofAck=r.bytes();break;case 3:n.proofHeight=Fc.Height.decode(r,r.uint32());break;case 4:n.signer=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=t4e();return(0,Go.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),(0,Go.isSet)(e.proofAck)&&(t.proofAck=(0,Go.bytesFromBase64)(e.proofAck)),(0,Go.isSet)(e.proofHeight)&&(t.proofHeight=Fc.Height.fromJSON(e.proofHeight)),(0,Go.isSet)(e.signer)&&(t.signer=String(e.signer)),t},toJSON(e){let t={};return e.connectionId!==void 0&&(t.connectionId=e.connectionId),e.proofAck!==void 0&&(t.proofAck=(0,Go.base64FromBytes)(e.proofAck!==void 0?e.proofAck:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Fc.Height.toJSON(e.proofHeight):void 0),e.signer!==void 0&&(t.signer=e.signer),t},fromPartial(e){let t=t4e();return t.connectionId=e.connectionId??"",t.proofAck=e.proofAck??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Fc.Height.fromPartial(e.proofHeight)),t.signer=e.signer??"",t}};function r4e(){return{}}Qc.MsgConnectionOpenConfirmResponse={typeUrl:"/ibc.core.connection.v1.MsgConnectionOpenConfirmResponse",encode(e,t=Ru.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Ru.BinaryReader?e:new Ru.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=r4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return r4e()},toJSON(e){return{}},fromPartial(e){return r4e()}};var n4e=class{constructor(t){this.rpc=t,this.ConnectionOpenInit=this.ConnectionOpenInit.bind(this),this.ConnectionOpenTry=this.ConnectionOpenTry.bind(this),this.ConnectionOpenAck=this.ConnectionOpenAck.bind(this),this.ConnectionOpenConfirm=this.ConnectionOpenConfirm.bind(this)}ConnectionOpenInit(t){let r=Qc.MsgConnectionOpenInit.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Msg","ConnectionOpenInit",r).then(n=>Qc.MsgConnectionOpenInitResponse.decode(new Ru.BinaryReader(n)))}ConnectionOpenTry(t){let r=Qc.MsgConnectionOpenTry.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Msg","ConnectionOpenTry",r).then(n=>Qc.MsgConnectionOpenTryResponse.decode(new Ru.BinaryReader(n)))}ConnectionOpenAck(t){let r=Qc.MsgConnectionOpenAck.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Msg","ConnectionOpenAck",r).then(n=>Qc.MsgConnectionOpenAckResponse.decode(new Ru.BinaryReader(n)))}ConnectionOpenConfirm(t){let r=Qc.MsgConnectionOpenConfirm.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Msg","ConnectionOpenConfirm",r).then(n=>Qc.MsgConnectionOpenConfirmResponse.decode(new Ru.BinaryReader(n)))}};Qc.MsgClientImpl=n4e});var Zmt=ir(p9=>{"use strict";J();K();z();Object.defineProperty(p9,"__esModule",{value:!0});p9.isMsgTransferEncodeObject=p9.ibcTypes=void 0;var Wpn=Xee(),FE=Kmt(),jee=$mt(),ete=Xmt();p9.ibcTypes=[["/ibc.applications.transfer.v1.MsgTransfer",Wpn.MsgTransfer],["/ibc.core.channel.v1.MsgAcknowledgement",FE.MsgAcknowledgement],["/ibc.core.channel.v1.MsgChannelCloseConfirm",FE.MsgChannelCloseConfirm],["/ibc.core.channel.v1.MsgChannelCloseInit",FE.MsgChannelCloseInit],["/ibc.core.channel.v1.MsgChannelOpenAck",FE.MsgChannelOpenAck],["/ibc.core.channel.v1.MsgChannelOpenConfirm",FE.MsgChannelOpenConfirm],["/ibc.core.channel.v1.MsgChannelOpenInit",FE.MsgChannelOpenInit],["/ibc.core.channel.v1.MsgChannelOpenTry",FE.MsgChannelOpenTry],["/ibc.core.channel.v1.MsgRecvPacket",FE.MsgRecvPacket],["/ibc.core.channel.v1.MsgTimeout",FE.MsgTimeout],["/ibc.core.channel.v1.MsgTimeoutOnClose",FE.MsgTimeoutOnClose],["/ibc.core.client.v1.MsgCreateClient",jee.MsgCreateClient],["/ibc.core.client.v1.MsgSubmitMisbehaviour",jee.MsgSubmitMisbehaviour],["/ibc.core.client.v1.MsgUpdateClient",jee.MsgUpdateClient],["/ibc.core.client.v1.MsgUpgradeClient",jee.MsgUpgradeClient],["/ibc.core.connection.v1.MsgConnectionOpenAck",ete.MsgConnectionOpenAck],["/ibc.core.connection.v1.MsgConnectionOpenConfirm",ete.MsgConnectionOpenConfirm],["/ibc.core.connection.v1.MsgConnectionOpenInit",ete.MsgConnectionOpenInit],["/ibc.core.connection.v1.MsgConnectionOpenTry",ete.MsgConnectionOpenTry]];function Xpn(e){return e.typeUrl==="/ibc.applications.transfer.v1.MsgTransfer"}p9.isMsgTransferEncodeObject=Xpn});var jmt=ir(s8=>{"use strict";J();K();z();Object.defineProperty(s8,"__esModule",{value:!0});s8.Params=s8.DenomTrace=s8.protobufPackage=void 0;var g9=Qi(),tte=Hi();s8.protobufPackage="ibc.applications.transfer.v1";function i4e(){return{path:"",baseDenom:""}}s8.DenomTrace={typeUrl:"/ibc.applications.transfer.v1.DenomTrace",encode(e,t=g9.BinaryWriter.create()){return e.path!==""&&t.uint32(10).string(e.path),e.baseDenom!==""&&t.uint32(18).string(e.baseDenom),t},decode(e,t){let r=e instanceof g9.BinaryReader?e:new g9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=i4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.path=r.string();break;case 2:n.baseDenom=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=i4e();return(0,tte.isSet)(e.path)&&(t.path=String(e.path)),(0,tte.isSet)(e.baseDenom)&&(t.baseDenom=String(e.baseDenom)),t},toJSON(e){let t={};return e.path!==void 0&&(t.path=e.path),e.baseDenom!==void 0&&(t.baseDenom=e.baseDenom),t},fromPartial(e){let t=i4e();return t.path=e.path??"",t.baseDenom=e.baseDenom??"",t}};function o4e(){return{sendEnabled:!1,receiveEnabled:!1}}s8.Params={typeUrl:"/ibc.applications.transfer.v1.Params",encode(e,t=g9.BinaryWriter.create()){return e.sendEnabled===!0&&t.uint32(8).bool(e.sendEnabled),e.receiveEnabled===!0&&t.uint32(16).bool(e.receiveEnabled),t},decode(e,t){let r=e instanceof g9.BinaryReader?e:new g9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=o4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.sendEnabled=r.bool();break;case 2:n.receiveEnabled=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=o4e();return(0,tte.isSet)(e.sendEnabled)&&(t.sendEnabled=!!e.sendEnabled),(0,tte.isSet)(e.receiveEnabled)&&(t.receiveEnabled=!!e.receiveEnabled),t},toJSON(e){let t={};return e.sendEnabled!==void 0&&(t.sendEnabled=e.sendEnabled),e.receiveEnabled!==void 0&&(t.receiveEnabled=e.receiveEnabled),t},fromPartial(e){let t=o4e();return t.sendEnabled=e.sendEnabled??!1,t.receiveEnabled=e.receiveEnabled??!1,t}}});var eyt=ir(xs=>{"use strict";J();K();z();Object.defineProperty(xs,"__esModule",{value:!0});xs.QueryClientImpl=xs.QueryEscrowAddressResponse=xs.QueryEscrowAddressRequest=xs.QueryDenomHashResponse=xs.QueryDenomHashRequest=xs.QueryParamsResponse=xs.QueryParamsRequest=xs.QueryDenomTracesResponse=xs.QueryDenomTracesRequest=xs.QueryDenomTraceResponse=xs.QueryDenomTraceRequest=xs.protobufPackage=void 0;var Ry=jA(),cp=jmt(),qs=Qi(),QE=Hi();xs.protobufPackage="ibc.applications.transfer.v1";function a4e(){return{hash:""}}xs.QueryDenomTraceRequest={typeUrl:"/ibc.applications.transfer.v1.QueryDenomTraceRequest",encode(e,t=qs.BinaryWriter.create()){return e.hash!==""&&t.uint32(10).string(e.hash),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=a4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.hash=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=a4e();return(0,QE.isSet)(e.hash)&&(t.hash=String(e.hash)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=e.hash),t},fromPartial(e){let t=a4e();return t.hash=e.hash??"",t}};function s4e(){return{denomTrace:void 0}}xs.QueryDenomTraceResponse={typeUrl:"/ibc.applications.transfer.v1.QueryDenomTraceResponse",encode(e,t=qs.BinaryWriter.create()){return e.denomTrace!==void 0&&cp.DenomTrace.encode(e.denomTrace,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=s4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.denomTrace=cp.DenomTrace.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=s4e();return(0,QE.isSet)(e.denomTrace)&&(t.denomTrace=cp.DenomTrace.fromJSON(e.denomTrace)),t},toJSON(e){let t={};return e.denomTrace!==void 0&&(t.denomTrace=e.denomTrace?cp.DenomTrace.toJSON(e.denomTrace):void 0),t},fromPartial(e){let t=s4e();return e.denomTrace!==void 0&&e.denomTrace!==null&&(t.denomTrace=cp.DenomTrace.fromPartial(e.denomTrace)),t}};function c4e(){return{pagination:void 0}}xs.QueryDenomTracesRequest={typeUrl:"/ibc.applications.transfer.v1.QueryDenomTracesRequest",encode(e,t=qs.BinaryWriter.create()){return e.pagination!==void 0&&Ry.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=c4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=Ry.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=c4e();return(0,QE.isSet)(e.pagination)&&(t.pagination=Ry.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?Ry.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=c4e();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ry.PageRequest.fromPartial(e.pagination)),t}};function u4e(){return{denomTraces:[],pagination:void 0}}xs.QueryDenomTracesResponse={typeUrl:"/ibc.applications.transfer.v1.QueryDenomTracesResponse",encode(e,t=qs.BinaryWriter.create()){for(let r of e.denomTraces)cp.DenomTrace.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ry.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=u4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.denomTraces.push(cp.DenomTrace.decode(r,r.uint32()));break;case 2:n.pagination=Ry.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=u4e();return Array.isArray(e?.denomTraces)&&(t.denomTraces=e.denomTraces.map(r=>cp.DenomTrace.fromJSON(r))),(0,QE.isSet)(e.pagination)&&(t.pagination=Ry.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.denomTraces?t.denomTraces=e.denomTraces.map(r=>r?cp.DenomTrace.toJSON(r):void 0):t.denomTraces=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ry.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=u4e();return t.denomTraces=e.denomTraces?.map(r=>cp.DenomTrace.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ry.PageResponse.fromPartial(e.pagination)),t}};function d4e(){return{}}xs.QueryParamsRequest={typeUrl:"/ibc.applications.transfer.v1.QueryParamsRequest",encode(e,t=qs.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=d4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return d4e()},toJSON(e){return{}},fromPartial(e){return d4e()}};function f4e(){return{params:void 0}}xs.QueryParamsResponse={typeUrl:"/ibc.applications.transfer.v1.QueryParamsResponse",encode(e,t=qs.BinaryWriter.create()){return e.params!==void 0&&cp.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=f4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=cp.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=f4e();return(0,QE.isSet)(e.params)&&(t.params=cp.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?cp.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=f4e();return e.params!==void 0&&e.params!==null&&(t.params=cp.Params.fromPartial(e.params)),t}};function l4e(){return{trace:""}}xs.QueryDenomHashRequest={typeUrl:"/ibc.applications.transfer.v1.QueryDenomHashRequest",encode(e,t=qs.BinaryWriter.create()){return e.trace!==""&&t.uint32(10).string(e.trace),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=l4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.trace=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=l4e();return(0,QE.isSet)(e.trace)&&(t.trace=String(e.trace)),t},toJSON(e){let t={};return e.trace!==void 0&&(t.trace=e.trace),t},fromPartial(e){let t=l4e();return t.trace=e.trace??"",t}};function h4e(){return{hash:""}}xs.QueryDenomHashResponse={typeUrl:"/ibc.applications.transfer.v1.QueryDenomHashResponse",encode(e,t=qs.BinaryWriter.create()){return e.hash!==""&&t.uint32(10).string(e.hash),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=h4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.hash=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=h4e();return(0,QE.isSet)(e.hash)&&(t.hash=String(e.hash)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=e.hash),t},fromPartial(e){let t=h4e();return t.hash=e.hash??"",t}};function A4e(){return{portId:"",channelId:""}}xs.QueryEscrowAddressRequest={typeUrl:"/ibc.applications.transfer.v1.QueryEscrowAddressRequest",encode(e,t=qs.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=A4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=A4e();return(0,QE.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,QE.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=A4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function p4e(){return{escrowAddress:""}}xs.QueryEscrowAddressResponse={typeUrl:"/ibc.applications.transfer.v1.QueryEscrowAddressResponse",encode(e,t=qs.BinaryWriter.create()){return e.escrowAddress!==""&&t.uint32(10).string(e.escrowAddress),t},decode(e,t){let r=e instanceof qs.BinaryReader?e:new qs.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=p4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.escrowAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=p4e();return(0,QE.isSet)(e.escrowAddress)&&(t.escrowAddress=String(e.escrowAddress)),t},toJSON(e){let t={};return e.escrowAddress!==void 0&&(t.escrowAddress=e.escrowAddress),t},fromPartial(e){let t=p4e();return t.escrowAddress=e.escrowAddress??"",t}};var g4e=class{constructor(t){this.rpc=t,this.DenomTrace=this.DenomTrace.bind(this),this.DenomTraces=this.DenomTraces.bind(this),this.Params=this.Params.bind(this),this.DenomHash=this.DenomHash.bind(this),this.EscrowAddress=this.EscrowAddress.bind(this)}DenomTrace(t){let r=xs.QueryDenomTraceRequest.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Query","DenomTrace",r).then(n=>xs.QueryDenomTraceResponse.decode(new qs.BinaryReader(n)))}DenomTraces(t={pagination:Ry.PageRequest.fromPartial({})}){let r=xs.QueryDenomTracesRequest.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Query","DenomTraces",r).then(n=>xs.QueryDenomTracesResponse.decode(new qs.BinaryReader(n)))}Params(t={}){let r=xs.QueryParamsRequest.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Query","Params",r).then(n=>xs.QueryParamsResponse.decode(new qs.BinaryReader(n)))}DenomHash(t){let r=xs.QueryDenomHashRequest.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Query","DenomHash",r).then(n=>xs.QueryDenomHashResponse.decode(new qs.BinaryReader(n)))}EscrowAddress(t){let r=xs.QueryEscrowAddressRequest.encode(t).finish();return this.rpc.request("ibc.applications.transfer.v1.Query","EscrowAddress",r).then(n=>xs.QueryEscrowAddressResponse.decode(new qs.BinaryReader(n)))}};xs.QueryClientImpl=g4e});var tyt=ir(hi=>{"use strict";J();K();z();Object.defineProperty(hi,"__esModule",{value:!0});hi.QueryClientImpl=hi.QueryNextSequenceReceiveResponse=hi.QueryNextSequenceReceiveRequest=hi.QueryUnreceivedAcksResponse=hi.QueryUnreceivedAcksRequest=hi.QueryUnreceivedPacketsResponse=hi.QueryUnreceivedPacketsRequest=hi.QueryPacketAcknowledgementsResponse=hi.QueryPacketAcknowledgementsRequest=hi.QueryPacketAcknowledgementResponse=hi.QueryPacketAcknowledgementRequest=hi.QueryPacketReceiptResponse=hi.QueryPacketReceiptRequest=hi.QueryPacketCommitmentsResponse=hi.QueryPacketCommitmentsRequest=hi.QueryPacketCommitmentResponse=hi.QueryPacketCommitmentRequest=hi.QueryChannelConsensusStateResponse=hi.QueryChannelConsensusStateRequest=hi.QueryChannelClientStateResponse=hi.QueryChannelClientStateRequest=hi.QueryConnectionChannelsResponse=hi.QueryConnectionChannelsRequest=hi.QueryChannelsResponse=hi.QueryChannelsRequest=hi.QueryChannelResponse=hi.QueryChannelRequest=hi.protobufPackage=void 0;var Va=jA(),u0=q3e(),pi=NS(),iQ=ru(),ai=Qi(),_i=Hi();hi.protobufPackage="ibc.core.channel.v1";function _4e(){return{portId:"",channelId:""}}hi.QueryChannelRequest={typeUrl:"/ibc.core.channel.v1.QueryChannelRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=_4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function m4e(){return{channel:void 0,proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryChannelResponse={typeUrl:"/ibc.core.channel.v1.QueryChannelResponse",encode(e,t=ai.BinaryWriter.create()){return e.channel!==void 0&&u0.Channel.encode(e.channel,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=m4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.channel=u0.Channel.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=m4e();return(0,_i.isSet)(e.channel)&&(t.channel=u0.Channel.fromJSON(e.channel)),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.channel!==void 0&&(t.channel=e.channel?u0.Channel.toJSON(e.channel):void 0),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=m4e();return e.channel!==void 0&&e.channel!==null&&(t.channel=u0.Channel.fromPartial(e.channel)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function y4e(){return{pagination:void 0}}hi.QueryChannelsRequest={typeUrl:"/ibc.core.channel.v1.QueryChannelsRequest",encode(e,t=ai.BinaryWriter.create()){return e.pagination!==void 0&&Va.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=y4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=Va.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=y4e();return(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=y4e();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageRequest.fromPartial(e.pagination)),t}};function b4e(){return{channels:[],pagination:void 0,height:pi.Height.fromPartial({})}}hi.QueryChannelsResponse={typeUrl:"/ibc.core.channel.v1.QueryChannelsResponse",encode(e,t=ai.BinaryWriter.create()){for(let r of e.channels)u0.IdentifiedChannel.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Va.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=b4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.channels.push(u0.IdentifiedChannel.decode(r,r.uint32()));break;case 2:n.pagination=Va.PageResponse.decode(r,r.uint32());break;case 3:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=b4e();return Array.isArray(e?.channels)&&(t.channels=e.channels.map(r=>u0.IdentifiedChannel.fromJSON(r))),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageResponse.fromJSON(e.pagination)),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.channels?t.channels=e.channels.map(r=>r?u0.IdentifiedChannel.toJSON(r):void 0):t.channels=[],e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageResponse.toJSON(e.pagination):void 0),e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=b4e();return t.channels=e.channels?.map(r=>u0.IdentifiedChannel.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageResponse.fromPartial(e.pagination)),e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function E4e(){return{connection:"",pagination:void 0}}hi.QueryConnectionChannelsRequest={typeUrl:"/ibc.core.channel.v1.QueryConnectionChannelsRequest",encode(e,t=ai.BinaryWriter.create()){return e.connection!==""&&t.uint32(10).string(e.connection),e.pagination!==void 0&&Va.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=E4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connection=r.string();break;case 2:n.pagination=Va.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=E4e();return(0,_i.isSet)(e.connection)&&(t.connection=String(e.connection)),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.connection!==void 0&&(t.connection=e.connection),e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=E4e();return t.connection=e.connection??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageRequest.fromPartial(e.pagination)),t}};function v4e(){return{channels:[],pagination:void 0,height:pi.Height.fromPartial({})}}hi.QueryConnectionChannelsResponse={typeUrl:"/ibc.core.channel.v1.QueryConnectionChannelsResponse",encode(e,t=ai.BinaryWriter.create()){for(let r of e.channels)u0.IdentifiedChannel.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Va.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=v4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.channels.push(u0.IdentifiedChannel.decode(r,r.uint32()));break;case 2:n.pagination=Va.PageResponse.decode(r,r.uint32());break;case 3:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=v4e();return Array.isArray(e?.channels)&&(t.channels=e.channels.map(r=>u0.IdentifiedChannel.fromJSON(r))),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageResponse.fromJSON(e.pagination)),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.channels?t.channels=e.channels.map(r=>r?u0.IdentifiedChannel.toJSON(r):void 0):t.channels=[],e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageResponse.toJSON(e.pagination):void 0),e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=v4e();return t.channels=e.channels?.map(r=>u0.IdentifiedChannel.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageResponse.fromPartial(e.pagination)),e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function R4e(){return{portId:"",channelId:""}}hi.QueryChannelClientStateRequest={typeUrl:"/ibc.core.channel.v1.QueryChannelClientStateRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=R4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=R4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=R4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function S4e(){return{identifiedClientState:void 0,proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryChannelClientStateResponse={typeUrl:"/ibc.core.channel.v1.QueryChannelClientStateResponse",encode(e,t=ai.BinaryWriter.create()){return e.identifiedClientState!==void 0&&pi.IdentifiedClientState.encode(e.identifiedClientState,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=S4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.identifiedClientState=pi.IdentifiedClientState.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=S4e();return(0,_i.isSet)(e.identifiedClientState)&&(t.identifiedClientState=pi.IdentifiedClientState.fromJSON(e.identifiedClientState)),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.identifiedClientState!==void 0&&(t.identifiedClientState=e.identifiedClientState?pi.IdentifiedClientState.toJSON(e.identifiedClientState):void 0),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=S4e();return e.identifiedClientState!==void 0&&e.identifiedClientState!==null&&(t.identifiedClientState=pi.IdentifiedClientState.fromPartial(e.identifiedClientState)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function I4e(){return{portId:"",channelId:"",revisionNumber:BigInt(0),revisionHeight:BigInt(0)}}hi.QueryChannelConsensusStateRequest={typeUrl:"/ibc.core.channel.v1.QueryChannelConsensusStateRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.revisionNumber!==BigInt(0)&&t.uint32(24).uint64(e.revisionNumber),e.revisionHeight!==BigInt(0)&&t.uint32(32).uint64(e.revisionHeight),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=I4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.revisionNumber=r.uint64();break;case 4:n.revisionHeight=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=I4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.revisionNumber)&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),(0,_i.isSet)(e.revisionHeight)&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.revisionNumber!==void 0&&(t.revisionNumber=(e.revisionNumber||BigInt(0)).toString()),e.revisionHeight!==void 0&&(t.revisionHeight=(e.revisionHeight||BigInt(0)).toString()),t},fromPartial(e){let t=I4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.revisionNumber!==void 0&&e.revisionNumber!==null&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),e.revisionHeight!==void 0&&e.revisionHeight!==null&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t}};function C4e(){return{consensusState:void 0,clientId:"",proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryChannelConsensusStateResponse={typeUrl:"/ibc.core.channel.v1.QueryChannelConsensusStateResponse",encode(e,t=ai.BinaryWriter.create()){return e.consensusState!==void 0&&iQ.Any.encode(e.consensusState,t.uint32(10).fork()).ldelim(),e.clientId!==""&&t.uint32(18).string(e.clientId),e.proof.length!==0&&t.uint32(26).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=C4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusState=iQ.Any.decode(r,r.uint32());break;case 2:n.clientId=r.string();break;case 3:n.proof=r.bytes();break;case 4:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=C4e();return(0,_i.isSet)(e.consensusState)&&(t.consensusState=iQ.Any.fromJSON(e.consensusState)),(0,_i.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.consensusState!==void 0&&(t.consensusState=e.consensusState?iQ.Any.toJSON(e.consensusState):void 0),e.clientId!==void 0&&(t.clientId=e.clientId),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=C4e();return e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=iQ.Any.fromPartial(e.consensusState)),t.clientId=e.clientId??"",t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function w4e(){return{portId:"",channelId:"",sequence:BigInt(0)}}hi.QueryPacketCommitmentRequest={typeUrl:"/ibc.core.channel.v1.QueryPacketCommitmentRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=w4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=w4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=w4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function O4e(){return{commitment:new Uint8Array,proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryPacketCommitmentResponse={typeUrl:"/ibc.core.channel.v1.QueryPacketCommitmentResponse",encode(e,t=ai.BinaryWriter.create()){return e.commitment.length!==0&&t.uint32(10).bytes(e.commitment),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=O4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.commitment=r.bytes();break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=O4e();return(0,_i.isSet)(e.commitment)&&(t.commitment=(0,_i.bytesFromBase64)(e.commitment)),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.commitment!==void 0&&(t.commitment=(0,_i.base64FromBytes)(e.commitment!==void 0?e.commitment:new Uint8Array)),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=O4e();return t.commitment=e.commitment??new Uint8Array,t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function N4e(){return{portId:"",channelId:"",pagination:void 0}}hi.QueryPacketCommitmentsRequest={typeUrl:"/ibc.core.channel.v1.QueryPacketCommitmentsRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.pagination!==void 0&&Va.PageRequest.encode(e.pagination,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=N4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.pagination=Va.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=N4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=N4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageRequest.fromPartial(e.pagination)),t}};function x4e(){return{commitments:[],pagination:void 0,height:pi.Height.fromPartial({})}}hi.QueryPacketCommitmentsResponse={typeUrl:"/ibc.core.channel.v1.QueryPacketCommitmentsResponse",encode(e,t=ai.BinaryWriter.create()){for(let r of e.commitments)u0.PacketState.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Va.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=x4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.commitments.push(u0.PacketState.decode(r,r.uint32()));break;case 2:n.pagination=Va.PageResponse.decode(r,r.uint32());break;case 3:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=x4e();return Array.isArray(e?.commitments)&&(t.commitments=e.commitments.map(r=>u0.PacketState.fromJSON(r))),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageResponse.fromJSON(e.pagination)),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.commitments?t.commitments=e.commitments.map(r=>r?u0.PacketState.toJSON(r):void 0):t.commitments=[],e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageResponse.toJSON(e.pagination):void 0),e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=x4e();return t.commitments=e.commitments?.map(r=>u0.PacketState.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageResponse.fromPartial(e.pagination)),e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function T4e(){return{portId:"",channelId:"",sequence:BigInt(0)}}hi.QueryPacketReceiptRequest={typeUrl:"/ibc.core.channel.v1.QueryPacketReceiptRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=T4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=T4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=T4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function B4e(){return{received:!1,proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryPacketReceiptResponse={typeUrl:"/ibc.core.channel.v1.QueryPacketReceiptResponse",encode(e,t=ai.BinaryWriter.create()){return e.received===!0&&t.uint32(16).bool(e.received),e.proof.length!==0&&t.uint32(26).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=B4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 2:n.received=r.bool();break;case 3:n.proof=r.bytes();break;case 4:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=B4e();return(0,_i.isSet)(e.received)&&(t.received=!!e.received),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.received!==void 0&&(t.received=e.received),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=B4e();return t.received=e.received??!1,t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function M4e(){return{portId:"",channelId:"",sequence:BigInt(0)}}hi.QueryPacketAcknowledgementRequest={typeUrl:"/ibc.core.channel.v1.QueryPacketAcknowledgementRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.sequence!==BigInt(0)&&t.uint32(24).uint64(e.sequence),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=M4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.sequence=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=M4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.sequence)&&(t.sequence=BigInt(e.sequence.toString())),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.sequence!==void 0&&(t.sequence=(e.sequence||BigInt(0)).toString()),t},fromPartial(e){let t=M4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.sequence!==void 0&&e.sequence!==null&&(t.sequence=BigInt(e.sequence.toString())),t}};function D4e(){return{acknowledgement:new Uint8Array,proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryPacketAcknowledgementResponse={typeUrl:"/ibc.core.channel.v1.QueryPacketAcknowledgementResponse",encode(e,t=ai.BinaryWriter.create()){return e.acknowledgement.length!==0&&t.uint32(10).bytes(e.acknowledgement),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=D4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.acknowledgement=r.bytes();break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=D4e();return(0,_i.isSet)(e.acknowledgement)&&(t.acknowledgement=(0,_i.bytesFromBase64)(e.acknowledgement)),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.acknowledgement!==void 0&&(t.acknowledgement=(0,_i.base64FromBytes)(e.acknowledgement!==void 0?e.acknowledgement:new Uint8Array)),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=D4e();return t.acknowledgement=e.acknowledgement??new Uint8Array,t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};function k4e(){return{portId:"",channelId:"",pagination:void 0,packetCommitmentSequences:[]}}hi.QueryPacketAcknowledgementsRequest={typeUrl:"/ibc.core.channel.v1.QueryPacketAcknowledgementsRequest",encode(e,t=ai.BinaryWriter.create()){e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),e.pagination!==void 0&&Va.PageRequest.encode(e.pagination,t.uint32(26).fork()).ldelim(),t.uint32(34).fork();for(let r of e.packetCommitmentSequences)t.uint64(r);return t.ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=k4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:n.pagination=Va.PageRequest.decode(r,r.uint32());break;case 4:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.packetCommitmentSequences.push(r.uint64())}else n.packetCommitmentSequences.push(r.uint64());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=k4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageRequest.fromJSON(e.pagination)),Array.isArray(e?.packetCommitmentSequences)&&(t.packetCommitmentSequences=e.packetCommitmentSequences.map(r=>BigInt(r.toString()))),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageRequest.toJSON(e.pagination):void 0),e.packetCommitmentSequences?t.packetCommitmentSequences=e.packetCommitmentSequences.map(r=>(r||BigInt(0)).toString()):t.packetCommitmentSequences=[],t},fromPartial(e){let t=k4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageRequest.fromPartial(e.pagination)),t.packetCommitmentSequences=e.packetCommitmentSequences?.map(r=>BigInt(r.toString()))||[],t}};function P4e(){return{acknowledgements:[],pagination:void 0,height:pi.Height.fromPartial({})}}hi.QueryPacketAcknowledgementsResponse={typeUrl:"/ibc.core.channel.v1.QueryPacketAcknowledgementsResponse",encode(e,t=ai.BinaryWriter.create()){for(let r of e.acknowledgements)u0.PacketState.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Va.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=P4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.acknowledgements.push(u0.PacketState.decode(r,r.uint32()));break;case 2:n.pagination=Va.PageResponse.decode(r,r.uint32());break;case 3:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=P4e();return Array.isArray(e?.acknowledgements)&&(t.acknowledgements=e.acknowledgements.map(r=>u0.PacketState.fromJSON(r))),(0,_i.isSet)(e.pagination)&&(t.pagination=Va.PageResponse.fromJSON(e.pagination)),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.acknowledgements?t.acknowledgements=e.acknowledgements.map(r=>r?u0.PacketState.toJSON(r):void 0):t.acknowledgements=[],e.pagination!==void 0&&(t.pagination=e.pagination?Va.PageResponse.toJSON(e.pagination):void 0),e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=P4e();return t.acknowledgements=e.acknowledgements?.map(r=>u0.PacketState.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Va.PageResponse.fromPartial(e.pagination)),e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function L4e(){return{portId:"",channelId:"",packetCommitmentSequences:[]}}hi.QueryUnreceivedPacketsRequest={typeUrl:"/ibc.core.channel.v1.QueryUnreceivedPacketsRequest",encode(e,t=ai.BinaryWriter.create()){e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t.uint32(26).fork();for(let r of e.packetCommitmentSequences)t.uint64(r);return t.ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=L4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.packetCommitmentSequences.push(r.uint64())}else n.packetCommitmentSequences.push(r.uint64());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=L4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),Array.isArray(e?.packetCommitmentSequences)&&(t.packetCommitmentSequences=e.packetCommitmentSequences.map(r=>BigInt(r.toString()))),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.packetCommitmentSequences?t.packetCommitmentSequences=e.packetCommitmentSequences.map(r=>(r||BigInt(0)).toString()):t.packetCommitmentSequences=[],t},fromPartial(e){let t=L4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.packetCommitmentSequences=e.packetCommitmentSequences?.map(r=>BigInt(r.toString()))||[],t}};function U4e(){return{sequences:[],height:pi.Height.fromPartial({})}}hi.QueryUnreceivedPacketsResponse={typeUrl:"/ibc.core.channel.v1.QueryUnreceivedPacketsResponse",encode(e,t=ai.BinaryWriter.create()){t.uint32(10).fork();for(let r of e.sequences)t.uint64(r);return t.ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=U4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.sequences.push(r.uint64())}else n.sequences.push(r.uint64());break;case 2:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=U4e();return Array.isArray(e?.sequences)&&(t.sequences=e.sequences.map(r=>BigInt(r.toString()))),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.sequences?t.sequences=e.sequences.map(r=>(r||BigInt(0)).toString()):t.sequences=[],e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=U4e();return t.sequences=e.sequences?.map(r=>BigInt(r.toString()))||[],e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function F4e(){return{portId:"",channelId:"",packetAckSequences:[]}}hi.QueryUnreceivedAcksRequest={typeUrl:"/ibc.core.channel.v1.QueryUnreceivedAcksRequest",encode(e,t=ai.BinaryWriter.create()){e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t.uint32(26).fork();for(let r of e.packetAckSequences)t.uint64(r);return t.ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=F4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;case 3:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.packetAckSequences.push(r.uint64())}else n.packetAckSequences.push(r.uint64());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=F4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),Array.isArray(e?.packetAckSequences)&&(t.packetAckSequences=e.packetAckSequences.map(r=>BigInt(r.toString()))),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),e.packetAckSequences?t.packetAckSequences=e.packetAckSequences.map(r=>(r||BigInt(0)).toString()):t.packetAckSequences=[],t},fromPartial(e){let t=F4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t.packetAckSequences=e.packetAckSequences?.map(r=>BigInt(r.toString()))||[],t}};function Q4e(){return{sequences:[],height:pi.Height.fromPartial({})}}hi.QueryUnreceivedAcksResponse={typeUrl:"/ibc.core.channel.v1.QueryUnreceivedAcksResponse",encode(e,t=ai.BinaryWriter.create()){t.uint32(10).fork();for(let r of e.sequences)t.uint64(r);return t.ldelim(),e.height!==void 0&&pi.Height.encode(e.height,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Q4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.sequences.push(r.uint64())}else n.sequences.push(r.uint64());break;case 2:n.height=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Q4e();return Array.isArray(e?.sequences)&&(t.sequences=e.sequences.map(r=>BigInt(r.toString()))),(0,_i.isSet)(e.height)&&(t.height=pi.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.sequences?t.sequences=e.sequences.map(r=>(r||BigInt(0)).toString()):t.sequences=[],e.height!==void 0&&(t.height=e.height?pi.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=Q4e();return t.sequences=e.sequences?.map(r=>BigInt(r.toString()))||[],e.height!==void 0&&e.height!==null&&(t.height=pi.Height.fromPartial(e.height)),t}};function H4e(){return{portId:"",channelId:""}}hi.QueryNextSequenceReceiveRequest={typeUrl:"/ibc.core.channel.v1.QueryNextSequenceReceiveRequest",encode(e,t=ai.BinaryWriter.create()){return e.portId!==""&&t.uint32(10).string(e.portId),e.channelId!==""&&t.uint32(18).string(e.channelId),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=H4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.portId=r.string();break;case 2:n.channelId=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=H4e();return(0,_i.isSet)(e.portId)&&(t.portId=String(e.portId)),(0,_i.isSet)(e.channelId)&&(t.channelId=String(e.channelId)),t},toJSON(e){let t={};return e.portId!==void 0&&(t.portId=e.portId),e.channelId!==void 0&&(t.channelId=e.channelId),t},fromPartial(e){let t=H4e();return t.portId=e.portId??"",t.channelId=e.channelId??"",t}};function G4e(){return{nextSequenceReceive:BigInt(0),proof:new Uint8Array,proofHeight:pi.Height.fromPartial({})}}hi.QueryNextSequenceReceiveResponse={typeUrl:"/ibc.core.channel.v1.QueryNextSequenceReceiveResponse",encode(e,t=ai.BinaryWriter.create()){return e.nextSequenceReceive!==BigInt(0)&&t.uint32(8).uint64(e.nextSequenceReceive),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&pi.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ai.BinaryReader?e:new ai.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=G4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.nextSequenceReceive=r.uint64();break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=pi.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=G4e();return(0,_i.isSet)(e.nextSequenceReceive)&&(t.nextSequenceReceive=BigInt(e.nextSequenceReceive.toString())),(0,_i.isSet)(e.proof)&&(t.proof=(0,_i.bytesFromBase64)(e.proof)),(0,_i.isSet)(e.proofHeight)&&(t.proofHeight=pi.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.nextSequenceReceive!==void 0&&(t.nextSequenceReceive=(e.nextSequenceReceive||BigInt(0)).toString()),e.proof!==void 0&&(t.proof=(0,_i.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?pi.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=G4e();return e.nextSequenceReceive!==void 0&&e.nextSequenceReceive!==null&&(t.nextSequenceReceive=BigInt(e.nextSequenceReceive.toString())),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=pi.Height.fromPartial(e.proofHeight)),t}};var q4e=class{constructor(t){this.rpc=t,this.Channel=this.Channel.bind(this),this.Channels=this.Channels.bind(this),this.ConnectionChannels=this.ConnectionChannels.bind(this),this.ChannelClientState=this.ChannelClientState.bind(this),this.ChannelConsensusState=this.ChannelConsensusState.bind(this),this.PacketCommitment=this.PacketCommitment.bind(this),this.PacketCommitments=this.PacketCommitments.bind(this),this.PacketReceipt=this.PacketReceipt.bind(this),this.PacketAcknowledgement=this.PacketAcknowledgement.bind(this),this.PacketAcknowledgements=this.PacketAcknowledgements.bind(this),this.UnreceivedPackets=this.UnreceivedPackets.bind(this),this.UnreceivedAcks=this.UnreceivedAcks.bind(this),this.NextSequenceReceive=this.NextSequenceReceive.bind(this)}Channel(t){let r=hi.QueryChannelRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","Channel",r).then(n=>hi.QueryChannelResponse.decode(new ai.BinaryReader(n)))}Channels(t={pagination:Va.PageRequest.fromPartial({})}){let r=hi.QueryChannelsRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","Channels",r).then(n=>hi.QueryChannelsResponse.decode(new ai.BinaryReader(n)))}ConnectionChannels(t){let r=hi.QueryConnectionChannelsRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","ConnectionChannels",r).then(n=>hi.QueryConnectionChannelsResponse.decode(new ai.BinaryReader(n)))}ChannelClientState(t){let r=hi.QueryChannelClientStateRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","ChannelClientState",r).then(n=>hi.QueryChannelClientStateResponse.decode(new ai.BinaryReader(n)))}ChannelConsensusState(t){let r=hi.QueryChannelConsensusStateRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","ChannelConsensusState",r).then(n=>hi.QueryChannelConsensusStateResponse.decode(new ai.BinaryReader(n)))}PacketCommitment(t){let r=hi.QueryPacketCommitmentRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","PacketCommitment",r).then(n=>hi.QueryPacketCommitmentResponse.decode(new ai.BinaryReader(n)))}PacketCommitments(t){let r=hi.QueryPacketCommitmentsRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","PacketCommitments",r).then(n=>hi.QueryPacketCommitmentsResponse.decode(new ai.BinaryReader(n)))}PacketReceipt(t){let r=hi.QueryPacketReceiptRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","PacketReceipt",r).then(n=>hi.QueryPacketReceiptResponse.decode(new ai.BinaryReader(n)))}PacketAcknowledgement(t){let r=hi.QueryPacketAcknowledgementRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","PacketAcknowledgement",r).then(n=>hi.QueryPacketAcknowledgementResponse.decode(new ai.BinaryReader(n)))}PacketAcknowledgements(t){let r=hi.QueryPacketAcknowledgementsRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","PacketAcknowledgements",r).then(n=>hi.QueryPacketAcknowledgementsResponse.decode(new ai.BinaryReader(n)))}UnreceivedPackets(t){let r=hi.QueryUnreceivedPacketsRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","UnreceivedPackets",r).then(n=>hi.QueryUnreceivedPacketsResponse.decode(new ai.BinaryReader(n)))}UnreceivedAcks(t){let r=hi.QueryUnreceivedAcksRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","UnreceivedAcks",r).then(n=>hi.QueryUnreceivedAcksResponse.decode(new ai.BinaryReader(n)))}NextSequenceReceive(t){let r=hi.QueryNextSequenceReceiveRequest.encode(t).finish();return this.rpc.request("ibc.core.channel.v1.Query","NextSequenceReceive",r).then(n=>hi.QueryNextSequenceReceiveResponse.decode(new ai.BinaryReader(n)))}};hi.QueryClientImpl=q4e});var ryt=ir(co=>{"use strict";J();K();z();Object.defineProperty(co,"__esModule",{value:!0});co.QueryClientImpl=co.QueryUpgradedConsensusStateResponse=co.QueryUpgradedConsensusStateRequest=co.QueryUpgradedClientStateResponse=co.QueryUpgradedClientStateRequest=co.QueryClientParamsResponse=co.QueryClientParamsRequest=co.QueryClientStatusResponse=co.QueryClientStatusRequest=co.QueryConsensusStateHeightsResponse=co.QueryConsensusStateHeightsRequest=co.QueryConsensusStatesResponse=co.QueryConsensusStatesRequest=co.QueryConsensusStateResponse=co.QueryConsensusStateRequest=co.QueryClientStatesResponse=co.QueryClientStatesRequest=co.QueryClientStateResponse=co.QueryClientStateRequest=co.protobufPackage=void 0;var Nc=jA(),Rf=ru(),Ac=NS(),ji=Qi(),Su=Hi();co.protobufPackage="ibc.core.client.v1";function V4e(){return{clientId:""}}co.QueryClientStateRequest={typeUrl:"/ibc.core.client.v1.QueryClientStateRequest",encode(e,t=ji.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=V4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.clientId=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=V4e();return(0,Su.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),t},fromPartial(e){let t=V4e();return t.clientId=e.clientId??"",t}};function J4e(){return{clientState:void 0,proof:new Uint8Array,proofHeight:Ac.Height.fromPartial({})}}co.QueryClientStateResponse={typeUrl:"/ibc.core.client.v1.QueryClientStateResponse",encode(e,t=ji.BinaryWriter.create()){return e.clientState!==void 0&&Rf.Any.encode(e.clientState,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&Ac.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=J4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientState=Rf.Any.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=Ac.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=J4e();return(0,Su.isSet)(e.clientState)&&(t.clientState=Rf.Any.fromJSON(e.clientState)),(0,Su.isSet)(e.proof)&&(t.proof=(0,Su.bytesFromBase64)(e.proof)),(0,Su.isSet)(e.proofHeight)&&(t.proofHeight=Ac.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.clientState!==void 0&&(t.clientState=e.clientState?Rf.Any.toJSON(e.clientState):void 0),e.proof!==void 0&&(t.proof=(0,Su.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Ac.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=J4e();return e.clientState!==void 0&&e.clientState!==null&&(t.clientState=Rf.Any.fromPartial(e.clientState)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Ac.Height.fromPartial(e.proofHeight)),t}};function z4e(){return{pagination:void 0}}co.QueryClientStatesRequest={typeUrl:"/ibc.core.client.v1.QueryClientStatesRequest",encode(e,t=ji.BinaryWriter.create()){return e.pagination!==void 0&&Nc.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=z4e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=Nc.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=z4e();return(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=z4e();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageRequest.fromPartial(e.pagination)),t}};function K4e(){return{clientStates:[],pagination:void 0}}co.QueryClientStatesResponse={typeUrl:"/ibc.core.client.v1.QueryClientStatesResponse",encode(e,t=ji.BinaryWriter.create()){for(let r of e.clientStates)Ac.IdentifiedClientState.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Nc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=K4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientStates.push(Ac.IdentifiedClientState.decode(r,r.uint32()));break;case 2:n.pagination=Nc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=K4e();return Array.isArray(e?.clientStates)&&(t.clientStates=e.clientStates.map(r=>Ac.IdentifiedClientState.fromJSON(r))),(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.clientStates?t.clientStates=e.clientStates.map(r=>r?Ac.IdentifiedClientState.toJSON(r):void 0):t.clientStates=[],e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=K4e();return t.clientStates=e.clientStates?.map(r=>Ac.IdentifiedClientState.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageResponse.fromPartial(e.pagination)),t}};function $4e(){return{clientId:"",revisionNumber:BigInt(0),revisionHeight:BigInt(0),latestHeight:!1}}co.QueryConsensusStateRequest={typeUrl:"/ibc.core.client.v1.QueryConsensusStateRequest",encode(e,t=ji.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.revisionNumber!==BigInt(0)&&t.uint32(16).uint64(e.revisionNumber),e.revisionHeight!==BigInt(0)&&t.uint32(24).uint64(e.revisionHeight),e.latestHeight===!0&&t.uint32(32).bool(e.latestHeight),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.revisionNumber=r.uint64();break;case 3:n.revisionHeight=r.uint64();break;case 4:n.latestHeight=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$4e();return(0,Su.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Su.isSet)(e.revisionNumber)&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),(0,Su.isSet)(e.revisionHeight)&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),(0,Su.isSet)(e.latestHeight)&&(t.latestHeight=!!e.latestHeight),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.revisionNumber!==void 0&&(t.revisionNumber=(e.revisionNumber||BigInt(0)).toString()),e.revisionHeight!==void 0&&(t.revisionHeight=(e.revisionHeight||BigInt(0)).toString()),e.latestHeight!==void 0&&(t.latestHeight=e.latestHeight),t},fromPartial(e){let t=$4e();return t.clientId=e.clientId??"",e.revisionNumber!==void 0&&e.revisionNumber!==null&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),e.revisionHeight!==void 0&&e.revisionHeight!==null&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t.latestHeight=e.latestHeight??!1,t}};function Y4e(){return{consensusState:void 0,proof:new Uint8Array,proofHeight:Ac.Height.fromPartial({})}}co.QueryConsensusStateResponse={typeUrl:"/ibc.core.client.v1.QueryConsensusStateResponse",encode(e,t=ji.BinaryWriter.create()){return e.consensusState!==void 0&&Rf.Any.encode(e.consensusState,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&Ac.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Y4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusState=Rf.Any.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=Ac.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Y4e();return(0,Su.isSet)(e.consensusState)&&(t.consensusState=Rf.Any.fromJSON(e.consensusState)),(0,Su.isSet)(e.proof)&&(t.proof=(0,Su.bytesFromBase64)(e.proof)),(0,Su.isSet)(e.proofHeight)&&(t.proofHeight=Ac.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.consensusState!==void 0&&(t.consensusState=e.consensusState?Rf.Any.toJSON(e.consensusState):void 0),e.proof!==void 0&&(t.proof=(0,Su.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?Ac.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=Y4e();return e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=Rf.Any.fromPartial(e.consensusState)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=Ac.Height.fromPartial(e.proofHeight)),t}};function W4e(){return{clientId:"",pagination:void 0}}co.QueryConsensusStatesRequest={typeUrl:"/ibc.core.client.v1.QueryConsensusStatesRequest",encode(e,t=ji.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.pagination!==void 0&&Nc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=W4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.pagination=Nc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=W4e();return(0,Su.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=W4e();return t.clientId=e.clientId??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageRequest.fromPartial(e.pagination)),t}};function X4e(){return{consensusStates:[],pagination:void 0}}co.QueryConsensusStatesResponse={typeUrl:"/ibc.core.client.v1.QueryConsensusStatesResponse",encode(e,t=ji.BinaryWriter.create()){for(let r of e.consensusStates)Ac.ConsensusStateWithHeight.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Nc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=X4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusStates.push(Ac.ConsensusStateWithHeight.decode(r,r.uint32()));break;case 2:n.pagination=Nc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=X4e();return Array.isArray(e?.consensusStates)&&(t.consensusStates=e.consensusStates.map(r=>Ac.ConsensusStateWithHeight.fromJSON(r))),(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.consensusStates?t.consensusStates=e.consensusStates.map(r=>r?Ac.ConsensusStateWithHeight.toJSON(r):void 0):t.consensusStates=[],e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=X4e();return t.consensusStates=e.consensusStates?.map(r=>Ac.ConsensusStateWithHeight.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageResponse.fromPartial(e.pagination)),t}};function Z4e(){return{clientId:"",pagination:void 0}}co.QueryConsensusStateHeightsRequest={typeUrl:"/ibc.core.client.v1.QueryConsensusStateHeightsRequest",encode(e,t=ji.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.pagination!==void 0&&Nc.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Z4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.pagination=Nc.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Z4e();return(0,Su.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=Z4e();return t.clientId=e.clientId??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageRequest.fromPartial(e.pagination)),t}};function j4e(){return{consensusStateHeights:[],pagination:void 0}}co.QueryConsensusStateHeightsResponse={typeUrl:"/ibc.core.client.v1.QueryConsensusStateHeightsResponse",encode(e,t=ji.BinaryWriter.create()){for(let r of e.consensusStateHeights)Ac.Height.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Nc.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=j4e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusStateHeights.push(Ac.Height.decode(r,r.uint32()));break;case 2:n.pagination=Nc.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=j4e();return Array.isArray(e?.consensusStateHeights)&&(t.consensusStateHeights=e.consensusStateHeights.map(r=>Ac.Height.fromJSON(r))),(0,Su.isSet)(e.pagination)&&(t.pagination=Nc.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.consensusStateHeights?t.consensusStateHeights=e.consensusStateHeights.map(r=>r?Ac.Height.toJSON(r):void 0):t.consensusStateHeights=[],e.pagination!==void 0&&(t.pagination=e.pagination?Nc.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=j4e();return t.consensusStateHeights=e.consensusStateHeights?.map(r=>Ac.Height.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Nc.PageResponse.fromPartial(e.pagination)),t}};function eCe(){return{clientId:""}}co.QueryClientStatusRequest={typeUrl:"/ibc.core.client.v1.QueryClientStatusRequest",encode(e,t=ji.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.clientId=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=eCe();return(0,Su.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),t},fromPartial(e){let t=eCe();return t.clientId=e.clientId??"",t}};function tCe(){return{status:""}}co.QueryClientStatusResponse={typeUrl:"/ibc.core.client.v1.QueryClientStatusResponse",encode(e,t=ji.BinaryWriter.create()){return e.status!==""&&t.uint32(10).string(e.status),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.status=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=tCe();return(0,Su.isSet)(e.status)&&(t.status=String(e.status)),t},toJSON(e){let t={};return e.status!==void 0&&(t.status=e.status),t},fromPartial(e){let t=tCe();return t.status=e.status??"",t}};function rCe(){return{}}co.QueryClientParamsRequest={typeUrl:"/ibc.core.client.v1.QueryClientParamsRequest",encode(e,t=ji.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return rCe()},toJSON(e){return{}},fromPartial(e){return rCe()}};function nCe(){return{params:void 0}}co.QueryClientParamsResponse={typeUrl:"/ibc.core.client.v1.QueryClientParamsResponse",encode(e,t=ji.BinaryWriter.create()){return e.params!==void 0&&Ac.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=Ac.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=nCe();return(0,Su.isSet)(e.params)&&(t.params=Ac.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?Ac.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=nCe();return e.params!==void 0&&e.params!==null&&(t.params=Ac.Params.fromPartial(e.params)),t}};function iCe(){return{}}co.QueryUpgradedClientStateRequest={typeUrl:"/ibc.core.client.v1.QueryUpgradedClientStateRequest",encode(e,t=ji.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return iCe()},toJSON(e){return{}},fromPartial(e){return iCe()}};function oCe(){return{upgradedClientState:void 0}}co.QueryUpgradedClientStateResponse={typeUrl:"/ibc.core.client.v1.QueryUpgradedClientStateResponse",encode(e,t=ji.BinaryWriter.create()){return e.upgradedClientState!==void 0&&Rf.Any.encode(e.upgradedClientState,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=oCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.upgradedClientState=Rf.Any.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=oCe();return(0,Su.isSet)(e.upgradedClientState)&&(t.upgradedClientState=Rf.Any.fromJSON(e.upgradedClientState)),t},toJSON(e){let t={};return e.upgradedClientState!==void 0&&(t.upgradedClientState=e.upgradedClientState?Rf.Any.toJSON(e.upgradedClientState):void 0),t},fromPartial(e){let t=oCe();return e.upgradedClientState!==void 0&&e.upgradedClientState!==null&&(t.upgradedClientState=Rf.Any.fromPartial(e.upgradedClientState)),t}};function aCe(){return{}}co.QueryUpgradedConsensusStateRequest={typeUrl:"/ibc.core.client.v1.QueryUpgradedConsensusStateRequest",encode(e,t=ji.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return aCe()},toJSON(e){return{}},fromPartial(e){return aCe()}};function sCe(){return{upgradedConsensusState:void 0}}co.QueryUpgradedConsensusStateResponse={typeUrl:"/ibc.core.client.v1.QueryUpgradedConsensusStateResponse",encode(e,t=ji.BinaryWriter.create()){return e.upgradedConsensusState!==void 0&&Rf.Any.encode(e.upgradedConsensusState,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof ji.BinaryReader?e:new ji.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.upgradedConsensusState=Rf.Any.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=sCe();return(0,Su.isSet)(e.upgradedConsensusState)&&(t.upgradedConsensusState=Rf.Any.fromJSON(e.upgradedConsensusState)),t},toJSON(e){let t={};return e.upgradedConsensusState!==void 0&&(t.upgradedConsensusState=e.upgradedConsensusState?Rf.Any.toJSON(e.upgradedConsensusState):void 0),t},fromPartial(e){let t=sCe();return e.upgradedConsensusState!==void 0&&e.upgradedConsensusState!==null&&(t.upgradedConsensusState=Rf.Any.fromPartial(e.upgradedConsensusState)),t}};var cCe=class{constructor(t){this.rpc=t,this.ClientState=this.ClientState.bind(this),this.ClientStates=this.ClientStates.bind(this),this.ConsensusState=this.ConsensusState.bind(this),this.ConsensusStates=this.ConsensusStates.bind(this),this.ConsensusStateHeights=this.ConsensusStateHeights.bind(this),this.ClientStatus=this.ClientStatus.bind(this),this.ClientParams=this.ClientParams.bind(this),this.UpgradedClientState=this.UpgradedClientState.bind(this),this.UpgradedConsensusState=this.UpgradedConsensusState.bind(this)}ClientState(t){let r=co.QueryClientStateRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ClientState",r).then(n=>co.QueryClientStateResponse.decode(new ji.BinaryReader(n)))}ClientStates(t={pagination:Nc.PageRequest.fromPartial({})}){let r=co.QueryClientStatesRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ClientStates",r).then(n=>co.QueryClientStatesResponse.decode(new ji.BinaryReader(n)))}ConsensusState(t){let r=co.QueryConsensusStateRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ConsensusState",r).then(n=>co.QueryConsensusStateResponse.decode(new ji.BinaryReader(n)))}ConsensusStates(t){let r=co.QueryConsensusStatesRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ConsensusStates",r).then(n=>co.QueryConsensusStatesResponse.decode(new ji.BinaryReader(n)))}ConsensusStateHeights(t){let r=co.QueryConsensusStateHeightsRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ConsensusStateHeights",r).then(n=>co.QueryConsensusStateHeightsResponse.decode(new ji.BinaryReader(n)))}ClientStatus(t){let r=co.QueryClientStatusRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ClientStatus",r).then(n=>co.QueryClientStatusResponse.decode(new ji.BinaryReader(n)))}ClientParams(t={}){let r=co.QueryClientParamsRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","ClientParams",r).then(n=>co.QueryClientParamsResponse.decode(new ji.BinaryReader(n)))}UpgradedClientState(t={}){let r=co.QueryUpgradedClientStateRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","UpgradedClientState",r).then(n=>co.QueryUpgradedClientStateResponse.decode(new ji.BinaryReader(n)))}UpgradedConsensusState(t={}){let r=co.QueryUpgradedConsensusStateRequest.encode(t).finish();return this.rpc.request("ibc.core.client.v1.Query","UpgradedConsensusState",r).then(n=>co.QueryUpgradedConsensusStateResponse.decode(new ji.BinaryReader(n)))}};co.QueryClientImpl=cCe});var nyt=ir(Na=>{"use strict";J();K();z();Object.defineProperty(Na,"__esModule",{value:!0});Na.QueryClientImpl=Na.QueryConnectionParamsResponse=Na.QueryConnectionParamsRequest=Na.QueryConnectionConsensusStateResponse=Na.QueryConnectionConsensusStateRequest=Na.QueryConnectionClientStateResponse=Na.QueryConnectionClientStateRequest=Na.QueryClientConnectionsResponse=Na.QueryClientConnectionsRequest=Na.QueryConnectionsResponse=Na.QueryConnectionsRequest=Na.QueryConnectionResponse=Na.QueryConnectionRequest=Na.protobufPackage=void 0;var Sy=jA(),HE=$8e(),ja=NS(),oQ=ru(),xa=Qi(),Hc=Hi();Na.protobufPackage="ibc.core.connection.v1";function uCe(){return{connectionId:""}}Na.QueryConnectionRequest={typeUrl:"/ibc.core.connection.v1.QueryConnectionRequest",encode(e,t=xa.BinaryWriter.create()){return e.connectionId!==""&&t.uint32(10).string(e.connectionId),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.connectionId=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=uCe();return(0,Hc.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),t},toJSON(e){let t={};return e.connectionId!==void 0&&(t.connectionId=e.connectionId),t},fromPartial(e){let t=uCe();return t.connectionId=e.connectionId??"",t}};function dCe(){return{connection:void 0,proof:new Uint8Array,proofHeight:ja.Height.fromPartial({})}}Na.QueryConnectionResponse={typeUrl:"/ibc.core.connection.v1.QueryConnectionResponse",encode(e,t=xa.BinaryWriter.create()){return e.connection!==void 0&&HE.ConnectionEnd.encode(e.connection,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&ja.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connection=HE.ConnectionEnd.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=ja.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=dCe();return(0,Hc.isSet)(e.connection)&&(t.connection=HE.ConnectionEnd.fromJSON(e.connection)),(0,Hc.isSet)(e.proof)&&(t.proof=(0,Hc.bytesFromBase64)(e.proof)),(0,Hc.isSet)(e.proofHeight)&&(t.proofHeight=ja.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.connection!==void 0&&(t.connection=e.connection?HE.ConnectionEnd.toJSON(e.connection):void 0),e.proof!==void 0&&(t.proof=(0,Hc.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?ja.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=dCe();return e.connection!==void 0&&e.connection!==null&&(t.connection=HE.ConnectionEnd.fromPartial(e.connection)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=ja.Height.fromPartial(e.proofHeight)),t}};function fCe(){return{pagination:void 0}}Na.QueryConnectionsRequest={typeUrl:"/ibc.core.connection.v1.QueryConnectionsRequest",encode(e,t=xa.BinaryWriter.create()){return e.pagination!==void 0&&Sy.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=Sy.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=fCe();return(0,Hc.isSet)(e.pagination)&&(t.pagination=Sy.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?Sy.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=fCe();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Sy.PageRequest.fromPartial(e.pagination)),t}};function lCe(){return{connections:[],pagination:void 0,height:ja.Height.fromPartial({})}}Na.QueryConnectionsResponse={typeUrl:"/ibc.core.connection.v1.QueryConnectionsResponse",encode(e,t=xa.BinaryWriter.create()){for(let r of e.connections)HE.IdentifiedConnection.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Sy.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.height!==void 0&&ja.Height.encode(e.height,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=lCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connections.push(HE.IdentifiedConnection.decode(r,r.uint32()));break;case 2:n.pagination=Sy.PageResponse.decode(r,r.uint32());break;case 3:n.height=ja.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=lCe();return Array.isArray(e?.connections)&&(t.connections=e.connections.map(r=>HE.IdentifiedConnection.fromJSON(r))),(0,Hc.isSet)(e.pagination)&&(t.pagination=Sy.PageResponse.fromJSON(e.pagination)),(0,Hc.isSet)(e.height)&&(t.height=ja.Height.fromJSON(e.height)),t},toJSON(e){let t={};return e.connections?t.connections=e.connections.map(r=>r?HE.IdentifiedConnection.toJSON(r):void 0):t.connections=[],e.pagination!==void 0&&(t.pagination=e.pagination?Sy.PageResponse.toJSON(e.pagination):void 0),e.height!==void 0&&(t.height=e.height?ja.Height.toJSON(e.height):void 0),t},fromPartial(e){let t=lCe();return t.connections=e.connections?.map(r=>HE.IdentifiedConnection.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Sy.PageResponse.fromPartial(e.pagination)),e.height!==void 0&&e.height!==null&&(t.height=ja.Height.fromPartial(e.height)),t}};function hCe(){return{clientId:""}}Na.QueryClientConnectionsRequest={typeUrl:"/ibc.core.connection.v1.QueryClientConnectionsRequest",encode(e,t=xa.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.clientId=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=hCe();return(0,Hc.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),t},fromPartial(e){let t=hCe();return t.clientId=e.clientId??"",t}};function ACe(){return{connectionPaths:[],proof:new Uint8Array,proofHeight:ja.Height.fromPartial({})}}Na.QueryClientConnectionsResponse={typeUrl:"/ibc.core.connection.v1.QueryClientConnectionsResponse",encode(e,t=xa.BinaryWriter.create()){for(let r of e.connectionPaths)t.uint32(10).string(r);return e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&ja.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ACe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connectionPaths.push(r.string());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=ja.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ACe();return Array.isArray(e?.connectionPaths)&&(t.connectionPaths=e.connectionPaths.map(r=>String(r))),(0,Hc.isSet)(e.proof)&&(t.proof=(0,Hc.bytesFromBase64)(e.proof)),(0,Hc.isSet)(e.proofHeight)&&(t.proofHeight=ja.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.connectionPaths?t.connectionPaths=e.connectionPaths.map(r=>r):t.connectionPaths=[],e.proof!==void 0&&(t.proof=(0,Hc.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?ja.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=ACe();return t.connectionPaths=e.connectionPaths?.map(r=>r)||[],t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=ja.Height.fromPartial(e.proofHeight)),t}};function pCe(){return{connectionId:""}}Na.QueryConnectionClientStateRequest={typeUrl:"/ibc.core.connection.v1.QueryConnectionClientStateRequest",encode(e,t=xa.BinaryWriter.create()){return e.connectionId!==""&&t.uint32(10).string(e.connectionId),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.connectionId=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=pCe();return(0,Hc.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),t},toJSON(e){let t={};return e.connectionId!==void 0&&(t.connectionId=e.connectionId),t},fromPartial(e){let t=pCe();return t.connectionId=e.connectionId??"",t}};function gCe(){return{identifiedClientState:void 0,proof:new Uint8Array,proofHeight:ja.Height.fromPartial({})}}Na.QueryConnectionClientStateResponse={typeUrl:"/ibc.core.connection.v1.QueryConnectionClientStateResponse",encode(e,t=xa.BinaryWriter.create()){return e.identifiedClientState!==void 0&&ja.IdentifiedClientState.encode(e.identifiedClientState,t.uint32(10).fork()).ldelim(),e.proof.length!==0&&t.uint32(18).bytes(e.proof),e.proofHeight!==void 0&&ja.Height.encode(e.proofHeight,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.identifiedClientState=ja.IdentifiedClientState.decode(r,r.uint32());break;case 2:n.proof=r.bytes();break;case 3:n.proofHeight=ja.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=gCe();return(0,Hc.isSet)(e.identifiedClientState)&&(t.identifiedClientState=ja.IdentifiedClientState.fromJSON(e.identifiedClientState)),(0,Hc.isSet)(e.proof)&&(t.proof=(0,Hc.bytesFromBase64)(e.proof)),(0,Hc.isSet)(e.proofHeight)&&(t.proofHeight=ja.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.identifiedClientState!==void 0&&(t.identifiedClientState=e.identifiedClientState?ja.IdentifiedClientState.toJSON(e.identifiedClientState):void 0),e.proof!==void 0&&(t.proof=(0,Hc.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?ja.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=gCe();return e.identifiedClientState!==void 0&&e.identifiedClientState!==null&&(t.identifiedClientState=ja.IdentifiedClientState.fromPartial(e.identifiedClientState)),t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=ja.Height.fromPartial(e.proofHeight)),t}};function _Ce(){return{connectionId:"",revisionNumber:BigInt(0),revisionHeight:BigInt(0)}}Na.QueryConnectionConsensusStateRequest={typeUrl:"/ibc.core.connection.v1.QueryConnectionConsensusStateRequest",encode(e,t=xa.BinaryWriter.create()){return e.connectionId!==""&&t.uint32(10).string(e.connectionId),e.revisionNumber!==BigInt(0)&&t.uint32(16).uint64(e.revisionNumber),e.revisionHeight!==BigInt(0)&&t.uint32(24).uint64(e.revisionHeight),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_Ce();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.connectionId=r.string();break;case 2:n.revisionNumber=r.uint64();break;case 3:n.revisionHeight=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_Ce();return(0,Hc.isSet)(e.connectionId)&&(t.connectionId=String(e.connectionId)),(0,Hc.isSet)(e.revisionNumber)&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),(0,Hc.isSet)(e.revisionHeight)&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t},toJSON(e){let t={};return e.connectionId!==void 0&&(t.connectionId=e.connectionId),e.revisionNumber!==void 0&&(t.revisionNumber=(e.revisionNumber||BigInt(0)).toString()),e.revisionHeight!==void 0&&(t.revisionHeight=(e.revisionHeight||BigInt(0)).toString()),t},fromPartial(e){let t=_Ce();return t.connectionId=e.connectionId??"",e.revisionNumber!==void 0&&e.revisionNumber!==null&&(t.revisionNumber=BigInt(e.revisionNumber.toString())),e.revisionHeight!==void 0&&e.revisionHeight!==null&&(t.revisionHeight=BigInt(e.revisionHeight.toString())),t}};function mCe(){return{consensusState:void 0,clientId:"",proof:new Uint8Array,proofHeight:ja.Height.fromPartial({})}}Na.QueryConnectionConsensusStateResponse={typeUrl:"/ibc.core.connection.v1.QueryConnectionConsensusStateResponse",encode(e,t=xa.BinaryWriter.create()){return e.consensusState!==void 0&&oQ.Any.encode(e.consensusState,t.uint32(10).fork()).ldelim(),e.clientId!==""&&t.uint32(18).string(e.clientId),e.proof.length!==0&&t.uint32(26).bytes(e.proof),e.proofHeight!==void 0&&ja.Height.encode(e.proofHeight,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusState=oQ.Any.decode(r,r.uint32());break;case 2:n.clientId=r.string();break;case 3:n.proof=r.bytes();break;case 4:n.proofHeight=ja.Height.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=mCe();return(0,Hc.isSet)(e.consensusState)&&(t.consensusState=oQ.Any.fromJSON(e.consensusState)),(0,Hc.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,Hc.isSet)(e.proof)&&(t.proof=(0,Hc.bytesFromBase64)(e.proof)),(0,Hc.isSet)(e.proofHeight)&&(t.proofHeight=ja.Height.fromJSON(e.proofHeight)),t},toJSON(e){let t={};return e.consensusState!==void 0&&(t.consensusState=e.consensusState?oQ.Any.toJSON(e.consensusState):void 0),e.clientId!==void 0&&(t.clientId=e.clientId),e.proof!==void 0&&(t.proof=(0,Hc.base64FromBytes)(e.proof!==void 0?e.proof:new Uint8Array)),e.proofHeight!==void 0&&(t.proofHeight=e.proofHeight?ja.Height.toJSON(e.proofHeight):void 0),t},fromPartial(e){let t=mCe();return e.consensusState!==void 0&&e.consensusState!==null&&(t.consensusState=oQ.Any.fromPartial(e.consensusState)),t.clientId=e.clientId??"",t.proof=e.proof??new Uint8Array,e.proofHeight!==void 0&&e.proofHeight!==null&&(t.proofHeight=ja.Height.fromPartial(e.proofHeight)),t}};function yCe(){return{}}Na.QueryConnectionParamsRequest={typeUrl:"/ibc.core.connection.v1.QueryConnectionParamsRequest",encode(e,t=xa.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=yCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return yCe()},toJSON(e){return{}},fromPartial(e){return yCe()}};function bCe(){return{params:void 0}}Na.QueryConnectionParamsResponse={typeUrl:"/ibc.core.connection.v1.QueryConnectionParamsResponse",encode(e,t=xa.BinaryWriter.create()){return e.params!==void 0&&ja.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof xa.BinaryReader?e:new xa.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=ja.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=bCe();return(0,Hc.isSet)(e.params)&&(t.params=ja.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?ja.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=bCe();return e.params!==void 0&&e.params!==null&&(t.params=ja.Params.fromPartial(e.params)),t}};var ECe=class{constructor(t){this.rpc=t,this.Connection=this.Connection.bind(this),this.Connections=this.Connections.bind(this),this.ClientConnections=this.ClientConnections.bind(this),this.ConnectionClientState=this.ConnectionClientState.bind(this),this.ConnectionConsensusState=this.ConnectionConsensusState.bind(this),this.ConnectionParams=this.ConnectionParams.bind(this)}Connection(t){let r=Na.QueryConnectionRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","Connection",r).then(n=>Na.QueryConnectionResponse.decode(new xa.BinaryReader(n)))}Connections(t={pagination:Sy.PageRequest.fromPartial({})}){let r=Na.QueryConnectionsRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","Connections",r).then(n=>Na.QueryConnectionsResponse.decode(new xa.BinaryReader(n)))}ClientConnections(t){let r=Na.QueryClientConnectionsRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","ClientConnections",r).then(n=>Na.QueryClientConnectionsResponse.decode(new xa.BinaryReader(n)))}ConnectionClientState(t){let r=Na.QueryConnectionClientStateRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","ConnectionClientState",r).then(n=>Na.QueryConnectionClientStateResponse.decode(new xa.BinaryReader(n)))}ConnectionConsensusState(t){let r=Na.QueryConnectionConsensusStateRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","ConnectionConsensusState",r).then(n=>Na.QueryConnectionConsensusStateResponse.decode(new xa.BinaryReader(n)))}ConnectionParams(t={}){let r=Na.QueryConnectionParamsRequest.encode(t).finish();return this.rpc.request("ibc.core.connection.v1.Query","ConnectionParams",r).then(n=>Na.QueryConnectionParamsResponse.decode(new xa.BinaryReader(n)))}};Na.QueryClientImpl=ECe});var wCe=ir(N0=>{"use strict";J();K();z();Object.defineProperty(N0,"__esModule",{value:!0});N0.ProofOps=N0.ProofOp=N0.DominoOp=N0.ValueOp=N0.Proof=N0.protobufPackage=void 0;var up=Qi(),$d=Hi();N0.protobufPackage="tendermint.crypto";function vCe(){return{total:BigInt(0),index:BigInt(0),leafHash:new Uint8Array,aunts:[]}}N0.Proof={typeUrl:"/tendermint.crypto.Proof",encode(e,t=up.BinaryWriter.create()){e.total!==BigInt(0)&&t.uint32(8).int64(e.total),e.index!==BigInt(0)&&t.uint32(16).int64(e.index),e.leafHash.length!==0&&t.uint32(26).bytes(e.leafHash);for(let r of e.aunts)t.uint32(34).bytes(r);return t},decode(e,t){let r=e instanceof up.BinaryReader?e:new up.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.total=r.int64();break;case 2:n.index=r.int64();break;case 3:n.leafHash=r.bytes();break;case 4:n.aunts.push(r.bytes());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vCe();return(0,$d.isSet)(e.total)&&(t.total=BigInt(e.total.toString())),(0,$d.isSet)(e.index)&&(t.index=BigInt(e.index.toString())),(0,$d.isSet)(e.leafHash)&&(t.leafHash=(0,$d.bytesFromBase64)(e.leafHash)),Array.isArray(e?.aunts)&&(t.aunts=e.aunts.map(r=>(0,$d.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.total!==void 0&&(t.total=(e.total||BigInt(0)).toString()),e.index!==void 0&&(t.index=(e.index||BigInt(0)).toString()),e.leafHash!==void 0&&(t.leafHash=(0,$d.base64FromBytes)(e.leafHash!==void 0?e.leafHash:new Uint8Array)),e.aunts?t.aunts=e.aunts.map(r=>(0,$d.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.aunts=[],t},fromPartial(e){let t=vCe();return e.total!==void 0&&e.total!==null&&(t.total=BigInt(e.total.toString())),e.index!==void 0&&e.index!==null&&(t.index=BigInt(e.index.toString())),t.leafHash=e.leafHash??new Uint8Array,t.aunts=e.aunts?.map(r=>r)||[],t}};function RCe(){return{key:new Uint8Array,proof:void 0}}N0.ValueOp={typeUrl:"/tendermint.crypto.ValueOp",encode(e,t=up.BinaryWriter.create()){return e.key.length!==0&&t.uint32(10).bytes(e.key),e.proof!==void 0&&N0.Proof.encode(e.proof,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof up.BinaryReader?e:new up.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=RCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.bytes();break;case 2:n.proof=N0.Proof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=RCe();return(0,$d.isSet)(e.key)&&(t.key=(0,$d.bytesFromBase64)(e.key)),(0,$d.isSet)(e.proof)&&(t.proof=N0.Proof.fromJSON(e.proof)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=(0,$d.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.proof!==void 0&&(t.proof=e.proof?N0.Proof.toJSON(e.proof):void 0),t},fromPartial(e){let t=RCe();return t.key=e.key??new Uint8Array,e.proof!==void 0&&e.proof!==null&&(t.proof=N0.Proof.fromPartial(e.proof)),t}};function SCe(){return{key:"",input:"",output:""}}N0.DominoOp={typeUrl:"/tendermint.crypto.DominoOp",encode(e,t=up.BinaryWriter.create()){return e.key!==""&&t.uint32(10).string(e.key),e.input!==""&&t.uint32(18).string(e.input),e.output!==""&&t.uint32(26).string(e.output),t},decode(e,t){let r=e instanceof up.BinaryReader?e:new up.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.string();break;case 2:n.input=r.string();break;case 3:n.output=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=SCe();return(0,$d.isSet)(e.key)&&(t.key=String(e.key)),(0,$d.isSet)(e.input)&&(t.input=String(e.input)),(0,$d.isSet)(e.output)&&(t.output=String(e.output)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=e.key),e.input!==void 0&&(t.input=e.input),e.output!==void 0&&(t.output=e.output),t},fromPartial(e){let t=SCe();return t.key=e.key??"",t.input=e.input??"",t.output=e.output??"",t}};function ICe(){return{type:"",key:new Uint8Array,data:new Uint8Array}}N0.ProofOp={typeUrl:"/tendermint.crypto.ProofOp",encode(e,t=up.BinaryWriter.create()){return e.type!==""&&t.uint32(10).string(e.type),e.key.length!==0&&t.uint32(18).bytes(e.key),e.data.length!==0&&t.uint32(26).bytes(e.data),t},decode(e,t){let r=e instanceof up.BinaryReader?e:new up.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ICe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.string();break;case 2:n.key=r.bytes();break;case 3:n.data=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ICe();return(0,$d.isSet)(e.type)&&(t.type=String(e.type)),(0,$d.isSet)(e.key)&&(t.key=(0,$d.bytesFromBase64)(e.key)),(0,$d.isSet)(e.data)&&(t.data=(0,$d.bytesFromBase64)(e.data)),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=e.type),e.key!==void 0&&(t.key=(0,$d.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.data!==void 0&&(t.data=(0,$d.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),t},fromPartial(e){let t=ICe();return t.type=e.type??"",t.key=e.key??new Uint8Array,t.data=e.data??new Uint8Array,t}};function CCe(){return{ops:[]}}N0.ProofOps={typeUrl:"/tendermint.crypto.ProofOps",encode(e,t=up.BinaryWriter.create()){for(let r of e.ops)N0.ProofOp.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof up.BinaryReader?e:new up.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=CCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.ops.push(N0.ProofOp.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=CCe();return Array.isArray(e?.ops)&&(t.ops=e.ops.map(r=>N0.ProofOp.fromJSON(r))),t},toJSON(e){let t={};return e.ops?t.ops=e.ops.map(r=>r?N0.ProofOp.toJSON(r):void 0):t.ops=[],t},fromPartial(e){let t=CCe();return t.ops=e.ops?.map(r=>N0.ProofOp.fromPartial(r))||[],t}}});var iyt=ir(c8=>{"use strict";J();K();z();Object.defineProperty(c8,"__esModule",{value:!0});c8.Consensus=c8.App=c8.protobufPackage=void 0;var _9=Qi(),rte=Hi();c8.protobufPackage="tendermint.version";function OCe(){return{protocol:BigInt(0),software:""}}c8.App={typeUrl:"/tendermint.version.App",encode(e,t=_9.BinaryWriter.create()){return e.protocol!==BigInt(0)&&t.uint32(8).uint64(e.protocol),e.software!==""&&t.uint32(18).string(e.software),t},decode(e,t){let r=e instanceof _9.BinaryReader?e:new _9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=OCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.protocol=r.uint64();break;case 2:n.software=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=OCe();return(0,rte.isSet)(e.protocol)&&(t.protocol=BigInt(e.protocol.toString())),(0,rte.isSet)(e.software)&&(t.software=String(e.software)),t},toJSON(e){let t={};return e.protocol!==void 0&&(t.protocol=(e.protocol||BigInt(0)).toString()),e.software!==void 0&&(t.software=e.software),t},fromPartial(e){let t=OCe();return e.protocol!==void 0&&e.protocol!==null&&(t.protocol=BigInt(e.protocol.toString())),t.software=e.software??"",t}};function NCe(){return{block:BigInt(0),app:BigInt(0)}}c8.Consensus={typeUrl:"/tendermint.version.Consensus",encode(e,t=_9.BinaryWriter.create()){return e.block!==BigInt(0)&&t.uint32(8).uint64(e.block),e.app!==BigInt(0)&&t.uint32(16).uint64(e.app),t},decode(e,t){let r=e instanceof _9.BinaryReader?e:new _9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=NCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.block=r.uint64();break;case 2:n.app=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=NCe();return(0,rte.isSet)(e.block)&&(t.block=BigInt(e.block.toString())),(0,rte.isSet)(e.app)&&(t.app=BigInt(e.app.toString())),t},toJSON(e){let t={};return e.block!==void 0&&(t.block=(e.block||BigInt(0)).toString()),e.app!==void 0&&(t.app=(e.app||BigInt(0)).toString()),t},fromPartial(e){let t=NCe();return e.block!==void 0&&e.block!==null&&(t.block=BigInt(e.block.toString())),e.app!==void 0&&e.app!==null&&(t.app=BigInt(e.app.toString())),t}}});var BCe=ir(y9=>{"use strict";J();K();z();Object.defineProperty(y9,"__esModule",{value:!0});y9.PublicKey=y9.protobufPackage=void 0;var xCe=Qi(),m9=Hi();y9.protobufPackage="tendermint.crypto";function TCe(){return{ed25519:void 0,secp256k1:void 0}}y9.PublicKey={typeUrl:"/tendermint.crypto.PublicKey",encode(e,t=xCe.BinaryWriter.create()){return e.ed25519!==void 0&&t.uint32(10).bytes(e.ed25519),e.secp256k1!==void 0&&t.uint32(18).bytes(e.secp256k1),t},decode(e,t){let r=e instanceof xCe.BinaryReader?e:new xCe.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.ed25519=r.bytes();break;case 2:n.secp256k1=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=TCe();return(0,m9.isSet)(e.ed25519)&&(t.ed25519=(0,m9.bytesFromBase64)(e.ed25519)),(0,m9.isSet)(e.secp256k1)&&(t.secp256k1=(0,m9.bytesFromBase64)(e.secp256k1)),t},toJSON(e){let t={};return e.ed25519!==void 0&&(t.ed25519=e.ed25519!==void 0?(0,m9.base64FromBytes)(e.ed25519):void 0),e.secp256k1!==void 0&&(t.secp256k1=e.secp256k1!==void 0?(0,m9.base64FromBytes)(e.secp256k1):void 0),t},fromPartial(e){let t=TCe();return t.ed25519=e.ed25519??void 0,t.secp256k1=e.secp256k1??void 0,t}}});var nte=ir(Sf=>{"use strict";J();K();z();Object.defineProperty(Sf,"__esModule",{value:!0});Sf.SimpleValidator=Sf.Validator=Sf.ValidatorSet=Sf.protobufPackage=void 0;var Iy=BCe(),TS=Qi(),GE=Hi();Sf.protobufPackage="tendermint.types";function MCe(){return{validators:[],proposer:void 0,totalVotingPower:BigInt(0)}}Sf.ValidatorSet={typeUrl:"/tendermint.types.ValidatorSet",encode(e,t=TS.BinaryWriter.create()){for(let r of e.validators)Sf.Validator.encode(r,t.uint32(10).fork()).ldelim();return e.proposer!==void 0&&Sf.Validator.encode(e.proposer,t.uint32(18).fork()).ldelim(),e.totalVotingPower!==BigInt(0)&&t.uint32(24).int64(e.totalVotingPower),t},decode(e,t){let r=e instanceof TS.BinaryReader?e:new TS.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=MCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validators.push(Sf.Validator.decode(r,r.uint32()));break;case 2:n.proposer=Sf.Validator.decode(r,r.uint32());break;case 3:n.totalVotingPower=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=MCe();return Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>Sf.Validator.fromJSON(r))),(0,GE.isSet)(e.proposer)&&(t.proposer=Sf.Validator.fromJSON(e.proposer)),(0,GE.isSet)(e.totalVotingPower)&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),t},toJSON(e){let t={};return e.validators?t.validators=e.validators.map(r=>r?Sf.Validator.toJSON(r):void 0):t.validators=[],e.proposer!==void 0&&(t.proposer=e.proposer?Sf.Validator.toJSON(e.proposer):void 0),e.totalVotingPower!==void 0&&(t.totalVotingPower=(e.totalVotingPower||BigInt(0)).toString()),t},fromPartial(e){let t=MCe();return t.validators=e.validators?.map(r=>Sf.Validator.fromPartial(r))||[],e.proposer!==void 0&&e.proposer!==null&&(t.proposer=Sf.Validator.fromPartial(e.proposer)),e.totalVotingPower!==void 0&&e.totalVotingPower!==null&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),t}};function DCe(){return{address:new Uint8Array,pubKey:Iy.PublicKey.fromPartial({}),votingPower:BigInt(0),proposerPriority:BigInt(0)}}Sf.Validator={typeUrl:"/tendermint.types.Validator",encode(e,t=TS.BinaryWriter.create()){return e.address.length!==0&&t.uint32(10).bytes(e.address),e.pubKey!==void 0&&Iy.PublicKey.encode(e.pubKey,t.uint32(18).fork()).ldelim(),e.votingPower!==BigInt(0)&&t.uint32(24).int64(e.votingPower),e.proposerPriority!==BigInt(0)&&t.uint32(32).int64(e.proposerPriority),t},decode(e,t){let r=e instanceof TS.BinaryReader?e:new TS.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=DCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.bytes();break;case 2:n.pubKey=Iy.PublicKey.decode(r,r.uint32());break;case 3:n.votingPower=r.int64();break;case 4:n.proposerPriority=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=DCe();return(0,GE.isSet)(e.address)&&(t.address=(0,GE.bytesFromBase64)(e.address)),(0,GE.isSet)(e.pubKey)&&(t.pubKey=Iy.PublicKey.fromJSON(e.pubKey)),(0,GE.isSet)(e.votingPower)&&(t.votingPower=BigInt(e.votingPower.toString())),(0,GE.isSet)(e.proposerPriority)&&(t.proposerPriority=BigInt(e.proposerPriority.toString())),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=(0,GE.base64FromBytes)(e.address!==void 0?e.address:new Uint8Array)),e.pubKey!==void 0&&(t.pubKey=e.pubKey?Iy.PublicKey.toJSON(e.pubKey):void 0),e.votingPower!==void 0&&(t.votingPower=(e.votingPower||BigInt(0)).toString()),e.proposerPriority!==void 0&&(t.proposerPriority=(e.proposerPriority||BigInt(0)).toString()),t},fromPartial(e){let t=DCe();return t.address=e.address??new Uint8Array,e.pubKey!==void 0&&e.pubKey!==null&&(t.pubKey=Iy.PublicKey.fromPartial(e.pubKey)),e.votingPower!==void 0&&e.votingPower!==null&&(t.votingPower=BigInt(e.votingPower.toString())),e.proposerPriority!==void 0&&e.proposerPriority!==null&&(t.proposerPriority=BigInt(e.proposerPriority.toString())),t}};function kCe(){return{pubKey:void 0,votingPower:BigInt(0)}}Sf.SimpleValidator={typeUrl:"/tendermint.types.SimpleValidator",encode(e,t=TS.BinaryWriter.create()){return e.pubKey!==void 0&&Iy.PublicKey.encode(e.pubKey,t.uint32(10).fork()).ldelim(),e.votingPower!==BigInt(0)&&t.uint32(16).int64(e.votingPower),t},decode(e,t){let r=e instanceof TS.BinaryReader?e:new TS.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.pubKey=Iy.PublicKey.decode(r,r.uint32());break;case 2:n.votingPower=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kCe();return(0,GE.isSet)(e.pubKey)&&(t.pubKey=Iy.PublicKey.fromJSON(e.pubKey)),(0,GE.isSet)(e.votingPower)&&(t.votingPower=BigInt(e.votingPower.toString())),t},toJSON(e){let t={};return e.pubKey!==void 0&&(t.pubKey=e.pubKey?Iy.PublicKey.toJSON(e.pubKey):void 0),e.votingPower!==void 0&&(t.votingPower=(e.votingPower||BigInt(0)).toString()),t},fromPartial(e){let t=kCe();return e.pubKey!==void 0&&e.pubKey!==null&&(t.pubKey=Iy.PublicKey.fromPartial(e.pubKey)),e.votingPower!==void 0&&e.votingPower!==null&&(t.votingPower=BigInt(e.votingPower.toString())),t}}});var C5=ir(Gn=>{"use strict";J();K();z();Object.defineProperty(Gn,"__esModule",{value:!0});Gn.TxProof=Gn.BlockMeta=Gn.LightBlock=Gn.SignedHeader=Gn.Proposal=Gn.CommitSig=Gn.Commit=Gn.Vote=Gn.Data=Gn.Header=Gn.BlockID=Gn.Part=Gn.PartSetHeader=Gn.signedMsgTypeToJSON=Gn.signedMsgTypeFromJSON=Gn.SignedMsgType=Gn.blockIDFlagToJSON=Gn.blockIDFlagFromJSON=Gn.BlockIDFlag=Gn.protobufPackage=void 0;var Cy=wCe(),b9=iyt(),lA=u1(),aQ=nte(),as=Qi(),Jn=Hi();Gn.protobufPackage="tendermint.types";var k2;(function(e){e[e.BLOCK_ID_FLAG_UNKNOWN=0]="BLOCK_ID_FLAG_UNKNOWN",e[e.BLOCK_ID_FLAG_ABSENT=1]="BLOCK_ID_FLAG_ABSENT",e[e.BLOCK_ID_FLAG_COMMIT=2]="BLOCK_ID_FLAG_COMMIT",e[e.BLOCK_ID_FLAG_NIL=3]="BLOCK_ID_FLAG_NIL",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(k2||(Gn.BlockIDFlag=k2={}));function oyt(e){switch(e){case 0:case"BLOCK_ID_FLAG_UNKNOWN":return k2.BLOCK_ID_FLAG_UNKNOWN;case 1:case"BLOCK_ID_FLAG_ABSENT":return k2.BLOCK_ID_FLAG_ABSENT;case 2:case"BLOCK_ID_FLAG_COMMIT":return k2.BLOCK_ID_FLAG_COMMIT;case 3:case"BLOCK_ID_FLAG_NIL":return k2.BLOCK_ID_FLAG_NIL;default:return k2.UNRECOGNIZED}}Gn.blockIDFlagFromJSON=oyt;function ayt(e){switch(e){case k2.BLOCK_ID_FLAG_UNKNOWN:return"BLOCK_ID_FLAG_UNKNOWN";case k2.BLOCK_ID_FLAG_ABSENT:return"BLOCK_ID_FLAG_ABSENT";case k2.BLOCK_ID_FLAG_COMMIT:return"BLOCK_ID_FLAG_COMMIT";case k2.BLOCK_ID_FLAG_NIL:return"BLOCK_ID_FLAG_NIL";case k2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Gn.blockIDFlagToJSON=ayt;var P2;(function(e){e[e.SIGNED_MSG_TYPE_UNKNOWN=0]="SIGNED_MSG_TYPE_UNKNOWN",e[e.SIGNED_MSG_TYPE_PREVOTE=1]="SIGNED_MSG_TYPE_PREVOTE",e[e.SIGNED_MSG_TYPE_PRECOMMIT=2]="SIGNED_MSG_TYPE_PRECOMMIT",e[e.SIGNED_MSG_TYPE_PROPOSAL=32]="SIGNED_MSG_TYPE_PROPOSAL",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(P2||(Gn.SignedMsgType=P2={}));function YCe(e){switch(e){case 0:case"SIGNED_MSG_TYPE_UNKNOWN":return P2.SIGNED_MSG_TYPE_UNKNOWN;case 1:case"SIGNED_MSG_TYPE_PREVOTE":return P2.SIGNED_MSG_TYPE_PREVOTE;case 2:case"SIGNED_MSG_TYPE_PRECOMMIT":return P2.SIGNED_MSG_TYPE_PRECOMMIT;case 32:case"SIGNED_MSG_TYPE_PROPOSAL":return P2.SIGNED_MSG_TYPE_PROPOSAL;default:return P2.UNRECOGNIZED}}Gn.signedMsgTypeFromJSON=YCe;function WCe(e){switch(e){case P2.SIGNED_MSG_TYPE_UNKNOWN:return"SIGNED_MSG_TYPE_UNKNOWN";case P2.SIGNED_MSG_TYPE_PREVOTE:return"SIGNED_MSG_TYPE_PREVOTE";case P2.SIGNED_MSG_TYPE_PRECOMMIT:return"SIGNED_MSG_TYPE_PRECOMMIT";case P2.SIGNED_MSG_TYPE_PROPOSAL:return"SIGNED_MSG_TYPE_PROPOSAL";case P2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Gn.signedMsgTypeToJSON=WCe;function PCe(){return{total:0,hash:new Uint8Array}}Gn.PartSetHeader={typeUrl:"/tendermint.types.PartSetHeader",encode(e,t=as.BinaryWriter.create()){return e.total!==0&&t.uint32(8).uint32(e.total),e.hash.length!==0&&t.uint32(18).bytes(e.hash),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=PCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.total=r.uint32();break;case 2:n.hash=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=PCe();return(0,Jn.isSet)(e.total)&&(t.total=Number(e.total)),(0,Jn.isSet)(e.hash)&&(t.hash=(0,Jn.bytesFromBase64)(e.hash)),t},toJSON(e){let t={};return e.total!==void 0&&(t.total=Math.round(e.total)),e.hash!==void 0&&(t.hash=(0,Jn.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),t},fromPartial(e){let t=PCe();return t.total=e.total??0,t.hash=e.hash??new Uint8Array,t}};function LCe(){return{index:0,bytes:new Uint8Array,proof:Cy.Proof.fromPartial({})}}Gn.Part={typeUrl:"/tendermint.types.Part",encode(e,t=as.BinaryWriter.create()){return e.index!==0&&t.uint32(8).uint32(e.index),e.bytes.length!==0&&t.uint32(18).bytes(e.bytes),e.proof!==void 0&&Cy.Proof.encode(e.proof,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.index=r.uint32();break;case 2:n.bytes=r.bytes();break;case 3:n.proof=Cy.Proof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=LCe();return(0,Jn.isSet)(e.index)&&(t.index=Number(e.index)),(0,Jn.isSet)(e.bytes)&&(t.bytes=(0,Jn.bytesFromBase64)(e.bytes)),(0,Jn.isSet)(e.proof)&&(t.proof=Cy.Proof.fromJSON(e.proof)),t},toJSON(e){let t={};return e.index!==void 0&&(t.index=Math.round(e.index)),e.bytes!==void 0&&(t.bytes=(0,Jn.base64FromBytes)(e.bytes!==void 0?e.bytes:new Uint8Array)),e.proof!==void 0&&(t.proof=e.proof?Cy.Proof.toJSON(e.proof):void 0),t},fromPartial(e){let t=LCe();return t.index=e.index??0,t.bytes=e.bytes??new Uint8Array,e.proof!==void 0&&e.proof!==null&&(t.proof=Cy.Proof.fromPartial(e.proof)),t}};function UCe(){return{hash:new Uint8Array,partSetHeader:Gn.PartSetHeader.fromPartial({})}}Gn.BlockID={typeUrl:"/tendermint.types.BlockID",encode(e,t=as.BinaryWriter.create()){return e.hash.length!==0&&t.uint32(10).bytes(e.hash),e.partSetHeader!==void 0&&Gn.PartSetHeader.encode(e.partSetHeader,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=UCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.hash=r.bytes();break;case 2:n.partSetHeader=Gn.PartSetHeader.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=UCe();return(0,Jn.isSet)(e.hash)&&(t.hash=(0,Jn.bytesFromBase64)(e.hash)),(0,Jn.isSet)(e.partSetHeader)&&(t.partSetHeader=Gn.PartSetHeader.fromJSON(e.partSetHeader)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=(0,Jn.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),e.partSetHeader!==void 0&&(t.partSetHeader=e.partSetHeader?Gn.PartSetHeader.toJSON(e.partSetHeader):void 0),t},fromPartial(e){let t=UCe();return t.hash=e.hash??new Uint8Array,e.partSetHeader!==void 0&&e.partSetHeader!==null&&(t.partSetHeader=Gn.PartSetHeader.fromPartial(e.partSetHeader)),t}};function FCe(){return{version:b9.Consensus.fromPartial({}),chainId:"",height:BigInt(0),time:lA.Timestamp.fromPartial({}),lastBlockId:Gn.BlockID.fromPartial({}),lastCommitHash:new Uint8Array,dataHash:new Uint8Array,validatorsHash:new Uint8Array,nextValidatorsHash:new Uint8Array,consensusHash:new Uint8Array,appHash:new Uint8Array,lastResultsHash:new Uint8Array,evidenceHash:new Uint8Array,proposerAddress:new Uint8Array}}Gn.Header={typeUrl:"/tendermint.types.Header",encode(e,t=as.BinaryWriter.create()){return e.version!==void 0&&b9.Consensus.encode(e.version,t.uint32(10).fork()).ldelim(),e.chainId!==""&&t.uint32(18).string(e.chainId),e.height!==BigInt(0)&&t.uint32(24).int64(e.height),e.time!==void 0&&lA.Timestamp.encode(e.time,t.uint32(34).fork()).ldelim(),e.lastBlockId!==void 0&&Gn.BlockID.encode(e.lastBlockId,t.uint32(42).fork()).ldelim(),e.lastCommitHash.length!==0&&t.uint32(50).bytes(e.lastCommitHash),e.dataHash.length!==0&&t.uint32(58).bytes(e.dataHash),e.validatorsHash.length!==0&&t.uint32(66).bytes(e.validatorsHash),e.nextValidatorsHash.length!==0&&t.uint32(74).bytes(e.nextValidatorsHash),e.consensusHash.length!==0&&t.uint32(82).bytes(e.consensusHash),e.appHash.length!==0&&t.uint32(90).bytes(e.appHash),e.lastResultsHash.length!==0&&t.uint32(98).bytes(e.lastResultsHash),e.evidenceHash.length!==0&&t.uint32(106).bytes(e.evidenceHash),e.proposerAddress.length!==0&&t.uint32(114).bytes(e.proposerAddress),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=FCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.version=b9.Consensus.decode(r,r.uint32());break;case 2:n.chainId=r.string();break;case 3:n.height=r.int64();break;case 4:n.time=lA.Timestamp.decode(r,r.uint32());break;case 5:n.lastBlockId=Gn.BlockID.decode(r,r.uint32());break;case 6:n.lastCommitHash=r.bytes();break;case 7:n.dataHash=r.bytes();break;case 8:n.validatorsHash=r.bytes();break;case 9:n.nextValidatorsHash=r.bytes();break;case 10:n.consensusHash=r.bytes();break;case 11:n.appHash=r.bytes();break;case 12:n.lastResultsHash=r.bytes();break;case 13:n.evidenceHash=r.bytes();break;case 14:n.proposerAddress=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=FCe();return(0,Jn.isSet)(e.version)&&(t.version=b9.Consensus.fromJSON(e.version)),(0,Jn.isSet)(e.chainId)&&(t.chainId=String(e.chainId)),(0,Jn.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Jn.isSet)(e.time)&&(t.time=(0,Jn.fromJsonTimestamp)(e.time)),(0,Jn.isSet)(e.lastBlockId)&&(t.lastBlockId=Gn.BlockID.fromJSON(e.lastBlockId)),(0,Jn.isSet)(e.lastCommitHash)&&(t.lastCommitHash=(0,Jn.bytesFromBase64)(e.lastCommitHash)),(0,Jn.isSet)(e.dataHash)&&(t.dataHash=(0,Jn.bytesFromBase64)(e.dataHash)),(0,Jn.isSet)(e.validatorsHash)&&(t.validatorsHash=(0,Jn.bytesFromBase64)(e.validatorsHash)),(0,Jn.isSet)(e.nextValidatorsHash)&&(t.nextValidatorsHash=(0,Jn.bytesFromBase64)(e.nextValidatorsHash)),(0,Jn.isSet)(e.consensusHash)&&(t.consensusHash=(0,Jn.bytesFromBase64)(e.consensusHash)),(0,Jn.isSet)(e.appHash)&&(t.appHash=(0,Jn.bytesFromBase64)(e.appHash)),(0,Jn.isSet)(e.lastResultsHash)&&(t.lastResultsHash=(0,Jn.bytesFromBase64)(e.lastResultsHash)),(0,Jn.isSet)(e.evidenceHash)&&(t.evidenceHash=(0,Jn.bytesFromBase64)(e.evidenceHash)),(0,Jn.isSet)(e.proposerAddress)&&(t.proposerAddress=(0,Jn.bytesFromBase64)(e.proposerAddress)),t},toJSON(e){let t={};return e.version!==void 0&&(t.version=e.version?b9.Consensus.toJSON(e.version):void 0),e.chainId!==void 0&&(t.chainId=e.chainId),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.time!==void 0&&(t.time=(0,Jn.fromTimestamp)(e.time).toISOString()),e.lastBlockId!==void 0&&(t.lastBlockId=e.lastBlockId?Gn.BlockID.toJSON(e.lastBlockId):void 0),e.lastCommitHash!==void 0&&(t.lastCommitHash=(0,Jn.base64FromBytes)(e.lastCommitHash!==void 0?e.lastCommitHash:new Uint8Array)),e.dataHash!==void 0&&(t.dataHash=(0,Jn.base64FromBytes)(e.dataHash!==void 0?e.dataHash:new Uint8Array)),e.validatorsHash!==void 0&&(t.validatorsHash=(0,Jn.base64FromBytes)(e.validatorsHash!==void 0?e.validatorsHash:new Uint8Array)),e.nextValidatorsHash!==void 0&&(t.nextValidatorsHash=(0,Jn.base64FromBytes)(e.nextValidatorsHash!==void 0?e.nextValidatorsHash:new Uint8Array)),e.consensusHash!==void 0&&(t.consensusHash=(0,Jn.base64FromBytes)(e.consensusHash!==void 0?e.consensusHash:new Uint8Array)),e.appHash!==void 0&&(t.appHash=(0,Jn.base64FromBytes)(e.appHash!==void 0?e.appHash:new Uint8Array)),e.lastResultsHash!==void 0&&(t.lastResultsHash=(0,Jn.base64FromBytes)(e.lastResultsHash!==void 0?e.lastResultsHash:new Uint8Array)),e.evidenceHash!==void 0&&(t.evidenceHash=(0,Jn.base64FromBytes)(e.evidenceHash!==void 0?e.evidenceHash:new Uint8Array)),e.proposerAddress!==void 0&&(t.proposerAddress=(0,Jn.base64FromBytes)(e.proposerAddress!==void 0?e.proposerAddress:new Uint8Array)),t},fromPartial(e){let t=FCe();return e.version!==void 0&&e.version!==null&&(t.version=b9.Consensus.fromPartial(e.version)),t.chainId=e.chainId??"",e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),e.time!==void 0&&e.time!==null&&(t.time=lA.Timestamp.fromPartial(e.time)),e.lastBlockId!==void 0&&e.lastBlockId!==null&&(t.lastBlockId=Gn.BlockID.fromPartial(e.lastBlockId)),t.lastCommitHash=e.lastCommitHash??new Uint8Array,t.dataHash=e.dataHash??new Uint8Array,t.validatorsHash=e.validatorsHash??new Uint8Array,t.nextValidatorsHash=e.nextValidatorsHash??new Uint8Array,t.consensusHash=e.consensusHash??new Uint8Array,t.appHash=e.appHash??new Uint8Array,t.lastResultsHash=e.lastResultsHash??new Uint8Array,t.evidenceHash=e.evidenceHash??new Uint8Array,t.proposerAddress=e.proposerAddress??new Uint8Array,t}};function QCe(){return{txs:[]}}Gn.Data={typeUrl:"/tendermint.types.Data",encode(e,t=as.BinaryWriter.create()){for(let r of e.txs)t.uint32(10).bytes(r);return t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=QCe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.txs.push(r.bytes()):r.skipType(o&7)}return n},fromJSON(e){let t=QCe();return Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>(0,Jn.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.txs?t.txs=e.txs.map(r=>(0,Jn.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.txs=[],t},fromPartial(e){let t=QCe();return t.txs=e.txs?.map(r=>r)||[],t}};function HCe(){return{type:0,height:BigInt(0),round:0,blockId:Gn.BlockID.fromPartial({}),timestamp:lA.Timestamp.fromPartial({}),validatorAddress:new Uint8Array,validatorIndex:0,signature:new Uint8Array}}Gn.Vote={typeUrl:"/tendermint.types.Vote",encode(e,t=as.BinaryWriter.create()){return e.type!==0&&t.uint32(8).int32(e.type),e.height!==BigInt(0)&&t.uint32(16).int64(e.height),e.round!==0&&t.uint32(24).int32(e.round),e.blockId!==void 0&&Gn.BlockID.encode(e.blockId,t.uint32(34).fork()).ldelim(),e.timestamp!==void 0&&lA.Timestamp.encode(e.timestamp,t.uint32(42).fork()).ldelim(),e.validatorAddress.length!==0&&t.uint32(50).bytes(e.validatorAddress),e.validatorIndex!==0&&t.uint32(56).int32(e.validatorIndex),e.signature.length!==0&&t.uint32(66).bytes(e.signature),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.int32();break;case 2:n.height=r.int64();break;case 3:n.round=r.int32();break;case 4:n.blockId=Gn.BlockID.decode(r,r.uint32());break;case 5:n.timestamp=lA.Timestamp.decode(r,r.uint32());break;case 6:n.validatorAddress=r.bytes();break;case 7:n.validatorIndex=r.int32();break;case 8:n.signature=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=HCe();return(0,Jn.isSet)(e.type)&&(t.type=YCe(e.type)),(0,Jn.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Jn.isSet)(e.round)&&(t.round=Number(e.round)),(0,Jn.isSet)(e.blockId)&&(t.blockId=Gn.BlockID.fromJSON(e.blockId)),(0,Jn.isSet)(e.timestamp)&&(t.timestamp=(0,Jn.fromJsonTimestamp)(e.timestamp)),(0,Jn.isSet)(e.validatorAddress)&&(t.validatorAddress=(0,Jn.bytesFromBase64)(e.validatorAddress)),(0,Jn.isSet)(e.validatorIndex)&&(t.validatorIndex=Number(e.validatorIndex)),(0,Jn.isSet)(e.signature)&&(t.signature=(0,Jn.bytesFromBase64)(e.signature)),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=WCe(e.type)),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.round!==void 0&&(t.round=Math.round(e.round)),e.blockId!==void 0&&(t.blockId=e.blockId?Gn.BlockID.toJSON(e.blockId):void 0),e.timestamp!==void 0&&(t.timestamp=(0,Jn.fromTimestamp)(e.timestamp).toISOString()),e.validatorAddress!==void 0&&(t.validatorAddress=(0,Jn.base64FromBytes)(e.validatorAddress!==void 0?e.validatorAddress:new Uint8Array)),e.validatorIndex!==void 0&&(t.validatorIndex=Math.round(e.validatorIndex)),e.signature!==void 0&&(t.signature=(0,Jn.base64FromBytes)(e.signature!==void 0?e.signature:new Uint8Array)),t},fromPartial(e){let t=HCe();return t.type=e.type??0,e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.round=e.round??0,e.blockId!==void 0&&e.blockId!==null&&(t.blockId=Gn.BlockID.fromPartial(e.blockId)),e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=lA.Timestamp.fromPartial(e.timestamp)),t.validatorAddress=e.validatorAddress??new Uint8Array,t.validatorIndex=e.validatorIndex??0,t.signature=e.signature??new Uint8Array,t}};function GCe(){return{height:BigInt(0),round:0,blockId:Gn.BlockID.fromPartial({}),signatures:[]}}Gn.Commit={typeUrl:"/tendermint.types.Commit",encode(e,t=as.BinaryWriter.create()){e.height!==BigInt(0)&&t.uint32(8).int64(e.height),e.round!==0&&t.uint32(16).int32(e.round),e.blockId!==void 0&&Gn.BlockID.encode(e.blockId,t.uint32(26).fork()).ldelim();for(let r of e.signatures)Gn.CommitSig.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.int64();break;case 2:n.round=r.int32();break;case 3:n.blockId=Gn.BlockID.decode(r,r.uint32());break;case 4:n.signatures.push(Gn.CommitSig.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=GCe();return(0,Jn.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Jn.isSet)(e.round)&&(t.round=Number(e.round)),(0,Jn.isSet)(e.blockId)&&(t.blockId=Gn.BlockID.fromJSON(e.blockId)),Array.isArray(e?.signatures)&&(t.signatures=e.signatures.map(r=>Gn.CommitSig.fromJSON(r))),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.round!==void 0&&(t.round=Math.round(e.round)),e.blockId!==void 0&&(t.blockId=e.blockId?Gn.BlockID.toJSON(e.blockId):void 0),e.signatures?t.signatures=e.signatures.map(r=>r?Gn.CommitSig.toJSON(r):void 0):t.signatures=[],t},fromPartial(e){let t=GCe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.round=e.round??0,e.blockId!==void 0&&e.blockId!==null&&(t.blockId=Gn.BlockID.fromPartial(e.blockId)),t.signatures=e.signatures?.map(r=>Gn.CommitSig.fromPartial(r))||[],t}};function qCe(){return{blockIdFlag:0,validatorAddress:new Uint8Array,timestamp:lA.Timestamp.fromPartial({}),signature:new Uint8Array}}Gn.CommitSig={typeUrl:"/tendermint.types.CommitSig",encode(e,t=as.BinaryWriter.create()){return e.blockIdFlag!==0&&t.uint32(8).int32(e.blockIdFlag),e.validatorAddress.length!==0&&t.uint32(18).bytes(e.validatorAddress),e.timestamp!==void 0&&lA.Timestamp.encode(e.timestamp,t.uint32(26).fork()).ldelim(),e.signature.length!==0&&t.uint32(34).bytes(e.signature),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.blockIdFlag=r.int32();break;case 2:n.validatorAddress=r.bytes();break;case 3:n.timestamp=lA.Timestamp.decode(r,r.uint32());break;case 4:n.signature=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qCe();return(0,Jn.isSet)(e.blockIdFlag)&&(t.blockIdFlag=oyt(e.blockIdFlag)),(0,Jn.isSet)(e.validatorAddress)&&(t.validatorAddress=(0,Jn.bytesFromBase64)(e.validatorAddress)),(0,Jn.isSet)(e.timestamp)&&(t.timestamp=(0,Jn.fromJsonTimestamp)(e.timestamp)),(0,Jn.isSet)(e.signature)&&(t.signature=(0,Jn.bytesFromBase64)(e.signature)),t},toJSON(e){let t={};return e.blockIdFlag!==void 0&&(t.blockIdFlag=ayt(e.blockIdFlag)),e.validatorAddress!==void 0&&(t.validatorAddress=(0,Jn.base64FromBytes)(e.validatorAddress!==void 0?e.validatorAddress:new Uint8Array)),e.timestamp!==void 0&&(t.timestamp=(0,Jn.fromTimestamp)(e.timestamp).toISOString()),e.signature!==void 0&&(t.signature=(0,Jn.base64FromBytes)(e.signature!==void 0?e.signature:new Uint8Array)),t},fromPartial(e){let t=qCe();return t.blockIdFlag=e.blockIdFlag??0,t.validatorAddress=e.validatorAddress??new Uint8Array,e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=lA.Timestamp.fromPartial(e.timestamp)),t.signature=e.signature??new Uint8Array,t}};function VCe(){return{type:0,height:BigInt(0),round:0,polRound:0,blockId:Gn.BlockID.fromPartial({}),timestamp:lA.Timestamp.fromPartial({}),signature:new Uint8Array}}Gn.Proposal={typeUrl:"/tendermint.types.Proposal",encode(e,t=as.BinaryWriter.create()){return e.type!==0&&t.uint32(8).int32(e.type),e.height!==BigInt(0)&&t.uint32(16).int64(e.height),e.round!==0&&t.uint32(24).int32(e.round),e.polRound!==0&&t.uint32(32).int32(e.polRound),e.blockId!==void 0&&Gn.BlockID.encode(e.blockId,t.uint32(42).fork()).ldelim(),e.timestamp!==void 0&&lA.Timestamp.encode(e.timestamp,t.uint32(50).fork()).ldelim(),e.signature.length!==0&&t.uint32(58).bytes(e.signature),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.int32();break;case 2:n.height=r.int64();break;case 3:n.round=r.int32();break;case 4:n.polRound=r.int32();break;case 5:n.blockId=Gn.BlockID.decode(r,r.uint32());break;case 6:n.timestamp=lA.Timestamp.decode(r,r.uint32());break;case 7:n.signature=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=VCe();return(0,Jn.isSet)(e.type)&&(t.type=YCe(e.type)),(0,Jn.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Jn.isSet)(e.round)&&(t.round=Number(e.round)),(0,Jn.isSet)(e.polRound)&&(t.polRound=Number(e.polRound)),(0,Jn.isSet)(e.blockId)&&(t.blockId=Gn.BlockID.fromJSON(e.blockId)),(0,Jn.isSet)(e.timestamp)&&(t.timestamp=(0,Jn.fromJsonTimestamp)(e.timestamp)),(0,Jn.isSet)(e.signature)&&(t.signature=(0,Jn.bytesFromBase64)(e.signature)),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=WCe(e.type)),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.round!==void 0&&(t.round=Math.round(e.round)),e.polRound!==void 0&&(t.polRound=Math.round(e.polRound)),e.blockId!==void 0&&(t.blockId=e.blockId?Gn.BlockID.toJSON(e.blockId):void 0),e.timestamp!==void 0&&(t.timestamp=(0,Jn.fromTimestamp)(e.timestamp).toISOString()),e.signature!==void 0&&(t.signature=(0,Jn.base64FromBytes)(e.signature!==void 0?e.signature:new Uint8Array)),t},fromPartial(e){let t=VCe();return t.type=e.type??0,e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.round=e.round??0,t.polRound=e.polRound??0,e.blockId!==void 0&&e.blockId!==null&&(t.blockId=Gn.BlockID.fromPartial(e.blockId)),e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=lA.Timestamp.fromPartial(e.timestamp)),t.signature=e.signature??new Uint8Array,t}};function JCe(){return{header:void 0,commit:void 0}}Gn.SignedHeader={typeUrl:"/tendermint.types.SignedHeader",encode(e,t=as.BinaryWriter.create()){return e.header!==void 0&&Gn.Header.encode(e.header,t.uint32(10).fork()).ldelim(),e.commit!==void 0&&Gn.Commit.encode(e.commit,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=JCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.header=Gn.Header.decode(r,r.uint32());break;case 2:n.commit=Gn.Commit.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=JCe();return(0,Jn.isSet)(e.header)&&(t.header=Gn.Header.fromJSON(e.header)),(0,Jn.isSet)(e.commit)&&(t.commit=Gn.Commit.fromJSON(e.commit)),t},toJSON(e){let t={};return e.header!==void 0&&(t.header=e.header?Gn.Header.toJSON(e.header):void 0),e.commit!==void 0&&(t.commit=e.commit?Gn.Commit.toJSON(e.commit):void 0),t},fromPartial(e){let t=JCe();return e.header!==void 0&&e.header!==null&&(t.header=Gn.Header.fromPartial(e.header)),e.commit!==void 0&&e.commit!==null&&(t.commit=Gn.Commit.fromPartial(e.commit)),t}};function zCe(){return{signedHeader:void 0,validatorSet:void 0}}Gn.LightBlock={typeUrl:"/tendermint.types.LightBlock",encode(e,t=as.BinaryWriter.create()){return e.signedHeader!==void 0&&Gn.SignedHeader.encode(e.signedHeader,t.uint32(10).fork()).ldelim(),e.validatorSet!==void 0&&aQ.ValidatorSet.encode(e.validatorSet,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.signedHeader=Gn.SignedHeader.decode(r,r.uint32());break;case 2:n.validatorSet=aQ.ValidatorSet.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=zCe();return(0,Jn.isSet)(e.signedHeader)&&(t.signedHeader=Gn.SignedHeader.fromJSON(e.signedHeader)),(0,Jn.isSet)(e.validatorSet)&&(t.validatorSet=aQ.ValidatorSet.fromJSON(e.validatorSet)),t},toJSON(e){let t={};return e.signedHeader!==void 0&&(t.signedHeader=e.signedHeader?Gn.SignedHeader.toJSON(e.signedHeader):void 0),e.validatorSet!==void 0&&(t.validatorSet=e.validatorSet?aQ.ValidatorSet.toJSON(e.validatorSet):void 0),t},fromPartial(e){let t=zCe();return e.signedHeader!==void 0&&e.signedHeader!==null&&(t.signedHeader=Gn.SignedHeader.fromPartial(e.signedHeader)),e.validatorSet!==void 0&&e.validatorSet!==null&&(t.validatorSet=aQ.ValidatorSet.fromPartial(e.validatorSet)),t}};function KCe(){return{blockId:Gn.BlockID.fromPartial({}),blockSize:BigInt(0),header:Gn.Header.fromPartial({}),numTxs:BigInt(0)}}Gn.BlockMeta={typeUrl:"/tendermint.types.BlockMeta",encode(e,t=as.BinaryWriter.create()){return e.blockId!==void 0&&Gn.BlockID.encode(e.blockId,t.uint32(10).fork()).ldelim(),e.blockSize!==BigInt(0)&&t.uint32(16).int64(e.blockSize),e.header!==void 0&&Gn.Header.encode(e.header,t.uint32(26).fork()).ldelim(),e.numTxs!==BigInt(0)&&t.uint32(32).int64(e.numTxs),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=KCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.blockId=Gn.BlockID.decode(r,r.uint32());break;case 2:n.blockSize=r.int64();break;case 3:n.header=Gn.Header.decode(r,r.uint32());break;case 4:n.numTxs=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=KCe();return(0,Jn.isSet)(e.blockId)&&(t.blockId=Gn.BlockID.fromJSON(e.blockId)),(0,Jn.isSet)(e.blockSize)&&(t.blockSize=BigInt(e.blockSize.toString())),(0,Jn.isSet)(e.header)&&(t.header=Gn.Header.fromJSON(e.header)),(0,Jn.isSet)(e.numTxs)&&(t.numTxs=BigInt(e.numTxs.toString())),t},toJSON(e){let t={};return e.blockId!==void 0&&(t.blockId=e.blockId?Gn.BlockID.toJSON(e.blockId):void 0),e.blockSize!==void 0&&(t.blockSize=(e.blockSize||BigInt(0)).toString()),e.header!==void 0&&(t.header=e.header?Gn.Header.toJSON(e.header):void 0),e.numTxs!==void 0&&(t.numTxs=(e.numTxs||BigInt(0)).toString()),t},fromPartial(e){let t=KCe();return e.blockId!==void 0&&e.blockId!==null&&(t.blockId=Gn.BlockID.fromPartial(e.blockId)),e.blockSize!==void 0&&e.blockSize!==null&&(t.blockSize=BigInt(e.blockSize.toString())),e.header!==void 0&&e.header!==null&&(t.header=Gn.Header.fromPartial(e.header)),e.numTxs!==void 0&&e.numTxs!==null&&(t.numTxs=BigInt(e.numTxs.toString())),t}};function $Ce(){return{rootHash:new Uint8Array,data:new Uint8Array,proof:void 0}}Gn.TxProof={typeUrl:"/tendermint.types.TxProof",encode(e,t=as.BinaryWriter.create()){return e.rootHash.length!==0&&t.uint32(10).bytes(e.rootHash),e.data.length!==0&&t.uint32(18).bytes(e.data),e.proof!==void 0&&Cy.Proof.encode(e.proof,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof as.BinaryReader?e:new as.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$Ce();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.rootHash=r.bytes();break;case 2:n.data=r.bytes();break;case 3:n.proof=Cy.Proof.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$Ce();return(0,Jn.isSet)(e.rootHash)&&(t.rootHash=(0,Jn.bytesFromBase64)(e.rootHash)),(0,Jn.isSet)(e.data)&&(t.data=(0,Jn.bytesFromBase64)(e.data)),(0,Jn.isSet)(e.proof)&&(t.proof=Cy.Proof.fromJSON(e.proof)),t},toJSON(e){let t={};return e.rootHash!==void 0&&(t.rootHash=(0,Jn.base64FromBytes)(e.rootHash!==void 0?e.rootHash:new Uint8Array)),e.data!==void 0&&(t.data=(0,Jn.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.proof!==void 0&&(t.proof=e.proof?Cy.Proof.toJSON(e.proof):void 0),t},fromPartial(e){let t=$Ce();return t.rootHash=e.rootHash??new Uint8Array,t.data=e.data??new Uint8Array,e.proof!==void 0&&e.proof!==null&&(t.proof=Cy.Proof.fromPartial(e.proof)),t}}});var syt=ir(Gc=>{"use strict";J();K();z();Object.defineProperty(Gc,"__esModule",{value:!0});Gc.Fraction=Gc.Header=Gc.Misbehaviour=Gc.ConsensusState=Gc.ClientState=Gc.protobufPackage=void 0;var Ml=wS(),Dl=NS(),sQ=M8e(),ite=u1(),E9=U8e(),cQ=C5(),qE=nte(),dp=Qi(),d0=Hi();Gc.protobufPackage="ibc.lightclients.tendermint.v1";function XCe(){return{chainId:"",trustLevel:Gc.Fraction.fromPartial({}),trustingPeriod:Ml.Duration.fromPartial({}),unbondingPeriod:Ml.Duration.fromPartial({}),maxClockDrift:Ml.Duration.fromPartial({}),frozenHeight:Dl.Height.fromPartial({}),latestHeight:Dl.Height.fromPartial({}),proofSpecs:[],upgradePath:[],allowUpdateAfterExpiry:!1,allowUpdateAfterMisbehaviour:!1}}Gc.ClientState={typeUrl:"/ibc.lightclients.tendermint.v1.ClientState",encode(e,t=dp.BinaryWriter.create()){e.chainId!==""&&t.uint32(10).string(e.chainId),e.trustLevel!==void 0&&Gc.Fraction.encode(e.trustLevel,t.uint32(18).fork()).ldelim(),e.trustingPeriod!==void 0&&Ml.Duration.encode(e.trustingPeriod,t.uint32(26).fork()).ldelim(),e.unbondingPeriod!==void 0&&Ml.Duration.encode(e.unbondingPeriod,t.uint32(34).fork()).ldelim(),e.maxClockDrift!==void 0&&Ml.Duration.encode(e.maxClockDrift,t.uint32(42).fork()).ldelim(),e.frozenHeight!==void 0&&Dl.Height.encode(e.frozenHeight,t.uint32(50).fork()).ldelim(),e.latestHeight!==void 0&&Dl.Height.encode(e.latestHeight,t.uint32(58).fork()).ldelim();for(let r of e.proofSpecs)sQ.ProofSpec.encode(r,t.uint32(66).fork()).ldelim();for(let r of e.upgradePath)t.uint32(74).string(r);return e.allowUpdateAfterExpiry===!0&&t.uint32(80).bool(e.allowUpdateAfterExpiry),e.allowUpdateAfterMisbehaviour===!0&&t.uint32(88).bool(e.allowUpdateAfterMisbehaviour),t},decode(e,t){let r=e instanceof dp.BinaryReader?e:new dp.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=XCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.chainId=r.string();break;case 2:n.trustLevel=Gc.Fraction.decode(r,r.uint32());break;case 3:n.trustingPeriod=Ml.Duration.decode(r,r.uint32());break;case 4:n.unbondingPeriod=Ml.Duration.decode(r,r.uint32());break;case 5:n.maxClockDrift=Ml.Duration.decode(r,r.uint32());break;case 6:n.frozenHeight=Dl.Height.decode(r,r.uint32());break;case 7:n.latestHeight=Dl.Height.decode(r,r.uint32());break;case 8:n.proofSpecs.push(sQ.ProofSpec.decode(r,r.uint32()));break;case 9:n.upgradePath.push(r.string());break;case 10:n.allowUpdateAfterExpiry=r.bool();break;case 11:n.allowUpdateAfterMisbehaviour=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=XCe();return(0,d0.isSet)(e.chainId)&&(t.chainId=String(e.chainId)),(0,d0.isSet)(e.trustLevel)&&(t.trustLevel=Gc.Fraction.fromJSON(e.trustLevel)),(0,d0.isSet)(e.trustingPeriod)&&(t.trustingPeriod=Ml.Duration.fromJSON(e.trustingPeriod)),(0,d0.isSet)(e.unbondingPeriod)&&(t.unbondingPeriod=Ml.Duration.fromJSON(e.unbondingPeriod)),(0,d0.isSet)(e.maxClockDrift)&&(t.maxClockDrift=Ml.Duration.fromJSON(e.maxClockDrift)),(0,d0.isSet)(e.frozenHeight)&&(t.frozenHeight=Dl.Height.fromJSON(e.frozenHeight)),(0,d0.isSet)(e.latestHeight)&&(t.latestHeight=Dl.Height.fromJSON(e.latestHeight)),Array.isArray(e?.proofSpecs)&&(t.proofSpecs=e.proofSpecs.map(r=>sQ.ProofSpec.fromJSON(r))),Array.isArray(e?.upgradePath)&&(t.upgradePath=e.upgradePath.map(r=>String(r))),(0,d0.isSet)(e.allowUpdateAfterExpiry)&&(t.allowUpdateAfterExpiry=!!e.allowUpdateAfterExpiry),(0,d0.isSet)(e.allowUpdateAfterMisbehaviour)&&(t.allowUpdateAfterMisbehaviour=!!e.allowUpdateAfterMisbehaviour),t},toJSON(e){let t={};return e.chainId!==void 0&&(t.chainId=e.chainId),e.trustLevel!==void 0&&(t.trustLevel=e.trustLevel?Gc.Fraction.toJSON(e.trustLevel):void 0),e.trustingPeriod!==void 0&&(t.trustingPeriod=e.trustingPeriod?Ml.Duration.toJSON(e.trustingPeriod):void 0),e.unbondingPeriod!==void 0&&(t.unbondingPeriod=e.unbondingPeriod?Ml.Duration.toJSON(e.unbondingPeriod):void 0),e.maxClockDrift!==void 0&&(t.maxClockDrift=e.maxClockDrift?Ml.Duration.toJSON(e.maxClockDrift):void 0),e.frozenHeight!==void 0&&(t.frozenHeight=e.frozenHeight?Dl.Height.toJSON(e.frozenHeight):void 0),e.latestHeight!==void 0&&(t.latestHeight=e.latestHeight?Dl.Height.toJSON(e.latestHeight):void 0),e.proofSpecs?t.proofSpecs=e.proofSpecs.map(r=>r?sQ.ProofSpec.toJSON(r):void 0):t.proofSpecs=[],e.upgradePath?t.upgradePath=e.upgradePath.map(r=>r):t.upgradePath=[],e.allowUpdateAfterExpiry!==void 0&&(t.allowUpdateAfterExpiry=e.allowUpdateAfterExpiry),e.allowUpdateAfterMisbehaviour!==void 0&&(t.allowUpdateAfterMisbehaviour=e.allowUpdateAfterMisbehaviour),t},fromPartial(e){let t=XCe();return t.chainId=e.chainId??"",e.trustLevel!==void 0&&e.trustLevel!==null&&(t.trustLevel=Gc.Fraction.fromPartial(e.trustLevel)),e.trustingPeriod!==void 0&&e.trustingPeriod!==null&&(t.trustingPeriod=Ml.Duration.fromPartial(e.trustingPeriod)),e.unbondingPeriod!==void 0&&e.unbondingPeriod!==null&&(t.unbondingPeriod=Ml.Duration.fromPartial(e.unbondingPeriod)),e.maxClockDrift!==void 0&&e.maxClockDrift!==null&&(t.maxClockDrift=Ml.Duration.fromPartial(e.maxClockDrift)),e.frozenHeight!==void 0&&e.frozenHeight!==null&&(t.frozenHeight=Dl.Height.fromPartial(e.frozenHeight)),e.latestHeight!==void 0&&e.latestHeight!==null&&(t.latestHeight=Dl.Height.fromPartial(e.latestHeight)),t.proofSpecs=e.proofSpecs?.map(r=>sQ.ProofSpec.fromPartial(r))||[],t.upgradePath=e.upgradePath?.map(r=>r)||[],t.allowUpdateAfterExpiry=e.allowUpdateAfterExpiry??!1,t.allowUpdateAfterMisbehaviour=e.allowUpdateAfterMisbehaviour??!1,t}};function ZCe(){return{timestamp:ite.Timestamp.fromPartial({}),root:E9.MerkleRoot.fromPartial({}),nextValidatorsHash:new Uint8Array}}Gc.ConsensusState={typeUrl:"/ibc.lightclients.tendermint.v1.ConsensusState",encode(e,t=dp.BinaryWriter.create()){return e.timestamp!==void 0&&ite.Timestamp.encode(e.timestamp,t.uint32(10).fork()).ldelim(),e.root!==void 0&&E9.MerkleRoot.encode(e.root,t.uint32(18).fork()).ldelim(),e.nextValidatorsHash.length!==0&&t.uint32(26).bytes(e.nextValidatorsHash),t},decode(e,t){let r=e instanceof dp.BinaryReader?e:new dp.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.timestamp=ite.Timestamp.decode(r,r.uint32());break;case 2:n.root=E9.MerkleRoot.decode(r,r.uint32());break;case 3:n.nextValidatorsHash=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ZCe();return(0,d0.isSet)(e.timestamp)&&(t.timestamp=(0,d0.fromJsonTimestamp)(e.timestamp)),(0,d0.isSet)(e.root)&&(t.root=E9.MerkleRoot.fromJSON(e.root)),(0,d0.isSet)(e.nextValidatorsHash)&&(t.nextValidatorsHash=(0,d0.bytesFromBase64)(e.nextValidatorsHash)),t},toJSON(e){let t={};return e.timestamp!==void 0&&(t.timestamp=(0,d0.fromTimestamp)(e.timestamp).toISOString()),e.root!==void 0&&(t.root=e.root?E9.MerkleRoot.toJSON(e.root):void 0),e.nextValidatorsHash!==void 0&&(t.nextValidatorsHash=(0,d0.base64FromBytes)(e.nextValidatorsHash!==void 0?e.nextValidatorsHash:new Uint8Array)),t},fromPartial(e){let t=ZCe();return e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=ite.Timestamp.fromPartial(e.timestamp)),e.root!==void 0&&e.root!==null&&(t.root=E9.MerkleRoot.fromPartial(e.root)),t.nextValidatorsHash=e.nextValidatorsHash??new Uint8Array,t}};function jCe(){return{clientId:"",header1:void 0,header2:void 0}}Gc.Misbehaviour={typeUrl:"/ibc.lightclients.tendermint.v1.Misbehaviour",encode(e,t=dp.BinaryWriter.create()){return e.clientId!==""&&t.uint32(10).string(e.clientId),e.header1!==void 0&&Gc.Header.encode(e.header1,t.uint32(18).fork()).ldelim(),e.header2!==void 0&&Gc.Header.encode(e.header2,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof dp.BinaryReader?e:new dp.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jCe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.clientId=r.string();break;case 2:n.header1=Gc.Header.decode(r,r.uint32());break;case 3:n.header2=Gc.Header.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=jCe();return(0,d0.isSet)(e.clientId)&&(t.clientId=String(e.clientId)),(0,d0.isSet)(e.header1)&&(t.header1=Gc.Header.fromJSON(e.header1)),(0,d0.isSet)(e.header2)&&(t.header2=Gc.Header.fromJSON(e.header2)),t},toJSON(e){let t={};return e.clientId!==void 0&&(t.clientId=e.clientId),e.header1!==void 0&&(t.header1=e.header1?Gc.Header.toJSON(e.header1):void 0),e.header2!==void 0&&(t.header2=e.header2?Gc.Header.toJSON(e.header2):void 0),t},fromPartial(e){let t=jCe();return t.clientId=e.clientId??"",e.header1!==void 0&&e.header1!==null&&(t.header1=Gc.Header.fromPartial(e.header1)),e.header2!==void 0&&e.header2!==null&&(t.header2=Gc.Header.fromPartial(e.header2)),t}};function ewe(){return{signedHeader:void 0,validatorSet:void 0,trustedHeight:Dl.Height.fromPartial({}),trustedValidators:void 0}}Gc.Header={typeUrl:"/ibc.lightclients.tendermint.v1.Header",encode(e,t=dp.BinaryWriter.create()){return e.signedHeader!==void 0&&cQ.SignedHeader.encode(e.signedHeader,t.uint32(10).fork()).ldelim(),e.validatorSet!==void 0&&qE.ValidatorSet.encode(e.validatorSet,t.uint32(18).fork()).ldelim(),e.trustedHeight!==void 0&&Dl.Height.encode(e.trustedHeight,t.uint32(26).fork()).ldelim(),e.trustedValidators!==void 0&&qE.ValidatorSet.encode(e.trustedValidators,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof dp.BinaryReader?e:new dp.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ewe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.signedHeader=cQ.SignedHeader.decode(r,r.uint32());break;case 2:n.validatorSet=qE.ValidatorSet.decode(r,r.uint32());break;case 3:n.trustedHeight=Dl.Height.decode(r,r.uint32());break;case 4:n.trustedValidators=qE.ValidatorSet.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ewe();return(0,d0.isSet)(e.signedHeader)&&(t.signedHeader=cQ.SignedHeader.fromJSON(e.signedHeader)),(0,d0.isSet)(e.validatorSet)&&(t.validatorSet=qE.ValidatorSet.fromJSON(e.validatorSet)),(0,d0.isSet)(e.trustedHeight)&&(t.trustedHeight=Dl.Height.fromJSON(e.trustedHeight)),(0,d0.isSet)(e.trustedValidators)&&(t.trustedValidators=qE.ValidatorSet.fromJSON(e.trustedValidators)),t},toJSON(e){let t={};return e.signedHeader!==void 0&&(t.signedHeader=e.signedHeader?cQ.SignedHeader.toJSON(e.signedHeader):void 0),e.validatorSet!==void 0&&(t.validatorSet=e.validatorSet?qE.ValidatorSet.toJSON(e.validatorSet):void 0),e.trustedHeight!==void 0&&(t.trustedHeight=e.trustedHeight?Dl.Height.toJSON(e.trustedHeight):void 0),e.trustedValidators!==void 0&&(t.trustedValidators=e.trustedValidators?qE.ValidatorSet.toJSON(e.trustedValidators):void 0),t},fromPartial(e){let t=ewe();return e.signedHeader!==void 0&&e.signedHeader!==null&&(t.signedHeader=cQ.SignedHeader.fromPartial(e.signedHeader)),e.validatorSet!==void 0&&e.validatorSet!==null&&(t.validatorSet=qE.ValidatorSet.fromPartial(e.validatorSet)),e.trustedHeight!==void 0&&e.trustedHeight!==null&&(t.trustedHeight=Dl.Height.fromPartial(e.trustedHeight)),e.trustedValidators!==void 0&&e.trustedValidators!==null&&(t.trustedValidators=qE.ValidatorSet.fromPartial(e.trustedValidators)),t}};function twe(){return{numerator:BigInt(0),denominator:BigInt(0)}}Gc.Fraction={typeUrl:"/ibc.lightclients.tendermint.v1.Fraction",encode(e,t=dp.BinaryWriter.create()){return e.numerator!==BigInt(0)&&t.uint32(8).uint64(e.numerator),e.denominator!==BigInt(0)&&t.uint32(16).uint64(e.denominator),t},decode(e,t){let r=e instanceof dp.BinaryReader?e:new dp.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=twe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.numerator=r.uint64();break;case 2:n.denominator=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=twe();return(0,d0.isSet)(e.numerator)&&(t.numerator=BigInt(e.numerator.toString())),(0,d0.isSet)(e.denominator)&&(t.denominator=BigInt(e.denominator.toString())),t},toJSON(e){let t={};return e.numerator!==void 0&&(t.numerator=(e.numerator||BigInt(0)).toString()),e.denominator!==void 0&&(t.denominator=(e.denominator||BigInt(0)).toString()),t},fromPartial(e){let t=twe();return e.numerator!==void 0&&e.numerator!==null&&(t.numerator=BigInt(e.numerator.toString())),e.denominator!==void 0&&e.denominator!==null&&(t.denominator=BigInt(e.denominator.toString())),t}}});var dyt=ir(ote=>{"use strict";J();K();z();Object.defineProperty(ote,"__esModule",{value:!0});ote.setupIbcExtension=void 0;var cyt=eyt(),w5=tyt(),uQ=ryt(),rwe=nyt(),uyt=syt(),yd=ep();function nwe(e){if(e?.typeUrl!=="/ibc.lightclients.tendermint.v1.ClientState")throw new Error(`Unexpected client state type: ${e?.typeUrl}`);return uyt.ClientState.decode(e.value)}function Zpn(e){if(e?.typeUrl!=="/ibc.lightclients.tendermint.v1.ConsensusState")throw new Error(`Unexpected client state type: ${e?.typeUrl}`);return uyt.ConsensusState.decode(e.value)}function jpn(e){let t=(0,yd.createProtobufRpcClient)(e),r=new w5.QueryClientImpl(t),i=new uQ.QueryClientImpl(t),n=new rwe.QueryClientImpl(t),o=new cyt.QueryClientImpl(t);return{ibc:{channel:{channel:async(d,g)=>r.Channel({portId:d,channelId:g}),channels:async d=>r.Channels({pagination:(0,yd.createPagination)(d)}),allChannels:async()=>{let d=[],g,y;do g=await r.Channels({pagination:(0,yd.createPagination)(y)}),d.push(...g.channels),y=g.pagination?.nextKey;while(y&&y.length);return w5.QueryChannelsResponse.fromPartial({channels:d,height:g.height})},connectionChannels:async(d,g)=>r.ConnectionChannels({connection:d,pagination:(0,yd.createPagination)(g)}),allConnectionChannels:async d=>{let g=[],y,_;do y=await r.ConnectionChannels({connection:d,pagination:(0,yd.createPagination)(_)}),g.push(...y.channels),_=y.pagination?.nextKey;while(_&&_.length);return w5.QueryConnectionChannelsResponse.fromPartial({channels:g,height:y.height})},clientState:async(d,g)=>r.ChannelClientState({portId:d,channelId:g}),consensusState:async(d,g,y,_)=>r.ChannelConsensusState({portId:d,channelId:g,revisionNumber:BigInt(y),revisionHeight:BigInt(_)}),packetCommitment:async(d,g,y)=>r.PacketCommitment({portId:d,channelId:g,sequence:(0,yd.longify)(y)}),packetCommitments:async(d,g,y)=>r.PacketCommitments({channelId:g,portId:d,pagination:(0,yd.createPagination)(y)}),allPacketCommitments:async(d,g)=>{let y=[],_,I;do _=await r.PacketCommitments({channelId:g,portId:d,pagination:(0,yd.createPagination)(I)}),y.push(..._.commitments),I=_.pagination?.nextKey;while(I&&I.length);return w5.QueryPacketCommitmentsResponse.fromPartial({commitments:y,height:_.height})},packetReceipt:async(d,g,y)=>r.PacketReceipt({portId:d,channelId:g,sequence:(0,yd.longify)(y)}),packetAcknowledgement:async(d,g,y)=>r.PacketAcknowledgement({portId:d,channelId:g,sequence:(0,yd.longify)(y)}),packetAcknowledgements:async(d,g,y)=>{let _=w5.QueryPacketAcknowledgementsRequest.fromPartial({portId:d,channelId:g,pagination:(0,yd.createPagination)(y)});return r.PacketAcknowledgements(_)},allPacketAcknowledgements:async(d,g)=>{let y=[],_,I;do{let N=w5.QueryPacketAcknowledgementsRequest.fromPartial({channelId:g,portId:d,pagination:(0,yd.createPagination)(I)});_=await r.PacketAcknowledgements(N),y.push(..._.acknowledgements),I=_.pagination?.nextKey}while(I&&I.length);return w5.QueryPacketAcknowledgementsResponse.fromPartial({acknowledgements:y,height:_.height})},unreceivedPackets:async(d,g,y)=>r.UnreceivedPackets({portId:d,channelId:g,packetCommitmentSequences:y.map(_=>BigInt(_))}),unreceivedAcks:async(d,g,y)=>r.UnreceivedAcks({portId:d,channelId:g,packetAckSequences:y.map(_=>BigInt(_))}),nextSequenceReceive:async(d,g)=>r.NextSequenceReceive({portId:d,channelId:g})},client:{state:async d=>i.ClientState({clientId:d}),states:async d=>i.ClientStates({pagination:(0,yd.createPagination)(d)}),allStates:async()=>{let d=[],g,y;do g=await i.ClientStates({pagination:(0,yd.createPagination)(y)}),d.push(...g.clientStates),y=g.pagination?.nextKey;while(y&&y.length);return uQ.QueryClientStatesResponse.fromPartial({clientStates:d})},consensusState:async(d,g)=>i.ConsensusState(uQ.QueryConsensusStateRequest.fromPartial({clientId:d,revisionHeight:g!==void 0?BigInt(g):void 0,latestHeight:g===void 0})),consensusStates:async(d,g)=>i.ConsensusStates({clientId:d,pagination:(0,yd.createPagination)(g)}),allConsensusStates:async d=>{let g=[],y,_;do y=await i.ConsensusStates({clientId:d,pagination:(0,yd.createPagination)(_)}),g.push(...y.consensusStates),_=y.pagination?.nextKey;while(_&&_.length);return uQ.QueryConsensusStatesResponse.fromPartial({consensusStates:g})},params:async()=>i.ClientParams({}),stateTm:async d=>{let g=await i.ClientState({clientId:d});return nwe(g.clientState)},statesTm:async d=>{let{clientStates:g}=await i.ClientStates({pagination:(0,yd.createPagination)(d)});return g.map(({clientState:y})=>nwe(y))},allStatesTm:async()=>{let d=[],g,y;do g=await i.ClientStates({pagination:(0,yd.createPagination)(y)}),d.push(...g.clientStates),y=g.pagination?.nextKey;while(y&&y.length);return d.map(({clientState:_})=>nwe(_))},consensusStateTm:async(d,g)=>{let y=await i.ConsensusState(uQ.QueryConsensusStateRequest.fromPartial({clientId:d,revisionHeight:g?.revisionHeight,revisionNumber:g?.revisionNumber,latestHeight:g===void 0}));return Zpn(y.consensusState)}},connection:{connection:async d=>n.Connection({connectionId:d}),connections:async d=>n.Connections({pagination:(0,yd.createPagination)(d)}),allConnections:async()=>{let d=[],g,y;do g=await n.Connections({pagination:(0,yd.createPagination)(y)}),d.push(...g.connections),y=g.pagination?.nextKey;while(y&&y.length);return rwe.QueryConnectionsResponse.fromPartial({connections:d,height:g.height})},clientConnections:async d=>n.ClientConnections({clientId:d}),clientState:async d=>n.ConnectionClientState({connectionId:d}),consensusState:async(d,g)=>n.ConnectionConsensusState(rwe.QueryConnectionConsensusStateRequest.fromPartial({connectionId:d,revisionHeight:BigInt(g)}))},transfer:{denomTrace:async d=>o.DenomTrace({hash:d}),denomTraces:async d=>o.DenomTraces({pagination:(0,yd.createPagination)(d)}),allDenomTraces:async()=>{let d=[],g,y;do g=await o.DenomTraces({pagination:(0,yd.createPagination)(y)}),d.push(...g.denomTraces),y=g.pagination?.nextKey;while(y&&y.length);return cyt.QueryDenomTracesResponse.fromPartial({denomTraces:d})},params:async()=>o.Params({})}}}}ote.setupIbcExtension=jpn});var fyt=ir(d8=>{"use strict";J();K();z();Object.defineProperty(d8,"__esModule",{value:!0});d8.Params=d8.Minter=d8.protobufPackage=void 0;var v9=Qi(),u8=Hi();d8.protobufPackage="cosmos.mint.v1beta1";function iwe(){return{inflation:"",annualProvisions:""}}d8.Minter={typeUrl:"/cosmos.mint.v1beta1.Minter",encode(e,t=v9.BinaryWriter.create()){return e.inflation!==""&&t.uint32(10).string(e.inflation),e.annualProvisions!==""&&t.uint32(18).string(e.annualProvisions),t},decode(e,t){let r=e instanceof v9.BinaryReader?e:new v9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.inflation=r.string();break;case 2:n.annualProvisions=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=iwe();return(0,u8.isSet)(e.inflation)&&(t.inflation=String(e.inflation)),(0,u8.isSet)(e.annualProvisions)&&(t.annualProvisions=String(e.annualProvisions)),t},toJSON(e){let t={};return e.inflation!==void 0&&(t.inflation=e.inflation),e.annualProvisions!==void 0&&(t.annualProvisions=e.annualProvisions),t},fromPartial(e){let t=iwe();return t.inflation=e.inflation??"",t.annualProvisions=e.annualProvisions??"",t}};function owe(){return{mintDenom:"",inflationRateChange:"",inflationMax:"",inflationMin:"",goalBonded:"",blocksPerYear:BigInt(0)}}d8.Params={typeUrl:"/cosmos.mint.v1beta1.Params",encode(e,t=v9.BinaryWriter.create()){return e.mintDenom!==""&&t.uint32(10).string(e.mintDenom),e.inflationRateChange!==""&&t.uint32(18).string(e.inflationRateChange),e.inflationMax!==""&&t.uint32(26).string(e.inflationMax),e.inflationMin!==""&&t.uint32(34).string(e.inflationMin),e.goalBonded!==""&&t.uint32(42).string(e.goalBonded),e.blocksPerYear!==BigInt(0)&&t.uint32(48).uint64(e.blocksPerYear),t},decode(e,t){let r=e instanceof v9.BinaryReader?e:new v9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=owe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.mintDenom=r.string();break;case 2:n.inflationRateChange=r.string();break;case 3:n.inflationMax=r.string();break;case 4:n.inflationMin=r.string();break;case 5:n.goalBonded=r.string();break;case 6:n.blocksPerYear=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=owe();return(0,u8.isSet)(e.mintDenom)&&(t.mintDenom=String(e.mintDenom)),(0,u8.isSet)(e.inflationRateChange)&&(t.inflationRateChange=String(e.inflationRateChange)),(0,u8.isSet)(e.inflationMax)&&(t.inflationMax=String(e.inflationMax)),(0,u8.isSet)(e.inflationMin)&&(t.inflationMin=String(e.inflationMin)),(0,u8.isSet)(e.goalBonded)&&(t.goalBonded=String(e.goalBonded)),(0,u8.isSet)(e.blocksPerYear)&&(t.blocksPerYear=BigInt(e.blocksPerYear.toString())),t},toJSON(e){let t={};return e.mintDenom!==void 0&&(t.mintDenom=e.mintDenom),e.inflationRateChange!==void 0&&(t.inflationRateChange=e.inflationRateChange),e.inflationMax!==void 0&&(t.inflationMax=e.inflationMax),e.inflationMin!==void 0&&(t.inflationMin=e.inflationMin),e.goalBonded!==void 0&&(t.goalBonded=e.goalBonded),e.blocksPerYear!==void 0&&(t.blocksPerYear=(e.blocksPerYear||BigInt(0)).toString()),t},fromPartial(e){let t=owe();return t.mintDenom=e.mintDenom??"",t.inflationRateChange=e.inflationRateChange??"",t.inflationMax=e.inflationMax??"",t.inflationMin=e.inflationMin??"",t.goalBonded=e.goalBonded??"",e.blocksPerYear!==void 0&&e.blocksPerYear!==null&&(t.blocksPerYear=BigInt(e.blocksPerYear.toString())),t}}});var lyt=ir(x0=>{"use strict";J();K();z();Object.defineProperty(x0,"__esModule",{value:!0});x0.QueryClientImpl=x0.QueryAnnualProvisionsResponse=x0.QueryAnnualProvisionsRequest=x0.QueryInflationResponse=x0.QueryInflationRequest=x0.QueryParamsResponse=x0.QueryParamsRequest=x0.protobufPackage=void 0;var R9=fyt(),Yd=Qi(),O5=Hi();x0.protobufPackage="cosmos.mint.v1beta1";function awe(){return{}}x0.QueryParamsRequest={typeUrl:"/cosmos.mint.v1beta1.QueryParamsRequest",encode(e,t=Yd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=awe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return awe()},toJSON(e){return{}},fromPartial(e){return awe()}};function swe(){return{params:R9.Params.fromPartial({})}}x0.QueryParamsResponse={typeUrl:"/cosmos.mint.v1beta1.QueryParamsResponse",encode(e,t=Yd.BinaryWriter.create()){return e.params!==void 0&&R9.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=swe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=R9.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=swe();return(0,O5.isSet)(e.params)&&(t.params=R9.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?R9.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=swe();return e.params!==void 0&&e.params!==null&&(t.params=R9.Params.fromPartial(e.params)),t}};function cwe(){return{}}x0.QueryInflationRequest={typeUrl:"/cosmos.mint.v1beta1.QueryInflationRequest",encode(e,t=Yd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return cwe()},toJSON(e){return{}},fromPartial(e){return cwe()}};function uwe(){return{inflation:new Uint8Array}}x0.QueryInflationResponse={typeUrl:"/cosmos.mint.v1beta1.QueryInflationResponse",encode(e,t=Yd.BinaryWriter.create()){return e.inflation.length!==0&&t.uint32(10).bytes(e.inflation),t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.inflation=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=uwe();return(0,O5.isSet)(e.inflation)&&(t.inflation=(0,O5.bytesFromBase64)(e.inflation)),t},toJSON(e){let t={};return e.inflation!==void 0&&(t.inflation=(0,O5.base64FromBytes)(e.inflation!==void 0?e.inflation:new Uint8Array)),t},fromPartial(e){let t=uwe();return t.inflation=e.inflation??new Uint8Array,t}};function dwe(){return{}}x0.QueryAnnualProvisionsRequest={typeUrl:"/cosmos.mint.v1beta1.QueryAnnualProvisionsRequest",encode(e,t=Yd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return dwe()},toJSON(e){return{}},fromPartial(e){return dwe()}};function fwe(){return{annualProvisions:new Uint8Array}}x0.QueryAnnualProvisionsResponse={typeUrl:"/cosmos.mint.v1beta1.QueryAnnualProvisionsResponse",encode(e,t=Yd.BinaryWriter.create()){return e.annualProvisions.length!==0&&t.uint32(10).bytes(e.annualProvisions),t},decode(e,t){let r=e instanceof Yd.BinaryReader?e:new Yd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.annualProvisions=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=fwe();return(0,O5.isSet)(e.annualProvisions)&&(t.annualProvisions=(0,O5.bytesFromBase64)(e.annualProvisions)),t},toJSON(e){let t={};return e.annualProvisions!==void 0&&(t.annualProvisions=(0,O5.base64FromBytes)(e.annualProvisions!==void 0?e.annualProvisions:new Uint8Array)),t},fromPartial(e){let t=fwe();return t.annualProvisions=e.annualProvisions??new Uint8Array,t}};var lwe=class{constructor(t){this.rpc=t,this.Params=this.Params.bind(this),this.Inflation=this.Inflation.bind(this),this.AnnualProvisions=this.AnnualProvisions.bind(this)}Params(t={}){let r=x0.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.mint.v1beta1.Query","Params",r).then(n=>x0.QueryParamsResponse.decode(new Yd.BinaryReader(n)))}Inflation(t={}){let r=x0.QueryInflationRequest.encode(t).finish();return this.rpc.request("cosmos.mint.v1beta1.Query","Inflation",r).then(n=>x0.QueryInflationResponse.decode(new Yd.BinaryReader(n)))}AnnualProvisions(t={}){let r=x0.QueryAnnualProvisionsRequest.encode(t).finish();return this.rpc.request("cosmos.mint.v1beta1.Query","AnnualProvisions",r).then(n=>x0.QueryAnnualProvisionsResponse.decode(new Yd.BinaryReader(n)))}};x0.QueryClientImpl=lwe});var hyt=ir(ate=>{"use strict";J();K();z();Object.defineProperty(ate,"__esModule",{value:!0});ate.setupMintExtension=void 0;var e1n=Uf(),t1n=lyt(),N5=ep();function r1n(e){let t=(0,N5.createProtobufRpcClient)(e),r=new t1n.QueryClientImpl(t);return{mint:{params:async()=>{let{params:i}=await r.Params({});return(0,e1n.assert)(i),{blocksPerYear:i.blocksPerYear,goalBonded:(0,N5.decodeCosmosSdkDecFromProto)(i.goalBonded),inflationMin:(0,N5.decodeCosmosSdkDecFromProto)(i.inflationMin),inflationMax:(0,N5.decodeCosmosSdkDecFromProto)(i.inflationMax),inflationRateChange:(0,N5.decodeCosmosSdkDecFromProto)(i.inflationRateChange),mintDenom:i.mintDenom}},inflation:async()=>{let{inflation:i}=await r.Inflation({});return(0,N5.decodeCosmosSdkDecFromProto)(i)},annualProvisions:async()=>{let{annualProvisions:i}=await r.AnnualProvisions({});return(0,N5.decodeCosmosSdkDecFromProto)(i)}}}}ate.setupMintExtension=r1n});var Ayt=ir(S9=>{"use strict";J();K();z();Object.defineProperty(S9,"__esModule",{value:!0});S9.createSlashingAminoConverters=S9.isAminoMsgUnjail=void 0;function n1n(e){return e.type==="cosmos-sdk/MsgUnjail"}S9.isAminoMsgUnjail=n1n;function i1n(){throw new Error("Not implemented")}S9.createSlashingAminoConverters=i1n});var pyt=ir(f8=>{"use strict";J();K();z();Object.defineProperty(f8,"__esModule",{value:!0});f8.Params=f8.ValidatorSigningInfo=f8.protobufPackage=void 0;var ste=u1(),I9=wS(),C9=Qi(),$f=Hi();f8.protobufPackage="cosmos.slashing.v1beta1";function hwe(){return{address:"",startHeight:BigInt(0),indexOffset:BigInt(0),jailedUntil:ste.Timestamp.fromPartial({}),tombstoned:!1,missedBlocksCounter:BigInt(0)}}f8.ValidatorSigningInfo={typeUrl:"/cosmos.slashing.v1beta1.ValidatorSigningInfo",encode(e,t=C9.BinaryWriter.create()){return e.address!==""&&t.uint32(10).string(e.address),e.startHeight!==BigInt(0)&&t.uint32(16).int64(e.startHeight),e.indexOffset!==BigInt(0)&&t.uint32(24).int64(e.indexOffset),e.jailedUntil!==void 0&&ste.Timestamp.encode(e.jailedUntil,t.uint32(34).fork()).ldelim(),e.tombstoned===!0&&t.uint32(40).bool(e.tombstoned),e.missedBlocksCounter!==BigInt(0)&&t.uint32(48).int64(e.missedBlocksCounter),t},decode(e,t){let r=e instanceof C9.BinaryReader?e:new C9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.string();break;case 2:n.startHeight=r.int64();break;case 3:n.indexOffset=r.int64();break;case 4:n.jailedUntil=ste.Timestamp.decode(r,r.uint32());break;case 5:n.tombstoned=r.bool();break;case 6:n.missedBlocksCounter=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=hwe();return(0,$f.isSet)(e.address)&&(t.address=String(e.address)),(0,$f.isSet)(e.startHeight)&&(t.startHeight=BigInt(e.startHeight.toString())),(0,$f.isSet)(e.indexOffset)&&(t.indexOffset=BigInt(e.indexOffset.toString())),(0,$f.isSet)(e.jailedUntil)&&(t.jailedUntil=(0,$f.fromJsonTimestamp)(e.jailedUntil)),(0,$f.isSet)(e.tombstoned)&&(t.tombstoned=!!e.tombstoned),(0,$f.isSet)(e.missedBlocksCounter)&&(t.missedBlocksCounter=BigInt(e.missedBlocksCounter.toString())),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=e.address),e.startHeight!==void 0&&(t.startHeight=(e.startHeight||BigInt(0)).toString()),e.indexOffset!==void 0&&(t.indexOffset=(e.indexOffset||BigInt(0)).toString()),e.jailedUntil!==void 0&&(t.jailedUntil=(0,$f.fromTimestamp)(e.jailedUntil).toISOString()),e.tombstoned!==void 0&&(t.tombstoned=e.tombstoned),e.missedBlocksCounter!==void 0&&(t.missedBlocksCounter=(e.missedBlocksCounter||BigInt(0)).toString()),t},fromPartial(e){let t=hwe();return t.address=e.address??"",e.startHeight!==void 0&&e.startHeight!==null&&(t.startHeight=BigInt(e.startHeight.toString())),e.indexOffset!==void 0&&e.indexOffset!==null&&(t.indexOffset=BigInt(e.indexOffset.toString())),e.jailedUntil!==void 0&&e.jailedUntil!==null&&(t.jailedUntil=ste.Timestamp.fromPartial(e.jailedUntil)),t.tombstoned=e.tombstoned??!1,e.missedBlocksCounter!==void 0&&e.missedBlocksCounter!==null&&(t.missedBlocksCounter=BigInt(e.missedBlocksCounter.toString())),t}};function Awe(){return{signedBlocksWindow:BigInt(0),minSignedPerWindow:new Uint8Array,downtimeJailDuration:I9.Duration.fromPartial({}),slashFractionDoubleSign:new Uint8Array,slashFractionDowntime:new Uint8Array}}f8.Params={typeUrl:"/cosmos.slashing.v1beta1.Params",encode(e,t=C9.BinaryWriter.create()){return e.signedBlocksWindow!==BigInt(0)&&t.uint32(8).int64(e.signedBlocksWindow),e.minSignedPerWindow.length!==0&&t.uint32(18).bytes(e.minSignedPerWindow),e.downtimeJailDuration!==void 0&&I9.Duration.encode(e.downtimeJailDuration,t.uint32(26).fork()).ldelim(),e.slashFractionDoubleSign.length!==0&&t.uint32(34).bytes(e.slashFractionDoubleSign),e.slashFractionDowntime.length!==0&&t.uint32(42).bytes(e.slashFractionDowntime),t},decode(e,t){let r=e instanceof C9.BinaryReader?e:new C9.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Awe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.signedBlocksWindow=r.int64();break;case 2:n.minSignedPerWindow=r.bytes();break;case 3:n.downtimeJailDuration=I9.Duration.decode(r,r.uint32());break;case 4:n.slashFractionDoubleSign=r.bytes();break;case 5:n.slashFractionDowntime=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Awe();return(0,$f.isSet)(e.signedBlocksWindow)&&(t.signedBlocksWindow=BigInt(e.signedBlocksWindow.toString())),(0,$f.isSet)(e.minSignedPerWindow)&&(t.minSignedPerWindow=(0,$f.bytesFromBase64)(e.minSignedPerWindow)),(0,$f.isSet)(e.downtimeJailDuration)&&(t.downtimeJailDuration=I9.Duration.fromJSON(e.downtimeJailDuration)),(0,$f.isSet)(e.slashFractionDoubleSign)&&(t.slashFractionDoubleSign=(0,$f.bytesFromBase64)(e.slashFractionDoubleSign)),(0,$f.isSet)(e.slashFractionDowntime)&&(t.slashFractionDowntime=(0,$f.bytesFromBase64)(e.slashFractionDowntime)),t},toJSON(e){let t={};return e.signedBlocksWindow!==void 0&&(t.signedBlocksWindow=(e.signedBlocksWindow||BigInt(0)).toString()),e.minSignedPerWindow!==void 0&&(t.minSignedPerWindow=(0,$f.base64FromBytes)(e.minSignedPerWindow!==void 0?e.minSignedPerWindow:new Uint8Array)),e.downtimeJailDuration!==void 0&&(t.downtimeJailDuration=e.downtimeJailDuration?I9.Duration.toJSON(e.downtimeJailDuration):void 0),e.slashFractionDoubleSign!==void 0&&(t.slashFractionDoubleSign=(0,$f.base64FromBytes)(e.slashFractionDoubleSign!==void 0?e.slashFractionDoubleSign:new Uint8Array)),e.slashFractionDowntime!==void 0&&(t.slashFractionDowntime=(0,$f.base64FromBytes)(e.slashFractionDowntime!==void 0?e.slashFractionDowntime:new Uint8Array)),t},fromPartial(e){let t=Awe();return e.signedBlocksWindow!==void 0&&e.signedBlocksWindow!==null&&(t.signedBlocksWindow=BigInt(e.signedBlocksWindow.toString())),t.minSignedPerWindow=e.minSignedPerWindow??new Uint8Array,e.downtimeJailDuration!==void 0&&e.downtimeJailDuration!==null&&(t.downtimeJailDuration=I9.Duration.fromPartial(e.downtimeJailDuration)),t.slashFractionDoubleSign=e.slashFractionDoubleSign??new Uint8Array,t.slashFractionDowntime=e.slashFractionDowntime??new Uint8Array,t}}});var gyt=ir(T0=>{"use strict";J();K();z();Object.defineProperty(T0,"__esModule",{value:!0});T0.QueryClientImpl=T0.QuerySigningInfosResponse=T0.QuerySigningInfosRequest=T0.QuerySigningInfoResponse=T0.QuerySigningInfoRequest=T0.QueryParamsResponse=T0.QueryParamsRequest=T0.protobufPackage=void 0;var wy=jA(),lh=pyt(),Wd=Qi(),dQ=Hi();T0.protobufPackage="cosmos.slashing.v1beta1";function pwe(){return{}}T0.QueryParamsRequest={typeUrl:"/cosmos.slashing.v1beta1.QueryParamsRequest",encode(e,t=Wd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return pwe()},toJSON(e){return{}},fromPartial(e){return pwe()}};function gwe(){return{params:lh.Params.fromPartial({})}}T0.QueryParamsResponse={typeUrl:"/cosmos.slashing.v1beta1.QueryParamsResponse",encode(e,t=Wd.BinaryWriter.create()){return e.params!==void 0&&lh.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=lh.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=gwe();return(0,dQ.isSet)(e.params)&&(t.params=lh.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?lh.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=gwe();return e.params!==void 0&&e.params!==null&&(t.params=lh.Params.fromPartial(e.params)),t}};function _we(){return{consAddress:""}}T0.QuerySigningInfoRequest={typeUrl:"/cosmos.slashing.v1beta1.QuerySigningInfoRequest",encode(e,t=Wd.BinaryWriter.create()){return e.consAddress!==""&&t.uint32(10).string(e.consAddress),t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_we();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.consAddress=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=_we();return(0,dQ.isSet)(e.consAddress)&&(t.consAddress=String(e.consAddress)),t},toJSON(e){let t={};return e.consAddress!==void 0&&(t.consAddress=e.consAddress),t},fromPartial(e){let t=_we();return t.consAddress=e.consAddress??"",t}};function mwe(){return{valSigningInfo:lh.ValidatorSigningInfo.fromPartial({})}}T0.QuerySigningInfoResponse={typeUrl:"/cosmos.slashing.v1beta1.QuerySigningInfoResponse",encode(e,t=Wd.BinaryWriter.create()){return e.valSigningInfo!==void 0&&lh.ValidatorSigningInfo.encode(e.valSigningInfo,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.valSigningInfo=lh.ValidatorSigningInfo.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=mwe();return(0,dQ.isSet)(e.valSigningInfo)&&(t.valSigningInfo=lh.ValidatorSigningInfo.fromJSON(e.valSigningInfo)),t},toJSON(e){let t={};return e.valSigningInfo!==void 0&&(t.valSigningInfo=e.valSigningInfo?lh.ValidatorSigningInfo.toJSON(e.valSigningInfo):void 0),t},fromPartial(e){let t=mwe();return e.valSigningInfo!==void 0&&e.valSigningInfo!==null&&(t.valSigningInfo=lh.ValidatorSigningInfo.fromPartial(e.valSigningInfo)),t}};function ywe(){return{pagination:void 0}}T0.QuerySigningInfosRequest={typeUrl:"/cosmos.slashing.v1beta1.QuerySigningInfosRequest",encode(e,t=Wd.BinaryWriter.create()){return e.pagination!==void 0&&wy.PageRequest.encode(e.pagination,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ywe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pagination=wy.PageRequest.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=ywe();return(0,dQ.isSet)(e.pagination)&&(t.pagination=wy.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.pagination!==void 0&&(t.pagination=e.pagination?wy.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=ywe();return e.pagination!==void 0&&e.pagination!==null&&(t.pagination=wy.PageRequest.fromPartial(e.pagination)),t}};function bwe(){return{info:[],pagination:void 0}}T0.QuerySigningInfosResponse={typeUrl:"/cosmos.slashing.v1beta1.QuerySigningInfosResponse",encode(e,t=Wd.BinaryWriter.create()){for(let r of e.info)lh.ValidatorSigningInfo.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&wy.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Wd.BinaryReader?e:new Wd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.info.push(lh.ValidatorSigningInfo.decode(r,r.uint32()));break;case 2:n.pagination=wy.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=bwe();return Array.isArray(e?.info)&&(t.info=e.info.map(r=>lh.ValidatorSigningInfo.fromJSON(r))),(0,dQ.isSet)(e.pagination)&&(t.pagination=wy.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.info?t.info=e.info.map(r=>r?lh.ValidatorSigningInfo.toJSON(r):void 0):t.info=[],e.pagination!==void 0&&(t.pagination=e.pagination?wy.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=bwe();return t.info=e.info?.map(r=>lh.ValidatorSigningInfo.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=wy.PageResponse.fromPartial(e.pagination)),t}};var Ewe=class{constructor(t){this.rpc=t,this.Params=this.Params.bind(this),this.SigningInfo=this.SigningInfo.bind(this),this.SigningInfos=this.SigningInfos.bind(this)}Params(t={}){let r=T0.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.slashing.v1beta1.Query","Params",r).then(n=>T0.QueryParamsResponse.decode(new Wd.BinaryReader(n)))}SigningInfo(t){let r=T0.QuerySigningInfoRequest.encode(t).finish();return this.rpc.request("cosmos.slashing.v1beta1.Query","SigningInfo",r).then(n=>T0.QuerySigningInfoResponse.decode(new Wd.BinaryReader(n)))}SigningInfos(t={pagination:wy.PageRequest.fromPartial({})}){let r=T0.QuerySigningInfosRequest.encode(t).finish();return this.rpc.request("cosmos.slashing.v1beta1.Query","SigningInfos",r).then(n=>T0.QuerySigningInfosResponse.decode(new Wd.BinaryReader(n)))}};T0.QueryClientImpl=Ewe});var myt=ir(cte=>{"use strict";J();K();z();Object.defineProperty(cte,"__esModule",{value:!0});cte.setupSlashingExtension=void 0;var o1n=gyt(),_yt=ep();function a1n(e){let t=(0,_yt.createProtobufRpcClient)(e),r=new o1n.QueryClientImpl(t);return{slashing:{signingInfo:async i=>await r.SigningInfo({consAddress:i}),signingInfos:async i=>await r.SigningInfos({pagination:(0,_yt.createPagination)(i)}),params:async()=>await r.Params({})}}}cte.setupSlashingExtension=a1n});var Eyt=ir(kl=>{"use strict";J();K();z();Object.defineProperty(kl,"__esModule",{value:!0});kl.createStakingAminoConverters=kl.isAminoMsgCancelUnbondingDelegation=kl.isAminoMsgUndelegate=kl.isAminoMsgBeginRedelegate=kl.isAminoMsgDelegate=kl.isAminoMsgEditValidator=kl.isAminoMsgCreateValidator=kl.protoDecimalToJson=void 0;var byt=Uh(),yyt=SS(),BS=Uf();function fQ(e){let t=byt.Decimal.fromAtomics(e,18),[r,i]=t.toString().split(".");return`${r}.${(i??"").padEnd(18,"0")}`}kl.protoDecimalToJson=fQ;function ute(e){return byt.Decimal.fromUserInput(e,18).atomics}function s1n(e){return e.type==="cosmos-sdk/MsgCreateValidator"}kl.isAminoMsgCreateValidator=s1n;function c1n(e){return e.type==="cosmos-sdk/MsgEditValidator"}kl.isAminoMsgEditValidator=c1n;function u1n(e){return e.type==="cosmos-sdk/MsgDelegate"}kl.isAminoMsgDelegate=u1n;function d1n(e){return e.type==="cosmos-sdk/MsgBeginRedelegate"}kl.isAminoMsgBeginRedelegate=d1n;function f1n(e){return e.type==="cosmos-sdk/MsgUndelegate"}kl.isAminoMsgUndelegate=f1n;function l1n(e){return e.type==="cosmos-sdk/MsgCancelUnbondingDelegation"}kl.isAminoMsgCancelUnbondingDelegation=l1n;function h1n(){return{"/cosmos.staking.v1beta1.MsgBeginRedelegate":{aminoType:"cosmos-sdk/MsgBeginRedelegate",toAmino:({delegatorAddress:e,validatorSrcAddress:t,validatorDstAddress:r,amount:i})=>((0,BS.assertDefinedAndNotNull)(i,"missing amount"),{delegator_address:e,validator_src_address:t,validator_dst_address:r,amount:i}),fromAmino:({delegator_address:e,validator_src_address:t,validator_dst_address:r,amount:i})=>({delegatorAddress:e,validatorSrcAddress:t,validatorDstAddress:r,amount:i})},"/cosmos.staking.v1beta1.MsgCreateValidator":{aminoType:"cosmos-sdk/MsgCreateValidator",toAmino:({description:e,commission:t,minSelfDelegation:r,delegatorAddress:i,validatorAddress:n,pubkey:o,value:d})=>((0,BS.assertDefinedAndNotNull)(e,"missing description"),(0,BS.assertDefinedAndNotNull)(t,"missing commission"),(0,BS.assertDefinedAndNotNull)(o,"missing pubkey"),(0,BS.assertDefinedAndNotNull)(d,"missing value"),{description:{moniker:e.moniker,identity:e.identity,website:e.website,security_contact:e.securityContact,details:e.details},commission:{rate:fQ(t.rate),max_rate:fQ(t.maxRate),max_change_rate:fQ(t.maxChangeRate)},min_self_delegation:r,delegator_address:i,validator_address:n,pubkey:(0,yyt.decodePubkey)(o),value:d}),fromAmino:({description:e,commission:t,min_self_delegation:r,delegator_address:i,validator_address:n,pubkey:o,value:d})=>({description:{moniker:e.moniker,identity:e.identity,website:e.website,securityContact:e.security_contact,details:e.details},commission:{rate:ute(t.rate),maxRate:ute(t.max_rate),maxChangeRate:ute(t.max_change_rate)},minSelfDelegation:r,delegatorAddress:i,validatorAddress:n,pubkey:(0,yyt.encodePubkey)(o),value:d})},"/cosmos.staking.v1beta1.MsgDelegate":{aminoType:"cosmos-sdk/MsgDelegate",toAmino:({delegatorAddress:e,validatorAddress:t,amount:r})=>((0,BS.assertDefinedAndNotNull)(r,"missing amount"),{delegator_address:e,validator_address:t,amount:r}),fromAmino:({delegator_address:e,validator_address:t,amount:r})=>({delegatorAddress:e,validatorAddress:t,amount:r})},"/cosmos.staking.v1beta1.MsgEditValidator":{aminoType:"cosmos-sdk/MsgEditValidator",toAmino:({description:e,commissionRate:t,minSelfDelegation:r,validatorAddress:i})=>((0,BS.assertDefinedAndNotNull)(e,"missing description"),{description:{moniker:e.moniker,identity:e.identity,website:e.website,security_contact:e.securityContact,details:e.details},commission_rate:t?fQ(t):void 0,min_self_delegation:r||void 0,validator_address:i}),fromAmino:({description:e,commission_rate:t,min_self_delegation:r,validator_address:i})=>({description:{moniker:e.moniker,identity:e.identity,website:e.website,securityContact:e.security_contact,details:e.details},commissionRate:t?ute(t):"",minSelfDelegation:r??"",validatorAddress:i})},"/cosmos.staking.v1beta1.MsgUndelegate":{aminoType:"cosmos-sdk/MsgUndelegate",toAmino:({delegatorAddress:e,validatorAddress:t,amount:r})=>((0,BS.assertDefinedAndNotNull)(r,"missing amount"),{delegator_address:e,validator_address:t,amount:r}),fromAmino:({delegator_address:e,validator_address:t,amount:r})=>({delegatorAddress:e,validatorAddress:t,amount:r})},"/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation":{aminoType:"cosmos-sdk/MsgCancelUnbondingDelegation",toAmino:({delegatorAddress:e,validatorAddress:t,amount:r,creationHeight:i})=>((0,BS.assertDefinedAndNotNull)(r,"missing amount"),{delegator_address:e,validator_address:t,amount:r,creation_height:i.toString()}),fromAmino:({delegator_address:e,validator_address:t,amount:r,creation_height:i})=>({delegatorAddress:e,validatorAddress:t,amount:r,creationHeight:BigInt(i)})}}}kl.createStakingAminoConverters=h1n});var vyt=ir(Ts=>{"use strict";J();K();z();Object.defineProperty(Ts,"__esModule",{value:!0});Ts.HashedParams=Ts.VersionParams=Ts.ValidatorParams=Ts.EvidenceParams=Ts.BlockParams=Ts.ConsensusParams=Ts.protobufPackage=void 0;var w9=wS(),Pl=Qi(),L2=Hi();Ts.protobufPackage="tendermint.types";function vwe(){return{block:void 0,evidence:void 0,validator:void 0,version:void 0}}Ts.ConsensusParams={typeUrl:"/tendermint.types.ConsensusParams",encode(e,t=Pl.BinaryWriter.create()){return e.block!==void 0&&Ts.BlockParams.encode(e.block,t.uint32(10).fork()).ldelim(),e.evidence!==void 0&&Ts.EvidenceParams.encode(e.evidence,t.uint32(18).fork()).ldelim(),e.validator!==void 0&&Ts.ValidatorParams.encode(e.validator,t.uint32(26).fork()).ldelim(),e.version!==void 0&&Ts.VersionParams.encode(e.version,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.block=Ts.BlockParams.decode(r,r.uint32());break;case 2:n.evidence=Ts.EvidenceParams.decode(r,r.uint32());break;case 3:n.validator=Ts.ValidatorParams.decode(r,r.uint32());break;case 4:n.version=Ts.VersionParams.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vwe();return(0,L2.isSet)(e.block)&&(t.block=Ts.BlockParams.fromJSON(e.block)),(0,L2.isSet)(e.evidence)&&(t.evidence=Ts.EvidenceParams.fromJSON(e.evidence)),(0,L2.isSet)(e.validator)&&(t.validator=Ts.ValidatorParams.fromJSON(e.validator)),(0,L2.isSet)(e.version)&&(t.version=Ts.VersionParams.fromJSON(e.version)),t},toJSON(e){let t={};return e.block!==void 0&&(t.block=e.block?Ts.BlockParams.toJSON(e.block):void 0),e.evidence!==void 0&&(t.evidence=e.evidence?Ts.EvidenceParams.toJSON(e.evidence):void 0),e.validator!==void 0&&(t.validator=e.validator?Ts.ValidatorParams.toJSON(e.validator):void 0),e.version!==void 0&&(t.version=e.version?Ts.VersionParams.toJSON(e.version):void 0),t},fromPartial(e){let t=vwe();return e.block!==void 0&&e.block!==null&&(t.block=Ts.BlockParams.fromPartial(e.block)),e.evidence!==void 0&&e.evidence!==null&&(t.evidence=Ts.EvidenceParams.fromPartial(e.evidence)),e.validator!==void 0&&e.validator!==null&&(t.validator=Ts.ValidatorParams.fromPartial(e.validator)),e.version!==void 0&&e.version!==null&&(t.version=Ts.VersionParams.fromPartial(e.version)),t}};function Rwe(){return{maxBytes:BigInt(0),maxGas:BigInt(0)}}Ts.BlockParams={typeUrl:"/tendermint.types.BlockParams",encode(e,t=Pl.BinaryWriter.create()){return e.maxBytes!==BigInt(0)&&t.uint32(8).int64(e.maxBytes),e.maxGas!==BigInt(0)&&t.uint32(16).int64(e.maxGas),t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Rwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.maxBytes=r.int64();break;case 2:n.maxGas=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Rwe();return(0,L2.isSet)(e.maxBytes)&&(t.maxBytes=BigInt(e.maxBytes.toString())),(0,L2.isSet)(e.maxGas)&&(t.maxGas=BigInt(e.maxGas.toString())),t},toJSON(e){let t={};return e.maxBytes!==void 0&&(t.maxBytes=(e.maxBytes||BigInt(0)).toString()),e.maxGas!==void 0&&(t.maxGas=(e.maxGas||BigInt(0)).toString()),t},fromPartial(e){let t=Rwe();return e.maxBytes!==void 0&&e.maxBytes!==null&&(t.maxBytes=BigInt(e.maxBytes.toString())),e.maxGas!==void 0&&e.maxGas!==null&&(t.maxGas=BigInt(e.maxGas.toString())),t}};function Swe(){return{maxAgeNumBlocks:BigInt(0),maxAgeDuration:w9.Duration.fromPartial({}),maxBytes:BigInt(0)}}Ts.EvidenceParams={typeUrl:"/tendermint.types.EvidenceParams",encode(e,t=Pl.BinaryWriter.create()){return e.maxAgeNumBlocks!==BigInt(0)&&t.uint32(8).int64(e.maxAgeNumBlocks),e.maxAgeDuration!==void 0&&w9.Duration.encode(e.maxAgeDuration,t.uint32(18).fork()).ldelim(),e.maxBytes!==BigInt(0)&&t.uint32(24).int64(e.maxBytes),t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Swe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.maxAgeNumBlocks=r.int64();break;case 2:n.maxAgeDuration=w9.Duration.decode(r,r.uint32());break;case 3:n.maxBytes=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Swe();return(0,L2.isSet)(e.maxAgeNumBlocks)&&(t.maxAgeNumBlocks=BigInt(e.maxAgeNumBlocks.toString())),(0,L2.isSet)(e.maxAgeDuration)&&(t.maxAgeDuration=w9.Duration.fromJSON(e.maxAgeDuration)),(0,L2.isSet)(e.maxBytes)&&(t.maxBytes=BigInt(e.maxBytes.toString())),t},toJSON(e){let t={};return e.maxAgeNumBlocks!==void 0&&(t.maxAgeNumBlocks=(e.maxAgeNumBlocks||BigInt(0)).toString()),e.maxAgeDuration!==void 0&&(t.maxAgeDuration=e.maxAgeDuration?w9.Duration.toJSON(e.maxAgeDuration):void 0),e.maxBytes!==void 0&&(t.maxBytes=(e.maxBytes||BigInt(0)).toString()),t},fromPartial(e){let t=Swe();return e.maxAgeNumBlocks!==void 0&&e.maxAgeNumBlocks!==null&&(t.maxAgeNumBlocks=BigInt(e.maxAgeNumBlocks.toString())),e.maxAgeDuration!==void 0&&e.maxAgeDuration!==null&&(t.maxAgeDuration=w9.Duration.fromPartial(e.maxAgeDuration)),e.maxBytes!==void 0&&e.maxBytes!==null&&(t.maxBytes=BigInt(e.maxBytes.toString())),t}};function Iwe(){return{pubKeyTypes:[]}}Ts.ValidatorParams={typeUrl:"/tendermint.types.ValidatorParams",encode(e,t=Pl.BinaryWriter.create()){for(let r of e.pubKeyTypes)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Iwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pubKeyTypes.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=Iwe();return Array.isArray(e?.pubKeyTypes)&&(t.pubKeyTypes=e.pubKeyTypes.map(r=>String(r))),t},toJSON(e){let t={};return e.pubKeyTypes?t.pubKeyTypes=e.pubKeyTypes.map(r=>r):t.pubKeyTypes=[],t},fromPartial(e){let t=Iwe();return t.pubKeyTypes=e.pubKeyTypes?.map(r=>r)||[],t}};function Cwe(){return{app:BigInt(0)}}Ts.VersionParams={typeUrl:"/tendermint.types.VersionParams",encode(e,t=Pl.BinaryWriter.create()){return e.app!==BigInt(0)&&t.uint32(8).uint64(e.app),t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Cwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.app=r.uint64():r.skipType(o&7)}return n},fromJSON(e){let t=Cwe();return(0,L2.isSet)(e.app)&&(t.app=BigInt(e.app.toString())),t},toJSON(e){let t={};return e.app!==void 0&&(t.app=(e.app||BigInt(0)).toString()),t},fromPartial(e){let t=Cwe();return e.app!==void 0&&e.app!==null&&(t.app=BigInt(e.app.toString())),t}};function wwe(){return{blockMaxBytes:BigInt(0),blockMaxGas:BigInt(0)}}Ts.HashedParams={typeUrl:"/tendermint.types.HashedParams",encode(e,t=Pl.BinaryWriter.create()){return e.blockMaxBytes!==BigInt(0)&&t.uint32(8).int64(e.blockMaxBytes),e.blockMaxGas!==BigInt(0)&&t.uint32(16).int64(e.blockMaxGas),t},decode(e,t){let r=e instanceof Pl.BinaryReader?e:new Pl.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.blockMaxBytes=r.int64();break;case 2:n.blockMaxGas=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=wwe();return(0,L2.isSet)(e.blockMaxBytes)&&(t.blockMaxBytes=BigInt(e.blockMaxBytes.toString())),(0,L2.isSet)(e.blockMaxGas)&&(t.blockMaxGas=BigInt(e.blockMaxGas.toString())),t},toJSON(e){let t={};return e.blockMaxBytes!==void 0&&(t.blockMaxBytes=(e.blockMaxBytes||BigInt(0)).toString()),e.blockMaxGas!==void 0&&(t.blockMaxGas=(e.blockMaxGas||BigInt(0)).toString()),t},fromPartial(e){let t=wwe();return e.blockMaxBytes!==void 0&&e.blockMaxBytes!==null&&(t.blockMaxBytes=BigInt(e.blockMaxBytes.toString())),e.blockMaxGas!==void 0&&e.blockMaxGas!==null&&(t.blockMaxGas=BigInt(e.blockMaxGas.toString())),t}}});var E5e=ir(qt=>{"use strict";J();K();z();Object.defineProperty(qt,"__esModule",{value:!0});qt.ResponsePrepareProposal=qt.ResponseApplySnapshotChunk=qt.ResponseLoadSnapshotChunk=qt.ResponseOfferSnapshot=qt.ResponseListSnapshots=qt.ResponseCommit=qt.ResponseEndBlock=qt.ResponseDeliverTx=qt.ResponseCheckTx=qt.ResponseBeginBlock=qt.ResponseQuery=qt.ResponseInitChain=qt.ResponseInfo=qt.ResponseFlush=qt.ResponseEcho=qt.ResponseException=qt.Response=qt.RequestProcessProposal=qt.RequestPrepareProposal=qt.RequestApplySnapshotChunk=qt.RequestLoadSnapshotChunk=qt.RequestOfferSnapshot=qt.RequestListSnapshots=qt.RequestCommit=qt.RequestEndBlock=qt.RequestDeliverTx=qt.RequestCheckTx=qt.RequestBeginBlock=qt.RequestQuery=qt.RequestInitChain=qt.RequestInfo=qt.RequestFlush=qt.RequestEcho=qt.Request=qt.misbehaviorTypeToJSON=qt.misbehaviorTypeFromJSON=qt.MisbehaviorType=qt.responseProcessProposal_ProposalStatusToJSON=qt.responseProcessProposal_ProposalStatusFromJSON=qt.ResponseProcessProposal_ProposalStatus=qt.responseApplySnapshotChunk_ResultToJSON=qt.responseApplySnapshotChunk_ResultFromJSON=qt.ResponseApplySnapshotChunk_Result=qt.responseOfferSnapshot_ResultToJSON=qt.responseOfferSnapshot_ResultFromJSON=qt.ResponseOfferSnapshot_Result=qt.checkTxTypeToJSON=qt.checkTxTypeFromJSON=qt.CheckTxType=qt.protobufPackage=void 0;qt.ABCIApplicationClientImpl=qt.Snapshot=qt.Misbehavior=qt.ExtendedVoteInfo=qt.VoteInfo=qt.ValidatorUpdate=qt.Validator=qt.TxResult=qt.EventAttribute=qt.Event=qt.ExtendedCommitInfo=qt.CommitInfo=qt.ResponseProcessProposal=void 0;var pA=u1(),fp=vyt(),O9=C5(),lQ=wCe(),N9=BCe(),an=Qi(),Ur=Hi();qt.protobufPackage="tendermint.abci";var l8;(function(e){e[e.NEW=0]="NEW",e[e.RECHECK=1]="RECHECK",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(l8||(qt.CheckTxType=l8={}));function Ryt(e){switch(e){case 0:case"NEW":return l8.NEW;case 1:case"RECHECK":return l8.RECHECK;default:return l8.UNRECOGNIZED}}qt.checkTxTypeFromJSON=Ryt;function Syt(e){switch(e){case l8.NEW:return"NEW";case l8.RECHECK:return"RECHECK";case l8.UNRECOGNIZED:default:return"UNRECOGNIZED"}}qt.checkTxTypeToJSON=Syt;var hA;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACCEPT=1]="ACCEPT",e[e.ABORT=2]="ABORT",e[e.REJECT=3]="REJECT",e[e.REJECT_FORMAT=4]="REJECT_FORMAT",e[e.REJECT_SENDER=5]="REJECT_SENDER",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(hA||(qt.ResponseOfferSnapshot_Result=hA={}));function Iyt(e){switch(e){case 0:case"UNKNOWN":return hA.UNKNOWN;case 1:case"ACCEPT":return hA.ACCEPT;case 2:case"ABORT":return hA.ABORT;case 3:case"REJECT":return hA.REJECT;case 4:case"REJECT_FORMAT":return hA.REJECT_FORMAT;case 5:case"REJECT_SENDER":return hA.REJECT_SENDER;default:return hA.UNRECOGNIZED}}qt.responseOfferSnapshot_ResultFromJSON=Iyt;function Cyt(e){switch(e){case hA.UNKNOWN:return"UNKNOWN";case hA.ACCEPT:return"ACCEPT";case hA.ABORT:return"ABORT";case hA.REJECT:return"REJECT";case hA.REJECT_FORMAT:return"REJECT_FORMAT";case hA.REJECT_SENDER:return"REJECT_SENDER";case hA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}qt.responseOfferSnapshot_ResultToJSON=Cyt;var AA;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACCEPT=1]="ACCEPT",e[e.ABORT=2]="ABORT",e[e.RETRY=3]="RETRY",e[e.RETRY_SNAPSHOT=4]="RETRY_SNAPSHOT",e[e.REJECT_SNAPSHOT=5]="REJECT_SNAPSHOT",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(AA||(qt.ResponseApplySnapshotChunk_Result=AA={}));function wyt(e){switch(e){case 0:case"UNKNOWN":return AA.UNKNOWN;case 1:case"ACCEPT":return AA.ACCEPT;case 2:case"ABORT":return AA.ABORT;case 3:case"RETRY":return AA.RETRY;case 4:case"RETRY_SNAPSHOT":return AA.RETRY_SNAPSHOT;case 5:case"REJECT_SNAPSHOT":return AA.REJECT_SNAPSHOT;default:return AA.UNRECOGNIZED}}qt.responseApplySnapshotChunk_ResultFromJSON=wyt;function Oyt(e){switch(e){case AA.UNKNOWN:return"UNKNOWN";case AA.ACCEPT:return"ACCEPT";case AA.ABORT:return"ABORT";case AA.RETRY:return"RETRY";case AA.RETRY_SNAPSHOT:return"RETRY_SNAPSHOT";case AA.REJECT_SNAPSHOT:return"REJECT_SNAPSHOT";case AA.UNRECOGNIZED:default:return"UNRECOGNIZED"}}qt.responseApplySnapshotChunk_ResultToJSON=Oyt;var VE;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.ACCEPT=1]="ACCEPT",e[e.REJECT=2]="REJECT",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(VE||(qt.ResponseProcessProposal_ProposalStatus=VE={}));function Nyt(e){switch(e){case 0:case"UNKNOWN":return VE.UNKNOWN;case 1:case"ACCEPT":return VE.ACCEPT;case 2:case"REJECT":return VE.REJECT;default:return VE.UNRECOGNIZED}}qt.responseProcessProposal_ProposalStatusFromJSON=Nyt;function xyt(e){switch(e){case VE.UNKNOWN:return"UNKNOWN";case VE.ACCEPT:return"ACCEPT";case VE.REJECT:return"REJECT";case VE.UNRECOGNIZED:default:return"UNRECOGNIZED"}}qt.responseProcessProposal_ProposalStatusToJSON=xyt;var JE;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.DUPLICATE_VOTE=1]="DUPLICATE_VOTE",e[e.LIGHT_CLIENT_ATTACK=2]="LIGHT_CLIENT_ATTACK",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(JE||(qt.MisbehaviorType=JE={}));function Tyt(e){switch(e){case 0:case"UNKNOWN":return JE.UNKNOWN;case 1:case"DUPLICATE_VOTE":return JE.DUPLICATE_VOTE;case 2:case"LIGHT_CLIENT_ATTACK":return JE.LIGHT_CLIENT_ATTACK;default:return JE.UNRECOGNIZED}}qt.misbehaviorTypeFromJSON=Tyt;function Byt(e){switch(e){case JE.UNKNOWN:return"UNKNOWN";case JE.DUPLICATE_VOTE:return"DUPLICATE_VOTE";case JE.LIGHT_CLIENT_ATTACK:return"LIGHT_CLIENT_ATTACK";case JE.UNRECOGNIZED:default:return"UNRECOGNIZED"}}qt.misbehaviorTypeToJSON=Byt;function Owe(){return{echo:void 0,flush:void 0,info:void 0,initChain:void 0,query:void 0,beginBlock:void 0,checkTx:void 0,deliverTx:void 0,endBlock:void 0,commit:void 0,listSnapshots:void 0,offerSnapshot:void 0,loadSnapshotChunk:void 0,applySnapshotChunk:void 0,prepareProposal:void 0,processProposal:void 0}}qt.Request={typeUrl:"/tendermint.abci.Request",encode(e,t=an.BinaryWriter.create()){return e.echo!==void 0&&qt.RequestEcho.encode(e.echo,t.uint32(10).fork()).ldelim(),e.flush!==void 0&&qt.RequestFlush.encode(e.flush,t.uint32(18).fork()).ldelim(),e.info!==void 0&&qt.RequestInfo.encode(e.info,t.uint32(26).fork()).ldelim(),e.initChain!==void 0&&qt.RequestInitChain.encode(e.initChain,t.uint32(42).fork()).ldelim(),e.query!==void 0&&qt.RequestQuery.encode(e.query,t.uint32(50).fork()).ldelim(),e.beginBlock!==void 0&&qt.RequestBeginBlock.encode(e.beginBlock,t.uint32(58).fork()).ldelim(),e.checkTx!==void 0&&qt.RequestCheckTx.encode(e.checkTx,t.uint32(66).fork()).ldelim(),e.deliverTx!==void 0&&qt.RequestDeliverTx.encode(e.deliverTx,t.uint32(74).fork()).ldelim(),e.endBlock!==void 0&&qt.RequestEndBlock.encode(e.endBlock,t.uint32(82).fork()).ldelim(),e.commit!==void 0&&qt.RequestCommit.encode(e.commit,t.uint32(90).fork()).ldelim(),e.listSnapshots!==void 0&&qt.RequestListSnapshots.encode(e.listSnapshots,t.uint32(98).fork()).ldelim(),e.offerSnapshot!==void 0&&qt.RequestOfferSnapshot.encode(e.offerSnapshot,t.uint32(106).fork()).ldelim(),e.loadSnapshotChunk!==void 0&&qt.RequestLoadSnapshotChunk.encode(e.loadSnapshotChunk,t.uint32(114).fork()).ldelim(),e.applySnapshotChunk!==void 0&&qt.RequestApplySnapshotChunk.encode(e.applySnapshotChunk,t.uint32(122).fork()).ldelim(),e.prepareProposal!==void 0&&qt.RequestPrepareProposal.encode(e.prepareProposal,t.uint32(130).fork()).ldelim(),e.processProposal!==void 0&&qt.RequestProcessProposal.encode(e.processProposal,t.uint32(138).fork()).ldelim(),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Owe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.echo=qt.RequestEcho.decode(r,r.uint32());break;case 2:n.flush=qt.RequestFlush.decode(r,r.uint32());break;case 3:n.info=qt.RequestInfo.decode(r,r.uint32());break;case 5:n.initChain=qt.RequestInitChain.decode(r,r.uint32());break;case 6:n.query=qt.RequestQuery.decode(r,r.uint32());break;case 7:n.beginBlock=qt.RequestBeginBlock.decode(r,r.uint32());break;case 8:n.checkTx=qt.RequestCheckTx.decode(r,r.uint32());break;case 9:n.deliverTx=qt.RequestDeliverTx.decode(r,r.uint32());break;case 10:n.endBlock=qt.RequestEndBlock.decode(r,r.uint32());break;case 11:n.commit=qt.RequestCommit.decode(r,r.uint32());break;case 12:n.listSnapshots=qt.RequestListSnapshots.decode(r,r.uint32());break;case 13:n.offerSnapshot=qt.RequestOfferSnapshot.decode(r,r.uint32());break;case 14:n.loadSnapshotChunk=qt.RequestLoadSnapshotChunk.decode(r,r.uint32());break;case 15:n.applySnapshotChunk=qt.RequestApplySnapshotChunk.decode(r,r.uint32());break;case 16:n.prepareProposal=qt.RequestPrepareProposal.decode(r,r.uint32());break;case 17:n.processProposal=qt.RequestProcessProposal.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Owe();return(0,Ur.isSet)(e.echo)&&(t.echo=qt.RequestEcho.fromJSON(e.echo)),(0,Ur.isSet)(e.flush)&&(t.flush=qt.RequestFlush.fromJSON(e.flush)),(0,Ur.isSet)(e.info)&&(t.info=qt.RequestInfo.fromJSON(e.info)),(0,Ur.isSet)(e.initChain)&&(t.initChain=qt.RequestInitChain.fromJSON(e.initChain)),(0,Ur.isSet)(e.query)&&(t.query=qt.RequestQuery.fromJSON(e.query)),(0,Ur.isSet)(e.beginBlock)&&(t.beginBlock=qt.RequestBeginBlock.fromJSON(e.beginBlock)),(0,Ur.isSet)(e.checkTx)&&(t.checkTx=qt.RequestCheckTx.fromJSON(e.checkTx)),(0,Ur.isSet)(e.deliverTx)&&(t.deliverTx=qt.RequestDeliverTx.fromJSON(e.deliverTx)),(0,Ur.isSet)(e.endBlock)&&(t.endBlock=qt.RequestEndBlock.fromJSON(e.endBlock)),(0,Ur.isSet)(e.commit)&&(t.commit=qt.RequestCommit.fromJSON(e.commit)),(0,Ur.isSet)(e.listSnapshots)&&(t.listSnapshots=qt.RequestListSnapshots.fromJSON(e.listSnapshots)),(0,Ur.isSet)(e.offerSnapshot)&&(t.offerSnapshot=qt.RequestOfferSnapshot.fromJSON(e.offerSnapshot)),(0,Ur.isSet)(e.loadSnapshotChunk)&&(t.loadSnapshotChunk=qt.RequestLoadSnapshotChunk.fromJSON(e.loadSnapshotChunk)),(0,Ur.isSet)(e.applySnapshotChunk)&&(t.applySnapshotChunk=qt.RequestApplySnapshotChunk.fromJSON(e.applySnapshotChunk)),(0,Ur.isSet)(e.prepareProposal)&&(t.prepareProposal=qt.RequestPrepareProposal.fromJSON(e.prepareProposal)),(0,Ur.isSet)(e.processProposal)&&(t.processProposal=qt.RequestProcessProposal.fromJSON(e.processProposal)),t},toJSON(e){let t={};return e.echo!==void 0&&(t.echo=e.echo?qt.RequestEcho.toJSON(e.echo):void 0),e.flush!==void 0&&(t.flush=e.flush?qt.RequestFlush.toJSON(e.flush):void 0),e.info!==void 0&&(t.info=e.info?qt.RequestInfo.toJSON(e.info):void 0),e.initChain!==void 0&&(t.initChain=e.initChain?qt.RequestInitChain.toJSON(e.initChain):void 0),e.query!==void 0&&(t.query=e.query?qt.RequestQuery.toJSON(e.query):void 0),e.beginBlock!==void 0&&(t.beginBlock=e.beginBlock?qt.RequestBeginBlock.toJSON(e.beginBlock):void 0),e.checkTx!==void 0&&(t.checkTx=e.checkTx?qt.RequestCheckTx.toJSON(e.checkTx):void 0),e.deliverTx!==void 0&&(t.deliverTx=e.deliverTx?qt.RequestDeliverTx.toJSON(e.deliverTx):void 0),e.endBlock!==void 0&&(t.endBlock=e.endBlock?qt.RequestEndBlock.toJSON(e.endBlock):void 0),e.commit!==void 0&&(t.commit=e.commit?qt.RequestCommit.toJSON(e.commit):void 0),e.listSnapshots!==void 0&&(t.listSnapshots=e.listSnapshots?qt.RequestListSnapshots.toJSON(e.listSnapshots):void 0),e.offerSnapshot!==void 0&&(t.offerSnapshot=e.offerSnapshot?qt.RequestOfferSnapshot.toJSON(e.offerSnapshot):void 0),e.loadSnapshotChunk!==void 0&&(t.loadSnapshotChunk=e.loadSnapshotChunk?qt.RequestLoadSnapshotChunk.toJSON(e.loadSnapshotChunk):void 0),e.applySnapshotChunk!==void 0&&(t.applySnapshotChunk=e.applySnapshotChunk?qt.RequestApplySnapshotChunk.toJSON(e.applySnapshotChunk):void 0),e.prepareProposal!==void 0&&(t.prepareProposal=e.prepareProposal?qt.RequestPrepareProposal.toJSON(e.prepareProposal):void 0),e.processProposal!==void 0&&(t.processProposal=e.processProposal?qt.RequestProcessProposal.toJSON(e.processProposal):void 0),t},fromPartial(e){let t=Owe();return e.echo!==void 0&&e.echo!==null&&(t.echo=qt.RequestEcho.fromPartial(e.echo)),e.flush!==void 0&&e.flush!==null&&(t.flush=qt.RequestFlush.fromPartial(e.flush)),e.info!==void 0&&e.info!==null&&(t.info=qt.RequestInfo.fromPartial(e.info)),e.initChain!==void 0&&e.initChain!==null&&(t.initChain=qt.RequestInitChain.fromPartial(e.initChain)),e.query!==void 0&&e.query!==null&&(t.query=qt.RequestQuery.fromPartial(e.query)),e.beginBlock!==void 0&&e.beginBlock!==null&&(t.beginBlock=qt.RequestBeginBlock.fromPartial(e.beginBlock)),e.checkTx!==void 0&&e.checkTx!==null&&(t.checkTx=qt.RequestCheckTx.fromPartial(e.checkTx)),e.deliverTx!==void 0&&e.deliverTx!==null&&(t.deliverTx=qt.RequestDeliverTx.fromPartial(e.deliverTx)),e.endBlock!==void 0&&e.endBlock!==null&&(t.endBlock=qt.RequestEndBlock.fromPartial(e.endBlock)),e.commit!==void 0&&e.commit!==null&&(t.commit=qt.RequestCommit.fromPartial(e.commit)),e.listSnapshots!==void 0&&e.listSnapshots!==null&&(t.listSnapshots=qt.RequestListSnapshots.fromPartial(e.listSnapshots)),e.offerSnapshot!==void 0&&e.offerSnapshot!==null&&(t.offerSnapshot=qt.RequestOfferSnapshot.fromPartial(e.offerSnapshot)),e.loadSnapshotChunk!==void 0&&e.loadSnapshotChunk!==null&&(t.loadSnapshotChunk=qt.RequestLoadSnapshotChunk.fromPartial(e.loadSnapshotChunk)),e.applySnapshotChunk!==void 0&&e.applySnapshotChunk!==null&&(t.applySnapshotChunk=qt.RequestApplySnapshotChunk.fromPartial(e.applySnapshotChunk)),e.prepareProposal!==void 0&&e.prepareProposal!==null&&(t.prepareProposal=qt.RequestPrepareProposal.fromPartial(e.prepareProposal)),e.processProposal!==void 0&&e.processProposal!==null&&(t.processProposal=qt.RequestProcessProposal.fromPartial(e.processProposal)),t}};function Nwe(){return{message:""}}qt.RequestEcho={typeUrl:"/tendermint.abci.RequestEcho",encode(e,t=an.BinaryWriter.create()){return e.message!==""&&t.uint32(10).string(e.message),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Nwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.message=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=Nwe();return(0,Ur.isSet)(e.message)&&(t.message=String(e.message)),t},toJSON(e){let t={};return e.message!==void 0&&(t.message=e.message),t},fromPartial(e){let t=Nwe();return t.message=e.message??"",t}};function xwe(){return{}}qt.RequestFlush={typeUrl:"/tendermint.abci.RequestFlush",encode(e,t=an.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return xwe()},toJSON(e){return{}},fromPartial(e){return xwe()}};function Twe(){return{version:"",blockVersion:BigInt(0),p2pVersion:BigInt(0),abciVersion:""}}qt.RequestInfo={typeUrl:"/tendermint.abci.RequestInfo",encode(e,t=an.BinaryWriter.create()){return e.version!==""&&t.uint32(10).string(e.version),e.blockVersion!==BigInt(0)&&t.uint32(16).uint64(e.blockVersion),e.p2pVersion!==BigInt(0)&&t.uint32(24).uint64(e.p2pVersion),e.abciVersion!==""&&t.uint32(34).string(e.abciVersion),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Twe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.version=r.string();break;case 2:n.blockVersion=r.uint64();break;case 3:n.p2pVersion=r.uint64();break;case 4:n.abciVersion=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Twe();return(0,Ur.isSet)(e.version)&&(t.version=String(e.version)),(0,Ur.isSet)(e.blockVersion)&&(t.blockVersion=BigInt(e.blockVersion.toString())),(0,Ur.isSet)(e.p2pVersion)&&(t.p2pVersion=BigInt(e.p2pVersion.toString())),(0,Ur.isSet)(e.abciVersion)&&(t.abciVersion=String(e.abciVersion)),t},toJSON(e){let t={};return e.version!==void 0&&(t.version=e.version),e.blockVersion!==void 0&&(t.blockVersion=(e.blockVersion||BigInt(0)).toString()),e.p2pVersion!==void 0&&(t.p2pVersion=(e.p2pVersion||BigInt(0)).toString()),e.abciVersion!==void 0&&(t.abciVersion=e.abciVersion),t},fromPartial(e){let t=Twe();return t.version=e.version??"",e.blockVersion!==void 0&&e.blockVersion!==null&&(t.blockVersion=BigInt(e.blockVersion.toString())),e.p2pVersion!==void 0&&e.p2pVersion!==null&&(t.p2pVersion=BigInt(e.p2pVersion.toString())),t.abciVersion=e.abciVersion??"",t}};function Bwe(){return{time:pA.Timestamp.fromPartial({}),chainId:"",consensusParams:void 0,validators:[],appStateBytes:new Uint8Array,initialHeight:BigInt(0)}}qt.RequestInitChain={typeUrl:"/tendermint.abci.RequestInitChain",encode(e,t=an.BinaryWriter.create()){e.time!==void 0&&pA.Timestamp.encode(e.time,t.uint32(10).fork()).ldelim(),e.chainId!==""&&t.uint32(18).string(e.chainId),e.consensusParams!==void 0&&fp.ConsensusParams.encode(e.consensusParams,t.uint32(26).fork()).ldelim();for(let r of e.validators)qt.ValidatorUpdate.encode(r,t.uint32(34).fork()).ldelim();return e.appStateBytes.length!==0&&t.uint32(42).bytes(e.appStateBytes),e.initialHeight!==BigInt(0)&&t.uint32(48).int64(e.initialHeight),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Bwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.time=pA.Timestamp.decode(r,r.uint32());break;case 2:n.chainId=r.string();break;case 3:n.consensusParams=fp.ConsensusParams.decode(r,r.uint32());break;case 4:n.validators.push(qt.ValidatorUpdate.decode(r,r.uint32()));break;case 5:n.appStateBytes=r.bytes();break;case 6:n.initialHeight=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Bwe();return(0,Ur.isSet)(e.time)&&(t.time=(0,Ur.fromJsonTimestamp)(e.time)),(0,Ur.isSet)(e.chainId)&&(t.chainId=String(e.chainId)),(0,Ur.isSet)(e.consensusParams)&&(t.consensusParams=fp.ConsensusParams.fromJSON(e.consensusParams)),Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>qt.ValidatorUpdate.fromJSON(r))),(0,Ur.isSet)(e.appStateBytes)&&(t.appStateBytes=(0,Ur.bytesFromBase64)(e.appStateBytes)),(0,Ur.isSet)(e.initialHeight)&&(t.initialHeight=BigInt(e.initialHeight.toString())),t},toJSON(e){let t={};return e.time!==void 0&&(t.time=(0,Ur.fromTimestamp)(e.time).toISOString()),e.chainId!==void 0&&(t.chainId=e.chainId),e.consensusParams!==void 0&&(t.consensusParams=e.consensusParams?fp.ConsensusParams.toJSON(e.consensusParams):void 0),e.validators?t.validators=e.validators.map(r=>r?qt.ValidatorUpdate.toJSON(r):void 0):t.validators=[],e.appStateBytes!==void 0&&(t.appStateBytes=(0,Ur.base64FromBytes)(e.appStateBytes!==void 0?e.appStateBytes:new Uint8Array)),e.initialHeight!==void 0&&(t.initialHeight=(e.initialHeight||BigInt(0)).toString()),t},fromPartial(e){let t=Bwe();return e.time!==void 0&&e.time!==null&&(t.time=pA.Timestamp.fromPartial(e.time)),t.chainId=e.chainId??"",e.consensusParams!==void 0&&e.consensusParams!==null&&(t.consensusParams=fp.ConsensusParams.fromPartial(e.consensusParams)),t.validators=e.validators?.map(r=>qt.ValidatorUpdate.fromPartial(r))||[],t.appStateBytes=e.appStateBytes??new Uint8Array,e.initialHeight!==void 0&&e.initialHeight!==null&&(t.initialHeight=BigInt(e.initialHeight.toString())),t}};function Mwe(){return{data:new Uint8Array,path:"",height:BigInt(0),prove:!1}}qt.RequestQuery={typeUrl:"/tendermint.abci.RequestQuery",encode(e,t=an.BinaryWriter.create()){return e.data.length!==0&&t.uint32(10).bytes(e.data),e.path!==""&&t.uint32(18).string(e.path),e.height!==BigInt(0)&&t.uint32(24).int64(e.height),e.prove===!0&&t.uint32(32).bool(e.prove),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Mwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.data=r.bytes();break;case 2:n.path=r.string();break;case 3:n.height=r.int64();break;case 4:n.prove=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Mwe();return(0,Ur.isSet)(e.data)&&(t.data=(0,Ur.bytesFromBase64)(e.data)),(0,Ur.isSet)(e.path)&&(t.path=String(e.path)),(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.prove)&&(t.prove=!!e.prove),t},toJSON(e){let t={};return e.data!==void 0&&(t.data=(0,Ur.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.path!==void 0&&(t.path=e.path),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.prove!==void 0&&(t.prove=e.prove),t},fromPartial(e){let t=Mwe();return t.data=e.data??new Uint8Array,t.path=e.path??"",e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.prove=e.prove??!1,t}};function Dwe(){return{hash:new Uint8Array,header:O9.Header.fromPartial({}),lastCommitInfo:qt.CommitInfo.fromPartial({}),byzantineValidators:[]}}qt.RequestBeginBlock={typeUrl:"/tendermint.abci.RequestBeginBlock",encode(e,t=an.BinaryWriter.create()){e.hash.length!==0&&t.uint32(10).bytes(e.hash),e.header!==void 0&&O9.Header.encode(e.header,t.uint32(18).fork()).ldelim(),e.lastCommitInfo!==void 0&&qt.CommitInfo.encode(e.lastCommitInfo,t.uint32(26).fork()).ldelim();for(let r of e.byzantineValidators)qt.Misbehavior.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Dwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.hash=r.bytes();break;case 2:n.header=O9.Header.decode(r,r.uint32());break;case 3:n.lastCommitInfo=qt.CommitInfo.decode(r,r.uint32());break;case 4:n.byzantineValidators.push(qt.Misbehavior.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Dwe();return(0,Ur.isSet)(e.hash)&&(t.hash=(0,Ur.bytesFromBase64)(e.hash)),(0,Ur.isSet)(e.header)&&(t.header=O9.Header.fromJSON(e.header)),(0,Ur.isSet)(e.lastCommitInfo)&&(t.lastCommitInfo=qt.CommitInfo.fromJSON(e.lastCommitInfo)),Array.isArray(e?.byzantineValidators)&&(t.byzantineValidators=e.byzantineValidators.map(r=>qt.Misbehavior.fromJSON(r))),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=(0,Ur.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),e.header!==void 0&&(t.header=e.header?O9.Header.toJSON(e.header):void 0),e.lastCommitInfo!==void 0&&(t.lastCommitInfo=e.lastCommitInfo?qt.CommitInfo.toJSON(e.lastCommitInfo):void 0),e.byzantineValidators?t.byzantineValidators=e.byzantineValidators.map(r=>r?qt.Misbehavior.toJSON(r):void 0):t.byzantineValidators=[],t},fromPartial(e){let t=Dwe();return t.hash=e.hash??new Uint8Array,e.header!==void 0&&e.header!==null&&(t.header=O9.Header.fromPartial(e.header)),e.lastCommitInfo!==void 0&&e.lastCommitInfo!==null&&(t.lastCommitInfo=qt.CommitInfo.fromPartial(e.lastCommitInfo)),t.byzantineValidators=e.byzantineValidators?.map(r=>qt.Misbehavior.fromPartial(r))||[],t}};function kwe(){return{tx:new Uint8Array,type:0}}qt.RequestCheckTx={typeUrl:"/tendermint.abci.RequestCheckTx",encode(e,t=an.BinaryWriter.create()){return e.tx.length!==0&&t.uint32(10).bytes(e.tx),e.type!==0&&t.uint32(16).int32(e.type),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.tx=r.bytes();break;case 2:n.type=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kwe();return(0,Ur.isSet)(e.tx)&&(t.tx=(0,Ur.bytesFromBase64)(e.tx)),(0,Ur.isSet)(e.type)&&(t.type=Ryt(e.type)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=(0,Ur.base64FromBytes)(e.tx!==void 0?e.tx:new Uint8Array)),e.type!==void 0&&(t.type=Syt(e.type)),t},fromPartial(e){let t=kwe();return t.tx=e.tx??new Uint8Array,t.type=e.type??0,t}};function Pwe(){return{tx:new Uint8Array}}qt.RequestDeliverTx={typeUrl:"/tendermint.abci.RequestDeliverTx",encode(e,t=an.BinaryWriter.create()){return e.tx.length!==0&&t.uint32(10).bytes(e.tx),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Pwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.tx=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=Pwe();return(0,Ur.isSet)(e.tx)&&(t.tx=(0,Ur.bytesFromBase64)(e.tx)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=(0,Ur.base64FromBytes)(e.tx!==void 0?e.tx:new Uint8Array)),t},fromPartial(e){let t=Pwe();return t.tx=e.tx??new Uint8Array,t}};function Lwe(){return{height:BigInt(0)}}qt.RequestEndBlock={typeUrl:"/tendermint.abci.RequestEndBlock",encode(e,t=an.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).int64(e.height),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Lwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.height=r.int64():r.skipType(o&7)}return n},fromJSON(e){let t=Lwe();return(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),t},fromPartial(e){let t=Lwe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t}};function Uwe(){return{}}qt.RequestCommit={typeUrl:"/tendermint.abci.RequestCommit",encode(e,t=an.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Uwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Uwe()},toJSON(e){return{}},fromPartial(e){return Uwe()}};function Fwe(){return{}}qt.RequestListSnapshots={typeUrl:"/tendermint.abci.RequestListSnapshots",encode(e,t=an.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Fwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Fwe()},toJSON(e){return{}},fromPartial(e){return Fwe()}};function Qwe(){return{snapshot:void 0,appHash:new Uint8Array}}qt.RequestOfferSnapshot={typeUrl:"/tendermint.abci.RequestOfferSnapshot",encode(e,t=an.BinaryWriter.create()){return e.snapshot!==void 0&&qt.Snapshot.encode(e.snapshot,t.uint32(10).fork()).ldelim(),e.appHash.length!==0&&t.uint32(18).bytes(e.appHash),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Qwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.snapshot=qt.Snapshot.decode(r,r.uint32());break;case 2:n.appHash=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Qwe();return(0,Ur.isSet)(e.snapshot)&&(t.snapshot=qt.Snapshot.fromJSON(e.snapshot)),(0,Ur.isSet)(e.appHash)&&(t.appHash=(0,Ur.bytesFromBase64)(e.appHash)),t},toJSON(e){let t={};return e.snapshot!==void 0&&(t.snapshot=e.snapshot?qt.Snapshot.toJSON(e.snapshot):void 0),e.appHash!==void 0&&(t.appHash=(0,Ur.base64FromBytes)(e.appHash!==void 0?e.appHash:new Uint8Array)),t},fromPartial(e){let t=Qwe();return e.snapshot!==void 0&&e.snapshot!==null&&(t.snapshot=qt.Snapshot.fromPartial(e.snapshot)),t.appHash=e.appHash??new Uint8Array,t}};function Hwe(){return{height:BigInt(0),format:0,chunk:0}}qt.RequestLoadSnapshotChunk={typeUrl:"/tendermint.abci.RequestLoadSnapshotChunk",encode(e,t=an.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).uint64(e.height),e.format!==0&&t.uint32(16).uint32(e.format),e.chunk!==0&&t.uint32(24).uint32(e.chunk),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Hwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.uint64();break;case 2:n.format=r.uint32();break;case 3:n.chunk=r.uint32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Hwe();return(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.format)&&(t.format=Number(e.format)),(0,Ur.isSet)(e.chunk)&&(t.chunk=Number(e.chunk)),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.format!==void 0&&(t.format=Math.round(e.format)),e.chunk!==void 0&&(t.chunk=Math.round(e.chunk)),t},fromPartial(e){let t=Hwe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.format=e.format??0,t.chunk=e.chunk??0,t}};function Gwe(){return{index:0,chunk:new Uint8Array,sender:""}}qt.RequestApplySnapshotChunk={typeUrl:"/tendermint.abci.RequestApplySnapshotChunk",encode(e,t=an.BinaryWriter.create()){return e.index!==0&&t.uint32(8).uint32(e.index),e.chunk.length!==0&&t.uint32(18).bytes(e.chunk),e.sender!==""&&t.uint32(26).string(e.sender),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Gwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.index=r.uint32();break;case 2:n.chunk=r.bytes();break;case 3:n.sender=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Gwe();return(0,Ur.isSet)(e.index)&&(t.index=Number(e.index)),(0,Ur.isSet)(e.chunk)&&(t.chunk=(0,Ur.bytesFromBase64)(e.chunk)),(0,Ur.isSet)(e.sender)&&(t.sender=String(e.sender)),t},toJSON(e){let t={};return e.index!==void 0&&(t.index=Math.round(e.index)),e.chunk!==void 0&&(t.chunk=(0,Ur.base64FromBytes)(e.chunk!==void 0?e.chunk:new Uint8Array)),e.sender!==void 0&&(t.sender=e.sender),t},fromPartial(e){let t=Gwe();return t.index=e.index??0,t.chunk=e.chunk??new Uint8Array,t.sender=e.sender??"",t}};function qwe(){return{maxTxBytes:BigInt(0),txs:[],localLastCommit:qt.ExtendedCommitInfo.fromPartial({}),misbehavior:[],height:BigInt(0),time:pA.Timestamp.fromPartial({}),nextValidatorsHash:new Uint8Array,proposerAddress:new Uint8Array}}qt.RequestPrepareProposal={typeUrl:"/tendermint.abci.RequestPrepareProposal",encode(e,t=an.BinaryWriter.create()){e.maxTxBytes!==BigInt(0)&&t.uint32(8).int64(e.maxTxBytes);for(let r of e.txs)t.uint32(18).bytes(r);e.localLastCommit!==void 0&&qt.ExtendedCommitInfo.encode(e.localLastCommit,t.uint32(26).fork()).ldelim();for(let r of e.misbehavior)qt.Misbehavior.encode(r,t.uint32(34).fork()).ldelim();return e.height!==BigInt(0)&&t.uint32(40).int64(e.height),e.time!==void 0&&pA.Timestamp.encode(e.time,t.uint32(50).fork()).ldelim(),e.nextValidatorsHash.length!==0&&t.uint32(58).bytes(e.nextValidatorsHash),e.proposerAddress.length!==0&&t.uint32(66).bytes(e.proposerAddress),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.maxTxBytes=r.int64();break;case 2:n.txs.push(r.bytes());break;case 3:n.localLastCommit=qt.ExtendedCommitInfo.decode(r,r.uint32());break;case 4:n.misbehavior.push(qt.Misbehavior.decode(r,r.uint32()));break;case 5:n.height=r.int64();break;case 6:n.time=pA.Timestamp.decode(r,r.uint32());break;case 7:n.nextValidatorsHash=r.bytes();break;case 8:n.proposerAddress=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qwe();return(0,Ur.isSet)(e.maxTxBytes)&&(t.maxTxBytes=BigInt(e.maxTxBytes.toString())),Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>(0,Ur.bytesFromBase64)(r))),(0,Ur.isSet)(e.localLastCommit)&&(t.localLastCommit=qt.ExtendedCommitInfo.fromJSON(e.localLastCommit)),Array.isArray(e?.misbehavior)&&(t.misbehavior=e.misbehavior.map(r=>qt.Misbehavior.fromJSON(r))),(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.time)&&(t.time=(0,Ur.fromJsonTimestamp)(e.time)),(0,Ur.isSet)(e.nextValidatorsHash)&&(t.nextValidatorsHash=(0,Ur.bytesFromBase64)(e.nextValidatorsHash)),(0,Ur.isSet)(e.proposerAddress)&&(t.proposerAddress=(0,Ur.bytesFromBase64)(e.proposerAddress)),t},toJSON(e){let t={};return e.maxTxBytes!==void 0&&(t.maxTxBytes=(e.maxTxBytes||BigInt(0)).toString()),e.txs?t.txs=e.txs.map(r=>(0,Ur.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.txs=[],e.localLastCommit!==void 0&&(t.localLastCommit=e.localLastCommit?qt.ExtendedCommitInfo.toJSON(e.localLastCommit):void 0),e.misbehavior?t.misbehavior=e.misbehavior.map(r=>r?qt.Misbehavior.toJSON(r):void 0):t.misbehavior=[],e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.time!==void 0&&(t.time=(0,Ur.fromTimestamp)(e.time).toISOString()),e.nextValidatorsHash!==void 0&&(t.nextValidatorsHash=(0,Ur.base64FromBytes)(e.nextValidatorsHash!==void 0?e.nextValidatorsHash:new Uint8Array)),e.proposerAddress!==void 0&&(t.proposerAddress=(0,Ur.base64FromBytes)(e.proposerAddress!==void 0?e.proposerAddress:new Uint8Array)),t},fromPartial(e){let t=qwe();return e.maxTxBytes!==void 0&&e.maxTxBytes!==null&&(t.maxTxBytes=BigInt(e.maxTxBytes.toString())),t.txs=e.txs?.map(r=>r)||[],e.localLastCommit!==void 0&&e.localLastCommit!==null&&(t.localLastCommit=qt.ExtendedCommitInfo.fromPartial(e.localLastCommit)),t.misbehavior=e.misbehavior?.map(r=>qt.Misbehavior.fromPartial(r))||[],e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),e.time!==void 0&&e.time!==null&&(t.time=pA.Timestamp.fromPartial(e.time)),t.nextValidatorsHash=e.nextValidatorsHash??new Uint8Array,t.proposerAddress=e.proposerAddress??new Uint8Array,t}};function Vwe(){return{txs:[],proposedLastCommit:qt.CommitInfo.fromPartial({}),misbehavior:[],hash:new Uint8Array,height:BigInt(0),time:pA.Timestamp.fromPartial({}),nextValidatorsHash:new Uint8Array,proposerAddress:new Uint8Array}}qt.RequestProcessProposal={typeUrl:"/tendermint.abci.RequestProcessProposal",encode(e,t=an.BinaryWriter.create()){for(let r of e.txs)t.uint32(10).bytes(r);e.proposedLastCommit!==void 0&&qt.CommitInfo.encode(e.proposedLastCommit,t.uint32(18).fork()).ldelim();for(let r of e.misbehavior)qt.Misbehavior.encode(r,t.uint32(26).fork()).ldelim();return e.hash.length!==0&&t.uint32(34).bytes(e.hash),e.height!==BigInt(0)&&t.uint32(40).int64(e.height),e.time!==void 0&&pA.Timestamp.encode(e.time,t.uint32(50).fork()).ldelim(),e.nextValidatorsHash.length!==0&&t.uint32(58).bytes(e.nextValidatorsHash),e.proposerAddress.length!==0&&t.uint32(66).bytes(e.proposerAddress),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Vwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.txs.push(r.bytes());break;case 2:n.proposedLastCommit=qt.CommitInfo.decode(r,r.uint32());break;case 3:n.misbehavior.push(qt.Misbehavior.decode(r,r.uint32()));break;case 4:n.hash=r.bytes();break;case 5:n.height=r.int64();break;case 6:n.time=pA.Timestamp.decode(r,r.uint32());break;case 7:n.nextValidatorsHash=r.bytes();break;case 8:n.proposerAddress=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Vwe();return Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>(0,Ur.bytesFromBase64)(r))),(0,Ur.isSet)(e.proposedLastCommit)&&(t.proposedLastCommit=qt.CommitInfo.fromJSON(e.proposedLastCommit)),Array.isArray(e?.misbehavior)&&(t.misbehavior=e.misbehavior.map(r=>qt.Misbehavior.fromJSON(r))),(0,Ur.isSet)(e.hash)&&(t.hash=(0,Ur.bytesFromBase64)(e.hash)),(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.time)&&(t.time=(0,Ur.fromJsonTimestamp)(e.time)),(0,Ur.isSet)(e.nextValidatorsHash)&&(t.nextValidatorsHash=(0,Ur.bytesFromBase64)(e.nextValidatorsHash)),(0,Ur.isSet)(e.proposerAddress)&&(t.proposerAddress=(0,Ur.bytesFromBase64)(e.proposerAddress)),t},toJSON(e){let t={};return e.txs?t.txs=e.txs.map(r=>(0,Ur.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.txs=[],e.proposedLastCommit!==void 0&&(t.proposedLastCommit=e.proposedLastCommit?qt.CommitInfo.toJSON(e.proposedLastCommit):void 0),e.misbehavior?t.misbehavior=e.misbehavior.map(r=>r?qt.Misbehavior.toJSON(r):void 0):t.misbehavior=[],e.hash!==void 0&&(t.hash=(0,Ur.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.time!==void 0&&(t.time=(0,Ur.fromTimestamp)(e.time).toISOString()),e.nextValidatorsHash!==void 0&&(t.nextValidatorsHash=(0,Ur.base64FromBytes)(e.nextValidatorsHash!==void 0?e.nextValidatorsHash:new Uint8Array)),e.proposerAddress!==void 0&&(t.proposerAddress=(0,Ur.base64FromBytes)(e.proposerAddress!==void 0?e.proposerAddress:new Uint8Array)),t},fromPartial(e){let t=Vwe();return t.txs=e.txs?.map(r=>r)||[],e.proposedLastCommit!==void 0&&e.proposedLastCommit!==null&&(t.proposedLastCommit=qt.CommitInfo.fromPartial(e.proposedLastCommit)),t.misbehavior=e.misbehavior?.map(r=>qt.Misbehavior.fromPartial(r))||[],t.hash=e.hash??new Uint8Array,e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),e.time!==void 0&&e.time!==null&&(t.time=pA.Timestamp.fromPartial(e.time)),t.nextValidatorsHash=e.nextValidatorsHash??new Uint8Array,t.proposerAddress=e.proposerAddress??new Uint8Array,t}};function Jwe(){return{exception:void 0,echo:void 0,flush:void 0,info:void 0,initChain:void 0,query:void 0,beginBlock:void 0,checkTx:void 0,deliverTx:void 0,endBlock:void 0,commit:void 0,listSnapshots:void 0,offerSnapshot:void 0,loadSnapshotChunk:void 0,applySnapshotChunk:void 0,prepareProposal:void 0,processProposal:void 0}}qt.Response={typeUrl:"/tendermint.abci.Response",encode(e,t=an.BinaryWriter.create()){return e.exception!==void 0&&qt.ResponseException.encode(e.exception,t.uint32(10).fork()).ldelim(),e.echo!==void 0&&qt.ResponseEcho.encode(e.echo,t.uint32(18).fork()).ldelim(),e.flush!==void 0&&qt.ResponseFlush.encode(e.flush,t.uint32(26).fork()).ldelim(),e.info!==void 0&&qt.ResponseInfo.encode(e.info,t.uint32(34).fork()).ldelim(),e.initChain!==void 0&&qt.ResponseInitChain.encode(e.initChain,t.uint32(50).fork()).ldelim(),e.query!==void 0&&qt.ResponseQuery.encode(e.query,t.uint32(58).fork()).ldelim(),e.beginBlock!==void 0&&qt.ResponseBeginBlock.encode(e.beginBlock,t.uint32(66).fork()).ldelim(),e.checkTx!==void 0&&qt.ResponseCheckTx.encode(e.checkTx,t.uint32(74).fork()).ldelim(),e.deliverTx!==void 0&&qt.ResponseDeliverTx.encode(e.deliverTx,t.uint32(82).fork()).ldelim(),e.endBlock!==void 0&&qt.ResponseEndBlock.encode(e.endBlock,t.uint32(90).fork()).ldelim(),e.commit!==void 0&&qt.ResponseCommit.encode(e.commit,t.uint32(98).fork()).ldelim(),e.listSnapshots!==void 0&&qt.ResponseListSnapshots.encode(e.listSnapshots,t.uint32(106).fork()).ldelim(),e.offerSnapshot!==void 0&&qt.ResponseOfferSnapshot.encode(e.offerSnapshot,t.uint32(114).fork()).ldelim(),e.loadSnapshotChunk!==void 0&&qt.ResponseLoadSnapshotChunk.encode(e.loadSnapshotChunk,t.uint32(122).fork()).ldelim(),e.applySnapshotChunk!==void 0&&qt.ResponseApplySnapshotChunk.encode(e.applySnapshotChunk,t.uint32(130).fork()).ldelim(),e.prepareProposal!==void 0&&qt.ResponsePrepareProposal.encode(e.prepareProposal,t.uint32(138).fork()).ldelim(),e.processProposal!==void 0&&qt.ResponseProcessProposal.encode(e.processProposal,t.uint32(146).fork()).ldelim(),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Jwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.exception=qt.ResponseException.decode(r,r.uint32());break;case 2:n.echo=qt.ResponseEcho.decode(r,r.uint32());break;case 3:n.flush=qt.ResponseFlush.decode(r,r.uint32());break;case 4:n.info=qt.ResponseInfo.decode(r,r.uint32());break;case 6:n.initChain=qt.ResponseInitChain.decode(r,r.uint32());break;case 7:n.query=qt.ResponseQuery.decode(r,r.uint32());break;case 8:n.beginBlock=qt.ResponseBeginBlock.decode(r,r.uint32());break;case 9:n.checkTx=qt.ResponseCheckTx.decode(r,r.uint32());break;case 10:n.deliverTx=qt.ResponseDeliverTx.decode(r,r.uint32());break;case 11:n.endBlock=qt.ResponseEndBlock.decode(r,r.uint32());break;case 12:n.commit=qt.ResponseCommit.decode(r,r.uint32());break;case 13:n.listSnapshots=qt.ResponseListSnapshots.decode(r,r.uint32());break;case 14:n.offerSnapshot=qt.ResponseOfferSnapshot.decode(r,r.uint32());break;case 15:n.loadSnapshotChunk=qt.ResponseLoadSnapshotChunk.decode(r,r.uint32());break;case 16:n.applySnapshotChunk=qt.ResponseApplySnapshotChunk.decode(r,r.uint32());break;case 17:n.prepareProposal=qt.ResponsePrepareProposal.decode(r,r.uint32());break;case 18:n.processProposal=qt.ResponseProcessProposal.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Jwe();return(0,Ur.isSet)(e.exception)&&(t.exception=qt.ResponseException.fromJSON(e.exception)),(0,Ur.isSet)(e.echo)&&(t.echo=qt.ResponseEcho.fromJSON(e.echo)),(0,Ur.isSet)(e.flush)&&(t.flush=qt.ResponseFlush.fromJSON(e.flush)),(0,Ur.isSet)(e.info)&&(t.info=qt.ResponseInfo.fromJSON(e.info)),(0,Ur.isSet)(e.initChain)&&(t.initChain=qt.ResponseInitChain.fromJSON(e.initChain)),(0,Ur.isSet)(e.query)&&(t.query=qt.ResponseQuery.fromJSON(e.query)),(0,Ur.isSet)(e.beginBlock)&&(t.beginBlock=qt.ResponseBeginBlock.fromJSON(e.beginBlock)),(0,Ur.isSet)(e.checkTx)&&(t.checkTx=qt.ResponseCheckTx.fromJSON(e.checkTx)),(0,Ur.isSet)(e.deliverTx)&&(t.deliverTx=qt.ResponseDeliverTx.fromJSON(e.deliverTx)),(0,Ur.isSet)(e.endBlock)&&(t.endBlock=qt.ResponseEndBlock.fromJSON(e.endBlock)),(0,Ur.isSet)(e.commit)&&(t.commit=qt.ResponseCommit.fromJSON(e.commit)),(0,Ur.isSet)(e.listSnapshots)&&(t.listSnapshots=qt.ResponseListSnapshots.fromJSON(e.listSnapshots)),(0,Ur.isSet)(e.offerSnapshot)&&(t.offerSnapshot=qt.ResponseOfferSnapshot.fromJSON(e.offerSnapshot)),(0,Ur.isSet)(e.loadSnapshotChunk)&&(t.loadSnapshotChunk=qt.ResponseLoadSnapshotChunk.fromJSON(e.loadSnapshotChunk)),(0,Ur.isSet)(e.applySnapshotChunk)&&(t.applySnapshotChunk=qt.ResponseApplySnapshotChunk.fromJSON(e.applySnapshotChunk)),(0,Ur.isSet)(e.prepareProposal)&&(t.prepareProposal=qt.ResponsePrepareProposal.fromJSON(e.prepareProposal)),(0,Ur.isSet)(e.processProposal)&&(t.processProposal=qt.ResponseProcessProposal.fromJSON(e.processProposal)),t},toJSON(e){let t={};return e.exception!==void 0&&(t.exception=e.exception?qt.ResponseException.toJSON(e.exception):void 0),e.echo!==void 0&&(t.echo=e.echo?qt.ResponseEcho.toJSON(e.echo):void 0),e.flush!==void 0&&(t.flush=e.flush?qt.ResponseFlush.toJSON(e.flush):void 0),e.info!==void 0&&(t.info=e.info?qt.ResponseInfo.toJSON(e.info):void 0),e.initChain!==void 0&&(t.initChain=e.initChain?qt.ResponseInitChain.toJSON(e.initChain):void 0),e.query!==void 0&&(t.query=e.query?qt.ResponseQuery.toJSON(e.query):void 0),e.beginBlock!==void 0&&(t.beginBlock=e.beginBlock?qt.ResponseBeginBlock.toJSON(e.beginBlock):void 0),e.checkTx!==void 0&&(t.checkTx=e.checkTx?qt.ResponseCheckTx.toJSON(e.checkTx):void 0),e.deliverTx!==void 0&&(t.deliverTx=e.deliverTx?qt.ResponseDeliverTx.toJSON(e.deliverTx):void 0),e.endBlock!==void 0&&(t.endBlock=e.endBlock?qt.ResponseEndBlock.toJSON(e.endBlock):void 0),e.commit!==void 0&&(t.commit=e.commit?qt.ResponseCommit.toJSON(e.commit):void 0),e.listSnapshots!==void 0&&(t.listSnapshots=e.listSnapshots?qt.ResponseListSnapshots.toJSON(e.listSnapshots):void 0),e.offerSnapshot!==void 0&&(t.offerSnapshot=e.offerSnapshot?qt.ResponseOfferSnapshot.toJSON(e.offerSnapshot):void 0),e.loadSnapshotChunk!==void 0&&(t.loadSnapshotChunk=e.loadSnapshotChunk?qt.ResponseLoadSnapshotChunk.toJSON(e.loadSnapshotChunk):void 0),e.applySnapshotChunk!==void 0&&(t.applySnapshotChunk=e.applySnapshotChunk?qt.ResponseApplySnapshotChunk.toJSON(e.applySnapshotChunk):void 0),e.prepareProposal!==void 0&&(t.prepareProposal=e.prepareProposal?qt.ResponsePrepareProposal.toJSON(e.prepareProposal):void 0),e.processProposal!==void 0&&(t.processProposal=e.processProposal?qt.ResponseProcessProposal.toJSON(e.processProposal):void 0),t},fromPartial(e){let t=Jwe();return e.exception!==void 0&&e.exception!==null&&(t.exception=qt.ResponseException.fromPartial(e.exception)),e.echo!==void 0&&e.echo!==null&&(t.echo=qt.ResponseEcho.fromPartial(e.echo)),e.flush!==void 0&&e.flush!==null&&(t.flush=qt.ResponseFlush.fromPartial(e.flush)),e.info!==void 0&&e.info!==null&&(t.info=qt.ResponseInfo.fromPartial(e.info)),e.initChain!==void 0&&e.initChain!==null&&(t.initChain=qt.ResponseInitChain.fromPartial(e.initChain)),e.query!==void 0&&e.query!==null&&(t.query=qt.ResponseQuery.fromPartial(e.query)),e.beginBlock!==void 0&&e.beginBlock!==null&&(t.beginBlock=qt.ResponseBeginBlock.fromPartial(e.beginBlock)),e.checkTx!==void 0&&e.checkTx!==null&&(t.checkTx=qt.ResponseCheckTx.fromPartial(e.checkTx)),e.deliverTx!==void 0&&e.deliverTx!==null&&(t.deliverTx=qt.ResponseDeliverTx.fromPartial(e.deliverTx)),e.endBlock!==void 0&&e.endBlock!==null&&(t.endBlock=qt.ResponseEndBlock.fromPartial(e.endBlock)),e.commit!==void 0&&e.commit!==null&&(t.commit=qt.ResponseCommit.fromPartial(e.commit)),e.listSnapshots!==void 0&&e.listSnapshots!==null&&(t.listSnapshots=qt.ResponseListSnapshots.fromPartial(e.listSnapshots)),e.offerSnapshot!==void 0&&e.offerSnapshot!==null&&(t.offerSnapshot=qt.ResponseOfferSnapshot.fromPartial(e.offerSnapshot)),e.loadSnapshotChunk!==void 0&&e.loadSnapshotChunk!==null&&(t.loadSnapshotChunk=qt.ResponseLoadSnapshotChunk.fromPartial(e.loadSnapshotChunk)),e.applySnapshotChunk!==void 0&&e.applySnapshotChunk!==null&&(t.applySnapshotChunk=qt.ResponseApplySnapshotChunk.fromPartial(e.applySnapshotChunk)),e.prepareProposal!==void 0&&e.prepareProposal!==null&&(t.prepareProposal=qt.ResponsePrepareProposal.fromPartial(e.prepareProposal)),e.processProposal!==void 0&&e.processProposal!==null&&(t.processProposal=qt.ResponseProcessProposal.fromPartial(e.processProposal)),t}};function zwe(){return{error:""}}qt.ResponseException={typeUrl:"/tendermint.abci.ResponseException",encode(e,t=an.BinaryWriter.create()){return e.error!==""&&t.uint32(10).string(e.error),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.error=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=zwe();return(0,Ur.isSet)(e.error)&&(t.error=String(e.error)),t},toJSON(e){let t={};return e.error!==void 0&&(t.error=e.error),t},fromPartial(e){let t=zwe();return t.error=e.error??"",t}};function Kwe(){return{message:""}}qt.ResponseEcho={typeUrl:"/tendermint.abci.ResponseEcho",encode(e,t=an.BinaryWriter.create()){return e.message!==""&&t.uint32(10).string(e.message),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Kwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.message=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=Kwe();return(0,Ur.isSet)(e.message)&&(t.message=String(e.message)),t},toJSON(e){let t={};return e.message!==void 0&&(t.message=e.message),t},fromPartial(e){let t=Kwe();return t.message=e.message??"",t}};function $we(){return{}}qt.ResponseFlush={typeUrl:"/tendermint.abci.ResponseFlush",encode(e,t=an.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$we();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return $we()},toJSON(e){return{}},fromPartial(e){return $we()}};function Ywe(){return{data:"",version:"",appVersion:BigInt(0),lastBlockHeight:BigInt(0),lastBlockAppHash:new Uint8Array}}qt.ResponseInfo={typeUrl:"/tendermint.abci.ResponseInfo",encode(e,t=an.BinaryWriter.create()){return e.data!==""&&t.uint32(10).string(e.data),e.version!==""&&t.uint32(18).string(e.version),e.appVersion!==BigInt(0)&&t.uint32(24).uint64(e.appVersion),e.lastBlockHeight!==BigInt(0)&&t.uint32(32).int64(e.lastBlockHeight),e.lastBlockAppHash.length!==0&&t.uint32(42).bytes(e.lastBlockAppHash),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Ywe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.data=r.string();break;case 2:n.version=r.string();break;case 3:n.appVersion=r.uint64();break;case 4:n.lastBlockHeight=r.int64();break;case 5:n.lastBlockAppHash=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Ywe();return(0,Ur.isSet)(e.data)&&(t.data=String(e.data)),(0,Ur.isSet)(e.version)&&(t.version=String(e.version)),(0,Ur.isSet)(e.appVersion)&&(t.appVersion=BigInt(e.appVersion.toString())),(0,Ur.isSet)(e.lastBlockHeight)&&(t.lastBlockHeight=BigInt(e.lastBlockHeight.toString())),(0,Ur.isSet)(e.lastBlockAppHash)&&(t.lastBlockAppHash=(0,Ur.bytesFromBase64)(e.lastBlockAppHash)),t},toJSON(e){let t={};return e.data!==void 0&&(t.data=e.data),e.version!==void 0&&(t.version=e.version),e.appVersion!==void 0&&(t.appVersion=(e.appVersion||BigInt(0)).toString()),e.lastBlockHeight!==void 0&&(t.lastBlockHeight=(e.lastBlockHeight||BigInt(0)).toString()),e.lastBlockAppHash!==void 0&&(t.lastBlockAppHash=(0,Ur.base64FromBytes)(e.lastBlockAppHash!==void 0?e.lastBlockAppHash:new Uint8Array)),t},fromPartial(e){let t=Ywe();return t.data=e.data??"",t.version=e.version??"",e.appVersion!==void 0&&e.appVersion!==null&&(t.appVersion=BigInt(e.appVersion.toString())),e.lastBlockHeight!==void 0&&e.lastBlockHeight!==null&&(t.lastBlockHeight=BigInt(e.lastBlockHeight.toString())),t.lastBlockAppHash=e.lastBlockAppHash??new Uint8Array,t}};function Wwe(){return{consensusParams:void 0,validators:[],appHash:new Uint8Array}}qt.ResponseInitChain={typeUrl:"/tendermint.abci.ResponseInitChain",encode(e,t=an.BinaryWriter.create()){e.consensusParams!==void 0&&fp.ConsensusParams.encode(e.consensusParams,t.uint32(10).fork()).ldelim();for(let r of e.validators)qt.ValidatorUpdate.encode(r,t.uint32(18).fork()).ldelim();return e.appHash.length!==0&&t.uint32(26).bytes(e.appHash),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Wwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.consensusParams=fp.ConsensusParams.decode(r,r.uint32());break;case 2:n.validators.push(qt.ValidatorUpdate.decode(r,r.uint32()));break;case 3:n.appHash=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Wwe();return(0,Ur.isSet)(e.consensusParams)&&(t.consensusParams=fp.ConsensusParams.fromJSON(e.consensusParams)),Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>qt.ValidatorUpdate.fromJSON(r))),(0,Ur.isSet)(e.appHash)&&(t.appHash=(0,Ur.bytesFromBase64)(e.appHash)),t},toJSON(e){let t={};return e.consensusParams!==void 0&&(t.consensusParams=e.consensusParams?fp.ConsensusParams.toJSON(e.consensusParams):void 0),e.validators?t.validators=e.validators.map(r=>r?qt.ValidatorUpdate.toJSON(r):void 0):t.validators=[],e.appHash!==void 0&&(t.appHash=(0,Ur.base64FromBytes)(e.appHash!==void 0?e.appHash:new Uint8Array)),t},fromPartial(e){let t=Wwe();return e.consensusParams!==void 0&&e.consensusParams!==null&&(t.consensusParams=fp.ConsensusParams.fromPartial(e.consensusParams)),t.validators=e.validators?.map(r=>qt.ValidatorUpdate.fromPartial(r))||[],t.appHash=e.appHash??new Uint8Array,t}};function Xwe(){return{code:0,log:"",info:"",index:BigInt(0),key:new Uint8Array,value:new Uint8Array,proofOps:void 0,height:BigInt(0),codespace:""}}qt.ResponseQuery={typeUrl:"/tendermint.abci.ResponseQuery",encode(e,t=an.BinaryWriter.create()){return e.code!==0&&t.uint32(8).uint32(e.code),e.log!==""&&t.uint32(26).string(e.log),e.info!==""&&t.uint32(34).string(e.info),e.index!==BigInt(0)&&t.uint32(40).int64(e.index),e.key.length!==0&&t.uint32(50).bytes(e.key),e.value.length!==0&&t.uint32(58).bytes(e.value),e.proofOps!==void 0&&lQ.ProofOps.encode(e.proofOps,t.uint32(66).fork()).ldelim(),e.height!==BigInt(0)&&t.uint32(72).int64(e.height),e.codespace!==""&&t.uint32(82).string(e.codespace),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Xwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.code=r.uint32();break;case 3:n.log=r.string();break;case 4:n.info=r.string();break;case 5:n.index=r.int64();break;case 6:n.key=r.bytes();break;case 7:n.value=r.bytes();break;case 8:n.proofOps=lQ.ProofOps.decode(r,r.uint32());break;case 9:n.height=r.int64();break;case 10:n.codespace=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Xwe();return(0,Ur.isSet)(e.code)&&(t.code=Number(e.code)),(0,Ur.isSet)(e.log)&&(t.log=String(e.log)),(0,Ur.isSet)(e.info)&&(t.info=String(e.info)),(0,Ur.isSet)(e.index)&&(t.index=BigInt(e.index.toString())),(0,Ur.isSet)(e.key)&&(t.key=(0,Ur.bytesFromBase64)(e.key)),(0,Ur.isSet)(e.value)&&(t.value=(0,Ur.bytesFromBase64)(e.value)),(0,Ur.isSet)(e.proofOps)&&(t.proofOps=lQ.ProofOps.fromJSON(e.proofOps)),(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.codespace)&&(t.codespace=String(e.codespace)),t},toJSON(e){let t={};return e.code!==void 0&&(t.code=Math.round(e.code)),e.log!==void 0&&(t.log=e.log),e.info!==void 0&&(t.info=e.info),e.index!==void 0&&(t.index=(e.index||BigInt(0)).toString()),e.key!==void 0&&(t.key=(0,Ur.base64FromBytes)(e.key!==void 0?e.key:new Uint8Array)),e.value!==void 0&&(t.value=(0,Ur.base64FromBytes)(e.value!==void 0?e.value:new Uint8Array)),e.proofOps!==void 0&&(t.proofOps=e.proofOps?lQ.ProofOps.toJSON(e.proofOps):void 0),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.codespace!==void 0&&(t.codespace=e.codespace),t},fromPartial(e){let t=Xwe();return t.code=e.code??0,t.log=e.log??"",t.info=e.info??"",e.index!==void 0&&e.index!==null&&(t.index=BigInt(e.index.toString())),t.key=e.key??new Uint8Array,t.value=e.value??new Uint8Array,e.proofOps!==void 0&&e.proofOps!==null&&(t.proofOps=lQ.ProofOps.fromPartial(e.proofOps)),e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.codespace=e.codespace??"",t}};function Zwe(){return{events:[]}}qt.ResponseBeginBlock={typeUrl:"/tendermint.abci.ResponseBeginBlock",encode(e,t=an.BinaryWriter.create()){for(let r of e.events)qt.Event.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Zwe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.events.push(qt.Event.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=Zwe();return Array.isArray(e?.events)&&(t.events=e.events.map(r=>qt.Event.fromJSON(r))),t},toJSON(e){let t={};return e.events?t.events=e.events.map(r=>r?qt.Event.toJSON(r):void 0):t.events=[],t},fromPartial(e){let t=Zwe();return t.events=e.events?.map(r=>qt.Event.fromPartial(r))||[],t}};function jwe(){return{code:0,data:new Uint8Array,log:"",info:"",gasWanted:BigInt(0),gasUsed:BigInt(0),events:[],codespace:"",sender:"",priority:BigInt(0),mempoolError:""}}qt.ResponseCheckTx={typeUrl:"/tendermint.abci.ResponseCheckTx",encode(e,t=an.BinaryWriter.create()){e.code!==0&&t.uint32(8).uint32(e.code),e.data.length!==0&&t.uint32(18).bytes(e.data),e.log!==""&&t.uint32(26).string(e.log),e.info!==""&&t.uint32(34).string(e.info),e.gasWanted!==BigInt(0)&&t.uint32(40).int64(e.gasWanted),e.gasUsed!==BigInt(0)&&t.uint32(48).int64(e.gasUsed);for(let r of e.events)qt.Event.encode(r,t.uint32(58).fork()).ldelim();return e.codespace!==""&&t.uint32(66).string(e.codespace),e.sender!==""&&t.uint32(74).string(e.sender),e.priority!==BigInt(0)&&t.uint32(80).int64(e.priority),e.mempoolError!==""&&t.uint32(90).string(e.mempoolError),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jwe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.code=r.uint32();break;case 2:n.data=r.bytes();break;case 3:n.log=r.string();break;case 4:n.info=r.string();break;case 5:n.gasWanted=r.int64();break;case 6:n.gasUsed=r.int64();break;case 7:n.events.push(qt.Event.decode(r,r.uint32()));break;case 8:n.codespace=r.string();break;case 9:n.sender=r.string();break;case 10:n.priority=r.int64();break;case 11:n.mempoolError=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=jwe();return(0,Ur.isSet)(e.code)&&(t.code=Number(e.code)),(0,Ur.isSet)(e.data)&&(t.data=(0,Ur.bytesFromBase64)(e.data)),(0,Ur.isSet)(e.log)&&(t.log=String(e.log)),(0,Ur.isSet)(e.info)&&(t.info=String(e.info)),(0,Ur.isSet)(e.gas_wanted)&&(t.gasWanted=BigInt(e.gas_wanted.toString())),(0,Ur.isSet)(e.gas_used)&&(t.gasUsed=BigInt(e.gas_used.toString())),Array.isArray(e?.events)&&(t.events=e.events.map(r=>qt.Event.fromJSON(r))),(0,Ur.isSet)(e.codespace)&&(t.codespace=String(e.codespace)),(0,Ur.isSet)(e.sender)&&(t.sender=String(e.sender)),(0,Ur.isSet)(e.priority)&&(t.priority=BigInt(e.priority.toString())),(0,Ur.isSet)(e.mempoolError)&&(t.mempoolError=String(e.mempoolError)),t},toJSON(e){let t={};return e.code!==void 0&&(t.code=Math.round(e.code)),e.data!==void 0&&(t.data=(0,Ur.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.log!==void 0&&(t.log=e.log),e.info!==void 0&&(t.info=e.info),e.gasWanted!==void 0&&(t.gas_wanted=(e.gasWanted||BigInt(0)).toString()),e.gasUsed!==void 0&&(t.gas_used=(e.gasUsed||BigInt(0)).toString()),e.events?t.events=e.events.map(r=>r?qt.Event.toJSON(r):void 0):t.events=[],e.codespace!==void 0&&(t.codespace=e.codespace),e.sender!==void 0&&(t.sender=e.sender),e.priority!==void 0&&(t.priority=(e.priority||BigInt(0)).toString()),e.mempoolError!==void 0&&(t.mempoolError=e.mempoolError),t},fromPartial(e){let t=jwe();return t.code=e.code??0,t.data=e.data??new Uint8Array,t.log=e.log??"",t.info=e.info??"",e.gasWanted!==void 0&&e.gasWanted!==null&&(t.gasWanted=BigInt(e.gasWanted.toString())),e.gasUsed!==void 0&&e.gasUsed!==null&&(t.gasUsed=BigInt(e.gasUsed.toString())),t.events=e.events?.map(r=>qt.Event.fromPartial(r))||[],t.codespace=e.codespace??"",t.sender=e.sender??"",e.priority!==void 0&&e.priority!==null&&(t.priority=BigInt(e.priority.toString())),t.mempoolError=e.mempoolError??"",t}};function e5e(){return{code:0,data:new Uint8Array,log:"",info:"",gasWanted:BigInt(0),gasUsed:BigInt(0),events:[],codespace:""}}qt.ResponseDeliverTx={typeUrl:"/tendermint.abci.ResponseDeliverTx",encode(e,t=an.BinaryWriter.create()){e.code!==0&&t.uint32(8).uint32(e.code),e.data.length!==0&&t.uint32(18).bytes(e.data),e.log!==""&&t.uint32(26).string(e.log),e.info!==""&&t.uint32(34).string(e.info),e.gasWanted!==BigInt(0)&&t.uint32(40).int64(e.gasWanted),e.gasUsed!==BigInt(0)&&t.uint32(48).int64(e.gasUsed);for(let r of e.events)qt.Event.encode(r,t.uint32(58).fork()).ldelim();return e.codespace!==""&&t.uint32(66).string(e.codespace),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=e5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.code=r.uint32();break;case 2:n.data=r.bytes();break;case 3:n.log=r.string();break;case 4:n.info=r.string();break;case 5:n.gasWanted=r.int64();break;case 6:n.gasUsed=r.int64();break;case 7:n.events.push(qt.Event.decode(r,r.uint32()));break;case 8:n.codespace=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=e5e();return(0,Ur.isSet)(e.code)&&(t.code=Number(e.code)),(0,Ur.isSet)(e.data)&&(t.data=(0,Ur.bytesFromBase64)(e.data)),(0,Ur.isSet)(e.log)&&(t.log=String(e.log)),(0,Ur.isSet)(e.info)&&(t.info=String(e.info)),(0,Ur.isSet)(e.gas_wanted)&&(t.gasWanted=BigInt(e.gas_wanted.toString())),(0,Ur.isSet)(e.gas_used)&&(t.gasUsed=BigInt(e.gas_used.toString())),Array.isArray(e?.events)&&(t.events=e.events.map(r=>qt.Event.fromJSON(r))),(0,Ur.isSet)(e.codespace)&&(t.codespace=String(e.codespace)),t},toJSON(e){let t={};return e.code!==void 0&&(t.code=Math.round(e.code)),e.data!==void 0&&(t.data=(0,Ur.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.log!==void 0&&(t.log=e.log),e.info!==void 0&&(t.info=e.info),e.gasWanted!==void 0&&(t.gas_wanted=(e.gasWanted||BigInt(0)).toString()),e.gasUsed!==void 0&&(t.gas_used=(e.gasUsed||BigInt(0)).toString()),e.events?t.events=e.events.map(r=>r?qt.Event.toJSON(r):void 0):t.events=[],e.codespace!==void 0&&(t.codespace=e.codespace),t},fromPartial(e){let t=e5e();return t.code=e.code??0,t.data=e.data??new Uint8Array,t.log=e.log??"",t.info=e.info??"",e.gasWanted!==void 0&&e.gasWanted!==null&&(t.gasWanted=BigInt(e.gasWanted.toString())),e.gasUsed!==void 0&&e.gasUsed!==null&&(t.gasUsed=BigInt(e.gasUsed.toString())),t.events=e.events?.map(r=>qt.Event.fromPartial(r))||[],t.codespace=e.codespace??"",t}};function t5e(){return{validatorUpdates:[],consensusParamUpdates:void 0,events:[]}}qt.ResponseEndBlock={typeUrl:"/tendermint.abci.ResponseEndBlock",encode(e,t=an.BinaryWriter.create()){for(let r of e.validatorUpdates)qt.ValidatorUpdate.encode(r,t.uint32(10).fork()).ldelim();e.consensusParamUpdates!==void 0&&fp.ConsensusParams.encode(e.consensusParamUpdates,t.uint32(18).fork()).ldelim();for(let r of e.events)qt.Event.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=t5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorUpdates.push(qt.ValidatorUpdate.decode(r,r.uint32()));break;case 2:n.consensusParamUpdates=fp.ConsensusParams.decode(r,r.uint32());break;case 3:n.events.push(qt.Event.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=t5e();return Array.isArray(e?.validatorUpdates)&&(t.validatorUpdates=e.validatorUpdates.map(r=>qt.ValidatorUpdate.fromJSON(r))),(0,Ur.isSet)(e.consensusParamUpdates)&&(t.consensusParamUpdates=fp.ConsensusParams.fromJSON(e.consensusParamUpdates)),Array.isArray(e?.events)&&(t.events=e.events.map(r=>qt.Event.fromJSON(r))),t},toJSON(e){let t={};return e.validatorUpdates?t.validatorUpdates=e.validatorUpdates.map(r=>r?qt.ValidatorUpdate.toJSON(r):void 0):t.validatorUpdates=[],e.consensusParamUpdates!==void 0&&(t.consensusParamUpdates=e.consensusParamUpdates?fp.ConsensusParams.toJSON(e.consensusParamUpdates):void 0),e.events?t.events=e.events.map(r=>r?qt.Event.toJSON(r):void 0):t.events=[],t},fromPartial(e){let t=t5e();return t.validatorUpdates=e.validatorUpdates?.map(r=>qt.ValidatorUpdate.fromPartial(r))||[],e.consensusParamUpdates!==void 0&&e.consensusParamUpdates!==null&&(t.consensusParamUpdates=fp.ConsensusParams.fromPartial(e.consensusParamUpdates)),t.events=e.events?.map(r=>qt.Event.fromPartial(r))||[],t}};function r5e(){return{data:new Uint8Array,retainHeight:BigInt(0)}}qt.ResponseCommit={typeUrl:"/tendermint.abci.ResponseCommit",encode(e,t=an.BinaryWriter.create()){return e.data.length!==0&&t.uint32(18).bytes(e.data),e.retainHeight!==BigInt(0)&&t.uint32(24).int64(e.retainHeight),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=r5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 2:n.data=r.bytes();break;case 3:n.retainHeight=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=r5e();return(0,Ur.isSet)(e.data)&&(t.data=(0,Ur.bytesFromBase64)(e.data)),(0,Ur.isSet)(e.retainHeight)&&(t.retainHeight=BigInt(e.retainHeight.toString())),t},toJSON(e){let t={};return e.data!==void 0&&(t.data=(0,Ur.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.retainHeight!==void 0&&(t.retainHeight=(e.retainHeight||BigInt(0)).toString()),t},fromPartial(e){let t=r5e();return t.data=e.data??new Uint8Array,e.retainHeight!==void 0&&e.retainHeight!==null&&(t.retainHeight=BigInt(e.retainHeight.toString())),t}};function n5e(){return{snapshots:[]}}qt.ResponseListSnapshots={typeUrl:"/tendermint.abci.ResponseListSnapshots",encode(e,t=an.BinaryWriter.create()){for(let r of e.snapshots)qt.Snapshot.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=n5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.snapshots.push(qt.Snapshot.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=n5e();return Array.isArray(e?.snapshots)&&(t.snapshots=e.snapshots.map(r=>qt.Snapshot.fromJSON(r))),t},toJSON(e){let t={};return e.snapshots?t.snapshots=e.snapshots.map(r=>r?qt.Snapshot.toJSON(r):void 0):t.snapshots=[],t},fromPartial(e){let t=n5e();return t.snapshots=e.snapshots?.map(r=>qt.Snapshot.fromPartial(r))||[],t}};function i5e(){return{result:0}}qt.ResponseOfferSnapshot={typeUrl:"/tendermint.abci.ResponseOfferSnapshot",encode(e,t=an.BinaryWriter.create()){return e.result!==0&&t.uint32(8).int32(e.result),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=i5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.result=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=i5e();return(0,Ur.isSet)(e.result)&&(t.result=Iyt(e.result)),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=Cyt(e.result)),t},fromPartial(e){let t=i5e();return t.result=e.result??0,t}};function o5e(){return{chunk:new Uint8Array}}qt.ResponseLoadSnapshotChunk={typeUrl:"/tendermint.abci.ResponseLoadSnapshotChunk",encode(e,t=an.BinaryWriter.create()){return e.chunk.length!==0&&t.uint32(10).bytes(e.chunk),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=o5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.chunk=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=o5e();return(0,Ur.isSet)(e.chunk)&&(t.chunk=(0,Ur.bytesFromBase64)(e.chunk)),t},toJSON(e){let t={};return e.chunk!==void 0&&(t.chunk=(0,Ur.base64FromBytes)(e.chunk!==void 0?e.chunk:new Uint8Array)),t},fromPartial(e){let t=o5e();return t.chunk=e.chunk??new Uint8Array,t}};function a5e(){return{result:0,refetchChunks:[],rejectSenders:[]}}qt.ResponseApplySnapshotChunk={typeUrl:"/tendermint.abci.ResponseApplySnapshotChunk",encode(e,t=an.BinaryWriter.create()){e.result!==0&&t.uint32(8).int32(e.result),t.uint32(18).fork();for(let r of e.refetchChunks)t.uint32(r);t.ldelim();for(let r of e.rejectSenders)t.uint32(26).string(r);return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=a5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.result=r.int32();break;case 2:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.refetchChunks.push(r.uint32())}else n.refetchChunks.push(r.uint32());break;case 3:n.rejectSenders.push(r.string());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=a5e();return(0,Ur.isSet)(e.result)&&(t.result=wyt(e.result)),Array.isArray(e?.refetchChunks)&&(t.refetchChunks=e.refetchChunks.map(r=>Number(r))),Array.isArray(e?.rejectSenders)&&(t.rejectSenders=e.rejectSenders.map(r=>String(r))),t},toJSON(e){let t={};return e.result!==void 0&&(t.result=Oyt(e.result)),e.refetchChunks?t.refetchChunks=e.refetchChunks.map(r=>Math.round(r)):t.refetchChunks=[],e.rejectSenders?t.rejectSenders=e.rejectSenders.map(r=>r):t.rejectSenders=[],t},fromPartial(e){let t=a5e();return t.result=e.result??0,t.refetchChunks=e.refetchChunks?.map(r=>r)||[],t.rejectSenders=e.rejectSenders?.map(r=>r)||[],t}};function s5e(){return{txs:[]}}qt.ResponsePrepareProposal={typeUrl:"/tendermint.abci.ResponsePrepareProposal",encode(e,t=an.BinaryWriter.create()){for(let r of e.txs)t.uint32(10).bytes(r);return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=s5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.txs.push(r.bytes()):r.skipType(o&7)}return n},fromJSON(e){let t=s5e();return Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>(0,Ur.bytesFromBase64)(r))),t},toJSON(e){let t={};return e.txs?t.txs=e.txs.map(r=>(0,Ur.base64FromBytes)(r!==void 0?r:new Uint8Array)):t.txs=[],t},fromPartial(e){let t=s5e();return t.txs=e.txs?.map(r=>r)||[],t}};function c5e(){return{status:0}}qt.ResponseProcessProposal={typeUrl:"/tendermint.abci.ResponseProcessProposal",encode(e,t=an.BinaryWriter.create()){return e.status!==0&&t.uint32(8).int32(e.status),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=c5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.status=r.int32():r.skipType(o&7)}return n},fromJSON(e){let t=c5e();return(0,Ur.isSet)(e.status)&&(t.status=Nyt(e.status)),t},toJSON(e){let t={};return e.status!==void 0&&(t.status=xyt(e.status)),t},fromPartial(e){let t=c5e();return t.status=e.status??0,t}};function u5e(){return{round:0,votes:[]}}qt.CommitInfo={typeUrl:"/tendermint.abci.CommitInfo",encode(e,t=an.BinaryWriter.create()){e.round!==0&&t.uint32(8).int32(e.round);for(let r of e.votes)qt.VoteInfo.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=u5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.round=r.int32();break;case 2:n.votes.push(qt.VoteInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=u5e();return(0,Ur.isSet)(e.round)&&(t.round=Number(e.round)),Array.isArray(e?.votes)&&(t.votes=e.votes.map(r=>qt.VoteInfo.fromJSON(r))),t},toJSON(e){let t={};return e.round!==void 0&&(t.round=Math.round(e.round)),e.votes?t.votes=e.votes.map(r=>r?qt.VoteInfo.toJSON(r):void 0):t.votes=[],t},fromPartial(e){let t=u5e();return t.round=e.round??0,t.votes=e.votes?.map(r=>qt.VoteInfo.fromPartial(r))||[],t}};function d5e(){return{round:0,votes:[]}}qt.ExtendedCommitInfo={typeUrl:"/tendermint.abci.ExtendedCommitInfo",encode(e,t=an.BinaryWriter.create()){e.round!==0&&t.uint32(8).int32(e.round);for(let r of e.votes)qt.ExtendedVoteInfo.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=d5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.round=r.int32();break;case 2:n.votes.push(qt.ExtendedVoteInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=d5e();return(0,Ur.isSet)(e.round)&&(t.round=Number(e.round)),Array.isArray(e?.votes)&&(t.votes=e.votes.map(r=>qt.ExtendedVoteInfo.fromJSON(r))),t},toJSON(e){let t={};return e.round!==void 0&&(t.round=Math.round(e.round)),e.votes?t.votes=e.votes.map(r=>r?qt.ExtendedVoteInfo.toJSON(r):void 0):t.votes=[],t},fromPartial(e){let t=d5e();return t.round=e.round??0,t.votes=e.votes?.map(r=>qt.ExtendedVoteInfo.fromPartial(r))||[],t}};function f5e(){return{type:"",attributes:[]}}qt.Event={typeUrl:"/tendermint.abci.Event",encode(e,t=an.BinaryWriter.create()){e.type!==""&&t.uint32(10).string(e.type);for(let r of e.attributes)qt.EventAttribute.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=f5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.string();break;case 2:n.attributes.push(qt.EventAttribute.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=f5e();return(0,Ur.isSet)(e.type)&&(t.type=String(e.type)),Array.isArray(e?.attributes)&&(t.attributes=e.attributes.map(r=>qt.EventAttribute.fromJSON(r))),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=e.type),e.attributes?t.attributes=e.attributes.map(r=>r?qt.EventAttribute.toJSON(r):void 0):t.attributes=[],t},fromPartial(e){let t=f5e();return t.type=e.type??"",t.attributes=e.attributes?.map(r=>qt.EventAttribute.fromPartial(r))||[],t}};function l5e(){return{key:"",value:"",index:!1}}qt.EventAttribute={typeUrl:"/tendermint.abci.EventAttribute",encode(e,t=an.BinaryWriter.create()){return e.key!==""&&t.uint32(10).string(e.key),e.value!==""&&t.uint32(18).string(e.value),e.index===!0&&t.uint32(24).bool(e.index),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=l5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.string();break;case 2:n.value=r.string();break;case 3:n.index=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=l5e();return(0,Ur.isSet)(e.key)&&(t.key=String(e.key)),(0,Ur.isSet)(e.value)&&(t.value=String(e.value)),(0,Ur.isSet)(e.index)&&(t.index=!!e.index),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=e.key),e.value!==void 0&&(t.value=e.value),e.index!==void 0&&(t.index=e.index),t},fromPartial(e){let t=l5e();return t.key=e.key??"",t.value=e.value??"",t.index=e.index??!1,t}};function h5e(){return{height:BigInt(0),index:0,tx:new Uint8Array,result:qt.ResponseDeliverTx.fromPartial({})}}qt.TxResult={typeUrl:"/tendermint.abci.TxResult",encode(e,t=an.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).int64(e.height),e.index!==0&&t.uint32(16).uint32(e.index),e.tx.length!==0&&t.uint32(26).bytes(e.tx),e.result!==void 0&&qt.ResponseDeliverTx.encode(e.result,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=h5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.int64();break;case 2:n.index=r.uint32();break;case 3:n.tx=r.bytes();break;case 4:n.result=qt.ResponseDeliverTx.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=h5e();return(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.index)&&(t.index=Number(e.index)),(0,Ur.isSet)(e.tx)&&(t.tx=(0,Ur.bytesFromBase64)(e.tx)),(0,Ur.isSet)(e.result)&&(t.result=qt.ResponseDeliverTx.fromJSON(e.result)),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.index!==void 0&&(t.index=Math.round(e.index)),e.tx!==void 0&&(t.tx=(0,Ur.base64FromBytes)(e.tx!==void 0?e.tx:new Uint8Array)),e.result!==void 0&&(t.result=e.result?qt.ResponseDeliverTx.toJSON(e.result):void 0),t},fromPartial(e){let t=h5e();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.index=e.index??0,t.tx=e.tx??new Uint8Array,e.result!==void 0&&e.result!==null&&(t.result=qt.ResponseDeliverTx.fromPartial(e.result)),t}};function A5e(){return{address:new Uint8Array,power:BigInt(0)}}qt.Validator={typeUrl:"/tendermint.abci.Validator",encode(e,t=an.BinaryWriter.create()){return e.address.length!==0&&t.uint32(10).bytes(e.address),e.power!==BigInt(0)&&t.uint32(24).int64(e.power),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=A5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.address=r.bytes();break;case 3:n.power=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=A5e();return(0,Ur.isSet)(e.address)&&(t.address=(0,Ur.bytesFromBase64)(e.address)),(0,Ur.isSet)(e.power)&&(t.power=BigInt(e.power.toString())),t},toJSON(e){let t={};return e.address!==void 0&&(t.address=(0,Ur.base64FromBytes)(e.address!==void 0?e.address:new Uint8Array)),e.power!==void 0&&(t.power=(e.power||BigInt(0)).toString()),t},fromPartial(e){let t=A5e();return t.address=e.address??new Uint8Array,e.power!==void 0&&e.power!==null&&(t.power=BigInt(e.power.toString())),t}};function p5e(){return{pubKey:N9.PublicKey.fromPartial({}),power:BigInt(0)}}qt.ValidatorUpdate={typeUrl:"/tendermint.abci.ValidatorUpdate",encode(e,t=an.BinaryWriter.create()){return e.pubKey!==void 0&&N9.PublicKey.encode(e.pubKey,t.uint32(10).fork()).ldelim(),e.power!==BigInt(0)&&t.uint32(16).int64(e.power),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=p5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.pubKey=N9.PublicKey.decode(r,r.uint32());break;case 2:n.power=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=p5e();return(0,Ur.isSet)(e.pubKey)&&(t.pubKey=N9.PublicKey.fromJSON(e.pubKey)),(0,Ur.isSet)(e.power)&&(t.power=BigInt(e.power.toString())),t},toJSON(e){let t={};return e.pubKey!==void 0&&(t.pubKey=e.pubKey?N9.PublicKey.toJSON(e.pubKey):void 0),e.power!==void 0&&(t.power=(e.power||BigInt(0)).toString()),t},fromPartial(e){let t=p5e();return e.pubKey!==void 0&&e.pubKey!==null&&(t.pubKey=N9.PublicKey.fromPartial(e.pubKey)),e.power!==void 0&&e.power!==null&&(t.power=BigInt(e.power.toString())),t}};function g5e(){return{validator:qt.Validator.fromPartial({}),signedLastBlock:!1}}qt.VoteInfo={typeUrl:"/tendermint.abci.VoteInfo",encode(e,t=an.BinaryWriter.create()){return e.validator!==void 0&&qt.Validator.encode(e.validator,t.uint32(10).fork()).ldelim(),e.signedLastBlock===!0&&t.uint32(16).bool(e.signedLastBlock),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=g5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validator=qt.Validator.decode(r,r.uint32());break;case 2:n.signedLastBlock=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=g5e();return(0,Ur.isSet)(e.validator)&&(t.validator=qt.Validator.fromJSON(e.validator)),(0,Ur.isSet)(e.signedLastBlock)&&(t.signedLastBlock=!!e.signedLastBlock),t},toJSON(e){let t={};return e.validator!==void 0&&(t.validator=e.validator?qt.Validator.toJSON(e.validator):void 0),e.signedLastBlock!==void 0&&(t.signedLastBlock=e.signedLastBlock),t},fromPartial(e){let t=g5e();return e.validator!==void 0&&e.validator!==null&&(t.validator=qt.Validator.fromPartial(e.validator)),t.signedLastBlock=e.signedLastBlock??!1,t}};function _5e(){return{validator:qt.Validator.fromPartial({}),signedLastBlock:!1,voteExtension:new Uint8Array}}qt.ExtendedVoteInfo={typeUrl:"/tendermint.abci.ExtendedVoteInfo",encode(e,t=an.BinaryWriter.create()){return e.validator!==void 0&&qt.Validator.encode(e.validator,t.uint32(10).fork()).ldelim(),e.signedLastBlock===!0&&t.uint32(16).bool(e.signedLastBlock),e.voteExtension.length!==0&&t.uint32(26).bytes(e.voteExtension),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validator=qt.Validator.decode(r,r.uint32());break;case 2:n.signedLastBlock=r.bool();break;case 3:n.voteExtension=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_5e();return(0,Ur.isSet)(e.validator)&&(t.validator=qt.Validator.fromJSON(e.validator)),(0,Ur.isSet)(e.signedLastBlock)&&(t.signedLastBlock=!!e.signedLastBlock),(0,Ur.isSet)(e.voteExtension)&&(t.voteExtension=(0,Ur.bytesFromBase64)(e.voteExtension)),t},toJSON(e){let t={};return e.validator!==void 0&&(t.validator=e.validator?qt.Validator.toJSON(e.validator):void 0),e.signedLastBlock!==void 0&&(t.signedLastBlock=e.signedLastBlock),e.voteExtension!==void 0&&(t.voteExtension=(0,Ur.base64FromBytes)(e.voteExtension!==void 0?e.voteExtension:new Uint8Array)),t},fromPartial(e){let t=_5e();return e.validator!==void 0&&e.validator!==null&&(t.validator=qt.Validator.fromPartial(e.validator)),t.signedLastBlock=e.signedLastBlock??!1,t.voteExtension=e.voteExtension??new Uint8Array,t}};function m5e(){return{type:0,validator:qt.Validator.fromPartial({}),height:BigInt(0),time:pA.Timestamp.fromPartial({}),totalVotingPower:BigInt(0)}}qt.Misbehavior={typeUrl:"/tendermint.abci.Misbehavior",encode(e,t=an.BinaryWriter.create()){return e.type!==0&&t.uint32(8).int32(e.type),e.validator!==void 0&&qt.Validator.encode(e.validator,t.uint32(18).fork()).ldelim(),e.height!==BigInt(0)&&t.uint32(24).int64(e.height),e.time!==void 0&&pA.Timestamp.encode(e.time,t.uint32(34).fork()).ldelim(),e.totalVotingPower!==BigInt(0)&&t.uint32(40).int64(e.totalVotingPower),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=m5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.int32();break;case 2:n.validator=qt.Validator.decode(r,r.uint32());break;case 3:n.height=r.int64();break;case 4:n.time=pA.Timestamp.decode(r,r.uint32());break;case 5:n.totalVotingPower=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=m5e();return(0,Ur.isSet)(e.type)&&(t.type=Tyt(e.type)),(0,Ur.isSet)(e.validator)&&(t.validator=qt.Validator.fromJSON(e.validator)),(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.time)&&(t.time=(0,Ur.fromJsonTimestamp)(e.time)),(0,Ur.isSet)(e.totalVotingPower)&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=Byt(e.type)),e.validator!==void 0&&(t.validator=e.validator?qt.Validator.toJSON(e.validator):void 0),e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.time!==void 0&&(t.time=(0,Ur.fromTimestamp)(e.time).toISOString()),e.totalVotingPower!==void 0&&(t.totalVotingPower=(e.totalVotingPower||BigInt(0)).toString()),t},fromPartial(e){let t=m5e();return t.type=e.type??0,e.validator!==void 0&&e.validator!==null&&(t.validator=qt.Validator.fromPartial(e.validator)),e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),e.time!==void 0&&e.time!==null&&(t.time=pA.Timestamp.fromPartial(e.time)),e.totalVotingPower!==void 0&&e.totalVotingPower!==null&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),t}};function y5e(){return{height:BigInt(0),format:0,chunks:0,hash:new Uint8Array,metadata:new Uint8Array}}qt.Snapshot={typeUrl:"/tendermint.abci.Snapshot",encode(e,t=an.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).uint64(e.height),e.format!==0&&t.uint32(16).uint32(e.format),e.chunks!==0&&t.uint32(24).uint32(e.chunks),e.hash.length!==0&&t.uint32(34).bytes(e.hash),e.metadata.length!==0&&t.uint32(42).bytes(e.metadata),t},decode(e,t){let r=e instanceof an.BinaryReader?e:new an.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=y5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.uint64();break;case 2:n.format=r.uint32();break;case 3:n.chunks=r.uint32();break;case 4:n.hash=r.bytes();break;case 5:n.metadata=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=y5e();return(0,Ur.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ur.isSet)(e.format)&&(t.format=Number(e.format)),(0,Ur.isSet)(e.chunks)&&(t.chunks=Number(e.chunks)),(0,Ur.isSet)(e.hash)&&(t.hash=(0,Ur.bytesFromBase64)(e.hash)),(0,Ur.isSet)(e.metadata)&&(t.metadata=(0,Ur.bytesFromBase64)(e.metadata)),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.format!==void 0&&(t.format=Math.round(e.format)),e.chunks!==void 0&&(t.chunks=Math.round(e.chunks)),e.hash!==void 0&&(t.hash=(0,Ur.base64FromBytes)(e.hash!==void 0?e.hash:new Uint8Array)),e.metadata!==void 0&&(t.metadata=(0,Ur.base64FromBytes)(e.metadata!==void 0?e.metadata:new Uint8Array)),t},fromPartial(e){let t=y5e();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.format=e.format??0,t.chunks=e.chunks??0,t.hash=e.hash??new Uint8Array,t.metadata=e.metadata??new Uint8Array,t}};var b5e=class{constructor(t){this.rpc=t,this.Echo=this.Echo.bind(this),this.Flush=this.Flush.bind(this),this.Info=this.Info.bind(this),this.DeliverTx=this.DeliverTx.bind(this),this.CheckTx=this.CheckTx.bind(this),this.Query=this.Query.bind(this),this.Commit=this.Commit.bind(this),this.InitChain=this.InitChain.bind(this),this.BeginBlock=this.BeginBlock.bind(this),this.EndBlock=this.EndBlock.bind(this),this.ListSnapshots=this.ListSnapshots.bind(this),this.OfferSnapshot=this.OfferSnapshot.bind(this),this.LoadSnapshotChunk=this.LoadSnapshotChunk.bind(this),this.ApplySnapshotChunk=this.ApplySnapshotChunk.bind(this),this.PrepareProposal=this.PrepareProposal.bind(this),this.ProcessProposal=this.ProcessProposal.bind(this)}Echo(t){let r=qt.RequestEcho.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","Echo",r).then(n=>qt.ResponseEcho.decode(new an.BinaryReader(n)))}Flush(t={}){let r=qt.RequestFlush.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","Flush",r).then(n=>qt.ResponseFlush.decode(new an.BinaryReader(n)))}Info(t){let r=qt.RequestInfo.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","Info",r).then(n=>qt.ResponseInfo.decode(new an.BinaryReader(n)))}DeliverTx(t){let r=qt.RequestDeliverTx.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","DeliverTx",r).then(n=>qt.ResponseDeliverTx.decode(new an.BinaryReader(n)))}CheckTx(t){let r=qt.RequestCheckTx.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","CheckTx",r).then(n=>qt.ResponseCheckTx.decode(new an.BinaryReader(n)))}Query(t){let r=qt.RequestQuery.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","Query",r).then(n=>qt.ResponseQuery.decode(new an.BinaryReader(n)))}Commit(t={}){let r=qt.RequestCommit.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","Commit",r).then(n=>qt.ResponseCommit.decode(new an.BinaryReader(n)))}InitChain(t){let r=qt.RequestInitChain.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","InitChain",r).then(n=>qt.ResponseInitChain.decode(new an.BinaryReader(n)))}BeginBlock(t){let r=qt.RequestBeginBlock.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","BeginBlock",r).then(n=>qt.ResponseBeginBlock.decode(new an.BinaryReader(n)))}EndBlock(t){let r=qt.RequestEndBlock.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","EndBlock",r).then(n=>qt.ResponseEndBlock.decode(new an.BinaryReader(n)))}ListSnapshots(t={}){let r=qt.RequestListSnapshots.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","ListSnapshots",r).then(n=>qt.ResponseListSnapshots.decode(new an.BinaryReader(n)))}OfferSnapshot(t){let r=qt.RequestOfferSnapshot.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","OfferSnapshot",r).then(n=>qt.ResponseOfferSnapshot.decode(new an.BinaryReader(n)))}LoadSnapshotChunk(t){let r=qt.RequestLoadSnapshotChunk.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","LoadSnapshotChunk",r).then(n=>qt.ResponseLoadSnapshotChunk.decode(new an.BinaryReader(n)))}ApplySnapshotChunk(t){let r=qt.RequestApplySnapshotChunk.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","ApplySnapshotChunk",r).then(n=>qt.ResponseApplySnapshotChunk.decode(new an.BinaryReader(n)))}PrepareProposal(t){let r=qt.RequestPrepareProposal.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","PrepareProposal",r).then(n=>qt.ResponsePrepareProposal.decode(new an.BinaryReader(n)))}ProcessProposal(t){let r=qt.RequestProcessProposal.encode(t).finish();return this.rpc.request("tendermint.abci.ABCIApplication","ProcessProposal",r).then(n=>qt.ResponseProcessProposal.decode(new an.BinaryReader(n)))}};qt.ABCIApplicationClientImpl=b5e});var q5e=ir(xn=>{"use strict";J();K();z();Object.defineProperty(xn,"__esModule",{value:!0});xn.ValidatorUpdates=xn.Pool=xn.RedelegationResponse=xn.RedelegationEntryResponse=xn.DelegationResponse=xn.Params=xn.Redelegation=xn.RedelegationEntry=xn.UnbondingDelegationEntry=xn.UnbondingDelegation=xn.Delegation=xn.DVVTriplets=xn.DVVTriplet=xn.DVPairs=xn.DVPair=xn.ValAddresses=xn.Validator=xn.Description=xn.Commission=xn.CommissionRates=xn.HistoricalInfo=xn.infractionToJSON=xn.infractionFromJSON=xn.Infraction=xn.bondStatusToJSON=xn.bondStatusFromJSON=xn.BondStatus=xn.protobufPackage=void 0;var x9=C5(),gA=u1(),hQ=ru(),T9=wS(),B9=Af(),AQ=E5e(),eo=Qi(),Gi=Hi();xn.protobufPackage="cosmos.staking.v1beta1";var U2;(function(e){e[e.BOND_STATUS_UNSPECIFIED=0]="BOND_STATUS_UNSPECIFIED",e[e.BOND_STATUS_UNBONDED=1]="BOND_STATUS_UNBONDED",e[e.BOND_STATUS_UNBONDING=2]="BOND_STATUS_UNBONDING",e[e.BOND_STATUS_BONDED=3]="BOND_STATUS_BONDED",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(U2||(xn.BondStatus=U2={}));function Myt(e){switch(e){case 0:case"BOND_STATUS_UNSPECIFIED":return U2.BOND_STATUS_UNSPECIFIED;case 1:case"BOND_STATUS_UNBONDED":return U2.BOND_STATUS_UNBONDED;case 2:case"BOND_STATUS_UNBONDING":return U2.BOND_STATUS_UNBONDING;case 3:case"BOND_STATUS_BONDED":return U2.BOND_STATUS_BONDED;default:return U2.UNRECOGNIZED}}xn.bondStatusFromJSON=Myt;function Dyt(e){switch(e){case U2.BOND_STATUS_UNSPECIFIED:return"BOND_STATUS_UNSPECIFIED";case U2.BOND_STATUS_UNBONDED:return"BOND_STATUS_UNBONDED";case U2.BOND_STATUS_UNBONDING:return"BOND_STATUS_UNBONDING";case U2.BOND_STATUS_BONDED:return"BOND_STATUS_BONDED";case U2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}xn.bondStatusToJSON=Dyt;var zE;(function(e){e[e.INFRACTION_UNSPECIFIED=0]="INFRACTION_UNSPECIFIED",e[e.INFRACTION_DOUBLE_SIGN=1]="INFRACTION_DOUBLE_SIGN",e[e.INFRACTION_DOWNTIME=2]="INFRACTION_DOWNTIME",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(zE||(xn.Infraction=zE={}));function A1n(e){switch(e){case 0:case"INFRACTION_UNSPECIFIED":return zE.INFRACTION_UNSPECIFIED;case 1:case"INFRACTION_DOUBLE_SIGN":return zE.INFRACTION_DOUBLE_SIGN;case 2:case"INFRACTION_DOWNTIME":return zE.INFRACTION_DOWNTIME;default:return zE.UNRECOGNIZED}}xn.infractionFromJSON=A1n;function p1n(e){switch(e){case zE.INFRACTION_UNSPECIFIED:return"INFRACTION_UNSPECIFIED";case zE.INFRACTION_DOUBLE_SIGN:return"INFRACTION_DOUBLE_SIGN";case zE.INFRACTION_DOWNTIME:return"INFRACTION_DOWNTIME";case zE.UNRECOGNIZED:default:return"UNRECOGNIZED"}}xn.infractionToJSON=p1n;function v5e(){return{header:x9.Header.fromPartial({}),valset:[]}}xn.HistoricalInfo={typeUrl:"/cosmos.staking.v1beta1.HistoricalInfo",encode(e,t=eo.BinaryWriter.create()){e.header!==void 0&&x9.Header.encode(e.header,t.uint32(10).fork()).ldelim();for(let r of e.valset)xn.Validator.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=v5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.header=x9.Header.decode(r,r.uint32());break;case 2:n.valset.push(xn.Validator.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=v5e();return(0,Gi.isSet)(e.header)&&(t.header=x9.Header.fromJSON(e.header)),Array.isArray(e?.valset)&&(t.valset=e.valset.map(r=>xn.Validator.fromJSON(r))),t},toJSON(e){let t={};return e.header!==void 0&&(t.header=e.header?x9.Header.toJSON(e.header):void 0),e.valset?t.valset=e.valset.map(r=>r?xn.Validator.toJSON(r):void 0):t.valset=[],t},fromPartial(e){let t=v5e();return e.header!==void 0&&e.header!==null&&(t.header=x9.Header.fromPartial(e.header)),t.valset=e.valset?.map(r=>xn.Validator.fromPartial(r))||[],t}};function R5e(){return{rate:"",maxRate:"",maxChangeRate:""}}xn.CommissionRates={typeUrl:"/cosmos.staking.v1beta1.CommissionRates",encode(e,t=eo.BinaryWriter.create()){return e.rate!==""&&t.uint32(10).string(e.rate),e.maxRate!==""&&t.uint32(18).string(e.maxRate),e.maxChangeRate!==""&&t.uint32(26).string(e.maxChangeRate),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=R5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.rate=r.string();break;case 2:n.maxRate=r.string();break;case 3:n.maxChangeRate=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=R5e();return(0,Gi.isSet)(e.rate)&&(t.rate=String(e.rate)),(0,Gi.isSet)(e.maxRate)&&(t.maxRate=String(e.maxRate)),(0,Gi.isSet)(e.maxChangeRate)&&(t.maxChangeRate=String(e.maxChangeRate)),t},toJSON(e){let t={};return e.rate!==void 0&&(t.rate=e.rate),e.maxRate!==void 0&&(t.maxRate=e.maxRate),e.maxChangeRate!==void 0&&(t.maxChangeRate=e.maxChangeRate),t},fromPartial(e){let t=R5e();return t.rate=e.rate??"",t.maxRate=e.maxRate??"",t.maxChangeRate=e.maxChangeRate??"",t}};function S5e(){return{commissionRates:xn.CommissionRates.fromPartial({}),updateTime:gA.Timestamp.fromPartial({})}}xn.Commission={typeUrl:"/cosmos.staking.v1beta1.Commission",encode(e,t=eo.BinaryWriter.create()){return e.commissionRates!==void 0&&xn.CommissionRates.encode(e.commissionRates,t.uint32(10).fork()).ldelim(),e.updateTime!==void 0&&gA.Timestamp.encode(e.updateTime,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=S5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.commissionRates=xn.CommissionRates.decode(r,r.uint32());break;case 2:n.updateTime=gA.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=S5e();return(0,Gi.isSet)(e.commissionRates)&&(t.commissionRates=xn.CommissionRates.fromJSON(e.commissionRates)),(0,Gi.isSet)(e.updateTime)&&(t.updateTime=(0,Gi.fromJsonTimestamp)(e.updateTime)),t},toJSON(e){let t={};return e.commissionRates!==void 0&&(t.commissionRates=e.commissionRates?xn.CommissionRates.toJSON(e.commissionRates):void 0),e.updateTime!==void 0&&(t.updateTime=(0,Gi.fromTimestamp)(e.updateTime).toISOString()),t},fromPartial(e){let t=S5e();return e.commissionRates!==void 0&&e.commissionRates!==null&&(t.commissionRates=xn.CommissionRates.fromPartial(e.commissionRates)),e.updateTime!==void 0&&e.updateTime!==null&&(t.updateTime=gA.Timestamp.fromPartial(e.updateTime)),t}};function I5e(){return{moniker:"",identity:"",website:"",securityContact:"",details:""}}xn.Description={typeUrl:"/cosmos.staking.v1beta1.Description",encode(e,t=eo.BinaryWriter.create()){return e.moniker!==""&&t.uint32(10).string(e.moniker),e.identity!==""&&t.uint32(18).string(e.identity),e.website!==""&&t.uint32(26).string(e.website),e.securityContact!==""&&t.uint32(34).string(e.securityContact),e.details!==""&&t.uint32(42).string(e.details),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=I5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.moniker=r.string();break;case 2:n.identity=r.string();break;case 3:n.website=r.string();break;case 4:n.securityContact=r.string();break;case 5:n.details=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=I5e();return(0,Gi.isSet)(e.moniker)&&(t.moniker=String(e.moniker)),(0,Gi.isSet)(e.identity)&&(t.identity=String(e.identity)),(0,Gi.isSet)(e.website)&&(t.website=String(e.website)),(0,Gi.isSet)(e.securityContact)&&(t.securityContact=String(e.securityContact)),(0,Gi.isSet)(e.details)&&(t.details=String(e.details)),t},toJSON(e){let t={};return e.moniker!==void 0&&(t.moniker=e.moniker),e.identity!==void 0&&(t.identity=e.identity),e.website!==void 0&&(t.website=e.website),e.securityContact!==void 0&&(t.securityContact=e.securityContact),e.details!==void 0&&(t.details=e.details),t},fromPartial(e){let t=I5e();return t.moniker=e.moniker??"",t.identity=e.identity??"",t.website=e.website??"",t.securityContact=e.securityContact??"",t.details=e.details??"",t}};function C5e(){return{operatorAddress:"",consensusPubkey:void 0,jailed:!1,status:0,tokens:"",delegatorShares:"",description:xn.Description.fromPartial({}),unbondingHeight:BigInt(0),unbondingTime:gA.Timestamp.fromPartial({}),commission:xn.Commission.fromPartial({}),minSelfDelegation:"",unbondingOnHoldRefCount:BigInt(0),unbondingIds:[]}}xn.Validator={typeUrl:"/cosmos.staking.v1beta1.Validator",encode(e,t=eo.BinaryWriter.create()){e.operatorAddress!==""&&t.uint32(10).string(e.operatorAddress),e.consensusPubkey!==void 0&&hQ.Any.encode(e.consensusPubkey,t.uint32(18).fork()).ldelim(),e.jailed===!0&&t.uint32(24).bool(e.jailed),e.status!==0&&t.uint32(32).int32(e.status),e.tokens!==""&&t.uint32(42).string(e.tokens),e.delegatorShares!==""&&t.uint32(50).string(e.delegatorShares),e.description!==void 0&&xn.Description.encode(e.description,t.uint32(58).fork()).ldelim(),e.unbondingHeight!==BigInt(0)&&t.uint32(64).int64(e.unbondingHeight),e.unbondingTime!==void 0&&gA.Timestamp.encode(e.unbondingTime,t.uint32(74).fork()).ldelim(),e.commission!==void 0&&xn.Commission.encode(e.commission,t.uint32(82).fork()).ldelim(),e.minSelfDelegation!==""&&t.uint32(90).string(e.minSelfDelegation),e.unbondingOnHoldRefCount!==BigInt(0)&&t.uint32(96).int64(e.unbondingOnHoldRefCount),t.uint32(106).fork();for(let r of e.unbondingIds)t.uint64(r);return t.ldelim(),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=C5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.operatorAddress=r.string();break;case 2:n.consensusPubkey=hQ.Any.decode(r,r.uint32());break;case 3:n.jailed=r.bool();break;case 4:n.status=r.int32();break;case 5:n.tokens=r.string();break;case 6:n.delegatorShares=r.string();break;case 7:n.description=xn.Description.decode(r,r.uint32());break;case 8:n.unbondingHeight=r.int64();break;case 9:n.unbondingTime=gA.Timestamp.decode(r,r.uint32());break;case 10:n.commission=xn.Commission.decode(r,r.uint32());break;case 11:n.minSelfDelegation=r.string();break;case 12:n.unbondingOnHoldRefCount=r.int64();break;case 13:if((o&7)===2){let d=r.uint32()+r.pos;for(;r.pos<d;)n.unbondingIds.push(r.uint64())}else n.unbondingIds.push(r.uint64());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=C5e();return(0,Gi.isSet)(e.operatorAddress)&&(t.operatorAddress=String(e.operatorAddress)),(0,Gi.isSet)(e.consensusPubkey)&&(t.consensusPubkey=hQ.Any.fromJSON(e.consensusPubkey)),(0,Gi.isSet)(e.jailed)&&(t.jailed=!!e.jailed),(0,Gi.isSet)(e.status)&&(t.status=Myt(e.status)),(0,Gi.isSet)(e.tokens)&&(t.tokens=String(e.tokens)),(0,Gi.isSet)(e.delegatorShares)&&(t.delegatorShares=String(e.delegatorShares)),(0,Gi.isSet)(e.description)&&(t.description=xn.Description.fromJSON(e.description)),(0,Gi.isSet)(e.unbondingHeight)&&(t.unbondingHeight=BigInt(e.unbondingHeight.toString())),(0,Gi.isSet)(e.unbondingTime)&&(t.unbondingTime=(0,Gi.fromJsonTimestamp)(e.unbondingTime)),(0,Gi.isSet)(e.commission)&&(t.commission=xn.Commission.fromJSON(e.commission)),(0,Gi.isSet)(e.minSelfDelegation)&&(t.minSelfDelegation=String(e.minSelfDelegation)),(0,Gi.isSet)(e.unbondingOnHoldRefCount)&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),Array.isArray(e?.unbondingIds)&&(t.unbondingIds=e.unbondingIds.map(r=>BigInt(r.toString()))),t},toJSON(e){let t={};return e.operatorAddress!==void 0&&(t.operatorAddress=e.operatorAddress),e.consensusPubkey!==void 0&&(t.consensusPubkey=e.consensusPubkey?hQ.Any.toJSON(e.consensusPubkey):void 0),e.jailed!==void 0&&(t.jailed=e.jailed),e.status!==void 0&&(t.status=Dyt(e.status)),e.tokens!==void 0&&(t.tokens=e.tokens),e.delegatorShares!==void 0&&(t.delegatorShares=e.delegatorShares),e.description!==void 0&&(t.description=e.description?xn.Description.toJSON(e.description):void 0),e.unbondingHeight!==void 0&&(t.unbondingHeight=(e.unbondingHeight||BigInt(0)).toString()),e.unbondingTime!==void 0&&(t.unbondingTime=(0,Gi.fromTimestamp)(e.unbondingTime).toISOString()),e.commission!==void 0&&(t.commission=e.commission?xn.Commission.toJSON(e.commission):void 0),e.minSelfDelegation!==void 0&&(t.minSelfDelegation=e.minSelfDelegation),e.unbondingOnHoldRefCount!==void 0&&(t.unbondingOnHoldRefCount=(e.unbondingOnHoldRefCount||BigInt(0)).toString()),e.unbondingIds?t.unbondingIds=e.unbondingIds.map(r=>(r||BigInt(0)).toString()):t.unbondingIds=[],t},fromPartial(e){let t=C5e();return t.operatorAddress=e.operatorAddress??"",e.consensusPubkey!==void 0&&e.consensusPubkey!==null&&(t.consensusPubkey=hQ.Any.fromPartial(e.consensusPubkey)),t.jailed=e.jailed??!1,t.status=e.status??0,t.tokens=e.tokens??"",t.delegatorShares=e.delegatorShares??"",e.description!==void 0&&e.description!==null&&(t.description=xn.Description.fromPartial(e.description)),e.unbondingHeight!==void 0&&e.unbondingHeight!==null&&(t.unbondingHeight=BigInt(e.unbondingHeight.toString())),e.unbondingTime!==void 0&&e.unbondingTime!==null&&(t.unbondingTime=gA.Timestamp.fromPartial(e.unbondingTime)),e.commission!==void 0&&e.commission!==null&&(t.commission=xn.Commission.fromPartial(e.commission)),t.minSelfDelegation=e.minSelfDelegation??"",e.unbondingOnHoldRefCount!==void 0&&e.unbondingOnHoldRefCount!==null&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),t.unbondingIds=e.unbondingIds?.map(r=>BigInt(r.toString()))||[],t}};function w5e(){return{addresses:[]}}xn.ValAddresses={typeUrl:"/cosmos.staking.v1beta1.ValAddresses",encode(e,t=eo.BinaryWriter.create()){for(let r of e.addresses)t.uint32(10).string(r);return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=w5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.addresses.push(r.string()):r.skipType(o&7)}return n},fromJSON(e){let t=w5e();return Array.isArray(e?.addresses)&&(t.addresses=e.addresses.map(r=>String(r))),t},toJSON(e){let t={};return e.addresses?t.addresses=e.addresses.map(r=>r):t.addresses=[],t},fromPartial(e){let t=w5e();return t.addresses=e.addresses?.map(r=>r)||[],t}};function O5e(){return{delegatorAddress:"",validatorAddress:""}}xn.DVPair={typeUrl:"/cosmos.staking.v1beta1.DVPair",encode(e,t=eo.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=O5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=O5e();return(0,Gi.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,Gi.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),t},fromPartial(e){let t=O5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",t}};function N5e(){return{pairs:[]}}xn.DVPairs={typeUrl:"/cosmos.staking.v1beta1.DVPairs",encode(e,t=eo.BinaryWriter.create()){for(let r of e.pairs)xn.DVPair.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=N5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pairs.push(xn.DVPair.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=N5e();return Array.isArray(e?.pairs)&&(t.pairs=e.pairs.map(r=>xn.DVPair.fromJSON(r))),t},toJSON(e){let t={};return e.pairs?t.pairs=e.pairs.map(r=>r?xn.DVPair.toJSON(r):void 0):t.pairs=[],t},fromPartial(e){let t=N5e();return t.pairs=e.pairs?.map(r=>xn.DVPair.fromPartial(r))||[],t}};function x5e(){return{delegatorAddress:"",validatorSrcAddress:"",validatorDstAddress:""}}xn.DVVTriplet={typeUrl:"/cosmos.staking.v1beta1.DVVTriplet",encode(e,t=eo.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorSrcAddress!==""&&t.uint32(18).string(e.validatorSrcAddress),e.validatorDstAddress!==""&&t.uint32(26).string(e.validatorDstAddress),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=x5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorSrcAddress=r.string();break;case 3:n.validatorDstAddress=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=x5e();return(0,Gi.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,Gi.isSet)(e.validatorSrcAddress)&&(t.validatorSrcAddress=String(e.validatorSrcAddress)),(0,Gi.isSet)(e.validatorDstAddress)&&(t.validatorDstAddress=String(e.validatorDstAddress)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorSrcAddress!==void 0&&(t.validatorSrcAddress=e.validatorSrcAddress),e.validatorDstAddress!==void 0&&(t.validatorDstAddress=e.validatorDstAddress),t},fromPartial(e){let t=x5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorSrcAddress=e.validatorSrcAddress??"",t.validatorDstAddress=e.validatorDstAddress??"",t}};function T5e(){return{triplets:[]}}xn.DVVTriplets={typeUrl:"/cosmos.staking.v1beta1.DVVTriplets",encode(e,t=eo.BinaryWriter.create()){for(let r of e.triplets)xn.DVVTriplet.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=T5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.triplets.push(xn.DVVTriplet.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=T5e();return Array.isArray(e?.triplets)&&(t.triplets=e.triplets.map(r=>xn.DVVTriplet.fromJSON(r))),t},toJSON(e){let t={};return e.triplets?t.triplets=e.triplets.map(r=>r?xn.DVVTriplet.toJSON(r):void 0):t.triplets=[],t},fromPartial(e){let t=T5e();return t.triplets=e.triplets?.map(r=>xn.DVVTriplet.fromPartial(r))||[],t}};function B5e(){return{delegatorAddress:"",validatorAddress:"",shares:""}}xn.Delegation={typeUrl:"/cosmos.staking.v1beta1.Delegation",encode(e,t=eo.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),e.shares!==""&&t.uint32(26).string(e.shares),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=B5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;case 3:n.shares=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=B5e();return(0,Gi.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,Gi.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,Gi.isSet)(e.shares)&&(t.shares=String(e.shares)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.shares!==void 0&&(t.shares=e.shares),t},fromPartial(e){let t=B5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",t.shares=e.shares??"",t}};function M5e(){return{delegatorAddress:"",validatorAddress:"",entries:[]}}xn.UnbondingDelegation={typeUrl:"/cosmos.staking.v1beta1.UnbondingDelegation",encode(e,t=eo.BinaryWriter.create()){e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress);for(let r of e.entries)xn.UnbondingDelegationEntry.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=M5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;case 3:n.entries.push(xn.UnbondingDelegationEntry.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=M5e();return(0,Gi.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,Gi.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),Array.isArray(e?.entries)&&(t.entries=e.entries.map(r=>xn.UnbondingDelegationEntry.fromJSON(r))),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.entries?t.entries=e.entries.map(r=>r?xn.UnbondingDelegationEntry.toJSON(r):void 0):t.entries=[],t},fromPartial(e){let t=M5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",t.entries=e.entries?.map(r=>xn.UnbondingDelegationEntry.fromPartial(r))||[],t}};function D5e(){return{creationHeight:BigInt(0),completionTime:gA.Timestamp.fromPartial({}),initialBalance:"",balance:"",unbondingId:BigInt(0),unbondingOnHoldRefCount:BigInt(0)}}xn.UnbondingDelegationEntry={typeUrl:"/cosmos.staking.v1beta1.UnbondingDelegationEntry",encode(e,t=eo.BinaryWriter.create()){return e.creationHeight!==BigInt(0)&&t.uint32(8).int64(e.creationHeight),e.completionTime!==void 0&&gA.Timestamp.encode(e.completionTime,t.uint32(18).fork()).ldelim(),e.initialBalance!==""&&t.uint32(26).string(e.initialBalance),e.balance!==""&&t.uint32(34).string(e.balance),e.unbondingId!==BigInt(0)&&t.uint32(40).uint64(e.unbondingId),e.unbondingOnHoldRefCount!==BigInt(0)&&t.uint32(48).int64(e.unbondingOnHoldRefCount),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=D5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.creationHeight=r.int64();break;case 2:n.completionTime=gA.Timestamp.decode(r,r.uint32());break;case 3:n.initialBalance=r.string();break;case 4:n.balance=r.string();break;case 5:n.unbondingId=r.uint64();break;case 6:n.unbondingOnHoldRefCount=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=D5e();return(0,Gi.isSet)(e.creationHeight)&&(t.creationHeight=BigInt(e.creationHeight.toString())),(0,Gi.isSet)(e.completionTime)&&(t.completionTime=(0,Gi.fromJsonTimestamp)(e.completionTime)),(0,Gi.isSet)(e.initialBalance)&&(t.initialBalance=String(e.initialBalance)),(0,Gi.isSet)(e.balance)&&(t.balance=String(e.balance)),(0,Gi.isSet)(e.unbondingId)&&(t.unbondingId=BigInt(e.unbondingId.toString())),(0,Gi.isSet)(e.unbondingOnHoldRefCount)&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),t},toJSON(e){let t={};return e.creationHeight!==void 0&&(t.creationHeight=(e.creationHeight||BigInt(0)).toString()),e.completionTime!==void 0&&(t.completionTime=(0,Gi.fromTimestamp)(e.completionTime).toISOString()),e.initialBalance!==void 0&&(t.initialBalance=e.initialBalance),e.balance!==void 0&&(t.balance=e.balance),e.unbondingId!==void 0&&(t.unbondingId=(e.unbondingId||BigInt(0)).toString()),e.unbondingOnHoldRefCount!==void 0&&(t.unbondingOnHoldRefCount=(e.unbondingOnHoldRefCount||BigInt(0)).toString()),t},fromPartial(e){let t=D5e();return e.creationHeight!==void 0&&e.creationHeight!==null&&(t.creationHeight=BigInt(e.creationHeight.toString())),e.completionTime!==void 0&&e.completionTime!==null&&(t.completionTime=gA.Timestamp.fromPartial(e.completionTime)),t.initialBalance=e.initialBalance??"",t.balance=e.balance??"",e.unbondingId!==void 0&&e.unbondingId!==null&&(t.unbondingId=BigInt(e.unbondingId.toString())),e.unbondingOnHoldRefCount!==void 0&&e.unbondingOnHoldRefCount!==null&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),t}};function k5e(){return{creationHeight:BigInt(0),completionTime:gA.Timestamp.fromPartial({}),initialBalance:"",sharesDst:"",unbondingId:BigInt(0),unbondingOnHoldRefCount:BigInt(0)}}xn.RedelegationEntry={typeUrl:"/cosmos.staking.v1beta1.RedelegationEntry",encode(e,t=eo.BinaryWriter.create()){return e.creationHeight!==BigInt(0)&&t.uint32(8).int64(e.creationHeight),e.completionTime!==void 0&&gA.Timestamp.encode(e.completionTime,t.uint32(18).fork()).ldelim(),e.initialBalance!==""&&t.uint32(26).string(e.initialBalance),e.sharesDst!==""&&t.uint32(34).string(e.sharesDst),e.unbondingId!==BigInt(0)&&t.uint32(40).uint64(e.unbondingId),e.unbondingOnHoldRefCount!==BigInt(0)&&t.uint32(48).int64(e.unbondingOnHoldRefCount),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=k5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.creationHeight=r.int64();break;case 2:n.completionTime=gA.Timestamp.decode(r,r.uint32());break;case 3:n.initialBalance=r.string();break;case 4:n.sharesDst=r.string();break;case 5:n.unbondingId=r.uint64();break;case 6:n.unbondingOnHoldRefCount=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=k5e();return(0,Gi.isSet)(e.creationHeight)&&(t.creationHeight=BigInt(e.creationHeight.toString())),(0,Gi.isSet)(e.completionTime)&&(t.completionTime=(0,Gi.fromJsonTimestamp)(e.completionTime)),(0,Gi.isSet)(e.initialBalance)&&(t.initialBalance=String(e.initialBalance)),(0,Gi.isSet)(e.sharesDst)&&(t.sharesDst=String(e.sharesDst)),(0,Gi.isSet)(e.unbondingId)&&(t.unbondingId=BigInt(e.unbondingId.toString())),(0,Gi.isSet)(e.unbondingOnHoldRefCount)&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),t},toJSON(e){let t={};return e.creationHeight!==void 0&&(t.creationHeight=(e.creationHeight||BigInt(0)).toString()),e.completionTime!==void 0&&(t.completionTime=(0,Gi.fromTimestamp)(e.completionTime).toISOString()),e.initialBalance!==void 0&&(t.initialBalance=e.initialBalance),e.sharesDst!==void 0&&(t.sharesDst=e.sharesDst),e.unbondingId!==void 0&&(t.unbondingId=(e.unbondingId||BigInt(0)).toString()),e.unbondingOnHoldRefCount!==void 0&&(t.unbondingOnHoldRefCount=(e.unbondingOnHoldRefCount||BigInt(0)).toString()),t},fromPartial(e){let t=k5e();return e.creationHeight!==void 0&&e.creationHeight!==null&&(t.creationHeight=BigInt(e.creationHeight.toString())),e.completionTime!==void 0&&e.completionTime!==null&&(t.completionTime=gA.Timestamp.fromPartial(e.completionTime)),t.initialBalance=e.initialBalance??"",t.sharesDst=e.sharesDst??"",e.unbondingId!==void 0&&e.unbondingId!==null&&(t.unbondingId=BigInt(e.unbondingId.toString())),e.unbondingOnHoldRefCount!==void 0&&e.unbondingOnHoldRefCount!==null&&(t.unbondingOnHoldRefCount=BigInt(e.unbondingOnHoldRefCount.toString())),t}};function P5e(){return{delegatorAddress:"",validatorSrcAddress:"",validatorDstAddress:"",entries:[]}}xn.Redelegation={typeUrl:"/cosmos.staking.v1beta1.Redelegation",encode(e,t=eo.BinaryWriter.create()){e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorSrcAddress!==""&&t.uint32(18).string(e.validatorSrcAddress),e.validatorDstAddress!==""&&t.uint32(26).string(e.validatorDstAddress);for(let r of e.entries)xn.RedelegationEntry.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=P5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorSrcAddress=r.string();break;case 3:n.validatorDstAddress=r.string();break;case 4:n.entries.push(xn.RedelegationEntry.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=P5e();return(0,Gi.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,Gi.isSet)(e.validatorSrcAddress)&&(t.validatorSrcAddress=String(e.validatorSrcAddress)),(0,Gi.isSet)(e.validatorDstAddress)&&(t.validatorDstAddress=String(e.validatorDstAddress)),Array.isArray(e?.entries)&&(t.entries=e.entries.map(r=>xn.RedelegationEntry.fromJSON(r))),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorSrcAddress!==void 0&&(t.validatorSrcAddress=e.validatorSrcAddress),e.validatorDstAddress!==void 0&&(t.validatorDstAddress=e.validatorDstAddress),e.entries?t.entries=e.entries.map(r=>r?xn.RedelegationEntry.toJSON(r):void 0):t.entries=[],t},fromPartial(e){let t=P5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorSrcAddress=e.validatorSrcAddress??"",t.validatorDstAddress=e.validatorDstAddress??"",t.entries=e.entries?.map(r=>xn.RedelegationEntry.fromPartial(r))||[],t}};function L5e(){return{unbondingTime:T9.Duration.fromPartial({}),maxValidators:0,maxEntries:0,historicalEntries:0,bondDenom:"",minCommissionRate:""}}xn.Params={typeUrl:"/cosmos.staking.v1beta1.Params",encode(e,t=eo.BinaryWriter.create()){return e.unbondingTime!==void 0&&T9.Duration.encode(e.unbondingTime,t.uint32(10).fork()).ldelim(),e.maxValidators!==0&&t.uint32(16).uint32(e.maxValidators),e.maxEntries!==0&&t.uint32(24).uint32(e.maxEntries),e.historicalEntries!==0&&t.uint32(32).uint32(e.historicalEntries),e.bondDenom!==""&&t.uint32(42).string(e.bondDenom),e.minCommissionRate!==""&&t.uint32(50).string(e.minCommissionRate),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=L5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.unbondingTime=T9.Duration.decode(r,r.uint32());break;case 2:n.maxValidators=r.uint32();break;case 3:n.maxEntries=r.uint32();break;case 4:n.historicalEntries=r.uint32();break;case 5:n.bondDenom=r.string();break;case 6:n.minCommissionRate=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=L5e();return(0,Gi.isSet)(e.unbondingTime)&&(t.unbondingTime=T9.Duration.fromJSON(e.unbondingTime)),(0,Gi.isSet)(e.maxValidators)&&(t.maxValidators=Number(e.maxValidators)),(0,Gi.isSet)(e.maxEntries)&&(t.maxEntries=Number(e.maxEntries)),(0,Gi.isSet)(e.historicalEntries)&&(t.historicalEntries=Number(e.historicalEntries)),(0,Gi.isSet)(e.bondDenom)&&(t.bondDenom=String(e.bondDenom)),(0,Gi.isSet)(e.minCommissionRate)&&(t.minCommissionRate=String(e.minCommissionRate)),t},toJSON(e){let t={};return e.unbondingTime!==void 0&&(t.unbondingTime=e.unbondingTime?T9.Duration.toJSON(e.unbondingTime):void 0),e.maxValidators!==void 0&&(t.maxValidators=Math.round(e.maxValidators)),e.maxEntries!==void 0&&(t.maxEntries=Math.round(e.maxEntries)),e.historicalEntries!==void 0&&(t.historicalEntries=Math.round(e.historicalEntries)),e.bondDenom!==void 0&&(t.bondDenom=e.bondDenom),e.minCommissionRate!==void 0&&(t.minCommissionRate=e.minCommissionRate),t},fromPartial(e){let t=L5e();return e.unbondingTime!==void 0&&e.unbondingTime!==null&&(t.unbondingTime=T9.Duration.fromPartial(e.unbondingTime)),t.maxValidators=e.maxValidators??0,t.maxEntries=e.maxEntries??0,t.historicalEntries=e.historicalEntries??0,t.bondDenom=e.bondDenom??"",t.minCommissionRate=e.minCommissionRate??"",t}};function U5e(){return{delegation:xn.Delegation.fromPartial({}),balance:B9.Coin.fromPartial({})}}xn.DelegationResponse={typeUrl:"/cosmos.staking.v1beta1.DelegationResponse",encode(e,t=eo.BinaryWriter.create()){return e.delegation!==void 0&&xn.Delegation.encode(e.delegation,t.uint32(10).fork()).ldelim(),e.balance!==void 0&&B9.Coin.encode(e.balance,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=U5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegation=xn.Delegation.decode(r,r.uint32());break;case 2:n.balance=B9.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=U5e();return(0,Gi.isSet)(e.delegation)&&(t.delegation=xn.Delegation.fromJSON(e.delegation)),(0,Gi.isSet)(e.balance)&&(t.balance=B9.Coin.fromJSON(e.balance)),t},toJSON(e){let t={};return e.delegation!==void 0&&(t.delegation=e.delegation?xn.Delegation.toJSON(e.delegation):void 0),e.balance!==void 0&&(t.balance=e.balance?B9.Coin.toJSON(e.balance):void 0),t},fromPartial(e){let t=U5e();return e.delegation!==void 0&&e.delegation!==null&&(t.delegation=xn.Delegation.fromPartial(e.delegation)),e.balance!==void 0&&e.balance!==null&&(t.balance=B9.Coin.fromPartial(e.balance)),t}};function F5e(){return{redelegationEntry:xn.RedelegationEntry.fromPartial({}),balance:""}}xn.RedelegationEntryResponse={typeUrl:"/cosmos.staking.v1beta1.RedelegationEntryResponse",encode(e,t=eo.BinaryWriter.create()){return e.redelegationEntry!==void 0&&xn.RedelegationEntry.encode(e.redelegationEntry,t.uint32(10).fork()).ldelim(),e.balance!==""&&t.uint32(34).string(e.balance),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=F5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.redelegationEntry=xn.RedelegationEntry.decode(r,r.uint32());break;case 4:n.balance=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=F5e();return(0,Gi.isSet)(e.redelegationEntry)&&(t.redelegationEntry=xn.RedelegationEntry.fromJSON(e.redelegationEntry)),(0,Gi.isSet)(e.balance)&&(t.balance=String(e.balance)),t},toJSON(e){let t={};return e.redelegationEntry!==void 0&&(t.redelegationEntry=e.redelegationEntry?xn.RedelegationEntry.toJSON(e.redelegationEntry):void 0),e.balance!==void 0&&(t.balance=e.balance),t},fromPartial(e){let t=F5e();return e.redelegationEntry!==void 0&&e.redelegationEntry!==null&&(t.redelegationEntry=xn.RedelegationEntry.fromPartial(e.redelegationEntry)),t.balance=e.balance??"",t}};function Q5e(){return{redelegation:xn.Redelegation.fromPartial({}),entries:[]}}xn.RedelegationResponse={typeUrl:"/cosmos.staking.v1beta1.RedelegationResponse",encode(e,t=eo.BinaryWriter.create()){e.redelegation!==void 0&&xn.Redelegation.encode(e.redelegation,t.uint32(10).fork()).ldelim();for(let r of e.entries)xn.RedelegationEntryResponse.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Q5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.redelegation=xn.Redelegation.decode(r,r.uint32());break;case 2:n.entries.push(xn.RedelegationEntryResponse.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Q5e();return(0,Gi.isSet)(e.redelegation)&&(t.redelegation=xn.Redelegation.fromJSON(e.redelegation)),Array.isArray(e?.entries)&&(t.entries=e.entries.map(r=>xn.RedelegationEntryResponse.fromJSON(r))),t},toJSON(e){let t={};return e.redelegation!==void 0&&(t.redelegation=e.redelegation?xn.Redelegation.toJSON(e.redelegation):void 0),e.entries?t.entries=e.entries.map(r=>r?xn.RedelegationEntryResponse.toJSON(r):void 0):t.entries=[],t},fromPartial(e){let t=Q5e();return e.redelegation!==void 0&&e.redelegation!==null&&(t.redelegation=xn.Redelegation.fromPartial(e.redelegation)),t.entries=e.entries?.map(r=>xn.RedelegationEntryResponse.fromPartial(r))||[],t}};function H5e(){return{notBondedTokens:"",bondedTokens:""}}xn.Pool={typeUrl:"/cosmos.staking.v1beta1.Pool",encode(e,t=eo.BinaryWriter.create()){return e.notBondedTokens!==""&&t.uint32(10).string(e.notBondedTokens),e.bondedTokens!==""&&t.uint32(18).string(e.bondedTokens),t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=H5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.notBondedTokens=r.string();break;case 2:n.bondedTokens=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=H5e();return(0,Gi.isSet)(e.notBondedTokens)&&(t.notBondedTokens=String(e.notBondedTokens)),(0,Gi.isSet)(e.bondedTokens)&&(t.bondedTokens=String(e.bondedTokens)),t},toJSON(e){let t={};return e.notBondedTokens!==void 0&&(t.notBondedTokens=e.notBondedTokens),e.bondedTokens!==void 0&&(t.bondedTokens=e.bondedTokens),t},fromPartial(e){let t=H5e();return t.notBondedTokens=e.notBondedTokens??"",t.bondedTokens=e.bondedTokens??"",t}};function G5e(){return{updates:[]}}xn.ValidatorUpdates={typeUrl:"/cosmos.staking.v1beta1.ValidatorUpdates",encode(e,t=eo.BinaryWriter.create()){for(let r of e.updates)AQ.ValidatorUpdate.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof eo.BinaryReader?e:new eo.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=G5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.updates.push(AQ.ValidatorUpdate.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=G5e();return Array.isArray(e?.updates)&&(t.updates=e.updates.map(r=>AQ.ValidatorUpdate.fromJSON(r))),t},toJSON(e){let t={};return e.updates?t.updates=e.updates.map(r=>r?AQ.ValidatorUpdate.toJSON(r):void 0):t.updates=[],t},fromPartial(e){let t=G5e();return t.updates=e.updates?.map(r=>AQ.ValidatorUpdate.fromPartial(r))||[],t}}});var oOe=ir(Zo=>{"use strict";J();K();z();Object.defineProperty(Zo,"__esModule",{value:!0});Zo.MsgClientImpl=Zo.MsgUpdateParamsResponse=Zo.MsgUpdateParams=Zo.MsgCancelUnbondingDelegationResponse=Zo.MsgCancelUnbondingDelegation=Zo.MsgUndelegateResponse=Zo.MsgUndelegate=Zo.MsgBeginRedelegateResponse=Zo.MsgBeginRedelegate=Zo.MsgDelegateResponse=Zo.MsgDelegate=Zo.MsgEditValidatorResponse=Zo.MsgEditValidator=Zo.MsgCreateValidatorResponse=Zo.MsgCreateValidator=Zo.protobufPackage=void 0;var B0=q5e(),pQ=ru(),qc=Af(),h8=u1(),$o=Qi(),ac=Hi();Zo.protobufPackage="cosmos.staking.v1beta1";function V5e(){return{description:B0.Description.fromPartial({}),commission:B0.CommissionRates.fromPartial({}),minSelfDelegation:"",delegatorAddress:"",validatorAddress:"",pubkey:void 0,value:qc.Coin.fromPartial({})}}Zo.MsgCreateValidator={typeUrl:"/cosmos.staking.v1beta1.MsgCreateValidator",encode(e,t=$o.BinaryWriter.create()){return e.description!==void 0&&B0.Description.encode(e.description,t.uint32(10).fork()).ldelim(),e.commission!==void 0&&B0.CommissionRates.encode(e.commission,t.uint32(18).fork()).ldelim(),e.minSelfDelegation!==""&&t.uint32(26).string(e.minSelfDelegation),e.delegatorAddress!==""&&t.uint32(34).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(42).string(e.validatorAddress),e.pubkey!==void 0&&pQ.Any.encode(e.pubkey,t.uint32(50).fork()).ldelim(),e.value!==void 0&&qc.Coin.encode(e.value,t.uint32(58).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=V5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.description=B0.Description.decode(r,r.uint32());break;case 2:n.commission=B0.CommissionRates.decode(r,r.uint32());break;case 3:n.minSelfDelegation=r.string();break;case 4:n.delegatorAddress=r.string();break;case 5:n.validatorAddress=r.string();break;case 6:n.pubkey=pQ.Any.decode(r,r.uint32());break;case 7:n.value=qc.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=V5e();return(0,ac.isSet)(e.description)&&(t.description=B0.Description.fromJSON(e.description)),(0,ac.isSet)(e.commission)&&(t.commission=B0.CommissionRates.fromJSON(e.commission)),(0,ac.isSet)(e.minSelfDelegation)&&(t.minSelfDelegation=String(e.minSelfDelegation)),(0,ac.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,ac.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,ac.isSet)(e.pubkey)&&(t.pubkey=pQ.Any.fromJSON(e.pubkey)),(0,ac.isSet)(e.value)&&(t.value=qc.Coin.fromJSON(e.value)),t},toJSON(e){let t={};return e.description!==void 0&&(t.description=e.description?B0.Description.toJSON(e.description):void 0),e.commission!==void 0&&(t.commission=e.commission?B0.CommissionRates.toJSON(e.commission):void 0),e.minSelfDelegation!==void 0&&(t.minSelfDelegation=e.minSelfDelegation),e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.pubkey!==void 0&&(t.pubkey=e.pubkey?pQ.Any.toJSON(e.pubkey):void 0),e.value!==void 0&&(t.value=e.value?qc.Coin.toJSON(e.value):void 0),t},fromPartial(e){let t=V5e();return e.description!==void 0&&e.description!==null&&(t.description=B0.Description.fromPartial(e.description)),e.commission!==void 0&&e.commission!==null&&(t.commission=B0.CommissionRates.fromPartial(e.commission)),t.minSelfDelegation=e.minSelfDelegation??"",t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",e.pubkey!==void 0&&e.pubkey!==null&&(t.pubkey=pQ.Any.fromPartial(e.pubkey)),e.value!==void 0&&e.value!==null&&(t.value=qc.Coin.fromPartial(e.value)),t}};function J5e(){return{}}Zo.MsgCreateValidatorResponse={typeUrl:"/cosmos.staking.v1beta1.MsgCreateValidatorResponse",encode(e,t=$o.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=J5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return J5e()},toJSON(e){return{}},fromPartial(e){return J5e()}};function z5e(){return{description:B0.Description.fromPartial({}),validatorAddress:"",commissionRate:"",minSelfDelegation:""}}Zo.MsgEditValidator={typeUrl:"/cosmos.staking.v1beta1.MsgEditValidator",encode(e,t=$o.BinaryWriter.create()){return e.description!==void 0&&B0.Description.encode(e.description,t.uint32(10).fork()).ldelim(),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),e.commissionRate!==""&&t.uint32(26).string(e.commissionRate),e.minSelfDelegation!==""&&t.uint32(34).string(e.minSelfDelegation),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=z5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.description=B0.Description.decode(r,r.uint32());break;case 2:n.validatorAddress=r.string();break;case 3:n.commissionRate=r.string();break;case 4:n.minSelfDelegation=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=z5e();return(0,ac.isSet)(e.description)&&(t.description=B0.Description.fromJSON(e.description)),(0,ac.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,ac.isSet)(e.commissionRate)&&(t.commissionRate=String(e.commissionRate)),(0,ac.isSet)(e.minSelfDelegation)&&(t.minSelfDelegation=String(e.minSelfDelegation)),t},toJSON(e){let t={};return e.description!==void 0&&(t.description=e.description?B0.Description.toJSON(e.description):void 0),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.commissionRate!==void 0&&(t.commissionRate=e.commissionRate),e.minSelfDelegation!==void 0&&(t.minSelfDelegation=e.minSelfDelegation),t},fromPartial(e){let t=z5e();return e.description!==void 0&&e.description!==null&&(t.description=B0.Description.fromPartial(e.description)),t.validatorAddress=e.validatorAddress??"",t.commissionRate=e.commissionRate??"",t.minSelfDelegation=e.minSelfDelegation??"",t}};function K5e(){return{}}Zo.MsgEditValidatorResponse={typeUrl:"/cosmos.staking.v1beta1.MsgEditValidatorResponse",encode(e,t=$o.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=K5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return K5e()},toJSON(e){return{}},fromPartial(e){return K5e()}};function $5e(){return{delegatorAddress:"",validatorAddress:"",amount:qc.Coin.fromPartial({})}}Zo.MsgDelegate={typeUrl:"/cosmos.staking.v1beta1.MsgDelegate",encode(e,t=$o.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),e.amount!==void 0&&qc.Coin.encode(e.amount,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;case 3:n.amount=qc.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$5e();return(0,ac.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,ac.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,ac.isSet)(e.amount)&&(t.amount=qc.Coin.fromJSON(e.amount)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.amount!==void 0&&(t.amount=e.amount?qc.Coin.toJSON(e.amount):void 0),t},fromPartial(e){let t=$5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",e.amount!==void 0&&e.amount!==null&&(t.amount=qc.Coin.fromPartial(e.amount)),t}};function Y5e(){return{}}Zo.MsgDelegateResponse={typeUrl:"/cosmos.staking.v1beta1.MsgDelegateResponse",encode(e,t=$o.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Y5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return Y5e()},toJSON(e){return{}},fromPartial(e){return Y5e()}};function W5e(){return{delegatorAddress:"",validatorSrcAddress:"",validatorDstAddress:"",amount:qc.Coin.fromPartial({})}}Zo.MsgBeginRedelegate={typeUrl:"/cosmos.staking.v1beta1.MsgBeginRedelegate",encode(e,t=$o.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorSrcAddress!==""&&t.uint32(18).string(e.validatorSrcAddress),e.validatorDstAddress!==""&&t.uint32(26).string(e.validatorDstAddress),e.amount!==void 0&&qc.Coin.encode(e.amount,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=W5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorSrcAddress=r.string();break;case 3:n.validatorDstAddress=r.string();break;case 4:n.amount=qc.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=W5e();return(0,ac.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,ac.isSet)(e.validatorSrcAddress)&&(t.validatorSrcAddress=String(e.validatorSrcAddress)),(0,ac.isSet)(e.validatorDstAddress)&&(t.validatorDstAddress=String(e.validatorDstAddress)),(0,ac.isSet)(e.amount)&&(t.amount=qc.Coin.fromJSON(e.amount)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorSrcAddress!==void 0&&(t.validatorSrcAddress=e.validatorSrcAddress),e.validatorDstAddress!==void 0&&(t.validatorDstAddress=e.validatorDstAddress),e.amount!==void 0&&(t.amount=e.amount?qc.Coin.toJSON(e.amount):void 0),t},fromPartial(e){let t=W5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorSrcAddress=e.validatorSrcAddress??"",t.validatorDstAddress=e.validatorDstAddress??"",e.amount!==void 0&&e.amount!==null&&(t.amount=qc.Coin.fromPartial(e.amount)),t}};function X5e(){return{completionTime:h8.Timestamp.fromPartial({})}}Zo.MsgBeginRedelegateResponse={typeUrl:"/cosmos.staking.v1beta1.MsgBeginRedelegateResponse",encode(e,t=$o.BinaryWriter.create()){return e.completionTime!==void 0&&h8.Timestamp.encode(e.completionTime,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=X5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.completionTime=h8.Timestamp.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=X5e();return(0,ac.isSet)(e.completionTime)&&(t.completionTime=(0,ac.fromJsonTimestamp)(e.completionTime)),t},toJSON(e){let t={};return e.completionTime!==void 0&&(t.completionTime=(0,ac.fromTimestamp)(e.completionTime).toISOString()),t},fromPartial(e){let t=X5e();return e.completionTime!==void 0&&e.completionTime!==null&&(t.completionTime=h8.Timestamp.fromPartial(e.completionTime)),t}};function Z5e(){return{delegatorAddress:"",validatorAddress:"",amount:qc.Coin.fromPartial({})}}Zo.MsgUndelegate={typeUrl:"/cosmos.staking.v1beta1.MsgUndelegate",encode(e,t=$o.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),e.amount!==void 0&&qc.Coin.encode(e.amount,t.uint32(26).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=Z5e();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;case 3:n.amount=qc.Coin.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=Z5e();return(0,ac.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,ac.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,ac.isSet)(e.amount)&&(t.amount=qc.Coin.fromJSON(e.amount)),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.amount!==void 0&&(t.amount=e.amount?qc.Coin.toJSON(e.amount):void 0),t},fromPartial(e){let t=Z5e();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",e.amount!==void 0&&e.amount!==null&&(t.amount=qc.Coin.fromPartial(e.amount)),t}};function j5e(){return{completionTime:h8.Timestamp.fromPartial({})}}Zo.MsgUndelegateResponse={typeUrl:"/cosmos.staking.v1beta1.MsgUndelegateResponse",encode(e,t=$o.BinaryWriter.create()){return e.completionTime!==void 0&&h8.Timestamp.encode(e.completionTime,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=j5e();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.completionTime=h8.Timestamp.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=j5e();return(0,ac.isSet)(e.completionTime)&&(t.completionTime=(0,ac.fromJsonTimestamp)(e.completionTime)),t},toJSON(e){let t={};return e.completionTime!==void 0&&(t.completionTime=(0,ac.fromTimestamp)(e.completionTime).toISOString()),t},fromPartial(e){let t=j5e();return e.completionTime!==void 0&&e.completionTime!==null&&(t.completionTime=h8.Timestamp.fromPartial(e.completionTime)),t}};function eOe(){return{delegatorAddress:"",validatorAddress:"",amount:qc.Coin.fromPartial({}),creationHeight:BigInt(0)}}Zo.MsgCancelUnbondingDelegation={typeUrl:"/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation",encode(e,t=$o.BinaryWriter.create()){return e.delegatorAddress!==""&&t.uint32(10).string(e.delegatorAddress),e.validatorAddress!==""&&t.uint32(18).string(e.validatorAddress),e.amount!==void 0&&qc.Coin.encode(e.amount,t.uint32(26).fork()).ldelim(),e.creationHeight!==BigInt(0)&&t.uint32(32).int64(e.creationHeight),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddress=r.string();break;case 2:n.validatorAddress=r.string();break;case 3:n.amount=qc.Coin.decode(r,r.uint32());break;case 4:n.creationHeight=r.int64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=eOe();return(0,ac.isSet)(e.delegatorAddress)&&(t.delegatorAddress=String(e.delegatorAddress)),(0,ac.isSet)(e.validatorAddress)&&(t.validatorAddress=String(e.validatorAddress)),(0,ac.isSet)(e.amount)&&(t.amount=qc.Coin.fromJSON(e.amount)),(0,ac.isSet)(e.creationHeight)&&(t.creationHeight=BigInt(e.creationHeight.toString())),t},toJSON(e){let t={};return e.delegatorAddress!==void 0&&(t.delegatorAddress=e.delegatorAddress),e.validatorAddress!==void 0&&(t.validatorAddress=e.validatorAddress),e.amount!==void 0&&(t.amount=e.amount?qc.Coin.toJSON(e.amount):void 0),e.creationHeight!==void 0&&(t.creationHeight=(e.creationHeight||BigInt(0)).toString()),t},fromPartial(e){let t=eOe();return t.delegatorAddress=e.delegatorAddress??"",t.validatorAddress=e.validatorAddress??"",e.amount!==void 0&&e.amount!==null&&(t.amount=qc.Coin.fromPartial(e.amount)),e.creationHeight!==void 0&&e.creationHeight!==null&&(t.creationHeight=BigInt(e.creationHeight.toString())),t}};function tOe(){return{}}Zo.MsgCancelUnbondingDelegationResponse={typeUrl:"/cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse",encode(e,t=$o.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return tOe()},toJSON(e){return{}},fromPartial(e){return tOe()}};function rOe(){return{authority:"",params:B0.Params.fromPartial({})}}Zo.MsgUpdateParams={typeUrl:"/cosmos.staking.v1beta1.MsgUpdateParams",encode(e,t=$o.BinaryWriter.create()){return e.authority!==""&&t.uint32(10).string(e.authority),e.params!==void 0&&B0.Params.encode(e.params,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.authority=r.string();break;case 2:n.params=B0.Params.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=rOe();return(0,ac.isSet)(e.authority)&&(t.authority=String(e.authority)),(0,ac.isSet)(e.params)&&(t.params=B0.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.authority!==void 0&&(t.authority=e.authority),e.params!==void 0&&(t.params=e.params?B0.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=rOe();return t.authority=e.authority??"",e.params!==void 0&&e.params!==null&&(t.params=B0.Params.fromPartial(e.params)),t}};function nOe(){return{}}Zo.MsgUpdateParamsResponse={typeUrl:"/cosmos.staking.v1beta1.MsgUpdateParamsResponse",encode(e,t=$o.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof $o.BinaryReader?e:new $o.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return nOe()},toJSON(e){return{}},fromPartial(e){return nOe()}};var iOe=class{constructor(t){this.rpc=t,this.CreateValidator=this.CreateValidator.bind(this),this.EditValidator=this.EditValidator.bind(this),this.Delegate=this.Delegate.bind(this),this.BeginRedelegate=this.BeginRedelegate.bind(this),this.Undelegate=this.Undelegate.bind(this),this.CancelUnbondingDelegation=this.CancelUnbondingDelegation.bind(this),this.UpdateParams=this.UpdateParams.bind(this)}CreateValidator(t){let r=Zo.MsgCreateValidator.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","CreateValidator",r).then(n=>Zo.MsgCreateValidatorResponse.decode(new $o.BinaryReader(n)))}EditValidator(t){let r=Zo.MsgEditValidator.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","EditValidator",r).then(n=>Zo.MsgEditValidatorResponse.decode(new $o.BinaryReader(n)))}Delegate(t){let r=Zo.MsgDelegate.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","Delegate",r).then(n=>Zo.MsgDelegateResponse.decode(new $o.BinaryReader(n)))}BeginRedelegate(t){let r=Zo.MsgBeginRedelegate.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","BeginRedelegate",r).then(n=>Zo.MsgBeginRedelegateResponse.decode(new $o.BinaryReader(n)))}Undelegate(t){let r=Zo.MsgUndelegate.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","Undelegate",r).then(n=>Zo.MsgUndelegateResponse.decode(new $o.BinaryReader(n)))}CancelUnbondingDelegation(t){let r=Zo.MsgCancelUnbondingDelegation.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","CancelUnbondingDelegation",r).then(n=>Zo.MsgCancelUnbondingDelegationResponse.decode(new $o.BinaryReader(n)))}UpdateParams(t){let r=Zo.MsgUpdateParams.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Msg","UpdateParams",r).then(n=>Zo.MsgUpdateParamsResponse.decode(new $o.BinaryReader(n)))}};Zo.MsgClientImpl=iOe});var kyt=ir(_A=>{"use strict";J();K();z();Object.defineProperty(_A,"__esModule",{value:!0});_A.isMsgCancelUnbondingDelegationEncodeObject=_A.isMsgUndelegateEncodeObject=_A.isMsgEditValidatorEncodeObject=_A.isMsgDelegateEncodeObject=_A.isMsgCreateValidatorEncodeObject=_A.isMsgBeginRedelegateEncodeObject=_A.stakingTypes=void 0;var M9=oOe();_A.stakingTypes=[["/cosmos.staking.v1beta1.MsgBeginRedelegate",M9.MsgBeginRedelegate],["/cosmos.staking.v1beta1.MsgCreateValidator",M9.MsgCreateValidator],["/cosmos.staking.v1beta1.MsgDelegate",M9.MsgDelegate],["/cosmos.staking.v1beta1.MsgEditValidator",M9.MsgEditValidator],["/cosmos.staking.v1beta1.MsgUndelegate",M9.MsgUndelegate],["/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation",M9.MsgCancelUnbondingDelegation]];function g1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgBeginRedelegate"}_A.isMsgBeginRedelegateEncodeObject=g1n;function _1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgCreateValidator"}_A.isMsgCreateValidatorEncodeObject=_1n;function m1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgDelegate"}_A.isMsgDelegateEncodeObject=m1n;function y1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgEditValidator"}_A.isMsgEditValidatorEncodeObject=y1n;function b1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgUndelegate"}_A.isMsgUndelegateEncodeObject=b1n;function E1n(e){return e.typeUrl==="/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation"}_A.isMsgCancelUnbondingDelegationEncodeObject=E1n});var Pyt=ir(si=>{"use strict";J();K();z();Object.defineProperty(si,"__esModule",{value:!0});si.QueryClientImpl=si.QueryParamsResponse=si.QueryParamsRequest=si.QueryPoolResponse=si.QueryPoolRequest=si.QueryHistoricalInfoResponse=si.QueryHistoricalInfoRequest=si.QueryDelegatorValidatorResponse=si.QueryDelegatorValidatorRequest=si.QueryDelegatorValidatorsResponse=si.QueryDelegatorValidatorsRequest=si.QueryRedelegationsResponse=si.QueryRedelegationsRequest=si.QueryDelegatorUnbondingDelegationsResponse=si.QueryDelegatorUnbondingDelegationsRequest=si.QueryDelegatorDelegationsResponse=si.QueryDelegatorDelegationsRequest=si.QueryUnbondingDelegationResponse=si.QueryUnbondingDelegationRequest=si.QueryDelegationResponse=si.QueryDelegationRequest=si.QueryValidatorUnbondingDelegationsResponse=si.QueryValidatorUnbondingDelegationsRequest=si.QueryValidatorDelegationsResponse=si.QueryValidatorDelegationsRequest=si.QueryValidatorResponse=si.QueryValidatorRequest=si.QueryValidatorsResponse=si.QueryValidatorsRequest=si.protobufPackage=void 0;var Ui=jA(),Ni=q5e(),Yn=Qi(),fs=Hi();si.protobufPackage="cosmos.staking.v1beta1";function aOe(){return{status:"",pagination:void 0}}si.QueryValidatorsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.status!==""&&t.uint32(10).string(e.status),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.status=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=aOe();return(0,fs.isSet)(e.status)&&(t.status=String(e.status)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.status!==void 0&&(t.status=e.status),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=aOe();return t.status=e.status??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function sOe(){return{validators:[],pagination:void 0}}si.QueryValidatorsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.validators)Ni.Validator.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validators.push(Ni.Validator.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=sOe();return Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>Ni.Validator.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.validators?t.validators=e.validators.map(r=>r?Ni.Validator.toJSON(r):void 0):t.validators=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=sOe();return t.validators=e.validators?.map(r=>Ni.Validator.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function cOe(){return{validatorAddr:""}}si.QueryValidatorRequest={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorRequest",encode(e,t=Yn.BinaryWriter.create()){return e.validatorAddr!==""&&t.uint32(10).string(e.validatorAddr),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validatorAddr=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=cOe();return(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),t},toJSON(e){let t={};return e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),t},fromPartial(e){let t=cOe();return t.validatorAddr=e.validatorAddr??"",t}};function uOe(){return{validator:Ni.Validator.fromPartial({})}}si.QueryValidatorResponse={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorResponse",encode(e,t=Yn.BinaryWriter.create()){return e.validator!==void 0&&Ni.Validator.encode(e.validator,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validator=Ni.Validator.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=uOe();return(0,fs.isSet)(e.validator)&&(t.validator=Ni.Validator.fromJSON(e.validator)),t},toJSON(e){let t={};return e.validator!==void 0&&(t.validator=e.validator?Ni.Validator.toJSON(e.validator):void 0),t},fromPartial(e){let t=uOe();return e.validator!==void 0&&e.validator!==null&&(t.validator=Ni.Validator.fromPartial(e.validator)),t}};function dOe(){return{validatorAddr:"",pagination:void 0}}si.QueryValidatorDelegationsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorDelegationsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.validatorAddr!==""&&t.uint32(10).string(e.validatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorAddr=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=dOe();return(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=dOe();return t.validatorAddr=e.validatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function fOe(){return{delegationResponses:[],pagination:void 0}}si.QueryValidatorDelegationsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorDelegationsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.delegationResponses)Ni.DelegationResponse.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegationResponses.push(Ni.DelegationResponse.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=fOe();return Array.isArray(e?.delegationResponses)&&(t.delegationResponses=e.delegationResponses.map(r=>Ni.DelegationResponse.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegationResponses?t.delegationResponses=e.delegationResponses.map(r=>r?Ni.DelegationResponse.toJSON(r):void 0):t.delegationResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=fOe();return t.delegationResponses=e.delegationResponses?.map(r=>Ni.DelegationResponse.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function lOe(){return{validatorAddr:"",pagination:void 0}}si.QueryValidatorUnbondingDelegationsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.validatorAddr!==""&&t.uint32(10).string(e.validatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=lOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validatorAddr=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=lOe();return(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=lOe();return t.validatorAddr=e.validatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function hOe(){return{unbondingResponses:[],pagination:void 0}}si.QueryValidatorUnbondingDelegationsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.unbondingResponses)Ni.UnbondingDelegation.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.unbondingResponses.push(Ni.UnbondingDelegation.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=hOe();return Array.isArray(e?.unbondingResponses)&&(t.unbondingResponses=e.unbondingResponses.map(r=>Ni.UnbondingDelegation.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.unbondingResponses?t.unbondingResponses=e.unbondingResponses.map(r=>r?Ni.UnbondingDelegation.toJSON(r):void 0):t.unbondingResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=hOe();return t.unbondingResponses=e.unbondingResponses?.map(r=>Ni.UnbondingDelegation.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function AOe(){return{delegatorAddr:"",validatorAddr:""}}si.QueryDelegationRequest={typeUrl:"/cosmos.staking.v1beta1.QueryDelegationRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.validatorAddr!==""&&t.uint32(18).string(e.validatorAddr),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=AOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.validatorAddr=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=AOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),t},fromPartial(e){let t=AOe();return t.delegatorAddr=e.delegatorAddr??"",t.validatorAddr=e.validatorAddr??"",t}};function pOe(){return{delegationResponse:void 0}}si.QueryDelegationResponse={typeUrl:"/cosmos.staking.v1beta1.QueryDelegationResponse",encode(e,t=Yn.BinaryWriter.create()){return e.delegationResponse!==void 0&&Ni.DelegationResponse.encode(e.delegationResponse,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.delegationResponse=Ni.DelegationResponse.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=pOe();return(0,fs.isSet)(e.delegationResponse)&&(t.delegationResponse=Ni.DelegationResponse.fromJSON(e.delegationResponse)),t},toJSON(e){let t={};return e.delegationResponse!==void 0&&(t.delegationResponse=e.delegationResponse?Ni.DelegationResponse.toJSON(e.delegationResponse):void 0),t},fromPartial(e){let t=pOe();return e.delegationResponse!==void 0&&e.delegationResponse!==null&&(t.delegationResponse=Ni.DelegationResponse.fromPartial(e.delegationResponse)),t}};function gOe(){return{delegatorAddr:"",validatorAddr:""}}si.QueryUnbondingDelegationRequest={typeUrl:"/cosmos.staking.v1beta1.QueryUnbondingDelegationRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.validatorAddr!==""&&t.uint32(18).string(e.validatorAddr),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=gOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.validatorAddr=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=gOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),t},fromPartial(e){let t=gOe();return t.delegatorAddr=e.delegatorAddr??"",t.validatorAddr=e.validatorAddr??"",t}};function _Oe(){return{unbond:Ni.UnbondingDelegation.fromPartial({})}}si.QueryUnbondingDelegationResponse={typeUrl:"/cosmos.staking.v1beta1.QueryUnbondingDelegationResponse",encode(e,t=Yn.BinaryWriter.create()){return e.unbond!==void 0&&Ni.UnbondingDelegation.encode(e.unbond,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_Oe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.unbond=Ni.UnbondingDelegation.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=_Oe();return(0,fs.isSet)(e.unbond)&&(t.unbond=Ni.UnbondingDelegation.fromJSON(e.unbond)),t},toJSON(e){let t={};return e.unbond!==void 0&&(t.unbond=e.unbond?Ni.UnbondingDelegation.toJSON(e.unbond):void 0),t},fromPartial(e){let t=_Oe();return e.unbond!==void 0&&e.unbond!==null&&(t.unbond=Ni.UnbondingDelegation.fromPartial(e.unbond)),t}};function mOe(){return{delegatorAddr:"",pagination:void 0}}si.QueryDelegatorDelegationsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=mOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=mOe();return t.delegatorAddr=e.delegatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function yOe(){return{delegationResponses:[],pagination:void 0}}si.QueryDelegatorDelegationsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.delegationResponses)Ni.DelegationResponse.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=yOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegationResponses.push(Ni.DelegationResponse.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=yOe();return Array.isArray(e?.delegationResponses)&&(t.delegationResponses=e.delegationResponses.map(r=>Ni.DelegationResponse.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegationResponses?t.delegationResponses=e.delegationResponses.map(r=>r?Ni.DelegationResponse.toJSON(r):void 0):t.delegationResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=yOe();return t.delegationResponses=e.delegationResponses?.map(r=>Ni.DelegationResponse.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function bOe(){return{delegatorAddr:"",pagination:void 0}}si.QueryDelegatorUnbondingDelegationsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=bOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=bOe();return t.delegatorAddr=e.delegatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function EOe(){return{unbondingResponses:[],pagination:void 0}}si.QueryDelegatorUnbondingDelegationsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.unbondingResponses)Ni.UnbondingDelegation.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=EOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.unbondingResponses.push(Ni.UnbondingDelegation.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=EOe();return Array.isArray(e?.unbondingResponses)&&(t.unbondingResponses=e.unbondingResponses.map(r=>Ni.UnbondingDelegation.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.unbondingResponses?t.unbondingResponses=e.unbondingResponses.map(r=>r?Ni.UnbondingDelegation.toJSON(r):void 0):t.unbondingResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=EOe();return t.unbondingResponses=e.unbondingResponses?.map(r=>Ni.UnbondingDelegation.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function vOe(){return{delegatorAddr:"",srcValidatorAddr:"",dstValidatorAddr:"",pagination:void 0}}si.QueryRedelegationsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryRedelegationsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.srcValidatorAddr!==""&&t.uint32(18).string(e.srcValidatorAddr),e.dstValidatorAddr!==""&&t.uint32(26).string(e.dstValidatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.srcValidatorAddr=r.string();break;case 3:n.dstValidatorAddr=r.string();break;case 4:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=vOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.srcValidatorAddr)&&(t.srcValidatorAddr=String(e.srcValidatorAddr)),(0,fs.isSet)(e.dstValidatorAddr)&&(t.dstValidatorAddr=String(e.dstValidatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.srcValidatorAddr!==void 0&&(t.srcValidatorAddr=e.srcValidatorAddr),e.dstValidatorAddr!==void 0&&(t.dstValidatorAddr=e.dstValidatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=vOe();return t.delegatorAddr=e.delegatorAddr??"",t.srcValidatorAddr=e.srcValidatorAddr??"",t.dstValidatorAddr=e.dstValidatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function ROe(){return{redelegationResponses:[],pagination:void 0}}si.QueryRedelegationsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryRedelegationsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.redelegationResponses)Ni.RedelegationResponse.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ROe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.redelegationResponses.push(Ni.RedelegationResponse.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ROe();return Array.isArray(e?.redelegationResponses)&&(t.redelegationResponses=e.redelegationResponses.map(r=>Ni.RedelegationResponse.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.redelegationResponses?t.redelegationResponses=e.redelegationResponses.map(r=>r?Ni.RedelegationResponse.toJSON(r):void 0):t.redelegationResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=ROe();return t.redelegationResponses=e.redelegationResponses?.map(r=>Ni.RedelegationResponse.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function SOe(){return{delegatorAddr:"",pagination:void 0}}si.QueryDelegatorValidatorsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.pagination!==void 0&&Ui.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=SOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.pagination=Ui.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=SOe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=SOe();return t.delegatorAddr=e.delegatorAddr??"",e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageRequest.fromPartial(e.pagination)),t}};function IOe(){return{validators:[],pagination:void 0}}si.QueryDelegatorValidatorsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse",encode(e,t=Yn.BinaryWriter.create()){for(let r of e.validators)Ni.Validator.encode(r,t.uint32(10).fork()).ldelim();return e.pagination!==void 0&&Ui.PageResponse.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=IOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.validators.push(Ni.Validator.decode(r,r.uint32()));break;case 2:n.pagination=Ui.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=IOe();return Array.isArray(e?.validators)&&(t.validators=e.validators.map(r=>Ni.Validator.fromJSON(r))),(0,fs.isSet)(e.pagination)&&(t.pagination=Ui.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.validators?t.validators=e.validators.map(r=>r?Ni.Validator.toJSON(r):void 0):t.validators=[],e.pagination!==void 0&&(t.pagination=e.pagination?Ui.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=IOe();return t.validators=e.validators?.map(r=>Ni.Validator.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=Ui.PageResponse.fromPartial(e.pagination)),t}};function COe(){return{delegatorAddr:"",validatorAddr:""}}si.QueryDelegatorValidatorRequest={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorValidatorRequest",encode(e,t=Yn.BinaryWriter.create()){return e.delegatorAddr!==""&&t.uint32(10).string(e.delegatorAddr),e.validatorAddr!==""&&t.uint32(18).string(e.validatorAddr),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=COe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.delegatorAddr=r.string();break;case 2:n.validatorAddr=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=COe();return(0,fs.isSet)(e.delegatorAddr)&&(t.delegatorAddr=String(e.delegatorAddr)),(0,fs.isSet)(e.validatorAddr)&&(t.validatorAddr=String(e.validatorAddr)),t},toJSON(e){let t={};return e.delegatorAddr!==void 0&&(t.delegatorAddr=e.delegatorAddr),e.validatorAddr!==void 0&&(t.validatorAddr=e.validatorAddr),t},fromPartial(e){let t=COe();return t.delegatorAddr=e.delegatorAddr??"",t.validatorAddr=e.validatorAddr??"",t}};function wOe(){return{validator:Ni.Validator.fromPartial({})}}si.QueryDelegatorValidatorResponse={typeUrl:"/cosmos.staking.v1beta1.QueryDelegatorValidatorResponse",encode(e,t=Yn.BinaryWriter.create()){return e.validator!==void 0&&Ni.Validator.encode(e.validator,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=wOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.validator=Ni.Validator.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=wOe();return(0,fs.isSet)(e.validator)&&(t.validator=Ni.Validator.fromJSON(e.validator)),t},toJSON(e){let t={};return e.validator!==void 0&&(t.validator=e.validator?Ni.Validator.toJSON(e.validator):void 0),t},fromPartial(e){let t=wOe();return e.validator!==void 0&&e.validator!==null&&(t.validator=Ni.Validator.fromPartial(e.validator)),t}};function OOe(){return{height:BigInt(0)}}si.QueryHistoricalInfoRequest={typeUrl:"/cosmos.staking.v1beta1.QueryHistoricalInfoRequest",encode(e,t=Yn.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).int64(e.height),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=OOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.height=r.int64():r.skipType(o&7)}return n},fromJSON(e){let t=OOe();return(0,fs.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),t},fromPartial(e){let t=OOe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t}};function NOe(){return{hist:void 0}}si.QueryHistoricalInfoResponse={typeUrl:"/cosmos.staking.v1beta1.QueryHistoricalInfoResponse",encode(e,t=Yn.BinaryWriter.create()){return e.hist!==void 0&&Ni.HistoricalInfo.encode(e.hist,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=NOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.hist=Ni.HistoricalInfo.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=NOe();return(0,fs.isSet)(e.hist)&&(t.hist=Ni.HistoricalInfo.fromJSON(e.hist)),t},toJSON(e){let t={};return e.hist!==void 0&&(t.hist=e.hist?Ni.HistoricalInfo.toJSON(e.hist):void 0),t},fromPartial(e){let t=NOe();return e.hist!==void 0&&e.hist!==null&&(t.hist=Ni.HistoricalInfo.fromPartial(e.hist)),t}};function xOe(){return{}}si.QueryPoolRequest={typeUrl:"/cosmos.staking.v1beta1.QueryPoolRequest",encode(e,t=Yn.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=xOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return xOe()},toJSON(e){return{}},fromPartial(e){return xOe()}};function TOe(){return{pool:Ni.Pool.fromPartial({})}}si.QueryPoolResponse={typeUrl:"/cosmos.staking.v1beta1.QueryPoolResponse",encode(e,t=Yn.BinaryWriter.create()){return e.pool!==void 0&&Ni.Pool.encode(e.pool,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=TOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.pool=Ni.Pool.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=TOe();return(0,fs.isSet)(e.pool)&&(t.pool=Ni.Pool.fromJSON(e.pool)),t},toJSON(e){let t={};return e.pool!==void 0&&(t.pool=e.pool?Ni.Pool.toJSON(e.pool):void 0),t},fromPartial(e){let t=TOe();return e.pool!==void 0&&e.pool!==null&&(t.pool=Ni.Pool.fromPartial(e.pool)),t}};function BOe(){return{}}si.QueryParamsRequest={typeUrl:"/cosmos.staking.v1beta1.QueryParamsRequest",encode(e,t=Yn.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=BOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return BOe()},toJSON(e){return{}},fromPartial(e){return BOe()}};function MOe(){return{params:Ni.Params.fromPartial({})}}si.QueryParamsResponse={typeUrl:"/cosmos.staking.v1beta1.QueryParamsResponse",encode(e,t=Yn.BinaryWriter.create()){return e.params!==void 0&&Ni.Params.encode(e.params,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof Yn.BinaryReader?e:new Yn.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=MOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.params=Ni.Params.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=MOe();return(0,fs.isSet)(e.params)&&(t.params=Ni.Params.fromJSON(e.params)),t},toJSON(e){let t={};return e.params!==void 0&&(t.params=e.params?Ni.Params.toJSON(e.params):void 0),t},fromPartial(e){let t=MOe();return e.params!==void 0&&e.params!==null&&(t.params=Ni.Params.fromPartial(e.params)),t}};var DOe=class{constructor(t){this.rpc=t,this.Validators=this.Validators.bind(this),this.Validator=this.Validator.bind(this),this.ValidatorDelegations=this.ValidatorDelegations.bind(this),this.ValidatorUnbondingDelegations=this.ValidatorUnbondingDelegations.bind(this),this.Delegation=this.Delegation.bind(this),this.UnbondingDelegation=this.UnbondingDelegation.bind(this),this.DelegatorDelegations=this.DelegatorDelegations.bind(this),this.DelegatorUnbondingDelegations=this.DelegatorUnbondingDelegations.bind(this),this.Redelegations=this.Redelegations.bind(this),this.DelegatorValidators=this.DelegatorValidators.bind(this),this.DelegatorValidator=this.DelegatorValidator.bind(this),this.HistoricalInfo=this.HistoricalInfo.bind(this),this.Pool=this.Pool.bind(this),this.Params=this.Params.bind(this)}Validators(t){let r=si.QueryValidatorsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Validators",r).then(n=>si.QueryValidatorsResponse.decode(new Yn.BinaryReader(n)))}Validator(t){let r=si.QueryValidatorRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Validator",r).then(n=>si.QueryValidatorResponse.decode(new Yn.BinaryReader(n)))}ValidatorDelegations(t){let r=si.QueryValidatorDelegationsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","ValidatorDelegations",r).then(n=>si.QueryValidatorDelegationsResponse.decode(new Yn.BinaryReader(n)))}ValidatorUnbondingDelegations(t){let r=si.QueryValidatorUnbondingDelegationsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","ValidatorUnbondingDelegations",r).then(n=>si.QueryValidatorUnbondingDelegationsResponse.decode(new Yn.BinaryReader(n)))}Delegation(t){let r=si.QueryDelegationRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Delegation",r).then(n=>si.QueryDelegationResponse.decode(new Yn.BinaryReader(n)))}UnbondingDelegation(t){let r=si.QueryUnbondingDelegationRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","UnbondingDelegation",r).then(n=>si.QueryUnbondingDelegationResponse.decode(new Yn.BinaryReader(n)))}DelegatorDelegations(t){let r=si.QueryDelegatorDelegationsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","DelegatorDelegations",r).then(n=>si.QueryDelegatorDelegationsResponse.decode(new Yn.BinaryReader(n)))}DelegatorUnbondingDelegations(t){let r=si.QueryDelegatorUnbondingDelegationsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","DelegatorUnbondingDelegations",r).then(n=>si.QueryDelegatorUnbondingDelegationsResponse.decode(new Yn.BinaryReader(n)))}Redelegations(t){let r=si.QueryRedelegationsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Redelegations",r).then(n=>si.QueryRedelegationsResponse.decode(new Yn.BinaryReader(n)))}DelegatorValidators(t){let r=si.QueryDelegatorValidatorsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","DelegatorValidators",r).then(n=>si.QueryDelegatorValidatorsResponse.decode(new Yn.BinaryReader(n)))}DelegatorValidator(t){let r=si.QueryDelegatorValidatorRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","DelegatorValidator",r).then(n=>si.QueryDelegatorValidatorResponse.decode(new Yn.BinaryReader(n)))}HistoricalInfo(t){let r=si.QueryHistoricalInfoRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","HistoricalInfo",r).then(n=>si.QueryHistoricalInfoResponse.decode(new Yn.BinaryReader(n)))}Pool(t={}){let r=si.QueryPoolRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Pool",r).then(n=>si.QueryPoolResponse.decode(new Yn.BinaryReader(n)))}Params(t={}){let r=si.QueryParamsRequest.encode(t).finish();return this.rpc.request("cosmos.staking.v1beta1.Query","Params",r).then(n=>si.QueryParamsResponse.decode(new Yn.BinaryReader(n)))}};si.QueryClientImpl=DOe});var Lyt=ir(dte=>{"use strict";J();K();z();Object.defineProperty(dte,"__esModule",{value:!0});dte.setupStakingExtension=void 0;var v1n=Pyt(),A8=ep();function R1n(e){let t=(0,A8.createProtobufRpcClient)(e),r=new v1n.QueryClientImpl(t);return{staking:{delegation:async(i,n)=>await r.Delegation({delegatorAddr:i,validatorAddr:n}),delegatorDelegations:async(i,n)=>await r.DelegatorDelegations({delegatorAddr:i,pagination:(0,A8.createPagination)(n)}),delegatorUnbondingDelegations:async(i,n)=>await r.DelegatorUnbondingDelegations({delegatorAddr:i,pagination:(0,A8.createPagination)(n)}),delegatorValidator:async(i,n)=>await r.DelegatorValidator({delegatorAddr:i,validatorAddr:n}),delegatorValidators:async(i,n)=>await r.DelegatorValidators({delegatorAddr:i,pagination:(0,A8.createPagination)(n)}),historicalInfo:async i=>await r.HistoricalInfo({height:BigInt(i)}),params:async()=>await r.Params({}),pool:async()=>await r.Pool({}),redelegations:async(i,n,o,d)=>await r.Redelegations({delegatorAddr:i,srcValidatorAddr:n,dstValidatorAddr:o,pagination:(0,A8.createPagination)(d)}),unbondingDelegation:async(i,n)=>await r.UnbondingDelegation({delegatorAddr:i,validatorAddr:n}),validator:async i=>await r.Validator({validatorAddr:i}),validatorDelegations:async(i,n)=>await r.ValidatorDelegations({validatorAddr:i,pagination:(0,A8.createPagination)(n)}),validators:async(i,n)=>await r.Validators({status:i,pagination:(0,A8.createPagination)(n)}),validatorUnbondingDelegations:async(i,n)=>await r.ValidatorUnbondingDelegations({validatorAddr:i,pagination:(0,A8.createPagination)(n)})}}}dte.setupStakingExtension=R1n});var JOe=ir(uo=>{"use strict";J();K();z();Object.defineProperty(uo,"__esModule",{value:!0});uo.SearchTxsResult=uo.TxMsgData=uo.MsgData=uo.SimulationResponse=uo.Result=uo.GasInfo=uo.Attribute=uo.StringEvent=uo.ABCIMessageLog=uo.TxResponse=uo.protobufPackage=void 0;var lp=ru(),KE=E5e(),Vc=Qi(),sc=Hi();uo.protobufPackage="cosmos.base.abci.v1beta1";function kOe(){return{height:BigInt(0),txhash:"",codespace:"",code:0,data:"",rawLog:"",logs:[],info:"",gasWanted:BigInt(0),gasUsed:BigInt(0),tx:void 0,timestamp:"",events:[]}}uo.TxResponse={typeUrl:"/cosmos.base.abci.v1beta1.TxResponse",encode(e,t=Vc.BinaryWriter.create()){e.height!==BigInt(0)&&t.uint32(8).int64(e.height),e.txhash!==""&&t.uint32(18).string(e.txhash),e.codespace!==""&&t.uint32(26).string(e.codespace),e.code!==0&&t.uint32(32).uint32(e.code),e.data!==""&&t.uint32(42).string(e.data),e.rawLog!==""&&t.uint32(50).string(e.rawLog);for(let r of e.logs)uo.ABCIMessageLog.encode(r,t.uint32(58).fork()).ldelim();e.info!==""&&t.uint32(66).string(e.info),e.gasWanted!==BigInt(0)&&t.uint32(72).int64(e.gasWanted),e.gasUsed!==BigInt(0)&&t.uint32(80).int64(e.gasUsed),e.tx!==void 0&&lp.Any.encode(e.tx,t.uint32(90).fork()).ldelim(),e.timestamp!==""&&t.uint32(98).string(e.timestamp);for(let r of e.events)KE.Event.encode(r,t.uint32(106).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=kOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.int64();break;case 2:n.txhash=r.string();break;case 3:n.codespace=r.string();break;case 4:n.code=r.uint32();break;case 5:n.data=r.string();break;case 6:n.rawLog=r.string();break;case 7:n.logs.push(uo.ABCIMessageLog.decode(r,r.uint32()));break;case 8:n.info=r.string();break;case 9:n.gasWanted=r.int64();break;case 10:n.gasUsed=r.int64();break;case 11:n.tx=lp.Any.decode(r,r.uint32());break;case 12:n.timestamp=r.string();break;case 13:n.events.push(KE.Event.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=kOe();return(0,sc.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,sc.isSet)(e.txhash)&&(t.txhash=String(e.txhash)),(0,sc.isSet)(e.codespace)&&(t.codespace=String(e.codespace)),(0,sc.isSet)(e.code)&&(t.code=Number(e.code)),(0,sc.isSet)(e.data)&&(t.data=String(e.data)),(0,sc.isSet)(e.rawLog)&&(t.rawLog=String(e.rawLog)),Array.isArray(e?.logs)&&(t.logs=e.logs.map(r=>uo.ABCIMessageLog.fromJSON(r))),(0,sc.isSet)(e.info)&&(t.info=String(e.info)),(0,sc.isSet)(e.gasWanted)&&(t.gasWanted=BigInt(e.gasWanted.toString())),(0,sc.isSet)(e.gasUsed)&&(t.gasUsed=BigInt(e.gasUsed.toString())),(0,sc.isSet)(e.tx)&&(t.tx=lp.Any.fromJSON(e.tx)),(0,sc.isSet)(e.timestamp)&&(t.timestamp=String(e.timestamp)),Array.isArray(e?.events)&&(t.events=e.events.map(r=>KE.Event.fromJSON(r))),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.txhash!==void 0&&(t.txhash=e.txhash),e.codespace!==void 0&&(t.codespace=e.codespace),e.code!==void 0&&(t.code=Math.round(e.code)),e.data!==void 0&&(t.data=e.data),e.rawLog!==void 0&&(t.rawLog=e.rawLog),e.logs?t.logs=e.logs.map(r=>r?uo.ABCIMessageLog.toJSON(r):void 0):t.logs=[],e.info!==void 0&&(t.info=e.info),e.gasWanted!==void 0&&(t.gasWanted=(e.gasWanted||BigInt(0)).toString()),e.gasUsed!==void 0&&(t.gasUsed=(e.gasUsed||BigInt(0)).toString()),e.tx!==void 0&&(t.tx=e.tx?lp.Any.toJSON(e.tx):void 0),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.events?t.events=e.events.map(r=>r?KE.Event.toJSON(r):void 0):t.events=[],t},fromPartial(e){let t=kOe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),t.txhash=e.txhash??"",t.codespace=e.codespace??"",t.code=e.code??0,t.data=e.data??"",t.rawLog=e.rawLog??"",t.logs=e.logs?.map(r=>uo.ABCIMessageLog.fromPartial(r))||[],t.info=e.info??"",e.gasWanted!==void 0&&e.gasWanted!==null&&(t.gasWanted=BigInt(e.gasWanted.toString())),e.gasUsed!==void 0&&e.gasUsed!==null&&(t.gasUsed=BigInt(e.gasUsed.toString())),e.tx!==void 0&&e.tx!==null&&(t.tx=lp.Any.fromPartial(e.tx)),t.timestamp=e.timestamp??"",t.events=e.events?.map(r=>KE.Event.fromPartial(r))||[],t}};function POe(){return{msgIndex:0,log:"",events:[]}}uo.ABCIMessageLog={typeUrl:"/cosmos.base.abci.v1beta1.ABCIMessageLog",encode(e,t=Vc.BinaryWriter.create()){e.msgIndex!==0&&t.uint32(8).uint32(e.msgIndex),e.log!==""&&t.uint32(18).string(e.log);for(let r of e.events)uo.StringEvent.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=POe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.msgIndex=r.uint32();break;case 2:n.log=r.string();break;case 3:n.events.push(uo.StringEvent.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=POe();return(0,sc.isSet)(e.msgIndex)&&(t.msgIndex=Number(e.msgIndex)),(0,sc.isSet)(e.log)&&(t.log=String(e.log)),Array.isArray(e?.events)&&(t.events=e.events.map(r=>uo.StringEvent.fromJSON(r))),t},toJSON(e){let t={};return e.msgIndex!==void 0&&(t.msgIndex=Math.round(e.msgIndex)),e.log!==void 0&&(t.log=e.log),e.events?t.events=e.events.map(r=>r?uo.StringEvent.toJSON(r):void 0):t.events=[],t},fromPartial(e){let t=POe();return t.msgIndex=e.msgIndex??0,t.log=e.log??"",t.events=e.events?.map(r=>uo.StringEvent.fromPartial(r))||[],t}};function LOe(){return{type:"",attributes:[]}}uo.StringEvent={typeUrl:"/cosmos.base.abci.v1beta1.StringEvent",encode(e,t=Vc.BinaryWriter.create()){e.type!==""&&t.uint32(10).string(e.type);for(let r of e.attributes)uo.Attribute.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=LOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.type=r.string();break;case 2:n.attributes.push(uo.Attribute.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=LOe();return(0,sc.isSet)(e.type)&&(t.type=String(e.type)),Array.isArray(e?.attributes)&&(t.attributes=e.attributes.map(r=>uo.Attribute.fromJSON(r))),t},toJSON(e){let t={};return e.type!==void 0&&(t.type=e.type),e.attributes?t.attributes=e.attributes.map(r=>r?uo.Attribute.toJSON(r):void 0):t.attributes=[],t},fromPartial(e){let t=LOe();return t.type=e.type??"",t.attributes=e.attributes?.map(r=>uo.Attribute.fromPartial(r))||[],t}};function UOe(){return{key:"",value:""}}uo.Attribute={typeUrl:"/cosmos.base.abci.v1beta1.Attribute",encode(e,t=Vc.BinaryWriter.create()){return e.key!==""&&t.uint32(10).string(e.key),e.value!==""&&t.uint32(18).string(e.value),t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=UOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.key=r.string();break;case 2:n.value=r.string();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=UOe();return(0,sc.isSet)(e.key)&&(t.key=String(e.key)),(0,sc.isSet)(e.value)&&(t.value=String(e.value)),t},toJSON(e){let t={};return e.key!==void 0&&(t.key=e.key),e.value!==void 0&&(t.value=e.value),t},fromPartial(e){let t=UOe();return t.key=e.key??"",t.value=e.value??"",t}};function FOe(){return{gasWanted:BigInt(0),gasUsed:BigInt(0)}}uo.GasInfo={typeUrl:"/cosmos.base.abci.v1beta1.GasInfo",encode(e,t=Vc.BinaryWriter.create()){return e.gasWanted!==BigInt(0)&&t.uint32(8).uint64(e.gasWanted),e.gasUsed!==BigInt(0)&&t.uint32(16).uint64(e.gasUsed),t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=FOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.gasWanted=r.uint64();break;case 2:n.gasUsed=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=FOe();return(0,sc.isSet)(e.gasWanted)&&(t.gasWanted=BigInt(e.gasWanted.toString())),(0,sc.isSet)(e.gasUsed)&&(t.gasUsed=BigInt(e.gasUsed.toString())),t},toJSON(e){let t={};return e.gasWanted!==void 0&&(t.gasWanted=(e.gasWanted||BigInt(0)).toString()),e.gasUsed!==void 0&&(t.gasUsed=(e.gasUsed||BigInt(0)).toString()),t},fromPartial(e){let t=FOe();return e.gasWanted!==void 0&&e.gasWanted!==null&&(t.gasWanted=BigInt(e.gasWanted.toString())),e.gasUsed!==void 0&&e.gasUsed!==null&&(t.gasUsed=BigInt(e.gasUsed.toString())),t}};function QOe(){return{data:new Uint8Array,log:"",events:[],msgResponses:[]}}uo.Result={typeUrl:"/cosmos.base.abci.v1beta1.Result",encode(e,t=Vc.BinaryWriter.create()){e.data.length!==0&&t.uint32(10).bytes(e.data),e.log!==""&&t.uint32(18).string(e.log);for(let r of e.events)KE.Event.encode(r,t.uint32(26).fork()).ldelim();for(let r of e.msgResponses)lp.Any.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=QOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.data=r.bytes();break;case 2:n.log=r.string();break;case 3:n.events.push(KE.Event.decode(r,r.uint32()));break;case 4:n.msgResponses.push(lp.Any.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=QOe();return(0,sc.isSet)(e.data)&&(t.data=(0,sc.bytesFromBase64)(e.data)),(0,sc.isSet)(e.log)&&(t.log=String(e.log)),Array.isArray(e?.events)&&(t.events=e.events.map(r=>KE.Event.fromJSON(r))),Array.isArray(e?.msgResponses)&&(t.msgResponses=e.msgResponses.map(r=>lp.Any.fromJSON(r))),t},toJSON(e){let t={};return e.data!==void 0&&(t.data=(0,sc.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),e.log!==void 0&&(t.log=e.log),e.events?t.events=e.events.map(r=>r?KE.Event.toJSON(r):void 0):t.events=[],e.msgResponses?t.msgResponses=e.msgResponses.map(r=>r?lp.Any.toJSON(r):void 0):t.msgResponses=[],t},fromPartial(e){let t=QOe();return t.data=e.data??new Uint8Array,t.log=e.log??"",t.events=e.events?.map(r=>KE.Event.fromPartial(r))||[],t.msgResponses=e.msgResponses?.map(r=>lp.Any.fromPartial(r))||[],t}};function HOe(){return{gasInfo:uo.GasInfo.fromPartial({}),result:void 0}}uo.SimulationResponse={typeUrl:"/cosmos.base.abci.v1beta1.SimulationResponse",encode(e,t=Vc.BinaryWriter.create()){return e.gasInfo!==void 0&&uo.GasInfo.encode(e.gasInfo,t.uint32(10).fork()).ldelim(),e.result!==void 0&&uo.Result.encode(e.result,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=HOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.gasInfo=uo.GasInfo.decode(r,r.uint32());break;case 2:n.result=uo.Result.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=HOe();return(0,sc.isSet)(e.gasInfo)&&(t.gasInfo=uo.GasInfo.fromJSON(e.gasInfo)),(0,sc.isSet)(e.result)&&(t.result=uo.Result.fromJSON(e.result)),t},toJSON(e){let t={};return e.gasInfo!==void 0&&(t.gasInfo=e.gasInfo?uo.GasInfo.toJSON(e.gasInfo):void 0),e.result!==void 0&&(t.result=e.result?uo.Result.toJSON(e.result):void 0),t},fromPartial(e){let t=HOe();return e.gasInfo!==void 0&&e.gasInfo!==null&&(t.gasInfo=uo.GasInfo.fromPartial(e.gasInfo)),e.result!==void 0&&e.result!==null&&(t.result=uo.Result.fromPartial(e.result)),t}};function GOe(){return{msgType:"",data:new Uint8Array}}uo.MsgData={typeUrl:"/cosmos.base.abci.v1beta1.MsgData",encode(e,t=Vc.BinaryWriter.create()){return e.msgType!==""&&t.uint32(10).string(e.msgType),e.data.length!==0&&t.uint32(18).bytes(e.data),t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=GOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.msgType=r.string();break;case 2:n.data=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=GOe();return(0,sc.isSet)(e.msgType)&&(t.msgType=String(e.msgType)),(0,sc.isSet)(e.data)&&(t.data=(0,sc.bytesFromBase64)(e.data)),t},toJSON(e){let t={};return e.msgType!==void 0&&(t.msgType=e.msgType),e.data!==void 0&&(t.data=(0,sc.base64FromBytes)(e.data!==void 0?e.data:new Uint8Array)),t},fromPartial(e){let t=GOe();return t.msgType=e.msgType??"",t.data=e.data??new Uint8Array,t}};function qOe(){return{data:[],msgResponses:[]}}uo.TxMsgData={typeUrl:"/cosmos.base.abci.v1beta1.TxMsgData",encode(e,t=Vc.BinaryWriter.create()){for(let r of e.data)uo.MsgData.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.msgResponses)lp.Any.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=qOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.data.push(uo.MsgData.decode(r,r.uint32()));break;case 2:n.msgResponses.push(lp.Any.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=qOe();return Array.isArray(e?.data)&&(t.data=e.data.map(r=>uo.MsgData.fromJSON(r))),Array.isArray(e?.msgResponses)&&(t.msgResponses=e.msgResponses.map(r=>lp.Any.fromJSON(r))),t},toJSON(e){let t={};return e.data?t.data=e.data.map(r=>r?uo.MsgData.toJSON(r):void 0):t.data=[],e.msgResponses?t.msgResponses=e.msgResponses.map(r=>r?lp.Any.toJSON(r):void 0):t.msgResponses=[],t},fromPartial(e){let t=qOe();return t.data=e.data?.map(r=>uo.MsgData.fromPartial(r))||[],t.msgResponses=e.msgResponses?.map(r=>lp.Any.fromPartial(r))||[],t}};function VOe(){return{totalCount:BigInt(0),count:BigInt(0),pageNumber:BigInt(0),pageTotal:BigInt(0),limit:BigInt(0),txs:[]}}uo.SearchTxsResult={typeUrl:"/cosmos.base.abci.v1beta1.SearchTxsResult",encode(e,t=Vc.BinaryWriter.create()){e.totalCount!==BigInt(0)&&t.uint32(8).uint64(e.totalCount),e.count!==BigInt(0)&&t.uint32(16).uint64(e.count),e.pageNumber!==BigInt(0)&&t.uint32(24).uint64(e.pageNumber),e.pageTotal!==BigInt(0)&&t.uint32(32).uint64(e.pageTotal),e.limit!==BigInt(0)&&t.uint32(40).uint64(e.limit);for(let r of e.txs)uo.TxResponse.encode(r,t.uint32(50).fork()).ldelim();return t},decode(e,t){let r=e instanceof Vc.BinaryReader?e:new Vc.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=VOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.totalCount=r.uint64();break;case 2:n.count=r.uint64();break;case 3:n.pageNumber=r.uint64();break;case 4:n.pageTotal=r.uint64();break;case 5:n.limit=r.uint64();break;case 6:n.txs.push(uo.TxResponse.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=VOe();return(0,sc.isSet)(e.totalCount)&&(t.totalCount=BigInt(e.totalCount.toString())),(0,sc.isSet)(e.count)&&(t.count=BigInt(e.count.toString())),(0,sc.isSet)(e.pageNumber)&&(t.pageNumber=BigInt(e.pageNumber.toString())),(0,sc.isSet)(e.pageTotal)&&(t.pageTotal=BigInt(e.pageTotal.toString())),(0,sc.isSet)(e.limit)&&(t.limit=BigInt(e.limit.toString())),Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>uo.TxResponse.fromJSON(r))),t},toJSON(e){let t={};return e.totalCount!==void 0&&(t.totalCount=(e.totalCount||BigInt(0)).toString()),e.count!==void 0&&(t.count=(e.count||BigInt(0)).toString()),e.pageNumber!==void 0&&(t.pageNumber=(e.pageNumber||BigInt(0)).toString()),e.pageTotal!==void 0&&(t.pageTotal=(e.pageTotal||BigInt(0)).toString()),e.limit!==void 0&&(t.limit=(e.limit||BigInt(0)).toString()),e.txs?t.txs=e.txs.map(r=>r?uo.TxResponse.toJSON(r):void 0):t.txs=[],t},fromPartial(e){let t=VOe();return e.totalCount!==void 0&&e.totalCount!==null&&(t.totalCount=BigInt(e.totalCount.toString())),e.count!==void 0&&e.count!==null&&(t.count=BigInt(e.count.toString())),e.pageNumber!==void 0&&e.pageNumber!==null&&(t.pageNumber=BigInt(e.pageNumber.toString())),e.pageTotal!==void 0&&e.pageTotal!==null&&(t.pageTotal=BigInt(e.pageTotal.toString())),e.limit!==void 0&&e.limit!==null&&(t.limit=BigInt(e.limit.toString())),t.txs=e.txs?.map(r=>uo.TxResponse.fromPartial(r))||[],t}}});var Uyt=ir(Qu=>{"use strict";J();K();z();Object.defineProperty(Qu,"__esModule",{value:!0});Qu.EvidenceList=Qu.LightClientAttackEvidence=Qu.DuplicateVoteEvidence=Qu.Evidence=Qu.protobufPackage=void 0;var hp=C5(),p8=u1(),gQ=nte(),F2=Qi(),Ap=Hi();Qu.protobufPackage="tendermint.types";function zOe(){return{duplicateVoteEvidence:void 0,lightClientAttackEvidence:void 0}}Qu.Evidence={typeUrl:"/tendermint.types.Evidence",encode(e,t=F2.BinaryWriter.create()){return e.duplicateVoteEvidence!==void 0&&Qu.DuplicateVoteEvidence.encode(e.duplicateVoteEvidence,t.uint32(10).fork()).ldelim(),e.lightClientAttackEvidence!==void 0&&Qu.LightClientAttackEvidence.encode(e.lightClientAttackEvidence,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof F2.BinaryReader?e:new F2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=zOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.duplicateVoteEvidence=Qu.DuplicateVoteEvidence.decode(r,r.uint32());break;case 2:n.lightClientAttackEvidence=Qu.LightClientAttackEvidence.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=zOe();return(0,Ap.isSet)(e.duplicateVoteEvidence)&&(t.duplicateVoteEvidence=Qu.DuplicateVoteEvidence.fromJSON(e.duplicateVoteEvidence)),(0,Ap.isSet)(e.lightClientAttackEvidence)&&(t.lightClientAttackEvidence=Qu.LightClientAttackEvidence.fromJSON(e.lightClientAttackEvidence)),t},toJSON(e){let t={};return e.duplicateVoteEvidence!==void 0&&(t.duplicateVoteEvidence=e.duplicateVoteEvidence?Qu.DuplicateVoteEvidence.toJSON(e.duplicateVoteEvidence):void 0),e.lightClientAttackEvidence!==void 0&&(t.lightClientAttackEvidence=e.lightClientAttackEvidence?Qu.LightClientAttackEvidence.toJSON(e.lightClientAttackEvidence):void 0),t},fromPartial(e){let t=zOe();return e.duplicateVoteEvidence!==void 0&&e.duplicateVoteEvidence!==null&&(t.duplicateVoteEvidence=Qu.DuplicateVoteEvidence.fromPartial(e.duplicateVoteEvidence)),e.lightClientAttackEvidence!==void 0&&e.lightClientAttackEvidence!==null&&(t.lightClientAttackEvidence=Qu.LightClientAttackEvidence.fromPartial(e.lightClientAttackEvidence)),t}};function KOe(){return{voteA:void 0,voteB:void 0,totalVotingPower:BigInt(0),validatorPower:BigInt(0),timestamp:p8.Timestamp.fromPartial({})}}Qu.DuplicateVoteEvidence={typeUrl:"/tendermint.types.DuplicateVoteEvidence",encode(e,t=F2.BinaryWriter.create()){return e.voteA!==void 0&&hp.Vote.encode(e.voteA,t.uint32(10).fork()).ldelim(),e.voteB!==void 0&&hp.Vote.encode(e.voteB,t.uint32(18).fork()).ldelim(),e.totalVotingPower!==BigInt(0)&&t.uint32(24).int64(e.totalVotingPower),e.validatorPower!==BigInt(0)&&t.uint32(32).int64(e.validatorPower),e.timestamp!==void 0&&p8.Timestamp.encode(e.timestamp,t.uint32(42).fork()).ldelim(),t},decode(e,t){let r=e instanceof F2.BinaryReader?e:new F2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=KOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.voteA=hp.Vote.decode(r,r.uint32());break;case 2:n.voteB=hp.Vote.decode(r,r.uint32());break;case 3:n.totalVotingPower=r.int64();break;case 4:n.validatorPower=r.int64();break;case 5:n.timestamp=p8.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=KOe();return(0,Ap.isSet)(e.voteA)&&(t.voteA=hp.Vote.fromJSON(e.voteA)),(0,Ap.isSet)(e.voteB)&&(t.voteB=hp.Vote.fromJSON(e.voteB)),(0,Ap.isSet)(e.totalVotingPower)&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),(0,Ap.isSet)(e.validatorPower)&&(t.validatorPower=BigInt(e.validatorPower.toString())),(0,Ap.isSet)(e.timestamp)&&(t.timestamp=(0,Ap.fromJsonTimestamp)(e.timestamp)),t},toJSON(e){let t={};return e.voteA!==void 0&&(t.voteA=e.voteA?hp.Vote.toJSON(e.voteA):void 0),e.voteB!==void 0&&(t.voteB=e.voteB?hp.Vote.toJSON(e.voteB):void 0),e.totalVotingPower!==void 0&&(t.totalVotingPower=(e.totalVotingPower||BigInt(0)).toString()),e.validatorPower!==void 0&&(t.validatorPower=(e.validatorPower||BigInt(0)).toString()),e.timestamp!==void 0&&(t.timestamp=(0,Ap.fromTimestamp)(e.timestamp).toISOString()),t},fromPartial(e){let t=KOe();return e.voteA!==void 0&&e.voteA!==null&&(t.voteA=hp.Vote.fromPartial(e.voteA)),e.voteB!==void 0&&e.voteB!==null&&(t.voteB=hp.Vote.fromPartial(e.voteB)),e.totalVotingPower!==void 0&&e.totalVotingPower!==null&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),e.validatorPower!==void 0&&e.validatorPower!==null&&(t.validatorPower=BigInt(e.validatorPower.toString())),e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=p8.Timestamp.fromPartial(e.timestamp)),t}};function $Oe(){return{conflictingBlock:void 0,commonHeight:BigInt(0),byzantineValidators:[],totalVotingPower:BigInt(0),timestamp:p8.Timestamp.fromPartial({})}}Qu.LightClientAttackEvidence={typeUrl:"/tendermint.types.LightClientAttackEvidence",encode(e,t=F2.BinaryWriter.create()){e.conflictingBlock!==void 0&&hp.LightBlock.encode(e.conflictingBlock,t.uint32(10).fork()).ldelim(),e.commonHeight!==BigInt(0)&&t.uint32(16).int64(e.commonHeight);for(let r of e.byzantineValidators)gQ.Validator.encode(r,t.uint32(26).fork()).ldelim();return e.totalVotingPower!==BigInt(0)&&t.uint32(32).int64(e.totalVotingPower),e.timestamp!==void 0&&p8.Timestamp.encode(e.timestamp,t.uint32(42).fork()).ldelim(),t},decode(e,t){let r=e instanceof F2.BinaryReader?e:new F2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=$Oe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.conflictingBlock=hp.LightBlock.decode(r,r.uint32());break;case 2:n.commonHeight=r.int64();break;case 3:n.byzantineValidators.push(gQ.Validator.decode(r,r.uint32()));break;case 4:n.totalVotingPower=r.int64();break;case 5:n.timestamp=p8.Timestamp.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=$Oe();return(0,Ap.isSet)(e.conflictingBlock)&&(t.conflictingBlock=hp.LightBlock.fromJSON(e.conflictingBlock)),(0,Ap.isSet)(e.commonHeight)&&(t.commonHeight=BigInt(e.commonHeight.toString())),Array.isArray(e?.byzantineValidators)&&(t.byzantineValidators=e.byzantineValidators.map(r=>gQ.Validator.fromJSON(r))),(0,Ap.isSet)(e.totalVotingPower)&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),(0,Ap.isSet)(e.timestamp)&&(t.timestamp=(0,Ap.fromJsonTimestamp)(e.timestamp)),t},toJSON(e){let t={};return e.conflictingBlock!==void 0&&(t.conflictingBlock=e.conflictingBlock?hp.LightBlock.toJSON(e.conflictingBlock):void 0),e.commonHeight!==void 0&&(t.commonHeight=(e.commonHeight||BigInt(0)).toString()),e.byzantineValidators?t.byzantineValidators=e.byzantineValidators.map(r=>r?gQ.Validator.toJSON(r):void 0):t.byzantineValidators=[],e.totalVotingPower!==void 0&&(t.totalVotingPower=(e.totalVotingPower||BigInt(0)).toString()),e.timestamp!==void 0&&(t.timestamp=(0,Ap.fromTimestamp)(e.timestamp).toISOString()),t},fromPartial(e){let t=$Oe();return e.conflictingBlock!==void 0&&e.conflictingBlock!==null&&(t.conflictingBlock=hp.LightBlock.fromPartial(e.conflictingBlock)),e.commonHeight!==void 0&&e.commonHeight!==null&&(t.commonHeight=BigInt(e.commonHeight.toString())),t.byzantineValidators=e.byzantineValidators?.map(r=>gQ.Validator.fromPartial(r))||[],e.totalVotingPower!==void 0&&e.totalVotingPower!==null&&(t.totalVotingPower=BigInt(e.totalVotingPower.toString())),e.timestamp!==void 0&&e.timestamp!==null&&(t.timestamp=p8.Timestamp.fromPartial(e.timestamp)),t}};function YOe(){return{evidence:[]}}Qu.EvidenceList={typeUrl:"/tendermint.types.EvidenceList",encode(e,t=F2.BinaryWriter.create()){for(let r of e.evidence)Qu.Evidence.encode(r,t.uint32(10).fork()).ldelim();return t},decode(e,t){let r=e instanceof F2.BinaryReader?e:new F2.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=YOe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.evidence.push(Qu.Evidence.decode(r,r.uint32())):r.skipType(o&7)}return n},fromJSON(e){let t=YOe();return Array.isArray(e?.evidence)&&(t.evidence=e.evidence.map(r=>Qu.Evidence.fromJSON(r))),t},toJSON(e){let t={};return e.evidence?t.evidence=e.evidence.map(r=>r?Qu.Evidence.toJSON(r):void 0):t.evidence=[],t},fromPartial(e){let t=YOe();return t.evidence=e.evidence?.map(r=>Qu.Evidence.fromPartial(r))||[],t}}});var Fyt=ir(k9=>{"use strict";J();K();z();Object.defineProperty(k9,"__esModule",{value:!0});k9.Block=k9.protobufPackage=void 0;var hh=C5(),D9=Uyt(),WOe=Qi(),fte=Hi();k9.protobufPackage="tendermint.types";function XOe(){return{header:hh.Header.fromPartial({}),data:hh.Data.fromPartial({}),evidence:D9.EvidenceList.fromPartial({}),lastCommit:void 0}}k9.Block={typeUrl:"/tendermint.types.Block",encode(e,t=WOe.BinaryWriter.create()){return e.header!==void 0&&hh.Header.encode(e.header,t.uint32(10).fork()).ldelim(),e.data!==void 0&&hh.Data.encode(e.data,t.uint32(18).fork()).ldelim(),e.evidence!==void 0&&D9.EvidenceList.encode(e.evidence,t.uint32(26).fork()).ldelim(),e.lastCommit!==void 0&&hh.Commit.encode(e.lastCommit,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof WOe.BinaryReader?e:new WOe.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=XOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.header=hh.Header.decode(r,r.uint32());break;case 2:n.data=hh.Data.decode(r,r.uint32());break;case 3:n.evidence=D9.EvidenceList.decode(r,r.uint32());break;case 4:n.lastCommit=hh.Commit.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=XOe();return(0,fte.isSet)(e.header)&&(t.header=hh.Header.fromJSON(e.header)),(0,fte.isSet)(e.data)&&(t.data=hh.Data.fromJSON(e.data)),(0,fte.isSet)(e.evidence)&&(t.evidence=D9.EvidenceList.fromJSON(e.evidence)),(0,fte.isSet)(e.lastCommit)&&(t.lastCommit=hh.Commit.fromJSON(e.lastCommit)),t},toJSON(e){let t={};return e.header!==void 0&&(t.header=e.header?hh.Header.toJSON(e.header):void 0),e.data!==void 0&&(t.data=e.data?hh.Data.toJSON(e.data):void 0),e.evidence!==void 0&&(t.evidence=e.evidence?D9.EvidenceList.toJSON(e.evidence):void 0),e.lastCommit!==void 0&&(t.lastCommit=e.lastCommit?hh.Commit.toJSON(e.lastCommit):void 0),t},fromPartial(e){let t=XOe();return e.header!==void 0&&e.header!==null&&(t.header=hh.Header.fromPartial(e.header)),e.data!==void 0&&e.data!==null&&(t.data=hh.Data.fromPartial(e.data)),e.evidence!==void 0&&e.evidence!==null&&(t.evidence=D9.EvidenceList.fromPartial(e.evidence)),e.lastCommit!==void 0&&e.lastCommit!==null&&(t.lastCommit=hh.Commit.fromPartial(e.lastCommit)),t}}});var Vyt=ir(Bi=>{"use strict";J();K();z();Object.defineProperty(Bi,"__esModule",{value:!0});Bi.ServiceClientImpl=Bi.TxDecodeAminoResponse=Bi.TxDecodeAminoRequest=Bi.TxEncodeAminoResponse=Bi.TxEncodeAminoRequest=Bi.TxEncodeResponse=Bi.TxEncodeRequest=Bi.TxDecodeResponse=Bi.TxDecodeRequest=Bi.GetBlockWithTxsResponse=Bi.GetBlockWithTxsRequest=Bi.GetTxResponse=Bi.GetTxRequest=Bi.SimulateResponse=Bi.SimulateRequest=Bi.BroadcastTxResponse=Bi.BroadcastTxRequest=Bi.GetTxsEventResponse=Bi.GetTxsEventRequest=Bi.broadcastModeToJSON=Bi.broadcastModeFromJSON=Bi.BroadcastMode=Bi.orderByToJSON=Bi.orderByFromJSON=Bi.OrderBy=Bi.protobufPackage=void 0;var Jc=RS(),If=jA(),f0=JOe(),_Q=C5(),mQ=Fyt(),to=Qi(),Ja=Hi();Bi.protobufPackage="cosmos.tx.v1beta1";var $E;(function(e){e[e.ORDER_BY_UNSPECIFIED=0]="ORDER_BY_UNSPECIFIED",e[e.ORDER_BY_ASC=1]="ORDER_BY_ASC",e[e.ORDER_BY_DESC=2]="ORDER_BY_DESC",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})($E||(Bi.OrderBy=$E={}));function Qyt(e){switch(e){case 0:case"ORDER_BY_UNSPECIFIED":return $E.ORDER_BY_UNSPECIFIED;case 1:case"ORDER_BY_ASC":return $E.ORDER_BY_ASC;case 2:case"ORDER_BY_DESC":return $E.ORDER_BY_DESC;default:return $E.UNRECOGNIZED}}Bi.orderByFromJSON=Qyt;function Hyt(e){switch(e){case $E.ORDER_BY_UNSPECIFIED:return"ORDER_BY_UNSPECIFIED";case $E.ORDER_BY_ASC:return"ORDER_BY_ASC";case $E.ORDER_BY_DESC:return"ORDER_BY_DESC";case $E.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Bi.orderByToJSON=Hyt;var Q2;(function(e){e[e.BROADCAST_MODE_UNSPECIFIED=0]="BROADCAST_MODE_UNSPECIFIED",e[e.BROADCAST_MODE_BLOCK=1]="BROADCAST_MODE_BLOCK",e[e.BROADCAST_MODE_SYNC=2]="BROADCAST_MODE_SYNC",e[e.BROADCAST_MODE_ASYNC=3]="BROADCAST_MODE_ASYNC",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"})(Q2||(Bi.BroadcastMode=Q2={}));function Gyt(e){switch(e){case 0:case"BROADCAST_MODE_UNSPECIFIED":return Q2.BROADCAST_MODE_UNSPECIFIED;case 1:case"BROADCAST_MODE_BLOCK":return Q2.BROADCAST_MODE_BLOCK;case 2:case"BROADCAST_MODE_SYNC":return Q2.BROADCAST_MODE_SYNC;case 3:case"BROADCAST_MODE_ASYNC":return Q2.BROADCAST_MODE_ASYNC;default:return Q2.UNRECOGNIZED}}Bi.broadcastModeFromJSON=Gyt;function qyt(e){switch(e){case Q2.BROADCAST_MODE_UNSPECIFIED:return"BROADCAST_MODE_UNSPECIFIED";case Q2.BROADCAST_MODE_BLOCK:return"BROADCAST_MODE_BLOCK";case Q2.BROADCAST_MODE_SYNC:return"BROADCAST_MODE_SYNC";case Q2.BROADCAST_MODE_ASYNC:return"BROADCAST_MODE_ASYNC";case Q2.UNRECOGNIZED:default:return"UNRECOGNIZED"}}Bi.broadcastModeToJSON=qyt;function ZOe(){return{events:[],pagination:void 0,orderBy:0,page:BigInt(0),limit:BigInt(0)}}Bi.GetTxsEventRequest={typeUrl:"/cosmos.tx.v1beta1.GetTxsEventRequest",encode(e,t=to.BinaryWriter.create()){for(let r of e.events)t.uint32(10).string(r);return e.pagination!==void 0&&If.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),e.orderBy!==0&&t.uint32(24).int32(e.orderBy),e.page!==BigInt(0)&&t.uint32(32).uint64(e.page),e.limit!==BigInt(0)&&t.uint32(40).uint64(e.limit),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ZOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.events.push(r.string());break;case 2:n.pagination=If.PageRequest.decode(r,r.uint32());break;case 3:n.orderBy=r.int32();break;case 4:n.page=r.uint64();break;case 5:n.limit=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ZOe();return Array.isArray(e?.events)&&(t.events=e.events.map(r=>String(r))),(0,Ja.isSet)(e.pagination)&&(t.pagination=If.PageRequest.fromJSON(e.pagination)),(0,Ja.isSet)(e.orderBy)&&(t.orderBy=Qyt(e.orderBy)),(0,Ja.isSet)(e.page)&&(t.page=BigInt(e.page.toString())),(0,Ja.isSet)(e.limit)&&(t.limit=BigInt(e.limit.toString())),t},toJSON(e){let t={};return e.events?t.events=e.events.map(r=>r):t.events=[],e.pagination!==void 0&&(t.pagination=e.pagination?If.PageRequest.toJSON(e.pagination):void 0),e.orderBy!==void 0&&(t.orderBy=Hyt(e.orderBy)),e.page!==void 0&&(t.page=(e.page||BigInt(0)).toString()),e.limit!==void 0&&(t.limit=(e.limit||BigInt(0)).toString()),t},fromPartial(e){let t=ZOe();return t.events=e.events?.map(r=>r)||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=If.PageRequest.fromPartial(e.pagination)),t.orderBy=e.orderBy??0,e.page!==void 0&&e.page!==null&&(t.page=BigInt(e.page.toString())),e.limit!==void 0&&e.limit!==null&&(t.limit=BigInt(e.limit.toString())),t}};function jOe(){return{txs:[],txResponses:[],pagination:void 0,total:BigInt(0)}}Bi.GetTxsEventResponse={typeUrl:"/cosmos.tx.v1beta1.GetTxsEventResponse",encode(e,t=to.BinaryWriter.create()){for(let r of e.txs)Jc.Tx.encode(r,t.uint32(10).fork()).ldelim();for(let r of e.txResponses)f0.TxResponse.encode(r,t.uint32(18).fork()).ldelim();return e.pagination!==void 0&&If.PageResponse.encode(e.pagination,t.uint32(26).fork()).ldelim(),e.total!==BigInt(0)&&t.uint32(32).uint64(e.total),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=jOe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.txs.push(Jc.Tx.decode(r,r.uint32()));break;case 2:n.txResponses.push(f0.TxResponse.decode(r,r.uint32()));break;case 3:n.pagination=If.PageResponse.decode(r,r.uint32());break;case 4:n.total=r.uint64();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=jOe();return Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>Jc.Tx.fromJSON(r))),Array.isArray(e?.txResponses)&&(t.txResponses=e.txResponses.map(r=>f0.TxResponse.fromJSON(r))),(0,Ja.isSet)(e.pagination)&&(t.pagination=If.PageResponse.fromJSON(e.pagination)),(0,Ja.isSet)(e.total)&&(t.total=BigInt(e.total.toString())),t},toJSON(e){let t={};return e.txs?t.txs=e.txs.map(r=>r?Jc.Tx.toJSON(r):void 0):t.txs=[],e.txResponses?t.txResponses=e.txResponses.map(r=>r?f0.TxResponse.toJSON(r):void 0):t.txResponses=[],e.pagination!==void 0&&(t.pagination=e.pagination?If.PageResponse.toJSON(e.pagination):void 0),e.total!==void 0&&(t.total=(e.total||BigInt(0)).toString()),t},fromPartial(e){let t=jOe();return t.txs=e.txs?.map(r=>Jc.Tx.fromPartial(r))||[],t.txResponses=e.txResponses?.map(r=>f0.TxResponse.fromPartial(r))||[],e.pagination!==void 0&&e.pagination!==null&&(t.pagination=If.PageResponse.fromPartial(e.pagination)),e.total!==void 0&&e.total!==null&&(t.total=BigInt(e.total.toString())),t}};function eNe(){return{txBytes:new Uint8Array,mode:0}}Bi.BroadcastTxRequest={typeUrl:"/cosmos.tx.v1beta1.BroadcastTxRequest",encode(e,t=to.BinaryWriter.create()){return e.txBytes.length!==0&&t.uint32(10).bytes(e.txBytes),e.mode!==0&&t.uint32(16).int32(e.mode),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=eNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.txBytes=r.bytes();break;case 2:n.mode=r.int32();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=eNe();return(0,Ja.isSet)(e.txBytes)&&(t.txBytes=(0,Ja.bytesFromBase64)(e.txBytes)),(0,Ja.isSet)(e.mode)&&(t.mode=Gyt(e.mode)),t},toJSON(e){let t={};return e.txBytes!==void 0&&(t.txBytes=(0,Ja.base64FromBytes)(e.txBytes!==void 0?e.txBytes:new Uint8Array)),e.mode!==void 0&&(t.mode=qyt(e.mode)),t},fromPartial(e){let t=eNe();return t.txBytes=e.txBytes??new Uint8Array,t.mode=e.mode??0,t}};function tNe(){return{txResponse:void 0}}Bi.BroadcastTxResponse={typeUrl:"/cosmos.tx.v1beta1.BroadcastTxResponse",encode(e,t=to.BinaryWriter.create()){return e.txResponse!==void 0&&f0.TxResponse.encode(e.txResponse,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=tNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.txResponse=f0.TxResponse.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=tNe();return(0,Ja.isSet)(e.txResponse)&&(t.txResponse=f0.TxResponse.fromJSON(e.txResponse)),t},toJSON(e){let t={};return e.txResponse!==void 0&&(t.txResponse=e.txResponse?f0.TxResponse.toJSON(e.txResponse):void 0),t},fromPartial(e){let t=tNe();return e.txResponse!==void 0&&e.txResponse!==null&&(t.txResponse=f0.TxResponse.fromPartial(e.txResponse)),t}};function rNe(){return{tx:void 0,txBytes:new Uint8Array}}Bi.SimulateRequest={typeUrl:"/cosmos.tx.v1beta1.SimulateRequest",encode(e,t=to.BinaryWriter.create()){return e.tx!==void 0&&Jc.Tx.encode(e.tx,t.uint32(10).fork()).ldelim(),e.txBytes.length!==0&&t.uint32(18).bytes(e.txBytes),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=rNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.tx=Jc.Tx.decode(r,r.uint32());break;case 2:n.txBytes=r.bytes();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=rNe();return(0,Ja.isSet)(e.tx)&&(t.tx=Jc.Tx.fromJSON(e.tx)),(0,Ja.isSet)(e.txBytes)&&(t.txBytes=(0,Ja.bytesFromBase64)(e.txBytes)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=e.tx?Jc.Tx.toJSON(e.tx):void 0),e.txBytes!==void 0&&(t.txBytes=(0,Ja.base64FromBytes)(e.txBytes!==void 0?e.txBytes:new Uint8Array)),t},fromPartial(e){let t=rNe();return e.tx!==void 0&&e.tx!==null&&(t.tx=Jc.Tx.fromPartial(e.tx)),t.txBytes=e.txBytes??new Uint8Array,t}};function nNe(){return{gasInfo:void 0,result:void 0}}Bi.SimulateResponse={typeUrl:"/cosmos.tx.v1beta1.SimulateResponse",encode(e,t=to.BinaryWriter.create()){return e.gasInfo!==void 0&&f0.GasInfo.encode(e.gasInfo,t.uint32(10).fork()).ldelim(),e.result!==void 0&&f0.Result.encode(e.result,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=nNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.gasInfo=f0.GasInfo.decode(r,r.uint32());break;case 2:n.result=f0.Result.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=nNe();return(0,Ja.isSet)(e.gasInfo)&&(t.gasInfo=f0.GasInfo.fromJSON(e.gasInfo)),(0,Ja.isSet)(e.result)&&(t.result=f0.Result.fromJSON(e.result)),t},toJSON(e){let t={};return e.gasInfo!==void 0&&(t.gasInfo=e.gasInfo?f0.GasInfo.toJSON(e.gasInfo):void 0),e.result!==void 0&&(t.result=e.result?f0.Result.toJSON(e.result):void 0),t},fromPartial(e){let t=nNe();return e.gasInfo!==void 0&&e.gasInfo!==null&&(t.gasInfo=f0.GasInfo.fromPartial(e.gasInfo)),e.result!==void 0&&e.result!==null&&(t.result=f0.Result.fromPartial(e.result)),t}};function iNe(){return{hash:""}}Bi.GetTxRequest={typeUrl:"/cosmos.tx.v1beta1.GetTxRequest",encode(e,t=to.BinaryWriter.create()){return e.hash!==""&&t.uint32(10).string(e.hash),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=iNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.hash=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=iNe();return(0,Ja.isSet)(e.hash)&&(t.hash=String(e.hash)),t},toJSON(e){let t={};return e.hash!==void 0&&(t.hash=e.hash),t},fromPartial(e){let t=iNe();return t.hash=e.hash??"",t}};function oNe(){return{tx:void 0,txResponse:void 0}}Bi.GetTxResponse={typeUrl:"/cosmos.tx.v1beta1.GetTxResponse",encode(e,t=to.BinaryWriter.create()){return e.tx!==void 0&&Jc.Tx.encode(e.tx,t.uint32(10).fork()).ldelim(),e.txResponse!==void 0&&f0.TxResponse.encode(e.txResponse,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=oNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.tx=Jc.Tx.decode(r,r.uint32());break;case 2:n.txResponse=f0.TxResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=oNe();return(0,Ja.isSet)(e.tx)&&(t.tx=Jc.Tx.fromJSON(e.tx)),(0,Ja.isSet)(e.txResponse)&&(t.txResponse=f0.TxResponse.fromJSON(e.txResponse)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=e.tx?Jc.Tx.toJSON(e.tx):void 0),e.txResponse!==void 0&&(t.txResponse=e.txResponse?f0.TxResponse.toJSON(e.txResponse):void 0),t},fromPartial(e){let t=oNe();return e.tx!==void 0&&e.tx!==null&&(t.tx=Jc.Tx.fromPartial(e.tx)),e.txResponse!==void 0&&e.txResponse!==null&&(t.txResponse=f0.TxResponse.fromPartial(e.txResponse)),t}};function aNe(){return{height:BigInt(0),pagination:void 0}}Bi.GetBlockWithTxsRequest={typeUrl:"/cosmos.tx.v1beta1.GetBlockWithTxsRequest",encode(e,t=to.BinaryWriter.create()){return e.height!==BigInt(0)&&t.uint32(8).int64(e.height),e.pagination!==void 0&&If.PageRequest.encode(e.pagination,t.uint32(18).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=aNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.height=r.int64();break;case 2:n.pagination=If.PageRequest.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=aNe();return(0,Ja.isSet)(e.height)&&(t.height=BigInt(e.height.toString())),(0,Ja.isSet)(e.pagination)&&(t.pagination=If.PageRequest.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.height!==void 0&&(t.height=(e.height||BigInt(0)).toString()),e.pagination!==void 0&&(t.pagination=e.pagination?If.PageRequest.toJSON(e.pagination):void 0),t},fromPartial(e){let t=aNe();return e.height!==void 0&&e.height!==null&&(t.height=BigInt(e.height.toString())),e.pagination!==void 0&&e.pagination!==null&&(t.pagination=If.PageRequest.fromPartial(e.pagination)),t}};function sNe(){return{txs:[],blockId:void 0,block:void 0,pagination:void 0}}Bi.GetBlockWithTxsResponse={typeUrl:"/cosmos.tx.v1beta1.GetBlockWithTxsResponse",encode(e,t=to.BinaryWriter.create()){for(let r of e.txs)Jc.Tx.encode(r,t.uint32(10).fork()).ldelim();return e.blockId!==void 0&&_Q.BlockID.encode(e.blockId,t.uint32(18).fork()).ldelim(),e.block!==void 0&&mQ.Block.encode(e.block,t.uint32(26).fork()).ldelim(),e.pagination!==void 0&&If.PageResponse.encode(e.pagination,t.uint32(34).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=sNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.txs.push(Jc.Tx.decode(r,r.uint32()));break;case 2:n.blockId=_Q.BlockID.decode(r,r.uint32());break;case 3:n.block=mQ.Block.decode(r,r.uint32());break;case 4:n.pagination=If.PageResponse.decode(r,r.uint32());break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=sNe();return Array.isArray(e?.txs)&&(t.txs=e.txs.map(r=>Jc.Tx.fromJSON(r))),(0,Ja.isSet)(e.blockId)&&(t.blockId=_Q.BlockID.fromJSON(e.blockId)),(0,Ja.isSet)(e.block)&&(t.block=mQ.Block.fromJSON(e.block)),(0,Ja.isSet)(e.pagination)&&(t.pagination=If.PageResponse.fromJSON(e.pagination)),t},toJSON(e){let t={};return e.txs?t.txs=e.txs.map(r=>r?Jc.Tx.toJSON(r):void 0):t.txs=[],e.blockId!==void 0&&(t.blockId=e.blockId?_Q.BlockID.toJSON(e.blockId):void 0),e.block!==void 0&&(t.block=e.block?mQ.Block.toJSON(e.block):void 0),e.pagination!==void 0&&(t.pagination=e.pagination?If.PageResponse.toJSON(e.pagination):void 0),t},fromPartial(e){let t=sNe();return t.txs=e.txs?.map(r=>Jc.Tx.fromPartial(r))||[],e.blockId!==void 0&&e.blockId!==null&&(t.blockId=_Q.BlockID.fromPartial(e.blockId)),e.block!==void 0&&e.block!==null&&(t.block=mQ.Block.fromPartial(e.block)),e.pagination!==void 0&&e.pagination!==null&&(t.pagination=If.PageResponse.fromPartial(e.pagination)),t}};function cNe(){return{txBytes:new Uint8Array}}Bi.TxDecodeRequest={typeUrl:"/cosmos.tx.v1beta1.TxDecodeRequest",encode(e,t=to.BinaryWriter.create()){return e.txBytes.length!==0&&t.uint32(10).bytes(e.txBytes),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=cNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.txBytes=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=cNe();return(0,Ja.isSet)(e.txBytes)&&(t.txBytes=(0,Ja.bytesFromBase64)(e.txBytes)),t},toJSON(e){let t={};return e.txBytes!==void 0&&(t.txBytes=(0,Ja.base64FromBytes)(e.txBytes!==void 0?e.txBytes:new Uint8Array)),t},fromPartial(e){let t=cNe();return t.txBytes=e.txBytes??new Uint8Array,t}};function uNe(){return{tx:void 0}}Bi.TxDecodeResponse={typeUrl:"/cosmos.tx.v1beta1.TxDecodeResponse",encode(e,t=to.BinaryWriter.create()){return e.tx!==void 0&&Jc.Tx.encode(e.tx,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=uNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.tx=Jc.Tx.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=uNe();return(0,Ja.isSet)(e.tx)&&(t.tx=Jc.Tx.fromJSON(e.tx)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=e.tx?Jc.Tx.toJSON(e.tx):void 0),t},fromPartial(e){let t=uNe();return e.tx!==void 0&&e.tx!==null&&(t.tx=Jc.Tx.fromPartial(e.tx)),t}};function dNe(){return{tx:void 0}}Bi.TxEncodeRequest={typeUrl:"/cosmos.tx.v1beta1.TxEncodeRequest",encode(e,t=to.BinaryWriter.create()){return e.tx!==void 0&&Jc.Tx.encode(e.tx,t.uint32(10).fork()).ldelim(),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=dNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.tx=Jc.Tx.decode(r,r.uint32()):r.skipType(o&7)}return n},fromJSON(e){let t=dNe();return(0,Ja.isSet)(e.tx)&&(t.tx=Jc.Tx.fromJSON(e.tx)),t},toJSON(e){let t={};return e.tx!==void 0&&(t.tx=e.tx?Jc.Tx.toJSON(e.tx):void 0),t},fromPartial(e){let t=dNe();return e.tx!==void 0&&e.tx!==null&&(t.tx=Jc.Tx.fromPartial(e.tx)),t}};function fNe(){return{txBytes:new Uint8Array}}Bi.TxEncodeResponse={typeUrl:"/cosmos.tx.v1beta1.TxEncodeResponse",encode(e,t=to.BinaryWriter.create()){return e.txBytes.length!==0&&t.uint32(10).bytes(e.txBytes),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=fNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.txBytes=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=fNe();return(0,Ja.isSet)(e.txBytes)&&(t.txBytes=(0,Ja.bytesFromBase64)(e.txBytes)),t},toJSON(e){let t={};return e.txBytes!==void 0&&(t.txBytes=(0,Ja.base64FromBytes)(e.txBytes!==void 0?e.txBytes:new Uint8Array)),t},fromPartial(e){let t=fNe();return t.txBytes=e.txBytes??new Uint8Array,t}};function lNe(){return{aminoJson:""}}Bi.TxEncodeAminoRequest={typeUrl:"/cosmos.tx.v1beta1.TxEncodeAminoRequest",encode(e,t=to.BinaryWriter.create()){return e.aminoJson!==""&&t.uint32(10).string(e.aminoJson),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=lNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.aminoJson=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=lNe();return(0,Ja.isSet)(e.aminoJson)&&(t.aminoJson=String(e.aminoJson)),t},toJSON(e){let t={};return e.aminoJson!==void 0&&(t.aminoJson=e.aminoJson),t},fromPartial(e){let t=lNe();return t.aminoJson=e.aminoJson??"",t}};function hNe(){return{aminoBinary:new Uint8Array}}Bi.TxEncodeAminoResponse={typeUrl:"/cosmos.tx.v1beta1.TxEncodeAminoResponse",encode(e,t=to.BinaryWriter.create()){return e.aminoBinary.length!==0&&t.uint32(10).bytes(e.aminoBinary),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=hNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.aminoBinary=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=hNe();return(0,Ja.isSet)(e.aminoBinary)&&(t.aminoBinary=(0,Ja.bytesFromBase64)(e.aminoBinary)),t},toJSON(e){let t={};return e.aminoBinary!==void 0&&(t.aminoBinary=(0,Ja.base64FromBytes)(e.aminoBinary!==void 0?e.aminoBinary:new Uint8Array)),t},fromPartial(e){let t=hNe();return t.aminoBinary=e.aminoBinary??new Uint8Array,t}};function ANe(){return{aminoBinary:new Uint8Array}}Bi.TxDecodeAminoRequest={typeUrl:"/cosmos.tx.v1beta1.TxDecodeAminoRequest",encode(e,t=to.BinaryWriter.create()){return e.aminoBinary.length!==0&&t.uint32(10).bytes(e.aminoBinary),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ANe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.aminoBinary=r.bytes():r.skipType(o&7)}return n},fromJSON(e){let t=ANe();return(0,Ja.isSet)(e.aminoBinary)&&(t.aminoBinary=(0,Ja.bytesFromBase64)(e.aminoBinary)),t},toJSON(e){let t={};return e.aminoBinary!==void 0&&(t.aminoBinary=(0,Ja.base64FromBytes)(e.aminoBinary!==void 0?e.aminoBinary:new Uint8Array)),t},fromPartial(e){let t=ANe();return t.aminoBinary=e.aminoBinary??new Uint8Array,t}};function pNe(){return{aminoJson:""}}Bi.TxDecodeAminoResponse={typeUrl:"/cosmos.tx.v1beta1.TxDecodeAminoResponse",encode(e,t=to.BinaryWriter.create()){return e.aminoJson!==""&&t.uint32(10).string(e.aminoJson),t},decode(e,t){let r=e instanceof to.BinaryReader?e:new to.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=pNe();for(;r.pos<i;){let o=r.uint32();o>>>3===1?n.aminoJson=r.string():r.skipType(o&7)}return n},fromJSON(e){let t=pNe();return(0,Ja.isSet)(e.aminoJson)&&(t.aminoJson=String(e.aminoJson)),t},toJSON(e){let t={};return e.aminoJson!==void 0&&(t.aminoJson=e.aminoJson),t},fromPartial(e){let t=pNe();return t.aminoJson=e.aminoJson??"",t}};var gNe=class{constructor(t){this.rpc=t,this.Simulate=this.Simulate.bind(this),this.GetTx=this.GetTx.bind(this),this.BroadcastTx=this.BroadcastTx.bind(this),this.GetTxsEvent=this.GetTxsEvent.bind(this),this.GetBlockWithTxs=this.GetBlockWithTxs.bind(this),this.TxDecode=this.TxDecode.bind(this),this.TxEncode=this.TxEncode.bind(this),this.TxEncodeAmino=this.TxEncodeAmino.bind(this),this.TxDecodeAmino=this.TxDecodeAmino.bind(this)}Simulate(t){let r=Bi.SimulateRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","Simulate",r).then(n=>Bi.SimulateResponse.decode(new to.BinaryReader(n)))}GetTx(t){let r=Bi.GetTxRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","GetTx",r).then(n=>Bi.GetTxResponse.decode(new to.BinaryReader(n)))}BroadcastTx(t){let r=Bi.BroadcastTxRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","BroadcastTx",r).then(n=>Bi.BroadcastTxResponse.decode(new to.BinaryReader(n)))}GetTxsEvent(t){let r=Bi.GetTxsEventRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","GetTxsEvent",r).then(n=>Bi.GetTxsEventResponse.decode(new to.BinaryReader(n)))}GetBlockWithTxs(t){let r=Bi.GetBlockWithTxsRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","GetBlockWithTxs",r).then(n=>Bi.GetBlockWithTxsResponse.decode(new to.BinaryReader(n)))}TxDecode(t){let r=Bi.TxDecodeRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","TxDecode",r).then(n=>Bi.TxDecodeResponse.decode(new to.BinaryReader(n)))}TxEncode(t){let r=Bi.TxEncodeRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","TxEncode",r).then(n=>Bi.TxEncodeResponse.decode(new to.BinaryReader(n)))}TxEncodeAmino(t){let r=Bi.TxEncodeAminoRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","TxEncodeAmino",r).then(n=>Bi.TxEncodeAminoResponse.decode(new to.BinaryReader(n)))}TxDecodeAmino(t){let r=Bi.TxDecodeAminoRequest.encode(t).finish();return this.rpc.request("cosmos.tx.v1beta1.Service","TxDecodeAmino",r).then(n=>Bi.TxDecodeAminoResponse.decode(new to.BinaryReader(n)))}};Bi.ServiceClientImpl=gNe});var zyt=ir(lte=>{"use strict";J();K();z();Object.defineProperty(lte,"__esModule",{value:!0});lte.setupTxExtension=void 0;var S1n=SS(),I1n=U7(),Jyt=Vyt(),yQ=RS(),C1n=ep();function w1n(e){let t=(0,C1n.createProtobufRpcClient)(e),r=new Jyt.ServiceClientImpl(t);return{tx:{getTx:async i=>{let n={hash:i};return await r.GetTx(n)},simulate:async(i,n,o,d)=>{let g=yQ.Tx.fromPartial({authInfo:yQ.AuthInfo.fromPartial({fee:yQ.Fee.fromPartial({}),signerInfos:[{publicKey:(0,S1n.encodePubkey)(o),sequence:BigInt(d),modeInfo:{single:{mode:I1n.SignMode.SIGN_MODE_UNSPECIFIED}}}]}),body:yQ.TxBody.fromPartial({messages:Array.from(i),memo:n}),signatures:[new Uint8Array]}),y=Jyt.SimulateRequest.fromPartial({txBytes:yQ.Tx.encode(g).finish()});return await r.Simulate(y)}}}}lte.setupTxExtension=w1n});var Kyt=ir(P9=>{"use strict";J();K();z();Object.defineProperty(P9,"__esModule",{value:!0});P9.createVestingAminoConverters=P9.isAminoMsgCreateVestingAccount=void 0;function O1n(e){return e.type==="cosmos-sdk/MsgCreateVestingAccount"}P9.isAminoMsgCreateVestingAccount=O1n;function N1n(){return{"/cosmos.vesting.v1beta1.MsgCreateVestingAccount":{aminoType:"cosmos-sdk/MsgCreateVestingAccount",toAmino:({fromAddress:e,toAddress:t,amount:r,endTime:i,delayed:n})=>({from_address:e,to_address:t,amount:[...r],end_time:i.toString(),delayed:n}),fromAmino:({from_address:e,to_address:t,amount:r,end_time:i,delayed:n})=>({fromAddress:e,toAddress:t,amount:[...r],endTime:BigInt(i),delayed:n})}}}P9.createVestingAminoConverters=N1n});var $yt=ir(M0=>{"use strict";J();K();z();Object.defineProperty(M0,"__esModule",{value:!0});M0.MsgClientImpl=M0.MsgCreatePeriodicVestingAccountResponse=M0.MsgCreatePeriodicVestingAccount=M0.MsgCreatePermanentLockedAccountResponse=M0.MsgCreatePermanentLockedAccount=M0.MsgCreateVestingAccountResponse=M0.MsgCreateVestingAccount=M0.protobufPackage=void 0;var YE=Af(),bQ=Gve(),Xd=Qi(),MS=Hi();M0.protobufPackage="cosmos.vesting.v1beta1";function _Ne(){return{fromAddress:"",toAddress:"",amount:[],endTime:BigInt(0),delayed:!1}}M0.MsgCreateVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.MsgCreateVestingAccount",encode(e,t=Xd.BinaryWriter.create()){e.fromAddress!==""&&t.uint32(10).string(e.fromAddress),e.toAddress!==""&&t.uint32(18).string(e.toAddress);for(let r of e.amount)YE.Coin.encode(r,t.uint32(26).fork()).ldelim();return e.endTime!==BigInt(0)&&t.uint32(32).int64(e.endTime),e.delayed===!0&&t.uint32(40).bool(e.delayed),t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=_Ne();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.fromAddress=r.string();break;case 2:n.toAddress=r.string();break;case 3:n.amount.push(YE.Coin.decode(r,r.uint32()));break;case 4:n.endTime=r.int64();break;case 5:n.delayed=r.bool();break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=_Ne();return(0,MS.isSet)(e.fromAddress)&&(t.fromAddress=String(e.fromAddress)),(0,MS.isSet)(e.toAddress)&&(t.toAddress=String(e.toAddress)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>YE.Coin.fromJSON(r))),(0,MS.isSet)(e.endTime)&&(t.endTime=BigInt(e.endTime.toString())),(0,MS.isSet)(e.delayed)&&(t.delayed=!!e.delayed),t},toJSON(e){let t={};return e.fromAddress!==void 0&&(t.fromAddress=e.fromAddress),e.toAddress!==void 0&&(t.toAddress=e.toAddress),e.amount?t.amount=e.amount.map(r=>r?YE.Coin.toJSON(r):void 0):t.amount=[],e.endTime!==void 0&&(t.endTime=(e.endTime||BigInt(0)).toString()),e.delayed!==void 0&&(t.delayed=e.delayed),t},fromPartial(e){let t=_Ne();return t.fromAddress=e.fromAddress??"",t.toAddress=e.toAddress??"",t.amount=e.amount?.map(r=>YE.Coin.fromPartial(r))||[],e.endTime!==void 0&&e.endTime!==null&&(t.endTime=BigInt(e.endTime.toString())),t.delayed=e.delayed??!1,t}};function mNe(){return{}}M0.MsgCreateVestingAccountResponse={typeUrl:"/cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse",encode(e,t=Xd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=mNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return mNe()},toJSON(e){return{}},fromPartial(e){return mNe()}};function yNe(){return{fromAddress:"",toAddress:"",amount:[]}}M0.MsgCreatePermanentLockedAccount={typeUrl:"/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount",encode(e,t=Xd.BinaryWriter.create()){e.fromAddress!==""&&t.uint32(10).string(e.fromAddress),e.toAddress!==""&&t.uint32(18).string(e.toAddress);for(let r of e.amount)YE.Coin.encode(r,t.uint32(26).fork()).ldelim();return t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=yNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.fromAddress=r.string();break;case 2:n.toAddress=r.string();break;case 3:n.amount.push(YE.Coin.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=yNe();return(0,MS.isSet)(e.fromAddress)&&(t.fromAddress=String(e.fromAddress)),(0,MS.isSet)(e.toAddress)&&(t.toAddress=String(e.toAddress)),Array.isArray(e?.amount)&&(t.amount=e.amount.map(r=>YE.Coin.fromJSON(r))),t},toJSON(e){let t={};return e.fromAddress!==void 0&&(t.fromAddress=e.fromAddress),e.toAddress!==void 0&&(t.toAddress=e.toAddress),e.amount?t.amount=e.amount.map(r=>r?YE.Coin.toJSON(r):void 0):t.amount=[],t},fromPartial(e){let t=yNe();return t.fromAddress=e.fromAddress??"",t.toAddress=e.toAddress??"",t.amount=e.amount?.map(r=>YE.Coin.fromPartial(r))||[],t}};function bNe(){return{}}M0.MsgCreatePermanentLockedAccountResponse={typeUrl:"/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse",encode(e,t=Xd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=bNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return bNe()},toJSON(e){return{}},fromPartial(e){return bNe()}};function ENe(){return{fromAddress:"",toAddress:"",startTime:BigInt(0),vestingPeriods:[]}}M0.MsgCreatePeriodicVestingAccount={typeUrl:"/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount",encode(e,t=Xd.BinaryWriter.create()){e.fromAddress!==""&&t.uint32(10).string(e.fromAddress),e.toAddress!==""&&t.uint32(18).string(e.toAddress),e.startTime!==BigInt(0)&&t.uint32(24).int64(e.startTime);for(let r of e.vestingPeriods)bQ.Period.encode(r,t.uint32(34).fork()).ldelim();return t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=ENe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){case 1:n.fromAddress=r.string();break;case 2:n.toAddress=r.string();break;case 3:n.startTime=r.int64();break;case 4:n.vestingPeriods.push(bQ.Period.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return n},fromJSON(e){let t=ENe();return(0,MS.isSet)(e.fromAddress)&&(t.fromAddress=String(e.fromAddress)),(0,MS.isSet)(e.toAddress)&&(t.toAddress=String(e.toAddress)),(0,MS.isSet)(e.startTime)&&(t.startTime=BigInt(e.startTime.toString())),Array.isArray(e?.vestingPeriods)&&(t.vestingPeriods=e.vestingPeriods.map(r=>bQ.Period.fromJSON(r))),t},toJSON(e){let t={};return e.fromAddress!==void 0&&(t.fromAddress=e.fromAddress),e.toAddress!==void 0&&(t.toAddress=e.toAddress),e.startTime!==void 0&&(t.startTime=(e.startTime||BigInt(0)).toString()),e.vestingPeriods?t.vestingPeriods=e.vestingPeriods.map(r=>r?bQ.Period.toJSON(r):void 0):t.vestingPeriods=[],t},fromPartial(e){let t=ENe();return t.fromAddress=e.fromAddress??"",t.toAddress=e.toAddress??"",e.startTime!==void 0&&e.startTime!==null&&(t.startTime=BigInt(e.startTime.toString())),t.vestingPeriods=e.vestingPeriods?.map(r=>bQ.Period.fromPartial(r))||[],t}};function vNe(){return{}}M0.MsgCreatePeriodicVestingAccountResponse={typeUrl:"/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse",encode(e,t=Xd.BinaryWriter.create()){return t},decode(e,t){let r=e instanceof Xd.BinaryReader?e:new Xd.BinaryReader(e),i=t===void 0?r.len:r.pos+t,n=vNe();for(;r.pos<i;){let o=r.uint32();switch(o>>>3){default:r.skipType(o&7);break}}return n},fromJSON(e){return vNe()},toJSON(e){return{}},fromPartial(e){return vNe()}};var RNe=class{constructor(t){this.rpc=t,this.CreateVestingAccount=this.CreateVestingAccount.bind(this),this.CreatePermanentLockedAccount=this.CreatePermanentLockedAccount.bind(this),this.CreatePeriodicVestingAccount=this.CreatePeriodicVestingAccount.bind(this)}CreateVestingAccount(t){let r=M0.MsgCreateVestingAccount.encode(t).finish();return this.rpc.request("cosmos.vesting.v1beta1.Msg","CreateVestingAccount",r).then(n=>M0.MsgCreateVestingAccountResponse.decode(new Xd.BinaryReader(n)))}CreatePermanentLockedAccount(t){let r=M0.MsgCreatePermanentLockedAccount.encode(t).finish();return this.rpc.request("cosmos.vesting.v1beta1.Msg","CreatePermanentLockedAccount",r).then(n=>M0.MsgCreatePermanentLockedAccountResponse.decode(new Xd.BinaryReader(n)))}CreatePeriodicVestingAccount(t){let r=M0.MsgCreatePeriodicVestingAccount.encode(t).finish();return this.rpc.request("cosmos.vesting.v1beta1.Msg","CreatePeriodicVestingAccount",r).then(n=>M0.MsgCreatePeriodicVestingAccountResponse.decode(new Xd.BinaryReader(n)))}};M0.MsgClientImpl=RNe});var Yyt=ir(hte=>{"use strict";J();K();z();Object.defineProperty(hte,"__esModule",{value:!0});hte.vestingTypes=void 0;var x1n=$yt();hte.vestingTypes=[["/cosmos.vesting.v1beta1.MsgCreateVestingAccount",x1n.MsgCreateVestingAccount]]});var SQ=ir(Rn=>{"use strict";J();K();z();Object.defineProperty(Rn,"__esModule",{value:!0});Rn.isAminoMsgCreateValidator=Rn.isAminoMsgBeginRedelegate=Rn.createStakingAminoConverters=Rn.setupSlashingExtension=Rn.isAminoMsgUnjail=Rn.createSlashingAminoConverters=Rn.setupMintExtension=Rn.setupIbcExtension=Rn.isMsgTransferEncodeObject=Rn.ibcTypes=Rn.isAminoMsgTransfer=Rn.createIbcAminoConverters=Rn.groupTypes=Rn.createGroupAminoConverters=Rn.setupGovExtension=Rn.isMsgVoteWeightedEncodeObject=Rn.isMsgVoteEncodeObject=Rn.isMsgSubmitProposalEncodeObject=Rn.isMsgDepositEncodeObject=Rn.govTypes=Rn.isAminoMsgVoteWeighted=Rn.isAminoMsgVote=Rn.isAminoMsgSubmitProposal=Rn.isAminoMsgDeposit=Rn.createGovAminoConverters=Rn.setupFeegrantExtension=Rn.feegrantTypes=Rn.createFeegrantAminoConverters=Rn.isAminoMsgSubmitEvidence=Rn.createEvidenceAminoConverters=Rn.setupDistributionExtension=Rn.isMsgWithdrawDelegatorRewardEncodeObject=Rn.distributionTypes=Rn.isAminoMsgWithdrawValidatorCommission=Rn.isAminoMsgWithdrawDelegatorReward=Rn.isAminoMsgSetWithdrawAddress=Rn.isAminoMsgFundCommunityPool=Rn.createDistributionAminoConverters=Rn.isAminoMsgVerifyInvariant=Rn.createCrysisAminoConverters=Rn.setupBankExtension=Rn.isMsgSendEncodeObject=Rn.bankTypes=Rn.isAminoMsgSend=Rn.isAminoMsgMultiSend=Rn.createBankAminoConverters=Rn.setupAuthzExtension=Rn.authzTypes=Rn.createAuthzAminoConverters=Rn.setupAuthExtension=void 0;Rn.vestingTypes=Rn.isAminoMsgCreateVestingAccount=Rn.createVestingAminoConverters=Rn.setupTxExtension=Rn.setupStakingExtension=Rn.stakingTypes=Rn.isMsgUndelegateEncodeObject=Rn.isMsgEditValidatorEncodeObject=Rn.isMsgDelegateEncodeObject=Rn.isMsgCreateValidatorEncodeObject=Rn.isMsgCancelUnbondingDelegationEncodeObject=Rn.isMsgBeginRedelegateEncodeObject=Rn.isAminoMsgUndelegate=Rn.isAminoMsgEditValidator=Rn.isAminoMsgDelegate=void 0;var T1n=K2t();Object.defineProperty(Rn,"setupAuthExtension",{enumerable:!0,get:function(){return T1n.setupAuthExtension}});var B1n=$2t();Object.defineProperty(Rn,"createAuthzAminoConverters",{enumerable:!0,get:function(){return B1n.createAuthzAminoConverters}});var M1n=X2t();Object.defineProperty(Rn,"authzTypes",{enumerable:!0,get:function(){return M1n.authzTypes}});var D1n=j2t();Object.defineProperty(Rn,"setupAuthzExtension",{enumerable:!0,get:function(){return D1n.setupAuthzExtension}});var SNe=emt();Object.defineProperty(Rn,"createBankAminoConverters",{enumerable:!0,get:function(){return SNe.createBankAminoConverters}});Object.defineProperty(Rn,"isAminoMsgMultiSend",{enumerable:!0,get:function(){return SNe.isAminoMsgMultiSend}});Object.defineProperty(Rn,"isAminoMsgSend",{enumerable:!0,get:function(){return SNe.isAminoMsgSend}});var Wyt=rmt();Object.defineProperty(Rn,"bankTypes",{enumerable:!0,get:function(){return Wyt.bankTypes}});Object.defineProperty(Rn,"isMsgSendEncodeObject",{enumerable:!0,get:function(){return Wyt.isMsgSendEncodeObject}});var k1n=omt();Object.defineProperty(Rn,"setupBankExtension",{enumerable:!0,get:function(){return k1n.setupBankExtension}});var Xyt=amt();Object.defineProperty(Rn,"createCrysisAminoConverters",{enumerable:!0,get:function(){return Xyt.createCrysisAminoConverters}});Object.defineProperty(Rn,"isAminoMsgVerifyInvariant",{enumerable:!0,get:function(){return Xyt.isAminoMsgVerifyInvariant}});var EQ=smt();Object.defineProperty(Rn,"createDistributionAminoConverters",{enumerable:!0,get:function(){return EQ.createDistributionAminoConverters}});Object.defineProperty(Rn,"isAminoMsgFundCommunityPool",{enumerable:!0,get:function(){return EQ.isAminoMsgFundCommunityPool}});Object.defineProperty(Rn,"isAminoMsgSetWithdrawAddress",{enumerable:!0,get:function(){return EQ.isAminoMsgSetWithdrawAddress}});Object.defineProperty(Rn,"isAminoMsgWithdrawDelegatorReward",{enumerable:!0,get:function(){return EQ.isAminoMsgWithdrawDelegatorReward}});Object.defineProperty(Rn,"isAminoMsgWithdrawValidatorCommission",{enumerable:!0,get:function(){return EQ.isAminoMsgWithdrawValidatorCommission}});var Zyt=cmt();Object.defineProperty(Rn,"distributionTypes",{enumerable:!0,get:function(){return Zyt.distributionTypes}});Object.defineProperty(Rn,"isMsgWithdrawDelegatorRewardEncodeObject",{enumerable:!0,get:function(){return Zyt.isMsgWithdrawDelegatorRewardEncodeObject}});var P1n=fmt();Object.defineProperty(Rn,"setupDistributionExtension",{enumerable:!0,get:function(){return P1n.setupDistributionExtension}});var jyt=lmt();Object.defineProperty(Rn,"createEvidenceAminoConverters",{enumerable:!0,get:function(){return jyt.createEvidenceAminoConverters}});Object.defineProperty(Rn,"isAminoMsgSubmitEvidence",{enumerable:!0,get:function(){return jyt.isAminoMsgSubmitEvidence}});var L1n=hmt();Object.defineProperty(Rn,"createFeegrantAminoConverters",{enumerable:!0,get:function(){return L1n.createFeegrantAminoConverters}});var U1n=gmt();Object.defineProperty(Rn,"feegrantTypes",{enumerable:!0,get:function(){return U1n.feegrantTypes}});var F1n=Emt();Object.defineProperty(Rn,"setupFeegrantExtension",{enumerable:!0,get:function(){return F1n.setupFeegrantExtension}});var vQ=Smt();Object.defineProperty(Rn,"createGovAminoConverters",{enumerable:!0,get:function(){return vQ.createGovAminoConverters}});Object.defineProperty(Rn,"isAminoMsgDeposit",{enumerable:!0,get:function(){return vQ.isAminoMsgDeposit}});Object.defineProperty(Rn,"isAminoMsgSubmitProposal",{enumerable:!0,get:function(){return vQ.isAminoMsgSubmitProposal}});Object.defineProperty(Rn,"isAminoMsgVote",{enumerable:!0,get:function(){return vQ.isAminoMsgVote}});Object.defineProperty(Rn,"isAminoMsgVoteWeighted",{enumerable:!0,get:function(){return vQ.isAminoMsgVoteWeighted}});var RQ=Bmt();Object.defineProperty(Rn,"govTypes",{enumerable:!0,get:function(){return RQ.govTypes}});Object.defineProperty(Rn,"isMsgDepositEncodeObject",{enumerable:!0,get:function(){return RQ.isMsgDepositEncodeObject}});Object.defineProperty(Rn,"isMsgSubmitProposalEncodeObject",{enumerable:!0,get:function(){return RQ.isMsgSubmitProposalEncodeObject}});Object.defineProperty(Rn,"isMsgVoteEncodeObject",{enumerable:!0,get:function(){return RQ.isMsgVoteEncodeObject}});Object.defineProperty(Rn,"isMsgVoteWeightedEncodeObject",{enumerable:!0,get:function(){return RQ.isMsgVoteWeightedEncodeObject}});var Q1n=Dmt();Object.defineProperty(Rn,"setupGovExtension",{enumerable:!0,get:function(){return Q1n.setupGovExtension}});var H1n=kmt();Object.defineProperty(Rn,"createGroupAminoConverters",{enumerable:!0,get:function(){return H1n.createGroupAminoConverters}});var G1n=Vmt();Object.defineProperty(Rn,"groupTypes",{enumerable:!0,get:function(){return G1n.groupTypes}});var ebt=zmt();Object.defineProperty(Rn,"createIbcAminoConverters",{enumerable:!0,get:function(){return ebt.createIbcAminoConverters}});Object.defineProperty(Rn,"isAminoMsgTransfer",{enumerable:!0,get:function(){return ebt.isAminoMsgTransfer}});var tbt=Zmt();Object.defineProperty(Rn,"ibcTypes",{enumerable:!0,get:function(){return tbt.ibcTypes}});Object.defineProperty(Rn,"isMsgTransferEncodeObject",{enumerable:!0,get:function(){return tbt.isMsgTransferEncodeObject}});var q1n=dyt();Object.defineProperty(Rn,"setupIbcExtension",{enumerable:!0,get:function(){return q1n.setupIbcExtension}});var V1n=hyt();Object.defineProperty(Rn,"setupMintExtension",{enumerable:!0,get:function(){return V1n.setupMintExtension}});var rbt=Ayt();Object.defineProperty(Rn,"createSlashingAminoConverters",{enumerable:!0,get:function(){return rbt.createSlashingAminoConverters}});Object.defineProperty(Rn,"isAminoMsgUnjail",{enumerable:!0,get:function(){return rbt.isAminoMsgUnjail}});var J1n=myt();Object.defineProperty(Rn,"setupSlashingExtension",{enumerable:!0,get:function(){return J1n.setupSlashingExtension}});var L9=Eyt();Object.defineProperty(Rn,"createStakingAminoConverters",{enumerable:!0,get:function(){return L9.createStakingAminoConverters}});Object.defineProperty(Rn,"isAminoMsgBeginRedelegate",{enumerable:!0,get:function(){return L9.isAminoMsgBeginRedelegate}});Object.defineProperty(Rn,"isAminoMsgCreateValidator",{enumerable:!0,get:function(){return L9.isAminoMsgCreateValidator}});Object.defineProperty(Rn,"isAminoMsgDelegate",{enumerable:!0,get:function(){return L9.isAminoMsgDelegate}});Object.defineProperty(Rn,"isAminoMsgEditValidator",{enumerable:!0,get:function(){return L9.isAminoMsgEditValidator}});Object.defineProperty(Rn,"isAminoMsgUndelegate",{enumerable:!0,get:function(){return L9.isAminoMsgUndelegate}});var x5=kyt();Object.defineProperty(Rn,"isMsgBeginRedelegateEncodeObject",{enumerable:!0,get:function(){return x5.isMsgBeginRedelegateEncodeObject}});Object.defineProperty(Rn,"isMsgCancelUnbondingDelegationEncodeObject",{enumerable:!0,get:function(){return x5.isMsgCancelUnbondingDelegationEncodeObject}});Object.defineProperty(Rn,"isMsgCreateValidatorEncodeObject",{enumerable:!0,get:function(){return x5.isMsgCreateValidatorEncodeObject}});Object.defineProperty(Rn,"isMsgDelegateEncodeObject",{enumerable:!0,get:function(){return x5.isMsgDelegateEncodeObject}});Object.defineProperty(Rn,"isMsgEditValidatorEncodeObject",{enumerable:!0,get:function(){return x5.isMsgEditValidatorEncodeObject}});Object.defineProperty(Rn,"isMsgUndelegateEncodeObject",{enumerable:!0,get:function(){return x5.isMsgUndelegateEncodeObject}});Object.defineProperty(Rn,"stakingTypes",{enumerable:!0,get:function(){return x5.stakingTypes}});var z1n=Lyt();Object.defineProperty(Rn,"setupStakingExtension",{enumerable:!0,get:function(){return z1n.setupStakingExtension}});var K1n=zyt();Object.defineProperty(Rn,"setupTxExtension",{enumerable:!0,get:function(){return K1n.setupTxExtension}});var nbt=Kyt();Object.defineProperty(Rn,"createVestingAminoConverters",{enumerable:!0,get:function(){return nbt.createVestingAminoConverters}});Object.defineProperty(Rn,"isAminoMsgCreateVestingAccount",{enumerable:!0,get:function(){return nbt.isAminoMsgCreateVestingAccount}});var $1n=Yyt();Object.defineProperty(Rn,"vestingTypes",{enumerable:!0,get:function(){return $1n.vestingTypes}})});var cbt=ir(g8=>{"use strict";J();K();z();Object.defineProperty(g8,"__esModule",{value:!0});g8.makeMultisignedTxBytes=g8.makeMultisignedTx=g8.makeCompactBitArray=void 0;var Y1n=R_(),W1n=Ps(),X1n=SS(),INe=hee(),Z1n=U7(),ibt=RS(),obt=RS();function abt(e){let t=Math.ceil(e.length/8),r=e.length-Math.floor(e.length/8)*8,i=new Uint8Array(t);return e.forEach((n,o)=>{let d=Math.floor(o/8),g=o%8;n&&(i[d]|=1<<7-g)}),INe.CompactBitArray.fromPartial({elems:i,extraBitsStored:r})}g8.makeCompactBitArray=abt;function sbt(e,t,r,i,n){let o=Array.from(n.keys()),d=(0,W1n.fromBech32)(o[0]).prefix,g=Array(e.value.pubkeys.length).fill(!1),y=new Array;for(let M=0;M<e.value.pubkeys.length;M++){let D=(0,Y1n.pubkeyToAddress)(e.value.pubkeys[M],d),P=n.get(D);P&&(g[M]=!0,y.push(P))}let _={publicKey:(0,X1n.encodePubkey)(e),modeInfo:{multi:{bitarray:abt(g),modeInfos:y.map(M=>({single:{mode:Z1n.SignMode.SIGN_MODE_LEGACY_AMINO_JSON}}))}},sequence:BigInt(t)},I=ibt.AuthInfo.fromPartial({signerInfos:[_],fee:{amount:[...r.amount],gasLimit:BigInt(r.gas)}}),N=ibt.AuthInfo.encode(I).finish();return obt.TxRaw.fromPartial({bodyBytes:i,authInfoBytes:N,signatures:[INe.MultiSignature.encode(INe.MultiSignature.fromPartial({signatures:y})).finish()]})}g8.makeMultisignedTx=sbt;function j1n(e,t,r,i,n){let o=sbt(e,t,r,i,n);return Uint8Array.from(obt.TxRaw.encode(o).finish())}g8.makeMultisignedTxBytes=j1n});var CNe=ir(Ate=>{"use strict";J();K();z();Object.defineProperty(Ate,"__esModule",{value:!0});Ate.isSearchTxQueryArray=void 0;function egn(e){return Array.isArray(e)}Ate.isSearchTxQueryArray=egn});var lbt=ir(WE=>{"use strict";J();K();z();Object.defineProperty(WE,"__esModule",{value:!0});WE.pubkeyToAddress=WE.pubkeyToRawAddress=WE.rawSecp256k1PubkeyToRawAddress=WE.rawEd25519PubkeyToRawAddress=void 0;var wNe=$l(),tgn=Ps();function ubt(e){if(e.length!==32)throw new Error(`Invalid Ed25519 pubkey length: ${e.length}`);return(0,wNe.sha256)(e).slice(0,20)}WE.rawEd25519PubkeyToRawAddress=ubt;function dbt(e){if(e.length!==33)throw new Error(`Invalid Secp256k1 pubkey length (compressed): ${e.length}`);return(0,wNe.ripemd160)((0,wNe.sha256)(e))}WE.rawSecp256k1PubkeyToRawAddress=dbt;function fbt(e,t){switch(e){case"ed25519":return ubt(t);case"secp256k1":return dbt(t);default:throw new Error(`Pubkey type ${e} not supported`)}}WE.pubkeyToRawAddress=fbt;function rgn(e,t){return(0,tgn.toHex)(fbt(e,t)).toUpperCase()}WE.pubkeyToAddress=rgn});var IQ=ir(H2=>{"use strict";J();K();z();Object.defineProperty(H2,"__esModule",{value:!0});H2.DateTime=H2.toSeconds=H2.fromSeconds=H2.toRfc3339WithNanoseconds=H2.fromRfc3339WithNanoseconds=void 0;var ngn=Ps(),ign=Uh();function hbt(e){let t=(0,ngn.fromRfc3339)(e),r=e.match(/\.(\d+)Z$/),i=r?r[1].slice(3):"";return t.nanoseconds=parseInt(i.padEnd(6,"0"),10),t}H2.fromRfc3339WithNanoseconds=hbt;function Abt(e){let t=e.toISOString(),r=e.nanoseconds?.toString()??"";return`${t.slice(0,-1)}${r.padStart(6,"0")}Z`}H2.toRfc3339WithNanoseconds=Abt;function ogn(e,t=0){let r=new ign.Uint32(t).toNumber();if(r>999999999)throw new Error("Nano seconds must not exceed 999999999");let i=new Date(e*1e3+Math.floor(r/1e6));return i.nanoseconds=r%1e6,i}H2.fromSeconds=ogn;function agn(e){return{seconds:Math.floor(e.getTime()/1e3),nanos:e.getTime()%1e3*1e6+(e.nanoseconds??0)}}H2.toSeconds=agn;var ONe=class{static decode(t){return hbt(t)}static encode(t){return Abt(t)}};H2.DateTime=ONe});var T5=ir(pte=>{"use strict";J();K();z();Object.defineProperty(pte,"__esModule",{value:!0});pte.createJsonRpcRequest=void 0;var pbt="123456789";function sgn(){return pbt[Math.floor(Math.random()*pbt.length)]}function cgn(){return parseInt(Array.from({length:12}).map(()=>sgn()).join(""),10)}function ugn(e,t){let r=t?{...t}:{};return{jsonrpc:"2.0",id:cgn(),method:e,params:r}}pte.createJsonRpcRequest=ugn});var gbt=ir(gte=>{"use strict";J();K();z();Object.defineProperty(gte,"__esModule",{value:!0});gte.makeJsonRpcId=void 0;var dgn=1e4;function fgn(){return dgn+=1}gte.makeJsonRpcId=fgn});var _bt=ir(NNe=>{"use strict";J();K();z();Object.defineProperty(NNe,"__esModule",{value:!0});NNe.default=lgn;function lgn(e){var t,r=e.Symbol;if(typeof r=="function")if(r.observable)t=r.observable;else{t=r.for("https://github.com/benlesh/symbol-observable");try{r.observable=t}catch{}}else t="@@observable";return t}});var ybt=ir((Bbo,mbt)=>{"use strict";J();K();z();mbt.exports=_bt()});var xNe=ir((Pbo,Ebt)=>{"use strict";J();K();z();var bbt=Object.prototype.toString;Ebt.exports=function(t){var r=bbt.call(t),i=r==="[object Arguments]";return i||(i=r!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&bbt.call(t.callee)==="[object Function]"),i}});var xbt=ir((Qbo,Nbt)=>{"use strict";J();K();z();var Obt;Object.keys||(CQ=Object.prototype.hasOwnProperty,TNe=Object.prototype.toString,vbt=xNe(),BNe=Object.prototype.propertyIsEnumerable,Rbt=!BNe.call({toString:null},"toString"),Sbt=BNe.call(function(){},"prototype"),wQ=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],_te=function(e){var t=e.constructor;return t&&t.prototype===e},Ibt={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},Cbt=(function(){if(typeof window>"u")return!1;for(var e in window)try{if(!Ibt["$"+e]&&CQ.call(window,e)&&window[e]!==null&&typeof window[e]=="object")try{_te(window[e])}catch{return!0}}catch{return!0}return!1})(),wbt=function(e){if(typeof window>"u"||!Cbt)return _te(e);try{return _te(e)}catch{return!1}},Obt=function(t){var r=t!==null&&typeof t=="object",i=TNe.call(t)==="[object Function]",n=vbt(t),o=r&&TNe.call(t)==="[object String]",d=[];if(!r&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var g=Sbt&&i;if(o&&t.length>0&&!CQ.call(t,0))for(var y=0;y<t.length;++y)d.push(String(y));if(n&&t.length>0)for(var _=0;_<t.length;++_)d.push(String(_));else for(var I in t)!(g&&I==="prototype")&&CQ.call(t,I)&&d.push(String(I));if(Rbt)for(var N=wbt(t),T=0;T<wQ.length;++T)!(N&&wQ[T]==="constructor")&&CQ.call(t,wQ[T])&&d.push(wQ[T]);return d});var CQ,TNe,vbt,BNe,Rbt,Sbt,wQ,_te,Ibt,Cbt,wbt;Nbt.exports=Obt});var Dbt=ir((Vbo,Mbt)=>{"use strict";J();K();z();var hgn=Array.prototype.slice,Agn=xNe(),Tbt=Object.keys,mte=Tbt?function(t){return Tbt(t)}:xbt(),Bbt=Object.keys;mte.shim=function(){if(Object.keys){var t=(function(){var r=Object.keys(arguments);return r&&r.length===arguments.length})(1,2);t||(Object.keys=function(i){return Agn(i)?Bbt(hgn.call(i)):Bbt(i)})}else Object.keys=mte;return Object.keys||mte};Mbt.exports=mte});var Pbt=ir(($bo,kbt)=>{"use strict";J();K();z();var yte=Object.defineProperty||!1;if(yte)try{yte({},"a",{value:1})}catch{yte=!1}kbt.exports=yte});var Fbt=ir((Zbo,Ubt)=>{"use strict";J();K();z();var MNe=Pbt(),Lbt=function(){return!!MNe};Lbt.hasArrayLengthDefineBug=function(){if(!MNe)return null;try{return MNe([],"length",{value:1}).length!==1}catch{return!0}};Ubt.exports=Lbt});var DNe=ir((rEo,qbt)=>{"use strict";J();K();z();var pgn=Dbt(),ggn=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",_gn=Object.prototype.toString,mgn=Array.prototype.concat,Qbt=Object.defineProperty,ygn=function(e){return typeof e=="function"&&_gn.call(e)==="[object Function]"},bgn=Fbt()(),Hbt=Qbt&&bgn,Egn=function(e,t,r,i){if(t in e){if(i===!0){if(e[t]===r)return}else if(!ygn(i)||!i())return}Hbt?Qbt(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},Gbt=function(e,t){var r=arguments.length>2?arguments[2]:{},i=pgn(t);ggn&&(i=mgn.call(i,Object.getOwnPropertySymbols(t)));for(var n=0;n<i.length;n+=1)Egn(e,i[n],t[i[n]],r[i[n]])};Gbt.supportsDescriptors=!!Hbt;qbt.exports=Gbt});var kNe=ir((aEo,bte)=>{"use strict";J();K();z();typeof self<"u"?bte.exports=self:typeof window<"u"?bte.exports=window:bte.exports=Function("return this")()});var PNe=ir((dEo,Vbt)=>{"use strict";J();K();z();var vgn=kNe();Vbt.exports=function(){return typeof global!="object"||!global||global.Math!==Math||global.Array!==Array?vgn:global}});var zbt=ir((AEo,Jbt)=>{"use strict";J();K();z();var Rgn=DNe(),Sgn=PNe();Jbt.exports=function(){var t=Sgn();if(Rgn.supportsDescriptors){var r=Object.getOwnPropertyDescriptor(t,"globalThis");(!r||r.configurable&&(r.enumerable||!r.writable||globalThis!==t))&&Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else(typeof globalThis!="object"||globalThis!==t)&&(t.globalThis=t);return t}});var Wbt=ir((mEo,Ybt)=>{"use strict";J();K();z();var Ign=DNe(),Cgn=kNe(),Kbt=PNe(),wgn=zbt(),Ogn=Kbt(),$bt=function(){return Ogn};Ign($bt,{getPolyfill:Kbt,implementation:Cgn,shim:wgn});Ybt.exports=$bt});var m8=ir(Eg=>{"use strict";J();K();z();var Ngn=Eg&&Eg.__extends||(function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var o in n)n.hasOwnProperty(o)&&(i[o]=n[o])},e(t,r)};return function(t,r){e(t,r);function i(){this.constructor=t}t.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}})();Object.defineProperty(Eg,"__esModule",{value:!0});Eg.NO_IL=Eg.NO=Eg.MemoryStream=Eg.Stream=void 0;var xgn=ybt(),Tgn=Wbt(),Ete=xgn.default(Tgn.getPolyfill()),Wn={};Eg.NO=Wn;function mA(){}function vte(e){for(var t=e.length,r=Array(t),i=0;i<t;++i)r[i]=e[i];return r}function Bgn(e,t){return function(i){return e(i)&&t(i)}}function UNe(e,t,r){try{return e.f(t)}catch(i){return r._e(i),Wn}}var B5={_n:mA,_e:mA,_c:mA};Eg.NO_IL=B5;function Xbt(e){e._start=function(r){r.next=r._n,r.error=r._e,r.complete=r._c,this.start(r)},e._stop=e.stop}var Mgn=(function(){function e(t,r){this._stream=t,this._listener=r}return e.prototype.unsubscribe=function(){this._stream._remove(this._listener)},e})(),Dgn=(function(){function e(t){this._listener=t}return e.prototype.next=function(t){this._listener._n(t)},e.prototype.error=function(t){this._listener._e(t)},e.prototype.complete=function(){this._listener._c()},e})(),kgn=(function(){function e(t){this.type="fromObservable",this.ins=t,this.active=!1}return e.prototype._start=function(t){this.out=t,this.active=!0,this._sub=this.ins.subscribe(new Dgn(t)),this.active||this._sub.unsubscribe()},e.prototype._stop=function(){this._sub&&this._sub.unsubscribe(),this.active=!1},e})(),Pgn=(function(){function e(t){this.type="merge",this.insArr=t,this.out=Wn,this.ac=0}return e.prototype._start=function(t){this.out=t;var r=this.insArr,i=r.length;this.ac=i;for(var n=0;n<i;n++)r[n]._add(this)},e.prototype._stop=function(){for(var t=this.insArr,r=t.length,i=0;i<r;i++)t[i]._remove(this);this.out=Wn},e.prototype._n=function(t){var r=this.out;r!==Wn&&r._n(t)},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){if(--this.ac<=0){var t=this.out;if(t===Wn)return;t._c()}},e})(),Lgn=(function(){function e(t,r,i){this.i=t,this.out=r,this.p=i,i.ils.push(this)}return e.prototype._n=function(t){var r=this.p,i=this.out;if(i!==Wn&&r.up(t,this.i)){var n=vte(r.vals);i._n(n)}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.p;t.out!==Wn&&--t.Nc===0&&t.out._c()},e})(),Ugn=(function(){function e(t){this.type="combine",this.insArr=t,this.out=Wn,this.ils=[],this.Nc=this.Nn=0,this.vals=[]}return e.prototype.up=function(t,r){var i=this.vals[r],n=this.Nn?i===Wn?--this.Nn:this.Nn:0;return this.vals[r]=t,n===0},e.prototype._start=function(t){this.out=t;var r=this.insArr,i=this.Nc=this.Nn=r.length,n=this.vals=new Array(i);if(i===0)t._n([]),t._c();else for(var o=0;o<i;o++)n[o]=Wn,r[o]._add(new Lgn(o,t,this))},e.prototype._stop=function(){for(var t=this.insArr,r=t.length,i=this.ils,n=0;n<r;n++)t[n]._remove(i[n]);this.out=Wn,this.ils=[],this.vals=[]},e})(),Fgn=(function(){function e(t){this.type="fromArray",this.a=t}return e.prototype._start=function(t){for(var r=this.a,i=0,n=r.length;i<n;i++)t._n(r[i]);t._c()},e.prototype._stop=function(){},e})(),Qgn=(function(){function e(t){this.type="fromPromise",this.on=!1,this.p=t}return e.prototype._start=function(t){var r=this;this.on=!0,this.p.then(function(i){r.on&&(t._n(i),t._c())},function(i){t._e(i)}).then(mA,function(i){setTimeout(function(){throw i})})},e.prototype._stop=function(){this.on=!1},e})(),Hgn=(function(){function e(t){this.type="periodic",this.period=t,this.intervalID=-1,this.i=0}return e.prototype._start=function(t){var r=this;function i(){t._n(r.i++)}this.intervalID=setInterval(i,this.period)},e.prototype._stop=function(){this.intervalID!==-1&&clearInterval(this.intervalID),this.intervalID=-1,this.i=0},e})(),Ggn=(function(){function e(t,r){this.type="debug",this.ins=t,this.out=Wn,this.s=mA,this.l="",typeof r=="string"?this.l=r:typeof r=="function"&&(this.s=r)}return e.prototype._start=function(t){this.out=t,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=this.s,n=this.l;if(i!==mA)try{i(t)}catch(o){r._e(o)}else n?console.log(n+":",t):console.log(t);r._n(t)}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),qgn=(function(){function e(t,r){this.type="drop",this.ins=r,this.out=Wn,this.max=t,this.dropped=0}return e.prototype._start=function(t){this.out=t,this.dropped=0,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;r!==Wn&&this.dropped++>=this.max&&r._n(t)},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),Vgn=(function(){function e(t,r){this.out=t,this.op=r}return e.prototype._n=function(){this.op.end()},e.prototype._e=function(t){this.out._e(t)},e.prototype._c=function(){this.op.end()},e})(),Jgn=(function(){function e(t,r){this.type="endWhen",this.ins=r,this.out=Wn,this.o=t,this.oil=B5}return e.prototype._start=function(t){this.out=t,this.o._add(this.oil=new Vgn(t,this)),this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.o._remove(this.oil),this.out=Wn,this.oil=B5},e.prototype.end=function(){var t=this.out;t!==Wn&&t._c()},e.prototype._n=function(t){var r=this.out;r!==Wn&&r._n(t)},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){this.end()},e})(),LNe=(function(){function e(t,r){this.type="filter",this.ins=r,this.out=Wn,this.f=t}return e.prototype._start=function(t){this.out=t,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=UNe(this,t,r);i===Wn||!i||r._n(t)}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),zgn=(function(){function e(t,r){this.out=t,this.op=r}return e.prototype._n=function(t){this.out._n(t)},e.prototype._e=function(t){this.out._e(t)},e.prototype._c=function(){this.op.inner=Wn,this.op.less()},e})(),Kgn=(function(){function e(t){this.type="flatten",this.ins=t,this.out=Wn,this.open=!0,this.inner=Wn,this.il=B5}return e.prototype._start=function(t){this.out=t,this.open=!0,this.inner=Wn,this.il=B5,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.inner!==Wn&&this.inner._remove(this.il),this.out=Wn,this.open=!0,this.inner=Wn,this.il=B5},e.prototype.less=function(){var t=this.out;t!==Wn&&!this.open&&this.inner===Wn&&t._c()},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=this,n=i.inner,o=i.il;n!==Wn&&o!==B5&&n._remove(o),(this.inner=t)._add(this.il=new zgn(r,this))}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){this.open=!1,this.less()},e})(),$gn=(function(){function e(t,r,i){var n=this;this.type="fold",this.ins=i,this.out=Wn,this.f=function(o){return t(n.acc,o)},this.acc=this.seed=r}return e.prototype._start=function(t){this.out=t,this.acc=this.seed,t._n(this.acc),this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn,this.acc=this.seed},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=UNe(this,t,r);i!==Wn&&r._n(this.acc=i)}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),Ygn=(function(){function e(t){this.type="last",this.ins=t,this.out=Wn,this.has=!1,this.val=Wn}return e.prototype._start=function(t){this.out=t,this.has=!1,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn,this.val=Wn},e.prototype._n=function(t){this.has=!0,this.val=t},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&(this.has?(t._n(this.val),t._c()):t._e(new Error("last() failed because input stream completed")))},e})(),Wgn=(function(){function e(t,r){this.type="map",this.ins=r,this.out=Wn,this.f=t}return e.prototype._start=function(t){this.out=t,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=UNe(this,t,r);i!==Wn&&r._n(i)}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),Xgn=(function(){function e(t){this.type="remember",this.ins=t,this.out=Wn}return e.prototype._start=function(t){this.out=t,this.ins._add(t)},e.prototype._stop=function(){this.ins._remove(this.out),this.out=Wn},e})(),Zgn=(function(){function e(t,r){this.type="replaceError",this.ins=r,this.out=Wn,this.f=t}return e.prototype._start=function(t){this.out=t,this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;r!==Wn&&r._n(t)},e.prototype._e=function(t){var r=this.out;if(r!==Wn)try{this.ins._remove(this),(this.ins=this.f(t))._add(this)}catch(i){r._e(i)}},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),jgn=(function(){function e(t,r){this.type="startWith",this.ins=t,this.out=Wn,this.val=r}return e.prototype._start=function(t){this.out=t,this.out._n(this.val),this.ins._add(t)},e.prototype._stop=function(){this.ins._remove(this.out),this.out=Wn},e})(),e_n=(function(){function e(t,r){this.type="take",this.ins=r,this.out=Wn,this.max=t,this.taken=0}return e.prototype._start=function(t){this.out=t,this.taken=0,this.max<=0?t._c():this.ins._add(this)},e.prototype._stop=function(){this.ins._remove(this),this.out=Wn},e.prototype._n=function(t){var r=this.out;if(r!==Wn){var i=++this.taken;i<this.max?r._n(t):i===this.max&&(r._n(t),r._c())}},e.prototype._e=function(t){var r=this.out;r!==Wn&&r._e(t)},e.prototype._c=function(){var t=this.out;t!==Wn&&t._c()},e})(),FNe=(function(){function e(t){this._prod=t||Wn,this._ils=[],this._stopID=Wn,this._dl=Wn,this._d=!1,this._target=null,this._err=Wn}return e.prototype._n=function(t){var r=this._ils,i=r.length;if(this._d&&this._dl._n(t),i==1)r[0]._n(t);else{if(i==0)return;for(var n=vte(r),o=0;o<i;o++)n[o]._n(t)}},e.prototype._e=function(t){if(this._err===Wn){this._err=t;var r=this._ils,i=r.length;if(this._x(),this._d&&this._dl._e(t),i==1)r[0]._e(t);else{if(i==0)return;for(var n=vte(r),o=0;o<i;o++)n[o]._e(t)}if(!this._d&&i==0)throw this._err}},e.prototype._c=function(){var t=this._ils,r=t.length;if(this._x(),this._d&&this._dl._c(),r==1)t[0]._c();else{if(r==0)return;for(var i=vte(t),n=0;n<r;n++)i[n]._c()}},e.prototype._x=function(){this._ils.length!==0&&(this._prod!==Wn&&this._prod._stop(),this._err=Wn,this._ils=[])},e.prototype._stopNow=function(){this._prod._stop(),this._err=Wn,this._stopID=Wn},e.prototype._add=function(t){var r=this._target;if(r)return r._add(t);var i=this._ils;if(i.push(t),!(i.length>1))if(this._stopID!==Wn)clearTimeout(this._stopID),this._stopID=Wn;else{var n=this._prod;n!==Wn&&n._start(this)}},e.prototype._remove=function(t){var r=this,i=this._target;if(i)return i._remove(t);var n=this._ils,o=n.indexOf(t);o>-1&&(n.splice(o,1),this._prod!==Wn&&n.length<=0?(this._err=Wn,this._stopID=setTimeout(function(){return r._stopNow()})):n.length===1&&this._pruneCycles())},e.prototype._pruneCycles=function(){this._hasNoSinks(this,[])&&this._remove(this._ils[0])},e.prototype._hasNoSinks=function(t,r){if(r.indexOf(t)!==-1)return!0;if(t.out===this)return!0;if(t.out&&t.out!==Wn)return this._hasNoSinks(t.out,r.concat(t));if(t._ils){for(var i=0,n=t._ils.length;i<n;i++)if(!this._hasNoSinks(t._ils[i],r.concat(t)))return!1;return!0}else return!1},e.prototype.ctor=function(){return this instanceof _8?_8:e},e.prototype.addListener=function(t){t._n=t.next||mA,t._e=t.error||mA,t._c=t.complete||mA,this._add(t)},e.prototype.removeListener=function(t){this._remove(t)},e.prototype.subscribe=function(t){return this.addListener(t),new Mgn(this,t)},e.prototype[Ete]=function(){return this},e.create=function(t){if(t){if(typeof t.start!="function"||typeof t.stop!="function")throw new Error("producer requires both start and stop functions");Xbt(t)}return new e(t)},e.createWithMemory=function(t){return t&&Xbt(t),new _8(t)},e.never=function(){return new e({_start:mA,_stop:mA})},e.empty=function(){return new e({_start:function(t){t._c()},_stop:mA})},e.throw=function(t){return new e({_start:function(r){r._e(t)},_stop:mA})},e.from=function(t){if(typeof t[Ete]=="function")return e.fromObservable(t);if(typeof t.then=="function")return e.fromPromise(t);if(Array.isArray(t))return e.fromArray(t);throw new TypeError("Type of input to from() must be an Array, Promise, or Observable")},e.of=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.fromArray(t)},e.fromArray=function(t){return new e(new Fgn(t))},e.fromPromise=function(t){return new e(new Qgn(t))},e.fromObservable=function(t){if(t.endWhen!==void 0)return t;var r=typeof t[Ete]=="function"?t[Ete]():t;return new e(new kgn(r))},e.periodic=function(t){return new e(new Hgn(t))},e.prototype._map=function(t){return new(this.ctor())(new Wgn(t,this))},e.prototype.map=function(t){return this._map(t)},e.prototype.mapTo=function(t){var r=this.map(function(){return t}),i=r._prod;return i.type="mapTo",r},e.prototype.filter=function(t){var r=this._prod;return r instanceof LNe?new e(new LNe(Bgn(r.f,t),r.ins)):new e(new LNe(t,this))},e.prototype.take=function(t){return new(this.ctor())(new e_n(t,this))},e.prototype.drop=function(t){return new e(new qgn(t,this))},e.prototype.last=function(){return new e(new Ygn(this))},e.prototype.startWith=function(t){return new _8(new jgn(this,t))},e.prototype.endWhen=function(t){return new(this.ctor())(new Jgn(t,this))},e.prototype.fold=function(t,r){return new _8(new $gn(t,r,this))},e.prototype.replaceError=function(t){return new(this.ctor())(new Zgn(t,this))},e.prototype.flatten=function(){return new e(new Kgn(this))},e.prototype.compose=function(t){return t(this)},e.prototype.remember=function(){return new _8(new Xgn(this))},e.prototype.debug=function(t){return new(this.ctor())(new Ggn(this,t))},e.prototype.imitate=function(t){if(t instanceof _8)throw new Error("A MemoryStream was given to imitate(), but it only supports a Stream. Read more about this restriction here: https://github.com/staltz/xstream#faq");this._target=t;for(var r=this._ils,i=r.length,n=0;n<i;n++)t._add(r[n]);this._ils=[]},e.prototype.shamefullySendNext=function(t){this._n(t)},e.prototype.shamefullySendError=function(t){this._e(t)},e.prototype.shamefullySendComplete=function(){this._c()},e.prototype.setDebugListener=function(t){t?(this._d=!0,t._n=t.next||mA,t._e=t.error||mA,t._c=t.complete||mA,this._dl=t):(this._d=!1,this._dl=Wn)},e.merge=function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return new e(new Pgn(r))},e.combine=function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return new e(new Ugn(r))},e})();Eg.Stream=FNe;var _8=(function(e){Ngn(t,e);function t(r){var i=e.call(this,r)||this;return i._has=!1,i}return t.prototype._n=function(r){this._v=r,this._has=!0,e.prototype._n.call(this,r)},t.prototype._add=function(r){var i=this._target;if(i)return i._add(r);var n=this._ils;if(n.push(r),n.length>1){this._has&&r._n(this._v);return}if(this._stopID!==Wn)this._has&&r._n(this._v),clearTimeout(this._stopID),this._stopID=Wn;else if(this._has)r._n(this._v);else{var o=this._prod;o!==Wn&&o._start(this)}},t.prototype._stopNow=function(){this._has=!1,e.prototype._stopNow.call(this)},t.prototype._x=function(){this._has=!1,e.prototype._x.call(this)},t.prototype.map=function(r){return this._map(r)},t.prototype.mapTo=function(r){return e.prototype.mapTo.call(this,r)},t.prototype.take=function(r){return e.prototype.take.call(this,r)},t.prototype.endWhen=function(r){return e.prototype.endWhen.call(this,r)},t.prototype.replaceError=function(r){return e.prototype.replaceError.call(this,r)},t.prototype.remember=function(){return this},t.prototype.debug=function(r){return e.prototype.debug.call(this,r)},t})(FNe);Eg.MemoryStream=_8;var t_n=FNe;Eg.default=t_n});var Zbt=ir(Rte=>{"use strict";J();K();z();Object.defineProperty(Rte,"__esModule",{value:!0});Rte.concat=void 0;var r_n=m8();function n_n(...e){let t=new Array,r=new Array,i=new Set,n=0;function o(){for(;t.length>0;)t.shift().unsubscribe();r.length=0,i.clear(),n=0}let d={start:g=>{e.forEach(I=>r.push([]));function y(I){for(;;){let N=r[I].shift();if(N===void 0)return;g.next(N)}}function _(){return n>=e.length}if(_()){g.complete();return}e.forEach((I,N)=>{t.push(I.subscribe({next:T=>{N===n?g.next(T):r[N].push(T)},complete:()=>{for(i.add(N);i.has(n);)y(n),n++;_()?g.complete():y(n)},error:T=>{g.error(T),o()}}))})},stop:()=>{o()}};return r_n.Stream.create(d)}Rte.concat=n_n});var jbt=ir(Ste=>{"use strict";J();K();z();Object.defineProperty(Ste,"__esModule",{value:!0});Ste.DefaultValueProducer=void 0;var QNe=class{get value(){return this.internalValue}constructor(t,r){this.callbacks=r,this.internalValue=t}update(t){this.internalValue=t,this.listener&&this.listener.next(t)}error(t){this.listener&&this.listener.error(t)}start(t){this.listener=t,t.next(this.internalValue),this.callbacks&&this.callbacks.onStarted()}stop(){this.callbacks&&this.callbacks.onStop(),this.listener=void 0}};Ste.DefaultValueProducer=QNe});var eEt=ir(Ite=>{"use strict";J();K();z();Object.defineProperty(Ite,"__esModule",{value:!0});Ite.dropDuplicates=void 0;function i_n(e){return r=>{let i=new Set;return r.filter(o=>!i.has(e(o))).debug(o=>i.add(e(o)))}}Ite.dropDuplicates=i_n});var rEt=ir(y8=>{"use strict";J();K();z();Object.defineProperty(y8,"__esModule",{value:!0});y8.firstEvent=y8.toListPromise=y8.fromListPromise=void 0;var o_n=m8();function a_n(e){let t={start:r=>{e.then(i=>{for(let n of i)r.next(n);r.complete()}).catch(i=>r.error(i))},stop:()=>{}};return o_n.Stream.create(t)}y8.fromListPromise=a_n;async function tEt(e,t){return new Promise((r,i)=>{if(t===0){r([]);return}let n=new Array;e.take(t).subscribe({next:o=>{n.push(o),n.length===t&&r(n)},complete:()=>{i(`Stream completed before all events could be collected. Collected ${n.length}, expected ${t}`)},error:o=>i(o)})})}y8.toListPromise=tEt;async function s_n(e){return(await tEt(e,1))[0]}y8.firstEvent=s_n});var nEt=ir(XE=>{"use strict";J();K();z();Object.defineProperty(XE,"__esModule",{value:!0});XE.lastValue=XE.asArray=XE.countStream=XE.Reducer=void 0;var U9=class{constructor(t,r,i){this.stream=t,this.reducer=r,this.state=i,this.completed=new Promise((n,o)=>{let d=this.stream.subscribe({next:g=>{this.state=this.reducer(this.state,g)},complete:()=>{n(),d.unsubscribe()},error:g=>{o(g),d.unsubscribe()}})})}value(){return this.state}async finished(){return this.completed}};XE.Reducer=U9;function c_n(e,t){return e+1}function u_n(e){return new U9(e,c_n,0)}XE.countStream=u_n;function d_n(e,t){return[...e,t]}function f_n(e){return new U9(e,d_n,[])}XE.asArray=f_n;function l_n(e,t){return t}function h_n(e){return new U9(e,l_n,void 0)}XE.lastValue=h_n});var iEt=ir(Cte=>{"use strict";J();K();z();Object.defineProperty(Cte,"__esModule",{value:!0});Cte.ValueAndUpdates=void 0;var A_n=m8(),HNe=class{get value(){return this.producer.value}constructor(t){this.producer=t,this.updates=A_n.MemoryStream.createWithMemory(this.producer)}async waitFor(t){let r=typeof t=="function"?t:i=>i===t;return new Promise((i,n)=>{let o=this.updates.subscribe({next:d=>{r(d)&&(i(d),setTimeout(()=>o.unsubscribe(),0))},complete:()=>{o.unsubscribe(),n("Update stream completed without expected value")},error:d=>{n(d)}})})}};Cte.ValueAndUpdates=HNe});var wte=ir(Zd=>{"use strict";J();K();z();var p_n=Zd&&Zd.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),g_n=Zd&&Zd.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&p_n(t,e,r)};Object.defineProperty(Zd,"__esModule",{value:!0});Zd.ValueAndUpdates=Zd.toListPromise=Zd.fromListPromise=Zd.firstEvent=Zd.dropDuplicates=Zd.DefaultValueProducer=Zd.concat=void 0;var __n=Zbt();Object.defineProperty(Zd,"concat",{enumerable:!0,get:function(){return __n.concat}});var m_n=jbt();Object.defineProperty(Zd,"DefaultValueProducer",{enumerable:!0,get:function(){return m_n.DefaultValueProducer}});var y_n=eEt();Object.defineProperty(Zd,"dropDuplicates",{enumerable:!0,get:function(){return y_n.dropDuplicates}});var GNe=rEt();Object.defineProperty(Zd,"firstEvent",{enumerable:!0,get:function(){return GNe.firstEvent}});Object.defineProperty(Zd,"fromListPromise",{enumerable:!0,get:function(){return GNe.fromListPromise}});Object.defineProperty(Zd,"toListPromise",{enumerable:!0,get:function(){return GNe.toListPromise}});g_n(nEt(),Zd);var b_n=iEt();Object.defineProperty(Zd,"ValueAndUpdates",{enumerable:!0,get:function(){return b_n.ValueAndUpdates}})});var qNe=ir(b8=>{"use strict";J();K();z();Object.defineProperty(b8,"__esModule",{value:!0});b8.jsonRpcCode=b8.isJsonRpcSuccessResponse=b8.isJsonRpcErrorResponse=void 0;function oEt(e){return typeof e.error=="object"}b8.isJsonRpcErrorResponse=oEt;function E_n(e){return!oEt(e)}b8.isJsonRpcSuccessResponse=E_n;b8.jsonRpcCode={parseError:-32700,invalidRequest:-32600,methodNotFound:-32601,invalidParams:-32602,internalError:-32603,serverError:{default:-32e3}}});var aEt=ir(Ote=>{"use strict";J();K();z();Object.defineProperty(Ote,"__esModule",{value:!0});Ote.JsonRpcClient=void 0;var v_n=wte(),R_n=qNe(),VNe=class{constructor(t){this.connection=t}async run(t){let r=this.connection.responseStream.filter(o=>o.id===t.id),i=(0,v_n.firstEvent)(r);this.connection.sendRequest(t);let n=await i;if((0,R_n.isJsonRpcErrorResponse)(n)){let o=n.error;throw new Error(`JSON RPC error: code=${o.code}; message='${o.message}'`)}return n}};Ote.JsonRpcClient=VNe});var uEt=ir(E8=>{"use strict";J();K();z();Object.defineProperty(E8,"__esModule",{value:!0});E8.isJsonCompatibleDictionary=E8.isJsonCompatibleArray=E8.isJsonCompatibleValue=void 0;function JNe(e){return!!(typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null||sEt(e)||cEt(e))}E8.isJsonCompatibleValue=JNe;function sEt(e){if(!Array.isArray(e))return!1;for(let t of e)if(!JNe(t))return!1;return!0}E8.isJsonCompatibleArray=sEt;function cEt(e){return typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]"?!1:Object.values(e).every(JNe)}E8.isJsonCompatibleDictionary=cEt});var hEt=ir(G2=>{"use strict";J();K();z();Object.defineProperty(G2,"__esModule",{value:!0});G2.parseJsonRpcResponse=G2.parseJsonRpcSuccessResponse=G2.parseJsonRpcErrorResponse=G2.parseJsonRpcRequest=G2.parseJsonRpcId=void 0;var v8=uEt();function dEt(e){if(!(0,v8.isJsonCompatibleDictionary)(e))throw new Error("Data must be JSON compatible dictionary");let t=e.id;return typeof t!="number"&&typeof t!="string"?null:t}G2.parseJsonRpcId=dEt;function S_n(e){if(!(0,v8.isJsonCompatibleDictionary)(e))throw new Error("Data must be JSON compatible dictionary");if(e.jsonrpc!=="2.0")throw new Error(`Got unexpected jsonrpc version: ${e.jsonrpc}`);let t=dEt(e);if(t===null)throw new Error("Invalid id field");let r=e.method;if(typeof r!="string")throw new Error("Invalid method field");if(!(0,v8.isJsonCompatibleArray)(e.params)&&!(0,v8.isJsonCompatibleDictionary)(e.params))throw new Error("Invalid params field");return{jsonrpc:"2.0",id:t,method:r,params:e.params}}G2.parseJsonRpcRequest=S_n;function I_n(e){if(typeof e.code!="number")throw new Error("Error property 'code' is not a number");if(typeof e.message!="string")throw new Error("Error property 'message' is not a string");let t;if(e.data===void 0)t=void 0;else if((0,v8.isJsonCompatibleValue)(e.data))t=e.data;else throw new Error("Error property 'data' is defined but not a JSON compatible value.");return{code:e.code,message:e.message,...t!==void 0?{data:t}:{}}}function fEt(e){if(!(0,v8.isJsonCompatibleDictionary)(e))throw new Error("Data must be JSON compatible dictionary");if(e.jsonrpc!=="2.0")throw new Error(`Got unexpected jsonrpc version: ${JSON.stringify(e)}`);let t=e.id;if(typeof t!="number"&&typeof t!="string"&&t!==null)throw new Error("Invalid id field");if(typeof e.error>"u"||!(0,v8.isJsonCompatibleDictionary)(e.error))throw new Error("Invalid error field");return{jsonrpc:"2.0",id:t,error:I_n(e.error)}}G2.parseJsonRpcErrorResponse=fEt;function lEt(e){if(!(0,v8.isJsonCompatibleDictionary)(e))throw new Error("Data must be JSON compatible dictionary");if(e.jsonrpc!=="2.0")throw new Error(`Got unexpected jsonrpc version: ${JSON.stringify(e)}`);let t=e.id;if(typeof t!="number"&&typeof t!="string")throw new Error("Invalid id field");if(typeof e.result>"u")throw new Error("Invalid result field");let r=e.result;return{jsonrpc:"2.0",id:t,result:r}}G2.parseJsonRpcSuccessResponse=lEt;function C_n(e){let t;try{t=fEt(e)}catch{t=lEt(e)}return t}G2.parseJsonRpcResponse=C_n});var Nte=ir(bd=>{"use strict";J();K();z();Object.defineProperty(bd,"__esModule",{value:!0});bd.jsonRpcCode=bd.isJsonRpcSuccessResponse=bd.isJsonRpcErrorResponse=bd.parseJsonRpcSuccessResponse=bd.parseJsonRpcResponse=bd.parseJsonRpcRequest=bd.parseJsonRpcId=bd.parseJsonRpcErrorResponse=bd.JsonRpcClient=bd.makeJsonRpcId=void 0;var w_n=gbt();Object.defineProperty(bd,"makeJsonRpcId",{enumerable:!0,get:function(){return w_n.makeJsonRpcId}});var O_n=aEt();Object.defineProperty(bd,"JsonRpcClient",{enumerable:!0,get:function(){return O_n.JsonRpcClient}});var OQ=hEt();Object.defineProperty(bd,"parseJsonRpcErrorResponse",{enumerable:!0,get:function(){return OQ.parseJsonRpcErrorResponse}});Object.defineProperty(bd,"parseJsonRpcId",{enumerable:!0,get:function(){return OQ.parseJsonRpcId}});Object.defineProperty(bd,"parseJsonRpcRequest",{enumerable:!0,get:function(){return OQ.parseJsonRpcRequest}});Object.defineProperty(bd,"parseJsonRpcResponse",{enumerable:!0,get:function(){return OQ.parseJsonRpcResponse}});Object.defineProperty(bd,"parseJsonRpcSuccessResponse",{enumerable:!0,get:function(){return OQ.parseJsonRpcSuccessResponse}});var zNe=qNe();Object.defineProperty(bd,"isJsonRpcErrorResponse",{enumerable:!0,get:function(){return zNe.isJsonRpcErrorResponse}});Object.defineProperty(bd,"isJsonRpcSuccessResponse",{enumerable:!0,get:function(){return zNe.isJsonRpcSuccessResponse}});Object.defineProperty(bd,"jsonRpcCode",{enumerable:!0,get:function(){return zNe.jsonRpcCode}})});var XEt=ir((bvo,WEt)=>{"use strict";J();K();z();function xEt(e,t){return function(){return e.apply(t,arguments)}}var{toString:N_n}=Object.prototype,{getPrototypeOf:Pte}=Object,{iterator:Lte,toStringTag:TEt}=Symbol,Ute=(e=>t=>{let r=N_n.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Oy=e=>(e=e.toLowerCase(),t=>Ute(t)===e),Fte=e=>t=>typeof t===e,{isArray:H9}=Array,Q9=Fte("undefined");function xQ(e){return e!==null&&!Q9(e)&&e.constructor!==null&&!Q9(e.constructor)&&_1(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var BEt=Oy("ArrayBuffer");function x_n(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&BEt(e.buffer),t}var T_n=Fte("string"),_1=Fte("function"),MEt=Fte("number"),TQ=e=>e!==null&&typeof e=="object",B_n=e=>e===!0||e===!1,Tte=e=>{if(Ute(e)!=="object")return!1;let t=Pte(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(TEt in e)&&!(Lte in e)},M_n=e=>{if(!TQ(e)||xQ(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},D_n=Oy("Date"),k_n=Oy("File"),P_n=e=>!!(e&&typeof e.uri<"u"),L_n=e=>e&&typeof e.getParts<"u",U_n=Oy("Blob"),F_n=Oy("FileList"),Q_n=e=>TQ(e)&&_1(e.pipe);function H_n(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}var AEt=H_n(),pEt=typeof AEt.FormData<"u"?AEt.FormData:void 0,G_n=e=>{if(!e)return!1;if(pEt&&e instanceof pEt)return!0;let t=Pte(e);if(!t||t===Object.prototype||!_1(e.append))return!1;let r=Ute(e);return r==="formdata"||r==="object"&&_1(e.toString)&&e.toString()==="[object FormData]"},q_n=Oy("URLSearchParams"),[V_n,J_n,z_n,K_n]=["ReadableStream","Request","Response","Headers"].map(Oy),$_n=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function BQ(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),H9(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{if(xQ(e))return;let o=r?Object.getOwnPropertyNames(e):Object.keys(e),d=o.length,g;for(i=0;i<d;i++)g=o[i],t.call(null,e[g],g,e)}}function DEt(e,t){if(xQ(e))return null;t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var M5=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,kEt=e=>!Q9(e)&&e!==M5;function XNe(){let{caseless:e,skipUndefined:t}=kEt(this)&&this||{},r={},i=(n,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;let d=e&&DEt(r,o)||o;Tte(r[d])&&Tte(n)?r[d]=XNe(r[d],n):Tte(n)?r[d]=XNe({},n):H9(n)?r[d]=n.slice():(!t||!Q9(n))&&(r[d]=n)};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&BQ(arguments[n],i);return r}var Y_n=(e,t,r,{allOwnKeys:i}={})=>(BQ(t,(n,o)=>{r&&_1(n)?Object.defineProperty(e,o,{value:xEt(n,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),e),W_n=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),X_n=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},Z_n=(e,t,r,i)=>{let n,o,d,g={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),o=n.length;o-- >0;)d=n[o],(!i||i(d,e,t))&&!g[d]&&(t[d]=e[d],g[d]=!0);e=r!==!1&&Pte(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},j_n=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},e2n=e=>{if(!e)return null;if(H9(e))return e;let t=e.length;if(!MEt(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},t2n=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Pte(Uint8Array)),r2n=(e,t)=>{let i=(e&&e[Lte]).call(e),n;for(;(n=i.next())&&!n.done;){let o=n.value;t.call(e,o[0],o[1])}},n2n=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},i2n=Oy("HTMLFormElement"),o2n=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),gEt=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),a2n=Oy("RegExp"),PEt=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};BQ(r,(n,o)=>{let d;(d=t(n,o,e))!==!1&&(i[o]=d||n)}),Object.defineProperties(e,i)},s2n=e=>{PEt(e,(t,r)=>{if(_1(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(_1(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},c2n=(e,t)=>{let r={},i=n=>{n.forEach(o=>{r[o]=!0})};return H9(e)?i(e):i(String(e).split(t)),r},u2n=()=>{},d2n=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function f2n(e){return!!(e&&_1(e.append)&&e[TEt]==="FormData"&&e[Lte])}var l2n=e=>{let t=new Array(10),r=(i,n)=>{if(TQ(i)){if(t.indexOf(i)>=0)return;if(xQ(i))return i;if(!("toJSON"in i)){t[n]=i;let o=H9(i)?[]:{};return BQ(i,(d,g)=>{let y=r(d,n+1);!Q9(y)&&(o[g]=y)}),t[n]=void 0,o}}return i};return r(e,0)},h2n=Oy("AsyncFunction"),A2n=e=>e&&(TQ(e)||_1(e))&&_1(e.then)&&_1(e.catch),LEt=((e,t)=>e?setImmediate:t?((r,i)=>(M5.addEventListener("message",({source:n,data:o})=>{n===M5&&o===r&&i.length&&i.shift()()},!1),n=>{i.push(n),M5.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",_1(M5.postMessage)),p2n=typeof queueMicrotask<"u"?queueMicrotask.bind(M5):typeof me<"u"&&me.nextTick||LEt,g2n=e=>e!=null&&_1(e[Lte]),cn={isArray:H9,isArrayBuffer:BEt,isBuffer:xQ,isFormData:G_n,isArrayBufferView:x_n,isString:T_n,isNumber:MEt,isBoolean:B_n,isObject:TQ,isPlainObject:Tte,isEmptyObject:M_n,isReadableStream:V_n,isRequest:J_n,isResponse:z_n,isHeaders:K_n,isUndefined:Q9,isDate:D_n,isFile:k_n,isReactNativeBlob:P_n,isReactNative:L_n,isBlob:U_n,isRegExp:a2n,isFunction:_1,isStream:Q_n,isURLSearchParams:q_n,isTypedArray:t2n,isFileList:F_n,forEach:BQ,merge:XNe,extend:Y_n,trim:$_n,stripBOM:W_n,inherits:X_n,toFlatObject:Z_n,kindOf:Ute,kindOfTest:Oy,endsWith:j_n,toArray:e2n,forEachEntry:r2n,matchAll:n2n,isHTMLForm:i2n,hasOwnProperty:gEt,hasOwnProp:gEt,reduceDescriptors:PEt,freezeMethods:s2n,toObjectSet:c2n,toCamelCase:o2n,noop:u2n,toFiniteNumber:d2n,findKey:DEt,global:M5,isContextDefined:kEt,isSpecCompliantForm:f2n,toJSONObject:l2n,isAsyncFn:h2n,isThenable:A2n,setImmediate:LEt,asap:p2n,isIterable:g2n},Bo=class e extends Error{static from(t,r,i,n,o,d){let g=new e(t.message,r||t.code,i,n,o);return g.cause=t,g.name=t.name,t.status!=null&&g.status==null&&(g.status=t.status),d&&Object.assign(g,d),g}constructor(t,r,i,n,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),i&&(this.config=i),n&&(this.request=n),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:cn.toJSONObject(this.config),code:this.code,status:this.status}}};Bo.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Bo.ERR_BAD_OPTION="ERR_BAD_OPTION";Bo.ECONNABORTED="ECONNABORTED";Bo.ETIMEDOUT="ETIMEDOUT";Bo.ERR_NETWORK="ERR_NETWORK";Bo.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Bo.ERR_DEPRECATED="ERR_DEPRECATED";Bo.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Bo.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Bo.ERR_CANCELED="ERR_CANCELED";Bo.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Bo.ERR_INVALID_URL="ERR_INVALID_URL";Bo.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";var _2n=null;function ZNe(e){return cn.isPlainObject(e)||cn.isArray(e)}function UEt(e){return cn.endsWith(e,"[]")?e.slice(0,-2):e}function KNe(e,t,r){return e?e.concat(t).map(function(n,o){return n=UEt(n),!r&&o?"["+n+"]":n}).join(r?".":""):t}function m2n(e){return cn.isArray(e)&&!e.some(ZNe)}var y2n=cn.toFlatObject(cn,{},null,function(t){return/^is[A-Z]/.test(t)});function Qte(e,t,r){if(!cn.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=cn.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(G,q){return!cn.isUndefined(q[G])});let i=r.metaTokens,n=r.visitor||N,o=r.dots,d=r.indexes,g=r.Blob||typeof Blob<"u"&&Blob,y=r.maxDepth===void 0?100:r.maxDepth,_=g&&cn.isSpecCompliantForm(t);if(!cn.isFunction(n))throw new TypeError("visitor must be a function");function I(P){if(P===null)return"";if(cn.isDate(P))return P.toISOString();if(cn.isBoolean(P))return P.toString();if(!_&&cn.isBlob(P))throw new Bo("Blob is not supported. Use a Buffer instead.");return cn.isArrayBuffer(P)||cn.isTypedArray(P)?_&&typeof Blob=="function"?new Blob([P]):fe.from(P):P}function N(P,G,q){let Y=P;if(cn.isReactNative(t)&&cn.isReactNativeBlob(P))return t.append(KNe(q,G,o),I(P)),!1;if(P&&!q&&typeof P=="object"){if(cn.endsWith(G,"{}"))G=i?G:G.slice(0,-2),P=JSON.stringify(P);else if(cn.isArray(P)&&m2n(P)||(cn.isFileList(P)||cn.endsWith(G,"[]"))&&(Y=cn.toArray(P)))return G=UEt(G),Y.forEach(function(ce,le){!(cn.isUndefined(ce)||ce===null)&&t.append(d===!0?KNe([G],le,o):d===null?G:G+"[]",I(ce))}),!1}return ZNe(P)?!0:(t.append(KNe(q,G,o),I(P)),!1)}let T=[],M=Object.assign(y2n,{defaultVisitor:N,convertValue:I,isVisitable:ZNe});function D(P,G,q=0){if(!cn.isUndefined(P)){if(q>y)throw new Bo("Object is too deeply nested ("+q+" levels). Max depth: "+y,Bo.ERR_FORM_DATA_DEPTH_EXCEEDED);if(T.indexOf(P)!==-1)throw Error("Circular reference detected in "+G.join("."));T.push(P),cn.forEach(P,function(ne,ce){(!(cn.isUndefined(ne)||ne===null)&&n.call(t,ne,cn.isString(ce)?ce.trim():ce,G,M))===!0&&D(ne,G?G.concat(ce):[ce],q+1)}),T.pop()}}if(!cn.isObject(e))throw new TypeError("data must be an object");return D(e),t}function _Et(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(i){return t[i]})}function rxe(e,t){this._pairs=[],e&&Qte(e,this,t)}var FEt=rxe.prototype;FEt.append=function(t,r){this._pairs.push([t,r])};FEt.toString=function(t){let r=t?function(i){return t.call(this,i,_Et)}:_Et;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};function b2n(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function QEt(e,t,r){if(!t)return e;let i=r&&r.encode||b2n,n=cn.isFunction(r)?{serialize:r}:r,o=n&&n.serialize,d;if(o?d=o(t,n):d=cn.isURLSearchParams(t)?t.toString():new rxe(t,n).toString(i),d){let g=e.indexOf("#");g!==-1&&(e=e.slice(0,g)),e+=(e.indexOf("?")===-1?"?":"&")+d}return e}var Dte=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){cn.forEach(this.handlers,function(i){i!==null&&t(i)})}},nxe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},E2n=typeof URLSearchParams<"u"?URLSearchParams:rxe,v2n=typeof FormData<"u"?FormData:null,R2n=typeof Blob<"u"?Blob:null,S2n={isBrowser:!0,classes:{URLSearchParams:E2n,FormData:v2n,Blob:R2n},protocols:["http","https","file","blob","url","data"]},ixe=typeof window<"u"&&typeof document<"u",jNe=typeof navigator=="object"&&navigator||void 0,I2n=ixe&&(!jNe||["ReactNative","NativeScript","NS"].indexOf(jNe.product)<0),C2n=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",w2n=ixe&&window.location.href||"http://localhost",O2n=Object.freeze({__proto__:null,hasBrowserEnv:ixe,hasStandardBrowserEnv:I2n,hasStandardBrowserWebWorkerEnv:C2n,navigator:jNe,origin:w2n}),yA={...O2n,...S2n};function N2n(e,t){return Qte(e,new yA.classes.URLSearchParams,{visitor:function(r,i,n,o){return yA.isNode&&cn.isBuffer(r)?(this.append(i,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function x2n(e){return cn.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function T2n(e){let t={},r=Object.keys(e),i,n=r.length,o;for(i=0;i<n;i++)o=r[i],t[o]=e[o];return t}function HEt(e){function t(r,i,n,o){let d=r[o++];if(d==="__proto__")return!0;let g=Number.isFinite(+d),y=o>=r.length;return d=!d&&cn.isArray(n)?n.length:d,y?(cn.hasOwnProp(n,d)?n[d]=cn.isArray(n[d])?n[d].concat(i):[n[d],i]:n[d]=i,!g):((!n[d]||!cn.isObject(n[d]))&&(n[d]=[]),t(r,i,n[d],o)&&cn.isArray(n[d])&&(n[d]=T2n(n[d])),!g)}if(cn.isFormData(e)&&cn.isFunction(e.entries)){let r={};return cn.forEachEntry(e,(i,n)=>{t(x2n(i),n,r,0)}),r}return null}var F9=(e,t)=>e!=null&&cn.hasOwnProp(e,t)?e[t]:void 0;function B2n(e,t,r){if(cn.isString(e))try{return(t||JSON.parse)(e),cn.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var MQ={transitional:nxe,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,o=cn.isObject(t);if(o&&cn.isHTMLForm(t)&&(t=new FormData(t)),cn.isFormData(t))return n?JSON.stringify(HEt(t)):t;if(cn.isArrayBuffer(t)||cn.isBuffer(t)||cn.isStream(t)||cn.isFile(t)||cn.isBlob(t)||cn.isReadableStream(t))return t;if(cn.isArrayBufferView(t))return t.buffer;if(cn.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let g;if(o){let y=F9(this,"formSerializer");if(i.indexOf("application/x-www-form-urlencoded")>-1)return N2n(t,y).toString();if((g=cn.isFileList(t))||i.indexOf("multipart/form-data")>-1){let _=F9(this,"env"),I=_&&_.FormData;return Qte(g?{"files[]":t}:t,I&&new I,y)}}return o||n?(r.setContentType("application/json",!1),B2n(t)):t}],transformResponse:[function(t){let r=F9(this,"transitional")||MQ.transitional,i=r&&r.forcedJSONParsing,n=F9(this,"responseType"),o=n==="json";if(cn.isResponse(t)||cn.isReadableStream(t))return t;if(t&&cn.isString(t)&&(i&&!n||o)){let g=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t,F9(this,"parseReviver"))}catch(y){if(g)throw y.name==="SyntaxError"?Bo.from(y,Bo.ERR_BAD_RESPONSE,this,null,F9(this,"response")):y}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:yA.classes.FormData,Blob:yA.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};cn.forEach(["delete","get","head","post","put","patch"],e=>{MQ.headers[e]={}});var M2n=cn.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),D2n=e=>{let t={},r,i,n;return e&&e.split(` +`).forEach(function(d){n=d.indexOf(":"),r=d.substring(0,n).trim().toLowerCase(),i=d.substring(n+1).trim(),!(!r||t[r]&&M2n[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t},mEt=Symbol("internals"),k2n=/[^\x09\x20-\x7E\x80-\xFF]/g;function P2n(e){let t=0,r=e.length;for(;t<r;){let i=e.charCodeAt(t);if(i!==9&&i!==32)break;t+=1}for(;r>t;){let i=e.charCodeAt(r-1);if(i!==9&&i!==32)break;r-=1}return t===0&&r===e.length?e:e.slice(t,r)}function NQ(e){return e&&String(e).trim().toLowerCase()}function L2n(e){return P2n(e.replace(k2n,""))}function Bte(e){return e===!1||e==null?e:cn.isArray(e)?e.map(Bte):L2n(String(e))}function U2n(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var F2n=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $Ne(e,t,r,i,n){if(cn.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!cn.isString(t)){if(cn.isString(i))return t.indexOf(i)!==-1;if(cn.isRegExp(i))return i.test(t)}}function Q2n(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function H2n(e,t){let r=cn.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,o,d){return this[i].call(this,t,n,o,d)},configurable:!0})})}var bA=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function o(g,y,_){let I=NQ(y);if(!I)throw new Error("header name must be a non-empty string");let N=cn.findKey(n,I);(!N||n[N]===void 0||_===!0||_===void 0&&n[N]!==!1)&&(n[N||y]=Bte(g))}let d=(g,y)=>cn.forEach(g,(_,I)=>o(_,I,y));if(cn.isPlainObject(t)||t instanceof this.constructor)d(t,r);else if(cn.isString(t)&&(t=t.trim())&&!F2n(t))d(D2n(t),r);else if(cn.isObject(t)&&cn.isIterable(t)){let g={},y,_;for(let I of t){if(!cn.isArray(I))throw TypeError("Object iterator must return a key-value pair");g[_=I[0]]=(y=g[_])?cn.isArray(y)?[...y,I[1]]:[y,I[1]]:I[1]}d(g,r)}else t!=null&&o(r,t,i);return this}get(t,r){if(t=NQ(t),t){let i=cn.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return U2n(n);if(cn.isFunction(r))return r.call(this,n,i);if(cn.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=NQ(t),t){let i=cn.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||$Ne(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function o(d){if(d=NQ(d),d){let g=cn.findKey(i,d);g&&(!r||$Ne(i,i[g],g,r))&&(delete i[g],n=!0)}}return cn.isArray(t)?t.forEach(o):o(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let o=r[i];(!t||$Ne(this,this[o],o,t,!0))&&(delete this[o],n=!0)}return n}normalize(t){let r=this,i={};return cn.forEach(this,(n,o)=>{let d=cn.findKey(i,o);if(d){r[d]=Bte(n),delete r[o];return}let g=t?Q2n(o):String(o).trim();g!==o&&delete r[o],r[g]=Bte(n),i[g]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return cn.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&cn.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[mEt]=this[mEt]={accessors:{}}).accessors,n=this.prototype;function o(d){let g=NQ(d);i[g]||(H2n(n,d),i[g]=!0)}return cn.isArray(t)?t.forEach(o):o(t),this}};bA.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);cn.reduceDescriptors(bA.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});cn.freezeMethods(bA);function YNe(e,t){let r=this||MQ,i=t||r,n=bA.from(i.headers),o=i.data;return cn.forEach(e,function(g){o=g.call(r,o,n.normalize(),t?t.status:void 0)}),n.normalize(),o}function GEt(e){return!!(e&&e.__CANCEL__)}var D5=class extends Bo{constructor(t,r,i){super(t??"canceled",Bo.ERR_CANCELED,r,i),this.name="CanceledError",this.__CANCEL__=!0}};function qEt(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new Bo("Request failed with status code "+r.status,[Bo.ERR_BAD_REQUEST,Bo.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function G2n(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function q2n(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,o=0,d;return t=t!==void 0?t:1e3,function(y){let _=Date.now(),I=i[o];d||(d=_),r[n]=y,i[n]=_;let N=o,T=0;for(;N!==n;)T+=r[N++],N=N%e;if(n=(n+1)%e,n===o&&(o=(o+1)%e),_-d<t)return;let M=I&&_-I;return M?Math.round(T*1e3/M):void 0}}function V2n(e,t){let r=0,i=1e3/t,n,o,d=(_,I=Date.now())=>{r=I,n=null,o&&(clearTimeout(o),o=null),e(..._)};return[(..._)=>{let I=Date.now(),N=I-r;N>=i?d(_,I):(n=_,o||(o=setTimeout(()=>{o=null,d(n)},i-N)))},()=>n&&d(n)]}var kte=(e,t,r=3)=>{let i=0,n=q2n(50,250);return V2n(o=>{let d=o.loaded,g=o.lengthComputable?o.total:void 0,y=g!=null?Math.min(d,g):d,_=Math.max(0,y-i),I=n(_);i=Math.max(i,y);let N={loaded:y,total:g,progress:g?y/g:void 0,bytes:_,rate:I||void 0,estimated:I&&g?(g-y)/I:void 0,event:o,lengthComputable:g!=null,[t?"download":"upload"]:!0};e(N)},r)},yEt=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},bEt=e=>(...t)=>cn.asap(()=>e(...t)),J2n=yA.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,yA.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(yA.origin),yA.navigator&&/(msie|trident)/i.test(yA.navigator.userAgent)):()=>!0,z2n=yA.hasStandardBrowserEnv?{write(e,t,r,i,n,o,d){if(typeof document>"u")return;let g=[`${e}=${encodeURIComponent(t)}`];cn.isNumber(r)&&g.push(`expires=${new Date(r).toUTCString()}`),cn.isString(i)&&g.push(`path=${i}`),cn.isString(n)&&g.push(`domain=${n}`),o===!0&&g.push("secure"),cn.isString(d)&&g.push(`SameSite=${d}`),document.cookie=g.join("; ")},read(e){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function K2n(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function $2n(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function VEt(e,t,r){let i=!K2n(t);return e&&(i||r===!1)?$2n(e,t):t}var EEt=e=>e instanceof bA?{...e}:e;function k5(e,t){t=t||{};let r=Object.create(null);Object.defineProperty(r,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function i(_,I,N,T){return cn.isPlainObject(_)&&cn.isPlainObject(I)?cn.merge.call({caseless:T},_,I):cn.isPlainObject(I)?cn.merge({},I):cn.isArray(I)?I.slice():I}function n(_,I,N,T){if(cn.isUndefined(I)){if(!cn.isUndefined(_))return i(void 0,_,N,T)}else return i(_,I,N,T)}function o(_,I){if(!cn.isUndefined(I))return i(void 0,I)}function d(_,I){if(cn.isUndefined(I)){if(!cn.isUndefined(_))return i(void 0,_)}else return i(void 0,I)}function g(_,I,N){if(cn.hasOwnProp(t,N))return i(_,I);if(cn.hasOwnProp(e,N))return i(void 0,_)}let y={url:o,method:o,data:o,baseURL:d,transformRequest:d,transformResponse:d,paramsSerializer:d,timeout:d,timeoutMessage:d,withCredentials:d,withXSRFToken:d,adapter:d,responseType:d,xsrfCookieName:d,xsrfHeaderName:d,onUploadProgress:d,onDownloadProgress:d,decompress:d,maxContentLength:d,maxBodyLength:d,beforeRedirect:d,transport:d,httpAgent:d,httpsAgent:d,cancelToken:d,socketPath:d,allowedSocketPaths:d,responseEncoding:d,validateStatus:g,headers:(_,I,N)=>n(EEt(_),EEt(I),N,!0)};return cn.forEach(Object.keys({...e,...t}),function(I){if(I==="__proto__"||I==="constructor"||I==="prototype")return;let N=cn.hasOwnProp(y,I)?y[I]:n,T=cn.hasOwnProp(e,I)?e[I]:void 0,M=cn.hasOwnProp(t,I)?t[I]:void 0,D=N(T,M,I);cn.isUndefined(D)&&N!==g||(r[I]=D)}),r}var JEt=e=>{let t=k5({},e),r=T=>cn.hasOwnProp(t,T)?t[T]:void 0,i=r("data"),n=r("withXSRFToken"),o=r("xsrfHeaderName"),d=r("xsrfCookieName"),g=r("headers"),y=r("auth"),_=r("baseURL"),I=r("allowAbsoluteUrls"),N=r("url");if(t.headers=g=bA.from(g),t.url=QEt(VEt(_,N,I),e.params,e.paramsSerializer),y&&g.set("Authorization","Basic "+btoa((y.username||"")+":"+(y.password?unescape(encodeURIComponent(y.password)):""))),cn.isFormData(i)){if(yA.hasStandardBrowserEnv||yA.hasStandardBrowserWebWorkerEnv)g.setContentType(void 0);else if(cn.isFunction(i.getHeaders)){let T=i.getHeaders(),M=["content-type","content-length"];Object.entries(T).forEach(([D,P])=>{M.includes(D.toLowerCase())&&g.set(D,P)})}}if(yA.hasStandardBrowserEnv&&(cn.isFunction(n)&&(n=n(t)),n===!0||n==null&&J2n(t.url))){let M=o&&d&&z2n.read(d);M&&g.set(o,M)}return t},Y2n=typeof XMLHttpRequest<"u",W2n=Y2n&&function(e){return new Promise(function(r,i){let n=JEt(e),o=n.data,d=bA.from(n.headers).normalize(),{responseType:g,onUploadProgress:y,onDownloadProgress:_}=n,I,N,T,M,D;function P(){M&&M(),D&&D(),n.cancelToken&&n.cancelToken.unsubscribe(I),n.signal&&n.signal.removeEventListener("abort",I)}let G=new XMLHttpRequest;G.open(n.method.toUpperCase(),n.url,!0),G.timeout=n.timeout;function q(){if(!G)return;let ne=bA.from("getAllResponseHeaders"in G&&G.getAllResponseHeaders()),le={data:!g||g==="text"||g==="json"?G.responseText:G.response,status:G.status,statusText:G.statusText,headers:ne,config:e,request:G};qEt(function(ae){r(ae),P()},function(ae){i(ae),P()},le),G=null}"onloadend"in G?G.onloadend=q:G.onreadystatechange=function(){!G||G.readyState!==4||G.status===0&&!(G.responseURL&&G.responseURL.indexOf("file:")===0)||setTimeout(q)},G.onabort=function(){G&&(i(new Bo("Request aborted",Bo.ECONNABORTED,e,G)),G=null)},G.onerror=function(ce){let le=ce&&ce.message?ce.message:"Network Error",pe=new Bo(le,Bo.ERR_NETWORK,e,G);pe.event=ce||null,i(pe),G=null},G.ontimeout=function(){let ce=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",le=n.transitional||nxe;n.timeoutErrorMessage&&(ce=n.timeoutErrorMessage),i(new Bo(ce,le.clarifyTimeoutError?Bo.ETIMEDOUT:Bo.ECONNABORTED,e,G)),G=null},o===void 0&&d.setContentType(null),"setRequestHeader"in G&&cn.forEach(d.toJSON(),function(ce,le){G.setRequestHeader(le,ce)}),cn.isUndefined(n.withCredentials)||(G.withCredentials=!!n.withCredentials),g&&g!=="json"&&(G.responseType=n.responseType),_&&([T,D]=kte(_,!0),G.addEventListener("progress",T)),y&&G.upload&&([N,M]=kte(y),G.upload.addEventListener("progress",N),G.upload.addEventListener("loadend",M)),(n.cancelToken||n.signal)&&(I=ne=>{G&&(i(!ne||ne.type?new D5(null,e,G):ne),G.abort(),G=null)},n.cancelToken&&n.cancelToken.subscribe(I),n.signal&&(n.signal.aborted?I():n.signal.addEventListener("abort",I)));let Y=G2n(n.url);if(Y&&yA.protocols.indexOf(Y)===-1){i(new Bo("Unsupported protocol "+Y+":",Bo.ERR_BAD_REQUEST,e));return}G.send(o||null)})},X2n=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,o=function(_){if(!n){n=!0,g();let I=_ instanceof Error?_:this.reason;i.abort(I instanceof Bo?I:new D5(I instanceof Error?I.message:I))}},d=t&&setTimeout(()=>{d=null,o(new Bo(`timeout of ${t}ms exceeded`,Bo.ETIMEDOUT))},t),g=()=>{e&&(d&&clearTimeout(d),d=null,e.forEach(_=>{_.unsubscribe?_.unsubscribe(o):_.removeEventListener("abort",o)}),e=null)};e.forEach(_=>_.addEventListener("abort",o));let{signal:y}=i;return y.unsubscribe=()=>cn.asap(g),y}},Z2n=function*(e,t){let r=e.byteLength;if(r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},j2n=async function*(e,t){for await(let r of emn(e))yield*Z2n(r,t)},emn=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},vEt=(e,t,r,i)=>{let n=j2n(e,t),o=0,d,g=y=>{d||(d=!0,i&&i(y))};return new ReadableStream({async pull(y){try{let{done:_,value:I}=await n.next();if(_){g(),y.close();return}let N=I.byteLength;if(r){let T=o+=N;r(T)}y.enqueue(new Uint8Array(I))}catch(_){throw g(_),_}},cancel(y){return g(y),n.return()}},{highWaterMark:2})},REt=64*1024,{isFunction:xte}=cn,tmn=(({Request:e,Response:t})=>({Request:e,Response:t}))(cn.global),{ReadableStream:SEt,TextEncoder:IEt}=cn.global,CEt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},rmn=e=>{e=cn.merge.call({skipUndefined:!0},tmn,e);let{fetch:t,Request:r,Response:i}=e,n=t?xte(t):typeof fetch=="function",o=xte(r),d=xte(i);if(!n)return!1;let g=n&&xte(SEt),y=n&&(typeof IEt=="function"?(D=>P=>D.encode(P))(new IEt):async D=>new Uint8Array(await new r(D).arrayBuffer())),_=o&&g&&CEt(()=>{let D=!1,P=new r(yA.origin,{body:new SEt,method:"POST",get duplex(){return D=!0,"half"}}),G=P.headers.has("Content-Type");return P.body!=null&&P.body.cancel(),D&&!G}),I=d&&g&&CEt(()=>cn.isReadableStream(new i("").body)),N={stream:I&&(D=>D.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(D=>{!N[D]&&(N[D]=(P,G)=>{let q=P&&P[D];if(q)return q.call(P);throw new Bo(`Response type '${D}' is not supported`,Bo.ERR_NOT_SUPPORT,G)})});let T=async D=>{if(D==null)return 0;if(cn.isBlob(D))return D.size;if(cn.isSpecCompliantForm(D))return(await new r(yA.origin,{method:"POST",body:D}).arrayBuffer()).byteLength;if(cn.isArrayBufferView(D)||cn.isArrayBuffer(D))return D.byteLength;if(cn.isURLSearchParams(D)&&(D=D+""),cn.isString(D))return(await y(D)).byteLength},M=async(D,P)=>{let G=cn.toFiniteNumber(D.getContentLength());return G??T(P)};return async D=>{let{url:P,method:G,data:q,signal:Y,cancelToken:ne,timeout:ce,onDownloadProgress:le,onUploadProgress:pe,responseType:ae,headers:W,withCredentials:se="same-origin",fetchOptions:O}=JEt(D),s=t||fetch;ae=ae?(ae+"").toLowerCase():"text";let l=X2n([Y,ne&&ne.toAbortSignal()],ce),A=null,m=l&&l.unsubscribe&&(()=>{l.unsubscribe()}),E;try{if(pe&&_&&G!=="get"&&G!=="head"&&(E=await M(W,q))!==0){let U=new r(P,{method:"POST",body:q,duplex:"half"}),F;if(cn.isFormData(q)&&(F=U.headers.get("content-type"))&&W.setContentType(F),U.body){let[X,Ae]=yEt(E,kte(bEt(pe)));q=vEt(U.body,REt,X,Ae)}}cn.isString(se)||(se=se?"include":"omit");let w=o&&"credentials"in r.prototype;if(cn.isFormData(q)){let U=W.getContentType();U&&/^multipart\/form-data/i.test(U)&&!/boundary=/i.test(U)&&W.delete("content-type")}let x={...O,signal:l,method:G.toUpperCase(),headers:W.normalize().toJSON(),body:q,duplex:"half",credentials:w?se:void 0};A=o&&new r(P,x);let R=await(o?s(A,O):s(P,x)),u=I&&(ae==="stream"||ae==="response");if(I&&(le||u&&m)){let U={};["status","statusText","headers"].forEach(he=>{U[he]=R[he]});let F=cn.toFiniteNumber(R.headers.get("content-length")),[X,Ae]=le&&yEt(F,kte(bEt(le),!0))||[];R=new i(vEt(R.body,REt,X,()=>{Ae&&Ae(),m&&m()}),U)}ae=ae||"text";let C=await N[cn.findKey(N,ae)||"text"](R,D);return!u&&m&&m(),await new Promise((U,F)=>{qEt(U,F,{data:C,headers:bA.from(R.headers),status:R.status,statusText:R.statusText,config:D,request:A})})}catch(w){throw m&&m(),w&&w.name==="TypeError"&&/Load failed|fetch/i.test(w.message)?Object.assign(new Bo("Network Error",Bo.ERR_NETWORK,D,A,w&&w.response),{cause:w.cause||w}):Bo.from(w,w&&w.code,D,A,w&&w.response)}}},nmn=new Map,zEt=e=>{let t=e&&e.env||{},{fetch:r,Request:i,Response:n}=t,o=[i,n,r],d=o.length,g=d,y,_,I=nmn;for(;g--;)y=o[g],_=I.get(y),_===void 0&&I.set(y,_=g?new Map:rmn(t)),I=_;return _};zEt();var oxe={http:_2n,xhr:W2n,fetch:{get:zEt}};cn.forEach(oxe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var wEt=e=>`- ${e}`,imn=e=>cn.isFunction(e)||e===null||e===!1;function omn(e,t){e=cn.isArray(e)?e:[e];let{length:r}=e,i,n,o={};for(let d=0;d<r;d++){i=e[d];let g;if(n=i,!imn(i)&&(n=oxe[(g=String(i)).toLowerCase()],n===void 0))throw new Bo(`Unknown adapter '${g}'`);if(n&&(cn.isFunction(n)||(n=n.get(t))))break;o[g||"#"+d]=n}if(!n){let d=Object.entries(o).map(([y,_])=>`adapter ${y} `+(_===!1?"is not supported by the environment":"is not available in the build")),g=r?d.length>1?`since : +`+d.map(wEt).join(` +`):" "+wEt(d[0]):"as no adapter specified";throw new Bo("There is no suitable adapter to dispatch the request "+g,"ERR_NOT_SUPPORT")}return n}var KEt={getAdapter:omn,adapters:oxe};function WNe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new D5(null,e)}function OEt(e){return WNe(e),e.headers=bA.from(e.headers),e.data=YNe.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),KEt.getAdapter(e.adapter||MQ.adapter,e)(e).then(function(i){return WNe(e),i.data=YNe.call(e,e.transformResponse,i),i.headers=bA.from(i.headers),i},function(i){return GEt(i)||(WNe(e),i&&i.response&&(i.response.data=YNe.call(e,e.transformResponse,i.response),i.response.headers=bA.from(i.response.headers))),Promise.reject(i)})}var $Et="1.15.2",Hte={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Hte[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}});var NEt={};Hte.transitional=function(t,r,i){function n(o,d){return"[Axios v"+$Et+"] Transitional option '"+o+"'"+d+(i?". "+i:"")}return(o,d,g)=>{if(t===!1)throw new Bo(n(d," has been removed"+(r?" in "+r:"")),Bo.ERR_DEPRECATED);return r&&!NEt[d]&&(NEt[d]=!0,console.warn(n(d," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,d,g):!0}};Hte.spelling=function(t){return(r,i)=>(console.warn(`${i} is likely a misspelling of ${t}`),!0)};function amn(e,t,r){if(typeof e!="object")throw new Bo("options must be an object",Bo.ERR_BAD_OPTION_VALUE);let i=Object.keys(e),n=i.length;for(;n-- >0;){let o=i[n],d=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(d){let g=e[o],y=g===void 0||d(g,o,e);if(y!==!0)throw new Bo("option "+o+" must be "+y,Bo.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Bo("Unknown option "+o,Bo.ERR_BAD_OPTION)}}var Mte={assertOptions:amn,validators:Hte},q2=Mte.validators,DS=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Dte,response:new Dte}}async request(t,r){try{return await this._request(t,r)}catch(i){if(i instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;let o=(()=>{if(!n.stack)return"";let d=n.stack.indexOf(` +`);return d===-1?"":n.stack.slice(d+1)})();try{if(!i.stack)i.stack=o;else if(o){let d=o.indexOf(` +`),g=d===-1?-1:o.indexOf(` +`,d+1),y=g===-1?"":o.slice(g+1);String(i.stack).endsWith(y)||(i.stack+=` +`+o)}}catch{}}throw i}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=k5(this.defaults,r);let{transitional:i,paramsSerializer:n,headers:o}=r;i!==void 0&&Mte.assertOptions(i,{silentJSONParsing:q2.transitional(q2.boolean),forcedJSONParsing:q2.transitional(q2.boolean),clarifyTimeoutError:q2.transitional(q2.boolean),legacyInterceptorReqResOrdering:q2.transitional(q2.boolean)},!1),n!=null&&(cn.isFunction(n)?r.paramsSerializer={serialize:n}:Mte.assertOptions(n,{encode:q2.function,serialize:q2.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Mte.assertOptions(r,{baseUrl:q2.spelling("baseURL"),withXsrfToken:q2.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let d=o&&cn.merge(o.common,o[r.method]);o&&cn.forEach(["delete","get","head","post","put","patch","common"],D=>{delete o[D]}),r.headers=bA.concat(d,o);let g=[],y=!0;this.interceptors.request.forEach(function(P){if(typeof P.runWhen=="function"&&P.runWhen(r)===!1)return;y=y&&P.synchronous;let G=r.transitional||nxe;G&&G.legacyInterceptorReqResOrdering?g.unshift(P.fulfilled,P.rejected):g.push(P.fulfilled,P.rejected)});let _=[];this.interceptors.response.forEach(function(P){_.push(P.fulfilled,P.rejected)});let I,N=0,T;if(!y){let D=[OEt.bind(this),void 0];for(D.unshift(...g),D.push(..._),T=D.length,I=Promise.resolve(r);N<T;)I=I.then(D[N++],D[N++]);return I}T=g.length;let M=r;for(;N<T;){let D=g[N++],P=g[N++];try{M=D(M)}catch(G){P.call(this,G);break}}try{I=OEt.call(this,M)}catch(D){return Promise.reject(D)}for(N=0,T=_.length;N<T;)I=I.then(_[N++],_[N++]);return I}getUri(t){t=k5(this.defaults,t);let r=VEt(t.baseURL,t.url,t.allowAbsoluteUrls);return QEt(r,t.params,t.paramsSerializer)}};cn.forEach(["delete","get","head","options"],function(t){DS.prototype[t]=function(r,i){return this.request(k5(i||{},{method:t,url:r,data:(i||{}).data}))}});cn.forEach(["post","put","patch"],function(t){function r(i){return function(o,d,g){return this.request(k5(g||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:o,data:d}))}}DS.prototype[t]=r(),DS.prototype[t+"Form"]=r(!0)});var exe=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});let i=this;this.promise.then(n=>{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](n);i._listeners=null}),this.promise.then=n=>{let o,d=new Promise(g=>{i.subscribe(g),o=g}).then(n);return d.cancel=function(){i.unsubscribe(o)},d},t(function(o,d,g){i.reason||(i.reason=new D5(o,d,g),r(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=i=>{t.abort(i)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(n){t=n}),cancel:t}}};function smn(e){return function(r){return e.apply(null,r)}}function cmn(e){return cn.isObject(e)&&e.isAxiosError===!0}var txe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(txe).forEach(([e,t])=>{txe[t]=e});function YEt(e){let t=new DS(e),r=xEt(DS.prototype.request,t);return cn.extend(r,DS.prototype,t,{allOwnKeys:!0}),cn.extend(r,t,null,{allOwnKeys:!0}),r.create=function(n){return YEt(k5(e,n))},r}var Cf=YEt(MQ);Cf.Axios=DS;Cf.CanceledError=D5;Cf.CancelToken=exe;Cf.isCancel=GEt;Cf.VERSION=$Et;Cf.toFormData=Qte;Cf.AxiosError=Bo;Cf.Cancel=Cf.CanceledError;Cf.all=function(t){return Promise.all(t)};Cf.spread=smn;Cf.isAxiosError=cmn;Cf.mergeConfig=k5;Cf.AxiosHeaders=bA;Cf.formToJSON=e=>HEt(cn.isHTMLForm(e)?new FormData(e):e);Cf.getAdapter=KEt.getAdapter;Cf.HttpStatusCode=txe;Cf.default=Cf;WEt.exports=Cf});var axe=ir(G9=>{"use strict";J();K();z();var umn=G9&&G9.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(G9,"__esModule",{value:!0});G9.http=void 0;var dmn=umn(XEt());function fmn(e){if(e.status>=400)throw new Error(`Bad status on response: ${e.status}`);return e}function lmn(e){return e.toString().includes("emitExperimentalWarning")}async function hmn(e,t,r,i){if(typeof fetch=="function"&&!lmn(fetch)){let n={method:e,body:i?JSON.stringify(i):void 0,headers:{"Content-Type":"application/json",...r}};return fetch(t,n).then(fmn).then(o=>o.json())}else return dmn.default.request({url:t,method:e,data:i,headers:r}).then(n=>n.data)}G9.http=hmn});var DQ=ir(q9=>{"use strict";J();K();z();Object.defineProperty(q9,"__esModule",{value:!0});q9.hasProtocol=q9.instanceOfRpcStreamingClient=void 0;function Amn(e){return typeof e.listen=="function"}q9.instanceOfRpcStreamingClient=Amn;function pmn(e){return e.search("://")!==-1}q9.hasProtocol=pmn});var evt=ir(Gte=>{"use strict";J();K();z();Object.defineProperty(Gte,"__esModule",{value:!0});Gte.HttpBatchClient=void 0;var ZEt=Nte(),gmn=axe(),_mn=DQ(),jEt={dispatchInterval:20,batchSizeLimit:20},sxe=class{constructor(t,r={}){if(this.queue=[],this.options={batchSizeLimit:r.batchSizeLimit??jEt.batchSizeLimit,dispatchInterval:r.dispatchInterval??jEt.dispatchInterval},typeof t=="string"){if(!(0,_mn.hasProtocol)(t))throw new Error("Endpoint URL is missing a protocol. Expected 'https://' or 'http://'.");this.url=t}else this.url=t.url,this.headers=t.headers;this.timer=setInterval(()=>this.tick(),r.dispatchInterval),this.validate()}disconnect(){this.timer&&clearInterval(this.timer),this.timer=void 0}async execute(t){return new Promise((r,i)=>{this.queue.push({request:t,resolve:r,reject:i}),this.queue.length>=this.options.batchSizeLimit&&this.tick()})}validate(){if(!this.options.batchSizeLimit||!Number.isSafeInteger(this.options.batchSizeLimit)||this.options.batchSizeLimit<1)throw new Error("batchSizeLimit must be a safe integer >= 1")}tick(){let t=this.queue.splice(0,this.options.batchSizeLimit);if(!t.length)return;let r=t.map(n=>n.request),i=r.map(n=>n.id);(0,gmn.http)("POST",this.url,this.headers,r).then(n=>{(Array.isArray(n)?n:[n]).forEach(d=>{let g=t.find(N=>N.request.id===d.id);if(!g)return;let{reject:y,resolve:_}=g,I=(0,ZEt.parseJsonRpcResponse)(d);(0,ZEt.isJsonRpcErrorResponse)(I)?y(new Error(JSON.stringify(I.error))):_(I)})},n=>{for(let o of i){let d=t.find(g=>g.request.id===o);if(!d)return;d.reject(n)}})}};Gte.HttpBatchClient=sxe});var rvt=ir(qte=>{"use strict";J();K();z();Object.defineProperty(qte,"__esModule",{value:!0});qte.HttpClient=void 0;var tvt=Nte(),mmn=axe(),ymn=DQ(),cxe=class{constructor(t){if(typeof t=="string"){if(!(0,ymn.hasProtocol)(t))throw new Error("Endpoint URL is missing a protocol. Expected 'https://' or 'http://'.");this.url=t}else this.url=t.url,this.headers=t.headers}disconnect(){}async execute(t){let r=(0,tvt.parseJsonRpcResponse)(await(0,mmn.http)("POST",this.url,this.headers,t));if((0,tvt.isJsonRpcErrorResponse)(r))throw new Error(JSON.stringify(r.error));return r}};qte.HttpClient=cxe});var ivt=ir((Qvo,nvt)=>{"use strict";J();K();z();var V9=null;typeof WebSocket<"u"?V9=WebSocket:typeof MozWebSocket<"u"?V9=MozWebSocket:typeof global<"u"?V9=global.WebSocket||global.MozWebSocket:typeof window<"u"?V9=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(V9=self.WebSocket||self.MozWebSocket);nvt.exports=V9});var dxe=ir(z9=>{"use strict";J();K();z();var bmn=z9&&z9.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(z9,"__esModule",{value:!0});z9.SocketWrapper=void 0;var J9=bmn(ivt());function Emn(){return typeof me<"u"&&typeof me.versions<"u"&&typeof me.versions.node<"u"}var uxe=class{constructor(t,r,i,n,o,d=1e4){this.closed=!1,this.connected=new Promise((g,y)=>{this.connectedResolver=g,this.connectedRejecter=y}),this.url=t,this.messageHandler=r,this.errorHandler=i,this.openHandler=n,this.closeHandler=o,this.timeout=d}connect(){let t=new J9.default(this.url);t.onerror=i=>{this.clearTimeout(),this.errorHandler&&this.errorHandler(i)},t.onmessage=i=>{this.messageHandler({type:i.type,data:i.data})},t.onopen=i=>{this.clearTimeout(),this.connectedResolver(),this.openHandler&&this.openHandler()},t.onclose=i=>{this.closed=!0,this.closeHandler&&this.closeHandler(i)};let r=Date.now();this.timeoutId=setTimeout(()=>{t.onmessage=()=>0,t.onerror=()=>0,t.onopen=()=>0,t.onclose=()=>0,t.close(),this.socket=void 0;let i=Math.floor(Date.now()-r);this.connectedRejecter(`Connection attempt timed out after ${i} ms`)},this.timeout),this.socket=t}disconnect(){if(!this.socket)throw new Error("Socket undefined. This must be called after connecting.");switch(this.clearTimeout(),this.socket.readyState){case J9.default.OPEN:this.socket.close(1e3);break;case J9.default.CLOSED:break;case J9.default.CONNECTING:this.socket.onopen=()=>0,this.socket.onclose=()=>0,this.socket.onerror=()=>0,this.socket.onmessage=()=>0,this.socket=void 0,this.closeHandler&&this.closeHandler({wasClean:!1,code:4001});break;case J9.default.CLOSING:break;default:throw new Error(`Unknown readyState: ${this.socket.readyState}`)}}async send(t){return new Promise((r,i)=>{if(!this.socket)throw new Error("Socket undefined. This must be called after connecting.");if(this.closed)throw new Error("Socket was closed, so no data can be sent anymore.");if(this.socket.readyState!==J9.default.OPEN)throw new Error("Websocket is not open");Emn()?this.socket.send(t,n=>n?i(n):r()):(this.socket.send(t),r())})}clearTimeout(){if(!this.timeoutId)throw new Error("Timeout ID not set. This should not happen and usually means connect() was not called.");clearTimeout(this.timeoutId)}};z9.SocketWrapper=uxe});var lxe=ir(Vte=>{"use strict";J();K();z();Object.defineProperty(Vte,"__esModule",{value:!0});Vte.StreamingSocket=void 0;var vmn=m8(),Rmn=dxe(),fxe=class{constructor(t,r=1e4){this.socket=new Rmn.SocketWrapper(t,n=>{this.eventProducerListener&&this.eventProducerListener.next(n)},n=>{this.eventProducerListener&&this.eventProducerListener.error(n)},()=>{},n=>{this.eventProducerListener&&(n.wasClean?this.eventProducerListener.complete():this.eventProducerListener.error("Socket was closed unclean"))},r),this.connected=this.socket.connected;let i={start:n=>this.eventProducerListener=n,stop:()=>this.eventProducerListener=void 0};this.events=vmn.Stream.create(i)}connect(){this.socket.connect()}disconnect(){this.socket.disconnect()}async send(t){return this.socket.send(t)}};Vte.StreamingSocket=fxe});var Axe=ir(P5=>{"use strict";J();K();z();Object.defineProperty(P5,"__esModule",{value:!0});P5.QueueingStreamingSocket=P5.ConnectionStatus=void 0;var ovt=wte(),Smn=m8(),avt=lxe(),kS;(function(e){e[e.Unconnected=0]="Unconnected",e[e.Connecting=1]="Connecting",e[e.Connected=2]="Connected",e[e.Disconnected=3]="Disconnected"})(kS=P5.ConnectionStatus||(P5.ConnectionStatus={}));var hxe=class{constructor(t,r=1e4,i){this.queue=[],this.isProcessingQueue=!1,this.url=t,this.timeout=r,this.reconnectedHandler=i;let n={start:o=>this.eventProducerListener=o,stop:()=>this.eventProducerListener=void 0};this.events=Smn.Stream.create(n),this.connectionStatusProducer=new ovt.DefaultValueProducer(kS.Unconnected),this.connectionStatus=new ovt.ValueAndUpdates(this.connectionStatusProducer),this.socket=new avt.StreamingSocket(this.url,this.timeout),this.socket.events.subscribe({next:o=>{if(!this.eventProducerListener)throw new Error("No event producer listener set");this.eventProducerListener.next(o)},error:()=>this.connectionStatusProducer.update(kS.Disconnected)})}connect(){this.connectionStatusProducer.update(kS.Connecting),this.socket.connected.then(async()=>(this.connectionStatusProducer.update(kS.Connected),this.processQueue()),()=>this.connectionStatusProducer.update(kS.Disconnected)),this.socket.connect()}disconnect(){this.connectionStatusProducer.update(kS.Disconnected),this.socket.disconnect()}reconnect(){this.socket=new avt.StreamingSocket(this.url,this.timeout),this.socket.events.subscribe({next:t=>{if(!this.eventProducerListener)throw new Error("No event producer listener set");this.eventProducerListener.next(t)},error:()=>this.connectionStatusProducer.update(kS.Disconnected)}),this.socket.connected.then(()=>{this.reconnectedHandler&&this.reconnectedHandler()}),this.connect()}getQueueLength(){return this.queue.length}queueRequest(t){this.queue.push(t),this.processQueue()}async processQueue(){if(this.isProcessingQueue||this.connectionStatus.value!==kS.Connected)return;this.isProcessingQueue=!0;let t;for(;t=this.queue.shift();)try{await this.socket.send(t),this.isProcessingQueue=!1}catch{this.queue.unshift(t),this.isProcessingQueue=!1;return}}};P5.QueueingStreamingSocket=hxe});var svt=ir(Jte=>{"use strict";J();K();z();Object.defineProperty(Jte,"__esModule",{value:!0});Jte.ReconnectingSocket=void 0;var Imn=m8(),pxe=Axe(),gxe=class e{static calculateTimeout(t){return Math.min(2**t*100,5e3)}constructor(t,r=1e4,i){this.unconnected=!0,this.disconnected=!1,this.timeoutIndex=0,this.reconnectTimeout=null;let n={start:o=>this.eventProducerListener=o,stop:()=>this.eventProducerListener=void 0};this.events=Imn.Stream.create(n),this.socket=new pxe.QueueingStreamingSocket(t,r,i),this.socket.events.subscribe({next:o=>{this.eventProducerListener&&this.eventProducerListener.next(o)},error:o=>{this.eventProducerListener&&this.eventProducerListener.error(o)}}),this.connectionStatus=this.socket.connectionStatus,this.connectionStatus.updates.subscribe({next:o=>{o===pxe.ConnectionStatus.Connected&&(this.timeoutIndex=0),o===pxe.ConnectionStatus.Disconnected&&(this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.reconnectTimeout=setTimeout(()=>this.socket.reconnect(),e.calculateTimeout(this.timeoutIndex++)))}})}connect(){if(!this.unconnected)throw new Error("Cannot connect: socket has already connected");this.socket.connect(),this.unconnected=!1}disconnect(){if(this.unconnected)throw new Error("Cannot disconnect: socket has not yet connected");this.socket.disconnect(),this.eventProducerListener&&this.eventProducerListener.complete(),this.disconnected=!0}queueRequest(t){if(this.disconnected)throw new Error("Cannot queue request: socket has disconnected");this.socket.queueRequest(t)}};Jte.ReconnectingSocket=gxe});var uvt=ir(V2=>{"use strict";J();K();z();Object.defineProperty(V2,"__esModule",{value:!0});V2.StreamingSocket=V2.SocketWrapper=V2.ReconnectingSocket=V2.QueueingStreamingSocket=V2.ConnectionStatus=void 0;var cvt=Axe();Object.defineProperty(V2,"ConnectionStatus",{enumerable:!0,get:function(){return cvt.ConnectionStatus}});Object.defineProperty(V2,"QueueingStreamingSocket",{enumerable:!0,get:function(){return cvt.QueueingStreamingSocket}});var Cmn=svt();Object.defineProperty(V2,"ReconnectingSocket",{enumerable:!0,get:function(){return Cmn.ReconnectingSocket}});var wmn=dxe();Object.defineProperty(V2,"SocketWrapper",{enumerable:!0,get:function(){return wmn.SocketWrapper}});var Omn=lxe();Object.defineProperty(V2,"StreamingSocket",{enumerable:!0,get:function(){return Omn.StreamingSocket}})});var lvt=ir(Kte=>{"use strict";J();K();z();Object.defineProperty(Kte,"__esModule",{value:!0});Kte.WebsocketClient=void 0;var zte=Nte(),dvt=uvt(),Nmn=wte(),xmn=m8(),Tmn=DQ();function Bmn(e){throw e}function fvt(e){if(e.type!=="message")throw new Error(`Unexcepted message type on websocket: ${e.type}`);return(0,zte.parseJsonRpcResponse)(JSON.parse(e.data))}var _xe=class{constructor(t,r){this.running=!1,this.subscriptions=[],this.request=t,this.socket=r}start(t){if(this.running)throw Error("Already started. Please stop first before restarting.");this.running=!0,this.connectToClient(t),this.socket.queueRequest(JSON.stringify(this.request))}stop(){this.running=!1;let t={...this.request,method:"unsubscribe"};try{this.socket.queueRequest(JSON.stringify(t))}catch(r){if(!(r instanceof Error&&r.message.match(/socket has disconnected/i)))throw r}}connectToClient(t){let r=this.socket.events.map(fvt),i=r.filter(d=>d.id===this.request.id).subscribe({next:d=>{(0,zte.isJsonRpcErrorResponse)(d)&&(this.closeSubscriptions(),t.error(JSON.stringify(d.error))),i.unsubscribe()}}),n=r.filter(d=>d.id===this.request.id).subscribe({next:d=>{(0,zte.isJsonRpcErrorResponse)(d)?(this.closeSubscriptions(),t.error(JSON.stringify(d.error))):t.next(d.result)}}),o=r.subscribe({error:d=>{this.closeSubscriptions(),t.error(d)},complete:()=>{this.closeSubscriptions(),t.complete()}});this.subscriptions.push(i,n,o)}closeSubscriptions(){for(let t of this.subscriptions)t.unsubscribe();this.subscriptions=[]}},mxe=class{constructor(t,r=Bmn){if(this.subscriptionStreams=new Map,!(0,Tmn.hasProtocol)(t))throw new Error("Base URL is missing a protocol. Expected 'ws://' or 'wss://'.");let i=t.endsWith("/")?"websocket":"/websocket";this.url=t+i,this.socket=new dvt.ReconnectingSocket(this.url);let n=this.socket.events.subscribe({error:o=>{r(o),n.unsubscribe()}});this.jsonRpcResponseStream=this.socket.events.map(fvt),this.socket.connect()}async execute(t){let r=this.responseForRequestId(t.id);this.socket.queueRequest(JSON.stringify(t));let i=await r;if((0,zte.isJsonRpcErrorResponse)(i))throw new Error(JSON.stringify(i.error));return i}listen(t){if(t.method!=="subscribe")throw new Error('Request method must be "subscribe" to start event listening');let r=t.params.query;if(typeof r!="string")throw new Error("request.params.query must be a string");if(!this.subscriptionStreams.has(r)){let i=new _xe(t,this.socket),n=xmn.Stream.create(i);this.subscriptionStreams.set(r,n)}return this.subscriptionStreams.get(r).filter(i=>i.query!==void 0)}async connected(){await this.socket.connectionStatus.waitFor(dvt.ConnectionStatus.Connected)}disconnect(){this.socket.disconnect()}async responseForRequestId(t){return(0,Nmn.firstEvent)(this.jsonRpcResponseStream.filter(r=>r.id===t))}};Kte.WebsocketClient=mxe});var kQ=ir(ZE=>{"use strict";J();K();z();Object.defineProperty(ZE,"__esModule",{value:!0});ZE.WebsocketClient=ZE.instanceOfRpcStreamingClient=ZE.HttpClient=ZE.HttpBatchClient=void 0;var Mmn=evt();Object.defineProperty(ZE,"HttpBatchClient",{enumerable:!0,get:function(){return Mmn.HttpBatchClient}});var Dmn=rvt();Object.defineProperty(ZE,"HttpClient",{enumerable:!0,get:function(){return Dmn.HttpClient}});var kmn=DQ();Object.defineProperty(ZE,"instanceOfRpcStreamingClient",{enumerable:!0,get:function(){return kmn.instanceOfRpcStreamingClient}});var Pmn=lvt();Object.defineProperty(ZE,"WebsocketClient",{enumerable:!0,get:function(){return Pmn.WebsocketClient}})});var PQ=ir(pc=>{"use strict";J();K();z();Object.defineProperty(pc,"__esModule",{value:!0});pc.encodeBlockId=pc.encodeVersion=pc.encodeBytes=pc.encodeTime=pc.encodeUvarint=pc.encodeString=pc.dictionaryToStringMap=pc.may=pc.assertNotEmpty=pc.assertObject=pc.assertArray=pc.assertNumber=pc.assertString=pc.assertBoolean=pc.assertSet=void 0;var Lmn=Ps();function L5(e){if(e===void 0)throw new Error("Value must not be undefined");if(e===null)throw new Error("Value must not be null");return e}pc.assertSet=L5;function Umn(e){if(L5(e),typeof e!="boolean")throw new Error("Value must be a boolean");return e}pc.assertBoolean=Umn;function Fmn(e){if(L5(e),typeof e!="string")throw new Error("Value must be a string");return e}pc.assertString=Fmn;function Qmn(e){if(L5(e),typeof e!="number")throw new Error("Value must be a number");return e}pc.assertNumber=Qmn;function Hmn(e){if(L5(e),!Array.isArray(e))throw new Error("Value must be a an array");return e}pc.assertArray=Hmn;function Gmn(e){if(L5(e),typeof e!="object")throw new Error("Value must be an object");if(Object.prototype.toString.call(e)!=="[object Object]")throw new Error("Value must be a simple object");return e}pc.assertObject=Gmn;function qmn(e){if(L5(e),typeof e=="number"&&e===0)throw new Error("must provide a non-zero value");if(e.length===0)throw new Error("must provide a non-empty value");return e}pc.assertNotEmpty=qmn;function Vmn(e,t){return t==null?void 0:e(t)}pc.may=Vmn;function Jmn(e){let t=new Map;for(let r of Object.keys(e)){let i=e[r];if(typeof i!="string")throw new Error("Found dictionary value of type other than string");t.set(r,i)}return t}pc.dictionaryToStringMap=Jmn;function zmn(e){let t=(0,Lmn.toUtf8)(e);return Uint8Array.from([t.length,...t])}pc.encodeString=zmn;function K9(e){return e>=128?Uint8Array.from([e&255|128,...K9(e>>7)]):Uint8Array.from([e&255])}pc.encodeUvarint=K9;function Kmn(e){let t=e.getTime(),r=Math.floor(t/1e3),i=r?[8,...K9(r)]:new Uint8Array,n=(e.nanoseconds||0)+t%1e3*1e6,o=n?[16,...K9(n)]:new Uint8Array;return Uint8Array.from([...i,...o])}pc.encodeTime=Kmn;function $mn(e){if(e.length>=128)throw new Error("Not implemented for byte arrays of length 128 or more");return e.length?Uint8Array.from([e.length,...e]):new Uint8Array}pc.encodeBytes=$mn;function Ymn(e){let t=e.block?Uint8Array.from([8,...K9(e.block)]):new Uint8Array,r=e.app?Uint8Array.from([16,...K9(e.app)]):new Uint8Array;return Uint8Array.from([...t,...r])}pc.encodeVersion=Ymn;function Wmn(e){return Uint8Array.from([10,e.hash.length,...e.hash,18,e.parts.hash.length+4,8,e.parts.total,18,e.parts.hash.length,...e.parts.hash])}pc.encodeBlockId=Wmn});var U5=ir(R8=>{"use strict";J();K();z();Object.defineProperty(R8,"__esModule",{value:!0});R8.smallIntToApi=R8.apiToBigInt=R8.apiToSmallInt=void 0;var yxe=Uh(),Xmn=PQ();function Zmn(e){return(typeof e=="number"?new yxe.Int53(e):yxe.Int53.fromString(e)).toNumber()}R8.apiToSmallInt=Zmn;function jmn(e){if((0,Xmn.assertString)(e),!e.match(/^-?[0-9]+$/))throw new Error("Invalid string format");return BigInt(e)}R8.apiToBigInt=jmn;function eyn(e){return new yxe.Int53(e).toString()}R8.smallIntToApi=eyn});var $te=ir(gc=>{"use strict";J();K();z();Object.defineProperty(gc,"__esModule",{value:!0});gc.encodeBlockId=gc.encodeVersion=gc.encodeBytes=gc.encodeTime=gc.encodeUvarint=gc.encodeString=gc.dictionaryToStringMap=gc.may=gc.assertNotEmpty=gc.assertObject=gc.assertArray=gc.assertNumber=gc.assertString=gc.assertBoolean=gc.assertSet=void 0;var tyn=Ps();function F5(e){if(e===void 0)throw new Error("Value must not be undefined");if(e===null)throw new Error("Value must not be null");return e}gc.assertSet=F5;function ryn(e){if(F5(e),typeof e!="boolean")throw new Error("Value must be a boolean");return e}gc.assertBoolean=ryn;function nyn(e){if(F5(e),typeof e!="string")throw new Error("Value must be a string");return e}gc.assertString=nyn;function iyn(e){if(F5(e),typeof e!="number")throw new Error("Value must be a number");return e}gc.assertNumber=iyn;function oyn(e){if(F5(e),!Array.isArray(e))throw new Error("Value must be a an array");return e}gc.assertArray=oyn;function ayn(e){if(F5(e),typeof e!="object")throw new Error("Value must be an object");if(Object.prototype.toString.call(e)!=="[object Object]")throw new Error("Value must be a simple object");return e}gc.assertObject=ayn;function syn(e){if(F5(e),typeof e=="number"&&e===0)throw new Error("must provide a non-zero value");if(e.length===0)throw new Error("must provide a non-empty value");return e}gc.assertNotEmpty=syn;function cyn(e,t){return t==null?void 0:e(t)}gc.may=cyn;function uyn(e){let t=new Map;for(let r of Object.keys(e)){let i=e[r];if(typeof i!="string")throw new Error("Found dictionary value of type other than string");t.set(r,i)}return t}gc.dictionaryToStringMap=uyn;function dyn(e){let t=(0,tyn.toUtf8)(e);return Uint8Array.from([t.length,...t])}gc.encodeString=dyn;function $9(e){return e>=128?Uint8Array.from([e&255|128,...$9(e>>7)]):Uint8Array.from([e&255])}gc.encodeUvarint=$9;function fyn(e){let t=e.getTime(),r=Math.floor(t/1e3),i=r?[8,...$9(r)]:new Uint8Array,n=(e.nanoseconds||0)+t%1e3*1e6,o=n?[16,...$9(n)]:new Uint8Array;return Uint8Array.from([...i,...o])}gc.encodeTime=fyn;function lyn(e){if(e.length>=128)throw new Error("Not implemented for byte arrays of length 128 or more");return e.length?Uint8Array.from([e.length,...e]):new Uint8Array}gc.encodeBytes=lyn;function hyn(e){let t=e.block?Uint8Array.from([8,...$9(e.block)]):new Uint8Array,r=e.app?Uint8Array.from([16,...$9(e.app)]):new Uint8Array;return Uint8Array.from([...t,...r])}gc.encodeVersion=hyn;function Ayn(e){return Uint8Array.from([10,e.hash.length,...e.hash,18,e.parts.hash.length+4,8,e.parts.total,18,e.parts.hash.length,...e.parts.hash])}gc.encodeBlockId=Ayn});var Yte=ir(jE=>{"use strict";J();K();z();Object.defineProperty(jE,"__esModule",{value:!0});jE.buildQuery=jE.SubscriptionEventType=jE.Method=void 0;var pyn;(function(e){e.AbciInfo="abci_info",e.AbciQuery="abci_query",e.Block="block",e.Blockchain="blockchain",e.BlockResults="block_results",e.BlockSearch="block_search",e.BroadcastTxAsync="broadcast_tx_async",e.BroadcastTxSync="broadcast_tx_sync",e.BroadcastTxCommit="broadcast_tx_commit",e.Commit="commit",e.Genesis="genesis",e.Health="health",e.NumUnconfirmedTxs="num_unconfirmed_txs",e.Status="status",e.Subscribe="subscribe",e.Tx="tx",e.TxSearch="tx_search",e.Validators="validators",e.Unsubscribe="unsubscribe"})(pyn=jE.Method||(jE.Method={}));var gyn;(function(e){e.NewBlock="NewBlock",e.NewBlockHeader="NewBlockHeader",e.Tx="Tx"})(gyn=jE.SubscriptionEventType||(jE.SubscriptionEventType={}));function _yn(e){let r=(e.tags?e.tags:[]).map(n=>`${n.key}='${n.value}'`),i=e.raw?[e.raw]:[];return[...r,...i].join(" AND ")}jE.buildQuery=_yn});var hvt=ir(ev=>{"use strict";J();K();z();var myn=ev&&ev.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),yyn=ev&&ev.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),byn=ev&&ev.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&myn(t,e,r);return yyn(t,e),t};Object.defineProperty(ev,"__esModule",{value:!0});ev.Params=void 0;var vxe=Ps(),Ny=U5(),EA=T5(),m1=$te(),Eyn=byn(Yte());function bxe(e){return{height:(0,m1.may)(Ny.smallIntToApi,e.height)}}function vyn(e){return{minHeight:(0,m1.may)(Ny.smallIntToApi,e.minHeight),maxHeight:(0,m1.may)(Ny.smallIntToApi,e.maxHeight)}}function Ryn(e){return{query:e.query,page:(0,m1.may)(Ny.smallIntToApi,e.page),per_page:(0,m1.may)(Ny.smallIntToApi,e.per_page),order_by:e.order_by}}function Syn(e){return{path:(0,m1.assertNotEmpty)(e.path),data:(0,vxe.toHex)(e.data),height:(0,m1.may)(Ny.smallIntToApi,e.height),prove:e.prove}}function Iyn(e){return{tx:(0,vxe.toBase64)((0,m1.assertNotEmpty)(e.tx))}}function Cyn(e){return{hash:(0,vxe.toBase64)((0,m1.assertNotEmpty)(e.hash)),prove:e.prove}}function wyn(e){return{query:e.query,prove:e.prove,page:(0,m1.may)(Ny.smallIntToApi,e.page),per_page:(0,m1.may)(Ny.smallIntToApi,e.per_page),order_by:e.order_by}}function Oyn(e){return{height:(0,m1.may)(Ny.smallIntToApi,e.height),page:(0,m1.may)(Ny.smallIntToApi,e.page),per_page:(0,m1.may)(Ny.smallIntToApi,e.per_page)}}var Exe=class{static encodeAbciInfo(t){return(0,EA.createJsonRpcRequest)(t.method)}static encodeAbciQuery(t){return(0,EA.createJsonRpcRequest)(t.method,Syn(t.params))}static encodeBlock(t){return(0,EA.createJsonRpcRequest)(t.method,bxe(t.params))}static encodeBlockchain(t){return(0,EA.createJsonRpcRequest)(t.method,vyn(t.params))}static encodeBlockResults(t){return(0,EA.createJsonRpcRequest)(t.method,bxe(t.params))}static encodeBlockSearch(t){return(0,EA.createJsonRpcRequest)(t.method,Ryn(t.params))}static encodeBroadcastTx(t){return(0,EA.createJsonRpcRequest)(t.method,Iyn(t.params))}static encodeCommit(t){return(0,EA.createJsonRpcRequest)(t.method,bxe(t.params))}static encodeGenesis(t){return(0,EA.createJsonRpcRequest)(t.method)}static encodeHealth(t){return(0,EA.createJsonRpcRequest)(t.method)}static encodeNumUnconfirmedTxs(t){return(0,EA.createJsonRpcRequest)(t.method)}static encodeStatus(t){return(0,EA.createJsonRpcRequest)(t.method)}static encodeSubscribe(t){let r={key:"tm.event",value:t.query.type},i=Eyn.buildQuery({tags:[r],raw:t.query.raw});return(0,EA.createJsonRpcRequest)("subscribe",{query:i})}static encodeTx(t){return(0,EA.createJsonRpcRequest)(t.method,Cyn(t.params))}static encodeTxSearch(t){return(0,EA.createJsonRpcRequest)(t.method,wyn(t.params))}static encodeValidators(t){return(0,EA.createJsonRpcRequest)(t.method,Oyn(t.params))}};ev.Params=Exe});var UQ=ir(LQ=>{"use strict";J();K();z();Object.defineProperty(LQ,"__esModule",{value:!0});LQ.BlockIdFlag=void 0;var Nyn;(function(e){e[e.Unknown=0]="Unknown",e[e.Absent=1]="Absent",e[e.Commit=2]="Commit",e[e.Nil=3]="Nil",e[e.Unrecognized=-1]="Unrecognized"})(Nyn=LQ.BlockIdFlag||(LQ.BlockIdFlag={}))});var Avt=ir(Y9=>{"use strict";J();K();z();Object.defineProperty(Y9,"__esModule",{value:!0});Y9.hashBlock=Y9.hashTx=void 0;var Sxe=$l(),y1=$te();function xyn(e){return(0,Sxe.sha256)(e)}Y9.hashTx=xyn;function Tyn(e){if(e<1)throw new Error("Cannot split an empty tree");let t=2**Math.floor(Math.log2(e));return t<e?t:t/2}function Byn(e){let t=new Sxe.Sha256(Uint8Array.from([0]));return t.update(e),t.digest()}function Myn(e,t){let r=new Sxe.Sha256(Uint8Array.from([1]));return r.update(e),r.update(t),r.digest()}function Rxe(e){switch(e.length){case 0:throw new Error("Cannot hash empty tree");case 1:return Byn(e[0]);default:{let t=Tyn(e.length),r=Rxe(e.slice(0,t)),i=Rxe(e.slice(t));return Myn(r,i)}}}function Dyn(e){if(!e.lastBlockId)throw new Error("Hashing a block header with no last block ID (i.e. header at height 1) is not supported. If you need this, contributions are welcome. Please add documentation and test vectors for this case.");let t=[(0,y1.encodeVersion)(e.version),(0,y1.encodeString)(e.chainId),(0,y1.encodeUvarint)(e.height),(0,y1.encodeTime)(e.time),(0,y1.encodeBlockId)(e.lastBlockId),(0,y1.encodeBytes)(e.lastCommitHash),(0,y1.encodeBytes)(e.dataHash),(0,y1.encodeBytes)(e.validatorsHash),(0,y1.encodeBytes)(e.nextValidatorsHash),(0,y1.encodeBytes)(e.consensusHash),(0,y1.encodeBytes)(e.appHash),(0,y1.encodeBytes)(e.lastResultsHash),(0,y1.encodeBytes)(e.evidenceHash),(0,y1.encodeBytes)(e.proposerAddress)];return Rxe(t)}Y9.hashBlock=Dyn});var Svt=ir(J2=>{"use strict";J();K();z();Object.defineProperty(J2,"__esModule",{value:!0});J2.Responses=J2.decodeValidatorInfo=J2.decodeValidatorGenesis=J2.decodeValidatorUpdate=J2.decodeEvent=void 0;var es=Ps(),pvt=Uf(),FQ=IQ(),Ta=U5(),kyn=UQ(),Fn=$te(),Pyn=Avt();function Lyn(e){return{data:e.data,lastBlockHeight:(0,Fn.may)(Ta.apiToSmallInt,e.last_block_height),lastBlockAppHash:(0,Fn.may)(es.fromBase64,e.last_block_app_hash)}}function Uyn(e){return{ops:e.ops.map(t=>({type:t.type,key:(0,es.fromBase64)(t.key),data:(0,es.fromBase64)(t.data)}))}}function Fyn(e){return{key:(0,es.fromBase64)((0,Fn.assertString)(e.key??"")),value:(0,es.fromBase64)((0,Fn.assertString)(e.value??"")),proof:(0,Fn.may)(Uyn,e.proofOps),height:(0,Fn.may)(Ta.apiToSmallInt,e.height),code:(0,Fn.may)(Ta.apiToSmallInt,e.code),codespace:(0,Fn.assertString)(e.codespace??""),index:(0,Fn.may)(Ta.apiToSmallInt,e.index),log:e.log,info:(0,Fn.assertString)(e.info??"")}}function Qyn(e){return{key:(0,Fn.assertNotEmpty)(e.key),value:e.value??""}}function Hyn(e){return(0,Fn.assertArray)(e).map(Qyn)}function gvt(e){return{type:e.type,attributes:e.attributes?Hyn(e.attributes):[]}}J2.decodeEvent=gvt;function Ixe(e){return(0,Fn.assertArray)(e).map(gvt)}function W9(e){return{code:(0,Ta.apiToSmallInt)((0,Fn.assertNumber)(e.code??0)),codespace:e.codespace,log:e.log,data:(0,Fn.may)(es.fromBase64,e.data),events:e.events?Ixe(e.events):[],gasWanted:(0,Ta.apiToBigInt)(e.gas_wanted??"0"),gasUsed:(0,Ta.apiToBigInt)(e.gas_used??"0")}}function wxe(e){if("Sum"in e){let[[t,r]]=Object.entries(e.Sum.value);return(0,pvt.assert)(t==="ed25519"||t==="secp256k1",`unknown pubkey type: ${t}`),{algorithm:t,data:(0,es.fromBase64)((0,Fn.assertNotEmpty)(r))}}else switch(e.type){case"tendermint/PubKeyEd25519":return{algorithm:"ed25519",data:(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.value))};case"tendermint/PubKeySecp256k1":return{algorithm:"secp256k1",data:(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.value))};default:throw new Error(`unknown pubkey type: ${e.type}`)}}function Gyn(e){return{maxBytes:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.max_bytes)),maxGas:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.max_gas))}}function qyn(e){return{maxAgeNumBlocks:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.max_age_num_blocks)),maxAgeDuration:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.max_age_duration))}}function _vt(e){return{block:Gyn((0,Fn.assertObject)(e.block)),evidence:qyn((0,Fn.assertObject)(e.evidence))}}function mvt(e){return{pubkey:wxe((0,Fn.assertObject)(e.pub_key)),votingPower:(0,Ta.apiToBigInt)(e.power??"0")}}J2.decodeValidatorUpdate=mvt;function Vyn(e){return{height:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.height)),results:(e.txs_results||[]).map(W9),validatorUpdates:(e.validator_updates||[]).map(mvt),consensusUpdates:(0,Fn.may)(_vt,e.consensus_param_updates),beginBlockEvents:Ixe(e.begin_block_events||[]),endBlockEvents:Ixe(e.end_block_events||[])}}function Wte(e){return{hash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.hash)),parts:{total:(0,Fn.assertNotEmpty)(e.parts.total),hash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.parts.hash))}}}function Jyn(e){return{block:(0,Ta.apiToSmallInt)(e.block),app:(0,Ta.apiToSmallInt)(e.app??0)}}function Xte(e){return{version:Jyn(e.version),chainId:(0,Fn.assertNotEmpty)(e.chain_id),height:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.height)),time:(0,FQ.fromRfc3339WithNanoseconds)((0,Fn.assertNotEmpty)(e.time)),lastBlockId:e.last_block_id.hash?Wte(e.last_block_id):null,lastCommitHash:(0,es.fromHex)((0,Fn.assertSet)(e.last_commit_hash)),dataHash:(0,es.fromHex)((0,Fn.assertSet)(e.data_hash)),validatorsHash:(0,es.fromHex)((0,Fn.assertSet)(e.validators_hash)),nextValidatorsHash:(0,es.fromHex)((0,Fn.assertSet)(e.next_validators_hash)),consensusHash:(0,es.fromHex)((0,Fn.assertSet)(e.consensus_hash)),appHash:(0,es.fromHex)((0,Fn.assertSet)(e.app_hash)),lastResultsHash:(0,es.fromHex)((0,Fn.assertSet)(e.last_results_hash)),evidenceHash:(0,es.fromHex)((0,Fn.assertSet)(e.evidence_hash)),proposerAddress:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.proposer_address))}}function zyn(e){return{blockId:Wte(e.block_id),blockSize:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.block_size)),header:Xte(e.header),numTxs:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.num_txs))}}function Kyn(e){return{lastHeight:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.last_height)),blockMetas:(0,Fn.assertArray)(e.block_metas).map(zyn)}}function $yn(e){return{...W9(e),hash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.hash))}}function Yyn(e){let t=e.tx_result?W9(e.tx_result):void 0;return{height:(0,Ta.apiToSmallInt)(e.height),hash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.hash)),checkTx:W9((0,Fn.assertObject)(e.check_tx)),deliverTx:t,txResult:t}}function Wyn(e){return(0,pvt.assert)(e in kyn.BlockIdFlag),e}function Xyn(e){return{blockIdFlag:Wyn(e.block_id_flag),validatorAddress:e.validator_address?(0,es.fromHex)(e.validator_address):void 0,timestamp:e.timestamp?(0,FQ.fromRfc3339WithNanoseconds)(e.timestamp):void 0,signature:e.signature?(0,es.fromBase64)(e.signature):void 0}}function yvt(e){return{blockId:Wte((0,Fn.assertObject)(e.block_id)),height:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.height)),round:(0,Ta.apiToSmallInt)(e.round),signatures:(0,Fn.assertArray)(e.signatures).map(Xyn)}}function Zyn(e){return{canonical:(0,Fn.assertBoolean)(e.canonical),header:Xte(e.signed_header.header),commit:yvt(e.signed_header.commit)}}function bvt(e){return{address:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.address)),pubkey:wxe((0,Fn.assertObject)(e.pub_key)),votingPower:(0,Ta.apiToBigInt)((0,Fn.assertNotEmpty)(e.power))}}J2.decodeValidatorGenesis=bvt;function jyn(e){return{genesisTime:(0,FQ.fromRfc3339WithNanoseconds)((0,Fn.assertNotEmpty)(e.genesis_time)),chainId:(0,Fn.assertNotEmpty)(e.chain_id),consensusParams:_vt(e.consensus_params),validators:e.validators?(0,Fn.assertArray)(e.validators).map(bvt):[],appHash:(0,es.fromHex)((0,Fn.assertSet)(e.app_hash)),appState:e.app_state}}function Oxe(e){return{pubkey:wxe((0,Fn.assertObject)(e.pub_key)),votingPower:(0,Ta.apiToBigInt)((0,Fn.assertNotEmpty)(e.voting_power)),address:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.address)),proposerPriority:e.proposer_priority?(0,Ta.apiToSmallInt)(e.proposer_priority):void 0}}J2.decodeValidatorInfo=Oxe;function ebn(e){return{id:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.id)),listenAddr:(0,Fn.assertNotEmpty)(e.listen_addr),network:(0,Fn.assertNotEmpty)(e.network),version:(0,Fn.assertString)(e.version),channels:(0,Fn.assertString)(e.channels),moniker:(0,Fn.assertNotEmpty)(e.moniker),other:(0,Fn.dictionaryToStringMap)(e.other),protocolVersion:{app:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.protocol_version.app)),block:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.protocol_version.block)),p2p:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.protocol_version.p2p))}}}function tbn(e){let t=e.earliest_block_height?(0,Ta.apiToSmallInt)(e.earliest_block_height):void 0,r=e.earliest_block_time?(0,FQ.fromRfc3339WithNanoseconds)(e.earliest_block_time):void 0;return{earliestAppHash:e.earliest_app_hash?(0,es.fromHex)(e.earliest_app_hash):void 0,earliestBlockHash:e.earliest_block_hash?(0,es.fromHex)(e.earliest_block_hash):void 0,earliestBlockHeight:t||void 0,earliestBlockTime:r?.getTime()?r:void 0,latestBlockHash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.latest_block_hash)),latestAppHash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.latest_app_hash)),latestBlockTime:(0,FQ.fromRfc3339WithNanoseconds)((0,Fn.assertNotEmpty)(e.latest_block_time)),latestBlockHeight:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.latest_block_height)),catchingUp:(0,Fn.assertBoolean)(e.catching_up)}}function rbn(e){return{nodeInfo:ebn(e.node_info),syncInfo:tbn(e.sync_info),validatorInfo:Oxe(e.validator_info)}}function nbn(e){return{data:(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.data)),rootHash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.root_hash)),proof:{total:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.proof.total)),index:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.proof.index)),leafHash:(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.proof.leaf_hash)),aunts:(0,Fn.assertArray)(e.proof.aunts).map(es.fromBase64)}}}function Evt(e){return{tx:(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.tx)),result:W9((0,Fn.assertObject)(e.tx_result)),height:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.height)),index:(0,Ta.apiToSmallInt)((0,Fn.assertNumber)(e.index)),hash:(0,es.fromHex)((0,Fn.assertNotEmpty)(e.hash)),proof:(0,Fn.may)(nbn,e.proof)}}function ibn(e){return{totalCount:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.total_count)),txs:(0,Fn.assertArray)(e.txs).map(Evt)}}function obn(e){let t=(0,es.fromBase64)((0,Fn.assertNotEmpty)(e.tx));return{tx:t,hash:(0,Pyn.hashTx)(t),result:W9(e.result),height:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.height))}}function abn(e){return{blockHeight:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.block_height)),validators:(0,Fn.assertArray)(e.validators).map(Oxe),count:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.count)),total:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.total))}}function vvt(e){return{header:Xte((0,Fn.assertObject)(e.header)),lastCommit:e.last_commit.block_id.hash?yvt((0,Fn.assertObject)(e.last_commit)):null,txs:e.data.txs?(0,Fn.assertArray)(e.data.txs).map(es.fromBase64):[],evidence:e.evidence?.evidence??[]}}function Rvt(e){return{blockId:Wte(e.block_id),block:vvt(e.block)}}function sbn(e){return{totalCount:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.total_count)),blocks:(0,Fn.assertArray)(e.blocks).map(Rvt)}}function cbn(e){return{total:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.total)),totalBytes:(0,Ta.apiToSmallInt)((0,Fn.assertNotEmpty)(e.total_bytes))}}var Cxe=class e{static decodeAbciInfo(t){return Lyn((0,Fn.assertObject)(t.result.response))}static decodeAbciQuery(t){return Fyn((0,Fn.assertObject)(t.result.response))}static decodeBlock(t){return Rvt(t.result)}static decodeBlockResults(t){return Vyn(t.result)}static decodeBlockSearch(t){return sbn(t.result)}static decodeBlockchain(t){return Kyn(t.result)}static decodeBroadcastTxSync(t){return $yn(t.result)}static decodeBroadcastTxAsync(t){return e.decodeBroadcastTxSync(t)}static decodeBroadcastTxCommit(t){return Yyn(t.result)}static decodeCommit(t){return Zyn(t.result)}static decodeGenesis(t){return jyn((0,Fn.assertObject)(t.result.genesis))}static decodeHealth(){return null}static decodeNumUnconfirmedTxs(t){return cbn(t.result)}static decodeStatus(t){return rbn(t.result)}static decodeNewBlockEvent(t){return vvt(t.data.value.block)}static decodeNewBlockHeaderEvent(t){return Xte(t.data.value.header)}static decodeTxEvent(t){return obn(t.data.value.TxResult)}static decodeTx(t){return Evt(t.result)}static decodeTxSearch(t){return ibn(t.result)}static decodeValidators(t){return abn(t.result)}};J2.Responses=Cxe});var Ivt=ir(X9=>{"use strict";J();K();z();Object.defineProperty(X9,"__esModule",{value:!0});X9.Responses=X9.Params=void 0;var ubn=hvt();Object.defineProperty(X9,"Params",{enumerable:!0,get:function(){return ubn.Params}});var dbn=Svt();Object.defineProperty(X9,"Responses",{enumerable:!0,get:function(){return dbn.Responses}})});var Cvt=ir(tv=>{"use strict";J();K();z();var fbn=tv&&tv.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),lbn=tv&&tv.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),hbn=tv&&tv.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&fbn(t,e,r);return lbn(t,e),t};Object.defineProperty(tv,"__esModule",{value:!0});tv.Comet38Client=void 0;var Abn=T5(),Zte=kQ(),ls=Ivt(),D0=hbn(Yte()),Nxe=class e{static async connect(t){let r;typeof t=="object"?r=new Zte.HttpClient(t):r=t.startsWith("http://")||t.startsWith("https://")?new Zte.HttpClient(t):new Zte.WebsocketClient(t);let i=await this.detectVersion(r);return e.create(r)}static async create(t){return new e(t)}static async detectVersion(t){let r=(0,Abn.createJsonRpcRequest)(D0.Method.Status),n=(await t.execute(r)).result;if(!n||!n.node_info)throw new Error("Unrecognized format for status response");let o=n.node_info.version;if(typeof o!="string")throw new Error("Unrecognized version format: must be string");return o}constructor(t){this.client=t}disconnect(){this.client.disconnect()}async abciInfo(){let t={method:D0.Method.AbciInfo};return this.doCall(t,ls.Params.encodeAbciInfo,ls.Responses.decodeAbciInfo)}async abciQuery(t){let r={params:t,method:D0.Method.AbciQuery};return this.doCall(r,ls.Params.encodeAbciQuery,ls.Responses.decodeAbciQuery)}async block(t){let r={method:D0.Method.Block,params:{height:t}};return this.doCall(r,ls.Params.encodeBlock,ls.Responses.decodeBlock)}async blockResults(t){let r={method:D0.Method.BlockResults,params:{height:t}};return this.doCall(r,ls.Params.encodeBlockResults,ls.Responses.decodeBlockResults)}async blockSearch(t){let r={params:t,method:D0.Method.BlockSearch},i=await this.doCall(r,ls.Params.encodeBlockSearch,ls.Responses.decodeBlockSearch);return{...i,blocks:[...i.blocks].sort((n,o)=>n.block.header.height-o.block.header.height)}}async blockSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.blockSearch({...t,page:r});i.push(...o.blocks),i.length<o.totalCount?r++:n=!0}return i.sort((o,d)=>o.block.header.height-d.block.header.height),{totalCount:i.length,blocks:i}}async blockchain(t,r){let i={method:D0.Method.Blockchain,params:{minHeight:t,maxHeight:r}};return this.doCall(i,ls.Params.encodeBlockchain,ls.Responses.decodeBlockchain)}async broadcastTxSync(t){let r={params:t,method:D0.Method.BroadcastTxSync};return this.doCall(r,ls.Params.encodeBroadcastTx,ls.Responses.decodeBroadcastTxSync)}async broadcastTxAsync(t){let r={params:t,method:D0.Method.BroadcastTxAsync};return this.doCall(r,ls.Params.encodeBroadcastTx,ls.Responses.decodeBroadcastTxAsync)}async broadcastTxCommit(t){let r={params:t,method:D0.Method.BroadcastTxCommit};return this.doCall(r,ls.Params.encodeBroadcastTx,ls.Responses.decodeBroadcastTxCommit)}async commit(t){let r={method:D0.Method.Commit,params:{height:t}};return this.doCall(r,ls.Params.encodeCommit,ls.Responses.decodeCommit)}async genesis(){let t={method:D0.Method.Genesis};return this.doCall(t,ls.Params.encodeGenesis,ls.Responses.decodeGenesis)}async health(){let t={method:D0.Method.Health};return this.doCall(t,ls.Params.encodeHealth,ls.Responses.decodeHealth)}async numUnconfirmedTxs(){let t={method:D0.Method.NumUnconfirmedTxs};return this.doCall(t,ls.Params.encodeNumUnconfirmedTxs,ls.Responses.decodeNumUnconfirmedTxs)}async status(){let t={method:D0.Method.Status};return this.doCall(t,ls.Params.encodeStatus,ls.Responses.decodeStatus)}subscribeNewBlock(){let t={method:D0.Method.Subscribe,query:{type:D0.SubscriptionEventType.NewBlock}};return this.subscribe(t,ls.Responses.decodeNewBlockEvent)}subscribeNewBlockHeader(){let t={method:D0.Method.Subscribe,query:{type:D0.SubscriptionEventType.NewBlockHeader}};return this.subscribe(t,ls.Responses.decodeNewBlockHeaderEvent)}subscribeTx(t){let r={method:D0.Method.Subscribe,query:{type:D0.SubscriptionEventType.Tx,raw:t}};return this.subscribe(r,ls.Responses.decodeTxEvent)}async tx(t){let r={params:t,method:D0.Method.Tx};return this.doCall(r,ls.Params.encodeTx,ls.Responses.decodeTx)}async txSearch(t){let r={params:t,method:D0.Method.TxSearch};return this.doCall(r,ls.Params.encodeTxSearch,ls.Responses.decodeTxSearch)}async txSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.txSearch({...t,page:r});i.push(...o.txs),i.length<o.totalCount?r++:n=!0}return{totalCount:i.length,txs:i}}async validators(t){let r={method:D0.Method.Validators,params:t};return this.doCall(r,ls.Params.encodeValidators,ls.Responses.decodeValidators)}async validatorsAll(t){let r=[],i=1,n=!1,o=t;for(;!n;){let d=await this.validators({per_page:50,height:o,page:i});r.push(...d.validators),o=o||d.blockHeight,r.length<d.total?i++:n=!0}return{blockHeight:o??0,count:r.length,total:r.length,validators:r}}async doCall(t,r,i){let n=r(t),o=await this.client.execute(n);return i(o)}subscribe(t,r){if(!(0,Zte.instanceOfRpcStreamingClient)(this.client))throw new Error("This RPC client type cannot subscribe to events");let i=ls.Params.encodeSubscribe(t);return this.client.listen(i).map(o=>r(o))}};tv.Comet38Client=Nxe});var wvt=ir(PS=>{"use strict";J();K();z();Object.defineProperty(PS,"__esModule",{value:!0});PS.VoteType=PS.broadcastTxCommitSuccess=PS.broadcastTxSyncSuccess=void 0;function pbn(e){return e.code===0}PS.broadcastTxSyncSuccess=pbn;function gbn(e){return e.checkTx.code===0&&!!e.deliverTx&&e.deliverTx.code===0}PS.broadcastTxCommitSuccess=gbn;var _bn;(function(e){e[e.PreVote=1]="PreVote",e[e.PreCommit=2]="PreCommit"})(_bn=PS.VoteType||(PS.VoteType={}))});var jte=ir(b1=>{"use strict";J();K();z();Object.defineProperty(b1,"__esModule",{value:!0});b1.VoteType=b1.broadcastTxSyncSuccess=b1.broadcastTxCommitSuccess=b1.SubscriptionEventType=b1.Method=b1.Comet38Client=void 0;var mbn=Cvt();Object.defineProperty(b1,"Comet38Client",{enumerable:!0,get:function(){return mbn.Comet38Client}});var Ovt=Yte();Object.defineProperty(b1,"Method",{enumerable:!0,get:function(){return Ovt.Method}});Object.defineProperty(b1,"SubscriptionEventType",{enumerable:!0,get:function(){return Ovt.SubscriptionEventType}});var xxe=wvt();Object.defineProperty(b1,"broadcastTxCommitSuccess",{enumerable:!0,get:function(){return xxe.broadcastTxCommitSuccess}});Object.defineProperty(b1,"broadcastTxSyncSuccess",{enumerable:!0,get:function(){return xxe.broadcastTxSyncSuccess}});Object.defineProperty(b1,"VoteType",{enumerable:!0,get:function(){return xxe.VoteType}})});var ere=ir(rv=>{"use strict";J();K();z();Object.defineProperty(rv,"__esModule",{value:!0});rv.buildQuery=rv.SubscriptionEventType=rv.Method=void 0;var ybn;(function(e){e.AbciInfo="abci_info",e.AbciQuery="abci_query",e.Block="block",e.Blockchain="blockchain",e.BlockResults="block_results",e.BlockSearch="block_search",e.BroadcastTxAsync="broadcast_tx_async",e.BroadcastTxSync="broadcast_tx_sync",e.BroadcastTxCommit="broadcast_tx_commit",e.Commit="commit",e.Genesis="genesis",e.Health="health",e.NumUnconfirmedTxs="num_unconfirmed_txs",e.Status="status",e.Subscribe="subscribe",e.Tx="tx",e.TxSearch="tx_search",e.Validators="validators",e.Unsubscribe="unsubscribe"})(ybn=rv.Method||(rv.Method={}));var bbn;(function(e){e.NewBlock="NewBlock",e.NewBlockHeader="NewBlockHeader",e.Tx="Tx"})(bbn=rv.SubscriptionEventType||(rv.SubscriptionEventType={}));function Ebn(e){let r=(e.tags?e.tags:[]).map(n=>`${n.key}='${n.value}'`),i=e.raw?[e.raw]:[];return[...r,...i].join(" AND ")}rv.buildQuery=Ebn});var Nvt=ir(LS=>{"use strict";J();K();z();Object.defineProperty(LS,"__esModule",{value:!0});LS.VoteType=LS.broadcastTxCommitSuccess=LS.broadcastTxSyncSuccess=void 0;function vbn(e){return e.code===0}LS.broadcastTxSyncSuccess=vbn;function Rbn(e){return e.checkTx.code===0&&!!e.deliverTx&&e.deliverTx.code===0}LS.broadcastTxCommitSuccess=Rbn;var Sbn;(function(e){e[e.PreVote=1]="PreVote",e[e.PreCommit=2]="PreCommit"})(Sbn=LS.VoteType||(LS.VoteType={}))});var xvt=ir(nv=>{"use strict";J();K();z();var Ibn=nv&&nv.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),Cbn=nv&&nv.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),wbn=nv&&nv.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Ibn(t,e,r);return Cbn(t,e),t};Object.defineProperty(nv,"__esModule",{value:!0});nv.Params=void 0;var Mxe=Ps(),xy=U5(),vA=T5(),E1=PQ(),Obn=wbn(ere());function Txe(e){return{height:(0,E1.may)(xy.smallIntToApi,e.height)}}function Nbn(e){return{minHeight:(0,E1.may)(xy.smallIntToApi,e.minHeight),maxHeight:(0,E1.may)(xy.smallIntToApi,e.maxHeight)}}function xbn(e){return{query:e.query,page:(0,E1.may)(xy.smallIntToApi,e.page),per_page:(0,E1.may)(xy.smallIntToApi,e.per_page),order_by:e.order_by}}function Tbn(e){return{path:(0,E1.assertNotEmpty)(e.path),data:(0,Mxe.toHex)(e.data),height:(0,E1.may)(xy.smallIntToApi,e.height),prove:e.prove}}function Bbn(e){return{tx:(0,Mxe.toBase64)((0,E1.assertNotEmpty)(e.tx))}}function Mbn(e){return{hash:(0,Mxe.toBase64)((0,E1.assertNotEmpty)(e.hash)),prove:e.prove}}function Dbn(e){return{query:e.query,prove:e.prove,page:(0,E1.may)(xy.smallIntToApi,e.page),per_page:(0,E1.may)(xy.smallIntToApi,e.per_page),order_by:e.order_by}}function kbn(e){return{height:(0,E1.may)(xy.smallIntToApi,e.height),page:(0,E1.may)(xy.smallIntToApi,e.page),per_page:(0,E1.may)(xy.smallIntToApi,e.per_page)}}var Bxe=class{static encodeAbciInfo(t){return(0,vA.createJsonRpcRequest)(t.method)}static encodeAbciQuery(t){return(0,vA.createJsonRpcRequest)(t.method,Tbn(t.params))}static encodeBlock(t){return(0,vA.createJsonRpcRequest)(t.method,Txe(t.params))}static encodeBlockchain(t){return(0,vA.createJsonRpcRequest)(t.method,Nbn(t.params))}static encodeBlockResults(t){return(0,vA.createJsonRpcRequest)(t.method,Txe(t.params))}static encodeBlockSearch(t){return(0,vA.createJsonRpcRequest)(t.method,xbn(t.params))}static encodeBroadcastTx(t){return(0,vA.createJsonRpcRequest)(t.method,Bbn(t.params))}static encodeCommit(t){return(0,vA.createJsonRpcRequest)(t.method,Txe(t.params))}static encodeGenesis(t){return(0,vA.createJsonRpcRequest)(t.method)}static encodeHealth(t){return(0,vA.createJsonRpcRequest)(t.method)}static encodeNumUnconfirmedTxs(t){return(0,vA.createJsonRpcRequest)(t.method)}static encodeStatus(t){return(0,vA.createJsonRpcRequest)(t.method)}static encodeSubscribe(t){let r={key:"tm.event",value:t.query.type},i=Obn.buildQuery({tags:[r],raw:t.query.raw});return(0,vA.createJsonRpcRequest)("subscribe",{query:i})}static encodeTx(t){return(0,vA.createJsonRpcRequest)(t.method,Mbn(t.params))}static encodeTxSearch(t){return(0,vA.createJsonRpcRequest)(t.method,Dbn(t.params))}static encodeValidators(t){return(0,vA.createJsonRpcRequest)(t.method,kbn(t.params))}};nv.Params=Bxe});var Tvt=ir(Z9=>{"use strict";J();K();z();Object.defineProperty(Z9,"__esModule",{value:!0});Z9.hashBlock=Z9.hashTx=void 0;var kxe=$l(),v1=PQ();function Pbn(e){return(0,kxe.sha256)(e)}Z9.hashTx=Pbn;function Lbn(e){if(e<1)throw new Error("Cannot split an empty tree");let t=2**Math.floor(Math.log2(e));return t<e?t:t/2}function Ubn(e){let t=new kxe.Sha256(Uint8Array.from([0]));return t.update(e),t.digest()}function Fbn(e,t){let r=new kxe.Sha256(Uint8Array.from([1]));return r.update(e),r.update(t),r.digest()}function Dxe(e){switch(e.length){case 0:throw new Error("Cannot hash empty tree");case 1:return Ubn(e[0]);default:{let t=Lbn(e.length),r=Dxe(e.slice(0,t)),i=Dxe(e.slice(t));return Fbn(r,i)}}}function Qbn(e){if(!e.lastBlockId)throw new Error("Hashing a block header with no last block ID (i.e. header at height 1) is not supported. If you need this, contributions are welcome. Please add documentation and test vectors for this case.");let t=[(0,v1.encodeVersion)(e.version),(0,v1.encodeString)(e.chainId),(0,v1.encodeUvarint)(e.height),(0,v1.encodeTime)(e.time),(0,v1.encodeBlockId)(e.lastBlockId),(0,v1.encodeBytes)(e.lastCommitHash),(0,v1.encodeBytes)(e.dataHash),(0,v1.encodeBytes)(e.validatorsHash),(0,v1.encodeBytes)(e.nextValidatorsHash),(0,v1.encodeBytes)(e.consensusHash),(0,v1.encodeBytes)(e.appHash),(0,v1.encodeBytes)(e.lastResultsHash),(0,v1.encodeBytes)(e.evidenceHash),(0,v1.encodeBytes)(e.proposerAddress)];return Dxe(t)}Z9.hashBlock=Qbn});var Hvt=ir(z2=>{"use strict";J();K();z();Object.defineProperty(z2,"__esModule",{value:!0});z2.Responses=z2.decodeValidatorInfo=z2.decodeValidatorGenesis=z2.decodeValidatorUpdate=z2.decodeEvent=void 0;var Ba=Ps(),Bvt=Uf(),QQ=IQ(),Ma=U5(),Hbn=UQ(),Pn=PQ(),Gbn=Tvt();function qbn(e){return{data:e.data,lastBlockHeight:(0,Pn.may)(Ma.apiToSmallInt,e.last_block_height),lastBlockAppHash:(0,Pn.may)(Ba.fromBase64,e.last_block_app_hash)}}function Vbn(e){return{ops:e.ops.map(t=>({type:t.type,key:(0,Ba.fromBase64)(t.key),data:(0,Ba.fromBase64)(t.data)}))}}function Jbn(e){return{key:(0,Ba.fromBase64)((0,Pn.assertString)(e.key??"")),value:(0,Ba.fromBase64)((0,Pn.assertString)(e.value??"")),proof:(0,Pn.may)(Vbn,e.proofOps),height:(0,Pn.may)(Ma.apiToSmallInt,e.height),code:(0,Pn.may)(Ma.apiToSmallInt,e.code),codespace:(0,Pn.assertString)(e.codespace??""),index:(0,Pn.may)(Ma.apiToSmallInt,e.index),log:e.log,info:(0,Pn.assertString)(e.info??"")}}function zbn(e){return{key:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.key)),value:(0,Ba.fromBase64)((0,Pn.assertString)(e.value??""))}}function Kbn(e){return(0,Pn.assertArray)(e).map(zbn)}function Mvt(e){return{type:e.type,attributes:e.attributes?Kbn(e.attributes):[]}}z2.decodeEvent=Mvt;function Pxe(e){return(0,Pn.assertArray)(e).map(Mvt)}function j9(e){return{code:(0,Ma.apiToSmallInt)((0,Pn.assertNumber)(e.code??0)),codespace:e.codespace,log:e.log,data:(0,Pn.may)(Ba.fromBase64,e.data),events:e.events?Pxe(e.events):[],gasWanted:(0,Ma.apiToBigInt)(e.gas_wanted??"0"),gasUsed:(0,Ma.apiToBigInt)(e.gas_used??"0")}}function Uxe(e){if("Sum"in e){let[[t,r]]=Object.entries(e.Sum.value);return(0,Bvt.assert)(t==="ed25519"||t==="secp256k1",`unknown pubkey type: ${t}`),{algorithm:t,data:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(r))}}else switch(e.type){case"tendermint/PubKeyEd25519":return{algorithm:"ed25519",data:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.value))};case"tendermint/PubKeySecp256k1":return{algorithm:"secp256k1",data:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.value))};default:throw new Error(`unknown pubkey type: ${e.type}`)}}function $bn(e){return{maxBytes:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.max_bytes)),maxGas:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.max_gas))}}function Ybn(e){return{maxAgeNumBlocks:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.max_age_num_blocks)),maxAgeDuration:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.max_age_duration))}}function Dvt(e){return{block:$bn((0,Pn.assertObject)(e.block)),evidence:Ybn((0,Pn.assertObject)(e.evidence))}}function kvt(e){return{pubkey:Uxe((0,Pn.assertObject)(e.pub_key)),votingPower:(0,Ma.apiToBigInt)(e.power??"0")}}z2.decodeValidatorUpdate=kvt;function Wbn(e){return{height:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.height)),results:(e.txs_results||[]).map(j9),validatorUpdates:(e.validator_updates||[]).map(kvt),consensusUpdates:(0,Pn.may)(Dvt,e.consensus_param_updates),beginBlockEvents:Pxe(e.begin_block_events||[]),endBlockEvents:Pxe(e.end_block_events||[])}}function tre(e){return{hash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.hash)),parts:{total:(0,Pn.assertNotEmpty)(e.parts.total),hash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.parts.hash))}}}function Xbn(e){return{block:(0,Ma.apiToSmallInt)(e.block),app:(0,Ma.apiToSmallInt)(e.app??0)}}function rre(e){return{version:Xbn(e.version),chainId:(0,Pn.assertNotEmpty)(e.chain_id),height:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.height)),time:(0,QQ.fromRfc3339WithNanoseconds)((0,Pn.assertNotEmpty)(e.time)),lastBlockId:e.last_block_id.hash?tre(e.last_block_id):null,lastCommitHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.last_commit_hash)),dataHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.data_hash)),validatorsHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.validators_hash)),nextValidatorsHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.next_validators_hash)),consensusHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.consensus_hash)),appHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.app_hash)),lastResultsHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.last_results_hash)),evidenceHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.evidence_hash)),proposerAddress:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.proposer_address))}}function Zbn(e){return{blockId:tre(e.block_id),blockSize:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.block_size)),header:rre(e.header),numTxs:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.num_txs))}}function jbn(e){return{lastHeight:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.last_height)),blockMetas:(0,Pn.assertArray)(e.block_metas).map(Zbn)}}function eEn(e){return{...j9(e),hash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.hash))}}function tEn(e){return{height:(0,Ma.apiToSmallInt)(e.height),hash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.hash)),checkTx:j9((0,Pn.assertObject)(e.check_tx)),deliverTx:(0,Pn.may)(j9,e.deliver_tx)}}function rEn(e){return(0,Bvt.assert)(e in Hbn.BlockIdFlag),e}function nEn(e){return{blockIdFlag:rEn(e.block_id_flag),validatorAddress:e.validator_address?(0,Ba.fromHex)(e.validator_address):void 0,timestamp:e.timestamp?(0,QQ.fromRfc3339WithNanoseconds)(e.timestamp):void 0,signature:e.signature?(0,Ba.fromBase64)(e.signature):void 0}}function Pvt(e){return{blockId:tre((0,Pn.assertObject)(e.block_id)),height:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.height)),round:(0,Ma.apiToSmallInt)(e.round),signatures:(0,Pn.assertArray)(e.signatures).map(nEn)}}function iEn(e){return{canonical:(0,Pn.assertBoolean)(e.canonical),header:rre(e.signed_header.header),commit:Pvt(e.signed_header.commit)}}function Lvt(e){return{address:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.address)),pubkey:Uxe((0,Pn.assertObject)(e.pub_key)),votingPower:(0,Ma.apiToBigInt)((0,Pn.assertNotEmpty)(e.power))}}z2.decodeValidatorGenesis=Lvt;function oEn(e){return{genesisTime:(0,QQ.fromRfc3339WithNanoseconds)((0,Pn.assertNotEmpty)(e.genesis_time)),chainId:(0,Pn.assertNotEmpty)(e.chain_id),consensusParams:Dvt(e.consensus_params),validators:e.validators?(0,Pn.assertArray)(e.validators).map(Lvt):[],appHash:(0,Ba.fromHex)((0,Pn.assertSet)(e.app_hash)),appState:e.app_state}}function Fxe(e){return{pubkey:Uxe((0,Pn.assertObject)(e.pub_key)),votingPower:(0,Ma.apiToBigInt)((0,Pn.assertNotEmpty)(e.voting_power)),address:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.address)),proposerPriority:e.proposer_priority?(0,Ma.apiToSmallInt)(e.proposer_priority):void 0}}z2.decodeValidatorInfo=Fxe;function aEn(e){return{id:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.id)),listenAddr:(0,Pn.assertNotEmpty)(e.listen_addr),network:(0,Pn.assertNotEmpty)(e.network),version:(0,Pn.assertString)(e.version),channels:(0,Pn.assertNotEmpty)(e.channels),moniker:(0,Pn.assertNotEmpty)(e.moniker),other:(0,Pn.dictionaryToStringMap)(e.other),protocolVersion:{app:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.protocol_version.app)),block:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.protocol_version.block)),p2p:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.protocol_version.p2p))}}}function sEn(e){let t=e.earliest_block_height?(0,Ma.apiToSmallInt)(e.earliest_block_height):void 0,r=e.earliest_block_time?(0,QQ.fromRfc3339WithNanoseconds)(e.earliest_block_time):void 0;return{earliestAppHash:e.earliest_app_hash?(0,Ba.fromHex)(e.earliest_app_hash):void 0,earliestBlockHash:e.earliest_block_hash?(0,Ba.fromHex)(e.earliest_block_hash):void 0,earliestBlockHeight:t||void 0,earliestBlockTime:r?.getTime()?r:void 0,latestBlockHash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.latest_block_hash)),latestAppHash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.latest_app_hash)),latestBlockTime:(0,QQ.fromRfc3339WithNanoseconds)((0,Pn.assertNotEmpty)(e.latest_block_time)),latestBlockHeight:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.latest_block_height)),catchingUp:(0,Pn.assertBoolean)(e.catching_up)}}function cEn(e){return{nodeInfo:aEn(e.node_info),syncInfo:sEn(e.sync_info),validatorInfo:Fxe(e.validator_info)}}function uEn(e){return{data:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.data)),rootHash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.root_hash)),proof:{total:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.proof.total)),index:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.proof.index)),leafHash:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.proof.leaf_hash)),aunts:(0,Pn.assertArray)(e.proof.aunts).map(Ba.fromBase64)}}}function Uvt(e){return{tx:(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.tx)),result:j9((0,Pn.assertObject)(e.tx_result)),height:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.height)),index:(0,Ma.apiToSmallInt)((0,Pn.assertNumber)(e.index)),hash:(0,Ba.fromHex)((0,Pn.assertNotEmpty)(e.hash)),proof:(0,Pn.may)(uEn,e.proof)}}function dEn(e){return{totalCount:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.total_count)),txs:(0,Pn.assertArray)(e.txs).map(Uvt)}}function fEn(e){let t=(0,Ba.fromBase64)((0,Pn.assertNotEmpty)(e.tx));return{tx:t,hash:(0,Gbn.hashTx)(t),result:j9(e.result),height:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.height))}}function lEn(e){return{blockHeight:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.block_height)),validators:(0,Pn.assertArray)(e.validators).map(Fxe),count:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.count)),total:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.total))}}function Fvt(e){return{header:rre((0,Pn.assertObject)(e.header)),lastCommit:e.last_commit.block_id.hash?Pvt((0,Pn.assertObject)(e.last_commit)):null,txs:e.data.txs?(0,Pn.assertArray)(e.data.txs).map(Ba.fromBase64):[],evidence:e.evidence?.evidence??[]}}function Qvt(e){return{blockId:tre(e.block_id),block:Fvt(e.block)}}function hEn(e){return{totalCount:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.total_count)),blocks:(0,Pn.assertArray)(e.blocks).map(Qvt)}}function AEn(e){return{total:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.total)),totalBytes:(0,Ma.apiToSmallInt)((0,Pn.assertNotEmpty)(e.total_bytes))}}var Lxe=class e{static decodeAbciInfo(t){return qbn((0,Pn.assertObject)(t.result.response))}static decodeAbciQuery(t){return Jbn((0,Pn.assertObject)(t.result.response))}static decodeBlock(t){return Qvt(t.result)}static decodeBlockResults(t){return Wbn(t.result)}static decodeBlockSearch(t){return hEn(t.result)}static decodeBlockchain(t){return jbn(t.result)}static decodeBroadcastTxSync(t){return eEn(t.result)}static decodeBroadcastTxAsync(t){return e.decodeBroadcastTxSync(t)}static decodeBroadcastTxCommit(t){return tEn(t.result)}static decodeCommit(t){return iEn(t.result)}static decodeGenesis(t){return oEn((0,Pn.assertObject)(t.result.genesis))}static decodeHealth(){return null}static decodeNumUnconfirmedTxs(t){return AEn(t.result)}static decodeStatus(t){return cEn(t.result)}static decodeNewBlockEvent(t){return Fvt(t.data.value.block)}static decodeNewBlockHeaderEvent(t){return rre(t.data.value.header)}static decodeTxEvent(t){return fEn(t.data.value.TxResult)}static decodeTx(t){return Uvt(t.result)}static decodeTxSearch(t){return dEn(t.result)}static decodeValidators(t){return lEn(t.result)}};z2.Responses=Lxe});var Gvt=ir(eM=>{"use strict";J();K();z();Object.defineProperty(eM,"__esModule",{value:!0});eM.Responses=eM.Params=void 0;var pEn=xvt();Object.defineProperty(eM,"Params",{enumerable:!0,get:function(){return pEn.Params}});var gEn=Hvt();Object.defineProperty(eM,"Responses",{enumerable:!0,get:function(){return gEn.Responses}})});var qvt=ir(iv=>{"use strict";J();K();z();var _En=iv&&iv.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),mEn=iv&&iv.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),yEn=iv&&iv.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&_En(t,e,r);return mEn(t,e),t};Object.defineProperty(iv,"__esModule",{value:!0});iv.Tendermint34Client=void 0;var bEn=T5(),nre=kQ(),hs=Gvt(),k0=yEn(ere()),Qxe=class e{static async connect(t){let r;typeof t=="object"?r=new nre.HttpClient(t):r=t.startsWith("http://")||t.startsWith("https://")?new nre.HttpClient(t):new nre.WebsocketClient(t);let i=await this.detectVersion(r);return e.create(r)}static async create(t){return new e(t)}static async detectVersion(t){let r=(0,bEn.createJsonRpcRequest)(k0.Method.Status),n=(await t.execute(r)).result;if(!n||!n.node_info)throw new Error("Unrecognized format for status response");let o=n.node_info.version;if(typeof o!="string")throw new Error("Unrecognized version format: must be string");return o}constructor(t){this.client=t}disconnect(){this.client.disconnect()}async abciInfo(){let t={method:k0.Method.AbciInfo};return this.doCall(t,hs.Params.encodeAbciInfo,hs.Responses.decodeAbciInfo)}async abciQuery(t){let r={params:t,method:k0.Method.AbciQuery};return this.doCall(r,hs.Params.encodeAbciQuery,hs.Responses.decodeAbciQuery)}async block(t){let r={method:k0.Method.Block,params:{height:t}};return this.doCall(r,hs.Params.encodeBlock,hs.Responses.decodeBlock)}async blockResults(t){let r={method:k0.Method.BlockResults,params:{height:t}};return this.doCall(r,hs.Params.encodeBlockResults,hs.Responses.decodeBlockResults)}async blockSearch(t){let r={params:t,method:k0.Method.BlockSearch},i=await this.doCall(r,hs.Params.encodeBlockSearch,hs.Responses.decodeBlockSearch);return{...i,blocks:[...i.blocks].sort((n,o)=>n.block.header.height-o.block.header.height)}}async blockSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.blockSearch({...t,page:r});i.push(...o.blocks),i.length<o.totalCount?r++:n=!0}return i.sort((o,d)=>o.block.header.height-d.block.header.height),{totalCount:i.length,blocks:i}}async blockchain(t,r){let i={method:k0.Method.Blockchain,params:{minHeight:t,maxHeight:r}};return this.doCall(i,hs.Params.encodeBlockchain,hs.Responses.decodeBlockchain)}async broadcastTxSync(t){let r={params:t,method:k0.Method.BroadcastTxSync};return this.doCall(r,hs.Params.encodeBroadcastTx,hs.Responses.decodeBroadcastTxSync)}async broadcastTxAsync(t){let r={params:t,method:k0.Method.BroadcastTxAsync};return this.doCall(r,hs.Params.encodeBroadcastTx,hs.Responses.decodeBroadcastTxAsync)}async broadcastTxCommit(t){let r={params:t,method:k0.Method.BroadcastTxCommit};return this.doCall(r,hs.Params.encodeBroadcastTx,hs.Responses.decodeBroadcastTxCommit)}async commit(t){let r={method:k0.Method.Commit,params:{height:t}};return this.doCall(r,hs.Params.encodeCommit,hs.Responses.decodeCommit)}async genesis(){let t={method:k0.Method.Genesis};return this.doCall(t,hs.Params.encodeGenesis,hs.Responses.decodeGenesis)}async health(){let t={method:k0.Method.Health};return this.doCall(t,hs.Params.encodeHealth,hs.Responses.decodeHealth)}async numUnconfirmedTxs(){let t={method:k0.Method.NumUnconfirmedTxs};return this.doCall(t,hs.Params.encodeNumUnconfirmedTxs,hs.Responses.decodeNumUnconfirmedTxs)}async status(){let t={method:k0.Method.Status};return this.doCall(t,hs.Params.encodeStatus,hs.Responses.decodeStatus)}subscribeNewBlock(){let t={method:k0.Method.Subscribe,query:{type:k0.SubscriptionEventType.NewBlock}};return this.subscribe(t,hs.Responses.decodeNewBlockEvent)}subscribeNewBlockHeader(){let t={method:k0.Method.Subscribe,query:{type:k0.SubscriptionEventType.NewBlockHeader}};return this.subscribe(t,hs.Responses.decodeNewBlockHeaderEvent)}subscribeTx(t){let r={method:k0.Method.Subscribe,query:{type:k0.SubscriptionEventType.Tx,raw:t}};return this.subscribe(r,hs.Responses.decodeTxEvent)}async tx(t){let r={params:t,method:k0.Method.Tx};return this.doCall(r,hs.Params.encodeTx,hs.Responses.decodeTx)}async txSearch(t){let r={params:t,method:k0.Method.TxSearch};return this.doCall(r,hs.Params.encodeTxSearch,hs.Responses.decodeTxSearch)}async txSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.txSearch({...t,page:r});i.push(...o.txs),i.length<o.totalCount?r++:n=!0}return{totalCount:i.length,txs:i}}async validators(t){let r={method:k0.Method.Validators,params:t};return this.doCall(r,hs.Params.encodeValidators,hs.Responses.decodeValidators)}async validatorsAll(t){let r=[],i=1,n=!1,o=t;for(;!n;){let d=await this.validators({per_page:50,height:o,page:i});r.push(...d.validators),o=o||d.blockHeight,r.length<d.total?i++:n=!0}return{blockHeight:o??0,count:r.length,total:r.length,validators:r}}async doCall(t,r,i){let n=r(t),o=await this.client.execute(n);return i(o)}subscribe(t,r){if(!(0,nre.instanceOfRpcStreamingClient)(this.client))throw new Error("This RPC client type cannot subscribe to events");let i=hs.Params.encodeSubscribe(t);return this.client.listen(i).map(o=>r(o))}};iv.Tendermint34Client=Qxe});var HQ=ir(R1=>{"use strict";J();K();z();Object.defineProperty(R1,"__esModule",{value:!0});R1.Tendermint34Client=R1.VoteType=R1.broadcastTxSyncSuccess=R1.broadcastTxCommitSuccess=R1.SubscriptionEventType=R1.Method=void 0;var Vvt=ere();Object.defineProperty(R1,"Method",{enumerable:!0,get:function(){return Vvt.Method}});Object.defineProperty(R1,"SubscriptionEventType",{enumerable:!0,get:function(){return Vvt.SubscriptionEventType}});var Hxe=Nvt();Object.defineProperty(R1,"broadcastTxCommitSuccess",{enumerable:!0,get:function(){return Hxe.broadcastTxCommitSuccess}});Object.defineProperty(R1,"broadcastTxSyncSuccess",{enumerable:!0,get:function(){return Hxe.broadcastTxSyncSuccess}});Object.defineProperty(R1,"VoteType",{enumerable:!0,get:function(){return Hxe.VoteType}});var EEn=qvt();Object.defineProperty(R1,"Tendermint34Client",{enumerable:!0,get:function(){return EEn.Tendermint34Client}})});var ire=ir(ov=>{"use strict";J();K();z();Object.defineProperty(ov,"__esModule",{value:!0});ov.buildQuery=ov.SubscriptionEventType=ov.Method=void 0;var vEn;(function(e){e.AbciInfo="abci_info",e.AbciQuery="abci_query",e.Block="block",e.Blockchain="blockchain",e.BlockResults="block_results",e.BlockSearch="block_search",e.BroadcastTxAsync="broadcast_tx_async",e.BroadcastTxSync="broadcast_tx_sync",e.BroadcastTxCommit="broadcast_tx_commit",e.Commit="commit",e.Genesis="genesis",e.Health="health",e.NumUnconfirmedTxs="num_unconfirmed_txs",e.Status="status",e.Subscribe="subscribe",e.Tx="tx",e.TxSearch="tx_search",e.Validators="validators",e.Unsubscribe="unsubscribe"})(vEn=ov.Method||(ov.Method={}));var REn;(function(e){e.NewBlock="NewBlock",e.NewBlockHeader="NewBlockHeader",e.Tx="Tx"})(REn=ov.SubscriptionEventType||(ov.SubscriptionEventType={}));function SEn(e){let r=(e.tags?e.tags:[]).map(n=>`${n.key}='${n.value}'`),i=e.raw?[e.raw]:[];return[...r,...i].join(" AND ")}ov.buildQuery=SEn});var Jvt=ir(US=>{"use strict";J();K();z();Object.defineProperty(US,"__esModule",{value:!0});US.VoteType=US.broadcastTxCommitSuccess=US.broadcastTxSyncSuccess=void 0;function IEn(e){return e.code===0}US.broadcastTxSyncSuccess=IEn;function CEn(e){return e.checkTx.code===0&&!!e.deliverTx&&e.deliverTx.code===0}US.broadcastTxCommitSuccess=CEn;var wEn;(function(e){e[e.PreVote=1]="PreVote",e[e.PreCommit=2]="PreCommit"})(wEn=US.VoteType||(US.VoteType={}))});var ore=ir(_c=>{"use strict";J();K();z();Object.defineProperty(_c,"__esModule",{value:!0});_c.encodeBlockId=_c.encodeVersion=_c.encodeBytes=_c.encodeTime=_c.encodeUvarint=_c.encodeString=_c.dictionaryToStringMap=_c.may=_c.assertNotEmpty=_c.assertObject=_c.assertArray=_c.assertNumber=_c.assertString=_c.assertBoolean=_c.assertSet=void 0;var OEn=Ps();function Q5(e){if(e===void 0)throw new Error("Value must not be undefined");if(e===null)throw new Error("Value must not be null");return e}_c.assertSet=Q5;function NEn(e){if(Q5(e),typeof e!="boolean")throw new Error("Value must be a boolean");return e}_c.assertBoolean=NEn;function xEn(e){if(Q5(e),typeof e!="string")throw new Error("Value must be a string");return e}_c.assertString=xEn;function TEn(e){if(Q5(e),typeof e!="number")throw new Error("Value must be a number");return e}_c.assertNumber=TEn;function BEn(e){if(Q5(e),!Array.isArray(e))throw new Error("Value must be a an array");return e}_c.assertArray=BEn;function MEn(e){if(Q5(e),typeof e!="object")throw new Error("Value must be an object");if(Object.prototype.toString.call(e)!=="[object Object]")throw new Error("Value must be a simple object");return e}_c.assertObject=MEn;function DEn(e){if(Q5(e),typeof e=="number"&&e===0)throw new Error("must provide a non-zero value");if(e.length===0)throw new Error("must provide a non-empty value");return e}_c.assertNotEmpty=DEn;function kEn(e,t){return t==null?void 0:e(t)}_c.may=kEn;function PEn(e){let t=new Map;for(let r of Object.keys(e)){let i=e[r];if(typeof i!="string")throw new Error("Found dictionary value of type other than string");t.set(r,i)}return t}_c.dictionaryToStringMap=PEn;function LEn(e){let t=(0,OEn.toUtf8)(e);return Uint8Array.from([t.length,...t])}_c.encodeString=LEn;function tM(e){return e>=128?Uint8Array.from([e&255|128,...tM(e>>7)]):Uint8Array.from([e&255])}_c.encodeUvarint=tM;function UEn(e){let t=e.getTime(),r=Math.floor(t/1e3),i=r?[8,...tM(r)]:new Uint8Array,n=(e.nanoseconds||0)+t%1e3*1e6,o=n?[16,...tM(n)]:new Uint8Array;return Uint8Array.from([...i,...o])}_c.encodeTime=UEn;function FEn(e){if(e.length>=128)throw new Error("Not implemented for byte arrays of length 128 or more");return e.length?Uint8Array.from([e.length,...e]):new Uint8Array}_c.encodeBytes=FEn;function QEn(e){let t=e.block?Uint8Array.from([8,...tM(e.block)]):new Uint8Array,r=e.app?Uint8Array.from([16,...tM(e.app)]):new Uint8Array;return Uint8Array.from([...t,...r])}_c.encodeVersion=QEn;function HEn(e){return Uint8Array.from([10,e.hash.length,...e.hash,18,e.parts.hash.length+4,8,e.parts.total,18,e.parts.hash.length,...e.parts.hash])}_c.encodeBlockId=HEn});var zvt=ir(av=>{"use strict";J();K();z();var GEn=av&&av.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),qEn=av&&av.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),VEn=av&&av.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&GEn(t,e,r);return qEn(t,e),t};Object.defineProperty(av,"__esModule",{value:!0});av.Params=void 0;var Vxe=Ps(),Ty=U5(),RA=T5(),S1=ore(),JEn=VEn(ire());function Gxe(e){return{height:(0,S1.may)(Ty.smallIntToApi,e.height)}}function zEn(e){return{minHeight:(0,S1.may)(Ty.smallIntToApi,e.minHeight),maxHeight:(0,S1.may)(Ty.smallIntToApi,e.maxHeight)}}function KEn(e){return{query:e.query,page:(0,S1.may)(Ty.smallIntToApi,e.page),per_page:(0,S1.may)(Ty.smallIntToApi,e.per_page),order_by:e.order_by}}function $En(e){return{path:(0,S1.assertNotEmpty)(e.path),data:(0,Vxe.toHex)(e.data),height:(0,S1.may)(Ty.smallIntToApi,e.height),prove:e.prove}}function YEn(e){return{tx:(0,Vxe.toBase64)((0,S1.assertNotEmpty)(e.tx))}}function WEn(e){return{hash:(0,Vxe.toBase64)((0,S1.assertNotEmpty)(e.hash)),prove:e.prove}}function XEn(e){return{query:e.query,prove:e.prove,page:(0,S1.may)(Ty.smallIntToApi,e.page),per_page:(0,S1.may)(Ty.smallIntToApi,e.per_page),order_by:e.order_by}}function ZEn(e){return{height:(0,S1.may)(Ty.smallIntToApi,e.height),page:(0,S1.may)(Ty.smallIntToApi,e.page),per_page:(0,S1.may)(Ty.smallIntToApi,e.per_page)}}var qxe=class{static encodeAbciInfo(t){return(0,RA.createJsonRpcRequest)(t.method)}static encodeAbciQuery(t){return(0,RA.createJsonRpcRequest)(t.method,$En(t.params))}static encodeBlock(t){return(0,RA.createJsonRpcRequest)(t.method,Gxe(t.params))}static encodeBlockchain(t){return(0,RA.createJsonRpcRequest)(t.method,zEn(t.params))}static encodeBlockResults(t){return(0,RA.createJsonRpcRequest)(t.method,Gxe(t.params))}static encodeBlockSearch(t){return(0,RA.createJsonRpcRequest)(t.method,KEn(t.params))}static encodeBroadcastTx(t){return(0,RA.createJsonRpcRequest)(t.method,YEn(t.params))}static encodeCommit(t){return(0,RA.createJsonRpcRequest)(t.method,Gxe(t.params))}static encodeGenesis(t){return(0,RA.createJsonRpcRequest)(t.method)}static encodeHealth(t){return(0,RA.createJsonRpcRequest)(t.method)}static encodeNumUnconfirmedTxs(t){return(0,RA.createJsonRpcRequest)(t.method)}static encodeStatus(t){return(0,RA.createJsonRpcRequest)(t.method)}static encodeSubscribe(t){let r={key:"tm.event",value:t.query.type},i=JEn.buildQuery({tags:[r],raw:t.query.raw});return(0,RA.createJsonRpcRequest)("subscribe",{query:i})}static encodeTx(t){return(0,RA.createJsonRpcRequest)(t.method,WEn(t.params))}static encodeTxSearch(t){return(0,RA.createJsonRpcRequest)(t.method,XEn(t.params))}static encodeValidators(t){return(0,RA.createJsonRpcRequest)(t.method,ZEn(t.params))}};av.Params=qxe});var Kvt=ir(rM=>{"use strict";J();K();z();Object.defineProperty(rM,"__esModule",{value:!0});rM.hashBlock=rM.hashTx=void 0;var zxe=$l(),I1=ore();function jEn(e){return(0,zxe.sha256)(e)}rM.hashTx=jEn;function evn(e){if(e<1)throw new Error("Cannot split an empty tree");let t=2**Math.floor(Math.log2(e));return t<e?t:t/2}function tvn(e){let t=new zxe.Sha256(Uint8Array.from([0]));return t.update(e),t.digest()}function rvn(e,t){let r=new zxe.Sha256(Uint8Array.from([1]));return r.update(e),r.update(t),r.digest()}function Jxe(e){switch(e.length){case 0:throw new Error("Cannot hash empty tree");case 1:return tvn(e[0]);default:{let t=evn(e.length),r=Jxe(e.slice(0,t)),i=Jxe(e.slice(t));return rvn(r,i)}}}function nvn(e){if(!e.lastBlockId)throw new Error("Hashing a block header with no last block ID (i.e. header at height 1) is not supported. If you need this, contributions are welcome. Please add documentation and test vectors for this case.");let t=[(0,I1.encodeVersion)(e.version),(0,I1.encodeString)(e.chainId),(0,I1.encodeUvarint)(e.height),(0,I1.encodeTime)(e.time),(0,I1.encodeBlockId)(e.lastBlockId),(0,I1.encodeBytes)(e.lastCommitHash),(0,I1.encodeBytes)(e.dataHash),(0,I1.encodeBytes)(e.validatorsHash),(0,I1.encodeBytes)(e.nextValidatorsHash),(0,I1.encodeBytes)(e.consensusHash),(0,I1.encodeBytes)(e.appHash),(0,I1.encodeBytes)(e.lastResultsHash),(0,I1.encodeBytes)(e.evidenceHash),(0,I1.encodeBytes)(e.proposerAddress)];return Jxe(t)}rM.hashBlock=nvn});var nRt=ir(K2=>{"use strict";J();K();z();Object.defineProperty(K2,"__esModule",{value:!0});K2.Responses=K2.decodeValidatorInfo=K2.decodeValidatorGenesis=K2.decodeValidatorUpdate=K2.decodeEvent=void 0;var ts=Ps(),$vt=Uf(),GQ=IQ(),Da=U5(),ivn=UQ(),Ln=ore(),ovn=Kvt();function avn(e){return{data:e.data,lastBlockHeight:(0,Ln.may)(Da.apiToSmallInt,e.last_block_height),lastBlockAppHash:(0,Ln.may)(ts.fromBase64,e.last_block_app_hash)}}function svn(e){return{ops:e.ops.map(t=>({type:t.type,key:(0,ts.fromBase64)(t.key),data:(0,ts.fromBase64)(t.data)}))}}function cvn(e){return{key:(0,ts.fromBase64)((0,Ln.assertString)(e.key??"")),value:(0,ts.fromBase64)((0,Ln.assertString)(e.value??"")),proof:(0,Ln.may)(svn,e.proofOps),height:(0,Ln.may)(Da.apiToSmallInt,e.height),code:(0,Ln.may)(Da.apiToSmallInt,e.code),codespace:(0,Ln.assertString)(e.codespace??""),index:(0,Ln.may)(Da.apiToSmallInt,e.index),log:e.log,info:(0,Ln.assertString)(e.info??"")}}function uvn(e){return{key:(0,Ln.assertNotEmpty)(e.key),value:e.value??""}}function dvn(e){return(0,Ln.assertArray)(e).map(uvn)}function Yvt(e){return{type:e.type,attributes:e.attributes?dvn(e.attributes):[]}}K2.decodeEvent=Yvt;function Kxe(e){return(0,Ln.assertArray)(e).map(Yvt)}function nM(e){return{code:(0,Da.apiToSmallInt)((0,Ln.assertNumber)(e.code??0)),codespace:e.codespace,log:e.log,data:(0,Ln.may)(ts.fromBase64,e.data),events:e.events?Kxe(e.events):[],gasWanted:(0,Da.apiToBigInt)(e.gas_wanted??"0"),gasUsed:(0,Da.apiToBigInt)(e.gas_used??"0")}}function Yxe(e){if("Sum"in e){let[[t,r]]=Object.entries(e.Sum.value);return(0,$vt.assert)(t==="ed25519"||t==="secp256k1",`unknown pubkey type: ${t}`),{algorithm:t,data:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(r))}}else switch(e.type){case"tendermint/PubKeyEd25519":return{algorithm:"ed25519",data:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.value))};case"tendermint/PubKeySecp256k1":return{algorithm:"secp256k1",data:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.value))};default:throw new Error(`unknown pubkey type: ${e.type}`)}}function fvn(e){return{maxBytes:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.max_bytes)),maxGas:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.max_gas))}}function lvn(e){return{maxAgeNumBlocks:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.max_age_num_blocks)),maxAgeDuration:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.max_age_duration))}}function Wvt(e){return{block:fvn((0,Ln.assertObject)(e.block)),evidence:lvn((0,Ln.assertObject)(e.evidence))}}function Xvt(e){return{pubkey:Yxe((0,Ln.assertObject)(e.pub_key)),votingPower:(0,Da.apiToBigInt)(e.power??"0")}}K2.decodeValidatorUpdate=Xvt;function hvn(e){return{height:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.height)),results:(e.txs_results||[]).map(nM),validatorUpdates:(e.validator_updates||[]).map(Xvt),consensusUpdates:(0,Ln.may)(Wvt,e.consensus_param_updates),beginBlockEvents:Kxe(e.begin_block_events||[]),endBlockEvents:Kxe(e.end_block_events||[])}}function are(e){return{hash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.hash)),parts:{total:(0,Ln.assertNotEmpty)(e.parts.total),hash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.parts.hash))}}}function Avn(e){return{block:(0,Da.apiToSmallInt)(e.block),app:(0,Da.apiToSmallInt)(e.app??0)}}function sre(e){return{version:Avn(e.version),chainId:(0,Ln.assertNotEmpty)(e.chain_id),height:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.height)),time:(0,GQ.fromRfc3339WithNanoseconds)((0,Ln.assertNotEmpty)(e.time)),lastBlockId:e.last_block_id.hash?are(e.last_block_id):null,lastCommitHash:(0,ts.fromHex)((0,Ln.assertSet)(e.last_commit_hash)),dataHash:(0,ts.fromHex)((0,Ln.assertSet)(e.data_hash)),validatorsHash:(0,ts.fromHex)((0,Ln.assertSet)(e.validators_hash)),nextValidatorsHash:(0,ts.fromHex)((0,Ln.assertSet)(e.next_validators_hash)),consensusHash:(0,ts.fromHex)((0,Ln.assertSet)(e.consensus_hash)),appHash:(0,ts.fromHex)((0,Ln.assertSet)(e.app_hash)),lastResultsHash:(0,ts.fromHex)((0,Ln.assertSet)(e.last_results_hash)),evidenceHash:(0,ts.fromHex)((0,Ln.assertSet)(e.evidence_hash)),proposerAddress:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.proposer_address))}}function pvn(e){return{blockId:are(e.block_id),blockSize:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.block_size)),header:sre(e.header),numTxs:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.num_txs))}}function gvn(e){return{lastHeight:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.last_height)),blockMetas:(0,Ln.assertArray)(e.block_metas).map(pvn)}}function _vn(e){return{...nM(e),hash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.hash))}}function mvn(e){return{height:(0,Da.apiToSmallInt)(e.height),hash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.hash)),checkTx:nM((0,Ln.assertObject)(e.check_tx)),deliverTx:(0,Ln.may)(nM,e.deliver_tx)}}function yvn(e){return(0,$vt.assert)(e in ivn.BlockIdFlag),e}function bvn(e){return{blockIdFlag:yvn(e.block_id_flag),validatorAddress:e.validator_address?(0,ts.fromHex)(e.validator_address):void 0,timestamp:e.timestamp?(0,GQ.fromRfc3339WithNanoseconds)(e.timestamp):void 0,signature:e.signature?(0,ts.fromBase64)(e.signature):void 0}}function Zvt(e){return{blockId:are((0,Ln.assertObject)(e.block_id)),height:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.height)),round:(0,Da.apiToSmallInt)(e.round),signatures:(0,Ln.assertArray)(e.signatures).map(bvn)}}function Evn(e){return{canonical:(0,Ln.assertBoolean)(e.canonical),header:sre(e.signed_header.header),commit:Zvt(e.signed_header.commit)}}function jvt(e){return{address:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.address)),pubkey:Yxe((0,Ln.assertObject)(e.pub_key)),votingPower:(0,Da.apiToBigInt)((0,Ln.assertNotEmpty)(e.power))}}K2.decodeValidatorGenesis=jvt;function vvn(e){return{genesisTime:(0,GQ.fromRfc3339WithNanoseconds)((0,Ln.assertNotEmpty)(e.genesis_time)),chainId:(0,Ln.assertNotEmpty)(e.chain_id),consensusParams:Wvt(e.consensus_params),validators:e.validators?(0,Ln.assertArray)(e.validators).map(jvt):[],appHash:(0,ts.fromHex)((0,Ln.assertSet)(e.app_hash)),appState:e.app_state}}function Wxe(e){return{pubkey:Yxe((0,Ln.assertObject)(e.pub_key)),votingPower:(0,Da.apiToBigInt)((0,Ln.assertNotEmpty)(e.voting_power)),address:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.address)),proposerPriority:e.proposer_priority?(0,Da.apiToSmallInt)(e.proposer_priority):void 0}}K2.decodeValidatorInfo=Wxe;function Rvn(e){return{id:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.id)),listenAddr:(0,Ln.assertNotEmpty)(e.listen_addr),network:(0,Ln.assertNotEmpty)(e.network),version:(0,Ln.assertString)(e.version),channels:(0,Ln.assertString)(e.channels),moniker:(0,Ln.assertNotEmpty)(e.moniker),other:(0,Ln.dictionaryToStringMap)(e.other),protocolVersion:{app:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.protocol_version.app)),block:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.protocol_version.block)),p2p:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.protocol_version.p2p))}}}function Svn(e){let t=e.earliest_block_height?(0,Da.apiToSmallInt)(e.earliest_block_height):void 0,r=e.earliest_block_time?(0,GQ.fromRfc3339WithNanoseconds)(e.earliest_block_time):void 0;return{earliestAppHash:e.earliest_app_hash?(0,ts.fromHex)(e.earliest_app_hash):void 0,earliestBlockHash:e.earliest_block_hash?(0,ts.fromHex)(e.earliest_block_hash):void 0,earliestBlockHeight:t||void 0,earliestBlockTime:r?.getTime()?r:void 0,latestBlockHash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.latest_block_hash)),latestAppHash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.latest_app_hash)),latestBlockTime:(0,GQ.fromRfc3339WithNanoseconds)((0,Ln.assertNotEmpty)(e.latest_block_time)),latestBlockHeight:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.latest_block_height)),catchingUp:(0,Ln.assertBoolean)(e.catching_up)}}function Ivn(e){return{nodeInfo:Rvn(e.node_info),syncInfo:Svn(e.sync_info),validatorInfo:Wxe(e.validator_info)}}function Cvn(e){return{data:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.data)),rootHash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.root_hash)),proof:{total:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.proof.total)),index:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.proof.index)),leafHash:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.proof.leaf_hash)),aunts:(0,Ln.assertArray)(e.proof.aunts).map(ts.fromBase64)}}}function eRt(e){return{tx:(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.tx)),result:nM((0,Ln.assertObject)(e.tx_result)),height:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.height)),index:(0,Da.apiToSmallInt)((0,Ln.assertNumber)(e.index)),hash:(0,ts.fromHex)((0,Ln.assertNotEmpty)(e.hash)),proof:(0,Ln.may)(Cvn,e.proof)}}function wvn(e){return{totalCount:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.total_count)),txs:(0,Ln.assertArray)(e.txs).map(eRt)}}function Ovn(e){let t=(0,ts.fromBase64)((0,Ln.assertNotEmpty)(e.tx));return{tx:t,hash:(0,ovn.hashTx)(t),result:nM(e.result),height:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.height))}}function Nvn(e){return{blockHeight:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.block_height)),validators:(0,Ln.assertArray)(e.validators).map(Wxe),count:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.count)),total:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.total))}}function tRt(e){return{header:sre((0,Ln.assertObject)(e.header)),lastCommit:e.last_commit.block_id.hash?Zvt((0,Ln.assertObject)(e.last_commit)):null,txs:e.data.txs?(0,Ln.assertArray)(e.data.txs).map(ts.fromBase64):[],evidence:e.evidence?.evidence??[]}}function rRt(e){return{blockId:are(e.block_id),block:tRt(e.block)}}function xvn(e){return{totalCount:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.total_count)),blocks:(0,Ln.assertArray)(e.blocks).map(rRt)}}function Tvn(e){return{total:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.total)),totalBytes:(0,Da.apiToSmallInt)((0,Ln.assertNotEmpty)(e.total_bytes))}}var $xe=class e{static decodeAbciInfo(t){return avn((0,Ln.assertObject)(t.result.response))}static decodeAbciQuery(t){return cvn((0,Ln.assertObject)(t.result.response))}static decodeBlock(t){return rRt(t.result)}static decodeBlockResults(t){return hvn(t.result)}static decodeBlockSearch(t){return xvn(t.result)}static decodeBlockchain(t){return gvn(t.result)}static decodeBroadcastTxSync(t){return _vn(t.result)}static decodeBroadcastTxAsync(t){return e.decodeBroadcastTxSync(t)}static decodeBroadcastTxCommit(t){return mvn(t.result)}static decodeCommit(t){return Evn(t.result)}static decodeGenesis(t){return vvn((0,Ln.assertObject)(t.result.genesis))}static decodeHealth(){return null}static decodeNumUnconfirmedTxs(t){return Tvn(t.result)}static decodeStatus(t){return Ivn(t.result)}static decodeNewBlockEvent(t){return tRt(t.data.value.block)}static decodeNewBlockHeaderEvent(t){return sre(t.data.value.header)}static decodeTxEvent(t){return Ovn(t.data.value.TxResult)}static decodeTx(t){return eRt(t.result)}static decodeTxSearch(t){return wvn(t.result)}static decodeValidators(t){return Nvn(t.result)}};K2.Responses=$xe});var iRt=ir(iM=>{"use strict";J();K();z();Object.defineProperty(iM,"__esModule",{value:!0});iM.Responses=iM.Params=void 0;var Bvn=zvt();Object.defineProperty(iM,"Params",{enumerable:!0,get:function(){return Bvn.Params}});var Mvn=nRt();Object.defineProperty(iM,"Responses",{enumerable:!0,get:function(){return Mvn.Responses}})});var oRt=ir(sv=>{"use strict";J();K();z();var Dvn=sv&&sv.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),kvn=sv&&sv.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),Pvn=sv&&sv.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Dvn(t,e,r);return kvn(t,e),t};Object.defineProperty(sv,"__esModule",{value:!0});sv.Tendermint37Client=void 0;var Lvn=T5(),cre=kQ(),As=iRt(),P0=Pvn(ire()),Xxe=class e{static async connect(t){let r;typeof t=="object"?r=new cre.HttpClient(t):r=t.startsWith("http://")||t.startsWith("https://")?new cre.HttpClient(t):new cre.WebsocketClient(t);let i=await this.detectVersion(r);return e.create(r)}static async create(t){return new e(t)}static async detectVersion(t){let r=(0,Lvn.createJsonRpcRequest)(P0.Method.Status),n=(await t.execute(r)).result;if(!n||!n.node_info)throw new Error("Unrecognized format for status response");let o=n.node_info.version;if(typeof o!="string")throw new Error("Unrecognized version format: must be string");return o}constructor(t){this.client=t}disconnect(){this.client.disconnect()}async abciInfo(){let t={method:P0.Method.AbciInfo};return this.doCall(t,As.Params.encodeAbciInfo,As.Responses.decodeAbciInfo)}async abciQuery(t){let r={params:t,method:P0.Method.AbciQuery};return this.doCall(r,As.Params.encodeAbciQuery,As.Responses.decodeAbciQuery)}async block(t){let r={method:P0.Method.Block,params:{height:t}};return this.doCall(r,As.Params.encodeBlock,As.Responses.decodeBlock)}async blockResults(t){let r={method:P0.Method.BlockResults,params:{height:t}};return this.doCall(r,As.Params.encodeBlockResults,As.Responses.decodeBlockResults)}async blockSearch(t){let r={params:t,method:P0.Method.BlockSearch},i=await this.doCall(r,As.Params.encodeBlockSearch,As.Responses.decodeBlockSearch);return{...i,blocks:[...i.blocks].sort((n,o)=>n.block.header.height-o.block.header.height)}}async blockSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.blockSearch({...t,page:r});i.push(...o.blocks),i.length<o.totalCount?r++:n=!0}return i.sort((o,d)=>o.block.header.height-d.block.header.height),{totalCount:i.length,blocks:i}}async blockchain(t,r){let i={method:P0.Method.Blockchain,params:{minHeight:t,maxHeight:r}};return this.doCall(i,As.Params.encodeBlockchain,As.Responses.decodeBlockchain)}async broadcastTxSync(t){let r={params:t,method:P0.Method.BroadcastTxSync};return this.doCall(r,As.Params.encodeBroadcastTx,As.Responses.decodeBroadcastTxSync)}async broadcastTxAsync(t){let r={params:t,method:P0.Method.BroadcastTxAsync};return this.doCall(r,As.Params.encodeBroadcastTx,As.Responses.decodeBroadcastTxAsync)}async broadcastTxCommit(t){let r={params:t,method:P0.Method.BroadcastTxCommit};return this.doCall(r,As.Params.encodeBroadcastTx,As.Responses.decodeBroadcastTxCommit)}async commit(t){let r={method:P0.Method.Commit,params:{height:t}};return this.doCall(r,As.Params.encodeCommit,As.Responses.decodeCommit)}async genesis(){let t={method:P0.Method.Genesis};return this.doCall(t,As.Params.encodeGenesis,As.Responses.decodeGenesis)}async health(){let t={method:P0.Method.Health};return this.doCall(t,As.Params.encodeHealth,As.Responses.decodeHealth)}async numUnconfirmedTxs(){let t={method:P0.Method.NumUnconfirmedTxs};return this.doCall(t,As.Params.encodeNumUnconfirmedTxs,As.Responses.decodeNumUnconfirmedTxs)}async status(){let t={method:P0.Method.Status};return this.doCall(t,As.Params.encodeStatus,As.Responses.decodeStatus)}subscribeNewBlock(){let t={method:P0.Method.Subscribe,query:{type:P0.SubscriptionEventType.NewBlock}};return this.subscribe(t,As.Responses.decodeNewBlockEvent)}subscribeNewBlockHeader(){let t={method:P0.Method.Subscribe,query:{type:P0.SubscriptionEventType.NewBlockHeader}};return this.subscribe(t,As.Responses.decodeNewBlockHeaderEvent)}subscribeTx(t){let r={method:P0.Method.Subscribe,query:{type:P0.SubscriptionEventType.Tx,raw:t}};return this.subscribe(r,As.Responses.decodeTxEvent)}async tx(t){let r={params:t,method:P0.Method.Tx};return this.doCall(r,As.Params.encodeTx,As.Responses.decodeTx)}async txSearch(t){let r={params:t,method:P0.Method.TxSearch};return this.doCall(r,As.Params.encodeTxSearch,As.Responses.decodeTxSearch)}async txSearchAll(t){let r=t.page||1,i=[],n=!1;for(;!n;){let o=await this.txSearch({...t,page:r});i.push(...o.txs),i.length<o.totalCount?r++:n=!0}return{totalCount:i.length,txs:i}}async validators(t){let r={method:P0.Method.Validators,params:t};return this.doCall(r,As.Params.encodeValidators,As.Responses.decodeValidators)}async validatorsAll(t){let r=[],i=1,n=!1,o=t;for(;!n;){let d=await this.validators({per_page:50,height:o,page:i});r.push(...d.validators),o=o||d.blockHeight,r.length<d.total?i++:n=!0}return{blockHeight:o??0,count:r.length,total:r.length,validators:r}}async doCall(t,r,i){let n=r(t),o=await this.client.execute(n);return i(o)}subscribe(t,r){if(!(0,cre.instanceOfRpcStreamingClient)(this.client))throw new Error("This RPC client type cannot subscribe to events");let i=As.Params.encodeSubscribe(t);return this.client.listen(i).map(o=>r(o))}};sv.Tendermint37Client=Xxe});var ure=ir(C1=>{"use strict";J();K();z();Object.defineProperty(C1,"__esModule",{value:!0});C1.Tendermint37Client=C1.VoteType=C1.broadcastTxSyncSuccess=C1.broadcastTxCommitSuccess=C1.SubscriptionEventType=C1.Method=void 0;var aRt=ire();Object.defineProperty(C1,"Method",{enumerable:!0,get:function(){return aRt.Method}});Object.defineProperty(C1,"SubscriptionEventType",{enumerable:!0,get:function(){return aRt.SubscriptionEventType}});var Zxe=Jvt();Object.defineProperty(C1,"broadcastTxCommitSuccess",{enumerable:!0,get:function(){return Zxe.broadcastTxCommitSuccess}});Object.defineProperty(C1,"broadcastTxSyncSuccess",{enumerable:!0,get:function(){return Zxe.broadcastTxSyncSuccess}});Object.defineProperty(C1,"VoteType",{enumerable:!0,get:function(){return Zxe.VoteType}});var Uvn=oRt();Object.defineProperty(C1,"Tendermint37Client",{enumerable:!0,get:function(){return Uvn.Tendermint37Client}})});var dRt=ir(cv=>{"use strict";J();K();z();Object.defineProperty(cv,"__esModule",{value:!0});cv.connectComet=cv.isComet38Client=cv.isTendermint37Client=cv.isTendermint34Client=void 0;var sRt=jte(),cRt=HQ(),uRt=ure();function Fvn(e){return e instanceof cRt.Tendermint34Client}cv.isTendermint34Client=Fvn;function Qvn(e){return e instanceof uRt.Tendermint37Client}cv.isTendermint37Client=Qvn;function Hvn(e){return e instanceof sRt.Comet38Client}cv.isComet38Client=Hvn;async function Gvn(e){let t,r=await uRt.Tendermint37Client.connect(e),i=(await r.status()).nodeInfo.version;return i.startsWith("0.37.")?t=r:i.startsWith("0.38.")?(r.disconnect(),t=await sRt.Comet38Client.connect(e)):(r.disconnect(),t=await cRt.Tendermint34Client.connect(e)),t}cv.connectComet=Gvn});var tTe=ir(Xi=>{"use strict";J();K();z();var qvn=Xi&&Xi.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),Vvn=Xi&&Xi.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),jxe=Xi&&Xi.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&qvn(t,e,r);return Vvn(t,e),t};Object.defineProperty(Xi,"__esModule",{value:!0});Xi.BlockIdFlag=Xi.isTendermint37Client=Xi.isTendermint34Client=Xi.isComet38Client=Xi.connectComet=Xi.Tendermint37Client=Xi.tendermint37=Xi.Tendermint34Client=Xi.tendermint34=Xi.VoteType=Xi.SubscriptionEventType=Xi.Method=Xi.broadcastTxSyncSuccess=Xi.broadcastTxCommitSuccess=Xi.WebsocketClient=Xi.HttpClient=Xi.HttpBatchClient=Xi.Comet38Client=Xi.comet38=Xi.toSeconds=Xi.toRfc3339WithNanoseconds=Xi.fromSeconds=Xi.fromRfc3339WithNanoseconds=Xi.DateTime=Xi.rawSecp256k1PubkeyToRawAddress=Xi.rawEd25519PubkeyToRawAddress=Xi.pubkeyToRawAddress=Xi.pubkeyToAddress=void 0;var dre=lbt();Object.defineProperty(Xi,"pubkeyToAddress",{enumerable:!0,get:function(){return dre.pubkeyToAddress}});Object.defineProperty(Xi,"pubkeyToRawAddress",{enumerable:!0,get:function(){return dre.pubkeyToRawAddress}});Object.defineProperty(Xi,"rawEd25519PubkeyToRawAddress",{enumerable:!0,get:function(){return dre.rawEd25519PubkeyToRawAddress}});Object.defineProperty(Xi,"rawSecp256k1PubkeyToRawAddress",{enumerable:!0,get:function(){return dre.rawSecp256k1PubkeyToRawAddress}});var qQ=IQ();Object.defineProperty(Xi,"DateTime",{enumerable:!0,get:function(){return qQ.DateTime}});Object.defineProperty(Xi,"fromRfc3339WithNanoseconds",{enumerable:!0,get:function(){return qQ.fromRfc3339WithNanoseconds}});Object.defineProperty(Xi,"fromSeconds",{enumerable:!0,get:function(){return qQ.fromSeconds}});Object.defineProperty(Xi,"toRfc3339WithNanoseconds",{enumerable:!0,get:function(){return qQ.toRfc3339WithNanoseconds}});Object.defineProperty(Xi,"toSeconds",{enumerable:!0,get:function(){return qQ.toSeconds}});Xi.comet38=jxe(jte());var Jvn=jte();Object.defineProperty(Xi,"Comet38Client",{enumerable:!0,get:function(){return Jvn.Comet38Client}});var eTe=kQ();Object.defineProperty(Xi,"HttpBatchClient",{enumerable:!0,get:function(){return eTe.HttpBatchClient}});Object.defineProperty(Xi,"HttpClient",{enumerable:!0,get:function(){return eTe.HttpClient}});Object.defineProperty(Xi,"WebsocketClient",{enumerable:!0,get:function(){return eTe.WebsocketClient}});var VQ=HQ();Object.defineProperty(Xi,"broadcastTxCommitSuccess",{enumerable:!0,get:function(){return VQ.broadcastTxCommitSuccess}});Object.defineProperty(Xi,"broadcastTxSyncSuccess",{enumerable:!0,get:function(){return VQ.broadcastTxSyncSuccess}});Object.defineProperty(Xi,"Method",{enumerable:!0,get:function(){return VQ.Method}});Object.defineProperty(Xi,"SubscriptionEventType",{enumerable:!0,get:function(){return VQ.SubscriptionEventType}});Object.defineProperty(Xi,"VoteType",{enumerable:!0,get:function(){return VQ.VoteType}});Xi.tendermint34=jxe(HQ());var zvn=HQ();Object.defineProperty(Xi,"Tendermint34Client",{enumerable:!0,get:function(){return zvn.Tendermint34Client}});Xi.tendermint37=jxe(ure());var Kvn=ure();Object.defineProperty(Xi,"Tendermint37Client",{enumerable:!0,get:function(){return Kvn.Tendermint37Client}});var fre=dRt();Object.defineProperty(Xi,"connectComet",{enumerable:!0,get:function(){return fre.connectComet}});Object.defineProperty(Xi,"isComet38Client",{enumerable:!0,get:function(){return fre.isComet38Client}});Object.defineProperty(Xi,"isTendermint34Client",{enumerable:!0,get:function(){return fre.isTendermint34Client}});Object.defineProperty(Xi,"isTendermint37Client",{enumerable:!0,get:function(){return fre.isTendermint37Client}});var $vn=UQ();Object.defineProperty(Xi,"BlockIdFlag",{enumerable:!0,get:function(){return $vn.BlockIdFlag}})});var oTe=ir(SA=>{"use strict";J();K();z();Object.defineProperty(SA,"__esModule",{value:!0});SA.StargateClient=SA.BroadcastTxError=SA.assertIsDeliverTxFailure=SA.assertIsDeliverTxSuccess=SA.isDeliverTxSuccess=SA.isDeliverTxFailure=SA.TimeoutError=void 0;var Yvn=R_(),rTe=Ps(),fRt=Uh(),lRt=tTe(),hRt=Uf(),Wvn=JOe(),Xvn=qve(),Zvn=zve(),lre=SQ(),jvn=ep(),eRn=CNe(),hre=class extends Error{constructor(t,r){super(t),this.txId=r}};SA.TimeoutError=hre;function iTe(e){return!!e.code}SA.isDeliverTxFailure=iTe;function ARt(e){return!iTe(e)}SA.isDeliverTxSuccess=ARt;function tRn(e){if(iTe(e))throw new Error(`Error when broadcasting tx ${e.transactionHash} at height ${e.height}. Code: ${e.code}; Raw log: ${e.rawLog}`)}SA.assertIsDeliverTxSuccess=tRn;function rRn(e){if(ARt(e))throw new Error(`Transaction ${e.transactionHash} did not fail at height ${e.height}. Code: ${e.code}; Raw log: ${e.rawLog}`)}SA.assertIsDeliverTxFailure=rRn;var Are=class extends Error{constructor(t,r,i){super(`Broadcasting transaction failed with code ${t} (codespace: ${r}). Log: ${i}`),this.code=t,this.codespace=r,this.log=i}};SA.BroadcastTxError=Are;var nTe=class e{static async connect(t,r={}){let i=await(0,lRt.connectComet)(t);return e.create(i,r)}static async create(t,r={}){return new e(t,r)}constructor(t,r){t&&(this.cometClient=t,this.queryClient=jvn.QueryClient.withExtensions(t,lre.setupAuthExtension,lre.setupBankExtension,lre.setupStakingExtension,lre.setupTxExtension));let{accountParser:i=Xvn.accountFromAny}=r;this.accountParser=i}getCometClient(){return this.cometClient}forceGetCometClient(){if(!this.cometClient)throw new Error("Comet client not available. You cannot use online functionality in offline mode.");return this.cometClient}getQueryClient(){return this.queryClient}forceGetQueryClient(){if(!this.queryClient)throw new Error("Query client not available. You cannot use online functionality in offline mode.");return this.queryClient}async getChainId(){if(!this.chainId){let r=(await this.forceGetCometClient().status()).nodeInfo.network;if(!r)throw new Error("Chain ID must not be empty");this.chainId=r}return this.chainId}async getHeight(){return(await this.forceGetCometClient().status()).syncInfo.latestBlockHeight}async getAccount(t){try{let r=await this.forceGetQueryClient().auth.account(t);return r?this.accountParser(r):null}catch(r){if(/rpc error: code = NotFound/i.test(r.toString()))return null;throw r}}async getSequence(t){let r=await this.getAccount(t);if(!r)throw new Error(`Account '${t}' does not exist on chain. Send some tokens there before trying to query sequence.`);return{accountNumber:r.accountNumber,sequence:r.sequence}}async getBlock(t){let r=await this.forceGetCometClient().block(t);return{id:(0,rTe.toHex)(r.blockId.hash).toUpperCase(),header:{version:{block:new fRt.Uint53(r.block.header.version.block).toString(),app:new fRt.Uint53(r.block.header.version.app).toString()},height:r.block.header.height,chainId:r.block.header.chainId,time:(0,lRt.toRfc3339WithNanoseconds)(r.block.header.time)},txs:r.block.txs}}async getBalance(t,r){return this.forceGetQueryClient().bank.balance(t,r)}async getAllBalances(t){return this.forceGetQueryClient().bank.allBalances(t)}async getBalanceStaked(t){let r=[],i;do{let{delegationResponses:o,pagination:d}=await this.forceGetQueryClient().staking.delegatorDelegations(t,i),g=o||[];r.push(...g),i=d?.nextKey}while(i!==void 0&&i.length!==0);return r.reduce((o,d)=>((0,hRt.assert)(d.balance),o!==null?(0,Yvn.addCoins)(o,d.balance):d.balance),null)}async getDelegation(t,r){let i;try{i=(await this.forceGetQueryClient().staking.delegation(t,r)).delegationResponse?.balance}catch(n){if(!n.toString().includes("key not found"))throw n}return i||null}async getTx(t){return(await this.txsQuery(`tx.hash='${t}'`))[0]??null}async searchTx(t){let r;if(typeof t=="string")r=t;else if((0,eRn.isSearchTxQueryArray)(t))r=t.map(i=>typeof i.value=="string"?`${i.key}='${i.value}'`:`${i.key}=${i.value}`).join(" AND ");else throw new Error("Got unsupported query type. See CosmJS 0.31 CHANGELOG for API breaking changes here.");return this.txsQuery(r)}disconnect(){this.cometClient&&this.cometClient.disconnect()}async broadcastTx(t,r=6e4,i=3e3){let n=!1,o=setTimeout(()=>{n=!0},r),d=async y=>{if(n)throw new hre(`Transaction with ID ${y} was submitted but was not yet found on the chain. You might want to check later. There was a wait of ${r/1e3} seconds.`,y);await(0,hRt.sleep)(i);let _=await this.getTx(y);return _?{code:_.code,height:_.height,txIndex:_.txIndex,events:_.events,rawLog:_.rawLog,transactionHash:y,msgResponses:_.msgResponses,gasUsed:_.gasUsed,gasWanted:_.gasWanted}:d(y)},g=await this.broadcastTxSync(t);return new Promise((y,_)=>d(g).then(I=>{clearTimeout(o),y(I)},I=>{clearTimeout(o),_(I)}))}async broadcastTxSync(t){let r=await this.forceGetCometClient().broadcastTxSync({tx:t});return r.code?Promise.reject(new Are(r.code,r.codespace??"",r.log)):(0,rTe.toHex)(r.hash).toUpperCase()}async txsQuery(t){return(await this.forceGetCometClient().txSearchAll({query:t})).txs.map(i=>{let n=Wvn.TxMsgData.decode(i.result.data??new Uint8Array);return{height:i.height,txIndex:i.index,hash:(0,rTe.toHex)(i.hash).toUpperCase(),code:i.result.code,events:i.result.events.map(Zvn.fromTendermintEvent),rawLog:i.result.log||"",tx:i.tx,msgResponses:n.msgResponses,gasUsed:i.result.gasUsed,gasWanted:i.result.gasWanted}})}};SA.StargateClient=nTe});var yRt=ir(HS=>{"use strict";J();K();z();Object.defineProperty(HS,"__esModule",{value:!0});HS.SigningStargateClient=HS.createDefaultAminoConverters=HS.defaultRegistryTypes=void 0;var pre=R_(),pRt=Ps(),gre=Uh(),FS=SS(),nRn=tTe(),JQ=Uf(),iRn=Af(),oRn=FSe(),gRt=oOe(),aRn=U7(),_re=RS(),sRn=Xee(),cRn=Jve(),_Rt=Kve(),QS=SQ(),S8=SQ(),uRn=oTe();HS.defaultRegistryTypes=[["/cosmos.base.v1beta1.Coin",iRn.Coin],...QS.authzTypes,...QS.bankTypes,...QS.distributionTypes,...QS.feegrantTypes,...QS.govTypes,...QS.groupTypes,...QS.stakingTypes,...QS.ibcTypes,...QS.vestingTypes];function mRt(){return{...(0,S8.createAuthzAminoConverters)(),...(0,S8.createBankAminoConverters)(),...(0,S8.createDistributionAminoConverters)(),...(0,S8.createGovAminoConverters)(),...(0,S8.createStakingAminoConverters)(),...(0,S8.createIbcAminoConverters)(),...(0,S8.createFeegrantAminoConverters)(),...(0,S8.createVestingAminoConverters)()}}HS.createDefaultAminoConverters=mRt;var aTe=class e extends uRn.StargateClient{static async connectWithSigner(t,r,i={}){let n=await(0,nRn.connectComet)(t);return e.createWithSigner(n,r,i)}static async createWithSigner(t,r,i={}){return new e(t,r,i)}static async offline(t,r={}){return new e(void 0,t,r)}constructor(t,r,i){super(t,i),this.defaultGasMultiplier=1.4;let{registry:n=new FS.Registry(HS.defaultRegistryTypes),aminoTypes:o=new cRn.AminoTypes(mRt())}=i;this.registry=n,this.aminoTypes=o,this.signer=r,this.broadcastTimeoutMs=i.broadcastTimeoutMs,this.broadcastPollIntervalMs=i.broadcastPollIntervalMs,this.gasPrice=i.gasPrice}async simulate(t,r,i){let n=r.map(_=>this.registry.encodeAsAny(_)),o=(await this.signer.getAccounts()).find(_=>_.address===t);if(!o)throw new Error("Failed to retrieve account from signer");let d=(0,pre.encodeSecp256k1Pubkey)(o.pubkey),{sequence:g}=await this.getSequence(t),{gasInfo:y}=await this.forceGetQueryClient().tx.simulate(n,i,d,g);return(0,JQ.assertDefined)(y),gre.Uint53.fromString(y.gasUsed.toString()).toNumber()}async sendTokens(t,r,i,n,o=""){let d={typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:{fromAddress:t,toAddress:r,amount:[...i]}};return this.signAndBroadcast(t,[d],n,o)}async delegateTokens(t,r,i,n,o=""){let d={typeUrl:"/cosmos.staking.v1beta1.MsgDelegate",value:gRt.MsgDelegate.fromPartial({delegatorAddress:t,validatorAddress:r,amount:i})};return this.signAndBroadcast(t,[d],n,o)}async undelegateTokens(t,r,i,n,o=""){let d={typeUrl:"/cosmos.staking.v1beta1.MsgUndelegate",value:gRt.MsgUndelegate.fromPartial({delegatorAddress:t,validatorAddress:r,amount:i})};return this.signAndBroadcast(t,[d],n,o)}async withdrawRewards(t,r,i,n=""){let o={typeUrl:"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward",value:oRn.MsgWithdrawDelegatorReward.fromPartial({delegatorAddress:t,validatorAddress:r})};return this.signAndBroadcast(t,[o],i,n)}async sendIbcTokens(t,r,i,n,o,d,g,y,_=""){let I=g?BigInt(g)*BigInt(1e9):void 0,N={typeUrl:"/ibc.applications.transfer.v1.MsgTransfer",value:sRn.MsgTransfer.fromPartial({sourcePort:n,sourceChannel:o,sender:t,receiver:r,token:i,timeoutHeight:d,timeoutTimestamp:I})};return this.signAndBroadcast(t,[N],y,_)}async signAndBroadcast(t,r,i,n="",o){let d;if(i=="auto"||typeof i=="number"){(0,JQ.assertDefined)(this.gasPrice,"Gas price must be set in the client options when auto gas is used.");let _=await this.simulate(t,r,n),I=typeof i=="number"?i:this.defaultGasMultiplier;d=(0,_Rt.calculateFee)(Math.round(_*I),this.gasPrice)}else d=i;let g=await this.sign(t,r,d,n,void 0,o),y=_re.TxRaw.encode(g).finish();return this.broadcastTx(y,this.broadcastTimeoutMs,this.broadcastPollIntervalMs)}async signAndBroadcastSync(t,r,i,n="",o){let d;if(i=="auto"||typeof i=="number"){(0,JQ.assertDefined)(this.gasPrice,"Gas price must be set in the client options when auto gas is used.");let _=await this.simulate(t,r,n),I=typeof i=="number"?i:this.defaultGasMultiplier;d=(0,_Rt.calculateFee)(Math.round(_*I),this.gasPrice)}else d=i;let g=await this.sign(t,r,d,n,void 0,o),y=_re.TxRaw.encode(g).finish();return this.broadcastTxSync(y)}async sign(t,r,i,n,o,d){let g;if(o)g=o;else{let{accountNumber:y,sequence:_}=await this.getSequence(t),I=await this.getChainId();g={accountNumber:y,sequence:_,chainId:I}}return(0,FS.isOfflineDirectSigner)(this.signer)?this.signDirect(t,r,i,n,g,d):this.signAmino(t,r,i,n,g,d)}async signAmino(t,r,i,n,{accountNumber:o,sequence:d,chainId:g},y){(0,JQ.assert)(!(0,FS.isOfflineDirectSigner)(this.signer));let _=(await this.signer.getAccounts()).find(pe=>pe.address===t);if(!_)throw new Error("Failed to retrieve account from signer");let I=(0,FS.encodePubkey)((0,pre.encodeSecp256k1Pubkey)(_.pubkey)),N=aRn.SignMode.SIGN_MODE_LEGACY_AMINO_JSON,T=r.map(pe=>this.aminoTypes.toAmino(pe)),M=(0,pre.makeSignDoc)(T,i,g,n,o,d,y),{signature:D,signed:P}=await this.signer.signAmino(t,M),q={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:P.msgs.map(pe=>this.aminoTypes.fromAmino(pe)),memo:P.memo,timeoutHeight:y}},Y=this.registry.encode(q),ne=gre.Int53.fromString(P.fee.gas).toNumber(),ce=gre.Int53.fromString(P.sequence).toNumber(),le=(0,FS.makeAuthInfoBytes)([{pubkey:I,sequence:ce}],P.fee.amount,ne,P.fee.granter,P.fee.payer,N);return _re.TxRaw.fromPartial({bodyBytes:Y,authInfoBytes:le,signatures:[(0,pRt.fromBase64)(D.signature)]})}async signDirect(t,r,i,n,{accountNumber:o,sequence:d,chainId:g},y){(0,JQ.assert)((0,FS.isOfflineDirectSigner)(this.signer));let _=(await this.signer.getAccounts()).find(Y=>Y.address===t);if(!_)throw new Error("Failed to retrieve account from signer");let I=(0,FS.encodePubkey)((0,pre.encodeSecp256k1Pubkey)(_.pubkey)),N={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{messages:r,memo:n,timeoutHeight:y}},T=this.registry.encode(N),M=gre.Int53.fromString(i.gas).toNumber(),D=(0,FS.makeAuthInfoBytes)([{pubkey:I,sequence:d}],i.amount,M,i.granter,i.payer),P=(0,FS.makeSignDoc)(T,D,g,o),{signature:G,signed:q}=await this.signer.signDirect(t,P);return _re.TxRaw.fromPartial({bodyBytes:q.bodyBytes,authInfoBytes:q.authInfoBytes,signatures:[(0,pRt.fromBase64)(G.signature)]})}};HS.SigningStargateClient=aTe});var vRt=ir($r=>{"use strict";J();K();z();var dRn=$r&&$r.__createBinding||(Object.create?(function(e,t,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}):(function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]})),fRn=$r&&$r.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),lRn=$r&&$r.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&dRn(t,e,r);return fRn(t,e),t};Object.defineProperty($r,"__esModule",{value:!0});$r.isMsgVoteWeightedEncodeObject=$r.isMsgVoteEncodeObject=$r.isMsgUndelegateEncodeObject=$r.isMsgTransferEncodeObject=$r.isMsgSubmitProposalEncodeObject=$r.isMsgSendEncodeObject=$r.isMsgEditValidatorEncodeObject=$r.isMsgDepositEncodeObject=$r.isMsgDelegateEncodeObject=$r.isMsgCreateValidatorEncodeObject=$r.isMsgCancelUnbondingDelegationEncodeObject=$r.isMsgBeginRedelegateEncodeObject=$r.isAminoMsgWithdrawValidatorCommission=$r.isAminoMsgWithdrawDelegatorReward=$r.isAminoMsgVoteWeighted=$r.isAminoMsgVote=$r.isAminoMsgVerifyInvariant=$r.isAminoMsgUnjail=$r.isAminoMsgUndelegate=$r.isAminoMsgTransfer=$r.isAminoMsgSubmitProposal=$r.isAminoMsgSubmitEvidence=$r.isAminoMsgSetWithdrawAddress=$r.isAminoMsgSend=$r.isAminoMsgMultiSend=$r.isAminoMsgFundCommunityPool=$r.isAminoMsgEditValidator=$r.isAminoMsgDeposit=$r.isAminoMsgDelegate=$r.isAminoMsgCreateVestingAccount=$r.isAminoMsgCreateValidator=$r.isAminoMsgBeginRedelegate=$r.createVestingAminoConverters=$r.createStakingAminoConverters=$r.createSlashingAminoConverters=$r.createIbcAminoConverters=$r.createGroupAminoConverters=$r.createGovAminoConverters=$r.createFeegrantAminoConverters=$r.createEvidenceAminoConverters=$r.createDistributionAminoConverters=$r.createCrysisAminoConverters=$r.createBankAminoConverters=$r.createAuthzAminoConverters=$r.logs=$r.GasPrice=$r.calculateFee=$r.fromTendermintEvent=$r.AminoTypes=$r.accountFromAny=void 0;$r.parseCoins=$r.makeCosmoshubPath=$r.coins=$r.coin=$r.TimeoutError=$r.StargateClient=$r.isDeliverTxSuccess=$r.isDeliverTxFailure=$r.BroadcastTxError=$r.assertIsDeliverTxSuccess=$r.assertIsDeliverTxFailure=$r.SigningStargateClient=$r.defaultRegistryTypes=$r.createDefaultAminoConverters=$r.isSearchTxQueryArray=$r.QueryClient=$r.decodeCosmosSdkDecFromProto=$r.createProtobufRpcClient=$r.createPagination=$r.makeMultisignedTxBytes=$r.makeMultisignedTx=$r.setupTxExtension=$r.setupStakingExtension=$r.setupSlashingExtension=$r.setupMintExtension=$r.setupIbcExtension=$r.setupGovExtension=$r.setupFeegrantExtension=$r.setupDistributionExtension=$r.setupBankExtension=$r.setupAuthzExtension=$r.setupAuthExtension=$r.isMsgWithdrawDelegatorRewardEncodeObject=void 0;var hRn=qve();Object.defineProperty($r,"accountFromAny",{enumerable:!0,get:function(){return hRn.accountFromAny}});var ARn=Jve();Object.defineProperty($r,"AminoTypes",{enumerable:!0,get:function(){return ARn.AminoTypes}});var pRn=zve();Object.defineProperty($r,"fromTendermintEvent",{enumerable:!0,get:function(){return pRn.fromTendermintEvent}});var bRt=Kve();Object.defineProperty($r,"calculateFee",{enumerable:!0,get:function(){return bRt.calculateFee}});Object.defineProperty($r,"GasPrice",{enumerable:!0,get:function(){return bRt.GasPrice}});$r.logs=lRn(Q2t());var vo=SQ();Object.defineProperty($r,"createAuthzAminoConverters",{enumerable:!0,get:function(){return vo.createAuthzAminoConverters}});Object.defineProperty($r,"createBankAminoConverters",{enumerable:!0,get:function(){return vo.createBankAminoConverters}});Object.defineProperty($r,"createCrysisAminoConverters",{enumerable:!0,get:function(){return vo.createCrysisAminoConverters}});Object.defineProperty($r,"createDistributionAminoConverters",{enumerable:!0,get:function(){return vo.createDistributionAminoConverters}});Object.defineProperty($r,"createEvidenceAminoConverters",{enumerable:!0,get:function(){return vo.createEvidenceAminoConverters}});Object.defineProperty($r,"createFeegrantAminoConverters",{enumerable:!0,get:function(){return vo.createFeegrantAminoConverters}});Object.defineProperty($r,"createGovAminoConverters",{enumerable:!0,get:function(){return vo.createGovAminoConverters}});Object.defineProperty($r,"createGroupAminoConverters",{enumerable:!0,get:function(){return vo.createGroupAminoConverters}});Object.defineProperty($r,"createIbcAminoConverters",{enumerable:!0,get:function(){return vo.createIbcAminoConverters}});Object.defineProperty($r,"createSlashingAminoConverters",{enumerable:!0,get:function(){return vo.createSlashingAminoConverters}});Object.defineProperty($r,"createStakingAminoConverters",{enumerable:!0,get:function(){return vo.createStakingAminoConverters}});Object.defineProperty($r,"createVestingAminoConverters",{enumerable:!0,get:function(){return vo.createVestingAminoConverters}});Object.defineProperty($r,"isAminoMsgBeginRedelegate",{enumerable:!0,get:function(){return vo.isAminoMsgBeginRedelegate}});Object.defineProperty($r,"isAminoMsgCreateValidator",{enumerable:!0,get:function(){return vo.isAminoMsgCreateValidator}});Object.defineProperty($r,"isAminoMsgCreateVestingAccount",{enumerable:!0,get:function(){return vo.isAminoMsgCreateVestingAccount}});Object.defineProperty($r,"isAminoMsgDelegate",{enumerable:!0,get:function(){return vo.isAminoMsgDelegate}});Object.defineProperty($r,"isAminoMsgDeposit",{enumerable:!0,get:function(){return vo.isAminoMsgDeposit}});Object.defineProperty($r,"isAminoMsgEditValidator",{enumerable:!0,get:function(){return vo.isAminoMsgEditValidator}});Object.defineProperty($r,"isAminoMsgFundCommunityPool",{enumerable:!0,get:function(){return vo.isAminoMsgFundCommunityPool}});Object.defineProperty($r,"isAminoMsgMultiSend",{enumerable:!0,get:function(){return vo.isAminoMsgMultiSend}});Object.defineProperty($r,"isAminoMsgSend",{enumerable:!0,get:function(){return vo.isAminoMsgSend}});Object.defineProperty($r,"isAminoMsgSetWithdrawAddress",{enumerable:!0,get:function(){return vo.isAminoMsgSetWithdrawAddress}});Object.defineProperty($r,"isAminoMsgSubmitEvidence",{enumerable:!0,get:function(){return vo.isAminoMsgSubmitEvidence}});Object.defineProperty($r,"isAminoMsgSubmitProposal",{enumerable:!0,get:function(){return vo.isAminoMsgSubmitProposal}});Object.defineProperty($r,"isAminoMsgTransfer",{enumerable:!0,get:function(){return vo.isAminoMsgTransfer}});Object.defineProperty($r,"isAminoMsgUndelegate",{enumerable:!0,get:function(){return vo.isAminoMsgUndelegate}});Object.defineProperty($r,"isAminoMsgUnjail",{enumerable:!0,get:function(){return vo.isAminoMsgUnjail}});Object.defineProperty($r,"isAminoMsgVerifyInvariant",{enumerable:!0,get:function(){return vo.isAminoMsgVerifyInvariant}});Object.defineProperty($r,"isAminoMsgVote",{enumerable:!0,get:function(){return vo.isAminoMsgVote}});Object.defineProperty($r,"isAminoMsgVoteWeighted",{enumerable:!0,get:function(){return vo.isAminoMsgVoteWeighted}});Object.defineProperty($r,"isAminoMsgWithdrawDelegatorReward",{enumerable:!0,get:function(){return vo.isAminoMsgWithdrawDelegatorReward}});Object.defineProperty($r,"isAminoMsgWithdrawValidatorCommission",{enumerable:!0,get:function(){return vo.isAminoMsgWithdrawValidatorCommission}});Object.defineProperty($r,"isMsgBeginRedelegateEncodeObject",{enumerable:!0,get:function(){return vo.isMsgBeginRedelegateEncodeObject}});Object.defineProperty($r,"isMsgCancelUnbondingDelegationEncodeObject",{enumerable:!0,get:function(){return vo.isMsgCancelUnbondingDelegationEncodeObject}});Object.defineProperty($r,"isMsgCreateValidatorEncodeObject",{enumerable:!0,get:function(){return vo.isMsgCreateValidatorEncodeObject}});Object.defineProperty($r,"isMsgDelegateEncodeObject",{enumerable:!0,get:function(){return vo.isMsgDelegateEncodeObject}});Object.defineProperty($r,"isMsgDepositEncodeObject",{enumerable:!0,get:function(){return vo.isMsgDepositEncodeObject}});Object.defineProperty($r,"isMsgEditValidatorEncodeObject",{enumerable:!0,get:function(){return vo.isMsgEditValidatorEncodeObject}});Object.defineProperty($r,"isMsgSendEncodeObject",{enumerable:!0,get:function(){return vo.isMsgSendEncodeObject}});Object.defineProperty($r,"isMsgSubmitProposalEncodeObject",{enumerable:!0,get:function(){return vo.isMsgSubmitProposalEncodeObject}});Object.defineProperty($r,"isMsgTransferEncodeObject",{enumerable:!0,get:function(){return vo.isMsgTransferEncodeObject}});Object.defineProperty($r,"isMsgUndelegateEncodeObject",{enumerable:!0,get:function(){return vo.isMsgUndelegateEncodeObject}});Object.defineProperty($r,"isMsgVoteEncodeObject",{enumerable:!0,get:function(){return vo.isMsgVoteEncodeObject}});Object.defineProperty($r,"isMsgVoteWeightedEncodeObject",{enumerable:!0,get:function(){return vo.isMsgVoteWeightedEncodeObject}});Object.defineProperty($r,"isMsgWithdrawDelegatorRewardEncodeObject",{enumerable:!0,get:function(){return vo.isMsgWithdrawDelegatorRewardEncodeObject}});Object.defineProperty($r,"setupAuthExtension",{enumerable:!0,get:function(){return vo.setupAuthExtension}});Object.defineProperty($r,"setupAuthzExtension",{enumerable:!0,get:function(){return vo.setupAuthzExtension}});Object.defineProperty($r,"setupBankExtension",{enumerable:!0,get:function(){return vo.setupBankExtension}});Object.defineProperty($r,"setupDistributionExtension",{enumerable:!0,get:function(){return vo.setupDistributionExtension}});Object.defineProperty($r,"setupFeegrantExtension",{enumerable:!0,get:function(){return vo.setupFeegrantExtension}});Object.defineProperty($r,"setupGovExtension",{enumerable:!0,get:function(){return vo.setupGovExtension}});Object.defineProperty($r,"setupIbcExtension",{enumerable:!0,get:function(){return vo.setupIbcExtension}});Object.defineProperty($r,"setupMintExtension",{enumerable:!0,get:function(){return vo.setupMintExtension}});Object.defineProperty($r,"setupSlashingExtension",{enumerable:!0,get:function(){return vo.setupSlashingExtension}});Object.defineProperty($r,"setupStakingExtension",{enumerable:!0,get:function(){return vo.setupStakingExtension}});Object.defineProperty($r,"setupTxExtension",{enumerable:!0,get:function(){return vo.setupTxExtension}});var ERt=cbt();Object.defineProperty($r,"makeMultisignedTx",{enumerable:!0,get:function(){return ERt.makeMultisignedTx}});Object.defineProperty($r,"makeMultisignedTxBytes",{enumerable:!0,get:function(){return ERt.makeMultisignedTxBytes}});var mre=ep();Object.defineProperty($r,"createPagination",{enumerable:!0,get:function(){return mre.createPagination}});Object.defineProperty($r,"createProtobufRpcClient",{enumerable:!0,get:function(){return mre.createProtobufRpcClient}});Object.defineProperty($r,"decodeCosmosSdkDecFromProto",{enumerable:!0,get:function(){return mre.decodeCosmosSdkDecFromProto}});Object.defineProperty($r,"QueryClient",{enumerable:!0,get:function(){return mre.QueryClient}});var gRn=CNe();Object.defineProperty($r,"isSearchTxQueryArray",{enumerable:!0,get:function(){return gRn.isSearchTxQueryArray}});var sTe=yRt();Object.defineProperty($r,"createDefaultAminoConverters",{enumerable:!0,get:function(){return sTe.createDefaultAminoConverters}});Object.defineProperty($r,"defaultRegistryTypes",{enumerable:!0,get:function(){return sTe.defaultRegistryTypes}});Object.defineProperty($r,"SigningStargateClient",{enumerable:!0,get:function(){return sTe.SigningStargateClient}});var H5=oTe();Object.defineProperty($r,"assertIsDeliverTxFailure",{enumerable:!0,get:function(){return H5.assertIsDeliverTxFailure}});Object.defineProperty($r,"assertIsDeliverTxSuccess",{enumerable:!0,get:function(){return H5.assertIsDeliverTxSuccess}});Object.defineProperty($r,"BroadcastTxError",{enumerable:!0,get:function(){return H5.BroadcastTxError}});Object.defineProperty($r,"isDeliverTxFailure",{enumerable:!0,get:function(){return H5.isDeliverTxFailure}});Object.defineProperty($r,"isDeliverTxSuccess",{enumerable:!0,get:function(){return H5.isDeliverTxSuccess}});Object.defineProperty($r,"StargateClient",{enumerable:!0,get:function(){return H5.StargateClient}});Object.defineProperty($r,"TimeoutError",{enumerable:!0,get:function(){return H5.TimeoutError}});var yre=SS();Object.defineProperty($r,"coin",{enumerable:!0,get:function(){return yre.coin}});Object.defineProperty($r,"coins",{enumerable:!0,get:function(){return yre.coins}});Object.defineProperty($r,"makeCosmoshubPath",{enumerable:!0,get:function(){return yre.makeCosmoshubPath}});Object.defineProperty($r,"parseCoins",{enumerable:!0,get:function(){return yre.parseCoins}})});var TRt=ir((z3o,Tre)=>{"use strict";J();K();z();(function(e){"use strict";var t=function(ht){var Xe,et=new Float64Array(16);if(ht)for(Xe=0;Xe<ht.length;Xe++)et[Xe]=ht[Xe];return et},r=function(){throw new Error("no PRNG")},i=new Uint8Array(16),n=new Uint8Array(32);n[0]=9;var o=t(),d=t([1]),g=t([56129,1]),y=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),_=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),I=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),N=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),T=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function M(ht,Xe,et,ue){ht[Xe]=et>>24&255,ht[Xe+1]=et>>16&255,ht[Xe+2]=et>>8&255,ht[Xe+3]=et&255,ht[Xe+4]=ue>>24&255,ht[Xe+5]=ue>>16&255,ht[Xe+6]=ue>>8&255,ht[Xe+7]=ue&255}function D(ht,Xe,et,ue,je){var be,qe=0;for(be=0;be<je;be++)qe|=ht[Xe+be]^et[ue+be];return(1&qe-1>>>8)-1}function P(ht,Xe,et,ue){return D(ht,Xe,et,ue,16)}function G(ht,Xe,et,ue){return D(ht,Xe,et,ue,32)}function q(ht,Xe,et,ue){for(var je=ue[0]&255|(ue[1]&255)<<8|(ue[2]&255)<<16|(ue[3]&255)<<24,be=et[0]&255|(et[1]&255)<<8|(et[2]&255)<<16|(et[3]&255)<<24,qe=et[4]&255|(et[5]&255)<<8|(et[6]&255)<<16|(et[7]&255)<<24,De=et[8]&255|(et[9]&255)<<8|(et[10]&255)<<16|(et[11]&255)<<24,Je=et[12]&255|(et[13]&255)<<8|(et[14]&255)<<16|(et[15]&255)<<24,Rt=ue[4]&255|(ue[5]&255)<<8|(ue[6]&255)<<16|(ue[7]&255)<<24,Vt=Xe[0]&255|(Xe[1]&255)<<8|(Xe[2]&255)<<16|(Xe[3]&255)<<24,br=Xe[4]&255|(Xe[5]&255)<<8|(Xe[6]&255)<<16|(Xe[7]&255)<<24,Rr=Xe[8]&255|(Xe[9]&255)<<8|(Xe[10]&255)<<16|(Xe[11]&255)<<24,Dr=Xe[12]&255|(Xe[13]&255)<<8|(Xe[14]&255)<<16|(Xe[15]&255)<<24,Pr=ue[8]&255|(ue[9]&255)<<8|(ue[10]&255)<<16|(ue[11]&255)<<24,k=et[16]&255|(et[17]&255)<<8|(et[18]&255)<<16|(et[19]&255)<<24,a=et[20]&255|(et[21]&255)<<8|(et[22]&255)<<16|(et[23]&255)<<24,S=et[24]&255|(et[25]&255)<<8|(et[26]&255)<<16|(et[27]&255)<<24,sn=et[28]&255|(et[29]&255)<<8|(et[30]&255)<<16|(et[31]&255)<<24,Lr=ue[12]&255|(ue[13]&255)<<8|(ue[14]&255)<<16|(ue[15]&255)<<24,Wr=je,ln=be,yt=qe,ot=De,lt=Je,gt=Rt,Ie=Vt,Zt=br,Ir=Rr,$=Dr,Qr=Pr,en=k,xr=a,Mi=S,oo=sn,ho=Lr,Tr,jo=0;jo<20;jo+=2)Tr=Wr+xr|0,lt^=Tr<<7|Tr>>>25,Tr=lt+Wr|0,Ir^=Tr<<9|Tr>>>23,Tr=Ir+lt|0,xr^=Tr<<13|Tr>>>19,Tr=xr+Ir|0,Wr^=Tr<<18|Tr>>>14,Tr=gt+ln|0,$^=Tr<<7|Tr>>>25,Tr=$+gt|0,Mi^=Tr<<9|Tr>>>23,Tr=Mi+$|0,ln^=Tr<<13|Tr>>>19,Tr=ln+Mi|0,gt^=Tr<<18|Tr>>>14,Tr=Qr+Ie|0,oo^=Tr<<7|Tr>>>25,Tr=oo+Qr|0,yt^=Tr<<9|Tr>>>23,Tr=yt+oo|0,Ie^=Tr<<13|Tr>>>19,Tr=Ie+yt|0,Qr^=Tr<<18|Tr>>>14,Tr=ho+en|0,ot^=Tr<<7|Tr>>>25,Tr=ot+ho|0,Zt^=Tr<<9|Tr>>>23,Tr=Zt+ot|0,en^=Tr<<13|Tr>>>19,Tr=en+Zt|0,ho^=Tr<<18|Tr>>>14,Tr=Wr+ot|0,ln^=Tr<<7|Tr>>>25,Tr=ln+Wr|0,yt^=Tr<<9|Tr>>>23,Tr=yt+ln|0,ot^=Tr<<13|Tr>>>19,Tr=ot+yt|0,Wr^=Tr<<18|Tr>>>14,Tr=gt+lt|0,Ie^=Tr<<7|Tr>>>25,Tr=Ie+gt|0,Zt^=Tr<<9|Tr>>>23,Tr=Zt+Ie|0,lt^=Tr<<13|Tr>>>19,Tr=lt+Zt|0,gt^=Tr<<18|Tr>>>14,Tr=Qr+$|0,en^=Tr<<7|Tr>>>25,Tr=en+Qr|0,Ir^=Tr<<9|Tr>>>23,Tr=Ir+en|0,$^=Tr<<13|Tr>>>19,Tr=$+Ir|0,Qr^=Tr<<18|Tr>>>14,Tr=ho+oo|0,xr^=Tr<<7|Tr>>>25,Tr=xr+ho|0,Mi^=Tr<<9|Tr>>>23,Tr=Mi+xr|0,oo^=Tr<<13|Tr>>>19,Tr=oo+Mi|0,ho^=Tr<<18|Tr>>>14;Wr=Wr+je|0,ln=ln+be|0,yt=yt+qe|0,ot=ot+De|0,lt=lt+Je|0,gt=gt+Rt|0,Ie=Ie+Vt|0,Zt=Zt+br|0,Ir=Ir+Rr|0,$=$+Dr|0,Qr=Qr+Pr|0,en=en+k|0,xr=xr+a|0,Mi=Mi+S|0,oo=oo+sn|0,ho=ho+Lr|0,ht[0]=Wr>>>0&255,ht[1]=Wr>>>8&255,ht[2]=Wr>>>16&255,ht[3]=Wr>>>24&255,ht[4]=ln>>>0&255,ht[5]=ln>>>8&255,ht[6]=ln>>>16&255,ht[7]=ln>>>24&255,ht[8]=yt>>>0&255,ht[9]=yt>>>8&255,ht[10]=yt>>>16&255,ht[11]=yt>>>24&255,ht[12]=ot>>>0&255,ht[13]=ot>>>8&255,ht[14]=ot>>>16&255,ht[15]=ot>>>24&255,ht[16]=lt>>>0&255,ht[17]=lt>>>8&255,ht[18]=lt>>>16&255,ht[19]=lt>>>24&255,ht[20]=gt>>>0&255,ht[21]=gt>>>8&255,ht[22]=gt>>>16&255,ht[23]=gt>>>24&255,ht[24]=Ie>>>0&255,ht[25]=Ie>>>8&255,ht[26]=Ie>>>16&255,ht[27]=Ie>>>24&255,ht[28]=Zt>>>0&255,ht[29]=Zt>>>8&255,ht[30]=Zt>>>16&255,ht[31]=Zt>>>24&255,ht[32]=Ir>>>0&255,ht[33]=Ir>>>8&255,ht[34]=Ir>>>16&255,ht[35]=Ir>>>24&255,ht[36]=$>>>0&255,ht[37]=$>>>8&255,ht[38]=$>>>16&255,ht[39]=$>>>24&255,ht[40]=Qr>>>0&255,ht[41]=Qr>>>8&255,ht[42]=Qr>>>16&255,ht[43]=Qr>>>24&255,ht[44]=en>>>0&255,ht[45]=en>>>8&255,ht[46]=en>>>16&255,ht[47]=en>>>24&255,ht[48]=xr>>>0&255,ht[49]=xr>>>8&255,ht[50]=xr>>>16&255,ht[51]=xr>>>24&255,ht[52]=Mi>>>0&255,ht[53]=Mi>>>8&255,ht[54]=Mi>>>16&255,ht[55]=Mi>>>24&255,ht[56]=oo>>>0&255,ht[57]=oo>>>8&255,ht[58]=oo>>>16&255,ht[59]=oo>>>24&255,ht[60]=ho>>>0&255,ht[61]=ho>>>8&255,ht[62]=ho>>>16&255,ht[63]=ho>>>24&255}function Y(ht,Xe,et,ue){for(var je=ue[0]&255|(ue[1]&255)<<8|(ue[2]&255)<<16|(ue[3]&255)<<24,be=et[0]&255|(et[1]&255)<<8|(et[2]&255)<<16|(et[3]&255)<<24,qe=et[4]&255|(et[5]&255)<<8|(et[6]&255)<<16|(et[7]&255)<<24,De=et[8]&255|(et[9]&255)<<8|(et[10]&255)<<16|(et[11]&255)<<24,Je=et[12]&255|(et[13]&255)<<8|(et[14]&255)<<16|(et[15]&255)<<24,Rt=ue[4]&255|(ue[5]&255)<<8|(ue[6]&255)<<16|(ue[7]&255)<<24,Vt=Xe[0]&255|(Xe[1]&255)<<8|(Xe[2]&255)<<16|(Xe[3]&255)<<24,br=Xe[4]&255|(Xe[5]&255)<<8|(Xe[6]&255)<<16|(Xe[7]&255)<<24,Rr=Xe[8]&255|(Xe[9]&255)<<8|(Xe[10]&255)<<16|(Xe[11]&255)<<24,Dr=Xe[12]&255|(Xe[13]&255)<<8|(Xe[14]&255)<<16|(Xe[15]&255)<<24,Pr=ue[8]&255|(ue[9]&255)<<8|(ue[10]&255)<<16|(ue[11]&255)<<24,k=et[16]&255|(et[17]&255)<<8|(et[18]&255)<<16|(et[19]&255)<<24,a=et[20]&255|(et[21]&255)<<8|(et[22]&255)<<16|(et[23]&255)<<24,S=et[24]&255|(et[25]&255)<<8|(et[26]&255)<<16|(et[27]&255)<<24,sn=et[28]&255|(et[29]&255)<<8|(et[30]&255)<<16|(et[31]&255)<<24,Lr=ue[12]&255|(ue[13]&255)<<8|(ue[14]&255)<<16|(ue[15]&255)<<24,Wr=je,ln=be,yt=qe,ot=De,lt=Je,gt=Rt,Ie=Vt,Zt=br,Ir=Rr,$=Dr,Qr=Pr,en=k,xr=a,Mi=S,oo=sn,ho=Lr,Tr,jo=0;jo<20;jo+=2)Tr=Wr+xr|0,lt^=Tr<<7|Tr>>>25,Tr=lt+Wr|0,Ir^=Tr<<9|Tr>>>23,Tr=Ir+lt|0,xr^=Tr<<13|Tr>>>19,Tr=xr+Ir|0,Wr^=Tr<<18|Tr>>>14,Tr=gt+ln|0,$^=Tr<<7|Tr>>>25,Tr=$+gt|0,Mi^=Tr<<9|Tr>>>23,Tr=Mi+$|0,ln^=Tr<<13|Tr>>>19,Tr=ln+Mi|0,gt^=Tr<<18|Tr>>>14,Tr=Qr+Ie|0,oo^=Tr<<7|Tr>>>25,Tr=oo+Qr|0,yt^=Tr<<9|Tr>>>23,Tr=yt+oo|0,Ie^=Tr<<13|Tr>>>19,Tr=Ie+yt|0,Qr^=Tr<<18|Tr>>>14,Tr=ho+en|0,ot^=Tr<<7|Tr>>>25,Tr=ot+ho|0,Zt^=Tr<<9|Tr>>>23,Tr=Zt+ot|0,en^=Tr<<13|Tr>>>19,Tr=en+Zt|0,ho^=Tr<<18|Tr>>>14,Tr=Wr+ot|0,ln^=Tr<<7|Tr>>>25,Tr=ln+Wr|0,yt^=Tr<<9|Tr>>>23,Tr=yt+ln|0,ot^=Tr<<13|Tr>>>19,Tr=ot+yt|0,Wr^=Tr<<18|Tr>>>14,Tr=gt+lt|0,Ie^=Tr<<7|Tr>>>25,Tr=Ie+gt|0,Zt^=Tr<<9|Tr>>>23,Tr=Zt+Ie|0,lt^=Tr<<13|Tr>>>19,Tr=lt+Zt|0,gt^=Tr<<18|Tr>>>14,Tr=Qr+$|0,en^=Tr<<7|Tr>>>25,Tr=en+Qr|0,Ir^=Tr<<9|Tr>>>23,Tr=Ir+en|0,$^=Tr<<13|Tr>>>19,Tr=$+Ir|0,Qr^=Tr<<18|Tr>>>14,Tr=ho+oo|0,xr^=Tr<<7|Tr>>>25,Tr=xr+ho|0,Mi^=Tr<<9|Tr>>>23,Tr=Mi+xr|0,oo^=Tr<<13|Tr>>>19,Tr=oo+Mi|0,ho^=Tr<<18|Tr>>>14;ht[0]=Wr>>>0&255,ht[1]=Wr>>>8&255,ht[2]=Wr>>>16&255,ht[3]=Wr>>>24&255,ht[4]=gt>>>0&255,ht[5]=gt>>>8&255,ht[6]=gt>>>16&255,ht[7]=gt>>>24&255,ht[8]=Qr>>>0&255,ht[9]=Qr>>>8&255,ht[10]=Qr>>>16&255,ht[11]=Qr>>>24&255,ht[12]=ho>>>0&255,ht[13]=ho>>>8&255,ht[14]=ho>>>16&255,ht[15]=ho>>>24&255,ht[16]=Ie>>>0&255,ht[17]=Ie>>>8&255,ht[18]=Ie>>>16&255,ht[19]=Ie>>>24&255,ht[20]=Zt>>>0&255,ht[21]=Zt>>>8&255,ht[22]=Zt>>>16&255,ht[23]=Zt>>>24&255,ht[24]=Ir>>>0&255,ht[25]=Ir>>>8&255,ht[26]=Ir>>>16&255,ht[27]=Ir>>>24&255,ht[28]=$>>>0&255,ht[29]=$>>>8&255,ht[30]=$>>>16&255,ht[31]=$>>>24&255}function ne(ht,Xe,et,ue){q(ht,Xe,et,ue)}function ce(ht,Xe,et,ue){Y(ht,Xe,et,ue)}var le=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function pe(ht,Xe,et,ue,je,be,qe){var De=new Uint8Array(16),Je=new Uint8Array(64),Rt,Vt;for(Vt=0;Vt<16;Vt++)De[Vt]=0;for(Vt=0;Vt<8;Vt++)De[Vt]=be[Vt];for(;je>=64;){for(ne(Je,De,qe,le),Vt=0;Vt<64;Vt++)ht[Xe+Vt]=et[ue+Vt]^Je[Vt];for(Rt=1,Vt=8;Vt<16;Vt++)Rt=Rt+(De[Vt]&255)|0,De[Vt]=Rt&255,Rt>>>=8;je-=64,Xe+=64,ue+=64}if(je>0)for(ne(Je,De,qe,le),Vt=0;Vt<je;Vt++)ht[Xe+Vt]=et[ue+Vt]^Je[Vt];return 0}function ae(ht,Xe,et,ue,je){var be=new Uint8Array(16),qe=new Uint8Array(64),De,Je;for(Je=0;Je<16;Je++)be[Je]=0;for(Je=0;Je<8;Je++)be[Je]=ue[Je];for(;et>=64;){for(ne(qe,be,je,le),Je=0;Je<64;Je++)ht[Xe+Je]=qe[Je];for(De=1,Je=8;Je<16;Je++)De=De+(be[Je]&255)|0,be[Je]=De&255,De>>>=8;et-=64,Xe+=64}if(et>0)for(ne(qe,be,je,le),Je=0;Je<et;Je++)ht[Xe+Je]=qe[Je];return 0}function W(ht,Xe,et,ue,je){var be=new Uint8Array(32);ce(be,ue,je,le);for(var qe=new Uint8Array(8),De=0;De<8;De++)qe[De]=ue[De+16];return ae(ht,Xe,et,qe,be)}function se(ht,Xe,et,ue,je,be,qe){var De=new Uint8Array(32);ce(De,be,qe,le);for(var Je=new Uint8Array(8),Rt=0;Rt<8;Rt++)Je[Rt]=be[Rt+16];return pe(ht,Xe,et,ue,je,Je,De)}var O=function(ht){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var Xe,et,ue,je,be,qe,De,Je;Xe=ht[0]&255|(ht[1]&255)<<8,this.r[0]=Xe&8191,et=ht[2]&255|(ht[3]&255)<<8,this.r[1]=(Xe>>>13|et<<3)&8191,ue=ht[4]&255|(ht[5]&255)<<8,this.r[2]=(et>>>10|ue<<6)&7939,je=ht[6]&255|(ht[7]&255)<<8,this.r[3]=(ue>>>7|je<<9)&8191,be=ht[8]&255|(ht[9]&255)<<8,this.r[4]=(je>>>4|be<<12)&255,this.r[5]=be>>>1&8190,qe=ht[10]&255|(ht[11]&255)<<8,this.r[6]=(be>>>14|qe<<2)&8191,De=ht[12]&255|(ht[13]&255)<<8,this.r[7]=(qe>>>11|De<<5)&8065,Je=ht[14]&255|(ht[15]&255)<<8,this.r[8]=(De>>>8|Je<<8)&8191,this.r[9]=Je>>>5&127,this.pad[0]=ht[16]&255|(ht[17]&255)<<8,this.pad[1]=ht[18]&255|(ht[19]&255)<<8,this.pad[2]=ht[20]&255|(ht[21]&255)<<8,this.pad[3]=ht[22]&255|(ht[23]&255)<<8,this.pad[4]=ht[24]&255|(ht[25]&255)<<8,this.pad[5]=ht[26]&255|(ht[27]&255)<<8,this.pad[6]=ht[28]&255|(ht[29]&255)<<8,this.pad[7]=ht[30]&255|(ht[31]&255)<<8};O.prototype.blocks=function(ht,Xe,et){for(var ue=this.fin?0:2048,je,be,qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a,S,sn,Lr,Wr,ln,yt,ot=this.h[0],lt=this.h[1],gt=this.h[2],Ie=this.h[3],Zt=this.h[4],Ir=this.h[5],$=this.h[6],Qr=this.h[7],en=this.h[8],xr=this.h[9],Mi=this.r[0],oo=this.r[1],ho=this.r[2],Tr=this.r[3],jo=this.r[4],ka=this.r[5],wo=this.r[6],Fo=this.r[7],Ar=this.r[8],Pa=this.r[9];et>=16;)je=ht[Xe+0]&255|(ht[Xe+1]&255)<<8,ot+=je&8191,be=ht[Xe+2]&255|(ht[Xe+3]&255)<<8,lt+=(je>>>13|be<<3)&8191,qe=ht[Xe+4]&255|(ht[Xe+5]&255)<<8,gt+=(be>>>10|qe<<6)&8191,De=ht[Xe+6]&255|(ht[Xe+7]&255)<<8,Ie+=(qe>>>7|De<<9)&8191,Je=ht[Xe+8]&255|(ht[Xe+9]&255)<<8,Zt+=(De>>>4|Je<<12)&8191,Ir+=Je>>>1&8191,Rt=ht[Xe+10]&255|(ht[Xe+11]&255)<<8,$+=(Je>>>14|Rt<<2)&8191,Vt=ht[Xe+12]&255|(ht[Xe+13]&255)<<8,Qr+=(Rt>>>11|Vt<<5)&8191,br=ht[Xe+14]&255|(ht[Xe+15]&255)<<8,en+=(Vt>>>8|br<<8)&8191,xr+=br>>>5|ue,Rr=0,Dr=Rr,Dr+=ot*Mi,Dr+=lt*(5*Pa),Dr+=gt*(5*Ar),Dr+=Ie*(5*Fo),Dr+=Zt*(5*wo),Rr=Dr>>>13,Dr&=8191,Dr+=Ir*(5*ka),Dr+=$*(5*jo),Dr+=Qr*(5*Tr),Dr+=en*(5*ho),Dr+=xr*(5*oo),Rr+=Dr>>>13,Dr&=8191,Pr=Rr,Pr+=ot*oo,Pr+=lt*Mi,Pr+=gt*(5*Pa),Pr+=Ie*(5*Ar),Pr+=Zt*(5*Fo),Rr=Pr>>>13,Pr&=8191,Pr+=Ir*(5*wo),Pr+=$*(5*ka),Pr+=Qr*(5*jo),Pr+=en*(5*Tr),Pr+=xr*(5*ho),Rr+=Pr>>>13,Pr&=8191,k=Rr,k+=ot*ho,k+=lt*oo,k+=gt*Mi,k+=Ie*(5*Pa),k+=Zt*(5*Ar),Rr=k>>>13,k&=8191,k+=Ir*(5*Fo),k+=$*(5*wo),k+=Qr*(5*ka),k+=en*(5*jo),k+=xr*(5*Tr),Rr+=k>>>13,k&=8191,a=Rr,a+=ot*Tr,a+=lt*ho,a+=gt*oo,a+=Ie*Mi,a+=Zt*(5*Pa),Rr=a>>>13,a&=8191,a+=Ir*(5*Ar),a+=$*(5*Fo),a+=Qr*(5*wo),a+=en*(5*ka),a+=xr*(5*jo),Rr+=a>>>13,a&=8191,S=Rr,S+=ot*jo,S+=lt*Tr,S+=gt*ho,S+=Ie*oo,S+=Zt*Mi,Rr=S>>>13,S&=8191,S+=Ir*(5*Pa),S+=$*(5*Ar),S+=Qr*(5*Fo),S+=en*(5*wo),S+=xr*(5*ka),Rr+=S>>>13,S&=8191,sn=Rr,sn+=ot*ka,sn+=lt*jo,sn+=gt*Tr,sn+=Ie*ho,sn+=Zt*oo,Rr=sn>>>13,sn&=8191,sn+=Ir*Mi,sn+=$*(5*Pa),sn+=Qr*(5*Ar),sn+=en*(5*Fo),sn+=xr*(5*wo),Rr+=sn>>>13,sn&=8191,Lr=Rr,Lr+=ot*wo,Lr+=lt*ka,Lr+=gt*jo,Lr+=Ie*Tr,Lr+=Zt*ho,Rr=Lr>>>13,Lr&=8191,Lr+=Ir*oo,Lr+=$*Mi,Lr+=Qr*(5*Pa),Lr+=en*(5*Ar),Lr+=xr*(5*Fo),Rr+=Lr>>>13,Lr&=8191,Wr=Rr,Wr+=ot*Fo,Wr+=lt*wo,Wr+=gt*ka,Wr+=Ie*jo,Wr+=Zt*Tr,Rr=Wr>>>13,Wr&=8191,Wr+=Ir*ho,Wr+=$*oo,Wr+=Qr*Mi,Wr+=en*(5*Pa),Wr+=xr*(5*Ar),Rr+=Wr>>>13,Wr&=8191,ln=Rr,ln+=ot*Ar,ln+=lt*Fo,ln+=gt*wo,ln+=Ie*ka,ln+=Zt*jo,Rr=ln>>>13,ln&=8191,ln+=Ir*Tr,ln+=$*ho,ln+=Qr*oo,ln+=en*Mi,ln+=xr*(5*Pa),Rr+=ln>>>13,ln&=8191,yt=Rr,yt+=ot*Pa,yt+=lt*Ar,yt+=gt*Fo,yt+=Ie*wo,yt+=Zt*ka,Rr=yt>>>13,yt&=8191,yt+=Ir*jo,yt+=$*Tr,yt+=Qr*ho,yt+=en*oo,yt+=xr*Mi,Rr+=yt>>>13,yt&=8191,Rr=(Rr<<2)+Rr|0,Rr=Rr+Dr|0,Dr=Rr&8191,Rr=Rr>>>13,Pr+=Rr,ot=Dr,lt=Pr,gt=k,Ie=a,Zt=S,Ir=sn,$=Lr,Qr=Wr,en=ln,xr=yt,Xe+=16,et-=16;this.h[0]=ot,this.h[1]=lt,this.h[2]=gt,this.h[3]=Ie,this.h[4]=Zt,this.h[5]=Ir,this.h[6]=$,this.h[7]=Qr,this.h[8]=en,this.h[9]=xr},O.prototype.finish=function(ht,Xe){var et=new Uint16Array(10),ue,je,be,qe;if(this.leftover){for(qe=this.leftover,this.buffer[qe++]=1;qe<16;qe++)this.buffer[qe]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(ue=this.h[1]>>>13,this.h[1]&=8191,qe=2;qe<10;qe++)this.h[qe]+=ue,ue=this.h[qe]>>>13,this.h[qe]&=8191;for(this.h[0]+=ue*5,ue=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=ue,ue=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=ue,et[0]=this.h[0]+5,ue=et[0]>>>13,et[0]&=8191,qe=1;qe<10;qe++)et[qe]=this.h[qe]+ue,ue=et[qe]>>>13,et[qe]&=8191;for(et[9]-=8192,je=(ue^1)-1,qe=0;qe<10;qe++)et[qe]&=je;for(je=~je,qe=0;qe<10;qe++)this.h[qe]=this.h[qe]&je|et[qe];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,be=this.h[0]+this.pad[0],this.h[0]=be&65535,qe=1;qe<8;qe++)be=(this.h[qe]+this.pad[qe]|0)+(be>>>16)|0,this.h[qe]=be&65535;ht[Xe+0]=this.h[0]>>>0&255,ht[Xe+1]=this.h[0]>>>8&255,ht[Xe+2]=this.h[1]>>>0&255,ht[Xe+3]=this.h[1]>>>8&255,ht[Xe+4]=this.h[2]>>>0&255,ht[Xe+5]=this.h[2]>>>8&255,ht[Xe+6]=this.h[3]>>>0&255,ht[Xe+7]=this.h[3]>>>8&255,ht[Xe+8]=this.h[4]>>>0&255,ht[Xe+9]=this.h[4]>>>8&255,ht[Xe+10]=this.h[5]>>>0&255,ht[Xe+11]=this.h[5]>>>8&255,ht[Xe+12]=this.h[6]>>>0&255,ht[Xe+13]=this.h[6]>>>8&255,ht[Xe+14]=this.h[7]>>>0&255,ht[Xe+15]=this.h[7]>>>8&255},O.prototype.update=function(ht,Xe,et){var ue,je;if(this.leftover){for(je=16-this.leftover,je>et&&(je=et),ue=0;ue<je;ue++)this.buffer[this.leftover+ue]=ht[Xe+ue];if(et-=je,Xe+=je,this.leftover+=je,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(et>=16&&(je=et-et%16,this.blocks(ht,Xe,je),Xe+=je,et-=je),et){for(ue=0;ue<et;ue++)this.buffer[this.leftover+ue]=ht[Xe+ue];this.leftover+=et}};function s(ht,Xe,et,ue,je,be){var qe=new O(be);return qe.update(et,ue,je),qe.finish(ht,Xe),0}function l(ht,Xe,et,ue,je,be){var qe=new Uint8Array(16);return s(qe,0,et,ue,je,be),P(ht,Xe,qe,0)}function A(ht,Xe,et,ue,je){var be;if(et<32)return-1;for(se(ht,0,Xe,0,et,ue,je),s(ht,16,ht,32,et-32,ht),be=0;be<16;be++)ht[be]=0;return 0}function m(ht,Xe,et,ue,je){var be,qe=new Uint8Array(32);if(et<32||(W(qe,0,32,ue,je),l(Xe,16,Xe,32,et-32,qe)!==0))return-1;for(se(ht,0,Xe,0,et,ue,je),be=0;be<32;be++)ht[be]=0;return 0}function E(ht,Xe){var et;for(et=0;et<16;et++)ht[et]=Xe[et]|0}function w(ht){var Xe,et,ue=1;for(Xe=0;Xe<16;Xe++)et=ht[Xe]+ue+65535,ue=Math.floor(et/65536),ht[Xe]=et-ue*65536;ht[0]+=ue-1+37*(ue-1)}function x(ht,Xe,et){for(var ue,je=~(et-1),be=0;be<16;be++)ue=je&(ht[be]^Xe[be]),ht[be]^=ue,Xe[be]^=ue}function R(ht,Xe){var et,ue,je,be=t(),qe=t();for(et=0;et<16;et++)qe[et]=Xe[et];for(w(qe),w(qe),w(qe),ue=0;ue<2;ue++){for(be[0]=qe[0]-65517,et=1;et<15;et++)be[et]=qe[et]-65535-(be[et-1]>>16&1),be[et-1]&=65535;be[15]=qe[15]-32767-(be[14]>>16&1),je=be[15]>>16&1,be[14]&=65535,x(qe,be,1-je)}for(et=0;et<16;et++)ht[2*et]=qe[et]&255,ht[2*et+1]=qe[et]>>8}function u(ht,Xe){var et=new Uint8Array(32),ue=new Uint8Array(32);return R(et,ht),R(ue,Xe),G(et,0,ue,0)}function C(ht){var Xe=new Uint8Array(32);return R(Xe,ht),Xe[0]&1}function U(ht,Xe){var et;for(et=0;et<16;et++)ht[et]=Xe[2*et]+(Xe[2*et+1]<<8);ht[15]&=32767}function F(ht,Xe,et){for(var ue=0;ue<16;ue++)ht[ue]=Xe[ue]+et[ue]}function X(ht,Xe,et){for(var ue=0;ue<16;ue++)ht[ue]=Xe[ue]-et[ue]}function Ae(ht,Xe,et){var ue,je,be=0,qe=0,De=0,Je=0,Rt=0,Vt=0,br=0,Rr=0,Dr=0,Pr=0,k=0,a=0,S=0,sn=0,Lr=0,Wr=0,ln=0,yt=0,ot=0,lt=0,gt=0,Ie=0,Zt=0,Ir=0,$=0,Qr=0,en=0,xr=0,Mi=0,oo=0,ho=0,Tr=et[0],jo=et[1],ka=et[2],wo=et[3],Fo=et[4],Ar=et[5],Pa=et[6],Hu=et[7],vs=et[8],Iu=et[9],Cu=et[10],wu=et[11],l0=et[12],Ed=et[13],vd=et[14],Et=et[15];ue=Xe[0],be+=ue*Tr,qe+=ue*jo,De+=ue*ka,Je+=ue*wo,Rt+=ue*Fo,Vt+=ue*Ar,br+=ue*Pa,Rr+=ue*Hu,Dr+=ue*vs,Pr+=ue*Iu,k+=ue*Cu,a+=ue*wu,S+=ue*l0,sn+=ue*Ed,Lr+=ue*vd,Wr+=ue*Et,ue=Xe[1],qe+=ue*Tr,De+=ue*jo,Je+=ue*ka,Rt+=ue*wo,Vt+=ue*Fo,br+=ue*Ar,Rr+=ue*Pa,Dr+=ue*Hu,Pr+=ue*vs,k+=ue*Iu,a+=ue*Cu,S+=ue*wu,sn+=ue*l0,Lr+=ue*Ed,Wr+=ue*vd,ln+=ue*Et,ue=Xe[2],De+=ue*Tr,Je+=ue*jo,Rt+=ue*ka,Vt+=ue*wo,br+=ue*Fo,Rr+=ue*Ar,Dr+=ue*Pa,Pr+=ue*Hu,k+=ue*vs,a+=ue*Iu,S+=ue*Cu,sn+=ue*wu,Lr+=ue*l0,Wr+=ue*Ed,ln+=ue*vd,yt+=ue*Et,ue=Xe[3],Je+=ue*Tr,Rt+=ue*jo,Vt+=ue*ka,br+=ue*wo,Rr+=ue*Fo,Dr+=ue*Ar,Pr+=ue*Pa,k+=ue*Hu,a+=ue*vs,S+=ue*Iu,sn+=ue*Cu,Lr+=ue*wu,Wr+=ue*l0,ln+=ue*Ed,yt+=ue*vd,ot+=ue*Et,ue=Xe[4],Rt+=ue*Tr,Vt+=ue*jo,br+=ue*ka,Rr+=ue*wo,Dr+=ue*Fo,Pr+=ue*Ar,k+=ue*Pa,a+=ue*Hu,S+=ue*vs,sn+=ue*Iu,Lr+=ue*Cu,Wr+=ue*wu,ln+=ue*l0,yt+=ue*Ed,ot+=ue*vd,lt+=ue*Et,ue=Xe[5],Vt+=ue*Tr,br+=ue*jo,Rr+=ue*ka,Dr+=ue*wo,Pr+=ue*Fo,k+=ue*Ar,a+=ue*Pa,S+=ue*Hu,sn+=ue*vs,Lr+=ue*Iu,Wr+=ue*Cu,ln+=ue*wu,yt+=ue*l0,ot+=ue*Ed,lt+=ue*vd,gt+=ue*Et,ue=Xe[6],br+=ue*Tr,Rr+=ue*jo,Dr+=ue*ka,Pr+=ue*wo,k+=ue*Fo,a+=ue*Ar,S+=ue*Pa,sn+=ue*Hu,Lr+=ue*vs,Wr+=ue*Iu,ln+=ue*Cu,yt+=ue*wu,ot+=ue*l0,lt+=ue*Ed,gt+=ue*vd,Ie+=ue*Et,ue=Xe[7],Rr+=ue*Tr,Dr+=ue*jo,Pr+=ue*ka,k+=ue*wo,a+=ue*Fo,S+=ue*Ar,sn+=ue*Pa,Lr+=ue*Hu,Wr+=ue*vs,ln+=ue*Iu,yt+=ue*Cu,ot+=ue*wu,lt+=ue*l0,gt+=ue*Ed,Ie+=ue*vd,Zt+=ue*Et,ue=Xe[8],Dr+=ue*Tr,Pr+=ue*jo,k+=ue*ka,a+=ue*wo,S+=ue*Fo,sn+=ue*Ar,Lr+=ue*Pa,Wr+=ue*Hu,ln+=ue*vs,yt+=ue*Iu,ot+=ue*Cu,lt+=ue*wu,gt+=ue*l0,Ie+=ue*Ed,Zt+=ue*vd,Ir+=ue*Et,ue=Xe[9],Pr+=ue*Tr,k+=ue*jo,a+=ue*ka,S+=ue*wo,sn+=ue*Fo,Lr+=ue*Ar,Wr+=ue*Pa,ln+=ue*Hu,yt+=ue*vs,ot+=ue*Iu,lt+=ue*Cu,gt+=ue*wu,Ie+=ue*l0,Zt+=ue*Ed,Ir+=ue*vd,$+=ue*Et,ue=Xe[10],k+=ue*Tr,a+=ue*jo,S+=ue*ka,sn+=ue*wo,Lr+=ue*Fo,Wr+=ue*Ar,ln+=ue*Pa,yt+=ue*Hu,ot+=ue*vs,lt+=ue*Iu,gt+=ue*Cu,Ie+=ue*wu,Zt+=ue*l0,Ir+=ue*Ed,$+=ue*vd,Qr+=ue*Et,ue=Xe[11],a+=ue*Tr,S+=ue*jo,sn+=ue*ka,Lr+=ue*wo,Wr+=ue*Fo,ln+=ue*Ar,yt+=ue*Pa,ot+=ue*Hu,lt+=ue*vs,gt+=ue*Iu,Ie+=ue*Cu,Zt+=ue*wu,Ir+=ue*l0,$+=ue*Ed,Qr+=ue*vd,en+=ue*Et,ue=Xe[12],S+=ue*Tr,sn+=ue*jo,Lr+=ue*ka,Wr+=ue*wo,ln+=ue*Fo,yt+=ue*Ar,ot+=ue*Pa,lt+=ue*Hu,gt+=ue*vs,Ie+=ue*Iu,Zt+=ue*Cu,Ir+=ue*wu,$+=ue*l0,Qr+=ue*Ed,en+=ue*vd,xr+=ue*Et,ue=Xe[13],sn+=ue*Tr,Lr+=ue*jo,Wr+=ue*ka,ln+=ue*wo,yt+=ue*Fo,ot+=ue*Ar,lt+=ue*Pa,gt+=ue*Hu,Ie+=ue*vs,Zt+=ue*Iu,Ir+=ue*Cu,$+=ue*wu,Qr+=ue*l0,en+=ue*Ed,xr+=ue*vd,Mi+=ue*Et,ue=Xe[14],Lr+=ue*Tr,Wr+=ue*jo,ln+=ue*ka,yt+=ue*wo,ot+=ue*Fo,lt+=ue*Ar,gt+=ue*Pa,Ie+=ue*Hu,Zt+=ue*vs,Ir+=ue*Iu,$+=ue*Cu,Qr+=ue*wu,en+=ue*l0,xr+=ue*Ed,Mi+=ue*vd,oo+=ue*Et,ue=Xe[15],Wr+=ue*Tr,ln+=ue*jo,yt+=ue*ka,ot+=ue*wo,lt+=ue*Fo,gt+=ue*Ar,Ie+=ue*Pa,Zt+=ue*Hu,Ir+=ue*vs,$+=ue*Iu,Qr+=ue*Cu,en+=ue*wu,xr+=ue*l0,Mi+=ue*Ed,oo+=ue*vd,ho+=ue*Et,be+=38*ln,qe+=38*yt,De+=38*ot,Je+=38*lt,Rt+=38*gt,Vt+=38*Ie,br+=38*Zt,Rr+=38*Ir,Dr+=38*$,Pr+=38*Qr,k+=38*en,a+=38*xr,S+=38*Mi,sn+=38*oo,Lr+=38*ho,je=1,ue=be+je+65535,je=Math.floor(ue/65536),be=ue-je*65536,ue=qe+je+65535,je=Math.floor(ue/65536),qe=ue-je*65536,ue=De+je+65535,je=Math.floor(ue/65536),De=ue-je*65536,ue=Je+je+65535,je=Math.floor(ue/65536),Je=ue-je*65536,ue=Rt+je+65535,je=Math.floor(ue/65536),Rt=ue-je*65536,ue=Vt+je+65535,je=Math.floor(ue/65536),Vt=ue-je*65536,ue=br+je+65535,je=Math.floor(ue/65536),br=ue-je*65536,ue=Rr+je+65535,je=Math.floor(ue/65536),Rr=ue-je*65536,ue=Dr+je+65535,je=Math.floor(ue/65536),Dr=ue-je*65536,ue=Pr+je+65535,je=Math.floor(ue/65536),Pr=ue-je*65536,ue=k+je+65535,je=Math.floor(ue/65536),k=ue-je*65536,ue=a+je+65535,je=Math.floor(ue/65536),a=ue-je*65536,ue=S+je+65535,je=Math.floor(ue/65536),S=ue-je*65536,ue=sn+je+65535,je=Math.floor(ue/65536),sn=ue-je*65536,ue=Lr+je+65535,je=Math.floor(ue/65536),Lr=ue-je*65536,ue=Wr+je+65535,je=Math.floor(ue/65536),Wr=ue-je*65536,be+=je-1+37*(je-1),je=1,ue=be+je+65535,je=Math.floor(ue/65536),be=ue-je*65536,ue=qe+je+65535,je=Math.floor(ue/65536),qe=ue-je*65536,ue=De+je+65535,je=Math.floor(ue/65536),De=ue-je*65536,ue=Je+je+65535,je=Math.floor(ue/65536),Je=ue-je*65536,ue=Rt+je+65535,je=Math.floor(ue/65536),Rt=ue-je*65536,ue=Vt+je+65535,je=Math.floor(ue/65536),Vt=ue-je*65536,ue=br+je+65535,je=Math.floor(ue/65536),br=ue-je*65536,ue=Rr+je+65535,je=Math.floor(ue/65536),Rr=ue-je*65536,ue=Dr+je+65535,je=Math.floor(ue/65536),Dr=ue-je*65536,ue=Pr+je+65535,je=Math.floor(ue/65536),Pr=ue-je*65536,ue=k+je+65535,je=Math.floor(ue/65536),k=ue-je*65536,ue=a+je+65535,je=Math.floor(ue/65536),a=ue-je*65536,ue=S+je+65535,je=Math.floor(ue/65536),S=ue-je*65536,ue=sn+je+65535,je=Math.floor(ue/65536),sn=ue-je*65536,ue=Lr+je+65535,je=Math.floor(ue/65536),Lr=ue-je*65536,ue=Wr+je+65535,je=Math.floor(ue/65536),Wr=ue-je*65536,be+=je-1+37*(je-1),ht[0]=be,ht[1]=qe,ht[2]=De,ht[3]=Je,ht[4]=Rt,ht[5]=Vt,ht[6]=br,ht[7]=Rr,ht[8]=Dr,ht[9]=Pr,ht[10]=k,ht[11]=a,ht[12]=S,ht[13]=sn,ht[14]=Lr,ht[15]=Wr}function he(ht,Xe){Ae(ht,Xe,Xe)}function $e(ht,Xe){var et=t(),ue;for(ue=0;ue<16;ue++)et[ue]=Xe[ue];for(ue=253;ue>=0;ue--)he(et,et),ue!==2&&ue!==4&&Ae(et,et,Xe);for(ue=0;ue<16;ue++)ht[ue]=et[ue]}function Ge(ht,Xe){var et=t(),ue;for(ue=0;ue<16;ue++)et[ue]=Xe[ue];for(ue=250;ue>=0;ue--)he(et,et),ue!==1&&Ae(et,et,Xe);for(ue=0;ue<16;ue++)ht[ue]=et[ue]}function Re(ht,Xe,et){var ue=new Uint8Array(32),je=new Float64Array(80),be,qe,De=t(),Je=t(),Rt=t(),Vt=t(),br=t(),Rr=t();for(qe=0;qe<31;qe++)ue[qe]=Xe[qe];for(ue[31]=Xe[31]&127|64,ue[0]&=248,U(je,et),qe=0;qe<16;qe++)Je[qe]=je[qe],Vt[qe]=De[qe]=Rt[qe]=0;for(De[0]=Vt[0]=1,qe=254;qe>=0;--qe)be=ue[qe>>>3]>>>(qe&7)&1,x(De,Je,be),x(Rt,Vt,be),F(br,De,Rt),X(De,De,Rt),F(Rt,Je,Vt),X(Je,Je,Vt),he(Vt,br),he(Rr,De),Ae(De,Rt,De),Ae(Rt,Je,br),F(br,De,Rt),X(De,De,Rt),he(Je,De),X(Rt,Vt,Rr),Ae(De,Rt,g),F(De,De,Vt),Ae(Rt,Rt,De),Ae(De,Vt,Rr),Ae(Vt,Je,je),he(Je,br),x(De,Je,be),x(Rt,Vt,be);for(qe=0;qe<16;qe++)je[qe+16]=De[qe],je[qe+32]=Rt[qe],je[qe+48]=Je[qe],je[qe+64]=Vt[qe];var Dr=je.subarray(32),Pr=je.subarray(16);return $e(Dr,Dr),Ae(Pr,Pr,Dr),R(ht,Pr),0}function Se(ht,Xe){return Re(ht,Xe,n)}function ct(ht,Xe){return r(Xe,32),Se(ht,Xe)}function ze(ht,Xe,et){var ue=new Uint8Array(32);return Re(ue,et,Xe),ce(ht,i,ue,le)}var te=A,Ue=m;function oe(ht,Xe,et,ue,je,be){var qe=new Uint8Array(32);return ze(qe,je,be),te(ht,Xe,et,ue,qe)}function ge(ht,Xe,et,ue,je,be){var qe=new Uint8Array(32);return ze(qe,je,be),Ue(ht,Xe,et,ue,qe)}var Le=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function V(ht,Xe,et,ue){for(var je=new Int32Array(16),be=new Int32Array(16),qe,De,Je,Rt,Vt,br,Rr,Dr,Pr,k,a,S,sn,Lr,Wr,ln,yt,ot,lt,gt,Ie,Zt,Ir,$,Qr,en,xr=ht[0],Mi=ht[1],oo=ht[2],ho=ht[3],Tr=ht[4],jo=ht[5],ka=ht[6],wo=ht[7],Fo=Xe[0],Ar=Xe[1],Pa=Xe[2],Hu=Xe[3],vs=Xe[4],Iu=Xe[5],Cu=Xe[6],wu=Xe[7],l0=0;ue>=128;){for(lt=0;lt<16;lt++)gt=8*lt+l0,je[lt]=et[gt+0]<<24|et[gt+1]<<16|et[gt+2]<<8|et[gt+3],be[lt]=et[gt+4]<<24|et[gt+5]<<16|et[gt+6]<<8|et[gt+7];for(lt=0;lt<80;lt++)if(qe=xr,De=Mi,Je=oo,Rt=ho,Vt=Tr,br=jo,Rr=ka,Dr=wo,Pr=Fo,k=Ar,a=Pa,S=Hu,sn=vs,Lr=Iu,Wr=Cu,ln=wu,Ie=wo,Zt=wu,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=(Tr>>>14|vs<<18)^(Tr>>>18|vs<<14)^(vs>>>9|Tr<<23),Zt=(vs>>>14|Tr<<18)^(vs>>>18|Tr<<14)^(Tr>>>9|vs<<23),Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,Ie=Tr&jo^~Tr&ka,Zt=vs&Iu^~vs&Cu,Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,Ie=Le[lt*2],Zt=Le[lt*2+1],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,Ie=je[lt%16],Zt=be[lt%16],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,yt=Qr&65535|en<<16,ot=Ir&65535|$<<16,Ie=yt,Zt=ot,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=(xr>>>28|Fo<<4)^(Fo>>>2|xr<<30)^(Fo>>>7|xr<<25),Zt=(Fo>>>28|xr<<4)^(xr>>>2|Fo<<30)^(xr>>>7|Fo<<25),Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,Ie=xr&Mi^xr&oo^Mi&oo,Zt=Fo&Ar^Fo&Pa^Ar&Pa,Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,Dr=Qr&65535|en<<16,ln=Ir&65535|$<<16,Ie=Rt,Zt=S,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=yt,Zt=ot,Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,Rt=Qr&65535|en<<16,S=Ir&65535|$<<16,Mi=qe,oo=De,ho=Je,Tr=Rt,jo=Vt,ka=br,wo=Rr,xr=Dr,Ar=Pr,Pa=k,Hu=a,vs=S,Iu=sn,Cu=Lr,wu=Wr,Fo=ln,lt%16===15)for(gt=0;gt<16;gt++)Ie=je[gt],Zt=be[gt],Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=je[(gt+9)%16],Zt=be[(gt+9)%16],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,yt=je[(gt+1)%16],ot=be[(gt+1)%16],Ie=(yt>>>1|ot<<31)^(yt>>>8|ot<<24)^yt>>>7,Zt=(ot>>>1|yt<<31)^(ot>>>8|yt<<24)^(ot>>>7|yt<<25),Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,yt=je[(gt+14)%16],ot=be[(gt+14)%16],Ie=(yt>>>19|ot<<13)^(ot>>>29|yt<<3)^yt>>>6,Zt=(ot>>>19|yt<<13)^(yt>>>29|ot<<3)^(ot>>>6|yt<<26),Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,je[gt]=Qr&65535|en<<16,be[gt]=Ir&65535|$<<16;Ie=xr,Zt=Fo,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[0],Zt=Xe[0],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[0]=xr=Qr&65535|en<<16,Xe[0]=Fo=Ir&65535|$<<16,Ie=Mi,Zt=Ar,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[1],Zt=Xe[1],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[1]=Mi=Qr&65535|en<<16,Xe[1]=Ar=Ir&65535|$<<16,Ie=oo,Zt=Pa,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[2],Zt=Xe[2],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[2]=oo=Qr&65535|en<<16,Xe[2]=Pa=Ir&65535|$<<16,Ie=ho,Zt=Hu,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[3],Zt=Xe[3],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[3]=ho=Qr&65535|en<<16,Xe[3]=Hu=Ir&65535|$<<16,Ie=Tr,Zt=vs,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[4],Zt=Xe[4],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[4]=Tr=Qr&65535|en<<16,Xe[4]=vs=Ir&65535|$<<16,Ie=jo,Zt=Iu,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[5],Zt=Xe[5],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[5]=jo=Qr&65535|en<<16,Xe[5]=Iu=Ir&65535|$<<16,Ie=ka,Zt=Cu,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[6],Zt=Xe[6],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[6]=ka=Qr&65535|en<<16,Xe[6]=Cu=Ir&65535|$<<16,Ie=wo,Zt=wu,Ir=Zt&65535,$=Zt>>>16,Qr=Ie&65535,en=Ie>>>16,Ie=ht[7],Zt=Xe[7],Ir+=Zt&65535,$+=Zt>>>16,Qr+=Ie&65535,en+=Ie>>>16,$+=Ir>>>16,Qr+=$>>>16,en+=Qr>>>16,ht[7]=wo=Qr&65535|en<<16,Xe[7]=wu=Ir&65535|$<<16,l0+=128,ue-=128}return ue}function Qe(ht,Xe,et){var ue=new Int32Array(8),je=new Int32Array(8),be=new Uint8Array(256),qe,De=et;for(ue[0]=1779033703,ue[1]=3144134277,ue[2]=1013904242,ue[3]=2773480762,ue[4]=1359893119,ue[5]=2600822924,ue[6]=528734635,ue[7]=1541459225,je[0]=4089235720,je[1]=2227873595,je[2]=4271175723,je[3]=1595750129,je[4]=2917565137,je[5]=725511199,je[6]=4215389547,je[7]=327033209,V(ue,je,Xe,et),et%=128,qe=0;qe<et;qe++)be[qe]=Xe[De-et+qe];for(be[et]=128,et=256-128*(et<112?1:0),be[et-9]=0,M(be,et-8,De/536870912|0,De<<3),V(ue,je,be,et),qe=0;qe<8;qe++)M(ht,8*qe,ue[qe],je[qe]);return 0}function _t(ht,Xe){var et=t(),ue=t(),je=t(),be=t(),qe=t(),De=t(),Je=t(),Rt=t(),Vt=t();X(et,ht[1],ht[0]),X(Vt,Xe[1],Xe[0]),Ae(et,et,Vt),F(ue,ht[0],ht[1]),F(Vt,Xe[0],Xe[1]),Ae(ue,ue,Vt),Ae(je,ht[3],Xe[3]),Ae(je,je,_),Ae(be,ht[2],Xe[2]),F(be,be,be),X(qe,ue,et),X(De,be,je),F(Je,be,je),F(Rt,ue,et),Ae(ht[0],qe,De),Ae(ht[1],Rt,Je),Ae(ht[2],Je,De),Ae(ht[3],qe,Rt)}function rt(ht,Xe,et){var ue;for(ue=0;ue<4;ue++)x(ht[ue],Xe[ue],et)}function At(ht,Xe){var et=t(),ue=t(),je=t();$e(je,Xe[2]),Ae(et,Xe[0],je),Ae(ue,Xe[1],je),R(ht,ue),ht[31]^=C(et)<<7}function Er(ht,Xe,et){var ue,je;for(E(ht[0],o),E(ht[1],d),E(ht[2],d),E(ht[3],o),je=255;je>=0;--je)ue=et[je/8|0]>>(je&7)&1,rt(ht,Xe,ue),_t(Xe,ht),_t(ht,ht),rt(ht,Xe,ue)}function mt(ht,Xe){var et=[t(),t(),t(),t()];E(et[0],I),E(et[1],N),E(et[2],d),Ae(et[3],I,N),Er(ht,et,Xe)}function Ht(ht,Xe,et){var ue=new Uint8Array(64),je=[t(),t(),t(),t()],be;for(et||r(Xe,32),Qe(ue,Xe,32),ue[0]&=248,ue[31]&=127,ue[31]|=64,mt(je,ue),At(ht,je),be=0;be<32;be++)Xe[be+32]=ht[be];return 0}var zr=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ve(ht,Xe){var et,ue,je,be;for(ue=63;ue>=32;--ue){for(et=0,je=ue-32,be=ue-12;je<be;++je)Xe[je]+=et-16*Xe[ue]*zr[je-(ue-32)],et=Math.floor((Xe[je]+128)/256),Xe[je]-=et*256;Xe[je]+=et,Xe[ue]=0}for(et=0,je=0;je<32;je++)Xe[je]+=et-(Xe[31]>>4)*zr[je],et=Xe[je]>>8,Xe[je]&=255;for(je=0;je<32;je++)Xe[je]-=et*zr[je];for(ue=0;ue<32;ue++)Xe[ue+1]+=Xe[ue]>>8,ht[ue]=Xe[ue]&255}function ie(ht){var Xe=new Float64Array(64),et;for(et=0;et<64;et++)Xe[et]=ht[et];for(et=0;et<64;et++)ht[et]=0;ve(ht,Xe)}function _e(ht,Xe,et,ue){var je=new Uint8Array(64),be=new Uint8Array(64),qe=new Uint8Array(64),De,Je,Rt=new Float64Array(64),Vt=[t(),t(),t(),t()];Qe(je,ue,32),je[0]&=248,je[31]&=127,je[31]|=64;var br=et+64;for(De=0;De<et;De++)ht[64+De]=Xe[De];for(De=0;De<32;De++)ht[32+De]=je[32+De];for(Qe(qe,ht.subarray(32),et+32),ie(qe),mt(Vt,qe),At(ht,Vt),De=32;De<64;De++)ht[De]=ue[De];for(Qe(be,ht,et+64),ie(be),De=0;De<64;De++)Rt[De]=0;for(De=0;De<32;De++)Rt[De]=qe[De];for(De=0;De<32;De++)for(Je=0;Je<32;Je++)Rt[De+Je]+=be[De]*je[Je];return ve(ht.subarray(32),Rt),br}function Be(ht,Xe){var et=t(),ue=t(),je=t(),be=t(),qe=t(),De=t(),Je=t();return E(ht[2],d),U(ht[1],Xe),he(je,ht[1]),Ae(be,je,y),X(je,je,ht[2]),F(be,ht[2],be),he(qe,be),he(De,qe),Ae(Je,De,qe),Ae(et,Je,je),Ae(et,et,be),Ge(et,et),Ae(et,et,je),Ae(et,et,be),Ae(et,et,be),Ae(ht[0],et,be),he(ue,ht[0]),Ae(ue,ue,be),u(ue,je)&&Ae(ht[0],ht[0],T),he(ue,ht[0]),Ae(ue,ue,be),u(ue,je)?-1:(C(ht[0])===Xe[31]>>7&&X(ht[0],o,ht[0]),Ae(ht[3],ht[0],ht[1]),0)}function Ze(ht,Xe,et,ue){var je,be=new Uint8Array(32),qe=new Uint8Array(64),De=[t(),t(),t(),t()],Je=[t(),t(),t(),t()];if(et<64||Be(Je,ue))return-1;for(je=0;je<et;je++)ht[je]=Xe[je];for(je=0;je<32;je++)ht[je+32]=ue[je];if(Qe(qe,ht,et),ie(qe),Er(De,Je,qe),mt(Je,Xe.subarray(32)),_t(De,Je),At(be,De),et-=64,G(Xe,0,be,0)){for(je=0;je<et;je++)ht[je]=0;return-1}for(je=0;je<et;je++)ht[je]=Xe[je+64];return et}var $t=32,at=24,zt=32,Hr=16,St=32,Yt=32,qr=32,tr=32,hr=32,Cn=at,er=zt,pr=Hr,mn=64,Xt=32,dr=64,wn=32,Qt=64;e.lowlevel={crypto_core_hsalsa20:ce,crypto_stream_xor:se,crypto_stream:W,crypto_stream_salsa20_xor:pe,crypto_stream_salsa20:ae,crypto_onetimeauth:s,crypto_onetimeauth_verify:l,crypto_verify_16:P,crypto_verify_32:G,crypto_secretbox:A,crypto_secretbox_open:m,crypto_scalarmult:Re,crypto_scalarmult_base:Se,crypto_box_beforenm:ze,crypto_box_afternm:te,crypto_box:oe,crypto_box_open:ge,crypto_box_keypair:ct,crypto_hash:Qe,crypto_sign:_e,crypto_sign_keypair:Ht,crypto_sign_open:Ze,crypto_secretbox_KEYBYTES:$t,crypto_secretbox_NONCEBYTES:at,crypto_secretbox_ZEROBYTES:zt,crypto_secretbox_BOXZEROBYTES:Hr,crypto_scalarmult_BYTES:St,crypto_scalarmult_SCALARBYTES:Yt,crypto_box_PUBLICKEYBYTES:qr,crypto_box_SECRETKEYBYTES:tr,crypto_box_BEFORENMBYTES:hr,crypto_box_NONCEBYTES:Cn,crypto_box_ZEROBYTES:er,crypto_box_BOXZEROBYTES:pr,crypto_sign_BYTES:mn,crypto_sign_PUBLICKEYBYTES:Xt,crypto_sign_SECRETKEYBYTES:dr,crypto_sign_SEEDBYTES:wn,crypto_hash_BYTES:Qt,gf:t,D:y,L:zr,pack25519:R,unpack25519:U,M:Ae,A:F,S:he,Z:X,pow2523:Ge,add:_t,set25519:E,modL:ve,scalarmult:Er,scalarbase:mt};function fr(ht,Xe){if(ht.length!==$t)throw new Error("bad key size");if(Xe.length!==at)throw new Error("bad nonce size")}function In(ht,Xe){if(ht.length!==qr)throw new Error("bad public key size");if(Xe.length!==tr)throw new Error("bad secret key size")}function jt(){for(var ht=0;ht<arguments.length;ht++)if(!(arguments[ht]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function ar(ht){for(var Xe=0;Xe<ht.length;Xe++)ht[Xe]=0}e.randomBytes=function(ht){var Xe=new Uint8Array(ht);return r(Xe,ht),Xe},e.secretbox=function(ht,Xe,et){jt(ht,Xe,et),fr(et,Xe);for(var ue=new Uint8Array(zt+ht.length),je=new Uint8Array(ue.length),be=0;be<ht.length;be++)ue[be+zt]=ht[be];return A(je,ue,ue.length,Xe,et),je.subarray(Hr)},e.secretbox.open=function(ht,Xe,et){jt(ht,Xe,et),fr(et,Xe);for(var ue=new Uint8Array(Hr+ht.length),je=new Uint8Array(ue.length),be=0;be<ht.length;be++)ue[be+Hr]=ht[be];return ue.length<32||m(je,ue,ue.length,Xe,et)!==0?null:je.subarray(zt)},e.secretbox.keyLength=$t,e.secretbox.nonceLength=at,e.secretbox.overheadLength=Hr,e.scalarMult=function(ht,Xe){if(jt(ht,Xe),ht.length!==Yt)throw new Error("bad n size");if(Xe.length!==St)throw new Error("bad p size");var et=new Uint8Array(St);return Re(et,ht,Xe),et},e.scalarMult.base=function(ht){if(jt(ht),ht.length!==Yt)throw new Error("bad n size");var Xe=new Uint8Array(St);return Se(Xe,ht),Xe},e.scalarMult.scalarLength=Yt,e.scalarMult.groupElementLength=St,e.box=function(ht,Xe,et,ue){var je=e.box.before(et,ue);return e.secretbox(ht,Xe,je)},e.box.before=function(ht,Xe){jt(ht,Xe),In(ht,Xe);var et=new Uint8Array(hr);return ze(et,ht,Xe),et},e.box.after=e.secretbox,e.box.open=function(ht,Xe,et,ue){var je=e.box.before(et,ue);return e.secretbox.open(ht,Xe,je)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var ht=new Uint8Array(qr),Xe=new Uint8Array(tr);return ct(ht,Xe),{publicKey:ht,secretKey:Xe}},e.box.keyPair.fromSecretKey=function(ht){if(jt(ht),ht.length!==tr)throw new Error("bad secret key size");var Xe=new Uint8Array(qr);return Se(Xe,ht),{publicKey:Xe,secretKey:new Uint8Array(ht)}},e.box.publicKeyLength=qr,e.box.secretKeyLength=tr,e.box.sharedKeyLength=hr,e.box.nonceLength=Cn,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(ht,Xe){if(jt(ht,Xe),Xe.length!==dr)throw new Error("bad secret key size");var et=new Uint8Array(mn+ht.length);return _e(et,ht,ht.length,Xe),et},e.sign.open=function(ht,Xe){if(jt(ht,Xe),Xe.length!==Xt)throw new Error("bad public key size");var et=new Uint8Array(ht.length),ue=Ze(et,ht,ht.length,Xe);if(ue<0)return null;for(var je=new Uint8Array(ue),be=0;be<je.length;be++)je[be]=et[be];return je},e.sign.detached=function(ht,Xe){for(var et=e.sign(ht,Xe),ue=new Uint8Array(mn),je=0;je<ue.length;je++)ue[je]=et[je];return ue},e.sign.detached.verify=function(ht,Xe,et){if(jt(ht,Xe,et),Xe.length!==mn)throw new Error("bad signature size");if(et.length!==Xt)throw new Error("bad public key size");var ue=new Uint8Array(mn+ht.length),je=new Uint8Array(mn+ht.length),be;for(be=0;be<mn;be++)ue[be]=Xe[be];for(be=0;be<ht.length;be++)ue[be+mn]=ht[be];return Ze(je,ue,ue.length,et)>=0},e.sign.keyPair=function(){var ht=new Uint8Array(Xt),Xe=new Uint8Array(dr);return Ht(ht,Xe),{publicKey:ht,secretKey:Xe}},e.sign.keyPair.fromSecretKey=function(ht){if(jt(ht),ht.length!==dr)throw new Error("bad secret key size");for(var Xe=new Uint8Array(Xt),et=0;et<Xe.length;et++)Xe[et]=ht[32+et];return{publicKey:Xe,secretKey:new Uint8Array(ht)}},e.sign.keyPair.fromSeed=function(ht){if(jt(ht),ht.length!==wn)throw new Error("bad seed size");for(var Xe=new Uint8Array(Xt),et=new Uint8Array(dr),ue=0;ue<32;ue++)et[ue]=ht[ue];return Ht(Xe,et,!0),{publicKey:Xe,secretKey:et}},e.sign.publicKeyLength=Xt,e.sign.secretKeyLength=dr,e.sign.seedLength=wn,e.sign.signatureLength=mn,e.hash=function(ht){jt(ht);var Xe=new Uint8Array(Qt);return Qe(Xe,ht,ht.length),Xe},e.hash.hashLength=Qt,e.verify=function(ht,Xe){return jt(ht,Xe),ht.length===0||Xe.length===0||ht.length!==Xe.length?!1:D(ht,0,Xe,0,ht.length)===0},e.setPRNG=function(ht){r=ht},(function(){var ht=typeof self<"u"?self.crypto||self.msCrypto:null;if(ht&&ht.getRandomValues){var Xe=65536;e.setPRNG(function(et,ue){var je,be=new Uint8Array(ue);for(je=0;je<ue;je+=Xe)ht.getRandomValues(be.subarray(je,je+Math.min(ue-je,Xe)));for(je=0;je<ue;je++)et[je]=be[je];ar(be)})}else typeof Av<"u"&&(ht=(IA(),Zu(Lv)),ht&&ht.randomBytes&&e.setPRNG(function(et,ue){var je,be=ht.randomBytes(ue);for(je=0;je<ue;je++)et[je]=be[je];ar(be)}))})()})(typeof Tre<"u"&&Tre.exports?Tre.exports:self.nacl=self.nacl||{})});J();K();z();J();K();z();J();K();z();J();K();z();var hle={};gh(hle,{AVSCTap:()=>Qk,AlgorandSigner:()=>Bk,AptosSigner:()=>Mk,ArconnectSigner:()=>eC,Arweave:()=>qJe.default,ArweaveSigner:()=>nb,Bundle:()=>GJ,BundleItem:()=>lle,CryptoDriver:()=>OV,Curve25519:()=>H1,DataItem:()=>FJ,EthereumSigner:()=>m0,HexInjectedSolanaSigner:()=>Pm,HexSolanaSigner:()=>bb,InjectedAptosSigner:()=>X4,InjectedEthereumSigner:()=>Xv,InjectedSolanaSigner:()=>w4,InjectedTypedEthereumSigner:()=>cle,KyveSigner:()=>Pk,MAX_TAG_BYTES:()=>UJ,MIN_BINARY_SIZE:()=>QJ,MultiSignatureAptosSigner:()=>Z4,NearSigner:()=>Tk,PolygonSigner:()=>xk,Rsa4096:()=>I4,SIG_CONFIG:()=>ps,SignatureConfig:()=>ko,Signer:()=>nne,SolanaSigner:()=>Zv,Transaction:()=>GJe.default,TypedEthereumSigner:()=>j4,bundleAndSignData:()=>NDt,byteArrayToLong:()=>ld,concatBuffers:()=>js.concatBuffers,createData:()=>Gk,deepHash:()=>rb,deserializeTags:()=>CN,exportForTesting:()=>IDt,getCryptoDriver:()=>Od,getSignatureAndId:()=>nXe,indexToType:()=>Lk,keccak256:()=>ole,longTo16ByteArray:()=>wDt,longTo32ByteArray:()=>LJ,longTo8ByteArray:()=>PJ,longToNByteArray:()=>Fk,secp256k1:()=>W4,serializeTags:()=>dle,shortTo2ByteArray:()=>ule,sign:()=>HJ,stringToBuffer:()=>js.stringToBuffer,unbundleData:()=>ODt});J();K();z();J();K();z();J();K();z();var nne=class{publicKey;signatureType;signatureLength;ownerLength;pem;static verify(t,r,i,n){throw new Error("You must implement verify method on child")}};J();K();z();J();K();z();var rJe=po(Cg(),1);J();K();z();var ko;(function(e){e[e.ARWEAVE=1]="ARWEAVE",e[e.ED25519=2]="ED25519",e[e.ETHEREUM=3]="ETHEREUM",e[e.SOLANA=4]="SOLANA",e[e.INJECTEDAPTOS=5]="INJECTEDAPTOS",e[e.MULTIAPTOS=6]="MULTIAPTOS",e[e.TYPEDETHEREUM=7]="TYPEDETHEREUM",e[e.KYVE=101]="KYVE"})(ko||(ko={}));var ps={[ko.ARWEAVE]:{sigLength:512,pubLength:512,sigName:"arweave"},[ko.ED25519]:{sigLength:64,pubLength:32,sigName:"ed25519"},[ko.ETHEREUM]:{sigLength:65,pubLength:65,sigName:"ethereum"},[ko.SOLANA]:{sigLength:64,pubLength:32,sigName:"solana"},[ko.INJECTEDAPTOS]:{sigLength:64,pubLength:32,sigName:"injectedAptos"},[ko.MULTIAPTOS]:{sigLength:2052,pubLength:1025,sigName:"multiAptos"},[ko.TYPEDETHEREUM]:{sigLength:65,pubLength:42,sigName:"typedEthereum"},[ko.KYVE]:{sigLength:65,pubLength:65,sigName:"kyve"}};J();K();z();IA();var il=BigInt(0),Js=BigInt(1),O6=BigInt(2),iNt=BigInt(8),$Ve=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),ju=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:$Ve,n:$Ve,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var jVe=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),UD=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),aIn=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),oNt=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),aNt=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),sNt=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),cNt=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),kf=class e{constructor(t,r,i,n){this.x=t,this.y=r,this.z=i,this.t=n}static fromAffine(t){if(!(t instanceof wd))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(wd.ZERO)?e.ZERO:new e(t.x,t.y,Js,qn(t.x*t.y))}static toAffineBatch(t){let r=fNt(t.map(i=>i.z));return t.map((i,n)=>i.toAffine(r[n]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){WVe(t);let{x:r,y:i,z:n}=this,{x:o,y:d,z:g}=t,y=qn(r*g),_=qn(o*n),I=qn(i*g),N=qn(d*n);return y===_&&I===N}negate(){return new e(qn(-this.x),this.y,this.z,qn(-this.t))}double(){let{x:t,y:r,z:i}=this,{a:n}=ju,o=qn(t*t),d=qn(r*r),g=qn(O6*qn(i*i)),y=qn(n*o),_=t+r,I=qn(qn(_*_)-o-d),N=y+d,T=N-g,M=y-d,D=qn(I*T),P=qn(N*M),G=qn(I*M),q=qn(T*N);return new e(D,P,q,G)}add(t){WVe(t);let{x:r,y:i,z:n,t:o}=this,{x:d,y:g,z:y,t:_}=t,I=qn((i-r)*(g+d)),N=qn((i+r)*(g-d)),T=qn(N-I);if(T===il)return this.double();let M=qn(n*O6*_),D=qn(o*O6*y),P=D+M,G=N+I,q=D-M,Y=qn(P*T),ne=qn(G*q),ce=qn(P*q),le=qn(T*G);return new e(Y,ne,le,ce)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,i=[],n=this,o=n;for(let d=0;d<r;d++){o=n,i.push(o);for(let g=1;g<2**(t-1);g++)o=o.add(n),i.push(o);n=o.double()}return i}wNAF(t,r){!r&&this.equals(e.BASE)&&(r=wd.BASE);let i=r&&r._WINDOW_SIZE||1;if(256%i)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=r&&g0e.get(r);n||(n=this.precomputeWindow(i),r&&i!==1&&(n=e.normalizeZ(n),g0e.set(r,n)));let o=e.ZERO,d=e.BASE,g=1+256/i,y=2**(i-1),_=BigInt(2**i-1),I=2**i,N=BigInt(i);for(let T=0;T<g;T++){let M=T*y,D=Number(t&_);t>>=N,D>y&&(D-=I,t+=Js);let P=M,G=M+Math.abs(D)-1,q=T%2!==0,Y=D<0;D===0?d=d.add(YVe(q,n[P])):o=o.add(YVe(Y,n[G]))}return e.normalizeZ([o,d])[0]}multiply(t,r){return this.wNAF(pV(t,ju.l),r)}multiplyUnsafe(t){let r=pV(t,ju.l,!1),i=e.BASE,n=e.ZERO;if(r===il)return n;if(this.equals(n)||r===Js)return this;if(this.equals(i))return this.wNAF(r);let o=n,d=this;for(;r>il;)r&Js&&(o=o.add(d)),d=d.double(),r>>=Js;return o}isSmallOrder(){return this.multiplyUnsafe(ju.h).equals(e.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(ju.l/O6).double();return ju.l%O6&&(t=t.add(this)),t.equals(e.ZERO)}toAffine(t){let{x:r,y:i,z:n}=this,o=this.equals(e.ZERO);t==null&&(t=o?iNt:gV(n));let d=qn(r*t),g=qn(i*t),y=qn(n*t);if(o)return wd.ZERO;if(y!==Js)throw new Error("invZ was invalid");return new wd(d,g)}fromRistrettoBytes(){h0e()}toRistrettoBytes(){h0e()}fromRistrettoHash(){h0e()}};kf.BASE=new kf(ju.Gx,ju.Gy,Js,qn(ju.Gx*ju.Gy));kf.ZERO=new kf(il,Js,Js,il);function YVe(e,t){let r=t.negate();return e?r:t}function WVe(e){if(!(e instanceof kf))throw new TypeError("ExtendedPoint expected")}function l0e(e){if(!(e instanceof R4))throw new TypeError("RistrettoPoint expected")}function h0e(){throw new Error("Legacy method: switch to RistrettoPoint")}var R4=class e{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=ju,i=qn(UD*t*t),n=qn((i+Js)*sNt),o=BigInt(-1),d=qn((o-r*i)*qn(i+r)),{isValid:g,value:y}=m0e(n,d),_=qn(y*t);w6(_)||(_=qn(-_)),g||(y=_),g||(o=i);let I=qn(o*(i-Js)*cNt-d),N=y*y,T=qn((y+y)*d),M=qn(I*oNt),D=qn(Js-N),P=qn(Js+N);return new kf(qn(T*P),qn(D*M),qn(M*P),qn(T*D))}static hashToCurve(t){t=N6(t,64);let r=A0e(t.slice(0,32)),i=this.calcElligatorRistrettoMap(r),n=A0e(t.slice(32,64)),o=this.calcElligatorRistrettoMap(n);return new e(i.add(o))}static fromHex(t){t=N6(t,32);let{a:r,d:i}=ju,n="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=A0e(t);if(!hNt(QD(o),t)||w6(o))throw new Error(n);let d=qn(o*o),g=qn(Js+r*d),y=qn(Js-r*d),_=qn(g*g),I=qn(y*y),N=qn(r*i*_-I),{isValid:T,value:M}=ZVe(qn(N*I)),D=qn(M*y),P=qn(M*D*N),G=qn((o+o)*D);w6(G)&&(G=qn(-G));let q=qn(g*P),Y=qn(G*q);if(!T||w6(Y)||q===il)throw new Error(n);return new e(new kf(G,q,Js,Y))}toRawBytes(){let{x:t,y:r,z:i,t:n}=this.ep,o=qn(qn(i+r)*qn(i-r)),d=qn(t*r),g=qn(d*d),{value:y}=ZVe(qn(o*g)),_=qn(y*o),I=qn(y*d),N=qn(_*I*n),T;if(w6(n*N)){let D=qn(r*UD),P=qn(t*UD);t=D,r=P,T=qn(_*aNt)}else T=I;w6(t*N)&&(r=qn(-r));let M=qn((i-r)*T);return w6(M)&&(M=qn(-M)),QD(M)}toHex(){return HD(this.toRawBytes())}toString(){return this.toHex()}equals(t){l0e(t);let r=this.ep,i=t.ep,n=qn(r.x*i.y)===qn(r.y*i.x),o=qn(r.y*i.y)===qn(r.x*i.x);return n||o}add(t){return l0e(t),new e(this.ep.add(t.ep))}subtract(t){return l0e(t),new e(this.ep.subtract(t.ep))}multiply(t){return new e(this.ep.multiply(t))}multiplyUnsafe(t){return new e(this.ep.multiplyUnsafe(t))}};R4.BASE=new R4(kf.BASE);R4.ZERO=new R4(kf.ZERO);var g0e=new WeakMap,wd=class e{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,g0e.delete(this)}static fromHex(t,r=!0){let{d:i,P:n}=ju;t=N6(t,32);let o=t.slice();o[31]=t[31]&-129;let d=GD(o);if(r&&d>=n)throw new Error("Expected 0 < hex < P");if(!r&&d>=jVe)throw new Error("Expected 0 < hex < 2**256");let g=qn(d*d),y=qn(g-Js),_=qn(i*g+Js),{isValid:I,value:N}=m0e(y,_);if(!I)throw new Error("Point.fromHex: invalid y coordinate");let T=(N&Js)===Js;return(t[31]&128)!==0!==T&&(N=qn(-N)),new e(N,d)}static async fromPrivateKey(t){return(await y0e(t)).point}toRawBytes(){let t=QD(this.y);return t[31]|=this.x&Js?128:0,t}toHex(){return HD(this.toRawBytes())}toX25519(){let{y:t}=this,r=qn((Js+t)*gV(Js-t));return QD(r)}isTorsionFree(){return kf.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new e(qn(-this.x),this.y)}add(t){return kf.fromAffine(this).add(kf.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return kf.fromAffine(this).multiply(t,this).toAffine()}};wd.BASE=new wd(ju.Gx,ju.Gy);wd.ZERO=new wd(il,Js);var FD=class e{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=N6(t,64),i=wd.fromHex(r.slice(0,32),!1),n=GD(r.slice(32,64));return new e(i,n)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof wd))throw new Error("Expected Point instance");return pV(r,ju.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(QD(this.s),32),t}toHex(){return HD(this.toRawBytes())}};function XVe(...e){if(!e.every(i=>i instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((i,n)=>i+n.length,0),r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}var uNt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function HD(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=uNt[e[r]];return t}function _0e(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let i=r*2,n=e.slice(i,i+2),o=Number.parseInt(n,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function eJe(e){let r=e.toString(16).padStart(64,"0");return _0e(r)}function QD(e){return eJe(e).reverse()}function w6(e){return(qn(e)&Js)===Js}function GD(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+HD(Uint8Array.from(e).reverse()))}var dNt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function A0e(e){return qn(GD(e)&dNt)}function qn(e,t=ju.P){let r=e%t;return r>=il?r:t+r}function gV(e,t=ju.P){if(e===il||t<=il)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=qn(e,t),i=t,n=il,o=Js,d=Js,g=il;for(;r!==il;){let _=i/r,I=i%r,N=n-d*_,T=o-g*_;i=r,r=I,n=d,o=g,d=N,g=T}if(i!==Js)throw new Error("invert: does not exist");return qn(n,t)}function fNt(e,t=ju.P){let r=new Array(e.length),i=e.reduce((o,d,g)=>d===il?o:(r[g]=o,qn(o*d,t)),Js),n=gV(i,t);return e.reduceRight((o,d,g)=>d===il?o:(r[g]=qn(o*r[g],t),qn(o*d,t)),n),r}function eb(e,t){let{P:r}=ju,i=e;for(;t-- >il;)i*=i,i%=r;return i}function lNt(e){let{P:t}=ju,r=BigInt(5),i=BigInt(10),n=BigInt(20),o=BigInt(40),d=BigInt(80),y=e*e%t*e%t,_=eb(y,O6)*y%t,I=eb(_,Js)*e%t,N=eb(I,r)*I%t,T=eb(N,i)*N%t,M=eb(T,n)*T%t,D=eb(M,o)*M%t,P=eb(D,d)*D%t,G=eb(P,d)*D%t,q=eb(G,i)*N%t;return{pow_p_5_8:eb(q,O6)*e%t,b2:y}}function m0e(e,t){let r=qn(t*t*t),i=qn(r*r*t),n=lNt(e*i).pow_p_5_8,o=qn(e*r*n),d=qn(t*o*o),g=o,y=qn(o*UD),_=d===e,I=d===qn(-e),N=d===qn(-e*UD);return _&&(o=g),(I||N)&&(o=y),w6(o)&&(o=qn(-o)),{isValid:_||I,value:o}}function ZVe(e){return m0e(Js,e)}function AV(e){return qn(GD(e),ju.l)}function hNt(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function N6(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):_0e(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function pV(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(il<e)return e}else if(il<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function ANt(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function pNt(e){if(e=typeof e=="bigint"||typeof e=="number"?eJe(pV(e,jVe)):N6(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function gNt(e){let t=ANt(e.slice(0,32)),r=e.slice(32,64),i=AV(t),n=wd.BASE.multiply(i),o=n.toRawBytes();return{head:t,prefix:r,scalar:i,point:n,pointBytes:o}}var p0e;async function y0e(e){return gNt(await QO.sha512(pNt(e)))}async function tJe(e,t){e=N6(e);let{prefix:r,scalar:i,pointBytes:n}=await y0e(t),o=AV(await QO.sha512(r,e)),d=wd.BASE.multiply(o),g=AV(await QO.sha512(d.toRawBytes(),n,e)),y=qn(o+g*i,ju.l);return new FD(d,y).toRawBytes()}function _Nt(e,t,r){t=N6(t),r instanceof wd||(r=wd.fromHex(r,!1));let{r:i,s:n}=e instanceof FD?e.assertValidity():FD.fromHex(e),o=kf.BASE.multiplyUnsafe(n);return{r:i,s:n,SB:o,pub:r,msg:t}}function mNt(e,t,r,i){let n=AV(i),o=kf.fromAffine(e).multiplyUnsafe(n);return kf.fromAffine(t).add(o).subtract(r).multiplyUnsafe(ju.h).equals(kf.ZERO)}async function x6(e,t,r){let{r:i,SB:n,msg:o,pub:d}=_Nt(e,t,r),g=await QO.sha512(i.toRawBytes(),d.toRawBytes(),o);return mNt(d,i,n,g)}wd.BASE._setWindowSize(8);var C6={node:Lv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},QO={bytesToHex:HD,hexToBytes:_0e,concatBytes:XVe,getExtendedPublicKey:y0e,mod:qn,invert:gV,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=N6(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return qn(GD(e),ju.l-Js)+Js},randomBytes:(e=32)=>{if(C6.web)return C6.web.getRandomValues(new Uint8Array(e));if(C6.node){let{randomBytes:t}=C6.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>QO.randomBytes(32),sha512:async(...e)=>{let t=XVe(...e);if(C6.web){let r=await C6.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(C6.node)return Uint8Array.from(C6.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=wd.BASE){let r=t.equals(wd.BASE)?t:new wd(t.x,t.y);return r._setWindowSize(e),r.multiply(O6),r},sha512Sync:void 0};Object.defineProperties(QO,{sha512Sync:{configurable:!1,get(){return p0e},set(e){p0e||(p0e=e)}}});var H1=class{_key;pk;ownerLength=ps[2].pubLength;signatureLength=ps[2].sigLength;_publicKey;get publicKey(){return this._publicKey}signatureType=2;constructor(t,r){this._key=t,this.pk=r}get key(){throw new Error("You must implement `key`")}sign(t){return tJe(fe.from(t),fe.from(this.key))}static async verify(t,r,i){let n=t;return typeof t=="string"&&(n=rJe.default.toBuffer(t)),x6(fe.from(i),fe.from(r),fe.from(n))}};J();K();z();J();K();z();J();K();z();J();K();z();var js=po(Rm(),1);J();K();z();IA();async function rb(e){if(typeof e[Symbol.asyncIterator]=="function"){let n=e,o=vm("sha384"),d=0;for await(let _ of n)d+=_.byteLength,o.update(_);let g=(0,js.concatBuffers)([(0,js.stringToBuffer)("blob"),(0,js.stringToBuffer)(d.toString())]),y=(0,js.concatBuffers)([await Od().hash(g,"SHA-384"),o.digest()]);return await Od().hash(y,"SHA-384")}else if(Array.isArray(e)){let n=(0,js.concatBuffers)([(0,js.stringToBuffer)("list"),(0,js.stringToBuffer)(e.length.toString())]);return await hJe(e,await Od().hash(n,"SHA-384"))}let t=e,r=(0,js.concatBuffers)([(0,js.stringToBuffer)("blob"),(0,js.stringToBuffer)(t.byteLength.toString())]),i=(0,js.concatBuffers)([await Od().hash(r,"SHA-384"),await Od().hash(t,"SHA-384")]);return await Od().hash(i,"SHA-384")}async function hJe(e,t){if(e.length<1)return t;let r=(0,js.concatBuffers)([t,await rb(e[0])]),i=await Od().hash(r,"SHA-384");return await hJe(e.slice(1),i)}var wV=po(R0e(),1),GJe=po(YD(),1),qJe=po(ede(),1),ixt=wV.default.default?wV.default.default:wV.default,OV=class extends ixt{getPublicKey(t){throw new Error("Unimplemented")}},oxt;function Od(){return oxt??=new OV}var VJe=po(Cg(),1);IA();var I4=class{_key;pk;signatureType=1;ownerLength=ps[1].pubLength;signatureLength=ps[1].sigLength;_publicKey;get publicKey(){return this._publicKey}constructor(t,r){this._key=t,this.pk=r,r||(this.pk=Od().getPublicKey(JSON.parse(t)))}sign(t){return d0e("sha256").update(t).sign({key:this._key,padding:u0e.RSA_PKCS1_PSS_PADDING})}static async verify(t,r,i){return await Od().verify(fe.isBuffer(t)?VJe.default.encode(t):t,r,i)}};var Mze=po(Bze(),1),Dze=po(Cg(),1);var nb=class extends I4{jwk;constructor(t){super((0,Mze.jwkTopem)(t),t.n),this.jwk=t}get publicKey(){if(!this.pk)throw new Error("ArweaveSigner - pk is undefined");return Dze.default.toBuffer(this.pk)}sign(t){return Od().sign(this.jwk,t)}static async verify(t,r,i){return await Od().verify(t,r,i)}};J();K();z();var kze=po(Cg(),1);var w4=class{_publicKey;ownerLength=ps[2].pubLength;signatureLength=ps[2].sigLength;signatureType=2;pem;provider;constructor(t){if(this.provider=t,!this.provider.publicKey)throw new Error("InjectedSolanaSigner - provider.publicKey is undefined");this._publicKey=this.provider.publicKey.toBuffer()}get publicKey(){return this._publicKey}async sign(t){if(!this.provider.signMessage)throw new Error("Selected Wallet does not support message signing");return await this.provider.signMessage(t)}static async verify(t,r,i){let n=t;return typeof t=="string"&&(n=kze.default.toBuffer(t)),x6(fe.from(i),fe.from(r),fe.from(n))}};J();K();z();J();K();z();J();K();z();J();K();z();var zze=po(Pze());J();K();z();J();K();z();J();K();z();var Lze="logger/5.7.0";var Uze=!1,Fze=!1,LV={debug:1,default:2,info:2,warning:3,error:4,off:5},Qze=LV.default,_de=null;function Fxt(){try{let e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if("\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken implementation")}catch(e){return e.message}return null}var Hze=Fxt(),mde;(function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"})(mde||(mde={}));var Im;(function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"})(Im||(Im={}));var Gze="0123456789abcdef",go=class e{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,r){let i=t.toLowerCase();LV[i]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(Qze>LV[i])&&console.log.apply(console,r)}debug(...t){this._log(e.levels.DEBUG,t)}info(...t){this._log(e.levels.INFO,t)}warn(...t){this._log(e.levels.WARNING,t)}makeError(t,r,i){if(Fze)return this.makeError("censored error",r,{});r||(r=e.errors.UNKNOWN_ERROR),i||(i={});let n=[];Object.keys(i).forEach(y=>{let _=i[y];try{if(_ instanceof Uint8Array){let I="";for(let N=0;N<_.length;N++)I+=Gze[_[N]>>4],I+=Gze[_[N]&15];n.push(y+"=Uint8Array(0x"+I+")")}else n.push(y+"="+JSON.stringify(_))}catch{n.push(y+"="+JSON.stringify(i[y].toString()))}}),n.push(`code=${r}`),n.push(`version=${this.version}`);let o=t,d="";switch(r){case Im.NUMERIC_FAULT:{d="NUMERIC_FAULT";let y=t;switch(y){case"overflow":case"underflow":case"division-by-zero":d+="-"+y;break;case"negative-power":case"negative-width":d+="-unsupported";break;case"unbound-bitwise-result":d+="-unbound-result";break}break}case Im.CALL_EXCEPTION:case Im.INSUFFICIENT_FUNDS:case Im.MISSING_NEW:case Im.NONCE_EXPIRED:case Im.REPLACEMENT_UNDERPRICED:case Im.TRANSACTION_REPLACED:case Im.UNPREDICTABLE_GAS_LIMIT:d=r;break}d&&(t+=" [ See: https://links.ethers.org/v5-errors-"+d+" ]"),n.length&&(t+=" ("+n.join(", ")+")");let g=new Error(t);return g.reason=o,g.code=r,Object.keys(i).forEach(function(y){g[y]=i[y]}),g}throwError(t,r,i){throw this.makeError(t,r,i)}throwArgumentError(t,r,i){return this.throwError(t,e.errors.INVALID_ARGUMENT,{argument:r,value:i})}assert(t,r,i,n){t||this.throwError(r,i,n)}assertArgument(t,r,i,n){t||this.throwArgumentError(r,i,n)}checkNormalize(t){t==null&&(t="platform missing String.prototype.normalize"),Hze&&this.throwError("platform missing String.prototype.normalize",e.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Hze})}checkSafeUint53(t,r){typeof t=="number"&&(r==null&&(r="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,r,i){i?i=": "+i:i="",t<r&&this.throwError("missing argument"+i,e.errors.MISSING_ARGUMENT,{count:t,expectedCount:r}),t>r&&this.throwError("too many arguments"+i,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})}checkNew(t,r){(t===Object||t==null)&&this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}checkAbstract(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return _de||(_de=new e(Lze)),_de}static setCensorship(t,r){if(!t&&r&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Uze){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Fze=!!t,Uze=!!r}static setLogLevel(t){let r=LV[t.toLowerCase()];if(r==null){e.globalLogger().warn("invalid log level - "+t);return}Qze=r}static from(t){return new e(t)}};go.errors=Im;go.levels=mde;J();K();z();var qze="bytes/5.7.0";var Nd=new go(qze);function Jze(e){return!!e.toHexString}function XO(e){return e.slice||(e.slice=function(){let t=Array.prototype.slice.call(arguments);return XO(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function tk(e){return Lf(e)&&!(e.length%2)||rk(e)}function Vze(e){return typeof e=="number"&&e==e&&e%1===0}function rk(e){if(e==null)return!1;if(e.constructor===Uint8Array)return!0;if(typeof e=="string"||!Vze(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){let r=e[t];if(!Vze(r)||r<0||r>=256)return!1}return!0}function ii(e,t){if(t||(t={}),typeof e=="number"){Nd.checkSafeUint53(e,"invalid arrayify value");let r=[];for(;e;)r.unshift(e&255),e=parseInt(String(e/256));return r.length===0&&r.push(0),XO(new Uint8Array(r))}if(t.allowMissingPrefix&&typeof e=="string"&&e.substring(0,2)!=="0x"&&(e="0x"+e),Jze(e)&&(e=e.toHexString()),Lf(e)){let r=e.substring(2);r.length%2&&(t.hexPad==="left"?r="0"+r:t.hexPad==="right"?r+="0":Nd.throwArgumentError("hex data is odd-length","value",e));let i=[];for(let n=0;n<r.length;n+=2)i.push(parseInt(r.substring(n,n+2),16));return XO(new Uint8Array(i))}return rk(e)?XO(new Uint8Array(e)):Nd.throwArgumentError("invalid arrayify value","value",e)}function V1(e){let t=e.map(n=>ii(n)),r=t.reduce((n,o)=>n+o.length,0),i=new Uint8Array(r);return t.reduce((n,o)=>(i.set(o,n),n+o.length),0),XO(i)}function ib(e){let t=ii(e);if(t.length===0)return t;let r=0;for(;r<t.length&&t[r]===0;)r++;return r&&(t=t.slice(r)),t}function Qxt(e,t){e=ii(e),e.length>t&&Nd.throwArgumentError("value out of range","value",arguments[0]);let r=new Uint8Array(t);return r.set(e,t-e.length),XO(r)}function Lf(e,t){return!(typeof e!="string"||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}var yde="0123456789abcdef";function So(e,t){if(t||(t={}),typeof e=="number"){Nd.checkSafeUint53(e,"invalid hexlify value");let r="";for(;e;)r=yde[e&15]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof e=="bigint")return e=e.toString(16),e.length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&typeof e=="string"&&e.substring(0,2)!=="0x"&&(e="0x"+e),Jze(e))return e.toHexString();if(Lf(e))return e.length%2&&(t.hexPad==="left"?e="0x0"+e.substring(2):t.hexPad==="right"?e+="0":Nd.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(rk(e)){let r="0x";for(let i=0;i<e.length;i++){let n=e[i];r+=yde[(n&240)>>4]+yde[n&15]}return r}return Nd.throwArgumentError("invalid hexlify value","value",e)}function nk(e){if(typeof e!="string")e=So(e);else if(!Lf(e)||e.length%2)return null;return(e.length-2)/2}function Gv(e,t,r){return typeof e!="string"?e=So(e):(!Lf(e)||e.length%2)&&Nd.throwArgumentError("invalid hexData","value",e),t=2+2*t,r!=null?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)}function k6(e){let t="0x";return e.forEach(r=>{t+=So(r).substring(2)}),t}function xh(e,t){for(typeof e!="string"?e=So(e):Lf(e)||Nd.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&Nd.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function P6(e){let t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(tk(e)){let r=ii(e);r.length===64?(t.v=27+(r[32]>>7),r[32]&=127,t.r=So(r.slice(0,32)),t.s=So(r.slice(32,64))):r.length===65?(t.r=So(r.slice(0,32)),t.s=So(r.slice(32,64)),t.v=r[64]):Nd.throwArgumentError("invalid signature string","signature",e),t.v<27&&(t.v===0||t.v===1?t.v+=27:Nd.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=So(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,t._vs!=null){let n=Qxt(ii(t._vs),32);t._vs=So(n);let o=n[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=o:t.recoveryParam!==o&&Nd.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),n[0]&=127;let d=So(n);t.s==null?t.s=d:t.s!==d&&Nd.throwArgumentError("signature v mismatch _vs","signature",e)}if(t.recoveryParam==null)t.v==null?Nd.throwArgumentError("signature missing v and recoveryParam","signature",e):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{let n=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==n&&Nd.throwArgumentError("signature recoveryParam mismatch v","signature",e)}t.r==null||!Lf(t.r)?Nd.throwArgumentError("signature missing or invalid r","signature",e):t.r=xh(t.r,32),t.s==null||!Lf(t.s)?Nd.throwArgumentError("signature missing or invalid s","signature",e):t.s=xh(t.s,32);let r=ii(t.s);r[0]>=128&&Nd.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(r[0]|=128);let i=So(r);t._vs&&(Lf(t._vs)||Nd.throwArgumentError("signature invalid _vs","signature",e),t._vs=xh(t._vs,32)),t._vs==null?t._vs=i:t._vs!==i&&Nd.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function bde(e){return e=P6(e),So(V1([e.r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}function H0(e){return"0x"+zze.default.keccak_256(ii(e))}J();K();z();J();K();z();J();K();z();var Xze=po(qv());J();K();z();var $ze="bignumber/5.7.0";var UV=Xze.default.BN,Vv=new go($ze),vde={},Yze=9007199254740991;var Wze=!1,G0=class e{constructor(t,r){t!==vde&&Vv.throwError("cannot call constructor directly; use BigNumber.from",go.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return Op(Is(this).fromTwos(t))}toTwos(t){return Op(Is(this).toTwos(t))}abs(){return this._hex[0]==="-"?e.from(this._hex.substring(1)):this}add(t){return Op(Is(this).add(Is(t)))}sub(t){return Op(Is(this).sub(Is(t)))}div(t){return e.from(t).isZero()&&r_("division-by-zero","div"),Op(Is(this).div(Is(t)))}mul(t){return Op(Is(this).mul(Is(t)))}mod(t){let r=Is(t);return r.isNeg()&&r_("division-by-zero","mod"),Op(Is(this).umod(r))}pow(t){let r=Is(t);return r.isNeg()&&r_("negative-power","pow"),Op(Is(this).pow(r))}and(t){let r=Is(t);return(this.isNegative()||r.isNeg())&&r_("unbound-bitwise-result","and"),Op(Is(this).and(r))}or(t){let r=Is(t);return(this.isNegative()||r.isNeg())&&r_("unbound-bitwise-result","or"),Op(Is(this).or(r))}xor(t){let r=Is(t);return(this.isNegative()||r.isNeg())&&r_("unbound-bitwise-result","xor"),Op(Is(this).xor(r))}mask(t){return(this.isNegative()||t<0)&&r_("negative-width","mask"),Op(Is(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&r_("negative-width","shl"),Op(Is(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&r_("negative-width","shr"),Op(Is(this).shrn(t))}eq(t){return Is(this).eq(Is(t))}lt(t){return Is(this).lt(Is(t))}lte(t){return Is(this).lte(Is(t))}gt(t){return Is(this).gt(Is(t))}gte(t){return Is(this).gte(Is(t))}isNegative(){return this._hex[0]==="-"}isZero(){return Is(this).isZero()}toNumber(){try{return Is(this).toNumber()}catch{r_("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Vv.throwError("this platform does not support BigInt",go.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?Wze||(Wze=!0,Vv.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Vv.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",go.errors.UNEXPECTED_ARGUMENT,{}):Vv.throwError("BigNumber.toString does not accept parameters",go.errors.UNEXPECTED_ARGUMENT,{})),Is(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof e)return t;if(typeof t=="string")return t.match(/^-?0x[0-9a-f]+$/i)?new e(vde,ik(t)):t.match(/^-?[0-9]+$/)?new e(vde,ik(new UV(t))):Vv.throwArgumentError("invalid BigNumber string","value",t);if(typeof t=="number")return t%1&&r_("underflow","BigNumber.from",t),(t>=Yze||t<=-Yze)&&r_("overflow","BigNumber.from",t),e.from(String(t));let r=t;if(typeof r=="bigint")return e.from(r.toString());if(rk(r))return e.from(So(r));if(r)if(r.toHexString){let i=r.toHexString();if(typeof i=="string")return e.from(i)}else{let i=r._hex;if(i==null&&r.type==="BigNumber"&&(i=r.hex),typeof i=="string"&&(Lf(i)||i[0]==="-"&&Lf(i.substring(1))))return e.from(i)}return Vv.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}};function ik(e){if(typeof e!="string")return ik(e.toString(16));if(e[0]==="-")return e=e.substring(1),e[0]==="-"&&Vv.throwArgumentError("invalid hex","value",e),e=ik(e),e==="0x00"?e:"-"+e;if(e.substring(0,2)!=="0x"&&(e="0x"+e),e==="0x")return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&e.substring(0,4)==="0x00";)e="0x"+e.substring(4);return e}function Op(e){return G0.from(ik(e))}function Is(e){let t=G0.from(e).toHexString();return t[0]==="-"?new UV("-"+t.substring(3),16):new UV(t.substring(2),16)}function r_(e,t,r){let i={fault:e,operation:t};return r!=null&&(i.value=r),Vv.throwError(e,go.errors.NUMERIC_FAULT,i)}function Rde(e){return new UV(e,36).toString(16)}J();K();z();J();K();z();var Zze="strings/5.7.0";var jze=new go(Zze),ob;(function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"})(ob||(ob={}));var O4;(function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"})(O4||(O4={}));function Gxt(e,t,r,i,n){return jze.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",r)}function eKe(e,t,r,i,n){if(e===O4.BAD_PREFIX||e===O4.UNEXPECTED_CONTINUE){let o=0;for(let d=t+1;d<r.length&&r[d]>>6===2;d++)o++;return o}return e===O4.OVERRUN?r.length-t-1:0}function qxt(e,t,r,i,n){return e===O4.OVERLONG?(i.push(n),0):(i.push(65533),eKe(e,t,r,i,n))}var Vxt=Object.freeze({error:Gxt,ignore:eKe,replace:qxt});function wA(e,t=ob.current){t!=ob.current&&(jze.checkNormalize(),e=e.normalize(t));let r=[];for(let i=0;i<e.length;i++){let n=e.charCodeAt(i);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(n&63|128);else if((n&64512)==55296){i++;let o=e.charCodeAt(i);if(i>=e.length||(o&64512)!==56320)throw new Error("invalid utf-8 string");let d=65536+((n&1023)<<10)+(o&1023);r.push(d>>18|240),r.push(d>>12&63|128),r.push(d>>6&63|128),r.push(d&63|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(n&63|128)}return ii(r)}function ZO(e){return H0(wA(e))}J();K();z();var tKe="hash/5.7.0";J();K();z();var rKe=`Ethereum Signed Message: +`;function L6(e){return typeof e=="string"&&(e=wA(e)),H0(V1([wA(rKe),wA(String(e.length)),e]))}J();K();z();J();K();z();J();K();z();J();K();z();var nKe="rlp/5.7.0";var Jxt=new go(nKe);function iKe(e){let t=[];for(;e;)t.unshift(e&255),e>>=8;return t}function oKe(e){if(Array.isArray(e)){let i=[];if(e.forEach(function(o){i=i.concat(oKe(o))}),i.length<=55)return i.unshift(192+i.length),i;let n=iKe(i.length);return n.unshift(247+n.length),n.concat(i)}tk(e)||Jxt.throwArgumentError("RLP object must be BytesLike","object",e);let t=Array.prototype.slice.call(ii(e));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;let r=iKe(t.length);return r.unshift(183+r.length),r.concat(t)}function ok(e){return So(oKe(e))}J();K();z();var aKe="address/5.7.0";var ak=new go(aKe);function sKe(e){Lf(e,20)||ak.throwArgumentError("invalid address","address",e),e=e.toLowerCase();let t=e.substring(2).split(""),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=t[n].charCodeAt(0);let i=ii(H0(r));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(i[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}var Kxt=9007199254740991;function $xt(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}var Sde={};for(let e=0;e<10;e++)Sde[String(e)]=String(e);for(let e=0;e<26;e++)Sde[String.fromCharCode(65+e)]=String(10+e);var cKe=Math.floor($xt(Kxt));function Yxt(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+"00";let t=e.split("").map(i=>Sde[i]).join("");for(;t.length>=cKe;){let i=t.substring(0,cKe);t=parseInt(i,10)%97+t.substring(i.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}function Th(e){let t=null;if(typeof e!="string"&&ak.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))e.substring(0,2)!=="0x"&&(e="0x"+e),t=sKe(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&ak.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==Yxt(e)&&ak.throwArgumentError("bad icap checksum","address",e),t=Rde(e.substring(4));t.length<40;)t="0"+t;t=sKe("0x"+t)}else ak.throwArgumentError("invalid address","address",e);return t}J();K();z();J();K();z();var uKe="properties/5.7.0";var Wxt=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},FV=new go(uKe);function Po(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function Jv(e){return Wxt(this,void 0,void 0,function*(){let t=Object.keys(e).map(i=>{let n=e[i];return Promise.resolve(n).then(o=>({key:i,value:o}))});return(yield Promise.all(t)).reduce((i,n)=>(i[n.key]=n.value,i),{})})}function dKe(e,t){(!e||typeof e!="object")&&FV.throwArgumentError("invalid object","object",e),Object.keys(e).forEach(r=>{t[r]||FV.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)})}function ck(e){let t={};for(let r in e)t[r]=e[r];return t}var Xxt={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function fKe(e){if(e==null||Xxt[typeof e])return!0;if(Array.isArray(e)||typeof e=="object"){if(!Object.isFrozen(e))return!1;let t=Object.keys(e);for(let r=0;r<t.length;r++){let i=null;try{i=e[t[r]]}catch{continue}if(!fKe(i))return!1}return!0}return FV.throwArgumentError(`Cannot deepCopy ${typeof e}`,"object",e)}function Zxt(e){if(fKe(e))return e;if(Array.isArray(e))return Object.freeze(e.map(t=>sk(t)));if(typeof e=="object"){let t={};for(let r in e){let i=e[r];i!==void 0&&Po(t,r,sk(i))}return t}return FV.throwArgumentError(`Cannot deepCopy ${typeof e}`,"object",e)}function sk(e){return Zxt(e)}var N4=class{constructor(t){for(let r in t)this[r]=sk(t[r])}};var jxt=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},q0=new go(tKe),pKe=new Uint8Array(32);pKe.fill(0);var eTt=G0.from(-1),gKe=G0.from(0),_Ke=G0.from(1),tTt=G0.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function rTt(e){let t=ii(e),r=t.length%32;return r?k6([t,pKe.slice(r)]):So(t)}var nTt=xh(_Ke.toHexString(),32),iTt=xh(gKe.toHexString(),32),lKe={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Ide=["name","version","chainId","verifyingContract","salt"];function hKe(e){return function(t){return typeof t!="string"&&q0.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}var oTt={name:hKe("name"),version:hKe("version"),chainId:function(e){try{return G0.from(e).toString()}catch{}return q0.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return Th(e).toLowerCase()}catch{}return q0.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{let t=ii(e);if(t.length!==32)throw new Error("bad length");return So(t)}catch{}return q0.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function Cde(e){{let t=e.match(/^(u?)int(\d*)$/);if(t){let r=t[1]==="",i=parseInt(t[2]||"256");(i%8!==0||i>256||t[2]&&t[2]!==String(i))&&q0.throwArgumentError("invalid numeric width","type",e);let n=tTt.mask(r?i-1:i),o=r?n.add(_Ke).mul(eTt):gKe;return function(d){let g=G0.from(d);return(g.lt(o)||g.gt(n))&&q0.throwArgumentError(`value out-of-bounds for ${e}`,"value",d),xh(g.toTwos(256).toHexString(),32)}}}{let t=e.match(/^bytes(\d+)$/);if(t){let r=parseInt(t[1]);return(r===0||r>32||t[1]!==String(r))&&q0.throwArgumentError("invalid bytes width","type",e),function(i){return ii(i).length!==r&&q0.throwArgumentError(`invalid length for ${e}`,"value",i),rTt(i)}}}switch(e){case"address":return function(t){return xh(Th(t),32)};case"bool":return function(t){return t?nTt:iTt};case"bytes":return function(t){return H0(t)};case"string":return function(t){return ZO(t)}}return null}function AKe(e,t){return`${e}(${t.map(({name:r,type:i})=>i+" "+r).join(",")})`}var x4=class e{constructor(t){Po(this,"types",Object.freeze(sk(t))),Po(this,"_encoderCache",{}),Po(this,"_types",{});let r={},i={},n={};Object.keys(t).forEach(g=>{r[g]={},i[g]=[],n[g]={}});for(let g in t){let y={};t[g].forEach(_=>{y[_.name]&&q0.throwArgumentError(`duplicate variable name ${JSON.stringify(_.name)} in ${JSON.stringify(g)}`,"types",t),y[_.name]=!0;let I=_.type.match(/^([^\x5b]*)(\x5b|$)/)[1];I===g&&q0.throwArgumentError(`circular type reference to ${JSON.stringify(I)}`,"types",t),!Cde(I)&&(i[I]||q0.throwArgumentError(`unknown type ${JSON.stringify(I)}`,"types",t),i[I].push(g),r[g][I]=!0)})}let o=Object.keys(i).filter(g=>i[g].length===0);o.length===0?q0.throwArgumentError("missing primary type","types",t):o.length>1&&q0.throwArgumentError(`ambiguous primary types or unused types: ${o.map(g=>JSON.stringify(g)).join(", ")}`,"types",t),Po(this,"primaryType",o[0]);function d(g,y){y[g]&&q0.throwArgumentError(`circular type reference to ${JSON.stringify(g)}`,"types",t),y[g]=!0,Object.keys(r[g]).forEach(_=>{i[_]&&(d(_,y),Object.keys(y).forEach(I=>{n[I][_]=!0}))}),delete y[g]}d(this.primaryType,{});for(let g in n){let y=Object.keys(n[g]);y.sort(),this._types[g]=AKe(g,t[g])+y.map(_=>AKe(_,t[_])).join("")}}getEncoder(t){let r=this._encoderCache[t];return r||(r=this._encoderCache[t]=this._getEncoder(t)),r}_getEncoder(t){{let n=Cde(t);if(n)return n}let r=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){let n=r[1],o=this.getEncoder(n),d=parseInt(r[3]);return g=>{d>=0&&g.length!==d&&q0.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",g);let y=g.map(o);return this._types[n]&&(y=y.map(H0)),H0(k6(y))}}let i=this.types[t];if(i){let n=ZO(this._types[t]);return o=>{let d=i.map(({name:g,type:y})=>{let _=this.getEncoder(y)(o[g]);return this._types[y]?H0(_):_});return d.unshift(n),k6(d)}}return q0.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){let r=this._types[t];return r||q0.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),r}encodeData(t,r){return this.getEncoder(t)(r)}hashStruct(t,r){return H0(this.encodeData(t,r))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,r,i){if(Cde(t))return i(t,r);let n=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){let d=n[1],g=parseInt(n[3]);return g>=0&&r.length!==g&&q0.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",r),r.map(y=>this._visit(d,y,i))}let o=this.types[t];return o?o.reduce((d,{name:g,type:y})=>(d[g]=this._visit(y,r[g],i),d),{}):q0.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,r){return this._visit(this.primaryType,t,r)}static from(t){return new e(t)}static getPrimaryType(t){return e.from(t).primaryType}static hashStruct(t,r,i){return e.from(r).hashStruct(t,i)}static hashDomain(t){let r=[];for(let i in t){let n=lKe[i];n||q0.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(i)}`,"domain",t),r.push({name:i,type:n})}return r.sort((i,n)=>Ide.indexOf(i.name)-Ide.indexOf(n.name)),e.hashStruct("EIP712Domain",{EIP712Domain:r},t)}static encode(t,r,i){return k6(["0x1901",e.hashDomain(t),e.from(r).hash(i)])}static hash(t,r,i){return H0(e.encode(t,r,i))}static resolveNames(t,r,i,n){return jxt(this,void 0,void 0,function*(){t=ck(t);let o={};t.verifyingContract&&!Lf(t.verifyingContract,20)&&(o[t.verifyingContract]="0x");let d=e.from(r);d.visit(i,(g,y)=>(g==="address"&&!Lf(y,20)&&(o[y]="0x"),y));for(let g in o)o[g]=yield n(g);return t.verifyingContract&&o[t.verifyingContract]&&(t.verifyingContract=o[t.verifyingContract]),i=d.visit(i,(g,y)=>g==="address"&&o[y]?o[y]:y),{domain:t,value:i}})}static getPayload(t,r,i){e.hashDomain(t);let n={},o=[];Ide.forEach(y=>{let _=t[y];_!=null&&(n[y]=oTt[y](_),o.push({name:y,type:lKe[y]}))});let d=e.from(r),g=ck(r);return g.EIP712Domain?q0.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):g.EIP712Domain=o,d.encode(i),{types:g,domain:n,primaryType:d.primaryType,message:d.visit(i,(y,_)=>{if(y.match(/^bytes(\d*)/))return So(ii(_));if(y.match(/^u?int/))return G0.from(_).toString();switch(y){case"address":return _.toLowerCase();case"bool":return!!_;case"string":return typeof _!="string"&&q0.throwArgumentError("invalid string","value",_),_}return q0.throwArgumentError("unsupported type","type",y)})}}};J();K();z();J();K();z();var ba=po(qv()),lb=po(oN());function aN(e,t,r){return r={path:t,exports:{},require:function(i,n){return OBt(i,n??r.path)}},e(r,r.exports),r.exports}function OBt(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Ude=ZKe;function ZKe(e,t){if(!e)throw new Error(t||"Assertion failed")}ZKe.equal=function(t,r,i){if(t!=r)throw new Error(i||"Assertion failed: "+t+" != "+r)};var Nm=aN(function(e,t){"use strict";var r=t;function i(d,g){if(Array.isArray(d))return d.slice();if(!d)return[];var y=[];if(typeof d!="string"){for(var _=0;_<d.length;_++)y[_]=d[_]|0;return y}if(g==="hex"){d=d.replace(/[^a-z0-9]+/ig,""),d.length%2!==0&&(d="0"+d);for(var _=0;_<d.length;_+=2)y.push(parseInt(d[_]+d[_+1],16))}else for(var _=0;_<d.length;_++){var I=d.charCodeAt(_),N=I>>8,T=I&255;N?y.push(N,T):y.push(T)}return y}r.toArray=i;function n(d){return d.length===1?"0"+d:d}r.zero2=n;function o(d){for(var g="",y=0;y<d.length;y++)g+=n(d[y].toString(16));return g}r.toHex=o,r.encode=function(g,y){return y==="hex"?o(g):g}}),J1=aN(function(e,t){"use strict";var r=t;r.assert=Ude,r.toArray=Nm.toArray,r.zero2=Nm.zero2,r.toHex=Nm.toHex,r.encode=Nm.encode;function i(y,_,I){var N=new Array(Math.max(y.bitLength(),I)+1);N.fill(0);for(var T=1<<_+1,M=y.clone(),D=0;D<N.length;D++){var P,G=M.andln(T-1);M.isOdd()?(G>(T>>1)-1?P=(T>>1)-G:P=G,M.isubn(P)):P=0,N[D]=P,M.iushrn(1)}return N}r.getNAF=i;function n(y,_){var I=[[],[]];y=y.clone(),_=_.clone();for(var N=0,T=0,M;y.cmpn(-N)>0||_.cmpn(-T)>0;){var D=y.andln(3)+N&3,P=_.andln(3)+T&3;D===3&&(D=-1),P===3&&(P=-1);var G;(D&1)===0?G=0:(M=y.andln(7)+N&7,(M===3||M===5)&&P===2?G=-D:G=D),I[0].push(G);var q;(P&1)===0?q=0:(M=_.andln(7)+T&7,(M===3||M===5)&&D===2?q=-P:q=P),I[1].push(q),2*N===G+1&&(N=1-N),2*T===q+1&&(T=1-T),y.iushrn(1),_.iushrn(1)}return I}r.getJSF=n;function o(y,_,I){var N="_"+_;y.prototype[_]=function(){return this[N]!==void 0?this[N]:this[N]=I.call(this)}}r.cachedProperty=o;function d(y){return typeof y=="string"?r.toArray(y,"hex"):y}r.parseBytes=d;function g(y){return new ba.default(y,"hex","le")}r.intFromLE=g}),VV=J1.getNAF,NBt=J1.getJSF,JV=J1.assert;function Q6(e,t){this.type=e,this.p=new ba.default(t.p,16),this.red=t.prime?ba.default.red(t.prime):ba.default.mont(this.p),this.zero=new ba.default(0).toRed(this.red),this.one=new ba.default(1).toRed(this.red),this.two=new ba.default(2).toRed(this.red),this.n=t.n&&new ba.default(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var B4=Q6;Q6.prototype.point=function(){throw new Error("Not implemented")};Q6.prototype.validate=function(){throw new Error("Not implemented")};Q6.prototype._fixedNafMul=function(t,r){JV(t.precomputed);var i=t._getDoubles(),n=VV(r,1,this._bitLength),o=(1<<i.step+1)-(i.step%2===0?2:1);o/=3;var d=[],g,y;for(g=0;g<n.length;g+=i.step){y=0;for(var _=g+i.step-1;_>=g;_--)y=(y<<1)+n[_];d.push(y)}for(var I=this.jpoint(null,null,null),N=this.jpoint(null,null,null),T=o;T>0;T--){for(g=0;g<d.length;g++)y=d[g],y===T?N=N.mixedAdd(i.points[g]):y===-T&&(N=N.mixedAdd(i.points[g].neg()));I=I.add(N)}return I.toP()};Q6.prototype._wnafMul=function(t,r){var i=4,n=t._getNAFPoints(i);i=n.wnd;for(var o=n.points,d=VV(r,i,this._bitLength),g=this.jpoint(null,null,null),y=d.length-1;y>=0;y--){for(var _=0;y>=0&&d[y]===0;y--)_++;if(y>=0&&_++,g=g.dblp(_),y<0)break;var I=d[y];JV(I!==0),t.type==="affine"?I>0?g=g.mixedAdd(o[I-1>>1]):g=g.mixedAdd(o[-I-1>>1].neg()):I>0?g=g.add(o[I-1>>1]):g=g.add(o[-I-1>>1].neg())}return t.type==="affine"?g.toP():g};Q6.prototype._wnafMulAdd=function(t,r,i,n,o){var d=this._wnafT1,g=this._wnafT2,y=this._wnafT3,_=0,I,N,T;for(I=0;I<n;I++){T=r[I];var M=T._getNAFPoints(t);d[I]=M.wnd,g[I]=M.points}for(I=n-1;I>=1;I-=2){var D=I-1,P=I;if(d[D]!==1||d[P]!==1){y[D]=VV(i[D],d[D],this._bitLength),y[P]=VV(i[P],d[P],this._bitLength),_=Math.max(y[D].length,_),_=Math.max(y[P].length,_);continue}var G=[r[D],null,null,r[P]];r[D].y.cmp(r[P].y)===0?(G[1]=r[D].add(r[P]),G[2]=r[D].toJ().mixedAdd(r[P].neg())):r[D].y.cmp(r[P].y.redNeg())===0?(G[1]=r[D].toJ().mixedAdd(r[P]),G[2]=r[D].add(r[P].neg())):(G[1]=r[D].toJ().mixedAdd(r[P]),G[2]=r[D].toJ().mixedAdd(r[P].neg()));var q=[-3,-1,-5,-7,0,7,5,1,3],Y=NBt(i[D],i[P]);for(_=Math.max(Y[0].length,_),y[D]=new Array(_),y[P]=new Array(_),N=0;N<_;N++){var ne=Y[0][N]|0,ce=Y[1][N]|0;y[D][N]=q[(ne+1)*3+(ce+1)],y[P][N]=0,g[D]=G}}var le=this.jpoint(null,null,null),pe=this._wnafT4;for(I=_;I>=0;I--){for(var ae=0;I>=0;){var W=!0;for(N=0;N<n;N++)pe[N]=y[N][I]|0,pe[N]!==0&&(W=!1);if(!W)break;ae++,I--}if(I>=0&&ae++,le=le.dblp(ae),I<0)break;for(N=0;N<n;N++){var se=pe[N];se!==0&&(se>0?T=g[N][se-1>>1]:se<0&&(T=g[N][-se-1>>1].neg()),T.type==="affine"?le=le.mixedAdd(T):le=le.add(T))}}for(I=0;I<n;I++)g[I]=null;return o?le:le.toP()};function i_(e,t){this.curve=e,this.type=t,this.precomputed=null}Q6.BasePoint=i_;i_.prototype.eq=function(){throw new Error("Not implemented")};i_.prototype.validate=function(){return this.curve.validate(this)};Q6.prototype.decodePoint=function(t,r){t=J1.toArray(t,r);var i=this.p.byteLength();if((t[0]===4||t[0]===6||t[0]===7)&&t.length-1===2*i){t[0]===6?JV(t[t.length-1]%2===0):t[0]===7&&JV(t[t.length-1]%2===1);var n=this.point(t.slice(1,1+i),t.slice(1+i,1+2*i));return n}else if((t[0]===2||t[0]===3)&&t.length-1===i)return this.pointFromX(t.slice(1,1+i),t[0]===3);throw new Error("Unknown point format")};i_.prototype.encodeCompressed=function(t){return this.encode(t,!0)};i_.prototype._encode=function(t){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return t?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))};i_.prototype.encode=function(t,r){return J1.encode(this._encode(r),t)};i_.prototype.precompute=function(t){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,t),r.beta=this._getBeta(),this.precomputed=r,this};i_.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((t.bitLength()+1)/r.step):!1};i_.prototype._getDoubles=function(t,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,o=0;o<r;o+=t){for(var d=0;d<t;d++)n=n.dbl();i.push(n)}return{step:t,points:i}};i_.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<t)-1,n=i===1?null:this.dbl(),o=1;o<i;o++)r[o]=r[o-1].add(n);return{wnd:t,points:r}};i_.prototype._getBeta=function(){return null};i_.prototype.dblp=function(t){for(var r=this,i=0;i<t;i++)r=r.dbl();return r};var Fde=aN(function(e){typeof Object.create=="function"?e.exports=function(r,i){i&&(r.super_=i,r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(r,i){if(i){r.super_=i;var n=function(){};n.prototype=i.prototype,r.prototype=new n,r.prototype.constructor=r}}}),xBt=J1.assert;function o_(e){B4.call(this,"short",e),this.a=new ba.default(e.a,16).toRed(this.red),this.b=new ba.default(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Fde(o_,B4);var TBt=o_;o_.prototype._getEndomorphism=function(t){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(t.beta)r=new ba.default(t.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(t.lambda)i=new ba.default(t.lambda,16);else{var o=this._getEndoRoots(this.n);this.g.mul(o[0]).x.cmp(this.g.x.redMul(r))===0?i=o[0]:(i=o[1],xBt(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var d;return t.basis?d=t.basis.map(function(g){return{a:new ba.default(g.a,16),b:new ba.default(g.b,16)}}):d=this._getEndoBasis(i),{beta:r,lambda:i,basis:d}}};o_.prototype._getEndoRoots=function(t){var r=t===this.p?this.red:ba.default.mont(t),i=new ba.default(2).toRed(r).redInvm(),n=i.redNeg(),o=new ba.default(3).toRed(r).redNeg().redSqrt().redMul(i),d=n.redAdd(o).fromRed(),g=n.redSub(o).fromRed();return[d,g]};o_.prototype._getEndoBasis=function(t){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=t,n=this.n.clone(),o=new ba.default(1),d=new ba.default(0),g=new ba.default(0),y=new ba.default(1),_,I,N,T,M,D,P,G=0,q,Y;i.cmpn(0)!==0;){var ne=n.div(i);q=n.sub(ne.mul(i)),Y=g.sub(ne.mul(o));var ce=y.sub(ne.mul(d));if(!N&&q.cmp(r)<0)_=P.neg(),I=o,N=q.neg(),T=Y;else if(N&&++G===2)break;P=q,n=i,i=q,g=o,o=Y,y=d,d=ce}M=q.neg(),D=Y;var le=N.sqr().add(T.sqr()),pe=M.sqr().add(D.sqr());return pe.cmp(le)>=0&&(M=_,D=I),N.negative&&(N=N.neg(),T=T.neg()),M.negative&&(M=M.neg(),D=D.neg()),[{a:N,b:T},{a:M,b:D}]};o_.prototype._endoSplit=function(t){var r=this.endo.basis,i=r[0],n=r[1],o=n.b.mul(t).divRound(this.n),d=i.b.neg().mul(t).divRound(this.n),g=o.mul(i.a),y=d.mul(n.a),_=o.mul(i.b),I=d.mul(n.b),N=t.sub(g).sub(y),T=_.add(I).neg();return{k1:N,k2:T}};o_.prototype.pointFromX=function(t,r){t=new ba.default(t,16),t.red||(t=t.toRed(this.red));var i=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(t,n)};o_.prototype.validate=function(t){if(t.inf)return!0;var r=t.x,i=t.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(o).cmpn(0)===0};o_.prototype._endoWnafMulAdd=function(t,r,i){for(var n=this._endoWnafT1,o=this._endoWnafT2,d=0;d<t.length;d++){var g=this._endoSplit(r[d]),y=t[d],_=y._getBeta();g.k1.negative&&(g.k1.ineg(),y=y.neg(!0)),g.k2.negative&&(g.k2.ineg(),_=_.neg(!0)),n[d*2]=y,n[d*2+1]=_,o[d*2]=g.k1,o[d*2+1]=g.k2}for(var I=this._wnafMulAdd(1,n,o,d*2,i),N=0;N<d*2;N++)n[N]=null,o[N]=null;return I};function al(e,t,r,i){B4.BasePoint.call(this,e,"affine"),t===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new ba.default(t,16),this.y=new ba.default(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}Fde(al,B4.BasePoint);o_.prototype.point=function(t,r,i){return new al(this,t,r,i)};o_.prototype.pointFromJSON=function(t,r){return al.fromJSON(this,t,r)};al.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var i=this.curve,n=function(o){return i.point(o.x.redMul(i.endo.beta),o.y)};t.beta=r,r.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return r}};al.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]};al.fromJSON=function(t,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=t.point(r[0],r[1],i);if(!r[2])return n;function o(g){return t.point(g[0],g[1],i)}var d=r[2];return n.precomputed={beta:null,doubles:d.doubles&&{step:d.doubles.step,points:[n].concat(d.doubles.points.map(o))},naf:d.naf&&{wnd:d.naf.wnd,points:[n].concat(d.naf.points.map(o))}},n};al.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"};al.prototype.isInfinity=function(){return this.inf};al.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(this.x.cmp(t.x)===0)return this.curve.point(null,null);var r=this.y.redSub(t.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(t.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(t.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)};al.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(t.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=t.redInvm(),o=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),d=o.redSqr().redISub(this.x.redAdd(this.x)),g=o.redMul(this.x.redSub(d)).redISub(this.y);return this.curve.point(d,g)};al.prototype.getX=function(){return this.x.fromRed()};al.prototype.getY=function(){return this.y.fromRed()};al.prototype.mul=function(t){return t=new ba.default(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)};al.prototype.mulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)};al.prototype.jmulAdd=function(t,r,i){var n=[this,r],o=[t,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)};al.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||this.x.cmp(t.x)===0&&this.y.cmp(t.y)===0)};al.prototype.neg=function(t){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var i=this.precomputed,n=function(o){return o.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r};al.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var t=this.curve.jpoint(this.x,this.y,this.curve.one);return t};function Vl(e,t,r,i){B4.BasePoint.call(this,e,"jacobian"),t===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ba.default(0)):(this.x=new ba.default(t,16),this.y=new ba.default(r,16),this.z=new ba.default(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Fde(Vl,B4.BasePoint);o_.prototype.jpoint=function(t,r,i){return new Vl(this,t,r,i)};Vl.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),r=t.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(t);return this.curve.point(i,n)};Vl.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Vl.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var r=t.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),o=t.x.redMul(i),d=this.y.redMul(r.redMul(t.z)),g=t.y.redMul(i.redMul(this.z)),y=n.redSub(o),_=d.redSub(g);if(y.cmpn(0)===0)return _.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var I=y.redSqr(),N=I.redMul(y),T=n.redMul(I),M=_.redSqr().redIAdd(N).redISub(T).redISub(T),D=_.redMul(T.redISub(M)).redISub(d.redMul(N)),P=this.z.redMul(t.z).redMul(y);return this.curve.jpoint(M,D,P)};Vl.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=t.x.redMul(r),o=this.y,d=t.y.redMul(r).redMul(this.z),g=i.redSub(n),y=o.redSub(d);if(g.cmpn(0)===0)return y.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var _=g.redSqr(),I=_.redMul(g),N=i.redMul(_),T=y.redSqr().redIAdd(I).redISub(N).redISub(N),M=y.redMul(N.redISub(T)).redISub(o.redMul(I)),D=this.z.redMul(g);return this.curve.jpoint(T,M,D)};Vl.prototype.dblp=function(t){if(t===0)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<t;r++)i=i.dbl();return i}var n=this.curve.a,o=this.curve.tinv,d=this.x,g=this.y,y=this.z,_=y.redSqr().redSqr(),I=g.redAdd(g);for(r=0;r<t;r++){var N=d.redSqr(),T=I.redSqr(),M=T.redSqr(),D=N.redAdd(N).redIAdd(N).redIAdd(n.redMul(_)),P=d.redMul(T),G=D.redSqr().redISub(P.redAdd(P)),q=P.redISub(G),Y=D.redMul(q);Y=Y.redIAdd(Y).redISub(M);var ne=I.redMul(y);r+1<t&&(_=_.redMul(M)),d=G,y=ne,I=Y}return this.curve.jpoint(d,I.redMul(o),y)};Vl.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()};Vl.prototype._zeroDbl=function(){var t,r,i;if(this.zOne){var n=this.x.redSqr(),o=this.y.redSqr(),d=o.redSqr(),g=this.x.redAdd(o).redSqr().redISub(n).redISub(d);g=g.redIAdd(g);var y=n.redAdd(n).redIAdd(n),_=y.redSqr().redISub(g).redISub(g),I=d.redIAdd(d);I=I.redIAdd(I),I=I.redIAdd(I),t=_,r=y.redMul(g.redISub(_)).redISub(I),i=this.y.redAdd(this.y)}else{var N=this.x.redSqr(),T=this.y.redSqr(),M=T.redSqr(),D=this.x.redAdd(T).redSqr().redISub(N).redISub(M);D=D.redIAdd(D);var P=N.redAdd(N).redIAdd(N),G=P.redSqr(),q=M.redIAdd(M);q=q.redIAdd(q),q=q.redIAdd(q),t=G.redISub(D).redISub(D),r=P.redMul(D.redISub(t)).redISub(q),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(t,r,i)};Vl.prototype._threeDbl=function(){var t,r,i;if(this.zOne){var n=this.x.redSqr(),o=this.y.redSqr(),d=o.redSqr(),g=this.x.redAdd(o).redSqr().redISub(n).redISub(d);g=g.redIAdd(g);var y=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),_=y.redSqr().redISub(g).redISub(g);t=_;var I=d.redIAdd(d);I=I.redIAdd(I),I=I.redIAdd(I),r=y.redMul(g.redISub(_)).redISub(I),i=this.y.redAdd(this.y)}else{var N=this.z.redSqr(),T=this.y.redSqr(),M=this.x.redMul(T),D=this.x.redSub(N).redMul(this.x.redAdd(N));D=D.redAdd(D).redIAdd(D);var P=M.redIAdd(M);P=P.redIAdd(P);var G=P.redAdd(P);t=D.redSqr().redISub(G),i=this.y.redAdd(this.z).redSqr().redISub(T).redISub(N);var q=T.redSqr();q=q.redIAdd(q),q=q.redIAdd(q),q=q.redIAdd(q),r=D.redMul(P.redISub(t)).redISub(q)}return this.curve.jpoint(t,r,i)};Vl.prototype._dbl=function(){var t=this.curve.a,r=this.x,i=this.y,n=this.z,o=n.redSqr().redSqr(),d=r.redSqr(),g=i.redSqr(),y=d.redAdd(d).redIAdd(d).redIAdd(t.redMul(o)),_=r.redAdd(r);_=_.redIAdd(_);var I=_.redMul(g),N=y.redSqr().redISub(I.redAdd(I)),T=I.redISub(N),M=g.redSqr();M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var D=y.redMul(T).redISub(M),P=i.redAdd(i).redMul(n);return this.curve.jpoint(N,D,P)};Vl.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),o=t.redAdd(t).redIAdd(t),d=o.redSqr(),g=this.x.redAdd(r).redSqr().redISub(t).redISub(n);g=g.redIAdd(g),g=g.redAdd(g).redIAdd(g),g=g.redISub(d);var y=g.redSqr(),_=n.redIAdd(n);_=_.redIAdd(_),_=_.redIAdd(_),_=_.redIAdd(_);var I=o.redIAdd(g).redSqr().redISub(d).redISub(y).redISub(_),N=r.redMul(I);N=N.redIAdd(N),N=N.redIAdd(N);var T=this.x.redMul(y).redISub(N);T=T.redIAdd(T),T=T.redIAdd(T);var M=this.y.redMul(I.redMul(_.redISub(I)).redISub(g.redMul(y)));M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var D=this.z.redAdd(g).redSqr().redISub(i).redISub(y);return this.curve.jpoint(T,M,D)};Vl.prototype.mul=function(t,r){return t=new ba.default(t,r),this.curve._wnafMul(this,t)};Vl.prototype.eq=function(t){if(t.type==="affine")return this.eq(t.toJ());if(this===t)return!0;var r=this.z.redSqr(),i=t.z.redSqr();if(this.x.redMul(i).redISub(t.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),o=i.redMul(t.z);return this.y.redMul(o).redISub(t.y.redMul(n)).cmpn(0)===0};Vl.prototype.eqXToP=function(t){var r=this.z.redSqr(),i=t.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=t.clone(),o=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(o),this.x.cmp(i)===0)return!0}};Vl.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"};Vl.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var GV=aN(function(e,t){"use strict";var r=t;r.base=B4,r.short=TBt,r.mont=null,r.edwards=null}),qV=aN(function(e,t){"use strict";var r=t,i=J1.assert;function n(g){g.type==="short"?this.curve=new GV.short(g):g.type==="edwards"?this.curve=new GV.edwards(g):this.curve=new GV.mont(g),this.g=this.curve.g,this.n=this.curve.n,this.hash=g.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=n;function o(g,y){Object.defineProperty(r,g,{configurable:!0,enumerable:!0,get:function(){var _=new n(y);return Object.defineProperty(r,g,{configurable:!0,enumerable:!0,value:_}),_}})}o("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:lb.default.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),o("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:lb.default.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),o("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:lb.default.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),o("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:lb.default.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),o("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:lb.default.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),o("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:lb.default.sha256,gRed:!1,g:["9"]}),o("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:lb.default.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var d;try{d=null.crash()}catch{d=void 0}o("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:lb.default.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",d]})});function F6(e){if(!(this instanceof F6))return new F6(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Nm.toArray(e.entropy,e.entropyEnc||"hex"),r=Nm.toArray(e.nonce,e.nonceEnc||"hex"),i=Nm.toArray(e.pers,e.persEnc||"hex");Ude(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,i)}var jKe=F6;F6.prototype._init=function(t,r,i){var n=t.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o<this.V.length;o++)this.K[o]=0,this.V[o]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656};F6.prototype._hmac=function(){return new lb.default.hmac(this.hash,this.K)};F6.prototype._update=function(t){var r=this._hmac().update(this.V).update([0]);t&&(r=r.update(t)),this.K=r.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())};F6.prototype.reseed=function(t,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),t=Nm.toArray(t,r),i=Nm.toArray(i,n),Ude(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(i||[])),this._reseed=1};F6.prototype.generate=function(t,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=Nm.toArray(i,n||"hex"),this._update(i));for(var o=[];o.length<t;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var d=o.slice(0,t);return this._update(i),this._reseed++,Nm.encode(d,r)};var Lde=J1.assert;function Bh(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Qde=Bh;Bh.fromPublic=function(t,r,i){return r instanceof Bh?r:new Bh(t,{pub:r,pubEnc:i})};Bh.fromPrivate=function(t,r,i){return r instanceof Bh?r:new Bh(t,{priv:r,privEnc:i})};Bh.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}};Bh.prototype.getPublic=function(t,r){return typeof t=="string"&&(r=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,t):this.pub};Bh.prototype.getPrivate=function(t){return t==="hex"?this.priv.toString(16,2):this.priv};Bh.prototype._importPrivate=function(t,r){this.priv=new ba.default(t,r||16),this.priv=this.priv.umod(this.ec.curve.n)};Bh.prototype._importPublic=function(t,r){if(t.x||t.y){this.ec.curve.type==="mont"?Lde(t.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Lde(t.x&&t.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(t.x,t.y);return}this.pub=this.ec.curve.decodePoint(t,r)};Bh.prototype.derive=function(t){return t.validate()||Lde(t.validate(),"public point not validated"),t.mul(this.priv).getX()};Bh.prototype.sign=function(t,r,i){return this.ec.sign(t,this,r,i)};Bh.prototype.verify=function(t,r){return this.ec.verify(t,r,this)};Bh.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var BBt=J1.assert;function zV(e,t){if(e instanceof zV)return e;this._importDER(e,t)||(BBt(e.r&&e.s,"Signature without r or s"),this.r=new ba.default(e.r,16),this.s=new ba.default(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var KV=zV;function MBt(){this.place=0}function kde(e,t){var r=e[t.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,o=0,d=t.place;o<i;o++,d++)n<<=8,n|=e[d],n>>>=0;return n<=127?!1:(t.place=d,n)}function XKe(e){for(var t=0,r=e.length-1;!e[t]&&!(e[t+1]&128)&&t<r;)t++;return t===0?e:e.slice(t)}zV.prototype._importDER=function(t,r){t=J1.toArray(t,r);var i=new MBt;if(t[i.place++]!==48)return!1;var n=kde(t,i);if(n===!1||n+i.place!==t.length||t[i.place++]!==2)return!1;var o=kde(t,i);if(o===!1)return!1;var d=t.slice(i.place,o+i.place);if(i.place+=o,t[i.place++]!==2)return!1;var g=kde(t,i);if(g===!1||t.length!==g+i.place)return!1;var y=t.slice(i.place,g+i.place);if(d[0]===0)if(d[1]&128)d=d.slice(1);else return!1;if(y[0]===0)if(y[1]&128)y=y.slice(1);else return!1;return this.r=new ba.default(d),this.s=new ba.default(y),this.recoveryParam=null,!0};function Pde(e,t){if(t<128){e.push(t);return}var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(r|128);--r;)e.push(t>>>(r<<3)&255);e.push(t)}zV.prototype.toDER=function(t){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=XKe(r),i=XKe(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];Pde(n,r.length),n=n.concat(r),n.push(2),Pde(n,i.length);var o=n.concat(i),d=[48];return Pde(d,o.length),d=d.concat(o),J1.encode(d,t)};var DBt=(function(){throw new Error("unsupported")}),e$e=J1.assert;function n_(e){if(!(this instanceof n_))return new n_(e);typeof e=="string"&&(e$e(Object.prototype.hasOwnProperty.call(qV,e),"Unknown curve "+e),e=qV[e]),e instanceof qV.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var kBt=n_;n_.prototype.keyPair=function(t){return new Qde(this,t)};n_.prototype.keyFromPrivate=function(t,r){return Qde.fromPrivate(this,t,r)};n_.prototype.keyFromPublic=function(t,r){return Qde.fromPublic(this,t,r)};n_.prototype.genKeyPair=function(t){t||(t={});for(var r=new jKe({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||DBt(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new ba.default(2));;){var o=new ba.default(r.generate(i));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}};n_.prototype._truncateToN=function(t,r){var i=t.byteLength()*8-this.n.bitLength();return i>0&&(t=t.ushrn(i)),!r&&t.cmp(this.n)>=0?t.sub(this.n):t};n_.prototype.sign=function(t,r,i,n){typeof i=="object"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),t=this._truncateToN(new ba.default(t,16));for(var o=this.n.byteLength(),d=r.getPrivate().toArray("be",o),g=t.toArray("be",o),y=new jKe({hash:this.hash,entropy:d,nonce:g,pers:n.pers,persEnc:n.persEnc||"utf8"}),_=this.n.sub(new ba.default(1)),I=0;;I++){var N=n.k?n.k(I):new ba.default(y.generate(this.n.byteLength()));if(N=this._truncateToN(N,!0),!(N.cmpn(1)<=0||N.cmp(_)>=0)){var T=this.g.mul(N);if(!T.isInfinity()){var M=T.getX(),D=M.umod(this.n);if(D.cmpn(0)!==0){var P=N.invm(this.n).mul(D.mul(r.getPrivate()).iadd(t));if(P=P.umod(this.n),P.cmpn(0)!==0){var G=(T.getY().isOdd()?1:0)|(M.cmp(D)!==0?2:0);return n.canonical&&P.cmp(this.nh)>0&&(P=this.n.sub(P),G^=1),new KV({r:D,s:P,recoveryParam:G})}}}}}};n_.prototype.verify=function(t,r,i,n){t=this._truncateToN(new ba.default(t,16)),i=this.keyFromPublic(i,n),r=new KV(r,"hex");var o=r.r,d=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||d.cmpn(1)<0||d.cmp(this.n)>=0)return!1;var g=d.invm(this.n),y=g.mul(t).umod(this.n),_=g.mul(o).umod(this.n),I;return this.curve._maxwellTrick?(I=this.g.jmulAdd(y,i.getPublic(),_),I.isInfinity()?!1:I.eqXToP(o)):(I=this.g.mulAdd(y,i.getPublic(),_),I.isInfinity()?!1:I.getX().umod(this.n).cmp(o)===0)};n_.prototype.recoverPubKey=function(e,t,r,i){e$e((3&r)===r,"The recovery param is more than two bits"),t=new KV(t,i);var n=this.n,o=new ba.default(e),d=t.r,g=t.s,y=r&1,_=r>>1;if(d.cmp(this.curve.p.umod(this.curve.n))>=0&&_)throw new Error("Unable to find sencond key candinate");_?d=this.curve.pointFromX(d.add(this.curve.n),y):d=this.curve.pointFromX(d,y);var I=t.r.invm(n),N=n.sub(o).mul(I).umod(n),T=g.mul(I).umod(n);return this.g.mulAdd(N,d,T)};n_.prototype.getKeyRecoveryParam=function(e,t,r,i){if(t=new KV(t,i),t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(e,t,n)}catch{continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var PBt=aN(function(e,t){"use strict";var r=t;r.version="6.5.4",r.utils=J1,r.rand=(function(){throw new Error("unsupported")}),r.curve=GV,r.curves=qV,r.ec=kBt,r.eddsa=null}),t$e=PBt.ec;J();K();z();var r$e="signing-key/5.7.0";var Gde=new go(r$e),Hde=null;function hb(){return Hde||(Hde=new t$e("secp256k1")),Hde}var Ab=class{constructor(t){Po(this,"curve","secp256k1"),Po(this,"privateKey",So(t)),nk(this.privateKey)!==32&&Gde.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let r=hb().keyFromPrivate(ii(this.privateKey));Po(this,"publicKey","0x"+r.getPublic(!1,"hex")),Po(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),Po(this,"_isSigningKey",!0)}_addPoint(t){let r=hb().keyFromPublic(ii(this.publicKey)),i=hb().keyFromPublic(ii(t));return"0x"+r.pub.add(i.pub).encodeCompressed("hex")}signDigest(t){let r=hb().keyFromPrivate(ii(this.privateKey)),i=ii(t);i.length!==32&&Gde.throwArgumentError("bad digest length","digest",t);let n=r.sign(i,{canonical:!0});return P6({recoveryParam:n.recoveryParam,r:xh("0x"+n.r.toString(16),32),s:xh("0x"+n.s.toString(16),32)})}computeSharedSecret(t){let r=hb().keyFromPrivate(ii(this.privateKey)),i=hb().keyFromPublic(ii(fk(t)));return xh("0x"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(t){return!!(t&&t._isSigningKey)}};function sN(e,t){let r=P6(t),i={r:ii(r.r),s:ii(r.s)};return"0x"+hb().recoverPubKey(ii(e),i,r.recoveryParam).encode("hex",!1)}function fk(e,t){let r=ii(e);if(r.length===32){let i=new Ab(r);return t?"0x"+hb().keyFromPrivate(r).getPublic(!0,"hex"):i.publicKey}else{if(r.length===33)return t?So(r):"0x"+hb().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return t?"0x"+hb().keyFromPublic(r).getPublic(!0,"hex"):So(r)}return Gde.throwArgumentError("invalid public or private key","key","[REDACTED]")}J();K();z();J();K();z();var n$e="transactions/5.7.0";var xm=new go(n$e),i$e;(function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"})(i$e||(i$e={}));var LBt=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],UBt={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function a_(e){let t=fk(e);return Th(Gv(H0(Gv(t,1)),12))}function Vde(e,t){return a_(sN(ii(e),t))}function z1(e,t){let r=ib(G0.from(e).toHexString());return r.length>32&&xm.throwArgumentError("invalid length for "+t,"transaction:"+t,e),r}function qde(e,t){return{address:Th(e),storageKeys:(t||[]).map((r,i)=>(nk(r)!==32&&xm.throwArgumentError("invalid access list storageKey",`accessList[${e}:${i}]`,r),r.toLowerCase()))}}function FBt(e){if(Array.isArray(e))return e.map((r,i)=>Array.isArray(r)?(r.length>2&&xm.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${i}]`,r),qde(r[0],r[1])):qde(r.address,r.storageKeys));let t=Object.keys(e).map(r=>{let i=e[r].reduce((n,o)=>(n[o]=!0,n),{});return qde(r,Object.keys(i).sort())});return t.sort((r,i)=>r.address.localeCompare(i.address)),t}function o$e(e){return FBt(e).map(t=>[t.address,t.storageKeys])}function QBt(e,t){if(e.gasPrice!=null){let i=G0.from(e.gasPrice),n=G0.from(e.maxFeePerGas||0);i.eq(n)||xm.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:i,maxFeePerGas:n})}let r=[z1(e.chainId||0,"chainId"),z1(e.nonce||0,"nonce"),z1(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),z1(e.maxFeePerGas||0,"maxFeePerGas"),z1(e.gasLimit||0,"gasLimit"),e.to!=null?Th(e.to):"0x",z1(e.value||0,"value"),e.data||"0x",o$e(e.accessList||[])];if(t){let i=P6(t);r.push(z1(i.recoveryParam,"recoveryParam")),r.push(ib(i.r)),r.push(ib(i.s))}return k6(["0x02",ok(r)])}function HBt(e,t){let r=[z1(e.chainId||0,"chainId"),z1(e.nonce||0,"nonce"),z1(e.gasPrice||0,"gasPrice"),z1(e.gasLimit||0,"gasLimit"),e.to!=null?Th(e.to):"0x",z1(e.value||0,"value"),e.data||"0x",o$e(e.accessList||[])];if(t){let i=P6(t);r.push(z1(i.recoveryParam,"recoveryParam")),r.push(ib(i.r)),r.push(ib(i.s))}return k6(["0x01",ok(r)])}function GBt(e,t){dKe(e,UBt);let r=[];LBt.forEach(function(d){let g=e[d.name]||[],y={};d.numeric&&(y.hexPad="left"),g=ii(So(g,y)),d.length&&g.length!==d.length&&g.length>0&&xm.throwArgumentError("invalid length for "+d.name,"transaction:"+d.name,g),d.maxLength&&(g=ib(g),g.length>d.maxLength&&xm.throwArgumentError("invalid length for "+d.name,"transaction:"+d.name,g)),r.push(So(g))});let i=0;if(e.chainId!=null?(i=e.chainId,typeof i!="number"&&xm.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!tk(t)&&t.v>28&&(i=Math.floor((t.v-35)/2)),i!==0&&(r.push(So(i)),r.push("0x"),r.push("0x")),!t)return ok(r);let n=P6(t),o=27+n.recoveryParam;return i!==0?(r.pop(),r.pop(),r.pop(),o+=i*2+8,n.v>28&&n.v!==o&&xm.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):n.v!==o&&xm.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push(So(o)),r.push(ib(ii(n.r))),r.push(ib(ii(n.s))),ok(r)}function Jde(e,t){if(e.type==null||e.type===0)return e.accessList!=null&&xm.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),GBt(e,t);switch(e.type){case 1:return HBt(e,t);case 2:return QBt(e,t);default:break}return xm.throwError(`unsupported transaction type: ${e.type}`,go.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})}J();K();z();J();K();z();J();K();z();var a$e="abstract-provider/5.7.0";var qBt=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},VBt=new go(a$e);var $V=class e{constructor(){VBt.checkAbstract(new.target,e),Po(this,"_isProvider",!0)}getFeeData(){return qBt(this,void 0,void 0,function*(){let{block:t,gasPrice:r}=yield Jv({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(d=>null)}),i=null,n=null,o=null;return t&&t.baseFeePerGas&&(i=t.baseFeePerGas,o=G0.from("1500000000"),n=t.baseFeePerGas.mul(2).add(o)),{lastBaseFeePerGas:i,maxFeePerGas:n,maxPriorityFeePerGas:o,gasPrice:r}})}addListener(t,r){return this.on(t,r)}removeListener(t,r){return this.off(t,r)}static isProvider(t){return!!(t&&t._isProvider)}};J();K();z();J();K();z();var s$e="abstract-signer/5.7.0";var Tm=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},Bm=new go(s$e),JBt=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],zBt=[go.errors.INSUFFICIENT_FUNDS,go.errors.NONCE_EXPIRED,go.errors.REPLACEMENT_UNDERPRICED],YV=class e{constructor(){Bm.checkAbstract(new.target,e),Po(this,"_isSigner",!0)}getBalance(t){return Tm(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),t)})}getTransactionCount(t){return Tm(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),t)})}estimateGas(t){return Tm(this,void 0,void 0,function*(){this._checkProvider("estimateGas");let r=yield Jv(this.checkTransaction(t));return yield this.provider.estimateGas(r)})}call(t,r){return Tm(this,void 0,void 0,function*(){this._checkProvider("call");let i=yield Jv(this.checkTransaction(t));return yield this.provider.call(i,r)})}sendTransaction(t){return Tm(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");let r=yield this.populateTransaction(t),i=yield this.signTransaction(r);return yield this.provider.sendTransaction(i)})}getChainId(){return Tm(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return Tm(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return Tm(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(t){return Tm(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(t)})}checkTransaction(t){for(let i in t)JBt.indexOf(i)===-1&&Bm.throwArgumentError("invalid transaction key: "+i,"transaction",t);let r=ck(t);return r.from==null?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then(i=>(i[0].toLowerCase()!==i[1].toLowerCase()&&Bm.throwArgumentError("from address mismatch","transaction",t),i[0])),r}populateTransaction(t){return Tm(this,void 0,void 0,function*(){let r=yield Jv(this.checkTransaction(t));r.to!=null&&(r.to=Promise.resolve(r.to).then(n=>Tm(this,void 0,void 0,function*(){if(n==null)return null;let o=yield this.resolveName(n);return o==null&&Bm.throwArgumentError("provided ENS name resolves to null","tx.to",n),o})),r.to.catch(n=>{}));let i=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||i)?Bm.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",t):(r.type===0||r.type===1)&&i&&Bm.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",t),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1)r.gasPrice==null&&(r.gasPrice=this.getGasPrice());else{let n=yield this.getFeeData();if(r.type==null)if(n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){let o=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=o,r.maxPriorityFeePerGas=o}else r.maxFeePerGas==null&&(r.maxFeePerGas=n.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=n.maxPriorityFeePerGas);else n.gasPrice!=null?(i&&Bm.throwError("network does not support EIP-1559",go.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=n.gasPrice),r.type=0):Bm.throwError("failed to get consistent fee data",go.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else r.type===2&&(r.maxFeePerGas==null&&(r.maxFeePerGas=n.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=n.maxPriorityFeePerGas))}return r.nonce==null&&(r.nonce=this.getTransactionCount("pending")),r.gasLimit==null&&(r.gasLimit=this.estimateGas(r).catch(n=>{if(zBt.indexOf(n.code)>=0)throw n;return Bm.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",go.errors.UNPREDICTABLE_GAS_LIMIT,{error:n,tx:r})})),r.chainId==null?r.chainId=this.getChainId():r.chainId=Promise.all([Promise.resolve(r.chainId),this.getChainId()]).then(n=>(n[1]!==0&&n[0]!==n[1]&&Bm.throwArgumentError("chainId address mismatch","transaction",t),n[0])),yield Jv(r)})}_checkProvider(t){this.provider||Bm.throwError("missing provider",go.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})}static isSigner(t){return!!(t&&t._isSigner)}};J();K();z();J();K();z();var WV=class{constructor(t){Po(this,"alphabet",t),Po(this,"base",t.length),Po(this,"_alphabetMap",{}),Po(this,"_leader",t.charAt(0));for(let r=0;r<t.length;r++)this._alphabetMap[t.charAt(r)]=r}encode(t){let r=ii(t);if(r.length===0)return"";let i=[0];for(let o=0;o<r.length;++o){let d=r[o];for(let g=0;g<i.length;++g)d+=i[g]<<8,i[g]=d%this.base,d=d/this.base|0;for(;d>0;)i.push(d%this.base),d=d/this.base|0}let n="";for(let o=0;r[o]===0&&o<r.length-1;++o)n+=this._leader;for(let o=i.length-1;o>=0;--o)n+=this.alphabet[i[o]];return n}decode(t){if(typeof t!="string")throw new TypeError("Expected String");let r=[];if(t.length===0)return new Uint8Array(r);r.push(0);for(let i=0;i<t.length;i++){let n=this._alphabetMap[t[i]];if(n===void 0)throw new Error("Non-base"+this.base+" character");let o=n;for(let d=0;d<r.length;++d)o+=r[d]*this.base,r[d]=o&255,o>>=8;for(;o>0;)r.push(o&255),o>>=8}for(let i=0;t[i]===this._leader&&i<t.length-1;++i)r.push(0);return ii(new Uint8Array(r.reverse()))}},gNn=new WV("abcdefghijklmnopqrstuvwxyz234567"),zde=new WV("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");J();K();z();J();K();z();J();K();z();J();K();z();var lk=po(oN());J();K();z();var H6;(function(e){e.sha256="sha256",e.sha512="sha512"})(H6||(H6={}));J();K();z();var c$e="sha2/5.7.0";var KBt=new go(c$e);function Kde(e){return"0x"+lk.default.ripemd160().update(ii(e)).digest("hex")}function M4(e){return"0x"+lk.default.sha256().update(ii(e)).digest("hex")}function D4(e,t,r){return H6[e]||KBt.throwError("unsupported algorithm "+e,go.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+lk.default.hmac(lk.default[e],ii(t)).update(ii(r)).digest("hex")}function k4(e,t,r,i,n){e=ii(e),t=ii(t);let o,d=1,g=new Uint8Array(i),y=new Uint8Array(t.length+4);y.set(t);let _,I;for(let N=1;N<=d;N++){y[t.length]=N>>24&255,y[t.length+1]=N>>16&255,y[t.length+2]=N>>8&255,y[t.length+3]=N&255;let T=ii(D4(n,e,y));o||(o=T.length,I=new Uint8Array(o),d=Math.ceil(i/o),_=i-(d-1)*o),I.set(T);for(let P=1;P<r;P++){T=ii(D4(n,e,T));for(let G=0;G<o;G++)I[G]^=T[G]}let M=(N-1)*o,D=N===d?_:o;g.set(ii(I).slice(0,D),M)}return So(g)}J();K();z();J();K();z();J();K();z();var u$e="wordlists/5.7.0";var $Bt=!1,YBt=new go(u$e),cN=class e{constructor(t){YBt.checkAbstract(new.target,e),Po(this,"locale",t)}split(t){return t.toLowerCase().split(/ +/g)}join(t){return t.join(" ")}static check(t){let r=[];for(let i=0;i<2048;i++){let n=t.getWord(i);if(i!==t.getWordIndex(n))return"0x";r.push(n)}return ZO(r.join(` +`)+` +`)}static register(t,r){if(r||(r=t.locale),$Bt)try{let i=window;i._ethers&&i._ethers.wordlists&&(i._ethers.wordlists[r]||Po(i._ethers.wordlists,r,t))}catch{}}};J();K();z();J();K();z();var WBt="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",hk=null;function d$e(e){if(hk==null&&(hk=WBt.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),cN.check(e)!=="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"))throw hk=null,new Error("BIP39 Wordlist for en (English) FAILED")}var $de=class extends cN{constructor(){super("en")}getWord(t){return d$e(this),hk[t]}getWordIndex(t){return d$e(this),hk.indexOf(t)}},Yde=new $de;cN.register(Yde);var XV={en:Yde};J();K();z();var f$e="hdnode/5.7.0";var jV=new go(f$e),XBt=G0.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ZBt=wA("Bitcoin seed"),Ak=2147483648;function h$e(e){return(1<<e)-1<<8-e}function jBt(e){return(1<<e)-1}function ZV(e){return xh(So(e),32)}function l$e(e){return zde.encode(V1([e,Gv(M4(M4(e)),0,4)]))}function Wde(e){if(e==null)return XV.en;if(typeof e=="string"){let t=XV[e];return t==null&&jV.throwArgumentError("unknown locale","wordlist",e),t}return e}var uN={},P4="m/44'/60'/0'/0/0",G6=class e{constructor(t,r,i,n,o,d,g,y){if(t!==uN)throw new Error("HDNode constructor cannot be called directly");if(r){let _=new Ab(r);Po(this,"privateKey",_.privateKey),Po(this,"publicKey",_.compressedPublicKey)}else Po(this,"privateKey",null),Po(this,"publicKey",So(i));Po(this,"parentFingerprint",n),Po(this,"fingerprint",Gv(Kde(M4(this.publicKey)),0,4)),Po(this,"address",a_(this.publicKey)),Po(this,"chainCode",o),Po(this,"index",d),Po(this,"depth",g),y==null?(Po(this,"mnemonic",null),Po(this,"path",null)):typeof y=="string"?(Po(this,"mnemonic",null),Po(this,"path",y)):(Po(this,"mnemonic",y),Po(this,"path",y.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return l$e(V1([this.privateKey!=null?"0x0488ADE4":"0x0488B21E",So(this.depth),this.parentFingerprint,xh(So(this.index),4),this.chainCode,this.privateKey!=null?V1(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new e(uN,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(t){if(t>4294967295)throw new Error("invalid index - "+String(t));let r=this.path;r&&(r+="/"+(t&~Ak));let i=new Uint8Array(37);if(t&Ak){if(!this.privateKey)throw new Error("cannot derive child of neutered node");i.set(ii(this.privateKey),1),r&&(r+="'")}else i.set(ii(this.publicKey));for(let N=24;N>=0;N-=8)i[33+(N>>3)]=t>>24-N&255;let n=ii(D4(H6.sha512,this.chainCode,i)),o=n.slice(0,32),d=n.slice(32),g=null,y=null;this.privateKey?g=ZV(G0.from(o).add(this.privateKey).mod(XBt)):y=new Ab(So(o))._addPoint(this.publicKey);let _=r,I=this.mnemonic;return I&&(_=Object.freeze({phrase:I.phrase,path:r,locale:I.locale||"en"})),new e(uN,g,y,this.fingerprint,ZV(d),t,this.depth+1,_)}derivePath(t){let r=t.split("/");if(r.length===0||r[0]==="m"&&this.depth!==0)throw new Error("invalid path - "+t);r[0]==="m"&&r.shift();let i=this;for(let n=0;n<r.length;n++){let o=r[n];if(o.match(/^[0-9]+'$/)){let d=parseInt(o.substring(0,o.length-1));if(d>=Ak)throw new Error("invalid path index - "+o);i=i._derive(Ak+d)}else if(o.match(/^[0-9]+$/)){let d=parseInt(o);if(d>=Ak)throw new Error("invalid path index - "+o);i=i._derive(d)}else throw new Error("invalid path component - "+o)}return i}static _fromSeed(t,r){let i=ii(t);if(i.length<16||i.length>64)throw new Error("invalid seed");let n=ii(D4(H6.sha512,ZBt,i));return new e(uN,ZV(n.slice(0,32)),null,"0x00000000",ZV(n.slice(32)),0,0,r)}static fromMnemonic(t,r,i){return i=Wde(i),t=pk(Xde(t,i),i),e._fromSeed(e7t(t,r),{phrase:t,path:"m",locale:i.locale})}static fromSeed(t){return e._fromSeed(t,null)}static fromExtendedKey(t){let r=zde.decode(t);(r.length!==82||l$e(r.slice(0,78))!==t)&&jV.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let i=r[4],n=So(r.slice(5,9)),o=parseInt(So(r.slice(9,13)).substring(2),16),d=So(r.slice(13,45)),g=r.slice(45,78);switch(So(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(uN,null,So(g),n,d,o,i,null);case"0x0488ade4":case"0x04358394 ":if(g[0]!==0)break;return new e(uN,So(g.slice(1)),null,n,d,o,i,null)}return jV.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}};function e7t(e,t){t||(t="");let r=wA("mnemonic"+t,ob.NFKD);return k4(wA(e,ob.NFKD),r,2048,64,"sha512")}function Xde(e,t){t=Wde(t),jV.checkNormalize();let r=t.split(e);if(r.length%3!==0)throw new Error("invalid mnemonic");let i=ii(new Uint8Array(Math.ceil(11*r.length/8))),n=0;for(let _=0;_<r.length;_++){let I=t.getWordIndex(r[_].normalize("NFKD"));if(I===-1)throw new Error("invalid mnemonic");for(let N=0;N<11;N++)I&1<<10-N&&(i[n>>3]|=1<<7-n%8),n++}let o=32*r.length/3,d=r.length/3,g=h$e(d);if((ii(M4(i.slice(0,o/8)))[0]&g)!==(i[i.length-1]&g))throw new Error("invalid checksum");return So(i.slice(0,o/8))}function pk(e,t){if(t=Wde(t),e=ii(e),e.length%4!==0||e.length<16||e.length>32)throw new Error("invalid entropy");let r=[0],i=11;for(let d=0;d<e.length;d++)i>8?(r[r.length-1]<<=8,r[r.length-1]|=e[d],i-=8):(r[r.length-1]<<=i,r[r.length-1]|=e[d]>>8-i,r.push(e[d]&jBt(8-i)),i+=3);let n=e.length/4,o=ii(M4(e))[0]&h$e(n);return r[r.length-1]<<=n,r[r.length-1]|=o>>8-n,t.join(r.map(d=>t.getWord(d)))}J();K();z();J();K();z();J();K();z();var A$e="random/5.7.0";var Zde=new go(A$e);function t7t(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}var p$e=t7t(),eJ=p$e.crypto||p$e.msCrypto;(!eJ||!eJ.getRandomValues)&&(Zde.warn("WARNING: Missing strong random number source"),eJ={getRandomValues:function(e){return Zde.throwError("no secure random source avaialble",go.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});function q6(e){(e<=0||e>1024||e%1||e!=e)&&Zde.throwArgumentError("invalid length","length",e);let t=new Uint8Array(e);return eJ.getRandomValues(t),ii(t)}J();K();z();J();K();z();var tfe=po(efe());J();K();z();var tJ="json-wallets/5.7.0";J();K();z();function Yv(e){return typeof e=="string"&&e.substring(0,2)!=="0x"&&(e="0x"+e),ii(e)}function dN(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function gk(e){return typeof e=="string"?wA(e,ob.NFKC):ii(e)}function V0(e,t){let r=e,i=t.toLowerCase().split("/");for(let n=0;n<i.length;n++){let o=null;for(let d in r)if(d.toLowerCase()===i[n]){o=r[d];break}if(o===null)return null;r=o}return r}function _$e(e){let t=ii(e);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=So(t);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}var r7t=new go(tJ),rfe=class extends N4{isCrowdsaleAccount(t){return!!(t&&t._isCrowdsaleAccount)}};function nfe(e,t){let r=JSON.parse(e);t=gk(t);let i=Th(V0(r,"ethaddr")),n=Yv(V0(r,"encseed"));(!n||n.length%16!==0)&&r7t.throwArgumentError("invalid encseed","json",e);let o=ii(k4(t,t,2e3,32,"sha256")).slice(0,16),d=n.slice(0,16),g=n.slice(16),y=new tfe.default.ModeOfOperation.cbc(o,d),_=tfe.default.padding.pkcs7.strip(ii(y.decrypt(g))),I="";for(let M=0;M<_.length;M++)I+=String.fromCharCode(_[M]);let N=wA(I),T=H0(N);return new rfe({_isCrowdsaleAccount:!0,address:i,privateKey:T})}J();K();z();function ife(e){let t=null;try{t=JSON.parse(e)}catch{return!1}return t.encseed&&t.ethaddr}function ofe(e){let t=null;try{t=JSON.parse(e)}catch{return!1}return!(!t.version||parseInt(t.version)!==t.version||parseInt(t.version)!==3)}J();K();z();var Wv=po(efe()),rJ=po(y$e());var n7t=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},sfe=new go(tJ);function b$e(e){return e!=null&&e.mnemonic&&e.mnemonic.phrase}var cfe=class extends N4{isKeystoreAccount(t){return!!(t&&t._isKeystoreAccount)}};function i7t(e,t,r){if(V0(e,"crypto/cipher")==="aes-128-ctr"){let n=Yv(V0(e,"crypto/cipherparams/iv")),o=new Wv.default.Counter(n),d=new Wv.default.ModeOfOperation.ctr(t,o);return ii(d.decrypt(r))}return null}function E$e(e,t){let r=Yv(V0(e,"crypto/ciphertext"));if(So(H0(V1([t.slice(16,32),r]))).substring(2)!==V0(e,"crypto/mac").toLowerCase())throw new Error("invalid password");let n=i7t(e,t.slice(0,16),r);n||sfe.throwError("unsupported cipher",go.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});let o=t.slice(32,64),d=a_(n);if(e.address){let y=e.address.toLowerCase();if(y.substring(0,2)!=="0x"&&(y="0x"+y),Th(y)!==d)throw new Error("address mismatch")}let g={_isKeystoreAccount:!0,address:d,privateKey:So(n)};if(V0(e,"x-ethers/version")==="0.1"){let y=Yv(V0(e,"x-ethers/mnemonicCiphertext")),_=Yv(V0(e,"x-ethers/mnemonicCounter")),I=new Wv.default.Counter(_),N=new Wv.default.ModeOfOperation.ctr(o,I),T=V0(e,"x-ethers/path")||P4,M=V0(e,"x-ethers/locale")||"en",D=ii(N.decrypt(y));try{let P=pk(D,M),G=G6.fromMnemonic(P,null,M).derivePath(T);if(G.privateKey!=g.privateKey)throw new Error("mnemonic mismatch");g.mnemonic=G.mnemonic}catch(P){if(P.code!==go.errors.INVALID_ARGUMENT||P.argument!=="wordlist")throw P}}return new cfe(g)}function v$e(e,t,r,i,n){return ii(k4(e,t,r,i,n))}function o7t(e,t,r,i,n){return Promise.resolve(v$e(e,t,r,i,n))}function R$e(e,t,r,i,n){let o=gk(t),d=V0(e,"crypto/kdf");if(d&&typeof d=="string"){let g=function(y,_){return sfe.throwArgumentError("invalid key-derivation function parameters",y,_)};if(d.toLowerCase()==="scrypt"){let y=Yv(V0(e,"crypto/kdfparams/salt")),_=parseInt(V0(e,"crypto/kdfparams/n")),I=parseInt(V0(e,"crypto/kdfparams/r")),N=parseInt(V0(e,"crypto/kdfparams/p"));(!_||!I||!N)&&g("kdf",d),(_&_-1)!==0&&g("N",_);let T=parseInt(V0(e,"crypto/kdfparams/dklen"));return T!==32&&g("dklen",T),i(o,y,_,I,N,64,n)}else if(d.toLowerCase()==="pbkdf2"){let y=Yv(V0(e,"crypto/kdfparams/salt")),_=null,I=V0(e,"crypto/kdfparams/prf");I==="hmac-sha256"?_="sha256":I==="hmac-sha512"?_="sha512":g("prf",I);let N=parseInt(V0(e,"crypto/kdfparams/c")),T=parseInt(V0(e,"crypto/kdfparams/dklen"));return T!==32&&g("dklen",T),r(o,y,N,T,_)}}return sfe.throwArgumentError("unsupported key-derivation function","kdf",d)}function S$e(e,t){let r=JSON.parse(e),i=R$e(r,t,v$e,rJ.default.syncScrypt);return E$e(r,i)}function I$e(e,t,r){return n7t(this,void 0,void 0,function*(){let i=JSON.parse(e),n=yield R$e(i,t,o7t,rJ.default.scrypt,r);return E$e(i,n)})}function ufe(e,t,r,i){try{if(Th(e.address)!==a_(e.privateKey))throw new Error("address/privateKey mismatch");if(b$e(e)){let G=e.mnemonic;if(G6.fromMnemonic(G.phrase,null,G.locale).derivePath(G.path||P4).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(G){return Promise.reject(G)}typeof r=="function"&&!i&&(i=r,r={}),r||(r={});let n=ii(e.privateKey),o=gk(t),d=null,g=null,y=null;if(b$e(e)){let G=e.mnemonic;d=ii(Xde(G.phrase,G.locale||"en")),g=G.path||P4,y=G.locale||"en"}let _=r.client;_||(_="ethers.js");let I=null;r.salt?I=ii(r.salt):I=q6(32);let N=null;if(r.iv){if(N=ii(r.iv),N.length!==16)throw new Error("invalid iv")}else N=q6(16);let T=null;if(r.uuid){if(T=ii(r.uuid),T.length!==16)throw new Error("invalid uuid")}else T=q6(16);let M=1<<17,D=8,P=1;return r.scrypt&&(r.scrypt.N&&(M=r.scrypt.N),r.scrypt.r&&(D=r.scrypt.r),r.scrypt.p&&(P=r.scrypt.p)),rJ.default.scrypt(o,I,M,D,P,64,i).then(G=>{G=ii(G);let q=G.slice(0,16),Y=G.slice(16,32),ne=G.slice(32,64),ce=new Wv.default.Counter(N),le=new Wv.default.ModeOfOperation.ctr(q,ce),pe=ii(le.encrypt(n)),ae=H0(V1([Y,pe])),W={address:e.address.substring(2).toLowerCase(),id:_$e(T),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:So(N).substring(2)},ciphertext:So(pe).substring(2),kdf:"scrypt",kdfparams:{salt:So(I).substring(2),n:M,dklen:32,p:P,r:D},mac:ae.substring(2)}};if(d){let se=q6(16),O=new Wv.default.Counter(se),s=new Wv.default.ModeOfOperation.ctr(ne,O),l=ii(s.encrypt(d)),A=new Date,m=A.getUTCFullYear()+"-"+dN(A.getUTCMonth()+1,2)+"-"+dN(A.getUTCDate(),2)+"T"+dN(A.getUTCHours(),2)+"-"+dN(A.getUTCMinutes(),2)+"-"+dN(A.getUTCSeconds(),2)+".0Z";W["x-ethers"]={client:_,gethFilename:"UTC--"+m+"--"+W.address,mnemonicCounter:So(se).substring(2),mnemonicCiphertext:So(l).substring(2),path:g,locale:y,version:"0.1"}}return JSON.stringify(W)})}function C$e(e,t,r){if(ife(e)){r&&r(0);let i=nfe(e,t);return r&&r(1),Promise.resolve(i)}return ofe(e)?I$e(e,t,r):Promise.reject(new Error("invalid JSON wallet"))}function w$e(e,t){if(ife(e))return nfe(e,t);if(ofe(e))return S$e(e,t);throw new Error("invalid JSON wallet")}J();K();z();var O$e="wallet/5.7.0";var N$e=function(e,t,r,i){function n(o){return o instanceof r?o:new r(function(d){d(o)})}return new(r||(r=Promise))(function(o,d){function g(I){try{_(i.next(I))}catch(N){d(N)}}function y(I){try{_(i.throw(I))}catch(N){d(N)}}function _(I){I.done?o(I.value):n(I.value).then(g,y)}_((i=i.apply(e,t||[])).next())})},fN=new go(O$e);function a7t(e){return e!=null&&Lf(e.privateKey,32)&&e.address!=null}function s7t(e){let t=e.mnemonic;return t&&t.phrase}var lN=class e extends YV{constructor(t,r){if(super(),a7t(t)){let i=new Ab(t.privateKey);if(Po(this,"_signingKey",()=>i),Po(this,"address",a_(this.publicKey)),this.address!==Th(t.address)&&fN.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),s7t(t)){let n=t.mnemonic;Po(this,"_mnemonic",()=>({phrase:n.phrase,path:n.path||P4,locale:n.locale||"en"}));let o=this.mnemonic,d=G6.fromMnemonic(o.phrase,null,o.locale).derivePath(o.path);a_(d.privateKey)!==this.address&&fN.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Po(this,"_mnemonic",()=>null)}else{if(Ab.isSigningKey(t))t.curve!=="secp256k1"&&fN.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Po(this,"_signingKey",()=>t);else{typeof t=="string"&&t.match(/^[0-9a-f]*$/i)&&t.length===64&&(t="0x"+t);let i=new Ab(t);Po(this,"_signingKey",()=>i)}Po(this,"_mnemonic",()=>null),Po(this,"address",a_(this.publicKey))}r&&!$V.isProvider(r)&&fN.throwArgumentError("invalid provider","provider",r),Po(this,"provider",r||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new e(this,t)}signTransaction(t){return Jv(t).then(r=>{r.from!=null&&(Th(r.from)!==this.address&&fN.throwArgumentError("transaction from address mismatch","transaction.from",t.from),delete r.from);let i=this._signingKey().signDigest(H0(Jde(r)));return Jde(r,i)})}signMessage(t){return N$e(this,void 0,void 0,function*(){return bde(this._signingKey().signDigest(L6(t)))})}_signTypedData(t,r,i){return N$e(this,void 0,void 0,function*(){let n=yield x4.resolveNames(t,r,i,o=>(this.provider==null&&fN.throwError("cannot resolve ENS names without a provider",go.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:o}),this.provider.resolveName(o)));return bde(this._signingKey().signDigest(x4.hash(n.domain,r,n.value)))})}encrypt(t,r,i){if(typeof r=="function"&&!i&&(i=r,r={}),i&&typeof i!="function")throw new Error("invalid callback");return r||(r={}),ufe(this,t,r,i)}static createRandom(t){let r=q6(16);t||(t={}),t.extraEntropy&&(r=ii(Gv(H0(V1([r,t.extraEntropy])),0,16)));let i=pk(r,t.locale);return e.fromMnemonic(i,t.path,t.locale)}static fromEncryptedJson(t,r,i){return C$e(t,r,i).then(n=>new e(n))}static fromEncryptedJsonSync(t,r){return new e(w$e(t,r))}static fromMnemonic(t,r,i){return r||(r=P4),new e(G6.fromMnemonic(t,null,i).derivePath(r))}};function x$e(e,t){return Vde(L6(e),t)}function nJ(e,t,r,i){return Vde(x4.hash(e,t,r),i)}var Xv=class{signer;publicKey;ownerLength=ps[ko.ETHEREUM].pubLength;signatureLength=ps[ko.ETHEREUM].sigLength;signatureType=ko.ETHEREUM;constructor(t){this.signer=t.getSigner()}async setPublicKey(){let t="sign this message to connect to Bundlr.Network",r=await this.signer.signMessage(t),i=await L6(t),n=sN(ii(i),r);this.publicKey=fe.from(ii(n))}async sign(t){this.publicKey||await this.setPublicKey();let r=await this.signer.signMessage(t);return fe.from(r.slice(2),"hex")}static verify(t,r,i){let n=a_(t);return x$e(r,i)===n}};J();K();z();var hN=po(M$e(),1),Zv=class extends H1{get publicKey(){return hN.default.decode(this.pk)}get key(){return hN.default.decode(this._key)}constructor(t){let r=hN.default.decode(t);super(hN.default.encode(r.subarray(0,32)),hN.default.encode(r.subarray(32,64)))}};J();K();z();J();K();z();J();K();z();var eXe=po(Cg(),1),ale=po(wfe(),1);J();K();z();mh();var KWe=po(zWe(),1);function ole(e){return e=$We(e),(0,KWe.default)("keccak256").update(e).digest()}function $We(e){if(!fe.isBuffer(e))if(Array.isArray(e))e=fe.from(e);else if(typeof e=="string")YWe(e)?e=fe.from(kJ(WWe(e)),"hex"):e=fe.from(e);else if(typeof e=="number")e=ZWe(e);else if(typeof e=="bigint")e=SDt(e);else if(e==null)e=fe.allocUnsafe(0);else throw new Error("invalid type");return e}function YWe(e,t){return!(typeof e!="string"||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}function kJ(e){if(typeof e!="string")throw new Error(`while padding to even, value must be string, is currently ${typeof e}, while padToEven.`);return e.length%2&&(e=`0${e}`),e}function WWe(e){return typeof e!="string"?e:XWe(e)?e.slice(2):e}function XWe(e){if(typeof e!="string")throw new Error("value must be type 'string', is currently type "+typeof e+", while checking isHexPrefixed.");return e.startsWith("0x")}function ZWe(e){let t=jWe(e);return fe.from(kJ(t.slice(2)),"hex")}function jWe(e){return`0x${e.toString(16)}`}function SDt(e){let t=e.toString(16);return fe.from(kJ(t),"hex")}typeof window<"u"&&(window.keccak256=ole);var Nk=ole,IDt={intToBuffer:ZWe,intToHex:jWe,isHexPrefixed:XWe,stripHexPrefix:WWe,padToEven:kJ,isHexString:YWe,toBuffer:$We};var W4=class{_key;ownerLength=ps[ko.ETHEREUM].pubLength;signatureLength=ps[ko.ETHEREUM].sigLength;signatureType=ko.ETHEREUM;pk;constructor(t,r){this._key=t,this.pk=r.toString("hex")}get publicKey(){throw new Error("You must implement `publicKey`")}get key(){return fe.from(this._key,"hex")}static async verify(t,r,i){let n=t;typeof t=="string"&&(n=eXe.default.toBuffer(t));let o=!1;try{o=ale.default.ecdsaVerify(i,Nk(fe.from(r)),n)}catch{}return o}async sign(t){return ale.default.ecdsaSign(Nk(fe.from(t)),fe.from(this.key)).signature}};var sle=po(wfe(),1),tXe=po(Cg(),1);var m0=class extends W4{get publicKey(){return fe.from(this.pk,"hex")}constructor(t){t.startsWith("0x")&&(t=t.slice(2));let r=fe.from(t,"hex"),i=sle.default.publicKeyCreate(r,!1);super(t,fe.from(i))}async sign(t){return new lN(this._key).signMessage(t).then(i=>fe.from(i.slice(2),"hex"))}static async verify(t,r,i){return sle.default.ecdsaVerify(i.length===65?i.slice(0,-1):i,ii(L6(r)),typeof t=="string"?tXe.default.toBuffer(t):t)}};var xk=class extends m0{};J();K();z();var Tk=class extends Zv{constructor(t){super(t.replace("ed25519:",""))}};J();K();z();var Bk=class extends H1{get publicKey(){return fe.from(this.pk)}get key(){return fe.from(this._key)}constructor(t,r){super(t.subarray(0,32),r)}};J();K();z();var Pm=class extends w4{signatureType=4;constructor(t){super(t)}async sign(t){return super.sign(fe.from(fe.from(t).toString("hex")))}static async verify(t,r,i){return super.verify(t,fe.from(fe.from(r).toString("hex")),i)}};J();K();z();var bb=class extends Zv{signatureType=4;constructor(t){super(t)}async sign(t){return super.sign(fe.from(fe.from(t).toString("hex")))}static async verify(t,r,i){return super.verify(t,fe.from(fe.from(r).toString("hex")),i)}};J();K();z();var Mk=class extends H1{constructor(t,r){super(t,r)}get publicKey(){return fe.from(this.pk.slice(2),"hex")}get key(){return fe.from(this._key.slice(2),"hex")}};J();K();z();var X4=class{_publicKey;ownerLength=ps[ko.INJECTEDAPTOS].pubLength;signatureLength=ps[ko.INJECTEDAPTOS].sigLength;signatureType=ko.INJECTEDAPTOS;pem;provider;constructor(t,r){this.provider=t,this._publicKey=r}get publicKey(){return this._publicKey}async sign(t){if(!this.provider.signMessage)throw new Error("Selected Wallet does not support message signing");let i=(await this.provider.signMessage({message:fe.from(t).toString("hex"),nonce:"bundlr"})).signature;return typeof i=="string"?fe.from(i,"hex"):i.data.toUint8Array()}static async verify(t,r,i){let n=t;return x6(fe.from(i),fe.from(`APTOS +message: ${fe.from(r).toString("hex")} +nonce: bundlr`),fe.from(n))}};J();K();z();var Z4=class{_publicKey;ownerLength=ps[ko.MULTIAPTOS].pubLength;signatureLength=ps[ko.MULTIAPTOS].sigLength;signatureType=ko.MULTIAPTOS;collectSignatures;provider;constructor(t,r){this._publicKey=t,this.collectSignatures=r}get publicKey(){return this._publicKey}async sign(t){let{signatures:r,bitmap:i}=await this.collectSignatures(t),n=128,o=new Uint8Array([0,0,0,0]),d=new Set;i.forEach(_=>{if(_>=32)throw new Error(`Invalid bit value ${_}.`);if(d.has(_))throw new Error("Duplicated bits detected.");d.add(_);let I=Math.floor(_/8),N=o[I];N|=n>>_%8,o[I]=N});let g=fe.alloc(this.signatureLength),y=0;for(let _=0;_<32;_++)i.includes(_)&&g.set(r[y++],_*64);return g.set(o,this.signatureLength-4),g}static async verify(t,r,i){let o=ps[ko.MULTIAPTOS].sigLength-4,d=i.slice(0,o),g=i.slice(o),y=!1;for(let _=0;_<32;_++){let I=Math.floor(_/8),N=_-I*8;if((g[I]&128>>N)!==0){let M=d.slice(_*64,(_+1)*64),D=t.slice(_*32,(_+1)*32);await x6(fe.from(M),fe.from(r),fe.from(D))||(y=!0)}}return!y}};J();K();z();var j4=class extends m0{ownerLength=ps[ko.TYPEDETHEREUM].pubLength;signatureLength=ps[ko.TYPEDETHEREUM].sigLength;signatureType=ko.TYPEDETHEREUM;address;signer;constructor(t){super(t),this.address="0x"+Nk(super.publicKey.slice(1)).slice(-20).toString("hex"),this.signer=new lN(t)}get publicKey(){return fe.from(this.address)}async sign(t){let r=await this.signer._signTypedData(Dk,kk,{address:this.address,"Transaction hash":t});return fe.from(r.slice(2),"hex")}static async verify(t,r,i){let n=t.toString(),o=nJ(Dk,kk,{address:n,"Transaction hash":r},i);return n.toLowerCase()===o.toLowerCase()}},Dk={name:"Bundlr",version:"1"},kk={Bundlr:[{name:"Transaction hash",type:"bytes"},{name:"address",type:"address"}]};J();K();z();var cle=class{ownerLength=ps[ko.TYPEDETHEREUM].pubLength;signatureLength=ps[ko.TYPEDETHEREUM].sigLength;signatureType=ko.TYPEDETHEREUM;address;signer;publicKey;constructor(t){this.signer=t.getSigner()}async ready(){this.address=(await this.signer.getAddress()).toString().toLowerCase(),this.publicKey=fe.from(this.address)}async sign(t){let r=await this.signer._signTypedData(Dk,kk,{address:this.address,"Transaction hash":t});return fe.from(r.slice(2),"hex")}static verify(t,r,i){let n=t.toString(),o=nJ(Dk,kk,{address:n,"Transaction hash":r},i);return n.toLowerCase()===o.toLowerCase()}};J();K();z();var rXe=po(Cg(),1);var eC=class{signer;publicKey;ownerLength=ps[ko.ARWEAVE].pubLength;signatureLength=ps[ko.ARWEAVE].sigLength;signatureType=ko.ARWEAVE;constructor(t){this.signer=t}async setPublicKey(){let t=await this.signer.getActivePublicKey();this.publicKey=rXe.default.toBuffer(t)}async sign(t){this.publicKey||await this.setPublicKey();let r={name:"RSA-PSS",saltLength:32},i=await this.signer.signature(t,r);return new Uint8Array(Object.values(i).map(o=>+o))}static async verify(t,r,i){return await Od().verify(t,r,i)}};J();K();z();var Pk=class extends m0{signatureType=ko.KYVE};var Lk={1:nb,2:H1,3:m0,4:Pm,5:X4,6:Z4,7:j4};J();K();z();J();K();z();async function CDt(e){return rb([(0,js.stringToBuffer)("dataitem"),(0,js.stringToBuffer)("1"),(0,js.stringToBuffer)(e.signatureType.toString()),e.rawOwner,e.rawTarget,e.rawAnchor,e.rawTags,e.rawData])}var Uk=CDt;J();K();z();J();K();z();function Fk(e,t){let r=new Uint8Array(e);if(t<0)throw new Error("Array is unsigned, cannot represent -ve numbers");if(t>2**(e*8)-1)throw new Error(`Number ${t} is too large for an array of ${e} bytes`);for(let i=0;i<r.length;i++){let n=t&255;r[i]=n,t=(t-n)/256}return r}function PJ(e){return Fk(8,e)}function ule(e){return Fk(2,e)}function wDt(e){return Fk(16,e)}function LJ(e){return Fk(32,e)}function ld(e){let t=0;for(let r=e.length-1;r>=0;r--)t=t*256+e[r];return t}J();K();z();var Hk=po(Cg(),1);J();K();z();var h_=po(Cg(),1);mh();J();K();z();var Qk=class{buf;pos;constructor(t=fe.alloc(UJ),r=0){this.buf=t,this.pos=r}writeTags(t){if(!Array.isArray(t))throw new Error("input must be array");let r=t.length,i;if(r)for(this.writeLong(r),i=0;i<r;i++){let n=t[i];if(typeof n?.name!="string"||typeof n?.value!="string")throw new Error(`Invalid tag format for ${n}, expected {name:string, value: string}`);this.writeString(n.name),this.writeString(n.value)}this.writeLong(0)}toBuffer(){let t=fe.alloc(this.pos);if(this.pos>this.buf.length)throw new Error(`Too many tag bytes (${this.pos} > ${this.buf.length})`);return this.buf.copy(t,0,0,this.pos),t}writeLong(t){let r=this.buf,i,n;if(t>=-1073741824&&t<1073741824){n=t>=0?t<<1:~t<<1|1;do r[this.pos]=n&127,n>>=7;while(n&&(r[this.pos++]|=128))}else{i=t>=0?t*2:-t*2-1;do r[this.pos]=i&127,i/=128;while(i>=1&&(r[this.pos++]|=128))}this.pos++,this.buf=r}writeString(t){let r=fe.byteLength(t),i=this.buf;this.writeLong(r);let n=this.pos;if(this.pos+=r,!(this.pos>i.length)){if(r>64)this.buf.write(t,this.pos-r,r,"utf8");else{let o,d,g,y;for(o=0,d=r;o<d;o++)g=t.charCodeAt(o),g<128?i[n++]=g:g<2048?(i[n++]=g>>6|192,i[n++]=g&63|128):(g&64512)===55296&&((y=t.charCodeAt(o+1))&64512)===56320?(g=65536+((g&1023)<<10)+(y&1023),o++,i[n++]=g>>18|240,i[n++]=g>>12&63|128,i[n++]=g>>6&63|128,i[n++]=g&63|128):(i[n++]=g>>12|224,i[n++]=g>>6&63|128,i[n++]=g&63|128)}this.buf=i}}readLong(){let t=0,r=0,i=this.buf,n,o,d,g;do n=i[this.pos++],o=n&128,t|=(n&127)<<r,r+=7;while(o&&r<28);if(o){d=t,g=268435456;do n=i[this.pos++],d+=(n&127)*g,g*=128;while(n&128);return(d%2?-(d+1):d)/2}return t>>1^-(t&1)}skipLong(){let t=this.buf;for(;t[this.pos++]&128;);}readTags(){let t=[],r;for(;r=this.readLong();)for(r<0&&(r=-r,this.skipLong());r--;){let i=this.readString(),n=this.readString();t.push({name:i,value:n})}return t}readString(){let t=this.readLong(),r=this.pos,i=this.buf;if(this.pos+=t,this.pos>i.length)throw new Error("TAP Position out of range");return this.buf.slice(r,r+t).toString()}};function dle(e){if(e?.length===0)return fe.allocUnsafe(0);let t=new Qk;return t.writeTags(e),t.toBuffer()}function CN(e){return new Qk(e).readTags()}IA();var QJ=80,UJ=4096,FJ=class e{binary;_id;constructor(t){this.binary=t}static isDataItem(t){return t.binary!==void 0}get signatureType(){let t=ld(this.binary.subarray(0,2));if(ko?.[t]!==void 0)return t;throw new Error("Unknown signature type: "+t)}async isValid(){return e.verify(this.binary)}get id(){return h_.default.encode(this.rawId)}set id(t){this._id=h_.default.toBuffer(t)}get rawId(){return vm("sha256").update(this.rawSignature).digest()}set rawId(t){this._id=t}get rawSignature(){return this.binary.subarray(2,2+this.signatureLength)}get signature(){return h_.default.encode(this.rawSignature)}set rawOwner(t){if(t.byteLength!=this.ownerLength)throw new Error(`Expected raw owner (pubkey) to be ${this.ownerLength} bytes, got ${t.byteLength} bytes.`);this.binary.set(t,2+this.signatureLength)}get rawOwner(){return this.binary.subarray(2+this.signatureLength,2+this.signatureLength+this.ownerLength)}get signatureLength(){return ps[this.signatureType].sigLength}get owner(){return h_.default.encode(this.rawOwner)}get ownerLength(){return ps[this.signatureType].pubLength}get rawTarget(){let t=this.getTargetStart();return this.binary[t]==1?this.binary.subarray(t+1,t+33):fe.alloc(0)}get target(){return h_.default.encode(this.rawTarget)}get rawAnchor(){let t=this.getAnchorStart();return this.binary[t]==1?this.binary.subarray(t+1,t+33):fe.alloc(0)}get anchor(){return h_.default.encode(this.rawAnchor)}get rawTags(){let t=this.getTagsStart(),r=ld(this.binary.subarray(t+8,t+16));return this.binary.subarray(t+16,t+16+r)}get tags(){let t=this.getTagsStart();if(ld(this.binary.subarray(t,t+8))==0)return[];let i=ld(this.binary.subarray(t+8,t+16));return CN(fe.from(this.binary.subarray(t+16,t+16+i)))}get tagsB64Url(){return this.tags.map(r=>({name:h_.default.encode(r.name),value:h_.default.encode(r.value)}))}getStartOfData(){let t=this.getTagsStart(),r=this.binary.subarray(t+8,t+16),i=ld(r);return t+16+i}get rawData(){let t=this.getTagsStart(),r=this.binary.subarray(t+8,t+16),i=ld(r),n=t+16+i;return this.binary.subarray(n,this.binary.length)}get data(){return h_.default.encode(this.rawData)}getRaw(){return this.binary}async sign(t){return this._id=await HJ(this,t),this.rawId}async setSignature(t){this.binary.set(t,2),this._id=fe.from(await Od().hash(t))}isSigned(){return(this._id?.length??0)>0}toJSON(){return{signature:this.signature,owner:this.owner,target:this.target,tags:this.tags.map(t=>({name:h_.default.encode(t.name),value:h_.default.encode(t.value)})),data:this.data}}static async verify(t){if(t.byteLength<QJ)return!1;let r=new e(t),i=r.signatureType,n=r.getTagsStart(),o=ld(t.subarray(n,n+8)),d=t.subarray(n+8,n+16),g=ld(d);if(g>UJ)return!1;if(o>0)try{if(CN(fe.from(t.subarray(n+16,n+16+g))).length!==o)return!1}catch{return!1}let y=Lk[i],_=await Uk(r);return await y.verify(r.rawOwner,_,r.rawSignature)}async getSignatureData(){return Uk(this)}getTagsStart(){let t=this.getTargetStart(),r=this.binary[t]==1,i=t+(r?33:1),n=this.binary[i]==1;return i+=n?33:1,i}getTargetStart(){return 2+this.signatureLength+this.ownerLength}getAnchorStart(){let t=this.getTargetStart()+1,r=this.binary[this.getTargetStart()]==1;return t+=r?32:0,t}},wN=FJ;IA();var Eb=32,GJ=class{length;items;binary;constructor(t){this.binary=t,this.length=this.getDataItemCount(),this.items=this.getItems()}getRaw(){return this.binary}get(t){if(typeof t=="number"){if(t>=this.length)throw new RangeError("Index out of range");return this.getByIndex(t)}else return this.getById(t)}getSizes(){let t=[];for(let r=Eb;r<Eb+64*this.length;r+=64)t.push(ld(this.binary.subarray(r,r+32)));return t}getIds(){let t=[];for(let r=Eb;r<Eb+64*this.length;r+=64){let i=this.binary.subarray(r+32,r+64);if(i.length===0)throw new Error("Invalid bundle, id specified in headers doesn't exist");t.push(Hk.default.encode(i))}return t}getIdBy(t){if(t>this.length-1)throw new RangeError("Index of bundle out of range");let r=64+64*t;return Hk.default.encode(this.binary.subarray(r,r+32))}async toTransaction(t,r,i){let n=await r.createTransaction({data:this.binary,...t},i);return n.addTag("Bundle-Format","binary"),n.addTag("Bundle-Version","2.0.0"),n}async verify(){for(let t of this.items){let r=await t.isValid(),i=(0,Hk.default)(vm("sha256").update(t.rawSignature).digest());if(!(r&&t.id===i))return!1}return!0}getOffset(t){let r=0;for(let i=Eb;i<Eb+64*this.length;i+=64){let n=ld(this.binary.subarray(i,i+32));r+=n;let o=this.binary.subarray(i+32,i+64);if(fe.compare(o,t)===0)return{startOffset:r,size:n}}return{startOffset:-1,size:-1}}getByIndex(t){let r=0,i=this.getBundleStart(),n=0,o,d;for(let I=Eb;I<Eb+64*this.length;I+=64){if(o=ld(this.binary.subarray(I,I+32)),n++===t){d=this.binary.subarray(I+32,I+64);break}r+=o}let g=i+r,y=this.binary.subarray(g,g+o),_=new wN(y);return _.rawId=d,_}getById(t){let r=Hk.default.toBuffer(t),i=this.getOffset(r);if(i.startOffset===-1)throw new Error("Transaction not found");let o=this.getBundleStart()+i.startOffset;return new wN(this.binary.subarray(o,o+i.size))}getDataItemCount(){return ld(this.binary.subarray(0,32))}getBundleStart(){return 32+64*this.length}getItems(){let t=new Array(this.length),r=0,i=this.getBundleStart(),n=0;for(let o=Eb;o<Eb+64*this.length;o+=64){let d=ld(this.binary.subarray(o,o+32)),g=this.binary.subarray(o+32,o+64);if(g.length===0)throw new Error("Invalid bundle, id specified in headers doesn't exist");let y=i+r,_=this.binary.subarray(y,y+d);r+=d;let I=new wN(_);I.rawId=g,t[n]=I,n++}return t}},fle=GJ;function ODt(e){return new fle(e)}async function NDt(e,t){let r=new Uint8Array(64*e.length),i=await Promise.all(e.map(async(o,d)=>{let g=o.isSigned()?o.rawId:await HJ(o,t),y=new Uint8Array(64);return y.set(LJ(o.getRaw().byteLength),0),y.set(g,32),r.set(y,64*d),o.getRaw()})).then(o=>fe.concat(o)),n=fe.concat([fe.from(LJ(e.length)),fe.from(r),i]);return new fle(n)}async function nXe(e,t){let r=await Uk(e),i=await t.sign(r),n=await Od().hash(i);return{signature:fe.from(i),id:fe.from(n)}}async function HJ(e,t){let{signature:r,id:i}=await nXe(e,t);return e.getRaw().set(r,2),i}J();K();z();var iXe=po(Cg(),1);function Gk(e,t,r){let i=t.publicKey,n=r?.target?iXe.default.toBuffer(r.target):null,o=1+(n?.byteLength??0),d=r?.anchor?fe.from(r.anchor):null,g=1+(d?.byteLength??0),y=(r?.tags?.length??0)>0?dle(r?.tags):null,_=16+(y?y.byteLength:0),I=typeof e=="string"?fe.from(e):fe.from(e),N=I.byteLength,T=2+t.signatureLength+t.ownerLength+o+g+_+N,M=fe.alloc(T);if(M.set(ule(t.signatureType),0),M.set(new Uint8Array(t.signatureLength).fill(0),2),i.byteLength!==t.ownerLength)throw new Error(`Owner must be ${t.ownerLength} bytes, but was incorrectly ${i.byteLength}`);M.set(i,2+t.signatureLength);let D=2+t.signatureLength+t.ownerLength;if(M[D]=n?1:0,n){if(n.byteLength!==32)throw new Error(`Target must be 32 bytes but was incorrectly ${n.byteLength}`);M.set(n,D+1)}let P=D+o,G=P+1;if(M[P]=d?1:0,d){if(G+=d.byteLength,d.byteLength!==32)throw new Error("Anchor must be 32 bytes");M.set(d,P+1)}M.set(PJ(r?.tags?.length??0),G);let q=PJ(y?.byteLength??0);M.set(q,G+8),y&&M.set(y,G+16);let Y=G+_;return M.set(I,Y),new wN(M)}J();K();z();J();K();z();var lle=class{signatureType;rawSignature;signature;signatureLength;rawOwner;owner;ownerLength;rawTarget;target;rawAnchor;anchor;rawTags;tags;rawData;data;static async verify(...t){throw new Error("You must implement `verify`")}};J();K();z();J();K();z();var gle={};gh(gle,{default:()=>BDt,processStream:()=>sXe,streamExportForTesting:()=>MDt,streamSigner:()=>TDt});J();K();z();qk();var tC=po(Cg(),1);IA();async function sXe(e){let t=cXe(e),r=(await t.next()).value;r=await OA(t,r,32);let i=ld(r.subarray(0,32));r=r.subarray(32);let n=64*i;r=await OA(t,r,n);let o=new Array(i);for(let y=0;y<n;y+=64)o[y/64]=[ld(r.subarray(y,y+32)),(0,tC.default)(fe.from(r.subarray(y+32,y+64)))];r=r.subarray(n);let d=32+n,g=[];for(let[y,_]of o){r=await OA(t,r,QJ),r=await OA(t,r,2);let I=ld(r.subarray(0,2));r=r.subarray(2);let{sigLength:N,pubLength:T,sigName:M}=ps[I];r=await OA(t,r,N);let D=r.subarray(0,N);r=r.subarray(N),r=await OA(t,r,T);let P=r.subarray(0,T);r=r.subarray(T),r=await OA(t,r,1);let G=r[0]===1;G&&(r=await OA(t,r,33));let q=G?r.subarray(1,33):fe.allocUnsafe(0);r=r.subarray(G?33:1),r=await OA(t,r,1);let Y=r[0]===1;Y&&(r=await OA(t,r,33));let ne=Y?r.subarray(1,33):fe.allocUnsafe(0);r=r.subarray(Y?33:1),r=await OA(t,r,8);let ce=ld(r.subarray(0,8));r=r.subarray(8),r=await OA(t,r,8);let le=ld(r.subarray(0,8));r=r.subarray(8),r=await OA(t,r,le);let pe=r.subarray(0,le),ae=ce!==0&&le!==0?CN(fe.from(pe)):[];if(ae.length!==ce)throw new Error("Tags lengths don't match");r=r.subarray(le);let W=new aXe;W._transform=function(A,m,E){this.push(A),E()};let se=rb([(0,js.stringToBuffer)("dataitem"),(0,js.stringToBuffer)("1"),(0,js.stringToBuffer)(I.toString()),P,q,ne,pe,W]),O=2+N+T+(G?33:1)+(Y?33:1)+16+le,s=y-O;if(r.byteLength>s)W.write(r.subarray(0,s)),r=r.subarray(s);else{let A=r.byteLength;for(W.write(r);s>A;){if(r=(await t.next()).value,!r)throw new Error(`Not enough data bytes expected: ${s} received: ${A}`);A+=r.byteLength,A>s?W.write(r.subarray(0,r.byteLength-(A-s))):W.write(r)}r=r.subarray(r.byteLength-(A-s))}if(W.end(),_!==(0,tC.default)(vm("sha256").update(D).digest()))throw new Error("ID doesn't match signature");if(!await Lk[I].verify(P,await se,D))throw new Error("Invalid signature");g.push({id:_,sigName:M,signature:(0,tC.default)(fe.from(D)),target:(0,tC.default)(fe.from(q)),anchor:(0,tC.default)(fe.from(ne)),owner:(0,tC.default)(fe.from(P)),tags:ae,dataOffset:d+O,dataSize:s}),d+=O+s}return g}async function TDt(e,t,r,i){let n=Gk("",r,i),o=new VJ,d=[(0,js.stringToBuffer)("dataitem"),(0,js.stringToBuffer)("1"),(0,js.stringToBuffer)(n.signatureType.toString()),n.rawOwner,n.rawTarget,n.rawAnchor,n.rawTags,e],g=await rb(d),y=fe.from(await r.sign(g));return n.setSignature(y),o.write(n.getRaw()),t.pipe(o)}async function OA(e,t,r){if(t.byteLength>=r)return t;let{done:i,value:n}=await e.next();if(i&&!n)throw new Error("Invalid buffer");return OA(e,fe.concat([fe.from(t),fe.from(n)]),r)}async function*cXe(e){for await(let t of e)yield t}var BDt=sXe,MDt={readBytes:OA,getReader:cXe};var DDt={...hle,stream:gle};globalThis.arbundles??=DDt;J();K();z();J();K();z();var kDt=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,_le=Math.ceil,p_=Math.floor,Bp="[BigNumber Error] ",uXe=Bp+"Number primitive has more than 15 significant digits: ",Lm=1e14,Ea=14,mle=9007199254740991,yle=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],tI=1e7,dl=1e9;function dXe(e){var t,r,i,n=Y.prototype={constructor:Y,toString:null,valueOf:null},o=new Y(1),d=20,g=4,y=-7,_=21,I=-1e7,N=1e7,T=!1,M=1,D=0,P={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},G="0123456789abcdefghijklmnopqrstuvwxyz",q=!0;function Y(W,se){var O,s,l,A,m,E,w,x,R=this;if(!(R instanceof Y))return new Y(W,se);if(se==null){if(W&&W._isBigNumber===!0){R.s=W.s,!W.c||W.e>N?R.c=R.e=null:W.e<I?R.c=[R.e=0]:(R.e=W.e,R.c=W.c.slice());return}if((E=typeof W=="number")&&W*0==0){if(R.s=1/W<0?(W=-W,-1):1,W===~~W){for(A=0,m=W;m>=10;m/=10,A++);A>N?R.c=R.e=null:(R.e=A,R.c=[W]);return}x=String(W)}else{if(!kDt.test(x=String(W)))return i(R,x,E);R.s=x.charCodeAt(0)==45?(x=x.slice(1),-1):1}(A=x.indexOf("."))>-1&&(x=x.replace(".","")),(m=x.search(/e/i))>0?(A<0&&(A=m),A+=+x.slice(m+1),x=x.substring(0,m)):A<0&&(A=x.length)}else{if(J0(se,2,G.length,"Base"),se==10&&q)return R=new Y(W),pe(R,d+R.e+1,g);if(x=String(W),E=typeof W=="number"){if(W*0!=0)return i(R,x,E,se);if(R.s=1/W<0?(x=x.slice(1),-1):1,Y.DEBUG&&x.replace(/^0\.0*|\./,"").length>15)throw Error(uXe+W)}else R.s=x.charCodeAt(0)===45?(x=x.slice(1),-1):1;for(O=G.slice(0,se),A=m=0,w=x.length;m<w;m++)if(O.indexOf(s=x.charAt(m))<0){if(s=="."){if(m>A){A=w;continue}}else if(!l&&(x==x.toUpperCase()&&(x=x.toLowerCase())||x==x.toLowerCase()&&(x=x.toUpperCase()))){l=!0,m=-1,A=0;continue}return i(R,String(W),E,se)}E=!1,x=r(x,se,10,R.s),(A=x.indexOf("."))>-1?x=x.replace(".",""):A=x.length}for(m=0;x.charCodeAt(m)===48;m++);for(w=x.length;x.charCodeAt(--w)===48;);if(x=x.slice(m,++w)){if(w-=m,E&&Y.DEBUG&&w>15&&(W>mle||W!==p_(W)))throw Error(uXe+R.s*W);if((A=A-m-1)>N)R.c=R.e=null;else if(A<I)R.c=[R.e=0];else{if(R.e=A,R.c=[],m=(A+1)%Ea,A<0&&(m+=Ea),m<w){for(m&&R.c.push(+x.slice(0,m)),w-=Ea;m<w;)R.c.push(+x.slice(m,m+=Ea));m=Ea-(x=x.slice(m)).length}else m-=w;for(;m--;x+="0");R.c.push(+x)}}else R.c=[R.e=0]}Y.clone=dXe,Y.ROUND_UP=0,Y.ROUND_DOWN=1,Y.ROUND_CEIL=2,Y.ROUND_FLOOR=3,Y.ROUND_HALF_UP=4,Y.ROUND_HALF_DOWN=5,Y.ROUND_HALF_EVEN=6,Y.ROUND_HALF_CEIL=7,Y.ROUND_HALF_FLOOR=8,Y.EUCLID=9,Y.config=Y.set=function(W){var se,O;if(W!=null)if(typeof W=="object"){if(W.hasOwnProperty(se="DECIMAL_PLACES")&&(O=W[se],J0(O,0,dl,se),d=O),W.hasOwnProperty(se="ROUNDING_MODE")&&(O=W[se],J0(O,0,8,se),g=O),W.hasOwnProperty(se="EXPONENTIAL_AT")&&(O=W[se],O&&O.pop?(J0(O[0],-dl,0,se),J0(O[1],0,dl,se),y=O[0],_=O[1]):(J0(O,-dl,dl,se),y=-(_=O<0?-O:O))),W.hasOwnProperty(se="RANGE"))if(O=W[se],O&&O.pop)J0(O[0],-dl,-1,se),J0(O[1],1,dl,se),I=O[0],N=O[1];else if(J0(O,-dl,dl,se),O)I=-(N=O<0?-O:O);else throw Error(Bp+se+" cannot be zero: "+O);if(W.hasOwnProperty(se="CRYPTO"))if(O=W[se],O===!!O)if(O)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))T=O;else throw T=!O,Error(Bp+"crypto unavailable");else T=O;else throw Error(Bp+se+" not true or false: "+O);if(W.hasOwnProperty(se="MODULO_MODE")&&(O=W[se],J0(O,0,9,se),M=O),W.hasOwnProperty(se="POW_PRECISION")&&(O=W[se],J0(O,0,dl,se),D=O),W.hasOwnProperty(se="FORMAT"))if(O=W[se],typeof O=="object")P=O;else throw Error(Bp+se+" not an object: "+O);if(W.hasOwnProperty(se="ALPHABET"))if(O=W[se],typeof O=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(O))q=O.slice(0,10)=="0123456789",G=O;else throw Error(Bp+se+" invalid: "+O)}else throw Error(Bp+"Object expected: "+W);return{DECIMAL_PLACES:d,ROUNDING_MODE:g,EXPONENTIAL_AT:[y,_],RANGE:[I,N],CRYPTO:T,MODULO_MODE:M,POW_PRECISION:D,FORMAT:P,ALPHABET:G}},Y.isBigNumber=function(W){if(!W||W._isBigNumber!==!0)return!1;if(!Y.DEBUG)return!0;var se,O,s=W.c,l=W.e,A=W.s;e:if({}.toString.call(s)=="[object Array]"){if((A===1||A===-1)&&l>=-dl&&l<=dl&&l===p_(l)){if(s[0]===0){if(l===0&&s.length===1)return!0;break e}if(se=(l+1)%Ea,se<1&&(se+=Ea),String(s[0]).length==se){for(se=0;se<s.length;se++)if(O=s[se],O<0||O>=Lm||O!==p_(O))break e;if(O!==0)return!0}}}else if(s===null&&l===null&&(A===null||A===1||A===-1))return!0;throw Error(Bp+"Invalid BigNumber: "+W)},Y.maximum=Y.max=function(){return ce(arguments,-1)},Y.minimum=Y.min=function(){return ce(arguments,1)},Y.random=(function(){var W=9007199254740992,se=Math.random()*W&2097151?function(){return p_(Math.random()*W)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(O){var s,l,A,m,E,w=0,x=[],R=new Y(o);if(O==null?O=d:J0(O,0,dl),m=_le(O/Ea),T)if(crypto.getRandomValues){for(s=crypto.getRandomValues(new Uint32Array(m*=2));w<m;)E=s[w]*131072+(s[w+1]>>>11),E>=9e15?(l=crypto.getRandomValues(new Uint32Array(2)),s[w]=l[0],s[w+1]=l[1]):(x.push(E%1e14),w+=2);w=m/2}else if(crypto.randomBytes){for(s=crypto.randomBytes(m*=7);w<m;)E=(s[w]&31)*281474976710656+s[w+1]*1099511627776+s[w+2]*4294967296+s[w+3]*16777216+(s[w+4]<<16)+(s[w+5]<<8)+s[w+6],E>=9e15?crypto.randomBytes(7).copy(s,w):(x.push(E%1e14),w+=7);w=m/7}else throw T=!1,Error(Bp+"crypto unavailable");if(!T)for(;w<m;)E=se(),E<9e15&&(x[w++]=E%1e14);for(m=x[--w],O%=Ea,m&&O&&(E=yle[Ea-O],x[w]=p_(m/E)*E);x[w]===0;x.pop(),w--);if(w<0)x=[A=0];else{for(A=-1;x[0]===0;x.splice(0,1),A-=Ea);for(w=1,E=x[0];E>=10;E/=10,w++);w<Ea&&(A-=Ea-w)}return R.e=A,R.c=x,R}})(),Y.sum=function(){for(var W=1,se=arguments,O=new Y(se[0]);W<se.length;)O=O.plus(se[W++]);return O},r=(function(){var W="0123456789";function se(O,s,l,A){for(var m,E=[0],w,x=0,R=O.length;x<R;){for(w=E.length;w--;E[w]*=s);for(E[0]+=A.indexOf(O.charAt(x++)),m=0;m<E.length;m++)E[m]>l-1&&(E[m+1]==null&&(E[m+1]=0),E[m+1]+=E[m]/l|0,E[m]%=l)}return E.reverse()}return function(O,s,l,A,m){var E,w,x,R,u,C,U,F,X=O.indexOf("."),Ae=d,he=g;for(X>=0&&(R=D,D=0,O=O.replace(".",""),F=new Y(s),C=F.pow(O.length-X),D=R,F.c=se(tR(A_(C.c),C.e,"0"),10,l,W),F.e=F.c.length),U=se(O,s,l,m?(E=G,W):(E=W,G)),x=R=U.length;U[--R]==0;U.pop());if(!U[0])return E.charAt(0);if(X<0?--x:(C.c=U,C.e=x,C.s=A,C=t(C,F,Ae,he,l),U=C.c,u=C.r,x=C.e),w=x+Ae+1,X=U[w],R=l/2,u=u||w<0||U[w+1]!=null,u=he<4?(X!=null||u)&&(he==0||he==(C.s<0?3:2)):X>R||X==R&&(he==4||u||he==6&&U[w-1]&1||he==(C.s<0?8:7)),w<1||!U[0])O=u?tR(E.charAt(1),-Ae,E.charAt(0)):E.charAt(0);else{if(U.length=w,u)for(--l;++U[--w]>l;)U[w]=0,w||(++x,U=[1].concat(U));for(R=U.length;!U[--R];);for(X=0,O="";X<=R;O+=E.charAt(U[X++]));O=tR(O,x,E.charAt(0))}return O}})(),t=(function(){function W(s,l,A){var m,E,w,x,R=0,u=s.length,C=l%tI,U=l/tI|0;for(s=s.slice();u--;)w=s[u]%tI,x=s[u]/tI|0,m=U*w+x*C,E=C*w+m%tI*tI+R,R=(E/A|0)+(m/tI|0)+U*x,s[u]=E%A;return R&&(s=[R].concat(s)),s}function se(s,l,A,m){var E,w;if(A!=m)w=A>m?1:-1;else for(E=w=0;E<A;E++)if(s[E]!=l[E]){w=s[E]>l[E]?1:-1;break}return w}function O(s,l,A,m){for(var E=0;A--;)s[A]-=E,E=s[A]<l[A]?1:0,s[A]=E*m+s[A]-l[A];for(;!s[0]&&s.length>1;s.splice(0,1));}return function(s,l,A,m,E){var w,x,R,u,C,U,F,X,Ae,he,$e,Ge,Re,Se,ct,ze,te,Ue=s.s==l.s?1:-1,oe=s.c,ge=l.c;if(!oe||!oe[0]||!ge||!ge[0])return new Y(!s.s||!l.s||(oe?ge&&oe[0]==ge[0]:!ge)?NaN:oe&&oe[0]==0||!ge?Ue*0:Ue/0);for(X=new Y(Ue),Ae=X.c=[],x=s.e-l.e,Ue=A+x+1,E||(E=Lm,x=g_(s.e/Ea)-g_(l.e/Ea),Ue=Ue/Ea|0),R=0;ge[R]==(oe[R]||0);R++);if(ge[R]>(oe[R]||0)&&x--,Ue<0)Ae.push(1),u=!0;else{for(Se=oe.length,ze=ge.length,R=0,Ue+=2,C=p_(E/(ge[0]+1)),C>1&&(ge=W(ge,C,E),oe=W(oe,C,E),ze=ge.length,Se=oe.length),Re=ze,he=oe.slice(0,ze),$e=he.length;$e<ze;he[$e++]=0);te=ge.slice(),te=[0].concat(te),ct=ge[0],ge[1]>=E/2&&ct++;do{if(C=0,w=se(ge,he,ze,$e),w<0){if(Ge=he[0],ze!=$e&&(Ge=Ge*E+(he[1]||0)),C=p_(Ge/ct),C>1)for(C>=E&&(C=E-1),U=W(ge,C,E),F=U.length,$e=he.length;se(U,he,F,$e)==1;)C--,O(U,ze<F?te:ge,F,E),F=U.length,w=1;else C==0&&(w=C=1),U=ge.slice(),F=U.length;if(F<$e&&(U=[0].concat(U)),O(he,U,$e,E),$e=he.length,w==-1)for(;se(ge,he,ze,$e)<1;)C++,O(he,ze<$e?te:ge,$e,E),$e=he.length}else w===0&&(C++,he=[0]);Ae[R++]=C,he[0]?he[$e++]=oe[Re]||0:(he=[oe[Re]],$e=1)}while((Re++<Se||he[0]!=null)&&Ue--);u=he[0]!=null,Ae[0]||Ae.splice(0,1)}if(E==Lm){for(R=1,Ue=Ae[0];Ue>=10;Ue/=10,R++);pe(X,A+(X.e=R+x*Ea-1)+1,m,u)}else X.e=x,X.r=+u;return X}})();function ne(W,se,O,s){var l,A,m,E,w;if(O==null?O=g:J0(O,0,8),!W.c)return W.toString();if(l=W.c[0],m=W.e,se==null)w=A_(W.c),w=s==1||s==2&&(m<=y||m>=_)?zJ(w,m):tR(w,m,"0");else if(W=pe(new Y(W),se,O),A=W.e,w=A_(W.c),E=w.length,s==1||s==2&&(se<=A||A<=y)){for(;E<se;w+="0",E++);w=zJ(w,A)}else if(se-=m,w=tR(w,A,"0"),A+1>E){if(--se>0)for(w+=".";se--;w+="0");}else if(se+=A-E,se>0)for(A+1==E&&(w+=".");se--;w+="0");return W.s<0&&l?"-"+w:w}function ce(W,se){for(var O,s,l=1,A=new Y(W[0]);l<W.length;l++)s=new Y(W[l]),(!s.s||(O=rC(A,s))===se||O===0&&A.s===se)&&(A=s);return A}function le(W,se,O){for(var s=1,l=se.length;!se[--l];se.pop());for(l=se[0];l>=10;l/=10,s++);return(O=s+O*Ea-1)>N?W.c=W.e=null:O<I?W.c=[W.e=0]:(W.e=O,W.c=se),W}i=(function(){var W=/^(-?)0([xbo])(?=\w[\w.]*$)/i,se=/^([^.]+)\.$/,O=/^\.([^.]+)$/,s=/^-?(Infinity|NaN)$/,l=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(A,m,E,w){var x,R=E?m:m.replace(l,"");if(s.test(R))A.s=isNaN(R)?null:R<0?-1:1;else{if(!E&&(R=R.replace(W,function(u,C,U){return x=(U=U.toLowerCase())=="x"?16:U=="b"?2:8,!w||w==x?C:u}),w&&(x=w,R=R.replace(se,"$1").replace(O,"0.$1")),m!=R))return new Y(R,x);if(Y.DEBUG)throw Error(Bp+"Not a"+(w?" base "+w:"")+" number: "+m);A.s=null}A.c=A.e=null}})();function pe(W,se,O,s){var l,A,m,E,w,x,R,u=W.c,C=yle;if(u){e:{for(l=1,E=u[0];E>=10;E/=10,l++);if(A=se-l,A<0)A+=Ea,m=se,w=u[x=0],R=p_(w/C[l-m-1]%10);else if(x=_le((A+1)/Ea),x>=u.length)if(s){for(;u.length<=x;u.push(0));w=R=0,l=1,A%=Ea,m=A-Ea+1}else break e;else{for(w=E=u[x],l=1;E>=10;E/=10,l++);A%=Ea,m=A-Ea+l,R=m<0?0:p_(w/C[l-m-1]%10)}if(s=s||se<0||u[x+1]!=null||(m<0?w:w%C[l-m-1]),s=O<4?(R||s)&&(O==0||O==(W.s<0?3:2)):R>5||R==5&&(O==4||s||O==6&&(A>0?m>0?w/C[l-m]:0:u[x-1])%10&1||O==(W.s<0?8:7)),se<1||!u[0])return u.length=0,s?(se-=W.e+1,u[0]=C[(Ea-se%Ea)%Ea],W.e=-se||0):u[0]=W.e=0,W;if(A==0?(u.length=x,E=1,x--):(u.length=x+1,E=C[Ea-A],u[x]=m>0?p_(w/C[l-m]%C[m])*E:0),s)for(;;)if(x==0){for(A=1,m=u[0];m>=10;m/=10,A++);for(m=u[0]+=E,E=1;m>=10;m/=10,E++);A!=E&&(W.e++,u[0]==Lm&&(u[0]=1));break}else{if(u[x]+=E,u[x]!=Lm)break;u[x--]=0,E=1}for(A=u.length;u[--A]===0;u.pop());}W.e>N?W.c=W.e=null:W.e<I&&(W.c=[W.e=0])}return W}function ae(W){var se,O=W.e;return O===null?W.toString():(se=A_(W.c),se=O<=y||O>=_?zJ(se,O):tR(se,O,"0"),W.s<0?"-"+se:se)}return n.absoluteValue=n.abs=function(){var W=new Y(this);return W.s<0&&(W.s=1),W},n.comparedTo=function(W,se){return rC(this,new Y(W,se))},n.decimalPlaces=n.dp=function(W,se){var O,s,l,A=this;if(W!=null)return J0(W,0,dl),se==null?se=g:J0(se,0,8),pe(new Y(A),W+A.e+1,se);if(!(O=A.c))return null;if(s=((l=O.length-1)-g_(this.e/Ea))*Ea,l=O[l])for(;l%10==0;l/=10,s--);return s<0&&(s=0),s},n.dividedBy=n.div=function(W,se){return t(this,new Y(W,se),d,g)},n.dividedToIntegerBy=n.idiv=function(W,se){return t(this,new Y(W,se),0,1)},n.exponentiatedBy=n.pow=function(W,se){var O,s,l,A,m,E,w,x,R,u=this;if(W=new Y(W),W.c&&!W.isInteger())throw Error(Bp+"Exponent not an integer: "+ae(W));if(se!=null&&(se=new Y(se)),E=W.e>14,!u.c||!u.c[0]||u.c[0]==1&&!u.e&&u.c.length==1||!W.c||!W.c[0])return R=new Y(Math.pow(+ae(u),E?W.s*(2-JJ(W)):+ae(W))),se?R.mod(se):R;if(w=W.s<0,se){if(se.c?!se.c[0]:!se.s)return new Y(NaN);s=!w&&u.isInteger()&&se.isInteger(),s&&(u=u.mod(se))}else{if(W.e>9&&(u.e>0||u.e<-1||(u.e==0?u.c[0]>1||E&&u.c[1]>=24e7:u.c[0]<8e13||E&&u.c[0]<=9999975e7)))return A=u.s<0&&JJ(W)?-0:0,u.e>-1&&(A=1/A),new Y(w?1/A:A);D&&(A=_le(D/Ea+2))}for(E?(O=new Y(.5),w&&(W.s=1),x=JJ(W)):(l=Math.abs(+ae(W)),x=l%2),R=new Y(o);;){if(x){if(R=R.times(u),!R.c)break;A?R.c.length>A&&(R.c.length=A):s&&(R=R.mod(se))}if(l){if(l=p_(l/2),l===0)break;x=l%2}else if(W=W.times(O),pe(W,W.e+1,1),W.e>14)x=JJ(W);else{if(l=+ae(W),l===0)break;x=l%2}u=u.times(u),A?u.c&&u.c.length>A&&(u.c.length=A):s&&(u=u.mod(se))}return s?R:(w&&(R=o.div(R)),se?R.mod(se):A?pe(R,D,g,m):R)},n.integerValue=function(W){var se=new Y(this);return W==null?W=g:J0(W,0,8),pe(se,se.e+1,W)},n.isEqualTo=n.eq=function(W,se){return rC(this,new Y(W,se))===0},n.isFinite=function(){return!!this.c},n.isGreaterThan=n.gt=function(W,se){return rC(this,new Y(W,se))>0},n.isGreaterThanOrEqualTo=n.gte=function(W,se){return(se=rC(this,new Y(W,se)))===1||se===0},n.isInteger=function(){return!!this.c&&g_(this.e/Ea)>this.c.length-2},n.isLessThan=n.lt=function(W,se){return rC(this,new Y(W,se))<0},n.isLessThanOrEqualTo=n.lte=function(W,se){return(se=rC(this,new Y(W,se)))===-1||se===0},n.isNaN=function(){return!this.s},n.isNegative=function(){return this.s<0},n.isPositive=function(){return this.s>0},n.isZero=function(){return!!this.c&&this.c[0]==0},n.minus=function(W,se){var O,s,l,A,m=this,E=m.s;if(W=new Y(W,se),se=W.s,!E||!se)return new Y(NaN);if(E!=se)return W.s=-se,m.plus(W);var w=m.e/Ea,x=W.e/Ea,R=m.c,u=W.c;if(!w||!x){if(!R||!u)return R?(W.s=-se,W):new Y(u?m:NaN);if(!R[0]||!u[0])return u[0]?(W.s=-se,W):new Y(R[0]?m:g==3?-0:0)}if(w=g_(w),x=g_(x),R=R.slice(),E=w-x){for((A=E<0)?(E=-E,l=R):(x=w,l=u),l.reverse(),se=E;se--;l.push(0));l.reverse()}else for(s=(A=(E=R.length)<(se=u.length))?E:se,E=se=0;se<s;se++)if(R[se]!=u[se]){A=R[se]<u[se];break}if(A&&(l=R,R=u,u=l,W.s=-W.s),se=(s=u.length)-(O=R.length),se>0)for(;se--;R[O++]=0);for(se=Lm-1;s>E;){if(R[--s]<u[s]){for(O=s;O&&!R[--O];R[O]=se);--R[O],R[s]+=Lm}R[s]-=u[s]}for(;R[0]==0;R.splice(0,1),--x);return R[0]?le(W,R,x):(W.s=g==3?-1:1,W.c=[W.e=0],W)},n.modulo=n.mod=function(W,se){var O,s,l=this;return W=new Y(W,se),!l.c||!W.s||W.c&&!W.c[0]?new Y(NaN):!W.c||l.c&&!l.c[0]?new Y(l):(M==9?(s=W.s,W.s=1,O=t(l,W,0,3),W.s=s,O.s*=s):O=t(l,W,0,M),W=l.minus(O.times(W)),!W.c[0]&&M==1&&(W.s=l.s),W)},n.multipliedBy=n.times=function(W,se){var O,s,l,A,m,E,w,x,R,u,C,U,F,X,Ae,he=this,$e=he.c,Ge=(W=new Y(W,se)).c;if(!$e||!Ge||!$e[0]||!Ge[0])return!he.s||!W.s||$e&&!$e[0]&&!Ge||Ge&&!Ge[0]&&!$e?W.c=W.e=W.s=null:(W.s*=he.s,!$e||!Ge?W.c=W.e=null:(W.c=[0],W.e=0)),W;for(s=g_(he.e/Ea)+g_(W.e/Ea),W.s*=he.s,w=$e.length,u=Ge.length,w<u&&(F=$e,$e=Ge,Ge=F,l=w,w=u,u=l),l=w+u,F=[];l--;F.push(0));for(X=Lm,Ae=tI,l=u;--l>=0;){for(O=0,C=Ge[l]%Ae,U=Ge[l]/Ae|0,m=w,A=l+m;A>l;)x=$e[--m]%Ae,R=$e[m]/Ae|0,E=U*x+R*C,x=C*x+E%Ae*Ae+F[A]+O,O=(x/X|0)+(E/Ae|0)+U*R,F[A--]=x%X;F[A]=O}return O?++s:F.splice(0,1),le(W,F,s)},n.negated=function(){var W=new Y(this);return W.s=-W.s||null,W},n.plus=function(W,se){var O,s=this,l=s.s;if(W=new Y(W,se),se=W.s,!l||!se)return new Y(NaN);if(l!=se)return W.s=-se,s.minus(W);var A=s.e/Ea,m=W.e/Ea,E=s.c,w=W.c;if(!A||!m){if(!E||!w)return new Y(l/0);if(!E[0]||!w[0])return w[0]?W:new Y(E[0]?s:l*0)}if(A=g_(A),m=g_(m),E=E.slice(),l=A-m){for(l>0?(m=A,O=w):(l=-l,O=E),O.reverse();l--;O.push(0));O.reverse()}for(l=E.length,se=w.length,l-se<0&&(O=w,w=E,E=O,se=l),l=0;se;)l=(E[--se]=E[se]+w[se]+l)/Lm|0,E[se]=Lm===E[se]?0:E[se]%Lm;return l&&(E=[l].concat(E),++m),le(W,E,m)},n.precision=n.sd=function(W,se){var O,s,l,A=this;if(W!=null&&W!==!!W)return J0(W,1,dl),se==null?se=g:J0(se,0,8),pe(new Y(A),W,se);if(!(O=A.c))return null;if(l=O.length-1,s=l*Ea+1,l=O[l]){for(;l%10==0;l/=10,s--);for(l=O[0];l>=10;l/=10,s++);}return W&&A.e+1>s&&(s=A.e+1),s},n.shiftedBy=function(W){return J0(W,-mle,mle),this.times("1e"+W)},n.squareRoot=n.sqrt=function(){var W,se,O,s,l,A=this,m=A.c,E=A.s,w=A.e,x=d+4,R=new Y("0.5");if(E!==1||!m||!m[0])return new Y(!E||E<0&&(!m||m[0])?NaN:m?A:1/0);if(E=Math.sqrt(+ae(A)),E==0||E==1/0?(se=A_(m),(se.length+w)%2==0&&(se+="0"),E=Math.sqrt(+se),w=g_((w+1)/2)-(w<0||w%2),E==1/0?se="5e"+w:(se=E.toExponential(),se=se.slice(0,se.indexOf("e")+1)+w),O=new Y(se)):O=new Y(E+""),O.c[0]){for(w=O.e,E=w+x,E<3&&(E=0);;)if(l=O,O=R.times(l.plus(t(A,l,x,1))),A_(l.c).slice(0,E)===(se=A_(O.c)).slice(0,E))if(O.e<w&&--E,se=se.slice(E-3,E+1),se=="9999"||!s&&se=="4999"){if(!s&&(pe(l,l.e+d+2,0),l.times(l).eq(A))){O=l;break}x+=4,E+=4,s=1}else{(!+se||!+se.slice(1)&&se.charAt(0)=="5")&&(pe(O,O.e+d+2,1),W=!O.times(O).eq(A));break}}return pe(O,O.e+d+1,g,W)},n.toExponential=function(W,se){return W!=null&&(J0(W,0,dl),W++),ne(this,W,se,1)},n.toFixed=function(W,se){return W!=null&&(J0(W,0,dl),W=W+this.e+1),ne(this,W,se)},n.toFormat=function(W,se,O){var s,l=this;if(O==null)W!=null&&se&&typeof se=="object"?(O=se,se=null):W&&typeof W=="object"?(O=W,W=se=null):O=P;else if(typeof O!="object")throw Error(Bp+"Argument not an object: "+O);if(s=l.toFixed(W,se),l.c){var A,m=s.split("."),E=+O.groupSize,w=+O.secondaryGroupSize,x=O.groupSeparator||"",R=m[0],u=m[1],C=l.s<0,U=C?R.slice(1):R,F=U.length;if(w&&(A=E,E=w,w=A,F-=A),E>0&&F>0){for(A=F%E||E,R=U.substr(0,A);A<F;A+=E)R+=x+U.substr(A,E);w>0&&(R+=x+U.slice(A)),C&&(R="-"+R)}s=u?R+(O.decimalSeparator||"")+((w=+O.fractionGroupSize)?u.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(O.fractionGroupSeparator||"")):u):R}return(O.prefix||"")+s+(O.suffix||"")},n.toFraction=function(W){var se,O,s,l,A,m,E,w,x,R,u,C,U=this,F=U.c;if(W!=null&&(E=new Y(W),!E.isInteger()&&(E.c||E.s!==1)||E.lt(o)))throw Error(Bp+"Argument "+(E.isInteger()?"out of range: ":"not an integer: ")+ae(E));if(!F)return new Y(U);for(se=new Y(o),x=O=new Y(o),s=w=new Y(o),C=A_(F),A=se.e=C.length-U.e-1,se.c[0]=yle[(m=A%Ea)<0?Ea+m:m],W=!W||E.comparedTo(se)>0?A>0?se:x:E,m=N,N=1/0,E=new Y(C),w.c[0]=0;R=t(E,se,0,1),l=O.plus(R.times(s)),l.comparedTo(W)!=1;)O=s,s=l,x=w.plus(R.times(l=x)),w=l,se=E.minus(R.times(l=se)),E=l;return l=t(W.minus(O),s,0,1),w=w.plus(l.times(x)),O=O.plus(l.times(s)),w.s=x.s=U.s,A=A*2,u=t(x,s,A,g).minus(U).abs().comparedTo(t(w,O,A,g).minus(U).abs())<1?[x,s]:[w,O],N=m,u},n.toNumber=function(){return+ae(this)},n.toPrecision=function(W,se){return W!=null&&J0(W,1,dl),ne(this,W,se,2)},n.toString=function(W){var se,O=this,s=O.s,l=O.e;return l===null?s?(se="Infinity",s<0&&(se="-"+se)):se="NaN":(W==null?se=l<=y||l>=_?zJ(A_(O.c),l):tR(A_(O.c),l,"0"):W===10&&q?(O=pe(new Y(O),d+l+1,g),se=tR(A_(O.c),O.e,"0")):(J0(W,2,G.length,"Base"),se=r(tR(A_(O.c),l,"0"),10,W,s,!0)),s<0&&O.c[0]&&(se="-"+se)),se},n.valueOf=n.toJSON=function(){return ae(this)},n._isBigNumber=!0,n[Symbol.toStringTag]="BigNumber",n[Symbol.for("nodejs.util.inspect.custom")]=n.valueOf,e!=null&&Y.set(e),Y}function g_(e){var t=e|0;return e>0||e===t?t:t-1}function A_(e){for(var t,r,i=1,n=e.length,o=e[0]+"";i<n;){for(t=e[i++]+"",r=Ea-t.length;r--;t="0"+t);o+=t}for(n=o.length;o.charCodeAt(--n)===48;);return o.slice(0,n+1||1)}function rC(e,t){var r,i,n=e.c,o=t.c,d=e.s,g=t.s,y=e.e,_=t.e;if(!d||!g)return null;if(r=n&&!n[0],i=o&&!o[0],r||i)return r?i?0:-g:d;if(d!=g)return d;if(r=d<0,i=y==_,!n||!o)return i?0:!n^r?1:-1;if(!i)return y>_^r?1:-1;for(g=(y=n.length)<(_=o.length)?y:_,d=0;d<g;d++)if(n[d]!=o[d])return n[d]>o[d]^r?1:-1;return y==_?0:y>_^r?1:-1}function J0(e,t,r,i){if(e<t||e>r||e!==p_(e))throw Error(Bp+(i||"Argument")+(typeof e=="number"?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function JJ(e){var t=e.c.length-1;return g_(e.e/Ea)==t&&e.c[t]%2!=0}function zJ(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function tR(e,t,r){var i,n;if(t<0){for(n=r+".";++t;n+=r);e=n+e}else if(i=e.length,++t>i){for(n=r,t-=i;--t;n+=r);e+=n}else t<i&&(e=e.slice(0,t)+"."+e.slice(t));return e}var Qa=dXe(),fXe=Qa;var PDt=["usd","eur","gbp","cad","aud","jpy","inr","sgd","hkd","brl"];function OFn(e){return PDt.includes(e)}var KJ=["arweave","ario","base-ario","solana","ethereum","kyve","matic","pol","base-eth","usdc","base-usdc","polygon-usdc"],lXe=new Set(["ethereum","base-eth","matic","pol","polygon-usdc","usdc","base-usdc","base-ario"]),Vk=class{},Jk=class{constructor({maxTokenAmount:t,topUpBufferMultiplier:r=1.1}){if(t!==void 0&&new Qa(t).isLessThan(0))throw new Error("maxTokenAmount must be non-negative");if(this.maxTokenAmount=t!==void 0?new Qa(t):void 0,r<1)throw new Error("topUpBufferMultiplier must be >= 1");this.topUpBufferMultiplier=r}},nC=class{constructor({signer:t,maxMUSDCAmount:r}){this.signer=t,this.maxMUSDCAmount=r!==void 0?new Qa(r):void 0}},NFn=["ASSEMBLING","VALIDATING","FINALIZING"],hXe=["UNDERFUNDED","INVALID","APPROVAL_FAILED","REVOKE_FAILED"],xFn=["FINALIZED"],TFn=e=>e.folderPath!==void 0,AXe=e=>e.files!==void 0;function pXe(e){return typeof e=="string"}function gXe(e){return typeof e!="string"?!1:e.startsWith("0x")}var _Xe=e=>e.kty!==void 0;function zk(e){return"publicKey"in e&&"signMessage"in e}function ON(e){return"getSigner"in e}var ble=["force","disabled","auto"];J();K();z();J();K();z();var $J="1.40.0";var ku=class e{constructor({level:t="info"}={}){this.level="info";this.levels={debug:0,info:1,warn:2,error:3,none:999};this.level=t}static{this.default=new e}formatMessage(t,r,...i){let o={timestamp:new Date().toISOString(),level:t,message:r,name:"turbo-sdk",version:$J};return i.length>0?JSON.stringify({...o,args:i}):JSON.stringify(o)}log(t,r,...i){if(this.levels[t]<this.levels[this.level])return;let n=this.formatMessage(t,r,...i);switch(t){case"debug":console.debug(n);break;case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break}}info(t,...r){this.log("info",t,...r)}warn(t,...r){this.log("warn",t,...r)}error(t,...r){this.log("error",t,...r)}debug(t,...r){this.log("debug",t,...r)}setLogLevel(t){this.level=t}};J();K();z();J();K();z();var Yst=po(R_(),1),Wst=po($l(),1),Ner=po(Ps(),1);J();K();z();mh();J();K();z();ox();Up();J();K();z();J();K();z();Up();Up();var tAe=BigInt(0),eAe=BigInt(1);function dR(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function W1(e,t,r=""){let i=sR(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let d=r&&`"${r}" `,g=o?` of length ${t}`:"",y=i?`length=${n}`:`type=${typeof e}`;throw new Error(d+"expected Uint8Array"+g+", got "+y)}return e}function wP(e){let t=e.toString(16);return t.length&1?"0"+t:t}function Jtt(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?tAe:BigInt("0x"+e)}function ax(e){return Jtt(C_(e))}function fR(e){return Yl(e),Jtt(C_(Uint8Array.from(e).reverse()))}function uK(e,t){return _C(e.toString(16).padStart(t*2,"0"))}function rAe(e,t){return uK(e,t).reverse()}function du(e,t,r){let i;if(typeof t=="string")try{i=_C(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(sR(t))i=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let n=i.length;if(typeof r=="number"&&n!==r)throw new Error(e+" of length "+r+" expected, got "+n);return i}function ztt(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function nAe(e){return Uint8Array.from(e)}var jhe=e=>typeof e=="bigint"&&tAe<=e;function Ktt(e,t,r){return jhe(e)&&jhe(t)&&jhe(r)&&t<=e&&e<r}function OP(e,t,r,i){if(!Ktt(t,r,i))throw new Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function dK(e){let t;for(t=0;e>tAe;e>>=eAe,t+=1);return t}var _I=e=>(eAe<<BigInt(e))-eAe;function $tt(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let i=M=>new Uint8Array(M),n=M=>Uint8Array.of(M),o=i(e),d=i(e),g=0,y=()=>{o.fill(1),d.fill(0),g=0},_=(...M)=>r(d,o,...M),I=(M=i(0))=>{d=_(n(0),M),o=_(),M.length!==0&&(d=_(n(1),M),o=_())},N=()=>{if(g++>=1e3)throw new Error("drbg: tried 1000 values");let M=0,D=[];for(;M<t;){o=_();let P=o.slice();D.push(P),M+=o.length}return Qf(...D)};return(M,D)=>{y(),I(M);let P;for(;!(P=D(N()));)I();return y(),P}}function mI(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function i(n,o,d){let g=e[n];if(d&&g===void 0)return;let y=typeof g;if(y!==o||g===null)throw new Error(`param "${n}" is invalid: expected ${o}, got ${y}`)}Object.entries(t).forEach(([n,o])=>i(n,o,!1)),Object.entries(r).forEach(([n,o])=>i(n,o,!0))}var iAe=()=>{throw new Error("not implemented")};function sx(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}J();K();z();var DA=BigInt(0),hl=BigInt(1),EC=BigInt(2),Xtt=BigInt(3),Ztt=BigInt(4),jtt=BigInt(5),sGt=BigInt(7),ert=BigInt(8),cGt=BigInt(9),trt=BigInt(16);function hd(e,t){let r=e%t;return r>=DA?r:t+r}function y0(e,t,r){let i=e;for(;t-- >DA;)i*=i,i%=r;return i}function Ytt(e,t){if(e===DA)throw new Error("invert: expected non-zero number");if(t<=DA)throw new Error("invert: expected positive modulus, got "+t);let r=hd(e,t),i=t,n=DA,o=hl,d=hl,g=DA;for(;r!==DA;){let _=i/r,I=i%r,N=n-d*_,T=o-g*_;i=r,r=I,n=d,o=g,d=N,g=T}if(i!==hl)throw new Error("invert: does not exist");return hd(n,t)}function oAe(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function rrt(e,t){let r=(e.ORDER+hl)/Ztt,i=e.pow(t,r);return oAe(e,i,t),i}function uGt(e,t){let r=(e.ORDER-jtt)/ert,i=e.mul(t,EC),n=e.pow(i,r),o=e.mul(t,n),d=e.mul(e.mul(o,EC),n),g=e.mul(o,e.sub(d,e.ONE));return oAe(e,g,t),g}function dGt(e){let t=X1(e),r=nrt(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),d=(e+sGt)/trt;return(g,y)=>{let _=g.pow(y,d),I=g.mul(_,i),N=g.mul(_,n),T=g.mul(_,o),M=g.eql(g.sqr(I),y),D=g.eql(g.sqr(N),y);_=g.cmov(_,I,M),I=g.cmov(T,N,D);let P=g.eql(g.sqr(I),y),G=g.cmov(_,I,P);return oAe(g,G,y),G}}function nrt(e){if(e<Xtt)throw new Error("sqrt is not defined for small field");let t=e-hl,r=0;for(;t%EC===DA;)t/=EC,r++;let i=EC,n=X1(e);for(;Wtt(n,i)===1;)if(i++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return rrt;let o=n.pow(i,t),d=(t+hl)/EC;return function(y,_){if(y.is0(_))return _;if(Wtt(y,_)!==1)throw new Error("Cannot find square root");let I=r,N=y.mul(y.ONE,o),T=y.pow(_,t),M=y.pow(_,d);for(;!y.eql(T,y.ONE);){if(y.is0(T))return y.ZERO;let D=1,P=y.sqr(T);for(;!y.eql(P,y.ONE);)if(D++,P=y.sqr(P),D===I)throw new Error("Cannot find square root");let G=hl<<BigInt(I-D-1),q=y.pow(N,G);I=D,N=y.sqr(q),T=y.mul(T,N),M=y.mul(M,q)}return M}}function fGt(e){return e%Ztt===Xtt?rrt:e%ert===jtt?uGt:e%trt===cGt?dGt(e):nrt(e)}var lR=(e,t)=>(hd(e,t)&hl)===hl,lGt=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function aAe(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=lGt.reduce((i,n)=>(i[n]="function",i),t);return mI(e,r),e}function hGt(e,t,r){if(r<DA)throw new Error("invalid exponent, negatives unsupported");if(r===DA)return e.ONE;if(r===hl)return t;let i=e.ONE,n=t;for(;r>DA;)r&hl&&(i=e.mul(i,n)),n=e.sqr(n),r>>=hl;return i}function NP(e,t,r=!1){let i=new Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((d,g,y)=>e.is0(g)?d:(i[y]=d,e.mul(d,g)),e.ONE),o=e.inv(n);return t.reduceRight((d,g,y)=>e.is0(g)?d:(i[y]=e.mul(d,i[y]),e.mul(d,g)),o),i}function Wtt(e,t){let r=(e.ORDER-hl)/EC,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),d=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!d)throw new Error("invalid Legendre symbol result");return n?1:o?0:-1}function fK(e,t){t!==void 0&&S_(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function X1(e,t,r=!1,i={}){if(e<=DA)throw new Error("invalid field: expected ORDER > 0, got "+e);let n,o,d=!1,g;if(typeof t=="object"&&t!=null){if(i.sqrt||r)throw new Error("cannot specify opts in two arguments");let T=t;T.BITS&&(n=T.BITS),T.sqrt&&(o=T.sqrt),typeof T.isLE=="boolean"&&(r=T.isLE),typeof T.modFromBytes=="boolean"&&(d=T.modFromBytes),g=T.allowedLengths}else typeof t=="number"&&(n=t),i.sqrt&&(o=i.sqrt);let{nBitLength:y,nByteLength:_}=fK(e,n);if(_>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let I,N=Object.freeze({ORDER:e,isLE:r,BITS:y,BYTES:_,MASK:_I(y),ZERO:DA,ONE:hl,allowedLengths:g,create:T=>hd(T,e),isValid:T=>{if(typeof T!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof T);return DA<=T&&T<e},is0:T=>T===DA,isValidNot0:T=>!N.is0(T)&&N.isValid(T),isOdd:T=>(T&hl)===hl,neg:T=>hd(-T,e),eql:(T,M)=>T===M,sqr:T=>hd(T*T,e),add:(T,M)=>hd(T+M,e),sub:(T,M)=>hd(T-M,e),mul:(T,M)=>hd(T*M,e),pow:(T,M)=>hGt(N,T,M),div:(T,M)=>hd(T*Ytt(M,e),e),sqrN:T=>T*T,addN:(T,M)=>T+M,subN:(T,M)=>T-M,mulN:(T,M)=>T*M,inv:T=>Ytt(T,e),sqrt:o||(T=>(I||(I=fGt(e)),I(N,T))),toBytes:T=>r?rAe(T,_):uK(T,_),fromBytes:(T,M=!0)=>{if(g){if(!g.includes(T.length)||T.length>_)throw new Error("Field.fromBytes: expected "+g+" bytes, got "+T.length);let P=new Uint8Array(_);P.set(T,r?0:P.length-T.length),T=P}if(T.length!==_)throw new Error("Field.fromBytes: expected "+_+" bytes, got "+T.length);let D=r?fR(T):ax(T);if(d&&(D=hd(D,e)),!M&&!N.isValid(D))throw new Error("invalid field element: outside of range 0..ORDER");return D},invertBatch:T=>NP(N,T),cmov:(T,M,D)=>D?M:T});return Object.freeze(N)}function irt(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function sAe(e){let t=irt(e);return t+Math.ceil(t/2)}function cAe(e,t,r=!1){let i=e.length,n=irt(t),o=sAe(t);if(i<16||i<o||i>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+i);let d=r?fR(e):ax(e),g=hd(d,t-hl)+hl;return r?rAe(g,n):uK(g,n)}var cx=BigInt(0),vC=BigInt(1);function xP(e,t){let r=t.negate();return e?r:t}function hR(e,t){let r=NP(e.Fp,t.map(i=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function crt(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function uAe(e,t){crt(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=_I(e),d=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:d}}function ort(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:d}=r,g=Number(e&n),y=e>>d;g>i&&(g-=o,y+=vC);let _=t*i,I=_+Math.abs(g)-1,N=g===0,T=g<0,M=t%2!==0;return{nextN:y,offset:I,isZero:N,isNeg:T,isNegF:M,offsetF:_}}function AGt(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,i)=>{if(!(r instanceof t))throw new Error("invalid point at index "+i)})}function pGt(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,i)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+i)})}var dAe=new WeakMap,urt=new WeakMap;function fAe(e){return urt.get(e)||1}function art(e){if(e!==cx)throw new Error("invalid wNAF")}var ux=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,i=this.ZERO){let n=t;for(;r>cx;)r&vC&&(i=i.add(n)),n=n.double(),r>>=vC;return i}precomputeWindow(t,r){let{windows:i,windowSize:n}=uAe(r,this.bits),o=[],d=t,g=d;for(let y=0;y<i;y++){g=d,o.push(g);for(let _=1;_<n;_++)g=g.add(d),o.push(g);d=g.double()}return o}wNAF(t,r,i){if(!this.Fn.isValid(i))throw new Error("invalid scalar");let n=this.ZERO,o=this.BASE,d=uAe(t,this.bits);for(let g=0;g<d.windows;g++){let{nextN:y,offset:_,isZero:I,isNeg:N,isNegF:T,offsetF:M}=ort(i,g,d);i=y,I?o=o.add(xP(T,r[M])):n=n.add(xP(N,r[_]))}return art(i),{p:n,f:o}}wNAFUnsafe(t,r,i,n=this.ZERO){let o=uAe(t,this.bits);for(let d=0;d<o.windows&&i!==cx;d++){let{nextN:g,offset:y,isZero:_,isNeg:I}=ort(i,d,o);if(i=g,!_){let N=r[y];n=n.add(I?N.negate():N)}}return art(i),n}getPrecomputes(t,r,i){let n=dAe.get(r);return n||(n=this.precomputeWindow(r,t),t!==1&&(typeof i=="function"&&(n=i(n)),dAe.set(r,n))),n}cached(t,r,i){let n=fAe(t);return this.wNAF(n,this.getPrecomputes(n,t,i),r)}unsafe(t,r,i,n){let o=fAe(t);return o===1?this._unsafeLadder(t,r,n):this.wNAFUnsafe(o,this.getPrecomputes(o,t,i),r,n)}createCache(t,r){crt(r,this.bits),urt.set(t,r),dAe.delete(t)}hasCache(t){return fAe(t)!==1}};function drt(e,t,r,i){let n=t,o=e.ZERO,d=e.ZERO;for(;r>cx||i>cx;)r&vC&&(o=o.add(n)),i&vC&&(d=d.add(n)),n=n.double(),r>>=vC,i>>=vC;return{p1:o,p2:d}}function dx(e,t,r,i){AGt(r,e),pGt(i,t);let n=r.length,o=i.length;if(n!==o)throw new Error("arrays of points and scalars must have equal length");let d=e.ZERO,g=dK(BigInt(n)),y=1;g>12?y=g-3:g>4?y=g-2:g>0&&(y=2);let _=_I(y),I=new Array(Number(_)+1).fill(d),N=Math.floor((t.BITS-1)/y)*y,T=d;for(let M=N;M>=0;M-=y){I.fill(d);for(let P=0;P<o;P++){let G=i[P],q=Number(G>>BigInt(M)&_);I[q]=I[q].add(r[P])}let D=d;for(let P=I.length-1,G=d;P>0;P--)G=G.add(I[P]),D=D.add(G);if(T=T.add(D),M!==0)for(let P=0;P<y;P++)T=T.double()}return T}function srt(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return aAe(t),t}else return X1(e,{isLE:r})}function lK(e,t,r={},i){if(i===void 0&&(i=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let y of["p","n","h"]){let _=t[y];if(!(typeof _=="bigint"&&_>cx))throw new Error(`CURVE.${y} must be positive bigint`)}let n=srt(t.p,r.Fp,i),o=srt(t.n,r.Fn,i),g=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let y of g)if(!n.isValid(t[y]))throw new Error(`CURVE.${y} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:o}}J();K();z();var yI=BigInt(0),Al=BigInt(1),lAe=BigInt(2),gGt=BigInt(8);function _Gt(e,t,r,i){let n=e.sqr(r),o=e.sqr(i),d=e.add(e.mul(t.a,n),o),g=e.add(e.ONE,e.mul(t.d,e.mul(n,o)));return e.eql(d,g)}function mGt(e,t={}){let r=lK("edwards",e,t,t.FpFnLE),{Fp:i,Fn:n}=r,o=r.CURVE,{h:d}=o;mI(t,{},{uvRatio:"function"});let g=lAe<<BigInt(n.BYTES*8)-Al,y=G=>i.create(G),_=t.uvRatio||((G,q)=>{try{return{isValid:!0,value:i.sqrt(i.div(G,q))}}catch{return{isValid:!1,value:yI}}});if(!_Gt(i,o,o.Gx,o.Gy))throw new Error("bad curve params: generator point");function I(G,q,Y=!1){let ne=Y?Al:yI;return OP("coordinate "+G,q,ne,g),q}function N(G){if(!(G instanceof D))throw new Error("ExtendedPoint expected")}let T=sx((G,q)=>{let{X:Y,Y:ne,Z:ce}=G,le=G.is0();q==null&&(q=le?gGt:i.inv(ce));let pe=y(Y*q),ae=y(ne*q),W=i.mul(ce,q);if(le)return{x:yI,y:Al};if(W!==Al)throw new Error("invZ was invalid");return{x:pe,y:ae}}),M=sx(G=>{let{a:q,d:Y}=o;if(G.is0())throw new Error("bad point: ZERO");let{X:ne,Y:ce,Z:le,T:pe}=G,ae=y(ne*ne),W=y(ce*ce),se=y(le*le),O=y(se*se),s=y(ae*q),l=y(se*y(s+W)),A=y(O+y(Y*y(ae*W)));if(l!==A)throw new Error("bad point: equation left != right (1)");let m=y(ne*ce),E=y(le*pe);if(m!==E)throw new Error("bad point: equation left != right (2)");return!0});class D{constructor(q,Y,ne,ce){this.X=I("x",q),this.Y=I("y",Y),this.Z=I("z",ne,!0),this.T=I("t",ce),Object.freeze(this)}static CURVE(){return o}static fromAffine(q){if(q instanceof D)throw new Error("extended point not allowed");let{x:Y,y:ne}=q||{};return I("x",Y),I("y",ne),new D(Y,ne,Al,y(Y*ne))}static fromBytes(q,Y=!1){let ne=i.BYTES,{a:ce,d:le}=o;q=nAe(W1(q,ne,"point")),dR(Y,"zip215");let pe=nAe(q),ae=q[ne-1];pe[ne-1]=ae&-129;let W=fR(pe),se=Y?g:i.ORDER;OP("point.y",W,yI,se);let O=y(W*W),s=y(O-Al),l=y(le*O-ce),{isValid:A,value:m}=_(s,l);if(!A)throw new Error("bad point: invalid y coordinate");let E=(m&Al)===Al,w=(ae&128)!==0;if(!Y&&m===yI&&w)throw new Error("bad point: x=0 and x_0=1");return w!==E&&(m=y(-m)),D.fromAffine({x:m,y:W})}static fromHex(q,Y=!1){return D.fromBytes(du("point",q),Y)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(q=8,Y=!0){return P.createCache(this,q),Y||this.multiply(lAe),this}assertValidity(){M(this)}equals(q){N(q);let{X:Y,Y:ne,Z:ce}=this,{X:le,Y:pe,Z:ae}=q,W=y(Y*ae),se=y(le*ce),O=y(ne*ae),s=y(pe*ce);return W===se&&O===s}is0(){return this.equals(D.ZERO)}negate(){return new D(y(-this.X),this.Y,this.Z,y(-this.T))}double(){let{a:q}=o,{X:Y,Y:ne,Z:ce}=this,le=y(Y*Y),pe=y(ne*ne),ae=y(lAe*y(ce*ce)),W=y(q*le),se=Y+ne,O=y(y(se*se)-le-pe),s=W+pe,l=s-ae,A=W-pe,m=y(O*l),E=y(s*A),w=y(O*A),x=y(l*s);return new D(m,E,x,w)}add(q){N(q);let{a:Y,d:ne}=o,{X:ce,Y:le,Z:pe,T:ae}=this,{X:W,Y:se,Z:O,T:s}=q,l=y(ce*W),A=y(le*se),m=y(ae*ne*s),E=y(pe*O),w=y((ce+le)*(W+se)-l-A),x=E-m,R=E+m,u=y(A-Y*l),C=y(w*x),U=y(R*u),F=y(w*u),X=y(x*R);return new D(C,U,X,F)}subtract(q){return this.add(q.negate())}multiply(q){if(!n.isValidNot0(q))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:Y,f:ne}=P.cached(this,q,ce=>hR(D,ce));return hR(D,[Y,ne])[0]}multiplyUnsafe(q,Y=D.ZERO){if(!n.isValid(q))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return q===yI?D.ZERO:this.is0()||q===Al?this:P.unsafe(this,q,ne=>hR(D,ne),Y)}isSmallOrder(){return this.multiplyUnsafe(d).is0()}isTorsionFree(){return P.unsafe(this,o.n).is0()}toAffine(q){return T(this,q)}clearCofactor(){return d===Al?this:this.multiplyUnsafe(d)}toBytes(){let{x:q,y:Y}=this.toAffine(),ne=i.toBytes(Y);return ne[ne.length-1]|=q&Al?128:0,ne}toHex(){return C_(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(q){return hR(D,q)}static msm(q,Y){return dx(D,n,q,Y)}_setWindowSize(q){this.precompute(q)}toRawBytes(){return this.toBytes()}}D.BASE=new D(o.Gx,o.Gy,Al,y(o.Gx*o.Gy)),D.ZERO=new D(yI,Al,Al,yI),D.Fp=i,D.Fn=n;let P=new ux(D,n.BITS);return D.BASE.precompute(8),D}var hK=class{constructor(t){this.ep=t}static fromBytes(t){iAe()}static fromHex(t){iAe()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return C_(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function yGt(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');mI(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:i}=r,{BASE:n,Fp:o,Fn:d}=e,g=r.randomBytes||w_,y=r.adjustScalarBytes||(se=>se),_=r.domain||((se,O,s)=>{if(dR(s,"phflag"),O.length||s)throw new Error("Contexts/pre-hash are not supported");return se});function I(se){return d.create(fR(se))}function N(se){let O=ne.secretKey;se=du("private key",se,O);let s=du("hashed private key",t(se),2*O),l=y(s.slice(0,O)),A=s.slice(O,2*O),m=I(l);return{head:l,prefix:A,scalar:m}}function T(se){let{head:O,prefix:s,scalar:l}=N(se),A=n.multiply(l),m=A.toBytes();return{head:O,prefix:s,scalar:l,point:A,pointBytes:m}}function M(se){return T(se).pointBytes}function D(se=Uint8Array.of(),...O){let s=Qf(...O);return I(t(_(s,du("context",se),!!i)))}function P(se,O,s={}){se=du("message",se),i&&(se=i(se));let{prefix:l,scalar:A,pointBytes:m}=T(O),E=D(s.context,l,se),w=n.multiply(E).toBytes(),x=D(s.context,w,m,se),R=d.create(E+x*A);if(!d.isValid(R))throw new Error("sign failed: invalid s");let u=Qf(w,d.toBytes(R));return W1(u,ne.signature,"result")}let G={zip215:!0};function q(se,O,s,l=G){let{context:A,zip215:m}=l,E=ne.signature;se=du("signature",se,E),O=du("message",O),s=du("publicKey",s,ne.publicKey),m!==void 0&&dR(m,"zip215"),i&&(O=i(O));let w=E/2,x=se.subarray(0,w),R=fR(se.subarray(w,E)),u,C,U;try{u=e.fromBytes(s,m),C=e.fromBytes(x,m),U=n.multiplyUnsafe(R)}catch{return!1}if(!m&&u.isSmallOrder())return!1;let F=D(A,C.toBytes(),u.toBytes(),O);return C.add(u.multiplyUnsafe(F)).subtract(U).clearCofactor().is0()}let Y=o.BYTES,ne={secretKey:Y,publicKey:Y,signature:2*Y,seed:Y};function ce(se=g(ne.seed)){return W1(se,ne.seed,"seed")}function le(se){let O=W.randomSecretKey(se);return{secretKey:O,publicKey:M(O)}}function pe(se){return sR(se)&&se.length===d.BYTES}function ae(se,O){try{return!!e.fromBytes(se,O)}catch{return!1}}let W={getExtendedPublicKey:T,randomSecretKey:ce,isValidSecretKey:pe,isValidPublicKey:ae,toMontgomery(se){let{y:O}=e.fromBytes(se),s=ne.publicKey,l=s===32;if(!l&&s!==57)throw new Error("only defined for 25519 and 448");let A=l?o.div(Al+O,Al-O):o.div(O-Al,O+Al);return o.toBytes(A)},toMontgomerySecret(se){let O=ne.secretKey;W1(se,O);let s=t(se.subarray(0,O));return y(s).subarray(0,O)},randomPrivateKey:ce,precompute(se=8,O=e.BASE){return O.precompute(se,!1)}};return Object.freeze({keygen:le,getPublicKey:M,sign:P,verify:q,utils:W,Point:e,lengths:ne})}function bGt(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,i=X1(t.n,e.nBitLength,!0),n={Fp:r,Fn:i,uvRatio:e.uvRatio},o={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:n,hash:e.hash,eddsaOpts:o}}function EGt(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function frt(e){let{CURVE:t,curveOpts:r,hash:i,eddsaOpts:n}=bGt(e),o=mGt(t,r),d=yGt(o,i,n);return EGt(e,d)}var vGt=BigInt(0),AR=BigInt(1),lrt=BigInt(2),xzn=BigInt(3),RGt=BigInt(5),SGt=BigInt(8),fx=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),TP={p:fx,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:SGt,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function IGt(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=fx,g=e*e%o*e%o,y=y0(g,lrt,o)*g%o,_=y0(y,AR,o)*e%o,I=y0(_,RGt,o)*_%o,N=y0(I,t,o)*I%o,T=y0(N,r,o)*N%o,M=y0(T,i,o)*T%o,D=y0(M,n,o)*M%o,P=y0(D,n,o)*M%o,G=y0(P,t,o)*I%o;return{pow_p_5_8:y0(G,lrt,o)*e%o,b2:g}}function CGt(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var hAe=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function gAe(e,t){let r=fx,i=hd(t*t*t,r),n=hd(i*i*t,r),o=IGt(e*n).pow_p_5_8,d=hd(e*i*o,r),g=hd(t*d*d,r),y=d,_=hd(d*hAe,r),I=g===e,N=g===hd(-e,r),T=g===hd(-e*hAe,r);return I&&(d=y),(N||T)&&(d=_),lR(d,r)&&(d=hd(-d,r)),{isValid:I||N,value:d}}var bI=X1(TP.p,{isLE:!0}),wGt=X1(TP.n,{isLE:!0}),OGt={...TP,Fp:bI,hash:Vtt,adjustScalarBytes:CGt,uvRatio:gAe},Fp=frt(OGt);var AAe=hAe,NGt=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),xGt=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),TGt=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),BGt=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),hrt=e=>gAe(AR,e),MGt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),pAe=e=>Fp.Point.Fp.create(fR(e)&MGt);function Art(e){let{d:t}=TP,r=fx,i=q=>bI.create(q),n=i(AAe*e*e),o=i((n+AR)*TGt),d=BigInt(-1),g=i((d-t*n)*i(n+t)),{isValid:y,value:_}=gAe(o,g),I=i(_*e);lR(I,r)||(I=i(-I)),y||(_=I),y||(d=n);let N=i(d*(n-AR)*BGt-g),T=_*_,M=i((_+_)*g),D=i(N*NGt),P=i(AR-T),G=i(AR+T);return new Fp.Point(i(M*G),i(P*D),i(D*G),i(M*P))}function DGt(e){Yl(e,64);let t=pAe(e.subarray(0,32)),r=Art(t),i=pAe(e.subarray(32,64)),n=Art(i);return new pR(r.add(n))}var pR=class e extends hK{constructor(t){super(t)}static fromAffine(t){return new e(Fp.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return DGt(du("ristrettoHash",t,64))}static fromBytes(t){Yl(t,32);let{a:r,d:i}=TP,n=fx,o=ce=>bI.create(ce),d=pAe(t);if(!ztt(bI.toBytes(d),t)||lR(d,n))throw new Error("invalid ristretto255 encoding 1");let g=o(d*d),y=o(AR+r*g),_=o(AR-r*g),I=o(y*y),N=o(_*_),T=o(r*i*I-N),{isValid:M,value:D}=hrt(o(T*N)),P=o(D*_),G=o(D*P*T),q=o((d+d)*P);lR(q,n)&&(q=o(-q));let Y=o(y*G),ne=o(q*Y);if(!M||lR(ne,n)||Y===vGt)throw new Error("invalid ristretto255 encoding 2");return new e(new Fp.Point(q,Y,AR,ne))}static fromHex(t){return e.fromBytes(du("ristrettoHex",t,32))}static msm(t,r){return dx(e,Fp.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:i,T:n}=this.ep,o=fx,d=G=>bI.create(G),g=d(d(i+r)*d(i-r)),y=d(t*r),_=d(y*y),{value:I}=hrt(d(g*_)),N=d(I*g),T=d(I*y),M=d(N*T*n),D;if(lR(n*M,o)){let G=d(r*AAe),q=d(t*AAe);t=G,r=q,D=d(N*xGt)}else D=T;lR(t*M,o)&&(r=d(-r));let P=d((i-r)*D);return lR(P,o)&&(P=d(-P)),bI.toBytes(P)}equals(t){this.assertSame(t);let{X:r,Y:i}=this.ep,{X:n,Y:o}=t.ep,d=_=>bI.create(_),g=d(r*o)===d(i*n),y=d(i*o)===d(r*n);return g||y}is0(){return this.equals(e.ZERO)}};pR.BASE=new pR(Fp.Point.BASE);pR.ZERO=new pR(Fp.Point.ZERO);pR.Fp=bI;pR.Fn=wGt;var ope=po(qv()),pl=po(grt());J();K();z();ox();var BP=qm;var Sx=po(Srt()),Br=po(RI()),$nt=po(RI());J();K();z();J();K();z();var tqt=1,rqt=2,nqt=3,iqt=4,oqt=5,aqt=6,sqt=7,cqt=8,uqt=9,dqt=10,fqt=-32700,lqt=-32603,hqt=-32602,Aqt=-32601,pqt=-32600,gqt=-32016,_qt=-32015,mqt=-32014,yqt=-32013,bqt=-32012,Eqt=-32011,vqt=-32010,Rqt=-32009,Sqt=-32008,Iqt=-32007,Cqt=-32006,wqt=-32005,Oqt=-32004,Nqt=-32003,xqt=-32002,Tqt=-32001,Bqt=28e5,Mqt=2800001,Dqt=2800002,kqt=2800003,Pqt=2800004,Lqt=2800005,Uqt=2800006,Fqt=2800007,Qqt=2800008,Hqt=2800009,Gqt=2800010,qqt=2800011,Vqt=323e4,Jqt=32300001,zqt=3230002,Kqt=3230003,$qt=3230004,Yqt=361e4,Wqt=3610001,Xqt=3610002,Zqt=3610003,jqt=3610004,eVt=3610005,tVt=3610006,rVt=3610007,nVt=3611e3,iVt=3704e3,oVt=3704001,aVt=3704002,sVt=3704003,cVt=3704004,uVt=4128e3,dVt=4128001,fVt=4128002,lVt=4615e3,hVt=4615001,AVt=4615002,pVt=4615003,gVt=4615004,_Vt=4615005,mVt=4615006,yVt=4615007,bVt=4615008,EVt=4615009,vVt=4615010,RVt=4615011,SVt=4615012,IVt=4615013,CVt=4615014,wVt=4615015,OVt=4615016,NVt=4615017,xVt=4615018,TVt=4615019,BVt=4615020,MVt=4615021,DVt=4615022,kVt=4615023,PVt=4615024,LVt=4615025,UVt=4615026,FVt=4615027,QVt=4615028,HVt=4615029,GVt=4615030,qVt=4615031,VVt=4615032,JVt=4615033,zVt=4615034,KVt=4615035,$Vt=4615036,YVt=4615037,WVt=4615038,XVt=4615039,ZVt=4615040,jVt=4615041,eJt=4615042,tJt=4615043,rJt=4615044,nJt=4615045,iJt=4615046,oJt=4615047,aJt=4615048,sJt=4615049,cJt=4615050,uJt=4615051,dJt=4615052,fJt=4615053,lJt=4615054,hJt=5508e3,AJt=5508001,pJt=5508002,gJt=5508003,_Jt=5508004,mJt=5508005,yJt=5508006,bJt=5508007,EJt=5508008,vJt=5508009,RJt=5508010,SJt=5508011,IJt=5663e3,CJt=5663001,wJt=5663002,OJt=5663003,NJt=5663004,xJt=5663005,TJt=5663006,BJt=5663007,MJt=5663008,DJt=5663009,kJt=5663010,PJt=5663011,LJt=5663012,UJt=5663013,FJt=5663014,QJt=5663015,HJt=5663016,GJt=5663017,qJt=5663018,VJt=5663019,JJt=5663020,zJt=705e4,KJt=7050001,$Jt=7050002,YJt=7050003,WJt=7050004,XJt=7050005,ZJt=7050006,jJt=7050007,ezt=7050008,tzt=7050009,rzt=7050010,nzt=7050011,izt=7050012,ozt=7050013,azt=7050014,szt=7050015,czt=7050016,uzt=7050017,dzt=7050018,fzt=7050019,lzt=7050020,hzt=7050021,Azt=7050022,pzt=7050023,gzt=7050024,_zt=7050025,mzt=7050026,yzt=7050027,bzt=7050028,Ezt=7050029,vzt=7050030,Rzt=7050031,Szt=7050032,Izt=7050033,Czt=7050034,wzt=7050035,Ozt=7050036,IAe=8078e3,CAe=8078001,Irt=8078002,Crt=8078003,wAe=8078004,OAe=8078005,NAe=8078006,Nzt=8078007,xzt=8078008,Tzt=8078009,Bzt=8078010,xAe=8078011,Mzt=8078012,wrt=8078013,Ort=8078014,Dzt=8078015,kzt=8078016,Pzt=8078017,Lzt=8078018,Uzt=8078019,Nrt=8078020,xrt=8078021,Fzt=8078022,Qzt=81e5,Hzt=8100001,Gzt=8100002,qzt=8100003,Vzt=819e4,Jzt=8190001,zzt=8190002,Kzt=8190003,$zt=8190004,Yzt=99e5,Wzt=9900001,Xzt=9900002,Zzt=9900003,jzt=9900004;function Trt(e){return Array.isArray(e)?"%5B"+e.map(Trt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function eKt([e,t]){return`${e}=${Trt(t)}`}function tKt(e){let t=Object.entries(e).map(eKt).join("&");return btoa(t)}var cKn={[Vqt]:"Account not found at address: $address",[$qt]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[Kqt]:"Expected decoded account at address: $address",[zqt]:"Failed to decode account data at address: $address",[Jqt]:"Accounts not found at addresses: $addresses",[Hqt]:"Unable to find a viable program address bump seed.",[Dqt]:"$putativeAddress is not a base58-encoded address.",[Bqt]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[kqt]:"The `CryptoKey` must be an `Ed25519` public key.",[qqt]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[Qqt]:"Invalid seeds; point must fall off the Ed25519 curve.",[Pqt]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Uqt]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[Fqt]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[Lqt]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[Gqt]:"Program address cannot end with PDA marker.",[Mqt]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[iqt]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[tqt]:"The network has progressed past the last block for which this transaction could have been committed.",[IAe]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Fzt]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[Nrt]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[OAe]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[NAe]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[wAe]:"Encoder and decoder must either both be fixed-size or variable-size.",[xzt]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[Irt]:"Expected a fixed-size codec, got a variable-size one.",[wrt]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Crt]:"Expected a variable-size codec, got a fixed-size one.",[Uzt]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[CAe]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[Lzt]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[Tzt]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[Bzt]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Dzt]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Nzt]:"Expected [$codecDescription] to have $expected items, got $actual.",[Mzt]:"Invalid value $value for base $base with alphabet $alphabet.",[kzt]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[xAe]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[Ort]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[xrt]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Pzt]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[nVt]:"No random values implementation could be found.",[EVt]:"instruction requires an uninitialized account",[kVt]:"instruction tries to borrow reference for an account which is already borrowed",[PVt]:"instruction left account with an outstanding borrowed reference",[MVt]:"program other than the account's owner changed the size of the account data",[_Vt]:"account data too small for instruction",[DVt]:"instruction expected an executable account",[iJt]:"An account does not have enough lamports to be rent-exempt",[aJt]:"Program arithmetic overflowed",[nJt]:"Failed to serialize or deserialize account data: $encodedData",[lJt]:"Builtin programs must consume compute units",[VVt]:"Cross-program invocation call depth too deep",[WVt]:"Computational budget exceeded",[UVt]:"custom program error: #$code",[NVt]:"instruction contains duplicate accounts",[LVt]:"instruction modifications of multiply-passed account differ",[GVt]:"executable accounts must be rent exempt",[QVt]:"instruction changed executable accounts data",[HVt]:"instruction changed the balance of an executable account",[xVt]:"instruction changed executable bit of an account",[CVt]:"instruction modified data of an account it does not own",[IVt]:"instruction spent from the balance of an account it does not own",[hVt]:"generic instruction error",[cJt]:"Provided owner is not allowed",[tJt]:"Account is immutable",[rJt]:"Incorrect authority provided",[yVt]:"incorrect program id for instruction",[mVt]:"insufficient funds for instruction",[gVt]:"invalid account data for instruction",[oJt]:"Invalid account owner",[AVt]:"invalid program argument",[FVt]:"program returned invalid error code",[pVt]:"invalid instruction data",[YVt]:"Failed to reallocate account data",[$Vt]:"Provided seeds do not result in a valid address",[uJt]:"Accounts data allocations exceeded the maximum allowed per transaction",[dJt]:"Max accounts exceeded",[fJt]:"Max instruction trace length exceeded",[KVt]:"Length of the seed is too long for address generation",[JVt]:"An account required by the instruction is missing",[bVt]:"missing required signature for instruction",[SVt]:"instruction illegally modified the program id of an account",[BVt]:"insufficient account keys for instruction",[XVt]:"Cross-program invocation with unauthorized signer or writable account",[ZVt]:"Failed to create program execution environment",[eJt]:"Program failed to compile",[jVt]:"Program failed to complete",[OVt]:"instruction modified data of a read-only account",[wVt]:"instruction changed the balance of a read-only account",[zVt]:"Cross-program invocation reentrancy not allowed for this instruction",[TVt]:"instruction modified rent epoch of an account",[RVt]:"sum of account balances before and after instruction do not match",[vVt]:"instruction requires an initialized account",[lVt]:"",[qVt]:"Unsupported program id",[sJt]:"Unsupported sysvar",[uVt]:"The instruction does not have any accounts.",[dVt]:"The instruction does not have any data.",[fVt]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[oqt]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[rqt]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[Xzt]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[jzt]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Wzt]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Yzt]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Zzt]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[lqt]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[hqt]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[pqt]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Aqt]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[fqt]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[bqt]:"$__serverMessage",[Tqt]:"$__serverMessage",[Oqt]:"$__serverMessage",[mqt]:"$__serverMessage",[vqt]:"$__serverMessage",[Rqt]:"$__serverMessage",[gqt]:"Minimum context slot has not been reached",[wqt]:"Node is unhealthy; behind by $numSlotsBehind slots",[Sqt]:"No snapshot",[xqt]:"Transaction simulation failed",[Iqt]:"$__serverMessage",[Eqt]:"Transaction history is not available from this node",[Cqt]:"$__serverMessage",[yqt]:"Transaction signature length mismatch",[Nqt]:"Transaction signature verification failure",[_qt]:"$__serverMessage",[iVt]:"Key pair bytes must be of length 64, got $byteLength.",[oVt]:"Expected private key bytes with length 32. Actual length: $actualLength.",[aVt]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[cVt]:"The provided private key does not match the provided public key.",[sVt]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[aqt]:"Lamports value must be in the range [0, 2e64-1]",[sqt]:"`$value` cannot be parsed as a `BigInt`",[dqt]:"$message",[cqt]:"`$value` cannot be parsed as a `Number`",[nqt]:"No nonce account could be found at address `$nonceAccountAddress`",[Vzt]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[zzt]:"WebSocket was closed before payload could be added to the send buffer",[Kzt]:"WebSocket connection closed",[$zt]:"WebSocket failed to connect",[Jzt]:"Failed to obtain a subscription id from the server",[qzt]:"Could not find an API plan for RPC method: `$method`",[Qzt]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[Gzt]:"HTTP error ($statusCode): $message",[Hzt]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[hJt]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[AJt]:"The provided value does not implement the `KeyPairSigner` interface",[gJt]:"The provided value does not implement the `MessageModifyingSigner` interface",[_Jt]:"The provided value does not implement the `MessagePartialSigner` interface",[pJt]:"The provided value does not implement any of the `MessageSigner` interfaces",[yJt]:"The provided value does not implement the `TransactionModifyingSigner` interface",[bJt]:"The provided value does not implement the `TransactionPartialSigner` interface",[EJt]:"The provided value does not implement the `TransactionSendingSigner` interface",[mJt]:"The provided value does not implement any of the `TransactionSigner` interfaces",[vJt]:"More than one `TransactionSendingSigner` was identified.",[RJt]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[SJt]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[rVt]:"Cannot export a non-extractable key.",[Wqt]:"No digest implementation could be found.",[Yqt]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Xqt]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[Zqt]:"No signature verification implementation could be found.",[jqt]:"No key generation implementation could be found.",[eVt]:"No signing implementation could be found.",[tVt]:"No key export implementation could be found.",[uqt]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[czt]:"Transaction processing left an account with an outstanding borrowed reference",[KJt]:"Account in use",[$Jt]:"Account loaded twice",[YJt]:"Attempt to debit an account but found no record of a prior credit.",[pzt]:"Transaction loads an address table account that doesn't exist",[jJt]:"This transaction has already been processed",[ezt]:"Blockhash not found",[tzt]:"Loader call chain is too deep",[szt]:"Transactions are currently disabled due to cluster maintenance",[vzt]:"Transaction contains a duplicate instruction ($index) that is not allowed",[XJt]:"Insufficient funds for fee",[Rzt]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[ZJt]:"This account may not be used to pay transaction fees",[nzt]:"Transaction contains an invalid account reference",[_zt]:"Transaction loads an address table account with invalid data",[mzt]:"Transaction address table lookup uses an invalid index",[gzt]:"Transaction loads an address table account with an invalid owner",[Izt]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[ozt]:"This program may not be used for executing instructions",[yzt]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[fzt]:"Transaction loads a writable account that cannot be written",[Szt]:"Transaction exceeded max loaded accounts data size cap",[rzt]:"Transaction requires a fee but has no signature present",[WJt]:"Attempt to load a program that does not exist",[wzt]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[Czt]:"ResanitizationNeeded",[azt]:"Transaction failed to sanitize accounts offsets correctly",[izt]:"Transaction did not pass signature verification",[Azt]:"Transaction locked too many accounts",[Ozt]:"Sum of account balances before and after transaction do not match",[zJt]:"The transaction failed with the error `$errorName`",[dzt]:"Transaction version is unsupported",[hzt]:"Transaction would exceed account data limit within the block",[Ezt]:"Transaction would exceed total account data limit",[lzt]:"Transaction would exceed max account limit within the block",[uzt]:"Transaction would exceed max Block Cost Limit",[bzt]:"Transaction would exceed max Vote Cost Limit",[QJt]:"Attempted to sign a transaction with an address that is not a signer for it",[kJt]:"Transaction is missing an address at index: $index.",[HJt]:"Transaction has no expected signers therefore it cannot be encoded",[JJt]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[wJt]:"Transaction does not have a blockhash lifetime",[OJt]:"Transaction is not a durable nonce transaction",[xJt]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[TJt]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[MJt]:"No fee payer set in CompiledTransaction",[BJt]:"Could not find program address at index $index",[qJt]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[VJt]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[PJt]:"Transaction is missing a fee payer.",[LJt]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[FJt]:"Transaction first instruction is not advance nonce account instruction.",[UJt]:"Transaction with no instructions cannot be durable nonce transaction.",[IJt]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[CJt]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[GJt]:"The transaction message expected the transaction to have $signerAddressesLength signatures, got $signaturesLength.",[DJt]:"Transaction is missing signatures for addresses: $addresses.",[NJt]:"Transaction version must be in the range [0, 127]. `$actualVersion` given"};function rKt(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${tKt(t)}'`),`${r}\``}}var SI=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;if(t){let{cause:o,...d}=t;o&&(i={cause:o}),Object.keys(d).length>0&&(r=d)}let n=rKt(e,r);super(n,i),this.context={__code:e,...r},this.name="SolanaError"}};J();K();z();function nKt(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function Brt(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(nKt(t,e));return e.write(t,r,0),r}})}function Mrt(e){return Object.freeze({...e,decode:(t,r=0)=>e.read(t,r)[0]})}function gx(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function Drt(e,t){if(gx(e)!==gx(t))throw new SI(wAe);if(gx(e)&&gx(t)&&e.fixedSize!==t.fixedSize)throw new SI(OAe,{decoderFixedSize:t.fixedSize,encoderFixedSize:e.fixedSize});if(!gx(e)&&!gx(t)&&e.maxSize!==t.maxSize)throw new SI(NAe,{decoderMaxSize:t.maxSize,encoderMaxSize:e.maxSize});return{...t,...e,decode:t.decode,encode:e.encode,read:t.read,write:e.write}}function krt(e,t,r=0){if(t.length-r<=0)throw new SI(IAe,{codecDescription:e})}function Prt(e,t,r,i=0){let n=r.length-i;if(n<t)throw new SI(CAe,{bytesLength:n,codecDescription:e,expected:t})}function iKt(e,t,r,i){if(i<t||i>r)throw new SI(xAe,{codecDescription:e,max:r,min:t,value:i})}function Lrt(e){return e?.endian!==1}function oKt(e){return Brt({fixedSize:e.size,write(t,r,i){e.range&&iKt(e.name,e.range[0],e.range[1],t);let n=new ArrayBuffer(e.size);return e.set(new DataView(n),t,Lrt(e.config)),r.set(new Uint8Array(n),i),i+e.size}})}function aKt(e){return Mrt({fixedSize:e.size,read(t,r=0){krt(e.name,t,r),Prt(e.name,e.size,t,r);let i=new DataView(sKt(t,r,e.size));return[e.get(i,Lrt(e.config)),r+e.size]}})}function sKt(e,t,r){let i=e.byteOffset+(t??0),n=r??e.byteLength;return e.buffer.slice(i,i+n)}var TAe=(e={})=>oKt({config:e,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(t,r,i)=>t.setBigUint64(0,BigInt(r),i),size:8}),cKt=(e={})=>aKt({config:e,get:(t,r)=>t.getBigUint64(0,r),name:"u64",size:8}),Urt=(e={})=>Drt(TAe(e),cKt(e));J();K();z();var BAe=class extends TypeError{constructor(t,r){let i,{message:n,explanation:o,...d}=t,{path:g}=t,y=g.length===0?n:`At path: ${g.join(".")} -- ${n}`;super(o??y),o!=null&&(this.cause=y),Object.assign(this,d),this.name=this.constructor.name,this.failures=()=>i??(i=[t,...r()])}};function uKt(e){return UP(e)&&typeof e[Symbol.iterator]=="function"}function UP(e){return typeof e=="object"&&e!=null}function FK(e){return UP(e)&&!Array.isArray(e)}function Vm(e){return typeof e=="symbol"?e.toString():typeof e=="string"?JSON.stringify(e):`${e}`}function dKt(e){let{done:t,value:r}=e.next();return t?void 0:r}function fKt(e,t,r,i){if(e===!0)return;e===!1?e={}:typeof e=="string"&&(e={message:e});let{path:n,branch:o}=t,{type:d}=r,{refinement:g,message:y=`Expected a value of type \`${d}\`${g?` with refinement \`${g}\``:""}, but received: \`${Vm(i)}\``}=e;return{value:i,type:d,refinement:g,key:n[n.length-1],path:n,branch:o,...e,message:y}}function*Frt(e,t,r,i){uKt(e)||(e=[e]);for(let n of e){let o=fKt(n,t,r,i);o&&(yield o)}}function*MAe(e,t,r={}){let{path:i=[],branch:n=[e],coerce:o=!1,mask:d=!1}=r,g={path:i,branch:n,mask:d};o&&(e=t.coercer(e,g));let y="valid";for(let _ of t.validator(e,g))_.explanation=r.message,y="not_valid",yield[_,void 0];for(let[_,I,N]of t.entries(e,g)){let T=MAe(I,N,{path:_===void 0?i:[...i,_],branch:_===void 0?n:[...n,I],coerce:o,mask:d,message:r.message});for(let M of T)M[0]?(y=M[0].refinement!=null?"not_refined":"not_valid",yield[M[0],void 0]):o&&(I=M[1],_===void 0?e=I:e instanceof Map?e.set(_,I):e instanceof Set?e.add(I):UP(e)&&(I!==void 0||_ in e)&&(e[_]=I))}if(y!=="not_valid")for(let _ of t.refiner(e,g))_.explanation=r.message,y="not_refined",yield[_,void 0];y==="valid"&&(yield[void 0,e])}var O_=class{constructor(t){let{type:r,schema:i,validator:n,refiner:o,coercer:d=y=>y,entries:g=function*(){}}=t;this.type=r,this.schema=i,this.entries=g,this.coercer=d,n?this.validator=(y,_)=>{let I=n(y,_);return Frt(I,_,this,y)}:this.validator=()=>[],o?this.refiner=(y,_)=>{let I=o(y,_);return Frt(I,_,this,y)}:this.refiner=()=>[]}assert(t,r){return Qrt(t,this,r)}create(t,r){return Ei(t,this,r)}is(t){return Hrt(t,this)}mask(t,r){return lKt(t,this,r)}validate(t,r={}){return FP(t,this,r)}};function Qrt(e,t,r){let i=FP(e,t,{message:r});if(i[0])throw i[0]}function Ei(e,t,r){let i=FP(e,t,{coerce:!0,message:r});if(i[0])throw i[0];return i[1]}function lKt(e,t,r){let i=FP(e,t,{coerce:!0,mask:!0,message:r});if(i[0])throw i[0];return i[1]}function Hrt(e,t){return!FP(e,t)[0]}function FP(e,t,r={}){let i=MAe(e,t,r),n=dKt(i);return n[0]?[new BAe(n[0],function*(){for(let d of i)d[0]&&(yield d[0])}),void 0]:[void 0,n[1]]}function IC(e,t){return new O_({type:e,schema:null,validator:t})}function Grt(){return IC("any",()=>!0)}function Ii(e){return new O_({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(let[r,i]of t.entries())yield[r,i,e]},coercer(t){return Array.isArray(t)?t.slice():t},validator(t){return Array.isArray(t)||`Expected an array value, but received: ${Vm(t)}`}})}function Jm(){return IC("boolean",e=>typeof e=="boolean")}function QK(e){return IC("instance",t=>t instanceof e||`Expected a \`${e.name}\` instance, but received: ${Vm(t)}`)}function b0(e){let t=Vm(e),r=typeof e;return new O_({type:"literal",schema:r==="string"||r==="number"||r==="boolean"?e:null,validator(i){return i===e||`Expected the literal \`${t}\`, but received: ${Vm(i)}`}})}function hKt(){return IC("never",()=>!1)}function wi(e){return new O_({...e,validator:(t,r)=>t===null||e.validator(t,r),refiner:(t,r)=>t===null||e.refiner(t,r)})}function Zr(){return IC("number",e=>typeof e=="number"&&!isNaN(e)||`Expected a number, but received: ${Vm(e)}`)}function Io(e){return new O_({...e,validator:(t,r)=>t===void 0||e.validator(t,r),refiner:(t,r)=>t===void 0||e.refiner(t,r)})}function DAe(e,t){return new O_({type:"record",schema:null,*entries(r){if(UP(r))for(let i in r){let n=r[i];yield[i,i,e],yield[i,n,t]}},validator(r){return FK(r)||`Expected an object, but received: ${Vm(r)}`},coercer(r){return FK(r)?{...r}:r}})}function fi(){return IC("string",e=>typeof e=="string"||`Expected a string, but received: ${Vm(e)}`)}function HK(e){let t=hKt();return new O_({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){let i=Math.max(e.length,r.length);for(let n=0;n<i;n++)yield[n,r[n],e[n]||t]}},validator(r){return Array.isArray(r)||`Expected an array, but received: ${Vm(r)}`},coercer(r){return Array.isArray(r)?r.slice():r}})}function Vn(e){let t=Object.keys(e);return new O_({type:"type",schema:e,*entries(r){if(UP(r))for(let i of t)yield[i,r[i],e[i]]},validator(r){return FK(r)||`Expected an object, but received: ${Vm(r)}`},coercer(r){return FK(r)?{...r}:r}})}function Qh(e){let t=e.map(r=>r.type).join(" | ");return new O_({type:"union",schema:null,coercer(r,i){for(let n of e){let[o,d]=n.validate(r,{coerce:!0,mask:i.mask});if(!o)return d}return r},validator(r,i){let n=[];for(let o of e){let[...d]=MAe(r,o,i),[g]=d;if(g[0])for(let[y]of d)y&&n.push(y);else return[]}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${Vm(r)}`,...n]}})}function CC(){return IC("unknown",()=>!0)}function _x(e,t,r){return new O_({...e,coercer:(i,n)=>Hrt(i,t)?e.coercer(r(i,n),n):e.coercer(i,n)})}var Ynt=po(lnt());J();K();z();mh();J();K();z();var mx=po(Ant(),1);var FKt=class extends mx.default{socket;constructor(e,t){super(),this.socket=new window.WebSocket(e,t.protocols),this.socket.onopen=()=>this.emit("open"),this.socket.onmessage=r=>this.emit("message",r.data),this.socket.onerror=r=>this.emit("error",r),this.socket.onclose=r=>{this.emit("close",r.code,r.reason)}}send(e,t,r){let i=r||t;try{this.socket.send(e),i()}catch(n){i(n)}}close(e,t){this.socket.close(e,t)}addEventListener(e,t,r){this.socket.addEventListener(e,t,r)}};function pnt(e,t){return new FKt(e,t)}var QKt=class{encode(e){return JSON.stringify(e)}decode(e){return JSON.parse(e)}},gnt=class extends mx.default{address;rpc_id;queue;options;autoconnect;ready;reconnect;reconnect_timer_id;reconnect_interval;max_reconnects;rest_options;current_reconnects;generate_request_id;socket;webSocketFactory;dataPack;constructor(e,t="ws://localhost:8080",{autoconnect:r=!0,reconnect:i=!0,reconnect_interval:n=1e3,max_reconnects:o=5,...d}={},g,y){super(),this.webSocketFactory=e,this.queue={},this.rpc_id=0,this.address=t,this.autoconnect=r,this.ready=!1,this.reconnect=i,this.reconnect_timer_id=void 0,this.reconnect_interval=n,this.max_reconnects=o,this.rest_options=d,this.current_reconnects=0,this.generate_request_id=g||(()=>typeof this.rpc_id=="number"?++this.rpc_id:Number(this.rpc_id)+1),y?this.dataPack=y:this.dataPack=new QKt,this.autoconnect&&this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}connect(){this.socket||this._connect(this.address,{autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects,...this.rest_options})}call(e,t,r,i){return!i&&typeof r=="object"&&(i=r,r=null),new Promise((n,o)=>{if(!this.ready)return o(new Error("socket not ready"));let d=this.generate_request_id(e,t),g={jsonrpc:"2.0",method:e,params:t||void 0,id:d};this.socket.send(this.dataPack.encode(g),i,y=>{if(y)return o(y);this.queue[d]={promise:[n,o]},r&&(this.queue[d].timeout=setTimeout(()=>{delete this.queue[d],o(new Error("reply timeout"))},r))})})}async login(e){let t=await this.call("rpc.login",e);if(!t)throw new Error("authentication failed");return t}async listMethods(){return await this.call("__listMethods")}notify(e,t){return new Promise((r,i)=>{if(!this.ready)return i(new Error("socket not ready"));let n={jsonrpc:"2.0",method:e,params:t};this.socket.send(this.dataPack.encode(n),o=>{if(o)return i(o);r()})})}async subscribe(e){typeof e=="string"&&(e=[e]);let t=await this.call("rpc.on",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed subscribing to an event '"+e+"' with: "+t[e]);return t}async unsubscribe(e){typeof e=="string"&&(e=[e]);let t=await this.call("rpc.off",e);if(typeof e=="string"&&t[e]!=="ok")throw new Error("Failed unsubscribing from an event with: "+t);return t}close(e,t){this.socket&&this.socket.close(e||1e3,t)}setAutoReconnect(e){this.reconnect=e}setReconnectInterval(e){this.reconnect_interval=e}setMaxReconnects(e){this.max_reconnects=e}getCurrentReconnects(){return this.current_reconnects}getMaxReconnects(){return this.max_reconnects}isReconnecting(){return this.reconnect_timer_id!==void 0}willReconnect(){return this.reconnect&&(this.max_reconnects===0||this.current_reconnects<this.max_reconnects)}_connect(e,t){clearTimeout(this.reconnect_timer_id),this.socket=this.webSocketFactory(e,t),this.socket.addEventListener("open",()=>{this.ready=!0,this.emit("open"),this.current_reconnects=0}),this.socket.addEventListener("message",({data:r})=>{r instanceof ArrayBuffer&&(r=fe.from(r).toString());try{r=this.dataPack.decode(r)}catch{return}if(r.notification&&this.listeners(r.notification).length){if(!Object.keys(r.params).length)return this.emit(r.notification);let i=[r.notification];if(r.params.constructor===Object)i.push(r.params);else for(let n=0;n<r.params.length;n++)i.push(r.params[n]);return Promise.resolve().then(()=>{this.emit.apply(this,i)})}if(!this.queue[r.id])return r.method?Promise.resolve().then(()=>{this.emit(r.method,r?.params)}):void 0;"error"in r=="result"in r&&this.queue[r.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),this.queue[r.id].timeout&&clearTimeout(this.queue[r.id].timeout),r.error?this.queue[r.id].promise[1](r.error):this.queue[r.id].promise[0](r.result),delete this.queue[r.id]}),this.socket.addEventListener("error",r=>this.emit("error",r)),this.socket.addEventListener("close",({code:r,reason:i})=>{this.ready&&setTimeout(()=>this.emit("close",r,i),0),this.ready=!1,this.socket=void 0,r!==1e3&&(this.current_reconnects++,this.reconnect&&(this.max_reconnects>this.current_reconnects||this.max_reconnects===0)?this.reconnect_timer_id=setTimeout(()=>this._connect(e,t),this.reconnect_interval):this.reconnect&&this.max_reconnects>0&&this.current_reconnects>=this.max_reconnects&&setTimeout(()=>this.emit("max_reconnects_reached",r,i),1))})}};$K();J();K();z();ox();J();K();z();J();K();z();WK();Up();var Rnt=(e,t)=>(e+(e>=0?t:-t)/Snt)/t;function WKt(e,t,r){let[[i,n],[o,d]]=t,g=Rnt(d*e,r),y=Rnt(-n*e,r),_=e-g*i-y*o,I=-g*n-y*d,N=_<yR,T=I<yR;N&&(_=-_),T&&(I=-I);let M=_I(Math.ceil(dK(r)/2))+bx;if(_<yR||_>=M||I<yR||I>=M)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:N,k1:_,k2neg:T,k2:I}}function KAe(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function zAe(e,t){let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];return dR(r.lowS,"lowS"),dR(r.prehash,"prehash"),r.format!==void 0&&KAe(r.format),r}var $Ae=class extends Error{constructor(t=""){super(t)}},mR={Err:$Ae,_tlv:{encode:(e,t)=>{let{Err:r}=mR;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=wP(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?wP(n.length/2|128):"";return wP(e)+o+n+t},decode(e,t){let{Err:r}=mR,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),d=0;if(!o)d=n;else{let y=n&127;if(!y)throw new r("tlv.decode(long): indefinite length not supported");if(y>4)throw new r("tlv.decode(long): byte length is too big");let _=t.subarray(i,i+y);if(_.length!==y)throw new r("tlv.decode: length bytes not complete");if(_[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let I of _)d=d<<8|I;if(i+=y,d<128)throw new r("tlv.decode(long): not minimal encoding")}let g=t.subarray(i,i+d);if(g.length!==d)throw new r("tlv.decode: wrong value length");return{v:g,l:t.subarray(i+d)}}},_int:{encode(e){let{Err:t}=mR;if(e<yR)throw new t("integer: negative integers are not allowed");let r=wP(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=mR;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ax(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=mR,n=du("signature",e),{v:o,l:d}=i.decode(48,n);if(d.length)throw new t("invalid signature: left bytes after parsing");let{v:g,l:y}=i.decode(2,o),{v:_,l:I}=i.decode(2,y);if(I.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(g),s:r.decode(_)}},hexFromSig(e){let{_tlv:t,_int:r}=mR,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}},yR=BigInt(0),bx=BigInt(1),Snt=BigInt(2),XK=BigInt(3),XKt=BigInt(4);function yx(e,t){let{BYTES:r}=e,i;if(typeof t=="bigint")i=t;else{let n=du("private key",t);try{i=e.fromBytes(n)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(i))throw new Error("invalid private key: out of range [1..N-1]");return i}function ZKt(e,t={}){let r=lK("weierstrass",e,t),{Fp:i,Fn:n}=r,o=r.CURVE,{h:d,n:g}=o;mI(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:y}=t;if(y&&(!i.is0(o.a)||typeof y.beta!="bigint"||!Array.isArray(y.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let _=Cnt(i,n);function I(){if(!i.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function N(l,A,m){let{x:E,y:w}=A.toAffine(),x=i.toBytes(E);if(dR(m,"isCompressed"),m){I();let R=!i.isOdd(w);return Qf(Int(R),x)}else return Qf(Uint8Array.of(4),x,i.toBytes(w))}function T(l){W1(l,void 0,"Point");let{publicKey:A,publicKeyUncompressed:m}=_,E=l.length,w=l[0],x=l.subarray(1);if(E===A&&(w===2||w===3)){let R=i.fromBytes(x);if(!i.isValid(R))throw new Error("bad point: is not on curve, wrong x");let u=P(R),C;try{C=i.sqrt(u)}catch(X){let Ae=X instanceof Error?": "+X.message:"";throw new Error("bad point: is not on curve, sqrt error"+Ae)}I();let U=i.isOdd(C);return(w&1)===1!==U&&(C=i.neg(C)),{x:R,y:C}}else if(E===m&&w===4){let R=i.BYTES,u=i.fromBytes(x.subarray(0,R)),C=i.fromBytes(x.subarray(R,R*2));if(!G(u,C))throw new Error("bad point: is not on curve");return{x:u,y:C}}else throw new Error(`bad point: got length ${E}, expected compressed=${A} or uncompressed=${m}`)}let M=t.toBytes||N,D=t.fromBytes||T;function P(l){let A=i.sqr(l),m=i.mul(A,l);return i.add(i.add(m,i.mul(l,o.a)),o.b)}function G(l,A){let m=i.sqr(A),E=P(l);return i.eql(m,E)}if(!G(o.Gx,o.Gy))throw new Error("bad curve params: generator point");let q=i.mul(i.pow(o.a,XK),XKt),Y=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(q,Y)))throw new Error("bad curve params: a or b");function ne(l,A,m=!1){if(!i.isValid(A)||m&&i.is0(A))throw new Error(`bad point coordinate ${l}`);return A}function ce(l){if(!(l instanceof se))throw new Error("ProjectivePoint expected")}function le(l){if(!y||!y.basises)throw new Error("no endo");return WKt(l,y.basises,n.ORDER)}let pe=sx((l,A)=>{let{X:m,Y:E,Z:w}=l;if(i.eql(w,i.ONE))return{x:m,y:E};let x=l.is0();A==null&&(A=x?i.ONE:i.inv(w));let R=i.mul(m,A),u=i.mul(E,A),C=i.mul(w,A);if(x)return{x:i.ZERO,y:i.ZERO};if(!i.eql(C,i.ONE))throw new Error("invZ was invalid");return{x:R,y:u}}),ae=sx(l=>{if(l.is0()){if(t.allowInfinityPoint&&!i.is0(l.Y))return;throw new Error("bad point: ZERO")}let{x:A,y:m}=l.toAffine();if(!i.isValid(A)||!i.isValid(m))throw new Error("bad point: x or y not field elements");if(!G(A,m))throw new Error("bad point: equation left != right");if(!l.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function W(l,A,m,E,w){return m=new se(i.mul(m.X,l),m.Y,m.Z),A=xP(E,A),m=xP(w,m),A.add(m)}class se{constructor(A,m,E){this.X=ne("x",A),this.Y=ne("y",m,!0),this.Z=ne("z",E),Object.freeze(this)}static CURVE(){return o}static fromAffine(A){let{x:m,y:E}=A||{};if(!A||!i.isValid(m)||!i.isValid(E))throw new Error("invalid affine point");if(A instanceof se)throw new Error("projective point not allowed");return i.is0(m)&&i.is0(E)?se.ZERO:new se(m,E,i.ONE)}static fromBytes(A){let m=se.fromAffine(D(W1(A,void 0,"point")));return m.assertValidity(),m}static fromHex(A){return se.fromBytes(du("pointHex",A))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(A=8,m=!0){return s.createCache(this,A),m||this.multiply(XK),this}assertValidity(){ae(this)}hasEvenY(){let{y:A}=this.toAffine();if(!i.isOdd)throw new Error("Field doesn't support isOdd");return!i.isOdd(A)}equals(A){ce(A);let{X:m,Y:E,Z:w}=this,{X:x,Y:R,Z:u}=A,C=i.eql(i.mul(m,u),i.mul(x,w)),U=i.eql(i.mul(E,u),i.mul(R,w));return C&&U}negate(){return new se(this.X,i.neg(this.Y),this.Z)}double(){let{a:A,b:m}=o,E=i.mul(m,XK),{X:w,Y:x,Z:R}=this,u=i.ZERO,C=i.ZERO,U=i.ZERO,F=i.mul(w,w),X=i.mul(x,x),Ae=i.mul(R,R),he=i.mul(w,x);return he=i.add(he,he),U=i.mul(w,R),U=i.add(U,U),u=i.mul(A,U),C=i.mul(E,Ae),C=i.add(u,C),u=i.sub(X,C),C=i.add(X,C),C=i.mul(u,C),u=i.mul(he,u),U=i.mul(E,U),Ae=i.mul(A,Ae),he=i.sub(F,Ae),he=i.mul(A,he),he=i.add(he,U),U=i.add(F,F),F=i.add(U,F),F=i.add(F,Ae),F=i.mul(F,he),C=i.add(C,F),Ae=i.mul(x,R),Ae=i.add(Ae,Ae),F=i.mul(Ae,he),u=i.sub(u,F),U=i.mul(Ae,X),U=i.add(U,U),U=i.add(U,U),new se(u,C,U)}add(A){ce(A);let{X:m,Y:E,Z:w}=this,{X:x,Y:R,Z:u}=A,C=i.ZERO,U=i.ZERO,F=i.ZERO,X=o.a,Ae=i.mul(o.b,XK),he=i.mul(m,x),$e=i.mul(E,R),Ge=i.mul(w,u),Re=i.add(m,E),Se=i.add(x,R);Re=i.mul(Re,Se),Se=i.add(he,$e),Re=i.sub(Re,Se),Se=i.add(m,w);let ct=i.add(x,u);return Se=i.mul(Se,ct),ct=i.add(he,Ge),Se=i.sub(Se,ct),ct=i.add(E,w),C=i.add(R,u),ct=i.mul(ct,C),C=i.add($e,Ge),ct=i.sub(ct,C),F=i.mul(X,Se),C=i.mul(Ae,Ge),F=i.add(C,F),C=i.sub($e,F),F=i.add($e,F),U=i.mul(C,F),$e=i.add(he,he),$e=i.add($e,he),Ge=i.mul(X,Ge),Se=i.mul(Ae,Se),$e=i.add($e,Ge),Ge=i.sub(he,Ge),Ge=i.mul(X,Ge),Se=i.add(Se,Ge),he=i.mul($e,Se),U=i.add(U,he),he=i.mul(ct,Se),C=i.mul(Re,C),C=i.sub(C,he),he=i.mul(Re,$e),F=i.mul(ct,F),F=i.add(F,he),new se(C,U,F)}subtract(A){return this.add(A.negate())}is0(){return this.equals(se.ZERO)}multiply(A){let{endo:m}=t;if(!n.isValidNot0(A))throw new Error("invalid scalar: out of range");let E,w,x=R=>s.cached(this,R,u=>hR(se,u));if(m){let{k1neg:R,k1:u,k2neg:C,k2:U}=le(A),{p:F,f:X}=x(u),{p:Ae,f:he}=x(U);w=X.add(he),E=W(m.beta,F,Ae,R,C)}else{let{p:R,f:u}=x(A);E=R,w=u}return hR(se,[E,w])[0]}multiplyUnsafe(A){let{endo:m}=t,E=this;if(!n.isValid(A))throw new Error("invalid scalar: out of range");if(A===yR||E.is0())return se.ZERO;if(A===bx)return E;if(s.hasCache(this))return this.multiply(A);if(m){let{k1neg:w,k1:x,k2neg:R,k2:u}=le(A),{p1:C,p2:U}=drt(se,E,x,u);return W(m.beta,C,U,w,R)}else return s.unsafe(E,A)}multiplyAndAddUnsafe(A,m,E){let w=this.multiplyUnsafe(m).add(A.multiplyUnsafe(E));return w.is0()?void 0:w}toAffine(A){return pe(this,A)}isTorsionFree(){let{isTorsionFree:A}=t;return d===bx?!0:A?A(se,this):s.unsafe(this,g).is0()}clearCofactor(){let{clearCofactor:A}=t;return d===bx?this:A?A(se,this):this.multiplyUnsafe(d)}isSmallOrder(){return this.multiplyUnsafe(d).is0()}toBytes(A=!0){return dR(A,"isCompressed"),this.assertValidity(),M(se,this,A)}toHex(A=!0){return C_(this.toBytes(A))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(A=!0){return this.toBytes(A)}_setWindowSize(A){this.precompute(A)}static normalizeZ(A){return hR(se,A)}static msm(A,m){return dx(se,n,A,m)}static fromPrivateKey(A){return se.BASE.multiply(yx(n,A))}}se.BASE=new se(o.Gx,o.Gy,i.ONE),se.ZERO=new se(i.ZERO,i.ONE,i.ZERO),se.Fp=i,se.Fn=n;let O=n.BITS,s=new ux(se,t.endo?Math.ceil(O/2):O);return se.BASE.precompute(8),se}function Int(e){return Uint8Array.of(e?2:3)}function Cnt(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function jKt(e,t={}){let{Fn:r}=e,i=t.randomBytes||w_,n=Object.assign(Cnt(e.Fp,r),{seed:sAe(r.ORDER)});function o(M){try{return!!yx(r,M)}catch{return!1}}function d(M,D){let{publicKey:P,publicKeyUncompressed:G}=n;try{let q=M.length;return D===!0&&q!==P||D===!1&&q!==G?!1:!!e.fromBytes(M)}catch{return!1}}function g(M=i(n.seed)){return cAe(W1(M,n.seed,"seed"),r.ORDER)}function y(M,D=!0){return e.BASE.multiply(yx(r,M)).toBytes(D)}function _(M){let D=g(M);return{secretKey:D,publicKey:y(D)}}function I(M){if(typeof M=="bigint")return!1;if(M instanceof e)return!0;let{secretKey:D,publicKey:P,publicKeyUncompressed:G}=n;if(r.allowedLengths||D===P)return;let q=du("key",M).length;return q===P||q===G}function N(M,D,P=!0){if(I(M)===!0)throw new Error("first arg must be private key");if(I(D)===!1)throw new Error("second arg must be public key");let G=yx(r,M);return e.fromHex(D).multiply(G).toBytes(P)}return Object.freeze({getPublicKey:y,getSharedSecret:N,keygen:_,Point:e,utils:{isValidSecretKey:o,isValidPublicKey:d,randomSecretKey:g,isValidPrivateKey:o,randomPrivateKey:g,normPrivateKeyToScalar:M=>yx(r,M),precompute(M=8,D=e.BASE){return D.precompute(M,!1)}},lengths:n})}function e$t(e,t,r={}){nK(t),mI(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let i=r.randomBytes||w_,n=r.hmac||((m,...E)=>OC(t,m,Qf(...E))),{Fp:o,Fn:d}=e,{ORDER:g,BITS:y}=d,{keygen:_,getPublicKey:I,getSharedSecret:N,utils:T,lengths:M}=jKt(e,r),D={prehash:!1,lowS:typeof r.lowS=="boolean"?r.lowS:!1,format:void 0,extraEntropy:!1},P="compact";function G(m){let E=g>>bx;return m>E}function q(m,E){if(!d.isValidNot0(E))throw new Error(`invalid signature ${m}: out of range 1..Point.Fn.ORDER`);return E}function Y(m,E){KAe(E);let w=M.signature,x=E==="compact"?w:E==="recovered"?w+1:void 0;return W1(m,x,`${E} signature`)}class ne{constructor(E,w,x){this.r=q("r",E),this.s=q("s",w),x!=null&&(this.recovery=x),Object.freeze(this)}static fromBytes(E,w=P){Y(E,w);let x;if(w==="der"){let{r:U,s:F}=mR.toSig(W1(E));return new ne(U,F)}w==="recovered"&&(x=E[0],w="compact",E=E.subarray(1));let R=d.BYTES,u=E.subarray(0,R),C=E.subarray(R,R*2);return new ne(d.fromBytes(u),d.fromBytes(C),x)}static fromHex(E,w){return this.fromBytes(_C(E),w)}addRecoveryBit(E){return new ne(this.r,this.s,E)}recoverPublicKey(E){let w=o.ORDER,{r:x,s:R,recovery:u}=this;if(u==null||![0,1,2,3].includes(u))throw new Error("recovery id invalid");if(g*Snt<w&&u>1)throw new Error("recovery id is ambiguous for h>1 curve");let U=u===2||u===3?x+g:x;if(!o.isValid(U))throw new Error("recovery id 2 or 3 invalid");let F=o.toBytes(U),X=e.fromBytes(Qf(Int((u&1)===0),F)),Ae=d.inv(U),he=le(du("msgHash",E)),$e=d.create(-he*Ae),Ge=d.create(R*Ae),Re=e.BASE.multiplyUnsafe($e).add(X.multiplyUnsafe(Ge));if(Re.is0())throw new Error("point at infinify");return Re.assertValidity(),Re}hasHighS(){return G(this.s)}toBytes(E=P){if(KAe(E),E==="der")return _C(mR.hexFromSig(this));let w=d.toBytes(this.r),x=d.toBytes(this.s);if(E==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return Qf(Uint8Array.of(this.recovery),w,x)}return Qf(w,x)}toHex(E){return C_(this.toBytes(E))}assertValidity(){}static fromCompact(E){return ne.fromBytes(du("sig",E),"compact")}static fromDER(E){return ne.fromBytes(du("sig",E),"der")}normalizeS(){return this.hasHighS()?new ne(this.r,d.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return C_(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return C_(this.toBytes("compact"))}}let ce=r.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let w=ax(E),x=E.length*8-y;return x>0?w>>BigInt(x):w},le=r.bits2int_modN||function(E){return d.create(ce(E))},pe=_I(y);function ae(m){return OP("num < 2^"+y,m,yR,pe),d.toBytes(m)}function W(m,E){return W1(m,void 0,"message"),E?W1(t(m),void 0,"prehashed message"):m}function se(m,E,w){if(["recovered","canonical"].some($e=>$e in w))throw new Error("sign() legacy options not supported");let{lowS:x,prehash:R,extraEntropy:u}=zAe(w,D);m=W(m,R);let C=le(m),U=yx(d,E),F=[ae(U),ae(C)];if(u!=null&&u!==!1){let $e=u===!0?i(M.secretKey):u;F.push(du("extraEntropy",$e))}let X=Qf(...F),Ae=C;function he($e){let Ge=ce($e);if(!d.isValidNot0(Ge))return;let Re=d.inv(Ge),Se=e.BASE.multiply(Ge).toAffine(),ct=d.create(Se.x);if(ct===yR)return;let ze=d.create(Re*d.create(Ae+ct*U));if(ze===yR)return;let te=(Se.x===ct?0:2)|Number(Se.y&bx),Ue=ze;return x&&G(ze)&&(Ue=d.neg(ze),te^=1),new ne(ct,Ue,te)}return{seed:X,k2sig:he}}function O(m,E,w={}){m=du("message",m);let{seed:x,k2sig:R}=se(m,E,w);return $tt(t.outputLen,d.BYTES,n)(x,R)}function s(m){let E,w=typeof m=="string"||sR(m),x=!w&&m!==null&&typeof m=="object"&&typeof m.r=="bigint"&&typeof m.s=="bigint";if(!w&&!x)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(x)E=new ne(m.r,m.s);else if(w){try{E=ne.fromBytes(du("sig",m),"der")}catch(R){if(!(R instanceof mR.Err))throw R}if(!E)try{E=ne.fromBytes(du("sig",m),"compact")}catch{return!1}}return E||!1}function l(m,E,w,x={}){let{lowS:R,prehash:u,format:C}=zAe(x,D);if(w=du("publicKey",w),E=W(du("message",E),u),"strict"in x)throw new Error("options.strict was renamed to lowS");let U=C===void 0?s(m):ne.fromBytes(du("sig",m),C);if(U===!1)return!1;try{let F=e.fromBytes(w);if(R&&U.hasHighS())return!1;let{r:X,s:Ae}=U,he=le(E),$e=d.inv(Ae),Ge=d.create(he*$e),Re=d.create(X*$e),Se=e.BASE.multiplyUnsafe(Ge).add(F.multiplyUnsafe(Re));return Se.is0()?!1:d.create(Se.x)===X}catch{return!1}}function A(m,E,w={}){let{prehash:x}=zAe(w,D);return E=W(E,x),ne.fromBytes(m,"recovered").recoverPublicKey(E).toBytes()}return Object.freeze({keygen:_,getPublicKey:I,getSharedSecret:N,utils:T,lengths:M,Point:e,sign:O,verify:l,recoverPublicKey:A,Signature:ne,hash:t})}function t$t(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,i=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(d=>Math.ceil(d/2)))):void 0,n=X1(t.n,{BITS:e.nBitLength,allowedLengths:i,modFromBytes:e.wrapPrivateKey}),o={Fp:r,Fn:n,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:o}}function r$t(e){let{CURVE:t,curveOpts:r}=t$t(e),i={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:i}}function n$t(e,t){let r=t.Point;return Object.assign({},t,{ProjectivePoint:r,CURVE:Object.assign({},e,fK(r.Fn.ORDER,r.Fn.BITS))})}function wnt(e){let{CURVE:t,curveOpts:r,hash:i,ecdsaOpts:n}=r$t(e),o=ZKt(t,r),d=e$t(o,i,n);return n$t(e,d)}function Ont(e,t){let r=i=>wnt({...e,hash:i});return{...r(t),create:r}}var WAe={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},i$t={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Nnt=BigInt(2);function o$t(e){let t=WAe.p,r=BigInt(3),i=BigInt(6),n=BigInt(11),o=BigInt(22),d=BigInt(23),g=BigInt(44),y=BigInt(88),_=e*e*e%t,I=_*_*e%t,N=y0(I,r,t)*I%t,T=y0(N,r,t)*I%t,M=y0(T,Nnt,t)*_%t,D=y0(M,n,t)*M%t,P=y0(D,o,t)*D%t,G=y0(P,g,t)*P%t,q=y0(G,y,t)*G%t,Y=y0(q,g,t)*P%t,ne=y0(Y,r,t)*I%t,ce=y0(ne,d,t)*D%t,le=y0(ce,i,t)*_%t,pe=y0(le,Nnt,t);if(!YAe.eql(YAe.sqr(pe),e))throw new Error("Cannot find square root");return pe}var YAe=X1(WAe.p,{sqrt:o$t}),ZK=Ont({...WAe,Fp:YAe,lowS:!0,endo:i$t},qm);var pWn=Fp.utils.randomPrivateKey,xnt=()=>{let e=Fp.utils.randomPrivateKey(),t=ape(e),r=new Uint8Array(64);return r.set(e),r.set(t,32),{publicKey:t,secretKey:r}},ape=Fp.getPublicKey;function Tnt(e){try{return Fp.ExtendedPoint.fromHex(e),!0}catch{return!1}}var Wnt=(e,t)=>Fp.sign(e,t.slice(0,32)),a$t=Fp.verify,Ls=e=>fe.isBuffer(e)?e:e instanceof Uint8Array?fe.from(e.buffer,e.byteOffset,e.byteLength):fe.from(e),spe=class{constructor(t){Object.assign(this,t)}encode(){return fe.from((0,Sx.serialize)(t$,this))}static decode(t){return(0,Sx.deserialize)(t$,this,t)}static decodeUnchecked(t){return(0,Sx.deserializeUnchecked)(t$,this,t)}};var t$=new Map,Xnt,s$t=32,xI=32;function c$t(e){return e._bn!==void 0}var Bnt=1,xi=class e extends spe{constructor(t){if(super({}),this._bn=void 0,c$t(t))this._bn=t._bn;else{if(typeof t=="string"){let r=pl.default.decode(t);if(r.length!=xI)throw new Error("Invalid public key input");this._bn=new ope.default(r)}else this._bn=new ope.default(t);if(this._bn.byteLength()>xI)throw new Error("Invalid public key input")}}static unique(){let t=new e(Bnt);return Bnt+=1,new e(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return pl.default.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){let t=this.toBuffer();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toBuffer(){let t=this._bn.toArrayLike(fe);if(t.length===xI)return t;let r=fe.alloc(32);return t.copy(r,32-t.length),r}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(t,r,i){let n=fe.concat([t.toBuffer(),fe.from(r),i.toBuffer()]),o=BP(n);return new e(o)}static createProgramAddressSync(t,r){let i=fe.alloc(0);t.forEach(function(o){if(o.length>s$t)throw new TypeError("Max seed length exceeded");i=fe.concat([i,Ls(o)])}),i=fe.concat([i,r.toBuffer(),fe.from("ProgramDerivedAddress")]);let n=BP(i);if(Tnt(n))throw new Error("Invalid seeds, address must fall off the curve");return new e(n)}static async createProgramAddress(t,r){return this.createProgramAddressSync(t,r)}static findProgramAddressSync(t,r){let i=255,n;for(;i!=0;){try{let o=t.concat(fe.from([i]));n=this.createProgramAddressSync(o,r)}catch(o){if(o instanceof TypeError)throw o;i--;continue}return[n,i]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(t,r){return this.findProgramAddressSync(t,r)}static isOnCurve(t){let r=new e(t);return Tnt(r.toBytes())}};Xnt=xi;xi.default=new Xnt("11111111111111111111111111111111");t$.set(xi,{kind:"struct",fields:[["_bn","u256"]]});var gWn=new xi("BPFLoader1111111111111111111111111111111111"),TC=1232,Znt=127,jnt=64,r$=class extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}};Object.defineProperty(r$.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});var n$=class extends Error{constructor(t,r){super(`Transaction was not confirmed in ${r.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${t} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=t}};Object.defineProperty(n$.prototype,"name",{value:"TransactionExpiredTimeoutError"});var xC=class extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}};Object.defineProperty(xC.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});var vx=class{constructor(t,r){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=t,this.accountKeysFromLookups=r}keySegments(){let t=[this.staticAccountKeys];return this.accountKeysFromLookups&&(t.push(this.accountKeysFromLookups.writable),t.push(this.accountKeysFromLookups.readonly)),t}get(t){for(let r of this.keySegments()){if(t<r.length)return r[t];t-=r.length}}get length(){return this.keySegments().flat().length}compileInstructions(t){if(this.length>256)throw new Error("Account index overflow encountered during compilation");let i=new Map;this.keySegments().flat().forEach((o,d)=>{i.set(o.toBase58(),d)});let n=o=>{let d=i.get(o.toBase58());if(d===void 0)throw new Error("Encountered an unknown instruction account key during compilation");return d};return t.map(o=>({programIdIndex:n(o.programId),accountKeyIndexes:o.keys.map(d=>n(d.pubkey)),data:o.data}))}},_s=(e="publicKey")=>Br.blob(32,e);var Ex=(e="string")=>{let t=Br.struct([Br.u32("length"),Br.u32("lengthPadding"),Br.blob(Br.offset(Br.u32(),-8),"chars")],e),r=t.decode.bind(t),i=t.encode.bind(t),n=t;return n.decode=(o,d)=>r(o,d).chars.toString(),n.encode=(o,d,g)=>{let y={chars:fe.from(o,"utf8")};return i(y,d,g)},n.alloc=o=>Br.u32().span+Br.u32().span+fe.from(o,"utf8").length,n},u$t=(e="authorized")=>Br.struct([_s("staker"),_s("withdrawer")],e),d$t=(e="lockup")=>Br.struct([Br.ns64("unixTimestamp"),Br.ns64("epoch"),_s("custodian")],e),f$t=(e="voteInit")=>Br.struct([_s("nodePubkey"),_s("authorizedVoter"),_s("authorizedWithdrawer"),Br.u8("commission")],e),l$t=(e="voteAuthorizeWithSeedArgs")=>Br.struct([Br.u32("voteAuthorizationType"),_s("currentAuthorityDerivedKeyOwnerPubkey"),Ex("currentAuthorityDerivedKeySeed"),_s("newAuthorized")],e);function eit(e,t){let r=n=>{if(n.span>=0)return n.span;if(typeof n.alloc=="function")return n.alloc(t[n.property]);if("count"in n&&"elementLayout"in n){let o=t[n.property];if(Array.isArray(o))return o.length*r(n.elementLayout)}else if("fields"in n)return eit({layout:n},t[n.property]);return 0},i=0;return e.layout.fields.forEach(n=>{i+=r(n)}),i}function x_(e){let t=0,r=0;for(;;){let i=e.shift();if(t|=(i&127)<<r*7,r+=1,(i&128)===0)break}return t}function T_(e,t){let r=t;for(;;){let i=r&127;if(r>>=7,r==0){e.push(i);break}else i|=128,e.push(i)}}function Ku(e,t){if(!e)throw new Error(t||"Assertion failed")}var i$=class e{constructor(t,r){this.payer=void 0,this.keyMetaMap=void 0,this.payer=t,this.keyMetaMap=r}static compile(t,r){let i=new Map,n=d=>{let g=d.toBase58(),y=i.get(g);return y===void 0&&(y={isSigner:!1,isWritable:!1,isInvoked:!1},i.set(g,y)),y},o=n(r);o.isSigner=!0,o.isWritable=!0;for(let d of t){n(d.programId).isInvoked=!0;for(let g of d.keys){let y=n(g.pubkey);y.isSigner||=g.isSigner,y.isWritable||=g.isWritable}}return new e(r,i)}getMessageComponents(){let t=[...this.keyMetaMap.entries()];Ku(t.length<=256,"Max static account keys length exceeded");let r=t.filter(([,y])=>y.isSigner&&y.isWritable),i=t.filter(([,y])=>y.isSigner&&!y.isWritable),n=t.filter(([,y])=>!y.isSigner&&y.isWritable),o=t.filter(([,y])=>!y.isSigner&&!y.isWritable),d={numRequiredSignatures:r.length+i.length,numReadonlySignedAccounts:i.length,numReadonlyUnsignedAccounts:o.length};{Ku(r.length>0,"Expected at least one writable signer key");let[y]=r[0];Ku(y===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}let g=[...r.map(([y])=>new xi(y)),...i.map(([y])=>new xi(y)),...n.map(([y])=>new xi(y)),...o.map(([y])=>new xi(y))];return[d,g]}extractTableLookup(t){let[r,i]=this.drainKeysFoundInLookupTable(t.state.addresses,d=>!d.isSigner&&!d.isInvoked&&d.isWritable),[n,o]=this.drainKeysFoundInLookupTable(t.state.addresses,d=>!d.isSigner&&!d.isInvoked&&!d.isWritable);if(!(r.length===0&&n.length===0))return[{accountKey:t.key,writableIndexes:r,readonlyIndexes:n},{writable:i,readonly:o}]}drainKeysFoundInLookupTable(t,r){let i=new Array,n=new Array;for(let[o,d]of this.keyMetaMap.entries())if(r(d)){let g=new xi(o),y=t.findIndex(_=>_.equals(g));y>=0&&(Ku(y<256,"Max lookup table index exceeded"),i.push(y),n.push(g),this.keyMetaMap.delete(o))}return[i,n]}},tit="Reached end of buffer unexpectedly";function ER(e){if(e.length===0)throw new Error(tit);return e.shift()}function B_(e,...t){let[r]=t;if(t.length===2?r+(t[1]??0)>e.length:r>=e.length)throw new Error(tit);return e.splice(...t)}var BC=class e{constructor(t){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=t.header,this.accountKeys=t.accountKeys.map(r=>new xi(r)),this.recentBlockhash=t.recentBlockhash,this.instructions=t.instructions,this.instructions.forEach(r=>this.indexToProgramIds.set(r.programIdIndex,this.accountKeys[r.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:pl.default.decode(t.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new vx(this.staticAccountKeys)}static compile(t){let r=i$.compile(t.instructions,t.payerKey),[i,n]=r.getMessageComponents(),d=new vx(n).compileInstructions(t.instructions).map(g=>({programIdIndex:g.programIdIndex,accounts:g.accountKeyIndexes,data:pl.default.encode(g.data)}));return new e({header:i,accountKeys:n,recentBlockhash:t.recentBlockhash,instructions:d})}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){let r=this.header.numRequiredSignatures;if(t>=this.header.numRequiredSignatures){let i=t-r,o=this.accountKeys.length-r-this.header.numReadonlyUnsignedAccounts;return i<o}else{let i=r-this.header.numReadonlySignedAccounts;return t<i}}isProgramId(t){return this.indexToProgramIds.has(t)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter((t,r)=>!this.isProgramId(r))}serialize(){let t=this.accountKeys.length,r=[];T_(r,t);let i=this.instructions.map(N=>{let{accounts:T,programIdIndex:M}=N,D=Array.from(pl.default.decode(N.data)),P=[];T_(P,T.length);let G=[];return T_(G,D.length),{programIdIndex:M,keyIndicesCount:fe.from(P),keyIndices:T,dataLength:fe.from(G),data:D}}),n=[];T_(n,i.length);let o=fe.alloc(TC);fe.from(n).copy(o);let d=n.length;i.forEach(N=>{let M=Br.struct([Br.u8("programIdIndex"),Br.blob(N.keyIndicesCount.length,"keyIndicesCount"),Br.seq(Br.u8("keyIndex"),N.keyIndices.length,"keyIndices"),Br.blob(N.dataLength.length,"dataLength"),Br.seq(Br.u8("userdatum"),N.data.length,"data")]).encode(N,o,d);d+=M}),o=o.slice(0,d);let g=Br.struct([Br.blob(1,"numRequiredSignatures"),Br.blob(1,"numReadonlySignedAccounts"),Br.blob(1,"numReadonlyUnsignedAccounts"),Br.blob(r.length,"keyCount"),Br.seq(_s("key"),t,"keys"),_s("recentBlockhash")]),y={numRequiredSignatures:fe.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:fe.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:fe.from([this.header.numReadonlyUnsignedAccounts]),keyCount:fe.from(r),keys:this.accountKeys.map(N=>Ls(N.toBytes())),recentBlockhash:pl.default.decode(this.recentBlockhash)},_=fe.alloc(2048),I=g.encode(y,_);return o.copy(_,I),_.slice(0,I+o.length)}static from(t){let r=[...t],i=ER(r);if(i!==(i&Znt))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");let n=ER(r),o=ER(r),d=x_(r),g=[];for(let T=0;T<d;T++){let M=B_(r,0,xI);g.push(new xi(fe.from(M)))}let y=B_(r,0,xI),_=x_(r),I=[];for(let T=0;T<_;T++){let M=ER(r),D=x_(r),P=B_(r,0,D),G=x_(r),q=B_(r,0,G),Y=pl.default.encode(fe.from(q));I.push({programIdIndex:M,accounts:P,data:Y})}let N={header:{numRequiredSignatures:i,numReadonlySignedAccounts:n,numReadonlyUnsignedAccounts:o},recentBlockhash:pl.default.encode(fe.from(y)),accountKeys:g,instructions:I};return new e(N)}},cpe=class e{constructor(t){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=t.header,this.staticAccountKeys=t.staticAccountKeys,this.recentBlockhash=t.recentBlockhash,this.compiledInstructions=t.compiledInstructions,this.addressTableLookups=t.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let t=0;for(let r of this.addressTableLookups)t+=r.readonlyIndexes.length+r.writableIndexes.length;return t}getAccountKeys(t){let r;if(t&&"accountKeysFromLookups"in t&&t.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=t.accountKeysFromLookups.writable.length+t.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");r=t.accountKeysFromLookups}else if(t&&"addressLookupTableAccounts"in t&&t.addressLookupTableAccounts)r=this.resolveAddressTableLookups(t.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new vx(this.staticAccountKeys,r)}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){let r=this.header.numRequiredSignatures,i=this.staticAccountKeys.length;if(t>=i){let n=t-i,o=this.addressTableLookups.reduce((d,g)=>d+g.writableIndexes.length,0);return n<o}else if(t>=this.header.numRequiredSignatures){let n=t-r,d=i-r-this.header.numReadonlyUnsignedAccounts;return n<d}else{let n=r-this.header.numReadonlySignedAccounts;return t<n}}resolveAddressTableLookups(t){let r={writable:[],readonly:[]};for(let i of this.addressTableLookups){let n=t.find(o=>o.key.equals(i.accountKey));if(!n)throw new Error(`Failed to find address lookup table account for table key ${i.accountKey.toBase58()}`);for(let o of i.writableIndexes)if(o<n.state.addresses.length)r.writable.push(n.state.addresses[o]);else throw new Error(`Failed to find address for index ${o} in address lookup table ${i.accountKey.toBase58()}`);for(let o of i.readonlyIndexes)if(o<n.state.addresses.length)r.readonly.push(n.state.addresses[o]);else throw new Error(`Failed to find address for index ${o} in address lookup table ${i.accountKey.toBase58()}`)}return r}static compile(t){let r=i$.compile(t.instructions,t.payerKey),i=new Array,n={writable:new Array,readonly:new Array},o=t.addressLookupTableAccounts||[];for(let I of o){let N=r.extractTableLookup(I);if(N!==void 0){let[T,{writable:M,readonly:D}]=N;i.push(T),n.writable.push(...M),n.readonly.push(...D)}}let[d,g]=r.getMessageComponents(),_=new vx(g,n).compileInstructions(t.instructions);return new e({header:d,staticAccountKeys:g,recentBlockhash:t.recentBlockhash,compiledInstructions:_,addressTableLookups:i})}serialize(){let t=Array();T_(t,this.staticAccountKeys.length);let r=this.serializeInstructions(),i=Array();T_(i,this.compiledInstructions.length);let n=this.serializeAddressTableLookups(),o=Array();T_(o,this.addressTableLookups.length);let d=Br.struct([Br.u8("prefix"),Br.struct([Br.u8("numRequiredSignatures"),Br.u8("numReadonlySignedAccounts"),Br.u8("numReadonlyUnsignedAccounts")],"header"),Br.blob(t.length,"staticAccountKeysLength"),Br.seq(_s(),this.staticAccountKeys.length,"staticAccountKeys"),_s("recentBlockhash"),Br.blob(i.length,"instructionsLength"),Br.blob(r.length,"serializedInstructions"),Br.blob(o.length,"addressTableLookupsLength"),Br.blob(n.length,"serializedAddressTableLookups")]),g=new Uint8Array(TC),_=d.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(t),staticAccountKeys:this.staticAccountKeys.map(I=>I.toBytes()),recentBlockhash:pl.default.decode(this.recentBlockhash),instructionsLength:new Uint8Array(i),serializedInstructions:r,addressTableLookupsLength:new Uint8Array(o),serializedAddressTableLookups:n},g);return g.slice(0,_)}serializeInstructions(){let t=0,r=new Uint8Array(TC);for(let i of this.compiledInstructions){let n=Array();T_(n,i.accountKeyIndexes.length);let o=Array();T_(o,i.data.length);let d=Br.struct([Br.u8("programIdIndex"),Br.blob(n.length,"encodedAccountKeyIndexesLength"),Br.seq(Br.u8(),i.accountKeyIndexes.length,"accountKeyIndexes"),Br.blob(o.length,"encodedDataLength"),Br.blob(i.data.length,"data")]);t+=d.encode({programIdIndex:i.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(n),accountKeyIndexes:i.accountKeyIndexes,encodedDataLength:new Uint8Array(o),data:i.data},r,t)}return r.slice(0,t)}serializeAddressTableLookups(){let t=0,r=new Uint8Array(TC);for(let i of this.addressTableLookups){let n=Array();T_(n,i.writableIndexes.length);let o=Array();T_(o,i.readonlyIndexes.length);let d=Br.struct([_s("accountKey"),Br.blob(n.length,"encodedWritableIndexesLength"),Br.seq(Br.u8(),i.writableIndexes.length,"writableIndexes"),Br.blob(o.length,"encodedReadonlyIndexesLength"),Br.seq(Br.u8(),i.readonlyIndexes.length,"readonlyIndexes")]);t+=d.encode({accountKey:i.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(n),writableIndexes:i.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(o),readonlyIndexes:i.readonlyIndexes},r,t)}return r.slice(0,t)}static deserialize(t){let r=[...t],i=ER(r),n=i&Znt;Ku(i!==n,"Expected versioned message but received legacy message");let o=n;Ku(o===0,`Expected versioned message with version 0 but found version ${o}`);let d={numRequiredSignatures:ER(r),numReadonlySignedAccounts:ER(r),numReadonlyUnsignedAccounts:ER(r)},g=[],y=x_(r);for(let D=0;D<y;D++)g.push(new xi(B_(r,0,xI)));let _=pl.default.encode(B_(r,0,xI)),I=x_(r),N=[];for(let D=0;D<I;D++){let P=ER(r),G=x_(r),q=B_(r,0,G),Y=x_(r),ne=new Uint8Array(B_(r,0,Y));N.push({programIdIndex:P,accountKeyIndexes:q,data:ne})}let T=x_(r),M=[];for(let D=0;D<T;D++){let P=new xi(B_(r,0,xI)),G=x_(r),q=B_(r,0,G),Y=x_(r),ne=B_(r,0,Y);M.push({accountKey:P,writableIndexes:q,readonlyIndexes:ne})}return new e({header:d,staticAccountKeys:g,recentBlockhash:_,compiledInstructions:N,addressTableLookups:M})}};var OI=(function(e){return e[e.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",e[e.PROCESSED=1]="PROCESSED",e[e.TIMED_OUT=2]="TIMED_OUT",e[e.NONCE_INVALID=3]="NONCE_INVALID",e})({}),h$t=fe.alloc(jnt).fill(0),ms=class{constructor(t){this.keys=void 0,this.programId=void 0,this.data=fe.alloc(0),this.programId=t.programId,this.keys=t.keys,t.data&&(this.data=t.data)}toJSON(){return{keys:this.keys.map(({pubkey:t,isSigner:r,isWritable:i})=>({pubkey:t.toJSON(),isSigner:r,isWritable:i})),programId:this.programId.toJSON(),data:[...this.data]}}},Us=class e{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(t){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!!t)if(t.feePayer&&(this.feePayer=t.feePayer),t.signatures&&(this.signatures=t.signatures),Object.prototype.hasOwnProperty.call(t,"nonceInfo")){let{minContextSlot:r,nonceInfo:i}=t;this.minNonceContextSlot=r,this.nonceInfo=i}else if(Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")){let{blockhash:r,lastValidBlockHeight:i}=t;this.recentBlockhash=r,this.lastValidBlockHeight=i}else{let{recentBlockhash:r,nonceInfo:i}=t;i&&(this.nonceInfo=i),this.recentBlockhash=r}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(t=>t.toJSON()),signers:this.signatures.map(({publicKey:t})=>t.toJSON())}}add(...t){if(t.length===0)throw new Error("No instructions");return t.forEach(r=>{"instructions"in r?this.instructions=this.instructions.concat(r.instructions):"data"in r&&"programId"in r&&"keys"in r?this.instructions.push(r):this.instructions.push(new ms(r))}),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let t,r;if(this.nonceInfo?(t=this.nonceInfo.nonce,this.instructions[0]!=this.nonceInfo.nonceInstruction?r=[this.nonceInfo.nonceInstruction,...this.instructions]:r=this.instructions):(t=this.recentBlockhash,r=this.instructions),!t)throw new Error("Transaction recentBlockhash required");r.length<1&&console.warn("No instructions provided");let i;if(this.feePayer)i=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)i=this.signatures[0].publicKey;else throw new Error("Transaction fee payer required");for(let P=0;P<r.length;P++)if(r[P].programId===void 0)throw new Error(`Transaction instruction index ${P} has undefined program id`);let n=[],o=[];r.forEach(P=>{P.keys.forEach(q=>{o.push({...q})});let G=P.programId.toString();n.includes(G)||n.push(G)}),n.forEach(P=>{o.push({pubkey:new xi(P),isSigner:!1,isWritable:!1})});let d=[];o.forEach(P=>{let G=P.pubkey.toString(),q=d.findIndex(Y=>Y.pubkey.toString()===G);q>-1?(d[q].isWritable=d[q].isWritable||P.isWritable,d[q].isSigner=d[q].isSigner||P.isSigner):d.push(P)}),d.sort(function(P,G){if(P.isSigner!==G.isSigner)return P.isSigner?-1:1;if(P.isWritable!==G.isWritable)return P.isWritable?-1:1;let q={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return P.pubkey.toBase58().localeCompare(G.pubkey.toBase58(),"en",q)});let g=d.findIndex(P=>P.pubkey.equals(i));if(g>-1){let[P]=d.splice(g,1);P.isSigner=!0,P.isWritable=!0,d.unshift(P)}else d.unshift({pubkey:i,isSigner:!0,isWritable:!0});for(let P of this.signatures){let G=d.findIndex(q=>q.pubkey.equals(P.publicKey));if(G>-1)d[G].isSigner||(d[G].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw new Error(`unknown signer: ${P.publicKey.toString()}`)}let y=0,_=0,I=0,N=[],T=[];d.forEach(({pubkey:P,isSigner:G,isWritable:q})=>{G?(N.push(P.toString()),y+=1,q||(_+=1)):(T.push(P.toString()),q||(I+=1))});let M=N.concat(T),D=r.map(P=>{let{data:G,programId:q}=P;return{programIdIndex:M.indexOf(q.toString()),accounts:P.keys.map(Y=>M.indexOf(Y.pubkey.toString())),data:pl.default.encode(G)}});return D.forEach(P=>{Ku(P.programIdIndex>=0),P.accounts.forEach(G=>Ku(G>=0))}),new BC({header:{numRequiredSignatures:y,numReadonlySignedAccounts:_,numReadonlyUnsignedAccounts:I},accountKeys:M,recentBlockhash:t,instructions:D})}_compile(){let t=this.compileMessage(),r=t.accountKeys.slice(0,t.header.numRequiredSignatures);return this.signatures.length===r.length&&this.signatures.every((n,o)=>r[o].equals(n.publicKey))||(this.signatures=r.map(i=>({signature:null,publicKey:i}))),t}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(t){return(await t.getFeeForMessage(this.compileMessage())).value}setSigners(...t){if(t.length===0)throw new Error("No signers");let r=new Set;this.signatures=t.filter(i=>{let n=i.toString();return r.has(n)?!1:(r.add(n),!0)}).map(i=>({signature:null,publicKey:i}))}sign(...t){if(t.length===0)throw new Error("No signers");let r=new Set,i=[];for(let o of t){let d=o.publicKey.toString();r.has(d)||(r.add(d),i.push(o))}this.signatures=i.map(o=>({signature:null,publicKey:o.publicKey}));let n=this._compile();this._partialSign(n,...i)}partialSign(...t){if(t.length===0)throw new Error("No signers");let r=new Set,i=[];for(let o of t){let d=o.publicKey.toString();r.has(d)||(r.add(d),i.push(o))}let n=this._compile();this._partialSign(n,...i)}_partialSign(t,...r){let i=t.serialize();r.forEach(n=>{let o=Wnt(i,n.secretKey);this._addSignature(n.publicKey,Ls(o))})}addSignature(t,r){this._compile(),this._addSignature(t,r)}_addSignature(t,r){Ku(r.length===64);let i=this.signatures.findIndex(n=>t.equals(n.publicKey));if(i<0)throw new Error(`unknown signer: ${t.toString()}`);this.signatures[i].signature=fe.from(r)}verifySignatures(t=!0){return!this._getMessageSignednessErrors(this.serializeMessage(),t)}_getMessageSignednessErrors(t,r){let i={};for(let{signature:n,publicKey:o}of this.signatures)n===null?r&&(i.missing||=[]).push(o):a$t(n,t,o.toBytes())||(i.invalid||=[]).push(o);return i.invalid||i.missing?i:void 0}serialize(t){let{requireAllSignatures:r,verifySignatures:i}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},t),n=this.serializeMessage();if(i){let o=this._getMessageSignednessErrors(n,r);if(o){let d="Signature verification failed.";throw o.invalid&&(d+=` +Invalid signature for public key${o.invalid.length===1?"":"(s)"} [\`${o.invalid.map(g=>g.toBase58()).join("`, `")}\`].`),o.missing&&(d+=` +Missing signature for public key${o.missing.length===1?"":"(s)"} [\`${o.missing.map(g=>g.toBase58()).join("`, `")}\`].`),new Error(d)}}return this._serialize(n)}_serialize(t){let{signatures:r}=this,i=[];T_(i,r.length);let n=i.length+r.length*64+t.length,o=fe.alloc(n);return Ku(r.length<256),fe.from(i).copy(o,0),r.forEach(({signature:d},g)=>{d!==null&&(Ku(d.length===64,"signature has invalid length"),fe.from(d).copy(o,i.length+g*64))}),t.copy(o,i.length+r.length*64),Ku(o.length<=TC,`Transaction too large: ${o.length} > ${TC}`),o}get keys(){return Ku(this.instructions.length===1),this.instructions[0].keys.map(t=>t.pubkey)}get programId(){return Ku(this.instructions.length===1),this.instructions[0].programId}get data(){return Ku(this.instructions.length===1),this.instructions[0].data}static from(t){let r=[...t],i=x_(r),n=[];for(let o=0;o<i;o++){let d=B_(r,0,jnt);n.push(pl.default.encode(fe.from(d)))}return e.populate(BC.from(r),n)}static populate(t,r=[]){let i=new e;return i.recentBlockhash=t.recentBlockhash,t.header.numRequiredSignatures>0&&(i.feePayer=t.accountKeys[0]),r.forEach((n,o)=>{let d={signature:n==pl.default.encode(h$t)?null:pl.default.decode(n),publicKey:t.accountKeys[o]};i.signatures.push(d)}),t.instructions.forEach(n=>{let o=n.accounts.map(d=>{let g=t.accountKeys[d];return{pubkey:g,isSigner:i.signatures.some(y=>y.publicKey.toString()===g.toString())||t.isAccountSigner(d),isWritable:t.isAccountWritable(d)}});i.instructions.push(new ms({keys:o,programId:t.accountKeys[n.programIdIndex],data:pl.default.decode(n.data)}))}),i._message=t,i._json=i.toJSON(),i}};var A$t=160,p$t=64,g$t=A$t/p$t,rit=1e3/g$t,bR=new xi("SysvarC1ock11111111111111111111111111111111"),_Wn=new xi("SysvarEpochSchedu1e111111111111111111111111"),mWn=new xi("Sysvar1nstructions1111111111111111111111111"),XAe=new xi("SysvarRecentB1ockHashes11111111111111111111"),YP=new xi("SysvarRent111111111111111111111111111111111"),yWn=new xi("SysvarRewards111111111111111111111111111111"),bWn=new xi("SysvarS1otHashes111111111111111111111111111"),EWn=new xi("SysvarS1otHistory11111111111111111111111111"),ZAe=new xi("SysvarStakeHistory1111111111111111111111111"),WP=class extends Error{constructor({action:t,signature:r,transactionMessage:i,logs:n}){let o=n?`Logs: +${JSON.stringify(n.slice(-10),null,2)}. `:"",d="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.",g;switch(t){case"send":g=`Transaction ${r} resulted in an error. +${i}. `+o+d;break;case"simulate":g=`Simulation failed. +Message: ${i}. +`+o+d;break;default:g=`Unknown action '${(y=>y)(t)}'`}super(g),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=r,this.transactionMessage=i,this.transactionLogs=n||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){let t=this.transactionLogs;if(!(t!=null&&typeof t=="object"&&"then"in t))return t}async getLogs(t){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((r,i)=>{t.getTransaction(this.signature).then(n=>{if(n&&n.meta&&n.meta.logMessages){let o=n.meta.logMessages;this.transactionLogs=o,r(o)}else i(new Error("Log messages not found"))}).catch(i)})),await this.transactionLogs}};var ao=class extends Error{constructor({code:t,message:r,data:i},n){super(n!=null?`${n}: ${r}`:r),this.code=void 0,this.data=void 0,this.code=t,this.data=i,this.name="SolanaJSONRPCError"}};async function Mnt(e,t,r,i){let n=i&&{skipPreflight:i.skipPreflight,preflightCommitment:i.preflightCommitment||i.commitment,maxRetries:i.maxRetries,minContextSlot:i.minContextSlot},o=await e.sendTransaction(t,r,n),d;if(t.recentBlockhash!=null&&t.lastValidBlockHeight!=null)d=(await e.confirmTransaction({abortSignal:i?.abortSignal,signature:o,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},i&&i.commitment)).value;else if(t.minNonceContextSlot!=null&&t.nonceInfo!=null){let{nonceInstruction:g}=t.nonceInfo,y=g.keys[0].pubkey;d=(await e.confirmTransaction({abortSignal:i?.abortSignal,minContextSlot:t.minNonceContextSlot,nonceAccountPubkey:y,nonceValue:t.nonceInfo.nonce,signature:o},i&&i.commitment)).value}else i?.abortSignal!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),d=(await e.confirmTransaction(o,i&&i.commitment)).value;if(d.err)throw o!=null?new WP({action:"send",signature:o,transactionMessage:`Status: (${JSON.stringify(d)})`}):new Error(`Transaction ${o} failed (${JSON.stringify(d)})`);return o}function NC(e){return new Promise(t=>setTimeout(t,e))}function $s(e,t){let r=e.layout.span>=0?e.layout.span:eit(e,t),i=fe.alloc(r),n=Object.assign({instruction:e.index},t);return e.layout.encode(n,i),i}var _$t=Br.nu64("lamportsPerSignature"),nit=Br.struct([Br.u32("version"),Br.u32("state"),_s("authorizedPubkey"),_s("nonce"),Br.struct([_$t],"feeCalculator")]),Dnt=nit.span,upe=class e{constructor(t){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=t.authorizedPubkey,this.nonce=t.nonce,this.feeCalculator=t.feeCalculator}static fromAccountData(t){let r=nit.decode(Ls(t),0);return new e({authorizedPubkey:new xi(r.authorizedPubkey),nonce:new xi(r.nonce).toString(),feeCalculator:r.feeCalculator})}};function Rx(e){let t=(0,$nt.blob)(8,e),r=t.decode.bind(t),i=t.encode.bind(t),n=t,o=Urt();return n.decode=(d,g)=>{let y=r(d,g);return o.decode(y)},n.encode=(d,g,y)=>{let _=o.encode(d);return i(_,g,y)},n}var N_=Object.freeze({Create:{index:0,layout:Br.struct([Br.u32("instruction"),Br.ns64("lamports"),Br.ns64("space"),_s("programId")])},Assign:{index:1,layout:Br.struct([Br.u32("instruction"),_s("programId")])},Transfer:{index:2,layout:Br.struct([Br.u32("instruction"),Rx("lamports")])},CreateWithSeed:{index:3,layout:Br.struct([Br.u32("instruction"),_s("base"),Ex("seed"),Br.ns64("lamports"),Br.ns64("space"),_s("programId")])},AdvanceNonceAccount:{index:4,layout:Br.struct([Br.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:Br.struct([Br.u32("instruction"),Br.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:Br.struct([Br.u32("instruction"),_s("authorized")])},AuthorizeNonceAccount:{index:7,layout:Br.struct([Br.u32("instruction"),_s("authorized")])},Allocate:{index:8,layout:Br.struct([Br.u32("instruction"),Br.ns64("space")])},AllocateWithSeed:{index:9,layout:Br.struct([Br.u32("instruction"),_s("base"),Ex("seed"),Br.ns64("space"),_s("programId")])},AssignWithSeed:{index:10,layout:Br.struct([Br.u32("instruction"),_s("base"),Ex("seed"),_s("programId")])},TransferWithSeed:{index:11,layout:Br.struct([Br.u32("instruction"),Rx("lamports"),Ex("seed"),_s("programId")])},UpgradeNonceAccount:{index:12,layout:Br.struct([Br.u32("instruction")])}}),Td=class e{constructor(){}static createAccount(t){let r=N_.Create,i=$s(r,{lamports:t.lamports,space:t.space,programId:Ls(t.programId.toBuffer())});return new ms({keys:[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:i})}static transfer(t){let r,i;if("basePubkey"in t){let n=N_.TransferWithSeed;r=$s(n,{lamports:BigInt(t.lamports),seed:t.seed,programId:Ls(t.programId.toBuffer())}),i=[{pubkey:t.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}else{let n=N_.Transfer;r=$s(n,{lamports:BigInt(t.lamports)}),i=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new ms({keys:i,programId:this.programId,data:r})}static assign(t){let r,i;if("basePubkey"in t){let n=N_.AssignWithSeed;r=$s(n,{base:Ls(t.basePubkey.toBuffer()),seed:t.seed,programId:Ls(t.programId.toBuffer())}),i=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{let n=N_.Assign;r=$s(n,{programId:Ls(t.programId.toBuffer())}),i=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ms({keys:i,programId:this.programId,data:r})}static createAccountWithSeed(t){let r=N_.CreateWithSeed,i=$s(r,{base:Ls(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:Ls(t.programId.toBuffer())}),n=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!1,isWritable:!0}];return t.basePubkey.equals(t.fromPubkey)||n.push({pubkey:t.basePubkey,isSigner:!0,isWritable:!1}),new ms({keys:n,programId:this.programId,data:i})}static createNonceAccount(t){let r=new Us;"basePubkey"in t&&"seed"in t?r.add(e.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:Dnt,programId:this.programId})):r.add(e.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:Dnt,programId:this.programId}));let i={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return r.add(this.nonceInitialize(i)),r}static nonceInitialize(t){let r=N_.InitializeNonceAccount,i=$s(r,{authorized:Ls(t.authorizedPubkey.toBuffer())}),n={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:XAe,isSigner:!1,isWritable:!1},{pubkey:YP,isSigner:!1,isWritable:!1}],programId:this.programId,data:i};return new ms(n)}static nonceAdvance(t){let r=N_.AdvanceNonceAccount,i=$s(r),n={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:XAe,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:i};return new ms(n)}static nonceWithdraw(t){let r=N_.WithdrawNonceAccount,i=$s(r,{lamports:t.lamports});return new ms({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:XAe,isSigner:!1,isWritable:!1},{pubkey:YP,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static nonceAuthorize(t){let r=N_.AuthorizeNonceAccount,i=$s(r,{authorized:Ls(t.newAuthorizedPubkey.toBuffer())});return new ms({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static allocate(t){let r,i;if("basePubkey"in t){let n=N_.AllocateWithSeed;r=$s(n,{base:Ls(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:Ls(t.programId.toBuffer())}),i=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{let n=N_.Allocate;r=$s(n,{space:t.space}),i=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ms({keys:i,programId:this.programId,data:r})}};Td.programId=new xi("11111111111111111111111111111111");var m$t=TC-300,dpe=class e{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/e.chunkSize)+1+1)}static async load(t,r,i,n,o){{let N=await t.getMinimumBalanceForRentExemption(o.length),T=await t.getAccountInfo(i.publicKey,"confirmed"),M=null;if(T!==null){if(T.executable)return console.error("Program load failed, account is already executable"),!1;T.data.length!==o.length&&(M=M||new Us,M.add(Td.allocate({accountPubkey:i.publicKey,space:o.length}))),T.owner.equals(n)||(M=M||new Us,M.add(Td.assign({accountPubkey:i.publicKey,programId:n}))),T.lamports<N&&(M=M||new Us,M.add(Td.transfer({fromPubkey:r.publicKey,toPubkey:i.publicKey,lamports:N-T.lamports})))}else M=new Us().add(Td.createAccount({fromPubkey:r.publicKey,newAccountPubkey:i.publicKey,lamports:N>0?N:1,space:o.length,programId:n}));M!==null&&await Mnt(t,M,[r,i],{commitment:"confirmed"})}let d=Br.struct([Br.u32("instruction"),Br.u32("offset"),Br.u32("bytesLength"),Br.u32("bytesLengthPadding"),Br.seq(Br.u8("byte"),Br.offset(Br.u32(),-8),"bytes")]),g=e.chunkSize,y=0,_=o,I=[];for(;_.length>0;){let N=_.slice(0,g),T=fe.alloc(g+16);d.encode({instruction:0,offset:y,bytes:N,bytesLength:0,bytesLengthPadding:0},T);let M=new Us().add({keys:[{pubkey:i.publicKey,isSigner:!0,isWritable:!0}],programId:n,data:T});I.push(Mnt(t,M,[r,i],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")&&await NC(1e3/4),y+=g,_=_.slice(g)}await Promise.all(I);{let N=Br.struct([Br.u32("instruction")]),T=fe.alloc(N.span);N.encode({instruction:1},T);let M=new Us().add({keys:[{pubkey:i.publicKey,isSigner:!0,isWritable:!0},{pubkey:YP,isSigner:!1,isWritable:!1}],programId:n,data:T}),D="processed",P=await t.sendTransaction(M,[r,i],{preflightCommitment:D}),{context:G,value:q}=await t.confirmTransaction({signature:P,lastValidBlockHeight:M.lastValidBlockHeight,blockhash:M.recentBlockhash},D);if(q.err)throw new Error(`Transaction ${P} failed (${JSON.stringify(q)})`);for(;;){try{if(await t.getSlot({commitment:D})>G.slot)break}catch{}await new Promise(Y=>setTimeout(Y,Math.round(rit/2)))}}return!0}};dpe.chunkSize=m$t;var vWn=new xi("BPFLoader2111111111111111111111111111111111");function y$t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var jAe,knt;function b$t(){if(knt)return jAe;knt=1;var e=Object.prototype.toString,t=Object.keys||function(i){var n=[];for(var o in i)n.push(o);return n};function r(i,n){var o,d,g,y,_,I,N;if(i===!0)return"true";if(i===!1)return"false";switch(typeof i){case"object":if(i===null)return null;if(i.toJSON&&typeof i.toJSON=="function")return r(i.toJSON(),n);if(N=e.call(i),N==="[object Array]"){for(g="[",d=i.length-1,o=0;o<d;o++)g+=r(i[o],!0)+",";return d>-1&&(g+=r(i[o],!0)),g+"]"}else if(N==="[object Object]"){for(y=t(i).sort(),d=y.length,g="",o=0;o<d;)_=y[o],I=r(i[_],!1),I!==void 0&&(g&&(g+=","),g+=JSON.stringify(_)+":"+I),o++;return"{"+g+"}"}else return JSON.stringify(i);case"function":case"undefined":return n?null:void 0;case"string":return JSON.stringify(i);default:return isFinite(i)?i:null}}return jAe=function(i){var n=r(i,!1);if(n!==void 0)return""+n},jAe}var E$t=b$t(),Pnt=y$t(E$t),zP=32;function epe(e){let t=0;for(;e>1;)e/=2,t++;return t}function v$t(e){return e===0?1:(e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e+1)}var fpe=class{constructor(t,r,i,n,o){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=t,this.leaderScheduleSlotOffset=r,this.warmup=i,this.firstNormalEpoch=n,this.firstNormalSlot=o}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t<this.firstNormalSlot){let r=epe(v$t(t+zP+1))-epe(zP)-1,i=this.getSlotsInEpoch(r),n=t-(i-zP);return[r,n]}else{let r=t-this.firstNormalSlot,i=Math.floor(r/this.slotsPerEpoch),n=this.firstNormalEpoch+i,o=r%this.slotsPerEpoch;return[n,o]}}getFirstSlotInEpoch(t){return t<=this.firstNormalEpoch?(Math.pow(2,t)-1)*zP:(t-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(t){return this.getFirstSlotInEpoch(t)+this.getSlotsInEpoch(t)-1}getSlotsInEpoch(t){return t<this.firstNormalEpoch?Math.pow(2,t+epe(zP)):this.slotsPerEpoch}},R$t=globalThis.fetch,lpe=class extends gnt{constructor(t,r,i){let n=o=>{let d=pnt(o,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...r});return"socket"in d?this.underlyingSocket=d.socket:this.underlyingSocket=d,d};super(n,t,r,i),this.underlyingSocket=void 0}call(...t){let r=this.underlyingSocket?.readyState;return r===1?super.call(...t):Promise.reject(new Error("Tried to call a JSON-RPC method `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+r+")"))}notify(...t){let r=this.underlyingSocket?.readyState;return r===1?super.notify(...t):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+r+")"))}};function S$t(e,t){let r;try{r=e.layout.decode(t)}catch(i){throw new Error("invalid instruction; "+i)}if(r.typeIndex!==e.index)throw new Error(`invalid account data; account type mismatch ${r.typeIndex} != ${e.index}`);return r}var Lnt=56,o$=class{constructor(t){this.key=void 0,this.state=void 0,this.key=t.key,this.state=t.state}isActive(){let t=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===t}static deserialize(t){let r=S$t(I$t,t),i=t.length-Lnt;Ku(i>=0,"lookup table is invalid"),Ku(i%32===0,"lookup table is invalid");let n=i/32,{addresses:o}=Br.struct([Br.seq(_s(),n,"addresses")]).decode(t.slice(Lnt));return{deactivationSlot:r.deactivationSlot,lastExtendedSlot:r.lastExtendedSlot,lastExtendedSlotStartIndex:r.lastExtendedStartIndex,authority:r.authority.length!==0?new xi(r.authority[0]):void 0,addresses:o.map(d=>new xi(d))}}},I$t={index:1,layout:Br.struct([Br.u32("typeIndex"),Rx("deactivationSlot"),Br.nu64("lastExtendedSlot"),Br.u8("lastExtendedStartIndex"),Br.u8(),Br.seq(_s(),Br.offset(Br.u8(),-1),"authority")])},C$t=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function w$t(e){let t=e.match(C$t);if(t==null)throw TypeError(`Failed to validate endpoint URL \`${e}\``);let[r,i,n,o]=t,d=e.startsWith("https:")?"wss:":"ws:",g=n==null?null:parseInt(n.slice(1),10),y=g==null?"":`:${g+1}`;return`${d}//${i}${y}${o}`}var K0=_x(QK(xi),fi(),e=>new xi(e)),iit=HK([fi(),b0("base64")]),Epe=_x(QK(fe),iit,e=>fe.from(e[0],"base64")),O$t=30*1e3;function N$t(e){if(/^https?:/.test(e)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return e}function zu(e){let t,r;if(typeof e=="string")t=e;else if(e){let{commitment:i,...n}=e;t=i,r=n}return{commitment:t,config:r}}function Unt(e){return e.map(t=>"memcmp"in t?{...t,memcmp:{...t.memcmp,encoding:t.memcmp.encoding??"base58"}}:t)}function oit(e){return Qh([Vn({jsonrpc:b0("2.0"),id:fi(),result:e}),Vn({jsonrpc:b0("2.0"),id:fi(),error:Vn({code:CC(),message:fi(),data:Io(Grt())})})])}var x$t=oit(CC());function Wa(e){return _x(oit(e),x$t,t=>"error"in t?t:{...t,result:Ei(t.result,e)})}function xd(e){return Wa(Vn({context:Vn({slot:Zr()}),value:e}))}function u$(e){return Vn({context:Vn({slot:Zr()}),value:e})}function tpe(e,t){return e===0?new cpe({header:t.header,staticAccountKeys:t.accountKeys.map(r=>new xi(r)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(r=>({programIdIndex:r.programIdIndex,accountKeyIndexes:r.accounts,data:pl.default.decode(r.data)})),addressTableLookups:t.addressTableLookups}):new BC(t)}var T$t=Vn({foundation:Zr(),foundationTerm:Zr(),initial:Zr(),taper:Zr(),terminal:Zr()}),B$t=Wa(Ii(wi(Vn({epoch:Zr(),effectiveSlot:Zr(),amount:Zr(),postBalance:Zr(),commission:Io(wi(Zr()))})))),M$t=Ii(Vn({slot:Zr(),prioritizationFee:Zr()})),D$t=Vn({total:Zr(),validator:Zr(),foundation:Zr(),epoch:Zr()}),k$t=Vn({epoch:Zr(),slotIndex:Zr(),slotsInEpoch:Zr(),absoluteSlot:Zr(),blockHeight:Io(Zr()),transactionCount:Io(Zr())}),P$t=Vn({slotsPerEpoch:Zr(),leaderScheduleSlotOffset:Zr(),warmup:Jm(),firstNormalEpoch:Zr(),firstNormalSlot:Zr()}),L$t=DAe(fi(),Ii(Zr())),MC=wi(Qh([Vn({}),fi()])),U$t=Vn({err:MC}),F$t=b0("receivedSignature"),Q$t=Vn({"solana-core":fi(),"feature-set":Io(Zr())}),H$t=Vn({program:fi(),programId:K0,parsed:CC()}),G$t=Vn({programId:K0,accounts:Ii(K0),data:fi()}),Fnt=xd(Vn({err:wi(Qh([Vn({}),fi()])),logs:wi(Ii(fi())),accounts:Io(wi(Ii(wi(Vn({executable:Jm(),owner:fi(),lamports:Zr(),data:Ii(fi()),rentEpoch:Io(Zr())}))))),unitsConsumed:Io(Zr()),returnData:Io(wi(Vn({programId:fi(),data:HK([fi(),b0("base64")])}))),innerInstructions:Io(wi(Ii(Vn({index:Zr(),instructions:Ii(Qh([H$t,G$t]))}))))})),q$t=xd(Vn({byIdentity:DAe(fi(),Ii(Zr())),range:Vn({firstSlot:Zr(),lastSlot:Zr()})}));function V$t(e,t,r,i,n,o){let d=r||R$t,g;o!=null&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");let y;return i&&(y=async(I,N)=>{let T=await new Promise((M,D)=>{try{i(I,N,(P,G)=>M([P,G]))}catch(P){D(P)}});return await d(...T)}),new Ynt.default(async(I,N)=>{let T={method:"POST",body:I,agent:g,headers:Object.assign({"Content-Type":"application/json"},t||{},VYt)};try{let M=5,D,P=500;for(;y?D=await y(e,T):D=await d(e,T),!(D.status!==429||n===!0||(M-=1,M===0));)console.error(`Server responded with ${D.status} ${D.statusText}. Retrying after ${P}ms delay...`),await NC(P),P*=2;let G=await D.text();D.ok?N(null,G):N(new Error(`${D.status} ${D.statusText}: ${G}`))}catch(M){M instanceof Error&&N(M)}},{})}function J$t(e){return(t,r)=>new Promise((i,n)=>{e.request(t,r,(o,d)=>{if(o){n(o);return}i(d)})})}function z$t(e){return t=>new Promise((r,i)=>{t.length===0&&r([]);let n=t.map(o=>e.request(o.methodName,o.args));e.request(n,(o,d)=>{if(o){i(o);return}r(d)})})}var K$t=Wa(T$t),$$t=Wa(D$t),Y$t=Wa(M$t),W$t=Wa(k$t),X$t=Wa(P$t),Z$t=Wa(L$t),j$t=Wa(Zr()),eYt=xd(Vn({total:Zr(),circulating:Zr(),nonCirculating:Zr(),nonCirculatingAccounts:Ii(K0)})),hpe=Vn({amount:fi(),uiAmount:wi(Zr()),decimals:Zr(),uiAmountString:Io(fi())}),tYt=xd(Ii(Vn({address:K0,amount:fi(),uiAmount:wi(Zr()),decimals:Zr(),uiAmountString:Io(fi())}))),rYt=xd(Ii(Vn({pubkey:K0,account:Vn({executable:Jm(),owner:K0,lamports:Zr(),data:Epe,rentEpoch:Zr()})}))),Ape=Vn({program:fi(),parsed:CC(),space:Zr()}),nYt=xd(Ii(Vn({pubkey:K0,account:Vn({executable:Jm(),owner:K0,lamports:Zr(),data:Ape,rentEpoch:Zr()})}))),iYt=xd(Ii(Vn({lamports:Zr(),address:K0}))),XP=Vn({executable:Jm(),owner:K0,lamports:Zr(),data:Epe,rentEpoch:Zr()}),oYt=Vn({pubkey:K0,account:XP}),aYt=_x(Qh([QK(fe),Ape]),Qh([iit,Ape]),e=>Array.isArray(e)?Ei(e,Epe):e),ppe=Vn({executable:Jm(),owner:K0,lamports:Zr(),data:aYt,rentEpoch:Zr()}),sYt=Vn({pubkey:K0,account:ppe}),cYt=Vn({state:Qh([b0("active"),b0("inactive"),b0("activating"),b0("deactivating")]),active:Zr(),inactive:Zr()}),uYt=Wa(Ii(Vn({signature:fi(),slot:Zr(),err:MC,memo:wi(fi()),blockTime:Io(wi(Zr()))}))),dYt=Wa(Ii(Vn({signature:fi(),slot:Zr(),err:MC,memo:wi(fi()),blockTime:Io(wi(Zr()))}))),fYt=Vn({subscription:Zr(),result:u$(XP)}),lYt=Vn({pubkey:K0,account:XP}),hYt=Vn({subscription:Zr(),result:u$(lYt)}),AYt=Vn({parent:Zr(),slot:Zr(),root:Zr()}),pYt=Vn({subscription:Zr(),result:AYt}),gYt=Qh([Vn({type:Qh([b0("firstShredReceived"),b0("completed"),b0("optimisticConfirmation"),b0("root")]),slot:Zr(),timestamp:Zr()}),Vn({type:b0("createdBank"),parent:Zr(),slot:Zr(),timestamp:Zr()}),Vn({type:b0("frozen"),slot:Zr(),timestamp:Zr(),stats:Vn({numTransactionEntries:Zr(),numSuccessfulTransactions:Zr(),numFailedTransactions:Zr(),maxTransactionsPerEntry:Zr()})}),Vn({type:b0("dead"),slot:Zr(),timestamp:Zr(),err:fi()})]),_Yt=Vn({subscription:Zr(),result:gYt}),mYt=Vn({subscription:Zr(),result:u$(Qh([U$t,F$t]))}),yYt=Vn({subscription:Zr(),result:Zr()}),bYt=Vn({pubkey:fi(),gossip:wi(fi()),tpu:wi(fi()),rpc:wi(fi()),version:wi(fi())}),Qnt=Vn({votePubkey:fi(),nodePubkey:fi(),activatedStake:Zr(),epochVoteAccount:Jm(),epochCredits:Ii(HK([Zr(),Zr(),Zr()])),commission:Zr(),lastVote:Zr(),rootSlot:wi(Zr())}),EYt=Wa(Vn({current:Ii(Qnt),delinquent:Ii(Qnt)})),vYt=Qh([b0("processed"),b0("confirmed"),b0("finalized")]),RYt=Vn({slot:Zr(),confirmations:wi(Zr()),err:MC,confirmationStatus:Io(vYt)}),SYt=xd(Ii(wi(RYt))),IYt=Wa(Zr()),ait=Vn({accountKey:K0,writableIndexes:Ii(Zr()),readonlyIndexes:Ii(Zr())}),vpe=Vn({signatures:Ii(fi()),message:Vn({accountKeys:Ii(fi()),header:Vn({numRequiredSignatures:Zr(),numReadonlySignedAccounts:Zr(),numReadonlyUnsignedAccounts:Zr()}),instructions:Ii(Vn({accounts:Ii(Zr()),data:fi(),programIdIndex:Zr()})),recentBlockhash:fi(),addressTableLookups:Io(Ii(ait))})}),sit=Vn({pubkey:K0,signer:Jm(),writable:Jm(),source:Io(Qh([b0("transaction"),b0("lookupTable")]))}),cit=Vn({accountKeys:Ii(sit),signatures:Ii(fi())}),uit=Vn({parsed:CC(),program:fi(),programId:K0}),dit=Vn({accounts:Ii(K0),data:fi(),programId:K0}),CYt=Qh([dit,uit]),wYt=Qh([Vn({parsed:CC(),program:fi(),programId:fi()}),Vn({accounts:Ii(fi()),data:fi(),programId:fi()})]),fit=_x(CYt,wYt,e=>"accounts"in e?Ei(e,dit):Ei(e,uit)),lit=Vn({signatures:Ii(fi()),message:Vn({accountKeys:Ii(sit),instructions:Ii(fit),recentBlockhash:fi(),addressTableLookups:Io(wi(Ii(ait)))})}),a$=Vn({accountIndex:Zr(),mint:fi(),owner:Io(fi()),programId:Io(fi()),uiTokenAmount:hpe}),hit=Vn({writable:Ii(K0),readonly:Ii(K0)}),d$=Vn({err:MC,fee:Zr(),innerInstructions:Io(wi(Ii(Vn({index:Zr(),instructions:Ii(Vn({accounts:Ii(Zr()),data:fi(),programIdIndex:Zr()}))})))),preBalances:Ii(Zr()),postBalances:Ii(Zr()),logMessages:Io(wi(Ii(fi()))),preTokenBalances:Io(wi(Ii(a$))),postTokenBalances:Io(wi(Ii(a$))),loadedAddresses:Io(hit),computeUnitsConsumed:Io(Zr()),costUnits:Io(Zr())}),Rpe=Vn({err:MC,fee:Zr(),innerInstructions:Io(wi(Ii(Vn({index:Zr(),instructions:Ii(fit)})))),preBalances:Ii(Zr()),postBalances:Ii(Zr()),logMessages:Io(wi(Ii(fi()))),preTokenBalances:Io(wi(Ii(a$))),postTokenBalances:Io(wi(Ii(a$))),loadedAddresses:Io(hit),computeUnitsConsumed:Io(Zr()),costUnits:Io(Zr())}),Ix=Qh([b0(0),b0("legacy")]),DC=Vn({pubkey:fi(),lamports:Zr(),postBalance:wi(Zr()),rewardType:wi(fi()),commission:Io(wi(Zr()))}),OYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),transactions:Ii(Vn({transaction:vpe,meta:wi(d$),version:Io(Ix)})),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),NYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),xYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),transactions:Ii(Vn({transaction:cit,meta:wi(d$),version:Io(Ix)})),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),TYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),transactions:Ii(Vn({transaction:lit,meta:wi(Rpe),version:Io(Ix)})),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),BYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),transactions:Ii(Vn({transaction:cit,meta:wi(Rpe),version:Io(Ix)})),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),MYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),rewards:Io(Ii(DC)),blockTime:wi(Zr()),blockHeight:wi(Zr())}))),DYt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),transactions:Ii(Vn({transaction:vpe,meta:wi(d$)})),rewards:Io(Ii(DC)),blockTime:wi(Zr())}))),Hnt=Wa(wi(Vn({blockhash:fi(),previousBlockhash:fi(),parentSlot:Zr(),signatures:Ii(fi()),blockTime:wi(Zr())}))),rpe=Wa(wi(Vn({slot:Zr(),meta:wi(d$),blockTime:Io(wi(Zr())),transaction:vpe,version:Io(Ix)}))),jK=Wa(wi(Vn({slot:Zr(),transaction:lit,meta:wi(Rpe),blockTime:Io(wi(Zr())),version:Io(Ix)}))),kYt=xd(Vn({blockhash:fi(),lastValidBlockHeight:Zr()})),PYt=xd(Jm()),LYt=Vn({slot:Zr(),numTransactions:Zr(),numSlots:Zr(),samplePeriodSecs:Zr()}),UYt=Wa(Ii(LYt)),FYt=xd(wi(Vn({feeCalculator:Vn({lamportsPerSignature:Zr()})}))),QYt=Wa(fi()),HYt=Wa(fi()),GYt=Vn({err:MC,logs:Ii(fi()),signature:fi()}),qYt=Vn({result:u$(GYt),subscription:Zr()}),VYt={"solana-client":"js/1.0.0-maintenance"},TI=class{constructor(t,r){this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{let _={};return async I=>{let{commitment:N,config:T}=zu(I),M=this._buildArgs([],N,void 0,T),D=Pnt(M);return _[D]=_[D]??(async()=>{try{let P=await this._rpcRequest("getBlockHeight",M),G=Ei(P,Wa(Zr()));if("error"in G)throw new ao(G.error,"failed to get block height information");return G.result}finally{delete _[D]}})(),await _[D]}})();let i,n,o,d,g,y;r&&typeof r=="string"?this._commitment=r:r&&(this._commitment=r.commitment,this._confirmTransactionInitialTimeout=r.confirmTransactionInitialTimeout,i=r.wsEndpoint,n=r.httpHeaders,o=r.fetch,d=r.fetchMiddleware,g=r.disableRetryOnRateLimit,y=r.httpAgent),this._rpcEndpoint=N$t(t),this._rpcWsEndpoint=i||w$t(t),this._rpcClient=V$t(t,n,o,d,g,y),this._rpcRequest=J$t(this._rpcClient),this._rpcBatchRequest=z$t(this._rpcClient),this._rpcWebSocket=new lpe(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgs([t.toBase58()],i,void 0,n),d=await this._rpcRequest("getBalance",o),g=Ei(d,xd(Zr()));if("error"in g)throw new ao(g.error,`failed to get balance for ${t.toBase58()}`);return g.result}async getBalance(t,r){return await this.getBalanceAndContext(t,r).then(i=>i.value).catch(i=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+i)})}async getBlockTime(t){let r=await this._rpcRequest("getBlockTime",[t]),i=Ei(r,Wa(wi(Zr())));if("error"in i)throw new ao(i.error,`failed to get block time for slot ${t}`);return i.result}async getMinimumLedgerSlot(){let t=await this._rpcRequest("minimumLedgerSlot",[]),r=Ei(t,Wa(Zr()));if("error"in r)throw new ao(r.error,"failed to get minimum ledger slot");return r.result}async getFirstAvailableBlock(){let t=await this._rpcRequest("getFirstAvailableBlock",[]),r=Ei(t,j$t);if("error"in r)throw new ao(r.error,"failed to get first available block");return r.result}async getSupply(t){let r={};typeof t=="string"?r={commitment:t}:t?r={...t,commitment:t&&t.commitment||this.commitment}:r={commitment:this.commitment};let i=await this._rpcRequest("getSupply",[r]),n=Ei(i,eYt);if("error"in n)throw new ao(n.error,"failed to get supply");return n.result}async getTokenSupply(t,r){let i=this._buildArgs([t.toBase58()],r),n=await this._rpcRequest("getTokenSupply",i),o=Ei(n,xd(hpe));if("error"in o)throw new ao(o.error,"failed to get token supply");return o.result}async getTokenAccountBalance(t,r){let i=this._buildArgs([t.toBase58()],r),n=await this._rpcRequest("getTokenAccountBalance",i),o=Ei(n,xd(hpe));if("error"in o)throw new ao(o.error,"failed to get token account balance");return o.result}async getTokenAccountsByOwner(t,r,i){let{commitment:n,config:o}=zu(i),d=[t.toBase58()];"mint"in r?d.push({mint:r.mint.toBase58()}):d.push({programId:r.programId.toBase58()});let g=this._buildArgs(d,n,"base64",o),y=await this._rpcRequest("getTokenAccountsByOwner",g),_=Ei(y,rYt);if("error"in _)throw new ao(_.error,`failed to get token accounts owned by account ${t.toBase58()}`);return _.result}async getParsedTokenAccountsByOwner(t,r,i){let n=[t.toBase58()];"mint"in r?n.push({mint:r.mint.toBase58()}):n.push({programId:r.programId.toBase58()});let o=this._buildArgs(n,i,"jsonParsed"),d=await this._rpcRequest("getTokenAccountsByOwner",o),g=Ei(d,nYt);if("error"in g)throw new ao(g.error,`failed to get token accounts owned by account ${t.toBase58()}`);return g.result}async getLargestAccounts(t){let r={...t,commitment:t&&t.commitment||this.commitment},i=r.filter||r.commitment?[r]:[],n=await this._rpcRequest("getLargestAccounts",i),o=Ei(n,iYt);if("error"in o)throw new ao(o.error,"failed to get largest accounts");return o.result}async getTokenLargestAccounts(t,r){let i=this._buildArgs([t.toBase58()],r),n=await this._rpcRequest("getTokenLargestAccounts",i),o=Ei(n,tYt);if("error"in o)throw new ao(o.error,"failed to get token largest accounts");return o.result}async getAccountInfoAndContext(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgs([t.toBase58()],i,"base64",n),d=await this._rpcRequest("getAccountInfo",o),g=Ei(d,xd(wi(XP)));if("error"in g)throw new ao(g.error,`failed to get info about account ${t.toBase58()}`);return g.result}async getParsedAccountInfo(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgs([t.toBase58()],i,"jsonParsed",n),d=await this._rpcRequest("getAccountInfo",o),g=Ei(d,xd(wi(ppe)));if("error"in g)throw new ao(g.error,`failed to get info about account ${t.toBase58()}`);return g.result}async getAccountInfo(t,r){try{return(await this.getAccountInfoAndContext(t,r)).value}catch(i){throw new Error("failed to get info about account "+t.toBase58()+": "+i)}}async getMultipleParsedAccounts(t,r){let{commitment:i,config:n}=zu(r),o=t.map(_=>_.toBase58()),d=this._buildArgs([o],i,"jsonParsed",n),g=await this._rpcRequest("getMultipleAccounts",d),y=Ei(g,xd(Ii(wi(ppe))));if("error"in y)throw new ao(y.error,`failed to get info for accounts ${o}`);return y.result}async getMultipleAccountsInfoAndContext(t,r){let{commitment:i,config:n}=zu(r),o=t.map(_=>_.toBase58()),d=this._buildArgs([o],i,"base64",n),g=await this._rpcRequest("getMultipleAccounts",d),y=Ei(g,xd(Ii(wi(XP))));if("error"in y)throw new ao(y.error,`failed to get info for accounts ${o}`);return y.result}async getMultipleAccountsInfo(t,r){return(await this.getMultipleAccountsInfoAndContext(t,r)).value}async getStakeActivation(t,r,i){let{commitment:n,config:o}=zu(r),d=this._buildArgs([t.toBase58()],n,void 0,{...o,epoch:i??o?.epoch}),g=await this._rpcRequest("getStakeActivation",d),y=Ei(g,Wa(cYt));if("error"in y)throw new ao(y.error,`failed to get Stake Activation ${t.toBase58()}`);return y.result}async getProgramAccounts(t,r){let{commitment:i,config:n}=zu(r),{encoding:o,...d}=n||{},g=this._buildArgs([t.toBase58()],i,o||"base64",{...d,...d.filters?{filters:Unt(d.filters)}:null}),y=await this._rpcRequest("getProgramAccounts",g),_=Ii(oYt),I=d.withContext===!0?Ei(y,xd(_)):Ei(y,Wa(_));if("error"in I)throw new ao(I.error,`failed to get accounts owned by program ${t.toBase58()}`);return I.result}async getParsedProgramAccounts(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgs([t.toBase58()],i,"jsonParsed",n),d=await this._rpcRequest("getProgramAccounts",o),g=Ei(d,Wa(Ii(sYt)));if("error"in g)throw new ao(g.error,`failed to get accounts owned by program ${t.toBase58()}`);return g.result}async confirmTransaction(t,r){let i;if(typeof t=="string")i=t;else{let o=t;if(o.abortSignal?.aborted)return Promise.reject(o.abortSignal.reason);i=o.signature}let n;try{n=pl.default.decode(i)}catch{throw new Error("signature must be base58 encoded: "+i)}return Ku(n.length===64,"signature has invalid length"),typeof t=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:r||this.commitment,signature:i}):"lastValidBlockHeight"in t?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:r||this.commitment,strategy:t}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:r||this.commitment,strategy:t})}getCancellationPromise(t){return new Promise((r,i)=>{t!=null&&(t.aborted?i(t.reason):t.addEventListener("abort",()=>{i(t.reason)}))})}getTransactionConfirmationPromise({commitment:t,signature:r}){let i,n,o=!1,d=new Promise((y,_)=>{try{i=this.onSignature(r,(N,T)=>{i=void 0;let M={context:T,value:N};y({__type:OI.PROCESSED,response:M})},t);let I=new Promise(N=>{i==null?N():n=this._onSubscriptionStateChange(i,T=>{T==="subscribed"&&N()})});(async()=>{if(await I,o)return;let N=await this.getSignatureStatus(r);if(o||N==null)return;let{context:T,value:M}=N;if(M!=null)if(M?.err)_(M.err);else{switch(t){case"confirmed":case"single":case"singleGossip":{if(M.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(M.confirmationStatus==="processed"||M.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}o=!0,y({__type:OI.PROCESSED,response:{context:T,value:M}})}})()}catch(I){_(I)}});return{abortConfirmation:()=>{n&&(n(),n=void 0),i!=null&&(this.removeSignatureListener(i),i=void 0)},confirmationPromise:d}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:r,lastValidBlockHeight:i,signature:n}}){let o=!1,d=new Promise(N=>{let T=async()=>{try{return await this.getBlockHeight(t)}catch{return-1}};(async()=>{let M=await T();if(!o){for(;M<=i;)if(await NC(1e3),o||(M=await T(),o))return;N({__type:OI.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:g,confirmationPromise:y}=this.getTransactionConfirmationPromise({commitment:t,signature:n}),_=this.getCancellationPromise(r),I;try{let N=await Promise.race([_,y,d]);if(N.__type===OI.PROCESSED)I=N.response;else throw new r$(n)}finally{o=!0,g()}return I}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:r,minContextSlot:i,nonceAccountPubkey:n,nonceValue:o,signature:d}}){let g=!1,y=new Promise(M=>{let D=o,P=null,G=async()=>{try{let{context:q,value:Y}=await this.getNonceAndContext(n,{commitment:t,minContextSlot:i});return P=q.slot,Y?.nonce}catch{return D}};(async()=>{if(D=await G(),!g)for(;;){if(o!==D){M({__type:OI.NONCE_INVALID,slotInWhichNonceDidAdvance:P});return}if(await NC(2e3),g||(D=await G(),g))return}})()}),{abortConfirmation:_,confirmationPromise:I}=this.getTransactionConfirmationPromise({commitment:t,signature:d}),N=this.getCancellationPromise(r),T;try{let M=await Promise.race([N,I,y]);if(M.__type===OI.PROCESSED)T=M.response;else{let D;for(;;){let P=await this.getSignatureStatus(d);if(P==null)break;if(P.context.slot<(M.slotInWhichNonceDidAdvance??i)){await NC(400);continue}D=P;break}if(D?.value){let P=t||"finalized",{confirmationStatus:G}=D.value;switch(P){case"processed":case"recent":if(G!=="processed"&&G!=="confirmed"&&G!=="finalized")throw new xC(d);break;case"confirmed":case"single":case"singleGossip":if(G!=="confirmed"&&G!=="finalized")throw new xC(d);break;case"finalized":case"max":case"root":if(G!=="finalized")throw new xC(d);break;default:}T={context:D.context,value:{err:D.value.err}}}else throw new xC(d)}}finally{g=!0,_()}return T}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:r}){let i,n=new Promise(y=>{let _=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{_=this._confirmTransactionInitialTimeout||3e4;break}}i=setTimeout(()=>y({__type:OI.TIMED_OUT,timeoutMs:_}),_)}),{abortConfirmation:o,confirmationPromise:d}=this.getTransactionConfirmationPromise({commitment:t,signature:r}),g;try{let y=await Promise.race([d,n]);if(y.__type===OI.PROCESSED)g=y.response;else throw new n$(r,y.timeoutMs/1e3)}finally{clearTimeout(i),o()}return g}async getClusterNodes(){let t=await this._rpcRequest("getClusterNodes",[]),r=Ei(t,Wa(Ii(bYt)));if("error"in r)throw new ao(r.error,"failed to get cluster nodes");return r.result}async getVoteAccounts(t){let r=this._buildArgs([],t),i=await this._rpcRequest("getVoteAccounts",r),n=Ei(i,EYt);if("error"in n)throw new ao(n.error,"failed to get vote accounts");return n.result}async getSlot(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,void 0,i),o=await this._rpcRequest("getSlot",n),d=Ei(o,Wa(Zr()));if("error"in d)throw new ao(d.error,"failed to get slot");return d.result}async getSlotLeader(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,void 0,i),o=await this._rpcRequest("getSlotLeader",n),d=Ei(o,Wa(fi()));if("error"in d)throw new ao(d.error,"failed to get slot leader");return d.result}async getSlotLeaders(t,r){let i=[t,r],n=await this._rpcRequest("getSlotLeaders",i),o=Ei(n,Wa(Ii(K0)));if("error"in o)throw new ao(o.error,"failed to get slot leaders");return o.result}async getSignatureStatus(t,r){let{context:i,value:n}=await this.getSignatureStatuses([t],r);Ku(n.length===1);let o=n[0];return{context:i,value:o}}async getSignatureStatuses(t,r){let i=[t];r&&i.push(r);let n=await this._rpcRequest("getSignatureStatuses",i),o=Ei(n,SYt);if("error"in o)throw new ao(o.error,"failed to get signature status");return o.result}async getTransactionCount(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,void 0,i),o=await this._rpcRequest("getTransactionCount",n),d=Ei(o,Wa(Zr()));if("error"in d)throw new ao(d.error,"failed to get transaction count");return d.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){let r=this._buildArgs([],t),i=await this._rpcRequest("getInflationGovernor",r),n=Ei(i,K$t);if("error"in n)throw new ao(n.error,"failed to get inflation");return n.result}async getInflationReward(t,r,i){let{commitment:n,config:o}=zu(i),d=this._buildArgs([t.map(_=>_.toBase58())],n,void 0,{...o,epoch:r??o?.epoch}),g=await this._rpcRequest("getInflationReward",d),y=Ei(g,B$t);if("error"in y)throw new ao(y.error,"failed to get inflation reward");return y.result}async getInflationRate(){let t=await this._rpcRequest("getInflationRate",[]),r=Ei(t,$$t);if("error"in r)throw new ao(r.error,"failed to get inflation rate");return r.result}async getEpochInfo(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,void 0,i),o=await this._rpcRequest("getEpochInfo",n),d=Ei(o,W$t);if("error"in d)throw new ao(d.error,"failed to get epoch info");return d.result}async getEpochSchedule(){let t=await this._rpcRequest("getEpochSchedule",[]),r=Ei(t,X$t);if("error"in r)throw new ao(r.error,"failed to get epoch schedule");let i=r.result;return new fpe(i.slotsPerEpoch,i.leaderScheduleSlotOffset,i.warmup,i.firstNormalEpoch,i.firstNormalSlot)}async getLeaderSchedule(){let t=await this._rpcRequest("getLeaderSchedule",[]),r=Ei(t,Z$t);if("error"in r)throw new ao(r.error,"failed to get leader schedule");return r.result}async getMinimumBalanceForRentExemption(t,r){let i=this._buildArgs([t],r),n=await this._rpcRequest("getMinimumBalanceForRentExemption",i),o=Ei(n,IYt);return"error"in o?(console.warn("Unable to fetch minimum balance for rent exemption"),0):o.result}async getRecentBlockhashAndContext(t){let{context:r,value:{blockhash:i}}=await this.getLatestBlockhashAndContext(t);return{context:r,value:{blockhash:i,feeCalculator:{get lamportsPerSignature(){throw new Error("The capability to fetch `lamportsPerSignature` using the `getRecentBlockhash` API is no longer offered by the network. Use the `getFeeForMessage` API to obtain the fee for a given message.")},toJSON(){return{}}}}}}async getRecentPerformanceSamples(t){let r=await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),i=Ei(r,UYt);if("error"in i)throw new ao(i.error,"failed to get recent performance samples");return i.result}async getFeeCalculatorForBlockhash(t,r){let i=this._buildArgs([t],r),n=await this._rpcRequest("getFeeCalculatorForBlockhash",i),o=Ei(n,FYt);if("error"in o)throw new ao(o.error,"failed to get fee calculator");let{context:d,value:g}=o.result;return{context:d,value:g!==null?g.feeCalculator:null}}async getFeeForMessage(t,r){let i=Ls(t.serialize()).toString("base64"),n=this._buildArgs([i],r),o=await this._rpcRequest("getFeeForMessage",n),d=Ei(o,xd(wi(Zr())));if("error"in d)throw new ao(d.error,"failed to get fee for message");if(d.result===null)throw new Error("invalid blockhash");return d.result}async getRecentPrioritizationFees(t){let r=t?.lockedWritableAccounts?.map(d=>d.toBase58()),i=r?.length?[r]:[],n=await this._rpcRequest("getRecentPrioritizationFees",i),o=Ei(n,Y$t);if("error"in o)throw new ao(o.error,"failed to get recent prioritization fees");return o.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(r){throw new Error("failed to get recent blockhash: "+r)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(r){throw new Error("failed to get recent blockhash: "+r)}}async getLatestBlockhashAndContext(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,void 0,i),o=await this._rpcRequest("getLatestBlockhash",n),d=Ei(o,kYt);if("error"in d)throw new ao(d.error,"failed to get latest blockhash");return d.result}async isBlockhashValid(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgs([t],i,void 0,n),d=await this._rpcRequest("isBlockhashValid",o),g=Ei(d,PYt);if("error"in g)throw new ao(g.error,"failed to determine if the blockhash `"+t+"`is valid");return g.result}async getVersion(){let t=await this._rpcRequest("getVersion",[]),r=Ei(t,Wa(Q$t));if("error"in r)throw new ao(r.error,"failed to get version");return r.result}async getGenesisHash(){let t=await this._rpcRequest("getGenesisHash",[]),r=Ei(t,Wa(fi()));if("error"in r)throw new ao(r.error,"failed to get genesis hash");return r.result}async getBlock(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgsAtLeastConfirmed([t],i,void 0,n),d=await this._rpcRequest("getBlock",o);try{switch(n?.transactionDetails){case"accounts":{let g=Ei(d,xYt);if("error"in g)throw g.error;return g.result}case"none":{let g=Ei(d,NYt);if("error"in g)throw g.error;return g.result}default:{let g=Ei(d,OYt);if("error"in g)throw g.error;let{result:y}=g;return y?{...y,transactions:y.transactions.map(({transaction:_,meta:I,version:N})=>({meta:I,transaction:{..._,message:tpe(N,_.message)},version:N}))}:null}}}catch(g){throw new ao(g,"failed to get confirmed block")}}async getParsedBlock(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgsAtLeastConfirmed([t],i,"jsonParsed",n),d=await this._rpcRequest("getBlock",o);try{switch(n?.transactionDetails){case"accounts":{let g=Ei(d,BYt);if("error"in g)throw g.error;return g.result}case"none":{let g=Ei(d,MYt);if("error"in g)throw g.error;return g.result}default:{let g=Ei(d,TYt);if("error"in g)throw g.error;return g.result}}}catch(g){throw new ao(g,"failed to get block")}}async getBlockProduction(t){let r,i;if(typeof t=="string")i=t;else if(t){let{commitment:g,...y}=t;i=g,r=y}let n=this._buildArgs([],i,"base64",r),o=await this._rpcRequest("getBlockProduction",n),d=Ei(o,q$t);if("error"in d)throw new ao(d.error,"failed to get block production information");return d.result}async getTransaction(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgsAtLeastConfirmed([t],i,void 0,n),d=await this._rpcRequest("getTransaction",o),g=Ei(d,rpe);if("error"in g)throw new ao(g.error,"failed to get transaction");let y=g.result;return y&&{...y,transaction:{...y.transaction,message:tpe(y.version,y.transaction.message)}}}async getParsedTransaction(t,r){let{commitment:i,config:n}=zu(r),o=this._buildArgsAtLeastConfirmed([t],i,"jsonParsed",n),d=await this._rpcRequest("getTransaction",o),g=Ei(d,jK);if("error"in g)throw new ao(g.error,"failed to get transaction");return g.result}async getParsedTransactions(t,r){let{commitment:i,config:n}=zu(r),o=t.map(y=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([y],i,"jsonParsed",n)}));return(await this._rpcBatchRequest(o)).map(y=>{let _=Ei(y,jK);if("error"in _)throw new ao(_.error,"failed to get transactions");return _.result})}async getTransactions(t,r){let{commitment:i,config:n}=zu(r),o=t.map(y=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([y],i,void 0,n)}));return(await this._rpcBatchRequest(o)).map(y=>{let _=Ei(y,rpe);if("error"in _)throw new ao(_.error,"failed to get transactions");let I=_.result;return I&&{...I,transaction:{...I.transaction,message:tpe(I.version,I.transaction.message)}}})}async getConfirmedBlock(t,r){let i=this._buildArgsAtLeastConfirmed([t],r),n=await this._rpcRequest("getBlock",i),o=Ei(n,DYt);if("error"in o)throw new ao(o.error,"failed to get confirmed block");let d=o.result;if(!d)throw new Error("Confirmed block "+t+" not found");let g={...d,transactions:d.transactions.map(({transaction:y,meta:_})=>{let I=new BC(y.message);return{meta:_,transaction:{...y,message:I}}})};return{...g,transactions:g.transactions.map(({transaction:y,meta:_})=>({meta:_,transaction:Us.populate(y.message,y.signatures)}))}}async getBlocks(t,r,i){let n=this._buildArgsAtLeastConfirmed(r!==void 0?[t,r]:[t],i),o=await this._rpcRequest("getBlocks",n),d=Ei(o,Wa(Ii(Zr())));if("error"in d)throw new ao(d.error,"failed to get blocks");return d.result}async getBlockSignatures(t,r){let i=this._buildArgsAtLeastConfirmed([t],r,void 0,{transactionDetails:"signatures",rewards:!1}),n=await this._rpcRequest("getBlock",i),o=Ei(n,Hnt);if("error"in o)throw new ao(o.error,"failed to get block");let d=o.result;if(!d)throw new Error("Block "+t+" not found");return d}async getConfirmedBlockSignatures(t,r){let i=this._buildArgsAtLeastConfirmed([t],r,void 0,{transactionDetails:"signatures",rewards:!1}),n=await this._rpcRequest("getBlock",i),o=Ei(n,Hnt);if("error"in o)throw new ao(o.error,"failed to get confirmed block");let d=o.result;if(!d)throw new Error("Confirmed block "+t+" not found");return d}async getConfirmedTransaction(t,r){let i=this._buildArgsAtLeastConfirmed([t],r),n=await this._rpcRequest("getTransaction",i),o=Ei(n,rpe);if("error"in o)throw new ao(o.error,"failed to get transaction");let d=o.result;if(!d)return d;let g=new BC(d.transaction.message),y=d.transaction.signatures;return{...d,transaction:Us.populate(g,y)}}async getParsedConfirmedTransaction(t,r){let i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed"),n=await this._rpcRequest("getTransaction",i),o=Ei(n,jK);if("error"in o)throw new ao(o.error,"failed to get confirmed transaction");return o.result}async getParsedConfirmedTransactions(t,r){let i=t.map(d=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([d],r,"jsonParsed")}));return(await this._rpcBatchRequest(i)).map(d=>{let g=Ei(d,jK);if("error"in g)throw new ao(g.error,"failed to get confirmed transactions");return g.result})}async getConfirmedSignaturesForAddress(t,r,i){let n={},o=await this.getFirstAvailableBlock();for(;!("until"in n)&&(r--,!(r<=0||r<o));)try{let y=await this.getConfirmedBlockSignatures(r,"finalized");y.signatures.length>0&&(n.until=y.signatures[y.signatures.length-1].toString())}catch(y){if(y instanceof Error&&y.message.includes("skipped"))continue;throw y}let d=await this.getSlot("finalized");for(;!("before"in n)&&(i++,!(i>d));)try{let y=await this.getConfirmedBlockSignatures(i);y.signatures.length>0&&(n.before=y.signatures[y.signatures.length-1].toString())}catch(y){if(y instanceof Error&&y.message.includes("skipped"))continue;throw y}return(await this.getConfirmedSignaturesForAddress2(t,n)).map(y=>y.signature)}async getConfirmedSignaturesForAddress2(t,r,i){let n=this._buildArgsAtLeastConfirmed([t.toBase58()],i,void 0,r),o=await this._rpcRequest("getConfirmedSignaturesForAddress2",n),d=Ei(o,uYt);if("error"in d)throw new ao(d.error,"failed to get confirmed signatures for address");return d.result}async getSignaturesForAddress(t,r,i){let n=this._buildArgsAtLeastConfirmed([t.toBase58()],i,void 0,r),o=await this._rpcRequest("getSignaturesForAddress",n),d=Ei(o,dYt);if("error"in d)throw new ao(d.error,"failed to get signatures for address");return d.result}async getAddressLookupTable(t,r){let{context:i,value:n}=await this.getAccountInfoAndContext(t,r),o=null;return n!==null&&(o=new o$({key:t,state:o$.deserialize(n.data)})),{context:i,value:o}}async getNonceAndContext(t,r){let{context:i,value:n}=await this.getAccountInfoAndContext(t,r),o=null;return n!==null&&(o=upe.fromAccountData(n.data)),{context:i,value:o}}async getNonce(t,r){return await this.getNonceAndContext(t,r).then(i=>i.value).catch(i=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+i)})}async requestAirdrop(t,r){let i=await this._rpcRequest("requestAirdrop",[t.toBase58(),r]),n=Ei(i,QYt);if("error"in n)throw new ao(n.error,`airdrop to ${t.toBase58()} failed`);return n.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await NC(100);let i=Date.now()-this._blockhashInfo.lastFetch>=O$t;if(this._blockhashInfo.latestBlockhash!==null&&!i)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{let t=Date.now(),r=this._blockhashInfo.latestBlockhash,i=r?r.blockhash:null;for(let n=0;n<50;n++){let o=await this.getLatestBlockhash("finalized");if(i!==o.blockhash)return this._blockhashInfo={latestBlockhash:o,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},o;await NC(rit/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-t}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(t){let{commitment:r,config:i}=zu(t),n=this._buildArgs([],r,"base64",i),o=await this._rpcRequest("getStakeMinimumDelegation",n),d=Ei(o,xd(Zr()));if("error"in d)throw new ao(d.error,"failed to get stake minimum delegation");return d.result}async simulateTransaction(t,r,i){if("message"in t){let P=t.serialize(),G=fe.from(P).toString("base64");if(Array.isArray(r)||i!==void 0)throw new Error("Invalid arguments");let q=r||{};q.encoding="base64","commitment"in q||(q.commitment=this.commitment),r&&typeof r=="object"&&"innerInstructions"in r&&(q.innerInstructions=r.innerInstructions);let Y=[G,q],ne=await this._rpcRequest("simulateTransaction",Y),ce=Ei(ne,Fnt);if("error"in ce)throw new Error("failed to simulate transaction: "+ce.error.message);return ce.result}let n;if(t instanceof Us){let D=t;n=new Us,n.feePayer=D.feePayer,n.instructions=t.instructions,n.nonceInfo=D.nonceInfo,n.signatures=D.signatures}else n=Us.populate(t),n._message=n._json=void 0;if(r!==void 0&&!Array.isArray(r))throw new Error("Invalid arguments");let o=r;if(n.nonceInfo&&o)n.sign(...o);else{let D=this._disableBlockhashCaching;for(;;){let P=await this._blockhashWithExpiryBlockHeight(D);if(n.lastValidBlockHeight=P.lastValidBlockHeight,n.recentBlockhash=P.blockhash,!o)break;if(n.sign(...o),!n.signature)throw new Error("!signature");let G=n.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(G)&&!this._blockhashInfo.transactionSignatures.includes(G)){this._blockhashInfo.simulatedSignatures.push(G);break}else D=!0}}let d=n._compile(),g=d.serialize(),_=n._serialize(g).toString("base64"),I={encoding:"base64",commitment:this.commitment};if(i){let D=(Array.isArray(i)?i:d.nonProgramIds()).map(P=>P.toBase58());I.accounts={encoding:"base64",addresses:D}}o&&(I.sigVerify=!0),r&&typeof r=="object"&&"innerInstructions"in r&&(I.innerInstructions=r.innerInstructions);let N=[_,I],T=await this._rpcRequest("simulateTransaction",N),M=Ei(T,Fnt);if("error"in M){let D;if("data"in M.error&&(D=M.error.data.logs,D&&Array.isArray(D))){let P=` + `,G=P+D.join(P);console.error(M.error.message,G)}throw new WP({action:"simulate",signature:"",transactionMessage:M.error.message,logs:D})}return M.result}async sendTransaction(t,r,i){if("version"in t){if(r&&Array.isArray(r))throw new Error("Invalid arguments");let d=t.serialize();return await this.sendRawTransaction(d,r)}if(r===void 0||!Array.isArray(r))throw new Error("Invalid arguments");let n=r;if(t.nonceInfo)t.sign(...n);else{let d=this._disableBlockhashCaching;for(;;){let g=await this._blockhashWithExpiryBlockHeight(d);if(t.lastValidBlockHeight=g.lastValidBlockHeight,t.recentBlockhash=g.blockhash,t.sign(...n),!t.signature)throw new Error("!signature");let y=t.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(y))d=!0;else{this._blockhashInfo.transactionSignatures.push(y);break}}}let o=t.serialize();return await this.sendRawTransaction(o,i)}async sendRawTransaction(t,r){let i=Ls(t).toString("base64");return await this.sendEncodedTransaction(i,r)}async sendEncodedTransaction(t,r){let i={encoding:"base64"},n=r&&r.skipPreflight,o=n===!0?"processed":r&&r.preflightCommitment||this.commitment;r&&r.maxRetries!=null&&(i.maxRetries=r.maxRetries),r&&r.minContextSlot!=null&&(i.minContextSlot=r.minContextSlot),n&&(i.skipPreflight=n),o&&(i.preflightCommitment=o);let d=[t,i],g=await this._rpcRequest("sendTransaction",d),y=Ei(g,HYt);if("error"in y){let _;throw"data"in y.error&&(_=y.error.data.logs),new WP({action:n?"send":"simulate",signature:"",transactionMessage:y.error.message,logs:_})}return y.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),t===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([r,i])=>{this._setSubscription(r,{...i,state:"pending"})})}_setSubscription(t,r){let i=this._subscriptionsByHash[t]?.state;if(this._subscriptionsByHash[t]=r,i!==r.state){let n=this._subscriptionStateChangeCallbacksByHash[t];n&&n.forEach(o=>{try{o(r.state)}catch{}})}}_onSubscriptionStateChange(t,r){let i=this._subscriptionHashByClientSubscriptionId[t];if(i==null)return()=>{};let n=this._subscriptionStateChangeCallbacksByHash[i]||=new Set;return n.add(r),()=>{n.delete(r),n.size===0&&delete this._subscriptionStateChangeCallbacksByHash[i]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(i){i instanceof Error&&console.log(`Error when closing socket connection: ${i.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}let t=this._rpcWebSocketGeneration,r=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async i=>{let n=this._subscriptionsByHash[i];if(n!==void 0)switch(n.state){case"pending":case"unsubscribed":if(n.callbacks.size===0){delete this._subscriptionsByHash[i],n.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[n.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{let{args:o,method:d}=n;try{this._setSubscription(i,{...n,state:"subscribing"});let g=await this._rpcWebSocket.call(d,o);this._setSubscription(i,{...n,serverSubscriptionId:g,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[g]=n.callbacks,await this._updateSubscriptions()}catch(g){if(console.error(`Received ${g instanceof Error?"":"JSON-RPC "}error calling \`${d}\``,{args:o,error:g}),!r())return;this._setSubscription(i,{...n,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":n.callbacks.size===0&&await(async()=>{let{serverSubscriptionId:o,unsubscribeMethod:d}=n;if(this._subscriptionsAutoDisposedByRpc.has(o))this._subscriptionsAutoDisposedByRpc.delete(o);else{this._setSubscription(i,{...n,state:"unsubscribing"}),this._setSubscription(i,{...n,state:"unsubscribing"});try{await this._rpcWebSocket.call(d,[o])}catch(g){if(g instanceof Error&&console.error(`${d} error:`,g.message),!r())return;this._setSubscription(i,{...n,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(i,{...n,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(t,r){let i=this._subscriptionCallbacksByServerSubscriptionId[t];i!==void 0&&i.forEach(n=>{try{n(...r)}catch(o){console.error(o)}})}_wsOnAccountNotification(t){let{result:r,subscription:i}=Ei(t,fYt);this._handleServerNotification(i,[r.value,r.context])}_makeSubscription(t,r){let i=this._nextClientSubscriptionId++,n=Pnt([t.method,r]),o=this._subscriptionsByHash[n];return o===void 0?this._subscriptionsByHash[n]={...t,args:r,callbacks:new Set([t.callback]),state:"pending"}:o.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[i]=n,this._subscriptionDisposeFunctionsByClientSubscriptionId[i]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[i],delete this._subscriptionHashByClientSubscriptionId[i];let d=this._subscriptionsByHash[n];Ku(d!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${i}`),d.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),i}onAccountChange(t,r,i){let{commitment:n,config:o}=zu(i),d=this._buildArgs([t.toBase58()],n||this._commitment||"finalized","base64",o);return this._makeSubscription({callback:r,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},d)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){let{result:r,subscription:i}=Ei(t,hYt);this._handleServerNotification(i,[{accountId:r.value.pubkey,accountInfo:r.value.account},r.context])}onProgramAccountChange(t,r,i,n){let{commitment:o,config:d}=zu(i),g=this._buildArgs([t.toBase58()],o||this._commitment||"finalized","base64",d||(n?{filters:Unt(n)}:void 0));return this._makeSubscription({callback:r,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},g)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,r,i){let n=this._buildArgs([typeof t=="object"?{mentions:[t.toString()]}:t],i||this._commitment||"finalized");return this._makeSubscription({callback:r,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},n)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){let{result:r,subscription:i}=Ei(t,qYt);this._handleServerNotification(i,[r.value,r.context])}_wsOnSlotNotification(t){let{result:r,subscription:i}=Ei(t,pYt);this._handleServerNotification(i,[r])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){let{result:r,subscription:i}=Ei(t,_Yt);this._handleServerNotification(i,[r])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,r){let i=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];i?await i():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${r}' events could not be found.`)}_buildArgs(t,r,i,n){let o=r||this._commitment;if(o||i||n){let d={};i&&(d.encoding=i),o&&(d.commitment=o),n&&(d=Object.assign(d,n)),t.push(d)}return t}_buildArgsAtLeastConfirmed(t,r,i,n){let o=r||this._commitment;if(o&&!["confirmed","finalized"].includes(o))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,r,i,n)}_wsOnSignatureNotification(t){let{result:r,subscription:i}=Ei(t,mYt);r.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(i),this._handleServerNotification(i,r.value==="receivedSignature"?[{type:"received"},r.context]:[{type:"status",result:r.value},r.context])}onSignature(t,r,i){let n=this._buildArgs([t],i||this._commitment||"finalized"),o=this._makeSubscription({callback:(d,g)=>{if(d.type==="status"){r(d.result,g);try{this.removeSignatureListener(o)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},n);return o}onSignatureWithOptions(t,r,i){let{commitment:n,...o}={...i,commitment:i&&i.commitment||this._commitment||"finalized"},d=this._buildArgs([t],n,void 0,o),g=this._makeSubscription({callback:(y,_)=>{r(y,_);try{this.removeSignatureListener(g)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},d);return g}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){let{result:r,subscription:i}=Ei(t,yYt);this._handleServerNotification(i,[r])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}},gpe=class e{constructor(t){this._keypair=void 0,this._keypair=t??xnt()}static generate(){return new e(xnt())}static fromSecretKey(t,r){if(t.byteLength!==64)throw new Error("bad secret key size");let i=t.slice(32,64);if(!r||!r.skipValidation){let n=t.slice(0,32),o=ape(n);for(let d=0;d<32;d++)if(i[d]!==o[d])throw new Error("provided secretKey is invalid")}return new e({publicKey:i,secretKey:t})}static fromSeed(t){let r=ape(t),i=new Uint8Array(64);return i.set(t),i.set(r,32),new e({publicKey:r,secretKey:i})}get publicKey(){return new xi(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}},KP=Object.freeze({CreateLookupTable:{index:0,layout:Br.struct([Br.u32("instruction"),Rx("recentSlot"),Br.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:Br.struct([Br.u32("instruction")])},ExtendLookupTable:{index:2,layout:Br.struct([Br.u32("instruction"),Rx(),Br.seq(_s(),Br.offset(Br.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:Br.struct([Br.u32("instruction")])},CloseLookupTable:{index:4,layout:Br.struct([Br.u32("instruction")])}});var _pe=class{constructor(){}static createLookupTable(t){let[r,i]=xi.findProgramAddressSync([t.authority.toBuffer(),TAe().encode(t.recentSlot)],this.programId),n=KP.CreateLookupTable,o=$s(n,{recentSlot:BigInt(t.recentSlot),bumpSeed:i}),d=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Td.programId,isSigner:!1,isWritable:!1}];return[new ms({programId:this.programId,keys:d,data:o}),r]}static freezeLookupTable(t){let r=KP.FreezeLookupTable,i=$s(r),n=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ms({programId:this.programId,keys:n,data:i})}static extendLookupTable(t){let r=KP.ExtendLookupTable,i=$s(r,{addresses:t.addresses.map(o=>o.toBytes())}),n=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&n.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Td.programId,isSigner:!1,isWritable:!1}),new ms({programId:this.programId,keys:n,data:i})}static deactivateLookupTable(t){let r=KP.DeactivateLookupTable,i=$s(r),n=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ms({programId:this.programId,keys:n,data:i})}static closeLookupTable(t){let r=KP.CloseLookupTable,i=$s(r),n=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new ms({programId:this.programId,keys:n,data:i})}};_pe.programId=new xi("AddressLookupTab1e1111111111111111111111111");var e$=Object.freeze({RequestUnits:{index:0,layout:Br.struct([Br.u8("instruction"),Br.u32("units"),Br.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:Br.struct([Br.u8("instruction"),Br.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:Br.struct([Br.u8("instruction"),Br.u32("units")])},SetComputeUnitPrice:{index:3,layout:Br.struct([Br.u8("instruction"),Rx("microLamports")])}}),mpe=class{constructor(){}static requestUnits(t){let r=e$.RequestUnits,i=$s(r,t);return new ms({keys:[],programId:this.programId,data:i})}static requestHeapFrame(t){let r=e$.RequestHeapFrame,i=$s(r,t);return new ms({keys:[],programId:this.programId,data:i})}static setComputeUnitLimit(t){let r=e$.SetComputeUnitLimit,i=$s(r,t);return new ms({keys:[],programId:this.programId,data:i})}static setComputeUnitPrice(t){let r=e$.SetComputeUnitPrice,i=$s(r,{microLamports:BigInt(t.microLamports)});return new ms({keys:[],programId:this.programId,data:i})}};mpe.programId=new xi("ComputeBudget111111111111111111111111111111");var Gnt=64,qnt=32,Vnt=64,Jnt=Br.struct([Br.u8("numSignatures"),Br.u8("padding"),Br.u16("signatureOffset"),Br.u16("signatureInstructionIndex"),Br.u16("publicKeyOffset"),Br.u16("publicKeyInstructionIndex"),Br.u16("messageDataOffset"),Br.u16("messageDataSize"),Br.u16("messageInstructionIndex")]),ype=class e{constructor(){}static createInstructionWithPublicKey(t){let{publicKey:r,message:i,signature:n,instructionIndex:o}=t;Ku(r.length===qnt,`Public Key must be ${qnt} bytes but received ${r.length} bytes`),Ku(n.length===Vnt,`Signature must be ${Vnt} bytes but received ${n.length} bytes`);let d=Jnt.span,g=d+r.length,y=g+n.length,_=1,I=fe.alloc(y+i.length),N=o??65535;return Jnt.encode({numSignatures:_,padding:0,signatureOffset:g,signatureInstructionIndex:N,publicKeyOffset:d,publicKeyInstructionIndex:N,messageDataOffset:y,messageDataSize:i.length,messageInstructionIndex:N},I),I.fill(r,d),I.fill(n,g),I.fill(i,y),new ms({keys:[],programId:e.programId,data:I})}static createInstructionWithPrivateKey(t){let{privateKey:r,message:i,instructionIndex:n}=t;Ku(r.length===Gnt,`Private key must be ${Gnt} bytes but received ${r.length} bytes`);try{let o=gpe.fromSecretKey(r),d=o.publicKey.toBytes(),g=Wnt(i,o.secretKey);return this.createInstructionWithPublicKey({publicKey:d,message:i,signature:g,instructionIndex:n})}catch(o){throw new Error(`Error creating instruction; ${o}`)}}};ype.programId=new xi("Ed25519SigVerify111111111111111111111111111");var JYt=(e,t)=>{let r=ZK.sign(e,t);return[r.toCompactRawBytes(),r.recovery]};ZK.utils.isValidPrivateKey;var zYt=ZK.getPublicKey,znt=32,npe=20,Knt=64,KYt=11,ipe=Br.struct([Br.u8("numSignatures"),Br.u16("signatureOffset"),Br.u8("signatureInstructionIndex"),Br.u16("ethAddressOffset"),Br.u8("ethAddressInstructionIndex"),Br.u16("messageDataOffset"),Br.u16("messageDataSize"),Br.u8("messageInstructionIndex"),Br.blob(20,"ethAddress"),Br.blob(64,"signature"),Br.u8("recoveryId")]),bpe=class e{constructor(){}static publicKeyToEthAddress(t){Ku(t.length===Knt,`Public key must be ${Knt} bytes but received ${t.length} bytes`);try{return fe.from(wC(Ls(t))).slice(-npe)}catch(r){throw new Error(`Error constructing Ethereum address: ${r}`)}}static createInstructionWithPublicKey(t){let{publicKey:r,message:i,signature:n,recoveryId:o,instructionIndex:d}=t;return e.createInstructionWithEthAddress({ethAddress:e.publicKeyToEthAddress(r),message:i,signature:n,recoveryId:o,instructionIndex:d})}static createInstructionWithEthAddress(t){let{ethAddress:r,message:i,signature:n,recoveryId:o,instructionIndex:d=0}=t,g;typeof r=="string"?r.startsWith("0x")?g=fe.from(r.substr(2),"hex"):g=fe.from(r,"hex"):g=r,Ku(g.length===npe,`Address must be ${npe} bytes but received ${g.length} bytes`);let y=1+KYt,_=y,I=y+g.length,N=I+n.length+1,T=1,M=fe.alloc(ipe.span+i.length);return ipe.encode({numSignatures:T,signatureOffset:I,signatureInstructionIndex:d,ethAddressOffset:_,ethAddressInstructionIndex:d,messageDataOffset:N,messageDataSize:i.length,messageInstructionIndex:d,signature:Ls(n),ethAddress:Ls(g),recoveryId:o},M),M.fill(Ls(i),ipe.span),new ms({keys:[],programId:e.programId,data:M})}static createInstructionWithPrivateKey(t){let{privateKey:r,message:i,instructionIndex:n}=t;Ku(r.length===znt,`Private key must be ${znt} bytes but received ${r.length} bytes`);try{let o=Ls(r),d=zYt(o,!1).slice(1),g=fe.from(wC(Ls(i))),[y,_]=JYt(g,o);return this.createInstructionWithPublicKey({publicKey:d,message:i,signature:y,recoveryId:_,instructionIndex:n})}catch(o){throw new Error(`Error creating instruction; ${o}`)}}};bpe.programId=new xi("KeccakSecp256k11111111111111111111111111111");var Ait,$Yt=new xi("StakeConfig11111111111111111111111111111111");var ZP=class{constructor(t,r,i){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=r,this.custodian=i}};Ait=ZP;ZP.default=new Ait(0,0,xi.default);var NI=Object.freeze({Initialize:{index:0,layout:Br.struct([Br.u32("instruction"),u$t(),d$t()])},Authorize:{index:1,layout:Br.struct([Br.u32("instruction"),_s("newAuthorized"),Br.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:Br.struct([Br.u32("instruction")])},Split:{index:3,layout:Br.struct([Br.u32("instruction"),Br.ns64("lamports")])},Withdraw:{index:4,layout:Br.struct([Br.u32("instruction"),Br.ns64("lamports")])},Deactivate:{index:5,layout:Br.struct([Br.u32("instruction")])},Merge:{index:7,layout:Br.struct([Br.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:Br.struct([Br.u32("instruction"),_s("newAuthorized"),Br.u32("stakeAuthorizationType"),Ex("authoritySeed"),_s("authorityOwner")])}}),RWn=Object.freeze({Staker:{index:0},Withdrawer:{index:1}}),s$=class{constructor(){}static initialize(t){let{stakePubkey:r,authorized:i,lockup:n}=t,o=n||ZP.default,d=NI.Initialize,g=$s(d,{authorized:{staker:Ls(i.staker.toBuffer()),withdrawer:Ls(i.withdrawer.toBuffer())},lockup:{unixTimestamp:o.unixTimestamp,epoch:o.epoch,custodian:Ls(o.custodian.toBuffer())}}),y={keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:YP,isSigner:!1,isWritable:!1}],programId:this.programId,data:g};return new ms(y)}static createAccountWithSeed(t){let r=new Us;r.add(Td.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:this.space,programId:this.programId}));let{stakePubkey:i,authorized:n,lockup:o}=t;return r.add(this.initialize({stakePubkey:i,authorized:n,lockup:o}))}static createAccount(t){let r=new Us;r.add(Td.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));let{stakePubkey:i,authorized:n,lockup:o}=t;return r.add(this.initialize({stakePubkey:i,authorized:n,lockup:o}))}static delegate(t){let{stakePubkey:r,authorizedPubkey:i,votePubkey:n}=t,o=NI.Delegate,d=$s(o);return new Us().add({keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:ZAe,isSigner:!1,isWritable:!1},{pubkey:$Yt,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:d})}static authorize(t){let{stakePubkey:r,authorizedPubkey:i,newAuthorizedPubkey:n,stakeAuthorizationType:o,custodianPubkey:d}=t,g=NI.Authorize,y=$s(g,{newAuthorized:Ls(n.toBuffer()),stakeAuthorizationType:o.index}),_=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1}];return d&&_.push({pubkey:d,isSigner:!0,isWritable:!1}),new Us().add({keys:_,programId:this.programId,data:y})}static authorizeWithSeed(t){let{stakePubkey:r,authorityBase:i,authoritySeed:n,authorityOwner:o,newAuthorizedPubkey:d,stakeAuthorizationType:g,custodianPubkey:y}=t,_=NI.AuthorizeWithSeed,I=$s(_,{newAuthorized:Ls(d.toBuffer()),stakeAuthorizationType:g.index,authoritySeed:n,authorityOwner:Ls(o.toBuffer())}),N=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:bR,isSigner:!1,isWritable:!1}];return y&&N.push({pubkey:y,isSigner:!0,isWritable:!1}),new Us().add({keys:N,programId:this.programId,data:I})}static splitInstruction(t){let{stakePubkey:r,authorizedPubkey:i,splitStakePubkey:n,lamports:o}=t,d=NI.Split,g=$s(d,{lamports:o});return new ms({keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:g})}static split(t,r){let i=new Us;return i.add(Td.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:r,space:this.space,programId:this.programId})),i.add(this.splitInstruction(t))}static splitWithSeed(t,r){let{stakePubkey:i,authorizedPubkey:n,splitStakePubkey:o,basePubkey:d,seed:g,lamports:y}=t,_=new Us;return _.add(Td.allocate({accountPubkey:o,basePubkey:d,seed:g,space:this.space,programId:this.programId})),r&&r>0&&_.add(Td.transfer({fromPubkey:t.authorizedPubkey,toPubkey:o,lamports:r})),_.add(this.splitInstruction({stakePubkey:i,authorizedPubkey:n,splitStakePubkey:o,lamports:y}))}static merge(t){let{stakePubkey:r,sourceStakePubKey:i,authorizedPubkey:n}=t,o=NI.Merge,d=$s(o);return new Us().add({keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:ZAe,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:d})}static withdraw(t){let{stakePubkey:r,authorizedPubkey:i,toPubkey:n,lamports:o,custodianPubkey:d}=t,g=NI.Withdraw,y=$s(g,{lamports:o}),_=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:ZAe,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}];return d&&_.push({pubkey:d,isSigner:!0,isWritable:!1}),new Us().add({keys:_,programId:this.programId,data:y})}static deactivate(t){let{stakePubkey:r,authorizedPubkey:i}=t,n=NI.Deactivate,o=$s(n);return new Us().add({keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}};s$.programId=new xi("Stake11111111111111111111111111111111111111");s$.space=200;var $P=Object.freeze({InitializeAccount:{index:0,layout:Br.struct([Br.u32("instruction"),f$t()])},Authorize:{index:1,layout:Br.struct([Br.u32("instruction"),_s("newAuthorized"),Br.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:Br.struct([Br.u32("instruction"),Br.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:Br.struct([Br.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:Br.struct([Br.u32("instruction"),l$t()])}}),SWn=Object.freeze({Voter:{index:0},Withdrawer:{index:1}}),c$=class e{constructor(){}static initializeAccount(t){let{votePubkey:r,nodePubkey:i,voteInit:n}=t,o=$P.InitializeAccount,d=$s(o,{voteInit:{nodePubkey:Ls(n.nodePubkey.toBuffer()),authorizedVoter:Ls(n.authorizedVoter.toBuffer()),authorizedWithdrawer:Ls(n.authorizedWithdrawer.toBuffer()),commission:n.commission}}),g={keys:[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:YP,isSigner:!1,isWritable:!1},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}],programId:this.programId,data:d};return new ms(g)}static createAccount(t){let r=new Us;return r.add(Td.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.votePubkey,lamports:t.lamports,space:this.space,programId:this.programId})),r.add(this.initializeAccount({votePubkey:t.votePubkey,nodePubkey:t.voteInit.nodePubkey,voteInit:t.voteInit}))}static authorize(t){let{votePubkey:r,authorizedPubkey:i,newAuthorizedPubkey:n,voteAuthorizationType:o}=t,d=$P.Authorize,g=$s(d,{newAuthorized:Ls(n.toBuffer()),voteAuthorizationType:o.index}),y=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}];return new Us().add({keys:y,programId:this.programId,data:g})}static authorizeWithSeed(t){let{currentAuthorityDerivedKeyBasePubkey:r,currentAuthorityDerivedKeyOwnerPubkey:i,currentAuthorityDerivedKeySeed:n,newAuthorizedPubkey:o,voteAuthorizationType:d,votePubkey:g}=t,y=$P.AuthorizeWithSeed,_=$s(y,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:Ls(i.toBuffer()),currentAuthorityDerivedKeySeed:n,newAuthorized:Ls(o.toBuffer()),voteAuthorizationType:d.index}}),I=[{pubkey:g,isSigner:!1,isWritable:!0},{pubkey:bR,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new Us().add({keys:I,programId:this.programId,data:_})}static withdraw(t){let{votePubkey:r,authorizedWithdrawerPubkey:i,lamports:n,toPubkey:o}=t,d=$P.Withdraw,g=$s(d,{lamports:n}),y=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1}];return new Us().add({keys:y,programId:this.programId,data:g})}static safeWithdraw(t,r,i){if(t.lamports>r-i)throw new Error("Withdraw will leave vote account with insufficient funds.");return e.withdraw(t)}static updateValidatorIdentity(t){let{votePubkey:r,authorizedWithdrawerPubkey:i,nodePubkey:n}=t,o=$P.UpdateValidatorIdentity,d=$s(o),g=[{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!0,isWritable:!1},{pubkey:i,isSigner:!0,isWritable:!1}];return new Us().add({keys:g,programId:this.programId,data:d})}};c$.programId=new xi("Vote111111111111111111111111111111111111111");c$.space=3762;var IWn=new xi("Va1idator1nfo111111111111111111111111111111"),CWn=Vn({name:fi(),website:Io(fi()),details:Io(fi()),iconUrl:Io(fi()),keybaseUsername:Io(fi())});var wWn=new xi("Vote111111111111111111111111111111111111111"),OWn=Br.struct([_s("nodePubkey"),_s("authorizedWithdrawer"),Br.u8("commission"),Br.nu64(),Br.seq(Br.struct([Br.nu64("slot"),Br.u32("confirmationCount")]),Br.offset(Br.u32(),-8),"votes"),Br.u8("rootSlotValid"),Br.nu64("rootSlot"),Br.nu64(),Br.seq(Br.struct([Br.nu64("epoch"),_s("authorizedVoter")]),Br.offset(Br.u32(),-8),"authorizedVoters"),Br.struct([Br.seq(Br.struct([_s("authorizedPubkey"),Br.nu64("epochOfLastAuthorizedSwitch"),Br.nu64("targetEpoch")]),32,"buf"),Br.nu64("idx"),Br.u8("isEmpty")],"priorVoters"),Br.nu64(),Br.seq(Br.struct([Br.nu64("epoch"),Br.nu64("credits"),Br.nu64("prevCredits")]),Br.offset(Br.u32(),-8),"epochCredits"),Br.struct([Br.nu64("slot"),Br.nu64("timestamp")],"lastTimestamp")]);J();K();z();var s3={};gh(s3,{AbiCoder:()=>L_,AbstractProvider:()=>U_,AbstractSigner:()=>F_,AlchemyProvider:()=>sw,AnkrProvider:()=>aw,BaseContract:()=>QR,BaseWallet:()=>GR,Block:()=>ew,BrowserProvider:()=>BL,ChainstackProvider:()=>cw,CloudflareProvider:()=>uw,ConstructorFragment:()=>Ub,Contract:()=>Vp,ContractEventPayload:()=>tw,ContractFactory:()=>RL,ContractTransactionReceipt:()=>Yx,ContractTransactionResponse:()=>FR,ContractUnknownEventPayload:()=>XI,EnsPlugin:()=>e3,EnsResolver:()=>ZI,ErrorDescription:()=>Kx,ErrorFragment:()=>QA,EtherSymbol:()=>a1e,EtherscanPlugin:()=>OL,EtherscanProvider:()=>dw,EventFragment:()=>Lb,EventLog:()=>UR,EventPayload:()=>IR,FallbackFragment:()=>ZC,FallbackProvider:()=>hw,FeeData:()=>YI,FeeDataNetworkPlugin:()=>IL,FetchCancelSignal:()=>Nx,FetchRequest:()=>jc,FetchResponse:()=>$m,FetchUrlFeeDataNetworkPlugin:()=>iw,FixedNumber:()=>MI,Fragment:()=>Qb,FunctionFragment:()=>Fb,GasCostPlugin:()=>jI,HDNodeVoidWallet:()=>yw,HDNodeWallet:()=>JR,Indexed:()=>jC,InfuraProvider:()=>o3,InfuraWebSocketProvider:()=>nT,Interface:()=>PR,IpcSocketProvider:()=>sge,JsonRpcApiProvider:()=>n3,JsonRpcProvider:()=>i0,JsonRpcSigner:()=>r3,LangEn:()=>Jp,Log:()=>ig,LogDescription:()=>Jx,MaxInt256:()=>o1e,MaxUint256:()=>n1e,MessagePrefix:()=>dL,MinInt256:()=>i1e,Mnemonic:()=>qb,MulticoinProviderPlugin:()=>Wx,N:()=>t1e,NamedFragment:()=>kR,Network:()=>Fs,NetworkPlugin:()=>ay,NonceManager:()=>TL,ParamType:()=>pd,PocketProvider:()=>ML,QuickNodeProvider:()=>lw,Result:()=>CR,Signature:()=>th,SigningKey:()=>rh,SocketBlockSubscriber:()=>eT,SocketEventSubscriber:()=>rT,SocketPendingSubscriber:()=>tT,SocketProvider:()=>fw,SocketSubscriber:()=>i3,StructFragment:()=>KI,Transaction:()=>ng,TransactionDescription:()=>zx,TransactionReceipt:()=>LR,TransactionResponse:()=>Hb,Typed:()=>lu,TypedDataEncoder:()=>P_,UndecodedEventLog:()=>WI,UnmanagedSubscriber:()=>sy,Utf8ErrorFuncs:()=>A$,VoidSigner:()=>ow,Wallet:()=>zR,WebSocketProvider:()=>HR,WeiPerEther:()=>r1e,Wordlist:()=>Aw,WordlistOwl:()=>qR,WordlistOwlA:()=>QL,ZeroAddress:()=>ry,ZeroHash:()=>Ux,accessListify:()=>ih,assert:()=>Xr,assertArgument:()=>_r,assertArgumentCount:()=>kC,assertNormalize:()=>PC,assertPrivate:()=>jl,checkResultErrors:()=>v$,computeAddress:()=>rg,computeHmac:()=>Zm,concat:()=>Jo,copyRequest:()=>Gb,dataLength:()=>Hp,dataSlice:()=>tc,decodeBase58:()=>eL,decodeBase64:()=>tL,decodeBytes32String:()=>F1e,decodeRlp:()=>DI,decryptCrowdsaleJson:()=>dT,decryptKeystoreJson:()=>FL,decryptKeystoreJsonSync:()=>UL,defaultPath:()=>cT,defineProperties:()=>Un,dnsEncode:()=>mL,encodeBase58:()=>UC,encodeBase64:()=>rL,encodeBytes32String:()=>U1e,encodeRlp:()=>D_,encryptKeystoreJson:()=>mw,encryptKeystoreJsonSync:()=>_w,ensNormalize:()=>rY,formatEther:()=>Npe,formatUnits:()=>m$,fromTwos:()=>RR,getAccountPath:()=>mge,getAddress:()=>Co,getBigInt:()=>gi,getBytes:()=>Dn,getBytesCopy:()=>$u,getCreate2Address:()=>u1e,getCreateAddress:()=>KC,getDefaultProvider:()=>age,getIcapAddress:()=>c1e,getIndexedAccountPath:()=>yge,getNumber:()=>Zi,getUint:()=>LC,hashMessage:()=>zI,hexlify:()=>vn,id:()=>nh,isAddress:()=>f1e,isAddressable:()=>Qx,isBytesLike:()=>zm,isCallException:()=>BI,isCrowdsaleJson:()=>uT,isError:()=>Tc,isHexString:()=>ns,isKeystoreJson:()=>sT,isValidName:()=>I1e,keccak256:()=>Xa,lock:()=>eat,makeError:()=>wc,mask:()=>j1,namehash:()=>JI,parseEther:()=>Mx,parseUnits:()=>y$,pbkdf2:()=>UA,randomBytes:()=>Kh,recoverAddress:()=>BR,resolveAddress:()=>r0,resolveProperties:()=>Pu,ripemd160:()=>jm,scrypt:()=>ey,scryptSync:()=>ty,sha256:()=>Bd,sha512:()=>GC,showThrottleMessage:()=>ah,solidityPacked:()=>bL,solidityPackedKeccak256:()=>B1e,solidityPackedSha256:()=>M1e,stripZerosLeft:()=>Spe,toBeArray:()=>Yu,toBeHex:()=>gl,toBigInt:()=>M_,toNumber:()=>jP,toQuantity:()=>Gp,toTwos:()=>SR,toUtf8Bytes:()=>rc,toUtf8CodePoints:()=>Cpe,toUtf8String:()=>LA,uuidV4:()=>iL,verifyMessage:()=>T1e,verifyTypedData:()=>P1e,version:()=>Cx,wordlists:()=>bge,zeroPadBytes:()=>vR,zeroPadValue:()=>Hf});J();K();z();J();K();z();var Cx="6.12.0";J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();function YYt(e,t,r){let i=t.split("|").map(o=>o.trim());for(let o=0;o<i.length;o++)switch(t){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof e===t)return}let n=new Error(`invalid value for type ${t}`);throw n.code="INVALID_ARGUMENT",n.argument=`value.${r}`,n.value=e,n}async function Pu(e){let t=Object.keys(e);return(await Promise.all(t.map(i=>Promise.resolve(e[i])))).reduce((i,n,o)=>(i[t[o]]=n,i),{})}function Un(e,t,r){for(let i in t){let n=t[i],o=r?r[i]:null;o&&YYt(n,o,i),Object.defineProperty(e,i,{enumerable:!0,value:n,writable:!1})}}function wx(e){if(e==null)return"null";if(Array.isArray(e))return"[ "+e.map(wx).join(", ")+" ]";if(e instanceof Uint8Array){let t="0123456789abcdef",r="0x";for(let i=0;i<e.length;i++)r+=t[e[i]>>4],r+=t[e[i]&15];return r}if(typeof e=="object"&&typeof e.toJSON=="function")return wx(e.toJSON());switch(typeof e){case"boolean":case"symbol":return e.toString();case"bigint":return BigInt(e).toString();case"number":return e.toString();case"string":return JSON.stringify(e);case"object":{let t=Object.keys(e);return t.sort(),"{ "+t.map(r=>`${wx(r)}: ${wx(e[r])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Tc(e,t){return e&&e.code===t}function BI(e){return Tc(e,"CALL_EXCEPTION")}function wc(e,t,r){let i=e;{let o=[];if(r){if("message"in r||"code"in r||"name"in r)throw new Error(`value will overwrite populated values: ${wx(r)}`);for(let d in r){if(d==="shortMessage")continue;let g=r[d];o.push(d+"="+wx(g))}}o.push(`code=${t}`),o.push(`version=${Cx}`),o.length&&(e+=" ("+o.join(", ")+")")}let n;switch(t){case"INVALID_ARGUMENT":n=new TypeError(e);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":n=new RangeError(e);break;default:n=new Error(e)}return Un(n,{code:t}),r&&Object.assign(n,r),n.shortMessage==null&&Un(n,{shortMessage:i}),n}function Xr(e,t,r,i){if(!e)throw wc(t,r,i)}function _r(e,t,r,i){Xr(e,t,"INVALID_ARGUMENT",{argument:r,value:i})}function kC(e,t,r){r==null&&(r=""),r&&(r=": "+r),Xr(e>=t,"missing arguemnt"+r,"MISSING_ARGUMENT",{count:e,expectedCount:t}),Xr(e<=t,"too many arguments"+r,"UNEXPECTED_ARGUMENT",{count:e,expectedCount:t})}var WYt=["NFD","NFC","NFKD","NFKC"].reduce((e,t)=>{try{if("test".normalize(t)!=="test")throw new Error("bad");if(t==="NFD"&&"\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken");e.push(t)}catch{}return e},[]);function PC(e){Xr(WYt.indexOf(e)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:e}})}function jl(e,t,r){if(r==null&&(r=""),e!==t){let i=r,n="new";r&&(i+=".",n+=" "+r),Xr(!1,`private constructor; use ${i}from* methods`,"UNSUPPORTED_OPERATION",{operation:n})}}function git(e,t,r){if(e instanceof Uint8Array)return r?new Uint8Array(e):e;if(typeof e=="string"&&e.match(/^0x([0-9a-f][0-9a-f])*$/i)){let i=new Uint8Array((e.length-2)/2),n=2;for(let o=0;o<i.length;o++)i[o]=parseInt(e.substring(n,n+2),16),n+=2;return i}_r(!1,"invalid BytesLike value",t||"value",e)}function Dn(e,t){return git(e,t,!1)}function $u(e,t){return git(e,t,!0)}function ns(e,t){return!(typeof e!="string"||!e.match(/^0x[0-9A-Fa-f]*$/)||typeof t=="number"&&e.length!==2+2*t||t===!0&&e.length%2!==0)}function zm(e){return ns(e,!0)||e instanceof Uint8Array}var pit="0123456789abcdef";function vn(e){let t=Dn(e),r="0x";for(let i=0;i<t.length;i++){let n=t[i];r+=pit[(n&240)>>4]+pit[n&15]}return r}function Jo(e){return"0x"+e.map(t=>vn(t).substring(2)).join("")}function Hp(e){return ns(e,!0)?(e.length-2)/2:Dn(e).length}function tc(e,t,r){let i=Dn(e);return r!=null&&r>i.length&&Xr(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:i,length:i.length,offset:r}),vn(i.slice(t??0,r??i.length))}function Spe(e){let t=vn(e).substring(2);for(;t.startsWith("00");)t=t.substring(2);return"0x"+t}function _it(e,t,r){let i=Dn(e);Xr(t>=i.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(i),length:t,offset:t+1});let n=new Uint8Array(t);return n.fill(0),r?n.set(i,t-i.length):n.set(i,0),vn(n)}function Hf(e,t){return _it(e,t,!0)}function vR(e,t){return _it(e,t,!1)}J();K();z();var f$=BigInt(0),Km=BigInt(1),Ox=9007199254740991;function RR(e,t){let r=LC(e,"value"),i=BigInt(Zi(t,"width"));if(Xr(r>>i===f$,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:e}),r>>i-Km){let n=(Km<<i)-Km;return-((~r&n)+Km)}return r}function SR(e,t){let r=gi(e,"value"),i=BigInt(Zi(t,"width")),n=Km<<i-Km;if(r<f$){r=-r,Xr(r<=n,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:e});let o=(Km<<i)-Km;return(~r&o)+Km}else Xr(r<n,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:e});return r}function j1(e,t){let r=LC(e,"value"),i=BigInt(Zi(t,"bits"));return r&(Km<<i)-Km}function gi(e,t){switch(typeof e){case"bigint":return e;case"number":return _r(Number.isInteger(e),"underflow",t||"value",e),_r(e>=-Ox&&e<=Ox,"overflow",t||"value",e),BigInt(e);case"string":try{if(e==="")throw new Error("empty string");return e[0]==="-"&&e[1]!=="-"?-BigInt(e.substring(1)):BigInt(e)}catch(r){_r(!1,`invalid BigNumberish string: ${r.message}`,t||"value",e)}}_r(!1,"invalid BigNumberish value",t||"value",e)}function LC(e,t){let r=gi(e,t);return Xr(r>=f$,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:e}),r}var mit="0123456789abcdef";function M_(e){if(e instanceof Uint8Array){let t="0x0";for(let r of e)t+=mit[r>>4],t+=mit[r&15];return BigInt(t)}return gi(e)}function Zi(e,t){switch(typeof e){case"bigint":return _r(e>=-Ox&&e<=Ox,"overflow",t||"value",e),Number(e);case"number":return _r(Number.isInteger(e),"underflow",t||"value",e),_r(e>=-Ox&&e<=Ox,"overflow",t||"value",e),e;case"string":try{if(e==="")throw new Error("empty string");return Zi(BigInt(e),t)}catch(r){_r(!1,`invalid numeric string: ${r.message}`,t||"value",e)}}_r(!1,"invalid numeric value",t||"value",e)}function jP(e){return Zi(M_(e))}function gl(e,t){let i=LC(e,"value").toString(16);if(t==null)i.length%2&&(i="0"+i);else{let n=Zi(t,"width");for(Xr(n*2>=i.length,`value exceeds width (${n} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:e});i.length<n*2;)i="0"+i}return"0x"+i}function Yu(e){let t=LC(e,"value");if(t===f$)return new Uint8Array([]);let r=t.toString(16);r.length%2&&(r="0"+r);let i=new Uint8Array(r.length/2);for(let n=0;n<i.length;n++){let o=n*2;i[n]=parseInt(r.substring(o,o+2),16)}return i}function Gp(e){let t=vn(zm(e)?e:Yu(e)).substring(2);for(;t.startsWith("0");)t=t.substring(1);return t===""&&(t="0"),"0x"+t}var h$="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",l$=null;function XYt(e){if(l$==null){l$={};for(let r=0;r<h$.length;r++)l$[h$[r]]=BigInt(r)}let t=l$[e];return _r(t!=null,"invalid base58 value","letter",e),t}var ZYt=BigInt(0),Ipe=BigInt(58);function UC(e){let t=Dn(e),r=M_(t),i="";for(;r;)i=h$[Number(r%Ipe)]+i,r/=Ipe;for(let n=0;n<t.length&&!t[n];n++)i=h$[0]+i;return i}function eL(e){let t=ZYt;for(let r=0;r<e.length;r++)t*=Ipe,t+=XYt(e[r]);return t}J();K();z();function tL(e){e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return Dn(t)}function rL(e){let t=Dn(e),r="";for(let i=0;i<t.length;i++)r+=String.fromCharCode(t[i]);return btoa(r)}J();K();z();var IR=class{filter;emitter;#e;constructor(t,r,i){this.#e=r,Un(this,{emitter:t,filter:i})}async removeListener(){this.#e!=null&&await this.emitter.off(this.filter,this.#e)}};J();K();z();J();K();z();function jYt(e,t,r,i,n){_r(!1,`invalid codepoint at offset ${t}; ${e}`,"bytes",r)}function yit(e,t,r,i,n){if(e==="BAD_PREFIX"||e==="UNEXPECTED_CONTINUE"){let o=0;for(let d=t+1;d<r.length&&r[d]>>6===2;d++)o++;return o}return e==="OVERRUN"?r.length-t-1:0}function eWt(e,t,r,i,n){return e==="OVERLONG"?(_r(typeof n=="number","invalid bad code point for replacement","badCodepoint",n),i.push(n),0):(i.push(65533),yit(e,t,r,i,n))}var A$=Object.freeze({error:jYt,ignore:yit,replace:eWt});function bit(e,t){t==null&&(t=A$.error);let r=Dn(e,"bytes"),i=[],n=0;for(;n<r.length;){let o=r[n++];if(o>>7===0){i.push(o);continue}let d=null,g=null;if((o&224)===192)d=1,g=127;else if((o&240)===224)d=2,g=2047;else if((o&248)===240)d=3,g=65535;else{(o&192)===128?n+=t("UNEXPECTED_CONTINUE",n-1,r,i):n+=t("BAD_PREFIX",n-1,r,i);continue}if(n-1+d>=r.length){n+=t("OVERRUN",n-1,r,i);continue}let y=o&(1<<8-d-1)-1;for(let _=0;_<d;_++){let I=r[n];if((I&192)!=128){n+=t("MISSING_CONTINUE",n,r,i),y=null;break}y=y<<6|I&63,n++}if(y!==null){if(y>1114111){n+=t("OUT_OF_RANGE",n-1-d,r,i,y);continue}if(y>=55296&&y<=57343){n+=t("UTF16_SURROGATE",n-1-d,r,i,y);continue}if(y<=g){n+=t("OVERLONG",n-1-d,r,i,y);continue}i.push(y)}}return i}function rc(e,t){_r(typeof e=="string","invalid string value","str",e),t!=null&&(PC(t),e=e.normalize(t));let r=[];for(let i=0;i<e.length;i++){let n=e.charCodeAt(i);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(n&63|128);else if((n&64512)==55296){i++;let o=e.charCodeAt(i);_r(i<e.length&&(o&64512)===56320,"invalid surrogate pair","str",e);let d=65536+((n&1023)<<10)+(o&1023);r.push(d>>18|240),r.push(d>>12&63|128),r.push(d>>6&63|128),r.push(d&63|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(n&63|128)}return new Uint8Array(r)}function tWt(e){return e.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10&1023)+55296,(t&1023)+56320))).join("")}function LA(e,t){return tWt(bit(e,t))}function Cpe(e,t){return bit(rc(e,t))}J();K();z();function p$(e){async function t(r,i){let n=r.url.split(":")[0].toLowerCase();Xr(n==="http"||n==="https",`unsupported protocol ${n}`,"UNSUPPORTED_OPERATION",{info:{protocol:n},operation:"request"}),Xr(n==="https"||!r.credentials||r.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let o;if(i){let N=new AbortController;o=N.signal,i.addListener(()=>{N.abort()})}let d={method:r.method,headers:new Headers(Array.from(r)),body:r.body||void 0,signal:o},g=await fetch(r.url,d),y={};g.headers.forEach((N,T)=>{y[T.toLowerCase()]=N});let _=await g.arrayBuffer(),I=_==null?null:new Uint8Array(_);return{statusCode:g.status,statusMessage:g.statusText,headers:y,body:I}}return t}var OXn=p$({});var rWt=12,nWt=250,Eit=p$(),iWt=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),oWt=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),wpe=!1;async function Rit(e,t){try{let r=e.match(iWt);if(!r)throw new Error("invalid data");return new $m(200,"OK",{"content-type":r[1]||"text/plain"},r[2]?tL(r[3]):aWt(r[3]))}catch{return new $m(599,"BAD REQUEST (invalid data: URI)",{},null,new jc(e))}}function Sit(e){async function t(r,i){try{let n=r.match(oWt);if(!n)throw new Error("invalid link");return new jc(`${e}${n[2]}`)}catch{return new $m(599,"BAD REQUEST (invalid IPFS URI)",{},null,new jc(r))}}return t}var g$={data:Rit,ipfs:Sit("https://gateway.ipfs.io/ipfs/")},Iit=new WeakMap,Nx=class{#e;#t;constructor(t){this.#e=[],this.#t=!1,Iit.set(t,()=>{if(!this.#t){this.#t=!0;for(let r of this.#e)setTimeout(()=>{r()},0);this.#e=[]}})}addListener(t){Xr(!this.#t,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#e.push(t)}get cancelled(){return this.#t}checkSignal(){Xr(!this.cancelled,"cancelled","CANCELLED",{})}};function _$(e){if(e==null)throw new Error("missing signal; should not happen");return e.checkSignal(),e}var jc=class e{#e;#t;#r;#n;#i;#a;#o;#s;#f;#u;#A;#p;#c;#d;#l;get url(){return this.#a}set url(t){this.#a=String(t)}get body(){return this.#o==null?null:new Uint8Array(this.#o)}set body(t){if(t==null)this.#o=void 0,this.#s=void 0;else if(typeof t=="string")this.#o=rc(t),this.#s="text/plain";else if(t instanceof Uint8Array)this.#o=t,this.#s="application/octet-stream";else if(typeof t=="object")this.#o=rc(JSON.stringify(t)),this.#s="application/json";else throw new Error("invalid body")}hasBody(){return this.#o!=null}get method(){return this.#n?this.#n:this.hasBody()?"POST":"GET"}set method(t){t==null&&(t=""),this.#n=String(t).toUpperCase()}get headers(){let t=Object.assign({},this.#r);return this.#f&&(t.authorization=`Basic ${rL(rc(this.#f))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),t["content-type"]==null&&this.#s&&(t["content-type"]=this.#s),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,r){this.#r[String(t).toLowerCase()]=String(r)}clearHeaders(){this.#r={}}[Symbol.iterator](){let t=this.headers,r=Object.keys(t),i=0;return{next:()=>{if(i<r.length){let n=r[i++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#f||null}setCredentials(t,r){_r(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#f=`${t}:${r}`}get allowGzip(){return this.#t}set allowGzip(t){this.#t=!!t}get allowInsecureAuthentication(){return!!this.#e}set allowInsecureAuthentication(t){this.#e=!!t}get timeout(){return this.#i}set timeout(t){_r(t>=0,"timeout must be non-zero","timeout",t),this.#i=t}get preflightFunc(){return this.#u||null}set preflightFunc(t){this.#u=t}get processFunc(){return this.#A||null}set processFunc(t){this.#A=t}get retryFunc(){return this.#p||null}set retryFunc(t){this.#p=t}get getUrlFunc(){return this.#l||Eit}set getUrlFunc(t){this.#l=t}constructor(t){this.#a=String(t),this.#e=!1,this.#t=!0,this.#r={},this.#n="",this.#i=3e5,this.#d={slotInterval:nWt,maxAttempts:rWt},this.#l=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#o?vn(this.#o):"null"}>`}setThrottleParams(t){t.slotInterval!=null&&(this.#d.slotInterval=t.slotInterval),t.maxAttempts!=null&&(this.#d.maxAttempts=t.maxAttempts)}async#h(t,r,i,n,o){if(t>=this.#d.maxAttempts)return o.makeServerError("exceeded maximum retry limit");Xr(vit()<=r,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:n}),i>0&&await sWt(i);let d=this.clone(),g=(d.url.split(":")[0]||"").toLowerCase();if(g in g$){let I=await g$[g](d.url,_$(n.#c));if(I instanceof $m){let N=I;if(this.processFunc){_$(n.#c);try{N=await this.processFunc(d,N)}catch(T){(T.throttle==null||typeof T.stall!="number")&&N.makeServerError("error in post-processing function",T).assertOk()}}return N}d=I}this.preflightFunc&&(d=await this.preflightFunc(d));let y=await this.getUrlFunc(d,_$(n.#c)),_=new $m(y.statusCode,y.statusMessage,y.headers,y.body,n);if(_.statusCode===301||_.statusCode===302){try{let I=_.headers.location||"";return d.redirect(I).#h(t+1,r,0,n,_)}catch{}return _}else if(_.statusCode===429&&(this.retryFunc==null||await this.retryFunc(d,_,t))){let I=_.headers["retry-after"],N=this.#d.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return typeof I=="string"&&I.match(/^[1-9][0-9]*$/)&&(N=parseInt(I)),d.clone().#h(t+1,r,N,n,_)}if(this.processFunc){_$(n.#c);try{_=await this.processFunc(d,_)}catch(I){(I.throttle==null||typeof I.stall!="number")&&_.makeServerError("error in post-processing function",I).assertOk();let N=this.#d.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return I.stall>=0&&(N=I.stall),d.clone().#h(t+1,r,N,n,_)}}return _}send(){return Xr(this.#c==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#c=new Nx(this),this.#h(0,vit()+this.timeout,0,this,new $m(0,"",{},null,this))}cancel(){Xr(this.#c!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let t=Iit.get(this);if(!t)throw new Error("missing signal; should not happen");t()}redirect(t){let r=this.url.split(":")[0].toLowerCase(),i=t.split(":")[0].toLowerCase();Xr(this.method==="GET"&&(r!=="https"||i!=="http")&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});let n=new e(t);return n.method="GET",n.allowGzip=this.allowGzip,n.timeout=this.timeout,n.#r=Object.assign({},this.#r),this.#o&&(n.#o=new Uint8Array(this.#o)),n.#s=this.#s,n}clone(){let t=new e(this.url);return t.#n=this.#n,this.#o&&(t.#o=this.#o),t.#s=this.#s,t.#r=Object.assign({},this.#r),t.#f=this.#f,this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),t.#u=this.#u,t.#A=this.#A,t.#p=this.#p,t.#d=Object.assign({},this.#d),t.#l=this.#l,t}static lockConfig(){wpe=!0}static getGateway(t){return g$[t.toLowerCase()]||null}static registerGateway(t,r){if(t=t.toLowerCase(),t==="http"||t==="https")throw new Error(`cannot intercept ${t}; use registerGetUrl`);if(wpe)throw new Error("gateways locked");g$[t]=r}static registerGetUrl(t){if(wpe)throw new Error("gateways locked");Eit=t}static createGetUrlFunc(t){return p$(t)}static createDataGateway(){return Rit}static createIpfsGatewayFunc(t){return Sit(t)}},$m=class e{#e;#t;#r;#n;#i;#a;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#n?vn(this.#n):"null"}>`}get statusCode(){return this.#e}get statusMessage(){return this.#t}get headers(){return Object.assign({},this.#r)}get body(){return this.#n==null?null:new Uint8Array(this.#n)}get bodyText(){try{return this.#n==null?"":LA(this.#n)}catch{Xr(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{Xr(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let t=this.headers,r=Object.keys(t),i=0;return{next:()=>{if(i<r.length){let n=r[i++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}constructor(t,r,i,n,o){this.#e=t,this.#t=r,this.#r=Object.keys(i).reduce((d,g)=>(d[g.toLowerCase()]=String(i[g]),d),{}),this.#n=n==null?null:new Uint8Array(n),this.#i=o||null,this.#a={message:""}}makeServerError(t,r){let i;t?i=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,i=`CLIENT ESCALATED SERVER ERROR (${t})`);let n=new e(599,i,this.headers,this.body,this.#i||void 0);return n.#a={message:t,error:r},n}throwThrottleError(t,r){r==null?r=-1:_r(Number.isInteger(r)&&r>=0,"invalid stall timeout","stall",r);let i=new Error(t||"throttling requests");throw Un(i,{stall:r,throttle:!0}),i}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return this.#n!=null}get request(){return this.#i}ok(){return this.#a.message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:r}=this.#a;t===""&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let i=null;this.request&&(i=this.request.url);let n=null;try{this.#n&&(n=LA(this.#n))}catch{}Xr(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:r,info:{requestUrl:i,responseBody:n,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};function vit(){return new Date().getTime()}function aWt(e){return rc(e.replace(/%([0-9a-f][0-9a-f])/gi,(t,r)=>String.fromCharCode(parseInt(r,16))))}function sWt(e){return new Promise(t=>setTimeout(t,e))}J();K();z();var cWt=BigInt(-1),Ym=BigInt(0),Tx=BigInt(1),uWt=BigInt(5),xx={},Bx="0000";for(;Bx.length<80;)Bx+=Bx;function FC(e){let t=Bx;for(;t.length<e;)t+=t;return BigInt("1"+t.substring(0,e))}function nL(e,t,r){let i=BigInt(t.width);if(t.signed){let n=Tx<<i-Tx;Xr(r==null||e>=-n&&e<n,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:e}),e>Ym?e=RR(j1(e,i),i):e=-RR(j1(-e,i),i)}else{let n=Tx<<i;Xr(r==null||e>=0&&e<n,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:e}),e=(e%n+n)%n&n-Tx}return e}function Ope(e){typeof e=="number"&&(e=`fixed128x${e}`);let t=!0,r=128,i=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")t=!1;else{let o=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);_r(o,"invalid fixed format","format",e),t=o[1]!=="u",r=parseInt(o[2]),i=parseInt(o[3])}}else if(e){let o=e,d=(g,y,_)=>o[g]==null?_:(_r(typeof o[g]===y,"invalid fixed format ("+g+" not "+y+")","format."+g,o[g]),o[g]);t=d("signed","boolean",t),r=d("width","number",r),i=d("decimals","number",i)}_r(r%8===0,"invalid FixedNumber width (not byte aligned)","format.width",r),_r(i<=80,"invalid FixedNumber decimals (too large)","format.decimals",i);let n=(t?"":"u")+"fixed"+String(r)+"x"+String(i);return{signed:t,width:r,decimals:i,name:n}}function dWt(e,t){let r="";e<Ym&&(r="-",e*=cWt);let i=e.toString();if(t===0)return r+i;for(;i.length<=t;)i=Bx+i;let n=i.length-t;for(i=i.substring(0,n)+"."+i.substring(n);i[0]==="0"&&i[1]!==".";)i=i.substring(1);for(;i[i.length-1]==="0"&&i[i.length-2]!==".";)i=i.substring(0,i.length-1);return r+i}var MI=class e{format;#e;#t;#r;_value;constructor(t,r,i){jl(t,xx,"FixedNumber"),this.#t=r,this.#e=i;let n=dWt(r,i.decimals);Un(this,{format:i.name,_value:n}),this.#r=FC(i.decimals)}get signed(){return this.#e.signed}get width(){return this.#e.width}get decimals(){return this.#e.decimals}get value(){return this.#t}#n(t){_r(this.format===t.format,"incompatible format; use fixedNumber.toFormat","other",t)}#i(t,r){return t=nL(t,this.#e,r),new e(xx,t,this.#e)}#a(t,r){return this.#n(t),this.#i(this.#t+t.#t,r)}addUnsafe(t){return this.#a(t)}add(t){return this.#a(t,"add")}#o(t,r){return this.#n(t),this.#i(this.#t-t.#t,r)}subUnsafe(t){return this.#o(t)}sub(t){return this.#o(t,"sub")}#s(t,r){return this.#n(t),this.#i(this.#t*t.#t/this.#r,r)}mulUnsafe(t){return this.#s(t)}mul(t){return this.#s(t,"mul")}mulSignal(t){this.#n(t);let r=this.#t*t.#t;return Xr(r%this.#r===Ym,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#i(r/this.#r,"mulSignal")}#f(t,r){return Xr(t.#t!==Ym,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#n(t),this.#i(this.#t*this.#r/t.#t,r)}divUnsafe(t){return this.#f(t)}div(t){return this.#f(t,"div")}divSignal(t){Xr(t.#t!==Ym,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#n(t);let r=this.#t*this.#r;return Xr(r%t.#t===Ym,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#i(r/t.#t,"divSignal")}cmp(t){let r=this.value,i=t.value,n=this.decimals-t.decimals;return n>0?i*=FC(n):n<0&&(r*=FC(-n)),r<i?-1:r>i?1:0}eq(t){return this.cmp(t)===0}lt(t){return this.cmp(t)<0}lte(t){return this.cmp(t)<=0}gt(t){return this.cmp(t)>0}gte(t){return this.cmp(t)>=0}floor(){let t=this.#t;return this.#t<Ym&&(t-=this.#r-Tx),t=this.#t/this.#r*this.#r,this.#i(t,"floor")}ceiling(){let t=this.#t;return this.#t>Ym&&(t+=this.#r-Tx),t=this.#t/this.#r*this.#r,this.#i(t,"ceiling")}round(t){if(t==null&&(t=0),t>=this.decimals)return this;let r=this.decimals-t,i=uWt*FC(r-1),n=this.value+i,o=FC(r);return n=n/o*o,nL(n,this.#e,"round"),new e(xx,n,this.#e)}isZero(){return this.#t===Ym}isNegative(){return this.#t<Ym}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return e.fromString(this.toString(),t)}static fromValue(t,r,i){let n=r==null?0:Zi(r),o=Ope(i),d=gi(t,"value"),g=n-o.decimals;if(g>0){let y=FC(g);Xr(d%y===Ym,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:t}),d/=y}else g<0&&(d*=FC(-g));return nL(d,o,"fromValue"),new e(xx,d,o)}static fromString(t,r){let i=t.match(/^(-?)([0-9]*)\.?([0-9]*)$/);_r(i&&i[2].length+i[3].length>0,"invalid FixedNumber string value","value",t);let n=Ope(r),o=i[2]||"0",d=i[3]||"";for(;d.length<n.decimals;)d+=Bx;Xr(d.substring(n.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:t}),d=d.substring(0,n.decimals);let g=BigInt(i[1]+o+d);return nL(g,n,"fromString"),new e(xx,g,n)}static fromBytes(t,r){let i=M_(Dn(t,"value")),n=Ope(r);return n.signed&&(i=RR(i,n.width)),nL(i,n,"fromBytes"),new e(xx,i,n)}};J();K();z();function fWt(e){let t=e.toString(16);for(;t.length<2;)t="0"+t;return"0x"+t}function Cit(e,t,r){let i=0;for(let n=0;n<r;n++)i=i*256+e[t+n];return i}function wit(e,t,r,i){let n=[];for(;r<t+1+i;){let o=Oit(e,r);n.push(o.result),r+=o.consumed,Xr(r<=t+1+i,"child data too short","BUFFER_OVERRUN",{buffer:e,length:i,offset:t})}return{consumed:1+i,result:n}}function Oit(e,t){Xr(e.length!==0,"data too short","BUFFER_OVERRUN",{buffer:e,length:0,offset:1});let r=i=>{Xr(i<=e.length,"data short segment too short","BUFFER_OVERRUN",{buffer:e,length:e.length,offset:i})};if(e[t]>=248){let i=e[t]-247;r(t+1+i);let n=Cit(e,t+1,i);return r(t+1+i+n),wit(e,t,t+1+i,i+n)}else if(e[t]>=192){let i=e[t]-192;return r(t+1+i),wit(e,t,t+1,i)}else if(e[t]>=184){let i=e[t]-183;r(t+1+i);let n=Cit(e,t+1,i);r(t+1+i+n);let o=vn(e.slice(t+1+i,t+1+i+n));return{consumed:1+i+n,result:o}}else if(e[t]>=128){let i=e[t]-128;r(t+1+i);let n=vn(e.slice(t+1,t+1+i));return{consumed:1+i,result:n}}return{consumed:1,result:fWt(e[t])}}function DI(e){let t=Dn(e,"data"),r=Oit(t,0);return _r(r.consumed===t.length,"unexpected junk after rlp payload","data",e),r.result}J();K();z();function Nit(e){let t=[];for(;e;)t.unshift(e&255),e>>=8;return t}function Tit(e){if(Array.isArray(e)){let i=[];if(e.forEach(function(o){i=i.concat(Tit(o))}),i.length<=55)return i.unshift(192+i.length),i;let n=Nit(i.length);return n.unshift(247+n.length),n.concat(i)}let t=Array.prototype.slice.call(Dn(e,"object"));if(t.length===1&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;let r=Nit(t.length);return r.unshift(183+r.length),r.concat(t)}var xit="0123456789abcdef";function D_(e){let t="0x";for(let r of Tit(e))t+=xit[r>>4],t+=xit[r&15];return t}J();K();z();var Bit=["wei","kwei","mwei","gwei","szabo","finney","ether"];function m$(e,t){let r=18;if(typeof t=="string"){let i=Bit.indexOf(t);_r(i>=0,"invalid unit","unit",t),r=3*i}else t!=null&&(r=Zi(t,"unit"));return MI.fromValue(e,r,{decimals:r,width:512}).toString()}function y$(e,t){_r(typeof e=="string","value must be a string","value",e);let r=18;if(typeof t=="string"){let i=Bit.indexOf(t);_r(i>=0,"invalid unit","unit",t),r=3*i}else t!=null&&(r=Zi(t,"unit"));return MI.fromString(e,{decimals:r,width:512}).value}function Npe(e){return m$(e,18)}function Mx(e){return y$(e,18)}J();K();z();function iL(e){let t=Dn(e,"randomBytes");t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=vn(t);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}J();K();z();var eh=32,xpe=new Uint8Array(eh),lWt=["then"],b$={};function oL(e,t){let r=new Error(`deferred error during ABI decoding triggered accessing ${e}`);throw r.error=t,r}var CR=class e extends Array{#e;constructor(...t){let r=t[0],i=t[1],n=(t[2]||[]).slice(),o=!0;r!==b$&&(i=t,n=[],o=!1),super(i.length),i.forEach((g,y)=>{this[y]=g});let d=n.reduce((g,y)=>(typeof y=="string"&&g.set(y,(g.get(y)||0)+1),g),new Map);if(this.#e=Object.freeze(i.map((g,y)=>{let _=n[y];return _!=null&&d.get(_)===1?_:null})),!!o)return Object.freeze(this),new Proxy(this,{get:(g,y,_)=>{if(typeof y=="string"){if(y.match(/^[0-9]+$/)){let N=Zi(y,"%index");if(N<0||N>=this.length)throw new RangeError("out of result range");let T=g[N];return T instanceof Error&&oL(`index ${N}`,T),T}if(lWt.indexOf(y)>=0)return Reflect.get(g,y,_);let I=g[y];if(I instanceof Function)return function(...N){return I.apply(this===_?g:this,N)};if(!(y in g))return g.getValue.apply(this===_?g:this,[y])}return Reflect.get(g,y,_)}})}toArray(t){let r=[];return this.forEach((i,n)=>{i instanceof Error&&oL(`index ${n}`,i),t&&i instanceof e&&(i=i.toArray(t)),r.push(i)}),r}toObject(t){return this.#e.reduce((r,i,n)=>{if(Xr(i!=null,"value at index ${ index } unnamed","UNSUPPORTED_OPERATION",{operation:"toObject()"}),!(i in r)){let o=this.getValue(i);t&&o instanceof e&&(o=o.toObject(t)),r[i]=o}return r},{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);let i=[],n=[];for(let o=t;o<r;o++)i.push(this[o]),n.push(this.#e[o]);return new e(b$,i,n)}filter(t,r){let i=[],n=[];for(let o=0;o<this.length;o++){let d=this[o];d instanceof Error&&oL(`index ${o}`,d),t.call(r,d,o,this)&&(i.push(d),n.push(this.#e[o]))}return new e(b$,i,n)}map(t,r){let i=[];for(let n=0;n<this.length;n++){let o=this[n];o instanceof Error&&oL(`index ${n}`,o),i.push(t.call(r,o,n,this))}return i}getValue(t){let r=this.#e.indexOf(t);if(r===-1)return;let i=this[r];return i instanceof Error&&oL(`property ${JSON.stringify(t)}`,i.error),i}static fromItems(t,r){return new e(b$,t,r)}};function v$(e){let t=[],r=function(i,n){if(Array.isArray(n))for(let o in n){let d=i.slice();d.push(o);try{r(d,n[o])}catch(g){t.push({path:d,error:g})}}};return r([],e),t}function Mit(e){let t=Yu(e);return Xr(t.length<=eh,"value out-of-bounds","BUFFER_OVERRUN",{buffer:t,length:eh,offset:t.length}),t.length!==eh&&(t=$u(Jo([xpe.slice(t.length%eh),t]))),t}var of=class{name;type;localName;dynamic;constructor(t,r,i,n){Un(this,{name:t,type:r,localName:i,dynamic:n},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,r){_r(!1,t,this.localName,r)}},QC=class{#e;#t;constructor(){this.#e=[],this.#t=0}get data(){return Jo(this.#e)}get length(){return this.#t}#r(t){return this.#e.push(t),this.#t+=t.length,t.length}appendWriter(t){return this.#r($u(t.data))}writeBytes(t){let r=$u(t),i=r.length%eh;return i&&(r=$u(Jo([r,xpe.slice(i)]))),this.#r(r)}writeValue(t){return this.#r(Mit(t))}writeUpdatableValue(){let t=this.#e.length;return this.#e.push(xpe),this.#t+=eh,r=>{this.#e[t]=Mit(r)}}},E$=class e{allowLoose;#e;#t;#r;#n;#i;constructor(t,r,i){Un(this,{allowLoose:!!r}),this.#e=$u(t),this.#r=0,this.#n=null,this.#i=i??1024,this.#t=0}get data(){return vn(this.#e)}get dataLength(){return this.#e.length}get consumed(){return this.#t}get bytes(){return new Uint8Array(this.#e)}#a(t){if(this.#n)return this.#n.#a(t);this.#r+=t,Xr(this.#i<1||this.#r<=this.#i*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#i} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:$u(this.#e),offset:this.#t,length:t,info:{bytesRead:this.#r,dataLength:this.dataLength}})}#o(t,r,i){let n=Math.ceil(r/eh)*eh;return this.#t+n>this.#e.length&&(this.allowLoose&&i&&this.#t+r<=this.#e.length?n=r:Xr(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:$u(this.#e),length:this.#e.length,offset:this.#t+n})),this.#e.slice(this.#t,this.#t+n)}subReader(t){let r=new e(this.#e.slice(this.#t+t),this.allowLoose,this.#i);return r.#n=this,r}readBytes(t,r){let i=this.#o(0,t,!!r);return this.#a(t),this.#t+=i.length,i.slice(0,t)}readValue(){return M_(this.readBytes(eh))}readIndex(){return jP(this.readBytes(eh))}};J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();function zh(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function aL(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function R$(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");zh(e.outputLen),zh(e.blockLen)}function wR(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function S$(e,t){aL(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}J();K();z();J();K();z();var I$=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Dit=e=>e instanceof Uint8Array;var Dx=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),kx=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Wm=(e,t)=>e<<32-t|e>>>t,hWt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!hWt)throw new Error("Non little-endian hardware is not supported");var AWt=async()=>{};async function C$(e,t,r){let i=Date.now();for(let n=0;n<e;n++){r(n);let o=Date.now()-i;o>=0&&o<t||(await AWt(),i+=o)}}function pWt(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Xm(e){if(typeof e=="string"&&(e=pWt(e)),!Dit(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function kit(...e){let t=new Uint8Array(e.reduce((i,n)=>i+n.length,0)),r=0;return e.forEach(i=>{if(!Dit(i))throw new Error("Uint8Array expected");t.set(i,r),r+=i.length}),t}var kI=class{clone(){return this._cloneInto()}},gWt={}.toString;function w$(e,t){if(t!==void 0&&gWt.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(e,t)}function PI(e){let t=i=>e().update(Xm(i)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Pit(e){let t=(i,n)=>e(n).update(Xm(i)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=i=>e(i),t}function Lit(e=32){if(I$&&typeof I$.getRandomValues=="function")return I$.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}var O$=class extends kI{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,R$(t);let i=Xm(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,o=new Uint8Array(n);o.set(i.length>n?t.create().update(i).digest():i);for(let d=0;d<o.length;d++)o[d]^=54;this.iHash.update(o),this.oHash=t.create();for(let d=0;d<o.length;d++)o[d]^=106;this.oHash.update(o),o.fill(0)}update(t){return wR(this),this.iHash.update(t),this}digestInto(t){wR(this),aL(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:i,finished:n,destroyed:o,blockLen:d,outputLen:g}=this;return t=t,t.finished=n,t.destroyed=o,t.blockLen=d,t.outputLen=g,t.oHash=r._cloneInto(t.oHash),t.iHash=i._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},HC=(e,t,r)=>new O$(e,t).update(r).digest();HC.create=(e,t)=>new O$(e,t);J();K();z();function _Wt(e,t,r,i){R$(e);let n=w$({dkLen:32,asyncTick:10},i),{c:o,dkLen:d,asyncTick:g}=n;if(zh(o),zh(d),zh(g),o<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let y=Xm(t),_=Xm(r),I=new Uint8Array(d),N=HC.create(e,y),T=N._cloneInto().update(_);return{c:o,dkLen:d,asyncTick:g,DK:I,PRF:N,PRFSalt:T}}function mWt(e,t,r,i,n){return e.destroy(),t.destroy(),i&&i.destroy(),n.fill(0),r}function sL(e,t,r,i){let{c:n,dkLen:o,DK:d,PRF:g,PRFSalt:y}=_Wt(e,t,r,i),_,I=new Uint8Array(4),N=kx(I),T=new Uint8Array(g.outputLen);for(let M=1,D=0;D<o;M++,D+=g.outputLen){let P=d.subarray(D,D+g.outputLen);N.setInt32(0,M,!1),(_=y._cloneInto(_)).update(I).digestInto(T),P.set(T.subarray(0,P.length));for(let G=1;G<n;G++){g._cloneInto(_).update(T).digestInto(T);for(let q=0;q<P.length;q++)P[q]^=T[q]}}return mWt(g,y,d,_,T)}J();K();z();J();K();z();function yWt(e,t,r,i){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,i);let n=BigInt(32),o=BigInt(4294967295),d=Number(r>>n&o),g=Number(r&o),y=i?4:0,_=i?0:4;e.setUint32(t+y,d,i),e.setUint32(t+_,g,i)}var LI=class extends kI{constructor(t,r,i,n){super(),this.blockLen=t,this.outputLen=r,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=kx(this.buffer)}update(t){wR(this);let{view:r,buffer:i,blockLen:n}=this;t=Xm(t);let o=t.length;for(let d=0;d<o;){let g=Math.min(n-this.pos,o-d);if(g===n){let y=kx(t);for(;n<=o-d;d+=n)this.process(y,d);continue}i.set(t.subarray(d,d+g),this.pos),this.pos+=g,d+=g,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){wR(this),S$(t,this),this.finished=!0;let{buffer:r,view:i,blockLen:n,isLE:o}=this,{pos:d}=this;r[d++]=128,this.buffer.subarray(d).fill(0),this.padOffset>n-d&&(this.process(i,0),d=0);for(let N=d;N<n;N++)r[N]=0;yWt(i,n-8,BigInt(this.length*8),o),this.process(i,0);let g=kx(t),y=this.outputLen;if(y%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let _=y/4,I=this.get();if(_>I.length)throw new Error("_sha2: outputLen bigger than state");for(let N=0;N<_;N++)g.setUint32(4*N,I[N],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let i=t.slice(0,r);return this.destroy(),i}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:i,length:n,finished:o,destroyed:d,pos:g}=this;return t.length=n,t.pos=g,t.finished=o,t.destroyed=d,n%r&&t.buffer.set(i),t}};var bWt=(e,t,r)=>e&t^~e&r,EWt=(e,t,r)=>e&t^e&r^t&r,vWt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),UI=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),FI=new Uint32Array(64),Tpe=class extends LI{constructor(){super(64,32,8,!1),this.A=UI[0]|0,this.B=UI[1]|0,this.C=UI[2]|0,this.D=UI[3]|0,this.E=UI[4]|0,this.F=UI[5]|0,this.G=UI[6]|0,this.H=UI[7]|0}get(){let{A:t,B:r,C:i,D:n,E:o,F:d,G:g,H:y}=this;return[t,r,i,n,o,d,g,y]}set(t,r,i,n,o,d,g,y){this.A=t|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=o|0,this.F=d|0,this.G=g|0,this.H=y|0}process(t,r){for(let N=0;N<16;N++,r+=4)FI[N]=t.getUint32(r,!1);for(let N=16;N<64;N++){let T=FI[N-15],M=FI[N-2],D=Wm(T,7)^Wm(T,18)^T>>>3,P=Wm(M,17)^Wm(M,19)^M>>>10;FI[N]=P+FI[N-7]+D+FI[N-16]|0}let{A:i,B:n,C:o,D:d,E:g,F:y,G:_,H:I}=this;for(let N=0;N<64;N++){let T=Wm(g,6)^Wm(g,11)^Wm(g,25),M=I+T+bWt(g,y,_)+vWt[N]+FI[N]|0,P=(Wm(i,2)^Wm(i,13)^Wm(i,22))+EWt(i,n,o)|0;I=_,_=y,y=g,g=d+M|0,d=o,o=n,n=i,i=M+P|0}i=i+this.A|0,n=n+this.B|0,o=o+this.C|0,d=d+this.D|0,g=g+this.E|0,y=y+this.F|0,_=_+this.G|0,I=I+this.H|0,this.set(i,n,o,d,g,y,_,I)}roundClean(){FI.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var OR=PI(()=>new Tpe);J();K();z();J();K();z();var N$=BigInt(4294967295),Bpe=BigInt(32);function Uit(e,t=!1){return t?{h:Number(e&N$),l:Number(e>>Bpe&N$)}:{h:Number(e>>Bpe&N$)|0,l:Number(e&N$)|0}}function Mpe(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let n=0;n<e.length;n++){let{h:o,l:d}=Uit(e[n],t);[r[n],i[n]]=[o,d]}return[r,i]}var RWt=(e,t)=>BigInt(e>>>0)<<Bpe|BigInt(t>>>0),SWt=(e,t,r)=>e>>>r,IWt=(e,t,r)=>e<<32-r|t>>>r,CWt=(e,t,r)=>e>>>r|t<<32-r,wWt=(e,t,r)=>e<<32-r|t>>>r,OWt=(e,t,r)=>e<<64-r|t>>>r-32,NWt=(e,t,r)=>e>>>r-32|t<<64-r,xWt=(e,t)=>t,TWt=(e,t)=>e,Dpe=(e,t,r)=>e<<r|t>>>32-r,kpe=(e,t,r)=>t<<r|e>>>32-r,Ppe=(e,t,r)=>t<<r-32|e>>>64-r,Lpe=(e,t,r)=>e<<r-32|t>>>64-r;function BWt(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/2**32|0)|0,l:n|0}}var MWt=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),DWt=(e,t,r,i)=>t+r+i+(e/2**32|0)|0,kWt=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),PWt=(e,t,r,i,n)=>t+r+i+n+(e/2**32|0)|0,LWt=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),UWt=(e,t,r,i,n,o)=>t+r+i+n+o+(e/2**32|0)|0;var FWt={fromBig:Uit,split:Mpe,toBig:RWt,shrSH:SWt,shrSL:IWt,rotrSH:CWt,rotrSL:wWt,rotrBH:OWt,rotrBL:NWt,rotr32H:xWt,rotr32L:TWt,rotlSH:Dpe,rotlSL:kpe,rotlBH:Ppe,rotlBL:Lpe,add:BWt,add3L:MWt,add3H:DWt,add4L:kWt,add4H:PWt,add5H:UWt,add5L:LWt},Ha=FWt;var[QWt,HWt]=Ha.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),QI=new Uint32Array(80),HI=new Uint32Array(80),Upe=class extends LI{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:i,Bl:n,Ch:o,Cl:d,Dh:g,Dl:y,Eh:_,El:I,Fh:N,Fl:T,Gh:M,Gl:D,Hh:P,Hl:G}=this;return[t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G]}set(t,r,i,n,o,d,g,y,_,I,N,T,M,D,P,G){this.Ah=t|0,this.Al=r|0,this.Bh=i|0,this.Bl=n|0,this.Ch=o|0,this.Cl=d|0,this.Dh=g|0,this.Dl=y|0,this.Eh=_|0,this.El=I|0,this.Fh=N|0,this.Fl=T|0,this.Gh=M|0,this.Gl=D|0,this.Hh=P|0,this.Hl=G|0}process(t,r){for(let ne=0;ne<16;ne++,r+=4)QI[ne]=t.getUint32(r),HI[ne]=t.getUint32(r+=4);for(let ne=16;ne<80;ne++){let ce=QI[ne-15]|0,le=HI[ne-15]|0,pe=Ha.rotrSH(ce,le,1)^Ha.rotrSH(ce,le,8)^Ha.shrSH(ce,le,7),ae=Ha.rotrSL(ce,le,1)^Ha.rotrSL(ce,le,8)^Ha.shrSL(ce,le,7),W=QI[ne-2]|0,se=HI[ne-2]|0,O=Ha.rotrSH(W,se,19)^Ha.rotrBH(W,se,61)^Ha.shrSH(W,se,6),s=Ha.rotrSL(W,se,19)^Ha.rotrBL(W,se,61)^Ha.shrSL(W,se,6),l=Ha.add4L(ae,s,HI[ne-7],HI[ne-16]),A=Ha.add4H(l,pe,O,QI[ne-7],QI[ne-16]);QI[ne]=A|0,HI[ne]=l|0}let{Ah:i,Al:n,Bh:o,Bl:d,Ch:g,Cl:y,Dh:_,Dl:I,Eh:N,El:T,Fh:M,Fl:D,Gh:P,Gl:G,Hh:q,Hl:Y}=this;for(let ne=0;ne<80;ne++){let ce=Ha.rotrSH(N,T,14)^Ha.rotrSH(N,T,18)^Ha.rotrBH(N,T,41),le=Ha.rotrSL(N,T,14)^Ha.rotrSL(N,T,18)^Ha.rotrBL(N,T,41),pe=N&M^~N&P,ae=T&D^~T&G,W=Ha.add5L(Y,le,ae,HWt[ne],HI[ne]),se=Ha.add5H(W,q,ce,pe,QWt[ne],QI[ne]),O=W|0,s=Ha.rotrSH(i,n,28)^Ha.rotrBH(i,n,34)^Ha.rotrBH(i,n,39),l=Ha.rotrSL(i,n,28)^Ha.rotrBL(i,n,34)^Ha.rotrBL(i,n,39),A=i&o^i&g^o&g,m=n&d^n&y^d&y;q=P|0,Y=G|0,P=M|0,G=D|0,M=N|0,D=T|0,{h:N,l:T}=Ha.add(_|0,I|0,se|0,O|0),_=g|0,I=y|0,g=o|0,y=d|0,o=i|0,d=n|0;let E=Ha.add3L(O,l,m);i=Ha.add3H(E,se,s,A),n=E|0}({h:i,l:n}=Ha.add(this.Ah|0,this.Al|0,i|0,n|0)),{h:o,l:d}=Ha.add(this.Bh|0,this.Bl|0,o|0,d|0),{h:g,l:y}=Ha.add(this.Ch|0,this.Cl|0,g|0,y|0),{h:_,l:I}=Ha.add(this.Dh|0,this.Dl|0,_|0,I|0),{h:N,l:T}=Ha.add(this.Eh|0,this.El|0,N|0,T|0),{h:M,l:D}=Ha.add(this.Fh|0,this.Fl|0,M|0,D|0),{h:P,l:G}=Ha.add(this.Gh|0,this.Gl|0,P|0,G|0),{h:q,l:Y}=Ha.add(this.Hh|0,this.Hl|0,q|0,Y|0),this.set(i,n,o,d,g,y,_,I,N,T,M,D,P,G,q,Y)}roundClean(){QI.fill(0),HI.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var x$=PI(()=>new Upe);function GWt(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}var Fit=GWt(),Qit=Fit.crypto||Fit.msCrypto;function Fpe(e){switch(e){case"sha256":return OR.create();case"sha512":return x$.create()}_r(!1,"invalid hashing algorithm name","algorithm",e)}function Hit(e,t){let r={sha256:OR,sha512:x$}[e];return _r(r!=null,"invalid hmac algorithm","algorithm",e),HC.create(r,t)}function Git(e,t,r,i,n){let o={sha256:OR,sha512:x$}[n];return _r(o!=null,"invalid pbkdf2 algorithm","algorithm",n),sL(o,e,t,{c:r,dkLen:i})}function qit(e){Xr(Qit!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),_r(Number.isInteger(e)&&e>0&&e<=1024,"invalid length","length",e);let t=new Uint8Array(e);return Qit.getRandomValues(t),t}var Vit=!1,Jit=function(e,t,r){return Hit(e,t).update(r).digest()},zit=Jit;function Zm(e,t,r){let i=Dn(t,"key"),n=Dn(r,"data");return vn(zit(e,i,n))}Zm._=Jit;Zm.lock=function(){Vit=!0};Zm.register=function(e){if(Vit)throw new Error("computeHmac is locked");zit=e};Object.freeze(Zm);J();K();z();J();K();z();var[Yit,Wit,Xit]=[[],[],[]],qWt=BigInt(0),cL=BigInt(1),VWt=BigInt(2),JWt=BigInt(7),zWt=BigInt(256),KWt=BigInt(113);for(let e=0,t=cL,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],Yit.push(2*(5*i+r)),Wit.push((e+1)*(e+2)/2%64);let n=qWt;for(let o=0;o<7;o++)t=(t<<cL^(t>>JWt)*KWt)%zWt,t&VWt&&(n^=cL<<(cL<<BigInt(o))-cL);Xit.push(n)}var[$Wt,YWt]=Mpe(Xit,!0),Kit=(e,t,r)=>r>32?Ppe(e,t,r):Dpe(e,t,r),$it=(e,t,r)=>r>32?Lpe(e,t,r):kpe(e,t,r);function WWt(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let d=0;d<10;d++)r[d]=e[d]^e[d+10]^e[d+20]^e[d+30]^e[d+40];for(let d=0;d<10;d+=2){let g=(d+8)%10,y=(d+2)%10,_=r[y],I=r[y+1],N=Kit(_,I,1)^r[g],T=$it(_,I,1)^r[g+1];for(let M=0;M<50;M+=10)e[d+M]^=N,e[d+M+1]^=T}let n=e[2],o=e[3];for(let d=0;d<24;d++){let g=Wit[d],y=Kit(n,o,g),_=$it(n,o,g),I=Yit[d];n=e[I],o=e[I+1],e[I]=y,e[I+1]=_}for(let d=0;d<50;d+=10){for(let g=0;g<10;g++)r[g]=e[d+g];for(let g=0;g<10;g++)e[d+g]^=~r[(g+2)%10]&r[(g+4)%10]}e[0]^=$Wt[i],e[1]^=YWt[i]}r.fill(0)}var T$=class e extends kI{constructor(t,r,i,n=!1,o=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=i,this.enableXOF=n,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,zh(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Dx(this.state)}keccak(){WWt(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){wR(this);let{blockLen:r,state:i}=this;t=Xm(t);let n=t.length;for(let o=0;o<n;){let d=Math.min(r-this.pos,n-o);for(let g=0;g<d;g++)i[this.pos++]^=t[o++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:i,blockLen:n}=this;t[i]^=r,(r&128)!==0&&i===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){wR(this,!1),aL(t),this.finish();let r=this.state,{blockLen:i}=this;for(let n=0,o=t.length;n<o;){this.posOut>=i&&this.keccak();let d=Math.min(i-this.posOut,o-n);t.set(r.subarray(this.posOut,this.posOut+d),n),this.posOut+=d,n+=d}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return zh(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(S$(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:i,outputLen:n,rounds:o,enableXOF:d}=this;return t||(t=new e(r,i,n,d,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=i,t.outputLen=n,t.enableXOF=d,t.destroyed=this.destroyed,t}},GI=(e,t,r)=>PI(()=>new T$(t,e,r)),nei=GI(6,144,224/8),iei=GI(6,136,256/8),oei=GI(6,104,384/8),aei=GI(6,72,512/8),sei=GI(1,144,224/8),Zit=GI(1,136,256/8),cei=GI(1,104,384/8),uei=GI(1,72,512/8),jit=(e,t,r)=>Pit((i={})=>new T$(t,e,i.dkLen===void 0?r:i.dkLen,!0)),dei=jit(31,168,128/8),fei=jit(31,136,256/8);var eot=!1,tot=function(e){return Zit(e)},rot=tot;function Xa(e){let t=Dn(e,"data");return vn(rot(t))}Xa._=tot;Xa.lock=function(){eot=!0};Xa.register=function(e){if(eot)throw new TypeError("keccak256 is locked");rot=e};Object.freeze(Xa);J();K();z();J();K();z();var XWt=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),iot=Uint8Array.from({length:16},(e,t)=>t),ZWt=iot.map(e=>(9*e+5)%16),Hpe=[iot],Gpe=[ZWt];for(let e=0;e<4;e++)for(let t of[Hpe,Gpe])t.push(t[e].map(r=>XWt[r]));var oot=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>new Uint8Array(e)),jWt=Hpe.map((e,t)=>e.map(r=>oot[t][r])),eXt=Gpe.map((e,t)=>e.map(r=>oot[t][r])),tXt=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),rXt=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),B$=(e,t)=>e<<t|e>>>32-t;function not(e,t,r,i){return e===0?t^r^i:e===1?t&r|~t&i:e===2?(t|~r)^i:e===3?t&i|r&~i:t^(r|~i)}var M$=new Uint32Array(16),Qpe=class extends LI{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:t,h1:r,h2:i,h3:n,h4:o}=this;return[t,r,i,n,o]}set(t,r,i,n,o){this.h0=t|0,this.h1=r|0,this.h2=i|0,this.h3=n|0,this.h4=o|0}process(t,r){for(let M=0;M<16;M++,r+=4)M$[M]=t.getUint32(r,!0);let i=this.h0|0,n=i,o=this.h1|0,d=o,g=this.h2|0,y=g,_=this.h3|0,I=_,N=this.h4|0,T=N;for(let M=0;M<5;M++){let D=4-M,P=tXt[M],G=rXt[M],q=Hpe[M],Y=Gpe[M],ne=jWt[M],ce=eXt[M];for(let le=0;le<16;le++){let pe=B$(i+not(M,o,g,_)+M$[q[le]]+P,ne[le])+N|0;i=N,N=_,_=B$(g,10)|0,g=o,o=pe}for(let le=0;le<16;le++){let pe=B$(n+not(D,d,y,I)+M$[Y[le]]+G,ce[le])+T|0;n=T,T=I,I=B$(y,10)|0,y=d,d=pe}}this.set(this.h1+g+I|0,this.h2+_+T|0,this.h3+N+n|0,this.h4+i+d|0,this.h0+o+y|0)}roundClean(){M$.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},aot=PI(()=>new Qpe);var sot=!1,cot=function(e){return aot(e)},uot=cot;function jm(e){let t=Dn(e,"data");return vn(uot(t))}jm._=cot;jm.lock=function(){sot=!0};jm.register=function(e){if(sot)throw new TypeError("ripemd160 is locked");uot=e};Object.freeze(jm);J();K();z();var dot=!1,fot=function(e,t,r,i,n){return Git(e,t,r,i,n)},lot=fot;function UA(e,t,r,i,n){let o=Dn(e,"password"),d=Dn(t,"salt");return vn(lot(o,d,r,i,n))}UA._=fot;UA.lock=function(){dot=!0};UA.register=function(e){if(dot)throw new Error("pbkdf2 is locked");lot=e};Object.freeze(UA);J();K();z();var hot=!1,Aot=function(e){return new Uint8Array(qit(e))},pot=Aot;function Kh(e){return pot(e)}Kh._=Aot;Kh.lock=function(){hot=!0};Kh.register=function(e){if(hot)throw new Error("randomBytes is locked");pot=e};Object.freeze(Kh);J();K();z();J();K();z();var dc=(e,t)=>e<<t|e>>>32-t;function got(e,t,r,i,n,o){let d=e[t++]^r[i++],g=e[t++]^r[i++],y=e[t++]^r[i++],_=e[t++]^r[i++],I=e[t++]^r[i++],N=e[t++]^r[i++],T=e[t++]^r[i++],M=e[t++]^r[i++],D=e[t++]^r[i++],P=e[t++]^r[i++],G=e[t++]^r[i++],q=e[t++]^r[i++],Y=e[t++]^r[i++],ne=e[t++]^r[i++],ce=e[t++]^r[i++],le=e[t++]^r[i++],pe=d,ae=g,W=y,se=_,O=I,s=N,l=T,A=M,m=D,E=P,w=G,x=q,R=Y,u=ne,C=ce,U=le;for(let F=0;F<8;F+=2)O^=dc(pe+R|0,7),m^=dc(O+pe|0,9),R^=dc(m+O|0,13),pe^=dc(R+m|0,18),E^=dc(s+ae|0,7),u^=dc(E+s|0,9),ae^=dc(u+E|0,13),s^=dc(ae+u|0,18),C^=dc(w+l|0,7),W^=dc(C+w|0,9),l^=dc(W+C|0,13),w^=dc(l+W|0,18),se^=dc(U+x|0,7),A^=dc(se+U|0,9),x^=dc(A+se|0,13),U^=dc(x+A|0,18),ae^=dc(pe+se|0,7),W^=dc(ae+pe|0,9),se^=dc(W+ae|0,13),pe^=dc(se+W|0,18),l^=dc(s+O|0,7),A^=dc(l+s|0,9),O^=dc(A+l|0,13),s^=dc(O+A|0,18),x^=dc(w+E|0,7),m^=dc(x+w|0,9),E^=dc(m+x|0,13),w^=dc(E+m|0,18),R^=dc(U+C|0,7),u^=dc(R+U|0,9),C^=dc(u+R|0,13),U^=dc(C+u|0,18);n[o++]=d+pe|0,n[o++]=g+ae|0,n[o++]=y+W|0,n[o++]=_+se|0,n[o++]=I+O|0,n[o++]=N+s|0,n[o++]=T+l|0,n[o++]=M+A|0,n[o++]=D+m|0,n[o++]=P+E|0,n[o++]=G+w|0,n[o++]=q+x|0,n[o++]=Y+R|0,n[o++]=ne+u|0,n[o++]=ce+C|0,n[o++]=le+U|0}function Px(e,t,r,i,n){let o=i+0,d=i+16*n;for(let g=0;g<16;g++)r[d+g]=e[t+(2*n-1)*16+g];for(let g=0;g<n;g++,o+=16,t+=16)got(r,d,e,t,r,o),g>0&&(d+=16),got(r,o,e,t+=16,r,d)}function _ot(e,t,r){let i=w$({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:o,p:d,dkLen:g,asyncTick:y,maxmem:_,onProgress:I}=i;if(zh(n),zh(o),zh(d),zh(g),zh(y),zh(_),I!==void 0&&typeof I!="function")throw new Error("progressCb should be function");let N=128*o,T=N/4;if(n<=1||(n&n-1)!==0||n>=2**(N/8)||n>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(d<0||d>(2**32-1)*32/N)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(g<0||g>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let M=N*(n+d);if(M>_)throw new Error(`Scrypt: parameters too large, ${M} (128 * r * (N + p)) > ${_} (maxmem)`);let D=sL(OR,e,t,{c:1,dkLen:N*d}),P=Dx(D),G=Dx(new Uint8Array(N*n)),q=Dx(new Uint8Array(N)),Y=()=>{};if(I){let ne=2*n*d,ce=Math.max(Math.floor(ne/1e4),1),le=0;Y=()=>{le++,I&&(!(le%ce)||le===ne)&&I(le/ne)}}return{N:n,r:o,p:d,dkLen:g,blockSize32:T,V:G,B32:P,B:D,tmp:q,blockMixCb:Y,asyncTick:y}}function mot(e,t,r,i,n){let o=sL(OR,e,r,{c:1,dkLen:t});return r.fill(0),i.fill(0),n.fill(0),o}function yot(e,t,r){let{N:i,r:n,p:o,dkLen:d,blockSize32:g,V:y,B32:_,B:I,tmp:N,blockMixCb:T}=_ot(e,t,r);for(let M=0;M<o;M++){let D=g*M;for(let P=0;P<g;P++)y[P]=_[D+P];for(let P=0,G=0;P<i-1;P++)Px(y,G,y,G+=g,n),T();Px(y,(i-1)*g,_,D,n),T();for(let P=0;P<i;P++){let G=_[D+g-16]%i;for(let q=0;q<g;q++)N[q]=_[D+q]^y[G*g+q];Px(N,0,_,D,n),T()}}return mot(e,d,I,y,N)}async function bot(e,t,r){let{N:i,r:n,p:o,dkLen:d,blockSize32:g,V:y,B32:_,B:I,tmp:N,blockMixCb:T,asyncTick:M}=_ot(e,t,r);for(let D=0;D<o;D++){let P=g*D;for(let q=0;q<g;q++)y[q]=_[P+q];let G=0;await C$(i-1,M,()=>{Px(y,G,y,G+=g,n),T()}),Px(y,(i-1)*g,_,P,n),T(),await C$(i,M,()=>{let q=_[P+g-16]%i;for(let Y=0;Y<g;Y++)N[Y]=_[P+Y]^y[q*g+Y];Px(N,0,_,P,n),T()})}return mot(e,d,I,y,N)}var Eot=!1,vot=!1,Rot=async function(e,t,r,i,n,o,d){return await bot(e,t,{N:r,r:i,p:n,dkLen:o,onProgress:d})},Sot=function(e,t,r,i,n,o){return yot(e,t,{N:r,r:i,p:n,dkLen:o})},Iot=Rot,Cot=Sot;async function ey(e,t,r,i,n,o,d){let g=Dn(e,"passwd"),y=Dn(t,"salt");return vn(await Iot(g,y,r,i,n,o,d))}ey._=Rot;ey.lock=function(){vot=!0};ey.register=function(e){if(vot)throw new Error("scrypt is locked");Iot=e};Object.freeze(ey);function ty(e,t,r,i,n,o){let d=Dn(e,"passwd"),g=Dn(t,"salt");return vn(Cot(d,g,r,i,n,o))}ty._=Sot;ty.lock=function(){Eot=!0};ty.register=function(e){if(Eot)throw new Error("scryptSync is locked");Cot=e};Object.freeze(ty);J();K();z();var wot=function(e){return Fpe("sha256").update(e).digest()},Oot=function(e){return Fpe("sha512").update(e).digest()},Not=wot,xot=Oot,Tot=!1,Bot=!1;function Bd(e){let t=Dn(e,"data");return vn(Not(t))}Bd._=wot;Bd.lock=function(){Tot=!0};Bd.register=function(e){if(Tot)throw new Error("sha256 is locked");Not=e};Object.freeze(Bd);function GC(e){let t=Dn(e,"data");return vn(xot(t))}GC._=Oot;GC.lock=function(){Bot=!0};GC.register=function(e){if(Bot)throw new Error("sha512 is locked");xot=e};Object.freeze(Bd);J();K();z();J();K();z();J();K();z();var zpe={};gh(zpe,{bitGet:()=>uXt,bitLen:()=>cXt,bitMask:()=>uL,bitSet:()=>dXt,bytesToHex:()=>qC,bytesToNumberBE:()=>NR,bytesToNumberLE:()=>P$,concatBytes:()=>Lx,createHmacDrbg:()=>Jpe,ensureBytes:()=>eg,equalBytes:()=>aXt,hexToBytes:()=>VC,hexToNumber:()=>Vpe,numberToBytesBE:()=>qI,numberToBytesLE:()=>L$,numberToHexUnpadded:()=>kot,numberToVarBytesBE:()=>oXt,utf8ToBytes:()=>sXt,validateObject:()=>VI});J();K();z();var Dot=BigInt(0),D$=BigInt(1),nXt=BigInt(2),k$=e=>e instanceof Uint8Array,iXt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function qC(e){if(!k$(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=iXt[e[r]];return t}function kot(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Vpe(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function VC(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let i=0;i<r.length;i++){let n=i*2,o=e.slice(n,n+2),d=Number.parseInt(o,16);if(Number.isNaN(d)||d<0)throw new Error("Invalid byte sequence");r[i]=d}return r}function NR(e){return Vpe(qC(e))}function P$(e){if(!k$(e))throw new Error("Uint8Array expected");return Vpe(qC(Uint8Array.from(e).reverse()))}function qI(e,t){return VC(e.toString(16).padStart(t*2,"0"))}function L$(e,t){return qI(e,t).reverse()}function oXt(e){return VC(kot(e))}function eg(e,t,r){let i;if(typeof t=="string")try{i=VC(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(k$(t))i=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let n=i.length;if(typeof r=="number"&&n!==r)throw new Error(`${e} expected ${r} bytes, got ${n}`);return i}function Lx(...e){let t=new Uint8Array(e.reduce((i,n)=>i+n.length,0)),r=0;return e.forEach(i=>{if(!k$(i))throw new Error("Uint8Array expected");t.set(i,r),r+=i.length}),t}function aXt(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function sXt(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function cXt(e){let t;for(t=0;e>Dot;e>>=D$,t+=1);return t}function uXt(e,t){return e>>BigInt(t)&D$}var dXt=(e,t,r)=>e|(r?D$:Dot)<<BigInt(t),uL=e=>(nXt<<BigInt(e-1))-D$,qpe=e=>new Uint8Array(e),Mot=e=>Uint8Array.from(e);function Jpe(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let i=qpe(e),n=qpe(e),o=0,d=()=>{i.fill(1),n.fill(0),o=0},g=(...N)=>r(n,i,...N),y=(N=qpe())=>{n=g(Mot([0]),N),i=g(),N.length!==0&&(n=g(Mot([1]),N),i=g())},_=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let N=0,T=[];for(;N<t;){i=g();let M=i.slice();T.push(M),N+=i.length}return Lx(...T)};return(N,T)=>{d(),y(N);let M;for(;!(M=T(_()));)y();return d(),M}}var fXt={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function VI(e,t,r={}){let i=(n,o,d)=>{let g=fXt[o];if(typeof g!="function")throw new Error(`Invalid validator "${o}", expected function`);let y=e[n];if(!(d&&y===void 0)&&!g(y,e))throw new Error(`Invalid param ${String(n)}=${y} (${typeof y}), expected ${o}`)};for(let[n,o]of Object.entries(t))i(n,o,!1);for(let[n,o]of Object.entries(r))i(n,o,!0);return e}var Gf=BigInt(0),Ad=BigInt(1),JC=BigInt(2),lXt=BigInt(3),Kpe=BigInt(4),Pot=BigInt(5),Lot=BigInt(8),hXt=BigInt(9),AXt=BigInt(16);function $h(e,t){let r=e%t;return r>=Gf?r:t+r}function pXt(e,t,r){if(r<=Gf||t<Gf)throw new Error("Expected power/modulo > 0");if(r===Ad)return Gf;let i=Ad;for(;t>Gf;)t&Ad&&(i=i*e%r),e=e*e%r,t>>=Ad;return i}function tg(e,t,r){let i=e;for(;t-- >Gf;)i*=i,i%=r;return i}function U$(e,t){if(e===Gf||t<=Gf)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=$h(e,t),i=t,n=Gf,o=Ad,d=Ad,g=Gf;for(;r!==Gf;){let _=i/r,I=i%r,N=n-d*_,T=o-g*_;i=r,r=I,n=d,o=g,d=N,g=T}if(i!==Ad)throw new Error("invert: does not exist");return $h(n,t)}function gXt(e){let t=(e-Ad)/JC,r,i,n;for(r=e-Ad,i=0;r%JC===Gf;r/=JC,i++);for(n=JC;n<e&&pXt(n,t,e)!==e-Ad;n++);if(i===1){let d=(e+Ad)/Kpe;return function(y,_){let I=y.pow(_,d);if(!y.eql(y.sqr(I),_))throw new Error("Cannot find square root");return I}}let o=(r+Ad)/JC;return function(g,y){if(g.pow(y,t)===g.neg(g.ONE))throw new Error("Cannot find square root");let _=i,I=g.pow(g.mul(g.ONE,n),r),N=g.pow(y,o),T=g.pow(y,r);for(;!g.eql(T,g.ONE);){if(g.eql(T,g.ZERO))return g.ZERO;let M=1;for(let P=g.sqr(T);M<_&&!g.eql(P,g.ONE);M++)P=g.sqr(P);let D=g.pow(I,Ad<<BigInt(_-M-1));I=g.sqr(D),N=g.mul(N,D),T=g.mul(T,I),_=M}return N}}function _Xt(e){if(e%Kpe===lXt){let t=(e+Ad)/Kpe;return function(i,n){let o=i.pow(n,t);if(!i.eql(i.sqr(o),n))throw new Error("Cannot find square root");return o}}if(e%Lot===Pot){let t=(e-Pot)/Lot;return function(i,n){let o=i.mul(n,JC),d=i.pow(o,t),g=i.mul(n,d),y=i.mul(i.mul(g,JC),d),_=i.mul(g,i.sub(y,i.ONE));if(!i.eql(i.sqr(_),n))throw new Error("Cannot find square root");return _}}return e%AXt,gXt(e)}var mXt=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $pe(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=mXt.reduce((i,n)=>(i[n]="function",i),t);return VI(e,r)}function yXt(e,t,r){if(r<Gf)throw new Error("Expected power > 0");if(r===Gf)return e.ONE;if(r===Ad)return t;let i=e.ONE,n=t;for(;r>Gf;)r&Ad&&(i=e.mul(i,n)),n=e.sqr(n),r>>=Ad;return i}function bXt(e,t){let r=new Array(t.length),i=t.reduce((o,d,g)=>e.is0(d)?o:(r[g]=o,e.mul(o,d)),e.ONE),n=e.inv(i);return t.reduceRight((o,d,g)=>e.is0(d)?o:(r[g]=e.mul(o,r[g]),e.mul(o,d)),n),r}function Ype(e,t){let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function Uot(e,t,r=!1,i={}){if(e<=Gf)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:n,nByteLength:o}=Ype(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let d=_Xt(e),g=Object.freeze({ORDER:e,BITS:n,BYTES:o,MASK:uL(n),ZERO:Gf,ONE:Ad,create:y=>$h(y,e),isValid:y=>{if(typeof y!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof y}`);return Gf<=y&&y<e},is0:y=>y===Gf,isOdd:y=>(y&Ad)===Ad,neg:y=>$h(-y,e),eql:(y,_)=>y===_,sqr:y=>$h(y*y,e),add:(y,_)=>$h(y+_,e),sub:(y,_)=>$h(y-_,e),mul:(y,_)=>$h(y*_,e),pow:(y,_)=>yXt(g,y,_),div:(y,_)=>$h(y*U$(_,e),e),sqrN:y=>y*y,addN:(y,_)=>y+_,subN:(y,_)=>y-_,mulN:(y,_)=>y*_,inv:y=>U$(y,e),sqrt:i.sqrt||(y=>d(g,y)),invertBatch:y=>bXt(g,y),cmov:(y,_,I)=>I?_:y,toBytes:y=>r?L$(y,o):qI(y,o),fromBytes:y=>{if(y.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${y.length}`);return r?P$(y):NR(y)}});return Object.freeze(g)}function Fot(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Wpe(e){let t=Fot(e);return t+Math.ceil(t/2)}function Qot(e,t,r=!1){let i=e.length,n=Fot(t),o=Wpe(t);if(i<16||i<o||i>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${i}`);let d=r?NR(e):P$(e),g=$h(d,t-Ad)+Ad;return r?L$(g,n):qI(g,n)}J();K();z();J();K();z();var vXt=BigInt(0),Xpe=BigInt(1);function Hot(e,t){let r=(n,o)=>{let d=o.negate();return n?d:o},i=n=>{let o=Math.ceil(t/n)+1,d=2**(n-1);return{windows:o,windowSize:d}};return{constTimeNegate:r,unsafeLadder(n,o){let d=e.ZERO,g=n;for(;o>vXt;)o&Xpe&&(d=d.add(g)),g=g.double(),o>>=Xpe;return d},precomputeWindow(n,o){let{windows:d,windowSize:g}=i(o),y=[],_=n,I=_;for(let N=0;N<d;N++){I=_,y.push(I);for(let T=1;T<g;T++)I=I.add(_),y.push(I);_=I.double()}return y},wNAF(n,o,d){let{windows:g,windowSize:y}=i(n),_=e.ZERO,I=e.BASE,N=BigInt(2**n-1),T=2**n,M=BigInt(n);for(let D=0;D<g;D++){let P=D*y,G=Number(d&N);d>>=M,G>y&&(G-=T,d+=Xpe);let q=P,Y=P+Math.abs(G)-1,ne=D%2!==0,ce=G<0;G===0?I=I.add(r(ne,o[q])):_=_.add(r(ce,o[Y]))}return{p:_,f:I}},wNAFCached(n,o,d,g){let y=n._WINDOW_SIZE||1,_=o.get(n);return _||(_=this.precomputeWindow(n,y),y!==1&&o.set(n,g(_))),this.wNAF(y,_,d)}}}function Zpe(e){return $pe(e.Fp),VI(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ype(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}function RXt(e){let t=Zpe(e);VI(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:i,a:n}=t;if(r){if(!i.eql(n,i.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:SXt,hexToBytes:IXt}=zpe,zC={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=zC;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],i=e.subarray(2,r+2);if(!r||i.length!==r)throw new t("Invalid signature integer: wrong length");if(i[0]&128)throw new t("Invalid signature integer: negative");if(i[0]===0&&!(i[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:SXt(i),l:e.subarray(r+2)}},toSig(e){let{Err:t}=zC,r=typeof e=="string"?IXt(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let i=r.length;if(i<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==i-2)throw new t("Invalid signature: incorrect length");let{d:n,l:o}=zC._parseInt(r.subarray(2)),{d,l:g}=zC._parseInt(o);if(g.length)throw new t("Invalid signature: left bytes after parsing");return{r:n,s:d}},hexFromSig(e){let t=_=>Number.parseInt(_[0],16)&8?"00"+_:_,r=_=>{let I=_.toString(16);return I.length&1?`0${I}`:I},i=t(r(e.s)),n=t(r(e.r)),o=i.length/2,d=n.length/2,g=r(o),y=r(d);return`30${r(d+o+4)}02${y}${n}02${g}${i}`}},xR=BigInt(0),k_=BigInt(1),wti=BigInt(2),Got=BigInt(3),Oti=BigInt(4);function CXt(e){let t=RXt(e),{Fp:r}=t,i=t.toBytes||((D,P,G)=>{let q=P.toAffine();return Lx(Uint8Array.from([4]),r.toBytes(q.x),r.toBytes(q.y))}),n=t.fromBytes||(D=>{let P=D.subarray(1),G=r.fromBytes(P.subarray(0,r.BYTES)),q=r.fromBytes(P.subarray(r.BYTES,2*r.BYTES));return{x:G,y:q}});function o(D){let{a:P,b:G}=t,q=r.sqr(D),Y=r.mul(q,D);return r.add(r.add(Y,r.mul(D,P)),G)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function d(D){return typeof D=="bigint"&&xR<D&&D<t.n}function g(D){if(!d(D))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function y(D){let{allowedPrivateKeyLengths:P,nByteLength:G,wrapPrivateKey:q,n:Y}=t;if(P&&typeof D!="bigint"){if(D instanceof Uint8Array&&(D=qC(D)),typeof D!="string"||!P.includes(D.length))throw new Error("Invalid key");D=D.padStart(G*2,"0")}let ne;try{ne=typeof D=="bigint"?D:NR(eg("private key",D,G))}catch{throw new Error(`private key must be ${G} bytes, hex or bigint, not ${typeof D}`)}return q&&(ne=$h(ne,Y)),g(ne),ne}let _=new Map;function I(D){if(!(D instanceof N))throw new Error("ProjectivePoint expected")}class N{constructor(P,G,q){if(this.px=P,this.py=G,this.pz=q,P==null||!r.isValid(P))throw new Error("x required");if(G==null||!r.isValid(G))throw new Error("y required");if(q==null||!r.isValid(q))throw new Error("z required")}static fromAffine(P){let{x:G,y:q}=P||{};if(!P||!r.isValid(G)||!r.isValid(q))throw new Error("invalid affine point");if(P instanceof N)throw new Error("projective point not allowed");let Y=ne=>r.eql(ne,r.ZERO);return Y(G)&&Y(q)?N.ZERO:new N(G,q,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(P){let G=r.invertBatch(P.map(q=>q.pz));return P.map((q,Y)=>q.toAffine(G[Y])).map(N.fromAffine)}static fromHex(P){let G=N.fromAffine(n(eg("pointHex",P)));return G.assertValidity(),G}static fromPrivateKey(P){return N.BASE.multiply(y(P))}_setWindowSize(P){this._WINDOW_SIZE=P,_.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:P,y:G}=this.toAffine();if(!r.isValid(P)||!r.isValid(G))throw new Error("bad point: x or y not FE");let q=r.sqr(G),Y=o(P);if(!r.eql(q,Y))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:P}=this.toAffine();if(r.isOdd)return!r.isOdd(P);throw new Error("Field doesn't support isOdd")}equals(P){I(P);let{px:G,py:q,pz:Y}=this,{px:ne,py:ce,pz:le}=P,pe=r.eql(r.mul(G,le),r.mul(ne,Y)),ae=r.eql(r.mul(q,le),r.mul(ce,Y));return pe&&ae}negate(){return new N(this.px,r.neg(this.py),this.pz)}double(){let{a:P,b:G}=t,q=r.mul(G,Got),{px:Y,py:ne,pz:ce}=this,le=r.ZERO,pe=r.ZERO,ae=r.ZERO,W=r.mul(Y,Y),se=r.mul(ne,ne),O=r.mul(ce,ce),s=r.mul(Y,ne);return s=r.add(s,s),ae=r.mul(Y,ce),ae=r.add(ae,ae),le=r.mul(P,ae),pe=r.mul(q,O),pe=r.add(le,pe),le=r.sub(se,pe),pe=r.add(se,pe),pe=r.mul(le,pe),le=r.mul(s,le),ae=r.mul(q,ae),O=r.mul(P,O),s=r.sub(W,O),s=r.mul(P,s),s=r.add(s,ae),ae=r.add(W,W),W=r.add(ae,W),W=r.add(W,O),W=r.mul(W,s),pe=r.add(pe,W),O=r.mul(ne,ce),O=r.add(O,O),W=r.mul(O,s),le=r.sub(le,W),ae=r.mul(O,se),ae=r.add(ae,ae),ae=r.add(ae,ae),new N(le,pe,ae)}add(P){I(P);let{px:G,py:q,pz:Y}=this,{px:ne,py:ce,pz:le}=P,pe=r.ZERO,ae=r.ZERO,W=r.ZERO,se=t.a,O=r.mul(t.b,Got),s=r.mul(G,ne),l=r.mul(q,ce),A=r.mul(Y,le),m=r.add(G,q),E=r.add(ne,ce);m=r.mul(m,E),E=r.add(s,l),m=r.sub(m,E),E=r.add(G,Y);let w=r.add(ne,le);return E=r.mul(E,w),w=r.add(s,A),E=r.sub(E,w),w=r.add(q,Y),pe=r.add(ce,le),w=r.mul(w,pe),pe=r.add(l,A),w=r.sub(w,pe),W=r.mul(se,E),pe=r.mul(O,A),W=r.add(pe,W),pe=r.sub(l,W),W=r.add(l,W),ae=r.mul(pe,W),l=r.add(s,s),l=r.add(l,s),A=r.mul(se,A),E=r.mul(O,E),l=r.add(l,A),A=r.sub(s,A),A=r.mul(se,A),E=r.add(E,A),s=r.mul(l,E),ae=r.add(ae,s),s=r.mul(w,E),pe=r.mul(m,pe),pe=r.sub(pe,s),s=r.mul(m,l),W=r.mul(w,W),W=r.add(W,s),new N(pe,ae,W)}subtract(P){return this.add(P.negate())}is0(){return this.equals(N.ZERO)}wNAF(P){return M.wNAFCached(this,_,P,G=>{let q=r.invertBatch(G.map(Y=>Y.pz));return G.map((Y,ne)=>Y.toAffine(q[ne])).map(N.fromAffine)})}multiplyUnsafe(P){let G=N.ZERO;if(P===xR)return G;if(g(P),P===k_)return this;let{endo:q}=t;if(!q)return M.unsafeLadder(this,P);let{k1neg:Y,k1:ne,k2neg:ce,k2:le}=q.splitScalar(P),pe=G,ae=G,W=this;for(;ne>xR||le>xR;)ne&k_&&(pe=pe.add(W)),le&k_&&(ae=ae.add(W)),W=W.double(),ne>>=k_,le>>=k_;return Y&&(pe=pe.negate()),ce&&(ae=ae.negate()),ae=new N(r.mul(ae.px,q.beta),ae.py,ae.pz),pe.add(ae)}multiply(P){g(P);let G=P,q,Y,{endo:ne}=t;if(ne){let{k1neg:ce,k1:le,k2neg:pe,k2:ae}=ne.splitScalar(G),{p:W,f:se}=this.wNAF(le),{p:O,f:s}=this.wNAF(ae);W=M.constTimeNegate(ce,W),O=M.constTimeNegate(pe,O),O=new N(r.mul(O.px,ne.beta),O.py,O.pz),q=W.add(O),Y=se.add(s)}else{let{p:ce,f:le}=this.wNAF(G);q=ce,Y=le}return N.normalizeZ([q,Y])[0]}multiplyAndAddUnsafe(P,G,q){let Y=N.BASE,ne=(le,pe)=>pe===xR||pe===k_||!le.equals(Y)?le.multiplyUnsafe(pe):le.multiply(pe),ce=ne(this,G).add(ne(P,q));return ce.is0()?void 0:ce}toAffine(P){let{px:G,py:q,pz:Y}=this,ne=this.is0();P==null&&(P=ne?r.ONE:r.inv(Y));let ce=r.mul(G,P),le=r.mul(q,P),pe=r.mul(Y,P);if(ne)return{x:r.ZERO,y:r.ZERO};if(!r.eql(pe,r.ONE))throw new Error("invZ was invalid");return{x:ce,y:le}}isTorsionFree(){let{h:P,isTorsionFree:G}=t;if(P===k_)return!0;if(G)return G(N,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:P,clearCofactor:G}=t;return P===k_?this:G?G(N,this):this.multiplyUnsafe(t.h)}toRawBytes(P=!0){return this.assertValidity(),i(N,this,P)}toHex(P=!0){return qC(this.toRawBytes(P))}}N.BASE=new N(t.Gx,t.Gy,r.ONE),N.ZERO=new N(r.ZERO,r.ONE,r.ZERO);let T=t.nBitLength,M=Hot(N,t.endo?Math.ceil(T/2):T);return{CURVE:t,ProjectivePoint:N,normPrivateKeyToScalar:y,weierstrassEquation:o,isWithinCurveOrder:d}}function wXt(e){let t=Zpe(e);return VI(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function qot(e){let t=wXt(e),{Fp:r,n:i}=t,n=r.BYTES+1,o=2*r.BYTES+1;function d(E){return xR<E&&E<r.ORDER}function g(E){return $h(E,i)}function y(E){return U$(E,i)}let{ProjectivePoint:_,normPrivateKeyToScalar:I,weierstrassEquation:N,isWithinCurveOrder:T}=CXt({...t,toBytes(E,w,x){let R=w.toAffine(),u=r.toBytes(R.x),C=Lx;return x?C(Uint8Array.from([w.hasEvenY()?2:3]),u):C(Uint8Array.from([4]),u,r.toBytes(R.y))},fromBytes(E){let w=E.length,x=E[0],R=E.subarray(1);if(w===n&&(x===2||x===3)){let u=NR(R);if(!d(u))throw new Error("Point is not on curve");let C=N(u),U=r.sqrt(C),F=(U&k_)===k_;return(x&1)===1!==F&&(U=r.neg(U)),{x:u,y:U}}else if(w===o&&x===4){let u=r.fromBytes(R.subarray(0,r.BYTES)),C=r.fromBytes(R.subarray(r.BYTES,2*r.BYTES));return{x:u,y:C}}else throw new Error(`Point of length ${w} was invalid. Expected ${n} compressed bytes or ${o} uncompressed bytes`)}}),M=E=>qC(qI(E,t.nByteLength));function D(E){let w=i>>k_;return E>w}function P(E){return D(E)?g(-E):E}let G=(E,w,x)=>NR(E.slice(w,x));class q{constructor(w,x,R){this.r=w,this.s=x,this.recovery=R,this.assertValidity()}static fromCompact(w){let x=t.nByteLength;return w=eg("compactSignature",w,x*2),new q(G(w,0,x),G(w,x,2*x))}static fromDER(w){let{r:x,s:R}=zC.toSig(eg("DER",w));return new q(x,R)}assertValidity(){if(!T(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!T(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(w){return new q(this.r,this.s,w)}recoverPublicKey(w){let{r:x,s:R,recovery:u}=this,C=ae(eg("msgHash",w));if(u==null||![0,1,2,3].includes(u))throw new Error("recovery id invalid");let U=u===2||u===3?x+t.n:x;if(U>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let F=(u&1)===0?"02":"03",X=_.fromHex(F+M(U)),Ae=y(U),he=g(-C*Ae),$e=g(R*Ae),Ge=_.BASE.multiplyAndAddUnsafe(X,he,$e);if(!Ge)throw new Error("point at infinify");return Ge.assertValidity(),Ge}hasHighS(){return D(this.s)}normalizeS(){return this.hasHighS()?new q(this.r,g(-this.s),this.recovery):this}toDERRawBytes(){return VC(this.toDERHex())}toDERHex(){return zC.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return VC(this.toCompactHex())}toCompactHex(){return M(this.r)+M(this.s)}}let Y={isValidPrivateKey(E){try{return I(E),!0}catch{return!1}},normPrivateKeyToScalar:I,randomPrivateKey:()=>{let E=Wpe(t.n);return Qot(t.randomBytes(E),t.n)},precompute(E=8,w=_.BASE){return w._setWindowSize(E),w.multiply(BigInt(3)),w}};function ne(E,w=!0){return _.fromPrivateKey(E).toRawBytes(w)}function ce(E){let w=E instanceof Uint8Array,x=typeof E=="string",R=(w||x)&&E.length;return w?R===n||R===o:x?R===2*n||R===2*o:E instanceof _}function le(E,w,x=!0){if(ce(E))throw new Error("first arg must be private key");if(!ce(w))throw new Error("second arg must be public key");return _.fromHex(w).multiply(I(E)).toRawBytes(x)}let pe=t.bits2int||function(E){let w=NR(E),x=E.length*8-t.nBitLength;return x>0?w>>BigInt(x):w},ae=t.bits2int_modN||function(E){return g(pe(E))},W=uL(t.nBitLength);function se(E){if(typeof E!="bigint")throw new Error("bigint expected");if(!(xR<=E&&E<W))throw new Error(`bigint expected < 2^${t.nBitLength}`);return qI(E,t.nByteLength)}function O(E,w,x=s){if(["recovered","canonical"].some(Se=>Se in x))throw new Error("sign() legacy options not supported");let{hash:R,randomBytes:u}=t,{lowS:C,prehash:U,extraEntropy:F}=x;C==null&&(C=!0),E=eg("msgHash",E),U&&(E=eg("prehashed msgHash",R(E)));let X=ae(E),Ae=I(w),he=[se(Ae),se(X)];if(F!=null){let Se=F===!0?u(r.BYTES):F;he.push(eg("extraEntropy",Se))}let $e=Lx(...he),Ge=X;function Re(Se){let ct=pe(Se);if(!T(ct))return;let ze=y(ct),te=_.BASE.multiply(ct).toAffine(),Ue=g(te.x);if(Ue===xR)return;let oe=g(ze*g(Ge+Ue*Ae));if(oe===xR)return;let ge=(te.x===Ue?0:2)|Number(te.y&k_),Le=oe;return C&&D(oe)&&(Le=P(oe),ge^=1),new q(Ue,Le,ge)}return{seed:$e,k2sig:Re}}let s={lowS:t.lowS,prehash:!1},l={lowS:t.lowS,prehash:!1};function A(E,w,x=s){let{seed:R,k2sig:u}=O(E,w,x),C=t;return Jpe(C.hash.outputLen,C.nByteLength,C.hmac)(R,u)}_.BASE._setWindowSize(8);function m(E,w,x,R=l){let u=E;if(w=eg("msgHash",w),x=eg("publicKey",x),"strict"in R)throw new Error("options.strict was renamed to lowS");let{lowS:C,prehash:U}=R,F,X;try{if(typeof u=="string"||u instanceof Uint8Array)try{F=q.fromDER(u)}catch(te){if(!(te instanceof zC.Err))throw te;F=q.fromCompact(u)}else if(typeof u=="object"&&typeof u.r=="bigint"&&typeof u.s=="bigint"){let{r:te,s:Ue}=u;F=new q(te,Ue)}else throw new Error("PARSE");X=_.fromHex(x)}catch(te){if(te.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(C&&F.hasHighS())return!1;U&&(w=t.hash(w));let{r:Ae,s:he}=F,$e=ae(w),Ge=y(he),Re=g($e*Ge),Se=g(Ae*Ge),ct=_.BASE.multiplyAndAddUnsafe(X,Re,Se)?.toAffine();return ct?g(ct.x)===Ae:!1}return{CURVE:t,getPublicKey:ne,getSharedSecret:le,sign:A,verify:m,ProjectivePoint:_,Signature:q,utils:Y}}J();K();z();function OXt(e){return{hash:e,hmac:(t,...r)=>HC(e,t,kit(...r)),randomBytes:Lit}}function Vot(e,t){let r=i=>qot({...e,...OXt(i)});return Object.freeze({...r(t),create:r})}var Kot=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Jot=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),NXt=BigInt(1),jpe=BigInt(2),zot=(e,t)=>(e+t/jpe)/t;function xXt(e){let t=Kot,r=BigInt(3),i=BigInt(6),n=BigInt(11),o=BigInt(22),d=BigInt(23),g=BigInt(44),y=BigInt(88),_=e*e*e%t,I=_*_*e%t,N=tg(I,r,t)*I%t,T=tg(N,r,t)*I%t,M=tg(T,jpe,t)*_%t,D=tg(M,n,t)*M%t,P=tg(D,o,t)*D%t,G=tg(P,g,t)*P%t,q=tg(G,y,t)*G%t,Y=tg(q,g,t)*P%t,ne=tg(Y,r,t)*I%t,ce=tg(ne,d,t)*D%t,le=tg(ce,i,t)*_%t,pe=tg(le,jpe,t);if(!e1e.eql(e1e.sqr(pe),e))throw new Error("Cannot find square root");return pe}var e1e=Uot(Kot,void 0,void 0,{sqrt:xXt}),TR=Vot({a:BigInt(0),b:BigInt(7),Fp:e1e,n:Jot,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Jot,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),i=-NXt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,d=BigInt("0x100000000000000000000000000000000"),g=zot(o*e,t),y=zot(-i*e,t),_=$h(e-g*r-y*n,t),I=$h(-g*i-y*o,t),N=_>d,T=I>d;if(N&&(_=t-_),T&&(I=t-I),_>d||I>d)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:N,k1:_,k2neg:T,k2:I}}}},OR),qti=BigInt(0);var Vti=TR.ProjectivePoint;J();K();z();J();K();z();J();K();z();var ry="0x0000000000000000000000000000000000000000";J();K();z();var Ux="0x0000000000000000000000000000000000000000000000000000000000000000";J();K();z();var t1e=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),r1e=BigInt("1000000000000000000"),n1e=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),i1e=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),o1e=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");J();K();z();var a1e="\u039E",dL=`Ethereum Signed Message: +`;var $ot=BigInt(0),Yot=BigInt(1),Wot=BigInt(2),Xot=BigInt(27),Zot=BigInt(28),F$=BigInt(35),Fx={};function jot(e){return Hf(Yu(e),32)}var th=class e{#e;#t;#r;#n;get r(){return this.#e}set r(t){_r(Hp(t)===32,"invalid r","value",t),this.#e=vn(t)}get s(){return this.#t}set s(t){_r(Hp(t)===32,"invalid s","value",t);let r=vn(t);_r(parseInt(r.substring(0,3))<8,"non-canonical s","value",r),this.#t=r}get v(){return this.#r}set v(t){let r=Zi(t,"value");_r(r===27||r===28,"invalid v","v",t),this.#r=r}get networkV(){return this.#n}get legacyChainId(){let t=this.networkV;return t==null?null:e.getChainId(t)}get yParity(){return this.v===27?0:1}get yParityAndS(){let t=Dn(this.s);return this.yParity&&(t[0]|=128),vn(t)}get compactSerialized(){return Jo([this.r,this.yParityAndS])}get serialized(){return Jo([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(t,r,i,n){jl(t,Fx,"Signature"),this.#e=r,this.#t=i,this.#r=n,this.#n=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let t=new e(Fx,this.r,this.s,this.v);return this.networkV&&(t.#n=this.networkV),t}toJSON(){let t=this.networkV;return{_type:"signature",networkV:t!=null?t.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(t){let r=gi(t,"v");return r==Xot||r==Zot?$ot:(_r(r>=F$,"invalid EIP-155 v","v",t),(r-F$)/Wot)}static getChainIdV(t,r){return gi(t)*Wot+BigInt(35+r-27)}static getNormalizedV(t){let r=gi(t);return r===$ot||r===Xot?27:r===Yot||r===Zot?28:(_r(r>=F$,"invalid v","v",t),r&Yot?27:28)}static from(t){function r(_,I){_r(_,I,"signature",t)}if(t==null)return new e(Fx,Ux,Ux,27);if(typeof t=="string"){let _=Dn(t,"signature");if(_.length===64){let I=vn(_.slice(0,32)),N=_.slice(32,64),T=N[0]&128?28:27;return N[0]&=127,new e(Fx,I,vn(N),T)}if(_.length===65){let I=vn(_.slice(0,32)),N=_.slice(32,64);r((N[0]&128)===0,"non-canonical s");let T=e.getNormalizedV(_[64]);return new e(Fx,I,vn(N),T)}r(!1,"invalid raw signature length")}if(t instanceof e)return t.clone();let i=t.r;r(i!=null,"missing r");let n=jot(i),o=(function(_,I){if(_!=null)return jot(_);if(I!=null){r(ns(I,32),"invalid yParityAndS");let N=Dn(I);return N[0]&=127,vn(N)}r(!1,"missing s")})(t.s,t.yParityAndS);r((Dn(o)[0]&128)==0,"non-canonical s");let{networkV:d,v:g}=(function(_,I,N){if(_!=null){let T=gi(_);return{networkV:T>=F$?T:void 0,v:e.getNormalizedV(T)}}if(I!=null)return r(ns(I,32),"invalid yParityAndS"),{v:Dn(I)[0]&128?28:27};if(N!=null){switch(Zi(N,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}r(!1,"invalid yParity")}r(!1,"missing v")})(t.v,t.yParityAndS,t.yParity),y=new e(Fx,n,o,g);return d&&(y.#n=d),r(t.yParity==null||Zi(t.yParity,"sig.yParity")===y.yParity,"yParity mismatch"),r(t.yParityAndS==null||t.yParityAndS===y.yParityAndS,"yParityAndS mismatch"),y}};var rh=class e{#e;constructor(t){_r(Hp(t)===32,"invalid private key","privateKey","[REDACTED]"),this.#e=vn(t)}get privateKey(){return this.#e}get publicKey(){return e.computePublicKey(this.#e)}get compressedPublicKey(){return e.computePublicKey(this.#e,!0)}sign(t){_r(Hp(t)===32,"invalid digest length","digest",t);let r=TR.sign($u(t),$u(this.#e),{lowS:!0});return th.from({r:gl(r.r,32),s:gl(r.s,32),v:r.recovery?28:27})}computeSharedSecret(t){let r=e.computePublicKey(t);return vn(TR.getSharedSecret($u(this.#e),Dn(r),!1))}static computePublicKey(t,r){let i=Dn(t,"key");if(i.length===32){let o=TR.getPublicKey(i,!!r);return vn(o)}if(i.length===64){let o=new Uint8Array(65);o[0]=4,o.set(i,1),i=o}let n=TR.ProjectivePoint.fromHex(i);return vn(n.toRawBytes(r))}static recoverPublicKey(t,r){_r(Hp(t)===32,"invalid digest length","digest",t);let i=th.from(r),n=TR.Signature.fromCompact($u(Jo([i.r,i.s])));n=n.addRecoveryBit(i.yParity);let o=n.recoverPublicKey($u(t));return _r(o!=null,"invalid signautre for digest","signature",r),"0x"+o.toHex(!1)}static addPoints(t,r,i){let n=TR.ProjectivePoint.fromHex(e.computePublicKey(t).substring(2)),o=TR.ProjectivePoint.fromHex(e.computePublicKey(r).substring(2));return"0x"+n.add(o).toHex(!!i)}};function eat(){Zm.lock(),Xa.lock(),UA.lock(),Kh.lock(),jm.lock(),ey.lock(),ty.lock(),Bd.lock(),GC.lock(),Kh.lock()}var TXt=BigInt(0),BXt=BigInt(36);function tat(e){e=e.toLowerCase();let t=e.substring(2).split(""),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=t[n].charCodeAt(0);let i=Dn(Xa(r));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(i[n>>1]&15)>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}var s1e={};for(let e=0;e<10;e++)s1e[String(e)]=String(e);for(let e=0;e<26;e++)s1e[String.fromCharCode(65+e)]=String(10+e);var rat=15;function nat(e){e=e.toUpperCase(),e=e.substring(4)+e.substring(0,2)+"00";let t=e.split("").map(i=>s1e[i]).join("");for(;t.length>=rat;){let i=t.substring(0,rat);t=parseInt(i,10)%97+t.substring(i.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}var MXt=(function(){let e={};for(let t=0;t<36;t++){let r="0123456789abcdefghijklmnopqrstuvwxyz"[t];e[r]=BigInt(t)}return e})();function DXt(e){e=e.toLowerCase();let t=TXt;for(let r=0;r<e.length;r++)t=t*BXt+MXt[e[r]];return t}function Co(e){if(_r(typeof e=="string","invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/)){e.startsWith("0x")||(e="0x"+e);let t=tat(e);return _r(!e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||t===e,"bad address checksum","address",e),t}if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){_r(e.substring(2,4)===nat(e),"bad icap checksum","address",e);let t=DXt(e.substring(4)).toString(16);for(;t.length<40;)t="0"+t;return tat("0x"+t)}_r(!1,"invalid address","address",e)}function c1e(e){let t=BigInt(Co(e)).toString(36).toUpperCase();for(;t.length<30;)t="0"+t;return"XE"+nat("XE00"+t)+t}J();K();z();function KC(e){let t=Co(e.from),i=gi(e.nonce,"tx.nonce").toString(16);return i==="0"?i="0x":i.length%2?i="0x0"+i:i="0x"+i,Co(tc(Xa(D_([t,i])),12))}function u1e(e,t,r){let i=Co(e),n=Dn(t,"salt"),o=Dn(r,"initCodeHash");return _r(n.length===32,"salt must be 32 bytes","salt",t),_r(o.length===32,"initCodeHash must be 32 bytes","initCodeHash",r),Co(tc(Xa(Jo(["0xff",i,n,o])),12))}J();K();z();function Qx(e){return e&&typeof e.getAddress=="function"}function f1e(e){try{return Co(e),!0}catch{}return!1}async function d1e(e,t){let r=await t;return(r==null||r==="0x0000000000000000000000000000000000000000")&&(Xr(typeof e!="string","unconfigured name","UNCONFIGURED_NAME",{value:e}),_r(!1,"invalid AddressLike value; did not resolve to a value address","target",e)),Co(r)}function r0(e,t){if(typeof e=="string")return e.match(/^0x[0-9a-f]{40}$/i)?Co(e):(Xr(t!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),d1e(e,t.resolveName(e)));if(Qx(e))return d1e(e,e.getAddress());if(e&&typeof e.then=="function")return d1e(e,e);_r(!1,"unsupported addressable value","target",e)}J();K();z();var ny={};function zi(e,t){let r=!1;return t<0&&(r=!0,t*=-1),new lu(ny,`${r?"":"u"}int${t}`,e,{signed:r,width:t})}function fc(e,t){return new lu(ny,`bytes${t||""}`,e,{size:t})}var iat=Symbol.for("_ethers_typed"),lu=class e{type;value;#e;_typedSymbol;constructor(t,r,i,n){n==null&&(n=null),jl(ny,t,"Typed"),Un(this,{_typedSymbol:iat,type:r,value:i}),this.#e=n,this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(t=>t.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return this.#e}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return this.#e===!0?-1:this.#e===!1?this.value.length:null}static from(t,r){return new e(ny,t,r)}static uint8(t){return zi(t,8)}static uint16(t){return zi(t,16)}static uint24(t){return zi(t,24)}static uint32(t){return zi(t,32)}static uint40(t){return zi(t,40)}static uint48(t){return zi(t,48)}static uint56(t){return zi(t,56)}static uint64(t){return zi(t,64)}static uint72(t){return zi(t,72)}static uint80(t){return zi(t,80)}static uint88(t){return zi(t,88)}static uint96(t){return zi(t,96)}static uint104(t){return zi(t,104)}static uint112(t){return zi(t,112)}static uint120(t){return zi(t,120)}static uint128(t){return zi(t,128)}static uint136(t){return zi(t,136)}static uint144(t){return zi(t,144)}static uint152(t){return zi(t,152)}static uint160(t){return zi(t,160)}static uint168(t){return zi(t,168)}static uint176(t){return zi(t,176)}static uint184(t){return zi(t,184)}static uint192(t){return zi(t,192)}static uint200(t){return zi(t,200)}static uint208(t){return zi(t,208)}static uint216(t){return zi(t,216)}static uint224(t){return zi(t,224)}static uint232(t){return zi(t,232)}static uint240(t){return zi(t,240)}static uint248(t){return zi(t,248)}static uint256(t){return zi(t,256)}static uint(t){return zi(t,256)}static int8(t){return zi(t,-8)}static int16(t){return zi(t,-16)}static int24(t){return zi(t,-24)}static int32(t){return zi(t,-32)}static int40(t){return zi(t,-40)}static int48(t){return zi(t,-48)}static int56(t){return zi(t,-56)}static int64(t){return zi(t,-64)}static int72(t){return zi(t,-72)}static int80(t){return zi(t,-80)}static int88(t){return zi(t,-88)}static int96(t){return zi(t,-96)}static int104(t){return zi(t,-104)}static int112(t){return zi(t,-112)}static int120(t){return zi(t,-120)}static int128(t){return zi(t,-128)}static int136(t){return zi(t,-136)}static int144(t){return zi(t,-144)}static int152(t){return zi(t,-152)}static int160(t){return zi(t,-160)}static int168(t){return zi(t,-168)}static int176(t){return zi(t,-176)}static int184(t){return zi(t,-184)}static int192(t){return zi(t,-192)}static int200(t){return zi(t,-200)}static int208(t){return zi(t,-208)}static int216(t){return zi(t,-216)}static int224(t){return zi(t,-224)}static int232(t){return zi(t,-232)}static int240(t){return zi(t,-240)}static int248(t){return zi(t,-248)}static int256(t){return zi(t,-256)}static int(t){return zi(t,-256)}static bytes1(t){return fc(t,1)}static bytes2(t){return fc(t,2)}static bytes3(t){return fc(t,3)}static bytes4(t){return fc(t,4)}static bytes5(t){return fc(t,5)}static bytes6(t){return fc(t,6)}static bytes7(t){return fc(t,7)}static bytes8(t){return fc(t,8)}static bytes9(t){return fc(t,9)}static bytes10(t){return fc(t,10)}static bytes11(t){return fc(t,11)}static bytes12(t){return fc(t,12)}static bytes13(t){return fc(t,13)}static bytes14(t){return fc(t,14)}static bytes15(t){return fc(t,15)}static bytes16(t){return fc(t,16)}static bytes17(t){return fc(t,17)}static bytes18(t){return fc(t,18)}static bytes19(t){return fc(t,19)}static bytes20(t){return fc(t,20)}static bytes21(t){return fc(t,21)}static bytes22(t){return fc(t,22)}static bytes23(t){return fc(t,23)}static bytes24(t){return fc(t,24)}static bytes25(t){return fc(t,25)}static bytes26(t){return fc(t,26)}static bytes27(t){return fc(t,27)}static bytes28(t){return fc(t,28)}static bytes29(t){return fc(t,29)}static bytes30(t){return fc(t,30)}static bytes31(t){return fc(t,31)}static bytes32(t){return fc(t,32)}static address(t){return new e(ny,"address",t)}static bool(t){return new e(ny,"bool",!!t)}static bytes(t){return new e(ny,"bytes",t)}static string(t){return new e(ny,"string",t)}static array(t,r){throw new Error("not implemented yet")}static tuple(t,r){throw new Error("not implemented yet")}static overrides(t){return new e(ny,"overrides",Object.assign({},t))}static isTyped(t){return t&&typeof t=="object"&&"_typedSymbol"in t&&t._typedSymbol===iat}static dereference(t,r){if(e.isTyped(t)){if(t.type!==r)throw new Error(`invalid type: expecetd ${r}, got ${t.type}`);return t.value}return t}};var Q$=class extends of{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,r){let i=lu.dereference(r,"string");try{i=Co(i)}catch(n){return this._throwError(n.message,r)}return t.writeValue(i)}decode(t){return Co(gl(t.readValue(),20))}};J();K();z();J();K();z();var H$=class extends of{coder;constructor(t){super(t.name,t.type,"_",t.dynamic),this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}};function l1e(e,t,r){let i=[];if(Array.isArray(r))i=r;else if(r&&typeof r=="object"){let y={};i=t.map(_=>{let I=_.localName;return Xr(I,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:_},value:r}),Xr(!y[I],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:_},value:r}),y[I]=!0,r[I]})}else _r(!1,"invalid tuple value","tuple",r);_r(t.length===i.length,"types/value length mismatch","tuple",r);let n=new QC,o=new QC,d=[];t.forEach((y,_)=>{let I=i[_];if(y.dynamic){let N=o.length;y.encode(o,I);let T=n.writeUpdatableValue();d.push(M=>{T(M+N)})}else y.encode(n,I)}),d.forEach(y=>{y(n.length)});let g=e.appendWriter(n);return g+=e.appendWriter(o),g}function h1e(e,t){let r=[],i=[],n=e.subReader(0);return t.forEach(o=>{let d=null;if(o.dynamic){let g=e.readIndex(),y=n.subReader(g);try{d=o.decode(y)}catch(_){if(Tc(_,"BUFFER_OVERRUN"))throw _;d=_,d.baseType=o.name,d.name=o.localName,d.type=o.type}}else try{d=o.decode(e)}catch(g){if(Tc(g,"BUFFER_OVERRUN"))throw g;d=g,d.baseType=o.name,d.name=o.localName,d.type=o.type}if(d==null)throw new Error("investigate");r.push(d),i.push(o.localName||null)}),CR.fromItems(r,i)}var G$=class extends of{coder;length;constructor(t,r,i){let n=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",n,i,o),Un(this,{coder:t,length:r})}defaultValue(){let t=this.coder.defaultValue(),r=[];for(let i=0;i<this.length;i++)r.push(t);return r}encode(t,r){let i=lu.dereference(r,"array");Array.isArray(i)||this._throwError("expected array value",i);let n=this.length;n===-1&&(n=i.length,t.writeValue(i.length)),kC(i.length,n,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let d=0;d<i.length;d++)o.push(this.coder);return l1e(t,o,i)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),Xr(r*eh<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*eh,length:t.dataLength}));let i=[];for(let n=0;n<r;n++)i.push(new H$(this.coder));return h1e(t,i)}};J();K();z();var q$=class extends of{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,r){let i=lu.dereference(r,"bool");return t.writeValue(i?1:0)}decode(t){return!!t.readValue()}};J();K();z();var fL=class extends of{constructor(t,r){super(t,t,r,!0)}defaultValue(){return"0x"}encode(t,r){r=$u(r);let i=t.writeValue(r.length);return i+=t.writeBytes(r),i}decode(t){return t.readBytes(t.readIndex(),!0)}},V$=class extends fL{constructor(t){super("bytes",t)}decode(t){return vn(super.decode(t))}};J();K();z();var J$=class extends of{size;constructor(t,r){let i="bytes"+String(t);super(i,i,r,!1),Un(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let i=$u(lu.dereference(r,this.type));return i.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(i)}decode(t){return vn(t.readBytes(this.size))}};J();K();z();var kXt=new Uint8Array([]),z$=class extends of{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,r){return r!=null&&this._throwError("not null",r),t.writeBytes(kXt)}decode(t){return t.readBytes(0),null}};J();K();z();var PXt=BigInt(0),LXt=BigInt(1),UXt=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),K$=class extends of{size;signed;constructor(t,r,i){let n=(r?"int":"uint")+t*8;super(n,n,i,!1),Un(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let i=gi(lu.dereference(r,this.type)),n=j1(UXt,eh*8);if(this.signed){let o=j1(n,this.size*8-1);(i>o||i<-(o+LXt))&&this._throwError("value out-of-bounds",r),i=SR(i,8*eh)}else(i<PXt||i>j1(n,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(i)}decode(t){let r=j1(t.readValue(),this.size*8);return this.signed&&(r=RR(r,this.size*8)),r}};J();K();z();var $$=class extends fL{constructor(t){super("string",t)}defaultValue(){return""}encode(t,r){return super.encode(t,rc(lu.dereference(r,"string")))}decode(t){return LA(super.decode(t))}};J();K();z();var $C=class extends of{coders;constructor(t,r){let i=!1,n=[];t.forEach(d=>{d.dynamic&&(i=!0),n.push(d.type)});let o="tuple("+n.join(",")+")";super("tuple",o,r,i),Un(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];this.coders.forEach(i=>{t.push(i.defaultValue())});let r=this.coders.reduce((i,n)=>{let o=n.localName;return o&&(i[o]||(i[o]=0),i[o]++),i},{});return this.coders.forEach((i,n)=>{let o=i.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[n]))}),Object.freeze(t)}encode(t,r){let i=lu.dereference(r,"tuple");return l1e(t,this.coders,i)}decode(t){return h1e(t,this.coders)}};J();K();z();J();K();z();J();K();z();function nh(e){return Xa(rc(e))}J();K();z();J();K();z();var FXt="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",oat=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),aat=4;function QXt(e){let t=0;function r(){return e[t++]<<8|e[t++]}let i=r(),n=1,o=[0,1];for(let le=1;le<i;le++)o.push(n+=r());let d=r(),g=t;t+=d;let y=0,_=0;function I(){return y==0&&(_=_<<8|e[t++],y=8),_>>--y&1}let N=31,T=2**N,M=T>>>1,D=M>>1,P=T-1,G=0;for(let le=0;le<N;le++)G=G<<1|I();let q=[],Y=0,ne=T;for(;;){let le=Math.floor(((G-Y+1)*n-1)/ne),pe=0,ae=i;for(;ae-pe>1;){let O=pe+ae>>>1;le<o[O]?ae=O:pe=O}if(pe==0)break;q.push(pe);let W=Y+Math.floor(ne*o[pe]/n),se=Y+Math.floor(ne*o[pe+1]/n)-1;for(;((W^se)&M)==0;)G=G<<1&P|I(),W=W<<1&P,se=se<<1&P|1;for(;W&~se&D;)G=G&M|G<<1&P>>>1|I(),W=W<<1^M,se=(se^M)<<1|M|1;Y=W,ne=1+se-W}let ce=i-4;return q.map(le=>{switch(le-ce){case 3:return ce+65792+(e[g++]<<16|e[g++]<<8|e[g++]);case 2:return ce+256+(e[g++]<<8|e[g++]);case 1:return ce+e[g++];default:return le-1}})}function HXt(e){let t=0;return()=>e[t++]}function dat(e){return HXt(QXt(GXt(e)))}function GXt(e){let t=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((n,o)=>t[n.charCodeAt(0)]=o);let r=e.length,i=new Uint8Array(6*r>>3);for(let n=0,o=0,d=0,g=0;n<r;n++)g=g<<6|t[e.charCodeAt(n)],d+=6,d>=8&&(i[o++]=g>>(d-=8));return i}function qXt(e){return e&1?~e>>1:e>>1}function VXt(e,t){let r=Array(e);for(let i=0,n=0;i<e;i++)r[i]=n+=qXt(t());return r}function AL(e,t=0){let r=[];for(;;){let i=e(),n=e();if(!n)break;t+=i;for(let o=0;o<n;o++)r.push(t+o);t+=n+1}return r}function fat(e){return pL(()=>{let t=AL(e);if(t.length)return t})}function lat(e){let t=[];for(;;){let r=e();if(r==0)break;t.push(JXt(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(zXt(r,e))}return t.flat()}function pL(e){let t=[];for(;;){let r=e(t.length);if(!r)break;t.push(r)}return t}function hat(e,t,r){let i=Array(e).fill().map(()=>[]);for(let n=0;n<t;n++)VXt(e,r).forEach((o,d)=>i[d].push(o));return i}function JXt(e,t){let r=1+t(),i=t(),n=pL(t);return hat(n.length,1+e,t).flatMap((d,g)=>{let[y,..._]=d;return Array(n[g]).fill().map((I,N)=>{let T=N*i;return[y+N*r,_.map(M=>M+T)]})})}function zXt(e,t){let r=1+t();return hat(r,1+e,t).map(n=>[n[0],n.slice(1)])}function KXt(e){let t=[],r=AL(e);return n(i([]),[]),t;function i(o){let d=e(),g=pL(()=>{let y=AL(e).map(_=>r[_]);if(y.length)return i(y)});return{S:d,B:g,Q:o}}function n({S:o,B:d},g,y){if(!(o&4&&y===g[g.length-1])){o&2&&(y=g[g.length-1]),o&1&&t.push(g);for(let _ of d)for(let I of _.Q)n(_,[...g,I],y)}}}function $Xt(e){return e.toString(16).toUpperCase().padStart(2,"0")}function Aat(e){return`{${$Xt(e)}}`}function YXt(e){let t=[];for(let r=0,i=e.length;r<i;){let n=e.codePointAt(r);r+=n<65536?1:2,t.push(n)}return t}function qx(e){let r=e.length;if(r<4096)return String.fromCodePoint(...e);let i=[];for(let n=0;n<r;)i.push(String.fromCodePoint(...e.slice(n,n+=4096)));return i.join("")}function WXt(e,t){let r=e.length,i=r-t.length;for(let n=0;i==0&&n<r;n++)i=e[n]-t[n];return i}var XXt="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",gL=44032,W$=4352,X$=4449,Z$=4519,pat=19,gat=21,Vx=28,j$=gat*Vx,ZXt=pat*j$,jXt=gL+ZXt,eZt=W$+pat,tZt=X$+gat,rZt=Z$+Vx;function lL(e){return e>>24&255}function _at(e){return e&16777215}var p1e,sat,g1e,Y$;function nZt(){let e=dat(XXt);p1e=new Map(fat(e).flatMap((t,r)=>t.map(i=>[i,r+1<<24]))),sat=new Set(AL(e)),g1e=new Map,Y$=new Map;for(let[t,r]of lat(e)){if(!sat.has(t)&&r.length==2){let[i,n]=r,o=Y$.get(i);o||(o=new Map,Y$.set(i,o)),o.set(n,t)}g1e.set(t,r.reverse())}}function mat(e){return e>=gL&&e<jXt}function iZt(e,t){if(e>=W$&&e<eZt&&t>=X$&&t<tZt)return gL+(e-W$)*j$+(t-X$)*Vx;if(mat(e)&&t>Z$&&t<rZt&&(e-gL)%Vx==0)return e+(t-Z$);{let r=Y$.get(e);return r&&(r=r.get(t),r)?r:-1}}function yat(e){p1e||nZt();let t=[],r=[],i=!1;function n(o){let d=p1e.get(o);d&&(i=!0,o|=d),t.push(o)}for(let o of e)for(;;){if(o<128)t.push(o);else if(mat(o)){let d=o-gL,g=d/j$|0,y=d%j$/Vx|0,_=d%Vx;n(W$+g),n(X$+y),_>0&&n(Z$+_)}else{let d=g1e.get(o);d?r.push(...d):n(o)}if(!r.length)break;o=r.pop()}if(i&&t.length>1){let o=lL(t[0]);for(let d=1;d<t.length;d++){let g=lL(t[d]);if(g==0||o<=g){o=g;continue}let y=d-1;for(;;){let _=t[y+1];if(t[y+1]=t[y],t[y]=_,!y||(o=lL(t[--y]),o<=g))break}o=lL(t[d])}}return t}function oZt(e){let t=[],r=[],i=-1,n=0;for(let o of e){let d=lL(o),g=_at(o);if(i==-1)d==0?i=g:t.push(g);else if(n>0&&n>=d)d==0?(t.push(i,...r),r.length=0,i=g):r.push(g),n=d;else{let y=iZt(i,g);y>=0?i=y:n==0&&d==0?(t.push(i),i=g):(r.push(g),n=d)}}return i>=0&&t.push(i,...r),t}function bat(e){return yat(e).map(_at)}function aZt(e){return oZt(yat(e))}var cat=45;var Eat=".",vat=65039,Rat=1,eY=e=>Array.from(e);function _L(e,t){return e.P.has(t)||e.Q.has(t)}var _1e=class extends Array{get is_emoji(){return!0}},m1e,Sat,WC,y1e,Iat,sZt,Gx,A1e,Hx,YC,uat,b1e;function E1e(){if(m1e)return;let e=dat(FXt),t=()=>AL(e),r=()=>new Set(t()),i=(I,N)=>N.forEach(T=>I.add(T));m1e=new Map(lat(e)),Sat=r(),WC=t(),y1e=new Set(t().map(I=>WC[I])),WC=new Set(WC),Iat=r(),sZt=r();let n=fat(e),o=e(),d=()=>{let I=new Set;return t().forEach(N=>i(I,n[N])),i(I,t()),I};Gx=pL(I=>{let N=pL(e).map(T=>T+96);if(N.length){let T=I>=o;N[0]-=32,N=qx(N),T&&(N=`Restricted[${N}]`);let M=d(),D=d(),P=!e();return{N,P:M,Q:D,M:P,R:T}}}),A1e=r(),Hx=new Map;let g=t().concat(eY(A1e)).sort((I,N)=>I-N);g.forEach((I,N)=>{let T=e(),M=g[N]=T?g[N-T]:{V:[],M:new Map};M.V.push(I),A1e.has(I)||Hx.set(I,M)});for(let{V:I,M:N}of new Set(Hx.values())){let T=[];for(let D of I){let P=Gx.filter(q=>_L(q,D)),G=T.find(({G:q})=>P.some(Y=>q.has(Y)));G||(G={G:new Set,V:[]},T.push(G)),G.V.push(D),i(G.G,P)}let M=T.flatMap(D=>eY(D.G));for(let{G:D,V:P}of T){let G=new Set(M.filter(q=>!D.has(q)));for(let q of P)N.set(q,G)}}YC=new Set;let y=new Set,_=I=>YC.has(I)?y.add(I):YC.add(I);for(let I of Gx){for(let N of I.P)_(N);for(let N of I.Q)_(N)}for(let I of YC)!Hx.has(I)&&!y.has(I)&&Hx.set(I,Rat);i(YC,bat(YC)),uat=KXt(e).map(I=>_1e.from(I)).sort(WXt),b1e=new Map;for(let I of uat){let N=[b1e];for(let T of I){let M=N.map(D=>{let P=D.get(T);return P||(P=new Map,D.set(T,P)),P});T===vat?N.push(...M):N=M}for(let T of N)T.V=I}}function v1e(e){return(Cat(e)?"":`${R1e(tY([e]))} `)+Aat(e)}function R1e(e){return`"${e}"\u200E`}function cZt(e){if(e.length>=4&&e[2]==cat&&e[3]==cat)throw new Error(`invalid label extension: "${qx(e.slice(0,4))}"`)}function uZt(e){for(let r=e.lastIndexOf(95);r>0;)if(e[--r]!==95)throw new Error("underscore allowed only at start")}function dZt(e){let t=e[0],r=oat.get(t);if(r)throw hL(`leading ${r}`);let i=e.length,n=-1;for(let o=1;o<i;o++){t=e[o];let d=oat.get(t);if(d){if(n==o)throw hL(`${r} + ${d}`);n=o+1,r=d}}if(n==i)throw hL(`trailing ${r}`)}function tY(e,t=1/0,r=Aat){let i=[];fZt(e[0])&&i.push("\u25CC"),e.length>t&&(t>>=1,e=[...e.slice(0,t),8230,...e.slice(-t)]);let n=0,o=e.length;for(let d=0;d<o;d++){let g=e[d];Cat(g)&&(i.push(qx(e.slice(n,d))),i.push(r(g)),n=d+1)}return i.push(qx(e.slice(n,o))),i.join("")}function fZt(e){return E1e(),WC.has(e)}function Cat(e){return E1e(),Iat.has(e)}function wat(e){return pZt(lZt(e,aZt,mZt))}function lZt(e,t,r){if(!e)return[];E1e();let i=0;return e.split(Eat).map(n=>{let o=YXt(n),d={input:o,offset:i};i+=o.length+1;try{let g=d.tokens=_Zt(o,t,r),y=g.length,_;if(!y)throw new Error("empty label");let I=d.output=g.flat();if(uZt(I),!(d.emoji=y>1||g[0].is_emoji)&&I.every(T=>T<128))cZt(I),_="ASCII";else{let T=g.flatMap(M=>M.is_emoji?[]:M);if(!T.length)_="Emoji";else{if(WC.has(I[0]))throw hL("leading combining mark");for(let P=1;P<y;P++){let G=g[P];if(!G.is_emoji&&WC.has(G[0]))throw hL(`emoji + combining mark: "${qx(g[P-1])} + ${tY([G[0]])}"`)}dZt(I);let M=eY(new Set(T)),[D]=AZt(M);gZt(D,T),hZt(D,M),_=D.N}}d.type=_}catch(g){d.error=g}return d})}function hZt(e,t){let r,i=[];for(let n of t){let o=Hx.get(n);if(o===Rat)return;if(o){let d=o.M.get(n);if(r=r?r.filter(g=>d.has(g)):eY(d),!r.length)return}else i.push(n)}if(r){for(let n of r)if(i.every(o=>_L(n,o)))throw new Error(`whole-script confusable: ${e.N}/${n.N}`)}}function AZt(e){let t=Gx;for(let r of e){let i=t.filter(n=>_L(n,r));if(!i.length)throw Gx.some(n=>_L(n,r))?Nat(t[0],r):Oat(r);if(t=i,i.length==1)break}return t}function pZt(e){return e.map(({input:t,error:r,output:i})=>{if(r){let n=r.message;throw new Error(e.length==1?n:`Invalid label ${R1e(tY(t,63))}: ${n}`)}return qx(i)}).join(Eat)}function Oat(e){return new Error(`disallowed character: ${v1e(e)}`)}function Nat(e,t){let r=v1e(t),i=Gx.find(n=>n.P.has(t));return i&&(r=`${i.N} ${r}`),new Error(`illegal mixture: ${e.N} + ${r}`)}function hL(e){return new Error(`illegal placement: ${e}`)}function gZt(e,t){for(let r of t)if(!_L(e,r))throw Nat(e,r);if(e.M){let r=bat(t);for(let i=1,n=r.length;i<n;i++)if(y1e.has(r[i])){let o=i+1;for(let d;o<n&&y1e.has(d=r[o]);o++)for(let g=i;g<o;g++)if(r[g]==d)throw new Error(`duplicate non-spacing marks: ${v1e(d)}`);if(o-i>aat)throw new Error(`excessive non-spacing marks: ${R1e(tY(r.slice(i-1,o)))} (${o-i}/${aat})`);i=o}}}function _Zt(e,t,r){let i=[],n=[];for(e=e.slice().reverse();e.length;){let o=yZt(e);if(o)n.length&&(i.push(t(n)),n=[]),i.push(r(o));else{let d=e.pop();if(YC.has(d))n.push(d);else{let g=m1e.get(d);if(g)n.push(...g);else if(!Sat.has(d))throw Oat(d)}}}return n.length&&i.push(t(n)),i}function mZt(e){return e.filter(t=>t!=vat)}function yZt(e,t){let r=b1e,i,n=e.length;for(;n&&(r=r.get(e[--n]),!!r);){let{V:o}=r;o&&(i=o,t&&t.push(...e.slice(n).reverse()),e.length=n)}return i}var Tat=new Uint8Array(32);Tat.fill(0);function xat(e){return _r(e.length!==0,"invalid ENS name; empty component","comp",e),e}function S1e(e){let t=rc(rY(e)),r=[];if(e.length===0)return r;let i=0;for(let n=0;n<t.length;n++)t[n]===46&&(r.push(xat(t.slice(i,n))),i=n+1);return _r(i<t.length,"invalid ENS name; empty component","name",e),r.push(xat(t.slice(i))),r}function rY(e){try{if(e.length===0)throw new Error("empty label");return wat(e)}catch(t){_r(!1,`invalid ENS name (${t.message})`,"name",e)}}function I1e(e){try{return S1e(e).length!==0}catch{}return!1}function JI(e){_r(typeof e=="string","invalid ENS name; not a string","name",e),_r(e.length,"invalid ENS name (empty label)","name",e);let t=Tat,r=S1e(e);for(;r.length;)t=Xa(Jo([t,Xa(r.pop())]));return vn(t)}function mL(e,t){let r=t??63;return _r(r<=255,"DNS encoded label cannot exceed 255","length",r),vn(Jo(S1e(e).map(i=>{_r(i.length<=r,`label ${JSON.stringify(e)} exceeds ${r} bytes`,"name",e);let n=new Uint8Array(i.length+1);return n.set(i,1),n[0]=n.length-1,n})))+"00"}J();K();z();J();K();z();J();K();z();function C1e(e,t){return{address:Co(e),storageKeys:t.map((r,i)=>(_r(ns(r,32),"invalid slot",`storageKeys[${i}]`,r),r.toLowerCase()))}}function ih(e){if(Array.isArray(e))return e.map((r,i)=>Array.isArray(r)?(_r(r.length===2,"invalid slot set",`value[${i}]`,r),C1e(r[0],r[1])):(_r(r!=null&&typeof r=="object","invalid address-slot set","value",e),C1e(r.address,r.storageKeys)));_r(e!=null&&typeof e=="object","invalid access list","value",e);let t=Object.keys(e).map(r=>{let i=e[r].reduce((n,o)=>(n[o]=!0,n),{});return C1e(r,Object.keys(i).sort())});return t.sort((r,i)=>r.address.localeCompare(i.address)),t}J();K();z();function rg(e){let t;return typeof e=="string"?t=rh.computePublicKey(e,!1):t=e.publicKey,Co(Xa("0x"+t.substring(4)).substring(26))}function BR(e,t){return rg(rh.recoverPublicKey(e,t))}J();K();z();var _l=BigInt(0),bZt=BigInt(2),EZt=BigInt(27),vZt=BigInt(28),RZt=BigInt(35),SZt=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),w1e=4096*32;function Bat(e,t){let r=e.toString(16);for(;r.length<2;)r="0"+r;return r+=Bd(t).substring(4),"0x"+r}function nY(e){return e==="0x"?null:Co(e)}function O1e(e,t){try{return ih(e)}catch(r){_r(!1,r.message,t,e)}}function yL(e,t){return e==="0x"?0:Zi(e,t)}function Md(e,t){if(e==="0x")return _l;let r=gi(e,t);return _r(r<=SZt,"value exceeds uint size",t,r),r}function n0(e,t){let r=gi(e,"value"),i=Yu(r);return _r(i.length<=32,"value too large",`tx.${t}`,r),i}function N1e(e){return ih(e).map(t=>[t.address,t.storageKeys])}function IZt(e,t){_r(Array.isArray(e),`invalid ${t}`,"value",e);for(let r=0;r<e.length;r++)_r(ns(e[r],32),"invalid ${ param } hash",`value[${r}]`,e[r]);return e}function CZt(e){let t=DI(e);_r(Array.isArray(t)&&(t.length===9||t.length===6),"invalid field count for legacy transaction","data",e);let r={type:0,nonce:yL(t[0],"nonce"),gasPrice:Md(t[1],"gasPrice"),gasLimit:Md(t[2],"gasLimit"),to:nY(t[3]),value:Md(t[4],"value"),data:vn(t[5]),chainId:_l};if(t.length===6)return r;let i=Md(t[6],"v"),n=Md(t[7],"r"),o=Md(t[8],"s");if(n===_l&&o===_l)r.chainId=i;else{let d=(i-RZt)/bZt;d<_l&&(d=_l),r.chainId=d,_r(d!==_l||i===EZt||i===vZt,"non-canonical legacy v","v",t[6]),r.signature=th.from({r:Hf(t[7],32),s:Hf(t[8],32),v:i})}return r}function wZt(e,t){let r=[n0(e.nonce,"nonce"),n0(e.gasPrice||0,"gasPrice"),n0(e.gasLimit,"gasLimit"),e.to||"0x",n0(e.value,"value"),e.data],i=_l;if(e.chainId!=_l)i=gi(e.chainId,"tx.chainId"),_r(!t||t.networkV==null||t.legacyChainId===i,"tx.chainId/sig.v mismatch","sig",t);else if(e.signature){let o=e.signature.legacyChainId;o!=null&&(i=o)}if(!t)return i!==_l&&(r.push(Yu(i)),r.push("0x"),r.push("0x")),D_(r);let n=BigInt(27+t.yParity);return i!==_l?n=th.getChainIdV(i,t.v):BigInt(t.v)!==n&&_r(!1,"tx.chainId/sig.v mismatch","sig",t),r.push(Yu(n)),r.push(Yu(t.r)),r.push(Yu(t.s)),D_(r)}function x1e(e,t){let r;try{if(r=yL(t[0],"yParity"),r!==0&&r!==1)throw new Error("bad yParity")}catch{_r(!1,"invalid yParity","yParity",t[0])}let i=Hf(t[1],32),n=Hf(t[2],32),o=th.from({r:i,s:n,yParity:r});e.signature=o}function OZt(e){let t=DI(Dn(e).slice(1));_r(Array.isArray(t)&&(t.length===9||t.length===12),"invalid field count for transaction type: 2","data",vn(e));let r={type:2,chainId:Md(t[0],"chainId"),nonce:yL(t[1],"nonce"),maxPriorityFeePerGas:Md(t[2],"maxPriorityFeePerGas"),maxFeePerGas:Md(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:Md(t[4],"gasLimit"),to:nY(t[5]),value:Md(t[6],"value"),data:vn(t[7]),accessList:O1e(t[8],"accessList")};return t.length===9||x1e(r,t.slice(9)),r}function NZt(e,t){let r=[n0(e.chainId,"chainId"),n0(e.nonce,"nonce"),n0(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),n0(e.maxFeePerGas||0,"maxFeePerGas"),n0(e.gasLimit,"gasLimit"),e.to||"0x",n0(e.value,"value"),e.data,N1e(e.accessList||[])];return t&&(r.push(n0(t.yParity,"yParity")),r.push(Yu(t.r)),r.push(Yu(t.s))),Jo(["0x02",D_(r)])}function xZt(e){let t=DI(Dn(e).slice(1));_r(Array.isArray(t)&&(t.length===8||t.length===11),"invalid field count for transaction type: 1","data",vn(e));let r={type:1,chainId:Md(t[0],"chainId"),nonce:yL(t[1],"nonce"),gasPrice:Md(t[2],"gasPrice"),gasLimit:Md(t[3],"gasLimit"),to:nY(t[4]),value:Md(t[5],"value"),data:vn(t[6]),accessList:O1e(t[7],"accessList")};return t.length===8||x1e(r,t.slice(8)),r}function TZt(e,t){let r=[n0(e.chainId,"chainId"),n0(e.nonce,"nonce"),n0(e.gasPrice||0,"gasPrice"),n0(e.gasLimit,"gasLimit"),e.to||"0x",n0(e.value,"value"),e.data,N1e(e.accessList||[])];return t&&(r.push(n0(t.yParity,"recoveryParam")),r.push(Yu(t.r)),r.push(Yu(t.s))),Jo(["0x01",D_(r)])}function BZt(e){let t=DI(Dn(e).slice(1)),r="3",i=null;if(t.length===4&&Array.isArray(t[0])){r="3 (network format)";let o=t[1],d=t[2],g=t[3];_r(Array.isArray(o),"invalid network format: blobs not an array","fields[1]",o),_r(Array.isArray(d),"invalid network format: commitments not an array","fields[2]",d),_r(Array.isArray(g),"invalid network format: proofs not an array","fields[3]",g),_r(o.length===d.length,"invalid network format: blobs/commitments length mismatch","fields",t),_r(o.length===g.length,"invalid network format: blobs/proofs length mismatch","fields",t),i=[];for(let y=0;y<t[1].length;y++)i.push({data:o[y],commitment:d[y],proof:g[y]});t=t[0]}_r(Array.isArray(t)&&(t.length===11||t.length===14),`invalid field count for transaction type: ${r}`,"data",vn(e));let n={type:3,chainId:Md(t[0],"chainId"),nonce:yL(t[1],"nonce"),maxPriorityFeePerGas:Md(t[2],"maxPriorityFeePerGas"),maxFeePerGas:Md(t[3],"maxFeePerGas"),gasPrice:null,gasLimit:Md(t[4],"gasLimit"),to:nY(t[5]),value:Md(t[6],"value"),data:vn(t[7]),accessList:O1e(t[8],"accessList"),maxFeePerBlobGas:Md(t[9],"maxFeePerBlobGas"),blobVersionedHashes:t[10]};i&&(n.blobs=i),_r(n.to!=null,`invalid address for transaction type: ${r}`,"data",e),_r(Array.isArray(n.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",e);for(let o=0;o<n.blobVersionedHashes.length;o++)_r(ns(n.blobVersionedHashes[o],32),`invalid blobVersionedHash at index ${o}: must be length 32`,"data",e);return t.length===11||x1e(n,t.slice(11)),n}function MZt(e,t,r){let i=[n0(e.chainId,"chainId"),n0(e.nonce,"nonce"),n0(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),n0(e.maxFeePerGas||0,"maxFeePerGas"),n0(e.gasLimit,"gasLimit"),e.to||ry,n0(e.value,"value"),e.data,N1e(e.accessList||[]),n0(e.maxFeePerBlobGas||0,"maxFeePerBlobGas"),IZt(e.blobVersionedHashes||[],"blobVersionedHashes")];return t&&(i.push(n0(t.yParity,"yParity")),i.push(Yu(t.r)),i.push(Yu(t.s)),r)?Jo(["0x03",D_([i,r.map(n=>n.data),r.map(n=>n.commitment),r.map(n=>n.proof)])]):Jo(["0x03",D_(i)])}var ng=class e{#e;#t;#r;#n;#i;#a;#o;#s;#f;#u;#A;#p;#c;#d;#l;#h;get type(){return this.#e}set type(t){switch(t){case null:this.#e=null;break;case 0:case"legacy":this.#e=0;break;case 1:case"berlin":case"eip-2930":this.#e=1;break;case 2:case"london":case"eip-1559":this.#e=2;break;case 3:case"cancun":case"eip-4844":this.#e=3;break;default:_r(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){let t=this.#t;return t==null&&this.type===3?ry:t}set to(t){this.#t=t==null?null:Co(t)}get nonce(){return this.#n}set nonce(t){this.#n=Zi(t,"value")}get gasLimit(){return this.#i}set gasLimit(t){this.#i=gi(t)}get gasPrice(){let t=this.#a;return t==null&&(this.type===0||this.type===1)?_l:t}set gasPrice(t){this.#a=t==null?null:gi(t,"gasPrice")}get maxPriorityFeePerGas(){let t=this.#o;return t??(this.type===2||this.type===3?_l:null)}set maxPriorityFeePerGas(t){this.#o=t==null?null:gi(t,"maxPriorityFeePerGas")}get maxFeePerGas(){let t=this.#s;return t??(this.type===2||this.type===3?_l:null)}set maxFeePerGas(t){this.#s=t==null?null:gi(t,"maxFeePerGas")}get data(){return this.#r}set data(t){this.#r=vn(t)}get value(){return this.#f}set value(t){this.#f=gi(t,"value")}get chainId(){return this.#u}set chainId(t){this.#u=gi(t)}get signature(){return this.#A||null}set signature(t){this.#A=t==null?null:th.from(t)}get accessList(){let t=this.#p||null;return t??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(t){this.#p=t==null?null:ih(t)}get maxFeePerBlobGas(){let t=this.#c;return t==null&&this.type===3?_l:t}set maxFeePerBlobGas(t){this.#c=t==null?null:gi(t,"maxFeePerBlobGas")}get blobVersionedHashes(){let t=this.#d;return t==null&&this.type===3?[]:t}set blobVersionedHashes(t){if(t!=null){_r(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let r=0;r<t.length;r++)_r(ns(t[r],32),"invalid blobVersionedHash",`value[${r}]`,t[r])}this.#d=t}get blobs(){return this.#h==null?null:this.#h.map(t=>Object.assign({},t))}set blobs(t){if(t==null){this.#h=null;return}let r=[],i=[];for(let n=0;n<t.length;n++){let o=t[n];if(zm(o)){Xr(this.#l,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let d=Dn(o);if(_r(d.length<=w1e,"blob is too large",`blobs[${n}]`,o),d.length!==w1e){let _=new Uint8Array(w1e);_.set(d),d=_}let g=this.#l.blobToKzgCommitment(d),y=vn(this.#l.computeBlobKzgProof(d,g));r.push({data:vn(d),commitment:vn(g),proof:y}),i.push(Bat(1,g))}else{let d=vn(o.commitment);r.push({data:vn(o.data),commitment:d,proof:vn(o.proof)}),i.push(Bat(1,d))}}this.#h=r,this.#d=i}get kzg(){return this.#l}set kzg(t){this.#l=t}constructor(){this.#e=null,this.#t=null,this.#n=0,this.#i=_l,this.#a=null,this.#o=null,this.#s=null,this.#r="0x",this.#f=_l,this.#u=_l,this.#A=null,this.#p=null,this.#c=null,this.#d=null,this.#h=null,this.#l=null}get hash(){return this.signature==null?null:Xa(this.#g(!0,!1))}get unsignedHash(){return Xa(this.unsignedSerialized)}get from(){return this.signature==null?null:BR(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:rh.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}#g(t,r){Xr(!t||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let i=t?this.signature:null;switch(this.inferType()){case 0:return wZt(this,i);case 1:return TZt(this,i);case 2:return NZt(this,i);case 3:return MZt(this,i,r?this.blobs:null)}Xr(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#g(!0,!0)}get unsignedSerialized(){return this.#g(!1,!1)}inferType(){let t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){let t=this.gasPrice!=null,r=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,i=this.accessList!=null,n=this.#c!=null||this.#d;this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&Xr(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),Xr(!r||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),Xr(this.type!==0||!i,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let o=[];return this.type!=null?o.push(this.type):r?o.push(2):t?(o.push(1),i||o.push(0)):i?(o.push(1),o.push(2)):(n&&this.to||(o.push(0),o.push(1),o.push(2)),o.push(3)),o.sort(),o}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return e.from(this)}toJSON(){let t=r=>r==null?null:r.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(t){if(t==null)return new e;if(typeof t=="string"){let i=Dn(t);if(i[0]>=127)return e.from(CZt(i));switch(i[0]){case 1:return e.from(xZt(i));case 2:return e.from(OZt(i));case 3:return e.from(BZt(i))}Xr(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let r=new e;return t.type!=null&&(r.type=t.type),t.to!=null&&(r.to=t.to),t.nonce!=null&&(r.nonce=t.nonce),t.gasLimit!=null&&(r.gasLimit=t.gasLimit),t.gasPrice!=null&&(r.gasPrice=t.gasPrice),t.maxPriorityFeePerGas!=null&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas),t.maxFeePerGas!=null&&(r.maxFeePerGas=t.maxFeePerGas),t.maxFeePerBlobGas!=null&&(r.maxFeePerBlobGas=t.maxFeePerBlobGas),t.data!=null&&(r.data=t.data),t.value!=null&&(r.value=t.value),t.chainId!=null&&(r.chainId=t.chainId),t.signature!=null&&(r.signature=th.from(t.signature)),t.accessList!=null&&(r.accessList=t.accessList),t.blobVersionedHashes!=null&&(r.blobVersionedHashes=t.blobVersionedHashes),t.kzg!=null&&(r.kzg=t.kzg),t.blobs!=null&&(r.blobs=t.blobs),t.hash!=null&&(_r(r.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),_r(r.hash===t.hash,"hash mismatch","tx",t)),t.from!=null&&(_r(r.isSigned(),"unsigned transaction cannot define '.from'","tx",t),_r(r.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),r}};function zI(e){return typeof e=="string"&&(e=rc(e)),Xa(Jo([rc(dL),rc(String(e.length)),e]))}function T1e(e,t){let r=zI(e);return BR(r,t)}J();K();z();var DZt=new RegExp("^bytes([0-9]+)$"),kZt=new RegExp("^(u?int)([0-9]*)$"),PZt=new RegExp("^(.*)\\[([0-9]*)\\]$");function Mat(e,t,r){switch(e){case"address":return r?Dn(Hf(t,32)):Dn(Co(t));case"string":return rc(t);case"bytes":return Dn(t);case"bool":return t=t?"0x01":"0x00",r?Dn(Hf(t,32)):Dn(t)}let i=e.match(kZt);if(i){let n=i[1]==="int",o=parseInt(i[2]||"256");return _r((!i[2]||i[2]===String(o))&&o%8===0&&o!==0&&o<=256,"invalid number type","type",e),r&&(o=256),n&&(t=SR(t,o)),Dn(Hf(Yu(t),o/8))}if(i=e.match(DZt),i){let n=parseInt(i[1]);return _r(String(n)===i[1]&&n!==0&&n<=32,"invalid bytes type","type",e),_r(Hp(t)===n,`invalid value for ${e}`,"value",t),r?Dn(vR(t,32)):t}if(i=e.match(PZt),i&&Array.isArray(t)){let n=i[1],o=parseInt(i[2]||String(t.length));_r(o===t.length,`invalid array length for ${e}`,"value",t);let d=[];return t.forEach(function(g){d.push(Mat(n,g,!0))}),Dn(Jo(d))}_r(!1,"invalid type","type",e)}function bL(e,t){_r(e.length===t.length,"wrong number of values; expected ${ types.length }","values",t);let r=[];return e.forEach(function(i,n){r.push(Mat(i,t[n]))}),vn(Jo(r))}function B1e(e,t){return Xa(bL(e,t))}function M1e(e,t){return Bd(bL(e,t))}J();K();z();var Lat=new Uint8Array(32);Lat.fill(0);var LZt=BigInt(-1),Uat=BigInt(0),Fat=BigInt(1),UZt=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function FZt(e){let t=Dn(e),r=t.length%32;return r?Jo([t,Lat.slice(r)]):vn(t)}var QZt=gl(Fat,32),HZt=gl(Uat,32),Dat={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},D1e=["name","version","chainId","verifyingContract","salt"];function kat(e){return function(t){return _r(typeof t=="string",`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}var GZt={name:kat("name"),version:kat("version"),chainId:function(e){let t=gi(e,"domain.chainId");return _r(t>=0,"invalid chain ID","domain.chainId",e),Number.isSafeInteger(t)?Number(t):Gp(t)},verifyingContract:function(e){try{return Co(e).toLowerCase()}catch{}_r(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){let t=Dn(e,"domain.salt");return _r(t.length===32,'invalid domain value "salt"',"domain.salt",e),vn(t)}};function k1e(e){{let t=e.match(/^(u?)int(\d+)$/);if(t){let r=t[1]==="",i=parseInt(t[2]);_r(i%8===0&&i!==0&&i<=256&&t[2]===String(i),"invalid numeric width","type",e);let n=j1(UZt,r?i-1:i),o=r?(n+Fat)*LZt:Uat;return function(d){let g=gi(d,"value");return _r(g>=o&&g<=n,`value out-of-bounds for ${e}`,"value",g),gl(r?SR(g,256):g,32)}}}{let t=e.match(/^bytes(\d+)$/);if(t){let r=parseInt(t[1]);return _r(r!==0&&r<=32&&t[1]===String(r),"invalid bytes width","type",e),function(i){let n=Dn(i);return _r(n.length===r,`invalid length for ${e}`,"value",i),FZt(i)}}}switch(e){case"address":return function(t){return Hf(Co(t),32)};case"bool":return function(t){return t?QZt:HZt};case"bytes":return function(t){return Xa(t)};case"string":return function(t){return nh(t)}}return null}function Pat(e,t){return`${e}(${t.map(({name:r,type:i})=>i+" "+r).join(",")})`}function iY(e){let t=e.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return t?{base:t[1],index:t[2]+t[4],array:{base:t[1],prefix:t[1]+t[2],count:t[5]?parseInt(t[5]):-1}}:{base:e}}var P_=class e{primaryType;#e;get types(){return JSON.parse(this.#e)}#t;#r;constructor(t){this.#t=new Map,this.#r=new Map;let r=new Map,i=new Map,n=new Map,o={};Object.keys(t).forEach(y=>{o[y]=t[y].map(({name:_,type:I})=>{let{base:N,index:T}=iY(I);return N==="int"&&!t.int&&(N="int256"),N==="uint"&&!t.uint&&(N="uint256"),{name:_,type:N+(T||"")}}),r.set(y,new Set),i.set(y,[]),n.set(y,new Set)}),this.#e=JSON.stringify(o);for(let y in o){let _=new Set;for(let I of o[y]){_r(!_.has(I.name),`duplicate variable name ${JSON.stringify(I.name)} in ${JSON.stringify(y)}`,"types",t),_.add(I.name);let N=iY(I.type).base;_r(N!==y,`circular type reference to ${JSON.stringify(N)}`,"types",t),!k1e(N)&&(_r(i.has(N),`unknown type ${JSON.stringify(N)}`,"types",t),i.get(N).push(y),r.get(y).add(N))}}let d=Array.from(i.keys()).filter(y=>i.get(y).length===0);_r(d.length!==0,"missing primary type","types",t),_r(d.length===1,`ambiguous primary types or unused types: ${d.map(y=>JSON.stringify(y)).join(", ")}`,"types",t),Un(this,{primaryType:d[0]});function g(y,_){_r(!_.has(y),`circular type reference to ${JSON.stringify(y)}`,"types",t),_.add(y);for(let I of r.get(y))if(i.has(I)){g(I,_);for(let N of _)n.get(N).add(I)}_.delete(y)}g(this.primaryType,new Set);for(let[y,_]of n){let I=Array.from(_);I.sort(),this.#t.set(y,Pat(y,o[y])+I.map(N=>Pat(N,o[N])).join(""))}}getEncoder(t){let r=this.#r.get(t);return r||(r=this.#n(t),this.#r.set(t,r)),r}#n(t){{let n=k1e(t);if(n)return n}let r=iY(t).array;if(r){let n=r.prefix,o=this.getEncoder(n);return d=>{_r(r.count===-1||r.count===d.length,`array length mismatch; expected length ${r.count}`,"value",d);let g=d.map(o);return this.#t.has(n)&&(g=g.map(Xa)),Xa(Jo(g))}}let i=this.types[t];if(i){let n=nh(this.#t.get(t));return o=>{let d=i.map(({name:g,type:y})=>{let _=this.getEncoder(y)(o[g]);return this.#t.has(y)?Xa(_):_});return d.unshift(n),Jo(d)}}_r(!1,`unknown type: ${t}`,"type",t)}encodeType(t){let r=this.#t.get(t);return _r(r,`unknown type: ${JSON.stringify(t)}`,"name",t),r}encodeData(t,r){return this.getEncoder(t)(r)}hashStruct(t,r){return Xa(this.encodeData(t,r))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,r,i){if(k1e(t))return i(t,r);let n=iY(t).array;if(n)return _r(n.count===-1||n.count===r.length,`array length mismatch; expected length ${n.count}`,"value",r),r.map(d=>this._visit(n.prefix,d,i));let o=this.types[t];if(o)return o.reduce((d,{name:g,type:y})=>(d[g]=this._visit(y,r[g],i),d),{});_r(!1,`unknown type: ${t}`,"type",t)}visit(t,r){return this._visit(this.primaryType,t,r)}static from(t){return new e(t)}static getPrimaryType(t){return e.from(t).primaryType}static hashStruct(t,r,i){return e.from(r).hashStruct(t,i)}static hashDomain(t){let r=[];for(let i in t){if(t[i]==null)continue;let n=Dat[i];_r(n,`invalid typed-data domain key: ${JSON.stringify(i)}`,"domain",t),r.push({name:i,type:n})}return r.sort((i,n)=>D1e.indexOf(i.name)-D1e.indexOf(n.name)),e.hashStruct("EIP712Domain",{EIP712Domain:r},t)}static encode(t,r,i){return Jo(["0x1901",e.hashDomain(t),e.from(r).hash(i)])}static hash(t,r,i){return Xa(e.encode(t,r,i))}static async resolveNames(t,r,i,n){t=Object.assign({},t);for(let g in t)t[g]==null&&delete t[g];let o={};t.verifyingContract&&!ns(t.verifyingContract,20)&&(o[t.verifyingContract]="0x");let d=e.from(r);d.visit(i,(g,y)=>(g==="address"&&!ns(y,20)&&(o[y]="0x"),y));for(let g in o)o[g]=await n(g);return t.verifyingContract&&o[t.verifyingContract]&&(t.verifyingContract=o[t.verifyingContract]),i=d.visit(i,(g,y)=>g==="address"&&o[y]?o[y]:y),{domain:t,value:i}}static getPayload(t,r,i){e.hashDomain(t);let n={},o=[];D1e.forEach(y=>{let _=t[y];_!=null&&(n[y]=GZt[y](_),o.push({name:y,type:Dat[y]}))});let d=e.from(r);r=d.types;let g=Object.assign({},r);return _r(g.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",r),g.EIP712Domain=o,d.encode(i),{types:g,domain:n,primaryType:d.primaryType,message:d.visit(i,(y,_)=>{if(y.match(/^bytes(\d*)/))return vn(Dn(_));if(y.match(/^u?int/))return gi(_).toString();switch(y){case"address":return _.toLowerCase();case"bool":return!!_;case"string":return _r(typeof _=="string","invalid string","value",_),_}_r(!1,"unsupported type","type",y)})}}};function P1e(e,t,r,i){return BR(P_.hash(e,t,r),i)}function FA(e){let t=new Set;return e.forEach(r=>t.add(r)),Object.freeze(t)}var qZt="external public payable override",VZt=FA(qZt.split(" ")),Yat="constant external internal payable private public pure view override",JZt=FA(Yat.split(" ")),Wat="constructor error event fallback function receive struct",Xat=FA(Wat.split(" ")),Zat="calldata memory storage payable indexed",zZt=FA(Zat.split(" ")),KZt="tuple returns",$Zt=[Wat,Zat,KZt,Yat].join(" "),YZt=FA($Zt.split(" ")),WZt={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},XZt=new RegExp("^(\\s*)"),ZZt=new RegExp("^([0-9]+)"),jZt=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),jat=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),est=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),iy=class e{#e;#t;get offset(){return this.#e}get length(){return this.#t.length-this.#e}constructor(t){this.#e=0,this.#t=t.slice()}clone(){return new e(this.#t)}reset(){this.#e=0}#r(t=0,r=0){return new e(this.#t.slice(t,r).map(i=>Object.freeze(Object.assign({},i,{match:i.match-t,linkBack:i.linkBack-t,linkNext:i.linkNext-t}))))}popKeyword(t){let r=this.peek();if(r.type!=="KEYWORD"||!t.has(r.text))throw new Error(`expected keyword ${r.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){let r=this.peek();throw new Error(`expected ${t}; got ${r.type} ${JSON.stringify(r.text)}`)}return this.pop().text}popParen(){let t=this.peek();if(t.type!=="OPEN_PAREN")throw new Error("bad start");let r=this.#r(this.#e+1,t.match+1);return this.#e=t.match+1,r}popParams(){let t=this.peek();if(t.type!=="OPEN_PAREN")throw new Error("bad start");let r=[];for(;this.#e<t.match-1;){let i=this.peek().linkNext;r.push(this.#r(this.#e+1,i)),this.#e=i}return this.#e=t.match+1,r}peek(){if(this.#e>=this.#t.length)throw new Error("out-of-bounds");return this.#t[this.#e]}peekKeyword(t){let r=this.peekType("KEYWORD");return r!=null&&t.has(r)?r:null}peekType(t){if(this.length===0)return null;let r=this.peek();return r.type===t?r.text:null}pop(){let t=this.peek();return this.#e++,t}toString(){let t=[];for(let r=this.#e;r<this.#t.length;r++){let i=this.#t[r];t.push(`${i.type}:${i.text}`)}return`<TokenString ${t.join(" ")}>`}};function $I(e){let t=[],r=d=>{let g=o<e.length?JSON.stringify(e[o]):"$EOI";throw new Error(`invalid token ${g} at ${o}: ${d}`)},i=[],n=[],o=0;for(;o<e.length;){let d=e.substring(o),g=d.match(XZt);g&&(o+=g[1].length,d=e.substring(o));let y={depth:i.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:o,value:-1};t.push(y);let _=WZt[d[0]]||"";if(_){if(y.type=_,y.text=d[0],o++,_==="OPEN_PAREN")i.push(t.length-1),n.push(t.length-1);else if(_=="CLOSE_PAREN")i.length===0&&r("no matching open bracket"),y.match=i.pop(),t[y.match].match=t.length-1,y.depth--,y.linkBack=n.pop(),t[y.linkBack].linkNext=t.length-1;else if(_==="COMMA")y.linkBack=n.pop(),t[y.linkBack].linkNext=t.length-1,n.push(t.length-1);else if(_==="OPEN_BRACKET")y.type="BRACKET";else if(_==="CLOSE_BRACKET"){let I=t.pop().text;if(t.length>0&&t[t.length-1].type==="NUMBER"){let N=t.pop().text;I=N+I,t[t.length-1].value=Zi(N)}if(t.length===0||t[t.length-1].type!=="BRACKET")throw new Error("missing opening bracket");t[t.length-1].text+=I}continue}if(g=d.match(jZt),g){if(y.text=g[1],o+=y.text.length,YZt.has(y.text)){y.type="KEYWORD";continue}if(y.text.match(est)){y.type="TYPE";continue}y.type="ID";continue}if(g=d.match(ZZt),g){y.text=g[1],y.type="NUMBER",o+=y.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(d[0])} at position ${o}`)}return new iy(t.map(d=>Object.freeze(d)))}function Qat(e,t){let r=[];for(let i in t.keys())e.has(i)&&r.push(i);if(r.length>1)throw new Error(`conflicting types: ${r.join(", ")}`)}function oY(e,t){if(t.peekKeyword(Xat)){let r=t.pop().text;if(r!==e)throw new Error(`expected ${e}, got ${r}`)}return t.popType("ID")}function DR(e,t){let r=new Set;for(;;){let i=e.peekType("KEYWORD");if(i==null||t&&!t.has(i))break;if(e.pop(),r.has(i))throw new Error(`duplicate keywords: ${JSON.stringify(i)}`);r.add(i)}return Object.freeze(r)}function tst(e){let t=DR(e,JZt);return Qat(t,FA("constant payable nonpayable".split(" "))),Qat(t,FA("pure view payable nonpayable".split(" "))),t.has("view")?"view":t.has("pure")?"pure":t.has("payable")?"payable":t.has("nonpayable")?"nonpayable":t.has("constant")?"view":"nonpayable"}function MR(e,t){return e.popParams().map(r=>pd.from(r,t))}function rst(e){if(e.peekType("AT")){if(e.pop(),e.peekType("NUMBER"))return gi(e.pop().text);throw new Error("invalid gas")}return null}function XC(e){if(e.length)throw new Error(`unexpected tokens at offset ${e.offset}: ${e.toString()}`)}var ejt=new RegExp(/^(.*)\[([0-9]*)\]$/);function Hat(e){let t=e.match(est);if(_r(t,"invalid type","type",e),e==="uint")return"uint256";if(e==="int")return"int256";if(t[2]){let r=parseInt(t[2]);_r(r!==0&&r<=32,"invalid bytes length","type",e)}else if(t[3]){let r=parseInt(t[3]);_r(r!==0&&r<=256&&r%8===0,"invalid numeric width","type",e)}return e}var $0={},qp=Symbol.for("_ethers_internal"),Gat="_ParamTypeInternal",qat="_ErrorInternal",Vat="_EventInternal",Jat="_ConstructorInternal",zat="_FallbackInternal",Kat="_FunctionInternal",$at="_StructInternal",pd=class e{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(t,r,i,n,o,d,g,y){if(jl(t,$0,"ParamType"),Object.defineProperty(this,qp,{value:Gat}),d&&(d=Object.freeze(d.slice())),n==="array"){if(g==null||y==null)throw new Error("")}else if(g!=null||y!=null)throw new Error("");if(n==="tuple"){if(d==null)throw new Error("")}else if(d!=null)throw new Error("");Un(this,{name:r,type:i,baseType:n,indexed:o,components:d,arrayLength:g,arrayChildren:y})}format(t){if(t==null&&(t="sighash"),t==="json"){let i=this.name||"";if(this.isArray()){let o=JSON.parse(this.arrayChildren.format("json"));return o.name=i,o.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(o)}let n={type:this.baseType==="tuple"?"tuple":this.type,name:i};return typeof this.indexed=="boolean"&&(n.indexed=this.indexed),this.isTuple()&&(n.components=this.components.map(o=>JSON.parse(o.format(t)))),JSON.stringify(n)}let r="";return this.isArray()?(r+=this.arrayChildren.format(t),r+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?r+="("+this.components.map(i=>i.format(t)).join(t==="full"?", ":",")+")":r+=this.type,t!=="sighash"&&(this.indexed===!0&&(r+=" indexed"),t==="full"&&this.name&&(r+=" "+this.name)),r}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(t,r){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");let i=this;return t.map(n=>i.arrayChildren.walk(n,r))}if(this.isTuple()){if(!Array.isArray(t))throw new Error("invalid tuple value");if(t.length!==this.components.length)throw new Error("array is wrong length");let i=this;return t.map((n,o)=>i.components[o].walk(n,r))}return r(this.type,t)}#e(t,r,i,n){if(this.isArray()){if(!Array.isArray(r))throw new Error("invalid array value");if(this.arrayLength!==-1&&r.length!==this.arrayLength)throw new Error("array is wrong length");let d=this.arrayChildren,g=r.slice();g.forEach((y,_)=>{d.#e(t,y,i,I=>{g[_]=I})}),n(g);return}if(this.isTuple()){let d=this.components,g;if(Array.isArray(r))g=r.slice();else{if(r==null||typeof r!="object")throw new Error("invalid tuple value");g=d.map(y=>{if(!y.name)throw new Error("cannot use object value with unnamed components");if(!(y.name in r))throw new Error(`missing value for component ${y.name}`);return r[y.name]})}if(g.length!==this.components.length)throw new Error("array is wrong length");g.forEach((y,_)=>{d[_].#e(t,y,i,I=>{g[_]=I})}),n(g);return}let o=i(this.type,r);o.then?t.push((async function(){n(await o)})()):n(o)}async walkAsync(t,r){let i=[],n=[t];return this.#e(i,t,r,o=>{n[0]=o}),i.length&&await Promise.all(i),n[0]}static from(t,r){if(e.isParamType(t))return t;if(typeof t=="string")try{return e.from($I(t),r)}catch{_r(!1,"invalid param type","obj",t)}else if(t instanceof iy){let g="",y="",_=null;DR(t,FA(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(y="tuple",_=t.popParams().map(P=>e.from(P)),g=`tuple(${_.map(P=>P.format()).join(",")})`):(g=Hat(t.popType("TYPE")),y=g);let I=null,N=null;for(;t.length&&t.peekType("BRACKET");){let P=t.pop();I=new e($0,"",g,y,null,_,N,I),N=P.value,g+=P.text,y="array",_=null}let T=null;if(DR(t,zZt).has("indexed")){if(!r)throw new Error("");T=!0}let D=t.peekType("ID")?t.pop().text:"";if(t.length)throw new Error("leftover tokens");return new e($0,D,g,y,T,_,N,I)}let i=t.name;_r(!i||typeof i=="string"&&i.match(jat),"invalid name","obj.name",i);let n=t.indexed;n!=null&&(_r(r,"parameter cannot be indexed","obj.indexed",t.indexed),n=!!n);let o=t.type,d=o.match(ejt);if(d){let g=parseInt(d[2]||"-1"),y=e.from({type:d[1],components:t.components});return new e($0,i||"",o,"array",n,null,g,y)}if(o==="tuple"||o.startsWith("tuple(")||o.startsWith("(")){let g=t.components!=null?t.components.map(_=>e.from(_)):null;return new e($0,i||"",o,"tuple",n,g,null,null)}return o=Hat(t.type),new e($0,i||"",o,o,n,null,null,null)}static isParamType(t){return t&&t[qp]===Gat}},Qb=class e{type;inputs;constructor(t,r,i){jl(t,$0,"Fragment"),i=Object.freeze(i.slice()),Un(this,{type:r,inputs:i})}static from(t){if(typeof t=="string"){try{e.from(JSON.parse(t))}catch{}return e.from($I(t))}if(t instanceof iy)switch(t.peekKeyword(Xat)){case"constructor":return Ub.from(t);case"error":return QA.from(t);case"event":return Lb.from(t);case"fallback":case"receive":return ZC.from(t);case"function":return Fb.from(t);case"struct":return KI.from(t)}else if(typeof t=="object"){switch(t.type){case"constructor":return Ub.from(t);case"error":return QA.from(t);case"event":return Lb.from(t);case"fallback":case"receive":return ZC.from(t);case"function":return Fb.from(t);case"struct":return KI.from(t)}Xr(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}_r(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return Ub.isFragment(t)}static isError(t){return QA.isFragment(t)}static isEvent(t){return Lb.isFragment(t)}static isFunction(t){return Fb.isFragment(t)}static isStruct(t){return KI.isFragment(t)}},kR=class extends Qb{name;constructor(t,r,i,n){super(t,r,n),_r(typeof i=="string"&&i.match(jat),"invalid identifier","name",i),n=Object.freeze(n.slice()),Un(this,{name:i})}};function EL(e,t){return"("+t.map(r=>r.format(e)).join(e==="full"?", ":",")+")"}var QA=class e extends kR{constructor(t,r,i){super(t,"error",r,i),Object.defineProperty(this,qp,{value:qat})}get selector(){return nh(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});let r=[];return t!=="sighash"&&r.push("error"),r.push(this.name+EL(t,this.inputs)),r.join(" ")}static from(t){if(e.isFragment(t))return t;if(typeof t=="string")return e.from($I(t));if(t instanceof iy){let r=oY("error",t),i=MR(t);return XC(t),new e($0,r,i)}return new e($0,t.name,t.inputs?t.inputs.map(pd.from):[])}static isFragment(t){return t&&t[qp]===qat}},Lb=class e extends kR{anonymous;constructor(t,r,i,n){super(t,"event",r,i),Object.defineProperty(this,qp,{value:Vat}),Un(this,{anonymous:n})}get topicHash(){return nh(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});let r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+EL(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(n=>pd.from(n)),new e($0,t,r,!1).topicHash}static from(t){if(e.isFragment(t))return t;if(typeof t=="string")try{return e.from($I(t))}catch{_r(!1,"invalid event fragment","obj",t)}else if(t instanceof iy){let r=oY("event",t),i=MR(t,!0),n=!!DR(t,FA(["anonymous"])).has("anonymous");return XC(t),new e($0,r,i,n)}return new e($0,t.name,t.inputs?t.inputs.map(r=>pd.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[qp]===Vat}},Ub=class e extends Qb{payable;gas;constructor(t,r,i,n,o){super(t,r,i),Object.defineProperty(this,qp,{value:Jat}),Un(this,{payable:n,gas:o})}format(t){if(Xr(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t)))});let r=[`constructor${EL(t,this.inputs)}`];return this.payable&&r.push("payable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(e.isFragment(t))return t;if(typeof t=="string")try{return e.from($I(t))}catch{_r(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof iy){DR(t,FA(["constructor"]));let r=MR(t),i=!!DR(t,VZt).has("payable"),n=rst(t);return XC(t),new e($0,"constructor",r,i,n)}return new e($0,"constructor",t.inputs?t.inputs.map(pd.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[qp]===Jat}},ZC=class e extends Qb{payable;constructor(t,r,i){super(t,"fallback",r),Object.defineProperty(this,qp,{value:zat}),Un(this,{payable:i})}format(t){let r=this.inputs.length===0?"receive":"fallback";if(t==="json"){let i=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:i})}return`${r}()${this.payable?" payable":""}`}static from(t){if(e.isFragment(t))return t;if(typeof t=="string")try{return e.from($I(t))}catch{_r(!1,"invalid fallback fragment","obj",t)}else if(t instanceof iy){let r=t.toString(),i=t.peekKeyword(FA(["fallback","receive"]));if(_r(i,"type must be fallback or receive","obj",r),t.popKeyword(FA(["fallback","receive"]))==="receive"){let g=MR(t);return _r(g.length===0,"receive cannot have arguments","obj.inputs",g),DR(t,FA(["payable"])),XC(t),new e($0,[],!0)}let o=MR(t);o.length?_r(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(g=>g.format("minimal")).join(", ")):o=[pd.from("bytes")];let d=tst(t);if(_r(d==="nonpayable"||d==="payable","fallback cannot be constants","obj.stateMutability",d),DR(t,FA(["returns"])).has("returns")){let g=MR(t);_r(g.length===1&&g[0].type==="bytes","invalid fallback outputs","obj.outputs",g.map(y=>y.format("minimal")).join(", "))}return XC(t),new e($0,o,d==="payable")}if(t.type==="receive")return new e($0,[],!0);if(t.type==="fallback"){let r=[pd.from("bytes")],i=t.stateMutability==="payable";return new e($0,r,i)}_r(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[qp]===zat}},Fb=class e extends kR{constant;outputs;stateMutability;payable;gas;constructor(t,r,i,n,o,d){super(t,"function",r,n),Object.defineProperty(this,qp,{value:Kat}),o=Object.freeze(o.slice()),Un(this,{constant:i==="view"||i==="pure",gas:d,outputs:o,payable:i==="payable",stateMutability:i})}get selector(){return nh(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(i=>JSON.parse(i.format(t))),outputs:this.outputs.map(i=>JSON.parse(i.format(t)))});let r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+EL(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(EL(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(n=>pd.from(n)),new e($0,t,"view",r,[],null).selector}static from(t){if(e.isFragment(t))return t;if(typeof t=="string")try{return e.from($I(t))}catch{_r(!1,"invalid function fragment","obj",t)}else if(t instanceof iy){let i=oY("function",t),n=MR(t),o=tst(t),d=[];DR(t,FA(["returns"])).has("returns")&&(d=MR(t));let g=rst(t);return XC(t),new e($0,i,o,n,d,g)}let r=t.stateMutability;return r==null&&(r="payable",typeof t.constant=="boolean"?(r="view",t.constant||(r="payable",typeof t.payable=="boolean"&&!t.payable&&(r="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(r="nonpayable")),new e($0,t.name,r,t.inputs?t.inputs.map(pd.from):[],t.outputs?t.outputs.map(pd.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[qp]===Kat}},KI=class e extends kR{constructor(t,r,i){super(t,"struct",r,i),Object.defineProperty(this,qp,{value:$at})}format(){throw new Error("@TODO")}static from(t){if(typeof t=="string")try{return e.from($I(t))}catch{_r(!1,"invalid struct fragment","obj",t)}else if(t instanceof iy){let r=oY("struct",t),i=MR(t);return XC(t),new e($0,r,i)}return new e($0,t.name,t.inputs?t.inputs.map(pd.from):[])}static isFragment(t){return t&&t[qp]===$at}};var oy=new Map;oy.set(0,"GENERIC_PANIC");oy.set(1,"ASSERT_FALSE");oy.set(17,"OVERFLOW");oy.set(18,"DIVIDE_BY_ZERO");oy.set(33,"ENUM_RANGE_ERROR");oy.set(34,"BAD_STORAGE_DATA");oy.set(49,"STACK_UNDERFLOW");oy.set(50,"ARRAY_RANGE_ERROR");oy.set(65,"OUT_OF_MEMORY");oy.set(81,"UNINITIALIZED_FUNCTION_CALL");var tjt=new RegExp(/^bytes([0-9]*)$/),rjt=new RegExp(/^(u?int)([0-9]*)$/),L1e=null,nst=1024;function njt(e,t,r,i){let n="missing revert data",o=null,d=null,g=null;if(r){n="execution reverted";let _=Dn(r);if(r=vn(r),_.length===0)n+=" (no data present; likely require(false) occurred",o="require(false)";else if(_.length%32!==4)n+=" (could not decode reason; invalid data length)";else if(vn(_.slice(0,4))==="0x08c379a0")try{o=i.decode(["string"],_.slice(4))[0],g={signature:"Error(string)",name:"Error",args:[o]},n+=`: ${JSON.stringify(o)}`}catch{n+=" (could not decode reason; invalid string data)"}else if(vn(_.slice(0,4))==="0x4e487b71")try{let I=Number(i.decode(["uint256"],_.slice(4))[0]);g={signature:"Panic(uint256)",name:"Panic",args:[I]},o=`Panic due to ${oy.get(I)||"UNKNOWN"}(${I})`,n+=`: ${o}`}catch{n+=" (could not decode panic code)"}else n+=" (unknown custom error)"}let y={to:t.to?Co(t.to):null,data:t.data||"0x"};return t.from&&(y.from=Co(t.from)),wc(n,"CALL_EXCEPTION",{action:e,data:r,reason:o,transaction:y,invocation:d,revert:g})}var L_=class e{#e(t){if(t.isArray())return new G$(this.#e(t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new $C(t.components.map(i=>this.#e(i)),t.name);switch(t.baseType){case"address":return new Q$(t.name);case"bool":return new q$(t.name);case"string":return new $$(t.name);case"bytes":return new V$(t.name);case"":return new z$(t.name)}let r=t.type.match(rjt);if(r){let i=parseInt(r[2]||"256");return _r(i!==0&&i<=256&&i%8===0,"invalid "+r[1]+" bit length","param",t),new K$(i/8,r[1]==="int",t.name)}if(r=t.type.match(tjt),r){let i=parseInt(r[1]);return _r(i!==0&&i<=32,"invalid bytes length","param",t),new J$(i,t.name)}_r(!1,"invalid type","type",t.type)}getDefaultValue(t){let r=t.map(n=>this.#e(pd.from(n)));return new $C(r,"_").defaultValue()}encode(t,r){kC(r.length,t.length,"types/values length mismatch");let i=t.map(d=>this.#e(pd.from(d))),n=new $C(i,"_"),o=new QC;return n.encode(o,r),o.data}decode(t,r,i){let n=t.map(d=>this.#e(pd.from(d)));return new $C(n,"_").decode(new E$(r,i,nst))}static _setDefaultMaxInflation(t){_r(typeof t=="number"&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),nst=t}static defaultAbiCoder(){return L1e==null&&(L1e=new e),L1e}static getBuiltinCallException(t,r,i){return njt(t,r,i,e.defaultAbiCoder())}};J();K();z();function U1e(e){let t=rc(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return vR(t,32)}function F1e(e){let t=Dn(e,"bytes");if(t.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(t[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;t[r-1]===0;)r--;return LA(t.slice(0,r))}J();K();z();var Jx=class{fragment;name;signature;topic;args;constructor(t,r,i){let n=t.name,o=t.format();Un(this,{fragment:t,name:n,signature:o,topic:r,args:i})}},zx=class{fragment;name;args;signature;selector;value;constructor(t,r,i,n){let o=t.name,d=t.format();Un(this,{fragment:t,name:o,args:i,signature:d,selector:r,value:n})}},Kx=class{fragment;name;args;signature;selector;constructor(t,r,i){let n=t.name,o=t.format();Un(this,{fragment:t,name:n,args:i,signature:o,selector:r})}},jC=class{hash;_isIndexed;static isIndexed(t){return!!(t&&t._isIndexed)}constructor(t){Un(this,{hash:t,_isIndexed:!0})}},ist={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},ost={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:e=>`reverted with reason string ${JSON.stringify(e)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:e=>{let t="unknown panic code";return e>=0&&e<=255&&ist[e.toString()]&&(t=ist[e.toString()]),`reverted with panic code 0x${e.toString(16)} (${t})`}}},PR=class e{fragments;deploy;fallback;receive;#e;#t;#r;#n;constructor(t){let r=[];typeof t=="string"?r=JSON.parse(t):r=t,this.#r=new Map,this.#e=new Map,this.#t=new Map;let i=[];for(let d of r)try{i.push(Qb.from(d))}catch(g){console.log(`[Warning] Invalid Fragment ${JSON.stringify(d)}:`,g.message)}Un(this,{fragments:Object.freeze(i)});let n=null,o=!1;this.#n=this.getAbiCoder(),this.fragments.forEach((d,g)=>{let y;switch(d.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}Un(this,{deploy:d});return;case"fallback":d.inputs.length===0?o=!0:(_r(!n||d.payable!==n.payable,"conflicting fallback fragments",`fragments[${g}]`,d),n=d,o=n.payable);return;case"function":y=this.#r;break;case"event":y=this.#t;break;case"error":y=this.#e;break;default:return}let _=d.format();y.has(_)||y.set(_,d)}),this.deploy||Un(this,{deploy:Ub.from("constructor()")}),Un(this,{fallback:n,receive:o})}format(t){let r=t?"minimal":"full";return this.fragments.map(n=>n.format(r))}formatJson(){let t=this.fragments.map(r=>r.format("json"));return JSON.stringify(t.map(r=>JSON.parse(r)))}getAbiCoder(){return L_.defaultAbiCoder()}#i(t,r,i){if(ns(t)){let o=t.toLowerCase();for(let d of this.#r.values())if(o===d.selector)return d;return null}if(t.indexOf("(")===-1){let o=[];for(let[d,g]of this.#r)d.split("(")[0]===t&&o.push(g);if(r){let d=r.length>0?r[r.length-1]:null,g=r.length,y=!0;lu.isTyped(d)&&d.type==="overrides"&&(y=!1,g--);for(let _=o.length-1;_>=0;_--){let I=o[_].inputs.length;I!==g&&(!y||I!==g-1)&&o.splice(_,1)}for(let _=o.length-1;_>=0;_--){let I=o[_].inputs;for(let N=0;N<r.length;N++)if(lu.isTyped(r[N])){if(N>=I.length){if(r[N].type==="overrides")continue;o.splice(_,1);break}if(r[N].type!==I[N].baseType){o.splice(_,1);break}}}}if(o.length===1&&r&&r.length!==o[0].inputs.length){let d=r[r.length-1];(d==null||Array.isArray(d)||typeof d!="object")&&o.splice(0,1)}if(o.length===0)return null;if(o.length>1&&i){let d=o.map(g=>JSON.stringify(g.format())).join(", ");_r(!1,`ambiguous function description (i.e. matches ${d})`,"key",t)}return o[0]}let n=this.#r.get(Fb.from(t).format());return n||null}getFunctionName(t){let r=this.#i(t,null,!1);return _r(r,"no matching function","key",t),r.name}hasFunction(t){return!!this.#i(t,null,!1)}getFunction(t,r){return this.#i(t,r||null,!0)}forEachFunction(t){let r=Array.from(this.#r.keys());r.sort((i,n)=>i.localeCompare(n));for(let i=0;i<r.length;i++){let n=r[i];t(this.#r.get(n),i)}}#a(t,r,i){if(ns(t)){let o=t.toLowerCase();for(let d of this.#t.values())if(o===d.topicHash)return d;return null}if(t.indexOf("(")===-1){let o=[];for(let[d,g]of this.#t)d.split("(")[0]===t&&o.push(g);if(r){for(let d=o.length-1;d>=0;d--)o[d].inputs.length<r.length&&o.splice(d,1);for(let d=o.length-1;d>=0;d--){let g=o[d].inputs;for(let y=0;y<r.length;y++)if(lu.isTyped(r[y])&&r[y].type!==g[y].baseType){o.splice(d,1);break}}}if(o.length===0)return null;if(o.length>1&&i){let d=o.map(g=>JSON.stringify(g.format())).join(", ");_r(!1,`ambiguous event description (i.e. matches ${d})`,"key",t)}return o[0]}let n=this.#t.get(Lb.from(t).format());return n||null}getEventName(t){let r=this.#a(t,null,!1);return _r(r,"no matching event","key",t),r.name}hasEvent(t){return!!this.#a(t,null,!1)}getEvent(t,r){return this.#a(t,r||null,!0)}forEachEvent(t){let r=Array.from(this.#t.keys());r.sort((i,n)=>i.localeCompare(n));for(let i=0;i<r.length;i++){let n=r[i];t(this.#t.get(n),i)}}getError(t,r){if(ns(t)){let n=t.toLowerCase();if(ost[n])return QA.from(ost[n].signature);for(let o of this.#e.values())if(n===o.selector)return o;return null}if(t.indexOf("(")===-1){let n=[];for(let[o,d]of this.#e)o.split("(")[0]===t&&n.push(d);if(n.length===0)return t==="Error"?QA.from("error Error(string)"):t==="Panic"?QA.from("error Panic(uint256)"):null;if(n.length>1){let o=n.map(d=>JSON.stringify(d.format())).join(", ");_r(!1,`ambiguous error description (i.e. ${o})`,"name",t)}return n[0]}if(t=QA.from(t).format(),t==="Error(string)")return QA.from("error Error(string)");if(t==="Panic(uint256)")return QA.from("error Panic(uint256)");let i=this.#e.get(t);return i||null}forEachError(t){let r=Array.from(this.#e.keys());r.sort((i,n)=>i.localeCompare(n));for(let i=0;i<r.length;i++){let n=r[i];t(this.#e.get(n),i)}}_decodeParams(t,r){return this.#n.decode(t,r)}_encodeParams(t,r){return this.#n.encode(t,r)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,r){if(typeof t=="string"){let i=this.getError(t);_r(i,"unknown error","fragment",t),t=i}return _r(tc(r,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",r),this._decodeParams(t.inputs,tc(r,4))}encodeErrorResult(t,r){if(typeof t=="string"){let i=this.getError(t);_r(i,"unknown error","fragment",t),t=i}return Jo([t.selector,this._encodeParams(t.inputs,r||[])])}decodeFunctionData(t,r){if(typeof t=="string"){let i=this.getFunction(t);_r(i,"unknown function","fragment",t),t=i}return _r(tc(r,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",r),this._decodeParams(t.inputs,tc(r,4))}encodeFunctionData(t,r){if(typeof t=="string"){let i=this.getFunction(t);_r(i,"unknown function","fragment",t),t=i}return Jo([t.selector,this._encodeParams(t.inputs,r||[])])}decodeFunctionResult(t,r){if(typeof t=="string"){let o=this.getFunction(t);_r(o,"unknown function","fragment",t),t=o}let i="invalid length for result data",n=$u(r);if(n.length%32===0)try{return this.#n.decode(t.outputs,n)}catch{i="could not decode result data"}Xr(!1,i,"BAD_DATA",{value:vn(n),info:{method:t.name,signature:t.format()}})}makeError(t,r){let i=Dn(t,"data"),n=L_.getBuiltinCallException("call",r,i);if(n.message.startsWith("execution reverted (unknown custom error)")){let g=vn(i.slice(0,4)),y=this.getError(g);if(y)try{let _=this.#n.decode(y.inputs,i.slice(4));n.revert={name:y.name,signature:y.format(),args:_},n.reason=n.revert.signature,n.message=`execution reverted: ${n.reason}`}catch{n.message="execution reverted (coult not decode custom error)"}}let d=this.parseTransaction(r);return d&&(n.invocation={method:d.name,signature:d.signature,args:d.args}),n}encodeFunctionResult(t,r){if(typeof t=="string"){let i=this.getFunction(t);_r(i,"unknown function","fragment",t),t=i}return vn(this.#n.encode(t.outputs,r||[]))}encodeFilterTopics(t,r){if(typeof t=="string"){let o=this.getEvent(t);_r(o,"unknown event","eventFragment",t),t=o}Xr(r.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:r.length,expectedCount:t.inputs.length});let i=[];t.anonymous||i.push(t.topicHash);let n=(o,d)=>o.type==="string"?nh(d):o.type==="bytes"?Xa(vn(d)):(o.type==="bool"&&typeof d=="boolean"?d=d?"0x01":"0x00":o.type.match(/^u?int/)?d=gl(d):o.type.match(/^bytes/)?d=vR(d,32):o.type==="address"&&this.#n.encode(["address"],[d]),Hf(vn(d),32));for(r.forEach((o,d)=>{let g=t.inputs[d];if(!g.indexed){_r(o==null,"cannot filter non-indexed parameters; must be null","contract."+g.name,o);return}o==null?i.push(null):g.baseType==="array"||g.baseType==="tuple"?_r(!1,"filtering with tuples or arrays not supported","contract."+g.name,o):Array.isArray(o)?i.push(o.map(y=>n(g,y))):i.push(n(g,o))});i.length&&i[i.length-1]===null;)i.pop();return i}encodeEventLog(t,r){if(typeof t=="string"){let d=this.getEvent(t);_r(d,"unknown event","eventFragment",t),t=d}let i=[],n=[],o=[];return t.anonymous||i.push(t.topicHash),_r(r.length===t.inputs.length,"event arguments/values mismatch","values",r),t.inputs.forEach((d,g)=>{let y=r[g];if(d.indexed)if(d.type==="string")i.push(nh(y));else if(d.type==="bytes")i.push(Xa(y));else{if(d.baseType==="tuple"||d.baseType==="array")throw new Error("not implemented");i.push(this.#n.encode([d.type],[y]))}else n.push(d),o.push(y)}),{data:this.#n.encode(n,o),topics:i}}decodeEventLog(t,r,i){if(typeof t=="string"){let M=this.getEvent(t);_r(M,"unknown event","eventFragment",t),t=M}if(i!=null&&!t.anonymous){let M=t.topicHash;_r(ns(i[0],32)&&i[0].toLowerCase()===M,"fragment/topic mismatch","topics[0]",i[0]),i=i.slice(1)}let n=[],o=[],d=[];t.inputs.forEach((M,D)=>{M.indexed?M.type==="string"||M.type==="bytes"||M.baseType==="tuple"||M.baseType==="array"?(n.push(pd.from({type:"bytes32",name:M.name})),d.push(!0)):(n.push(M),d.push(!1)):(o.push(M),d.push(!1))});let g=i!=null?this.#n.decode(n,Jo(i)):null,y=this.#n.decode(o,r,!0),_=[],I=[],N=0,T=0;return t.inputs.forEach((M,D)=>{let P=null;if(M.indexed)if(g==null)P=new jC(null);else if(d[D])P=new jC(g[T++]);else try{P=g[T++]}catch(G){P=G}else try{P=y[N++]}catch(G){P=G}_.push(P),I.push(M.name||null)}),CR.fromItems(_,I)}parseTransaction(t){let r=Dn(t.data,"tx.data"),i=gi(t.value!=null?t.value:0,"tx.value"),n=this.getFunction(vn(r.slice(0,4)));if(!n)return null;let o=this.#n.decode(n.inputs,r.slice(4));return new zx(n,n.selector,o,i)}parseCallResult(t){throw new Error("@TODO")}parseLog(t){let r=this.getEvent(t.topics[0]);return!r||r.anonymous?null:new Jx(r,r.topicHash,this.decodeEventLog(r,t.data,t.topics))}parseError(t){let r=vn(t),i=this.getError(tc(r,0,4));if(!i)return null;let n=this.#n.decode(i.inputs,tc(r,4));return new Kx(i,i.selector,n)}static from(t){return t instanceof e?t:typeof t=="string"?new e(JSON.parse(t)):typeof t.format=="function"?new e(t.format("json")):new e(t)}};J();K();z();J();K();z();J();K();z();var ast=BigInt(0);function $x(e){return e??null}function Dd(e){return e==null?null:e.toString()}var YI=class{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(t,r,i){Un(this,{gasPrice:$x(t),maxFeePerGas:$x(r),maxPriorityFeePerGas:$x(i)})}toJSON(){let{gasPrice:t,maxFeePerGas:r,maxPriorityFeePerGas:i}=this;return{_type:"FeeData",gasPrice:Dd(t),maxFeePerGas:Dd(r),maxPriorityFeePerGas:Dd(i)}}};function Gb(e){let t={};e.to&&(t.to=e.to),e.from&&(t.from=e.from),e.data&&(t.data=vn(e.data));let r="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let n of r)!(n in e)||e[n]==null||(t[n]=gi(e[n],`request.${n}`));let i="type,nonce".split(/,/);for(let n of i)!(n in e)||e[n]==null||(t[n]=Zi(e[n],`request.${n}`));return e.accessList&&(t.accessList=ih(e.accessList)),"blockTag"in e&&(t.blockTag=e.blockTag),"enableCcipRead"in e&&(t.enableCcipRead=!!e.enableCcipRead),"customData"in e&&(t.customData=e.customData),"blobVersionedHashes"in e&&e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes.slice()),"kzg"in e&&(t.kzg=e.kzg),"blobs"in e&&e.blobs&&(t.blobs=e.blobs.map(n=>zm(n)?vn(n):Object.assign({},n))),t}var ew=class{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#e;constructor(t,r){this.#e=t.transactions.map(i=>typeof i!="string"?new Hb(i,r):i),Un(this,{provider:r,hash:$x(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:$x(t.prevRandao),extraData:t.extraData,baseFeePerGas:$x(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return this.#e.map(t=>typeof t=="string"?t:t.hash)}get prefetchedTransactions(){let t=this.#e.slice();return t.length===0?[]:(Xr(typeof t[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){let{baseFeePerGas:t,difficulty:r,extraData:i,gasLimit:n,gasUsed:o,hash:d,miner:g,prevRandao:y,nonce:_,number:I,parentHash:N,parentBeaconBlockRoot:T,stateRoot:M,receiptsRoot:D,timestamp:P,transactions:G}=this;return{_type:"Block",baseFeePerGas:Dd(t),difficulty:Dd(r),extraData:i,gasLimit:Dd(n),gasUsed:Dd(o),blobGasUsed:Dd(this.blobGasUsed),excessBlobGas:Dd(this.excessBlobGas),hash:d,miner:g,prevRandao:y,nonce:_,number:I,parentHash:N,timestamp:P,parentBeaconBlockRoot:T,stateRoot:M,receiptsRoot:D,transactions:G}}[Symbol.iterator](){let t=0,r=this.transactions;return{next:()=>t<this.length?{value:r[t++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#e.length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(t){let r;if(typeof t=="number")r=this.#e[t];else{let i=t.toLowerCase();for(let n of this.#e)if(typeof n=="string"){if(n!==i)continue;r=n;break}else{if(n.hash===i)continue;r=n;break}}if(r==null)throw new Error("no such tx");return typeof r=="string"?await this.provider.getTransaction(r):r}getPrefetchedTransaction(t){let r=this.prefetchedTransactions;if(typeof t=="number")return r[t];t=t.toLowerCase();for(let i of r)if(i.hash===t)return i;_r(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return ijt(this)}},ig=class{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(t,r){this.provider=r;let i=Object.freeze(t.topics.slice());Un(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:i,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){let{address:t,blockHash:r,blockNumber:i,data:n,index:o,removed:d,topics:g,transactionHash:y,transactionIndex:_}=this;return{_type:"log",address:t,blockHash:r,blockNumber:i,data:n,index:o,removed:d,topics:g,transactionHash:y,transactionIndex:_}}async getBlock(){let t=await this.provider.getBlock(this.blockHash);return Xr(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){let t=await this.provider.getTransaction(this.transactionHash);return Xr(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){let t=await this.provider.getTransactionReceipt(this.transactionHash);return Xr(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){return ojt(this)}},LR=class{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#e;constructor(t,r){this.#e=Object.freeze(t.logs.map(n=>new ig(n,r)));let i=ast;t.effectiveGasPrice!=null?i=t.effectiveGasPrice:t.gasPrice!=null&&(i=t.gasPrice),Un(this,{provider:r,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:i,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return this.#e}toJSON(){let{to:t,from:r,contractAddress:i,hash:n,index:o,blockHash:d,blockNumber:g,logsBloom:y,logs:_,status:I,root:N}=this;return{_type:"TransactionReceipt",blockHash:d,blockNumber:g,contractAddress:i,cumulativeGasUsed:Dd(this.cumulativeGasUsed),from:r,gasPrice:Dd(this.gasPrice),blobGasUsed:Dd(this.blobGasUsed),blobGasPrice:Dd(this.blobGasPrice),gasUsed:Dd(this.gasUsed),hash:n,index:o,logs:_,logsBloom:y,root:N,status:I,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let t=await this.provider.getBlock(this.blockHash);if(t==null)throw new Error("TODO");return t}async getTransaction(){let t=await this.provider.getTransaction(this.hash);if(t==null)throw new Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return cst(this)}reorderedEvent(t){return Xr(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),sst(this,t)}},Hb=class e{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;#e;constructor(t,r){this.provider=r,this.blockNumber=t.blockNumber!=null?t.blockNumber:null,this.blockHash=t.blockHash!=null?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=t.maxPriorityFeePerGas!=null?t.maxPriorityFeePerGas:null,this.maxFeePerGas=t.maxFeePerGas!=null?t.maxFeePerGas:null,this.maxFeePerBlobGas=t.maxFeePerBlobGas!=null?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=t.accessList!=null?t.accessList:null,this.blobVersionedHashes=t.blobVersionedHashes!=null?t.blobVersionedHashes:null,this.#e=-1}toJSON(){let{blockNumber:t,blockHash:r,index:i,hash:n,type:o,to:d,from:g,nonce:y,data:_,signature:I,accessList:N,blobVersionedHashes:T}=this;return{_type:"TransactionResponse",accessList:N,blockNumber:t,blockHash:r,blobVersionedHashes:T,chainId:Dd(this.chainId),data:_,from:g,gasLimit:Dd(this.gasLimit),gasPrice:Dd(this.gasPrice),hash:n,maxFeePerGas:Dd(this.maxFeePerGas),maxPriorityFeePerGas:Dd(this.maxPriorityFeePerGas),maxFeePerBlobGas:Dd(this.maxFeePerBlobGas),nonce:y,signature:I,to:d,index:i,type:o,value:Dd(this.value)}}async getBlock(){let t=this.blockNumber;if(t==null){let i=await this.getTransaction();i&&(t=i.blockNumber)}if(t==null)return null;let r=this.provider.getBlock(t);if(r==null)throw new Error("TODO");return r}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:r,blockNumber:i}=await Pu({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return r==null||r.blockNumber==null?0:i-r.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,r){let i=t??1,n=r??0,o=this.#e,d=-1,g=o===-1,y=async()=>{if(g)return null;let{blockNumber:T,nonce:M}=await Pu({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(M<this.nonce){o=T;return}if(g)return null;let D=await this.getTransaction();if(!(D&&D.blockNumber!=null))for(d===-1&&(d=o-3,d<this.#e&&(d=this.#e));d<=T;){if(g)return null;let P=await this.provider.getBlock(d,!0);if(P==null)return;for(let G of P)if(G===this.hash)return;for(let G=0;G<P.length;G++){let q=await P.getTransaction(G);if(q.from===this.from&&q.nonce===this.nonce){if(g)return null;let Y=await this.provider.getTransactionReceipt(q.hash);if(Y==null||T-Y.blockNumber+1<i)return;let ne="replaced";q.data===this.data&&q.to===this.to&&q.value===this.value?ne="repriced":q.data==="0x"&&q.from===q.to&&q.value===ast&&(ne="cancelled"),Xr(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:ne==="replaced"||ne==="cancelled",reason:ne,replacement:q.replaceableTransaction(o),hash:q.hash,receipt:Y})}}d++}},_=T=>{if(T==null||T.status!==0)return T;Xr(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:T.to,from:T.from,data:""},receipt:T})},I=await this.provider.getTransactionReceipt(this.hash);if(i===0)return _(I);if(I){if(await I.confirmations()>=i)return _(I)}else if(await y(),i===0)return null;return await new Promise((T,M)=>{let D=[],P=()=>{D.forEach(q=>q())};if(D.push(()=>{g=!0}),n>0){let q=setTimeout(()=>{P(),M(wc("wait for transaction timeout","TIMEOUT"))},n);D.push(()=>{clearTimeout(q)})}let G=async q=>{if(await q.confirmations()>=i){P();try{T(_(q))}catch(Y){M(Y)}}};if(D.push(()=>{this.provider.off(this.hash,G)}),this.provider.on(this.hash,G),o>=0){let q=async()=>{try{await y()}catch(Y){if(Tc(Y,"TRANSACTION_REPLACED")){P(),M(Y);return}}g||this.provider.once("block",q)};D.push(()=>{this.provider.off("block",q)}),this.provider.once("block",q)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return Xr(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),cst(this)}reorderedEvent(t){return Xr(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),Xr(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),sst(this,t)}replaceableTransaction(t){_r(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);let r=new e(this,this.provider);return r.#e=t,r}};function ijt(e){return{orphan:"drop-block",hash:e.hash,number:e.number}}function sst(e,t){return{orphan:"reorder-transaction",tx:e,other:t}}function cst(e){return{orphan:"drop-transaction",tx:e}}function ojt(e){return{orphan:"drop-log",log:{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,address:e.address,data:e.data,topics:Object.freeze(e.topics.slice()),index:e.index}}}J();K();z();var UR=class extends ig{interface;fragment;args;constructor(t,r,i){super(t,t.provider);let n=r.decodeEventLog(i,t.data,t.topics);Un(this,{args:n,fragment:i,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}},WI=class extends ig{error;constructor(t,r){super(t,t.provider),Un(this,{error:r})}},Yx=class extends LR{#e;constructor(t,r,i){super(i,r),this.#e=t}get logs(){return super.logs.map(t=>{let r=t.topics.length?this.#e.getEvent(t.topics[0]):null;if(r)try{return new UR(t,this.#e,r)}catch(i){return new WI(t,i)}return t})}},FR=class extends Hb{#e;constructor(t,r,i){super(i,r),this.#e=t}async wait(t,r){let i=await super.wait(t,r);return i==null?null:new Yx(this.#e,this.provider,i)}},XI=class extends IR{log;constructor(t,r,i,n){super(t,r,i),Un(this,{log:n})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}},tw=class extends XI{constructor(t,r,i,n,o){super(t,r,i,new UR(o,t.interface,n));let d=t.interface.decodeEventLog(n,this.log.data,this.log.topics);Un(this,{args:d,fragment:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}};var ust=BigInt(0);function fst(e){return e&&typeof e.call=="function"}function lst(e){return e&&typeof e.estimateGas=="function"}function cY(e){return e&&typeof e.resolveName=="function"}function hst(e){return e&&typeof e.sendTransaction=="function"}function Ast(e){if(e!=null){if(cY(e))return e;if(e.provider)return e.provider}}var Q1e=class{#e;fragment;constructor(t,r,i){if(Un(this,{fragment:r}),r.inputs.length<i.length)throw new Error("too many arguments");let n=nw(t.runner,"resolveName"),o=cY(n)?n:null;this.#e=(async function(){let d=await Promise.all(r.inputs.map((g,y)=>i[y]==null?null:g.walkAsync(i[y],(I,N)=>I==="address"?Array.isArray(N)?Promise.all(N.map(T=>r0(T,o))):r0(N,o):N)));return t.interface.encodeFilterTopics(r,d)})()}getTopicFilter(){return this.#e}};function nw(e,t){return e==null?null:typeof e[t]=="function"?e:e.provider&&typeof e.provider[t]=="function"?e.provider:null}function rw(e){return e==null?null:e.provider||null}async function uY(e,t){let r=lu.dereference(e,"overrides");_r(typeof r=="object","invalid overrides parameter","overrides",e);let i=Gb(r);return _r(i.to==null||(t||[]).indexOf("to")>=0,"cannot override to","overrides.to",i.to),_r(i.data==null||(t||[]).indexOf("data")>=0,"cannot override data","overrides.data",i.data),i.from&&(i.from=i.from),i}async function q1e(e,t,r){let i=nw(e,"resolveName"),n=cY(i)?i:null;return await Promise.all(t.map((o,d)=>o.walkAsync(r[d],(g,y)=>(y=lu.dereference(y,g),g==="address"?r0(y,n):y))))}function ajt(e){let t=async function(d){let g=await uY(d,["data"]);g.to=await e.getAddress(),g.from&&(g.from=await r0(g.from,Ast(e.runner)));let y=e.interface,_=gi(g.value||ust,"overrides.value")===ust,I=(g.data||"0x")==="0x";y.fallback&&!y.fallback.payable&&y.receive&&!I&&!_&&_r(!1,"cannot send data to receive or send value to non-payable fallback","overrides",d),_r(y.fallback||I,"cannot send data to receive-only contract","overrides.data",g.data);let N=y.receive||y.fallback&&y.fallback.payable;return _r(N||_,"cannot send value to non-payable fallback","overrides.value",g.value),_r(y.fallback||I,"cannot send data to receive-only contract","overrides.data",g.data),g},r=async function(d){let g=nw(e.runner,"call");Xr(fst(g),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let y=await t(d);try{return await g.call(y)}catch(_){throw BI(_)&&_.data?e.interface.makeError(_.data,y):_}},i=async function(d){let g=e.runner;Xr(hst(g),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let y=await g.sendTransaction(await t(d)),_=rw(e.runner);return new FR(e.interface,_,y)},n=async function(d){let g=nw(e.runner,"estimateGas");return Xr(lst(g),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await g.estimateGas(await t(d))},o=async d=>await i(d);return Un(o,{_contract:e,estimateGas:n,populateTransaction:t,send:i,staticCall:r}),o}function sjt(e,t){let r=function(..._){let I=e.interface.getFunction(t,_);return Xr(I,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t,args:_}}),I},i=async function(..._){let I=r(..._),N={};if(I.inputs.length+1===_.length&&(N=await uY(_.pop()),N.from&&(N.from=await r0(N.from,Ast(e.runner)))),I.inputs.length!==_.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let T=await q1e(e.runner,I.inputs,_);return Object.assign({},N,await Pu({to:e.getAddress(),data:e.interface.encodeFunctionData(I,T)}))},n=async function(..._){let I=await g(..._);return I.length===1?I[0]:I},o=async function(..._){let I=e.runner;Xr(hst(I),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let N=await I.sendTransaction(await i(..._)),T=rw(e.runner);return new FR(e.interface,T,N)},d=async function(..._){let I=nw(e.runner,"estimateGas");return Xr(lst(I),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await I.estimateGas(await i(..._))},g=async function(..._){let I=nw(e.runner,"call");Xr(fst(I),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let N=await i(..._),T="0x";try{T=await I.call(N)}catch(D){throw BI(D)&&D.data?e.interface.makeError(D.data,N):D}let M=r(..._);return e.interface.decodeFunctionResult(M,T)},y=async(..._)=>r(..._).constant?await n(..._):await o(..._);return Un(y,{name:e.interface.getFunctionName(t),_contract:e,_key:t,getFragment:r,estimateGas:d,populateTransaction:i,send:o,staticCall:n,staticCallResult:g}),Object.defineProperty(y,"fragment",{configurable:!1,enumerable:!0,get:()=>{let _=e.interface.getFunction(t);return Xr(_,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t}}),_}}),y}function cjt(e,t){let r=function(...n){let o=e.interface.getEvent(t,n);return Xr(o,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t,args:n}}),o},i=function(...n){return new Q1e(e,r(...n),n)};return Un(i,{name:e.interface.getEventName(t),_contract:e,_key:t,getFragment:r}),Object.defineProperty(i,"fragment",{configurable:!1,enumerable:!0,get:()=>{let n=e.interface.getEvent(t);return Xr(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:t}}),n}}),i}var sY=Symbol.for("_ethersInternal_contract"),pst=new WeakMap;function ujt(e,t){pst.set(e[sY],t)}function og(e){return pst.get(e[sY])}function djt(e){return e&&typeof e=="object"&&"getTopicFilter"in e&&typeof e.getTopicFilter=="function"&&e.fragment}async function V1e(e,t){let r,i=null;if(Array.isArray(t)){let o=function(d){if(ns(d,32))return d;let g=e.interface.getEvent(d);return _r(g,"unknown fragment","name",d),g.topicHash};r=t.map(d=>d==null?null:Array.isArray(d)?d.map(o):o(d))}else t==="*"?r=[null]:typeof t=="string"?ns(t,32)?r=[t]:(i=e.interface.getEvent(t),_r(i,"unknown fragment","event",t),r=[i.topicHash]):djt(t)?r=await t.getTopicFilter():"fragment"in t?(i=t.fragment,r=[i.topicHash]):_r(!1,"unknown event name","event",t);r=r.map(o=>{if(o==null)return null;if(Array.isArray(o)){let d=Array.from(new Set(o.map(g=>g.toLowerCase())).values());return d.length===1?d[0]:(d.sort(),d)}return o.toLowerCase()});let n=r.map(o=>o==null?"null":Array.isArray(o)?o.join("|"):o).join("&");return{fragment:i,tag:n,topics:r}}async function vL(e,t){let{subs:r}=og(e);return r.get((await V1e(e,t)).tag)||null}async function dst(e,t,r){let i=rw(e.runner);Xr(i,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:t});let{fragment:n,tag:o,topics:d}=await V1e(e,r),{addr:g,subs:y}=og(e),_=y.get(o);if(!_){let N={address:g||e,topics:d},T=G=>{let q=n;if(q==null)try{q=e.interface.getEvent(G.topics[0])}catch{}if(q){let Y=q,ne=n?e.interface.decodeEventLog(n,G.data,G.topics):[];G1e(e,r,ne,ce=>new tw(e,ce,r,Y,G))}else G1e(e,r,[],Y=>new XI(e,Y,r,G))},M=[];_={tag:o,listeners:[],start:()=>{M.length||M.push(i.on(N,T))},stop:async()=>{if(M.length==0)return;let G=M;M=[],await Promise.all(G),i.off(N,T)}},y.set(o,_)}return _}var H1e=Promise.resolve();async function fjt(e,t,r,i){await H1e;let n=await vL(e,t);if(!n)return!1;let o=n.listeners.length;return n.listeners=n.listeners.filter(({listener:d,once:g})=>{let y=Array.from(r);i&&y.push(i(g?null:d));try{d.call(e,...y)}catch{}return!g}),n.listeners.length===0&&(n.stop(),og(e).subs.delete(n.tag)),o>0}async function G1e(e,t,r,i){try{await H1e}catch{}let n=fjt(e,t,r,i);return H1e=n,await n}var aY=["then"],QR=class e{target;interface;runner;filters;[sY];fallback;constructor(t,r,i,n){_r(typeof t=="string"||Qx(t),"invalid value for Contract target","target",t),i==null&&(i=null);let o=PR.from(r);Un(this,{target:t,runner:i,interface:o}),Object.defineProperty(this,sY,{value:{}});let d,g=null,y=null;if(n){let N=rw(i);y=new FR(this.interface,N,n)}let _=new Map;if(typeof t=="string")if(ns(t))g=t,d=Promise.resolve(t);else{let N=nw(i,"resolveName");if(!cY(N))throw wc("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});d=N.resolveName(t).then(T=>{if(T==null)throw wc("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return og(this).addr=T,T})}else d=t.getAddress().then(N=>{if(N==null)throw new Error("TODO");return og(this).addr=N,N});ujt(this,{addrPromise:d,addr:g,deployTx:y,subs:_});let I=new Proxy({},{get:(N,T,M)=>{if(typeof T=="symbol"||aY.indexOf(T)>=0)return Reflect.get(N,T,M);try{return this.getEvent(T)}catch(D){if(!Tc(D,"INVALID_ARGUMENT")||D.argument!=="key")throw D}},has:(N,T)=>aY.indexOf(T)>=0?Reflect.has(N,T):Reflect.has(N,T)||this.interface.hasEvent(String(T))});return Un(this,{filters:I}),Un(this,{fallback:o.receive||o.fallback?ajt(this):null}),new Proxy(this,{get:(N,T,M)=>{if(typeof T=="symbol"||T in N||aY.indexOf(T)>=0)return Reflect.get(N,T,M);try{return N.getFunction(T)}catch(D){if(!Tc(D,"INVALID_ARGUMENT")||D.argument!=="key")throw D}},has:(N,T)=>typeof T=="symbol"||T in N||aY.indexOf(T)>=0?Reflect.has(N,T):N.interface.hasFunction(T)})}connect(t){return new e(this.target,this.interface,t)}attach(t){return new e(t,this.interface,this.runner)}async getAddress(){return await og(this).addrPromise}async getDeployedCode(){let t=rw(this.runner);Xr(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let r=await t.getCode(await this.getAddress());return r==="0x"?null:r}async waitForDeployment(){let t=this.deploymentTransaction();if(t)return await t.wait(),this;if(await this.getDeployedCode()!=null)return this;let i=rw(this.runner);return Xr(i!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((n,o)=>{let d=async()=>{try{if(await this.getDeployedCode()!=null)return n(this);i.once("block",d)}catch(g){o(g)}};d()})}deploymentTransaction(){return og(this).deployTx}getFunction(t){return typeof t!="string"&&(t=t.format()),sjt(this,t)}getEvent(t){return typeof t!="string"&&(t=t.format()),cjt(this,t)}async queryTransaction(t){throw new Error("@TODO")}async queryFilter(t,r,i){r==null&&(r=0),i==null&&(i="latest");let{addr:n,addrPromise:o}=og(this),d=n||await o,{fragment:g,topics:y}=await V1e(this,t),_={address:d,topics:y,fromBlock:r,toBlock:i},I=rw(this.runner);return Xr(I,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await I.getLogs(_)).map(N=>{let T=g;if(T==null)try{T=this.interface.getEvent(N.topics[0])}catch{}if(T)try{return new UR(N,this.interface,T)}catch(M){return new WI(N,M)}return new ig(N,I)})}async on(t,r){let i=await dst(this,"on",t);return i.listeners.push({listener:r,once:!1}),i.start(),this}async once(t,r){let i=await dst(this,"once",t);return i.listeners.push({listener:r,once:!0}),i.start(),this}async emit(t,...r){return await G1e(this,t,r,null)}async listenerCount(t){if(t){let n=await vL(this,t);return n?n.listeners.length:0}let{subs:r}=og(this),i=0;for(let{listeners:n}of r.values())i+=n.length;return i}async listeners(t){if(t){let n=await vL(this,t);return n?n.listeners.map(({listener:o})=>o):[]}let{subs:r}=og(this),i=[];for(let{listeners:n}of r.values())i=i.concat(n.map(({listener:o})=>o));return i}async off(t,r){let i=await vL(this,t);if(!i)return this;if(r){let n=i.listeners.map(({listener:o})=>o).indexOf(r);n>=0&&i.listeners.splice(n,1)}return(r==null||i.listeners.length===0)&&(i.stop(),og(this).subs.delete(i.tag)),this}async removeAllListeners(t){if(t){let r=await vL(this,t);if(!r)return this;r.stop(),og(this).subs.delete(r.tag)}else{let{subs:r}=og(this);for(let{tag:i,stop:n}of r.values())n(),r.delete(i)}return this}async addListener(t,r){return await this.on(t,r)}async removeListener(t,r){return await this.off(t,r)}static buildClass(t){class r extends e{constructor(n,o=null){super(n,t,o)}}return r}static from(t,r,i){return i==null&&(i=null),new this(t,r,i)}};function ljt(){return QR}var Vp=class extends ljt(){};J();K();z();var RL=class e{interface;bytecode;runner;constructor(t,r,i){let n=PR.from(t);r instanceof Uint8Array?r=vn(Dn(r)):(typeof r=="object"&&(r=r.object),r.startsWith("0x")||(r="0x"+r),r=vn(Dn(r))),Un(this,{bytecode:r,interface:n,runner:i||null})}attach(t){return new QR(t,this.interface,this.runner)}async getDeployTransaction(...t){let r={},i=this.interface.deploy;if(i.inputs.length+1===t.length&&(r=await uY(t.pop())),i.inputs.length!==t.length)throw new Error("incorrect number of arguments to constructor");let n=await q1e(this.runner,i.inputs,t),o=Jo([this.bytecode,this.interface.encodeDeploy(n)]);return Object.assign({},r,{data:o})}async deploy(...t){let r=await this.getDeployTransaction(...t);Xr(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await this.runner.sendTransaction(r),n=KC(i);return new QR(n,this.interface,this.runner,i)}connect(t){return new e(this.interface,this.bytecode,t)}static fromSolidity(t,r){_r(t!=null,"bad compiler output","output",t),typeof t=="string"&&(t=JSON.parse(t));let i=t.abi,n="";return t.bytecode?n=t.bytecode:t.evm&&t.evm.bytecode&&(n=t.evm.bytecode),new this(i,n,r)}};J();K();z();J();K();z();J();K();z();function J1e(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):_r(!1,"unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}var Wx=class{name;constructor(t){Un(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,r){throw new Error("unsupported coin")}async decodeAddress(t,r){throw new Error("unsupported coin")}};var _st=new RegExp("^(ipfs)://(.*)$","i"),gst=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),_st,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],ZI=class e{provider;address;name;#e;#t;constructor(t,r,i){Un(this,{provider:t,address:r,name:i}),this.#e=null,this.#t=new Vp(r,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t)}async supportsWildcard(){return this.#e==null&&(this.#e=(async()=>{try{return await this.#t.supportsInterface("0x9061b923")}catch(t){if(Tc(t,"CALL_EXCEPTION"))return!1;throw this.#e=null,t}})()),await this.#e}async#r(t,r){r=(r||[]).slice();let i=this.#t.interface;r.unshift(JI(this.name));let n=null;await this.supportsWildcard()&&(n=i.getFunction(t),Xr(n,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),r=[mL(this.name,255),i.encodeFunctionData(n,r)],t="resolve(bytes,bytes)"),r.push({enableCcipRead:!0});try{let o=await this.#t[t](...r);return n?i.decodeFunctionResult(n,o)[0]:o}catch(o){if(!Tc(o,"CALL_EXCEPTION"))throw o}return null}async getAddress(t){if(t==null&&(t=60),t===60)try{let o=await this.#r("addr(bytes32)");return o==null||o===ry?null:o}catch(o){if(Tc(o,"CALL_EXCEPTION"))return null;throw o}if(t>=0&&t<2147483648){let o=t+2147483648,d=await this.#r("addr(bytes32,uint)",[o]);if(ns(d,20))return Co(d)}let r=null;for(let o of this.provider.plugins)if(o instanceof Wx&&o.supportsCoinType(t)){r=o;break}if(r==null)return null;let i=await this.#r("addr(bytes32,uint)",[t]);if(i==null||i==="0x")return null;let n=await r.decodeAddress(t,i);if(n!=null)return n;Xr(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:i}})}async getText(t){let r=await this.#r("text(bytes32,string)",[t]);return r==null||r==="0x"?null:r}async getContentHash(){let t=await this.#r("contenthash(bytes32)");if(t==null||t==="0x")return null;let r=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(r){let n=r[1]==="e3010170"?"ipfs":"ipns",o=parseInt(r[4],16);if(r[5].length===o*2)return`${n}://${UC("0x"+r[2])}`}let i=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(i&&i[1].length===64)return`bzz://${i[1]}`;Xr(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let t=[{type:"name",value:this.name}];try{let r=await this.getText("avatar");if(r==null)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:r});for(let i=0;i<gst.length;i++){let n=r.match(gst[i]);if(n==null)continue;let o=n[1].toLowerCase();switch(o){case"https":case"data":return t.push({type:"url",value:r}),{linkage:t,url:r};case"ipfs":{let d=J1e(r);return t.push({type:"ipfs",value:r}),t.push({type:"url",value:d}),{linkage:t,url:d}}case"erc721":case"erc1155":{let d=o==="erc721"?"tokenURI(uint256)":"uri(uint256)";t.push({type:o,value:r});let g=await this.getAddress();if(g==null)return t.push({type:"!owner",value:""}),{url:null,linkage:t};let y=(n[2]||"").split("/");if(y.length!==2)return t.push({type:`!${o}caip`,value:n[2]||""}),{url:null,linkage:t};let _=y[1],I=new Vp(y[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(o==="erc721"){let P=await I.ownerOf(_);if(g!==P)return t.push({type:"!owner",value:P}),{url:null,linkage:t};t.push({type:"owner",value:P})}else if(o==="erc1155"){let P=await I.balanceOf(g,_);if(!P)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:P.toString()})}let N=await I[d](_);if(N==null||N==="0x")return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:N}),o==="erc1155"&&(N=N.replace("{id}",gl(_,32).substring(2)),t.push({type:"metadata-url-expanded",value:N})),N.match(/^ipfs:/i)&&(N=J1e(N)),t.push({type:"metadata-url",value:N});let T={},M=await new jc(N).send();M.assertOk();try{T=M.bodyJson}catch{try{t.push({type:"!metadata",value:M.bodyText})}catch{let q=M.body;return q&&t.push({type:"!metadata",value:vn(q)}),{url:null,linkage:t}}return{url:null,linkage:t}}if(!T)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(T)});let D=T.image;if(typeof D!="string")return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(!D.match(/^(https:\/\/|data:)/i)){if(D.match(_st)==null)return t.push({type:"!imageUrl-ipfs",value:D}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:D}),D=J1e(D)}return t.push({type:"url",value:D}),{linkage:t,url:D}}}}}catch{}return{linkage:t,url:null}}static async getEnsAddress(t){let r=await t.getNetwork(),i=r.getPlugin("org.ethers.plugins.network.Ens");return Xr(i,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:r}}),i.address}static async#n(t,r){let i=await e.getEnsAddress(t);try{let o=await new Vp(i,["function resolver(bytes32) view returns (address)"],t).resolver(JI(r),{enableCcipRead:!0});return o===ry?null:o}catch(n){throw n}return null}static async fromName(t,r){let i=r;for(;;){if(i===""||i==="."||r!=="eth"&&i==="eth")return null;let n=await e.#n(t,i);if(n!=null){let o=new e(t,n,r);return i!==r&&!await o.supportsWildcard()?null:o}i=i.split(".").slice(1).join(".")}}};J();K();z();var mst=BigInt(0);function Ys(e,t){return(function(r){return r==null?t:e(r)})}function dY(e,t){return(r=>{if(t&&r==null)return null;if(!Array.isArray(r))throw new Error("not an array");return r.map(i=>e(i))})}function SL(e,t){return(r=>{let i={};for(let n in e){let o=n;if(t&&n in t&&!(o in r)){for(let d of t[n])if(d in r){o=d;break}}try{let d=e[n](r[o]);d!==void 0&&(i[n]=d)}catch(d){let g=d instanceof Error?d.message:"not-an-error";Xr(!1,`invalid value for value.${n} (${g})`,"BAD_DATA",{value:r})}}return i})}function hjt(e){switch(e){case!0:case"true":return!0;case!1:case"false":return!1}_r(!1,`invalid boolean; ${JSON.stringify(e)}`,"value",e)}function Xx(e){return _r(ns(e,!0),"invalid data","value",e),e}function oh(e){return _r(ns(e,32),"invalid hash","value",e),e}var Ajt=SL({address:Co,blockHash:oh,blockNumber:Zi,data:Xx,index:Zi,removed:Ys(hjt,!1),topics:dY(oh),transactionHash:oh,transactionIndex:Zi},{index:["logIndex"]});function yst(e){return Ajt(e)}var pjt=SL({hash:Ys(oh),parentHash:oh,parentBeaconBlockRoot:Ys(oh,null),number:Zi,timestamp:Zi,nonce:Ys(Xx),difficulty:gi,gasLimit:gi,gasUsed:gi,stateRoot:Ys(oh,null),receiptsRoot:Ys(oh,null),blobGasUsed:Ys(gi,null),excessBlobGas:Ys(gi,null),miner:Ys(Co),prevRandao:Ys(oh,null),extraData:Xx,baseFeePerGas:Ys(gi)},{prevRandao:["mixHash"]});function bst(e){let t=pjt(e);return t.transactions=e.transactions.map(r=>typeof r=="string"?r:z1e(r)),t}var gjt=SL({transactionIndex:Zi,blockNumber:Zi,transactionHash:oh,address:Co,topics:dY(oh),data:Xx,index:Zi,blockHash:oh},{index:["logIndex"]});function _jt(e){return gjt(e)}var mjt=SL({to:Ys(Co,null),from:Ys(Co,null),contractAddress:Ys(Co,null),index:Zi,root:Ys(vn),gasUsed:gi,blobGasUsed:Ys(gi,null),logsBloom:Ys(Xx),blockHash:oh,hash:oh,logs:dY(_jt),blockNumber:Zi,cumulativeGasUsed:gi,effectiveGasPrice:Ys(gi),blobGasPrice:Ys(gi,null),status:Ys(Zi),type:Ys(Zi,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function Est(e){return mjt(e)}function z1e(e){e.to&&gi(e.to)===mst&&(e.to="0x0000000000000000000000000000000000000000");let t=SL({hash:oh,index:Ys(Zi,void 0),type:r=>r==="0x"||r==null?0:Zi(r),accessList:Ys(ih,null),blobVersionedHashes:Ys(dY(oh,!0),null),blockHash:Ys(oh,null),blockNumber:Ys(Zi,null),transactionIndex:Ys(Zi,null),from:Co,gasPrice:Ys(gi),maxPriorityFeePerGas:Ys(gi),maxFeePerGas:Ys(gi),maxFeePerBlobGas:Ys(gi,null),gasLimit:gi,to:Ys(Co,null),value:gi,nonce:Zi,data:Xx,creates:Ys(Co,null),chainId:Ys(gi,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(e);if(t.to==null&&t.creates==null&&(t.creates=KC(t)),(e.type===1||e.type===2)&&e.accessList==null&&(t.accessList=[]),e.signature?t.signature=th.from(e.signature):t.signature=th.from(e),t.chainId==null){let r=t.signature.legacyChainId;r!=null&&(t.chainId=r)}return t.blockHash&&gi(t.blockHash)===mst&&(t.blockHash=null),t}J();K();z();J();K();z();var yjt="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",ay=class e{name;constructor(t){Un(this,{name:t})}clone(){return new e(this.name)}},jI=class e extends ay{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(t,r){t==null&&(t=0),super(`org.ethers.network.plugins.GasCost#${t||0}`);let i={effectiveBlock:t};function n(o,d){let g=(r||{})[o];g==null&&(g=d),_r(typeof g=="number",`invalud value for ${o}`,"costs",r),i[o]=g}n("txBase",21e3),n("txCreate",32e3),n("txDataZero",4),n("txDataNonzero",16),n("txAccessListStorageKey",1900),n("txAccessListAddress",2400),Un(this,i)}clone(){return new e(this.effectiveBlock,this)}},e3=class e extends ay{address;targetNetwork;constructor(t,r){super("org.ethers.plugins.network.Ens"),Un(this,{address:t||yjt,targetNetwork:r??1})}clone(){return new e(this.address,this.targetNetwork)}},IL=class e extends ay{#e;get feeDataFunc(){return this.#e}constructor(t){super("org.ethers.plugins.network.FeeData"),this.#e=t}async getFeeData(t){return await this.#e(t)}clone(){return new e(this.#e)}},iw=class extends ay{#e;#t;get url(){return this.#e}get processFunc(){return this.#t}constructor(t,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#e=t,this.#t=r}clone(){return this}};var K1e=new Map,Fs=class e{#e;#t;#r;constructor(t,r){this.#e=t,this.#t=gi(r),this.#r=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#e}set name(t){this.#e=t}get chainId(){return this.#t}set chainId(t){this.#t=gi(t,"chainId")}matches(t){if(t==null)return!1;if(typeof t=="string"){try{return this.chainId===gi(t)}catch{}return this.name===t}if(typeof t=="number"||typeof t=="bigint"){try{return this.chainId===gi(t)}catch{}return!1}if(typeof t=="object"){if(t.chainId!=null){try{return this.chainId===gi(t.chainId)}catch{}return!1}return t.name!=null?this.name===t.name:!1}return!1}get plugins(){return Array.from(this.#r.values())}attachPlugin(t){if(this.#r.get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return this.#r.set(t.name,t.clone()),this}getPlugin(t){return this.#r.get(t)||null}getPlugins(t){return this.plugins.filter(r=>r.name.split("#")[0]===t)}clone(){let t=new e(this.name,this.chainId);return this.plugins.forEach(r=>{t.attachPlugin(r.clone())}),t}computeIntrinsicGas(t){let r=this.getPlugin("org.ethers.plugins.network.GasCost")||new jI,i=r.txBase;if(t.to==null&&(i+=r.txCreate),t.data)for(let n=2;n<t.data.length;n+=2)t.data.substring(n,n+2)==="00"?i+=r.txDataZero:i+=r.txDataNonzero;if(t.accessList){let n=ih(t.accessList);for(let o in n)i+=r.txAccessListAddress+r.txAccessListStorageKey*n[o].storageKeys.length}return i}static from(t){if(bjt(),t==null)return e.from("mainnet");if(typeof t=="number"&&(t=BigInt(t)),typeof t=="string"||typeof t=="bigint"){let r=K1e.get(t);if(r)return r();if(typeof t=="bigint")return new e("unknown",t);_r(!1,"unknown network","network",t)}if(typeof t.clone=="function")return t.clone();if(typeof t=="object"){_r(typeof t.name=="string"&&typeof t.chainId=="number","invalid network object name or chainId","network",t);let r=new e(t.name,t.chainId);return(t.ensAddress||t.ensNetwork!=null)&&r.attachPlugin(new e3(t.ensAddress,t.ensNetwork)),r}_r(!1,"invalid network","network",t)}static register(t,r){typeof t=="number"&&(t=BigInt(t));let i=K1e.get(t);i&&_r(!1,`conflicting network for ${JSON.stringify(i.name)}`,"nameOrChainId",t),K1e.set(t,r)}};function vst(e,t){let r=String(e);if(!r.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${e}`);let i=r.split(".");if(i.length===1&&i.push(""),i.length!==2)throw new Error(`invalid gwei value: ${e}`);for(;i[1].length<t;)i[1]+="0";if(i[1].length>9){let n=BigInt(i[1].substring(0,9));i[1].substring(9).match(/^0+$/)||n++,i[1]=n.toString()}return BigInt(i[0]+i[1])}function Rst(e){return new iw(e,async(t,r,i)=>{i.setHeader("User-Agent","ethers");let n;try{let[o,d]=await Promise.all([i.send(),t()]);n=o;let g=n.bodyJson.standard;return{gasPrice:d.gasPrice,maxFeePerGas:vst(g.maxFee,9),maxPriorityFeePerGas:vst(g.maxPriorityFee,9)}}catch(o){Xr(!1,`error encountered with polygon gas station (${JSON.stringify(i.url)})`,"SERVER_ERROR",{request:i,response:n,error:o})}})}var Sst=!1;function bjt(){if(Sst)return;Sst=!0;function e(t,r,i){let n=function(){let o=new Fs(t,r);return i.ensNetwork!=null&&o.attachPlugin(new e3(null,i.ensNetwork)),o.attachPlugin(new jI),(i.plugins||[]).forEach(d=>{o.attachPlugin(d)}),o};Fs.register(t,n),Fs.register(r,n),i.altNames&&i.altNames.forEach(o=>{Fs.register(o,n)})}e("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),e("ropsten",3,{ensNetwork:3}),e("rinkeby",4,{ensNetwork:4}),e("goerli",5,{ensNetwork:5}),e("kovan",42,{ensNetwork:42}),e("sepolia",11155111,{ensNetwork:11155111}),e("holesky",17e3,{ensNetwork:17e3}),e("classic",61,{}),e("classicKotti",6,{}),e("arbitrum",42161,{ensNetwork:1}),e("arbitrum-goerli",421613,{}),e("arbitrum-sepolia",421614,{}),e("base",8453,{ensNetwork:1}),e("base-goerli",84531,{}),e("base-sepolia",84532,{}),e("bnb",56,{ensNetwork:1}),e("bnbt",97,{}),e("linea",59144,{ensNetwork:1}),e("linea-goerli",59140,{}),e("linea-sepolia",59141,{}),e("matic",137,{ensNetwork:1,plugins:[Rst("https://gasstation.polygon.technology/v2")]}),e("matic-amoy",80002,{}),e("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Rst("https://gasstation-testnet.polygon.technology/v2")]}),e("optimism",10,{ensNetwork:1,plugins:[]}),e("optimism-goerli",420,{}),e("optimism-sepolia",11155420,{}),e("xdai",100,{ensNetwork:1})}J();K();z();function $1e(e){return JSON.parse(JSON.stringify(e))}var fY=class{#e;#t;#r;#n;constructor(t){this.#e=t,this.#t=null,this.#r=4e3,this.#n=-2}get pollingInterval(){return this.#r}set pollingInterval(t){this.#r=t}async#i(){try{let t=await this.#e.getBlockNumber();if(this.#n===-2){this.#n=t;return}if(t!==this.#n){for(let r=this.#n+1;r<=t;r++){if(this.#t==null)return;await this.#e.emit("block",r)}this.#n=t}}catch{}this.#t!=null&&(this.#t=this.#e._setTimeout(this.#i.bind(this),this.#r))}start(){this.#t||(this.#t=this.#e._setTimeout(this.#i.bind(this),this.#r),this.#i())}stop(){this.#t&&(this.#e._clearTimeout(this.#t),this.#t=null)}pause(t){this.stop(),t&&(this.#n=-2)}resume(){this.start()}},CL=class{#e;#t;#r;constructor(t){this.#e=t,this.#r=!1,this.#t=r=>{this._poll(r,this.#e)}}async _poll(t,r){throw new Error("sub-classes must override this")}start(){this.#r||(this.#r=!0,this.#t(-2),this.#e.on("block",this.#t))}stop(){this.#r&&(this.#r=!1,this.#e.off("block",this.#t))}pause(t){this.stop()}resume(){this.start()}},lY=class extends CL{#e;#t;constructor(t,r){super(t),this.#e=r,this.#t=-2}pause(t){t&&(this.#t=-2),super.pause(t)}async _poll(t,r){let i=await r.getBlock(this.#e);i!=null&&(this.#t===-2?this.#t=i.number:i.number>this.#t&&(r.emit(this.#e,i.number),this.#t=i.number))}},hY=class extends CL{#e;constructor(t,r){super(t),this.#e=$1e(r)}async _poll(t,r){throw new Error("@TODO")}},AY=class extends CL{#e;constructor(t,r){super(t),this.#e=r}async _poll(t,r){let i=await r.getTransactionReceipt(this.#e);i&&r.emit(this.#e,i)}},t3=class{#e;#t;#r;#n;#i;constructor(t,r){this.#e=t,this.#t=$1e(r),this.#r=this.#a.bind(this),this.#n=!1,this.#i=-2}async#a(t){if(this.#i===-2)return;let r=$1e(this.#t);r.fromBlock=this.#i+1,r.toBlock=t;let i=await this.#e.getLogs(r);if(i.length===0){this.#i<t-60&&(this.#i=t-60);return}for(let n of i)this.#e.emit(this.#t,n),this.#i=n.blockNumber}start(){this.#n||(this.#n=!0,this.#i===-2&&this.#e.getBlockNumber().then(t=>{this.#i=t}),this.#e.on("block",this.#r))}stop(){this.#n&&(this.#n=!1,this.#e.off("block",this.#r))}pause(t){this.stop(),t&&(this.#i=-2)}resume(){this.start()}};var Ejt=BigInt(2),vjt=10;function pY(e){return e&&typeof e.then=="function"}function gY(e,t){return e+":"+JSON.stringify(t,(r,i)=>{if(i==null)return"null";if(typeof i=="bigint")return`bigint:${i.toString()}`;if(typeof i=="string")return i.toLowerCase();if(typeof i=="object"&&!Array.isArray(i)){let n=Object.keys(i);return n.sort(),n.reduce((o,d)=>(o[d]=i[d],o),{})}return i})}var sy=class{name;constructor(t){Un(this,{name:t})}start(){}stop(){}pause(t){}resume(){}};function Rjt(e){return JSON.parse(JSON.stringify(e))}function X1e(e){return e=Array.from(new Set(e).values()),e.sort(),e}async function Y1e(e,t){if(e==null)throw new Error("invalid event");if(Array.isArray(e)&&(e={topics:e}),typeof e=="string")switch(e){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:e,tag:e}}if(ns(e,32)){let r=e.toLowerCase();return{type:"transaction",tag:gY("tx",{hash:r}),hash:r}}if(e.orphan){let r=e;return{type:"orphan",tag:gY("orphan",r),filter:Rjt(r)}}if(e.address||e.topics){let r=e,i={topics:(r.topics||[]).map(n=>n==null?null:Array.isArray(n)?X1e(n.map(o=>o.toLowerCase())):n.toLowerCase())};if(r.address){let n=[],o=[],d=g=>{ns(g)?n.push(g):o.push((async()=>{n.push(await r0(g,t))})())};Array.isArray(r.address)?r.address.forEach(d):d(r.address),o.length&&await Promise.all(o),i.address=X1e(n.map(g=>g.toLowerCase()))}return{filter:i,tag:gY("event",i),type:"event"}}_r(!1,"unknown ProviderEvent","event",e)}function W1e(){return new Date().getTime()}var Sjt={cacheTimeout:250,pollingInterval:4e3},U_=class{#e;#t;#r;#n;#i;#a;#o;#s;#f;#u;#A;#p;constructor(t,r){if(this.#p=Object.assign({},Sjt,r||{}),t==="any")this.#a=!0,this.#i=null;else if(t){let i=Fs.from(t);this.#a=!1,this.#i=Promise.resolve(i),setTimeout(()=>{this.emit("network",i,null)},0)}else this.#a=!1,this.#i=null;this.#s=-1,this.#o=new Map,this.#e=new Map,this.#t=new Map,this.#r=null,this.#n=!1,this.#f=1,this.#u=new Map,this.#A=!1}get pollingInterval(){return this.#p.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#t.values())}attachPlugin(t){if(this.#t.get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return this.#t.set(t.name,t.connect(this)),this}getPlugin(t){return this.#t.get(t)||null}get disableCcipRead(){return this.#A}set disableCcipRead(t){this.#A=!!t}async#c(t){let r=this.#p.cacheTimeout;if(r<0)return await this._perform(t);let i=gY(t.method,t),n=this.#o.get(i);return n||(n=this._perform(t),this.#o.set(i,n),setTimeout(()=>{this.#o.get(i)===n&&this.#o.delete(i)},r)),await n}async ccipReadFetch(t,r,i){if(this.disableCcipRead||i.length===0||t.to==null)return null;let n=t.to.toLowerCase(),o=r.toLowerCase(),d=[];for(let g=0;g<i.length;g++){let y=i[g],_=y.replace("{sender}",n).replace("{data}",o),I=new jc(_);y.indexOf("{data}")===-1&&(I.body={data:o,sender:n}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:I,index:g,urls:i});let N="unknown error",T=await I.send();try{let M=T.bodyJson;if(M.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:I,result:M}),M.data;M.message&&(N=M.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:I,result:M})}catch{}Xr(T.statusCode<400||T.statusCode>=500,`response not found during CCIP fetch: ${N}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:y,errorMessage:N}}),d.push(N)}Xr(!1,`error encountered during CCIP fetch: ${d.map(g=>JSON.stringify(g)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:i,errorMessages:d}})}_wrapBlock(t,r){return new ew(bst(t),this)}_wrapLog(t,r){return new ig(yst(t),this)}_wrapTransactionReceipt(t,r){return new LR(Est(t),this)}_wrapTransactionResponse(t,r){return new Hb(z1e(t),this)}_detectNetwork(){Xr(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){Xr(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){let t=Zi(await this.#c({method:"getBlockNumber"}),"%response");return this.#s>=0&&(this.#s=t),t}_getAddress(t){return r0(t,this)}_getBlockTag(t){if(t==null)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}if(ns(t))return ns(t,32)?t:Gp(t);if(typeof t=="bigint"&&(t=Zi(t,"blockTag")),typeof t=="number")return t>=0?Gp(t):this.#s>=0?Gp(this.#s+t):this.getBlockNumber().then(r=>Gp(r+t));_r(!1,"invalid blockTag","blockTag",t)}_getFilter(t){let r=(t.topics||[]).map(y=>y==null?null:Array.isArray(y)?X1e(y.map(_=>_.toLowerCase())):y.toLowerCase()),i="blockHash"in t?t.blockHash:void 0,n=(y,_,I)=>{let N;switch(y.length){case 0:break;case 1:N=y[0];break;default:y.sort(),N=y}if(i&&(_!=null||I!=null))throw new Error("invalid filter");let T={};return N&&(T.address=N),r.length&&(T.topics=r),_&&(T.fromBlock=_),I&&(T.toBlock=I),i&&(T.blockHash=i),T},o=[];if(t.address)if(Array.isArray(t.address))for(let y of t.address)o.push(this._getAddress(y));else o.push(this._getAddress(t.address));let d;"fromBlock"in t&&(d=this._getBlockTag(t.fromBlock));let g;return"toBlock"in t&&(g=this._getBlockTag(t.toBlock)),o.filter(y=>typeof y!="string").length||d!=null&&typeof d!="string"||g!=null&&typeof g!="string"?Promise.all([Promise.all(o),d,g]).then(y=>n(y[0],y[1],y[2])):n(o,d,g)}_getTransactionRequest(t){let r=Gb(t),i=[];if(["to","from"].forEach(n=>{if(r[n]==null)return;let o=r0(r[n],this);pY(o)?i.push((async function(){r[n]=await o})()):r[n]=o}),r.blockTag!=null){let n=this._getBlockTag(r.blockTag);pY(n)?i.push((async function(){r.blockTag=await n})()):r.blockTag=n}return i.length?(async function(){return await Promise.all(i),r})():r}async getNetwork(){if(this.#i==null){let n=(async()=>{try{let o=await this._detectNetwork();return this.emit("network",o,null),o}catch(o){throw this.#i===n&&(this.#i=null),o}})();return this.#i=n,(await n).clone()}let t=this.#i,[r,i]=await Promise.all([t,this._detectNetwork()]);return r.chainId!==i.chainId&&(this.#a?(this.emit("network",i,r),this.#i===t&&(this.#i=Promise.resolve(i))):Xr(!1,`network changed: ${r.chainId} => ${i.chainId} `,"NETWORK_ERROR",{event:"changed"})),r.clone()}async getFeeData(){let t=await this.getNetwork(),r=async()=>{let{_block:n,gasPrice:o,priorityFee:d}=await Pu({_block:this.#g("latest",!1),gasPrice:(async()=>{try{let I=await this.#c({method:"getGasPrice"});return gi(I,"%response")}catch{}return null})(),priorityFee:(async()=>{try{let I=await this.#c({method:"getPriorityFee"});return gi(I,"%response")}catch{}return null})()}),g=null,y=null,_=this._wrapBlock(n,t);return _&&_.baseFeePerGas&&(y=d??BigInt("1000000000"),g=_.baseFeePerGas*Ejt+y),new YI(o,g,y)},i=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(i){let n=new jc(i.url),o=await i.processFunc(r,this,n);return new YI(o.gasPrice,o.maxFeePerGas,o.maxPriorityFeePerGas)}return await r()}async estimateGas(t){let r=this._getTransactionRequest(t);return pY(r)&&(r=await r),gi(await this.#c({method:"estimateGas",transaction:r}),"%response")}async#d(t,r,i){Xr(i<vjt,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:r,enableCcipRead:!0})});let n=Gb(t);try{return vn(await this._perform({method:"call",transaction:n,blockTag:r}))}catch(o){if(!this.disableCcipRead&&BI(o)&&o.data&&i>=0&&r==="latest"&&n.to!=null&&tc(o.data,0,4)==="0x556f1830"){let d=o.data,g=await r0(n.to,this),y;try{y=Njt(tc(o.data,4))}catch(N){Xr(!1,N.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:n,info:{data:d}})}Xr(y.sender.toLowerCase()===g.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:d,reason:"OffchainLookup",transaction:n,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:y.errorArgs}});let _=await this.ccipReadFetch(n,y.calldata,y.urls);Xr(_!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:n,info:{data:o.data,errorArgs:y.errorArgs}});let I={to:g,data:Jo([y.selector,Ojt([_,y.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:I});try{let N=await this.#d(I,r,i+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},I),result:N}),N}catch(N){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},I),error:N}),N}}throw o}}async#l(t){let{value:r}=await Pu({network:this.getNetwork(),value:t});return r}async call(t){let{tx:r,blockTag:i}=await Pu({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await this.#l(this.#d(r,i,t.enableCcipRead?0:-1))}async#h(t,r,i){let n=this._getAddress(r),o=this._getBlockTag(i);return(typeof n!="string"||typeof o!="string")&&([n,o]=await Promise.all([n,o])),await this.#l(this.#c(Object.assign(t,{address:n,blockTag:o})))}async getBalance(t,r){return gi(await this.#h({method:"getBalance"},t,r),"%response")}async getTransactionCount(t,r){return Zi(await this.#h({method:"getTransactionCount"},t,r),"%response")}async getCode(t,r){return vn(await this.#h({method:"getCode"},t,r))}async getStorage(t,r,i){let n=gi(r,"position");return vn(await this.#h({method:"getStorage",position:n},t,i))}async broadcastTransaction(t){let{blockNumber:r,hash:i,network:n}=await Pu({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),o=ng.from(t);if(o.hash!==i)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(o,n).replaceableTransaction(r)}async#g(t,r){if(ns(t,32))return await this.#c({method:"getBlock",blockHash:t,includeTransactions:r});let i=this._getBlockTag(t);return typeof i!="string"&&(i=await i),await this.#c({method:"getBlock",blockTag:i,includeTransactions:r})}async getBlock(t,r){let{network:i,params:n}=await Pu({network:this.getNetwork(),params:this.#g(t,!!r)});return n==null?null:this._wrapBlock(n,i)}async getTransaction(t){let{network:r,params:i}=await Pu({network:this.getNetwork(),params:this.#c({method:"getTransaction",hash:t})});return i==null?null:this._wrapTransactionResponse(i,r)}async getTransactionReceipt(t){let{network:r,params:i}=await Pu({network:this.getNetwork(),params:this.#c({method:"getTransactionReceipt",hash:t})});if(i==null)return null;if(i.gasPrice==null&&i.effectiveGasPrice==null){let n=await this.#c({method:"getTransaction",hash:t});if(n==null)throw new Error("report this; could not find tx or effectiveGasPrice");i.effectiveGasPrice=n.gasPrice}return this._wrapTransactionReceipt(i,r)}async getTransactionResult(t){let{result:r}=await Pu({network:this.getNetwork(),result:this.#c({method:"getTransactionResult",hash:t})});return r==null?null:vn(r)}async getLogs(t){let r=this._getFilter(t);pY(r)&&(r=await r);let{network:i,params:n}=await Pu({network:this.getNetwork(),params:this.#c({method:"getLogs",filter:r})});return n.map(o=>this._wrapLog(o,i))}_getProvider(t){Xr(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await ZI.fromName(this,t)}async getAvatar(t){let r=await this.getResolver(t);return r?await r.getAvatar():null}async resolveName(t){let r=await this.getResolver(t);return r?await r.getAddress():null}async lookupAddress(t){t=Co(t);let r=JI(t.substring(2).toLowerCase()+".addr.reverse");try{let i=await ZI.getEnsAddress(this),o=await new Vp(i,["function resolver(bytes32) view returns (address)"],this).resolver(r);if(o==null||o===ry)return null;let g=await new Vp(o,["function name(bytes32) view returns (string)"],this).name(r);return await this.resolveName(g)!==t?null:g}catch(i){if(Tc(i,"BAD_DATA")&&i.value==="0x"||Tc(i,"CALL_EXCEPTION"))return null;throw i}return null}async waitForTransaction(t,r,i){let n=r??1;return n===0?this.getTransactionReceipt(t):new Promise(async(o,d)=>{let g=null,y=(async _=>{try{let I=await this.getTransactionReceipt(t);if(I!=null&&_-I.blockNumber+1>=n){o(I),g&&(clearTimeout(g),g=null);return}}catch(I){console.log("EEE",I)}this.once("block",y)});i!=null&&(g=setTimeout(()=>{g!=null&&(g=null,this.off("block",y),d(wc("timeout","TIMEOUT",{reason:"timeout"})))},i)),y(await this.getBlockNumber())})}async waitForBlock(t){Xr(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){let r=this.#u.get(t);r&&(r.timer&&clearTimeout(r.timer),this.#u.delete(t))}_setTimeout(t,r){r==null&&(r=0);let i=this.#f++,n=()=>{this.#u.delete(i),t()};if(this.paused)this.#u.set(i,{timer:null,func:n,time:r});else{let o=setTimeout(n,r);this.#u.set(i,{timer:o,func:n,time:W1e()})}return i}_forEachSubscriber(t){for(let r of this.#e.values())t(r.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new sy(t.type);case"block":{let r=new fY(this);return r.pollingInterval=this.pollingInterval,r}case"safe":case"finalized":return new lY(this,t.type);case"event":return new t3(this,t.filter);case"transaction":return new AY(this,t.hash);case"orphan":return new hY(this,t.filter)}throw new Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,r){for(let i of this.#e.values())if(i.subscriber===t){i.started&&i.subscriber.stop(),i.subscriber=r,i.started&&r.start(),this.#r!=null&&r.pause(this.#r);break}}async#_(t,r){let i=await Y1e(t,this);return i.type==="event"&&r&&r.length>0&&r[0].removed===!0&&(i=await Y1e({orphan:"drop-log",log:r[0]},this)),this.#e.get(i.tag)||null}async#m(t){let r=await Y1e(t,this),i=r.tag,n=this.#e.get(i);return n||(n={subscriber:this._getSubscriber(r),tag:i,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#e.set(i,n)),n}async on(t,r){let i=await this.#m(t);return i.listeners.push({listener:r,once:!1}),i.started||(i.subscriber.start(),i.started=!0,this.#r!=null&&i.subscriber.pause(this.#r)),this}async once(t,r){let i=await this.#m(t);return i.listeners.push({listener:r,once:!0}),i.started||(i.subscriber.start(),i.started=!0,this.#r!=null&&i.subscriber.pause(this.#r)),this}async emit(t,...r){let i=await this.#_(t,r);if(!i||i.listeners.length===0)return!1;let n=i.listeners.length;return i.listeners=i.listeners.filter(({listener:o,once:d})=>{let g=new IR(this,d?null:o,t);try{o.call(this,...r,g)}catch{}return!d}),i.listeners.length===0&&(i.started&&i.subscriber.stop(),this.#e.delete(i.tag)),n>0}async listenerCount(t){if(t){let i=await this.#_(t);return i?i.listeners.length:0}let r=0;for(let{listeners:i}of this.#e.values())r+=i.length;return r}async listeners(t){if(t){let i=await this.#_(t);return i?i.listeners.map(({listener:n})=>n):[]}let r=[];for(let{listeners:i}of this.#e.values())r=r.concat(i.map(({listener:n})=>n));return r}async off(t,r){let i=await this.#_(t);if(!i)return this;if(r){let n=i.listeners.map(({listener:o})=>o).indexOf(r);n>=0&&i.listeners.splice(n,1)}return(!r||i.listeners.length===0)&&(i.started&&i.subscriber.stop(),this.#e.delete(i.tag)),this}async removeAllListeners(t){if(t){let{tag:r,started:i,subscriber:n}=await this.#m(t);i&&n.stop(),this.#e.delete(r)}else for(let[r,{started:i,subscriber:n}]of this.#e)i&&n.stop(),this.#e.delete(r);return this}async addListener(t,r){return await this.on(t,r)}async removeListener(t,r){return this.off(t,r)}get destroyed(){return this.#n}destroy(){this.removeAllListeners();for(let t of this.#u.keys())this._clearTimeout(t);this.#n=!0}get paused(){return this.#r!=null}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(this.#s=-1,this.#r!=null){if(this.#r==!!t)return;Xr(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(r=>r.pause(t)),this.#r=!!t;for(let r of this.#u.values())r.timer&&clearTimeout(r.timer),r.time=W1e()-r.time}resume(){if(this.#r!=null){this._forEachSubscriber(t=>t.resume()),this.#r=null;for(let t of this.#u.values()){let r=t.time;r<0&&(r=0),t.time=W1e(),setTimeout(t.func,r)}}}};function Ijt(e,t){try{let r=Z1e(e,t);if(r)return LA(r)}catch{}return null}function Z1e(e,t){if(e==="0x")return null;try{let r=Zi(tc(e,t,t+32)),i=Zi(tc(e,r,r+32));return tc(e,r+32,r+32+i)}catch{}return null}function Ist(e){let t=Yu(e);if(t.length>32)throw new Error("internal; should not happen");let r=new Uint8Array(32);return r.set(t,32-t.length),r}function Cjt(e){if(e.length%32===0)return e;let t=new Uint8Array(Math.ceil(e.length/32)*32);return t.set(e),t}var wjt=new Uint8Array([]);function Ojt(e){let t=[],r=0;for(let i=0;i<e.length;i++)t.push(wjt),r+=32;for(let i=0;i<e.length;i++){let n=Dn(e[i]);t[i]=Ist(r),t.push(Ist(n.length)),t.push(Cjt(n)),r+=32+Math.ceil(n.length/32)*32}return Jo(t)}var Cst="0x0000000000000000000000000000000000000000000000000000000000000000";function Njt(e){let t={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};Xr(Hp(e)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let r=tc(e,0,32);Xr(tc(r,0,12)===tc(Cst,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),t.sender=tc(r,12);try{let i=[],n=Zi(tc(e,32,64)),o=Zi(tc(e,n,n+32)),d=tc(e,n+32);for(let g=0;g<o;g++){let y=Ijt(d,g*32);if(y==null)throw new Error("abort");i.push(y)}t.urls=i}catch{Xr(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let i=Z1e(e,64);if(i==null)throw new Error("abort");t.calldata=i}catch{Xr(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}Xr(tc(e,100,128)===tc(Cst,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),t.selector=tc(e,96,100);try{let i=Z1e(e,128);if(i==null)throw new Error("abort");t.extraData=i}catch{Xr(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return t.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(i=>t[i]),t}J();K();z();function Zx(e,t){if(e.provider)return e.provider;Xr(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:t})}async function wst(e,t){let r=Gb(t);if(r.to!=null&&(r.to=r0(r.to,e)),r.from!=null){let i=r.from;r.from=Promise.all([e.getAddress(),r0(i,e)]).then(([n,o])=>(_r(n.toLowerCase()===o.toLowerCase(),"transaction from mismatch","tx.from",o),n))}else r.from=e.getAddress();return await Pu(r)}var F_=class{provider;constructor(t){Un(this,{provider:t||null})}async getNonce(t){return Zx(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await wst(this,t)}async populateTransaction(t){let r=Zx(this,"populateTransaction"),i=await wst(this,t);i.nonce==null&&(i.nonce=await this.getNonce("pending")),i.gasLimit==null&&(i.gasLimit=await this.estimateGas(i));let n=await this.provider.getNetwork();if(i.chainId!=null){let d=gi(i.chainId);_r(d===n.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else i.chainId=n.chainId;let o=i.maxFeePerGas!=null||i.maxPriorityFeePerGas!=null;if(i.gasPrice!=null&&(i.type===2||o)?_r(!1,"eip-1559 transaction do not support gasPrice","tx",t):(i.type===0||i.type===1)&&o&&_r(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(i.type===2||i.type==null)&&i.maxFeePerGas!=null&&i.maxPriorityFeePerGas!=null)i.type=2;else if(i.type===0||i.type===1){let d=await r.getFeeData();Xr(d.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),i.gasPrice==null&&(i.gasPrice=d.gasPrice)}else{let d=await r.getFeeData();if(i.type==null)if(d.maxFeePerGas!=null&&d.maxPriorityFeePerGas!=null)if(i.type=2,i.gasPrice!=null){let g=i.gasPrice;delete i.gasPrice,i.maxFeePerGas=g,i.maxPriorityFeePerGas=g}else i.maxFeePerGas==null&&(i.maxFeePerGas=d.maxFeePerGas),i.maxPriorityFeePerGas==null&&(i.maxPriorityFeePerGas=d.maxPriorityFeePerGas);else d.gasPrice!=null?(Xr(!o,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),i.gasPrice==null&&(i.gasPrice=d.gasPrice),i.type=0):Xr(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(i.type===2||i.type===3)&&(i.maxFeePerGas==null&&(i.maxFeePerGas=d.maxFeePerGas),i.maxPriorityFeePerGas==null&&(i.maxPriorityFeePerGas=d.maxPriorityFeePerGas))}return await Pu(i)}async estimateGas(t){return Zx(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return Zx(this,"call").call(await this.populateCall(t))}async resolveName(t){return await Zx(this,"resolveName").resolveName(t)}async sendTransaction(t){let r=Zx(this,"sendTransaction"),i=await this.populateTransaction(t);delete i.from;let n=ng.from(i);return await r.broadcastTransaction(await this.signTransaction(n))}},ow=class e extends F_{address;constructor(t,r){super(r),Un(this,{address:t})}async getAddress(){return this.address}connect(t){return new e(this.address,t)}#e(t,r){Xr(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:r})}async signTransaction(t){this.#e("transactions","signTransaction")}async signMessage(t){this.#e("messages","signMessage")}async signTypedData(t,r,i){this.#e("typed-data","signTypedData")}};J();K();z();var Ost=new Set;function ah(e){Ost.has(e)||(Ost.add(e),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${e} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}J();K();z();J();K();z();J();K();z();J();K();z();function xjt(e){return JSON.parse(JSON.stringify(e))}var _Y=class{#e;#t;#r;#n;#i;#a;constructor(t){this.#e=t,this.#t=null,this.#r=this.#o.bind(this),this.#n=!1,this.#i=null,this.#a=!1}_subscribe(t){throw new Error("subclasses must override this")}_emitResults(t,r){throw new Error("subclasses must override this")}_recover(t){throw new Error("subclasses must override this")}async#o(t){try{this.#t==null&&(this.#t=this._subscribe(this.#e));let r=null;try{r=await this.#t}catch(o){if(!Tc(o,"UNSUPPORTED_OPERATION")||o.operation!=="eth_newFilter")throw o}if(r==null){this.#t=null,this.#e._recoverSubscriber(this,this._recover(this.#e));return}let i=await this.#e.getNetwork();if(this.#i||(this.#i=i),this.#i.chainId!==i.chainId)throw new Error("chaid changed");if(this.#a)return;let n=await this.#e.send("eth_getFilterChanges",[r]);await this._emitResults(this.#e,n)}catch(r){console.log("@TODO",r)}this.#e.once("block",this.#r)}#s(){let t=this.#t;t&&(this.#t=null,t.then(r=>{this.#e.destroyed||this.#e.send("eth_uninstallFilter",[r])}))}start(){this.#n||(this.#n=!0,this.#o(-2))}stop(){this.#n&&(this.#n=!1,this.#a=!0,this.#s(),this.#e.off("block",this.#r))}pause(t){t&&this.#s(),this.#e.off("block",this.#r)}resume(){this.start()}},mY=class extends _Y{#e;constructor(t,r){super(t),this.#e=xjt(r)}_recover(t){return new t3(t,this.#e)}async _subscribe(t){return await t.send("eth_newFilter",[this.#e])}async _emitResults(t,r){for(let i of r)t.emit(this.#e,t._wrapLog(i,t._network))}},yY=class extends _Y{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,r){for(let i of r)t.emit("pending",i)}};var Tjt="bigint,boolean,function,number,string,symbol".split(/,/g);function bY(e){if(e==null||Tjt.indexOf(typeof e)>=0||typeof e.getAddress=="function")return e;if(Array.isArray(e))return e.map(bY);if(typeof e=="object")return Object.keys(e).reduce((t,r)=>(t[r]=e[r],t),{});throw new Error(`should not happen: ${e} (${typeof e})`)}function Bjt(e){return new Promise(t=>{setTimeout(t,e)})}function jx(e){return e&&e.toLowerCase()}function Nst(e){return e&&typeof e.pollingInterval=="number"}var Mjt={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3},r3=class extends F_{address;constructor(t,r){super(t),r=Co(r),Un(this,{address:r})}connect(t){Xr(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){let r=bY(t),i=[];if(r.from){let o=r.from;i.push((async()=>{let d=await r0(o,this.provider);_r(d!=null&&d.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),r.from=d})())}else r.from=this.address;if(r.gasLimit==null&&i.push((async()=>{r.gasLimit=await this.provider.estimateGas({...r,from:this.address})})()),r.to!=null){let o=r.to;i.push((async()=>{r.to=await r0(o,this.provider)})())}i.length&&await Promise.all(i);let n=this.provider.getRpcTransaction(r);return this.provider.send("eth_sendTransaction",[n])}async sendTransaction(t){let r=await this.provider.getBlockNumber(),i=await this.sendUncheckedTransaction(t);return await new Promise((n,o)=>{let d=[1e3,100],g=0,y=async()=>{try{let _=await this.provider.getTransaction(i);if(_!=null){n(_.replaceableTransaction(r));return}}catch(_){if(Tc(_,"CANCELLED")||Tc(_,"BAD_DATA")||Tc(_,"NETWORK_ERROR")){_.info==null&&(_.info={}),_.info.sendTransactionHash=i,o(_);return}if(Tc(_,"INVALID_ARGUMENT")&&(g++,_.info==null&&(_.info={}),_.info.sendTransactionHash=i,g>10)){o(_);return}this.provider.emit("error",wc("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:_}))}this.provider._setTimeout(()=>{y()},d.pop()||4e3)};y()})}async signTransaction(t){let r=bY(t);if(r.from){let n=await r0(r.from,this.provider);_r(n!=null&&n.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),r.from=n}else r.from=this.address;let i=this.provider.getRpcTransaction(r);return await this.provider.send("eth_signTransaction",[i])}async signMessage(t){let r=typeof t=="string"?rc(t):t;return await this.provider.send("personal_sign",[vn(r),this.address.toLowerCase()])}async signTypedData(t,r,i){let n=bY(i),o=await P_.resolveNames(t,r,n,async d=>{let g=await r0(d);return _r(g!=null,"TypedData does not support null address","value",d),g});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(P_.getPayload(o.domain,r,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let r=typeof t=="string"?rc(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),vn(r)])}},n3=class extends U_{#e;#t;#r;#n;#i;#a;#o;#s(){if(this.#n)return;let t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");this.#n=setTimeout(()=>{this.#n=null;let r=this.#r;for(this.#r=[];r.length;){let i=[r.shift()];for(;r.length&&i.length!==this.#e.batchMaxCount;)if(i.push(r.shift()),JSON.stringify(i.map(o=>o.payload)).length>this.#e.batchMaxSize){r.unshift(i.pop());break}(async()=>{let n=i.length===1?i[0].payload:i.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:n});try{let o=await this._send(n);this.emit("debug",{action:"receiveRpcResult",result:o});for(let{resolve:d,reject:g,payload:y}of i){if(this.destroyed){g(wc("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:y.method}));continue}let _=o.filter(I=>I.id===y.id)[0];if(_==null){let I=wc("missing response for request","BAD_DATA",{value:o,info:{payload:y}});this.emit("error",I),g(I);continue}if("error"in _){g(this.getRpcError(y,_));continue}d(_.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(let{reject:d}of i)d(o)}})()}},t)}constructor(t,r){super(t,r),this.#t=1,this.#e=Object.assign({},Mjt,r||{}),this.#r=[],this.#n=null,this.#a=null,this.#o=null;{let n=null,o=new Promise(d=>{n=d});this.#i={promise:o,resolve:n}}let i=this._getOption("staticNetwork");typeof i=="boolean"?(_r(!i||t!=="any","staticNetwork cannot be used on special network 'any'","options",r),i&&t!=null&&(this.#a=Fs.from(t))):i&&(_r(t==null||i.matches(t),"staticNetwork MUST match network object","options",r),this.#a=i)}_getOption(t){return this.#e[t]}get _network(){return Xr(this.#a,"network is not available yet","NETWORK_ERROR"),this.#a}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let i=t.transaction;if(i&&i.type!=null&&gi(i.type)&&i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null){let n=await this.getFeeData();n.maxFeePerGas==null&&n.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},i,{type:void 0})}))}}let r=this.getRpcRequest(t);return r!=null?await this.send(r.method,r.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t)if(t===!0){if(this.#a)return this.#a}else return t;return this.#o?await this.#o:this.ready?(this.#o=(async()=>{try{let r=Fs.from(gi(await this.send("eth_chainId",[])));return this.#o=null,r}catch(r){throw this.#o=null,r}})(),await this.#o):(this.#o=(async()=>{let r={id:this.#t++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let i;try{i=(await this._send(r))[0],this.#o=null}catch(n){throw this.#o=null,this.emit("debug",{action:"receiveRpcError",error:n}),n}if(this.emit("debug",{action:"receiveRpcResult",result:i}),"result"in i)return Fs.from(gi(i.result));throw this.getRpcError(r,i)})(),await this.#o)}_start(){this.#i==null||this.#i.resolve==null||(this.#i.resolve(),this.#i=null,(async()=>{for(;this.#a==null&&!this.destroyed;)try{this.#a=await this._detectNetwork()}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",wc("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await Bjt(1e3)}this.#s()})())}async _waitUntilReady(){if(this.#i!=null)return await this.#i.promise}_getSubscriber(t){return t.type==="pending"?new yY(this):t.type==="event"?this._getOption("polling")?new t3(this,t.filter):new mY(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new sy("orphan"):super._getSubscriber(t)}get ready(){return this.#i==null}getRpcTransaction(t){let r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(i=>{if(t[i]==null)return;let n=i;i==="gasLimit"&&(n="gas"),r[n]=Gp(gi(t[i],`tx.${i}`))}),["from","to","data"].forEach(i=>{t[i]!=null&&(r[i]=vn(t[i]))}),t.accessList&&(r.accessList=ih(t.accessList)),r}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[jx(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[jx(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[jx(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[jx(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(jx):t.filter.address=jx(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,r){let{method:i}=t,{error:n}=r;if(i==="eth_estimateGas"&&n.message){let g=n.message;if(!g.match(/revert/i)&&g.match(/insufficient funds/i))return wc("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:n}})}if(i==="eth_call"||i==="eth_estimateGas"){let g=j1e(n),y=L_.getBuiltinCallException(i==="eth_call"?"call":"estimateGas",t.params[0],g?g.data:null);return y.info={error:n,payload:t},y}let o=JSON.stringify(Djt(n));if(typeof n.message=="string"&&n.message.match(/user denied|ethers-user-denied/i))return wc("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[i]||"unknown",reason:"rejected",info:{payload:t,error:n}});if(i==="eth_sendRawTransaction"||i==="eth_sendTransaction"){let g=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return wc("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:g,info:{error:n}});if(o.match(/nonce/i)&&o.match(/too low/i))return wc("nonce has already been used","NONCE_EXPIRED",{transaction:g,info:{error:n}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return wc("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:g,info:{error:n}});if(o.match(/only replay-protected/i))return wc("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:i,info:{transaction:g,info:{error:n}}})}let d=!!o.match(/the method .* does not exist/i);return d||n&&n.details&&n.details.startsWith("Unauthorized method:")&&(d=!0),d?wc("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:n,payload:t}}):wc("could not coalesce error","UNKNOWN_ERROR",{error:n,payload:t})}send(t,r){if(this.destroyed)return Promise.reject(wc("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let i=this.#t++,n=new Promise((o,d)=>{this.#r.push({resolve:o,reject:d,payload:{method:t,params:r,id:i,jsonrpc:"2.0"}})});return this.#s(),n}async getSigner(t){t==null&&(t=0);let r=this.send("eth_accounts",[]);if(typeof t=="number"){let n=await r;if(t>=n.length)throw new Error("no such account");return new r3(this,n[t])}let{accounts:i}=await Pu({network:this.getNetwork(),accounts:r});t=Co(t);for(let n of i)if(Co(n)===t)return new r3(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new r3(this,r))}destroy(){this.#n&&(clearTimeout(this.#n),this.#n=null);for(let{payload:t,reject:r}of this.#r)r(wc("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));this.#r=[],super.destroy()}},wL=class extends n3{#e;constructor(t,r){super(t,r),this.#e=4e3}_getSubscriber(t){let r=super._getSubscriber(t);return Nst(r)&&(r.pollingInterval=this.#e),r}get pollingInterval(){return this.#e}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");this.#e=t,this._forEachSubscriber(r=>{Nst(r)&&(r.pollingInterval=this.#e)})}},i0=class extends wL{#e;constructor(t,r,i){t==null&&(t="http://localhost:8545"),super(r,i),typeof t=="string"?this.#e=new jc(t):this.#e=t.clone()}_getConnection(){return this.#e.clone()}async send(t,r){return await this._start(),await super.send(t,r)}async _send(t){let r=this._getConnection();r.body=JSON.stringify(t),r.setHeader("content-type","application/json");let i=await r.send();i.assertOk();let n=i.bodyJson;return Array.isArray(n)||(n=[n]),n}};function j1e(e){if(e==null)return null;if(typeof e.message=="string"&&e.message.match(/revert/i)&&ns(e.data))return{message:e.message,data:e.data};if(typeof e=="object"){for(let t in e){let r=j1e(e[t]);if(r)return r}return null}if(typeof e=="string")try{return j1e(JSON.parse(e))}catch{}return null}function ege(e,t){if(e!=null){if(typeof e.message=="string"&&t.push(e.message),typeof e=="object")for(let r in e)ege(e[r],t);if(typeof e=="string")try{return ege(JSON.parse(e),t)}catch{}}}function Djt(e){let t=[];return ege(e,t),t}var EY="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function kjt(e){switch(e){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}_r(!1,"unsupported network","network",e)}var aw=class e extends i0{apiKey;constructor(t,r){t==null&&(t="mainnet");let i=Fs.from(t);r==null&&(r=EY);let n={polling:!0,staticNetwork:i},o=e.getRequest(i,r);super(o,i,n),Un(this,{apiKey:r})}_getProvider(t){try{return new e(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,r){r==null&&(r=EY);let i=new jc(`https://${kjt(t.name)}/${r}`);return i.allowGzip=!0,r===EY&&(i.retryFunc=async(n,o,d)=>(ah("AnkrProvider"),!0)),i}getRpcError(t,r){return t.method==="eth_sendRawTransaction"&&r&&r.error&&r.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(r.error.message="replacement transaction underpriced"),super.getRpcError(t,r)}isCommunityResource(){return this.apiKey===EY}};J();K();z();var vY="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function Pjt(e){switch(e){case"mainnet":return"eth-mainnet.alchemyapi.io";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-amoy":return"polygon-amoy.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}_r(!1,"unsupported network","network",e)}var sw=class e extends i0{apiKey;constructor(t,r){t==null&&(t="mainnet");let i=Fs.from(t);r==null&&(r=vY);let n=e.getRequest(i,r);super(n,i,{staticNetwork:i}),Un(this,{apiKey:r})}_getProvider(t){try{return new e(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){let{trace:r,tx:i}=await Pu({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(r==null||i==null)return null;let n,o=!1;try{n=r[0].result.output,o=r[0].error==="Reverted"}catch{}if(n)return Xr(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:n,reason:null,transaction:i,invocation:null,revert:null}),n;Xr(!1,"could not parse trace result","BAD_DATA",{value:r})}return await super._perform(t)}isCommunityResource(){return this.apiKey===vY}static getRequest(t,r){r==null&&(r=vY);let i=new jc(`https://${Pjt(t.name)}/v2/${r}`);return i.allowGzip=!0,r===vY&&(i.retryFunc=async(n,o,d)=>(ah("alchemy"),!0)),i}};J();K();z();function RY(e){switch(e){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}_r(!1,"unsupported network","network",e)}function Ljt(e){switch(e){case"mainnet":return"ethereum-mainnet.core.chainstack.com";case"arbitrum":return"arbitrum-mainnet.core.chainstack.com";case"bnb":return"bsc-mainnet.core.chainstack.com";case"matic":return"polygon-mainnet.core.chainstack.com"}_r(!1,"unsupported network","network",e)}var cw=class e extends i0{apiKey;constructor(t,r){t==null&&(t="mainnet");let i=Fs.from(t);r==null&&(r=RY(i.name));let n=e.getRequest(i,r);super(n,i,{staticNetwork:i}),Un(this,{apiKey:r})}_getProvider(t){try{return new e(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===RY(this._network.name)}static getRequest(t,r){r==null&&(r=RY(t.name));let i=new jc(`https://${Ljt(t.name)}/${r}`);return i.allowGzip=!0,r===RY(t.name)&&(i.retryFunc=async(n,o,d)=>(ah("ChainstackProvider"),!0)),i}};J();K();z();var uw=class extends i0{constructor(t){t==null&&(t="mainnet");let r=Fs.from(t);_r(r.name==="mainnet","unsupported network","network",t),super("https://cloudflare-eth.com/",r,{staticNetwork:r})}};J();K();z();var xst=2e3;function Ujt(e){return e&&typeof e.then=="function"}var Tst="org.ethers.plugins.provider.Etherscan",OL=class e extends ay{baseUrl;constructor(t){super(Tst),Un(this,{baseUrl:t})}clone(){return new e(this.baseUrl)}},Fjt=["enableCcipRead"],Qjt=1,dw=class extends U_{network;apiKey;#e;constructor(t,r){let i=r??null;super();let n=Fs.from(t);this.#e=n.getPlugin(Tst),Un(this,{apiKey:i,network:n}),this.getBaseUrl()}getBaseUrl(){if(this.#e)return this.#e.baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io";default:}_r(!1,"unsupported network","network",this.network)}getUrl(t,r){let i=Object.keys(r).reduce((o,d)=>{let g=r[d];return g!=null&&(o+=`&${d}=${g}`),o},""),n=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.getBaseUrl()}/api?module=${t}${i}${n}`}getPostUrl(){return`${this.getBaseUrl()}/api`}getPostData(t,r){return r.module=t,r.apikey=this.apiKey,r}async detectNetwork(){return this.network}async fetch(t,r,i){let n=Qjt++,o=i?this.getPostUrl():this.getUrl(t,r),d=i?this.getPostData(t,r):null;this.emit("debug",{action:"sendRequest",id:n,url:o,payload:d});let g=new jc(o);g.setThrottleParams({slotInterval:1e3}),g.retryFunc=(I,N,T)=>(this.isCommunityResource()&&ah("Etherscan"),Promise.resolve(!0)),g.processFunc=async(I,N)=>{let T=N.hasBody()?JSON.parse(LA(N.body)):{},M=(typeof T.result=="string"?T.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?T&&T.status==0&&T.message=="NOTOK"&&M&&(this.emit("debug",{action:"receiveError",id:n,reason:"proxy-NOTOK",error:T}),N.throwThrottleError(T.result,xst)):M&&(this.emit("debug",{action:"receiveError",id:n,reason:"null result",error:T.result}),N.throwThrottleError(T.result,xst)),N},d&&(g.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),g.body=Object.keys(d).map(I=>`${I}=${d[I]}`).join("&"));let y=await g.send();try{y.assertOk()}catch(I){this.emit("debug",{action:"receiveError",id:n,error:I,reason:"assertOk"}),Xr(!1,"response error","SERVER_ERROR",{request:g,response:y})}y.hasBody()||(this.emit("debug",{action:"receiveError",id:n,error:"missing body",reason:"null body"}),Xr(!1,"missing response","SERVER_ERROR",{request:g,response:y}));let _=JSON.parse(LA(y.body));return t==="proxy"?(_.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:n,result:_,reason:"invalid JSON-RPC"}),Xr(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:g,response:y,info:{result:_}})),_.error&&(this.emit("debug",{action:"receiveError",id:n,result:_,reason:"JSON-RPC error"}),Xr(!1,"error response","SERVER_ERROR",{request:g,response:y,info:{result:_}})),this.emit("debug",{action:"receiveRequest",id:n,result:_}),_.result):_.status==0&&(_.message==="No records found"||_.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:n,result:_}),_.result):((_.status!=1||typeof _.message=="string"&&!_.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:n,result:_}),Xr(!1,"error response","SERVER_ERROR",{request:g,response:y,info:{result:_}})),this.emit("debug",{action:"receiveRequest",id:n,result:_}),_.result)}_getTransactionPostData(t){let r={};for(let i in t){if(Fjt.indexOf(i)>=0||t[i]==null)continue;let n=t[i];i==="type"&&n===0||i==="blockTag"&&n==="latest"||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[i]?n=Gp(n):i==="accessList"?n="["+ih(n).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]":n=vn(n),r[i]=n)}return r}_checkError(t,r,i){let n="";if(Tc(r,"SERVER_ERROR")){try{n=r.info.result.error.message}catch{}if(!n)try{n=r.info.message}catch{}}if(t.method==="estimateGas"&&!n.match(/revert/i)&&n.match(/insufficient funds/i)&&Xr(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&n.match(/execution reverted/i)){let o="";try{o=r.info.result.error.data}catch{}let d=L_.getBuiltinCallException(t.method,t.transaction,o);throw d.info={request:t,error:r},d}if(n&&t.method==="broadcastTransaction"){let o=ng.from(t.signedTransaction);n.match(/replacement/i)&&n.match(/underpriced/i)&&Xr(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),n.match(/insufficient funds/)&&Xr(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&Xr(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw r}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(r=>this._checkError(t,r,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});Xr(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");let r=this._getTransactionPostData(t.transaction);r.module="proxy",r.action="eth_call";try{return await this.fetch("proxy",r,!0)}catch(i){return this._checkError(t,i,t.transaction)}}case"estimateGas":{let r=this._getTransactionPostData(t.transaction);r.module="proxy",r.action="eth_estimateGas";try{return await this.fetch("proxy",r,!0)}catch(i){return this._checkError(t,i,t.transaction)}}default:break}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let r=this._getAddress(t);Ujt(r)&&(r=await r);try{let i=await this.fetch("contract",{action:"getabi",address:r}),n=JSON.parse(i);return new Vp(r,n,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}};J();K();z();J();K();z();J();K();z();function Hjt(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}var Bst=Hjt().WebSocket;J();K();z();var i3=class{#e;#t;get filter(){return JSON.parse(this.#t)}#r;#n;#i;constructor(t,r){this.#e=t,this.#t=JSON.stringify(r),this.#r=null,this.#n=null,this.#i=null}start(){this.#r=this.#e.send("eth_subscribe",this.filter).then(t=>(this.#e._register(t,this),t))}stop(){this.#r.then(t=>{this.#e.destroyed||this.#e.send("eth_unsubscribe",[t])}),this.#r=null}pause(t){Xr(t,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),this.#n=!!t}resume(){this.#n=null}_handleMessage(t){if(this.#r!=null&&this.#n===null){let r=this.#i;r==null?r=this._emit(this.#e,t):r=r.then(async()=>{await this._emit(this.#e,t)}),this.#i=r.then(()=>{this.#i===r&&(this.#i=null)})}}async _emit(t,r){throw new Error("sub-classes must implemente this; _emit")}},eT=class extends i3{constructor(t){super(t,["newHeads"])}async _emit(t,r){t.emit("block",parseInt(r.number))}},tT=class extends i3{constructor(t){super(t,["newPendingTransactions"])}async _emit(t,r){t.emit("pending",r)}},rT=class extends i3{#e;get logFilter(){return JSON.parse(this.#e)}constructor(t,r){super(t,["logs",r]),this.#e=JSON.stringify(r)}async _emit(t,r){t.emit(this.logFilter,t._wrapLog(r,t._network))}},fw=class extends n3{#e;#t;#r;constructor(t,r){let i=Object.assign({},r??{});_r(i.batchMaxCount==null||i.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",r),i.batchMaxCount=1,i.staticNetwork==null&&(i.staticNetwork=!0),super(t,i),this.#e=new Map,this.#t=new Map,this.#r=new Map}_getSubscriber(t){switch(t.type){case"close":return new sy("close");case"block":return new eT(this);case"pending":return new tT(this);case"event":return new rT(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new sy("drop-log")}return super._getSubscriber(t)}_register(t,r){this.#t.set(t,r);let i=this.#r.get(t);if(i){for(let n of i)r._handleMessage(n);this.#r.delete(t)}}async _send(t){_r(!Array.isArray(t),"WebSocket does not support batch send","payload",t);let r=new Promise((i,n)=>{this.#e.set(t.id,{payload:t,resolve:i,reject:n})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await r]}async _processMessage(t){let r=JSON.parse(t);if(r&&typeof r=="object"&&"id"in r){let i=this.#e.get(r.id);if(i==null){this.emit("error",wc("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:r}));return}this.#e.delete(r.id),i.resolve(r)}else if(r&&r.method==="eth_subscription"){let i=r.params.subscription,n=this.#t.get(i);if(n)n._handleMessage(r.params.result);else{let o=this.#r.get(i);o==null&&(o=[],this.#r.set(i,o)),o.push(r.params.result)}}else{this.emit("error",wc("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:r}));return}}async _write(t){throw new Error("sub-classes must override this")}};var HR=class extends fw{#e;#t;get websocket(){if(this.#t==null)throw new Error("websocket closed");return this.#t}constructor(t,r,i){super(r,i),typeof t=="string"?(this.#e=()=>new Bst(t),this.#t=this.#e()):typeof t=="function"?(this.#e=t,this.#t=t()):(this.#e=null,this.#t=t),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(n){console.log("failed to start WebsocketProvider",n)}},this.websocket.onmessage=n=>{this._processMessage(n.data)}}async _write(t){this.websocket.send(t)}async destroy(){this.#t!=null&&(this.#t.close(),this.#t=null),super.destroy()}};var NL="84842078b09946638c03157f83405213";function Gjt(e){switch(e){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bnbsmartchain-mainnet.infura.io";case"bnbt":return"bnbsmartchain-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"linea-sepolia":return"linea-sepolia.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-amoy":return"polygon-amoy.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}_r(!1,"unsupported network","network",e)}var nT=class extends HR{projectId;projectSecret;constructor(t,r){let i=new o3(t,r),n=i._getConnection();Xr(!n.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});let o=n.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,i._network),Un(this,{projectId:i.projectId,projectSecret:i.projectSecret})}isCommunityResource(){return this.projectId===NL}},o3=class e extends i0{projectId;projectSecret;constructor(t,r,i){t==null&&(t="mainnet");let n=Fs.from(t);r==null&&(r=NL),i==null&&(i=null);let o=e.getRequest(n,r,i);super(o,n,{staticNetwork:n}),Un(this,{projectId:r,projectSecret:i})}_getProvider(t){try{return new e(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===NL}static getWebSocketProvider(t,r){return new nT(t,r)}static getRequest(t,r,i){r==null&&(r=NL),i==null&&(i=null);let n=new jc(`https://${Gjt(t.name)}/v3/${r}`);return n.allowGzip=!0,i&&n.setCredentials("",i),r===NL&&(n.retryFunc=async(o,d,g)=>(ah("InfuraProvider"),!0)),n}};J();K();z();var SY="919b412a057b5e9c9b6dce193c5a60242d6efadb";function qjt(e){switch(e){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}_r(!1,"unsupported network","network",e)}var lw=class e extends i0{token;constructor(t,r){t==null&&(t="mainnet");let i=Fs.from(t);r==null&&(r=SY);let n=e.getRequest(i,r);super(n,i,{staticNetwork:i}),Un(this,{token:r})}_getProvider(t){try{return new e(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===SY}static getRequest(t,r){r==null&&(r=SY);let i=new jc(`https://${qjt(t.name)}/${r}`);return i.allowGzip=!0,r===SY&&(i.retryFunc=async(n,o,d)=>(ah("QuickNodeProvider"),!0)),i}};J();K();z();var Vjt=BigInt("1"),Jjt=BigInt("2");function zjt(e){for(let t=e.length-1;t>0;t--){let r=Math.floor(Math.random()*(t+1)),i=e[t];e[t]=e[r],e[r]=i}}function Kjt(e){return new Promise(t=>{setTimeout(t,e)})}function ige(){return new Date().getTime()}function tge(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?{type:"bigint",value:r.toString()}:r)}var Mst={stallTimeout:400,priority:1,weight:1},Dst={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function $jt(e,t){for(;(e.blockNumber<0||e.blockNumber<t)&&(e._updateNumber||(e._updateNumber=(async()=>{try{let r=await e.provider.getBlockNumber();r>e.blockNumber&&(e.blockNumber=r)}catch(r){e.blockNumber=-2,e._lastFatalError=r,e._lastFatalErrorTimestamp=ige()}e._updateNumber=null})()),await e._updateNumber,e.outOfSync++,!e._lastFatalError););}function xL(e){if(e==null)return"null";if(Array.isArray(e))return"["+e.map(xL).join(",")+"]";if(typeof e=="object"&&typeof e.toJSON=="function")return xL(e.toJSON());switch(typeof e){case"boolean":case"symbol":return e.toString();case"bigint":case"number":return BigInt(e).toString();case"string":return JSON.stringify(e);case"object":{let t=Object.keys(e);return t.sort(),"{"+t.map(r=>`${JSON.stringify(r)}:${xL(e[r])}`).join(",")+"}"}}throw console.log("Could not serialize",e),new Error("Hmm...")}function rge(e){if("error"in e){let r=e.error;return{tag:xL(r),value:r}}let t=e.result;return{tag:xL(t),value:t}}function IY(e,t){let r=new Map;for(let{value:n,tag:o,weight:d}of t){let g=r.get(o)||{value:n,weight:0};g.weight+=d,r.set(o,g)}let i=null;for(let n of r.values())n.weight>=e&&(!i||n.weight>i.weight)&&(i=n);if(i)return i.value}function oge(e,t){let r=0,i=new Map,n=null,o=[];for(let{value:g,tag:y,weight:_}of t)if(g instanceof Error){let I=i.get(y)||{value:g,weight:0};I.weight+=_,i.set(y,I),(n==null||I.weight>n.weight)&&(n=I)}else o.push(BigInt(g)),r+=_;if(r<e)return n&&n.weight>=e?n.value:void 0;o.sort((g,y)=>g<y?-1:y>g?1:0);let d=Math.floor(o.length/2);return o.length%2?o[d]:(o[d-1]+o[d]+Vjt)/Jjt}function nge(e,t){let r=IY(e,t);if(r!==void 0)return r;for(let i of t)if(i.value)return i.value}function Yjt(e,t){if(e===1)return Zi(oge(e,t),"%internal");let r=new Map,i=(d,g)=>{let y=r.get(d)||{result:d,weight:0};y.weight+=g,r.set(d,y)};for(let{weight:d,value:g}of t){let y=Zi(g);i(y-1,d),i(y,d),i(y+1,d)}let n=0,o;for(let{weight:d,result:g}of r.values())d>=e&&(d>n||o!=null&&d===n&&g>o)&&(n=d,o=g);return o}var hw=class extends U_{quorum;eventQuorum;eventWorkers;#e;#t;#r;constructor(t,r,i){super(r,i),this.#e=t.map(n=>n instanceof U_?Object.assign({provider:n},Mst,Dst):Object.assign({},Mst,n,Dst)),this.#t=-2,this.#r=null,i&&i.quorum!=null?this.quorum=i.quorum:this.quorum=Math.ceil(this.#e.reduce((n,o)=>(n+=o.weight,n),0)/2),this.eventQuorum=1,this.eventWorkers=1,_r(this.quorum<=this.#e.reduce((n,o)=>n+o.weight,0),"quorum exceed provider wieght","quorum",this.quorum)}get providerConfigs(){return this.#e.map(t=>{let r=Object.assign({},t);for(let i in r)i[0]==="_"&&delete r[i];return r})}async _detectNetwork(){return Fs.from(gi(await this._perform({method:"chainId"})))}async _translatePerform(t,r){switch(r.method){case"broadcastTransaction":return await t.broadcastTransaction(r.signedTransaction);case"call":return await t.call(Object.assign({},r.transaction,{blockTag:r.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(r.transaction);case"getBalance":return await t.getBalance(r.address,r.blockTag);case"getBlock":{let i="blockHash"in r?r.blockHash:r.blockTag;return await t.getBlock(i,r.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(r.address,r.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(r.filter);case"getStorage":return await t.getStorage(r.address,r.position,r.blockTag);case"getTransaction":return await t.getTransaction(r.hash);case"getTransactionCount":return await t.getTransactionCount(r.address,r.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(r.hash);case"getTransactionResult":return await t.getTransactionResult(r.hash)}}#n(t){let r=Array.from(t).map(n=>n.config),i=this.#e.slice();zjt(i),i.sort((n,o)=>n.priority-o.priority);for(let n of i)if(!n._lastFatalError&&r.indexOf(n)===-1)return n;return null}#i(t,r){let i=this.#n(t);if(i==null)return null;let n={config:i,result:null,didBump:!1,perform:null,staller:null},o=ige();return n.perform=(async()=>{try{i.requests++;let g=await this._translatePerform(i.provider,r);n.result={result:g}}catch(g){i.errorResponses++,n.result={error:g}}let d=ige()-o;i._totalTime+=d,i.rollingDuration=.95*i.rollingDuration+.05*d,n.perform=null})(),n.staller=(async()=>{await Kjt(i.stallTimeout),n.staller=null})(),t.add(n),n}async#a(){let t=this.#r;if(!t){let r=[];this.#e.forEach(i=>{r.push((async()=>{await $jt(i,0),i._lastFatalError||(i._network=await i.provider.getNetwork())})())}),this.#r=t=(async()=>{await Promise.all(r);let i=null;for(let n of this.#e){if(n._lastFatalError)continue;let o=n._network;i==null?i=o.chainId:o.chainId!==i&&Xr(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})()}await t}async#o(t,r){let i=[];for(let n of t)if(n.result!=null){let{tag:o,value:d}=rge(n.result);i.push({tag:o,value:d,weight:n.config.weight})}if(!(i.reduce((n,o)=>n+o.weight,0)<this.quorum)){switch(r.method){case"getBlockNumber":{this.#t===-2&&(this.#t=Math.ceil(Zi(oge(this.quorum,this.#e.filter(o=>!o._lastFatalError).map(o=>({value:o.blockNumber,tag:Zi(o.blockNumber).toString(),weight:o.weight}))))));let n=Yjt(this.quorum,i);return n===void 0?void 0:(n>this.#t&&(this.#t=n),this.#t)}case"getGasPrice":case"getPriorityFee":case"estimateGas":return oge(this.quorum,i);case"getBlock":return"blockTag"in r&&r.blockTag==="pending"?nge(this.quorum,i):IY(this.quorum,i);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return IY(this.quorum,i);case"broadcastTransaction":return nge(this.quorum,i)}Xr(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${tge(r.method)})`})}}async#s(t,r){if(t.size===0)throw new Error("no runners?!");let i=[],n=0;for(let d of t){if(d.perform&&i.push(d.perform),d.staller){i.push(d.staller);continue}d.didBump||(d.didBump=!0,n++)}let o=await this.#o(t,r);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let d=0;d<n;d++)this.#i(t,r);return Xr(i.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:r,results:Array.from(t).map(d=>tge(d.result))}}),await Promise.race(i),await this.#s(t,r)}async _perform(t){if(t.method==="broadcastTransaction"){let o=this.#e.map(y=>null),d=this.#e.map(async({provider:y,weight:_},I)=>{try{let N=await y._perform(t);o[I]=Object.assign(rge({result:N}),{weight:_})}catch(N){o[I]=Object.assign(rge({error:N}),{weight:_})}});for(;;){let y=o.filter(N=>N!=null);for(let{value:N}of y)if(!(N instanceof Error))return N;let _=IY(this.quorum,o.filter(N=>N!=null));if(Tc(_,"INSUFFICIENT_FUNDS"))throw _;let I=d.filter((N,T)=>o[T]==null);if(I.length===0)break;await Promise.race(I)}let g=nge(this.quorum,o);if(Xr(g!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(tge)}}),g instanceof Error)throw g;return g}await this.#a();let r=new Set,i=0;for(;;){let o=this.#i(r,t);if(o==null||(i+=o.config.weight,i>=this.quorum))break}let n=await this.#s(r,t);for(let o of r)o.perform&&o.result==null&&o.config.lateResponses++;return n}async destroy(){for(let{provider:t}of this.#e)t.destroy();super.destroy()}};function Wjt(e){return e&&typeof e.send=="function"&&typeof e.close=="function"}var Xjt="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function age(e,t){t==null&&(t={});let r=d=>t[d]==="-"?!1:typeof t.exclusive=="string"?d===t.exclusive:Array.isArray(t.exclusive)?t.exclusive.indexOf(d)!==-1:!0;if(typeof e=="string"&&e.match(/^https?:/))return new i0(e);if(typeof e=="string"&&e.match(/^wss?:/)||Wjt(e))return new HR(e);let i=null;try{i=Fs.from(e)}catch{}let n=[];if(r("publicPolygon")&&i&&(i.name==="matic"?n.push(new i0("https://polygon-rpc.com/",i,{staticNetwork:i})):i.name==="matic-amoy"&&n.push(new i0("https://rpc-amoy.polygon.technology/",i,{staticNetwork:i}))),r("alchemy"))try{n.push(new sw(e,t.alchemy))}catch{}if(r("ankr")&&t.ankr!=null)try{n.push(new aw(e,t.ankr))}catch{}if(r("chainstack"))try{n.push(new cw(e,t.chainstack))}catch{}if(r("cloudflare"))try{n.push(new uw(e))}catch{}if(r("etherscan"))try{n.push(new dw(e,t.etherscan))}catch{}if(r("infura"))try{let d=t.infura,g;typeof d=="object"&&(g=d.projectSecret,d=d.projectId),n.push(new o3(e,d,g))}catch{}if(r("quicknode"))try{let d=t.quicknode;n.push(new lw(e,d))}catch{}if(Xr(n.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),n.length===1)return n[0];let o=Math.floor(n.length/2);return o>2&&(o=2),i&&Xjt.indexOf(i.name)!==-1&&(o=1),t&&t.quorum&&(o=t.quorum),new hw(n,void 0,{quorum:o})}J();K();z();var TL=class e extends F_{signer;#e;#t;constructor(t){super(t.provider),Un(this,{signer:t}),this.#e=null,this.#t=0}async getAddress(){return this.signer.getAddress()}connect(t){return new e(this.signer.connect(t))}async getNonce(t){if(t==="pending"){this.#e==null&&(this.#e=super.getNonce("pending"));let r=this.#t;return await this.#e+r}return super.getNonce(t)}increment(){this.#t++}reset(){this.#t=0,this.#e=null}async sendTransaction(t){let r=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await r,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,r,i){return this.signer.signTypedData(t,r,i)}};J();K();z();var BL=class extends wL{#e;constructor(t,r){_r(t&&t.request,"invalid EIP-1193 provider","ethereum",t),super(r,{batchMaxCount:1}),this.#e=async(i,n)=>{let o={method:i,params:n};this.emit("debug",{action:"sendEip1193Request",payload:o});try{let d=await t.request(o);return this.emit("debug",{action:"receiveEip1193Result",result:d}),d}catch(d){let g=new Error(d.message);throw g.code=d.code,g.data=d.data,g.payload=o,this.emit("debug",{action:"receiveEip1193Error",error:g}),g}}}async send(t,r){return await this._start(),await super.send(t,r)}async _send(t){_r(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{let r=await this.#e(t.method,t.params||[]);return[{id:t.id,result:r}]}catch(r){return[{id:t.id,error:{code:r.code,data:r.data,message:r.message}}]}}getRpcError(t,r){switch(r=JSON.parse(JSON.stringify(r)),r.error.code||-1){case 4001:r.error.message=`ethers-user-denied: ${r.error.message}`;break;case 4200:r.error.message=`ethers-unsupported: ${r.error.message}`;break}return super.getRpcError(t,r)}async hasSigner(t){t==null&&(t=0);let r=await this.send("eth_accounts",[]);return typeof t=="number"?r.length>t:(t=t.toLowerCase(),r.filter(i=>i.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await this.#e("eth_requestAccounts",[])}catch(r){let i=r.payload;throw this.getRpcError(i,{id:i.id,error:r})}return await super.getSigner(t)}};J();K();z();var CY="62e1ad51b37b8e00394bda3b";function Zjt(e){switch(e){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}_r(!1,"unsupported network","network",e)}var ML=class e extends i0{applicationId;applicationSecret;constructor(t,r,i){t==null&&(t="mainnet");let n=Fs.from(t);r==null&&(r=CY),i==null&&(i=null);let o={staticNetwork:n},d=e.getRequest(n,r,i);super(d,n,o),Un(this,{applicationId:r,applicationSecret:i})}_getProvider(t){try{return new e(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,r,i){r==null&&(r=CY);let n=new jc(`https://${Zjt(t.name)}/v1/lb/${r}`);return n.allowGzip=!0,i&&n.setCredentials("",i),r===CY&&(n.retryFunc=async(o,d,g)=>(ah("PocketProvider"),!0)),n}isCommunityResource(){return this.applicationId===CY}};J();K();z();var sge=void 0;J();K();z();J();K();z();var GR=class e extends F_{address;#e;constructor(t,r){super(r),_r(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),this.#e=t;let i=rg(this.signingKey.publicKey);Un(this,{address:i})}get signingKey(){return this.#e}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new e(this.#e,t)}async signTransaction(t){let{to:r,from:i}=await Pu({to:t.to?r0(t.to,this.provider):void 0,from:t.from?r0(t.from,this.provider):void 0});r!=null&&(t.to=r),i!=null&&(t.from=i),t.from!=null&&(_r(Co(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);let n=ng.from(t);return n.signature=this.signingKey.sign(n.unsignedHash),n.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(zI(t)).serialized}async signTypedData(t,r,i){let n=await P_.resolveNames(t,r,i,async o=>{Xr(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});let d=await this.provider.resolveName(o);return Xr(d!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),d});return this.signingKey.sign(P_.hash(n.domain,r,n.value)).serialized}};J();K();z();J();K();z();J();K();z();J();K();z();var wY=" !#$%&'()*+,-./<=>?@[]^_`{|}~",jjt=/^[a-z]*$/i;function kst(e,t){let r=97;return e.reduce((i,n)=>(n===t?r++:n.match(jjt)?i.push(String.fromCharCode(r)+n):(r=97,i.push(n)),i),[])}function eer(e,t){for(let n=wY.length-1;n>=0;n--)e=e.split(wY[n]).join(t.substring(2*n,2*n+2));let r=[],i=e.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(n,o,d,g)=>{if(d)for(let y=parseInt(d);y>=0;y--)r.push(";");else r.push(o.toLowerCase());return""});if(i)throw new Error(`leftovers: ${JSON.stringify(i)}`);return kst(kst(r,";"),":")}function OY(e){return _r(e[0]==="0","unsupported auwl data","data",e),eer(e.substring(1+2*wY.length),e.substring(1,1+2*wY.length))}J();K();z();var Aw=class{locale;constructor(t){Un(this,{locale:t})}split(t){return t.toLowerCase().split(/\s+/g)}join(t){return t.join(" ")}};var qR=class extends Aw{#e;#t;constructor(t,r,i){super(t),this.#e=r,this.#t=i,this.#r=null}get _data(){return this.#e}_decodeWords(){return OY(this.#e)}#r;#n(){if(this.#r==null){let t=this._decodeWords();if(nh(t.join(` +`)+` +`)!==this.#t)throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#r=t}return this.#r}getWord(t){let r=this.#n();return _r(t>=0&&t<r.length,`invalid word index: ${t}`,"index",t),r[t]}getWordIndex(t){return this.#n().indexOf(t)}};var ter="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",rer="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",cge=null,Jp=class e extends qR{constructor(){super("en",ter,rer)}static wordlist(){return cge==null&&(cge=new e),cge}};J();K();z();function Pst(e){return(1<<e)-1<<8-e&255}function ner(e){return(1<<e)-1&255}function uge(e,t){PC("NFKD"),t==null&&(t=Jp.wordlist());let r=t.split(e);_r(r.length%3===0&&r.length>=12&&r.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let i=new Uint8Array(Math.ceil(11*r.length/8)),n=0;for(let _=0;_<r.length;_++){let I=t.getWordIndex(r[_].normalize("NFKD"));_r(I>=0,`invalid mnemonic word at index ${_}`,"mnemonic","[ REDACTED ]");for(let N=0;N<11;N++)I&1<<10-N&&(i[n>>3]|=1<<7-n%8),n++}let o=32*r.length/3,d=r.length/3,g=Pst(d),y=Dn(Bd(i.slice(0,o/8)))[0]&g;return _r(y===(i[i.length-1]&g),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),vn(i.slice(0,o/8))}function dge(e,t){_r(e.length%4===0&&e.length>=16&&e.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),t==null&&(t=Jp.wordlist());let r=[0],i=11;for(let d=0;d<e.length;d++)i>8?(r[r.length-1]<<=8,r[r.length-1]|=e[d],i-=8):(r[r.length-1]<<=i,r[r.length-1]|=e[d]>>8-i,r.push(e[d]&ner(8-i)),i+=3);let n=e.length/4,o=parseInt(Bd(e).substring(2,4),16)&Pst(n);return r[r.length-1]<<=n,r[r.length-1]|=o>>8-n,t.join(r.map(d=>t.getWord(d)))}var fge={},qb=class e{phrase;password;wordlist;entropy;constructor(t,r,i,n,o){n==null&&(n=""),o==null&&(o=Jp.wordlist()),jl(t,fge,"Mnemonic"),Un(this,{phrase:i,password:n,wordlist:o,entropy:r})}computeSeed(){let t=rc("mnemonic"+this.password,"NFKD");return UA(rc(this.phrase,"NFKD"),t,2048,64,"sha512")}static fromPhrase(t,r,i){let n=uge(t,i);return t=dge(Dn(n),i),new e(fge,n,t,r,i)}static fromEntropy(t,r,i){let n=Dn(t,"entropy"),o=dge(n,i);return new e(fge,vn(n),o,r,i)}static entropyToPhrase(t,r){let i=Dn(t,"entropy");return dge(i,r)}static phraseToEntropy(t,r){return uge(t,r)}static isValidMnemonic(t,r){try{return uge(t,r),!0}catch{}return!1}};J();K();z();J();K();z();J();K();z();var sh=function(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)},lge=function(e,t,r,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r},xY,H_,Vb,ier={16:10,24:12,32:14},oer=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Q_=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],NY=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],aer=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],ser=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],cer=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],uer=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],der=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],fer=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],ler=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],her=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Aer=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],per=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],ger=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],_er=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function hge(e){let t=[];for(let r=0;r<e.length;r+=4)t.push(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]);return t}var DL=class e{get key(){return sh(this,xY,"f").slice()}constructor(t){if(xY.set(this,void 0),H_.set(this,void 0),Vb.set(this,void 0),!(this instanceof e))throw Error("AES must be instanitated with `new`");lge(this,xY,new Uint8Array(t),"f");let r=ier[this.key.length];if(r==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");lge(this,Vb,[],"f"),lge(this,H_,[],"f");for(let I=0;I<=r;I++)sh(this,Vb,"f").push([0,0,0,0]),sh(this,H_,"f").push([0,0,0,0]);let i=(r+1)*4,n=this.key.length/4,o=hge(this.key),d;for(let I=0;I<n;I++)d=I>>2,sh(this,Vb,"f")[d][I%4]=o[I],sh(this,H_,"f")[r-d][I%4]=o[I];let g=0,y=n,_;for(;y<i;){if(_=o[n-1],o[0]^=Q_[_>>16&255]<<24^Q_[_>>8&255]<<16^Q_[_&255]<<8^Q_[_>>24&255]^oer[g]<<24,g+=1,n!=8)for(let M=1;M<n;M++)o[M]^=o[M-1];else{for(let M=1;M<n/2;M++)o[M]^=o[M-1];_=o[n/2-1],o[n/2]^=Q_[_&255]^Q_[_>>8&255]<<8^Q_[_>>16&255]<<16^Q_[_>>24&255]<<24;for(let M=n/2+1;M<n;M++)o[M]^=o[M-1]}let I=0,N,T;for(;I<n&&y<i;)N=y>>2,T=y%4,sh(this,Vb,"f")[N][T]=o[I],sh(this,H_,"f")[r-N][T]=o[I++],y++}for(let I=1;I<r;I++)for(let N=0;N<4;N++)_=sh(this,H_,"f")[I][N],sh(this,H_,"f")[I][N]=Aer[_>>24&255]^per[_>>16&255]^ger[_>>8&255]^_er[_&255]}encrypt(t){if(t.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let r=sh(this,Vb,"f").length-1,i=[0,0,0,0],n=hge(t);for(let g=0;g<4;g++)n[g]^=sh(this,Vb,"f")[0][g];for(let g=1;g<r;g++){for(let y=0;y<4;y++)i[y]=aer[n[y]>>24&255]^ser[n[(y+1)%4]>>16&255]^cer[n[(y+2)%4]>>8&255]^uer[n[(y+3)%4]&255]^sh(this,Vb,"f")[g][y];n=i.slice()}let o=new Uint8Array(16),d=0;for(let g=0;g<4;g++)d=sh(this,Vb,"f")[r][g],o[4*g]=(Q_[n[g]>>24&255]^d>>24)&255,o[4*g+1]=(Q_[n[(g+1)%4]>>16&255]^d>>16)&255,o[4*g+2]=(Q_[n[(g+2)%4]>>8&255]^d>>8)&255,o[4*g+3]=(Q_[n[(g+3)%4]&255]^d)&255;return o}decrypt(t){if(t.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let r=sh(this,H_,"f").length-1,i=[0,0,0,0],n=hge(t);for(let g=0;g<4;g++)n[g]^=sh(this,H_,"f")[0][g];for(let g=1;g<r;g++){for(let y=0;y<4;y++)i[y]=der[n[y]>>24&255]^fer[n[(y+3)%4]>>16&255]^ler[n[(y+2)%4]>>8&255]^her[n[(y+1)%4]&255]^sh(this,H_,"f")[g][y];n=i.slice()}let o=new Uint8Array(16),d=0;for(let g=0;g<4;g++)d=sh(this,H_,"f")[r][g],o[4*g]=(NY[n[g]>>24&255]^d>>24)&255,o[4*g+1]=(NY[n[(g+3)%4]>>16&255]^d>>16)&255,o[4*g+2]=(NY[n[(g+2)%4]>>8&255]^d>>8)&255,o[4*g+3]=(NY[n[(g+1)%4]&255]^d)&255;return o}};xY=new WeakMap,H_=new WeakMap,Vb=new WeakMap;J();K();z();var Jb=class{constructor(t,r,i){if(i&&!(this instanceof i))throw new Error(`${t} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new DL(r)},name:{enumerable:!0,value:t}})}};J();K();z();var TY=function(e,t,r,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r},iT=function(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)},kL,VR,PL=class e extends Jb{constructor(t,r){if(super("ECC",t,e),kL.set(this,void 0),VR.set(this,void 0),r){if(r.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");TY(this,kL,new Uint8Array(r),"f")}else TY(this,kL,new Uint8Array(16),"f");TY(this,VR,this.iv,"f")}get iv(){return new Uint8Array(iT(this,kL,"f"))}encrypt(t){if(t.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let r=new Uint8Array(t.length);for(let i=0;i<t.length;i+=16){for(let n=0;n<16;n++)iT(this,VR,"f")[n]^=t[i+n];TY(this,VR,this.aes.encrypt(iT(this,VR,"f")),"f"),r.set(iT(this,VR,"f"),i)}return r}decrypt(t){if(t.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let r=new Uint8Array(t.length);for(let i=0;i<t.length;i+=16){let n=this.aes.decrypt(t.subarray(i,i+16));for(let o=0;o<16;o++)r[i+o]=n[o]^iT(this,VR,"f")[o],iT(this,VR,"f")[o]=t[i+o]}return r}};kL=new WeakMap,VR=new WeakMap;J();K();z();var Age=function(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)},mer,yer,BY,ber;yer=new WeakMap,BY=new WeakMap,mer=new WeakSet,ber=function(t){let r=this.segmentSize/8;Age(this,BY,"f").set(Age(this,BY,"f").subarray(r)),Age(this,BY,"f").set(t.subarray(0,r),16-r)};J();K();z();var oT=function(e,t,r,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r},G_=function(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)},LL,pw,q_,a3=class e extends Jb{constructor(t,r){super("CTR",t,e),LL.set(this,void 0),pw.set(this,void 0),q_.set(this,void 0),oT(this,q_,new Uint8Array(16),"f"),G_(this,q_,"f").fill(0),oT(this,LL,G_(this,q_,"f"),"f"),oT(this,pw,16,"f"),r==null&&(r=1),typeof r=="number"?this.setCounterValue(r):this.setCounterBytes(r)}get counter(){return new Uint8Array(G_(this,q_,"f"))}setCounterValue(t){if(!Number.isInteger(t)||t<0||t>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let r=15;r>=0;--r)G_(this,q_,"f")[r]=t%256,t=Math.floor(t/256)}setCounterBytes(t){if(t.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");G_(this,q_,"f").set(t)}increment(){for(let t=15;t>=0;t--)if(G_(this,q_,"f")[t]===255)G_(this,q_,"f")[t]=0;else{G_(this,q_,"f")[t]++;break}}encrypt(t){var r,i;let n=new Uint8Array(t);for(let o=0;o<n.length;o++)G_(this,pw,"f")===16&&(oT(this,LL,this.aes.encrypt(G_(this,q_,"f")),"f"),oT(this,pw,0,"f"),this.increment()),n[o]^=G_(this,LL,"f")[oT(this,pw,(i=G_(this,pw,"f"),r=i++,i),"f"),r];return n}decrypt(t){return this.encrypt(t)}};LL=new WeakMap,pw=new WeakMap,q_=new WeakMap;J();K();z();J();K();z();var Eer,ver,Rer;Eer=new WeakMap,ver=new WeakMap,Rer=new WeakMap;J();K();z();function pge(e){if(e.length<16)throw new TypeError("PKCS#7 invalid length");let t=e[e.length-1];if(t>16)throw new TypeError("PKCS#7 padding byte out of range");let r=e.length-t;for(let i=0;i<t;i++)if(e[r+i]!==t)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(e.subarray(0,r))}J();K();z();function gge(e){return typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e),$u(e)}function aT(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function gw(e){return typeof e=="string"?rc(e,"NFKC"):$u(e)}function Y0(e,t){let r=t.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);_r(r!=null,"invalid path","path",t);let i=r[1],n=r[3],o=r[4]==="!",d=e;for(let g of i.toLowerCase().split(".")){if(Array.isArray(d)){if(!g.match(/^[0-9]+$/))break;d=d[parseInt(g)]}else if(typeof d=="object"){let y=null;for(let _ in d)if(_.toLowerCase()===g){y=d[_];break}d=y}else d=null;if(d==null)break}if(_r(!o||d!=null,"missing required value","path",i),n&&d!=null){if(n==="int"){if(typeof d=="string"&&d.match(/^-?[0-9]+$/))return parseInt(d);if(Number.isSafeInteger(d))return d}if(n==="number"&&typeof d=="string"&&d.match(/^-?[0-9.]*$/))return parseFloat(d);if(n==="data"&&typeof d=="string")return gge(d);if(n==="array"&&Array.isArray(d)||n===typeof d)return d;_r(!1,`wrong type found for ${n} `,"path",i)}return d}var Ust="m/44'/60'/0'/0/0";function sT(e){try{let t=JSON.parse(e);if((t.version!=null?parseInt(t.version):0)===3)return!0}catch{}return!1}function Ser(e,t,r){if(Y0(e,"crypto.cipher:string")==="aes-128-ctr"){let n=Y0(e,"crypto.cipherparams.iv:data!"),o=new a3(t,n);return vn(o.decrypt(r))}Xr(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function MY(e,t){let r=Dn(t),i=Y0(e,"crypto.ciphertext:data!"),n=vn(Xa(Jo([r.slice(16,32),i]))).substring(2);_r(n===Y0(e,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let o=Ser(e,r.slice(0,16),i),d=rg(o);if(e.address){let _=e.address.toLowerCase();_.startsWith("0x")||(_="0x"+_),_r(Co(_)===d,"keystore address/privateKey mismatch","address",e.address)}let g={address:d,privateKey:o};if(Y0(e,"x-ethers.version:string")==="0.1"){let _=r.slice(32,64),I=Y0(e,"x-ethers.mnemonicCiphertext:data!"),N=Y0(e,"x-ethers.mnemonicCounter:data!"),T=new a3(_,N);g.mnemonic={path:Y0(e,"x-ethers.path:string")||Ust,locale:Y0(e,"x-ethers.locale:string")||"en",entropy:vn(Dn(T.decrypt(I)))}}return g}function Fst(e){let t=Y0(e,"crypto.kdf:string");if(t&&typeof t=="string"){if(t.toLowerCase()==="scrypt"){let r=Y0(e,"crypto.kdfparams.salt:data!"),i=Y0(e,"crypto.kdfparams.n:int!"),n=Y0(e,"crypto.kdfparams.r:int!"),o=Y0(e,"crypto.kdfparams.p:int!");_r(i>0&&(i&i-1)===0,"invalid kdf.N","kdf.N",i),_r(n>0&&o>0,"invalid kdf","kdf",t);let d=Y0(e,"crypto.kdfparams.dklen:int!");return _r(d===32,"invalid kdf.dklen","kdf.dflen",d),{name:"scrypt",salt:r,N:i,r:n,p:o,dkLen:64}}else if(t.toLowerCase()==="pbkdf2"){let r=Y0(e,"crypto.kdfparams.salt:data!"),i=Y0(e,"crypto.kdfparams.prf:string!"),n=i.split("-").pop();_r(n==="sha256"||n==="sha512","invalid kdf.pdf","kdf.pdf",i);let o=Y0(e,"crypto.kdfparams.c:int!"),d=Y0(e,"crypto.kdfparams.dklen:int!");return _r(d===32,"invalid kdf.dklen","kdf.dklen",d),{name:"pbkdf2",salt:r,count:o,dkLen:d,algorithm:n}}}_r(!1,"unsupported key-derivation function","kdf",t)}function UL(e,t){let r=JSON.parse(e),i=gw(t),n=Fst(r);if(n.name==="pbkdf2"){let{salt:N,count:T,dkLen:M,algorithm:D}=n,P=UA(i,N,T,M,D);return MY(r,P)}Xr(n.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:n});let{salt:o,N:d,r:g,p:y,dkLen:_}=n,I=ty(i,o,d,g,y,_);return MY(r,I)}function Lst(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}async function FL(e,t,r){let i=JSON.parse(e),n=gw(t),o=Fst(i);if(o.name==="pbkdf2"){r&&(r(0),await Lst(0));let{salt:T,count:M,dkLen:D,algorithm:P}=o,G=UA(n,T,M,D,P);return r&&(r(1),await Lst(0)),MY(i,G)}Xr(o.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:o});let{salt:d,N:g,r:y,p:_,dkLen:I}=o,N=await ey(n,d,g,y,_,I,r);return MY(i,N)}function Qst(e){let t=e.salt!=null?Dn(e.salt,"options.salt"):Kh(32),r=1<<17,i=8,n=1;return e.scrypt&&(e.scrypt.N&&(r=e.scrypt.N),e.scrypt.r&&(i=e.scrypt.r),e.scrypt.p&&(n=e.scrypt.p)),_r(typeof r=="number"&&r>0&&Number.isSafeInteger(r)&&(BigInt(r)&BigInt(r-1))===BigInt(0),"invalid scrypt N parameter","options.N",r),_r(typeof i=="number"&&i>0&&Number.isSafeInteger(i),"invalid scrypt r parameter","options.r",i),_r(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt p parameter","options.p",n),{name:"scrypt",dkLen:32,salt:t,N:r,r:i,p:n}}function Hst(e,t,r,i){let n=Dn(r.privateKey,"privateKey"),o=i.iv!=null?Dn(i.iv,"options.iv"):Kh(16);_r(o.length===16,"invalid options.iv length","options.iv",i.iv);let d=i.uuid!=null?Dn(i.uuid,"options.uuid"):Kh(16);_r(d.length===16,"invalid options.uuid length","options.uuid",i.iv);let g=e.slice(0,16),y=e.slice(16,32),_=new a3(g,o),I=Dn(_.encrypt(n)),N=Xa(Jo([y,I])),T={address:r.address.substring(2).toLowerCase(),id:iL(d),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:vn(o).substring(2)},ciphertext:vn(I).substring(2),kdf:"scrypt",kdfparams:{salt:vn(t.salt).substring(2),n:t.N,dklen:32,p:t.p,r:t.r},mac:N.substring(2)}};if(r.mnemonic){let M=i.client!=null?i.client:`ethers/${Cx}`,D=r.mnemonic.path||Ust,P=r.mnemonic.locale||"en",G=e.slice(32,64),q=Dn(r.mnemonic.entropy,"account.mnemonic.entropy"),Y=Kh(16),ne=new a3(G,Y),ce=Dn(ne.encrypt(q)),le=new Date,ae="UTC--"+(le.getUTCFullYear()+"-"+aT(le.getUTCMonth()+1,2)+"-"+aT(le.getUTCDate(),2)+"T"+aT(le.getUTCHours(),2)+"-"+aT(le.getUTCMinutes(),2)+"-"+aT(le.getUTCSeconds(),2)+".0Z")+"--"+T.address;T["x-ethers"]={client:M,gethFilename:ae,path:D,locale:P,mnemonicCounter:vn(Y).substring(2),mnemonicCiphertext:vn(ce).substring(2),version:"0.1"}}return JSON.stringify(T)}function _w(e,t,r){r==null&&(r={});let i=gw(t),n=Qst(r),o=ty(i,n.salt,n.N,n.r,n.p,64);return Hst(Dn(o),n,e,r)}async function mw(e,t,r){r==null&&(r={});let i=gw(t),n=Qst(r),o=await ey(i,n.salt,n.N,n.r,n.p,64,r.progressCallback);return Hst(Dn(o),n,e,r)}var cT="m/44'/60'/0'/0/0",Ier=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),Kb=2147483648,Cer=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),wer="0123456789abcdef";function DY(e,t){let r="";for(;e;)r=wer[e%16]+r,e=Math.trunc(e/16);for(;r.length<t*2;)r="0"+r;return"0x"+r}function _ge(e){let t=Dn(e),r=tc(Bd(Bd(t)),0,4),i=Jo([t,r]);return UC(i)}var zb={};function Gst(e,t,r,i){let n=new Uint8Array(37);e&Kb?(Xr(i!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),n.set(Dn(i),1)):n.set(Dn(r));for(let d=24;d>=0;d-=8)n[33+(d>>3)]=e>>24-d&255;let o=Dn(Zm("sha512",t,n));return{IL:o.slice(0,32),IR:o.slice(32)}}function qst(e,t){let r=t.split("/");_r(r.length>0,"invalid path","path",t),r[0]==="m"&&(_r(e.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${e.depth}`,"path",t),r.shift());let i=e;for(let n=0;n<r.length;n++){let o=r[n];if(o.match(/^[0-9]+'$/)){let d=parseInt(o.substring(0,o.length-1));_r(d<Kb,"invalid path index",`path[${n}]`,o),i=i.deriveChild(Kb+d)}else if(o.match(/^[0-9]+$/)){let d=parseInt(o);_r(d<Kb,"invalid path index",`path[${n}]`,o),i=i.deriveChild(d)}else _r(!1,"invalid path component",`path[${n}]`,o)}return i}var JR=class e extends GR{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor(t,r,i,n,o,d,g,y,_){super(r,_),jl(t,zb,"HDNodeWallet"),Un(this,{publicKey:r.compressedPublicKey});let I=tc(jm(Bd(this.publicKey)),0,4);Un(this,{parentFingerprint:i,fingerprint:I,chainCode:n,path:o,index:d,depth:g}),Un(this,{mnemonic:y})}connect(t){return new e(zb,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}#e(){let t={address:this.address,privateKey:this.privateKey},r=this.mnemonic;return this.path&&r&&r.wordlist.locale==="en"&&r.password===""&&(t.mnemonic={path:this.path,locale:"en",entropy:r.entropy}),t}async encrypt(t,r){return await mw(this.#e(),t,{progressCallback:r})}encryptSync(t){return _w(this.#e(),t)}get extendedKey(){return Xr(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),_ge(Jo(["0x0488ADE4",DY(this.depth,1),this.parentFingerprint,DY(this.index,4),this.chainCode,Jo(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new yw(zb,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){let r=Zi(t,"index");_r(r<=4294967295,"invalid index","index",r);let i=this.path;i&&(i+="/"+(r&~Kb),r&Kb&&(i+="'"));let{IR:n,IL:o}=Gst(r,this.chainCode,this.publicKey,this.privateKey),d=new rh(gl((M_(o)+BigInt(this.privateKey))%Cer,32));return new e(zb,d,this.fingerprint,vn(n),i,r,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return qst(this,t)}static#t(t,r){_r(zm(t),"invalid seed","seed","[REDACTED]");let i=Dn(t,"seed");_r(i.length>=16&&i.length<=64,"invalid seed","seed","[REDACTED]");let n=Dn(Zm("sha512",Ier,i)),o=new rh(vn(n.slice(0,32)));return new e(zb,o,"0x00000000",vn(n.slice(32)),"m",0,0,r,null)}static fromExtendedKey(t){let r=Yu(eL(t));_r(r.length===82||_ge(r.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");let i=r[4],n=vn(r.slice(5,9)),o=parseInt(vn(r.slice(9,13)).substring(2),16),d=vn(r.slice(13,45)),g=r.slice(45,78);switch(vn(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let y=vn(g);return new yw(zb,rg(y),y,n,d,null,o,i,null)}case"0x0488ade4":case"0x04358394 ":if(g[0]!==0)break;return new e(zb,new rh(g.slice(1)),n,d,null,o,i,null,null)}_r(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,r,i){t==null&&(t=""),r==null&&(r=cT),i==null&&(i=Jp.wordlist());let n=qb.fromEntropy(Kh(16),t,i);return e.#t(n.computeSeed(),n).derivePath(r)}static fromMnemonic(t,r){return r||(r=cT),e.#t(t.computeSeed(),t).derivePath(r)}static fromPhrase(t,r,i,n){r==null&&(r=""),i==null&&(i=cT),n==null&&(n=Jp.wordlist());let o=qb.fromPhrase(t,r,n);return e.#t(o.computeSeed(),o).derivePath(i)}static fromSeed(t){return e.#t(t,null)}},yw=class e extends ow{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor(t,r,i,n,o,d,g,y,_){super(r,_),jl(t,zb,"HDNodeVoidWallet"),Un(this,{publicKey:i});let I=tc(jm(Bd(i)),0,4);Un(this,{publicKey:i,fingerprint:I,parentFingerprint:n,chainCode:o,path:d,index:g,depth:y})}connect(t){return new e(zb,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return Xr(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),_ge(Jo(["0x0488B21E",DY(this.depth,1),this.parentFingerprint,DY(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){let r=Zi(t,"index");_r(r<=4294967295,"invalid index","index",r);let i=this.path;i&&(i+="/"+(r&~Kb),r&Kb&&(i+="'"));let{IR:n,IL:o}=Gst(r,this.chainCode,this.publicKey,null),d=rh.addPoints(o,this.publicKey,!0),g=rg(d);return new e(zb,g,d,this.fingerprint,vn(n),i,r,this.depth+1,this.provider)}derivePath(t){return qst(this,t)}};function mge(e){let t=Zi(e,"index");return _r(t>=0&&t<Kb,"invalid account index","index",t),`m/44'/60'/${t}'/0/0`}function yge(e){let t=Zi(e,"index");return _r(t>=0&&t<Kb,"invalid account index","index",t),`m/44'/60'/0'/0/${t}`}J();K();z();function uT(e){try{if(JSON.parse(e).encseed)return!0}catch{}return!1}function dT(e,t){let r=JSON.parse(e),i=gw(t),n=Co(Y0(r,"ethaddr:string!")),o=gge(Y0(r,"encseed:string!"));_r(o&&o.length%16===0,"invalid encseed","json",e);let d=Dn(UA(i,i,2e3,32,"sha256")).slice(0,16),g=o.slice(0,16),y=o.slice(16),_=new PL(d,g),I=pge(Dn(_.decrypt(y))),N="";for(let T=0;T<I.length;T++)N+=String.fromCharCode(I[T]);return{address:n,privateKey:nh(N)}}J();K();z();function Vst(e){return new Promise(t=>{setTimeout(()=>{t()},e)})}var zR=class e extends GR{constructor(t,r){typeof t=="string"&&!t.startsWith("0x")&&(t="0x"+t);let i=typeof t=="string"?new rh(t):t;super(i,r)}connect(t){return new e(this.signingKey,t)}async encrypt(t,r){let i={address:this.address,privateKey:this.privateKey};return await mw(i,t,{progressCallback:r})}encryptSync(t){let r={address:this.address,privateKey:this.privateKey};return _w(r,t)}static#e(t){if(_r(t,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in t&&t.mnemonic&&t.mnemonic.locale==="en"){let i=qb.fromEntropy(t.mnemonic.entropy),n=JR.fromMnemonic(i,t.mnemonic.path);if(n.address===t.address&&n.privateKey===t.privateKey)return n;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let r=new e(t.privateKey);return _r(r.address===t.address,"address/privateKey mismatch","json","[ REDACTED ]"),r}static async fromEncryptedJson(t,r,i){let n=null;return sT(t)?n=await FL(t,r,i):uT(t)&&(i&&(i(0),await Vst(0)),n=dT(t,r),i&&(i(1),await Vst(0))),e.#e(n)}static fromEncryptedJsonSync(t,r){let i=null;return sT(t)?i=UL(t,r):uT(t)?i=dT(t,r):_r(!1,"invalid JSON wallet","json","[ REDACTED ]"),e.#e(i)}static createRandom(t){let r=JR.createRandom();return t?r.connect(t):r}static fromPhrase(t,r){let i=JR.fromPhrase(t);return r?i.connect(r):i}};J();K();z();J();K();z();J();K();z();J();K();z();var Oer=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function Jst(e,t){let r=(1<<e)-1,i=[],n=0,o=0,d=0;for(let g=0;g<t.length;g++)for(n=n<<6|Oer.indexOf(t[g]),o+=6;o>=e;){let y=n>>o-e;n&=(1<<o-e)-1,o-=e,y===0?d+=r:(i.push(y+d),d=0)}return i}function zst(e,t){let r=OY(e).join(",");return t.split(/,/g).forEach(i=>{let n=i.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);_r(n!==null,"internal error parsing accents","accents",t);let o=0,d=Jst(parseInt(n[3]),n[4]),g=parseInt(n[2]),y=new RegExp(`([${n[1]}])`,"g");r=r.replace(y,(_,I)=>(--d[o]===0&&(I=String.fromCharCode(I.charCodeAt(0),g),o++),I))}),r.split(",")}var QL=class extends qR{#e;constructor(t,r,i,n){super(t,r,n),this.#e=i}get _accent(){return this.#e}_decodeWords(){return zst(this._data,this._accent)}};J();K();z();var bge={en:Jp.wordlist()};function qf(e){return new Promise(t=>setTimeout(t,e))}var Kst="https://sepolia.gateway.tenderly.co",$st="https://sepolia.base.org",Ege="https://rpc-amoy.polygon.technology",kY="https://mainnet.base.org",PY={arweave:"https://turbo-gateway.com",ario:"https://api.devnet.solana.com","base-ario":kY,solana:"https://api.devnet.solana.com",ethereum:Kst,"base-eth":$st,kyve:"https://api.korellia.kyve.network",matic:Ege,pol:Ege,usdc:Kst,"base-usdc":$st,"polygon-usdc":Ege},af={arweave:"https://turbo-gateway.com",ario:"https://api.mainnet-beta.solana.com","base-ario":kY,solana:"https://api.mainnet-beta.solana.com",ethereum:"https://cloudflare-eth.com/","base-eth":kY,kyve:"https://api.kyve.network/",matic:"https://polygon-rpc.com/",pol:"https://polygon-rpc.com/",usdc:"https://cloudflare-eth.com/","base-usdc":kY,"polygon-usdc":"https://polygon-rpc.com/"};function Xst({signer:e,privateKey:t,token:r="arweave"}){if(e!==void 0)return e instanceof Xv&&(e.setPublicKey=async()=>{let i="sign this message to connect to your account",n=await e.signer.signMessage(i),o=zI(i),d=sN(ii(o),n);e.publicKey=fe.from(ii(d))}),e;if(t===void 0)throw new Error("A privateKey or signer must be provided.");switch(r){case"solana":case"ario":return new bb(t);case"ethereum":case"pol":case"matic":case"base-eth":case"usdc":case"base-usdc":case"base-ario":case"polygon-usdc":if(!gXe(t))throw new Error("A valid Ethereum private key must be provided for EthereumSigner.");return new m0(t);case"kyve":if(!pXe(t))throw new Error("A valid Kyve private key must be provided for KyveSigner.");return xer(t);case"arweave":if(!_Xe(t))throw new Error("A JWK must be provided for ArweaveSigner.");return new nb(t)}}function xer(e){return new m0(e)}function vge(e){return typeof Blob<"u"&&e instanceof Blob}function Ter(e){return new RegExp("^[a-zA-Z0-9_-]{43}$").test(e)}function Ber(e){try{return xi.isOnCurve(e)}catch{return!1}}function Mer(e){return new RegExp("^0x[a-fA-F0-9]{40}$").test(e)}function Der(e){return new RegExp("^kyve[a-zA-Z0-9]{39}$").test(e)}function ker(e,t){switch(t){case"arweave":return Ter(e);case"ario":case"solana":return Ber(e);case"ethereum":case"base-eth":case"matic":case"pol":case"base-usdc":case"base-ario":case"usdc":case"polygon-usdc":return Mer(e);case"kyve":return Der(e)}}function Zst(e){for(let t of KJ)if(ker(e,t))return t;return!1}J();K();z();qk();J();K();z();J();K();z();J();K();z();J();K();z();J();K();z();var Per=Object.defineProperty,jst=(e=>typeof Av<"u"?Av:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Av<"u"?Av:t)[r]}):e)(function(e){if(typeof Av<"u")return Av.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),LY=(e,t)=>{for(var r in t)Per(e,r,{get:t[r],enumerable:!0})},UY={84532:{usdcAddress:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",usdcName:"USDC"},8453:{usdcAddress:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",usdcName:"USD Coin"},43113:{usdcAddress:"0x5425890298aed601595a70AB815c96711a31Bc65",usdcName:"USD Coin"},43114:{usdcAddress:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",usdcName:"USD Coin"},4689:{usdcAddress:"0xcdf79194c6c285077a58da47641d4dbe51f63542",usdcName:"Bridged USDC"},103:{usdcAddress:"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",usdcName:"USDC"},101:{usdcAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",usdcName:"USDC"},1328:{usdcAddress:"0x4fcf1784b31630811181f670aea7a7bef803eaed",usdcName:"USDC"},1329:{usdcAddress:"0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392",usdcName:"USDC"},137:{usdcAddress:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",usdcName:"USD Coin"},80002:{usdcAddress:"0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",usdcName:"USDC"},3338:{usdcAddress:"0xbbA60da06c2c5424f03f7434542280FCAd453d10",usdcName:"USDC"},2741:{usdcAddress:"0x84a71ccd554cc1b02749b35d22f684cc8ec987e1",usdcName:"Bridged USDC"},11124:{usdcAddress:"0xe4C7fBB0a626ed208021ccabA6Be1566905E2dFc",usdcName:"Bridged USDC"},1514:{usdcAddress:"0xF1815bd50389c46847f0Bda824eC8da914045D14",usdcName:"Bridged USDC"},41923:{usdcAddress:"0x12a272A581feE5577A5dFa371afEB4b2F3a8C2F8",usdcName:"Bridged USDC (Stargate)"},324705682:{usdcAddress:"0x2e08028E3C4c2356572E096d8EF835cD5C6030bD",usdcName:"Bridged USDC (SKALE Bridge)"}};var ect=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"Blacklisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newBlacklister",type:"address"}],name:"BlacklisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"burner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newMasterMinter",type:"address"}],name:"MasterMinterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"MinterConfigured",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldMinter",type:"address"}],name:"MinterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[],name:"Pause",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRescuer",type:"address"}],name:"RescuerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"UnBlacklisted",type:"event"},{anonymous:!1,inputs:[],name:"Unpause",type:"event"},{inputs:[],name:"CANCEL_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"RECEIVE_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TRANSFER_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"authorizationState",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"blacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"blacklister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"},{internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"configureMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currency",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"decrement",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"increment",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"tokenName",type:"string"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"string",name:"tokenCurrency",type:"string"},{internalType:"uint8",name:"tokenDecimals",type:"uint8"},{internalType:"address",name:"newMasterMinter",type:"address"},{internalType:"address",name:"newPauser",type:"address"},{internalType:"address",name:"newBlacklister",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newName",type:"string"}],name:"initializeV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"lostAndFound",type:"address"}],name:"initializeV2_1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"accountsToBlacklist",type:"address[]"},{internalType:"string",name:"newSymbol",type:"string"}],name:"initializeV2_2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"isBlacklisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"masterMinter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"minterAllowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"removeMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenContract",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rescuer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"unBlacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newBlacklister",type:"address"}],name:"updateBlacklister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newMasterMinter",type:"address"}],name:"updateMasterMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRescuer",type:"address"}],name:"updateRescuer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}];function Rge(e){return UY[e.toString()]}J();K();z();var Ws;(function(e){e.assertEqual=n=>n;function t(n){}e.assertIs=t;function r(n){throw new Error}e.assertNever=r,e.arrayToEnum=n=>{let o={};for(let d of n)o[d]=d;return o},e.getValidEnumValues=n=>{let o=e.objectKeys(n).filter(g=>typeof n[n[g]]!="number"),d={};for(let g of o)d[g]=n[g];return e.objectValues(d)},e.objectValues=n=>e.objectKeys(n).map(function(o){return n[o]}),e.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let o=[];for(let d in n)Object.prototype.hasOwnProperty.call(n,d)&&o.push(d);return o},e.find=(n,o)=>{for(let d of n)if(o(d))return d},e.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&isFinite(n)&&Math.floor(n)===n;function i(n,o=" | "){return n.map(d=>typeof d=="string"?`'${d}'`:d).join(o)}e.joinValues=i,e.jsonStringifyReplacer=(n,o)=>typeof o=="bigint"?o.toString():o})(Ws||(Ws={}));var Ige;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Ige||(Ige={}));var Fi=Ws.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$R=e=>{switch(typeof e){case"undefined":return Fi.undefined;case"string":return Fi.string;case"number":return isNaN(e)?Fi.nan:Fi.number;case"boolean":return Fi.boolean;case"function":return Fi.function;case"bigint":return Fi.bigint;case"symbol":return Fi.symbol;case"object":return Array.isArray(e)?Fi.array:e===null?Fi.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?Fi.promise:typeof Map<"u"&&e instanceof Map?Fi.map:typeof Set<"u"&&e instanceof Set?Fi.set:typeof Date<"u"&&e instanceof Date?Fi.date:Fi.object;default:return Fi.unknown}},Zn=Ws.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Ler=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ag=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=i=>{this.issues=[...this.issues,i]},this.addIssues=(i=[])=>{this.issues=[...this.issues,...i]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){let r=t||function(o){return o.message},i={_errors:[]},n=o=>{for(let d of o.issues)if(d.code==="invalid_union")d.unionErrors.map(n);else if(d.code==="invalid_return_type")n(d.returnTypeError);else if(d.code==="invalid_arguments")n(d.argumentsError);else if(d.path.length===0)i._errors.push(r(d));else{let g=i,y=0;for(;y<d.path.length;){let _=d.path[y];y===d.path.length-1?(g[_]=g[_]||{_errors:[]},g[_]._errors.push(r(d))):g[_]=g[_]||{_errors:[]},g=g[_],y++}}};return n(this),i}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Ws.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},i=[];for(let n of this.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(t(n))):i.push(t(n));return{formErrors:i,fieldErrors:r}}get formErrors(){return this.flatten()}};ag.create=e=>new ag(e);var hT=(e,t)=>{let r;switch(e.code){case Zn.invalid_type:e.received===Fi.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case Zn.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,Ws.jsonStringifyReplacer)}`;break;case Zn.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ws.joinValues(e.keys,", ")}`;break;case Zn.invalid_union:r="Invalid input";break;case Zn.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ws.joinValues(e.options)}`;break;case Zn.invalid_enum_value:r=`Invalid enum value. Expected ${Ws.joinValues(e.options)}, received '${e.received}'`;break;case Zn.invalid_arguments:r="Invalid function arguments";break;case Zn.invalid_return_type:r="Invalid function return type";break;case Zn.invalid_date:r="Invalid date";break;case Zn.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:Ws.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case Zn.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case Zn.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case Zn.custom:r="Invalid input";break;case Zn.invalid_intersection_types:r="Intersection results could not be merged";break;case Zn.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case Zn.not_finite:r="Number must be finite";break;default:r=t.defaultError,Ws.assertNever(e)}return{message:r}},ict=hT;function Uer(e){ict=e}function FY(){return ict}var QY=e=>{let{data:t,path:r,errorMaps:i,issueData:n}=e,o=[...r,...n.path||[]],d={...n,path:o};if(n.message!==void 0)return{...n,path:o,message:n.message};let g="",y=i.filter(_=>!!_).slice().reverse();for(let _ of y)g=_(d,{data:t,defaultError:g}).message;return{...n,path:o,message:g}},Fer=[];function Oi(e,t){let r=FY(),i=QY({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===hT?void 0:hT].filter(n=>!!n)});e.common.issues.push(i)}var Yh=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let i=[];for(let n of r){if(n.status==="aborted")return Wo;n.status==="dirty"&&t.dirty(),i.push(n.value)}return{status:t.value,value:i}}static async mergeObjectAsync(t,r){let i=[];for(let n of r){let o=await n.key,d=await n.value;i.push({key:o,value:d})}return e.mergeObjectSync(t,i)}static mergeObjectSync(t,r){let i={};for(let n of r){let{key:o,value:d}=n;if(o.status==="aborted"||d.status==="aborted")return Wo;o.status==="dirty"&&t.dirty(),d.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof d.value<"u"||n.alwaysSet)&&(i[o.value]=d.value)}return{status:t.value,value:i}}},Wo=Object.freeze({status:"aborted"}),lT=e=>({status:"dirty",value:e}),HA=e=>({status:"valid",value:e}),Cge=e=>e.status==="aborted",wge=e=>e.status==="dirty",bw=e=>e.status==="valid",qL=e=>typeof Promise<"u"&&e instanceof Promise;function HY(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)}function oct(e,t,r,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(e,r):n?n.value=r:t.set(e,r),r}var so;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(so||(so={}));var HL,GL,J_=class{constructor(t,r,i,n){this._cachedPath=[],this.parent=t,this.data=r,this._path=i,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},tct=(e,t)=>{if(bw(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new ag(e.common.issues);return this._error=r,this._error}}};function va(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:i,description:n}=e;if(t&&(r||i))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:n}:{errorMap:(d,g)=>{var y,_;let{message:I}=e;return d.code==="invalid_enum_value"?{message:I??g.defaultError}:typeof g.data>"u"?{message:(y=I??i)!==null&&y!==void 0?y:g.defaultError}:d.code!=="invalid_type"?{message:g.defaultError}:{message:(_=I??r)!==null&&_!==void 0?_:g.defaultError}},description:n}}var Ra=class{get description(){return this._def.description}_getType(t){return $R(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:$R(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Yh,ctx:{common:t.parent.common,data:t.data,parsedType:$R(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(qL(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let i=this.safeParse(t,r);if(i.success)return i.data;throw i.error}safeParse(t,r){var i;let n={common:{issues:[],async:(i=r?.async)!==null&&i!==void 0?i:!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:$R(t)},o=this._parseSync({data:t,path:n.path,parent:n});return tct(n,o)}"~validate"(t){var r,i;let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:$R(t)};if(!this["~standard"].async)try{let o=this._parseSync({data:t,path:[],parent:n});return bw(o)?{value:o.value}:{issues:n.common.issues}}catch(o){!((i=(r=o?.message)===null||r===void 0?void 0:r.toLowerCase())===null||i===void 0)&&i.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(o=>bw(o)?{value:o.value}:{issues:n.common.issues})}async parseAsync(t,r){let i=await this.safeParseAsync(t,r);if(i.success)return i.data;throw i.error}async safeParseAsync(t,r){let i={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:$R(t)},n=this._parse({data:t,path:i.path,parent:i}),o=await(qL(n)?n:Promise.resolve(n));return tct(i,o)}refine(t,r){let i=n=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(n):r;return this._refinement((n,o)=>{let d=t(n),g=()=>o.addIssue({code:Zn.custom,...i(n)});return typeof Promise<"u"&&d instanceof Promise?d.then(y=>y?!0:(g(),!1)):d?!0:(g(),!1)})}refinement(t,r){return this._refinement((i,n)=>t(i)?!0:(n.addIssue(typeof r=="function"?r(i,n):r),!1))}_refinement(t){return new sg({schema:this,typeName:zo.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return V_.create(this,this._def)}nullable(){return Yb.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return WR.create(this)}promise(){return d3.create(this,this._def)}or(t){return ww.create([this,t],this._def)}and(t){return Ow.create(this,t,this._def)}transform(t){return new sg({...va(this._def),schema:this,typeName:zo.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new Mw({...va(this._def),innerType:this,defaultValue:r,typeName:zo.ZodDefault})}brand(){return new VL({typeName:zo.ZodBranded,type:this,...va(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new Dw({...va(this._def),innerType:this,catchValue:r,typeName:zo.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return JL.create(this,t)}readonly(){return kw.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Qer=/^c[^\s-]{8,}$/i,Her=/^[0-9a-z]+$/,Ger=/^[0-9A-HJKMNP-TV-Z]{26}$/i,qer=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ver=/^[a-z0-9_-]{21}$/i,Jer=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,zer=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ker=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$er="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Sge,Yer=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Wer=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Xer=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Zer=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,jer=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,etr=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,act="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ttr=new RegExp(`^${act}$`);function sct(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`),t}function rtr(e){return new RegExp(`^${sct(e)}$`)}function cct(e){let t=`${act}T${sct(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function ntr(e,t){return!!((t==="v4"||!t)&&Yer.test(e)||(t==="v6"||!t)&&Xer.test(e))}function itr(e,t){if(!Jer.test(e))return!1;try{let[r]=e.split("."),i=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),n=JSON.parse(atob(i));return!(typeof n!="object"||n===null||!n.typ||!n.alg||t&&n.alg!==t)}catch{return!1}}function otr(e,t){return!!((t==="v4"||!t)&&Wer.test(e)||(t==="v6"||!t)&&Zer.test(e))}var c3=class e extends Ra{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==Fi.string){let o=this._getOrReturnCtx(t);return Oi(o,{code:Zn.invalid_type,expected:Fi.string,received:o.parsedType}),Wo}let i=new Yh,n;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),i.dirty());else if(o.kind==="max")t.data.length>o.value&&(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),i.dirty());else if(o.kind==="length"){let d=t.data.length>o.value,g=t.data.length<o.value;(d||g)&&(n=this._getOrReturnCtx(t,n),d?Oi(n,{code:Zn.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):g&&Oi(n,{code:Zn.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),i.dirty())}else if(o.kind==="email")Ker.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"email",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="emoji")Sge||(Sge=new RegExp($er,"u")),Sge.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"emoji",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="uuid")qer.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"uuid",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="nanoid")Ver.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"nanoid",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="cuid")Qer.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"cuid",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="cuid2")Her.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"cuid2",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="ulid")Ger.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"ulid",code:Zn.invalid_string,message:o.message}),i.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{n=this._getOrReturnCtx(t,n),Oi(n,{validation:"url",code:Zn.invalid_string,message:o.message}),i.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"regex",code:Zn.invalid_string,message:o.message}),i.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),i.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:{startsWith:o.value},message:o.message}),i.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:{endsWith:o.value},message:o.message}),i.dirty()):o.kind==="datetime"?cct(o).test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:"datetime",message:o.message}),i.dirty()):o.kind==="date"?ttr.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:"date",message:o.message}),i.dirty()):o.kind==="time"?rtr(o).test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.invalid_string,validation:"time",message:o.message}),i.dirty()):o.kind==="duration"?zer.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"duration",code:Zn.invalid_string,message:o.message}),i.dirty()):o.kind==="ip"?ntr(t.data,o.version)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"ip",code:Zn.invalid_string,message:o.message}),i.dirty()):o.kind==="jwt"?itr(t.data,o.alg)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"jwt",code:Zn.invalid_string,message:o.message}),i.dirty()):o.kind==="cidr"?otr(t.data,o.version)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"cidr",code:Zn.invalid_string,message:o.message}),i.dirty()):o.kind==="base64"?jer.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"base64",code:Zn.invalid_string,message:o.message}),i.dirty()):o.kind==="base64url"?etr.test(t.data)||(n=this._getOrReturnCtx(t,n),Oi(n,{validation:"base64url",code:Zn.invalid_string,message:o.message}),i.dirty()):Ws.assertNever(o);return{status:i.value,value:t.data}}_regex(t,r,i){return this.refinement(n=>t.test(n),{validation:r,code:Zn.invalid_string,...so.errToObj(i)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...so.errToObj(t)})}url(t){return this._addCheck({kind:"url",...so.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...so.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...so.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...so.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...so.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...so.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...so.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...so.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...so.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...so.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...so.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...so.errToObj(t)})}datetime(t){var r,i;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:(r=t?.offset)!==null&&r!==void 0?r:!1,local:(i=t?.local)!==null&&i!==void 0?i:!1,...so.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...so.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...so.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...so.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...so.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...so.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...so.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...so.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...so.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...so.errToObj(r)})}nonempty(t){return this.min(1,so.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};c3.create=e=>{var t;return new c3({checks:[],typeName:zo.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...va(e)})};function atr(e,t){let r=(e.toString().split(".")[1]||"").length,i=(t.toString().split(".")[1]||"").length,n=r>i?r:i,o=parseInt(e.toFixed(n).replace(".","")),d=parseInt(t.toFixed(n).replace(".",""));return o%d/Math.pow(10,n)}var Ew=class e extends Ra{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==Fi.number){let o=this._getOrReturnCtx(t);return Oi(o,{code:Zn.invalid_type,expected:Fi.number,received:o.parsedType}),Wo}let i,n=new Yh;for(let o of this._def.checks)o.kind==="int"?Ws.isInteger(t.data)||(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.invalid_type,expected:"integer",received:"float",message:o.message}),n.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="multipleOf"?atr(t.data,o.value)!==0&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.not_finite,message:o.message}),n.dirty()):Ws.assertNever(o);return{status:n.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,so.toString(r))}gt(t,r){return this.setLimit("min",t,!1,so.toString(r))}lte(t,r){return this.setLimit("max",t,!0,so.toString(r))}lt(t,r){return this.setLimit("max",t,!1,so.toString(r))}setLimit(t,r,i,n){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:i,message:so.toString(n)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:so.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:so.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:so.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:so.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:so.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:so.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:so.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:so.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:so.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Ws.isInteger(t.value))}get isFinite(){let t=null,r=null;for(let i of this._def.checks){if(i.kind==="finite"||i.kind==="int"||i.kind==="multipleOf")return!0;i.kind==="min"?(r===null||i.value>r)&&(r=i.value):i.kind==="max"&&(t===null||i.value<t)&&(t=i.value)}return Number.isFinite(r)&&Number.isFinite(t)}};Ew.create=e=>new Ew({checks:[],typeName:zo.ZodNumber,coerce:e?.coerce||!1,...va(e)});var vw=class e extends Ra{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==Fi.bigint)return this._getInvalidInput(t);let i,n=new Yh;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(i=this._getOrReturnCtx(t,i),Oi(i,{code:Zn.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):Ws.assertNever(o);return{status:n.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return Oi(r,{code:Zn.invalid_type,expected:Fi.bigint,received:r.parsedType}),Wo}gte(t,r){return this.setLimit("min",t,!0,so.toString(r))}gt(t,r){return this.setLimit("min",t,!1,so.toString(r))}lte(t,r){return this.setLimit("max",t,!0,so.toString(r))}lt(t,r){return this.setLimit("max",t,!1,so.toString(r))}setLimit(t,r,i,n){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:i,message:so.toString(n)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:so.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:so.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:so.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:so.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:so.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};vw.create=e=>{var t;return new vw({checks:[],typeName:zo.ZodBigInt,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...va(e)})};var Rw=class extends Ra{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==Fi.boolean){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.boolean,received:i.parsedType}),Wo}return HA(t.data)}};Rw.create=e=>new Rw({typeName:zo.ZodBoolean,coerce:e?.coerce||!1,...va(e)});var Sw=class e extends Ra{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==Fi.date){let o=this._getOrReturnCtx(t);return Oi(o,{code:Zn.invalid_type,expected:Fi.date,received:o.parsedType}),Wo}if(isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return Oi(o,{code:Zn.invalid_date}),Wo}let i=new Yh,n;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),i.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(n=this._getOrReturnCtx(t,n),Oi(n,{code:Zn.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),i.dirty()):Ws.assertNever(o);return{status:i.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:so.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:so.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};Sw.create=e=>new Sw({checks:[],coerce:e?.coerce||!1,typeName:zo.ZodDate,...va(e)});var AT=class extends Ra{_parse(t){if(this._getType(t)!==Fi.symbol){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.symbol,received:i.parsedType}),Wo}return HA(t.data)}};AT.create=e=>new AT({typeName:zo.ZodSymbol,...va(e)});var Iw=class extends Ra{_parse(t){if(this._getType(t)!==Fi.undefined){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.undefined,received:i.parsedType}),Wo}return HA(t.data)}};Iw.create=e=>new Iw({typeName:zo.ZodUndefined,...va(e)});var Cw=class extends Ra{_parse(t){if(this._getType(t)!==Fi.null){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.null,received:i.parsedType}),Wo}return HA(t.data)}};Cw.create=e=>new Cw({typeName:zo.ZodNull,...va(e)});var u3=class extends Ra{constructor(){super(...arguments),this._any=!0}_parse(t){return HA(t.data)}};u3.create=e=>new u3({typeName:zo.ZodAny,...va(e)});var YR=class extends Ra{constructor(){super(...arguments),this._unknown=!0}_parse(t){return HA(t.data)}};YR.create=e=>new YR({typeName:zo.ZodUnknown,...va(e)});var cy=class extends Ra{_parse(t){let r=this._getOrReturnCtx(t);return Oi(r,{code:Zn.invalid_type,expected:Fi.never,received:r.parsedType}),Wo}};cy.create=e=>new cy({typeName:zo.ZodNever,...va(e)});var pT=class extends Ra{_parse(t){if(this._getType(t)!==Fi.undefined){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.void,received:i.parsedType}),Wo}return HA(t.data)}};pT.create=e=>new pT({typeName:zo.ZodVoid,...va(e)});var WR=class e extends Ra{_parse(t){let{ctx:r,status:i}=this._processInputParams(t),n=this._def;if(r.parsedType!==Fi.array)return Oi(r,{code:Zn.invalid_type,expected:Fi.array,received:r.parsedType}),Wo;if(n.exactLength!==null){let d=r.data.length>n.exactLength.value,g=r.data.length<n.exactLength.value;(d||g)&&(Oi(r,{code:d?Zn.too_big:Zn.too_small,minimum:g?n.exactLength.value:void 0,maximum:d?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),i.dirty())}if(n.minLength!==null&&r.data.length<n.minLength.value&&(Oi(r,{code:Zn.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),i.dirty()),n.maxLength!==null&&r.data.length>n.maxLength.value&&(Oi(r,{code:Zn.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),i.dirty()),r.common.async)return Promise.all([...r.data].map((d,g)=>n.type._parseAsync(new J_(r,d,r.path,g)))).then(d=>Yh.mergeArray(i,d));let o=[...r.data].map((d,g)=>n.type._parseSync(new J_(r,d,r.path,g)));return Yh.mergeArray(i,o)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:so.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:so.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:so.toString(r)}})}nonempty(t){return this.min(1,t)}};WR.create=(e,t)=>new WR({type:e,minLength:null,maxLength:null,exactLength:null,typeName:zo.ZodArray,...va(t)});function fT(e){if(e instanceof zp){let t={};for(let r in e.shape){let i=e.shape[r];t[r]=V_.create(fT(i))}return new zp({...e._def,shape:()=>t})}else return e instanceof WR?new WR({...e._def,type:fT(e.element)}):e instanceof V_?V_.create(fT(e.unwrap())):e instanceof Yb?Yb.create(fT(e.unwrap())):e instanceof $b?$b.create(e.items.map(t=>fT(t))):e}var zp=class e extends Ra{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),r=Ws.objectKeys(t);return this._cached={shape:t,keys:r}}_parse(t){if(this._getType(t)!==Fi.object){let _=this._getOrReturnCtx(t);return Oi(_,{code:Zn.invalid_type,expected:Fi.object,received:_.parsedType}),Wo}let{status:i,ctx:n}=this._processInputParams(t),{shape:o,keys:d}=this._getCached(),g=[];if(!(this._def.catchall instanceof cy&&this._def.unknownKeys==="strip"))for(let _ in n.data)d.includes(_)||g.push(_);let y=[];for(let _ of d){let I=o[_],N=n.data[_];y.push({key:{status:"valid",value:_},value:I._parse(new J_(n,N,n.path,_)),alwaysSet:_ in n.data})}if(this._def.catchall instanceof cy){let _=this._def.unknownKeys;if(_==="passthrough")for(let I of g)y.push({key:{status:"valid",value:I},value:{status:"valid",value:n.data[I]}});else if(_==="strict")g.length>0&&(Oi(n,{code:Zn.unrecognized_keys,keys:g}),i.dirty());else if(_!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let _=this._def.catchall;for(let I of g){let N=n.data[I];y.push({key:{status:"valid",value:I},value:_._parse(new J_(n,N,n.path,I)),alwaysSet:I in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let _=[];for(let I of y){let N=await I.key,T=await I.value;_.push({key:N,value:T,alwaysSet:I.alwaysSet})}return _}).then(_=>Yh.mergeObjectSync(i,_)):Yh.mergeObjectSync(i,y)}get shape(){return this._def.shape()}strict(t){return so.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,i)=>{var n,o,d,g;let y=(d=(o=(n=this._def).errorMap)===null||o===void 0?void 0:o.call(n,r,i).message)!==null&&d!==void 0?d:i.defaultError;return r.code==="unrecognized_keys"?{message:(g=so.errToObj(t).message)!==null&&g!==void 0?g:y}:{message:y}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:zo.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};return Ws.objectKeys(t).forEach(i=>{t[i]&&this.shape[i]&&(r[i]=this.shape[i])}),new e({...this._def,shape:()=>r})}omit(t){let r={};return Ws.objectKeys(this.shape).forEach(i=>{t[i]||(r[i]=this.shape[i])}),new e({...this._def,shape:()=>r})}deepPartial(){return fT(this)}partial(t){let r={};return Ws.objectKeys(this.shape).forEach(i=>{let n=this.shape[i];t&&!t[i]?r[i]=n:r[i]=n.optional()}),new e({...this._def,shape:()=>r})}required(t){let r={};return Ws.objectKeys(this.shape).forEach(i=>{if(t&&!t[i])r[i]=this.shape[i];else{let o=this.shape[i];for(;o instanceof V_;)o=o._def.innerType;r[i]=o}}),new e({...this._def,shape:()=>r})}keyof(){return uct(Ws.objectKeys(this.shape))}};zp.create=(e,t)=>new zp({shape:()=>e,unknownKeys:"strip",catchall:cy.create(),typeName:zo.ZodObject,...va(t)});zp.strictCreate=(e,t)=>new zp({shape:()=>e,unknownKeys:"strict",catchall:cy.create(),typeName:zo.ZodObject,...va(t)});zp.lazycreate=(e,t)=>new zp({shape:e,unknownKeys:"strip",catchall:cy.create(),typeName:zo.ZodObject,...va(t)});var ww=class extends Ra{_parse(t){let{ctx:r}=this._processInputParams(t),i=this._def.options;function n(o){for(let g of o)if(g.result.status==="valid")return g.result;for(let g of o)if(g.result.status==="dirty")return r.common.issues.push(...g.ctx.common.issues),g.result;let d=o.map(g=>new ag(g.ctx.common.issues));return Oi(r,{code:Zn.invalid_union,unionErrors:d}),Wo}if(r.common.async)return Promise.all(i.map(async o=>{let d={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:d}),ctx:d}})).then(n);{let o,d=[];for(let y of i){let _={...r,common:{...r.common,issues:[]},parent:null},I=y._parseSync({data:r.data,path:r.path,parent:_});if(I.status==="valid")return I;I.status==="dirty"&&!o&&(o={result:I,ctx:_}),_.common.issues.length&&d.push(_.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let g=d.map(y=>new ag(y));return Oi(r,{code:Zn.invalid_union,unionErrors:g}),Wo}}get options(){return this._def.options}};ww.create=(e,t)=>new ww({options:e,typeName:zo.ZodUnion,...va(t)});var KR=e=>e instanceof Nw?KR(e.schema):e instanceof sg?KR(e.innerType()):e instanceof xw?[e.value]:e instanceof Tw?e.options:e instanceof Bw?Ws.objectValues(e.enum):e instanceof Mw?KR(e._def.innerType):e instanceof Iw?[void 0]:e instanceof Cw?[null]:e instanceof V_?[void 0,...KR(e.unwrap())]:e instanceof Yb?[null,...KR(e.unwrap())]:e instanceof VL||e instanceof kw?KR(e.unwrap()):e instanceof Dw?KR(e._def.innerType):[],GY=class e extends Ra{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==Fi.object)return Oi(r,{code:Zn.invalid_type,expected:Fi.object,received:r.parsedType}),Wo;let i=this.discriminator,n=r.data[i],o=this.optionsMap.get(n);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):(Oi(r,{code:Zn.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[i]}),Wo)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,i){let n=new Map;for(let o of r){let d=KR(o.shape[t]);if(!d.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let g of d){if(n.has(g))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(g)}`);n.set(g,o)}}return new e({typeName:zo.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:n,...va(i)})}};function Oge(e,t){let r=$R(e),i=$R(t);if(e===t)return{valid:!0,data:e};if(r===Fi.object&&i===Fi.object){let n=Ws.objectKeys(t),o=Ws.objectKeys(e).filter(g=>n.indexOf(g)!==-1),d={...e,...t};for(let g of o){let y=Oge(e[g],t[g]);if(!y.valid)return{valid:!1};d[g]=y.data}return{valid:!0,data:d}}else if(r===Fi.array&&i===Fi.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let o=0;o<e.length;o++){let d=e[o],g=t[o],y=Oge(d,g);if(!y.valid)return{valid:!1};n.push(y.data)}return{valid:!0,data:n}}else return r===Fi.date&&i===Fi.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Ow=class extends Ra{_parse(t){let{status:r,ctx:i}=this._processInputParams(t),n=(o,d)=>{if(Cge(o)||Cge(d))return Wo;let g=Oge(o.value,d.value);return g.valid?((wge(o)||wge(d))&&r.dirty(),{status:r.value,value:g.data}):(Oi(i,{code:Zn.invalid_intersection_types}),Wo)};return i.common.async?Promise.all([this._def.left._parseAsync({data:i.data,path:i.path,parent:i}),this._def.right._parseAsync({data:i.data,path:i.path,parent:i})]).then(([o,d])=>n(o,d)):n(this._def.left._parseSync({data:i.data,path:i.path,parent:i}),this._def.right._parseSync({data:i.data,path:i.path,parent:i}))}};Ow.create=(e,t,r)=>new Ow({left:e,right:t,typeName:zo.ZodIntersection,...va(r)});var $b=class e extends Ra{_parse(t){let{status:r,ctx:i}=this._processInputParams(t);if(i.parsedType!==Fi.array)return Oi(i,{code:Zn.invalid_type,expected:Fi.array,received:i.parsedType}),Wo;if(i.data.length<this._def.items.length)return Oi(i,{code:Zn.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Wo;!this._def.rest&&i.data.length>this._def.items.length&&(Oi(i,{code:Zn.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...i.data].map((d,g)=>{let y=this._def.items[g]||this._def.rest;return y?y._parse(new J_(i,d,i.path,g)):null}).filter(d=>!!d);return i.common.async?Promise.all(o).then(d=>Yh.mergeArray(r,d)):Yh.mergeArray(r,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};$b.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $b({items:e,typeName:zo.ZodTuple,rest:null,...va(t)})};var qY=class e extends Ra{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:i}=this._processInputParams(t);if(i.parsedType!==Fi.object)return Oi(i,{code:Zn.invalid_type,expected:Fi.object,received:i.parsedType}),Wo;let n=[],o=this._def.keyType,d=this._def.valueType;for(let g in i.data)n.push({key:o._parse(new J_(i,g,i.path,g)),value:d._parse(new J_(i,i.data[g],i.path,g)),alwaysSet:g in i.data});return i.common.async?Yh.mergeObjectAsync(r,n):Yh.mergeObjectSync(r,n)}get element(){return this._def.valueType}static create(t,r,i){return r instanceof Ra?new e({keyType:t,valueType:r,typeName:zo.ZodRecord,...va(i)}):new e({keyType:c3.create(),valueType:t,typeName:zo.ZodRecord,...va(r)})}},gT=class extends Ra{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:i}=this._processInputParams(t);if(i.parsedType!==Fi.map)return Oi(i,{code:Zn.invalid_type,expected:Fi.map,received:i.parsedType}),Wo;let n=this._def.keyType,o=this._def.valueType,d=[...i.data.entries()].map(([g,y],_)=>({key:n._parse(new J_(i,g,i.path,[_,"key"])),value:o._parse(new J_(i,y,i.path,[_,"value"]))}));if(i.common.async){let g=new Map;return Promise.resolve().then(async()=>{for(let y of d){let _=await y.key,I=await y.value;if(_.status==="aborted"||I.status==="aborted")return Wo;(_.status==="dirty"||I.status==="dirty")&&r.dirty(),g.set(_.value,I.value)}return{status:r.value,value:g}})}else{let g=new Map;for(let y of d){let _=y.key,I=y.value;if(_.status==="aborted"||I.status==="aborted")return Wo;(_.status==="dirty"||I.status==="dirty")&&r.dirty(),g.set(_.value,I.value)}return{status:r.value,value:g}}}};gT.create=(e,t,r)=>new gT({valueType:t,keyType:e,typeName:zo.ZodMap,...va(r)});var _T=class e extends Ra{_parse(t){let{status:r,ctx:i}=this._processInputParams(t);if(i.parsedType!==Fi.set)return Oi(i,{code:Zn.invalid_type,expected:Fi.set,received:i.parsedType}),Wo;let n=this._def;n.minSize!==null&&i.data.size<n.minSize.value&&(Oi(i,{code:Zn.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),r.dirty()),n.maxSize!==null&&i.data.size>n.maxSize.value&&(Oi(i,{code:Zn.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),r.dirty());let o=this._def.valueType;function d(y){let _=new Set;for(let I of y){if(I.status==="aborted")return Wo;I.status==="dirty"&&r.dirty(),_.add(I.value)}return{status:r.value,value:_}}let g=[...i.data.values()].map((y,_)=>o._parse(new J_(i,y,i.path,_)));return i.common.async?Promise.all(g).then(y=>d(y)):d(g)}min(t,r){return new e({...this._def,minSize:{value:t,message:so.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:so.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};_T.create=(e,t)=>new _T({valueType:e,minSize:null,maxSize:null,typeName:zo.ZodSet,...va(t)});var VY=class e extends Ra{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==Fi.function)return Oi(r,{code:Zn.invalid_type,expected:Fi.function,received:r.parsedType}),Wo;function i(g,y){return QY({data:g,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,FY(),hT].filter(_=>!!_),issueData:{code:Zn.invalid_arguments,argumentsError:y}})}function n(g,y){return QY({data:g,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,FY(),hT].filter(_=>!!_),issueData:{code:Zn.invalid_return_type,returnTypeError:y}})}let o={errorMap:r.common.contextualErrorMap},d=r.data;if(this._def.returns instanceof d3){let g=this;return HA(async function(...y){let _=new ag([]),I=await g._def.args.parseAsync(y,o).catch(M=>{throw _.addIssue(i(y,M)),_}),N=await Reflect.apply(d,this,I);return await g._def.returns._def.type.parseAsync(N,o).catch(M=>{throw _.addIssue(n(N,M)),_})})}else{let g=this;return HA(function(...y){let _=g._def.args.safeParse(y,o);if(!_.success)throw new ag([i(y,_.error)]);let I=Reflect.apply(d,this,_.data),N=g._def.returns.safeParse(I,o);if(!N.success)throw new ag([n(I,N.error)]);return N.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:$b.create(t).rest(YR.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,i){return new e({args:t||$b.create([]).rest(YR.create()),returns:r||YR.create(),typeName:zo.ZodFunction,...va(i)})}},Nw=class extends Ra{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Nw.create=(e,t)=>new Nw({getter:e,typeName:zo.ZodLazy,...va(t)});var xw=class extends Ra{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return Oi(r,{received:r.data,code:Zn.invalid_literal,expected:this._def.value}),Wo}return{status:"valid",value:t.data}}get value(){return this._def.value}};xw.create=(e,t)=>new xw({value:e,typeName:zo.ZodLiteral,...va(t)});function uct(e,t){return new Tw({values:e,typeName:zo.ZodEnum,...va(t)})}var Tw=class e extends Ra{constructor(){super(...arguments),HL.set(this,void 0)}_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),i=this._def.values;return Oi(r,{expected:Ws.joinValues(i),received:r.parsedType,code:Zn.invalid_type}),Wo}if(HY(this,HL,"f")||oct(this,HL,new Set(this._def.values),"f"),!HY(this,HL,"f").has(t.data)){let r=this._getOrReturnCtx(t),i=this._def.values;return Oi(r,{received:r.data,code:Zn.invalid_enum_value,options:i}),Wo}return HA(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(i=>!t.includes(i)),{...this._def,...r})}};HL=new WeakMap;Tw.create=uct;var Bw=class extends Ra{constructor(){super(...arguments),GL.set(this,void 0)}_parse(t){let r=Ws.getValidEnumValues(this._def.values),i=this._getOrReturnCtx(t);if(i.parsedType!==Fi.string&&i.parsedType!==Fi.number){let n=Ws.objectValues(r);return Oi(i,{expected:Ws.joinValues(n),received:i.parsedType,code:Zn.invalid_type}),Wo}if(HY(this,GL,"f")||oct(this,GL,new Set(Ws.getValidEnumValues(this._def.values)),"f"),!HY(this,GL,"f").has(t.data)){let n=Ws.objectValues(r);return Oi(i,{received:i.data,code:Zn.invalid_enum_value,options:n}),Wo}return HA(t.data)}get enum(){return this._def.values}};GL=new WeakMap;Bw.create=(e,t)=>new Bw({values:e,typeName:zo.ZodNativeEnum,...va(t)});var d3=class extends Ra{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==Fi.promise&&r.common.async===!1)return Oi(r,{code:Zn.invalid_type,expected:Fi.promise,received:r.parsedType}),Wo;let i=r.parsedType===Fi.promise?r.data:Promise.resolve(r.data);return HA(i.then(n=>this._def.type.parseAsync(n,{path:r.path,errorMap:r.common.contextualErrorMap})))}};d3.create=(e,t)=>new d3({type:e,typeName:zo.ZodPromise,...va(t)});var sg=class extends Ra{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===zo.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:i}=this._processInputParams(t),n=this._def.effect||null,o={addIssue:d=>{Oi(i,d),d.fatal?r.abort():r.dirty()},get path(){return i.path}};if(o.addIssue=o.addIssue.bind(o),n.type==="preprocess"){let d=n.transform(i.data,o);if(i.common.async)return Promise.resolve(d).then(async g=>{if(r.value==="aborted")return Wo;let y=await this._def.schema._parseAsync({data:g,path:i.path,parent:i});return y.status==="aborted"?Wo:y.status==="dirty"||r.value==="dirty"?lT(y.value):y});{if(r.value==="aborted")return Wo;let g=this._def.schema._parseSync({data:d,path:i.path,parent:i});return g.status==="aborted"?Wo:g.status==="dirty"||r.value==="dirty"?lT(g.value):g}}if(n.type==="refinement"){let d=g=>{let y=n.refinement(g,o);if(i.common.async)return Promise.resolve(y);if(y instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return g};if(i.common.async===!1){let g=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return g.status==="aborted"?Wo:(g.status==="dirty"&&r.dirty(),d(g.value),{status:r.value,value:g.value})}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(g=>g.status==="aborted"?Wo:(g.status==="dirty"&&r.dirty(),d(g.value).then(()=>({status:r.value,value:g.value}))))}if(n.type==="transform")if(i.common.async===!1){let d=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!bw(d))return d;let g=n.transform(d.value,o);if(g instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:g}}else return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(d=>bw(d)?Promise.resolve(n.transform(d.value,o)).then(g=>({status:r.value,value:g})):d);Ws.assertNever(n)}};sg.create=(e,t,r)=>new sg({schema:e,typeName:zo.ZodEffects,effect:t,...va(r)});sg.createWithPreprocess=(e,t,r)=>new sg({schema:t,effect:{type:"preprocess",transform:e},typeName:zo.ZodEffects,...va(r)});var V_=class extends Ra{_parse(t){return this._getType(t)===Fi.undefined?HA(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};V_.create=(e,t)=>new V_({innerType:e,typeName:zo.ZodOptional,...va(t)});var Yb=class extends Ra{_parse(t){return this._getType(t)===Fi.null?HA(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Yb.create=(e,t)=>new Yb({innerType:e,typeName:zo.ZodNullable,...va(t)});var Mw=class extends Ra{_parse(t){let{ctx:r}=this._processInputParams(t),i=r.data;return r.parsedType===Fi.undefined&&(i=this._def.defaultValue()),this._def.innerType._parse({data:i,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Mw.create=(e,t)=>new Mw({innerType:e,typeName:zo.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...va(t)});var Dw=class extends Ra{_parse(t){let{ctx:r}=this._processInputParams(t),i={...r,common:{...r.common,issues:[]}},n=this._def.innerType._parse({data:i.data,path:i.path,parent:{...i}});return qL(n)?n.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ag(i.common.issues)},input:i.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new ag(i.common.issues)},input:i.data})}}removeCatch(){return this._def.innerType}};Dw.create=(e,t)=>new Dw({innerType:e,typeName:zo.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...va(t)});var mT=class extends Ra{_parse(t){if(this._getType(t)!==Fi.nan){let i=this._getOrReturnCtx(t);return Oi(i,{code:Zn.invalid_type,expected:Fi.nan,received:i.parsedType}),Wo}return{status:"valid",value:t.data}}};mT.create=e=>new mT({typeName:zo.ZodNaN,...va(e)});var str=Symbol("zod_brand"),VL=class extends Ra{_parse(t){let{ctx:r}=this._processInputParams(t),i=r.data;return this._def.type._parse({data:i,path:r.path,parent:r})}unwrap(){return this._def.type}},JL=class e extends Ra{_parse(t){let{status:r,ctx:i}=this._processInputParams(t);if(i.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:i.data,path:i.path,parent:i});return o.status==="aborted"?Wo:o.status==="dirty"?(r.dirty(),lT(o.value)):this._def.out._parseAsync({data:o.value,path:i.path,parent:i})})();{let n=this._def.in._parseSync({data:i.data,path:i.path,parent:i});return n.status==="aborted"?Wo:n.status==="dirty"?(r.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:i.path,parent:i})}}static create(t,r){return new e({in:t,out:r,typeName:zo.ZodPipeline})}},kw=class extends Ra{_parse(t){let r=this._def.innerType._parse(t),i=n=>(bw(n)&&(n.value=Object.freeze(n.value)),n);return qL(r)?r.then(n=>i(n)):i(r)}unwrap(){return this._def.innerType}};kw.create=(e,t)=>new kw({innerType:e,typeName:zo.ZodReadonly,...va(t)});function rct(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function dct(e,t={},r){return e?u3.create().superRefine((i,n)=>{var o,d;let g=e(i);if(g instanceof Promise)return g.then(y=>{var _,I;if(!y){let N=rct(t,i),T=(I=(_=N.fatal)!==null&&_!==void 0?_:r)!==null&&I!==void 0?I:!0;n.addIssue({code:"custom",...N,fatal:T})}});if(!g){let y=rct(t,i),_=(d=(o=y.fatal)!==null&&o!==void 0?o:r)!==null&&d!==void 0?d:!0;n.addIssue({code:"custom",...y,fatal:_})}}):u3.create()}var ctr={object:zp.lazycreate},zo;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(zo||(zo={}));var utr=(e,t={message:`Input not instance of ${e.name}`})=>dct(r=>r instanceof e,t),fct=c3.create,lct=Ew.create,dtr=mT.create,ftr=vw.create,hct=Rw.create,ltr=Sw.create,htr=AT.create,Atr=Iw.create,ptr=Cw.create,gtr=u3.create,_tr=YR.create,mtr=cy.create,ytr=pT.create,btr=WR.create,Etr=zp.create,vtr=zp.strictCreate,Rtr=ww.create,Str=GY.create,Itr=Ow.create,Ctr=$b.create,wtr=qY.create,Otr=gT.create,Ntr=_T.create,xtr=VY.create,Ttr=Nw.create,Btr=xw.create,Mtr=Tw.create,Dtr=Bw.create,ktr=d3.create,nct=sg.create,Ptr=V_.create,Ltr=Yb.create,Utr=sg.createWithPreprocess,Ftr=JL.create,Qtr=()=>fct().optional(),Htr=()=>lct().optional(),Gtr=()=>hct().optional(),qtr={string:(e=>c3.create({...e,coerce:!0})),number:(e=>Ew.create({...e,coerce:!0})),boolean:(e=>Rw.create({...e,coerce:!0})),bigint:(e=>vw.create({...e,coerce:!0})),date:(e=>Sw.create({...e,coerce:!0}))},Vtr=Wo,jn=Object.freeze({__proto__:null,defaultErrorMap:hT,setErrorMap:Uer,getErrorMap:FY,makeIssue:QY,EMPTY_PATH:Fer,addIssueToContext:Oi,ParseStatus:Yh,INVALID:Wo,DIRTY:lT,OK:HA,isAborted:Cge,isDirty:wge,isValid:bw,isAsync:qL,get util(){return Ws},get objectUtil(){return Ige},ZodParsedType:Fi,getParsedType:$R,ZodType:Ra,datetimeRegex:cct,ZodString:c3,ZodNumber:Ew,ZodBigInt:vw,ZodBoolean:Rw,ZodDate:Sw,ZodSymbol:AT,ZodUndefined:Iw,ZodNull:Cw,ZodAny:u3,ZodUnknown:YR,ZodNever:cy,ZodVoid:pT,ZodArray:WR,ZodObject:zp,ZodUnion:ww,ZodDiscriminatedUnion:GY,ZodIntersection:Ow,ZodTuple:$b,ZodRecord:qY,ZodMap:gT,ZodSet:_T,ZodFunction:VY,ZodLazy:Nw,ZodLiteral:xw,ZodEnum:Tw,ZodNativeEnum:Bw,ZodPromise:d3,ZodEffects:sg,ZodTransformer:sg,ZodOptional:V_,ZodNullable:Yb,ZodDefault:Mw,ZodCatch:Dw,ZodNaN:mT,BRAND:str,ZodBranded:VL,ZodPipeline:JL,ZodReadonly:kw,custom:dct,Schema:Ra,ZodSchema:Ra,late:ctr,get ZodFirstPartyTypeKind(){return zo},coerce:qtr,any:gtr,array:btr,bigint:ftr,boolean:hct,date:ltr,discriminatedUnion:Str,effect:nct,enum:Mtr,function:xtr,instanceof:utr,intersection:Itr,lazy:Ttr,literal:Btr,map:Otr,nan:dtr,nativeEnum:Dtr,never:mtr,null:ptr,nullable:Ltr,number:lct,object:Etr,oboolean:Gtr,onumber:Htr,optional:Ptr,ostring:Qtr,pipeline:Ftr,preprocess:Utr,promise:ktr,record:wtr,set:Ntr,strictObject:vtr,string:fct,symbol:htr,transformer:nct,tuple:Ctr,undefined:Atr,union:Rtr,unknown:_tr,void:ytr,NEVER:Vtr,ZodIssueCode:Zn,quotelessJson:Ler,ZodError:ag});J();K();z();J();K();z();function ei(e,t,r){let i=e[t.name];if(typeof i=="function")return i;let n=e[r];return typeof n=="function"?n:o=>t(e,o)}J();K();z();J();K();z();W0();J();K();z();ia();var IW=class extends Kr{constructor(t){super(`Filter type "${t}" is not supported.`,{name:"FilterTypeNotSupportedError"})}};cf();W_();iU();eE();ZR();p3();var aut="/docs/contract/encodeEventTopics";function rE(e){let{abi:t,eventName:r,args:i}=e,n=t[0];if(r){let y=Wp({abi:t,name:r});if(!y)throw new XL(r,{docsPath:aut});n=y}if(n.type!=="event")throw new XL(void 0,{docsPath:aut});let o=Vf(n),d=h3(o),g=[];if(i&&"inputs"in n){let y=n.inputs?.filter(I=>"indexed"in I&&I.indexed),_=Array.isArray(i)?i:Object.values(i).length>0?y?.map(I=>i[I.name])??[]:[];_.length>0&&(g=y?.map((I,N)=>Array.isArray(_[N])?_[N].map((T,M)=>sut({param:I,value:_[N][M]})):typeof _[N]<"u"&&_[N]!==null?sut({param:I,value:_[N]}):null)??[])}return[d,...g]}function sut({param:e,value:t}){if(e.type==="string"||e.type==="bytes")return eu(Wh(t));if(e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/))throw new IW(e.type);return ch([e],[t])}fo();J();K();z();function g3(e,{method:t}){let r={};return e.transport.type==="fallback"&&e.transport.onResponse?.(({method:i,response:n,status:o,transport:d})=>{o==="success"&&t===i&&(r[n]=d.request)}),(i=>r[i]||e.request)}async function DW(e,t){let{address:r,abi:i,args:n,eventName:o,fromBlock:d,strict:g,toBlock:y}=t,_=g3(e,{method:"eth_newFilter"}),I=o?rE({abi:i,args:n,eventName:o}):void 0,N=await e.request({method:"eth_newFilter",params:[{address:r,fromBlock:typeof d=="bigint"?Sn(d):d,toBlock:typeof y=="bigint"?Sn(y):y,topics:I}]});return{abi:i,args:n,eventName:o,id:N,request:_(N),strict:!!g,type:"event"}}J();K();z();E0();Xp();J();K();z();W0();ia();_3();Hw();aB();var Trr=3;function dg(e,{abi:t,address:r,args:i,docsPath:n,functionName:o,sender:d}){let g=e instanceof iE?e:e instanceof Kr?e.walk(D=>"data"in D)||e.walk():{},{code:y,data:_,details:I,message:N,shortMessage:T}=g,M=e instanceof $_?new XW({functionName:o}):[Trr,nS.code].includes(y)&&(_||I||N||T)||y===t2.code&&I==="execution reverted"&&_?new Qw({abi:t,data:typeof _=="object"?_.data:_,functionName:o,message:g instanceof m3?I:T??N}):e;return new HT(M,{abi:t,args:i,contractAddress:r,docsPath:n,functionName:o,sender:d})}J();K();z();E0();ia();J();K();z();J();K();z();J();K();z();tS();W_();function eX(e){let t=eu(`0x${e.substring(4)}`).substring(26);return jb(`0x${t}`)}J();K();z();z_();K_();sf();fo();async function s0t({hash:e,signature:t}){let r=X0(e)?e:Uo(e),{secp256k1:i}=await Promise.resolve().then(()=>(mU(),o0t));return`0x${(()=>{if(typeof t=="object"&&"r"in t&&"s"in t){let{r:_,s:I,v:N,yParity:T}=t,M=Number(T??N),D=a0t(M);return new i.Signature(Ga(_),Ga(I)).addRecoveryBit(D)}let d=X0(t)?t:Uo(t);if(Xs(d)!==65)throw new Error("invalid signature length");let g=o0(`0x${d.slice(130)}`),y=a0t(g);return i.Signature.fromCompact(d.substring(2,130)).addRecoveryBit(y)})().recoverPublicKey(r.substring(2)).toHex(!1)}`}function a0t(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw new Error("Invalid yParityOrV value")}async function sX({hash:e,signature:t}){return eX(await s0t({hash:e,signature:t}))}J();K();z();Xh();cf();fo();J();K();z();ia();UW();cf();fo();function lg(e,t="hex"){let r=c0t(e),i=MT(new Uint8Array(r.length));return r.encode(i),t==="hex"?Qs(i.bytes):i.bytes}function c0t(e){return Array.isArray(e)?onr(e.map(t=>c0t(t))):anr(e)}function onr(e){let t=e.reduce((n,o)=>n+o.length,0),r=u0t(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:o}of e)o(n)}}}function anr(e){let t=typeof e=="string"?Z0(e):e,r=u0t(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function u0t(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new Kr("Length is too large.")}W_();function cX(e){let{chainId:t,nonce:r,to:i}=e,n=e.contractAddress??e.address,o=eu(df(["0x05",lg([t?Sn(t):"0x",n,r?Sn(r):"0x"])]));return i==="bytes"?Z0(o):o}async function I3(e){let{authorization:t,signature:r}=e;return sX({hash:cX(t),signature:r??t})}fo();J();K();z();J();K();z();HW();PT();ia();ug();var uX=class extends Kr{constructor(t,{account:r,docsPath:i,chain:n,data:o,gas:d,gasPrice:g,maxFeePerGas:y,maxPriorityFeePerGas:_,nonce:I,to:N,value:T}){let M=Uw({from:r?.address,to:N,value:typeof T<"u"&&`${kT(T)} ${n?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:d,gasPrice:typeof g<"u"&&`${Jf(g)} gwei`,maxFeePerGas:typeof y<"u"&&`${Jf(y)} gwei`,maxPriorityFeePerGas:typeof _<"u"&&`${Jf(_)} gwei`,nonce:I});super(t.shortMessage,{cause:t,docsPath:i,metaMessages:[...t.metaMessages?[...t.metaMessages," "]:[],"Estimate Gas Arguments:",M].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t}};C3();yU();function d0t(e,{docsPath:t,...r}){let i=(()=>{let n=w3(e,r);return n instanceof n2?e:n})();return new uX(i,{docsPath:t,...r})}EB();dS();dX();cE();J();K();z();E0();J();K();z();J();K();z();PT();ia();var lX=class extends Kr{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}},N3=class extends Kr{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}},hX=class extends Kr{constructor({maxPriorityFeePerGas:t}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${Jf(t)} gwei).`,{name:"MaxFeePerGasTooLowError"})}};J();K();z();sf();J();K();z();J();K();z();ia();var SB=class extends Kr{constructor({blockHash:t,blockNumber:r}){let i="Block";t&&(i=`Block at hash "${t}"`),r&&(i=`Block at number "${r}"`),super(`${i} could not be found.`,{name:"BlockNotFoundError"})}};fo();J();K();z();bU();J();K();z();sf();bU();var I_e={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Kw(e,t){let r={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?o0(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?o0(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?I_e[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(r.authorizationList=dnr(e.authorizationList)),r.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof r.v=="bigint"){if(r.v===0n||r.v===27n)return 0;if(r.v===1n||r.v===28n)return 1;if(r.v>=35n)return r.v%2n===0n?1:0}})(),r.type==="legacy"&&(delete r.accessList,delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.yParity),r.type==="eip2930"&&(delete r.maxFeePerBlobGas,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas),r.type==="eip1559"&&delete r.maxFeePerBlobGas,r}var AX=O3("transaction",Kw);function dnr(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function EU(e,t){let r=(e.transactions??[]).map(i=>typeof i=="string"?i:Kw(i));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:r,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}var pX=O3("block",EU);async function tA(e,{blockHash:t,blockNumber:r,blockTag:i=e.experimental_blockTag??"latest",includeTransactions:n}={}){let o=n??!1,d=r!==void 0?Sn(r):void 0,g=null;if(t?g=await e.request({method:"eth_getBlockByHash",params:[t,o]},{dedupe:!0}):g=await e.request({method:"eth_getBlockByNumber",params:[d||i,o]},{dedupe:!!d}),!g)throw new SB({blockHash:t,blockNumber:r});return(e.chain?.formatters?.block?.format||EU)(g,"getBlock")}J();K();z();async function IB(e){let t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function A0t(e,t){return C_e(e,t)}async function C_e(e,t){let{block:r,chain:i=e.chain,request:n}=t||{};try{let o=i?.fees?.maxPriorityFeePerGas??i?.fees?.defaultPriorityFee;if(typeof o=="function"){let g=r||await ei(e,tA,"getBlock")({}),y=await o({block:g,client:e,request:n});if(y===null)throw new Error;return y}if(typeof o<"u")return o;let d=await e.request({method:"eth_maxPriorityFeePerGas"});return Ga(d)}catch{let[o,d]=await Promise.all([r?Promise.resolve(r):ei(e,tA,"getBlock")({}),ei(e,IB,"getGasPrice")({})]);if(typeof o.baseFeePerGas!="bigint")throw new N3;let g=d-o.baseFeePerGas;return g<0n?0n:g}}async function p0t(e,t){return gX(e,t)}async function gX(e,t){let{block:r,chain:i=e.chain,request:n,type:o="eip1559"}=t||{},d=await(async()=>typeof i?.fees?.baseFeeMultiplier=="function"?i.fees.baseFeeMultiplier({block:r,client:e,request:n}):i?.fees?.baseFeeMultiplier??1.2)();if(d<1)throw new lX;let y=10**(d.toString().split(".")[1]?.length??0),_=T=>T*BigInt(Math.ceil(d*y))/BigInt(y),I=r||await ei(e,tA,"getBlock")({});if(typeof i?.fees?.estimateFeesPerGas=="function"){let T=await i.fees.estimateFeesPerGas({block:r,client:e,multiply:_,request:n,type:o});if(T!==null)return T}if(o==="eip1559"){if(typeof I.baseFeePerGas!="bigint")throw new N3;let T=typeof n?.maxPriorityFeePerGas=="bigint"?n.maxPriorityFeePerGas:await C_e(e,{block:I,chain:i,request:n}),M=_(I.baseFeePerGas);return{maxFeePerGas:n?.maxFeePerGas??M+T,maxPriorityFeePerGas:T}}return{gasPrice:n?.gasPrice??_(await ei(e,IB,"getGasPrice")({}))}}J();K();z();sf();fo();async function CB(e,{address:t,blockTag:r="latest",blockNumber:i}){let n=await e.request({method:"eth_getTransactionCount",params:[t,typeof i=="bigint"?Sn(i):r]},{dedupe:!!i});return o0(n)}J();K();z();cf();fo();function wB(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),i=typeof e.blobs[0]=="string"?e.blobs.map(o=>Z0(o)):e.blobs,n=[];for(let o of i)n.push(Uint8Array.from(t.blobToKzgCommitment(o)));return r==="bytes"?n:n.map(o=>Qs(o))}J();K();z();cf();fo();function OB(e){let{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),i=typeof e.blobs[0]=="string"?e.blobs.map(d=>Z0(d)):e.blobs,n=typeof e.commitments[0]=="string"?e.commitments.map(d=>Z0(d)):e.commitments,o=[];for(let d=0;d<i.length;d++){let g=i[d],y=n[d];o.push(Uint8Array.from(t.computeBlobKzgProof(g,y)))}return r==="bytes"?o:o.map(d=>Qs(d))}J();K();z();J();K();z();fo();J();K();z();z_();cf();fo();function _X(e,t){let r=t||"hex",i=BP(X0(e,{strict:!1})?Wh(e):e);return r==="bytes"?i:Uo(i)}function g0t(e){let{commitment:t,version:r=1}=e,i=e.to??(typeof t=="string"?"hex":"bytes"),n=_X(t,"bytes");return n.set([r],0),i==="bytes"?n:Qs(n)}function mX(e){let{commitments:t,version:r}=e,i=e.to??(typeof t[0]=="string"?"hex":"bytes"),n=[];for(let o of t)n.push(g0t({commitment:o,to:i,version:r}));return n}J();K();z();J();K();z();J();K();z();ia();var yX=class extends Kr{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}},NB=class extends Kr{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}},bX=class extends Kr{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}},EX=class extends Kr{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${1}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}};UW();K_();cf();fo();function _0t(e){let t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?Z0(e.data):e.data,i=Xs(r);if(!i)throw new NB;if(i>761855)throw new yX({maxSize:761855,size:i});let n=[],o=!0,d=0;for(;o;){let g=MT(new Uint8Array(131072)),y=0;for(;y<4096;){let _=r.slice(d,d+31);if(g.pushByte(0),g.pushBytes(_),_.length<31){g.pushByte(128),o=!1;break}y++,d+=31}n.push(g)}return t==="bytes"?n.map(g=>g.bytes):n.map(g=>Qs(g.bytes))}function vX(e){let{data:t,kzg:r,to:i}=e,n=e.blobs??_0t({data:t,to:i}),o=e.commitments??wB({blobs:n,kzg:r,to:i}),d=e.proofs??OB({blobs:n,commitments:o,kzg:r,to:i}),g=[];for(let y=0;y<n.length;y++)g.push({blob:n[y],commitment:o[y],proof:d[y]});return g}cE();J();K();z();ug();function RX(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new zW({transaction:e})}J();K();z();sf();async function bl(e){let t=await e.request({method:"eth_chainId"},{dedupe:!0});return o0(t)}var vU=["blobVersionedHashes","chainId","fees","gas","nonce","type"],m0t=new Map;async function i2(e,t){let{account:r=e.account,blobs:i,chain:n,gas:o,kzg:d,nonce:g,nonceManager:y,parameters:_=vU,type:I}=t,N=r&&na(r),T={...t,...N?{from:N?.address}:{}},M;async function D(){return M||(M=await ei(e,tA,"getBlock")({blockTag:"latest"}),M)}let P;async function G(){return P||(n?n.id:typeof t.chainId<"u"?t.chainId:(P=await ei(e,bl,"getChainId")({}),P))}if(_.includes("nonce")&&typeof g>"u"&&N)if(y){let q=await G();T.nonce=await y.consume({address:N.address,chainId:q,client:e})}else T.nonce=await ei(e,CB,"getTransactionCount")({address:N.address,blockTag:"pending"});if((_.includes("blobVersionedHashes")||_.includes("sidecars"))&&i&&d){let q=wB({blobs:i,kzg:d});if(_.includes("blobVersionedHashes")){let Y=mX({commitments:q,to:"hex"});T.blobVersionedHashes=Y}if(_.includes("sidecars")){let Y=OB({blobs:i,commitments:q,kzg:d}),ne=vX({blobs:i,commitments:q,proofs:Y,to:"hex"});T.sidecars=ne}}if(_.includes("chainId")&&(T.chainId=await G()),(_.includes("fees")||_.includes("type"))&&typeof I>"u")try{T.type=RX(T)}catch{let q=m0t.get(e.uid);typeof q>"u"&&(q=typeof(await D())?.baseFeePerGas=="bigint",m0t.set(e.uid,q)),T.type=q?"eip1559":"legacy"}if(_.includes("fees"))if(T.type!=="legacy"&&T.type!=="eip2930"){if(typeof T.maxFeePerGas>"u"||typeof T.maxPriorityFeePerGas>"u"){let q=await D(),{maxFeePerGas:Y,maxPriorityFeePerGas:ne}=await gX(e,{block:q,chain:n,request:T});if(typeof t.maxPriorityFeePerGas>"u"&&t.maxFeePerGas&&t.maxFeePerGas<ne)throw new hX({maxPriorityFeePerGas:ne});T.maxPriorityFeePerGas=ne,T.maxFeePerGas=Y}}else{if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")throw new N3;if(typeof t.gasPrice>"u"){let q=await D(),{gasPrice:Y}=await gX(e,{block:q,chain:n,request:T,type:"legacy"});T.gasPrice=Y}}return _.includes("gas")&&typeof o>"u"&&(T.gas=await ei(e,xB,"estimateGas")({...T,account:N,prepare:N?.type==="local"?[]:["blobVersionedHashes"]})),yl(T),delete T.parameters,T}async function xB(e,t){let{account:r=e.account,prepare:i=!0}=t,n=r?na(r):void 0,o=(()=>{if(Array.isArray(i))return i;if(n?.type!=="local")return["blobVersionedHashes"]})();try{let{accessList:d,authorizationList:g,blobs:y,blobVersionedHashes:_,blockNumber:I,blockTag:N,data:T,gas:M,gasPrice:D,maxFeePerBlobGas:P,maxFeePerGas:G,maxPriorityFeePerGas:q,nonce:Y,value:ne,stateOverride:ce,...le}=i?await i2(e,{...t,parameters:o}):t,ae=(typeof I=="bigint"?Sn(I):void 0)||N,W=vB(ce),se=await(async()=>{if(le.to)return le.to;if(g&&g.length>0)return await I3({authorization:g[0]}).catch(()=>{throw new Kr("`to` is required. Could not infer from `authorizationList`")})})();yl(t);let O=e.chain?.formatters?.transactionRequest?.format,l=(O||JA)({...sE(le,{format:O}),account:n,accessList:d,authorizationList:g,blobs:y,blobVersionedHashes:_,data:T,gas:M,gasPrice:D,maxFeePerBlobGas:P,maxFeePerGas:G,maxPriorityFeePerGas:q,nonce:Y,to:se,value:ne},"estimateGas");return BigInt(await e.request({method:"eth_estimateGas",params:W?[l,ae??e.experimental_blockTag??"latest",W]:ae?[l,ae]:[l]}))}catch(d){throw d0t(d,{...t,account:n,chain:e.chain})}}async function y0t(e,t){let{abi:r,address:i,args:n,functionName:o,dataSuffix:d,...g}=t,y=hu({abi:r,args:n,functionName:o});try{return await ei(e,xB,"estimateGas")({data:`${y}${d?d.replace("0x",""):""}`,to:i,...g})}catch(_){let I=g.account?na(g.account):void 0;throw dg(_,{abi:r,address:i,args:n,docsPath:"/docs/contract/estimateContractGas",functionName:o,sender:I?.address})}}J();K();z();p3();J();K();z();J();K();z();W0();$w();cf();W_();iU();J();K();z();W0();zge();K_();iU();sU();ZR();var b0t="/docs/contract/decodeEventLog";function TB(e){let{abi:t,data:r,strict:i,topics:n}=e,o=i??!0,[d,...g]=n;if(!d)throw new yW({docsPath:b0t});let y=t.find(P=>P.type==="event"&&d===h3(Vf(P)));if(!(y&&"name"in y)||y.type!=="event")throw new CT(d,{docsPath:b0t});let{name:_,inputs:I}=y,N=I?.some(P=>!("name"in P&&P.name)),T=N?[]:{},M=I.map((P,G)=>[P,G]).filter(([P])=>"indexed"in P&&P.indexed);for(let P=0;P<M.length;P++){let[G,q]=M[P],Y=g[P];if(!Y)throw new Xb({abiItem:y,param:G});T[N?q:G.name||q]=hnr({param:G,value:Y})}let D=I.filter(P=>!("indexed"in P&&P.indexed));if(D.length>0){if(r&&r!=="0x")try{let P=rS(D,r);if(P)if(N)for(let G=0;G<I.length;G++)T[G]=T[G]??P.shift();else for(let G=0;G<D.length;G++)T[D[G].name]=P[G]}catch(P){if(o)throw P instanceof ST||P instanceof BT?new fy({abiItem:y,data:r,params:D,size:Xs(r)}):P}else if(o)throw new fy({abiItem:y,data:"0x",params:D,size:0})}return{eventName:_,args:Object.values(T).length>0?T:void 0}}function hnr({param:e,value:t}){return e.type==="string"||e.type==="bytes"||e.type==="tuple"||e.type.match(/^(.*)\[(\d+)?\]$/)?t:(rS([e],t)||[])[0]}function BB(e){let{abi:t,args:r,logs:i,strict:n=!0}=e,o=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return i.map(d=>{try{let g=t.find(_=>_.type==="event"&&d.topics[0]===h3(_));if(!g)return null;let y=TB({...d,abi:[g],strict:n});return o&&!o.includes(y.eventName)||!Anr({args:y.args,inputs:g.inputs,matchArgs:r})?null:{...y,...d}}catch(g){let y,_;if(g instanceof CT)return null;if(g instanceof fy||g instanceof Xb){if(n)return null;y=g.abiItem.name,_=g.abiItem.inputs?.some(I=>!("name"in I&&I.name))}return{...d,args:_?[]:{},eventName:y}}}).filter(Boolean)}function Anr(e){let{args:t,inputs:r,matchArgs:i}=e;if(!i)return!0;if(!t)return!1;function n(o,d,g){try{return o.type==="address"?o2(d,g):o.type==="string"||o.type==="bytes"?eu(Wh(d))===g:d===g}catch{return!1}}return Array.isArray(t)&&Array.isArray(i)?i.every((o,d)=>{if(o==null)return!0;let g=r[d];return g?(Array.isArray(o)?o:[o]).some(_=>n(g,_,t[d])):!1}):typeof t=="object"&&!Array.isArray(t)&&typeof i=="object"&&!Array.isArray(i)?Object.entries(i).every(([o,d])=>{if(d==null)return!0;let g=r.find(_=>_.name===o);return g?(Array.isArray(d)?d:[d]).some(_=>n(g,_,t[o])):!1}):!1}fo();J();K();z();function El(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}async function MB(e,{address:t,blockHash:r,fromBlock:i,toBlock:n,event:o,events:d,args:g,strict:y}={}){let _=y??!1,I=d??(o?[o]:void 0),N=[];I&&(N=[I.flatMap(P=>rE({abi:[P],eventName:P.name,args:d?void 0:g}))],o&&(N=N[0]));let T;r?T=await e.request({method:"eth_getLogs",params:[{address:t,topics:N,blockHash:r}]}):T=await e.request({method:"eth_getLogs",params:[{address:t,topics:N,fromBlock:typeof i=="bigint"?Sn(i):i,toBlock:typeof n=="bigint"?Sn(n):n}]});let M=T.map(D=>El(D));return I?BB({abi:I,args:g,logs:M,strict:_}):M}async function SX(e,t){let{abi:r,address:i,args:n,blockHash:o,eventName:d,fromBlock:g,toBlock:y,strict:_}=t,I=d?Wp({abi:r,name:d}):void 0,N=I?void 0:r.filter(T=>T.type==="event");return ei(e,MB,"getLogs")({address:i,args:n,blockHash:o,event:I,events:N,fromBlock:g,toBlock:y,strict:_})}J();K();z();x3();Xp();zB();async function lf(e,t){let{abi:r,address:i,args:n,functionName:o,...d}=t,g=hu({abi:r,args:n,functionName:o});try{let{data:y}=await ei(e,fE,"call")({...d,data:g,to:i});return jp({abi:r,args:n,functionName:o,data:y||"0x"})}catch(y){throw dg(y,{abi:r,address:i,args:n,docsPath:"/docs/contract/readContract",functionName:o})}}J();K();z();E0();x3();Xp();zB();async function hdt(e,t){let{abi:r,address:i,args:n,dataSuffix:o,functionName:d,...g}=t,y=g.account?na(g.account):e.account,_=hu({abi:r,args:n,functionName:d});try{let{data:I}=await ei(e,fE,"call")({batch:!1,data:`${_}${o?o.replace("0x",""):""}`,to:i,...g,account:y}),N=jp({abi:r,args:n,functionName:d,data:I||"0x"}),T=r.filter(M=>"name"in M&&M.name===t.functionName);return{result:N,request:{abi:T,address:i,args:n,dataSuffix:o,functionName:d,...g,account:y}}}catch(I){throw dg(I,{abi:r,address:i,args:n,docsPath:"/docs/contract/simulateContract",functionName:d,sender:y?.address})}}J();K();z();W0();aB();J();K();z();var n2e=new Map,Adt=new Map,Pnr=0;function rA(e,t,r){let i=++Pnr,n=()=>n2e.get(e)||[],o=()=>{let I=n();n2e.set(e,I.filter(N=>N.id!==i))},d=()=>{let I=n();if(!I.some(T=>T.id===i))return;let N=Adt.get(e);if(I.length===1&&N){let T=N();T instanceof Promise&&T.catch(()=>{})}o()},g=n();if(n2e.set(e,[...g,{id:i,fns:t}]),g&&g.length>0)return d;let y={};for(let I in t)y[I]=((...N)=>{let T=n();if(T.length!==0)for(let M of T)M.fns[I]?.(...N)});let _=r(y);return typeof _=="function"&&Adt.set(e,_),d}J();K();z();J();K();z();async function DU(e){return new Promise(t=>setTimeout(t,e))}function c2(e,{emitOnBegin:t,initialWaitTime:r,interval:i}){let n=!0,o=()=>n=!1;return(async()=>{let g;t&&(g=await e({unpoll:o}));let y=await r?.(g)??i;await DU(y);let _=async()=>{n&&(await e({unpoll:o}),await DU(i),_())};_()})(),o}Zh();J();K();z();J();K();z();var Lnr=new Map,Unr=new Map;function pdt(e){let t=(n,o)=>({clear:()=>o.delete(n),get:()=>o.get(n),set:d=>o.set(n,d)}),r=t(e,Lnr),i=t(e,Unr);return{clear:()=>{r.clear(),i.clear()},promise:r,response:i}}async function gdt(e,{cacheKey:t,cacheTime:r=Number.POSITIVE_INFINITY}){let i=pdt(t),n=i.response.get();if(n&&r>0&&Date.now()-n.created.getTime()<r)return n.data;let o=i.promise.get();o||(o=e(),i.promise.set(o));try{let d=await o;return i.response.set({created:new Date,data:d}),d}finally{i.promise.clear()}}var Fnr=e=>`blockNumber.${e}`;async function lE(e,{cacheTime:t=e.cacheTime}={}){let r=await gdt(()=>e.request({method:"eth_blockNumber"}),{cacheKey:Fnr(e.uid),cacheTime:t});return BigInt(r)}J();K();z();async function D3(e,{filter:t}){let r="strict"in t&&t.strict,i=await t.request({method:"eth_getFilterChanges",params:[t.id]});if(typeof i[0]=="string")return i;let n=i.map(o=>El(o));return!("abi"in t)||!t.abi?n:BB({abi:t.abi,logs:n,strict:r})}J();K();z();async function k3(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function _dt(e,t){let{abi:r,address:i,args:n,batch:o=!0,eventName:d,fromBlock:g,onError:y,onLogs:_,poll:I,pollingInterval:N=e.pollingInterval,strict:T}=t;return(typeof I<"u"?I:typeof g=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")))?(()=>{let G=T??!1,q=ws(["watchContractEvent",i,n,o,e.uid,d,N,G,g]);return rA(q,{onLogs:_,onError:y},Y=>{let ne;g!==void 0&&(ne=g-1n);let ce,le=!1,pe=c2(async()=>{if(!le){try{ce=await ei(e,DW,"createContractEventFilter")({abi:r,address:i,args:n,eventName:d,strict:G,fromBlock:g})}catch{}le=!0;return}try{let ae;if(ce)ae=await ei(e,D3,"getFilterChanges")({filter:ce});else{let W=await ei(e,lE,"getBlockNumber")({});ne&&ne<W?ae=await ei(e,SX,"getContractEvents")({abi:r,address:i,args:n,eventName:d,fromBlock:ne+1n,toBlock:W,strict:G}):ae=[],ne=W}if(ae.length===0)return;if(o)Y.onLogs(ae);else for(let W of ae)Y.onLogs([W])}catch(ae){ce&&ae instanceof t2&&(le=!1),Y.onError?.(ae)}},{emitOnBegin:!0,interval:N});return async()=>{ce&&await ei(e,k3,"uninstallFilter")({filter:ce}),pe()}})})():(()=>{let G=T??!1,q=ws(["watchContractEvent",i,n,o,e.uid,d,N,G]),Y=!0,ne=()=>Y=!1;return rA(q,{onLogs:_,onError:y},ce=>((async()=>{try{let le=(()=>{if(e.transport.type==="fallback"){let W=e.transport.transports.find(se=>se.config.type==="webSocket"||se.config.type==="ipc");return W?W.value:e.transport}return e.transport})(),pe=d?rE({abi:r,eventName:d,args:n}):[],{unsubscribe:ae}=await le.subscribe({params:["logs",{address:i,topics:pe}],onData(W){if(!Y)return;let se=W.result;try{let{eventName:O,args:s}=TB({abi:r,data:se.data,topics:se.topics,strict:T}),l=El(se,{args:s,eventName:O});ce.onLogs([l])}catch(O){let s,l;if(O instanceof fy||O instanceof Xb){if(T)return;s=O.abiItem.name,l=O.abiItem.inputs?.some(m=>!("name"in m&&m.name))}let A=El(se,{args:l?[]:{},eventName:s});ce.onLogs([A])}},onError(W){ce.onError?.(W)}});ne=ae,Y||ne()}catch(le){y?.(le)}})(),()=>ne()))})()}J();K();z();E0();J();K();z();ia();var gd=class extends Kr{constructor({docsPath:t}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client."].join(` +`),{docsPath:t,docsSlug:"account",name:"AccountNotFoundError"})}},u2=class extends Kr{constructor({docsPath:t,metaMessages:r,type:i}){super(`Account type "${i}" is not supported.`,{docsPath:t,metaMessages:r,name:"AccountTypeNotSupportedError"})}};Xp();J();K();z();E0();ia();J();K();z();VB();function hE({chain:e,currentChainId:t}){if(!e)throw new HX;if(t!==e.id)throw new QX({chain:e,currentChainId:t})}J();K();z();C3();ug();yU();function P3(e,{docsPath:t,...r}){let i=(()=>{let n=w3(e,r);return n instanceof n2?e:n})();return new $W(i,{docsPath:t,...r})}EB();dS();xT();cE();J();K();z();async function L3(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}var i2e=new Z_(128);async function AE(e,t){let{account:r=e.account,chain:i=e.chain,accessList:n,authorizationList:o,blobs:d,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,type:D,value:P,...G}=t;if(typeof r>"u")throw new gd({docsPath:"/docs/actions/wallet/sendTransaction"});let q=r?na(r):null;try{yl(t);let Y=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await I3({authorization:o[0]}).catch(()=>{throw new Kr("`to` is required. Could not infer from `authorizationList`.")})})();if(q?.type==="json-rpc"||q===null){let ne;i!==null&&(ne=await ei(e,bl,"getChainId")({}),hE({currentChainId:ne,chain:i}));let ce=e.chain?.formatters?.transactionRequest?.format,pe=(ce||JA)({...sE(G,{format:ce}),accessList:n,account:q,authorizationList:o,blobs:d,chainId:ne,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,to:Y,type:D,value:P},"sendTransaction"),ae=i2e.get(e.uid),W=ae?"wallet_sendTransaction":"eth_sendTransaction";try{return await e.request({method:W,params:[pe]},{retryCount:0})}catch(se){if(ae===!1)throw se;let O=se;if(O.name==="InvalidInputRpcError"||O.name==="InvalidParamsRpcError"||O.name==="MethodNotFoundRpcError"||O.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[pe]},{retryCount:0}).then(s=>(i2e.set(e.uid,!0),s)).catch(s=>{let l=s;throw l.name==="MethodNotFoundRpcError"||l.name==="MethodNotSupportedRpcError"?(i2e.set(e.uid,!1),O):l});throw O}}if(q?.type==="local"){let ne=await ei(e,i2,"prepareTransactionRequest")({account:q,accessList:n,authorizationList:o,blobs:d,chain:i,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,nonceManager:q.nonceManager,parameters:[...vU,"sidecars"],type:D,value:P,...G,to:Y}),ce=i?.serializers?.transaction,le=await q.signTransaction(ne,{serializer:ce});return await ei(e,L3,"sendRawTransaction")({serializedTransaction:le})}throw q?.type==="smart"?new u2({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new u2({docsPath:"/docs/actions/wallet/sendTransaction",type:q?.type})}catch(Y){throw Y instanceof u2?Y:P3(Y,{...t,account:q,chain:t.chain||void 0})}}async function _S(e,t){return _S.internal(e,AE,"sendTransaction",t)}(function(e){async function t(r,i,n,o){let{abi:d,account:g=r.account,address:y,args:_,dataSuffix:I,functionName:N,...T}=o;if(typeof g>"u")throw new gd({docsPath:"/docs/contract/writeContract"});let M=g?na(g):null,D=hu({abi:d,args:_,functionName:N});try{return await ei(r,i,n)({data:`${D}${I?I.replace("0x",""):""}`,to:y,account:M,...T})}catch(P){throw dg(P,{abi:d,address:y,args:_,docsPath:"/docs/contract/writeContract",functionName:N,sender:M?.address})}}e.internal=t})(_S||(_S={}));J();K();z();ia();J();K();z();ia();var YX=class extends Kr{constructor(t){super(`Call bundle failed with status: ${t.statusCode}`,{name:"BundleFailedError"}),Object.defineProperty(this,"result",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=t}};VX();J();K();z();function i5(e,{delay:t=100,retryCount:r=2,shouldRetry:i=()=>!0}={}){return new Promise((n,o)=>{let d=async({count:g=0}={})=>{let y=async({error:_})=>{let I=typeof t=="function"?t({count:g,error:_}):t;I&&await DU(I),d({count:g+1})};try{let _=await e();n(_)}catch(_){if(g<r&&await i({count:g,error:_}))return y({error:_});o(_)}};d()})}Zh();J();K();z();A3();Lw();sf();J();K();z();sf();bU();var o2e={"0x0":"reverted","0x1":"success"};function kU(e,t){let r={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(i=>El(i)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?o0(e.transactionIndex):null,status:e.status?o2e[e.status]:null,type:e.type?I_e[e.type]||e.type:null};return e.blobGasPrice&&(r.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(r.blobGasUsed=BigInt(e.blobGasUsed)),r}var WX=O3("transactionReceipt",kU);J();K();z();E0();ia();aB();Xp();Xh();sf();fo();var a2e="0x5792579257925792579257925792579257925792579257925792579257925792",s2e=Sn(0,{size:32});async function XX(e,t){let{account:r=e.account,capabilities:i,chain:n=e.chain,experimental_fallback:o,experimental_fallbackDelay:d=32,forceAtomic:g=!1,id:y,version:_="2.0.0"}=t,I=r?na(r):null,N=t.calls.map(T=>{let M=T,D=M.abi?hu({abi:M.abi,functionName:M.functionName,args:M.args}):M.data;return{data:M.dataSuffix&&D?uf([D,M.dataSuffix]):D,to:M.to,value:M.value?Sn(M.value):void 0}});try{let T=await e.request({method:"wallet_sendCalls",params:[{atomicRequired:g,calls:N,capabilities:i,chainId:Sn(n.id),from:I?.address,id:y,version:_}]},{retryCount:0});return typeof T=="string"?{id:T}:T}catch(T){let M=T;if(o&&(M.name==="MethodNotFoundRpcError"||M.name==="MethodNotSupportedRpcError"||M.name==="UnknownRpcError"||M.details.toLowerCase().includes("does not exist / is not available")||M.details.toLowerCase().includes("missing or invalid. request()")||M.details.toLowerCase().includes("did not match any variant of untagged enum")||M.details.toLowerCase().includes("account upgraded to unsupported contract")||M.details.toLowerCase().includes("eip-7702 not supported")||M.details.toLowerCase().includes("unsupported wc_ method")||M.details.toLowerCase().includes("feature toggled misconfigured")||M.details.toLowerCase().includes("jsonrpcengine: response has no error or result for request"))){if(i&&Object.values(i).some(Y=>!Y.optional)){let Y="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new b3(new Kr(Y,{details:Y}))}if(g&&N.length>1){let q="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new E3(new Kr(q,{details:q}))}let D=[];for(let q of N){let Y=AE(e,{account:I,chain:n,data:q.data,to:q.to,value:q.value?Ga(q.value):void 0});D.push(Y),d>0&&await new Promise(ne=>setTimeout(ne,d))}let P=await Promise.allSettled(D);if(P.every(q=>q.status==="rejected"))throw P[0].reason;let G=P.map(q=>q.status==="fulfilled"?q.value:s2e);return{id:uf([...G,Sn(n.id,{size:32}),a2e])}}throw P3(T,{...t,account:I,chain:t.chain})}}async function ZX(e,t){async function r(I){if(I.endsWith(a2e.slice(2))){let T=ml(TW(I,-64,-32)),M=TW(I,0,-64).slice(2).match(/.{1,64}/g),D=await Promise.all(M.map(G=>s2e.slice(2)!==G?e.request({method:"eth_getTransactionReceipt",params:[`0x${G}`]},{dedupe:!0}):void 0)),P=D.some(G=>G===null)?100:D.every(G=>G?.status==="0x1")?200:D.every(G=>G?.status==="0x0")?500:600;return{atomic:!1,chainId:o0(T),receipts:D.filter(Boolean),status:P,version:"2.0.0"}}return e.request({method:"wallet_getCallsStatus",params:[I]})}let{atomic:i=!1,chainId:n,receipts:o,version:d="2.0.0",...g}=await r(t.id),[y,_]=(()=>{let I=g.status;return I>=100&&I<200?["pending",I]:I>=200&&I<300?["success",I]:I>=300&&I<700?["failure",I]:I==="CONFIRMED"?["success",200]:I==="PENDING"?["pending",100]:[void 0,I]})();return{...g,atomic:i,chainId:n?o0(n):void 0,receipts:o?.map(I=>({...I,blockNumber:Ga(I.blockNumber),gasUsed:Ga(I.gasUsed),status:o2e[I.status]}))??[],statusCode:_,status:y,version:d}}async function jX(e,t){let{id:r,pollingInterval:i=e.pollingInterval,status:n=({statusCode:P})=>P===200||P>=300,retryCount:o=4,retryDelay:d=({count:P})=>~~(1<<P)*200,timeout:g=6e4,throwOnFailure:y=!1}=t,_=ws(["waitForCallsStatus",e.uid,r]),{promise:I,resolve:N,reject:T}=JB(),M,D=rA(_,{resolve:N,reject:T},P=>{let G=c2(async()=>{let q=Y=>{clearTimeout(M),G(),Y(),D()};try{let Y=await i5(async()=>{let ne=await ei(e,ZX,"getCallsStatus")({id:r});if(y&&ne.status==="failure")throw new YX(ne);return ne},{retryCount:o,delay:d});if(!n(Y))return;q(()=>P.resolve(Y))}catch(Y){q(()=>P.reject(Y))}},{interval:i,emitOnBegin:!0});return G});return M=g?setTimeout(()=>{D(),clearTimeout(M),T(new c2e({id:r}))},g):void 0,await I}var c2e=class extends Kr{constructor({id:t}){super(`Timed out while waiting for call bundle with id "${t}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}};J();K();z();E0();J();K();z();var eZ=256,tZ;function rZ(e=11){if(!tZ||eZ+e>256*2){tZ="",eZ=0;for(let t=0;t<256;t++)tZ+=(256+Math.random()*256|0).toString(16).substring(1)}return tZ.substring(eZ,eZ+++e)}function nZ(e){let{batch:t,chain:r,ccipRead:i,key:n="base",name:o="Base Client",type:d="base"}=e,g=e.experimental_blockTag??(typeof r?.experimental_preconfirmationTime=="number"?"pending":void 0),y=r?.blockTime??12e3,_=Math.min(Math.max(Math.floor(y/2),500),4e3),I=e.pollingInterval??_,N=e.cacheTime??I,T=e.account?na(e.account):void 0,{config:M,request:D,value:P}=e.transport({account:T,chain:r,pollingInterval:I}),G={...M,...P},q={account:T,batch:t,cacheTime:N,ccipRead:i,chain:r,key:n,name:o,pollingInterval:I,request:D,transport:G,type:d,uid:rZ(),...g?{experimental_blockTag:g}:{}};function Y(ne){return ce=>{let le=ce(ne);for(let ae in q)delete le[ae];let pe={...ne,...le};return Object.assign(pe,{extend:Y(pe)})}}return Object.assign(q,{extend:Y(q)})}J();K();z();J();K();z();J();K();z();M3();x3();Xp();n5();Lw();fo();J();K();z();ia();_3();function KB(e){if(!(e instanceof Kr))return!1;let t=e.walk(r=>r instanceof Qw);return t instanceof Qw?t.data?.errorName==="HttpError"||t.data?.errorName==="ResolverError"||t.data?.errorName==="ResolverNotContract"||t.data?.errorName==="ResolverNotFound"||t.data?.errorName==="ReverseAddressMismatch"||t.data?.errorName==="UnsupportedResolverProfile":!1}MU();J();K();z();Xh();cf();fo();W_();J();K();z();z_();function iZ(e){if(e.length!==66||e.indexOf("[")!==0||e.indexOf("]")!==65)return null;let t=`0x${e.slice(1,65)}`;return X0(t)?t:null}function PU(e){let t=new Uint8Array(32).fill(0);if(!e)return Qs(t);let r=e.split(".");for(let i=r.length-1;i>=0;i-=1){let n=iZ(r[i]),o=n?Wh(n):eu(ly(r[i]),"bytes");t=eu(uf([t,o]),"bytes")}return Qs(t)}J();K();z();cf();J();K();z();function mdt(e){return`[${e.slice(2)}]`}J();K();z();cf();fo();W_();function ydt(e){let t=new Uint8Array(32).fill(0);return e?iZ(e)||eu(ly(e)):Qs(t)}function $B(e){let t=e.replace(/^\.|\.$/gm,"");if(t.length===0)return new Uint8Array(1);let r=new Uint8Array(ly(t).byteLength+2),i=0,n=t.split(".");for(let o=0;o<n.length;o++){let d=ly(n[o]);d.byteLength>255&&(d=ly(mdt(ydt(n[o])))),r[i]=d.length,r.set(d,i+1),i+=d.length+1}return r.byteLength!==i+1?r.slice(0,i+1):r}async function bdt(e,t){let{blockNumber:r,blockTag:i,coinType:n,name:o,gatewayUrls:d,strict:g}=t,{chain:y}=e,_=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!y)throw new Error("client chain not configured. universalResolverAddress is required.");return s2({blockNumber:r,chain:y,contract:"ensUniversalResolver"})})(),I=y?.ensTlds;if(I&&!I.some(T=>o.endsWith(T)))return null;let N=n!=null?[PU(o),BigInt(n)]:[PU(o)];try{let T=hu({abi:z_e,functionName:"addr",args:N}),M={address:_,abi:UX,functionName:"resolveWithGateways",args:[Uo($B(o)),T,d??[gS]],blockNumber:r,blockTag:i},P=await ei(e,lf,"readContract")(M);if(P[0]==="0x")return null;let G=jp({abi:z_e,args:N,functionName:"addr",data:P[0]});return G==="0x"||ml(G)==="0x00"?null:G}catch(T){if(g)throw T;if(KB(T))return null;throw T}}J();K();z();J();K();z();J();K();z();J();K();z();ia();var oZ=class extends Kr{constructor({data:t}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(t)}`],name:"EnsAvatarInvalidMetadataError"})}},U3=class extends Kr{constructor({reason:t}){super(`ENS NFT avatar URI is invalid. ${t}`,{name:"EnsAvatarInvalidNftUriError"})}},YB=class extends Kr{constructor({uri:t}){super(`Unable to resolve ENS avatar URI "${t}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}},aZ=class extends Kr{constructor({namespace:t}){super(`ENS NFT avatar namespace "${t}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}};var Qnr=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Hnr=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Gnr=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,qnr=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function Vnr(e){try{let t=await fetch(e,{method:"HEAD"});return t.status===200?t.headers.get("content-type")?.startsWith("image/"):!1}catch(t){return typeof t=="object"&&typeof t.response<"u"||!Object.hasOwn(globalThis,"Image")?!1:new Promise(r=>{let i=new Image;i.onload=()=>{r(!0)},i.onerror=()=>{r(!1)},i.src=e})}}function Edt(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function u2e({uri:e,gatewayUrls:t}){let r=Gnr.test(e);if(r)return{uri:e,isOnChain:!0,isEncoded:r};let i=Edt(t?.ipfs,"https://ipfs.io"),n=Edt(t?.arweave,"https://arweave.net"),o=e.match(Qnr),{protocol:d,subpath:g,target:y,subtarget:_=""}=o?.groups||{},I=d==="ipns:/"||g==="ipns/",N=d==="ipfs:/"||g==="ipfs/"||Hnr.test(e);if(e.startsWith("http")&&!I&&!N){let M=e;return t?.arweave&&(M=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:M,isOnChain:!1,isEncoded:!1}}if((I||N)&&y)return{uri:`${i}/${I?"ipns":"ipfs"}/${y}${_}`,isOnChain:!1,isEncoded:!1};if(d==="ar:/"&&y)return{uri:`${n}/${y}${_||""}`,isOnChain:!1,isEncoded:!1};let T=e.replace(qnr,"");if(T.startsWith("<svg")&&(T=`data:image/svg+xml;base64,${btoa(T)}`),T.startsWith("data:")||T.startsWith("{"))return{uri:T,isOnChain:!0,isEncoded:!1};throw new YB({uri:e})}function d2e(e){if(typeof e!="object"||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new oZ({data:e});return e.image||e.image_url||e.image_data}async function vdt({gatewayUrls:e,uri:t}){try{let r=await fetch(t).then(n=>n.json());return await sZ({gatewayUrls:e,uri:d2e(r)})}catch{throw new YB({uri:t})}}async function sZ({gatewayUrls:e,uri:t}){let{uri:r,isOnChain:i}=u2e({uri:t,gatewayUrls:e});if(i||await Vnr(r))return r;throw new YB({uri:t})}function Rdt(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));let[r,i,n]=t.split("/"),[o,d]=r.split(":"),[g,y]=i.split(":");if(!o||o.toLowerCase()!=="eip155")throw new U3({reason:"Only EIP-155 supported"});if(!d)throw new U3({reason:"Chain ID not found"});if(!y)throw new U3({reason:"Contract address not found"});if(!n)throw new U3({reason:"Token ID not found"});if(!g)throw new U3({reason:"ERC namespace not found"});return{chainID:Number.parseInt(d,10),namespace:g.toLowerCase(),contractAddress:y,tokenID:n}}async function Sdt(e,{nft:t}){if(t.namespace==="erc721")return lf(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if(t.namespace==="erc1155")return lf(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new aZ({namespace:t.namespace})}async function Idt(e,{gatewayUrls:t,record:r}){return/eip155:/i.test(r)?Jnr(e,{gatewayUrls:t,record:r}):sZ({uri:r,gatewayUrls:t})}async function Jnr(e,{gatewayUrls:t,record:r}){let i=Rdt(r),n=await Sdt(e,{nft:i}),{uri:o,isOnChain:d,isEncoded:g}=u2e({uri:n,gatewayUrls:t});if(d&&(o.includes("data:application/json;base64,")||o.startsWith("{"))){let _=g?atob(o.replace("data:application/json;base64,","")):o,I=JSON.parse(_);return sZ({uri:d2e(I),gatewayUrls:t})}let y=i.tokenID;return i.namespace==="erc1155"&&(y=y.replace("0x","").padStart(64,"0")),vdt({gatewayUrls:t,uri:o.replace(/(?:0x)?{id}/,y)})}J();K();z();M3();x3();Xp();n5();fo();MU();async function cZ(e,t){let{blockNumber:r,blockTag:i,key:n,name:o,gatewayUrls:d,strict:g}=t,{chain:y}=e,_=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!y)throw new Error("client chain not configured. universalResolverAddress is required.");return s2({blockNumber:r,chain:y,contract:"ensUniversalResolver"})})(),I=y?.ensTlds;if(I&&!I.some(N=>o.endsWith(N)))return null;try{let N={address:_,abi:UX,args:[Uo($B(o)),hu({abi:J_e,functionName:"text",args:[PU(o),n]}),d??[gS]],functionName:"resolveWithGateways",blockNumber:r,blockTag:i},M=await ei(e,lf,"readContract")(N);if(M[0]==="0x")return null;let D=jp({abi:J_e,functionName:"text",data:M[0]});return D===""?null:D}catch(N){if(g)throw N;if(KB(N))return null;throw N}}async function Cdt(e,{blockNumber:t,blockTag:r,assetGatewayUrls:i,name:n,gatewayUrls:o,strict:d,universalResolverAddress:g}){let y=await ei(e,cZ,"getEnsText")({blockNumber:t,blockTag:r,key:"avatar",name:n,universalResolverAddress:g,gatewayUrls:o,strict:d});if(!y)return null;try{return await Idt(e,{record:y,gatewayUrls:i})}catch{return null}}J();K();z();M3();n5();MU();async function wdt(e,t){let{address:r,blockNumber:i,blockTag:n,coinType:o=60n,gatewayUrls:d,strict:g}=t,{chain:y}=e,_=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!y)throw new Error("client chain not configured. universalResolverAddress is required.");return s2({blockNumber:i,chain:y,contract:"ensUniversalResolver"})})();try{let I={address:_,abi:X0t,args:[r,o,d??[gS]],functionName:"reverseWithGateways",blockNumber:i,blockTag:n},N=ei(e,lf,"readContract"),[T]=await N(I);return T||null}catch(I){if(g)throw I;if(KB(I))return null;throw I}}J();K();z();n5();fo();async function Odt(e,t){let{blockNumber:r,blockTag:i,name:n}=t,{chain:o}=e,d=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!o)throw new Error("client chain not configured. universalResolverAddress is required.");return s2({blockNumber:r,chain:o,contract:"ensUniversalResolver"})})(),g=o?.ensTlds;if(g&&!g.some(_=>n.endsWith(_)))throw new Error(`${n} is not a valid ENS TLD (${g?.join(", ")}) for chain "${o.name}" (id: ${o.id}).`);let[y]=await ei(e,lf,"readContract")({address:d,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Uo($B(n))],blockNumber:r,blockTag:i});return y}zB();J();K();z();E0();fo();W_e();EB();dS();cE();async function uZ(e,t){let{account:r=e.account,blockNumber:i,blockTag:n="latest",blobs:o,data:d,gas:g,gasPrice:y,maxFeePerBlobGas:_,maxFeePerGas:I,maxPriorityFeePerGas:N,to:T,value:M,...D}=t,P=r?na(r):void 0;try{yl(t);let q=(typeof i=="bigint"?Sn(i):void 0)||n,Y=e.chain?.formatters?.transactionRequest?.format,ce=(Y||JA)({...sE(D,{format:Y}),account:P,blobs:o,data:d,gas:g,gasPrice:y,maxFeePerBlobGas:_,maxFeePerGas:I,maxPriorityFeePerGas:N,to:T,value:M},"createAccessList"),le=await e.request({method:"eth_createAccessList",params:[ce,q]});return{accessList:le.accessList,gasUsed:BigInt(le.gasUsed)}}catch(G){throw qX(G,{...t,account:P,chain:e.chain})}}J();K();z();async function Ndt(e){let t=g3(e,{method:"eth_newBlockFilter"}),r=await e.request({method:"eth_newBlockFilter"});return{id:r,request:t(r),type:"block"}}J();K();z();fo();async function dZ(e,{address:t,args:r,event:i,events:n,fromBlock:o,strict:d,toBlock:g}={}){let y=n??(i?[i]:void 0),_=g3(e,{method:"eth_newFilter"}),I=[];y&&(I=[y.flatMap(M=>rE({abi:[M],eventName:M.name,args:r}))],i&&(I=I[0]));let N=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:typeof o=="bigint"?Sn(o):o,toBlock:typeof g=="bigint"?Sn(g):g,...I.length?{topics:I}:{}}]});return{abi:y,args:r,eventName:i?i.name:void 0,fromBlock:o,id:N,request:_(N),strict:!!d,toBlock:g,type:"event"}}J();K();z();async function fZ(e){let t=g3(e,{method:"eth_newPendingTransactionFilter"}),r=await e.request({method:"eth_newPendingTransactionFilter"});return{id:r,request:t(r),type:"transaction"}}J();K();z();fo();async function xdt(e,{address:t,blockNumber:r,blockTag:i=e.experimental_blockTag??"latest"}){let n=typeof r=="bigint"?Sn(r):void 0,o=await e.request({method:"eth_getBalance",params:[t,n||i]});return BigInt(o)}J();K();z();async function Tdt(e){let t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}J();K();z();sf();fo();async function Bdt(e,{blockHash:t,blockNumber:r,blockTag:i="latest"}={}){let n=r!==void 0?Sn(r):void 0,o;return t?o=await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):o=await e.request({method:"eth_getBlockTransactionCountByNumber",params:[n||i]},{dedupe:!!n}),o0(o)}J();K();z();fo();async function LU(e,{address:t,blockNumber:r,blockTag:i="latest"}){let n=r!==void 0?Sn(r):void 0,o=await e.request({method:"eth_getCode",params:[t,n||i]},{dedupe:!!n});if(o!=="0x")return o}J();K();z();J();K();z();ia();var lZ=class extends Kr{constructor({address:t}){super(`No EIP-712 domain found on contract "${t}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${t}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}};async function Mdt(e,t){let{address:r,factory:i,factoryData:n}=t;try{let[o,d,g,y,_,I,N]=await ei(e,lf,"readContract")({abi:znr,address:r,functionName:"eip712Domain",factory:i,factoryData:n});return{domain:{name:d,version:g,chainId:Number(y),verifyingContract:_,salt:I},extensions:N,fields:o}}catch(o){let d=o;throw d.name==="ContractFunctionExecutionError"&&d.cause.name==="ContractFunctionZeroDataError"?new lZ({address:r}):d}}var znr=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];J();K();z();fo();J();K();z();function Ddt(e){return{baseFeePerGas:e.baseFeePerGas.map(t=>BigInt(t)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(t=>t.map(r=>BigInt(r)))}}async function kdt(e,{blockCount:t,blockNumber:r,blockTag:i="latest",rewardPercentiles:n}){let o=typeof r=="bigint"?Sn(r):void 0,d=await e.request({method:"eth_feeHistory",params:[Sn(t),o||i,n]},{dedupe:!!o});return Ddt(d)}J();K();z();async function Pdt(e,{filter:t}){let r=t.strict??!1,n=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(o=>El(o));return t.abi?BB({abi:t.abi,logs:n,strict:r}):n}J();K();z();fo();J();K();z();J();K();z();J();K();z();fo();J();K();z();ug();Xh();Lw();fo();J();K();z();fX();X_();ia();VB();C3();Yp();K_();A3();sf();function Ldt(e){let{authorizationList:t}=e;if(t)for(let r of t){let{chainId:i}=r,n=r.address;if(!ys(n))throw new nc({address:n});if(i<0)throw new pS({chainId:i})}hZ(e)}function Udt(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new NB;for(let r of t){let i=Xs(r),n=o0(j_(r,0,1));if(i!==32)throw new bX({hash:r,size:i});if(n!==1)throw new EX({hash:r,version:n})}}hZ(e)}function hZ(e){let{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:i,to:n}=e;if(t<=0)throw new pS({chainId:t});if(n&&!ys(n))throw new nc({address:n});if(i&&i>RB)throw new r2({maxFeePerGas:i});if(r&&i&&r>i)throw new aE({maxFeePerGas:i,maxPriorityFeePerGas:r})}function Fdt(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:i,maxFeePerGas:n,to:o}=e;if(t<=0)throw new pS({chainId:t});if(o&&!ys(o))throw new nc({address:o});if(r||n)throw new Kr("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(i&&i>RB)throw new r2({maxFeePerGas:i})}function Qdt(e){let{chainId:t,maxPriorityFeePerGas:r,gasPrice:i,maxFeePerGas:n,to:o}=e;if(o&&!ys(o))throw new nc({address:o});if(typeof t<"u"&&t<=0)throw new pS({chainId:t});if(r||n)throw new Kr("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(i&&i>RB)throw new r2({maxFeePerGas:i})}J();K();z();X_();ug();Yp();function UU(e){if(!e||e.length===0)return[];let t=[];for(let r=0;r<e.length;r++){let{address:i,storageKeys:n}=e[r];for(let o=0;o<n.length;o++)if(n[o].length-2!==64)throw new KW({storageKey:n[o]});if(!ys(i,{strict:!1}))throw new nc({address:i});t.push([i,n])}return t}function WB(e,t){let r=RX(e);return r==="eip1559"?Ynr(e,t):r==="eip2930"?Wnr(e,t):r==="eip4844"?$nr(e,t):r==="eip7702"?Knr(e,t):Xnr(e,t)}function Knr(e,t){let{authorizationList:r,chainId:i,gas:n,nonce:o,to:d,value:g,maxFeePerGas:y,maxPriorityFeePerGas:_,accessList:I,data:N}=e;Ldt(e);let T=UU(I),M=Hdt(r);return df(["0x04",lg([Sn(i),o?Sn(o):"0x",_?Sn(_):"0x",y?Sn(y):"0x",n?Sn(n):"0x",d??"0x",g?Sn(g):"0x",N??"0x",T,M,...XB(e,t)])])}function $nr(e,t){let{chainId:r,gas:i,nonce:n,to:o,value:d,maxFeePerBlobGas:g,maxFeePerGas:y,maxPriorityFeePerGas:_,accessList:I,data:N}=e;Udt(e);let T=e.blobVersionedHashes,M=e.sidecars;if(e.blobs&&(typeof T>"u"||typeof M>"u")){let ne=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(pe=>Qs(pe)),ce=e.kzg,le=wB({blobs:ne,kzg:ce});if(typeof T>"u"&&(T=mX({commitments:le})),typeof M>"u"){let pe=OB({blobs:ne,commitments:le,kzg:ce});M=vX({blobs:ne,commitments:le,proofs:pe})}}let D=UU(I),P=[Sn(r),n?Sn(n):"0x",_?Sn(_):"0x",y?Sn(y):"0x",i?Sn(i):"0x",o??"0x",d?Sn(d):"0x",N??"0x",D,g?Sn(g):"0x",T??[],...XB(e,t)],G=[],q=[],Y=[];if(M)for(let ne=0;ne<M.length;ne++){let{blob:ce,commitment:le,proof:pe}=M[ne];G.push(ce),q.push(le),Y.push(pe)}return df(["0x03",M?lg([P,G,q,Y]):lg(P)])}function Ynr(e,t){let{chainId:r,gas:i,nonce:n,to:o,value:d,maxFeePerGas:g,maxPriorityFeePerGas:y,accessList:_,data:I}=e;hZ(e);let N=UU(_),T=[Sn(r),n?Sn(n):"0x",y?Sn(y):"0x",g?Sn(g):"0x",i?Sn(i):"0x",o??"0x",d?Sn(d):"0x",I??"0x",N,...XB(e,t)];return df(["0x02",lg(T)])}function Wnr(e,t){let{chainId:r,gas:i,data:n,nonce:o,to:d,value:g,accessList:y,gasPrice:_}=e;Fdt(e);let I=UU(y),N=[Sn(r),o?Sn(o):"0x",_?Sn(_):"0x",i?Sn(i):"0x",d??"0x",g?Sn(g):"0x",n??"0x",I,...XB(e,t)];return df(["0x01",lg(N)])}function Xnr(e,t){let{chainId:r=0,gas:i,data:n,nonce:o,to:d,value:g,gasPrice:y}=e;Qdt(e);let _=[o?Sn(o):"0x",y?Sn(y):"0x",i?Sn(i):"0x",d??"0x",g?Sn(g):"0x",n??"0x"];if(t){let I=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);let M=27n+(t.v===27n?0n:1n);if(t.v!==M)throw new JW({v:t.v});return M})(),N=ml(t.r),T=ml(t.s);_=[..._,Sn(I),N==="0x00"?"0x":N,T==="0x00"?"0x":T]}else r>0&&(_=[..._,Sn(r),"0x","0x"]);return lg(_)}function XB(e,t){let r=t??e,{v:i,yParity:n}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof i>"u"&&typeof n>"u")return[];let o=ml(r.r),d=ml(r.s);return[typeof n=="number"?n?Sn(1):"0x":i===0n?"0x":i===1n?Sn(1):i===27n?"0x":Sn(1),o==="0x00"?"0x":o,d==="0x00"?"0x":d]}function Hdt(e){if(!e||e.length===0)return[];let t=[];for(let r of e){let{chainId:i,nonce:n,...o}=r,d=r.address;t.push([i?Uo(i):"0x",d,n?Uo(n):"0x",...XB({},o)])}return t}J();K();z();tS();$w();async function Gdt({address:e,authorization:t,signature:r}){return o2(hy(e),await I3({authorization:t,signature:r}))}J();K();z();ia();Hw();aB();fo();J();K();z();xT();var AZ=new Z_(8192);function qdt(e,{enabled:t=!0,id:r}){if(!t||!r)return e();if(AZ.get(r))return AZ.get(r);let i=e().finally(()=>AZ.delete(r));return AZ.set(r,i),i}Zh();function Vdt(e,t={}){return async(r,i={})=>{let{dedupe:n=!1,methods:o,retryDelay:d=150,retryCount:g=3,uid:y}={...t,...i},{method:_}=r;if(o?.exclude?.includes(_))throw new y3(new Error("method not supported"),{method:_});if(o?.include&&!o.include.includes(_))throw new y3(new Error("method not supported"),{method:_});let I=n?Y_(`${y}.${ws(r)}`):void 0;return qdt(()=>i5(async()=>{try{return await e(r)}catch(N){let T=N;switch(T.code){case GT.code:throw new GT(T);case qT.code:throw new qT(T);case VT.code:throw new VT(T,{method:r.method});case JT.code:throw new JT(T);case nS.code:throw new nS(T);case t2.code:throw new t2(T);case zT.code:throw new zT(T);case KT.code:throw new KT(T);case $T.code:throw new $T(T);case y3.code:throw new y3(T,{method:r.method});case Gw.code:throw new Gw(T);case YT.code:throw new YT(T);case qw.code:throw new qw(T);case WT.code:throw new WT(T);case XT.code:throw new XT(T);case ZT.code:throw new ZT(T);case jT.code:throw new jT(T);case eB.code:throw new eB(T);case b3.code:throw new b3(T);case tB.code:throw new tB(T);case rB.code:throw new rB(T);case nB.code:throw new nB(T);case iB.code:throw new iB(T);case oB.code:throw new oB(T);case E3.code:throw new E3(T);case 5e3:throw new qw(T);default:throw N instanceof Kr?N:new jW(T)}}},{delay:({count:N,error:T})=>{if(T&&T instanceof e2){let M=T?.headers?.get("Retry-After");if(M?.match(/\d/))return Number.parseInt(M,10)*1e3}return~~(1<<N)*d},retryCount:g,shouldRetry:({error:N})=>Znr(N)}),{enabled:n,id:I})}}function Znr(e){return"code"in e&&typeof e.code=="number"?e.code===-1||e.code===Gw.code||e.code===nS.code:e instanceof e2&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}J();K();z();function hc(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}sf();fo();J();K();z();Hw();J();K();z();function Jdt(e,{errorInstance:t=new Error("timed out"),timeout:r,signal:i}){return new Promise((n,o)=>{(async()=>{let d;try{let g=new AbortController;r>0&&(d=setTimeout(()=>{i?g.abort():o(t)},r)),n(await e({signal:g?.signal||null}))}catch(g){g?.name==="AbortError"&&o(t),o(g)}finally{clearTimeout(d)}})()})}Zh();J();K();z();function jnr(){return{current:0,take(){return this.current++},reset(){this.current=0}}}var f2e=jnr();function zdt(e,t={}){return{async request(r){let{body:i,fetchFn:n=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:d=t.onResponse,timeout:g=t.timeout??1e4}=r,y={...t.fetchOptions??{},...r.fetchOptions??{}},{headers:_,method:I,signal:N}=y;try{let T=await Jdt(async({signal:D})=>{let P={...y,body:Array.isArray(i)?ws(i.map(ne=>({jsonrpc:"2.0",id:ne.id??f2e.take(),...ne}))):ws({jsonrpc:"2.0",id:i.id??f2e.take(),...i}),headers:{"Content-Type":"application/json",..._},method:I||"POST",signal:N||(g>0?D:null)},G=new Request(e,P),q=await o?.(G,P)??{...P,url:e};return await n(q.url??e,q)},{errorInstance:new cU({body:i,url:e}),timeout:g,signal:!0});d&&await d(T);let M;if(T.headers.get("Content-Type")?.startsWith("application/json"))M=await T.json();else{M=await T.text();try{M=JSON.parse(M||"{}")}catch(D){if(T.ok)throw D;M={error:M}}}if(!T.ok)throw new e2({body:i,details:ws(M.error)||T.statusText,headers:T.headers,status:T.status,url:e});return M}catch(T){throw T instanceof e2||T instanceof cU?T:new e2({body:i,cause:T,url:e})}}}}J();K();z();W_();J();K();z();J();K();z();var Kdt=`Ethereum Signed Message: +`;Xh();K_();fo();function $dt(e){let t=typeof e=="string"?Y_(e):typeof e.raw=="string"?e.raw:Qs(e.raw),r=Y_(`${Kdt}${Xs(t)}`);return uf([r,t])}function ZB(e,t){return eu($dt(e),t)}J();K();z();eE();Xh();fo();W_();J();K();z();W0();X_();J();K();z();Zh();ia();var pZ=class extends Kr{constructor({domain:t}){super(`Invalid domain "${ws(t)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}},gZ=class extends Kr{constructor({primaryType:t,types:r}){super(`Invalid primary type \`${t}\` must be one of \`${JSON.stringify(Object.keys(r))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}},_Z=class extends Kr{constructor({type:t}){super(`Struct type "${t}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}};Yp();K_();fo();Gge();Zh();function Ydt(e){let{domain:t,message:r,primaryType:i,types:n}=e,o=(y,_)=>{let I={..._};for(let N of y){let{name:T,type:M}=N;M==="address"&&(I[T]=I[T].toLowerCase())}return I},d=n.EIP712Domain?t?o(n.EIP712Domain,t):{}:{},g=(()=>{if(i!=="EIP712Domain")return o(n[i],r)})();return ws({domain:d,message:g,primaryType:i,types:n})}function mZ(e){let{domain:t,message:r,primaryType:i,types:n}=e,o=(d,g)=>{for(let y of d){let{name:_,type:I}=y,N=g[_],T=I.match(BW);if(T&&(typeof N=="number"||typeof N=="bigint")){let[P,G,q]=T;Sn(N,{signed:G==="int",size:Number.parseInt(q,10)/8})}if(I==="address"&&typeof N=="string"&&!ys(N))throw new nc({address:N});let M=I.match(iut);if(M){let[P,G]=M;if(G&&Xs(N)!==Number.parseInt(G,10))throw new vW({expectedSize:Number.parseInt(G,10),givenSize:Xs(N)})}let D=n[I];D&&(eir(I),o(D,N))}};if(n.EIP712Domain&&t){if(typeof t!="object")throw new pZ({domain:t});o(n.EIP712Domain,t)}if(i!=="EIP712Domain")if(n[i])o(n[i],r);else throw new gZ({primaryType:i,types:n})}function yZ({domain:e}){return[typeof e?.name=="string"&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},(typeof e?.chainId=="number"||typeof e?.chainId=="bigint")&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function eir(e){if(e==="address"||e==="bool"||e==="string"||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new _Z({type:e})}function bZ(e){let{domain:t={},message:r,primaryType:i}=e,n={EIP712Domain:yZ({domain:t}),...e.types};mZ({domain:t,message:r,primaryType:i,types:n});let o=["0x1901"];return t&&o.push(tir({domain:t,types:n})),i!=="EIP712Domain"&&o.push(Wdt({data:r,primaryType:i,types:n})),eu(uf(o))}function tir({domain:e,types:t}){return Wdt({data:e,primaryType:"EIP712Domain",types:t})}function Wdt({data:e,primaryType:t,types:r}){let i=Xdt({data:e,primaryType:t,types:r});return eu(i)}function Xdt({data:e,primaryType:t,types:r}){let i=[{type:"bytes32"}],n=[rir({primaryType:t,types:r})];for(let o of r[t]){let[d,g]=jdt({types:r,name:o.name,type:o.type,value:e[o.name]});i.push(d),n.push(g)}return ch(i,n)}function rir({primaryType:e,types:t}){let r=Uo(nir({primaryType:e,types:t}));return eu(r)}function nir({primaryType:e,types:t}){let r="",i=Zdt({primaryType:e,types:t});i.delete(e);let n=[e,...Array.from(i).sort()];for(let o of n)r+=`${o}(${t[o].map(({name:d,type:g})=>`${g} ${d}`).join(",")})`;return r}function Zdt({primaryType:e,types:t},r=new Set){let n=e.match(/^\w*/u)?.[0];if(r.has(n)||t[n]===void 0)return r;r.add(n);for(let o of t[n])Zdt({primaryType:o.type,types:t},r);return r}function jdt({types:e,name:t,type:r,value:i}){if(e[r]!==void 0)return[{type:"bytes32"},eu(Xdt({data:i,primaryType:r,types:e}))];if(r==="bytes")return[{type:"bytes32"},eu(i)];if(r==="string")return[{type:"bytes32"},eu(Uo(i))];if(r.lastIndexOf("]")===r.length-1){let n=r.slice(0,r.lastIndexOf("[")),o=i.map(d=>jdt({name:t,type:n,types:e,value:d}));return[{type:"bytes32"},eu(ch(o.map(([d])=>d),o.map(([,d])=>d)))]}return[{type:r},i]}J();K();z();var l2e="0x0000000000000000000000000000000000000000000000000000000000000000";J();K();z();var zU={};gh(zU,{InvalidWrappedSignatureError:()=>PZ,assert:()=>LZ,from:()=>eor,magicBytes:()=>j2e,suffixParameters:()=>eme,unwrap:()=>Qft,validate:()=>ror,wrap:()=>tor});J();K();z();J();K();z();$L();J();K();z();T3();J();K();z();J();K();z();var EZ=class extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){let r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){let i=this.keys().next().value;i&&this.delete(i)}return this}};var iir={checksum:new EZ(8192)},vZ=iir.checksum;t1();J();K();z();$K();T3();vl();function o5(e,t={}){let{as:r=typeof e=="string"?"Hex":"Bytes"}=t,i=wC(Q0t(e));return r==="Bytes"?i:Ld(i)}J();K();z();T3();t1();vl();OU();function eft(e,t={}){let{compressed:r}=t,{prefix:i,x:n,y:o}=e;if(r===!1||typeof n=="bigint"&&typeof o=="bigint"){if(i!==4)throw new RZ({prefix:i,cause:new g2e});return}if(r===!0||typeof n=="bigint"&&typeof o>"u"){if(i!==3&&i!==2)throw new RZ({prefix:i,cause:new p2e});return}throw new A2e({publicKey:e})}function tft(e){let t=(()=>{if(xU(e))return rft(e);if(z0t(e))return air(e);let{prefix:r,x:i,y:n}=e;return typeof i=="bigint"&&typeof n=="bigint"?{prefix:r??4,x:i,y:n}:{prefix:r,x:i}})();return eft(t),t}function air(e){return rft(Ld(e))}function rft(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new _2e({publicKey:e});if(e.length===130){let i=BigInt(R0(e,0,32)),n=BigInt(R0(e,32,64));return{prefix:4,x:i,y:n}}if(e.length===132){let i=Number(R0(e,0,1)),n=BigInt(R0(e,1,33)),o=BigInt(R0(e,33,65));return{prefix:i,x:n,y:o}}let t=Number(R0(e,0,1)),r=BigInt(R0(e,1,33));return{prefix:t,x:r}}function m2e(e,t={}){eft(e);let{prefix:r,x:i,y:n}=e,{includePrefix:o=!0}=t;return j0(o?lc(r,{size:1}):"0x",lc(i,{size:32}),typeof n=="bigint"?lc(n,{size:32}):"0x")}var A2e=class extends _o{constructor({publicKey:t}){super(`Value \`${B3(t)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"})}},RZ=class extends _o{constructor({prefix:t,cause:r}){super(`Prefix "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"})}},p2e=class extends _o{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"})}},g2e=class extends _o{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"})}},_2e=class extends _o{constructor({publicKey:t}){super(`Value \`${t}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${v0(HB(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"})}};var sir=/^0x[a-fA-F0-9]{40}$/;function a5(e,t={}){let{strict:r=!0}=t;if(!sir.test(e))throw new SZ({address:e,cause:new y2e});if(r){if(e.toLowerCase()===e)return;if(IZ(e)!==e)throw new SZ({address:e,cause:new b2e})}}function IZ(e){if(vZ.has(e))return vZ.get(e);a5(e,{strict:!1});let t=e.substring(2).toLowerCase(),r=o5(H0t(t),{as:"Bytes"}),i=t.split("");for(let o=0;o<40;o+=2)r[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(r[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());let n=`0x${i.join("")}`;return vZ.set(e,n),n}function cir(e,t={}){let{checksum:r=!1}=t;return a5(e),r?IZ(e):e}function ift(e,t={}){let r=o5(`0x${m2e(e).slice(4)}`).substring(26);return cir(`0x${r}`,t)}function CZ(e,t={}){let{strict:r=!0}=t??{};try{return a5(e,{strict:r}),!0}catch{return!1}}var SZ=class extends _o{constructor({address:t,cause:r}){super(`Address "${t}" is invalid.`,{cause:r}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}},y2e=class extends _o{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}},b2e=class extends _o{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}};T3();t1();vl();J();K();z();T3();t1();vl();J();K();z();var oft=/^(.*)\[([0-9]*)\]$/,aft=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,OZ=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,pPi=2n**(8n-1n)-1n,gPi=2n**(16n-1n)-1n,_Pi=2n**(24n-1n)-1n,mPi=2n**(32n-1n)-1n,yPi=2n**(40n-1n)-1n,bPi=2n**(48n-1n)-1n,EPi=2n**(56n-1n)-1n,vPi=2n**(64n-1n)-1n,RPi=2n**(72n-1n)-1n,SPi=2n**(80n-1n)-1n,IPi=2n**(88n-1n)-1n,CPi=2n**(96n-1n)-1n,wPi=2n**(104n-1n)-1n,OPi=2n**(112n-1n)-1n,NPi=2n**(120n-1n)-1n,xPi=2n**(128n-1n)-1n,TPi=2n**(136n-1n)-1n,BPi=2n**(144n-1n)-1n,MPi=2n**(152n-1n)-1n,DPi=2n**(160n-1n)-1n,kPi=2n**(168n-1n)-1n,PPi=2n**(176n-1n)-1n,LPi=2n**(184n-1n)-1n,UPi=2n**(192n-1n)-1n,FPi=2n**(200n-1n)-1n,QPi=2n**(208n-1n)-1n,HPi=2n**(216n-1n)-1n,GPi=2n**(224n-1n)-1n,qPi=2n**(232n-1n)-1n,VPi=2n**(240n-1n)-1n,JPi=2n**(248n-1n)-1n,zPi=2n**(256n-1n)-1n,KPi=-(2n**(8n-1n)),$Pi=-(2n**(16n-1n)),YPi=-(2n**(24n-1n)),WPi=-(2n**(32n-1n)),XPi=-(2n**(40n-1n)),ZPi=-(2n**(48n-1n)),jPi=-(2n**(56n-1n)),eLi=-(2n**(64n-1n)),tLi=-(2n**(72n-1n)),rLi=-(2n**(80n-1n)),nLi=-(2n**(88n-1n)),iLi=-(2n**(96n-1n)),oLi=-(2n**(104n-1n)),aLi=-(2n**(112n-1n)),sLi=-(2n**(120n-1n)),cLi=-(2n**(128n-1n)),uLi=-(2n**(136n-1n)),dLi=-(2n**(144n-1n)),fLi=-(2n**(152n-1n)),lLi=-(2n**(160n-1n)),hLi=-(2n**(168n-1n)),ALi=-(2n**(176n-1n)),pLi=-(2n**(184n-1n)),gLi=-(2n**(192n-1n)),_Li=-(2n**(200n-1n)),mLi=-(2n**(208n-1n)),yLi=-(2n**(216n-1n)),bLi=-(2n**(224n-1n)),ELi=-(2n**(232n-1n)),vLi=-(2n**(240n-1n)),RLi=-(2n**(248n-1n)),SLi=-(2n**(256n-1n)),ILi=2n**8n-1n,CLi=2n**16n-1n,wLi=2n**24n-1n,OLi=2n**32n-1n,NLi=2n**40n-1n,xLi=2n**48n-1n,TLi=2n**56n-1n,BLi=2n**64n-1n,MLi=2n**72n-1n,DLi=2n**80n-1n,kLi=2n**88n-1n,PLi=2n**96n-1n,LLi=2n**104n-1n,ULi=2n**112n-1n,FLi=2n**120n-1n,QLi=2n**128n-1n,HLi=2n**136n-1n,GLi=2n**144n-1n,qLi=2n**152n-1n,VLi=2n**160n-1n,JLi=2n**168n-1n,zLi=2n**176n-1n,KLi=2n**184n-1n,$Li=2n**192n-1n,YLi=2n**200n-1n,WLi=2n**208n-1n,XLi=2n**216n-1n,ZLi=2n**224n-1n,jLi=2n**232n-1n,eUi=2n**240n-1n,tUi=2n**248n-1n,E2e=2n**256n-1n;function s5(e,t,r){let{checksumAddress:i,staticPosition:n}=r,o=S2e(t.type);if(o){let[d,g]=o;return dir(e,{...t,type:g},{checksumAddress:i,length:d,staticPosition:n})}if(t.type==="tuple")return Air(e,t,{checksumAddress:i,staticPosition:n});if(t.type==="address")return uir(e,{checksum:i});if(t.type==="bool")return fir(e);if(t.type.startsWith("bytes"))return lir(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return hir(e,t);if(t.type==="string")return pir(e,{staticPosition:n});throw new jB(t.type)}var cft=32,v2e=32;function uir(e,t={}){let{checksum:r=!1}=t,i=e.readBytes(32);return[(o=>r?IZ(o):o)(Ld(G0t(i,-20))),32]}function dir(e,t,r){let{checksumAddress:i,length:n,staticPosition:o}=r;if(!n){let y=uE(e.readBytes(v2e)),_=o+y,I=_+cft;e.setPosition(_);let N=uE(e.readBytes(cft)),T=FU(t),M=0,D=[];for(let P=0;P<N;++P){e.setPosition(I+(T?P*32:M));let[G,q]=s5(e,t,{checksumAddress:i,staticPosition:I});M+=q,D.push(G)}return e.setPosition(o+32),[D,32]}if(FU(t)){let y=uE(e.readBytes(v2e)),_=o+y,I=[];for(let N=0;N<n;++N){e.setPosition(_+N*32);let[T]=s5(e,t,{checksumAddress:i,staticPosition:_});I.push(T)}return e.setPosition(o+32),[I,32]}let d=0,g=[];for(let y=0;y<n;++y){let[_,I]=s5(e,t,{checksumAddress:i,staticPosition:o+d});d+=I,g.push(_)}return[g,d]}function fir(e){return[V0t(e.readBytes(32),{size:32}),32]}function lir(e,t,{staticPosition:r}){let[i,n]=t.type.split("bytes");if(!n){let d=uE(e.readBytes(32));e.setPosition(r+d);let g=uE(e.readBytes(32));if(g===0)return e.setPosition(r+32),["0x",32];let y=e.readBytes(g);return e.setPosition(r+32),[Ld(y),32]}return[Ld(e.readBytes(Number.parseInt(n,10),32)),32]}function hir(e,t){let r=t.type.startsWith("int"),i=Number.parseInt(t.type.split("int")[1]||"256",10),n=e.readBytes(32);return[i>48?q0t(n,{signed:r}):uE(n,{signed:r}),32]}function Air(e,t,r){let{checksumAddress:i,staticPosition:n}=r,o=t.components.length===0||t.components.some(({name:y})=>!y),d=o?[]:{},g=0;if(FU(t)){let y=uE(e.readBytes(v2e)),_=n+y;for(let I=0;I<t.components.length;++I){let N=t.components[I];e.setPosition(_+g);let[T,M]=s5(e,N,{checksumAddress:i,staticPosition:_});g+=M,d[o?I:N?.name]=T}return e.setPosition(n+32),[d,32]}for(let y=0;y<t.components.length;++y){let _=t.components[y],[I,N]=s5(e,_,{checksumAddress:i,staticPosition:n});d[o?y:_?.name]=I,g+=N}return[d,g]}function pir(e,{staticPosition:t}){let r=uE(e.readBytes(32)),i=t+r;e.setPosition(i);let n=uE(e.readBytes(32));if(n===0)return e.setPosition(t+32),["",32];let o=e.readBytes(n,32),d=J0t(H_e(o));return e.setPosition(t+32),[d,32]}function uft({checksumAddress:e,parameters:t,values:r}){let i=[];for(let n=0;n<t.length;n++)i.push(R2e({checksumAddress:e,parameter:t[n],value:r[n]}));return i}function R2e({checksumAddress:e=!1,parameter:t,value:r}){let i=t,n=S2e(i.type);if(n){let[o,d]=n;return _ir(r,{checksumAddress:e,length:o,parameter:{...i,type:d}})}if(i.type==="tuple")return vir(r,{checksumAddress:e,parameter:i});if(i.type==="address")return gir(r,{checksum:e});if(i.type==="bool")return yir(r);if(i.type.startsWith("uint")||i.type.startsWith("int")){let o=i.type.startsWith("int"),[,,d="256"]=OZ.exec(i.type)??[];return bir(r,{signed:o,size:Number(d)})}if(i.type.startsWith("bytes"))return mir(r,{type:i.type});if(i.type==="string")return Eir(r);throw new jB(i.type)}function NZ(e){let t=0;for(let o=0;o<e.length;o++){let{dynamic:d,encoded:g}=e[o];d?t+=32:t+=v0(g)}let r=[],i=[],n=0;for(let o=0;o<e.length;o++){let{dynamic:d,encoded:g}=e[o];d?(r.push(lc(t+n,{size:32})),i.push(g),n+=v0(g)):r.push(g)}return j0(...r,...i)}function gir(e,t){let{checksum:r=!1}=t;return a5(e,{strict:r}),{dynamic:!1,encoded:AS(e.toLowerCase())}}function _ir(e,t){let{checksumAddress:r,length:i,parameter:n}=t,o=i===null;if(!Array.isArray(e))throw new TZ(e);if(!o&&e.length!==i)throw new xZ({expectedLength:i,givenLength:e.length,type:`${n.type}[${i}]`});let d=!1,g=[];for(let y=0;y<e.length;y++){let _=R2e({checksumAddress:r,parameter:n,value:e[y]});_.dynamic&&(d=!0),g.push(_)}if(o||d){let y=NZ(g);if(o){let _=lc(g.length,{size:32});return{dynamic:!0,encoded:g.length>0?j0(_,y):_}}if(d)return{dynamic:!0,encoded:y}}return{dynamic:!1,encoded:j0(...g.map(({encoded:y})=>y))}}function mir(e,{type:t}){let[,r]=t.split("bytes"),i=v0(e);if(!r){let n=e;return i%32!==0&&(n=dE(n,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:j0(AS(lc(i,{size:32})),n)}}if(i!==Number.parseInt(r,10))throw new QU({expectedSize:Number.parseInt(r,10),value:e});return{dynamic:!1,encoded:dE(e)}}function yir(e){if(typeof e!="boolean")throw new _o(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:AS(kX(e))}}function bir(e,{signed:t,size:r}){if(typeof r=="number"){let i=2n**(BigInt(r)-(t?1n:0n))-1n,n=t?-i-1n:0n;if(e>i||e<n)throw new NU({max:i.toString(),min:n.toString(),signed:t,size:r/8,value:e.toString()})}return{dynamic:!1,encoded:lc(e,{size:32,signed:t})}}function Eir(e){let t=GB(e),r=Math.ceil(v0(t)/32),i=[];for(let n=0;n<r;n++)i.push(dE(R0(t,n*32,(n+1)*32)));return{dynamic:!0,encoded:j0(dE(lc(v0(t),{size:32})),...i)}}function vir(e,t){let{checksumAddress:r,parameter:i}=t,n=!1,o=[];for(let d=0;d<i.components.length;d++){let g=i.components[d],y=Array.isArray(e)?d:g.name,_=R2e({checksumAddress:r,parameter:g,value:e[y]});o.push(_),_.dynamic&&(n=!0)}return{dynamic:n,encoded:n?NZ(o):j0(...o.map(({encoded:d})=>d))}}function S2e(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function FU(e){let{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return e.components?.some(FU);let r=S2e(e.type);return!!(r&&FU({...e,type:r[1]}))}J();K();z();t1();var Sir={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new C2e({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new I2e({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new BZ({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new BZ({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function MZ(e,{recursiveReadLimit:t=8192}={}){let r=Object.create(Sir);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}var BZ=class extends _o{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}},I2e=class extends _o{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}},C2e=class extends _o{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}};function e7(e,t,r={}){let{as:i="Array",checksumAddress:n=!1}=r,o=typeof t=="string"?QB(t):t,d=MZ(o);if(a2(o)===0&&e.length>0)throw new N2e;if(a2(o)&&a2(o)<32)throw new O2e({data:typeof t=="string"?t:Ld(t),parameters:e,size:a2(o)});let g=0,y=i==="Array"?[]:{};for(let _=0;_<e.length;++_){let I=e[_];d.setPosition(g);let[N,T]=s5(d,I,{checksumAddress:n,staticPosition:0});g+=T,i==="Array"?y.push(N):y[I.name??_]=N}return y}function F3(e,t,r){let{checksumAddress:i=!1}=r??{};if(e.length!==t.length)throw new DZ({expectedLength:e.length,givenLength:t.length});let n=uft({checksumAddress:i,parameters:e,values:t}),o=NZ(n);return o.length===0?"0x":o}function w2e(e,t){if(e.length!==t.length)throw new DZ({expectedLength:e.length,givenLength:t.length});let r=[];for(let i=0;i<e.length;i++){let n=e[i],o=t[i];r.push(w2e.encode(n,o))}return j0(...r)}(function(e){function t(r,i,n=!1){if(r==="address"){let y=i;return a5(y),AS(y.toLowerCase(),n?32:0)}if(r==="string")return GB(i);if(r==="bytes")return i;if(r==="bool")return AS(kX(i),n?32:1);let o=r.match(OZ);if(o){let[y,_,I="256"]=o,N=Number.parseInt(I,10)/8;return lc(i,{size:n?32:N,signed:_==="int"})}let d=r.match(aft);if(d){let[y,_]=d;if(Number.parseInt(_,10)!==(i.length-2)/2)throw new QU({expectedSize:Number.parseInt(_,10),value:i});return dE(i,n?32:0)}let g=r.match(oft);if(g&&Array.isArray(i)){let[y,_]=g,I=[];for(let N=0;N<i.length;N++)I.push(t(_,i[N],!0));return I.length===0?"0x":j0(...I)}throw new jB(r)}e.encode=t})(w2e||(w2e={}));function GU(e){return Array.isArray(e)&&typeof e[0]=="string"?hW(e):typeof e=="string"?hW(e):e}var O2e=class extends _o{constructor({data:t,parameters:r,size:i}){super(`Data size of ${i} bytes is too small for given parameters.`,{metaMessages:[`Params: (${XR(r)})`,`Data: ${t} (${i} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}},N2e=class extends _o{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}},xZ=class extends _o{constructor({expectedLength:t,givenLength:r,type:i}){super(`Array length mismatch for type \`${i}\`. Expected: \`${t}\`. Given: \`${r}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}},QU=class extends _o{constructor({expectedSize:t,value:r}){super(`Size of bytes "${r}" (bytes${v0(r)}) does not match expected size (bytes${t}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}},DZ=class extends _o{constructor({expectedLength:t,givenLength:r}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${t}`,`Given length (values): ${r}`].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}},TZ=class extends _o{constructor(t){super(`Value \`${t}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}},jB=class extends _o{constructor(t){super(`Type \`${t}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}};J();K();z();vl();J();K();z();T3();t1();vl();function Iir(e,t){let{as:r}=t,i=lft(e),n=MZ(new Uint8Array(i.length));return i.encode(n),r==="Hex"?Ld(n.bytes):n.bytes}function fft(e,t={}){let{as:r="Hex"}=t;return Iir(e,{as:r})}function lft(e){return Array.isArray(e)?Cir(e.map(t=>lft(t))):wir(e)}function Cir(e){let t=e.reduce((n,o)=>n+o.length,0),r=hft(t);return{length:t<=55?1+t:1+r+t,encode(n){t<=55?n.pushByte(192+t):(n.pushByte(247+r),r===1?n.pushUint8(t):r===2?n.pushUint16(t):r===3?n.pushUint24(t):n.pushUint32(t));for(let{encode:o}of e)o(n)}}}function wir(e){let t=typeof e=="string"?QB(e):e,r=hft(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(n){t.length===1&&t[0]<128?n.pushBytes(t):t.length<=55?(n.pushByte(128+t.length),n.pushBytes(t)):(n.pushByte(183+r),r===1?n.pushUint8(t.length):r===2?n.pushUint16(t.length):r===3?n.pushUint24(t.length):n.pushUint32(t.length),n.pushBytes(t))}}}function hft(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new _o("Length is too large.")}J();K();z();J();K();z();ox();J();K();z();WK();Up();J();K();z();J();K();z();J();K();z();Up();CX();var zA=BigInt(0),iA=BigInt(1),c5=BigInt(2),Nir=BigInt(3),pft=BigInt(4),gft=BigInt(5),_ft=BigInt(8);function nA(e,t){let r=e%t;return r>=zA?r:t+r}function Ag(e,t,r){let i=e;for(;t-- >zA;)i*=i,i%=r;return i}function kZ(e,t){if(e===zA)throw new Error("invert: expected non-zero number");if(t<=zA)throw new Error("invert: expected positive modulus, got "+t);let r=nA(e,t),i=t,n=zA,o=iA,d=iA,g=zA;for(;r!==zA;){let _=i/r,I=i%r,N=n-d*_,T=o-g*_;i=r,r=I,n=d,o=g,d=N,g=T}if(i!==iA)throw new Error("invert: does not exist");return nA(n,t)}function mft(e,t){let r=(e.ORDER+iA)/pft,i=e.pow(t,r);if(!e.eql(e.sqr(i),t))throw new Error("Cannot find square root");return i}function xir(e,t){let r=(e.ORDER-gft)/_ft,i=e.mul(t,c5),n=e.pow(i,r),o=e.mul(t,n),d=e.mul(e.mul(o,c5),n),g=e.mul(o,e.sub(d,e.ONE));if(!e.eql(e.sqr(g),t))throw new Error("Cannot find square root");return g}function Tir(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-iA,r=0;for(;t%c5===zA;)t/=c5,r++;let i=c5,n=qU(e);for(;Aft(n,i)===1;)if(i++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return mft;let o=n.pow(i,t),d=(t+iA)/c5;return function(y,_){if(y.is0(_))return _;if(Aft(y,_)!==1)throw new Error("Cannot find square root");let I=r,N=y.mul(y.ONE,o),T=y.pow(_,t),M=y.pow(_,d);for(;!y.eql(T,y.ONE);){if(y.is0(T))return y.ZERO;let D=1,P=y.sqr(T);for(;!y.eql(P,y.ONE);)if(D++,P=y.sqr(P),D===I)throw new Error("Cannot find square root");let G=iA<<BigInt(I-D-1),q=y.pow(N,G);I=D,N=y.sqr(q),T=y.mul(T,N),M=y.mul(M,q)}return M}}function Bir(e){return e%pft===Nir?mft:e%_ft===gft?xir:Tir(e)}var Mir=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function x2e(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Mir.reduce((i,n)=>(i[n]="function",i),t);return Zw(e,r)}function Dir(e,t,r){if(r<zA)throw new Error("invalid exponent, negatives unsupported");if(r===zA)return e.ONE;if(r===iA)return t;let i=e.ONE,n=t;for(;r>zA;)r&iA&&(i=e.mul(i,n)),n=e.sqr(n),r>>=iA;return i}function T2e(e,t,r=!1){let i=new Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((d,g,y)=>e.is0(g)?d:(i[y]=d,e.mul(d,g)),e.ONE),o=e.inv(n);return t.reduceRight((d,g,y)=>e.is0(g)?d:(i[y]=e.mul(d,i[y]),e.mul(d,g)),o),i}function Aft(e,t){let r=(e.ORDER-iA)/c5,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),d=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!d)throw new Error("invalid Legendre symbol result");return n?1:o?0:-1}function B2e(e,t){t!==void 0&&S_(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function qU(e,t,r=!1,i={}){if(e<=zA)throw new Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=B2e(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,g=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:Xw(n),ZERO:zA,ONE:iA,create:y=>nA(y,e),isValid:y=>{if(typeof y!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof y);return zA<=y&&y<e},is0:y=>y===zA,isOdd:y=>(y&iA)===iA,neg:y=>nA(-y,e),eql:(y,_)=>y===_,sqr:y=>nA(y*y,e),add:(y,_)=>nA(y+_,e),sub:(y,_)=>nA(y-_,e),mul:(y,_)=>nA(y*_,e),pow:(y,_)=>Dir(g,y,_),div:(y,_)=>nA(y*kZ(_,e),e),sqrN:y=>y*y,addN:(y,_)=>y+_,subN:(y,_)=>y-_,mulN:(y,_)=>y*_,inv:y=>kZ(y,e),sqrt:i.sqrt||(y=>(d||(d=Bir(e)),d(g,y))),toBytes:y=>r?D_e(y,o):Yw(y,o),fromBytes:y=>{if(y.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+y.length);return r?M_e(y):lS(y)},invertBatch:y=>T2e(g,y),cmov:(y,_,I)=>I?_:y});return Object.freeze(g)}function yft(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function M2e(e){let t=yft(e);return t+Math.ceil(t/2)}function bft(e,t,r=!1){let i=e.length,n=yft(t),o=M2e(t);if(i<16||i<o||i>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+i);let d=r?M_e(e):lS(e),g=nA(d,t-iA)+iA;return r?D_e(g,n):Yw(g,n)}CX();var Eft=BigInt(0),U2e=BigInt(1);function D2e(e,t){let r=t.negate();return e?r:t}function Rft(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function k2e(e,t){Rft(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Xw(e),d=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:d}}function vft(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:d}=r,g=Number(e&n),y=e>>d;g>i&&(g-=o,y+=U2e);let _=t*i,I=_+Math.abs(g)-1,N=g===0,T=g<0,M=t%2!==0;return{nextN:y,offset:I,isZero:N,isNeg:T,isNegF:M,offsetF:_}}function kir(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,i)=>{if(!(r instanceof t))throw new Error("invalid point at index "+i)})}function Pir(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,i)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+i)})}var P2e=new WeakMap,Sft=new WeakMap;function L2e(e){return Sft.get(e)||1}function Ift(e,t){return{constTimeNegate:D2e,hasPrecomputes(r){return L2e(r)!==1},unsafeLadder(r,i,n=e.ZERO){let o=r;for(;i>Eft;)i&U2e&&(n=n.add(o)),o=o.double(),i>>=U2e;return n},precomputeWindow(r,i){let{windows:n,windowSize:o}=k2e(i,t),d=[],g=r,y=g;for(let _=0;_<n;_++){y=g,d.push(y);for(let I=1;I<o;I++)y=y.add(g),d.push(y);g=y.double()}return d},wNAF(r,i,n){let o=e.ZERO,d=e.BASE,g=k2e(r,t);for(let y=0;y<g.windows;y++){let{nextN:_,offset:I,isZero:N,isNeg:T,isNegF:M,offsetF:D}=vft(n,y,g);n=_,N?d=d.add(D2e(M,i[D])):o=o.add(D2e(T,i[I]))}return{p:o,f:d}},wNAFUnsafe(r,i,n,o=e.ZERO){let d=k2e(r,t);for(let g=0;g<d.windows&&n!==Eft;g++){let{nextN:y,offset:_,isZero:I,isNeg:N}=vft(n,g,d);if(n=y,!I){let T=i[_];o=o.add(N?T.negate():T)}}return o},getPrecomputes(r,i,n){let o=P2e.get(i);return o||(o=this.precomputeWindow(i,r),r!==1&&P2e.set(i,n(o))),o},wNAFCached(r,i,n){let o=L2e(r);return this.wNAF(o,this.getPrecomputes(o,r,n),i)},wNAFCachedUnsafe(r,i,n,o){let d=L2e(r);return d===1?this.unsafeLadder(r,i,o):this.wNAFUnsafe(d,this.getPrecomputes(d,r,n),i,o)},setWindowSize(r,i){Rft(i,t),Sft.set(r,i),P2e.delete(r)}}}function Cft(e,t,r,i){kir(r,e),Pir(i,t);let n=r.length,o=i.length;if(n!==o)throw new Error("arrays of points and scalars must have equal length");let d=e.ZERO,g=I0t(BigInt(n)),y=1;g>12?y=g-3:g>4?y=g-2:g>0&&(y=2);let _=Xw(y),I=new Array(Number(_)+1).fill(d),N=Math.floor((t.BITS-1)/y)*y,T=d;for(let M=N;M>=0;M-=y){I.fill(d);for(let P=0;P<o;P++){let G=i[P],q=Number(G>>BigInt(M)&_);I[q]=I[q].add(r[P])}let D=d;for(let P=I.length-1,G=d;P>0;P--)G=G.add(I[P]),D=D.add(G);if(T=T.add(D),M!==0)for(let P=0;P<y;P++)T=T.double()}return T}function F2e(e){return x2e(e.Fp),Zw(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...B2e(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}CX();function wft(e){e.lowS!==void 0&&kB("lowS",e.lowS),e.prehash!==void 0&&kB("prehash",e.prehash)}function Lir(e){let t=F2e(e);Zw(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:r,Fp:i,a:n}=t;if(r){if(!i.eql(n,i.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}var G2e=class extends Error{constructor(t=""){super(t)}},mS={Err:G2e,_tlv:{encode:(e,t)=>{let{Err:r}=mS;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=RU(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?RU(n.length/2|128):"";return RU(e)+o+n+t},decode(e,t){let{Err:r}=mS,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),d=0;if(!o)d=n;else{let y=n&127;if(!y)throw new r("tlv.decode(long): indefinite length not supported");if(y>4)throw new r("tlv.decode(long): byte length is too big");let _=t.subarray(i,i+y);if(_.length!==y)throw new r("tlv.decode: length bytes not complete");if(_[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let I of _)d=d<<8|I;if(i+=y,d<128)throw new r("tlv.decode(long): not minimal encoding")}let g=t.subarray(i,i+d);if(g.length!==d)throw new r("tlv.decode: wrong value length");return{v:g,l:t.subarray(i+d)}}},_int:{encode(e){let{Err:t}=mS;if(e<yS)throw new t("integer: negative integers are not allowed");let r=RU(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=mS;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return lS(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=mS,n=e1("signature",e),{v:o,l:d}=i.decode(48,n);if(d.length)throw new t("invalid signature: left bytes after parsing");let{v:g,l:y}=i.decode(2,o),{v:_,l:I}=i.decode(2,y);if(I.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(g),s:r.decode(_)}},hexFromSig(e){let{_tlv:t,_int:r}=mS,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};function Q2e(e,t){return PB(Yw(e,t))}var yS=BigInt(0),Rl=BigInt(1),DUi=BigInt(2),H2e=BigInt(3),Uir=BigInt(4);function Fir(e){let t=Lir(e),{Fp:r}=t,i=qU(t.n,t.nBitLength),n=t.toBytes||((ne,ce,le)=>{let pe=ce.toAffine();return IU(Uint8Array.from([4]),r.toBytes(pe.x),r.toBytes(pe.y))}),o=t.fromBytes||(ne=>{let ce=ne.subarray(1),le=r.fromBytes(ce.subarray(0,r.BYTES)),pe=r.fromBytes(ce.subarray(r.BYTES,2*r.BYTES));return{x:le,y:pe}});function d(ne){let{a:ce,b:le}=t,pe=r.sqr(ne),ae=r.mul(pe,ne);return r.add(r.add(ae,r.mul(ne,ce)),le)}function g(ne,ce){let le=r.sqr(ce),pe=d(ne);return r.eql(le,pe)}if(!g(t.Gx,t.Gy))throw new Error("bad curve params: generator point");let y=r.mul(r.pow(t.a,H2e),Uir),_=r.mul(r.sqr(t.b),BigInt(27));if(r.is0(r.add(y,_)))throw new Error("bad curve params: a or b");function I(ne){return IX(ne,Rl,t.n)}function N(ne){let{allowedPrivateKeyLengths:ce,nByteLength:le,wrapPrivateKey:pe,n:ae}=t;if(ce&&typeof ne!="bigint"){if(DB(ne)&&(ne=PB(ne)),typeof ne!="string"||!ce.includes(ne.length))throw new Error("invalid private key");ne=ne.padStart(le*2,"0")}let W;try{W=typeof ne=="bigint"?ne:lS(e1("private key",ne,le))}catch{throw new Error("invalid private key, expected hex or "+le+" bytes, got "+typeof ne)}return pe&&(W=nA(W,ae)),Ww("private key",W,Rl,ae),W}function T(ne){if(!(ne instanceof P))throw new Error("ProjectivePoint expected")}let M=k_e((ne,ce)=>{let{px:le,py:pe,pz:ae}=ne;if(r.eql(ae,r.ONE))return{x:le,y:pe};let W=ne.is0();ce==null&&(ce=W?r.ONE:r.inv(ae));let se=r.mul(le,ce),O=r.mul(pe,ce),s=r.mul(ae,ce);if(W)return{x:r.ZERO,y:r.ZERO};if(!r.eql(s,r.ONE))throw new Error("invZ was invalid");return{x:se,y:O}}),D=k_e(ne=>{if(ne.is0()){if(t.allowInfinityPoint&&!r.is0(ne.py))return;throw new Error("bad point: ZERO")}let{x:ce,y:le}=ne.toAffine();if(!r.isValid(ce)||!r.isValid(le))throw new Error("bad point: x or y not FE");if(!g(ce,le))throw new Error("bad point: equation left != right");if(!ne.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class P{constructor(ce,le,pe){if(ce==null||!r.isValid(ce))throw new Error("x required");if(le==null||!r.isValid(le)||r.is0(le))throw new Error("y required");if(pe==null||!r.isValid(pe))throw new Error("z required");this.px=ce,this.py=le,this.pz=pe,Object.freeze(this)}static fromAffine(ce){let{x:le,y:pe}=ce||{};if(!ce||!r.isValid(le)||!r.isValid(pe))throw new Error("invalid affine point");if(ce instanceof P)throw new Error("projective point not allowed");let ae=W=>r.eql(W,r.ZERO);return ae(le)&&ae(pe)?P.ZERO:new P(le,pe,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(ce){let le=T2e(r,ce.map(pe=>pe.pz));return ce.map((pe,ae)=>pe.toAffine(le[ae])).map(P.fromAffine)}static fromHex(ce){let le=P.fromAffine(o(e1("pointHex",ce)));return le.assertValidity(),le}static fromPrivateKey(ce){return P.BASE.multiply(N(ce))}static msm(ce,le){return Cft(P,i,ce,le)}_setWindowSize(ce){Y.setWindowSize(this,ce)}assertValidity(){D(this)}hasEvenY(){let{y:ce}=this.toAffine();if(r.isOdd)return!r.isOdd(ce);throw new Error("Field doesn't support isOdd")}equals(ce){T(ce);let{px:le,py:pe,pz:ae}=this,{px:W,py:se,pz:O}=ce,s=r.eql(r.mul(le,O),r.mul(W,ae)),l=r.eql(r.mul(pe,O),r.mul(se,ae));return s&&l}negate(){return new P(this.px,r.neg(this.py),this.pz)}double(){let{a:ce,b:le}=t,pe=r.mul(le,H2e),{px:ae,py:W,pz:se}=this,O=r.ZERO,s=r.ZERO,l=r.ZERO,A=r.mul(ae,ae),m=r.mul(W,W),E=r.mul(se,se),w=r.mul(ae,W);return w=r.add(w,w),l=r.mul(ae,se),l=r.add(l,l),O=r.mul(ce,l),s=r.mul(pe,E),s=r.add(O,s),O=r.sub(m,s),s=r.add(m,s),s=r.mul(O,s),O=r.mul(w,O),l=r.mul(pe,l),E=r.mul(ce,E),w=r.sub(A,E),w=r.mul(ce,w),w=r.add(w,l),l=r.add(A,A),A=r.add(l,A),A=r.add(A,E),A=r.mul(A,w),s=r.add(s,A),E=r.mul(W,se),E=r.add(E,E),A=r.mul(E,w),O=r.sub(O,A),l=r.mul(E,m),l=r.add(l,l),l=r.add(l,l),new P(O,s,l)}add(ce){T(ce);let{px:le,py:pe,pz:ae}=this,{px:W,py:se,pz:O}=ce,s=r.ZERO,l=r.ZERO,A=r.ZERO,m=t.a,E=r.mul(t.b,H2e),w=r.mul(le,W),x=r.mul(pe,se),R=r.mul(ae,O),u=r.add(le,pe),C=r.add(W,se);u=r.mul(u,C),C=r.add(w,x),u=r.sub(u,C),C=r.add(le,ae);let U=r.add(W,O);return C=r.mul(C,U),U=r.add(w,R),C=r.sub(C,U),U=r.add(pe,ae),s=r.add(se,O),U=r.mul(U,s),s=r.add(x,R),U=r.sub(U,s),A=r.mul(m,C),s=r.mul(E,R),A=r.add(s,A),s=r.sub(x,A),A=r.add(x,A),l=r.mul(s,A),x=r.add(w,w),x=r.add(x,w),R=r.mul(m,R),C=r.mul(E,C),x=r.add(x,R),R=r.sub(w,R),R=r.mul(m,R),C=r.add(C,R),w=r.mul(x,C),l=r.add(l,w),w=r.mul(U,C),s=r.mul(u,s),s=r.sub(s,w),w=r.mul(u,x),A=r.mul(U,A),A=r.add(A,w),new P(s,l,A)}subtract(ce){return this.add(ce.negate())}is0(){return this.equals(P.ZERO)}wNAF(ce){return Y.wNAFCached(this,ce,P.normalizeZ)}multiplyUnsafe(ce){let{endo:le,n:pe}=t;Ww("scalar",ce,yS,pe);let ae=P.ZERO;if(ce===yS)return ae;if(this.is0()||ce===Rl)return this;if(!le||Y.hasPrecomputes(this))return Y.wNAFCachedUnsafe(this,ce,P.normalizeZ);let{k1neg:W,k1:se,k2neg:O,k2:s}=le.splitScalar(ce),l=ae,A=ae,m=this;for(;se>yS||s>yS;)se&Rl&&(l=l.add(m)),s&Rl&&(A=A.add(m)),m=m.double(),se>>=Rl,s>>=Rl;return W&&(l=l.negate()),O&&(A=A.negate()),A=new P(r.mul(A.px,le.beta),A.py,A.pz),l.add(A)}multiply(ce){let{endo:le,n:pe}=t;Ww("scalar",ce,Rl,pe);let ae,W;if(le){let{k1neg:se,k1:O,k2neg:s,k2:l}=le.splitScalar(ce),{p:A,f:m}=this.wNAF(O),{p:E,f:w}=this.wNAF(l);A=Y.constTimeNegate(se,A),E=Y.constTimeNegate(s,E),E=new P(r.mul(E.px,le.beta),E.py,E.pz),ae=A.add(E),W=m.add(w)}else{let{p:se,f:O}=this.wNAF(ce);ae=se,W=O}return P.normalizeZ([ae,W])[0]}multiplyAndAddUnsafe(ce,le,pe){let ae=P.BASE,W=(O,s)=>s===yS||s===Rl||!O.equals(ae)?O.multiplyUnsafe(s):O.multiply(s),se=W(this,le).add(W(ce,pe));return se.is0()?void 0:se}toAffine(ce){return M(this,ce)}isTorsionFree(){let{h:ce,isTorsionFree:le}=t;if(ce===Rl)return!0;if(le)return le(P,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:ce,clearCofactor:le}=t;return ce===Rl?this:le?le(P,this):this.multiplyUnsafe(t.h)}toRawBytes(ce=!0){return kB("isCompressed",ce),this.assertValidity(),n(P,this,ce)}toHex(ce=!0){return kB("isCompressed",ce),PB(this.toRawBytes(ce))}}P.BASE=new P(t.Gx,t.Gy,r.ONE),P.ZERO=new P(r.ZERO,r.ONE,r.ZERO);let{endo:G,nBitLength:q}=t,Y=Ift(P,G?Math.ceil(q/2):q);return{CURVE:t,ProjectivePoint:P,normPrivateKeyToScalar:N,weierstrassEquation:d,isWithinCurveOrder:I}}function Qir(e){let t=F2e(e);return Zw(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Oft(e){let t=Qir(e),{Fp:r,n:i,nByteLength:n,nBitLength:o}=t,d=r.BYTES+1,g=2*r.BYTES+1;function y(E){return nA(E,i)}function _(E){return kZ(E,i)}let{ProjectivePoint:I,normPrivateKeyToScalar:N,weierstrassEquation:T,isWithinCurveOrder:M}=Fir({...t,toBytes(E,w,x){let R=w.toAffine(),u=r.toBytes(R.x),C=IU;return kB("isCompressed",x),x?C(Uint8Array.from([w.hasEvenY()?2:3]),u):C(Uint8Array.from([4]),u,r.toBytes(R.y))},fromBytes(E){let w=E.length,x=E[0],R=E.subarray(1);if(w===d&&(x===2||x===3)){let u=lS(R);if(!IX(u,Rl,r.ORDER))throw new Error("Point is not on curve");let C=T(u),U;try{U=r.sqrt(C)}catch(Ae){let he=Ae instanceof Error?": "+Ae.message:"";throw new Error("Point is not on curve"+he)}let F=(U&Rl)===Rl;return(x&1)===1!==F&&(U=r.neg(U)),{x:u,y:U}}else if(w===g&&x===4){let u=r.fromBytes(R.subarray(0,r.BYTES)),C=r.fromBytes(R.subarray(r.BYTES,2*r.BYTES));return{x:u,y:C}}else{let u=d,C=g;throw new Error("invalid Point, expected length of "+u+", or uncompressed "+C+", got "+w)}}});function D(E){let w=i>>Rl;return E>w}function P(E){return D(E)?y(-E):E}let G=(E,w,x)=>lS(E.slice(w,x));class q{constructor(w,x,R){Ww("r",w,Rl,i),Ww("s",x,Rl,i),this.r=w,this.s=x,R!=null&&(this.recovery=R),Object.freeze(this)}static fromCompact(w){let x=n;return w=e1("compactSignature",w,x*2),new q(G(w,0,x),G(w,x,2*x))}static fromDER(w){let{r:x,s:R}=mS.toSig(e1("DER",w));return new q(x,R)}assertValidity(){}addRecoveryBit(w){return new q(this.r,this.s,w)}recoverPublicKey(w){let{r:x,s:R,recovery:u}=this,C=ae(e1("msgHash",w));if(u==null||![0,1,2,3].includes(u))throw new Error("recovery id invalid");let U=u===2||u===3?x+t.n:x;if(U>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let F=(u&1)===0?"02":"03",X=I.fromHex(F+Q2e(U,r.BYTES)),Ae=_(U),he=y(-C*Ae),$e=y(R*Ae),Ge=I.BASE.multiplyAndAddUnsafe(X,he,$e);if(!Ge)throw new Error("point at infinify");return Ge.assertValidity(),Ge}hasHighS(){return D(this.s)}normalizeS(){return this.hasHighS()?new q(this.r,y(-this.s),this.recovery):this}toDERRawBytes(){return SU(this.toDERHex())}toDERHex(){return mS.hexFromSig(this)}toCompactRawBytes(){return SU(this.toCompactHex())}toCompactHex(){let w=n;return Q2e(this.r,w)+Q2e(this.s,w)}}let Y={isValidPrivateKey(E){try{return N(E),!0}catch{return!1}},normPrivateKeyToScalar:N,randomPrivateKey:()=>{let E=M2e(t.n);return bft(t.randomBytes(E),t.n)},precompute(E=8,w=I.BASE){return w._setWindowSize(E),w.multiply(BigInt(3)),w}};function ne(E,w=!0){return I.fromPrivateKey(E).toRawBytes(w)}function ce(E){if(typeof E=="bigint")return!1;if(E instanceof I)return!0;let x=e1("key",E).length,R=r.BYTES,u=R+1,C=2*R+1;if(!(t.allowedPrivateKeyLengths||n===u))return x===u||x===C}function le(E,w,x=!0){if(ce(E)===!0)throw new Error("first arg must be private key");if(ce(w)===!1)throw new Error("second arg must be public key");return I.fromHex(w).multiply(N(E)).toRawBytes(x)}let pe=t.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");let w=lS(E),x=E.length*8-o;return x>0?w>>BigInt(x):w},ae=t.bits2int_modN||function(E){return y(pe(E))},W=Xw(o);function se(E){return Ww("num < 2^"+o,E,yS,W),Yw(E,n)}function O(E,w,x=s){if(["recovered","canonical"].some(Se=>Se in x))throw new Error("sign() legacy options not supported");let{hash:R,randomBytes:u}=t,{lowS:C,prehash:U,extraEntropy:F}=x;C==null&&(C=!0),E=e1("msgHash",E),wft(x),U&&(E=e1("prehashed msgHash",R(E)));let X=ae(E),Ae=N(w),he=[se(Ae),se(X)];if(F!=null&&F!==!1){let Se=F===!0?u(r.BYTES):F;he.push(e1("extraEntropy",Se))}let $e=IU(...he),Ge=X;function Re(Se){let ct=pe(Se);if(!M(ct))return;let ze=_(ct),te=I.BASE.multiply(ct).toAffine(),Ue=y(te.x);if(Ue===yS)return;let oe=y(ze*y(Ge+Ue*Ae));if(oe===yS)return;let ge=(te.x===Ue?0:2)|Number(te.y&Rl),Le=oe;return C&&D(oe)&&(Le=P(oe),ge^=1),new q(Ue,Le,ge)}return{seed:$e,k2sig:Re}}let s={lowS:t.lowS,prehash:!1},l={lowS:t.lowS,prehash:!1};function A(E,w,x=s){let{seed:R,k2sig:u}=O(E,w,x),C=t;return C0t(C.hash.outputLen,C.nByteLength,C.hmac)(R,u)}I.BASE._setWindowSize(8);function m(E,w,x,R=l){let u=E;w=e1("msgHash",w),x=e1("publicKey",x);let{lowS:C,prehash:U,format:F}=R;if(wft(R),"strict"in R)throw new Error("options.strict was renamed to lowS");if(F!==void 0&&F!=="compact"&&F!=="der")throw new Error("format must be compact or der");let X=typeof u=="string"||DB(u),Ae=!X&&!F&&typeof u=="object"&&u!==null&&typeof u.r=="bigint"&&typeof u.s=="bigint";if(!X&&!Ae)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let he,$e;try{if(Ae&&(he=new q(u.r,u.s)),X){try{F!=="compact"&&(he=q.fromDER(u))}catch(ge){if(!(ge instanceof mS.Err))throw ge}!he&&F!=="der"&&(he=q.fromCompact(u))}$e=I.fromHex(x)}catch{return!1}if(!he||C&&he.hasHighS())return!1;U&&(w=t.hash(w));let{r:Ge,s:Re}=he,Se=ae(w),ct=_(Re),ze=y(Se*ct),te=y(Ge*ct),Ue=I.BASE.multiplyAndAddUnsafe($e,ze,te)?.toAffine();return Ue?y(Ue.x)===Ge:!1}return{CURVE:t,getPublicKey:ne,getSharedSecret:le,sign:A,verify:m,ProjectivePoint:I,Signature:q,utils:Y}}function Hir(e){return{hash:e,hmac:(t,...r)=>OC(e,t,Qf(...r)),randomBytes:w_}}function Nft(e,t){let r=i=>Oft({...e,...Hir(i)});return{...r(t),create:r}}var Bft=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),xft=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gir=BigInt(0),qir=BigInt(1),q2e=BigInt(2),Tft=(e,t)=>(e+t/q2e)/t;function Vir(e){let t=Bft,r=BigInt(3),i=BigInt(6),n=BigInt(11),o=BigInt(22),d=BigInt(23),g=BigInt(44),y=BigInt(88),_=e*e*e%t,I=_*_*e%t,N=Ag(I,r,t)*I%t,T=Ag(N,r,t)*I%t,M=Ag(T,q2e,t)*_%t,D=Ag(M,n,t)*M%t,P=Ag(D,o,t)*D%t,G=Ag(P,g,t)*P%t,q=Ag(G,y,t)*G%t,Y=Ag(q,g,t)*P%t,ne=Ag(Y,r,t)*I%t,ce=Ag(ne,d,t)*D%t,le=Ag(ce,i,t)*_%t,pe=Ag(le,q2e,t);if(!V2e.eql(V2e.sqr(pe),e))throw new Error("Cannot find square root");return pe}var V2e=qU(Bft,void 0,void 0,{sqrt:Vir}),Mft=Nft({a:Gir,b:BigInt(7),Fp:V2e,n:xft,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=xft,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),i=-qir*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,d=BigInt("0x100000000000000000000000000000000"),g=Tft(o*e,t),y=Tft(-i*e,t),_=nA(e-g*r-y*n,t),I=nA(-g*i-y*o,t),N=_>d,T=I>d;if(N&&(_=t-_),T&&(I=t-I),_>d||I>d)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:N,k1:_,k2neg:T,k2:I}}}},qm);t1();vl();OU();function Y2e(e,t={}){let{recovered:r}=t;if(typeof e.r>"u")throw new VU({signature:e});if(typeof e.s>"u")throw new VU({signature:e});if(r&&typeof e.yParity>"u")throw new VU({signature:e});if(e.r<0n||e.r>E2e)throw new z2e({value:e.r});if(e.s<0n||e.s>E2e)throw new K2e({value:e.s});if(typeof e.yParity=="number"&&e.yParity!==0&&e.yParity!==1)throw new JU({value:e.yParity})}function Jir(e){return Dft(Ld(e))}function Dft(e){if(e.length!==130&&e.length!==132)throw new J2e({signature:e});let t=BigInt(R0(e,0,32)),r=BigInt(R0(e,32,64)),i=(()=>{let n=+`0x${e.slice(130)}`;if(!Number.isNaN(n))try{return Z2e(n)}catch{throw new JU({value:n})}})();return typeof i>"u"?{r:t,s:r}:{r:t,s:r,yParity:i}}function W2e(e){if(!(typeof e.r>"u")&&!(typeof e.s>"u"))return X2e(e)}function X2e(e){let t=typeof e=="string"?Dft(e):e instanceof Uint8Array?Jir(e):typeof e.r=="string"?Kir(e):e.v?zir(e):{r:e.r,s:e.s,...typeof e.yParity<"u"?{yParity:e.yParity}:{}};return Y2e(t),t}function zir(e){return{r:e.r,s:e.s,yParity:Z2e(e.v)}}function Kir(e){let t=(()=>{let r=e.v?Number(e.v):void 0,i=e.yParity?Number(e.yParity):void 0;if(typeof r=="number"&&typeof i!="number"&&(i=Z2e(r)),typeof i!="number")throw new JU({value:e.yParity});return i})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function kft(e){let{r:t,s:r,yParity:i}=e;return[i?"0x01":"0x",t===0n?"0x":q_e(lc(t)),r===0n?"0x":q_e(lc(r))]}function Z2e(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return e%2===0?1:0;throw new $2e({value:e})}var J2e=class extends _o{constructor({signature:t}){super(`Value \`${t}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${v0(HB(t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}},VU=class extends _o{constructor({signature:t}){super(`Signature \`${B3(t)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}},z2e=class extends _o{constructor({value:t}){super(`Value \`${t}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}},K2e=class extends _o{constructor({value:t}){super(`Value \`${t}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}},JU=class extends _o{constructor({value:t}){super(`Value \`${t}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}},$2e=class extends _o{constructor({value:t}){super(`Value \`${t}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}};function Lft(e,t={}){return typeof e.chainId=="string"?$ir(e):{...e,...t.signature}}function $ir(e){let{address:t,chainId:r,nonce:i}=e,n=W2e(e);return{address:t,chainId:Number(r),nonce:BigInt(i),...n}}function Uft(e){return Yir(e,{presign:!0})}function Yir(e,t={}){let{presign:r}=t;return o5(j0("0x05",fft(Wir(r?{address:e.address,chainId:e.chainId,nonce:e.nonce}:e))))}function Wir(e){let{address:t,chainId:r,nonce:i}=e,n=W2e(e);return[r?lc(r):"0x",t,i?lc(i):"0x",...n?kft(n):[]]}t1();vl();J();K();z();vl();function Fft(e){return ift(Zir(e))}function Zir(e){let{payload:t,signature:r}=e,{r:i,s:n,yParity:o}=r,g=new Mft.Signature(BigInt(i),BigInt(n)).addRecoveryBit(o).recoverPublicKey(HB(t).substring(2));return tft(g)}var j2e="0x8010801080108010801080108010801080108010801080108010801080108010",eme=GU("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function LZ(e){if(typeof e=="string"){if(R0(e,-32)!==j2e)throw new PZ(e)}else Y2e(e.authorization)}function eor(e){return typeof e=="string"?Qft(e):e}function Qft(e){LZ(e);let t=BX(R0(e,-64,-32)),r=R0(e,-t-64,-64),i=R0(e,0,-t-64),[n,o,d]=e7(eme,r);return{authorization:Lft({address:n.delegation,chainId:Number(n.chainId),nonce:n.nonce,yParity:n.yParity,r:n.r,s:n.s}),signature:i,...d&&d!=="0x"?{data:d,to:o}:{}}}function tor(e){let{data:t,signature:r}=e;LZ(e);let i=Fft({payload:Uft(e.authorization),signature:X2e(e.authorization)}),n=F3(eme,[{...e.authorization,delegation:e.authorization.address,chainId:BigInt(e.authorization.chainId)},e.to??i,t??"0x"]),o=lc(v0(n),{size:32});return j0(r,n,o,j2e)}function ror(e){try{return LZ(e),!0}catch{return!1}}var PZ=class extends _o{constructor(t){super(`Value \`${t}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};function nor(e){return e.map(t=>({...t,value:BigInt(t.value)}))}function Hft(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?o0(e.nonce):void 0,storageProof:e.storageProof?nor(e.storageProof):void 0}}async function Gft(e,{address:t,blockNumber:r,blockTag:i,storageKeys:n}){let o=i??"latest",d=r!==void 0?Sn(r):void 0,g=await e.request({method:"eth_getProof",params:[t,n,d||o]});return Hft(g)}J();K();z();fo();async function qft(e,{address:t,blockNumber:r,blockTag:i="latest",slot:n}){let o=r!==void 0?Sn(r):void 0;return await e.request({method:"eth_getStorageAt",params:[t,n,o||i]})}J();K();z();ug();fo();async function t7(e,{blockHash:t,blockNumber:r,blockTag:i,hash:n,index:o,sender:d,nonce:g}){let y=i||"latest",_=r!==void 0?Sn(r):void 0,I=null;if(n?I=await e.request({method:"eth_getTransactionByHash",params:[n]},{dedupe:!0}):t?I=await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,Sn(o)]},{dedupe:!0}):(_||y)&&typeof o=="number"?I=await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[_||y,Sn(o)]},{dedupe:!!_}):d&&typeof g=="number"&&(I=await e.request({method:"eth_getTransactionBySenderAndNonce",params:[d,Sn(g)]},{dedupe:!0})),!I)throw new LT({blockHash:t,blockNumber:r,blockTag:y,hash:n,index:o});return(e.chain?.formatters?.transaction?.format||Kw)(I,"getTransaction")}J();K();z();async function Vft(e,{hash:t,transactionReceipt:r}){let[i,n]=await Promise.all([ei(e,lE,"getBlockNumber")({}),t?ei(e,t7,"getTransaction")({hash:t}):void 0]),o=r?.blockNumber||n?.blockNumber;return o?i-o+1n:0n}J();K();z();ug();async function r7(e,{hash:t}){let r=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!r)throw new UT({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||kU)(r,"getTransactionReceipt")}J();K();z();M3();TU();W0();ia();_3();x3();Xp();n5();async function Jft(e,t){let{account:r,authorizationList:i,allowFailure:n=!0,blockNumber:o,blockOverrides:d,blockTag:g,stateOverride:y}=t,_=t.contracts,{batchSize:I=t.batchSize??1024,deployless:N=t.deployless??!1}=typeof e.batch?.multicall=="object"?e.batch.multicall:{},T=(()=>{if(t.multicallAddress)return t.multicallAddress;if(N)return null;if(e.chain)return s2({blockNumber:o,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),M=[[]],D=0,P=0;for(let Y=0;Y<_.length;Y++){let{abi:ne,address:ce,args:le,functionName:pe}=_[Y];try{let ae=hu({abi:ne,args:le,functionName:pe});P+=(ae.length-2)/2,I>0&&P>I&&M[D].length>0&&(D++,P=(ae.length-2)/2,M[D]=[]),M[D]=[...M[D],{allowFailure:!0,callData:ae,target:ce}]}catch(ae){let W=dg(ae,{abi:ne,address:ce,args:le,docsPath:"/docs/contract/multicall",functionName:pe,sender:r});if(!n)throw W;M[D]=[...M[D],{allowFailure:!0,callData:"0x",target:ce}]}}let G=await Promise.allSettled(M.map(Y=>ei(e,lf,"readContract")({...T===null?{code:qB}:{address:T},abi:e5,account:r,args:[Y],authorizationList:i,blockNumber:o,blockOverrides:d,blockTag:g,functionName:"aggregate3",stateOverride:y}))),q=[];for(let Y=0;Y<G.length;Y++){let ne=G[Y];if(ne.status==="rejected"){if(!n)throw ne.reason;for(let le=0;le<M[Y].length;le++)q.push({status:"failure",error:ne.reason,result:void 0});continue}let ce=ne.value;for(let le=0;le<ce.length;le++){let{returnData:pe,success:ae}=ce[le],{callData:W}=M[Y][le],{abi:se,address:O,functionName:s,args:l}=_[q.length];try{if(W==="0x")throw new $_;if(!ae)throw new iE({data:pe});let A=jp({abi:se,args:l,data:pe,functionName:s});q.push(n?{result:A,status:"success"}:A)}catch(A){let m=dg(A,{abi:se,address:O,args:l,docsPath:"/docs/contract/multicall",functionName:s});if(!n)throw m;q.push({error:m,result:void 0,status:"failure"})}}}if(q.length!==_.length)throw new Kr("multicall results mismatch");return q}J();K();z();V_e();E0();W0();_3();C3();x3();Xp();Xh();fo();yU();dS();dX();cE();async function KU(e,t){let{blockNumber:r,blockTag:i=e.experimental_blockTag??"latest",blocks:n,returnFullTransactions:o,traceTransfers:d,validation:g}=t;try{let y=[];for(let T of n){let M=T.blockOverrides?PX(T.blockOverrides):void 0,D=T.calls.map(G=>{let q=G,Y=q.account?na(q.account):void 0,ne=q.abi?hu(q):q.data,ce={...q,account:Y,data:q.dataSuffix?uf([ne||"0x",q.dataSuffix]):ne,from:q.from??Y?.address};return yl(ce),JA(ce)}),P=T.stateOverrides?vB(T.stateOverrides):void 0;y.push({blockOverrides:M,calls:D,stateOverrides:P})}let I=(typeof r=="bigint"?Sn(r):void 0)||i;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:y,returnFullTransactions:o,traceTransfers:d,validation:g},I]})).map((T,M)=>({...EU(T),calls:T.calls.map((D,P)=>{let{abi:G,args:q,functionName:Y,to:ne}=n[M].calls[P],ce=D.error?.data??D.returnData,le=BigInt(D.gasUsed),pe=D.logs?.map(O=>El(O)),ae=D.status==="0x1"?"success":"failure",W=G&&ae==="success"&&ce!=="0x"?jp({abi:G,data:ce,functionName:Y}):null,se=(()=>{if(ae==="success")return;let O;if(D.error?.data==="0x"?O=new $_:D.error&&(O=new iE(D.error)),!!O)return dg(O,{abi:G??[],address:ne??"0x",args:q,functionName:Y??"<unknown>"})})();return{data:ce,gasUsed:le,logs:pe,status:ae,...ae==="success"?{result:W}:{error:se}}})}))}catch(y){let _=y,I=w3(_,{});throw I instanceof n2?_:I}}J();K();z();J();K();z();J();K();z();$L();t1();vl();J();K();z();t1();function FZ(e){let t=!0,r="",i=0,n="",o=!1;for(let d=0;d<e.length;d++){let g=e[d];if(["(",")",","].includes(g)&&(t=!0),g==="("&&i++,g===")"&&i--,!!t){if(i===0){if(g===" "&&["event","function","error",""].includes(n))n="";else if(n+=g,g===")"){o=!0;break}continue}if(g===" "){e[d-1]!==","&&r!==","&&r!==",("&&(r="",t=!1);continue}n+=g,r+=g}}if(!o)throw new _o("Unable to normalize signature.");return n}function UZ(e,t){let r=typeof e,i=t.type;switch(i){case"address":return CZ(e,{strict:!1});case"bool":return r==="boolean";case"function":return r==="string";case"string":return r==="string";default:return i==="tuple"&&"components"in t?Object.values(t.components).every((n,o)=>UZ(Object.values(e)[o],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(i)?r==="number"||r==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(i)?r==="string"||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(i)?Array.isArray(e)&&e.every(n=>UZ(n,{...t,type:i.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function tme(e,t,r){for(let i in e){let n=e[i],o=t[i];if(n.type==="tuple"&&o.type==="tuple"&&"components"in n&&"components"in o)return tme(n.components,o.components,r[i]);let d=[n.type,o.type];if(d.includes("address")&&d.includes("bytes20")?!0:d.includes("address")&&d.includes("string")?CZ(r[i],{strict:!1}):d.includes("address")&&d.includes("bytes")?CZ(r[i],{strict:!1}):!1)return d}}function QZ(e,t={}){let{prepare:r=!0}=t,i=Array.isArray(e)?lW(e):typeof e=="string"?lW(e):e;return{...i,...r?{hash:n7(i)}:{}}}function $U(e,t,r){let{args:i=[],prepare:n=!0}=r??{},o=xU(t,{strict:!1}),d=e.filter(_=>o?_.type==="function"||_.type==="error"?nme(_)===R0(t,0,4):_.type==="event"?n7(_)===t:!1:"name"in _&&_.name===t);if(d.length===0)throw new Q3({name:t});if(d.length===1)return{...d[0],...n?{hash:n7(d[0])}:{}};let g;for(let _ of d){if(!("inputs"in _))continue;if(!i||i.length===0){if(!_.inputs||_.inputs.length===0)return{..._,...n?{hash:n7(_)}:{}};continue}if(!_.inputs||_.inputs.length===0||_.inputs.length!==i.length)continue;if(i.every((N,T)=>{let M="inputs"in _&&_.inputs[T];return M?UZ(N,M):!1})){if(g&&"inputs"in g&&g.inputs){let N=tme(_.inputs,g.inputs,i);if(N)throw new rme({abiItem:_,type:N[0]},{abiItem:g,type:N[1]})}g=_}}let y=(()=>{if(g)return g;let[_,...I]=d;return{..._,overloads:I}})();if(!y)throw new Q3({name:t});return{...y,...n?{hash:n7(y)}:{}}}function nme(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,i]=e;return $U(r,i)}return e[0]})();return R0(n7(t),0,4)}function oor(...e){let t=(()=>{if(Array.isArray(e[0])){let[i,n]=e;return $U(i,n)}return e[0]})(),r=typeof t=="string"?t:Pw(t);return FZ(r)}function n7(...e){let t=(()=>{if(Array.isArray(e[0])){let[r,i]=e;return $U(r,i)}return e[0]})();return typeof t!="string"&&"hash"in t&&t.hash?t.hash:o5(GB(oor(t)))}var rme=class extends _o{constructor(t,r){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${t.type}\` in \`${FZ(Pw(t.abiItem))}\`, and`,`\`${r.type}\` in \`${FZ(Pw(r.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}},Q3=class extends _o{constructor({name:t,data:r,type:i="item"}){let n=t?` with name "${t}"`:r?` with data "${r}"`:"";super(`ABI ${i}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}};vl();function Kft(...e){let[t,r]=(()=>{if(Array.isArray(e[0])){let[o,d]=e;return[aor(o),d]}return e})(),{bytecode:i,args:n}=r;return j0(i,t.inputs?.length&&n?.length?F3(t.inputs,n):"0x")}function $ft(e){return QZ(e)}function aor(e){let t=e.find(r=>r.type==="constructor");if(!t)throw new Q3({name:"constructor"});return t}J();K();z();vl();function Wft(...e){let[t,r=[]]=(()=>{if(Array.isArray(e[0])){let[_,I,N]=e;return[Yft(_,I,{args:N}),N]}let[g,y]=e;return[g,y]})(),{overloads:i}=t,n=i?Yft([t,...i],t.name,{args:r}):t,o=cor(n),d=r.length>0?F3(n.inputs,r):void 0;return d?j0(o,d):o}function u5(e,t={}){return QZ(e,t)}function Yft(e,t,r){let i=$U(e,t,r);if(i.type!=="function")throw new Q3({name:t,type:"function"});return i}function cor(e){return nme(e)}E0();J();K();z();var Xft="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",gy="0x0000000000000000000000000000000000000000";TU();ia();Xp();var dor="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Zft(e,t){let{blockNumber:r,blockTag:i,calls:n,stateOverrides:o,traceAssetChanges:d,traceTransfers:g,validation:y}=t,_=t.account?na(t.account):void 0;if(d&&!_)throw new Kr("`account` is required when `traceAssetChanges` is true");let I=_?Kft($ft("constructor(bytes, bytes)"),{bytecode:FX,args:[dor,Wft(u5("function getBalance(address)"),[_.address])]}):void 0,N=d?await Promise.all(t.calls.map(async R=>{if(!R.data&&!R.abi)return;let{accessList:u}=await uZ(e,{account:_.address,...R,data:R.abi?hu(R):R.data});return u.map(({address:C,storageKeys:U})=>U.length>0?C:null)})).then(R=>R.flat().filter(Boolean)):[],T=await KU(e,{blockNumber:r,blockTag:i,blocks:[...d?[{calls:[{data:I}],stateOverrides:o},{calls:N.map((R,u)=>({abi:[u5("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[_.address],to:R,from:gy,nonce:u})),stateOverrides:[{address:gy,nonce:0}]}]:[],{calls:[...n,{}].map(R=>({...R,from:_?.address})),stateOverrides:o},...d?[{calls:[{data:I}]},{calls:N.map((R,u)=>({abi:[u5("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[_.address],to:R,from:gy,nonce:u})),stateOverrides:[{address:gy,nonce:0}]},{calls:N.map((R,u)=>({to:R,abi:[u5("function decimals() returns (uint256)")],functionName:"decimals",from:gy,nonce:u})),stateOverrides:[{address:gy,nonce:0}]},{calls:N.map((R,u)=>({to:R,abi:[u5("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:gy,nonce:u})),stateOverrides:[{address:gy,nonce:0}]},{calls:N.map((R,u)=>({to:R,abi:[u5("function symbol() returns (string)")],functionName:"symbol",from:gy,nonce:u})),stateOverrides:[{address:gy,nonce:0}]}]:[]],traceTransfers:g,validation:y}),M=d?T[2]:T[0],[D,P,,G,q,Y,ne,ce]=d?T:[],{calls:le,...pe}=M,ae=le.slice(0,-1)??[],W=D?.calls??[],se=P?.calls??[],O=[...W,...se].map(R=>R.status==="success"?Ga(R.data):null),s=G?.calls??[],l=q?.calls??[],A=[...s,...l].map(R=>R.status==="success"?Ga(R.data):null),m=(Y?.calls??[]).map(R=>R.status==="success"?R.result:null),E=(ce?.calls??[]).map(R=>R.status==="success"?R.result:null),w=(ne?.calls??[]).map(R=>R.status==="success"?R.result:null),x=[];for(let[R,u]of A.entries()){let C=O[R];if(typeof u!="bigint"||typeof C!="bigint")continue;let U=m[R-1],F=E[R-1],X=w[R-1],Ae=R===0?{address:Xft,decimals:18,symbol:"ETH"}:{address:N[R-1],decimals:X||U?Number(U??1):void 0,symbol:F??void 0};x.some(he=>he.token.address===Ae.address)||x.push({token:Ae,value:{pre:C,post:u,diff:u-C}})}return{assetChanges:x,block:pe,results:ae}}J();K();z();J();K();z();var YU={};gh(YU,{InvalidWrappedSignatureError:()=>HZ,assert:()=>ome,from:()=>Aor,magicBytes:()=>ime,universalSignatureValidatorAbi:()=>hor,universalSignatureValidatorBytecode:()=>lor,unwrap:()=>jft,validate:()=>gor,wrap:()=>por});J();K();z();t1();vl();var ime="0x6492649264926492649264926492649264926492649264926492649264926492",lor="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",hor=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function ome(e){if(R0(e,-32)!==ime)throw new HZ(e)}function Aor(e){return typeof e=="string"?jft(e):e}function jft(e){ome(e);let[t,r,i]=e7(GU("address, bytes, bytes"),e);return{data:r,signature:i,to:t}}function por(e){let{data:t,signature:r,to:i}=e;return j0(F3(GU("address, bytes, bytes"),[i,t,r]),ime)}function gor(e){try{return ome(e),!0}catch{return!1}}var HZ=class extends _o{constructor(t){super(`Value \`${t}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}};M3();TU();_3();GX();Xp();tS();$w();Xh();z_();sf();fo();J();K();z();mU();sf();cf();function GZ({r:e,s:t,to:r="hex",v:i,yParity:n}){let o=(()=>{if(n===0||n===1)return n;if(i&&(i===27n||i===28n||i>=35n))return i%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),d=`0x${new py.Signature(Ga(e),Ga(t)).toCompactHex()}${o===0?"1b":"1c"}`;return r==="hex"?d:Z0(d)}zB();async function H3(e,t){let{address:r,hash:i,erc6492VerifierAddress:n=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,d=(()=>{let g=t.signature;return X0(g)?g:typeof g=="object"&&"r"in g&&"s"in g?GZ(g):Qs(g)})();try{return zU.validate(d)?await _or(e,{...t,multicallAddress:o,signature:d}):await mor(e,{...t,verifierAddress:n,signature:d})}catch(g){try{if(o2(hy(r),await sX({hash:i,signature:d})))return!0}catch{}if(g instanceof bS)return!1;throw g}}async function _or(e,t){let{address:r,blockNumber:i,blockTag:n,hash:o,multicallAddress:d}=t,{authorization:g,data:y,signature:_,to:I}=zU.unwrap(t.signature);if(await LU(e,{address:r,blockNumber:i,blockTag:n})===df(["0xef0100",g.address]))return await yor(e,{address:r,blockNumber:i,blockTag:n,hash:o,signature:_});let T={address:g.address,chainId:Number(g.chainId),nonce:Number(g.nonce),r:Sn(g.r,{size:32}),s:Sn(g.s,{size:32}),yParity:g.yParity};if(!await Gdt({address:r,authorization:T}))throw new bS;let D=await ei(e,lf,"readContract")({...d?{address:d}:{code:qB},authorizationList:[T],abi:e5,blockNumber:i,blockTag:"pending",functionName:"aggregate3",args:[[...y?[{allowFailure:!0,target:I??r,callData:y}]:[],{allowFailure:!0,target:r,callData:hu({abi:K_e,functionName:"isValidSignature",args:[o,_]})}]]});if(D[D.length-1]?.returnData?.startsWith("0x1626ba7e"))return!0;throw new bS}async function mor(e,t){let{address:r,factory:i,factoryData:n,hash:o,signature:d,verifierAddress:g,...y}=t,_=await(async()=>!i&&!n||YU.validate(d)?d:YU.wrap({data:n,signature:d,to:i}))(),I=g?{to:g,data:hu({abi:$_e,functionName:"isValidSig",args:[r,o,_]}),...y}:{data:r5({abi:$_e,args:[r,o,_],bytecode:tdt}),...y},{data:N}=await ei(e,fE,"call")(I).catch(T=>{throw T instanceof QT?new bS:T});if(Lge(N??"0x0"))return!0;throw new bS}async function yor(e,t){let{address:r,blockNumber:i,blockTag:n,hash:o,signature:d}=t;if((await ei(e,lf,"readContract")({address:r,abi:K_e,args:[o,d],blockNumber:i,blockTag:n,functionName:"isValidSignature"}).catch(y=>{throw y instanceof HT?new bS:y})).startsWith("0x1626ba7e"))return!0;throw new bS}var bS=class extends Error{};J();K();z();async function elt(e,{address:t,message:r,factory:i,factoryData:n,signature:o,...d}){let g=ZB(r);return H3(e,{address:t,factory:i,factoryData:n,hash:g,signature:o,...d})}J();K();z();async function tlt(e,t){let{address:r,factory:i,factoryData:n,signature:o,message:d,primaryType:g,types:y,domain:_,...I}=t,N=bZ({message:d,primaryType:g,types:y,domain:_});return H3(e,{address:r,factory:i,factoryData:n,hash:N,signature:o,...I})}J();K();z();ug();VX();Zh();J();K();z();sf();Zh();function qZ(e,{emitOnBegin:t=!1,emitMissed:r=!1,onBlockNumber:i,onError:n,poll:o,pollingInterval:d=e.pollingInterval}){let g=typeof o<"u"?o:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),y;return g?(()=>{let N=ws(["watchBlockNumber",e.uid,t,r,d]);return rA(N,{onBlockNumber:i,onError:n},T=>c2(async()=>{try{let M=await ei(e,lE,"getBlockNumber")({cacheTime:0});if(y!==void 0){if(M===y)return;if(M-y>1&&r)for(let D=y+1n;D<M;D++)T.onBlockNumber(D,y),y=D}(y===void 0||M>y)&&(T.onBlockNumber(M,y),y=M)}catch(M){T.onError?.(M)}},{emitOnBegin:t,interval:d}))})():(()=>{let N=ws(["watchBlockNumber",e.uid,t,r]);return rA(N,{onBlockNumber:i,onError:n},T=>{let M=!0,D=()=>M=!1;return(async()=>{try{let P=(()=>{if(e.transport.type==="fallback"){let q=e.transport.transports.find(Y=>Y.config.type==="webSocket"||Y.config.type==="ipc");return q?q.value:e.transport}return e.transport})(),{unsubscribe:G}=await P.subscribe({params:["newHeads"],onData(q){if(!M)return;let Y=Ga(q.result?.number);T.onBlockNumber(Y,y),y=Y},onError(q){T.onError?.(q)}});D=G,M||D()}catch(P){n?.(P)}})(),()=>D()})})()}async function VZ(e,t){let{checkReplacement:r=!0,confirmations:i=1,hash:n,onReplaced:o,retryCount:d=6,retryDelay:g=({count:le})=>~~(1<<le)*200,timeout:y=18e4}=t,_=ws(["waitForTransactionReceipt",e.uid,n]),I=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,N,T,M,D=!1,P,G,{promise:q,resolve:Y,reject:ne}=JB(),ce=y?setTimeout(()=>{G?.(),P?.(),ne(new YW({hash:n}))},y):void 0;return P=rA(_,{onReplaced:o,resolve:Y,reject:ne},async le=>{if(M=await ei(e,r7,"getTransactionReceipt")({hash:n}).catch(()=>{}),M&&i<=1){clearTimeout(ce),le.resolve(M),P?.();return}G=ei(e,qZ,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:I,async onBlockNumber(pe){let ae=se=>{clearTimeout(ce),G?.(),se(),P?.()},W=pe;if(!D)try{if(M){if(i>1&&(!M.blockNumber||W-M.blockNumber+1n<i))return;ae(()=>le.resolve(M));return}if(r&&!N&&(D=!0,await i5(async()=>{N=await ei(e,t7,"getTransaction")({hash:n}),N.blockNumber&&(W=N.blockNumber)},{delay:g,retryCount:d}),D=!1),M=await ei(e,r7,"getTransactionReceipt")({hash:n}),i>1&&(!M.blockNumber||W-M.blockNumber+1n<i))return;ae(()=>le.resolve(M))}catch(se){if(se instanceof LT||se instanceof UT){if(!N){D=!1;return}try{T=N,D=!0;let O=await i5(()=>ei(e,tA,"getBlock")({blockNumber:W,includeTransactions:!0}),{delay:g,retryCount:d,shouldRetry:({error:A})=>A instanceof SB});D=!1;let s=O.transactions.find(({from:A,nonce:m})=>A===T.from&&m===T.nonce);if(!s||(M=await ei(e,r7,"getTransactionReceipt")({hash:s.hash}),i>1&&(!M.blockNumber||W-M.blockNumber+1n<i)))return;let l="replaced";s.to===T.to&&s.value===T.value&&s.input===T.input?l="repriced":s.from===s.to&&s.value===0n&&(l="cancelled"),ae(()=>{le.onReplaced?.({reason:l,replacedTransaction:T,transaction:s,transactionReceipt:M}),le.resolve(M)})}catch(O){ae(()=>le.reject(O))}}else ae(()=>le.reject(se))}}})}),q}J();K();z();Zh();function rlt(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:r=!1,emitOnBegin:i=!1,onBlock:n,onError:o,includeTransactions:d,poll:g,pollingInterval:y=e.pollingInterval}){let _=typeof g<"u"?g:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),I=d??!1,N;return _?(()=>{let D=ws(["watchBlocks",e.uid,t,r,i,I,y]);return rA(D,{onBlock:n,onError:o},P=>c2(async()=>{try{let G=await ei(e,tA,"getBlock")({blockTag:t,includeTransactions:I});if(G.number!==null&&N?.number!=null){if(G.number===N.number)return;if(G.number-N.number>1&&r)for(let q=N?.number+1n;q<G.number;q++){let Y=await ei(e,tA,"getBlock")({blockNumber:q,includeTransactions:I});P.onBlock(Y,N),N=Y}}(N?.number==null||t==="pending"&&G?.number==null||G.number!==null&&G.number>N.number)&&(P.onBlock(G,N),N=G)}catch(G){P.onError?.(G)}},{emitOnBegin:i,interval:y}))})():(()=>{let D=!0,P=!0,G=()=>D=!1;return(async()=>{try{i&&ei(e,tA,"getBlock")({blockTag:t,includeTransactions:I}).then(ne=>{D&&P&&(n(ne,void 0),P=!1)}).catch(o);let q=(()=>{if(e.transport.type==="fallback"){let ne=e.transport.transports.find(ce=>ce.config.type==="webSocket"||ce.config.type==="ipc");return ne?ne.value:e.transport}return e.transport})(),{unsubscribe:Y}=await q.subscribe({params:["newHeads"],async onData(ne){if(!D)return;let ce=await ei(e,tA,"getBlock")({blockNumber:ne.result?.number,includeTransactions:I}).catch(()=>{});D&&(n(ce,N),P=!1,N=ce)},onError(ne){o?.(ne)}});G=Y,D||G()}catch(q){o?.(q)}})(),()=>G()})()}J();K();z();W0();aB();Zh();function nlt(e,{address:t,args:r,batch:i=!0,event:n,events:o,fromBlock:d,onError:g,onLogs:y,poll:_,pollingInterval:I=e.pollingInterval,strict:N}){let T=typeof _<"u"?_:typeof d=="bigint"?!0:!(e.transport.type==="webSocket"||e.transport.type==="ipc"||e.transport.type==="fallback"&&(e.transport.transports[0].config.type==="webSocket"||e.transport.transports[0].config.type==="ipc")),M=N??!1;return T?(()=>{let G=ws(["watchEvent",t,r,i,e.uid,n,I,d]);return rA(G,{onLogs:y,onError:g},q=>{let Y;d!==void 0&&(Y=d-1n);let ne,ce=!1,le=c2(async()=>{if(!ce){try{ne=await ei(e,dZ,"createEventFilter")({address:t,args:r,event:n,events:o,strict:M,fromBlock:d})}catch{}ce=!0;return}try{let pe;if(ne)pe=await ei(e,D3,"getFilterChanges")({filter:ne});else{let ae=await ei(e,lE,"getBlockNumber")({});Y&&Y!==ae?pe=await ei(e,MB,"getLogs")({address:t,args:r,event:n,events:o,fromBlock:Y+1n,toBlock:ae}):pe=[],Y=ae}if(pe.length===0)return;if(i)q.onLogs(pe);else for(let ae of pe)q.onLogs([ae])}catch(pe){ne&&pe instanceof t2&&(ce=!1),q.onError?.(pe)}},{emitOnBegin:!0,interval:I});return async()=>{ne&&await ei(e,k3,"uninstallFilter")({filter:ne}),le()}})})():(()=>{let G=!0,q=()=>G=!1;return(async()=>{try{let Y=(()=>{if(e.transport.type==="fallback"){let pe=e.transport.transports.find(ae=>ae.config.type==="webSocket"||ae.config.type==="ipc");return pe?pe.value:e.transport}return e.transport})(),ne=o??(n?[n]:void 0),ce=[];ne&&(ce=[ne.flatMap(ae=>rE({abi:[ae],eventName:ae.name,args:r}))],n&&(ce=ce[0]));let{unsubscribe:le}=await Y.subscribe({params:["logs",{address:t,topics:ce}],onData(pe){if(!G)return;let ae=pe.result;try{let{eventName:W,args:se}=TB({abi:ne??[],data:ae.data,topics:ae.topics,strict:M}),O=El(ae,{args:se,eventName:W});y([O])}catch(W){let se,O;if(W instanceof fy||W instanceof Xb){if(N)return;se=W.abiItem.name,O=W.abiItem.inputs?.some(l=>!("name"in l&&l.name))}let s=El(ae,{args:O?[]:{},eventName:se});y([s])}},onError(pe){g?.(pe)}});q=le,G||q()}catch(Y){g?.(Y)}})(),()=>q()})()}J();K();z();Zh();function ilt(e,{batch:t=!0,onError:r,onTransactions:i,poll:n,pollingInterval:o=e.pollingInterval}){return(typeof n<"u"?n:e.transport.type!=="webSocket"&&e.transport.type!=="ipc")?(()=>{let _=ws(["watchPendingTransactions",e.uid,t,o]);return rA(_,{onTransactions:i,onError:r},I=>{let N,T=c2(async()=>{try{if(!N)try{N=await ei(e,fZ,"createPendingTransactionFilter")({});return}catch(D){throw T(),D}let M=await ei(e,D3,"getFilterChanges")({filter:N});if(M.length===0)return;if(t)I.onTransactions(M);else for(let D of M)I.onTransactions([D])}catch(M){I.onError?.(M)}},{emitOnBegin:!0,interval:o});return async()=>{N&&await ei(e,k3,"uninstallFilter")({filter:N}),T()}})})():(()=>{let _=!0,I=()=>_=!1;return(async()=>{try{let{unsubscribe:N}=await e.transport.subscribe({params:["newPendingTransactions"],onData(T){if(!_)return;let M=T.result;i([M])},onError(T){r?.(T)}});I=N,_||I()}catch(N){r?.(N)}})(),()=>I()})()}J();K();z();J();K();z();function olt(e){let{scheme:t,statement:r,...i}=e.match(bor)?.groups??{},{chainId:n,expirationTime:o,issuedAt:d,notBefore:g,requestId:y,..._}=e.match(Eor)?.groups??{},I=e.split("Resources:")[1]?.split(` +- `).slice(1);return{...i,..._,...n?{chainId:Number(n)}:{},...o?{expirationTime:new Date(o)}:{},...d?{issuedAt:new Date(d)}:{},...g?{notBefore:new Date(g)}:{},...y?{requestId:y}:{},...I?{resources:I}:{},...t?{scheme:t}:{},...r?{statement:r}:{}}}var bor=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Eor=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;J();K();z();Yp();$w();function alt(e){let{address:t,domain:r,message:i,nonce:n,scheme:o,time:d=new Date}=e;if(r&&i.domain!==r||n&&i.nonce!==n||o&&i.scheme!==o||i.expirationTime&&d>=i.expirationTime||i.notBefore&&d<i.notBefore)return!1;try{if(!i.address||!ys(i.address,{strict:!1})||t&&!o2(i.address,t))return!1}catch{return!1}return!0}async function slt(e,t){let{address:r,domain:i,message:n,nonce:o,scheme:d,signature:g,time:y=new Date,..._}=t,I=olt(n);if(!I.address||!alt({address:r,domain:i,message:I,nonce:o,scheme:d,time:y}))return!1;let T=ZB(n);return H3(e,{address:I.address,hash:T,signature:g,..._})}J();K();z();ug();async function i7(e,{serializedTransaction:t,throwOnReceiptRevert:r,timeout:i}){let n=await e.request({method:"eth_sendRawTransactionSync",params:i?[t,Sn(i)]:[t]},{retryCount:0}),d=(e.chain?.formatters?.transactionReceipt?.format||kU)(n);if(d.status==="reverted"&&r)throw new FT({receipt:d});return d}function d5(e){return{call:t=>fE(e,t),createAccessList:t=>uZ(e,t),createBlockFilter:()=>Ndt(e),createContractEventFilter:t=>DW(e,t),createEventFilter:t=>dZ(e,t),createPendingTransactionFilter:()=>fZ(e),estimateContractGas:t=>y0t(e,t),estimateGas:t=>xB(e,t),getBalance:t=>xdt(e,t),getBlobBaseFee:()=>Tdt(e),getBlock:t=>tA(e,t),getBlockNumber:t=>lE(e,t),getBlockTransactionCount:t=>Bdt(e,t),getBytecode:t=>LU(e,t),getChainId:()=>bl(e),getCode:t=>LU(e,t),getContractEvents:t=>SX(e,t),getEip712Domain:t=>Mdt(e,t),getEnsAddress:t=>bdt(e,t),getEnsAvatar:t=>Cdt(e,t),getEnsName:t=>wdt(e,t),getEnsResolver:t=>Odt(e,t),getEnsText:t=>cZ(e,t),getFeeHistory:t=>kdt(e,t),estimateFeesPerGas:t=>p0t(e,t),getFilterChanges:t=>D3(e,t),getFilterLogs:t=>Pdt(e,t),getGasPrice:()=>IB(e),getLogs:t=>MB(e,t),getProof:t=>Gft(e,t),estimateMaxPriorityFeePerGas:t=>A0t(e,t),getStorageAt:t=>qft(e,t),getTransaction:t=>t7(e,t),getTransactionConfirmations:t=>Vft(e,t),getTransactionCount:t=>CB(e,t),getTransactionReceipt:t=>r7(e,t),multicall:t=>Jft(e,t),prepareTransactionRequest:t=>i2(e,t),readContract:t=>lf(e,t),sendRawTransaction:t=>L3(e,t),sendRawTransactionSync:t=>i7(e,t),simulate:t=>KU(e,t),simulateBlocks:t=>KU(e,t),simulateCalls:t=>Zft(e,t),simulateContract:t=>hdt(e,t),verifyHash:t=>H3(e,t),verifyMessage:t=>elt(e,t),verifySiweMessage:t=>slt(e,t),verifyTypedData:t=>tlt(e,t),uninstallFilter:t=>k3(e,t),waitForTransactionReceipt:t=>VZ(e,t),watchBlocks:t=>rlt(e,t),watchBlockNumber:t=>qZ(e,t),watchContractEvent:t=>_dt(e,t),watchEvent:t=>nlt(e,t),watchPendingTransactions:t=>ilt(e,t)}}function ame(e){let{key:t="public",name:r="Public Client"}=e;return nZ({...e,key:t,name:r,type:"publicClient"}).extend(d5)}J();K();z();J();K();z();J();K();z();fo();async function clt(e,{chain:t}){let{id:r,name:i,nativeCurrency:n,rpcUrls:o,blockExplorers:d}=t;await e.request({method:"wallet_addEthereumChain",params:[{chainId:Sn(r),chainName:i,nativeCurrency:n,rpcUrls:o.default.http,blockExplorerUrls:d?Object.values(d).map(({url:g})=>g):void 0}]},{dedupe:!0,retryCount:0})}J();K();z();GX();function ult(e,t){let{abi:r,args:i,bytecode:n,...o}=t,d=r5({abi:r,args:i,bytecode:n});return AE(e,{...o,...o.authorizationList?{to:null}:{},data:d})}J();K();z();tS();async function dlt(e){return e.account?.type==="local"?[e.account.address]:(await e.request({method:"eth_accounts"},{dedupe:!0})).map(r=>jb(r))}J();K();z();E0();fo();async function flt(e,t={}){let{account:r=e.account,chainId:i}=t,n=r?na(r):void 0,o=i?[n?.address,[Sn(i)]]:[n?.address],d=await e.request({method:"wallet_getCapabilities",params:o}),g={};for(let[y,_]of Object.entries(d)){g[Number(y)]={};for(let[I,N]of Object.entries(_))I==="addSubAccount"&&(I="unstable_addSubAccount"),g[Number(y)][I]=N}return typeof i=="number"?g[i]:g}J();K();z();async function llt(e){return await e.request({method:"wallet_getPermissions"},{dedupe:!0})}J();K();z();E0();$w();async function JZ(e,t){let{account:r=e.account,chainId:i,nonce:n}=t;if(!r)throw new gd({docsPath:"/docs/eip7702/prepareAuthorization"});let o=na(r),d=(()=>{if(t.executor)return t.executor==="self"?t.executor:na(t.executor)})(),g={address:t.contractAddress??t.address,chainId:i,nonce:n};return typeof g.chainId>"u"&&(g.chainId=e.chain?.id??await ei(e,bl,"getChainId")({})),typeof g.nonce>"u"&&(g.nonce=await ei(e,CB,"getTransactionCount")({address:o.address,blockTag:"pending"}),(d==="self"||d?.address&&o2(d.address,o.address))&&(g.nonce+=1)),g}J();K();z();tS();async function hlt(e){return(await e.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(r=>hy(r))}J();K();z();async function Alt(e,t){return e.request({method:"wallet_requestPermissions",params:[t]},{retryCount:0})}J();K();z();async function plt(e,t){let{chain:r=e.chain}=t,i=t.timeout??Math.max((r?.blockTime??0)*3,5e3),n=await XX(e,t);return await jX(e,{...t,id:n.id,timeout:i})}J();K();z();E0();ia();ug();EB();dS();xT();cE();var sme=new Z_(128);async function zZ(e,t){let{account:r=e.account,chain:i=e.chain,accessList:n,authorizationList:o,blobs:d,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,pollingInterval:D,throwOnReceiptRevert:P,type:G,value:q,...Y}=t,ne=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(typeof r>"u")throw new gd({docsPath:"/docs/actions/wallet/sendTransactionSync"});let ce=r?na(r):null;try{yl(t);let le=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await I3({authorization:o[0]}).catch(()=>{throw new Kr("`to` is required. Could not infer from `authorizationList`.")})})();if(ce?.type==="json-rpc"||ce===null){let pe;i!==null&&(pe=await ei(e,bl,"getChainId")({}),hE({currentChainId:pe,chain:i}));let ae=e.chain?.formatters?.transactionRequest?.format,se=(ae||JA)({...sE(Y,{format:ae}),accessList:n,account:ce,authorizationList:o,blobs:d,chainId:pe,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,to:le,type:G,value:q},"sendTransaction"),O=sme.get(e.uid),s=O?"wallet_sendTransaction":"eth_sendTransaction",l=await(async()=>{try{return await e.request({method:s,params:[se]},{retryCount:0})}catch(m){if(O===!1)throw m;let E=m;if(E.name==="InvalidInputRpcError"||E.name==="InvalidParamsRpcError"||E.name==="MethodNotFoundRpcError"||E.name==="MethodNotSupportedRpcError")return await e.request({method:"wallet_sendTransaction",params:[se]},{retryCount:0}).then(w=>(sme.set(e.uid,!0),w)).catch(w=>{let x=w;throw x.name==="MethodNotFoundRpcError"||x.name==="MethodNotSupportedRpcError"?(sme.set(e.uid,!1),E):x});throw E}})(),A=await ei(e,VZ,"waitForTransactionReceipt")({checkReplacement:!1,hash:l,pollingInterval:D,timeout:ne});if(P&&A.status==="reverted")throw new FT({receipt:A});return A}if(ce?.type==="local"){let pe=await ei(e,i2,"prepareTransactionRequest")({account:ce,accessList:n,authorizationList:o,blobs:d,chain:i,data:g,gas:y,gasPrice:_,maxFeePerBlobGas:I,maxFeePerGas:N,maxPriorityFeePerGas:T,nonce:M,nonceManager:ce.nonceManager,parameters:[...vU,"sidecars"],type:G,value:q,...Y,to:le}),ae=i?.serializers?.transaction,W=await ce.signTransaction(pe,{serializer:ae});return await ei(e,i7,"sendRawTransactionSync")({serializedTransaction:W,throwOnReceiptRevert:P})}throw ce?.type==="smart"?new u2({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new u2({docsPath:"/docs/actions/wallet/sendTransactionSync",type:ce?.type})}catch(le){throw le instanceof u2?le:P3(le,{...t,account:ce,chain:t.chain||void 0})}}J();K();z();async function glt(e,t){let{id:r}=t;await e.request({method:"wallet_showCallsStatus",params:[r]})}J();K();z();E0();async function _lt(e,t){let{account:r=e.account}=t;if(!r)throw new gd({docsPath:"/docs/eip7702/signAuthorization"});let i=na(r);if(!i.signAuthorization)throw new u2({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:i.type});let n=await JZ(e,t);return i.signAuthorization(n)}J();K();z();E0();fo();async function mlt(e,{account:t=e.account,message:r}){if(!t)throw new gd({docsPath:"/docs/actions/wallet/signMessage"});let i=na(t);if(i.signMessage)return i.signMessage({message:r});let n=typeof r=="string"?Y_(r):r.raw instanceof Uint8Array?Uo(r.raw):r.raw;return e.request({method:"personal_sign",params:[n,i.address]},{retryCount:0})}J();K();z();E0();fo();dS();cE();async function KZ(e,t){let{account:r=e.account,chain:i=e.chain,...n}=t;if(!r)throw new gd({docsPath:"/docs/actions/wallet/signTransaction"});let o=na(r);yl({account:o,...t});let d=await ei(e,bl,"getChainId")({});i!==null&&hE({currentChainId:d,chain:i});let y=(i?.formatters||e.chain?.formatters)?.transactionRequest?.format||JA;return o.signTransaction?o.signTransaction({...n,chainId:d},{serializer:e.chain?.serializers?.transaction}):await e.request({method:"eth_signTransaction",params:[{...y({...n,account:o},"signTransaction"),chainId:Sn(d),from:o.address}]},{retryCount:0})}J();K();z();E0();async function $Z(e,t){let{account:r=e.account,domain:i,message:n,primaryType:o}=t;if(!r)throw new gd({docsPath:"/docs/actions/wallet/signTypedData"});let d=na(r),g={EIP712Domain:yZ({domain:i}),...t.types};if(mZ({domain:i,message:n,primaryType:o,types:g}),d.signTypedData)return d.signTypedData({domain:i,message:n,primaryType:o,types:g});let y=Ydt({domain:i,message:n,primaryType:o,types:g});return e.request({method:"eth_signTypedData_v4",params:[d.address,y]},{retryCount:0})}J();K();z();fo();async function ylt(e,{id:t}){await e.request({method:"wallet_switchEthereumChain",params:[{chainId:Sn(t)}]},{retryCount:0})}J();K();z();async function blt(e,t){return await e.request({method:"wallet_watchAsset",params:t},{retryCount:0})}J();K();z();async function Elt(e,t){return _S.internal(e,zZ,"sendTransactionSync",t)}function vlt(e){return{addChain:t=>clt(e,t),deployContract:t=>ult(e,t),getAddresses:()=>dlt(e),getCallsStatus:t=>ZX(e,t),getCapabilities:t=>flt(e,t),getChainId:()=>bl(e),getPermissions:()=>llt(e),prepareAuthorization:t=>JZ(e,t),prepareTransactionRequest:t=>i2(e,t),requestAddresses:()=>hlt(e),requestPermissions:t=>Alt(e,t),sendCalls:t=>XX(e,t),sendCallsSync:t=>plt(e,t),sendRawTransaction:t=>L3(e,t),sendRawTransactionSync:t=>i7(e,t),sendTransaction:t=>AE(e,t),sendTransactionSync:t=>zZ(e,t),showCallsStatus:t=>glt(e,t),signAuthorization:t=>_lt(e,t),signMessage:t=>mlt(e,t),signTransaction:t=>KZ(e,t),signTypedData:t=>$Z(e,t),switchChain:t=>ylt(e,t),waitForCallsStatus:t=>jX(e,t),watchAsset:t=>blt(e,t),writeContract:t=>_S(e,t),writeContractSync:t=>Elt(e,t)}}function o7(e){let{key:t="wallet",name:r="Wallet Client",transport:i}=e;return nZ({...e,key:t,name:r,transport:i,type:"walletClient"}).extend(vlt)}J();K();z();function YZ({key:e,methods:t,name:r,request:i,retryCount:n=3,retryDelay:o=150,timeout:d,type:g},y){let _=rZ();return{config:{key:e,methods:t,name:r,request:i,retryCount:n,retryDelay:o,timeout:d,type:g},request:Vdt(i,{methods:t,retryCount:n,retryDelay:o,uid:_}),value:y}}J();K();z();function cme(e,t={}){let{key:r="custom",methods:i,name:n="Custom Provider",retryDelay:o}=t;return({retryCount:d})=>YZ({key:r,methods:i,name:n,request:e.request.bind(e),retryCount:t.retryCount??d,retryDelay:o,type:"custom"})}J();K();z();Hw();J();K();z();ia();var WZ=class extends Kr{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}};Z_e();function a7(e,t={}){let{batch:r,fetchFn:i,fetchOptions:n,key:o="http",methods:d,name:g="HTTP JSON-RPC",onFetchRequest:y,onFetchResponse:_,retryDelay:I,raw:N}=t;return({chain:T,retryCount:M,timeout:D})=>{let{batchSize:P=1e3,wait:G=0}=typeof r=="object"?r:{},q=t.retryCount??M,Y=D??t.timeout??1e4,ne=e||T?.rpcUrls.default.http[0];if(!ne)throw new WZ;let ce=zdt(ne,{fetchFn:i,fetchOptions:n,onRequest:y,onResponse:_,timeout:Y});return YZ({key:o,methods:d,name:g,async request({method:le,params:pe}){let ae={method:le,params:pe},{schedule:W}=JX({id:ne,wait:G,shouldSplitBatch(l){return l.length>P},fn:l=>ce.request({body:l}),sort:(l,A)=>l.id-A.id}),se=async l=>r?W(l):[await ce.request({body:l})],[{error:O,result:s}]=await se(ae);if(N)return{error:O,result:s};if(O)throw new m3({body:ae,error:O,url:ne});return s},retryCount:q,retryDelay:I,timeout:Y,type:"http"},{fetchOptions:n,url:ne})}}tS();fo();J();K();z();J();K();z();J();K();z();J();K();z();sf();cf();fo();dS();J();K();z();fX();var s7=50000n,ume=h0t*32n;var dme={block:pX({format(e){let t=e.transactions?.map(r=>{if(typeof r=="string")return r;let i=dme.transaction?.format(r);return i.typeHex==="0x71"?i.type="eip712":i.typeHex==="0xff"&&(i.type="priority"),i});return{l1BatchNumber:e.l1BatchNumber?Ga(e.l1BatchNumber):null,l1BatchTimestamp:e.l1BatchTimestamp?Ga(e.l1BatchTimestamp):null,transactions:t}}}),transaction:AX({format(e){let t={};return e.type==="0x71"?t.type="eip712":e.type==="0xff"&&(t.type="priority"),{...t,l1BatchNumber:e.l1BatchNumber?Ga(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?Ga(e.l1BatchTxIndex):null}}}),transactionReceipt:WX({format(e){return{l1BatchNumber:e.l1BatchNumber?Ga(e.l1BatchNumber):null,l1BatchTxIndex:e.l1BatchTxIndex?Ga(e.l1BatchTxIndex):null,logs:e.logs.map(t=>({...El(t),l1BatchNumber:t.l1BatchNumber?Ga(t.l1BatchNumber):null,transactionLogIndex:o0(t.transactionLogIndex),logType:t.logType})),l2ToL1Logs:e.l2ToL1Logs.map(t=>({blockNumber:Ga(t.blockHash),blockHash:t.blockHash,l1BatchNumber:t.l1BatchNumber?Ga(t.l1BatchNumber):null,transactionIndex:Ga(t.transactionIndex),shardId:Ga(t.shardId),isService:t.isService,sender:t.sender,key:t.key,value:t.value,transactionHash:t.transactionHash,logIndex:Ga(t.logIndex)}))}}}),transactionRequest:f0t({exclude:["customSignature","factoryDeps","gasPerPubdata","paymaster","paymasterInput"],format(e){return e.gasPerPubdata||e.paymaster&&e.paymasterInput||e.factoryDeps||e.customSignature?{eip712Meta:{...e.gasPerPubdata?{gasPerPubdata:Uo(e.gasPerPubdata)}:{gasPerPubdata:Uo(s7)},...e.paymaster&&e.paymasterInput?{paymasterParams:{paymaster:e.paymaster,paymasterInput:Array.from(Z0(e.paymasterInput))}}:{},...e.factoryDeps?{factoryDeps:e.factoryDeps.map(t=>Array.from(Z0(t)))}:{},...e.customSignature?{customSignature:Array.from(Z0(e.customSignature))}:{}},type:"0x71"}:{}}})};J();K();z();Xh();fo();J();K();z();X_();ia();VB();Yp();J();K();z();ia();var c7=class extends Kr{constructor(){super(["Transaction is not an EIP712 transaction.","","Transaction must:",' - include `type: "eip712"`'," - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`"].join(` +`),{name:"InvalidEip712TransactionError"})}};J();K();z();function pE(e){return!!(e.type==="eip712"||"customSignature"in e&&e.customSignature||"paymaster"in e&&e.paymaster||"paymasterInput"in e&&e.paymasterInput||"gasPerPubdata"in e&&typeof e.gasPerPubdata=="bigint"||"factoryDeps"in e&&e.factoryDeps)}function XZ(e){let{chainId:t,to:r,from:i,paymaster:n,paymasterInput:o}=e;if(!pE(e))throw new c7;if(!t||t<=0)throw new pS({chainId:t});if(r&&!ys(r))throw new nc({address:r});if(i&&!ys(i))throw new nc({address:i});if(n&&!ys(n))throw new nc({address:n});if(n&&!o)throw new Kr("`paymasterInput` must be provided when `paymaster` is defined");if(!n&&o)throw new Kr("`paymaster` must be provided when `paymasterInput` is defined")}function vor(e,t){return pE(e)?Ror(e):WB(e,t)}var Rlt={transaction:vor};function Ror(e){let{chainId:t,gas:r,nonce:i,to:n,from:o,value:d,maxFeePerGas:g,maxPriorityFeePerGas:y,customSignature:_,factoryDeps:I,paymaster:N,paymasterInput:T,gasPerPubdata:M,data:D}=e;XZ(e);let P=[i?Uo(i):"0x",y?Uo(y):"0x",g?Uo(g):"0x",r?Uo(r):"0x",n??"0x",d?Uo(d):"0x",D??"0x",Uo(t),Uo(""),Uo(""),Uo(t),o??"0x",M?Uo(M):Uo(s7),I??[],_??"0x",N&&T?[N,T]:[]];return df(["0x71",lg(P)])}J();K();z();fo();J();K();z();tU();cf();J();K();z();ia();var ZZ=class extends Kr{constructor({givenLength:t,maxBytecodeSize:r}){super(`Bytecode cannot be longer than ${r} bytes. Given length: ${t}`,{name:"BytecodeLengthExceedsMaxSizeError"})}},jZ=class extends Kr{constructor({givenLengthInWords:t}){super(`Bytecode length in 32-byte words must be odd. Given length in words: ${t}`,{name:"BytecodeLengthInWordsMustBeOddError"})}},ej=class extends Kr{constructor({givenLength:t}){super(`The bytecode length in bytes must be divisible by 32. Given length: ${t}`,{name:"BytecodeLengthMustBeDivisibleBy32Error"})}};function WU(e){let t=Wh(e);if(t.length%32!==0)throw new ej({givenLength:t.length});if(t.length>ume)throw new ZZ({givenLength:t.length,maxBytecodeSize:ume});let r=_X(t),i=Wh(r),n=t.length/32;if(n%2===0)throw new jZ({givenLengthInWords:n});let o=Wh(n),d=Zb(o,{size:2}),g=new Uint8Array([1,0]);return i.set(g,0),i.set(d,2),i}var Slt=e=>{XZ(e);let t=Sor(e);return{domain:{name:"zkSync",version:"2",chainId:e.chainId},types:{Transaction:[{name:"txType",type:"uint256"},{name:"from",type:"uint256"},{name:"to",type:"uint256"},{name:"gasLimit",type:"uint256"},{name:"gasPerPubdataByteLimit",type:"uint256"},{name:"maxFeePerGas",type:"uint256"},{name:"maxPriorityFeePerGas",type:"uint256"},{name:"paymaster",type:"uint256"},{name:"nonce",type:"uint256"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"factoryDeps",type:"bytes32[]"},{name:"paymasterInput",type:"bytes"}]},primaryType:"Transaction",message:t}};function Sor(e){let{gas:t,nonce:r,to:i,from:n,value:o,maxFeePerGas:d,maxPriorityFeePerGas:g,factoryDeps:y,paymaster:_,paymasterInput:I,gasPerPubdata:N,data:T}=e;return{txType:113n,from:BigInt(n),to:i?BigInt(i):0n,gasLimit:t??0n,gasPerPubdataByteLimit:N??s7,maxFeePerGas:d??0n,maxPriorityFeePerGas:g??0n,paymaster:_?BigInt(_):0n,nonce:r?BigInt(r):0n,value:o??0n,data:T??"0x",factoryDeps:y?.map(M=>Uo(WU(M)))??[],paymasterInput:I||"0x"}}var tj={blockTime:1e3,formatters:dme,serializers:Rlt,custom:{getEip712Domain:Slt}};var fme=hc({...tj,blockTime:200,id:2741,name:"Abstract",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://api.mainnet.abs.xyz"],webSocket:["wss://api.mainnet.abs.xyz/ws"]}},blockExplorers:{default:{name:"Etherscan",url:"https://abscan.org"},native:{name:"Abstract Explorer",url:"https://explorer.mainnet.abs.xyz"}},contracts:{multicall3:{address:"0xAa4De41dba0Ca5dCBb288b7cC6b708F3aaC759E7",blockCreated:5288},erc6492Verifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:5263}}});J();K();z();var lme=hc({...tj,blockTime:200,id:11124,name:"Abstract Testnet",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://api.testnet.abs.xyz"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.abscan.org"},native:{name:"Abstract Explorer",url:"https://explorer.testnet.abs.xyz"}},testnet:!0,contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963",blockCreated:358349},erc6492Verifier:{address:"0xfB688330379976DA81eB64Fe4BF50d7401763B9C",blockCreated:431682}}});J();K();z();J();K();z();var Ilt={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}};J();K();z();sf();var Clt={block:pX({format(e){return{transactions:e.transactions?.map(r=>{if(typeof r=="string")return r;let i=Kw(r);return i.typeHex==="0x7e"&&(i.isSystemTx=r.isSystemTx,i.mint=r.mint?Ga(r.mint):void 0,i.sourceHash=r.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:AX({format(e){let t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Ga(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:WX({format(e){return{l1GasPrice:e.l1GasPrice?Ga(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Ga(e.l1GasUsed):null,l1Fee:e.l1Fee?Ga(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};J();K();z();X_();Yp();Xh();fo();function Ior(e,t){return wor(e)?Cor(e):WB(e,t)}var wlt={transaction:Ior};function Cor(e){Oor(e);let{sourceHash:t,data:r,from:i,gas:n,isSystemTx:o,mint:d,to:g,value:y}=e,_=[t,i,g??"0x",d?Uo(d):"0x",y?Uo(y):"0x",n?Uo(n):"0x",o?"0x1":"0x",r??"0x"];return df(["0x7e",lg(_)])}function wor(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function Oor(e){let{from:t,to:r}=e;if(t&&!ys(t))throw new nc({address:t});if(r&&!ys(r))throw new nc({address:r})}var u7={blockTime:2e3,contracts:Ilt,formatters:Clt,serializers:wlt};J();K();z();var hme=hc({id:43114,name:"Avalanche",blockTime:1700,nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://snowtrace.io",apiUrl:"https://api.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}});J();K();z();var Ame=hc({id:43113,name:"Avalanche Fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{default:{name:"SnowTrace",url:"https://testnet.snowtrace.io",apiUrl:"https://api-testnet.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7096959}},testnet:!0});J();K();z();var XU=1,rj=hc({...u7,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...u7.contracts,disputeGameFactory:{[XU]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[XU]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[XU]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[XU]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:XU}),Nor=hc({...rj,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://mainnet-preconf.base.org"]}}});J();K();z();var ZU=11155111,f5=hc({...u7,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...u7.contracts,disputeGameFactory:{[ZU]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[ZU]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[ZU]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[ZU]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:ZU}),xor=hc({...f5,experimental_preconfirmationTime:200,rpcUrls:{default:{http:["https://sepolia-preconf.base.org"]}}});J();K();z();var pme=hc({id:41923,name:"EDU Chain",nativeCurrency:{decimals:18,name:"EDU",symbol:"EDU"},rpcUrls:{default:{http:["https://rpc.edu-chain.raas.gelato.cloud"]}},blockExplorers:{default:{name:"EDU Chain Explorer",url:"https://educhain.blockscout.com/"}},testnet:!1});J();K();z();var gme=hc({id:4689,name:"IoTeX",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://iotexscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:22163670}}});J();K();z();var _me=hc({id:4690,name:"IoTeX Testnet",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://testnet.iotexscan.io"}},contracts:{multicall3:{address:"0xb5cecD6894c6f473Ec726A176f1512399A2e355d",blockCreated:24347592}},testnet:!0});J();K();z();var mme=hc({id:3338,name:"Peaq",nativeCurrency:{decimals:18,name:"peaq",symbol:"PEAQ"},rpcUrls:{default:{http:["https://quicknode1.peaq.xyz","https://quicknode2.peaq.xyz","https://quicknode3.peaq.xyz"],webSocket:["wss://quicknode1.peaq.xyz","wss://quicknode2.peaq.xyz","wss://quicknode3.peaq.xyz"]}},blockExplorers:{default:{name:"Subscan",url:"https://peaq.subscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:3566354}}});J();K();z();var yme=hc({id:137,name:"Polygon",blockTime:2e3,nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://polygon-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}});J();K();z();var bme=hc({id:80002,name:"Polygon Amoy",nativeCurrency:{name:"POL",symbol:"POL",decimals:18},rpcUrls:{default:{http:["https://rpc-amoy.polygon.technology"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://amoy.polygonscan.com",apiUrl:"https://api-amoy.polygonscan.com/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:3127388}},testnet:!0});J();K();z();var Eme=hc({id:1329,name:"Sei Network",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc.sei-apis.com/"],webSocket:["wss://evm-ws.sei-apis.com/"]}},blockExplorers:{default:{name:"Seitrace",url:"https://seitrace.com",apiUrl:"https://seitrace.com/pacific-1/api"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11"}}});J();K();z();var vme=hc({id:1328,name:"Sei Testnet",nativeCurrency:{name:"Sei",symbol:"SEI",decimals:18},rpcUrls:{default:{http:["https://evm-rpc-testnet.sei-apis.com"],webSocket:["wss://evm-ws-testnet.sei-apis.com"]}},blockExplorers:{default:{name:"Seitrace",url:"https://seitrace.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:98697651}},testnet:!0});J();K();z();var Rme=hc({id:1514,name:"Story",nativeCurrency:{decimals:18,name:"IP Token",symbol:"IP"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:340998},ensRegistry:{address:"0x5dc881dda4e4a8d312be3544ad13118d1a04cb17",blockCreated:648924},ensUniversalResolver:{address:"0xddfb18888a9466688235887dec2a10c4f5effee9",blockCreated:649114}},rpcUrls:{default:{http:["https://mainnet.storyrpc.io"]}},blockExplorers:{default:{name:"Story explorer",url:"https://storyscan.io",apiUrl:"https://storyscan.io/api/v2"}},ensTlds:[".ip"],testnet:!1});J();K();z();J();K();z();function Tor(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Nlt(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(r=>typeof r=="string"):t.every(r=>Number.isSafeInteger(r)):!1}function Sme(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function xlt(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function Ime(e){if(!Array.isArray(e))throw new Error("array expected")}function Tlt(e,t){if(!Nlt(!0,t))throw new Error(`${e}: array of strings expected`)}function Bor(e,t){if(!Nlt(!1,t))throw new Error(`${e}: array of numbers expected`)}function Mor(...e){let t=o=>o,r=(o,d)=>g=>o(d(g)),i=e.map(o=>o.encode).reduceRight(r,t),n=e.map(o=>o.decode).reduce(r,t);return{encode:i,decode:n}}function Dor(e){let t=typeof e=="string"?e.split(""):e,r=t.length;Tlt("alphabet",t);let i=new Map(t.map((n,o)=>[n,o]));return{encode:n=>(Ime(n),n.map(o=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw new Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:n=>(Ime(n),n.map(o=>{Sme("alphabet.decode",o);let d=i.get(o);if(d===void 0)throw new Error(`Unknown letter: "${o}". Allowed: ${e}`);return d}))}}function kor(e=""){return Sme("join",e),{encode:t=>(Tlt("join.decode",t),t.join(e)),decode:t=>(Sme("join.decode",t),t.split(e))}}function Olt(e,t,r){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(Ime(e),!e.length)return[];let i=0,n=[],o=Array.from(e,g=>{if(xlt(g),g<0||g>=t)throw new Error(`invalid integer: ${g}`);return g}),d=o.length;for(;;){let g=0,y=!0;for(let _=i;_<d;_++){let I=o[_],N=t*g,T=N+I;if(!Number.isSafeInteger(T)||N/t!==g||T-I!==N)throw new Error("convertRadix: carry overflow");let M=T/r;g=T%r;let D=Math.floor(M);if(o[_]=D,!Number.isSafeInteger(D)||D*r+g!==T)throw new Error("convertRadix: carry overflow");if(y)D?y=!1:i=_;else continue}if(n.push(g),y)break}for(let g=0;g<e.length-1&&e[g]===0;g++)n.push(0);return n.reverse()}function Por(e){xlt(e);let t=2**8;return{encode:r=>{if(!Tor(r))throw new Error("radix.encode input should be Uint8Array");return Olt(Array.from(r),t,e)},decode:r=>(Bor("radix.decode",r),Uint8Array.from(Olt(r,e,t)))}}var Lor=e=>Mor(Por(58),Dor(e),kor("")),Blt=Lor("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");J();K();z();mU();fo();J();K();z();X_();Yp();function Mlt(e){if(typeof e=="string"){if(!ys(e,{strict:!1}))throw new nc({address:e});return{address:e,type:"json-rpc"}}if(!ys(e.address,{strict:!1}))throw new nc({address:e.address});return{address:e.address,nonceManager:e.nonceManager,sign:e.sign,signAuthorization:e.signAuthorization,signMessage:e.signMessage,signTransaction:e.signTransaction,signTypedData:e.signTypedData,source:"custom",type:"local"}}J();K();z();mU();z_();cf();fo();var Cme=!1;async function gE({hash:e,privateKey:t,to:r="object"}){let{r:i,s:n,recovery:o}=py.sign(e.slice(2),t.slice(2),{lowS:!0,extraEntropy:X0(Cme,{strict:!1})?Z0(Cme):Cme}),d={r:Sn(i,{size:32}),s:Sn(n,{size:32}),v:o?28n:27n,yParity:o};return r==="bytes"||r==="hex"?GZ({...d,to:r}):d}J();K();z();async function Dlt(e){let{chainId:t,nonce:r,privateKey:i,to:n="object"}=e,o=e.contractAddress??e.address,d=await gE({hash:cX({address:o,chainId:t,nonce:r}),privateKey:i,to:n});return n==="object"?{address:o,chainId:t,nonce:r,...d}:d}J();K();z();async function klt({message:e,privateKey:t}){return await gE({hash:ZB(e),privateKey:t,to:"hex"})}J();K();z();W_();async function Plt(e){let{privateKey:t,transaction:r,serializer:i=WB}=e,n=r.type==="eip4844"?{...r,sidecars:!1}:r,o=await gE({hash:eu(await i(n)),privateKey:t});return await i(r,o)}J();K();z();async function Llt(e){let{privateKey:t,...r}=e;return await gE({hash:bZ(r),privateKey:t,to:"hex"})}function jU(e,t={}){let{nonceManager:r}=t,i=Uo(py.getPublicKey(e.slice(2),!1)),n=eX(i);return{...Mlt({address:n,nonceManager:r,async sign({hash:d}){return gE({hash:d,privateKey:e,to:"hex"})},async signAuthorization(d){return Dlt({...d,privateKey:e})},async signMessage({message:d}){return klt({message:d,privateKey:e})},async signTransaction(d,{serializer:g}={}){return Plt({privateKey:e,transaction:d,serializer:g})},async signTypedData(d){return Llt({...d,privateKey:e})}}),publicKey:i,source:"privateKey"}}J();K();z();J();K();z();var Ult="0x0000000000000000000000000000000000008006",Flt="0x0000000000000000000000000000000000010000";var kji=2n**160n;J();K();z();J();K();z();W0();eE();Xp();fo();J();K();z();var wme=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"},{indexed:!1,internalType:"enum IContractDeployer.AccountNonceOrdering",name:"nonceOrdering",type:"uint8"}],name:"AccountNonceOrderingUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"accountAddress",type:"address"},{indexed:!1,internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"aaVersion",type:"uint8"}],name:"AccountVersionUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"deployerAddress",type:"address"},{indexed:!0,internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"contractAddress",type:"address"}],name:"ContractDeployed",type:"event"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"create",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"create2",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_aaVersion",type:"uint8"}],name:"create2Account",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"},{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_aaVersion",type:"uint8"}],name:"createAccount",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"extendedAccountVersion",outputs:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_keccak256BytecodeHash",type:"bytes32"}],name:"forceDeployKeccak256",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"},{internalType:"bool",name:"callConstructor",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"input",type:"bytes"}],internalType:"struct ContractDeployer.ForceDeployment",name:"_deployment",type:"tuple"},{internalType:"address",name:"_sender",type:"address"}],name:"forceDeployOnAddress",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"bytecodeHash",type:"bytes32"},{internalType:"address",name:"newAddress",type:"address"},{internalType:"bool",name:"callConstructor",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"input",type:"bytes"}],internalType:"struct ContractDeployer.ForceDeployment[]",name:"_deployments",type:"tuple[]"}],name:"forceDeployOnAddresses",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_address",type:"address"}],name:"getAccountInfo",outputs:[{components:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"supportedAAVersion",type:"uint8"},{internalType:"enum IContractDeployer.AccountNonceOrdering",name:"nonceOrdering",type:"uint8"}],internalType:"struct IContractDeployer.AccountInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"uint256",name:"_senderNonce",type:"uint256"}],name:"getNewAddressCreate",outputs:[{internalType:"address",name:"newAddress",type:"address"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"bytes32",name:"_bytecodeHash",type:"bytes32"},{internalType:"bytes32",name:"_salt",type:"bytes32"},{internalType:"bytes",name:"_input",type:"bytes"}],name:"getNewAddressCreate2",outputs:[{internalType:"address",name:"newAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum IContractDeployer.AccountAbstractionVersion",name:"_version",type:"uint8"}],name:"updateAccountVersion",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"enum IContractDeployer.AccountNonceOrdering",name:"_nonceOrdering",type:"uint8"}],name:"updateNonceOrdering",outputs:[],stateMutability:"nonpayable",type:"function"}];var Ome="/docs/contract/encodeDeployData";function Hlt(e){let{abi:t,args:r,bytecode:i,deploymentType:n,salt:o}=e;if(!r||r.length===0){let{functionName:I,argsContractDeployer:N}=Qlt(n,o??l2e,Uo(WU(i)),"0x");return hu({abi:wme,functionName:I,args:N})}let d=t.find(I=>"type"in I&&I.type==="constructor");if(!d)throw new RT({docsPath:Ome});if(!("inputs"in d))throw new l3({docsPath:Ome});if(!d.inputs||d.inputs.length===0)throw new l3({docsPath:Ome});let g=ch(d.inputs,r),{functionName:y,argsContractDeployer:_}=Qlt(n,o??l2e,Uo(WU(i)),g);return hu({abi:wme,functionName:y,args:_})}function Qlt(e,t,r,i){let n=[t,r,i];return{create:{functionName:"create",argsContractDeployer:n},create2:{functionName:"create2",argsContractDeployer:n},createAccount:{functionName:"createAccount",argsContractDeployer:[...n,1]},create2Account:{functionName:"create2Account",argsContractDeployer:[...n,1]}}[e||"create"]}J();K();z();E0();J();K();z();cE();function nj(e){if(!pE(e))throw new c7;yl(e)}J();K();z();J();K();z();E0();ia();async function Glt(e,t){let{account:r=e.account,chain:i=e.chain,...n}=t,o=r?na(r):e.account;if(!o)throw new gd({docsPath:"/docs/actions/wallet/signTransaction"});if(nj({account:o,chain:i,...t}),!i?.custom?.getEip712Domain)throw new Kr("`getEip712Domain` not found on chain.");if(!i?.serializers?.transaction)throw new Kr("transaction serializer not found on chain.");let d=await ei(e,bl,"getChainId")({});i!==null&&hE({currentChainId:d,chain:i});let g=i?.custom.getEip712Domain({...n,chainId:d,from:o.address,type:"eip712"}),y=await $Z(e,{...g,account:o});return i?.serializers?.transaction({chainId:d,...n,customSignature:y,type:"eip712"},{r:"0x0",s:"0x0",v:0n})}async function ij(e,t){return pE(t)?Glt(e,t):await KZ(e,t)}async function oj(e,t){let{account:r=e.account,chain:i=e.chain}=t,n=r?na(r):e.account;if(!n)throw new gd({docsPath:"/docs/actions/wallet/sendTransaction"});try{nj(t);let o=await i2(e,{...t,nonceManager:n.nonceManager,parameters:["gas","nonce","fees"]}),d;i!==null&&(d=await ei(e,bl,"getChainId")({}),hE({currentChainId:d,chain:i}));let g=await ij(e,{...o,chainId:d});return await ei(e,L3,"sendRawTransaction")({serializedTransaction:g})}catch(o){throw P3(o,{...t,account:n,chain:i})}}function qlt(e,t){let{abi:r,args:i,bytecode:n,deploymentType:o,salt:d,...g}=t,y=Hlt({abi:r,args:i,bytecode:n,deploymentType:o,salt:d});return g.factoryDeps=g.factoryDeps||[],g.factoryDeps.includes(n)||g.factoryDeps.push(n),oj(e,{...g,data:y,to:o==="create2"||o==="create2Account"?Flt:Ult})}J();K();z();async function Nme(e,t){return pE(t)?oj(e,t):AE(e,t)}J();K();z();function xme(){return e=>({sendTransaction:t=>Nme(e,t),signTransaction:t=>ij(e,t),deployContract:t=>qlt(e,t),writeContract:t=>_S(Object.assign(e,{sendTransaction:r=>Nme(e,r)}),t)})}J();K();z();J();K();z();var For=1,Qor=2,Hor=3,Gor=4,qor=5,Vor=6,Jor=7,zor=8,Kor=9,$or=10,Yor=-32700,Wor=-32603,Xor=-32602,Zor=-32601,jor=-32600,ear=-32019,tar=-32018,rar=-32017,nar=-32016,iar=-32015,oar=-32014,aar=-32013,sar=-32012,car=-32011,uar=-32010,dar=-32009,far=-32008,lar=-32007,har=-32006,Aar=-32005,par=-32004,gar=-32003,_ar=-32002,mar=-32001,yar=28e5,bar=2800001,Ear=2800002,Rar=2800003,Sar=2800004,Iar=2800005,Car=2800006,war=2800007,Oar=2800008,Nar=2800009,xar=2800010,Tar=2800011,Tme=323e4,Vlt=32300001,Bme=3230002,Jlt=3230003,zlt=3230004,Bar=361e4,Mar=3610001,Dar=3610002,kar=3610003,Par=3610004,Lar=3610005,Uar=3610006,Far=3610007,Qar=3611e3,Har=3704e3,Gar=3704001,qar=3704002,Var=3704003,Jar=3704004,zar=4128e3,Kar=4128001,$ar=4128002,Yar=4615e3,War=4615001,Xar=4615002,Zar=4615003,jar=4615004,esr=4615005,tsr=4615006,rsr=4615007,nsr=4615008,isr=4615009,osr=4615010,asr=4615011,ssr=4615012,csr=4615013,usr=4615014,dsr=4615015,fsr=4615016,lsr=4615017,hsr=4615018,Asr=4615019,psr=4615020,gsr=4615021,_sr=4615022,msr=4615023,ysr=4615024,bsr=4615025,Esr=4615026,vsr=4615027,Rsr=4615028,Ssr=4615029,Isr=4615030,Csr=4615031,wsr=4615032,Osr=4615033,Nsr=4615034,xsr=4615035,Tsr=4615036,Bsr=4615037,Msr=4615038,Dsr=4615039,ksr=4615040,Psr=4615041,Lsr=4615042,Usr=4615043,Fsr=4615044,Qsr=4615045,Hsr=4615046,Gsr=4615047,qsr=4615048,Vsr=4615049,Jsr=4615050,zsr=4615051,Ksr=4615052,$sr=4615053,Ysr=4615054,Wsr=5508e3,Xsr=5508001,Zsr=5508002,jsr=5508003,ecr=5508004,tcr=5508005,rcr=5508006,ncr=5508007,icr=5508008,ocr=5508009,acr=5508010,scr=5508011,ccr=5663e3,ucr=5663001,dcr=5663002,fcr=5663003,lcr=5663004,hcr=5663005,Acr=5663006,pcr=5663007,gcr=5663008,_cr=5663009,mcr=5663010,ycr=5663011,bcr=5663012,Ecr=5663013,vcr=5663014,Rcr=5663015,Scr=5663016,Icr=5663017,Ccr=5663018,wcr=5663019,Ocr=5663020,Ncr=5663021,xcr=5663022,Tcr=705e4,Bcr=7050001,Mcr=7050002,Dcr=7050003,kcr=7050004,Pcr=7050005,Lcr=7050006,Ucr=7050007,Fcr=7050008,Qcr=7050009,Hcr=7050010,Gcr=7050011,qcr=7050012,Vcr=7050013,Jcr=7050014,zcr=7050015,Kcr=7050016,$cr=7050017,Ycr=7050018,Wcr=7050019,Xcr=7050020,Zcr=7050021,jcr=7050022,eur=7050023,tur=7050024,rur=7050025,nur=7050026,iur=7050027,our=7050028,aur=7050029,sur=7050030,cur=7050031,uur=7050032,dur=7050033,fur=7050034,lur=7050035,hur=7050036,Aur=7618e3,pur=7618001,gur=7618002,_ur=7618003,mur=8078e3,yur=8078001,bur=8078002,Eur=8078003,vur=8078004,Rur=8078005,Sur=8078006,Iur=8078007,Cur=8078008,wur=8078009,Our=8078010,Nur=8078011,aj=8078012,xur=8078013,Tur=8078014,Bur=8078015,Mur=8078016,Dur=8078017,kur=8078018,Pur=8078019,Lur=8078020,Uur=8078021,Fur=8078022,Qur=8078023,Hur=81e5,Gur=8100001,qur=8100002,Vur=8100003,Jur=819e4,zur=8190001,Kur=8190002,$ur=8190003,Yur=8190004,Wur=99e5,Xur=9900001,Zur=9900002,jur=9900003,e0r=9900004,t0r=9900005,r0r=9900006;function Klt(e){return Array.isArray(e)?"%5B"+e.map(Klt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function n0r([e,t]){return`${e}=${Klt(t)}`}function i0r(e){let t=Object.entries(e).map(n0r).join("&");return btoa(t)}var Ato={[Tme]:"Account not found at address: $address",[zlt]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[Jlt]:"Expected decoded account at address: $address",[Bme]:"Failed to decode account data at address: $address",[Vlt]:"Accounts not found at addresses: $addresses",[Nar]:"Unable to find a viable program address bump seed.",[Ear]:"$putativeAddress is not a base58-encoded address.",[yar]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[Rar]:"The `CryptoKey` must be an `Ed25519` public key.",[Tar]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[Oar]:"Invalid seeds; point must fall off the Ed25519 curve.",[Sar]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Car]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[war]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[Iar]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[xar]:"Program address cannot end with PDA marker.",[bar]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[Gor]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[For]:"The network has progressed past the last block for which this transaction could have been committed.",[mur]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Fur]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[Lur]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[Rur]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[Sur]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[vur]:"Encoder and decoder must either both be fixed-size or variable-size.",[Cur]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[bur]:"Expected a fixed-size codec, got a variable-size one.",[xur]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Eur]:"Expected a variable-size codec, got a fixed-size one.",[Pur]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[yur]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[kur]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[wur]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[Our]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Bur]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Iur]:"Expected [$codecDescription] to have $expected items, got $actual.",[aj]:"Invalid value $value for base $base with alphabet $alphabet.",[Mur]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[Nur]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[Tur]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[Uur]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Dur]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[Qur]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[Qar]:"No random values implementation could be found.",[isr]:"instruction requires an uninitialized account",[msr]:"instruction tries to borrow reference for an account which is already borrowed",[ysr]:"instruction left account with an outstanding borrowed reference",[gsr]:"program other than the account's owner changed the size of the account data",[esr]:"account data too small for instruction",[_sr]:"instruction expected an executable account",[Hsr]:"An account does not have enough lamports to be rent-exempt",[qsr]:"Program arithmetic overflowed",[Qsr]:"Failed to serialize or deserialize account data: $encodedData",[Ysr]:"Builtin programs must consume compute units",[wsr]:"Cross-program invocation call depth too deep",[Msr]:"Computational budget exceeded",[Esr]:"custom program error: #$code",[lsr]:"instruction contains duplicate accounts",[bsr]:"instruction modifications of multiply-passed account differ",[Isr]:"executable accounts must be rent exempt",[Rsr]:"instruction changed executable accounts data",[Ssr]:"instruction changed the balance of an executable account",[hsr]:"instruction changed executable bit of an account",[usr]:"instruction modified data of an account it does not own",[csr]:"instruction spent from the balance of an account it does not own",[War]:"generic instruction error",[Jsr]:"Provided owner is not allowed",[Usr]:"Account is immutable",[Fsr]:"Incorrect authority provided",[rsr]:"incorrect program id for instruction",[tsr]:"insufficient funds for instruction",[jar]:"invalid account data for instruction",[Gsr]:"Invalid account owner",[Xar]:"invalid program argument",[vsr]:"program returned invalid error code",[Zar]:"invalid instruction data",[Bsr]:"Failed to reallocate account data",[Tsr]:"Provided seeds do not result in a valid address",[zsr]:"Accounts data allocations exceeded the maximum allowed per transaction",[Ksr]:"Max accounts exceeded",[$sr]:"Max instruction trace length exceeded",[xsr]:"Length of the seed is too long for address generation",[Osr]:"An account required by the instruction is missing",[nsr]:"missing required signature for instruction",[ssr]:"instruction illegally modified the program id of an account",[psr]:"insufficient account keys for instruction",[Dsr]:"Cross-program invocation with unauthorized signer or writable account",[ksr]:"Failed to create program execution environment",[Lsr]:"Program failed to compile",[Psr]:"Program failed to complete",[fsr]:"instruction modified data of a read-only account",[dsr]:"instruction changed the balance of a read-only account",[Nsr]:"Cross-program invocation reentrancy not allowed for this instruction",[Asr]:"instruction modified rent epoch of an account",[asr]:"sum of account balances before and after instruction do not match",[osr]:"instruction requires an initialized account",[Yar]:"",[Csr]:"Unsupported program id",[Vsr]:"Unsupported sysvar",[t0r]:"Invalid instruction plan kind: $kind.",[gur]:"The provided instruction plan is empty.",[_ur]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[Aur]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[r0r]:"Invalid transaction plan kind: $kind.",[pur]:"No more instructions to pack; the message packer has completed the instruction plan.",[zar]:"The instruction does not have any accounts.",[Kar]:"The instruction does not have any data.",[$ar]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[qor]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Qor]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[Zur]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[e0r]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Xur]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Wur]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[jur]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Wor]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[Xor]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[jor]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Zor]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[Yor]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[sar]:"$__serverMessage",[mar]:"$__serverMessage",[par]:"$__serverMessage",[oar]:"$__serverMessage",[rar]:"Epoch rewards period still active at slot $slot",[uar]:"$__serverMessage",[dar]:"$__serverMessage",[ear]:"Failed to query long-term storage; please try again",[nar]:"Minimum context slot has not been reached",[Aar]:"Node is unhealthy; behind by $numSlotsBehind slots",[far]:"No snapshot",[_ar]:"Transaction simulation failed",[tar]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[lar]:"$__serverMessage",[car]:"Transaction history is not available from this node",[har]:"$__serverMessage",[aar]:"Transaction signature length mismatch",[gar]:"Transaction signature verification failure",[iar]:"$__serverMessage",[Har]:"Key pair bytes must be of length 64, got $byteLength.",[Gar]:"Expected private key bytes with length 32. Actual length: $actualLength.",[qar]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[Jar]:"The provided private key does not match the provided public key.",[Var]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Vor]:"Lamports value must be in the range [0, 2e64-1]",[Jor]:"`$value` cannot be parsed as a `BigInt`",[$or]:"$message",[zor]:"`$value` cannot be parsed as a `Number`",[Hor]:"No nonce account could be found at address `$nonceAccountAddress`",[Jur]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Kur]:"WebSocket was closed before payload could be added to the send buffer",[$ur]:"WebSocket connection closed",[Yur]:"WebSocket failed to connect",[zur]:"Failed to obtain a subscription id from the server",[Vur]:"Could not find an API plan for RPC method: `$method`",[Hur]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[qur]:"HTTP error ($statusCode): $message",[Gur]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Wsr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Xsr]:"The provided value does not implement the `KeyPairSigner` interface",[jsr]:"The provided value does not implement the `MessageModifyingSigner` interface",[ecr]:"The provided value does not implement the `MessagePartialSigner` interface",[Zsr]:"The provided value does not implement any of the `MessageSigner` interfaces",[rcr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[ncr]:"The provided value does not implement the `TransactionPartialSigner` interface",[icr]:"The provided value does not implement the `TransactionSendingSigner` interface",[tcr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[ocr]:"More than one `TransactionSendingSigner` was identified.",[acr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[scr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[Far]:"Cannot export a non-extractable key.",[Mar]:"No digest implementation could be found.",[Bar]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Dar]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[kar]:"No signature verification implementation could be found.",[Par]:"No key generation implementation could be found.",[Lar]:"No signing implementation could be found.",[Uar]:"No key export implementation could be found.",[Kor]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[Kcr]:"Transaction processing left an account with an outstanding borrowed reference",[Bcr]:"Account in use",[Mcr]:"Account loaded twice",[Dcr]:"Attempt to debit an account but found no record of a prior credit.",[eur]:"Transaction loads an address table account that doesn't exist",[Ucr]:"This transaction has already been processed",[Fcr]:"Blockhash not found",[Qcr]:"Loader call chain is too deep",[zcr]:"Transactions are currently disabled due to cluster maintenance",[sur]:"Transaction contains a duplicate instruction ($index) that is not allowed",[Pcr]:"Insufficient funds for fee",[cur]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[Lcr]:"This account may not be used to pay transaction fees",[Gcr]:"Transaction contains an invalid account reference",[rur]:"Transaction loads an address table account with invalid data",[nur]:"Transaction address table lookup uses an invalid index",[tur]:"Transaction loads an address table account with an invalid owner",[dur]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[Vcr]:"This program may not be used for executing instructions",[iur]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[Wcr]:"Transaction loads a writable account that cannot be written",[uur]:"Transaction exceeded max loaded accounts data size cap",[Hcr]:"Transaction requires a fee but has no signature present",[kcr]:"Attempt to load a program that does not exist",[lur]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[fur]:"ResanitizationNeeded",[Jcr]:"Transaction failed to sanitize accounts offsets correctly",[qcr]:"Transaction did not pass signature verification",[jcr]:"Transaction locked too many accounts",[hur]:"Sum of account balances before and after transaction do not match",[Tcr]:"The transaction failed with the error `$errorName`",[Ycr]:"Transaction version is unsupported",[Zcr]:"Transaction would exceed account data limit within the block",[aur]:"Transaction would exceed total account data limit",[Xcr]:"Transaction would exceed max account limit within the block",[$cr]:"Transaction would exceed max Block Cost Limit",[our]:"Transaction would exceed max Vote Cost Limit",[Rcr]:"Attempted to sign a transaction with an address that is not a signer for it",[mcr]:"Transaction is missing an address at index: $index.",[Scr]:"Transaction has no expected signers therefore it cannot be encoded",[Ocr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[dcr]:"Transaction does not have a blockhash lifetime",[fcr]:"Transaction is not a durable nonce transaction",[hcr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[Acr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[gcr]:"No fee payer set in CompiledTransaction",[pcr]:"Could not find program address at index $index",[Ccr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[wcr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[ycr]:"Transaction is missing a fee payer.",[bcr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[vcr]:"Transaction first instruction is not advance nonce account instruction.",[Ecr]:"Transaction with no instructions cannot be durable nonce transaction.",[ccr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[ucr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Icr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[_cr]:"Transaction is missing signatures for addresses: $addresses.",[lcr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Ncr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[xcr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function o0r(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${i0r(t)}'`),`${r}\``}}var d7=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=o0r(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};J();K();z();J();K();z();function a0r(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function $lt(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(a0r(t,e));return e.write(t,r,0),r}})}var Ylt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Wlt=()=>$lt({getSizeFromValue:e=>{try{return atob(e).length}catch{throw new d7(aj,{alphabet:Ylt,base:64,value:e})}},write(e,t,r){try{let i=atob(e).split("").map(n=>n.charCodeAt(0));return t.set(i,r),i.length+r}catch{throw new d7(aj,{alphabet:Ylt,base:64,value:e})}}});var Oto=globalThis.TextDecoder,Nto=globalThis.TextEncoder;function Xlt(e,t){try{return"exists"in e&&!e.exists?e:Object.freeze({...e,data:t.decode(e.data)})}catch{throw new d7(Bme,{address:e.address})}}function s0r(e,t){if(!t)return Object.freeze({address:e,exists:!1});let r=Wlt().encode(t.data[0]);return Object.freeze({...c0r(t),address:e,data:r,exists:!0})}function c0r(e){return Object.freeze({executable:e.executable,lamports:e.lamports,programAddress:e.owner,space:e.space})}async function Zlt(e,t,r={}){let{abortSignal:i,...n}=r,o=await e.getAccountInfo(t,{...n,encoding:"base64"}).send({abortSignal:i});return s0r(t,o.value)}function jlt(e){if(!e.exists)throw new d7(Tme,{address:e.address})}J();K();z();J();K();z();J();K();z();var u0r=1,d0r=2,f0r=3,l0r=4,h0r=5,A0r=6,p0r=7,g0r=8,_0r=9,m0r=10,y0r=-32700,b0r=-32603,E0r=-32602,v0r=-32601,R0r=-32600,S0r=-32019,I0r=-32018,C0r=-32017,w0r=-32016,O0r=-32015,N0r=-32014,x0r=-32013,T0r=-32012,B0r=-32011,M0r=-32010,D0r=-32009,k0r=-32008,P0r=-32007,L0r=-32006,U0r=-32005,F0r=-32004,Q0r=-32003,H0r=-32002,G0r=-32001,Mme=28e5,Dme=2800001,q0r=2800002,kme=2800003,eht=2800004,tht=2800005,Pme=2800006,Lme=2800007,sj=2800008,Ume=2800009,rht=2800010,nht=2800011,V0r=323e4,J0r=32300001,z0r=3230002,K0r=3230003,$0r=3230004,Y0r=361e4,W0r=3610001,X0r=3610002,Z0r=3610003,j0r=3610004,edr=3610005,tdr=3610006,rdr=3610007,ndr=3611e3,idr=3704e3,odr=3704001,adr=3704002,sdr=3704003,cdr=3704004,udr=4128e3,ddr=4128001,fdr=4128002,ldr=4615e3,hdr=4615001,Adr=4615002,pdr=4615003,gdr=4615004,_dr=4615005,mdr=4615006,ydr=4615007,bdr=4615008,Edr=4615009,vdr=4615010,Rdr=4615011,Sdr=4615012,Idr=4615013,Cdr=4615014,wdr=4615015,Odr=4615016,Ndr=4615017,xdr=4615018,Tdr=4615019,Bdr=4615020,Mdr=4615021,Ddr=4615022,kdr=4615023,Pdr=4615024,Ldr=4615025,Udr=4615026,Fdr=4615027,Qdr=4615028,Hdr=4615029,Gdr=4615030,qdr=4615031,Vdr=4615032,Jdr=4615033,zdr=4615034,Kdr=4615035,$dr=4615036,Ydr=4615037,Wdr=4615038,Xdr=4615039,Zdr=4615040,jdr=4615041,efr=4615042,tfr=4615043,rfr=4615044,nfr=4615045,ifr=4615046,ofr=4615047,afr=4615048,sfr=4615049,cfr=4615050,ufr=4615051,dfr=4615052,ffr=4615053,lfr=4615054,hfr=5508e3,Afr=5508001,pfr=5508002,gfr=5508003,_fr=5508004,mfr=5508005,yfr=5508006,bfr=5508007,Efr=5508008,vfr=5508009,Rfr=5508010,Sfr=5508011,Ifr=5663e3,Cfr=5663001,wfr=5663002,Ofr=5663003,Nfr=5663004,xfr=5663005,Tfr=5663006,Bfr=5663007,Mfr=5663008,Dfr=5663009,kfr=5663010,Pfr=5663011,Lfr=5663012,Ufr=5663013,Ffr=5663014,Qfr=5663015,Hfr=5663016,Gfr=5663017,qfr=5663018,Vfr=5663019,Jfr=5663020,zfr=5663021,Kfr=5663022,$fr=705e4,Yfr=7050001,Wfr=7050002,Xfr=7050003,Zfr=7050004,jfr=7050005,elr=7050006,tlr=7050007,rlr=7050008,nlr=7050009,ilr=7050010,olr=7050011,alr=7050012,slr=7050013,clr=7050014,ulr=7050015,dlr=7050016,flr=7050017,llr=7050018,hlr=7050019,Alr=7050020,plr=7050021,glr=7050022,_lr=7050023,mlr=7050024,ylr=7050025,blr=7050026,Elr=7050027,vlr=7050028,Rlr=7050029,Slr=7050030,Ilr=7050031,Clr=7050032,wlr=7050033,Olr=7050034,Nlr=7050035,xlr=7050036,Tlr=7618e3,Blr=7618001,Mlr=7618002,Dlr=7618003,iht=8078e3,Fme=8078001,oht=8078002,aht=8078003,Qme=8078004,Hme=8078005,Gme=8078006,klr=8078007,Plr=8078008,Llr=8078009,Ulr=8078010,Flr=8078011,qme=8078012,sht=8078013,cht=8078014,Qlr=8078015,Hlr=8078016,Glr=8078017,qlr=8078018,Vlr=8078019,uht=8078020,dht=8078021,Jlr=8078022,fht=8078023,zlr=81e5,Klr=8100001,$lr=8100002,Ylr=8100003,Wlr=819e4,Xlr=8190001,Zlr=8190002,jlr=8190003,ehr=8190004,thr=99e5,rhr=9900001,nhr=9900002,ihr=9900003,ohr=9900004,ahr=9900005,shr=9900006;function lht(e){return Array.isArray(e)?"%5B"+e.map(lht).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function chr([e,t]){return`${e}=${lht(t)}`}function uhr(e){let t=Object.entries(e).map(chr).join("&");return btoa(t)}var Hto={[V0r]:"Account not found at address: $address",[$0r]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[K0r]:"Expected decoded account at address: $address",[z0r]:"Failed to decode account data at address: $address",[J0r]:"Accounts not found at addresses: $addresses",[Ume]:"Unable to find a viable program address bump seed.",[q0r]:"$putativeAddress is not a base58-encoded address.",[Mme]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[kme]:"The `CryptoKey` must be an `Ed25519` public key.",[nht]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[sj]:"Invalid seeds; point must fall off the Ed25519 curve.",[eht]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Pme]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[Lme]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[tht]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[rht]:"Program address cannot end with PDA marker.",[Dme]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[l0r]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[u0r]:"The network has progressed past the last block for which this transaction could have been committed.",[iht]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Jlr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[uht]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[Hme]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[Gme]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[Qme]:"Encoder and decoder must either both be fixed-size or variable-size.",[Plr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[oht]:"Expected a fixed-size codec, got a variable-size one.",[sht]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[aht]:"Expected a variable-size codec, got a fixed-size one.",[Vlr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[Fme]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[qlr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[Llr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[Ulr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Qlr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[klr]:"Expected [$codecDescription] to have $expected items, got $actual.",[qme]:"Invalid value $value for base $base with alphabet $alphabet.",[Hlr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[Flr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[cht]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[dht]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Glr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[fht]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[ndr]:"No random values implementation could be found.",[Edr]:"instruction requires an uninitialized account",[kdr]:"instruction tries to borrow reference for an account which is already borrowed",[Pdr]:"instruction left account with an outstanding borrowed reference",[Mdr]:"program other than the account's owner changed the size of the account data",[_dr]:"account data too small for instruction",[Ddr]:"instruction expected an executable account",[ifr]:"An account does not have enough lamports to be rent-exempt",[afr]:"Program arithmetic overflowed",[nfr]:"Failed to serialize or deserialize account data: $encodedData",[lfr]:"Builtin programs must consume compute units",[Vdr]:"Cross-program invocation call depth too deep",[Wdr]:"Computational budget exceeded",[Udr]:"custom program error: #$code",[Ndr]:"instruction contains duplicate accounts",[Ldr]:"instruction modifications of multiply-passed account differ",[Gdr]:"executable accounts must be rent exempt",[Qdr]:"instruction changed executable accounts data",[Hdr]:"instruction changed the balance of an executable account",[xdr]:"instruction changed executable bit of an account",[Cdr]:"instruction modified data of an account it does not own",[Idr]:"instruction spent from the balance of an account it does not own",[hdr]:"generic instruction error",[cfr]:"Provided owner is not allowed",[tfr]:"Account is immutable",[rfr]:"Incorrect authority provided",[ydr]:"incorrect program id for instruction",[mdr]:"insufficient funds for instruction",[gdr]:"invalid account data for instruction",[ofr]:"Invalid account owner",[Adr]:"invalid program argument",[Fdr]:"program returned invalid error code",[pdr]:"invalid instruction data",[Ydr]:"Failed to reallocate account data",[$dr]:"Provided seeds do not result in a valid address",[ufr]:"Accounts data allocations exceeded the maximum allowed per transaction",[dfr]:"Max accounts exceeded",[ffr]:"Max instruction trace length exceeded",[Kdr]:"Length of the seed is too long for address generation",[Jdr]:"An account required by the instruction is missing",[bdr]:"missing required signature for instruction",[Sdr]:"instruction illegally modified the program id of an account",[Bdr]:"insufficient account keys for instruction",[Xdr]:"Cross-program invocation with unauthorized signer or writable account",[Zdr]:"Failed to create program execution environment",[efr]:"Program failed to compile",[jdr]:"Program failed to complete",[Odr]:"instruction modified data of a read-only account",[wdr]:"instruction changed the balance of a read-only account",[zdr]:"Cross-program invocation reentrancy not allowed for this instruction",[Tdr]:"instruction modified rent epoch of an account",[Rdr]:"sum of account balances before and after instruction do not match",[vdr]:"instruction requires an initialized account",[ldr]:"",[qdr]:"Unsupported program id",[sfr]:"Unsupported sysvar",[ahr]:"Invalid instruction plan kind: $kind.",[Mlr]:"The provided instruction plan is empty.",[Dlr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[Tlr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[shr]:"Invalid transaction plan kind: $kind.",[Blr]:"No more instructions to pack; the message packer has completed the instruction plan.",[udr]:"The instruction does not have any accounts.",[ddr]:"The instruction does not have any data.",[fdr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[h0r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[d0r]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[nhr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[ohr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[rhr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[thr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[ihr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[b0r]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[E0r]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[R0r]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[v0r]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[y0r]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[T0r]:"$__serverMessage",[G0r]:"$__serverMessage",[F0r]:"$__serverMessage",[N0r]:"$__serverMessage",[C0r]:"Epoch rewards period still active at slot $slot",[M0r]:"$__serverMessage",[D0r]:"$__serverMessage",[S0r]:"Failed to query long-term storage; please try again",[w0r]:"Minimum context slot has not been reached",[U0r]:"Node is unhealthy; behind by $numSlotsBehind slots",[k0r]:"No snapshot",[H0r]:"Transaction simulation failed",[I0r]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[P0r]:"$__serverMessage",[B0r]:"Transaction history is not available from this node",[L0r]:"$__serverMessage",[x0r]:"Transaction signature length mismatch",[Q0r]:"Transaction signature verification failure",[O0r]:"$__serverMessage",[idr]:"Key pair bytes must be of length 64, got $byteLength.",[odr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[adr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[cdr]:"The provided private key does not match the provided public key.",[sdr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[A0r]:"Lamports value must be in the range [0, 2e64-1]",[p0r]:"`$value` cannot be parsed as a `BigInt`",[m0r]:"$message",[g0r]:"`$value` cannot be parsed as a `Number`",[f0r]:"No nonce account could be found at address `$nonceAccountAddress`",[Wlr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Zlr]:"WebSocket was closed before payload could be added to the send buffer",[jlr]:"WebSocket connection closed",[ehr]:"WebSocket failed to connect",[Xlr]:"Failed to obtain a subscription id from the server",[Ylr]:"Could not find an API plan for RPC method: `$method`",[zlr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[$lr]:"HTTP error ($statusCode): $message",[Klr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[hfr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Afr]:"The provided value does not implement the `KeyPairSigner` interface",[gfr]:"The provided value does not implement the `MessageModifyingSigner` interface",[_fr]:"The provided value does not implement the `MessagePartialSigner` interface",[pfr]:"The provided value does not implement any of the `MessageSigner` interfaces",[yfr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[bfr]:"The provided value does not implement the `TransactionPartialSigner` interface",[Efr]:"The provided value does not implement the `TransactionSendingSigner` interface",[mfr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[vfr]:"More than one `TransactionSendingSigner` was identified.",[Rfr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Sfr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[rdr]:"Cannot export a non-extractable key.",[W0r]:"No digest implementation could be found.",[Y0r]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[X0r]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[Z0r]:"No signature verification implementation could be found.",[j0r]:"No key generation implementation could be found.",[edr]:"No signing implementation could be found.",[tdr]:"No key export implementation could be found.",[_0r]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[dlr]:"Transaction processing left an account with an outstanding borrowed reference",[Yfr]:"Account in use",[Wfr]:"Account loaded twice",[Xfr]:"Attempt to debit an account but found no record of a prior credit.",[_lr]:"Transaction loads an address table account that doesn't exist",[tlr]:"This transaction has already been processed",[rlr]:"Blockhash not found",[nlr]:"Loader call chain is too deep",[ulr]:"Transactions are currently disabled due to cluster maintenance",[Slr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[jfr]:"Insufficient funds for fee",[Ilr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[elr]:"This account may not be used to pay transaction fees",[olr]:"Transaction contains an invalid account reference",[ylr]:"Transaction loads an address table account with invalid data",[blr]:"Transaction address table lookup uses an invalid index",[mlr]:"Transaction loads an address table account with an invalid owner",[wlr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[slr]:"This program may not be used for executing instructions",[Elr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[hlr]:"Transaction loads a writable account that cannot be written",[Clr]:"Transaction exceeded max loaded accounts data size cap",[ilr]:"Transaction requires a fee but has no signature present",[Zfr]:"Attempt to load a program that does not exist",[Nlr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[Olr]:"ResanitizationNeeded",[clr]:"Transaction failed to sanitize accounts offsets correctly",[alr]:"Transaction did not pass signature verification",[glr]:"Transaction locked too many accounts",[xlr]:"Sum of account balances before and after transaction do not match",[$fr]:"The transaction failed with the error `$errorName`",[llr]:"Transaction version is unsupported",[plr]:"Transaction would exceed account data limit within the block",[Rlr]:"Transaction would exceed total account data limit",[Alr]:"Transaction would exceed max account limit within the block",[flr]:"Transaction would exceed max Block Cost Limit",[vlr]:"Transaction would exceed max Vote Cost Limit",[Qfr]:"Attempted to sign a transaction with an address that is not a signer for it",[kfr]:"Transaction is missing an address at index: $index.",[Hfr]:"Transaction has no expected signers therefore it cannot be encoded",[Jfr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[wfr]:"Transaction does not have a blockhash lifetime",[Ofr]:"Transaction is not a durable nonce transaction",[xfr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[Tfr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[Mfr]:"No fee payer set in CompiledTransaction",[Bfr]:"Could not find program address at index $index",[qfr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[Vfr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[Pfr]:"Transaction is missing a fee payer.",[Lfr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[Ffr]:"Transaction first instruction is not advance nonce account instruction.",[Ufr]:"Transaction with no instructions cannot be durable nonce transaction.",[Ifr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[Cfr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Gfr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[Dfr]:"Transaction is missing signatures for addresses: $addresses.",[Nfr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[zfr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[Kfr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function dhr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${uhr(t)}'`),`${r}\``}}function hht(e,t){return e instanceof Error&&e.name==="SolanaError"?t!==void 0?e.context.__code===t:!0:!1}var KA=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=dhr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function fhr(e,t){if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r}var lhr=(e,t)=>fhr(e.length<=t?e:e.slice(0,t),t);function hhr(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function cj(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(hhr(t,e));return e.write(t,r,0),r}})}function Vme(e){return Object.freeze({...e,decode:(t,r=0)=>e.read(t,r)[0]})}function G3(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function Ahr(e){return!G3(e)}function Jme(e,t){if(G3(e)!==G3(t))throw new KA(Qme);if(G3(e)&&G3(t)&&e.fixedSize!==t.fixedSize)throw new KA(Hme,{decoderFixedSize:t.fixedSize,encoderFixedSize:e.fixedSize});if(!G3(e)&&!G3(t)&&e.maxSize!==t.maxSize)throw new KA(Gme,{decoderMaxSize:t.maxSize,encoderMaxSize:e.maxSize});return{...t,...e,decode:t.decode,encode:e.encode,read:t.read,write:e.write}}function phr(e,t,r,i=0){let n=r.length-i;if(n<t)throw new KA(Fme,{bytesLength:n,codecDescription:e,expected:t})}function Aht(e,t){return cj({fixedSize:t,write:(r,i,n)=>{let o=e.encode(r),d=o.length>t?o.slice(0,t):o;return i.set(d,n),n+t}})}function pht(e,t){return Vme({fixedSize:t,read:(r,i)=>{phr("fixCodecSize",t,r,i),(i>0||r.length>t)&&(r=r.slice(i,i+t)),G3(e)&&(r=lhr(r,e.fixedSize));let[n]=e.read(r,0);return[n,i+t]}})}function ght(e,t){return cj({...Ahr(e)?{...e,getSizeFromValue:r=>e.getSizeFromValue(t(r))}:e,write:(r,i,n)=>e.write(t(r),i,n)})}J();K();z();function ghr(e,t,r=t){if(!t.match(new RegExp(`^[${e}]*$`)))throw new KA(qme,{alphabet:e,base:e.length,value:r})}var _hr=e=>cj({getSizeFromValue:t=>{let[r,i]=_ht(t,e[0]);if(!i)return t.length;let n=mht(i,e);return r.length+Math.ceil(n.toString(16).length/2)},write(t,r,i){if(ghr(e,t),t==="")return i;let[n,o]=_ht(t,e[0]);if(!o)return r.set(new Uint8Array(n.length).fill(0),i),i+n.length;let d=mht(o,e),g=[];for(;d>0n;)g.unshift(Number(d%256n)),d/=256n;let y=[...Array(n.length).fill(0),...g];return r.set(y,i),i+y.length}}),mhr=e=>Vme({read(t,r){let i=r===0?t:t.slice(r);if(i.length===0)return["",0];let n=i.findIndex(y=>y!==0);n=n===-1?i.length:n;let o=e[0].repeat(n);if(n===i.length)return[o,t.length];let d=i.slice(n).reduce((y,_)=>y*256n+BigInt(_),0n),g=yhr(d,e);return[o+g,t.length]}});function _ht(e,t){let[r,i]=e.split(new RegExp(`((?!${t}).*)`));return[r,i]}function mht(e,t){let r=BigInt(t.length),i=0n;for(let n of e)i*=r,i+=BigInt(t.indexOf(n));return i}function yhr(e,t){let r=BigInt(t.length),i=[];for(;e>0n;)i.unshift(t[Number(e%r)]),e/=r;return i.join("")}var yht="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",bht=()=>_hr(yht),Eht=()=>mhr(yht);var ero=globalThis.TextDecoder,tro=globalThis.TextEncoder;J();K();z();J();K();z();var bhr=1,Ehr=2,vhr=3,Rhr=4,Shr=5,Ihr=6,Chr=7,whr=8,Ohr=9,Nhr=10,xhr=-32700,Thr=-32603,Bhr=-32602,Mhr=-32601,Dhr=-32600,khr=-32019,Phr=-32018,Lhr=-32017,Uhr=-32016,Fhr=-32015,Qhr=-32014,Hhr=-32013,Ghr=-32012,qhr=-32011,Vhr=-32010,Jhr=-32009,zhr=-32008,Khr=-32007,$hr=-32006,Yhr=-32005,Whr=-32004,Xhr=-32003,Zhr=-32002,jhr=-32001,eAr=28e5,tAr=2800001,rAr=2800002,nAr=2800003,iAr=2800004,oAr=2800005,aAr=2800006,sAr=2800007,cAr=2800008,uAr=2800009,dAr=2800010,fAr=2800011,lAr=323e4,hAr=32300001,AAr=3230002,pAr=3230003,gAr=3230004,zme=361e4,Kme=3610001,vht=3610002,$me=3610003,Rht=3610004,Yme=3610005,Wme=3610006,_Ar=3610007,Xme=3611e3,mAr=3704e3,yAr=3704001,bAr=3704002,EAr=3704003,vAr=3704004,RAr=4128e3,SAr=4128001,IAr=4128002,CAr=4615e3,wAr=4615001,OAr=4615002,NAr=4615003,xAr=4615004,TAr=4615005,BAr=4615006,MAr=4615007,DAr=4615008,kAr=4615009,PAr=4615010,LAr=4615011,UAr=4615012,FAr=4615013,QAr=4615014,HAr=4615015,GAr=4615016,qAr=4615017,VAr=4615018,JAr=4615019,zAr=4615020,KAr=4615021,$Ar=4615022,YAr=4615023,WAr=4615024,XAr=4615025,ZAr=4615026,jAr=4615027,epr=4615028,tpr=4615029,rpr=4615030,npr=4615031,ipr=4615032,opr=4615033,apr=4615034,spr=4615035,cpr=4615036,upr=4615037,dpr=4615038,fpr=4615039,lpr=4615040,hpr=4615041,Apr=4615042,ppr=4615043,gpr=4615044,_pr=4615045,mpr=4615046,ypr=4615047,bpr=4615048,Epr=4615049,vpr=4615050,Rpr=4615051,Spr=4615052,Ipr=4615053,Cpr=4615054,wpr=5508e3,Opr=5508001,Npr=5508002,xpr=5508003,Tpr=5508004,Bpr=5508005,Mpr=5508006,Dpr=5508007,kpr=5508008,Ppr=5508009,Lpr=5508010,Upr=5508011,Fpr=5663e3,Qpr=5663001,Hpr=5663002,Gpr=5663003,qpr=5663004,Vpr=5663005,Jpr=5663006,zpr=5663007,Kpr=5663008,$pr=5663009,Ypr=5663010,Wpr=5663011,Xpr=5663012,Zpr=5663013,jpr=5663014,e1r=5663015,t1r=5663016,r1r=5663017,n1r=5663018,i1r=5663019,o1r=5663020,a1r=5663021,s1r=5663022,c1r=705e4,u1r=7050001,d1r=7050002,f1r=7050003,l1r=7050004,h1r=7050005,A1r=7050006,p1r=7050007,g1r=7050008,_1r=7050009,m1r=7050010,y1r=7050011,b1r=7050012,E1r=7050013,v1r=7050014,R1r=7050015,S1r=7050016,I1r=7050017,C1r=7050018,w1r=7050019,O1r=7050020,N1r=7050021,x1r=7050022,T1r=7050023,B1r=7050024,M1r=7050025,D1r=7050026,k1r=7050027,P1r=7050028,L1r=7050029,U1r=7050030,F1r=7050031,Q1r=7050032,H1r=7050033,G1r=7050034,q1r=7050035,V1r=7050036,J1r=7618e3,z1r=7618001,K1r=7618002,$1r=7618003,Y1r=8078e3,W1r=8078001,X1r=8078002,Z1r=8078003,j1r=8078004,egr=8078005,tgr=8078006,rgr=8078007,ngr=8078008,igr=8078009,ogr=8078010,agr=8078011,sgr=8078012,cgr=8078013,ugr=8078014,dgr=8078015,fgr=8078016,lgr=8078017,hgr=8078018,Agr=8078019,pgr=8078020,ggr=8078021,_gr=8078022,mgr=8078023,ygr=81e5,bgr=8100001,Egr=8100002,vgr=8100003,Rgr=819e4,Sgr=8190001,Igr=8190002,Cgr=8190003,wgr=8190004,Ogr=99e5,Ngr=9900001,xgr=9900002,Tgr=9900003,Bgr=9900004,Mgr=9900005,Dgr=9900006;function Sht(e){return Array.isArray(e)?"%5B"+e.map(Sht).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function kgr([e,t]){return`${e}=${Sht(t)}`}function Pgr(e){let t=Object.entries(e).map(kgr).join("&");return btoa(t)}var aro={[lAr]:"Account not found at address: $address",[gAr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[pAr]:"Expected decoded account at address: $address",[AAr]:"Failed to decode account data at address: $address",[hAr]:"Accounts not found at addresses: $addresses",[uAr]:"Unable to find a viable program address bump seed.",[rAr]:"$putativeAddress is not a base58-encoded address.",[eAr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[nAr]:"The `CryptoKey` must be an `Ed25519` public key.",[fAr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[cAr]:"Invalid seeds; point must fall off the Ed25519 curve.",[iAr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[aAr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[sAr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[oAr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[dAr]:"Program address cannot end with PDA marker.",[tAr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[Rhr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[bhr]:"The network has progressed past the last block for which this transaction could have been committed.",[Y1r]:"Codec [$codecDescription] cannot decode empty byte arrays.",[_gr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[pgr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[egr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[tgr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[j1r]:"Encoder and decoder must either both be fixed-size or variable-size.",[ngr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[X1r]:"Expected a fixed-size codec, got a variable-size one.",[cgr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Z1r]:"Expected a variable-size codec, got a fixed-size one.",[Agr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[W1r]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[hgr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[igr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[ogr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[dgr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[rgr]:"Expected [$codecDescription] to have $expected items, got $actual.",[sgr]:"Invalid value $value for base $base with alphabet $alphabet.",[fgr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[agr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[ugr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[ggr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[lgr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[mgr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[Xme]:"No random values implementation could be found.",[kAr]:"instruction requires an uninitialized account",[YAr]:"instruction tries to borrow reference for an account which is already borrowed",[WAr]:"instruction left account with an outstanding borrowed reference",[KAr]:"program other than the account's owner changed the size of the account data",[TAr]:"account data too small for instruction",[$Ar]:"instruction expected an executable account",[mpr]:"An account does not have enough lamports to be rent-exempt",[bpr]:"Program arithmetic overflowed",[_pr]:"Failed to serialize or deserialize account data: $encodedData",[Cpr]:"Builtin programs must consume compute units",[ipr]:"Cross-program invocation call depth too deep",[dpr]:"Computational budget exceeded",[ZAr]:"custom program error: #$code",[qAr]:"instruction contains duplicate accounts",[XAr]:"instruction modifications of multiply-passed account differ",[rpr]:"executable accounts must be rent exempt",[epr]:"instruction changed executable accounts data",[tpr]:"instruction changed the balance of an executable account",[VAr]:"instruction changed executable bit of an account",[QAr]:"instruction modified data of an account it does not own",[FAr]:"instruction spent from the balance of an account it does not own",[wAr]:"generic instruction error",[vpr]:"Provided owner is not allowed",[ppr]:"Account is immutable",[gpr]:"Incorrect authority provided",[MAr]:"incorrect program id for instruction",[BAr]:"insufficient funds for instruction",[xAr]:"invalid account data for instruction",[ypr]:"Invalid account owner",[OAr]:"invalid program argument",[jAr]:"program returned invalid error code",[NAr]:"invalid instruction data",[upr]:"Failed to reallocate account data",[cpr]:"Provided seeds do not result in a valid address",[Rpr]:"Accounts data allocations exceeded the maximum allowed per transaction",[Spr]:"Max accounts exceeded",[Ipr]:"Max instruction trace length exceeded",[spr]:"Length of the seed is too long for address generation",[opr]:"An account required by the instruction is missing",[DAr]:"missing required signature for instruction",[UAr]:"instruction illegally modified the program id of an account",[zAr]:"insufficient account keys for instruction",[fpr]:"Cross-program invocation with unauthorized signer or writable account",[lpr]:"Failed to create program execution environment",[Apr]:"Program failed to compile",[hpr]:"Program failed to complete",[GAr]:"instruction modified data of a read-only account",[HAr]:"instruction changed the balance of a read-only account",[apr]:"Cross-program invocation reentrancy not allowed for this instruction",[JAr]:"instruction modified rent epoch of an account",[LAr]:"sum of account balances before and after instruction do not match",[PAr]:"instruction requires an initialized account",[CAr]:"",[npr]:"Unsupported program id",[Epr]:"Unsupported sysvar",[Mgr]:"Invalid instruction plan kind: $kind.",[K1r]:"The provided instruction plan is empty.",[$1r]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[J1r]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[Dgr]:"Invalid transaction plan kind: $kind.",[z1r]:"No more instructions to pack; the message packer has completed the instruction plan.",[RAr]:"The instruction does not have any accounts.",[SAr]:"The instruction does not have any data.",[IAr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[Shr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Ehr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[xgr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Bgr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Ngr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Ogr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Tgr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Thr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[Bhr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[Dhr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Mhr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[xhr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[Ghr]:"$__serverMessage",[jhr]:"$__serverMessage",[Whr]:"$__serverMessage",[Qhr]:"$__serverMessage",[Lhr]:"Epoch rewards period still active at slot $slot",[Vhr]:"$__serverMessage",[Jhr]:"$__serverMessage",[khr]:"Failed to query long-term storage; please try again",[Uhr]:"Minimum context slot has not been reached",[Yhr]:"Node is unhealthy; behind by $numSlotsBehind slots",[zhr]:"No snapshot",[Zhr]:"Transaction simulation failed",[Phr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[Khr]:"$__serverMessage",[qhr]:"Transaction history is not available from this node",[$hr]:"$__serverMessage",[Hhr]:"Transaction signature length mismatch",[Xhr]:"Transaction signature verification failure",[Fhr]:"$__serverMessage",[mAr]:"Key pair bytes must be of length 64, got $byteLength.",[yAr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[bAr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[vAr]:"The provided private key does not match the provided public key.",[EAr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Ihr]:"Lamports value must be in the range [0, 2e64-1]",[Chr]:"`$value` cannot be parsed as a `BigInt`",[Nhr]:"$message",[whr]:"`$value` cannot be parsed as a `Number`",[vhr]:"No nonce account could be found at address `$nonceAccountAddress`",[Rgr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Igr]:"WebSocket was closed before payload could be added to the send buffer",[Cgr]:"WebSocket connection closed",[wgr]:"WebSocket failed to connect",[Sgr]:"Failed to obtain a subscription id from the server",[vgr]:"Could not find an API plan for RPC method: `$method`",[ygr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[Egr]:"HTTP error ($statusCode): $message",[bgr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[wpr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Opr]:"The provided value does not implement the `KeyPairSigner` interface",[xpr]:"The provided value does not implement the `MessageModifyingSigner` interface",[Tpr]:"The provided value does not implement the `MessagePartialSigner` interface",[Npr]:"The provided value does not implement any of the `MessageSigner` interfaces",[Mpr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[Dpr]:"The provided value does not implement the `TransactionPartialSigner` interface",[kpr]:"The provided value does not implement the `TransactionSendingSigner` interface",[Bpr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Ppr]:"More than one `TransactionSendingSigner` was identified.",[Lpr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Upr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[_Ar]:"Cannot export a non-extractable key.",[Kme]:"No digest implementation could be found.",[zme]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[vht]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[$me]:"No signature verification implementation could be found.",[Rht]:"No key generation implementation could be found.",[Yme]:"No signing implementation could be found.",[Wme]:"No key export implementation could be found.",[Ohr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[S1r]:"Transaction processing left an account with an outstanding borrowed reference",[u1r]:"Account in use",[d1r]:"Account loaded twice",[f1r]:"Attempt to debit an account but found no record of a prior credit.",[T1r]:"Transaction loads an address table account that doesn't exist",[p1r]:"This transaction has already been processed",[g1r]:"Blockhash not found",[_1r]:"Loader call chain is too deep",[R1r]:"Transactions are currently disabled due to cluster maintenance",[U1r]:"Transaction contains a duplicate instruction ($index) that is not allowed",[h1r]:"Insufficient funds for fee",[F1r]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[A1r]:"This account may not be used to pay transaction fees",[y1r]:"Transaction contains an invalid account reference",[M1r]:"Transaction loads an address table account with invalid data",[D1r]:"Transaction address table lookup uses an invalid index",[B1r]:"Transaction loads an address table account with an invalid owner",[H1r]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[E1r]:"This program may not be used for executing instructions",[k1r]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[w1r]:"Transaction loads a writable account that cannot be written",[Q1r]:"Transaction exceeded max loaded accounts data size cap",[m1r]:"Transaction requires a fee but has no signature present",[l1r]:"Attempt to load a program that does not exist",[q1r]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[G1r]:"ResanitizationNeeded",[v1r]:"Transaction failed to sanitize accounts offsets correctly",[b1r]:"Transaction did not pass signature verification",[x1r]:"Transaction locked too many accounts",[V1r]:"Sum of account balances before and after transaction do not match",[c1r]:"The transaction failed with the error `$errorName`",[C1r]:"Transaction version is unsupported",[N1r]:"Transaction would exceed account data limit within the block",[L1r]:"Transaction would exceed total account data limit",[O1r]:"Transaction would exceed max account limit within the block",[I1r]:"Transaction would exceed max Block Cost Limit",[P1r]:"Transaction would exceed max Vote Cost Limit",[e1r]:"Attempted to sign a transaction with an address that is not a signer for it",[Ypr]:"Transaction is missing an address at index: $index.",[t1r]:"Transaction has no expected signers therefore it cannot be encoded",[o1r]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[Hpr]:"Transaction does not have a blockhash lifetime",[Gpr]:"Transaction is not a durable nonce transaction",[Vpr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[Jpr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[Kpr]:"No fee payer set in CompiledTransaction",[zpr]:"Could not find program address at index $index",[n1r]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[i1r]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[Wpr]:"Transaction is missing a fee payer.",[Xpr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[jpr]:"Transaction first instruction is not advance nonce account instruction.",[Zpr]:"Transaction with no instructions cannot be durable nonce transaction.",[Fpr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[Qpr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[r1r]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[$pr]:"Transaction is missing signatures for addresses: $addresses.",[qpr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[a1r]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[s1r]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function Lgr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${Pgr(t)}'`),`${r}\``}}var l5=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=Lgr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Iht(){if(typeof globalThis.crypto>"u"||typeof globalThis.crypto.getRandomValues!="function")throw new l5(Xme)}function uj(){if(!globalThis.isSecureContext)throw new l5(zme)}function Cht(){if(uj(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.digest!="function")throw new l5(Kme)}function dj(){if(uj(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new l5($me)}function wht(){if(uj(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new l5(Yme)}function Oht(){if(uj(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.verify!="function")throw new l5(Wme)}var Zme,jme;function eye(){return Zme||(Zme=bht()),Zme}function Ugr(){return jme||(jme=Eht()),jme}function fj(e){if(e.length<32||e.length>44)return!1;let t=eye();try{return t.encode(e).byteLength===32}catch{return!1}}function tye(e){if(e.length<32||e.length>44)throw new KA(Dme,{actualLength:e.length});let i=eye().encode(e).byteLength;if(i!==32)throw new KA(Mme,{actualLength:i})}function Fgr(e){return tye(e),e}function ES(){return ght(Aht(eye(),32),e=>Fgr(e))}function bs(){return pht(Ugr(),32)}function Qgr(){return Jme(ES(),bs())}function lj(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}var Hgr=37095705934669439343138083508754565189542113879843219016388785533085940283555n,$A=57896044618658097711785492504343953926634992332820282019728792003956564819949n,Nht=19681161376707505956807079304988542015446066515923890162744021073123829784752n;function d2(e){let t=e%$A;return t>=0n?t:$A+t}function _E(e,t){let r=e;for(;t-- >0n;)r*=r,r%=$A;return r}function Ggr(e){let r=e*e%$A*e%$A,i=_E(r,2n)*r%$A,n=_E(i,1n)*e%$A,o=_E(n,5n)*n%$A,d=_E(o,10n)*o%$A,g=_E(d,20n)*d%$A,y=_E(g,40n)*g%$A,_=_E(y,80n)*y%$A,I=_E(_,80n)*y%$A,N=_E(I,10n)*o%$A;return _E(N,2n)*e%$A}function qgr(e,t){let r=d2(t*t*t),i=d2(r*r*t),n=Ggr(e*i),o=d2(e*r*n),d=d2(t*o*o),g=o,y=d2(o*Nht),_=d===e,I=d===d2(-e),N=d===d2(-e*Nht);return _&&(o=g),(I||N)&&(o=y),(d2(o)&1n)===1n&&(o=d2(-o)),!_&&!I?null:o}function Vgr(e,t){let r=d2(e*e),i=d2(r-1n),n=d2(Hgr*r+1n),o=qgr(i,n);if(o===null)return!1;let d=(t&128)!==0;return!(o===0n&&d)}function Jgr(e){let t=e.toString(16);return t.length===1?`0${t}`:t}function zgr(e){let r=`0x${e.reduce((i,n,o)=>`${Jgr(o===31?n&-129:n)}${i}`,"")}`;return BigInt(r)}function Kgr(e){if(e.byteLength!==32)return!1;let t=zgr(e);return Vgr(t,e[31])}var xht=32,Tht=16,$gr=[80,114,111,103,114,97,109,68,101,114,105,118,101,100,65,100,100,114,101,115,115];async function Ygr({programAddress:e,seeds:t}){if(Cht(),t.length>Tht)throw new KA(Pme,{actual:t.length,maxSeeds:Tht});let r,i=t.reduce((y,_,I)=>{let N=typeof _=="string"?(r||=new TextEncoder).encode(_):_;if(N.byteLength>xht)throw new KA(Lme,{actual:N.byteLength,index:I,maxSeedLength:xht});return y.push(...N),y},[]),n=Qgr(),o=n.encode(e),d=await crypto.subtle.digest("SHA-256",new Uint8Array([...i,...o,...$gr])),g=new Uint8Array(d);if(Kgr(g))throw new KA(sj);return n.decode(g)}async function Bht({programAddress:e,seeds:t}){let r=255;for(;r>0;)try{return[await Ygr({programAddress:e,seeds:[...t,new Uint8Array([r])]}),r]}catch(i){if(hht(i,sj))r--;else throw i}throw new KA(Ume)}async function hj(e){if(dj(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new KA(kme);let t=await crypto.subtle.exportKey("raw",e);return bs().decode(new Uint8Array(t))}J();K();z();J();K();z();var Wgr=1,Xgr=2,Zgr=3,jgr=4,e_r=5,t_r=6,r_r=7,n_r=8,i_r=9,o_r=10,a_r=-32700,s_r=-32603,c_r=-32602,u_r=-32601,d_r=-32600,f_r=-32019,l_r=-32018,h_r=-32017,A_r=-32016,p_r=-32015,g_r=-32014,__r=-32013,m_r=-32012,y_r=-32011,b_r=-32010,E_r=-32009,v_r=-32008,R_r=-32007,S_r=-32006,I_r=-32005,C_r=-32004,w_r=-32003,O_r=-32002,N_r=-32001,x_r=28e5,T_r=2800001,B_r=2800002,M_r=2800003,D_r=2800004,k_r=2800005,P_r=2800006,L_r=2800007,U_r=2800008,F_r=2800009,Q_r=2800010,H_r=2800011,G_r=323e4,q_r=32300001,V_r=3230002,J_r=3230003,z_r=3230004,K_r=361e4,$_r=3610001,Y_r=3610002,W_r=3610003,X_r=3610004,Z_r=3610005,j_r=3610006,e2r=3610007,t2r=3611e3,r2r=3704e3,n2r=3704001,i2r=3704002,o2r=3704003,a2r=3704004,s2r=4128e3,c2r=4128001,u2r=4128002,d2r=4615e3,f2r=4615001,l2r=4615002,h2r=4615003,A2r=4615004,p2r=4615005,g2r=4615006,_2r=4615007,m2r=4615008,y2r=4615009,b2r=4615010,E2r=4615011,v2r=4615012,R2r=4615013,S2r=4615014,I2r=4615015,C2r=4615016,w2r=4615017,O2r=4615018,N2r=4615019,x2r=4615020,T2r=4615021,B2r=4615022,M2r=4615023,D2r=4615024,k2r=4615025,P2r=4615026,L2r=4615027,U2r=4615028,F2r=4615029,Q2r=4615030,H2r=4615031,G2r=4615032,q2r=4615033,V2r=4615034,J2r=4615035,z2r=4615036,K2r=4615037,$2r=4615038,Y2r=4615039,W2r=4615040,X2r=4615041,Z2r=4615042,j2r=4615043,emr=4615044,tmr=4615045,rmr=4615046,nmr=4615047,imr=4615048,omr=4615049,amr=4615050,smr=4615051,cmr=4615052,umr=4615053,dmr=4615054,fmr=5508e3,lmr=5508001,hmr=5508002,Amr=5508003,pmr=5508004,gmr=5508005,_mr=5508006,mmr=5508007,ymr=5508008,bmr=5508009,Emr=5508010,vmr=5508011,Rmr=5663e3,Smr=5663001,Imr=5663002,Cmr=5663003,wmr=5663004,Omr=5663005,Nmr=5663006,xmr=5663007,Tmr=5663008,Bmr=5663009,Mmr=5663010,Dmr=5663011,kmr=5663012,Pmr=5663013,Lmr=5663014,Umr=5663015,Fmr=5663016,Qmr=5663017,Aj=5663018,pj=5663019,Hmr=5663020,Gmr=5663021,qmr=5663022,Vmr=705e4,Jmr=7050001,zmr=7050002,Kmr=7050003,$mr=7050004,Ymr=7050005,Wmr=7050006,Xmr=7050007,Zmr=7050008,jmr=7050009,eyr=7050010,tyr=7050011,ryr=7050012,nyr=7050013,iyr=7050014,oyr=7050015,ayr=7050016,syr=7050017,cyr=7050018,uyr=7050019,dyr=7050020,fyr=7050021,lyr=7050022,hyr=7050023,Ayr=7050024,pyr=7050025,gyr=7050026,_yr=7050027,myr=7050028,yyr=7050029,byr=7050030,Eyr=7050031,vyr=7050032,Ryr=7050033,Syr=7050034,Iyr=7050035,Cyr=7050036,wyr=7618e3,Oyr=7618001,Nyr=7618002,xyr=7618003,rye=8078e3,nye=8078001,iye=8078002,Mht=8078003,Dht=8078004,kht=8078005,Pht=8078006,Lht=8078007,oye=8078008,Uht=8078009,Fht=8078010,aye=8078011,gj=8078012,_j=8078013,sye=8078014,Qht=8078015,Hht=8078016,cye=8078017,uye=8078018,Tyr=8078019,Ght=8078020,qht=8078021,dye=8078022,Vht=8078023,Byr=81e5,Myr=8100001,Dyr=8100002,kyr=8100003,Pyr=819e4,Lyr=8190001,Uyr=8190002,Fyr=8190003,Qyr=8190004,Hyr=99e5,Gyr=9900001,qyr=9900002,Vyr=9900003,Jyr=9900004,zyr=9900005,Kyr=9900006;function Jht(e){return Array.isArray(e)?"%5B"+e.map(Jht).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function $yr([e,t]){return`${e}=${Jht(t)}`}function Yyr(e){let t=Object.entries(e).map($yr).join("&");return btoa(t)}var Iro={[G_r]:"Account not found at address: $address",[z_r]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[J_r]:"Expected decoded account at address: $address",[V_r]:"Failed to decode account data at address: $address",[q_r]:"Accounts not found at addresses: $addresses",[F_r]:"Unable to find a viable program address bump seed.",[B_r]:"$putativeAddress is not a base58-encoded address.",[x_r]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[M_r]:"The `CryptoKey` must be an `Ed25519` public key.",[H_r]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[U_r]:"Invalid seeds; point must fall off the Ed25519 curve.",[D_r]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[P_r]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[L_r]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[k_r]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[Q_r]:"Program address cannot end with PDA marker.",[T_r]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[jgr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[Wgr]:"The network has progressed past the last block for which this transaction could have been committed.",[rye]:"Codec [$codecDescription] cannot decode empty byte arrays.",[dye]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[Ght]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[kht]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[Pht]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[Dht]:"Encoder and decoder must either both be fixed-size or variable-size.",[oye]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[iye]:"Expected a fixed-size codec, got a variable-size one.",[_j]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Mht]:"Expected a variable-size codec, got a fixed-size one.",[Tyr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[nye]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[uye]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[Uht]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[Fht]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Qht]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Lht]:"Expected [$codecDescription] to have $expected items, got $actual.",[gj]:"Invalid value $value for base $base with alphabet $alphabet.",[Hht]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[aye]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[sye]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[qht]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[cye]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[Vht]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[t2r]:"No random values implementation could be found.",[y2r]:"instruction requires an uninitialized account",[M2r]:"instruction tries to borrow reference for an account which is already borrowed",[D2r]:"instruction left account with an outstanding borrowed reference",[T2r]:"program other than the account's owner changed the size of the account data",[p2r]:"account data too small for instruction",[B2r]:"instruction expected an executable account",[rmr]:"An account does not have enough lamports to be rent-exempt",[imr]:"Program arithmetic overflowed",[tmr]:"Failed to serialize or deserialize account data: $encodedData",[dmr]:"Builtin programs must consume compute units",[G2r]:"Cross-program invocation call depth too deep",[$2r]:"Computational budget exceeded",[P2r]:"custom program error: #$code",[w2r]:"instruction contains duplicate accounts",[k2r]:"instruction modifications of multiply-passed account differ",[Q2r]:"executable accounts must be rent exempt",[U2r]:"instruction changed executable accounts data",[F2r]:"instruction changed the balance of an executable account",[O2r]:"instruction changed executable bit of an account",[S2r]:"instruction modified data of an account it does not own",[R2r]:"instruction spent from the balance of an account it does not own",[f2r]:"generic instruction error",[amr]:"Provided owner is not allowed",[j2r]:"Account is immutable",[emr]:"Incorrect authority provided",[_2r]:"incorrect program id for instruction",[g2r]:"insufficient funds for instruction",[A2r]:"invalid account data for instruction",[nmr]:"Invalid account owner",[l2r]:"invalid program argument",[L2r]:"program returned invalid error code",[h2r]:"invalid instruction data",[K2r]:"Failed to reallocate account data",[z2r]:"Provided seeds do not result in a valid address",[smr]:"Accounts data allocations exceeded the maximum allowed per transaction",[cmr]:"Max accounts exceeded",[umr]:"Max instruction trace length exceeded",[J2r]:"Length of the seed is too long for address generation",[q2r]:"An account required by the instruction is missing",[m2r]:"missing required signature for instruction",[v2r]:"instruction illegally modified the program id of an account",[x2r]:"insufficient account keys for instruction",[Y2r]:"Cross-program invocation with unauthorized signer or writable account",[W2r]:"Failed to create program execution environment",[Z2r]:"Program failed to compile",[X2r]:"Program failed to complete",[C2r]:"instruction modified data of a read-only account",[I2r]:"instruction changed the balance of a read-only account",[V2r]:"Cross-program invocation reentrancy not allowed for this instruction",[N2r]:"instruction modified rent epoch of an account",[E2r]:"sum of account balances before and after instruction do not match",[b2r]:"instruction requires an initialized account",[d2r]:"",[H2r]:"Unsupported program id",[omr]:"Unsupported sysvar",[zyr]:"Invalid instruction plan kind: $kind.",[Nyr]:"The provided instruction plan is empty.",[xyr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[wyr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[Kyr]:"Invalid transaction plan kind: $kind.",[Oyr]:"No more instructions to pack; the message packer has completed the instruction plan.",[s2r]:"The instruction does not have any accounts.",[c2r]:"The instruction does not have any data.",[u2r]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[e_r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Xgr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[qyr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Jyr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Gyr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Hyr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Vyr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[s_r]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[c_r]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[d_r]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[u_r]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[a_r]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[m_r]:"$__serverMessage",[N_r]:"$__serverMessage",[C_r]:"$__serverMessage",[g_r]:"$__serverMessage",[h_r]:"Epoch rewards period still active at slot $slot",[b_r]:"$__serverMessage",[E_r]:"$__serverMessage",[f_r]:"Failed to query long-term storage; please try again",[A_r]:"Minimum context slot has not been reached",[I_r]:"Node is unhealthy; behind by $numSlotsBehind slots",[v_r]:"No snapshot",[O_r]:"Transaction simulation failed",[l_r]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[R_r]:"$__serverMessage",[y_r]:"Transaction history is not available from this node",[S_r]:"$__serverMessage",[__r]:"Transaction signature length mismatch",[w_r]:"Transaction signature verification failure",[p_r]:"$__serverMessage",[r2r]:"Key pair bytes must be of length 64, got $byteLength.",[n2r]:"Expected private key bytes with length 32. Actual length: $actualLength.",[i2r]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[a2r]:"The provided private key does not match the provided public key.",[o2r]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[t_r]:"Lamports value must be in the range [0, 2e64-1]",[r_r]:"`$value` cannot be parsed as a `BigInt`",[o_r]:"$message",[n_r]:"`$value` cannot be parsed as a `Number`",[Zgr]:"No nonce account could be found at address `$nonceAccountAddress`",[Pyr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Uyr]:"WebSocket was closed before payload could be added to the send buffer",[Fyr]:"WebSocket connection closed",[Qyr]:"WebSocket failed to connect",[Lyr]:"Failed to obtain a subscription id from the server",[kyr]:"Could not find an API plan for RPC method: `$method`",[Byr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[Dyr]:"HTTP error ($statusCode): $message",[Myr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[fmr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[lmr]:"The provided value does not implement the `KeyPairSigner` interface",[Amr]:"The provided value does not implement the `MessageModifyingSigner` interface",[pmr]:"The provided value does not implement the `MessagePartialSigner` interface",[hmr]:"The provided value does not implement any of the `MessageSigner` interfaces",[_mr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[mmr]:"The provided value does not implement the `TransactionPartialSigner` interface",[ymr]:"The provided value does not implement the `TransactionSendingSigner` interface",[gmr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[bmr]:"More than one `TransactionSendingSigner` was identified.",[Emr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[vmr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[e2r]:"Cannot export a non-extractable key.",[$_r]:"No digest implementation could be found.",[K_r]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Y_r]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[W_r]:"No signature verification implementation could be found.",[X_r]:"No key generation implementation could be found.",[Z_r]:"No signing implementation could be found.",[j_r]:"No key export implementation could be found.",[i_r]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[ayr]:"Transaction processing left an account with an outstanding borrowed reference",[Jmr]:"Account in use",[zmr]:"Account loaded twice",[Kmr]:"Attempt to debit an account but found no record of a prior credit.",[hyr]:"Transaction loads an address table account that doesn't exist",[Xmr]:"This transaction has already been processed",[Zmr]:"Blockhash not found",[jmr]:"Loader call chain is too deep",[oyr]:"Transactions are currently disabled due to cluster maintenance",[byr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[Ymr]:"Insufficient funds for fee",[Eyr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[Wmr]:"This account may not be used to pay transaction fees",[tyr]:"Transaction contains an invalid account reference",[pyr]:"Transaction loads an address table account with invalid data",[gyr]:"Transaction address table lookup uses an invalid index",[Ayr]:"Transaction loads an address table account with an invalid owner",[Ryr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[nyr]:"This program may not be used for executing instructions",[_yr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[uyr]:"Transaction loads a writable account that cannot be written",[vyr]:"Transaction exceeded max loaded accounts data size cap",[eyr]:"Transaction requires a fee but has no signature present",[$mr]:"Attempt to load a program that does not exist",[Iyr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[Syr]:"ResanitizationNeeded",[iyr]:"Transaction failed to sanitize accounts offsets correctly",[ryr]:"Transaction did not pass signature verification",[lyr]:"Transaction locked too many accounts",[Cyr]:"Sum of account balances before and after transaction do not match",[Vmr]:"The transaction failed with the error `$errorName`",[cyr]:"Transaction version is unsupported",[fyr]:"Transaction would exceed account data limit within the block",[yyr]:"Transaction would exceed total account data limit",[dyr]:"Transaction would exceed max account limit within the block",[syr]:"Transaction would exceed max Block Cost Limit",[myr]:"Transaction would exceed max Vote Cost Limit",[Umr]:"Attempted to sign a transaction with an address that is not a signer for it",[Mmr]:"Transaction is missing an address at index: $index.",[Fmr]:"Transaction has no expected signers therefore it cannot be encoded",[Hmr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[Imr]:"Transaction does not have a blockhash lifetime",[Cmr]:"Transaction is not a durable nonce transaction",[Omr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[Nmr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[Tmr]:"No fee payer set in CompiledTransaction",[xmr]:"Could not find program address at index $index",[Aj]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[pj]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[Dmr]:"Transaction is missing a fee payer.",[kmr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[Lmr]:"Transaction first instruction is not advance nonce account instruction.",[Pmr]:"Transaction with no instructions cannot be durable nonce transaction.",[Rmr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[Smr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Qmr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[Bmr]:"Transaction is missing signatures for addresses: $addresses.",[wmr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Gmr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[qmr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function Wyr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${Yyr(t)}'`),`${r}\``}}function zht(e,t){return e instanceof Error&&e.name==="SolanaError"?t!==void 0?e.context.__code===t:!0:!1}var Ud=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=Wyr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Xyr(e,t){if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r}var Zyr=(e,t)=>Xyr(e.length<=t?e:e.slice(0,t),t);function _y(e,t,r){let i=r===0&&e.length===t.length?e:e.slice(r,r+t.length);return i.length!==t.length?!1:t.every((n,o)=>n===i[o])}function fye(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function mE(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(fye(t,e));return e.write(t,r,0),r}})}function Sl(e){return Object.freeze({...e,decode:(t,r=0)=>e.read(t,r)[0]})}function pg(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function lye(e){if(!pg(e))throw new Ud(iye)}function jyr(e){return!pg(e)}function $ht(e,t,r=0){if(t.length-r<=0)throw new Ud(rye,{codecDescription:e})}function eF(e,t,r,i=0){let n=r.length-i;if(n<t)throw new Ud(nye,{bytesLength:n,codecDescription:e,expected:t})}function Kht(e,t,r){if(t<0||t>r)throw new Ud(sye,{bytesLength:r,codecDescription:e,offset:t})}function Oc(e,t){let r=(d,g)=>{let[y,_]=t.read(d,g),I=Number(y);return g=_,(g>0||d.length>I)&&(d=d.slice(g,g+I)),eF("addDecoderSizePrefix",I,d),[e.decode(d),g+I]};if(pg(t)&&pg(e))return Sl({...e,fixedSize:t.fixedSize+e.fixedSize,read:r});let i=pg(t)?t.fixedSize:t.maxSize??null,n=pg(e)?e.fixedSize:e.maxSize??null,o=i!==null&&n!==null?i+n:null;return Sl({...e,...o!==null?{maxSize:o}:{},read:r})}function f7(e,t){return Sl({fixedSize:t,read:(r,i)=>{eF("fixCodecSize",t,r,i),(i>0||r.length>t)&&(r=r.slice(i,i+t)),pg(e)&&(r=Zyr(r,e.fixedSize));let[n]=e.read(r,0);return[n,i+t]}})}function ebr(e,t){return mE({...e,write:(r,i,n)=>{let o=_=>tbr(_,i.length),d=t.preOffset?t.preOffset({bytes:i,preOffset:n,wrapBytes:o}):n;Kht("offsetEncoder",d,i.length);let g=e.write(r,i,d),y=t.postOffset?t.postOffset({bytes:i,newPreOffset:d,postOffset:g,preOffset:n,wrapBytes:o}):g;return Kht("offsetEncoder",y,i.length),y}})}function tbr(e,t){return t===0?0:(e%t+t)%t}function rbr(e,t){if(pg(e)){let r=t(e.fixedSize);if(r<0)throw new Ud(_j,{bytesLength:r,codecDescription:"resizeEncoder"});return mE({...e,fixedSize:r})}return mE({...e,getSizeFromValue:r=>{let i=t(e.getSizeFromValue(r));if(i<0)throw new Ud(_j,{bytesLength:i,codecDescription:"resizeEncoder"});return i}})}function Yht(e,t){return ebr(rbr(e,r=>r+t),{preOffset:({preOffset:r})=>r+t})}function h5(e,t){return mE({...jyr(e)?{...e,getSizeFromValue:r=>e.getSizeFromValue(t(r))}:e,write:(r,i,n)=>e.write(t(r),i,n)})}function yE(e,t){return Sl({...e,read:(r,i)=>{let[n,o]=e.read(r,i);return[t(n,r,i),o]}})}J();K();z();J();K();z();function nbr(e,t,r,i){if(i<t||i>r)throw new Ud(aye,{codecDescription:e,max:r,min:t,value:i})}function Wht(e){return e?.endian!==1}function hye(e){return mE({fixedSize:e.size,write(t,r,i){e.range&&nbr(e.name,e.range[0],e.range[1],t);let n=new ArrayBuffer(e.size);return e.set(new DataView(n),t,Wht(e.config)),r.set(new Uint8Array(n),i),i+e.size}})}function l7(e){return Sl({fixedSize:e.size,read(t,r=0){$ht(e.name,t,r),eF(e.name,e.size,t,r);let i=new DataView(ibr(t,r,e.size));return[e.get(i,Wht(e.config)),r+e.size]}})}function ibr(e,t,r){let i=e.byteOffset+(t??0),n=r??e.byteLength;return e.buffer.slice(i,i+n)}var Aye=(e={})=>l7({config:e,get:(t,r)=>t.getFloat64(0,r),name:"f64",size:8});var pye=(e={})=>l7({config:e,get:(t,r)=>t.getInt16(0,r),name:"i16",size:2});var pu=(e={})=>l7({config:e,get:(t,r)=>t.getUint16(0,r),name:"u16",size:2});var mj=(e={})=>hye({config:e,name:"u32",range:[0,+"0xffffffff"],set:(t,r,i)=>t.setUint32(0,Number(r),i),size:4}),f2=(e={})=>l7({config:e,get:(t,r)=>t.getUint32(0,r),name:"u32",size:4});var yj=(e={})=>hye({config:e,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(t,r,i)=>t.setBigUint64(0,BigInt(r),i),size:8}),dh=(e={})=>l7({config:e,get:(t,r)=>t.getBigUint64(0,r),name:"u64",size:8});var r1=()=>hye({name:"u8",range:[0,+"0xff"],set:(e,t)=>e.setUint8(0,Number(t)),size:1}),vS=()=>l7({get:e=>e.getUint8(0),name:"u8",size:1});function obr(e){return e.reduce((t,r)=>t===null||r===null?null:Math.max(t,r),0)}function h7(e){return e.reduce((t,r)=>t===null||r===null?null:t+r,0)}function bj(e){return pg(e)?e.fixedSize:null}function rF(e){return pg(e)?e.fixedSize:e.maxSize??null}function gye(e,t={}){let r=t.size??f2(),i=bj(e),n=Xht(r,i),o=Xht(r,rF(e))??void 0;return Sl({...n!==null?{fixedSize:n}:{maxSize:o},read:(d,g)=>{let y=[];if(typeof r=="object"&&d.slice(g).length===0)return[y,g];if(r==="remainder"){for(;g<d.length;){let[N,T]=e.read(d,g);g=T,y.push(N)}return[y,g]}let[_,I]=typeof r=="number"?[r,g]:r.read(d,g);g=I;for(let N=0;N<_;N+=1){let[T,M]=e.read(d,g);g=M,y.push(T)}return[y,g]}})}function Xht(e,t){return typeof e!="number"?null:e===0?0:t===null?null:t*e}function gg(e={}){return yE(e.size??vS(),t=>Number(t)===1)}function _ye(){return Sl({read:(e,t)=>{let r=e.slice(t);return[r,t+r.length]}})}var abr=()=>Sl({read(e,t){return[e.slice(t).reduce((i,n)=>i+n.toString(16).padStart(2,"0"),""),e.length]}});function Ej(e){return Sl({fixedSize:e.length,read:(t,r)=>{let i=abr();if(!_y(t,e,r))throw new Ud(uye,{constant:e,data:t,hexConstant:i.decode(e),hexData:i.decode(t),offset:r});return[void 0,r+e.length]}})}function A5(e){let t=h7(e.map(bj)),r=h7(e.map(rF))??void 0;return Sl({...t===null?{maxSize:r}:{fixedSize:t},read:(i,n)=>{let o=[];return e.forEach(d=>{let[g,y]=d.read(i,n);o.push(g),n=y}),[o,n]}})}function mye(e,t){let r=cbr(e),i=(o,d)=>{let g=t(o,d);return sbr(e,g),e[g].read(o,d)};if(r!==null)return Sl({fixedSize:r,read:i});let n=ubr(e);return Sl({...n!==null?{maxSize:n}:{},read:i})}function sbr(e,t){if(typeof e[t]>"u")throw new Ud(cye,{maxRange:e.length-1,minRange:0,variant:t})}function cbr(e){if(e.length===0)return 0;if(!pg(e[0]))return null;let t=e[0].fixedSize;return e.every(i=>pg(i)&&i.fixedSize===t)?t:null}function ubr(e){return obr(e.map(t=>rF(t)))}function jht(e,t={}){let r=t.discriminator??"__kind",i=t.size??vS();return mye(e.map(([n,o])=>yE(A5([i,o]),([,d])=>({[r]:n,...d}))),(n,o)=>Number(i.read(n,o)[0]))}function dbr(e){let t=[...new Set(Object.values(e).filter(d=>typeof d=="number"))].sort(),r=Object.fromEntries(Object.entries(e).slice(t.length)),i=Object.keys(r),n=Object.values(r),o=[...new Set([...i,...n.filter(d=>typeof d=="string")])];return{enumKeys:i,enumRecord:r,enumValues:n,numericalValues:t,stringValues:o}}function fbr({discriminator:e,enumKeys:t,enumValues:r,useValuesAsDiscriminators:i}){return i?lbr(r,n=>n===e):e>=0&&e<t.length?e:-1}function lbr(e,t){let r=e.length;for(;r--;)if(t(e[r],r,e))return r;return-1}function hbr(e){if(e.length===0)return"";let t=[e[0],e[0]],r=[];for(let i=1;i<e.length;i++){let n=e[i];t[1]+1===n?t[1]=n:(r.push(t[0]===t[1]?`${t[0]}`:`${t[0]}-${t[1]}`),t=[n,n])}return r.push(t[0]===t[1]?`${t[0]}`:`${t[0]}-${t[1]}`),r.join(", ")}function eAt(e,t={}){let r=t.size??vS(),i=t.useValuesAsDiscriminators??!1,{enumKeys:n,enumValues:o,numericalValues:d}=dbr(e);if(i&&o.some(g=>typeof g=="string"))throw new Ud(dye,{stringValues:o.filter(g=>typeof g=="string")});return yE(r,g=>{let y=Number(g),_=fbr({discriminator:y,enumKeys:n,enumValues:o,useValuesAsDiscriminators:i});if(_<0){let I=i?d:[...Array(n.length).keys()];throw new Ud(oye,{discriminator:y,formattedValidDiscriminators:hbr(I),validDiscriminators:I})}return o[_]})}function tAt(e,t){return yE(A5([...t,e]),r=>r[r.length-1])}function rAt(e,t,r={}){return yE(gye(A5([e,t]),r),i=>new Map(i))}function q3(){return Sl({fixedSize:0,read:(e,t)=>[void 0,t]})}function nF(e){let t=e.map(([,n])=>n),r=h7(t.map(bj)),i=h7(t.map(rF))??void 0;return mE({...r===null?{getSizeFromValue:n=>e.map(([o,d])=>fye(n[o],d)).reduce((o,d)=>o+d,0),maxSize:i}:{fixedSize:r},write:(n,o,d)=>(e.forEach(([g,y])=>{d=y.write(n[g],o,d)}),d)})}function tu(e){let t=e.map(([,n])=>n),r=h7(t.map(bj)),i=h7(t.map(rF))??void 0;return Sl({...r===null?{maxSize:i}:{fixedSize:r},read:(n,o)=>{let d={};return e.forEach(([g,y])=>{let[_,I]=y.read(n,o);o=I,d[g]=_}),[d,o]}})}J();K();z();var nAt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iAt=()=>mE({getSizeFromValue:e=>{try{return atob(e).length}catch{throw new Ud(gj,{alphabet:nAt,base:64,value:e})}},write(e,t,r){try{let i=atob(e).split("").map(n=>n.charCodeAt(0));return t.set(i,r),i.length+r}catch{throw new Ud(gj,{alphabet:nAt,base:64,value:e})}}});var Abr=e=>e.replace(/\u0000/g,"");var pbr=globalThis.TextDecoder,Xro=globalThis.TextEncoder;var A7=()=>{let e;return Sl({read(t,r){let i=(e||=new pbr).decode(t.slice(r));return[Abr(i),t.length]}})};J();K();z();var bbr=e=>({__option:"Some",value:e}),oAt=()=>({__option:"None"});function oA(e,t={}){let r=t.prefix===null?yE(q3(),()=>!1):gg({size:t.prefix??vS()}),i=t.noneValue==="zeroes"?(lye(e),f7(q3(),e.fixedSize)):t.noneValue?Ej(t.noneValue):q3();return mye([yE(A5([r,i]),()=>oAt()),yE(A5([r,e]),([,n])=>bbr(n))],(n,o)=>{if(t.prefix===null&&!t.noneValue)return+(o<n.length);if(t.prefix===null&&t.noneValue!=null){let d=t.noneValue==="zeroes"?new Uint8Array(i.fixedSize).fill(0):t.noneValue;return _y(n,d,o)?0:1}return Number(r.read(n,o)[0])})}J();K();z();function n1(e,...t){return t.reduce((r,i)=>i(r),e)}J();K();z();var _g=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(_g||{}),Ebr=2,vbr=1;function p5(e){return e>=2}function p7(e){return(e&vbr)!==0}function yye(e,t){return e|t}function aAt(e){return e|Ebr}J();K();z();J();K();z();var Rbr=1,Sbr=2,Ibr=3,Cbr=4,wbr=5,Obr=6,Nbr=7,xbr=8,Tbr=9,Bbr=10,Mbr=-32700,Dbr=-32603,kbr=-32602,Pbr=-32601,Lbr=-32600,Ubr=-32019,Fbr=-32018,Qbr=-32017,Hbr=-32016,Gbr=-32015,qbr=-32014,Vbr=-32013,Jbr=-32012,zbr=-32011,Kbr=-32010,$br=-32009,Ybr=-32008,Wbr=-32007,Xbr=-32006,Zbr=-32005,jbr=-32004,eEr=-32003,tEr=-32002,rEr=-32001,nEr=28e5,iEr=2800001,oEr=2800002,aEr=2800003,sEr=2800004,cEr=2800005,uEr=2800006,dEr=2800007,fEr=2800008,lEr=2800009,hEr=2800010,AEr=2800011,pEr=323e4,gEr=32300001,_Er=3230002,mEr=3230003,yEr=3230004,bEr=361e4,EEr=3610001,vEr=3610002,REr=3610003,SEr=3610004,IEr=3610005,CEr=3610006,wEr=3610007,OEr=3611e3,NEr=3704e3,xEr=3704001,TEr=3704002,BEr=3704003,MEr=3704004,DEr=4128e3,kEr=4128001,PEr=4128002,LEr=4615e3,UEr=4615001,FEr=4615002,QEr=4615003,HEr=4615004,GEr=4615005,qEr=4615006,VEr=4615007,JEr=4615008,zEr=4615009,KEr=4615010,$Er=4615011,YEr=4615012,WEr=4615013,XEr=4615014,ZEr=4615015,jEr=4615016,evr=4615017,tvr=4615018,rvr=4615019,nvr=4615020,ivr=4615021,ovr=4615022,avr=4615023,svr=4615024,cvr=4615025,uvr=4615026,dvr=4615027,fvr=4615028,lvr=4615029,hvr=4615030,Avr=4615031,pvr=4615032,gvr=4615033,_vr=4615034,mvr=4615035,yvr=4615036,bvr=4615037,Evr=4615038,vvr=4615039,Rvr=4615040,Svr=4615041,Ivr=4615042,Cvr=4615043,wvr=4615044,Ovr=4615045,Nvr=4615046,xvr=4615047,Tvr=4615048,Bvr=4615049,Mvr=4615050,Dvr=4615051,kvr=4615052,Pvr=4615053,Lvr=4615054,Uvr=5508e3,Fvr=5508001,Qvr=5508002,Hvr=5508003,Gvr=5508004,qvr=5508005,Vvr=5508006,Jvr=5508007,zvr=5508008,Kvr=5508009,$vr=5508010,Yvr=5508011,bye=5663e3,vj=5663001,sAt=5663002,cAt=5663003,Eye=5663004,uAt=5663005,dAt=5663006,fAt=5663007,lAt=5663008,Wvr=5663009,Xvr=5663010,Zvr=5663011,jvr=5663012,eRr=5663013,tRr=5663014,rRr=5663015,nRr=5663016,iRr=5663017,oRr=5663018,aRr=5663019,sRr=5663020,Rj=5663021,cRr=5663022,uRr=705e4,dRr=7050001,fRr=7050002,lRr=7050003,hRr=7050004,ARr=7050005,pRr=7050006,gRr=7050007,_Rr=7050008,mRr=7050009,yRr=7050010,bRr=7050011,ERr=7050012,vRr=7050013,RRr=7050014,SRr=7050015,IRr=7050016,CRr=7050017,wRr=7050018,ORr=7050019,NRr=7050020,xRr=7050021,TRr=7050022,BRr=7050023,MRr=7050024,DRr=7050025,kRr=7050026,PRr=7050027,LRr=7050028,URr=7050029,FRr=7050030,QRr=7050031,HRr=7050032,GRr=7050033,qRr=7050034,VRr=7050035,JRr=7050036,zRr=7618e3,KRr=7618001,$Rr=7618002,YRr=7618003,vye=8078e3,Rye=8078001,hAt=8078002,AAt=8078003,pAt=8078004,gAt=8078005,_At=8078006,Sye=8078007,mAt=8078008,yAt=8078009,bAt=8078010,Iye=8078011,Cye=8078012,EAt=8078013,vAt=8078014,RAt=8078015,SAt=8078016,wye=8078017,IAt=8078018,WRr=8078019,CAt=8078020,wAt=8078021,OAt=8078022,NAt=8078023,XRr=81e5,ZRr=8100001,jRr=8100002,eSr=8100003,tSr=819e4,rSr=8190001,nSr=8190002,iSr=8190003,oSr=8190004,aSr=99e5,sSr=9900001,cSr=9900002,uSr=9900003,dSr=9900004,fSr=9900005,lSr=9900006;function xAt(e){return Array.isArray(e)?"%5B"+e.map(xAt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function hSr([e,t]){return`${e}=${xAt(t)}`}function ASr(e){let t=Object.entries(e).map(hSr).join("&");return btoa(t)}var mno={[pEr]:"Account not found at address: $address",[yEr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[mEr]:"Expected decoded account at address: $address",[_Er]:"Failed to decode account data at address: $address",[gEr]:"Accounts not found at addresses: $addresses",[lEr]:"Unable to find a viable program address bump seed.",[oEr]:"$putativeAddress is not a base58-encoded address.",[nEr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[aEr]:"The `CryptoKey` must be an `Ed25519` public key.",[AEr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[fEr]:"Invalid seeds; point must fall off the Ed25519 curve.",[sEr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[uEr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[dEr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[cEr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[hEr]:"Program address cannot end with PDA marker.",[iEr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[Cbr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[Rbr]:"The network has progressed past the last block for which this transaction could have been committed.",[vye]:"Codec [$codecDescription] cannot decode empty byte arrays.",[OAt]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[CAt]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[gAt]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[_At]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[pAt]:"Encoder and decoder must either both be fixed-size or variable-size.",[mAt]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[hAt]:"Expected a fixed-size codec, got a variable-size one.",[EAt]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[AAt]:"Expected a variable-size codec, got a fixed-size one.",[WRr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[Rye]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[IAt]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[yAt]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[bAt]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[RAt]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Sye]:"Expected [$codecDescription] to have $expected items, got $actual.",[Cye]:"Invalid value $value for base $base with alphabet $alphabet.",[SAt]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[Iye]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[vAt]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[wAt]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[wye]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[NAt]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[OEr]:"No random values implementation could be found.",[zEr]:"instruction requires an uninitialized account",[avr]:"instruction tries to borrow reference for an account which is already borrowed",[svr]:"instruction left account with an outstanding borrowed reference",[ivr]:"program other than the account's owner changed the size of the account data",[GEr]:"account data too small for instruction",[ovr]:"instruction expected an executable account",[Nvr]:"An account does not have enough lamports to be rent-exempt",[Tvr]:"Program arithmetic overflowed",[Ovr]:"Failed to serialize or deserialize account data: $encodedData",[Lvr]:"Builtin programs must consume compute units",[pvr]:"Cross-program invocation call depth too deep",[Evr]:"Computational budget exceeded",[uvr]:"custom program error: #$code",[evr]:"instruction contains duplicate accounts",[cvr]:"instruction modifications of multiply-passed account differ",[hvr]:"executable accounts must be rent exempt",[fvr]:"instruction changed executable accounts data",[lvr]:"instruction changed the balance of an executable account",[tvr]:"instruction changed executable bit of an account",[XEr]:"instruction modified data of an account it does not own",[WEr]:"instruction spent from the balance of an account it does not own",[UEr]:"generic instruction error",[Mvr]:"Provided owner is not allowed",[Cvr]:"Account is immutable",[wvr]:"Incorrect authority provided",[VEr]:"incorrect program id for instruction",[qEr]:"insufficient funds for instruction",[HEr]:"invalid account data for instruction",[xvr]:"Invalid account owner",[FEr]:"invalid program argument",[dvr]:"program returned invalid error code",[QEr]:"invalid instruction data",[bvr]:"Failed to reallocate account data",[yvr]:"Provided seeds do not result in a valid address",[Dvr]:"Accounts data allocations exceeded the maximum allowed per transaction",[kvr]:"Max accounts exceeded",[Pvr]:"Max instruction trace length exceeded",[mvr]:"Length of the seed is too long for address generation",[gvr]:"An account required by the instruction is missing",[JEr]:"missing required signature for instruction",[YEr]:"instruction illegally modified the program id of an account",[nvr]:"insufficient account keys for instruction",[vvr]:"Cross-program invocation with unauthorized signer or writable account",[Rvr]:"Failed to create program execution environment",[Ivr]:"Program failed to compile",[Svr]:"Program failed to complete",[jEr]:"instruction modified data of a read-only account",[ZEr]:"instruction changed the balance of a read-only account",[_vr]:"Cross-program invocation reentrancy not allowed for this instruction",[rvr]:"instruction modified rent epoch of an account",[$Er]:"sum of account balances before and after instruction do not match",[KEr]:"instruction requires an initialized account",[LEr]:"",[Avr]:"Unsupported program id",[Bvr]:"Unsupported sysvar",[fSr]:"Invalid instruction plan kind: $kind.",[$Rr]:"The provided instruction plan is empty.",[YRr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[zRr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[lSr]:"Invalid transaction plan kind: $kind.",[KRr]:"No more instructions to pack; the message packer has completed the instruction plan.",[DEr]:"The instruction does not have any accounts.",[kEr]:"The instruction does not have any data.",[PEr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[wbr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Sbr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[cSr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[dSr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[sSr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[aSr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[uSr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Dbr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[kbr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[Lbr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Pbr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[Mbr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[Jbr]:"$__serverMessage",[rEr]:"$__serverMessage",[jbr]:"$__serverMessage",[qbr]:"$__serverMessage",[Qbr]:"Epoch rewards period still active at slot $slot",[Kbr]:"$__serverMessage",[$br]:"$__serverMessage",[Ubr]:"Failed to query long-term storage; please try again",[Hbr]:"Minimum context slot has not been reached",[Zbr]:"Node is unhealthy; behind by $numSlotsBehind slots",[Ybr]:"No snapshot",[tEr]:"Transaction simulation failed",[Fbr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[Wbr]:"$__serverMessage",[zbr]:"Transaction history is not available from this node",[Xbr]:"$__serverMessage",[Vbr]:"Transaction signature length mismatch",[eEr]:"Transaction signature verification failure",[Gbr]:"$__serverMessage",[NEr]:"Key pair bytes must be of length 64, got $byteLength.",[xEr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[TEr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[MEr]:"The provided private key does not match the provided public key.",[BEr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Obr]:"Lamports value must be in the range [0, 2e64-1]",[Nbr]:"`$value` cannot be parsed as a `BigInt`",[Bbr]:"$message",[xbr]:"`$value` cannot be parsed as a `Number`",[Ibr]:"No nonce account could be found at address `$nonceAccountAddress`",[tSr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[nSr]:"WebSocket was closed before payload could be added to the send buffer",[iSr]:"WebSocket connection closed",[oSr]:"WebSocket failed to connect",[rSr]:"Failed to obtain a subscription id from the server",[eSr]:"Could not find an API plan for RPC method: `$method`",[XRr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[jRr]:"HTTP error ($statusCode): $message",[ZRr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Uvr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Fvr]:"The provided value does not implement the `KeyPairSigner` interface",[Hvr]:"The provided value does not implement the `MessageModifyingSigner` interface",[Gvr]:"The provided value does not implement the `MessagePartialSigner` interface",[Qvr]:"The provided value does not implement any of the `MessageSigner` interfaces",[Vvr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[Jvr]:"The provided value does not implement the `TransactionPartialSigner` interface",[zvr]:"The provided value does not implement the `TransactionSendingSigner` interface",[qvr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Kvr]:"More than one `TransactionSendingSigner` was identified.",[$vr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Yvr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[wEr]:"Cannot export a non-extractable key.",[EEr]:"No digest implementation could be found.",[bEr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[vEr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[REr]:"No signature verification implementation could be found.",[SEr]:"No key generation implementation could be found.",[IEr]:"No signing implementation could be found.",[CEr]:"No key export implementation could be found.",[Tbr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[IRr]:"Transaction processing left an account with an outstanding borrowed reference",[dRr]:"Account in use",[fRr]:"Account loaded twice",[lRr]:"Attempt to debit an account but found no record of a prior credit.",[BRr]:"Transaction loads an address table account that doesn't exist",[gRr]:"This transaction has already been processed",[_Rr]:"Blockhash not found",[mRr]:"Loader call chain is too deep",[SRr]:"Transactions are currently disabled due to cluster maintenance",[FRr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[ARr]:"Insufficient funds for fee",[QRr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[pRr]:"This account may not be used to pay transaction fees",[bRr]:"Transaction contains an invalid account reference",[DRr]:"Transaction loads an address table account with invalid data",[kRr]:"Transaction address table lookup uses an invalid index",[MRr]:"Transaction loads an address table account with an invalid owner",[GRr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[vRr]:"This program may not be used for executing instructions",[PRr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[ORr]:"Transaction loads a writable account that cannot be written",[HRr]:"Transaction exceeded max loaded accounts data size cap",[yRr]:"Transaction requires a fee but has no signature present",[hRr]:"Attempt to load a program that does not exist",[VRr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[qRr]:"ResanitizationNeeded",[RRr]:"Transaction failed to sanitize accounts offsets correctly",[ERr]:"Transaction did not pass signature verification",[TRr]:"Transaction locked too many accounts",[JRr]:"Sum of account balances before and after transaction do not match",[uRr]:"The transaction failed with the error `$errorName`",[wRr]:"Transaction version is unsupported",[xRr]:"Transaction would exceed account data limit within the block",[URr]:"Transaction would exceed total account data limit",[NRr]:"Transaction would exceed max account limit within the block",[CRr]:"Transaction would exceed max Block Cost Limit",[LRr]:"Transaction would exceed max Vote Cost Limit",[rRr]:"Attempted to sign a transaction with an address that is not a signer for it",[Xvr]:"Transaction is missing an address at index: $index.",[nRr]:"Transaction has no expected signers therefore it cannot be encoded",[sRr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[sAt]:"Transaction does not have a blockhash lifetime",[cAt]:"Transaction is not a durable nonce transaction",[uAt]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[dAt]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[lAt]:"No fee payer set in CompiledTransaction",[fAt]:"Could not find program address at index $index",[oRr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[aRr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[Zvr]:"Transaction is missing a fee payer.",[jvr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[tRr]:"Transaction first instruction is not advance nonce account instruction.",[eRr]:"Transaction with no instructions cannot be durable nonce transaction.",[bye]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[vj]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[iRr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[Wvr]:"Transaction is missing signatures for addresses: $addresses.",[Eye]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Rj]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[cRr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function pSr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${ASr(t)}'`),`${r}\``}}var aA=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=pSr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};J();K();z();function TAt(e){return fj(e)}J();K();z();function gSr(e,t){if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r}var _Sr=(e,t)=>gSr(e.length<=t?e:e.slice(0,t),t);function V3(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function Il(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(V3(t,e));return e.write(t,r,0),r}})}function i1(e){return Object.freeze({...e,decode:(t,r=0)=>e.read(t,r)[0]})}function YA(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function mSr(e){return!YA(e)}function BAt(e,t,r=0){if(t.length-r<=0)throw new aA(vye,{codecDescription:e})}function iF(e,t,r,i=0){let n=r.length-i;if(n<t)throw new aA(Rye,{bytesLength:n,codecDescription:e,expected:t})}function MAt(e,t){let r=(d,g,y)=>{let _=e.encode(d);return y=t.write(_.length,g,y),g.set(_,y),y+_.length};if(YA(t)&&YA(e))return Il({...e,fixedSize:t.fixedSize+e.fixedSize,write:r});let i=YA(t)?t.fixedSize:t.maxSize??null,n=YA(e)?e.fixedSize:e.maxSize??null,o=i!==null&&n!==null?i+n:null;return Il({...e,...o!==null?{maxSize:o}:{},getSizeFromValue:d=>{let g=V3(d,e);return V3(g,t)+g},write:r})}function DAt(e,t){let r=(d,g)=>{let[y,_]=t.read(d,g),I=Number(y);return g=_,(g>0||d.length>I)&&(d=d.slice(g,g+I)),iF("addDecoderSizePrefix",I,d),[e.decode(d),g+I]};if(YA(t)&&YA(e))return i1({...e,fixedSize:t.fixedSize+e.fixedSize,read:r});let i=YA(t)?t.fixedSize:t.maxSize??null,n=YA(e)?e.fixedSize:e.maxSize??null,o=i!==null&&n!==null?i+n:null;return i1({...e,...o!==null?{maxSize:o}:{},read:r})}function Oye(e,t){return Il({fixedSize:t,write:(r,i,n)=>{let o=e.encode(r),d=o.length>t?o.slice(0,t):o;return i.set(d,n),n+t}})}function Nye(e,t){return i1({fixedSize:t,read:(r,i)=>{iF("fixCodecSize",t,r,i),(i>0||r.length>t)&&(r=r.slice(i,i+t)),YA(e)&&(r=_Sr(r,e.fixedSize));let[n]=e.read(r,0);return[n,i+t]}})}function Sj(e,t){return Il({...mSr(e)?{...e,getSizeFromValue:r=>e.getSizeFromValue(t(r))}:e,write:(r,i,n)=>e.write(t(r),i,n)})}function Ij(e,t){return i1({...e,read:(r,i)=>{let[n,o]=e.read(r,i);return[t(n,r,i),o]}})}J();K();z();J();K();z();function PAt(e,t,r,i){if(i<t||i>r)throw new aA(Iye,{codecDescription:e,max:r,min:t,value:i})}function LAt(e){return e?.endian!==1}function UAt(e){return Il({fixedSize:e.size,write(t,r,i){e.range&&PAt(e.name,e.range[0],e.range[1],t);let n=new ArrayBuffer(e.size);return e.set(new DataView(n),t,LAt(e.config)),r.set(new Uint8Array(n),i),i+e.size}})}function FAt(e){return i1({fixedSize:e.size,read(t,r=0){BAt(e.name,t,r),iF(e.name,e.size,t,r);let i=new DataView(ySr(t,r,e.size));return[e.get(i,LAt(e.config)),r+e.size]}})}function ySr(e,t,r){let i=e.byteOffset+(t??0),n=r??e.byteLength;return e.buffer.slice(i,i+n)}var g5=()=>Il({getSizeFromValue:e=>e<=127?1:e<=16383?2:3,maxSize:3,write:(e,t,r)=>{PAt("shortU16",0,65535,e);let i=[0];for(let n=0;;n+=1){let o=Number(e)>>n*7;if(o===0)break;let d=127&o;i[n]=d,n>0&&(i[n-1]|=128)}return t.set(i,r),r+i.length}}),_5=()=>i1({maxSize:3,read:(e,t)=>{let r=0,i=0;for(;++i;){let n=i-1,o=e[t+n],d=127&o;if(r|=d<<n*7,(o&128)===0)break}return[r,t+i]}});var QAt=(e={})=>UAt({config:e,name:"u32",range:[0,+"0xffffffff"],set:(t,r,i)=>t.setUint32(0,Number(r),i),size:4}),HAt=(e={})=>FAt({config:e,get:(t,r)=>t.getUint32(0,r),name:"u32",size:4});var g7=()=>UAt({name:"u8",range:[0,+"0xff"],set:(e,t)=>e.setUint8(0,Number(t)),size:1}),_7=()=>FAt({get:e=>e.getUint8(0),name:"u8",size:1});function bSr(e,t,r){if(t!==r)throw new aA(Sye,{actual:r,codecDescription:e,expected:t})}function ESr(e){return e.reduce((t,r)=>t===null||r===null?null:Math.max(t,r),0)}function Cj(e){return e.reduce((t,r)=>t===null||r===null?null:t+r,0)}function Oj(e){return YA(e)?e.fixedSize:null}function oF(e){return YA(e)?e.fixedSize:e.maxSize??null}function m7(e,t={}){let r=t.size??QAt(),i=wj(r,Oj(e)),n=wj(r,oF(e))??void 0;return Il({...i!==null?{fixedSize:i}:{getSizeFromValue:o=>(typeof r=="object"?V3(o.length,r):0)+[...o].reduce((g,y)=>g+V3(y,e),0),maxSize:n},write:(o,d,g)=>(typeof r=="number"&&bSr("array",r,o.length),typeof r=="object"&&(g=r.write(o.length,d,g)),o.forEach(y=>{g=e.write(y,d,g)}),g)})}function y7(e,t={}){let r=t.size??HAt(),i=Oj(e),n=wj(r,i),o=wj(r,oF(e))??void 0;return i1({...n!==null?{fixedSize:n}:{maxSize:o},read:(d,g)=>{let y=[];if(typeof r=="object"&&d.slice(g).length===0)return[y,g];if(r==="remainder"){for(;g<d.length;){let[N,T]=e.read(d,g);g=T,y.push(N)}return[y,g]}let[_,I]=typeof r=="number"?[r,g]:r.read(d,g);g=I;for(let N=0;N<_;N+=1){let[T,M]=e.read(d,g);g=M,y.push(T)}return[y,g]}})}function wj(e,t){return typeof e!="number"?null:e===0?0:t===null?null:t*e}function qAt(){return Il({getSizeFromValue:e=>e.length,write:(e,t,r)=>(t.set(e,r),r+e.length)})}function VAt(){return i1({read:(e,t)=>{let r=e.slice(t);return[r,t+r.length]}})}function JAt(e){return Il({fixedSize:e.length,write:(t,r,i)=>(r.set(e,i),i+e.length)})}function zAt(e,t){let r=vSr(e),i=(o,d,g)=>{let y=t(o);return GAt(e,y),e[y].write(o,d,g)};if(r!==null)return Il({fixedSize:r,write:i});let n=RSr(e);return Il({...n!==null?{maxSize:n}:{},getSizeFromValue:o=>{let d=t(o);return GAt(e,d),V3(o,e[d])},write:i})}function GAt(e,t){if(typeof e[t]>"u")throw new aA(wye,{maxRange:e.length-1,minRange:0,variant:t})}function vSr(e){if(e.length===0)return 0;if(!YA(e[0]))return null;let t=e[0].fixedSize;return e.every(i=>YA(i)&&i.fixedSize===t)?t:null}function RSr(e){return ESr(e.map(t=>oF(t)))}function b7(e){let t=e.map(([,n])=>n),r=Cj(t.map(Oj)),i=Cj(t.map(oF))??void 0;return Il({...r===null?{getSizeFromValue:n=>e.map(([o,d])=>V3(n[o],d)).reduce((o,d)=>o+d,0),maxSize:i}:{fixedSize:r},write:(n,o,d)=>(e.forEach(([g,y])=>{d=y.write(n[g],o,d)}),d)})}function aF(e){let t=e.map(([,n])=>n),r=Cj(t.map(Oj)),i=Cj(t.map(oF))??void 0;return i1({...r===null?{maxSize:i}:{fixedSize:r},read:(n,o)=>{let d={};return e.forEach(([g,y])=>{let[_,I]=y.read(n,o);o=I,d[g]=_}),[d,o]}})}function ZAt(e){return"lifetimeConstraint"in e&&typeof e.lifetimeConstraint.blockhash=="string"&&typeof e.lifetimeConstraint.lastValidBlockHeight=="bigint"&&TAt(e.lifetimeConstraint.blockhash)}function jAt(e,t){return"lifetimeConstraint"in t&&t.lifetimeConstraint&&"blockhash"in t.lifetimeConstraint&&t.lifetimeConstraint.blockhash===e.blockhash&&t.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight?t:Object.freeze({...t,lifetimeConstraint:Object.freeze(e)})}function SSr(e,t,r=t){if(!t.match(new RegExp(`^[${e}]*$`)))throw new aA(Cye,{alphabet:e,base:e.length,value:r})}var ISr=e=>Il({getSizeFromValue:t=>{let[r,i]=KAt(t,e[0]);if(!i)return t.length;let n=$At(i,e);return r.length+Math.ceil(n.toString(16).length/2)},write(t,r,i){if(SSr(e,t),t==="")return i;let[n,o]=KAt(t,e[0]);if(!o)return r.set(new Uint8Array(n.length).fill(0),i),i+n.length;let d=$At(o,e),g=[];for(;d>0n;)g.unshift(Number(d%256n)),d/=256n;let y=[...Array(n.length).fill(0),...g];return r.set(y,i),i+y.length}}),CSr=e=>i1({read(t,r){let i=r===0?t:t.slice(r);if(i.length===0)return["",0];let n=i.findIndex(y=>y!==0);n=n===-1?i.length:n;let o=e[0].repeat(n);if(n===i.length)return[o,t.length];let d=i.slice(n).reduce((y,_)=>y*256n+BigInt(_),0n),g=wSr(d,e);return[o+g,t.length]}});function KAt(e,t){let[r,i]=e.split(new RegExp(`((?!${t}).*)`));return[r,i]}function $At(e,t){let r=BigInt(t.length),i=0n;for(let n of e)i*=r,i+=BigInt(t.indexOf(n));return i}function wSr(e,t){let r=BigInt(t.length),i=[];for(;e>0n;)i.unshift(t[Number(e%r)]),e/=r;return i.join("")}var ept="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",OSr=()=>ISr(ept),NSr=()=>CSr(ept),xye;function xSr(){if(!xye){let e=m7(g7(),{size:g5()});xye=b7([["lookupTableAddress",ES()],["writableIndexes",e],["readonlyIndexes",e]])}return xye}var Tye;function TSr(){if(!Tye){let e=y7(_7(),{size:_5()});Tye=aF([["lookupTableAddress",bs()],["writableIndexes",e],["readonlyIndexes",e]])}return Tye}var Bye;function Mye(){return Bye||(Bye=g7()),Bye}var Dye;function kye(){return Dye||(Dye=_7()),Dye}function BSr(){return b7([["numSignerAccounts",Mye()],["numReadonlySignerAccounts",Mye()],["numReadonlyNonSignerAccounts",Mye()]])}function MSr(){return aF([["numSignerAccounts",kye()],["numReadonlySignerAccounts",kye()],["numReadonlyNonSignerAccounts",kye()]])}var Pye;function DSr(){return Pye||(Pye=Sj(b7([["programAddressIndex",g7()],["accountIndices",m7(g7(),{size:g5()})],["data",MAt(qAt(),g5())]]),e=>e.accountIndices!==void 0&&e.data!==void 0?e:{...e,accountIndices:e.accountIndices??[],data:e.data??new Uint8Array(0)})),Pye}var Lye;function kSr(){return Lye||(Lye=Ij(aF([["programAddressIndex",_7()],["accountIndices",y7(_7(),{size:_5()})],["data",DAt(VAt(),_5())]]),e=>{if(e.accountIndices.length&&e.data.byteLength)return e;let{accountIndices:t,data:r,...i}=e;return{...i,...t.length?{accountIndices:t}:null,...r.byteLength?{data:r}:null}})),Lye}var tpt=0,Uye=128;function PSr(){return Il({getSizeFromValue:e=>e==="legacy"?0:1,maxSize:1,write:(e,t,r)=>{if(e==="legacy")return r;if(e<0||e>127)throw new aA(Eye,{actualVersion:e});if(e>tpt)throw new aA(Rj,{unsupportedVersion:e});return t.set([e|Uye],r),r+1}})}function Fye(){return i1({maxSize:1,read:(e,t)=>{let r=e[t];if((r&Uye)===0)return["legacy",t];{let i=r^Uye;if(i>tpt)throw new aA(Rj,{unsupportedVersion:i});return[i,t+1]}}})}function YAt(){return b7(rpt())}function WAt(){return Sj(b7([...rpt(),["addressTableLookups",USr()]]),e=>e.version==="legacy"?e:{...e,addressTableLookups:e.addressTableLookups??[]})}function rpt(){let e=zAt([JAt(new Uint8Array(32)),Oye(OSr(),32)],t=>t===void 0?0:1);return[["version",PSr()],["header",BSr()],["staticAccounts",m7(ES(),{size:g5()})],["lifetimeToken",e],["instructions",m7(DSr(),{size:g5()})]]}function LSr(){return[["version",Fye()],["header",MSr()],["staticAccounts",y7(bs(),{size:_5()})],["lifetimeToken",Nye(NSr(),32)],["instructions",y7(kSr(),{size:_5()})],["addressTableLookups",FSr()]]}function USr(){return m7(xSr(),{size:g5()})}function FSr(){return y7(TSr(),{size:_5()})}function npt(){return Il({getSizeFromValue:e=>e.version==="legacy"?YAt().getSizeFromValue(e):WAt().getSizeFromValue(e),write:(e,t,r)=>e.version==="legacy"?YAt().write(e,t,r):WAt().write(e,t,r)})}function ipt(){return Ij(aF(LSr()),({addressTableLookups:e,...t})=>t.version==="legacy"||!e?.length?t:{...t,addressTableLookups:e})}function XAt(e,t,r){e[t]=r(e[t]??{role:_g.READONLY})}var hf=Symbol("AddressMapTypeProperty");function QSr(e,t){let r={[e]:{[hf]:0,role:_g.WRITABLE_SIGNER}},i=new Set;for(let n of t){XAt(r,n.programAddress,d=>{if(i.add(n.programAddress),hf in d){if(p7(d.role))throw d[hf]===0?new aA(bye,{programAddress:n.programAddress}):new aA(vj,{programAddress:n.programAddress});if(d[hf]===2)return d}return{[hf]:2,role:_g.READONLY}});let o;if(n.accounts)for(let d of n.accounts)XAt(r,d.address,g=>{let{address:y,..._}=d;if(hf in g)switch(g[hf]){case 0:return g;case 1:{let I=yye(g.role,_.role);if("lookupTableAddress"in _){if(g.lookupTableAddress!==_.lookupTableAddress&&(o||=lj())(_.lookupTableAddress,g.lookupTableAddress)<0)return{[hf]:1,..._,role:I}}else if(p5(_.role))return{[hf]:2,role:I};return g.role!==I?{...g,role:I}:g}case 2:{let I=yye(g.role,_.role);if(i.has(d.address)){if(p7(_.role))throw new aA(vj,{programAddress:d.address});return g.role!==I?{...g,role:I}:g}else return"lookupTableAddress"in _&&!p5(g.role)?{..._,[hf]:1,role:I}:g.role!==I?{...g,role:I}:g}}return"lookupTableAddress"in _?{..._,[hf]:1}:{..._,[hf]:2}})}return r}function HSr(e){let t;return Object.entries(e).sort(([i,n],[o,d])=>{if(n[hf]!==d[hf]){if(n[hf]===0)return-1;if(d[hf]===0)return 1;if(n[hf]===2)return-1;if(d[hf]===2)return 1}let g=p5(n.role);if(g!==p5(d.role))return g?-1:1;let y=p7(n.role);return y!==p7(d.role)?y?-1:1:(t||=lj(),n[hf]===1&&d[hf]===1&&n.lookupTableAddress!==d.lookupTableAddress?t(n.lookupTableAddress,d.lookupTableAddress):t(i,o))}).map(([i,n])=>({address:i,...n}))}function GSr(e){let t={};for(let r of e){if(!("lookupTableAddress"in r))continue;let i=t[r.lookupTableAddress]||={readonlyIndexes:[],writableIndexes:[]};r.role===_g.WRITABLE?i.writableIndexes.push(r.addressIndex):i.readonlyIndexes.push(r.addressIndex)}return Object.keys(t).sort(lj()).map(r=>({lookupTableAddress:r,...t[r]}))}function qSr(e){let t=0,r=0,i=0;for(let n of e){if("lookupTableAddress"in n)break;let o=p7(n.role);p5(n.role)?(i++,o||r++):o||t++}return{numReadonlyNonSignerAccounts:t,numReadonlySignerAccounts:r,numSignerAccounts:i}}function VSr(e){let t={};for(let[r,i]of e.entries())t[i.address]=r;return t}function JSr(e,t){let r=VSr(t);return e.map(({accounts:i,data:n,programAddress:o})=>({programAddressIndex:r[o],...i?{accountIndices:i.map(({address:d})=>r[d])}:null,...n?{data:n}:null}))}function zSr(e){return"nonce"in e?e.nonce:e.blockhash}function KSr(e){let t=e.findIndex(i=>"lookupTableAddress"in i);return(t===-1?e:e.slice(0,t)).map(({address:i})=>i)}function opt(e){let t=QSr(e.feePayer.address,e.instructions),r=HSr(t),i=e.lifetimeConstraint;return{...e.version!=="legacy"?{addressTableLookups:GSr(r)}:null,...i?{lifetimeToken:zSr(i)}:null,header:qSr(r),instructions:JSr(e.instructions,r),staticAccounts:KSr(r),version:e.version}}function apt(e){return Object.freeze({instructions:Object.freeze([]),version:e.version})}var $Sr="SysvarRecentB1ockHashes11111111111111111111",YSr="11111111111111111111111111111111";function WSr(e){return e.programAddress===YSr&&e.data!=null&&XSr(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===_g.WRITABLE&&e.accounts[1].address===$Sr&&e.accounts[1].role===_g.READONLY&&e.accounts[2].address!=null&&p5(e.accounts[2].role)}function XSr(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function Nj(e){return"lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&WSr(e.instructions[0])}function spt(e,t){if("feePayer"in t&&e===t.feePayer?.address&&ZSr(t.feePayer))return t;let r={...t,feePayer:Object.freeze({address:e})};return Object.freeze(r),r}function ZSr(e){return!!e&&"address"in e&&typeof e.address=="string"&&Object.keys(e).length===1}function Qye(e,t){return Hye([e],t)}function Hye(e,t){return Object.freeze({...t,instructions:Object.freeze([...t.instructions,...e])})}function cpt(e,t){return jSr([e],t)}function jSr(e,t){return Object.freeze({...t,instructions:Object.freeze([...e,...t.instructions])})}J();K();z();J();K();z();J();K();z();var e6r=1,t6r=2,r6r=3,n6r=4,i6r=5,o6r=6,a6r=7,s6r=8,c6r=9,u6r=10,d6r=-32700,f6r=-32603,l6r=-32602,h6r=-32601,A6r=-32600,p6r=-32019,g6r=-32018,_6r=-32017,m6r=-32016,y6r=-32015,b6r=-32014,E6r=-32013,v6r=-32012,R6r=-32011,S6r=-32010,I6r=-32009,C6r=-32008,w6r=-32007,O6r=-32006,N6r=-32005,x6r=-32004,T6r=-32003,B6r=-32002,M6r=-32001,D6r=28e5,k6r=2800001,P6r=2800002,L6r=2800003,U6r=2800004,F6r=2800005,Q6r=2800006,H6r=2800007,G6r=2800008,q6r=2800009,V6r=2800010,J6r=2800011,z6r=323e4,K6r=32300001,$6r=3230002,Y6r=3230003,W6r=3230004,X6r=361e4,Z6r=3610001,j6r=3610002,eIr=3610003,tIr=3610004,rIr=3610005,nIr=3610006,iIr=3610007,oIr=3611e3,aIr=3704e3,sIr=3704001,cIr=3704002,uIr=3704003,dIr=3704004,fIr=4128e3,lIr=4128001,hIr=4128002,AIr=4615e3,pIr=4615001,gIr=4615002,_Ir=4615003,mIr=4615004,yIr=4615005,bIr=4615006,EIr=4615007,vIr=4615008,RIr=4615009,SIr=4615010,IIr=4615011,CIr=4615012,wIr=4615013,OIr=4615014,NIr=4615015,xIr=4615016,TIr=4615017,BIr=4615018,MIr=4615019,DIr=4615020,kIr=4615021,PIr=4615022,LIr=4615023,UIr=4615024,FIr=4615025,QIr=4615026,HIr=4615027,GIr=4615028,qIr=4615029,VIr=4615030,JIr=4615031,zIr=4615032,KIr=4615033,$Ir=4615034,YIr=4615035,WIr=4615036,XIr=4615037,ZIr=4615038,jIr=4615039,e3r=4615040,t3r=4615041,r3r=4615042,n3r=4615043,i3r=4615044,o3r=4615045,a3r=4615046,s3r=4615047,c3r=4615048,u3r=4615049,d3r=4615050,f3r=4615051,l3r=4615052,h3r=4615053,A3r=4615054,p3r=5508e3,g3r=5508001,_3r=5508002,m3r=5508003,y3r=5508004,b3r=5508005,E3r=5508006,v3r=5508007,R3r=5508008,S3r=5508009,I3r=5508010,C3r=5508011,w3r=5663e3,O3r=5663001,upt=5663002,dpt=5663003,N3r=5663004,x3r=5663005,T3r=5663006,B3r=5663007,M3r=5663008,fpt=5663009,D3r=5663010,k3r=5663011,lpt=5663012,P3r=5663013,L3r=5663014,Gye=5663015,qye=5663016,Vye=5663017,U3r=5663018,F3r=5663019,hpt=5663020,Q3r=5663021,Apt=5663022,H3r=705e4,G3r=7050001,q3r=7050002,V3r=7050003,J3r=7050004,z3r=7050005,K3r=7050006,$3r=7050007,Y3r=7050008,W3r=7050009,X3r=7050010,Z3r=7050011,j3r=7050012,e8r=7050013,t8r=7050014,r8r=7050015,n8r=7050016,i8r=7050017,o8r=7050018,a8r=7050019,s8r=7050020,c8r=7050021,u8r=7050022,d8r=7050023,f8r=7050024,l8r=7050025,h8r=7050026,A8r=7050027,p8r=7050028,g8r=7050029,_8r=7050030,m8r=7050031,y8r=7050032,b8r=7050033,E8r=7050034,v8r=7050035,R8r=7050036,S8r=7618e3,I8r=7618001,C8r=7618002,w8r=7618003,Jye=8078e3,zye=8078001,ppt=8078002,gpt=8078003,_pt=8078004,mpt=8078005,ypt=8078006,Kye=8078007,bpt=8078008,Ept=8078009,vpt=8078010,$ye=8078011,O8r=8078012,Yye=8078013,Wye=8078014,Rpt=8078015,Spt=8078016,Ipt=8078017,Cpt=8078018,N8r=8078019,wpt=8078020,Opt=8078021,Npt=8078022,xpt=8078023,x8r=81e5,T8r=8100001,B8r=8100002,M8r=8100003,D8r=819e4,k8r=8190001,P8r=8190002,L8r=8190003,U8r=8190004,F8r=99e5,Q8r=9900001,H8r=9900002,G8r=9900003,q8r=9900004,V8r=9900005,J8r=9900006;function Tpt(e){return Array.isArray(e)?"%5B"+e.map(Tpt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function z8r([e,t]){return`${e}=${Tpt(t)}`}function K8r(e){let t=Object.entries(e).map(z8r).join("&");return btoa(t)}var aio={[z6r]:"Account not found at address: $address",[W6r]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[Y6r]:"Expected decoded account at address: $address",[$6r]:"Failed to decode account data at address: $address",[K6r]:"Accounts not found at addresses: $addresses",[q6r]:"Unable to find a viable program address bump seed.",[P6r]:"$putativeAddress is not a base58-encoded address.",[D6r]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[L6r]:"The `CryptoKey` must be an `Ed25519` public key.",[J6r]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[G6r]:"Invalid seeds; point must fall off the Ed25519 curve.",[U6r]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Q6r]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[H6r]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[F6r]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[V6r]:"Program address cannot end with PDA marker.",[k6r]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[n6r]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[e6r]:"The network has progressed past the last block for which this transaction could have been committed.",[Jye]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Npt]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[wpt]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[mpt]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[ypt]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[_pt]:"Encoder and decoder must either both be fixed-size or variable-size.",[bpt]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[ppt]:"Expected a fixed-size codec, got a variable-size one.",[Yye]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[gpt]:"Expected a variable-size codec, got a fixed-size one.",[N8r]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[zye]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[Cpt]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[Ept]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[vpt]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Rpt]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Kye]:"Expected [$codecDescription] to have $expected items, got $actual.",[O8r]:"Invalid value $value for base $base with alphabet $alphabet.",[Spt]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[$ye]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[Wye]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[Opt]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Ipt]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[xpt]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[oIr]:"No random values implementation could be found.",[RIr]:"instruction requires an uninitialized account",[LIr]:"instruction tries to borrow reference for an account which is already borrowed",[UIr]:"instruction left account with an outstanding borrowed reference",[kIr]:"program other than the account's owner changed the size of the account data",[yIr]:"account data too small for instruction",[PIr]:"instruction expected an executable account",[a3r]:"An account does not have enough lamports to be rent-exempt",[c3r]:"Program arithmetic overflowed",[o3r]:"Failed to serialize or deserialize account data: $encodedData",[A3r]:"Builtin programs must consume compute units",[zIr]:"Cross-program invocation call depth too deep",[ZIr]:"Computational budget exceeded",[QIr]:"custom program error: #$code",[TIr]:"instruction contains duplicate accounts",[FIr]:"instruction modifications of multiply-passed account differ",[VIr]:"executable accounts must be rent exempt",[GIr]:"instruction changed executable accounts data",[qIr]:"instruction changed the balance of an executable account",[BIr]:"instruction changed executable bit of an account",[OIr]:"instruction modified data of an account it does not own",[wIr]:"instruction spent from the balance of an account it does not own",[pIr]:"generic instruction error",[d3r]:"Provided owner is not allowed",[n3r]:"Account is immutable",[i3r]:"Incorrect authority provided",[EIr]:"incorrect program id for instruction",[bIr]:"insufficient funds for instruction",[mIr]:"invalid account data for instruction",[s3r]:"Invalid account owner",[gIr]:"invalid program argument",[HIr]:"program returned invalid error code",[_Ir]:"invalid instruction data",[XIr]:"Failed to reallocate account data",[WIr]:"Provided seeds do not result in a valid address",[f3r]:"Accounts data allocations exceeded the maximum allowed per transaction",[l3r]:"Max accounts exceeded",[h3r]:"Max instruction trace length exceeded",[YIr]:"Length of the seed is too long for address generation",[KIr]:"An account required by the instruction is missing",[vIr]:"missing required signature for instruction",[CIr]:"instruction illegally modified the program id of an account",[DIr]:"insufficient account keys for instruction",[jIr]:"Cross-program invocation with unauthorized signer or writable account",[e3r]:"Failed to create program execution environment",[r3r]:"Program failed to compile",[t3r]:"Program failed to complete",[xIr]:"instruction modified data of a read-only account",[NIr]:"instruction changed the balance of a read-only account",[$Ir]:"Cross-program invocation reentrancy not allowed for this instruction",[MIr]:"instruction modified rent epoch of an account",[IIr]:"sum of account balances before and after instruction do not match",[SIr]:"instruction requires an initialized account",[AIr]:"",[JIr]:"Unsupported program id",[u3r]:"Unsupported sysvar",[V8r]:"Invalid instruction plan kind: $kind.",[C8r]:"The provided instruction plan is empty.",[w8r]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[S8r]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[J8r]:"Invalid transaction plan kind: $kind.",[I8r]:"No more instructions to pack; the message packer has completed the instruction plan.",[fIr]:"The instruction does not have any accounts.",[lIr]:"The instruction does not have any data.",[hIr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[i6r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[t6r]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[H8r]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[q8r]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Q8r]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[F8r]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[G8r]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[f6r]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[l6r]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[A6r]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[h6r]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[d6r]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[v6r]:"$__serverMessage",[M6r]:"$__serverMessage",[x6r]:"$__serverMessage",[b6r]:"$__serverMessage",[_6r]:"Epoch rewards period still active at slot $slot",[S6r]:"$__serverMessage",[I6r]:"$__serverMessage",[p6r]:"Failed to query long-term storage; please try again",[m6r]:"Minimum context slot has not been reached",[N6r]:"Node is unhealthy; behind by $numSlotsBehind slots",[C6r]:"No snapshot",[B6r]:"Transaction simulation failed",[g6r]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[w6r]:"$__serverMessage",[R6r]:"Transaction history is not available from this node",[O6r]:"$__serverMessage",[E6r]:"Transaction signature length mismatch",[T6r]:"Transaction signature verification failure",[y6r]:"$__serverMessage",[aIr]:"Key pair bytes must be of length 64, got $byteLength.",[sIr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[cIr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[dIr]:"The provided private key does not match the provided public key.",[uIr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[o6r]:"Lamports value must be in the range [0, 2e64-1]",[a6r]:"`$value` cannot be parsed as a `BigInt`",[u6r]:"$message",[s6r]:"`$value` cannot be parsed as a `Number`",[r6r]:"No nonce account could be found at address `$nonceAccountAddress`",[D8r]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[P8r]:"WebSocket was closed before payload could be added to the send buffer",[L8r]:"WebSocket connection closed",[U8r]:"WebSocket failed to connect",[k8r]:"Failed to obtain a subscription id from the server",[M8r]:"Could not find an API plan for RPC method: `$method`",[x8r]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[B8r]:"HTTP error ($statusCode): $message",[T8r]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[p3r]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[g3r]:"The provided value does not implement the `KeyPairSigner` interface",[m3r]:"The provided value does not implement the `MessageModifyingSigner` interface",[y3r]:"The provided value does not implement the `MessagePartialSigner` interface",[_3r]:"The provided value does not implement any of the `MessageSigner` interfaces",[E3r]:"The provided value does not implement the `TransactionModifyingSigner` interface",[v3r]:"The provided value does not implement the `TransactionPartialSigner` interface",[R3r]:"The provided value does not implement the `TransactionSendingSigner` interface",[b3r]:"The provided value does not implement any of the `TransactionSigner` interfaces",[S3r]:"More than one `TransactionSendingSigner` was identified.",[I3r]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[C3r]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[iIr]:"Cannot export a non-extractable key.",[Z6r]:"No digest implementation could be found.",[X6r]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[j6r]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[eIr]:"No signature verification implementation could be found.",[tIr]:"No key generation implementation could be found.",[rIr]:"No signing implementation could be found.",[nIr]:"No key export implementation could be found.",[c6r]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[n8r]:"Transaction processing left an account with an outstanding borrowed reference",[G3r]:"Account in use",[q3r]:"Account loaded twice",[V3r]:"Attempt to debit an account but found no record of a prior credit.",[d8r]:"Transaction loads an address table account that doesn't exist",[$3r]:"This transaction has already been processed",[Y3r]:"Blockhash not found",[W3r]:"Loader call chain is too deep",[r8r]:"Transactions are currently disabled due to cluster maintenance",[_8r]:"Transaction contains a duplicate instruction ($index) that is not allowed",[z3r]:"Insufficient funds for fee",[m8r]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[K3r]:"This account may not be used to pay transaction fees",[Z3r]:"Transaction contains an invalid account reference",[l8r]:"Transaction loads an address table account with invalid data",[h8r]:"Transaction address table lookup uses an invalid index",[f8r]:"Transaction loads an address table account with an invalid owner",[b8r]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[e8r]:"This program may not be used for executing instructions",[A8r]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[a8r]:"Transaction loads a writable account that cannot be written",[y8r]:"Transaction exceeded max loaded accounts data size cap",[X3r]:"Transaction requires a fee but has no signature present",[J3r]:"Attempt to load a program that does not exist",[v8r]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[E8r]:"ResanitizationNeeded",[t8r]:"Transaction failed to sanitize accounts offsets correctly",[j3r]:"Transaction did not pass signature verification",[u8r]:"Transaction locked too many accounts",[R8r]:"Sum of account balances before and after transaction do not match",[H3r]:"The transaction failed with the error `$errorName`",[o8r]:"Transaction version is unsupported",[c8r]:"Transaction would exceed account data limit within the block",[g8r]:"Transaction would exceed total account data limit",[s8r]:"Transaction would exceed max account limit within the block",[i8r]:"Transaction would exceed max Block Cost Limit",[p8r]:"Transaction would exceed max Vote Cost Limit",[Gye]:"Attempted to sign a transaction with an address that is not a signer for it",[D3r]:"Transaction is missing an address at index: $index.",[qye]:"Transaction has no expected signers therefore it cannot be encoded",[hpt]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[upt]:"Transaction does not have a blockhash lifetime",[dpt]:"Transaction is not a durable nonce transaction",[x3r]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[T3r]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[M3r]:"No fee payer set in CompiledTransaction",[B3r]:"Could not find program address at index $index",[U3r]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[F3r]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[k3r]:"Transaction is missing a fee payer.",[lpt]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[L3r]:"Transaction first instruction is not advance nonce account instruction.",[P3r]:"Transaction with no instructions cannot be durable nonce transaction.",[w3r]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[O3r]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Vye]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[fpt]:"Transaction is missing signatures for addresses: $addresses.",[N3r]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Q3r]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[Apt]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function $8r(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${K8r(t)}'`),`${r}\``}}var mg=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=$8r(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Y8r(e,t){if(e.length>=t)return e;let r=new Uint8Array(t).fill(0);return r.set(e),r}var W8r=(e,t)=>Y8r(e.length<=t?e:e.slice(0,t),t);function sF(e,t){return"fixedSize"in t?t.fixedSize:t.getSizeFromValue(e)}function bE(e){return Object.freeze({...e,encode:t=>{let r=new Uint8Array(sF(t,e));return e.write(t,r,0),r}})}function o1(e){return Object.freeze({...e,decode:(t,r=0)=>e.read(t,r)[0]})}function E7(e){return"fixedSize"in e&&typeof e.fixedSize=="number"}function X8r(e){return!E7(e)}function Mpt(e,t,r=0){if(t.length-r<=0)throw new mg(Jye,{codecDescription:e})}function xj(e,t,r,i=0){let n=r.length-i;if(n<t)throw new mg(zye,{bytesLength:n,codecDescription:e,expected:t})}function Bpt(e,t,r){if(t<0||t>r)throw new mg(Wye,{bytesLength:r,codecDescription:e,offset:t})}function Xye(e,t){return bE({fixedSize:t,write:(r,i,n)=>{let o=e.encode(r),d=o.length>t?o.slice(0,t):o;return i.set(d,n),n+t}})}function Zye(e,t){return o1({fixedSize:t,read:(r,i)=>{xj("fixCodecSize",t,r,i),(i>0||r.length>t)&&(r=r.slice(i,i+t)),E7(e)&&(r=W8r(r,e.fixedSize));let[n]=e.read(r,0);return[n,i+t]}})}function Z8r(e,t){return o1({...e,read:(r,i)=>{let n=_=>j8r(_,r.length),o=t.preOffset?t.preOffset({bytes:r,preOffset:i,wrapBytes:n}):i;Bpt("offsetDecoder",o,r.length);let[d,g]=e.read(r,o),y=t.postOffset?t.postOffset({bytes:r,newPreOffset:o,postOffset:g,preOffset:i,wrapBytes:n}):g;return Bpt("offsetDecoder",y,r.length),[d,y]}})}function j8r(e,t){return t===0?0:(e%t+t)%t}function e4r(e,t){if(E7(e)){let r=t(e.fixedSize);if(r<0)throw new mg(Yye,{bytesLength:r,codecDescription:"resizeDecoder"});return o1({...e,fixedSize:r})}return e}function Dpt(e,t){return Z8r(e4r(e,r=>r+t),{postOffset:({postOffset:r})=>r+t})}function jye(e,t){return bE({...X8r(e)?{...e,getSizeFromValue:r=>e.getSizeFromValue(t(r))}:e,write:(r,i,n)=>e.write(t(r),i,n)})}function ebe(e,t){return o1({...e,read:(r,i)=>{let[n,o]=e.read(r,i);return[t(n,r,i),o]}})}J();K();z();J();K();z();function kpt(e,t,r,i){if(i<t||i>r)throw new mg($ye,{codecDescription:e,max:r,min:t,value:i})}function Ppt(e){return e?.endian!==1}function t4r(e){return bE({fixedSize:e.size,write(t,r,i){e.range&&kpt(e.name,e.range[0],e.range[1],t);let n=new ArrayBuffer(e.size);return e.set(new DataView(n),t,Ppt(e.config)),r.set(new Uint8Array(n),i),i+e.size}})}function Lpt(e){return o1({fixedSize:e.size,read(t,r=0){Mpt(e.name,t,r),xj(e.name,e.size,t,r);let i=new DataView(r4r(t,r,e.size));return[e.get(i,Ppt(e.config)),r+e.size]}})}function r4r(e,t,r){let i=e.byteOffset+(t??0),n=r??e.byteLength;return e.buffer.slice(i,i+n)}var Upt=()=>bE({getSizeFromValue:e=>e<=127?1:e<=16383?2:3,maxSize:3,write:(e,t,r)=>{kpt("shortU16",0,65535,e);let i=[0];for(let n=0;;n+=1){let o=Number(e)>>n*7;if(o===0)break;let d=127&o;i[n]=d,n>0&&(i[n-1]|=128)}return t.set(i,r),r+i.length}}),rbe=()=>o1({maxSize:3,read:(e,t)=>{let r=0,i=0;for(;++i;){let n=i-1,o=e[t+n],d=127&o;if(r|=d<<n*7,(o&128)===0)break}return[r,t+i]}});var Fpt=(e={})=>t4r({config:e,name:"u32",range:[0,+"0xffffffff"],set:(t,r,i)=>t.setUint32(0,Number(r),i),size:4}),Qpt=(e={})=>Lpt({config:e,get:(t,r)=>t.getUint32(0,r),name:"u32",size:4});var nbe=()=>Lpt({get:e=>e.getUint8(0),name:"u8",size:1});function n4r(e,t,r){if(t!==r)throw new mg(Kye,{actual:r,codecDescription:e,expected:t})}function v7(e){return e.reduce((t,r)=>t===null||r===null?null:t+r,0)}function cF(e){return E7(e)?e.fixedSize:null}function uF(e){return E7(e)?e.fixedSize:e.maxSize??null}function Hpt(e,t={}){let r=t.size??Fpt(),i=Tj(r,cF(e)),n=Tj(r,uF(e))??void 0;return bE({...i!==null?{fixedSize:i}:{getSizeFromValue:o=>(typeof r=="object"?sF(o.length,r):0)+[...o].reduce((g,y)=>g+sF(y,e),0),maxSize:n},write:(o,d,g)=>(typeof r=="number"&&n4r("array",r,o.length),typeof r=="object"&&(g=r.write(o.length,d,g)),o.forEach(y=>{g=e.write(y,d,g)}),g)})}function ibe(e,t={}){let r=t.size??Qpt(),i=cF(e),n=Tj(r,i),o=Tj(r,uF(e))??void 0;return o1({...n!==null?{fixedSize:n}:{maxSize:o},read:(d,g)=>{let y=[];if(typeof r=="object"&&d.slice(g).length===0)return[y,g];if(r==="remainder"){for(;g<d.length;){let[N,T]=e.read(d,g);g=T,y.push(N)}return[y,g]}let[_,I]=typeof r=="number"?[r,g]:r.read(d,g);g=I;for(let N=0;N<_;N+=1){let[T,M]=e.read(d,g);g=M,y.push(T)}return[y,g]}})}function Tj(e,t){return typeof e!="number"?null:e===0?0:t===null?null:t*e}function obe(){return bE({getSizeFromValue:e=>e.length,write:(e,t,r)=>(t.set(e,r),r+e.length)})}function abe(){return o1({read:(e,t)=>{let r=e.slice(t);return[r,t+r.length]}})}function Gpt(e){let t=v7(e.map(cF)),r=v7(e.map(uF))??void 0;return o1({...t===null?{maxSize:r}:{fixedSize:t},read:(i,n)=>{let o=[];return e.forEach(d=>{let[g,y]=d.read(i,n);o.push(g),n=y}),[o,n]}})}function qpt(e){let t=e.map(([,n])=>n),r=v7(t.map(cF)),i=v7(t.map(uF))??void 0;return bE({...r===null?{getSizeFromValue:n=>e.map(([o,d])=>sF(n[o],d)).reduce((o,d)=>o+d,0),maxSize:i}:{fixedSize:r},write:(n,o,d)=>(e.forEach(([g,y])=>{d=y.write(n[g],o,d)}),d)})}function Vpt(e){let t=e.map(([,n])=>n),r=v7(t.map(cF)),i=v7(t.map(uF))??void 0;return o1({...r===null?{maxSize:i}:{fixedSize:r},read:(n,o)=>{let d={};return e.forEach(([g,y])=>{let[_,I]=y.read(n,o);o=I,d[g]=_}),[d,o]}})}J();K();z();var Jpt=()=>o1({read(e,t=0){let r=e.slice(t);return[btoa(String.fromCharCode(...r)),e.length]}});var Dio=globalThis.TextDecoder,kio=globalThis.TextEncoder;J();K();z();J();K();z();var i4r=1,o4r=2,a4r=3,s4r=4,c4r=5,u4r=6,d4r=7,f4r=8,l4r=9,h4r=10,A4r=-32700,p4r=-32603,g4r=-32602,_4r=-32601,m4r=-32600,y4r=-32019,b4r=-32018,E4r=-32017,v4r=-32016,R4r=-32015,S4r=-32014,I4r=-32013,C4r=-32012,w4r=-32011,O4r=-32010,N4r=-32009,x4r=-32008,T4r=-32007,B4r=-32006,M4r=-32005,D4r=-32004,k4r=-32003,P4r=-32002,L4r=-32001,U4r=28e5,F4r=2800001,Q4r=2800002,H4r=2800003,G4r=2800004,q4r=2800005,V4r=2800006,J4r=2800007,z4r=2800008,K4r=2800009,$4r=2800010,Y4r=2800011,W4r=323e4,X4r=32300001,Z4r=3230002,j4r=3230003,eCr=3230004,tCr=361e4,rCr=3610001,nCr=3610002,iCr=3610003,oCr=3610004,aCr=3610005,sCr=3610006,sbe=3610007,cCr=3611e3,cbe=3704e3,ube=3704001,zpt=3704002,Kpt=3704003,dbe=3704004,uCr=4128e3,dCr=4128001,fCr=4128002,lCr=4615e3,hCr=4615001,ACr=4615002,pCr=4615003,gCr=4615004,_Cr=4615005,mCr=4615006,yCr=4615007,bCr=4615008,ECr=4615009,vCr=4615010,RCr=4615011,SCr=4615012,ICr=4615013,CCr=4615014,wCr=4615015,OCr=4615016,NCr=4615017,xCr=4615018,TCr=4615019,BCr=4615020,MCr=4615021,DCr=4615022,kCr=4615023,PCr=4615024,LCr=4615025,UCr=4615026,FCr=4615027,QCr=4615028,HCr=4615029,GCr=4615030,qCr=4615031,VCr=4615032,JCr=4615033,zCr=4615034,KCr=4615035,$Cr=4615036,YCr=4615037,WCr=4615038,XCr=4615039,ZCr=4615040,jCr=4615041,ewr=4615042,twr=4615043,rwr=4615044,nwr=4615045,iwr=4615046,owr=4615047,awr=4615048,swr=4615049,cwr=4615050,uwr=4615051,dwr=4615052,fwr=4615053,lwr=4615054,hwr=5508e3,Awr=5508001,pwr=5508002,gwr=5508003,_wr=5508004,mwr=5508005,ywr=5508006,bwr=5508007,Ewr=5508008,vwr=5508009,Rwr=5508010,Swr=5508011,Iwr=5663e3,Cwr=5663001,wwr=5663002,Owr=5663003,Nwr=5663004,xwr=5663005,Twr=5663006,Bwr=5663007,Mwr=5663008,Dwr=5663009,kwr=5663010,Pwr=5663011,Lwr=5663012,Uwr=5663013,Fwr=5663014,Qwr=5663015,Hwr=5663016,Gwr=5663017,qwr=5663018,Vwr=5663019,Jwr=5663020,zwr=5663021,Kwr=5663022,$wr=705e4,Ywr=7050001,Wwr=7050002,Xwr=7050003,Zwr=7050004,jwr=7050005,e5r=7050006,t5r=7050007,r5r=7050008,n5r=7050009,i5r=7050010,o5r=7050011,a5r=7050012,s5r=7050013,c5r=7050014,u5r=7050015,d5r=7050016,f5r=7050017,l5r=7050018,h5r=7050019,A5r=7050020,p5r=7050021,g5r=7050022,_5r=7050023,m5r=7050024,y5r=7050025,b5r=7050026,E5r=7050027,v5r=7050028,R5r=7050029,S5r=7050030,I5r=7050031,C5r=7050032,w5r=7050033,O5r=7050034,N5r=7050035,x5r=7050036,T5r=7618e3,B5r=7618001,M5r=7618002,D5r=7618003,k5r=8078e3,P5r=8078001,L5r=8078002,U5r=8078003,F5r=8078004,Q5r=8078005,H5r=8078006,G5r=8078007,q5r=8078008,V5r=8078009,J5r=8078010,z5r=8078011,K5r=8078012,$5r=8078013,Y5r=8078014,W5r=8078015,X5r=8078016,Z5r=8078017,j5r=8078018,eOr=8078019,tOr=8078020,rOr=8078021,nOr=8078022,iOr=8078023,oOr=81e5,aOr=8100001,sOr=8100002,cOr=8100003,uOr=819e4,dOr=8190001,fOr=8190002,lOr=8190003,hOr=8190004,AOr=99e5,pOr=9900001,gOr=9900002,_Or=9900003,mOr=9900004,yOr=9900005,bOr=9900006;function $pt(e){return Array.isArray(e)?"%5B"+e.map($pt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function EOr([e,t]){return`${e}=${$pt(t)}`}function vOr(e){let t=Object.entries(e).map(EOr).join("&");return btoa(t)}var Qio={[W4r]:"Account not found at address: $address",[eCr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[j4r]:"Expected decoded account at address: $address",[Z4r]:"Failed to decode account data at address: $address",[X4r]:"Accounts not found at addresses: $addresses",[K4r]:"Unable to find a viable program address bump seed.",[Q4r]:"$putativeAddress is not a base58-encoded address.",[U4r]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[H4r]:"The `CryptoKey` must be an `Ed25519` public key.",[Y4r]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[z4r]:"Invalid seeds; point must fall off the Ed25519 curve.",[G4r]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[V4r]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[J4r]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[q4r]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[$4r]:"Program address cannot end with PDA marker.",[F4r]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[s4r]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[i4r]:"The network has progressed past the last block for which this transaction could have been committed.",[k5r]:"Codec [$codecDescription] cannot decode empty byte arrays.",[nOr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[tOr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[Q5r]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[H5r]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[F5r]:"Encoder and decoder must either both be fixed-size or variable-size.",[q5r]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[L5r]:"Expected a fixed-size codec, got a variable-size one.",[$5r]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[U5r]:"Expected a variable-size codec, got a fixed-size one.",[eOr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[P5r]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[j5r]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[V5r]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[J5r]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[W5r]:"Invalid literal union variant. Expected one of [$variants], got $value.",[G5r]:"Expected [$codecDescription] to have $expected items, got $actual.",[K5r]:"Invalid value $value for base $base with alphabet $alphabet.",[X5r]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[z5r]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[Y5r]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[rOr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Z5r]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[iOr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[cCr]:"No random values implementation could be found.",[ECr]:"instruction requires an uninitialized account",[kCr]:"instruction tries to borrow reference for an account which is already borrowed",[PCr]:"instruction left account with an outstanding borrowed reference",[MCr]:"program other than the account's owner changed the size of the account data",[_Cr]:"account data too small for instruction",[DCr]:"instruction expected an executable account",[iwr]:"An account does not have enough lamports to be rent-exempt",[awr]:"Program arithmetic overflowed",[nwr]:"Failed to serialize or deserialize account data: $encodedData",[lwr]:"Builtin programs must consume compute units",[VCr]:"Cross-program invocation call depth too deep",[WCr]:"Computational budget exceeded",[UCr]:"custom program error: #$code",[NCr]:"instruction contains duplicate accounts",[LCr]:"instruction modifications of multiply-passed account differ",[GCr]:"executable accounts must be rent exempt",[QCr]:"instruction changed executable accounts data",[HCr]:"instruction changed the balance of an executable account",[xCr]:"instruction changed executable bit of an account",[CCr]:"instruction modified data of an account it does not own",[ICr]:"instruction spent from the balance of an account it does not own",[hCr]:"generic instruction error",[cwr]:"Provided owner is not allowed",[twr]:"Account is immutable",[rwr]:"Incorrect authority provided",[yCr]:"incorrect program id for instruction",[mCr]:"insufficient funds for instruction",[gCr]:"invalid account data for instruction",[owr]:"Invalid account owner",[ACr]:"invalid program argument",[FCr]:"program returned invalid error code",[pCr]:"invalid instruction data",[YCr]:"Failed to reallocate account data",[$Cr]:"Provided seeds do not result in a valid address",[uwr]:"Accounts data allocations exceeded the maximum allowed per transaction",[dwr]:"Max accounts exceeded",[fwr]:"Max instruction trace length exceeded",[KCr]:"Length of the seed is too long for address generation",[JCr]:"An account required by the instruction is missing",[bCr]:"missing required signature for instruction",[SCr]:"instruction illegally modified the program id of an account",[BCr]:"insufficient account keys for instruction",[XCr]:"Cross-program invocation with unauthorized signer or writable account",[ZCr]:"Failed to create program execution environment",[ewr]:"Program failed to compile",[jCr]:"Program failed to complete",[OCr]:"instruction modified data of a read-only account",[wCr]:"instruction changed the balance of a read-only account",[zCr]:"Cross-program invocation reentrancy not allowed for this instruction",[TCr]:"instruction modified rent epoch of an account",[RCr]:"sum of account balances before and after instruction do not match",[vCr]:"instruction requires an initialized account",[lCr]:"",[qCr]:"Unsupported program id",[swr]:"Unsupported sysvar",[yOr]:"Invalid instruction plan kind: $kind.",[M5r]:"The provided instruction plan is empty.",[D5r]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[T5r]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[bOr]:"Invalid transaction plan kind: $kind.",[B5r]:"No more instructions to pack; the message packer has completed the instruction plan.",[uCr]:"The instruction does not have any accounts.",[dCr]:"The instruction does not have any data.",[fCr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[c4r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[o4r]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[gOr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[mOr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[pOr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[AOr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[_Or]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[p4r]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[g4r]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[m4r]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[_4r]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[A4r]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[C4r]:"$__serverMessage",[L4r]:"$__serverMessage",[D4r]:"$__serverMessage",[S4r]:"$__serverMessage",[E4r]:"Epoch rewards period still active at slot $slot",[O4r]:"$__serverMessage",[N4r]:"$__serverMessage",[y4r]:"Failed to query long-term storage; please try again",[v4r]:"Minimum context slot has not been reached",[M4r]:"Node is unhealthy; behind by $numSlotsBehind slots",[x4r]:"No snapshot",[P4r]:"Transaction simulation failed",[b4r]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[T4r]:"$__serverMessage",[w4r]:"Transaction history is not available from this node",[B4r]:"$__serverMessage",[I4r]:"Transaction signature length mismatch",[k4r]:"Transaction signature verification failure",[R4r]:"$__serverMessage",[cbe]:"Key pair bytes must be of length 64, got $byteLength.",[ube]:"Expected private key bytes with length 32. Actual length: $actualLength.",[zpt]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[dbe]:"The provided private key does not match the provided public key.",[Kpt]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[u4r]:"Lamports value must be in the range [0, 2e64-1]",[d4r]:"`$value` cannot be parsed as a `BigInt`",[h4r]:"$message",[f4r]:"`$value` cannot be parsed as a `Number`",[a4r]:"No nonce account could be found at address `$nonceAccountAddress`",[uOr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[fOr]:"WebSocket was closed before payload could be added to the send buffer",[lOr]:"WebSocket connection closed",[hOr]:"WebSocket failed to connect",[dOr]:"Failed to obtain a subscription id from the server",[cOr]:"Could not find an API plan for RPC method: `$method`",[oOr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[sOr]:"HTTP error ($statusCode): $message",[aOr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[hwr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Awr]:"The provided value does not implement the `KeyPairSigner` interface",[gwr]:"The provided value does not implement the `MessageModifyingSigner` interface",[_wr]:"The provided value does not implement the `MessagePartialSigner` interface",[pwr]:"The provided value does not implement any of the `MessageSigner` interfaces",[ywr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[bwr]:"The provided value does not implement the `TransactionPartialSigner` interface",[Ewr]:"The provided value does not implement the `TransactionSendingSigner` interface",[mwr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[vwr]:"More than one `TransactionSendingSigner` was identified.",[Rwr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Swr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[sbe]:"Cannot export a non-extractable key.",[rCr]:"No digest implementation could be found.",[tCr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[nCr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[iCr]:"No signature verification implementation could be found.",[oCr]:"No key generation implementation could be found.",[aCr]:"No signing implementation could be found.",[sCr]:"No key export implementation could be found.",[l4r]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[d5r]:"Transaction processing left an account with an outstanding borrowed reference",[Ywr]:"Account in use",[Wwr]:"Account loaded twice",[Xwr]:"Attempt to debit an account but found no record of a prior credit.",[_5r]:"Transaction loads an address table account that doesn't exist",[t5r]:"This transaction has already been processed",[r5r]:"Blockhash not found",[n5r]:"Loader call chain is too deep",[u5r]:"Transactions are currently disabled due to cluster maintenance",[S5r]:"Transaction contains a duplicate instruction ($index) that is not allowed",[jwr]:"Insufficient funds for fee",[I5r]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[e5r]:"This account may not be used to pay transaction fees",[o5r]:"Transaction contains an invalid account reference",[y5r]:"Transaction loads an address table account with invalid data",[b5r]:"Transaction address table lookup uses an invalid index",[m5r]:"Transaction loads an address table account with an invalid owner",[w5r]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[s5r]:"This program may not be used for executing instructions",[E5r]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[h5r]:"Transaction loads a writable account that cannot be written",[C5r]:"Transaction exceeded max loaded accounts data size cap",[i5r]:"Transaction requires a fee but has no signature present",[Zwr]:"Attempt to load a program that does not exist",[N5r]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[O5r]:"ResanitizationNeeded",[c5r]:"Transaction failed to sanitize accounts offsets correctly",[a5r]:"Transaction did not pass signature verification",[g5r]:"Transaction locked too many accounts",[x5r]:"Sum of account balances before and after transaction do not match",[$wr]:"The transaction failed with the error `$errorName`",[l5r]:"Transaction version is unsupported",[p5r]:"Transaction would exceed account data limit within the block",[R5r]:"Transaction would exceed total account data limit",[A5r]:"Transaction would exceed max account limit within the block",[f5r]:"Transaction would exceed max Block Cost Limit",[v5r]:"Transaction would exceed max Vote Cost Limit",[Qwr]:"Attempted to sign a transaction with an address that is not a signer for it",[kwr]:"Transaction is missing an address at index: $index.",[Hwr]:"Transaction has no expected signers therefore it cannot be encoded",[Jwr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[wwr]:"Transaction does not have a blockhash lifetime",[Owr]:"Transaction is not a durable nonce transaction",[xwr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[Twr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[Mwr]:"No fee payer set in CompiledTransaction",[Bwr]:"Could not find program address at index $index",[qwr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[Vwr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[Pwr]:"Transaction is missing a fee payer.",[Lwr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[Fwr]:"Transaction first instruction is not advance nonce account instruction.",[Uwr]:"Transaction with no instructions cannot be durable nonce transaction.",[Iwr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[Cwr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Gwr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[Dwr]:"Transaction is missing signatures for addresses: $addresses.",[Nwr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[zwr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[Kwr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function ROr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${vOr(t)}'`),`${r}\``}}var dF=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=ROr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};var Bj=Object.freeze({name:"Ed25519"});function SOr(e){return new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,112,4,34,4,32,...e])}async function fbe(e,t=!1){let r=e.byteLength;if(r!==32)throw new dF(ube,{actualLength:r});let i=SOr(e);return await crypto.subtle.importKey("pkcs8",i,Bj,t,["sign"])}async function IOr(e,t=!1){if(dj(),e.extractable===!1)throw new dF(sbe,{key:e});let r=await crypto.subtle.exportKey("jwk",e);return await crypto.subtle.importKey("jwk",{crv:"Ed25519",ext:t,key_ops:["verify"],kty:"OKP",x:r.x},"Ed25519",t,["verify"])}async function fF(e,t){wht();let r=await crypto.subtle.sign(Bj,e,t);return new Uint8Array(r)}async function COr(e,t,r){return Oht(),await crypto.subtle.verify(Bj,e,t,r)}async function Ypt(e,t=!1){if(Iht(),e.byteLength!==64)throw new dF(cbe,{byteLength:e.byteLength});let[r,i]=await Promise.all([crypto.subtle.importKey("raw",e.slice(32),Bj,!0,["verify"]),fbe(e.slice(0,32),t)]),n=new Uint8Array(32);crypto.getRandomValues(n);let o=await fF(i,n);if(!await COr(r,o,n))throw new dF(dbe);return{privateKey:i,publicKey:r}}async function Wpt(e,t=!1){let r=fbe(e,t),[i,n]=await Promise.all([(t?r:fbe(e,!0)).then(async o=>await IOr(o,!0)),r]);return{privateKey:n,publicKey:i}}function wOr(e){let t=Object.values(e);if(t.length===0)throw new mg(qye);return t.map(r=>r||new Uint8Array(64).fill(0))}function OOr(){return jye(Hpt(Xye(obe(),64),{size:Upt()}),wOr)}function NOr(){return qpt([["signatures",OOr()],["messageBytes",obe()]])}function Xpt(){return ebe(Vpt([["signatures",ibe(Zye(abe(),64),{size:rbe()})],["messageBytes",abe()]]),xOr)}function xOr(e){let{messageBytes:t,signatures:r}=e,i=Gpt([Fye(),Dpt(nbe(),2),ibe(bs(),{size:rbe()})]),[n,o,d]=i.decode(t),g=d.slice(0,o);if(g.length!==r.length)throw new mg(Vye,{numRequiredSignatures:o,signaturesLength:r.length,signerAddresses:g});let y={};return g.forEach((_,I)=>{let N=r[I];N.every(T=>T===0)?y[_]=null:y[_]=N}),{messageBytes:t,signatures:Object.freeze(y)}}function Mj(e){let t=opt(e),r=npt().encode(t),i=t.staticAccounts.slice(0,t.header.numSignerAccounts),n={};for(let d of i)n[d]=null;let o;return ZAt(e)?o={blockhash:e.lifetimeConstraint.blockhash,lastValidBlockHeight:e.lifetimeConstraint.lastValidBlockHeight}:Nj(e)&&(o={nonce:e.lifetimeConstraint.nonce,nonceAccountAddress:e.instructions[0].accounts[0].address}),Object.freeze({...o?{lifetimeConstraint:o}:void 0,messageBytes:r,signatures:Object.freeze(n)})}function TOr(e,t){return e.length===t.length&&e.every((r,i)=>r===t[i])}async function Zpt(e,t){let r,i;if(await Promise.all(e.map(async n=>{let o=await hj(n.publicKey),d=t.signatures[o];if(d===void 0){i||=new Set,i.add(o);return}if(i)return;let g=await fF(n.privateKey,t.messageBytes);d!==null&&TOr(g,d)||(r||={},r[o]=g)})),i&&i.size>0){let n=Object.keys(t.signatures);throw new mg(Gye,{expectedAddresses:n,unexpectedAddresses:[...i]})}return r?Object.freeze({...t,signatures:Object.freeze({...t.signatures,...r})}):t}function R7(e){let t=NOr().encode(e);return Jpt().decode(t)}var BOr=1280,MOr=48,coo=BOr-MOr;J();K();z();function jpt(e){return e!==null&&(typeof e=="object"||typeof e=="function")}function DOr(e){let t=new Set,r={deferreds:t,settled:!1};return Promise.resolve(e).then(i=>{for(let{resolve:n}of t)n(i);t.clear(),r.settled=!0},i=>{for(let{reject:n}of t)n(i);t.clear(),r.settled=!0}),r}var lbe=new WeakMap;async function e1t(e){let t;return await new Promise((i,n)=>{t={reject:n,resolve:i};for(let o of e){if(!jpt(o)){Promise.resolve(o).then(i,n);continue}let d=lbe.get(o);d===void 0?(d=DOr(o),d.deferreds.add(t),lbe.set(o,d)):d.settled?Promise.resolve(o).then(i,n):d.deferreds.add(t)}}).finally(()=>{for(let i of e)jpt(i)&&lbe.get(i).deferreds.delete(t)})}J();K();z();J();K();z();J();K();z();J();K();z();var kOr=1,POr=2,LOr=3,UOr=4,FOr=5,QOr=6,HOr=7,GOr=8,qOr=9,VOr=10,JOr=-32700,zOr=-32603,KOr=-32602,$Or=-32601,YOr=-32600,WOr=-32019,XOr=-32018,ZOr=-32017,jOr=-32016,eNr=-32015,tNr=-32014,rNr=-32013,nNr=-32012,iNr=-32011,oNr=-32010,aNr=-32009,sNr=-32008,cNr=-32007,uNr=-32006,dNr=-32005,fNr=-32004,lNr=-32003,hNr=-32002,ANr=-32001,pNr=28e5,gNr=2800001,_Nr=2800002,mNr=2800003,yNr=2800004,bNr=2800005,ENr=2800006,vNr=2800007,RNr=2800008,SNr=2800009,INr=2800010,CNr=2800011,wNr=323e4,ONr=32300001,NNr=3230002,xNr=3230003,TNr=3230004,BNr=361e4,MNr=3610001,DNr=3610002,kNr=3610003,PNr=3610004,LNr=3610005,UNr=3610006,FNr=3610007,QNr=3611e3,HNr=3704e3,GNr=3704001,qNr=3704002,VNr=3704003,JNr=3704004,zNr=4128e3,KNr=4128001,$Nr=4128002,YNr=4615e3,WNr=4615001,XNr=4615002,ZNr=4615003,jNr=4615004,exr=4615005,txr=4615006,rxr=4615007,nxr=4615008,ixr=4615009,oxr=4615010,axr=4615011,sxr=4615012,cxr=4615013,uxr=4615014,dxr=4615015,fxr=4615016,lxr=4615017,hxr=4615018,Axr=4615019,pxr=4615020,gxr=4615021,_xr=4615022,mxr=4615023,yxr=4615024,bxr=4615025,Exr=4615026,vxr=4615027,Rxr=4615028,Sxr=4615029,Ixr=4615030,Cxr=4615031,wxr=4615032,Oxr=4615033,Nxr=4615034,xxr=4615035,Txr=4615036,Bxr=4615037,Mxr=4615038,Dxr=4615039,kxr=4615040,Pxr=4615041,Lxr=4615042,Uxr=4615043,Fxr=4615044,Qxr=4615045,Hxr=4615046,Gxr=4615047,qxr=4615048,Vxr=4615049,Jxr=4615050,zxr=4615051,Kxr=4615052,$xr=4615053,Yxr=4615054,Wxr=5508e3,Xxr=5508001,Zxr=5508002,jxr=5508003,eTr=5508004,tTr=5508005,rTr=5508006,nTr=5508007,iTr=5508008,oTr=5508009,aTr=5508010,sTr=5508011,cTr=5663e3,uTr=5663001,dTr=5663002,fTr=5663003,lTr=5663004,hTr=5663005,ATr=5663006,pTr=5663007,gTr=5663008,_Tr=5663009,mTr=5663010,yTr=5663011,bTr=5663012,ETr=5663013,vTr=5663014,RTr=5663015,STr=5663016,ITr=5663017,CTr=5663018,wTr=5663019,OTr=5663020,NTr=5663021,xTr=5663022,TTr=705e4,BTr=7050001,MTr=7050002,DTr=7050003,kTr=7050004,PTr=7050005,LTr=7050006,UTr=7050007,FTr=7050008,QTr=7050009,HTr=7050010,GTr=7050011,qTr=7050012,VTr=7050013,JTr=7050014,zTr=7050015,KTr=7050016,$Tr=7050017,YTr=7050018,WTr=7050019,XTr=7050020,ZTr=7050021,jTr=7050022,eBr=7050023,tBr=7050024,rBr=7050025,nBr=7050026,iBr=7050027,oBr=7050028,aBr=7050029,sBr=7050030,cBr=7050031,uBr=7050032,dBr=7050033,fBr=7050034,lBr=7050035,hBr=7050036,ABr=7618e3,pBr=7618001,gBr=7618002,_Br=7618003,mBr=8078e3,yBr=8078001,bBr=8078002,EBr=8078003,vBr=8078004,RBr=8078005,SBr=8078006,IBr=8078007,CBr=8078008,wBr=8078009,OBr=8078010,NBr=8078011,xBr=8078012,TBr=8078013,BBr=8078014,MBr=8078015,DBr=8078016,kBr=8078017,PBr=8078018,LBr=8078019,UBr=8078020,FBr=8078021,QBr=8078022,HBr=8078023,GBr=81e5,qBr=8100001,VBr=8100002,hbe=8100003,JBr=819e4,zBr=8190001,KBr=8190002,$Br=8190003,YBr=8190004,WBr=99e5,XBr=9900001,ZBr=9900002,jBr=9900003,e7r=9900004,t7r=9900005,r7r=9900006;function t1t(e){return Array.isArray(e)?"%5B"+e.map(t1t).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function n7r([e,t]){return`${e}=${t1t(t)}`}function i7r(e){let t=Object.entries(e).map(n7r).join("&");return btoa(t)}var _oo={[wNr]:"Account not found at address: $address",[TNr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[xNr]:"Expected decoded account at address: $address",[NNr]:"Failed to decode account data at address: $address",[ONr]:"Accounts not found at addresses: $addresses",[SNr]:"Unable to find a viable program address bump seed.",[_Nr]:"$putativeAddress is not a base58-encoded address.",[pNr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[mNr]:"The `CryptoKey` must be an `Ed25519` public key.",[CNr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[RNr]:"Invalid seeds; point must fall off the Ed25519 curve.",[yNr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[ENr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[vNr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[bNr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[INr]:"Program address cannot end with PDA marker.",[gNr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[UOr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[kOr]:"The network has progressed past the last block for which this transaction could have been committed.",[mBr]:"Codec [$codecDescription] cannot decode empty byte arrays.",[QBr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[UBr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[RBr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[SBr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[vBr]:"Encoder and decoder must either both be fixed-size or variable-size.",[CBr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[bBr]:"Expected a fixed-size codec, got a variable-size one.",[TBr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[EBr]:"Expected a variable-size codec, got a fixed-size one.",[LBr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[yBr]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[PBr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[wBr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[OBr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[MBr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[IBr]:"Expected [$codecDescription] to have $expected items, got $actual.",[xBr]:"Invalid value $value for base $base with alphabet $alphabet.",[DBr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[NBr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[BBr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[FBr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[kBr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[HBr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[QNr]:"No random values implementation could be found.",[ixr]:"instruction requires an uninitialized account",[mxr]:"instruction tries to borrow reference for an account which is already borrowed",[yxr]:"instruction left account with an outstanding borrowed reference",[gxr]:"program other than the account's owner changed the size of the account data",[exr]:"account data too small for instruction",[_xr]:"instruction expected an executable account",[Hxr]:"An account does not have enough lamports to be rent-exempt",[qxr]:"Program arithmetic overflowed",[Qxr]:"Failed to serialize or deserialize account data: $encodedData",[Yxr]:"Builtin programs must consume compute units",[wxr]:"Cross-program invocation call depth too deep",[Mxr]:"Computational budget exceeded",[Exr]:"custom program error: #$code",[lxr]:"instruction contains duplicate accounts",[bxr]:"instruction modifications of multiply-passed account differ",[Ixr]:"executable accounts must be rent exempt",[Rxr]:"instruction changed executable accounts data",[Sxr]:"instruction changed the balance of an executable account",[hxr]:"instruction changed executable bit of an account",[uxr]:"instruction modified data of an account it does not own",[cxr]:"instruction spent from the balance of an account it does not own",[WNr]:"generic instruction error",[Jxr]:"Provided owner is not allowed",[Uxr]:"Account is immutable",[Fxr]:"Incorrect authority provided",[rxr]:"incorrect program id for instruction",[txr]:"insufficient funds for instruction",[jNr]:"invalid account data for instruction",[Gxr]:"Invalid account owner",[XNr]:"invalid program argument",[vxr]:"program returned invalid error code",[ZNr]:"invalid instruction data",[Bxr]:"Failed to reallocate account data",[Txr]:"Provided seeds do not result in a valid address",[zxr]:"Accounts data allocations exceeded the maximum allowed per transaction",[Kxr]:"Max accounts exceeded",[$xr]:"Max instruction trace length exceeded",[xxr]:"Length of the seed is too long for address generation",[Oxr]:"An account required by the instruction is missing",[nxr]:"missing required signature for instruction",[sxr]:"instruction illegally modified the program id of an account",[pxr]:"insufficient account keys for instruction",[Dxr]:"Cross-program invocation with unauthorized signer or writable account",[kxr]:"Failed to create program execution environment",[Lxr]:"Program failed to compile",[Pxr]:"Program failed to complete",[fxr]:"instruction modified data of a read-only account",[dxr]:"instruction changed the balance of a read-only account",[Nxr]:"Cross-program invocation reentrancy not allowed for this instruction",[Axr]:"instruction modified rent epoch of an account",[axr]:"sum of account balances before and after instruction do not match",[oxr]:"instruction requires an initialized account",[YNr]:"",[Cxr]:"Unsupported program id",[Vxr]:"Unsupported sysvar",[t7r]:"Invalid instruction plan kind: $kind.",[gBr]:"The provided instruction plan is empty.",[_Br]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[ABr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[r7r]:"Invalid transaction plan kind: $kind.",[pBr]:"No more instructions to pack; the message packer has completed the instruction plan.",[zNr]:"The instruction does not have any accounts.",[KNr]:"The instruction does not have any data.",[$Nr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[FOr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[POr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[ZBr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[e7r]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[XBr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[WBr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[jBr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[zOr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[KOr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[YOr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[$Or]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[JOr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[nNr]:"$__serverMessage",[ANr]:"$__serverMessage",[fNr]:"$__serverMessage",[tNr]:"$__serverMessage",[ZOr]:"Epoch rewards period still active at slot $slot",[oNr]:"$__serverMessage",[aNr]:"$__serverMessage",[WOr]:"Failed to query long-term storage; please try again",[jOr]:"Minimum context slot has not been reached",[dNr]:"Node is unhealthy; behind by $numSlotsBehind slots",[sNr]:"No snapshot",[hNr]:"Transaction simulation failed",[XOr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[cNr]:"$__serverMessage",[iNr]:"Transaction history is not available from this node",[uNr]:"$__serverMessage",[rNr]:"Transaction signature length mismatch",[lNr]:"Transaction signature verification failure",[eNr]:"$__serverMessage",[HNr]:"Key pair bytes must be of length 64, got $byteLength.",[GNr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[qNr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[JNr]:"The provided private key does not match the provided public key.",[VNr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[QOr]:"Lamports value must be in the range [0, 2e64-1]",[HOr]:"`$value` cannot be parsed as a `BigInt`",[VOr]:"$message",[GOr]:"`$value` cannot be parsed as a `Number`",[LOr]:"No nonce account could be found at address `$nonceAccountAddress`",[JBr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[KBr]:"WebSocket was closed before payload could be added to the send buffer",[$Br]:"WebSocket connection closed",[YBr]:"WebSocket failed to connect",[zBr]:"Failed to obtain a subscription id from the server",[hbe]:"Could not find an API plan for RPC method: `$method`",[GBr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[VBr]:"HTTP error ($statusCode): $message",[qBr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Wxr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Xxr]:"The provided value does not implement the `KeyPairSigner` interface",[jxr]:"The provided value does not implement the `MessageModifyingSigner` interface",[eTr]:"The provided value does not implement the `MessagePartialSigner` interface",[Zxr]:"The provided value does not implement any of the `MessageSigner` interfaces",[rTr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[nTr]:"The provided value does not implement the `TransactionPartialSigner` interface",[iTr]:"The provided value does not implement the `TransactionSendingSigner` interface",[tTr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[oTr]:"More than one `TransactionSendingSigner` was identified.",[aTr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[sTr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[FNr]:"Cannot export a non-extractable key.",[MNr]:"No digest implementation could be found.",[BNr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[DNr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[kNr]:"No signature verification implementation could be found.",[PNr]:"No key generation implementation could be found.",[LNr]:"No signing implementation could be found.",[UNr]:"No key export implementation could be found.",[qOr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[KTr]:"Transaction processing left an account with an outstanding borrowed reference",[BTr]:"Account in use",[MTr]:"Account loaded twice",[DTr]:"Attempt to debit an account but found no record of a prior credit.",[eBr]:"Transaction loads an address table account that doesn't exist",[UTr]:"This transaction has already been processed",[FTr]:"Blockhash not found",[QTr]:"Loader call chain is too deep",[zTr]:"Transactions are currently disabled due to cluster maintenance",[sBr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[PTr]:"Insufficient funds for fee",[cBr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[LTr]:"This account may not be used to pay transaction fees",[GTr]:"Transaction contains an invalid account reference",[rBr]:"Transaction loads an address table account with invalid data",[nBr]:"Transaction address table lookup uses an invalid index",[tBr]:"Transaction loads an address table account with an invalid owner",[dBr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[VTr]:"This program may not be used for executing instructions",[iBr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[WTr]:"Transaction loads a writable account that cannot be written",[uBr]:"Transaction exceeded max loaded accounts data size cap",[HTr]:"Transaction requires a fee but has no signature present",[kTr]:"Attempt to load a program that does not exist",[lBr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[fBr]:"ResanitizationNeeded",[JTr]:"Transaction failed to sanitize accounts offsets correctly",[qTr]:"Transaction did not pass signature verification",[jTr]:"Transaction locked too many accounts",[hBr]:"Sum of account balances before and after transaction do not match",[TTr]:"The transaction failed with the error `$errorName`",[YTr]:"Transaction version is unsupported",[ZTr]:"Transaction would exceed account data limit within the block",[aBr]:"Transaction would exceed total account data limit",[XTr]:"Transaction would exceed max account limit within the block",[$Tr]:"Transaction would exceed max Block Cost Limit",[oBr]:"Transaction would exceed max Vote Cost Limit",[RTr]:"Attempted to sign a transaction with an address that is not a signer for it",[mTr]:"Transaction is missing an address at index: $index.",[STr]:"Transaction has no expected signers therefore it cannot be encoded",[OTr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[dTr]:"Transaction does not have a blockhash lifetime",[fTr]:"Transaction is not a durable nonce transaction",[hTr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[ATr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[gTr]:"No fee payer set in CompiledTransaction",[pTr]:"Could not find program address at index $index",[CTr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[wTr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[yTr]:"Transaction is missing a fee payer.",[bTr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[vTr]:"Transaction first instruction is not advance nonce account instruction.",[ETr]:"Transaction with no instructions cannot be durable nonce transaction.",[cTr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[uTr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[ITr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[_Tr]:"Transaction is missing signatures for addresses: $addresses.",[lTr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[NTr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[xTr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function o7r(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${i7r(t)}'`),`${r}\``}}var r1t=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=o7r(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};J();K();z();function Dj(e){return JSON.parse(a7r(e),(t,r)=>d7r(r)?u7r(r):r)}function a7r(e){let t=[],r=!1;for(let i=0;i<e.length;i++){let n=!1;if(e[i]==="\\"&&(t.push(e[i++]),n=!n),e[i]==='"'){t.push(e[i]),n||(r=!r);continue}if(!r){let o=s7r(e,i);if(o?.length){i+=o.length-1,o.match(/\.|[eE]-/)?t.push(o):t.push(c7r(o));continue}}t.push(e[i])}return t.join("")}function s7r(e,t){let r=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/;if(!e[t]?.match(/[-\d]/))return null;let i=e.slice(t).match(r);return i?i[0]:null}function c7r(e){return`{"$n":"${e}"}`}function u7r({$n:e}){if(e.match(/[eE]/)){let[t,r]=e.split(/[eE]/);return BigInt(t)*BigInt(10)**BigInt(r)}return BigInt(e)}function d7r(e){return!!e&&typeof e=="object"&&"$n"in e&&typeof e.$n=="string"}var n1t=0n;function f7r(){let e=n1t;return n1t++,e.toString()}function lF(e){return{id:f7r(),jsonrpc:"2.0",method:e.methodName,params:e.params}}function kj(e,t){return h7r(JSON.stringify(e,(r,i)=>typeof i=="bigint"?l7r(i):i,t))}function l7r(e){return{$n:`${e}`}}function h7r(e){return e.replace(/\{\s*"\$n"\s*:\s*"(-?\d+)"\s*\}/g,"$1")}function i1t(e){return A7r(e)}function A7r(e){return new Proxy(e.api,{defineProperty(){return!1},deleteProperty(){return!1},get(t,r,i){if(r!=="then")return function(...n){let o=r.toString(),d=Reflect.get(t,o,i);if(!d)throw new r1t(hbe,{method:o,params:n});let g=d(...n);return p7r(e,g)}}})}function p7r({transport:e},t){return{async send(r){return await t.execute({signal:r?.abortSignal,transport:e})}}}function o1t(e){return new Proxy({},{defineProperty(){return!1},deleteProperty(){return!1},get(...t){let[r,i]=t,n=i.toString();return function(...o){let d=Object.freeze({methodName:n,params:o}),g=e?.requestTransformer?e?.requestTransformer(d):d;return Object.freeze({execute:async({signal:y,transport:_})=>{let I=lF(g),N=await _({payload:I,signal:y});return e?.responseTransformer?e.responseTransformer(N,g):N}})}}})}function Pj(e){return e==null||typeof e!="object"||Array.isArray(e)?!1:"jsonrpc"in e&&e.jsonrpc==="2.0"&&"method"in e&&typeof e.method=="string"&&"params"in e}J();K();z();J();K();z();var g7r=1,_7r=2,m7r=3,y7r=4,b7r=5,E7r=6,v7r=7,R7r=8,S7r=9,a1t=10,s1t=-32700,c1t=-32603,u1t=-32602,d1t=-32601,f1t=-32600,I7r=-32019,C7r=-32018,w7r=-32017,O7r=-32016,l1t=-32015,h1t=-32014,N7r=-32013,A1t=-32012,x7r=-32011,p1t=-32010,g1t=-32009,T7r=-32008,_1t=-32007,m1t=-32006,B7r=-32005,y1t=-32004,M7r=-32003,Abe=-32002,b1t=-32001,D7r=28e5,k7r=2800001,P7r=2800002,L7r=2800003,U7r=2800004,F7r=2800005,Q7r=2800006,H7r=2800007,G7r=2800008,q7r=2800009,V7r=2800010,J7r=2800011,z7r=323e4,K7r=32300001,$7r=3230002,Y7r=3230003,W7r=3230004,X7r=361e4,Z7r=3610001,j7r=3610002,e9r=3610003,t9r=3610004,r9r=3610005,n9r=3610006,i9r=3610007,o9r=3611e3,a9r=3704e3,s9r=3704001,c9r=3704002,u9r=3704003,d9r=3704004,f9r=4128e3,l9r=4128001,h9r=4128002,E1t=4615e3,A9r=4615001,p9r=4615002,g9r=4615003,_9r=4615004,m9r=4615005,y9r=4615006,b9r=4615007,E9r=4615008,v9r=4615009,R9r=4615010,S9r=4615011,I9r=4615012,C9r=4615013,w9r=4615014,O9r=4615015,N9r=4615016,x9r=4615017,T9r=4615018,B9r=4615019,M9r=4615020,D9r=4615021,k9r=4615022,P9r=4615023,L9r=4615024,U9r=4615025,v1t=4615026,F9r=4615027,Q9r=4615028,H9r=4615029,G9r=4615030,q9r=4615031,V9r=4615032,J9r=4615033,z9r=4615034,K9r=4615035,$9r=4615036,Y9r=4615037,W9r=4615038,X9r=4615039,Z9r=4615040,j9r=4615041,eMr=4615042,tMr=4615043,rMr=4615044,nMr=4615045,iMr=4615046,oMr=4615047,aMr=4615048,sMr=4615049,cMr=4615050,uMr=4615051,dMr=4615052,fMr=4615053,lMr=4615054,hMr=5508e3,AMr=5508001,pMr=5508002,gMr=5508003,_Mr=5508004,mMr=5508005,yMr=5508006,bMr=5508007,EMr=5508008,vMr=5508009,RMr=5508010,SMr=5508011,IMr=5663e3,CMr=5663001,wMr=5663002,OMr=5663003,NMr=5663004,xMr=5663005,TMr=5663006,BMr=5663007,MMr=5663008,DMr=5663009,kMr=5663010,PMr=5663011,LMr=5663012,UMr=5663013,FMr=5663014,QMr=5663015,HMr=5663016,GMr=5663017,qMr=5663018,VMr=5663019,JMr=5663020,zMr=5663021,KMr=5663022,R1t=705e4,$Mr=7050001,YMr=7050002,WMr=7050003,XMr=7050004,ZMr=7050005,jMr=7050006,eDr=7050007,tDr=7050008,rDr=7050009,nDr=7050010,iDr=7050011,oDr=7050012,aDr=7050013,sDr=7050014,cDr=7050015,uDr=7050016,dDr=7050017,fDr=7050018,lDr=7050019,hDr=7050020,ADr=7050021,pDr=7050022,gDr=7050023,_Dr=7050024,mDr=7050025,yDr=7050026,bDr=7050027,EDr=7050028,vDr=7050029,S1t=7050030,I1t=7050031,RDr=7050032,SDr=7050033,IDr=7050034,C1t=7050035,CDr=7050036,wDr=7618e3,ODr=7618001,NDr=7618002,xDr=7618003,TDr=8078e3,BDr=8078001,MDr=8078002,DDr=8078003,kDr=8078004,PDr=8078005,LDr=8078006,UDr=8078007,FDr=8078008,QDr=8078009,HDr=8078010,GDr=8078011,qDr=8078012,VDr=8078013,JDr=8078014,zDr=8078015,KDr=8078016,$Dr=8078017,YDr=8078018,WDr=8078019,XDr=8078020,ZDr=8078021,jDr=8078022,ekr=8078023,tkr=81e5,rkr=8100001,nkr=8100002,ikr=8100003,okr=819e4,akr=8190001,skr=8190002,ckr=8190003,ukr=8190004,dkr=99e5,fkr=9900001,lkr=9900002,hkr=9900003,Akr=9900004,pkr=9900005,gkr=9900006;function w1t(e){return Array.isArray(e)?"%5B"+e.map(w1t).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function _kr([e,t]){return`${e}=${w1t(t)}`}function mkr(e){let t=Object.entries(e).map(_kr).join("&");return btoa(t)}var Moo={[z7r]:"Account not found at address: $address",[W7r]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[Y7r]:"Expected decoded account at address: $address",[$7r]:"Failed to decode account data at address: $address",[K7r]:"Accounts not found at addresses: $addresses",[q7r]:"Unable to find a viable program address bump seed.",[P7r]:"$putativeAddress is not a base58-encoded address.",[D7r]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[L7r]:"The `CryptoKey` must be an `Ed25519` public key.",[J7r]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[G7r]:"Invalid seeds; point must fall off the Ed25519 curve.",[U7r]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Q7r]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[H7r]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[F7r]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[V7r]:"Program address cannot end with PDA marker.",[k7r]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[y7r]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[g7r]:"The network has progressed past the last block for which this transaction could have been committed.",[TDr]:"Codec [$codecDescription] cannot decode empty byte arrays.",[jDr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[XDr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[PDr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[LDr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[kDr]:"Encoder and decoder must either both be fixed-size or variable-size.",[FDr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[MDr]:"Expected a fixed-size codec, got a variable-size one.",[VDr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[DDr]:"Expected a variable-size codec, got a fixed-size one.",[WDr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[BDr]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[YDr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[QDr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[HDr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[zDr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[UDr]:"Expected [$codecDescription] to have $expected items, got $actual.",[qDr]:"Invalid value $value for base $base with alphabet $alphabet.",[KDr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[GDr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[JDr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[ZDr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[$Dr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[ekr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[o9r]:"No random values implementation could be found.",[v9r]:"instruction requires an uninitialized account",[P9r]:"instruction tries to borrow reference for an account which is already borrowed",[L9r]:"instruction left account with an outstanding borrowed reference",[D9r]:"program other than the account's owner changed the size of the account data",[m9r]:"account data too small for instruction",[k9r]:"instruction expected an executable account",[iMr]:"An account does not have enough lamports to be rent-exempt",[aMr]:"Program arithmetic overflowed",[nMr]:"Failed to serialize or deserialize account data: $encodedData",[lMr]:"Builtin programs must consume compute units",[V9r]:"Cross-program invocation call depth too deep",[W9r]:"Computational budget exceeded",[v1t]:"custom program error: #$code",[x9r]:"instruction contains duplicate accounts",[U9r]:"instruction modifications of multiply-passed account differ",[G9r]:"executable accounts must be rent exempt",[Q9r]:"instruction changed executable accounts data",[H9r]:"instruction changed the balance of an executable account",[T9r]:"instruction changed executable bit of an account",[w9r]:"instruction modified data of an account it does not own",[C9r]:"instruction spent from the balance of an account it does not own",[A9r]:"generic instruction error",[cMr]:"Provided owner is not allowed",[tMr]:"Account is immutable",[rMr]:"Incorrect authority provided",[b9r]:"incorrect program id for instruction",[y9r]:"insufficient funds for instruction",[_9r]:"invalid account data for instruction",[oMr]:"Invalid account owner",[p9r]:"invalid program argument",[F9r]:"program returned invalid error code",[g9r]:"invalid instruction data",[Y9r]:"Failed to reallocate account data",[$9r]:"Provided seeds do not result in a valid address",[uMr]:"Accounts data allocations exceeded the maximum allowed per transaction",[dMr]:"Max accounts exceeded",[fMr]:"Max instruction trace length exceeded",[K9r]:"Length of the seed is too long for address generation",[J9r]:"An account required by the instruction is missing",[E9r]:"missing required signature for instruction",[I9r]:"instruction illegally modified the program id of an account",[M9r]:"insufficient account keys for instruction",[X9r]:"Cross-program invocation with unauthorized signer or writable account",[Z9r]:"Failed to create program execution environment",[eMr]:"Program failed to compile",[j9r]:"Program failed to complete",[N9r]:"instruction modified data of a read-only account",[O9r]:"instruction changed the balance of a read-only account",[z9r]:"Cross-program invocation reentrancy not allowed for this instruction",[B9r]:"instruction modified rent epoch of an account",[S9r]:"sum of account balances before and after instruction do not match",[R9r]:"instruction requires an initialized account",[E1t]:"",[q9r]:"Unsupported program id",[sMr]:"Unsupported sysvar",[pkr]:"Invalid instruction plan kind: $kind.",[NDr]:"The provided instruction plan is empty.",[xDr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[wDr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[gkr]:"Invalid transaction plan kind: $kind.",[ODr]:"No more instructions to pack; the message packer has completed the instruction plan.",[f9r]:"The instruction does not have any accounts.",[l9r]:"The instruction does not have any data.",[h9r]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[b7r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[_7r]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[lkr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Akr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[fkr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[dkr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[hkr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[c1t]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[u1t]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[f1t]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[d1t]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[s1t]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[A1t]:"$__serverMessage",[b1t]:"$__serverMessage",[y1t]:"$__serverMessage",[h1t]:"$__serverMessage",[w7r]:"Epoch rewards period still active at slot $slot",[p1t]:"$__serverMessage",[g1t]:"$__serverMessage",[I7r]:"Failed to query long-term storage; please try again",[O7r]:"Minimum context slot has not been reached",[B7r]:"Node is unhealthy; behind by $numSlotsBehind slots",[T7r]:"No snapshot",[Abe]:"Transaction simulation failed",[C7r]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[_1t]:"$__serverMessage",[x7r]:"Transaction history is not available from this node",[m1t]:"$__serverMessage",[N7r]:"Transaction signature length mismatch",[M7r]:"Transaction signature verification failure",[l1t]:"$__serverMessage",[a9r]:"Key pair bytes must be of length 64, got $byteLength.",[s9r]:"Expected private key bytes with length 32. Actual length: $actualLength.",[c9r]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[d9r]:"The provided private key does not match the provided public key.",[u9r]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[E7r]:"Lamports value must be in the range [0, 2e64-1]",[v7r]:"`$value` cannot be parsed as a `BigInt`",[a1t]:"$message",[R7r]:"`$value` cannot be parsed as a `Number`",[m7r]:"No nonce account could be found at address `$nonceAccountAddress`",[okr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[skr]:"WebSocket was closed before payload could be added to the send buffer",[ckr]:"WebSocket connection closed",[ukr]:"WebSocket failed to connect",[akr]:"Failed to obtain a subscription id from the server",[ikr]:"Could not find an API plan for RPC method: `$method`",[tkr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[nkr]:"HTTP error ($statusCode): $message",[rkr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[hMr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[AMr]:"The provided value does not implement the `KeyPairSigner` interface",[gMr]:"The provided value does not implement the `MessageModifyingSigner` interface",[_Mr]:"The provided value does not implement the `MessagePartialSigner` interface",[pMr]:"The provided value does not implement any of the `MessageSigner` interfaces",[yMr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[bMr]:"The provided value does not implement the `TransactionPartialSigner` interface",[EMr]:"The provided value does not implement the `TransactionSendingSigner` interface",[mMr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[vMr]:"More than one `TransactionSendingSigner` was identified.",[RMr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[SMr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[i9r]:"Cannot export a non-extractable key.",[Z7r]:"No digest implementation could be found.",[X7r]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[j7r]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[e9r]:"No signature verification implementation could be found.",[t9r]:"No key generation implementation could be found.",[r9r]:"No signing implementation could be found.",[n9r]:"No key export implementation could be found.",[S7r]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[uDr]:"Transaction processing left an account with an outstanding borrowed reference",[$Mr]:"Account in use",[YMr]:"Account loaded twice",[WMr]:"Attempt to debit an account but found no record of a prior credit.",[gDr]:"Transaction loads an address table account that doesn't exist",[eDr]:"This transaction has already been processed",[tDr]:"Blockhash not found",[rDr]:"Loader call chain is too deep",[cDr]:"Transactions are currently disabled due to cluster maintenance",[S1t]:"Transaction contains a duplicate instruction ($index) that is not allowed",[ZMr]:"Insufficient funds for fee",[I1t]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[jMr]:"This account may not be used to pay transaction fees",[iDr]:"Transaction contains an invalid account reference",[mDr]:"Transaction loads an address table account with invalid data",[yDr]:"Transaction address table lookup uses an invalid index",[_Dr]:"Transaction loads an address table account with an invalid owner",[SDr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[aDr]:"This program may not be used for executing instructions",[bDr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[lDr]:"Transaction loads a writable account that cannot be written",[RDr]:"Transaction exceeded max loaded accounts data size cap",[nDr]:"Transaction requires a fee but has no signature present",[XMr]:"Attempt to load a program that does not exist",[C1t]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[IDr]:"ResanitizationNeeded",[sDr]:"Transaction failed to sanitize accounts offsets correctly",[oDr]:"Transaction did not pass signature verification",[pDr]:"Transaction locked too many accounts",[CDr]:"Sum of account balances before and after transaction do not match",[R1t]:"The transaction failed with the error `$errorName`",[fDr]:"Transaction version is unsupported",[ADr]:"Transaction would exceed account data limit within the block",[vDr]:"Transaction would exceed total account data limit",[hDr]:"Transaction would exceed max account limit within the block",[dDr]:"Transaction would exceed max Block Cost Limit",[EDr]:"Transaction would exceed max Vote Cost Limit",[QMr]:"Attempted to sign a transaction with an address that is not a signer for it",[kMr]:"Transaction is missing an address at index: $index.",[HMr]:"Transaction has no expected signers therefore it cannot be encoded",[JMr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[wMr]:"Transaction does not have a blockhash lifetime",[OMr]:"Transaction is not a durable nonce transaction",[xMr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[TMr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[MMr]:"No fee payer set in CompiledTransaction",[BMr]:"Could not find program address at index $index",[qMr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[VMr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[PMr]:"Transaction is missing a fee payer.",[LMr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[FMr]:"Transaction first instruction is not advance nonce account instruction.",[UMr]:"Transaction with no instructions cannot be durable nonce transaction.",[IMr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[CMr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[GMr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[DMr]:"Transaction is missing signatures for addresses: $addresses.",[NMr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[zMr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[KMr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function ykr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${mkr(t)}'`),`${r}\``}}var Lj=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=ykr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function O1t(...e){"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)}function N1t({errorCodeBaseOffset:e,getErrorContext:t,orderedErrorNames:r,rpcEnumError:i},n){let o,d;typeof i=="string"?o=i:(o=Object.keys(i)[0],d=i[o]);let g=r.indexOf(o),y=e+g,_=t(y,o,d),I=new Lj(y,_);return O1t(I,n),I}var bkr=["GenericError","InvalidArgument","InvalidInstructionData","InvalidAccountData","AccountDataTooSmall","InsufficientFunds","IncorrectProgramId","MissingRequiredSignature","AccountAlreadyInitialized","UninitializedAccount","UnbalancedInstruction","ModifiedProgramId","ExternalAccountLamportSpend","ExternalAccountDataModified","ReadonlyLamportChange","ReadonlyDataModified","DuplicateAccountIndex","ExecutableModified","RentEpochModified","NotEnoughAccountKeys","AccountDataSizeChanged","AccountNotExecutable","AccountBorrowFailed","AccountBorrowOutstanding","DuplicateAccountOutOfSync","Custom","InvalidError","ExecutableDataModified","ExecutableLamportChange","ExecutableAccountNotRentExempt","UnsupportedProgramId","CallDepth","MissingAccount","ReentrancyNotAllowed","MaxSeedLengthExceeded","InvalidSeeds","InvalidRealloc","ComputationalBudgetExceeded","PrivilegeEscalation","ProgramEnvironmentSetupFailure","ProgramFailedToComplete","ProgramFailedToCompile","Immutable","IncorrectAuthority","BorshIoError","AccountNotRentExempt","InvalidAccountOwner","ArithmeticOverflow","UnsupportedSysvar","IllegalOwner","MaxAccountsDataAllocationsExceeded","MaxAccountsExceeded","MaxInstructionTraceLengthExceeded","BuiltinProgramsMustConsumeComputeUnits"];function x1t(e,t){let r=Number(e);return N1t({errorCodeBaseOffset:4615001,getErrorContext(i,n,o){return i===E1t?{errorName:n,index:r,...o!==void 0?{instructionErrorContext:o}:null}:i===v1t?{code:Number(o),index:r}:{index:r}},orderedErrorNames:bkr,rpcEnumError:t},x1t)}var Ekr=["AccountInUse","AccountLoadedTwice","AccountNotFound","ProgramAccountNotFound","InsufficientFundsForFee","InvalidAccountForFee","AlreadyProcessed","BlockhashNotFound","CallChainTooDeep","MissingSignatureForFee","InvalidAccountIndex","SignatureFailure","InvalidProgramForExecution","SanitizeFailure","ClusterMaintenance","AccountBorrowOutstanding","WouldExceedMaxBlockCostLimit","UnsupportedVersion","InvalidWritableAccount","WouldExceedMaxAccountCostLimit","WouldExceedAccountDataBlockLimit","TooManyAccountLocks","AddressLookupTableNotFound","InvalidAddressLookupTableOwner","InvalidAddressLookupTableData","InvalidAddressLookupTableIndex","InvalidRentPayingAccount","WouldExceedMaxVoteCostLimit","WouldExceedAccountDataTotalLimit","DuplicateInstruction","InsufficientFundsForRent","MaxLoadedAccountsDataSizeExceeded","InvalidLoadedAccountsDataSizeLimit","ResanitizationNeeded","ProgramExecutionTemporarilyRestricted","UnbalancedTransaction"];function T1t(e){return typeof e=="object"&&"InstructionError"in e?x1t(...e.InstructionError):N1t({errorCodeBaseOffset:7050001,getErrorContext(t,r,i){if(t===R1t)return{errorName:r,...i!==void 0?{transactionErrorContext:i}:null};if(t===S1t)return{index:Number(i)};if(t===I1t||t===C1t)return{accountIndex:Number(i.account_index)}},orderedErrorNames:Ekr,rpcEnumError:e},T1t)}function pbe(e){let t;if(vkr(e)){let{code:r,data:i,message:n}=e,o=Number(r);if(o===Abe){let{err:d,...g}=i,y=d?{cause:T1t(d)}:null;t=new Lj(Abe,{...g,...y})}else{let d;switch(o){case c1t:case u1t:case f1t:case d1t:case s1t:case A1t:case b1t:case y1t:case h1t:case p1t:case g1t:case _1t:case m1t:case l1t:d={__serverMessage:n};break;default:typeof i=="object"&&!Array.isArray(i)&&(d=i)}t=new Lj(o,d)}}else{let r=typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"Malformed JSON-RPC error with no message attribute";t=new Lj(a1t,{error:e,message:r})}return O1t(t,pbe),t}function vkr(e){return typeof e=="object"&&e!==null&&"code"in e&&"message"in e&&(typeof e.code=="number"||typeof e.code=="bigint")&&typeof e.message=="string"}function Rkr(e){return typeof e=="bigint"?Number(e):e}var oi={};function B1t(e){return function t(r,i){if(Array.isArray(r))return r.map((n,o)=>{let d={...i,keyPath:[...i.keyPath,o]};return t(n,d)});if(typeof r=="object"&&r!==null){let n={};for(let o in r){if(!Object.prototype.hasOwnProperty.call(r,o))continue;let d={...i,keyPath:[...i.keyPath,o]};n[o]=t(r[o],d)}return n}else return e.reduce((n,o)=>o(n,i),r)}}function M1t(e,t){return r=>{let i=B1t(e);return Object.freeze({...r,params:i(r.params,t)})}}function Skr(e,t){return r=>B1t(e)(r,t)}function Ikr(){return M1t([Rkr],{keyPath:[]})}function Ckr({commitmentPropertyName:e,params:t,optionsObjectPositionInParams:r,overrideCommitment:i}){let n=t[r];if(n===void 0||n&&typeof n=="object"&&!Array.isArray(n)){if(n&&e in n){if(!n[e]||n[e]==="finalized"){let o=[...t],{[e]:d,...g}=n;return Object.keys(g).length>0?o[r]=g:r===o.length-1?o.length--:o[r]=void 0,o}}else if(i!=="finalized"){let o=[...t];return o[r]={...n,[e]:i},o}}return t}function wkr({defaultCommitment:e,optionsObjectPositionByMethod:t}){return r=>{let{params:i,methodName:n}=r;if(!Array.isArray(i))return r;let o=t[n];return o==null?r:Object.freeze({methodName:n,params:Ckr({commitmentPropertyName:n==="sendTransaction"?"preflightCommitment":"commitment",optionsObjectPositionInParams:o,overrideCommitment:e,params:i})})}}function Okr(e){return(t,{keyPath:r})=>(typeof t=="bigint"&&e&&(t>Number.MAX_SAFE_INTEGER||t<-Number.MAX_SAFE_INTEGER)&&e(r,t),t)}function Nkr(e){return t=>M1t([Okr((...i)=>e(t,...i))],{keyPath:[]})(t)}var xkr={accountNotifications:1,blockNotifications:1,getAccountInfo:1,getBalance:1,getBlock:1,getBlockHeight:0,getBlockProduction:0,getBlocks:2,getBlocksWithLimit:2,getEpochInfo:0,getFeeForMessage:1,getInflationGovernor:0,getInflationReward:1,getLargestAccounts:0,getLatestBlockhash:0,getLeaderSchedule:1,getMinimumBalanceForRentExemption:1,getMultipleAccounts:1,getProgramAccounts:1,getSignaturesForAddress:1,getSlot:0,getSlotLeader:0,getStakeMinimumDelegation:0,getSupply:0,getTokenAccountBalance:1,getTokenAccountsByDelegate:2,getTokenAccountsByOwner:2,getTokenLargestAccounts:1,getTokenSupply:1,getTransaction:1,getTransactionCount:0,getVoteAccounts:0,isBlockhashValid:1,logsNotifications:1,programNotifications:1,requestAirdrop:2,sendTransaction:1,signatureNotifications:1,simulateTransaction:1};function Uj(e){let t=e?.onIntegerOverflow;return r=>n1(r,t?Nkr(t):i=>i,Ikr(),wkr({defaultCommitment:e?.defaultCommitment,optionsObjectPositionByMethod:xkr}))}function Tkr(e){return function(r,{keyPath:i}){return typeof r=="number"&&Number.isInteger(r)||typeof r=="bigint"?Bkr(i,e)?Number(r):BigInt(r):r}}function Bkr(e,t){return t.some(r=>{if(r.length!==e.length)return!1;for(let i=e.length-1;i>=0;i--){let n=e[i],o=r[i];if(o!==n&&(o!==oi||typeof n!="number"))return!1}return!0})}function D1t(e){return Skr([Tkr(e)],{keyPath:[]})}function Mkr(){return e=>e.result}function Dkr(){return e=>{let t=e;if("error"in t)throw pbe(t.error);return t}}function k1t(e){return(t,r)=>{let i=r.methodName,n=e?.allowedNumericKeyPaths&&i?e.allowedNumericKeyPaths[i]:void 0;return n1(t,o=>Dkr()(o,r),o=>Mkr()(o,r),o=>D1t(n??[])(o,r))}}function P1t(e){return(t,r)=>{let i=r.methodName,n=e?.allowedNumericKeyPaths&&i?e.allowedNumericKeyPaths[i]:void 0;return n1(t,o=>D1t(n??[])(o,r))}}var Fj=[["data","parsed","info","tokenAmount","decimals"],["data","parsed","info","tokenAmount","uiAmount"],["data","parsed","info","rentExemptReserve","decimals"],["data","parsed","info","rentExemptReserve","uiAmount"],["data","parsed","info","delegatedAmount","decimals"],["data","parsed","info","delegatedAmount","uiAmount"],["data","parsed","info","extensions",oi,"state","olderTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",oi,"state","newerTransferFee","transferFeeBasisPoints"],["data","parsed","info","extensions",oi,"state","preUpdateAverageRate"],["data","parsed","info","extensions",oi,"state","currentRate"]],J3=[...Fj,["data","parsed","info","lastExtendedSlotStartIndex"],["data","parsed","info","slashPenalty"],["data","parsed","info","warmupCooldownRate"],["data","parsed","info","decimals"],["data","parsed","info","numRequiredSigners"],["data","parsed","info","numValidSigners"],["data","parsed","info","stake","delegation","warmupCooldownRate"],["data","parsed","info","exemptionThreshold"],["data","parsed","info","burnPercent"],["data","parsed","info","commission"],["data","parsed","info","votes",oi,"confirmationCount"]],Qj=[["index"],["instructions",oi,"accounts",oi],["instructions",oi,"programIdIndex"],["instructions",oi,"stackHeight"]],gbe=[["addressTableLookups",oi,"writableIndexes",oi],["addressTableLookups",oi,"readonlyIndexes",oi],["header","numReadonlySignedAccounts"],["header","numReadonlyUnsignedAccounts"],["header","numRequiredSignatures"],["instructions",oi,"accounts",oi],["instructions",oi,"programIdIndex"],["instructions",oi,"stackHeight"]];function L1t(e){return o1t({requestTransformer:Uj(e),responseTransformer:k1t({allowedNumericKeyPaths:kkr()})})}var _be;function kkr(){return _be||(_be={getAccountInfo:J3.map(e=>["value",...e]),getBlock:[["transactions",oi,"meta","preTokenBalances",oi,"accountIndex"],["transactions",oi,"meta","preTokenBalances",oi,"uiTokenAmount","decimals"],["transactions",oi,"meta","postTokenBalances",oi,"accountIndex"],["transactions",oi,"meta","postTokenBalances",oi,"uiTokenAmount","decimals"],["transactions",oi,"meta","rewards",oi,"commission"],...Qj.map(e=>["transactions",oi,"meta","innerInstructions",oi,...e]),...gbe.map(e=>["transactions",oi,"transaction","message",...e]),["rewards",oi,"commission"]],getClusterNodes:[[oi,"featureSet"],[oi,"shredVersion"]],getInflationGovernor:[["initial"],["foundation"],["foundationTerm"],["taper"],["terminal"]],getInflationRate:[["foundation"],["total"],["validator"]],getInflationReward:[[oi,"commission"]],getMultipleAccounts:J3.map(e=>["value",oi,...e]),getProgramAccounts:J3.flatMap(e=>[["value",oi,"account",...e],[oi,"account",...e]]),getRecentPerformanceSamples:[[oi,"samplePeriodSecs"]],getTokenAccountBalance:[["value","decimals"],["value","uiAmount"]],getTokenAccountsByDelegate:Fj.map(e=>["value",oi,"account",...e]),getTokenAccountsByOwner:Fj.map(e=>["value",oi,"account",...e]),getTokenLargestAccounts:[["value",oi,"decimals"],["value",oi,"uiAmount"]],getTokenSupply:[["value","decimals"],["value","uiAmount"]],getTransaction:[["meta","preTokenBalances",oi,"accountIndex"],["meta","preTokenBalances",oi,"uiTokenAmount","decimals"],["meta","postTokenBalances",oi,"accountIndex"],["meta","postTokenBalances",oi,"uiTokenAmount","decimals"],["meta","rewards",oi,"commission"],...Qj.map(e=>["meta","innerInstructions",oi,...e]),...gbe.map(e=>["transaction","message",...e])],getVersion:[["feature-set"]],getVoteAccounts:[["current",oi,"commission"],["delinquent",oi,"commission"]],simulateTransaction:[["value","loadedAccountsDataSize"],...J3.map(e=>["value","accounts",oi,...e]),...Qj.map(e=>["value","innerInstructions",oi,...e])]}),_be}J();K();z();var Pkr=1,Lkr=2,Ukr=3,Fkr=4,Qkr=5,Hkr=6,Gkr=7,qkr=8,Vkr=9,Jkr=10,zkr=-32700,Kkr=-32603,$kr=-32602,Ykr=-32601,Wkr=-32600,Xkr=-32019,Zkr=-32018,jkr=-32017,ePr=-32016,tPr=-32015,rPr=-32014,nPr=-32013,iPr=-32012,oPr=-32011,aPr=-32010,sPr=-32009,cPr=-32008,uPr=-32007,dPr=-32006,fPr=-32005,lPr=-32004,hPr=-32003,APr=-32002,pPr=-32001,gPr=28e5,_Pr=2800001,mPr=2800002,yPr=2800003,bPr=2800004,EPr=2800005,vPr=2800006,RPr=2800007,SPr=2800008,IPr=2800009,CPr=2800010,wPr=2800011,OPr=323e4,NPr=32300001,xPr=3230002,TPr=3230003,BPr=3230004,MPr=361e4,DPr=3610001,kPr=3610002,PPr=3610003,LPr=3610004,UPr=3610005,FPr=3610006,QPr=3610007,HPr=3611e3,GPr=3704e3,qPr=3704001,VPr=3704002,JPr=3704003,zPr=3704004,KPr=4128e3,$Pr=4128001,YPr=4128002,WPr=4615e3,XPr=4615001,ZPr=4615002,jPr=4615003,eLr=4615004,tLr=4615005,rLr=4615006,nLr=4615007,iLr=4615008,oLr=4615009,aLr=4615010,sLr=4615011,cLr=4615012,uLr=4615013,dLr=4615014,fLr=4615015,lLr=4615016,hLr=4615017,ALr=4615018,pLr=4615019,gLr=4615020,_Lr=4615021,mLr=4615022,yLr=4615023,bLr=4615024,ELr=4615025,vLr=4615026,RLr=4615027,SLr=4615028,ILr=4615029,CLr=4615030,wLr=4615031,OLr=4615032,NLr=4615033,xLr=4615034,TLr=4615035,BLr=4615036,MLr=4615037,DLr=4615038,kLr=4615039,PLr=4615040,LLr=4615041,ULr=4615042,FLr=4615043,QLr=4615044,HLr=4615045,GLr=4615046,qLr=4615047,VLr=4615048,JLr=4615049,zLr=4615050,KLr=4615051,$Lr=4615052,YLr=4615053,WLr=4615054,XLr=5508e3,ZLr=5508001,jLr=5508002,eUr=5508003,tUr=5508004,rUr=5508005,nUr=5508006,iUr=5508007,oUr=5508008,aUr=5508009,sUr=5508010,cUr=5508011,uUr=5663e3,dUr=5663001,fUr=5663002,lUr=5663003,hUr=5663004,AUr=5663005,pUr=5663006,gUr=5663007,_Ur=5663008,mUr=5663009,yUr=5663010,bUr=5663011,EUr=5663012,vUr=5663013,RUr=5663014,SUr=5663015,IUr=5663016,CUr=5663017,wUr=5663018,OUr=5663019,NUr=5663020,xUr=5663021,TUr=5663022,BUr=705e4,MUr=7050001,DUr=7050002,kUr=7050003,PUr=7050004,LUr=7050005,UUr=7050006,FUr=7050007,QUr=7050008,HUr=7050009,GUr=7050010,qUr=7050011,VUr=7050012,JUr=7050013,zUr=7050014,KUr=7050015,$Ur=7050016,YUr=7050017,WUr=7050018,XUr=7050019,ZUr=7050020,jUr=7050021,eFr=7050022,tFr=7050023,rFr=7050024,nFr=7050025,iFr=7050026,oFr=7050027,aFr=7050028,sFr=7050029,cFr=7050030,uFr=7050031,dFr=7050032,fFr=7050033,lFr=7050034,hFr=7050035,AFr=7050036,pFr=7618e3,gFr=7618001,_Fr=7618002,mFr=7618003,yFr=8078e3,bFr=8078001,EFr=8078002,vFr=8078003,RFr=8078004,SFr=8078005,IFr=8078006,CFr=8078007,wFr=8078008,OFr=8078009,NFr=8078010,xFr=8078011,TFr=8078012,BFr=8078013,MFr=8078014,DFr=8078015,kFr=8078016,PFr=8078017,LFr=8078018,UFr=8078019,FFr=8078020,QFr=8078021,HFr=8078022,GFr=8078023,mbe=81e5,qFr=8100001,VFr=8100002,JFr=8100003,zFr=819e4,KFr=8190001,$Fr=8190002,YFr=8190003,WFr=8190004,XFr=99e5,ZFr=9900001,jFr=9900002,eQr=9900003,tQr=9900004,rQr=9900005,nQr=9900006;function U1t(e){return Array.isArray(e)?"%5B"+e.map(U1t).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function iQr([e,t]){return`${e}=${U1t(t)}`}function oQr(e){let t=Object.entries(e).map(iQr).join("&");return btoa(t)}var Xoo={[OPr]:"Account not found at address: $address",[BPr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[TPr]:"Expected decoded account at address: $address",[xPr]:"Failed to decode account data at address: $address",[NPr]:"Accounts not found at addresses: $addresses",[IPr]:"Unable to find a viable program address bump seed.",[mPr]:"$putativeAddress is not a base58-encoded address.",[gPr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[yPr]:"The `CryptoKey` must be an `Ed25519` public key.",[wPr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[SPr]:"Invalid seeds; point must fall off the Ed25519 curve.",[bPr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[vPr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[RPr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[EPr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[CPr]:"Program address cannot end with PDA marker.",[_Pr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[Fkr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[Pkr]:"The network has progressed past the last block for which this transaction could have been committed.",[yFr]:"Codec [$codecDescription] cannot decode empty byte arrays.",[HFr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[FFr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[SFr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[IFr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[RFr]:"Encoder and decoder must either both be fixed-size or variable-size.",[wFr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[EFr]:"Expected a fixed-size codec, got a variable-size one.",[BFr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[vFr]:"Expected a variable-size codec, got a fixed-size one.",[UFr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[bFr]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[LFr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[OFr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[NFr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[DFr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[CFr]:"Expected [$codecDescription] to have $expected items, got $actual.",[TFr]:"Invalid value $value for base $base with alphabet $alphabet.",[kFr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[xFr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[MFr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[QFr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[PFr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[GFr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[HPr]:"No random values implementation could be found.",[oLr]:"instruction requires an uninitialized account",[yLr]:"instruction tries to borrow reference for an account which is already borrowed",[bLr]:"instruction left account with an outstanding borrowed reference",[_Lr]:"program other than the account's owner changed the size of the account data",[tLr]:"account data too small for instruction",[mLr]:"instruction expected an executable account",[GLr]:"An account does not have enough lamports to be rent-exempt",[VLr]:"Program arithmetic overflowed",[HLr]:"Failed to serialize or deserialize account data: $encodedData",[WLr]:"Builtin programs must consume compute units",[OLr]:"Cross-program invocation call depth too deep",[DLr]:"Computational budget exceeded",[vLr]:"custom program error: #$code",[hLr]:"instruction contains duplicate accounts",[ELr]:"instruction modifications of multiply-passed account differ",[CLr]:"executable accounts must be rent exempt",[SLr]:"instruction changed executable accounts data",[ILr]:"instruction changed the balance of an executable account",[ALr]:"instruction changed executable bit of an account",[dLr]:"instruction modified data of an account it does not own",[uLr]:"instruction spent from the balance of an account it does not own",[XPr]:"generic instruction error",[zLr]:"Provided owner is not allowed",[FLr]:"Account is immutable",[QLr]:"Incorrect authority provided",[nLr]:"incorrect program id for instruction",[rLr]:"insufficient funds for instruction",[eLr]:"invalid account data for instruction",[qLr]:"Invalid account owner",[ZPr]:"invalid program argument",[RLr]:"program returned invalid error code",[jPr]:"invalid instruction data",[MLr]:"Failed to reallocate account data",[BLr]:"Provided seeds do not result in a valid address",[KLr]:"Accounts data allocations exceeded the maximum allowed per transaction",[$Lr]:"Max accounts exceeded",[YLr]:"Max instruction trace length exceeded",[TLr]:"Length of the seed is too long for address generation",[NLr]:"An account required by the instruction is missing",[iLr]:"missing required signature for instruction",[cLr]:"instruction illegally modified the program id of an account",[gLr]:"insufficient account keys for instruction",[kLr]:"Cross-program invocation with unauthorized signer or writable account",[PLr]:"Failed to create program execution environment",[ULr]:"Program failed to compile",[LLr]:"Program failed to complete",[lLr]:"instruction modified data of a read-only account",[fLr]:"instruction changed the balance of a read-only account",[xLr]:"Cross-program invocation reentrancy not allowed for this instruction",[pLr]:"instruction modified rent epoch of an account",[sLr]:"sum of account balances before and after instruction do not match",[aLr]:"instruction requires an initialized account",[WPr]:"",[wLr]:"Unsupported program id",[JLr]:"Unsupported sysvar",[rQr]:"Invalid instruction plan kind: $kind.",[_Fr]:"The provided instruction plan is empty.",[mFr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[pFr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[nQr]:"Invalid transaction plan kind: $kind.",[gFr]:"No more instructions to pack; the message packer has completed the instruction plan.",[KPr]:"The instruction does not have any accounts.",[$Pr]:"The instruction does not have any data.",[YPr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[Qkr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Lkr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[jFr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[tQr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[ZFr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[XFr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[eQr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Kkr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[$kr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[Wkr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Ykr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[zkr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[iPr]:"$__serverMessage",[pPr]:"$__serverMessage",[lPr]:"$__serverMessage",[rPr]:"$__serverMessage",[jkr]:"Epoch rewards period still active at slot $slot",[aPr]:"$__serverMessage",[sPr]:"$__serverMessage",[Xkr]:"Failed to query long-term storage; please try again",[ePr]:"Minimum context slot has not been reached",[fPr]:"Node is unhealthy; behind by $numSlotsBehind slots",[cPr]:"No snapshot",[APr]:"Transaction simulation failed",[Zkr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[uPr]:"$__serverMessage",[oPr]:"Transaction history is not available from this node",[dPr]:"$__serverMessage",[nPr]:"Transaction signature length mismatch",[hPr]:"Transaction signature verification failure",[tPr]:"$__serverMessage",[GPr]:"Key pair bytes must be of length 64, got $byteLength.",[qPr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[VPr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[zPr]:"The provided private key does not match the provided public key.",[JPr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Hkr]:"Lamports value must be in the range [0, 2e64-1]",[Gkr]:"`$value` cannot be parsed as a `BigInt`",[Jkr]:"$message",[qkr]:"`$value` cannot be parsed as a `Number`",[Ukr]:"No nonce account could be found at address `$nonceAccountAddress`",[zFr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[$Fr]:"WebSocket was closed before payload could be added to the send buffer",[YFr]:"WebSocket connection closed",[WFr]:"WebSocket failed to connect",[KFr]:"Failed to obtain a subscription id from the server",[JFr]:"Could not find an API plan for RPC method: `$method`",[mbe]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[VFr]:"HTTP error ($statusCode): $message",[qFr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[XLr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[ZLr]:"The provided value does not implement the `KeyPairSigner` interface",[eUr]:"The provided value does not implement the `MessageModifyingSigner` interface",[tUr]:"The provided value does not implement the `MessagePartialSigner` interface",[jLr]:"The provided value does not implement any of the `MessageSigner` interfaces",[nUr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[iUr]:"The provided value does not implement the `TransactionPartialSigner` interface",[oUr]:"The provided value does not implement the `TransactionSendingSigner` interface",[rUr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[aUr]:"More than one `TransactionSendingSigner` was identified.",[sUr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[cUr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[QPr]:"Cannot export a non-extractable key.",[DPr]:"No digest implementation could be found.",[MPr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[kPr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[PPr]:"No signature verification implementation could be found.",[LPr]:"No key generation implementation could be found.",[UPr]:"No signing implementation could be found.",[FPr]:"No key export implementation could be found.",[Vkr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[$Ur]:"Transaction processing left an account with an outstanding borrowed reference",[MUr]:"Account in use",[DUr]:"Account loaded twice",[kUr]:"Attempt to debit an account but found no record of a prior credit.",[tFr]:"Transaction loads an address table account that doesn't exist",[FUr]:"This transaction has already been processed",[QUr]:"Blockhash not found",[HUr]:"Loader call chain is too deep",[KUr]:"Transactions are currently disabled due to cluster maintenance",[cFr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[LUr]:"Insufficient funds for fee",[uFr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[UUr]:"This account may not be used to pay transaction fees",[qUr]:"Transaction contains an invalid account reference",[nFr]:"Transaction loads an address table account with invalid data",[iFr]:"Transaction address table lookup uses an invalid index",[rFr]:"Transaction loads an address table account with an invalid owner",[fFr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[JUr]:"This program may not be used for executing instructions",[oFr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[XUr]:"Transaction loads a writable account that cannot be written",[dFr]:"Transaction exceeded max loaded accounts data size cap",[GUr]:"Transaction requires a fee but has no signature present",[PUr]:"Attempt to load a program that does not exist",[hFr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[lFr]:"ResanitizationNeeded",[zUr]:"Transaction failed to sanitize accounts offsets correctly",[VUr]:"Transaction did not pass signature verification",[eFr]:"Transaction locked too many accounts",[AFr]:"Sum of account balances before and after transaction do not match",[BUr]:"The transaction failed with the error `$errorName`",[WUr]:"Transaction version is unsupported",[jUr]:"Transaction would exceed account data limit within the block",[sFr]:"Transaction would exceed total account data limit",[ZUr]:"Transaction would exceed max account limit within the block",[YUr]:"Transaction would exceed max Block Cost Limit",[aFr]:"Transaction would exceed max Vote Cost Limit",[SUr]:"Attempted to sign a transaction with an address that is not a signer for it",[yUr]:"Transaction is missing an address at index: $index.",[IUr]:"Transaction has no expected signers therefore it cannot be encoded",[NUr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[fUr]:"Transaction does not have a blockhash lifetime",[lUr]:"Transaction is not a durable nonce transaction",[AUr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[pUr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[_Ur]:"No fee payer set in CompiledTransaction",[gUr]:"Could not find program address at index $index",[wUr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[OUr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[bUr]:"Transaction is missing a fee payer.",[EUr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[RUr]:"Transaction first instruction is not advance nonce account instruction.",[vUr]:"Transaction with no instructions cannot be durable nonce transaction.",[uUr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[dUr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[CUr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[mUr]:"Transaction is missing signatures for addresses: $addresses.",[hUr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[xUr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[TUr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function aQr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${oQr(t)}'`),`${r}\``}}var F1t=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=aQr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Q1t(...e){"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)}J();K();z();J();K();z();var sQr=1,cQr=2,uQr=3,dQr=4,fQr=5,lQr=6,hQr=7,AQr=8,pQr=9,gQr=10,_Qr=-32700,mQr=-32603,yQr=-32602,bQr=-32601,EQr=-32600,vQr=-32019,RQr=-32018,SQr=-32017,IQr=-32016,CQr=-32015,wQr=-32014,OQr=-32013,NQr=-32012,xQr=-32011,TQr=-32010,BQr=-32009,MQr=-32008,DQr=-32007,kQr=-32006,PQr=-32005,LQr=-32004,UQr=-32003,FQr=-32002,QQr=-32001,HQr=28e5,GQr=2800001,qQr=2800002,VQr=2800003,JQr=2800004,zQr=2800005,KQr=2800006,$Qr=2800007,YQr=2800008,WQr=2800009,XQr=2800010,ZQr=2800011,jQr=323e4,eHr=32300001,tHr=3230002,rHr=3230003,nHr=3230004,iHr=361e4,oHr=3610001,aHr=3610002,sHr=3610003,cHr=3610004,uHr=3610005,dHr=3610006,fHr=3610007,lHr=3611e3,hHr=3704e3,AHr=3704001,pHr=3704002,gHr=3704003,_Hr=3704004,mHr=4128e3,yHr=4128001,bHr=4128002,EHr=4615e3,vHr=4615001,RHr=4615002,SHr=4615003,IHr=4615004,CHr=4615005,wHr=4615006,OHr=4615007,NHr=4615008,xHr=4615009,THr=4615010,BHr=4615011,MHr=4615012,DHr=4615013,kHr=4615014,PHr=4615015,LHr=4615016,UHr=4615017,FHr=4615018,QHr=4615019,HHr=4615020,GHr=4615021,qHr=4615022,VHr=4615023,JHr=4615024,zHr=4615025,KHr=4615026,$Hr=4615027,YHr=4615028,WHr=4615029,XHr=4615030,ZHr=4615031,jHr=4615032,eGr=4615033,tGr=4615034,rGr=4615035,nGr=4615036,iGr=4615037,oGr=4615038,aGr=4615039,sGr=4615040,cGr=4615041,uGr=4615042,dGr=4615043,fGr=4615044,lGr=4615045,hGr=4615046,AGr=4615047,pGr=4615048,gGr=4615049,_Gr=4615050,mGr=4615051,yGr=4615052,bGr=4615053,EGr=4615054,vGr=5508e3,RGr=5508001,SGr=5508002,IGr=5508003,CGr=5508004,wGr=5508005,OGr=5508006,NGr=5508007,xGr=5508008,TGr=5508009,BGr=5508010,MGr=5508011,DGr=5663e3,kGr=5663001,PGr=5663002,LGr=5663003,UGr=5663004,FGr=5663005,QGr=5663006,HGr=5663007,GGr=5663008,qGr=5663009,VGr=5663010,JGr=5663011,zGr=5663012,KGr=5663013,$Gr=5663014,YGr=5663015,WGr=5663016,XGr=5663017,ZGr=5663018,jGr=5663019,eqr=5663020,tqr=5663021,rqr=5663022,nqr=705e4,iqr=7050001,oqr=7050002,aqr=7050003,sqr=7050004,cqr=7050005,uqr=7050006,dqr=7050007,fqr=7050008,lqr=7050009,hqr=7050010,Aqr=7050011,pqr=7050012,gqr=7050013,_qr=7050014,mqr=7050015,yqr=7050016,bqr=7050017,Eqr=7050018,vqr=7050019,Rqr=7050020,Sqr=7050021,Iqr=7050022,Cqr=7050023,wqr=7050024,Oqr=7050025,Nqr=7050026,xqr=7050027,Tqr=7050028,Bqr=7050029,Mqr=7050030,Dqr=7050031,kqr=7050032,Pqr=7050033,Lqr=7050034,Uqr=7050035,Fqr=7050036,Qqr=7618e3,Hqr=7618001,Gqr=7618002,qqr=7618003,Vqr=8078e3,Jqr=8078001,zqr=8078002,Kqr=8078003,$qr=8078004,Yqr=8078005,Wqr=8078006,Xqr=8078007,Zqr=8078008,jqr=8078009,eVr=8078010,tVr=8078011,rVr=8078012,nVr=8078013,iVr=8078014,oVr=8078015,aVr=8078016,sVr=8078017,cVr=8078018,uVr=8078019,dVr=8078020,fVr=8078021,lVr=8078022,hVr=8078023,AVr=81e5,H1t=8100001,ybe=8100002,pVr=8100003,gVr=819e4,_Vr=8190001,mVr=8190002,yVr=8190003,bVr=8190004,EVr=99e5,vVr=9900001,RVr=9900002,SVr=9900003,IVr=9900004,CVr=9900005,wVr=9900006;function G1t(e){return Array.isArray(e)?"%5B"+e.map(G1t).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function OVr([e,t]){return`${e}=${G1t(t)}`}function NVr(e){let t=Object.entries(e).map(OVr).join("&");return btoa(t)}var nao={[jQr]:"Account not found at address: $address",[nHr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[rHr]:"Expected decoded account at address: $address",[tHr]:"Failed to decode account data at address: $address",[eHr]:"Accounts not found at addresses: $addresses",[WQr]:"Unable to find a viable program address bump seed.",[qQr]:"$putativeAddress is not a base58-encoded address.",[HQr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[VQr]:"The `CryptoKey` must be an `Ed25519` public key.",[ZQr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[YQr]:"Invalid seeds; point must fall off the Ed25519 curve.",[JQr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[KQr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[$Qr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[zQr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[XQr]:"Program address cannot end with PDA marker.",[GQr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[dQr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[sQr]:"The network has progressed past the last block for which this transaction could have been committed.",[Vqr]:"Codec [$codecDescription] cannot decode empty byte arrays.",[lVr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[dVr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[Yqr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[Wqr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[$qr]:"Encoder and decoder must either both be fixed-size or variable-size.",[Zqr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[zqr]:"Expected a fixed-size codec, got a variable-size one.",[nVr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Kqr]:"Expected a variable-size codec, got a fixed-size one.",[uVr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[Jqr]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[cVr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[jqr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[eVr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[oVr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Xqr]:"Expected [$codecDescription] to have $expected items, got $actual.",[rVr]:"Invalid value $value for base $base with alphabet $alphabet.",[aVr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[tVr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[iVr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[fVr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[sVr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[hVr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[lHr]:"No random values implementation could be found.",[xHr]:"instruction requires an uninitialized account",[VHr]:"instruction tries to borrow reference for an account which is already borrowed",[JHr]:"instruction left account with an outstanding borrowed reference",[GHr]:"program other than the account's owner changed the size of the account data",[CHr]:"account data too small for instruction",[qHr]:"instruction expected an executable account",[hGr]:"An account does not have enough lamports to be rent-exempt",[pGr]:"Program arithmetic overflowed",[lGr]:"Failed to serialize or deserialize account data: $encodedData",[EGr]:"Builtin programs must consume compute units",[jHr]:"Cross-program invocation call depth too deep",[oGr]:"Computational budget exceeded",[KHr]:"custom program error: #$code",[UHr]:"instruction contains duplicate accounts",[zHr]:"instruction modifications of multiply-passed account differ",[XHr]:"executable accounts must be rent exempt",[YHr]:"instruction changed executable accounts data",[WHr]:"instruction changed the balance of an executable account",[FHr]:"instruction changed executable bit of an account",[kHr]:"instruction modified data of an account it does not own",[DHr]:"instruction spent from the balance of an account it does not own",[vHr]:"generic instruction error",[_Gr]:"Provided owner is not allowed",[dGr]:"Account is immutable",[fGr]:"Incorrect authority provided",[OHr]:"incorrect program id for instruction",[wHr]:"insufficient funds for instruction",[IHr]:"invalid account data for instruction",[AGr]:"Invalid account owner",[RHr]:"invalid program argument",[$Hr]:"program returned invalid error code",[SHr]:"invalid instruction data",[iGr]:"Failed to reallocate account data",[nGr]:"Provided seeds do not result in a valid address",[mGr]:"Accounts data allocations exceeded the maximum allowed per transaction",[yGr]:"Max accounts exceeded",[bGr]:"Max instruction trace length exceeded",[rGr]:"Length of the seed is too long for address generation",[eGr]:"An account required by the instruction is missing",[NHr]:"missing required signature for instruction",[MHr]:"instruction illegally modified the program id of an account",[HHr]:"insufficient account keys for instruction",[aGr]:"Cross-program invocation with unauthorized signer or writable account",[sGr]:"Failed to create program execution environment",[uGr]:"Program failed to compile",[cGr]:"Program failed to complete",[LHr]:"instruction modified data of a read-only account",[PHr]:"instruction changed the balance of a read-only account",[tGr]:"Cross-program invocation reentrancy not allowed for this instruction",[QHr]:"instruction modified rent epoch of an account",[BHr]:"sum of account balances before and after instruction do not match",[THr]:"instruction requires an initialized account",[EHr]:"",[ZHr]:"Unsupported program id",[gGr]:"Unsupported sysvar",[CVr]:"Invalid instruction plan kind: $kind.",[Gqr]:"The provided instruction plan is empty.",[qqr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[Qqr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[wVr]:"Invalid transaction plan kind: $kind.",[Hqr]:"No more instructions to pack; the message packer has completed the instruction plan.",[mHr]:"The instruction does not have any accounts.",[yHr]:"The instruction does not have any data.",[bHr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[fQr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[cQr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[RVr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[IVr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[vVr]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[EVr]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[SVr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[mQr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[yQr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[EQr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[bQr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[_Qr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[NQr]:"$__serverMessage",[QQr]:"$__serverMessage",[LQr]:"$__serverMessage",[wQr]:"$__serverMessage",[SQr]:"Epoch rewards period still active at slot $slot",[TQr]:"$__serverMessage",[BQr]:"$__serverMessage",[vQr]:"Failed to query long-term storage; please try again",[IQr]:"Minimum context slot has not been reached",[PQr]:"Node is unhealthy; behind by $numSlotsBehind slots",[MQr]:"No snapshot",[FQr]:"Transaction simulation failed",[RQr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[DQr]:"$__serverMessage",[xQr]:"Transaction history is not available from this node",[kQr]:"$__serverMessage",[OQr]:"Transaction signature length mismatch",[UQr]:"Transaction signature verification failure",[CQr]:"$__serverMessage",[hHr]:"Key pair bytes must be of length 64, got $byteLength.",[AHr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[pHr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[_Hr]:"The provided private key does not match the provided public key.",[gHr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[lQr]:"Lamports value must be in the range [0, 2e64-1]",[hQr]:"`$value` cannot be parsed as a `BigInt`",[gQr]:"$message",[AQr]:"`$value` cannot be parsed as a `Number`",[uQr]:"No nonce account could be found at address `$nonceAccountAddress`",[gVr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[mVr]:"WebSocket was closed before payload could be added to the send buffer",[yVr]:"WebSocket connection closed",[bVr]:"WebSocket failed to connect",[_Vr]:"Failed to obtain a subscription id from the server",[pVr]:"Could not find an API plan for RPC method: `$method`",[AVr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[ybe]:"HTTP error ($statusCode): $message",[H1t]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[vGr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[RGr]:"The provided value does not implement the `KeyPairSigner` interface",[IGr]:"The provided value does not implement the `MessageModifyingSigner` interface",[CGr]:"The provided value does not implement the `MessagePartialSigner` interface",[SGr]:"The provided value does not implement any of the `MessageSigner` interfaces",[OGr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[NGr]:"The provided value does not implement the `TransactionPartialSigner` interface",[xGr]:"The provided value does not implement the `TransactionSendingSigner` interface",[wGr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[TGr]:"More than one `TransactionSendingSigner` was identified.",[BGr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[MGr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[fHr]:"Cannot export a non-extractable key.",[oHr]:"No digest implementation could be found.",[iHr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[aHr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[sHr]:"No signature verification implementation could be found.",[cHr]:"No key generation implementation could be found.",[uHr]:"No signing implementation could be found.",[dHr]:"No key export implementation could be found.",[pQr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[yqr]:"Transaction processing left an account with an outstanding borrowed reference",[iqr]:"Account in use",[oqr]:"Account loaded twice",[aqr]:"Attempt to debit an account but found no record of a prior credit.",[Cqr]:"Transaction loads an address table account that doesn't exist",[dqr]:"This transaction has already been processed",[fqr]:"Blockhash not found",[lqr]:"Loader call chain is too deep",[mqr]:"Transactions are currently disabled due to cluster maintenance",[Mqr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[cqr]:"Insufficient funds for fee",[Dqr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[uqr]:"This account may not be used to pay transaction fees",[Aqr]:"Transaction contains an invalid account reference",[Oqr]:"Transaction loads an address table account with invalid data",[Nqr]:"Transaction address table lookup uses an invalid index",[wqr]:"Transaction loads an address table account with an invalid owner",[Pqr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[gqr]:"This program may not be used for executing instructions",[xqr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[vqr]:"Transaction loads a writable account that cannot be written",[kqr]:"Transaction exceeded max loaded accounts data size cap",[hqr]:"Transaction requires a fee but has no signature present",[sqr]:"Attempt to load a program that does not exist",[Uqr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[Lqr]:"ResanitizationNeeded",[_qr]:"Transaction failed to sanitize accounts offsets correctly",[pqr]:"Transaction did not pass signature verification",[Iqr]:"Transaction locked too many accounts",[Fqr]:"Sum of account balances before and after transaction do not match",[nqr]:"The transaction failed with the error `$errorName`",[Eqr]:"Transaction version is unsupported",[Sqr]:"Transaction would exceed account data limit within the block",[Bqr]:"Transaction would exceed total account data limit",[Rqr]:"Transaction would exceed max account limit within the block",[bqr]:"Transaction would exceed max Block Cost Limit",[Tqr]:"Transaction would exceed max Vote Cost Limit",[YGr]:"Attempted to sign a transaction with an address that is not a signer for it",[VGr]:"Transaction is missing an address at index: $index.",[WGr]:"Transaction has no expected signers therefore it cannot be encoded",[eqr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[PGr]:"Transaction does not have a blockhash lifetime",[LGr]:"Transaction is not a durable nonce transaction",[FGr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[QGr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[GGr]:"No fee payer set in CompiledTransaction",[HGr]:"Could not find program address at index $index",[ZGr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[jGr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[JGr]:"Transaction is missing a fee payer.",[zGr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[$Gr]:"Transaction first instruction is not advance nonce account instruction.",[KGr]:"Transaction with no instructions cannot be durable nonce transaction.",[DGr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[kGr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[XGr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[qGr]:"Transaction is missing signatures for addresses: $addresses.",[UGr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[tqr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[rqr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function xVr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${NVr(t)}'`),`${r}\``}}var q1t=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=xVr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function TVr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function BVr(e){let{fromJson:t,headers:r,toJson:i,url:n}=e,o,d=r&&TVr(r);return async function({payload:y,signal:_}){let I=i?i(y):JSON.stringify(y),N={...o,body:I,headers:{...d,accept:"application/json","content-length":I.length.toString(),"content-type":"application/json; charset=utf-8"},method:"POST",signal:_},T=await fetch(n,N);if(!T.ok)throw new q1t(ybe,{headers:T.headers,message:T.statusText,statusCode:T.status});return t?t(await T.text(),y):await T.json()}}var MVr=["getAccountInfo","getBalance","getBlock","getBlockCommitment","getBlockHeight","getBlockProduction","getBlocks","getBlocksWithLimit","getBlockTime","getClusterNodes","getEpochInfo","getEpochSchedule","getFeeForMessage","getFirstAvailableBlock","getGenesisHash","getHealth","getHighestSnapshotSlot","getIdentity","getInflationGovernor","getInflationRate","getInflationReward","getLargestAccounts","getLatestBlockhash","getLeaderSchedule","getMaxRetransmitSlot","getMaxShredInsertSlot","getMinimumBalanceForRentExemption","getMultipleAccounts","getProgramAccounts","getRecentPerformanceSamples","getRecentPrioritizationFees","getSignaturesForAddress","getSignatureStatuses","getSlot","getSlotLeader","getSlotLeaders","getStakeMinimumDelegation","getSupply","getTokenAccountBalance","getTokenAccountsByDelegate","getTokenAccountsByOwner","getTokenLargestAccounts","getTokenSupply","getTransaction","getTransactionCount","getVersion","getVoteAccounts","index","isBlockhashValid","minimumLedgerSlot","requestAirdrop","sendTransaction","simulateTransaction"];function V1t(e){return Pj(e)&&MVr.includes(e.method)}function J1t(e){return BVr({...e,fromJson:(t,r)=>V1t(r)?Dj(t):JSON.parse(t),toJson:t=>V1t(t)?kj(t):JSON.stringify(t)})}J();K();z();var DVr=Object.prototype.toString,kVr=Object.keys||function(e){let t=[];for(let r in e)t.push(r);return t};function hF(e,t){let r,i,n,o,d,g,y;if(e===!0)return"true";if(e===!1)return"false";switch(typeof e){case"object":if(e===null)return null;if("toJSON"in e&&typeof e.toJSON=="function")return hF(e.toJSON(),t);if(y=DVr.call(e),y==="[object Array]"){for(n="[",i=e.length-1,r=0;r<i;r++)n+=hF(e[r],!0)+",";return i>-1&&(n+=hF(e[r],!0)),n+"]"}else if(y==="[object Object]"){for(o=kVr(e).sort(),i=o.length,n="",r=0;r<i;)d=o[r],g=hF(e[d],!1),g!==void 0&&(n&&(n+=","),n+=JSON.stringify(d)+":"+g),r++;return"{"+n+"}"}else return JSON.stringify(e);case"function":case"undefined":return t?null:void 0;case"bigint":return`${e.toString()}n`;case"string":return JSON.stringify(e);default:return isFinite(e)?e:null}}function Hj(e){let t=hF(e,!1);if(t!==void 0)return""+t}function $1t(e,t,r){let i="";if(typeof t[0]=="number"){let d=t[0]+1,g=d%10,y=d%100;g==1&&y!=11?i=d+"st":g==2&&y!=12?i=d+"nd":g==3&&y!=13?i=d+"rd":i=d+"th"}else i=`\`${t[0].toString()}\``;let n=t.length>1?t.slice(1).map(d=>typeof d=="number"?`[${d}]`:d).join("."):void 0,o=new F1t(mbe,{argumentLabel:i,keyPath:t,methodName:e,optionalPathLabel:n?` at path \`${n}\``:"",value:r,...n!==void 0?{path:n}:void 0});return Q1t(o,$1t),o}var PVr={defaultCommitment:"confirmed",onIntegerOverflow(e,t,r){throw $1t(e.methodName,t,r)}},LVr=globalThis.AbortController,z1t;function K1t(){return{}}function UVr(e,t){let r;return async function(n){let{payload:o,signal:d}=n,g=t(o);if(g===void 0)return await e(n);if(r||(queueMicrotask(()=>{r=void 0}),r={}),r[g]==null){let _=new LVr,I=(async()=>{try{return await e({...n,signal:_.signal})}catch(N){if(N===(z1t||=K1t()))return;throw N}})();r[g]={abortController:_,numConsumers:0,responsePromise:I}}let y=r[g];if(y.numConsumers++,d){let _=y.responsePromise;return await new Promise((I,N)=>{let T=M=>{d.removeEventListener("abort",T),y.numConsumers-=1,queueMicrotask(()=>{y.numConsumers===0&&y.abortController.abort(z1t||=K1t())}),N(M.target.reason)};d.addEventListener("abort",T),_.then(I).catch(N).finally(()=>{d.removeEventListener("abort",T)})})}else return await y.responsePromise}}function FVr(e){return Pj(e)?Hj([e.method,e.params]):void 0}function QVr(e){let t={};for(let r in e)t[r.toLowerCase()]=e[r];return t}function HVr(e){return n1(J1t({...e,headers:{...e.headers?QVr(e.headers):void 0,"solana-client":"js/5.0.0"}}),t=>UVr(t,FVr))}function bbe(e,t){return GVr(HVr({url:e,...t}))}function GVr(e){return i1t({api:L1t(PVr),transport:e})}J();K();z();J();K();z();J();K();z();J();K();z();var qVr=1,VVr=2,JVr=3,zVr=4,KVr=5,$Vr=6,YVr=7,WVr=8,XVr=9,Y1t=10,W1t=-32700,X1t=-32603,Z1t=-32602,j1t=-32601,egt=-32600,ZVr=-32019,jVr=-32018,eJr=-32017,tJr=-32016,tgt=-32015,rgt=-32014,rJr=-32013,ngt=-32012,nJr=-32011,igt=-32010,ogt=-32009,iJr=-32008,agt=-32007,sgt=-32006,oJr=-32005,cgt=-32004,aJr=-32003,Ebe=-32002,ugt=-32001,sJr=28e5,cJr=2800001,uJr=2800002,dJr=2800003,fJr=2800004,lJr=2800005,hJr=2800006,AJr=2800007,pJr=2800008,gJr=2800009,_Jr=2800010,mJr=2800011,yJr=323e4,bJr=32300001,EJr=3230002,vJr=3230003,RJr=3230004,SJr=361e4,IJr=3610001,CJr=3610002,wJr=3610003,OJr=3610004,NJr=3610005,xJr=3610006,TJr=3610007,BJr=3611e3,MJr=3704e3,DJr=3704001,kJr=3704002,PJr=3704003,LJr=3704004,UJr=4128e3,FJr=4128001,QJr=4128002,dgt=4615e3,HJr=4615001,GJr=4615002,qJr=4615003,VJr=4615004,JJr=4615005,zJr=4615006,KJr=4615007,$Jr=4615008,YJr=4615009,WJr=4615010,XJr=4615011,ZJr=4615012,jJr=4615013,ezr=4615014,tzr=4615015,rzr=4615016,nzr=4615017,izr=4615018,ozr=4615019,azr=4615020,szr=4615021,czr=4615022,uzr=4615023,dzr=4615024,fzr=4615025,fgt=4615026,lzr=4615027,hzr=4615028,Azr=4615029,pzr=4615030,gzr=4615031,_zr=4615032,mzr=4615033,yzr=4615034,bzr=4615035,Ezr=4615036,vzr=4615037,Rzr=4615038,Szr=4615039,Izr=4615040,Czr=4615041,wzr=4615042,Ozr=4615043,Nzr=4615044,xzr=4615045,Tzr=4615046,Bzr=4615047,Mzr=4615048,Dzr=4615049,kzr=4615050,Pzr=4615051,Lzr=4615052,Uzr=4615053,Fzr=4615054,Qzr=5508e3,Hzr=5508001,Gzr=5508002,qzr=5508003,Vzr=5508004,Jzr=5508005,zzr=5508006,Kzr=5508007,$zr=5508008,Yzr=5508009,Wzr=5508010,Xzr=5508011,Zzr=5663e3,jzr=5663001,eKr=5663002,tKr=5663003,rKr=5663004,nKr=5663005,iKr=5663006,oKr=5663007,aKr=5663008,sKr=5663009,cKr=5663010,uKr=5663011,dKr=5663012,fKr=5663013,lKr=5663014,hKr=5663015,AKr=5663016,pKr=5663017,gKr=5663018,_Kr=5663019,mKr=5663020,yKr=5663021,bKr=5663022,lgt=705e4,EKr=7050001,vKr=7050002,RKr=7050003,SKr=7050004,IKr=7050005,CKr=7050006,wKr=7050007,OKr=7050008,NKr=7050009,xKr=7050010,TKr=7050011,BKr=7050012,MKr=7050013,DKr=7050014,kKr=7050015,PKr=7050016,LKr=7050017,UKr=7050018,FKr=7050019,QKr=7050020,HKr=7050021,GKr=7050022,qKr=7050023,VKr=7050024,JKr=7050025,zKr=7050026,KKr=7050027,$Kr=7050028,YKr=7050029,hgt=7050030,Agt=7050031,WKr=7050032,XKr=7050033,ZKr=7050034,pgt=7050035,jKr=7050036,e$r=7618e3,t$r=7618001,r$r=7618002,n$r=7618003,i$r=8078e3,o$r=8078001,a$r=8078002,s$r=8078003,c$r=8078004,u$r=8078005,d$r=8078006,f$r=8078007,l$r=8078008,h$r=8078009,A$r=8078010,p$r=8078011,g$r=8078012,_$r=8078013,m$r=8078014,y$r=8078015,b$r=8078016,E$r=8078017,v$r=8078018,R$r=8078019,S$r=8078020,I$r=8078021,C$r=8078022,w$r=8078023,O$r=81e5,N$r=8100001,x$r=8100002,T$r=8100003,vbe=819e4,Rbe=8190001,B$r=8190002,M$r=8190003,D$r=8190004,k$r=99e5,P$r=9900001,L$r=9900002,U$r=9900003,Sbe=9900004,F$r=9900005,Q$r=9900006;function ggt(e){return Array.isArray(e)?"%5B"+e.map(ggt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function H$r([e,t]){return`${e}=${ggt(t)}`}function G$r(e){let t=Object.entries(e).map(H$r).join("&");return btoa(t)}var Bao={[yJr]:"Account not found at address: $address",[RJr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[vJr]:"Expected decoded account at address: $address",[EJr]:"Failed to decode account data at address: $address",[bJr]:"Accounts not found at addresses: $addresses",[gJr]:"Unable to find a viable program address bump seed.",[uJr]:"$putativeAddress is not a base58-encoded address.",[sJr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[dJr]:"The `CryptoKey` must be an `Ed25519` public key.",[mJr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[pJr]:"Invalid seeds; point must fall off the Ed25519 curve.",[fJr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[hJr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[AJr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[lJr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[_Jr]:"Program address cannot end with PDA marker.",[cJr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[zVr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[qVr]:"The network has progressed past the last block for which this transaction could have been committed.",[i$r]:"Codec [$codecDescription] cannot decode empty byte arrays.",[C$r]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[S$r]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[u$r]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[d$r]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[c$r]:"Encoder and decoder must either both be fixed-size or variable-size.",[l$r]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[a$r]:"Expected a fixed-size codec, got a variable-size one.",[_$r]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[s$r]:"Expected a variable-size codec, got a fixed-size one.",[R$r]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[o$r]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[v$r]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[h$r]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[A$r]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[y$r]:"Invalid literal union variant. Expected one of [$variants], got $value.",[f$r]:"Expected [$codecDescription] to have $expected items, got $actual.",[g$r]:"Invalid value $value for base $base with alphabet $alphabet.",[b$r]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[p$r]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[m$r]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[I$r]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[E$r]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[w$r]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[BJr]:"No random values implementation could be found.",[YJr]:"instruction requires an uninitialized account",[uzr]:"instruction tries to borrow reference for an account which is already borrowed",[dzr]:"instruction left account with an outstanding borrowed reference",[szr]:"program other than the account's owner changed the size of the account data",[JJr]:"account data too small for instruction",[czr]:"instruction expected an executable account",[Tzr]:"An account does not have enough lamports to be rent-exempt",[Mzr]:"Program arithmetic overflowed",[xzr]:"Failed to serialize or deserialize account data: $encodedData",[Fzr]:"Builtin programs must consume compute units",[_zr]:"Cross-program invocation call depth too deep",[Rzr]:"Computational budget exceeded",[fgt]:"custom program error: #$code",[nzr]:"instruction contains duplicate accounts",[fzr]:"instruction modifications of multiply-passed account differ",[pzr]:"executable accounts must be rent exempt",[hzr]:"instruction changed executable accounts data",[Azr]:"instruction changed the balance of an executable account",[izr]:"instruction changed executable bit of an account",[ezr]:"instruction modified data of an account it does not own",[jJr]:"instruction spent from the balance of an account it does not own",[HJr]:"generic instruction error",[kzr]:"Provided owner is not allowed",[Ozr]:"Account is immutable",[Nzr]:"Incorrect authority provided",[KJr]:"incorrect program id for instruction",[zJr]:"insufficient funds for instruction",[VJr]:"invalid account data for instruction",[Bzr]:"Invalid account owner",[GJr]:"invalid program argument",[lzr]:"program returned invalid error code",[qJr]:"invalid instruction data",[vzr]:"Failed to reallocate account data",[Ezr]:"Provided seeds do not result in a valid address",[Pzr]:"Accounts data allocations exceeded the maximum allowed per transaction",[Lzr]:"Max accounts exceeded",[Uzr]:"Max instruction trace length exceeded",[bzr]:"Length of the seed is too long for address generation",[mzr]:"An account required by the instruction is missing",[$Jr]:"missing required signature for instruction",[ZJr]:"instruction illegally modified the program id of an account",[azr]:"insufficient account keys for instruction",[Szr]:"Cross-program invocation with unauthorized signer or writable account",[Izr]:"Failed to create program execution environment",[wzr]:"Program failed to compile",[Czr]:"Program failed to complete",[rzr]:"instruction modified data of a read-only account",[tzr]:"instruction changed the balance of a read-only account",[yzr]:"Cross-program invocation reentrancy not allowed for this instruction",[ozr]:"instruction modified rent epoch of an account",[XJr]:"sum of account balances before and after instruction do not match",[WJr]:"instruction requires an initialized account",[dgt]:"",[gzr]:"Unsupported program id",[Dzr]:"Unsupported sysvar",[F$r]:"Invalid instruction plan kind: $kind.",[r$r]:"The provided instruction plan is empty.",[n$r]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[e$r]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[Q$r]:"Invalid transaction plan kind: $kind.",[t$r]:"No more instructions to pack; the message packer has completed the instruction plan.",[UJr]:"The instruction does not have any accounts.",[FJr]:"The instruction does not have any data.",[QJr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[KVr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[VVr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[L$r]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Sbe]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[P$r]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[k$r]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[U$r]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[X1t]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[Z1t]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[egt]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[j1t]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[W1t]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[ngt]:"$__serverMessage",[ugt]:"$__serverMessage",[cgt]:"$__serverMessage",[rgt]:"$__serverMessage",[eJr]:"Epoch rewards period still active at slot $slot",[igt]:"$__serverMessage",[ogt]:"$__serverMessage",[ZVr]:"Failed to query long-term storage; please try again",[tJr]:"Minimum context slot has not been reached",[oJr]:"Node is unhealthy; behind by $numSlotsBehind slots",[iJr]:"No snapshot",[Ebe]:"Transaction simulation failed",[jVr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[agt]:"$__serverMessage",[nJr]:"Transaction history is not available from this node",[sgt]:"$__serverMessage",[rJr]:"Transaction signature length mismatch",[aJr]:"Transaction signature verification failure",[tgt]:"$__serverMessage",[MJr]:"Key pair bytes must be of length 64, got $byteLength.",[DJr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[kJr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[LJr]:"The provided private key does not match the provided public key.",[PJr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[$Vr]:"Lamports value must be in the range [0, 2e64-1]",[YVr]:"`$value` cannot be parsed as a `BigInt`",[Y1t]:"$message",[WVr]:"`$value` cannot be parsed as a `Number`",[JVr]:"No nonce account could be found at address `$nonceAccountAddress`",[vbe]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[B$r]:"WebSocket was closed before payload could be added to the send buffer",[M$r]:"WebSocket connection closed",[D$r]:"WebSocket failed to connect",[Rbe]:"Failed to obtain a subscription id from the server",[T$r]:"Could not find an API plan for RPC method: `$method`",[O$r]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[x$r]:"HTTP error ($statusCode): $message",[N$r]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Qzr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Hzr]:"The provided value does not implement the `KeyPairSigner` interface",[qzr]:"The provided value does not implement the `MessageModifyingSigner` interface",[Vzr]:"The provided value does not implement the `MessagePartialSigner` interface",[Gzr]:"The provided value does not implement any of the `MessageSigner` interfaces",[zzr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[Kzr]:"The provided value does not implement the `TransactionPartialSigner` interface",[$zr]:"The provided value does not implement the `TransactionSendingSigner` interface",[Jzr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Yzr]:"More than one `TransactionSendingSigner` was identified.",[Wzr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Xzr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[TJr]:"Cannot export a non-extractable key.",[IJr]:"No digest implementation could be found.",[SJr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[CJr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[wJr]:"No signature verification implementation could be found.",[OJr]:"No key generation implementation could be found.",[NJr]:"No signing implementation could be found.",[xJr]:"No key export implementation could be found.",[XVr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[PKr]:"Transaction processing left an account with an outstanding borrowed reference",[EKr]:"Account in use",[vKr]:"Account loaded twice",[RKr]:"Attempt to debit an account but found no record of a prior credit.",[qKr]:"Transaction loads an address table account that doesn't exist",[wKr]:"This transaction has already been processed",[OKr]:"Blockhash not found",[NKr]:"Loader call chain is too deep",[kKr]:"Transactions are currently disabled due to cluster maintenance",[hgt]:"Transaction contains a duplicate instruction ($index) that is not allowed",[IKr]:"Insufficient funds for fee",[Agt]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[CKr]:"This account may not be used to pay transaction fees",[TKr]:"Transaction contains an invalid account reference",[JKr]:"Transaction loads an address table account with invalid data",[zKr]:"Transaction address table lookup uses an invalid index",[VKr]:"Transaction loads an address table account with an invalid owner",[XKr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[MKr]:"This program may not be used for executing instructions",[KKr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[FKr]:"Transaction loads a writable account that cannot be written",[WKr]:"Transaction exceeded max loaded accounts data size cap",[xKr]:"Transaction requires a fee but has no signature present",[SKr]:"Attempt to load a program that does not exist",[pgt]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[ZKr]:"ResanitizationNeeded",[DKr]:"Transaction failed to sanitize accounts offsets correctly",[BKr]:"Transaction did not pass signature verification",[GKr]:"Transaction locked too many accounts",[jKr]:"Sum of account balances before and after transaction do not match",[lgt]:"The transaction failed with the error `$errorName`",[UKr]:"Transaction version is unsupported",[HKr]:"Transaction would exceed account data limit within the block",[YKr]:"Transaction would exceed total account data limit",[QKr]:"Transaction would exceed max account limit within the block",[LKr]:"Transaction would exceed max Block Cost Limit",[$Kr]:"Transaction would exceed max Vote Cost Limit",[hKr]:"Attempted to sign a transaction with an address that is not a signer for it",[cKr]:"Transaction is missing an address at index: $index.",[AKr]:"Transaction has no expected signers therefore it cannot be encoded",[mKr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[eKr]:"Transaction does not have a blockhash lifetime",[tKr]:"Transaction is not a durable nonce transaction",[nKr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[iKr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[aKr]:"No fee payer set in CompiledTransaction",[oKr]:"Could not find program address at index $index",[gKr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[_Kr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[uKr]:"Transaction is missing a fee payer.",[dKr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[lKr]:"Transaction first instruction is not advance nonce account instruction.",[fKr]:"Transaction with no instructions cannot be durable nonce transaction.",[Zzr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[jzr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[pKr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[sKr]:"Transaction is missing signatures for addresses: $addresses.",[rKr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[yKr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[bKr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function q$r(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${G$r(t)}'`),`${r}\``}}var z3=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=q$r(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function _gt(...e){"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)}function mgt({errorCodeBaseOffset:e,getErrorContext:t,orderedErrorNames:r,rpcEnumError:i},n){let o,d;typeof i=="string"?o=i:(o=Object.keys(i)[0],d=i[o]);let g=r.indexOf(o),y=e+g,_=t(y,o,d),I=new z3(y,_);return _gt(I,n),I}var V$r=["GenericError","InvalidArgument","InvalidInstructionData","InvalidAccountData","AccountDataTooSmall","InsufficientFunds","IncorrectProgramId","MissingRequiredSignature","AccountAlreadyInitialized","UninitializedAccount","UnbalancedInstruction","ModifiedProgramId","ExternalAccountLamportSpend","ExternalAccountDataModified","ReadonlyLamportChange","ReadonlyDataModified","DuplicateAccountIndex","ExecutableModified","RentEpochModified","NotEnoughAccountKeys","AccountDataSizeChanged","AccountNotExecutable","AccountBorrowFailed","AccountBorrowOutstanding","DuplicateAccountOutOfSync","Custom","InvalidError","ExecutableDataModified","ExecutableLamportChange","ExecutableAccountNotRentExempt","UnsupportedProgramId","CallDepth","MissingAccount","ReentrancyNotAllowed","MaxSeedLengthExceeded","InvalidSeeds","InvalidRealloc","ComputationalBudgetExceeded","PrivilegeEscalation","ProgramEnvironmentSetupFailure","ProgramFailedToComplete","ProgramFailedToCompile","Immutable","IncorrectAuthority","BorshIoError","AccountNotRentExempt","InvalidAccountOwner","ArithmeticOverflow","UnsupportedSysvar","IllegalOwner","MaxAccountsDataAllocationsExceeded","MaxAccountsExceeded","MaxInstructionTraceLengthExceeded","BuiltinProgramsMustConsumeComputeUnits"];function ygt(e,t){let r=Number(e);return mgt({errorCodeBaseOffset:4615001,getErrorContext(i,n,o){return i===dgt?{errorName:n,index:r,...o!==void 0?{instructionErrorContext:o}:null}:i===fgt?{code:Number(o),index:r}:{index:r}},orderedErrorNames:V$r,rpcEnumError:t},ygt)}var J$r=["AccountInUse","AccountLoadedTwice","AccountNotFound","ProgramAccountNotFound","InsufficientFundsForFee","InvalidAccountForFee","AlreadyProcessed","BlockhashNotFound","CallChainTooDeep","MissingSignatureForFee","InvalidAccountIndex","SignatureFailure","InvalidProgramForExecution","SanitizeFailure","ClusterMaintenance","AccountBorrowOutstanding","WouldExceedMaxBlockCostLimit","UnsupportedVersion","InvalidWritableAccount","WouldExceedMaxAccountCostLimit","WouldExceedAccountDataBlockLimit","TooManyAccountLocks","AddressLookupTableNotFound","InvalidAddressLookupTableOwner","InvalidAddressLookupTableData","InvalidAddressLookupTableIndex","InvalidRentPayingAccount","WouldExceedMaxVoteCostLimit","WouldExceedAccountDataTotalLimit","DuplicateInstruction","InsufficientFundsForRent","MaxLoadedAccountsDataSizeExceeded","InvalidLoadedAccountsDataSizeLimit","ResanitizationNeeded","ProgramExecutionTemporarilyRestricted","UnbalancedTransaction"];function bgt(e){return typeof e=="object"&&"InstructionError"in e?ygt(...e.InstructionError):mgt({errorCodeBaseOffset:7050001,getErrorContext(t,r,i){if(t===lgt)return{errorName:r,...i!==void 0?{transactionErrorContext:i}:null};if(t===hgt)return{index:Number(i)};if(t===Agt||t===pgt)return{accountIndex:Number(i.account_index)}},orderedErrorNames:J$r,rpcEnumError:e},bgt)}function Ibe(e){let t;if(z$r(e)){let{code:r,data:i,message:n}=e,o=Number(r);if(o===Ebe){let{err:d,...g}=i,y=d?{cause:bgt(d)}:null;t=new z3(Ebe,{...g,...y})}else{let d;switch(o){case X1t:case Z1t:case egt:case j1t:case W1t:case ngt:case ugt:case cgt:case rgt:case igt:case ogt:case agt:case sgt:case tgt:d={__serverMessage:n};break;default:typeof i=="object"&&!Array.isArray(i)&&(d=i)}t=new z3(o,d)}}else{let r=typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:"Malformed JSON-RPC error with no message attribute";t=new z3(Y1t,{error:e,message:r})}return _gt(t,Ibe),t}function z$r(e){return typeof e=="object"&&e!==null&&"code"in e&&"message"in e&&(typeof e.code=="number"||typeof e.code=="bigint")&&typeof e.message=="string"}J();K();z();J();K();z();var K$r=1,$$r=2,Y$r=3,W$r=4,X$r=5,Z$r=6,j$r=7,eYr=8,tYr=9,rYr=10,nYr=-32700,iYr=-32603,oYr=-32602,aYr=-32601,sYr=-32600,cYr=-32019,uYr=-32018,dYr=-32017,fYr=-32016,lYr=-32015,hYr=-32014,AYr=-32013,pYr=-32012,gYr=-32011,_Yr=-32010,mYr=-32009,yYr=-32008,bYr=-32007,EYr=-32006,vYr=-32005,RYr=-32004,SYr=-32003,IYr=-32002,CYr=-32001,wYr=28e5,OYr=2800001,NYr=2800002,xYr=2800003,TYr=2800004,BYr=2800005,MYr=2800006,DYr=2800007,kYr=2800008,PYr=2800009,LYr=2800010,UYr=2800011,FYr=323e4,QYr=32300001,HYr=3230002,GYr=3230003,qYr=3230004,VYr=361e4,JYr=3610001,zYr=3610002,KYr=3610003,$Yr=3610004,YYr=3610005,WYr=3610006,XYr=3610007,ZYr=3611e3,jYr=3704e3,eWr=3704001,tWr=3704002,rWr=3704003,nWr=3704004,iWr=4128e3,oWr=4128001,aWr=4128002,sWr=4615e3,cWr=4615001,uWr=4615002,dWr=4615003,fWr=4615004,lWr=4615005,hWr=4615006,AWr=4615007,pWr=4615008,gWr=4615009,_Wr=4615010,mWr=4615011,yWr=4615012,bWr=4615013,EWr=4615014,vWr=4615015,RWr=4615016,SWr=4615017,IWr=4615018,CWr=4615019,wWr=4615020,OWr=4615021,NWr=4615022,xWr=4615023,TWr=4615024,BWr=4615025,MWr=4615026,DWr=4615027,kWr=4615028,PWr=4615029,LWr=4615030,UWr=4615031,FWr=4615032,QWr=4615033,HWr=4615034,GWr=4615035,qWr=4615036,VWr=4615037,JWr=4615038,zWr=4615039,KWr=4615040,$Wr=4615041,YWr=4615042,WWr=4615043,XWr=4615044,ZWr=4615045,jWr=4615046,eXr=4615047,tXr=4615048,rXr=4615049,nXr=4615050,iXr=4615051,oXr=4615052,aXr=4615053,sXr=4615054,cXr=5508e3,uXr=5508001,dXr=5508002,fXr=5508003,lXr=5508004,hXr=5508005,AXr=5508006,pXr=5508007,gXr=5508008,_Xr=5508009,mXr=5508010,yXr=5508011,bXr=5663e3,EXr=5663001,vXr=5663002,RXr=5663003,SXr=5663004,IXr=5663005,CXr=5663006,wXr=5663007,OXr=5663008,NXr=5663009,xXr=5663010,TXr=5663011,BXr=5663012,MXr=5663013,DXr=5663014,kXr=5663015,PXr=5663016,LXr=5663017,UXr=5663018,FXr=5663019,QXr=5663020,HXr=5663021,GXr=5663022,qXr=705e4,VXr=7050001,JXr=7050002,zXr=7050003,KXr=7050004,$Xr=7050005,YXr=7050006,WXr=7050007,XXr=7050008,ZXr=7050009,jXr=7050010,eZr=7050011,tZr=7050012,rZr=7050013,nZr=7050014,iZr=7050015,oZr=7050016,aZr=7050017,sZr=7050018,cZr=7050019,uZr=7050020,dZr=7050021,fZr=7050022,lZr=7050023,hZr=7050024,AZr=7050025,pZr=7050026,gZr=7050027,_Zr=7050028,mZr=7050029,yZr=7050030,bZr=7050031,EZr=7050032,vZr=7050033,RZr=7050034,SZr=7050035,IZr=7050036,CZr=7618e3,wZr=7618001,OZr=7618002,NZr=7618003,xZr=8078e3,TZr=8078001,BZr=8078002,MZr=8078003,DZr=8078004,kZr=8078005,PZr=8078006,LZr=8078007,UZr=8078008,FZr=8078009,QZr=8078010,HZr=8078011,GZr=8078012,qZr=8078013,VZr=8078014,JZr=8078015,zZr=8078016,KZr=8078017,$Zr=8078018,YZr=8078019,WZr=8078020,XZr=8078021,ZZr=8078022,jZr=8078023,ejr=81e5,tjr=8100001,rjr=8100002,njr=8100003,ijr=819e4,ojr=8190001,ajr=8190002,sjr=8190003,cjr=8190004,Cbe=99e5,wbe=9900001,ujr=9900002,djr=9900003,fjr=9900004,ljr=9900005,hjr=9900006;function Egt(e){return Array.isArray(e)?"%5B"+e.map(Egt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function Ajr([e,t]){return`${e}=${Egt(t)}`}function pjr(e){let t=Object.entries(e).map(Ajr).join("&");return btoa(t)}var Uao={[FYr]:"Account not found at address: $address",[qYr]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[GYr]:"Expected decoded account at address: $address",[HYr]:"Failed to decode account data at address: $address",[QYr]:"Accounts not found at addresses: $addresses",[PYr]:"Unable to find a viable program address bump seed.",[NYr]:"$putativeAddress is not a base58-encoded address.",[wYr]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[xYr]:"The `CryptoKey` must be an `Ed25519` public key.",[UYr]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[kYr]:"Invalid seeds; point must fall off the Ed25519 curve.",[TYr]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[MYr]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[DYr]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[BYr]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[LYr]:"Program address cannot end with PDA marker.",[OYr]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[W$r]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[K$r]:"The network has progressed past the last block for which this transaction could have been committed.",[xZr]:"Codec [$codecDescription] cannot decode empty byte arrays.",[ZZr]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[WZr]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[kZr]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[PZr]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[DZr]:"Encoder and decoder must either both be fixed-size or variable-size.",[UZr]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[BZr]:"Expected a fixed-size codec, got a variable-size one.",[qZr]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[MZr]:"Expected a variable-size codec, got a fixed-size one.",[YZr]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[TZr]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[$Zr]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[FZr]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[QZr]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[JZr]:"Invalid literal union variant. Expected one of [$variants], got $value.",[LZr]:"Expected [$codecDescription] to have $expected items, got $actual.",[GZr]:"Invalid value $value for base $base with alphabet $alphabet.",[zZr]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[HZr]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[VZr]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[XZr]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[KZr]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[jZr]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[ZYr]:"No random values implementation could be found.",[gWr]:"instruction requires an uninitialized account",[xWr]:"instruction tries to borrow reference for an account which is already borrowed",[TWr]:"instruction left account with an outstanding borrowed reference",[OWr]:"program other than the account's owner changed the size of the account data",[lWr]:"account data too small for instruction",[NWr]:"instruction expected an executable account",[jWr]:"An account does not have enough lamports to be rent-exempt",[tXr]:"Program arithmetic overflowed",[ZWr]:"Failed to serialize or deserialize account data: $encodedData",[sXr]:"Builtin programs must consume compute units",[FWr]:"Cross-program invocation call depth too deep",[JWr]:"Computational budget exceeded",[MWr]:"custom program error: #$code",[SWr]:"instruction contains duplicate accounts",[BWr]:"instruction modifications of multiply-passed account differ",[LWr]:"executable accounts must be rent exempt",[kWr]:"instruction changed executable accounts data",[PWr]:"instruction changed the balance of an executable account",[IWr]:"instruction changed executable bit of an account",[EWr]:"instruction modified data of an account it does not own",[bWr]:"instruction spent from the balance of an account it does not own",[cWr]:"generic instruction error",[nXr]:"Provided owner is not allowed",[WWr]:"Account is immutable",[XWr]:"Incorrect authority provided",[AWr]:"incorrect program id for instruction",[hWr]:"insufficient funds for instruction",[fWr]:"invalid account data for instruction",[eXr]:"Invalid account owner",[uWr]:"invalid program argument",[DWr]:"program returned invalid error code",[dWr]:"invalid instruction data",[VWr]:"Failed to reallocate account data",[qWr]:"Provided seeds do not result in a valid address",[iXr]:"Accounts data allocations exceeded the maximum allowed per transaction",[oXr]:"Max accounts exceeded",[aXr]:"Max instruction trace length exceeded",[GWr]:"Length of the seed is too long for address generation",[QWr]:"An account required by the instruction is missing",[pWr]:"missing required signature for instruction",[yWr]:"instruction illegally modified the program id of an account",[wWr]:"insufficient account keys for instruction",[zWr]:"Cross-program invocation with unauthorized signer or writable account",[KWr]:"Failed to create program execution environment",[YWr]:"Program failed to compile",[$Wr]:"Program failed to complete",[RWr]:"instruction modified data of a read-only account",[vWr]:"instruction changed the balance of a read-only account",[HWr]:"Cross-program invocation reentrancy not allowed for this instruction",[CWr]:"instruction modified rent epoch of an account",[mWr]:"sum of account balances before and after instruction do not match",[_Wr]:"instruction requires an initialized account",[sWr]:"",[UWr]:"Unsupported program id",[rXr]:"Unsupported sysvar",[ljr]:"Invalid instruction plan kind: $kind.",[OZr]:"The provided instruction plan is empty.",[NZr]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[CZr]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[hjr]:"Invalid transaction plan kind: $kind.",[wZr]:"No more instructions to pack; the message packer has completed the instruction plan.",[iWr]:"The instruction does not have any accounts.",[oWr]:"The instruction does not have any data.",[aWr]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[X$r]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[$$r]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[ujr]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[fjr]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[wbe]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Cbe]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[djr]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[iYr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[oYr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[sYr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[aYr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[nYr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[pYr]:"$__serverMessage",[CYr]:"$__serverMessage",[RYr]:"$__serverMessage",[hYr]:"$__serverMessage",[dYr]:"Epoch rewards period still active at slot $slot",[_Yr]:"$__serverMessage",[mYr]:"$__serverMessage",[cYr]:"Failed to query long-term storage; please try again",[fYr]:"Minimum context slot has not been reached",[vYr]:"Node is unhealthy; behind by $numSlotsBehind slots",[yYr]:"No snapshot",[IYr]:"Transaction simulation failed",[uYr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[bYr]:"$__serverMessage",[gYr]:"Transaction history is not available from this node",[EYr]:"$__serverMessage",[AYr]:"Transaction signature length mismatch",[SYr]:"Transaction signature verification failure",[lYr]:"$__serverMessage",[jYr]:"Key pair bytes must be of length 64, got $byteLength.",[eWr]:"Expected private key bytes with length 32. Actual length: $actualLength.",[tWr]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[nWr]:"The provided private key does not match the provided public key.",[rWr]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Z$r]:"Lamports value must be in the range [0, 2e64-1]",[j$r]:"`$value` cannot be parsed as a `BigInt`",[rYr]:"$message",[eYr]:"`$value` cannot be parsed as a `Number`",[Y$r]:"No nonce account could be found at address `$nonceAccountAddress`",[ijr]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[ajr]:"WebSocket was closed before payload could be added to the send buffer",[sjr]:"WebSocket connection closed",[cjr]:"WebSocket failed to connect",[ojr]:"Failed to obtain a subscription id from the server",[njr]:"Could not find an API plan for RPC method: `$method`",[ejr]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[rjr]:"HTTP error ($statusCode): $message",[tjr]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[cXr]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[uXr]:"The provided value does not implement the `KeyPairSigner` interface",[fXr]:"The provided value does not implement the `MessageModifyingSigner` interface",[lXr]:"The provided value does not implement the `MessagePartialSigner` interface",[dXr]:"The provided value does not implement any of the `MessageSigner` interfaces",[AXr]:"The provided value does not implement the `TransactionModifyingSigner` interface",[pXr]:"The provided value does not implement the `TransactionPartialSigner` interface",[gXr]:"The provided value does not implement the `TransactionSendingSigner` interface",[hXr]:"The provided value does not implement any of the `TransactionSigner` interfaces",[_Xr]:"More than one `TransactionSendingSigner` was identified.",[mXr]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[yXr]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[XYr]:"Cannot export a non-extractable key.",[JYr]:"No digest implementation could be found.",[VYr]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[zYr]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[KYr]:"No signature verification implementation could be found.",[$Yr]:"No key generation implementation could be found.",[YYr]:"No signing implementation could be found.",[WYr]:"No key export implementation could be found.",[tYr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[oZr]:"Transaction processing left an account with an outstanding borrowed reference",[VXr]:"Account in use",[JXr]:"Account loaded twice",[zXr]:"Attempt to debit an account but found no record of a prior credit.",[lZr]:"Transaction loads an address table account that doesn't exist",[WXr]:"This transaction has already been processed",[XXr]:"Blockhash not found",[ZXr]:"Loader call chain is too deep",[iZr]:"Transactions are currently disabled due to cluster maintenance",[yZr]:"Transaction contains a duplicate instruction ($index) that is not allowed",[$Xr]:"Insufficient funds for fee",[bZr]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[YXr]:"This account may not be used to pay transaction fees",[eZr]:"Transaction contains an invalid account reference",[AZr]:"Transaction loads an address table account with invalid data",[pZr]:"Transaction address table lookup uses an invalid index",[hZr]:"Transaction loads an address table account with an invalid owner",[vZr]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[rZr]:"This program may not be used for executing instructions",[gZr]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[cZr]:"Transaction loads a writable account that cannot be written",[EZr]:"Transaction exceeded max loaded accounts data size cap",[jXr]:"Transaction requires a fee but has no signature present",[KXr]:"Attempt to load a program that does not exist",[SZr]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[RZr]:"ResanitizationNeeded",[nZr]:"Transaction failed to sanitize accounts offsets correctly",[tZr]:"Transaction did not pass signature verification",[fZr]:"Transaction locked too many accounts",[IZr]:"Sum of account balances before and after transaction do not match",[qXr]:"The transaction failed with the error `$errorName`",[sZr]:"Transaction version is unsupported",[dZr]:"Transaction would exceed account data limit within the block",[mZr]:"Transaction would exceed total account data limit",[uZr]:"Transaction would exceed max account limit within the block",[aZr]:"Transaction would exceed max Block Cost Limit",[_Zr]:"Transaction would exceed max Vote Cost Limit",[kXr]:"Attempted to sign a transaction with an address that is not a signer for it",[xXr]:"Transaction is missing an address at index: $index.",[PXr]:"Transaction has no expected signers therefore it cannot be encoded",[QXr]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[vXr]:"Transaction does not have a blockhash lifetime",[RXr]:"Transaction is not a durable nonce transaction",[IXr]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[CXr]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[OXr]:"No fee payer set in CompiledTransaction",[wXr]:"Could not find program address at index $index",[UXr]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[FXr]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[TXr]:"Transaction is missing a fee payer.",[BXr]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[DXr]:"Transaction first instruction is not advance nonce account instruction.",[MXr]:"Transaction with no instructions cannot be durable nonce transaction.",[bXr]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[EXr]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[LXr]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[NXr]:"Transaction is missing signatures for addresses: $addresses.",[SXr]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[HXr]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[GXr]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function gjr(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${pjr(t)}'`),`${r}\``}}var Obe=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=gjr(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};var _jr=globalThis.AbortController,mjr=globalThis.EventTarget,vgt;function Rgt(){return Symbol(void 0)}var Nbe=Symbol();function Sgt({abortSignal:e,dataChannelName:t,dataPublisher:r,errorChannelName:i}){let n=new Map;function o(_){for(let[I,N]of n.entries())N.__hasPolled?(n.delete(I),N.onError(_)):N.publishQueue.push({__type:1,err:_})}let d=new _jr;e.addEventListener("abort",()=>{d.abort(),o(vgt||=Rgt())});let g={signal:d.signal},y=Nbe;return r.on(i,_=>{y===Nbe&&(y=_,d.abort(),o(_))},g),r.on(t,_=>{n.forEach((I,N)=>{if(I.__hasPolled){let{onData:T}=I;n.set(N,{__hasPolled:!1,publishQueue:[]}),T(_)}else I.publishQueue.push({__type:0,data:_})})},g),{async*[Symbol.asyncIterator](){if(e.aborted)return;if(y!==Nbe)throw y;let _=Symbol();n.set(_,{__hasPolled:!1,publishQueue:[]});try{for(;;){let I=n.get(_);if(!I)throw new Obe(Cbe);if(I.__hasPolled)throw new Obe(wbe);let N=I.publishQueue;try{if(N.length){I.publishQueue=[];for(let T of N)if(T.__type===0)yield T.data;else throw T.err}else yield await new Promise((T,M)=>{n.set(_,{__hasPolled:!0,onData:T,onError:M})})}catch(T){if(T===(vgt||=Rgt()))return;throw T}}}finally{n.delete(_)}}}}function xbe(e){return{on(t,r,i){function n(o){if(o instanceof CustomEvent){let d=o.detail;r(d)}else r()}return e.addEventListener(t,n,i),()=>{e.removeEventListener(t,n)}}}}function Igt(e,t,r){let i,n=new mjr,o=xbe(n);return{...o,on(d,g,y){i||(i={dispose:e.on(t,M=>{let D=r(M);if(!D)return;let[P,G]=D;n.dispatchEvent(new CustomEvent(P,{detail:G}))}),numSubscribers:0}),i.numSubscribers++;let _=o.on(d,g,y),I=!0;function N(){I&&(I=!1,y?.signal.removeEventListener("abort",N),i.numSubscribers--,i.numSubscribers===0&&(i.dispose(),i=void 0),_())}return y?.signal.addEventListener("abort",N),N}}}function wgt(e){return new Proxy(e.api,{defineProperty(){return!1},deleteProperty(){return!1},get(t,r,i){if(r!=="then")return function(...n){let o=r.toString(),d=Reflect.get(t,o,i);if(!d)throw new z3(vbe,{notificationName:o});let g=d(...n);return yjr(e.transport,g)}}})}function yjr(e,t){return{async subscribe({abortSignal:r}){let i=await e({signal:r,...t});return Sgt({abortSignal:r,dataChannelName:"notification",dataPublisher:i,errorChannelName:"error"})}}}function Ogt(e){return new Proxy({},{defineProperty(){return!1},deleteProperty(){return!1},get(...t){let[r,i]=t,n=i.toString();return function(...o){let d={methodName:n,params:o},g=e.requestTransformer?e.requestTransformer(d):d;return{execute(y){return e.planExecutor({...y,request:g})},request:g}}}})}function Ngt(e,t){return Object.freeze({...e,on(r,i,n){return r!=="message"?e.on(r,i,n):e.on("message",o=>i(t(o)),n)}})}function xgt(e,t){return Object.freeze({...e,send:r=>e.send(t(r))})}var bjr=globalThis.AbortController,Tbe=new WeakMap;function Ejr(e,t){return Tgt(-1,e,t)}function vjr(e,t){Tgt(1,e,t)}function Rjr(e){let t=Tbe.get(e);return t||Tbe.set(e,t={}),t}function Tgt(e,t,r){if(r===void 0)return;let i=Rjr(t);!i[r]&&e>0&&(i[r]=0);let n=e+i[r];return n<=0?delete i[r]:i[r]=n,n}var Cgt=new WeakMap;function Sjr(e,t,r){let i=Cgt.get(e);i||Cgt.set(e,i=new WeakMap);let n=r??e,o=i.get(n);return o||i.set(n,o=Igt(e,"message",d=>{let g=d;if(!("method"in g))return;let y=r?r(g.params.result,t):g.params.result;return[`notification:${g.params.subscription}`,y]})),o}async function Bgt({channel:e,responseTransformer:t,signal:r,subscribeRequest:i,unsubscribeMethodName:n}){let o;e.on("error",()=>{o=void 0,Tbe.delete(e)},{signal:r});let d=new Promise((N,T)=>{function M(){if(Ejr(e,o)===0){let D=lF({methodName:n,params:[o]});o=void 0,e.send(D).catch(()=>{})}T(this.reason)}r.aborted?M.call(r):r.addEventListener("abort",M)}),g=lF(i);await e.send(g);let y=new Promise((N,T)=>{let M=new bjr;r.addEventListener("abort",M.abort.bind(M));let D={signal:M.signal};e.on("error",P=>{M.abort(),T(P)},D),e.on("message",P=>{P&&typeof P=="object"&&"id"in P&&P.id===g.id&&(M.abort(),"error"in P?T(Ibe(P.error)):N(P.result))},D)});if(o=await e1t([d,y]),o==null)throw new z3(Rbe);vjr(e,o);let _=Sjr(e,i,t),I=`notification:${o}`;return{on(N,T,M){switch(N){case"notification":return _.on(I,T,M);case"error":return e.on("error",T,M);default:throw new z3(Sbe,{channelName:N,supportedChannelNames:["notification","error"]})}}}}function Ijr(e){let t=Uj(e),r=P1t({allowedNumericKeyPaths:Cjr()});return Ogt({planExecutor({request:i,...n}){return Bgt({...n,responseTransformer:r,subscribeRequest:{...i,methodName:i.methodName.replace(/Notifications$/,"Subscribe")},unsubscribeMethodName:i.methodName.replace(/Notifications$/,"Unsubscribe")})},requestTransformer:t})}function Mgt(e){return Ijr(e)}var Bbe;function Cjr(){return Bbe||(Bbe={accountNotifications:J3.map(e=>["value",...e]),blockNotifications:[["value","block","transactions",oi,"meta","preTokenBalances",oi,"accountIndex"],["value","block","transactions",oi,"meta","preTokenBalances",oi,"uiTokenAmount","decimals"],["value","block","transactions",oi,"meta","postTokenBalances",oi,"accountIndex"],["value","block","transactions",oi,"meta","postTokenBalances",oi,"uiTokenAmount","decimals"],["value","block","transactions",oi,"meta","rewards",oi,"commission"],["value","block","transactions",oi,"meta","innerInstructions",oi,"index"],["value","block","transactions",oi,"meta","innerInstructions",oi,"instructions",oi,"programIdIndex"],["value","block","transactions",oi,"meta","innerInstructions",oi,"instructions",oi,"accounts",oi],["value","block","transactions",oi,"transaction","message","addressTableLookups",oi,"writableIndexes",oi],["value","block","transactions",oi,"transaction","message","addressTableLookups",oi,"readonlyIndexes",oi],["value","block","transactions",oi,"transaction","message","instructions",oi,"programIdIndex"],["value","block","transactions",oi,"transaction","message","instructions",oi,"accounts",oi],["value","block","transactions",oi,"transaction","message","header","numReadonlySignedAccounts"],["value","block","transactions",oi,"transaction","message","header","numReadonlyUnsignedAccounts"],["value","block","transactions",oi,"transaction","message","header","numRequiredSignatures"],["value","block","rewards",oi,"commission"]],programNotifications:J3.flatMap(e=>[["value",oi,"account",...e],[oi,"account",...e]])}),Bbe}J();K();z();var wjr=1,Ojr=2,Njr=3,xjr=4,Tjr=5,Bjr=6,Mjr=7,Djr=8,kjr=9,Pjr=10,Ljr=-32700,Ujr=-32603,Fjr=-32602,Qjr=-32601,Hjr=-32600,Gjr=-32019,qjr=-32018,Vjr=-32017,Jjr=-32016,zjr=-32015,Kjr=-32014,$jr=-32013,Yjr=-32012,Wjr=-32011,Xjr=-32010,Zjr=-32009,jjr=-32008,een=-32007,ten=-32006,ren=-32005,nen=-32004,ien=-32003,oen=-32002,aen=-32001,sen=28e5,cen=2800001,uen=2800002,den=2800003,fen=2800004,len=2800005,hen=2800006,Aen=2800007,pen=2800008,gen=2800009,_en=2800010,men=2800011,yen=323e4,ben=32300001,Een=3230002,ven=3230003,Ren=3230004,Sen=361e4,Ien=3610001,Cen=3610002,wen=3610003,Oen=3610004,Nen=3610005,xen=3610006,Ten=3610007,Ben=3611e3,Men=3704e3,Den=3704001,ken=3704002,Pen=3704003,Len=3704004,Uen=4128e3,Fen=4128001,Qen=4128002,Hen=4615e3,Gen=4615001,qen=4615002,Ven=4615003,Jen=4615004,zen=4615005,Ken=4615006,$en=4615007,Yen=4615008,Wen=4615009,Xen=4615010,Zen=4615011,jen=4615012,etn=4615013,ttn=4615014,rtn=4615015,ntn=4615016,itn=4615017,otn=4615018,atn=4615019,stn=4615020,ctn=4615021,utn=4615022,dtn=4615023,ftn=4615024,ltn=4615025,htn=4615026,Atn=4615027,ptn=4615028,gtn=4615029,_tn=4615030,mtn=4615031,ytn=4615032,btn=4615033,Etn=4615034,vtn=4615035,Rtn=4615036,Stn=4615037,Itn=4615038,Ctn=4615039,wtn=4615040,Otn=4615041,Ntn=4615042,xtn=4615043,Ttn=4615044,Btn=4615045,Mtn=4615046,Dtn=4615047,ktn=4615048,Ptn=4615049,Ltn=4615050,Utn=4615051,Ftn=4615052,Qtn=4615053,Htn=4615054,Gtn=5508e3,qtn=5508001,Vtn=5508002,Jtn=5508003,ztn=5508004,Ktn=5508005,$tn=5508006,Ytn=5508007,Wtn=5508008,Xtn=5508009,Ztn=5508010,jtn=5508011,ern=5663e3,trn=5663001,rrn=5663002,nrn=5663003,irn=5663004,orn=5663005,arn=5663006,srn=5663007,crn=5663008,urn=5663009,drn=5663010,frn=5663011,lrn=5663012,hrn=5663013,Arn=5663014,prn=5663015,grn=5663016,_rn=5663017,mrn=5663018,yrn=5663019,brn=5663020,Ern=5663021,vrn=5663022,Rrn=705e4,Srn=7050001,Irn=7050002,Crn=7050003,wrn=7050004,Orn=7050005,Nrn=7050006,xrn=7050007,Trn=7050008,Brn=7050009,Mrn=7050010,Drn=7050011,krn=7050012,Prn=7050013,Lrn=7050014,Urn=7050015,Frn=7050016,Qrn=7050017,Hrn=7050018,Grn=7050019,qrn=7050020,Vrn=7050021,Jrn=7050022,zrn=7050023,Krn=7050024,$rn=7050025,Yrn=7050026,Wrn=7050027,Xrn=7050028,Zrn=7050029,jrn=7050030,enn=7050031,tnn=7050032,rnn=7050033,nnn=7050034,inn=7050035,onn=7050036,ann=7618e3,snn=7618001,cnn=7618002,unn=7618003,dnn=8078e3,fnn=8078001,lnn=8078002,hnn=8078003,Ann=8078004,pnn=8078005,gnn=8078006,_nn=8078007,mnn=8078008,ynn=8078009,bnn=8078010,Enn=8078011,vnn=8078012,Rnn=8078013,Snn=8078014,Inn=8078015,Cnn=8078016,wnn=8078017,Onn=8078018,Nnn=8078019,xnn=8078020,Tnn=8078021,Bnn=8078022,Mnn=8078023,Mbe=81e5,Dnn=8100001,knn=8100002,Pnn=8100003,Lnn=819e4,Unn=8190001,Fnn=8190002,Dbe=8190003,Qnn=8190004,Hnn=99e5,Gnn=9900001,qnn=9900002,Vnn=9900003,Jnn=9900004,znn=9900005,Knn=9900006;function Dgt(e){return Array.isArray(e)?"%5B"+e.map(Dgt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function $nn([e,t]){return`${e}=${Dgt(t)}`}function Ynn(e){let t=Object.entries(e).map($nn).join("&");return btoa(t)}var uso={[yen]:"Account not found at address: $address",[Ren]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[ven]:"Expected decoded account at address: $address",[Een]:"Failed to decode account data at address: $address",[ben]:"Accounts not found at addresses: $addresses",[gen]:"Unable to find a viable program address bump seed.",[uen]:"$putativeAddress is not a base58-encoded address.",[sen]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[den]:"The `CryptoKey` must be an `Ed25519` public key.",[men]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[pen]:"Invalid seeds; point must fall off the Ed25519 curve.",[fen]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[hen]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[Aen]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[len]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[_en]:"Program address cannot end with PDA marker.",[cen]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[xjr]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[wjr]:"The network has progressed past the last block for which this transaction could have been committed.",[dnn]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Bnn]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[xnn]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[pnn]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[gnn]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[Ann]:"Encoder and decoder must either both be fixed-size or variable-size.",[mnn]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[lnn]:"Expected a fixed-size codec, got a variable-size one.",[Rnn]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[hnn]:"Expected a variable-size codec, got a fixed-size one.",[Nnn]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[fnn]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[Onn]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[ynn]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[bnn]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Inn]:"Invalid literal union variant. Expected one of [$variants], got $value.",[_nn]:"Expected [$codecDescription] to have $expected items, got $actual.",[vnn]:"Invalid value $value for base $base with alphabet $alphabet.",[Cnn]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[Enn]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[Snn]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[Tnn]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[wnn]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[Mnn]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[Ben]:"No random values implementation could be found.",[Wen]:"instruction requires an uninitialized account",[dtn]:"instruction tries to borrow reference for an account which is already borrowed",[ftn]:"instruction left account with an outstanding borrowed reference",[ctn]:"program other than the account's owner changed the size of the account data",[zen]:"account data too small for instruction",[utn]:"instruction expected an executable account",[Mtn]:"An account does not have enough lamports to be rent-exempt",[ktn]:"Program arithmetic overflowed",[Btn]:"Failed to serialize or deserialize account data: $encodedData",[Htn]:"Builtin programs must consume compute units",[ytn]:"Cross-program invocation call depth too deep",[Itn]:"Computational budget exceeded",[htn]:"custom program error: #$code",[itn]:"instruction contains duplicate accounts",[ltn]:"instruction modifications of multiply-passed account differ",[_tn]:"executable accounts must be rent exempt",[ptn]:"instruction changed executable accounts data",[gtn]:"instruction changed the balance of an executable account",[otn]:"instruction changed executable bit of an account",[ttn]:"instruction modified data of an account it does not own",[etn]:"instruction spent from the balance of an account it does not own",[Gen]:"generic instruction error",[Ltn]:"Provided owner is not allowed",[xtn]:"Account is immutable",[Ttn]:"Incorrect authority provided",[$en]:"incorrect program id for instruction",[Ken]:"insufficient funds for instruction",[Jen]:"invalid account data for instruction",[Dtn]:"Invalid account owner",[qen]:"invalid program argument",[Atn]:"program returned invalid error code",[Ven]:"invalid instruction data",[Stn]:"Failed to reallocate account data",[Rtn]:"Provided seeds do not result in a valid address",[Utn]:"Accounts data allocations exceeded the maximum allowed per transaction",[Ftn]:"Max accounts exceeded",[Qtn]:"Max instruction trace length exceeded",[vtn]:"Length of the seed is too long for address generation",[btn]:"An account required by the instruction is missing",[Yen]:"missing required signature for instruction",[jen]:"instruction illegally modified the program id of an account",[stn]:"insufficient account keys for instruction",[Ctn]:"Cross-program invocation with unauthorized signer or writable account",[wtn]:"Failed to create program execution environment",[Ntn]:"Program failed to compile",[Otn]:"Program failed to complete",[ntn]:"instruction modified data of a read-only account",[rtn]:"instruction changed the balance of a read-only account",[Etn]:"Cross-program invocation reentrancy not allowed for this instruction",[atn]:"instruction modified rent epoch of an account",[Zen]:"sum of account balances before and after instruction do not match",[Xen]:"instruction requires an initialized account",[Hen]:"",[mtn]:"Unsupported program id",[Ptn]:"Unsupported sysvar",[znn]:"Invalid instruction plan kind: $kind.",[cnn]:"The provided instruction plan is empty.",[unn]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[ann]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[Knn]:"Invalid transaction plan kind: $kind.",[snn]:"No more instructions to pack; the message packer has completed the instruction plan.",[Uen]:"The instruction does not have any accounts.",[Fen]:"The instruction does not have any data.",[Qen]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[Tjr]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Ojr]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[qnn]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Jnn]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Gnn]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Hnn]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Vnn]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Ujr]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[Fjr]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[Hjr]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Qjr]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[Ljr]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[Yjr]:"$__serverMessage",[aen]:"$__serverMessage",[nen]:"$__serverMessage",[Kjr]:"$__serverMessage",[Vjr]:"Epoch rewards period still active at slot $slot",[Xjr]:"$__serverMessage",[Zjr]:"$__serverMessage",[Gjr]:"Failed to query long-term storage; please try again",[Jjr]:"Minimum context slot has not been reached",[ren]:"Node is unhealthy; behind by $numSlotsBehind slots",[jjr]:"No snapshot",[oen]:"Transaction simulation failed",[qjr]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[een]:"$__serverMessage",[Wjr]:"Transaction history is not available from this node",[ten]:"$__serverMessage",[$jr]:"Transaction signature length mismatch",[ien]:"Transaction signature verification failure",[zjr]:"$__serverMessage",[Men]:"Key pair bytes must be of length 64, got $byteLength.",[Den]:"Expected private key bytes with length 32. Actual length: $actualLength.",[ken]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[Len]:"The provided private key does not match the provided public key.",[Pen]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Bjr]:"Lamports value must be in the range [0, 2e64-1]",[Mjr]:"`$value` cannot be parsed as a `BigInt`",[Pjr]:"$message",[Djr]:"`$value` cannot be parsed as a `Number`",[Njr]:"No nonce account could be found at address `$nonceAccountAddress`",[Lnn]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Fnn]:"WebSocket was closed before payload could be added to the send buffer",[Dbe]:"WebSocket connection closed",[Qnn]:"WebSocket failed to connect",[Unn]:"Failed to obtain a subscription id from the server",[Pnn]:"Could not find an API plan for RPC method: `$method`",[Mbe]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[knn]:"HTTP error ($statusCode): $message",[Dnn]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Gtn]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[qtn]:"The provided value does not implement the `KeyPairSigner` interface",[Jtn]:"The provided value does not implement the `MessageModifyingSigner` interface",[ztn]:"The provided value does not implement the `MessagePartialSigner` interface",[Vtn]:"The provided value does not implement any of the `MessageSigner` interfaces",[$tn]:"The provided value does not implement the `TransactionModifyingSigner` interface",[Ytn]:"The provided value does not implement the `TransactionPartialSigner` interface",[Wtn]:"The provided value does not implement the `TransactionSendingSigner` interface",[Ktn]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Xtn]:"More than one `TransactionSendingSigner` was identified.",[Ztn]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[jtn]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[Ten]:"Cannot export a non-extractable key.",[Ien]:"No digest implementation could be found.",[Sen]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Cen]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[wen]:"No signature verification implementation could be found.",[Oen]:"No key generation implementation could be found.",[Nen]:"No signing implementation could be found.",[xen]:"No key export implementation could be found.",[kjr]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[Frn]:"Transaction processing left an account with an outstanding borrowed reference",[Srn]:"Account in use",[Irn]:"Account loaded twice",[Crn]:"Attempt to debit an account but found no record of a prior credit.",[zrn]:"Transaction loads an address table account that doesn't exist",[xrn]:"This transaction has already been processed",[Trn]:"Blockhash not found",[Brn]:"Loader call chain is too deep",[Urn]:"Transactions are currently disabled due to cluster maintenance",[jrn]:"Transaction contains a duplicate instruction ($index) that is not allowed",[Orn]:"Insufficient funds for fee",[enn]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[Nrn]:"This account may not be used to pay transaction fees",[Drn]:"Transaction contains an invalid account reference",[$rn]:"Transaction loads an address table account with invalid data",[Yrn]:"Transaction address table lookup uses an invalid index",[Krn]:"Transaction loads an address table account with an invalid owner",[rnn]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[Prn]:"This program may not be used for executing instructions",[Wrn]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[Grn]:"Transaction loads a writable account that cannot be written",[tnn]:"Transaction exceeded max loaded accounts data size cap",[Mrn]:"Transaction requires a fee but has no signature present",[wrn]:"Attempt to load a program that does not exist",[inn]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[nnn]:"ResanitizationNeeded",[Lrn]:"Transaction failed to sanitize accounts offsets correctly",[krn]:"Transaction did not pass signature verification",[Jrn]:"Transaction locked too many accounts",[onn]:"Sum of account balances before and after transaction do not match",[Rrn]:"The transaction failed with the error `$errorName`",[Hrn]:"Transaction version is unsupported",[Vrn]:"Transaction would exceed account data limit within the block",[Zrn]:"Transaction would exceed total account data limit",[qrn]:"Transaction would exceed max account limit within the block",[Qrn]:"Transaction would exceed max Block Cost Limit",[Xrn]:"Transaction would exceed max Vote Cost Limit",[prn]:"Attempted to sign a transaction with an address that is not a signer for it",[drn]:"Transaction is missing an address at index: $index.",[grn]:"Transaction has no expected signers therefore it cannot be encoded",[brn]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[rrn]:"Transaction does not have a blockhash lifetime",[nrn]:"Transaction is not a durable nonce transaction",[orn]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[arn]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[crn]:"No fee payer set in CompiledTransaction",[srn]:"Could not find program address at index $index",[mrn]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[yrn]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[frn]:"Transaction is missing a fee payer.",[lrn]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[Arn]:"Transaction first instruction is not advance nonce account instruction.",[hrn]:"Transaction with no instructions cannot be durable nonce transaction.",[ern]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[trn]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[_rn]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[urn]:"Transaction is missing signatures for addresses: $addresses.",[irn]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Ern]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[vrn]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function Wnn(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${Ynn(t)}'`),`${r}\``}}function kgt(e,t){return e instanceof Error&&e.name==="SolanaError"?t!==void 0?e.context.__code===t:!0:!1}var Pgt=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=Wnn(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Lgt(...e){"captureStackTrace"in Error&&typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(...e)}J();K();z();J();K();z();var Xnn=1,Znn=2,jnn=3,ein=4,tin=5,rin=6,nin=7,iin=8,oin=9,ain=10,sin=-32700,cin=-32603,uin=-32602,din=-32601,fin=-32600,lin=-32019,hin=-32018,Ain=-32017,pin=-32016,gin=-32015,_in=-32014,min=-32013,yin=-32012,bin=-32011,Ein=-32010,vin=-32009,Rin=-32008,Sin=-32007,Iin=-32006,Cin=-32005,win=-32004,Oin=-32003,Nin=-32002,xin=-32001,Tin=28e5,Bin=2800001,Min=2800002,Din=2800003,kin=2800004,Pin=2800005,Lin=2800006,Uin=2800007,Fin=2800008,Qin=2800009,Hin=2800010,Gin=2800011,qin=323e4,Vin=32300001,Jin=3230002,zin=3230003,Kin=3230004,$in=361e4,Yin=3610001,Win=3610002,Xin=3610003,Zin=3610004,jin=3610005,eon=3610006,ton=3610007,ron=3611e3,non=3704e3,ion=3704001,oon=3704002,aon=3704003,son=3704004,con=4128e3,uon=4128001,don=4128002,fon=4615e3,lon=4615001,hon=4615002,Aon=4615003,pon=4615004,gon=4615005,_on=4615006,mon=4615007,yon=4615008,bon=4615009,Eon=4615010,von=4615011,Ron=4615012,Son=4615013,Ion=4615014,Con=4615015,won=4615016,Oon=4615017,Non=4615018,xon=4615019,Ton=4615020,Bon=4615021,Mon=4615022,Don=4615023,kon=4615024,Pon=4615025,Lon=4615026,Uon=4615027,Fon=4615028,Qon=4615029,Hon=4615030,Gon=4615031,qon=4615032,Von=4615033,Jon=4615034,zon=4615035,Kon=4615036,$on=4615037,Yon=4615038,Won=4615039,Xon=4615040,Zon=4615041,jon=4615042,ean=4615043,tan=4615044,ran=4615045,nan=4615046,ian=4615047,oan=4615048,aan=4615049,san=4615050,can=4615051,uan=4615052,dan=4615053,fan=4615054,lan=5508e3,han=5508001,Aan=5508002,pan=5508003,gan=5508004,_an=5508005,man=5508006,yan=5508007,ban=5508008,Ean=5508009,van=5508010,Ran=5508011,San=5663e3,Ian=5663001,Can=5663002,wan=5663003,Oan=5663004,Nan=5663005,xan=5663006,Tan=5663007,Ban=5663008,Man=5663009,Dan=5663010,kan=5663011,Pan=5663012,Lan=5663013,Uan=5663014,Fan=5663015,Qan=5663016,Han=5663017,Gan=5663018,qan=5663019,Van=5663020,Jan=5663021,zan=5663022,Kan=705e4,$an=7050001,Yan=7050002,Wan=7050003,Xan=7050004,Zan=7050005,jan=7050006,esn=7050007,tsn=7050008,rsn=7050009,nsn=7050010,isn=7050011,osn=7050012,asn=7050013,ssn=7050014,csn=7050015,usn=7050016,dsn=7050017,fsn=7050018,lsn=7050019,hsn=7050020,Asn=7050021,psn=7050022,gsn=7050023,_sn=7050024,msn=7050025,ysn=7050026,bsn=7050027,Esn=7050028,vsn=7050029,Rsn=7050030,Ssn=7050031,Isn=7050032,Csn=7050033,wsn=7050034,Osn=7050035,Nsn=7050036,xsn=7618e3,Tsn=7618001,Bsn=7618002,Msn=7618003,Dsn=8078e3,ksn=8078001,Psn=8078002,Lsn=8078003,Usn=8078004,Fsn=8078005,Qsn=8078006,Hsn=8078007,Gsn=8078008,qsn=8078009,Vsn=8078010,Jsn=8078011,zsn=8078012,Ksn=8078013,$sn=8078014,Ysn=8078015,Wsn=8078016,Xsn=8078017,Zsn=8078018,jsn=8078019,ecn=8078020,tcn=8078021,rcn=8078022,ncn=8078023,icn=81e5,ocn=8100001,acn=8100002,scn=8100003,ccn=819e4,ucn=8190001,kbe=8190002,Gj=8190003,Pbe=8190004,dcn=99e5,fcn=9900001,lcn=9900002,hcn=9900003,Acn=9900004,pcn=9900005,gcn=9900006;function Ugt(e){return Array.isArray(e)?"%5B"+e.map(Ugt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function _cn([e,t]){return`${e}=${Ugt(t)}`}function mcn(e){let t=Object.entries(e).map(_cn).join("&");return btoa(t)}var pso={[qin]:"Account not found at address: $address",[Kin]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[zin]:"Expected decoded account at address: $address",[Jin]:"Failed to decode account data at address: $address",[Vin]:"Accounts not found at addresses: $addresses",[Qin]:"Unable to find a viable program address bump seed.",[Min]:"$putativeAddress is not a base58-encoded address.",[Tin]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[Din]:"The `CryptoKey` must be an `Ed25519` public key.",[Gin]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[Fin]:"Invalid seeds; point must fall off the Ed25519 curve.",[kin]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[Lin]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[Uin]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[Pin]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[Hin]:"Program address cannot end with PDA marker.",[Bin]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[ein]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[Xnn]:"The network has progressed past the last block for which this transaction could have been committed.",[Dsn]:"Codec [$codecDescription] cannot decode empty byte arrays.",[rcn]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[ecn]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[Fsn]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[Qsn]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[Usn]:"Encoder and decoder must either both be fixed-size or variable-size.",[Gsn]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[Psn]:"Expected a fixed-size codec, got a variable-size one.",[Ksn]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[Lsn]:"Expected a variable-size codec, got a fixed-size one.",[jsn]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[ksn]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[Zsn]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[qsn]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[Vsn]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Ysn]:"Invalid literal union variant. Expected one of [$variants], got $value.",[Hsn]:"Expected [$codecDescription] to have $expected items, got $actual.",[zsn]:"Invalid value $value for base $base with alphabet $alphabet.",[Wsn]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[Jsn]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[$sn]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[tcn]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Xsn]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[ncn]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[ron]:"No random values implementation could be found.",[bon]:"instruction requires an uninitialized account",[Don]:"instruction tries to borrow reference for an account which is already borrowed",[kon]:"instruction left account with an outstanding borrowed reference",[Bon]:"program other than the account's owner changed the size of the account data",[gon]:"account data too small for instruction",[Mon]:"instruction expected an executable account",[nan]:"An account does not have enough lamports to be rent-exempt",[oan]:"Program arithmetic overflowed",[ran]:"Failed to serialize or deserialize account data: $encodedData",[fan]:"Builtin programs must consume compute units",[qon]:"Cross-program invocation call depth too deep",[Yon]:"Computational budget exceeded",[Lon]:"custom program error: #$code",[Oon]:"instruction contains duplicate accounts",[Pon]:"instruction modifications of multiply-passed account differ",[Hon]:"executable accounts must be rent exempt",[Fon]:"instruction changed executable accounts data",[Qon]:"instruction changed the balance of an executable account",[Non]:"instruction changed executable bit of an account",[Ion]:"instruction modified data of an account it does not own",[Son]:"instruction spent from the balance of an account it does not own",[lon]:"generic instruction error",[san]:"Provided owner is not allowed",[ean]:"Account is immutable",[tan]:"Incorrect authority provided",[mon]:"incorrect program id for instruction",[_on]:"insufficient funds for instruction",[pon]:"invalid account data for instruction",[ian]:"Invalid account owner",[hon]:"invalid program argument",[Uon]:"program returned invalid error code",[Aon]:"invalid instruction data",[$on]:"Failed to reallocate account data",[Kon]:"Provided seeds do not result in a valid address",[can]:"Accounts data allocations exceeded the maximum allowed per transaction",[uan]:"Max accounts exceeded",[dan]:"Max instruction trace length exceeded",[zon]:"Length of the seed is too long for address generation",[Von]:"An account required by the instruction is missing",[yon]:"missing required signature for instruction",[Ron]:"instruction illegally modified the program id of an account",[Ton]:"insufficient account keys for instruction",[Won]:"Cross-program invocation with unauthorized signer or writable account",[Xon]:"Failed to create program execution environment",[jon]:"Program failed to compile",[Zon]:"Program failed to complete",[won]:"instruction modified data of a read-only account",[Con]:"instruction changed the balance of a read-only account",[Jon]:"Cross-program invocation reentrancy not allowed for this instruction",[xon]:"instruction modified rent epoch of an account",[von]:"sum of account balances before and after instruction do not match",[Eon]:"instruction requires an initialized account",[fon]:"",[Gon]:"Unsupported program id",[aan]:"Unsupported sysvar",[pcn]:"Invalid instruction plan kind: $kind.",[Bsn]:"The provided instruction plan is empty.",[Msn]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[xsn]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[gcn]:"Invalid transaction plan kind: $kind.",[Tsn]:"No more instructions to pack; the message packer has completed the instruction plan.",[con]:"The instruction does not have any accounts.",[uon]:"The instruction does not have any data.",[don]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[tin]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[Znn]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[lcn]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Acn]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[fcn]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[dcn]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[hcn]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[cin]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[uin]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[fin]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[din]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[sin]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[yin]:"$__serverMessage",[xin]:"$__serverMessage",[win]:"$__serverMessage",[_in]:"$__serverMessage",[Ain]:"Epoch rewards period still active at slot $slot",[Ein]:"$__serverMessage",[vin]:"$__serverMessage",[lin]:"Failed to query long-term storage; please try again",[pin]:"Minimum context slot has not been reached",[Cin]:"Node is unhealthy; behind by $numSlotsBehind slots",[Rin]:"No snapshot",[Nin]:"Transaction simulation failed",[hin]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[Sin]:"$__serverMessage",[bin]:"Transaction history is not available from this node",[Iin]:"$__serverMessage",[min]:"Transaction signature length mismatch",[Oin]:"Transaction signature verification failure",[gin]:"$__serverMessage",[non]:"Key pair bytes must be of length 64, got $byteLength.",[ion]:"Expected private key bytes with length 32. Actual length: $actualLength.",[oon]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[son]:"The provided private key does not match the provided public key.",[aon]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[rin]:"Lamports value must be in the range [0, 2e64-1]",[nin]:"`$value` cannot be parsed as a `BigInt`",[ain]:"$message",[iin]:"`$value` cannot be parsed as a `Number`",[jnn]:"No nonce account could be found at address `$nonceAccountAddress`",[ccn]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[kbe]:"WebSocket was closed before payload could be added to the send buffer",[Gj]:"WebSocket connection closed",[Pbe]:"WebSocket failed to connect",[ucn]:"Failed to obtain a subscription id from the server",[scn]:"Could not find an API plan for RPC method: `$method`",[icn]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[acn]:"HTTP error ($statusCode): $message",[ocn]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[lan]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[han]:"The provided value does not implement the `KeyPairSigner` interface",[pan]:"The provided value does not implement the `MessageModifyingSigner` interface",[gan]:"The provided value does not implement the `MessagePartialSigner` interface",[Aan]:"The provided value does not implement any of the `MessageSigner` interfaces",[man]:"The provided value does not implement the `TransactionModifyingSigner` interface",[yan]:"The provided value does not implement the `TransactionPartialSigner` interface",[ban]:"The provided value does not implement the `TransactionSendingSigner` interface",[_an]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Ean]:"More than one `TransactionSendingSigner` was identified.",[van]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Ran]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[ton]:"Cannot export a non-extractable key.",[Yin]:"No digest implementation could be found.",[$in]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Win]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[Xin]:"No signature verification implementation could be found.",[Zin]:"No key generation implementation could be found.",[jin]:"No signing implementation could be found.",[eon]:"No key export implementation could be found.",[oin]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[usn]:"Transaction processing left an account with an outstanding borrowed reference",[$an]:"Account in use",[Yan]:"Account loaded twice",[Wan]:"Attempt to debit an account but found no record of a prior credit.",[gsn]:"Transaction loads an address table account that doesn't exist",[esn]:"This transaction has already been processed",[tsn]:"Blockhash not found",[rsn]:"Loader call chain is too deep",[csn]:"Transactions are currently disabled due to cluster maintenance",[Rsn]:"Transaction contains a duplicate instruction ($index) that is not allowed",[Zan]:"Insufficient funds for fee",[Ssn]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[jan]:"This account may not be used to pay transaction fees",[isn]:"Transaction contains an invalid account reference",[msn]:"Transaction loads an address table account with invalid data",[ysn]:"Transaction address table lookup uses an invalid index",[_sn]:"Transaction loads an address table account with an invalid owner",[Csn]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[asn]:"This program may not be used for executing instructions",[bsn]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[lsn]:"Transaction loads a writable account that cannot be written",[Isn]:"Transaction exceeded max loaded accounts data size cap",[nsn]:"Transaction requires a fee but has no signature present",[Xan]:"Attempt to load a program that does not exist",[Osn]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[wsn]:"ResanitizationNeeded",[ssn]:"Transaction failed to sanitize accounts offsets correctly",[osn]:"Transaction did not pass signature verification",[psn]:"Transaction locked too many accounts",[Nsn]:"Sum of account balances before and after transaction do not match",[Kan]:"The transaction failed with the error `$errorName`",[fsn]:"Transaction version is unsupported",[Asn]:"Transaction would exceed account data limit within the block",[vsn]:"Transaction would exceed total account data limit",[hsn]:"Transaction would exceed max account limit within the block",[dsn]:"Transaction would exceed max Block Cost Limit",[Esn]:"Transaction would exceed max Vote Cost Limit",[Fan]:"Attempted to sign a transaction with an address that is not a signer for it",[Dan]:"Transaction is missing an address at index: $index.",[Qan]:"Transaction has no expected signers therefore it cannot be encoded",[Van]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[Can]:"Transaction does not have a blockhash lifetime",[wan]:"Transaction is not a durable nonce transaction",[Nan]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[xan]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[Ban]:"No fee payer set in CompiledTransaction",[Tan]:"Could not find program address at index $index",[Gan]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[qan]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[kan]:"Transaction is missing a fee payer.",[Pan]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[Uan]:"Transaction first instruction is not advance nonce account instruction.",[Lan]:"Transaction with no instructions cannot be durable nonce transaction.",[San]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[Ian]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[Han]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[Man]:"Transaction is missing signatures for addresses: $addresses.",[Oan]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[Jan]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[zan]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function ycn(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${mcn(t)}'`),`${r}\``}}var AF=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=ycn(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};var bcn=globalThis.EventTarget,pF=globalThis.WebSocket,Fgt=1e3;function Qgt({sendBufferHighWatermark:e,signal:t,url:r}){if(t.aborted)return Promise.reject(t.reason);let i,n=!1,o=new Set;function d(){o.forEach(q=>{q()}),o.clear()}function g(){d(),n||P(t.reason),D.readyState!==pF.CLOSED&&D.readyState!==pF.CLOSING&&D.close(Fgt)}function y(q){d(),i?.onCancel(),t.removeEventListener("abort",g),D.removeEventListener("close",y),D.removeEventListener("error",_),D.removeEventListener("message",I),D.removeEventListener("open",M),!t.aborted&&!(q.wasClean&&q.code===Fgt)&&N.dispatchEvent(new CustomEvent("error",{detail:new AF(Gj,{cause:q})}))}function _(q){if(!t.aborted&&!n){let Y=new AF(Pbe,{errorEvent:q});P(Y),N.dispatchEvent(new CustomEvent("error",{detail:Y}))}}function I(q){t.aborted||N.dispatchEvent(new CustomEvent("message",{detail:q.data}))}let N=new bcn,T=xbe(N);function M(){n=!0,G({...T,async send(q){if(D.readyState!==pF.OPEN)throw new AF(Gj);if(!i&&D.bufferedAmount>e){let Y,ne=new Promise((ce,le)=>{let pe=setInterval(()=>{(D.readyState!==pF.OPEN||!(D.bufferedAmount>e))&&(clearInterval(pe),i=void 0,ce())},16);Y=()=>{i=void 0,clearInterval(pe),le(new AF(kbe))}});i={onCancel:Y,promise:ne}}if(i){if(ArrayBuffer.isView(q)&&!(q instanceof DataView)){let Y=q.constructor;q=new Y(q)}await i.promise}D.send(q)}})}let D=new pF(r);t.addEventListener("abort",g),D.addEventListener("close",y),D.addEventListener("error",_),D.addEventListener("message",I),D.addEventListener("open",M);let P,G;return new Promise((q,Y)=>{P=Y,G=q})}function Hgt(e,t,r){let i="";if(typeof t[0]=="number"){let d=t[0]+1,g=d%10,y=d%100;g==1&&y!=11?i=d+"st":g==2&&y!=12?i=d+"nd":g==3&&y!=13?i=d+"rd":i=d+"th"}else i=`\`${t[0].toString()}\``;let n=t.length>1?t.slice(1).map(d=>typeof d=="number"?`[${d}]`:d).join("."):void 0,o=new Pgt(Mbe,{argumentLabel:i,keyPath:t,methodName:e,optionalPathLabel:n?` at path \`${n}\``:"",value:r,...n!==void 0?{path:n}:void 0});return Lgt(o,Hgt),o}var Ecn={defaultCommitment:"confirmed",onIntegerOverflow(e,t,r){throw Hgt(e.methodName,t,r)}},Lbe=globalThis.AbortController,vcn={jsonrpc:"2.0",method:"ping"};function Rcn({abortSignal:e,channel:t,intervalMs:r}){let i;function n(){t.send(vcn).catch(g=>{kgt(g,Dbe)&&d.abort()})}function o(){clearInterval(i),i=setInterval(n,r)}let d=new Lbe;return d.signal.addEventListener("abort",()=>{clearInterval(i)}),e.addEventListener("abort",()=>{d.abort()}),t.on("error",()=>{d.abort()},{signal:d.signal}),t.on("message",o,{signal:d.signal}),globalThis.navigator.onLine&&o(),globalThis.addEventListener("offline",function(){clearInterval(i)},{signal:d.signal}),globalThis.addEventListener("online",function(){n(),o()},{signal:d.signal}),{...t,send(...g){return d.signal.aborted||o(),t.send(...g)}}}function Scn(){return{entries:[],freeChannelIndex:-1}}function Icn(e,{maxSubscriptionsPerChannel:t,minChannels:r}){let i=Scn();function n(){if(i.entries.length<r){i.freeChannelIndex=-1;return}let o;for(let d=0;d<i.entries.length;d++){let g=(i.freeChannelIndex+d+2)%i.entries.length,y=i.entries[g];y.subscriptionCount<t&&(!o||o.subscriptionCount>=y.subscriptionCount)&&(o={poolIndex:g,subscriptionCount:y.subscriptionCount})}i.freeChannelIndex=o?.poolIndex??-1}return function({abortSignal:d}){let g;function y(){let _=i.entries.findIndex(I=>I===g);i.entries.splice(_,1),g.dispose(),n()}if(i.freeChannelIndex===-1){let _=new Lbe,I=e({abortSignal:_.signal});I.then(N=>{N.on("error",y,{signal:_.signal})}).catch(y),g={channel:I,dispose(){_.abort()},subscriptionCount:0},i.entries.push(g)}else g=i.entries[i.freeChannelIndex];return g.subscriptionCount++,d.addEventListener("abort",function(){g.subscriptionCount--,g.subscriptionCount===0?y():i.freeChannelIndex!==-1&&(i.freeChannelIndex--,n())}),n(),g.channel}}function Ccn(e){return n1(e,t=>Ngt(t,Dj),t=>xgt(t,kj))}function wcn(e){return Ocn({...e,jsonSerializer:Ccn})}function Ocn(e){if(/^wss?:/i.test(e.url)===!1){let n=e.url.match(/^([^:]+):/);throw new DOMException(n?`Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${n[1]}:' is not allowed.`:`Failed to construct 'WebSocket': The URL '${e.url}' is invalid.`)}let{intervalMs:t,...r}=e;return Icn(({abortSignal:n})=>Qgt({...r,sendBufferHighWatermark:e.sendBufferHighWatermark??131072,signal:n}).then(e.jsonSerializer).then(o=>Rcn({abortSignal:n,channel:o,intervalMs:t??5e3})),{maxSubscriptionsPerChannel:e.maxSubscriptionsPerChannel??100,minChannels:e.minChannels??1})}function Ncn(e){let t=new Map;return function(i){let{request:n,signal:o}=i,d=Hj([n.methodName,n.params]),g=t.get(d);if(!g){let y=new Lbe,_=e({...i,signal:y.signal});_.then(I=>{I.on("error",()=>{t.delete(d),y.abort()},{signal:y.signal})}).catch(()=>{}),t.set(d,g={abortController:y,dataPublisherPromise:_,numSubscribers:0})}return g.numSubscribers++,o.addEventListener("abort",()=>{g.numSubscribers--,g.numSubscribers===0&&queueMicrotask(()=>{g.numSubscribers===0&&(t.delete(d),g.abortController.abort())})},{signal:g.abortController.signal}),g.dataPublisherPromise}}function xcn({createChannel:e}){return n1(Tcn(e),t=>Ncn(t))}function Tcn(e){return async({execute:t,signal:r})=>{let i=await e({abortSignal:r});return await t({channel:i,signal:r})}}function Bcn(e,t){let r=xcn({createChannel:wcn({...t,url:e})});return Mcn(r)}function Ube(e,t){return Bcn(e,t)}function Mcn(e){return wgt({api:Mgt(Ecn),transport:e})}J();K();z();J();K();z();var Dcn=1,kcn=2,Pcn=3,Lcn=4,Ucn=5,Fcn=6,Qcn=7,Hcn=8,Gcn=9,qcn=10,Vcn=-32700,Jcn=-32603,zcn=-32602,Kcn=-32601,$cn=-32600,Ycn=-32019,Wcn=-32018,Xcn=-32017,Zcn=-32016,jcn=-32015,eun=-32014,tun=-32013,run=-32012,nun=-32011,iun=-32010,oun=-32009,aun=-32008,sun=-32007,cun=-32006,uun=-32005,dun=-32004,fun=-32003,lun=-32002,hun=-32001,Aun=28e5,pun=2800001,gun=2800002,_un=2800003,mun=2800004,yun=2800005,bun=2800006,Eun=2800007,vun=2800008,Run=2800009,Sun=2800010,Iun=2800011,Cun=323e4,wun=32300001,Oun=3230002,Nun=3230003,xun=3230004,Tun=361e4,Bun=3610001,Mun=3610002,Dun=3610003,kun=3610004,Pun=3610005,Lun=3610006,Uun=3610007,Fun=3611e3,Qun=3704e3,Hun=3704001,Gun=3704002,qun=3704003,Vun=3704004,Jun=4128e3,zun=4128001,Kun=4128002,$un=4615e3,Yun=4615001,Wun=4615002,Xun=4615003,Zun=4615004,jun=4615005,e0n=4615006,t0n=4615007,r0n=4615008,n0n=4615009,i0n=4615010,o0n=4615011,a0n=4615012,s0n=4615013,c0n=4615014,u0n=4615015,d0n=4615016,f0n=4615017,l0n=4615018,h0n=4615019,A0n=4615020,p0n=4615021,g0n=4615022,_0n=4615023,m0n=4615024,y0n=4615025,b0n=4615026,E0n=4615027,v0n=4615028,R0n=4615029,S0n=4615030,I0n=4615031,C0n=4615032,w0n=4615033,O0n=4615034,N0n=4615035,x0n=4615036,T0n=4615037,B0n=4615038,M0n=4615039,D0n=4615040,k0n=4615041,P0n=4615042,L0n=4615043,U0n=4615044,F0n=4615045,Q0n=4615046,H0n=4615047,G0n=4615048,q0n=4615049,V0n=4615050,J0n=4615051,z0n=4615052,K0n=4615053,$0n=4615054,Fbe=5508e3,Ggt=5508001,qgt=5508002,Vgt=5508003,Jgt=5508004,zgt=5508005,Kgt=5508006,$gt=5508007,Ygt=5508008,Wgt=5508009,Xgt=5508010,Y0n=5508011,W0n=5663e3,X0n=5663001,Z0n=5663002,j0n=5663003,edn=5663004,tdn=5663005,rdn=5663006,ndn=5663007,idn=5663008,odn=5663009,adn=5663010,sdn=5663011,cdn=5663012,udn=5663013,ddn=5663014,fdn=5663015,ldn=5663016,hdn=5663017,Adn=5663018,pdn=5663019,gdn=5663020,_dn=5663021,mdn=5663022,ydn=705e4,bdn=7050001,Edn=7050002,vdn=7050003,Rdn=7050004,Sdn=7050005,Idn=7050006,Cdn=7050007,wdn=7050008,Odn=7050009,Ndn=7050010,xdn=7050011,Tdn=7050012,Bdn=7050013,Mdn=7050014,Ddn=7050015,kdn=7050016,Pdn=7050017,Ldn=7050018,Udn=7050019,Fdn=7050020,Qdn=7050021,Hdn=7050022,Gdn=7050023,qdn=7050024,Vdn=7050025,Jdn=7050026,zdn=7050027,Kdn=7050028,$dn=7050029,Ydn=7050030,Wdn=7050031,Xdn=7050032,Zdn=7050033,jdn=7050034,efn=7050035,tfn=7050036,rfn=7618e3,nfn=7618001,ifn=7618002,ofn=7618003,afn=8078e3,sfn=8078001,cfn=8078002,ufn=8078003,dfn=8078004,ffn=8078005,lfn=8078006,hfn=8078007,Afn=8078008,pfn=8078009,gfn=8078010,_fn=8078011,mfn=8078012,yfn=8078013,bfn=8078014,Efn=8078015,vfn=8078016,Rfn=8078017,Sfn=8078018,Ifn=8078019,Cfn=8078020,wfn=8078021,Ofn=8078022,Nfn=8078023,xfn=81e5,Tfn=8100001,Bfn=8100002,Mfn=8100003,Dfn=819e4,kfn=8190001,Pfn=8190002,Lfn=8190003,Ufn=8190004,Ffn=99e5,Qfn=9900001,Hfn=9900002,Gfn=9900003,qfn=9900004,Vfn=9900005,Jfn=9900006;function Zgt(e){return Array.isArray(e)?"%5B"+e.map(Zgt).join("%2C%20")+"%5D":typeof e=="bigint"?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function zfn([e,t]){return`${e}=${Zgt(t)}`}function Kfn(e){let t=Object.entries(e).map(zfn).join("&");return btoa(t)}var Qso={[Cun]:"Account not found at address: $address",[xun]:"Not all accounts were decoded. Encoded accounts found at addresses: $addresses.",[Nun]:"Expected decoded account at address: $address",[Oun]:"Failed to decode account data at address: $address",[wun]:"Accounts not found at addresses: $addresses",[Run]:"Unable to find a viable program address bump seed.",[gun]:"$putativeAddress is not a base58-encoded address.",[Aun]:"Expected base58 encoded address to decode to a byte array of length 32. Actual length: $actualLength.",[_un]:"The `CryptoKey` must be an `Ed25519` public key.",[Iun]:"$putativeOffCurveAddress is not a base58-encoded off-curve address.",[vun]:"Invalid seeds; point must fall off the Ed25519 curve.",[mun]:"Expected given program derived address to have the following format: [Address, ProgramDerivedAddressBump].",[bun]:"A maximum of $maxSeeds seeds, including the bump seed, may be supplied when creating an address. Received: $actual.",[Eun]:"The seed at index $index with length $actual exceeds the maximum length of $maxSeedLength bytes.",[yun]:"Expected program derived address bump to be in the range [0, 255], got: $bump.",[Sun]:"Program address cannot end with PDA marker.",[pun]:"Expected base58-encoded address string of length in the range [32, 44]. Actual length: $actualLength.",[Lcn]:"Expected base58-encoded blockash string of length in the range [32, 44]. Actual length: $actualLength.",[Dcn]:"The network has progressed past the last block for which this transaction could have been committed.",[afn]:"Codec [$codecDescription] cannot decode empty byte arrays.",[Ofn]:"Enum codec cannot use lexical values [$stringValues] as discriminators. Either remove all lexical values or set `useValuesAsDiscriminators` to `false`.",[Cfn]:"Sentinel [$hexSentinel] must not be present in encoded bytes [$hexEncodedBytes].",[ffn]:"Encoder and decoder must have the same fixed size, got [$encoderFixedSize] and [$decoderFixedSize].",[lfn]:"Encoder and decoder must have the same max size, got [$encoderMaxSize] and [$decoderMaxSize].",[dfn]:"Encoder and decoder must either both be fixed-size or variable-size.",[Afn]:"Enum discriminator out of range. Expected a number in [$formattedValidDiscriminators], got $discriminator.",[cfn]:"Expected a fixed-size codec, got a variable-size one.",[yfn]:"Codec [$codecDescription] expected a positive byte length, got $bytesLength.",[ufn]:"Expected a variable-size codec, got a fixed-size one.",[Ifn]:"Codec [$codecDescription] expected zero-value [$hexZeroValue] to have the same size as the provided fixed-size item [$expectedSize bytes].",[sfn]:"Codec [$codecDescription] expected $expected bytes, got $bytesLength.",[Sfn]:"Expected byte array constant [$hexConstant] to be present in data [$hexData] at offset [$offset].",[pfn]:"Invalid discriminated union variant. Expected one of [$variants], got $value.",[gfn]:"Invalid enum variant. Expected one of [$stringValues] or a number in [$formattedNumericalValues], got $variant.",[Efn]:"Invalid literal union variant. Expected one of [$variants], got $value.",[hfn]:"Expected [$codecDescription] to have $expected items, got $actual.",[mfn]:"Invalid value $value for base $base with alphabet $alphabet.",[vfn]:"Literal union discriminator out of range. Expected a number between $minRange and $maxRange, got $discriminator.",[_fn]:"Codec [$codecDescription] expected number to be in the range [$min, $max], got $value.",[bfn]:"Codec [$codecDescription] expected offset to be in the range [0, $bytesLength], got $offset.",[wfn]:"Expected sentinel [$hexSentinel] to be present in decoded bytes [$hexDecodedBytes].",[Rfn]:"Union variant out of range. Expected an index between $minRange and $maxRange, got $variant.",[Nfn]:"This decoder expected a byte array of exactly $expectedLength bytes, but $numExcessBytes unexpected excess bytes remained after decoding. Are you sure that you have chosen the correct decoder for this data?",[Fun]:"No random values implementation could be found.",[n0n]:"instruction requires an uninitialized account",[_0n]:"instruction tries to borrow reference for an account which is already borrowed",[m0n]:"instruction left account with an outstanding borrowed reference",[p0n]:"program other than the account's owner changed the size of the account data",[jun]:"account data too small for instruction",[g0n]:"instruction expected an executable account",[Q0n]:"An account does not have enough lamports to be rent-exempt",[G0n]:"Program arithmetic overflowed",[F0n]:"Failed to serialize or deserialize account data: $encodedData",[$0n]:"Builtin programs must consume compute units",[C0n]:"Cross-program invocation call depth too deep",[B0n]:"Computational budget exceeded",[b0n]:"custom program error: #$code",[f0n]:"instruction contains duplicate accounts",[y0n]:"instruction modifications of multiply-passed account differ",[S0n]:"executable accounts must be rent exempt",[v0n]:"instruction changed executable accounts data",[R0n]:"instruction changed the balance of an executable account",[l0n]:"instruction changed executable bit of an account",[c0n]:"instruction modified data of an account it does not own",[s0n]:"instruction spent from the balance of an account it does not own",[Yun]:"generic instruction error",[V0n]:"Provided owner is not allowed",[L0n]:"Account is immutable",[U0n]:"Incorrect authority provided",[t0n]:"incorrect program id for instruction",[e0n]:"insufficient funds for instruction",[Zun]:"invalid account data for instruction",[H0n]:"Invalid account owner",[Wun]:"invalid program argument",[E0n]:"program returned invalid error code",[Xun]:"invalid instruction data",[T0n]:"Failed to reallocate account data",[x0n]:"Provided seeds do not result in a valid address",[J0n]:"Accounts data allocations exceeded the maximum allowed per transaction",[z0n]:"Max accounts exceeded",[K0n]:"Max instruction trace length exceeded",[N0n]:"Length of the seed is too long for address generation",[w0n]:"An account required by the instruction is missing",[r0n]:"missing required signature for instruction",[a0n]:"instruction illegally modified the program id of an account",[A0n]:"insufficient account keys for instruction",[M0n]:"Cross-program invocation with unauthorized signer or writable account",[D0n]:"Failed to create program execution environment",[P0n]:"Program failed to compile",[k0n]:"Program failed to complete",[d0n]:"instruction modified data of a read-only account",[u0n]:"instruction changed the balance of a read-only account",[O0n]:"Cross-program invocation reentrancy not allowed for this instruction",[h0n]:"instruction modified rent epoch of an account",[o0n]:"sum of account balances before and after instruction do not match",[i0n]:"instruction requires an initialized account",[$un]:"",[I0n]:"Unsupported program id",[q0n]:"Unsupported sysvar",[Vfn]:"Invalid instruction plan kind: $kind.",[ifn]:"The provided instruction plan is empty.",[ofn]:"The provided transaction plan failed to execute. See the `transactionPlanResult` attribute and the `cause` error for more details.",[rfn]:"The provided message has insufficient capacity to accommodate the next instruction(s) in this plan. Expected at least $numBytesRequired free byte(s), got $numFreeBytes byte(s).",[Jfn]:"Invalid transaction plan kind: $kind.",[nfn]:"No more instructions to pack; the message packer has completed the instruction plan.",[Jun]:"The instruction does not have any accounts.",[zun]:"The instruction does not have any data.",[Kun]:"Expected instruction to have progress address $expectedProgramAddress, got $actualProgramAddress.",[Ucn]:"Expected base58 encoded blockhash to decode to a byte array of length 32. Actual length: $actualLength.",[kcn]:"The nonce `$expectedNonceValue` is no longer valid. It has advanced to `$actualNonceValue`",[Hfn]:"Invariant violation: Found no abortable iterable cache entry for key `$cacheKey`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[qfn]:"Invariant violation: This data publisher does not publish to the channel named `$channelName`. Supported channels include $supportedChannelNames.",[Qfn]:"Invariant violation: WebSocket message iterator state is corrupt; iterated without first resolving existing message promise. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Ffn]:"Invariant violation: WebSocket message iterator is missing state storage. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Gfn]:"Invariant violation: Switch statement non-exhaustive. Received unexpected value `$unexpectedValue`. It should be impossible to hit this error; please file an issue at https://sola.na/web3invariant",[Jcn]:"JSON-RPC error: Internal JSON-RPC error ($__serverMessage)",[zcn]:"JSON-RPC error: Invalid method parameter(s) ($__serverMessage)",[$cn]:"JSON-RPC error: The JSON sent is not a valid `Request` object ($__serverMessage)",[Kcn]:"JSON-RPC error: The method does not exist / is not available ($__serverMessage)",[Vcn]:"JSON-RPC error: An error occurred on the server while parsing the JSON text ($__serverMessage)",[run]:"$__serverMessage",[hun]:"$__serverMessage",[dun]:"$__serverMessage",[eun]:"$__serverMessage",[Xcn]:"Epoch rewards period still active at slot $slot",[iun]:"$__serverMessage",[oun]:"$__serverMessage",[Ycn]:"Failed to query long-term storage; please try again",[Zcn]:"Minimum context slot has not been reached",[uun]:"Node is unhealthy; behind by $numSlotsBehind slots",[aun]:"No snapshot",[lun]:"Transaction simulation failed",[Wcn]:"Rewards cannot be found because slot $slot is not the epoch boundary. This may be due to gap in the queried node's local ledger or long-term storage",[sun]:"$__serverMessage",[nun]:"Transaction history is not available from this node",[cun]:"$__serverMessage",[tun]:"Transaction signature length mismatch",[fun]:"Transaction signature verification failure",[jcn]:"$__serverMessage",[Qun]:"Key pair bytes must be of length 64, got $byteLength.",[Hun]:"Expected private key bytes with length 32. Actual length: $actualLength.",[Gun]:"Expected base58-encoded signature to decode to a byte array of length 64. Actual length: $actualLength.",[Vun]:"The provided private key does not match the provided public key.",[qun]:"Expected base58-encoded signature string of length in the range [64, 88]. Actual length: $actualLength.",[Fcn]:"Lamports value must be in the range [0, 2e64-1]",[Qcn]:"`$value` cannot be parsed as a `BigInt`",[qcn]:"$message",[Hcn]:"`$value` cannot be parsed as a `Number`",[Pcn]:"No nonce account could be found at address `$nonceAccountAddress`",[Dfn]:"The notification name must end in 'Notifications' and the API must supply a subscription plan creator function for the notification '$notificationName'.",[Pfn]:"WebSocket was closed before payload could be added to the send buffer",[Lfn]:"WebSocket connection closed",[Ufn]:"WebSocket failed to connect",[kfn]:"Failed to obtain a subscription id from the server",[Mfn]:"Could not find an API plan for RPC method: `$method`",[xfn]:"The $argumentLabel argument to the `$methodName` RPC method$optionalPathLabel was `$value`. This number is unsafe for use with the Solana JSON-RPC because it exceeds `Number.MAX_SAFE_INTEGER`.",[Bfn]:"HTTP error ($statusCode): $message",[Tfn]:"HTTP header(s) forbidden: $headers. Learn more at https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name.",[Fbe]:"Multiple distinct signers were identified for address `$address`. Please ensure that you are using the same signer instance for each address.",[Ggt]:"The provided value does not implement the `KeyPairSigner` interface",[Vgt]:"The provided value does not implement the `MessageModifyingSigner` interface",[Jgt]:"The provided value does not implement the `MessagePartialSigner` interface",[qgt]:"The provided value does not implement any of the `MessageSigner` interfaces",[Kgt]:"The provided value does not implement the `TransactionModifyingSigner` interface",[$gt]:"The provided value does not implement the `TransactionPartialSigner` interface",[Ygt]:"The provided value does not implement the `TransactionSendingSigner` interface",[zgt]:"The provided value does not implement any of the `TransactionSigner` interfaces",[Wgt]:"More than one `TransactionSendingSigner` was identified.",[Xgt]:"No `TransactionSendingSigner` was identified. Please provide a valid `TransactionWithSingleSendingSigner` transaction.",[Y0n]:"Wallet account signers do not support signing multiple messages/transactions in a single operation",[Uun]:"Cannot export a non-extractable key.",[Bun]:"No digest implementation could be found.",[Tun]:"Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts.",[Mun]:`This runtime does not support the generation of Ed25519 key pairs. + +Install @solana/webcrypto-ed25519-polyfill and call its \`install\` function before generating keys in environments that do not support Ed25519. + +For a list of runtimes that currently support Ed25519 operations, visit https://github.com/WICG/webcrypto-secure-curves/issues/20.`,[Dun]:"No signature verification implementation could be found.",[kun]:"No key generation implementation could be found.",[Pun]:"No signing implementation could be found.",[Lun]:"No key export implementation could be found.",[Gcn]:"Timestamp value must be in the range [-(2n ** 63n), (2n ** 63n) - 1]. `$value` given",[kdn]:"Transaction processing left an account with an outstanding borrowed reference",[bdn]:"Account in use",[Edn]:"Account loaded twice",[vdn]:"Attempt to debit an account but found no record of a prior credit.",[Gdn]:"Transaction loads an address table account that doesn't exist",[Cdn]:"This transaction has already been processed",[wdn]:"Blockhash not found",[Odn]:"Loader call chain is too deep",[Ddn]:"Transactions are currently disabled due to cluster maintenance",[Ydn]:"Transaction contains a duplicate instruction ($index) that is not allowed",[Sdn]:"Insufficient funds for fee",[Wdn]:"Transaction results in an account ($accountIndex) with insufficient funds for rent",[Idn]:"This account may not be used to pay transaction fees",[xdn]:"Transaction contains an invalid account reference",[Vdn]:"Transaction loads an address table account with invalid data",[Jdn]:"Transaction address table lookup uses an invalid index",[qdn]:"Transaction loads an address table account with an invalid owner",[Zdn]:"LoadedAccountsDataSizeLimit set for transaction must be greater than 0.",[Bdn]:"This program may not be used for executing instructions",[zdn]:"Transaction leaves an account with a lower balance than rent-exempt minimum",[Udn]:"Transaction loads a writable account that cannot be written",[Xdn]:"Transaction exceeded max loaded accounts data size cap",[Ndn]:"Transaction requires a fee but has no signature present",[Rdn]:"Attempt to load a program that does not exist",[efn]:"Execution of the program referenced by account at index $accountIndex is temporarily restricted.",[jdn]:"ResanitizationNeeded",[Mdn]:"Transaction failed to sanitize accounts offsets correctly",[Tdn]:"Transaction did not pass signature verification",[Hdn]:"Transaction locked too many accounts",[tfn]:"Sum of account balances before and after transaction do not match",[ydn]:"The transaction failed with the error `$errorName`",[Ldn]:"Transaction version is unsupported",[Qdn]:"Transaction would exceed account data limit within the block",[$dn]:"Transaction would exceed total account data limit",[Fdn]:"Transaction would exceed max account limit within the block",[Pdn]:"Transaction would exceed max Block Cost Limit",[Kdn]:"Transaction would exceed max Vote Cost Limit",[fdn]:"Attempted to sign a transaction with an address that is not a signer for it",[adn]:"Transaction is missing an address at index: $index.",[ldn]:"Transaction has no expected signers therefore it cannot be encoded",[gdn]:"Transaction size $transactionSize exceeds limit of $transactionSizeLimit bytes",[Z0n]:"Transaction does not have a blockhash lifetime",[j0n]:"Transaction is not a durable nonce transaction",[tdn]:"Contents of these address lookup tables unknown: $lookupTableAddresses",[rdn]:"Lookup of address at index $highestRequestedIndex failed for lookup table `$lookupTableAddress`. Highest known index is $highestKnownIndex. The lookup table may have been extended since its contents were retrieved",[idn]:"No fee payer set in CompiledTransaction",[ndn]:"Could not find program address at index $index",[Adn]:"Failed to estimate the compute unit consumption for this transaction message. This is likely because simulating the transaction failed. Inspect the `cause` property of this error to learn more",[pdn]:"Transaction failed when it was simulated in order to estimate the compute unit consumption. The compute unit estimate provided is for a transaction that failed when simulated and may not be representative of the compute units this transaction would consume if successful. Inspect the `cause` property of this error to learn more",[sdn]:"Transaction is missing a fee payer.",[cdn]:"Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.",[ddn]:"Transaction first instruction is not advance nonce account instruction.",[udn]:"Transaction with no instructions cannot be durable nonce transaction.",[W0n]:"This transaction includes an address (`$programAddress`) which is both invoked and set as the fee payer. Program addresses may not pay fees",[X0n]:"This transaction includes an address (`$programAddress`) which is both invoked and marked writable. Program addresses may not be writable",[hdn]:"The transaction message expected the transaction to have $numRequiredSignatures signatures, got $signaturesLength.",[odn]:"Transaction is missing signatures for addresses: $addresses.",[edn]:"Transaction version must be in the range [0, 127]. `$actualVersion` given",[_dn]:"This version of Kit does not support decoding transactions with version $unsupportedVersion. The current max supported version is 0.",[mdn]:"The transaction has a durable nonce lifetime (with nonce `$nonce`), but the nonce account address is in a lookup table. The lifetime constraint cannot be constructed without fetching the lookup tables for the transaction."};function $fn(e,t={}){{let r=`Solana error #${e}; Decode this error by running \`npx @solana/errors decode -- ${e}`;return Object.keys(t).length&&(r+=` '${Kfn(t)}'`),`${r}\``}}var jgt=class extends Error{cause=this.cause;context;constructor(...[e,t]){let r,i;t&&Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([o,d])=>{o==="cause"?i={cause:d.value}:(r===void 0&&(r={}),Object.defineProperty(r,o,d))});let n=$fn(e,r);super(n,i),this.context=r===void 0?{}:r,this.context.__code=e,this.name="SolanaError"}};function Qbe(e){let t={};return e.forEach(r=>{if(!t[r.address])t[r.address]=r;else if(t[r.address]!==r)throw new jgt(Fbe,{address:r.address})}),Object.values(t)}function S7(e){return"modifyAndSignTransactions"in e&&typeof e.modifyAndSignTransactions=="function"}function m5(e){return"signTransactions"in e&&typeof e.signTransactions=="function"}function e_t(e){return"signAndSendTransactions"in e&&typeof e.signAndSendTransactions=="function"}function I7(e){return m5(e)||S7(e)||e_t(e)}function Yfn(e){return Qbe((e.accounts??[]).flatMap(t=>"signer"in t?t.signer:[]))}function Wfn(e){return Qbe([...e.feePayer&&I7(e.feePayer)?[e.feePayer]:[],...e.instructions.flatMap(Yfn)])}async function t_t(e){let t=await hj(e.publicKey);return Object.freeze({address:t,keyPair:e,signMessages:i=>Promise.all(i.map(async n=>Object.freeze({[t]:await fF(e.privateKey,n.content)}))),signTransactions:i=>Promise.all(i.map(async n=>{let o=await Zpt([e],n);return Object.freeze({[t]:o.signatures[t]})}))})}async function r_t(e,t){return await t_t(await Ypt(e,t))}async function n_t(e,t){return await t_t(await Wpt(e,t))}async function i_t(e,t){let{partialSigners:r,modifyingSigners:i}=Xfn(Qbe(Wfn(e).filter(I7)),{identifySendingSigner:!1});return await eln(e,i,r,t)}function Xfn(e,t={}){let i=t.identifySendingSigner??!0?Zfn(e):null,n=e.filter(g=>g!==i&&(S7(g)||m5(g))),o=jfn(n),d=n.filter(m5).filter(g=>!o.includes(g));return Object.freeze({modifyingSigners:o,partialSigners:d,sendingSigner:i})}function Zfn(e){let t=e.filter(e_t);if(t.length===0)return null;let r=t.filter(i=>!S7(i)&&!m5(i));return r.length>0?r[0]:t[0]}function jfn(e){let t=e.filter(S7);if(t.length===0)return[];let r=t.filter(i=>!m5(i));return r.length>0?r:[t[0]]}async function eln(e,t=[],r=[],i){let n=Mj(e),o=await t.reduce(async(g,y)=>{i?.abortSignal?.throwIfAborted();let[_]=await y.modifyAndSignTransactions([await g],i);return Object.freeze(_)},Promise.resolve(n));i?.abortSignal?.throwIfAborted();let d=await Promise.all(r.map(async g=>{let[y]=await g.signTransactions([o],i);return y}));return Object.freeze({...o,signatures:Object.freeze(d.reduce((g,y)=>({...g,...y}),o.signatures??{}))})}var Zso=globalThis.TextEncoder;J();K();z();var qj="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";J();K();z();var s_t=(e=>(e[e.Uninitialized=0]="Uninitialized",e[e.Initialized=1]="Initialized",e[e.Frozen=2]="Frozen",e))(s_t||{});function tln(){return eAt(s_t)}function rln(){return f7(_ye(),36)}function gF(){return f7(_ye(),64)}function nln(){return jht([["Uninitialized",q3()],["TransferFeeConfig",Oc(tu([["transferFeeConfigAuthority",bs()],["withdrawWithheldAuthority",bs()],["withheldAmount",dh()],["olderTransferFee",o_t()],["newerTransferFee",o_t()]]),pu())],["TransferFeeAmount",Oc(tu([["withheldAmount",dh()]]),pu())],["MintCloseAuthority",Oc(tu([["closeAuthority",bs()]]),pu())],["ConfidentialTransferMint",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["autoApproveNewAccounts",gg()],["auditorElgamalPubkey",oA(bs(),{prefix:null,noneValue:"zeroes"})]]),pu())],["ConfidentialTransferAccount",Oc(tu([["approved",gg()],["elgamalPubkey",bs()],["pendingBalanceLow",gF()],["pendingBalanceHigh",gF()],["availableBalance",gF()],["decryptableAvailableBalance",rln()],["allowConfidentialCredits",gg()],["allowNonConfidentialCredits",gg()],["pendingBalanceCreditCounter",dh()],["maximumPendingBalanceCreditCounter",dh()],["expectedPendingBalanceCreditCounter",dh()],["actualPendingBalanceCreditCounter",dh()]]),pu())],["DefaultAccountState",Oc(tu([["state",tln()]]),pu())],["ImmutableOwner",Oc(tu([]),pu())],["MemoTransfer",Oc(tu([["requireIncomingTransferMemos",gg()]]),pu())],["NonTransferable",Oc(tu([]),pu())],["InterestBearingConfig",Oc(tu([["rateAuthority",bs()],["initializationTimestamp",dh()],["preUpdateAverageRate",pye()],["lastUpdateTimestamp",dh()],["currentRate",pye()]]),pu())],["CpiGuard",Oc(tu([["lockCpi",gg()]]),pu())],["PermanentDelegate",Oc(tu([["delegate",bs()]]),pu())],["NonTransferableAccount",Oc(tu([]),pu())],["TransferHook",Oc(tu([["authority",bs()],["programId",bs()]]),pu())],["TransferHookAccount",Oc(tu([["transferring",gg()]]),pu())],["ConfidentialTransferFee",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["elgamalPubkey",bs()],["harvestToMintEnabled",gg()],["withheldAmount",gF()]]),pu())],["ConfidentialTransferFeeAmount",Oc(tu([["withheldAmount",gF()]]),pu())],["MetadataPointer",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["metadataAddress",oA(bs(),{prefix:null,noneValue:"zeroes"})]]),pu())],["TokenMetadata",Oc(tu([["updateAuthority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["mint",bs()],["name",Oc(A7(),f2())],["symbol",Oc(A7(),f2())],["uri",Oc(A7(),f2())],["additionalMetadata",rAt(Oc(A7(),f2()),Oc(A7(),f2()))]]),pu())],["GroupPointer",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["groupAddress",oA(bs(),{prefix:null,noneValue:"zeroes"})]]),pu())],["TokenGroup",Oc(tu([["updateAuthority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["mint",bs()],["size",dh()],["maxSize",dh()]]),pu())],["GroupMemberPointer",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["memberAddress",oA(bs(),{prefix:null,noneValue:"zeroes"})]]),pu())],["TokenGroupMember",Oc(tu([["mint",bs()],["group",bs()],["memberNumber",dh()]]),pu())],["ConfidentialMintBurn",q3()],["ScaledUiAmountConfig",Oc(tu([["authority",bs()],["multiplier",Aye()],["newMultiplierEffectiveTimestamp",dh()],["newMultiplier",Aye()]]),pu())],["PausableConfig",Oc(tu([["authority",oA(bs(),{prefix:null,noneValue:"zeroes"})],["paused",gg()]]),pu())],["PausableAccount",q3()]],{size:pu()})}function o_t(){return tu([["epoch",dh()],["maximumFee",dh()],["transferFeeBasisPoints",pu()]])}function iln(){return tu([["mintAuthority",oA(bs(),{prefix:f2(),noneValue:"zeroes"})],["supply",dh()],["decimals",vS()],["isInitialized",gg()],["freezeAuthority",oA(bs(),{prefix:f2(),noneValue:"zeroes"})],["extensions",oA(tAt(gye(nln(),{size:"remainder"}),[Ej(Yht(r1(),83).encode(1))]),{prefix:null})]])}function oln(e){return Xlt(e,iln())}async function c_t(e,t,r){let i=await aln(e,t,r);return jlt(i),i}async function aln(e,t,r){let i=await Zlt(e,t,r);return oln(i)}var _F="TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";function sln(e){if(!e)throw new Error("Expected a Address.");return typeof e=="object"&&"address"in e?e.address:Array.isArray(e)?e[0]:e}function cln(e,t){return r=>{if(!r.value)return Object.freeze({address:e,role:_g.READONLY});let i=r.isWritable?_g.WRITABLE:_g.READONLY;return Object.freeze({address:sln(r.value),role:a_t(r.value)?aAt(i):i,...a_t(r.value)?{signer:r.value}:{}})}}function a_t(e){return!!e&&typeof e=="object"&&"address"in e&&I7(e)}async function Hbe(e,t={}){let{programAddress:r="ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}=t;return await Bht({programAddress:r,seeds:[ES().encode(e.owner),ES().encode(e.tokenProgram),ES().encode(e.mint)]})}var Tco=new Uint8Array([250,166,180,250,13,12,184,70]);var Bco=new Uint8Array([121,113,108,39,54,51,0,4]);var Mco=new Uint8Array([152,32,222,176,223,237,116,134]);var Dco=new Uint8Array([210,225,30,162,88,184,77,141]);var kco=new Uint8Array([234,18,32,56,89,141,37,181]);var uln=12;function dln(){return h5(nF([["discriminator",r1()],["amount",yj()],["decimals",r1()]]),e=>({...e,discriminator:uln}))}function u_t(e,t){let r=t?.programAddress??_F,n={source:{value:e.source??null,isWritable:!0},mint:{value:e.mint??null,isWritable:!1},destination:{value:e.destination??null,isWritable:!0},authority:{value:e.authority??null,isWritable:!1}},o={...e},d=(o.multiSigners??[]).map(y=>({address:y.address,role:_g.READONLY_SIGNER,signer:y})),g=cln(r);return Object.freeze({accounts:[g(n.source),g(n.mint),g(n.destination),g(n.authority),...d],data:dln().encode(o),programAddress:r})}var Pco=new Uint8Array([108,37,171,143,248,30,18,110]);var Lco=new Uint8Array([161,105,88,1,237,221,216,203]);var Uco=new Uint8Array([221,233,49,45,181,202,220,200]);var Fco=new Uint8Array([215,228,166,228,84,100,86,123]);var Qco=3600*24*365.24;var fln=jn.union([jn.string().transform(e=>e.replace(/[^0-9.-]+/g,"")),jn.number()]).pipe(jn.coerce.number().min(1e-4).max(999999999)),mF=jn.enum(["abstract","abstract-testnet","base-sepolia","base","avalanche-fuji","avalanche","iotex","solana-devnet","solana","sei","sei-testnet","polygon","polygon-amoy","peaq","story","educhain","skale-base-sepolia"]),C7=["abstract","abstract-testnet","base-sepolia","base","avalanche-fuji","avalanche","iotex","sei","sei-testnet","polygon","polygon-amoy","peaq","story","educhain","skale-base-sepolia"],Jj=new Map([["abstract",2741],["abstract-testnet",11124],["base-sepolia",84532],["base",8453],["avalanche-fuji",43113],["avalanche",43114],["iotex",4689],["sei",1329],["sei-testnet",1328],["polygon",137],["polygon-amoy",80002],["peaq",3338],["story",1514],["educhain",41923],["skale-base-sepolia",324705682]]),y5=["solana-devnet","solana"],Gbe=new Map([["solana-devnet",103],["solana",101]]),Vbe=Object.fromEntries([...C7,...y5].map(e=>[Jj.get(e),e])),lln={id:324705682,name:"SKALE Base Sepolia",nativeCurrency:{name:"Credits",symbol:"CREDITS",decimals:18},rpcUrls:{default:{http:["https://base-sepolia-testnet.skalenodes.com/v1/jubilant-horrible-ancha"]}},blockExplorers:{default:{name:"Blockscout",url:"https://base-sepolia-testnet-explorer.skalenodes.com",apiUrl:"https://base-sepolia-testnet-explorer.skalenodes.com/api"}}};function Jbe(e){let t=Kbe(e);return ame({chain:t,transport:a7()}).extend(d5)}function hln(){return Jbe("base-sepolia")}function Aln(){return Jbe("avalanche-fuji")}function zbe(e,t){let r=Kbe(e),i=o7({chain:r,transport:a7(),account:jU(t)});return f_t(r)?i.extend(d5).extend(xme()):i.extend(d5)}function pln(e){return zbe("base-sepolia",e)}function gln(e){return zbe("avalanche-fuji",e)}function yF(e){return typeof e=="object"&&e!==null&&"chain"in e&&"transport"in e}function zj(e){let t=e;return typeof e=="object"&&e!==null&&typeof t.address=="string"&&typeof t.type=="string"&&typeof t.sign=="function"&&typeof t.signMessage=="function"&&typeof t.signTypedData=="function"&&typeof t.signTransaction=="function"}function Kbe(e){if(!e)throw new Error("NETWORK environment variable is not set");switch(e){case"abstract":return fme;case"abstract-testnet":return lme;case"base":return rj;case"base-sepolia":return f5;case"avalanche":return hme;case"avalanche-fuji":return Ame;case"sei":return Eme;case"sei-testnet":return vme;case"polygon":return yme;case"polygon-amoy":return bme;case"peaq":return mme;case"story":return Rme;case"educhain":return pme;case"iotex":return gme;case"iotex-testnet":return _me;case"skale-base-sepolia":return lln;default:throw new Error(`Unsupported network: ${e}`)}}var _ln=new Set([2741,11124]);function f_t(e){return _ln.has(e.id)}var mln="https://api.devnet.solana.com",yln="https://api.mainnet-beta.solana.com",bln="wss://api.devnet.solana.com",Eln="wss://api.mainnet-beta.solana.com";function l_t(e){return bbe(e?e:mln)}function h_t(e){return bbe(e?e:yln)}function bF(e,t){if(e==="solana-devnet")return l_t(t);if(e==="solana")return h_t(t);throw new Error("Invalid network")}function vln(e,t){if(e==="solana-devnet")return Ube(t?d_t(t):bln);if(e==="solana")return Ube(t?d_t(t):Eln);throw new Error("Invalid network")}function d_t(e){return e.startsWith("http")?e.replace("http","ws"):e}function Rln(e){if(!y5.find(t=>t===e))throw new Error(`Unsupported SVM network: ${e}`);return bF(e)}async function Sln(e){let t=Blt.decode(e);if(t.length===64)return await r_t(t);if(t.length===32)return await n_t(t);throw new Error(`Unexpected key length: ${t.length}. Expected 32 or 64 bytes.`)}function A_t(e){return typeof e=="object"&&e!==null&&I7(e)}function $be(e){return yF(e)||zj(e)}function EF(e){return A_t(e)}function w7(e){return"evm"in e&&"svm"in e}var Kj={};LY(Kj,{authorizationPrimaryType:()=>Iln,authorizationTypes:()=>Ybe,config:()=>UY,createClientAvalancheFuji:()=>Aln,createClientSepolia:()=>hln,createConnectedClient:()=>Jbe,createSigner:()=>zbe,createSignerAvalancheFuji:()=>gln,createSignerSepolia:()=>pln,getChainFromNetwork:()=>Kbe,isAccount:()=>zj,isSignerWallet:()=>yF,isZkStackChain:()=>f_t,usdcABI:()=>ect});var Ybe={TransferWithAuthorization:[{name:"from",type:"address"},{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"validAfter",type:"uint256"},{name:"validBefore",type:"uint256"},{name:"nonce",type:"bytes32"}]},Iln="TransferWithAuthorization",p_t={};LY(p_t,{SvmAddressRegex:()=>Wbe});var Wbe=/^[1-9A-HJ-NP-Za-km-z]{32,44}$/,g_t=/^[A-Za-z0-9+/]*={0,2}$/;function $j(e){return typeof globalThis<"u"&&typeof globalThis.btoa=="function"?globalThis.btoa(e):fe.from(e).toString("base64")}var Cln=18,qbe=/^0x[0-9a-fA-F]{40}$/,Xbe=/^0x[a-fA-F0-9]{40}|[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$/,wln=/^0x[0-9a-fA-F]{64}$/,Oln=/^0x[0-9a-fA-F]+$/,Yj=["exact"],O7=[1],Wj=["insufficient_funds","invalid_exact_evm_payload_authorization_valid_after","invalid_exact_evm_payload_authorization_valid_before","invalid_exact_evm_payload_authorization_value","invalid_exact_evm_payload_signature","invalid_exact_evm_payload_undeployed_smart_wallet","invalid_exact_evm_payload_recipient_mismatch","invalid_exact_svm_payload_transaction","invalid_exact_svm_payload_transaction_amount_mismatch","invalid_exact_svm_payload_transaction_create_ata_instruction","invalid_exact_svm_payload_transaction_create_ata_instruction_incorrect_payee","invalid_exact_svm_payload_transaction_create_ata_instruction_incorrect_asset","invalid_exact_svm_payload_transaction_instructions","invalid_exact_svm_payload_transaction_instructions_length","invalid_exact_svm_payload_transaction_instructions_compute_limit_instruction","invalid_exact_svm_payload_transaction_instructions_compute_price_instruction","invalid_exact_svm_payload_transaction_instructions_compute_price_instruction_too_high","invalid_exact_svm_payload_transaction_instruction_not_spl_token_transfer_checked","invalid_exact_svm_payload_transaction_instruction_not_token_2022_transfer_checked","invalid_exact_svm_payload_transaction_fee_payer_included_in_instruction_accounts","invalid_exact_svm_payload_transaction_fee_payer_transferring_funds","invalid_exact_svm_payload_transaction_not_a_transfer_instruction","invalid_exact_svm_payload_transaction_receiver_ata_not_found","invalid_exact_svm_payload_transaction_sender_ata_not_found","invalid_exact_svm_payload_transaction_simulation_failed","invalid_exact_svm_payload_transaction_transfer_to_incorrect_ata","invalid_network","invalid_payload","invalid_payment_requirements","invalid_scheme","invalid_payment","payment_expired","unsupported_scheme","invalid_x402_version","invalid_transaction_state","invalid_x402_version","settle_exact_svm_block_height_exceeded","settle_exact_svm_transaction_confirmation_timed_out","unsupported_scheme","unexpected_settle_error","unexpected_verify_error"],Vj=e=>Number.isInteger(Number(e))&&Number(e)>=0,Nln=e=>t=>t.length<=e,Zbe=jn.string().regex(qbe).or(jn.string().regex(Wbe)),xln=jn.string().regex(Xbe).or(jn.string().regex(Wbe)),K3=jn.object({scheme:jn.enum(Yj),network:mF,maxAmountRequired:jn.string().refine(Vj),resource:jn.string().url(),description:jn.string(),mimeType:jn.string(),outputSchema:jn.record(jn.any()).optional(),payTo:Zbe,maxTimeoutSeconds:jn.number().int(),asset:xln,extra:jn.record(jn.any()).optional()}),__t=jn.object({from:jn.string().regex(qbe),to:jn.string().regex(qbe),value:jn.string().refine(Vj).refine(Nln(Cln)),validAfter:jn.string().refine(Vj),validBefore:jn.string().refine(Vj),nonce:jn.string().regex(wln)}),m_t=jn.object({signature:jn.string().regex(Oln),authorization:__t}),y_t=jn.object({transaction:jn.string().regex(g_t)}),Xj=jn.object({x402Version:jn.number().refine(e=>O7.includes(e)),scheme:jn.enum(Yj),network:mF,payload:jn.union([m_t,y_t])}),Tln=jn.object({x402Version:jn.number().refine(e=>O7.includes(e)),error:jn.enum(Wj).optional(),accepts:jn.array(K3).optional(),payer:jn.string().regex(Xbe).optional()}),Bln=jn.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"]),b_t=jn.object({type:jn.literal("http"),method:Bln,queryParams:jn.record(jn.string(),jn.string()).optional(),bodyType:jn.enum(["json","form-data","multipart-form-data","text","binary"]).optional(),bodyFields:jn.record(jn.string(),jn.any()).optional(),headerFields:jn.record(jn.string(),jn.any()).optional()}),Mln=jn.discriminatedUnion("type",[b_t]),E_t=jn.object({resource:jn.string(),type:jn.enum(["http"]),x402Version:jn.number().refine(e=>O7.includes(e)),accepts:jn.array(K3),lastUpdated:jn.date(),metadata:jn.record(jn.any()).optional()}),Dln=jn.object({paymentPayload:Xj,paymentRequirements:K3}),kln=jn.object({paymentPayload:Xj,paymentRequirements:K3}),Pln=jn.object({isValid:jn.boolean(),invalidReason:jn.enum(Wj).optional(),payer:Zbe.optional()}),Lln=jn.object({success:jn.boolean(),errorReason:jn.enum(Wj).optional(),payer:Zbe.optional(),transaction:jn.string().regex(Xbe),network:mF}),Uln=jn.object({type:jn.string().optional(),limit:jn.number().optional(),offset:jn.number().optional()}),Fln=jn.object({x402Version:jn.number().refine(e=>O7.includes(e)),items:jn.array(E_t),pagination:jn.object({limit:jn.number(),offset:jn.number(),total:jn.number()})}),v_t=jn.object({x402Version:jn.number().refine(e=>O7.includes(e)),scheme:jn.enum(Yj),network:mF,extra:jn.record(jn.any()).optional()}),Qln=jn.object({kinds:jn.array(v_t)});function vF(e){if(Jj.has(e))return Jj.get(e);if(Gbe.has(e))return Gbe.get(e);throw new Error(`Unsupported network: ${e}`)}var R_t={};LY(R_t,{createDevnetRpcClient:()=>l_t,createMainnetRpcClient:()=>h_t,createSignerFromBase58:()=>Sln,createSvmConnectedClient:()=>Rln,decodeTransactionFromPayload:()=>Hln,getRpcClient:()=>bF,getRpcSubscriptions:()=>vln,getTokenPayerFromTransaction:()=>Gln,isSignerWallet:()=>A_t,signAndSimulateTransaction:()=>qln,signTransactionWithSigner:()=>S_t});function Hln(e){try{let r=iAt().encode(e.transaction);return Xpt().decode(r)}catch(t){throw console.error("error",t),new Error("invalid_exact_svm_payload_transaction")}}function Gln(e){let t=ipt().decode(e.messageBytes),r=t.staticAccounts??[],i=t.instructions??[];for(let n of i){let o=n.programAddressIndex,d=r[o].toString();if(d===qj.toString()||d===_F.toString()){let g=n.accountIndices??[];if(g.length>=4){let y=g[3],_=r[y].toString();if(_)return _}}}return""}async function qln(e,t,r){let i=await S_t(e,t),n=R7(i),o={sigVerify:!0,replaceRecentBlockhash:!1,commitment:"confirmed",encoding:"base64",accounts:void 0,innerInstructions:void 0,minContextSlot:void 0};return await r.simulateTransaction(n,o).send()}async function S_t(e,t){if(S7(e)){let[r]=await e.modifyAndSignTransactions([t]);if(!r)throw new Error("transaction_signer_failed_to_return_transaction");return r}if(m5(e)){let[r]=await e.signTransactions([t]);if(!r)throw new Error("transaction_signer_failed_to_return_signatures");return Vln(t,r)}throw new Error("transaction_signer_must_support_offline_signing")}function Vln(e,t){return Object.freeze({...e,signatures:Object.freeze({...e.signatures,...t})})}var Jln=jn.object({paymentHeader:jn.string(),paymentRequirements:K3});J();K();z();J();K();z();J();K();z();J();K();z();var jbe="ComputeBudget111111111111111111111111111111";function Kln(e){let t="data"in e?e.data:e;if(_y(t,r1().encode(0),0))return 0;if(_y(t,r1().encode(1),0))return 1;if(_y(t,r1().encode(2),0))return 2;if(_y(t,r1().encode(3),0))return 3;if(_y(t,r1().encode(4),0))return 4;throw new Error("The provided instruction could not be identified as a computeBudget instruction.")}var $ln=2;function Yln(){return h5(nF([["discriminator",r1()],["units",mj()]]),e=>({...e,discriminator:$ln}))}function Zj(e,t){let r=t?.programAddress??jbe,i={...e};return Object.freeze({data:Yln().encode(i),programAddress:r})}var Wln=3;function Xln(){return h5(nF([["discriminator",r1()],["microLamports",yj()]]),e=>({...e,discriminator:Wln}))}function Zln(e,t){let r=t?.programAddress??jbe,i={...e};return Object.freeze({data:Xln().encode(i),programAddress:r})}var jln=14e5;function ehn(e){let t=thn(e);if(t<0)return null;let r=f2().decode(e.instructions[t].data,1);return{index:t,units:r}}function thn(e){return e.instructions.findIndex(rhn)}function rhn(e){return e.programAddress===jbe&&Kln(e.data)===2}function nhn(e,t){let r=_=>typeof e=="function"?e(_):e,i=ehn(t);if(!i)return Qye(Zj({units:r(null)}),t);let{index:n,units:o}=i,d=r(o);if(d===o)return t;let g=Zj({units:d}),y=[...t.instructions];return y.splice(n,1,g),Object.freeze({...t,instructions:y})}async function ihn({transactionMessage:e,...t}){let r=!Nj(e),i=n1(e,n=>nhn(jln,n),Mj);return await ohn({transaction:i,replaceRecentBlockhash:r,...t})}async function ohn({abortSignal:e,rpc:t,transaction:r,...i}){let n=R7(r);try{let{value:{err:o,unitsConsumed:d}}=await t.simulateTransaction(n,{...i,encoding:"base64",sigVerify:!1}).send({abortSignal:e});if(d==null)throw new Ud(Aj);let g=d>4294967295n?4294967295:Number(d);if(o)throw new Ud(pj,{cause:o,unitsConsumed:g});return g}catch(o){throw zht(o,pj)?o:new Ud(Aj,{cause:o})}}function I_t({rpc:e}){return async function(r,i){return await ihn({...i,rpc:e,transactionMessage:r})}}function C_t(e,t){return Qye(Zln({microLamports:e}),t)}function eEe(e){let t;if(C7.includes(e.network)){let r=e.payload;return t={...e,payload:{...r,authorization:Object.fromEntries(Object.entries(r.authorization).map(([i,n])=>[i,typeof n=="bigint"?n.toString():n]))}},$j(JSON.stringify(t))}if(y5.includes(e.network))return t={...e,payload:e.payload},$j(JSON.stringify(t));throw new Error("Invalid network")}async function shn(e,{from:t,to:r,value:i,validAfter:n,validBefore:o,nonce:d},{asset:g,network:y,extra:_}){let I=vF(y),N=_?.name,T=_?.version,M={types:Ybe,domain:{name:N,version:T,chainId:I,verifyingContract:hy(g)},primaryType:"TransferWithAuthorization",message:{from:hy(t),to:hy(r),value:i,validAfter:n,validBefore:o,nonce:d}};if(yF(e))return{signature:await e.signTypedData(M)};if(zj(e)&&e.signTypedData)return{signature:await e.signTypedData(M)};throw new Error("Invalid wallet client provided does not support signTypedData")}function chn(){let e=typeof globalThis.crypto<"u"&&typeof globalThis.crypto.getRandomValues=="function"?globalThis.crypto:jst("crypto").webcrypto;return Uo(e.getRandomValues(new Uint8Array(32)))}function w_t(e,t,r){let i=chn(),n=BigInt(Math.floor(Date.now()/1e3)-600).toString(),o=BigInt(Math.floor(Date.now()/1e3+r.maxTimeoutSeconds)).toString();return{x402Version:t,scheme:r.scheme,network:r.network,payload:{signature:void 0,authorization:{from:e,to:r.payTo,value:r.maxAmountRequired,validAfter:n.toString(),validBefore:o.toString(),nonce:i}}}}async function O_t(e,t,r){let{signature:i}=await shn(e,r.payload.authorization,t);return{...r,payload:{...r.payload,signature:i}}}async function uhn(e,t,r){let i=yF(e)?e.account.address:e.address,n=w_t(i,t,r);return O_t(e,r,n)}async function N_t(e,t,r){let i=await uhn(e,t,r);return eEe(i)}async function x_t(e,t,r,i){let n=await dhn(e,t,r,i);return eEe(n)}async function dhn(e,t,r,i){let n=await fhn(e,r,i),o=await i_t(n),d=R7(o);return{scheme:r.scheme,network:r.network,x402Version:t,payload:{transaction:d}}}async function fhn(e,t,r){let i=bF(t.network,r?.svmConfig?.rpcUrl),n=await lhn(e,t,r),o=t.extra?.feePayer,d=n1(apt({version:0}),N=>C_t(1,N),N=>spt(o,N),N=>Hye(n,N)),y=await I_t({rpc:i})(d),{value:_}=await i.getLatestBlockhash().send();return n1(d,N=>cpt(Zj({units:y}),N),N=>jAt(_,N))}async function lhn(e,t,r){let{asset:i,maxAmountRequired:n,payTo:o}=t,d=bF(t.network,r?.svmConfig?.rpcUrl),g=await c_t(d,i),y=g.programAddress;if(y.toString()!==qj.toString()&&y.toString()!==_F.toString())throw new Error("Asset was not created by a known token program");let[_]=await Hbe({mint:i,owner:e.address,tokenProgram:y}),[I]=await Hbe({mint:i,owner:o,tokenProgram:y});return[u_t({source:_,mint:i,destination:I,authority:e,amount:BigInt(n),decimals:g.data.decimals},{programAddress:y})]}async function tEe(e,t,r,i){if(r.scheme==="exact"){if(C7.includes(r.network)){let n=w7(e)?e.evm:e;if(!$be(n))throw new Error("Invalid evm wallet client provided");return await N_t(n,t,r)}if(y5.includes(r.network)){let n=w7(e)?e.svm:e;if(!EF(n))throw new Error("Invalid svm wallet client provided");return await x_t(n,t,r,i)}throw new Error("Unsupported network")}throw new Error("Unsupported scheme")}function rEe(e,t,r){let i=e.filter(o=>{let d=!r||o.scheme===r,g=!t||(Array.isArray(t)?t.includes(o.network):t==o.network);return d&&g}),n=i.filter(o=>o.asset===Rge(vF(o.network))?.usdcAddress);return n.length>0?n[0]:i.length>0?i[0]:e[0]}J();K();z();function T_t(e,t,r=BigInt(.1*10**6),i=rEe,n){return async(o,d)=>{var g;let y=await e(o,d);if(y.status!==402)return y;let{x402Version:_,accepts:I}=await y.json(),N=I.map(q=>K3.parse(q)),T=w7(t)?void 0:Kj.isSignerWallet(t)?Vbe[(g=t.chain)==null?void 0:g.id]:EF(t)?["solana","solana-devnet"]:void 0,M=i(N,T,"exact");if(BigInt(M.maxAmountRequired)>r)throw new Error("Payment amount exceeds maximum allowed");let D=await tEe(t,_,M,n);if(d&&d.__is402Retry)throw new Error("Payment already attempted");let P={...d,headers:{...d?.headers||{},"X-PAYMENT":D,"Access-Control-Expose-Headers":"X-PAYMENT-RESPONSE"},__is402Retry:!0};return await e(o,P)}}J();K();z();var RF=class extends Error{constructor(t){super(t),this.name=this.constructor.name}};var yg=class extends RF{constructor(t,r){super(`Failed request${r!==void 0?` (Status ${r})`:""}: ${t}`),this.status=r}},N7=class extends RF{constructor(t){super(t??"User has provided an invalid input")}},EE=class extends RF{constructor(t="Request was aborted"){super(t)}};J();K();z();function nEe(e,t=20971520){let r=e.getReader(),i=null;return new ReadableStream({async pull(n){if(i){let g=i.subarray(0,t);i=i.subarray(g.length),i.length===0&&(i=null),n.enqueue(g);return}let{value:o,done:d}=await r.read();if(d){n.close();return}if(!(o instanceof Uint8Array))throw new TypeError("Expected Uint8Array from source stream");o.byteLength<=t?n.enqueue(o):(n.enqueue(o.subarray(0,t)),i=o.subarray(t))}})}function B_t(e){return new ReadableStream({async start(t){for await(let r of e)t.enqueue(fe.isBuffer(r)?new Uint8Array(r):r);t.close()}})}function M_t({data:e,maxChunkSize:t=20971520}){return e instanceof Blob?()=>nEe(e.stream()):e instanceof ReadableStream?()=>{let r=e.getReader(),i=new ReadableStream({async pull(n){let{value:o,done:d}=await r.read();if(d){n.close();return}if(ArrayBuffer.isView(o))n.enqueue(new Uint8Array(o.buffer,o.byteOffset,o.byteLength));else if(o instanceof ArrayBuffer||o instanceof SharedArrayBuffer)n.enqueue(new Uint8Array(o));else throw new TypeError("Unsupported chunk type in ReadableStream")}});return nEe(i,t)}:()=>{let r;if(typeof e=="string")r=new TextEncoder().encode(e);else if(ArrayBuffer.isView(e))r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else if(e instanceof ArrayBuffer||e instanceof SharedArrayBuffer)r=new Uint8Array(e);else throw new TypeError("Unsupported input type for stream");let i=new ReadableStream({start(n){n.enqueue(r),n.close()}});return nEe(i,t)}}var SF=e=>({retryDelay:t=>Math.min(1e3*2**(t-1),30*1e3),retries:5,onRetry:(t,r)=>{e?.debug(`Request failed, ${r}. Retry attempt #${t}...`)}}),iEe={"x-turbo-source-version":$J,"x-turbo-source-identifier":"turbo-sdk"},x7=class{constructor({url:t,logger:r,retryConfig:i=SF(r)}){this.logger=r,this.baseURL=t,this.retryConfig=i}async get({endpoint:t,signal:r,allowedStatuses:i=[200,202],headers:n}){return this.withRetry(()=>fetch(this.baseURL+t,{method:"GET",headers:{...iEe,...n},signal:r}),i)}async post({endpoint:t,signal:r,allowedStatuses:i=[200,202],headers:n,data:o,x402Options:d}){if(d!==void 0)return this.x402Post({signal:r,allowedStatuses:i,headers:n,data:o,x402Options:d});let{body:g,duplex:y}=await oEe(o);return(o instanceof fe||o instanceof Uint8Array?this.withRetry.bind(this):this.tryRequest.bind(this))(()=>fetch(this.baseURL+t,{method:"POST",headers:{...iEe,...n},body:g,signal:r,...y?{duplex:y}:{}}),i)}async tryRequest(t,r){try{let i=await t(),{status:n,statusText:o}=i;if(!r.includes(n)){let g=await i.text();throw new yg(g||o,n)}let d=i.headers.get("content-type");return d!==null&&d.includes("application/json")?i.json():i.text()}catch(i){throw i.name==="AbortError"||i.message.includes("aborted")?new EE("Request was aborted"):i}}async withRetry(t,r){let i=0,n;for(;i<this.retryConfig.retries;)try{return await this.tryRequest(t,r)}catch(o){if(o instanceof yg){if(n=o,this.retryConfig.onRetry(i+1,o),o.status!==void 0&&o.status>=400&&o.status<500)throw o;await qf(this.retryConfig.retryDelay(i+1)),i++}else throw o}throw new yg("Max retries reached - "+n?.message,n?.status)}async x402Post({signal:t,allowedStatuses:r,headers:i,data:n,x402Options:o}){let d="/x402/data-item/"+(o.unsignedData?"unsigned":"signed");this.logger.debug("Using X402 options for POST request",{endpoint:d,x402Options:o});let{body:g,duplex:y}=await oEe(n);return this.tryRequest(async()=>{let _=o.maxMUSDCAmount!==void 0?BigInt(o.maxMUSDCAmount.toString()):void 0;return await T_t(fetch,o.signer,_)(this.baseURL+d,{method:"POST",headers:{...iEe,...i},body:g,signal:t,...y?{duplex:y}:{}})},r)}},D_t=typeof window<"u"&&typeof window.document<"u";async function oEe(e){if(e instanceof ReadableStream)return Ahn()?{body:await new Response(e).blob()}:{body:e,duplex:"half"};if(e instanceof eI){let t=B_t(e);return oEe(t)}return D_t?{body:new Blob([new Uint8Array(e)])}:{body:Uint8Array.from(e)}}function Ahn(){if(!D_t)return!1;let e=navigator.userAgent;return e.includes("Firefox")||e.includes("Safari")&&!e.includes("Chrome")&&!e.includes("Chromium")}J();K();z();J();K();z();J();K();z();var b5=new xi("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"),q0o=new xi("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"),IF=new xi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"),V0o=new xi("So11111111111111111111111111111111111111112"),J0o=new xi("9pan9bMn5HatX4EJdBwg9VgCa7Uz5HL8N1m5D3NdXejP");J();K();z();J();K();z();var $3=e=>{let t=e.decode.bind(e),r=e.encode.bind(e);return{decode:t,encode:r}};J();K();z();var aEe=po(RI(),1),Y3=po(k_t(),1);var eee=e=>t=>{let r=(0,aEe.blob)(e,t),{encode:i,decode:n}=$3(r),o=r;return o.decode=(d,g)=>{let y=n(d,g);return(0,Y3.toBigIntLE)(fe.from(y))},o.encode=(d,g,y)=>{let _=(0,Y3.toBufferLE)(d,e);return i(_,g,y)},o},tee=e=>t=>{let r=(0,aEe.blob)(e,t),{encode:i,decode:n}=$3(r),o=r;return o.decode=(d,g)=>{let y=n(d,g);return(0,Y3.toBigIntBE)(fe.from(y))},o.encode=(d,g,y)=>{let _=(0,Y3.toBufferBE)(d,e);return i(_,g,y)},o},ree=eee(8),odo=tee(8),yhn=eee(16),ado=tee(16),sdo=eee(24),cdo=tee(24),udo=eee(32),ddo=tee(32);J();K();z();var mdo=new fXe("1e+18");J();K();z();var P_t=po(RI(),1);var L_t=e=>{let t=(0,P_t.u8)(e),{encode:r,decode:i}=$3(t),n=t;return n.decode=(o,d)=>!!i(o,d),n.encode=(o,d,g)=>{let y=Number(o);return r(y,d,g)},n};J();K();z();var U_t=po(RI(),1);var sEe=e=>{let t=(0,U_t.blob)(32,e),{encode:r,decode:i}=$3(t),n=t;return n.decode=(o,d)=>{let g=i(o,d);return new xi(g)},n.encode=(o,d,g)=>{let y=o.toBuffer();return r(y,d,g)},n};J();K();z();var cEe=class extends Error{constructor(t){super(t)}};var nee=class extends cEe{constructor(){super(...arguments),this.name="TokenOwnerOffCurveError"}};J();K();z();var iee;(function(e){e[e.InitializeMint=0]="InitializeMint",e[e.InitializeAccount=1]="InitializeAccount",e[e.InitializeMultisig=2]="InitializeMultisig",e[e.Transfer=3]="Transfer",e[e.Approve=4]="Approve",e[e.Revoke=5]="Revoke",e[e.SetAuthority=6]="SetAuthority",e[e.MintTo=7]="MintTo",e[e.Burn=8]="Burn",e[e.CloseAccount=9]="CloseAccount",e[e.FreezeAccount=10]="FreezeAccount",e[e.ThawAccount=11]="ThawAccount",e[e.TransferChecked=12]="TransferChecked",e[e.ApproveChecked=13]="ApproveChecked",e[e.MintToChecked=14]="MintToChecked",e[e.BurnChecked=15]="BurnChecked",e[e.InitializeAccount2=16]="InitializeAccount2",e[e.SyncNative=17]="SyncNative",e[e.InitializeAccount3=18]="InitializeAccount3",e[e.InitializeMultisig2=19]="InitializeMultisig2",e[e.InitializeMint2=20]="InitializeMint2",e[e.GetAccountDataSize=21]="GetAccountDataSize",e[e.InitializeImmutableOwner=22]="InitializeImmutableOwner",e[e.AmountToUiAmount=23]="AmountToUiAmount",e[e.UiAmountToAmount=24]="UiAmountToAmount",e[e.InitializeMintCloseAuthority=25]="InitializeMintCloseAuthority",e[e.TransferFeeExtension=26]="TransferFeeExtension",e[e.ConfidentialTransferExtension=27]="ConfidentialTransferExtension",e[e.DefaultAccountStateExtension=28]="DefaultAccountStateExtension",e[e.Reallocate=29]="Reallocate",e[e.MemoTransferExtension=30]="MemoTransferExtension",e[e.CreateNativeMint=31]="CreateNativeMint",e[e.InitializeNonTransferableMint=32]="InitializeNonTransferableMint",e[e.InterestBearingMintExtension=33]="InterestBearingMintExtension",e[e.CpiGuardExtension=34]="CpiGuardExtension",e[e.InitializePermanentDelegate=35]="InitializePermanentDelegate",e[e.TransferHookExtension=36]="TransferHookExtension",e[e.MetadataPointerExtension=39]="MetadataPointerExtension",e[e.GroupPointerExtension=40]="GroupPointerExtension",e[e.GroupMemberPointerExtension=41]="GroupMemberPointerExtension",e[e.ScaledUiAmountExtension=43]="ScaledUiAmountExtension",e[e.PausableExtension=44]="PausableExtension"})(iee||(iee={}));J();K();z();var E5=po(RI(),1);J();K();z();function F_t(e,t,r){if(r.length){e.push({pubkey:t,isSigner:!1,isWritable:!1});for(let i of r)e.push({pubkey:i instanceof xi?i:i.publicKey,isSigner:!0,isWritable:!1})}else e.push({pubkey:t,isSigner:!0,isWritable:!1});return e}J();K();z();var CF=po(RI(),1);var Q_t=(0,CF.struct)([(0,CF.u8)("instruction"),ree("amount"),(0,CF.u8)("decimals")]);function H_t(e,t,r,i,n,o,d=[],g=b5){let y=F_t([{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0}],i,d),_=fe.alloc(Q_t.span);return Q_t.encode({instruction:iee.TransferChecked,amount:BigInt(n),decimals:o},_),new ms({keys:y,programId:g,data:_})}var bhn=(0,E5.struct)([(0,E5.u32)("mintAuthorityOption"),sEe("mintAuthority"),ree("supply"),(0,E5.u8)("decimals"),L_t("isInitialized"),(0,E5.u32)("freezeAuthorityOption"),sEe("freezeAuthority")]),yfo=bhn.span;function uEe(e,t,r=!1,i=b5,n=IF){if(!r&&!xi.isOnCurve(t.toBuffer()))throw new nee;let[o]=xi.findProgramAddressSync([t.toBuffer(),i.toBuffer(),e.toBuffer()],n);return o}J();K();z();function G_t(e,t,r,i,n=b5,o=IF){return Ehn(e,t,r,i,fe.from([1]),n,o)}function Ehn(e,t,r,i,n,o=b5,d=IF){let g=[{pubkey:e,isSigner:!0,isWritable:!0},{pubkey:t,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:Td.programId,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!1}];return new ms({keys:g,programId:d,data:n})}var fEe=po(oee(),1);J();K();z();var dEe=po(oee(),1);var Gfo=e=>e,V_t=e=>new Qa(e).times(1e9).valueOf(),wF="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",aee=class{constructor({logger:t=ku.default,gatewayUrl:r=af.solana,pollingOptions:i={maxAttempts:10,pollingIntervalMs:2500,initialBackoffMs:500}}={}){this.logger=t,this.gatewayUrl=r,this.connection=new TI(r,"confirmed"),this.pollingOptions=i}async createAndSubmitTx({target:t,tokenAmount:r,signer:i,turboCreditDestinationAddress:n}){if(i.signer instanceof Pm){let I=await i.sendTransaction({amount:r,target:t,gatewayUrl:this.gatewayUrl,turboCreditDestinationAddress:n});return{target:t,id:I}}let o=new xi(dEe.default.encode(Uint8Array.from(await i.getPublicKey()))),d=new Us({feePayer:o,...await this.connection.getLatestBlockhash()});d.add(Td.transfer({fromPubkey:o,toPubkey:new xi(t),lamports:+new Qa(r)})),n!==void 0&&d.add(new ms({programId:new xi(wF),keys:[],data:fe.from("turboCreditDestinationAddress="+n)}));let g=d.serializeMessage(),y=await i.signData(Uint8Array.from(g));d.addSignature(o,fe.from(y));let _=dEe.default.encode(y);return await this.submitTx(d,_),{id:_,target:t}}async submitTx(t,r){if(this.logger.debug("Submitting fund transaction...",{id:r}),await this.connection.sendRawTransaction(t.serialize(),{maxRetries:this.pollingOptions.maxAttempts}),t.recentBlockhash===void 0||t.lastValidBlockHeight===void 0)throw new Error("Failed to submit Transaction -- missing blockhash or lastValidBlockHeight from transaction creation. Solana Gateway Url:"+this.gatewayUrl);await this.connection.confirmTransaction({signature:r,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},"finalized")}async pollTxAvailability({txId:t}){let{maxAttempts:r,pollingIntervalMs:i,initialBackoffMs:n}=this.pollingOptions;this.logger.debug("Polling for transaction...",{txId:t,pollingOptions:this.pollingOptions}),await qf(n);let o=0;for(;o<r;){let d;o++;try{d=await this.connection.getSignatureStatus(t)}catch(g){this.logger.debug("Failed to poll for transaction...",{err:g})}if(d&&d.value&&d.value.err!==null)throw new Error(`Transaction failed: ${d.value.err}`);if(d&&d.value&&d.value.slot!==null){this.logger.debug("Transaction found!",{txId:t,status:d});return}this.logger.debug("Transaction not found, polling...",{txId:t,attempts:o,maxAttempts:r,pollingIntervalMs:i}),await qf(i)}throw new Error("Transaction not found after polling, transaction id: "+t)}};var Shn="DcNnMuFxwhgV4WY1HVSaSEgr92bv2b1vUvEKiNxWqHdF",Ihn="6vTw5CysRXQ4ybbHkDUiisHWVsBeMtUzYvJqs2iqHyaN",Chn=6,see=class{constructor({gatewayUrl:t=af.solana,logger:r=ku.default,pollingOptions:i={maxAttempts:10,pollingIntervalMs:2500,initialBackoffMs:500}}={}){this.gatewayUrl=t,this.connection=new TI(t,"confirmed"),this.pollingOptions=i,this.logger=r,t.includes("devnet")?this.mintAddress=Ihn:this.mintAddress=Shn}async createAndSubmitTx({target:t,signer:r,tokenAmount:i,turboCreditDestinationAddress:n}){let o=new xi(fEe.default.encode(Uint8Array.from(await r.getPublicKey()))),d=new xi(t),g=new xi(this.mintAddress),y=uEe(g,o),_=uEe(g,d),I=new Us({feePayer:o,...await this.connection.getLatestBlockhash()});I.add(G_t(o,_,d,g)),I.add(H_t(y,g,_,o,BigInt(new Qa(i).toFixed(0)),Chn)),n!==void 0&&I.add(new ms({programId:new xi(wF),keys:[],data:fe.from("turboCreditDestinationAddress="+n)}));let N=I.serializeMessage(),T=await r.signData(Uint8Array.from(N));I.addSignature(o,fe.from(T));let M=fEe.default.encode(T);return await this.submitTx(I,M),this.logger.debug("Submitted ARIO SPL transfer transaction...",{id:M,target:t,tokenAmount:i,fromAta:y.toBase58(),toAta:_.toBase58(),mint:g.toBase58()}),{id:M,target:t,reward:"0"}}async submitTx(t,r){if(this.logger.debug("Submitting ARIO fund transaction...",{id:r}),await this.connection.sendRawTransaction(t.serialize(),{maxRetries:this.pollingOptions.maxAttempts}),t.recentBlockhash===void 0||t.lastValidBlockHeight===void 0)throw new Error("Failed to submit Transaction -- missing blockhash or lastValidBlockHeight from transaction creation. Solana Gateway Url:"+this.gatewayUrl);await this.connection.confirmTransaction({signature:r,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},"finalized")}async pollTxAvailability({txId:t}){let{maxAttempts:r,pollingIntervalMs:i,initialBackoffMs:n}=this.pollingOptions;this.logger.debug("Polling for ARIO SPL transaction...",{txId:t,pollingOptions:this.pollingOptions,gatewayUrl:this.gatewayUrl}),await qf(n);let o=0;for(;o<r;){let d;o++;try{let g=await this.connection.getSignatureStatuses([t],{searchTransactionHistory:!0});d={context:g.context,value:g.value[0]}}catch(g){this.logger.debug("Failed to poll ARIO SPL transaction...",{err:g})}if(d&&d.value&&d.value.err!==null)throw new Error(`Transaction failed: ${d.value.err}`);if(d&&d.value&&d.value.slot!==null){this.logger.debug("Transaction found!",{txId:t,status:d});return}this.logger.debug("ARIO SPL transaction not found, polling...",{txId:t,attempts:o,maxAttempts:r,pollingIntervalMs:i}),await qf(i)}throw new Error("Transaction not found after polling, transaction id: "+t)}},tlo=e=>e,J_t=e=>new Qa(e).times(1e6).valueOf();J();K();z();var cee=po(ede(),1);J();K();z();var t2t=po(e2t(),1);IA();function r2t(e){return lEe(OF(e))}function OF(e){let t=e.length%4===0?0:4-e.length%4,r=e.replace(/-/g,"+").replace(/_/g,"/").concat("=".repeat(t));return fe.from(r,"base64")}function W3(e){return(0,t2t.bufferTob64Url)(Uint8Array.from(e))}function lEe(e){return W3(vm("sha256").update(Uint8Array.from(e)).digest())}var Mhn=cee.default.default?.default||cee.default.default||cee.default,uee=class{constructor({gatewayUrl:t="https://turbo-gateway.com",arweave:r,logger:i=ku.default,mintU:n=!0,pollingOptions:o={maxAttempts:10,pollingIntervalMs:5e3,initialBackoffMs:15e3}}={}){let d=new URL(t);this.arweave=r??new Mhn({host:d.hostname,port:d.port,protocol:d.protocol.replace(":","")}),this.logger=i,this.mintU=n,this.pollingOptions=o}async createAndSubmitTx({feeMultiplier:t,target:r,tokenAmount:i,signer:n,turboCreditDestinationAddress:o}){let d=await this.arweave.createTransaction({target:r,quantity:i.toString(),data:""});t!==1&&(d.reward=Qa(d.reward).times(Qa(t)).toFixed(0,Qa.ROUND_UP)),this.mintU&&(d.addTag("App-Name","SmartWeaveAction"),d.addTag("App-Version","0.3.0"),d.addTag("Contract","KTzTXT_ANmF84fWEKHzWURD1LWd9QaFR9yfYUwH2Lxw"),d.addTag("Input",JSON.stringify({function:"mint"}))),o!==void 0&&d.addTag("Turbo-Credit-Destination-Address",o);let g=W3(await n.getPublicKey());d.setOwner(g);let y=await d.getSignatureData(),_=await n.signData(y),I=fe.from(_),N=lEe(I);return d.setSignature({id:N,owner:g,signature:W3(I)}),this.logger.debug("Submitting fund transaction...",{id:N}),await this.submitTx(d),{id:N,target:r,reward:d.reward}}async pollTxAvailability({txId:t}){let{maxAttempts:r,pollingIntervalMs:i,initialBackoffMs:n}=this.pollingOptions;this.logger.debug("Polling for transaction...",{txId:t,maxAttempts:r,pollingIntervalMs:i,gatewayUrl:this.arweave.api.getConfig().host}),await qf(n);let o=0;for(;o<r;){let d;o++;try{let g=` + query { + transactions(ids: ["${t}"]) { + edges { + node { + recipient + owner { + address + } + quantity { + winston + } + } + } + } + } + `;d=(await this.arweave.api.post("/graphql",{query:g}))?.data?.data?.transactions?.edges[0]?.node}catch(g){this.logger.debug("Failed to poll for transaction...",{err:g})}if(d)return;this.logger.debug("Transaction not found...",{txId:t,attempts:o,maxAttempts:r,pollingIntervalMs:i}),await qf(i)}throw new Error("Transaction not found after polling, transaction id: "+t)}async submitTx(t){try{let r=await this.arweave.transactions.post(t);if(r.status!==200)throw new Error(`Failed to post transaction -- Status ${r.status}, ${r.statusText}, ${r.data}`);this.logger.debug("Successfully posted fund transaction...",{tx:t})}catch(r){throw new Error(`Failed to post transaction -- ${r instanceof Error?r.message:r}`)}this.logger.debug("Posted transaction...",{tx:t})}},ylo=e=>e,n2t=e=>new Qa(e).times(1e12).valueOf();J();K();z();J();K();z();var Olo=e=>e,NF=e=>new Qa(e).times(1e18).valueOf(),hEe={initialBackoffMs:25e3,maxAttempts:10,pollingIntervalMs:1500},vE=class{constructor({logger:t=ku.default,gatewayUrl:r=af.ethereum,pollingOptions:i=hEe}={}){this.logger=t,this.gatewayUrl=r,this.pollingOptions=i,this.rpcProvider=new s3.JsonRpcProvider(r)}async createAndSubmitTx({target:t,tokenAmount:r,signer:i,turboCreditDestinationAddress:n}){try{let o=r.shiftedBy(-18);return{id:await i.sendTransaction({target:t,amount:o,gatewayUrl:this.gatewayUrl,turboCreditDestinationAddress:n}),target:t}}catch(o){throw this.logger.error("Error creating and submitting Ethereum tx",{error:o instanceof Error?o.message:o,target:t,tokenAmount:r,rpcEndpoint:this.gatewayUrl}),o}}async getTxAvailability(t){let r=await this.rpcProvider.getTransaction(t);return r?(this.logger.debug("Transaction is available on chain",{txId:t,tx:r}),!0):(this.logger.debug("Transaction not yet available on chain",{txId:t}),!1)}async pollTxAvailability({txId:t}){await new Promise(i=>setTimeout(i,this.pollingOptions.initialBackoffMs));let r=0;for(;r<this.pollingOptions.maxAttempts;){try{if(await this.getTxAvailability(t))return}catch(i){this.logger.debug("Error polling for tx",{txId:t,e:i})}await new Promise(i=>setTimeout(i,this.pollingOptions.pollingIntervalMs)),r++}throw new Error(`Transaction ${t} not found after polling!`)}};function xF(e){if(e!==void 0)return vn(rc("turboCreditDestinationAddress="+e))}var TF={initialBackoffMs:2500,maxAttempts:10,pollingIntervalMs:750},dee=class extends vE{constructor({logger:t,gatewayUrl:r=af["base-eth"],pollingOptions:i=TF}={}){super({logger:t,gatewayUrl:r,pollingOptions:i})}async getTxAvailability(t){let r=await this.rpcProvider.getTransactionReceipt(t);if(r){let i=await r.confirmations();if(i>=1)return this.logger.debug("Transaction is available on chain",{txId:t,tx:r,confirmations:i}),!0}return this.logger.debug("Transaction not yet available on chain",{txId:t,tx:r}),!1}};J();K();z();var B7=class extends vE{constructor({tokenContractAddress:t,logger:r=ku.default,gatewayUrl:i=af.ethereum,pollingOptions:n}){super({logger:r,gatewayUrl:i,pollingOptions:n}),this.tokenContract=new s3.Contract(t,["function decimals() view returns (uint8)","function balanceOf(address) view returns (uint256)","function transfer(address to, uint256 value) returns (bool)"],this.rpcProvider)}async createAndSubmitTx({target:t,tokenAmount:r,signer:i,turboCreditDestinationAddress:n}){try{let o,d;if(i.signer instanceof m0){let T=new i0(this.gatewayUrl),M=fe.from(i.signer.key).toString("hex");d=new zR(M,T),o=this.tokenContract.connect(d)}else if(i.walletAdapter!==void 0&&ON(i.walletAdapter))d=i.walletAdapter.getSigner(),o=this.tokenContract.connect(d);else throw new Error("Unsupported signer -- must be EthereumSigner or have a walletAdapter implementing getSigner");let y=o.interface.encodeFunctionData("transfer",[t,r.toString()]),_=xF(n);_!==void 0&&(y+=_.slice(2));let I={to:await o.getAddress(),data:y};this.logger.debug("Submitting ERC20 transfer",{target:t,tokenAmount:r.toString(),rpcEndpoint:this.gatewayUrl,txRequest:I});let N=await d.sendTransaction(I);return this.logger.debug("ERC20 transfer submitted",{txHash:N.hash,target:t,tx:N}),{id:N.hash,target:t}}catch(o){throw this.logger.error("Error creating/submitting ERC20 tx",{error:o instanceof Error?o.message:o,target:t,tokenAmount:r,rpcEndpoint:this.gatewayUrl}),o}}};J();K();z();var Ere=po(R_(),1),vre=po($l(),1),RRt=po(Ps(),1),SRt=po(SS(),1),G5=po(vRt(),1);function _Rn(e){return e.tx_response!==void 0}var X6o=e=>e,IRt=e=>new Qa(e).times(1e6).valueOf(),bre=class{constructor({logger:t=ku.default,gatewayUrl:r=af.kyve,pollingOptions:i={maxAttempts:5,pollingIntervalMs:1e3,initialBackoffMs:500}}){this.logger=t,this.gatewayUrl=r,this.pollingOptions=i}async createAndSubmitTx({target:t,tokenAmount:r,signer:i}){this.logger.debug("Creating and submitting transaction...",{target:t,tokenAmount:r,signer:i});let n=this.gatewayUrl.includes("kaon")?"kaon-1":this.gatewayUrl.includes("korellia")?"korellia-2":"kyve-1";return{id:await this.sendTokens({chainId:n,privateKeyUint8Array:i.signer.key,recipientAddress:t,amount:r.toString()}),target:t}}async pollTxAvailability({txId:t}){let{maxAttempts:r,pollingIntervalMs:i,initialBackoffMs:n}=this.pollingOptions;this.logger.debug("Polling for transaction...",{txId:t,pollingOptions:this.pollingOptions}),await qf(n);let o=0;for(;o<r;){let d;o++;try{let g=await fetch(this.gatewayUrl+"/cosmos/tx/v1beta1/txs/"+t);g.ok&&(d=await g.json())}catch(g){this.logger.debug("Failed to poll for transaction...",{err:g})}if(d!==void 0&&_Rn(d)){if(d.tx_response.code!==0)throw new Error(`Transaction failed: ${d.tx_response.code}`);return}this.logger.debug("Transaction not found, polling...",{txId:t,attempts:o,maxAttempts:r,pollingIntervalMs:i}),await qf(i)}throw new Error("Transaction not found after polling, transaction id: "+t)}async sendTokens({chainId:t,privateKeyUint8Array:r,recipientAddress:i,amount:n,gasMultiplier:o=1.5}){let d=bRn[t];if(d===void 0)throw new Error(`Unsupported chain ID: ${t}`);let g=await SRt.DirectSecp256k1Wallet.fromKey(r,"kyve"),[y]=await g.getAccounts(),_=y.address,I=G5.GasPrice.fromString(`${d.gasPrice}${d.coinDenom}`),N=await G5.SigningStargateClient.connectWithSigner(d.rpc,g,{gasPrice:I}),M={typeUrl:"/cosmos.bank.v1beta1.MsgSend",value:{fromAddress:_,toAddress:i,amount:[{denom:d.coinDenom,amount:n}]}},D=await N.simulate(_,[M],""),P=(0,G5.calculateFee)(Math.round(D*o),G5.GasPrice.fromString(`${d.gasPrice}${d.coinDenom}`));return(await N.sendTokens(_,i,[{denom:d.coinDenom,amount:n}],P,"")).transactionHash}};function mRn(e){return new m0(e)}async function yRn(e){let t=await Ere.Secp256k1HdWallet.fromMnemonic(e,{prefix:"kyve"});return(0,RRt.toHex)(vre.Slip10.derivePath(vre.Slip10Curve.Secp256k1,t.seed,(0,Ere.makeCosmoshubPath)(0)).privkey)}async function Z6o(e){let t=await yRn(e);return mRn(t)}var bRn={"kyve-1":{chainId:"kyve-1",chainName:"KYVE",rpc:"https://rpc.kyve.network",rest:"https://api.kyve.network",coin:"KYVE",coinDenom:"ukyve",coinDecimals:6,gasPrice:62.5},"kaon-1":{chainId:"kaon-1",chainName:"KYVE Kaon",rpc:"https://rpc.kaon.kyve.network",rest:"https://api.kaon.kyve.network",coin:"KYVE",coinDenom:"tkyve",coinDecimals:6,gasPrice:.02},"korellia-2":{chainId:"korellia-2",chainName:"KYVE Korellia",rpc:"https://rpc.korellia.kyve.network",rest:"https://api.korellia.kyve.network",coin:"KYVE",coinDenom:"tkyve",coinDecimals:6,gasPrice:62.5},"kyve-beta":{chainId:"kyve-beta",chainName:"KYVE-Beta",rpc:"https://rpc.beta.kyve.network",rest:"https://api.beta.kyve.network",coin:"KYVE",coinDenom:"tkyve",coinDecimals:6,gasPrice:2},"kyve-alpha":{chainId:"kyve-alpha",chainName:"KYVE Alpha",rpc:"https://rpc.alpha.kyve.network",rest:"https://api.alpha.kyve.network",coin:"KYVE",coinDenom:"tkyve",coinDecimals:6,gasPrice:2},"kyve-local":{chainId:"kyve-local",chainName:"KYVE Local",rpc:"http://0.0.0.0:26657",rest:"http://0.0.0.0:1317",coin:"KYVE",coinDenom:"tkyve",coinDecimals:6,gasPrice:2}};J();K();z();var cTe=NF,uTe={maxAttempts:10,initialBackoffMs:5e3,pollingIntervalMs:1e3},zQ=class extends vE{constructor({logger:t=ku.default,gatewayUrl:r=af.pol,pollingOptions:i=uTe}={}){super({logger:t,gatewayUrl:r,pollingOptions:i})}};J();K();z();var ERn=(e=!1)=>({ethereum:{tokenContractAddress:e?IRn:vRn,rpcEndpoint:e?PY.ethereum:af.ethereum,defaultPollingOptions:hEe},base:{tokenContractAddress:e?CRn:RRn,rpcEndpoint:e?PY["base-eth"]:af["base-eth"],defaultPollingOptions:TF},polygon:{tokenContractAddress:e?wRn:SRn,rpcEndpoint:e?PY.pol:af.pol,defaultPollingOptions:uTe}}),vRn="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",RRn="0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",SRn="0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",IRn="0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",CRn="0x036CbD53842c5426634e7929541eC2318f3dCF7e",wRn="0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582";var KQ=e=>new Qa(e).times(1e6).valueOf(),oM=class extends B7{constructor({network:t="ethereum",logger:r,gatewayUrl:i,tokenContractAddress:n,pollingOptions:o,useDevnet:d}={}){d===void 0&&(d=["sepolia","amoy"].some(N=>(i??"").toLowerCase().includes(N)));let{tokenContractAddress:g,rpcEndpoint:y,defaultPollingOptions:_}=ERn(d)[t];super({tokenContractAddress:n??g,logger:r,gatewayUrl:i??y,pollingOptions:o??_})}};var ORn="0x138746adfA52909E5920def027f5a8dc1C7EfFb6",wRt={arweave:e=>new uee(e),ario:e=>new see(e),solana:e=>new aee(e),ethereum:e=>new vE(e),"base-eth":e=>new dee(e),kyve:e=>new bre(e),matic:e=>new zQ(e),pol:e=>new zQ(e),usdc:e=>new oM({network:"ethereum",...e}),"base-usdc":e=>new oM({network:"base",...e}),"polygon-usdc":e=>new oM({network:"polygon",...e}),"base-ario":e=>new B7({...e,pollingOptions:e.pollingOptions??TF,tokenContractAddress:ORn,gatewayUrl:e.gatewayUrl??af["base-ario"]})},Rre=18,dTe=6,CRt=6,Sre={arweave:12,ario:CRt,"base-ario":CRt,solana:9,ethereum:Rre,"base-eth":Rre,kyve:6,matic:Rre,pol:Rre,usdc:dTe,"base-usdc":dTe,"polygon-usdc":dTe},$Q={arweave:e=>n2t(e),ario:e=>J_t(e),"base-ario":e=>KQ(e),solana:e=>V_t(e),ethereum:e=>NF(e),"base-eth":e=>NF(e),kyve:e=>IRt(e),matic:e=>cTe(e),pol:e=>cTe(e),usdc:e=>KQ(e),"base-usdc":e=>KQ(e),"polygon-usdc":e=>KQ(e)};function DIo(e){return KJ.includes(e)}var ORt="https://payment.ardrive.dev",Cre="https://payment.ardrive.io",q5=class{constructor({url:t=Cre,logger:r=ku.default,retryConfig:i=SF(r),token:n="arweave"}){this.logger=r,this.httpService=new x7({url:`${t}/v1`,retryConfig:i,logger:this.logger}),this.token=n,this.url=t}async getBalance(t){let r=await this.httpService.get({endpoint:`/account/balance/${this.token}?address=${t}`,allowedStatuses:[200,404]});return r.winc?r:{winc:"0",controlledWinc:"0",effectiveBalance:"0",givenApprovals:[],receivedApprovals:[]}}getFiatRates(){return this.httpService.get({endpoint:"/rates"})}getFiatToAR({currency:t}){return this.httpService.get({endpoint:`/rates/${t}`})}getSupportedCountries(){return this.httpService.get({endpoint:"/countries"})}getSupportedCurrencies(){return this.httpService.get({endpoint:"/currencies"})}async getUploadCosts({bytes:t}){let r=t.map(n=>this.httpService.get({endpoint:`/price/bytes/${n}`}));return await Promise.all(r)}getWincForFiat({amount:t,promoCodes:r=[],nativeAddress:i="placeholder"}){return this.httpService.get({endpoint:`/price/${t.type}/${t.amount}?destinationAddress=${i}&${this.appendPromoCodesToQuery(r)}`})}async getWincForToken({tokenAmount:t}){let{actualPaymentAmount:r,fees:i,winc:n}=await this.httpService.get({endpoint:`/price/${this.token}/${t}`});return{winc:n,fees:i,actualTokenAmount:t.toString(),equivalentWincTokenAmount:r.toString()}}appendPromoCodesToQuery(t){let r=t.join(",");return r?`promoCode=${r}`:""}async getTurboCryptoWallets(){let{addresses:t}=await this.httpService.get({endpoint:"/info"});return t}async getCheckout({amount:t,owner:r,promoCodes:i=[],uiMode:n="hosted",...o},d="checkout-session",g){let{amount:y,type:_}=t,I=new URLSearchParams;I.append("token",this.token),n&&I.append("uiMode",n),i.length>0&&I.append("promoCode",i.join(",")),"successUrl"in o&&o.successUrl!==void 0&&I.append("successUrl",o.successUrl),"cancelUrl"in o&&o.cancelUrl!==void 0&&I.append("cancelUrl",o.cancelUrl),"returnUrl"in o&&o.returnUrl!==void 0&&I.append("returnUrl",o.returnUrl);let N=`/top-up/${d}/${r}/${_}/${y}?${I.toString()}`,{adjustments:T,paymentSession:M,topUpQuote:D,fees:P}=await this.httpService.get({endpoint:N,headers:g});return{winc:D.winstonCreditAmount,adjustments:T,fees:P,url:M.url??void 0,id:M.id,client_secret:M.client_secret??void 0,paymentAmount:D.paymentAmount,actualPaymentAmount:D.paymentAmount,quotedPaymentAmount:D.quotedPaymentAmount}}createCheckoutSession(t){return this.getCheckout(t)}async submitFundTransaction({txId:t}){this.logger.debug("Submitting fund transaction to Turbo...",{txId:t,url:this.url});let r=await this.httpService.post({endpoint:`/account/balance/${this.token}`,data:fe.from(JSON.stringify({tx_id:t}))});if("creditedTransaction"in r)return{id:r.creditedTransaction.transactionId,quantity:r.creditedTransaction.transactionQuantity,owner:r.creditedTransaction.transactionSenderAddress??r.creditedTransaction.destinationAddress,winc:r.creditedTransaction.winstonCreditAmount,token:r.creditedTransaction.tokenType,status:"confirmed",block:r.creditedTransaction.blockHeight,recipient:r.creditedTransaction.destinationAddress};if("pendingTransaction"in r)return{id:r.pendingTransaction.transactionId,quantity:r.pendingTransaction.transactionQuantity,owner:r.pendingTransaction.transactionSenderAddress??r.pendingTransaction.destinationAddress,winc:r.pendingTransaction.winstonCreditAmount,token:r.pendingTransaction.tokenType,status:"pending",recipient:r.pendingTransaction.destinationAddress};if("failedTransaction"in r)return{id:r.failedTransaction.transactionId,quantity:r.failedTransaction.transactionQuantity,owner:r.failedTransaction.transactionSenderAddress??r.failedTransaction.destinationAddress,winc:r.failedTransaction.winstonCreditAmount,token:r.failedTransaction.tokenType,status:"failed",recipient:r.failedTransaction.destinationAddress};throw new Error("Unknown response from payment service: "+r)}async getCreditShareApprovals({userAddress:t}){let r=await this.httpService.get({endpoint:`/account/approvals/get?userAddress=${t}`,allowedStatuses:[200,404]});return r?.givenApprovals===void 0&&r?.receivedApprovals===void 0?{givenApprovals:[],receivedApprovals:[]}:r}async getFiatEstimateForBytes({byteCount:t,currency:r}){let i=await this.getUploadCosts({bytes:[t]}),{winc:n,fiat:o}=await this.getFiatRates(),d=new Qa(i[0].winc).dividedBy(new Qa(n)).times(o[r]),g=r==="jpy"?+d.integerValue(Qa.ROUND_CEIL):+d.decimalPlaces(2,Qa.ROUND_CEIL);return{byteCount:t,amount:g,currency:r,winc:i[0].winc}}async getTokenPriceForBytes({byteCount:t}){let r=(await this.getWincForToken({tokenAmount:$Q[this.token](1)})).winc,i=(await this.getUploadCosts({bytes:[2**30]}))[0].winc,o=new Qa(i).dividedBy(r).dividedBy(2**30).times(t).toFixed(Sre[this.token]);return{byteCount:t,tokenPrice:o,token:this.token}}async createPaymentIntent(t){return this.getCheckout(t,"payment-intent")}},Ire=class extends q5{constructor({url:t=Cre,retryConfig:r,signer:i,logger:n=ku.default,token:o="arweave",tokenTools:d}){super({url:t,retryConfig:r,logger:n,token:o}),this.signer=i,this.tokenTools=d}async getBalance(t){return t??=await this.signer.getNativeAddress(),super.getBalance(t)}async getCreditShareApprovals({userAddress:t}){return t??=await this.signer.getNativeAddress(),super.getCreditShareApprovals({userAddress:t})}async getWincForFiat({amount:t,promoCodes:r=[]}){return super.getWincForFiat({amount:t,promoCodes:r,nativeAddress:await this.signer.getNativeAddress()})}async createCheckoutSession(t){return this.getCheckout(t)}async getTargetWalletForFund(){let{addresses:t}=await this.httpService.get({endpoint:"/info"}),r=t[this.token];if(!r)throw new Error(`No wallet address found for token type: ${this.token}`);return r}async topUpWithTokens({feeMultiplier:t=1,tokenAmount:r,turboCreditDestinationAddress:i}){if(!this.tokenTools)throw new Error(`Token type not supported for crypto fund ${this.token}`);if(i!==void 0&&Zst(i)===!1)throw new Error(`Invalid turboCreditDestinationAddress provided: ${i}`);let n=new Qa(r),o=await this.getTargetWalletForFund();this.logger.debug("Funding account...",{feeMultiplier:t,tokenAmount:n,target:o,token:this.token,turboCreditDestinationAddress:i});let d=await this.tokenTools.createAndSubmitTx({target:o,tokenAmount:n,feeMultiplier:t,signer:this.signer,turboCreditDestinationAddress:i}),g=d.id;try{await this.tokenTools.pollTxAvailability({txId:g})}catch(y){this.logger.error(`Failed to poll for transaction being available from ${this.token} gateway... Attempting to submit fund tx to Turbo...`,y)}try{return{...await this.submitFundTransaction({txId:g}),target:d.target,reward:d.reward}}catch(y){throw this.logger.debug("Failed to submit fund transaction...",y),Error(`Failed to submit fund transaction! Save this Transaction ID and try again with 'turbo.submitFundTransaction(id)': ${g}`)}}};J();K();z();J();K();z();J();K();z();var NRn=Object.defineProperty,xRn=(e,t,r)=>t in e?NRn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,YQ=(e,t,r)=>(xRn(e,typeof t!="symbol"?t+"":t,r),r),fTe=class{constructor(t){YQ(this,"value"),YQ(this,"next"),this.value=t}},lTe=class{constructor(){YQ(this,"head"),YQ(this,"tail"),YQ(this,"_size",0),this.clear()}clear(){this.head=void 0,this.tail=void 0,this._size=0}push(t){let r=new fTe(t);return this.head&&this.tail?(this.tail.next=r,this.tail=r):(this.head=r,this.tail=r),this._size++,this._size}pop(){if(!this.head)return;let t=this.head;return this.head=this.head.next,this._size--,t.value}get size(){return this._size}*[Symbol.iterator](){let t=this.head;for(;t;)yield t.value,t=t.next}};function wre(e){if(!((Number.isInteger(e)||e===1/0)&&e>0))throw new TypeError("Expected `concurrency` to be a number greater than 1");let t=new lTe,r=0,i=()=>{r--,t.size>0&&t.pop()()},n=async(g,y,_)=>{r++;let I=(async()=>g(..._))();y(I);try{await I}catch{}i()},o=(g,y,_)=>{t.push(n.bind(null,g,y,_)),(async()=>(await Promise.resolve(),r<e&&t.size>0&&t.pop()()))()},d=(g,...y)=>new Promise(_=>{o(g,_,y)});return Object.defineProperties(d,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),d}J();K();z();J();K();z();qk();function TRn({data:e,dataSize:t,emitter:r,eventNamesMap:i}){let n=e instanceof ReadableStream?e:new ReadableStream({start:y=>{y.enqueue(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),y.close()}}),o=0,d;return{stream:new ReadableStream({start(){d=n.getReader()},async pull(y){try{let{value:_,done:I}=await d.read();if(I){r.emit(i["on-end"]),y.close();return}o+=_.byteLength,r.emit(i["on-progress"],{processedBytes:o,totalBytes:t}),y.enqueue(new Uint8Array(_.buffer,_.byteOffset,_.byteLength))}catch(_){r.emit(i["on-error"],_),y.error(_)}},cancel(y){return d.cancel(y)}}),resume:()=>{}}}function BRn({data:e,dataSize:t,emitter:r,eventNamesMap:i}){let n=e instanceof eI?e:eI.from(e),o=new VJ;n.pause();let d=0;return n.on("data",g=>{o.write(g),d+=g.byteLength,r.emit(i["on-progress"],{processedBytes:d,totalBytes:t})}),n.on("end",()=>{r.emit(i["on-end"]),o.end()}),n.on("error",g=>{r.emit(i["on-error"],g),o.destroy(g)}),{stream:o,resume:()=>n.resume()}}function NRt({data:e,dataSize:t,emitter:r,eventNamesMap:i}){if(e instanceof ReadableStream||typeof window<"u"&&e instanceof fe)return TRn({data:e,dataSize:t,emitter:r,eventNamesMap:i});if(e instanceof eI||e instanceof fe)return BRn({data:e,dataSize:t,emitter:r,eventNamesMap:i});throw new Error("Invalid data or platform type")}var uv=class extends mx.default{constructor({onProgress:t,onError:r,onSuccess:i,onUploadProgress:n,onUploadError:o,onUploadSuccess:d,onSigningProgress:g,onSigningError:y,onSigningSuccess:_,onFileStart:I,onFileProgress:N,onFileComplete:T,onFileError:M,onFolderProgress:D,onFolderError:P,onFolderSuccess:G}={}){super(),n!==void 0&&this.on("upload-progress",n),o!==void 0&&this.on("upload-error",o),d!==void 0&&this.on("upload-success",d),g!==void 0&&this.on("signing-progress",g),y!==void 0&&this.on("signing-error",y),_!==void 0&&this.on("signing-success",_),t!==void 0&&this.on("overall-progress",t),r!==void 0&&this.on("overall-error",r),i!==void 0&&this.on("overall-success",i),this.on("signing-progress",q=>{this.emit("overall-progress",{...q,processedBytes:q.processedBytes/2,totalBytes:q.totalBytes,step:"signing"})}),this.on("signing-error",q=>{this.emit("overall-error",q)}),this.on("upload-progress",q=>{this.emit("overall-progress",{...q,processedBytes:q.totalBytes/2+q.processedBytes/2,totalBytes:q.totalBytes,step:"upload"})}),this.on("upload-error",q=>{this.emit("overall-error",q)}),this.on("upload-success",()=>{this.emit("overall-success")}),I!==void 0&&this.on("file-upload-start",I),N!==void 0&&this.on("file-upload-progress",N),T!==void 0&&this.on("file-upload-complete",T),M!==void 0&&this.on("file-upload-error",M),D!==void 0&&this.on("folder-progress",D),P!==void 0&&this.on("folder-error",P),G!==void 0&&this.on("folder-success",G)}};function Ore({data:e,dataSize:t,emitter:r=new uv}){return NRt({data:e,dataSize:t,emitter:r,eventNamesMap:{"on-progress":"upload-progress","on-error":"upload-error","on-end":"upload-success"}})}function c3o({data:e,dataSize:t,emitter:r=new uv}){return NRt({data:e,dataSize:t,emitter:r,eventNamesMap:{"on-progress":"signing-progress","on-error":"signing-error","on-end":"signing-success"}})}var ATe=5*1024*1024,MRn=ATe*100,DRn=5,kRn=256;var PRn=ATe,LRn=PRn,URn=2,hTe={"x-chunking-version":"2"},Nre=class{constructor({http:t,token:r,maxChunkConcurrency:i=DRn,maxFinalizeMs:n,chunkByteCount:o=LRn,logger:d=ku.default,chunkingMode:g="auto",dataItemByteCount:y}){this.assertChunkParams({chunkByteCount:o,chunkingMode:g,maxChunkConcurrency:i,maxFinalizeMs:n}),this.chunkByteCount=o,this.maxChunkConcurrency=i,this.maxFinalizeMs=n,this.http=t,this.token=r,this.logger=d,this.shouldUseChunkUploader=this.shouldChunkUpload({chunkByteCount:o,chunkingMode:g,dataItemByteCount:y}),this.maxBacklogQueue=this.maxChunkConcurrency*URn}shouldChunkUpload({chunkByteCount:t,chunkingMode:r,dataItemByteCount:i}){return r==="disabled"?!1:r==="force"?!0:i>t*2}assertChunkParams({chunkByteCount:t,chunkingMode:r,maxChunkConcurrency:i,maxFinalizeMs:n}){if(n!==void 0&&(Number.isNaN(n)||!Number.isInteger(n)||n<0))throw new Error("Invalid max finalization wait time. Must be a non-negative integer.");if(Number.isNaN(i)||!Number.isInteger(i)||i<1||i>kRn)throw new Error("Invalid max chunk concurrency. Must be an integer of at least 1 and at most 256.");if(Number.isNaN(t)||!Number.isInteger(t)||t<ATe||t>MRn)throw new Error("Invalid chunk size. Must be an integer between 5 MiB and 500 MiB.");if(typeof r!="string"||!ble.includes(r))throw new Error(`Invalid chunking mode. Must be one of: ${ble.join(", ")}`)}async initUpload(){let t=await this.http.get({endpoint:`/chunks/${this.token}/-1/-1?chunkSize=${this.chunkByteCount}`,headers:hTe});return t.chunkSize!==this.chunkByteCount&&(this.logger.warn("Chunk size mismatch! Overriding with server value.",{clientExpected:this.chunkByteCount,serverReturned:t.chunkSize}),this.chunkByteCount=t.chunkSize),t.id}async upload({dataItemSizeFactory:t,dataItemStreamFactory:r,dataItemOpts:i,signal:n,events:o}){let d=await this.initUpload(),g=t(),y=new uv(o),{stream:_,resume:I}=Ore({data:r(),dataSize:g,emitter:y});this.logger.debug("Starting chunked upload",{token:this.token,uploadId:d,totalSize:g,chunkByteCount:this.chunkByteCount,maxChunkConcurrency:this.maxChunkConcurrency,inputStreamType:xRt(_)?"ReadableStream":"Readable"});let N=new Set,T=new AbortController,M=GRn([T.signal,n]),D=wre(this.maxChunkConcurrency),P=0,G=0,q,Y=0,ne=FRn(_,this.chunkByteCount);I();for await(let le of ne){if(M?.aborted){T.abort(),await Promise.allSettled(N),q??=new EE;break}let pe=++G,ae=le.length,W=P;P+=ae;let se=D(async()=>{q===void 0&&(this.logger.debug("Uploading chunk",{chunkPartNumber:pe,chunkOffset:W,chunkByteCount:ae}),await this.http.post({endpoint:`/chunks/${this.token}/${d}/${W}`,data:le,headers:{"Content-Type":"application/octet-stream",...hTe},signal:M}),Y+=ae,this.logger.debug("Chunk uploaded",{chunkPartNumber:pe,chunkOffset:W,chunkByteCount:ae}),y.emit("upload-progress",{processedBytes:Y,totalBytes:g}))}).catch(O=>{this.logger.error("Chunk upload failed",{id:pe,offset:W,size:ae,err:O}),y.emit("upload-error",O),T.abort(O),q=q??O});if(N.add(se),se.finally(()=>N.delete(se)),N.size>=this.maxBacklogQueue&&(await Promise.race(N),M?.aborted)){T.abort(),await Promise.allSettled(N),q??=new EE;break}}if(await Promise.all(N),q!==void 0)throw q;let ce=await this.finalizeUpload(d,g,i?.paidBy,M);return y.emit("upload-success"),ce}toGiB(t){return t/1024**3}async finalizeUpload(t,r,i,n){let o=Math.ceil(this.toGiB(r)),d=o*2.5,g=this.maxFinalizeMs??Math.floor(d*60*1e3),y=r<1024*1024*100?2e3:r<1024*1024*1024*3?4e3:Math.max(1500*o,15e3),_={};i!==void 0&&(_["x-paid-by"]=Array.isArray(i)?i.join(","):i),await this.http.post({endpoint:`/chunks/${this.token}/${t}/finalize`,data:fe.alloc(0),headers:{"Content-Type":"application/octet-stream",..._,...hTe},signal:n}),this.logger.debug(`Confirming upload to Turbo with uploadId ${t} for up to ${g/1e3/60} minutes.`);let I=Date.now(),N=I+g,T=0;for(;Date.now()<N;){let M=Math.min(Math.floor((N-Date.now())*.75),y);if(await qf(M),n?.aborted)throw this.logger.warn("Upload finalization aborted by signal."),new EE;let D=await this.http.get({endpoint:`/chunks/${this.token}/${t}/status`,signal:n});if(this.logger.debug(`Upload status found: ${D.status}`,{status:D.status,attempts:T++,maxWaitTimeMs:g,minimumWaitPerStepMs:y,waitTimeMs:M,elapsedMs:Date.now()-I}),D.status==="FINALIZED")return this.logger.debug("Upload finalized successfully."),D.receipt;if(D.status==="UNDERFUNDED")throw new yg("Insufficient balance",402);if(hXe.includes(D.status))throw new yg(`Upload failed with multi-part status ${D.status}`)}throw new Error(`Upload multi-part finalization has timed out for Upload ID ${t}`)}};async function*FRn(e,t){xRt(e)?yield*HRn(e,t):yield*QRn(e,t)}async function*QRn(e,t){let r=[],i=0,n;for await(let o of e){let d=o instanceof Uint8Array?new Uint8Array(o.buffer,o.byteOffset,o.byteLength):(n??=new TextEncoder).encode(String(o));for(r.push(d),i+=d.length;i>=t;){let g=new Uint8Array(t),y=g.length,_=0;for(;y>0;){let I=r[0],N=Math.min(y,I.length);g.set(I.subarray(0,N),_),_+=N,y-=N,N===I.length?r.shift():r[0]=I.subarray(N)}i-=t,yield fe.from(g.buffer,g.byteOffset,g.byteLength)}}if(i>0){let o=new Uint8Array(i),d=0;for(;r.length>0;){let g=r.shift();o.set(g,d),d+=g.length}yield fe.from(o.buffer,o.byteOffset,o.byteLength)}}async function*HRn(e,t){let r=e.getReader(),i=[],n=0;try{for(;;){let{value:o,done:d}=await r.read();if(d)break;let g=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);for(i.push(g),n+=g.length;n>=t;){let y=new Uint8Array(t),_=y.length,I=0;for(;_>0;){let N=i[0],T=Math.min(_,N.length);y.set(N.subarray(0,T),I),I+=T,_-=T,T===N.length?i.shift():i[0]=N.subarray(T)}n-=t,yield fe.from(y.buffer,y.byteOffset,y.byteLength)}}if(n>0){let o=new Uint8Array(n),d=0;for(;i.length>0;){let g=i.shift();o.set(g,d),d+=g.length}yield fe.from(o.buffer,o.byteOffset,o.byteLength)}}finally{r.releaseLock()}}function xRt(e){return typeof ReadableStream<"u"&&e instanceof ReadableStream?!0:e!==null&&typeof e=="object"&&"getReader"in e&&typeof e.getReader=="function"}function GRn(e){let t=e.filter(Boolean);if(t.length===0)return;let r=AbortSignal.any;if(typeof r=="function")return r(t);let i=new AbortController;for(let n of t){let o=n;if(o.aborted){i.abort(o.reason);break}let d=()=>i.abort(o.reason);n.addEventListener("abort",d,{once:!0})}return i.signal}J();K();z();J();K();z();var xre=class{constructor(t,r){this.amt=t;this.type=r;if(t<0)throw new N7(`${r} currency amount cannot be negative`);this.assertDecimalPlaces(t)}assertDecimalPlaces(t){if(t%1!==0)throw new N7(`${this.type} currency amount must have zero decimal places`)}get amount(){return this.amt}},By=class extends xre{constructor(r,i){super(r,i);this.a=r;this.type=i}assertDecimalPlaces(r){if(r*100%1!==0)throw new N7(`${this.type} currency amount must have two decimal places`)}get amount(){return this.a*100}},qRn=e=>new By(e,"usd"),VRn=e=>new By(e,"eur"),JRn=e=>new By(e,"gbp"),zRn=e=>new By(e,"cad"),KRn=e=>new By(e,"aud"),$Rn=e=>new By(e,"inr"),YRn=e=>new By(e,"sgd"),WRn=e=>new By(e,"hkd"),XRn=e=>new By(e,"brl"),ZRn=e=>new xre(e,"jpy"),B3o={usd:qRn,eur:VRn,gbp:JRn,cad:zRn,aud:KRn,inr:$Rn,sgd:YRn,hkd:WRn,brl:XRn,jpy:ZRn};J();K();z();var BRt=po(R_(),1),MRt=po($l(),1),DRt=po(Ps(),1);var kRt=po(oee(),1);IA();var PRt=po(TRt(),1);var Bre=class{constructor({signer:t,logger:r=ku.default,token:i,walletAdapter:n}){this.logger=r,this.signer=t,this.token=i,this.walletAdapter=n}ownerToNativeAddress(t,r){switch(r){case"solana":return kRt.default.encode(Uint8Array.from(OF(t)));case"ethereum":case"matic":case"pol":case"base-eth":case"usdc":case"base-usdc":case"base-ario":case"polygon-usdc":return rg(fk(OF(t)));case"kyve":return(0,BRt.pubkeyToAddress)({type:"tendermint/PubKeySecp256k1",value:(0,DRt.toBase64)(MRt.Secp256k1.compressPubkey(Uint8Array.from(OF(t))))},"kyve");case"arweave":case"ario":return r2t(t)}}async generateSignedRequestHeaders(){let t=f0e(16).toString("hex"),r=fe.from(t),i=await this.signer.sign(Uint8Array.from(r));return{"x-public-key":W3(this.signer.publicKey),"x-nonce":t,"x-signature":W3(fe.from(i))}}async getPublicKey(){return this.signer.publicKey}async getNativeAddress(){return this.ownerToNativeAddress(W3(await this.getPublicKey()),this.token)}async sendTransaction({target:t,amount:r,gatewayUrl:i,turboCreditDestinationAddress:n}){if(this.walletAdapter){if(zk(this.walletAdapter)){let N=new TI(i,"confirmed"),T=new xi(this.walletAdapter.publicKey.toString()),M=new Us({feePayer:T,...await N.getLatestBlockhash()});M.add(Td.transfer({fromPubkey:T,toPubkey:new xi(t),lamports:+new Qa(r)})),n!==void 0&&M.add(new ms({programId:new xi(wF),keys:[],data:fe.from("turboCreditDestinationAddress="+n)}));let D=await this.walletAdapter.signTransaction(M);return await N.sendRawTransaction(D.serialize())}if(!ON(this.walletAdapter))throw new Error("Unsupported wallet adapter -- must implement getSigner");let _=this.walletAdapter.getSigner();if(_.sendTransaction===void 0)throw new Error("Unsupported wallet adapter -- getSigner must return a signer with sendTransaction API for crypto funds transfer");let{hash:I}=await _.sendTransaction({to:t,value:Mx(r.toFixed(18)),data:xF(n)});return I}if(!(this.signer instanceof m0))throw new Error("Only EthereumSigner is supported for sendTransaction API currently!");let o=fe.from(this.signer.key).toString("hex"),d=new s3.JsonRpcProvider(i),y=await new zR(o,d).sendTransaction({to:t,value:Mx(r.toFixed(18)),data:xF(n)});return this.logger.debug("Sent transaction",{tx:y}),y.hash}async signData(t){if(this.signer instanceof bb){let r=this.signer.key,i=Uint8Array.from(await this.getPublicKey()),n=new Uint8Array(r.length+i.length);return n.set(r),n.set(i,r.length),PRt.default.sign.detached(t,n)}return this.signer.sign(t)}};async function pTe(e){if(e instanceof m0)return o7({account:jU("0x"+fe.from(e.key).toString("hex")),chain:f5,transport:a7()});if(typeof window<"u"&&window.ethereum){let t=window.ethereum,r=await t.request({method:"eth_requestAccounts"});if(r===void 0||r.length===0)throw new Error("No accounts returned from wallet");let i=r[0];return o7({account:i,chain:f5,transport:cme(t)})}throw new Error("Unable to construct x402 signer for x402 options")}function jRn(e){return"fileStreamFactory"in e}function eSn(e){return"file"in e}var Mre={shareCredits:"x-approve-payment",sharedWincAmount:"x-amount",approvalExpiresBySeconds:"x-expires-seconds",revokeCredits:"x-delete-payment-approval"},LRt="https://upload.ardrive.dev",aM="https://upload.ardrive.io",V5=class{constructor({url:t=aM,logger:r=ku.default,retryConfig:i=SF(r),token:n="arweave"}){this.x402EnabledTokens=["base-usdc"];this.token=n,this.logger=r,this.httpService=new x7({url:`${t}/v1`,retryConfig:i,logger:this.logger}),this.retryConfig=i}async uploadSignedDataItem({dataItemStreamFactory:t,dataItemSizeFactory:r,dataItemOpts:i,signal:n,events:o={},x402Options:d}){let g=r();this.logger.debug("Uploading signed data item...");let y=new uv(o),{stream:_,resume:I}=Ore({data:t(),dataSize:g,emitter:y}),N={"content-type":"application/octet-stream","content-length":`${g}`};if(i!==void 0&&i.paidBy!==void 0){let M=Array.isArray(i.paidBy)?i.paidBy:[i.paidBy];i.paidBy.length>0&&(N["x-paid-by"]=M)}let T=this.httpService.post({endpoint:`/tx/${this.token}`,signal:n,data:_,headers:N,x402Options:d});return I(),T}async uploadRawX402Data({data:t,tags:r,signal:i,maxMUSDCAmount:n,signer:o}){if(!this.x402EnabledTokens.includes(this.token))throw new Error("x402 uploads are not supported for token: "+this.token);this.logger.debug("Uploading raw x402 data...",{maxMUSDCAmount:n?.toString()});let d;if(fe.isBuffer(t))d=t;else if(typeof t=="string"||t instanceof Uint8Array)d=fe.from(t);else if(vge(t))d=fe.from(await t.arrayBuffer());else if(t instanceof ArrayBuffer)d=fe.from(t);else throw new TypeError("Invalid data type for x402 upload");let g=o===void 0?void 0:{signer:await pTe(o.signer),maxMUSDCAmount:n,unsignedData:!0};return this.httpService.post({data:d,endpoint:"/x402/data-item/unsigned",signal:i,headers:r!==void 0?{"x-data-item-tags":JSON.stringify(r)}:void 0,x402Options:g})}},Dre=class extends V5{constructor({url:r=aM,retryConfig:i,signer:n,logger:o,token:d,paymentService:g}){super({url:r,retryConfig:i,logger:o,token:d});this.enabledOnDemandTokens=["ario","solana","base-eth","base-usdc","base-ario"];this.signer=n,this.paymentService=g}upload({data:r,dataItemOpts:i,signal:n,events:o,chunkByteCount:d,chunkingMode:g,maxChunkConcurrency:y,fundingMode:_,maxFinalizeMs:I}){if(vge(r)){let T=()=>r.stream(),M=()=>r.size;return this.uploadFile({fileStreamFactory:T,fileSizeFactory:M,signal:n,dataItemOpts:i,events:o,chunkByteCount:d,chunkingMode:g,maxChunkConcurrency:y,fundingMode:_,maxFinalizeMs:I})}let N=fe.isBuffer(r)?r:typeof r=="string"||r instanceof Uint8Array?fe.from(r):fe.from(r);return this.uploadFile({fileStreamFactory:()=>N,fileSizeFactory:()=>N.byteLength,signal:n,dataItemOpts:i,events:o,chunkByteCount:d,chunkingMode:g,maxChunkConcurrency:y,fundingMode:_,maxFinalizeMs:I})}resolveUploadFileConfig(r){let i,n;if(jRn(r))i=r.fileStreamFactory,n=r.fileSizeFactory;else if(eSn(r)){let o=r.file;i=o instanceof File?()=>this.getFileStreamForFile(o):()=>this.getFileStreamForFile(o),n=()=>this.getFileSize(r.file)}else throw new TypeError("Invalid upload file params. Must be either TurboUploadFileWithStreamFactoryParams or TurboUploadFileWithFileOrPathParams");return{fileStreamFactory:i,fileSizeFactory:n,...r}}async uploadFile(r){let{signal:i,dataItemOpts:n,events:o,fileStreamFactory:d,fileSizeFactory:g,fundingMode:y=new Vk}=this.resolveUploadFileConfig(r);if(y instanceof nC&&!this.x402EnabledTokens.includes(this.token))throw new Error("x402 uploads are not supported for token: "+this.token);if(r.chunkingMode==="force"&&y instanceof nC)throw new Error("Chunking mode 'force' is not supported when x402 is enabled");this.logger.debug("Starting file upload",{params:r});let _=0,I=this.retryConfig.retries??3,N=this.retryConfig.retryDelay??(q=>q*1e3),T,M,D=new uv(o),P;for(;_<I;){if(i?.aborted)throw new EE;let{dataItemStreamFactory:q,dataItemSizeFactory:Y}=await this.signer.signDataItem({fileStreamFactory:d,fileSizeFactory:g,dataItemOpts:n,emitter:D});if(y instanceof Jk&&P===void 0){let ne=Y();P=await this.onDemand({totalByteCount:ne,onDemandFunding:y})}try{let{chunkByteCount:ne,maxChunkConcurrency:ce}=r,le=new Nre({http:this.httpService,token:this.token,maxChunkConcurrency:ce,chunkByteCount:ne,logger:this.logger,dataItemByteCount:Y(),chunkingMode:r.chunkingMode,maxFinalizeMs:r.maxFinalizeMs});if(le.shouldUseChunkUploader&&!(y instanceof nC))return{...await le.upload({dataItemStreamFactory:q,dataItemSizeFactory:Y,dataItemOpts:n,signal:i,events:o}),cryptoFundResult:P};let pe=y instanceof nC?{signer:y.signer??await pTe(this.signer.signer),maxMUSDCAmount:y.maxMUSDCAmount}:void 0;return{...await this.uploadSignedDataItem({dataItemStreamFactory:q,dataItemSizeFactory:Y,dataItemOpts:n,signal:i,events:o,x402Options:pe}),cryptoFundResult:P}}catch(ne){if(T=ne,ne instanceof yg?M=ne.status:M=ne.response?.status,M!==void 0&&M>=400&&M<500)break;this.logger.debug(`Upload failed on attempt ${_+1}/${I+1}`,{message:ne instanceof Error?ne.message:ne},ne),_++;let ce=new Promise(le=>{i?.addEventListener("abort",()=>{le()})});await Promise.race([qf(N(_)),ce])}}let G=`Failed to upload file after ${_+1} attempts +${T instanceof Error?T.message:T}`;throw T instanceof yg?(T.message=G,T):new yg(G,M)}async generateManifest({paths:r,indexFile:i,fallbackFile:n}){let o=i!==void 0&&r[i]?.id!==void 0?i:r["index.html"]?.id!==void 0?"index.html":Object.keys(r)[0],d=n!==void 0&&r[n]?.id!==void 0?r[n].id:r["404.html"]?.id??r[o].id;return{manifest:"arweave/paths",version:"0.2.0",index:{path:o},paths:r,fallback:{id:d}}}getContentType(r,i){let n=i?.tags?.find(o=>o.name==="Content-Type")?.value;return n!==void 0?n:this.contentTypeFromFile(r)}async uploadFolder(r){this.logger.debug("Uploading folder...",{params:r});let{dataItemOpts:i,signal:n,manifestOptions:o={},maxConcurrentUploads:d=1,throwOnFailure:g=!0,maxChunkConcurrency:y,chunkByteCount:_,chunkingMode:I,fundingMode:N=new Vk,maxFinalizeMs:T,events:M={}}=r,{disableManifest:D,indexFile:P,fallbackFile:G}=o,q=new uv(M),Y={},ne={fileResponses:[]},ce=[],le=await this.getFiles(r),pe=le.length,ae=0,W=new Map;le.forEach(R=>{let u=this.getFileSize(R);W.set(R,u),ae+=u});let se=0,O=0,s=async(R,u)=>{let C=this.getFileName(R),U=W.get(R)??0;q.emit("file-upload-start",{fileName:C,fileSize:U,fileIndex:u,totalFiles:pe});let F=this.getContentType(R,i),X={...i,tags:[...i?.tags?.filter(Ae=>Ae.name!=="Content-Type")??[],{name:"Content-Type",value:F}]};try{let Ae=await this.uploadFile({fileStreamFactory:()=>this.getFileStreamForFile(R),fileSizeFactory:()=>U,signal:n,dataItemOpts:X,chunkByteCount:_,maxChunkConcurrency:y,chunkingMode:I,events:{onProgress:$e=>{q.emit("file-upload-progress",{fileName:C,fileIndex:u,totalFiles:pe,fileProcessedBytes:$e.processedBytes,fileTotalBytes:$e.totalBytes,step:$e.step});let Ge=$e.processedBytes;q.emit("folder-progress",{processedFiles:se,totalFiles:pe,processedBytes:O+Ge,totalBytes:ae,currentPhase:"files"})},onError:$e=>{q.emit("file-upload-error",{fileName:C,fileIndex:u,totalFiles:pe,error:$e})}},fundingMode:N}),he=this.getRelativePath(R,r);Y[he]={id:Ae.id},ne.fileResponses.push(Ae),se++,O+=U,q.emit("file-upload-complete",{fileName:C,fileIndex:u,totalFiles:pe,id:Ae.id}),q.emit("folder-progress",{processedFiles:se,totalFiles:pe,processedBytes:O,totalBytes:ae,currentPhase:"files"})}catch(Ae){if(q.emit("file-upload-error",{fileName:C,fileIndex:u,totalFiles:pe,error:Ae}),g)throw q.emit("folder-error",Ae),Ae;this.logger.error(`Error uploading file: ${R}`,Ae),ce.push(Ae)}},l=wre(d),A;if(N instanceof Jk){let R=le.reduce((u,C)=>u+this.getFileSize(C)+1200,0);A=await this.onDemand({totalByteCount:R,onDemandFunding:N})}if(await Promise.all(le.map((R,u)=>l(()=>s(R,u)))),this.logger.debug("Finished uploading files",{numFiles:le.length,numErrors:ce.length,results:ne.fileResponses}),ce.length>0&&(ne.errors=ce),D)return q.emit("folder-success"),ne;q.emit("folder-progress",{processedFiles:se,totalFiles:pe,processedBytes:O,totalBytes:ae,currentPhase:"manifest"});let m=await this.generateManifest({paths:Y,indexFile:P,fallbackFile:G}),E=[...i?.tags?.filter(R=>R.name!=="Content-Type")??[],{name:"Content-Type",value:"application/x.arweave-manifest+json"}],w=fe.from(JSON.stringify(m)),x=await this.uploadFile({fileStreamFactory:()=>this.createManifestStream(w),fileSizeFactory:()=>w.byteLength,signal:n,dataItemOpts:{...i,tags:E},chunkByteCount:_,maxChunkConcurrency:y,maxFinalizeMs:T,chunkingMode:I,fundingMode:N});return q.emit("folder-success"),{...ne,manifest:m,manifestResponse:x,cryptoFundResult:A}}async shareCredits({approvedAddress:r,approvedWincAmount:i,expiresBySeconds:n}){let o={tags:[{name:Mre.shareCredits,value:r},{name:Mre.sharedWincAmount,value:i.toString()}]};n!==void 0&&o.tags.push({name:Mre.approvalExpiresBySeconds,value:n.toString()});let d=fe.from(r+i+Date.now()),{createdApproval:g,...y}=await this.uploadFile({fileStreamFactory:()=>d,fileSizeFactory:()=>d.byteLength,dataItemOpts:o});if(!g)throw new Error(`Failed to create credit share approval but upload has succeeded +`+JSON.stringify(y));return g}async revokeCredits({revokedAddress:r}){let i={tags:[{name:Mre.revokeCredits,value:r}]},n=fe.from(r+Date.now()),{revokedApprovals:o,...d}=await this.uploadFile({fileStreamFactory:()=>n,fileSizeFactory:()=>n.byteLength,dataItemOpts:i});if(!o)throw new Error(`Failed to revoke credit share approvals but upload has succeeded +`+JSON.stringify(d));return o}async onDemand({totalByteCount:r,onDemandFunding:i}){let{maxTokenAmount:n,topUpBufferMultiplier:o}=i,d=await this.paymentService.getBalance(),g=(await this.paymentService.getUploadCosts({bytes:[2**30]}))[0].winc,y=new Qa(g).multipliedBy(r).dividedBy(2**30).toFixed(0,Qa.ROUND_UP);if(Qa(d.effectiveBalance).isGreaterThanOrEqualTo(y)){this.logger.debug("Sufficient balance for on demand upload",{currentBalance:d,expectedWincPrice:y});return}if(this.logger.debug("Insufficient balance for on demand upload",{currentBalance:d,expectedWincPrice:y}),!this.enabledOnDemandTokens.includes(this.token))throw new Error(`On-demand uploads are not supported for token: ${this.token}`);let _=Qa(y).minus(d.effectiveBalance).multipliedBy(o).toFixed(0,Qa.ROUND_UP),I=(await this.paymentService.getWincForToken({tokenAmount:$Q[this.token](1)})).winc,N=new Qa(_).dividedBy(I).multipliedBy($Q[this.token](1)).toFixed(0,Qa.ROUND_UP);if(n!==void 0&&new Qa(N).isGreaterThan(n))throw new Error(`Top up token amount ${new Qa(N).div(Sre[this.token])} is greater than the maximum allowed amount of ${n}`);this.logger.debug(`Topping up wallet with ${N} ${this.token} for ${_} winc`);let T=await this.paymentService.topUpWithTokens({tokenAmount:N});this.logger.debug("Top up transaction submitted",{topUpResponse:T});let M={pollIntervalMs:3*1e3,timeoutMs:120*1e3},D=1,P=Math.ceil(M.timeoutMs/M.pollIntervalMs)-1;for(;T.status!=="confirmed"&&D<P;){this.logger.debug("Tx not yet confirmed, waiting to poll again",{tries:D,maxTries:P}),await qf(M.pollIntervalMs),D++;try{let G=await this.paymentService.submitFundTransaction({txId:T.id});if(G.status==="confirmed"){this.logger.debug("Top-up transaction confirmed and balance updated",{submitFundResult:G}),T.status="confirmed";break}}catch(G){this.logger.warn("Error fetching fund transaction during polling",{message:G instanceof Error?G.message:G})}}return D>=P&&this.logger.warn("Timed out waiting for fund tx to confirm after top-up. Will continue to attempt upload but it may fail if balance is insufficient."),T}async uploadRawX402Data({data:r,tags:i,signal:n,maxMUSDCAmount:o}){return super.uploadRawX402Data({data:r,tags:i,signal:n,maxMUSDCAmount:o,signer:this.signer})}};var E4o={paymentServiceConfig:{url:ORt},uploadServiceConfig:{url:LRt}},v4o={paymentServiceConfig:{url:Cre},uploadServiceConfig:{url:aM}},WQ=class{constructor({uploadService:t=new V5({}),paymentService:r=new q5({})}){this.paymentService=r,this.uploadService=t}getFiatToAR({currency:t}){return this.paymentService.getFiatToAR({currency:t})}getFiatRates(){return this.paymentService.getFiatRates()}getSupportedCountries(){return this.paymentService.getSupportedCountries()}getBalance(t){return this.paymentService.getBalance(t)}getSupportedCurrencies(){return this.paymentService.getSupportedCurrencies()}getUploadCosts({bytes:t}){return this.paymentService.getUploadCosts({bytes:t})}getWincForFiat(t){return this.paymentService.getWincForFiat(t)}getWincForToken(t){return this.paymentService.getWincForToken(t)}getFiatEstimateForBytes({byteCount:t,currency:r}){return this.paymentService.getFiatEstimateForBytes({byteCount:t,currency:r})}getTokenPriceForBytes({byteCount:t}){return this.paymentService.getTokenPriceForBytes({byteCount:t})}uploadSignedDataItem({dataItemStreamFactory:t,dataItemSizeFactory:r,signal:i,events:n}){return this.uploadService.uploadSignedDataItem({dataItemStreamFactory:t,dataItemSizeFactory:r,signal:i,events:n})}createCheckoutSession(t){return this.paymentService.createCheckoutSession(t)}createPaymentIntent(t){return this.paymentService.createPaymentIntent(t)}submitFundTransaction(t){return this.paymentService.submitFundTransaction(t)}async getTurboCryptoWallets(){let t=await this.paymentService.getTurboCryptoWallets();return t.pol=t.matic,t}getCreditShareApprovals(t){return this.paymentService.getCreditShareApprovals(t)}uploadRawX402Data({data:t,tags:r,signal:i,maxMUSDCAmount:n}){return this.uploadService.uploadRawX402Data({data:t,tags:r,signal:i,maxMUSDCAmount:n})}},kre=class extends WQ{constructor({paymentService:t,uploadService:r,signer:i}){super({paymentService:t,uploadService:r}),this.signer=i}getBalance(t){return this.paymentService.getBalance(t)}getCreditShareApprovals(t={}){return this.paymentService.getCreditShareApprovals(t)}upload({data:t,dataItemOpts:r,signal:i,events:n,chunkByteCount:o,chunkingMode:d,maxChunkConcurrency:g,maxFinalizeMs:y,fundingMode:_}){return this.uploadService.upload({data:t,dataItemOpts:r,signal:i,events:n,chunkByteCount:o,chunkingMode:d,maxChunkConcurrency:g,fundingMode:_,maxFinalizeMs:y})}uploadFile(t){return this.uploadService.uploadFile(t)}uploadFolder(t){return this.uploadService.uploadFolder(t)}topUpWithTokens(t){return this.paymentService.topUpWithTokens(t)}shareCredits(t){return this.uploadService.shareCredits(t)}revokeCredits(t){return this.uploadService.revokeCredits(t)}uploadRawX402Data({data:t,tags:r,signal:i,maxMUSDCAmount:n}){return this.uploadService.uploadRawX402Data({data:t,tags:r,signal:i,maxMUSDCAmount:n})}};var Pre=class{static{this.logger=ku.default}static setLogLevel(t){this.logger.setLogLevel(t)}static unauthenticated({paymentServiceConfig:t={},uploadServiceConfig:r={},token:i}={}){i=i==="pol"?"matic":i,i??="arweave";let n=new q5({...t,logger:this.logger,token:i}),o=new V5({...r,logger:this.logger,token:i});return new WQ({uploadService:o,paymentService:n})}getAuthenticatedTurbo({privateKey:t,signer:r,paymentServiceConfig:i={},uploadServiceConfig:n={},token:o,gatewayUrl:d,tokenMap:g,tokenTools:y,logger:_,walletAdapter:I}){if(o=o==="pol"?"matic":o,!o&&r)switch(r.signatureType){case ko.ETHEREUM:case ko.TYPEDETHEREUM:o="ethereum";break;case ko.SOLANA:case ko.ED25519:o="solana";break;case ko.ARWEAVE:o="arweave";break;case ko.KYVE:o="kyve";break;default:break}if(o??="arweave",I){if(zk(I)){let D=I.signMessage.bind(I);I.signMessage=async P=>{let G=await D(P);return"signature"in G?G.signature:G},"toString"in I.publicKey||(I.publicKey.toString=function(){return this.toBuffer().toString("base64")})}r=this.signerFromAdapter(I,o)}let N=this.getSigner({providedSigner:r,providedPrivateKey:t,token:o,logger:_,providedWalletAdapter:I});y||(g&&o==="arweave"&&(y=g.arweave),y=wRt[o]?.({gatewayUrl:d,logger:_}));let T=new Ire({...i,signer:N,logger:_,token:o,tokenTools:y}),M=this.getAuthenticatedUploadService({...n,signer:N,logger:_,token:o,paymentService:T});return new kre({uploadService:M,paymentService:T,signer:N})}signerFromAdapter(t,r){if(r==="solana"){if(!zk(t))throw new Error("Unsupported wallet adapter -- must implement publicKey and signMessage");return new Pm(t)}if(lXe.has(r)){if(!ON(t))throw new Error("Unsupported wallet adapter -- must implement getSigner");return new Xv(t)}throw new Error("Unsupported wallet adapter -- wallet adapter is currently only supported for Solana and Ethereum")}};J();K();z();var Lre=class extends Bre{constructor(t){super(t)}async setPublicKey(){this.signer.publicKey===void 0&&(this.signer instanceof eC||this.signer instanceof Xv)&&await this.signer.setPublicKey()}async getPublicKey(){return await this.setPublicKey(),super.getPublicKey()}async signDataItem({fileStreamFactory:t,fileSizeFactory:r,dataItemOpts:i,emitter:n}){await this.setPublicKey();let o=r();this.logger.debug("Signing data item...");let{signedDataItemFactory:d,signedDataItemSize:g}=await rSn({streamFactory:M_t({data:t()}),signer:this.signer,dataItemOpts:i,fileSize:o,emitter:n});return this.logger.debug("Successfully signed data item..."),{dataItemStreamFactory:d,dataItemSizeFactory:()=>g}}async generateSignedRequestHeaders(){return await this.setPublicKey(),super.generateSignedRequestHeaders()}async signData(t){return await this.setPublicKey(),super.signData(t)}},tSn=e=>({async*[Symbol.asyncIterator](){let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;i!==void 0&&(yield fe.from(i))}}finally{t.releaseLock()}}});async function rSn({streamFactory:e,signer:t,dataItemOpts:r,fileSize:i,emitter:n}){try{let o=Gk("",t,r),d=o.getRaw().byteLength,g=i+d,[y,_]=e().tee(),I=y.getReader(),N=0,T=new ReadableStream({start(){N=d,n?.emit("signing-progress",{processedBytes:N,totalBytes:g})},async pull(ne){let{done:ce,value:le}=await I.read();if(ce){ne.close();return}N+=le.byteLength,ne.enqueue(le),n?.emit("signing-progress",{processedBytes:N,totalBytes:g})},cancel(){I.cancel()}}),M=tSn(T),D=[(0,js.stringToBuffer)("dataitem"),(0,js.stringToBuffer)("1"),(0,js.stringToBuffer)(o.signatureType.toString()),Uint8Array.from(o.rawOwner),Uint8Array.from(o.rawTarget),Uint8Array.from(o.rawAnchor),Uint8Array.from(o.rawTags),M],P=await rb(D),G=fe.from(await t.sign(P));n?.emit("signing-success"),o.setSignature(G);let q=o.getRaw();return{signedDataItemSize:g,signedDataItemFactory:()=>{let ne=_.getReader();return new ReadableStream({start(ce){ce.enqueue(Uint8Array.from(q)),N+=q.byteLength},async pull(ce){try{let{done:le,value:pe}=await ne.read();if(le){ce.close();return}ce.enqueue(pe)}catch(le){ce.error(le)}},cancel(){ne.cancel()}})}}}catch(o){throw n?.emit("signing-error",o),o}}function X4o(e){return typeof e[Symbol.asyncIterator]=="function"}J();K();z();var Ure=class extends Dre{constructor({url:t=aM,retryConfig:r,signer:i,logger:n,token:o,paymentService:d}){super({url:t,retryConfig:r,logger:n,token:o,signer:i,paymentService:d})}getFiles(t){if(!AXe(t))throw new Error("files are required for web uploadFolder");return Promise.resolve(t.files)}getFileStreamForFile(t){return t.stream()}getFileSize(t){return t.size}getFileName(t){return t.name}getRelativePath(t){return t.name||t.webkitRelativePath}contentTypeFromFile(t){return t.type||"application/octet-stream"}createManifestStream(t){return new ReadableStream({start(i){i.enqueue(t),i.close()}})}};var URt=class e extends Pre{getSigner({providedPrivateKey:t,logger:r,providedSigner:i,providedWalletAdapter:n,token:o}){return new Lre({signer:Xst({signer:i,privateKey:t,token:o}),logger:r,token:o,walletAdapter:n})}getAuthenticatedUploadService(t){return new Ure(t)}static authenticated({privateKey:t,signer:r,paymentServiceConfig:i={},uploadServiceConfig:n={},token:o,gatewayUrl:d,tokenMap:g,tokenTools:y,walletAdapter:_}){return new e().getAuthenticatedTurbo({privateKey:t,signer:r,paymentServiceConfig:i,uploadServiceConfig:n,token:o,gatewayUrl:d,tokenMap:g,tokenTools:y,logger:this.logger,walletAdapter:_})}};export{J_t as ARIOToTokenAmount,see as ARIOToken,n2t as ARToTokenAmount,KRn as AUD,eC as ArconnectSigner,nb as ArweaveSigner,uee as ArweaveToken,XRn as BRL,dee as BaseEthToken,zRn as CAD,NF as ETHToTokenAmount,VRn as EUR,m0 as EthereumSigner,vE as EthereumToken,Vk as ExistingBalanceFunding,JRn as GBP,WRn as HKD,bb as HexSolanaSigner,$Rn as INR,ZRn as JPY,IRt as KYVEToTokenAmount,bre as KyveToken,Jk as OnDemandFunding,cTe as POLToTokenAmount,zQ as PolygonToken,YRn as SGD,V_t as SOLToTokenAmount,bRn as SUPPORTED_CHAIN_CONFIGS,aee as SolanaToken,Dre as TurboAuthenticatedBaseUploadService,kre as TurboAuthenticatedClient,Ire as TurboAuthenticatedPaymentService,Ure as TurboAuthenticatedUploadService,uv as TurboEventEmitter,URt as TurboFactory,WQ as TurboUnauthenticatedClient,q5 as TurboUnauthenticatedPaymentService,V5 as TurboUnauthenticatedUploadService,Lre as TurboWebArweaveSigner,By as TwoDecimalCurrency,qRn as USD,ylo as WinstonToTokenAmount,nC as X402Funding,xre as ZeroDecimalCurrency,NRt as createStreamWithEvents,c3o as createStreamWithSigningEvents,Ore as createStreamWithUploadEvents,Mre as creditSharingTagNames,B3o as currencyMap,TF as defaultBaseNetworkPollingOptions,hEe as defaultEthereumPollingOptions,Cre as defaultPaymentServiceURL,uTe as defaultPolygonPollingOptions,wRt as defaultTokenMap,v4o as defaultTurboConfiguration,aM as defaultUploadServiceURL,ORt as developmentPaymentServiceURL,E4o as developmentTurboConfiguration,LRt as developmentUploadServiceURL,xF as ethDataFromTurboCreditDestinationAddress,Sre as exponentMap,PDt as fiatCurrencyTypes,X4o as isAsyncIterable,OFn as isCurrency,gXe as isEthPrivateKey,ON as isEthereumWalletAdapter,_Xe as isJWK,pXe as isKyvePrivateKey,TFn as isNodeUploadFolderParams,zk as isSolanaWalletAdapter,DIo as isTokenType,AXe as isWebUploadFolderParams,Gfo as lamportToTokenAmount,tlo as mARIOToTokenAmount,wF as memoProgramId,hXe as multipartFailedStatus,xFn as multipartFinalizedStatus,NFn as multipartPendingStatus,yRn as privateKeyFromKyveMnemonic,tSn as readableStreamToAsyncIterable,Z6o as signerFromKyveMnemonic,mRn as signerFromKyvePrivateKey,rSn as streamSignerReadableStream,lXe as supportedEvmSignerTokens,$Q as tokenToBaseMap,KJ as tokenTypes,X6o as ukyveToTokenAmount,ble as validChunkingModes,Olo as weiToTokenAmount}; +/*! Bundled license information: + +@jspm/core/nodelibs/browser/buffer.js: +@jspm/core/nodelibs/browser/chunk-44e51b61.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *) + +@jspm/core/nodelibs/browser/crypto.js: +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *) + +js-sha3/src/sha3.js: + (** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + *) + +@noble/hashes/utils.js: +@noble/hashes/esm/utils.js: +@noble/hashes/esm/utils.js: + (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *) + +@jspm/core/nodelibs/browser/assert.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> + * @license MIT + *) + +@solana/buffer-layout/lib/Layout.js: + (** + * Support for translating between Uint8Array instances and JavaScript + * native types. + * + * {@link module:Layout~Layout|Layout} is the basis of a class + * hierarchy that associates property names with sequences of encoded + * bytes. + * + * Layouts are supported for these scalar (numeric) types: + * * {@link module:Layout~UInt|Unsigned integers in little-endian + * format} with {@link module:Layout.u8|8-bit}, {@link + * module:Layout.u16|16-bit}, {@link module:Layout.u24|24-bit}, + * {@link module:Layout.u32|32-bit}, {@link + * module:Layout.u40|40-bit}, and {@link module:Layout.u48|48-bit} + * representation ranges; + * * {@link module:Layout~UIntBE|Unsigned integers in big-endian + * format} with {@link module:Layout.u16be|16-bit}, {@link + * module:Layout.u24be|24-bit}, {@link module:Layout.u32be|32-bit}, + * {@link module:Layout.u40be|40-bit}, and {@link + * module:Layout.u48be|48-bit} representation ranges; + * * {@link module:Layout~Int|Signed integers in little-endian + * format} with {@link module:Layout.s8|8-bit}, {@link + * module:Layout.s16|16-bit}, {@link module:Layout.s24|24-bit}, + * {@link module:Layout.s32|32-bit}, {@link + * module:Layout.s40|40-bit}, and {@link module:Layout.s48|48-bit} + * representation ranges; + * * {@link module:Layout~IntBE|Signed integers in big-endian format} + * with {@link module:Layout.s16be|16-bit}, {@link + * module:Layout.s24be|24-bit}, {@link module:Layout.s32be|32-bit}, + * {@link module:Layout.s40be|40-bit}, and {@link + * module:Layout.s48be|48-bit} representation ranges; + * * 64-bit integral values that decode to an exact (if magnitude is + * less than 2^53) or nearby integral Number in {@link + * module:Layout.nu64|unsigned little-endian}, {@link + * module:Layout.nu64be|unsigned big-endian}, {@link + * module:Layout.ns64|signed little-endian}, and {@link + * module:Layout.ns64be|unsigned big-endian} encodings; + * * 32-bit floating point values with {@link + * module:Layout.f32|little-endian} and {@link + * module:Layout.f32be|big-endian} representations; + * * 64-bit floating point values with {@link + * module:Layout.f64|little-endian} and {@link + * module:Layout.f64be|big-endian} representations; + * * {@link module:Layout.const|Constants} that take no space in the + * encoded expression. + * + * and for these aggregate types: + * * {@link module:Layout.seq|Sequence}s of instances of a {@link + * module:Layout~Layout|Layout}, with JavaScript representation as + * an Array and constant or data-dependent {@link + * module:Layout~Sequence#count|length}; + * * {@link module:Layout.struct|Structure}s that aggregate a + * heterogeneous sequence of {@link module:Layout~Layout|Layout} + * instances, with JavaScript representation as an Object; + * * {@link module:Layout.union|Union}s that support multiple {@link + * module:Layout~VariantLayout|variant layouts} over a fixed + * (padded) or variable (not padded) span of bytes, using an + * unsigned integer at the start of the data or a separate {@link + * module:Layout.unionLayoutDiscriminator|layout element} to + * determine which layout to use when interpreting the buffer + * contents; + * * {@link module:Layout.bits|BitStructure}s that contain a sequence + * of individual {@link + * module:Layout~BitStructure#addField|BitField}s packed into an 8, + * 16, 24, or 32-bit unsigned integer starting at the least- or + * most-significant bit; + * * {@link module:Layout.cstr|C strings} of varying length; + * * {@link module:Layout.blob|Blobs} of fixed- or variable-{@link + * module:Layout~Blob#length|length} raw data. + * + * All {@link module:Layout~Layout|Layout} instances are immutable + * after construction, to prevent internal state from becoming + * inconsistent. + * + * @local Layout + * @local ExternalLayout + * @local GreedyCount + * @local OffsetLayout + * @local UInt + * @local UIntBE + * @local Int + * @local IntBE + * @local NearUInt64 + * @local NearUInt64BE + * @local NearInt64 + * @local NearInt64BE + * @local Float + * @local FloatBE + * @local Double + * @local DoubleBE + * @local Sequence + * @local Structure + * @local UnionDiscriminator + * @local UnionLayoutDiscriminator + * @local Union + * @local VariantLayout + * @local BitStructure + * @local BitField + * @local Boolean + * @local Blob + * @local CString + * @local Constant + * @local bindConstructorLayout + * @module Layout + * @license MIT + * @author Peter A. Bigot + * @see {@link https://github.com/pabigot/buffer-layout|buffer-layout on GitHub} + *) + +@noble/curves/esm/abstract/utils.js: +@noble/curves/esm/abstract/modular.js: +@noble/curves/esm/abstract/curve.js: +@noble/curves/esm/abstract/weierstrass.js: +@noble/curves/esm/_shortw_utils.js: +@noble/curves/esm/secp256k1.js: +@noble/curves/esm/abstract/utils.js: +@noble/curves/esm/utils.js: +@noble/curves/esm/abstract/modular.js: +@noble/curves/esm/abstract/curve.js: +@noble/curves/esm/abstract/edwards.js: +@noble/curves/esm/ed25519.js: +@noble/curves/esm/abstract/weierstrass.js: +@noble/curves/esm/_shortw_utils.js: +@noble/curves/esm/secp256k1.js: +@noble/curves/esm/abstract/utils.js: +@noble/curves/esm/abstract/modular.js: +@noble/curves/esm/abstract/curve.js: +@noble/curves/esm/abstract/weierstrass.js: +@noble/curves/esm/_shortw_utils.js: +@noble/curves/esm/secp256k1.js: +@noble/curves/esm/abstract/modular.js: +@noble/curves/esm/abstract/curve.js: +@noble/curves/esm/abstract/weierstrass.js: +@noble/curves/esm/_shortw_utils.js: +@noble/curves/esm/secp256k1.js: + (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *) + +axios/dist/browser/axios.cjs: + (*! Axios v1.15.2 Copyright (c) 2026 Matt Zabriskie and contributors *) + +@noble/ed25519/lib/esm/index.js: + (*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *) + +aes-js/lib.esm/aes.js: + (*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. *) + +@scure/base/lib/esm/index.js: + (*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) *) +*/ diff --git a/shine-UI/styles/components.css b/shine-UI/styles/components.css index eae8ce5d..6c2284fc 100644 --- a/shine-UI/styles/components.css +++ b/shine-UI/styles/components.css @@ -2575,6 +2575,41 @@ textarea.input { box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18); } +.ar-attachment-history-tile--with-preview { + gap: 0.32rem; + padding: 0.42rem; +} + +.ar-attachment-history-preview { + align-items: flex-end; + background: rgba(255, 255, 255, 0.05); + border-radius: 0.42rem; + display: flex; + justify-content: space-between; + min-height: 7rem; + overflow: hidden; + position: relative; +} + +.ar-attachment-history-preview-image { + display: block; + height: 100%; + object-fit: cover; + width: 100%; +} + +.ar-attachment-history-preview-badge { + background: rgba(15, 23, 42, 0.72); + border: 1px solid rgba(255, 255, 255, 0.12); + border-radius: 999px; + bottom: 0.42rem; + color: #f8fafc; + font-size: 0.62rem; + left: 0.42rem; + padding: 0.2rem 0.46rem; + position: absolute; +} + .ar-attachment-history-tile-head { align-items: flex-start; display: flex; From c4f2c7be636f53ab513cefcf37a4d4892c081584680ef1143367c8dd0ec32394 Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 6 Aug 2026 12:39:33 +0400 Subject: [PATCH 82/83] =?UTF-8?q?UI=20=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=B8=20=D1=87=D0=B5=D1=80=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BA=D0=B0=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- .../components/arweave-attachment-manager.js | 96 +++--- shine-UI/js/services/attachment-format.js | 12 +- Черновик_TEXT_CHANNEL_META_для_каналов.md | 297 ++++++++++++++++++ ...формата_вложений_в_сообщениях_блокчейна.md | 173 ++++++++++ 5 files changed, 541 insertions(+), 39 deletions(-) create mode 100644 Черновик_TEXT_CHANNEL_META_для_каналов.md create mode 100644 Черновик_формата_вложений_в_сообщениях_блокчейна.md diff --git a/VERSION.properties b/VERSION.properties index b86ab23c..2ff0780b 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.21 +client.version=1.4.22 server.version=1.4.5 diff --git a/shine-UI/js/components/arweave-attachment-manager.js b/shine-UI/js/components/arweave-attachment-manager.js index 24e8beaf..244601c2 100644 --- a/shine-UI/js/components/arweave-attachment-manager.js +++ b/shine-UI/js/components/arweave-attachment-manager.js @@ -309,6 +309,7 @@ export function openArweaveAttachmentManager({ let selectedPreviewEnabled = false; let selectedPreviewFile = null; let selectedPreviewSha256 = ''; + let selectedPreviewPriceInfo = null; let priceInfo = null; let balanceInfo = null; let autoOpenedFileDialog = false; @@ -391,41 +392,48 @@ export function openArweaveAttachmentManager({ } }; - const renderTurboMeta = (metaEl) => { - if (!metaEl) return; + const renderTurboMeta = (mainMetaEl, previewMetaEl) => { + if (!mainMetaEl || !previewMetaEl) return; const turboAddress = String(balanceInfo?.address || priceInfo?.address || '').trim(); const turboCredits = balanceInfo ? formatTurboCredits(balanceInfo.effectiveCredits, 6) : '—'; const solBalance = balanceInfo ? `${escapeHtml(String(balanceInfo.solBalance ?? 0))} SOL` : '—'; const uploadPrice = priceInfo ? `${formatTurboCredits(priceInfo.credits, 6)} credits` : '—'; const fileSize = selectedFile ? formatBytes(selectedFile.size) : '—'; - const previewSize = selectedPreviewEnabled && selectedPreviewFile ? formatBytes(selectedPreviewFile.size) : ''; const freeHint = selectedFile ? (combinedUploadSize() <= getFreeTurboUploadBytesLimit() ? 'Да, бесплатно через Turbo' : 'Нет, нужен Turbo balance') : `До ${formatBytes(getFreeTurboUploadBytesLimit())} бесплатно`; const freeBadge = priceInfo?.isFree ? ' <span style="color:#15803d;">(пока файлы до 100 KB бесплатно)</span>' : ''; - metaEl.innerHTML = ` + mainMetaEl.innerHTML = ` <div>Turbo-адрес: ${escapeHtml(shortAddress(turboAddress || '—'))}</div> <div>Turbo balance: ${escapeHtml(turboCredits)}</div> <div>SOL на этом ключе: ${solBalance}</div> <div>Размер файла: ${escapeHtml(fileSize)}</div> - ${previewSize ? `<div>Размер превью: ${escapeHtml(previewSize)}</div>` : ''} <div>SHA-256: ${escapeHtml(selectedSha256 || '—')}</div> - ${selectedPreviewEnabled && selectedPreviewSha256 ? `<div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256)}</div>` : ''} <div>Цена Turbo: ${escapeHtml(uploadPrice)}${freeBadge}</div> <div>До ${escapeHtml(formatBytes(getFreeTurboUploadBytesLimit()))} бесплатно: ${escapeHtml(freeHint)}</div> `; + previewMetaEl.innerHTML = ''; + if (selectedPreviewEnabled && selectedPreviewFile) { + previewMetaEl.innerHTML = ` + <div><strong>Файл превью</strong></div> + <div>Имя: ${escapeHtml(selectedPreviewFile.name)}</div> + <div>Размер превью: ${escapeHtml(formatBytes(selectedPreviewFile.size))}</div> + <div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256 || '—')}</div> + <div>Цена превью: ${escapeHtml(selectedPreviewPriceInfo ? `${formatTurboCredits(selectedPreviewPriceInfo.credits, 6)} credits` : '—')}</div> + `; + } }; - const refreshTurboBalance = async (metaEl, errorEl) => { + const refreshTurboBalance = async (mainMetaEl, previewMetaEl, errorEl) => { try { balanceInfo = await getTurboBalanceForStoredSolanaKey({ login: cleanLogin, storagePwd: cleanStoragePwd, keySource: selectedTurboKeySource, }); - renderTurboMeta(metaEl); + renderTurboMeta(mainMetaEl, previewMetaEl); if (errorEl && String(errorEl.textContent || '').includes('Turbo balance')) { setText(errorEl, ''); } @@ -434,7 +442,7 @@ export function openArweaveAttachmentManager({ } }; - const promptTurboTopUp = async (metaEl, errorEl) => { + const promptTurboTopUp = async (mainMetaEl, previewMetaEl, errorEl) => { const value = window.prompt('Сколько SOL перевести в Turbo?', '0.01'); if (value == null) return; setText(errorEl, 'Пополняем Turbo...'); @@ -445,7 +453,7 @@ export function openArweaveAttachmentManager({ keySource: selectedTurboKeySource, amountSol: value, }); - await refreshTurboBalance(metaEl, errorEl); + await refreshTurboBalance(mainMetaEl, previewMetaEl, errorEl); setText(errorEl, `Turbo пополнен. Tx: ${result.txId || 'отправлено'}`); } catch (error) { setText(errorEl, error?.message || 'Не удалось пополнить Turbo.'); @@ -456,6 +464,7 @@ export function openArweaveAttachmentManager({ selectedPreviewEnabled = false; selectedPreviewFile = null; selectedPreviewSha256 = ''; + selectedPreviewPriceInfo = null; }; const isPreviewEligibleForCurrentFile = () => ( @@ -468,30 +477,36 @@ export function openArweaveAttachmentManager({ return Number(selectedFile?.size || 0) + Number(selectedPreviewEnabled ? (selectedPreviewFile?.size || 0) : 0); }; - const renderArweaveMeta = (metaEl) => { - if (!metaEl) return; - metaEl.innerHTML = ` + const renderArweaveMeta = (mainMetaEl, previewMetaEl) => { + if (!mainMetaEl || !previewMetaEl) return; + mainMetaEl.innerHTML = ` ${isAvatarMode ? '' : `<div>Имя: ${escapeHtml(selectedFile?.name || 'file')}</div>`} <div>Размер: ${escapeHtml(formatBytes(selectedFile?.size || 0))}</div> <div>SHA-256: ${escapeHtml(selectedSha256 || '—')}</div> - ${selectedPreviewEnabled && selectedPreviewFile - ? `<div>Превью: ${escapeHtml(selectedPreviewFile.name)} · ${escapeHtml(formatBytes(selectedPreviewFile.size))}</div>` - : ''} - ${selectedPreviewEnabled && selectedPreviewSha256 - ? `<div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256)}</div>` - : ''} <div>Цена: ${escapeHtml(Number(priceInfo?.ar || 0).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> <div>Баланс кошелька: ${escapeHtml(Number(balanceInfo?.ar || 0).toLocaleString('ru-RU', { maximumFractionDigits: 6 }))} AR</div> `; + previewMetaEl.innerHTML = ''; + if (selectedPreviewEnabled && selectedPreviewFile) { + previewMetaEl.innerHTML = ` + <div><strong>Файл превью</strong></div> + <div>Имя: ${escapeHtml(selectedPreviewFile.name)}</div> + <div>Размер превью: ${escapeHtml(formatBytes(selectedPreviewFile.size))}</div> + <div>SHA-256 превью: ${escapeHtml(selectedPreviewSha256 || '—')}</div> + <div>Цена превью: ${escapeHtml(selectedPreviewPriceInfo ? `${Number(selectedPreviewPriceInfo.ar || 0).toLocaleString('ru-RU', { maximumFractionDigits: 6 })} AR` : '—')}</div> + `; + } }; - const recalculateArweaveState = async (metaEl, errorEl, uploadBtn) => { + const recalculateArweaveState = async (mainMetaEl, previewMetaEl, errorEl, uploadBtn) => { uploadBtn.disabled = true; priceInfo = null; balanceInfo = null; + selectedPreviewPriceInfo = null; setText(errorEl, ''); if (!selectedFile || !selectedSha256) { - setText(metaEl, ''); + setText(mainMetaEl, ''); + setText(previewMetaEl, ''); return; } const wallet = selectedWallet(); @@ -500,6 +515,7 @@ export function openArweaveAttachmentManager({ let totalWinston = BigInt(mainPrice.winston); if (selectedPreviewEnabled && selectedPreviewFile) { const previewPrice = await getArweaveUploadPrice({ gateway: cleanGateway, byteLength: selectedPreviewFile.size }); + selectedPreviewPriceInfo = previewPrice; totalWinston += BigInt(previewPrice.winston); } balanceInfo = await getArweaveBalance({ gateway: cleanGateway, address: wallet.address }); @@ -507,7 +523,7 @@ export function openArweaveAttachmentManager({ ar: Number(totalWinston) / 1e12, winston: totalWinston.toString(), }; - renderArweaveMeta(metaEl); + renderArweaveMeta(mainMetaEl, previewMetaEl); const hasFunds = BigInt(balanceInfo.winston) >= totalWinston; if (!hasFunds) { setText(errorEl, 'Недостаточно AR на выбранном кошельке.'); @@ -516,13 +532,14 @@ export function openArweaveAttachmentManager({ uploadBtn.disabled = false; }; - const refreshTurboStateForCurrentFile = async (metaEl, errorEl, uploadBtn) => { + const refreshTurboStateForCurrentFile = async (mainMetaEl, previewMetaEl, errorEl, uploadBtn) => { uploadBtn.disabled = true; priceInfo = null; balanceInfo = null; + selectedPreviewPriceInfo = null; setText(errorEl, ''); if (!selectedFile || !selectedSha256) { - renderTurboMeta(metaEl); + renderTurboMeta(mainMetaEl, previewMetaEl); return; } try { @@ -540,6 +557,7 @@ export function openArweaveAttachmentManager({ keySource: selectedTurboKeySource, byteLength: selectedPreviewFile.size, }); + selectedPreviewPriceInfo = previewPrice; totalWinc += BigInt(previewPrice.winc); } priceInfo = { @@ -554,7 +572,7 @@ export function openArweaveAttachmentManager({ storagePwd: cleanStoragePwd, keySource: selectedTurboKeySource, }); - renderTurboMeta(metaEl); + renderTurboMeta(mainMetaEl, previewMetaEl); if (!priceInfo.isFree && BigInt(balanceInfo.effectiveWinc) < BigInt(priceInfo.winc)) { setText(errorEl, 'Turbo balance недостаточен. Нажмите «Пополнить Turbo».'); return; @@ -591,11 +609,12 @@ export function openArweaveAttachmentManager({ `} <label class="meta-muted" for="ar-attach-file">Файл для загрузки</label> <input class="input" id="ar-attach-file" type="file" ${isAvatarMode ? 'accept="image/*"' : ''} /> + <div class="ar-attachment-meta" data-meta-main="true"></div> <label class="meta-muted" data-preview-option="true" hidden> <input type="checkbox" data-preview-toggle="true" /> Добавить превью </label> - <div class="ar-attachment-meta" data-meta="true"></div> + <div class="ar-attachment-meta" data-meta-preview="true"></div> <p class="meta-muted inline-error" data-error="true"></p> <div class="form-actions-grid"> ${turboMode ? '<button class="secondary-btn" type="button" data-action="topup">Пополнить Turbo</button>' : ''} @@ -609,7 +628,8 @@ export function openArweaveAttachmentManager({ const walletEl = root.querySelector('#ar-attach-wallet'); const turboKeyEl = root.querySelector('#turbo-key-source'); const fileEl = root.querySelector('#ar-attach-file'); - const metaEl = root.querySelector('[data-meta="true"]'); + const mainMetaEl = root.querySelector('[data-meta-main="true"]'); + const previewMetaEl = root.querySelector('[data-meta-preview="true"]'); const errorEl = root.querySelector('[data-error="true"]'); const uploadBtn = root.querySelector('[data-action="upload"]'); const previewOptionEl = root.querySelector('[data-preview-option="true"]'); @@ -648,10 +668,10 @@ export function openArweaveAttachmentManager({ turboKeyEl.addEventListener('change', async () => { selectedTurboKeySource = String(turboKeyEl.value || 'client'); writeLastTurboKeySource(cleanLogin, selectedTurboKeySource); - await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + await refreshTurboStateForCurrentFile(mainMetaEl, previewMetaEl, errorEl, uploadBtn); }); } - await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + await refreshTurboStateForCurrentFile(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } else { await loadWallets(errorEl); if (walletEl) { @@ -667,16 +687,17 @@ export function openArweaveAttachmentManager({ priceInfo = null; balanceInfo = null; if (fileEl) fileEl.value = ''; - setText(metaEl, ''); + setText(mainMetaEl, ''); + setText(previewMetaEl, ''); }); } } root.querySelector('[data-action="cancel"]')?.addEventListener('click', () => close(resolve, null)); root.querySelector('[data-action="topup"]')?.addEventListener('click', async () => { - await promptTurboTopUp(metaEl, errorEl); + await promptTurboTopUp(mainMetaEl, previewMetaEl, errorEl); if (turboMode && selectedFile && selectedSha256) { - await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + await refreshTurboStateForCurrentFile(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } }); if (!turboMode) { @@ -691,7 +712,8 @@ export function openArweaveAttachmentManager({ balanceInfo = null; uploadBtn.disabled = true; setText(errorEl, ''); - setText(metaEl, ''); + setText(mainMetaEl, ''); + setText(previewMetaEl, ''); if (previewToggleEl instanceof HTMLInputElement) previewToggleEl.checked = false; if (previewOptionEl) previewOptionEl.hidden = true; if (!selectedFile) return; @@ -709,9 +731,9 @@ export function openArweaveAttachmentManager({ previewOptionEl.hidden = false; } if (turboMode) { - await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + await refreshTurboStateForCurrentFile(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } else { - await recalculateArweaveState(metaEl, errorEl, uploadBtn); + await recalculateArweaveState(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } } catch (error) { setText(errorEl, error?.message || 'Не удалось подготовить файл.'); @@ -735,9 +757,9 @@ export function openArweaveAttachmentManager({ selectedPreviewSha256 = await sha256HexFromArrayBuffer(await selectedPreviewFile.arrayBuffer()); } if (turboMode) { - await refreshTurboStateForCurrentFile(metaEl, errorEl, uploadBtn); + await refreshTurboStateForCurrentFile(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } else { - await recalculateArweaveState(metaEl, errorEl, uploadBtn); + await recalculateArweaveState(mainMetaEl, previewMetaEl, errorEl, uploadBtn); } } catch (error) { resetPreviewState(); diff --git a/shine-UI/js/services/attachment-format.js b/shine-UI/js/services/attachment-format.js index 57172cbd..4167e332 100644 --- a/shine-UI/js/services/attachment-format.js +++ b/shine-UI/js/services/attachment-format.js @@ -286,11 +286,21 @@ function createMediaSlide({ item, url, kind, messageTimestampMs, slide, previewU img.loading = 'lazy'; img.addEventListener('error', () => replaceWithUnavailable(slide, messageTimestampMs), { once: true }); frame.append(img); + } else if (previewUrl) { + const img = document.createElement('img'); + img.className = 'message-attachment-media'; + img.src = previewUrl; + img.alt = `${item.name} preview`; + img.loading = 'lazy'; + img.addEventListener('error', () => replaceWithUnavailable(slide, messageTimestampMs), { once: true }); + const play = document.createElement('span'); + play.className = 'message-attachment-play'; + play.textContent = '▶'; + frame.append(img, play); } else { const video = document.createElement('video'); video.className = 'message-attachment-media'; video.src = url; - if (previewUrl) video.poster = previewUrl; video.preload = 'metadata'; video.muted = true; video.playsInline = true; diff --git a/Черновик_TEXT_CHANNEL_META_для_каналов.md b/Черновик_TEXT_CHANNEL_META_для_каналов.md new file mode 100644 index 00000000..081d0ef9 --- /dev/null +++ b/Черновик_TEXT_CHANNEL_META_для_каналов.md @@ -0,0 +1,297 @@ +# Черновик `TEXT_CHANNEL_META` для каналов SHiNE + +## Статус документа + +Этот файл является рабочим черновиком и не считается финальной спецификацией. + +Важно: + +- это не окончательный формат; +- точная версия должна быть зафиксирована отдельно при начале реализации; +- до реализации допустимы изменения синтаксиса, ограничений и полей БД; +- документ временно лежит в корне проекта как согласованный draft. + +## Назначение + +Нужен специальный скрытый тип текстового сообщения канала, который: + +- технически хранится в блокчейне как `TEXT`-блок; +- не показывается пользователям как обычное сообщение ленты; +- может писать только владелец канала; +- не редактируется; +- задаёт полное текущее состояние метаданных канала. + +Через этот блок должны обновляться: + +- человекочитаемое заглавие канала; +- аватар канала; +- описание канала. + +## Место в формате блокчейна + +- `msg_type = 1` +- `subType = 70` +- имя подтипа: `TEXT_CHANNEL_META` + +Этот подтип относится к текстовым блокам, но трактуется как скрытое техническое сообщение канала. + +## Общая модель применения + +`TEXT_CHANNEL_META`: + +- пишется в линию конкретного канала; +- задаёт полный снимок метаданных; +- при чтении канала сервер берёт последний валидный `TEXT_CHANNEL_META` в линии; +- более старые `TEXT_CHANNEL_META` остаются в истории блокчейна, но не участвуют в вычислении текущего состояния; +- если meta-блок не найден, используются базовые данные канала без override-полей. + +## Общий формат текста + +Внутри `TEXT_CHANNEL_META` текст строится так: + +1. в начале идут технические теги `<SHiNE:...>`; +2. после тегов идёт обычный UTF-8 текст; +3. этот хвостовой текст считается описанием канала. + +Пример: + +```text +<SHiNE:title;v=1;Моё имя канала> +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8a...;ar=AbCdEf...> +Тут описание канала. +``` + +## Поддерживаемые теги + +### 1. Тег заглавия + +Формат: + +```text +<SHiNE:title;v=1;Моё имя канала> +``` + +Смысл: + +- задаёт красивое отображаемое имя канала; +- хранится как обычный UTF-8 текст; +- это не технический slug и не системное имя. + +### 2. Тег аватара + +Формат: + +```text +<SHiNE:avatar;v=1;size=248193;sha256=3f2c8a...;ar=AbCdEf...> +``` + +Смысл: + +- задаёт аватар канала; +- `ar` хранит только `txId`, без полного URL; +- конкретный gateway/URL уже выбирает клиент или сервер. + +## Правила порядка + +- теги должны идти только в начале текста; +- после начала обычного описания новые теги больше не допускаются; +- рекомендуемый порядок: + 1. `title` + 2. `avatar` + 3. текст описания +- каждый тег допустим не более одного раза. + +## Правила отсутствующих полей + +- если `title` отсутствует, используется обычное техническое имя канала; +- если `avatar` отсутствует, аватар у канала отсутствует; +- если текста после тегов нет, описание считается пустым; +- если тегов нет вообще, но текст есть, это означает пустые `title` и `avatar`, а текст используется как описание. + +## Полный снимок состояния + +Каждый новый `TEXT_CHANNEL_META` задаёт полное состояние канала целиком. + +Это значит: + +- новый блок не дозаполняет старые поля; +- новый блок не наследует значения из прошлого meta-блока; +- если в новом блоке нет `title`, то красивое имя сбрасывается к обычному имени канала; +- если в новом блоке нет `avatar`, аватар сбрасывается; +- если в новом блоке нет текста описания, описание становится пустым. + +## Ограничения для тега `title` + +`title` хранится как UTF-8 строка, но для упрощения формата запрещаются следующие символы: + +- `<` +- `>` +- `;` +- табуляция +- перевод строки +- `\0` + +Дополнительно: + +- максимальная длина `title` — `50` символов; +- допускаются обычные Unicode-символы, включая кириллицу, латиницу, эмодзи и декоративные символы, если они не нарушают запреты выше. + +## Ограничения для описания + +- описание хранится как обычный UTF-8 текст; +- максимальная длина — `250` символов. + +Если описание длиннее лимита, meta-блок должен считаться невалидным. + +## Ограничения для тега `avatar` + +Обязательные поля тега: + +- `v` +- `size` +- `sha256` +- `ar` + +Правила: + +- `size` — размер файла в байтах; +- `sha256` — SHA-256 файла в hex; +- `sha256` должен иметь длину ровно `64` hex-символа; +- `ar` — только `txId` Arweave; +- длина `ar` должна соответствовать длине идентификатора Arweave-транзакции; +- имя файла в meta-теге аватара не хранится. + +## Валидация блока + +Блок `TEXT_CHANNEL_META` считается валидным только если одновременно соблюдены все условия: + +- теги находятся строго в начале текста; +- каждый тип тега встречается не более одного раза; +- `title` удовлетворяет ограничениям; +- `avatar`-тег имеет все обязательные поля и корректные значения; +- длина описания не превышает лимит. + +Если блок невалиден: + +- весь meta-блок не применяется целиком; +- сервер не должен частично брать из него только отдельные поля. + +## Что именно хранится в текущем состоянии канала + +Текущее вычисленное состояние канала должно включать: + +- техническое имя канала; +- красивое отображаемое имя; +- описание; +- `ava_ar`; +- `ava_sha256`; +- `ava_size`; +- время последнего meta-обновления. + +## База данных + +Базовую таблицу каналов предлагается не менять концептуально, а расширить существующую модель хранения каналов. + +Текущая основа уже есть в таблице: + +- `channel_names_state` + +В неё предлагается добавить поля: + +- `ava_ar` +- `ava_sha256` +- `ava_size` +- `meta_updated_at_ms` + +При этом: + +- техническое имя канала продолжает храниться отдельно; +- красивое имя хранится в `display_name`; +- описание хранится в `channel_description`. + +## Поведение API и чтения каналов + +Обычным пользователям `TEXT_CHANNEL_META` не должен приходить как обычное сообщение ленты. + +Это означает: + +- в `GetChannelMessages` такие блоки не показываются как сообщения; +- в обычных списках каналов клиент получает уже вычисленное текущее состояние канала; +- в debug/raw-чтении сам блок может оставаться доступным как часть блокчейна. + +## UI-заметки + +### 1. В обычной ленте + +`TEXT_CHANNEL_META` не показывается как обычное текстовое сообщение. + +### 2. Системная карточка + +UI может показывать специальную системную карточку: + +- для текущего состояния канала; +- для стартового состояния при создании канала. + +### 3. Что показывать по нажатию + +По нажатию на системную карточку нужно показывать полную информацию: + +- дата и время; +- заглавие; +- аватар; +- описание. + +### 4. История UI + +На первом этапе UI показывает только текущую системную карточку состояния. + +Полная история всех прошлых meta-обновлений в UI на этом этапе не требуется. + +## Поведение при создании канала + +Для UI полезно также иметь отдельный визуальный системный блок в начале канала: + +- «канал создан»; +- по нажатию можно показать стартовые данные канала; +- если на момент создания уже есть заглавие/ава/описание, UI показывает именно их. + +Это UI-заметка и не требует отдельного нового блокчейн-формата поверх `TEXT_CHANNEL_META`. + +## Краткое резюме согласованной схемы + +- `msg_type=1` +- `subType=70` +- имя: `TEXT_CHANNEL_META` +- это скрытый технический текстовый блок канала +- порядок: теги в начале, потом описание +- теги: + - `<SHiNE:title;v=1;...>` + - `<SHiNE:avatar;v=1;size=...;sha256=...;ar=...>` +- `title`: + - UTF-8 + - максимум `50` символов + - нельзя `<`, `>`, `;`, таб, перевод строки, `\0` +- описание: + - UTF-8 + - максимум `250` символов +- `avatar`: + - `ar` только `txId` + - хранится без имени файла +- новый meta-блок задаёт полный снимок состояния +- сервер применяет только последний валидный meta-блок +- невалидный meta-блок не применяется целиком +- БД расширяется в той же модели каналов +- в UI обычным сообщением блок не показывается + +## Что ещё потребуется зафиксировать позже + +При переводе черновика в официальную спецификацию нужно будет дополнительно утвердить: + +- точный номер версии формата; +- точный способ подсчёта длины `title` и описания: + - по Unicode code points; + - по Java `String.length()`; + - или по UTF-8 байтам; +- точную проверку длины `ar`; +- список API-ответов, куда должны быть добавлены новые поля; +- правила миграции старых каналов без meta-блоков. diff --git a/Черновик_формата_вложений_в_сообщениях_блокчейна.md b/Черновик_формата_вложений_в_сообщениях_блокчейна.md new file mode 100644 index 00000000..5c5c86db --- /dev/null +++ b/Черновик_формата_вложений_в_сообщениях_блокчейна.md @@ -0,0 +1,173 @@ +# Черновик формата вложений в сообщениях блокчейна SHiNE + +## Статус документа + +Этот файл пока является черновиком и рабочим описанием идеи. + +Важно: + +- это не финальная спецификация; +- точная версия формата будет зафиксирована после начала реальной реализации; +- до момента реализации допустимы изменения полей, синтаксиса и правил отображения; +- документ специально лежит в корне проекта как временная рабочая заметка. + +## Цель + +Нужен минимальный формат, позволяющий прикладывать файлы к текстовым сообщениям в каналах и тредах, не превращая само сообщение в отдельный файловый контейнер. + +Основная идея: + +- само сообщение остаётся обычным текстом; +- вложения описываются специальными техническими вставками в начале текста; +- сами файлы хранятся отдельно в архиве/Arweave; +- в сообщении хранятся только метаданные, достаточные для отображения и скачивания. + +## Общий принцип + +Если в начале текста сообщения стоит один или несколько блоков: + +```text +<SHiNE:attach;...> +``` + +клиент трактует их как описания вложений. + +После этих блоков идёт обычный пользовательский текст сообщения. + +Если технических блоков нет, сообщение считается обычным текстовым сообщением без вложений. + +## Формат одного блока вложения + +Общий вид: + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=abcdef...;ar=tx_or_url> +``` + +Где: + +- `attach` — тип технической вставки; +- `v=1` — текущая рабочая версия чернового формата; +- `name` — имя файла; +- `size` — размер файла в байтах; +- `sha256` — SHA-256 файла в hex; +- `ar` — идентификатор файла в архиве или адрес файла в Arweave. + +## Несколько вложений + +Если к одному сообщению приложено несколько файлов, блоки просто идут подряд в начале текста: + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=aaa...;ar=...> +<SHiNE:attach;v=1;name=video.mp4;size=5820193;sha256=bbb...;ar=...> +Текст сообщения +``` + +## Обязательные поля + +Для чернового варианта обязательными считаются: + +- `v` +- `name` +- `size` +- `sha256` +- `ar` + +Если какого-то из этих полей нет, клиент может: + +- игнорировать конкретный битый блок; +- не считать его валидным вложением; +- при этом продолжать обрабатывать остальные корректные блоки. + +## Почему без `mime` и без `kind` + +В минимальном варианте тип файла отдельно не хранится. + +Причины: + +- это экономит место; +- тип всё равно обычно определяется клиентом; +- для первого варианта достаточно имени файла, адреса, хэша и размера; +- превью и способ отображения клиент может решать сам по расширению имени файла или по попытке открыть файл. + +То есть в сообщении не хранится: + +- `mime`; +- `kind`; +- `width`; +- `height`; +- `duration`; +- `thumbnail`. + +Все эти поля можно добавить позже отдельной версией, если они реально понадобятся. + +## Логика клиента + +Клиент получает: + +- имя файла; +- размер; +- хэш; +- адрес файла. + +После этого клиент сам решает, как рендерить вложение: + +- если расширение похоже на изображение, можно пробовать показать preview; +- если расширение похоже на видео, можно пробовать встроенный видеоплеер; +- если расширение похоже на аудио, можно пробовать аудиоплеер; +- иначе показывать обычную кнопку скачивания. + +Если браузер или клиент не смог показать preview, должен быть fallback на скачивание файла. + +## Правила совместимости + +- Сообщение без `<SHiNE:attach;...>` остаётся обычным текстом. +- Старые клиенты, которые не умеют распознавать этот формат, могут показывать сообщение как обычный текст целиком. +- Новые клиенты могут скрывать технические блоки и показывать вместо них UI вложений. + +## Ограничения чернового варианта + +В текущем виде значения полей не предполагают сложного экранирования. + +Значит нужно отдельно договориться, как безопасно хранить `name`, если там встретятся символы: + +- `;` +- `=` +- `>` + +На этапе реальной реализации нужно выбрать один из вариантов: + +- жёстко ограничить допустимые символы в `name`; +- хранить имя файла в безопасно закодированном виде; +- добавить отдельное правило escape/encoding. + +Пока этот вопрос считается открытым. + +## Примеры + +### Одно вложение + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=3f2c8a...;ar=6sYk...> +Привет, вот фото +``` + +### Два вложения + +```text +<SHiNE:attach;v=1;name=photo.jpg;size=248193;sha256=3f2c8a...;ar=6sYk...> +<SHiNE:attach;v=1;name=report.pdf;size=845221;sha256=9ab01e...;ar=K9Lp...> +Смотри, прикрепил фото и документ +``` + +## Что надо зафиксировать позже + +Перед переводом этого черновика в официальную спецификацию нужно отдельно утвердить: + +- точное место этого формата в общей документации блокчейна; +- где именно используются такие вложения: каналы, треды, комментарии или иные текстовые блоки; +- финальные правила кодирования `name`; +- допустим ли полный URL в `ar` или только короткий `txId`; +- нужно ли ограничение на количество вложений в одном сообщении; +- нужна ли отдельная серверная или клиентская проверка расширения файла; +- как именно это будет отображаться в web UI и других клиентах. From 72f576a70edd87fe251e6b9a81de3f324a3e94a39a57be29ea070d3139fb577b Mon Sep 17 00:00:00 2001 From: AidarKC <i@aidarkc.ru> Date: Thu, 6 Aug 2026 22:44:11 +0400 Subject: [PATCH 83/83] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20UI?= =?UTF-8?q?=201.5.0=20=D0=B4=D0=BB=D1=8F=20merge=20=D0=B2=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.properties b/VERSION.properties index 2ff0780b..a6f9ae24 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.4.22 +client.version=1.5.0 server.version=1.4.5

    SXp1tZJ~?Vkcvy_yM`FHlqBi~D z^L}&rA#Q^w>ir-E|3mpKNmbTZ%Fr$@)zbu%{RdUflI48Z%W$g|0w zok$lqad`3Xd&t7@F^0Dc>#;cZD8v8R#^5(%Zrq974&43}9y_SJF}H)+1>Cw9z43?i zL7qP{kF$M3OriYuw*a`Afp=EUjdSDNI5*CXbK~4NH_nZ7qmen`jv53NiA?IK7t Q0ssI207*qoM6N<$f`kaWm;e9( diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Hear No Evil Monkey.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Hear No Evil Monkey.png deleted file mode 100644 index 28dbf466f990496963f120b040989f85d03c3f18cac2a911e698aaf502bae2b1..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13098 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 Ef&#x#NdN!< diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Hot Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Hot Face.png deleted file mode 100644 index 3f54dbe0ebd9595ab9bf4423df9f0197a4dc5f46345ff920c7fa83e73b9c6f71..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11355 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 D^6iSf diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Cat.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Cat.png deleted file mode 100644 index ace551cf6c8b39a66e8aa3b3ec685255fea16c4beabca637a219a7af41f64ef7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11605 zcmV-bEvnLqP)M2;z)6rI)M-edL<1BtZuq_OBQsR z)%`+;*9{3yn!FCdKwB??7>EM_Vq=rUu^rEf2U)TtYgWy_>E3(J+3$~gOH$lfkXUl; zyr-k}TUDx3mG1BCefIF(-@Ol zZt~#kLqELMsb4Kdo)fe5!&`Q|(62V{wBLt2?akkYk?q9Ww+vrdGx?o^Lk_D-w_h+b z>$5+4Yx1R9-F@P1H~!1d$<`g=6hVYn-NtV(pJ~UqK$AJCkwLnAJ2jlrVj5{E}j zY!0Nl>+zo1{bX+@T{3d+){jrmE}Z;V+yvcm#}?cE^k*MG|AOSg3of%-^f4~Ah!HJv ziN_8HIrc(srX~xrC=WKA{m|R~B>(e;)39X+QNGJ&>C{tr`@4qE3EjD0GlhHSq7map zmRgptN_?Y*H71Jp0b_;9qeh?jY9=w5>u&yR{~yl8Nj9f@bO8oF_m|6@=(_r#NI)fu zFgvHT+bUwzE??u!Mc35g`ByZ;(s6f{di}FMy~*A6r$0G#_0}B(0sU?{Jq20Vxc~99 zV}pOZ)o$0B-oxW{^X_#QByQuiwQ&AMtE~ZbMTX2yM~cirv^1M0G#hBHdI`Y9(bHGp z)A9iuca{&(Es8a@lzLLHsWnlK9W8i%mmy6J0|SAP#fITU!K_?mSh~0w557=vcyIoL zQ&ZXZe|Ag#cW0YRwr~B^-kF#CG~BTTD?146Al&|rft%uV`?nf(d)~xq%c^slp*8GH z4AIU{T8^;0PJOPO=ni1Z z9Yh3f-G*%6j=%jK12<~se{X2OEMIy~Ev#6BG}7qWZ8&sLIDXg@y<&~v5=FH%S}_K) zZh~1P;;i7L7zWs~;Z+cZR+e?lIEzaRc^)aEB2p@_ssR*Z1QE;p40PrrjPtx*L>oqYCo~{kFs3=Z2vaic9@iVAG)(2z27)4_o1i1B;HbE!er<$Rf6|50r zVbA~~QsrAG_fHk916AShewdpHtXrSb8i{80d4_>8}-PT)w(bT&zJ>rXe4Xfrbh-5o!_%Kp#UMk$FwhgLUH%rFA*j9$B%sJ2TTixW9i} zt*Kj=u6E&^^+t?U*Y8;lJ)d**5QuTu6o^XHZyg&JMS)-t3qef{BDZcwx4#+$5Y)CX z5s`pKMN~k(wc={^35cMW6GE0k5%0;10^f&z&!e+@XI!Aawr-ZXky=>0qGqGyWPQV~rvjZ> z!6gE!s0xC7%OqW@lMq4FC~71*Q!)H$31GnqMU}eR2&O!^@@+g>R4`(&YB~0FL4GhJ zpYw=dCzcFqYspaB7#~=jj17|v55%ONs%tqFCs=F22oW$+{w|FX@!<1F(JQ2w>zQJ1 zdZaf!Pw&ut$d1g}J@-#j8xXu$=+;To6dyf8#45yZ8I^0POqD4`1S4k-*E%ykKsB*y zFqPSP@hR3y?L`EmrG%`BBr%YN4yglEA7a_1OBgzL8IAEpk~C3Fu4oVq&XfYnK^;*o z(U-!G)&C`cm_XW4(x!unVK5^KLiA#bxjwT8rkQ=}5bgbk8PqmeW+~Ddg$hBwJ%mb5 zNafWe0I+6Z6GV^~J)cxZLQycnfGRfYVFy#j&RfmmO>1ba7)9z13XghE;hh+}OmHJe zZ2-07#AFCe9Wjk6YcnUcH0BU9G|r-a7K%AyJ|l!^Gfo&45Mo5iXh&Zx0@Oqrcp6!O zO@zf)u43_P)={4rMM6OcePVA2ldi=Kt-#b)A;~ym2EiDdEp5Ic$butL1DG=6(g-Rj z0nwZo`iS;Wokg-~eE$G3KY%SJvGszbSFB>m#(Gz2aXpU$EZ9>vOl5t!-AN({$|5o(-u3X@-M0Vtvi z_d*op)rOT*$9p0h%`%$4gn+sHAGY96M{R% z(x2iS7p(HB>MBy1yal5eK|P{-*SZu*RuTI9p|>Bj&x$v$XL$7p&;Rvf*du*x z+MpdkVnh(qTEwdmB49K-QzyWjiC+>S#3~vwMoFBaC`Ob)JPpZM^+Ol4`ui_JiXOfn z(a{UABiEv}W5~D|hN2P&j zor{cY!q`RRvmKhthdA#YuVLWaG3xyet!j6SiMTox2mwWj-BYo!S6l!RLvCVegN+lC zT128@NDETqS^t(xnAo(EetVAGG>F5OBI&uHmc;Z)5=hcAla44pL{t@nEt4M=RO89o zn=#+)fQgl+S07Q3K(*@xUz8Ao7?RZB5`#^_njCCO7`gzhuO{mih>NVhaT6mKPSD6Y zG#nT!q-lbvRSAOCr1Po*&J2XMMbQ82j zAx{Y1f|;28UhgIWRu>tVXd{L~X9DC^#GDZBmGiMysqhMLq80j~t_@y5=- zD&Xh^FwPk5M|Efra4?W4y`o^ro7ORM(FEOgo96OmkY2(Ak4*Bl`yb?q$BwXX-wbn; z-7-KG0Sn_x7IEd38~EWLdmUH2b`$gi#8B>R}|!9TYW?@_;x}2xh~7jU(S+CS0R#7YmW2T&u4u4jz410lZUYp z2AY<^hGm6INsJIBlE;GX3;X!uH}>hCi1!Z9XVbq1S;MRkkOfT$tQGiG)j;O`%MovPfAAU-G*1)Ap+Xz62&Fw#g_ zIy?vtIz`}~&+p>z{&p8X{nlmN@)Hvboiog`E7o!F{@vI{6V)8i;@GKZ_$w~}VH#29 z4|=-C0_)zimZ9YhK6~eJe&cucF`m}gv~rMczr#!?qcv1#V$CupCWe?8A7*s%2m{R) zBH%-y-R_h1`fQ$@=b{bEP~QcU6V)RmL=1*g(orpA6V+I1cNCoQy!)qKPb?z!)&PSe zO`44a6AeYkn4a!(^vFC@Q-^ldcY+TUP!fR*)R#U5zNq%*^ z<#+zeT9&?M1)aZo)-;{tP&7wg6((pw1C(O2?ox1GmR!D+B1HbzXO46J!~}2Hd>*g6 z;X*cEzLff~f)wBjf-ms>F0r40)DTI^jh9LgViB>3q=<14eWmlJf*eW#oCH0}6R;2s zX$Zu21~C#f03OK8k0GF%V<@xb`haKsC4u#qujVaV*K_dsHeb1W4-eh{Ecbn79}nEu z<%Z28I6S*0~Ikj6Qry!yeru>X5u5G=Z)x!>z7LwU@F^4ePE1b zYZ_oX6#ar&05-+gdbzPuL&c$Dv64ddc_|1GF+dB%AX34_YEC3DDq5kTdO`q3V;Qb$ zxyi(UYCtG}0@VOoKrG70DSBe;quMX+d-NoAgQ*SCJ6_|!zF7up&oJsH=}i{?@E7;E zcAsCr`ZoU|y#p&-Pmh*zx+cf~aj`S6ueChmmy8CDII#(9&TpfV(`y@`j@TyFYPrEw zQ4K|<1yW|gYDySELW!yhsPsV-z+g-TwxK8LJtB(4Qp}!P~A(V&A;KH9kTzQa454lQdi8S)k~7oDr<`h?E*9c)+6?(dda92pWm%QT4DoTz@ z0R$qRD5c=65hMz|`3z%INE5UOroL`*Sln_;^7-fAE}(aBJ3T(rOFjWwacmxa@R9FN zn_N&^Hy)$r#<&zyOUuwuKnc|=sWdq+Ed(`ikdPrRuWWY;wh2iMq9xBGgdAfmDzRxEF^e*HR@TzD=7OOa<7>mZi-f<_RvrCpJT z#1f_u7MK`;s5wcq0i8LXd-xf4J$Ho32nI_$s$3 zPlQw$lSyr561z58Jsj)%`&T~n{^qq;{dc~4Iuym1B!F#Tw(cN2{L710WHWO=$dZN_ z>06Ir8x9S58N~oX#6$;Th@>=XaCqM|pSg1{fA#lAc=kY#*?CVsIqCANUd0oV$#W6(F`Oo@;5(O%;BsoX}sCNQ|DOk@7d6zmMB)`$xY1)GTwIfcmP4 zW0Yo185?PE*#(Q(^200nfg6^R3<+7U09kO{p$dBgY67-y@$H=Ek|d6dSaWE`|103D z6B}N7F!Pdr@Jrip*Kfyv{XOm%1{>z1gV&9R`cSmeY|sGbI!#1S8YGkeW}j)B{|{E6>q5@!Z?%)!a)0NC=< z_R_r+Mzm}vKJ=?&%l+}0Yh_W3V51Q)h;@X1QAIUXB`Zei190DcN7?p~CrF!VS>KIi z^qyq}{j7kXV6=i11Y;~lguaigUb(0&O-fN>K`JGBTA3m}1r-e%v8iL#iV^OA^dLh; zLg8ciJ1hK7@i>>#Xx2$=`E%nVHTE6J_~36o$)Df0fs_KTIYNf5fRA7V>k^9jF7+{D zf6Pe#sQydfuDf5N8FDW{`^|QU`Rv>cBLl8!#|dQKlGF)>5`07yL<550Be+_^U)+71 zPP8m;IC_0gceV>wIcMzzS8rO!hKrXnG|(W+dQ49BIe2)IERTHOwd?trcbt!(o5u-d z{Z~tqRXSl$JQbRb5nRqkKK!F>+_-}M`)3&*YO!=_i{a5G#yAcgp5@_(5AgWo`#E@Y zidsFT*{m_K$np5Dc^-VE%k`Tg?T$yRK_n1~6xL!e5DSvT8Z%N8e>i*dgSTCoTy@Js zzB1|h@(N&M`5%}lH`E7(Ml-7R!6XT>Z!kWVB&ldna$+#3ZLn_jGJ2h-IObD^2I~Cy zk6pn}Y`KcpUcHo|MFPf`RjdWH(=R~J5kEUyIZw9`D-yIS&}c+7obYA>(DkewgIjNX zZHYig0yZykAay01tGJ36_Q2=Aw2Rw6`!ybUbT3D{o{7a{EFT>s%pb($pa=nju?8cG z8iROCP&LV5qKSladGfIffF~+s;AItn$X0^hvBiGv3!iz7wrUtPrYHpG6SNypUorI*U@RE1XnGd|?+Lc^9Db6j32Y zUsc@<)*8f=@qUa-2m#etns|xinJ4sSOO=#RR>8C=YsOUqx4cp3JzFREnIC^U|M=K3 z9)IE(mv0>5ypi2>Cv&7C>Z&NwmK6w-2qri}-p34SXbk19-O<+pPb?qAC1}PME5lp}&rYx$cR(=FDlrFZG8V>C4^1ywEIC`i}3}sG01Z#z)p{zN7 zkgH$6jOHNt!V{1ZbE@EHQAL9%__AsyAt2U5H)D3!Uh;lH5`{F@a1$iXh*4GWHz_pz`!$i`vB_qn@D=tEf`MIXwuA!25LBqu5}ti>mOuT(GqhSQCKfLy zsS9GNNGO(VvG@M!=A zDRY@J*E7s#kzSGG)qxX|M!{e+p*3W2*3hbn$WY3pE!N)s!DVCDbLhA#BJ%C~f$vBF zn|GEjFc!LQeeVTO z&d`xQp>PbQG@QOSi2aa>=cNPhKCjyYoN0AMeZP;+{(Zg4dj#(WUOw8tU z3sz1vSk!Q&QK)4KeW0&|EYOXXPJnh1IjGA1Zs2dfo@2kEoV#*_OE;t}S{{h8zy?8# zDd~Swf^AVt#6PW-QOLoAhZ!Coq|t0)tU-fPgo4@0DQ4UAB()l8YDzX-3}sQRGHGZ4 z9|-D+QF;FPz#~uhIC?Bli?Fz1xN)^*g*7ytqhTGU=8#&%)CAu!6p4~)!m-(m{d2SI zpR#dkUd-Pdj5iLizT~zYJ0G9>PQuae=mZ=)w!uug6?@;jd=G2Rcap3XJ$OLacg%Co z@r;8rhR(DlFO;Z?jRj2$LpEh-xW7U1IqrnkvDv zsF;e4oO9mAHFiEK7=+_f)9BP3))-=pNc0#nIB_(Fly&FU2>l#UU)2Ln)(Au+A&Wf! ze4ss(bIrOsqvu8ZeBjX0$P3349-bK61o^fZ(KK?1FYVRRs8)wpBDh;q@2gg2}u z&ZT|xd|Qs({#2`fXnwteUHO^Df=)>EOWUq<&+L5S+2g8f5A^G?ms!(n7?!jWmNtcP z7a0*lEgEc4)C-xyl=XDfG8-b1l(8{o%{t-SHFa7e3PXmpmSUVO<2bQpGlU8ehq#p6 ze&+?gc>fd^t{P-fBgN+tE1+UHG@H|z?eViezl865Q;S|FBF0yhvXV6+8VLP>?|S^a zVS384Yj?r(``dIn%7AzlY07{a8Wf~yiX;$Bq-!HH!Eh)G9PW6g+K~CkP(AVIHRc=| z|NZ;!nE9<2!94MdfpJ$|b?z!+@}mh{{`%3`EgRQngBvaitQl;`l11Z?MLJW;p=o7q zE;2h8h<%V~Y1W`M=olTgjExI+$k4UIk&0(7ruIwn|@@N-}x`+5sDnemI+#kk3x({R6;L@K1>~r zOdpGknUsMfQtKG{bDqg*r9IQ5ohiL2M6ooQFgOCEqX~X_cl`fN*-!ocK<8F37y=C)Xth{S{$X=I6X&LOpvz`3WUAuPW|CB$Fe?~aw$_*P< z7|0*kx%2SCH$Hju$j;sK^^10QY#eNfIe)q1iY1m+!-fH87%r3~N?9t@lIa|ih@ zt25&QZSU#%8bf2svel5b6q_bxpIO;&bb{4f0s=w|k>)^y=l2>u{};1JTgakeY<14o zts@{kLRQh!g^H{TF)ri-Ld+wv2(+gohn}}&UBh6~WlSs$Rq7sG?r^>!N*N}5D`bh% zQ_t}Xo}G^DJmh)qxKaf5*9>|$k=kGQi9bF3`v6^cCMn!3kP3q^V$dd*-Q%+3W&Dh#$9{rS91yiO_DFT8J!f}WDt z`8*JMo`aQ%`(5O8(E8Alx;mL^Bcsl(68&P$al82NCprKS=Gd#~$n4|Hv~R>qWgY zP5rf3UU|;&OG(5OpjI0``qi&~b?<_(w%>ymC8#E4sZdV1+$sQ)vgjTmY9vjB{RfA+?Nd1~9GIk6 z%rV?dSh1$bri}xy^2+AvI$=3gC<}a`2j63V zpegd#^);K+2C5TR{Y(loc*H(HmC6 z5~kwlq>Va>jB((=D35=m&jSzc<&npav+uwZVjZi`YjE?8W4!gvb+RlY#)TeVJwcoU zL1IK>*-$8jq8>t2Orb~&71yp3o+wrX-^=htPNIa_-FGJD{_59sTjd=h=ph@Ec> zj*!#ggnsRo^q%pSywROI5Y(wn5=%PVs)$WmMkHdv*b*YNTGBp^Eh&YfoZweU#k(=3 zddiEMyvq$N8}iC`=}Bq{NjiesB}`9^^4LT3{Pkabja|>rux~DK<6DRMm3NKe`^AZx zaY?)?*31?xC(IqnfY2l?!a38SLS*}=p6201kLh{qSwb+IYDy93fPF+fV$FGl+?l!E!9v`1PNM|G8GB2 z+=LJ-zo2FFi^hs_7)$0{H!weal&m88DG%S##g6U*M+7%(wnf>5(C+$ebJ;RpD?KKXYaE=HkI+etn;QyB>pns&UkW-$6B zGl*eecmP)`dw)d?(dr30I#w~_PR92ON@S#Dzb&K#M*cU^t14+C^nHy_{$-oLylaNM z?^r%yNRr5#ufLSHy?q4VeH3!Ro){JqD=n|mgv!RBmDAE}81`k!wG$A6Q@rzM^wO7c}52x3o4lr1J&as;5J%2ULwW(Fp^?Eu1q1Ld7ho zdH{@;vmeYtSA48MxGHh`7ETy3s49t#%(g8b{I65&*<)BgVQ@xRwsMG{e8<&XxN45} z+@nOT*cDpNtSC9WmBv@vuY?nSXQ9JJ1qnjl%PBeqi6nI9`h^_rB=ed1vnxL4Z_*tY zwx0fk$J6eV-@1eFrR#97y{&V1=Iz_GorU(^wurAqTSU6Y=Lr3xEVTHOnW%;ZNT7lR zLP^_UA@QnSRp)8>3T01#YNV5;)U!J420bZ;;0t<*W1zX0(0%wsBBrq@ld%}Vm-PvP zsT_P!Hq^&5?39H*Zx6k8kKTMArzxG8tl)S%Y4_b19=Lqd+x1q2EoWxD<{255`l-Fd zFKxqp-$(SRcU@zjbVax+%X6DH>LFThvR;AMGOPTiNjrLS-UE6P!x62fU~$qkoT%$6 zc(05$l{Z{>KJ)ny`<|a96p_P+XSn0@2he(p%hxy27zsfUEyt*p_)ukrSolx0iVx&O zzjtr0hwle!Ql~ea7tG8jolL&iYxp0(@jo2OZ{3VsfBl&m+H}UI)qd)pN(dj;CvUkd z{hIjV#-i`*wo&(qwWi<85Tzu^Rv?+ksWYhbq(D?pmJ&~Gn$XHNYYE7uGRbSdZ#9>_ z_A0Ur=8jI0m>Pfo^&XG!@x1nu7LBA&^ra&&9d0<`XjzE)L*)}Pr8n1yLa~}?`*<&y z`F7Ion>*6u7jC)o4~}J=;hCmqe5U_`V|wsCjcdhZ|4*~YN;}%}wPxyy7;tr=K3K;j zQc}@{Z?gHiFpzD5YAB~pLpeDHMJVBmLVLKOaYhzh&J)i!_{^W&%b|U<>^j!tvW<@I zw+v7e@taPP#z@rCA4r*cllKbzTqu1K#JQtANqd>(IlsH<_w{`**Ff2qNKjLDH;Pn@=M(dO7DmOCPFlaks2Wj2R3-X| zu|1Yta0!p?TE&0*Pk&22f!Vn}|K~4{GCp3AWmPw&Mq()U(5MiD&}$cjzG9srbi9vK zeb>*t4w~2K=dXjoV zZNMQ(L98~tJPiw4uZS@f79*A3myC<3P`8G9LkY3Qfuo);JTlK;-|raeL00tGa?=(3 z&{YS?J9CKGDhv%3=hu<e^Zn>L9oy@t&-&cG`^rzY|Dk#xFWaRP@^W8{ zuyAA__{H>Xbss+J24sSPW=NY!Ia^5rwHCN~ig8k9%TkU#lUPk+G$&3&RH&swD|H+= z?znGvpL-wavGcLOOt;V4v6KxLtl&r9dL>t1;F;NVZwaYsS=cdHe3sMi27Ct2I<$zs zH`jA%&*KYw`;^q*_lA$nPM?W5{}mO$iMwUCU}Oj3p`RUDW0KBqC#k=QT1q<9@HVwJ zs)`z@H7#j9R@$y7OwxkpLz!qjbx8SxzwGho?t;7*SUNPoMQaza;o_xSdDTiTx@Zx} z>@JS)c?@I9pB5sa5Q?6m$clx`IQHi~Y1TLGz8*5s{@crbzxecb^OleA+QmAjqJPCJ)pjhO%ZjpN1tTtIfYgZOepIj>3qyx2DYJpOa_ z*GJ<&;3eER+DuHIrkGaZolT6QCWx<)(yFd3hG-TxJ)&L-L2*$~apmBe7-Pr^WBWbP z%+t%_v%w}GmDcDdF8l2xomaz+POtdoYFgbxBUQBY(0dwJB^2-N+j!GRnv7`85S=4& zsh7kE1|wS1BckXDAWzh&h*9Hx%sirbVO`AWc5;YvzmfVUvM~H7SAG0Y_morkir;DW zs=3|n#e(?qEsIvvT=(s0_I8bW&1l^b5{Hry6QhZ9Wrf!$8lprWEYagaLFScy-y9L) zuEf|+UGjU`-KSo=wfUa%;voLNc9-NC6U0vBRA>0r_a|2-x%`lLZU_=DGpQeKBvRgw zSWUC-^i&7uCwdxI=jxUv+L|SyUwmx^ZI`Qrb7Wp TB<4-<00000NkvXXu0mjfl1Xgh diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Face With Closed Eyes.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Kissing Face With Closed Eyes.png deleted file mode 100644 index a24a6dcf4fdf3c5601a697f72c84f1a70840273e793fa342fc94bdd995b3959d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10940 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ᇤ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 eXOADO@HjoO^3{vj%Ih%Sl{^Oi`tE7;% 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Loudly Crying Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Loudly Crying Face.png deleted file mode 100644 index 9bf924f7a8be0853f5863e26523799760cc4a00886c3dee75fa286b0a3651f86..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11443 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 N002ovPDHLkV1i}vnvVbg diff --git a/shine-UI/assets/emoji/telegram-previews/Smileys/Lying Face.png b/shine-UI/assets/emoji/telegram-previews/Smileys/Lying Face.png deleted file mode 100644 index 25772f7353d3fcb1e36b706805cc65f8d09640725d6f8d22116988420d364ba7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10814 zcmV-ED#6u>P)-=^8I)9zN{;pl}%`#8} z!GN0(?)eJi-i>h+hJb*bH^5Vw@I5&0LD-D|DmSBN{d#bF_rmqppZ)9qP8wh`Y1~Xa za|PSSUltzv8F%DloW0=K#n(F;cAo-L}E32YT(zT=??;PU8Ip;4$Kh_WQg(bks_ z^rim1_1tGx=8HRb{Y>@X+Ry#?%Lvzh;>!*Fcg6q)!VNgNl{op^;djnlEra@dtctIW z(VjEgqsN@b&lWJ-MP~);3Uq>%9Z_?FIz!B8$L3t6!boADgry2wX{iP+qXBgRcS*

    wHwYDIr4R)AL~V)|2m{jUhK?sN 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 R&UXL+002ovPDHLkV1nw!DbD}^ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Waving Hand.png b/shine-UI/assets/emoji/telegram-previews/People/Waving Hand.png deleted file mode 100644 index 62708287041aa0fe6207797060111673b573d6c0ee795036ca59821cf9d1cd94..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11896 zcmV-;E{D;HP)_GB-sha#%PXp=7eHWKz%cd@8yv^6JtVQ6JUPWU(7|dT1}i5!!s-%f#ez#*P!mIK`}tj z=k-r3;pqeq5c5+Do5vuZ%gzUYRjXDxt5>hSaGDb6=jr}`*1LiTU?TADYx0-w{+L&P ze4}^6{%f6;|9sP#MOq2NHHc?p4P#?t0su0ZOs!NZeQ*8x^&hU+>$X;_(a)0-)X!|^ zGiY=aGy>#HP}!ED9dkx$|SA#)`e6rWS|Ni?K00|);4#Tih zC=_m5zkdC^dcD48WMo8+kB{5L0DnO(fEmO!h+6Gw-eV<1y$)M6v~^}ikC>rh?Ob|^ z&iv||wL1GOpZA5AWJ`&$Mci7}eEtdspbt5&UYwr}4auU@_SEZ23v zks)$4Wr3u6JysZSq=dE)k$RrlXmJ?G&+s?H-yzSsBXqkaEJ zN2`Y6AtR+lL^kMv;|^HIaAzzPGcSClipteEtMpsWsqFb8)nPII^f6&%WJCg>b?eq` zTDNZ9W&qf}eY>vJYVNJK-uj^L`@h!dbS4Ug!j)^*tXW^L*LAH{Q@;=v(D%^~)dos= zZr^00_%|(MNC^0@6hAQJeRA$~y{{$#5_08Am>=CRzglSQeWWl%1BJ8ZvMd!zH1ffl2MdLE`|k$4 z_(H!l1Xai(ZXZUb+d~)w9imTntyz6;9TBgBL)#HQwn2QknxnUQ^NL!`C@3lypd0}v z11rlQ8U`I|;lRJ&7Z?4m)9}TW3vRTZd@3dMbNyzs`3fP#mkNc#(ssN3=X>_-`Rx@e zRxkinuh*lsYuEmMp-{Lp2!g#@>+`p4*)lOYI!g6=-M%zk&?qDkINJ`_59IWP-C484 zp*OsdE3ds20~fuT#aRoDE#!4Y^8cus+_(Peqw}k@9dWG&A%*>96fxR|1CqW5{1BQo zh#ZjZg3J>TAVu3*!|($Tc{3wVx7vkOubau9_K zNJua=U>O`L^!7Du`@y}02#s#+T)6DU@R9y|pI`~9Ua#xRFTZ?YKA-=GTrRh$(P)g` zdh4zARjXDxvuDpXzVGLaG52M&*`=LM=Qp=(+47fTV`FmV%9ZA&X8}7BMKVkPvVsC1 z6h*N12;%SokeUF^ETMGPTqhhX>bw)2&zU3Ny!RuE%K)HM<^w%nPR0{G;&#WfAHhZ% zU<+aaK`z)eaA!%8pHs2Qu~pC2V>@feV8@dy>3(p%EeNmE;f5(*-lMSfvP zih+VIy5^OJ)onBmgV85L7JVgb-MaPrVHjQ^gn&|N`}^Pj{s90wbwz*E>2$tUsZ~TI=iT^}3y$oTLN`p=)}*o@V9`U3uk|`Fg!>UQ8=^UKBue*s&4F zWgm<0*DU@j6U4$EJZjL>&{_jz0ZQtA=_xn^MU)m6Ri{jGDQDif_iE=80AP!=)^vN~ zVST8l!Xv)nZUizG3|I5b5$D`B=eiQ`3*UIJcTw}~{0pJ(Y3ZAz@Y-B~US7VjCy3?cBKhS|` zbQpdFZQ?|Dl(-Y}9MEtXg~e4TP(l~H`2D-DQtw}I)vn11;@uQDQG0&?-40lGBiJ~e zDzhaskn!LS7pb_gOhPHw1-|sXj~53q0(&A{k!C;QmRoMwr?tL0pU*2}%mx5Rt$>($ ztJWF-E}w4Er;GsnEEPa?Sd2j|uXlF%us0|h$<6`ah)xe2MzGeT*fRlONY6!PxQfb> zLD}(yaXkIW$2Q23MIZ0|OQ7wCbK1z(uGpXxf`bso7*HAyzzoi1kexdq)a<;;J9g2q z-}?d)_!2z1Qm)tQhM6gw&3>lYY)*Kd_l_&BxMKPE_;^&S)o5T~;5(g8=RwDDUcG+( z`g77)Af6FMAA{^$9i`6lt{T+S!Rs%S0*--hD`9yAa9Ht^h=~5MR;y(I zMCtdx&}cONn-Jnp0ZJWqVG(M zs@nHHS{$T0?8zvBo@?<10F9fyC2gAz=Y90(9suaW43Azdf32v@*GyLF^5U`-0|jz& z86fMWJK4aJfUp3XZ8RR8G-h8%MiKvn6kpVhu&^k__eGYx;-Wms!IF@rJcQ?fK;RS; z)o~2HyJ4FT9)t<0)s@cqXV$~Vo~B3>jYi|EMAR_GT(NE2w${{scqX`o5?AxswZ&i0 zgxyUUY0q^E3Mgg)*8z6|aN9>mi%0w@^Uh@-_wReE&+wcT(1(*B-jI21QO29&(45Bt zu~hOtU%8)LR_lG0#~^7X%+8Oh4Fd(fKFGz|%qKr|g2pMj%J);72#+UzSJsZCMbn&YiQ&E6kfy z$hiEvD#u^hU2{MC_4{Xg0I=vry{YSGznJM7r@61Kxzh!AeX!Ob7HJRxNJ+?20o8>? z6_!0c?u_g8x_*-I0m3L~XKg`dKdY~nh54T}yJ{+Ly2MsqzCy}uRT5W) zF~fr3h{}>72gCWOoZ%T9%MTF1PgN*Brx-v0D;r*$^EjV5_q=G}mtK$R>t4r&i(X|+ zF>5L+de236;_r7{otq5+da&}|Mj-#iJ8D$4zhg|d2NT3#li)o4Z3fo`2FoZfsj6;P z>7r*o_}B*Lzb@Wn*0g)#pPWXl+WXpux;{itAIqu;kb+?IE{aR5D#$y!s_g&Rd3Ej& zo~}qcY52JYqB<Q02~K@FBrSdy2%V~wZGr*~eBS6FL)qie7) zJ`~FEV9%Ov4>r`t{VppBD(6vJQj%SlO-4qy{YTAt#ie!Vv5`|}SnwDm)nRvU%)Gne zn33L4KCWJPro+esaSV`vfJoe^wE%07H4xhNYn})IMr+S=7Ie-fu(4n*NRnBA>uFsr&hpV zkhPGW2XAJH3iFHP5qnCguW4RvJEY&nvDNi4+}{-uv%f3gxYcIc?jR0ROJKmJxGHj4WakeHIkRlCo}MS2 zC%%5xb@+a0+{*=PIl23&iJLySXF!IM6a@eT0iHtci~->eS4}ZvmUrCAJE;!)(|qw$ zW_bjjC97vkwrA5&fmC5gg7axer?g-eu-1pgQJ7wcV6wx(WF$KQdQ}HsNZKXOlM4cX z;S~9Fqul3>w$wZvft&lmy#o-C5JUh%uwzhOR*}y9ijj(EFJ2=mxTL zq+?9rgJKIx5p^K}cn*ro24!Yp(O6+-=4AMdhp*1PYQe|tA2&69JQEt#-WzJPd{8q$ z9E4MrK%9I!s$?**q^!cMr^~tMzdwGp`p}|Hyr$RA{$FoWtL{Y8n4kl;2~FB7_s9nOI&3F<9QRVph5>66xIuazic4ll zZ_$vEl4le|@HdZb%)Na6^=3oU&wSSNBd4>w8>8a`-4HsAru-cd0YX3w=22ZXAOlD0 zqGNB~dA0lYMm6*1USyl$zCgr>B1UWhqC|1&mv9}Z;XIX=l!bH&8Lj{KV;eFHXeG=u z1?9V^q%6*mjswSY0eAoz5cP%M0L&36UxT|{=!S1RYbj>;_Jte${dbQhLHv1Fz{+tL z9)p~BUGIA#%MJN}Rp*J0rd9{K7eE^Wk(P~y2qu$3`OJ!R7gmi@n3<#C8xPgo6$@|Z z{(dvG-*7sC)7$TB(F(!c5FBfe`40;d+(T?d#0d#$&O^_Dih3PNgyeYmEKl?Z5M0~ z0qN~vfVLAa!tfvGDwy>ED z@^go&u((K?j2xoqE-ePR?Tf#1!%*m^Z`fK`dF-xL|umNlK z0PF)A;3z35dwxXLS_rAW!T{a9;^b0Z@f;}?JhB3OZhc1-O8X8!#J|hKz6$mP8qF4L z5WrfS_)I}y5-_<8s%KVY=8URwCC#fSb5}`ps}M6U^+Wkse6%Iw13km-0I?r}jh)Jl zKmc+%lot(BVfg^(t5Q07UZ7@X;0+hais@yUO{!~7{+3Dr)f_5k4X7wfx+?WYAG=1a zy&u8pe3t;e z8CWSmkbsGS=uv>9}&DiAMRq+v!W}U zk1VW5H&3~rwA9+ULHuhuM;8<>UTQ_jmBfiZ6->}tL;C?ls|!8ZGiJXp+YSEfxi|4; z{hq;#+mcK(qlKHooeel|(h=`72YuPw6&jvw!ldp#kEI=NFnh#R*0F_HpQfoohPT@64 zdc=S=5VHz2@ajbrmOY!N_@;f=s4woVxo3@!jflrTnVY@)8g*w8_SJmG5X*v;*6QSU znZV46Thumjk(OClAQtM0v_Jl$wj}#!0o2|1gLn(Pv#*c-!$i3^MG+m)2YWKy-!`Jr z0rw&pYZDP#n|#V*4%OvV#j^`0%X(==%I`L9ZZg*T^)^zS?%tjVkNOsVg0oDef&f?~ z3V_Ii+y#Ivr5$yiy14`=ngkeK2MWLk!sm=haAy~mMBIy7-Hn|Uu8O#JoK7bedgiMN=SYV1Ms{vra&E5MS z_(=XuRSLdM`@>nj6~-eYnFiow-Gofa79asG@nHxg6?UJUVF8fVfI}$0 zY*6TV1ykAEbrFQ;fCzF%-sBflr0~ihIU9@&m|Gwm1{(`&3ful>6rc%e&nw^iA1&)+clle2H?{`j$txi@EZ_)SdoW-(wg+>)B}5V>qp z>89=ol{_kE8rc$L)c)3jS#Iav7~bo9hJPg=(%-lD_qbBdkO?EmoC8Z1L|I5NBS9u{ ztOz4!5Gk5_R0AGcL#(7AcqCcQ1c~8<1i%)=c3SK? zzRhMCU?D=l9;>2XNCotJoeyltymmlMjAf*qn~?%STXcJ&-cwiq$B%NOi?46}@X@RC zznbOVx10mLSs_`I151;#8l;d3%|r@twTRMkk{uEz+})h%+UVb-tbAwJH@8BFE9?w;&MTwL!ucZJvmffwhg7!Rc$X6G zx9t6x_{iLAyZ`IQ8{Id|Fy`;gzF>COIwlL20!45(10e+1GKd63xroA2A=wc&+Skey z0`t{?u)E!36b+>n3{5{gaI2_pbfyjaAn^gMtHCf`1o;Tc>l#re52T~)5C z{PM+W#>E$b&RnLEaR)QPerC_8{M=y~JsiY^i(@VKnuA^G@9G(zY$5i27|Re0NRuYo zl{`v|E26Z#%3?TU-IAD>8OS3yqXL=rK(Y!!)fA7X)I}tsWz&NW_k!4-u)pXy!PzPF zl)y+7K#qh^Ga=LfKze#*46p&&IKii;evk-%8bMaPs4>7Y&lZBL$~mNcAF^`@v3>%= zaZp%VP+op6AANAY&4j&oFVXJHyI$}%i|Pegee}D|q3*&KTU`)RX%dhb4^qk`#Up~q z=itt9NDdW9$CllUN0gNSWdJn;5HT!^1n)s#_#vQoLH0XVc&d}A1Y=_`OxnaD00Ke@ zusaM=GXZPB!XT~aARu5l0Bj6EfYKD7rYnd5;-sR!~3YUHyulrXQKQ%`3Xy*>H-2+u!jl z2rLLf5I}?&&d`gZ03tBPAQsh|4J%b$=|}_2zM0|{an+9GMi8h3=Ai*HR zbB=4~ypWYJtxQ3<>%vbR4a7IdH;#WO)MBy=KH@`Ln}$eA0&G5q+=5||Kf6rLj5QU< z-u%`%^2Y5C@Wov%zvHwb)q1?Gl^?)%V_0oLX?nu|ARGuPLzol}Ae-2U4Peco)a?+C zC!jsq3U~@mNb@0*01YPD(ljiafdt|J02mk>AEVBs?uSz)uq3h|cvjC#W57w%+n>`x zgt7aR&$KjG`fK5v%cKrxF`$Js0zksyRN|Oelz@|S$;m=A+o3MA`OoK7)Z!l;oUw8^ z*L{69(hI|ob-o~laRf*z2$2W?Y5)+06Vge**u7vIB}nUZzw(sGBf%Pzz#s$&k`Rsu zI72B`G`-BiF2Wg|D*s5&(9ucgMjOT?;nI?YWee$e$j%zX(DFg$dv08D?C-sH*5UC- zV*8Fz)4#~cu9`g1ut>qXM5Yc{6k!A>0W!@^*tP)ENqe+U?{=nTjQ}wuC-AtC468C= zDF8A6D@+HAi24AYhT!Dnk|9RF9%g0;A`l6(f?$YdpY7f|cq}z~5&Hp4>cOr_vTuqa z?80FqJBK2J$qw}44oqy4RId+)IS!neRScXn?6fMb_Eh}VWe&dD(PEvi<&X8gkjzBP zWGt98NEATAg=9NLMFa@i9!=YhbV5?dKLvlMDf$qR08us#+?aBC(*t(0;^{fmR50#S zREUU3NzMusY!uD|fbo?t@cDp|krCM^xb~a$=Uk76yMcXUPxIq(!^-YNPovR>KH3IH z`dGsp40aU6Pzi%)4XSXcpmQ$0Mw0on9*ghV$eQkv7KAk^f|&tGPVLTQ_csCCI~ivA z309jHUTN_KQb|h6BDF3)K3)J|8yyoEpWxyMV78Esuo;h`BU(P4KlOqYV$;a2g!HsX zN=bkC!42{aMH_!pP3q+Vv-VghZ7oDK4=3ZLl`8{M!VZ*CIm=V6$0u!OPjjh`|gc-6aNtU__FtCh2>Eo)QB_+VtOPE|nmA zAREGx0VN;^q)p*xvLIrBETmElMTmu7ek#S7I@#U6V#Nwh54=&WR`Vt&Cx6FUyX4ke zZ{3&<%9y5vaOVRb!le}}|4KFES9VNSm#kHmEp!!-uAAiUFd!iy$~lyl3lSDQ+nH!l zMi3RwoCP=z1WS-`rgk5}0dpH{{eFM&B!!LfE*%Mj z1iNA)01`?ib%7;kArPK)Dk@HPw@*8`#uF10Ss}#MQmM3I?b@}kCL->;BU%Z=Bamm` zf_;zJ!Y{WXakuP7s(qlNsnJ1vxCPS-Q!Iuc(l~2#8Mq6pV(5Z}GKUob(ihDCIYdpgZEO`RlQzzRzs2D6$4 z0Ec#*oL>~rbZVqltGOTi;0NEdZr!>|>h-!E85wau^{G!y646ysN&xsc0IXQCVk#2S zctThCr5l@*j|%;ks3*Uoe50ECe2qp3d!z;S16X4d?hi8*140VGl}Vw*Da1_fF%c8M zwg;FlEXk>i2&bR`7L*iUobZhR|EC0O0dN3ogLJ1KyN2KkL^Au z1&oZ0NFw6N$;p?yuKO(jccjCOOs!TETI)}@TCJayN~JfhUAuO5dMaHW$DXS}Tv|sk zdsF<5PC%c{gizhRU2U5&!lP~2j-Pgx`WZ)3YBC`qmkI$wl%S4GAP87K0_GS5nPxwy za-1_gYpjxMTNYpwfo%XvanAk~ZHn?)j*}9PrXim;xzI7J2&Tc7K_UpjmEpv;H$Q6+ZGbh`@%4^uIt{gcJ118>-D;xe)NaxuxY=T z=4~>+-wni;Ol(y9KucpXVtb?o(@j9Q6LHG~eh^@e!H5%_-!{Oe1tN()L*d!+nFvy< zB!;jCn~5i#&F(A98vjW#fvrs@xNu^@j3g*qW<=!q&x-;8V8@OfG(J9Vi0JA#j#)~1 z-4$0{G1wn=v3c|6e+q)&x@o(ITwlMfNya4o0-Hb@Mkmx4qYcOc4h4^&N*el%T3WGU1*gLZV;Najl*RNkcdwhJ{tXj3onO?74njV;2T#x>!ZPXu% z*vRHYo1?a2G}_=s8{7*K$MJFH(3E$bE@IG6F~F?tT~wQ zic+|&?{2KIDXoHGjRtE25J88AOb9?ZKRy*i^clgpd+xc1XUv!(wr}6wz38Hgb`a6K zq?B)b)vI3h?OSfSWzUWsJKWoEzdbnbyz{_ICt+1ruC@RAf!ByfiTUl3&%$xY5@KQ|2okWW4;dU68q*xy0gFnK zAqkz-6UVV}pXKN<>boC;UEgcLvhqH!f%^6bmhivcbUo0 zUINtbdFFjVr!f3l)$4V=cJ110N~O}ZzVAP#wZ3%g)~&nlxZ@7z^2;xeue|cgJTw1E zp->p9hZ~n6rfRsL~LQx(1iL2#rWR&?*R)H1MW0&z1*Q6WHdJoGRvt$xz?E%Ou~@yXH=DZ$tD8E`P#LPQLX zLfCE>+zA2e*xvrO@Z0=vpK-6bV6_ zJ3c-h0l@n8>uav-j!G%f>-GLOGvB;<^X4B?9|$^830KKqk*@i&kd!YB<*X`^pj;NB zoCk6eLOLL+lKFGY5TXc?nGa^27EcPy5t!Q`>w}G-K*&hYN>B&oI9Bn|M0Y?!`y9*gHA|Kiu?xjgF4?Q`0|a zwOU^(7K<-)UH4n7SFc_)K0Y3ejEuOoT1{-;yty8R;hV!Sd|-HZ_;;B3`m|aWCm^Z% z-c@iG++hAT((0|y)a)GYiMSOT^1IND7SN5MwSm<-p_!9}Ko8colM0zQWnMcVs)E&A zz?}zj<^ggh3>9GDrR~OJ)pSDOOEC;im~KYvsV}QFOq|RrGO>Zx42msOtN|UvgaJ5A zn)H4rl&v0XX~o#7&Ko+lW2!_vIy%Z@V`H{lF2A$cZ2m>DSUlJByt~(}TlbpO0>r9S ztDG%cwtOoHf(s`nC$F{E-qa81CtkBp4PU%T|6@bv-%Oeh`G;c}Op$x{X4~~sI^SQ9+VOU2^)a!Mw z)oRpeH0~%Ci|_S)KhRpQ-nw<`{{nzDYu0$%wrvYffoZ3x4*l3h_e@XduV-8=vjtaY zhlO$-7gQ>M3t0#yK+*+E0;CHm=Yrv-J>Kd4GM*~BrcD@1DHk&3_#X!1{mB`QI8IW_ zl$9YU&2%_b1T&xwbePPlKsSOzE}9cv6L+liIeYQa>pI`*)AV2PxuMM5A9}~@)~(y< zy6$yKDFi|AIU&S{KkeC_>QfK}mtQAq^er%E_Mi^948RkyAMr@O&N6pplUgF+M(S)~s3c zYmVdGUMv>RXti3qnfcl%ivG`Sx82q~8R4IJ(Bq#!G+11eZ+@{La9QLzx;R5g&blP? z8KCHa90dpkQVdoEA*v8^2p|vrBOJC*);%EwqmbP2@J@0WoHYz#~oCe?2kBldfM zk&xC!Yocd7%c95X59e%ZJb{%zeK6Atene^d1o97j-~*S%aXfF^wr!tE z?fRJbkPF-l1!RY_CR6exy9Oek13VALOK}|#q(CxXR7zOsCTS{9kr%!lm)QP>Q=QO*{?F%=>SM*)y&-?)n>C~y| zQ^@JLJSKzz!Waatgn4kI`?dj?J1JwUqMX&G5~6Sfp)2(FfO( z_F+FlGXZRqV@AS?gh<8~f&r@y$S^2~!8(EoLYQ8H#yUcxJrTsJr=3SM> zFiH~U9EczUl0I(V#W2GrdP-4ElOPVpBxz=3V51PRAHZP+B8A4`ZtQi8(+Sf`pg98DI9c~=znyiUcJIs9LM}xs{zjYnL zQ+=?|OIiUZPHNn>(fM6L<`X%WXN6hUlq(q$E(f^Z0=WJ+xjNiUfCM@^HI z)3N~!z}hCRDAYg{C-Ff@_+4$HLxB_w#9D0rG{sle(~*?VCg{GT6>wr)c<95~GxA=% z#r5<%013)_+N(fFNdlB$JM1L&f`mwV&izU&RRFVrjcuX;PKdh#0vxk#9X0F*p$uZQ zdhD)SdVToW{(z6?y7OPM3OH__TROFNVncR>DI9ejyCQZRsDd^hr z>hai#3dhg$bHsjD4+8DuFNba#EXLjD?^-s0z{D4pGk_rpBa)cFl#KphfM6KV7Gx}h z0os9$NzgxfLVkMJf%q>|pioQ=C&x?RL2f_G*l>3Za(Y3u@A~WoWP;1$7_TS8XKEJ1 zQbG|~7y}SfkBJVFkUJcm`3K~kznSx~qYpflo5M@xNqRqzibyO2MeBPr1DJ}jTIL-1 zvB6|-VCkXd>mCV@b8FABxcdKE0Z%dAT>!8@&4rxo>rN}+xu&l*(0Ka9r;!!O;gZoh yn0^kPs(N~zUZ>aTb$Xp%r`PFqdYxV`;`)C)SJM;Aa9Ae*0000z1GZ diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Dancing.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Dancing.png deleted file mode 100644 index 6466bc8ba189814c38d7af52ac82e480bdef4c62f82ba4c2b5c9cea67c7bf8be..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11003 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%0A|h#xzMtn>yOPo#_b-I$L>ay*Zl}Mbst`>vK*` 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Facepalming.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Facepalming.png deleted file mode 100644 index f014bd65268400443a1443eaf835e74a79f08fb7d0dbce0e4d5833e3c517ca9b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12512 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 diff --git a/shine-UI/assets/emoji/telegram-previews/People/Woman Health Worker.png b/shine-UI/assets/emoji/telegram-previews/People/Woman Health Worker.png deleted file mode 100644 index 45375305b9bfacc9e9c46a1b5727b0f0fa56eaea043cef26719960b34d52c53f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13754 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Mozambique.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Mozambique.png deleted file mode 100644 index 23786d8af38a6d1ce52a51f8b21c382b867cc3fc488e99a5a85b55bf32375b4b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7240 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 HCG>v)Cesj6 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Myanmar Burma.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Myanmar Burma.png deleted file mode 100644 index 50dc7bea886c82e992c73e51665d8d2454ee6a44aedcb09a4294c03ba22950f0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6901 zcmai(RYMaF!1WP9x>E!kB_SiF2S|5~ZlpoFLzqlZx*4N8rMtUZYIHL~8tHoe@6~(v zJQpXvz&SU+Fm+WqJZvg#6ciLZ1$k-ke`)srg!$$_--3G!qM%TV~GT-yQRw`53g<`(A7Xa@5WHYr3iSh?|2g&&pf;I~Vhm=S}pcf?2i%Mj^;X zCzE~2tCZ<#81n2YPDdYTQqU$JGQ?z{z44r^_Q2Wi63vf;zh`js{uvo{{LtaE_0vzZ zL#H5+BnS~Q?d(u*fYF+f%ZC8kB`db>CR)9sFJ_~c4417NayfFqjf&a~^`l1oUCIm{ zrgaT>#sOuE-W@)Fb$(o{w)i+Vzy36w7u*_SLD9;8;nuW+_VGrZ)ooIAh_ul=C}I5; zL-+Kd+d{2fIQn>;-b?P|{#T^P>Q_#Y*_j_0{zs-Ku0AiI2lAyvQOsAGMBW14-qeHR zRgAOsysDDQ^x7e1F~)Mesheg)1NZRyIlPJV)s0#Eqygf^G7)f*unC8^wm8>X?f-H^xXQxkQ^=TX=x(EP@g6WRlgBSC{`Dv{8|I_ z+vVGx2C3WC)~;dE(^l()*|Xtg;&WAENHzP_l@d<5RI;hqr1r1mrlTop3<3{*BZmSL zLu1kKB1QJ-J}{HEwno1+8C^jzQ(grPZ;t9u-!2se4n|HwEDoxbg549xO17k{O%?|S z>4|h27vvGuq*$jSU-)`hjwgivF)t?2;rJg8=(3-6V_&1^d^^AMp<^N=;^|CZd-rH* z0qhv#>$vXn4~KZkH2v$b;oa3bWNVnB=g|Lj@i9Zi%eDKRhxc9Aq<3XQ?KNBFObl7~ zno+~3?(s50%wu;qprY0M{V#&?T1fM@l2R(RE1fn^g=$2B;ux`>qOc4{QCXE zer-a1>(nI~1P!ABBk~<|C>pt$C33ZIi`a~HiYwh z#kzg+{ZP{x366~ORqxCFZ0h&g13YRG807inw4>8V|E@AXJiv`Edb%cN2|@BkAg15x zrJ&QK&8d2>+3W7m>*g$nR+rjj=b~4Mdd2j1+UO%XjZ!2-x!j~eeS?V>>};S$nx`Uy zZ3~ryk$8gzY9ToN$US>0GU)2rCxIr7e&tY!41>>?{9=2}t5ESdf`^?8ahl(vqo#FW zj=0JtQ%8+&(=&yP?D;vK-n0gq`TmKxs48L+uK4w|S=AEI#@!YW5F1@lPM}AF`!>o_ zJqqLZdmlB|r8Cc7ImY)TbZAJU{D+PAFTd|#Bj8rdcDL#|J{c6sz*j5e7?W%|XpBT!wIdd<`jT~D zc@nWo0RU(k(jnP=vMSn$d_SoHI{6}(aIjsHu|YY1d9e42@e+ zCOno)0o9_9?YufT>JOzuuuoUwV|M&FFA8Bp*(4(?xJ;;J=0XL?*`z}Lhmc!2^=s=k zCNj#~;XJ7vTVpgUtq*JJcq-8dOs{9;rrI>8MLin=kff6_0nnfDaZ_2pE;c@-C;B9h zDT%4hQb(#tHqgzg#6YT;^Xdu(lZrSO_&E-!U-SvHgGBv9){u<9`_JqW&El;NU#3N1 z2>cO$y_$A;6?ZNI(bfME0Ii!4EsN471Yrmh)kGmtC`q+yuS$LL*y)P1Wv&^qGJh1v zcL1W5DHgr-aqVcuFtn1l(92bgs9GCoU~I__%^Y`rYi;5PNluf0{p5IuRc# z-u@FIXe3;?OhF=MP5BY*bm%vs$-0uR=z0MfOi@kB2pd!h4%W`Wi@gLrfq*ybudFQL zm$_j)9lMbZAXiRO^^-%VDqzJhGHtxer$WlP)hcD>r^(}SC_VpY^3xtz%vJ|XY7_nN ztnIdjXK1)%fyjWhE;HXpWABTRDR&g4I-f`9| z@*(`@^fSeJ&?xHG0aWc+g?vY4sNq8mCG>8G?~eWb4c1sXCyu@Ogwm#axRTIJL-8n@ z7M)!JbCv+47U$5^H8v58+aq}_fZ{gir;Ct>liaA3&mJbfA0dvY%Q6%hU(XImO>Wy& zPu;d>q$ZK)kao?*`IAw-!^lG=9n=y;mS#H{Qumd7M`UY+)>5KXVk+MpBtSMQgG1|` z$pv&tpRy$9IrcNUy?zaQ!v*18Yk?a0lU|+z@H--vCPrSX(h=cd)k7J%uDhlT(l4O( z)h;bR>+>UjOIvYy^wWn5(L~g(?qieE+9~Cp#(|ThRiw`uwFHsES4OFVl4Xkt>_dio zhk60LfGjly&OX`QI&dobKMFL{b9s2{>p1>l`VJS0-Gi9vd86^nsGtPTUxTu7gNMGE z6$T)Zj2T+J%ETzf{9-L9xRCT<0^M+Tlx1{_CSy@TA~=dEhTU#_ml6MO=o5>(a5j77 zQnr27=w`fm7n25&vFp-w;%5%!L#n-RC2;rdq0k(XzjBxy4#&Q?s_O0%@_>h`=0>Zv z0fgO^(-u*C6lYcd{MSGP$N)#pFh;^H_bbO5DfF`vpqL1Iip6KhH&VGq7?s<4hetpb z|L-566jUds%*dXHG2a~&#|qq$q)qnZU-BX>ImJ1VoShgT!AwLnW;I)L4b#y~DvYvV zM{CSTfu(61X7`4ud#ccF)&3t3UJpzcw()Zp&7b!h&LZ)uhNmQ*I>N!jL}{@dy^$NK z+FIZB!v4b3`Sfq_z;``l`tg@c1ilPDQgfus*gE z$mQZI_2J2$nN7-HKZM)jR(+fKCU(U>jdgSVSkBs_W2g?dmo=_Q0ld_mAe}|pPro4YDD$XigzW~5ehgv7<>UqjlY0#G9O3mMI z!jY}MYvX*I_PCQY>AL*9EV$4N4VeHPPxZJSwiIgC-96vm+)eGBeA!JQLypi|mvBSY zQ`=665mft$DtMu4n9k_uMmBJO9cL3ju`lfraeT3ci^8bO#bS{@cCoe5KyDTqp2 zwt%{AQDDPaSaEr7#bD%bI^+P@ChW!Y{_=4~{DB!HAUtgDow<-7abZri*pcGwphRwz zmWVER(US}`c_fW+Xr^EicyP03Bmt2X#eVqk-`E}@IZ%w(Q9@JXzHHsDKk>O`+6FW;X3U5nNZ+mO-OU^L5(oQ{>CMpji~X<;hp?E^2F)m8^9AqTyY znlg=g*{ZJC3<(G?OvSyb?7jR+)DImY<>R`cEzE>k+a{{@93Az9-m_MXGp(kE{h?%U0U-zNM7Qz0xXmjT$Ji+ zG@cmZ&?ui}Vp?RG<(Iuo{Jc9Nch@(ya z>yldzdN`tYP3RTzt5}(y&ol4zB@ z{Msilf60LYFy^QkKu7ks1&WX#-i0D`8I1(lbw8rClI~> zTaj7eBL$@kVk;78!+P0$pJyXXMD=)zZOMaL%>P2|Zn}i?OjEZ#A**B8$qC+?`KA7+ z8vTuL(#KgH_iRY4NQK`=$k|YlZR1`EG=YjiMZRJp!2&5iVp%TYgIfDI1C&6Gx%+7h zDw>{vJ$9zl0k{t=cL-TtZpf-c(2j>PtP)O#tst~l`;GT-!7RTc&BtNQn@e4%Zvx`p zs~UK9e9rv*qZtm{$M%oSKI=t4e8dHGw?pT%PUmNK<39T}`1QDY)G z+hzZ5el&azAJ?1^uyllT{smTGJNP7722Xr zM=Gf;X}hb%r3`F$RapOnF^V}&aT*@eUzZ_r`~sJlMg@fl3>K; zZZNE;$48#!T@kSI_9HI#m--@52WaEG7hP?fA{`&vpX|!9zkfa!+Hw9{Y9xAEbQO8@ zYVTi-yET!lC|weIJv3By4Ei>&|YS7!PS0_Sm22D5!Y@_-p*fx`5 zSa$PLPV_Q)UYJT>} zRprZCjEIIua5-727I9hmY72fFz*3tH71oy1&rmA^viyzUg1htI_n6_^vi_*pWRm|w zDwX<9z&)wPnN*LmyQ97@M{^>lwr4AW0e|(}n*3$nN-K{@ujj#dMAOFS{>KaacD(Y> z@nr3@vv~hu0Hkk41d?8Gv!>$PtG(b7%zjezQiyQB-u#8tPCor9;KKwn#|)ZT%|5@1 zoTs}O=BP)w@_ol*TI5O{R_0=MKH(3pY49~8=0~3K0(b4dvoaHuirF-qhkNN;`fjzk zn-A?SMhv+rJ~;7vN;tzhh>|Fi@P8^rMy=#QS9tK&ZIxgi^-AsF5V3U7Fvd}@*28ZqTxsiI4R!Kp9Udo zQig_L>`o&W4tDf>?#&{FL2go}H*WkMUo9lx3F=bJQaLFn8FWjBO}pf?C329SkSeey zfPH?b#tXfW1C72g2$nX>ZIH9VVEdgXbA8>IDW^nPe(?$KL9$P0dBJyLCJ4Y!Lp-*j zE#mTS;dh-c3bHSEydDsw@zKkH_mr?3!*jXZnd-Y_YRe+hV8=I*v`+@#E*EA+EFWy{ zXze~cQia%R+8m)%Xlc$&14+2(85iTGln2QQazZclhUU?R(aaadqVrQ)S*Z&AGyy{{ z%05r!F5_R?7;f_>&-yS<`UB5c%0oE%G43_U@ihH0g4=_)YwCodHmt$cK4uzf-tK}?982C>Y;b&Jb@YH42D?2 z!;i5BI^U;#CMM1UUqyt?zcZEE2NHKaIcDDP`fr{yvm*U{BKL|uP{|OY9tS+gt7YYS z$r+%VtHv7xtdjLRGQRCM+;n6-tb9AYW%BaopuABY%kZ4W{IE{9B=F$<-geI!BbdAZS5F!`aT>q zoHVfaRzL7?Dg z&w8HEwLbhbF5Z}a*(sEHj83JBN}|n-2ebJO8<2BQ6EfcAmy?-YYqexhm{I3edH-se zqAg`}-HOyL{$uSj2T4P1bgl@NND(2^9GP0cesA#J1mFo@XOKc}HC(-kUnwE3b>MCD z7jlIYxDpZyiW!qzm%jOQ1uJ7o21!^B7iB=(RyiAGjf4FruS16?6mE~DauVu*FOF%A zVsD!+XwJ>#9Bdm3=#PmXPPT1P{2bYhjhu24h~&KKRXrG*iP{I^6VTMQOumSH@U2-; zCsMo^x67uY@FwzRj_ae2v!)1gV(6|5V|H!1B(|soWoJqbCnD^8NE*gEhNWMbV`5#I zw@e#uAAjmk06ySaqAEn!;Yib)a|`HuO--bo#RBX3ZKN3uYR}k^NZRpl>|q*;If@GN z?XVVAEp8&9wT~OKGki=vKeebqrq_d7<~+D%@9kGI5`-BCn{V%LdjMa8Ve<5Ha~=Co z#!?0rlpNL=g0u^DI7cQ_lctt%J9}k*dIzxN@rNb5Y|)76FANYjUc&^El3ym9aw;qo zwJ6Du@hfuBD0Xhu63RIZL}@B7zqu&>Vlm0PKNBsNmb>Z7Cq-JjzRYt9AbN7G{M~&h z;9-g5fzMSvwm{M^m+{N77W(3DNQZw@7&i|$HdxpJ9ht@C#xQF_NTYnEd9A~uyp z<7=+Bl|2LO*Z1}G!dCkS#k{uSY&aXfT%@fmJdbqynTk>#SEm0> z_t4Baw|+<9ta+Y>^XK(yu5q0xKq729II{gaATJgyr7@UVjHP{*8jH<+Fsre|1};@p zLZx9X^yro5zOza24MheS4yRr6kficvFR(Bc$oG|qYA~4WiE_c%xvNU`DhFGHsrGBP zhj^PzPtPKQNh*^~CTSn$S5n}yQUDA|%*h_}_h%{whk^mVFgIbHeR!zAbA0O$ zq|=AKL`yU7vZA3SpT62TVdibjf$KB9+m&KW2({#C#HrZT9&Jn7_OgM-&8K&hA8`EB zjU!el(uJETEYWu`ho1B`6ugYKDF|rOeU{E_6o*`!TN|3pUKic~O=@S= z=8lv4-Ya#ll@0wh7`kfD&8I;vsIx_)5i4>+Im@Qv5iR(OB({l5Yb{^x67Ag^$6Xe`yiif;oJ z(0SvjA7=el6t zU6!Dp!DXp{-5Smyw)-&!tSe?BpW!2RLOwae=38R_PwnS9UHplhZM&!qHxKyOR2OcA z^WbxQXkWuw*ZWy; zsrGe#oPJ5-sB0=@#~567Dqy}-t&d)OR-1v$OdYADf4*&Bor2NCv^C7xdR6rgt)=xD zPo`3Ee~Co=du1#smI7Y~QK}V`iH_j3*lrmsWez@E^y- z@A($`4G`HZ56Ai2#?HG9qn5yr$!09Q!&b3(JyhHG)>2WOGY!^=+Hdt+%9^9&%n#~G zH^^=!_+??8CHCqJHLQ3ayd{n}So2|>Sl&$4$y1mWxyhEi3-#@&DGzh0nhiT2@ywa3 z5y)c@s-HZ%ElSGy)7PIoeNkKH#a-ph=0HG1WZ?Aaz}o$TxVaqz?tFCA`zRBx+NK3QH!v^7^)`jrH@C__X=I`?McVT(Q%2#HR$Y|gD z0}~b!27~21k3Z{YrOV4d6zlUZ)x&)b$6!A+SA)9XJ(bM zriVNGR*p61OVgl!vcUIQpdCau0m(JOWTZ$PfiHd~#PKTdhK@t*0tx|NSkvkiJ3; zhqag0)+i=MQ*CxzPY6qi(s??ISUY*ee~QK>DK{n)t<##U{Of#{vQ$;$s5SLm&5S#q zkNtrAP;LKO8>WQ`@j7BAt%TI>i9I4L3R<}BcxaH>rQ0X@1P#LF#Yk?NQp0P^GX^{UEZOjjhEreh-l(y z!p9U)J4L=?OLE>0u$8gzZqz6JBFdb_B(qG=PAl50C6NMW1pbZDEcZh70o zTNi5)Fv2iaQOJ(R&WCbaOH1j&NmBs;6d!%MRP@m}sE9ckiy@%cby7@vq*AA2l6|hU zYDW(!K5rmTeNI6AX!;Q@aY2`Pa7&D|dcJ;TE&-f9v6MLqfQQTE#@;Qnv%`e-g!lJ8 zx|FoEXLl@o=Adk^zqmPn?3m1tM>l!`2GxjUst5AN0W=s>sw4apL^P)nh>c~6mvJ1G z)db;eKMVHB%R;oM0VNiWk&qZ99p<`j99pc9w1(mKw*n|OLR^fZ>BTO59fT8)b5?3( zuMGNnMh03=%*u>rQ{j`&0rvDW)+lo;ufP{I5!_`_b>) z1|*{{uAaSM%XIJ|0?Inba*v2+O#!U>s|lP0n?{nL!}tsNH(!eFj6i`!=NC;Lle=7X~gy zOTKfWs8zf+v9iv#p`oGYDq$chHq~ghFH(LMQ?7@)=z|7ClX7FzXn+g;;!=cHG9o>K zO_WWv2+v;ZMfps0u(=-yF>rV~pVx&6y}acW2z?8GgCTV@>td&`s#epAuB0^jyqmAk z|IcNcPClprWuVjOxkZYdf=!gO2kNc?wzM_i$pDvuc{Tp@>X-^A$Lhx`OZE;fiF<#v zs#6u-V@qoeEZhGeKM8DHXnkX7iGFWF$>m!mrP@g(!C#F0=`2XX1qMGda#0v9>$?&v z1>7?I9DVMZ;T%dFy`HiiW%v@VPLA*8l+(9eV0TjP@#7RB+;HCQL&_qjY0hF3j^y-- zAgvlJYvU;YIxS(WVeId$8IW0@=jhF`o%F?kjH9?yDK}nt3sNBzkj_I;d6t>jL@rHRx(=7-?p{c5o(Kq*VgHq`w|| zc6!UIXVt0L=tboJnhQe6p_ZhE^8~M+L<`rDS8cAQ2(k6fla1c~NtJqlvt|(b0szw% z3%+5hS-F$$`P|v{4^Bc_5S(Y@6)u>T8zWKs-nLQG{gUVl_zb!(IB>v>zZt_Dz*YoUS^*l%?!5XDDlgvo%WFU&_rdZa2{L7 zscgBFyz}ve-`7+Rv5r8h+T~s(P)%lWW7*C1?bJpRxAL;tW-FD77x9Ktkzl-L;<=83 z_I2+%>3DuQW<)AxyU=EJi7E>={<~;}P-P}C?N@f@{WrK zuLddsz|XjvCW=dATH7^QJbEf$H`rzq@0~+KXb6>|ngUS<0;DWv<>qo)Oi$BF90d~c zimKJCx`5TS%uC&GNu}{U#OdeW>+jdb<(c0$imlAH=Au=v!#BWX`3istXZZrlG)QjM zls} $VDLRV&X+dV@Y&ML~}G6_~k{x?VQ=VK`y}`#mngS&>3Ri5wi={aZHEUtpC_HAzIP_6euP6SWPZ#k0rDwiGB{CRElqF)O)vf!C3bmj ztX(FZwhsbCL<5RH>RQ_=(kt46mE#{NMl_EKkse9<^i?ndm&ehu3#1))Q;7&$`+f@C zKFi8MY%CMHu+1x;ki5^3jjuYK9FGC7ckc2U#%SSK&onRakp5JkX=Qu2F_Kd1EwecM z5Pd?%D%Y6&*zm%3C#FH6w6&%&@aSV+zP?uM^V_UI9Ebds=XzV-8*j&Zz@Xr{q}9qp zY_PG6scS(a4auX3A51{C3{jWz-_WWz+-N>ikpF8XEB$d2NS$N%`*&x6}Fw6*KQ| zBBK@se+HwlvEfa(fh{_O{CJ`OyLnEU#~Jj7e~{Xv4lR&YKbOxg`-@Ah?LA0$o1mcF z>T0Jwf-M3+8($^CT~*^9;>cpL1J!IoIU1;vNmiChB=`HbQihqulD*&1j#r{eY0j!s z;vP9RWZ|Dwad|U;>VWx5^l8%Rvhv>B)@+@s&R+GYLIRF@o}fCtGxvcIc%y|V1EXQB z$nY}PU(W@_$qplL42f(g^!NOfGK-A(zh3Xc=)R04I>V`- zvQxpN6uPrK{KS!#gWW|-oJ!ZOYAka8Ej_uChEMS9DEJc8bR8*|+QiqesUF8;MEiGZ z%em(Fo|!H!z&V!LRuYwo>=+h&tRmZlDl=CL|Bpb9pegN<5ig%J^mVgsCgGKTnMKWVg9QRU;eZ9^J2#71a@n%Xpqf_(kIEe*58?9F4iUxEK-FQRtc% z=M6ZY=BVjWp$ST5%I5i@K71A%^TR=28^{)+E>GbH&qqKyv;X?!ZXM` zP;E#j%rEod_K+EBH#qrY1EQV3c9&Tr8*(Yp>0_T`P!kf<4yv>InGB~h>;CkdA!@=x zRJvN1TFK;jJBKa}#ov#(hM!v74NrDQWz6rbBdx-Y=|9(@)`pUq50~iEy+I}VS>X+| zI~ZHdt0T#NU*RFme!mlU-|ZKp&OF|j00o|o&x-M!?k{4;q=yn5%!>qz`0xU(ZG(Ez zW{h)=v9@g6uitW#VC5+_Jm34s)OVclDgpxy)V zAL&Y*97uZ0zBkm4tiyMGCa^fAcsHVQ`qp5L2S~ z)YbjCvPICr_x8T#+ekazADNT2k!x`GY9AY#f31 zZ%6XImfZoLB-mmcLCUvnik)u%v;ev&H23_O>x0kDSx<8cBF6~GmKl;PpVN`LlBxCl z4Zyge4tMtOS=(&BoV>eZ1v7k@#iCYbgN@l>#7zvnPs6`(d2ZPD)DdJ+5j8t_H?xdU z)0-3>=b=)zhv`|>I`GyS)RJd-jZZzvd3qKSQ{w217IQn=a0#lg_n)qKRh3*;l2KPl ziQ@Fw6Py@phVi1dQs$y$%3ArFJpc;$;-}YBFCHeD#S7hAZ)I9C0Tb=7e9)GEPt=wx zCT8q)psBU)f#%D)Ql6ts3CBU{ZHOcrR(cGMI|(LWeBIq>&*Y4 zN+muP5N{1oTIK1VOF?2aDSFOPwNePXF4X&kcy?-K7{JwPP^72{vLlr5ZDx{bc)SRGis9{Pl=0@FQYHkZNBTNyPbNVHP$9_kJ^(|;Z zO!gB8BuGZ7_XXN8wk!v9k@5yva8RFulxL3|miW=6`6kb{6t*JQXXD`-KxQ_8yCEGg zd|ozpesQWh5@Yh^3sdRwVOdHbN8rr!k&)#Lv$4Z96p|ulGb-q7ih|D=N9#XpdvO?b zu=KOHrgw#Ozn2}5@0e_9xZqC=d3eF!7D23k;*j|m?*>y|a5AV0{ zDI@JC;L|ilHNOFP`g350esX!69CDKwv*c&clssn5R(y6%EcNjlhr7EPW|L5xyobWA z=B8QW-7#OkuRN&BJ29}Dt(a5T3G&YQ=zN{!;>ThI!g)$2c!qxb^V6V;$HyNv7kS86 zO1pHbRtpxDky7jMuJ2xF8$!m;&fW~FPOrb##7Mhk?2BqOMV9}1pCK>lQ5(5T>0n{O z0L(}vRMhDEoWB+YfRTrRRo>~DWYb0T%2(UD1U%C7gEVlgQ4+M!n5Ej1Iewf}gV&x| zE53}Q#?LA#$I;kM&!=?2aSmJKBw}||+C%H>rPIF>{m{LL0cSD}ytF4)eIwH2UtaaP znBgc6xVVr6seFwvu2%5Zap}tK)VUh(>oLtTU_}Ky)Oify$IQ)k-bbQd%Sjj4hdtl) zE!evBv5DM%^k7dDCQseBTZA=sbls<`KPbQkNUrXzvG?)-35Mec`wgD5Cv5UjLQ72J z9K+kl*I3xI50CTrqhc5H#nX_UEDN6G3zv04htM;)h4Gk>dy0dLEW01GL3^oRQ`JmB zrZYswEOW)MF3h}lOZ9J17zDa{V)by~@DQ?%8cCU@Mn)NVETO-9$nSY}t!7xccap4| zLa;WM&Ah^Q`e?94Bx1 z2npN}1(ZxPU;a+MdI;@7BxB8KAFDecd9v3tU^Fj+k~fiZQ1)gJ#Fyd@7LIJW|MV%YjbMhWqHCj z-dhqI#iD<1+T&X$NSsbyLKKnMn|;CbLFpUiEZ+oWSn^Usey*scTjtk<>7?9)b;!sa zx*M%3N~>UEVQyh&7St{eDkocNW&d>@5~fn^HsX{)(&5K`f6QZupr#%0*BF-Q#lwAU>yg3rl& zXHx5A2;46ktv4OK9sem8f(pGwZ^_51bZC%0B;O#x;jfb1mJD|3{|C|jABLOqA42Rc9_JC;{_yud;EbcLq7AN9vX1y4 DG%SY5 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Nigeria.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Nigeria.png deleted file mode 100644 index 716ef079001f8cf0e28053e6e8f657e8e70086fc0b93c1be1cd9e4a0a09fb499..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Palestinian Territories.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Palestinian Territories.png deleted file mode 100644 index f0183d5a80df23ae2810b1c4c2058933b8cf537c3f6bcefbd59b2be693ab3ff3..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5364 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 yLnwafgeV8Ngg%006*%L2DZRtycdNAez5 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Philippines.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Philippines.png deleted file mode 100644 index 25233cb9c7f8a2ecad1369f1f4bd2c0662a6653201f2713f871a11bdddb4a3e8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6360 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 JtEIn${tvtxTgU(a diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Poland.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Poland.png deleted file mode 100644 index b7e2dab9ef96ba3f928c928e72b0c1a4cc036fabc706b273313a9818596fda82..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4460 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Romania.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Romania.png deleted file mode 100644 index d5718a130790437b1b68b62efcf9772c7297990eb6702e98c4953aa2b1e441c6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4617 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Russia.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Russia.png deleted file mode 100644 index 104bae40b5e5126aa7de1dc9711f1303b03dc875edc2523070fa32e261a1cbf6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5544 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 z99 U@3Cm};J{+3C}_$fWz9nW4}t0M?f?J) diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sao Tome Principe.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sao Tome Principe.png deleted file mode 100644 index e126d41c7ad7fef0246f7209546b57f268d52e121577d0b1b0075006f24827f5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6908 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Senegal.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Senegal.png deleted file mode 100644 index 79210b1701d3303e6a711b0f2adc847bdf3d12db1f171f21185c239393e2c196..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5282 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 Wo)9JBcmJ_R1jWy4vUSp?A^!vAjBtto diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sierra Leone.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sierra Leone.png deleted file mode 100644 index a9c880134d2495f47858fb636c3e4facf2d93126569549a4e270740436d3624e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5843 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Singapore.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Singapore.png deleted file mode 100644 index 88cebff990e859bb1f9616a96cd2e680cd8d6e5888b14423e55c158492bd0390..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5324 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 LN3~k{WyJpg@b!Ex diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sint Maarten.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Sint Maarten.png deleted file mode 100644 index 68220640c1f7175b7ce933aa1212ae42200411ebb007911e0aa8c9059096885f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6193 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 AvH$=8 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Somalia.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Somalia.png deleted file mode 100644 index 1e90347e1b390c4dd378aac483f231e156d9d415b6cfd19e42a2271af3b86bd2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5176 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 T4~qSJ1Ob|=&k)thD9rx=tO3Dy diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag South Korea.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag South Korea.png deleted file mode 100644 index c4fd1808c838385d5e69cb017a6f90f952355a410f5a421c28d67de5704b1921..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6896 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag South Sudan.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag South Sudan.png deleted file mode 100644 index a4e5eb09adee6a2610fcfe3257aa40c495f3a072e21631e4f18cb727ac8bd5e7..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6578 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 wn;pHn%4piCla>ZS8b)__cQxKy;l1Db zagI|W(fSg@U;*6eSAP~r<5^R zy;ze<%0>uWt~`ckXzbp$vzm0l3a+kA=0$0xK;`g}M$PtGED9D1VMQzeU@M@`=*Y^a zq~lbE>qWbrk8SPqlQ1J_%wB@yq*aGq`%D`OGW~!MCZ>4%st^1BMj-C(r}kw;WwkHn zE-k40xJl4$K0Y*I@U+Q6&VoRLK_g$UwJ;3^tYYiLFOO(JB!CK^<2Kqi4=Y^^6JOsWXNi*P-xpZ(>h)> zzpZMS=7&bRoThy6j6QNiaOM30<%aioWOqWOh`N{dADi;-$^#ycoJhlG1Br-VaHfth z41bOB#bc;8a4Pb4jIkRp2Ey6dBv7wdhNH{pntB69N0n5QXbv;i4kfq2b|*twKtwgw zSouL<@~LcBZ6Yb;8iEXmK<&Iro0B%kl7p)^*-J-1hdE#Tjl+G~kx7`Ws`Pn5oGiyW z7u+atq7=9ILUK086Pu!dP67Nn%o*^J z`I)i7?1b3r>ZsAie!Z!eWg3dcG6j`-Q!0w;7J6DuqREx@f4zBv59nRb^E=xLt-jv@ z_3W7SbJ-=|cJ%y9HSEsqVgfyr?mD3CSo3%09Ha1vJ)LmZS=awCJ4SQzFzfueDbV!W zJy(vPY%1qiLbGF>QdDV4TcPMg{(mmCGRhrn7X&6|-z`U2f1;JG>>! z_w?nPE>O)?du4uZ(Dl$Gq2_JT2&8ZnDDes6TWE{Skua>7$LHjBuNk^C})(s{vGLIvEsk-RLCpP~ag>GpalbvgdF zTX$7wu(9a+s&{BKqz&iTC(-&kF8`3~Wfw5H_z@@Wa_+YA_({x)bP>fbXDUp9hUzv# z`2vlkx}sJTeF`=v_V;9#q0a2aBo#d(zPnlUhrG*52OJsrjqcU{=*$`rR)Z+2bbTt| zGWZJj-vaeN2L8X=AYp{_f{wmRMwwuv$j!B(jp!kV5H>adn=9;+B#L2MT8Q^IDO};z zTOyoAc{~RddCJA{F6Fw%R(G3j0M8G5MLIoW9rz(RacPNS`z2%I5ie6#qV@Q7meWNl z*5O6MjJEsJp{QktPKA(-=TsU8o}Ko55u-Hy4+mMQ0v+Qmw|p{DmBn#Eu`}7ezzo=u zJ%_iWLtG@tYM>T~E%MT|=DWsR$H{Vif4)Io%oZ6rs->{wwLj)`B#%pqpB6c9UJMvg zKlM?}*P8`uL`P?{n<53hl#mA}eVi8aIsVeGG!Tw-xLGfxgIqgr^&Lu1bhE>`k^?|8 z=RgNVe(myqgY;MQ4(O^qdV_)Am?$Ekpsm zwhs!%`?doA?OUVrzEe4J3GZ49PW=Mm0tz=0jd6bWr9CD%0bHu{5-89Ym;f>z`=tZm ziXQ!vU4GNi2$8!-^c7h;m&}Vx)IR`+hh<)-D#a!zE01qlR5LPm^u{v*@Rbec`gA3v zL=BwAPvx@Cr>>E2QAnOYJoSuCDN7O9?=3Z0-ir{{q{8Te6qQ9%*ZMC`UFs0L*0p+reAU=41!L{X+34I56I+5qX^xc6aqD!L87 z2zlkpY$A^CZFB-bUw+V{~{@IW(a@909W~v zZJ>T6C+6UU*sigT?xMV|3Elm{$Ke3|o2JjDn{!n4Sp$VO1W=`-9HJQYtIj(+pXY@6 z@~NFd1D1mqIkeBp(r^?CLqE4fd-BsSxOlnJXFGf$*pud^0j-W#`-dsokF?TG&SchHrK6ON6*i~1CnbM{8|70WINa50s-HJOP_WRVm zHSt0;9xv~=DA1N7O0*$U%W!-#a1Ox$4;a=RB39s_^zo=5GoyC{4n6A>?T#Uq; z2gzQX4~1v^aZtqts~jj-!Oz8o{JiC3?b8ZXFt`ST7Z#b@^Y#kW9ArXb_mr-;5s(b) zb{u%B4k0En+4IoKQG#E@jrieEsG=Ug3OF1Fc>bPPm^(|fQYb-61a!ImPs3_@Q8nGq zJL2Tf(CF!e1DY;SA8 zZXLdnnQo=Gm^Y(4OPH|(i#tg&`pqEg-pe;v*^*fNRR5iH-3^Kg_+&pEzB3|5js{5e zoW1NnezZg)PwVcddcqSWbGzLBRs4jpFi8BY;rK@M$N(j(pj2g@^FTaZMAu6&+#*pj zcpe-T3QQmsS6%KwMqMB`3O+^!c7z-X51dFNMKvT}yoX(HJ3e%h2QOlJiwO zcZcw%_=_VA3HN8Y{(FB_<;~$@rkRAe;1V!-^#IJVpHpYQ&3z~ zwd%#JlA|}DhJABsB9oa4~r*V6uxH|^Y$r-_sSwOYevQjj2!$> zi}H<0jcPg17v&H&&EctNel82JV@G*w>5{c};_EUZWv1|GA7M-C{h?O8%P$ztdN_0( zhH302Z)3%Z8a_im6nD-}$32)yADii;wp#J53LWLH?|axqAB%I zcVm|DXCIH#_B@c4`t$Pu$JYf|S9rtP;5uH-N+|YS_Nc)(#jjO-Y%r*k{%D!4vyJFp z&IT49@ZqJ`SG|Q5B{3DsHQP+>@v_=?qZKsc0UvINAyC8Qf45hl2X@;-{^dX>G-tRO zsaOEMNxU-;jUnSf$)FHyxAUvNr^BiTW!JAbK)`p3r%;%{_btk}&f)J#%?9QM#Jf>`wNUeFyWD%y61+oM4VxAEM{O z-+x+OVqJ!2F3T53M}6g0hw<7gYuBiz5LKz?M;aXz+5ZF{A;f3aDg-YZo^JEbk#e_K zWiN%N=oT%F*A0do@-{|9;Q$3#(CVzs#iuM(LxfI8TlfTb&Z7eU|vF>LQk3m8D;P>9U!tgZqzt+t1v@icP&xXN%)@vRgO%S#7^jW=bzj4Ik zScI*W)OB`G)&$*PKkW%WVaLRqkpVO!tr0)s{y<68lf!`;>I;-)tl_U-x#b!*tN~Qv zFCGJPQGWuu`nm^n{7W??+L*wzt<;0F?Z<9Z)=OCzqtCQOSub{Y_-d1{ZsyJZfxB;U()n)tfhqv6X%xjTm}39@(A)zyiQ9`H#Rl3c6U#jNEd8qZ5qPfkwGy0&Eg_)+}Jb-`K8K`c8QuzwZsUlOvYBQf*ieCkFO zDv|k^=7XPE*Irif`rE#8movAU33>mCLZlxLPDeg-iY(Qia+pDdUd_tHiLG$;$ByAl zVLQL=2pS_Jqpcwt^WFJkEk1t!xdShJ)=i6|PbV+LEal|7e#zZl~CA;H}=u{=j%m3-T7^Vqhur43 zYmmMK=0_GMhC{zoH~9Cv6qBk*(70%rYs&;uT%f_tHFTjAaEk%3F)*p(6mywy7&kZI0AqROB88}vwGvY4;UB7d!Bo@*J~BE3d0{%Alpr>Cmoa|y(T;X* z_SK~jQGJBtK_boXMiDzh!l<@@;Fwh8A)kPN$96x?be`OdQ%%?K{5&}W14G6dOP>x1 zL@Lqq`3&&v{!3$Cw^DMEv&c80@eU&#Nk9|@(^L&sOe6=&+)gZ8WWB<>mU0ZlxV@E6C$KtT+hk(6h>`g3L; z%`+AudUMIq53AcHMuiUs&WqS+Zl)oTRr6y{&;8Vb6_DeJ2H-@7KT|1Fu%$oa&kR8B zgcmf1TW|5m5=5BHs$j7&Rh~FGubv(qpB|PTD!jC-V%9=Up~yx3O{!Y`&s#K}MexcH z|AMdfnRMf3Zv!sTFKp6gHJVI`q&Np6Q zvJyBi(TL1KltaHrM%9Sc9WsoTSBxT=7iEf+v~Rzrtq{Q7&2`5v!QEBGH>ODuHb+ZN zx)Mc67A4stR`tmK>yEk%kA|^jpBaQO32k+l7-SFEmMon!adErJd*|Edq;BNd6gK(G z72hbS?+|(K01kzeQqxaGt-4I3l(09_+hh%MyW*8pU58}4@3hyhYsy*Pv6~4dUTUo( z!Gj$33+Y`8Vlb@Z;-nVd)yUX5*d1-*`we1`iyJm=^Jq_3`BZmxYl>cCDcec9dhzG4 zZ2^=TT2;d}3>RqfyE}SnX#tn_Oc8h0u{W$(BnGk-8Ybk5Zo$Dlg5niu!ZTbq9HVDx zJR7%4ODQH;wqGPIs*4jjG9u@@m9>eGe5@Go|yzVSh8See0*!U zXL~LKt7u)7TJF7fZGRCA=ZyU9czhoL= zX&rN3La=Xik+Frnzj~R#@0{X%(_Ql0@PrRB3@Z|QjOf~C5H-%9W_=g7I^5Ma4;jRc z7yng_V_wQPtZy2XXJE?wd~RCPY`O6vveTF7F}K|zFZSSh3uE#Jpa#PRXG>LQ#0;e4 pZnfDz$0Ce?Gvoh9tLVKsD?t9l?4tkKe~(oR4HX^bYDJ5%{{id=v&{ei diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Ukraine.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Ukraine.png deleted file mode 100644 index 3f40bf1887871e9ecc4a5d12b268f2cdecb42fa58a9e8df7c58123e605a21f64..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5067 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 X#adbM2)hiBqLq>a6q@ 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 WZ)5H&=6_-|3=I`+GuP!W8cS diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Uzbekistan.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Uzbekistan.png deleted file mode 100644 index 6a7561c6d050c654176b3c3c90755836433ea8e4dffea5074529edb22deded56..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6639 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Vietnam.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Vietnam.png deleted file mode 100644 index c561aba89bd7938a4e3497e315aff9dfb5c762d7c97227e27aa3abb1cc47f1d8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5796 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 R{;SWA)Kzqps}!w6{sXqtGTHzD diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Western Sahara.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Western Sahara.png deleted file mode 100644 index ec707bd42afa1f744463cf265a2dad59611cc703a834352907c198ccf9d00199..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5734 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 KRjZZlqW%Y*rZUg~ diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Flag Yemen.png b/shine-UI/assets/emoji/telegram-previews/Flags/Flag Yemen.png deleted file mode 100644 index df3b4eed2e48fa710d21cc184af05e983513d97882f8cd028178dc045b10eb70..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4772 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 M(>6lYYuZNs52nrm`v3p{ diff --git a/shine-UI/assets/emoji/telegram-previews/Flags/Triangular Flag.png b/shine-UI/assets/emoji/telegram-previews/Flags/Triangular Flag.png deleted file mode 100644 index d5f5adb51634c59f29be32be32ddbaff08569544215ba356287e8bb5023ffd6d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4181 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 fkRU;Vh2#GLd#_I2v7ty#}rmP}|cq#8_& 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 LNkvXXu0mjfw&;@> diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Banana.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Banana.png deleted file mode 100644 index a64467d7c28f188ae2216ddc7a6363cd769bda4d06a23b6a5f7ad1b50c48c7c9..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8834 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 Eg5FclmjD0& diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Bento Box.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Bento Box.png deleted file mode 100644 index bb5604532b4763500efbc7224187284fe67bc13d36e617d9ed6fd0a914cc89a6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14128 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 Hu0mjfR7Sov diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Canned Food.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Canned Food.png deleted file mode 100644 index 4140cf5843a9fc21a5f8410c8ce173b7ea8df0a5bcb3efb2b215172d7054690f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8442 zcmV3t%urZI2SU@1)C0l_?9Di5T~2X$Q#w^WbMM@qzTM|{ey{KEap2mxHm;3pFZEbmz{Ux^Le;E&r(32!P7&-S?Tv z*HpXHCW(i9Ki>?dsZNrRWgCJ@BN%H%j1dAxgFqmNRYedr0fHBNM~pdRMS2iAPNEZe z9@xuw-_UthL7p}4&`k^16Hj%kCD7UJY zTQGXFB3mGg7|gJ9&RF9RBUlT@7!U)-0D_U?rBUz-J}4k40W_fA6M_-~cpu2J6bK6{ zEQ**D;`JF7|CB^LsS+Ol_(wi+;sO?tJ$v`cmEa1wLPXYL(*NxpCU$RD)q4efsddq? zIEN`u5(Hz5--uObZ2(n_V8j#?3y2i&#R!OCSSA1%DgLIapo)U1szFtPSAr^DJsu^5 zf-rfOcdXb0sQElH__L2b@ZrB-UO1PV2y&U1zG2_KuzUB9?x@vk_Xq6v8{>@kgK{D? z03rB*_g?ZmlRV2M%W^Uw1Rp?@aKX(AQcSXu)w@?f6_oP20Z~Oz)CkrZtcf&o5!EEo zC~<1zSfj`xh*4ETFbIP88A|xuL8tfg`}aTaC}4na^$|c-5aCDO`qmi<=F95YFgLfL zs_K;>d7hgr&jr9aN1P;7D;4UsI*rB<)mn{OrADn@C8;DNaZDU1L{Wq(IYOMph#*ot zim2j!V31|xSxS~=bh;gS-5#B8msV?$_TnP#&Js(V4q2L_szlCdwOZ3kQVB+ksn%;o z(2gHuuleXlKlHUdd-hy5apW%7{NHo$Ui&cQ*3|B8HitGGI&?7YcDr#DB`&EZOioQR zF)_}_=m^c`FtuuxB#v=$OdLh!L|atBIWXl~Q7ag0u$W@<5yS{;1Th9D24f7yI79?% ziuWjZ3hq$v>393I78W>l<}}BS9+hVfACYr&bH<3$%!UWsw(qF7JMHfT9s}&<;sSTM z6@V4f_g=%Tx7}{fpFPjm_!wKZZf3aIAkTC15U^OH$lagy!&t#Ou*MdX zYKut~F~#Icp^Zff!UzRNh?o`eq^c;24O+@8p;2qFVdF;bxbxeX93Q9M?(z4JJi=dp z>VMFv4OuX%%HVR(&t)foF_9p~RN{)?cHMSD@U#|MEG;epFfukuz0sgvs}dzqK?oNS zS%+XyQH-Hn>9&~MLQNN9-$*Hj1cP9V#n@uiTWfLF6&z!2@tLuN5a{>&%q`4w=&7&M z>vmacFLD0-95?K^nUTg2&mKJ{0ku~x0q(t*@bJSBx7$zV&|mCENwWq~m&QYl(IA^iO5JfS@8Jvp>F(XPKV6?D)av#u;p&_89 zmDB4F2tKFX>C)?`w3pf}EiKY&FEQv15CNOSG#gE3HgBhzR5^0uxaszKTJL6$0~|bf zP_H^AtRMpVAXJ~c_4;QPzwPxit)cOdBsEj3SExk^iE)TA1Px@~<9&|L13?3UfU1^q zzPM3i3vpx2+J!0QQ}|HGckctBs0uzPf?$osMG?JP0eUf^}~7+pBQsizO&CzFV?gR5Hy+&HsQ4?TB|8z#otJQ{QO zE040!>Tqgwgt_V@XPZNG>J3_z2J>;1K@uZ2#)-o@hj9_&9M*s{1|t?L1%a@IqLtDQ z2td$)swc|>!3Tn0Hc8Xseby%K_o((Vh6f!s_PR{AP6b3p&*Lbf;(&woCwYqCaE(K&c(!WL>wj9WC$0>*f=7p zREVlok|f58fi%a2Rlj3h5Mb3NEtMrXCMX02^~7RO6JuROZXphyoI;`I!IK81?h8tK z8&-S(YYl1)##*dhmirblQDM5;LJvg7Vyp#c3*7=(BUrVlSG@Q55U{F%A*d2Wq0(Ou z1UR$C<`NB945)zmV)Yi%8&r`{9B4p;LJ+K{RK$iz3n$EAFlrDC1_xUB0fp&aIB3Ot zDg1>H%IjLx3W36>Kv)9?VhU$XRB)^l9kAB!l~t=``ITq^mo9U?1Vk@*3j~T)X_m3K zi#{vtq~fP3fjKEzPD%uI8OSTpR=Ma(%f_=J%XaPHiV20wIi@ce0Mzn_(bdq577P8G zI4TNwLb0gVNa(dB1;m%;Yx!DyNhVYLKdXc;%=?1cp`=Mze$Bcd!2g|BC~JbYQn~?! ziK$xH@}i-fUqMs~0?M+&mlYpDQAC&hhl0>jT&Ro}EF(j#a$sRGTq0g~)e_*$|Iy!8 z$`!}jaJgLKyn<`=f+c*h2mw)HS*iz=A{Ju`2Tm?JU!@dUtojqO!Vv4514;;g4Xa;D z1buTpDHW!<6ri%oOF;xJPf`hlWqpI9vPvwY%aJ&}qA3$sMhT02OR&?Lvo2VyT0##+ z5O`TMmBC;YPy?2gxByaE@n(h6g~*X$5L+Op%S!nhcx+iY%R2G{G*be35k_1Q5eC#C zgcUhn9Lw_86aw2A2muBI@E(mETCGA7qYc75CqKveb$2?@HoiyIK)GcDryQ0e|gmzE#PDb{5;9I^E8e>hdFx|?RPLq1)``_%7w@iN^}1LD@er@ z_mz805)o~jK*Q2iOaLv|xb?%YONPc@T5VP9EcMPyGRVmLT{Ni@1iTZx7(%Y7FGPd& z8U22XFgiu=wXdf4^4l@nZpMv`GTf+BuU4qU5x593LI|ELO=)+#^p@J3nV-YVo~Lo> zN$O7>!OhQNqPT#v3t5Ghc#;}R5(JwDOq_8(aU9=y2i5Vd5}!E-ANT<5*#rCbU7Z}z zn%Eer5}g{Kpj(+{GPjJ@5^BdzVB3B0141x_pb!E!6S8`h-gmx^rEkB7WaD*=P7E_S zHpy_aPFzU}xIxT{cv%)EAq4U?WvSif+_?qjZ@7upT_+hn^fiVbeGJ#?B8kI=di|+tH%e3RS**xsZ zPXW^T(qeB8HA(6sh}2{$*;TSrJ{nxx+~$-=7|FkZ!0YK$s; z<>!8h{V)Fk4uAO1sMZ^(Dk07AUdd1hU@am*99@7=he2?$*V^19A;OrU9ja5=L=&>$%1E>0Y?^1*J zkKV}kehU^B2`*)+>ACxkDW+z}`PxVSfKIQ?J%8{%G#ErdC9tye^#Y81c_ixvicm$h z$n&`r(l0;=%21=mp?CczPkiu0eAoBvWaq2KP-7XWa%W?d&)hx9d!Boi{g0j_H^M8E zjZ7QIt0wBaW$Og?+$qvbu+9<`tmdfivS~a)?%ctbKk-Qp{_+l9_MZPjZ=r=)S#vuj zSh0c?G3c)!5u|G-eKkiDAoxHs*5vt5e3}Cve1JE;aVNLDdXg*!t=G`lvFIWuY7O3Z z*XwzAze`GB6BhbQkoHMWKTqf_66cCKi}8vYODsY<$Qc`nx$%Y>o_ya&*!JdsPW{#! z$+|scCCN)(l*%!4MFD6nv13_lVTiNPTH^8he~)d~*SO`bCjEgSRO?7o!9+EZq)r|z zgHD$Tm#{&F!Qy%P?KbUB8+8U3R|%2DM+UJ5Yaq5c;vnQHQ=215TO9h($B7e*s9zP0 zD|%^lsZ^+}Hzj-t&hP;@(q#4%pQ3m8>)iFjx1d%rPM|rC8682p1B?myxQ=a1;H@Pe z^pM=+Si}&JEW_KB0--1nHzR_TqK3ezA+fMwy1~i6`2vG8OW10a;1w}Sz^^D{RV4(y zB50_2@vNX##xMxSKm7$Zj5#*URLQ-P57mg8qnJt^k}7%Bz>IIf3~xZo9}$&1LC*fmy=$dwU6=0y#`t0K;jFDw$y&oMj}fe#o2Ya((3-shMsN32DI zqCP`IPAJMBvCUyjZ3yuN!dV1&LSbUcYM4_6BnWW?hQQ#=0(K<;U;I|N$O>9_nQ@n} zf_e#(9v&IoyA0f$q zgebuWDvc(U#xP3@E$|)}EYeLu7crGavFiIBLcNP^av1C==D8W!@@}dYM_u^PV7p$_N_}H@HwYPEPa}P6^&#}V+KTt5CSg}6CI73K#s3d5f zB0eV?_S&6cuU@h}=i&QsFGj{V0_(2cMs`4!m=&;Vr z(0YAM${?kVG-_7<9(sK?z2Q~#Dq|cz*1-is78DRP;Ce3htk4bYh^W>S*4?-FY8ID0vjBzZ?_V7|=$B)06EYCn}k>Xy$5UNFy zhbc3ysf=9398lWPkNx)kf&20!y*%x4^6(KP&yYy)qGbVf;XL)SoLm0mkJ61tc;qXm zu)!m}6zOG1cYt&=OgBY(DfCmcJfxo@gN%@6_%y?(Io&*=n^zckL&tkkW9ju0jy`*m z9dFsq#H(*3Yj+T1OM^H=P?98}cYdDPv$NDqs_7$-gsWZ$-2Jj?Kl?X-<3}o0><|8H z?Y8^U93NqHcoeKHlCVUepHjPJJ9qDW8;`vGos2aTUiy+IK1;zHB=;-2!w?F8!7Gw0 zcuyWO@+>g$Lf7Z`+>wSN;mWJwna7`_dHbE*`ktRA?G1{8ZB;N9YlV=eoIHM%+2bcj zj~*fW(~s$?uOBHM;xgp~T@eCI1LqPd9#CSL!C?;~!Gk#*WQ=ZLJO+wU=V{v5NXXKBrzrF!H5+5dcq&fz0$+Ejrf z{j1#ynkLK6Fg>%0>nFx}>|+nmn%qS1HE*DI^G@985Y1|hsZARTQPf`G=6C)CHc9xq zU;l5sa3bgKJI0x8lx3&6Cm@u0T=W!Dgevjf9OGK53cB{n;Ctsl5X_KFsB|CbQ%Hv;Rb7b)wH}G_1==Ii1l_U^yPjzYox6W+m z`6r%W?(0vnw0VZ~j#qH%6|V+k*tmHsKKG=ZJ}>$Cw=#bFcE0rP-{wz0{S4bD>uk9p zVzSx5Ig8>6M##OAs*;*Oo*6pboHJ+IoIbfoUKwTQ+kcANf8jqMNtLYA#>9@0Wju4} z5KB)V!5w%MbL=p~^9#((%y8Ykuj9y}185o;9jyZWtDgX620mmSqspeC3C4_P?#x+E z{^9Qtr#bV(6I7G4j8APK^Eutc7USRj9enRA@8b9${}qQm_7KM&eF~Q?QK>1l#8Nd8 z0;GAMHyF_CD}4;{%vP>@>uzp(>zf(BYZqy&OWx~2WJ!$Sz>`nWKYJGU=O1VM^b1UF z-a_++o2ZVDK?rD;;S}htD@QDpRV$GD0oE8MYD1VQ%i+J=4^z_|f7L6&DC5%`$@4%q z-@#VuZ2wPh;ijLskGUtFVfKrUa`w<+{OJW2mpWuwPOV<0wsDG$H*aI=_FI^|`!=dG z6J%*hcfMT&WUPVM@XUcj%$+@he(JBNoj$>)8+TH*4lVo2RRI+t2*koV%8HQHR1~pA z`B0wc44IfsNuB3@{{t9-lP`ZYL6zx^GpGvcQwHZVa23X0eg{+c+>JxPD|uFQToG%b z5*3dVJXxlG_1t+*f5#i>bbD-`nW5Tfpa?-dX}e9<2J39uMX`uv zg)~FE-IXRDQckF`7Gt2bFwe8k9;G{b1|Iq(`uWeWb?Xjl#!+VWUVx66mHeRIx*>pY ziDJ6dXU@H6G_DZ{oc`kn&|`jxjntMZH$V7>DX|)26a^xP)1RL7Sei1vbqjH130Ye9k}HEYfub*InJFh%s7}>g zv4psPtT<1KhD&t}n?@#CSXyN6V}C^Yna>g5c{k@?dIt;Jw_r!diK_{=8so}B4FU2r zBOUY@bo=D<^XLm_ktZJ`eC;c^`8meNCzu$Y2C;|_sI_J3HaIPdJY=n??Df_g9DNB9 zBp1~S=b~7zjKp;kSD`!CV)3EBB>VKIh^8ko8@FMmCXk77s5G!xP*0w<35y-#Gjrs# z&*9IWCGml=#t0*uwh}o*?!np>P!_#pMZBz5X0nbPv2P}V^pZM5(V$e+5+!xwN{xP+ z;a@mMdg2sb1gs%gDf`74j1?k;D2k}X6>80KDwPE5+)9H#Yb=)4j0wtaTdQh!O{3rS zW(CQ&EUu*N8xRme2v`l&5i}XXJA-jWA89dym9o~$lr3wl18Xr-w8IHL6tcc-XNg=S z`t)Lb6fQWacl8sXmFH5FrG{^qXmbg&6v*m)%dc@0vM&&znY{YfdY9U%Z9f26F4kt;ZWrupVE& zE`oNQh?iU^w7+&yn{ ze}4D3Uk7k-_inlB2(Wz9?d^B%T)6!ejYnNGES^0pQDX>#!32XX4-<;E!Zt{G6rYQl zZ|LSwbOO2{%X*ECyDZdvc?49;cE(!ZJ6=}P0xta5ph{G)vh>39^3`7O-CJL4)0^(R z3t;EYomU?LcJAD%0M}i&<5V*!$EqXdOXtqgF#}AciVuYY6hv1<$x4}!t~9D&5e+Iu z_JXLa$n7Exag{TQLsptVt+YQ|!DEZhv~<3f8$SskNkXr^z(1Ti$rEl!nkMM>Ei=ae zcJ11wSFH~4zW>5dQt4@>!QVEv=(F7(OBKjGU`)|IMs$r6q@@BzmRrcImN&^ow(PP$ zvC@L(qTHk6+5s`TMsn$Lc80SIa!;qb#F2CJeA;d#R7OoDc9QkGCjs{F-+%S#fPMS+ zg*|)rm|y+Xcb&r7&rMBE$eHS>|K#vi4o_@kJ`ODOyX7_m7n+Dg#zgpk>e~~_7G-6g zzX(CXO3SjaY*~pE>FlDk<`-D(&huOhf0AtAY;(eIo0%r_{y-G*q^ip0+*9UC_yH0^ zc!yE@hN+1OcWTatKQSZb711!)Km8cB^RrkJV{HY8D{&Z)35HyYNn^R!j~I*ujCw*4 zf|0U=qLgjS%4Qsx6%JbIt|*ou29FTD$M+V=`hEJN!yKQ!jz{bmesW8=anq#sdVLY) zKkwVOFF&|zmn{{_)wzev?%liX{{8#?+urfsAFfs1A1OJlg;w6~_uNEpfm==PVnm80+TcU6KTNI!YcVF^q(nTO#hRi$y|G}7MT*S^3Ln6fdPJ2xcm^6E zP4Rd-jhHhNn|W-*HcnT^*|KpapJ)!d#ZH^{;^NP}_t)O>-sOA0>UU9k@WBV|efQnx z-~RKz@-O0A^>=I4>V{5hfw^wS4>E6t7F#lX?gZ0kpJ#mT6t!MXGU%XQ32F+Fp@5Bw zT{4VCtt~fo5TtDOjRe$`PF~S06fcSwA#>2FG-x+QIW{`M$%&2hhc@WM$aokX9Wuru z3v=g}LKc4J{`dUX|Gsc5~*Y0;& z>i7I0Q+(PtaknEw?FDK}^VHjO)E7I{dwpDQiO6TTAVkZZ6lHY>jj|ms7{|cIq?Lqz zrAoJ2W3e{OLcLDAF-oWpYcf0(h8x2=oFvW|%R+08Jj?#XnEc(pw(l37x>A#W#W!-h z@WI}>=lUkd?a;E?OU;E`fe|Ork;vK7pDH%pN!252f>%+mL4`sAqoLS8 zz?Aro0c%8z5wRlTtd+=ER1Cp;2HhULUbmfT_P<2rA!GRSU*Gr6XW`PD&8_RbB=_vu zV-6nNB^R>#JKpnK)7l%{8G^nd2)BdWD55iwjhl(JsIy4qh{U3%kn^(A#lC; zN;Vjf=Xo3Cg#gcLkgp}=|4^$XkG}ieKX+p7eH@f4xqab3sohjnRrc=PYvCI=^DI95 zjmduBY&51n*7HnCWQWmw#HdYFd?ZDFd5Y-31X@_r@NqdG@}GL`u2Z z&85DR^;@9v&9YTQfqZ$w_wV0t4jecj2M-=p5%IumdHnzGWodTp+NB2$99Z5tHNds~ zg#YpQj4FHg?v;ZFcgfD32fn5IJ$P`J?%a7m_wL=RBJxja|KMxm+PF5ZjceoDxHhhh cYXjha1DQIbf@qW%QUCw|07*qoM6N<$g6>{2!vFvP diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Chocolate Bar.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Chocolate Bar.png deleted file mode 100644 index 8d2a14a6dd784266933e417410b074d72f2a7e7201ba30aacc6bdd1f4e0dec96..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8176 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Clinking Glasses.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Clinking Glasses.png deleted file mode 100644 index fcfaf6a84c32dbf9b209735d3d708ad1ab6ca54d33b1803c8af91fba39cd2390..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8072 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Fish Cake With Swirl.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Fish Cake With Swirl.png deleted file mode 100644 index 55a6e3385ffb400dab3f87d3c02e109cab41948a116478c3b5cd88257090a2f2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10415 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 Z{{e({y81?xS2_Ry002ovPDHLkV1l5-)HMJA diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Fork And Knife With Plate.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Fork And Knife With Plate.png deleted file mode 100644 index 88e7553d80075263b09d547e7995e9003e403dab834d15ccf6700f651185641a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9824 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Hamburger.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Hamburger.png deleted file mode 100644 index 5ee68431f586df380517b4c1e68705bb35f73f52fd9484edf2af59ea535def4e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13621 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Hot Dog.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Hot Dog.png deleted file mode 100644 index 4c3cacbd3e5f6659767b08a1c25522995fba3ba371a7ba626ddb64f2af1b18ce..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11070 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 Ef=PAye*gdg diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Lollipop.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Lollipop.png deleted file mode 100644 index 7e5fba1e1411374b4bafbbfee54be4fd6b78f517742453091143a48d5597d46e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10289 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Oden.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Oden.png deleted file mode 100644 index d88cbcf8a49a4c02455790e08a754f611960f0846a0a80a578bf4add5edec498..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9044 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 N002ovPDHLkV1iF248;Hd diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pie.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pie.png deleted file mode 100644 index 49d9c5a944f702e426e9cb040752eef80b6c97ec8983ae5685fb796657a1e2ea..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9983 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pizza.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pizza.png deleted file mode 100644 index ab23e6d0cc142159a620208bc2e7ea29a7d72c2f4161fdeacd1c68481ac76c2d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10730 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Popcorn.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Popcorn.png deleted file mode 100644 index bbb1fcb2e06544e7f9bb05f0b218a4c2ad0b420bbed79ec59ee99fe59ad20139..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10585 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 Hu0mjf)(nNm diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pretzel.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Pretzel.png deleted file mode 100644 index 3e5afcc651a1c5b409f1b2f3b18320d469a5c33b7564461d60652d4a03c49cd2..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14113 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 ag?wvj9z@Ju diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Rice Cracker.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Rice Cracker.png deleted file mode 100644 index f8f0f626239b08353662011aac3270fd5c6932765bd6176e81e68d7fe1a9aef6..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11082 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 QQ~&?~07*qoM6N<$f>cNqB>(^b diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Sandwich.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Sandwich.png deleted file mode 100644 index 371fc34e20d6754375b1a201845cbe40fc05655d6f9a057b52ef0f627fdc904f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10812 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%0D*JmNN;X)?yuW`u@5bzG$wuAuE2 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Stuffed Flatbread.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Stuffed Flatbread.png deleted file mode 100644 index f562dc2c27bcdb2e4b88ca5898b18670e4d03b4fb18a469fb7a6acc0232e8285..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10981 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 Mk_r-4Vn)IL2PSvb$^ZZW diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Sushi.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Sushi.png deleted file mode 100644 index 6516c11cf7bbf1f1459cb4b7ff22a52827fada8c6947cb294d703553c5145838..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14081 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Food and Drink/Taco.png b/shine-UI/assets/emoji/telegram-previews/Food and Drink/Taco.png deleted file mode 100644 index f7632d7516ef0b3af44cd1512ccfeaa00b19917241459a44d2ad563765143143..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11980 zcmV;-E;G@IP)$1}y2E8-c? zk<)Rp=d{^|hdqlo2(xo_X5Escu*g3xqsH`ZJ) zWp1LckP~jnBUi}dd3l^n4(ou8G&c5$qlk_l(rHKdovllm%t-&TpWvvAyLV|R`akEwm&tg5(uD3+v%w=cc+*uYcOcRBCK^DqyefisteGK5h z0i3(;`p&P0?}`KL0UVKj*^j+>-7Rs`f0JwNOGnm?Gqi0xE4FXZ#ojWJs>#@I3l#(y z8z+Xg2BZWm(u&0B7O)m;ReIlIF<4{37#so8%_6fo3y!H?SP(OZPsz&pOAy+RyT$Aq z@BE*qPklF>AimSH{_eZ6LSX;yO}p38yu43a@lz|-k1>41b#}$pjmC4cGHg^u*sg)2 z5mF!!SgWxXgcTqa)+8U_TC?N;tU_CZu@)%=(x&_si`53L4G2RnmqiKJES#y?g+~rM zm6^(-%4L7~NB`jb`wr~I8Q!)>{3|M(zSH-y1C|H8fB2P6zZi6y|D%8PQ2*+io?|C> zY&Y7oPN!AH1}$t9Vq=9UWS6o4Yc$r%^u9`GJXoVsLtC^+W_ux%A&6p>GDy)~4PcGI z7=s~3V#(zDAV!~mX!~ys1!@Ye!>f`&i zO_*xy&+}RN;^AF8*?jx0s*uaMetVuyt%8U;$YK#32`PkFK%|BiT@r6KN(nLfVH#_;JUj&a-iNmi8#bX1IpV-OO@^AHYT1vWCY>P?g%69>j#IC9R|cFR$| z{7A#G4|tBPW?e33dPYvZ_+>XtiQRu5FFE4?&NJnRZ@UBT+k<=iA=C$db>mCCcKt8< z$46Ffc+m^h$_*Qw$Zrb2S;2|`t72qqAd|()?u@qxx?fWhM*$#kT#rIemg)0N78g5g z-qMQ>eM(M|-@5NU{^qe$ykzq#{@)k>AhBwrw83#aB0r>YX^xrmvoxlwgn>ffAiNCO zQV(u6Zwgr{B@s~=5OzXZbrl=sPkD}cNaji(9o%}|KRov}A8$TWG*)~&rGtZek#`+L zf9Sui|1UCV{qe;1ZEShz3w5qsbo^?KC~5)`)^_7+8f3A{a2<@*U?J`V^prCgC(9>3 ze3UKAw2=G>d2EF+$L{ zYMi0*we(M{qcAW?u~I={N+rrl=ii*Lt7p=>v+DBDI_fiV_O zf-&F<&}fu0h%WX3Mro|El*>8p{p3mh_g{R8lTTFGx_W^A-W*>%cA1I0dhmw=u#%zv zerkRLrycWBXNXmSAk#O@n%&nky7OB4M^@sxMT`|#6Ju3?RxzjuOoR~@A;57nNH=et zOvb8M+Qz~Hmma&{nfuE9H0Nq(WvTe4m;c_m1Awp=o{G#NzMV7w!>`-?zlz!57uVjg zM{TI1w7#}-)!)Ee|Im#eMNrx`L|KZWHH*%Q88K@GD4Csd3@%R z=Xmq4e3DiD1t!)FP#J8}CvvC-$;E4D@cOf~I}sb#PqMYvrOm z`cRQY$00hbfNEoukFq|P7;7yS3qm1`0GwnJ2nWY0kjambEsj{fTGyvP{b_gRu?Go+ z`O}w|*Z;EEe@N}yhx}F(x@Xz};=lpqU3Z~B`i3okmiL06-TcDm$Ky9W+w<%5ME)$+ zS{xxT)?l=zw~*&U4}XO}{KrE$j^#&p@8ZSVHq#12wu}zYo6Ym+Ax4iWafa0;+MD zC~PA<7cY}RIu0ZWF?N|r1Ykv)SELLIE6L?X$PA2|3tu{7PJjBK+ipew5U;uANB6$* zV8FMy62vphcJ{cp??0qI{DzHhExPKzt-tg6@%r62dVYPHpi@EEl+|Fd)?%!onDuza z=kDk4KYx^wC_{C`fQhim@M|xA3GHTwzxl_n@P&`gvALLM!_EO7C`=Q#4Y`cRnyq7; zJ~f3mCb_OQChX1sC_HkVn-rc<-0 z|GJ-cS$whL$jy^?07&9>_{a^~D+25JpnB66&lSkDbV_8-ZOtR!kR z(BU+3Fbg(BSOIkzBW~8Yvt;_UL2GEw)*Gu1ImwrKjRhUi6r=9eRfHh!cYNVoWaUP;ItY znDdD*8hWxNu6h0>v8S1IbL^Q_tlhqo8(#eyvW0%4)*^v_1{KXC9fQP4GHQ`vgyXv4 zI#?kP%Wf8%5HXR?{Un1+Z)%B|fk8@3(43)nsLv6lHF4$4;hSG|bN`n&{YvBbfxS2f zk3RV-kk5p?aMwZf$Nu}y$tbA5f92*4cKh?6C&PACgw1)RQV6XPCix$uz-Y8qWQFEM zTQ@_-((Vnhj>b_Etb^lvbmk)TMa7m4!|d6$j@x&w;|06dv3|6Ni}zmQ!FQgdIA_`Q z#608Mw{hK1z8WD4gzd{jtz(F|ibN2#19TK$N#s%p{MY6&CXp;KI-zC8V2uWyD6Q5c z69=0Jfr+Cs)TSP1crxdVY~5k~PVm2uy>)Zx$hI_%d6MBiZN_sHVXc)P{^d3A9bPrk zzvJaE)*_CaPID2f6$p*7DqR5y{Frp<1)<@ej+_D`X{<2hW+2-HqYb@Lma`XXl&s6f z)%~m*DuJ*FDOqSWsfHRm?X&gp1xByg$gcnAKO=3HuycuyKZP_QQY0FZjw0~D&1RQj z{j%?2ELPZ5S4wZjrmIyazc)60tzFWetVy1$jifVsQcmvLtXdZ?OdPq~eBJ)H^V_L? z)wgX0e0E=w34ZkTYv0nFm$zYc_S;yUBvjHSkehKNYsv$( z&I__f4Q@jb#+pDIyefF}k`+TGO2sTfT0BQ^ajwE*Gh(Qe<*w%suxkAXyMFA|WMr1e zpTQ4KBTz`0FdHcx^1Z!e@_CFk$V9M4A`*s~YDDNn+O|fgvtDDhNSRA+M3~yL#b);VZ;Ws^haQ}X^eUdmUpAPQdz902>`?l?}Cj5=D8?M*G zn>RRqb&)7)05RGqjJ03{#tLGcun4OyR%jv};weQZh`5;PFy|VgNDyj4qaNdhFg{!+ zmvL~dWTCD&HdQ53mL2OoCPxL={J>988eEI^CJ5qLgf=*cBsCSu?f<45Hk};F>a^y{ zjno0grjF^-tb95WhCQ&? ziDnnyH8e5qY`o+uh%o4LMI$-F)dg(c8y@pDXq7+8uY^sd`5G-A461Iu3EA$9%KH(Q~t8T!#;S z;V?6`HlI5@MX8V{Y^>l*U+QJ%;siHseG%(c?7%ZQPMJ@_ZfP!Je%ilbbfM>xb?_JH15hlLU+Rf)Fg9@FERVHpP9B(n(TS>|(vJ$zvkL zd4WM9mVUWo_zbIhGhAAX$avsb2UER; za(*p+V`JR>+>K1EThHvpDeA2nC)II|J^T>fNf_K*cJwkf zY}ovQmmtbRNbeSG^DIaZbou(H`2J4 zM&YFj9HdEFY$^6;bZ?(#iqA{sajf!xjgAfv>;-omFHP(}9qHLBjW5E^2*%ZRuoS>&%pt|7S z4!mRj8{`A-x61js3v=(j&13E9`Y#OZ+G&a_2b}iBDWp;$B*F@ej(F`$p3UJu{}it0 zu=!bQY1BsuS}}oX^6t0&4qtx!LAGw$&huaP3U2#>mvh4lp3kEX-H*Pc*}Y*UQNb|1 z;4`{)n8zzKI4dnT50)8p2iSb;3$c_C#v!bH0wKI59uLbBC{jpCWsh#*K7pLXkR~PT z)+kgE;7Ez7EPia$T07`4}p2O+m6}+OyhV2uydt(0O z;~(S1Cy%pwRgMQw9_R1x`4Fo&O>pPlS8(zxj}b>9Ok}vMX7JlF#eA8y6Ipb##fGY8 z?0MJGziJgxqk`|h8%zTs+-0@lu2D=XBj{yvLh2Zia(@hF>2ZyUVjRcCx&lMO|6NCt z$z{N5gp>$t5GI8*b0v2$=E@4NSRp+LLQZ_@zi%0ZSv~3Q{MV4TP&5F=ImMGFr?jRlP_d(a~@eQ%g6uuQKn{_TzB(2ihTu?HK;kwvCki8 z^X5LDy=@#L1l4+rjT9~xo#t2FfS4FJT^1=?*i_@uX)x|Oz$`&krjShyt3W1GS80Wm0)d-QQ=J&v zV3XC8GN3fnB;mzqVT~f=P}FTb3QXS(?0-5C^x3;{0M)$IdiC&dU+?PccB;T{xH_yQ zh3+^eXd4PrVzZVzc5ddAk6xl)X)-WU!bFA>_nc$MDX?Yz5XBxz*7X?a9bnVM0CUZN zW2Y)SQK^u#4w@Js;P`6?uia^ThI?iG(i0dHfiXx6T5CKZ`O^6rK6BwTBWttNTNTcp z3y21O@qr1>$ zHP(uR@T86*eQ&L=uu>JrSZ!>^k;KXl!t(Czr;v#4+qcIRU@MQ$-PzOYt{c5}i&0TW z#+@c0u_i{D7-JN|fe$|Z6+U(HG^K%F)@@%+=N!yGTw~j|Va8XK$>s7WZOAy15Y4Gh zjW(KDH-dsoBs4c}SIBmj4ONi&|m`7Vp*2_@yBOaZaM@oU~I$V46X0F}6k?LZbiT)xPS74{>^tTPG zu6q_vE<@B=z^XPFnFK~OM#Tiaj|zeW>$OUB9IH}ecA+W3eq*~CuYx6A=ZX&0)qkwf z7_C8>1l^Ry#ulXv${4h=m^gJtY_L`k#|GucU}RF2=~A<&N<;VUL*BI?{ZGHPZK77M zys&?AlQ2@tu)UZ>Wvc)~z9)xcp%ygx{P}a_%RMX{u5_%BBlRpmnP7YLoT`i{yC*qEL3hgWksY6U}pioUNZKi4)|=E zUUp3MBfTppDD;;_r#^=z#H1~P!rC<0X)?eY_v~W3TSQkhYp(4f9Fhpv(h@CBcB(vf z_A*+y2w_oeft=3JuK3J6UZpo)NpHqu$4!%5w|SgCUo*OOJJRt8+p`!ICdriP>N1Jr zjgC?rSIab;^l=^IxB}^lWF4)tQ@0lM`T-R6!%Hjp}sC zC(J$rZ;9)ebflaHUkEIvVL%}R;`BdEq4Hf$qg zLJzyGB9<$Zu{#mOl4#cb{gpig!gH`Xfu97(6AquSR-JJAZsMj>{%C@T_Mwqs3cUliwQv$+V;t)x ziBQ@yZVU*aaHRniGr2BLujf!b7vW8WtiD_%BV0Q9kPB-%$Wn~wxafjGXDzF|%?$Og zVEeOn0WQPk91lD(&FJLq2-hJ9=F{dWu~Z_wlF6o3EmHcKs-SjBkV`Y;^mWEu39Q{B zd{T2sSHRNaCQUQsk|S)_msX&HkkAjo2&}d^!eQ=mHLh3Yy&(4f__cpq``F$m=^y=u z4!C{)A$8!u0mpvkzuZ(9?nk;-#(o_MX?3XELZcAUpyE7X>=K3&rF+?VQc_BG@^*c!cimvgX=bv@UtVh!5B zsY~0Ko$Dvmc?4Ms`5yYWS>nzktZ($N!Y>dz1{q4mPxsL*1_XT(y(cZ1o&g57j<9m= zIAGC1n}u@^P$>7&J3LP4FJR&%>FZ{=OWA6w3P3~8Y4M#&{jr@I2upO@qVo6LSKQavaA-z0K_K_o@`C0QYD&a#3y zQp90Q9H>^QYSaLFQ|KX%G>+pWN}<&V8!)kM4XY>DVu`pse};E`;5UhEfEAMCJyll95`8r< z(M_~VtI%d{T%p1_>a7d>^C$j+{?XNxiy^8u#mIAi7_Hl=U=E@XG^i-TF&T`Tt_G{q zvSAm`)2f%~ie_AqiH%sA`DRJau^62O-X+G92yDU%jM7A%h&WVBjuBR(jWLzEdFwap zZW!Aqv@HGf&)rkKf8QS5{rl11Y`gl`bwD?9(3b6m-ZD-mCv?yPYw+6vDpr)rCD3+> zbwqx^)TN`m{_eY&t)8ac32-wmvgT2gSt@-Y*{Vb;2c=_LUWXN{2PqEb_^U7f30nrP zVaKXl8H#7<%UJSj)}T8rbWp`gflfS!3@tdBga(poKH6UC@ky0VZLZAxuWE2JIt{uu z5!y_*U9!7c5`G^AF;OSNsDy4NBB{Xl165g=cKxtJjQ5vyM&J16d(Kz)?ZMrD=o|L| zebWxO>mbHjD-OPPc%#?Xixr4Ciil%PrxTF%GKnZ<4N}HrU7vcj&Ev;D%a@NGVf9dk zwVht@Ef)tm4E6Rf>jyMFMcxOkG?{jWR=dTPXK$dVlp~C0_(Jd@wq9!T!mVp4^$ifU z7qBWuAaPZMvIZk0LZ{`xWhiU9_1i9nTZ1(+jn5(}IqGDVYkOsdpe=E%5t^jEL@7c) z#Kbl+yiV$DvC^hesS>p7Zrq8_dv4~9Kl8rM2jP5ox6HR>{IBbPqSh}!}EEzS966*uD|!aT}A zCxTE5!fMFb;}=-JeKm+aE}WaAWJ5}$E6HX&>hl*dHoyvnB2KDOUdnE|eBW{fYP3bC z(9+$Q*IfZvl0wSAYHHBRp!^UWDs-eVB7q-kL>ecAZ8Y1uQLVV`zz5uSJ0|z0SHG_{ ze_$`p-h&wN6t^n5U$5s70j*ZO-%7VHn=fEhjE)1OaLMQLNY^2XBl=1O{^ETnsI+>y zb!?G`K7E{47$74{1Io78O~- zc8rSRWMhT}AzcuHFbs8Nq3T3I-Hl>-SY%4S`ZMpXe(IUpBlfi&aCcHB&9aXfTOCo{9VT@5pwk%u^ zVVx^X$0T?ztN@h+SltP+CRI3f!u6$eY|Hm`eR0v%K|mHbe)S|u{2UYZw= zAasC{Zc?F2Ieb!kP5VD}x{o+Em>|B=cAjp~);i5#jRXThCm;@!L@JS!Qx+s7aTMvr zO4SL%rW;1)v~@DS@!EUZAApdQ;pk`jbd|5^fFo)B(khb^g$!0W*jVE^h6|S>-ulPK zIdQ7Www*&vY$$Qrw#e8l*K8TbZ?!plafW+m-^2LfjlA-<*AsMNY74V0%+I5pm_i{# z)W{H5k{KK>MD%X#C!3WloPM0%u}Q!Zbmr5}gT(OIBum9~8BZ7Y(|{{nEGF3pU_f_S zj+K}wCh!APs1a5s!CEJeDTS%lssx>iSN+MU#a5LzmH zk3c^qX z%^2lEhWj5q$f?VZaO>cY&^TV>;Rip?T%kdbvrv?17m8j##lZoh<^@!z!QjYhbf<|9 zLu4wj>12v8DVC%TFsVkLIHKF4DX<7sCqe}=D$*Du(W&k)5H<`VU9T>>anN!*F^@_| z{N^v*<9`BR-yYn%523|(;4mlm>r}xK?cAYbt-)xOh*2i-N~IVlyUIg>iWG%h7NcWy zXqa1UGdP+hRv|;f1KfJcb9nst5&q%gpK|$glD4jq-<)HxzX!h)uwi_Z;b0|>lVkpg zhsos&({JcbVWZZR%CJxr=FPQ(TAtF^M`j(C}xROj1>{%qmxX}&cM0`?ZY1Vj%MY~QHsNP z5Q2f}AzV)~fA%o>{vo`aN8{owMy0Z_W~peB7`&Tkr2*Nbt>oG!@<9+MbkvBXtHBDi zvZmf>;I|f?b|;Lq7Da4aOyh(H{UV@Nong!X>6>7&N-9{4uho(3sH=h zF~o6*=U5_Th(ni)=Nkw-+BHRAZwVpc^ocpX^uRgF{bf8C2D5oOjRt4WTx9Fe25byD zw?u9FGU55h7~8lKV=Ymuk(LP4rdMs3Vt`UAX&*NZCM^i*SfkqkaiqQ~2e4LHzvY{H zZP5t=A8nnF7u@n&e(IjuqcHz%V>eHi1z7;;mMfuO*P$OcnOxa=IU!b-a?FPcm345* zu`nI-m50x>X8j1wx(^uqW}DN;6j7{kJg@;oQ%(BodHkZmlm+9HV>r?hV_3+aK+exG zP`^a)s#}SI4q>~7Rf&GH+@Oj4;UwiiWw5?NS%|_26YEqu03jqDzoY8)ni~amrxQ7k z3Mc=T*S^2`aR^yTrVf33*v->&z}N>S>40`d7wgJ zi{!Gb;kOmFT0ryhbFAoDO{QGr%&D`)k*3*dF)&&tsAi~qrA>L2#O5qgXE^cL8FGaT zn|Dt#)pLZ|sRdr(W#}CmMzt$MQ3nSvEt1$}tS9ZiRhqC9p*wLZxLI^s<5f!QdadFF ze#7+xJtrLRcc=B_JNJL!Xw=2|?*`m_(+=ovr+v=dU#Ncg7e=O|c5}e-JR3%cb!+lu zKP}L)rLy27LReAgVbSmKtFQV4@_j{q^1t1|=E<#GvvDn_r;gAc8)jN{ssVT^%k2Fj z#dR9H#^5N2Q%5hceb%S2bv>D455e5=5s~c7Tr3wtJm4OeuqD zHJi56tT-({QjX*PnNx6n=QZ!{T!y3HHJpD+G2p;n93h1Mz%NdmimQ$7)(Wdco`GV- zOLvd)k-3W$ybRBkgRCm8A>MK`1BF$r-ME!^yyYXT8kuCEFv`6jKFI%>{s^bVMdoV? z>%{mKMW)BYPD&nm@C417HZL6QCqK|nCYNKex{ww`(!xj@h;(UwpZaVw)?LsLd_#&=)T; zWZ>rh0VWD%Y#5R=l1IMyAkEq$*KB%SMdB#J$v`6v$vJ{@uS+ne@XqJ3 z8O7>GKVxHg3gv!u7|`*XU}U1%YlDguDu~cZV`7`O34%Zn1d(o3D~<|6x1r22nQ`|0 z{CheFq4GV0^G~ZH=D3*${brMPts#5L1Iz>`SPVi|^$sxXmC#Z^)I?8xhOo1fqpc>h z)3fMUQ(c(l^b?0Uefl`Lyhj`=Hm&L*h!js;@+r@GWIdPOJd{c<*=!%RsdEGi6&z!T zlukR54OSV_8hIis$4b{5O&R)Crxivur1$$XJ%fL=|IerW?=_r%N)FhYwo??#s~>F5 zovJpcXZnZMOxjE~EBcB#7V9mPv19=w9SEDqnJ-eEJ;&_S3c@hp@R7$jeeM(v0#6FG zN`$j)#zl&R;b?0a8FVT1WXSZE=~Nep8y%FJD48ZUY2{5M=erqeTCKWmHET}IS6D~C z$8$2j^|SYcXJPt#66c?i0|Z#R4=MIPu=t^$AO5_5`TP%xjhl3~Jm9V#$n%AZ^DH)e z%02yP6_Ig0YC+8XhaaHX4hZ9zNV#M)8C0B{*C~W0))v>5Ad)TwS4u|u9kQi9a$bS? z`fLI(X-A=n({mXFwjKDoQLni{r;XBlR%A23@eA(_KM(4A8t0#KBKFy&dDj>(^S6z~ z%1eW0TMP^jF*ce-8_CpcmDMA?WIdO5q$mR`p{h9$$%1<*>sZpslDCP=0eEI_IP~i$mnD*J| zv|lp_LTXjT=(Doe9*MdLBRxgV&9)iu&oR=Ur)OZ4PJN!RDhFA9}oE?2SV6=`}VjmeAAceIpO`~!lhHf$+~*Wjx`Jo zd(;EV<;50<&t9O_36WARY4E~YTwGedW_D3=?GH|}<<1d0D+6?oW;mB&WyxdX>I^-l zKJuk9)w#>vwr^W+HTC@5tX!xq$YvP-tta!lfBv4%TVD6R#m0fXI0Ed!?{njSlUtMy z84JSeIphREWP~ICG|RB^)@E*M zn&Lp2asa>ogL^3E98NxV&d$#)YGY%!wm6L?cb`M=oB#7YvtL{$A1Jtb8LR*62>K7d ze*McG!jF!wTgTQrZqd5abo}`<=vbj*51BQ*;gk0>A861WR`-;cS*-K2t(&=P*A_0E zyQnK?=bU`OW4cnCQeo$}e)>KBySsnmTRC_0-+T<)b;Fq3rJ$Gyxx4Xs$&GeazBA8u}u`r>H z`NO`kZ9nzO|L?^8Da^@VdM9Q-T)mJR-^BF*-v8^@>@Id1f11yV-Tjl346R>pOM?U2 zl?oS2vlEebT>M&7RAw(bi|5W#tN6HX=3rY!|KqN=UVQxD1I~Y2PR{Kb?a%(~dT-4W zbFXQ}`n4HhuN~|!k?rln$#^&dLO-NlX;E*r791!3`yBm$_5*J}{)K1yLJ0pZFJ-uV z`=zy3-uvclH^gE4*(y@oVq*rds%3Gf^7+DJy}7Y}dEW2-%ly~6bk)`I^iNE8zS&h{ z_dWg7datg4ujh!p$ZjEL{wOy2c@Oj3581tYG2d&~alAUNj;rJ9xH_(mtK;gpIPuWEH`x3zjv%ezftn?!QrI3ZCINTx+d$O^GZh~tTZXCQOnsbPRK zHYWH4!WbuDl4FMH=8!qYLkJGBl*Nu?J6>eTwk&IxTI%)fcl*Ao`Qvp5j|qX9;FjE| z&S|}K`bqEITfeWWezn{Za8}OBSvf0b<*b~Qg)gcg1?a3M&dR?}dF;Rb%(4f|oAWqp z1wRme#of-VvPa58Az9kp754rX0M(Hpb5{NHBqKvZ1^_+wyFdNar*He2>SN`t#g~F} zh6XGumz7a2zoLiK&d0qB4FMR1dW65bs3X`_aq&AxfRUY>&kaU)9nQ7^{EsLFx_ZN>vqxU6$6@zgif6vv z#t1~Oz^NNjHRC%$yS6|;B(o=5=HB1>*keW8xBOf&g$n|bOR~&dVowz=Jbv`W^U@PU z>wo&M*YE#d?|KpCGGlmH{w=R_`D7{ST(makaFb!aG*w(e4i}g-JeLaH5D&Nt z(3);yeD{HLZ0DXmoupfj-uK=UP^FiC)~g195x{H%{NGXW&R(RS?7Xnw5A^gyw4`HC z?;+o+n`y!!BYM>qU~2Zl^v72Itg?RQ(8L=wv~M(tUXdliAUIe_xf~<`;wsP@s~|c# z)$}d5KWj90C#iojZPcGOg~Gl=zkTiDS5h}L52v3AkiSQGA)9pXN`YUl;PCaEiB~Vj z^xr&y6EjmOh{AEuZ$11Qe#hV_?4BXG;T=%W{|6AW%D?9D#PY>Vf6Bh+&4>(Ibs##~ zM0#qv(u|w?vIx7QD0`9{jotNDi5`8c>T6yeytj>lN4G)#RZ37L>;P@tvZuIe#j5Y*(RJ~m zod;XZ@y4iT@k6ee?hXz=zkmPeFHHQhJyL^L3rv~Lh~aVvGtN))V{7I@U9NF-GKM<)RBi| z*Ykf8)GO(8uUY#Wztwp`Yyh0=J99u-x5CY z=Abi}+O}<5^@m+sxm@Pqe`9Wc#sL5T<;}3eyWsA;4mXry`_=A4Kq&~=EzjY5=T?w= z(OJOb6J3aDppj{0`%lqvei*s1BzDG*=9)9fMqgd5{E(XuJ z5(mcb!qVQipy1vKpN?bk%0nPIiB&zzkqdhv(v6Nh)7EQVFDsW)=hFU%-?g^Cb+nn) za|XyF#a%8&`=h8I@8o1ce2_=M$s}>ZhV^2WWOWgYYX4 zKp8x`4gTYQSX|nih<<8OUkUvKJ*GaD$Jp@(-f{JN5c{J@bPTDy2p^vZBq0o@0AwiT zix}u$4LGYQ_Ui>}EDx@KC&bq-W*oe@6SiH(g932y8DRruh#D;*Xa-JdC;k zOvU}4yZl3kj)zOGPo5wBz(v8H@n&cZ8|RhOD3OY{g`CR*I-Yt#5dik=*|V^NuovCj z+hMd=O0`jM;`s3iEbCj3o_q&RCNXk_B9sycVi?nffEL41Q+o10!5ofJtKO(mw)I;D zy!o--z9rGR0mE@rH;#F>x5_Y->5MPr8d<5RaSi9>(z=3ejv6^mkplyc9l%7)IcH56 zF{Bd!cI?=p!^6W14}jqv@E8Wv)27fekz^b-2=$uB1#8bk&h%kv@jY-f4v!P?U>GW@ z!3xUdh?BJ0j9c!zU4Hu`OlxaGr}7?+l4JtQ{Ew$rghJz8mbwlVSJ0&8yL)ZyoU(vb zi4+Pb5mY=wji@40Xg2_wO~~e*j`Ay>XArb}7mBKW6*0l35j83ivJ_a{yBw`-A1c{* z!4x9&mq1)Ef`SmSb#bfX+eu^N=h1rG1Kt&*1cwT#I8`NKw)%hF1~c+1I%!OyWsD`& zR(FRjK)0p9s~V8fXfm_(F_gbgVZE5myx5;lhFMAS)yE&$C18w0## zMSu!KZ5wya!x|tT79f%#^9=EX9CcQ+%yx7KK3=1THuw^*g-Q@~_w|IF?_vm3UX4iR zT{NB8ECK=ol+>$AE{K!Wt@FDYjTKlOOcgHcIP}KUnbhTT&BO(bSaOYoY|BwDiPMe< zLHz+LTi=1H~irVf+(e5Uj2;@UdM~c@KTfLoKl{X{x?f0C( zW#W}gOAyw?her#!VrzetLqdKPfF~C&3ragBS4>QOhH+R3jfO&q5Q1=C@0-x2Iamqd zTxtgjG2*({MpaZ4FgA~{o4}lqWd<`KoWZD3P8fm=AcY4IutO~~WPCzPY(){Z)TInd z3;<-A4UFvsn@;4?6{~X<9B8b9P_PaF`uqE7K>;v4+&-K2dUzt>)nQTs=@E}Sds6(?vU8@E;c34{{$9!14Ie=Mo!9q>M6afD8_Nh96 z_W{6NcfENTN^f{_MdP7?zR9m?)Z9;DkzqOmEDAdib`%hHc7Tf^h(aJ(3gPnsWe@{k zZL=6wNVp#)O+ee(FqsU+EJbz9U?T6Za#0N~NkMT67d4SKBhXAnX)A-&5;6_Z;<{6y z+~NxWVCT-AvS1Uj8}GUz_>-F+&z5(5w4)m4`_8F61ZxeD?}7n9G%TD^P)w3BfEvV_}AG8CuY-#%>3NFcOgnTxwAOk?5#874^QTvLl zf@}cd5X2$C0)@1JVgU#s5-=Q~GCR2<04Z9TAajZ^=VtFtL371AVvs6W0RsiWqN{b> z7X#&{27~jhlX?BJIsd9;uE@nFk@t0KA4dYfAP`^^fCOp`P}&4jx)vr}0fGlnyX!?n zAZDnhP$W>RP@bdif;ee=*3Pg^Tj`&q<_dxb;2>-fW|Nvn9m>TkUV2a#8UQprJS=zK zd2`N?8O$}0!nl|e3{eHEf>}TeFbNm|$m9VN0BoT&ixageJy;5m*(%8N9Io0b(4KGbs64*Cc?+Ak1KjK%79x!;^y`1vCMvq9Z3LaSAwqGX*;j z@(OqYL;(>%6eIvS;@r%OVB?q3vJ2O?195p_0Wg2B0;ET01y1;2jVeL1(_rj(nCuyl)?P5r|i)7pPaLC?s?6-Xd3-)*x*H##}Pr zfp|UuAR>|n%bP7o&kL#t!EsE8EGQ#D1S9}l`=qu{bO@DMk3j@A09XKSmmx?a0CC$o zXfD=zc%-n#qbtb3&O=?>_p?)Q2AEW!P64N&OhJhUG7sCRQdqCRnZhOjn3$MYIEmO? z0FKwcx8E9G5loB&F%vR^&pgz(m85?5d5YOrou&4w`j0;#w5e+aL{XbklAp~96yg<3 z4msnY-a));zd8r?Y1;yvw5`AiBvq&*P%|c)JO*O3PRrnJ+qU@y1Hj(BdkFxZo2;EP zGci`w6Gv4tkdFmf;vuO(oI(YFQ@}B378G~^yw3V;0ttbH0cn6l+VvqJkhXs>nFXo9 zK-#|E0dNF3f_Q;<05St)?ec`i3`q<$2ARp@Fq$nJ?Yg69wmU`(q87Aq<3<92X03is zlw`!=^Kw1W_08mEoPCyxfoq=QoFoEeMRXrAf61cPmn=!}%;uXl+KzV23 zJ%QLky@xu2H~?Ousexu5a6pzavdh-5 zti|e_0ui8jg+vY%GdN`+1SnM?anJxD)^@_A3MPeT1|bH=F_7ijR^sLujYpCQvMdKU zfwHzou2Mi!hGfz{@iCw+fkX;z5nRi|C!ln^qBEx^jmGg}0Q={t^TL@8W$I%U_#}bL z2qp%6gW*F16f;nP;c|q4JhJ9V1jUsQM^JTb1v3L|py_cSZo;c=E7~c@wYPvo%>Z#^ zpgC!Kt_09b;S+&RJv1?Jv4b`R5(%^gNF;C>(5O{)a&nT=Mx%2GQ zU=Xw+2ttPNTsOS!a**wZrYFF;KEMz>MG%>S5r9OX%5Xx^Sr-H$)M_E(rh>Z_UKx@q zBqc}-NNb9$?jbFOYbbn!;F=cAOi*`sI#F81(Ef@>O7lu&`7;+x5q@E(JC&=m0sT*d7hlkz&9KH9xuC;3hzw@_W5vh)|1bM(aWMlvW3aOw_ z6;MQwP=GE4=L|Rm*b2yEwyo$OXvYc_3nD=^29l4O7gKe*@>jD~OA9Ip&vlvNndy7NWgWNnz4it^@Yi2d=?=-I z1`zaAqH{QVYdgDZV?C|}w-8;Xa%F)Ba!!j~5Vm^4|&HIu@ ze^Fe#L7j zYectw;MQB4BO@a`pCjt?wzqBL#*MUd=T1EG$gb~&g^myPuUT7q=Hc(Cct=cms0U&S zAOKP&B(u~q6@$bxyaRj&_>7S_k2GsD_ACjJ#)4yM0aIBH{XT`)3^M}MJfZFh(*o2T zp(+M7PiP^)WIaaKx71(%iBH=oaZm6I&;QcMmMyyJ6Q7vZ8TEMsVArl)Iyg9J-v9oO z)VAL6<`??ct$$ChZ<*iyz3)=$l)Md*07#*Tl@NiE3D5$g1wyQfrV^S$XegnnjD}}4 zyg@?*2egQ33eY7jq?vDXdrzo(Le{$F+-SL6wzq8GzV}Vny|KFX;)~wexp+YLJ@Gwl#SyV7z=)e;_x#wej{R5w? z9D2^|yypvU@`V>ok7X(pLIjpjP=zJHFp!6XA%y{h;m|H*FoYCPk16UwiU2*X2CqPq zfmD4Pz|5c?B}i3t#TA$N*L~zB8 zx!I_FO1xjJPPUx-_FcP&NB5>L`)s>o#}0qG7c`yG0KDY68X6fL;r{-9+P7~X-E`AU z+3($U+i*S?{+B&Z@4ozxzxc(cU;a;i{nvl(+T}}Ee7jMvedyL-{mh?_jEsc+{rxgA zF`;MDi9dZk;s3W|q1(`QN9A(asw&-a$L*K3qImji4?cMKgCG3a)dK_POkH)=RY^xj z2fgsZ3pn)cZ-2kl+3VQ^7psDH?ARlxlij?!0r;n*b$a{lw|~FX(XsUtH{Q5%`>+1$ zo|pff+kWS^w{-XPm};f+1QE1c#;Zc;%wPK5erD^gyMBL}cj4YFNs@Kz)_?ppS6y}F z*s0^WrHhxk?>zj-rm+*p{>Y1a)+=38tJRX>S9ss&tL_PzALoFS%Vm4hP20zoEnoV+ zAk1|gJ8|^CkDWa6PV)5jiHV7KpE@=6M{Ibqv%B}*+qZ9z0r2eJ2Rds3|H|tqm&-Ib zI7oZ;?4iNI!GAVz{{9_zJd|beMS~kRebq2$2M!*nXPLWEMDE@GE4RM?hpo*Y9UbAh z&)u_UkDdwq|BL`&XlTf6+_;hcxnOzcoqwA%=0IWhW0u6mLrwdKo~&urVaE&XRGuLU5d8w@&KetpM|9W;0I zZI<(g8;rV5O4(&1dWiz70W4MJer6z_57E`tiB>bh#*G)^{PQow(@#GIRfTsBM~@yw zzF5G_Oa(ska6VHICRBCIuz3+MPg=H5I}!_qnUR zOW)@*_f}(qHMv~a&TPFTHV7t75KI^H#Z%0rB5rdopAWlxda`wE*J>eOa0d<@Xj)^f zdMPxU&HQw=f;36%*4SN{Pm4*M4y0+?=dx^ZV1qybw4w;2`kXa%p9yk*@ySnq@~M9} z7BI(X?!No(C6&s=U53p&3;6z5#E5fNfzq)P$Jf*wwSk_V-uu?9Tle)ON=mG% zQQQinR;#00uPvIMnOWUzHaDv3ih8{cfdA~A)oVUEG&Izlqr3|h08&-lbI(1w<42Ev zW5fCDukPyX*lm>la>>%AQJ4>{IE1QdvLrJA;K_5qHadLl$lJ0syT*%T#!#!bcTvt5 zBT=(8Eh5%?G0tUS>awD>HYgPGUt6(s#Wyo21!G8RS;=mV8X zb@jmmheuPNy$5LbuNPz@RxX!`h~zha^S_;&M$y&zT;9Lsr{2EWJNLHZM-K0qm>56R zY(_06ayAIaT5CwjNTA$5F!0dK^psc7I-g~WrlzK?de7F{l>!A5NnnGdP%2C*_}PKJ zMUSiZ1}bTqcyZo)RWGV!iXFw?f&TvG7hiGJCICzB{qmQ5D{8)FaTs=eYIwLZ-@78_ zJrjQ5fq!USe(Cvs_tQ_IQkm|&_9r)AvwZpTYtC7_ZW`i`MsYIMs?{dzjrw#Wj#_CP zCs3^#4xVB|`+NHPTLkV_m6D1u6Dt{xND)t0rbAJTi})5ShoxdM%oj_gQb(z;qqD2O zP{^+Uctxw(=zezZ9(?PY-_*&8aj90Pqd)!1ed(+VTDUP_mT}-6Z-4v9>T}L{ccG96 zTa)$m_0j6pYwWq_o`WSzmZGb(6UG?H6$()hm>8f)yvV7OCyljcrhmzjNW2&(lJ>Kz zs;5ql6~NrJWXTc_HU^MlmS*`RP72ODs#GdCd2$Sg4K8H#A^;eA?NGknRozi4m2T==w5YpS%EK57BGOzg=koaiO2s0V zI!dOyrw93b9;H$V-Z>Bmon2k9K`T7SG-5EOXbo8_)VmI7y!>WLJD>1z(2!qRWVR%ll zSfWB94`U3hwR6QdEM2-3VHm=Dud1`_4cc3Th|u0aN6gfUT9}xaY!A+f!Z`=0f>sov z*=)KjO%G;i_PBWY8VB+H_us#3^50`7OhZFM{8Dot8X79pr>538)(e=;CS%N6CbQBS zv)mf)?Ck952*RL9#MT%~OhiO9_n@$f7xgMGilSDdUT=s<&3SiRRgXB47gcGuNc{ZF zO!Ls=k3XKhG#j69w{s@df_U@h%{(wLpg&3pTeog4KKI;XC1bivVHoB_gpDyqM3|iu zV~ls~Bu$YN3ck5=v-encV14Prz_W5z&dOOiD`(}b ioRzb3R?f;lk^cjl%>Y>Q0a`@>0000I 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 ox2y2m07*qoM6N<$f>r*g`v3p{ diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Bomb.png b/shine-UI/assets/emoji/telegram-previews/Objects/Bomb.png deleted file mode 100644 index eb5abc99197501459fed90bffe0931311562225679d11a1bcd8bc9cd1a28721b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10626 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Books.png b/shine-UI/assets/emoji/telegram-previews/Objects/Books.png deleted file mode 100644 index 0456dbfa396d68711f33fd43c61740bd4a94c24cba9a3f570cbe930d918e249b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11253 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 M07*qoM6N<$f@xaxwg3PC diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Card Index Dividers.png b/shine-UI/assets/emoji/telegram-previews/Objects/Card Index Dividers.png deleted file mode 100644 index 47f6806c999b71e8f2d1137b6dd779f7cadb66f5138c28855a7980325f9c4a92..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6895 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Chart Decreasing.png b/shine-UI/assets/emoji/telegram-previews/Objects/Chart Decreasing.png deleted file mode 100644 index 004ea2fba1462c3f7217379483b2793f414c4c3865e455b19fdcf6c653e827ce..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14552 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Clapper Board.png b/shine-UI/assets/emoji/telegram-previews/Objects/Clapper Board.png deleted file mode 100644 index 153d5daaf77f3766e31e67afa620fdc47ffac46a422f684b2f6047ae89499376..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8375 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Coin.png b/shine-UI/assets/emoji/telegram-previews/Objects/Coin.png deleted file mode 100644 index 2c58b42ea3f8fe8e465fe917b3ca375b1bc5c1f0fd86fa83e98ea0105488c6d4..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14414 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Crown.png b/shine-UI/assets/emoji/telegram-previews/Objects/Crown.png deleted file mode 100644 index 052cd24d1728a01326f424874cecbaed164ace99ef0f0de47a2b5443a28a71b4..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10851 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/File Folder.png b/shine-UI/assets/emoji/telegram-previews/Objects/File Folder.png deleted file mode 100644 index 9c572ac8823c7823212beaa61aa8a8aa6646701317f591de944fa18171ec7254..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7375 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Gem Stone.png b/shine-UI/assets/emoji/telegram-previews/Objects/Gem Stone.png deleted file mode 100644 index f720f046d5d0a28599e96f697fbd39a7d1d18e8d80148cd9d42714e8b17b50d8..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7894 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 A^8f$< diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Graduation Cap.png b/shine-UI/assets/emoji/telegram-previews/Objects/Graduation Cap.png deleted file mode 100644 index 2ab8ff8dddf4cc1e5c342a00fba15938d9d7ba75c158b0c79c1bd2bfb346b844..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7310 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Handbag.png b/shine-UI/assets/emoji/telegram-previews/Objects/Handbag.png deleted file mode 100644 index 8d29dcc7cf7f74ff5d5fffae3717c4f854b607128b4cdf3bea63d15dee4e222d..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11388 zcmV-?EQ8aDP)nBL`yVkp>S{Cp@y^1+56ky{?56;mF>!QWxKLn*{*C?wttk3zLzgvRcUf^HxKUH zxpE&fyLRc=zI}>4dz6UuiUD5b_38LHJq$1a%uG+~zMVUD&z?OBA`tMh4Lm+R&i4R( z&z?R0yVV%ql?KQg?rjqj?&Ur=^@$G+bF;ZUPLh$tOSe_iRBIN3O7T=UFnsi`-T&A8 z%4pfU*I;b75J9gP;AO67@7}$%w>|qrM-Lin%u}&4A9mq_wN0z($MjR zUytMHXS++qj-KK5=p5>YFuTUw5?xR~0!-n;`X~PB~6+Lp`fUTcAgGLk`a+ZJozF+!}fBD^F1p01i{D(jK3)efX ze6~n@OV7Hiuv`<{Om zPe1uI4R2USZ@BYLtu9r?MYa2O-}lzSkNlgT|I(Mo$L*)5rvB*}K*z`Vh6f*%&;R!L zHshm*iyf80o8Ef2E0ikczkd3UdEe6qQ0ORr>b8wr)(s6`)pf(W?$zkj96tNW-`CSK z^KnmK|Nrs9|NNO>|Kg)h{{7!P{`BwP|K?l1yu94l^xX8b+m~Anx$o`Y4+~G7VG+x< zdi~KS9uGrf@us)Ejp~b4@9N8=|MG2jCvX4vADYUHApevMK)Z&9c<(R#f<4rn`|FNM z@tT|Ny3>cHlKI0w_#@2B&PU~r?jOACx-E@DA^6{}`~J81a%UI)`KLZD$4{K%;r^kq zpZVy2nH(PKDKH)X~5F)-#{^!MDDte)Q1MA2@U7jE>&(Hf=30QD>oW zda>2`#{TCHTpbe2t)p)-%jaf%)M(u|cK_&;Kk#e6@$BBcV`g%4TK`EHVDH}4_1rOf zRJhc28w(>qY<`Reh->Ql##9=c_)wn>OR*|ytmcA>TO7k~D7uGbrfNAJD$$E)bp-1iDw8w-E!5B}Se z?|IAZiziN<{GrayPTjn93l`3vzIoe*-d{g({M^Qq$4_qAwQHxY8yVK+)8{JDd~Ng9 zZ+-jTpBWnB$?4a26!2?pfIYi*5drF(@=G0^9UYsuZI@Ljt<(A>H69K93`F)=xreByn#1|R&r&wd<1 z;V-`SjYkcIp&uF=L|m1LzQL=1s$#?H!DpV)%0NG_+qBtPL+|~Yk4@aWdven6-MiPk zZVjLcqTRdw(+@t_OG)D=irqch-P^~HKK>-lELYLfUHD}p(pK4QCkk)tzG{F_2qS=n2`l>l!NcmytB9zoDwMZ{NPx?+AE!&$t1AGs`F6)zeY#AG~Tv7OTs8 zWdCs{n1_GrW1oHm0NJE9+S64DhK8?lSZ+v9p@bb*Z}_XX{OV6H?A<%YuSBd(Oial5 z=&1SW-~8Ai6PEt)(7|Kea!$%UT^cu=dp2Iv`>FYA?db6X2bcp(S8d!RMQiVx`ki0D zXJTSPUdvJNni^ncSL$D#BtKdzmbA0GQx6|LifXNj&W_GM$a`=L(OXKD5;}T%QJq_$ zB#JQD-TMUq)J{FW>~_yR0)V>uhJLqNYbE=h-yd`j_DfHxxbxJvX5VBAl|8NM5>-#1 z(M{X7OLtedwi>OUO}{+(`WpeNpxwJC{bQf_&2IJn`%o$n$neqQM@_ZWSne6__(IO{ zv&T(^QW+>%sxHl&YQ5o;V)!@!y$84`ygo58A>-qqU;OaLpJzi;CypJbpjdXcyP^$l z{M0)>aL*slR+r~b964dQSmLh1L2}~n|I#0QX#MWplYV@BoL^T4n4H|p08m|Cx~*I+ z4HP;$rPhdac6JtqgRlMT|ND1m0O0XY{#L&Ln~RkaU@YQV6L9`)Yva13S<7C6j~-0JJkG{_RrByOXC*2c4Z=uCJ@7qgw{dAA z0PKE@a8TGtwgB%v8jUK1b#}|9YtE>q)VLMxDOigzuqw_$MW9SemwWDgJI|%AFR;^5 zD?+o@qMp7!z?w}z_mg9T6>I)BZnn^>*3jEOAjQrK>TxvM?l!;Y4X|r^ngHPG1E;ng zK08~8ycg#aO$olkz|GnI*n3DNIx(dso##DuZ2R4Bq2izITY3V`Sw0Cdb>MQQsh zDbdPp69_`SaQVjHsQ@6ha60i`o6QzmYY>JZ0K9?L-_{_nr=n&PP@q!jLIM7&#?roR zng4tp7$9>4-phJ641f?vF}!$);bj0g+gBw3V6w3aK|Nr|f{7rI!mGW6uoy%NP2y$~ z5G88^sQ23dfJl$Tts3AHt#ns>rBtLw6IZ80XxI0?0j4uIU=#z)3>Bp~aS#=dv1|OS zs6;9XFCJh58-fLOTsHfbs!!B|_l4z-;tc6k;k;nA_ z@bGsy5Wgk{*gH8XDa}BGptN!0#6wj9!5U_h2(hS#iU$ml2`t#lKs%RoIkE#Y*c}ll z_9BSABen)m>VMb!-d7G7M-V%>I6|>df-Qs~ao4Bw;7S3;_}<#W+m6+QOi|!Z}~9xb3oC&^W*kkB(l@fKyXbK4&fSM*}YaSQT*2Lli{J5W)Zf zy7!%p1fPbI8fGOhu|kwOIy!x4rEKEJUjty@*xtQzNmBESzWx{+3q}D-@QDH-HEbY2 zWoV$Qc5q<^PC(!QVP}tY6pO4}A0gm*OunL+mo8Ubci9G*00b{1X8P%|(T=T~LM=68 zYL-H+&(3!-DU&+*BmzKSD2TNC!ykB{Qr~BS4}ai+#K&B8dj z+0hR?aNid{`77_YAO64tZXJNLZRaaBqYL&#Z$fU>mo=&_3>ne@DsWK*#15<;Atyuo zjvcFb5l~PB$^)njsgw(4o?nXZc;DFDpSXMbux-t^QmK4z@5-?ot%#1DdOrH-dv{#*hR#yqnno+}fMFt5VP+B?Vk=B!040zD z>NQcqj2I!8IK67!`i_xJ+q!Oj&wEko=m5yz$uE5oC;s8__|%yfW+hQ#utEWa0x60m zfWg^ywBMWnLG0U zOB%xP)-9OX|4g`kWMqWuRfHfY5nwHd2@nN{Q!k)E9x_P*aP9;%a4P~f2JnI?YQczh zQZej=^I&yAs|8YztvB6_rL$)XTQ_VeB=s2t&V#Liu@*|{v1jW|oH)1C*Q~XM036%1 zXU`?OqRVzcvBaIBDZ2On(5MT@S+D7x8)Nb3Q;*PW6!Z7**rrR1OC;g|CKw@N7$`I~ zh%}+xjl$J8s#t?oGt%13JT(`Wsd4TkI)(-yO^78aq3%7(8)v3V`%dbq!nXe z-2isob*Db_$X7A6=?+vjY(wMpQ3PkF;gblR-F?vcCHd-ehbbs`6f$ubeaBBw{^T2evZ_B-%GvjC|rqxSe;ORifBSb>T&}}dkKpu4^fIA(b}lud0?GtM;*kuS>F4X`u0f?&758t|Nuu>`_l9&<^6aovw1Wh3%LQUOr+KaA5y4nfpIi9iC_z+kyHj~AZ%3yi$sUPN!b2R1CglOV7LMgbvS>AkBF zAazO1j7U5bij&8WqIbhqgn>cr>@m2Rbkx4O`%p!NwwH z13+O61D2t&>v&CE(0Dom^u)~BAu#&7db?1qH{d)_v;m-klsQR90zhD97{j0xJi=x! z#W}&^!Xnmf+zO)1KrlFT^aUI~`T|H(nojZ%DgtJJSs|{K_HQEq2Vf4t+yYVBFsjmK z0L~0R5G6nrtwsaP77RvE>VP)}b91L45J(ou2?_x~WMQoVXNM%iU|WC+z-(b)prT!` zi2Ju=na&%q=#Dr?Sfoe5Ek|dBsVXXx;L|}`6#2FL?RQW}GkTEGjV*=u4 z9dVq%q{V-1-Mk)QsRR+18bAq3DV92N@+=lxO-Qo|g@UXB+X4UvGsCh0DOE0)lDH%T zoI5v4z!Yk6d~;|FmK#o(i3_C;unk}>Ly{QG1R?|Vc4X;*buBWAP{P`8X8dq zV-1)?4EOb5WMl+MlBD0yW2hI{kg@;xSu8Is!%KujBUm8_6Ho|XolVhIhP2K%fVHXN z2|yH8q2j?N1cD+0uA^8CA>KeCAWa=9C}#=@anb?b!$^2PHu>Zlb!hj6qWXvw@ndt}na>0;wvPP3j5(BvC8P zORPm842A+GfT~GD05o+&Lr;glg4MA1eIR%42ASB+Qk+_T_BnZ->EUKWaAyfBEU_~lB z1f?j+7$k8EiCXxulDYx)SvCuJB6JNEFzg5mwFZ(Xf(Zg7PC&+j4W|J#52RTus7Pvf zVg$y5MB!tf;vDfX1A|Cf3KMj|gdtq)(osYJ!(h{v0gP;DVkziN@6rm$S|s8TB`vys z<3@k*%yZ{ zo&cZH06BBR%vnR!z{bFY(r#644jsqcUb$~hp0 zeXC0iS_?>?{VIkBEnFgCCf>MikdB;Nykq=Fzi->b#8(cD13Yn&rOZpt1039)MPpG2 zgIw2xFhe!Yr~N$F^=RgQRU~cre4>B?h0tK`sVRKxe{RQ(_q`jp-+d<@`{vU)ao~9j zD-gh>xrH&vvN_lwL{JDZJ^dWc9i2l35o*tU1x=YpxvvZAJy>~F$CbfY)wBv1h89Ew zaVLZ~x`gWDG9+=(V^3oF;8Wn%EbPd2 zaL%FCifQA}fa@q939519egF?*bd+(C^Nugt08>*_9spv$g)*bjY~l2QgGjtjt2o3s zb^IjM5&Yr_*trv!KYjqo++mcjzYgAI)gCwi20~aN;$=LRE36oU+qr8ep zjKOeUKdQABpn|1+U&Zp%UxQGBT{ql;U|;E$P(FaL8(;4 z$&*KL>hu{DLyM8YKCBz)hj;1uno$cqrkjVlx^Vo=(wqO&|M{NIU;fnO^2MT|i!#6% zz>|QlMb(=EHl3k0qFJmnlxDf&CG)|wQWeQ4V0aanHf)~6G1hfK%?AJ_=GnUnRtb!CnmY^}u_FyaAkZ@JUR= zz1>m>POqC;oWBXcBV%J@Jo(C{%!@O?xzSO=)D#$chqXXhAki${WJ4fQI3EL&)ul+_ zDQ!HD)Bv1g^Q@emc#q-!LG)BQvCwEhRk5&Cg>w#JA;iY3w`Dwz0%RbfIJob56l{o1 zL%rzl>P2U{0C>%O{c4w&wxo2G8BHH0X`!oN(X(X)P++cF#Z1Ek3iOW*qte?Abv{kR z1UPa0G^{bWZret5ghe=)0F;;A($BP72?qKqQYsTKHlsHKcx2~A5_9$<{l5T!@p7jr zSQryf&Udk45D^mRp(0?m0C9@5iP}(zt^kW1ojB)FD1;a;1_*3QU--nq1OWy|hT9Cl zP*EJ+e+b4{Z0H|E$%cqsvXZd1Q_#fpB09Rgbnblu?+Mm0n2-v^M8Jl@#;g`|)WFyP zP=u8WtEh&HDutuAodQ*K)NcPfZ#HjRXQ?6Q-7?Q z-bA|l>=rU#PZkm!A#R+E49!0V|hmAu65b-PSa81cm056JGD@ISH zEQLbA3vsjyz!xs2LS`>E0VCj6YYf1|2?PuVt75UX4DUUdC@shk!xP{b5JQ=NPKWBM zWXH8@rU6ju4#?oT4a1l|K8&7H7_4{>1axwxJ*5C7VmIdK?l5C4$Qd zWEBtuDx3lVT75lbSULA!h!Tg*>xOXT#0fmR|1n&D?VB(+dmN4GDQq6>PkVkFtS4I4 zTjUu>6h-K+bfPn~SgcoX{B|W`3_yNp=j~TD-Q2Z-0l=Ol<4Q==5zx-R3n?s8_AzA~ z6{+5q+tZ^L=O{|>-lJ$Nc8sjY^ohe@FbZt3u&{tLN1w%(;XW`7MEpvJm?&<*dR4AJolDkGTe__8AYZN(AT z5OtOc;90s30QO8xty$CPk_|962AZ4%BCXwEEGirX0%cAqN`-=ugO!wg6PT=`WMIIc zG!fD?F6adkLtSGGM(jO`*5KNa9vnEnAI;@CBvBnB>pH>4!g&Ev4m;@rzQwO1rWJRw zB8_Ci1X16HelEN#JSZde%0Y;0 zHVlH2B@Fj>pkPCImjLQB1VU?}XZzj`Jzwhe3+(THi=vcnt59 zx=KY5VW@g^emFxyblD?dXe!eeh}_13P4RLn%UT(FinRQgqW;xn%W^i&RMM*yNsBYt ze-}=LW4d|t573#pTZS1^Hy$La)GT|rsQe1R|f zl@6nlx}nZ;mxN)!wa9G&fLEd<>?<*#m2>CT*A-igHBboU5bQi82F+qZkr@`L0G3up zKzfk`g_3XUa#;Y+de<7-hR)BX=&}^}^2!rQ($1q7;Evjix0;!!Vq;npM$&7Hq8NQ; zLRc_JBH8w;P|#R90#K*;dSf^=#tM{JSAEY)<0x`P8o}7Kw+1GapnH*&IrIu8fwHWw z;G`+hmaBjAYT23zONte_$$4#ZaiaV4MqOT~rfjrwUNxh&s%pw@PPw46?LAWXwsVlC za65`36oLR{8^R>5&991zI5#?)s>7Y$WSC%>MP#+{B}=ka;G7T$yn=j!AXUnF=dw&V z4QgJ}dAcguG*!J&fRvTMx$=I-9U=S9%kHwer@1_33uVNGpAfG#Bsk zO5|Ggbh?sc39Xquz7mdw^u@`1c3(-7K*>`nv~ciOWfL}Dc4nu2=_STixUOs2n3VXJ zbYexC)MR25$u5l)L}}2YR5Jth9^U(O*yjNnY5gE|0vTM@_Gwo6*w4IkHXDN4Uq-HP zX)nF!*gu5N}bYydE=h)Y(c2Xf|)G?o6f@i7H!;hi9HDMj#NzFsd3 zOEkY}w2c&6ZRQ*V9zRb~bi0TS;Jq|;oBQrAuZr}vD5FmY)vC|%#v*O!Hc6) zQlYVCBG$AN$&~Uvh6qKIjsWKc*3cSs!=l+dU95S%-AK9Pq&BZax$IL`8!jgWs7*|| z;#^3xc?r4K%BSrqNKH0kasyC)QxI;S;7je;5FN`_aswvpzLY|mIQBBIFVvrX=+6&*5^ARdg z0|X{O;-j?u=w;3L^KHSD+Y`FBKj^%QB=o$bicSI`o>F z*b7$5i-J`bq?y0h+&!tTx;eDDITd*I={fS_NP6D2`nCh>z7PY-dI)x@NDR>S){nlOEzs}Boq+YKLn#B5YrA!vg z0)i(X$a!NL_J)3Qb6+oD~o{SFAwiSnzUIbm&(h^zH z2cIQ+X<%K^S149sWq!Sq3wuRZz$b%Ytwj(7s1yt6s+2L<-;3_vUX306;S*H@&q=w^ za|{6XPOi=CE~h4}0B8&_llu;S<}JH+eHq&Ph_;g5HD5ktZ2)3g zQMcs@&q{46LsEGo<}N|n7VP6TKQEcsMOT@#75}!9WotVO#Syf1uNq*qY7)(b(O$ zpuf9>N1pl?<`x%WvsooXv|<3EHc3g=8zoQo+t!3ZCR>rL!I;vWIEB8J)5#ZXIGX}x zVXaLYk_iDDgvP2d0gNRW%WBxBbG*nZF#*gV&NvpNF3*XF_exGZTCwBU3B`#+6i28x zTc|Z7M3KW%+(Ipi;1XIihQ9*Kzx%QO@#x>^st@?K|BxGxBV94&uIsMrEC$Ihs>3fa zqr0oKh>Zgk_s-jQ@J(Ab(0px~PMRoTT)L6GiOO=iUnvpVq8FNy8(k8r2zR{27bjXvp?iThM0;9i^uyK0S3N zU(V-Z<_Ns1#fHWJGnu*2dvCmP8>ID14Ea~PHuraJ?GJIyhV|&_?Us&WNsJPdQ&hwt zP{t;@6-|!^M3HzVCyc}=lz30hIr2VL(0M0_U4o_)M9v}c4o*^0uuB}g1DsbxA`o$i z;o+UY3!okzDzSo^AT(K}>6n^IroqrAgK8jIBGLszya?E3A+83hiwsvK8!npAFH)&v zX{4in>1Q9Dti9Ba6irW0)5R*|z8y<((dZ~l?w0P}xoy*ifvyKeI{2T%$qj{KkppWG z8UW1cWVvjL5=7xd;2H{f=iK2*l(-z9-9Gr|ZaLV2^@j7IXjo z$lPgU9`xoGf0x%uFyBrvv$I5i+}x>eu|e1J;W@CUzyo~5?)htfu`@roINVKB?D<+L zeeO4(y7aZJ_s(HYohsgYb6p1kJO=iC;6EJiJYM$vYB}fw&&}k#x;;nwN-tLzndHf8 z9DnQ&G){i$x1U-5=uK_7Mkjm{%p;(CO9yu2@=up*mGRtrCsV@_cTO36Fr&4a z**i0-`*&^Ep`mJMwR_{;PWwN5+f?no2WR#?{_j4$x;{HgboT5`O?cA+_^-hn1AWq0 zKT)>ae&<7XxV-P8g;y`}g70%~z0S&Vo%MD{qC{k7X4356zbg=_Us+!{-0Ell#fiz0 zmp<`S>+~Gh(>De1=I#DYv;Xg>+W*J9j_q+X`*%cQVfE}HB0^_6#pi)`r_1VUlSZRW zxtz$s1N+R>_=I0wUL2}tt)IGkW;Fbti|x-0{DS#@4O#7*u={cf_`vYdvAoy*z0vVn z<;Wd}B?~J4g=c6q8fXjp+fqU`CNTyZMfAEk>uXK2exIGYCe49cc89e_J!~`@KXC8V z@V>uwwDTVxJ&XT-6~dd*fap>1e={rpLRI8%9K7qGA0DsS`qR&lzx)D~xI!zBke;Kl zvx*VL3Yf@XtKp5fjMn7#L;FnLckaUK%H6A-q5F?c*8crRmOK6LMv_~i@Bo$ogxT&)H~^ALW-Re!b$KYq)dhkZH5u0Qcb zZ0^7aDxMOKmZaFaBcHAkN(PHTti>87vKAwT`bGm)rE!o{_{oqq3!Za*;g ze|_XaRVJRT6Wau1 zgb1(*0vKb72hzL;>v3Plf3+Feu z@7Vt69VZUuLBfMCE=~Q`qY!3iuNzSKme&9S&~x1rLqyTG>21Dq=`z~wBE~`xR1_6O z6bQn!v`DR``b?du>oJi5F#`#Jh+qWbC}weag~f$BCvHC&-*x+~d6(W#zW>~?%UtGjuP#74N!Nt@7mN+=3ZG*UzG5kWED2}iQRtg_rjKLZ~ ztU;{d;^GQx8*LtX`?2`oo*k|i+9%(CeC%(|&*SFiZfs33S7HAHK#txPS4-HeBl+4I z7>g26Q49uyMZ^G#R~QR@CMCzd+(X+r5-S$Pior^u1&ARs#VuU8yhN5~yl3_vGc+=! zoxXhRL&uNrJavk2@=Y9+8%_WM0aXd;u2QW+=yWCT_fZQX0Syk9=eXSAa!=5J8bJ|8 zV~5S4`n5HZC`Lq(&CNFkV~c;ID8hN=;^kE;wbcC3BX@@+l8Lqcg^vOHnOV$@>XgkJ z#s2_*FmrEN&{3^Kgmwpm2UW7*Nk)el+qa9!1A7>qnZlM5e3k=-VS0?2F80+1rsXlQ zEvhpj7!fQ6BZ45rHm2R}vaqnmt-E*H`|jQA0=*xcJ3jXF1AlNsnxd<6a=x>Yq=Y24 zhLH6{5PTFdbLcSR(^F_7D2fCn&ob(-USRc=3ka|+>ao$Qp|AGI?oH5cz=~i7Nr<2W ztpF>AjrA6_TFN`_K5j2v==d||7XHV-bI-0n{@DD5r%!^p(P{}-Wn1sBOk`&X*+w3) zxz`+JYVU3)_U^(H$n%`sIr88!am?h=TiJ2fQF1j@38WTyah(Lb3bIz5NnXr{WlVjL4fuMyA z*%X`zAw2@-$)5P?`f7xgq3wJKK(TWCCKX}AVLU%q*7vd&vwSNgZLiq zg=Op@_Lt2YxWcjvf)zt-EG}~_udK0qV#+>r=OHISPJG~wnSXTZ6n<{*#>fq>`XPFG z?~7v-WAf0w_wt1A@u7Z?)uclI;sR%$eG#$Wcqx%W3u?P|FjS2h!Qsw!kY0{82BV-N zU~~&3G8hC!B_I)WS{dt&2KU`@tKGF@GPGRpmp*v(=$=!j2;2Y(+8aK={QSHJh=)f% z*=V#{+h=y#pZUq3)R(;Hzsy=(D5dxdi(Gj2Wg=tH*O_JwfwWX+Vq%nG$X`2Fd{Kh{LBbSU}K|&iDG%=p~G5={ZL)c|4TsU=HB{d=&B-$xw$#}>HqYf zHg-&J-&L=#-+%1DA%E}TBj%H*pW*Y~^H5r%w6aFeIks(|z=g1d5y{|-k%-p93hj{6 zbxQfzcp-h&*DxX}pw~hug^w@>yz>act{u~+-R}DHmsXD6xo7fAzx%1?^K*09)2H9M z4*9ACaQgIV1JKXg3rSM`;KjuSIk<1X+o0JJFtK?!Bni?l~kBFcm zs4BLU(qCSo(f2f)fu*=Zx-F%gRtR_yElkni^dqn31_r_9j&ho?d(Sk_y}V4l)j2VH z;^=SOa{RKJpTF@dVhTvVpD(rA?VqUCYE$PfT?l*j@0B|a9N?4BKEw0Y@WZiXeQA{> zDN`LACHTB3CTIaYyIzmhT7!N_Xh@$|^A;k?*yu0@EjHU2WbiT~h$zMw2m$Xr6O+SI zPRst~7cY!w8=dffoN9ggt*iz1O~Mw=dq31{G=H!<~!_z(*Vt91K)Ca1^I z!A)5SMI~(@jLjlW796!&DwE@*`rM1>lU7d;oL=sJd}N@Kh;nNtIDKnIo zxwN#18ewwV7#e)x3sjH+PPC;3ssta{K0Rz&UGFcRUp;hUX6(x!|C6_-L$=>x*m_<> zJ}6>L-p?dXQr0_dZa;W{XU|^XjLZ1Zs6@Nj#tIBgO`suQ#b9Df|MCKDpVD;(W)iHm z*iyp9g$1UzjZ&?os7hge%pfc^g&9KwS(Xz=2{XGU^=q$Ol9hJ%zW@B#)UQw8x8dJv z4*AWSpdzwd0De?NW=tG~ey=BS6p5gd2N-6i7~3>bO0%BZoU$N5(20Sy?!4N!_FPs<@`cj zm)15;yk~m+;~$-GZM>BnviZ*10|5Aps^Yyj)>=B+Lp2cJF0Tl|S@>Y7((= zd4=}+22mX2fZ@q;My*iBU=}@54^$wHVr&$1{@i7(HOQd$qN)Txcm>cwNoH-mfmfBc z-+x4FX;Ql^`9BBr^jj!Hz7}k~1N>LUm^6-KHP%SC+a*pCs#)*H^@Xn7_tx)Yb|RV8_evOB8e?ZP0xSWqh7iyYbjS2|(j;MRZH>OqnHnA8 zg2JDBNUf#5vO>Sv#6*HxVQ6}UDbplUCBED(DrBluk`(6xmlswr#uB_I1jYM+4*?ef z-YYH$0mFK|L95l}{(Em_Tdjoly8o+k(i}bc)-XZ#8a@|*cZ6D%z) z5+@0@N`=d-Yb3$&gHcScpOI8c)F#FV&LdGm_3{c!E~V)lx~oz!C5$2Wo_4##jvZ5j z%9|22;I;4r8o+BIu-tjFEMt0V+~mRe^XFD}|Kawpyz;M3wfglO3jqN0W{ zT&>Y)cUW7iBVuqtajN)G_yHdRA$YtG2!=+p&+=-Ww;j7hCMSor;o86S_Z}P{dZgHV zxe*1hxh{$bwb~Hg1-uJPj*k;ZmUg$x^vE!0HSmh$l&#Wjwdplm1748er?#=nbg2OL zQinJcz)>7U#5UsM!U~GugW|)c4*;)%4-8(451xgkb&QG3J@*_8NgQ^yn&#)<3LMjG z6~J-`fhdX)2AQh}6BFaK+bzbbH3IPE;3;8nc}`<(ohUL$@YtydD&>^zai6f@pw&gA zfCOcvQe$OpgLXF~Kw)}{gnA%^*8~s{TAhr`m)E#u-+r@m=S;}^-Jko=@xA-z=Zo%} z8%+S44z8}M1HP@|LXHngty;q(m?*&{DNp%8#}@q1*76!21yyut7&B61UuaTw4trJ! zk`la9N)mkTSzK91jKQnowj!XMfG_^jLOT${;_?QaPFL=~^ENG2O?BNh|K}^1bvL92 zG`I3pl>u4_##)Sx=w%sWLqj|ra+ZL|8oG@pzT3wbgW3q0nq~^eMARob+a_&+*n;9x zNy{uQE#sUg1aMm>2fQz6F+syX3!tAn&Rn?6#KeR>c9iyGNtd1=;ikg#a{w2Ei)?iti(am3o`YODo*-w!^Y*WJG)I_OHMHp2Iu-sxqyw zRRF#yz6UV|dU}6IpR+iUM1@ArH>y{w$ptt}b$d)ibc=_TAs5K9rI3D5>GrivOC;r}{@u2~m z!rn*%Z~#GdiH{GR{DTh#PSjJLd+|Ke(-ZdYd+zX7-Tke^ z|M6eHbNl3gT^HRbPFM$Z^`h#fMOo2%r`~&92wzCj(w8QNhIuiBa8V!?rPplX`#D4g zf+wEXMyOTT?mfF~Mrk1He72WCRct-DR@54dwhYIoegR9_{7i< zZP2F)q+)RW9$B{qk$?|Kse(*TA}-@d+@U6c9WN-c180ROidnC3u)fhCAVo&(0}dsZ zA~Fi0_sI={^H%#_`GV4p7~$)ON>pZoE zU@*oaQe4n`FQFjuHmoF1l#&t{F@K>s#zuJO>20)&0*x31L%egEJc_7FpSvSRsTY`f zzK2mWXe|@!>vh_lE~+vB=>qBp(8SJw7j6n7wRK5(hS_KRtcuX%of$v|2S^$un)4 zf`HYjw-5^cj|PVw8zr9DMxHDCOov;Nb!y9j?az0SIL6or*UQ-0XwYnR2^cgOf|J5A z`@$4CujJn2yeIdbEOT7CyuwRo7r}@*aB#ow+%@AXY4UKt*Zaax+&=d4_aEMN0?_$+ zoPa(C_OZVt^JK4K;}zHg{Qcotg)~hhjuYZIrqOP(y0$J+6#eEi&ph$sj+veBb3U6s z-)QQ)ZAB)%Cr=~BckjRz6?ZhTs9N;=A{u$7MQGcIeqAYbJpHklj!~={av$hr8Dfjx z*Pwz1PY9vV1PX2Fb^G-4oFImFD`&0VAa_oNYc(@Axy{=sGV1*ueZtQkA1nX0yT?Y- zBa>s7Pp&o^rv|R=STPlh?`en3RcMeF*;qlS3aXoGoB{aYpBk;!?zjx$%k<45V`w&8 zxGck@NdYnB9=mf2-8PQjSVgSxcAA)Yh?f^4cC_1=gB2RX0kMkqa=QH-8^uI6F2Gq4 zTu^cs==C%Dy{zy}0|s}N!G+5koL|_WREq5IP?cnK(wlDA_^kbK)C~{c{gV8PS-bl` zBvSr0aW8y+Gt@o_(Jz9R>s(_n*XQ%aZK*0!@Ihr@n)(3FxhE>6GT4YGLZ1)^==I5Z zy@H6P6cv{^B0X{d359|M4ZNKecg1aL&A_g&cG-Te4?Rb23p}XX&1g1TG@5Pd8%;JE zZCcGXy>5TtCkhP7sp2Jou>=hDcFrpo*Lm^WioLYbk(IXig&_V?)sNOxKj2*NbHB>W z=RRuozyGmaC(4gfn5UCmUq5l(1fUe$euE6a8G?v(0dk*zQH<50TFrjNc~->|`9R+7 zu|=H|f!xEc?Z_>A(X2;^luUAtm>%yex0uvE6R-BUMpl=Uu@G@T_gC3shZA=mfxwN{oBhIUjFjGF$aF` z-wxe3e!T^8tv=uY@G~Pr!AT6i-F{Ce+xWnb$>hk7mZx9%Z`|s}qXW})Ed+q*dPPBn4H{&&ssP>?lL4%*t~Ph? z+V$1Z;o%*K=$CxpJ_Oh57oRajI0|5bLYz`QaTl%6Jxn}I_yg`E@;BJ zZk5LQKCSbCJdWvC5;_TVN*-^No;bWIw88|zdcis+$pYovFxt12T%e-GMvU4G_Qrjt z6|%=aOFFf~9=_!OhaR~*TwYlZ&p&r=W_@A(pS8OAKm3T@@oQn5`;~vRyu1LfO%wax zIAQUM2}MYWqD2niMP%!S^346&P^I*qQmv{_w%YuRi7>4eszp1~m6?U+0W&f|^&PYH zKlfRr)5j(yR6H&~BA(l%%igq4D;Sp5Qum&XMozAlj6lE;1|GEN<2P6w5rGIHF^-b- z7_*LYlrtx9L*7?Z5WSD-%nX7yoH{Ir`au zZEpGH_RQ43df$aV>z*uzTDiYW0oZQ{ig7MG$j2Rbe2 zXGBp<;WP%Rgt2JuNXAC7?|K*gr@lzGxJVR5Xe5LHp=gX^49A2KRC@Hqk_Agov@kN67_{em>8GITW^VWK5#@A>ihh& z&%8Rlveft&=E9i|{F>eSk3Zzk{>eZS0#|94uA37U3_6I>uF!z3f_R+8f6>pg=H#|* zre{RIY#j75vSz!WpKp%68C2E8fO9!gt5JF60n)qfz@#Ol>%b`{7;F%n2z@nV6#rkr zGmc}1oW1net6lbLpWT`>rH&DGq?#juQ=zYrAw~8qMHKhigAB%zBr!HI*p+3Pk3Yfs zXXj;GcRhOeUB~p!x9@kgN_4yW{8PW4%>2Upz@Oym`p)g3L3o zKC{?Y|8%WfAuW}{lP)JXXfD?=)_&9Kx!6GAGA-%tM@ioOE=q5^ov1bpnTNguUsNGP zK#eDe;t(=5^pJr=F0SG*1T2GX-rA)%+NpwEtY~7fB?}vMnt%G|H2?h1RmuX_KXU$wjb`TM}nUB&*I z>o)*-(}WD>)qvj=K&@6&fXK+FdwHLolT&65c-~rcwN7JUkvL6?MDB`)Z?pjFkYW^$ z@k+=Y8plL?_fmVu0}TDp4>0t|LnO!VAlkkYt<>;dk#2_RW=Q4{2ci}kjMS0M;S^WC zz76iK@;c~Oi{#Ff%J@r{=)UwK&Z^vg{BSh1dxsP6|H*GedmlIj{*5rD=(?bx1~A3u z$sj2MLYk%?V19l+07OyxWT)3#-7z*kZqiggo%iHn6LIm&&oMeaL6Rmo=U!`h-2%Pc z73ZZ$+%(G(i6JdvW~NB@Zbw`|yBWH%PFSy#Z8XVREuwk{%`!shA*x&Lv0-yQ#a1=x ziht#`N0ci)s_NFgi3XfWS$*jO)m^*DOBFeM$3E$-th3Q|j{@(0_6?kIbd4d9@j#wC zq*6fAE(CJt0Nn8K@TL#Yxw$!e>eQ+Fk;Aur#>0>An%Ln#fALJTnwE(gEnfb@Q{49O z{X}Vu%iL?H^qVxr7yDyS(V{5l0_qE{kx3F{`*z%}87e_3hk*7nwAq7p1K(<+-Hgz0 z5&C_6Kf`zj-V<_<3}|=i!WJDKRRqOYi&{IF4hDh15`kW~O?7Dvzo$Y{ip}Ki9jw1_ zcJ`wqhxYy5jjx^gc2i!WYcx8M0WL2rvbMTPnxypl8M$`=diwO~E$J^UEp65gey`Q* z{luQ>N%{Q6Gd!uDzhPt67ngYPQ(s{BeQ%?(eTv{5_<+iw+V)MFz;)Az8}phK)PQpe z?uv1OX@Zo?M2z#=m_d&YIHv@M1P8fCyeBw^&pjr0ggnD%eQ31tmsbegI#wbw3`^eA zGJ?g^t*=wrvl}10jE)cc3MOfG+jjzIj(rIEGC&t#cxVXkJgrU_v4e<2=>z%Z z`!^fDC)4zgmRhZq{oA)sjE#)wZ!}x-a8e>M&{|*TYoC6c$-@Vkx^*APa1}ua&QTP2 z2IfG(%VsCCz7~N|L|~$?d)}a^cjV#<1F2H@gJRGcYGa6EBr$m7L4;Tfdi;RrL5O2a z-lhKkev-A7CMz)nERjMWC$xHqdLR&26E#*5m+c04_S*>Hy09X)jgGNr=Wd3EMyOUQ z*g{RauNT_v>})jum9NxMeXP^#bK>Y7{)OQA9Wm4-Mk5Ofi%&nt^MCXiUVZ$F)X!bS zWf@T#6P032njleJ6mv8nAs}AaEP+XZ#34ZoSYr@E7H+Cw?^zW@2lGyYg7@G&>T<*d zjPu2H2c0>Jr(0iR;n|ls-{`Ysi%8GvW@uyx-l1WT5t+fzkwEpkoe5{fI07%;yTV=y zItW8MSC}ik(ixX3m0ww2UHjl2M~<39w;s^{{l%B%w#q28d5=|rG>HjW#@Y+7u=>KQ zl!vNRCbv-=9U&bZr8GQDR4yTj*&=a;0SvO~@>KPTcylw9F@q362H4ZU*~)8;AUMTm z8KKvq+v?C*U8B3QMrWmtcDtx8CcF&j2o&C-h);|1susy)Fc{+eFGB!94S`4nDdziW zVVv8q7XT0j&iJ|8j~w~xru@Pbn(I7G_vRp+eN|%~>LhcCOlXZKz zUY~xqN8av|b^G`%gRBP{5Ny%3oEjv2lah>rq)DMIMsc}Ez2b~reIs&wbd9u>RRd;u zdDX;8Ot;%51mX}pz}K!Yb6dA@>eML(%y6mn-#0q#A36Q%%VY2V(Z3ab>-T=&{KH0_ ze^wsmM?yp%9N8e+kVuFmDlVm<-qCO7Wc4Pk!KN}e--0d9r7@@uMr00dchhNyP17?t z9bxP9W^2}w7&Dk_6ro7*p0HK?`?_dEfw){LhKq=y+wPe@4ilU6^x@dI2}SKS2ta@p zfo|^HRKK5PA%u=_WtH-=Ud?sSo;@38XJ?})o_O+0dv@;n z^Jc5{Lko+GLx*oU;NO1icGi1c`J?3}KH+kf4U9wy6IQ57F@YBZUyKZV?di4>*dp2~ zGPW>C*X0|*zOVl>m{CzgNEqG17*)O=UyfBsRVY~@4xV`Le$I@I@;hf<=AVA)i~1j1 zi?X*m{NMd)-gssT%(rV6yq+W^`6h>itJQ?N?s{Oay7n(Spa0n8!~}=;?(_XdTmJ0y zv*z?GFN1d+0UkB@+17|B2#A_DKGk9{T9k5%>0Lz~ zA;xU6zMU9)YB>|Z3*Pax%lT@Y@ItSHf=iOr?46i0I=*A~OHV&};dMdCcU1u2@ft)% z9^kIK?)vd=ulEbq+B>(8jUw7~aUvg297_Wvr1Ug1ov%;eHoYlZN=QtNK&H85x#Jxq|oMe|hRFU;b}@@#IN)^wCGdckNFZewSE!VRm*lYSbG))$Mox z0V)rUjt;SVe3G%@;UFP|g_RX^ad}x@U0jgW`Wj>fSeF39z!G&Q^zsa+ z{_|PLf92V)KKr|Gbn^MD`d2Eh)CPci@4R!i+w1>y?%jLiINCj0tuZk&!r1T#X{i*{ z`Oxe2skfW5(QL_Tt0j$QlUA=Q?QRbj9Nv5IuITdPwMth}ix#jJ6UCIRB}x-YrIL~ z!5rA7+1btCam^ckBMIQ!ckav~bIffOg05ywO-<JJ*T_# z$Gsl_DYjfm5isE36kfgi-uLi*_jaGtd;c1^zOJw9>-xIBuCMFsk7Uu+^7;F^>u2Y` z+Y6jJ_4?f3wnyOe>pRh2AHc=m;cKt|STTV10rc!%(51w@_Yqh}0KZx`;y!>5-vhqD zv~BP^55X_@eO?v@>;(jSfkTI&-{|jt>CgZ9_{FE5>L1nhVVlb1oBx@tAu41$Yy3?idc@b@nn#T z$#7|D_RCK^k-p*c?1kVEa0uV{d9D@)(0s@2+q<`T_RF7pL(}A&>s;;Ol=e922AJLe z#%3XGBEryx2h5>gFi8+b6oCjsM8Hg7W{9+#lZZed00swOYA{o{Im{et2Gy2M?hc2y zuX*>g1IeN8G$X>)9TRsw+jv|h;5Bi7jfK9->|gB{_R1}HZ2!uEL(eu}|7=$)0|fYEL<_?&{RWY5-us)q)qf(@#sG5W(DH>H|HK;mNornlv5Hk@oD8fM?5HZXhMGO!y zCV7fFIjY9cdNHfE1+wt=-J8<(<&jM5n$md2=TqXG64Vs# z1a|@x!RNaX3=n~sKxAMdkOKq*5dda@1O$MgAZA1W(Gd`v=IH~ty}%%`AScmJsM+5+W@?>7obD06Wzk= zt^h={xq7k`HmZu&*2WMbFfjrL6hT@dJHe@ChB?99VFs8Pk~7Q*FoIEn!ja7&NH75I z43MFz72^u1F35jCwS7M|hnmB^BR(4p3?@b-Mi2rEp`B(n_l5^SV2w<0b?;R5|?P)FsT!&I^leiFiVQ2aZH+wSyt4h$Qe*|WX(v_ z?p_$cV7L?13`Ew7B;v1;pw8Z2`TXbKUtX10&z$jo zjI?`Ugkjl3uZZZ2qYM$u0u}=UU=Rd=f#A#lyp{j%P~z5nG{C7fJ+nF{sX^5!)EvnR zm>JX!W{zxtslyQvn8D0oCI}NE69Ne$0}F!^y%^wTP*cn_p~{LX8z!~m^u`#!^UM*y zam%t~0xFZUmp<#&XofNX`;ptWe`oFbkCuA!=G(Vz^We_fS?(z-G%K2%(3l~m4All| z8EV!N&okUQVjH&>zZ;wt4r*LU1zbr8* z0}2)d5^xX%5d>mzs{`zXv#03XwD}Scf9l^ozxt`y(*n92BFOH(8}V14IQgmn;nwBP zxZ(Cw<275Kt@C&~Mam8kgMxs2C8QXlKUzlF8$d=Y81@%X76oEiAofa7jF2!uC?g~g zm?OXu!U50>(*{`+G$p7ia?bGFKy!kn49|+Xo?<%NfK4lCJwtA0Nc9YjCXA~Zy0#A2 z2Id(|gh&y+ULS*gL{EyO*@8NM=HI`t`l-9`MttH4q^nv7j7IRifHYK|%mjJmE=PfJ8!&0O@oK2Wib#5fB3mhnRpYLvsVw54D0(G|vP6sl5&~i@A!P}PJuD2DFj`o|U^v2HID`}>gd>C_oCx03 zsB?|eFTLoG{mWl?boIoEf4+XpH~pK39(t&`96`Cu!T@(CB64@9Pk!e2j+Udv(C-yT zT$^RM0h(h|SH*0)5oY6!FkasX)Ae>_IoIc0=-@jv1}PI=nv5=1A+uEi=LPLo=J$dxVUVi(Si*|Bkd0t69vx% zPBHW{iBC>{<=B(GUAtF$qm}Q~I{o!~zWELRySob!>E)o+W$^yv|-}`(l%9-SFL`KCH5oQuX4-5vg6EV3;)+(xMuxv5abyQ8!)I&Y1X;#f#XH%r6 zM)vHc40A)-i@q=#df6LzQ5FcXfG|-g3MyjZ#36}rqEI9vN+3!^l$z|Srs@t;gDd5z zYvZq^9r_AwT6oj?`Ewh#y76QC?z!jh?ccxOE|a9VJPf$_?u+kGCxlXRnypPIr%ye< zw0qAGy|7Hlb0Q&P0f-O;9*SP>F?$iB#vnNaBx!x7xvgWDhyniwCz`bVf*Nuw@lwvF zmQz+WcXRiwnG6&hMtM9tGChCpBrgo!fFRq&{0Rhp_qYA6zqj-K_k8P-ef#$DfddEZ znqa``)2AH(I23ofQIa55HTAlas#cR#DVLUr80v1~29{_s3WSLzu!x8_fSi=Ijl*^H zZX=rva%#h)9l7V>QaC$NYmO4U4KyhcauFp3NU{)hnrh^_A|kk?Jk8VDQO&6iz5XZ< zi{)l*<5ilS)^f1zUaj>l0FJ!nE&B;LaBZA`XP(*HlFaia30xZpmTU@hO4G?Pa!S47 z@P^ng%Mb;z2o^*jL=1*A0qkH0lt9AFATkHwLTs(2&rTOvaPb6?5rN2w$;=FdtnNxe z%EqR_tS>PYLiKcgGMiL&V?9|(Wq;Y$Ca>jVuRUAOX1cg+dp7C>HNO?WLtD2VrfWt7 z9XLSqqdEj}f;udv2I^*-NoV6z!=>TLLBBU}@?|0#x>+AYC7jsE+!-!JN`Nv!+VBoL zxq$@Mi6pnVC~5;_FZ4MWOW!z^yUtWx@NT0tOcoLm^hbyZbC-Bh#PuwzFv8Y}>sH89TvRDjWQ=zxj) zAnAj+2cXA54}ucLOb#bvgBcj+V4mv*7>q%108C(GMuu_4Zj~}-LOg@n435ePwZbg8 zPqq#EXJ~x3KebagqpZl)oGGkU70#(rVwT=D$ACkJ4lw|A(78OT^Tyee&(#}e*Ssic z`||c_uh-WmPYa0w4k3cVz{=z>fe5q14FqD7_ z(Ao)=IBFP@8&sif2Gg?ToZX3dv@)tUP7Kc0Q^~VgQ&*MFnw%R9$l=ypa}3zJbt?gY z1bV5irr$m}d-P=yD!|Bt-k@o6BT-0QjbOx9Fqvg01a?4;O##YX=AaAo7yuLo2s8U7 zgm15yVeQ{!nAPrR05pIlGbA%h3?!IkGgC7t5oOKU7)29k`RLiT6LB`PrpYdWxg_Gq zjMpwF1NgGmdT4&EU-pIwaV2L%j4`<*r_@-TQcDWUnzJd)vYTZB8Zy*mUb}nk>NN}% z95XOa0n{x4ZC)C*p0ZiW?WbN~Le6G6XD_3eL~wOeuKkH}D!iT0$NpDu(=wNiE#@~D{_GB621Aus_(DJ3!p z5fc&2og6}B0INeY;0Yjhhq&uSwF5UYQiEjx$=wqOjj1J=HEw9kEWb?>Sj4> zQa4w%q$yZ7WP`>Y-;{GzharBqElt^L*N_!-!1lTG_Yr;dH-7uE$0hc^rSbKrOpP@q z^AMDcp)dl3U`DV=%uE~zL~sVXlNmYOnHB8W%n|^BleC%M&ha9507lLVxB|##mSIQ+ zO9V7(IeWHjL>XqeZnB!XswQ=JO)0siWbP#H**V0wG4RB9zw@1|?#@JH*OVuG@8QFI z05B*12MdcUzna!occi*L(lnVRyBcSTh-zjO%Lwy?7zoG$NNZlYku$S(ay?i9 zf$2g@5(+rnNYu>K0fkvMAh}uAjv?lH(HU0HDb?z#>P|YFOsHuZGQdd6O~cXBjk9U> z^WBMlU2_0esx*<@9l!j$FViXYxA|xUbLI}b{ zftf`@5TLyVSpZm=gh9k;U4c0hyp=+3fOQcFv~oVXx|y0=&Zg?>IcL+9lDcYEO{&@Q zsgtMU>DAQ*cb}9iJAOD8{T-anz489<`JSn_1z~=z#e)3Mp+oW)9{daGlb`%gKfSzp z>u(%?ZT;=_bo{v(2Zfqtz#wK25sE^v7~y6v%pO=w&5Xgu%)(5W8EgbL7y}@ti%}sa zHgj`xGcy=qnsYWH>h!MXl+AKV>h3uuRoA3d)hM~!czxVMo;KWDx_R@K9dA2#{_IbD z;Qsq32QOnJ^omqRA3S(a9(?dYedtr4|CbW%$8~(-Z*N`MdS2ay$W)}@UN5$XK-vQl z5ST@T0t<6sCSr%Ngg_3ofeE^3!Ex(=dCsja09wn&0b_S_GtHV*)io#8l(T7WG^?s- z)2gb9Bd;DEWLVg;=gmKpGd}&j-}Nou-QBxgbH%w|?-d_9bcmO3Tk3`JwkIvwVlS=! zLM%&|I}3A`7)b&`jFDrEEFwZg0x-oGIfz8z5R?$PUBnDB2QiTw9P`An8O+_(OtWiB zDW&Z0mb1C4s=BMD%2HO8ZQ!zyJPoxQwFbiuMQ0 zt%zUy_-AihT3&jbbmKHvr+!foi9%pNv#?MsghNqC!9q^L{b7Gl6y<=0BS8dRg$X0H z#a3?Ao`BXdGxIi;4mZu}ZkpA!nN6nSoO7L1LRQtJjj5_LB&6xsUOjelX~!Gi_Ge588Bet=ij^{yn*j9P5!{`j%1~#RvSt;SGt^nLim9?$7O1kRiMxwC3IdJF zvcEOebr?^^O;ydbo;Apg#%i`+A3MLkZReZb{+G&LAM58m zBA`tK05Y$A`+d(^>mb8n?gn+sW?<&&WPJX}t4EIpk&=)!CDhq_cMrB~|1gm}e){a` zA9(OX?>pv~S?T_foPdiC+I{(;yZp%yyz`l(=bn5=M)ChIY})fPzOeQEfkGutGa_Mj zDu}qJ&e4gYJEEG$tR780nt3#{==6bq+1RLvVQ|BT zH}Aap!*Kg2hkxtW-t*vx-gm6q`HDa8Jz{gq2mpTT;m7~iqKqFQ^)YhuE2F}nGRnn{ z8*cp8SeA=9H#K+LU+1PLT}(Z~fO&Av-RB9KwtgMtP96fWpFH;3qtnTxsS)nWwD2G? zucmtPKi~hpcm03u>AXBC$E&tU&)sSN{{3{|zybT{Ll50D=cb_c9h~ZTdf86sqS3BlXi=}WT$ZDQEeIQC*Tz+U>waeejJ$#<5qe8a4&Kbn&M z%@2O}JAUu$Pa^(1ZBxbk`0wApA9Ks&KOTPkfgoXD;P}lk_!sWH{S8M~mPVW!6(Mpk zw*uyp@`wx9W+ai*>bdo$=U+Pdw&^S_y5YBiSNra}?_H0zg#V-6^;aDOF4YZt_wKzw zn1??7#1B&Af4f)q-n?Vy(u=peVfQi17KpfQf$79eXZ8@(i3-sdUp#u#snzwHC$s!0 zvH$%2_uTcVxj(Xh|JUTKah(Bw2qS!-^C$29!e0gH|F&oM_G7ocY1i?rRuB*f+({%e zI5G#WpL_A>u2)|@y~D}=^8MfWj(<2O{M;YG_4QxF2$wnW{=;uR_Lo2N*q6L&nitje zm}Xto>>HYOLp86e`Z3M={O6u}(LerMkNtH3c=+Lm!@+|GLS;LJlx9s`Ft6cWMS;)!SWl!KLz^!mLYA-3b&w=KP>3IkAe2o8j{JkE*O)evsHVau1E zf93eGmF3O<`tJgj2%_LKeIVENp+)qlUSv3}s5 zcfb92=ZpZZo1yr6@vwI<K~V1HS}?J$3A=g#FLWj{u3Od>%EZonTzxGo|A z>ND|kXE$a~pIaN>rz!ndD0?!QjDMw?ZR~&d-EVzy&WI}=`?;zZ@bJSAhq;`8;)^do z5Ty9X^3w8~*JqO_78Ztwx2_CV+_4Bi#bCr{LQwDW0I;vCjcffgvR~AO_BW=Zqp*6X1YQP-l*+2338^ zonD<*dF$HR#`l5o1FBee)xYu9+jstB0DkbG%YzSI`O`pu6e4H7+n)Z?(Vq=P@ewsN z6vF@0AB>&~fpf2<+hf22nKcYUA)zS>t{7;VSu?7p>$|3tvp0EeR;C+kwwa-|!@!_|= z_0|_JJ&}Jb888oiec}_J-MssaH~!y)(UuRM+nD?g4a@&9iv1~aDjDXZk?a-;hyl~U z$X1Q})og8NIyZi^R+C%E>tzoPf}^P`oH>08Acm8y_ZGK4z3s*~etu=gji(~uNfA9+ z*;tdS>@NaBy;wBvxjB05)VDE*pQ>i{TW{rI|oin)pvY{na-Xqs51^ z`K@EdKOK%1zbIaR6U!y{V5P+1q?)8^mSlYDh=}kLsdU;{%?sG9>S_7viYfX`JiU4Rd8g869ySC-! zSC0Iwo8LO!So@*x`@nmC?MgC%u2i)1z<~qyZ$A3b?RVUE*JoG;JIB-dmzH{3x zY*vM$_bNjF$;~@%{_Ksn-F-v`p-BzO>BeL@7!2!^M_wskIdbwZ^%u9?eg5og-~Yk) zzxUU#RH&M+l*0Yk$3E8UFYSI5A>OVO{`u~k?|8`=MD=))rbpkT(=%`3gqx#PD-snc zJ95g-bE3NubJv66^INCxpF=(2^obLg%_@Yh8yRjb!kGiajFez87BBQSZ+dLUP4D>p zj$3a#h5$}8l&?Mh@bU>A{G<*R{)C=6`;Pa2=sjP!64ucbE6nA#^5$*7a`x=%zwHl4&ku+G?J_&}o>5TJCczcvWPmHR z9UE;in!_+>068P4)FP`$?2uDB#()3^n%p49fbse|&aR&B0RB2guy>v_8+qI1(U%B? z!9#JPTv&R%@ZxhhE=6D7^YiO#>-*mSJ@5Kkeyx@!cA^K5KKkfrl6x;H_>`G{Vky=? zxHQ6z&8!By8pDX;f}Wx&^(VkX9+tKJJ=w?T!>(On#PNpcO6WNdv+N{?+qL0Z@TY+`_5eGdApXv(T5Ko z79#SEI{ZbB{jF;0@qRk_rv{R4tY@{6D~K{XWirwhP{Xaoi0j~K$P=s+Ic=vl!Np;$ zAb3koayTihB_xOlSu++F7O`W;PB0u~+A+%7s1XcKMo!8EV$JSNqe{6RrHwOxwl_Yu z2Bui``#*6>=l`{L0uCQOEHmxDpdPE9uF_(WZa0or6oJ_dpxoA#zz~eO9c^$|xElx= zZqyZ-TbKJ($Gg$GcjF)I6&S?hZcOvFW|i~ ztV7M36T4*&`GszPj&=B2aACI#-P_3&!_gwPY}tmKb>2pNp`jQKSO;I`?jSPCxdF#= zv0i&_nS}26&EI_F4MgPo_U+?qh5_>~NppX1lnBlnH!3NhiOD*pinbO0VjNS^q#0nT z+ri!OqYc`!>xUh)D#YK3|;7*UYdy7Xj@AFn|JG`?ZR}FM_ zJoW>6DJ;GN0C4ZUeC>5fqIYM%=z)O&nW2}*@LU6Ei>z8X-+lo=5V?SmI|plZYj@`* zkc{p2_ZG&u#V?*)Lmh4e<~S0L5CRCm=1rR+A+*T5?j4BV{C$AbRPZnaZ{7i-2&$5? z8-(Q!0Js;|P)_*Xd+#*>AhuoA>=f$BdE|Nq(grj+hhP~JB7_Nns72(4Kqz!bxh>|i z`9;~%GQ|Pt1?E{!aBKBN`#N=^tc_EWOhXTi0Fi-Wx{kr7op3e?&0#6q(n5AZo005v z1kV*LZ~?sBTbq^_yw?UxWiyr91Sr(zX~($s!apDu2D^%=vgqp9FK7g(IkPUFq`I0R=LQ66;fgh*+_D`y z=z;19W~W{Q`a`5NYhzHs`I?0)0O+*DKHS|2cA<8Y2+&jmYiAM40#Xz(YN6<1EofgG z%DHGAwYot&i)G#(%y2gtS-1ZM#M&`6w6^8k|0QYhL*dBP3@`@`M<5=6iy^eBv2p4s zLa~7U@-~c5yx_zFuuL$Yig2w}MY!Pw3B3+-ICVM0?)WpqEg?-CfnO!UT1ue+T&8im_I2SZ|2_;u1n{0G&)RIq?cy z0*aNbC`XIXTme-Bk^ulY-fpUE2ruaLz4vzVa^p$kAt)@d>v}7v{Ss`YPI;eHFiZe^dy2;RkK z92X~C5IJ0}1!HYmF~Z;r&A`kpaeeNrxq<0o9fSd}WZ?NPt%Wgmc=vw@mKC{9sHYp4 zcRdjihy}TtV*TigFjctKkcAthcA(lg@gxA6TXxr6IQmnMeen~qKJ&gaPkvI7rvlF) z*Va7bjuGY{l1|aK-f0_3X1F)4Os7li|F#zTf+y`nFapTDYou($6Z3|RHfhkl($p2| zYStkPdFKgtAr5PM46GdJ&Tsxfv6Wk%`0jVV=^dAAe97gUA%h>kWZhG2*d$If~Ibelt3XO6a~B-L5d!V(I$j)1-;=AS}u6AKE=cT>K`6^ z@u^S$>%~nwf8k$!?#pK{$H=SKodNgUgRt!pcyr6vzrQqyKfN~IK#+i~w|x_K-TD@6 z+P)hLTehLMv<1Dv0$Qxk2!er$+Zd;3z%s}Z+%rrQ;28!5w2cS3+1vrX2o~4QiUDze zxd6nF5aA+VDFF`cY0*xfn4+!|s@W9HWDOgu$8qMhmvHR)FW~rdUxLrpu)MT{ah3l8 zKfn63r|tng@(A+P4_OB21JFUqlJC0XHlNkgc<#irc>d+bk=)@d;LwK`CCb4N{lNl4 zF+i`s1StmKz95u6gg8X(^-vZAgiyjm1WP~=hKoRo2oeFQLsdHuS^>*IPOxT%rmE01 z328b;T}_di3Te8EYP^nWGDSUJL!MPY-N3zpo1q^I>|7Y4ziCH0zcC{f4F4^l_gs#N zBd@F33DARk!FXcv&n5DoTO9Ov-MM8Oq!bbnutXTO@tv%S#xk0$NGZcjVQNs#NS3?& zOAA#$50M&q*ZbHG>@hbOteqX822)3NLNbS$wlSt|EC~~Xogfax2n1p*^@bP@3xvRk zK@d40PyuE^hNAZ5FP&V)r1oQi^6&Ty$NuTT4yNU*ouc&pZ`}UYUf+IiWqAqD9X$yo z$EY8%RF)XTh+)AfflKi zj@k`L4Jo&Y9U%g9I{_}RAP6B4gUGQ|MwBARX3%VySwfXFswU%HZ8$rg!6@O5otrV4 zHCQu#>&L!y@|pRwUX@dn5Mn>+%)a@S?f4Tn?c!&?dIHDBYj|x^BW+Z$+&WNZ+Qxxc z0Cx1zPPbro1eSKkvLG-zWy&DZjv0hT+hGrLZ`m$nEnCY*U7>SR*4zIDzUW!2wN9R* zWuP0up%8dGL8&OPYtsmK-MoT@VPT(q`UryB;A@`ss+=KHRz``~H_rLa#SuokdQcfc z5s(d-siRg!l^v5Rw}aPm#xys`*7*XTV?p0_Kp$*{!pC41ion z&=|KzhMhpH5F;=XA^{-=NEGygW9w*u#X*56KwlVxBBG1|3}A7ghf|Y=$cX~u>c@_z z`QvkeMirB)0?fK$YJw31OA;VOfDA)76+__CrU$7bBXy0O-xZDC}sE5>j&P~=FJC=%CUnS+hn2rLwY&<3-q9kpi+^G%NUg<7DfdIMX<6I>r2~G$Hc@?m>HP? z>Q0wt!T_T=G3WVTnnQ(>1BfscOhiE@?TA${n5>;2#tzEu;5H%$i+E&0A??nWz|JD* zGrS!3Fj^>Gy&VWw=ggC7;^}mP@ifV)$yCh!Tx35EfUf2#N(8_^bm!JvB;zL-Na7fd%Atko6j z`QT1-BvT}FQgf&>nHoS&#I5NWh+w3x^V}s2LqNG%2G>mATpJ?BUB+(xU|a z7ax1}^ov*RFwfs_oGk$S)VFS0JT<|tndvS|b|abWCZe52yhGeJo6#Z>EjrnNi2F=b z5;cXOU}tWvAZo1`A?rp3Fr2JQ-tgC^F6ZfBYyAd;p+yd2bD#lGlVavhQ*v5&(slK) z8Wbmt{kX!97D7j2k&kT~ZaVgl9)EHD4|=w%HW;@L;KTQTyUE#qsO9kRzI(!Vox11Z=WTlgekb4uE)yW?f6Zq32KRQ^ z$F5&3ZK`w$LFm75?k-6*0Kld5=`UT|wspih^!txl1b_oyOVF!jrv3GGeO+JI*Y$OM dU0+vv{bzttd4`aL+lT-F002ovPDHLkV1jM3PWJ!+ diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Hourglass Not Done.png b/shine-UI/assets/emoji/telegram-previews/Objects/Hourglass Not Done.png deleted file mode 100644 index 3bec77086654044ad70f48bb787ab5a6780c4232d87f5dd1e5603a866f40db9a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10316 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 bYFz(6YU!5_t`XF(00000NkvXXu0mjfHrGfm diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Key.png b/shine-UI/assets/emoji/telegram-previews/Objects/Key.png deleted file mode 100644 index 3ff2bd1af911fc499a23ea5f44607e71491af3272844c75bb63b2b5f95a1ed79..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8860 zcmV;NB4gc&P)_FvIrqM?W>rbnJP)N23kM7)k{M#!jb#&DN?7T1!fIj`fpk_UOdSZN3U&f? z(sY_my3Gn9Nhcl9U#eGH>(;CH_CEXDdw+ZHQ^3@kT2pIkO|7XlwWikVanbALgZB19t?UPNcE9jv9_fc1 z?uPXBfv2{{E3mnw7iwoOjJ))XMmu|9w)Q~3+MDz>X8{7xwyjW`H^V*q`s4R5nKf3f zEexyWh1v$QLMP2ck`$$DMqE)$X3$IO)9p>>)LT9?F!=1>-MSUJXET@pnNq-utgTz2 z8-f=R`sYt~+*B*MyK1hoL5p6U%BGq!O$j731nqm!S|MbH)Ew&NI!eV5wW=+#vWGk} zyRu&9TkrbQ;U|95>rW}*dHBAi4?=)EbN_qN!{?s-chySu!^(y0y5_ecyPylrbEl)_ zh9*um`AkNjA}xW$g2Ax$5cPar6^5!RKRATq*&>E7*5It{PA9$l%_{%@-1hH>$^y`q zUeGJ$C$4)1Z0&*Gye-<54}YrjH-d`&gG`o|cCMI)>2F*rZSz~5sTZj>I;iSn1qv$x zIJ6)E$T5frPy%=gD(NB7)*{KaG((h(TrBIM17kFPqKt`(J!#VVzB~Uo_czb~yRTaX z^!CE^^}&AUj~6Tr#wPwpQibp8ym2lTY+U79TbL?m&#L_3MUW%-&28}8Ti|DX=#&Sg z1P}`#1P2zjT7@lDP|KBJOI3&_GW329RBo~$j+aQWUB|#MF@{T zf>B6Nhj0jjKm-tYAQ&i}gd!gtYE+7X>V-Uli87L188pvnpV2{Ij|!lzag_7Gr&~Yc*K41fzIFjt_q@T`p#eQ|;2<(L%tG6;ZkS9R zTsaC1-Lb5ujyB6Ld?`9sj|I z9y;#el=qqUd~x``mlGvjcM52j{fnD(Zdk!Z8v z;%?Z=02D$f7zir>0uc>vh)D<}kr-^Kz)XNBkq`nVG1`MkYoe5=s+SqL<0bf+B&IFP z@{!#IzO=h$s^b0GU0=+7EPh|^rCI`AkHX*niIz_^+v*n<-g%2%bjuul@w?w8zkN13 z-h3mZx*IaSKibX4fItAtkVt8D`EUVYnJ{Bbi=01Pv8VO~Udbju+w;ZCpZi&S0$p!0{y+Wa>A$MO;y*5W z$7;LcmzLs-@tG9{`oJ0C`{#1RN;<1YrWPK%l^)pp*sIe4w1dr8CwY zd9tR*FFF)UQYNV59(aVA5<;>tnR0VlXL?w1OS7B1E~Cefl~EZEFyqE%Ien;V&+fHe z0Q~wde_`V9Uuv#!T_`|$p{Ni1-9MhaxO{1R&%B%GX4b#|CJa6NJ>}0?gtpZy5RN_o z3UeSzz%?*NBnmS@5LOUjK%(ay08;UB^a6ddgrnbq4)S11!omSi0Ba}~K*jt7 z>&Q!rf(kWIBOHAS?%*S3t(5u3g8A7Gz3U6(d7w0z+yTI?eIq3R-`u(LmhTLF?aBL2 zJW=|DVsdZXl+o1+@NoWXBJ!4Pn~7dC7SJ&1ZJ%iStrmn|S^weN zY(iZ$WBbox&cD44LE-yQ4&)Dh;jVUG+MQHq_Lk8$Gl9Swd-$=u zsR!N%@BCu!t5*v}>RKn(dV0X${j=_NTekO3yJ;S`&q=AVr;lLzTW$i^4g%#tK&8Mg zaV+nPR0c=xnbBps zmcM%ykM7y6Qgi0QZ&wJ%55XuOunb~E^nygYof(tSj|hPnP!K36pZ4yX7_Q;Mi2&(o2_({jiGjMBx5#%LS#!gL9sPA8$gW=K>sA2* z(5-!N|NM7rGPYXzaQo`{lJWvoy)c5-?uD?UhoGE=bqd0O6M|zv93U){53quYQzQui z5slG7t4E6B(yjD>0JLl4)j7<*M}?Lkp3N)v=MaY#s|G{za= zz^dj>M?)8BgNP6jx$DjXwr!5yS2;g+W40yH)G@D%%NK?y)z${hB}iC=g$4^jKwvar zh`uQWlxP?6J=aw_d2+D`Xmiii$w2_3KFH3mZAd!8xBq7i>+qjk{Ulk_Y-9(Ugp1wLcH2hNO;Gtj2WO!Ed zOyeX76|*1&!z2lnf>0&{Zb|xyaxt|W09N+Duz{&-8vk9;oo@A^l|xVrk!VW71rreR zKu&>KMR@NB>;R6#Pj;Am9zm1>8~`V~H`I0G1L6V)h-H4NH4B7g5(gMx zfrD_8N(My<7YU$*Ah9o)O!9>Q=*ff(A`l3yb!yq0k{kxyb?Kb^tp>;psuN*F9E(x?y!gunu+ zHmJF4)9&ok?)Ha2KJA+i-OC@o<1@Lz=iogcF{@)AZb#yqpKQHX)hi#HyLy&upPkX; z7Y3s@>j2FFQ2-GKaS3Rn0OF?WP63UGWbAv7`T~_CW56~f5oF(N*jSYcc6C1_!#}dw?5YK-%=TR;GG*ka++@Kvm!#@ z-?C^9ZZ=B;nng-at43n+>cK?qnhLaQO;Jp zlp+N{fvrHCi-gSa_LR7g$aDpIL;z`2zXXVX7J(04+1^43>Oj{Vqf z$>rsbwm;%>V zOo9^wMVvTScL1-gMEBG z&Iw2W2L(`+Gk^&y4p~cez{@JV_@=Z}^Ty>z#S5$TrAjg&1DGZsP194ZrL~!CP}8~d zg8%~x1Z5=-cLkyV7c#6cggxX-4mFnQ^=JXo+Y5Co-Dys}uE4sqmAuQH6U z;Nrw8ij^d`fOu=WNCDA~k6M1B1TDIT7>*j`13?f5fD<7<#pZ^ETA-Rl8&3q991F3v zI)7;hE(if45Gk;Wnb!EB0Mu#koof_D7AiJH})+A+m9~dstsk8>XG^LV0Dx)Qk zik+`eM7%WuMgas@lCB0FA<{_38lkC#oQMgSqX>yPzRm>41Sb;R6BlM8!A18w2QWvDK1%8kzg|Rd zvy%vJoIo7nYjmaNAPNMHFd&o*jHXuN;Xw-)b#~t3xhDaj??u>Fb*&ZOH*bS`@RRMo z>4M_l%)Mo;nX|r&^5>pGs>8qqf_g55@;#7?iY%D)2lU+Ck7rX66yv^{v;eS*VW<%q zU3o5zHmwH6L*j52hziTG0)*gfuYx_H_=wz;oA=-mJVTn7s1jXMdx z-MeI=s@ePJ-@IDh(DP;~oq3vEDG#H8REtIKoP|#KfQ?`SEPzu08xR}7n)o>YN746I zLmb8Tb9BvVz#*!nITcxkBRDp29Nj0(aiJ$7^&C_Dnh|WVPy|T;1_vtWxYl~Dv*t(3ddN$oFu>sqc39Z=!$1sF=g)g9WWE96G%sFw)ZGm~)P zL?Fx&q%`o^QIs4_W&jik+UZD`!f>MCI1-|B1ZDx8i?BYfvM~eX0I|{cRwRZsf@J{_ zP%MNP9}6&dL5h#{7pYXoz}w%{_5Ej8(XM#~^z=lIN~M!eaO_~?vZQeQh`(nBOY{(SV2OPPyZE__eF;Z}d=_xy zwcM58cOr1iP)gzSQH$xbH3G*xaJotv-+c8gzdum@Y4CGRDS!yFvlr%leW!SzNUP@#y+_F?_cj}4V4r}x+4IWO-0 zjQIbk7f8iXPy`bZhDVe&IW-x{xLDAx5h-!pDJ^=^L38|bSOQpsS%XE#AuB^Huy6Mm zR;^8=m=D~kV?~ur`(OO6|6U&2+5>epQ#ATo8Zp|nbA$FCJG!l2@(*KbQ06i9C-z4u&0gdapo*C8T~}% zOo^{wVOlx9&oc_Ue_Vo>WUPNv%Kh_06K1T)N7pQz@qzB!3jEQ(yt+cax)y}r*9Y0P zvsdT7eRzAiS?=n7-)(mO`su2@tqd=rpiP9$fWTTt=mbmGB{4Em$El-rBoaDm%!=s& zVTp=0aS;ZwLk_YNNiGl7Wm?wz51YR1$!<-*NwXGxX#`JF+Qt=bHE5X4~eF8QuE` zxae^1tb^7H>7)XO0Fj2X0?$`ypO(O}gJlE(p<`MC);652igs_bWg)<`;&@C_*9{gm zx{cy^pCSdtlsAN8Sc{x-BALLE19==hUBKNvZ8&ml!tUQw@RAAd6QA5x|HjrH=)RXQ zJEs4&g}?j$^=7F5heJoJ=$zXMB7T6=?pXIL@38GNVTSfR z3NK{r-7|sx2kY?CtyuHMcFdk-ps0jof}o;oArdSLm>m*Hg6A0=J5US z66rRqc|!}j*EYfEBI-p3JApz}@rrhKH0R4Ms*q)x8HK#X!97)s4l~-O`It2~gSK`J zUpcT4LMvd$QGq5Z{6~~@%z}alK}Z-G4RGdk370N~m_5tK#+26}Z}!7YYc{{rHq9_*c<8yuL5+JQ7%ae8MP%2pz@`BOPD#k_#LUqiaud#Mrv$Qs8_soxT=J??NUaTi;Tem#@Iw1`9c`c z$%rBw5(^duB85~|a6_lY{J9C4G0T&nrntX9Z%!VmVJIJ#6KVg;>5f^S|I}Ab=X*E6 z^gZ(OhO~b!3TOx)J2&Y6`^^J8yew^6efK+T%QP~V_B{sAGWPGwqrcz6%Qj)<+6=na zv_MH6l|l_#DF|~ESPP&?ptJ(RAU_^C*5*vqbQ^>=ngxT3c_0hlXf(BW@Dm{`XtAN9 zYQ0XORba=^%E2>AJYS12OR*Br;04yF&Xh59*`ZJk$J0r(E!C3zub=$u;<1>w(%ZJZ zGKY51&jWUPcW%(@zI}K{bHZ*~b@#2dsY{v5dmjgd21oXd;n1-VekOrsYud4LbrW<@ zN2OYYQ97ztH6j(QP_HUXNtEbk7AK!-MTi+p678(n;`?}ddOf_AP|@o&Y!FD z;NXNZiqM=jNGA-m7dd8U1@%x+EZ0%US&Ww)%2l=rV2??w2ix0Q|NeLXDmU<~>HL=k zIX^cA^!7q+*#g=9mG$Pr@$=i$X>3}(X@hO;Br|Z}NALrO{{1EFKOVxQl32Aai;)*)i^Tg92&7cfNNSLuYI7e1TR3Qb6c{gi&al=3~+PW}Y=S4dW>aoyfl3 zIXQWJLf06(;ZPQ$8O+o!B08R_af;lSHn>EZjv8N{@{|6LKl{IfBhRkVy;>(}nO7Bd zut5)(4sLHs)20=7ZnVwqFa!I31RaDpc(8*0V|AEJ7Ts&o=2I`k~=V)tjfE%HW218BB~+Y4BVH z%9zi5@d0~Z)Hd`D{gqFBA)70VsH9JlPEM11KL4H~Q6FE~*Z~?dVOw^=5xuf!1ih*j z@Eq9rPXCT<%5GYD$1OJ7uFc@SXP}+MiNiS@J}U6i2Fq7>pnFv(D9EE&szMtNkSOg} ze5Ev)OaLcN6x`SUv8cU7(|f=2RQ{iS(%-+YCv|tNTKjliWK}||%SNj|>wVDvWiO!6 z3%t-S?(K!bt~fT`2>yAU8%M7m?3~-4&IFs5-+rrYZHF1$|6_PoaQtuq`%l#2Co@>R zx(&-$cOVQ)s1`~v%ET;Y#Lp;+rrVVwl=DUG-kawiKB-jN^KTnpSowc#ZBXOmk)V1o z+0-il@aG>)&2D~c*XRd6aIV(a6q60NKUoL@T*s#-PQp&_2K{j1zz#p7H!Z#WEw-gS zVFnLGuygEa1xJt7p)x6Sug+p+_YDYx0?MT_Jnc;qXM#pcp}R_c;YpGWfcDC&7)!(e{+2&{6rWNmgtIf8GIlt#o zP#rjaB#)!V19+(vx>vSh*^221f*eZu5)5gujq0#b3rJM@GfHE8Jcl!ap7bE149P$7PMma{4|14kZJN9 z0Cc|yY{VEYxW<=xrJ|imVc+(2M($kvuD9AuR(pfb?1SeRCr(b__({M|X0c>d8cUb8 zA*>ZqEk>~897h~{++Zsr@U@4rizN&U6frcO#GD0LEbmUpiL;hw%t(ZDy8H?d0=)qG za9uC;%D~RvZC*z1T=uTF*=!4&3%mEi3u`!iJcm<91S)N?Y)uQ6Et`&@Rzzi@1VsvU z7T6f;BMWdaWH2~T#mN)n7|I#Uou9?>RX#i~h0#lO&ZgNlwMY&CUc!9uYfAyohMhM& z{H5)wB;B>>wqFRd&0+?hItU6w96ddOBc~iFlf=sIHY{1vhFYb7LcRhb0~-=JZmx1R zDw-Seap7zU$BvF+tY9#EK{J-FNFbBZc4P?^^PDK`c0ZDu*+tLwE@fOIJ2y@v=_TYGo7)C1|CihE^yH z4+Xe1RHKQ4rE*!xiIa6c)IY{GYk1b2W?r?XnUe|4dv{md@e^a71$}kPgZ6{Hfa-hX zXXoE>y`G-lfSp}iHt6y4o^6?o+_hxG&0$kod*}D>hqD?dkB{QgU;r~E}>GYMj5V?cv3}4y%rK{s&vkrdvmgK*sm%F3d*LkM_>pl8 zT@I0K@~~ie7K;{lpjs}VQmVs{iHhThdPBqtpa>+C4)e9z$G%ZN8~vr?3(QPP+`0JL z68u#`P&_M(oxK}$v9y0{GA-|2@U}OG*_86m@81uu6Am8EV{|w~rp3pi?iMUq)PZ`r zjB>F8PkEDPbVe;X1m7r(4Atbx{lnxX%q_gaJ~8tW^!LZX!^5DB&wCFmyRMvA^;%pn zY5`k%LC@T=UJqOzX(LNg0+I6VCN`By40*$0%$;Y#Br*xG;w_Mb#p7VJGZf{9UwY+C{gm$qWTf>u9p$?2!0UYd^i0^3keyZI$4{VE671PK zfw5tWbhD2|D>|@vNgFDK3d$1z5a>XK%N@8wjGswWPvPOjDH5%N!ata{JQms4ed%A#J!6MU~!2Bf{EMDG>!bBd` zqJz>6i!_z;p9M`S~9*F8DR_!F+4*c1UPYi1eqo>oi}jJH{MPlz{;-IuNHo) z0xpacO;Sb2zNE4Sa~GzubVVDgr3xwq2dxp0YR2dBut>EQQZ>{UZ8h-+6?POR0LL0C zbnG0HSCz}ArjPyMH=`WjwH#)?{6vhH92Al%4>RXwuw+FuYNZ;=#Q>f$a5kQbKs29A zT15MrJT`^T?X>idjwWq!&JhnuK)#WjDkUcTE#-ai)XPoE+IzedIt4FT8juhl>|$(5eNqW@O+jtI$Om z?iRd$Gu@YM0ooAzTEr*?Y8(#}54|ahBB1l9$C1z1(bVi?@rpF^WeZ`z_)~&^*%nZ$ zl~gXApjtHu>$T8U18b|b&;|k9N`>s<{S)@WVBI>T?X($9HruLgy&hT+f=sKa#uhMz z|1Z@7`s3t?tUO(+i9Iw>NP!TaRLIbt!sP+M#JGbt3c42J+*p8Tj+Zf`!@-Al;CKF_ zIMy2(%GCeo{TWM=1VH}iz3H{A^tynYsCrEi*iU%yb0aF5uPY_O#0-Qr=0qkjHh*C@ za3%g>-?zulPenj@`Ts~^N(%qVMfvBnZa;7BdfxMmjc*;D6gC!~f)k)-JW0000*hiH*#sNx;$f%V9!>Q}@amPp}?!BfNYdfx0ASTkvm2J3C;N>sS>! zrgF)>{d!IGb|8;0ck@9rY9*WwSY>!+jKYDDdrbP;cGT<=L+29QO@OB4Mz_G#t0)A- z!^h9Z=kb%p^K}igBF=b8TluZ4?`}uP7TyzZr;&N6*kV-{C^u~ ztrUOlI`s_YTD^74I8iG2Z+0Z8|{e$m&jQ>$Mff5G8dEGgD7w5$1aB|e?ks> zQ&LhUid@?6FwDHw;eM;=x2fNHP*-stVq-HM#-_f&VwR_gXO2cB6@lXh^z9GI$kj_Nb%)!HLX51&Ks51ESTkKp*vep0Z)>@>2N? zZc=gP4Hl~ELVz91$`*9`8bXkpL*gXK2vq_TuYiHQrXLM#_?Hia^>y9_YL%50vI^ zMXrsAls?YI<8}RB>%pCt>DrU3s*F>A41ys|EK+icT`McXjeN$U)OX~4*1$NDw3L); z`WP(68*LFQ#z;RG(R{(YDd=V8D5uqDq>HKn!fyK8FaONG`AFp^<({d_0jZ|o>pQ`s&48SfKg-HO;14OW z&lon3Pn(YSiai$A`ZEy?il)ICUEE<2$HxjbpEvGX>bbiS;U^2=>C215V^X%_U!_D4 zR0^6h+2mKVS_=IWybA?Cl?a}m?_jr{+dn`3vay>h#HfL?8gi-od^i<0!*Dsv5T8)a z&!{enZ@+R~Su@N=g*@|g&2P8)KuOQ$s@&Ymb*JD>m5^(EV5$gx$3NZ!lYh=K!g`is zuBK18i{iTy!_MxC-@hF^yW3Fp+p?{S3!N*E^uXbD(&4;R{~6IUnkIx#&au42nFpmV0VIkUO7Rcy+&W`_R|O0fSio7qL;pa4_5&;N@(2G-~lZP zJ7%eBdukY6@PGz=63m`>zx_&G&fgv(0UsJ#+NA$P@rkUq?*(&6wz}b)6JI6|g7t^< z=bluem?piMUoHolW1}d7r?uz-D?F-nOw;|RsN%S-V>+rv!R=?)nE6D22*{suxH(A>Y3x#-B z0&W4VxcNEE+4)Gtb3*>@y2>^-^k~~o|DGTGN?oX=O%Syw{+MRNm$tn-d#e+gX>M*l zv+}Fp9rmiQwzf8h)q@}S5EDS7<}iqYg@pyE=o>#iUL%jz01Cw?R&?$LA8bu0G9TxE z#&uz#w;%X#Gxsmq69Sw*J#9dPq2xYqqhybaR=JtOWTOvIep^sa&z-SdwIsejQ*PK< z+-srxMq%npdva{d$}KxaMwI8|wTHp_!_SAYSFy##@3XVD2;Q(H?3aKix*t;QyU<(~ z1yy-mN?u3bSGrfC$plJ0x&N4ln&IZl#`6PW*uDC|{o*m)7yfdlJ-q=RNDUPq*pvnd zbifGeif|^-U=g=i?n6`HH4tFe5#BJ}(L7x%83g8J0(NN+gJ4TfnkEGy_P{RcuVCm9 zxM$KE{bbOGaksffN%c3lZF1{BTZ>yTU6hp&dR}E! zEYcQP70%3wb`U5+rzQ)>k_VcWjpC$s_p>uIO@s`9?4B+AX3xsZaE&Bf6WW@dYxJ(q z-`4$d&&N}N%PVQo?sgOP_2(&5z+~PIOO-bXM853e35#I5egDPi<0m($DC^yK zPe>KsN85ZJjjLFXRx%C!{hp$)uU{E@o>oib0(QZt@gfFU^54*0xqQ%jsW1?vFU4>v zq~h}&eVf$xdWnPefV6u~1~m>{*OEbM!{7+snHVANp32TmJwt z_SExEEI$}JxJvc#cp>Fk*!g~ZLIQaeIMVi9+}#^gTpnK*YpB#-lJlqNPEP0v!lU`G zHaVN)pbehW%E*(x)xLWDf>9SMO5n!vPZd21vQpU-a8@pXfq~_zUcY6a(a|&=u^%X5 z)ENH;G(t5?6z((tD;t&aVVac(z$$BNH8I#D9CU2s_8r09-QCZ)xDq|^v<`un@rpwB zHMHZc5R=8q$|Tn~$48Ns(mv&bj9oI_;#bPcq~qeCg*XR}n<7dmiRt70K(5{-K=dmb z^K@vJ{3@C;yTQ7xL~@G%;3y`XWMIK6*6*idO)F-#-H!+IlXWzcD?xC znV3rL!|oS{cyD@Ix>l~CfE|R02M2Gqkt2f3j*yr{zAnrpC-qg;L>)Wy&m=k zfzdSnJ~PAHFcnxPB|*!a``J_wB$=~tnjF0MOJ|r&hx0vYWltvSk;7P&{|iksQDp?C zTAZy`pE-h@5DoyiTxtIxSgmRDgLTC{dHFYv7FyHq-*ZGVGcqydvrbxZ$S5lIe*H>; z-|~~yF0if`_V5F6a;|Ouc(&p+@N=e7vd%IA+&|q=I|4^meIq}JMX*^a$jQZFAv82J zjhrc`;Zacvb(SjlE%tS+bp?wS->X*|D~;Ai642o!m~VC^FT@@W{|SG6jcW)ER7O1~ z*1O)H3O(KU+wpF&1FZV+WTjyB34Vu7LuCIdu^tK3aU1uN%~@vaDLZtgPj}o|uh}&% zdyH%Gy{*P<51?USV0gIOch7AapB)}fnGE`d6hBx$egb!L8n54&h`6A9`1d+?8JSsoSDmG`yh#^OM2;45k7`k8PR3)D2iu)36AoNv=@t*)4b=>`YaYEwY zU%#-mQ>H9y<*QcB(Pds z?7mgvi@p2(IZ8p12u|MbrLSnOqyG~MRNhlRIFGmn_=?PWtp29gt*g@)_<@ux#TYYx z6jC7^`#v-C3M&G0vkN&Z%+AifyI`KR&{GL6`sK__MTx*LYu!KsS)%z8v|oYyPeG6= zl~{H1S}oFVXdRzci#s4npvA*{y)r{!2^`$}tyFw$>%4rfVL_EqvsmoTdmDA=JaoGdOzwcbo4g{RWg`Y`$!74IPi}mB3du;zV0w{px9`+24@zwV>ru zkzbB#*#@ui_=%=>&;iIP{oR&q(4wTgVYBEYT=8BpVtp2GtC zYrQ+8m4FFv6D5Xu&T6Z-niblcUF^WI(un4xPScH&|G8@z%}U+t1r#EHHS$RTqM(Bi z3i9_9h($k=VSxrUY?w{{#c$0ASi_0+^&>8x6xPiEmZ7_MsNZ5&M{)%KvE#lxW5 z*R6+AzH$u5*2L-gLlVKJr~SH$K5LXS1_U)ZIXNK%*xt*l+GrjO<=|Re>i>9~W|$@HU!!HP>rAp2zrl|hFMYJ?Yn`$E31RmcFz?7R?=EC>KgMJZh8^Mtd3Ln8OrLI~duWx<*nXOn8Y+M7)+2WUl5|3gM z{`k))SkdfVXbbnskS7I8z~L8l?W%~x!gJGaw&SLa6-e4@U8eO;Vv$DS~x@TVckQ;YXLN1;-s7~{Z@M32jud!sw= zmPYm9WdtUqfR**r{(3b$7iBg_n4|t2QA5E`^vtD?|Q0JtE$p8 zjbZO{$onV%$^DV4jz@4bpC1@U z4wCJ^HXwU`@AS}6`hI=2Gr=c2DvEl_-$CVxO-qzZ-2_{{8d(Ov$54BGwo|l7&s6S} z@h6oxJQ|Kn6Vtice$=dZnMDC6|Naufaug|m?)zFx(BU=8mbKrs4r)p?tkJUy#1}4X z4f%}i%~OReJ&Kr{%V-ZUw>lyqolB4{oUNzoKohT})i{&1)TCxl*h=eM))a8oe?^}o ze63^f1Q8*KdJ*iK49K>C6rj$)nzL-5`Jk+daeQ%@v)!9i)Rg5uPPhyWJ>a$(5amM8bRh5IPy5r>n z9~nYxVDuXFKq7YRiJny#fmps2IFrU8{UHv^Z=dE-$Cdekt-bkRqSb3Uk0q@=SVh}3Yc_Ss2xCBTAEUrJM7Fxim~R6^*`yZ8MsKM5Gjp4Z3nYz(}bf7CmOg^U{{4##p1w;j+(Nh0a*?NVT^4FoVp=kKVs2@f zh+979u_Ba=y7=elkVEOEgd@Sq&2}eT#~kEE(sZeZYgb4lu^}E^#}OA<)k^!02h&N! zIZgoq0kXxw4$_F+A*;Dd-B3{>CjvuYcB$jU+wh_1^X2CQl+zuJ%guVKYfqIpG3o3} zyLnkoiP!*Ii4l=GF7IylI)4{NjLd+b|1C$|0@^rN!oU6WD~Oca0qODKrV*a({$OQ zKChEaU@7JPuCejCy2u+|I^0gM;h0OEDZ%GUFrlcV(7J+s$>~^qpugX^#58tt^z`eO zF9Bws%)?=8&F@DpO;!+|6?^YaQ@z7;>;TQ%ZE>@74=Q-=f&PuqyOIe4n2fUvL< zR=Dl4dJ`@#wHmOCys28D?MA$HTh2qg)<`#jOhY@1cf;P#e!H;OZ>j2@ZGZh`3FE#M zI9BDbHFKKQ=VQe|oh=q#!d=#E%49@=#CZHw`lpWOALj$O(;f3!`}+HTIfMVfP!|Q$ zC6i~ifhtgkN=+5mr6pb1RriWl*m<@KLh%6dh%O>YKnHz`ma$rVexV0}>Ay8UKM#UL z*a7GImyzja>0qJ5|#^$^JIV$X8nTIt^Sme&AOWHu_!L87} z0v_c0Z=`r{W1;g&7&{nRFuW=yE&WZRVSVP}bjt~eta{27_q%HT*3uIE_}lf+m-F(E z-m|0XJtlu>TvyU88~t9-70DdDW+LY`+L<7a)0pVLs&x3rJEJoqP)9^iNT>^In5(e& zejvD$SnXK0hEl%~ZD-fyPLyjE)`p&(z0Nk z7<*9a9B@mv!tZcUtkngRu6+5&+skEoB!`y!^JVn)g-FV!TkNlkQgh}TK?qSJ`YvQ_ z6zLb3k1Aj%#;?v5<2!X=t$B*nOq~3Vd{!G}=RbwVq?-&Zj)sey{H~YK@71J}{g|4p z{^k(+Bl`&j&2zi-l5gRZRe}4W3LDJOr=gA2ho7y9LBxy70pFxoyDWQ-YG9CrDlad#_Ynt{(q)f$DGBYz%YQ4zAdTe+t-E(p0;(RmhhaocS!ERRTHOb5K-y)xsA=RsR(MzLq?M*AftC0jfSDCYy%wY5;z);#fV zI!AH%o*sz1y?s9G_uOy~i-t3Z=l{F4oqBXhb;;oMsY}_Rxz~xjSx*7cGSI}S+eZ8k DeY6Cb diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Laptop.png b/shine-UI/assets/emoji/telegram-previews/Objects/Laptop.png deleted file mode 100644 index eaa5c0119e7ba0244fe093ce16a60903802b6c7408829d2e3eced9113117710e..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8017 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Light Bulb.png b/shine-UI/assets/emoji/telegram-previews/Objects/Light Bulb.png deleted file mode 100644 index e29d84268924b9795f240f85ecd8f6b6a1145ed3cd5802901e15f8c91a6cfe47..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7123 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 JPDHLkV1jR}Bl`dV diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Locked With Key.png b/shine-UI/assets/emoji/telegram-previews/Objects/Locked With Key.png deleted file mode 100644 index b11e283a1e95a5cfc3abff5a742d3c4706cb4e14b00bfcf0ca772b6a6fb3e0dd..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10268 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Magnifying Glass Tilted Right.png b/shine-UI/assets/emoji/telegram-previews/Objects/Magnifying Glass Tilted Right.png deleted file mode 100644 index 7635fd1813134b39aa274adc5cfa05b3c972a5005c37ae0225a87cf63610ded5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9243 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Megaphone.png b/shine-UI/assets/emoji/telegram-previews/Objects/Megaphone.png deleted file mode 100644 index f93a854ca7067a8b32b1d31401520f411ba1973ab64ee4cb90fa97743bcc1987..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9851 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Memo.png b/shine-UI/assets/emoji/telegram-previews/Objects/Memo.png deleted file mode 100644 index b03f3926936bd524102b65a2ef1c5a4fc0c31e381a31a54c9faf0062307a0bb5..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11809 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 C(?hcW diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Microscope.png b/shine-UI/assets/emoji/telegram-previews/Objects/Microscope.png deleted file mode 100644 index 015150c546bd465c8374d470d1350bd748fedaae22abcb406984a1f7ef4efc0b..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9921 zcmZ8{XEJS9cqK@99cY^4m_a41>qD6>aq7FgS=w%YaqlW0c_Z~$5 z&+p^=p6isa_jUHZ*IM^lJ61zYo)DiB9{>PCMFm+c^w;cv4;TmiUi@*oE6YQU$S7KZXpR>L&ID7$;nAtz)^~-T2v8$DUL5sPfy2-9Q}}CH)+>rf7h_% zcZDaFM zfsuijknj{6Fp)?Fx$5e=q*-lZ3NHH8*E(hM^x49Vh88)K6qrdJATq&vaB6YCow33~ zbkP@=mz==O2=qQF4)a`{~kJk*cc`E_F`aRw6H+PfAc%M^_Xwk z+1S_+!Nb8E{gG-OEpd-Pqhb${YKbj*HnX@o$#6RlsqUae=mm8-khh+IE+Z z9T`!iU^Z0x>TOl`+OK$;jKPb-sHmv2@E$XhOR@eioV&J!Wp=T@8n~Fr+vnGN#+-U7 zPV?q~Ig8SF21P3`FE6dct{q%e<@B1zo9V8;(LAwNGy#XYX=!9%J3DFPip;zPqUvo% zNs-*;rFH__?LF(K3p?Iz!8vMWAKAee1b-d0h=CtWe*VSP6~270zJ);<>V~p{i=Xie z#BQ7HtxAL4+%1(B{I>nEf$z?X!fwlfhimbscSSQzPHp8C28@(cRKM!12CJr~-fHUU zHDB55AEr$iQpY!;HzpY`QCE38#&>=FetzpB%S=j2aRUP{ zP{}c<)yp3%SJ!fKa@f0vVxiHr0Z`gzg81xxO+C#7jUZaJ9O2l!JX-Vlr>t!F=PfNl zMn7Do)EG&(RVUgPo1C0LA&#JLm0!aHi`VB3Bg~SjoD5?>59*y%WD1?l{r;rm?yq5J zpf<(PMYP|%5OaQi4|h8NvrjNXG01gwlUaT(mF4$pEVKR-F4AK`9J;o z;ss--iZu8;Rd;Tale!V%?c)}%B$!mpmvmqJq0P5`{f3u=kT8^L`rB%uWc8n^acPTF z1JTA~gJKctPUSiIg@XX;@P5cUS9FNoz&@cLJE`UY3l$dEcj#wIFg0?%#aCbhR?D* zxo->%u$7QZ@W2P^5eOlDdH;#O7z-=@O6wF81yx5#N{S{+9XoYj`8wPgSPuT0%CS3a ze|2>*H;}eP9&DJb=XyKe?C4IG`CpcK@47d#q(7M@(pg`FpD@a<$D4w0qVKOGM7)Md z*}n3%h*&J${rLy;FLr4WVJFbg^e8{usMyd#b9{`MCS%BoCU9D55aB<8@xN}lJXjbI zzuW9;kt;fDZmu#|*GbP%{N93f>a*b5LdH^ufwCU+#B8XScKKiTzaOx^hAynQAUXjeYHFTmFqi28q;})M27L45(^u-bcKVbP*?WBhi4T8CC3c|uk zarkqiP={|kJf3J}MXkT|UxgEewFIS+;j9vGJy8{`y1#wg4ZY4H1yY?x?v4jAw`4}z z9!IAo@;_z!k6wPH$_*LiD)S`gY^I8I+21hAMH!~7rW?D$qY;#2{4`l9u|W`I z1d=+07s?GC0Xc(mKnoxbYFk8Han_r66R;nWY$@FDJf$tbIu{?vN~Xy>Mph7=D(84q#<3n zC#*9ZQB5^QNDyU(%U#+(;)zmjbf|}`g4#TG8 z#_1Y4Wo3f@1_uZJ{^cXY!jMh35`e>hlr%M6#&-B$sTtwrpS-z>kn{H!Ih<+XJ-lf3 zzwDS%C8ieb-gkILKfOO3@hJ>h%f3^JH_>2jAizF|;i2Dm8V3PZAhKX^PfsSM@q`&A zj>=$&l>xd#OYPqK1wdMaX!)8Oy1l6#=bH!{8yl0!pF1~Gk&~1ExWAlV^=?x{*QBJZ zoT9)ejsv79M0A$$!RA*iQ#$h?=(L4qDJo-p!qx zK$cBJ-3P=}ZFqpqt(Z)K-cYM|WBiz{703p5{dCO5x|JCsW}F*MN}@tUE9J+JA8qX& z!w?k(5!S}3Aw?{(2s2AdEcEt*5EH+uudjdPy+gF$u{_o$*Ai9f>!wMxj6zO=`9y3ExW*E}kP*?B_Oq2>6ue%{Pp%${Zt8=-Pz?p&I(=9;B6~`%NHy)!Z5n*&fX1O;8OQtG#I$#`WCmfV!>CdR zSBk-(|9U~3@mF};D~TSjMFgCv(w&fXG~9jkSfh6?tdR%=H0K4HF59W%K^<_EfRL76_s;IO-{igQ&lER1_CdgGYEP@=p3ev zl6s4z?*fiZ+W(%tV&QrvV*(qlTY7pYKZ}5R9`8q$+8^|%ykMkFk`UqLJ^%Un3tb>404)~u zBSj{OuFbZ6IObK(sA2b=rfHU$R8?Za$e6}%Mqv-uL5VUf6!*0fR1;Qh{JoKX##uNx z!`Ml{BcKspGbqs@4=;ULrdMke;iuOMX}wH}1!+J;_u=W<(7-wv3llAyE&Ti_S6%-x ztgBA^>g5$s&-eK7ro~ZnKKI#K^EI;W#22* z)EK>fh&n5zVPK3AQe|0pb92B|B&RvZo{|+6Ha*pzn1Fk3aI;TDC~Ly7!q?%?OS1($ zkw0?~7SPAIg@U6_IaGh z5c65|=+SD2tfk&*#m2{IR+cg_CpnsFqN$v51LHn;aC^_q-F{{$F36pG-{i}Mz=Re)akfS5#-%CqsbO9$lr#F3X)*GjZ91ji;OFj}_=<66M z=uAkxn>71E;yJwy|m9;|@W-e*%-mu%SjEkQR{G+2=d; z6ETiUG1<%ByaG;h5m8Y%8f;R{p41XS7!Mj0jT{`djwWHLXZ9Og|%SS1gl#VUmBPd=Fug;(_hpOa&TL*5C$t8w_1 z{>^a3+h3AZPA&0Snfle5rpps%I%0`mU5S0J!uF-m;_6s4K zLe%w8#MhVR4tCtAu=n!{#aoip1TZX*thltoo_YIS2iYpcfStm2yEQ(8x$RaC9#i>kbBBJOG5);Q@Rp)jrkD$Ja9cSCBU% zA|*@J)ef9bN*_n6KJM)7gg_bOz(Rs!!PVcgbYsJ7+7+U3Mpm7g+i{iW--f#3tj)mC zbbv4`#Yau8Qs9i+3xBdTczTB~&qDT7Lkr~?kiOw3T8G&8x!%l3$uRAhMu#58ruMkxR;P<#BCJ`u3`LUHDB_?3&?s^;5 z*SFkaf3a8E^!ZhG-y8X_GBWFB`40~gcR#uRhIf>yYb#k@X7i|mLlG4$L&RrclC%({ z5h1|wQa#n7kOBn?d41XJdwqRWx@FDDde)I}8t5=x-BI1vHb3B89$!^Tjm4d%!fXYd zNoDL|QbsE?UhPi`%v)m}$8rY`*Ss;P?E(ZFX$2o6{truhXl)_Er@B(Rm(M;wd$gNc zm|a|4RC`OYqaJ)S@#koT3acArKu@qOa%;| z=IVXqr%zAf4!kHLFi8IT4FTxo*9e<^kGv+Yep);up)u6 zlv$}Z<})Bgt;`AVXIvR`boAa_kqkCBHqN!RwYAu7@H1u?X!}~!RC+wKiY(*JN2-B* z$S~a5KF_78Fqc#eunG(FNTX1F{Tu&&@C&^bC+{E5U4cYK9VYuIW#|lxx{jj6Z=?WE zv>WzlfXB3GY+O}Uy?a!5c6Qd<`p(%+Oc%?<0rag0E2q0YA38EtCezURu9@aq8)pKfm4KfW~xoLmSdZenUlS zR8#QnG8hCVA;Q9n_ABZ0*&$c*U{lrb@p3oy;)pdoOWU zXk?(-Bj~a;MBco8uAURL_Dg}Wt{uICZ*U?oflkPZArJ&vA)nyG1u+7(9qNw-w+Q0_WvlFX3g`Bf5>oA6W;e-fl4|HD@K*}br{rc-jt=9_fHrYzA_72qB3C_4PlukG2~k%mfD)m$JuyA6;xYDyL~^XlVkwRG5P9v-pcy^d(gWWqZd~&U|5z zC%n89GhM+Fg=ynWx=xAfaNi1@z3RHUI?;^5$@_6-uGvRT8PT~}){Ca5v%({1aZ@&^ z^canZ_X%2rEiEo`6#Z7KV3}h$oNbI>yz5+^|If*LdFvyUueo{3&x1h#76PTFtw|zI zQvcnvT6lVMmd@pM95i%vc-Yz$8Z~8)cs?P1IkjA& z@NltcZb7lAfzD584I5#-!@|Mwt5h}nhaDwF{+HrJGcnhHD1SdcA}idMpl|4*&|Asa zSY*bg>pHys2W8g;-%xXCp%iqDKH{>?YC5RP@Mz)UrN}6#n>a6c>Ad@X`N*!y!M0_8 zWO*|&7f&MCI1}D3WU{Rnt*#J`L_VJFm_F>{7Ukw@O()VEWbNTX(3t@`I{0wxdp3!7 z-!@bpyQef*ezLK##Vl{XWMX1cuopI30v75Z^9`?gc|U5Gsgu-9D`SL)ti#o?Lx|IK z(@N<4|9;o2E0xa@d~Iw@bASv!Z9dl4y*Kq}f4G{|P2;jN($Up2e)o<7e@no1#5sX! zg3hq>!bz8E$!)%8@$ope>+;s4c{ynR+fe@cC#+E&sckt;Fi7q#RGrc7AV6ZX?k*aY z_jui%YMW*f8`Mqi(mxb_(mR^xS6y^1e3e@qgEw$#5-Bm`(|%RaQC72 z_odL+!oshE))J?(B#!nDWL+Fyby1ldfH+wpdcpw_13#JsMna zUn#OkyF8sP$S>rioFOf!%1WX>KCnxXnG^R!b)sVau;?>WWKnBX+CE~Bmxod6b=QEEg>8hs)JqLCfL)eyY*Uj9Xh=%2;mn%#6u7Z(@n>(=w=Q9({q zT9H8Km0Wy!TRZ2cX!~JfbF(l=laLx{Vmz0G<-7I~F|OCE@3$`XQOheiAoA3h&!2lJ ziKweQoc%fds?Jqi*&DaTH2(7^85#{GM>}m!&(8hb)>f3^9&7Nm3GL)|leMeu@vSUj zb30)nuWCAzE;=YigqF`j^-#ex0Ksyw(-LGCV1FQ6+y2Pg+^`rHEi61^XuyKn7l;Rsz-<>*=1*s5OdLZNPrcwWGEOvcXENL^A!X$=hF$iPuXayQZJxxo zP!4hvNU_3gOqqJ_K9EPA2{_vu4!q}ev$MB=sDF3>c4zpes#|ECUZpdvoUiTlWN`aD zi1u1FCNnC%+uJvv!$6JZ%Q+_!V}&p%Ymi~rt@WNn;w=esE5xq(9TPvCaE(SHuh4^U zb@NC|R)V^1hN;h)p?rFi@ndhx?}zL+eQ(a+?Puo}EURymdVtBvl3TOv*L01RWZ7H9 zYZ{7pxTwX8n77ybgzs~^ZhmpmE1JI{*U|%nZ=Y=cGq=y0n3#T9=CxfY ze|&p)|9eEOqVhei|Dcm15uw*Py7M2`D(Hx-lN=AI^V)0A{$7X9X#|PaAj-+IvY2x` z(EfK}U3)4Xr*wh4hmU55&F^vDC0<;AZyb*R-R!AF0Oj5PZ--m$Z+l$ZaS$Cfs_*24 zJ9U7uw5&9FpSYl^3WKZjABKHamK4+TbgQD0?|4t@c`0bKB~7@A6FjEoC0NvdTHj)l z_lP*#In;kx^hlCqJ_y|ZRzZZuC3HIJC3fe!_VqVS(xvg2lN@-UeYmxKac5KdK%Ddh zD|s699Vt<~t2qU5N)qZPBdCO6tCaO{!Xz6;#5TiQYmd!!V#iGSf*OMj#7!X2j1YzmZj6h(c=Sj@Y?VJMf8v^ zZa6zR`D-ggn- zC(JYvDZw3)-3yM?6*{D;jG-Pur&26Z>_YJ^5%^n{(rSw7+%(zPHUdpXT}H*@h%c%Y z!Vxt0&bQk{vgm0txa|9R`WS#A87Ipyj`n&K^z@!()7|b%1U1xnoz|gjNIiOZF}JhV z5nGpAJ}s!t)pWa*iW&AyW#;ngeap=_E7yU{uQXAm>ocL4EU&oa>=aoc$aej=Bd52n z|N71U=F|Kv&2B>O4}!LdSU`U~DdT(1p^Ee}yc5>2ptQE{jf;3=M4U=w@W^xVARc?BqrDD1vbZWdx zfEl3U@o}CA>BwZO=Wz_He<~(? z&R(h)S?%Iiy$i;4v^G8P!|OAj5vZuF-l#uqut7Uxhi$w0VsJ4+ccvHll`ZA>E;yN4 zSy}Fj&R0Cy-@Ove1QlSf$TKR(_b;SVS*YhRKETIg|9IGpTrB!b7}L#J!w=reCVz9z ze`z|c!#6!;zJ5bxX22W+O}4_@#=SXRP^Xg*aK~@-Y6Nd=G0?`F+xn0(#UoBHmt%{{ zYq1tqVT_+VNr1%lf~sP&sDWHlYGIc7sE2{$4-2=%dWcJpNx{v^%1W`G-d^2aH)mj* zDgye7Opf(x`$p5~UEE!J0JtaRi!z+Io;SeWJuERXp}!(cxYljGug_7D@;7l1f^m4b zKc`Tl-TPW;daV@)ZDkimSoYCiaSMqh^1e(mvvh?nxUFa|=<7_xL~Xv()JVo%<%Xv2 z?#B$i!%M>?y!d!G)-nMP@`f>QlQroWAnSn>)5C@i1E2u-i4LUSS<3lhV0}dUrlAXf zbRje@K3>ksipj%YbmQ;t#KuXXjHj6yfOeeEFa1Nb{EnjtgD=;m+F><#E?a1ZpK4lu zbo`X5kZ022*uuib&d{`JS!`grnW-_OwiSc>jGB|7=g>P`i4?};7!Bx`E)pgP>ocBoBAI5K~feLc)jP=i4?wjqQY5Cd9>Kg0+QJDi$s0^$3JwwhFB&x zV+zRtJpBV7L;`!lh@XB==WdpO`3AP2spt;}^6)~&?HV@7sUa7}sH_1C)p#E9UoAGQ zTM{f;ffZ|=j-a>HU<=p60O6)VH5fvl;9CaD_U*+ho3b#2fBg7^36t(75x}xBOMF4$ z5wikGx9c5SSEw8?0F6JaCDGorO=~~tCx?jb-bDu#oclhWFZv6h-hUV2(++Gy9Fn7$50XQTC3O-SJe7j=NWda5b2~J~! zKpk*P={lk-t^HidAydRqC-eDnQ3)w5H5m)bru9o^RvPN%tvS>C;FGl^k**8BP|0e` z9p8C>iE+L%sw;Sy{C((MYEiEiSw>nxZ2=Z-^E2tx6>i*gE2-w(ArMht4?Rq_j}O2| z1+a!yzF9G5!QN-t2_W162A)7;sX7p|q@)y9Hy$UiR0bbx{l{}G5`+BE_^}iAm=J)T z+WFToF7D0GKO5LDC3OD$>!0r8OStsDk?LUvvhzPZ;Oh)>7}=1=ki-m$XFkPw{8h9h3}sW(^JXna$)3q;+rW zYUEHwOn>WUdh&xwvS^J5o%Tp~!(dkOHbMiC@0#?SJU67u*K$)P{{*f+U3{e4y%aFtgTd^$DtC-N1WIBS_W8A1os9Nc-SG@bM&KmD^~LdF zj-bdnv+YthG)1xRUkUihx#pgzZGw@2x1ftoX0nqaMhf@MRzg?=%qgP3(e&AMrW}5Dl7H< s8TeEzGEr=reE0ty{KCF*`TdBS{fS%awCQOM`e+)UD5oY{Eo~O|e=6$sJpcdz diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Military Helmet.png b/shine-UI/assets/emoji/telegram-previews/Objects/Military Helmet.png deleted file mode 100644 index 6e578f5c32b275484161c04862cae72e3a36f7f47e225c831811cd973d212e0f..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9494 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 QKL7v#07*qoM6N<$f@K(5=l}o! diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Mobile Phone.png b/shine-UI/assets/emoji/telegram-previews/Objects/Mobile Phone.png deleted file mode 100644 index 0ebd8510eb8dee0fd4ab1c17ea1783e1bd3bfd3cbd3abb29315f587a08a8b184..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7537 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 Hu0mjfAx3RF diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Money Bag.png b/shine-UI/assets/emoji/telegram-previews/Objects/Money Bag.png deleted file mode 100644 index 7b7aba8987ac4dc58d8443916c8405a256b9c46bbee09da46f2b2f62a799db9a..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9553 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Objects/Money With Wings.png b/shine-UI/assets/emoji/telegram-previews/Objects/Money With Wings.png deleted file mode 100644 index 7a62df08e15606dbd514d034413c70c3029fd5efb17a07c79d8959d56adb87ba..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15986 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Black Cat.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Black Cat.png deleted file mode 100644 index 560290b797444f7140cd25e345b6d6da1686408fefa98341badcbb046f793eef..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8741 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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Blossom.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Blossom.png deleted file mode 100644 index 16edbef1b5a0b30ffad7c5cc1121a07cc9f036596c013a99f6161fda3dc50cb0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14228 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�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 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Butterfly.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Butterfly.png deleted file mode 100644 index 51d433a5a6acd9fb8a955710938d9d2df3a675efd78f7a4f45b11c2a7b292c28..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11503 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 V48Fx+o@M|5002ovPDHLkV1f`~s{sH2 diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cactus.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cactus.png deleted file mode 100644 index 0a10a8ced8b97dbe551b8b774e66cf42912c657f69e5a482d680b4405d88c042..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9717 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 DCCqyi diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat Face.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat Face.png deleted file mode 100644 index 4e51f8d75736b345c70fb8eef921540e86e7c39c9227383416dfe0aedc727bb0..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11007 zcmV((TdM$48h+wy=7#()WfWuP%HuvkfhgbC20A&(&rfwoB}bXK}h zC(sPB)BW-oSLbygu`$w12&2ttJH(j5j*KT{JjfcXl2miu@tm{w{=GlWxh0VvvKm#e z(ocJ>v#xaO)~$W^Z~wl(>HFIUPLI>$^f*0EkJIDyI6Y2})8q6wJx-7RZHAn_m#1k= zPGSIdZO7g|NwjM__Mh2Jh)!Zom^-Tf%!HttPyEDjstaSVVg8$Y+4bMv%PFZ^I*E~; zgui)*e6S9$ZS~E4k@a`isNVI`H$M08<*GZ~iNd%8!p@z9r*)%%+%bv0YA5c5&0}u; z&5?^;+TMoe`Sr59tdHFB%1`P$Cf|>& zqn4p@gN+PNKHj6_;;p~($@G!QNz6*kH(IG1x?>W{PTZ2jSFRrN(Z;Pdi))cdlSn)5 zU|X}{f~9GH!R*oGx4&}h?)$&?8{AwjRc?9d$NT$#k%CY~*nyFq_?^J**ELpkI_(`~ z=FQfI=d3w1ra4ikK4z&8J69?P!HJ(fX5ytI?q$Fu+raGP6cfO*N;!Gi=qiheoMb7s zR1+#q%j%7#;GKk-V@=zBD!XLqQ2UajGyV5{`K{b!D)A>@`LXN)fZMMm+IA;iKv#Nd zw_k}B!2$m3zs2Uz;qC3E&abap9j_f(S7v0*kdCYkJ}zN`rY2-2a!J5S(2-R}j!wC4 zz{jQ^Ub(rgCyqZVr0C6t!U_UB+TxU zXy)KFM-KI}0H3LhmjC0w_)zl1KqGdX01qc?TnFEE=XIlJbXxQ8QRO$*ol$F!ZEi5O zG4{0~Be>MG=L0iG9Y+uMSy~93cad<$Sw0;6sWBGf2AKH8 z->$EbZtt#&h!e07-(=SFNge~6LchGuE-N1x21qmRyU z_|Vdl1pBAG@#aT&e0Y9Qw`18&I2moY{Ys*%?!?{msb|NB@7?nr>-pVvXVk{Ww+yr9 zoQ5lxvAxAqo_eCk{>K)Xp33O;JtJcV^@gBa{Rv*hJ<9vKhy{gn|>JJ?Zk+ni~s7Jpq42?ycT{BEfL@dq2 z++4;_emuh?4=!;2C8Kh|ObM(9;4^G{B+gt3%nisA69l8Ec?|%i7 zc5TP**ol9?s(kY;(feI+|9;D5Yvim;H@eEG*w(S7XwP>Scd|8)BC0i67!kh2?i`+I9^Z+%Pr+40rof3fcJ&AMUh>Y!;qdg$(h{P_FR zWZjfC6PEF_Bcd4Mnx)!+ph}u45l|{A)tX^p))AG3az)YLHmsy)u%cd2DfHKr$`K-l z)`C*42T+4|9@T*N0>MzLD_I7;zA`cjwYp($y3cpN_9TZMZ*lp{wwQGnj59QGS@!t% z9(nH6Pp0qw`fu24uKF+jJG-`1T7BVvAC88mkjp(Hv_5=+OT);?R{e}{AGb!Kte;?$z zFU#0+#d-FeZI=e;wfy9d5B>F5-^w4jKD_|r0+j$3p=Xqql#QloGI`cBHdeP@eW|y> zM-Scg6!(1n5o*JRu?d3_k9P)Z6a?ZZ!UqK(FcKqTKoun5qd*jccZv@pSS6@bS29Fd zQ3wi3NhJ4eLjY@(;FORlss^tCAIRTx0jmb1;DSLlKmgT@(Xp6L%W>Z~A7T3ODUzgb z(ymhx?C4nKgVmu5wiIEk!5Bjb0iSw$?Sz@d4*P$4Sf>w7+qhEZ;Jzh>hYdr+mf#(N zU_?-bfPgVLpP~ZRD-gg0R07@^R0OXI7>p=JS9Z--^vgtWs-P&wfOp_Ca86Lj7vF>T znj7UH1kD!%461@p0EATGR8a+gPW))TOnMQ7VJfEG80AMKy;*d_VyW9u44)Vyt4E;ysATV=h%i zWo1((E9!=#q=F(gS8wkHmkHhl6vYJvpWA{g2zbS-7=riUat#%upr96v0;$Jmf&ikZ1VBy33d&$b-B1GyJ{44jI8w4SBg+iV(3YQ7}mM85f!>fka{7akJaLz`m!&OuQAt=rp@EM{BXb+{2l3-j0;z2-E5Mlxq zFfpkq6HEosGNxK$WK)IFGl$unoXh;-7Ka{uoax7&qTluyW2r_4^*Pi84WL30utxAn zp#f?MnFsvR&uqF=34*+dX44D^hDy!TY2}OTG6gX>uMh@sAuLRJOtr*CSDnxL3pWv0 zW7G+0q97@OIcz$QhFR3NAfyF8=Wr%kT&BoJ1@gRw!~|O=mL?L9zN0@rz2(_Nj9JiU=>Q0#@aES{p#oO)ZPO;eCI<6@n<32o*uZVep7pzz}4RRWyiz&Alpz2Y77~eUJwIfJ*6X-fJsj}gsvlv}F!F}KO5yuY9F}AjXloLb+MR18>Xh;Z| zl6C`S<}=O2m}ea z@2?B^-U7}XB(7YD(^W*H6`uE+=d5|JF{YFU7{;Jfz~qK}kdzPNK^>}s1dphLkfPop-eJTeA&)gg zAozJg>uzjiGe)-(EL{GIE4b&@yE*d25k^;6NE5*rWvD5dv_(2y?UskCPe7OLyYevN zWQSRys*X-hVlLk~)%C$X+FKN=6|41O=yV`UB05Wf3t#vQ)?auAY3ecV7@>6+#w|cp zV26NMgRv2jtrEvWL{Xh6E@R>nHfmsP6%$8DT*1V3Of-bCO^g}Bm?5lfVr(62%2?CD zM0HG5#n^IgJ4|jkj1|;E+J7AF{s;*UZ{V`4pUcpiQ96qW-HxMLH`JO&drM#(Prl+$ zx<`wcXGMltDPyv&_^u%4N9`q$*z4-GO41YBiy52F-@uvA-b#`*iy_aA!u!4w! zF_dGD@Ra;rtg|jCUTJ&EmWFq9#S{@n}|TghVkWE-x=MaUG2s z5H-LyAgV!B%LQZ0jV#1*zPND-i7IGR2rE9}cj6kvRg8%dV-Qh{@z_}KZWiDD zF{C}lCYqe{+zSwe^&2d%Z|N?Ah<+d7jtf_=l)GYX=tB?X0;pB&59VfFuQMmrX47aK zJ304R7f>1*A@t_(y?amsA_gHKB4A@o6k}}(Y=pHr?u)79w!m5-$^#-%MB>8v&)2~y zfCpR-4XQcjOOyv~#a>eZ<2@QjNapj@LMSTQ*5I?FNV=aiI-fHy+QR+^4=_L5Vr+HE z&dhmb$bJ_B+g30XUNH^WxsxzCiTUL}?HvlK?&&WY4*fI>L!%8QEHV|7uqGE^JICnuKgW4Eu8B7&S1I!SZCSsakhEUrCTSlV@jV(km zVk`OYM8_|&)%-QGg-~-wfkZ-<{uGl-ngkglmH#E;|OvQ7F||yY(yyDU>7g#g#0?{F4Y^$L<^(U%vf0 z4|Wr#)}OaV>O+;F=`qwDArir0FjzzkMhrrPP|X)eVnj+HrNU*5K&pt85bW~LMM}jE zE@PyOk$hLHDI-z=DHp#}#!$(lW|P|yBN0Yo3^7QYLy*Y>KNUqxt`R;xjHF#QoHL>I zu`>O3x&~nNg)7UaH7m?6HUNLK>wA~hYG&P-?X!g~5{z0z^W{(x&;*|zB@Jrp8`n~)$}fHMJ>|2da5hd!0bI2cfBWQ> zQ4oFg(1uZ>*cg*6BH9OI2)4lfB8M<|mF3qWPe2K3favUnAxD-qV#(@dP7ruBs?iC5@7xC#FaW#_WhGBdN|FTGg zo_cY>0DjWGd(Fg#stm7gdQCfoFjJKD6cdW-l}OIyB_OJKL4I%vMVT>|TApS$U~+uQ zVJj}mkcCD_Ub4&=y!iaG=9nB>RFD(xrz%QLiOH$OgT-eVrYr%I&4b6*Hm)U(x#BDD z96o#J3c`?CN%+xEJv;V>Umae*hEik<*#fG45X(Th2iNgrmPaIk;7|v_2P7|R zOL0k`kUB&|VQY%HEpLoM0KS8!i^JXRCN4s3Jc72oPcq3#< z3(cmw{Gz)}bx6Vk3F>813#UHaWV{cew>(<5|JBxnvV$L%93abXL}g{RX5 zsi4^0gJMv7&IQoxc1b&Jl5Ur@laO?J^m~1>%%fS(f*V*1qXkTA5ts#V?ik*Q9bUUu z>(%J;ufJpTVi8nV0ESjV0CLq%-1lzSST%-MH`lKMYYc7)d|E)rKj=mf@FMt3$Wq1i z16j|}Z)NmbJzOUt>$FJv^SERQGy}3_$jG6l2-u{&eB}liRC9OWC6s>_Mmpo2MQi}-Ajp^1iHy}oMO$--+3WBl|BU=VywJ#y&E zu~ECRv34XR-kIR$@`Aa@&tU(FWgM3YK2cm6$XW*N23)UC)^3w_I=G}o)?Y$h4{#t^ zjw~UD5FL-&hzc!{yq=5$6qj|$dTm0dOTW`4>2`6w4Bu6*g&FPA& zIc+7Riq8Tr1)mrW&qVy^TP%O{>5K=S$RO>Ib{wIb;*%u^OQ1;+K!jW?G=Y#5?`NPM zQ3XZQWT!;m>?HsTKa_x{ZlRqMIBwx*e?$J3o~1;hR$a?5h#i{N52B*r%X9`q>g8TR?RYr4QOiO$(%jN(+@XNDF8K zJ(M27xAA@vpR{pF7YPZU+TG<{ADQI~cQ$z2hdX@w%Q3Mvq*+cB3mOQbgcE9wQV?DZ z5V9q*B%`)!$gf#l7qirR^-92ySqb==>-^}7;UT-RxoRZ1EHmEEle_YI9QaSDpa)e# zfHV`z6~iaL=y`Z*9k<>3SM0gxcFx)QVkSR!1VV<-7SW^)E`!jA&__a+le9wNPWlXd z&YUB3!S^8Td@u@OG=7dNwdWSHjoS={oqK9wjZ z5v$8NL=?f9suENS;xL#Hu*odyoT*LJDVOb~cU(Js&VZ2cw3H;b?Zm69eBrI~(&|`) z$XdzLMI^Yq@SU@1F(LPa@?2N$acF?D74F_2adaW@_@fW<=uaOY1W%( zNn|dnjMeeZo8a0A`AHqQG1C)VAYJa{P*tK>IB+BoRN1?C@3NO+D=wnE8 z_>mOREZ?%i@{UDQM0O~!Pq$5V5Gx%s2a%^m%jdpKIDu+X-Q4ksu@kAi}R zTo}tE|m284uPCLm8cG-X6sr=_Q&Y5n~$uXX8QL&K|@;+HE1kG|UN!y6&VdDfFDI$iU<`5g! zt-;0-F3XUqY4Ghl$5&Lr@*qx@=PiXm&=d3_>*HcCwq}Vf8@`p?I10=T4lDVE(^4W0 zXI4uVv4Um^8nS{Eo5PIg@eo*opeE$>!D8`8#%f@MRpYA|9v(%lkaVgXI=slpc!Vvb z*v#f>>d*t}7KyiVK}8v)DY~FbNa*CAkV$|(&5?+qkqR~%rr8{#T(6V$`*b=fR#O^7 z`AQ3t6LN#1VbDQyTrITd#V5PGOCp)6rc8%&oqx3Z0QAD{E6GfKP!eE( zOV1UyY%DW9vp}o0#KOWn3yZT<%7JaaR0o$~Y=UYFbOFKwgcj;ssBfcTF@I0nxlqCa z_%?(NVwAYq=OtG(n4NFYOL{EKFVO3CS(;yD+jE;#Yekn$2+Q-AqG53PUIu+^As2)M z1qo^`SWD??i30{LI+-EOQor2j7IeA3ku%R!j~ll^5T=s1EGZ1tTm1U=GnhU$#nj=a zm^n7Z-beTG%5AH8#@0S*S~wyhpe%vTAz>cTMI*|+Zym73w2S2am{2{tmzW_P(*cibWu_aMu*%qXO3CatdET=et= zVg&**vp{=x!4X`R7rE8sHGm+9hfrj+2D?ZLV{8;+DFMPum0t&OdUDK{)1DT zzj=Zi|KKb_exam9SEgU1Z zf`+i1L(0FWj}6_z>C1^kq8_D12rZ1y3WI+f3L^}?sk?abrI+yH7j1-v2k9Jm7-J>Z zRvkDES}eTD7v2}--4kFGDWTqLe<_vV<|(LLdz4zaqJTkmJcYEv7Bjpy?9rN4|v^h$66Y-bYLru+|1qX&^IQ zjByx^QEVQ;vV{6HS3Zhbd-46MU{vWG+C%Vr@*vO(_}uLz6peXB8?6>QemR3U$Oj1o z6QeGK_EKuR;X&E4+n>zoUgjj&&mXc*YAygE4WuZvdI zT+KuNe(s16MM7kAMuK|48-mXvLA-!BxmLLhk`BJVgijXHWC^kq8NkMX?BMgpaC`ut z7wV!&utt^_n~?XiX~?~`5XetWDeRc~kUJJA!AAIC>9rFU=eoqk-U;x~N%RbxlR75! zO6-muyFEd^K0DRNr9OCHLa8w5W~aEZd=c|gN7R$Ma$(@E2GlFTfw~-sHGmJ2cRU8k z5BP8(PUy^94n0=lr}rxl-K#wIARO6OB5fJOOTOMZSpU2mUp1g192bz+VpANS$6%vK z&|=QVe+G)vA&{8aBYitN>)i0LxwSBe;c3Z+UR2nDp=xx~%#rlEnW>&xv%XH6R*6hn zP$7y)(y;924T9I)6l+0FGpNal59*5&xm5DPJ$V()qTG8=pYPlib7a<%r7m8B z88yq4D?RS^4N^O55vk)T7u}Kh;#AAR{SSIReG4>eYdL@GMU0G(V{AmX)#0flkMi9g z?q_x(NnDATKGNpc zQ;C$Dr9Xj`lRY~wTB!s3>J9q`Q&XLn?0>SVXKksY*)VA`hjW2A${XUMXkZw1IU_ot zEs6=KM&O6QHc_fMx1T6aYYY5n&lIIng-f1wF%#>yGQ4UPaU9WJ>d+jjP`ApXKYfHl zhhxq=r%FF97|$UPGy_dBDhP`?EfHCUmt_h>Apr04Qf1~9q(Zse#QET#d}zTg_5JtW z@z?Il`)(3*vPWx1E6@{=djWsxzW1r^_7nRbSa@f1w3LkxS7Plp$+CI+ZAB4Eu~4cQ zq7tYH1ZN7I&RNUN;VPz7MWqDPias)%SEfiAUsYvcah~?l60ZL+NA~3n6+THZQN*$N zCDeMFBX!bDKubAI5r=3(@Rp#CUf`Ey!U?I{jO*8ifzzuW!Si!dsM-pS%%Ltg70$Z$$1X%Pjc>% z6Ed$Pna2i0ts;z#!Psb^K5U8NRYXyVNA@oGeGjy38scl;vMc%cN*yd~SEf-OF5Hg% zyALg8uX}OzEA55km2*@5iN;th&8V5Zdwa6~5M%*{>o7hfjMOY~Y0x8lqmy;-N<$;okcm;1mfX80td-|o?CXS5d+di{hr7D`sBRfXXpOS6`rOL1f#4j+w3eT7;x3Qz29 zW&0jlihF84@Eg0b4^Li6^jlwB8EWE+w%bfzNwo7$+&yo5c6{&bp8J~(wss|E^I5}w z{RV5gON(;!NS|&m=Wo_(hFZl^DF;G;Ml&L=ma(NWQMp8HZBeiR^*vlNk3=OJYcA&_ zAA5*>hx(keX%qMF-OIIac_uHsq{q?yKc!L~LgT#IPc`@DedbB~DVp_IoKNW|o^mWC zT|=ku==5_ZV0aYPu5DoBMtF2@S7(nc*{boh68`AzpXU!Iw^Q1=n{1^T^<*WFgD+^? z(a59b`Vj28ruezY>9woZRVLEN(Ce$NT~*ehAr&i$v|4?7eFzv19TrMuc+s;AnOd+h z))vVxaTvOJe;rD7c!URMHgn^j?4jF&OD`Gbx88Op<)!-(HS`feFa#~5#Q}l1fR(`f zqHx>aC9IpUtXmx@NuW`))axa>uBru2_x*k?sNYAFStPO%i`$Sy`}WX!c10=tkxU#NRG}pIe1ik zFx4+ch~8LSx=sTxO2pNI@ADJ3yvX~a`UBEEb_hwuLF5w5=aB3}2e zp3jj3hq?8(eayAM#+Hh;R78kKFd;)ihNjBC1IlgRcRExr^P=Z9v^rGPjIy7avEj+X z9)cLM)U>A)H+wAoamVX}-Ln1OyZ$14^fk}twk+d~FMo!->iJvw_Eit#S7HO7^cPGP zl#CC&F}}F$^^ct4L%(;E`~D4YsJs!cuWj4phRK`w?#JI4z0-OB`##fSm0&L&t7Arn zW2!YFD#w)SmVF0P?s~XKR5M}Yn9<=1)~k~EK)VBTbKqQ=4V%Y#$;&R_yo)OYZQ*(~ z_Uu{Y?jP=F=I}HoZsu0DNOpGqh2S2mm?dCPHT=9$=qMj_xNcx6OJ7Z}vWwEEz zF6O7kn(?SqeciR6?cD!?Uo&s51p6vP|Ks(ab3eTCb>>ZAUM`jTyWaDe#YKK5Tl9+; zfGBXo>lyc$Pe(TXx7Yt=^4LeODgP&tP;R+%-@SA9!|8weHTw}~!)tInO3}rYOREb_0v*`*gyi7Kx}vgD&yKl$l4#Ff*%eg&>b<+dO&{J~ zI^SBo(GYI9?iT-@6CY7BIf>zpA`!UlfBYbyPyQ;eFv5pMoAIUV)+yubgRfNuL5z1n z^0Py8Vwc4r1`WZ4`B^b@PX#$N<+IGmCwf)=;CpW2=zs72cWuY4K88$BpxcXQ6`bhf zf8=%Mox#Y9dL{psou8q9!!_~&)KstkyuWTGVgXqx1N_lnlfRT8Uw!W_;d6iddbR>L zip0Nr{mt0}pL!ed+dobAj|uYqllgoG>5Uz`@w+A|wSH3l&ES)NGtso0hF3vjNU1e7 zR7xfcNIPkU>9sHmGl7FglqA(JQR6@SpEq;wz(qbWYx(}2=s$wpGI=F-=bgBZZfA!? z@|spl|MkwV(7o~X_JhIL&U3ZuG@LNX8xK8c}}xos+CHf>+xRb_MnsKl=Xa5O7drK z-sS#w@EzMv;wc=1&GXSWnrni})!i-rt@(zl{Fw>;uUvl%Ul^>z(-sHZxTErd>vr|; z+P;0ey*&QHpF44X{`)ua?UPyje+UyNs`{=sRW`MgaItr?(P>h5)-05y^aP{T``-TP z`Nb2T=C=}$8Ce#>o6PkDQ~#Zt+<*Ag_R(Qad&_U`&hA~QnBb(x4cA2P`N%bue+%%o zw-K|#4_uqPl1TrNO|xq|cJTPYm5%ZOK5|X;|NQam>`OV7o}x5>iW_#sm!6^7ga6de z1Dl-0T=Xz2Z3T9{+5|{|7_8oTBX7np^+?002ovPDHLkV1mJDh5G;i diff --git a/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat.png b/shine-UI/assets/emoji/telegram-previews/Animals and Nature/Cat.png deleted file mode 100644 index d75137d80be2f188003a9d96b2a0dbced86e1b41ce4282f5f1646e2373cd3fed..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12233 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