From ae02daf86ff78e1c1edad33a6228358ab5958d87 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Sun, 30 Jun 2024 13:00:04 -0600 Subject: [PATCH 1/5] Add move smart contract functionality --- packages/client/src/components/DevTools.ts | 19 +- packages/client/src/components/MapPanel.tsx | 168 +++++++++++++++--- packages/client/src/lib/mud/createBurner.ts | 18 +- .../src/lib/mud/createClientComponents.ts | 4 +- .../client/src/lib/mud/createSystemCalls.ts | 44 ++++- .../src/lib/mud/getBurnerAccount copy.ts | 10 -- 6 files changed, 211 insertions(+), 52 deletions(-) delete mode 100644 packages/client/src/lib/mud/getBurnerAccount copy.ts diff --git a/packages/client/src/components/DevTools.ts b/packages/client/src/components/DevTools.ts index f1d72466f..e8408c325 100644 --- a/packages/client/src/components/DevTools.ts +++ b/packages/client/src/components/DevTools.ts @@ -1,11 +1,22 @@ import mudConfig from 'contracts/mud.config'; -import { useEffect } from 'react'; +import characterSystemAbi from 'contracts/out/CharacterSystem.sol/CharacterSystem.abi.json'; +import mapSystemAbi from 'contracts/out/MapSystem.sol/MapSystem.abi.json'; +import { useEffect, useMemo } from 'react'; import { useMUD } from '../contexts/MUDContext'; // Displays dev-tools connected to the burner wallet export function DevTools(): null { - const { network } = useMUD(); + const { delegatorAddress, network } = useMUD(); + + const allAbi = useMemo( + () => [ + ...network.worldContract.abi, + ...characterSystemAbi, + ...mapSystemAbi, + ], + [network.worldContract.abi], + ); useEffect(() => { let unmount: (() => void) | undefined; @@ -19,7 +30,7 @@ export function DevTools(): null { latestBlock$: network.latestBlock$, storedBlockLogs$: network.storedBlockLogs$, worldAddress: network.worldContract.address, - worldAbi: network.worldContract.abi, + worldAbi: allAbi, write$: network.write$, recsWorld: network.world, }), @@ -33,7 +44,7 @@ export function DevTools(): null { unmount(); } }; - }, [network]); + }, [allAbi, delegatorAddress, network]); return null; } diff --git a/packages/client/src/components/MapPanel.tsx b/packages/client/src/components/MapPanel.tsx index c7d8198a9..ec1415e3c 100644 --- a/packages/client/src/components/MapPanel.tsx +++ b/packages/client/src/components/MapPanel.tsx @@ -1,4 +1,6 @@ import { Box, Button, HStack, Stack, Text, VStack } from '@chakra-ui/react'; +import { useComponentValue } from '@latticexyz/react'; +import { encodeEntity } from '@latticexyz/store-sync/recs'; import { useCallback, useState } from 'react'; import { BiSolidNavigation } from 'react-icons/bi'; import { @@ -9,44 +11,138 @@ import { } from 'react-icons/io'; import { TbDirectionArrows } from 'react-icons/tb'; +import { useCharacter } from '../contexts/CharacterContext'; +import { useMUD } from '../contexts/MUDContext'; +import { useToast } from '../hooks/useToast'; + const SAFE_ZONE_AREA = { topLeft: { x: 0, y: 4 }, bottomRight: { x: 4, y: 0 }, }; export const MapPanel = (): JSX.Element => { - const [position, setPosition] = useState<{ x: number; y: number }>({ - x: 0, - y: 0, - }); + const { renderError, renderSuccess } = useToast(); + const { + burnerBalance, + components: { Position, Spawned }, + delegatorAddress, + systemCalls: { move, spawn }, + } = useMUD(); + const { character } = useCharacter(); + + const [isSpawning, setIsSpawning] = useState(false); + + const position = useComponentValue( + Position, + encodeEntity( + { characterId: 'uint256' }, + { characterId: BigInt(character?.characterId ?? 0) }, + ), + ); + + const isSpawned = !!useComponentValue( + Spawned, + encodeEntity( + { characterId: 'uint256' }, + { characterId: BigInt(character?.characterId ?? 0) }, + ), + )?.spawned; + + const onSpawn = useCallback(async () => { + try { + setIsSpawning(true); + + if (burnerBalance === '0') { + throw new Error( + 'Insufficient funds. Please top off your session account.', + ); + } + + if (!delegatorAddress) { + throw new Error('Missing delegation.'); + } + + if (!character) { + throw new Error('Character not found.'); + } + + const success = await spawn(BigInt(character.characterId)); + + if (!success) { + throw new Error('Contract call failed'); + } + + renderSuccess('Spawned!'); + } catch (e) { + renderError(e, 'Failed to roll stats.'); + } finally { + setIsSpawning(false); + } + }, [ + burnerBalance, + character, + delegatorAddress, + renderError, + renderSuccess, + spawn, + ]); const onMove = useCallback( async (direction: 'up' | 'down' | 'left' | 'right') => { - if ( - (direction === 'up' && position.y === 9) || - (direction === 'down' && position.y === 0) || - (direction === 'left' && position.x === 0) || - (direction === 'right' && position.x === 9) - ) { - return; - } + try { + if (!delegatorAddress) { + throw new Error('Burner not found'); + } + + if (!position) { + throw new Error('Position not found'); + } + + if (!character) { + throw new Error('Character not found'); + } + + const { x, y } = position; + + if ( + (direction === 'up' && position.y === 9) || + (direction === 'down' && position.y === 0) || + (direction === 'left' && position.x === 0) || + (direction === 'right' && position.x === 9) + ) { + return; + } + + let newX = x; + let newY = y; - setPosition(prevPosition => { switch (direction) { case 'up': - return { x: prevPosition.x, y: prevPosition.y + 1 }; + newY = y + 1; + break; case 'down': - return { x: prevPosition.x, y: prevPosition.y - 1 }; + newY = y - 1; + break; case 'left': - return { x: prevPosition.x - 1, y: prevPosition.y }; + newX = x - 1; + break; case 'right': - return { x: prevPosition.x + 1, y: prevPosition.y }; + newX = x + 1; + break; default: - return prevPosition; + break; + } + + const success = await move(BigInt(character.characterId), newX, newY); + + if (!success) { + throw new Error('Contract call failed'); } - }); + } catch (e) { + renderError(e, 'Failed to move.'); + } }, - [position], + [character, delegatorAddress, move, position, renderError], ); return ( @@ -68,7 +164,7 @@ export const MapPanel = (): JSX.Element => { {[...Array(100)].map((_, i) => { const row = 9 - Math.floor(i / 10); // Reverse the row const col = i % 10; - const currentTile = position.x === col && position.y === row; + const currentTile = position?.x === col && position?.y === row; const hasSafeZoneTopBorder = row === SAFE_ZONE_AREA.topLeft.y && @@ -89,7 +185,7 @@ export const MapPanel = (): JSX.Element => { justifyContent="center" key={`map-tile${i}`} > - {currentTile && } + {currentTile && isSpawned && } ); })} @@ -99,16 +195,30 @@ export const MapPanel = (): JSX.Element => { justifyContent="space-between" mt={{ base: 2, xl: 1 }} > - - - - {position.x}, {position.y} - - + {isSpawned && position && ( + + + + {position.x}, {position.y} + + + )} Dark Cave - 2,344 Players - + {isSpawned ? ( + + ) : ( + + )} ); }; diff --git a/packages/client/src/lib/mud/createBurner.ts b/packages/client/src/lib/mud/createBurner.ts index 64328e722..67fee1421 100644 --- a/packages/client/src/lib/mud/createBurner.ts +++ b/packages/client/src/lib/mud/createBurner.ts @@ -1,7 +1,6 @@ import { type ContractWrite } from '@latticexyz/common'; import { transactionQueue, writeObserver } from '@latticexyz/common/actions'; -import { getComponentValue } from '@latticexyz/recs'; -import {} from '@latticexyz/store-sync'; +import { getComponentValue, overridableComponent } from '@latticexyz/recs'; import { encodeEntity } from '@latticexyz/store-sync/recs'; import { callFrom } from '@latticexyz/world/internal'; import IWorldAbi from 'contracts/out/IWorld.sol/IWorld.abi.json'; @@ -85,18 +84,23 @@ export function createBurner( client: { public: network.publicClient, wallet: walletClient }, }); - const components = { + const burnerComponents = { ...network.components, - // Position: overridableComponent(network.components.Position), + Position: overridableComponent(network.components.Position), }; return { - components, + components: burnerComponents, delegatorAddress, delegatorEntity: delegatorAddress ? encodeEntity({ address: 'address' }, { address: delegatorAddress }) : undefined, - network, + network: { + ...network, + walletClient, + worldContract, + write$: write$.asObservable().pipe(share()), + }, playerEntity: encodeEntity( { address: 'address' }, { address: walletClient.account.address }, @@ -106,7 +110,7 @@ export function createBurner( ...network, worldContract: worldContract, }, - components, + burnerComponents, ), walletClient, worldContract, diff --git a/packages/client/src/lib/mud/createClientComponents.ts b/packages/client/src/lib/mud/createClientComponents.ts index c584d9407..7a7fbad70 100644 --- a/packages/client/src/lib/mud/createClientComponents.ts +++ b/packages/client/src/lib/mud/createClientComponents.ts @@ -9,6 +9,8 @@ * an onchain component. */ +import { overridableComponent } from '@latticexyz/recs'; + import { SetupNetworkResult } from './setupNetwork'; export type ClientComponents = ReturnType; @@ -17,6 +19,6 @@ export type ClientComponents = ReturnType; export function createClientComponents({ components }: SetupNetworkResult) { return { ...components, - // add your client components or overrides here + Position: overridableComponent(components.Position), }; } diff --git a/packages/client/src/lib/mud/createSystemCalls.ts b/packages/client/src/lib/mud/createSystemCalls.ts index 8a58f00b7..46b06b10f 100644 --- a/packages/client/src/lib/mud/createSystemCalls.ts +++ b/packages/client/src/lib/mud/createSystemCalls.ts @@ -8,6 +8,7 @@ import { getComponentValue } from '@latticexyz/recs'; import { encodeEntity } from '@latticexyz/store-sync/recs'; +import { uuid } from '@latticexyz/utils'; import { Address, getContract, @@ -45,7 +46,7 @@ export function createSystemCalls( * (https://github.com/latticexyz/mud/blob/main/templates/react/packages/client/src/mud/setupNetwork.ts#L77-L83). */ { publicClient, waitForTransaction, worldContract }: SetupNetworkResult, - { Characters }: ClientComponents, + { Characters, Position, Spawned }: ClientComponents, ) { const enterGame = async (characterId: bigint) => { try { @@ -96,6 +97,28 @@ export function createSystemCalls( } }; + const move = async (characterId: bigint, x: number, y: number) => { + const positionId = uuid(); + Position.addOverride(positionId, { + entity: encodeEntity({ characterId: 'uint256' }, { characterId }), + value: { x, y }, + }); + + try { + const tx = await worldContract.write.UD__move([characterId, x, y]); + await waitForTransaction(tx); + + return getComponentValue( + Position, + encodeEntity({ characterId: 'uint256' }, { characterId }), + ); + } catch (e) { + return null; + } finally { + Position.removeOverride(positionId); + } + }; + const rollStats = async ( characterId: bigint, characterClass: CharacterClasses, @@ -138,9 +161,28 @@ export function createSystemCalls( } }; + const spawn = async (characterId: bigint) => { + try { + const tx = await worldContract.write.UD__spawn([characterId]); + + await waitForTransaction(tx); + + const success = !!getComponentValue( + Spawned, + encodeEntity({ characterId: 'uint256' }, { characterId }), + )?.spawned; + + return success; + } catch (e) { + return false; + } + }; + return { enterGame, mintCharacter, + move, rollStats, + spawn, }; } diff --git a/packages/client/src/lib/mud/getBurnerAccount copy.ts b/packages/client/src/lib/mud/getBurnerAccount copy.ts deleted file mode 100644 index f169fc95e..000000000 --- a/packages/client/src/lib/mud/getBurnerAccount copy.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { createBurnerAccount, getBurnerPrivateKey } from '@latticexyz/common'; -import { type PrivateKeyAccount } from 'viem'; - -// Get or create a burner account. -// -// A burner account is a temporary account stored in local storage. -// This function checks its existence in storage; if absent, generates and saves the account. -export function getBurnerAccount(): PrivateKeyAccount { - return createBurnerAccount(getBurnerPrivateKey()); -} From d012990e57da426938c7b583d76e313d30cade9f Mon Sep 17 00:00:00 2001 From: ECWireless Date: Sun, 30 Jun 2024 16:50:56 -0600 Subject: [PATCH 2/5] Make StatsPanel dynamic --- packages/client/src/components/StatsPanel.tsx | 217 ++++++++++++++++++ .../components/StatsPanel/HealthPotion.tsx | 13 -- .../src/components/StatsPanel/Inventory.tsx | 36 --- .../src/components/StatsPanel/Level.tsx | 32 --- .../src/components/StatsPanel/Money.tsx | 11 - .../src/components/StatsPanel/Navigation.tsx | 81 ------- .../src/components/StatsPanel/Socials.tsx | 16 -- .../src/components/StatsPanel/Stats.tsx | 47 ---- .../src/components/StatsPanel/TopBar.tsx | 18 -- .../src/components/StatsPanel/index.tsx | 32 --- .../client/src/contexts/CharacterContext.tsx | 38 ++- packages/client/src/utils/types.ts | 2 + packages/contracts/worlds.json | 2 +- 13 files changed, 255 insertions(+), 290 deletions(-) create mode 100644 packages/client/src/components/StatsPanel.tsx delete mode 100644 packages/client/src/components/StatsPanel/HealthPotion.tsx delete mode 100644 packages/client/src/components/StatsPanel/Inventory.tsx delete mode 100644 packages/client/src/components/StatsPanel/Level.tsx delete mode 100644 packages/client/src/components/StatsPanel/Money.tsx delete mode 100644 packages/client/src/components/StatsPanel/Navigation.tsx delete mode 100644 packages/client/src/components/StatsPanel/Socials.tsx delete mode 100644 packages/client/src/components/StatsPanel/Stats.tsx delete mode 100644 packages/client/src/components/StatsPanel/TopBar.tsx delete mode 100644 packages/client/src/components/StatsPanel/index.tsx diff --git a/packages/client/src/components/StatsPanel.tsx b/packages/client/src/components/StatsPanel.tsx new file mode 100644 index 000000000..025f0bf8e --- /dev/null +++ b/packages/client/src/components/StatsPanel.tsx @@ -0,0 +1,217 @@ +import { + Avatar, + Box, + Button, + Grid, + GridItem, + HStack, + Link, + Progress, + Spacer, + Spinner, + Text, + useBreakpointValue, + VStack, +} from '@chakra-ui/react'; +import { useComponentValue } from '@latticexyz/react'; +import { encodeEntity } from '@latticexyz/store-sync/recs'; +import { useMemo } from 'react'; +import { IoIosArrowForward } from 'react-icons/io'; + +import { useCharacter } from '../contexts/CharacterContext'; +import { useMUD } from '../contexts/MUDContext'; + +const CURRENT_LEVEL = 1; + +export const StatsPanel = (): JSX.Element => { + const isDesktop = useBreakpointValue({ base: false, lg: true }); + const { + components: { Levels }, + } = useMUD(); + const { character } = useCharacter(); + + const nextLevelXpRequirement = useComponentValue( + Levels, + encodeEntity({ level: 'uint256' }, { level: BigInt(CURRENT_LEVEL + 1) }), + )?.experience; + + const levelPercent = useMemo(() => { + if (!nextLevelXpRequirement) return 0; + return ( + (100 * Number(character?.experience)) / Number(nextLevelXpRequirement) + ); + }, [character?.experience, nextLevelXpRequirement]); + + if (!character) { + return ( + + + + ); + } + + const { + agility, + experience, + goldBalance, + hitPoints, + image, + intelligence, + name, + strength, + } = character; + + return ( + + + + {name} + + + + + + + HP + + + + {hitPoints} + + + + STR + + + + {strength} + + + + AGI + + + + {agility} + + + + INT + + + + {intelligence} + + + + + + {levelPercent}% + + 90 ? 'none' : 'block'} + position="absolute" + right="0%" + top="-15px" + > + 100% + + + + Level {CURRENT_LEVEL} + + Level {CURRENT_LEVEL + 1} + + + + + {goldBalance} $GOLD + + + {experience}/{nextLevelXpRequirement?.toString() ?? '0'} + + + + + + Active Items + + 1/3 + + + Rusty Dagger + + + + Empty Slot + + + + Empty Slot + + + + + + Health Potion + 0 + + + {isDesktop && ( + <> + + + Auction House + + + Leader Board + + + + )} + + ); +}; diff --git a/packages/client/src/components/StatsPanel/HealthPotion.tsx b/packages/client/src/components/StatsPanel/HealthPotion.tsx deleted file mode 100644 index aafaaceae..000000000 --- a/packages/client/src/components/StatsPanel/HealthPotion.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Box, HStack, Spacer, Text } from '@chakra-ui/react'; - -export const HealthPotion = (): JSX.Element => { - return ( - - - Health Potion - - - - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Inventory.tsx b/packages/client/src/components/StatsPanel/Inventory.tsx deleted file mode 100644 index 819caced4..000000000 --- a/packages/client/src/components/StatsPanel/Inventory.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Box, Button, HStack, Spacer, Text, VStack } from '@chakra-ui/react'; - -export const Inventory = (): JSX.Element => { - return ( - - - - Active Items - - 1/3 - - - Rusty Dagger - - - - - Empty Slot - - - - - Empty Slot - - - - - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Level.tsx b/packages/client/src/components/StatsPanel/Level.tsx deleted file mode 100644 index 5a0522128..000000000 --- a/packages/client/src/components/StatsPanel/Level.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Box, HStack, Progress, Spacer, Text } from '@chakra-ui/react'; - -export const Level = (): JSX.Element => { - const percent = 50; - return ( - - - {percent} - - 90 ? 'none' : 'block'} - position="absolute" - right="0%" - top="-15px" - > - 100 - - - - Level 1 - - Level 2 - - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Money.tsx b/packages/client/src/components/StatsPanel/Money.tsx deleted file mode 100644 index 123aa8cbc..000000000 --- a/packages/client/src/components/StatsPanel/Money.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { HStack, Spacer, Text } from '@chakra-ui/react'; - -export const Money = (): JSX.Element => { - return ( - - 2,00 $GOLD - - 190/345 - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Navigation.tsx b/packages/client/src/components/StatsPanel/Navigation.tsx deleted file mode 100644 index 1c8bee466..000000000 --- a/packages/client/src/components/StatsPanel/Navigation.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import { Link, VStack } from '@chakra-ui/react'; - -export const Navigation = (): JSX.Element => { - return ( - - - Auction House - - - Leader Board - - {/* - Guild Info - - - Map Info - - - Create Map - - - About - */} - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Socials.tsx b/packages/client/src/components/StatsPanel/Socials.tsx deleted file mode 100644 index 11122f95c..000000000 --- a/packages/client/src/components/StatsPanel/Socials.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { HStack, Link } from '@chakra-ui/react'; -import { FaDiscord, FaTwitter } from 'react-icons/fa'; - -export const Socials = (): JSX.Element => { - return ( - - - - - - - - T&C - - ); -}; diff --git a/packages/client/src/components/StatsPanel/Stats.tsx b/packages/client/src/components/StatsPanel/Stats.tsx deleted file mode 100644 index 9cf470ce6..000000000 --- a/packages/client/src/components/StatsPanel/Stats.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { Box, Grid, GridItem, Text } from '@chakra-ui/react'; - -export const Stats = (): JSX.Element => { - return ( - - - - - HP - - - - 1 - - - - STR - - - - 3 - - - - AGI - - - - 4 - - - - INT - - - - 5 - - - - ); -}; diff --git a/packages/client/src/components/StatsPanel/TopBar.tsx b/packages/client/src/components/StatsPanel/TopBar.tsx deleted file mode 100644 index 3383b1f2e..000000000 --- a/packages/client/src/components/StatsPanel/TopBar.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Avatar, Box, Flex, Text } from '@chakra-ui/react'; -import { IoIosArrowForward } from 'react-icons/io'; - -export const TopBar = (): JSX.Element => { - return ( - - - - - - 0lffaa_08 ※ - - - - - - ); -}; diff --git a/packages/client/src/components/StatsPanel/index.tsx b/packages/client/src/components/StatsPanel/index.tsx deleted file mode 100644 index f195f387a..000000000 --- a/packages/client/src/components/StatsPanel/index.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { useBreakpointValue, VStack } from '@chakra-ui/react'; - -import { HealthPotion } from './HealthPotion'; -import { Inventory } from './Inventory'; -import { Level } from './Level'; -import { Money } from './Money'; -import { Navigation } from './Navigation'; -// import { Socials } from './Socials'; -import { Stats } from './Stats'; -import { TopBar } from './TopBar'; - -export const StatsPanel = (): JSX.Element => { - const isDesktop = useBreakpointValue({ base: false, lg: true }); - - return ( - - - - - - - - - {isDesktop && ( - <> - - {/* */} - - )} - - ); -}; diff --git a/packages/client/src/contexts/CharacterContext.tsx b/packages/client/src/contexts/CharacterContext.tsx index 9bf198db6..a5d96b11d 100644 --- a/packages/client/src/contexts/CharacterContext.tsx +++ b/packages/client/src/contexts/CharacterContext.tsx @@ -13,7 +13,7 @@ import { useEffect, useState, } from 'react'; -import { getContract, hexToString } from 'viem'; +import { formatEther, getContract, hexToString } from 'viem'; import { useToast } from '../hooks/useToast'; import { fetchMetadataFromUri, uriToHttp } from '../utils/helpers'; @@ -64,6 +64,7 @@ export const CharacterProvider = ({ const characterStats = getComponentValue(CharacterStats, entity); return { agility: characterStats?.agility.toString() ?? '0', + experience: characterStats?.experience.toString() ?? '0', characterClass: characterData.class, characterId: decodeEntity( { characterId: 'uint256' }, @@ -83,7 +84,7 @@ export const CharacterProvider = ({ const characterTokenAddress = await worldContract.read.UD__getCharacterToken(); - const erc721 = getContract({ + const characterToken = getContract({ address: characterTokenAddress, abi: [ { @@ -109,7 +110,7 @@ export const CharacterProvider = ({ client: publicClient, }); - const metadataURI = await erc721.read.tokenURI([ + const metadataURI = await characterToken.read.tokenURI([ BigInt(characterComponent.characterId), ]); @@ -117,9 +118,40 @@ export const CharacterProvider = ({ uriToHttp(metadataURI)[0], ); + const goldTokenAddress = await worldContract.read.UD__getGoldToken(); + + const goldToken = getContract({ + address: goldTokenAddress, + abi: [ + { + type: 'function', + name: 'balanceOf', + inputs: [ + { + name: 'account', + type: 'address', + internalType: 'address', + }, + ], + outputs: [ + { + name: '', + type: 'uint256', + internalType: 'uint256', + }, + ], + stateMutability: 'view', + }, + ], + client: publicClient, + }); + + const goldBalance = await goldToken.read.balanceOf([delegatorAddress]); + setCharacterDetails({ ...characterComponent, ...fetachedMetadata, + goldBalance: formatEther(BigInt(goldBalance)).toString(), }); }, [ Characters, diff --git a/packages/client/src/utils/types.ts b/packages/client/src/utils/types.ts index b0f189d80..fb03f7a29 100644 --- a/packages/client/src/utils/types.ts +++ b/packages/client/src/utils/types.ts @@ -1,7 +1,9 @@ export type Character = Metadata & { agility: string; + experience: string; characterClass: CharacterClasses; characterId: string; + goldBalance: string; hitPoints: string; intelligence: string; locked: boolean; diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 84c687907..02d72bec5 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -1,6 +1,6 @@ { "31337": { - "address": "0x8e31c48fd7540e10121a136e4153e0bd11309eaa" + "address": "0xb528cb519a7722f70973943cbaf2d44afaa8ea80" }, "84532": { "address": "0xeafba96222596ac92cd335b0adfc1c2f50357571", From 21896cff7e5d5ca6be03e5faecb3be9dd92108d7 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Sun, 30 Jun 2024 16:53:39 -0600 Subject: [PATCH 3/5] Add CharacterSystem and MapSystem to gitignore --- packages/contracts/.gitignore | 2 + .../CharacterSystem.abi.json | 484 ++++++++++++++++++ .../CharacterSystem.abi.json.d.ts | 484 ++++++++++++++++++ .../CharacterSystem.sol/CharacterSystem.json | 1 + .../out/MapSystem.sol/MapSystem.abi.json | 185 +++++++ .../out/MapSystem.sol/MapSystem.abi.json.d.ts | 185 +++++++ .../out/MapSystem.sol/MapSystem.json | 1 + 7 files changed, 1342 insertions(+) create mode 100644 packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json create mode 100644 packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts create mode 100644 packages/contracts/out/CharacterSystem.sol/CharacterSystem.json create mode 100644 packages/contracts/out/MapSystem.sol/MapSystem.abi.json create mode 100644 packages/contracts/out/MapSystem.sol/MapSystem.abi.json.d.ts create mode 100644 packages/contracts/out/MapSystem.sol/MapSystem.json diff --git a/packages/contracts/.gitignore b/packages/contracts/.gitignore index df828261b..30f0ae176 100644 --- a/packages/contracts/.gitignore +++ b/packages/contracts/.gitignore @@ -1,5 +1,7 @@ out/* !out/IWorld.sol +!out/CharacterSystem.sol +!out/MapSystem.sol cache/ node_modules/ bindings/ diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json new file mode 100644 index 000000000..42c4d3423 --- /dev/null +++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json @@ -0,0 +1,484 @@ +[ + { + "type": "function", + "name": "_msgSender", + "inputs": [], + "outputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_msgValue", + "inputs": [], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "_world", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enterGame", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCharacterStats", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct CharacterStatsData", + "components": [ + { + "name": "strength", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "agility", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "intelligence", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hitPoints", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "damageTaken", + "type": "int256", + "internalType": "int256" + }, + { + "name": "experience", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClass", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "_class", + "type": "uint8", + "internalType": "enum Classes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentLevel", + "inputs": [ + { + "name": "experience", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "currentLevel", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExperience", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getName", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "_name", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getOwner", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mintCharacter", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "tokenUri", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollStats", + "inputs": [ + { + "name": "userRandomNumber", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "class", + "type": "uint8", + "internalType": "enum Classes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Store_SpliceDynamicData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "dynamicFieldIndex", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "deleteCount", + "type": "uint40", + "indexed": false, + "internalType": "uint40" + }, + { + "name": "encodedLengths", + "type": "bytes32", + "indexed": false, + "internalType": "EncodedLengths" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Store_SpliceStaticData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EncodedLengths_InvalidLength", + "inputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Slice_OutOfBounds", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "start", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "end", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Store_IndexOutOfBounds", + "inputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessedIndex", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Store_InvalidResourceType", + "inputs": [ + { + "name": "expected", + "type": "bytes2", + "internalType": "bytes2" + }, + { + "name": "resourceId", + "type": "bytes32", + "internalType": "ResourceId" + }, + { + "name": "resourceIdString", + "type": "string", + "internalType": "string" + } + ] + }, + { + "type": "error", + "name": "Store_InvalidSplice", + "inputs": [ + { + "name": "startWithinField", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "deleteCount", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "fieldLength", + "type": "uint40", + "internalType": "uint40" + } + ] + }, + { + "type": "error", + "name": "World_AccessDenied", + "inputs": [ + { + "name": "resource", + "type": "string", + "internalType": "string" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "World_FunctionSelectorNotFound", + "inputs": [ + { + "name": "functionSelector", + "type": "bytes4", + "internalType": "bytes4" + } + ] + }, + { + "type": "error", + "name": "World_ResourceNotFound", + "inputs": [ + { + "name": "resourceId", + "type": "bytes32", + "internalType": "ResourceId" + }, + { + "name": "resourceIdString", + "type": "string", + "internalType": "string" + } + ] + } +] \ No newline at end of file diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts new file mode 100644 index 000000000..31839869c --- /dev/null +++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts @@ -0,0 +1,484 @@ +declare const abi: [ + { + "type": "function", + "name": "_msgSender", + "inputs": [], + "outputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_msgValue", + "inputs": [], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "_world", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "enterGame", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getCharacterStats", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct CharacterStatsData", + "components": [ + { + "name": "strength", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "agility", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "intelligence", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "hitPoints", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "damageTaken", + "type": "int256", + "internalType": "int256" + }, + { + "name": "experience", + "type": "uint256", + "internalType": "uint256" + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClass", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "_class", + "type": "uint8", + "internalType": "enum Classes" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getCurrentLevel", + "inputs": [ + { + "name": "experience", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "currentLevel", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getExperience", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getName", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "_name", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getOwner", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "mintCharacter", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + }, + { + "name": "name", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "tokenUri", + "type": "string", + "internalType": "string" + } + ], + "outputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "rollStats", + "inputs": [ + { + "name": "userRandomNumber", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "class", + "type": "uint8", + "internalType": "enum Classes" + } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Store_SpliceDynamicData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "dynamicFieldIndex", + "type": "uint8", + "indexed": false, + "internalType": "uint8" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "deleteCount", + "type": "uint40", + "indexed": false, + "internalType": "uint40" + }, + { + "name": "encodedLengths", + "type": "bytes32", + "indexed": false, + "internalType": "EncodedLengths" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Store_SpliceStaticData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "EncodedLengths_InvalidLength", + "inputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Slice_OutOfBounds", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "start", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "end", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Store_IndexOutOfBounds", + "inputs": [ + { + "name": "length", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "accessedIndex", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "Store_InvalidResourceType", + "inputs": [ + { + "name": "expected", + "type": "bytes2", + "internalType": "bytes2" + }, + { + "name": "resourceId", + "type": "bytes32", + "internalType": "ResourceId" + }, + { + "name": "resourceIdString", + "type": "string", + "internalType": "string" + } + ] + }, + { + "type": "error", + "name": "Store_InvalidSplice", + "inputs": [ + { + "name": "startWithinField", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "deleteCount", + "type": "uint40", + "internalType": "uint40" + }, + { + "name": "fieldLength", + "type": "uint40", + "internalType": "uint40" + } + ] + }, + { + "type": "error", + "name": "World_AccessDenied", + "inputs": [ + { + "name": "resource", + "type": "string", + "internalType": "string" + }, + { + "name": "caller", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "World_FunctionSelectorNotFound", + "inputs": [ + { + "name": "functionSelector", + "type": "bytes4", + "internalType": "bytes4" + } + ] + }, + { + "type": "error", + "name": "World_ResourceNotFound", + "inputs": [ + { + "name": "resourceId", + "type": "bytes32", + "internalType": "ResourceId" + }, + { + "name": "resourceIdString", + "type": "string", + "internalType": "string" + } + ] + } +]; export default abi; diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json new file mode 100644 index 000000000..ed0ead0f1 --- /dev/null +++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"enterGame","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterStats","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CharacterStatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"damageTaken","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50613be4806100206000396000f3fe6080604052600436106100d25760003560e01c8063512d62df1161007f578063b1ca210611610059578063b1ca21061461027a578063c41a360a1461029a578063e1af802c146102ba578063e429766e146102cf57600080fd5b8063512d62df146101c15780636b8ff574146101ee5780636fe0c0461461020e57600080fd5b80633d0854ae116100b05780633d0854ae1461016757806343d6582b1461018757806345ec9354146101a957600080fd5b806301ffc9a7146100d7578063119df25f1461010c578063143f302114610139575b600080fd5b3480156100e357600080fd5b506100f76100f23660046132f1565b6102e2565b60405190151581526020015b60405180910390f35b34801561011857600080fd5b5061012161037b565b6040516001600160a01b039091168152602001610103565b34801561014557600080fd5b506101596101543660046133a2565b61038a565b604051908152602001610103565b34801561017357600080fd5b5061015961018236600461344a565b610554565b34801561019357600080fd5b506101a76101a236600461344a565b6105d2565b005b3480156101b557600080fd5b5036601f190135610159565b3480156101cd57600080fd5b506101e16101dc36600461344a565b610704565b6040516101039190613497565b3480156101fa57600080fd5b5061015961020936600461344a565b61070f565b34801561021a57600080fd5b5061022e61022936600461344a565b61071a565b6040516101039190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b34801561028657600080fd5b5061015961029536600461344a565b61075c565b3480156102a657600080fd5b506101216102b536600461344a565b610767565b3480156102c657600080fd5b50610121610772565b6101a76102dd3660046134aa565b61077c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061037557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006103856108f4565b905090565b6000610394610926565b905061039e610772565b6001600160a01b0316633ae7af086103d57f4368617261637465727300000000000000000000000000000000000000000000610955565b6040516001600160a01b03881660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610481929190600401613537565b6000604051808303816000875af11580156104a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c89190810190613595565b506104d381856109a2565b6104dc83610a72565b1561052e5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064015b60405180910390fd5b610539836001610b17565b6105438184610bd0565b61054d8183610c52565b9392505050565b60006105606013610c89565b821061056e57506014919050565b60005b60148110156105cc578261058482610c89565b111580156105a35750826105a161059c8360016135e0565b610c89565b115b156105ba576105b38160016135e0565b91506105cc565b806105c4816135f3565b915050610571565b50919050565b6105db81610d05565b6106275760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610525565b61063081610d31565b1561067d5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610525565b61068f81674563918244f40000610db1565b610697610772565b6001600160a01b031663ce2d5a9a826040518263ffffffff1660e01b81526004016106c491815260200190565b600060405180830381600087803b1580156106de57600080fd5b505af11580156106f2573d6000803e3d6000fd5b50505050610701816001610e4c565b50565b600061037582610ed3565b600061037582610f6b565b6107536040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61037582610feb565b6000610375826110d1565b600061037582611166565b60006103856111f0565b61078582610d31565b156107f85760405162461bcd60e51b815260206004820152602860248201527f796f75206861766520616c72656164792061636365707465642074686973206360448201527f68617261637465720000000000000000000000000000000000000000000000006064820152608401610525565b61080182610d05565b61084d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610525565b600061085983836111fa565b6108ed84828560405160200161087191815260200190565b60408051601f198184030181529082905261089093929160240161360d565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526112b2565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109235750335b90565b600080610931611360565b9050600061093e826113c8565b6109499060016135e0565b9050610375828261144d565b60006103757f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000006114f5565b604080516001808252818301909252600091602080830190803683370190505090508260001b816000815181106109db576109db613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610a4d919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f19818403018152919052663604001401200160c01b61156d565b505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab613635565b60209081029190910101526000610b037f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611622565b9050610b0f8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610b4d57610b4d613635565b602002602001018181525050610a6d7f746255440000000000000000000000004e616d6545786973747300000000000060001b82600085604051602001610b9b91151560f81b815260010190565b60408051601f198184030181529190527e0101000100000000000000000000000000000000000000000000000000000061156d565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110610c0957610c09613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610a4d91815260200190565b610c85610c7e7f43686172616374657273000000000000000000000000000000000000000000006116df565b838361172c565b5050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610cc557610cc5613635565b60209081029190910101526000610b0f7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611622565b6000610d1082611166565b6001600160a01b0316610d2161037b565b6001600160a01b03161492915050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610d6d57610d6d613635565b60209081029190910101526000610b037f7462554400000000000000000000000043686172616374657273000000000000836003663604001401200160c01b611622565b610db9611784565b6001600160a01b03166340c10f19610dd084610767565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610e3057600080fd5b505af1158015610e44573d6000803e3d6000fd5b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110610e8557610e85613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610a4d91151560f81b815260010190565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610f0f57610f0f613635565b60209081029190910101526000610f537f7462554400000000000000000000000043686172616374657273000000000000836001663604001401200160c01b611622565b905060f881901c6002811115610b0f57610b0f613463565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610fa757610fa7613635565b60209081029190910101526000610b0f7f7462554400000000000000000000000043686172616374657273000000000000836002663604001401200160c01b611622565b6110246040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061105d5761105d613635565b6020908102919091010152600080806110b67f7462554400000000000000000000000043686172616374657253746174730000857ec006002020202020200000000000000000000000000000000000000000000061178e565b9250925092506110c783838361185e565b9695505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061110d5761110d613635565b60209081029190910101526000610b0f7f74625544000000000000000000000000436861726163746572537461747300008360057ec0060020202020202000000000000000000000000000000000000000000000611622565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111a2576111a2613635565b602090810291909101015260006111e57f74625544000000000000000000000000436861726163746572730000000000008383663604001401200160c01b611622565b60601c949350505050565b60006103856118c2565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061123357611233613635565b6020908102919091010152610a6d7f746255440000000000000000000000004368617261637465727300000000000082600185600281111561127757611277613463565b604051602001610a4d919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60606000806112c86112c38561364b565b611901565b91509150816000801b0361132e576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610525565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610b0f82856119d1565b6040805160008082526020820190925260006113be7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611622565b60601c9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061140d5761140d613635565b60209081029190910101526000610b0f7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611622565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b8160008151811061148f5761148f613635565b602002602001018181525050610a6d7f74625544000000000000000000000000436f756e74657273000000000000000060001b826000856040516020016114d891815260200190565b60408051601f19818403018152919052630100080160dd1b61156d565b6000611503607060106135e0565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60006115776118c2565b9050306001600160a01b0382160361159b576115968686868686611aac565b610e44565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115e890899089908990899089906004016136d7565b600060405180830381600087803b15801561160257600080fd5b505af1158015611616573d6000803e3d6000fd5b50505050505050505050565b60008061162d6118c2565b9050306001600160a01b038216036116535761164b86868686611ac1565b915050610b0f565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061169e90899089908990899060040161371e565b602060405180830381865afa1580156116bb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b919061374d565b60006103757f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e5552490000000000000000000000000000000000000000000000006114f5565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061176557611765613635565b60200260200101818152505061177e8482600085611af7565b50505050565b6000610385611ba8565b606060006060600061179e6118c2565b9050306001600160a01b038216036117c7576117bb878787611c06565b93509350935050611855565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611810908a908a908a90600401613766565b600060405180830381865afa15801561182d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117bb919081019061378f565b93509350939050565b6118976040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6118a084611d0e565b60a0870152608086015260608501526040840152602083015281529392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806118fc573391505090565b919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061195a5761195a613635565b6020908102919091010152600080806119b37f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061178e565b9250925092506119c4838383611d52565b9550955050505050915091565b606060006119dd6111f0565b90506001600160a01b0381163003611a1e576000611a056119fc6108f4565b60008787611d6a565b9350905080611a1757611a1783611ea5565b5050610375565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611a659087908790600401613537565b6000604051808303816000875af1158015611a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b0f9190810190613595565b6108ed8585611abb8487611ead565b85611ee6565b6000611aee611ad0868661218a565b60ff858116601b0360080285901c16611ae98587611ead565b6121e0565b95945050505050565b6000611b016118c2565b9050306001600160a01b03821603611b2457611b1f85858585612231565b6108ed565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290611b6f9088908890889088906004016137fc565b600060405180830381600087803b158015611b8957600080fd5b505af1158015611b9d573d6000803e3d6000fd5b505050505050505050565b6040805160008082526020820190925260006113be7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e65060001141414141400000000000000000000000000000000000000000000611622565b6060600060606000611c178561226c565b9050611c2487878361228f565b93506000611c31866122c8565b90508015611d0357611c438888612305565b935066ffffffffffffff841667ffffffffffffffff811115611c6757611c67613333565b6040519080825280601f01601f191660200182016040528015611c91576020820181803683370190505b5092506020830160005b828160ff161015611d00576000611cb38b8b84612318565b90506000611cd0888460ff166028026038011c64ffffffffff1690565b9050611cdf8260008387612398565b611ce981856135e0565b935050508080611cf89061383b565b915050611c9b565b50505b505093509350939050565b600080600080600080611d25876000016020015190565b6040880151606089015160808a015160a08b015160c0909b0151939b929a91995097509550909350915050565b600080611d5e85612464565b90969095509350505050565b60006060600080611d7a86612479565b90925090506001600160a01b038216611dcb5785611d978761251d565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610525929190613537565b80611dda57611dda868961264b565b8615611e46577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000611e2e82612697565b9050611e4382611e3e8b846135e0565b612710565b50505b6000611e528760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614611e8a57611e85888884886127ac565b611e96565b611e9688888488612824565b90999098509650505050505050565b805160208201fd5b600080805b8360ff16811015611ede57611ed460ff601b83900360080287901c16836135e0565b9150600101611eb2565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f7057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f639392919061385a565b60405180910390a261177e565b6000611f7c858561218a565b90506000611f8986612885565b905060005b815181101561205e576000828281518110611fab57611fab613635565b60200260200101519050611fd76004826affffffffffffffffffffff191661290e90919063ffffffff16565b15612055576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612022908b908b908b908b9060040161388d565b600060405180830381600087803b15801561203c57600080fd5b505af1158015612050573d6000803e3d6000fd5b505050505b50600101611f8e565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516120939392919061385a565b60405180910390a26120ae828565ffffffffffff168561292c565b60005b81518110156121815760008282815181106120ce576120ce613635565b602002602001015190506120fa6008826affffffffffffffffffffff191661290e90919063ffffffff16565b15612178576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612145908b908b908b908b9060040161388d565b600060405180830381600087803b15801561215f57600080fd5b505af1158015612173573d6000803e3d6000fd5b505050505b506001016120b1565b50505050505050565b6000828260405160200161219f9291906138c6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106122065760208204840193506020828161220257612202613902565b0691505b508254600882021b602082900380841115611ede576001850154600882021c82179150509392505050565b600061223d8585612305565b9050600061225a828560ff166028026038011c64ffffffffff1690565b9050610e448686866000858888612942565b6000600861227c60026020613918565b612286919061392b565b9190911c919050565b6060816000036122ae575060408051602081019091526000815261054d565b60006122ba858561218a565b9050611aee81600085612d7c565b600060086001806122db60026020613918565b6122e59190613918565b6122ef9190613918565b6122f9919061392b565b8260ff911c1692915050565b600061054d6123148484612d9f565b5490565b6000838360405160200161232d9291906138c6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561241f57602083106123c2576020830484019350602083816123be576123be613902565b0692505b821561241f5760208390036000818410156123e55750600019600884021c6123ef565b50600019600882021c5b8554600886021b81845116821982161784525081841161241057505061177e565b50600194909401939182900391015b5b602082106124415783548152600190930192601f1990910190602001612420565b811561177e576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106124b3576124b3613635565b60209081029190910101526000808061250c7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611c06565b9250925092506119c4838383612df5565b606081601081901b600061253083612e01565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561258b576125867fffffffffffffffffffffffffffff0000000000000000000000000000000000008416612e18565b6125c2565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156125e9576125e483612e18565b612620565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161263293929190613942565b6040516020818303038152906040529350505050919050565b6126558282612e9e565b610c85576126628261251d565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105259291906139d0565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106126d0576126d0613635565b60209081029190910101526000610b0f7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ac1565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061274657612746613635565b602002602001018181525050610a6d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161278f91815260200190565b60408051601f19818403018152919052630100080160dd1b611aac565b60006060836001600160a01b031660006127c7858989612efc565b6040516127d491906139fb565b60006040518083038185875af1925050503d8060008114612811576040519150601f19603f3d011682016040523d82523d6000602084013e612816565b606091505b509097909650945050505050565b60006060836001600160a01b031661283d848888612efc565b60405161284a91906139fb565b600060405180830381855af49150503d8060008114612811576040519150601f19603f3d011682016040523d82523d6000602084013e612816565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128bf576128bf613635565b602090810291909101015260006128f77f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612f2b565b9050610b0f6129098260008451612f65565b612ff3565b60008160ff168261291f8560581c90565b1660ff1614905092915050565b610a6d8383835161293d8560200190565b613004565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a02577f746200000000000000000000000000000000000000000000000000000000000087886040516020016129c091815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610525939291600401613a17565b6000612a1d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a369190613918565b612a4091906135e0565b9050808214158015612a62575081612a588688613a58565b64ffffffffff1614155b15612ab2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610525565b818664ffffffffff161115612b03576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610525565b6000612b108489846130c3565b90506000612b1d8b612885565b905060005b8151811015612be8576000828281518110612b3f57612b3f613635565b60200260200101519050612b6b6010826affffffffffffffffffffff191661290e90919063ffffffff16565b15612bdf57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612bac9796959493929190613a7d565b600060405180830381600087803b158015612bc657600080fd5b505af1158015612bda573d6000803e3d6000fd5b505050505b50600101612b22565b5064ffffffffff881660005b8a60ff168160ff161015612c2757612c1b878260ff166028026038011c64ffffffffff1690565b90910190600101612bf4565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612c6296959493929190613adb565b60405180910390a250828414612c83576000612c7e8c8c612d9f565b839055505b6000612c908c8c8c612318565b9050612ca4818a64ffffffffff168961292c565b5060005b8151811015612d6e576000828281518110612cc557612cc5613635565b60200260200101519050612cf16020826affffffffffffffffffffff191661290e90919063ffffffff16565b15612d6557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d329796959493929190613a7d565b600060405180830381600087803b158015612d4c57600080fd5b505af1158015612d60573d6000803e3d6000fd5b505050505b50600101612ca8565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611ede85858584612398565b60008282604051602001612db49291906138c6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600080611d5e85613191565b6000612e0f607060106135e0565b9190911b919050565b606060005b6010811015612e6e576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615612e6e57600101612e1d565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610b0f565b6000612eec7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836131ad565b8061054d575061054d83836131ad565b6060838383604051602001612f1393929190613b37565b60405160208183030381529060405290509392505050565b6060610b0f612f3b858585612318565b6000612f6085612f4b8989612305565b9060ff166028026038011c64ffffffffff1690565b612d7c565b600081831180612f755750835182115b15612fb2578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052593929190613b89565b60208401612fc084826135e0565b90506000612fce8585613918565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061054d8360156000613276565b821561307e576020831061302e5760208304840193506020838161302a5761302a613902565b0692505b821561307e5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161306f57505061177e565b50600194909401939182900391015b5b602082106130a05780518455600190930192601f199091019060200161307f565b811561177e576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613107576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610525565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106131395780850382019150613141565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612472565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106131e6576131e6613635565b602002602001018181525050826001600160a01b031660001b8160018151811061321257613212613635565b6020908102919091010152600061326a7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611ac1565b9050611aee8160f81c90565b606060006132848560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816132aa576132aa613902565b04905060405193506020840160208202810160405281855260005b828110156132e5578451871c8252938701936020909101906001016132c5565b50505050509392505050565b60006020828403121561330357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054d57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561337257613372613333565b604052919050565b600067ffffffffffffffff82111561339457613394613333565b50601f01601f191660200190565b6000806000606084860312156133b757600080fd5b83356001600160a01b03811681146133ce57600080fd5b925060208401359150604084013567ffffffffffffffff8111156133f157600080fd5b8401601f8101861361340257600080fd5b80356134156134108261337a565b613349565b81815287602083850101111561342a57600080fd5b816020840160208301376000602083830101528093505050509250925092565b60006020828403121561345c57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6003811061070157634e487b7160e01b600052602160045260246000fd5b602081016134a483613479565b91905290565b6000806000606084860312156134bf57600080fd5b83359250602084013591506040840135600381106134dc57600080fd5b809150509250925092565b60005b838110156135025781810151838201526020016134ea565b50506000910152565b600081518084526135238160208601602086016134e7565b601f01601f19169290920160200192915050565b828152604060208201526000610b0f604083018461350b565b600082601f83011261356157600080fd5b815161356f6134108261337a565b81815284602083860101111561358457600080fd5b610b0f8260208301602087016134e7565b6000602082840312156135a757600080fd5b815167ffffffffffffffff8111156135be57600080fd5b610b0f84828501613550565b634e487b7160e01b600052601160045260246000fd5b80820180821115610375576103756135ca565b60006000198203613606576136066135ca565b5060010190565b83815261361983613479565b826020820152606060408201526000611aee606083018461350b565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156136935780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b838110156136cc578151875295820195908201906001016136b0565b509495945050505050565b85815260a0602082015260006136f060a083018761369b565b60ff86166040840152828103606084015261370b818661350b565b9150508260808301529695505050505050565b848152608060208201526000613737608083018661369b565b60ff949094166040830152506060015292915050565b60006020828403121561375f57600080fd5b5051919050565b83815260606020820152600061377f606083018561369b565b9050826040830152949350505050565b6000806000606084860312156137a457600080fd5b835167ffffffffffffffff808211156137bc57600080fd5b6137c887838801613550565b94506020860151935060408601519150808211156137e557600080fd5b506137f286828701613550565b9150509250925092565b848152608060208201526000613815608083018661369b565b60ff851660408401528281036060840152613830818561350b565b979650505050505050565b600060ff821660ff8103613851576138516135ca565b60010192915050565b60608152600061386d606083018661369b565b65ffffffffffff8516602084015282810360408401526110c7818561350b565b8481526080602082015260006138a6608083018661369b565b65ffffffffffff851660408401528281036060840152613830818561350b565b8281526000602080830184516020860160005b828110156138f5578151845292840192908401906001016138d9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b81810381811115610375576103756135ca565b8082028115828204841417610375576103756135ca565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516139a38160038601602089016134e7565b8084019050816003820152845191506139c38260048301602088016134e7565b0160040195945050505050565b6040815260006139e3604083018561350b565b90506001600160a01b03831660208301529392505050565b60008251613a0d8184602087016134e7565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611aee606083018461350b565b64ffffffffff818116838216019080821115613a7657613a766135ca565b5092915050565b87815260e060208201526000613a9660e083018961369b565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613acd818561350b565b9a9950505050505050505050565b60c081526000613aee60c083018961369b565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613b2a818561350b565b9998505050505050505050565b60008451613b498184602089016134e7565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b606081526000613b9c606083018661350b565b6020830194909452506040015291905056fea2646970667358221220e8d0422762b323af7dd9b134c79a30bc3bb2b0a478d968a0f09bb0e4312b59d264736f6c63430008180033","sourceMap":"1731:4263:204:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100d25760003560e01c8063512d62df1161007f578063b1ca210611610059578063b1ca21061461027a578063c41a360a1461029a578063e1af802c146102ba578063e429766e146102cf57600080fd5b8063512d62df146101c15780636b8ff574146101ee5780636fe0c0461461020e57600080fd5b80633d0854ae116100b05780633d0854ae1461016757806343d6582b1461018757806345ec9354146101a957600080fd5b806301ffc9a7146100d7578063119df25f1461010c578063143f302114610139575b600080fd5b3480156100e357600080fd5b506100f76100f23660046132f1565b6102e2565b60405190151581526020015b60405180910390f35b34801561011857600080fd5b5061012161037b565b6040516001600160a01b039091168152602001610103565b34801561014557600080fd5b506101596101543660046133a2565b61038a565b604051908152602001610103565b34801561017357600080fd5b5061015961018236600461344a565b610554565b34801561019357600080fd5b506101a76101a236600461344a565b6105d2565b005b3480156101b557600080fd5b5036601f190135610159565b3480156101cd57600080fd5b506101e16101dc36600461344a565b610704565b6040516101039190613497565b3480156101fa57600080fd5b5061015961020936600461344a565b61070f565b34801561021a57600080fd5b5061022e61022936600461344a565b61071a565b6040516101039190600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b34801561028657600080fd5b5061015961029536600461344a565b61075c565b3480156102a657600080fd5b506101216102b536600461344a565b610767565b3480156102c657600080fd5b50610121610772565b6101a76102dd3660046134aa565b61077c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061037557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006103856108f4565b905090565b6000610394610926565b905061039e610772565b6001600160a01b0316633ae7af086103d57f4368617261637465727300000000000000000000000000000000000000000000610955565b6040516001600160a01b03881660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152610481929190600401613537565b6000604051808303816000875af11580156104a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c89190810190613595565b506104d381856109a2565b6104dc83610a72565b1561052e5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064015b60405180910390fd5b610539836001610b17565b6105438184610bd0565b61054d8183610c52565b9392505050565b60006105606013610c89565b821061056e57506014919050565b60005b60148110156105cc578261058482610c89565b111580156105a35750826105a161059c8360016135e0565b610c89565b115b156105ba576105b38160016135e0565b91506105cc565b806105c4816135f3565b915050610571565b50919050565b6105db81610d05565b6106275760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610525565b61063081610d31565b1561067d5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610525565b61068f81674563918244f40000610db1565b610697610772565b6001600160a01b031663ce2d5a9a826040518263ffffffff1660e01b81526004016106c491815260200190565b600060405180830381600087803b1580156106de57600080fd5b505af11580156106f2573d6000803e3d6000fd5b50505050610701816001610e4c565b50565b600061037582610ed3565b600061037582610f6b565b6107536040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61037582610feb565b6000610375826110d1565b600061037582611166565b60006103856111f0565b61078582610d31565b156107f85760405162461bcd60e51b815260206004820152602860248201527f796f75206861766520616c72656164792061636365707465642074686973206360448201527f68617261637465720000000000000000000000000000000000000000000000006064820152608401610525565b61080182610d05565b61084d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610525565b600061085983836111fa565b6108ed84828560405160200161087191815260200190565b60408051601f198184030181529082905261089093929160240161360d565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526112b2565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806109235750335b90565b600080610931611360565b9050600061093e826113c8565b6109499060016135e0565b9050610375828261144d565b60006103757f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000006114f5565b604080516001808252818301909252600091602080830190803683370190505090508260001b816000815181106109db576109db613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610a4d919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f19818403018152919052663604001401200160c01b61156d565b505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610aab57610aab613635565b60209081029190910101526000610b037f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611622565b9050610b0f8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610b4d57610b4d613635565b602002602001018181525050610a6d7f746255440000000000000000000000004e616d6545786973747300000000000060001b82600085604051602001610b9b91151560f81b815260010190565b60408051601f198184030181529190527e0101000100000000000000000000000000000000000000000000000000000061156d565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110610c0957610c09613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610a4d91815260200190565b610c85610c7e7f43686172616374657273000000000000000000000000000000000000000000006116df565b838361172c565b5050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610cc557610cc5613635565b60209081029190910101526000610b0f7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611622565b6000610d1082611166565b6001600160a01b0316610d2161037b565b6001600160a01b03161492915050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610d6d57610d6d613635565b60209081029190910101526000610b037f7462554400000000000000000000000043686172616374657273000000000000836003663604001401200160c01b611622565b610db9611784565b6001600160a01b03166340c10f19610dd084610767565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015610e3057600080fd5b505af1158015610e44573d6000803e3d6000fd5b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110610e8557610e85613635565b602002602001018181525050610a6d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610a4d91151560f81b815260010190565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610f0f57610f0f613635565b60209081029190910101526000610f537f7462554400000000000000000000000043686172616374657273000000000000836001663604001401200160c01b611622565b905060f881901c6002811115610b0f57610b0f613463565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b81600081518110610fa757610fa7613635565b60209081029190910101526000610b0f7f7462554400000000000000000000000043686172616374657273000000000000836002663604001401200160c01b611622565b6110246040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061105d5761105d613635565b6020908102919091010152600080806110b67f7462554400000000000000000000000043686172616374657253746174730000857ec006002020202020200000000000000000000000000000000000000000000061178e565b9250925092506110c783838361185e565b9695505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061110d5761110d613635565b60209081029190910101526000610b0f7f74625544000000000000000000000000436861726163746572537461747300008360057ec0060020202020202000000000000000000000000000000000000000000000611622565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111a2576111a2613635565b602090810291909101015260006111e57f74625544000000000000000000000000436861726163746572730000000000008383663604001401200160c01b611622565b60601c949350505050565b60006103856118c2565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061123357611233613635565b6020908102919091010152610a6d7f746255440000000000000000000000004368617261637465727300000000000082600185600281111561127757611277613463565b604051602001610a4d919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60606000806112c86112c38561364b565b611901565b91509150816000801b0361132e576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610525565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610b0f82856119d1565b6040805160008082526020820190925260006113be7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611622565b60601c9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061140d5761140d613635565b60209081029190910101526000610b0f7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611622565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b8160008151811061148f5761148f613635565b602002602001018181525050610a6d7f74625544000000000000000000000000436f756e74657273000000000000000060001b826000856040516020016114d891815260200190565b60408051601f19818403018152919052630100080160dd1b61156d565b6000611503607060106135e0565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16176fffffffffffffffffffffffffffffffff19841690911c1790509392505050565b60006115776118c2565b9050306001600160a01b0382160361159b576115968686868686611aac565b610e44565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115e890899089908990899089906004016136d7565b600060405180830381600087803b15801561160257600080fd5b505af1158015611616573d6000803e3d6000fd5b50505050505050505050565b60008061162d6118c2565b9050306001600160a01b038216036116535761164b86868686611ac1565b915050610b0f565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061169e90899089908990899060040161371e565b602060405180830381865afa1580156116bb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b919061374d565b60006103757f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e5552490000000000000000000000000000000000000000000000006114f5565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061176557611765613635565b60200260200101818152505061177e8482600085611af7565b50505050565b6000610385611ba8565b606060006060600061179e6118c2565b9050306001600160a01b038216036117c7576117bb878787611c06565b93509350935050611855565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611810908a908a908a90600401613766565b600060405180830381865afa15801561182d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117bb919081019061378f565b93509350939050565b6118976040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6118a084611d0e565b60a0870152608086015260608501526040840152602083015281529392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806118fc573391505090565b919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168160008151811061195a5761195a613635565b6020908102919091010152600080806119b37f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061178e565b9250925092506119c4838383611d52565b9550955050505050915091565b606060006119dd6111f0565b90506001600160a01b0381163003611a1e576000611a056119fc6108f4565b60008787611d6a565b9350905080611a1757611a1783611ea5565b5050610375565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611a659087908790600401613537565b6000604051808303816000875af1158015611a84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b0f9190810190613595565b6108ed8585611abb8487611ead565b85611ee6565b6000611aee611ad0868661218a565b60ff858116601b0360080285901c16611ae98587611ead565b6121e0565b95945050505050565b6000611b016118c2565b9050306001600160a01b03821603611b2457611b1f85858585612231565b6108ed565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea86290611b6f9088908890889088906004016137fc565b600060405180830381600087803b158015611b8957600080fd5b505af1158015611b9d573d6000803e3d6000fd5b505050505050505050565b6040805160008082526020820190925260006113be7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e65060001141414141400000000000000000000000000000000000000000000611622565b6060600060606000611c178561226c565b9050611c2487878361228f565b93506000611c31866122c8565b90508015611d0357611c438888612305565b935066ffffffffffffff841667ffffffffffffffff811115611c6757611c67613333565b6040519080825280601f01601f191660200182016040528015611c91576020820181803683370190505b5092506020830160005b828160ff161015611d00576000611cb38b8b84612318565b90506000611cd0888460ff166028026038011c64ffffffffff1690565b9050611cdf8260008387612398565b611ce981856135e0565b935050508080611cf89061383b565b915050611c9b565b50505b505093509350939050565b600080600080600080611d25876000016020015190565b6040880151606089015160808a015160a08b015160c0909b0151939b929a91995097509550909350915050565b600080611d5e85612464565b90969095509350505050565b60006060600080611d7a86612479565b90925090506001600160a01b038216611dcb5785611d978761251d565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610525929190613537565b80611dda57611dda868961264b565b8615611e46577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000611e2e82612697565b9050611e4382611e3e8b846135e0565b612710565b50505b6000611e528760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614611e8a57611e85888884886127ac565b611e96565b611e9688888488612824565b90999098509650505050505050565b805160208201fd5b600080805b8360ff16811015611ede57611ed460ff601b83900360080287901c16836135e0565b9150600101611eb2565b509392505050565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603611f7057837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051611f639392919061385a565b60405180910390a261177e565b6000611f7c858561218a565b90506000611f8986612885565b905060005b815181101561205e576000828281518110611fab57611fab613635565b60200260200101519050611fd76004826affffffffffffffffffffff191661290e90919063ffffffff16565b15612055576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612022908b908b908b908b9060040161388d565b600060405180830381600087803b15801561203c57600080fd5b505af1158015612050573d6000803e3d6000fd5b505050505b50600101611f8e565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516120939392919061385a565b60405180910390a26120ae828565ffffffffffff168561292c565b60005b81518110156121815760008282815181106120ce576120ce613635565b602002602001015190506120fa6008826affffffffffffffffffffff191661290e90919063ffffffff16565b15612178576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612145908b908b908b908b9060040161388d565b600060405180830381600087803b15801561215f57600080fd5b505af1158015612173573d6000803e3d6000fd5b505050505b506001016120b1565b50505050505050565b6000828260405160200161219f9291906138c6565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106122065760208204840193506020828161220257612202613902565b0691505b508254600882021b602082900380841115611ede576001850154600882021c82179150509392505050565b600061223d8585612305565b9050600061225a828560ff166028026038011c64ffffffffff1690565b9050610e448686866000858888612942565b6000600861227c60026020613918565b612286919061392b565b9190911c919050565b6060816000036122ae575060408051602081019091526000815261054d565b60006122ba858561218a565b9050611aee81600085612d7c565b600060086001806122db60026020613918565b6122e59190613918565b6122ef9190613918565b6122f9919061392b565b8260ff911c1692915050565b600061054d6123148484612d9f565b5490565b6000838360405160200161232d9291906138c6565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561241f57602083106123c2576020830484019350602083816123be576123be613902565b0692505b821561241f5760208390036000818410156123e55750600019600884021c6123ef565b50600019600882021c5b8554600886021b81845116821982161784525081841161241057505061177e565b50600194909401939182900391015b5b602082106124415783548152600190930192601f1990910190602001612420565b811561177e576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106124b3576124b3613635565b60209081029190910101526000808061250c7f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611c06565b9250925092506119c4838383612df5565b606081601081901b600061253083612e01565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561258b576125867fffffffffffffffffffffffffffff0000000000000000000000000000000000008416612e18565b6125c2565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff198316156125e9576125e483612e18565b612620565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161263293929190613942565b6040516020818303038152906040529350505050919050565b6126558282612e9e565b610c85576126628261251d565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105259291906139d0565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106126d0576126d0613635565b60209081029190910101526000610b0f7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ac1565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061274657612746613635565b602002602001018181525050610a6d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161278f91815260200190565b60408051601f19818403018152919052630100080160dd1b611aac565b60006060836001600160a01b031660006127c7858989612efc565b6040516127d491906139fb565b60006040518083038185875af1925050503d8060008114612811576040519150601f19603f3d011682016040523d82523d6000602084013e612816565b606091505b509097909650945050505050565b60006060836001600160a01b031661283d848888612efc565b60405161284a91906139fb565b600060405180830381855af49150503d8060008114612811576040519150601f19603f3d011682016040523d82523d6000602084013e612816565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106128bf576128bf613635565b602090810291909101015260006128f77f746273746f726500000000000000000053746f7265486f6f6b730000000000008383612f2b565b9050610b0f6129098260008451612f65565b612ff3565b60008160ff168261291f8560581c90565b1660ff1614905092915050565b610a6d8383835161293d8560200190565b613004565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a02577f746200000000000000000000000000000000000000000000000000000000000087886040516020016129c091815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610525939291600401613a17565b6000612a1d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a369190613918565b612a4091906135e0565b9050808214158015612a62575081612a588688613a58565b64ffffffffff1614155b15612ab2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610525565b818664ffffffffff161115612b03576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610525565b6000612b108489846130c3565b90506000612b1d8b612885565b905060005b8151811015612be8576000828281518110612b3f57612b3f613635565b60200260200101519050612b6b6010826affffffffffffffffffffff191661290e90919063ffffffff16565b15612bdf57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612bac9796959493929190613a7d565b600060405180830381600087803b158015612bc657600080fd5b505af1158015612bda573d6000803e3d6000fd5b505050505b50600101612b22565b5064ffffffffff881660005b8a60ff168160ff161015612c2757612c1b878260ff166028026038011c64ffffffffff1690565b90910190600101612bf4565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612c6296959493929190613adb565b60405180910390a250828414612c83576000612c7e8c8c612d9f565b839055505b6000612c908c8c8c612318565b9050612ca4818a64ffffffffff168961292c565b5060005b8151811015612d6e576000828281518110612cc557612cc5613635565b60200260200101519050612cf16020826affffffffffffffffffffff191661290e90919063ffffffff16565b15612d6557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d329796959493929190613a7d565b600060405180830381600087803b158015612d4c57600080fd5b505af1158015612d60573d6000803e3d6000fd5b505050505b50600101612ca8565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252611ede85858584612398565b60008282604051602001612db49291906138c6565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600080611d5e85613191565b6000612e0f607060106135e0565b9190911b919050565b606060005b6010811015612e6e576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615612e6e57600101612e1d565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610b0f565b6000612eec7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836131ad565b8061054d575061054d83836131ad565b6060838383604051602001612f1393929190613b37565b60405160208183030381529060405290509392505050565b6060610b0f612f3b858585612318565b6000612f6085612f4b8989612305565b9060ff166028026038011c64ffffffffff1690565b612d7c565b600081831180612f755750835182115b15612fb2578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052593929190613b89565b60208401612fc084826135e0565b90506000612fce8585613918565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061054d8360156000613276565b821561307e576020831061302e5760208304840193506020838161302a5761302a613902565b0692505b821561307e5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161306f57505061177e565b50600194909401939182900391015b5b602082106130a05780518455600190930192601f199091019060200161307f565b811561177e576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613107576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610525565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106131395780850382019150613141565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612472565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106131e6576131e6613635565b602002602001018181525050826001600160a01b031660001b8160018151811061321257613212613635565b6020908102919091010152600061326a7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611ac1565b9050611aee8160f81c90565b606060006132848560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816132aa576132aa613902565b04905060405193506020840160208202810160405281855260005b828110156132e5578451871c8252938701936020909101906001016132c5565b50505050509392505050565b60006020828403121561330357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054d57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561337257613372613333565b604052919050565b600067ffffffffffffffff82111561339457613394613333565b50601f01601f191660200190565b6000806000606084860312156133b757600080fd5b83356001600160a01b03811681146133ce57600080fd5b925060208401359150604084013567ffffffffffffffff8111156133f157600080fd5b8401601f8101861361340257600080fd5b80356134156134108261337a565b613349565b81815287602083850101111561342a57600080fd5b816020840160208301376000602083830101528093505050509250925092565b60006020828403121561345c57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6003811061070157634e487b7160e01b600052602160045260246000fd5b602081016134a483613479565b91905290565b6000806000606084860312156134bf57600080fd5b83359250602084013591506040840135600381106134dc57600080fd5b809150509250925092565b60005b838110156135025781810151838201526020016134ea565b50506000910152565b600081518084526135238160208601602086016134e7565b601f01601f19169290920160200192915050565b828152604060208201526000610b0f604083018461350b565b600082601f83011261356157600080fd5b815161356f6134108261337a565b81815284602083860101111561358457600080fd5b610b0f8260208301602087016134e7565b6000602082840312156135a757600080fd5b815167ffffffffffffffff8111156135be57600080fd5b610b0f84828501613550565b634e487b7160e01b600052601160045260246000fd5b80820180821115610375576103756135ca565b60006000198203613606576136066135ca565b5060010190565b83815261361983613479565b826020820152606060408201526000611aee606083018461350b565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156136935780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b838110156136cc578151875295820195908201906001016136b0565b509495945050505050565b85815260a0602082015260006136f060a083018761369b565b60ff86166040840152828103606084015261370b818661350b565b9150508260808301529695505050505050565b848152608060208201526000613737608083018661369b565b60ff949094166040830152506060015292915050565b60006020828403121561375f57600080fd5b5051919050565b83815260606020820152600061377f606083018561369b565b9050826040830152949350505050565b6000806000606084860312156137a457600080fd5b835167ffffffffffffffff808211156137bc57600080fd5b6137c887838801613550565b94506020860151935060408601519150808211156137e557600080fd5b506137f286828701613550565b9150509250925092565b848152608060208201526000613815608083018661369b565b60ff851660408401528281036060840152613830818561350b565b979650505050505050565b600060ff821660ff8103613851576138516135ca565b60010192915050565b60608152600061386d606083018661369b565b65ffffffffffff8516602084015282810360408401526110c7818561350b565b8481526080602082015260006138a6608083018661369b565b65ffffffffffff851660408401528281036060840152613830818561350b565b8281526000602080830184516020860160005b828110156138f5578151845292840192908401906001016138d9565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b81810381811115610375576103756135ca565b8082028115828204841417610375576103756135ca565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516139a38160038601602089016134e7565b8084019050816003820152845191506139c38260048301602088016134e7565b0160040195945050505050565b6040815260006139e3604083018561350b565b90506001600160a01b03831660208301529392505050565b60008251613a0d8184602087016134e7565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611aee606083018461350b565b64ffffffffff818116838216019080821115613a7657613a766135ca565b5092915050565b87815260e060208201526000613a9660e083018961369b565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613acd818561350b565b9a9950505050505050505050565b60c081526000613aee60c083018961369b565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613b2a818561350b565b9998505050505050505050565b60008451613b498184602089016134e7565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b606081526000613b9c606083018661350b565b6020830194909452506040015291905056fea2646970667358221220e8d0422762b323af7dd9b134c79a30bc3bb2b0a478d968a0f09bb0e4312b59d264736f6c63430008180033","sourceMap":"1731:4263:204:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;516:14:218;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:218;;;689:74;;677:2;662:18;1262:113:123;543:226:218;2384:659:204;;;;;;;;;;-1:-1:-1;2384:659:204;;;;;:::i;:::-;;:::i;:::-;;;2642:25:218;;;2630:2;2615:18;2384:659:204;2496:177:218;3990:483:204;;;;;;;;;;-1:-1:-1;3990:483:204;;;;;:::i;:::-;;:::i;3602:382::-;;;;;;;;;;-1:-1:-1;3602:382:204;;;;;:::i;:::-;;:::i;:::-;;1616:110:123;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1908:134:204;;;;;;;;;;-1:-1:-1;1908:134:204;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1772:130::-;;;;;;;;;;-1:-1:-1;1772:130:204;;;;;:::i;:::-;;:::i;5841:151::-;;;;;;;;;;-1:-1:-1;5841:151:204;;;;;:::i;:::-;;:::i;:::-;;;;;;3913:4:218;3955:3;3944:9;3940:19;3932:27;;3992:6;3986:13;3975:9;3968:32;4056:4;4048:6;4044:17;4038:24;4031:4;4020:9;4016:20;4009:54;4119:4;4111:6;4107:17;4101:24;4094:4;4083:9;4079:20;4072:54;4182:4;4174:6;4170:17;4164:24;4157:4;4146:9;4142:20;4135:54;4245:4;4237:6;4233:17;4227:24;4220:4;4209:9;4205:20;4198:54;4308:4;4300:6;4296:17;4290:24;4283:4;4272:9;4268:20;4261:54;3745:576;;;;;5696:139:204;;;;;;;;;;-1:-1:-1;5696:139:204;;;;;:::i;:::-;;:::i;5286:125::-;;;;;;;;;;-1:-1:-1;5286:125:204;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;3049:547:204:-;;;;;;:::i;:::-;;:::i;2331:198:123:-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;2384:659:204:-;2494:19;2543:28;:26;:28::i;:::-;2529:42;;2645:8;:6;:8::i;:::-;-1:-1:-1;;;;;2638:21:204;;2673:37;2689:20;2673:15;:37::i;:::-;2712:60;;-1:-1:-1;;;;;4929:55:218;;2712:60:204;;;4911:74:218;5001:18;;;4994:34;;;4884:18;;2712:60:204;;;-1:-1:-1;;2712:60:204;;;;;;;;;;;;;;;;;;;;2638:144;;2712:60;2638:144;;;;;;;;;2712:60;2638:144;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2638:144:204;;;;;;;;;;;;:::i;:::-;;2793:41;2813:11;2826:7;2793:19;:41::i;:::-;2854:25;2874:4;2854:19;:25::i;:::-;2853:26;2845:58;;;;-1:-1:-1;;;2845:58:204;;6942:2:218;2845:58:204;;;6924:21:218;6981:2;6961:18;;;6954:30;7020:21;7000:18;;;6993:49;7059:18;;2845:58:204;;;;;;;;;2913:31;2933:4;2939;2913:19;:31::i;:::-;2954:37;2973:11;2986:4;2954:18;:37::i;:::-;3001:35;3014:11;3027:8;3001:12;:35::i;:::-;2384:659;;;;;:::o;3990:483::-;4056:20;4106:14;4117:2;4106:10;:14::i;:::-;4092:10;:28;4088:379;;-1:-1:-1;4151:2:204;3990:483;;;:::o;4088:379::-;4189:9;4184:273;4204:2;4200:1;:6;4184:273;;;4248:10;4231:13;4242:1;4231:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;4282:10:204;4262:17;4273:5;:1;4277;4273:5;:::i;:::-;4262:10;:17::i;:::-;:30;4231:61;4227:155;;;4331:5;:1;4335;4331:5;:::i;:::-;4316:20;;4358:5;;4227:155;4421:3;;;;:::i;:::-;;;;4184:273;;;;3990:483;;;:::o;3602:382::-;3667:21;3676:11;3667:8;:21::i;:::-;3659:52;;;;-1:-1:-1;;;3659:52:204;;7809:2:218;3659:52:204;;;7791:21:218;7848:2;7828:18;;;7821:30;7887:20;7867:18;;;7860:48;7925:18;;3659:52:204;7607:342:218;3659:52:204;3730:33;3751:11;3730:20;:33::i;:::-;3729:34;3721:72;;;;-1:-1:-1;;;3721:72:204;;8156:2:218;3721:72:204;;;8138:21:218;8195:2;8175:18;;;8168:30;8234:27;8214:18;;;8207:55;8279:18;;3721:72:204;7954:349:218;3721:72:204;3804:31;3814:11;3827:7;3804:9;:31::i;:::-;3883:8;:6;:8::i;:::-;-1:-1:-1;;;;;3876:38:204;;3915:11;3876:51;;;;;;;;;;;;;2642:25:218;;2630:2;2615:18;;2496:177;3876:51:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3938:39;3959:11;3972:4;3938:20;:39::i;:::-;3602:382;:::o;1908:134::-;1968:14;2003:32;2023:11;2003:19;:32::i;1772:130::-;1831:13;1864:31;1883:11;1864:18;:31::i;5841:151::-;5910:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:25:204;5954:31;5973:11;5954:18;:31::i;5696:139::-;5761:7;5787:41;5816:11;5787:28;:41::i;5286:125::-;5346:7;5372:32;5392:11;5372:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;3049:547:204:-;3164:33;3185:11;3164:20;:33::i;:::-;3163:34;3155:87;;;;-1:-1:-1;;;3155:87:204;;8510:2:218;3155:87:204;;;8492:21:218;8549:2;8529:18;;;8522:30;8588:34;8568:18;;;8561:62;8659:10;8639:18;;;8632:38;8687:19;;3155:87:204;8308:404:218;3155:87:204;3260:21;3269:11;3260:8;:21::i;:::-;3252:53;;;;-1:-1:-1;;;3252:53:204;;8919:2:218;3252:53:204;;;8901:21:218;8958:2;8938:18;;;8931:30;8997:21;8977:18;;;8970:49;9036:18;;3252:53:204;8717:343:218;3252:53:204;3315:26;3383:39;3403:11;3416:5;3383:19;:39::i;:::-;3479:110;3532:16;3550:11;3574;3563:23;;;;;;2642:25:218;;2630:2;2615:18;;2496:177;3563:23:204;;;;-1:-1:-1;;3563:23:204;;;;;;;;;;3497:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;3497:91:204;;;;;;;;;;;;;;;;;;;;3479:17;:110::i;:::-;;3145:451;3049:547;;;:::o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4653:341:204:-;4709:7;4728:25;4756:42;:40;:42::i;:::-;4728:70;;4808:24;4835:47;4863:17;4835:19;:47::i;:::-;:51;;4885:1;4835:51;:::i;:::-;4808:78;;4896:58;4916:17;4936:16;4896:19;:58::i;998:186:211:-;1056:10;1081:100;1116:15;1144:9;1161:18;1081:25;:100::i;3561:267:178:-;3659:16;;;3673:1;3659:16;;;;;;;;;3630:26;;3659:16;;;;;;;;;;;-1:-1:-1;3659:16:178;3630:45;;3712:11;3696:29;;3681:9;3691:1;3681:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3732:91;1226:66;1210:83;;3769:9;3780:1;3801:5;3783:25;;;;;;;9832:2:218;9828:15;;;;9845:66;9824:88;9812:101;;9938:2;9929:12;;9683:264;3783:25:178;;;;-1:-1:-1;;3783:25:178;;;;;;;;;-1:-1:-1;;;3732:26:178;:91::i;:::-;3624:204;3561:267;;:::o;2594:287:188:-;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:188;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:188:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:188;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;10103:14:218;10096:22;10091:3;10087:32;10075:45;;10145:1;10136:11;;9952:201;4085:25:188;;;;-1:-1:-1;;4085:25:188;;;;;;;;;1198:66;4034:26;:91::i;6170:264:178:-;6266:16;;;6280:1;6266:16;;;;;;;;;6237:26;;6266:16;;;;;;;;;;;-1:-1:-1;6266:16:178;6237:45;;6319:11;6303:29;;6288:9;6298:1;6288:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6339:90;1226:66;1210:83;;6376:9;6387:1;6408:4;6390:24;;;;;;10287:19:218;;10331:2;10322:12;;10158:182;4479:168:204;4561:79;4582:38;4599:20;4582:16;:38::i;:::-;4622:7;4631:8;4561:20;:79::i;:::-;4479:168;;:::o;3297:296:182:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:182;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:182;:64::i;5140:140:204:-;5202:4;5241:32;5261:11;5241:19;:32::i;:::-;-1:-1:-1;;;;;5225:48:204;:12;:10;:12::i;:::-;-1:-1:-1;;;;;5225:48:204;;;5140:140;-1:-1:-1;;5140:140:204:o;6777:313:178:-;6888:16;;;6902:1;6888:16;;;;;;;;;6840:11;;;;6888:16;;;;;;;;;;;;-1:-1:-1;6888:16:178;6859:45;;6941:11;6925:29;;6910:9;6920:1;6910:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;6961:13;6977:64;1226:66;7014:9;7025:1;-1:-1:-1;;;6977:26:178;:64::i;5417:125:204:-;5492:7;:5;:7::i;:::-;-1:-1:-1;;;;;5492:12:204;;5505:21;5514:11;5505:8;:21::i;:::-;5492:43;;;;;;;;;;-1:-1:-1;;;;;4929:55:218;;;5492:43:204;;;4911:74:218;5001:18;;;4994:34;;;4884:18;;5492:43:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5417:125;;:::o;7484:267:178:-;7581:16;;;7595:1;7581:16;;;;;;;;;7552:26;;7581:16;;;;;;;;;;;-1:-1:-1;7581:16:178;7552:45;;7634:11;7618:29;;7603:9;7613:1;7603:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7654:92;1226:66;1210:83;;7691:9;7702:1;7723:6;7705:26;;;;;;10103:14:218;10096:22;10091:3;10087:32;10075:45;;10145:1;10136:11;;9952:201;4174:312:178;4286:16;;;4300:1;4286:16;;;;;;;;;4236:13;;;;4286:16;;;;;;;;;;;;-1:-1:-1;4286:16:178;4257:45;;4339:11;4323:29;;4308:9;4318:1;4308:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;4359:13;4375:64;1226:66;4412:9;4423:1;-1:-1:-1;;;4375:26:178;:64::i;:::-;4359:80;-1:-1:-1;4460:20:178;;;;4452:29;;;;;;;;:::i;5499:297::-;5609:16;;;5623:1;5609:16;;;;;;;;;5560:12;;;;5609:16;;;;;;;;;;;;-1:-1:-1;5609:16:178;5580:45;;5662:11;5646:29;;5631:9;5641:1;5631:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;5682:13;5698:64;1226:66;5735:9;5746:1;-1:-1:-1;;;5698:26:178;:64::i;11229:435:177:-;11286:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11286:32:177;11355:16;;;11369:1;11355:16;;;;;;;;;11326:26;;11355:16;;;;;;;;;;;-1:-1:-1;11355:16:177;11326:45;;11408:11;11392:29;;11377:9;11387:1;11377:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;11429:24;;;11516:80;1236:66;11561:9;1365:66;11516:21;:80::i;:::-;11428:168;;;;;;11609:50;11616:11;11629:15;11646:12;11609:6;:50::i;:::-;11602:57;11229:435;-1:-1:-1;;;;;;11229:435:177:o;9848:318::-;9970:16;;;9984:1;9970:16;;;;;;;;;9915:18;;;;9970:16;;;;;;;;;;;;-1:-1:-1;9970:16:177;9941:45;;10023:11;10007:29;;9992:9;10002:1;9992:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;10043:13;10059:64;1236:66;10096:9;10107:1;1365:66;10059:26;:64::i;2866:308:178:-;2978:16;;;2992:1;2978:16;;;;;;;;;2928:13;;;;2978:16;;;;;;;;;;;;-1:-1:-1;2978:16:178;2949:45;;3031:11;3015:29;;3000:9;3010:1;3000:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3051:13;3067:64;1226:66;3104:9;3051:13;-1:-1:-1;;;3067:26:178;:64::i;:::-;3145:23;;;2866:308;-1:-1:-1;;;;2866:308:178:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;4877:272:178:-;4975:16;;;4989:1;4975:16;;;;;;;;;4946:26;;4975:16;;;;;;;;;;;-1:-1:-1;4975:16:178;4946:45;;5028:11;5012:29;;4997:9;5007:1;4997:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;5048:96;1226:66;5085:9;5096:1;5122:5;5116:12;;;;;;;;:::i;:::-;5099:30;;;;;;;10490:3:218;10486:16;;;;10504:66;10482:89;10470:102;;10597:1;10588:11;;10345:260;3318:662:107;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;11166:98:218;11139:18;;3713:52:107;11022:248:218;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;5084:257:193:-;5195:16;;;5136:22;5195:16;;;;;;;;;5218:13;5234:64;1248:66;5166:45;5282:1;1377:66;5234:26;:64::i;:::-;5312:23;;;5084:257;-1:-1:-1;;;5084:257:193:o;2604:329:180:-;2724:16;;;2738:1;2724:16;;;;;;;;;2672:15;;;;2724:16;;;;;;;;;;;;-1:-1:-1;2724:16:180;2695:45;;2785:15;-1:-1:-1;;;;;2769:33:180;2761:42;;2746:9;2756:1;2746:12;;;;;;;;:::i;:::-;;;;;;;;;;:57;2810:13;2826:64;1065:66;2863:9;2810:13;-1:-1:-1;;;2826:26:180;:64::i;4072:290::-;4178:16;;;4192:1;4178:16;;;;;;;;;4149:26;;4178:16;;;;;;;;;;;-1:-1:-1;4178:16:180;4149:45;;4239:15;-1:-1:-1;;;;;4223:33:180;4215:42;;4200:9;4210:1;4200:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4264:93;1065:66;1049:83;;4301:9;4312:1;4333:7;4315:27;;;;;;10287:19:218;;10331:2;10322:12;;10158:182;4315:27:180;;;;-1:-1:-1;;4315:27:180;;;;;;;;;-1:-1:-1;;;4264:26:180;:93::i;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;1189:15;;;1208:31;451:5:41;1208:31:124;;;;1189:51;-1:-1:-1;;1244:13:124;;:45;;;1189:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;:::-;3898:179;3806:271;;;:::o;5000:134:204:-;5040:17;5089:37;:35;:37::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;15557:337:177:-;15668:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15668:32:177;15864:25;15877:11;15864:12;:25::i;:::-;15838:17;;;15708:181;15812:18;;;15708:181;15788:16;;;15708:181;15761:19;;;15708:181;15739:14;;;15708:181;;;15716:6;15557:337;-1:-1:-1;;;15557:337:177:o;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:45:o;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;3995:247:193:-;4096:16;;;4042:17;4096:16;;;;;;;;;4119:13;4135:64;1248:66;4067:45;4183:1;1377:66;4135:26;:64::i;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;14796:603:177:-;14888:16;14912:15;14935:20;14963:17;14988:18;15014;15067:26;15084:5;15091:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;15067:26:177;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;15059:35:177;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;14796:603:177;-1:-1:-1;;14796:603:177:o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;51823:242:45;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;;-1:-1:-1;52054:6:45;51823:242;-1:-1:-1;;;51823:242:45:o;17013:1682::-;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;10287:19:218;;10331:2;10322:12;;10158:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;10287:19:218;;10331:2;10322:12;;10158:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;20527:12:218;20566:15;;;45340:92:45;;;20548:34:218;20618:15;;;20598:18;;;20591:43;20670:15;;20650:18;;;20643:43;20490:18;;45340:92:45;20321:371:218;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;20870:25:218;;;20943:12;20931:25;;20911:18;;;20904:53;20843:18;;45581:74:45;20697:266:218;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;5042:669:44:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;22808:79:218;;2092:30:124;;;22796:92:218;2092:30:124;;22904:12:218;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;2642:25:218;;;2615:18;;7664:67:24;2496:177:218;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:188;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:188;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;14:332:218:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:218;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:334;1034:2;1028:9;1090:2;1080:13;;-1:-1:-1;;1076:86:218;1064:99;;1193:18;1178:34;;1214:22;;;1175:62;1172:88;;;1240:18;;:::i;:::-;1276:2;1269:22;963:334;;-1:-1:-1;963:334:218:o;1302:246::-;1351:4;1384:18;1376:6;1373:30;1370:56;;;1406:18;;:::i;:::-;-1:-1:-1;1463:2:218;1451:15;-1:-1:-1;;1447:88:218;1537:4;1443:99;;1302:246::o;1553:938::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1764:9;1751:23;-1:-1:-1;;;;;1807:5:218;1803:54;1796:5;1793:65;1783:93;;1872:1;1869;1862:12;1783:93;1895:5;-1:-1:-1;1947:2:218;1932:18;;1919:32;;-1:-1:-1;2002:2:218;1987:18;;1974:32;2029:18;2018:30;;2015:50;;;2061:1;2058;2051:12;2015:50;2084:22;;2137:4;2129:13;;2125:27;-1:-1:-1;2115:55:218;;2166:1;2163;2156:12;2115:55;2202:2;2189:16;2227:49;2243:32;2272:2;2243:32;:::i;:::-;2227:49;:::i;:::-;2299:2;2292:5;2285:17;2339:7;2334:2;2329;2325;2321:11;2317:20;2314:33;2311:53;;;2360:1;2357;2350:12;2311:53;2415:2;2410;2406;2402:11;2397:2;2390:5;2386:14;2373:45;2459:1;2454:2;2449;2442:5;2438:14;2434:23;2427:34;2480:5;2470:15;;;;;1553:938;;;;;:::o;2678:180::-;2737:6;2790:2;2778:9;2769:7;2765:23;2761:32;2758:52;;;2806:1;2803;2796:12;2758:52;-1:-1:-1;2829:23:218;;2678:180;-1:-1:-1;2678:180:218:o;2863:184::-;-1:-1:-1;;;2912:1:218;2905:88;3012:4;3009:1;3002:15;3036:4;3033:1;3026:15;3052:266;3132:1;3125:5;3122:12;3112:200;;-1:-1:-1;;;3165:1:218;3158:88;3269:4;3266:1;3259:15;3297:4;3294:1;3287:15;3323:235;3469:2;3454:18;;3481:37;3511:6;3481:37;:::i;:::-;3527:25;;;3323:235;:::o;4326:406::-;4417:6;4425;4433;4486:2;4474:9;4465:7;4461:23;4457:32;4454:52;;;4502:1;4499;4492:12;4454:52;4538:9;4525:23;4515:33;;4595:2;4584:9;4580:18;4567:32;4557:42;;4649:2;4638:9;4634:18;4621:32;4682:1;4675:5;4672:12;4662:40;;4698:1;4695;4688:12;4662:40;4721:5;4711:15;;;4326:406;;;;;:::o;5039:250::-;5124:1;5134:113;5148:6;5145:1;5142:13;5134:113;;;5224:11;;;5218:18;5205:11;;;5198:39;5170:2;5163:10;5134:113;;;-1:-1:-1;;5281:1:218;5263:16;;5256:27;5039:250::o;5294:329::-;5335:3;5373:5;5367:12;5400:6;5395:3;5388:19;5416:76;5485:6;5478:4;5473:3;5469:14;5462:4;5455:5;5451:16;5416:76;:::i;:::-;5537:2;5525:15;-1:-1:-1;;5521:88:218;5512:98;;;;5612:4;5508:109;;5294:329;-1:-1:-1;;5294:329:218:o;5628:320::-;5835:6;5824:9;5817:25;5878:2;5873;5862:9;5858:18;5851:30;5798:4;5898:44;5938:2;5927:9;5923:18;5915:6;5898:44;:::i;5953:442::-;6006:5;6059:3;6052:4;6044:6;6040:17;6036:27;6026:55;;6077:1;6074;6067:12;6026:55;6106:6;6100:13;6137:49;6153:32;6182:2;6153:32;:::i;6137:49::-;6211:2;6202:7;6195:19;6257:3;6250:4;6245:2;6237:6;6233:15;6229:26;6226:35;6223:55;;;6274:1;6271;6264:12;6223:55;6287:77;6361:2;6354:4;6345:7;6341:18;6334:4;6326:6;6322:17;6287:77;:::i;6400:335::-;6479:6;6532:2;6520:9;6511:7;6507:23;6503:32;6500:52;;;6548:1;6545;6538:12;6500:52;6581:9;6575:16;6614:18;6606:6;6603:30;6600:50;;;6646:1;6643;6636:12;6600:50;6669:60;6721:7;6712:6;6701:9;6697:22;6669:60;:::i;7088:184::-;-1:-1:-1;;;7137:1:218;7130:88;7237:4;7234:1;7227:15;7261:4;7258:1;7251:15;7277:125;7342:9;;;7363:10;;;7360:36;;;7376:18;;:::i;7407:195::-;7446:3;-1:-1:-1;;7470:5:218;7467:77;7464:103;;7547:18;;:::i;:::-;-1:-1:-1;7594:1:218;7583:13;;7407:195::o;9065:424::-;9287:6;9276:9;9269:25;9303:37;9333:6;9303:37;:::i;:::-;9376:6;9371:2;9360:9;9356:18;9349:34;9419:2;9414;9403:9;9399:18;9392:30;9250:4;9439:44;9479:2;9468:9;9464:18;9456:6;9439:44;:::i;9494:184::-;-1:-1:-1;;;9543:1:218;9536:88;9643:4;9640:1;9633:15;9667:4;9664:1;9657:15;10610:407;10693:5;10733;10727:12;10775:4;10768:5;10764:16;10758:23;10800:66;10892:2;10888;10884:11;10875:20;;10918:1;10910:6;10907:13;10904:107;;;10998:2;10992;10982:6;10979:1;10975:14;10972:1;10968:22;10964:31;10960:2;10956:40;10952:49;10943:58;;10904:107;;;;10610:407;;;:::o;11462:439::-;11515:3;11553:5;11547:12;11580:6;11575:3;11568:19;11606:4;11635;11630:3;11626:14;11619:21;;11674:4;11667:5;11663:16;11697:1;11707:169;11721:6;11718:1;11715:13;11707:169;;;11782:13;;11770:26;;11816:12;;;;11851:15;;;;11743:1;11736:9;11707:169;;;-1:-1:-1;11892:3:218;;11462:439;-1:-1:-1;;;;;11462:439:218:o;11906:709::-;12276:6;12265:9;12258:25;12319:3;12314:2;12303:9;12299:18;12292:31;12239:4;12346:57;12398:3;12387:9;12383:19;12375:6;12346:57;:::i;:::-;12451:4;12443:6;12439:17;12434:2;12423:9;12419:18;12412:45;12505:9;12497:6;12493:22;12488:2;12477:9;12473:18;12466:50;12533:32;12558:6;12550;12533:32;:::i;:::-;12525:40;;;12602:6;12596:3;12585:9;12581:19;12574:35;11906:709;;;;;;;;:::o;12620:548::-;12944:6;12933:9;12926:25;12987:3;12982:2;12971:9;12967:18;12960:31;12907:4;13008:57;13060:3;13049:9;13045:19;13037:6;13008:57;:::i;:::-;13113:4;13101:17;;;;13096:2;13081:18;;13074:45;-1:-1:-1;13150:2:218;13135:18;13128:34;13000:65;12620:548;-1:-1:-1;;12620:548:218:o;13173:184::-;13243:6;13296:2;13284:9;13275:7;13271:23;13267:32;13264:52;;;13312:1;13309;13302:12;13264:52;-1:-1:-1;13335:16:218;;13173:184;-1:-1:-1;13173:184:218:o;13362:468::-;13662:6;13651:9;13644:25;13705:2;13700;13689:9;13685:18;13678:30;13625:4;13725:56;13777:2;13766:9;13762:18;13754:6;13725:56;:::i;:::-;13717:64;;13817:6;13812:2;13801:9;13797:18;13790:34;13362:468;;;;;;:::o;13835:655::-;13977:6;13985;13993;14046:2;14034:9;14025:7;14021:23;14017:32;14014:52;;;14062:1;14059;14052:12;14014:52;14095:9;14089:16;14124:18;14165:2;14157:6;14154:14;14151:34;;;14181:1;14178;14171:12;14151:34;14204:60;14256:7;14247:6;14236:9;14232:22;14204:60;:::i;:::-;14194:70;;14304:2;14293:9;14289:18;14283:25;14273:35;;14354:2;14343:9;14339:18;14333:25;14317:41;;14383:2;14373:8;14370:16;14367:36;;;14399:1;14396;14389:12;14367:36;;14422:62;14476:7;14465:8;14454:9;14450:24;14422:62;:::i;:::-;14412:72;;;13835:655;;;;;:::o;14495:604::-;14804:6;14793:9;14786:25;14847:3;14842:2;14831:9;14827:18;14820:31;14767:4;14874:57;14926:3;14915:9;14911:19;14903:6;14874:57;:::i;:::-;14979:4;14971:6;14967:17;14962:2;14951:9;14947:18;14940:45;15033:9;15025:6;15021:22;15016:2;15005:9;15001:18;14994:50;15061:32;15086:6;15078;15061:32;:::i;:::-;15053:40;14495:604;-1:-1:-1;;;;;;;14495:604:218:o;15104:175::-;15141:3;15185:4;15178:5;15174:16;15214:4;15205:7;15202:17;15199:43;;15222:18;;:::i;:::-;15271:1;15258:15;;15104:175;-1:-1:-1;;15104:175:218:o;15611:511::-;15862:2;15851:9;15844:21;15825:4;15888:56;15940:2;15929:9;15925:18;15917:6;15888:56;:::i;:::-;15992:14;15984:6;15980:27;15975:2;15964:9;15960:18;15953:55;16056:9;16048:6;16044:22;16039:2;16028:9;16024:18;16017:50;16084:32;16109:6;16101;16084:32;:::i;16127:616::-;16438:6;16427:9;16420:25;16481:3;16476:2;16465:9;16461:18;16454:31;16401:4;16508:57;16560:3;16549:9;16545:19;16537:6;16508:57;:::i;:::-;16613:14;16605:6;16601:27;16596:2;16585:9;16581:18;16574:55;16677:9;16669:6;16665:22;16660:2;16649:9;16645:18;16638:50;16705:32;16730:6;16722;16705:32;:::i;16748:640::-;16999:6;16994:3;16987:19;16969:3;17025:2;17058;17053:3;17049:12;17090:6;17084:13;17155:2;17147:6;17143:15;17176:1;17186:175;17200:6;17197:1;17194:13;17186:175;;;17263:13;;17249:28;;17299:14;;;;17336:15;;;;17222:1;17215:9;17186:175;;;-1:-1:-1;17377:5:218;;16748:640;-1:-1:-1;;;;;;;16748:640:218:o;17393:184::-;-1:-1:-1;;;17442:1:218;17435:88;17542:4;17539:1;17532:15;17566:4;17563:1;17556:15;17582:128;17649:9;;;17670:11;;;17667:37;;;17684:18;;:::i;17715:168::-;17788:9;;;17819;;17836:15;;;17830:22;;17816:37;17806:71;;17857:18;;:::i;17888:925::-;18337:66;18329:6;18325:79;18320:3;18313:92;18295:3;18424;18456:2;18452:1;18447:3;18443:11;18436:23;18488:6;18482:13;18504:74;18571:6;18567:1;18562:3;18558:11;18551:4;18543:6;18539:17;18504:74;:::i;:::-;18606:6;18601:3;18597:16;18587:26;;18641:2;18637:1;18633:2;18629:10;18622:22;18675:6;18669:13;18653:29;;18691:75;18757:8;18753:1;18749:2;18745:10;18738:4;18730:6;18726:17;18691:75;:::i;:::-;18786:17;18805:1;18782:25;;17888:925;-1:-1:-1;;;;;17888:925:218:o;18818:339::-;18995:2;18984:9;18977:21;18958:4;19015:44;19055:2;19044:9;19040:18;19032:6;19015:44;:::i;:::-;19007:52;;-1:-1:-1;;;;;19099:6:218;19095:55;19090:2;19079:9;19075:18;19068:83;18818:339;;;;;:::o;19162:287::-;19291:3;19329:6;19323:13;19345:66;19404:6;19399:3;19392:4;19384:6;19380:17;19345:66;:::i;:::-;19427:16;;;;;19162:287;-1:-1:-1;;19162:287:218:o;19673:464::-;19920:66;19912:6;19908:79;19897:9;19890:98;20024:6;20019:2;20008:9;20004:18;19997:34;20067:2;20062;20051:9;20047:18;20040:30;19871:4;20087:44;20127:2;20116:9;20112:18;20104:6;20087:44;:::i;20142:174::-;20209:12;20241:10;;;20253;;;20237:27;;20276:11;;;20273:37;;;20290:18;;:::i;:::-;20273:37;20142:174;;;;:::o;20968:901::-;21393:6;21382:9;21375:25;21436:3;21431:2;21420:9;21416:18;21409:31;21356:4;21463:57;21515:3;21504:9;21500:19;21492:6;21463:57;:::i;:::-;21568:4;21556:17;;21551:2;21536:18;;21529:45;21593:12;21641:15;;;21636:2;21621:18;;21614:43;21694:15;;21688:3;21673:19;;21666:44;21741:3;21726:19;;21719:35;;;21791:22;;;21785:3;21770:19;;21763:51;21831:32;21795:6;21848;21831:32;:::i;:::-;21823:40;20968:901;-1:-1:-1;;;;;;;;;;20968:901:218:o;21874:788::-;22239:3;22228:9;22221:22;22202:4;22266:57;22318:3;22307:9;22303:19;22295:6;22266:57;:::i;:::-;22371:4;22363:6;22359:17;22354:2;22343:9;22339:18;22332:45;22425:14;22417:6;22413:27;22408:2;22397:9;22393:18;22386:55;22489:12;22481:6;22477:25;22472:2;22461:9;22457:18;22450:53;22540:6;22534:3;22523:9;22519:19;22512:35;22596:9;22588:6;22584:22;22578:3;22567:9;22563:19;22556:51;22624:32;22649:6;22641;22624:32;:::i;:::-;22616:40;21874:788;-1:-1:-1;;;;;;;;;21874:788:218:o;22927:530::-;23112:3;23150:6;23144:13;23166:66;23225:6;23220:3;23213:4;23205:6;23201:17;23166:66;:::i;:::-;23301:2;23297:15;;;;23314:66;23293:88;23254:16;;;;23279:103;;;23409:2;23398:14;;23391:30;;;;23448:2;23437:14;;22927:530;-1:-1:-1;;22927:530:218:o;23462:359::-;23665:2;23654:9;23647:21;23628:4;23685:44;23725:2;23714:9;23710:18;23702:6;23685:44;:::i;:::-;23760:2;23745:18;;23738:34;;;;-1:-1:-1;23803:2:218;23788:18;23781:34;23677:52;23462:359;-1:-1:-1;23462:359:218:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(uint256)":"43d6582b","getCharacterStats(uint256)":"6fe0c046","getClass(uint256)":"512d62df","getCurrentLevel(uint256)":"3d0854ae","getExperience(uint256)":"b1ca2106","getName(uint256)":"6b8ff574","getOwner(uint256)":"c41a360a","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,uint256,uint8)":"e429766e","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"getCharacterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"damageTaken\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"internalType\":\"struct CharacterStatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0x3805ebdbf149723e756bebf2a863c81de7fcfed38bdd80088499976fd9655edd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee8815489329de627fab52b7cc611ae703346c6a0bcb53d6d5403badf58b0264\",\"dweb:/ipfs/Qmez2tYv4rtF4kcyC2EyAr8DgAmBdMA3cUsyAGtpt5RFDQ\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf2a99956e725d137a95cb987b7dd4e1b38a9250e7b5ee62aa8fe5d7890d05525\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ca5ef8c6b910dcaa9c378850c4fc08e4ac77f5cbb60f08042708005d0236246\",\"dweb:/ipfs/QmSW43brvMvLZtyDDDqpQr2uzPdAdKvEHDNqy88sNMbZmT\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74\",\"dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xd172cd15d5c85a660110c0cfdab2562e64c26d5d215c3a56478be7bb639f4ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://628bb2ad2860cae232cf49744e940d9829727fad8bcab745deab707eece4efa5\",\"dweb:/ipfs/QmZ3x6znC3Km4hGxgxARCKdnKRa9AatiFgGVdEZzBP5iw8\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xb76e5c75e445427aed7dd080b473d83c8cdae669cad005231da7be69e0100c6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34bf576714068f92596b61043352fa6fd6f4c463c43150bf9d0ec0436e35412a\",\"dweb:/ipfs/QmbR8rTTnRSA5hBbaEfpvkms7PPhns5FJzXboVHKDKkS66\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x78f5cad0e139c3698f9d2fce1657ffca64786ca2750076bdd2ea4fbceb15589f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71ed806c48834caf05c7457fc03f8ad6365e4c2268d2fb9380a3d7f23cc9b8a2\",\"dweb:/ipfs/QmXLnBTDgXeXVw5fBFhEW54AaYc8tDWVvkYhcmLAUQt7F7\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b\",\"dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3\",\"dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225\",\"dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x7da1718c8d9b4f1b926018108c149eb9ad5869aa90b6b0f18555b6eb744c5816\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1755b2fae83b5b300860fe7971cc1b05fcbfcd457375973404ea390a742401cf\",\"dweb:/ipfs/QmeUmH5251rGSAow3KHvPiwkK5qwi5quQe9NZfDrtVi2Kn\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134\",\"dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6\",\"dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x10bd7030021b23f7ee711f1283793dd449901fc7b3a07bc588a9e19a32165544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b6e2a41cb62ef1a7d0cf5b0216c50b38b2b29efc62b9ebd6784f7bded7d24939\",\"dweb:/ipfs/QmVtZjgsSLx1TkDJsQ6SXVto4nYyaKe5sxDbGHpxfENP3c\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x0582915f20e93b60bc29a4fd6f96f7b9e4fa3745b47fb8ef83bd9a699079007c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21c0385a7a56b011325305a15ab9b4335aa715b4ed089cf21170cd610a89e7f9\",\"dweb:/ipfs/QmPNpHNhkEVKkoZv3JKW81VvZ4xvMmnVgFzZ4MP45BDG6v\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8\",\"dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0x31b226555cada3b0abfa52b4a676844a6d1c359df82fecbf49b49613b36c73e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2722a943a77541986f07f4544870286a6516c9757d9628b779947dfaff2139d\",\"dweb:/ipfs/QmZu68KkJNxrTyFsjydsiqD4PcpvCEaU6yy3EtKRLE7D9m\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0xe8421504261c37e0da7dbce573d55b736ce2d79ca0ab6ff6ae15045541472a60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://175fcfbd6ed68b00cff6ed809dbb29e5e9d11af236573a996dfc05e37eac6b24\",\"dweb:/ipfs/QmNpEVboehEkENtsp5TKzC9BnLzBVF8snoNpthW9cMEbu5\"]},\"src/utils.sol\":{\"keccak256\":\"0x46dfde80751a9597349f380c6a15d9995723cfeaaaea1713af40054332faff50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6181c5eeeb8c03475c5cb9e63310e1f4224f0ca953a9d71819aa5aa1d26fed2\",\"dweb:/ipfs/QmQ8UpUyQKGJpbVLbcCbq7ab2cGTcH7oAy3HiDGK1m2Es7\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCharacterStats","outputs":[{"internalType":"struct CharacterStatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"int256","name":"damageTaken","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0x3805ebdbf149723e756bebf2a863c81de7fcfed38bdd80088499976fd9655edd","urls":["bzz-raw://ee8815489329de627fab52b7cc611ae703346c6a0bcb53d6d5403badf58b0264","dweb:/ipfs/Qmez2tYv4rtF4kcyC2EyAr8DgAmBdMA3cUsyAGtpt5RFDQ"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf2a99956e725d137a95cb987b7dd4e1b38a9250e7b5ee62aa8fe5d7890d05525","urls":["bzz-raw://5ca5ef8c6b910dcaa9c378850c4fc08e4ac77f5cbb60f08042708005d0236246","dweb:/ipfs/QmSW43brvMvLZtyDDDqpQr2uzPdAdKvEHDNqy88sNMbZmT"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8","urls":["bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6","dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627","urls":["bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4","dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7","urls":["bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6","dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42","urls":["bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74","dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xd172cd15d5c85a660110c0cfdab2562e64c26d5d215c3a56478be7bb639f4ce1","urls":["bzz-raw://628bb2ad2860cae232cf49744e940d9829727fad8bcab745deab707eece4efa5","dweb:/ipfs/QmZ3x6znC3Km4hGxgxARCKdnKRa9AatiFgGVdEZzBP5iw8"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xb76e5c75e445427aed7dd080b473d83c8cdae669cad005231da7be69e0100c6d","urls":["bzz-raw://34bf576714068f92596b61043352fa6fd6f4c463c43150bf9d0ec0436e35412a","dweb:/ipfs/QmbR8rTTnRSA5hBbaEfpvkms7PPhns5FJzXboVHKDKkS66"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x78f5cad0e139c3698f9d2fce1657ffca64786ca2750076bdd2ea4fbceb15589f","urls":["bzz-raw://71ed806c48834caf05c7457fc03f8ad6365e4c2268d2fb9380a3d7f23cc9b8a2","dweb:/ipfs/QmXLnBTDgXeXVw5fBFhEW54AaYc8tDWVvkYhcmLAUQt7F7"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xb0d27dd67d9ea10ef835a91c9f1f264107dc2a4cdbeb5531049a5006704cc991","urls":["bzz-raw://e89727edf1e326df28d8c42d231d46df10a285ea2fdf7b73fe19f21c0901c22b","dweb:/ipfs/QmeRQ4nkXiuh1DSWuGCrC5inRejZKhDZLwtNZn8ai1bV88"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x70caf9c80ea6c72b8f5bb5262f5fc4e8733ebc249c24b7dfb5c881f7b85dab9d","urls":["bzz-raw://c3d1ef91292b619f37f8ad93ab9d3cb8e45b91674ab1edee5a7fc1c5d071a0c3","dweb:/ipfs/QmNP2royisUVREpoqfYK1a2hhYodd6iS39yhYpvAPJnG4H"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0x1795d0914aa67a81ffcf51328b6eeb9a5359692cd58122047354cf2b9be9c44e","urls":["bzz-raw://75ddc8d7780fd47d6981aa6324e545814f37ff3fb2be2b27e1e5aed97b15f225","dweb:/ipfs/Qmcv98XaSvzK9fijokfySYEMDtyxu8RKp1mT9S2fDvJYoA"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x7da1718c8d9b4f1b926018108c149eb9ad5869aa90b6b0f18555b6eb744c5816","urls":["bzz-raw://1755b2fae83b5b300860fe7971cc1b05fcbfcd457375973404ea390a742401cf","dweb:/ipfs/QmeUmH5251rGSAow3KHvPiwkK5qwi5quQe9NZfDrtVi2Kn"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x9ec61276ea8d11ee9b1babc9e3fd052de53d2b70ba8046f716cad9345cada6ad","urls":["bzz-raw://2f7187f27c11d1d0caa1e3bdf3760be52401f3252adf096f6004379e926c1134","dweb:/ipfs/QmbVHG5x57VpFRzaCDvc186V4kX3jJRuwHB26JLYh6a8s4"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0xba90101aabcf40e70392a7cb70705414abd0ae15cc3611ff896a4fac2f7a42d9","urls":["bzz-raw://befe8dc2fb28a22feb31c6ac8f8d6796985db0fe49a411b60d860d34b45813c6","dweb:/ipfs/QmaGKJ9ipwXJKt7uVqEGwGdqo45AkAuQHQdpSgqo1vCTbf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x10bd7030021b23f7ee711f1283793dd449901fc7b3a07bc588a9e19a32165544","urls":["bzz-raw://b6e2a41cb62ef1a7d0cf5b0216c50b38b2b29efc62b9ebd6784f7bded7d24939","dweb:/ipfs/QmVtZjgsSLx1TkDJsQ6SXVto4nYyaKe5sxDbGHpxfENP3c"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x0582915f20e93b60bc29a4fd6f96f7b9e4fa3745b47fb8ef83bd9a699079007c","urls":["bzz-raw://21c0385a7a56b011325305a15ab9b4335aa715b4ed089cf21170cd610a89e7f9","dweb:/ipfs/QmPNpHNhkEVKkoZv3JKW81VvZ4xvMmnVgFzZ4MP45BDG6v"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x7472fa5be64b4a6e032d4f1b8ed11d8f91fbad483c8ab4c71dee909233fade6e","urls":["bzz-raw://ff2517c3d7bacf21162560ffbfaef377f2e98ee16e676fa3cfd22b384b09d9b8","dweb:/ipfs/QmQCw3aMxqDwtitsAPGzP2FmjgjdSCX75WemQog4ieseas"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0x31b226555cada3b0abfa52b4a676844a6d1c359df82fecbf49b49613b36c73e0","urls":["bzz-raw://a2722a943a77541986f07f4544870286a6516c9757d9628b779947dfaff2139d","dweb:/ipfs/QmZu68KkJNxrTyFsjydsiqD4PcpvCEaU6yy3EtKRLE7D9m"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0xe8421504261c37e0da7dbce573d55b736ce2d79ca0ab6ff6ae15045541472a60","urls":["bzz-raw://175fcfbd6ed68b00cff6ed809dbb29e5e9d11af236573a996dfc05e37eac6b24","dweb:/ipfs/QmNpEVboehEkENtsp5TKzC9BnLzBVF8snoNpthW9cMEbu5"],"license":"MIT"},"src/utils.sol":{"keccak256":"0x46dfde80751a9597349f380c6a15d9995723cfeaaaea1713af40054332faff50","urls":["bzz-raw://a6181c5eeeb8c03475c5cb9e63310e1f4224f0ca953a9d71819aa5aa1d26fed2","dweb:/ipfs/QmQ8UpUyQKGJpbVLbcCbq7ab2cGTcH7oAy3HiDGK1m2Es7"],"license":"MIT"}},"version":1},"id":204} \ No newline at end of file diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.abi.json b/packages/contracts/out/MapSystem.sol/MapSystem.abi.json new file mode 100644 index 000000000..ff226e19a --- /dev/null +++ b/packages/contracts/out/MapSystem.sol/MapSystem.abi.json @@ -0,0 +1,185 @@ +[ + { + "type": "function", + "name": "_msgSender", + "inputs": [], + "outputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_msgValue", + "inputs": [], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "_world", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "x", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "y", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Store_SetRecord", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "staticData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "encodedLengths", + "type": "bytes32", + "indexed": false, + "internalType": "EncodedLengths" + }, + { + "name": "dynamicData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Store_SpliceStaticData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Slice_OutOfBounds", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "start", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "end", + "type": "uint256", + "internalType": "uint256" + } + ] + } +] \ No newline at end of file diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.abi.json.d.ts b/packages/contracts/out/MapSystem.sol/MapSystem.abi.json.d.ts new file mode 100644 index 000000000..3a150b9ec --- /dev/null +++ b/packages/contracts/out/MapSystem.sol/MapSystem.abi.json.d.ts @@ -0,0 +1,185 @@ +declare const abi: [ + { + "type": "function", + "name": "_msgSender", + "inputs": [], + "outputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "_msgValue", + "inputs": [], + "outputs": [ + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "_world", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "move", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "x", + "type": "uint32", + "internalType": "uint32" + }, + { + "name": "y", + "type": "uint32", + "internalType": "uint32" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "spawn", + "inputs": [ + { + "name": "characterId", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [ + { + "name": "interfaceId", + "type": "bytes4", + "internalType": "bytes4" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "pure" + }, + { + "type": "event", + "name": "Store_SetRecord", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "staticData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + }, + { + "name": "encodedLengths", + "type": "bytes32", + "indexed": false, + "internalType": "EncodedLengths" + }, + { + "name": "dynamicData", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Store_SpliceStaticData", + "inputs": [ + { + "name": "tableId", + "type": "bytes32", + "indexed": true, + "internalType": "ResourceId" + }, + { + "name": "keyTuple", + "type": "bytes32[]", + "indexed": false, + "internalType": "bytes32[]" + }, + { + "name": "start", + "type": "uint48", + "indexed": false, + "internalType": "uint48" + }, + { + "name": "data", + "type": "bytes", + "indexed": false, + "internalType": "bytes" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "Slice_OutOfBounds", + "inputs": [ + { + "name": "data", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "start", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "end", + "type": "uint256", + "internalType": "uint256" + } + ] + } +]; export default abi; diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json new file mode 100644 index 000000000..610e09bb8 --- /dev/null +++ b/packages/contracts/out/MapSystem.sol/MapSystem.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint32","internalType":"uint32"},{"name":"y","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"characterId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612088806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80637ec0c82d116100505780637ec0c82d146100d2578063b04d8fa7146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806345ec9354146100bf575b600080fd5b61008a610085366004611ac3565b610102565b60405190151581526020015b60405180910390f35b6100a761019b565b6040516001600160a01b039091168152602001610096565b604051601f193601358152602001610096565b6100e56100e0366004611b05565b6101aa565b005b6100e56100f5366004611b32565b6102ba565b6100a76104f5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101a56104ff565b905090565b60006101b582610531565b9050806001600160a01b03166101c961019b565b6001600160a01b0316146102495760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610252826105d0565b1561029f5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e6564000000000000006044820152606401610240565b6102ab82600080610678565b6102b6826001610743565b5050565b60006102c584610531565b9050806001600160a01b03166102d961019b565b6001600160a01b0316146103555760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f74657200000000000000000000000000000000000000000000000000000000006064820152608401610240565b61035e846105d0565b6103aa5760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e656400000000000000000000006044820152606401610240565b6000806103b686610804565b915091506000806103c56108ba565b915091508063ffffffff168763ffffffff16106104245760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e647300000000000000000000000000000000006044820152606401610240565b8163ffffffff168663ffffffff161061047f5760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e647300000000000000000000000000000000006044820152606401610240565b61048b84848989610939565b63ffffffff166001146104e05760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d6500006044820152606401610240565b6104eb888888610678565b5050505050505050565b60006101a56109af565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061052e5750335b90565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061056d5761056d611b84565b602090810291909101015260006105c57f746255440000000000000000000000004368617261637465727300000000000083837e360400140120010000000000000000000000000000000000000000000000006109b9565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061060c5761060c611b84565b602090810291909101015260006106647f74625544000000000000000000000000537061776e656400000000000000000083837e010100010000000000000000000000000000000000000000000000000000006109b9565b90506106708160f81c90565b949350505050565b6040805160e084811b7fffffffff000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660248301528251600881840301815260016028840181815260688501909552909360009360609385939160480190803683370190505090508660001b8160008151811061070257610702611b84565b602090810291909101015261073a7f74625544000000000000000000000000506f736974696f6e000000000000000082868686610a76565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061077c5761077c611b84565b6020026020010181815250506107ff7f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016107ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000610b2c565b505050565b60408051600180825281830190925260009182918291602080830190803683370190505090508360001b8160008151811061084157610841611b84565b60209081029190910101526000808061089a7f74625544000000000000000000000000506f736974696f6e0000000000000000857e08020004040000000000000000000000000000000000000000000000000000610ba2565b5050602081015160249091015160e091821c99911c975095505050505050565b6040805160008082526020820190925281906000808061091a7f746255440000000000000000000000004d6170436f6e66696700000000000000857e08020004040000000000000000000000000000000000000000000000000000610ba2565b5050602081015160249091015160e091821c98911c9650945050505050565b6000808363ffffffff168663ffffffff161161095e576109598685611bb0565b610968565b6109688487611bb0565b905060008363ffffffff168663ffffffff161161098e576109898685611bb0565b610998565b6109988487611bb0565b90506109a48183611bd4565b979650505050505050565b60006101a5610c72565b6000806109c4610c72565b9050306001600160a01b038216036109ea576109e286868686610cb1565b915050610670565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610a35908990899089908990600401611c2d565b602060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e29190611c5c565b6000610a80610c72565b9050306001600160a01b03821603610aa457610a9f8686868686610ce7565b610b24565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610af19089908990899089908990600401611cc5565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b505050505b505050505050565b6000610b36610c72565b9050306001600160a01b03821603610b5557610a9f8686868686610d04565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610af19089908990899089908990600401611d16565b6060600060606000610bb2610c72565b9050306001600160a01b03821603610bdb57610bcf878787610d19565b93509350935050610c69565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90610c24908a908a908a90600401611d5d565b600060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcf9190810190611e0e565b93509350939050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610cac573391505090565b919050565b6000610cde610cc08686610e21565b60ff858116601b0360080285901c16610cd98587610e77565b610eb0565b95945050505050565b610cfd8585858585610cf88b610f01565b610f86565b5050505050565b610cfd8585610d138487610e77565b856112bf565b6060600060606000610d2a85611560565b9050610d37878783611583565b93506000610d44866115c7565b90508015610e1657610d568888611604565b935066ffffffffffffff841667ffffffffffffffff811115610d7a57610d7a611b6e565b6040519080825280601f01601f191660200182016040528015610da4576020820181803683370190505b5092506020830160005b828160ff161015610e13576000610dc68b8b84611617565b90506000610de3888460ff166028026038011c64ffffffffff1690565b9050610df28260008387611697565b610dfc8185611e7b565b935050508080610e0b90611e8e565b915050610dae565b50505b505093509350939050565b60008282604051602001610e36929190611ead565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610ea857610e9e60ff601b83900360080287901c1683611e7b565b9150600101610e7c565b509392505050565b600060208210610ed657602082048401935060208281610ed257610ed2611ee9565b0691505b508254600882021b602082900380841115610ea8576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201610f5057507e60030220202000000000000000000000000000000000000000000000000000919050565b610195610f7d7f746273746f72650000000000000000005461626c65730000000000000000000084611763565b60206000610eb0565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361101257857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516110059493929190611eff565b60405180910390a2610b24565b600061101d8761177f565b905060005b81518110156110f657600082828151811061103f5761103f611b84565b6020026020010151905061106b6001826affffffffffffffffffffff191661180890919063ffffffff16565b156110ed576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906110ba908c908c908c908c908c908c90600401611f3e565b600060405180830381600087803b1580156110d457600080fd5b505af11580156110e8573d6000803e3d6000fd5b505050505b50600101611022565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161112d9493929190611eff565b60405180910390a260006111418888610e21565b90506000602087019050611159826000895184611826565b6000611164856115c7565b11156111e85760006111768a8a6118e5565b878155905060208601915060008060005b611190886115c7565b8160ff1610156111e3576111a58d8d83611617565b92506111c08a8260ff166028026038011c64ffffffffff1690565b91506111cf8360008488611826565b6111d98286611e7b565b9450600101611187565b505050505b60005b8351811015610b1f57600084828151811061120857611208611b84565b602002602001015190506112346002826affffffffffffffffffffff191661180890919063ffffffff16565b156112b6576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611283908e908e908e908e908e908e90600401611f3e565b600060405180830381600087803b15801561129d57600080fd5b505af11580156112b1573d6000803e3d6000fd5b505050505b506001016111eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361134957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161133c93929190611f97565b60405180910390a261155a565b60006113558585610e21565b905060006113628661177f565b905060005b815181101561143757600082828151811061138457611384611b84565b602002602001015190506113b06004826affffffffffffffffffffff191661180890919063ffffffff16565b1561142e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906113fb908b908b908b908b90600401611fca565b600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b505050505b50600101611367565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161146c93929190611f97565b60405180910390a2611487828565ffffffffffff168561193b565b60005b815181101561073a5760008282815181106114a7576114a7611b84565b602002602001015190506114d36008826affffffffffffffffffffff191661180890919063ffffffff16565b15611551576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061151e908b908b908b908b90600401611fca565b600060405180830381600087803b15801561153857600080fd5b505af115801561154c573d6000803e3d6000fd5b505050505b5060010161148a565b50505050565b6000600861157060026020612003565b61157a9190612016565b9190911c919050565b6060816000036115a257506040805160208101909152600081526115c0565b60006115ae8585610e21565b90506115bc81600085611951565b9150505b9392505050565b600060086001806115da60026020612003565b6115e49190612003565b6115ee9190612003565b6115f89190612016565b8260ff911c1692915050565b60006115c061161384846118e5565b5490565b6000838360405160200161162c929190611ead565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561171e57602083106116c1576020830484019350602083816116bd576116bd611ee9565b0692505b821561171e5760208390036000818410156116e45750600019600884021c6116ee565b50600019600882021c5b8554600886021b81845116821982161784525081841161170f57505061155a565b50600194909401939182900391015b5b602082106117405783548152600190930192601f199091019060200161171f565b811561155a576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e36565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106117b9576117b9611b84565b602090810291909101015260006117f17f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611974565b905061067061180382600084516119ae565b611a3c565b60008160ff16826118198560581c90565b1660ff1614905092915050565b82156118a057602083106118505760208304840193506020838161184c5761184c611ee9565b0692505b82156118a05760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161189157505061155a565b50600194909401939182900391015b5b602082106118c25780518455600190930192601f19909101906020016118a1565b811561155a576000600019600884021c8554835182191691161785555050505050565b600082826040516020016118fa929190611ead565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6107ff8383835161194c8560200190565b611826565b60405160208101601f19603f8484010116604052828252610ea885858584611697565b6060610670611984858585611617565b60006119a9856119948989611604565b9060ff166028026038011c64ffffffffff1690565b611951565b6000818311806119be5750835182115b156119fb578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102409392919061202d565b60208401611a098482611e7b565b90506000611a178585612003565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006115c0836015600060606000611a568560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611a7c57611a7c611ee9565b04905060405193506020840160208202810160405281855260005b82811015611ab7578451871c825293870193602090910190600101611a97565b50505050509392505050565b600060208284031215611ad557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146115c057600080fd5b600060208284031215611b1757600080fd5b5035919050565b803563ffffffff81168114610cac57600080fd5b600080600060608486031215611b4757600080fd5b83359250611b5760208501611b1e565b9150611b6560408501611b1e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff828116828216039080821115611bcd57611bcd611b9a565b5092915050565b63ffffffff818116838216019080821115611bcd57611bcd611b9a565b60008151808452602080850194506020840160005b83811015611c2257815187529582019590820190600101611c06565b509495945050505050565b848152608060208201526000611c466080830186611bf1565b60ff949094166040830152506060015292915050565b600060208284031215611c6e57600080fd5b5051919050565b60005b83811015611c90578181015183820152602001611c78565b50506000910152565b60008151808452611cb1816020860160208601611c75565b601f01601f19169290920160200192915050565b85815260a060208201526000611cde60a0830187611bf1565b8281036040840152611cf08187611c99565b90508460608401528281036080840152611d0a8185611c99565b98975050505050505050565b85815260a060208201526000611d2f60a0830187611bf1565b60ff861660408401528281036060840152611d4a8186611c99565b9150508260808301529695505050505050565b838152606060208201526000611d766060830185611bf1565b9050826040830152949350505050565b600082601f830112611d9757600080fd5b815167ffffffffffffffff80821115611db257611db2611b6e565b604051601f8301601f19908116603f01168101908282118183101715611dda57611dda611b6e565b81604052838152866020858801011115611df357600080fd5b611e04846020830160208901611c75565b9695505050505050565b600080600060608486031215611e2357600080fd5b835167ffffffffffffffff80821115611e3b57600080fd5b611e4787838801611d86565b9450602086015193506040860151915080821115611e6457600080fd5b50611e7186828701611d86565b9150509250925092565b8082018082111561019557610195611b9a565b600060ff821660ff8103611ea457611ea4611b9a565b60010192915050565b8281526000602080830184516020860160005b82811015611edc57815184529284019290840190600101611ec0565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b608081526000611f126080830187611bf1565b8281036020840152611f248187611c99565b905084604084015282810360608401526109a48185611c99565b86815260c060208201526000611f5760c0830188611bf1565b8281036040840152611f698188611c99565b90508560608401528281036080840152611f838186611c99565b9150508260a0830152979650505050505050565b606081526000611faa6060830186611bf1565b65ffffffffffff851660208401528281036040840152611e048185611c99565b848152608060208201526000611fe36080830186611bf1565b65ffffffffffff8516604084015282810360608401526109a48185611c99565b8181038181111561019557610195611b9a565b808202811582820484141761019557610195611b9a565b6060815260006120406060830186611c99565b6020830194909452506040015291905056fea2646970667358221220f499262bb502d3c057b8a84a3333c399f965c8cc62fb4741481f0a20a3520aba64736f6c63430008180033","sourceMap":"200:1239:207:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100725760003560e01c80637ec0c82d116100505780637ec0c82d146100d2578063b04d8fa7146100e7578063e1af802c146100fa57600080fd5b806301ffc9a714610077578063119df25f1461009f57806345ec9354146100bf575b600080fd5b61008a610085366004611ac3565b610102565b60405190151581526020015b60405180910390f35b6100a761019b565b6040516001600160a01b039091168152602001610096565b604051601f193601358152602001610096565b6100e56100e0366004611b05565b6101aa565b005b6100e56100f5366004611b32565b6102ba565b6100a76104f5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061019557507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101a56104ff565b905090565b60006101b582610531565b9050806001600160a01b03166101c961019b565b6001600160a01b0316146102495760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610252826105d0565b1561029f5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e6564000000000000006044820152606401610240565b6102ab82600080610678565b6102b6826001610743565b5050565b60006102c584610531565b9050806001600160a01b03166102d961019b565b6001600160a01b0316146103555760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f74657200000000000000000000000000000000000000000000000000000000006064820152608401610240565b61035e846105d0565b6103aa5760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e656400000000000000000000006044820152606401610240565b6000806103b686610804565b915091506000806103c56108ba565b915091508063ffffffff168763ffffffff16106104245760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e647300000000000000000000000000000000006044820152606401610240565b8163ffffffff168663ffffffff161061047f5760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e647300000000000000000000000000000000006044820152606401610240565b61048b84848989610939565b63ffffffff166001146104e05760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d6500006044820152606401610240565b6104eb888888610678565b5050505050505050565b60006101a56109af565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061052e5750335b90565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061056d5761056d611b84565b602090810291909101015260006105c57f746255440000000000000000000000004368617261637465727300000000000083837e360400140120010000000000000000000000000000000000000000000000006109b9565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061060c5761060c611b84565b602090810291909101015260006106647f74625544000000000000000000000000537061776e656400000000000000000083837e010100010000000000000000000000000000000000000000000000000000006109b9565b90506106708160f81c90565b949350505050565b6040805160e084811b7fffffffff000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660248301528251600881840301815260016028840181815260688501909552909360009360609385939160480190803683370190505090508660001b8160008151811061070257610702611b84565b602090810291909101015261073a7f74625544000000000000000000000000506f736974696f6e000000000000000082868686610a76565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061077c5761077c611b84565b6020026020010181815250506107ff7f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016107ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000610b2c565b505050565b60408051600180825281830190925260009182918291602080830190803683370190505090508360001b8160008151811061084157610841611b84565b60209081029190910101526000808061089a7f74625544000000000000000000000000506f736974696f6e0000000000000000857e08020004040000000000000000000000000000000000000000000000000000610ba2565b5050602081015160249091015160e091821c99911c975095505050505050565b6040805160008082526020820190925281906000808061091a7f746255440000000000000000000000004d6170436f6e66696700000000000000857e08020004040000000000000000000000000000000000000000000000000000610ba2565b5050602081015160249091015160e091821c98911c9650945050505050565b6000808363ffffffff168663ffffffff161161095e576109598685611bb0565b610968565b6109688487611bb0565b905060008363ffffffff168663ffffffff161161098e576109898685611bb0565b610998565b6109988487611bb0565b90506109a48183611bd4565b979650505050505050565b60006101a5610c72565b6000806109c4610c72565b9050306001600160a01b038216036109ea576109e286868686610cb1565b915050610670565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990610a35908990899089908990600401611c2d565b602060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e29190611c5c565b6000610a80610c72565b9050306001600160a01b03821603610aa457610a9f8686868686610ce7565b610b24565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90610af19089908990899089908990600401611cc5565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b505050505b505050505050565b6000610b36610c72565b9050306001600160a01b03821603610b5557610a9f8686868686610d04565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090610af19089908990899089908990600401611d16565b6060600060606000610bb2610c72565b9050306001600160a01b03821603610bdb57610bcf878787610d19565b93509350935050610c69565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90610c24908a908a908a90600401611d5d565b600060405180830381865afa158015610c41573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bcf9190810190611e0e565b93509350939050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610cac573391505090565b919050565b6000610cde610cc08686610e21565b60ff858116601b0360080285901c16610cd98587610e77565b610eb0565b95945050505050565b610cfd8585858585610cf88b610f01565b610f86565b5050505050565b610cfd8585610d138487610e77565b856112bf565b6060600060606000610d2a85611560565b9050610d37878783611583565b93506000610d44866115c7565b90508015610e1657610d568888611604565b935066ffffffffffffff841667ffffffffffffffff811115610d7a57610d7a611b6e565b6040519080825280601f01601f191660200182016040528015610da4576020820181803683370190505b5092506020830160005b828160ff161015610e13576000610dc68b8b84611617565b90506000610de3888460ff166028026038011c64ffffffffff1690565b9050610df28260008387611697565b610dfc8185611e7b565b935050508080610e0b90611e8e565b915050610dae565b50505b505093509350939050565b60008282604051602001610e36929190611ead565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015610ea857610e9e60ff601b83900360080287901c1683611e7b565b9150600101610e7c565b509392505050565b600060208210610ed657602082048401935060208281610ed257610ed2611ee9565b0691505b508254600882021b602082900380841115610ea8576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201610f5057507e60030220202000000000000000000000000000000000000000000000000000919050565b610195610f7d7f746273746f72650000000000000000005461626c65730000000000000000000084611763565b60206000610eb0565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361101257857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516110059493929190611eff565b60405180910390a2610b24565b600061101d8761177f565b905060005b81518110156110f657600082828151811061103f5761103f611b84565b6020026020010151905061106b6001826affffffffffffffffffffff191661180890919063ffffffff16565b156110ed576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906110ba908c908c908c908c908c908c90600401611f3e565b600060405180830381600087803b1580156110d457600080fd5b505af11580156110e8573d6000803e3d6000fd5b505050505b50600101611022565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161112d9493929190611eff565b60405180910390a260006111418888610e21565b90506000602087019050611159826000895184611826565b6000611164856115c7565b11156111e85760006111768a8a6118e5565b878155905060208601915060008060005b611190886115c7565b8160ff1610156111e3576111a58d8d83611617565b92506111c08a8260ff166028026038011c64ffffffffff1690565b91506111cf8360008488611826565b6111d98286611e7b565b9450600101611187565b505050505b60005b8351811015610b1f57600084828151811061120857611208611b84565b602002602001015190506112346002826affffffffffffffffffffff191661180890919063ffffffff16565b156112b6576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611283908e908e908e908e908e908e90600401611f3e565b600060405180830381600087803b15801561129d57600080fd5b505af11580156112b1573d6000803e3d6000fd5b505050505b506001016111eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361134957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161133c93929190611f97565b60405180910390a261155a565b60006113558585610e21565b905060006113628661177f565b905060005b815181101561143757600082828151811061138457611384611b84565b602002602001015190506113b06004826affffffffffffffffffffff191661180890919063ffffffff16565b1561142e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906113fb908b908b908b908b90600401611fca565b600060405180830381600087803b15801561141557600080fd5b505af1158015611429573d6000803e3d6000fd5b505050505b50600101611367565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161146c93929190611f97565b60405180910390a2611487828565ffffffffffff168561193b565b60005b815181101561073a5760008282815181106114a7576114a7611b84565b602002602001015190506114d36008826affffffffffffffffffffff191661180890919063ffffffff16565b15611551576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061151e908b908b908b908b90600401611fca565b600060405180830381600087803b15801561153857600080fd5b505af115801561154c573d6000803e3d6000fd5b505050505b5060010161148a565b50505050565b6000600861157060026020612003565b61157a9190612016565b9190911c919050565b6060816000036115a257506040805160208101909152600081526115c0565b60006115ae8585610e21565b90506115bc81600085611951565b9150505b9392505050565b600060086001806115da60026020612003565b6115e49190612003565b6115ee9190612003565b6115f89190612016565b8260ff911c1692915050565b60006115c061161384846118e5565b5490565b6000838360405160200161162c929190611ead565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561171e57602083106116c1576020830484019350602083816116bd576116bd611ee9565b0692505b821561171e5760208390036000818410156116e45750600019600884021c6116ee565b50600019600882021c5b8554600886021b81845116821982161784525081841161170f57505061155a565b50600194909401939182900391015b5b602082106117405783548152600190930192601f199091019060200161171f565b811561155a576000600019600884021c8251865482191691161782525050505050565b6040805160208101849052908101829052600090606001610e36565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106117b9576117b9611b84565b602090810291909101015260006117f17f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611974565b905061067061180382600084516119ae565b611a3c565b60008160ff16826118198560581c90565b1660ff1614905092915050565b82156118a057602083106118505760208304840193506020838161184c5761184c611ee9565b0692505b82156118a05760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161189157505061155a565b50600194909401939182900391015b5b602082106118c25780518455600190930192601f19909101906020016118a1565b811561155a576000600019600884021c8554835182191691161785555050505050565b600082826040516020016118fa929190611ead565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6107ff8383835161194c8560200190565b611826565b60405160208101601f19603f8484010116604052828252610ea885858584611697565b6060610670611984858585611617565b60006119a9856119948989611604565b9060ff166028026038011c64ffffffffff1690565b611951565b6000818311806119be5750835182115b156119fb578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102409392919061202d565b60208401611a098482611e7b565b90506000611a178585612003565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006115c0836015600060606000611a568560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611a7c57611a7c611ee9565b04905060405193506020840160208202810160405281855260005b82811015611ab7578451871c825293870193602090910190600101611a97565b50505050509392505050565b600060208284031215611ad557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146115c057600080fd5b600060208284031215611b1757600080fd5b5035919050565b803563ffffffff81168114610cac57600080fd5b600080600060608486031215611b4757600080fd5b83359250611b5760208501611b1e565b9150611b6560408501611b1e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff828116828216039080821115611bcd57611bcd611b9a565b5092915050565b63ffffffff818116838216019080821115611bcd57611bcd611b9a565b60008151808452602080850194506020840160005b83811015611c2257815187529582019590820190600101611c06565b509495945050505050565b848152608060208201526000611c466080830186611bf1565b60ff949094166040830152506060015292915050565b600060208284031215611c6e57600080fd5b5051919050565b60005b83811015611c90578181015183820152602001611c78565b50506000910152565b60008151808452611cb1816020860160208601611c75565b601f01601f19169290920160200192915050565b85815260a060208201526000611cde60a0830187611bf1565b8281036040840152611cf08187611c99565b90508460608401528281036080840152611d0a8185611c99565b98975050505050505050565b85815260a060208201526000611d2f60a0830187611bf1565b60ff861660408401528281036060840152611d4a8186611c99565b9150508260808301529695505050505050565b838152606060208201526000611d766060830185611bf1565b9050826040830152949350505050565b600082601f830112611d9757600080fd5b815167ffffffffffffffff80821115611db257611db2611b6e565b604051601f8301601f19908116603f01168101908282118183101715611dda57611dda611b6e565b81604052838152866020858801011115611df357600080fd5b611e04846020830160208901611c75565b9695505050505050565b600080600060608486031215611e2357600080fd5b835167ffffffffffffffff80821115611e3b57600080fd5b611e4787838801611d86565b9450602086015193506040860151915080821115611e6457600080fd5b50611e7186828701611d86565b9150509250925092565b8082018082111561019557610195611b9a565b600060ff821660ff8103611ea457611ea4611b9a565b60010192915050565b8281526000602080830184516020860160005b82811015611edc57815184529284019290840190600101611ec0565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b608081526000611f126080830187611bf1565b8281036020840152611f248187611c99565b905084604084015282810360608401526109a48185611c99565b86815260c060208201526000611f5760c0830188611bf1565b8281036040840152611f698188611c99565b90508560608401528281036080840152611f838186611c99565b9150508260a0830152979650505050505050565b606081526000611faa6060830186611bf1565b65ffffffffffff851660208401528281036040840152611e048185611c99565b848152608060208201526000611fe36080830186611bf1565b65ffffffffffff8516604084015282810360608401526109a48185611c99565b8181038181111561019557610195611b9a565b808202811582820484141761019557610195611b9a565b6060815260006120406060830186611c99565b6020830194909452506040015291905056fea2646970667358221220f499262bb502d3c057b8a84a3333c399f965c8cc62fb4741481f0a20a3520aba64736f6c63430008180033","sourceMap":"200:1239:207:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:218;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:218;;;689:74;;677:2;662:18;1262:113:123;543:226:218;1616:110:123;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;920:25:218;;908:2;893:18;1616:110:123;774:177:218;841:336:207;;;;;;:::i;:::-;;:::i;:::-;;233:604;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;841:336:207:-;890:13;906:32;926:11;906:19;:32::i;:::-;890:48;;968:5;-1:-1:-1;;;;;952:21:207;:12;:10;:12::i;:::-;-1:-1:-1;;;;;952:21:207;;944:70;;;;-1:-1:-1;;;944:70:207;;1840:2:218;944:70:207;;;1822:21:218;1879:2;1859:18;;;1852:30;1918:34;1898:18;;;1891:62;1989:6;1969:18;;;1962:34;2013:19;;944:70:207;;;;;;;;;1030:31;1049:11;1030:18;:31::i;:::-;1029:32;1021:70;;;;-1:-1:-1;;;1021:70:207;;2245:2:218;1021:70:207;;;2227:21:218;2284:2;2264:18;;;2257:30;2323:27;2303:18;;;2296:55;2368:18;;1021:70:207;2043:349:218;1021:70:207;1098:31;1111:11;1124:1;1127;1098:12;:31::i;:::-;1135:37;1154:11;1167:4;1135:18;:37::i;:::-;884:293;841:336;:::o;233:604::-;301:13;317:32;337:11;317:19;:32::i;:::-;301:48;;379:5;-1:-1:-1;;;;;363:21:207;:12;:10;:12::i;:::-;-1:-1:-1;;;;;363:21:207;;355:69;;;;-1:-1:-1;;;355:69:207;;2599:2:218;355:69:207;;;2581:21:218;2638:2;2618:18;;;2611:30;2677:34;2657:18;;;2650:62;2748:5;2728:18;;;2721:33;2771:19;;355:69:207;2397:399:218;355:69:207;439:31;458:11;439:18;:31::i;:::-;431:65;;;;-1:-1:-1;;;431:65:207;;3003:2:218;431:65:207;;;2985:21:218;3042:2;3022:18;;;3015:30;3081:23;3061:18;;;3054:51;3122:18;;431:65:207;2801:345:218;431:65:207;504:15;521;540:25;553:11;540:12;:25::i;:::-;503:62;;;;572:13;587:12;603:15;:13;:15::i;:::-;571:47;;;;637:5;633:9;;:1;:9;;;625:37;;;;-1:-1:-1;;;625:37:207;;3353:2:218;625:37:207;;;3335:21:218;3392:2;3372:18;;;3365:30;3431:17;3411:18;;;3404:45;3466:18;;625:37:207;3151:339:218;625:37:207;680:6;676:10;;:1;:10;;;668:38;;;;-1:-1:-1;;;668:38:207;;3697:2:218;668:38:207;;;3679:21:218;3736:2;3716:18;;;3709:30;3775:17;3755:18;;;3748:45;3810:18;;668:38:207;3495:339:218;668:38:207;720:34;729:8;739;749:1;752;720:8;:34::i;:::-;:39;;758:1;720:39;712:82;;;;-1:-1:-1;;;712:82:207;;4041:2:218;712:82:207;;;4023:21:218;4080:2;4060:18;;;4053:30;4119:32;4099:18;;;4092:60;4169:18;;712:82:207;3839:354:218;712:82:207;801:31;814:11;827:1;830;801:12;:31::i;:::-;295:542;;;;;233:604;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;2866:308:178:-;2978:16;;;2992:1;2978:16;;;;;;;;;2928:13;;;;2978:16;;;;;;;;;;;;-1:-1:-1;2978:16:178;2949:45;;3031:11;3015:29;;3000:9;3010:1;3000:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3051:13;3067:64;1226:66;3104:9;3051:13;1355:66;3067:26;:64::i;:::-;3145:23;;;2866:308;-1:-1:-1;;;;2866:308:178:o;2595:315:191:-;2708:16;;;2722:1;2708:16;;;;;;;;;2659:12;;;;2708:16;;;;;;;;;;;;-1:-1:-1;2708:16:191;2679:45;;2761:11;2745:29;;2730:9;2740:1;2730:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;2781:13;2797:64;1063:66;2834:9;2781:13;1192:66;2797:26;:64::i;:::-;2781:80;;2875:29;2896:5;2883:20;;7267:5;7181:97;2875:29;2867:38;2595:315;-1:-1:-1;;;;2595:315:191:o;6081:382:189:-;8344:22;;;6772:3:218;6768:16;;;6677:66;6764:25;;;8344:22:189;;;;6752:38:218;;;;6823:16;;;;6819:25;6806:11;;;6799:46;8344:22:189;;;;;;;;;6313:1;6861:11:218;;;6299:16:189;;;;;;;;;8344:22;;-1:-1:-1;;6238:25:189;;-1:-1:-1;;6313:1:189;6299:16;;;8344:22;6299:16;;;;;-1:-1:-1;6299:16:189;6270:45;;6352:11;6336:29;;6321:9;6331:1;6321:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;6372:86;1065:66;6404:9;6415:11;6428:15;6445:12;6372:21;:86::i;:::-;6144:319;;;;6081:382;;;:::o;4007:270:191:-;4106:16;;;4120:1;4106:16;;;;;;;;;4077:26;;4106:16;;;;;;;;;;;-1:-1:-1;4106:16:191;4077:45;;4159:11;4143:29;;4128:9;4138:1;4128:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4179:93;1063:66;1047:83;;4216:9;4227:1;4248:7;4230:27;;;;;;4727:14:218;4720:22;4715:3;4711:32;4699:45;;4769:1;4760:11;;4576:201;4230:27:191;;;;-1:-1:-1;;4230:27:191;;;;;;;;;1192:66;4179:26;:93::i;:::-;4071:206;4007:270;;:::o;5120:421:189:-;5232:16;;;5246:1;5232:16;;;;;;;;;5177:8;;;;;;5232:16;;;;;;;;;;;-1:-1:-1;5232:16:189;5203:45;;5285:11;5269:29;;5254:9;5264:1;5254:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;5306:24;;;5393:80;1065:66;5438:9;1194:66;5393:21;:80::i;:::-;-1:-1:-1;;5882:4:23;5868:27;;5862:34;5868:27;;;;5862:34;7134:33:189;;;;;7180;;;-1:-1:-1;5120:421:189;-1:-1:-1;;;;;;5120:421:189:o;4657:361:183:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;-1:-1:-1;;5882:4:23;5868:27;;5862:34;5868:27;;;;5862:34;7134:33:189;;;;;7180;;;-1:-1:-1;4657:361:183;-1:-1:-1;;;;;4657:361:183:o;1181:256:207:-;1274:6;1288:13;1312:3;1304:11;;:5;:11;;;:39;;1332:11;1338:5;1332:3;:11;:::i;:::-;1304:39;;;1318:11;1326:3;1318:5;:11;:::i;:::-;1288:55;;1349:13;1373:3;1365:11;;:5;:11;;;:39;;1393:11;1399:5;1393:3;:11;:::i;:::-;1365:39;;;1379:11;1387:3;1379:5;:11;:::i;:::-;1349:55;-1:-1:-1;1417:15:207;1349:55;1417:6;:15;:::i;:::-;1410:22;1181:256;-1:-1:-1;;;;;;;1181:256:207:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;15347:431::-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;:::-;36452:255;36171:541;-1:-1:-1;;;;;36171:541:45:o;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;:::-;12066:286;;;;;:::o;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;32759:1315::-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;;-1:-1:-1;52054:6:45;51823:242;-1:-1:-1;;;51823:242:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;17013:1682;;;;;:::o;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;:::-;49102:76;;;48823:360;;;;;;:::o;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51249:282:45:-;51494:30;;;;;;15255:19:218;;;15290:12;;;15283:28;;;51337:7:45;;15327:12:218;;51494:30:45;15066:279:218;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;2801:22:58;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;14:332:218:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;956:180;1015:6;1068:2;1056:9;1047:7;1043:23;1039:32;1036:52;;;1084:1;1081;1074:12;1036:52;-1:-1:-1;1107:23:218;;956:180;-1:-1:-1;956:180:218:o;1141:163::-;1208:20;;1268:10;1257:22;;1247:33;;1237:61;;1294:1;1291;1284:12;1309:324;1384:6;1392;1400;1453:2;1441:9;1432:7;1428:23;1424:32;1421:52;;;1469:1;1466;1459:12;1421:52;1505:9;1492:23;1482:33;;1534:37;1567:2;1556:9;1552:18;1534:37;:::i;:::-;1524:47;;1590:37;1623:2;1612:9;1608:18;1590:37;:::i;:::-;1580:47;;1309:324;;;;;:::o;4198:184::-;-1:-1:-1;;;4247:1:218;4240:88;4347:4;4344:1;4337:15;4371:4;4368:1;4361:15;4387:184;-1:-1:-1;;;4436:1:218;4429:88;4536:4;4533:1;4526:15;4560:4;4557:1;4550:15;4782:184;-1:-1:-1;;;4831:1:218;4824:88;4931:4;4928:1;4921:15;4955:4;4952:1;4945:15;4971:175;5039:10;5082;;;5070;;;5066:27;;5105:12;;;5102:38;;;5120:18;;:::i;:::-;5102:38;4971:175;;;;:::o;5151:172::-;5218:10;5248;;;5260;;;5244:27;;5283:11;;;5280:37;;;5297:18;;:::i;5328:439::-;5381:3;5419:5;5413:12;5446:6;5441:3;5434:19;5472:4;5501;5496:3;5492:14;5485:21;;5540:4;5533:5;5529:16;5563:1;5573:169;5587:6;5584:1;5581:13;5573:169;;;5648:13;;5636:26;;5682:12;;;;5717:15;;;;5609:1;5602:9;5573:169;;;-1:-1:-1;5758:3:218;;5328:439;-1:-1:-1;;;;;5328:439:218:o;5772:548::-;6096:6;6085:9;6078:25;6139:3;6134:2;6123:9;6119:18;6112:31;6059:4;6160:57;6212:3;6201:9;6197:19;6189:6;6160:57;:::i;:::-;6265:4;6253:17;;;;6248:2;6233:18;;6226:45;-1:-1:-1;6302:2:218;6287:18;6280:34;6152:65;5772:548;-1:-1:-1;;5772:548:218:o;6325:184::-;6395:6;6448:2;6436:9;6427:7;6423:23;6419:32;6416:52;;;6464:1;6461;6454:12;6416:52;-1:-1:-1;6487:16:218;;6325:184;-1:-1:-1;6325:184:218:o;6883:250::-;6968:1;6978:113;6992:6;6989:1;6986:13;6978:113;;;7068:11;;;7062:18;7049:11;;;7042:39;7014:2;7007:10;6978:113;;;-1:-1:-1;;7125:1:218;7107:16;;7100:27;6883:250::o;7138:329::-;7179:3;7217:5;7211:12;7244:6;7239:3;7232:19;7260:76;7329:6;7322:4;7317:3;7313:14;7306:4;7299:5;7295:16;7260:76;:::i;:::-;7381:2;7369:15;-1:-1:-1;;7365:88:218;7356:98;;;;7456:4;7352:109;;7138:329;-1:-1:-1;;7138:329:218:o;7472:794::-;7867:6;7856:9;7849:25;7910:3;7905:2;7894:9;7890:18;7883:31;7830:4;7937:57;7989:3;7978:9;7974:19;7966:6;7937:57;:::i;:::-;8042:9;8034:6;8030:22;8025:2;8014:9;8010:18;8003:50;8076:32;8101:6;8093;8076:32;:::i;:::-;8062:46;;8144:6;8139:2;8128:9;8124:18;8117:34;8200:9;8192:6;8188:22;8182:3;8171:9;8167:19;8160:51;8228:32;8253:6;8245;8228:32;:::i;:::-;8220:40;7472:794;-1:-1:-1;;;;;;;;7472:794:218:o;8271:709::-;8641:6;8630:9;8623:25;8684:3;8679:2;8668:9;8664:18;8657:31;8604:4;8711:57;8763:3;8752:9;8748:19;8740:6;8711:57;:::i;:::-;8816:4;8808:6;8804:17;8799:2;8788:9;8784:18;8777:45;8870:9;8862:6;8858:22;8853:2;8842:9;8838:18;8831:50;8898:32;8923:6;8915;8898:32;:::i;:::-;8890:40;;;8967:6;8961:3;8950:9;8946:19;8939:35;8271:709;;;;;;;;:::o;8985:468::-;9285:6;9274:9;9267:25;9328:2;9323;9312:9;9308:18;9301:30;9248:4;9348:56;9400:2;9389:9;9385:18;9377:6;9348:56;:::i;:::-;9340:64;;9440:6;9435:2;9424:9;9420:18;9413:34;8985:468;;;;;;:::o;9458:757::-;9511:5;9564:3;9557:4;9549:6;9545:17;9541:27;9531:55;;9582:1;9579;9572:12;9531:55;9611:6;9605:13;9637:18;9674:2;9670;9667:10;9664:36;;;9680:18;;:::i;:::-;9814:2;9808:9;9876:4;9868:13;;-1:-1:-1;;9864:22:218;;;9888:2;9860:31;9856:40;9844:53;;;9912:18;;;9932:22;;;9909:46;9906:72;;;9958:18;;:::i;:::-;9998:10;9994:2;9987:22;10033:2;10025:6;10018:18;10079:3;10072:4;10067:2;10059:6;10055:15;10051:26;10048:35;10045:55;;;10096:1;10093;10086:12;10045:55;10109:76;10182:2;10175:4;10167:6;10163:17;10156:4;10148:6;10144:17;10109:76;:::i;:::-;10203:6;9458:757;-1:-1:-1;;;;;;9458:757:218:o;10220:655::-;10362:6;10370;10378;10431:2;10419:9;10410:7;10406:23;10402:32;10399:52;;;10447:1;10444;10437:12;10399:52;10480:9;10474:16;10509:18;10550:2;10542:6;10539:14;10536:34;;;10566:1;10563;10556:12;10536:34;10589:60;10641:7;10632:6;10621:9;10617:22;10589:60;:::i;:::-;10579:70;;10689:2;10678:9;10674:18;10668:25;10658:35;;10739:2;10728:9;10724:18;10718:25;10702:41;;10768:2;10758:8;10755:16;10752:36;;;10784:1;10781;10774:12;10752:36;;10807:62;10861:7;10850:8;10839:9;10835:24;10807:62;:::i;:::-;10797:72;;;10220:655;;;;;:::o;10880:125::-;10945:9;;;10966:10;;;10963:36;;;10979:18;;:::i;11010:175::-;11047:3;11091:4;11084:5;11080:16;11120:4;11111:7;11108:17;11105:43;;11128:18;;:::i;:::-;11177:1;11164:15;;11010:175;-1:-1:-1;;11010:175:218:o;11190:640::-;11441:6;11436:3;11429:19;11411:3;11467:2;11500;11495:3;11491:12;11532:6;11526:13;11597:2;11589:6;11585:15;11618:1;11628:175;11642:6;11639:1;11636:13;11628:175;;;11705:13;;11691:28;;11741:14;;;;11778:15;;;;11664:1;11657:9;11628:175;;;-1:-1:-1;11819:5:218;;11190:640;-1:-1:-1;;;;;;;11190:640:218:o;11835:184::-;-1:-1:-1;;;11884:1:218;11877:88;11984:4;11981:1;11974:15;12008:4;12005:1;11998:15;12024:690;12359:3;12348:9;12341:22;12322:4;12386:57;12438:3;12427:9;12423:19;12415:6;12386:57;:::i;:::-;12491:9;12483:6;12479:22;12474:2;12463:9;12459:18;12452:50;12525:32;12550:6;12542;12525:32;:::i;:::-;12511:46;;12593:6;12588:2;12577:9;12573:18;12566:34;12648:9;12640:6;12636:22;12631:2;12620:9;12616:18;12609:50;12676:32;12701:6;12693;12676:32;:::i;12719:899::-;13175:6;13164:9;13157:25;13218:3;13213:2;13202:9;13198:18;13191:31;13138:4;13245:57;13297:3;13286:9;13282:19;13274:6;13245:57;:::i;:::-;13350:9;13342:6;13338:22;13333:2;13322:9;13318:18;13311:50;13384:32;13409:6;13401;13384:32;:::i;:::-;13370:46;;13452:6;13447:2;13436:9;13432:18;13425:34;13508:9;13500:6;13496:22;13490:3;13479:9;13475:19;13468:51;13536:32;13561:6;13553;13536:32;:::i;:::-;13528:40;;;13605:6;13599:3;13588:9;13584:19;13577:35;12719:899;;;;;;;;;:::o;13623:511::-;13874:2;13863:9;13856:21;13837:4;13900:56;13952:2;13941:9;13937:18;13929:6;13900:56;:::i;:::-;14004:14;13996:6;13992:27;13987:2;13976:9;13972:18;13965:55;14068:9;14060:6;14056:22;14051:2;14040:9;14036:18;14029:50;14096:32;14121:6;14113;14096:32;:::i;14139:616::-;14450:6;14439:9;14432:25;14493:3;14488:2;14477:9;14473:18;14466:31;14413:4;14520:57;14572:3;14561:9;14557:19;14549:6;14520:57;:::i;:::-;14625:14;14617:6;14613:27;14608:2;14597:9;14593:18;14586:55;14689:9;14681:6;14677:22;14672:2;14661:9;14657:18;14650:50;14717:32;14742:6;14734;14717:32;:::i;14760:128::-;14827:9;;;14848:11;;;14845:37;;;14862:18;;:::i;14893:168::-;14966:9;;;14997;;15014:15;;;15008:22;;14994:37;14984:71;;15035:18;;:::i;15350:359::-;15553:2;15542:9;15535:21;15516:4;15573:44;15613:2;15602:9;15598:18;15590:6;15573:44;:::i;:::-;15648:2;15633:18;;15626:34;;;;-1:-1:-1;15691:2:218;15676:18;15669:34;15565:52;15350:359;-1:-1:-1;15350:359:218:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","move(uint256,uint32,uint32)":"b04d8fa7","spawn(uint256)":"7ec0c82d","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"x\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"y\",\"type\":\"uint32\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterId\",\"type\":\"uint256\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018\",\"dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xf2a99956e725d137a95cb987b7dd4e1b38a9250e7b5ee62aa8fe5d7890d05525\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ca5ef8c6b910dcaa9c378850c4fc08e4ac77f5cbb60f08042708005d0236246\",\"dweb:/ipfs/QmSW43brvMvLZtyDDDqpQr2uzPdAdKvEHDNqy88sNMbZmT\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6\",\"dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt\"]},\"src/codegen/tables/CharacterStats.sol\":{\"keccak256\":\"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4\",\"dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6\",\"dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74\",\"dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf\",\"dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xd172cd15d5c85a660110c0cfdab2562e64c26d5d215c3a56478be7bb639f4ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://628bb2ad2860cae232cf49744e940d9829727fad8bcab745deab707eece4efa5\",\"dweb:/ipfs/QmZ3x6znC3Km4hGxgxARCKdnKRa9AatiFgGVdEZzBP5iw8\"]},\"src/codegen/tables/MobEntity.sol\":{\"keccak256\":\"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0\",\"dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh\"]},\"src/codegen/tables/MobStats.sol\":{\"keccak256\":\"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09\",\"dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xb76e5c75e445427aed7dd080b473d83c8cdae669cad005231da7be69e0100c6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34bf576714068f92596b61043352fa6fd6f4c463c43150bf9d0ec0436e35412a\",\"dweb:/ipfs/QmbR8rTTnRSA5hBbaEfpvkms7PPhns5FJzXboVHKDKkS66\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x78f5cad0e139c3698f9d2fce1657ffca64786ca2750076bdd2ea4fbceb15589f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71ed806c48834caf05c7457fc03f8ad6365e4c2268d2fb9380a3d7f23cc9b8a2\",\"dweb:/ipfs/QmXLnBTDgXeXVw5fBFhEW54AaYc8tDWVvkYhcmLAUQt7F7\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x054b06c71b543008151af2739a22ab0da513c543a85ad2c8a18ad8db65199f68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b500e26c9d57d35be81a6c24630e703d20476a1e663c58cba6da14bf5c5ba9d\",\"dweb:/ipfs/Qmf6qTiu4eVnPaLUHGN41vbTiM9UVjqKJR5eSc24xYVAqF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"},{"internalType":"uint32","name":"x","type":"uint32"},{"internalType":"uint32","name":"y","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"uint256","name":"characterId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x4c2ba8a0a49d1b05659c3ede28e5c038375449d2e1b7406efc24cbbccd7a219a","urls":["bzz-raw://1ce39aeab3df49bef03cb5a6f1089719750a38eb0cb207a04c4f64097ae53018","dweb:/ipfs/QmZASMaZu5zZRMcKs5rg1TXoniuaeeseeU4E4cExm8xEgb"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xf2a99956e725d137a95cb987b7dd4e1b38a9250e7b5ee62aa8fe5d7890d05525","urls":["bzz-raw://5ca5ef8c6b910dcaa9c378850c4fc08e4ac77f5cbb60f08042708005d0236246","dweb:/ipfs/QmSW43brvMvLZtyDDDqpQr2uzPdAdKvEHDNqy88sNMbZmT"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x1f206f05e1f359a4734d85132f95fe3230161352e27bc5c6a27d3c0b35ddd4d8","urls":["bzz-raw://59144a593b681fb3143185b226d333e979805cc1e58c31c9c8bb276ae3b114a6","dweb:/ipfs/QmUfoXGmWwDTK25vuUWan9U5r6SP72u2RFpFK1pawDJ3Yt"],"license":"MIT"},"src/codegen/tables/CharacterStats.sol":{"keccak256":"0x0e912302c0e02af68fb8ecc9cd9a3574fa4c60e4272072d5fbfdaa9e30615627","urls":["bzz-raw://35478c40410a7ce1fb3e0ba81c6cfd36fa59b0d2edcf71e39a6229f819079fd4","dweb:/ipfs/QmdsJbJ2ZHZYHe7jYvDNoUvWGBMSzu76PFJXFoD2VRWq4b"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0xdc9c589cae6aa924e1492c4a10c26e7ec3c803dd670a61d3620b87dea19de2c7","urls":["bzz-raw://47c5d5915e34cec622b908230b5b485bf52236ede9027fbf7643c01d358d39e6","dweb:/ipfs/Qmah6n47amtAYhtbLM3WdtCi7yHpTbaXm6FUsyu8pFdMYf"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0xff0a6e9e6e34d739d3260d2e0ef2db0190dfb6eed6acf9b5e631228a35c37c42","urls":["bzz-raw://2bc2c8f088539657ffc555483e094d771ca60e12eb211af1fd5fc5d58d4fac74","dweb:/ipfs/Qmd7PuyowVmPhRWoFQQMRaTihnn9iFQsaKQQRjTaW99eYP"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x7d947002a120f45313a6a6adfc4d2079fb0b68eace00581c8a3485973565c3ad","urls":["bzz-raw://b66f9f7e26e93029eab174b37fa575e4ce8aaab5261d6f0a4e24b14de1229bdf","dweb:/ipfs/QmYnpaXwp1fPRHYWBBixJUrFpqcxsQghhgbauknqEE6bpS"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xd172cd15d5c85a660110c0cfdab2562e64c26d5d215c3a56478be7bb639f4ce1","urls":["bzz-raw://628bb2ad2860cae232cf49744e940d9829727fad8bcab745deab707eece4efa5","dweb:/ipfs/QmZ3x6znC3Km4hGxgxARCKdnKRa9AatiFgGVdEZzBP5iw8"],"license":"MIT"},"src/codegen/tables/MobEntity.sol":{"keccak256":"0x76d773fe3fb2332766bf7fdecc6bd31442fd32fdd18a8ac7781efee20511ffe5","urls":["bzz-raw://87200a6ec462b9a847f33e18b730739b3fe78120c93fe3d896ba31130b85a5c0","dweb:/ipfs/QmWsFsoAQBxZEn3RDkZBgEHsmWPANqz8cPvquK6qduhFfh"],"license":"MIT"},"src/codegen/tables/MobStats.sol":{"keccak256":"0x18959e45a14e6ef240b46da0b370f1ca1fbd399f3cdfd229d39932f44644ec57","urls":["bzz-raw://da3d1b0c4da5d4df93cbaafcd084768961391f838b7251d815c4b3ea2bccdd09","dweb:/ipfs/QmXGD6eRifAord2Ubck5Fgp4zP8NMVGNECTPsYurwaWX1K"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xb76e5c75e445427aed7dd080b473d83c8cdae669cad005231da7be69e0100c6d","urls":["bzz-raw://34bf576714068f92596b61043352fa6fd6f4c463c43150bf9d0ec0436e35412a","dweb:/ipfs/QmbR8rTTnRSA5hBbaEfpvkms7PPhns5FJzXboVHKDKkS66"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x78f5cad0e139c3698f9d2fce1657ffca64786ca2750076bdd2ea4fbceb15589f","urls":["bzz-raw://71ed806c48834caf05c7457fc03f8ad6365e4c2268d2fb9380a3d7f23cc9b8a2","dweb:/ipfs/QmXLnBTDgXeXVw5fBFhEW54AaYc8tDWVvkYhcmLAUQt7F7"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x054b06c71b543008151af2739a22ab0da513c543a85ad2c8a18ad8db65199f68","urls":["bzz-raw://3b500e26c9d57d35be81a6c24630e703d20476a1e663c58cba6da14bf5c5ba9d","dweb:/ipfs/Qmf6qTiu4eVnPaLUHGN41vbTiM9UVjqKJR5eSc24xYVAqF"],"license":"MIT"}},"version":1},"id":207} \ No newline at end of file From 59f2e49591b21740456e0241acac4cd79d7ef455 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Sun, 30 Jun 2024 17:35:07 -0600 Subject: [PATCH 4/5] Prompt user to spawn in ActionsPanel --- .../client/src/components/ActionsPanel.tsx | 149 +++++------------- 1 file changed, 42 insertions(+), 107 deletions(-) diff --git a/packages/client/src/components/ActionsPanel.tsx b/packages/client/src/components/ActionsPanel.tsx index 2143ec729..2a46e643b 100644 --- a/packages/client/src/components/ActionsPanel.tsx +++ b/packages/client/src/components/ActionsPanel.tsx @@ -1,121 +1,56 @@ import { Stack, Text } from '@chakra-ui/react'; -enum ActionEvents { - Attack = 'attack', - Defend = 'defend against', - GainGold = 'gold', - GainExperience = 'experience', -} +// enum ActionEvents { +// Attack = 'attack', +// Defend = 'defend against', +// GainGold = 'gold', +// GainExperience = 'experience', +// } -type BattleEvent = { - type: ActionEvents; - monster: string; - amount: number; -}; +// type BattleEvent = { +// type: ActionEvents; +// monster: string; +// amount: number; +// }; -type ResolutionEvent = { - type: ActionEvents; - amount: number; -}; +// type ResolutionEvent = { +// type: ActionEvents; +// amount: number; +// }; -const BATTLE_EVENTS: BattleEvent[] = [ - { - type: ActionEvents.Defend, - amount: 1, - monster: 'Green Slime', - }, - { - type: ActionEvents.Attack, - amount: 2, - monster: 'Green Slime', - }, -]; +// const BATTLE_EVENTS: BattleEvent[] = [ +// { +// type: ActionEvents.Defend, +// amount: 1, +// monster: 'Green Slime', +// }, +// { +// type: ActionEvents.Attack, +// amount: 2, +// monster: 'Green Slime', +// }, +// ]; -const RESOLUTION_EVENTS: ResolutionEvent[] = [ - { - type: ActionEvents.GainGold, - amount: 2, - }, - { - type: ActionEvents.GainExperience, - amount: 3, - }, -]; +// const RESOLUTION_EVENTS: ResolutionEvent[] = [ +// { +// type: ActionEvents.GainGold, +// amount: 2, +// }, +// { +// type: ActionEvents.GainExperience, +// amount: 3, +// }, +// ]; export const ActionsPanel = (): JSX.Element => { return ( - {BATTLE_EVENTS.map((event, i) => ( - - You {event.type}{' '} - - {event.monster} - {' '} - {event.type === ActionEvents.Attack ? 'for' : 'taking'}{' '} - - {event.amount} damage - - . - - ))} - - - {RESOLUTION_EVENTS.map((event, i) => ( - - You gain {event.amount}{' '} - - {event.type === ActionEvents.GainGold ? '$GOLD' : 'experience'} - - ! - - ))} - - - {BATTLE_EVENTS.map((event, i) => ( - - You {event.type}{' '} - - {event.monster} - {' '} - {event.type === ActionEvents.Attack ? 'for' : 'taking'}{' '} - - {event.amount} damage - - . - - ))} - - - {RESOLUTION_EVENTS.map((event, i) => ( - - You gain {event.amount}{' '} - - {event.type === ActionEvents.GainGold ? '$GOLD' : 'experience'} - - ! - - ))} + + You must spawn on the map to start battling. + - + {/* {BATTLE_EVENTS.map((event, i) => ( { ! ))} - + */} ); }; From ced833fb108afdbb63b99bc9e7787c5f8dcdf5e6 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Sun, 30 Jun 2024 20:28:38 -0600 Subject: [PATCH 5/5] Render characters dynamically in TileDetailsPanel --- packages/client/src/components/MapPanel.tsx | 2 +- .../src/components/TileDetailsPanel/index.tsx | 230 ++++++++++++++++-- .../client/src/contexts/CharacterContext.tsx | 1 + 3 files changed, 206 insertions(+), 27 deletions(-) diff --git a/packages/client/src/components/MapPanel.tsx b/packages/client/src/components/MapPanel.tsx index ec1415e3c..97245979e 100644 --- a/packages/client/src/components/MapPanel.tsx +++ b/packages/client/src/components/MapPanel.tsx @@ -212,7 +212,7 @@ export const MapPanel = (): JSX.Element => {